IiBNZW51IFRyYW5zbGF0aW9uczoJRXNwYfFvbAoiIE1haW50YWluZXI6CQlBbGVqYW5kcm8gTPNwZXotVmFsZW5jaWEgPGRyYWR1bEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CiIgVmVyc2lvbjoJCTYuNC5wMC0xCiIgTGFzdCBDaGFuZ2U6CQkyMDA1IERlYyAwMQoiCgoiIFF1aXQgd2hlbiBtZW51IHRyYW5zbGF0aW9ucyBoYXZlIGFscmVhZHkgYmVlbiBkb25lLgppZiBleGlzdHMoImRpZF9tZW51X3RyYW5zIikKICBmaW5pc2gKZW5kaWYKbGV0IGRpZF9tZW51X3RyYW5zID0gMQoKIiBUaGUgdHJhbnNsYXRpb25zIGJlbG93IGFyZSBpbiBsYXRpbjEsIGJ1dCB0aGV5IHdvcmsgZm9yIGNwMTI1MiwKIiBpc28tODg1OS0xNSB3aXRob3V0IGNvbnZlcnNpb24gYXMgd2VsbC4KaWYgJmVuYyAhPSAiY3AxMjUyIiAmJiAmZW5jICE9ICJpc28tODg1OS0xNSIKICBzY3JpcHRlbmNvZGluZyBsYXRpbjEKZW5kaWYKCgoiIEhlbHAgbWVudQptZW51dHJhbnMgJkhlbHAJCQlBeSZ1ZGEKbWVudXRyYW5zICZPdmVydmlldzxUYWI+PEYxPglUYWJsYVwgZGVcICZjb250ZW5pZG9zPFRhYj48RjE+Cm1lbnV0cmFucyAmVXNlclwgTWFudWFsCQkmTWFudWFsXCBkZWxcIHVzdWFyaW8KbWVudXRyYW5zICZIb3ctdG9cIGxpbmtzCSZFbmxhY2VzXCBhXCC/Q/Ntb1wgaGFnb1wuXC5cLj8KbWVudXRyYW5zICZGaW5kXC5cLlwuCQkmQnVzY2FyXCBlblwgbGFcIGF5dWRhCm1lbnV0cmFucyAmQ3JlZGl0cwkJJlJlY29ub2NpbWllbnRvcwptZW51dHJhbnMgTyZycGhhbnMJCUF5dWRlXCBhXCBsb3NcIG5p8W9zXCAmaHXpcmZhbm9zCm1lbnV0cmFucyBDbyZweWluZwkJJlTpcm1pbm9zXCBkZVwgTGljZW5jaWEKbWVudXRyYW5zIFNwb25zb3IvUmVnaXN0ZXIJQmVuZWZhY3Rvci9SZWftc3RyZXNlCm1lbnV0cmFucyAmVmVyc2lvbgkJJlZlcnNp825cIGVcIFxpbmZvcm1hY2nzblwgZGVcIGNvbmZpZ3VyYWNp824KbWVudXRyYW5zICZBYm91dAkJJkFjZXJjYVwgZGVcIFZpbS4KCiIgRmlsZSBtZW51Cm1lbnV0cmFucyAmRmlsZQkJCQkmQXJjaGl2bwptZW51dHJhbnMgJk9wZW5cLlwuXC48VGFiPjplCQkmQWJyaXJcLlwuXC48VGFiPjplCm1lbnV0cmFucyBTcCZsaXQtT3BlblwuXC5cLjxUYWI+OnNwCUEmYnJpclwgZW5cIG90cmFcIHZlbnRhbmFcLlwuXC48VGFiPjpzcAptZW51dHJhbnMgJk5ldzxUYWI+OmVuZXcJCSZOdWV2bzxUYWI+OmVuZXcKbWVudXRyYW5zICZDbG9zZTxUYWI+OmNsb3NlCQkmQ2VycmFyPFRhYj46Y2xvc2UKbWVudXRyYW5zICZTYXZlPFRhYj46dwkJCSZHdWFyZGFyPFRhYj46dwptZW51dHJhbnMgU2F2ZVwgJkFzXC5cLlwuPFRhYj46c2F2CUd1YXJkYXJcICZjb21vXC5cLlwuPFRhYj46c2F2Cm1lbnV0cmFucyBTcGxpdFwgJkRpZmZcIHdpdGhcLlwuXC4JJk1vc3RyYXJcIGRpZmVyZW5jaWFzXCBjb25cLlwuXC4KbWVudXRyYW5zIFNwbGl0XCBQYXRjaGVkXCAmQnlcLlwuXC4JTW9zdHJhclwgJnBhcmNoZWFkb1wgcG9yXC5cLlwuCm1lbnV0cmFucyAmUHJpbnQJCQkmSW1wcmltaXIKbWVudXRyYW5zIFNhJnZlLUV4aXQ8VGFiPjp3cWEJCUd1YSZyZGFyXCB5XCBzYWxpcjxUYWI+OndxYQptZW51dHJhbnMgRSZ4aXQ8VGFiPjpxYQkJCSZTYWxpcjxUYWI+OnFhCgoiIEVkaXQgbWVudQptZW51dHJhbnMgJkVkaXQJCQkJJkVkaXRhcgptZW51dHJhbnMgJlVuZG88VGFiPnUJCQkmRGVzaGFjZXI8VGFiPnUKbWVudXRyYW5zICZSZWRvPFRhYj5eUgkJCSZSZWhhY2VyPFRhYj5eUgptZW51dHJhbnMgUmVwJmVhdDxUYWI+XC4JCVJlcGUmdGlyPFRhYj5cLgptZW51dHJhbnMgQ3UmdDxUYWI+Iit4CQkJQ29yJnRhcjxUYWI+Iit4Cm1lbnV0cmFucyAmQ29weTxUYWI+Iit5CQkJJkNvcGlhcjxUYWI+Iit5Cm1lbnV0cmFucyAmUGFzdGU8VGFiPiIrZ1AJCSZQZWdhcjxUYWI+IitnUAptZW51dHJhbnMgUHV0XCAmQmVmb3JlPFRhYj5bcAkJUG9uZXJcICZhbnRlczxUYWI+W3AKbWVudXRyYW5zIFB1dFwgJkFmdGVyPFRhYj5dcAkJUG9uZXJcICZkZXNwdelzPFRhYj5dcAppZiBoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW4xNiIpCiAgbWVudXRyYW5zICZEZWxldGU8VGFiPngJCVMmdXByaW1pcjxUYWI+eAplbmRpZgptZW51dHJhbnMgJlNlbGVjdFwgYWxsPFRhYj5nZ1ZHCQkmU2VsZWNjaW9uYXJcIHRvZG88VGFiPmdnVkcKbWVudXRyYW5zICZGaW5kXC5cLlwuCQkJJkJ1c2NhclwuXC5cLgptZW51dHJhbnMgJkZpbmQ8VGFiPi8JCQkmQnVzY2FyPFRhYj4vCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlXC5cLlwuICAgICBCdXNjYXJcIHlcIFImZWVtcGxhemFyXC5cLlwuCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlPFRhYj46JXMJQnVzY2FyXCB5XCBSJmVlbXBsYXphcjxUYWI+OiVzCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlCQlCdXNjYXJcIHlcIFImZWVtcGxhemFyCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlPFRhYj46cwlCdXNjYXJcIHlcIFImZWVtcGxhemFyPFRhYj46cwptZW51dHJhbnMgU2V0dGluZ3NcICZXaW5kb3cJCSZWZW50YW5hXCBkZVwgb3BjaW9uZXMKCiIgRWRpdC9HbG9iYWwgU2V0dGluZ3MKbWVudXRyYW5zICZHbG9iYWxcIFNldHRpbmdzCQlPcGNpb25lc1wgJmdsb2JhbGVzCgptZW51dHJhbnMgVG9nZ2xlXCBQYXR0ZXJuXCAmSGlnaGxpZ2h0PFRhYj46c2V0XCBobHMhCUFjdGl2YXIvRGVzYWN0aXZhclwgJnJlYWx6YWRvXCBkZVwgc2ludGF4aXM8VGFiPjpzZXRcIGhscyEKbWVudXRyYW5zIFRvZ2dsZVwgJklnbm9yZS1jYXNlPFRhYj46c2V0XCBpYyEJCUFjdGl2YXIvRGVzYWN0aXZhclwgJmlnbm9yYXJcIG1hefpzY3VsYXNcIHlcIG1pbvpzY3VsYXM8VGFiPjpzZXRcIGljIQptZW51dHJhbnMgVG9nZ2xlXCAmU2hvd21hdGNoPFRhYj46c2V0XCBzbSEJCUFjdGl2YXIvRGVzYWN0aXZhclwgJm1vc3RyYXJcIGNvaW5jaWRlbmNpYXM8VGFiPjpzZXRcIHNtIQoKbWVudXRyYW5zICZDb250ZXh0XCBsaW5lcwkJTO1uZWFzXCBkZVwgJmNvbnRleHRvCgptZW51dHJhbnMgJlZpcnR1YWxcIEVkaXQJCUVkaWNp825cICZ2aXJ0dWFsCm1lbnV0cmFucyBOZXZlcgkJCQlOdW5jYQptZW51dHJhbnMgQmxvY2tcIFNlbGVjdGlvbgkJU2VsZWNjafNuXCBkZVwgYmxvcXVlCm1lbnV0cmFucyBJbnNlcnRcIG1vZGUJCQlNb2RvXCBkZVwgaW5zZXJjafNuCm1lbnV0cmFucyBCbG9ja1wgYW5kXCBJbnNlcnQJCUJsb3F1ZVwgZVwgaW5zZXJjafNuCm1lbnV0cmFucyBBbHdheXMJCQlTaWVtcHJlCgptZW51dHJhbnMgVG9nZ2xlXCBJbnNlcnRcICZNb2RlPFRhYj46c2V0XCBpbSEJQWN0aXZhci9EZXNhY3RpdmFyXCBtb2RvXCBkZVwgaW4mc2VyY2nzbjxUYWI+OnNldFwgaW0hCm1lbnV0cmFucyBUb2dnbGVcIFZpXCBDJm9tcGF0aWJsZTxUYWI+OnNldFwgY3AhCUFjdGl2YXIvRGVzYWN0aXZhclwgY29tcGF0aWJsaWRhZFwgY29uXCBWaTxUYWI+OnNldFwgY3AhCgptZW51dHJhbnMgU2VhcmNoXCAmUGF0aFwuXC5cLgkJUnV0YVwgZGVcICZi+nNxdWVkYVwuXC5cLgoKbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQlGaWNoZXJvc1wgZGVcICZldGlxdWV0YXNcLlwuXC4KCiIgR1VJIG9wdGlvbnMKbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCU9jdWx0YXIvTW9zdHJhclwgYmFycmFcIGRlXCAmaGVycmFtaWVudGFzCm1lbnV0cmFucyBUb2dnbGVcICZCb3R0b21cIFNjcm9sbGJhcglPY3VsdGFyL01vc3RyYXJcIGJhcnJhXCBkZVwgZGVzcGxhemFtaWVudG9cICZpbmZlcmlvcgptZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCU9jdWx0YXIvTW9zdHJhclwgYmFycmFcIGRlXCBkZXNwbGF6YW1pZW50b1wgaSZ6cXVpZXJkYQptZW51dHJhbnMgVG9nZ2xlXCAmUmlnaHRcIFNjcm9sbGJhcglPY3VsdGFyL01vc3RyYXJcIGJhcnJhXCBkZVwgZGVzcGxhemFtaWVudG9cICZkZXJlY2hhCgpsZXQgZzptZW51dHJhbnNfcGF0aF9kaWFsb2cgPSAiSW50cm9kdXpjYSBsYSBydXRhIGRlIGL6c3F1ZWRhIHBhcmEgbG9zIGZpY2hlcm9zLlxuU2VwYXJlIGxvcyBub21icmVzIGRlIGxvcyBkaXJlY3RvcmlvcyBjb24gdW5hIGNvbWEuIgpsZXQgZzptZW51dHJhbnNfdGFnc19kaWFsb2cgPSAiSW50cm9kdXpjYSBsb3Mgbm9tYnJlcyBkZSBsb3MgZmljaGVybyBkZSB0YWdzLlxuU2VwYXJlIGxvcyBub21icmVzIGNvbiB1bmEgY29tYS4iCgoiIEVkaXQvRmlsZSBTZXR0aW5ncwptZW51dHJhbnMgRiZpbGVcIFNldHRpbmdzCQlPcGNpb25lc1wgZGVsXCAmZmljaGVybwoKIiBCb29sZWFuIG9wdGlvbnMKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJk51bWJlcmluZzxUYWI+OnNldFwgbnUhCUFjdGl2YXIvRGVzYWN0aXZhclwgJm51bWVyYWNp825cIGRlXCBs7W5lYXM8VGFiPjpzZXRcIG51IQptZW51dHJhbnMgVG9nZ2xlXCAmTGlzdFwgTW9kZTxUYWI+OnNldFwgbGlzdCEJCUFjdGl2YXIvRGVzYWN0aXZhclwgbW9kb1wgZGVcIGxpc3RhPFRhYj46c2V0XCBsaXN0IQptZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmV3JhcDxUYWI+OnNldFwgd3JhcCEJCUFjdGl2YXIvRGVzYWN0aXZhclwgJnF1aWVicmVcIGRlXCBs7W5lYXM8VGFiPjpzZXRcIHdyYXAhCm1lbnV0cmFucyBUb2dnbGVcIFcmcmFwXCBhdFwgd29yZDxUYWI+OnNldFwgbGJyIQlBY3RpdmFyL0Rlc2FjdGl2YXJcIHF1aWVicmVcIGVudHJlXCAmcGFsYWJyYXM8VGFiPjpzZXRcIGxiciEKbWVudXRyYW5zIFRvZ2dsZVwgJmV4cGFuZC10YWI8VGFiPjpzZXRcIGV0IQkJQWN0aXZhci9EZXNhY3RpdmFyXCAmZXhwYW5zafNuXCBkZVwgbWFyY2FzXCBkZVwgXHRhYnVsYWRvPFRhYj46c2V0XCBldCEKbWVudXRyYW5zIFRvZ2dsZVwgJmF1dG8taW5kZW50PFRhYj46c2V0XCBhaSEJCUFjdGl2YXIvRGVzYWN0aXZhclwgJmF1dG8tc2FuZ3JhZG88VGFiPjpzZXRcIGFpIQptZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEJCUFjdGl2YXIvRGVzYWN0aXZhclwgc2FuZ3JhZG9cICZDPFRhYj46c2V0XCBjaW4hCgoiIG90aGVyIG9wdGlvbnMKbWVudXRyYW5zICZTaGlmdHdpZHRoCQkJQW5jaHVyYVwgZGVsXCAmc2FuZ3JhZG8KCm1lbnV0cmFucyBTb2Z0XCAmVGFic3RvcAkJJlRhYnVsYWRvXCCrYmxhbmRvuwoKbWVudXRyYW5zIFRlJnh0XCBXaWR0aFwuXC5cLgkJQW5jaHVyYVwgZGVsXCB0ZSZ4dG9cLlwuXC4KbGV0IGc6bWVudXRyYW5zX3RleHR3aWR0aF9kaWFsb2cgPSAiSW50cm9kdXpjYSBlbCBudWV2byBhbmNobyBkZWwgdGV4dG8gKDAgcGFyYSBkZXNhY3RpdmFyIGVsIHF1aWVicmUgZGUgbO1uZWEpOiAiCgptZW51dHJhbnMgJkZpbGVcIEZvcm1hdFwuXC5cLgkJJkZvcm1hdG9cIGRlbFwgZmljaGVyb1wuXC5cLgpsZXQgZzptZW51dHJhbnNfZmlsZWZvcm1hdF9kaWFsb2cgPSAiU2VsZWNjaW9uZSBlbCBmb3JtYXRvIHBhcmEgZXNjcmliaXIgZWwgZmljaGVybyIKCm1lbnV0cmFucyBDJm9sb3JcIFNjaGVtZQkJRXNxdWVtYVwgZGVcIGMmb2xvcmVzCm1lbnV0cmFucyBibHVlCQlhenVsCm1lbnV0cmFucyBkYXJrYmx1ZQlhenVsXCBvc2N1cm8KbWVudXRyYW5zIGRlZmF1bHQJb3JpZ2luYWwKbWVudXRyYW5zIGRlc2VydAlkZXNpZXJ0bwptZW51dHJhbnMgZXZlbmluZwl2ZXNwZXJ0aW5vCm1lbnV0cmFucyBtb3JuaW5nCW1hdHV0aW5vCm1lbnV0cmFucyBwZWFjaHB1ZmYJbWVsb2NvdPNuCm1lbnV0cmFucyBzaGluZQkJYnJpbGxhbnRlCgptZW51dHJhbnMgU2VsZWN0XCBGbyZudFwuXC5cLgkJU2VsZWNjaW9uYXJcIGZ1ZSZudGVcLlwuXC4KCm1lbnV0cmFucyAmS2V5bWFwCUFzb2NpYWNp825cIGRlXCB0ZWNsYWRvcwptZW51dHJhbnMgTm9uZQkJTmluZ3VuYQptZW51dHJhbnMgYWNjZW50cwlhY2VudG9zCm1lbnV0cmFucyBhcmFiaWMJ4XJhYmUKbWVudXRyYW5zIGN6ZWNoCQljaGVjbwptZW51dHJhbnMgZ3JlZWsJCWdyaWVnbwptZW51dHJhbnMgaGVicmV3CWhlYnJlbwptZW51dHJhbnMgaGVicmV3cAloZWJyZW9cIGZvbul0aWNvCm1lbnV0cmFucyBsaXRodWFuaWFuLWJhbHRpYwlsaXR1YW5vLWLhbHRpY28KbWVudXRyYW5zIHJ1c3NpYW4tamN1a2VuCXJ1c28tq2pjdWtlbrsKbWVudXRyYW5zIHJ1c3NpYW4tamN1a2Vud2luCXJ1c28tq2pjdWtlbrtcIFdpbmRvd3MKbWVudXRyYW5zIHJ1c3NpYW4teWF3ZXJ0eQlydXNvLat5YXdlcnR5uwptZW51dHJhbnMgc2VyYmlhbi1sYXRpbgkJc2VyYmlvLWxhdGlubwptZW51dHJhbnMgc2VyYmlhbglzZXJiaW8KbWVudXRyYW5zIHNsb3Zhawllc2xvdmFjbwoKCiIgUHJvZ3JhbW1pbmcgbWVudQptZW51dHJhbnMgJlRvb2xzCQkJJkhlcnJhbWllbnRhcwptZW51dHJhbnMgJkp1bXBcIHRvXCB0aGlzXCB0YWc8VGFiPmdeXQkmU2FsdGFyXCBhXCBlc3RlXCBldGlxdWV0YTxUYWI+Z15dCm1lbnV0cmFucyBKdW1wXCAmYmFjazxUYWI+XlQJCVNhbHRhclwgJmF0cuFzPFRhYj5eVAptZW51dHJhbnMgQnVpbGRcICZUYWdzXCBGaWxlCQlDcmVhclwgZmljaGVyb1wgZGVcICZldGlxdWV0YXNcCm1lbnV0cmFucyAmRGlmZgkJCQlNb2RvXCBkZVwgJmRpZmVyZW5jaWFzCm1lbnV0cmFucyAmRm9sZGluZwkJCSZQbGVnYWRvCm1lbnV0cmFucyAmTWFrZTxUYWI+Om1ha2UJCUVqZWN1dGFyXCCrJk1ha2W7PFRhYj46bWFrZQptZW51dHJhbnMgJkxpc3RcIEVycm9yczxUYWI+OmNsCQkmTGlzdGFcIGRlXCBlcnJvcmVzPFRhYj46Y2wKbWVudXRyYW5zIEwmaXN0XCBNZXNzYWdlczxUYWI+OmNsIQlMJmlzdGFcIGRlXCBtZW5zYWplczxUYWI+OmNsIQptZW51dHJhbnMgJk5leHRcIEVycm9yPFRhYj46Y24JCSZFcnJvclwgc2lndWllbnRlPFRhYj46Y24KbWVudXRyYW5zICZQcmV2aW91c1wgRXJyb3I8VGFiPjpjcAlFcnJvclwgcCZyZXZpbzxUYWI+OmNwCm1lbnV0cmFucyAmT2xkZXJcIExpc3Q8VGFiPjpjb2xkCUxpc3RhXCBkZVwgJnZpZWpvc1wgYVwgbnVldm9zPFRhYj46Y29sZAptZW51dHJhbnMgTiZld2VyXCBMaXN0PFRhYj46Y25ldwlMaXN0YVwgZGVcICZudWV2b3NcIGFcIHZpZWpvczxUYWI+OmNuZXcKbWVudXRyYW5zIEVycm9yXCAmV2luZG93CQlWZW4mdGFuYVwgZGVcIGVycm9yZXMKbWVudXRyYW5zICZTZXRcIENvbXBpbGVyCQlFc2NvJmdlclwgZWxcIGNvbXBpbGFkb3JcIGFcIHVzYXIKbWVudXRyYW5zICZDb252ZXJ0XCB0b1wgSEVYPFRhYj46JSF4eGQJQ29udmVydGlyXCBhXCBmb3JtYXRvXCAmaGV4YWRlY2ltYWw8VGFiPjolIXh4ZAptZW51dHJhbnMgQ29udmUmcnRcIGJhY2s8VGFiPjolIXh4ZFwgLXIJJkNvbnZlcnRpclwgYWxcIGZvcm1hdG9cIG9yaWdpbmFsPFRhYj46JSF4eGRcIC1yCgoiIFRvb2xzLkZvbGQgTWVudQptZW51dHJhbnMgJkVuYWJsZS9EaXNhYmxlXCBmb2xkczxUYWI+emkJCSZBY3RpdmFyL0Rlc2FjdGl2YXJcIHBsaWVndWVzPFRhYj56aQptZW51dHJhbnMgJlZpZXdcIEN1cnNvclwgTGluZTxUYWI+enYJCSZWZXJcIGztbmVhXCBkZWxcIGN1cnNvcjxUYWI+enYKbWVudXRyYW5zIFZpZSZ3XCBDdXJzb3JcIExpbmVcIG9ubHk8VGFiPnpNengJVmUmclwgc/Nsb1wgbGFcIGztbmVhXCBkZWxcIGN1cnNvcjxUYWI+ek16eAptZW51dHJhbnMgQyZsb3NlXCBtb3JlXCBmb2xkczxUYWI+em0JCUMmZXJyYXJcIG3hc1wgcGxpZWd1ZXM8VGFiPnptCm1lbnV0cmFucyAmQ2xvc2VcIGFsbFwgZm9sZHM8VGFiPnpNCQkmQ2VycmFyXCB0b2Rvc1wgbG9zXCBwbGllZ3VlczxUYWI+ek0KbWVudXRyYW5zIE8mcGVuXCBtb3JlXCBmb2xkczxUYWI+enIJCUFicmlyXCAmbeFzXCBwbGllZ3VlczxUYWI+enIKbWVudXRyYW5zICZPcGVuXCBhbGxcIGZvbGRzPFRhYj56UgkJJkFicmlyXCB0b2Rvc1wgbG9zXCBwbGllZ3VlczxUYWI+elIKIiBmb2xkIG1ldGhvZAptZW51dHJhbnMgRm9sZFwgTWV0JmhvZAkJCQkmTel0b2RvXCBkZVwgcGxlZ2FkbwoiIGNyZWF0ZSBhbmQgZGVsZXRlIGZvbGRzCm1lbnV0cmFucyBDcmVhdGVcICZGb2xkPFRhYj56ZgkJCUNyZWFyXCAmcGxpZWd1ZTxUYWI+emYKbWVudXRyYW5zICZEZWxldGVcIEZvbGQ8VGFiPnpkCQkJJlN1cHJpbWlyXCBwbGllZ3VlPFRhYj56ZAptZW51dHJhbnMgRGVsZXRlXCAmQWxsXCBGb2xkczxUYWI+ekQJCVN1cHJpbWlyXCAmdG9kb3NcIGxvc1wgcGxpZ3VlczxUYWI+ekQKIiBtb3ZpbmcgYXJvdW5kIGluIGZvbGRzCm1lbnV0cmFucyBGb2xkXCBjb2wmdW1uXCB3aWR0aAkJCUEmbmNodXJhXCBkZVwgY29sdW1uYVwgZGVsXCBwbGllZ3VlCgoiIFRvb2xzLkRpZmYgTWVudQptZW51dHJhbnMgJlVwZGF0ZQkmQWN0dWFsaXphcgptZW51dHJhbnMgJkdldFwgQmxvY2sJJk9idGVuZXJcIGJsb3F1ZQptZW51dHJhbnMgJlB1dFwgQmxvY2sJJlBvbmVyXCBibG9xdWUKCiJUb29scy5FcnJvciBNZW51Cm1lbnV0cmFucyAmVXBkYXRlPFRhYj46Y3dpbgkmQWN0dWFsaXphcgptZW51dHJhbnMgJk9wZW48VGFiPjpjb3BlbglBJmJyaXIKbWVudXRyYW5zICZDbG9zZTxUYWI+OmNjbG9zZQkmQ2VycmFyCgoiIE5hbWVzIGZvciBidWZmZXIgbWVudS4KbWVudXRyYW5zICZCdWZmZXJzCQkmQnVmZmVycwptZW51dHJhbnMgJlJlZnJlc2hcIG1lbnUJJlJlZnJlc2NhclwgbWVu+gptZW51dHJhbnMgJkRlbGV0ZQkJJlN1cHJpbWlyCm1lbnV0cmFucyAmQWx0ZXJuYXRlCQkmQWx0ZXJuYXIKbWVudXRyYW5zICZOZXh0CQkJU2kmZ3VpZW50ZQptZW51dHJhbnMgJlByZXZpb3VzCQkmUHJldmlvCmxldCBnOm1lbnV0cmFuc19ub19maWxlID0gIltTaW4gZmljaGVyb10iCgoiIFdpbmRvdyBtZW51Cm1lbnV0cmFucyAmV2luZG93CQkJJlZlbnRhbmEKbWVudXRyYW5zICZOZXc8VGFiPl5XbgkJCVZlbnRhbmFcICZudWV2YTxUYWI+XlduCm1lbnV0cmFucyBTJnBsaXQ8VGFiPl5XcwkJJkRpdmlkaXJcIGxhXCB2ZW50YW5hPFRhYj5eV3MKbWVudXRyYW5zIFNwJmxpdFwgVG9cICM8VGFiPl5XXl4JRCZpdmlkaXJcIGVuXCBlbFwgbWFyY2Fkb3JcICgjKTxUYWI+XldeXgptZW51dHJhbnMgU3BsaXRcICZWZXJ0aWNhbGx5PFRhYj5eV3YgICAgRGl2aWRpclwgJnZlcnRpY2FsbWVudGU8VGFiPl5XdgptZW51dHJhbnMgU3BsaXRcIEZpbGVcIEUmeHBsb3JlcgkmQWJyaXJcIGVsXCCrRXhwbG9yYWRvclwgZGVcIGZpY2hlcm9zuwptZW51dHJhbnMgJkNsb3NlPFRhYj5eV2MJCSZDZXJyYXJcIGVzdGFcIHZlbnRhbmE8VGFiPl5XYwptZW51dHJhbnMgQ2xvc2VcICZPdGhlcihzKTxUYWI+XldvCUNlcnJhclwgJm90cmEocylcIHZlbnRhbmEocyk8VGFiPl5XbwptZW51dHJhbnMgTW92ZVwgJlRvCQkJTW92JmVyXCBhCm1lbnV0cmFucyAmVG9wPFRhYj5eV0sJCQkmQXJyaWJhPFRhYj5eV0sKbWVudXRyYW5zICZCb3R0b208VGFiPl5XSgkJQSZiYWpvPFRhYj5eV0oKbWVudXRyYW5zICZMZWZ0XCBzaWRlPFRhYj5eV0gJCUxhZG9cICZpenF1aWVyZG88VGFiPl5XSAptZW51dHJhbnMgJlJpZ2h0XCBzaWRlPFRhYj5eV0wJCUxhZG9cICZkZXJlY2hvPFRhYj5eV0wKbWVudXRyYW5zIFJvdGF0ZVwgJlVwPFRhYj5eV1IJCSZSb3RhclwgaGFjaWFcIGFycmliYTxUYWI+XldSCm1lbnV0cmFucyBSb3RhdGVcICZEb3duPFRhYj5eV3IJCVJvdGFyXCBoYWNpYVwgYSZiYWpvPFRhYj5eV3IKbWVudXRyYW5zICZFcXVhbFwgU2l6ZTxUYWI+Xlc9CQlNaXNtb1wgJnRhbWHxbzxUYWI+Xlc9Cm1lbnV0cmFucyAmTWF4XCBIZWlnaHQ8VGFiPl5XXwkJQWx0dXJhXCAmbeF4aW1hPFRhYj5eV18KbWVudXRyYW5zIE0maW5cIEhlaWdodDxUYWI+XlcxXwkJQWx0dXJhXCBt7SZuaW1hPFRhYj5eVzFfCm1lbnV0cmFucyBNYXhcICZXaWR0aDxUYWI+XldcfAkJQW5jaHVyYVwgbeEmeGltYTxUYWI+XldcfAptZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQlBbmMmaHVyYVwgbe1uaW1hPFRhYj5eVzFcfAoKIiBUaGUgcG9wdXAgbWVudQptZW51dHJhbnMgJlVuZG8JCQkmRGVzaGFjZXIKbWVudXRyYW5zIEN1JnQJCQlDb3ImdGFyCm1lbnV0cmFucyAmQ29weQkJCSZDb3BpYXIKbWVudXRyYW5zICZQYXN0ZQkJJlBlZ2FyCm1lbnV0cmFucyAmRGVsZXRlCQkmQm9ycmFyCm1lbnV0cmFucyBTZWxlY3RcIEJsb2Nrd2lzZQlTZWxlY2Npb25hclwgcG9yXCBibG9xdWUKbWVudXRyYW5zIFNlbGVjdFwgJldvcmQJCVNlbGVjY2lvbmFyXCAmcGFsYWJyYQptZW51dHJhbnMgU2VsZWN0XCAmTGluZQkJU2VsZWNjaW9uYXJcIHVuYVwgJmztbmVhCm1lbnV0cmFucyBTZWxlY3RcICZCbG9jawlTZWxlY2Npb25hclwgdW5cICZibG9xdWUKbWVudXRyYW5zIFNlbGVjdFwgJkFsbAkJU2VsZWNjaW9uYXJcICZ0b2RvCgoiIFRoZSBHVUkgdG9vbGJhcgppZiBoYXMoInRvb2xiYXIiKQogIGlmIGV4aXN0cygiKkRvX3Rvb2xiYXJfdG1lbnUiKQogICAgZGVsZnVuIERvX3Rvb2xiYXJfdG1lbnUKICBlbmRpZgogIGZ1biBEb190b29sYmFyX3RtZW51KCkKICAgIHRtZW51IFRvb2xCYXIuT3BlbgkJQWJyaXIgZmljaGVybwogICAgdG1lbnUgVG9vbEJhci5TYXZlCQlHdWFyZGFyIGZpY2hlcm8KICAgIHRtZW51IFRvb2xCYXIuU2F2ZUFsbAlHdWFyZGFyIHRvZG9zIGxvcyBmaWNoZXJvcwogICAgdG1lbnUgVG9vbEJhci5QcmludAkJSW1wcmltaXIKICAgIHRtZW51IFRvb2xCYXIuVW5kbwkJRGVzaGFjZXIKICAgIHRtZW51IFRvb2xCYXIuUmVkbwkJUmVoYWNlcgogICAgdG1lbnUgVG9vbEJhci5DdXQJCUNvcnRhcgogICAgdG1lbnUgVG9vbEJhci5Db3B5CQlDb3BpYXIKICAgIHRtZW51IFRvb2xCYXIuUGFzdGUJCVBlZ2FyCiAgICB0bWVudSBUb29sQmFyLkZpbmQJCUJ1c2Nhci4uLgogICAgdG1lbnUgVG9vbEJhci5GaW5kTmV4dAlCdXNjYXIgc2lndWllbnRlCiAgICB0bWVudSBUb29sQmFyLkZpbmRQcmV2CUJ1c2NhciBwcmVjZWRlbnRlCiAgICB0bWVudSBUb29sQmFyLlJlcGxhY2UJQnVzY2FyIHkgcmVlbXBsYXphcgogICAgaWYgMAkiIGRpc2FibGVkOyBUaGVzZSBhcmUgaW4gdGhlIFdpbmRvd3MgbWVudQogICAgICB0bWVudSBUb29sQmFyLk5ldwkJVmVudGFuYSBudWV2YQogICAgICB0bWVudSBUb29sQmFyLldpblNwbGl0CURpdmlkaXIgdmVudGFuYQogICAgICB0bWVudSBUb29sQmFyLldpbk1heAlBbHR1cmEgbeF4aW1hCiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWluCUFsdHVyYSBt7W5pbWEKICAgICAgdG1lbnUgVG9vbEJhci5XaW5WU3BsaXQJRGl2aWRpciB2ZXJ0aWNhbG1lbnRlCiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWF4V2lkdGgJQW5jaHVyYSBt4XhpbWEKICAgICAgdG1lbnUgVG9vbEJhci5XaW5NaW5XaWR0aAlBbmNodXJhIG3tbmltYQogICAgICB0bWVudSBUb29sQmFyLldpbkNsb3NlCUNlcnJhciB2ZW50YW5hCiAgICBlbmRpZgogICAgdG1lbnUgVG9vbEJhci5Mb2FkU2VzbglDYXJnYXIgc2VzafNuCiAgICB0bWVudSBUb29sQmFyLlNhdmVTZXNuCUd1YXJkYXIgc2VzafNuCiAgICB0bWVudSBUb29sQmFyLlJ1blNjcmlwdAlFamVjdXRhciB1biBhcmNoaXZvIGRlIPNyZGVuZXMKICAgIHRtZW51IFRvb2xCYXIuTWFrZQkJRWplY3V0YXIgq01ha2W7CiAgICB0bWVudSBUb29sQmFyLlNoZWxsCQlBYnJpciB1biBpbnTpcnByZXRlIGRlIGNvbWFuZG9zCiAgICB0bWVudSBUb29sQmFyLlJ1bkN0YWdzCUdlbmVyYXIgdW4gZmljaGVybyBkZSBldGlxdWV0YXMKICAgIHRtZW51IFRvb2xCYXIuVGFnSnVtcAlTYWx0YXIgYSB1bmEgZXRpcXVldGEKICAgIHRtZW51IFRvb2xCYXIuSGVscAkJQXl1ZGEKICAgIHRtZW51IFRvb2xCYXIuRmluZEhlbHAJQnVzY2FyIGVuIGxhIGF5dWRhLi4uCiAgZW5kZnVuCmVuZGlmCgoiIFN5bnRheCBtZW51Cm1lbnV0cmFucyAmU3ludGF4CQkJJlNpbnRheGlzCm1lbnV0cmFucyAmU2hvd1wgZmlsZXR5cGVzXCBpblwgbWVudQkmTW9zdHJhclwgbGlzdGFzXCBkZVwgq3RpcG9cIGRlXCBmaWNoZXJvuwptZW51dHJhbnMgU2V0XCAnJnN5bnRheCdcIG9ubHkJCUFjdGl2YXJcIHPzbG9cIHNpbnRheGlzCm1lbnV0cmFucyBTZXRcICcmZmlsZXR5cGUnXCB0b28JCUFjdGl2YXJcIHRhbWJp6W5cIKt0aXBvXCBkZVwgZmljaGVyb7sKbWVudXRyYW5zICZPZmYJCQkJJkRlc2FjdGl2YXJcIHNpbnRheGlzCm1lbnV0cmFucyAmTWFudWFsCQkJc2ludGF4aXNcICZtYW51YWwKbWVudXRyYW5zIEEmdXRvbWF0aWMJCQlzaW50YXhpc1wgYSZ1dG9t4XRpY2EKbWVudXRyYW5zIG9uL29mZlwgZm9yXCAmVGhpc1wgZmlsZQlBY3RpdmFyL0Rlc2FjdGl2YXJcIGVuXCBlcyZ0ZVwgZmljaGVybwptZW51dHJhbnMgQ28mbG9yXCB0ZXN0CQkJJlBydWViYVwgZGVcIGNvbG9yZXMKbWVudXRyYW5zICZIaWdobGlnaHRcIHRlc3QJCVBydWViYVwgZGVcICZyZWFsemFkbwptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIVE1MCQkmQ29udmVydGlyXCBhXCBIVE1MCgoiIEZpbmQgSGVscCBkaWFsb2cgdGV4dApsZXQgZzptZW51dHJhbnNfaGVscF9kaWFsb2cgPSAiSW50cm9kdXpjYSB1biBub21icmUgZGUgY29tYW5kbyBvIHBhbGFicmEgcGFyYSBvYnRlbmVyIGF5dWRhO1xuXG5BbnRlcG9uZ2EgaV8gcGFyYSBjb21hbmRvcyBkZSBlbnRyYWRhIChlLmcuOiBpX0NUUkwtWClcbkFudGVwb25nYSBjXyBwYXJhIGNvbWFuZG9zIGRlIGxhIGztbmVhIGRlIGNvbWFuZG9zIChlLmcuOiBjXzxEZWw+KVxuQW50ZXBvbmdhIGAgcGFyYSB1biBub21icmUgZGUgb3BjafNuIChlLmcuOiBgc2hpZnR3aWR0aGApIgo=