IiBNZW51IFRyYW5zbGF0aW9uczogUG9ydHVndepzCiIgTWFpbnRhaW5lcjogSm9z6SBkZSBQYXVsYSA8am9zZV9kZV9wYXVsYUBpZy5jb20uYnI+CiIgTGFzdCBDaGFuZ2U6IDIwMDMgSnVuIDEyCiIKCiIgUXVpdCB3aGVuIG1lbnUgdHJhbnNsYXRpb25zIGhhdmUgYWxyZWFkeSBiZWVuIGRvbmUuCmlmIGV4aXN0cygiZGlkX21lbnVfdHJhbnMiKQoJZmluaXNoCmVuZGlmCmxldCBkaWRfbWVudV90cmFucyA9IDEKCiIgVHJhbnNsYXRpb25zIGluIGxhdGluMSAoSVNPLTg4NTktMSksIGFuZCBzaG91bGQgd29yayBpbgoiIGxhdGluOSAoSVNPLTg4NTktMTUpCgppZiAmZW5jICE9ICJjcDEyNTIiICYmICZlbmMgIT0gImlzby04ODU5LTE1IgoJc2NyaXB0ZW5jb2RpbmcgbGF0aW4xCmVuZGlmCgoiIEhlbHAgbWVudQptZW51dHJhbnMgJkhlbHAJCQlBJmp1ZGEKbWVudXRyYW5zICZPdmVydmlldzxUYWI+PEYxPgkmQ29udGX6ZG8KbWVudXRyYW5zICZVc2VyXCBNYW51YWwJCSZNYW51YWxcIGRvXCBVc3XhcmlvCm1lbnV0cmFucyAmSG93LXRvXCBsaW5rcwkmQ29tb1wgZmF6ZXI/Cm1lbnV0cmFucyAmRmluZFwuXC5cLgkJJlByb2N1cmFyXC5cLlwuCm1lbnV0cmFucyAmQ3JlZGl0cwkJJkNy6WRpdG9zCm1lbnV0cmFucyBPJnJwaGFucwkJJtNyZuNvcwptZW51dHJhbnMgQ28mcHlpbmcJCSZMaWNlbudhCm1lbnV0cmFucyAmVmVyc2lvbgkJJlZlcnPjbwptZW51dHJhbnMgJkFib3V0CQkmU29icmUKCiIgRmlsZSBtZW51Cm1lbnV0cmFucyAmRmlsZQkJCQkmQXJxdWl2bwptZW51dHJhbnMgJk9wZW5cLlwuXC48VGFiPjplCQlBJmJyaXJcLlwuXC48VGFiPjplCm1lbnV0cmFucyBTcCZsaXQtT3BlblwuXC5cLjxUYWI+OnNwCUFiJnJpclwgZW1cIG91dHJhXCBqYW5lbGFcLlwuXC48VGFiPjpzcAptZW51dHJhbnMgJk5ldzxUYWI+OmVuZXcJCSZOb3ZvPFRhYj46ZW5ldwptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2xvc2UJCSZGZWNoYXI8VGFiPjpjbG9zZQptZW51dHJhbnMgJlNhdmU8VGFiPjp3CQkJJlNhbHZhcjxUYWI+OncKbWVudXRyYW5zIFNhdmVcICZBc1wuXC5cLjxUYWI+OnNhdglTYSZsdmFyXCBjb21vXC5cLlwuPFRhYj46c2F2Cm1lbnV0cmFucyBTcGxpdFwgJkRpZmZcIHdpdGhcLlwuXC4JJkV4aWJpclwgZGlmZXJlbudhc1wgY29tXC5cLlwuCm1lbnV0cmFucyBTcGxpdFwgUGF0Y2hlZFwgJkJ5XC5cLlwuCUV4JmliaXJcIHBhdGNoZWFkb1wgcG9yXC5cLlwuCm1lbnV0cmFucyAmUHJpbnQJCQlJJm1wcmltaXIKbWVudXRyYW5zIFNhJnZlLUV4aXQ8VGFiPjp3cWEJCVNhbCZ2YXJcIGVcIHNhaXI8VGFiPjp3cWEKbWVudXRyYW5zIEUmeGl0PFRhYj46cWEJCQlTYWkmcjxUYWI+OnFhCgoiIEVkaXQgbWVudQptZW51dHJhbnMgJkVkaXQJCQkJJkVkaXRhcgptZW51dHJhbnMgJlVuZG88VGFiPnUJCQkmRGVzZmF6ZXI8VGFiPnUKbWVudXRyYW5zICZSZWRvPFRhYj5eUgkJCSZSZWZhemVyPFRhYj51Cm1lbnV0cmFucyBSZXAmZWF0PFRhYj5cLgkJUmVwZSZ0aXI8VGFiPlwuCm1lbnV0cmFucyBDdSZ0PFRhYj4iK3gJCQlSZSZjb3J0YXI8VGFiPiIreAptZW51dHJhbnMgJkNvcHk8VGFiPiIreQkJCUNvcCZpYXI8VGFiPiIreQptZW51dHJhbnMgJlBhc3RlPFRhYj4iK2dQCQlDJm9sYXI8VGFiPiIrZ1AKbWVudXRyYW5zIFB1dFwgJkJlZm9yZTxUYWI+W3AJCUNvbG9jYXJcICZhbnRlczxUYWI+W3AKbWVudXRyYW5zIFB1dFwgJkFmdGVyPFRhYj5dcAkJQ29sb2NhclwgJmRlcG9pczxUYWI+XXAKbWVudXRyYW5zICZTZWxlY3RcIGFsbDxUYWI+Z2dWRwkJJlNlbGVjaW9uYXJcIHR1ZG88VGFiPmdnVkcKbWVudXRyYW5zICZGaW5kXC5cLlwuCQkJJlByb2N1cmFyXC5cLlwuCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlXC5cLlwuCVByb2N1cmFyXCBlXCBzdWJzdGl0JnVpclwuXC5cLgptZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZTxUYWI+OiVzCVByb2N1cmFyXCBlXCBzdWJzdGl0JnVpcjxUYWI+OiVzCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlCQlQcm9jdXJhclwgZVwgc3Vic3RpdCZ1aXIKbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2U8VGFiPjpzCVByb2N1cmFyXCBlXCBzdWJzdGl0dWlyPFRhYj46cwptZW51dHJhbnMgU2V0dGluZ3NcICZXaW5kb3cJCU9wJuf1ZXMKCiIgRWRpdC9HbG9iYWwgU2V0dGluZ3MKbWVudXRyYW5zICZHbG9iYWxcIFNldHRpbmdzCQlPcOf1ZXNcICZHbG9iYWlzCgptZW51dHJhbnMgVG9nZ2xlXCBQYXR0ZXJuXCAmSGlnaGxpZ2h0PFRhYj46c2V0XCBobHMhCUF0aXZhci9EZXNhdGl2YXJcICZSZWFsY2VcIGRlXCBQYWRy9WVzPFRhYj46c2V0XCBobHMhCm1lbnV0cmFucyBUb2dnbGVcICZJZ25vcmUtY2FzZTxUYWI+OnNldFwgaWMhCQlBdGl2YXIvRGVzYXRpdmFyXCAmSWdub3JhclwgbWFp+nNjdWxhczxUYWI+OnNldFwgaWMhCm1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtIQkJQXRpdmFyL0Rlc2F0aXZhclwgJmNvaW5jaWTqbmNpYXM8VGFiPjpzZXRcIHNtIQoKbWVudXRyYW5zICZDb250ZXh0XCBsaW5lcwkJTGluaGFzXCBkZVwgQyZvbnRleHRvCgptZW51dHJhbnMgJlZpcnR1YWxcIEVkaXQJCUVkaefjb1wgJlZpcnR1YWwKbWVudXRyYW5zIE5ldmVyCQkJCU51bmNhCm1lbnV0cmFucyBCbG9ja1wgU2VsZWN0aW9uCQlTZWxl5+NvXCBkZVwgQmxvY28KbWVudXRyYW5zIEluc2VydFwgbW9kZQkJCU1vZG9cIGRlXCBpbnNlcufjbwptZW51dHJhbnMgQmxvY2tcIGFuZFwgSW5zZXJ0CQlCbG9jb1wgZVwgaW5zZXLn428KbWVudXRyYW5zIEFsd2F5cwkJCVNlbXByZQoKbWVudXRyYW5zIFRvZ2dsZVwgSW5zZXJ0XCAmTW9kZTxUYWI+OnNldFwgaW0hIEF0aXZhci9EZXNhdGl2YXJcIE1vZG9cIGRlXCBJbiZzZXLn4288VGFiPjpzZXRcIGltIQptZW51dHJhbnMgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwISBBdGl2YXIvRGVzYXRpdmFyXCBDbyZtcGF0aWJpbGlkYWRlXCBjb21cIFZpPFRhYj46c2V0XCBjcCEKbWVudXRyYW5zIFNlYXJjaFwgJlBhdGhcLlwuXC4JCUNhbWluJmhvXCBkZVwgQnVzY2FcLlwuXC4KbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQlBcnF1aXZvc1wgZGVcIFRhZ3NcLlwuXC4KCiIgR1VJIG9wdGlvbnMKbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCU9jdWx0YXIvRXhpYmlyXCBCYXJyYVwgZGVcICZGZXJyYW1lbnRhcwptZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJT2N1bHRhci9FeGliaXJcIEJhcnJhXCBkZVwgJlJvbGFnZW1cIEluZmVyaW9yCm1lbnV0cmFucyBUb2dnbGVcICZMZWZ0XCBTY3JvbGxiYXIJT2N1bHRhci9FeGliaXJcIEJhcnJhXCBkZVwgUiZvbGFnZW1cIEVzcXVlcmRhCm1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCU9jdWx0YXIvRXhpYmlyXCBCYXJyYVwgZGVcIFJvJmxhZ2VtXCBEaXJlaXRhCmxldCBnOm1lbnV0cmFuc19wYXRoX2RpYWxvZyA9ICJJbmRpcXVlIHVtIGNhbWluaG8gZGUgcHJvY3VyYSBwYXJhIG9zIGFycXVpdm9zLlxuU2VwYXJlIG9zIG5vbWVzIGRvcyBkaXJldPNyaW9zIGNvbSB1bWEgdu1yZ3VsYS4iCmxldCBnOm1lbnV0cmFuc190YWdzX2RpYWxvZyA9ICJJbmRpcXVlIG9zIG5vbWVzIGRvcyBhcnF1aXZvcyBkZSB0YWdzLlxuU2VwYXJlIG9zIG5vbWVzIGNvbSB1bWEgdu1yZ3VsYS4iCgoiIEVkaXQvRmlsZSBTZXR0aW5ncwptZW51dHJhbnMgRiZpbGVcIFNldHRpbmdzCQlPcOf1ZXNcIGRvXCAmQXJxdWl2bwoKIiBCb29sZWFuIG9wdGlvbnMKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJk51bWJlcmluZzxUYWI+OnNldFwgbnUhCUF0aXZhci9EZXNhdGl2YXJcICZudW1lcmHn429cIGRlXCBsaW5oYXM8VGFiPjpzZXRcIG51IQptZW51dHJhbnMgVG9nZ2xlXCAmTGlzdFwgTW9kZTxUYWI+OnNldFwgbGlzdCEJCUF0aXZhci9EZXNhdGl2YXJcIG1vZG9cICZsaXN0PFRhYj46c2V0XCBsaXN0IQptZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmV3JhcDxUYWI+OnNldFwgd3JhcCEJCUF0aXZhci9EZXNhdGl2YXJcICZxdWVicmFcIGRlXCBsaW5oYXM8VGFiPjpzZXRcIHdyYXAhCm1lbnV0cmFucyBUb2dnbGVcIFcmcmFwXCBhdFwgd29yZDxUYWI+OnNldFwgbGJyIQlBdGl2YXIvRGVzYXRpdmFyXCBxdWVicmFcIG5hXCAmcGFsYXZyYTxUYWI+OnNldFwgbGJyIQptZW51dHJhbnMgVG9nZ2xlXCAmZXhwYW5kLXRhYjxUYWI+OnNldFwgZXQhCQlBdGl2YXIvRGVzYXRpdmFyXCBleHBhbnPjbyBkZSB0YWJzPFRhYj46c2V0XCBldCEKbWVudXRyYW5zIFRvZ2dsZVwgJmF1dG8taW5kZW50PFRhYj46c2V0XCBhaSEJCUF0aXZhci9EZXNhdGl2YXJcICZhdXRvLWluZGVudGHn4288VGFiPjpzZXRcIGFpIQptZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEJCUF0aXZhci9EZXNhdGl2YXJcIGluZGVudGHn428gZXN0aWxvICZDPFRhYj46c2V0XCBjaW4hCgoiIG90aGVyIG9wdGlvbnMKbWVudXRyYW5zICZTaGlmdHdpZHRoCQkJTGFyZ3VyYVwgZGFcICZpbmRlbnRh5+NvCgptZW51dHJhbnMgU29mdFwgJlRhYnN0b3AJCSZUYWJ1bGHn429cIGNvbVwgZXNwYedvcwoKbWVudXRyYW5zIFRlJnh0XCBXaWR0aFwuXC5cLgkJTGFyZ3VyYVwgZG9cIHRlJnh0b1wuXC5cLgpsZXQgZzptZW51dHJhbnNfdGV4dHdpZHRoX2RpYWxvZyA9ICJEaWdpdGUgYSBub3ZhIGxhcmd1cmEgZG8gdGV4dG8gKDAgcGFyYSBkZXNhdGl2YXIgYSBmb3JtYXRh5+NvKTogIgoKbWVudXRyYW5zICZGaWxlXCBGb3JtYXRcLlwuXC4JCSZGb3JtYXRvXCBkb1wgYXJxdWl2b1wuXC5cLgpsZXQgZzptZW51dHJhbnNfZmlsZWZvcm1hdF9kaWFsb2cgPSAiU2VsZWNpb25lIG8gZm9ybWF0byBwYXJhIGdyYXZhciBvIGFycXVpdm8iCgptZW51dHJhbnMgQyZvbG9yXCBTY2hlbWUJCUVzcXVlbWFcIGRlXCBjJm9yZXMKbWVudXRyYW5zIGRlZmF1bHQJcGFkcuNvCgptZW51dHJhbnMgU2VsZWN0XCBGbyZudFwuXC5cLgkJU2VsZWNpb25hclwgZm8mbnRlXC5cLlwuCgptZW51dHJhbnMgJktleW1hcAlNYXBhXCBkZVwgdGVjbGFkbwptZW51dHJhbnMgTm9uZQkJTmVuaHVtCgoiIFByb2dyYW1taW5nIG1lbnUKbWVudXRyYW5zICZUb29scwkJCSZGZXJyYW1lbnRhcwptZW51dHJhbnMgJkp1bXBcIHRvXCB0aGlzXCB0YWc8VGFiPmdeXQkmUHVsYXJcIHBhcmFcIGVzdGVcIHRhZzxUYWI+Z15dCm1lbnV0cmFucyBKdW1wXCAmYmFjazxUYWI+XlQJCSZWb2x0YXI8VGFiPl5UCm1lbnV0cmFucyBCdWlsZFwgJlRhZ3NcIEZpbGUJCSZDb25zdHJ1aXJcIEFycXVpdm9cIGRlXCB0YWdzCm1lbnV0cmFucyAmRm9sZGluZwkJCSZEb2JyYQptZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQkmTWFrZTxUYWI+Om1ha2UKbWVudXRyYW5zICZMaXN0XCBFcnJvcnM8VGFiPjpjbAkJJkxpc3RhXCBkZVwgZXJyb3M8VGFiPjpjbAptZW51dHJhbnMgTCZpc3RcIE1lc3NhZ2VzPFRhYj46Y2whCUxpJnN0YVwgZGVcIG1lbnNhZ2VuczxUYWI+OmNsIQptZW51dHJhbnMgJk5leHRcIEVycm9yPFRhYj46Y24JCVAmcvN4aW1vXCBlcnJvPFRhYj46Y24KbWVudXRyYW5zICZQcmV2aW91c1wgRXJyb3I8VGFiPjpjcAkmRXJyb1wgYW50ZXJpb3I8VGFiPjpjcAptZW51dHJhbnMgJk9sZGVyXCBMaXN0PFRhYj46Y29sZAlMaXN0YXJcIGVycm9zXCAmYW50aWdvczxUYWI+OmNvbGQKbWVudXRyYW5zIE4mZXdlclwgTGlzdDxUYWI+OmNuZXcJTGlzdGFyXCBlcnJvc1wgJm5vdm9zPFRhYj46Y25ldwptZW51dHJhbnMgRXJyb3JcICZXaW5kb3cJCSZKYW5lbGFcIGRlXCBlcnJvcwptZW51dHJhbnMgJlNldFwgQ29tcGlsZXIJCURlZiZpbmlyXCBDb21waWxhZG9yCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhFWDxUYWI+OiUheHhkCUNvbnZlcnRlclwgcGFyYVwgaGV4YWRlY2ltYWw8VGFiPjolIXh4ZAptZW51dHJhbnMgQ29udmUmcnRcIGJhY2s8VGFiPjolIXh4ZFwgLXIJQ29udmVyJnRlclwgZGVcIHZvbHRhPFRhYj46JSF4eGRcIC1yCgoiIFRvb2xzLkZvbGQgTWVudQptZW51dHJhbnMgJkVuYWJsZS9EaXNhYmxlXCBmb2xkczxUYWI+emkJCSZBdGl2YXIvRGVzYXRpdmFyXCBkb2JyYXM8VGFiPnppCm1lbnV0cmFucyAmVmlld1wgQ3Vyc29yXCBMaW5lPFRhYj56dgkJJlZlclwgbGluaGFcIGRvXCBjdXJzb3I8VGFiPnp2Cm1lbnV0cmFucyBWaWUmd1wgQ3Vyc29yXCBMaW5lXCBvbmx5PFRhYj56TXp4CVZlJnJcIHNvbWVudGVcIGxpbmhhXCBkb1wgY3Vyc29yPFRhYj56TXp4Cm1lbnV0cmFucyBDJmxvc2VcIG1vcmVcIGZvbGRzPFRhYj56bQkJJkZlY2hhclwgbWFpc1wgZG9icmFzPFRhYj56bQptZW51dHJhbnMgJkNsb3NlXCBhbGxcIGZvbGRzPFRhYj56TQkJRiZlY2hhclwgdG9kYXNcIGFzXCBkb2JyYXM8VGFiPnpNCm1lbnV0cmFucyBPJnBlblwgbW9yZVwgZm9sZHM8VGFiPnpyCQlBJmJyaXJcIG1haXNcIGRvYnJhczxUYWI+enIKbWVudXRyYW5zICZPcGVuXCBhbGxcIGZvbGRzPFRhYj56UgkJQWJyJmlyXCB0b2Rhc1wgYXNcIGRvYnJhczxUYWI+elIKIiBmb2xkIG1ldGhvZAptZW51dHJhbnMgRm9sZFwgTWV0JmhvZAkJCQkmTW9kb1wgZGVcIGRvYnJhcwptZW51dHJhbnMgQ3JlYXRlXCAmRm9sZDxUYWI+emYJCQlDcmlhclwgJmRvYnJhczxUYWI+emYKbWVudXRyYW5zICZEZWxldGVcIEZvbGQ8VGFiPnpkCQkJUmVtb3ZlclwgZCZvYnJhczxUYWI+emQKbWVudXRyYW5zIERlbGV0ZVwgJkFsbFwgRm9sZHM8VGFiPnpECQlSZW1vdmVyXCAmdG9kYXNcIGFzXCBkb2JyYXM8VGFiPnpECiIgbW92aW5nIGFyb3VuZCBpbiBmb2xkcwptZW51dHJhbnMgRm9sZFwgY29sJnVtblwgd2lkdGgJCQkmTGFyZ3VyYVwgZGFcIGNvbHVuYVwgZGFcIGRvYnJhCgoiIFRvb2xzLkRpZmYgTWVudQptZW51dHJhbnMgJlVwZGF0ZQkmQXR1YWxpemFyCm1lbnV0cmFucyAmR2V0XCBCbG9jawkmT2J0ZXJcIEJsb2NvCm1lbnV0cmFucyAmUHV0XCBCbG9jawkmUPRyXCBCbG9jbwoKIiBUb29scy5FcnJvciBNZW51Cm1lbnV0cmFucyAmVXBkYXRlPFRhYj46Y3dpbgkmQXR1YWxpemFyPFRhYj46Y3dpbgptZW51dHJhbnMgJk9wZW48VGFiPjpjb3BlbglBJmJyaXI8VGFiPjpjb3BlbgptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2Nsb3NlCSZGZWNoYXI8VGFiPjpjY2xvc2UKCiIgTmFtZXMgZm9yIGJ1ZmZlciBtZW51LgptZW51dHJhbnMgJkJ1ZmZlcnMJCSZCdWZmZXJzCm1lbnV0cmFucyAmUmVmcmVzaFwgbWVudQlBJnR1YWxpemFyXCBtZW51Cm1lbnV0cmFucyAmRGVsZXRlCQkmQXBhZ2FyCm1lbnV0cmFucyAmQWx0ZXJuYXRlCQlBJmx0ZXJuYXIKbWVudXRyYW5zICZOZXh0CQkJUCZy83hpbW8KbWVudXRyYW5zICZQcmV2aW91cwkJQSZudGVyaW9yCmxldCBnOm1lbnV0cmFuc19ub19maWxlID0gIltTZW0gYXJxdWl2b3NdIgoKIiBXaW5kb3cgbWVudQptZW51dHJhbnMgJldpbmRvdwkJCSZKYW5lbGEKbWVudXRyYW5zICZOZXc8VGFiPl5XbgkJCU4mb3ZhPFRhYj5eV24KbWVudXRyYW5zIFMmcGxpdDxUYWI+XldzCQkmRGl2aWRpcjxUYWI+XldzCm1lbnV0cmFucyBTcCZsaXRcIFRvXCAjPFRhYj5eV15eCUQmaXZpZGlyXCBwYXJhXCAjPFRhYj5eV15eCm1lbnV0cmFucyBTcGxpdFwgJlZlcnRpY2FsbHk8VGFiPl5XdglEaXZpZGlyXCAmdmVydGljYWxtZW50ZTxUYWI+Xld2Cm1lbnV0cmFucyBTcGxpdFwgRmlsZVwgRSZ4cGxvcmVyCSZBYnJpclwgR2VyZW5jaWFkb3JcIGRlXCBhcnF1aXZvcwptZW51dHJhbnMgJkNsb3NlPFRhYj5eV2MJCSZGZWNoYXI8VGFiPl5XYwptZW51dHJhbnMgQ2xvc2VcICZPdGhlcihzKTxUYWI+XldvCUZlY2hhclwgJm91dHJhKHMpPFRhYj5eV28KbWVudXRyYW5zIE1vdmVcICZUbwkJCU1vdmVyXCAmcGFyYQptZW51dHJhbnMgJlRvcDxUYWI+XldLCQkJQSZjaW1hPFRhYj5eV0sKbWVudXRyYW5zICZCb3R0b208VGFiPl5XSgkJQSZiYWl4bzxUYWI+XldKCm1lbnV0cmFucyAmTGVmdFwgc2lkZTxUYWI+XldICQlMYWRvXCAmZXNxdWVyZG88VGFiPl5XSAptZW51dHJhbnMgJlJpZ2h0XCBzaWRlPFRhYj5eV0wJCUxhZG9cIGRpJnJlaXRvPFRhYj5eV0wKbWVudXRyYW5zIFJvdGF0ZVwgJlVwPFRhYj5eV1IJCSZHaXJhclwgcGFyYVwgY2ltYTxUYWI+XldSCm1lbnV0cmFucyBSb3RhdGVcICZEb3duPFRhYj5eV3IJCUdpcmFyXCBwYXJhXCBiYWkmeG88VGFiPl5XcgptZW51dHJhbnMgJkVxdWFsXCBTaXplPFRhYj5eVz0JCU1lc21vXCAmVGFtYW5obzxUYWI+Xlc9Cm1lbnV0cmFucyAmTWF4XCBIZWlnaHQ8VGFiPl5XXwkJQWx0dXJhXCAmTeF4aW1hPFRhYj5eV18KbWVudXRyYW5zIE0maW5cIEhlaWdodDxUYWI+XlcxXwkJQSZsdHVyYVwgTe1uaW1hPFRhYj5eVzFfCm1lbnV0cmFucyBNYXhcICZXaWR0aDxUYWI+XldcfAkJTGFyZyZ1cmFcIE3heGltYTxUYWI+XldcfAptZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQlMYXJndXJhXCBN7SZuaW1hPFRhYj5eVzFcfAoKIiBUaGUgcG9wdXAgbWVudQptZW51dHJhbnMgJlVuZG8JCQkmRGVzZmF6ZXIKbWVudXRyYW5zIEN1JnQJCQlSZWNvciZ0YXIKbWVudXRyYW5zICZDb3B5CQkJJkNvcGlhcgptZW51dHJhbnMgJlBhc3RlCQlDbyZsYXIKbWVudXRyYW5zICZEZWxldGUJCSZBcGFnYXIKbWVudXRyYW5zIFNlbGVjdFwgQmxvY2t3aXNlCVNlbGXn429cIGRlXCBibG9jbwptZW51dHJhbnMgU2VsZWN0XCAmV29yZAkJU2VsZWNpb25hclwgJlBhbGF2cmEKbWVudXRyYW5zIFNlbGVjdFwgJkxpbmUJCVNlbGVjaW9uYXJcIEwmaW5oYQptZW51dHJhbnMgU2VsZWN0XCAmQWxsCQlTZWxlY2lvbmFyXCBUJnVkbwoKIiBUaGUgR1VJIHRvb2xiYXIKaWYgaGFzKCJ0b29sYmFyIikKICBpZiBleGlzdHMoIipEb190b29sYmFyX3RtZW51IikKICAgIGRlbGZ1biBEb190b29sYmFyX3RtZW51CiAgZW5kaWYKICBmdW4gRG9fdG9vbGJhcl90bWVudSgpCgkgIHRtZW51IFRvb2xCYXIuT3BlbglBYnJpciBBcnF1aXZvCgkgIHRtZW51IFRvb2xCYXIuU2F2ZQlTYWx2YXIgQXJxdWl2bwoJICB0bWVudSBUb29sQmFyLlNhdmVBbGwJU2FsdmFyIFRvZG9zIG9zIGFycXVpdm9zCgkgIHRtZW51IFRvb2xCYXIuUHJpbnQJSW1wcmltaXIKCSAgdG1lbnUgVG9vbEJhci5VbmRvCURlc2ZhemVyCgkgIHRtZW51IFRvb2xCYXIuUmVkbwlSZWZhemVyCgkgIHRtZW51IFRvb2xCYXIuQ3V0CVJlY29ydGFyCgkgIHRtZW51IFRvb2xCYXIuQ29weQlDb3BpYXIKCSAgdG1lbnUgVG9vbEJhci5QYXN0ZQlDb2xhcgoJICB0bWVudSBUb29sQmFyLkZpbmQJUHJvY3VyYXIuLi4KCSAgdG1lbnUgVG9vbEJhci5GaW5kTmV4dAlQcm9jdXJhciBQcvN4aW1vCgkgIHRtZW51IFRvb2xCYXIuRmluZFByZXYJUHJvY3VyYXIgQW50ZXJpb3IKCSAgdG1lbnUgVG9vbEJhci5SZXBsYWNlCQlQcm9jdXJhciBlIFN1YnN0aXR1aXIKCSAgaWYgMAkiIGRpc2FibGU7IHRoZXNlIGFyZSBpbiB0aGUgV2luZG96ZSBtZW51CgkJICB0bWVudSBUb29sQmFyLk5ldwlOb3ZhIEphbmVsYQoJCSAgdG1lbnUgVG9vbEJhci5XaW5TcGxpdAlEaXZpZGlyIEphbmVsYQoJCSAgdG1lbnUgVG9vbEJhci5XaW5NYXgJCUphbmVsYSBN4XhpbWEKCQkgIHRtZW51IFRvb2xCYXIuV2luTWluCQlKYW5lbGEgTe1uaW1hCgkJICB0bWVudSBUb29sQmFyLldpblZTcGxpdAlEaXZpZGlyIFZlcnRpY2FsbWVudGUKCQkgIHRtZW51IFRvb2xCYXIuV2luTWF4V2lkdGgJTGFyZ3VyYSBN4XhpbWEKCQkgIHRtZW51IFRvb2xCYXIuV2luTWluV2lkdGgJTGFyZ3VyYSBN7W5pbWEKCQkgIHRtZW51IFRvb2xCYXIuV2luQ2xvc2UJRmVjaGFyIEphbmVsYQoJICBlbmRpZgoJICB0bWVudSBUb29sQmFyLkxvYWRTZXNuCUNhcnJlZ2FyIFNlc3PjbwoJICB0bWVudSBUb29sQmFyLlNhdmVTZXNuCVNhbHZhciBTZXNz428KCSAgdG1lbnUgVG9vbEJhci5SdW5TY3JpcHQJRXhlY3V0YXIgc2NyaXB0CgkgIHRtZW51IFRvb2xCYXIuTWFrZQkJTWFrZQoJICB0bWVudSBUb29sQmFyLlNoZWxsCQlBYnJpciB1bSBzaGVsbAoJICB0bWVudSBUb29sQmFyLlJ1bkN0YWdzCUdlcmFyIHVtIGFycXVpdm8gZGUgdGFncwoJICB0bWVudSBUb29sQmFyLlRhZ0p1bXAJCVNhbHRhciBwYXJhIHVtIHRhZwoJICB0bWVudSBUb29sQmFyLkhlbHAJCUFqdWRhCgkgIHRtZW51IFRvb2xCYXIuRmluZEhlbHAJUHJvY3VyYXIgbmEgQWp1ZGEKICBlbmRmdW4KZW5kaWYKCiIgU3ludGF4IG1lbnUKbWVudXRyYW5zICZTeW50YXgJCQkmU2ludGF4ZQoibWVudXRyYW5zICZTaG93XCBpbmRpdmlkdWFsXCBjaG9pY2VzCUUmeGliaXJcIGVzY29saGFzXCBpbmRpdmlkdWFpcwptZW51dHJhbnMgJlNob3dcIGZpbGV0eXBlc1wgaW5cIG1lbnUJRSZ4aWJpclwgdGlwb3NcIGRlXCBhcnF1aXZvc1wgbm9cIG1lbnUKbWVudXRyYW5zIFNldFwgJyZzeW50YXgnXCBvbmx5CQlBdGl2YXJcIHNvbWVudGVcIHMmaW50YXhlCm1lbnV0cmFucyBTZXRcICcmZmlsZXR5cGUnXCB0b28JCUF0aXZhclwgdGFtYultXCAmdGlwb1wgZGVcIGFycXVpdm8KbWVudXRyYW5zICZPZmYJCQkJJkRlc2F0aXZhcgptZW51dHJhbnMgJk1hbnVhbAkJCSZNYW51YWwKbWVudXRyYW5zIEEmdXRvbWF0aWMJCQlBJnV0b23hdGljYQptZW51dHJhbnMgb24vb2ZmXCBmb3JcICZUaGlzXCBmaWxlCUF0aXZhci9EZXNhdGl2YXJcIG5lc3RlXCAmYXJxdWl2bwptZW51dHJhbnMgQ28mbG9yXCB0ZXN0CQkJVCZlc3RlXCBkZVwgY29yZXMKbWVudXRyYW5zICZIaWdobGlnaHRcIHRlc3QJCVRlc3RlXCBkZVwgJnJlYWxjZQptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIVE1MCQkmQ29udmVydGVyXCBwYXJhXCBIVE1MCgoiIEZpbmQgSGVscCBkaWFsb2cgdGV4dApsZXQgZzptZW51dHJhbnNfaGVscF9kaWFsb2cgPSAiRGlnaXRlIHVtIGNvbWFuZG8gb3UgcGFsYXZyYSBwYXJhIG9idGVyIGFqdWRhO1xuXG5BbnRlcG9uaGEgaV8gcGFyYSBjb21hbmRvcyBkZSBlbnRyYWRhIChleC46IGlfQ1RSTC1YKVxuQW50ZXBvbmhhIGNfIHBhcmEgY29tYW5kb3MgZGEgbGluaGEgZGUgY29tYW5kb3MgKGV4LjogY188RGVsPilcbkFudGVwb25oYSBgIHBhcmEgdW0gbm9tZSBkZSBvcOfjbyAoZXguOiBgc2hpZnR3aWR0aGApIgo=