IiBNZW51IFRyYW5zbGF0aW9uczoJU2xvdmFrCiIgVHJhbnNsYXRlZCBCeToJTWFydGluIExhY2tvIDxsYWNrb0Bob3N0LnNrPgoiIExhc3QgQ2hhbmdlOgkJMjAwNiBKdW4gMTcKCiIgUXVpdCB3aGVuIG1lbnUgdHJhbnNsYXRpb25zIGhhdmUgYWxyZWFkeSBiZWVuIGRvbmUuCmlmIGV4aXN0cygiZGlkX21lbnVfdHJhbnMiKQogIGZpbmlzaAplbmRpZgpsZXQgZGlkX21lbnVfdHJhbnMgPSAxCgpzY3JpcHRlbmNvZGluZyBjcDEyNTAKCiIgSGVscCBtZW51Cm1lbnV0cmFucyAmSGVscAkJCSZQb21vY27tawptZW51dHJhbnMgJk92ZXJ2aWV3PFRhYj48RjE+CSZQcmVovmFkPFRhYj48RjE+Cm1lbnV0cmFucyAmVXNlclwgTWFudWFsCQlQbyZ1nu12YXRlvnNr/VwgbWFudeFsCm1lbnV0cmFucyAmSG93LXRvXCBsaW5rcwkmVGlweQptZW51dHJhbnMgJkZpbmRcLlwuXC4JCSZO4WpznVwuXC5cLgptZW51dHJhbnMgJkNyZWRpdHMJCVBv7yZha292YW5pZQptZW51dHJhbnMgTyZycGhhbnMJCVNpJnJvdHkKbWVudXRyYW5zIENvJnB5aW5nCQkmTGljZW5jaWEKbWVudXRyYW5zICZWZXJzaW9uCQkmVmVyemlhCm1lbnV0cmFucyAmQWJvdXQJCSZPXCBwcm9ncmFtZQoKIiBGaWxlIG1lbnUKbWVudXRyYW5zICZGaWxlCQkJCSZT+mJvcgptZW51dHJhbnMgJk9wZW5cLlwuXC48VGFiPjplCQkmT3R2b3JpnVwuXC5cLjxUYWI+OmUKbWVudXRyYW5zIFNwJmxpdC1PcGVuXC5cLlwuPFRhYj46c3AJT3Qmdm9yaZ1cIHZcIG5vdm9tXCBva25lXC5cLlwuPFRhYj46c3AKbWVudXRyYW5zICZOZXc8VGFiPjplbmV3CQkmTm92/TxUYWI+OmVuZXcKbWVudXRyYW5zICZDbG9zZTxUYWI+OmNsb3NlCQkmWmF0dm9yaZ08VGFiPjpjbG9zZQptZW51dHJhbnMgJlNhdmU8VGFiPjp3CQkJJlVsb55pnTxUYWI+OncKbWVudXRyYW5zIFNhdmVcICZBc1wuXC5cLjxUYWI+OnNhdglVbG+eaZ1cICZha29cLlwuXC48VGFiPjpzYXYKbWVudXRyYW5zIFNwbGl0XCAmRGlmZlwgd2l0aFwuXC5cLglPdHZvciZpnVwgcG9yb3ZuYW5pZVwgdlwgbm92b21cIG9rbmVcIHNcLlwuXC4KbWVudXRyYW5zIFNwbGl0XCBQYXRjaGVkXCAmQnlcLlwuXC4JT3R2byZyaZ1cIGFrdHVhbGl6b3ZhbulcIHNcLlwuXC4KbWVudXRyYW5zICZQcmludAkJCSZUbGHoCm1lbnV0cmFucyBTYSZ2ZS1FeGl0PFRhYj46d3FhCQlVJmxvnmmdLUtvbmllYzxUYWI+OndxYQptZW51dHJhbnMgRSZ4aXQ8VGFiPjpxYQkJCSZLb25pZWM8VGFiPjpxYQoKIiBFZGl0IG1lbnUKbWVudXRyYW5zICZFZGl0CQkJCSbacHJhdnkKbWVudXRyYW5zICZVbmRvPFRhYj51CQkJJlNw5J08VGFiPnUKbWVudXRyYW5zICZSZWRvPFRhYj5eUgkJCVomcnWaaZ1cIHNw5J08VGFiPl5SCm1lbnV0cmFucyBSZXAmZWF0PFRhYj5cLgkJJk9wYWtvdmGdPFRhYj5cLgptZW51dHJhbnMgQ3UmdDxUYWI+Iit4CQkJJlZ5c3RyaWhu+p08VGFiPiIreAptZW51dHJhbnMgJkNvcHk8VGFiPiIreQkJCSZLb3Dtcm92YZ08VGFiPiIreQptZW51dHJhbnMgJlBhc3RlPFRhYj4iK2dQCQlWJmxvnmmdPFRhYj4iK2dQCm1lbnV0cmFucyBQdXRcICZCZWZvcmU8VGFiPltwCQlWbG+eaZ1cICZwcmVkPFRhYj5bcAptZW51dHJhbnMgUHV0XCAmQWZ0ZXI8VGFiPl1wCQlWbG+eaZ1cIHphPFRhYj5dcAptZW51dHJhbnMgJlNlbGVjdFwgYWxsPFRhYj5nZ1ZHCQlWeSZicmGdXCB2mmV0a288VGFiPmdnVkcKbWVudXRyYW5zICZEZWxldGU8VGFiPngJCQlWeSZtYXphnTxUYWI+eAptZW51dHJhbnMgJkZpbmRcLlwuXC4JCQkmTuFqc51cLlwuXC4KbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4JTiZhaHJhZGmdXC5cLlwuCm1lbnV0cmFucyBTZXR0aW5nc1wgJldpbmRvdwkJTW8mnm5vc3RpCm1lbnV0cmFucyAmR2xvYmFsXCBTZXR0aW5ncwkJJkdsb2LhbG5lIG1vnm5vc3RpCm1lbnV0cmFucyBUb2dnbGVcIFBhdHRlcm5cICZIaWdobGlnaHQ8VGFiPjpzZXRcIGhscyEJUHJlcG76nVwgcGFsZXR1XCB6dv1yYXryb3ZhbmlhPFRhYj46c2V0XCBobHMhCm1lbnV0cmFucyBUb2dnbGVcICZJZ25vcmUtY2FzZTxUYWI+OnNldFwgaWMhCVByZXBu+p1cICZpZ25vcm92YW5pZSB2Zb5rb3N0aTxUYWI+OnNldFwgaWMhCm1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtIQlQcmVwbvqdXCAmdWvhemGdXCB6aG9kdTxUYWI+OnNldFwgc20hCm1lbnV0cmFucyAmQ29udGV4dFwgbGluZXMJCSZLb250ZXh0b3bpXCByaWFka3kKbWVudXRyYW5zICZWaXJ0dWFsXCBFZGl0CQkmVmlydHXhbG5lIPpwcmF2eQptZW51dHJhbnMgTmV2ZXIJCQkJTmlrZHkKbWVudXRyYW5zIEJsb2NrXCBTZWxlY3Rpb24JCUJsb2tvdv1cIHb9YmVyCm1lbnV0cmFucyBJbnNlcnRcIG1vZGUJCQlSZZ5pbVwgdmtsYWRhbmlhCm1lbnV0cmFucyBCbG9ja1wgYW5kXCBJbnNlcnQJCUJsb2tcIGFcIHZrbGFkYW5pZQptZW51dHJhbnMgQWx3YXlzCQkJVp5keQptZW51dHJhbnMgVG9nZ2xlXCBJbnNlcnRcICZNb2RlPFRhYj46c2V0XCBpbSEJUHJlcG76nVwgcmWeaSZtXCB2a2xhZGFuaWE8VGFiPjpzZXRcIGltIQptZW51dHJhbnMgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwIQlQcmVwbvqdXCB2aVwga29tcGF0aWJpbGl0dTxUYWI+OnNldFwgY3AhCm1lbnV0cmFucyBTZWFyY2hcICZQYXRoXC5cLlwuCQlDZXN0YVwgJmi+YWRhbmlhXC5cLlwuCm1lbnV0cmFucyBUYSZnXCBGaWxlc1wuXC5cLgkJVGEmZ2926SBz+mJvcnlcLlwuXC4KbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCVByZXBu+p1cICZwYW5lbAptZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJUHJlcG76nVwgc3BvZG79XCBwb3N1dm7tawptZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCVByZXBu+p1cIL5hdv1cIHBvc3V2bu1rCm1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCVByZXBu+p1cIHByYXb9XCBwb3N1dm7tawptZW51dHJhbnMgRiZpbGVcIFNldHRpbmdzCQlOYXN0YXZlbmlhXCBz+mJvcnUKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJk51bWJlcmluZzxUYWI+OnNldFwgbnUhCVByZXBu+p1cIOjtc2xvdmEmbmllXCByaWFka292PFRhYj46c2V0XCBudSEKbWVudXRyYW5zIFRvZ2dsZVwgJkxpc3RcIE1vZGU8VGFiPjpzZXRcIGxpc3QhCQlQcmVwbvqdXCByZZ5pbVwgJnpvem5hbXU8VGFiPjpzZXRcIGxpc3QhCm1lbnV0cmFucyBUb2dnbGVcIExpbmVcICZXcmFwPFRhYj46c2V0XCB3cmFwIQkJUHJlcG76nVwgeiZhbGFtb3ZhbmllXCByaWFka292PFRhYj46c2V0XCB3cmFwIQptZW51dHJhbnMgVG9nZ2xlXCBXJnJhcFwgYXRcIHdvcmQ8VGFiPjpzZXRcIGxiciEJUHJlcG76nVwgemEmbGFtb3ZhbmllXCBzbG92PFRhYj46c2V0XCBsYnIhCm1lbnV0cmFucyBUb2dnbGVcICZleHBhbmQtdGFiPFRhYj46c2V0XCBldCEJCVByZXBu+p1cIHJveprtciZlbulcIHRhYnVs4XRvcnk8VGFiPjpzZXRcIGV0IQptZW51dHJhbnMgVG9nZ2xlXCAmYXV0by1pbmRlbnQ8VGFiPjpzZXRcIGFpIQkJUHJlcG76nVwgYXV0b21hdGlja+lcICZvZHNhZHpvdmFuaWU8VGFiPjpzZXRcIGFpIQptZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEJCVByZXBu+p1cICZDLW9kc2Fkem92YW5pZTxUYWI+OnNldFwgY2luIQptZW51dHJhbnMgJlNoaWZ0d2lkdGgJCQkmiu1ya2FcIJppZnR1Cm1lbnV0cmFucyBTb2Z0XCAmVGFic3RvcAkJJlNvZnR26XJvdv1cIHRhYnVs4XRvcgptZW51dHJhbnMgVGUmeHRcIFdpZHRoXC5cLlwuCQmK7XJrYVwgdGUmeHR1XC5cLlwuCm1lbnV0cmFucyAmRmlsZVwgRm9ybWF0XC5cLlwuCQkmRm9ybeF0XCBz+mJvcnVcLlwuXC4KbWVudXRyYW5zIEMmb2xvclwgU2NoZW1lCQlGYXImZWJu4Vwgc2No6W1hCgoiIFByb2dyYW1taW5nIG1lbnUKbWVudXRyYW5zICZUb29scwkJCSZO4XN0cm9qZQptZW51dHJhbnMgJkp1bXBcIHRvXCB0aGlzXCB0YWc8VGFiPmdeXQkmU2tv6GmdXCBuYVwgem5h6Gt1PFRhYj5nXl0KbWVudXRyYW5zIEp1bXBcICZiYWNrPFRhYj5eVAkJU2smb+hpnVwgc3DknTxUYWI+XlQKbWVudXRyYW5zIEJ1aWxkXCAmVGFnc1wgRmlsZQkJJlZ5dHZvcmmdXCBz+mJvclwgem5h6GllawptZW51dHJhbnMgJkZvbGRpbmcJCQkmVm7hcmFuaWUKbWVudXRyYW5zICZFbmFibGUvRGlzYWJsZVwgZm9sZHM8VGFiPnppCVphcG76nS9WeXBu+p1cIHZu4XJhbmkmZTxUYWI+emkKbWVudXRyYW5zICZWaWV3XCBDdXJzb3JcIExpbmU8VGFiPnp2CVpvYnJhemmdXCBrdXJ6b3JvJnb9XCByaWFkb2s8VGFiPnp2Cm1lbnV0cmFucyBWaWUmd1wgQ3Vyc29yXCBMaW5lXCBvbmx5PFRhYj56TXp4CVpvYnJhemmdXCBpYmFcIGt1cnpvcm92/VwgcmlhZG9rPFRhYj56TXp4Cm1lbnV0cmFucyBDJmxvc2VcIG1vcmVcIGZvbGRzPFRhYj56bQlaYXR2b3JpnVwgdmlhYyBcdm5vcmVu7TxUYWI+em0KbWVudXRyYW5zICZDbG9zZVwgYWxsXCBmb2xkczxUYWI+ek0JWmF0dm9yJmmdXCB2mmV0a3lcIHZub3JlbmlhPFRhYj56TQptZW51dHJhbnMgTyZwZW5cIG1vcmVcIGZvbGRzPFRhYj56cglPJnR2b3JpnVwgdmlhY1wgdm5vcmVu7TxUYWI+enIKbWVudXRyYW5zICZPcGVuXCBhbGxcIGZvbGRzPFRhYj56UgkmT3R2b3JpnVwgdppldGt5XCB2bm9yZW5pYTxUYWI+elIKbWVudXRyYW5zIEZvbGRcIE1ldCZob2QJCQlNZXTzJmRhXCB2buFyYW5pYQptZW51dHJhbnMgTSZhbnVhbAkJCU0mYW514WxuZQptZW51dHJhbnMgSSZuZGVudAkJCU9kc2FkZSZuaWUKbWVudXRyYW5zIEUmeHByZXNzaW9uCQkJJlb9cmF6Cm1lbnV0cmFucyBTJnludGF4CQkJUyZ5bnRheAptZW51dHJhbnMgJkRpZmYJCQkJUm96JmRpZWwKbWVudXRyYW5zIE1hJnJrZXIJCQlabmEm6GtvdmHoCm1lbnV0cmFucyBDcmVhdGVcICZGb2xkPFRhYj56ZgkJVnl0JnZvcmmdXCB2bm9yZW5pZTxUYWI+emYKbWVudXRyYW5zICZEZWxldGVcIEZvbGQ8VGFiPnpkCQlWJnltYXphnVwgdm5vcmVuaWU8VGFiPnpkCm1lbnV0cmFucyBEZWxldGVcICZBbGxcIEZvbGRzPFRhYj56RAlWeW1hemGdXCB2mmV0a3lcIHZub3JlbmlhPFRhYj56RAptZW51dHJhbnMgRm9sZFwgY29sdW1uXCAmd2lkdGgJCYrtcmthXCAmdmtsYWRhbulob1wgc3TlcGNhCm1lbnV0cmFucyAmRGlmZgkJCQkmUm96ZGllbHkKbWVudXRyYW5zICZVcGRhdGUJCQlBa3QmdWFsaXpvdmGdCm1lbnV0cmFucyAmR2V0XCBCbG9jawkJCVpvYiZyYZ1cIGJsb2sKbWVudXRyYW5zICZQdXRcIEJsb2NrCQkJJlZsb55pnVwgYmxvawptZW51dHJhbnMgRXJyb3JcICZXaW5kb3cJCUNoeWJvdulcICZva25vCm1lbnV0cmFucyAmVXBkYXRlPFRhYj46Y3dpbgkJQWt0JnVhbGl6b3ZhnTxUYWI+OmN3aW4KbWVudXRyYW5zICZPcGVuPFRhYj46Y29wZW4JCSZPdHZvcmmdPFRhYj46Y29wZW4KbWVudXRyYW5zICZDbG9zZTxUYWI+OmNjbG9zZQkJJlphdHZvcmmdPFRhYj46Y2Nsb3NlCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhFWDxUYWI+OiUheHhkCSZLb252ZXJ0b3ZhnVwgZG9cIEhFWDxUYWI+OiUheHhkCm1lbnV0cmFucyBDb252ZSZydFwgYmFjazxUYWI+OiUheHhkXCAtcglLb252ZSZydG92YZ1cIHNw5J08VGFiPjolIXh4ZFwgLXIKbWVudXRyYW5zICZNYWtlPFRhYj46bWFrZQkJJk1ha2U8VGFiPjptYWtlCm1lbnV0cmFucyAmTGlzdFwgRXJyb3JzPFRhYj46Y2wJCVb9cGlzXCAmY2j9YjxUYWI+OmNsCm1lbnV0cmFucyBMJmlzdFwgTWVzc2FnZXM8VGFiPjpjbCEJVv1wJmlzXCBzcHLhdjxUYWI+OmNsIQptZW51dHJhbnMgJk5leHRcIEVycm9yPFRhYj46Y24JCc9hJmyaaWFcIGNoeWJhPFRhYj46Y24KbWVudXRyYW5zICZQcmV2aW91c1wgRXJyb3I8VGFiPjpjcAkmUHJlZGNo4WR6YWr6Y2FcIGNoeWJhPFRhYj46Y3AKbWVudXRyYW5zICZPbGRlclwgTGlzdDxUYWI+OmNvbGQJU3RhJnKa7Vwgem96bmFtPFRhYj46Y29sZAptZW51dHJhbnMgTiZld2VyXCBMaXN0PFRhYj46Y25ldwlOb3aa7VwgJnpvem5hbTxUYWI+OmNuZXcKbWVudXRyYW5zIEVycm9yXCAmV2luZG93PFRhYj46Y3dpbglDaHlib3bpXCBvJmtubzxUYWI+OmN3aW4KbWVudXRyYW5zICZTZXRcIENvbXBpbGVyCQlWeWJlcnRlXCBrJm9tcGls4XRvcgptZW51dHJhbnMgQ29udmVydFwgdG9cIEhFWDxUYWI+OiUheHhkCVBydmllc51cIGRvXCCaZXMmdG7hc3Rrb3bpaG9cIGZvcm3hdHU8VGFiPjolIXh4ZAptZW51dHJhbnMgQ29udmVydFwgYmFjazxUYWI+OiUheHhkXCAtcglQciZldmllc51cIHNw5J08VGFiPjolIXh4ZFwgLXIKCiIgTmFtZXMgZm9yIGJ1ZmZlciBtZW51LgptZW51dHJhbnMgJkJ1ZmZlcnMJCSZWeXJvdm7hdmFjaWFcIHBhbeSdCm1lbnV0cmFucyAmUmVmcmVzaFwgbWVudQlPYm5vdmmdCm1lbnV0cmFucyAmRGVsZXRlCQlWeW1hemGdCm1lbnV0cmFucyAmQWx0ZXJuYXRlCQlabWVuaZ0KbWVudXRyYW5zICZOZXh0CQkJzyZhbJppYQptZW51dHJhbnMgJlByZXZpb3VzCQkmUHJlZGNo4WR6YWr6Y2EKbWVudXRyYW5zIFtObyBGaWxlXQkJW45pYWRueVwgc/pib3JdCgoiIFdpbmRvdyBtZW51Cm1lbnV0cmFucyAmV2luZG93CQkJJk9rbuEKbWVudXRyYW5zICZOZXc8VGFiPl5XbgkJCSZOb3bpPFRhYj5eV24KbWVudXRyYW5zIFMmcGxpdDxUYWI+XldzCQkmUm96ZGVsaZ08VGFiPl5XcwptZW51dHJhbnMgU3AmbGl0XCBUb1wgIzxUYWI+XldeXglSbyZ6ZGVsaZ1cIG5hXCAjPFRhYj5eV15eCm1lbnV0cmFucyBTcGxpdFwgJlZlcnRpY2FsbHk8VGFiPl5XdglSb3pkZWxpnVwgJnZlcnRpa+FsbmU8VGFiPl5XdgptZW51dHJhbnMgU3BsaXRcIEZpbGVcIEUmeHBsb3JlcglPdHZvcmmdXCBwcmkmZXNrdW1u7WthCm1lbnV0cmFucyAmQ2xvc2U8VGFiPl5XYwkJWmF0dm9yJmmdPFRhYj5eV2MKbWVudXRyYW5zIENsb3NlXCAmT3RoZXIocyk8VGFiPl5XbwlaYXR2b3JpnVwgaSZu6TxUYWI+XldvCm1lbnV0cmFucyBNb3ZlXCAmVG8JCQlQcmVzdW76Jp0KbWVudXRyYW5zICZUb3A8VGFiPl5XSwkJCU5hJmhvcjxUYWI+XldLCm1lbnV0cmFucyAmQm90dG9tPFRhYj5eV0oJCU5hZG8mbDxUYWI+XldKCm1lbnV0cmFucyAmTGVmdFwgc2lkZTxUYWI+XldICQlWJr5hdm88VGFiPl5XSgptZW51dHJhbnMgJlJpZ2h0XCBzaWRlPFRhYj5eV0wJCVZwcmF2Jm88VGFiPl5XTAptZW51dHJhbnMgTmUmeHQ8VGFiPl5XdwkJCc8mYWyaaWU8VGFiPl5XdwptZW51dHJhbnMgUCZyZXZpb3VzPFRhYj5eV1cJCSZQcmVkY2jhZHphavpjZTxUYWI+XldXCm1lbnV0cmFucyAmRXF1YWxcIFNpemU8VGFiPl5XPQkJUm92bmFr4Vwgdv2aJmthPFRhYj5eVz0KbWVudXRyYW5zICZNYXhcIEhlaWdodDxUYWI+XldfCQkmTWF4aW3hbG5hXCB2/ZprYTxUYWI+XldfCm1lbnV0cmFucyBNJmluXCBIZWlnaHQ8VGFiPl5XMV8JCU1pbmlt4WxuYVwgdv0mmmthPFRhYj5eVzFfCm1lbnV0cmFucyBNYXhcICZXaWR0aDxUYWI+XldcfAkJTWF4aW3hbG5hXCCa7XJrYTxUYWI+XldcfAptZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQlNaW5pbeFsbmEgmmlya2E8VGFiPl5XMVx8Cm1lbnV0cmFucyBSb3RhdGVcICZVcDxUYWI+XldSCQlSb3RvdmEmnVwgbmFob3I8VGFiPl5XUgptZW51dHJhbnMgUm90YXRlXCAmRG93bjxUYWI+XldyCQlSb3RvdmGdXCBuYSZkb2w8VGFiPl5XcgptZW51dHJhbnMgU2VsZWN0XCBGbyZudFwuXC5cLgkJVnkmYnJhnVwgcO1zbW9cLlwuXC4KCiIgVGhlIHBvcHVwIG1lbnUKbWVudXRyYW5zICZVbmRvCQkJJlNw5J0KbWVudXRyYW5zIEN1JnQJCQkmVnlzdHJpaG76nQptZW51dHJhbnMgJkNvcHkJCQkmS29w7XJvdmGdCm1lbnV0cmFucyAmUGFzdGUJCVYmbG+eaZ0KbWVudXRyYW5zICZEZWxldGUJCVYmeW1hemGdCm1lbnV0cmFucyBTZWxlY3RcIEJsb2Nrd2lzZQlWeWJyYZ1cIGJsb2tvdm8KbWVudXRyYW5zIFNlbGVjdFwgJldvcmQJCVZ5YnJhnVwgc2wmb3ZvCm1lbnV0cmFucyBTZWxlY3RcICZMaW5lCQlWeWJyYZ1cICZyaWFkb2sKbWVudXRyYW5zIFNlbGVjdFwgJkJsb2NrCVZ5YnJhnVwgJmJsb2sKbWVudXRyYW5zIFNlbGVjdFwgJkFsbAkJVnlicmGdXCB2miZldGtvCgoiIFRoZSBHVUkgdG9vbGJhcgppZiBoYXMoInRvb2xiYXIiKQogIGlmIGV4aXN0cygiKkRvX3Rvb2xiYXJfdG1lbnUiKQogICAgZGVsZnVuIERvX3Rvb2xiYXJfdG1lbnUKICBlbmRpZgogIGZ1biBEb190b29sYmFyX3RtZW51KCkKICAgIHRtZW51IFRvb2xCYXIuT3BlbgkJT3R2b3JpnSBz+mJvcgogICAgdG1lbnUgVG9vbEJhci5TYXZlCQlVbG+eaZ0gc/pib3IKICAgIHRtZW51IFRvb2xCYXIuU2F2ZUFsbAlVbG+eaZ0gdppldGt5CiAgICB0bWVudSBUb29sQmFyLlByaW50CQlUbGHoCiAgICB0bWVudSBUb29sQmFyLlVuZG8JCVNw5J0KICAgIHRtZW51IFRvb2xCYXIuUmVkbwkJT3Bha292YZ0KICAgIHRtZW51IFRvb2xCYXIuQ3V0CQlWeXN0cmlobvqdCiAgICB0bWVudSBUb29sQmFyLkNvcHkJCUtvcO1yb3ZhnQogICAgdG1lbnUgVG9vbEJhci5QYXN0ZQkJVmxvnmmdCiAgICB0bWVudSBUb29sQmFyLkZpbmQJCU7hanOdLi4uCiAgICB0bWVudSBUb29sQmFyLkZpbmROZXh0CU7hanOdIO9hbJppZQogICAgdG1lbnUgVG9vbEJhci5GaW5kUHJldglO4WpznSBwcmVkY2jhZHphavpjZQogICAgdG1lbnUgVG9vbEJhci5SZXBsYWNlCU5haHJhZGmdLi4uCiAgICBpZiAwCSIgZGlzYWJsZWQ7IFRoZXNlIGFyZSBpbiB0aGUgV2luZG93cyBtZW51CiAgICAgIHRtZW51IFRvb2xCYXIuTmV3CQlOb3bpIG9rbm8KICAgICAgdG1lbnUgVG9vbEJhci5XaW5TcGxpdAlSb3pkZWxpnSBva25vCiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWF4CU1heGltYWxpem92YZ0gb2tubwogICAgICB0bWVudSBUb29sQmFyLldpbk1pbglNaW5pbWFsaXpvdmGdIG9rbm8KICAgICAgdG1lbnUgVG9vbEJhci5XaW5WU3BsaXQJUm96ZGVsaZ0gb2tubyB2ZXJ0aWvhbG5lCiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWF4V2lkdGgJTWF4aW1hbGl6b3ZhnSCa7XJrdSBva25hCiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWluV2lkdGgJTWluaW1hbGl6b3ZhnSCa7XJrdSBva25hCiAgICAgIHRtZW51IFRvb2xCYXIuV2luQ2xvc2UJWmF0dm9yaZ0gb2tubwogICAgZW5kaWYKICAgIHRtZW51IFRvb2xCYXIuTG9hZFNlc24JTmHo7XRhnSBzZWRlbmllCiAgICB0bWVudSBUb29sQmFyLlNhdmVTZXNuCVVsb55pnSBzZWRlbmllCiAgICB0bWVudSBUb29sQmFyLlJ1blNjcmlwdAlTcHVzdGmdIHNrcmlwdAogICAgdG1lbnUgVG9vbEJhci5NYWtlCQlTcHVzdGmdIG1ha2UKICAgIHRtZW51IFRvb2xCYXIuU2hlbGwJCVNwdXN0aZ0gmmVsCiAgICB0bWVudSBUb29sQmFyLlJ1bkN0YWdzCVNwdXN0aZ0gY3RhZ3MKICAgIHRtZW51IFRvb2xCYXIuVGFnSnVtcAlTa2/oaZ0gbmEgdGFnIHBvZCBrdXJ6b3JvbQogICAgdG1lbnUgVG9vbEJhci5IZWxwCQlQb21vY27tawogICAgdG1lbnUgVG9vbEJhci5GaW5kSGVscAlO4WpznSBwb21vY27ta2Egay4uLgogIGVuZGZ1bgplbmRpZgoKIiBTeW50YXggbWVudQptZW51dHJhbnMgJlN5bnRheAkJJlN5bnRheAptZW51dHJhbnMgU2V0XCAnJnN5bnRheCdcIG9ubHkJTmFzdGF2aZ1cIGliYVwgJ3N5bnRheCcKbWVudXRyYW5zIFNldFwgJyZmaWxldHlwZSdcIHRvbwlOYXN0YXZpnVwgYWpcICdmaWxldHlwZScKbWVudXRyYW5zICZPZmYJCQkmVnlwbvqdCm1lbnV0cmFucyAmTWFudWFsCQkmUnXobmUKbWVudXRyYW5zIEEmdXRvbWF0aWMJCUEmdXRvbWF0aWNreQoiIG1lbnV0cmFucyBvJm5cICh0aGlzXCBmaWxlKQkmWmFwbvqdXCAocHJlXCB0ZW50b1wgc/pib3IpCiIgbWVudXRyYW5zIG8mZmZcICh0aGlzXCBmaWxlKQlWeXAmbvqdXCAocHJlXCB0ZW50b1wgc/pib3IgKQptZW51dHJhbnMgb24vb2ZmXCBmb3JcICZUaGlzXCBmaWxlCVphcG76nS92eXBu+p1cIHByZVwgJnRlbnRvXCBz+mJvcgptZW51dHJhbnMgQ28mbG9yXCB0ZXN0CQlUZXN0XCAmZmFyaWViCm1lbnV0cmFucyAmSGlnaGxpZ2h0XCB0ZXN0CSZUZXN0XCB6dv1yYXryb3ZhbmlhCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhUTUwJJlByZXZpZXOdXCBkb1wgSFRNTAo=