{"remainingRequest":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/vue-loader/lib/index.js??vue-loader-options!/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/@abi-software/scaffoldvuer/src/components/ScaffoldVuer.vue?vue&type=script&lang=js&","dependencies":[{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/@abi-software/scaffoldvuer/src/components/ScaffoldVuer.vue","mtime":499162500000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ci8qIGVzbGludC1kaXNhYmxlIG5vLWFsZXJ0LCBuby1jb25zb2xlICovCmltcG9ydCBWdWUgZnJvbSAidnVlIjsKaW1wb3J0IE9wYWNpdHlDb250cm9scyBmcm9tICIuL09wYWNpdHlDb250cm9scyI7CmltcG9ydCBTY2FmZm9sZFRvb2x0aXAgZnJvbSAiLi9TY2FmZm9sZFRvb2x0aXAiOwppbXBvcnQgVHJlZUNvbnRyb2xzIGZyb20gIi4vVHJlZUNvbnRyb2xzIjsKaW1wb3J0IHsgTWFwU3ZnSWNvbiwgTWFwU3ZnU3ByaXRlQ29sb3IgfSBmcm9tICJAYWJpLXNvZnR3YXJlL3N2Zy1zcHJpdGUiOwppbXBvcnQgeyBmaW5kT2JqZWN0c1dpdGhOYW1lcywgZ2V0QWxsT2JqZWN0cyB9IGZyb20gIi4uL3NjcmlwdHMvdXRpbGl0aWVzLmpzIjsKaW1wb3J0IHsgU2VhcmNoSW5kZXggfSBmcm9tICIuLi9zY3JpcHRzL3NlYXJjaC5qcyI7CmltcG9ydCB7CiAgQ29sLAogIExvYWRpbmcsCiAgT3B0aW9uLAogIFBvcG92ZXIsCiAgUm93LAogIFNlbGVjdCwKICBTbGlkZXIsCiAgVGFiUGFuZSwKICBUYWJzCn0gZnJvbSAiZWxlbWVudC11aSI7CmltcG9ydCBsYW5nIGZyb20gImVsZW1lbnQtdWkvbGliL2xvY2FsZS9sYW5nL2VuIjsKaW1wb3J0IGxvY2FsZSBmcm9tICJlbGVtZW50LXVpL2xpYi9sb2NhbGUiOwoKbG9jYWxlLnVzZShsYW5nKTsKVnVlLnVzZShDb2wpOwpWdWUudXNlKExvYWRpbmcuZGlyZWN0aXZlKTsKVnVlLnVzZShPcHRpb24pOwpWdWUudXNlKFBvcG92ZXIpOwpWdWUudXNlKFJvdyk7ClZ1ZS51c2UoU2VsZWN0KTsKVnVlLnVzZShTbGlkZXIpOwpWdWUudXNlKFRhYlBhbmUpOwpWdWUudXNlKFRhYnMpOwoKY29uc3QgT3JnYW5zVmlld2VyID0gcmVxdWlyZSgiLi4vc2NyaXB0cy9vcmdhbnNSZW5kZXJlciIpLk9yZ2Fuc1ZpZXdlcjsKY29uc3QgRXZlbnROb3RpZmllciA9IHJlcXVpcmUoIi4uL3NjcmlwdHMvZXZlbnROb3RpZmllciIpLkV2ZW50Tm90aWZpZXI7CgovKioKICogQSB2dWUgY29tcG9uZW50IG9mIHRoZSBzY2FmZm9sZCB2aWV3ZXIuCiAqCiAqIEByZXF1aXJlcyAuL09wYWNpdHlDb250cm9scy52dWUKICogQHJlcXVpcmVzIC4vVHJlZUNvbnRyb2xzLnZ1ZQogKi8KZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICJTY2FmZm9sZFZ1ZXIiLAogIGNvbXBvbmVudHM6IHsKICAgIE1hcFN2Z0ljb24sCiAgICBNYXBTdmdTcHJpdGVDb2xvciwKICAgIE9wYWNpdHlDb250cm9scywKICAgIFNjYWZmb2xkVG9vbHRpcCwKICAgIFRyZWVDb250cm9scywKICB9LAogIHByb3BzOiB7CiAgICAvKioKICAgICAqIFVSTCBvZiB0aGUgemluY2pzIG1ldGFkYXRhLiBUaGlzIHZhbHVlIHdpbGwgYmUgaWdub3JlZCBpZiBhIHZhbGlkCiAgICAgKiBzdGF0ZSBwcm9wIGlzIGFsc28gcHJvdmlkZWQuCiAgICAgKiBJZiB0aGUgdXJsIG5lZWRzIHRvIGJlIHVwZGF0ZWQgd2l0aCBzdGF0ZSBwcmVzZW50LCBwbGVhc2UgdXNlCiAgICAgKiB0aGUgc2V0VVJMIG1ldGhvZC4KICAgICAqLwogICAgdXJsOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogIiIKICAgIH0sCiAgICAvKioKICAgICAqIFNob3cgdGhlIGNvbG91ciBjb250cm9sIG9mIHNldCB0byB0cnVlLgogICAgICovCiAgICBzaG93Q29sb3VyUGlja2VyOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICB9LAogICAgLyoqCiAgICAgKiBGbGFnIHRvIHNob3cvaGlkZSB0aGUgVUkuCiAgICAgKi8KICAgIGRpc3BsYXlVSTogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiB0cnVlCiAgICB9LAogICAgLyoqCiAgICAgKiBEaXNwbGF5IGFsbCBncmFwaGljcyBhdCBzdGFydC4KICAgICAqCiAgICAgKiBUaGlzIHNldHRpbmcgb25seSB3b3JrcyB3aGVuIHRyYWRpdGlvbmFsIGlzIHNldCB0byBmYWxzZS4KICAgICAqLwogICAgZGlzcGxheUF0U3RhcnRVcDogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiB0cnVlCiAgICB9LAogICAgLyoqCiAgICAgKiBVc2UgZm9yIHRvZ2dsaW5nIHRoZSBoZWxwIHRvb2x0aXBzLgogICAgICovCiAgICBoZWxwTW9kZTogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfSwKICAgIC8qKgogICAgICogVXNlIGZvciBzaG93L2Rpc3BsYXkgYmV0YSB3YXJuaW5nIGljb24uCiAgICAgKi8KICAgIGRpc3BsYXlXYXJuaW5nOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IHRydWUKICAgIH0sCiAgICAvKioKICAgICAqIFdhcm5pbmcgbWVzc2FnZSBmb3IgdGhlIGhvdmVyZWQgb3ZlciB0ZXh0CiAgICAgKiBvbiB0aGUgd2FybmluZyBpY29uLgogICAgICovCiAgICB3YXJuaW5nTWVzc2FnZTogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICJCZXRhIGZlYXR1cmUgLSB1bmRlciBhY3RpdmUgZGV2ZWxvcG1lbnQiCiAgICB9LAogICAgZGlzcGxheUxhdGVzdENoYW5nZXM6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogZmFsc2UsCiAgICB9LAogICAgbGF0ZXN0Q2hhbmdlc01lc3NhZ2U6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAiTmV3IGZlYXR1cmUgLSBMb2NhbCBzZWFyY2ggaXMgbm93IGF2YWlsYWJsZSIsCiAgICB9LAogICAgLyoqCiAgICAgKiBTaG93L2hpZGUgcGlja2FibGUgbWFya2VycyBmb3IgcmVnaW9ucy4KICAgICAqLwogICAgZGlzcGxheU1hcmtlcnM6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogZmFsc2UKICAgIH0sCiAgICAvKioKICAgICAqIFNob3cvaGlkZSBtaW5pbWFwLgogICAgICovCiAgICBkaXNwbGF5TWluaW1hcDogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfSwKICAgIC8qKgogICAgICogRm9ybWF0IG9mIHRoZSBpbnB1dCBVUkwKICAgICAqLwogICAgZm9ybWF0OiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogIm1ldGFkYXRhIgogICAgfSwKICAgIC8qKgogICAgICogU2V0dGluZ3MgZm9yIG1pbmltYXAgcG9zaXRpb24sIHNpemUgYW5kIGFsaWdubWVudC4KICAgICAqLwogICAgbWluaW1hcFNldHRpbmdzOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHhfb2Zmc2V0OiAxNiwKICAgICAgICAgIHlfb2Zmc2V0OiAxNiwKICAgICAgICAgIHdpZHRoOiAxMjgsCiAgICAgICAgICBoZWlnaHQ6IDEyOCwKICAgICAgICAgIGFsaWduOiAidG9wLXJpZ2h0IgogICAgICAgIH07CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIFN0YXRlIGNvbnRhaW5pbmcgc3RhdGUgb2YgdGhlIHNjYWZmb2xkLgogICAgICovCiAgICBzdGF0ZTogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIGRlZmF1bHQ6IHVuZGVmaW5lZAogICAgfSwKICAgIC8qKgogICAgICogT3B0aW9uYWwgcHJvcCBmb3IgdGhlIG5hbWUgb2YgdGhlIHJlZ2lvbiB0byBmb2N1cyBvbiwKICAgICAqIHRoaXMgb3B0aW9uIGlzIGlnbm9yZWQgaWYgc3RhdGUgb3Igdmlld1VSTCBpcyBhbHNvIHByb3ZpZGVkLgogICAgICovCiAgICByZWdpb246IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAiIgogICAgfSwKICAgIC8qKgogICAgICogT3B0aW9uYWwgcHJvcCBmb3IgYW4gVVJMIG9mIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gb2YgYSB2aWV3cG9ydC4KICAgICAqIFRoaXMgb3B0aW9uIGlzIGlnbm9yZWQgaWYgc3RhdGUgaXMgYWxzbyBwcm92aWRlZC4KICAgICAqIEl0IHdpbGwgdXNlIHRoZSBwcm92aWRlZCBVUkwgYXMgYmFzZSBpZiBhIHJlbGF0aXZlIHBhcnRoIGlzIHByb3ZpZGVkLgogICAgICovCiAgICB2aWV3VVJMOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogIiIKICAgIH0sCiAgICAvKioKICAgICAqIFNldHRpbmdzIGZvciB0dXJuaW5nIG9uL29mZiByZW5kZXJpbmcKICAgICAqLwogICAgcmVuZGVyOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IHRydWUKICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHsKICAgICAgc2NlbmVEYXRhOiB0aGlzLiRtb2R1bGUuc2NlbmVEYXRhLAogICAgICBpc1BsYXlpbmc6IGZhbHNlLAogICAgICAvKioKICAgICAgICogVGhpcyBpcyBzZXQgd2hlbiBzY2VuZSBpcyB0cmFuc2l0aW9uaW5nLgogICAgICAgKi8KICAgICAgaXNUcmFuc2l0aW9uaW5nOiBmYWxzZSwKICAgICAgdG9vbHRpcEFwcGVuZFRvQm9keTogZmFsc2UsCiAgICAgIGhvdmVyVmlzaWJpbGl0aWVzOiBbCiAgICAgICAgeyB2YWx1ZTogZmFsc2UgfSwKICAgICAgICB7IHZhbHVlOiBmYWxzZSB9LAogICAgICAgIHsgdmFsdWU6IGZhbHNlIH0sCiAgICAgICAgeyB2YWx1ZTogZmFsc2UgfSwKICAgICAgICB7IHZhbHVlOiBmYWxzZSB9LAogICAgICAgIHsgdmFsdWU6IGZhbHNlIH0sCiAgICAgICAgeyB2YWx1ZTogZmFsc2UgfSwKICAgICAgICB7IHZhbHVlOiBmYWxzZSB9LAogICAgICBdLAogICAgICBpbkhlbHA6IGZhbHNlLAogICAgICBsb2FkaW5nOiBmYWxzZSwKICAgICAgZHVyYXRpb246IDMwMDAsCiAgICAgIGRyYXdlck9wZW46IHRydWUsCiAgICAgIGN1cnJlbnRCYWNrZ3JvdW5kOiAid2hpdGUiLAogICAgICBhdmFpbGFibGVCYWNrZ3JvdW5kOiBbIndoaXRlIiwgImxpZ2h0c2t5Ymx1ZSIsICJibGFjayJdLAogICAgICBtaW5pbWlzZWRTbGlkZXI6IGZhbHNlLAogICAgICBzbGlkZXJQb3NpdGlvbjogIiIsCiAgICAgIHRpbWVNYXg6IDEwMCwKICAgICAgb3JnaW5hbER1cmF0aW9uOiAiIiwKICAgICAgYW5pbWF0ZUR1cmF0aW9uOiAiNnNlY3MiLAogICAgICBwbGF5U3BlZWQ6IFsKICAgICAgICB7CiAgICAgICAgICB2YWx1ZTogMC4xLAogICAgICAgICAgbGFiZWw6ICIwLjF4IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgdmFsdWU6IDAuNSwKICAgICAgICAgIGxhYmVsOiAiMC41eCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgIHZhbHVlOiAxLAogICAgICAgICAgbGFiZWw6ICIxeCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgIHZhbHVlOiAyLAogICAgICAgICAgbGFiZWw6ICIyeCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgIHZhbHVlOiA1LAogICAgICAgICAgbGFiZWw6ICI1eCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgIHZhbHVlOiAxMCwKICAgICAgICAgIGxhYmVsOiAiMTB4IgogICAgICAgIH0KICAgICAgXSwKICAgICAgY3VycmVudFNwZWVkOiAxLAogICAgICB0aW1lU3RhbXBzOiB7fSwKICAgICAgZGVmYXVsdENoZWNrZWRLZXlzOiBbXSwKICAgICAgdERhdGE6IHsKICAgICAgICBsYWJlbDogIiIsCiAgICAgICAgcmVnaW9uOiAiIiwKICAgICAgICB2aXNpYmxlOiBmYWxzZSwKICAgICAgICB4OiAyMDAsCiAgICAgICAgeTogMjAwLAogICAgICB9LAogICAgICBmaWxlRm9ybWF0OiAibWV0YWRhdGEiCiAgICB9OwogIH0sCiAgd2F0Y2g6IHsKICAgIGZvcm1hdDogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgIHRoaXMuZmlsZUZvcm1hdCA9IHZhbHVlOwogICAgICB9LAogICAgICBpbW1lZGlhdGU6IHRydWUKICAgIH0sCiAgICB1cmw6IHsKICAgICAgaGFuZGxlcjogZnVuY3Rpb24obmV3VmFsdWUpIHsKICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuc3RhdGUudXJsID09PSB1bmRlZmluZWQpCiAgICAgICAgICB0aGlzLnNldFVSTChuZXdWYWx1ZSk7CiAgICAgIH0sCiAgICAgIGltbWVkaWF0ZTogdHJ1ZQogICAgfSwKICAgIHJlZ2lvbjogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbihyZWdpb24pIHsKICAgICAgICBpZiAoISh0aGlzLnN0YXRlIHx8IHRoaXMudmlld1VSTCkpIHRoaXMuc2V0Rm9jdXNlZFJlZ2lvbihyZWdpb24pOwogICAgICB9LAogICAgICBpbW1lZGlhdGU6IHRydWUKICAgIH0sCiAgICBzdGF0ZTogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbihzdGF0ZSkgewogICAgICAgIHRoaXMuc2V0U3RhdGUoc3RhdGUpOwogICAgICB9LAogICAgICBpbW1lZGlhdGU6IHRydWUsCiAgICAgIGRlZXA6IHRydWUKICAgIH0sCiAgICB2aWV3VVJMOiB7CiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uKHZpZXdVUkwpIHsKICAgICAgICB0aGlzLnVwZGF0ZVZpZXdVUkwodmlld1VSTCk7CiAgICAgIH0sCiAgICAgIGltbWVkaWF0ZTogdHJ1ZQogICAgfSwKICAgIGhlbHBNb2RlOiBmdW5jdGlvbih2YWwpIHsKICAgICAgdGhpcy5zZXRIZWxwTW9kZSh2YWwpOwogICAgfSwKICAgIGRpc3BsYXlNYXJrZXJzOiBmdW5jdGlvbih2YWwpIHsKICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLmRpc3BsYXlNYXJrZXJzID0gdmFsOwogICAgICAvL1VwZGF0ZSBwaWNrYWJsZSBvYmplY3RzCiAgICAgIHRoaXMuJG1vZHVsZS5zY2VuZS5mb3JjZVBpY2thYmxlT2JqZWN0c1VwZGF0ZSA9IHRydWU7CiAgICB9LAogICAgZGlzcGxheU1pbmltYXA6IGZ1bmN0aW9uKHZhbCkgewogICAgICB0aGlzLiRtb2R1bGUuc2NlbmUuZGlzcGxheU1pbmltYXAgPSB2YWw7CiAgICB9LAogICAgInNjZW5lRGF0YS5jdXJyZW50VGltZSI6IGZ1bmN0aW9uKCkgewogICAgICAvKioKICAgICAgICogVHJpZ2dlcnMgd2hlbiBzY2VuZSB0aW1lIGNoYW5nZXMuCiAgICAgICAqCiAgICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB0aW1lIEN1cnJlbnQgYnVpbGQtaW4gdGltZSBvZiBzY2VuZS4KICAgICAgICogb2Ygc2VsZWN0ZWQgb2JqZWN0LgogICAgICAgKi8KICAgICAgdGhpcy4kZW1pdCgidGltZUNoYW5nZWQiLCB0aGlzLnNjZW5lRGF0YS5jdXJyZW50VGltZSk7CiAgICB9LAogICAgZHVyYXRpb246IGZ1bmN0aW9uKCkgewogICAgICB0aGlzLiRtb2R1bGUuc2NlbmUuc2V0RHVyYXRpb24odGhpcy5kdXJhdGlvbik7CiAgICB9LAogICAgbWluaW1hcFNldHRpbmdzOiB7CiAgICAgIGRlZXA6IHRydWUsCiAgICAgIGhhbmRsZXI6ICJ1cGRhdGVNaW5pbWFwU2Npc3NvciIKICAgIH0sCiAgICByZW5kZXI6IGZ1bmN0aW9uKHZhbCkgewogICAgICB0aGlzLnRvZ2dsZVJlbmRlcmluZyh2YWwpOwogICAgfQogIH0sCiAgYmVmb3JlQ3JlYXRlOiBmdW5jdGlvbigpIHsKICAgIHRoaXMuJG1vZHVsZSA9IG5ldyBPcmdhbnNWaWV3ZXIoKTsKICAgIHRoaXMuaXNSZWFkeSA9IGZhbHNlOwogICAgdGhpcy5zZWxlY3RlZE9iamVjdHMgPSBbXTsKICAgIHRoaXMuaG92ZXJlZE9iamVjdHMgPSBbXTsKICAgIHRoaXMuY3VycmVudEJhY2tncm91bmQgPSAid2hpdGUiOwogICAgdGhpcy5fY3VycmVudFVSTCA9IHVuZGVmaW5lZDsKICAgIHRoaXMuYXZhaWxhYmxlQmFja2dyb3VuZCA9IFsid2hpdGUiLCAiYmxhY2siLCAibGlnaHRza3libHVlIl07CiAgICB0aGlzLiRfc2VhcmNoSW5kZXggPSBuZXcgU2VhcmNoSW5kZXgoKTs7CiAgICB0aGlzLiRfdGVtcElkID0gMTsKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uKCkgewogICAgdGhpcy4kcmVmcy50cmVlQ29udHJvbHMuc2V0TW9kdWxlKHRoaXMuJG1vZHVsZSk7CiAgICBsZXQgZXZlbnROb3RpZmllciA9IG5ldyBFdmVudE5vdGlmaWVyKCk7CiAgICBldmVudE5vdGlmaWVyLnN1YnNjcmliZSh0aGlzLCB0aGlzLmV2ZW50Tm90aWZpZXJDYWxsYmFjayk7CiAgICB0aGlzLiRtb2R1bGUuYWRkTm90aWZpZXIoZXZlbnROb3RpZmllcik7CiAgICB0aGlzLiRtb2R1bGUuYWRkT3JnYW5QYXJ0QWRkZWRDYWxsYmFjayh0aGlzLnppbmNPYmplY3RBZGRlZCk7CiAgICB0aGlzLiRtb2R1bGUuaW5pdGlhbGlzZVJlbmRlcmVyKHRoaXMuJHJlZnMuZGlzcGxheSk7CiAgICB0aGlzLnRvZ2dsZVJlbmRlcmluZyh0aGlzLnJlbmRlcik7CiAgICB0aGlzLnJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMuYWRqdXN0TGF5b3V0KS5vYnNlcnZlKAogICAgICB0aGlzLiRyZWZzLnNjYWZmb2xkQ29udGFpbmVyCiAgICApOwogICAgdGhpcy5kZWZhdWx0UmF0ZSA9IHRoaXMuJG1vZHVsZS5nZXRQbGF5UmF0ZSgpOwogIH0sCiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24oKSB7CiAgICBpZiAodGhpcy5ybykgdGhpcy5yby5kaXNjb25uZWN0KCk7CiAgICB0aGlzLiRtb2R1bGUuZGVzdHJveSgpOwogICAgdGhpcy4kbW9kdWxlID0gdW5kZWZpbmVkOwogIH0sCiAgbWV0aG9kczogewogICAgLyoqCiAgICAgKiBUaGlzIGlzIGNhbGxlZCB3aGVuIGEgbmV3IHppbmMgb2JqZWN0IGlzIHJlYWQgaW50byB0aGUgc2NlbmUuCiAgICAgKi8KICAgIHppbmNPYmplY3RBZGRlZDogZnVuY3Rpb24oemluY09iamVjdCkgewogICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgemluY09iamVjdC5zZWFyY2hJbmRleElkID0gKyt0aGlzLiRfdGVtcElkOwogICAgICB0aGlzLiRfc2VhcmNoSW5kZXguYWRkWmluY09iamVjdCh6aW5jT2JqZWN0LCB6aW5jT2JqZWN0LnNlYXJjaEluZGV4SWQpOwogICAgICB0aGlzLiRlbWl0KCJ6aW5jLW9iamVjdC1hZGRlZCIsIHppbmNPYmplY3QpOwogICAgfSwKICAgIC8qKgogICAgICogVGhpcyBpcyBjYWxsZWQgd2hlbiBDaGFuZ2UgYmFja2dzcGVlZHJvdW5kIGNvbG91ciBidXR0b24KICAgICAqIGlzIHByZXNzZWQgYW4gY2F1c2VzIHRoZSBiYWNrZ3JvdUNvbG9ybmQgY29sb3VyIHRvIGJlIGNoYW5nZWQKICAgICAqIHRvIG9uZSBvZiB0aGUgdGhyZWUgcHJlc2V0IGNvbG91cjogd2hpdGUsIGJsYWNrIGFuZAogICAgICogbGlnaHRza3libHVlLgogICAgICovCiAgICBiYWNrZ3JvdW5kQ2hhbmdlQ2FsbGJhY2s6IGZ1bmN0aW9uKGNvbG91cikgewogICAgICB0aGlzLmN1cnJlbnRCYWNrZ3JvdW5kID0gY29sb3VyOwogICAgICB0aGlzLiRtb2R1bGUuemluY1JlbmRlcmVyCiAgICAgICAgLmdldFRocmVlSlNSZW5kZXJlcigpCiAgICAgICAgLnNldENsZWFyQ29sb3IodGhpcy5jdXJyZW50QmFja2dyb3VuZCwgMSk7CiAgICB9LAogICAgLyoqCiAgICAgKiBUaGlzIGlzIGNhbGxlZCBieSBjYXB0dWVlU2NyZWVuc2hvdCBhbmQgYWZ0ZXIgdGhlIGxhc3QgcmVuZGVyCiAgICAgKiBsb29wLCBpdCBkb3dubG9hZCBhIHNjcmVlbnNob3Qgb2YgdGhlIGN1cnJlbnQgc2NlbmUgd2l0aCBubyBVSS4KICAgICAqLwogICAgY2FwdHVyZVNjcmVlbnNob3RDYWxsYmFjazogZnVuY3Rpb24oKSB7CiAgICAgIC8vUmVtb3ZlIHRoZSBjYWxsYmFjaywgb25seSBuZWVkcyB0byBoYXBwZW4gb25jZQogICAgICB0aGlzLiRtb2R1bGUuemluY1JlbmRlcmVyLnJlbW92ZVBvc3RSZW5kZXJDYWxsYmFja0Z1bmN0aW9uKAogICAgICAgIHRoaXMuY2FwdHVyZUlECiAgICAgICk7CiAgICAgIGxldCBzY3JlZW5zaG90ID0gdGhpcy4kbW9kdWxlLnppbmNSZW5kZXJlcgogICAgICAgIC5nZXRUaHJlZUpTUmVuZGVyZXIoKQogICAgICAgIC5kb21FbGVtZW50LnRvRGF0YVVSTCgiaW1hZ2UvcG5nIik7CiAgICAgIGxldCBocmVmRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoaHJlZkVsZW1lbnQpOwogICAgICBpZiAoIXRoaXMuY2FwdHVyZUZpbGVuYW1lKSBocmVmRWxlbWVudC5kb3dubG9hZCA9IGBzY3JlZW5zaG90LnBuZ2A7CiAgICAgIGVsc2UgaHJlZkVsZW1lbnQuZG93bmxvYWQgPSB0aGlzLmNhcHR1cmVGaWxlbmFtZTsKICAgICAgaHJlZkVsZW1lbnQuaHJlZiA9IHNjcmVlbnNob3Q7CiAgICAgIGhyZWZFbGVtZW50LmNsaWNrKCk7CiAgICAgIGhyZWZFbGVtZW50LnJlbW92ZSgpOwogICAgfSwKICAgIC8qKgogICAgICogRnVuY3Rpb24gZm9yIGNhcHR1cmluZyBhIHNjcmVlbnNob3Qgb2YgdGhlIGN1cnJlbnQgcmVuZGVyaW5nLgogICAgICoKICAgICAqIEBwYXJhbSB7U3RyaW5nfSBmaWxlbmFtZSBmaWxlbmFtZSBnaXZlbiB0byB0aGUgc2NyZWVuc2hvdC4KICAgICAqCiAgICAgKiBAcHVibGljCiAgICAgKi8KICAgIGNhcHR1cmVTY3JlZW5zaG90OiBmdW5jdGlvbihmaWxlbmFtZSkgewogICAgICB0aGlzLmNhcHR1cmVGaWxlbmFtZSA9IGZpbGVuYW1lOwogICAgICB0aGlzLmNhcHR1cmVJRCA9IHRoaXMuJG1vZHVsZS56aW5jUmVuZGVyZXIuYWRkUG9zdFJlbmRlckNhbGxiYWNrRnVuY3Rpb24oCiAgICAgICAgdGhpcy5jYXB0dXJlU2NyZWVuc2hvdENhbGxiYWNrCiAgICAgICk7CiAgICB9LAogICAgZm9ybWF0VG9vbHRpcCh2YWwpIHsKICAgICAgaWYgKHRoaXMudGltZU1heCA+PSAxMDAwKSB7CiAgICAgICAgaWYgKHZhbCkgewogICAgICAgICAgbGV0IHNlYyA9ICgodmFsICUgNjAwMDApIC8gMTAwMCkudG9GaXhlZCgyKSArICJzIjsKICAgICAgICAgIGxldCBtaW4gPSB2YWwgPiA2MDAwMCA/ICh2YWwgLyA2MDAwMCkudG9GaXhlZCgwKSArICJtICIgOiAiIjsKICAgICAgICAgIHJldHVybiBtaW4gKyBzZWM7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiB2YWwgPyB2YWwudG9GaXhlZCgyKSArICIgbXMiIDogIjAgbXMiOwogICAgfSwKICAgIC8qKgogICAgICogRnVuY3Rpb24gdG8gcmVzZXQgdGhlIHZpZXcgdG8gZGVmYXVsdC4KICAgICAqIEFsc28gY2FsbGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgYnV0dG9uIGlzIHByZXNzZWQuCiAgICAgKgogICAgICogQHB1YmxpYwogICAgICovCiAgICBmaXRXaW5kb3c6IGZ1bmN0aW9uKCkgewogICAgICBpZiAodGhpcy4kbW9kdWxlLnNjZW5lKSB7CiAgICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLnZpZXdBbGwoKTsKICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogRnVuY3Rpb24gdG8gem9vbSBpbi4KICAgICAqIEFsc28gY2FsbGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgYnV0dG9uIGlzIHByZXNzZWQuCiAgICAgKgogICAgICogQHB1YmxpYwogICAgICovCiAgICB6b29tSW46IGZ1bmN0aW9uKCkgewogICAgICBpZiAodGhpcy4kbW9kdWxlLnNjZW5lKSB7CiAgICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLmNoYW5nZVpvb21CeVNjcm9sbFJhdGVVbml0KC0xKTsKICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogRnVuY3Rpb24gdG8gem9vbSBvdXQuCiAgICAgKiBBbHNvIGNhbGxlZCB3aGVuIHRoZSBhc3NvY2lhdGVkIGJ1dHRvbiBpcyBwcmVzc2VkLgogICAgICoKICAgICAqIEBwdWJsaWMKICAgICAqLwogICAgem9vbU91dDogZnVuY3Rpb24oKSB7CiAgICAgIGlmICh0aGlzLiRtb2R1bGUuc2NlbmUpIHsKICAgICAgICB0aGlzLiRtb2R1bGUuc2NlbmUuY2hhbmdlWm9vbUJ5U2Nyb2xsUmF0ZVVuaXQoMSk7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIEZ1bmN0aW9uIHRvIGNoYW5nZSB0aGUgY3VycmVudCBwbGF5IHNwZWVkLgogICAgICoKICAgICAqIEBwdWJsaWMKICAgICAqLwogICAgc3BlZWRDaGFuZ2VkOiBmdW5jdGlvbihzcGVlZCkgewogICAgICB0aGlzLmN1cnJlbnRTcGVlZCA9IHNwZWVkOwogICAgICB0aGlzLiRtb2R1bGUuc2V0UGxheVJhdGUodGhpcy5kZWZhdWx0UmF0ZSAqIHRoaXMuY3VycmVudFNwZWVkKTsKICAgIH0sCiAgICAvKioKICAgICAqIEZ1bmN0aW9uIHVzZWQgdG8gc3RvcCB0aGUgZnJlZSBzcGluCiAgICAgKgogICAgICogQHB1YmxpYwogICAgICovCiAgICBzdG9wRnJlZVNwaW46IGZ1bmN0aW9uKCkgewogICAgICBsZXQgY2FtZXJhY29udHJvbCA9IHRoaXMuJG1vZHVsZS5zY2VuZS5nZXRaaW5jQ2FtZXJhQ29udHJvbHMoKTsKICAgICAgY2FtZXJhY29udHJvbC5zdG9wQXV0b1R1bWJsZSgpOwogICAgICB0aGlzLmlzVHJhbnNpdGlvbmluZyA9IGZhbHNlOwogICAgfSwKICAgIGZpbmRPYmplY3RzV2l0aEdyb3VwTmFtZTogZnVuY3Rpb24obmFtZSkgewogICAgICBsZXQgb2JqZWN0cyA9IFtdOwogICAgICBpZiAobmFtZSAmJiBuYW1lICE9ICIiICYmIHRoaXMuJG1vZHVsZS5zY2VuZSkgewogICAgICAgIG9iamVjdHMgPSB0aGlzLiRtb2R1bGUuc2NlbmUuZmluZE9iamVjdHNXaXRoR3JvdXBOYW1lKG5hbWUpOwogICAgICB9CiAgICAgIHJldHVybiBvYmplY3RzOwogICAgfSwKICAgIC8qKgogICAgICogRm9jdXMgb24gbmFtZWQgcmVnaW9uCiAgICAgKi8KICAgIHZpZXdSZWdpb246IGZ1bmN0aW9uKG5hbWVzKSB7CiAgICAgIGNvbnN0IHJvb3RSZWdpb24gPSB0aGlzLiRtb2R1bGUuc2NlbmUuZ2V0Um9vdFJlZ2lvbigpOwogICAgICBjb25zdCBncm91cHMgPSBBcnJheS5pc0FycmF5KG5hbWVzKSA/IG5hbWVzIDogW25hbWVzXTsKICAgICAgY29uc3Qgb2JqZWN0cyA9IGZpbmRPYmplY3RzV2l0aE5hbWVzKHJvb3RSZWdpb24sIGdyb3VwcywgIiIsIHRydWUpOwogICAgICBsZXQgYm94ID0gdGhpcy4kbW9kdWxlLnNjZW5lLmdldEJvdW5kaW5nQm94T2ZaaW5jT2JqZWN0cyhvYmplY3RzKTsKICAgICAgaWYgKGJveCkgewogICAgICAgIGlmICh0aGlzLiRtb2R1bGUuaXNTeW5jQ29udHJvbCgpKSB7CiAgICAgICAgICB0aGlzLiRtb2R1bGUuc2V0U3luY0NvbnRyb2xab29tVG9Cb3goYm94KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgY29uc3QgZGlzdCA9IHRoaXMuJG1vZHVsZS5zY2VuZS5jYW1lcmEuZmFyIC0gdGhpcy4kbW9kdWxlLnNjZW5lLmNhbWVyYS5uZWFyOwogICAgICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLnZpZXdBbGxXaXRoQm91bmRpbmdCb3goYm94KTsKICAgICAgICAgIHRoaXMuJG1vZHVsZS5zY2VuZS5jYW1lcmEuZmFyID0gdGhpcy4kbW9kdWxlLnNjZW5lLmNhbWVyYS5uZWFyICsgZGlzdDsKICAgICAgICAgIHRoaXMuJG1vZHVsZS5zY2VuZS5jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICByZXR1cm4gZmFsc2U7CiAgICB9LAogICAgc2V0Rm9jdXNlZFJlZ2lvbjogZnVuY3Rpb24obmFtZSkgewogICAgICBpZiAobmFtZSkgewogICAgICAgIGlmICh0aGlzLmlzUmVhZHkpIHsKICAgICAgICAgIHRoaXMudmlld1JlZ2lvbihuYW1lKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy4kbW9kdWxlLnNldEZpbmlzaERvd25sb2FkQ2FsbGJhY2soCiAgICAgICAgICAgIHRoaXMuc2V0VVJMRmluaXNoQ2FsbGJhY2soeyByZWdpb246IG5hbWUgfSkKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgdXBkYXRlVmlld1VSTDogZnVuY3Rpb24odmlld1VSTCkgewogICAgICBpZiAodmlld1VSTCkgewogICAgICAgIGlmICh0aGlzLmlzUmVhZHkpIHsKICAgICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodmlld1VSTCwgdGhpcy51cmwpOwogICAgICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLmxvYWRWaWV3VVJMKHVybCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuJG1vZHVsZS5zZXRGaW5pc2hEb3dubG9hZENhbGxiYWNrKAogICAgICAgICAgICB0aGlzLnNldFVSTEZpbmlzaENhbGxiYWNrKHsgdmlld1VSTDogdmlld1VSTCB9KQogICAgICAgICAgKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBnZXRSZW5kZXJlckluZm86IGZ1bmN0aW9uKCkgewogICAgICBpZiAodGhpcy4kbW9kdWxlLnppbmNSZW5kZXJlcikgewogICAgICAgIHJldHVybiB0aGlzLiRtb2R1bGUuemluY1JlbmRlcmVyLmdldFRocmVlSlNSZW5kZXJlcigpLmluZm87CiAgICAgIH0KICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgIH0sCiAgICAvKioKICAgICAqIEZ1bmN0aW9uIHVzZWQgdG8gcm90YXRlIHRoZSBzY2VuZS4KICAgICAqIEFsc28gY2FsbGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgYnV0dG9uIGlzIHByZXNzZWQuCiAgICAgKgogICAgICogQHB1YmxpYwogICAgICovCiAgICBmcmVlU3BpbjogZnVuY3Rpb24oKSB7CiAgICAgIGlmICh0aGlzLiRtb2R1bGUuc2NlbmUpIHsKICAgICAgICBsZXQgY2FtZXJhY29udHJvbCA9IHRoaXMuJG1vZHVsZS5zY2VuZS5nZXRaaW5jQ2FtZXJhQ29udHJvbHMoKTsKICAgICAgICB0aGlzLmlzVHJhbnNpdGlvbmluZyA9IHRydWU7CiAgICAgICAgY2FtZXJhY29udHJvbC5lbmFibGVBdXRvVHVtYmxlKCk7CiAgICAgICAgY2FtZXJhY29udHJvbC5hdXRvVHVtYmxlKFsxLjAsIDAuMF0sIE1hdGguUEksIHRydWUpOwogICAgICAgIHNldFRpbWVvdXQodGhpcy5zdG9wRnJlZVNwaW4sIDQwMDApOwogICAgICB9CiAgICB9LAogICAgLyoqCiAgICAgKiBDYWxsYmFjayB3aGVuIGEgcmVnaW9uIGlzIHNlbGVjdGVkL2hpZ2hsaWdodGVkLgogICAgICogSXQgd2lsbCBhbHNvIHVwZGF0ZSBvdGhlciBjb250cm9scy4KICAgICAqIAogICAgICovCiAgICBldmVudE5vdGlmaWVyQ2FsbGJhY2s6IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgIGNvbnN0IG5hbWVzID0gW107CiAgICAgIGxldCB6aW5jT2JqZWN0cyA9IFtdOwogICAgICBjb25zdCByZWdpb24gPSB1bmRlZmluZWQ7CiAgICAgIGlmIChldmVudC5ldmVudFR5cGUgPT0gMSB8fCBldmVudC5ldmVudFR5cGUgPT0gMikgewogICAgICAgIGV2ZW50LmlkZW50aWZpZXJzLmZvckVhY2goaWRlbnRpZmllciA9PiB7CiAgICAgICAgICBpZiAoaWRlbnRpZmllcikgewogICAgICAgICAgICBsZXQgaWQgPSBpZGVudGlmaWVyLmRhdGEuaWQKICAgICAgICAgICAgICA/IGlkZW50aWZpZXIuZGF0YS5pZAogICAgICAgICAgICAgIDogaWRlbnRpZmllci5kYXRhLmdyb3VwOwogICAgICAgICAgICBuYW1lcy5wdXNoKGlkKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICB6aW5jT2JqZWN0cyA9IGV2ZW50LnppbmNPYmplY3RzOwogICAgICB9CiAgICAgIC8qCiAgICAgICAqIEV2ZW50IFR5cGUgMTogU2VsZWN0ZWQKICAgICAgICogRXZlbnQgVHlwZSAyOiBIaWdobGlnaHRlZAogICAgICAgKiBFdmVudCBUeXBlIDE6IE1vdmUKICAgICAgICovCiAgICAgIGlmIChldmVudC5ldmVudFR5cGUgPT0gMSkgewogICAgICAgIGlmICh0aGlzLiRyZWZzLnRyZWVDb250cm9scykgewogICAgICAgICAgaWYgKG5hbWVzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgLy90aGlzLiRyZWZzLnRyZWVDb250cm9scy5jaGFuZ2VBY3RpdmVCeU5hbWVzKG5hbWVzLCByZWdpb24sIGZhbHNlKTsKICAgICAgICAgICAgdGhpcy4kcmVmcy50cmVlQ29udHJvbHMudXBkYXRlQWN0aXZlVUkoemluY09iamVjdHMpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGhpcy5oaWRlUmVnaW9uVG9vbHRpcCgpOwogICAgICAgICAgICB0aGlzLiRyZWZzLnRyZWVDb250cm9scy5yZW1vdmVBY3RpdmUodHJ1ZSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIFRyaWdnZXJzIHdoZW4gYW4gb2JqZWN0IGhhcyBiZWVuIHNlbGVjdGVkCiAgICAgICAgdGhpcy4kZW1pdCgic2NhZmZvbGQtc2VsZWN0ZWQiLCBldmVudC5pZGVudGlmaWVycyk7CiAgICAgIH0gZWxzZSBpZiAoZXZlbnQuZXZlbnRUeXBlID09IDIpIHsKICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9iamVjdHMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICB0aGlzLmhpZGVSZWdpb25Ub29sdGlwKCk7CiAgICAgICAgLy8gY29uc3Qgb2Zmc2V0cyA9IHRoaXMuJHJlZnMuc2NhZmZvbGRDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgICBpZiAodGhpcy4kcmVmcy50cmVlQ29udHJvbHMpIHsKICAgICAgICAgICAgaWYgKG5hbWVzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAvL3RoaXMuJHJlZnMudHJlZUNvbnRyb2xzLmNoYW5nZUhvdmVyQnlOYW1lcyhuYW1lcywgcmVnaW9uLCBmYWxzZSk7CiAgICAgICAgICAgICAgdGhpcy4kcmVmcy50cmVlQ29udHJvbHMudXBkYXRlSG92ZXJVSSh6aW5jT2JqZWN0cyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgdGhpcy4kcmVmcy50cmVlQ29udHJvbHMucmVtb3ZlSG92ZXIodHJ1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGlmICgoZXZlbnQuaWRlbnRpZmllcnMubGVuZ3RoID4gMCkgJiYgZXZlbnQuaWRlbnRpZmllcnNbMF0pIHsKICAgICAgICAgICAgbGV0IGlkID0gZXZlbnQuaWRlbnRpZmllcnNbMF0uZGF0YS5pZAogICAgICAgICAgICAgID8gZXZlbnQuaWRlbnRpZmllcnNbMF0uZGF0YS5pZAogICAgICAgICAgICAgIDogZXZlbnQuaWRlbnRpZmllcnNbMF0uZGF0YS5ncm91cDsKICAgICAgICAgICAgaWYgKGV2ZW50LmlkZW50aWZpZXJzWzBdLmNvb3JkcykgewogICAgICAgICAgICAgIHRoaXMudERhdGEudmlzaWJsZSA9IHRydWU7CiAgICAgICAgICAgICAgdGhpcy50RGF0YS5sYWJlbCA9IGlkOwogICAgICAgICAgICAgIGlmIChldmVudC5pZGVudGlmaWVyc1swXS5kYXRhLnJlZ2lvbikKICAgICAgICAgICAgICAgIHRoaXMudERhdGEucmVnaW9uID0gZXZlbnQuaWRlbnRpZmllcnNbMF0uZGF0YS5yZWdpb247CiAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgdGhpcy50RGF0YS5yZWdpb24gPSAiUm9vdCI7CiAgICAgICAgICAgICAgdGhpcy50RGF0YS54ID0gZXZlbnQuaWRlbnRpZmllcnNbMF0uY29vcmRzLng7CiAgICAgICAgICAgICAgdGhpcy50RGF0YS55ICA9IGV2ZW50LmlkZW50aWZpZXJzWzBdLmNvb3Jkcy55OwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICAvLyBUcmlnZ2VycyB3aGVuIGFuIG9iamVjdCBoYXMgYmVlbiBoaWdobGlnaHRlZAogICAgICAgICAgdGhpcy4kZW1pdCgic2NhZmZvbGQtaGlnaGxpZ2h0ZWQiLCBldmVudC5pZGVudGlmaWVycyk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKGV2ZW50LmV2ZW50VHlwZSA9PSAzKSAgeyAvL01PVkUKICAgICAgICBpZiAoKGV2ZW50LmlkZW50aWZpZXJzLmxlbmd0aCA+IDApICYmIGV2ZW50LmlkZW50aWZpZXJzWzBdKSB7CiAgICAgICAgICBpZiAoZXZlbnQuaWRlbnRpZmllcnNbMF0uY29vcmRzKSB7CiAgICAgICAgICAgIGNvbnN0IG9mZnNldHMgPSB0aGlzLiRyZWZzLnNjYWZmb2xkQ29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICAgICAgICB0aGlzLnREYXRhLnggPSBldmVudC5pZGVudGlmaWVyc1swXS5jb29yZHMueCAtIG9mZnNldHMubGVmdDsKICAgICAgICAgICAgdGhpcy50RGF0YS55ID0gZXZlbnQuaWRlbnRpZmllcnNbMF0uY29vcmRzLnkgLSBvZmZzZXRzLnRvcDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIEdldCB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgcmVnaW9uLgogICAgICoKICAgICAqIEBwdWJsaWMKICAgICAqLwogICAgZ2V0Q29vcmRpbmF0ZXNPZlNlbGVjdGVkOiBmdW5jdGlvbigpIHsKICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPYmplY3RzICYmIHRoaXMuc2VsZWN0ZWRPYmplY3RzLmxlbmd0aCA+IDApIHsKICAgICAgICByZXR1cm4gdGhpcy4kbW9kdWxlLnNjZW5lLmdldE9iamVjdHNTY3JlZW5YWSh0aGlzLnNlbGVjdGVkT2JqZWN0cyk7CiAgICAgIH0KICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgIH0sCiAgICAvKioKICAgICAqIFJldHVybiBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgd2luZG93IGNvb3JkaW5hdGVzIG9mIHRoZQogICAgICogY3VycmVudCBzZWxlY3RlZCByZWdpb24gd2hpY2ggd2lsbCBiZSB1cGRhdGVkIGFmdGVyIGVhY2ggcmVuZGVyCiAgICAgKiBsb29wLgogICAgICoKICAgICAqIEBwdWJsaWMKICAgICAqLwogICAgZ2V0RHluYW1pY1NlbGVjdGVkQ29vcmRpbmF0ZXM6IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gdGhpcy4kbW9kdWxlLnNlbGVjdGVkU2NyZWVuQ29vcmRpbmF0ZXM7CiAgICB9LAogICAgLyoqCiAgICAgKiBDYWxsYmFjayB3aGVuIHRpbWUgaXMgY2hhbmdlZCB0aHJvdWdoIHRoZSBVSS4KICAgICAqLwogICAgdGltZUNoYW5nZTogZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgbGV0IG5vcm1hbGl6ZWRUaW1lID0gKGV2ZW50IC8gdGhpcy50aW1lTWF4KSAqIDEwMDsKICAgICAgaWYgKG5vcm1hbGl6ZWRUaW1lICE9IHRoaXMuc2NlbmVEYXRhLmN1cnJlbnRUaW1lKQogICAgICAgIHRoaXMuJG1vZHVsZS51cGRhdGVUaW1lKG5vcm1hbGl6ZWRUaW1lKTsKICAgIH0sCiAgICAvKioKICAgICAqIEEgY2FsbGJhY2sgdXNlZCBieSBjaGlsZHJlbiBjb21wb25lbnRzLiBTZXQgdGhlIHNlbGVjdGVkIHppbmMgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIHtvYmplY3R9IG9iamVjdCBaaW5jIG9iamVjdAogICAgICovCiAgICBvYmplY3RTZWxlY3RlZDogZnVuY3Rpb24ob2JqZWN0cywgcHJvcGFnYXRlKSB7CiAgICAgIHRoaXMuc2VsZWN0ZWRPYmplY3RzID0gb2JqZWN0czsKICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPYmplY3RzICYmIHRoaXMuc2VsZWN0ZWRPYmplY3RzLmxlbmd0aCA+IDApCiAgICAgICAgdGhpcy4kcmVmcy5vcGFjaXR5Q29udHJvbC5zZXRPYmplY3QodGhpcy5zZWxlY3RlZE9iamVjdHNbMF0pOwogICAgICB0aGlzLiRtb2R1bGUuc2V0U2VsZWN0ZWRCeVppbmNPYmplY3RzKG9iamVjdHMsIHVuZGVmaW5lZCwgcHJvcGFnYXRlKTsKICAgIH0sCiAgICAvKioKICAgICAqIEEgY2FsbGJhY2sgdXNlZCBieSBjaGlsZHJlbiBjb21wb25lbnRzLiBTZXQgdGhlIGhpZ2hsaWdodGVkIHppbmMgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIHtvYmplY3R9IG9iamVjdCBaaW5jIG9iamVjdAogICAgICovCiAgICBvYmplY3RIb3ZlcmVkOiBmdW5jdGlvbihvYmplY3RzLCBwcm9wYWdhdGUpIHsKICAgICAgdGhpcy5ob3ZlcmVkT2JqZWN0cyA9IG9iamVjdHM7CiAgICAgIHRoaXMuJG1vZHVsZS5zZXRIaWdobGlnaHRlZEJ5WmluY09iamVjdHMob2JqZWN0cywgdW5kZWZpbmVkLCBwcm9wYWdhdGUpOwogICAgfSwKICAgIC8qKgogICAgICogU2V0IHRoZSBzZWxlY3RlZCBieSBuYW1lLgogICAgICoKICAgICAqIEBwYXJhbSB7fSBuYW1lIE5hbWUgb2YgdGhlIGdyb3VwCiAgICAgKi8KICAgIGNoYW5nZUFjdGl2ZUJ5TmFtZTogZnVuY3Rpb24obmFtZXMsIHJlZ2lvbiwgcHJvcGFnYXRlKSB7CiAgICAgIGNvbnN0IGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KG5hbWVzKTsKICAgICAgaWYgKG5hbWVzID09PSB1bmRlZmluZWQgfHwgKGlzQXJyYXkgJiYgbmFtZXMubGVuZ3RoID09PSAwKSkgewogICAgICAgIHRoaXMuJHJlZnMudHJlZUNvbnRyb2xzLnJlbW92ZUFjdGl2ZShwcm9wYWdhdGUpOwogICAgICB9IGVsc2UgewogICAgICAgIGxldCBhcnJheSA9IG5hbWVzOwogICAgICAgIGlmICghaXNBcnJheSkKICAgICAgICAgIGFycmF5ID0gW2FycmF5XTsKICAgICAgICB0aGlzLiRyZWZzLnRyZWVDb250cm9scy5jaGFuZ2VBY3RpdmVCeU5hbWVzKGFycmF5LCByZWdpb24sIHByb3BhZ2F0ZSk7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIFNldCB0aGUgaGlnaGxpZ2h0ZWQgYnkgbmFtZS4KICAgICAqCiAgICAgKiBAcGFyYW0ge25hbWV9IG5hbWUgTmFtZSBvZiB0aGUgZ3JvdXAKICAgICAqLwogICAgY2hhbmdlSGlnaGxpZ2h0ZWRCeU5hbWU6IGZ1bmN0aW9uKG5hbWVzLCByZWdpb24sIHByb3BhZ2F0ZSkgewogICAgICBjb25zdCBpc0FycmF5ID0gQXJyYXkuaXNBcnJheShuYW1lcyk7CiAgICAgIGlmIChuYW1lcyA9PT0gdW5kZWZpbmVkIHx8IChpc0FycmF5ICYmIG5hbWVzLmxlbmd0aCA9PT0gMCkpIHsKICAgICAgICB0aGlzLiRyZWZzLnRyZWVDb250cm9scy5yZW1vdmVIb3Zlcihwcm9wYWdhdGUpOwogICAgICB9IGVsc2UgewogICAgICAgIGxldCBhcnJheSA9IG5hbWVzOwogICAgICAgIGlmICghaXNBcnJheSkKICAgICAgICAgIGFycmF5ID0gW2FycmF5XTsKICAgICAgICB0aGlzLiRyZWZzLnRyZWVDb250cm9scy5jaGFuZ2VIb3ZlckJ5TmFtZXMoYXJyYXksIHJlZ2lvbiwgcHJvcGFnYXRlKTsKICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogU3RhcnQgdGhlIGFuaW1hdGlvbi4KICAgICAqCiAgICAgKiBAcGFyYW0ge29iamVjdH0gb2JqZWN0IFppbmMgb2JqZWN0CiAgICAgKi8KICAgIHBsYXk6IGZ1bmN0aW9uKGZsYWcpIHsKICAgICAgdGhpcy4kbW9kdWxlLnBsYXlBbmltYXRpb24oZmxhZyk7CiAgICAgIHRoaXMuaXNQbGF5aW5nID0gZmxhZzsKICAgICAgLy9IaWRlIHRvb2x0aXAgYXMgbG9jYXRpb24gbWF5CiAgICAgIC8vdGhpcy5oaWRlUmVnaW9uVG9vbHRpcCgpOwogICAgfSwKICAgIC8qKgogICAgICogRnVuY3Rpb24gdG8gdG9nZ2xlIG9uL29mZiBvdmVybGF5IGhlbHAuCiAgICAgKi8KICAgIHNldEhlbHBNb2RlOiBmdW5jdGlvbihoZWxwTW9kZSkgewogICAgICBpZiAoaGVscE1vZGUpIHsKICAgICAgICB0aGlzLmluSGVscCA9IHRydWU7CiAgICAgICAgdGhpcy5ob3ZlclZpc2liaWxpdGllcy5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgICAgaXRlbS52YWx1ZSA9IHRydWU7CiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5pbkhlbHAgPSBmYWxzZTsKICAgICAgICB0aGlzLmhvdmVyVmlzaWJpbGl0aWVzLmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgICBpdGVtLnZhbHVlID0gZmFsc2U7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIHVzZWQgYnkgc2hvd1JlZ2lvblRvb2x0aXAgaW4gdGhlIGNhc2Ugd2hlbiB0aGUgdG9vbHRpcAogICAgICogaXMgb3V0IG9mIHZpZXcuCiAgICAgKi8KICAgIGRpc3BsYXlUb29sdGlwT2ZPYmplY3RzQ2FsbGJhY2s6IGZ1bmN0aW9uKG5hbWUsIG9iamVjdHMsIHJlc2V0VmlldywgbGl2ZVVwZGF0ZXMpIHsKICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzOwogICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgaW5zdGFuY2UuJG1vZHVsZS56aW5jUmVuZGVyZXIucmVtb3ZlUG9zdFJlbmRlckNhbGxiYWNrRnVuY3Rpb24oaW5zdGFuY2UuJF9yZWdpb25Ub29sdGlwQ2FsbGJhY2spOwogICAgICAgIGluc3RhbmNlLiRfcmVnaW9uVG9vbHRpcENhbGxiYWNrID0gdW5kZWZpbmVkOwogICAgICAgIGluc3RhbmNlLmRpc3BsYXlUb29sdGlwT2ZPYmplY3RzKG5hbWUsIG9iamVjdHMsIHJlc2V0VmlldywgbGl2ZVVwZGF0ZXMpOwogICAgICB9CiAgICB9LAogICAgbGl2ZVVwZGF0ZVRvb2x0aXBQb3NpdGlvbjogZnVuY3Rpb24oKSB7CiAgICAgIGlmICh0aGlzLiRtb2R1bGUuc2VsZWN0ZWRDZW50ZXIpIHsKICAgICAgICB0aGlzLnREYXRhLnggPSB0aGlzLiRtb2R1bGUuc2VsZWN0ZWRTY3JlZW5Db29yZGluYXRlcy54OwogICAgICAgIHRoaXMudERhdGEueSA9IHRoaXMuJG1vZHVsZS5zZWxlY3RlZFNjcmVlbkNvb3JkaW5hdGVzLnk7CiAgICAgIH0KICAgIH0sCiAgICBkaXNwbGF5VG9vbHRpcE9mT2JqZWN0czogZnVuY3Rpb24obmFtZSwgb2JqZWN0cywgcmVzZXRWaWV3LCBsaXZlVXBkYXRlcykgewogICAgICBpZiAob2JqZWN0cy5sZW5ndGggPiAwKSB7CiAgICAgICAgbGV0IGNvb3JkcyA9IG9iamVjdHNbMF0uZ2V0Q2xvc2VzdFZlcnRleERPTUVsZW1lbnRDb29yZHModGhpcy4kbW9kdWxlLnNjZW5lKTsKICAgICAgICBpZiAoY29vcmRzKSB7CiAgICAgICAgICAvL1RoZSBjb29yZHMgaXMgbm90IGluIHZpZXcsIHZpZXcgYWxsIGlmIHJlc2V0VmlldyBmbGFnIGlzIHRydWUKICAgICAgICAgIGlmICghY29vcmRzLmluVmlldykgewogICAgICAgICAgICB0aGlzLmhpZGVSZWdpb25Ub29sdGlwKCk7CiAgICAgICAgICAgIGlmIChyZXNldFZpZXcpIHsKICAgICAgICAgICAgICB0aGlzLiRtb2R1bGUuc2NlbmUudmlld0FsbCgpOwogICAgICAgICAgICAgIC8vVXNlIHRoZSBwb3N0IHJlbmRlciBjYWxsYmFjayB0byBtYWtlIHN1cmUgdGhlIHNjZW5lIGhhcyBiZWVuIHVwZGF0ZWQKICAgICAgICAgICAgICAvL2JlZm9yZSBnZXR0aW5nIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcC4KICAgICAgICAgICAgICBpZiAodGhpcy4kX3JlZ2lvblRvb2x0aXBDYWxsYmFjaykgewogICAgICAgICAgICAgICAgdGhpcy4kbW9kdWxlLnppbmNSZW5kZXJlci5yZW1vdmVQb3N0UmVuZGVyQ2FsbGJhY2tGdW5jdGlvbih0aGlzLiRfcmVnaW9uVG9vbHRpcENhbGxiYWNrKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgdGhpcy4kX3JlZ2lvblRvb2x0aXBDYWxsYmFjayA9IAogICAgICAgICAgICAgICAgdGhpcy4kbW9kdWxlLnppbmNSZW5kZXJlci5hZGRQb3N0UmVuZGVyQ2FsbGJhY2tGdW5jdGlvbigKICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VG9vbHRpcE9mT2JqZWN0c0NhbGxiYWNrKG5hbWUsIG9iamVjdHMsIHJlc2V0VmlldywgbGl2ZVVwZGF0ZXMpCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLnREYXRhLnZpc2libGUgPSB0cnVlOwogICAgICAgICAgICB0aGlzLnREYXRhLmxhYmVsID0gbmFtZTsKICAgICAgICAgICAgdGhpcy50RGF0YS54ID0gY29vcmRzLnBvc2l0aW9uLng7CiAgICAgICAgICAgIHRoaXMudERhdGEueSA9IGNvb3Jkcy5wb3NpdGlvbi55OwogICAgICAgICAgICBjb25zdCByZWdpb25QYXRoID0gb2JqZWN0c1swXS5nZXRSZWdpb24oKS5nZXRGdWxsUGF0aCgpOwogICAgICAgICAgICBpZiAocmVnaW9uUGF0aCkKICAgICAgICAgICAgICB0aGlzLnREYXRhLnJlZ2lvbiA9IHJlZ2lvblBhdGg7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICB0aGlzLnREYXRhLnJlZ2lvbiA9ICJSb290IjsKICAgICAgICAgICAgaWYgKGxpdmVVcGRhdGVzKSB7CiAgICAgICAgICAgICAgdGhpcy4kbW9kdWxlLnNldHVwTGl2ZUNvb3JkaW5hdGVzKG9iamVjdHMpOwogICAgICAgICAgICAgIGlmICh0aGlzLiRfbGl2ZUNvb3JkaW5hdGVzVXBkYXRlZCkgewogICAgICAgICAgICAgICAgdGhpcy4kbW9kdWxlLnppbmNSZW5kZXJlci5yZW1vdmVQb3N0UmVuZGVyQ2FsbGJhY2tGdW5jdGlvbih0aGlzLiRfbGl2ZUNvb3JkaW5hdGVzVXBkYXRlZCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHRoaXMuJF9saXZlQ29vcmRpbmF0ZXNVcGRhdGVkID0gCiAgICAgICAgICAgICAgICB0aGlzLiRtb2R1bGUuemluY1JlbmRlcmVyLmFkZFBvc3RSZW5kZXJDYWxsYmFja0Z1bmN0aW9uKAogICAgICAgICAgICAgICAgICB0aGlzLmxpdmVVcGRhdGVUb29sdGlwUG9zaXRpb24pOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhpcy5oaWRlUmVnaW9uVG9vbHRpcCgpOwogICAgICByZXR1cm4gZmFsc2U7CiAgICB9LAogICAgLyoqCiAgICAgKiBEaXNwbGF5IHRoZSB0b29sdGlwLiBXaGVuIHJlc2V0VmlldyBpcyBzZXQgdG8gdHJ1ZSwgaXQgd2lsbCAKICAgICAqIHJlc2V0IHZpZXcgaWYgdGhlIHRvb2x0aXAgaXMgbm90IGluIHZpZXcuCiAgICAgKiBTZXR0aW5nIGxpdmVVcGRhdGVzIHRvIHRydWUgd2lsbCB1cGRhdGUgdGhlIHRvb2x0aXAgbG9jYXRpb24gCiAgICAgKiBhdCBldmVyeSByZW5kZXJpbmcgbG9vcC4KICAgICAqLwogICAgc2hvd1JlZ2lvblRvb2x0aXA6IGZ1bmN0aW9uKG5hbWUsIHJlc2V0VmlldywgbGl2ZVVwZGF0ZXMpIHsKICAgICAgaWYgKG5hbWUgJiYgdGhpcy4kbW9kdWxlLnNjZW5lKSB7CiAgICAgICAgY29uc3Qgcm9vdFJlZ2lvbiA9IHRoaXMuJG1vZHVsZS5zY2VuZS5nZXRSb290UmVnaW9uKCk7CiAgICAgICAgY29uc3QgZ3JvdXBzID0gW25hbWVdOwogICAgICAgIGNvbnN0IG9iamVjdHMgPSBmaW5kT2JqZWN0c1dpdGhOYW1lcyhyb290UmVnaW9uLCBncm91cHMsICIiLCB0cnVlKTsKICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5VG9vbHRpcE9mT2JqZWN0cyhuYW1lLCBvYmplY3RzLCByZXNldFZpZXcsIGxpdmVVcGRhdGVzKTsKICAgICAgfQogICAgICB0aGlzLmhpZGVSZWdpb25Ub29sdGlwKCk7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0sCiAgICBoaWRlUmVnaW9uVG9vbHRpcDogZnVuY3Rpb24oKSB7CiAgICAgIGlmICh0aGlzLiRfbGl2ZUNvb3JkaW5hdGVzVXBkYXRlZCkgewogICAgICAgIHRoaXMuJG1vZHVsZS56aW5jUmVuZGVyZXIucmVtb3ZlUG9zdFJlbmRlckNhbGxiYWNrRnVuY3Rpb24odGhpcy4kX2xpdmVDb29yZGluYXRlc1VwZGF0ZWQpOwogICAgICAgIC8vVW5zZXQgdGhlIHRyYWNraW5nCiAgICAgICAgdGhpcy4kbW9kdWxlLnNldHVwTGl2ZUNvb3JkaW5hdGVzKHVuZGVmaW5lZCk7CiAgICAgIH0KICAgICAgdGhpcy50RGF0YS52aXNpYmxlID0gZmFsc2U7CiAgICAgIHRoaXMudERhdGEucmVnaW9uID0gIlJvb3QiOwogICAgfSwKICAgIC8qKgogICAgICogVGhpcyBpcyBjYWxsZWQgd2hlbiBtb3VzZSBjdXJzb3IgZW50ZXJzIHN1cHBvcnRlZCBlbGVtZW50cwogICAgICogd2l0aCBoZWxwIHRvb3RsdGlwcy4KICAgICAqLwogICAgc2hvd0hlbHBUZXh0OiBmdW5jdGlvbihoZWxwVGV4dE51bWJlcikgewogICAgICBpZiAoIXRoaXMuaW5IZWxwKSB7CiAgICAgICAgdGhpcy5oZWxwVGV4dFdhaXQgPSBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgIHRoaXMuaG92ZXJWaXNpYmlsaXRpZXNbaGVscFRleHROdW1iZXJdLnZhbHVlID0gdHJ1ZTsKICAgICAgICB9LCA1MDApOwogICAgICB9CiAgICB9LAogICAgLyoqCiAgICAgKiBUaGlzIGlzIGNhbGxlZCB3aGVuIG1vdXNlIGN1cnNvciBleGl0cyBzdXBwb3J0ZWQgZWxlbWVudC4uCiAgICAgKi8KICAgIGhpZGVIZWxwVGV4dDogZnVuY3Rpb24oaGVscFRleHROdW1iZXIpIHsKICAgICAgaWYgKCF0aGlzLmluSGVscCkgewogICAgICAgIHRoaXMuaG92ZXJWaXNpYmlsaXRpZXNbaGVscFRleHROdW1iZXJdLnZhbHVlID0gZmFsc2U7CiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaGVscFRleHRXYWl0KTsKICAgICAgfQogICAgfSwKICAgIHNlYXJjaDogZnVuY3Rpb24odGV4dCwgZGlzcGxheUxhYmVsKSB7CiAgICAgIGlmICh0aGlzLiRfc2VhcmNoSW5kZXgpIHsKICAgICAgICBpZiAodGV4dCA9PT0gdW5kZWZpbmVkIHx8IHRleHQgPT09ICIiKSB7CiAgICAgICAgICB0aGlzLm9iamVjdFNlbGVjdGVkKFtdLCB0cnVlKTsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbGV0IHppbmNPYmplY3RSZXN1bHRzID0gdGhpcy4kX3NlYXJjaEluZGV4LnNlYXJjaCh0ZXh0KTsKICAgICAgICAgIGlmICh6aW5jT2JqZWN0UmVzdWx0cy5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIHRoaXMub2JqZWN0U2VsZWN0ZWQoemluY09iamVjdFJlc3VsdHMsIHRydWUpOwogICAgICAgICAgICBpZiAoZGlzcGxheUxhYmVsKSB7CiAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB6aW5jT2JqZWN0UmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKHppbmNPYmplY3RSZXN1bHRzW2ldICYmIHppbmNPYmplY3RSZXN1bHRzW2ldLmdyb3VwTmFtZSkgewogICAgICAgICAgICAgICAgICB0aGlzLnNob3dSZWdpb25Ub29sdGlwKHppbmNPYmplY3RSZXN1bHRzW2ldLmdyb3VwTmFtZSwgdHJ1ZSwgdHJ1ZSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLm9iamVjdFNlbGVjdGVkKFtdLCB0cnVlKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKICAgIC8qKgogICAgICogR2V0IHRoZSBsaXN0IG9mIHN1Z2dlc3RlZCB0ZXJtcwogICAgICovCiAgICBmZXRjaFN1Z2dlc3Rpb25zOiBmdW5jdGlvbih0ZXJtKSB7CiAgICAgIGlmKHRoaXMuJF9zZWFyY2hJbmRleCA9PT0gdW5kZWZpbmVkKQogICAgICAgIHJldHVybiBbXTsKICAgICAgcmV0dXJuIHRoaXMuJF9zZWFyY2hJbmRleC5hdXRvX3N1Z2dlc3QodGVybSk7CiAgICB9LAogICAgLyoqCiAgICAgKiBDYWxsZWQgd2hlbiBtaW5pbWFwIHNldHRpbmdzIGhhcyBjaGFuZ2VkLiBQYXNzIHRoZQogICAgICogcGFyYW1ldGVycyB0byBaaW5jSlMgYW5kIG1hcmtlZCBpdCBmb3IgdXBkYXRlLgogICAgICovCiAgICB1cGRhdGVNaW5pbWFwU2Npc3NvcjogZnVuY3Rpb24oKSB7CiAgICAgIE9iamVjdC5rZXlzKHRoaXMubWluaW1hcFNldHRpbmdzKS5mb3JFYWNoKGtleSA9PiB7CiAgICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLm1pbmltYXBTY2lzc29yW2tleV0gPSB0aGlzLm1pbmltYXBTZXR0aW5nc1trZXldOwogICAgICB9KTsKICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLm1pbmltYXBTY2lzc29yLnVwZGF0ZVJlcXVpcmVkID0gdHJ1ZTsKICAgIH0sCiAgICB1cGRhdGVTZXR0aW5nc2Zyb21TY2VuZTogZnVuY3Rpb24oKSB7CiAgICAgIHRoaXMuY3VycmVudFNwZWVkID0gMTsKICAgICAgdGhpcy4kbW9kdWxlLnNldFBsYXlSYXRlKHRoaXMuZGVmYXVsdFJhdGUpOwogICAgICB0aGlzLm9yZ2luYWxEdXJhdGlvbiA9IHRoaXMuJG1vZHVsZS5zY2VuZS5nZXRNZXRhZGF0YVRhZygKICAgICAgICAiT3JpZ2luYWxEdXJhdGlvbiIKICAgICAgKTsKICAgICAgdGhpcy5hbmltYXRlRHVyYXRpb24gPSB0aGlzLiRtb2R1bGUuc2NlbmUuZ2V0TWV0YWRhdGFUYWcoIkR1cmF0aW9uIik7CiAgICAgIGxldCB0aW1lU3RhbXBzID0gdGhpcy4kbW9kdWxlLnNjZW5lLmdldE1ldGFkYXRhVGFnKCJUaW1lU3RhbXBzIik7CiAgICAgIHRoaXMudGltZVN0YW1wcyA9IHt9OwogICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aW1lU3RhbXBzKSB7CiAgICAgICAgdGhpcy50aW1lU3RhbXBzW3RpbWVTdGFtcHNba2V5XV0gPSBrZXk7CiAgICAgIH0KICAgICAgdGhpcy50aW1lTWF4ID0gdGhpcy4kbW9kdWxlLnNjZW5lLmdldER1cmF0aW9uKCk7CiAgICB9LAogICAgc2V0VVJMRmluaXNoQ2FsbGJhY2s6IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgICAgcmV0dXJuICgpID0+IHsKICAgICAgICBpZiAob3B0aW9ucykgewogICAgICAgICAgaWYgKG9wdGlvbnMudmlld3BvcnQpIHsKICAgICAgICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lCiAgICAgICAgICAgICAgLmdldFppbmNDYW1lcmFDb250cm9scygpCiAgICAgICAgICAgICAgLnNldEN1cnJlbnRDYW1lcmFTZXR0aW5ncyhvcHRpb25zLnZpZXdwb3J0KTsKICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy52aWV3VVJMICYmIG9wdGlvbnMudmlld1VSTCAhPT0gIiIpIHsKICAgICAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChvcHRpb25zLnZpZXdVUkwsIHRoaXMudXJsKTsKICAgICAgICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLmxvYWRWaWV3VVJMKHVybCk7CiAgICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMucmVnaW9uICYmIG9wdGlvbnMucmVnaW9uICE9PSAiIikgewogICAgICAgICAgICB0aGlzLnZpZXdSZWdpb24ob3B0aW9ucy5yZWdpb24pOwogICAgICAgICAgfQogICAgICAgICAgaWYgKG9wdGlvbnMudmlzaWJpbGl0eSkgewogICAgICAgICAgICAvLyBTb21lIFVJcyBtYXkgbm90IGJlIHJlYWR5IGF0IHRoaXMgdGltZS4KICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gewogICAgICAgICAgICAgIHRoaXMuJHJlZnMudHJlZUNvbnRyb2xzLnNldFN0YXRlKG9wdGlvbnMudmlzaWJpbGl0eSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB0aGlzLnVwZGF0ZVNldHRpbmdzZnJvbVNjZW5lKCk7CiAgICAgICAgdGhpcy4kbW9kdWxlLnVwZGF0ZVRpbWUoMC4wMSk7CiAgICAgICAgdGhpcy4kbW9kdWxlLnVwZGF0ZVRpbWUoMCk7CiAgICAgICAgdGhpcy4kbW9kdWxlLnVuc2V0RmluaXNoRG93bmxvYWRDYWxsYmFjaygpOwogICAgICAgIHRoaXMuJGVtaXQoIm9uLXJlYWR5Iik7CiAgICAgICAgdGhpcy5pc1JlYWR5ID0gdHJ1ZTsKICAgICAgfTsKICAgIH0sCiAgICAvKioKICAgICAqIEZ1bmN0aW9uIHVzZWQgZm9yIGdldHRpbmcgdGhlIGN1cnJlbnQgc3RhdGVzIG9mIHRoZSBzY2VuZS4gVGhpcyBleHBvcnRlZCBzdGF0ZXMKICAgICAqIGNhbiBiZSBpbXBvcnRlZCB1c2luZyB0aGUgaW1wb3J0U3RhdGVzIG1ldGhvZC4KICAgICAqCiAgICAgKiBAcHVibGljCiAgICAgKi8KICAgIGdldFN0YXRlOiBmdW5jdGlvbigpIHsKICAgICAgbGV0IHN0YXRlID0gewogICAgICAgIGZvcm1hdDogdGhpcy5maWxlRm9ybWF0LAogICAgICAgIHVybDogdGhpcy5fY3VycmVudFVSTCwKICAgICAgICB2aWV3cG9ydDogdW5kZWZpbmVkLAogICAgICAgIHZpc2liaWxpdHk6IHVuZGVmaW5lZCwKICAgICAgfTsKICAgICAgaWYgKHRoaXMuJHJlZnMudHJlZUNvbnRyb2xzKQogICAgICAgIHN0YXRlLnZpc2liaWxpdHkgPSB0aGlzLiRyZWZzLnRyZWVDb250cm9scy5nZXRTdGF0ZSgpOwogICAgICBpZiAodGhpcy4kbW9kdWxlLnNjZW5lKSB7CiAgICAgICAgbGV0IHppbmNDYW1lcmFDb250cm9scyA9IHRoaXMuJG1vZHVsZS5zY2VuZS5nZXRaaW5jQ2FtZXJhQ29udHJvbHMoKTsKICAgICAgICBzdGF0ZS52aWV3cG9ydCA9IHppbmNDYW1lcmFDb250cm9scy5nZXRDdXJyZW50Vmlld3BvcnQoKTsKICAgICAgfQogICAgICByZXR1cm4gc3RhdGU7CiAgICB9LAogICAgLyoqCiAgICAgKiBGdW5jdGlvbiB1c2VkIGZvciBpbXBvcnRpbmcgdGhlIHN0YXRlcyBvZiB0aGUgc2NlbmUuIFRoaXMgZXhwb3J0ZWQgc3RhdGVzCiAgICAgKiBjYW4gYmUgaW1wb3J0ZWQgdXNpbmcgdGhlIHJlYWQgc3RhdGVzIG1ldGhvZC4KICAgICAqCiAgICAgKiBAcHVibGljCiAgICAgKi8KICAgIHNldFN0YXRlOiBmdW5jdGlvbihzdGF0ZSkgewogICAgICBpZiAoc3RhdGUpIHsKICAgICAgICBpZiAoc3RhdGUudXJsICYmIHN0YXRlLnVybCAhPT0gdGhpcy5fY3VycmVudFVSTCkgewogICAgICAgICAgdGhpcy5zZXRVUkxBbmRTdGF0ZShzdGF0ZS51cmwsIHsKICAgICAgICAgICAgZmlsZUZvcm1hdDogc3RhdGUuZmlsZUZvcm1hdCwKICAgICAgICAgICAgdmlld3BvcnQ6IHN0YXRlLnZpZXdwb3J0LAogICAgICAgICAgICB2aXNpYmlsaXR5OiBzdGF0ZS52aXNpYmlsaXR5CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKHN0YXRlLnZpZXdwb3J0IHx8IHN0YXRlLnZpc2liaWxpdHkpIHsKICAgICAgICAgICAgaWYgKHRoaXMuaXNSZWFkeSAmJiB0aGlzLiRtb2R1bGUuc2NlbmUpIHsKICAgICAgICAgICAgICBpZiAoc3RhdGUudmlld3BvcnQpCiAgICAgICAgICAgICAgICB0aGlzLiRtb2R1bGUuc2NlbmUKICAgICAgICAgICAgICAgICAgLmdldFppbmNDYW1lcmFDb250cm9scygpCiAgICAgICAgICAgICAgICAgIC5zZXRDdXJyZW50Q2FtZXJhU2V0dGluZ3Moc3RhdGUudmlld3BvcnQpOwogICAgICAgICAgICAgIGlmIChzdGF0ZS52aXNpYmlsaXR5KQogICAgICAgICAgICAgICAgdGhpcy4kcmVmcy50cmVlQ29udHJvbHMuc2V0U3RhdGUoc3RhdGUudmlzaWJpbGl0eSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgdGhpcy4kbW9kdWxlLnNldEZpbmlzaERvd25sb2FkQ2FsbGJhY2soCiAgICAgICAgICAgICAgICB0aGlzLnNldFVSTEZpbmlzaENhbGxiYWNrKHsKICAgICAgICAgICAgICAgICAgdmlld3BvcnQ6IHN0YXRlLnZpZXdwb3J0LAogICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBzdGF0ZS52aXNpYmlsaXR5CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBleHBvcnRHTFRGOiBmdW5jdGlvbihiaW5hcnkpIHsKICAgICAgcmV0dXJuIHRoaXMuJG1vZHVsZS5zY2VuZS5leHBvcnRHTFRGKGJpbmFyeSk7CiAgICB9LAogICAgLyoqCiAgICAgKiBGdW5jdGlvbiB1c2VkIGZvciByZWFkaW5nIGluIG5ldyBzY2FmZm9sZCBtZXRhZGF0YSBhbmQgYSBjdXN0b20KICAgICAqIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHdpbGwgaWdub3JlIHRoZSBzdGF0ZSBwcm9wIGFuZAogICAgICogcmVhZCBpbiB0aGUgbmV3IHVybC4KICAgICAqCiAgICAgKiBAcHVibGljCiAgICAgKi8KICAgIHNldFVSTEFuZFN0YXRlOiBmdW5jdGlvbihuZXdWYWx1ZSwgc3RhdGUpIHsKICAgICAgaWYgKG5ld1ZhbHVlICE9IHRoaXMuX2N1cnJlbnRVUkwpIHsKICAgICAgICBpZiAoc3RhdGUgJiYgc3RhdGUuZm9ybWF0KSB0aGlzLmZpbGVGb3JtYXQgPSBzdGF0ZS5mb3JtYXQ7CiAgICAgICAgbGV0IHZpZXdwb3J0ID0gc3RhdGUgJiYgc3RhdGUudmlld3BvcnQgPyBzdGF0ZS52aWV3cG9ydCA6IHVuZGVmaW5lZDsKICAgICAgICBsZXQgdmlzaWJpbGl0eSA9CiAgICAgICAgICBzdGF0ZSAmJiBzdGF0ZS52aXNpYmlsaXR5ID8gc3RhdGUudmlzaWJpbGl0eSA6IHVuZGVmaW5lZDsKICAgICAgICB0aGlzLl9jdXJyZW50VVJMID0gbmV3VmFsdWU7CiAgICAgICAgaWYgKHRoaXMuJHJlZnMudHJlZUNvbnRyb2xzKQogICAgICAgICAgdGhpcy4kcmVmcy50cmVlQ29udHJvbHMuY2xlYXIoKTsKICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOwogICAgICAgIHRoaXMuaXNSZWFkeSA9IGZhbHNlOwogICAgICAgIHRoaXMuJG1vZHVsZS5zZXRGaW5pc2hEb3dubG9hZENhbGxiYWNrKAogICAgICAgICAgdGhpcy5zZXRVUkxGaW5pc2hDYWxsYmFjayh7CiAgICAgICAgICAgIHZpZXdwb3J0OiB2aWV3cG9ydCwKICAgICAgICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvbiwKICAgICAgICAgICAgdmlld1VSTDogdGhpcy52aWV3VVJMLAogICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmlsaXR5CiAgICAgICAgICB9KQogICAgICAgICk7CiAgICAgICAgaWYgKHRoaXMuZmlsZUZvcm1hdCA9PT0gImdsdGYiKSB7CiAgICAgICAgICB0aGlzLiRtb2R1bGUubG9hZEdMVEZGcm9tVVJMKG5ld1ZhbHVlLCAic2NlbmUiLCB0cnVlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy4kbW9kdWxlLmxvYWRPcmdhbnNGcm9tVVJMKAogICAgICAgICAgICBuZXdWYWx1ZSwKICAgICAgICAgICAgdW5kZWZpbmVkLAogICAgICAgICAgICB1bmRlZmluZWQsCiAgICAgICAgICAgICJzY2VuZSIsCiAgICAgICAgICAgIHVuZGVmaW5lZCwKICAgICAgICAgICAgdHJ1ZQogICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgdGhpcy4kX3NlYXJjaEluZGV4LnJlbW92ZUFsbCgpOwogICAgICAgIHRoaXMuJF90ZW1wSWQgPSAxOwogICAgICAgIHRoaXMuaGlkZVJlZ2lvblRvb2x0aXAoKTsKICAgICAgICB0aGlzLiRtb2R1bGUuc2NlbmUuZGlzcGxheU1hcmtlcnMgPSB0aGlzLmRpc3BsYXlNYXJrZXJzOwogICAgICAgIHRoaXMuJG1vZHVsZS5zY2VuZS5mb3JjZVBpY2thYmxlT2JqZWN0c1VwZGF0ZSA9IHRydWU7CiAgICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLmRpc3BsYXlNaW5pbWFwID0gdGhpcy5kaXNwbGF5TWluaW1hcDsKICAgICAgICB0aGlzLnVwZGF0ZU1pbmltYXBTY2lzc29yKCk7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIEZ1bmN0aW9uIHVzZWQgZm9yIHJlYWRpbmcgaW4gbmV3IHNjYWZmb2xkIG1ldGFkYXRhLiBUaGlzIGZ1bmN0aW9uIHdpbGwgaWdub3JlCiAgICAgKiB0aGUgc3RhdGUgcHJvcCBhbmQgcmVhZCBpbiB0aGUgbmV3IHVybC4KICAgICAqCiAgICAgKiBAcHVibGljCiAgICAgKi8KICAgIHNldFVSTDogZnVuY3Rpb24obmV3VmFsdWUpIHsKICAgICAgdGhpcy5zZXRVUkxBbmRTdGF0ZShuZXdWYWx1ZSwgdW5kZWZpbmVkKTsKICAgIH0sCiAgICAvKioKICAgICAqIENhbGxiYWNrIHdoZW4gZHJhd2VyIGlzIHRvZ2dsZWQuCiAgICAgKi8KICAgIGRyYXdlclRvZ2dsZWQ6IGZ1bmN0aW9uKGZsYWcpIHsKICAgICAgdGhpcy5kcmF3ZXJPcGVuID0gZmxhZzsKICAgICAgdGhpcy5hZGp1c3RMYXlvdXQoKTsKICAgIH0sCiAgICAvKioKICAgICAqIENhbGxiYWNrIHVzaW5nIFJlc2l6ZU9ic2VydmVyLgogICAgICovCiAgICBhZGp1c3RMYXlvdXQ6IGZ1bmN0aW9uKCkgewogICAgICBsZXQgd2lkdGggPSB0aGlzLiRyZWZzLnNjYWZmb2xkQ29udGFpbmVyLmNsaWVudFdpZHRoOwogICAgICB0aGlzLm1pbmltaXNlZFNsaWRlciA9IHdpZHRoIDwgODEyOwogICAgICBpZiAodGhpcy5taW5pbWlzZWRTbGlkZXIpIHsKICAgICAgICB0aGlzLnNsaWRlclBvc2l0aW9uID0gdGhpcy5kcmF3ZXJPcGVuID8gInJpZ2h0IiA6ICJsZWZ0IjsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnNsaWRlclBvc2l0aW9uID0gIiI7CiAgICAgIH0KICAgIH0sCiAgICB0b2dnbGVSZW5kZXJpbmc6IGZ1bmN0aW9uKGZsYWcpIHsKICAgICAgaWYgKHRoaXMuJG1vZHVsZS56aW5jUmVuZGVyZXIpIHsKICAgICAgICBpZiAoZmxhZykgewogICAgICAgICAgdGhpcy4kbW9kdWxlLnppbmNSZW5kZXJlci5hbmltYXRlKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuJG1vZHVsZS56aW5jUmVuZGVyZXIuc3RvcEFuaW1hdGUoKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBmb3JjZVJlc2l6ZTogZnVuY3Rpb24oKSB7CiAgICAgIGlmICh0aGlzLiRtb2R1bGUuemluY1JlbmRlcmVyKSB7CiAgICAgICAgdGhpcy4kbW9kdWxlLnppbmNSZW5kZXJlci5vbldpbmRvd1Jlc2l6ZSgpOwogICAgICB9CiAgICB9LAogICAgc3luY0NvbnRyb2xDYWxsYmFjazogZnVuY3Rpb24oKSB7CiAgICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLiRtb2R1bGUuTkRDQ2FtZXJhQ29udHJvbC5nZXRQYW5ab29tKCk7CiAgICAgIGlmICh0aGlzLnREYXRhLnZpc2libGUpIHsKICAgICAgICB0aGlzLnNob3dSZWdpb25Ub29sdGlwKHRoaXMudERhdGEubGFiZWwpOwogICAgICB9CiAgICAgIHRoaXMuJGVtaXQoInNjYWZmb2xkLW5hdmlnYXRlZCIsIHBheWxvYWQpOwogICAgfSwKICAgIC8qKiAKICAgICAqIFJvdGF0ZSBtb2RlIC0gIm5vbmUiLCAiaG9yaXpvbnRhbCIsICJ2ZXJ0aWNhbCIsICJmcmVlIiBidXQKICAgICAqIGl0IHdpbGwgYmUgaWdub3JlZCBpZiBmbGFnIGlzIHNldCB0byBmYWxzZS4KICAgICAqLwogICAgdG9nZ2xlU3luY0NvbnRyb2w6IGZ1bmN0aW9uKGZsYWcsIHJvdGF0ZU1vZGUpIHsKICAgICAgdGhpcy4kbW9kdWxlLnRvZ2dsZVN5bmNDb250cm9sKGZsYWcsIHJvdGF0ZU1vZGUpOwogICAgICB0aGlzLiRtb2R1bGUuc2V0U3luY0NvbnRyb2xDYWxsYmFjayh0aGlzLnN5bmNDb250cm9sQ2FsbGJhY2spOwogICAgfQogIH0KfTsK"},{"version":3,"sources":["ScaffoldVuer.vue"],"names":[],"mappings":";AAwQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"ScaffoldVuer.vue","sourceRoot":"node_modules/@abi-software/scaffoldvuer/src/components","sourcesContent":["\n\n\n\n\n\n\n\n"]}]}