{"remainingRequest":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\commandDispatch\\EventManagement\\components\\ScopeClassify\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\commandDispatch\\EventManagement\\components\\ScopeClassify\\index.vue","mtime":1751880370789},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\babel.config.js","mtime":1741314102158},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvclJ1bnRpbWUuanMiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZXJyb3IuY2F1c2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maW5kLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaW5jbHVkZXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5yZWR1Y2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZpbmQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5yZWR1Y2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5udW1iZXIuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaW5jbHVkZXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcubWF0Y2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucGFkLXN0YXJ0LmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IGdldERpY3Rpb25hcnlCeUNvZGUgfSBmcm9tICdAL3V0aWxzL2RpY3Rpb25hcnknOwppbXBvcnQgeyByZWZpbmVSZXF1ZXN0Qm9keSB9IGZyb20gJ0AvdXRpbHMvcmVxdWVzdFdyYXBwZXJzJzsKaW1wb3J0IHsgdGFibGVEYXRhIH0gZnJvbSAnQC9hcGkvcGF0cm9sQW5kUmVzY3VlL2luZm9NZ210UGF0cm9sc1Jlc2N1ZXMvYWxvbmdSb3V0ZUluZm8nOwppbXBvcnQgeyB0YWJsZURhdGEgYXMgdHVubmVsRGF0YSB9IGZyb20gJ0AvYXBpL3BhdHJvbEFuZFJlc2N1ZS9pbmZvTWdtdFBhdHJvbHNSZXNjdWVzL3R1bm5lbEluZm8nOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ1Njb3BlQ2xhc3NpZnknLAogIHByb3BzOiB7CiAgICB0eXBlOiB7CiAgICAgIGRlZmF1bHQ6ICcxJywKICAgICAgdHlwZTogU3RyaW5nCiAgICB9LAogICAgcm9hZElkOiB7CiAgICAgIGRlZmF1bHQ6ICcnLAogICAgICB0eXBlOiBTdHJpbmcKICAgIH0sCiAgICBwaWxlTnVtYmVyUmFuZ2U6IHsKICAgICAgZGVmYXVsdDogJycsCiAgICAgIHR5cGU6IFN0cmluZwogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAvLyDoh6rlrprkuYnpqozor4Hop4TliJnvvJrmnInlgLzml7blv4XpobvlnKjojIPlm7TlhoUKICAgIHZhciB2YWxpZGF0ZVJhbmdlMSA9IGZ1bmN0aW9uIHZhbGlkYXRlUmFuZ2UxKCkgewogICAgICByZXR1cm4gZnVuY3Rpb24gKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgewogICAgICAgIGlmIChfdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZyA9PT0gdW5kZWZpbmVkICYmIF90aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGVnQWRkID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgfSBlbHNlIGlmICghX3RoaXMuaXNWYWx1ZUluUmFuZ2UoX3RoaXMuY29tYmluZWRWYWx1ZTEsIF90aGlzLnN0YXJ0VmFsdWUsIF90aGlzLmVuZFZhbHVlKSkgewogICAgICAgICAgX3RoaXMuYWRkRWRpdEZvcm0uc3RhcnRQZWcgPSB1bmRlZmluZWQ7CiAgICAgICAgICBfdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZ0FkZCA9IHVuZGVmaW5lZDsKICAgICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigiXHU2MjQwXHU1ODZCXHU1MTk5XHU3Njg0XHU2ODY5XHU1M0Y3XHU0RTBEXHU1NzI4Ii5jb25jYXQoX3RoaXMuc3RhcnRWYWx1ZSwgIi0iKS5jb25jYXQoX3RoaXMuZW5kVmFsdWUsICJcdTgzMDNcdTU2RjRcdTUxODUiKSkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0KICAgICAgfTsKICAgIH07CiAgICB2YXIgdmFsaWRhdGVSYW5nZTIgPSBmdW5jdGlvbiB2YWxpZGF0ZVJhbmdlMigpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uIChydWxlLCB2YWx1ZSwgY2FsbGJhY2spIHsKICAgICAgICBpZiAoX3RoaXMuYWRkRWRpdEZvcm0uZW5kUGVnID09PSB1bmRlZmluZWQgJiYgX3RoaXMuYWRkRWRpdEZvcm0uZW5kUGVnQWRkID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgfSBlbHNlIGlmICghX3RoaXMuaXNWYWx1ZUluUmFuZ2UoX3RoaXMuY29tYmluZWRWYWx1ZTIsIF90aGlzLnN0YXJ0VmFsdWUsIF90aGlzLmVuZFZhbHVlKSkgewogICAgICAgICAgX3RoaXMuYWRkRWRpdEZvcm0uZW5kUGVnID0gdW5kZWZpbmVkOwogICAgICAgICAgX3RoaXMuYWRkRWRpdEZvcm0uZW5kUGVnQWRkID0gdW5kZWZpbmVkOwogICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCJcdTYyNDBcdTU4NkJcdTUxOTlcdTc2ODRcdTY4NjlcdTUzRjdcdTRFMERcdTU3MjgiLmNvbmNhdChfdGhpcy5zdGFydFZhbHVlLCAiLSIpLmNvbmNhdChfdGhpcy5lbmRWYWx1ZSwgIlx1ODMwM1x1NTZGNFx1NTE4NSIpKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgfQogICAgICB9OwogICAgfTsKICAgIHJldHVybiB7CiAgICAgIC8vIOaUtui0ueermQogICAgICB0b2xsU3RhdGlvbkRhdGE6IFtdLAogICAgICAvLyDpmqfpgZMKICAgICAgdHVubmVsRGF0YTogW10sCiAgICAgIC8vIOS6kumAmueri+S6pAogICAgICBncmFkZU92ZXJEYXRhOiBbXSwKICAgICAgLy8g5pyN5Yqh5Yy6CiAgICAgIHNlcnZpY2VBcmVhRGF0YTogW10sCiAgICAgIGFkZEVkaXRGb3JtOiB7CiAgICAgICAgc3RhcnRQZWc6IHVuZGVmaW5lZCwKICAgICAgICBzdGFydFBlZ0FkZDogdW5kZWZpbmVkLAogICAgICAgIGVuZFBlZzogdW5kZWZpbmVkLAogICAgICAgIGVuZFBlZ0FkZDogdW5kZWZpbmVkLAogICAgICAgIHN0YXJ0UGF0cm9sSWQ6ICcnLAogICAgICAgIGVuZFBhdHJvbElkOiAnJywKICAgICAgICBwbGFjZURldGFpbDogW10sCiAgICAgICAgc3d6UGxhY2VEZXRhaWw6IFtdLAogICAgICAgIGxqUGxhY2VEZXRhaWw6IFtdLAogICAgICAgIHNkUGxhY2VEZXRhaWw6IFtdLAogICAgICAgIGZ3cVBsYWNlRGV0YWlsOiBbXQogICAgICB9LAogICAgICBydWxlczogewogICAgICAgIHN0YXJ0UGVnOiBbewogICAgICAgICAgdmFsaWRhdG9yOiB2YWxpZGF0ZVJhbmdlMSgpLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgZW5kUGVnOiBbewogICAgICAgICAgdmFsaWRhdG9yOiB2YWxpZGF0ZVJhbmdlMigpLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgcGxhY2VEYXRhOiB7fSwKICAgICAgc3RhcnRWYWx1ZTogMCwKICAgICAgZW5kVmFsdWU6IDAKICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge30sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHt9LAogIGNvbXB1dGVkOiB7CiAgICBjb21iaW5lZFZhbHVlMTogZnVuY3Rpb24gY29tYmluZWRWYWx1ZTEoKSB7CiAgICAgIHJldHVybiBwYXJzZUZsb2F0KCIiLmNvbmNhdCh0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGVnLCAiLiIpLmNvbmNhdChTdHJpbmcodGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZ0FkZCkucGFkU3RhcnQoMywgJzAnKSkpIHx8IDA7CiAgICB9LAogICAgY29tYmluZWRWYWx1ZTI6IGZ1bmN0aW9uIGNvbWJpbmVkVmFsdWUyKCkgewogICAgICByZXR1cm4gcGFyc2VGbG9hdCgiIi5jb25jYXQodGhpcy5hZGRFZGl0Rm9ybS5lbmRQZWcsICIuIikuY29uY2F0KFN0cmluZyh0aGlzLmFkZEVkaXRGb3JtLmVuZFBlZ0FkZCkucGFkU3RhcnQoMywgJzAnKSkpIHx8IDA7CiAgICB9CiAgfSwKICB3YXRjaDogewogICAgdHlwZTogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKG5ld1ZhbCwgb2xkVmFsKSB7CiAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZyA9IHVuZGVmaW5lZDsKICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGVnQWRkID0gdW5kZWZpbmVkOwogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGVnID0gdW5kZWZpbmVkOwogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGVnQWRkID0gdW5kZWZpbmVkOwogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uc3RhcnRQYXRyb2xJZCA9ICcnOwogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGF0cm9sSWQgPSAnJzsKICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnBsYWNlRGV0YWlsID0gW107CiAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zd3pQbGFjZURldGFpbCA9IFtdOwogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0ubGpQbGFjZURldGFpbCA9IFtdOwogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uc2RQbGFjZURldGFpbCA9IFtdOwogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZndxUGxhY2VEZXRhaWwgPSBbXTsKICAgICAgfSwKICAgICAgaW1tZWRpYXRlOiB0cnVlCiAgICB9LAogICAgcm9hZElkOiB7CiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIobmV3VmFsLCBvbGRWYWwpIHsKICAgICAgICBpZiAobmV3VmFsKSB7CiAgICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGVnID0gdW5kZWZpbmVkOwogICAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZ0FkZCA9IHVuZGVmaW5lZDsKICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGVnID0gdW5kZWZpbmVkOwogICAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5lbmRQZWdBZGQgPSB1bmRlZmluZWQ7CiAgICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGF0cm9sSWQgPSAnJzsKICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGF0cm9sSWQgPSAnJzsKICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0ucGxhY2VEZXRhaWwgPSBbXTsKICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uc3d6UGxhY2VEZXRhaWwgPSBbXTsKICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0ubGpQbGFjZURldGFpbCA9IFtdOwogICAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zZFBsYWNlRGV0YWlsID0gW107CiAgICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLmZ3cVBsYWNlRGV0YWlsID0gW107CiAgICAgICAgICB0aGlzLmdldEFsb25nUm91dGVJbmZvKG5ld1ZhbCk7CiAgICAgICAgICB0aGlzLmdldFR1bm5lbERhdGEobmV3VmFsKTsKICAgICAgICAgIHRoaXMucGFyc2VTdHJpbmcoKTsKICAgICAgICB9CiAgICAgIH0sCiAgICAgIGRlZXA6IHRydWUsCiAgICAgIC8vIOW8gOWQr+a3seW6puebkeWQrAogICAgICBpbW1lZGlhdGU6IHRydWUKICAgIH0KICB9LAogIG1ldGhvZHM6IHsKICAgIGdldERpY3Rpb25hcnlCeUNvZGU6IGdldERpY3Rpb25hcnlCeUNvZGUsCiAgICBwYXJzZVN0cmluZzogZnVuY3Rpb24gcGFyc2VTdHJpbmcoKSB7CiAgICAgIGlmICh0aGlzLnBpbGVOdW1iZXJSYW5nZSkgewogICAgICAgIHZhciBtYXRjaCA9IHRoaXMucGlsZU51bWJlclJhbmdlLm1hdGNoKC9eW2tLXShcZCspKD86XCsoXGR7MSwzfSkpP35ba0tdKFxkKykoPzpcKyhcZHsxLDN9KSk/JC8pOwogICAgICAgIHRoaXMuc3RhcnRWYWx1ZSA9IHBhcnNlRmxvYXQoIiIuY29uY2F0KG1hdGNoWzFdLCAiLiIpLmNvbmNhdChTdHJpbmcobWF0Y2hbMl0pLnBhZFN0YXJ0KDMsICcwJykpKSB8fCAwOwogICAgICAgIHRoaXMuZW5kVmFsdWUgPSBwYXJzZUZsb2F0KCIiLmNvbmNhdChtYXRjaFszXSwgIi4iKS5jb25jYXQoU3RyaW5nKG1hdGNoWzRdKS5wYWRTdGFydCgzLCAnMCcpKSkgfHwgMDsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnN0YXJ0VmFsdWUgPSAwOwogICAgICAgIHRoaXMuZW5kVmFsdWUgPSBOdW1iZXIuTUFYX1ZBTFVFOwogICAgICB9CiAgICB9LAogICAgaXNWYWx1ZUluUmFuZ2U6IGZ1bmN0aW9uIGlzVmFsdWVJblJhbmdlKHZhbHVlLCBib3VuZDEsIGJvdW5kMikgewogICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJyB8fCBpc05hTih2YWx1ZSkpIHJldHVybiBmYWxzZTsKICAgICAgaWYgKCFTdHJpbmcodmFsdWUpLmluY2x1ZGVzKCcuJykpIHJldHVybiB0cnVlOwogICAgICB2YXIgX3JlZiA9IFtNYXRoLm1pbihib3VuZDEsIGJvdW5kMiksIE1hdGgubWF4KGJvdW5kMSwgYm91bmQyKV0sCiAgICAgICAgbWluID0gX3JlZlswXSwKICAgICAgICBtYXggPSBfcmVmWzFdOwogICAgICByZXR1cm4gdmFsdWUgPj0gbWluICYmIHZhbHVlIDw9IG1heDsKICAgIH0sCiAgICAvLyDmoLnmja7ot6/mrrXmn6Xor6Lmsr/nur/kv6Hmga8KICAgIGdldEFsb25nUm91dGVJbmZvOiBmdW5jdGlvbiBnZXRBbG9uZ1JvdXRlSW5mbyhyb2FkSWQpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSgpIHsKICAgICAgICB2YXIgZGF0YSwgX3lpZWxkJHRhYmxlRGF0YSwgX3lpZWxkJHRhYmxlRGF0YSR0b3RhLCB0b3RhbCwgX3lpZWxkJHRhYmxlRGF0YSRyb3dzLCByb3dzOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF9jb250ZXh0LnByZXYgPSAwOwogICAgICAgICAgICAgIGRhdGEgPSB7CiAgICAgICAgICAgICAgICBwYWdlQmVhbjogewogICAgICAgICAgICAgICAgICBwYWdlU2l6ZTogLTEsCiAgICAgICAgICAgICAgICAgIHBhZ2U6IDEsCiAgICAgICAgICAgICAgICAgIHRvdGFsOiAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcXVlcnlzOiBbewogICAgICAgICAgICAgICAgICBvcGVyYXRpb246ICdJTicsCiAgICAgICAgICAgICAgICAgIHByb3BlcnR5OiAncm9hZFNlZ21lbnRJZCcsCiAgICAgICAgICAgICAgICAgIHZhbHVlOiByb2FkSWQKICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gNDsKICAgICAgICAgICAgICByZXR1cm4gdGFibGVEYXRhKHJlZmluZVJlcXVlc3RCb2R5KGRhdGEpKTsKICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgIF95aWVsZCR0YWJsZURhdGEgPSBfY29udGV4dC5zZW50OwogICAgICAgICAgICAgIF95aWVsZCR0YWJsZURhdGEkdG90YSA9IF95aWVsZCR0YWJsZURhdGEudG90YWw7CiAgICAgICAgICAgICAgdG90YWwgPSBfeWllbGQkdGFibGVEYXRhJHRvdGEgPT09IHZvaWQgMCA/IDAgOiBfeWllbGQkdGFibGVEYXRhJHRvdGE7CiAgICAgICAgICAgICAgX3lpZWxkJHRhYmxlRGF0YSRyb3dzID0gX3lpZWxkJHRhYmxlRGF0YS5yb3dzOwogICAgICAgICAgICAgIHJvd3MgPSBfeWllbGQkdGFibGVEYXRhJHJvd3MgPT09IHZvaWQgMCA/IFtdIDogX3lpZWxkJHRhYmxlRGF0YSRyb3dzOwogICAgICAgICAgICAgIC8vIOaUtui0ueermQogICAgICAgICAgICAgIF90aGlzMi50b2xsU3RhdGlvbkRhdGEgPSByb3dzLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gJzMnIHx8IGl0ZW0udHlwZSA9PT0gJzEnOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIC8vIOeri+S6pAogICAgICAgICAgICAgIF90aGlzMi5ncmFkZU92ZXJEYXRhID0gcm93cy5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLnR5cGUgPCAzOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIC8vIOacjeWKoeWMugogICAgICAgICAgICAgIF90aGlzMi5zZXJ2aWNlQXJlYURhdGEgPSByb3dzLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gJzQnOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICBjYXNlIDEyOgogICAgICAgICAgICAgIF9jb250ZXh0LnByZXYgPSAxMjsKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuZmluaXNoKDEyKTsKICAgICAgICAgICAgY2FzZSAxNDoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUsIG51bGwsIFtbMCwsIDEyLCAxNF1dKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g5qC55o2u6Lev5q615p+l6K+i6Zqn6YGT5L+h5oGvCiAgICBnZXRUdW5uZWxEYXRhOiBmdW5jdGlvbiBnZXRUdW5uZWxEYXRhKHJvYWRJZCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMigpIHsKICAgICAgICB2YXIgZGF0YSwgX3lpZWxkJHR1bm5lbERhdGEsIF95aWVsZCR0dW5uZWxEYXRhJHRvdCwgdG90YWwsIF95aWVsZCR0dW5uZWxEYXRhJHJvdywgcm93czsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTIkKF9jb250ZXh0MikgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQyLnByZXYgPSBfY29udGV4dDIubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQyLnByZXYgPSAwOwogICAgICAgICAgICAgIGRhdGEgPSB7CiAgICAgICAgICAgICAgICBwYWdlQmVhbjogewogICAgICAgICAgICAgICAgICBwYWdlU2l6ZTogLTEsCiAgICAgICAgICAgICAgICAgIHBhZ2U6IDEsCiAgICAgICAgICAgICAgICAgIHRvdGFsOiAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcXVlcnlzOiBbewogICAgICAgICAgICAgICAgICBvcGVyYXRpb246ICdJTicsCiAgICAgICAgICAgICAgICAgIHByb3BlcnR5OiAncm9hZFNlZ21lbnRJZCcsCiAgICAgICAgICAgICAgICAgIHZhbHVlOiByb2FkSWQKICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDQ7CiAgICAgICAgICAgICAgcmV0dXJuIHR1bm5lbERhdGEocmVmaW5lUmVxdWVzdEJvZHkoZGF0YSkpOwogICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgX3lpZWxkJHR1bm5lbERhdGEgPSBfY29udGV4dDIuc2VudDsKICAgICAgICAgICAgICBfeWllbGQkdHVubmVsRGF0YSR0b3QgPSBfeWllbGQkdHVubmVsRGF0YS50b3RhbDsKICAgICAgICAgICAgICB0b3RhbCA9IF95aWVsZCR0dW5uZWxEYXRhJHRvdCA9PT0gdm9pZCAwID8gMCA6IF95aWVsZCR0dW5uZWxEYXRhJHRvdDsKICAgICAgICAgICAgICBfeWllbGQkdHVubmVsRGF0YSRyb3cgPSBfeWllbGQkdHVubmVsRGF0YS5yb3dzOwogICAgICAgICAgICAgIHJvd3MgPSBfeWllbGQkdHVubmVsRGF0YSRyb3cgPT09IHZvaWQgMCA/IFtdIDogX3lpZWxkJHR1bm5lbERhdGEkcm93OwogICAgICAgICAgICAgIC8vIOmap+mBkwogICAgICAgICAgICAgIF90aGlzMy50dW5uZWxEYXRhID0gcm93czsKICAgICAgICAgICAgICAvLyDmoLnmja5uYW1l5Y676YeNCiAgICAgICAgICAgICAgX3RoaXMzLnR1bm5lbERhdGEgPSBfdGhpczMudHVubmVsRGF0YS5yZWR1Y2UoZnVuY3Rpb24gKGFjY3VtdWxhdG9yLCBjdXJyZW50KSB7CiAgICAgICAgICAgICAgICB2YXIgeCA9IGFjY3VtdWxhdG9yLmZpbmQoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZSA9PT0gY3VycmVudC5uYW1lOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBpZiAoIXgpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yLmNvbmNhdChbY3VycmVudF0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0sIFtdKTsKICAgICAgICAgICAgY2FzZSAxMToKICAgICAgICAgICAgICBfY29udGV4dDIucHJldiA9IDExOwogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDIuZmluaXNoKDExKTsKICAgICAgICAgICAgY2FzZSAxMzoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMiwgbnVsbCwgW1swLCwgMTEsIDEzXV0pOwogICAgICB9KSkoKTsKICAgIH0sCiAgICBzaXRlQ2hhbmdlOiBmdW5jdGlvbiBzaXRlQ2hhbmdlKGUsIHR5cGUpIHsKICAgICAgdmFyIHNpdGVJbmZvID0gdGhpcy50b2xsU3RhdGlvbkRhdGEuZmluZChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLmlkID09PSBlOwogICAgICB9KTsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybVsiIi5jb25jYXQodHlwZSwgIk5hbWUiKV0gPSBzaXRlSW5mby5uYW1lOwogICAgfSwKICAgIC8vIOaUtui0ueermQogICAgdG9sbFN0YXRpb25DaGFuZ2U6IGZ1bmN0aW9uIHRvbGxTdGF0aW9uQ2hhbmdlKCkgewogICAgICB0aGlzLnBsYWNlRGF0YS5wbGFjZURldGFpbCA9IHRoaXMuYWRkRWRpdEZvcm0uc3d6UGxhY2VEZXRhaWw7CiAgICAgIHZhciBwbGFjZURhdGEgPSB0aGlzLmZvcm1hdFBhbGNlRGF0YSgpOwogICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCBwbGFjZURhdGEpOwogICAgfSwKICAgIC8vIOmap+mBkwogICAgdHVubmVsQ2hhbmdlOiBmdW5jdGlvbiB0dW5uZWxDaGFuZ2UoKSB7CiAgICAgIHRoaXMucGxhY2VEYXRhLnBsYWNlRGV0YWlsID0gdGhpcy5hZGRFZGl0Rm9ybS5zZFBsYWNlRGV0YWlsOwogICAgICB2YXIgcGxhY2VEYXRhID0gdGhpcy5mb3JtYXRQYWxjZURhdGEoKTsKICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgcGxhY2VEYXRhKTsKICAgIH0sCiAgICAvLyDnq4vkuqQKICAgIGdyYWRlT3ZlckNoYW5nZTogZnVuY3Rpb24gZ3JhZGVPdmVyQ2hhbmdlKGUpIHsKICAgICAgdGhpcy5wbGFjZURhdGEucGxhY2VEZXRhaWwgPSB0aGlzLmFkZEVkaXRGb3JtLmxqUGxhY2VEZXRhaWw7CiAgICAgIHZhciBwbGFjZURhdGEgPSB0aGlzLmZvcm1hdFBhbGNlRGF0YSgpOwogICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCBwbGFjZURhdGEpOwogICAgfSwKICAgIC8vIOacjeWKoeWMugogICAgc2VydmljZUFyZWFDaGFuZ2U6IGZ1bmN0aW9uIHNlcnZpY2VBcmVhQ2hhbmdlKCkgewogICAgICB0aGlzLnBsYWNlRGF0YS5wbGFjZURldGFpbCA9IHRoaXMuYWRkRWRpdEZvcm0uZndxUGxhY2VEZXRhaWw7CiAgICAgIHZhciBwbGFjZURhdGEgPSB0aGlzLmZvcm1hdFBhbGNlRGF0YSgpOwogICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCBwbGFjZURhdGEpOwogICAgfSwKICAgIHNlbmREYXRhOiBmdW5jdGlvbiBzZW5kRGF0YSgpIHsKICAgICAgdmFyIGZsYWcgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHRydWU7CiAgICAgIHZhciBfdGhpcyRhZGRFZGl0Rm9ybSA9IHRoaXMuYWRkRWRpdEZvcm0sCiAgICAgICAgcGxhY2VOYW1lID0gX3RoaXMkYWRkRWRpdEZvcm0ucGxhY2VOYW1lLAogICAgICAgIHBsYWNlRGV0YWlsID0gX3RoaXMkYWRkRWRpdEZvcm0ucGxhY2VEZXRhaWwsCiAgICAgICAgc3RhcnRQZWcgPSBfdGhpcyRhZGRFZGl0Rm9ybS5zdGFydFBlZywKICAgICAgICBzdGFydFBlZ0FkZCA9IF90aGlzJGFkZEVkaXRGb3JtLnN0YXJ0UGVnQWRkLAogICAgICAgIGVuZFBlZyA9IF90aGlzJGFkZEVkaXRGb3JtLmVuZFBlZywKICAgICAgICBlbmRQZWdBZGQgPSBfdGhpcyRhZGRFZGl0Rm9ybS5lbmRQZWdBZGQsCiAgICAgICAgc3RhcnRQYXRyb2xJZCA9IF90aGlzJGFkZEVkaXRGb3JtLnN0YXJ0UGF0cm9sSWQsCiAgICAgICAgc3RhcnRQYXRyb2xOYW1lID0gX3RoaXMkYWRkRWRpdEZvcm0uc3RhcnRQYXRyb2xOYW1lLAogICAgICAgIGVuZFBhdHJvbElkID0gX3RoaXMkYWRkRWRpdEZvcm0uZW5kUGF0cm9sSWQsCiAgICAgICAgZW5kUGF0cm9sTmFtZSA9IF90aGlzJGFkZEVkaXRGb3JtLmVuZFBhdHJvbE5hbWU7CiAgICAgIHZhciBwZWdTVmFsID0gJyc7CiAgICAgIHZhciBwZWdFVmFsID0gJyc7CiAgICAgIGlmIChzdGFydFBlZyAhPT0gJycgJiYgc3RhcnRQZWcgIT09IHVuZGVmaW5lZCAmJiBzdGFydFBlZ0FkZCAhPT0gJycgJiYgc3RhcnRQZWdBZGQgIT09IHVuZGVmaW5lZCkgewogICAgICAgIHBlZ1NWYWwgPSAnaycgKyAoc3RhcnRQZWcgIT09ICcnID8gc3RhcnRQZWcgOiAnJykgKyAnKycgKyAoc3RhcnRQZWdBZGQgIT09ICcnID8gc3RhcnRQZWdBZGQgOiAnJyk7CiAgICAgIH0KICAgICAgaWYgKGVuZFBlZyAhPT0gJycgJiYgZW5kUGVnICE9PSB1bmRlZmluZWQgJiYgZW5kUGVnQWRkICE9PSAnJyAmJiBlbmRQZWdBZGQgIT09IHVuZGVmaW5lZCkgewogICAgICAgIHBlZ0VWYWwgPSAnaycgKyAoZW5kUGVnICE9PSAnJyA/IGVuZFBlZyA6ICcnKSArICcrJyArIChlbmRQZWdBZGQgIT09ICcnID8gZW5kUGVnQWRkIDogJycpOwogICAgICB9CiAgICAgIGlmICh0aGlzLnR5cGUgPT0gJzEnKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHBlZ1NWYWw6IHBlZ1NWYWwsCiAgICAgICAgICBwZWdFVmFsOiBwZWdFVmFsLAogICAgICAgICAgc3RhcnRQYXRyb2xJZDogc3RhcnRQYXRyb2xJZCwKICAgICAgICAgIHN0YXJ0UGF0cm9sTmFtZTogc3RhcnRQYXRyb2xOYW1lLAogICAgICAgICAgZW5kUGF0cm9sSWQ6IGVuZFBhdHJvbElkLAogICAgICAgICAgZW5kUGF0cm9sTmFtZTogZW5kUGF0cm9sTmFtZQogICAgICAgIH07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIG5hbWUgPSB0aGlzLnR5cGUgPT0gJzMnID8gJ3NkJyA6IHRoaXMudHlwZSA9PSAnNCcgPyAnbGonIDogdGhpcy50eXBlID09ICcyJyA/ICdzd3onIDogJ2Z3cSc7CiAgICAgICAgdmFyIGFycmF5ID0gW107CiAgICAgICAgaWYgKHRoaXMuYWRkRWRpdEZvcm1bIiIuY29uY2F0KG5hbWUsICJQbGFjZURldGFpbCIpXS5sZW5ndGggPiAwKSB7CiAgICAgICAgICBhcnJheSA9IHRoaXMuYWRkRWRpdEZvcm1bIiIuY29uY2F0KG5hbWUsICJQbGFjZURldGFpbCIpXS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICBwbGFjZU5hbWU6IGl0ZW0sCiAgICAgICAgICAgICAgcGVnU1ZhbDogcGVnU1ZhbCwKICAgICAgICAgICAgICBwZWdFVmFsOiBwZWdFVmFsCiAgICAgICAgICAgIH07CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFycmF5OwogICAgICB9CiAgICB9LAogICAgLy/muIXnqbrmlbDmja4KICAgIGNsZWFyQ2hhbmdlOiBmdW5jdGlvbiBjbGVhckNoYW5nZSgpIHsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZyA9IHVuZGVmaW5lZDsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZ0FkZCA9IHVuZGVmaW5lZDsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5lbmRQZWcgPSB1bmRlZmluZWQ7CiAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGVnQWRkID0gdW5kZWZpbmVkOwogICAgICB0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGF0cm9sSWQgPSAnJzsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBhdHJvbE5hbWUgPSAnJzsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5lbmRQYXRyb2xJZCA9ICcnOwogICAgICB0aGlzLmFkZEVkaXRGb3JtLmVuZFBhdHJvbE5hbWUgPSAnJzsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5wbGFjZURldGFpbCA9IFtdOwogICAgICB0aGlzLmFkZEVkaXRGb3JtLnN3elBsYWNlRGV0YWlsID0gW107CiAgICAgIHRoaXMuYWRkRWRpdEZvcm0ubGpQbGFjZURldGFpbCA9IFtdOwogICAgICB0aGlzLmFkZEVkaXRGb3JtLnNkUGxhY2VEZXRhaWwgPSBbXTsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5md3FQbGFjZURldGFpbCA9IFtdOwogICAgfSwKICAgIC8vIOivpuaDhei1i+WAvGUKICAgIGdldERldGFpbDogZnVuY3Rpb24gZ2V0RGV0YWlsKHJvdykgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgdmFyIHBsYWNlRGV0YWlsID0gcm93LnBsYWNlRGV0YWlsLAogICAgICAgIHBlZ1NWYWwgPSByb3cucGVnU1ZhbCwKICAgICAgICBwZWdFVmFsID0gcm93LnBlZ0VWYWwsCiAgICAgICAgc3RhcnRQYXRyb2xJZCA9IHJvdy5zdGFydFBhdHJvbElkLAogICAgICAgIHN0YXJ0UGF0cm9sTmFtZSA9IHJvdy5zdGFydFBhdHJvbE5hbWUsCiAgICAgICAgZW5kUGF0cm9sSWQgPSByb3cuZW5kUGF0cm9sSWQsCiAgICAgICAgZW5kUGF0cm9sTmFtZSA9IHJvdy5lbmRQYXRyb2xOYW1lOwogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKF90aGlzNC50eXBlID09ICcxJykgewogICAgICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgICAgIHN0YXJ0UGF0cm9sSWQ6IHN0YXJ0UGF0cm9sSWQsCiAgICAgICAgICAgIHN0YXJ0UGF0cm9sTmFtZTogc3RhcnRQYXRyb2xOYW1lLAogICAgICAgICAgICBlbmRQYXRyb2xJZDogZW5kUGF0cm9sSWQsCiAgICAgICAgICAgIGVuZFBhdHJvbE5hbWU6IGVuZFBhdHJvbE5hbWUKICAgICAgICAgIH07CiAgICAgICAgICBpZiAocGVnU1ZhbCkgewogICAgICAgICAgICB2YXIgc3RhcnRQZWdBcnIgPSBwZWdTVmFsLnNwbGl0KCcrJyk7CiAgICAgICAgICAgIGRhdGEuc3RhcnRQZWcgPSBzdGFydFBlZ0FyclswXS5zbGljZSgxKTsKICAgICAgICAgICAgZGF0YS5zdGFydFBlZ0FkZCA9IHN0YXJ0UGVnQXJyWzFdOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHBlZ0VWYWwpIHsKICAgICAgICAgICAgdmFyIGVuZFBlZ0FyciA9IHBlZ0VWYWwuc3BsaXQoJysnKTsKICAgICAgICAgICAgZGF0YS5lbmRQZWcgPSBlbmRQZWdBcnJbMF0uc2xpY2UoMSk7CiAgICAgICAgICAgIGRhdGEuZW5kUGVnQWRkID0gZW5kUGVnQXJyWzFdOwogICAgICAgICAgfQogICAgICAgICAgX3RoaXM0LmFkZEVkaXRGb3JtID0gZGF0YTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8g5o+Q5Y+WIHBlZ1NWYWwg5ZKMIHBlZ0VWYWwKICAgICAgICAgIHZhciBwZWdTVmFscyA9IHJvdy5wbGFjZURldGFpbFswXS5wZWdTVmFsOwogICAgICAgICAgdmFyIHBlZ0VWYWxzID0gcm93LnBsYWNlRGV0YWlsWzBdLnBlZ0VWYWw7CiAgICAgICAgICBpZiAocGVnU1ZhbHMpIHsKICAgICAgICAgICAgdmFyIF9zdGFydFBlZ0FyciA9IHBlZ1NWYWxzLnNwbGl0KCcrJyk7CiAgICAgICAgICAgIF90aGlzNC5hZGRFZGl0Rm9ybS5zdGFydFBlZyA9IF9zdGFydFBlZ0FyclswXS5zbGljZSgxKTsKICAgICAgICAgICAgX3RoaXM0LmFkZEVkaXRGb3JtLnN0YXJ0UGVnQWRkID0gX3N0YXJ0UGVnQXJyWzFdOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHBlZ0VWYWxzKSB7CiAgICAgICAgICAgIHZhciBfZW5kUGVnQXJyID0gcGVnRVZhbHMuc3BsaXQoJysnKTsKICAgICAgICAgICAgX3RoaXM0LmFkZEVkaXRGb3JtLmVuZFBlZyA9IF9lbmRQZWdBcnJbMF0uc2xpY2UoMSk7CiAgICAgICAgICAgIF90aGlzNC5hZGRFZGl0Rm9ybS5lbmRQZWdBZGQgPSBfZW5kUGVnQXJyWzFdOwogICAgICAgICAgfQogICAgICAgICAgdmFyIG5hbWUgPSBfdGhpczQudHlwZSA9PSAnMycgPyAnc2QnIDogX3RoaXM0LnR5cGUgPT0gJzQnID8gJ2xqJyA6IF90aGlzNC50eXBlID09ICcyJyA/ICdzd3onIDogJ2Z3cSc7CiAgICAgICAgICAvLyDlsIYgcGxhY2VEZXRhaWwg6L2s5o2i5Li65Zyw54K55ZCN56ew5pWw57uECiAgICAgICAgICBfdGhpczQuYWRkRWRpdEZvcm1bIiIuY29uY2F0KG5hbWUsICJQbGFjZURldGFpbCIpXSA9IHJvdy5wbGFjZURldGFpbC5tYXAoZnVuY3Rpb24gKHBsYWNlKSB7CiAgICAgICAgICAgIHJldHVybiBwbGFjZS5wbGFjZU5hbWU7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogIH0KfTs="},null]}