{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-eslint\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\jenkins\\workspace\\dataShare-fvue\\src\\mixins\\table.js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\mixins\\table.js","mtime":1737399333964},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\babel.config.js","mtime":1733906004399},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-eslint\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yUnVudGltZS5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCBfdG9Db25zdW1hYmxlQXJyYXkgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5LmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maW5kLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC1pbmRleC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmluY2x1ZGVzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNwbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZmlsdGVyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZmluZC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaW5jbHVkZXMuanMiOwppbXBvcnQgRElDVCBmcm9tICdAL3V0aWxzL2RpY3QnOwpleHBvcnQgZGVmYXVsdCB7CiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHRhYmxlRGF0YTogW10sCiAgICAgIC8vIOihqOagvOaVsOaNrgogICAgICB0b3RhbDogMCwKICAgICAgLy8g6KGo5qC85oC75p2h5pWwCiAgICAgIHRhYmxlTG9hZGluZzogZmFsc2UsCiAgICAgIC8vIOihqOagvGxvYWRpbmcKICAgICAgc2VsZWN0ZWRSb3dzOiBbXSwKICAgICAgLy8g5bey6YCJ6KGM5pWw5o2uCiAgICAgIGZpbHRlcnM6IHt9LAogICAgICBmaWx0ZXJzQ29uZmlnOiB7fSwKICAgICAgcXVlcnlQYXJhbXM6IHt9LAogICAgICBwYWdpbmF0aW9uOiB7CiAgICAgICAgLy8g5YiG6aG15Yid5aeL5YyW5pWw5o2uCiAgICAgICAgcGFnZTogMSwKICAgICAgICBwYWdlU2l6ZTogMjAKICAgICAgfSwKICAgICAgYnRuTG9hZGluZzogZmFsc2UsCiAgICAgIGN1cnJlbnRSb3c6IG51bGwsCiAgICAgIHBpY2tlck9wdGlvbnM6IHsKICAgICAgICBzaG9ydGN1dHM6IFt7CiAgICAgICAgICB0ZXh0OiAn5pyA6L+R5LiA5ZGoJywKICAgICAgICAgIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2socGlja2VyKSB7CiAgICAgICAgICAgIHZhciBlbmQgPSBuZXcgRGF0ZSgpOwogICAgICAgICAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpOwogICAgICAgICAgICBzdGFydC5zZXRUaW1lKHN0YXJ0LmdldFRpbWUoKSAtIDM2MDAgKiAxMDAwICogMjQgKiA3KTsKICAgICAgICAgICAgcGlja2VyLiRlbWl0KCdwaWNrJywgW3N0YXJ0LCBlbmRdKTsKICAgICAgICAgIH0KICAgICAgICB9LCB7CiAgICAgICAgICB0ZXh0OiAn5pyA6L+R5LiA5Liq5pyIJywKICAgICAgICAgIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2socGlja2VyKSB7CiAgICAgICAgICAgIHZhciBlbmQgPSBuZXcgRGF0ZSgpOwogICAgICAgICAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpOwogICAgICAgICAgICBzdGFydC5zZXRUaW1lKHN0YXJ0LmdldFRpbWUoKSAtIDM2MDAgKiAxMDAwICogMjQgKiAzMCk7CiAgICAgICAgICAgIHBpY2tlci4kZW1pdCgncGljaycsIFtzdGFydCwgZW5kXSk7CiAgICAgICAgICB9CiAgICAgICAgfSwgewogICAgICAgICAgdGV4dDogJ+acgOi/keS4ieS4quaciCcsCiAgICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKHBpY2tlcikgewogICAgICAgICAgICB2YXIgZW5kID0gbmV3IERhdGUoKTsKICAgICAgICAgICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKTsKICAgICAgICAgICAgc3RhcnQuc2V0VGltZShzdGFydC5nZXRUaW1lKCkgLSAzNjAwICogMTAwMCAqIDI0ICogOTApOwogICAgICAgICAgICBwaWNrZXIuJGVtaXQoJ3BpY2snLCBbc3RhcnQsIGVuZF0pOwogICAgICAgICAgfQogICAgICAgIH1dCiAgICAgIH0KICAgIH07CiAgfSwKICBjb21wdXRlZDogewogICAgLy8g5LuF5Yu+6YCJ5LiA5p2hCiAgICBpc1NpbmdsZTogZnVuY3Rpb24gaXNTaW5nbGUoKSB7CiAgICAgIHZhciBfdGhpcyRzZWxlY3RlZFJvd3M7CiAgICAgIHJldHVybiAoKF90aGlzJHNlbGVjdGVkUm93cyA9IHRoaXMuc2VsZWN0ZWRSb3dzKSA9PT0gbnVsbCB8fCBfdGhpcyRzZWxlY3RlZFJvd3MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzJHNlbGVjdGVkUm93cy5sZW5ndGgpID09PSAxOwogICAgfSwKICAgIC8vIOW3suWLvumAiQogICAgaXNTZWxlY3RlZDogZnVuY3Rpb24gaXNTZWxlY3RlZCgpIHsKICAgICAgdmFyIF90aGlzJHNlbGVjdGVkUm93czI7CiAgICAgIHJldHVybiAoKF90aGlzJHNlbGVjdGVkUm93czIgPSB0aGlzLnNlbGVjdGVkUm93cykgPT09IG51bGwgfHwgX3RoaXMkc2VsZWN0ZWRSb3dzMiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3RoaXMkc2VsZWN0ZWRSb3dzMi5sZW5ndGgpID4gMDsKICAgIH0sCiAgICBxdWVyeVBhcmFtc0tleTogZnVuY3Rpb24gcXVlcnlQYXJhbXNLZXkoKSB7CiAgICAgIC8vIOWIl+ihqOaQnOe0oue7keWumuWvueixoWtleQogICAgICByZXR1cm4gdGhpcy5wYXJhbXNLZXkgfHwgJ2ZpbHRlcnMnOwogICAgfSwKICAgIC8vIOaYr+WQpum7mOiupOaJp+ihjOWIl+ihqOaOpeWPo+afpeivogogICAgaW5pdFJlZnJlc2g6IGZ1bmN0aW9uIGluaXRSZWZyZXNoKCkgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICBpZiAodGhpcy5pbml0UmVmcmVzaCA9PT0gdHJ1ZSkgdGhpcy5yZWZyZXNoKCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBmaWx0ZXJEaWN0OiBmdW5jdGlvbiBmaWx0ZXJEaWN0KGRpY3RLZXksIHZhbCkgewogICAgICB2YXIgZGVmID0gewogICAgICAgIGxhYmVsOiAnJywKICAgICAgICB2YWx1ZTogdmFsCiAgICAgIH07CiAgICAgIGlmIChbbnVsbCwgdW5kZWZpbmVkLCAnJ10uaW5jbHVkZXModmFsKSkgewogICAgICAgIHJldHVybiBkZWY7CiAgICAgIH0KICAgICAgcmV0dXJuIERJQ1RbZGljdEtleV0uZmluZChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLnZhbHVlID09PSB2YWw7CiAgICAgIH0pIHx8IGRlZjsKICAgIH0sCiAgICAvKioNCiAgICAgKiBAZnVuYyDml7bpl7TpgInmi6nlmajpgInmi6nlm57osIPmlrnms5UNCiAgICAgKiBAZGVzYw0KICAgICAqICBkYXRlOiBbYXJyYXkgfCBzdHJpbmddOiAn5pel5pyf57uE5Lu26YCJ5Lit5pWw5o2uJywNCiAgICAgKiAga2V5cyBbYXJyYXkgfCBzdHJpbmddOiAn5a+55bqU5Y+C5pWw55qEa2V5JywNCiAgICAgKiAgbmVlZFRpbWUgW2Jvb2xlYW5dOiAn5Li65pe26Ze06Leo5bqm6YCJ5oup5pe277yM5piv5ZCm6ZyA6KaB5YaN5pyr5bC+5Zu65a6a5aKe5Yqg5pe25YiG56eSJw0KICAgICAqIH0NCiAgICAgKiBAcmV0dXJuIHt9DQogICAgICogQHBhcmFtIGRhdGUNCiAgICAgKiBAcGFyYW0ga2V5cw0KICAgICAqIEBwYXJhbSBuZWVkVGltZQ0KICAgICAqLwogICAgaGFuZGxlRGF0ZXM6IGZ1bmN0aW9uIGhhbmRsZURhdGVzKGRhdGUsIGtleSkgewogICAgICB2YXIgcGFyYW1zS2V5ID0gdGhpcy5xdWVyeVBhcmFtc0tleTsKICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0ZSkpIHsKICAgICAgICAvLyDml7bpl7Tot6jluqYKICAgICAgICB0aGlzW3BhcmFtc0tleV1ba2V5XSA9IFtkYXRlWzBdLCBkYXRlWzFdXTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyDljZXkuKrpgInmi6kKICAgICAgICAvLyB0aGlzW3BhcmFtc0tleV1ba2V5XSA9IGRhdGU7CiAgICAgIH0KICAgIH0sCiAgICBvblJlc2V0OiBmdW5jdGlvbiBvblJlc2V0KCkgewogICAgICB2YXIgcmVmcmVzaCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogdHJ1ZTsKICAgICAgdmFyIGRlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307CiAgICAgIHZhciBwYXJhbXNLZXkgPSB0aGlzLnF1ZXJ5UGFyYW1zS2V5OwogICAgICB0aGlzW3BhcmFtc0tleV0gPSBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIHRoaXMuJG9wdGlvbnMuZGF0YSgpW3BhcmFtc0tleV0pLCBkZWYpOwoKICAgICAgLy8g5LiN5YiG6aG15oOF5Ya1CiAgICAgIGlmICghdGhpcy5wYWdpbmF0aW9uKSB7CiAgICAgICAgcmVmcmVzaCAmJiB0aGlzLmdldERhdGEoKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhpcy5wYWdpbmF0aW9uLnBhZ2UgPT09IDE7CiAgICAgIHZhciBfdGhpcyQkcmVmcyRhcHBGaWx0ZSA9IHRoaXMuJHJlZnNbJ2FwcC1maWx0ZXInXS5oYW5kbGVEYXRhKHRoaXNbcGFyYW1zS2V5XSksCiAgICAgICAgc2VhcmNoUGFyYW1zID0gX3RoaXMkJHJlZnMkYXBwRmlsdGUucmVzXzsKICAgICAgdGhpcy5xdWVyeVBhcmFtcyA9IHRoaXMuaGFuZGxlUXVlcnlQYXJhbXMoc2VhcmNoUGFyYW1zLCB0aGlzLnBhZ2luYXRpb24pOwogICAgICByZWZyZXNoICYmIHRoaXMuZ2V0RGF0YSgpOwogICAgfSwKICAgIC8vIOafpeivoiBkYXRhOiDmn6Xor6LooajljZXmlbDmja4KICAgIG9uUXVlcnk6IGZ1bmN0aW9uIG9uUXVlcnkoc2VhcmNoQ29uZmlnLCBkYXRhKSB7CiAgICAgIHZhciBwYXJhbXNLZXkgPSB0aGlzLnF1ZXJ5UGFyYW1zS2V5OwogICAgICB0aGlzW3BhcmFtc0tleV0gPSBkYXRhOwogICAgICBpZiAoIXRoaXMucGFnaW5hdGlvbikgewogICAgICAgIHRoaXMuZ2V0RGF0YSgpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLnF1ZXJ5UGFyYW1zID0gdGhpcy5oYW5kbGVRdWVyeVBhcmFtcyhzZWFyY2hDb25maWcsIHsKICAgICAgICBwYWdlOiAxCiAgICAgIH0pOwogICAgICB0aGlzLmdldERhdGEoKTsKICAgIH0sCiAgICAvLyDliLfmlrAKICAgIHJlZnJlc2g6IGZ1bmN0aW9uIHJlZnJlc2goKSB7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIHZhciByZXNldFBhZ2VOdW0gPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IGZhbHNlOwogICAgICBpZiAocmVzZXRQYWdlTnVtKSB0aGlzLnBhZ2luYXRpb24ucGFnZSA9IDE7CiAgICAgIGlmICghdGhpcy5wYWdpbmF0aW9uKSB7CiAgICAgICAgdGhpcy5nZXREYXRhKCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICBpZiAoX3RoaXMuJHJlZnNbJ2FwcC1maWx0ZXInXSkgewogICAgICAgICAgdmFyIF90aGlzJCRyZWZzJGFwcEZpbHRlMiA9IF90aGlzLiRyZWZzWydhcHAtZmlsdGVyJ10uaGFuZGxlRGF0YShfdGhpc1tfdGhpcy5xdWVyeVBhcmFtc0tleV0pLAogICAgICAgICAgICByZXNfID0gX3RoaXMkJHJlZnMkYXBwRmlsdGUyLnJlc187CiAgICAgICAgICBfdGhpcy5xdWVyeVBhcmFtcyA9IF90aGlzLmhhbmRsZVF1ZXJ5UGFyYW1zKHJlc18sIF90aGlzLnBhZ2luYXRpb24pOwogICAgICAgIH0KICAgICAgICBfdGhpcy5nZXREYXRhKCk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOivt+axguWPguaVsOWkhOeQhgogICAgaGFuZGxlUXVlcnlQYXJhbXM6IGZ1bmN0aW9uIGhhbmRsZVF1ZXJ5UGFyYW1zKHBhcmFtcywgcGFnZUJlYW4pIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBxdWVyeXM6IF90b0NvbnN1bWFibGVBcnJheShwYXJhbXMgfHwgW10pLAogICAgICAgIHBhZ2VCZWFuOiBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIHRoaXMucGFnaW5hdGlvbiksIHBhZ2VCZWFuKSwKICAgICAgICBzb3J0ZXI6IHRoaXMuc29ydGVyID8gX3RvQ29uc3VtYWJsZUFycmF5KHRoaXMuc29ydGVyKSA6IFtdCiAgICAgIH07CiAgICB9LAogICAgLy8g6K+35rGC6Kem5Y+RCiAgICBnZXREYXRhOiBmdW5jdGlvbiBnZXREYXRhKHBhcmFtKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgICAgdmFyIHBhcmFtcywgcmVzLCBfcmVzLCByb3dzLCB0b3RhbCwgX3JlczIsIF9yZXMzOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF90aGlzMi5zZWxlY3RlZElkcyA9IFtdOwogICAgICAgICAgICAgIF90aGlzMi5zZWxlY3RlZFJvd3MgPSBbXTsKICAgICAgICAgICAgICBfdGhpczIudGFibGVMb2FkaW5nID0gdHJ1ZTsKICAgICAgICAgICAgICAvLyBjb25zdCBwYXJhbXMgPSB0aGlzLnF1ZXJ5UGFyYW1zIHx8IHRoaXMuaGFuZGxlUXVlcnlQYXJhbXMoW10sIHRoaXMucGFnaW5hdGlvbik7CgogICAgICAgICAgICAgIHR5cGVvZiBfdGhpczIub25CZWZvcmVHZXREYXRhID09PSAnZnVuY3Rpb24nICYmIF90aGlzMi5vbkJlZm9yZUdldERhdGEoX3RoaXMyLnF1ZXJ5UGFyYW1zLCBfdGhpczJbX3RoaXMyLnBhcmFtc0tleV0pOwogICAgICAgICAgICAgIF9jb250ZXh0LnByZXYgPSA0OwogICAgICAgICAgICAgIGlmICghKHR5cGVvZiBfdGhpczIuZGF0YU1ldGhvZCA9PT0gJ2Z1bmN0aW9uJykpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSA0MzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBwYXJhbXMgPSAhX3RoaXMyLnBhZ2luYXRpb24gPyBfdGhpczJbX3RoaXMyLnF1ZXJ5UGFyYW1zS2V5XSA6IF90aGlzMi5xdWVyeVBhcmFtczsKICAgICAgICAgICAgICByZXMgPSB7fTsKICAgICAgICAgICAgICBpZiAoISgoX3RoaXMyID09PSBudWxsIHx8IF90aGlzMiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3RoaXMyLnR5cGUpID09PSAnc3FsJykpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAxNDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTE7CiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzMi5kYXRhTWV0aG9kKHBhcmFtcywgX3RoaXMyLmlkKTsKICAgICAgICAgICAgY2FzZSAxMToKICAgICAgICAgICAgICByZXMgPSBfY29udGV4dC5zZW50OwogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSA0MTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxNDoKICAgICAgICAgICAgICBpZiAoIShfdGhpczIudHlwZSA9PT0gJ2ZpbGUnIHx8IF90aGlzMi50eXBlID09PSAnYXBpJykpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAyMDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTc7CiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzMi5kYXRhTWV0aG9kKHBhcmFtcywgX3RoaXMyLmlkLCBfdGhpczIuY3VyTm9kZS5pZCk7CiAgICAgICAgICAgIGNhc2UgMTc6CiAgICAgICAgICAgICAgcmVzID0gX2NvbnRleHQuc2VudDsKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gNDE7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMjA6CiAgICAgICAgICAgICAgaWYgKCEoX3RoaXMyICE9PSBudWxsICYmIF90aGlzMiAhPT0gdm9pZCAwICYmIF90aGlzMi5pc0F1dGhvcml6ZVNob3cpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjY7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDIzOwogICAgICAgICAgICAgIHJldHVybiBfdGhpczIuZGF0YU1ldGhvZChwYXJhbXMsIF90aGlzMi5zZWxlY3RSb3dJZCk7CiAgICAgICAgICAgIGNhc2UgMjM6CiAgICAgICAgICAgICAgcmVzID0gX2NvbnRleHQuc2VudDsKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gNDE7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMjY6CiAgICAgICAgICAgICAgaWYgKCEoX3RoaXMyLnhxZlR5cGUgPT09ICcxJykpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAzMjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjk7CiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzMi5kYXRhTWV0aG9kKHBhcmFtcywgX3RoaXMyLnRhYmxlSWQpOwogICAgICAgICAgICBjYXNlIDI5OgogICAgICAgICAgICAgIHJlcyA9IF9jb250ZXh0LnNlbnQ7CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDQxOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDMyOgogICAgICAgICAgICAgIGlmICghKF90aGlzMi54cWZUeXBlID09PSAnMicgfHwgX3RoaXMyLnhxZlR5cGUgPT09ICczJykpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAzODsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMzU7CiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzMi5kYXRhTWV0aG9kKHBhcmFtcywgX3RoaXMyLnRhYmxlSWQsIF90aGlzMi5yZXNvdXJjZUlkKTsKICAgICAgICAgICAgY2FzZSAzNToKICAgICAgICAgICAgICByZXMgPSBfY29udGV4dC5zZW50OwogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSA0MTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAzODoKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gNDA7CiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzMi5kYXRhTWV0aG9kKHBhcmFtcyk7CiAgICAgICAgICAgIGNhc2UgNDA6CiAgICAgICAgICAgICAgcmVzID0gX2NvbnRleHQuc2VudDsKICAgICAgICAgICAgY2FzZSA0MToKICAgICAgICAgICAgICBfcmVzID0gcmVzLCByb3dzID0gX3Jlcy5yb3dzLCB0b3RhbCA9IF9yZXMudG90YWw7CiAgICAgICAgICAgICAgaWYgKHJvd3MpIHsKICAgICAgICAgICAgICAgIF90aGlzMi50YWJsZURhdGEgPSB0eXBlb2YgX3RoaXMyLmhhbmRsZVJlc3VsdCA9PT0gJ2Z1bmN0aW9uJyAmJiBfdGhpczIuaGFuZGxlUmVzdWx0KHJvd3MpOwogICAgICAgICAgICAgICAgX3RoaXMyLnRvdGFsID0gdG90YWwgfHwgMDsKICAgICAgICAgICAgICAgIHR5cGVvZiBfdGhpczIub25BZnRlckdldERhdGEgPT09ICdmdW5jdGlvbicgJiYgX3RoaXMyLm9uQWZ0ZXJHZXREYXRhKHJlcyk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIF90aGlzMi50YWJsZURhdGEgPSAoKF9yZXMyID0gcmVzKSA9PT0gbnVsbCB8fCBfcmVzMiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3JlczIuZGF0YSkgfHwgW107CiAgICAgICAgICAgICAgICB0eXBlb2YgX3RoaXMyLmhhbmRsZVJlc3VsdCA9PT0gJ2Z1bmN0aW9uJyAmJiBfdGhpczIuaGFuZGxlUmVzdWx0KCgoX3JlczMgPSByZXMpID09PSBudWxsIHx8IF9yZXMzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfcmVzMy5kYXRhKSB8fCBbXSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBjYXNlIDQzOgogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSA0ODsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA0NToKICAgICAgICAgICAgICBfY29udGV4dC5wcmV2ID0gNDU7CiAgICAgICAgICAgICAgX2NvbnRleHQudDAgPSBfY29udGV4dFsiY2F0Y2giXSg0KTsKICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKF9jb250ZXh0LnQwKTsKICAgICAgICAgICAgY2FzZSA0ODoKICAgICAgICAgICAgICBfY29udGV4dC5wcmV2ID0gNDg7CiAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBfdGhpczIudGFibGVMb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgfSwgNTAwKTsKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuZmluaXNoKDQ4KTsKICAgICAgICAgICAgY2FzZSA1MToKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUsIG51bGwsIFtbNCwgNDUsIDQ4LCA1MV1dKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g6K+35rGC57uT5p6c5aSE55CGCiAgICBoYW5kbGVSZXN1bHQ6IGZ1bmN0aW9uIGhhbmRsZVJlc3VsdChsaXN0KSB7CiAgICAgIHJldHVybiBsaXN0ICE9PSBudWxsICYmIGxpc3QgIT09IHZvaWQgMCAmJiBsaXN0Lmxlbmd0aCA/IF90b0NvbnN1bWFibGVBcnJheShsaXN0KSA6IFtdOwogICAgfSwKICAgIC8vIOW9k+WJjWNoZWNrYm94IOW3suWLvumAieinpuWPkQogICAgb25TZWxlY3Rpb25DaGFuZ2U6IGZ1bmN0aW9uIG9uU2VsZWN0aW9uQ2hhbmdlKHJvd3MpIHsKICAgICAgdGhpcy5zZWxlY3RlZFJvd3MgPSByb3dzOwogICAgICB0aGlzLnNlbGVjdGVkSWRzID0gcm93cy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS5pZDsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5YiG6aG16Kem5Y+RCiAgICBvblBhZ2luYXRpb25DaGFuZ2U6IGZ1bmN0aW9uIG9uUGFnaW5hdGlvbkNoYW5nZShwYWdlKSB7CiAgICAgIHRoaXMucGFnaW5hdGlvbiA9IHBhZ2U7CiAgICAgIHRoaXMucmVmcmVzaCgpOwogICAgfSwKICAgIC8qKg0KICAgICAqIOeUqOS6juiuvue9rumdnuafpeivouadoeS7tue7hOS7tueahOWFtuS7lum7mOiupOivt+axguWPguaVsOWAvA0KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBxdWVyeURhdGEg5YiG6aG16K+35rGC5a+56LGhDQogICAgICogQHBhcmFtIHtBcnJheX0gW3sgb3BlcmF0aW9uOiAnRVFVQUwnLCBwcm9wZXJ0eTogJ2R3Q2F0YWxvZ3NJZCcsIHJlbGF0aW9uOiAnQU5EJywgdmFsdWU6ICcnfV0g5p+l6K+i5p2h5Lu25a+56LGhDQogICAgICogQHBhcmFtIHtTdHJpbmd9IGtleSDmn6Xor6Llj4LmlbDlrZfmrrXlkI0gcHJvcGVydHkNCiAgICAgKiBAcGFyYW0ge2FueX0gdmFsdWUg5p+l6K+i5Y+C5pWw5YC8DQogICAgICogQHJldHVybiB2b2lkDQogICAgICogKi8KICAgIHNldEZpbHRlclZhbHVlOiBmdW5jdGlvbiBzZXRGaWx0ZXJWYWx1ZShxdWVyeURhdGEsIGZpbHRlcnMsIGtleSwgdmFsdWUpIHsKICAgICAgdmFyIHRhcmdldEZpbHRlciA9IGZpbHRlcnMuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIGl0ZW0ucHJvcGVydHkgPT09IGtleTsKICAgICAgfSk7CiAgICAgIGlmICh0YXJnZXRGaWx0ZXIgJiYgdGFyZ2V0RmlsdGVyLmxlbmd0aCkgewogICAgICAgIHRhcmdldEZpbHRlclswXS52YWx1ZSA9IHZhbHVlOwogICAgICAgIHRoaXMuc2V0UXVlcnlzKHF1ZXJ5RGF0YSwga2V5LCB0YXJnZXRGaWx0ZXJbMF0pOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn5pyq5om+5Yiw5p+l6K+i5Y+C5pWwJyk7CiAgICAgIH0KICAgIH0sCiAgICAvKioNCiAgICAgKiDnlKjkuo7or7fmsYLlj4LmlbBxdWVyeXPljrvph43orr7nva4NCiAgICAgKiBAcGFyYW0ge09iamVjdH0gcXVlcnlEYXRhIOWIhumhteivt+axguWvueixoQ0KICAgICAqIEBwYXJhbSB7U3RyaW5nfSBrZXkg5p+l6K+i5Y+C5pWw5a2X5q615ZCNIHByb3BlcnR5DQogICAgICogQHBhcmFtIHtPYmplY3R9IG5ld0ZpbHRlciDmn6Xor6LmnaHku7blr7nosaENCiAgICAgKiBAcmV0dXJuIHZvaWQNCiAgICAgKiAqLwogICAgc2V0UXVlcnlzOiBmdW5jdGlvbiBzZXRRdWVyeXMocXVlcnlEYXRhLCBrZXksIG5ld0ZpbHRlcikgewogICAgICB2YXIgX3F1ZXJ5RGF0YSRxdWVyeXMgPSBxdWVyeURhdGEucXVlcnlzLAogICAgICAgIHF1ZXJ5cyA9IF9xdWVyeURhdGEkcXVlcnlzID09PSB2b2lkIDAgPyBbXSA6IF9xdWVyeURhdGEkcXVlcnlzOwogICAgICB2YXIgdGFyZ2V0SW5kZXggPSBxdWVyeXMuZmluZEluZGV4KGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIGl0ZW0ucHJvcGVydHkgPT09IGtleTsKICAgICAgfSk7CiAgICAgIGlmICh0YXJnZXRJbmRleCAhPT0gLTEpIHsKICAgICAgICBxdWVyeXMuc3BsaWNlKHRhcmdldEluZGV4LCAxLCBuZXdGaWx0ZXIpOwogICAgICB9IGVsc2UgewogICAgICAgIHF1ZXJ5cy5wdXNoKG5ld0ZpbHRlcik7CiAgICAgIH0KICAgICAgcXVlcnlEYXRhLnF1ZXJ5cyA9IHF1ZXJ5czsKICAgIH0KICB9Cn07"},null]}