{"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\\obstacleClearingRescue\\RescueInquiry\\components\\EditAddPage\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\obstacleClearingRescue\\RescueInquiry\\components\\EditAddPage\\index.vue","mtime":1744834107642},{"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:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvclJ1bnRpbWUuanMiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmlsdGVyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmpvaW4uanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZpbmQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5zb21lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi5zdHJpbmdpZnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IFB1YlN1YiBmcm9tICdwdWJzdWItanMnOwppbXBvcnQgeyB0YWJsZUFkZCwgdGFibGVEZXRhaWwsIHRhYmxlRWRpdCB9IGZyb20gJ0AvYXBpL3BhdHJvbEFuZFJlc2N1ZS9vYnN0YWNsZUNsZWFyaW5nUmVzY3VlL3Jlc2N1ZVJlZ2lzdHJhdGlvbic7CmltcG9ydCB7IGdldERpY3Rpb25hcnlCeUNvZGUsIGRpY3Rpb25hcnlFc2NhcGUgfSBmcm9tICdAL3V0aWxzL2RpY3Rpb25hcnknOwppbXBvcnQgUm9hZENob2ljZURpYWxvZyBmcm9tICcuL2NvbXBvbmVudHMvUm9hZENob2ljZURpYWxvZyc7CmltcG9ydCBBcHBvaW50RGlhbG9nIGZyb20gJy4vY29tcG9uZW50cy9BcHBvaW50RGlhbG9nJzsKaW1wb3J0IE1pbmVNYXAgZnJvbSAnQC9jb21wb25lbnRzL01pbmVNYXAvaW5kZXgudnVlJzsKaW1wb3J0IHsgb3JnVHJlZSB9IGZyb20gJ0AvYXBpL3N5c3RlbUludGVyZmFjZSc7CmltcG9ydCB7IHRhYmxlRGF0YSBhcyByb2FkU2VjdGlvbkluZm9JbnRlciB9IGZyb20gJ0AvYXBpL3BhdHJvbEFuZFJlc2N1ZS9pbmZvTWdtdFBhdHJvbHNSZXNjdWVzL3JvYWRTZWN0aW9uSW5mbyc7CmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JzsKaW1wb3J0IHsgcmVmaW5lUmVxdWVzdEJvZHkgfSBmcm9tICdAL3V0aWxzL3JlcXVlc3RXcmFwcGVycyc7CmltcG9ydCB7IHRhYmxlRGF0YSBhcyBhbG9uZ1JvdXRlSW5mb0ludGVyIH0gZnJvbSAnQC9hcGkvcGF0cm9sQW5kUmVzY3VlL2luZm9NZ210UGF0cm9sc1Jlc2N1ZXMvYWxvbmdSb3V0ZUluZm8nOwppbXBvcnQgZGlzcG9zYWxQcm9jZXNzIGZyb20gJy4vY29tcG9uZW50cy9EaXNwb3NhbFByb2Nlc3MnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ0VkaXRBZGRQYWdlJywKICBjb21wb25lbnRzOiB7CiAgICBNaW5lTWFwOiBNaW5lTWFwLAogICAgUm9hZENob2ljZURpYWxvZzogUm9hZENob2ljZURpYWxvZywKICAgIEFwcG9pbnREaWFsb2c6IEFwcG9pbnREaWFsb2csCiAgICBkaXNwb3NhbFByb2Nlc3M6IGRpc3Bvc2FsUHJvY2VzcwogIH0sCiAgcHJvcHM6IHsKICAgIGNvbXBvbmVudE5hbWU6IHsKICAgICAgZGVmYXVsdDogJ0VkaXRBZGRQYWdlJywKICAgICAgdHlwZTogU3RyaW5nCiAgICB9CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgYXBwb2ludERpYWxvZzogZmFsc2UsCiAgICAgIGZvcm1Mb2FkaW5nOiB0cnVlLAogICAgICBhZGRFZGl0Rm9ybTogewogICAgICAgIG9jY3VweTogW10sCiAgICAgICAgcmVzY3VlVHlwZTogMSwKICAgICAgICBjYXJDbGFzczogMSwKICAgICAgICByZXNjdWVUaW1lOiBuZXcgRGF0ZSgpCiAgICAgIH0sCiAgICAgIGFkZEVkaXRSdWxlczogewogICAgICAgIHJlc2N1ZVRlbDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+aKpeahiOeUteivneS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9XSwKICAgICAgICByZXNjdWVUaW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5oql5qGI5pe26Ze05LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIGV2ZW50VHlwZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeS6i+S7tuexu+WeiycsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZSddCiAgICAgICAgfV0sCiAgICAgICAgcmVzY3VlVHlwZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+aVkeaPtOexu+Wei+S4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZSddCiAgICAgICAgfV0sCiAgICAgICAgcm9hZElkOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6Lev5q615L+h5oGv5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJ10KICAgICAgICB9XSwKICAgICAgICB0ZWFtSWQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfmtL7pgaPpmJ/kvI3kuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnXQogICAgICAgIH1dLAogICAgICAgIGV2ZW50VGltZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+S6i+S7tuWPkeeUn+aXtumXtOS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZSddCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgc2F2ZUxvYWRpbmc6IGZhbHNlLAogICAgICAvLyDkuIrkvKBsb2FkaW5nCiAgICAgIGlkOiAnJywKICAgICAgLy8gaWTmoIfor4bnrKYKICAgICAgcm9hZENob2ljZURpYWxvZzogZmFsc2UsCiAgICAgIC8vIOaYr+WQpuWxleekuumAieaLqei3r+auteW8ueWxggogICAgICBwdWJTdWI6IG51bGwsCiAgICAgIGFsb25nUm91dGVJbmZvRGF0YTogW10sCiAgICAgIHJvYWRPcHRpb25zOiBbXSwKICAgICAgZGlzcG9zYWxQcm9jZXNzOiBmYWxzZQogICAgfTsKICB9LAogIHdhdGNoOiB7CiAgICBjb21wb25lbnROYW1lOiB7CiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIobmV3VmFsKSB7CiAgICAgICAgaWYgKG5ld1ZhbCA9PT0gdGhpcy4kb3B0aW9ucy5uYW1lKSB7CiAgICAgICAgICB0aGlzLm9wZW5QYWdlKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuY2xvc2VQYWdlKCk7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge30sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICB0aGlzLnB1YlN1YiA9IFB1YlN1Yi5zdWJzY3JpYmUoJ0VkaXRBZGRQYWdlJywgZnVuY3Rpb24gKF8sIGRhdGEpIHsKICAgICAgaWYgKGRhdGEuaWQpIHsKICAgICAgICBfdGhpcy5pZCA9IGRhdGEuaWQ7CiAgICAgICAgX3RoaXMuZ2V0RGV0YWlsKGRhdGEuaWQpOwogICAgICB9CiAgICAgIF90aGlzLmdldFJvYWREYXRhKCk7CiAgICB9KTsKICB9LAogIG1ldGhvZHM6IHsKICAgIGdldERpY3Rpb25hcnlCeUNvZGU6IGdldERpY3Rpb25hcnlCeUNvZGUsCiAgICBkaWN0aW9uYXJ5RXNjYXBlOiBkaWN0aW9uYXJ5RXNjYXBlLAogICAgLy8g5re75Yqg5aSE572u546v6IqCCiAgICBoYW5kbGVBZGREaXNwb3NhbDogZnVuY3Rpb24gaGFuZGxlQWRkRGlzcG9zYWwoKSB7CiAgICAgIHRoaXMuZGlzcG9zYWxQcm9jZXNzID0gdHJ1ZTsKICAgIH0sCiAgICBoYW5kbGVVcGRhdGFIYW5kbGVzOiBmdW5jdGlvbiBoYW5kbGVVcGRhdGFIYW5kbGVzKCkgewogICAgICB0aGlzLmdldERldGFpbCh0aGlzLmFkZEVkaXRGb3JtLmlkKTsKICAgIH0sCiAgICAvLyDpmYTku7bpooTop4hsaXN0CiAgICBnZXRGaWxlUHJldmlld1VybExpc3Q6IGZ1bmN0aW9uIGdldEZpbGVQcmV2aWV3VXJsTGlzdChmaWxlcykgewogICAgICB2YXIgc3JjTGlzdCA9IGZpbGVzLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLmZpbGVQcmV2aWV3VXJsOwogICAgICB9KTsKICAgICAgcmV0dXJuIHNyY0xpc3Q7CiAgICB9LAogICAgc2l0ZUNoYW5nZTogZnVuY3Rpb24gc2l0ZUNoYW5nZShlLCB0eXBlKSB7CiAgICAgIHZhciBzaXRlSW5mbyA9IHRoaXMuYWxvbmdSb3V0ZUluZm9EYXRhLmZpbmQoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS5pZCA9PT0gZTsKICAgICAgfSk7CiAgICAgIHRoaXMuYWRkRWRpdEZvcm1bIiIuY29uY2F0KHR5cGUsICJOYW1lIildID0gc2l0ZUluZm8ubmFtZTsKICAgIH0sCiAgICBjbGVhckNhclR5cGU6IGZ1bmN0aW9uIGNsZWFyQ2FyVHlwZSgpIHsKICAgICAgdGhpcy4kc2V0KHRoaXMuYWRkRWRpdEZvcm0sICdjYXJUeXBlJywgJycpOwogICAgfSwKICAgIGdldENhckNsYXNzaWZ5OiBmdW5jdGlvbiBnZXRDYXJDbGFzc2lmeSh2YWx1ZSkgewogICAgICB2YXIgX2RpY3QkOwogICAgICB2YXIgZGljdF9hcnIgPSBnZXREaWN0aW9uYXJ5QnlDb2RlKCdnemNsJyk7CiAgICAgIHZhciBkaWN0ID0gZGljdF9hcnIuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIGl0ZW0udmFsdWUgPT0gdmFsdWU7CiAgICAgIH0pOwogICAgICByZXR1cm4gZGljdC5sZW5ndGggPyAoX2RpY3QkID0gZGljdFswXSkgPT09IG51bGwgfHwgX2RpY3QkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZGljdCQubG93ZXJEaWNbJ2d6Y3gnXSA6IFtdOwogICAgfSwKICAgIG9mZlBhZ2U6IGZ1bmN0aW9uIG9mZlBhZ2UoKSB7CiAgICAgIHRoaXMuY2hhbmdlUGFnZSgnVGFibGVQYWdlJywgJ2VkaXQnKTsKICAgIH0sCiAgICBnZXRSb2FkRGF0YTogZnVuY3Rpb24gZ2V0Um9hZERhdGEoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgICAgdmFyIF95aWVsZCRyb2FkU2VjdGlvbkluZiwgX3lpZWxkJHJvYWRTZWN0aW9uSW5mMiwgcm93czsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjsKICAgICAgICAgICAgICByZXR1cm4gcm9hZFNlY3Rpb25JbmZvSW50ZXIoewogICAgICAgICAgICAgICAgcGFnZUJlYW46IHsKICAgICAgICAgICAgICAgICAgcGFnZVNpemU6IC0xCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBfeWllbGQkcm9hZFNlY3Rpb25JbmYgPSBfY29udGV4dC5zZW50OwogICAgICAgICAgICAgIF95aWVsZCRyb2FkU2VjdGlvbkluZjIgPSBfeWllbGQkcm9hZFNlY3Rpb25JbmYucm93czsKICAgICAgICAgICAgICByb3dzID0gX3lpZWxkJHJvYWRTZWN0aW9uSW5mMiA9PT0gdm9pZCAwID8gW10gOiBfeWllbGQkcm9hZFNlY3Rpb25JbmYyOwogICAgICAgICAgICAgIF90aGlzMi5yb2FkT3B0aW9ucyA9IHJvd3MubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICBpdGVtLnJvYWROYW1lID0gaXRlbS5uYW1lICsgJyAnICsgaXRlbS5jb2RlOwogICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgaWYgKCFfdGhpczIuaWQpIHsKICAgICAgICAgICAgICAgIF90aGlzMi4kc2V0KF90aGlzMi5hZGRFZGl0Rm9ybSwgJ3JvYWRJZCcsIF90aGlzMi5yb2FkT3B0aW9uc1swXS5pZCk7CiAgICAgICAgICAgICAgICBfdGhpczIucm9hZENoYW5nZShfdGhpczIucm9hZE9wdGlvbnNbMF0uaWQpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FzZSA3OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIOmYn+S8jemAieaLqQogICAgdGVhbUlkQ2hhbmdlOiBmdW5jdGlvbiB0ZWFtSWRDaGFuZ2UoKSB7CiAgICAgIHZhciBfdGhpcyQkcmVmcywgX3RoaXMkJHJlZnMyOwogICAgICB0aGlzLmFkZEVkaXRGb3JtLnRlYW1GdWxsSWQgPSAoKF90aGlzJCRyZWZzID0gdGhpcy4kcmVmc1siYWRkRWRpdEZvcm1DYXNjYWRlciJdKSA9PT0gbnVsbCB8fCBfdGhpcyQkcmVmcyA9PT0gdm9pZCAwIHx8IChfdGhpcyQkcmVmcyA9IF90aGlzJCRyZWZzLmdldENoZWNrZWROb2RlcygpWzBdKSA9PT0gbnVsbCB8fCBfdGhpcyQkcmVmcyA9PT0gdm9pZCAwIHx8IChfdGhpcyQkcmVmcyA9IF90aGlzJCRyZWZzLmRhdGEpID09PSBudWxsIHx8IF90aGlzJCRyZWZzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdGhpcyQkcmVmcy5wYXRoKSB8fCAnJzsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS50ZWFtSWQgPSAoKF90aGlzJCRyZWZzMiA9IHRoaXMuJHJlZnNbImFkZEVkaXRGb3JtQ2FzY2FkZXIiXSkgPT09IG51bGwgfHwgX3RoaXMkJHJlZnMyID09PSB2b2lkIDAgfHwgKF90aGlzJCRyZWZzMiA9IF90aGlzJCRyZWZzMi5nZXRDaGVja2VkTm9kZXMoKVswXSkgPT09IG51bGwgfHwgX3RoaXMkJHJlZnMyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdGhpcyQkcmVmczIudmFsdWUpIHx8ICcnOwogICAgfSwKICAgIC8vIOaJk+W8gOmhtemdouaJp+ihjAogICAgb3BlblBhZ2U6IGZ1bmN0aW9uIG9wZW5QYWdlKCkgewogICAgICAvLyB0aGlzLiRyZWZzLm1pbmVNYXA/Lm1hcD8ucmVzaXplKCkKICAgIH0sCiAgICAvLyDlsZXnpLrlvLnlsYIKICAgIHNob3dEaWFsb2c6IGZ1bmN0aW9uIHNob3dEaWFsb2coZGlhbG9nTmFtZSkgewogICAgICBpZiAoIWRpYWxvZ05hbWUpIHJldHVybjsKICAgICAgdGhpc1tkaWFsb2dOYW1lICsgJ0RpYWxvZyddID0gdHJ1ZTsKICAgIH0sCiAgICAvLyDlhbPpl63pobXpnaLmiafooYwKICAgIGNsb3NlUGFnZTogZnVuY3Rpb24gY2xvc2VQYWdlKCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdmFyIHB1YlN1YiA9IHRoaXMucHViU3ViLAogICAgICAgIGFkZEVkaXRSdWxlcyA9IHRoaXMuYWRkRWRpdFJ1bGVzOwogICAgICAvLyDph43nva7nu4Tku7bmlbDmja4KICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLiRkYXRhLCB0aGlzLiRvcHRpb25zLmRhdGEuY2FsbCh0aGlzKSwgewogICAgICAgIHB1YlN1YjogcHViU3ViLAogICAgICAgIGFkZEVkaXRSdWxlczogYWRkRWRpdFJ1bGVzCiAgICAgIH0pOwogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoXykgewogICAgICAgIF90aGlzMy4kcmVmcy5hZGRFZGl0Rm9ybS4kZWwuc2Nyb2xsVG9wID0gMDsKICAgICAgICBfdGhpczMuJHJlZnMuYWRkRWRpdEZvcm0uY2xlYXJWYWxpZGF0ZSgpOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDojrflj5bor6bmg4UKICAgIGdldERldGFpbDogZnVuY3Rpb24gZ2V0RGV0YWlsKGlkKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUyKCkgewogICAgICAgIHZhciBfdGhpczQkYWRkRWRpdEZvcm0sIF90aGlzNCRhZGRFZGl0Rm9ybSRybywgcm9hZElkLCBfdGhpczQkYWRkRWRpdEZvcm0kcGUsIHBlZ1ZhbCwgX3RoaXM0JGFkZEVkaXRGb3JtJG9jLCBvY2N1cHksIHN0YXJ0UGVnQXJyOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMiQoX2NvbnRleHQyKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDIucHJldiA9IF9jb250ZXh0Mi5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dDIucHJldiA9IDA7CiAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAzOwogICAgICAgICAgICAgIHJldHVybiB0YWJsZURldGFpbChpZCk7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICBfdGhpczQuYWRkRWRpdEZvcm0gPSBfY29udGV4dDIuc2VudDsKICAgICAgICAgICAgICBfdGhpczQkYWRkRWRpdEZvcm0gPSBfdGhpczQuYWRkRWRpdEZvcm0sIF90aGlzNCRhZGRFZGl0Rm9ybSRybyA9IF90aGlzNCRhZGRFZGl0Rm9ybS5yb2FkSWQsIHJvYWRJZCA9IF90aGlzNCRhZGRFZGl0Rm9ybSRybyA9PT0gdm9pZCAwID8gJycgOiBfdGhpczQkYWRkRWRpdEZvcm0kcm8sIF90aGlzNCRhZGRFZGl0Rm9ybSRwZSA9IF90aGlzNCRhZGRFZGl0Rm9ybS5wZWdWYWwsIHBlZ1ZhbCA9IF90aGlzNCRhZGRFZGl0Rm9ybSRwZSA9PT0gdm9pZCAwID8gJycgOiBfdGhpczQkYWRkRWRpdEZvcm0kcGUsIF90aGlzNCRhZGRFZGl0Rm9ybSRvYyA9IF90aGlzNCRhZGRFZGl0Rm9ybS5vY2N1cHksIG9jY3VweSA9IF90aGlzNCRhZGRFZGl0Rm9ybSRvYyA9PT0gdm9pZCAwID8gJycgOiBfdGhpczQkYWRkRWRpdEZvcm0kb2M7CiAgICAgICAgICAgICAgX3RoaXM0LmFkZEVkaXRGb3JtLm9jY3VweSA9IG9jY3VweS5zcGxpdCgnLCcpOwogICAgICAgICAgICAgIGlmIChwZWdWYWwpIHsKICAgICAgICAgICAgICAgIHN0YXJ0UGVnQXJyID0gcGVnVmFsLnNwbGl0KCcrJyk7CiAgICAgICAgICAgICAgICBfdGhpczQuJHNldChfdGhpczQuYWRkRWRpdEZvcm0sICdzdGFydFBlZycsIHN0YXJ0UGVnQXJyWzBdLnNsaWNlKDEpKTsKICAgICAgICAgICAgICAgIF90aGlzNC4kc2V0KF90aGlzNC5hZGRFZGl0Rm9ybSwgJ3N0YXJ0UGVnQWRkJywgc3RhcnRQZWdBcnJbMV0pOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBfdGhpczQuJHNldChfdGhpczQuYWRkRWRpdEZvcm0sICdzdGFydFBlZycsICcnKTsKICAgICAgICAgICAgICAgIF90aGlzNC4kc2V0KF90aGlzNC5hZGRFZGl0Rm9ybSwgJ3N0YXJ0UGVnQWRkJywgJycpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfdGhpczQucm9hZENoYW5nZShyb2FkSWQpOwogICAgICAgICAgICBjYXNlIDg6CiAgICAgICAgICAgICAgX2NvbnRleHQyLnByZXYgPSA4OwogICAgICAgICAgICAgIF90aGlzNC5mb3JtTG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDIuZmluaXNoKDgpOwogICAgICAgICAgICBjYXNlIDExOgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDIuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUyLCBudWxsLCBbWzAsLCA4LCAxMV1dKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g5L+d5a2YCiAgICBoYW5kbGVTYXZlOiBmdW5jdGlvbiBoYW5kbGVTYXZlKCkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgdGhpcy4kcmVmcy5hZGRFZGl0Rm9ybS52YWxpZGF0ZSgvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBfcmVmID0gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUzKHZhbGlkLCBvYmplY3QpIHsKICAgICAgICAgIHZhciBkYXRhLCByb2FkSW5mbywgbXlJbnRlckZhY2UsIF95aWVsZCRteUludGVyRmFjZSwgc3RhdGUsIG1lc3NhZ2UsIHZhbHVlOwogICAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUzJChfY29udGV4dDMpIHsKICAgICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQzLnByZXYgPSBfY29udGV4dDMubmV4dCkgewogICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgIGlmICh2YWxpZCkgewogICAgICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDQ7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgX3RoaXM1LiRtZXNzYWdlLndhcm5pbmcoIlx1NjcwOSIuY29uY2F0KE9iamVjdC5rZXlzKG9iamVjdCkubGVuZ3RoLCAiXHU0RTJBXHU1QjU3XHU2QkI1XHU2NzJBXHU5MDFBXHU4RkM3XHU2ODIxXHU5QThDXHVGRjBDXHU4QkY3XHU2QjYzXHU3ODZFXHU1ODZCXHU1MTk5XHU4ODY4XHU1MzU1XHU1MTg1XHU1QkI5XHUzMDAyIikpOwogICAgICAgICAgICAgICAgX2NvbnRleHQzLm5leHQgPSAyNDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgICAgIF90aGlzNS5zYXZlTG9hZGluZyA9IHRydWU7CiAgICAgICAgICAgICAgICBkYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfdGhpczUuYWRkRWRpdEZvcm0pKTsKICAgICAgICAgICAgICAgIGRhdGEub2NjdXB5ID0gZGF0YS5vY2N1cHkuam9pbignLCcpOwogICAgICAgICAgICAgICAgaWYgKGRhdGEuc3RhcnRQZWcgJiYgZGF0YS5zdGFydFBlZ0FkZCkgewogICAgICAgICAgICAgICAgICBkYXRhLnBlZ1ZhbCA9ICdrJyArIChkYXRhLnN0YXJ0UGVnIHx8ICcnKSArICcrJyArIChkYXRhLnN0YXJ0UGVnQWRkIHx8ICcnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGRhdGEucmVzY3VlVGltZSA9IG1vbWVudChkYXRhLnJlc2N1ZVRpbWUpLmZvcm1hdCgnWVlZWS1NTS1ERCBISDptbTpzcycpOwogICAgICAgICAgICAgICAgcm9hZEluZm8gPSBfdGhpczUucm9hZE9wdGlvbnMuZmluZChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5pZCA9PT0gZGF0YS5yb2FkSWQ7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGRhdGEucm9hZE5hbWUgPSByb2FkSW5mby5uYW1lOwogICAgICAgICAgICAgICAgZGF0YS5yb2FkQ29kZSA9IHJvYWRJbmZvLmNvZGU7CiAgICAgICAgICAgICAgICBteUludGVyRmFjZSA9IF90aGlzNS5pZCA/IHRhYmxlRWRpdCA6IHRhYmxlQWRkOwogICAgICAgICAgICAgICAgX2NvbnRleHQzLnByZXYgPSAxMzsKICAgICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gMTY7CiAgICAgICAgICAgICAgICByZXR1cm4gbXlJbnRlckZhY2UoX29iamVjdFNwcmVhZCh7fSwgZGF0YSkpOwogICAgICAgICAgICAgIGNhc2UgMTY6CiAgICAgICAgICAgICAgICBfeWllbGQkbXlJbnRlckZhY2UgPSBfY29udGV4dDMuc2VudDsKICAgICAgICAgICAgICAgIHN0YXRlID0gX3lpZWxkJG15SW50ZXJGYWNlLnN0YXRlOwogICAgICAgICAgICAgICAgbWVzc2FnZSA9IF95aWVsZCRteUludGVyRmFjZS5tZXNzYWdlOwogICAgICAgICAgICAgICAgdmFsdWUgPSBfeWllbGQkbXlJbnRlckZhY2UudmFsdWU7CiAgICAgICAgICAgICAgICBpZiAoc3RhdGUpIHsKICAgICAgICAgICAgICAgICAgX3RoaXM1LiRtZXNzYWdlLnN1Y2Nlc3MoIlx1NEZERFx1NUI1OFx1NjIxMFx1NTI5RiIpOwogICAgICAgICAgICAgICAgICBfdGhpczUuY2hhbmdlUGFnZSgnVGFibGVQYWdlJywgX3RoaXM1LmlkID8gJ2VkaXQnIDogJ2FkZCcpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGNhc2UgMjE6CiAgICAgICAgICAgICAgICBfY29udGV4dDMucHJldiA9IDIxOwogICAgICAgICAgICAgICAgX3RoaXM1LnNhdmVMb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLmZpbmlzaCgyMSk7CiAgICAgICAgICAgICAgY2FzZSAyNDoKICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0My5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIF9jYWxsZWUzLCBudWxsLCBbWzEzLCwgMjEsIDI0XV0pOwogICAgICAgIH0pKTsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKF94LCBfeDIpIHsKICAgICAgICAgIHJldHVybiBfcmVmLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgfTsKICAgICAgfSgpKTsKICAgIH0sCiAgICAvLyDmlLnlj5jpobXpnaIKICAgIGNoYW5nZVBhZ2U6IGZ1bmN0aW9uIGNoYW5nZVBhZ2UoKSB7CiAgICAgIHZhciBwYWdlTmFtZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogJyc7CiAgICAgIHZhciB0eXBlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiAnJzsKICAgICAgaWYgKCFwYWdlTmFtZSkgcmV0dXJuOwogICAgICB0aGlzLiRlbWl0KCdjaGFuZ2VQYWdlJywgcGFnZU5hbWUsIGZ1bmN0aW9uIChfKSB7CiAgICAgICAgUHViU3ViLnB1Ymxpc2gocGFnZU5hbWUsIHsKICAgICAgICAgIHR5cGU6IHR5cGUKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g6YCa6L+H6Lev5q615L+h5oGv6I635Y+W5rK/57q/6K6+5aSH5L+h5oGvCiAgICBnZXRBbG9uZ1JvdXRlSW5mbzogZnVuY3Rpb24gZ2V0QWxvbmdSb3V0ZUluZm8odmFsdWUsIGNhbGxiYWNrKSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWU0KCkgewogICAgICAgIHZhciBfd2lwZURhdGEsIF95aWVsZCRhbG9uZ1JvdXRlSW5mbywgX3lpZWxkJGFsb25nUm91dGVJbmZvMiwgcm93czsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTQkKF9jb250ZXh0NCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQ0LnByZXYgPSBfY29udGV4dDQubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX3dpcGVEYXRhID0gZnVuY3Rpb24gX3dpcGVEYXRhKCkgewogICAgICAgICAgICAgICAgX3RoaXM2LmFsb25nUm91dGVJbmZvRGF0YSA9IFtdOwogICAgICAgICAgICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2soX3RoaXM2LmFsb25nUm91dGVJbmZvRGF0YSk7CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBfY29udGV4dDQucHJldiA9IDE7CiAgICAgICAgICAgICAgX2NvbnRleHQ0Lm5leHQgPSA0OwogICAgICAgICAgICAgIHJldHVybiBhbG9uZ1JvdXRlSW5mb0ludGVyKHJlZmluZVJlcXVlc3RCb2R5KHsKICAgICAgICAgICAgICAgIHF1ZXJ5czogW3sKICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uOiAnSU4nLAogICAgICAgICAgICAgICAgICBwcm9wZXJ0eTogJ3JvYWRfc2VnbWVudF9pZF8nLAogICAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUKICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgfSksICdhZGRFZGl0Jyk7CiAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgICBfeWllbGQkYWxvbmdSb3V0ZUluZm8gPSBfY29udGV4dDQuc2VudDsKICAgICAgICAgICAgICBfeWllbGQkYWxvbmdSb3V0ZUluZm8yID0gX3lpZWxkJGFsb25nUm91dGVJbmZvLnJvd3M7CiAgICAgICAgICAgICAgcm93cyA9IF95aWVsZCRhbG9uZ1JvdXRlSW5mbzIgPT09IHZvaWQgMCA/IFtdIDogX3lpZWxkJGFsb25nUm91dGVJbmZvMjsKICAgICAgICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyb3dzKTsKICAgICAgICAgICAgICBfdGhpczYuYWxvbmdSb3V0ZUluZm9EYXRhID0gcm93czsKICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDE0OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDExOgogICAgICAgICAgICAgIF9jb250ZXh0NC5wcmV2ID0gMTE7CiAgICAgICAgICAgICAgX2NvbnRleHQ0LnQwID0gX2NvbnRleHQ0WyJjYXRjaCJdKDEpOwogICAgICAgICAgICAgIC8vIOS4jeS4uuivt+axgui/h+W/q+e7k+adn+eahOaDheWGteS4i++8jOmHjee9rgogICAgICAgICAgICAgIGlmIChfY29udGV4dDQudDAubWVzc2FnZSAhPT0gJ2NhbmNlbGVkJykgX3dpcGVEYXRhKCk7CiAgICAgICAgICAgIGNhc2UgMTQ6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0NC5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTQsIG51bGwsIFtbMSwgMTFdXSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIHJvYWRDaGFuZ2U6IGZ1bmN0aW9uIHJvYWRDaGFuZ2UodmFsdWUpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CiAgICAgIC8vIOmAmui/h+i3r+auteS/oeaBr+iOt+WPluayv+e6v+iuvuWkh+S/oeaBrwogICAgICB0aGlzLmdldEFsb25nUm91dGVJbmZvKHZhbHVlLCBmdW5jdGlvbiAoZGF0YSkgewogICAgICAgIHZhciBfdGhpczckYWRkRWRpdEZvcm0gPSBfdGhpczcuYWRkRWRpdEZvcm0sCiAgICAgICAgICBzdGFydFBhdHJvbElkID0gX3RoaXM3JGFkZEVkaXRGb3JtLnN0YXJ0UGF0cm9sSWQsCiAgICAgICAgICBlbmRQYXRyb2xJZCA9IF90aGlzNyRhZGRFZGl0Rm9ybS5lbmRQYXRyb2xJZDsKCiAgICAgICAgLyoNCiAgICAgICAgICog5beh5qOA5byA5aeL77yM57uT5p2f56uZDQogICAgICAgICAqICovCiAgICAgICAgaWYgKHN0YXJ0UGF0cm9sSWQpIHsKICAgICAgICAgIGlmICghZGF0YS5zb21lKGZ1bmN0aW9uIChpKSB7CiAgICAgICAgICAgIHJldHVybiBpLmlkID09PSBzdGFydFBhdHJvbElkOwogICAgICAgICAgfSkpIHsKICAgICAgICAgICAgX3RoaXM3LmFkZEVkaXRGb3JtLnN0YXJ0UGF0cm9sSWQgPSAnJzsKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoXykgewogICAgICAgICAgICAgIHJldHVybiBfdGhpczcuJG1lc3NhZ2Uud2FybmluZygn6K+36YeN5paw6YCJ5oup5byA5aeL56uZLi4nKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChlbmRQYXRyb2xJZCkgewogICAgICAgICAgaWYgKCFkYXRhLnNvbWUoZnVuY3Rpb24gKGkpIHsKICAgICAgICAgICAgcmV0dXJuIGkuaWQgPT09IGVuZFBhdHJvbElkOwogICAgICAgICAgfSkpIHsKICAgICAgICAgICAgX3RoaXM3LmFkZEVkaXRGb3JtLmVuZFBhdHJvbElkID0gJyc7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKF8pIHsKICAgICAgICAgICAgICByZXR1cm4gX3RoaXM3LiRtZXNzYWdlLndhcm5pbmcoJ+ivt+mHjeaWsOmAieaLqee7k+adn+ermS4uJyk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgfSwKICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkgewogICAgLy8g5Zyo57uE5Lu26ZSA5q+B5LmL5YmNIOa4hemZpOiuoumYhea2iOaBrwogICAgUHViU3ViLnVuc3Vic2NyaWJlKHRoaXMucHViU3ViKTsKICB9Cn07"},null]}