IiBNZW51IFRyYW5zbGF0aW9uczoJTm9yd2VnaWFuIC8gTm9yc2sgKEJva23lbCkKIiBNYWludGFpbmVyOgkJ2Hl2aW5kIEEuIEhvbG0gPHN1bm55QHN1bmJhc2Uub3JnPgoiIExhc3QgQ2hhbmdlOgkJMjAwNC0wNS0xNiAyMDowMDo1MiArMDIwMAoiIG1lbnVfbm9fbm8ubGF0aW4xLnZpbSAyODkgMjAwNC0wNS0xNiAxODowMDo1Mlogc3VubnkKCiIgUXVpdCB3aGVuIG1lbnUgdHJhbnNsYXRpb25zIGhhdmUgYWxyZWFkeSBiZWVuIGRvbmUuCmlmIGV4aXN0cygiZGlkX21lbnVfdHJhbnMiKQoJZmluaXNoCmVuZGlmCmxldCBkaWRfbWVudV90cmFucyA9IDEKCiIgVGhlIHRyYW5zbGF0aW9ucyBiZWxvdyBhcmUgaW4gSVNPLTg4NTktMSwgYnV0IHRoZXkgd29yayBmb3IgSVNPLTg4NTktMTUgYW5kCiIgQ1AxMjUyIHdpdGhvdXQgY29udmVyc2lvbiBhcyB3ZWxsLgppZiAmZW5jICE9ICJjcDEyNTIiICYmICZlbmMgIT0gImlzby04ODU5LTE1IgoJc2NyaXB0ZW5jb2RpbmcgbGF0aW4xCmVuZGlmCgptZW51dHJhbnMgJkZpbGUJCSZGaWwKCW1lbnV0cmFucyAmT3BlblwuXC5cLjxUYWI+OmUJCSbFcG5loFwuXC5cLjxUYWI+OmUKCW1lbnV0cmFucyBTcCZsaXQtT3BlblwuXC5cLjxUYWI+OnNwCcVwbmVcIGlcIG55dHRcICZ2aW5kdaBcLlwuXC48VGFiPjpzcAoJbWVudXRyYW5zICZOZXc8VGFiPjplbmV3CQkmTnlcIGZpbDxUYWI+OmVuZXcKCW1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjbG9zZQkJTCZ1a2s8VGFiPjpjbG9zZQoJbWVudXRyYW5zICZTYXZlPFRhYj46dwkJCSZMYWdyZTxUYWI+OncKCW1lbnV0cmFucyBTYXZlXCAmQXNcLlwuXC48VGFiPjpzYXYJTGFncmVcIHMmb22gXC5cLlwuPFRhYj46c2F2CglpZiBoYXMoImRpZmYiKQoJbWVudXRyYW5zIFNwbGl0XCAmRGlmZlwgd2l0aFwuXC5cLglTYSZtbWVubGlnblwgbWVkXCBueVwgZmlsoFwuXC5cLgoJbWVudXRyYW5zIFNwbGl0XCBQYXRjaGVkXCAmQnlcLlwuXC4JJlBhdGNoXCBpXCBueXR0XCB2aW5kdaBcLlwuXC4KCWVuZGlmCgltZW51dHJhbnMgJlByaW50CQkJJlNrcml2XCB1dAoJbWVudXRyYW5zIFNhJnZlLUV4aXQ8VGFiPjp3cWEJCUxhZ3JlXCBvJmdcIGF2c2x1dHQ8VGFiPjp3cWEKCW1lbnV0cmFucyBFJnhpdDxUYWI+OnFhCQkJJkF2c2x1dHQ8VGFiPjpxYQptZW51dHJhbnMgJkVkaXQJCSZSZWRpZ2VyCgltZW51dHJhbnMgJlVuZG88VGFiPnUJCQkJCQkmQW5ncmU8VGFiPnUKCW1lbnV0cmFucyAmUmVkbzxUYWI+XlIJCQkJCQkmR2plbm9wcHJldHQ8VGFiPl5SCgltZW51dHJhbnMgUmVwJmVhdDxUYWI+XC4JCQkJCSZSZXBldGVyPFRhYj5cLgoJbWVudXRyYW5zIEN1JnQ8VGFiPiIreAkJCQkJCSZLbGlwcFwgdXQ8VGFiPiIreAoJbWVudXRyYW5zICZDb3B5PFRhYj4iK3kJCQkJCQlLJm9waWVyPFRhYj4iK3kKCW1lbnV0cmFucyAmUGFzdGU8VGFiPiIrZ1AJCQkJCSZMaW1cIGlubjxUYWI+IitnUAoJbWVudXRyYW5zIFB1dFwgJkJlZm9yZTxUYWI+W3AJCQkJCUxpbVwgaSZublwgZvhyXCBtYXJr+HI8VGFiPltwCgltZW51dHJhbnMgUHV0XCAmQWZ0ZXI8VGFiPl1wCQkJCQlMaW1cIGlublwgJmV0dGVyXCBtYXJr+HI8VGFiPl1wCgltZW51dHJhbnMgJlNlbGVjdFwgQWxsPFRhYj5nZ1ZHCQkJCQkmTWVya1wgYWx0PFRhYj5nZ1ZHCgltZW51dHJhbnMgJkZpbmRcLlwuXC4JCQkJCQkmU/hroFwuXC5cLgoJbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4JCQkJUyb4a1wgb2dcIGVyc3RhdHSgXC5cLlwuCgltZW51dHJhbnMgU2V0dGluZ3NcICZXaW5kb3cJCQkJCSZJbm5zdGlsbGluZ2VyCgltZW51dHJhbnMgJkdsb2JhbFwgU2V0dGluZ3MJCQkJCUdsbyZiYWxlXCBpbm5zdGlsbGluZ2VyCgkJbWVudXRyYW5zIFRvZ2dsZVwgUGF0dGVyblwgJkhpZ2hsaWdodDxUYWI+OnNldFwgaGxzIQkJJlV0aGV2aW5nXCBhdlwgc/hrZXRla3N0XCBhdi9w5TxUYWI+OnNldFwgaGxzIQoJCW1lbnV0cmFucyBUb2dnbGVcICZJZ25vcmUtY2FzZTxUYWI+OnNldFwgaWMhCQkJJkZvcnNramVsbFwgbWVsbG9tXCBzdG9yZS9zbeUgYm9rc3RhdmVyXCBhdi9w5TxUYWI+OnNldFwgaWMhCgkJbWVudXRyYW5zIFRvZ2dsZVwgJlNob3dtYXRjaDxUYWI+OnNldFwgc20hCQkJJkluZGlrZXJpbmdcIGF2XCBzYW1zdmFyZW5kZVwgcGFyZW50ZXNcIGF2L3DlPFRhYj46c2V0XCBzbSEKCQltZW51dHJhbnMgJkNvbnRleHRcIGxpbmVzCQkJCQkmS29udGVrc3RsaW5qZXIKCQltZW51dHJhbnMgJlZpcnR1YWxcIEVkaXQJCQkJCVZpJnJ0dWVsbFwgcmVkaWdlcmluZwoJCQltZW51dHJhbnMgTmV2ZXIJCQkJCQkJJkFsZHJpCgkJCW1lbnV0cmFucyBCbG9ja1wgU2VsZWN0aW9uCQkJCQlJXCAmYmxva2ttb2R1cwoJCQltZW51dHJhbnMgSW5zZXJ0XCBtb2RlCQkJCQkJSVwgJklubnNldHRpbmdzbW9kdXMKCQkJbWVudXRyYW5zIEJsb2NrXCBhbmRcIEluc2VydAkJCQkJSVwgQmxva2stXCAmb2dcIGlubnNldHRpbmdzbW9kdXMKCQkJbWVudXRyYW5zIEFsd2F5cwkJCQkJCUEmbGx0aWQKCQltZW51dHJhbnMgVG9nZ2xlXCBJbnNlcnRcICZNb2RlPFRhYj46c2V0XCBpbSEJCQlJbm5zZXR0aW5ncyZtb2R1c1wgYXYvcOU8VGFiPjpzZXRcIGltIQoJCW1lbnV0cmFucyBUb2dnbGVcIFZpXCBDJm9tcGF0aWJsZTxUYWI+OnNldFwgY3AhCQkJJlZpLWtvbXBhdGlibGl0ZXRcIGF2L3DlPFRhYj46c2V0XCBjcCEKCQltZW51dHJhbnMgU2VhcmNoXCAmUGF0aFwuXC5cLgkJCQkJJlP4a2VzdGmgXC5cLlwuCgkJbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQkJCQlUYSZnZmlsZXKgXC5cLlwuCgkJbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCQkJCVZlcmt0Jvh5bGluamUKCQltZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJCQkJTmUmZHJlXCBydWxsZWZlbHRcIGF2L3DlCgkJbWVudXRyYW5zIFRvZ2dsZVwgJkxlZnRcIFNjcm9sbGJhcgkJCQlWZSZuc3RyZVwgcnVsbGVmZWx0XCBhdi9w5QoJCW1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCQkJCSZI+HlyZVwgcnVsbGVmZWx0XCBhdi9w5QoJbWVudXRyYW5zIEYmaWxlXCBTZXR0aW5ncwkJCQkJRmlsbyZwcHNldHQKCQltZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmTnVtYmVyaW5nPFRhYj46c2V0XCBudSEJCSZMaW5qZW51bW1lclwgYXYvcOU8VGFiPjpzZXRcIG51IQoJCW1lbnV0cmFucyBUb2dnbGVcICZMaXN0XCBNb2RlPFRhYj46c2V0XCBsaXN0IQkJCUwmaXN0ZW1vZHVzXCBhdi9w5TxUYWI+OnNldFwgbGlzdCEKCQltZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmV3JhcDxUYWI+OnNldFwgd3JhcCEJCQlMaSZuamVicnl0aW5nXCBhdi9w5TxUYWI+OnNldFwgd3JhcCEKCQltZW51dHJhbnMgVG9nZ2xlXCBXJnJhcFwgYXRcIHdvcmQ8VGFiPjpzZXRcIGxiciEJCUxpbmplYnJ5dGluZ1wgdmVkXCAmb3JkXCBhdi9w5TxUYWI+OnNldFwgbGJyIQoJCW1lbnV0cmFucyBUb2dnbGVcICZleHBhbmQtdGFiPFRhYj46c2V0XCBldCEJCQlVdHZpZGVsc2VcIGF2XCAmdGFidWxhdG9yZXJcIGF2L3DlPFRhYj46c2V0XCBldCEKCQltZW51dHJhbnMgVG9nZ2xlXCAmYXV0by1pbmRlbnQ8VGFiPjpzZXRcIGFpIQkJCUEmdXRvbWF0aXNrXCBpbm5yeWtrXCBhdi9w5TxUYWI+OnNldFwgYWkhCgkJbWVudXRyYW5zIFRvZ2dsZVwgJkMtaW5kZW50aW5nPFRhYj46c2V0XCBjaW4hCQkJJkMtaW5ucnlra1wgYXYvcOU8VGFiPjpzZXRcIGNpbiEKCQltZW51dHJhbnMgJlNoaWZ0d2lkdGgJCQkJCQkmU3T4cnJlbHNlXCBw5VwgaW5ucnlrawoJCW1lbnV0cmFucyBTb2Z0XCAmVGFic3RvcAkJCQkJJk15a2VcIHRhYnVsYXRvcnN0b3BwCgkJbWVudXRyYW5zIFRlJnh0XCBXaWR0aFwuXC5cLgkJCQkJVGUma3N0YnJlZGRloFwuXC5cLgoJCW1lbnV0cmFucyAmRmlsZVwgRm9ybWF0XC5cLlwuCQkJCQkmRmlsZm9ybWF0oFwuXC5cLgoJbWVudXRyYW5zIEMmb2xvclwgU2NoZW1lCQkJCQkmRmFyZ2VrYXJ0CgltZW51dHJhbnMgJktleW1hcAkJCQkJCSZUYXN0YXR1cm9wcHNldHQKCW1lbnV0cmFucyBTZWxlY3RcIEZvJm50XC5cLlwuCQkJCQlTa3JpZnR0JnlwZaBcLlwuXC4KbWVudXRyYW5zICZUb29scwkmVmVya3T4eQoJbWVudXRyYW5zICZKdW1wXCB0b1wgdGhpc1wgdGFnPFRhYj5nXl0JCQkmSG9wcFwgdGlsXCB0YWdcIHVuZGVyXCBtYXJr+HI8VGFiPmdeXQoJbWVudXRyYW5zIEp1bXBcICZiYWNrPFRhYj5eVAkJCQlIb3BwXCAmdGlsYmFrZTxUYWI+XlQKCW1lbnV0cmFucyBCdWlsZFwgJlRhZ3NcIEZpbGUJCQkJTGFnXCB0YSZnZmlsCglpZiBoYXMoImZvbGRpbmciKQoJbWVudXRyYW5zICZGb2xkaW5nCQkJCQlGb2wmZGVyCgkJbWVudXRyYW5zICZFbmFibGUvRGlzYWJsZVwgZm9sZHM8VGFiPnppCQkJJkZvbGRlclwgYXYvcOU8VGFiPnppCgkJbWVudXRyYW5zICZWaWV3XCBDdXJzb3JcIExpbmU8VGFiPnp2CQkJU2VcICZtYXJr+HJsaW5qZTxUYWI+enYKCQltZW51dHJhbnMgVmllJndcIEN1cnNvclwgTGluZVwgb25seTxUYWI+ek16eAkJU2VcICZiYXJlXCBtYXJr+HJsaW5qZW48VGFiPnpNengKCQltZW51dHJhbnMgQyZsb3NlXCBtb3JlXCBmb2xkczxUYWI+em0JCQlMJnVra1wgZmxlcmVcIGZvbGRlcjxUYWI+em0KCQltZW51dHJhbnMgJkNsb3NlXCBhbGxcIGZvbGRzPFRhYj56TQkJCUx1a2tcICZhbGxlXCBmb2xkZXI8VGFiPnpNCgkJbWVudXRyYW5zIE8mcGVuXCBtb3JlXCBmb2xkczxUYWI+enIJCQkmxXBuZVwgZmxlcmVcIGZvbGRlcjxUYWI+enIKCQltZW51dHJhbnMgJk9wZW5cIGFsbFwgZm9sZHM8VGFiPnpSCQkJxSZwbmVcIGFsbGVcIGZvbGRlcjxUYWI+elIKCQltZW51dHJhbnMgRm9sZFwgTWV0JmhvZAkJCQkJRm9sZG1lJnRvZGUKCQkJbWVudXRyYW5zIE0mYW51YWwJCQkJCSZNYW51ZWxsCgkJCW1lbnV0cmFucyBJJm5kZW50CQkJCQkmSW5ucnlrawoJCQltZW51dHJhbnMgRSZ4cHJlc3Npb24JCQkJCSZVdHRyeWtrCgkJCW1lbnV0cmFucyBTJnludGF4CQkJCQkmU3ludGFrcwoJCQltZW51dHJhbnMgJkRpZmYJCQkJCQkmRm9yc2tqZWxsZXIKCQkJbWVudXRyYW5zIE1hJnJrZXIJCQkJCU0mYXJrZXJpbmcKCQltZW51dHJhbnMgQ3JlYXRlXCAmRm9sZDxUYWI+emYJCQkJTGEmZ1wgZm9sZDxUYWI+emYKCQltZW51dHJhbnMgJkRlbGV0ZVwgRm9sZDxUYWI+emQJCQkJJlNsZXR0XCBmb2xkPFRhYj56ZAoJCW1lbnV0cmFucyBEZWxldGVcICZBbGxcIEZvbGRzPFRhYj56RAkJCVNsJmV0dFwgYWxsZVwgZm9sZGVyPFRhYj56RAoJCW1lbnV0cmFucyBGb2xkXCBjb2wmdW1uXCB3aWR0aAkJCQlCcmVkZGVcIHDlXCBmb2xkJmtvbG9ubmUKCWVuZGlmCglpZiBoYXMoImRpZmYiKQoJbWVudXRyYW5zICZEaWZmCQkJCQkJJkZvcnNramVsbGVyCgkJbWVudXRyYW5zICZVcGRhdGUJCQkJCSZPcHBkYXRlcgoJCW1lbnV0cmFucyAmR2V0XCBCbG9jawkJCQkJJkhlbnRcIGJsb2trCgkJbWVudXRyYW5zICZQdXRcIEJsb2NrCQkJCQkmUHV0dFwgYmxva2sKCWVuZGlmCgltZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQkJCSZLavhyXCAibWFrZSI8VGFiPjptYWtlCgltZW51dHJhbnMgJkxpc3RcIEVycm9yczxUYWI+OmNsCQkJCSZMaXN0XCBmZWlsPFRhYj46Y2wKCW1lbnV0cmFucyBMJmlzdFwgTWVzc2FnZXM8VGFiPjpjbCEJCQlMaXN0XCAmbWVsZGluZ2VyPFRhYj46Y2whCgltZW51dHJhbnMgJk5leHRcIEVycm9yPFRhYj46Y24JCQkJJk5lc3RlXCBmZWlsPFRhYj46Y24KCW1lbnV0cmFucyAmUHJldmlvdXNcIEVycm9yPFRhYj46Y3AJCQlGbyZycmlnZVwgZmVpbDxUYWI+OmNwCgltZW51dHJhbnMgJk9sZGVyXCBMaXN0PFRhYj46Y29sZAkJCSZFbGRyZVwgbGlzdGU8VGFiPjpjb2xkCgltZW51dHJhbnMgTiZld2VyXCBMaXN0PFRhYj46Y25ldwkJCU4meWVyZVwgbGlzdGU8VGFiPjpjbmV3CgltZW51dHJhbnMgRXJyb3JcICZXaW5kb3cJCQkJRmUmaWx2aW5kdQoJCW1lbnV0cmFucyAmVXBkYXRlPFRhYj46Y3dpbgkJCQkmT3BwZGF0ZXI8VGFiPjpjd2luCgkJbWVudXRyYW5zICZPcGVuPFRhYj46Y29wZW4JCQkJJsVwbmU8VGFiPjpjb3BlbgoJCW1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjY2xvc2UJCQkJJkx1a2s8VGFiPjpjY2xvc2UKCW1lbnV0cmFucyAmU2V0XCBDb21waWxlcgkJCQkmVmVsZ1wga29tcGlsYXRvcgoJbWVudXRyYW5zICZDb252ZXJ0XCB0b1wgSEVYPFRhYj46JSF4eGQJCQlLb252ZXJ0ZXJcIHRpbFwgaGVrJnNhZGVzaW1hbDxUYWI+OiUheHhkCgltZW51dHJhbnMgQ29udmUmcnRcIGJhY2s8VGFiPjolIXh4ZFwgLXIJCQlLJm9udmVydGVyXCB0aWxiYWtlPFRhYj46JSF4eGRcIC1yCm1lbnV0cmFucyAmU3ludGF4CSZTeW50YWtzCgltZW51dHJhbnMgJlNob3dcIGZpbGV0eXBlc1wgaW5cIG1lbnUJJlZpc1wgZmlsdHlwZXJcIGlcIG1lbnllbgoJbWVudXRyYW5zIFNldFwgJyZzeW50YXgnXCBvbmx5CQlTZXR0XCBiYXJlXCAnJnN5bnRheCcKCW1lbnV0cmFucyBTZXRcICcmZmlsZXR5cGUnXCB0b28JCVNldHRcICcmZmlsZXR5cGUnXCBvZ3PlCgltZW51dHJhbnMgJk9mZgkJCQkmQXYKCW1lbnV0cmFucyAmTWFudWFsCQkJJk1hbnVlbGwKCW1lbnV0cmFucyBBJnV0b21hdGljCQkJQSZ1dG9tYXRpc2sKCW1lbnV0cmFucyBvbi9vZmZcIGZvclwgJlRoaXNcIGZpbGUJQXYvcOVcIGZvclwgJmRlbm5lXCBmaWxlbgoJbWVudXRyYW5zIENvJmxvclwgdGVzdAkJCUZhciZnZXRlc3QKCW1lbnV0cmFucyAmSGlnaGxpZ2h0XCB0ZXN0CQlVdGhldmluZ3MmdGVzdAoJbWVudXRyYW5zICZDb252ZXJ0XCB0b1wgSFRNTAkJS29udmVydGVyXCB0aWxcICZIVE1MCm1lbnV0cmFucyAmQnVmZmVycwkmQnVmZmVyCgltZW51dHJhbnMgJlJlZnJlc2hcIG1lbnUJJk9wcGRhdGVyCgltZW51dHJhbnMgRGVsZXRlCQkmU2xldHQKCW1lbnV0cmFucyAmQWx0ZXJuYXRlCQkmVmVrc2xlCgltZW51dHJhbnMgJk5leHQJCQkmTmVzdGUKCW1lbnV0cmFucyAmUHJldmlvdXMJCSZGb3JyaWdlCgltZW51dHJhbnMgW05vXCBGaWxlXQkJW1V0ZW5cIG5hdm5dCm1lbnV0cmFucyAmV2luZG93CVZpJm5kdQoJbWVudXRyYW5zICZOZXc8VGFiPl5XbgkJCSZOeXR0PFRhYj5eV24KCW1lbnV0cmFucyBTJnBsaXQ8VGFiPl5XcwkJJlNwbGl0dDxUYWI+XldzCgltZW51dHJhbnMgU3AmbGl0XCBUb1wgIzxUYWI+XldeXglTcGxpdHRcICZ0aWxcICM8VGFiPl5XXl4KCW1lbnV0cmFucyBTcGxpdFwgJlZlcnRpY2FsbHk8VGFiPl5XdglTJnBsaXR0XCBsb2RkcmV0dDxUYWI+XldzCgltZW51dHJhbnMgU3BsaXRcIEZpbGVcIEUmeHBsb3JlcgkmRmlsYmVoYW5kbGVyCgltZW51dHJhbnMgJkNsb3NlPFRhYj5eV2MJCSZMdWtrPFRhYj5eV2MKCW1lbnV0cmFucyBDbG9zZVwgJk90aGVyKHMpPFRhYj5eV28JTHVra1wgJmFuZHJlPFRhYj5eV28KCW1lbnV0cmFucyBNb3ZlXCAmVG8JCQlGbCZ5dHRcIHRpbAoJCW1lbnV0cmFucyAmVG9wPFRhYj5eV0sJCQkmVG9wcGVuPFRhYj5eV0sKCQltZW51dHJhbnMgJkJvdHRvbTxUYWI+XldKCQkmQnVubmVuPFRhYj5eV0oKCQltZW51dHJhbnMgJkxlZnRcIHNpZGU8VGFiPl5XSAkJJlZlbnN0cmVcIHNpZGU8VGFiPl5XSAoJCW1lbnV0cmFucyAmUmlnaHRcIHNpZGU8VGFiPl5XTAkJJkj4eXJlXCBzaWRlPFRhYj5eV0wKCW1lbnV0cmFucyBSb3RhdGVcICZVcDxUYWI+XldSCQlSb3RlclwgJm9wcDxUYWI+XldSCgltZW51dHJhbnMgUm90YXRlXCAmRG93bjxUYWI+XldyCQkmUm90ZXJcIG5lZDxUYWI+XldyCgltZW51dHJhbnMgJkVxdWFsXCBTaXplPFRhYj5eVz0JCUxpa1wgc3Qm+HJyZWxzZTxUYWI+Xlc9CgltZW51dHJhbnMgJk1heFwgSGVpZ2h0PFRhYj5eV18JCSZNYWtzaW1hbFwgaPh5ZGU8VGFiPl5XXwoJbWVudXRyYW5zIE0maW5cIEhlaWdodDxUYWI+XlcxXwkJTSZpbmltYWxcIGj4eWRlPFRhYj5eVzFfCgltZW51dHJhbnMgTWF4XCAmV2lkdGg8VGFiPl5XXHwJCU1hJmtzaW1hbFwgYnJlZGRlPFRhYj5eV1x8CgltZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQlNaW5pbWFsXCAmYnJlZGRlPFRhYj5eVzFcfAptZW51dHJhbnMgJkhlbHAJCSZIamVscAoJbWVudXRyYW5zICZPdmVydmlldzxUYWI+PEYxPgkmT3ZlcnNpa3Q8VGFiPjxGMT4KCW1lbnV0cmFucyAmVXNlclwgTWFudWFsCQkmQnJ1a2VyaOVuZGJvawoJbWVudXRyYW5zICZIb3ctdG9cIGxpbmtzCSZG+HJzdGVoamVscAoJbWVudXRyYW5zICZGaW5kXC5cLlwuCQkmU/hroFwuXC5cLgoJbWVudXRyYW5zICZDcmVkaXRzCQkmS3JlZGl0ZXJpbmcKCW1lbnV0cmFucyBDbyZweWluZwkJJlByb2dyYW1saXNlbnMKCW1lbnV0cmFucyAmU3BvbnNvci9SZWdpc3RlcglTJnT4dHRlL1JlZ2lzdHJlcmluZwoJbWVudXRyYW5zIE8mcnBoYW5zCQlGbyZyZWxkcmVs+HNlCgltZW51dHJhbnMgJlZlcnNpb24JCSZWZXJzam9uCgltZW51dHJhbnMgJkFib3V0CQkmT21cIFZpbQoKIiBQb3B1cAoJbWVudXRyYW5zICZVbmRvCQkJJkFuZ3JlCgltZW51dHJhbnMgQ3UmdAkJCUtsaXBwXCAmdXQKCW1lbnV0cmFucyAmQ29weQkJCSZLb3BpZXIKCW1lbnV0cmFucyAmUGFzdGUJCSZMaW1cIGlubgoJbWVudXRyYW5zICZEZWxldGUJCSZTbGV0dAoJbWVudXRyYW5zIFNlbGVjdFwgQmxvY2t3aXNlCU1hcmtlclwgYmxva2smdmlzCgltZW51dHJhbnMgU2VsZWN0XCAmV29yZAkJTWFya2VyXCAmb3JkCgltZW51dHJhbnMgU2VsZWN0XCAmTGluZQkJTWFya2VyXCBsaW4mamUKCW1lbnV0cmFucyBTZWxlY3RcICZCbG9jawlNYXJrZXJcICZibG9rawoJbWVudXRyYW5zIFNlbGVjdFwgJkFsbAkJTWFya2VyXCBhbCZ0CgoiIFZlcmt0+HlsaW5qZQppZiBoYXMoInRvb2xiYXIiKQoJaWYgZXhpc3RzKCIqRG9fdG9vbGJhcl90bWVudSIpCgkJZGVsZnVuY3Rpb24gRG9fdG9vbGJhcl90bWVudQoJZW5kaWYKCWZ1bmN0aW9uIERvX3Rvb2xiYXJfdG1lbnUoKQoJCXRtZW51IFRvb2xCYXIuT3BlbgkJxXBuZSBmaWwKCQl0bWVudSBUb29sQmFyLlNhdmUJCUxhZ3JlIGZpbAoJCXRtZW51IFRvb2xCYXIuU2F2ZUFsbAkJTGFncmUgYWxsZSBmaWxlcgoJCXRtZW51IFRvb2xCYXIuUHJpbnQJCVNrcml2IHV0CgkJdG1lbnUgVG9vbEJhci5VbmRvCQlBbmdyZQoJCXRtZW51IFRvb2xCYXIuUmVkbwkJR2plbm9wcHJldHQKCQl0bWVudSBUb29sQmFyLkN1dAkJS2xpcHAKCQl0bWVudSBUb29sQmFyLkNvcHkJCUtvcGllcgoJCXRtZW51IFRvb2xCYXIuUGFzdGUJCUxpbSBpbm4KCQl0bWVudSBUb29sQmFyLkZpbmQJCVP4a6AuLi4KCQl0bWVudSBUb29sQmFyLkZpbmROZXh0CQlGaW5uIG5lc3RlCgkJdG1lbnUgVG9vbEJhci5GaW5kUHJldgkJRmlubiBmb3JyaWdlCgkJdG1lbnUgVG9vbEJhci5SZXBsYWNlCQlT+Gsgb2cgZXJzdGF0dKAuLi4KCQlpZiAwICIgRGlzYWJsZWQsIHRoZXkgYXJlIGluIHRoZSBXaW5kb3dzIG1lbnUKCQkJdG1lbnUgVG9vbEJhci5OZXcJTnl0dCB2aW5kdQoJCQl0bWVudSBUb29sQmFyLldpblNwbGl0CVNwbGl0dCB2aW5kdQoJCQl0bWVudSBUb29sQmFyLldpbk1heAlNYWtzaW1hbCB2aW5kdXNo+HlkZQoJCQl0bWVudSBUb29sQmFyLldpbk1pbglNaW5pbWFsIHZpbmR1c2j4eWRlCgkJCXRtZW51IFRvb2xCYXIuV2luQ2xvc2UJTHVrayB2aW5kdQoJCWVuZGlmCgkJdG1lbnUgVG9vbEJhci5Mb2FkU2VzbgkJxXBuZSD4a3QKCQl0bWVudSBUb29sQmFyLlNhdmVTZXNuCQlMYWdyZSD4a3QKCQl0bWVudSBUb29sQmFyLlJ1blNjcmlwdAkJS2r4ciBWaW0tc2tyaXB0CgkJdG1lbnUgVG9vbEJhci5NYWtlCQlLavhyICJtYWtlIgoJCXRtZW51IFRvb2xCYXIuU2hlbGwJCVN0YXJ0IHNrYWxsCgkJdG1lbnUgVG9vbEJhci5SdW5DdGFncwkJT3BwZGF0ZXIgdGFnLWZpbAoJCXRtZW51IFRvb2xCYXIuVGFnSnVtcAkJSG9wcCB0aWwgdGFnCgkJdG1lbnUgVG9vbEJhci5IZWxwCQlIamVscCEKCQl0bWVudSBUb29sQmFyLkZpbmRIZWxwCQlT+GsgaSBoamVscGVuoC4uLgoJZW5kZnVuY3Rpb24KZW5kaWYKCiIgRGlhbG9nbWVsZGluZ2VyCglsZXQgZzptZW51dHJhbnNfbm9fZmlsZSA9ICJbVXRlbiBuYXZuXSIKCWxldCBnOm1lbnV0cmFuc19oZWxwX2RpYWxvZyA9ICJTa3JpdiBlbiBrb21tYW5kbyBlbGxlciBvcmQgZHUgdmlsIGhhIGhqZWxwIG9tOlxuXG5MZWdnIHRpbCBpXyBpIGJlZ3lubmVsc2VuIGZvciBpbm5kYXRhbWV0b2RlciAoZi5la3MuOiBpX0NUUkwtWClcbkxlZ2cgdGlsIGNfIGkgYmVneW5uZWxzZW4gZm9yIGtvbW1hbmRvZXIgc29tIHJlZGlnZXJlciBrb21tYW5kb2xpbmplbiAoZi5la3MuOiBjXzxEZWw+KVxuTGVnZyB0aWwgJyBpIGJlZ3lubmVsc2VuIGZvciBldCB2YWxnbmF2biAoZi5la3MuOiAnc2hpZnR3aWR0aCcpIgoJbGV0IGc6bWVudXRyYW5zX3BhdGhfZGlhbG9nID0gIlNrcml2IHP4a2VzdGkgZm9yIGZpbGVyLlxuU2tpbGwga2F0YWxvZ25hdm4gbWVkIGtvbW1hLiIKCWxldCBnOm1lbnV0cmFuc190YWdzX2RpYWxvZyA9ICJTa3JpdiBuYXZuIHDlIHRhZ2ZpbGVyLlxuU2tpbGwgbmF2bmVuZSBtZWQga29tbWEuIgoJbGV0IGc6bWVudXRyYW5zX3RleHR3aWR0aF9kaWFsb2cgPSAiVmVsZyBueSB0ZWtzdGJyZWRkZSAoMCBmb3Ig5SBmb3JoaW5kcmUgZm9ybWF0ZXJpbmcpOiAiCglsZXQgZzptZW51dHJhbnNfZmlsZWZvcm1hdF9kaWFsb2cgPSAiVmVsZyBmaWxmb3JtYXQgc29tIGZpbGVuIHNrYWwgbGFncmVzIG1lZCIKCiIgICAgdmltOiBzZXQgdHM9OCBzdz04IDoKIiB2aW02MDA6IHNldCBmZG09aW5kZW50IDoK