1778692665
441d63ebbc39eba359c9061ece8482bd-phpdoc%3Ac988473cdf52509210cb8f058a8377f7-db795635d0cf5755cd611be33924ea03
s:57344:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjIwOiJFbmdsaXNoSW5mbGVjdG9yLnBocCI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjE6e3M6MzU6IlxTeW1mb255XENvbXBvbmVudFxTdHJpbmdcSW5mbGVjdG9yIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MzU6IlxTeW1mb255XENvbXBvbmVudFxTdHJpbmdcSW5mbGVjdG9yIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6OToiSW5mbGVjdG9yIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjE6e3M6NTI6IlxTeW1mb255XENvbXBvbmVudFxTdHJpbmdcSW5mbGVjdG9yXEVuZ2xpc2hJbmZsZWN0b3IiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIjoxNTp7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGltcGxlbWVudHMiO2E6MTp7czo1NDoiXFN5bWZvbnlcQ29tcG9uZW50XFN0cmluZ1xJbmZsZWN0b3JcSW5mbGVjdG9ySW50ZXJmYWNlIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTQ6IlxTeW1mb255XENvbXBvbmVudFxTdHJpbmdcSW5mbGVjdG9yXEluZmxlY3RvckludGVyZmFjZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE4OiJJbmZsZWN0b3JJbnRlcmZhY2UiO319czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGNvbnN0YW50cyI7YTozOntzOjY0OiJcU3ltZm9ueVxDb21wb25lbnRcU3RyaW5nXEluZmxlY3RvclxFbmdsaXNoSW5mbGVjdG9yOjpQTFVSQUxfTUFQIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50Ijo5OntzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIwMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NDoiXFN5bWZvbnlcQ29tcG9uZW50XFN0cmluZ1xJbmZsZWN0b3JcRW5nbGlzaEluZmxlY3Rvcjo6UExVUkFMX01BUCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJQTFVSQUxfTUFQIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQwOiJNYXAgRW5nbGlzaCBwbHVyYWwgdG8gc2luZ3VsYXIgc3VmZml4ZXMuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xTZWUiOjM6e3M6NzoiACoAbmFtZSI7czozOiJzZWUiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO3M6OToiACoAcmVmZXJzIjtPOjUyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcVXJsIjoxOntzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXFVybAB1cmkiO3M6NDU6Imh0dHA6Ly9lbmdsaXNoLXpvbmUuY29tL3NwZWxsaW5nL3BsdXJhbHMuaHRtbCI7fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czozNDoiU3ltZm9ueVxDb21wb25lbnRcU3RyaW5nXEluZmxlY3RvciI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50AHZhbHVlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czo0NjIxOiJbCiAgICAvLyBGaXJzdCBlbnRyeTogcGx1cmFsIHN1ZmZpeCwgcmV2ZXJzZWQKICAgIC8vIFNlY29uZCBlbnRyeTogbGVuZ3RoIG9mIHBsdXJhbCBzdWZmaXgKICAgIC8vIFRoaXJkIGVudHJ5OiBXaGV0aGVyIHRoZSBzdWZmaXggbWF5IHN1Y2NlZWQgYSB2b3dlbAogICAgLy8gRm91cnRoIGVudHJ5OiBXaGV0aGVyIHRoZSBzdWZmaXggbWF5IHN1Y2NlZWQgYSBjb25zb25hbnQKICAgIC8vIEZpZnRoIGVudHJ5OiBzaW5ndWxhciBzdWZmaXgsIG5vcm1hbAogICAgLy8gaW5zaWduaWFzIChpbnNpZ25lKSwgaW5zaWduaWEgKGluc2lnbmUpCiAgICBbJ3NhaW5naXNuaScsIDksIHRydWUsIHRydWUsICdpbnNpZ25lJ10sCiAgICBbJ2Fpbmdpc25pJywgOCwgdHJ1ZSwgdHJ1ZSwgJ2luc2lnbmUnXSwKICAgIC8vIHBhc3NlcnNieSAocGFzc2VyYnkpCiAgICBbJ3lic3Jlc3NhcCcsIDksIHRydWUsIHRydWUsICdwYXNzZXJieSddLAogICAgLy8gbm9kZXMgKG5vZGUpCiAgICBbJ3NlZG9uJywgNSwgdHJ1ZSwgdHJ1ZSwgJ25vZGUnXSwKICAgIC8vIGJhY3RlcmlhIChiYWN0ZXJpdW0pCiAgICBbJ2FpcmV0Y2FiJywgOCwgdHJ1ZSwgdHJ1ZSwgJ2JhY3Rlcml1bSddLAogICAgLy8gaXNzdWVzIChpc3N1ZSkKICAgIFsnc2V1c3NpJywgNiwgdHJ1ZSwgdHJ1ZSwgJ2lzc3VlJ10sCiAgICAvLyBjb3Jwb3JhIChjb3JwdXMpCiAgICBbJ2Fyb3Byb2MnLCA3LCB0cnVlLCB0cnVlLCAnY29ycHVzJ10sCiAgICAvLyBjcml0ZXJpYSAoY3JpdGVyaW9uKQogICAgWydhaXJldGlyYycsIDgsIHRydWUsIHRydWUsICdjcml0ZXJpb24nXSwKICAgIC8vIGN1cnJpY3VsYSAoY3VycmljdWx1bSkKICAgIFsnYWx1Y2lycnVjJywgOSwgdHJ1ZSwgdHJ1ZSwgJ2N1cnJpY3VsdW0nXSwKICAgIC8vIHF1b3JhIChxdW9ydW0pCiAgICBbJ2Fyb3VxJywgNSwgdHJ1ZSwgdHJ1ZSwgJ3F1b3J1bSddLAogICAgLy8gZ2VuZXJhIChnZW51cykKICAgIFsnYXJlbmVnJywgNiwgdHJ1ZSwgdHJ1ZSwgJ2dlbnVzJ10sCiAgICAvLyBtZWRpYSAobWVkaXVtKQogICAgWydhaWRlbScsIDUsIHRydWUsIHRydWUsICdtZWRpdW0nXSwKICAgIC8vIG1lbW9yYW5kYSAobWVtb3JhbmR1bSkKICAgIFsnYWRuYXJvbWVtJywgOSwgdHJ1ZSwgdHJ1ZSwgJ21lbW9yYW5kdW0nXSwKICAgIC8vIHBoZW5vbWVuYSAocGhlbm9tZW5vbikKICAgIFsnYW5lbW9uZWhwJywgOSwgdHJ1ZSwgdHJ1ZSwgJ3BoZW5vbWVub24nXSwKICAgIC8vIHN0cmF0YSAoc3RyYXR1bSkKICAgIFsnYXRhcnRzJywgNiwgdHJ1ZSwgdHJ1ZSwgJ3N0cmF0dW0nXSwKICAgIC8vIG5lYnVsYWUgKG5lYnVsYSkKICAgIFsnZWEnLCAyLCB0cnVlLCB0cnVlLCAnYSddLAogICAgLy8gc2VydmljZXMgKHNlcnZpY2UpCiAgICBbJ3NlY2l2cmVzJywgOCwgdHJ1ZSwgdHJ1ZSwgJ3NlcnZpY2UnXSwKICAgIC8vIG1pY2UgKG1vdXNlKSwgbGljZSAobG91c2UpCiAgICBbJ2VjaScsIDMsIGZhbHNlLCB0cnVlLCAnb3VzZSddLAogICAgLy8gZ2Vlc2UgKGdvb3NlKQogICAgWydlc2VlJywgNCwgZmFsc2UsIHRydWUsICdvb3NlJ10sCiAgICAvLyBmdW5naSAoZnVuZ3VzKSwgYWx1bW5pIChhbHVtbnVzKSwgc3lsbGFiaSAoc3lsbGFidXMpLCByYWRpaSAocmFkaXVzKQogICAgWydpJywgMSwgdHJ1ZSwgdHJ1ZSwgJ3VzJ10sCiAgICAvLyBtZW4gKG1hbiksIHdvbWVuICh3b21hbikKICAgIFsnbmVtJywgMywgdHJ1ZSwgdHJ1ZSwgJ21hbiddLAogICAgLy8gY2hpbGRyZW4gKGNoaWxkKQogICAgWyduZXJkbGloYycsIDgsIHRydWUsIHRydWUsICdjaGlsZCddLAogICAgLy8gb3hlbiAob3gpCiAgICBbJ25leG8nLCA0LCBmYWxzZSwgZmFsc2UsICdveCddLAogICAgLy8gaW5kaWNlcyAoaW5kZXgpLCBhcHBlbmRpY2VzIChhcHBlbmRpeCksIHByaWNlcyAocHJpY2UpCiAgICBbJ3NlY2knLCA0LCBmYWxzZSwgdHJ1ZSwgWydleCcsICdpeCcsICdpY2UnXV0sCiAgICAvLyBjb2RlcyAoY29kZSkKICAgIFsnc2Vkb2MnLCA1LCBmYWxzZSwgdHJ1ZSwgJ2NvZGUnXSwKICAgIC8vIHNlbGZpZXMgKHNlbGZpZSkKICAgIFsnc2VpZmxlcycsIDcsIHRydWUsIHRydWUsICdzZWxmaWUnXSwKICAgIC8vIHpvbWJpZXMgKHpvbWJpZSkKICAgIFsnc2VpYm1veicsIDcsIHRydWUsIHRydWUsICd6b21iaWUnXSwKICAgIC8vIG1vdmllcyAobW92aWUpCiAgICBbJ3NlaXZvbScsIDYsIHRydWUsIHRydWUsICdtb3ZpZSddLAogICAgLy8gbmFtZXMgKG5hbWUpCiAgICBbJ3NlbWFuJywgNSwgdHJ1ZSwgZmFsc2UsICduYW1lJ10sCiAgICAvLyBjb25zcGVjdHVzZXMgKGNvbnNwZWN0dXMpLCBwcm9zcGVjdHVzZXMgKHByb3NwZWN0dXMpCiAgICBbJ3Nlc3V0Y2VwJywgOCwgdHJ1ZSwgdHJ1ZSwgJ3BlY3R1cyddLAogICAgLy8gZmVldCAoZm9vdCkKICAgIFsndGVlZicsIDQsIHRydWUsIHRydWUsICdmb290J10sCiAgICAvLyBnZWVzZSAoZ29vc2UpCiAgICBbJ2VzZWVnJywgNSwgdHJ1ZSwgdHJ1ZSwgJ2dvb3NlJ10sCiAgICAvLyB0ZWV0aCAodG9vdGgpCiAgICBbJ2h0ZWV0JywgNSwgdHJ1ZSwgdHJ1ZSwgJ3Rvb3RoJ10sCiAgICAvLyBuZXdzIChuZXdzKQogICAgWydzd2VuJywgNCwgdHJ1ZSwgdHJ1ZSwgJ25ld3MnXSwKICAgIC8vIHNlcmllcyAoc2VyaWVzKQogICAgWydzZWlyZXMnLCA2LCB0cnVlLCB0cnVlLCAnc2VyaWVzJ10sCiAgICAvLyBiYWJpZXMgKGJhYnkpCiAgICBbJ3NlaScsIDMsIGZhbHNlLCB0cnVlLCAneSddLAogICAgLy8gYWNjZXNzZXMgKGFjY2VzcyksIGFkZHJlc3NlcyAoYWRkcmVzcyksIGtpc3NlcyAoa2lzcykKICAgIFsnc2VzcycsIDQsIHRydWUsIGZhbHNlLCAnc3MnXSwKICAgIC8vIHN0YXR1c2VzIChzdGF0dXMpCiAgICBbJ3Nlc3V0YXRzJywgOCwgdHJ1ZSwgdHJ1ZSwgJ3N0YXR1cyddLAogICAgLy8gYXJ0aWNsZSAoYXJ0aWNsZXMpLCBhbmNsZSAoYW5jbGVzKQogICAgWydzZWwnLCAzLCB0cnVlLCB0cnVlLCAnbGUnXSwKICAgIC8vIGFuYWx5c2VzIChhbmFseXNpcyksIGVsbGlwc2VzIChlbGxpcHNpcyksIGZ1bmdpIChmdW5ndXMpLAogICAgLy8gbmV1cm9zZXMgKG5ldXJvc2lzKSwgdGhlc2VzICh0aGVzaXMpLCBlbXBoYXNlcyAoZW1waGFzaXMpLAogICAgLy8gb2FzZXMgKG9hc2lzKSwgY3Jpc2VzIChjcmlzaXMpLCBob3VzZXMgKGhvdXNlKSwgYmFzZXMgKGJhc2UpLAogICAgLy8gYXRsYXNlcyAoYXRsYXMpCiAgICBbJ3NlcycsIDMsIHRydWUsIHRydWUsIFsncycsICdzZScsICdzaXMnXV0sCiAgICAvLyBvYmplY3RpdmVzIChvYmplY3RpdmUpLCBhbHRlcm5hdGl2ZSAoYWx0ZXJuYXRpdmVzKQogICAgWydzZXZpdCcsIDUsIHRydWUsIHRydWUsICd0aXZlJ10sCiAgICAvLyBkcml2ZXMgKGRyaXZlKQogICAgWydzZXZpcmQnLCA2LCBmYWxzZSwgdHJ1ZSwgJ2RyaXZlJ10sCiAgICAvLyBsaXZlcyAobGlmZSksIHdpdmVzICh3aWZlKQogICAgWydzZXZpJywgNCwgZmFsc2UsIHRydWUsICdpZmUnXSwKICAgIC8vIG1vdmVzIChtb3ZlKQogICAgWydzZXZvbScsIDUsIHRydWUsIHRydWUsICdtb3ZlJ10sCiAgICAvLyBob292ZXMgKGhvb2YpLCBkd2FydmVzIChkd2FyZiksIGVsdmVzIChlbGYpLCBsZWF2ZXMgKGxlYWYpLCBjYXZlcyAoY2F2ZSksIHN0YXZlcyAoc3RhZmYpCiAgICBbJ3NldicsIDMsIHRydWUsIHRydWUsIFsnZicsICd2ZScsICdmZiddXSwKICAgIC8vIGF4ZXMgKGF4aXMpLCBheGVzIChheCksIGF4ZXMgKGF4ZSkKICAgIFsnc2V4YScsIDQsIGZhbHNlLCBmYWxzZSwgWydheCcsICdheGUnLCAnYXhpcyddXSwKICAgIC8vIGluZGV4ZXMgKGluZGV4KSwgbWF0cml4ZXMgKG1hdHJpeCkKICAgIFsnc2V4JywgMywgdHJ1ZSwgZmFsc2UsICd4J10sCiAgICAvLyBxdWl6emVzIChxdWl6KQogICAgWydzZXp6JywgNCwgdHJ1ZSwgZmFsc2UsICd6J10sCiAgICAvLyBidXJlYXVzIChidXJlYXUpCiAgICBbJ3N1YWUnLCA0LCBmYWxzZSwgdHJ1ZSwgJ2VhdSddLAogICAgLy8gZmVlcyAoZmVlKSwgdHJlZXMgKHRyZWUpLCBlbXBsb3llZXMgKGVtcGxveWVlKQogICAgWydzZWUnLCAzLCB0cnVlLCB0cnVlLCAnZWUnXSwKICAgIC8vIGVkZ2VzIChlZGdlKQogICAgWydzZWdkJywgNCwgdHJ1ZSwgdHJ1ZSwgJ2RnZSddLAogICAgLy8gb3V0YWdlcyAob3V0YWdlKSAtIHNwZWNpZmljIGZpeCB0byBhdm9pZCAnb3V0YWcnCiAgICBbJ3NlZ2F0dW8nLCA3LCB0cnVlLCB0cnVlLCAnb3V0YWdlJ10sCiAgICAvLyByb3NlcyAocm9zZSksIGdhcmFnZXMgKGdhcmFnZSksIGNhc3NldHRlcyAoY2Fzc2V0dGUpLAogICAgLy8gd2FsdHplcyAod2FsdHopLCBoZXJvZXMgKGhlcm8pLCBidXNoZXMgKGJ1c2gpLCBhcmNoZXMgKGFyY2gpLAogICAgLy8gc2hvZXMgKHNob2UpCiAgICBbJ3NlJywgMiwgdHJ1ZSwgdHJ1ZSwgWycnLCAnZSddXSwKICAgIC8vIHN0YXR1cyAoc3RhdHVzKQogICAgWydzdXRhdHMnLCA2LCB0cnVlLCB0cnVlLCAnc3RhdHVzJ10sCiAgICAvLyB0YWdzICh0YWcpCiAgICBbJ3MnLCAxLCB0cnVlLCB0cnVlLCAnJ10sCiAgICAvLyBjaGF0ZWF1eCAoY2hhdGVhdSkKICAgIFsneHVhZScsIDQsIGZhbHNlLCB0cnVlLCAnZWF1J10sCiAgICAvLyBwZW9wbGUgKHBlcnNvbikKICAgIFsnZWxwb2VwJywgNiwgdHJ1ZSwgdHJ1ZSwgJ3BlcnNvbiddLApdIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjA6e319czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAZmluYWwiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABtZXRhZGF0YSI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAYXR0cmlidXRlcyI7YTowOnt9fXM6NjY6IlxTeW1mb255XENvbXBvbmVudFxTdHJpbmdcSW5mbGVjdG9yXEVuZ2xpc2hJbmZsZWN0b3I6OlNJTkdVTEFSX01BUCI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudCI6OTp7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIwODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDAyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY2OiJcU3ltZm9ueVxDb21wb25lbnRcU3RyaW5nXEluZmxlY3RvclxFbmdsaXNoSW5mbGVjdG9yOjpTSU5HVUxBUl9NQVAiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMjoiU0lOR1VMQVJfTUFQIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQwOiJNYXAgRW5nbGlzaCBzaW5ndWxhciB0byBwbHVyYWwgc3VmZml4ZXMuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xTZWUiOjM6e3M6NzoiACoAbmFtZSI7czozOiJzZWUiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO3M6OToiACoAcmVmZXJzIjtPOjUyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcVXJsIjoxOntzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXFVybAB1cmkiO3M6NDU6Imh0dHA6Ly9lbmdsaXNoLXpvbmUuY29tL3NwZWxsaW5nL3BsdXJhbHMuaHRtbCI7fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjQwO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAdmFsdWUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbiI6Mjp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBleHByZXNzaW9uIjtzOjQ3OTg6IlsKICAgIC8vIEZpcnN0IGVudHJ5OiBzaW5ndWxhciBzdWZmaXgsIHJldmVyc2VkCiAgICAvLyBTZWNvbmQgZW50cnk6IGxlbmd0aCBvZiBzaW5ndWxhciBzdWZmaXgKICAgIC8vIFRoaXJkIGVudHJ5OiBXaGV0aGVyIHRoZSBzdWZmaXggbWF5IHN1Y2NlZWQgYSB2b3dlbAogICAgLy8gRm91cnRoIGVudHJ5OiBXaGV0aGVyIHRoZSBzdWZmaXggbWF5IHN1Y2NlZWQgYSBjb25zb25hbnQKICAgIC8vIEZpZnRoIGVudHJ5OiBwbHVyYWwgc3VmZml4LCBub3JtYWwKICAgIC8vIHBhc3NlcmJ5IChwYXNzZXJzYnkpCiAgICBbJ3licmVzc2FwJywgOCwgdHJ1ZSwgdHJ1ZSwgJ3Bhc3NlcnNieSddLAogICAgLy8gaW5zaWduZSAoaW5zaWduaWEsIGluc2lnbmlhcykKICAgIFsnZW5naXNuaScsIDcsIHRydWUsIHRydWUsIFsnaW5zaWduaWEnLCAnaW5zaWduaWFzJ11dLAogICAgLy8gbm9kZXMgKG5vZGUpCiAgICBbJ2Vkb24nLCA0LCB0cnVlLCB0cnVlLCAnbm9kZXMnXSwKICAgIC8vIGF4ZXMgKGF4aXMpCiAgICBbJ3NpeGEnLCA0LCBmYWxzZSwgZmFsc2UsICdheGVzJ10sCiAgICAvLyBjcml0ZXJpb24gKGNyaXRlcmlhKQogICAgWydhaXJldGlyYycsIDgsIGZhbHNlLCBmYWxzZSwgJ2NyaXRlcmlvbiddLAogICAgLy8gbmVidWxhZSAobmVidWxhKQogICAgWydhbHViZW4nLCA2LCBmYWxzZSwgZmFsc2UsICduZWJ1bGFlJ10sCiAgICAvLyBjaGlsZHJlbiAoY2hpbGQpCiAgICBbJ2RsaWhjJywgNSwgdHJ1ZSwgdHJ1ZSwgJ2NoaWxkcmVuJ10sCiAgICAvLyBwcmljZXMgKHByaWNlKQogICAgWydlY2knLCAzLCBmYWxzZSwgdHJ1ZSwgJ2ljZXMnXSwKICAgIC8vIHNlcnZpY2VzIChzZXJ2aWNlKQogICAgWydlY2l2cmVzJywgNywgdHJ1ZSwgdHJ1ZSwgJ3NlcnZpY2VzJ10sCiAgICAvLyBsaXZlcyAobGlmZSksIHdpdmVzICh3aWZlKQogICAgWydlZmknLCAzLCBmYWxzZSwgdHJ1ZSwgJ2l2ZXMnXSwKICAgIC8vIHNlbGZpZXMgKHNlbGZpZSkKICAgIFsnZWlmbGVzJywgNiwgdHJ1ZSwgdHJ1ZSwgJ3NlbGZpZXMnXSwKICAgIC8vIG1vdmllcyAobW92aWUpCiAgICBbJ2Vpdm9tJywgNSwgdHJ1ZSwgdHJ1ZSwgJ21vdmllcyddLAogICAgLy8gbGljZSAobG91c2UpCiAgICBbJ2VzdW9sJywgNSwgZmFsc2UsIHRydWUsICdsaWNlJ10sCiAgICAvLyBtaWNlIChtb3VzZSkKICAgIFsnZXN1b20nLCA1LCBmYWxzZSwgdHJ1ZSwgJ21pY2UnXSwKICAgIC8vIGdlZXNlIChnb29zZSkKICAgIFsnZXNvbycsIDQsIGZhbHNlLCB0cnVlLCAnZWVzZSddLAogICAgLy8gaG91c2VzIChob3VzZSksIGJhc2VzIChiYXNlKQogICAgWydlcycsIDIsIHRydWUsIHRydWUsICdzZXMnXSwKICAgIC8vIGdlZXNlIChnb29zZSkKICAgIFsnZXNvb2cnLCA1LCB0cnVlLCB0cnVlLCAnZ2Vlc2UnXSwKICAgIC8vIGNhdmVzIChjYXZlKQogICAgWydldicsIDIsIHRydWUsIHRydWUsICd2ZXMnXSwKICAgIC8vIGRyaXZlcyAoZHJpdmUpCiAgICBbJ2V2aXJkJywgNSwgZmFsc2UsIHRydWUsICdkcml2ZXMnXSwKICAgIC8vIG9iamVjdGl2ZXMgKG9iamVjdGl2ZSksIGFsdGVybmF0aXZlIChhbHRlcm5hdGl2ZXMpCiAgICBbJ2V2aXQnLCA0LCB0cnVlLCB0cnVlLCAndGl2ZXMnXSwKICAgIC8vIG1vdmVzIChtb3ZlKQogICAgWydldm9tJywgNCwgdHJ1ZSwgdHJ1ZSwgJ21vdmVzJ10sCiAgICAvLyBzdGF2ZXMgKHN0YWZmKQogICAgWydmZmF0cycsIDUsIHRydWUsIHRydWUsICdzdGF2ZXMnXSwKICAgIC8vIGhvb3ZlcyAoaG9vZiksIGR3YXJ2ZXMgKGR3YXJmKSwgZWx2ZXMgKGVsZiksIGxlYXZlcyAobGVhZikKICAgIFsnZmYnLCAyLCB0cnVlLCB0cnVlLCAnZmZzJ10sCiAgICAvLyBob292ZXMgKGhvb2YpLCBkd2FydmVzIChkd2FyZiksIGVsdmVzIChlbGYpLCBsZWF2ZXMgKGxlYWYpCiAgICBbJ2YnLCAxLCB0cnVlLCB0cnVlLCBbJ2ZzJywgJ3ZlcyddXSwKICAgIC8vIGFyY2hlcyAoYXJjaCkKICAgIFsnaGMnLCAyLCB0cnVlLCB0cnVlLCAnY2hlcyddLAogICAgLy8gYnVzaGVzIChidXNoKQogICAgWydocycsIDIsIHRydWUsIHRydWUsICdzaGVzJ10sCiAgICAvLyB0ZWV0aCAodG9vdGgpCiAgICBbJ2h0b290JywgNSwgdHJ1ZSwgdHJ1ZSwgJ3RlZXRoJ10sCiAgICAvLyBhbGJ1bXMgKGFsYnVtKQogICAgWydtdWJsYScsIDUsIHRydWUsIHRydWUsICdhbGJ1bXMnXSwKICAgIC8vIHF1b3J1bXMgKHF1b3J1bSkKICAgIFsnbXVyb3VxJywgNiwgdHJ1ZSwgdHJ1ZSwgWydxdW9yYScsICdxdW9ydW1zJ11dLAogICAgLy8gYmFjdGVyaWEgKGJhY3Rlcml1bSksIGN1cnJpY3VsYSAoY3VycmljdWx1bSksIG1lZGlhIChtZWRpdW0pLCBtZW1vcmFuZGEgKG1lbW9yYW5kdW0pLCBwaGVub21lbmEgKHBoZW5vbWVub24pLCBzdHJhdGEgKHN0cmF0dW0pCiAgICBbJ211JywgMiwgdHJ1ZSwgdHJ1ZSwgJ2EnXSwKICAgIC8vIG1lbiAobWFuKSwgd29tZW4gKHdvbWFuKQogICAgWyduYW0nLCAzLCB0cnVlLCB0cnVlLCAnbWVuJ10sCiAgICAvLyBwZW9wbGUgKHBlcnNvbikKICAgIFsnbm9zcmVwJywgNiwgdHJ1ZSwgdHJ1ZSwgWydwZXJzb25zJywgJ3Blb3BsZSddXSwKICAgIC8vIGNyaXRlcmlhIChjcml0ZXJpb24pCiAgICBbJ25vaXJldGlyYycsIDksIHRydWUsIHRydWUsICdjcml0ZXJpYSddLAogICAgLy8gcGhlbm9tZW5hIChwaGVub21lbm9uKQogICAgWydub25lbW9uZWhwJywgMTAsIHRydWUsIHRydWUsICdwaGVub21lbmEnXSwKICAgIC8vIGVjaG9lcyAoZWNobykKICAgIFsnb2hjZScsIDQsIHRydWUsIHRydWUsICdlY2hvZXMnXSwKICAgIC8vIGhlcm9lcyAoaGVybykKICAgIFsnb3JlaCcsIDQsIHRydWUsIHRydWUsICdoZXJvZXMnXSwKICAgIC8vIGF0bGFzZXMgKGF0bGFzKQogICAgWydzYWx0YScsIDUsIHRydWUsIHRydWUsICdhdGxhc2VzJ10sCiAgICAvLyBhbGlhc2VzIChhbGlhcykKICAgIFsnc2FpbGEnLCA1LCB0cnVlLCB0cnVlLCAnYWxpYXNlcyddLAogICAgLy8gaXJpc2VzIChpcmlzKQogICAgWydzaXJpJywgNCwgdHJ1ZSwgdHJ1ZSwgJ2lyaXNlcyddLAogICAgLy8gYW5hbHlzZXMgKGFuYWx5c2lzKSwgZWxsaXBzZXMgKGVsbGlwc2lzKSwgbmV1cm9zZXMgKG5ldXJvc2lzKQogICAgLy8gdGhlc2VzICh0aGVzaXMpLCBlbXBoYXNlcyAoZW1waGFzaXMpLCBvYXNlcyAob2FzaXMpLAogICAgLy8gY3Jpc2VzIChjcmlzaXMpCiAgICBbJ3NpcycsIDMsIHRydWUsIHRydWUsICdzZXMnXSwKICAgIC8vIGFjY2Vzc2VzIChhY2Nlc3MpLCBhZGRyZXNzZXMgKGFkZHJlc3MpLCBraXNzZXMgKGtpc3MpCiAgICBbJ3NzJywgMiwgdHJ1ZSwgZmFsc2UsICdzc2VzJ10sCiAgICAvLyBzeWxsYWJpIChzeWxsYWJ1cykKICAgIFsnc3ViYWxseXMnLCA4LCB0cnVlLCB0cnVlLCAnc3lsbGFiaSddLAogICAgLy8gYnVzZXMgKGJ1cykKICAgIFsnc3ViJywgMywgdHJ1ZSwgdHJ1ZSwgJ2J1c2VzJ10sCiAgICAvLyBjaXJjdXNlcyAoY2lyY3VzKQogICAgWydzdWMnLCAzLCB0cnVlLCB0cnVlLCAnY3VzZXMnXSwKICAgIC8vIGhpcHBvY2FtcGkgKGhpcHBvY2FtcHVzKQogICAgWydzdXBtYWNvcHBpaCcsIDExLCBmYWxzZSwgZmFsc2UsICdoaXBwb2NhbXBpJ10sCiAgICAvLyBjYW1wdXNlcyAoY2FtcHVzKQogICAgWydzdXAnLCAzLCB0cnVlLCB0cnVlLCAncHVzZXMnXSwKICAgIC8vIHN0YXR1cyAoc3RhdHVzKQogICAgWydzdXRhdHMnLCA2LCB0cnVlLCB0cnVlLCBbJ3N0YXR1cycsICdzdGF0dXNlcyddXSwKICAgIC8vIGNvbnNwZWN0dXNlcyAoY29uc3BlY3R1cyksIHByb3NwZWN0dXNlcyAocHJvc3BlY3R1cykKICAgIFsnc3V0Y2VwJywgNiwgdHJ1ZSwgdHJ1ZSwgJ3BlY3R1c2VzJ10sCiAgICAvLyBuZXh1c2VzIChuZXh1cykKICAgIFsnc3V4ZW4nLCA1LCBmYWxzZSwgZmFsc2UsICduZXh1c2VzJ10sCiAgICAvLyBmdW5naSAoZnVuZ3VzKSwgYWx1bW5pIChhbHVtbnVzKSwgc3lsbGFiaSAoc3lsbGFidXMpLCByYWRpaSAocmFkaXVzKQogICAgWydzdScsIDIsIHRydWUsIHRydWUsICdpJ10sCiAgICAvLyBuZXdzIChuZXdzKQogICAgWydzd2VuJywgNCwgdHJ1ZSwgdHJ1ZSwgJ25ld3MnXSwKICAgIC8vIGZlZXQgKGZvb3QpCiAgICBbJ3Rvb2YnLCA0LCB0cnVlLCB0cnVlLCAnZmVldCddLAogICAgLy8gY2hhdGVhdXggKGNoYXRlYXUpLCBidXJlYXVzIChidXJlYXUpCiAgICBbJ3VhZScsIDMsIGZhbHNlLCB0cnVlLCBbJ2VhdXMnLCAnZWF1eCddXSwKICAgIC8vIG94ZW4gKG94KQogICAgWyd4bycsIDIsIGZhbHNlLCBmYWxzZSwgJ294ZW4nXSwKICAgIC8vIGhvYXhlcyAoaG9heCkKICAgIFsneGFvaCcsIDQsIHRydWUsIGZhbHNlLCAnaG9heGVzJ10sCiAgICAvLyBpbmRpY2VzIChpbmRleCkKICAgIFsneGVkbmknLCA1LCBmYWxzZSwgdHJ1ZSwgWydpbmRpY2llcycsICdpbmRleGVzJ11dLAogICAgLy8gZmF4IChmYXhlcywgZmF4eGVzKQogICAgWyd4YWYnLCAzLCB0cnVlLCB0cnVlLCBbJ2ZheGVzJywgJ2ZheHhlcyddXSwKICAgIC8vIGJveGVzIChib3gpCiAgICBbJ3hvJywgMiwgZmFsc2UsIHRydWUsICdveGVzJ10sCiAgICAvLyBpbmRleGVzIChpbmRleCksIG1hdHJpeGVzIChtYXRyaXgpLCBhcHBlbmRpY2VzIChhcHBlbmRpeCkKICAgIFsneCcsIDEsIHRydWUsIGZhbHNlLCBbJ2NlcycsICd4ZXMnXV0sCiAgICAvLyBiYWJpZXMgKGJhYnkpCiAgICBbJ3knLCAxLCBmYWxzZSwgdHJ1ZSwgJ2llcyddLAogICAgLy8gcXVpenplcyAocXVpeikKICAgIFsneml1cScsIDQsIHRydWUsIGZhbHNlLCAncXVpenplcyddLAogICAgLy8gd2FsdHplcyAod2FsdHopCiAgICBbJ3onLCAxLCB0cnVlLCB0cnVlLCAnemVzJ10sCl0iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MDp7fX1zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABmaW5hbCI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50AG1ldGFkYXRhIjthOjA6e31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABhdHRyaWJ1dGVzIjthOjA6e319czo2NToiXFN5bWZvbnlcQ29tcG9uZW50XFN0cmluZ1xJbmZsZWN0b3JcRW5nbGlzaEluZmxlY3Rvcjo6VU5JTkZMRUNURUQiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQiOjk6e3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0MDc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ2MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NToiXFN5bWZvbnlcQ29tcG9uZW50XFN0cmluZ1xJbmZsZWN0b3JcRW5nbGlzaEluZmxlY3Rvcjo6VU5JTkZMRUNURUQiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiVU5JTkZMRUNURUQiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTY6IkEgbGlzdCBvZiB3b3JkcyB3aGljaCBzaG91bGQgbm90IGJlIGluZmxlY3RlZCwgcmV2ZXJzZWQuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6NDA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudAB2YWx1ZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6NDk5OiJbCiAgICAnJywKICAgIC8vIGRhdGEKICAgICdhdGFkJywKICAgIC8vIGRlZXIKICAgICdyZWVkJywKICAgIC8vIGVxdWlwbWVudAogICAgJ3RuZW1waXVxZScsCiAgICAvLyBmZWVkYmFjawogICAgJ2tjYWJkZWVmJywKICAgIC8vIGZpc2gKICAgICdoc2lmJywKICAgIC8vIGhlYWx0aAogICAgJ2h0bGFlaCcsCiAgICAvLyBoaXN0b3J5CiAgICAneXJvdHNpaCcsCiAgICAvLyBpbmZvCiAgICAnb2ZuaScsCiAgICAvLyBpbmZvcm1hdGlvbgogICAgJ25vaXRhbXJvZm5pJywKICAgIC8vIG1vbmV5CiAgICAneWVub20nLAogICAgLy8gbW9vc2UKICAgICdlc29vbScsCiAgICAvLyBzZXJpZXMKICAgICdzZWlyZXMnLAogICAgLy8gc2hlZXAKICAgICdwZWVocycsCiAgICAvLyBzcGVjaWVzCiAgICAnc2VpY2VwcycsCiAgICAvLyB0cmFmZmljCiAgICAnY2lmZmFydCcsCiAgICAvLyBhaXJjcmFmdAogICAgJ3RmYXJjcmlhJywKICAgIC8vIGhhcmR3YXJlCiAgICAnZXJhd2RyYWgnLApdIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjA6e319czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAZmluYWwiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABtZXRhZGF0YSI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGhvZHMiO2E6Mjp7czo2NzoiXFN5bWZvbnlcQ29tcG9uZW50XFN0cmluZ1xJbmZsZWN0b3JcRW5nbGlzaEluZmxlY3Rvcjo6c2luZ3VsYXJpemUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoicGx1cmFsIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0NjI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTIwMTQ7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTM2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE0OTkwO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Njc6IlxTeW1mb255XENvbXBvbmVudFxTdHJpbmdcSW5mbGVjdG9yXEVuZ2xpc2hJbmZsZWN0b3I6OnNpbmd1bGFyaXplKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToic2luZ3VsYXJpemUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo2NToiXFN5bWZvbnlcQ29tcG9uZW50XFN0cmluZ1xJbmZsZWN0b3JcRW5nbGlzaEluZmxlY3Rvcjo6cGx1cmFsaXplKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6InNpbmd1bGFyIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1Mzg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTQ5OTc7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjEzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE4MDIwO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjU6IlxTeW1mb255XENvbXBvbmVudFxTdHJpbmdcSW5mbGVjdG9yXEVuZ2xpc2hJbmZsZWN0b3I6OnBsdXJhbGl6ZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6OToicGx1cmFsaXplIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AdXNlZFRyYWl0cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjYxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MjoiXFN5bWZvbnlcQ29tcG9uZW50XFN0cmluZ1xJbmZsZWN0b3JcRW5nbGlzaEluZmxlY3RvciI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE2OiJFbmdsaXNoSW5mbGVjdG9yIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGRvY0Jsb2NrIjtOO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZpbmFsIjtiOjE7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHJlYWRPbmx5IjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6ImRiNzk1NjM1ZDBjZjU3NTVjZDYxMWJlMzM5MjRlYTAzIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6NTI6InZlbmRvci9zeW1mb255L3N0cmluZy9JbmZsZWN0b3IvRW5nbGlzaEluZmxlY3Rvci5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjE4MDI0OiI8P3BocAoKLyoKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFN5bWZvbnkgcGFja2FnZS4KICoKICogKGMpIEZhYmllbiBQb3RlbmNpZXIgPGZhYmllbkBzeW1mb255LmNvbT4KICoKICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0UKICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuCiAqLwoKbmFtZXNwYWNlIFN5bWZvbnlcQ29tcG9uZW50XFN0cmluZ1xJbmZsZWN0b3I7CgpmaW5hbCBjbGFzcyBFbmdsaXNoSW5mbGVjdG9yIGltcGxlbWVudHMgSW5mbGVjdG9ySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogTWFwIEVuZ2xpc2ggcGx1cmFsIHRvIHNpbmd1bGFyIHN1ZmZpeGVzLgogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2VuZ2xpc2gtem9uZS5jb20vc3BlbGxpbmcvcGx1cmFscy5odG1sCiAgICAgKi8KICAgIHByaXZhdGUgY29uc3QgUExVUkFMX01BUCA9IFsKICAgICAgICAvLyBGaXJzdCBlbnRyeTogcGx1cmFsIHN1ZmZpeCwgcmV2ZXJzZWQKICAgICAgICAvLyBTZWNvbmQgZW50cnk6IGxlbmd0aCBvZiBwbHVyYWwgc3VmZml4CiAgICAgICAgLy8gVGhpcmQgZW50cnk6IFdoZXRoZXIgdGhlIHN1ZmZpeCBtYXkgc3VjY2VlZCBhIHZvd2VsCiAgICAgICAgLy8gRm91cnRoIGVudHJ5OiBXaGV0aGVyIHRoZSBzdWZmaXggbWF5IHN1Y2NlZWQgYSBjb25zb25hbnQKICAgICAgICAvLyBGaWZ0aCBlbnRyeTogc2luZ3VsYXIgc3VmZml4LCBub3JtYWwKCiAgICAgICAgLy8gaW5zaWduaWFzIChpbnNpZ25lKSwgaW5zaWduaWEgKGluc2lnbmUpCiAgICAgICAgWydzYWluZ2lzbmknLCA5LCB0cnVlLCB0cnVlLCAnaW5zaWduZSddLAogICAgICAgIFsnYWluZ2lzbmknLCA4LCB0cnVlLCB0cnVlLCAnaW5zaWduZSddLAoKICAgICAgICAvLyBwYXNzZXJzYnkgKHBhc3NlcmJ5KQogICAgICAgIFsneWJzcmVzc2FwJywgOSwgdHJ1ZSwgdHJ1ZSwgJ3Bhc3NlcmJ5J10sCgogICAgICAgIC8vIG5vZGVzIChub2RlKQogICAgICAgIFsnc2Vkb24nLCA1LCB0cnVlLCB0cnVlLCAnbm9kZSddLAoKICAgICAgICAvLyBiYWN0ZXJpYSAoYmFjdGVyaXVtKQogICAgICAgIFsnYWlyZXRjYWInLCA4LCB0cnVlLCB0cnVlLCAnYmFjdGVyaXVtJ10sCgogICAgICAgIC8vIGlzc3VlcyAoaXNzdWUpCiAgICAgICAgWydzZXVzc2knLCA2LCB0cnVlLCB0cnVlLCAnaXNzdWUnXSwKCiAgICAgICAgLy8gY29ycG9yYSAoY29ycHVzKQogICAgICAgIFsnYXJvcHJvYycsIDcsIHRydWUsIHRydWUsICdjb3JwdXMnXSwKCiAgICAgICAgLy8gY3JpdGVyaWEgKGNyaXRlcmlvbikKICAgICAgICBbJ2FpcmV0aXJjJywgOCwgdHJ1ZSwgdHJ1ZSwgJ2NyaXRlcmlvbiddLAoKICAgICAgICAvLyBjdXJyaWN1bGEgKGN1cnJpY3VsdW0pCiAgICAgICAgWydhbHVjaXJydWMnLCA5LCB0cnVlLCB0cnVlLCAnY3VycmljdWx1bSddLAoKICAgICAgICAvLyBxdW9yYSAocXVvcnVtKQogICAgICAgIFsnYXJvdXEnLCA1LCB0cnVlLCB0cnVlLCAncXVvcnVtJ10sCgogICAgICAgIC8vIGdlbmVyYSAoZ2VudXMpCiAgICAgICAgWydhcmVuZWcnLCA2LCB0cnVlLCB0cnVlLCAnZ2VudXMnXSwKCiAgICAgICAgLy8gbWVkaWEgKG1lZGl1bSkKICAgICAgICBbJ2FpZGVtJywgNSwgdHJ1ZSwgdHJ1ZSwgJ21lZGl1bSddLAoKICAgICAgICAvLyBtZW1vcmFuZGEgKG1lbW9yYW5kdW0pCiAgICAgICAgWydhZG5hcm9tZW0nLCA5LCB0cnVlLCB0cnVlLCAnbWVtb3JhbmR1bSddLAoKICAgICAgICAvLyBwaGVub21lbmEgKHBoZW5vbWVub24pCiAgICAgICAgWydhbmVtb25laHAnLCA5LCB0cnVlLCB0cnVlLCAncGhlbm9tZW5vbiddLAoKICAgICAgICAvLyBzdHJhdGEgKHN0cmF0dW0pCiAgICAgICAgWydhdGFydHMnLCA2LCB0cnVlLCB0cnVlLCAnc3RyYXR1bSddLAoKICAgICAgICAvLyBuZWJ1bGFlIChuZWJ1bGEpCiAgICAgICAgWydlYScsIDIsIHRydWUsIHRydWUsICdhJ10sCgogICAgICAgIC8vIHNlcnZpY2VzIChzZXJ2aWNlKQogICAgICAgIFsnc2VjaXZyZXMnLCA4LCB0cnVlLCB0cnVlLCAnc2VydmljZSddLAoKICAgICAgICAvLyBtaWNlIChtb3VzZSksIGxpY2UgKGxvdXNlKQogICAgICAgIFsnZWNpJywgMywgZmFsc2UsIHRydWUsICdvdXNlJ10sCgogICAgICAgIC8vIGdlZXNlIChnb29zZSkKICAgICAgICBbJ2VzZWUnLCA0LCBmYWxzZSwgdHJ1ZSwgJ29vc2UnXSwKCiAgICAgICAgLy8gZnVuZ2kgKGZ1bmd1cyksIGFsdW1uaSAoYWx1bW51cyksIHN5bGxhYmkgKHN5bGxhYnVzKSwgcmFkaWkgKHJhZGl1cykKICAgICAgICBbJ2knLCAxLCB0cnVlLCB0cnVlLCAndXMnXSwKCiAgICAgICAgLy8gbWVuIChtYW4pLCB3b21lbiAod29tYW4pCiAgICAgICAgWyduZW0nLCAzLCB0cnVlLCB0cnVlLCAnbWFuJ10sCgogICAgICAgIC8vIGNoaWxkcmVuIChjaGlsZCkKICAgICAgICBbJ25lcmRsaWhjJywgOCwgdHJ1ZSwgdHJ1ZSwgJ2NoaWxkJ10sCgogICAgICAgIC8vIG94ZW4gKG94KQogICAgICAgIFsnbmV4bycsIDQsIGZhbHNlLCBmYWxzZSwgJ294J10sCgogICAgICAgIC8vIGluZGljZXMgKGluZGV4KSwgYXBwZW5kaWNlcyAoYXBwZW5kaXgpLCBwcmljZXMgKHByaWNlKQogICAgICAgIFsnc2VjaScsIDQsIGZhbHNlLCB0cnVlLCBbJ2V4JywgJ2l4JywgJ2ljZSddXSwKCiAgICAgICAgLy8gY29kZXMgKGNvZGUpCiAgICAgICAgWydzZWRvYycsIDUsIGZhbHNlLCB0cnVlLCAnY29kZSddLAoKICAgICAgICAvLyBzZWxmaWVzIChzZWxmaWUpCiAgICAgICAgWydzZWlmbGVzJywgNywgdHJ1ZSwgdHJ1ZSwgJ3NlbGZpZSddLAoKICAgICAgICAvLyB6b21iaWVzICh6b21iaWUpCiAgICAgICAgWydzZWlibW96JywgNywgdHJ1ZSwgdHJ1ZSwgJ3pvbWJpZSddLAoKICAgICAgICAvLyBtb3ZpZXMgKG1vdmllKQogICAgICAgIFsnc2Vpdm9tJywgNiwgdHJ1ZSwgdHJ1ZSwgJ21vdmllJ10sCgogICAgICAgIC8vIG5hbWVzIChuYW1lKQogICAgICAgIFsnc2VtYW4nLCA1LCB0cnVlLCBmYWxzZSwgJ25hbWUnXSwKCiAgICAgICAgLy8gY29uc3BlY3R1c2VzIChjb25zcGVjdHVzKSwgcHJvc3BlY3R1c2VzIChwcm9zcGVjdHVzKQogICAgICAgIFsnc2VzdXRjZXAnLCA4LCB0cnVlLCB0cnVlLCAncGVjdHVzJ10sCgogICAgICAgIC8vIGZlZXQgKGZvb3QpCiAgICAgICAgWyd0ZWVmJywgNCwgdHJ1ZSwgdHJ1ZSwgJ2Zvb3QnXSwKCiAgICAgICAgLy8gZ2Vlc2UgKGdvb3NlKQogICAgICAgIFsnZXNlZWcnLCA1LCB0cnVlLCB0cnVlLCAnZ29vc2UnXSwKCiAgICAgICAgLy8gdGVldGggKHRvb3RoKQogICAgICAgIFsnaHRlZXQnLCA1LCB0cnVlLCB0cnVlLCAndG9vdGgnXSwKCiAgICAgICAgLy8gbmV3cyAobmV3cykKICAgICAgICBbJ3N3ZW4nLCA0LCB0cnVlLCB0cnVlLCAnbmV3cyddLAoKICAgICAgICAvLyBzZXJpZXMgKHNlcmllcykKICAgICAgICBbJ3NlaXJlcycsIDYsIHRydWUsIHRydWUsICdzZXJpZXMnXSwKCiAgICAgICAgLy8gYmFiaWVzIChiYWJ5KQogICAgICAgIFsnc2VpJywgMywgZmFsc2UsIHRydWUsICd5J10sCgogICAgICAgIC8vIGFjY2Vzc2VzIChhY2Nlc3MpLCBhZGRyZXNzZXMgKGFkZHJlc3MpLCBraXNzZXMgKGtpc3MpCiAgICAgICAgWydzZXNzJywgNCwgdHJ1ZSwgZmFsc2UsICdzcyddLAoKICAgICAgICAvLyBzdGF0dXNlcyAoc3RhdHVzKQogICAgICAgIFsnc2VzdXRhdHMnLCA4LCB0cnVlLCB0cnVlLCAnc3RhdHVzJ10sCgogICAgICAgIC8vIGFydGljbGUgKGFydGljbGVzKSwgYW5jbGUgKGFuY2xlcykKICAgICAgICBbJ3NlbCcsIDMsIHRydWUsIHRydWUsICdsZSddLAoKICAgICAgICAvLyBhbmFseXNlcyAoYW5hbHlzaXMpLCBlbGxpcHNlcyAoZWxsaXBzaXMpLCBmdW5naSAoZnVuZ3VzKSwKICAgICAgICAvLyBuZXVyb3NlcyAobmV1cm9zaXMpLCB0aGVzZXMgKHRoZXNpcyksIGVtcGhhc2VzIChlbXBoYXNpcyksCiAgICAgICAgLy8gb2FzZXMgKG9hc2lzKSwgY3Jpc2VzIChjcmlzaXMpLCBob3VzZXMgKGhvdXNlKSwgYmFzZXMgKGJhc2UpLAogICAgICAgIC8vIGF0bGFzZXMgKGF0bGFzKQogICAgICAgIFsnc2VzJywgMywgdHJ1ZSwgdHJ1ZSwgWydzJywgJ3NlJywgJ3NpcyddXSwKCiAgICAgICAgLy8gb2JqZWN0aXZlcyAob2JqZWN0aXZlKSwgYWx0ZXJuYXRpdmUgKGFsdGVybmF0aXZlcykKICAgICAgICBbJ3Nldml0JywgNSwgdHJ1ZSwgdHJ1ZSwgJ3RpdmUnXSwKCiAgICAgICAgLy8gZHJpdmVzIChkcml2ZSkKICAgICAgICBbJ3NldmlyZCcsIDYsIGZhbHNlLCB0cnVlLCAnZHJpdmUnXSwKCiAgICAgICAgLy8gbGl2ZXMgKGxpZmUpLCB3aXZlcyAod2lmZSkKICAgICAgICBbJ3NldmknLCA0LCBmYWxzZSwgdHJ1ZSwgJ2lmZSddLAoKICAgICAgICAvLyBtb3ZlcyAobW92ZSkKICAgICAgICBbJ3Nldm9tJywgNSwgdHJ1ZSwgdHJ1ZSwgJ21vdmUnXSwKCiAgICAgICAgLy8gaG9vdmVzIChob29mKSwgZHdhcnZlcyAoZHdhcmYpLCBlbHZlcyAoZWxmKSwgbGVhdmVzIChsZWFmKSwgY2F2ZXMgKGNhdmUpLCBzdGF2ZXMgKHN0YWZmKQogICAgICAgIFsnc2V2JywgMywgdHJ1ZSwgdHJ1ZSwgWydmJywgJ3ZlJywgJ2ZmJ11dLAoKICAgICAgICAvLyBheGVzIChheGlzKSwgYXhlcyAoYXgpLCBheGVzIChheGUpCiAgICAgICAgWydzZXhhJywgNCwgZmFsc2UsIGZhbHNlLCBbJ2F4JywgJ2F4ZScsICdheGlzJ11dLAoKICAgICAgICAvLyBpbmRleGVzIChpbmRleCksIG1hdHJpeGVzIChtYXRyaXgpCiAgICAgICAgWydzZXgnLCAzLCB0cnVlLCBmYWxzZSwgJ3gnXSwKCiAgICAgICAgLy8gcXVpenplcyAocXVpeikKICAgICAgICBbJ3NlenonLCA0LCB0cnVlLCBmYWxzZSwgJ3onXSwKCiAgICAgICAgLy8gYnVyZWF1cyAoYnVyZWF1KQogICAgICAgIFsnc3VhZScsIDQsIGZhbHNlLCB0cnVlLCAnZWF1J10sCgogICAgICAgIC8vIGZlZXMgKGZlZSksIHRyZWVzICh0cmVlKSwgZW1wbG95ZWVzIChlbXBsb3llZSkKICAgICAgICBbJ3NlZScsIDMsIHRydWUsIHRydWUsICdlZSddLAoKICAgICAgICAvLyBlZGdlcyAoZWRnZSkKICAgICAgICBbJ3NlZ2QnLCA0LCB0cnVlLCB0cnVlLCAnZGdlJ10sCgogICAgICAgIC8vIG91dGFnZXMgKG91dGFnZSkgLSBzcGVjaWZpYyBmaXggdG8gYXZvaWQgJ291dGFnJwogICAgICAgIFsnc2VnYXR1bycsIDcsIHRydWUsIHRydWUsICdvdXRhZ2UnXSwKCiAgICAgICAgLy8gcm9zZXMgKHJvc2UpLCBnYXJhZ2VzIChnYXJhZ2UpLCBjYXNzZXR0ZXMgKGNhc3NldHRlKSwKICAgICAgICAvLyB3YWx0emVzICh3YWx0eiksIGhlcm9lcyAoaGVybyksIGJ1c2hlcyAoYnVzaCksIGFyY2hlcyAoYXJjaCksCiAgICAgICAgLy8gc2hvZXMgKHNob2UpCiAgICAgICAgWydzZScsIDIsIHRydWUsIHRydWUsIFsnJywgJ2UnXV0sCgogICAgICAgIC8vIHN0YXR1cyAoc3RhdHVzKQogICAgICAgIFsnc3V0YXRzJywgNiwgdHJ1ZSwgdHJ1ZSwgJ3N0YXR1cyddLAoKICAgICAgICAvLyB0YWdzICh0YWcpCiAgICAgICAgWydzJywgMSwgdHJ1ZSwgdHJ1ZSwgJyddLAoKICAgICAgICAvLyBjaGF0ZWF1eCAoY2hhdGVhdSkKICAgICAgICBbJ3h1YWUnLCA0LCBmYWxzZSwgdHJ1ZSwgJ2VhdSddLAoKICAgICAgICAvLyBwZW9wbGUgKHBlcnNvbikKICAgICAgICBbJ2VscG9lcCcsIDYsIHRydWUsIHRydWUsICdwZXJzb24nXSwKICAgIF07CgogICAgLyoqCiAgICAgKiBNYXAgRW5nbGlzaCBzaW5ndWxhciB0byBwbHVyYWwgc3VmZml4ZXMuCiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZW5nbGlzaC16b25lLmNvbS9zcGVsbGluZy9wbHVyYWxzLmh0bWwKICAgICAqLwogICAgcHJpdmF0ZSBjb25zdCBTSU5HVUxBUl9NQVAgPSBbCiAgICAgICAgLy8gRmlyc3QgZW50cnk6IHNpbmd1bGFyIHN1ZmZpeCwgcmV2ZXJzZWQKICAgICAgICAvLyBTZWNvbmQgZW50cnk6IGxlbmd0aCBvZiBzaW5ndWxhciBzdWZmaXgKICAgICAgICAvLyBUaGlyZCBlbnRyeTogV2hldGhlciB0aGUgc3VmZml4IG1heSBzdWNjZWVkIGEgdm93ZWwKICAgICAgICAvLyBGb3VydGggZW50cnk6IFdoZXRoZXIgdGhlIHN1ZmZpeCBtYXkgc3VjY2VlZCBhIGNvbnNvbmFudAogICAgICAgIC8vIEZpZnRoIGVudHJ5OiBwbHVyYWwgc3VmZml4LCBub3JtYWwKCiAgICAgICAgLy8gcGFzc2VyYnkgKHBhc3NlcnNieSkKICAgICAgICBbJ3licmVzc2FwJywgOCwgdHJ1ZSwgdHJ1ZSwgJ3Bhc3NlcnNieSddLAoKICAgICAgICAvLyBpbnNpZ25lIChpbnNpZ25pYSwgaW5zaWduaWFzKQogICAgICAgIFsnZW5naXNuaScsIDcsIHRydWUsIHRydWUsIFsnaW5zaWduaWEnLCAnaW5zaWduaWFzJ11dLAoKICAgICAgICAvLyBub2RlcyAobm9kZSkKICAgICAgICBbJ2Vkb24nLCA0LCB0cnVlLCB0cnVlLCAnbm9kZXMnXSwKCiAgICAgICAgLy8gYXhlcyAoYXhpcykKICAgICAgICBbJ3NpeGEnLCA0LCBmYWxzZSwgZmFsc2UsICdheGVzJ10sCgogICAgICAgIC8vIGNyaXRlcmlvbiAoY3JpdGVyaWEpCiAgICAgICAgWydhaXJldGlyYycsIDgsIGZhbHNlLCBmYWxzZSwgJ2NyaXRlcmlvbiddLAoKICAgICAgICAvLyBuZWJ1bGFlIChuZWJ1bGEpCiAgICAgICAgWydhbHViZW4nLCA2LCBmYWxzZSwgZmFsc2UsICduZWJ1bGFlJ10sCgogICAgICAgIC8vIGNoaWxkcmVuIChjaGlsZCkKICAgICAgICBbJ2RsaWhjJywgNSwgdHJ1ZSwgdHJ1ZSwgJ2NoaWxkcmVuJ10sCgogICAgICAgIC8vIHByaWNlcyAocHJpY2UpCiAgICAgICAgWydlY2knLCAzLCBmYWxzZSwgdHJ1ZSwgJ2ljZXMnXSwKCiAgICAgICAgLy8gc2VydmljZXMgKHNlcnZpY2UpCiAgICAgICAgWydlY2l2cmVzJywgNywgdHJ1ZSwgdHJ1ZSwgJ3NlcnZpY2VzJ10sCgogICAgICAgIC8vIGxpdmVzIChsaWZlKSwgd2l2ZXMgKHdpZmUpCiAgICAgICAgWydlZmknLCAzLCBmYWxzZSwgdHJ1ZSwgJ2l2ZXMnXSwKCiAgICAgICAgLy8gc2VsZmllcyAoc2VsZmllKQogICAgICAgIFsnZWlmbGVzJywgNiwgdHJ1ZSwgdHJ1ZSwgJ3NlbGZpZXMnXSwKCiAgICAgICAgLy8gbW92aWVzIChtb3ZpZSkKICAgICAgICBbJ2Vpdm9tJywgNSwgdHJ1ZSwgdHJ1ZSwgJ21vdmllcyddLAoKICAgICAgICAvLyBsaWNlIChsb3VzZSkKICAgICAgICBbJ2VzdW9sJywgNSwgZmFsc2UsIHRydWUsICdsaWNlJ10sCgogICAgICAgIC8vIG1pY2UgKG1vdXNlKQogICAgICAgIFsnZXN1b20nLCA1LCBmYWxzZSwgdHJ1ZSwgJ21pY2UnXSwKCiAgICAgICAgLy8gZ2Vlc2UgKGdvb3NlKQogICAgICAgIFsnZXNvbycsIDQsIGZhbHNlLCB0cnVlLCAnZWVzZSddLAoKICAgICAgICAvLyBob3VzZXMgKGhvdXNlKSwgYmFzZXMgKGJhc2UpCiAgICAgICAgWydlcycsIDIsIHRydWUsIHRydWUsICdzZXMnXSwKCiAgICAgICAgLy8gZ2Vlc2UgKGdvb3NlKQogICAgICAgIFsnZXNvb2cnLCA1LCB0cnVlLCB0cnVlLCAnZ2Vlc2UnXSwKCiAgICAgICAgLy8gY2F2ZXMgKGNhdmUpCiAgICAgICAgWydldicsIDIsIHRydWUsIHRydWUsICd2ZXMnXSwKCiAgICAgICAgLy8gZHJpdmVzIChkcml2ZSkKICAgICAgICBbJ2V2aXJkJywgNSwgZmFsc2UsIHRydWUsICdkcml2ZXMnXSwKCiAgICAgICAgLy8gb2JqZWN0aXZlcyAob2JqZWN0aXZlKSwgYWx0ZXJuYXRpdmUgKGFsdGVybmF0aXZlcykKICAgICAgICBbJ2V2aXQnLCA0LCB0cnVlLCB0cnVlLCAndGl2ZXMnXSwKCiAgICAgICAgLy8gbW92ZXMgKG1vdmUpCiAgICAgICAgWydldm9tJywgNCwgdHJ1ZSwgdHJ1ZSwgJ21vdmVzJ10sCgogICAgICAgIC8vIHN0YXZlcyAoc3RhZmYpCiAgICAgICAgWydmZmF0cycsIDUsIHRydWUsIHRydWUsICdzdGF2ZXMnXSwKCiAgICAgICAgLy8gaG9vdmVzIChob29mKSwgZHdhcnZlcyAoZHdhcmYpLCBlbHZlcyAoZWxmKSwgbGVhdmVzIChsZWFmKQogICAgICAgIFsnZmYnLCAyLCB0cnVlLCB0cnVlLCAnZmZzJ10sCgogICAgICAgIC8vIGhvb3ZlcyAoaG9vZiksIGR3YXJ2ZXMgKGR3YXJmKSwgZWx2ZXMgKGVsZiksIGxlYXZlcyAobGVhZikKICAgICAgICBbJ2YnLCAxLCB0cnVlLCB0cnVlLCBbJ2ZzJywgJ3ZlcyddXSwKCiAgICAgICAgLy8gYXJjaGVzIChhcmNoKQogICAgICAgIFsnaGMnLCAyLCB0cnVlLCB0cnVlLCAnY2hlcyddLAoKICAgICAgICAvLyBidXNoZXMgKGJ1c2gpCiAgICAgICAgWydocycsIDIsIHRydWUsIHRydWUsICdzaGVzJ10sCgogICAgICAgIC8vIHRlZXRoICh0b290aCkKICAgICAgICBbJ2h0b290JywgNSwgdHJ1ZSwgdHJ1ZSwgJ3RlZXRoJ10sCgogICAgICAgIC8vIGFsYnVtcyAoYWxidW0pCiAgICAgICAgWydtdWJsYScsIDUsIHRydWUsIHRydWUsICdhbGJ1bXMnXSwKCiAgICAgICAgLy8gcXVvcnVtcyAocXVvcnVtKQogICAgICAgIFsnbXVyb3VxJywgNiwgdHJ1ZSwgdHJ1ZSwgWydxdW9yYScsICdxdW9ydW1zJ11dLAoKICAgICAgICAvLyBiYWN0ZXJpYSAoYmFjdGVyaXVtKSwgY3VycmljdWxhIChjdXJyaWN1bHVtKSwgbWVkaWEgKG1lZGl1bSksIG1lbW9yYW5kYSAobWVtb3JhbmR1bSksIHBoZW5vbWVuYSAocGhlbm9tZW5vbiksIHN0cmF0YSAoc3RyYXR1bSkKICAgICAgICBbJ211JywgMiwgdHJ1ZSwgdHJ1ZSwgJ2EnXSwKCiAgICAgICAgLy8gbWVuIChtYW4pLCB3b21lbiAod29tYW4pCiAgICAgICAgWyduYW0nLCAzLCB0cnVlLCB0cnVlLCAnbWVuJ10sCgogICAgICAgIC8vIHBlb3BsZSAocGVyc29uKQogICAgICAgIFsnbm9zcmVwJywgNiwgdHJ1ZSwgdHJ1ZSwgWydwZXJzb25zJywgJ3Blb3BsZSddXSwKCiAgICAgICAgLy8gY3JpdGVyaWEgKGNyaXRlcmlvbikKICAgICAgICBbJ25vaXJldGlyYycsIDksIHRydWUsIHRydWUsICdjcml0ZXJpYSddLAoKICAgICAgICAvLyBwaGVub21lbmEgKHBoZW5vbWVub24pCiAgICAgICAgWydub25lbW9uZWhwJywgMTAsIHRydWUsIHRydWUsICdwaGVub21lbmEnXSwKCiAgICAgICAgLy8gZWNob2VzIChlY2hvKQogICAgICAgIFsnb2hjZScsIDQsIHRydWUsIHRydWUsICdlY2hvZXMnXSwKCiAgICAgICAgLy8gaGVyb2VzIChoZXJvKQogICAgICAgIFsnb3JlaCcsIDQsIHRydWUsIHRydWUsICdoZXJvZXMnXSwKCiAgICAgICAgLy8gYXRsYXNlcyAoYXRsYXMpCiAgICAgICAgWydzYWx0YScsIDUsIHRydWUsIHRydWUsICdhdGxhc2VzJ10sCgogICAgICAgIC8vIGFsaWFzZXMgKGFsaWFzKQogICAgICAgIFsnc2FpbGEnLCA1LCB0cnVlLCB0cnVlLCAnYWxpYXNlcyddLAoKICAgICAgICAvLyBpcmlzZXMgKGlyaXMpCiAgICAgICAgWydzaXJpJywgNCwgdHJ1ZSwgdHJ1ZSwgJ2lyaXNlcyddLAoKICAgICAgICAvLyBhbmFseXNlcyAoYW5hbHlzaXMpLCBlbGxpcHNlcyAoZWxsaXBzaXMpLCBuZXVyb3NlcyAobmV1cm9zaXMpCiAgICAgICAgLy8gdGhlc2VzICh0aGVzaXMpLCBlbXBoYXNlcyAoZW1waGFzaXMpLCBvYXNlcyAob2FzaXMpLAogICAgICAgIC8vIGNyaXNlcyAoY3Jpc2lzKQogICAgICAgIFsnc2lzJywgMywgdHJ1ZSwgdHJ1ZSwgJ3NlcyddLAoKICAgICAgICAvLyBhY2Nlc3NlcyAoYWNjZXNzKSwgYWRkcmVzc2VzIChhZGRyZXNzKSwga2lzc2VzIChraXNzKQogICAgICAgIFsnc3MnLCAyLCB0cnVlLCBmYWxzZSwgJ3NzZXMnXSwKCiAgICAgICAgLy8gc3lsbGFiaSAoc3lsbGFidXMpCiAgICAgICAgWydzdWJhbGx5cycsIDgsIHRydWUsIHRydWUsICdzeWxsYWJpJ10sCgogICAgICAgIC8vIGJ1c2VzIChidXMpCiAgICAgICAgWydzdWInLCAzLCB0cnVlLCB0cnVlLCAnYnVzZXMnXSwKCiAgICAgICAgLy8gY2lyY3VzZXMgKGNpcmN1cykKICAgICAgICBbJ3N1YycsIDMsIHRydWUsIHRydWUsICdjdXNlcyddLAoKICAgICAgICAvLyBoaXBwb2NhbXBpIChoaXBwb2NhbXB1cykKICAgICAgICBbJ3N1cG1hY29wcGloJywgMTEsIGZhbHNlLCBmYWxzZSwgJ2hpcHBvY2FtcGknXSwKCiAgICAgICAgLy8gY2FtcHVzZXMgKGNhbXB1cykKICAgICAgICBbJ3N1cCcsIDMsIHRydWUsIHRydWUsICdwdXNlcyddLAoKICAgICAgICAvLyBzdGF0dXMgKHN0YXR1cykKICAgICAgICBbJ3N1dGF0cycsIDYsIHRydWUsIHRydWUsIFsnc3RhdHVzJywgJ3N0YXR1c2VzJ11dLAoKICAgICAgICAvLyBjb25zcGVjdHVzZXMgKGNvbnNwZWN0dXMpLCBwcm9zcGVjdHVzZXMgKHByb3NwZWN0dXMpCiAgICAgICAgWydzdXRjZXAnLCA2LCB0cnVlLCB0cnVlLCAncGVjdHVzZXMnXSwKCiAgICAgICAgLy8gbmV4dXNlcyAobmV4dXMpCiAgICAgICAgWydzdXhlbicsIDUsIGZhbHNlLCBmYWxzZSwgJ25leHVzZXMnXSwKCiAgICAgICAgLy8gZnVuZ2kgKGZ1bmd1cyksIGFsdW1uaSAoYWx1bW51cyksIHN5bGxhYmkgKHN5bGxhYnVzKSwgcmFkaWkgKHJhZGl1cykKICAgICAgICBbJ3N1JywgMiwgdHJ1ZSwgdHJ1ZSwgJ2knXSwKCiAgICAgICAgLy8gbmV3cyAobmV3cykKICAgICAgICBbJ3N3ZW4nLCA0LCB0cnVlLCB0cnVlLCAnbmV3cyddLAoKICAgICAgICAvLyBmZWV0IChmb290KQogICAgICAgIFsndG9vZicsIDQsIHRydWUsIHRydWUsICdmZWV0J10sCgogICAgICAgIC8vIGNoYXRlYXV4IChjaGF0ZWF1KSwgYnVyZWF1cyAoYnVyZWF1KQogICAgICAgIFsndWFlJywgMywgZmFsc2UsIHRydWUsIFsnZWF1cycsICdlYXV4J11dLAoKICAgICAgICAvLyBveGVuIChveCkKICAgICAgICBbJ3hvJywgMiwgZmFsc2UsIGZhbHNlLCAnb3hlbiddLAoKICAgICAgICAvLyBob2F4ZXMgKGhvYXgpCiAgICAgICAgWyd4YW9oJywgNCwgdHJ1ZSwgZmFsc2UsICdob2F4ZXMnXSwKCiAgICAgICAgLy8gaW5kaWNlcyAoaW5kZXgpCiAgICAgICAgWyd4ZWRuaScsIDUsIGZhbHNlLCB0cnVlLCBbJ2luZGljaWVzJywgJ2luZGV4ZXMnXV0sCgogICAgICAgIC8vIGZheCAoZmF4ZXMsIGZheHhlcykKICAgICAgICBbJ3hhZicsIDMsIHRydWUsIHRydWUsIFsnZmF4ZXMnLCAnZmF4eGVzJ11dLAoKICAgICAgICAvLyBib3hlcyAoYm94KQogICAgICAgIFsneG8nLCAyLCBmYWxzZSwgdHJ1ZSwgJ294ZXMnXSwKCiAgICAgICAgLy8gaW5kZXhlcyAoaW5kZXgpLCBtYXRyaXhlcyAobWF0cml4KSwgYXBwZW5kaWNlcyAoYXBwZW5kaXgpCiAgICAgICAgWyd4JywgMSwgdHJ1ZSwgZmFsc2UsIFsnY2VzJywgJ3hlcyddXSwKCiAgICAgICAgLy8gYmFiaWVzIChiYWJ5KQogICAgICAgIFsneScsIDEsIGZhbHNlLCB0cnVlLCAnaWVzJ10sCgogICAgICAgIC8vIHF1aXp6ZXMgKHF1aXopCiAgICAgICAgWyd6aXVxJywgNCwgdHJ1ZSwgZmFsc2UsICdxdWl6emVzJ10sCgogICAgICAgIC8vIHdhbHR6ZXMgKHdhbHR6KQogICAgICAgIFsneicsIDEsIHRydWUsIHRydWUsICd6ZXMnXSwKICAgIF07CgogICAgLyoqCiAgICAgKiBBIGxpc3Qgb2Ygd29yZHMgd2hpY2ggc2hvdWxkIG5vdCBiZSBpbmZsZWN0ZWQsIHJldmVyc2VkLgogICAgICovCiAgICBwcml2YXRlIGNvbnN0IFVOSU5GTEVDVEVEID0gWwogICAgICAgICcnLAoKICAgICAgICAvLyBkYXRhCiAgICAgICAgJ2F0YWQnLAoKICAgICAgICAvLyBkZWVyCiAgICAgICAgJ3JlZWQnLAoKICAgICAgICAvLyBlcXVpcG1lbnQKICAgICAgICAndG5lbXBpdXFlJywKCiAgICAgICAgLy8gZmVlZGJhY2sKICAgICAgICAna2NhYmRlZWYnLAoKICAgICAgICAvLyBmaXNoCiAgICAgICAgJ2hzaWYnLAoKICAgICAgICAvLyBoZWFsdGgKICAgICAgICAnaHRsYWVoJywKCiAgICAgICAgLy8gaGlzdG9yeQogICAgICAgICd5cm90c2loJywKCiAgICAgICAgLy8gaW5mbwogICAgICAgICdvZm5pJywKCiAgICAgICAgLy8gaW5mb3JtYXRpb24KICAgICAgICAnbm9pdGFtcm9mbmknLAoKICAgICAgICAvLyBtb25leQogICAgICAgICd5ZW5vbScsCgogICAgICAgIC8vIG1vb3NlCiAgICAgICAgJ2Vzb29tJywKCiAgICAgICAgLy8gc2VyaWVzCiAgICAgICAgJ3NlaXJlcycsCgogICAgICAgIC8vIHNoZWVwCiAgICAgICAgJ3BlZWhzJywKCiAgICAgICAgLy8gc3BlY2llcwogICAgICAgICdzZWljZXBzJywKCiAgICAgICAgLy8gdHJhZmZpYwogICAgICAgICdjaWZmYXJ0JywKCiAgICAgICAgLy8gYWlyY3JhZnQKICAgICAgICAndGZhcmNyaWEnLAoKICAgICAgICAvLyBoYXJkd2FyZQogICAgICAgICdlcmF3ZHJhaCcsCiAgICBdOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzaW5ndWxhcml6ZShzdHJpbmcgJHBsdXJhbCk6IGFycmF5CiAgICB7CiAgICAgICAgJHBsdXJhbFJldiA9IHN0cnJldigkcGx1cmFsKTsKICAgICAgICAkbG93ZXJQbHVyYWxSZXYgPSBzdHJ0b2xvd2VyKCRwbHVyYWxSZXYpOwogICAgICAgICRwbHVyYWxMZW5ndGggPSBcc3RybGVuKCRsb3dlclBsdXJhbFJldik7CgogICAgICAgIC8vIENoZWNrIGlmIHRoZSB3b3JkIGlzIG9uZSB3aGljaCBpcyBub3QgaW5mbGVjdGVkLCByZXR1cm4gZWFybHkgaWYgc28KICAgICAgICBpZiAoXGluX2FycmF5KCRsb3dlclBsdXJhbFJldiwgc2VsZjo6VU5JTkZMRUNURUQsIHRydWUpKSB7CiAgICAgICAgICAgIHJldHVybiBbJHBsdXJhbF07CiAgICAgICAgfQoKICAgICAgICAvLyBUaGUgb3V0ZXIgbG9vcCBpdGVyYXRlcyBvdmVyIHRoZSBlbnRyaWVzIG9mIHRoZSBwbHVyYWwgdGFibGUKICAgICAgICAvLyBUaGUgaW5uZXIgbG9vcCAkaiBpdGVyYXRlcyBvdmVyIHRoZSBjaGFyYWN0ZXJzIG9mIHRoZSBwbHVyYWwgc3VmZml4CiAgICAgICAgLy8gaW4gdGhlIHBsdXJhbCB0YWJsZSB0byBjb21wYXJlIHRoZW0gd2l0aCB0aGUgY2hhcmFjdGVycyBvZiB0aGUgYWN0dWFsCiAgICAgICAgLy8gZ2l2ZW4gcGx1cmFsIHN1ZmZpeAogICAgICAgIGZvcmVhY2ggKHNlbGY6OlBMVVJBTF9NQVAgYXMgJG1hcCkgewogICAgICAgICAgICAkc3VmZml4ID0gJG1hcFswXTsKICAgICAgICAgICAgJHN1ZmZpeExlbmd0aCA9ICRtYXBbMV07CiAgICAgICAgICAgICRqID0gMDsKCiAgICAgICAgICAgIC8vIENvbXBhcmUgY2hhcmFjdGVycyBpbiB0aGUgcGx1cmFsIHRhYmxlIGFuZCBvZiB0aGUgc3VmZml4IG9mIHRoZQogICAgICAgICAgICAvLyBnaXZlbiBwbHVyYWwgb25lIGJ5IG9uZQogICAgICAgICAgICB3aGlsZSAoJHN1ZmZpeFskal0gPT09ICRsb3dlclBsdXJhbFJldlskal0pIHsKICAgICAgICAgICAgICAgIC8vIExldCAkaiBwb2ludCB0byB0aGUgbmV4dCBjaGFyYWN0ZXIKICAgICAgICAgICAgICAgICsrJGo7CgogICAgICAgICAgICAgICAgLy8gU3VjY2Vzc2Z1bGx5IGNvbXBhcmVkIHRoZSBsYXN0IGNoYXJhY3RlcgogICAgICAgICAgICAgICAgLy8gQWRkIGFuIGVudHJ5IHdpdGggdGhlIHNpbmd1bGFyIHN1ZmZpeCB0byB0aGUgc2luZ3VsYXIgYXJyYXkKICAgICAgICAgICAgICAgIGlmICgkaiA9PT0gJHN1ZmZpeExlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIC8vIElzIHRoZXJlIGFueSBjaGFyYWN0ZXIgcHJlY2VkaW5nIHRoZSBzdWZmaXggaW4gdGhlIHBsdXJhbCBzdHJpbmc/CiAgICAgICAgICAgICAgICAgICAgaWYgKCRqIDwgJHBsdXJhbExlbmd0aCkgewogICAgICAgICAgICAgICAgICAgICAgICAkbmV4dElzVm93ZWwgPSBzdHJfY29udGFpbnMoJ2FlaW91JywgJGxvd2VyUGx1cmFsUmV2WyRqXSk7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoISRtYXBbMl0gJiYgJG5leHRJc1Zvd2VsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzdWZmaXggbWF5IG5vdCBzdWNjZWVkIGEgdm93ZWwgYnV0IG5leHQgY2hhciBpcyBvbmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoISRtYXBbM10gJiYgISRuZXh0SXNWb3dlbCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3VmZml4IG1heSBub3Qgc3VjY2VlZCBhIGNvbnNvbmFudCBidXQgbmV4dCBjaGFyIGlzIG9uZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRuZXdCYXNlID0gc3Vic3RyKCRwbHVyYWwsIDAsICRwbHVyYWxMZW5ndGggLSAkc3VmZml4TGVuZ3RoKTsKICAgICAgICAgICAgICAgICAgICAkbmV3U3VmZml4ID0gJG1hcFs0XTsKCiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgZmlyc3QgY2hhcmFjdGVyIGluIHRoZSBwbHVyYWwgc3VmZml4CiAgICAgICAgICAgICAgICAgICAgLy8gaXMgdXBwZXJjYXNlZC4gSWYgeWVzLCB1cHBlcmNhc2UgdGhlIGZpcnN0IGNoYXJhY3RlciBpbgogICAgICAgICAgICAgICAgICAgIC8vIHRoZSBzaW5ndWxhciBzdWZmaXggdG9vCiAgICAgICAgICAgICAgICAgICAgJGZpcnN0VXBwZXIgPSBjdHlwZV91cHBlcigkcGx1cmFsUmV2WyRqIC0gMV0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAoXGlzX2FycmF5KCRuZXdTdWZmaXgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRzaW5ndWxhcnMgPSBbXTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRuZXdTdWZmaXggYXMgJG5ld1N1ZmZpeEVudHJ5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2luZ3VsYXJzW10gPSAkbmV3QmFzZS4oJGZpcnN0VXBwZXIgPyB1Y2ZpcnN0KCRuZXdTdWZmaXhFbnRyeSkgOiAkbmV3U3VmZml4RW50cnkpOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHNpbmd1bGFyczsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBbJG5ld0Jhc2UuKCRmaXJzdFVwcGVyID8gdWNmaXJzdCgkbmV3U3VmZml4KSA6ICRuZXdTdWZmaXgpXTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBTdWZmaXggaXMgbG9uZ2VyIHRoYW4gd29yZAogICAgICAgICAgICAgICAgaWYgKCRqID09PSAkcGx1cmFsTGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEFzc3VtZSB0aGF0IHBsdXJhbCBhbmQgc2luZ3VsYXIgaXMgaWRlbnRpY2FsCiAgICAgICAgcmV0dXJuIFskcGx1cmFsXTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcGx1cmFsaXplKHN0cmluZyAkc2luZ3VsYXIpOiBhcnJheQogICAgewogICAgICAgICRzaW5ndWxhclJldiA9IHN0cnJldigkc2luZ3VsYXIpOwogICAgICAgICRsb3dlclNpbmd1bGFyUmV2ID0gc3RydG9sb3dlcigkc2luZ3VsYXJSZXYpOwogICAgICAgICRzaW5ndWxhckxlbmd0aCA9IFxzdHJsZW4oJGxvd2VyU2luZ3VsYXJSZXYpOwoKICAgICAgICAvLyBDaGVjayBpZiB0aGUgd29yZCBpcyBvbmUgd2hpY2ggaXMgbm90IGluZmxlY3RlZCwgcmV0dXJuIGVhcmx5IGlmIHNvCiAgICAgICAgaWYgKFxpbl9hcnJheSgkbG93ZXJTaW5ndWxhclJldiwgc2VsZjo6VU5JTkZMRUNURUQsIHRydWUpKSB7CiAgICAgICAgICAgIHJldHVybiBbJHNpbmd1bGFyXTsKICAgICAgICB9CgogICAgICAgIC8vIFRoZSBvdXRlciBsb29wIGl0ZXJhdGVzIG92ZXIgdGhlIGVudHJpZXMgb2YgdGhlIHNpbmd1bGFyIHRhYmxlCiAgICAgICAgLy8gVGhlIGlubmVyIGxvb3AgJGogaXRlcmF0ZXMgb3ZlciB0aGUgY2hhcmFjdGVycyBvZiB0aGUgc2luZ3VsYXIgc3VmZml4CiAgICAgICAgLy8gaW4gdGhlIHNpbmd1bGFyIHRhYmxlIHRvIGNvbXBhcmUgdGhlbSB3aXRoIHRoZSBjaGFyYWN0ZXJzIG9mIHRoZSBhY3R1YWwKICAgICAgICAvLyBnaXZlbiBzaW5ndWxhciBzdWZmaXgKICAgICAgICBmb3JlYWNoIChzZWxmOjpTSU5HVUxBUl9NQVAgYXMgJG1hcCkgewogICAgICAgICAgICAkc3VmZml4ID0gJG1hcFswXTsKICAgICAgICAgICAgJHN1ZmZpeExlbmd0aCA9ICRtYXBbMV07CiAgICAgICAgICAgICRqID0gMDsKCiAgICAgICAgICAgIC8vIENvbXBhcmUgY2hhcmFjdGVycyBpbiB0aGUgc2luZ3VsYXIgdGFibGUgYW5kIG9mIHRoZSBzdWZmaXggb2YgdGhlCiAgICAgICAgICAgIC8vIGdpdmVuIHBsdXJhbCBvbmUgYnkgb25lCgogICAgICAgICAgICB3aGlsZSAoJHN1ZmZpeFskal0gPT09ICRsb3dlclNpbmd1bGFyUmV2WyRqXSkgewogICAgICAgICAgICAgICAgLy8gTGV0ICRqIHBvaW50IHRvIHRoZSBuZXh0IGNoYXJhY3RlcgogICAgICAgICAgICAgICAgKyskajsKCiAgICAgICAgICAgICAgICAvLyBTdWNjZXNzZnVsbHkgY29tcGFyZWQgdGhlIGxhc3QgY2hhcmFjdGVyCiAgICAgICAgICAgICAgICAvLyBBZGQgYW4gZW50cnkgd2l0aCB0aGUgcGx1cmFsIHN1ZmZpeCB0byB0aGUgcGx1cmFsIGFycmF5CiAgICAgICAgICAgICAgICBpZiAoJGogPT09ICRzdWZmaXhMZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAvLyBJcyB0aGVyZSBhbnkgY2hhcmFjdGVyIHByZWNlZGluZyB0aGUgc3VmZml4IGluIHRoZSBwbHVyYWwgc3RyaW5nPwogICAgICAgICAgICAgICAgICAgIGlmICgkaiA8ICRzaW5ndWxhckxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgICAgICAkbmV4dElzVm93ZWwgPSBzdHJfY29udGFpbnMoJ2FlaW91JywgJGxvd2VyU2luZ3VsYXJSZXZbJGpdKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghJG1hcFsyXSAmJiAkbmV4dElzVm93ZWwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN1ZmZpeCBtYXkgbm90IHN1Y2NlZWQgYSB2b3dlbCBidXQgbmV4dCBjaGFyIGlzIG9uZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghJG1hcFszXSAmJiAhJG5leHRJc1Zvd2VsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzdWZmaXggbWF5IG5vdCBzdWNjZWVkIGEgY29uc29uYW50IGJ1dCBuZXh0IGNoYXIgaXMgb25lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJG5ld0Jhc2UgPSBzdWJzdHIoJHNpbmd1bGFyLCAwLCAkc2luZ3VsYXJMZW5ndGggLSAkc3VmZml4TGVuZ3RoKTsKICAgICAgICAgICAgICAgICAgICAkbmV3U3VmZml4ID0gJG1hcFs0XTsKCiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgZmlyc3QgY2hhcmFjdGVyIGluIHRoZSBzaW5ndWxhciBzdWZmaXgKICAgICAgICAgICAgICAgICAgICAvLyBpcyB1cHBlcmNhc2VkLiBJZiB5ZXMsIHVwcGVyY2FzZSB0aGUgZmlyc3QgY2hhcmFjdGVyIGluCiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHNpbmd1bGFyIHN1ZmZpeCB0b28KICAgICAgICAgICAgICAgICAgICAkZmlyc3RVcHBlciA9IGN0eXBlX3VwcGVyKCRzaW5ndWxhclJldlskaiAtIDFdKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKFxpc19hcnJheSgkbmV3U3VmZml4KSkgewogICAgICAgICAgICAgICAgICAgICAgICAkcGx1cmFscyA9IFtdOwoKICAgICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJG5ld1N1ZmZpeCBhcyAkbmV3U3VmZml4RW50cnkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwbHVyYWxzW10gPSAkbmV3QmFzZS4oJGZpcnN0VXBwZXIgPyB1Y2ZpcnN0KCRuZXdTdWZmaXhFbnRyeSkgOiAkbmV3U3VmZml4RW50cnkpOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHBsdXJhbHM7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyRuZXdCYXNlLigkZmlyc3RVcHBlciA/IHVjZmlyc3QoJG5ld1N1ZmZpeCkgOiAkbmV3U3VmZml4KV07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gU3VmZml4IGlzIGxvbmdlciB0aGFuIHdvcmQKICAgICAgICAgICAgICAgIGlmICgkaiA9PT0gJHNpbmd1bGFyTGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEFzc3VtZSB0aGF0IHBsdXJhbCBpcyBzaW5ndWxhciB3aXRoIGEgdHJhaWxpbmcgYHNgCiAgICAgICAgcmV0dXJuIFskc2luZ3VsYXIuJ3MnXTsKICAgIH0KfQoiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZG9jQmxvY2siO047czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBtZXRhZGF0YSI7YTowOnt9fQ==";