1752026099 waR3U4bTeM%3A05df5751811d852701f5f0d802e4abcc-948515b28bc32f745120eb0cfb047364 s:70380:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MjY6IkNpdGF0aW9uQnVpbGRlciBUZXN0IENsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjY3NjoiUEhQIHZlcnNpb24gOAoKQ29weXJpZ2h0IChDKSBWaWxsYW5vdmEgVW5pdmVyc2l0eSAyMDEwLgoKVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIsCmFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgoKVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQSI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjU6e2k6MDtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljIjoyOntzOjc6IgAqAG5hbWUiO3M6ODoiY2F0ZWdvcnkiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjY6IlZ1RmluZCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljIjoyOntzOjc6IgAqAG5hbWUiO3M6NzoicGFja2FnZSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NToiVGVzdHMiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yIjo0OntzOjc6IgAqAG5hbWUiO3M6NjoiYXV0aG9yIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7TjtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvck5hbWUiO3M6MTE6IkRlbWlhbiBLYXR6IjtzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvckVtYWlsIjtzOjI1OiJkZW1pYW4ua2F0ekB2aWxsYW5vdmEuZWR1Ijt9aTozO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo3OiJsaWNlbnNlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2OToiaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC0yLjAucGhwIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo0O086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXExpbmsiOjM6e3M6NzoiACoAbmFtZSI7czo0OiJsaW5rIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0OiJXaWtpIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcTGluawBsaW5rIjtzOjU0OiJodHRwczovL3Z1ZmluZC5vcmcvd2lraS9kZXZlbG9wbWVudDp0ZXN0aW5nOnVuaXRfdGVzdHMiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6Ijk0ODUxNWIyOGJjMzJmNzQ1MTIwZWIwY2ZiMDQ3MzY0IjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWUiO3M6MTY6IkNpdGF0aW9uVGVzdC5waHAiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo3MjoiVnVGaW5kL3Rlc3RzL3VuaXQtdGVzdHMvc3JjL1Z1RmluZFRlc3QvVmlldy9IZWxwZXIvUm9vdC9DaXRhdGlvblRlc3QucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoyMjU3OToiPD9waHAKCi8qKgogKiBDaXRhdGlvbkJ1aWxkZXIgVGVzdCBDbGFzcwogKgogKiBQSFAgdmVyc2lvbiA4CiAqCiAqIENvcHlyaWdodCAoQykgVmlsbGFub3ZhIFVuaXZlcnNpdHkgMjAxMC4KICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIsCiAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgogKgogKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKICoKICogQGNhdGVnb3J5IFZ1RmluZAogKiBAcGFja2FnZSAgVGVzdHMKICogQGF1dGhvciAgIERlbWlhbiBLYXR6IDxkZW1pYW4ua2F0ekB2aWxsYW5vdmEuZWR1PgogKiBAbGljZW5zZSAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC0yLjAucGhwIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAqIEBsaW5rICAgICBodHRwczovL3Z1ZmluZC5vcmcvd2lraS9kZXZlbG9wbWVudDp0ZXN0aW5nOnVuaXRfdGVzdHMgV2lraQogKi8KCm5hbWVzcGFjZSBWdUZpbmRUZXN0XFZpZXdcSGVscGVyXFJvb3Q7Cgp1c2UgVnVGaW5kXFZpZXdcSGVscGVyXFJvb3RcQ2l0YXRpb247CgovKioKICogQ2l0YXRpb25CdWlsZGVyIFRlc3QgQ2xhc3MKICoKICogQGNhdGVnb3J5IFZ1RmluZAogKiBAcGFja2FnZSAgVGVzdHMKICogQGF1dGhvciAgIERlbWlhbiBLYXR6IDxkZW1pYW4ua2F0ekB2aWxsYW5vdmEuZWR1PgogKiBAbGljZW5zZSAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC0yLjAucGhwIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAqIEBsaW5rICAgICBodHRwczovL3Z1ZmluZC5vcmcvd2lraS9kZXZlbG9wbWVudDp0ZXN0aW5nOnVuaXRfdGVzdHMgV2lraQogKi8KY2xhc3MgQ2l0YXRpb25UZXN0IGV4dGVuZHMgXFBIUFVuaXRcRnJhbWV3b3JrXFRlc3RDYXNlCnsKICAgIHVzZSBcVnVGaW5kVGVzdFxGZWF0dXJlXFZpZXdUcmFpdDsKCiAgICAvKioKICAgICAqIFNhbXBsZSBjaXRhdGlvbnMgLS0gZWFjaCBlbGVtZW50IG9mIHRoaXMgYXJyYXkgY29udGFpbnMgdGhyZWUgZWxlbWVudHMgLS0KICAgICAqIHRoZSByYXcgaW5wdXQgZGF0YSBhbmQgdGhlIGV4cGVjdGVkIGFwYS9tbGEgb3V0cHV0IGNpdGF0aW9ucy4KICAgICAqCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2l0YXRpb25zID0gWwogICAgICAgIC8vIEBjb2RpbmdTdGFuZGFyZHNJZ25vcmVTdGFydAogICAgICAgIFsKICAgICAgICAgICAgJ3JhdycgPT4gWwogICAgICAgICAgICAgICAgJ1NlY29uZGFyeUF1dGhvcnMnID0+IFsnU2hhZmVyLCBLYXRobGVlbiBOZXd0b24nXSwKICAgICAgICAgICAgICAgICdTaG9ydFRpdGxlJyA9PiAnTWVkaWNhbC1zdXJnaWNhbCBudXJzaW5nJywKICAgICAgICAgICAgICAgICdTdWJ0aXRsZScgPT4gJycsCiAgICAgICAgICAgICAgICAnRWRpdGlvbicgPT4gJycsCiAgICAgICAgICAgICAgICAnUGxhY2VzT2ZQdWJsaWNhdGlvbicgPT4gWydTdC4gTG91aXMnXSwKICAgICAgICAgICAgICAgICdQdWJsaXNoZXJzJyA9PiBbJ01vc2J5J10sCiAgICAgICAgICAgICAgICAnUHVibGljYXRpb25EYXRlcycgPT4gWycxOTU4J10sCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICdhcGEnID0+ICdTaGFmZXIsIEsuIE4uICgxOTU4KS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBudXJzaW5nPC9pPi4gTW9zYnkuJywKICAgICAgICAgICAgJ21sYScgPT4gJ1NoYWZlciwgS2F0aGxlZW4gTmV3dG9uLiA8aT5NZWRpY2FsLXN1cmdpY2FsIE51cnNpbmc8L2k+LiBNb3NieSwgMTk1OC4nLAogICAgICAgICAgICAnY2hpY2FnbycgPT4gJ1NoYWZlciwgS2F0aGxlZW4gTmV3dG9uLiA8aT5NZWRpY2FsLXN1cmdpY2FsIE51cnNpbmc8L2k+LiBTdC4gTG91aXM6IE1vc2J5LCAxOTU4LicsCiAgICAgICAgXSwKICAgICAgICBbCiAgICAgICAgICAgICdyYXcnID0+IFsKICAgICAgICAgICAgICAgICdTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ0xld2lzLCBTLk0uJ10sCiAgICAgICAgICAgICAgICAnU2hvcnRUaXRsZScgPT4gJ01lZGljYWwtc3VyZ2ljYWwgbnVyc2luZycsCiAgICAgICAgICAgICAgICAnU3VidGl0bGUnID0+ICdhc3Nlc3NtZW50IGFuZCBtYW5hZ2VtZW50IG9mIGNsaW5pY2FsIHByb2JsZW1zLicsCiAgICAgICAgICAgICAgICAnRWRpdGlvbicgPT4gJzd0aCBlZC4gLycsCiAgICAgICAgICAgICAgICAnUGxhY2VzT2ZQdWJsaWNhdGlvbicgPT4gWydTdC4gTG91aXMsIE1vLiddLAogICAgICAgICAgICAgICAgJ1B1Ymxpc2hlcnMnID0+IFsnTW9zYnkgRWxzZXZpZXInXSwKICAgICAgICAgICAgICAgICdQdWJsaWNhdGlvbkRhdGVzJyA9PiBbJzIwMDcnXSwKICAgICAgICAgICAgXSwKICAgICAgICAgICAgJ2FwYScgPT4gJ0xld2lzLCBTLiAoMjAwNykuIDxpPk1lZGljYWwtc3VyZ2ljYWwgbnVyc2luZzogQXNzZXNzbWVudCBhbmQgbWFuYWdlbWVudCBvZiBjbGluaWNhbCBwcm9ibGVtczwvaT4gKDd0aCBlZC4pLiBNb3NieSBFbHNldmllci4nLAogICAgICAgICAgICAnbWxhJyA9PiAnTGV3aXMsIFMuTS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBOdXJzaW5nOiBBc3Nlc3NtZW50IGFuZCBNYW5hZ2VtZW50IG9mIENsaW5pY2FsIFByb2JsZW1zPC9pPi4gN3RoIGVkLiBNb3NieSBFbHNldmllciwgMjAwNy4nLAogICAgICAgICAgICAnY2hpY2FnbycgPT4gJ0xld2lzLCBTLk0uIDxpPk1lZGljYWwtc3VyZ2ljYWwgTnVyc2luZzogQXNzZXNzbWVudCBhbmQgTWFuYWdlbWVudCBvZiBDbGluaWNhbCBQcm9ibGVtczwvaT4uIDd0aCBlZC4gU3QuIExvdWlzLCBNbzogTW9zYnkgRWxzZXZpZXIsIDIwMDcuJywKICAgICAgICBdLAogICAgICAgIFsgIC8vIHN1YnRpdGxlIGVtYmVkZGVkIGluIHRpdGxlLCB3aXRoIG11bHRpLXdvcmQgdW5jYXBwZWQgcGhyYXNlLCBxdW90ZWQgd29yZCwgYW5kIERPSSBhZGRlZAogICAgICAgICAgICAncmF3JyA9PiBbCiAgICAgICAgICAgICAgICAnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydMZXdpcywgUy5NLiddLAogICAgICAgICAgICAgICAgJ1RpdGxlJyA9PiAnRXZlbiBpZiB5b3UgInRlc3QiIE1lZGljYWwtc3VyZ2ljYWwgbnVyc2luZzogYXNzZXNzbWVudCBhbmQgbWFuYWdlbWVudCBvZiBjbGluaWNhbCBwcm9ibGVtcyBvbiB0b3Agb2YgY3JhenkgY2FwaXRhbGl6YXRpb24uJywKICAgICAgICAgICAgICAgICdFZGl0aW9uJyA9PiAnN3RoIGVkLiAvJywKICAgICAgICAgICAgICAgICdQbGFjZXNPZlB1YmxpY2F0aW9uJyA9PiBbJ1N0LiBMb3VpcywgTW8uJ10sCiAgICAgICAgICAgICAgICAnUHVibGlzaGVycycgPT4gWydNb3NieSBFbHNldmllciddLAogICAgICAgICAgICAgICAgJ1B1YmxpY2F0aW9uRGF0ZXMnID0+IFsnMjAwNyddLAogICAgICAgICAgICAgICAgJ0NsZWFuRE9JJyA9PiAnbXlET0knLAogICAgICAgICAgICBdLAogICAgICAgICAgICAnYXBhJyA9PiAnTGV3aXMsIFMuICgyMDA3KS4gPGk+RXZlbiBpZiB5b3UgJnF1b3Q7dGVzdCZxdW90OyBNZWRpY2FsLXN1cmdpY2FsIG51cnNpbmc6IEFzc2Vzc21lbnQgYW5kIG1hbmFnZW1lbnQgb2YgY2xpbmljYWwgcHJvYmxlbXMgb24gdG9wIG9mIGNyYXp5IGNhcGl0YWxpemF0aW9uPC9pPiAoN3RoIGVkLikuIE1vc2J5IEVsc2V2aWVyLiBodHRwczovL2RvaS5vcmcvbXlET0knLAogICAgICAgICAgICAnbWxhJyA9PiAnTGV3aXMsIFMuTS4gPGk+RXZlbiBpZiBZb3UgJnF1b3Q7VGVzdCZxdW90OyBNZWRpY2FsLXN1cmdpY2FsIE51cnNpbmc6IEFzc2Vzc21lbnQgYW5kIE1hbmFnZW1lbnQgb2YgQ2xpbmljYWwgUHJvYmxlbXMgb24gdG9wIG9mIENyYXp5IENhcGl0YWxpemF0aW9uPC9pPi4gN3RoIGVkLiBNb3NieSBFbHNldmllciwgMjAwNy4gaHR0cHM6Ly9kb2kub3JnL215RE9JLicsCiAgICAgICAgICAgICdjaGljYWdvJyA9PiAnTGV3aXMsIFMuTS4gPGk+RXZlbiBpZiBZb3UgJnF1b3Q7VGVzdCZxdW90OyBNZWRpY2FsLXN1cmdpY2FsIE51cnNpbmc6IEFzc2Vzc21lbnQgYW5kIE1hbmFnZW1lbnQgb2YgQ2xpbmljYWwgUHJvYmxlbXMgb24gdG9wIG9mIENyYXp5IENhcGl0YWxpemF0aW9uPC9pPi4gN3RoIGVkLiBTdC4gTG91aXMsIE1vOiBNb3NieSBFbHNldmllciwgMjAwNy4gaHR0cHM6Ly9kb2kub3JnL215RE9JLicsCiAgICAgICAgXSwKICAgICAgICBbCiAgICAgICAgICAgICdyYXcnID0+IFsKICAgICAgICAgICAgICAgICdTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ0xld2lzLCBTLk0uJ10sCiAgICAgICAgICAgICAgICAnU2hvcnRUaXRsZScgPT4gJ01lZGljYWwtc3VyZ2ljYWwgbnVyc2luZycsCiAgICAgICAgICAgICAgICAnU3VidGl0bGUnID0+ICdhc3Nlc3NtZW50IGFuZCBtYW5hZ2VtZW50IG9mIGNsaW5pY2FsIHByb2JsZW1zLicsCiAgICAgICAgICAgICAgICAnRWRpdGlvbicgPT4gJzFzdCBlZC4nLAogICAgICAgICAgICAgICAgJ1BsYWNlc09mUHVibGljYXRpb24nID0+IFsnU3QuIExvdWlzLCBNby4nXSwKICAgICAgICAgICAgICAgICdQdWJsaXNoZXJzJyA9PiBbJ01vc2J5IEVsc2V2aWVyJ10sCiAgICAgICAgICAgICAgICAnUHVibGljYXRpb25EYXRlcycgPT4gWycyMDA3J10sCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICdhcGEnID0+ICdMZXdpcywgUy4gKDIwMDcpLiA8aT5NZWRpY2FsLXN1cmdpY2FsIG51cnNpbmc6IEFzc2Vzc21lbnQgYW5kIG1hbmFnZW1lbnQgb2YgY2xpbmljYWwgcHJvYmxlbXM8L2k+LiBNb3NieSBFbHNldmllci4nLAogICAgICAgICAgICAnbWxhJyA9PiAnTGV3aXMsIFMuTS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBOdXJzaW5nOiBBc3Nlc3NtZW50IGFuZCBNYW5hZ2VtZW50IG9mIENsaW5pY2FsIFByb2JsZW1zPC9pPi4gTW9zYnkgRWxzZXZpZXIsIDIwMDcuJywKICAgICAgICAgICAgJ2NoaWNhZ28nID0+ICdMZXdpcywgUy5NLiA8aT5NZWRpY2FsLXN1cmdpY2FsIE51cnNpbmc6IEFzc2Vzc21lbnQgYW5kIE1hbmFnZW1lbnQgb2YgQ2xpbmljYWwgUHJvYmxlbXM8L2k+LiBTdC4gTG91aXMsIE1vOiBNb3NieSBFbHNldmllciwgMjAwNy4nLAogICAgICAgIF0sCiAgICAgICAgWwogICAgICAgICAgICAncmF3JyA9PiBbCiAgICAgICAgICAgICAgICAnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydMZXdpcywgUy5NLiwgV2VpcmRseW5hbWVkJ10sCiAgICAgICAgICAgICAgICAnU2hvcnRUaXRsZScgPT4gJ01lZGljYWwtc3VyZ2ljYWwgbnVyc2luZycsCiAgICAgICAgICAgICAgICAnU3VidGl0bGUnID0+ICd3aHk/JywKICAgICAgICAgICAgICAgICdFZGl0aW9uJyA9PiAnN3RoIGVkLicsCiAgICAgICAgICAgICAgICAnUGxhY2VzT2ZQdWJsaWNhdGlvbicgPT4gWydTdC4gTG91aXMsIE1vLiddLAogICAgICAgICAgICAgICAgJ1B1Ymxpc2hlcnMnID0+IFsnTW9zYnkgRWxzZXZpZXInXSwKICAgICAgICAgICAgICAgICdQdWJsaWNhdGlvbkRhdGVzJyA9PiBbJzIwMDcnXSwKICAgICAgICAgICAgXSwKICAgICAgICAgICAgJ2FwYScgPT4gJ0xld2lzLCBTLiAoMjAwNykuIDxpPk1lZGljYWwtc3VyZ2ljYWwgbnVyc2luZzogV2h5PzwvaT4gKDd0aCBlZC4pLiBNb3NieSBFbHNldmllci4nLAogICAgICAgICAgICAnbWxhJyA9PiAnTGV3aXMsIFMuTS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBOdXJzaW5nOiBXaHk/PC9pPiA3dGggZWQuIE1vc2J5IEVsc2V2aWVyLCAyMDA3LicsCiAgICAgICAgICAgICdjaGljYWdvJyA9PiAnTGV3aXMsIFMuTS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBOdXJzaW5nOiBXaHk/PC9pPiA3dGggZWQuIFN0LiBMb3VpcywgTW86IE1vc2J5IEVsc2V2aWVyLCAyMDA3LicsCiAgICAgICAgXSwKICAgICAgICBbCiAgICAgICAgICAgICdyYXcnID0+IFsKICAgICAgICAgICAgICAgICdTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ0xld2lzLCBTLk0uLCBJViddLAogICAgICAgICAgICAgICAgJ1Nob3J0VGl0bGUnID0+ICdNZWRpY2FsLXN1cmdpY2FsIG51cnNpbmcnLAogICAgICAgICAgICAgICAgJ1N1YnRpdGxlJyA9PiAnd2h5PycsCiAgICAgICAgICAgICAgICAnRWRpdGlvbicgPT4gJzFzdCBlZC4nLAogICAgICAgICAgICAgICAgJ1BsYWNlc09mUHVibGljYXRpb24nID0+IFsnU3QuIExvdWlzLCBNby4nXSwKICAgICAgICAgICAgICAgICdQdWJsaXNoZXJzJyA9PiBbJ01vc2J5IEVsc2V2aWVyJ10sCiAgICAgICAgICAgICAgICAnUHVibGljYXRpb25EYXRlcycgPT4gWycyMDA3J10sCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICdhcGEnID0+ICdMZXdpcywgUy4sIElWLiAoMjAwNykuIDxpPk1lZGljYWwtc3VyZ2ljYWwgbnVyc2luZzogV2h5PzwvaT4gTW9zYnkgRWxzZXZpZXIuJywKICAgICAgICAgICAgJ21sYScgPT4gJ0xld2lzLCBTLk0uLCBJVi4gPGk+TWVkaWNhbC1zdXJnaWNhbCBOdXJzaW5nOiBXaHk/PC9pPiBNb3NieSBFbHNldmllciwgMjAwNy4nLAogICAgICAgICAgICAnY2hpY2FnbycgPT4gJ0xld2lzLCBTLk0uLCBJVi4gPGk+TWVkaWNhbC1zdXJnaWNhbCBOdXJzaW5nOiBXaHk/PC9pPiBTdC4gTG91aXMsIE1vOiBNb3NieSBFbHNldmllciwgMjAwNy4nLAogICAgICAgIF0sCiAgICAgICAgWwogICAgICAgICAgICAncmF3JyA9PiBbCiAgICAgICAgICAgICAgICAnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydCdXJjaCwgUGhpbGlwIEguLCBKci4nXSwKICAgICAgICAgICAgICAgICdTaG9ydFRpdGxlJyA9PiAnVGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgYWRtaW5pc3RyYXRpb24nLAogICAgICAgICAgICAgICAgJ1N1YnRpdGxlJyA9PiAnJywKICAgICAgICAgICAgICAgICdFZGl0aW9uJyA9PiAnJywKICAgICAgICAgICAgICAgICdQbGFjZXNPZlB1YmxpY2F0aW9uJyA9PiBbJ05ldyBZb3JrIDonXSwKICAgICAgICAgICAgICAgICdQdWJsaXNoZXJzJyA9PiBbJ0hvbG1lcyAmIE1laWVyLCddLAogICAgICAgICAgICAgICAgJ1B1YmxpY2F0aW9uRGF0ZXMnID0+IFsnMTk4MC4nXSwKICAgICAgICAgICAgXSwKICAgICAgICAgICAgJ2FwYScgPT4gJ0J1cmNoLCBQLiBILiwgSnIuICgxOTgwKS4gPGk+VGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgYWRtaW5pc3RyYXRpb248L2k+LiBIb2xtZXMgJmFtcDsgTWVpZXIuJywKICAgICAgICAgICAgJ21sYScgPT4gJ0J1cmNoLCBQaGlsaXAgSC4sIEpyLiA8aT5UaGUgTmV3IERlYWwgdG8gdGhlIENhcnRlciBBZG1pbmlzdHJhdGlvbjwvaT4uIEhvbG1lcyAmYW1wOyBNZWllciwgMTk4MC4nLAogICAgICAgICAgICAnY2hpY2FnbycgPT4gJ0J1cmNoLCBQaGlsaXAgSC4sIEpyLiA8aT5UaGUgTmV3IERlYWwgdG8gdGhlIENhcnRlciBBZG1pbmlzdHJhdGlvbjwvaT4uIE5ldyBZb3JrOiBIb2xtZXMgJmFtcDsgTWVpZXIsIDE5ODAuJywKICAgICAgICBdLAogICAgICAgIFsKICAgICAgICAgICAgJ3JhdycgPT4gWwogICAgICAgICAgICAgICAgJ1NlY29uZGFyeUF1dGhvcnMnID0+IFsnQnVyY2gsIFBoaWxpcCBILiwgSnIuJywgJ0NvYXV0aG9yLCBGaWN0aW9uYWwnLCAnRmFrZXBlcnNvbiwgVGhpcmQsIElJSSddLAogICAgICAgICAgICAgICAgJ1Nob3J0VGl0bGUnID0+ICdUaGUgTmV3IERlYWwgdG8gdGhlIENhcnRlciBhZG1pbmlzdHJhdGlvbicsCiAgICAgICAgICAgICAgICAnU3VidGl0bGUnID0+ICcnLAogICAgICAgICAgICAgICAgJ0VkaXRpb24nID0+ICcnLAogICAgICAgICAgICAgICAgJ1BsYWNlc09mUHVibGljYXRpb24nID0+IFsnTmV3IFlvcmsgOiddLAogICAgICAgICAgICAgICAgJ1B1Ymxpc2hlcnMnID0+IFsnSG9sbWVzICYgTWVpZXIsJ10sCiAgICAgICAgICAgICAgICAnUHVibGljYXRpb25EYXRlcycgPT4gWycxOTgwLiddLAogICAgICAgICAgICBdLAogICAgICAgICAgICAnYXBhJyA9PiAnQnVyY2gsIFAuIEguLCBKci4sIENvYXV0aG9yLCBGLiwgJmFtcDsgRmFrZXBlcnNvbiwgVC4sIElJSS4gKDE5ODApLiA8aT5UaGUgTmV3IERlYWwgdG8gdGhlIENhcnRlciBhZG1pbmlzdHJhdGlvbjwvaT4uIEhvbG1lcyAmYW1wOyBNZWllci4nLAogICAgICAgICAgICAnbWxhJyA9PiAnQnVyY2gsIFBoaWxpcCBILiwgSnIuLCBldCBhbC4gPGk+VGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgQWRtaW5pc3RyYXRpb248L2k+LiBIb2xtZXMgJmFtcDsgTWVpZXIsIDE5ODAuJywKICAgICAgICAgICAgJ2NoaWNhZ28nID0+ICdCdXJjaCwgUGhpbGlwIEguLCBKci4sIEZpY3Rpb25hbCBDb2F1dGhvciwgYW5kIFRoaXJkIEZha2VwZXJzb24sIElJSS4gPGk+VGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgQWRtaW5pc3RyYXRpb248L2k+LiBOZXcgWW9yazogSG9sbWVzICZhbXA7IE1laWVyLCAxOTgwLicsCiAgICAgICAgXSwKICAgICAgICBbCiAgICAgICAgICAgICdyYXcnID0+IFsKICAgICAgICAgICAgICAgICdTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ0J1cmNoLCBQaGlsaXAgSC4sIEpyLicsICdDb2F1dGhvciwgRmljdGlvbmFsJywgJ0Zha2VwZXJzb24sIFRoaXJkLCBJSUknLCAnTW9iLCBXcml0aW5nJywgJ01hbnlwZW9wbGUsIExldHNtYWtldXAnXSwKICAgICAgICAgICAgICAgICdTaG9ydFRpdGxlJyA9PiAnVGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgYWRtaW5pc3RyYXRpb24nLAogICAgICAgICAgICAgICAgJ1N1YnRpdGxlJyA9PiAnJywKICAgICAgICAgICAgICAgICdFZGl0aW9uJyA9PiAnJywKICAgICAgICAgICAgICAgICdQbGFjZXNPZlB1YmxpY2F0aW9uJyA9PiAnJywKICAgICAgICAgICAgICAgICdQdWJsaXNoZXJzJyA9PiAnJywKICAgICAgICAgICAgICAgICdQdWJsaWNhdGlvbkRhdGVzJyA9PiAnJywKICAgICAgICAgICAgXSwKICAgICAgICAgICAgJ2FwYScgPT4gJ0J1cmNoLCBQLiBILiwgSnIuLCBDb2F1dGhvciwgRi4sIEZha2VwZXJzb24sIFQuLCBJSUksIE1vYiwgVy4sICZhbXA7IE1hbnlwZW9wbGUsIEwuIDxpPlRoZSBOZXcgRGVhbCB0byB0aGUgQ2FydGVyIGFkbWluaXN0cmF0aW9uPC9pPi4nLAogICAgICAgICAgICAnbWxhJyA9PiAnQnVyY2gsIFBoaWxpcCBILiwgSnIuLCBldCBhbC4gPGk+VGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgQWRtaW5pc3RyYXRpb248L2k+LicsCiAgICAgICAgICAgICdjaGljYWdvJyA9PiAnQnVyY2gsIFBoaWxpcCBILiwgSnIuLCBGaWN0aW9uYWwgQ29hdXRob3IsIFRoaXJkIEZha2VwZXJzb24sIElJSSwgV3JpdGluZyBNb2IsIGFuZCBMZXRzbWFrZXVwIE1hbnlwZW9wbGUuIDxpPlRoZSBOZXcgRGVhbCB0byB0aGUgQ2FydGVyIEFkbWluaXN0cmF0aW9uPC9pPi4nLAogICAgICAgIF0sCiAgICAgICAgWwogICAgICAgICAgICAncmF3JyA9PiBbCiAgICAgICAgICAgICAgICAnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydCdXJjaCwgUGhpbGlwIEguLCBKci4nLCAnQW5vbnltb3VzLCAxOTcxLTE5NzMnLCAnRWxzZXBlcnNvbiwgRmlyc3RuYW1lcnksIDE5NzEtMTk3MyddLAogICAgICAgICAgICAgICAgJ1Nob3J0VGl0bGUnID0+ICdUaGUgTmV3IERlYWwgdG8gdGhlIENhcnRlciBhZG1pbmlzdHJhdGlvbicsCiAgICAgICAgICAgICAgICAnU3VidGl0bGUnID0+ICcnLAogICAgICAgICAgICAgICAgJ0VkaXRpb24nID0+ICcnLAogICAgICAgICAgICAgICAgJ1BsYWNlc09mUHVibGljYXRpb24nID0+IFsnTmV3IFlvcmsnXSwKICAgICAgICAgICAgICAgICdQdWJsaXNoZXJzJyA9PiBbJ0hvbG1lcyAmIE1laWVyJ10sCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICdhcGEnID0+ICdCdXJjaCwgUC4gSC4sIEpyLiwgQW5vbnltb3VzLCAmYW1wOyBFbHNlcGVyc29uLCBGLiA8aT5UaGUgTmV3IERlYWwgdG8gdGhlIENhcnRlciBhZG1pbmlzdHJhdGlvbjwvaT4uIEhvbG1lcyAmYW1wOyBNZWllci4nLAogICAgICAgICAgICAnbWxhJyA9PiAnQnVyY2gsIFBoaWxpcCBILiwgSnIuLCBldCBhbC4gPGk+VGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgQWRtaW5pc3RyYXRpb248L2k+LiBIb2xtZXMgJmFtcDsgTWVpZXIuJywKICAgICAgICAgICAgJ2NoaWNhZ28nID0+ICdCdXJjaCwgUGhpbGlwIEguLCBKci4sIEFub255bW91cywgYW5kIEZpcnN0bmFtZXJ5IEVsc2VwZXJzb24uIDxpPlRoZSBOZXcgRGVhbCB0byB0aGUgQ2FydGVyIEFkbWluaXN0cmF0aW9uPC9pPi4gTmV3IFlvcms6IEhvbG1lcyAmYW1wOyBNZWllci4nLAogICAgICAgIF0sCiAgICAgICAgWyAgLy8gZWlnaHQgYXV0aG9ycywgd2l0aCBhIGJsZW5kIG9mIGZvcm1hdHRpbmcgYW5kIGV4dHJhIHB1bmN0dWF0aW9uL21hbGZvcm1lZCBkYXRlcwogICAgICAgICAgICAncmF3JyA9PiBbCiAgICAgICAgICAgICAgICAnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydPbmUsIFBlcnNvbi4nLCAnUGVyc29uIFR3bycsICdUaHJlZSwgUGVyc29uJywgJ1BlcnNvbiBGb3VyLicsICdGaXZlLCBQZXJzb24sIDE5MDAtMTk1MCcsICdTaXgsIFBlcnNvbiAxOTEwLTE5NjMnLCAnUGVyc29uIFNldmVuJywgJ1BlcnNvbiBFaWdodCAxOTAwLTE5OTknXSwKICAgICAgICAgICAgICAgICdTaG9ydFRpdGxlJyA9PiAnVGVzdCBBcnRpY2xlJywKICAgICAgICAgICAgICAgICdDb250YWluZXJUaXRsZScgPT4gJ1Rlc3QgSm91cm5hbCcsCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyVm9sdW1lJyA9PiAxLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lcklzc3VlJyA9PiA3LAogICAgICAgICAgICAgICAgJ1B1YmxpY2F0aW9uRGF0ZXMnID0+IFsnMTk5OSddLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lclN0YXJ0UGFnZScgPT4gMTksCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyRW5kUGFnZScgPT4gMjEsCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICdhcGEnID0+ICdPbmUsIFAuLCBUd28sIFAuLCBUaHJlZSwgUC4sIEZvdXIsIFAuLCBGaXZlLCBQLiwgU2l4LCBQLiwgLiAuIC4gRWlnaHQsIFAuICgxOTk5KS4gVGVzdCBBcnRpY2xlLiA8aT5UZXN0IEpvdXJuYWwsIDE8L2k+KDcpLCAxOS0yMS4nLAogICAgICAgICAgICAnbWxhJyA9PiAnT25lLCBQZXJzb24sIGV0IGFsLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4sIHZvbC4gMSwgbm8uIDcsIDE5OTksIHBwLiAxOS0yMS4nLAogICAgICAgICAgICAnY2hpY2FnbycgPT4gJ09uZSwgUGVyc29uLCBQZXJzb24gVHdvLCBQZXJzb24gVGhyZWUsIFBlcnNvbiBGb3VyLCBQZXJzb24gRml2ZSwgUGVyc29uIFNpeCwgUGVyc29uIFNldmVuLCBhbmQgUGVyc29uIEVpZ2h0LiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4gMSwgbm8uIDcgKDE5OTkpOiAxOS0yMS4nLAogICAgICAgIF0sCiAgICAgICAgWyAgLy8gZWlnaHQgYXV0aG9ycwogICAgICAgICAgICAncmF3JyA9PiBbCiAgICAgICAgICAgICAgICAnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydPbmUsIFBlcnNvbicsICdUd28sIFBlcnNvbicsICdUaHJlZSwgUGVyc29uJywgJ0ZvdXIsIFBlcnNvbicsICdGaXZlLCBQZXJzb24nLCAnU2l4LCBQZXJzb24nLCAnU2V2ZW4sIFBlcnNvbicsICdFaWdodCwgUGVyc29uJ10sCiAgICAgICAgICAgICAgICAnU2hvcnRUaXRsZScgPT4gJ1Rlc3QgQXJ0aWNsZScsCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyVGl0bGUnID0+ICdUZXN0IEpvdXJuYWwnLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lclZvbHVtZScgPT4gMSwKICAgICAgICAgICAgICAgICdDb250YWluZXJJc3N1ZScgPT4gNywKICAgICAgICAgICAgICAgICdQdWJsaWNhdGlvbkRhdGVzJyA9PiBbJzE5OTknXSwKICAgICAgICAgICAgICAgICdDb250YWluZXJTdGFydFBhZ2UnID0+IDE5LAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lckVuZFBhZ2UnID0+IDIxLAogICAgICAgICAgICBdLAogICAgICAgICAgICAnYXBhJyA9PiAnT25lLCBQLiwgVHdvLCBQLiwgVGhyZWUsIFAuLCBGb3VyLCBQLiwgRml2ZSwgUC4sIFNpeCwgUC4sIC4gLiAuIEVpZ2h0LCBQLiAoMTk5OSkuIFRlc3QgQXJ0aWNsZS4gPGk+VGVzdCBKb3VybmFsLCAxPC9pPig3KSwgMTktMjEuJywKICAgICAgICAgICAgJ21sYScgPT4gJ09uZSwgUGVyc29uLCBldCBhbC4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+LCB2b2wuIDEsIG5vLiA3LCAxOTk5LCBwcC4gMTktMjEuJywKICAgICAgICAgICAgJ2NoaWNhZ28nID0+ICdPbmUsIFBlcnNvbiwgUGVyc29uIFR3bywgUGVyc29uIFRocmVlLCBQZXJzb24gRm91ciwgUGVyc29uIEZpdmUsIFBlcnNvbiBTaXgsIFBlcnNvbiBTZXZlbiwgYW5kIFBlcnNvbiBFaWdodC4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+IDEsIG5vLiA3ICgxOTk5KTogMTktMjEuJywKICAgICAgICBdLAogICAgICAgIFsgIC8vIHNldmVuIGF1dGhvcnMKICAgICAgICAgICAgJ3JhdycgPT4gWwogICAgICAgICAgICAgICAgJ1NlY29uZGFyeUF1dGhvcnMnID0+IFsnT25lLCBQZXJzb24nLCAnVHdvLCBQZXJzb24nLCAnVGhyZWUsIFBlcnNvbicsICdGb3VyLCBQZXJzb24nLCAnRml2ZSwgUGVyc29uJywgJ1NpeCwgUGVyc29uJywgJ1NldmVuLCBQZXJzb24nXSwKICAgICAgICAgICAgICAgICdTaG9ydFRpdGxlJyA9PiAnVGVzdCBBcnRpY2xlJywKICAgICAgICAgICAgICAgICdDb250YWluZXJUaXRsZScgPT4gJ1Rlc3QgSm91cm5hbCcsCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyVm9sdW1lJyA9PiAxLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lcklzc3VlJyA9PiA3LAogICAgICAgICAgICAgICAgJ1B1YmxpY2F0aW9uRGF0ZXMnID0+IFsnMTk5OSddLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lclN0YXJ0UGFnZScgPT4gMTksCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyRW5kUGFnZScgPT4gMjEsCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICdhcGEnID0+ICdPbmUsIFAuLCBUd28sIFAuLCBUaHJlZSwgUC4sIEZvdXIsIFAuLCBGaXZlLCBQLiwgU2l4LCBQLiwgJmFtcDsgU2V2ZW4sIFAuICgxOTk5KS4gVGVzdCBBcnRpY2xlLiA8aT5UZXN0IEpvdXJuYWwsIDE8L2k+KDcpLCAxOS0yMS4nLAogICAgICAgICAgICAnbWxhJyA9PiAnT25lLCBQZXJzb24sIGV0IGFsLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4sIHZvbC4gMSwgbm8uIDcsIDE5OTksIHBwLiAxOS0yMS4nLAogICAgICAgICAgICAnY2hpY2FnbycgPT4gJ09uZSwgUGVyc29uLCBQZXJzb24gVHdvLCBQZXJzb24gVGhyZWUsIFBlcnNvbiBGb3VyLCBQZXJzb24gRml2ZSwgUGVyc29uIFNpeCwgYW5kIFBlcnNvbiBTZXZlbi4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+IDEsIG5vLiA3ICgxOTk5KTogMTktMjEuJywKICAgICAgICBdLAogICAgICAgIFsgIC8vIHNpeCBhdXRob3JzCiAgICAgICAgICAgICdyYXcnID0+IFsKICAgICAgICAgICAgICAgICdTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ09uZSwgUGVyc29uJywgJ1R3bywgUGVyc29uJywgJ1RocmVlLCBQZXJzb24nLCAnRm91ciwgUGVyc29uJywgJ0ZpdmUsIFBlcnNvbicsICdTaXgsIFBlcnNvbiddLAogICAgICAgICAgICAgICAgJ1Nob3J0VGl0bGUnID0+ICdUZXN0IEFydGljbGUnLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lclRpdGxlJyA9PiAnVGVzdCBKb3VybmFsJywKICAgICAgICAgICAgICAgICdDb250YWluZXJWb2x1bWUnID0+IDEsCiAgICAgICAgICAgICAgICAnQ29udGFpbmVySXNzdWUnID0+IDcsCiAgICAgICAgICAgICAgICAnUHVibGljYXRpb25EYXRlcycgPT4gWycxOTk5J10sCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyU3RhcnRQYWdlJyA9PiAxOSwKICAgICAgICAgICAgICAgICdDb250YWluZXJFbmRQYWdlJyA9PiAyMSwKICAgICAgICAgICAgXSwKICAgICAgICAgICAgJ2FwYScgPT4gJ09uZSwgUC4sIFR3bywgUC4sIFRocmVlLCBQLiwgRm91ciwgUC4sIEZpdmUsIFAuLCAmYW1wOyBTaXgsIFAuICgxOTk5KS4gVGVzdCBBcnRpY2xlLiA8aT5UZXN0IEpvdXJuYWwsIDE8L2k+KDcpLCAxOS0yMS4nLAogICAgICAgICAgICAnbWxhJyA9PiAnT25lLCBQZXJzb24sIGV0IGFsLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4sIHZvbC4gMSwgbm8uIDcsIDE5OTksIHBwLiAxOS0yMS4nLAogICAgICAgICAgICAnY2hpY2FnbycgPT4gJ09uZSwgUGVyc29uLCBQZXJzb24gVHdvLCBQZXJzb24gVGhyZWUsIFBlcnNvbiBGb3VyLCBQZXJzb24gRml2ZSwgYW5kIFBlcnNvbiBTaXguICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiAxLCBuby4gNyAoMTk5OSk6IDE5LTIxLicsCiAgICAgICAgXSwKICAgICAgICBbICAvLyB0aHJlZSBhdXRob3JzLCBpbmNsdWRpbmcgb25lIHdpdGggYSByYW5kb20gdHJhaWxpbmcgY29tbWEKICAgICAgICAgICAgJ3JhdycgPT4gWwogICAgICAgICAgICAgICAgJ1NlY29uZGFyeUF1dGhvcnMnID0+IFsnT25lLCBQZXJzb24sJywgJ1R3bywgUGVyc29uJywgJ1RocmVlLCBQZXJzb24nXSwKICAgICAgICAgICAgICAgICdTaG9ydFRpdGxlJyA9PiAnVGVzdCBBcnRpY2xlJywKICAgICAgICAgICAgICAgICdDb250YWluZXJUaXRsZScgPT4gJ1Rlc3QgSm91cm5hbCcsCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyVm9sdW1lJyA9PiAxLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lcklzc3VlJyA9PiA3LAogICAgICAgICAgICAgICAgJ1B1YmxpY2F0aW9uRGF0ZXMnID0+IFsnMTk5OSddLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lclN0YXJ0UGFnZScgPT4gMTksCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyRW5kUGFnZScgPT4gMjEsCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICdhcGEnID0+ICdPbmUsIFAuLCBUd28sIFAuLCAmYW1wOyBUaHJlZSwgUC4gKDE5OTkpLiBUZXN0IEFydGljbGUuIDxpPlRlc3QgSm91cm5hbCwgMTwvaT4oNyksIDE5LTIxLicsCiAgICAgICAgICAgICdtbGEnID0+ICdPbmUsIFBlcnNvbiwgZXQgYWwuICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiwgdm9sLiAxLCBuby4gNywgMTk5OSwgcHAuIDE5LTIxLicsCiAgICAgICAgICAgICdjaGljYWdvJyA9PiAnT25lLCBQZXJzb24sIFBlcnNvbiBUd28sIGFuZCBQZXJzb24gVGhyZWUuICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiAxLCBuby4gNyAoMTk5OSk6IDE5LTIxLicsCiAgICAgICAgXSwKICAgICAgICBbICAvLyB0d28gYXV0aG9ycyB3aXRoIGJpcnRoIGRhdGVzIGluIGRpZmZlcmVudCBmb3JtYXRzLCBzaW5nbGUtcGFnZSBhcnRpY2xlCiAgICAgICAgICAgICdyYXcnID0+IFsKICAgICAgICAgICAgICAgICdTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ09uZSwgUGVyc29uLCBiLiAxOTYwJywgJ1R3bywgUGVyc29uLCAxOTcwLSddLAogICAgICAgICAgICAgICAgJ1Nob3J0VGl0bGUnID0+ICdUZXN0IEFydGljbGUnLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lclRpdGxlJyA9PiAnVGVzdCBKb3VybmFsJywKICAgICAgICAgICAgICAgICdDb250YWluZXJWb2x1bWUnID0+IDEsCiAgICAgICAgICAgICAgICAnQ29udGFpbmVySXNzdWUnID0+IDcsCiAgICAgICAgICAgICAgICAnUHVibGljYXRpb25EYXRlcycgPT4gWycxOTk5J10sCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyU3RhcnRQYWdlJyA9PiAxOSwKICAgICAgICAgICAgICAgICdDb250YWluZXJFbmRQYWdlJyA9PiAxOSwKICAgICAgICAgICAgXSwKICAgICAgICAgICAgJ2FwYScgPT4gJ09uZSwgUC4sICZhbXA7IFR3bywgUC4gKDE5OTkpLiBUZXN0IEFydGljbGUuIDxpPlRlc3QgSm91cm5hbCwgMTwvaT4oNyksIDE5LicsCiAgICAgICAgICAgICdtbGEnID0+ICdPbmUsIFBlcnNvbiwgYW5kIFBlcnNvbiBUd28uICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiwgdm9sLiAxLCBuby4gNywgMTk5OSwgcC4gMTkuJywKICAgICAgICAgICAgJ2NoaWNhZ28nID0+ICdPbmUsIFBlcnNvbiwgYW5kIFBlcnNvbiBUd28uICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiAxLCBuby4gNyAoMTk5OSk6IDE5LicsCiAgICAgICAgXSwKICAgICAgICBbICAvLyB0d28gYXV0aG9ycyB3aXRoIG5vIGNvbW1hIGluIGZpcnN0IGF1dGhvcidzIG5hbWUgKHRlc3Qgbm8gY29tbWEgYmVmb3JlIGFuZCkKICAgICAgICAgICAgLy8gYW5kIHBhcmVudGhldGljYWwgbm90ZSBvbiBzZWNvbmQgYXV0aG9yICh0ZXN0IGl0IGlzIHJlbW92ZWQpCiAgICAgICAgICAgICdyYXcnID0+IFsKICAgICAgICAgICAgICAgICdTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ0lCTScsICdUd28sIFBlcnNvbiAoRGlyZWN0b3IpLCAxOTcwLSddLAogICAgICAgICAgICAgICAgJ1Nob3J0VGl0bGUnID0+ICdUZXN0IEFydGljbGUnLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lclRpdGxlJyA9PiAnVGVzdCBKb3VybmFsJywKICAgICAgICAgICAgICAgICdDb250YWluZXJWb2x1bWUnID0+IDEsCiAgICAgICAgICAgICAgICAnQ29udGFpbmVySXNzdWUnID0+IDcsCiAgICAgICAgICAgICAgICAnUHVibGljYXRpb25EYXRlcycgPT4gWycxOTk5J10sCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyU3RhcnRQYWdlJyA9PiAxOSwKICAgICAgICAgICAgICAgICdDb250YWluZXJFbmRQYWdlJyA9PiAxOSwKICAgICAgICAgICAgXSwKICAgICAgICAgICAgJ2FwYScgPT4gJ0lCTSAmYW1wOyBUd28sIFAuICgxOTk5KS4gVGVzdCBBcnRpY2xlLiA8aT5UZXN0IEpvdXJuYWwsIDE8L2k+KDcpLCAxOS4nLAogICAgICAgICAgICAnbWxhJyA9PiAnSUJNIGFuZCBQZXJzb24gVHdvLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4sIHZvbC4gMSwgbm8uIDcsIDE5OTksIHAuIDE5LicsCiAgICAgICAgICAgICdjaGljYWdvJyA9PiAnSUJNIGFuZCBQZXJzb24gVHdvLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4gMSwgbm8uIDcgKDE5OTkpOiAxOS4nLAogICAgICAgIF0sCiAgICAgICAgWyAgLy8gb25lIGF1dGhvcgogICAgICAgICAgICAncmF3JyA9PiBbCiAgICAgICAgICAgICAgICAnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydPbmUsIFBlcnNvbiddLAogICAgICAgICAgICAgICAgJ1Nob3J0VGl0bGUnID0+ICdUZXN0IEFydGljbGUnLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lclRpdGxlJyA9PiAnVGVzdCBKb3VybmFsJywKICAgICAgICAgICAgICAgICdDb250YWluZXJWb2x1bWUnID0+IDEsCiAgICAgICAgICAgICAgICAnQ29udGFpbmVySXNzdWUnID0+IDcsCiAgICAgICAgICAgICAgICAnUHVibGljYXRpb25EYXRlcycgPT4gWycxOTk5J10sCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyU3RhcnRQYWdlJyA9PiAxOSwKICAgICAgICAgICAgICAgICdDb250YWluZXJFbmRQYWdlJyA9PiAyMSwKICAgICAgICAgICAgXSwKICAgICAgICAgICAgJ2FwYScgPT4gJ09uZSwgUC4gKDE5OTkpLiBUZXN0IEFydGljbGUuIDxpPlRlc3QgSm91cm5hbCwgMTwvaT4oNyksIDE5LTIxLicsCiAgICAgICAgICAgICdtbGEnID0+ICdPbmUsIFBlcnNvbi4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+LCB2b2wuIDEsIG5vLiA3LCAxOTk5LCBwcC4gMTktMjEuJywKICAgICAgICAgICAgJ2NoaWNhZ28nID0+ICdPbmUsIFBlcnNvbi4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+IDEsIG5vLiA3ICgxOTk5KTogMTktMjEuJywKICAgICAgICBdLAogICAgICAgIFsgIC8vIGVpZ2h0IGF1dGhvcnMgaW4gImZpcnN0IG5hbWUgZmlyc3QiIGZvcm1hdC4KICAgICAgICAgICAgJ3JhdycgPT4gWwogICAgICAgICAgICAgICAgJ1NlY29uZGFyeUF1dGhvcnMnID0+IFsnUGVyc29uIE9uZSBiLiAxOTYwJywgJ1BlcnNvbiBUd28gMTg2OS0nLCAnUGVyc29uIFRocmVlJywgJ1BlcnNvbiBGb3VyJywgJ1BlcnNvbiBGaXZlJywgJ1BlcnNvbiBTaXgnLCAnUGVyc29uIFNldmVuJywgJ1BlcnNvbiBFaWdodCddLAogICAgICAgICAgICAgICAgJ1Nob3J0VGl0bGUnID0+ICdUZXN0IEFydGljbGUnLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lclRpdGxlJyA9PiAnVGVzdCBKb3VybmFsJywKICAgICAgICAgICAgICAgICdDb250YWluZXJWb2x1bWUnID0+IDEsCiAgICAgICAgICAgICAgICAnQ29udGFpbmVySXNzdWUnID0+IDcsCiAgICAgICAgICAgICAgICAnUHVibGljYXRpb25EYXRlcycgPT4gWycxOTk5J10sCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyU3RhcnRQYWdlJyA9PiAxOSwKICAgICAgICAgICAgICAgICdDb250YWluZXJFbmRQYWdlJyA9PiAyMSwKICAgICAgICAgICAgXSwKICAgICAgICAgICAgJ2FwYScgPT4gJ09uZSwgUC4sIFR3bywgUC4sIFRocmVlLCBQLiwgRm91ciwgUC4sIEZpdmUsIFAuLCBTaXgsIFAuLCAuIC4gLiBFaWdodCwgUC4gKDE5OTkpLiBUZXN0IEFydGljbGUuIDxpPlRlc3QgSm91cm5hbCwgMTwvaT4oNyksIDE5LTIxLicsCiAgICAgICAgICAgICdtbGEnID0+ICdPbmUsIFBlcnNvbiwgZXQgYWwuICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiwgdm9sLiAxLCBuby4gNywgMTk5OSwgcHAuIDE5LTIxLicsCiAgICAgICAgICAgICdjaGljYWdvJyA9PiAnT25lLCBQZXJzb24sIFBlcnNvbiBUd28sIFBlcnNvbiBUaHJlZSwgUGVyc29uIEZvdXIsIFBlcnNvbiBGaXZlLCBQZXJzb24gU2l4LCBQZXJzb24gU2V2ZW4sIGFuZCBQZXJzb24gRWlnaHQuICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiAxLCBuby4gNyAoMTk5OSk6IDE5LTIxLicsCiAgICAgICAgXSwKICAgICAgICBbICAvLyB0ZW4gYXV0aG9ycyBpbiAiZmlyc3QgbmFtZSBmaXJzdCIgZm9ybWF0LgogICAgICAgICAgICAncmF3JyA9PiBbCiAgICAgICAgICAgICAgICAnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydQZXJzb24gT25lJywgJ1BlcnNvbiBUd28nLCAnUGVyc29uIFRocmVlJywgJ1BlcnNvbiBGb3VyJywgJ1BlcnNvbiBGaXZlJywgJ1BlcnNvbiBTaXgnLCAnUGVyc29uIFNldmVuJywgJ1BlcnNvbiBFaWdodCcsICdQZXJzb24gTmluZScsICdQZXJzb24gVGVuJ10sCiAgICAgICAgICAgICAgICAnU2hvcnRUaXRsZScgPT4gJ1Rlc3QgQXJ0aWNsZScsCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyVGl0bGUnID0+ICdUZXN0IEpvdXJuYWwnLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lclZvbHVtZScgPT4gMSwKICAgICAgICAgICAgICAgICdDb250YWluZXJJc3N1ZScgPT4gNywKICAgICAgICAgICAgICAgICdQdWJsaWNhdGlvbkRhdGVzJyA9PiBbJzE5OTknXSwKICAgICAgICAgICAgICAgICdDb250YWluZXJTdGFydFBhZ2UnID0+IDE5LAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lckVuZFBhZ2UnID0+IDIxLAogICAgICAgICAgICBdLAogICAgICAgICAgICAnYXBhJyA9PiAnT25lLCBQLiwgVHdvLCBQLiwgVGhyZWUsIFAuLCBGb3VyLCBQLiwgRml2ZSwgUC4sIFNpeCwgUC4sIC4gLiAuIFRlbiwgUC4gKDE5OTkpLiBUZXN0IEFydGljbGUuIDxpPlRlc3QgSm91cm5hbCwgMTwvaT4oNyksIDE5LTIxLicsCiAgICAgICAgICAgICdtbGEnID0+ICdPbmUsIFBlcnNvbiwgZXQgYWwuICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiwgdm9sLiAxLCBuby4gNywgMTk5OSwgcHAuIDE5LTIxLicsCiAgICAgICAgICAgICdjaGljYWdvJyA9PiAnT25lLCBQZXJzb24sIGV0IGFsLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4gMSwgbm8uIDcgKDE5OTkpOiAxOS0yMS4nLAogICAgICAgIF0sCiAgICAgICAgWyAgLy8gRE9JCiAgICAgICAgICAgICdyYXcnID0+IFsKICAgICAgICAgICAgICAgICdTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ09uZSwgUGVyc29uJ10sCiAgICAgICAgICAgICAgICAnU2hvcnRUaXRsZScgPT4gJ1Rlc3QgQXJ0aWNsZScsCiAgICAgICAgICAgICAgICAnQ29udGFpbmVyVGl0bGUnID0+ICdUZXN0IEpvdXJuYWwnLAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lclZvbHVtZScgPT4gMSwKICAgICAgICAgICAgICAgICdDb250YWluZXJJc3N1ZScgPT4gNywKICAgICAgICAgICAgICAgICdQdWJsaWNhdGlvbkRhdGVzJyA9PiBbJzE5OTknXSwKICAgICAgICAgICAgICAgICdDb250YWluZXJTdGFydFBhZ2UnID0+IDE5LAogICAgICAgICAgICAgICAgJ0NvbnRhaW5lckVuZFBhZ2UnID0+IDIxLAogICAgICAgICAgICAgICAgJ0NsZWFuRE9JJyA9PiAndGVzdERPSScsCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICdhcGEnID0+ICdPbmUsIFAuICgxOTk5KS4gVGVzdCBBcnRpY2xlLiA8aT5UZXN0IEpvdXJuYWwsIDE8L2k+KDcpLCAxOS0yMS4gaHR0cHM6Ly9kb2kub3JnL3Rlc3RET0knLAogICAgICAgICAgICAnbWxhJyA9PiAnT25lLCBQZXJzb24uICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiwgdm9sLiAxLCBuby4gNywgMTk5OSwgcHAuIDE5LTIxLCBodHRwczovL2RvaS5vcmcvdGVzdERPSS4nLAogICAgICAgICAgICAnY2hpY2FnbycgPT4gJ09uZSwgUGVyc29uLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4gMSwgbm8uIDcgKDE5OTkpOiAxOS0yMS4gaHR0cHM6Ly9kb2kub3JnL3Rlc3RET0kuJywKICAgICAgICBdLAogICAgICAgIC8vIEBjb2RpbmdTdGFuZGFyZHNJZ25vcmVFbmQKICAgIF07CgogICAgLyoqCiAgICAgKiBUZXN0IGNpdGF0aW9uIGdlbmVyYXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDaXRhdGlvbnMoKQogICAgewogICAgICAgICRjaXRhdGlvbiA9IG5ldyBDaXRhdGlvbihuZXcgXFZ1RmluZFxEYXRlXENvbnZlcnRlcigpKTsKICAgICAgICAkY2l0YXRpb24tPnNldFZpZXcoJHRoaXMtPmdldFBocFJlbmRlcmVyKCkpOwogICAgICAgICRkcml2ZXIgPSBuZXcgXFZ1RmluZFRlc3RcUmVjb3JkRHJpdmVyXFRlc3RIYXJuZXNzKCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmNpdGF0aW9ucyBhcyAkY3VycmVudCkgewogICAgICAgICAgICAkZHJpdmVyLT5zZXRSYXdEYXRhKCRjdXJyZW50WydyYXcnXSk7CiAgICAgICAgICAgICRjYiA9ICRjaXRhdGlvbigkZHJpdmVyKTsKCiAgICAgICAgICAgIC8vIE5vcm1hbGl6ZSB3aGl0ZXNwYWNlOgogICAgICAgICAgICAkYXBhID0gdHJpbShwcmVnX3JlcGxhY2UoIi9ccysvIiwgJyAnLCAkY2ItPmdldENpdGF0aW9uKCdBUEEnKSkpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRjdXJyZW50WydhcGEnXSwgJGFwYSk7CgogICAgICAgICAgICAvLyBOb3JtYWxpemUgd2hpdGVzcGFjZToKICAgICAgICAgICAgJG1sYSA9IHRyaW0ocHJlZ19yZXBsYWNlKCIvXHMrLyIsICcgJywgJGNiLT5nZXRDaXRhdGlvbignTUxBJykpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkY3VycmVudFsnbWxhJ10sICRtbGEpOwoKICAgICAgICAgICAgLy8gTm9ybWFsaXplIHdoaXRlc3BhY2U6CiAgICAgICAgICAgICRjaGljYWdvID0gdHJpbShwcmVnX3JlcGxhY2UoIi9ccysvIiwgJyAnLCAkY2ItPmdldENpdGF0aW9uKCdDaGljYWdvJykpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkY3VycmVudFsnY2hpY2FnbyddLCAkY2hpY2Fnbyk7CiAgICAgICAgfQoKICAgICAgICAkY2IgPSAkY2l0YXRpb24oJGRyaXZlcik7CiAgICAgICAgLy8gVGVzdCBhIGNvdXBsZSBvZiBpbGxlZ2FsIGNpdGF0aW9uIGZvcm1hdHM6CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnJywgJGNiLT5nZXRDaXRhdGlvbignJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJycsICRjYi0+Z2V0Q2l0YXRpb24oJ0NpdGF0aW9uJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJycsICRjYi0+Z2V0Q2l0YXRpb24oJ1N1cHBvcnRlZENpdGF0aW9uRm9ybWF0cycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcnLCAkY2ItPmdldENpdGF0aW9uKCdiYWRnYXJiYWdlJykpOwogICAgfQp9CiI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjE6e3M6Mjg6IlxWdUZpbmRUZXN0XFZpZXdcSGVscGVyXFJvb3QiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyODoiXFZ1RmluZFRlc3RcVmlld1xIZWxwZXJcUm9vdCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjQ6IlJvb3QiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNsYXNzZXMiO2E6MTp7czo0MToiXFZ1RmluZFRlc3RcVmlld1xIZWxwZXJcUm9vdFxDaXRhdGlvblRlc3QiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIjoxMzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDE6IlxWdUZpbmRUZXN0XFZpZXdcSGVscGVyXFJvb3RcQ2l0YXRpb25UZXN0IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTI6IkNpdGF0aW9uVGVzdCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MjY6IkNpdGF0aW9uQnVpbGRlciBUZXN0IENsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjU6e2k6MDtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljIjoyOntzOjc6IgAqAG5hbWUiO3M6ODoiY2F0ZWdvcnkiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjY6IlZ1RmluZCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljIjoyOntzOjc6IgAqAG5hbWUiO3M6NzoicGFja2FnZSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NToiVGVzdHMiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yIjo0OntzOjc6IgAqAG5hbWUiO3M6NjoiYXV0aG9yIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7TjtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvck5hbWUiO3M6MTE6IkRlbWlhbiBLYXR6IjtzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvckVtYWlsIjtzOjI1OiJkZW1pYW4ua2F0ekB2aWxsYW5vdmEuZWR1Ijt9aTozO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo3OiJsaWNlbnNlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2OToiaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC0yLjAucGhwIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo0O086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXExpbmsiOjM6e3M6NzoiACoAbmFtZSI7czo0OiJsaW5rIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0OiJXaWtpIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcTGluawBsaW5rIjtzOjU0OiJodHRwczovL3Z1ZmluZC5vcmcvd2lraS9kZXZlbG9wbWVudDp0ZXN0aW5nOnVuaXRfdGVzdHMiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czoyNzoiVnVGaW5kVGVzdFxWaWV3XEhlbHBlclxSb290IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YToxOntzOjg6IkNpdGF0aW9uIjtzOjMyOiJWdUZpbmRcVmlld1xIZWxwZXJcUm9vdFxDaXRhdGlvbiI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyNzoiXFBIUFVuaXRcRnJhbWV3b3JrXFRlc3RDYXNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoiVGVzdENhc2UiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AaW1wbGVtZW50cyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGNvbnN0YW50cyI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHByb3BlcnRpZXMiO2E6MTp7czo1MzoiXFZ1RmluZFRlc3RcVmlld1xIZWxwZXJcUm9vdFxDaXRhdGlvblRlc3Q6OiRjaXRhdGlvbnMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjExOntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUzOiJcVnVGaW5kVGVzdFxWaWV3XEhlbHBlclxSb290XENpdGF0aW9uVGVzdDo6JGNpdGF0aW9ucyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjk6ImNpdGF0aW9ucyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxMzU6IlNhbXBsZSBjaXRhdGlvbnMgLS0gZWFjaCBlbGVtZW50IG9mIHRoaXMgYXJyYXkgY29udGFpbnMgdGhyZWUgZWxlbWVudHMgLS0KdGhlIHJhdyBpbnB1dCBkYXRhIGFuZCB0aGUgZXhwZWN0ZWQgYXBhL21sYSBvdXRwdXQgY2l0YXRpb25zLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjg4O3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO3M6MTU4NzU6IlsKICAgIC8vIEBjb2RpbmdTdGFuZGFyZHNJZ25vcmVTdGFydAogICAgWydyYXcnID0+IFsnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydTaGFmZXIsIEthdGhsZWVuIE5ld3RvbiddLCAnU2hvcnRUaXRsZScgPT4gJ01lZGljYWwtc3VyZ2ljYWwgbnVyc2luZycsICdTdWJ0aXRsZScgPT4gJycsICdFZGl0aW9uJyA9PiAnJywgJ1BsYWNlc09mUHVibGljYXRpb24nID0+IFsnU3QuIExvdWlzJ10sICdQdWJsaXNoZXJzJyA9PiBbJ01vc2J5J10sICdQdWJsaWNhdGlvbkRhdGVzJyA9PiBbJzE5NTgnXV0sICdhcGEnID0+ICdTaGFmZXIsIEsuIE4uICgxOTU4KS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBudXJzaW5nPC9pPi4gTW9zYnkuJywgJ21sYScgPT4gJ1NoYWZlciwgS2F0aGxlZW4gTmV3dG9uLiA8aT5NZWRpY2FsLXN1cmdpY2FsIE51cnNpbmc8L2k+LiBNb3NieSwgMTk1OC4nLCAnY2hpY2FnbycgPT4gJ1NoYWZlciwgS2F0aGxlZW4gTmV3dG9uLiA8aT5NZWRpY2FsLXN1cmdpY2FsIE51cnNpbmc8L2k+LiBTdC4gTG91aXM6IE1vc2J5LCAxOTU4LiddLAogICAgWydyYXcnID0+IFsnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydMZXdpcywgUy5NLiddLCAnU2hvcnRUaXRsZScgPT4gJ01lZGljYWwtc3VyZ2ljYWwgbnVyc2luZycsICdTdWJ0aXRsZScgPT4gJ2Fzc2Vzc21lbnQgYW5kIG1hbmFnZW1lbnQgb2YgY2xpbmljYWwgcHJvYmxlbXMuJywgJ0VkaXRpb24nID0+ICc3dGggZWQuIC8nLCAnUGxhY2VzT2ZQdWJsaWNhdGlvbicgPT4gWydTdC4gTG91aXMsIE1vLiddLCAnUHVibGlzaGVycycgPT4gWydNb3NieSBFbHNldmllciddLCAnUHVibGljYXRpb25EYXRlcycgPT4gWycyMDA3J11dLCAnYXBhJyA9PiAnTGV3aXMsIFMuICgyMDA3KS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBudXJzaW5nOiBBc3Nlc3NtZW50IGFuZCBtYW5hZ2VtZW50IG9mIGNsaW5pY2FsIHByb2JsZW1zPC9pPiAoN3RoIGVkLikuIE1vc2J5IEVsc2V2aWVyLicsICdtbGEnID0+ICdMZXdpcywgUy5NLiA8aT5NZWRpY2FsLXN1cmdpY2FsIE51cnNpbmc6IEFzc2Vzc21lbnQgYW5kIE1hbmFnZW1lbnQgb2YgQ2xpbmljYWwgUHJvYmxlbXM8L2k+LiA3dGggZWQuIE1vc2J5IEVsc2V2aWVyLCAyMDA3LicsICdjaGljYWdvJyA9PiAnTGV3aXMsIFMuTS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBOdXJzaW5nOiBBc3Nlc3NtZW50IGFuZCBNYW5hZ2VtZW50IG9mIENsaW5pY2FsIFByb2JsZW1zPC9pPi4gN3RoIGVkLiBTdC4gTG91aXMsIE1vOiBNb3NieSBFbHNldmllciwgMjAwNy4nXSwKICAgIFsKICAgICAgICAvLyBzdWJ0aXRsZSBlbWJlZGRlZCBpbiB0aXRsZSwgd2l0aCBtdWx0aS13b3JkIHVuY2FwcGVkIHBocmFzZSwgcXVvdGVkIHdvcmQsIGFuZCBET0kgYWRkZWQKICAgICAgICAncmF3JyA9PiBbJ1NlY29uZGFyeUF1dGhvcnMnID0+IFsnTGV3aXMsIFMuTS4nXSwgJ1RpdGxlJyA9PiAnRXZlbiBpZiB5b3UgInRlc3QiIE1lZGljYWwtc3VyZ2ljYWwgbnVyc2luZzogYXNzZXNzbWVudCBhbmQgbWFuYWdlbWVudCBvZiBjbGluaWNhbCBwcm9ibGVtcyBvbiB0b3Agb2YgY3JhenkgY2FwaXRhbGl6YXRpb24uJywgJ0VkaXRpb24nID0+ICc3dGggZWQuIC8nLCAnUGxhY2VzT2ZQdWJsaWNhdGlvbicgPT4gWydTdC4gTG91aXMsIE1vLiddLCAnUHVibGlzaGVycycgPT4gWydNb3NieSBFbHNldmllciddLCAnUHVibGljYXRpb25EYXRlcycgPT4gWycyMDA3J10sICdDbGVhbkRPSScgPT4gJ215RE9JJ10sCiAgICAgICAgJ2FwYScgPT4gJ0xld2lzLCBTLiAoMjAwNykuIDxpPkV2ZW4gaWYgeW91ICZxdW90O3Rlc3QmcXVvdDsgTWVkaWNhbC1zdXJnaWNhbCBudXJzaW5nOiBBc3Nlc3NtZW50IGFuZCBtYW5hZ2VtZW50IG9mIGNsaW5pY2FsIHByb2JsZW1zIG9uIHRvcCBvZiBjcmF6eSBjYXBpdGFsaXphdGlvbjwvaT4gKDd0aCBlZC4pLiBNb3NieSBFbHNldmllci4gaHR0cHM6Ly9kb2kub3JnL215RE9JJywKICAgICAgICAnbWxhJyA9PiAnTGV3aXMsIFMuTS4gPGk+RXZlbiBpZiBZb3UgJnF1b3Q7VGVzdCZxdW90OyBNZWRpY2FsLXN1cmdpY2FsIE51cnNpbmc6IEFzc2Vzc21lbnQgYW5kIE1hbmFnZW1lbnQgb2YgQ2xpbmljYWwgUHJvYmxlbXMgb24gdG9wIG9mIENyYXp5IENhcGl0YWxpemF0aW9uPC9pPi4gN3RoIGVkLiBNb3NieSBFbHNldmllciwgMjAwNy4gaHR0cHM6Ly9kb2kub3JnL215RE9JLicsCiAgICAgICAgJ2NoaWNhZ28nID0+ICdMZXdpcywgUy5NLiA8aT5FdmVuIGlmIFlvdSAmcXVvdDtUZXN0JnF1b3Q7IE1lZGljYWwtc3VyZ2ljYWwgTnVyc2luZzogQXNzZXNzbWVudCBhbmQgTWFuYWdlbWVudCBvZiBDbGluaWNhbCBQcm9ibGVtcyBvbiB0b3Agb2YgQ3JhenkgQ2FwaXRhbGl6YXRpb248L2k+LiA3dGggZWQuIFN0LiBMb3VpcywgTW86IE1vc2J5IEVsc2V2aWVyLCAyMDA3LiBodHRwczovL2RvaS5vcmcvbXlET0kuJywKICAgIF0sCiAgICBbJ3JhdycgPT4gWydTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ0xld2lzLCBTLk0uJ10sICdTaG9ydFRpdGxlJyA9PiAnTWVkaWNhbC1zdXJnaWNhbCBudXJzaW5nJywgJ1N1YnRpdGxlJyA9PiAnYXNzZXNzbWVudCBhbmQgbWFuYWdlbWVudCBvZiBjbGluaWNhbCBwcm9ibGVtcy4nLCAnRWRpdGlvbicgPT4gJzFzdCBlZC4nLCAnUGxhY2VzT2ZQdWJsaWNhdGlvbicgPT4gWydTdC4gTG91aXMsIE1vLiddLCAnUHVibGlzaGVycycgPT4gWydNb3NieSBFbHNldmllciddLCAnUHVibGljYXRpb25EYXRlcycgPT4gWycyMDA3J11dLCAnYXBhJyA9PiAnTGV3aXMsIFMuICgyMDA3KS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBudXJzaW5nOiBBc3Nlc3NtZW50IGFuZCBtYW5hZ2VtZW50IG9mIGNsaW5pY2FsIHByb2JsZW1zPC9pPi4gTW9zYnkgRWxzZXZpZXIuJywgJ21sYScgPT4gJ0xld2lzLCBTLk0uIDxpPk1lZGljYWwtc3VyZ2ljYWwgTnVyc2luZzogQXNzZXNzbWVudCBhbmQgTWFuYWdlbWVudCBvZiBDbGluaWNhbCBQcm9ibGVtczwvaT4uIE1vc2J5IEVsc2V2aWVyLCAyMDA3LicsICdjaGljYWdvJyA9PiAnTGV3aXMsIFMuTS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBOdXJzaW5nOiBBc3Nlc3NtZW50IGFuZCBNYW5hZ2VtZW50IG9mIENsaW5pY2FsIFByb2JsZW1zPC9pPi4gU3QuIExvdWlzLCBNbzogTW9zYnkgRWxzZXZpZXIsIDIwMDcuJ10sCiAgICBbJ3JhdycgPT4gWydTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ0xld2lzLCBTLk0uLCBXZWlyZGx5bmFtZWQnXSwgJ1Nob3J0VGl0bGUnID0+ICdNZWRpY2FsLXN1cmdpY2FsIG51cnNpbmcnLCAnU3VidGl0bGUnID0+ICd3aHk/JywgJ0VkaXRpb24nID0+ICc3dGggZWQuJywgJ1BsYWNlc09mUHVibGljYXRpb24nID0+IFsnU3QuIExvdWlzLCBNby4nXSwgJ1B1Ymxpc2hlcnMnID0+IFsnTW9zYnkgRWxzZXZpZXInXSwgJ1B1YmxpY2F0aW9uRGF0ZXMnID0+IFsnMjAwNyddXSwgJ2FwYScgPT4gJ0xld2lzLCBTLiAoMjAwNykuIDxpPk1lZGljYWwtc3VyZ2ljYWwgbnVyc2luZzogV2h5PzwvaT4gKDd0aCBlZC4pLiBNb3NieSBFbHNldmllci4nLCAnbWxhJyA9PiAnTGV3aXMsIFMuTS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBOdXJzaW5nOiBXaHk/PC9pPiA3dGggZWQuIE1vc2J5IEVsc2V2aWVyLCAyMDA3LicsICdjaGljYWdvJyA9PiAnTGV3aXMsIFMuTS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBOdXJzaW5nOiBXaHk/PC9pPiA3dGggZWQuIFN0LiBMb3VpcywgTW86IE1vc2J5IEVsc2V2aWVyLCAyMDA3LiddLAogICAgWydyYXcnID0+IFsnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydMZXdpcywgUy5NLiwgSVYnXSwgJ1Nob3J0VGl0bGUnID0+ICdNZWRpY2FsLXN1cmdpY2FsIG51cnNpbmcnLCAnU3VidGl0bGUnID0+ICd3aHk/JywgJ0VkaXRpb24nID0+ICcxc3QgZWQuJywgJ1BsYWNlc09mUHVibGljYXRpb24nID0+IFsnU3QuIExvdWlzLCBNby4nXSwgJ1B1Ymxpc2hlcnMnID0+IFsnTW9zYnkgRWxzZXZpZXInXSwgJ1B1YmxpY2F0aW9uRGF0ZXMnID0+IFsnMjAwNyddXSwgJ2FwYScgPT4gJ0xld2lzLCBTLiwgSVYuICgyMDA3KS4gPGk+TWVkaWNhbC1zdXJnaWNhbCBudXJzaW5nOiBXaHk/PC9pPiBNb3NieSBFbHNldmllci4nLCAnbWxhJyA9PiAnTGV3aXMsIFMuTS4sIElWLiA8aT5NZWRpY2FsLXN1cmdpY2FsIE51cnNpbmc6IFdoeT88L2k+IE1vc2J5IEVsc2V2aWVyLCAyMDA3LicsICdjaGljYWdvJyA9PiAnTGV3aXMsIFMuTS4sIElWLiA8aT5NZWRpY2FsLXN1cmdpY2FsIE51cnNpbmc6IFdoeT88L2k+IFN0LiBMb3VpcywgTW86IE1vc2J5IEVsc2V2aWVyLCAyMDA3LiddLAogICAgWydyYXcnID0+IFsnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydCdXJjaCwgUGhpbGlwIEguLCBKci4nXSwgJ1Nob3J0VGl0bGUnID0+ICdUaGUgTmV3IERlYWwgdG8gdGhlIENhcnRlciBhZG1pbmlzdHJhdGlvbicsICdTdWJ0aXRsZScgPT4gJycsICdFZGl0aW9uJyA9PiAnJywgJ1BsYWNlc09mUHVibGljYXRpb24nID0+IFsnTmV3IFlvcmsgOiddLCAnUHVibGlzaGVycycgPT4gWydIb2xtZXMgJiBNZWllciwnXSwgJ1B1YmxpY2F0aW9uRGF0ZXMnID0+IFsnMTk4MC4nXV0sICdhcGEnID0+ICdCdXJjaCwgUC4gSC4sIEpyLiAoMTk4MCkuIDxpPlRoZSBOZXcgRGVhbCB0byB0aGUgQ2FydGVyIGFkbWluaXN0cmF0aW9uPC9pPi4gSG9sbWVzICZhbXA7IE1laWVyLicsICdtbGEnID0+ICdCdXJjaCwgUGhpbGlwIEguLCBKci4gPGk+VGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgQWRtaW5pc3RyYXRpb248L2k+LiBIb2xtZXMgJmFtcDsgTWVpZXIsIDE5ODAuJywgJ2NoaWNhZ28nID0+ICdCdXJjaCwgUGhpbGlwIEguLCBKci4gPGk+VGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgQWRtaW5pc3RyYXRpb248L2k+LiBOZXcgWW9yazogSG9sbWVzICZhbXA7IE1laWVyLCAxOTgwLiddLAogICAgWydyYXcnID0+IFsnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydCdXJjaCwgUGhpbGlwIEguLCBKci4nLCAnQ29hdXRob3IsIEZpY3Rpb25hbCcsICdGYWtlcGVyc29uLCBUaGlyZCwgSUlJJ10sICdTaG9ydFRpdGxlJyA9PiAnVGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgYWRtaW5pc3RyYXRpb24nLCAnU3VidGl0bGUnID0+ICcnLCAnRWRpdGlvbicgPT4gJycsICdQbGFjZXNPZlB1YmxpY2F0aW9uJyA9PiBbJ05ldyBZb3JrIDonXSwgJ1B1Ymxpc2hlcnMnID0+IFsnSG9sbWVzICYgTWVpZXIsJ10sICdQdWJsaWNhdGlvbkRhdGVzJyA9PiBbJzE5ODAuJ11dLCAnYXBhJyA9PiAnQnVyY2gsIFAuIEguLCBKci4sIENvYXV0aG9yLCBGLiwgJmFtcDsgRmFrZXBlcnNvbiwgVC4sIElJSS4gKDE5ODApLiA8aT5UaGUgTmV3IERlYWwgdG8gdGhlIENhcnRlciBhZG1pbmlzdHJhdGlvbjwvaT4uIEhvbG1lcyAmYW1wOyBNZWllci4nLCAnbWxhJyA9PiAnQnVyY2gsIFBoaWxpcCBILiwgSnIuLCBldCBhbC4gPGk+VGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgQWRtaW5pc3RyYXRpb248L2k+LiBIb2xtZXMgJmFtcDsgTWVpZXIsIDE5ODAuJywgJ2NoaWNhZ28nID0+ICdCdXJjaCwgUGhpbGlwIEguLCBKci4sIEZpY3Rpb25hbCBDb2F1dGhvciwgYW5kIFRoaXJkIEZha2VwZXJzb24sIElJSS4gPGk+VGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgQWRtaW5pc3RyYXRpb248L2k+LiBOZXcgWW9yazogSG9sbWVzICZhbXA7IE1laWVyLCAxOTgwLiddLAogICAgWydyYXcnID0+IFsnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydCdXJjaCwgUGhpbGlwIEguLCBKci4nLCAnQ29hdXRob3IsIEZpY3Rpb25hbCcsICdGYWtlcGVyc29uLCBUaGlyZCwgSUlJJywgJ01vYiwgV3JpdGluZycsICdNYW55cGVvcGxlLCBMZXRzbWFrZXVwJ10sICdTaG9ydFRpdGxlJyA9PiAnVGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgYWRtaW5pc3RyYXRpb24nLCAnU3VidGl0bGUnID0+ICcnLCAnRWRpdGlvbicgPT4gJycsICdQbGFjZXNPZlB1YmxpY2F0aW9uJyA9PiAnJywgJ1B1Ymxpc2hlcnMnID0+ICcnLCAnUHVibGljYXRpb25EYXRlcycgPT4gJyddLCAnYXBhJyA9PiAnQnVyY2gsIFAuIEguLCBKci4sIENvYXV0aG9yLCBGLiwgRmFrZXBlcnNvbiwgVC4sIElJSSwgTW9iLCBXLiwgJmFtcDsgTWFueXBlb3BsZSwgTC4gPGk+VGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgYWRtaW5pc3RyYXRpb248L2k+LicsICdtbGEnID0+ICdCdXJjaCwgUGhpbGlwIEguLCBKci4sIGV0IGFsLiA8aT5UaGUgTmV3IERlYWwgdG8gdGhlIENhcnRlciBBZG1pbmlzdHJhdGlvbjwvaT4uJywgJ2NoaWNhZ28nID0+ICdCdXJjaCwgUGhpbGlwIEguLCBKci4sIEZpY3Rpb25hbCBDb2F1dGhvciwgVGhpcmQgRmFrZXBlcnNvbiwgSUlJLCBXcml0aW5nIE1vYiwgYW5kIExldHNtYWtldXAgTWFueXBlb3BsZS4gPGk+VGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgQWRtaW5pc3RyYXRpb248L2k+LiddLAogICAgWydyYXcnID0+IFsnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydCdXJjaCwgUGhpbGlwIEguLCBKci4nLCAnQW5vbnltb3VzLCAxOTcxLTE5NzMnLCAnRWxzZXBlcnNvbiwgRmlyc3RuYW1lcnksIDE5NzEtMTk3MyddLCAnU2hvcnRUaXRsZScgPT4gJ1RoZSBOZXcgRGVhbCB0byB0aGUgQ2FydGVyIGFkbWluaXN0cmF0aW9uJywgJ1N1YnRpdGxlJyA9PiAnJywgJ0VkaXRpb24nID0+ICcnLCAnUGxhY2VzT2ZQdWJsaWNhdGlvbicgPT4gWydOZXcgWW9yayddLCAnUHVibGlzaGVycycgPT4gWydIb2xtZXMgJiBNZWllciddXSwgJ2FwYScgPT4gJ0J1cmNoLCBQLiBILiwgSnIuLCBBbm9ueW1vdXMsICZhbXA7IEVsc2VwZXJzb24sIEYuIDxpPlRoZSBOZXcgRGVhbCB0byB0aGUgQ2FydGVyIGFkbWluaXN0cmF0aW9uPC9pPi4gSG9sbWVzICZhbXA7IE1laWVyLicsICdtbGEnID0+ICdCdXJjaCwgUGhpbGlwIEguLCBKci4sIGV0IGFsLiA8aT5UaGUgTmV3IERlYWwgdG8gdGhlIENhcnRlciBBZG1pbmlzdHJhdGlvbjwvaT4uIEhvbG1lcyAmYW1wOyBNZWllci4nLCAnY2hpY2FnbycgPT4gJ0J1cmNoLCBQaGlsaXAgSC4sIEpyLiwgQW5vbnltb3VzLCBhbmQgRmlyc3RuYW1lcnkgRWxzZXBlcnNvbi4gPGk+VGhlIE5ldyBEZWFsIHRvIHRoZSBDYXJ0ZXIgQWRtaW5pc3RyYXRpb248L2k+LiBOZXcgWW9yazogSG9sbWVzICZhbXA7IE1laWVyLiddLAogICAgWwogICAgICAgIC8vIGVpZ2h0IGF1dGhvcnMsIHdpdGggYSBibGVuZCBvZiBmb3JtYXR0aW5nIGFuZCBleHRyYSBwdW5jdHVhdGlvbi9tYWxmb3JtZWQgZGF0ZXMKICAgICAgICAncmF3JyA9PiBbJ1NlY29uZGFyeUF1dGhvcnMnID0+IFsnT25lLCBQZXJzb24uJywgJ1BlcnNvbiBUd28nLCAnVGhyZWUsIFBlcnNvbicsICdQZXJzb24gRm91ci4nLCAnRml2ZSwgUGVyc29uLCAxOTAwLTE5NTAnLCAnU2l4LCBQZXJzb24gMTkxMC0xOTYzJywgJ1BlcnNvbiBTZXZlbicsICdQZXJzb24gRWlnaHQgMTkwMC0xOTk5J10sICdTaG9ydFRpdGxlJyA9PiAnVGVzdCBBcnRpY2xlJywgJ0NvbnRhaW5lclRpdGxlJyA9PiAnVGVzdCBKb3VybmFsJywgJ0NvbnRhaW5lclZvbHVtZScgPT4gMSwgJ0NvbnRhaW5lcklzc3VlJyA9PiA3LCAnUHVibGljYXRpb25EYXRlcycgPT4gWycxOTk5J10sICdDb250YWluZXJTdGFydFBhZ2UnID0+IDE5LCAnQ29udGFpbmVyRW5kUGFnZScgPT4gMjFdLAogICAgICAgICdhcGEnID0+ICdPbmUsIFAuLCBUd28sIFAuLCBUaHJlZSwgUC4sIEZvdXIsIFAuLCBGaXZlLCBQLiwgU2l4LCBQLiwgLiAuIC4gRWlnaHQsIFAuICgxOTk5KS4gVGVzdCBBcnRpY2xlLiA8aT5UZXN0IEpvdXJuYWwsIDE8L2k+KDcpLCAxOS0yMS4nLAogICAgICAgICdtbGEnID0+ICdPbmUsIFBlcnNvbiwgZXQgYWwuICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiwgdm9sLiAxLCBuby4gNywgMTk5OSwgcHAuIDE5LTIxLicsCiAgICAgICAgJ2NoaWNhZ28nID0+ICdPbmUsIFBlcnNvbiwgUGVyc29uIFR3bywgUGVyc29uIFRocmVlLCBQZXJzb24gRm91ciwgUGVyc29uIEZpdmUsIFBlcnNvbiBTaXgsIFBlcnNvbiBTZXZlbiwgYW5kIFBlcnNvbiBFaWdodC4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+IDEsIG5vLiA3ICgxOTk5KTogMTktMjEuJywKICAgIF0sCiAgICBbCiAgICAgICAgLy8gZWlnaHQgYXV0aG9ycwogICAgICAgICdyYXcnID0+IFsnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydPbmUsIFBlcnNvbicsICdUd28sIFBlcnNvbicsICdUaHJlZSwgUGVyc29uJywgJ0ZvdXIsIFBlcnNvbicsICdGaXZlLCBQZXJzb24nLCAnU2l4LCBQZXJzb24nLCAnU2V2ZW4sIFBlcnNvbicsICdFaWdodCwgUGVyc29uJ10sICdTaG9ydFRpdGxlJyA9PiAnVGVzdCBBcnRpY2xlJywgJ0NvbnRhaW5lclRpdGxlJyA9PiAnVGVzdCBKb3VybmFsJywgJ0NvbnRhaW5lclZvbHVtZScgPT4gMSwgJ0NvbnRhaW5lcklzc3VlJyA9PiA3LCAnUHVibGljYXRpb25EYXRlcycgPT4gWycxOTk5J10sICdDb250YWluZXJTdGFydFBhZ2UnID0+IDE5LCAnQ29udGFpbmVyRW5kUGFnZScgPT4gMjFdLAogICAgICAgICdhcGEnID0+ICdPbmUsIFAuLCBUd28sIFAuLCBUaHJlZSwgUC4sIEZvdXIsIFAuLCBGaXZlLCBQLiwgU2l4LCBQLiwgLiAuIC4gRWlnaHQsIFAuICgxOTk5KS4gVGVzdCBBcnRpY2xlLiA8aT5UZXN0IEpvdXJuYWwsIDE8L2k+KDcpLCAxOS0yMS4nLAogICAgICAgICdtbGEnID0+ICdPbmUsIFBlcnNvbiwgZXQgYWwuICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiwgdm9sLiAxLCBuby4gNywgMTk5OSwgcHAuIDE5LTIxLicsCiAgICAgICAgJ2NoaWNhZ28nID0+ICdPbmUsIFBlcnNvbiwgUGVyc29uIFR3bywgUGVyc29uIFRocmVlLCBQZXJzb24gRm91ciwgUGVyc29uIEZpdmUsIFBlcnNvbiBTaXgsIFBlcnNvbiBTZXZlbiwgYW5kIFBlcnNvbiBFaWdodC4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+IDEsIG5vLiA3ICgxOTk5KTogMTktMjEuJywKICAgIF0sCiAgICBbCiAgICAgICAgLy8gc2V2ZW4gYXV0aG9ycwogICAgICAgICdyYXcnID0+IFsnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydPbmUsIFBlcnNvbicsICdUd28sIFBlcnNvbicsICdUaHJlZSwgUGVyc29uJywgJ0ZvdXIsIFBlcnNvbicsICdGaXZlLCBQZXJzb24nLCAnU2l4LCBQZXJzb24nLCAnU2V2ZW4sIFBlcnNvbiddLCAnU2hvcnRUaXRsZScgPT4gJ1Rlc3QgQXJ0aWNsZScsICdDb250YWluZXJUaXRsZScgPT4gJ1Rlc3QgSm91cm5hbCcsICdDb250YWluZXJWb2x1bWUnID0+IDEsICdDb250YWluZXJJc3N1ZScgPT4gNywgJ1B1YmxpY2F0aW9uRGF0ZXMnID0+IFsnMTk5OSddLCAnQ29udGFpbmVyU3RhcnRQYWdlJyA9PiAxOSwgJ0NvbnRhaW5lckVuZFBhZ2UnID0+IDIxXSwKICAgICAgICAnYXBhJyA9PiAnT25lLCBQLiwgVHdvLCBQLiwgVGhyZWUsIFAuLCBGb3VyLCBQLiwgRml2ZSwgUC4sIFNpeCwgUC4sICZhbXA7IFNldmVuLCBQLiAoMTk5OSkuIFRlc3QgQXJ0aWNsZS4gPGk+VGVzdCBKb3VybmFsLCAxPC9pPig3KSwgMTktMjEuJywKICAgICAgICAnbWxhJyA9PiAnT25lLCBQZXJzb24sIGV0IGFsLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4sIHZvbC4gMSwgbm8uIDcsIDE5OTksIHBwLiAxOS0yMS4nLAogICAgICAgICdjaGljYWdvJyA9PiAnT25lLCBQZXJzb24sIFBlcnNvbiBUd28sIFBlcnNvbiBUaHJlZSwgUGVyc29uIEZvdXIsIFBlcnNvbiBGaXZlLCBQZXJzb24gU2l4LCBhbmQgUGVyc29uIFNldmVuLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4gMSwgbm8uIDcgKDE5OTkpOiAxOS0yMS4nLAogICAgXSwKICAgIFsKICAgICAgICAvLyBzaXggYXV0aG9ycwogICAgICAgICdyYXcnID0+IFsnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydPbmUsIFBlcnNvbicsICdUd28sIFBlcnNvbicsICdUaHJlZSwgUGVyc29uJywgJ0ZvdXIsIFBlcnNvbicsICdGaXZlLCBQZXJzb24nLCAnU2l4LCBQZXJzb24nXSwgJ1Nob3J0VGl0bGUnID0+ICdUZXN0IEFydGljbGUnLCAnQ29udGFpbmVyVGl0bGUnID0+ICdUZXN0IEpvdXJuYWwnLCAnQ29udGFpbmVyVm9sdW1lJyA9PiAxLCAnQ29udGFpbmVySXNzdWUnID0+IDcsICdQdWJsaWNhdGlvbkRhdGVzJyA9PiBbJzE5OTknXSwgJ0NvbnRhaW5lclN0YXJ0UGFnZScgPT4gMTksICdDb250YWluZXJFbmRQYWdlJyA9PiAyMV0sCiAgICAgICAgJ2FwYScgPT4gJ09uZSwgUC4sIFR3bywgUC4sIFRocmVlLCBQLiwgRm91ciwgUC4sIEZpdmUsIFAuLCAmYW1wOyBTaXgsIFAuICgxOTk5KS4gVGVzdCBBcnRpY2xlLiA8aT5UZXN0IEpvdXJuYWwsIDE8L2k+KDcpLCAxOS0yMS4nLAogICAgICAgICdtbGEnID0+ICdPbmUsIFBlcnNvbiwgZXQgYWwuICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiwgdm9sLiAxLCBuby4gNywgMTk5OSwgcHAuIDE5LTIxLicsCiAgICAgICAgJ2NoaWNhZ28nID0+ICdPbmUsIFBlcnNvbiwgUGVyc29uIFR3bywgUGVyc29uIFRocmVlLCBQZXJzb24gRm91ciwgUGVyc29uIEZpdmUsIGFuZCBQZXJzb24gU2l4LiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4gMSwgbm8uIDcgKDE5OTkpOiAxOS0yMS4nLAogICAgXSwKICAgIFsKICAgICAgICAvLyB0aHJlZSBhdXRob3JzLCBpbmNsdWRpbmcgb25lIHdpdGggYSByYW5kb20gdHJhaWxpbmcgY29tbWEKICAgICAgICAncmF3JyA9PiBbJ1NlY29uZGFyeUF1dGhvcnMnID0+IFsnT25lLCBQZXJzb24sJywgJ1R3bywgUGVyc29uJywgJ1RocmVlLCBQZXJzb24nXSwgJ1Nob3J0VGl0bGUnID0+ICdUZXN0IEFydGljbGUnLCAnQ29udGFpbmVyVGl0bGUnID0+ICdUZXN0IEpvdXJuYWwnLCAnQ29udGFpbmVyVm9sdW1lJyA9PiAxLCAnQ29udGFpbmVySXNzdWUnID0+IDcsICdQdWJsaWNhdGlvbkRhdGVzJyA9PiBbJzE5OTknXSwgJ0NvbnRhaW5lclN0YXJ0UGFnZScgPT4gMTksICdDb250YWluZXJFbmRQYWdlJyA9PiAyMV0sCiAgICAgICAgJ2FwYScgPT4gJ09uZSwgUC4sIFR3bywgUC4sICZhbXA7IFRocmVlLCBQLiAoMTk5OSkuIFRlc3QgQXJ0aWNsZS4gPGk+VGVzdCBKb3VybmFsLCAxPC9pPig3KSwgMTktMjEuJywKICAgICAgICAnbWxhJyA9PiAnT25lLCBQZXJzb24sIGV0IGFsLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4sIHZvbC4gMSwgbm8uIDcsIDE5OTksIHBwLiAxOS0yMS4nLAogICAgICAgICdjaGljYWdvJyA9PiAnT25lLCBQZXJzb24sIFBlcnNvbiBUd28sIGFuZCBQZXJzb24gVGhyZWUuICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiAxLCBuby4gNyAoMTk5OSk6IDE5LTIxLicsCiAgICBdLAogICAgWwogICAgICAgIC8vIHR3byBhdXRob3JzIHdpdGggYmlydGggZGF0ZXMgaW4gZGlmZmVyZW50IGZvcm1hdHMsIHNpbmdsZS1wYWdlIGFydGljbGUKICAgICAgICAncmF3JyA9PiBbJ1NlY29uZGFyeUF1dGhvcnMnID0+IFsnT25lLCBQZXJzb24sIGIuIDE5NjAnLCAnVHdvLCBQZXJzb24sIDE5NzAtJ10sICdTaG9ydFRpdGxlJyA9PiAnVGVzdCBBcnRpY2xlJywgJ0NvbnRhaW5lclRpdGxlJyA9PiAnVGVzdCBKb3VybmFsJywgJ0NvbnRhaW5lclZvbHVtZScgPT4gMSwgJ0NvbnRhaW5lcklzc3VlJyA9PiA3LCAnUHVibGljYXRpb25EYXRlcycgPT4gWycxOTk5J10sICdDb250YWluZXJTdGFydFBhZ2UnID0+IDE5LCAnQ29udGFpbmVyRW5kUGFnZScgPT4gMTldLAogICAgICAgICdhcGEnID0+ICdPbmUsIFAuLCAmYW1wOyBUd28sIFAuICgxOTk5KS4gVGVzdCBBcnRpY2xlLiA8aT5UZXN0IEpvdXJuYWwsIDE8L2k+KDcpLCAxOS4nLAogICAgICAgICdtbGEnID0+ICdPbmUsIFBlcnNvbiwgYW5kIFBlcnNvbiBUd28uICZxdW90O1Rlc3QgQXJ0aWNsZS4mcXVvdDsgPGk+VGVzdCBKb3VybmFsPC9pPiwgdm9sLiAxLCBuby4gNywgMTk5OSwgcC4gMTkuJywKICAgICAgICAnY2hpY2FnbycgPT4gJ09uZSwgUGVyc29uLCBhbmQgUGVyc29uIFR3by4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+IDEsIG5vLiA3ICgxOTk5KTogMTkuJywKICAgIF0sCiAgICBbCiAgICAgICAgLy8gdHdvIGF1dGhvcnMgd2l0aCBubyBjb21tYSBpbiBmaXJzdCBhdXRob3IncyBuYW1lICh0ZXN0IG5vIGNvbW1hIGJlZm9yZSBhbmQpCiAgICAgICAgLy8gYW5kIHBhcmVudGhldGljYWwgbm90ZSBvbiBzZWNvbmQgYXV0aG9yICh0ZXN0IGl0IGlzIHJlbW92ZWQpCiAgICAgICAgJ3JhdycgPT4gWydTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ0lCTScsICdUd28sIFBlcnNvbiAoRGlyZWN0b3IpLCAxOTcwLSddLCAnU2hvcnRUaXRsZScgPT4gJ1Rlc3QgQXJ0aWNsZScsICdDb250YWluZXJUaXRsZScgPT4gJ1Rlc3QgSm91cm5hbCcsICdDb250YWluZXJWb2x1bWUnID0+IDEsICdDb250YWluZXJJc3N1ZScgPT4gNywgJ1B1YmxpY2F0aW9uRGF0ZXMnID0+IFsnMTk5OSddLCAnQ29udGFpbmVyU3RhcnRQYWdlJyA9PiAxOSwgJ0NvbnRhaW5lckVuZFBhZ2UnID0+IDE5XSwKICAgICAgICAnYXBhJyA9PiAnSUJNICZhbXA7IFR3bywgUC4gKDE5OTkpLiBUZXN0IEFydGljbGUuIDxpPlRlc3QgSm91cm5hbCwgMTwvaT4oNyksIDE5LicsCiAgICAgICAgJ21sYScgPT4gJ0lCTSBhbmQgUGVyc29uIFR3by4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+LCB2b2wuIDEsIG5vLiA3LCAxOTk5LCBwLiAxOS4nLAogICAgICAgICdjaGljYWdvJyA9PiAnSUJNIGFuZCBQZXJzb24gVHdvLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4gMSwgbm8uIDcgKDE5OTkpOiAxOS4nLAogICAgXSwKICAgIFsKICAgICAgICAvLyBvbmUgYXV0aG9yCiAgICAgICAgJ3JhdycgPT4gWydTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ09uZSwgUGVyc29uJ10sICdTaG9ydFRpdGxlJyA9PiAnVGVzdCBBcnRpY2xlJywgJ0NvbnRhaW5lclRpdGxlJyA9PiAnVGVzdCBKb3VybmFsJywgJ0NvbnRhaW5lclZvbHVtZScgPT4gMSwgJ0NvbnRhaW5lcklzc3VlJyA9PiA3LCAnUHVibGljYXRpb25EYXRlcycgPT4gWycxOTk5J10sICdDb250YWluZXJTdGFydFBhZ2UnID0+IDE5LCAnQ29udGFpbmVyRW5kUGFnZScgPT4gMjFdLAogICAgICAgICdhcGEnID0+ICdPbmUsIFAuICgxOTk5KS4gVGVzdCBBcnRpY2xlLiA8aT5UZXN0IEpvdXJuYWwsIDE8L2k+KDcpLCAxOS0yMS4nLAogICAgICAgICdtbGEnID0+ICdPbmUsIFBlcnNvbi4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+LCB2b2wuIDEsIG5vLiA3LCAxOTk5LCBwcC4gMTktMjEuJywKICAgICAgICAnY2hpY2FnbycgPT4gJ09uZSwgUGVyc29uLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4gMSwgbm8uIDcgKDE5OTkpOiAxOS0yMS4nLAogICAgXSwKICAgIFsKICAgICAgICAvLyBlaWdodCBhdXRob3JzIGluICJmaXJzdCBuYW1lIGZpcnN0IiBmb3JtYXQuCiAgICAgICAgJ3JhdycgPT4gWydTZWNvbmRhcnlBdXRob3JzJyA9PiBbJ1BlcnNvbiBPbmUgYi4gMTk2MCcsICdQZXJzb24gVHdvIDE4NjktJywgJ1BlcnNvbiBUaHJlZScsICdQZXJzb24gRm91cicsICdQZXJzb24gRml2ZScsICdQZXJzb24gU2l4JywgJ1BlcnNvbiBTZXZlbicsICdQZXJzb24gRWlnaHQnXSwgJ1Nob3J0VGl0bGUnID0+ICdUZXN0IEFydGljbGUnLCAnQ29udGFpbmVyVGl0bGUnID0+ICdUZXN0IEpvdXJuYWwnLCAnQ29udGFpbmVyVm9sdW1lJyA9PiAxLCAnQ29udGFpbmVySXNzdWUnID0+IDcsICdQdWJsaWNhdGlvbkRhdGVzJyA9PiBbJzE5OTknXSwgJ0NvbnRhaW5lclN0YXJ0UGFnZScgPT4gMTksICdDb250YWluZXJFbmRQYWdlJyA9PiAyMV0sCiAgICAgICAgJ2FwYScgPT4gJ09uZSwgUC4sIFR3bywgUC4sIFRocmVlLCBQLiwgRm91ciwgUC4sIEZpdmUsIFAuLCBTaXgsIFAuLCAuIC4gLiBFaWdodCwgUC4gKDE5OTkpLiBUZXN0IEFydGljbGUuIDxpPlRlc3QgSm91cm5hbCwgMTwvaT4oNyksIDE5LTIxLicsCiAgICAgICAgJ21sYScgPT4gJ09uZSwgUGVyc29uLCBldCBhbC4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+LCB2b2wuIDEsIG5vLiA3LCAxOTk5LCBwcC4gMTktMjEuJywKICAgICAgICAnY2hpY2FnbycgPT4gJ09uZSwgUGVyc29uLCBQZXJzb24gVHdvLCBQZXJzb24gVGhyZWUsIFBlcnNvbiBGb3VyLCBQZXJzb24gRml2ZSwgUGVyc29uIFNpeCwgUGVyc29uIFNldmVuLCBhbmQgUGVyc29uIEVpZ2h0LiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4gMSwgbm8uIDcgKDE5OTkpOiAxOS0yMS4nLAogICAgXSwKICAgIFsKICAgICAgICAvLyB0ZW4gYXV0aG9ycyBpbiAiZmlyc3QgbmFtZSBmaXJzdCIgZm9ybWF0LgogICAgICAgICdyYXcnID0+IFsnU2Vjb25kYXJ5QXV0aG9ycycgPT4gWydQZXJzb24gT25lJywgJ1BlcnNvbiBUd28nLCAnUGVyc29uIFRocmVlJywgJ1BlcnNvbiBGb3VyJywgJ1BlcnNvbiBGaXZlJywgJ1BlcnNvbiBTaXgnLCAnUGVyc29uIFNldmVuJywgJ1BlcnNvbiBFaWdodCcsICdQZXJzb24gTmluZScsICdQZXJzb24gVGVuJ10sICdTaG9ydFRpdGxlJyA9PiAnVGVzdCBBcnRpY2xlJywgJ0NvbnRhaW5lclRpdGxlJyA9PiAnVGVzdCBKb3VybmFsJywgJ0NvbnRhaW5lclZvbHVtZScgPT4gMSwgJ0NvbnRhaW5lcklzc3VlJyA9PiA3LCAnUHVibGljYXRpb25EYXRlcycgPT4gWycxOTk5J10sICdDb250YWluZXJTdGFydFBhZ2UnID0+IDE5LCAnQ29udGFpbmVyRW5kUGFnZScgPT4gMjFdLAogICAgICAgICdhcGEnID0+ICdPbmUsIFAuLCBUd28sIFAuLCBUaHJlZSwgUC4sIEZvdXIsIFAuLCBGaXZlLCBQLiwgU2l4LCBQLiwgLiAuIC4gVGVuLCBQLiAoMTk5OSkuIFRlc3QgQXJ0aWNsZS4gPGk+VGVzdCBKb3VybmFsLCAxPC9pPig3KSwgMTktMjEuJywKICAgICAgICAnbWxhJyA9PiAnT25lLCBQZXJzb24sIGV0IGFsLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4sIHZvbC4gMSwgbm8uIDcsIDE5OTksIHBwLiAxOS0yMS4nLAogICAgICAgICdjaGljYWdvJyA9PiAnT25lLCBQZXJzb24sIGV0IGFsLiAmcXVvdDtUZXN0IEFydGljbGUuJnF1b3Q7IDxpPlRlc3QgSm91cm5hbDwvaT4gMSwgbm8uIDcgKDE5OTkpOiAxOS0yMS4nLAogICAgXSwKICAgIFsKICAgICAgICAvLyBET0kKICAgICAgICAncmF3JyA9PiBbJ1NlY29uZGFyeUF1dGhvcnMnID0+IFsnT25lLCBQZXJzb24nXSwgJ1Nob3J0VGl0bGUnID0+ICdUZXN0IEFydGljbGUnLCAnQ29udGFpbmVyVGl0bGUnID0+ICdUZXN0IEpvdXJuYWwnLCAnQ29udGFpbmVyVm9sdW1lJyA9PiAxLCAnQ29udGFpbmVySXNzdWUnID0+IDcsICdQdWJsaWNhdGlvbkRhdGVzJyA9PiBbJzE5OTknXSwgJ0NvbnRhaW5lclN0YXJ0UGFnZScgPT4gMTksICdDb250YWluZXJFbmRQYWdlJyA9PiAyMSwgJ0NsZWFuRE9JJyA9PiAndGVzdERPSSddLAogICAgICAgICdhcGEnID0+ICdPbmUsIFAuICgxOTk5KS4gVGVzdCBBcnRpY2xlLiA8aT5UZXN0IEpvdXJuYWwsIDE8L2k+KDcpLCAxOS0yMS4gaHR0cHM6Ly9kb2kub3JnL3Rlc3RET0knLAogICAgICAgICdtbGEnID0+ICdPbmUsIFBlcnNvbi4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+LCB2b2wuIDEsIG5vLiA3LCAxOTk5LCBwcC4gMTktMjEsIGh0dHBzOi8vZG9pLm9yZy90ZXN0RE9JLicsCiAgICAgICAgJ2NoaWNhZ28nID0+ICdPbmUsIFBlcnNvbi4gJnF1b3Q7VGVzdCBBcnRpY2xlLiZxdW90OyA8aT5UZXN0IEpvdXJuYWw8L2k+IDEsIG5vLiA3ICgxOTk5KTogMTktMjEuIGh0dHBzOi8vZG9pLm9yZy90ZXN0RE9JLicsCiAgICBdLApdIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo5OiJwcm90ZWN0ZWQiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM2MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHJlYWRPbmx5IjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbWV0YWRhdGEiO2E6MDp7fX19czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGhvZHMiO2E6MTp7czo1ODoiXFZ1RmluZFRlc3RcVmlld1xIZWxwZXJcUm9vdFxDaXRhdGlvblRlc3Q6OnRlc3RDaXRhdGlvbnMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI0OiJUZXN0IGNpdGF0aW9uIGdlbmVyYXRpb24iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e319fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjo4ODtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU4OiJcVnVGaW5kVGVzdFxWaWV3XEhlbHBlclxSb290XENpdGF0aW9uVGVzdDo6dGVzdENpdGF0aW9ucygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTM6InRlc3RDaXRhdGlvbnMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzY5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mzk3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e319fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwB1c2VkVHJhaXRzIjthOjE6e3M6Mjk6IlxWdUZpbmRUZXN0XEZlYXR1cmVcVmlld1RyYWl0IjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mjk6IlxWdUZpbmRUZXN0XEZlYXR1cmVcVmlld1RyYWl0IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6OToiVmlld1RyYWl0Ijt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozOTg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGFkYXRhIjthOjA6e319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";