{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\dataShare\\shareDataSource\\Source.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\dataShare\\shareDataSource\\Source.vue","mtime":1736276117592},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\babel.config.js","mtime":1733906004399},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yUnVudGltZS5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2RhdGFTaGFyZS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmlsdGVyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbmQtaW5kZXguanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5pbmNsdWRlcy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi5zdHJpbmdpZnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5yZXBsYWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5maW5kLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgZGlhbG9nTWl4aW4gZnJvbSAnQC9taXhpbnMvZGlhbG9nLmpzJzsKaW1wb3J0IEFQSSBmcm9tICdAL2FwaS9idXNpbmVzcy9jaGFuZ2VEYXRhU291cmNlJzsKaW1wb3J0IERJQ1QgZnJvbSAnQC91dGlscy9kaWN0JzsKaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoJzsKZXhwb3J0IGRlZmF1bHQgewogIG1peGluczogW2RpYWxvZ01peGluXSwKICBwcm9wczogewogICAgc3lzRGF0YVNvdXJjZTogewogICAgICB0eXBlOiBBcnJheSwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIFtdOwogICAgICB9CiAgICB9LAogICAgZGF0YTogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkgewogICAgICAgIHJldHVybiB7fTsKICAgICAgfQogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIERJQ1Q6IERJQ1QsCiAgICAgIHNvdXJjZVByb3A6IHsKICAgICAgICBuYW1lOiAnJywKICAgICAgICBhbGlhczogJycsCiAgICAgICAgc2V0dGluZ0pzb246IFtdLAogICAgICAgIGVuYWJsZWQ6IGZhbHNlLAogICAgICAgIGRiVHlwZTogJ015c3FsJywKICAgICAgICBkYXRhc291cmNlc1R5cGU6IDEsCiAgICAgICAgdXJsOiAnJywKICAgICAgICBkcml2ZXJDbGFzczogJycsCiAgICAgICAgdmFsaWRhdGlvblF1ZXJ5OiAnJywKICAgICAgICB1c2VybmFtZTogJycsCiAgICAgICAgcGFzc3dvcmQ6ICcnCiAgICAgIH0sCiAgICAgIGlzRW5jcnlwdDogMCwKICAgICAgcm93TWFwQXJyOiBbXSwKICAgICAgbmV3U291cmNlUHJvcDoge30sCiAgICAgIGlzU3VibWl0OiBmYWxzZSwKICAgICAgZGF0YVNvdXJjZURpc2FibGVkOiBmYWxzZSwKICAgICAgc3VibWl0TG9hZGluZzogZmFsc2UsCiAgICAgIGlwOiAne2lwfScsCiAgICAgIHBvcnQ6ICd7cG9ydH0nLAogICAgICBpbnN0YW5jZTogJ3tpbnN0YW5jZX0nLAogICAgICBjdXJyZW50RGF0YTogbnVsbAogICAgfTsKICB9LAogIG1ldGhvZHM6IHsKICAgIGluaXREYXRhOiBmdW5jdGlvbiBpbml0RGF0YShkYXRhKSB7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIHRoaXMuY3VycmVudERhdGEgPSBkYXRhOwogICAgICB2YXIgc2V0dGluZ0pzb24gPSAnJzsKICAgICAgaWYgKGRhdGEpIHsKICAgICAgICB0aGlzLnNvdXJjZVByb3AgPSBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIHRoaXMuc291cmNlUHJvcCksIGRhdGEpOwogICAgICAgIHNldHRpbmdKc29uID0gZGF0YSA9PT0gbnVsbCB8fCBkYXRhID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkYXRhLnNldHRpbmdKc29uOwogICAgICB9IGVsc2UgewogICAgICAgIHZhciBfdGhpcyRzeXNEYXRhU291cmNlJDsKICAgICAgICB0aGlzLnNvdXJjZVByb3AgPSB0aGlzLiRvcHRpb25zLmRhdGEoKS5zb3VyY2VQcm9wOwogICAgICAgIHNldHRpbmdKc29uID0gKF90aGlzJHN5c0RhdGFTb3VyY2UkID0gdGhpcy5zeXNEYXRhU291cmNlWzBdKSA9PT0gbnVsbCB8fCBfdGhpcyRzeXNEYXRhU291cmNlJCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3RoaXMkc3lzRGF0YVNvdXJjZSQuc2V0dGluZ0pzb247CiAgICAgIH0KICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzLiRyZWZzLmZvcm0uY2xlYXJWYWxpZGF0ZSgpOwogICAgICB9KTsKICAgICAgdGhpcy5zZXR0aW5nU2VsKHNldHRpbmdKc29uKTsKICAgIH0sCiAgICBvblNldHRpbmdDaGFuZ2U6IGZ1bmN0aW9uIG9uU2V0dGluZ0NoYW5nZSh2LCBpdGVtKSB7CiAgICAgIHRoaXMuc291cmNlUHJvcFtpdGVtLm5hbWVdID0gdjsKICAgICAgY29uc29sZS5sb2codGhpcy5zb3VyY2VQcm9wKTsKICAgIH0sCiAgICBlbmNyeXB0OiBmdW5jdGlvbiBlbmNyeXB0KGl0ZW0pIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIGlmICh0aGlzLmlzRW5jcnlwdCA9PT0gMSkgewogICAgICAgIGlmICghaXRlbS52YWx1ZSkgewogICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fovpPlhaXlr4bnoIEhJyk7CiAgICAgICAgICB0aGlzLmlzRW5jcnlwdCA9IDA7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHRoaXMuJGh0dHAucG9zdCgiIi5jb25jYXQod2luZG93LmNvbnRleHQucG9ydGFsLCAiL2Jhc2UvdG9vbHMvdjEvZW5jcnlwdERiUGFzc3dvcmQiKSwgewogICAgICAgICAgcGFzc3dvcmQ6IGl0ZW0udmFsdWUKICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgIGlmICghcmVzLmRhdGEuc3RhdGUpIHsKICAgICAgICAgICAgX3RoaXMyLiRtZXNzYWdlLmVycm9yKCfliqDlr4blpLHotKUnKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgICAgaXRlbS52YWx1ZSA9IHJlcy5kYXRhLnZhbHVlLnBhc3N3b3JkOwogICAgICAgICAgdmFyIHB1YmxpY0tleSA9IHsKICAgICAgICAgICAgbmFtZTogJ2Nvbm5lY3Rpb25Qcm9wZXJ0aWVzJywKICAgICAgICAgICAgY29tbWVudDogJ+WFrOmSpScsCiAgICAgICAgICAgIHR5cGU6ICdqYXZhLmxhbmcuU3RyaW5nJywKICAgICAgICAgICAgYmFzZUF0dHI6ICcxJywKICAgICAgICAgICAgZGVmYXVsdDogJycsCiAgICAgICAgICAgIHZhbHVlOiAiY29uZmlnLmRlY3J5cHQ9dHJ1ZTtjb25maWcuZGVjcnlwdC5rZXk9Ii5jb25jYXQocmVzLmRhdGEudmFsdWUucHVibGljS2V5KQogICAgICAgICAgfTsKICAgICAgICAgIF90aGlzMi5zb3VyY2VQcm9wLnNldHRpbmdKc29uLnNwbGljZShfdGhpczIuc291cmNlUHJvcC5zZXR0aW5nSnNvbi5maW5kSW5kZXgoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZSA9PT0gJ2Nvbm5lY3Rpb25Qcm9wZXJ0aWVzJzsKICAgICAgICAgIH0pLCAxKTsKICAgICAgICAgIF90aGlzMi5zb3VyY2VQcm9wLnNldHRpbmdKc29uLnNwbGljZShfdGhpczIuc291cmNlUHJvcC5zZXR0aW5nSnNvbi5maW5kSW5kZXgoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZSA9PT0gJ3Bhc3N3b3JkJzsKICAgICAgICAgIH0pICsgMSwgMCwgcHVibGljS2V5KTsKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBpdGVtLnZhbHVlID0gJyc7CiAgICAgICAgdmFyIGluZGV4ID0gdGhpcy5zb3VyY2VQcm9wLnNldHRpbmdKc29uLmZpbmRJbmRleChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZSA9PT0gJ2Nvbm5lY3Rpb25Qcm9wZXJ0aWVzJzsKICAgICAgICB9KTsKICAgICAgICBpZiAoaW5kZXggPiAwKSB7CiAgICAgICAgICB0aGlzLnNvdXJjZVByb3Auc2V0dGluZ0pzb24uc3BsaWNlKGluZGV4LCAxKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBjaGFuZ2VEZWZhdWx0OiBmdW5jdGlvbiBjaGFuZ2VEZWZhdWx0KHR5cGUpIHsKICAgICAgaWYgKHRoaXNbdHlwZV0pIHsKICAgICAgICB0aGlzLmN1cnJlbnRTZWwodGhpcy5zb3VyY2VQcm9wLmRiVHlwZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpc1t0eXBlXSA9ICd7JyArIHR5cGUgKyAnfSc7CiAgICAgICAgdGhpcy5jdXJyZW50U2VsKHRoaXMuc291cmNlUHJvcC5kYlR5cGUpOwogICAgICB9CiAgICB9LAogICAgY3VycmVudFNlbDogZnVuY3Rpb24gY3VycmVudFNlbCh2YWwpIHsKICAgICAgdmFyIGQgPSBESUNULkRCX1RZUEVfTElTVC5maW5kKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIGl0ZW0udmFsdWUgPT09IHZhbDsKICAgICAgfSk7CiAgICAgIGlmICghZCkgcmV0dXJuOwogICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRoaXMuc291cmNlUHJvcC5zZXR0aW5nSnNvbi5sZW5ndGg7IGorKykgewogICAgICAgIHZhciBhdHRyID0gdGhpcy5zb3VyY2VQcm9wLnNldHRpbmdKc29uW2pdOwogICAgICAgIGlmIChhdHRyLm5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKCd1cmwnKSA+IC0xKSB7CiAgICAgICAgICBhdHRyLnZhbHVlID0gdGhpcy5mb3JtYXRVUkwodmFsLCBkLnVybCk7CiAgICAgICAgICB0aGlzLnNvdXJjZVByb3AudXJsID0gdGhpcy5mb3JtYXRVUkwodmFsLCBkLnVybCk7CiAgICAgICAgfSBlbHNlIGlmIChhdHRyLm5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdkcml2ZXInKSA+IC0xKSB7CiAgICAgICAgICBhdHRyLnZhbHVlID0gZCA9PT0gbnVsbCB8fCBkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkLmRyaXZlck5hbWU7CiAgICAgICAgICB0aGlzLnNvdXJjZVByb3AuZHJpdmVyQ2xhc3MgPSBkID09PSBudWxsIHx8IGQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGQuZHJpdmVyTmFtZTsKICAgICAgICB9IGVsc2UgaWYgKGF0dHIubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ3ZhbGlkYXRpb25xdWVyeScpID4gLTEpIHsKICAgICAgICAgIGF0dHIudmFsdWUgPSBkID09PSBudWxsIHx8IGQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGQudmFsaWRhdGlvbnF1ZXJ5OwogICAgICAgICAgdGhpcy5zb3VyY2VQcm9wLnZhbGlkYXRpb25RdWVyeSA9IGQgPT09IG51bGwgfHwgZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZC52YWxpZGF0aW9ucXVlcnk7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgZm9ybWF0VVJMOiBmdW5jdGlvbiBmb3JtYXRVUkwodHlwZSkgewogICAgICB2YXIgbmV3VVJMID0gJyc7CiAgICAgIGlmICh0eXBlID09PSAnTXlzcWwnKSB7CiAgICAgICAgbmV3VVJMID0gImpkYmM6bXlzcWw6Ly8iLmNvbmNhdCh0aGlzLmlwLCAiOiIpLmNvbmNhdCh0aGlzLnBvcnQsICIvIikuY29uY2F0KHRoaXMuaW5zdGFuY2UsICI/dXNlVW5pY29kZT10cnVlJmNoYXJhY3RlckVuY29kaW5nPVVURi04JnNlcnZlclRpbWV6b25lPUFzaWEvU2hhbmdoYWkmemVyb0RhdGVUaW1lQmVoYXZpb3I9Y29udmVydFRvTnVsbCIpOwogICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdPcmFjbGUnKSB7CiAgICAgICAgbmV3VVJMID0gImpkYmM6b3JhY2xlOnRoaW46QCIuY29uY2F0KHRoaXMuaXAsICI6IikuY29uY2F0KHRoaXMucG9ydCwgIjoiKS5jb25jYXQodGhpcy5pbnN0YW5jZSk7CiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ1NxbFNlcnZlcicpIHsKICAgICAgICBuZXdVUkwgPSAiamRiYzpzcWxzZXJ2ZXI6Ly8iLmNvbmNhdCh0aGlzLmlwLCAiOiIpLmNvbmNhdCh0aGlzLnBvcnQsICI7ZGF0YWJhc2VOYW1lPSIpLmNvbmNhdCh0aGlzLmluc3RhbmNlKTsKICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnUG9zdGdyZVNxbCcpIHsKICAgICAgICBuZXdVUkwgPSAiamRiYzpwb3N0Z3Jlc3FsOi8vIi5jb25jYXQodGhpcy5pcCwgIjoiKS5jb25jYXQodGhpcy5wb3J0LCAiLyIpLmNvbmNhdCh0aGlzLmluc3RhbmNlKTsKICAgICAgfQogICAgICByZXR1cm4gbmV3VVJMOwogICAgfSwKICAgIHNldHRpbmdTZWw6IGZ1bmN0aW9uIHNldHRpbmdTZWwoc2V0dGluZ0pzb24pIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIGlmIChzZXR0aW5nSnNvbikgewogICAgICAgIHZhciBzZXR0aW5nSnNvbl8gPSBKU09OLnBhcnNlKHNldHRpbmdKc29uLnJlcGxhY2UoL1tcXF0vZywgJycpKTsKICAgICAgICBpZiAodGhpcy5jdXJyZW50RGF0YSkgewogICAgICAgICAgdGhpcy5nZXREZWZhdWx0RGF0YShzZXR0aW5nSnNvbl8pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLmlwID0gJ3tpcH0nOwogICAgICAgICAgdGhpcy5wb3J0ID0gJ3twb3J0fSc7CiAgICAgICAgICB0aGlzLmluc3RhbmNlID0gJ3tpbnN0YW5jZX0nOwogICAgICAgIH0KCiAgICAgICAgLy8g5pS55Y+Y5LqG5pWw5o2u5rGgaWTvvIzpgqPkuYjpnIDopoHovpPlhaXnmoTlsZ7mgKfkuZ/lj5jkuoYKICAgICAgICB2YXIgZGVmID0gdGhpcy5zeXNEYXRhU291cmNlWzBdOwogICAgICAgIHRoaXMuc291cmNlUHJvcC5jbGFzc1BhdGggPSBkZWYuY2xhc3NQYXRoOwogICAgICAgIHRoaXMuc291cmNlUHJvcC5pbml0TWV0aG9kID0gZGVmLmluaXRNZXRob2Q7CiAgICAgICAgdGhpcy5zb3VyY2VQcm9wLmNsb3NlTWV0aG9kID0gZGVmLmNsb3NlTWV0aG9kOwogICAgICAgIC8vIOWkhOeQhumFjee9rueahOWIneWni+WMluWAvAogICAgICAgIHRoaXMuc291cmNlUHJvcC5zZXR0aW5nSnNvbiA9IFtdOwogICAgICAgIHNldHRpbmdKc29uXy5mb3JFYWNoKGZ1bmN0aW9uIChvYmopIHsKICAgICAgICAgIG9iai52YWx1ZSA9IG9iai52YWx1ZSB8fCBvYmpbJ2RlZmF1bHQnXTsKICAgICAgICAgIF90aGlzMy5zb3VyY2VQcm9wLnNldHRpbmdKc29uLnB1c2gob2JqKTsKICAgICAgICB9KTsKCiAgICAgICAgLy8g6YCJ5oup5LqG5pWw5o2u5rqQ57G75Z6LIOWwseabv+aNouaVsOaNrua6kOS4reeahOi/nuaOpeWcsOWdgOWSjOmpseWKqAogICAgICAgIHRoaXMuY3VycmVudFNlbCh0aGlzLnNvdXJjZVByb3AuZGJUeXBlKTsKCiAgICAgICAgLy8g5pWw5o2u5rqQ6YWN572u5Yir5ZCN6Lef6L+Z6YeM55qE5Yir5ZCN5LiA6Ie0CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnNvdXJjZVByb3Auc2V0dGluZ0pzb24ubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIHZhciBhdHRyID0gdGhpcy5zb3VyY2VQcm9wLnNldHRpbmdKc29uW2ldOwogICAgICAgICAgaWYgKGF0dHIubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2FsaWFzJykgPiAtMSkgewogICAgICAgICAgICBhdHRyLnZhbHVlID0gYXR0ci5hbGlhczsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChbJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJ10uaW5jbHVkZXMoYXR0ci5uYW1lLnRvTG93ZXJDYXNlKCkpKSB7CiAgICAgICAgICAgIHRoaXMuc291cmNlUHJvcFthdHRyLm5hbWVdID0gYXR0ci52YWx1ZTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBnZXREZWZhdWx0RGF0YTogZnVuY3Rpb24gZ2V0RGVmYXVsdERhdGEoc2V0dGluZ0pzb24pIHsKICAgICAgaWYgKHNldHRpbmdKc29uKSB7CiAgICAgICAgdmFyIHRhcmdldCA9IHNldHRpbmdKc29uLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZSA9PT0gJ3VybCc7CiAgICAgICAgfSk7CiAgICAgICAgaWYgKHRhcmdldCkgewogICAgICAgICAgdmFyIHVybCA9IHRhcmdldFswXS52YWx1ZTsKICAgICAgICAgIHZhciBfdGhpcyRhbmFseXNpc1VSTCA9IHRoaXMuYW5hbHlzaXNVUkwodXJsKSwKICAgICAgICAgICAgX3RoaXMkYW5hbHlzaXNVUkwkaXAgPSBfdGhpcyRhbmFseXNpc1VSTC5pcCwKICAgICAgICAgICAgaXAgPSBfdGhpcyRhbmFseXNpc1VSTCRpcCA9PT0gdm9pZCAwID8gJyR7aXB9JyA6IF90aGlzJGFuYWx5c2lzVVJMJGlwLAogICAgICAgICAgICBfdGhpcyRhbmFseXNpc1VSTCRwb3IgPSBfdGhpcyRhbmFseXNpc1VSTC5wb3J0LAogICAgICAgICAgICBwb3J0ID0gX3RoaXMkYW5hbHlzaXNVUkwkcG9yID09PSB2b2lkIDAgPyAnJHtwb3J0fScgOiBfdGhpcyRhbmFseXNpc1VSTCRwb3IsCiAgICAgICAgICAgIF90aGlzJGFuYWx5c2lzVVJMJGlucyA9IF90aGlzJGFuYWx5c2lzVVJMLmluc3RhbmNlLAogICAgICAgICAgICBpbnN0YW5jZSA9IF90aGlzJGFuYWx5c2lzVVJMJGlucyA9PT0gdm9pZCAwID8gJyR7aW5zdGFuY2V9JyA6IF90aGlzJGFuYWx5c2lzVVJMJGluczsKICAgICAgICAgIHRoaXMuaXAgPSBpcDsKICAgICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7CiAgICAgICAgICB0aGlzLmluc3RhbmNlID0gaW5zdGFuY2U7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgYW5hbHlzaXNVUkw6IGZ1bmN0aW9uIGFuYWx5c2lzVVJMKHVybCkgewogICAgICB2YXIgcmVzOwogICAgICBzd2l0Y2ggKHRoaXMuY3VycmVudERhdGEuZGJUeXBlKSB7CiAgICAgICAgY2FzZSAnTXlzcWwnOgogICAgICAgICAgcmVzID0gdGhpcy5hbmFseXNpc015c3FsKHVybCk7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdPcmFjbGUnOgogICAgICAgICAgcmVzID0gdGhpcy5hbmFseXNpc09yYWNsZSh1cmwpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnU3FsU2VydmVyJzoKICAgICAgICAgIHJlcyA9IHRoaXMuYW5hbHlzaXNTcWxTZXJ2ZXIodXJsKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ1Bvc3RncmVTcWwnOgogICAgICAgICAgcmVzID0gdGhpcy5hbmFseXNpc1Bvc3RncmVTcWwodXJsKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgICByZXR1cm4gcmVzOwogICAgfSwKICAgIGFuYWx5c2lzTXlzcWw6IGZ1bmN0aW9uIGFuYWx5c2lzTXlzcWwodXJsKSB7CiAgICAgIHZhciBpcCwgcG9ydCwgaW5zdGFuY2U7CiAgICAgIHZhciBhID0gdXJsLnNwbGl0KCcvLycpWzFdLnNwbGl0KCc/JylbMF07CiAgICAgIGlwID0gYS5zcGxpdCgnOicpWzBdIHx8ICcke2lwfSc7CiAgICAgIHBvcnQgPSBhLnNwbGl0KCc6JylbMV0uc3BsaXQoJy8nKVswXSB8fCAnJHtwb3J0fSc7CiAgICAgIGluc3RhbmNlID0gYS5zcGxpdCgnOicpWzFdLnNwbGl0KCcvJylbMV0gfHwgJyR7aW5zdGFuY2V9JzsKICAgICAgcmV0dXJuIHsKICAgICAgICBpcDogaXAsCiAgICAgICAgcG9ydDogcG9ydCwKICAgICAgICBpbnN0YW5jZTogaW5zdGFuY2UKICAgICAgfTsKICAgIH0sCiAgICBhbmFseXNpc09yYWNsZTogZnVuY3Rpb24gYW5hbHlzaXNPcmFjbGUodXJsKSB7CiAgICAgIHZhciBpcCwgcG9ydCwgaW5zdGFuY2U7CiAgICAgIHZhciBhID0gdXJsLnNwbGl0KCdAJylbMV07CiAgICAgIGlwID0gYS5zcGxpdCgnOicpWzBdIHx8ICcke2lwfSc7CiAgICAgIHBvcnQgPSBhLnNwbGl0KCc6JylbMV0gfHwgJyR7cG9ydH0nOwogICAgICBpbnN0YW5jZSA9IGEuc3BsaXQoJzonKVsyXSB8fCAnJHtpbnN0YW5jZX0nOwogICAgICByZXR1cm4gewogICAgICAgIGlwOiBpcCwKICAgICAgICBwb3J0OiBwb3J0LAogICAgICAgIGluc3RhbmNlOiBpbnN0YW5jZQogICAgICB9OwogICAgfSwKICAgIGFuYWx5c2lzU3FsU2VydmVyOiBmdW5jdGlvbiBhbmFseXNpc1NxbFNlcnZlcih1cmwpIHsKICAgICAgdmFyIGlwLCBwb3J0LCBpbnN0YW5jZTsKICAgICAgdmFyIGEgPSB1cmwuc3BsaXQoJy8vJylbMV0uc3BsaXQoJzsnKVswXTsKICAgICAgaXAgPSBhLnNwbGl0KCc6JylbMF0gfHwgJyR7aXB9JzsKICAgICAgcG9ydCA9IGEuc3BsaXQoJzonKVsxXSB8fCAnJHtwb3J0fSc7CiAgICAgIGluc3RhbmNlID0gdXJsLnNwbGl0KCc9JylbMV0gfHwgJyR7aW5zdGFuY2V9JzsKICAgICAgcmV0dXJuIHsKICAgICAgICBpcDogaXAsCiAgICAgICAgcG9ydDogcG9ydCwKICAgICAgICBpbnN0YW5jZTogaW5zdGFuY2UKICAgICAgfTsKICAgIH0sCiAgICBhbmFseXNpc1Bvc3RncmVTcWw6IGZ1bmN0aW9uIGFuYWx5c2lzUG9zdGdyZVNxbCh1cmwpIHsKICAgICAgdmFyIGlwLCBwb3J0LCBpbnN0YW5jZTsKICAgICAgdmFyIGEgPSB1cmwuc3BsaXQoJy8vJylbMV07CiAgICAgIGlwID0gYS5zcGxpdCgnOicpWzBdIHx8ICcke2lwfSc7CiAgICAgIHBvcnQgPSBhLnNwbGl0KCc6JylbMV0uc3BsaXQoJy8nKVswXSB8fCAnJHtwb3J0fSc7CiAgICAgIGluc3RhbmNlID0gYS5zcGxpdCgnOicpWzFdLnNwbGl0KCcvJylbMV0gfHwgJyR7aW5zdGFuY2V9JzsKICAgICAgcmV0dXJuIHsKICAgICAgICBpcDogaXAsCiAgICAgICAgcG9ydDogcG9ydCwKICAgICAgICBpbnN0YW5jZTogaW5zdGFuY2UKICAgICAgfTsKICAgIH0sCiAgICBoYW5kbGVTYXZlOiBmdW5jdGlvbiBoYW5kbGVTYXZlKHR5cGUpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTIoKSB7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUyJChfY29udGV4dDIpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0Mi5wcmV2ID0gX2NvbnRleHQyLm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF90aGlzNC4kcmVmcy5mb3JtLnZhbGlkYXRlKC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YXIgX3JlZiA9IF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlKHZhbGlkKSB7CiAgICAgICAgICAgICAgICAgIHZhciBjb25maWcsIGN1ciwgbmV3U291cmNlUHJvcCwgX3lpZWxkJGN1ciRyZXF1ZXN0LCBzdGF0ZSwgbWVzc2FnZTsKICAgICAgICAgICAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWxpZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAyMDsKICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWcgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2s6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRNc2c6ICfmtYvor5XpgJrov4cnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdDogQVBJLmNoZWNrQ29ubmVjdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdE1zZzogJ+aVsOaNrua6kOW3suS/neWtmCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0OiBBUEkuc2F2ZVNvdXJjZQogICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgY3VyID0gY29uZmlnW3R5cGVdOwogICAgICAgICAgICAgICAgICAgICAgICBuZXdTb3VyY2VQcm9wID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBfdGhpczQuc291cmNlUHJvcCksIHt9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ0pzb246IEpTT04uc3RyaW5naWZ5KF90aGlzNC5zb3VyY2VQcm9wLnNldHRpbmdKc29uKQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQucHJldiA9IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzNC5zdWJtaXRMb2FkaW5nID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDg7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXIucmVxdWVzdChuZXdTb3VyY2VQcm9wKTsKICAgICAgICAgICAgICAgICAgICAgIGNhc2UgODoKICAgICAgICAgICAgICAgICAgICAgICAgX3lpZWxkJGN1ciRyZXF1ZXN0ID0gX2NvbnRleHQuc2VudDsKICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBfeWllbGQkY3VyJHJlcXVlc3Quc3RhdGU7CiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBfeWllbGQkY3VyJHJlcXVlc3QubWVzc2FnZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXM0LiRtZXNzYWdlLnN1Y2Nlc3MobWVzc2FnZSB8fCBjdXIuZGVmYXVsdE1zZyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdzYXZlJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXM0LnZpc2libGUgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzNC4kZW1pdCgnb25Db25maXJtJywgbmV3U291cmNlUHJvcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAxNzsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE0OgogICAgICAgICAgICAgICAgICAgICAgICBfY29udGV4dC5wcmV2ID0gMTQ7CiAgICAgICAgICAgICAgICAgICAgICAgIF9jb250ZXh0LnQwID0gX2NvbnRleHRbImNhdGNoIl0oNCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKF9jb250ZXh0LnQwKTsKICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTc6CiAgICAgICAgICAgICAgICAgICAgICAgIF9jb250ZXh0LnByZXYgPSAxNzsKICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXM0LnN1Ym1pdExvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmZpbmlzaCgxNyk7CiAgICAgICAgICAgICAgICAgICAgICBjYXNlIDIwOgogICAgICAgICAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LnN0b3AoKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIF9jYWxsZWUsIG51bGwsIFtbNCwgMTQsIDE3LCAyMF1dKTsKICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoX3gpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIF9yZWYuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgfSgpKTsKICAgICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDIuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUyKTsKICAgICAgfSkpKCk7CiAgICB9CiAgfQp9Ow=="},null]}