IiBNZW51IFRyYW5zbGF0aW9uczoJTmVkZXJsYW5kcwoiIE1haW50YWluZXI6CQlCcmFtIE1vb2xlbmFhcgoiIExhc3QgQ2hhbmdlOgkyMDA0IE1heSAwNQoKIiBRdWl0IHdoZW4gbWVudSB0cmFuc2xhdGlvbnMgaGF2ZSBhbHJlYWR5IGJlZW4gZG9uZS4KaWYgZXhpc3RzKCJkaWRfbWVudV90cmFucyIpCiAgZmluaXNoCmVuZGlmCmxldCBkaWRfbWVudV90cmFucyA9IDEKCiIgVGhlIHRyYW5zbGF0aW9ucyBiZWxvdyBhcmUgaW4gbGF0aW4xLCBidXQgdGhleSB3b3JrIGZvciBjcDEyNTIgYW5kCiIgaXNvLTg4NTktMTUgd2l0aG91dCBjb252ZXJzaW9uIGFzIHdlbGwuCmlmICZlbmMgIT0gImNwMTI1MiIgJiYgJmVuYyAhPSAiaXNvLTg4NTktMTUiCiAgc2NyaXB0ZW5jb2RpbmcgbGF0aW4xCmVuZGlmCgoiIEhlbHAgbWVudQptZW51dHJhbnMgJkhlbHAJCQkmSGVscAptZW51dHJhbnMgJk92ZXJ2aWV3PFRhYj48RjE+CSZPdmVyemljaHQ8VGFiPjxGMT4KbWVudXRyYW5zICZVc2VyXCBNYW51YWwJCUdlYnJ1aWtlcnNoYW5kbGVpZGluZwptZW51dHJhbnMgJkhvdy10b1wgbGlua3MJJkhvZS1kb2UtaWtcIGxpanN0CiJtZW51dHJhbnMgJkdVSQkJCSZHVUkKbWVudXRyYW5zICZDcmVkaXRzCQkmTWV0XCBkYW5rXCBhYW4KbWVudXRyYW5zIENvJnB5aW5nCQkmQ29weXJpZ2h0Cm1lbnV0cmFucyAmU3BvbnNvci9SZWdpc3RlcgkmU3BvbnNvci9SZWdpc3RyZWVyCm1lbnV0cmFucyBPJnJwaGFucwkJJldlZXNraW5kZXJlbgptZW51dHJhbnMgJlZlcnNpb24JCSZWZXJzaWUKbWVudXRyYW5zICZBYm91dAkJJkludHJvZHVjdGllc2NoZXJtCgoiIEZpbGUgbWVudQptZW51dHJhbnMgJkZpbGUJCQkJJkJlc3RhbmQKbWVudXRyYW5zICZPcGVuXC5cLlwuPFRhYj46ZQkJJk9wZW5lblwuXC5cLjxUYWI+OmUKbWVudXRyYW5zIFNwJmxpdC1PcGVuXC5cLlwuPFRhYj46c3AJSW5cIG5pZXV3XCAmVmVuc3Rlclwgb3BlbmVuXC5cLlwuPFRhYj46c3AKbWVudXRyYW5zICZOZXc8VGFiPjplbmV3CQkmTmlldXc8VGFiPjplbmV3Cm1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjbG9zZQkJJlNsdWl0ZW48VGFiPjpjbG9zZQptZW51dHJhbnMgJlNhdmU8VGFiPjp3CQkJJkJld2FyZW48VGFiPjp3Cm1lbnV0cmFucyBTYXZlXCAmQXNcLlwuXC48VGFiPjpzYXYJQmV3YXJlblwgYWxzXC5cLlwuPFRhYj46c2F2Cm1lbnV0cmFucyBTcGxpdFwgJkRpZmZcIHdpdGhcLlwuXC4JVG9vblwgZGlmZlwgbWV0XC5cLlwuCm1lbnV0cmFucyBTcGxpdFwgUGF0Y2hlZFwgJkJ5XC5cLlwuCVRvb25cIGdld2lqemlnZFwgZG9vclwuXC5cLgptZW51dHJhbnMgJlByaW50CQkJQWYmZHJ1a2tlbgptZW51dHJhbnMgU2EmdmUtRXhpdDxUYWI+OndxYQkJQmV3YXJlblwgZW5cIEFmc2x1aXRlbjxUYWI+OndxYQptZW51dHJhbnMgRSZ4aXQ8VGFiPjpxYQkJCSZBZnNsdWl0ZW48VGFiPjpxYQoKIiBFZGl0IG1lbnUKbWVudXRyYW5zICZFZGl0CQkJCUJlJndlcmtlbgptZW51dHJhbnMgJlVuZG88VGFiPnUJCQlUZXJ1ZzxUYWI+dQptZW51dHJhbnMgJlJlZG88VGFiPl5SCQkJVm9vJnJ1aXQ8VGFiPl5SCm1lbnV0cmFucyBSZXAmZWF0PFRhYj5cLgkJJkhlcmhhbGVuPFRhYj5cLgptZW51dHJhbnMgQ3UmdDxUYWI+Iit4CQkJJktuaXBwZW48VGFiPiIreAptZW51dHJhbnMgJkNvcHk8VGFiPiIreQkJCUsmb3Bp62VyZW48VGFiPiIreQptZW51dHJhbnMgJlBhc3RlPFRhYj4iK2dQCQlQbGFra2VuPFRhYj4iK2dQCm1lbnV0cmFucyBQdXRcICZCZWZvcmU8VGFiPltwCQlFcnZvb3JcIGludm9lZ2VuPFRhYj5bcAptZW51dHJhbnMgUHV0XCAmQWZ0ZXI8VGFiPl1wCQlFcmFjaHRlclwgaW52b2VnZW48VGFiPl1wCm1lbnV0cmFucyAmU2VsZWN0XCBhbGw8VGFiPmdnVkcJCUFsbGVzXCAmTWFya2VyZW48VGFiPmdnVkcKbWVudXRyYW5zICZGaW5kXC5cLlwuCQkJJlpvZWtlblwuXC5cLgptZW51dHJhbnMgJkZpbmQ8VGFiPi8JCQkmWm9la2VuPFRhYj4vCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlXC5cLlwuCVpvZWtlblwgZW5cICZWZXJ2YW5nZW5cLlwuXC4KbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2U8VGFiPjolcwlab2VrZW5cIGVuXCAmVmVydmFuZ2VuPFRhYj46JXMKbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2UJCVpvZWtlblwgZW5cICZWZXJ2YW5nZW4KbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2U8VGFiPjpzCVpvZWtlblwgZW5cICZWZXJ2YW5nZW48VGFiPjpzCm1lbnV0cmFucyBTZXR0aW5nc1wgJldpbmRvdwkJT3B0aWV2ZW5zdGVyCm1lbnV0cmFucyAmR2xvYmFsXCBTZXR0aW5ncwkJR2xvYmFsZVwgT3B0aWVzCm1lbnV0cmFucyBGJmlsZVwgU2V0dGluZ3MJCUJlc3RhbmRvcHRpZXMKbWVudXRyYW5zIEMmb2xvclwgU2NoZW1lCQlLbGV1cmVuc2NoZW1hCm1lbnV0cmFucyAmS2V5bWFwCQkJVG9ldHNlbmJvcmRpbmRlbGluZwoKIiBFZGl0Lkdsb2JhbCBTZXR0aW5ncwptZW51dHJhbnMgVG9nZ2xlXCBQYXR0ZXJuXCAmSGlnaGxpZ2h0PFRhYj46c2V0XCBobHMhCUZsaXBcIFBhdHJvb25rbGV1cmluZzxUYWI+OnNldFwgaGxzIQptZW51dHJhbnMgVG9nZ2xlXCAmSWdub3JlLWNhc2U8VGFiPjpzZXRcIGljIQlGbGlwXCBOZWdlcmVuXCBob29mZC9rbGVpbmVcIGxldHRlcnM8VGFiPjpzZXRcIGljIQptZW51dHJhbnMgVG9nZ2xlXCAmU2hvd21hdGNoPFRhYj46c2V0XCBzbSEJRmxpcFwgU2hvd21hdGNoPFRhYj46c2V0XCBzbSEKbWVudXRyYW5zICZDb250ZXh0XCBsaW5lcwkJQ29udGV4dHJlZ2VscwptZW51dHJhbnMgJlZpcnR1YWxcIEVkaXQJCVZpcnR1ZWVsXCBwb3NpdGlvbmVyZW4KbWVudXRyYW5zIE5ldmVyCQkJCU5vb2l0Cm1lbnV0cmFucyBCbG9ja1wgU2VsZWN0aW9uCQlCaWpcIEJsb2tzZWxlY3RpZQptZW51dHJhbnMgSW5zZXJ0XCBtb2RlCQkJSW5cIEludm9lZ21vZGUKbWVudXRyYW5zIEJsb2NrXCBhbmRcIEluc2VydAkJQmlqXCBCbG9rc2VsZWN0aWVcIGVuXCBJbnZvZWdtb2RlCm1lbnV0cmFucyBBbHdheXMJCQlBbHRpamQKbWVudXRyYW5zIFRvZ2dsZVwgSW5zZXJ0XCAmTW9kZTxUYWI+OnNldFwgaW0hCUZsaXBcIEludm9lZ21vZGU8VGFiPjpzZXRcIGltIQptZW51dHJhbnMgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwIQlGbGlwXCBWaVwgQ29tcGF0aWJpbGl0ZWl0PFRhYj46c2V0XCBjcCEKbWVudXRyYW5zIFNlYXJjaFwgJlBhdGhcLlwuXC4JCVpvZWtwYWRcLlwuXC4KbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQlUYWdcIEJlc3RhbmRlblwuXC5cLgptZW51dHJhbnMgVG9nZ2xlXCAmVG9vbGJhcgkJVG9vbi92ZXJiZXJnXCBLbm9wcGVuYmFsawptZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJVG9vbi92ZXJiZXJnXCBvbmRlcnN0ZVwgc2NodWlmYmFsawptZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCVRvb24vdmVyYmVyZ1wgbGlua2VyXCBzY2h1aWZiYWxrCm1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCVRvb24vdmVyYmVyZ1wgcmVjaHRlclwgc2NodWlmYmFsawptZW51dHJhbnMgTm9uZQkJCQlHZWVuCgoiIEVkaXQuRmlsZSBTZXR0aW5ncwptZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmTnVtYmVyaW5nPFRhYj46c2V0XCBudSEJRmxpcFwgcmVnZWxudW1tZXJzPFRhYj46c2V0XCBudSEKbWVudXRyYW5zIFRvZ2dsZVwgJkxpc3RcIE1vZGU8VGFiPjpzZXRcIGxpc3QhCQlGbGlwXCBsaXN0XCBtb2RlPFRhYj46c2V0XCBsaXN0IQptZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmV3JhcDxUYWI+OnNldFwgd3JhcCEJCUZsaXBcIHJlZ2VsYWZicmVrZW48VGFiPjpzZXRcIHdyYXAhCm1lbnV0cmFucyBUb2dnbGVcIFcmcmFwXCBhdFwgd29yZDxUYWI+OnNldFwgbGJyIQlGbGlwXCBhZmJyZWtlblwgb3BcIHdvb3JkZ3JlbnM8dGFiPjpzZXRcIGxiciEKbWVudXRyYW5zIFRvZ2dsZVwgJmV4cGFuZC10YWI8VGFiPjpzZXRcIGV0IQkJRmxpcFwgdGFiZXhwYW5zaWU8VGFiPjpzZXRcIGV0IQptZW51dHJhbnMgVG9nZ2xlXCAmYXV0by1pbmRlbnQ8VGFiPjpzZXRcIGFpIQkJRmxpcFwgYXV0b21hdGlzY2hcIGluZGVudGVyZW48VGFiPjpzZXRcIGFpIQptZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEJCUZsaXBcIEMtaW5kZW50ZXJlbjxUYWI+OnNldFwgY2luIQptZW51dHJhbnMgVGUmeHRcIFdpZHRoXC5cLlwuCQkJCVRla3N0YnJlZWR0ZVwuXC5cLgptZW51dHJhbnMgJkZpbGVcIEZvcm1hdFwuXC5cLgkJCQlCZXN0YW5kc2Zvcm1hYXRcLlwuXC4KCiIgVG9vbHMgbWVudQptZW51dHJhbnMgJlRvb2xzCQkJJkdlcmVlZHNjaGFwCm1lbnV0cmFucyAmSnVtcFwgdG9cIHRoaXNcIHRhZzxUYWI+Z15dCSZTcHJpbmdcIG5hYXJcIFRhZzxUYWI+Z15dCm1lbnV0cmFucyBKdW1wXCAmYmFjazxUYWI+XlQJCVNwcmluZ1wgJlRlcnVnPFRhYj5eVAptZW51dHJhbnMgQnVpbGRcICZUYWdzXCBGaWxlCQlHZW5lcmVlclwgJlRhZ3NiZXN0YW5kCm1lbnV0cmFucyAmTWFrZTxUYWI+Om1ha2UJCSZNYWtlXCB1aXR2b2VyZW48VGFiPjptYWtlCm1lbnV0cmFucyAmTGlzdFwgRXJyb3JzPFRhYj46Y2wJCSZGb3V0ZW5saWpzdDxUYWI+OmNsCm1lbnV0cmFucyBMJmlzdFwgTWVzc2FnZXM8VGFiPjpjbCEJJkJlcmljaHRlbmxpanN0PFRhYj46Y2whCm1lbnV0cmFucyAmTmV4dFwgRXJyb3I8VGFiPjpjbgkJVm9sZ2VuZGVcIEZvdXQ8VGFiPjpjbgptZW51dHJhbnMgJlByZXZpb3VzXCBFcnJvcjxUYWI+OmNwCVZvcmlnZVwgRm91dDxUYWI+OmNwCm1lbnV0cmFucyAmT2xkZXJcIExpc3Q8VGFiPjpjb2xkCSZPdWRlcmVcIExpanN0PFRhYj46Y29sZAptZW51dHJhbnMgTiZld2VyXCBMaXN0PFRhYj46Y25ldwkmTmlldXdlcmVcIExpanN0PFRhYj46Y25ldwptZW51dHJhbnMgRXJyb3JcICZXaW5kb3cJCUZvdXRlbnZlbnN0ZXIKbWVudXRyYW5zICZVcGRhdGU8VGFiPjpjd2luCQkmQWFucGFzc2VuPFRhYj46Y3dpbgptZW51dHJhbnMgJk9wZW48VGFiPjpjb3BlbgkJJk9wZW5lbjxUYWI+OmNvcGVuCm1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjY2xvc2UJCSZTbHVpdGVuPFRhYj46Y2Nsb3NlCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhFWDxUYWI+OiUheHhkCUNvbnZlcnRlZXJcIG5hYXJcIEhFWDxUYWI+OiUheHhkCm1lbnV0cmFucyBDb252ZSZydFwgYmFjazxUYWI+OiUheHhkXCAtcglDb252ZXJ0ZWVyXCB0ZXJ1ZzxUYWI+OiUheHhkXCAtcgptZW51dHJhbnMgJlNldFwgQ29tcGlsZXIJCUtpZXNcIENvbXBpbGVyCgoiIFRvb2xzLkZvbGRpbmcKbWVudXRyYW5zICZFbmFibGUvRGlzYWJsZVwgZm9sZHM8VGFiPnppCUZsaXBcIHRvbmVuXCBmb2xkczxUYWI+emkKbWVudXRyYW5zICZWaWV3XCBDdXJzb3JcIExpbmU8VGFiPnp2CVRvb25cIGN1cnNvcnJlZ2VsPFRhYj56dgptZW51dHJhbnMgVmllJndcIEN1cnNvclwgTGluZVwgb25seTxUYWI+ek16eAlUb29uXCBhbGxlZW5cIGN1cnNvcnJlZ2VsPFRhYj56TXp4Cm1lbnV0cmFucyBDJmxvc2VcIG1vcmVcIGZvbGRzPFRhYj56bQlTbHVpdFwgbWVlclwgZm9sZHM8VGFiPnptCm1lbnV0cmFucyAmQ2xvc2VcIGFsbFwgZm9sZHM8VGFiPnpNCVNsdWl0XCBhbGxlXCBmb2xkczxUYWI+ek0KbWVudXRyYW5zIE8mcGVuXCBtb3JlXCBmb2xkczxUYWI+enIJT3BlblwgbWVlclwgZm9sZHM8VGFiPnpyCm1lbnV0cmFucyAmT3BlblwgYWxsXCBmb2xkczxUYWI+elIJT3BlblwgYWxsZVwgZm9sZHM8VGFiPnpSCm1lbnV0cmFucyBGb2xkXCBNZXQmaG9kCQkJRm9sZHdpanplCm1lbnV0cmFucyBNJmFudWFsCQkJSGFuZG1hdGlnCm1lbnV0cmFucyBJJm5kZW50CQkJSW5zcHJpbmdpbmcKbWVudXRyYW5zIEUmeHByZXNzaW9uCQkJRXhwcmVzc2llCm1lbnV0cmFucyBTJnludGF4CQkJU3ludGF4Cm1lbnV0cmFucyAmRGlmZgkJCQlWZXJzY2hpbGxlbgptZW51dHJhbnMgTWEmcmtlcgkJCU1hcmtlcmluZ2VuCm1lbnV0cmFucyBDcmVhdGVcICZGb2xkPFRhYj56ZgkJbWFha1wgRm9sZDxUYWI+emYKbWVudXRyYW5zICZEZWxldGVcIEZvbGQ8VGFiPnpkCQl2ZXJ3aWpkZXJcIEZvbGQ8VGFiPnpkCm1lbnV0cmFucyBEZWxldGVcICZBbGxcIEZvbGRzPFRhYj56RAl2ZXJ3aWpkZXJcIGFsbGVcIEZvbGRzPFRhYj56RAptZW51dHJhbnMgRm9sZFwgY29sdW1uXCAmd2lkdGgJCUZvbGRcIGtvbG9tXCBicmVlZHRlCgoiIFRvb2xzLkRpZmYKbWVudXRyYW5zICZVcGRhdGUJCVZlcnZlcnNlbgptZW51dHJhbnMgJkdldFwgQmxvY2sJCUJsb2tcIG9waGFsZW5cIHZhblwgYW5kZXJcIHZlbnN0ZXIKbWVudXRyYW5zICZQdXRcIEJsb2NrCQlCbG9rXCBuYWFyXCBhbmRlclwgdmVuc3RlcgoKIiBOYW1lcyBmb3IgYnVmZmVyIG1lbnUuCm1lbnV0cmFucyAmQnVmZmVycwkJJkJ1ZmZlcgptZW51dHJhbnMgJlJlZnJlc2hcIG1lbnUJVmVydmVyc1wgbWVudQptZW51dHJhbnMgJkRlbGV0ZQkJV2lzc2VuCm1lbnV0cmFucyAmQWx0ZXJuYXRlCQlWb3JpZ2UKbWVudXRyYW5zICZOZXh0CQkJVm9vcnVpdAptZW51dHJhbnMgJlByZXZpb3VzCQlBY2h0ZXJ1aXQKCiIgV2luZG93IG1lbnUKbWVudXRyYW5zICZXaW5kb3cJCQkmVmVuc3RlcgptZW51dHJhbnMgJk5ldzxUYWI+XlduCQkJJk5pZXV3PFRhYj5eV24KbWVudXRyYW5zIFMmcGxpdDxUYWI+XldzCQlTcGxpdHNlbjxUYWI+XldzCm1lbnV0cmFucyBTcCZsaXRcIFRvXCAjPFRhYj5eV15eCVNwbGl0c1wgbmFhclwgIzxUYWI+XldeXgptZW51dHJhbnMgU3BsaXRcICZWZXJ0aWNhbGx5PFRhYj5eV3YJU3BsaXRzXCAmVmVydGlrYWFsPFRhYj5eV3YKbWVudXRyYW5zIFNwbGl0XCBGaWxlXCBFJnhwbG9yZXIJU3BsaXRzXCBCZXN0YW5kdmVya2VubmVyCm1lbnV0cmFucyAmQ2xvc2U8VGFiPl5XYwkJJlNsdWl0ZW48VGFiPl5XYwptZW51dHJhbnMgQ2xvc2VcICZPdGhlcihzKTxUYWI+XldvCSZTbHVpdFwgYWxsZVwgYW5kZXJlPFRhYj5eV28KbWVudXRyYW5zIE5lJnh0PFRhYj5eV3cJCQlWb2xnZW5kZTxUYWI+Xld3Cm1lbnV0cmFucyBQJnJldmlvdXM8VGFiPl5XVwkJJlZvcmlnZTxUYWI+XldXCm1lbnV0cmFucyAmRXF1YWxcIFNpemU8VGFiPl5XPQkJJkdlbGlqa2VcIGFmbWV0aW5nZW48VGFiPl5XPQptZW51dHJhbnMgJk1heFwgSGVpZ2h0PFRhYj5eV18JCSZNYXhpbWFsZVwgaG9vZ3RlPFRhYj5eV18KbWVudXRyYW5zIE0maW5cIEhlaWdodDxUYWI+XlcxXwkJTWkmbmltYWxlXCBob29ndGU8VGFiPl5XMV8KbWVudXRyYW5zIE1heFwgJldpZHRoPFRhYj5eV1x8CQlNYXhpbWFsZVwgYnJlZWR0ZTxUYWI+XldcfAptZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQlNaW5pbWFsZVwgYnJlZWR0ZTxUYWI+XlcxXHwKbWVudXRyYW5zIE1vdmVcICZUbwkJCVZlcnBsYWF0c1wgbmFhcgptZW51dHJhbnMgJlRvcDxUYWI+XldLCQkJQm92ZW5rYW50PFRhYj5eV0sKbWVudXRyYW5zICZCb3R0b208VGFiPl5XSgkJT25kZXJrYW50PFRhYj5eV0oKbWVudXRyYW5zICZMZWZ0XCBzaWRlPFRhYj5eV0gJCUxpbmtlcmthbnQ8VGFiPl5XSAptZW51dHJhbnMgJlJpZ2h0XCBzaWRlPFRhYj5eV0wJCVJlY2h0ZXJrYW50PFRhYj5eV0wKbWVudXRyYW5zIFJvdGF0ZVwgJlVwPFRhYj5eV1IJCVJvdGVyZW5cIG5hYXJcICZib3ZlbjxUYWI+XldSCm1lbnV0cmFucyBSb3RhdGVcICZEb3duPFRhYj5eV3IJCVJvdGVyZW5cIG5hYXJcICZvbmRlcjxUYWI+XldyCm1lbnV0cmFucyBTZWxlY3RcIEZvJm50XC5cLlwuCQlTZWxlY3RlZXJcIGZvbnRcLlwuXC4KCiIgVGhlIHBvcHVwIG1lbnUKbWVudXRyYW5zICZVbmRvCQkJJlRlcnVnCm1lbnV0cmFucyBDdSZ0CQkJS25pcAptZW51dHJhbnMgJkNvcHkJCQkmS29waetlcgptZW51dHJhbnMgJlBhc3RlCQkmUGxhawptZW51dHJhbnMgJkRlbGV0ZQkJJldpc3NlbgptZW51dHJhbnMgU2VsZWN0XCBCbG9ja3dpc2UJU2VsZWN0ZWVyXCBwZXJcIFJlY2h0aG9lawptZW51dHJhbnMgU2VsZWN0XCAmV29yZAkJU2VsZWN0ZWVyXCBlZW5cICZXb29yZAptZW51dHJhbnMgU2VsZWN0XCAmTGluZQkJU2VsZWN0ZWVyXCBlZW5cICZSZWdlbAptZW51dHJhbnMgU2VsZWN0XCAmQmxvY2sJU2VsZWN0ZWVyXCBlZW5cIFJlY2h0JmhvZWsKbWVudXRyYW5zIFNlbGVjdFwgJkFsbAkJU2VsZWN0ZWVyXCAmQWxsZXMKCiIgVGhlIEdVSSB0b29sYmFyIChmb3IgV2luMzIgb3IgR1RLKQppZiBoYXMoInRvb2xiYXIiKQogIGlmIGV4aXN0cygiKkRvX3Rvb2xiYXJfdG1lbnUiKQogICAgZGVsZnVuIERvX3Rvb2xiYXJfdG1lbnUKICBlbmRpZgogIGZ1biBEb190b29sYmFyX3RtZW51KCkKICAgIHRtZW51IFRvb2xCYXIuT3BlbgkJQmVzdGFuZCBvcGVuZW4KICAgIHRtZW51IFRvb2xCYXIuU2F2ZQkJQmVzdGFuZCBvcHNsYWFuCiAgICB0bWVudSBUb29sQmFyLlNhdmVBbGwJQWxsZSBiZXN0YW5kZW4gb3BzbGFhbgogICAgdG1lbnUgVG9vbEJhci5QcmludAkJYWZkcnVra2VuCiAgICB0bWVudSBUb29sQmFyLlVuZG8JCXRlcnVnCiAgICB0bWVudSBUb29sQmFyLlJlZG8JCXZvb3J1aXQKICAgIHRtZW51IFRvb2xCYXIuQ3V0CQlrbmlwcGVuCiAgICB0bWVudSBUb29sQmFyLkNvcHkJCUtvcGnrcmVuCiAgICB0bWVudSBUb29sQmFyLlBhc3RlCQlQbGFra2VuCiAgICB0bWVudSBUb29sQmFyLkZpbmQJCVpvZWtlbi4uLgogICAgdG1lbnUgVG9vbEJhci5GaW5kTmV4dAlab2VrIHZvbGdlbmRlCiAgICB0bWVudSBUb29sQmFyLkZpbmRQcmV2CVpvZWsgdm9yaWdlCiAgICB0bWVudSBUb29sQmFyLlJlcGxhY2UJWm9layBlbiB2ZXJ2YW5nLi4uCiAgICB0bWVudSBUb29sQmFyLkxvYWRTZXNuCVNlc3NpZSBMYWRlbgogICAgdG1lbnUgVG9vbEJhci5TYXZlU2VzbglTZXNzaWUgb3BzbGFhbgogICAgdG1lbnUgVG9vbEJhci5SdW5TY3JpcHQJVmltIHNjcmlwdCB1aXR2b2VyZW4KICAgIHRtZW51IFRvb2xCYXIuTWFrZQkJTWFrZSB1aXR2b2VyZW4KICAgIHRtZW51IFRvb2xCYXIuU2hlbGwJCVNoZWxsIHN0YXJ0ZW4KICAgIHRtZW51IFRvb2xCYXIuUnVuQ3RhZ3MJVGFncyBiZXN0YW5kIGdlbmVyZXJlbgogICAgdG1lbnUgVG9vbEJhci5UYWdKdW1wCVNwcmluZyBuYWFyIHRhZwogICAgdG1lbnUgVG9vbEJhci5IZWxwCQlIZWxwIQogICAgdG1lbnUgVG9vbEJhci5GaW5kSGVscAlIZWxwIHZpbmRlbi4uLgogIGVuZGZ1bgplbmRpZgoKIiBTeW50YXggbWVudQptZW51dHJhbnMgJlN5bnRheAkJJlN5bnRheAptZW51dHJhbnMgJlNob3dcIGZpbGV0eXBlc1wgaW5cIG1lbnUgIFRvb25cIGZpbGV0eXBlc1wgaW5cIG1lbnUKbWVudXRyYW5zIFNldFwgJyZzeW50YXgnXCBvbmx5CUFsbGVlblwgJ3N5bnRheCdcIHdpanppZ2VuCm1lbnV0cmFucyBTZXRcICcmZmlsZXR5cGUnXCB0b28JT29rXCAnZmlsZXR5cGUnXCB3aWp6aWdlbgptZW51dHJhbnMgJk9mZgkJCSZVaXQKbWVudXRyYW5zICZNYW51YWwJCSZIYW5kbWF0aWcKbWVudXRyYW5zIEEmdXRvbWF0aWMJCUEmdXRvbWF0aXNjaAptZW51dHJhbnMgb24vb2ZmXCBmb3JcICZUaGlzXCBmaWxlCUFhbi9VaXRcIHZvb3JcIGRpdFwgQmVzdGFuZAptZW51dHJhbnMgQ28mbG9yXCB0ZXN0CQlUZXN0XCBkZVwgJktsZXVyZW4KbWVudXRyYW5zICZIaWdobGlnaHRcIHRlc3QJVGVzdFwgZGVcIE1hcmtlcmluZ2VuCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhUTUwJQ29udmVydGVyZW5cIG5hYXJcICZIVE1MCm1lbnV0cmFucyAmU2hvd1wgaW5kaXZpZHVhbFwgY2hvaWNlcwlUb29uXCBlbGtlXCBrZXV6ZQoKIiBkaWFsb2cgdGV4dHMKbGV0IG1lbnV0cmFuc19ub19maWxlID0gIltHZWVuIEJlc3RhbmRdIgpsZXQgbWVudXRyYW5zX2hlbHBfZGlhbG9nID0gIlR5cCBlZW4gY29tbWFuZG8gb2Ygd29vcmQgb20gaGVscCB2b29yIHRlIHZpbmRlbjpcblxuVm9lZyBpXyBpbiB2b29yIElucHV0IG1vZGUgY29tbWFuZG9zIChiaWp2LiBpX0NUUkwtWClcblZvZWcgY18gaW4gdm9vciBlZW4gY29tbWFuZG8tcmVnZWwgZWRpdCBjb21tYW5kbyAoYmlqdi4gY188RGVsPilcblZvZWcgJyBpbiBcdm9vciBlZW4gb3B0aWUgbmFhbSAoYmlqdi4gJ3NoaWZ0d2lkdGgnKSIKbGV0IGc6bWVudXRyYW5zX3BhdGhfZGlhbG9nID0gIlR5cCBoZXQgem9la3BhZCB2b29yIGJlc3RhbmRlbi5cbkdlYnJ1aWsgY29tbWFzIHR1c3NlbiBkZSBwYWRuYW1lbi4iCmxldCBnOm1lbnV0cmFuc190YWdzX2RpYWxvZyA9ICJUeXAgbmFtZW4gdmFuIHRhZyBiZXN0YW5kZW4uXG5HZWJydWlrIGNvbW1hcyB0dXNzZW4gZGUgbmFtZW4uIgpsZXQgZzptZW51dHJhbnNfdGV4dHdpZHRoX2RpYWxvZyA9ICJUeXAgZGUgbmlldXdlIHRla3N0IGJyZWVkdGUgKDAgb20gZm9ybWF0dGVyZW4gdWl0IHRoZSBzY2hha2VsZW4pOiAiCmxldCBnOm1lbnV0cmFuc19maWxlZm9ybWF0X2RpYWxvZyA9ICJTZWxlY3RlZXIgZm9ybWFhdCB2b29yIGhldCBzY2hyaWp2ZW4gdmFuIGhldCBiZXN0YW5kIgo=