{"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:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yUnVudGltZS5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCBfdG9Db25zdW1hYmxlQXJyYXkgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5LmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maW5kLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC1pbmRleC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmluY2x1ZGVzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNwbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaW5jbHVkZXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuZmlsdGVyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmZpbmQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IubWFwLmpzIjsKaW1wb3J0IERJQ1QgZnJvbSAnQC91dGlscy9kaWN0JzsKZXhwb3J0IGRlZmF1bHQgewogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB0YWJsZURhdGE6IFtdLAogICAgICAvLyDooajmoLzmlbDmja4KICAgICAgdG90YWw6IDAsCiAgICAgIC8vIOihqOagvOaAu+adoeaVsAogICAgICB0YWJsZUxvYWRpbmc6IGZhbHNlLAogICAgICAvLyDooajmoLxsb2FkaW5nCiAgICAgIHNlbGVjdGVkUm93czogW10sCiAgICAgIC8vIOW3sumAieihjOaVsOaNrgogICAgICBmaWx0ZXJzOiB7fSwKICAgICAgZmlsdGVyc0NvbmZpZzoge30sCiAgICAgIHF1ZXJ5UGFyYW1zOiB7fSwKICAgICAgcGFnaW5hdGlvbjogewogICAgICAgIC8vIOWIhumhteWIneWni+WMluaVsOaNrgogICAgICAgIHBhZ2U6IDEsCiAgICAgICAgcGFnZVNpemU6IDIwCiAgICAgIH0sCiAgICAgIGJ0bkxvYWRpbmc6IGZhbHNlLAogICAgICBjdXJyZW50Um93OiBudWxsLAogICAgICBwaWNrZXJPcHRpb25zOiB7CiAgICAgICAgc2hvcnRjdXRzOiBbewogICAgICAgICAgdGV4dDogJ+acgOi/keS4gOWRqCcsCiAgICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKHBpY2tlcikgewogICAgICAgICAgICB2YXIgZW5kID0gbmV3IERhdGUoKTsKICAgICAgICAgICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKTsKICAgICAgICAgICAgc3RhcnQuc2V0VGltZShzdGFydC5nZXRUaW1lKCkgLSAzNjAwICogMTAwMCAqIDI0ICogNyk7CiAgICAgICAgICAgIHBpY2tlci4kZW1pdCgncGljaycsIFtzdGFydCwgZW5kXSk7CiAgICAgICAgICB9CiAgICAgICAgfSwgewogICAgICAgICAgdGV4dDogJ+acgOi/keS4gOS4quaciCcsCiAgICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKHBpY2tlcikgewogICAgICAgICAgICB2YXIgZW5kID0gbmV3IERhdGUoKTsKICAgICAgICAgICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKTsKICAgICAgICAgICAgc3RhcnQuc2V0VGltZShzdGFydC5nZXRUaW1lKCkgLSAzNjAwICogMTAwMCAqIDI0ICogMzApOwogICAgICAgICAgICBwaWNrZXIuJGVtaXQoJ3BpY2snLCBbc3RhcnQsIGVuZF0pOwogICAgICAgICAgfQogICAgICAgIH0sIHsKICAgICAgICAgIHRleHQ6ICfmnIDov5HkuInkuKrmnIgnLAogICAgICAgICAgb25DbGljazogZnVuY3Rpb24gb25DbGljayhwaWNrZXIpIHsKICAgICAgICAgICAgdmFyIGVuZCA9IG5ldyBEYXRlKCk7CiAgICAgICAgICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKCk7CiAgICAgICAgICAgIHN0YXJ0LnNldFRpbWUoc3RhcnQuZ2V0VGltZSgpIC0gMzYwMCAqIDEwMDAgKiAyNCAqIDkwKTsKICAgICAgICAgICAgcGlja2VyLiRlbWl0KCdwaWNrJywgW3N0YXJ0LCBlbmRdKTsKICAgICAgICAgIH0KICAgICAgICB9XQogICAgICB9CiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIC8vIOS7heWLvumAieS4gOadoQogICAgaXNTaW5nbGU6IGZ1bmN0aW9uIGlzU2luZ2xlKCkgewogICAgICB2YXIgX3RoaXMkc2VsZWN0ZWRSb3dzOwogICAgICByZXR1cm4gKChfdGhpcyRzZWxlY3RlZFJvd3MgPSB0aGlzLnNlbGVjdGVkUm93cykgPT09IG51bGwgfHwgX3RoaXMkc2VsZWN0ZWRSb3dzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdGhpcyRzZWxlY3RlZFJvd3MubGVuZ3RoKSA9PT0gMTsKICAgIH0sCiAgICAvLyDlt7Lli77pgIkKICAgIGlzU2VsZWN0ZWQ6IGZ1bmN0aW9uIGlzU2VsZWN0ZWQoKSB7CiAgICAgIHZhciBfdGhpcyRzZWxlY3RlZFJvd3MyOwogICAgICByZXR1cm4gKChfdGhpcyRzZWxlY3RlZFJvd3MyID0gdGhpcy5zZWxlY3RlZFJvd3MpID09PSBudWxsIHx8IF90aGlzJHNlbGVjdGVkUm93czIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzJHNlbGVjdGVkUm93czIubGVuZ3RoKSA+IDA7CiAgICB9LAogICAgcXVlcnlQYXJhbXNLZXk6IGZ1bmN0aW9uIHF1ZXJ5UGFyYW1zS2V5KCkgewogICAgICAvLyDliJfooajmkJzntKLnu5Hlrprlr7nosaFrZXkKICAgICAgcmV0dXJuIHRoaXMucGFyYW1zS2V5IHx8ICdmaWx0ZXJzJzsKICAgIH0sCiAgICAvLyDmmK/lkKbpu5jorqTmiafooYzliJfooajmjqXlj6Pmn6Xor6IKICAgIGluaXRSZWZyZXNoOiBmdW5jdGlvbiBpbml0UmVmcmVzaCgpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgaWYgKHRoaXMuaW5pdFJlZnJlc2ggPT09IHRydWUpIHRoaXMucmVmcmVzaCgpOwogIH0sCiAgbWV0aG9kczogewogICAgZmlsdGVyRGljdDogZnVuY3Rpb24gZmlsdGVyRGljdChkaWN0S2V5LCB2YWwpIHsKICAgICAgdmFyIGRlZiA9IHsKICAgICAgICBsYWJlbDogJycsCiAgICAgICAgdmFsdWU6IHZhbAogICAgICB9OwogICAgICBpZiAoW251bGwsIHVuZGVmaW5lZCwgJyddLmluY2x1ZGVzKHZhbCkpIHsKICAgICAgICByZXR1cm4gZGVmOwogICAgICB9CiAgICAgIHJldHVybiBESUNUW2RpY3RLZXldLmZpbmQoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS52YWx1ZSA9PT0gdmFsOwogICAgICB9KSB8fCBkZWY7CiAgICB9LAogICAgLyoqDQogICAgICogQGZ1bmMg5pe26Ze06YCJ5oup5Zmo6YCJ5oup5Zue6LCD5pa55rOVDQogICAgICogQGRlc2MNCiAgICAgKiAgZGF0ZTogW2FycmF5IHwgc3RyaW5nXTogJ+aXpeacn+e7hOS7tumAieS4reaVsOaNricsDQogICAgICogIGtleXMgW2FycmF5IHwgc3RyaW5nXTogJ+WvueW6lOWPguaVsOeahGtleScsDQogICAgICogIG5lZWRUaW1lIFtib29sZWFuXTogJ+S4uuaXtumXtOi3qOW6pumAieaLqeaXtu+8jOaYr+WQpumcgOimgeWGjeacq+WwvuWbuuWumuWinuWKoOaXtuWIhuenkicNCiAgICAgKiB9DQogICAgICogQHJldHVybiB7fQ0KICAgICAqIEBwYXJhbSBkYXRlDQogICAgICogQHBhcmFtIGtleXMNCiAgICAgKiBAcGFyYW0gbmVlZFRpbWUNCiAgICAgKi8KICAgIGhhbmRsZURhdGVzOiBmdW5jdGlvbiBoYW5kbGVEYXRlcyhkYXRlLCBrZXkpIHsKICAgICAgdmFyIHBhcmFtc0tleSA9IHRoaXMucXVlcnlQYXJhbXNLZXk7CiAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGUpKSB7CiAgICAgICAgLy8g5pe26Ze06Leo5bqmCiAgICAgICAgdGhpc1twYXJhbXNLZXldW2tleV0gPSBbZGF0ZVswXSwgZGF0ZVsxXV07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8g5Y2V5Liq6YCJ5oupCiAgICAgICAgLy8gdGhpc1twYXJhbXNLZXldW2tleV0gPSBkYXRlOwogICAgICB9CiAgICB9LAogICAgb25SZXNldDogZnVuY3Rpb24gb25SZXNldCgpIHsKICAgICAgdmFyIHJlZnJlc2ggPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHRydWU7CiAgICAgIHZhciBkZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9OwogICAgICB2YXIgcGFyYW1zS2V5ID0gdGhpcy5xdWVyeVBhcmFtc0tleTsKICAgICAgdGhpc1twYXJhbXNLZXldID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCB0aGlzLiRvcHRpb25zLmRhdGEoKVtwYXJhbXNLZXldKSwgZGVmKTsKCiAgICAgIC8vIOS4jeWIhumhteaDheWGtQogICAgICBpZiAoIXRoaXMucGFnaW5hdGlvbikgewogICAgICAgIHJlZnJlc2ggJiYgdGhpcy5nZXREYXRhKCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMucGFnaW5hdGlvbi5wYWdlID09PSAxOwogICAgICB2YXIgX3RoaXMkJHJlZnMkYXBwRmlsdGUgPSB0aGlzLiRyZWZzWydhcHAtZmlsdGVyJ10uaGFuZGxlRGF0YSh0aGlzW3BhcmFtc0tleV0pLAogICAgICAgIHNlYXJjaFBhcmFtcyA9IF90aGlzJCRyZWZzJGFwcEZpbHRlLnJlc187CiAgICAgIHRoaXMucXVlcnlQYXJhbXMgPSB0aGlzLmhhbmRsZVF1ZXJ5UGFyYW1zKHNlYXJjaFBhcmFtcywgdGhpcy5wYWdpbmF0aW9uKTsKICAgICAgcmVmcmVzaCAmJiB0aGlzLmdldERhdGEoKTsKICAgIH0sCiAgICAvLyDmn6Xor6IgZGF0YTog5p+l6K+i6KGo5Y2V5pWw5o2uCiAgICBvblF1ZXJ5OiBmdW5jdGlvbiBvblF1ZXJ5KHNlYXJjaENvbmZpZywgZGF0YSkgewogICAgICB2YXIgcGFyYW1zS2V5ID0gdGhpcy5xdWVyeVBhcmFtc0tleTsKICAgICAgdGhpc1twYXJhbXNLZXldID0gZGF0YTsKICAgICAgaWYgKCF0aGlzLnBhZ2luYXRpb24pIHsKICAgICAgICB0aGlzLmdldERhdGEoKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhpcy5xdWVyeVBhcmFtcyA9IHRoaXMuaGFuZGxlUXVlcnlQYXJhbXMoc2VhcmNoQ29uZmlnLCB7CiAgICAgICAgcGFnZTogMQogICAgICB9KTsKICAgICAgdGhpcy5nZXREYXRhKCk7CiAgICB9LAogICAgLy8g5Yi35pawCiAgICByZWZyZXNoOiBmdW5jdGlvbiByZWZyZXNoKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICB2YXIgcmVzZXRQYWdlTnVtID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBmYWxzZTsKICAgICAgaWYgKHJlc2V0UGFnZU51bSkgdGhpcy5wYWdpbmF0aW9uLnBhZ2UgPSAxOwogICAgICBpZiAoIXRoaXMucGFnaW5hdGlvbikgewogICAgICAgIHRoaXMuZ2V0RGF0YSgpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKF90aGlzLiRyZWZzWydhcHAtZmlsdGVyJ10pIHsKICAgICAgICAgIHZhciBfdGhpcyQkcmVmcyRhcHBGaWx0ZTIgPSBfdGhpcy4kcmVmc1snYXBwLWZpbHRlciddLmhhbmRsZURhdGEoX3RoaXNbX3RoaXMucXVlcnlQYXJhbXNLZXldKSwKICAgICAgICAgICAgcmVzXyA9IF90aGlzJCRyZWZzJGFwcEZpbHRlMi5yZXNfOwogICAgICAgICAgX3RoaXMucXVlcnlQYXJhbXMgPSBfdGhpcy5oYW5kbGVRdWVyeVBhcmFtcyhyZXNfLCBfdGhpcy5wYWdpbmF0aW9uKTsKICAgICAgICB9CiAgICAgICAgX3RoaXMuZ2V0RGF0YSgpOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDor7fmsYLlj4LmlbDlpITnkIYKICAgIGhhbmRsZVF1ZXJ5UGFyYW1zOiBmdW5jdGlvbiBoYW5kbGVRdWVyeVBhcmFtcyhwYXJhbXMsIHBhZ2VCZWFuKSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgcXVlcnlzOiBfdG9Db25zdW1hYmxlQXJyYXkocGFyYW1zIHx8IFtdKSwKICAgICAgICBwYWdlQmVhbjogX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCB0aGlzLnBhZ2luYXRpb24pLCBwYWdlQmVhbiksCiAgICAgICAgc29ydGVyOiB0aGlzLnNvcnRlciA/IF90b0NvbnN1bWFibGVBcnJheSh0aGlzLnNvcnRlcikgOiBbXQogICAgICB9OwogICAgfSwKICAgIC8vIOivt+axguinpuWPkQogICAgZ2V0RGF0YTogZnVuY3Rpb24gZ2V0RGF0YShwYXJhbSkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICAgIHZhciBwYXJhbXMsIHJlcywgX3Jlcywgcm93cywgdG90YWwsIF9yZXMyLCBfcmVzMzsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfdGhpczIuc2VsZWN0ZWRJZHMgPSBbXTsKICAgICAgICAgICAgICBfdGhpczIuc2VsZWN0ZWRSb3dzID0gW107CiAgICAgICAgICAgICAgX3RoaXMyLnRhYmxlTG9hZGluZyA9IHRydWU7CiAgICAgICAgICAgICAgLy8gY29uc3QgcGFyYW1zID0gdGhpcy5xdWVyeVBhcmFtcyB8fCB0aGlzLmhhbmRsZVF1ZXJ5UGFyYW1zKFtdLCB0aGlzLnBhZ2luYXRpb24pOwoKICAgICAgICAgICAgICB0eXBlb2YgX3RoaXMyLm9uQmVmb3JlR2V0RGF0YSA9PT0gJ2Z1bmN0aW9uJyAmJiBfdGhpczIub25CZWZvcmVHZXREYXRhKF90aGlzMi5xdWVyeVBhcmFtcywgX3RoaXMyW190aGlzMi5wYXJhbXNLZXldKTsKICAgICAgICAgICAgICBfY29udGV4dC5wcmV2ID0gNDsKICAgICAgICAgICAgICBpZiAoISh0eXBlb2YgX3RoaXMyLmRhdGFNZXRob2QgPT09ICdmdW5jdGlvbicpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gNDM7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcGFyYW1zID0gIV90aGlzMi5wYWdpbmF0aW9uID8gX3RoaXMyW190aGlzMi5xdWVyeVBhcmFtc0tleV0gOiBfdGhpczIucXVlcnlQYXJhbXM7CiAgICAgICAgICAgICAgcmVzID0ge307CiAgICAgICAgICAgICAgaWYgKCEoKF90aGlzMiA9PT0gbnVsbCB8fCBfdGhpczIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzMi50eXBlKSA9PT0gJ3NxbCcpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTQ7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDExOwogICAgICAgICAgICAgIHJldHVybiBfdGhpczIuZGF0YU1ldGhvZChwYXJhbXMsIF90aGlzMi5pZCk7CiAgICAgICAgICAgIGNhc2UgMTE6CiAgICAgICAgICAgICAgcmVzID0gX2NvbnRleHQuc2VudDsKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gNDE7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTQ6CiAgICAgICAgICAgICAgaWYgKCEoX3RoaXMyLnR5cGUgPT09ICdmaWxlJyB8fCBfdGhpczIudHlwZSA9PT0gJ2FwaScpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjA7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDE3OwogICAgICAgICAgICAgIHJldHVybiBfdGhpczIuZGF0YU1ldGhvZChwYXJhbXMsIF90aGlzMi5pZCwgX3RoaXMyLmN1ck5vZGUuaWQpOwogICAgICAgICAgICBjYXNlIDE3OgogICAgICAgICAgICAgIHJlcyA9IF9jb250ZXh0LnNlbnQ7CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDQxOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDIwOgogICAgICAgICAgICAgIGlmICghKF90aGlzMiAhPT0gbnVsbCAmJiBfdGhpczIgIT09IHZvaWQgMCAmJiBfdGhpczIuaXNBdXRob3JpemVTaG93KSkgewogICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDI2OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAyMzsKICAgICAgICAgICAgICByZXR1cm4gX3RoaXMyLmRhdGFNZXRob2QocGFyYW1zLCBfdGhpczIuc2VsZWN0Um93SWQpOwogICAgICAgICAgICBjYXNlIDIzOgogICAgICAgICAgICAgIHJlcyA9IF9jb250ZXh0LnNlbnQ7CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDQxOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDI2OgogICAgICAgICAgICAgIGlmICghKF90aGlzMi54cWZUeXBlID09PSAnMScpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMzI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDI5OwogICAgICAgICAgICAgIHJldHVybiBfdGhpczIuZGF0YU1ldGhvZChwYXJhbXMsIF90aGlzMi50YWJsZUlkKTsKICAgICAgICAgICAgY2FzZSAyOToKICAgICAgICAgICAgICByZXMgPSBfY29udGV4dC5zZW50OwogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSA0MTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAzMjoKICAgICAgICAgICAgICBpZiAoIShfdGhpczIueHFmVHlwZSA9PT0gJzInIHx8IF90aGlzMi54cWZUeXBlID09PSAnMycpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMzg7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDM1OwogICAgICAgICAgICAgIHJldHVybiBfdGhpczIuZGF0YU1ldGhvZChwYXJhbXMsIF90aGlzMi50YWJsZUlkLCBfdGhpczIucmVzb3VyY2VJZCk7CiAgICAgICAgICAgIGNhc2UgMzU6CiAgICAgICAgICAgICAgcmVzID0gX2NvbnRleHQuc2VudDsKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gNDE7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMzg6CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDQwOwogICAgICAgICAgICAgIHJldHVybiBfdGhpczIuZGF0YU1ldGhvZChwYXJhbXMpOwogICAgICAgICAgICBjYXNlIDQwOgogICAgICAgICAgICAgIHJlcyA9IF9jb250ZXh0LnNlbnQ7CiAgICAgICAgICAgIGNhc2UgNDE6CiAgICAgICAgICAgICAgX3JlcyA9IHJlcywgcm93cyA9IF9yZXMucm93cywgdG90YWwgPSBfcmVzLnRvdGFsOwogICAgICAgICAgICAgIGlmIChyb3dzKSB7CiAgICAgICAgICAgICAgICBfdGhpczIudGFibGVEYXRhID0gdHlwZW9mIF90aGlzMi5oYW5kbGVSZXN1bHQgPT09ICdmdW5jdGlvbicgJiYgX3RoaXMyLmhhbmRsZVJlc3VsdChyb3dzKTsKICAgICAgICAgICAgICAgIF90aGlzMi50b3RhbCA9IHRvdGFsIHx8IDA7CiAgICAgICAgICAgICAgICB0eXBlb2YgX3RoaXMyLm9uQWZ0ZXJHZXREYXRhID09PSAnZnVuY3Rpb24nICYmIF90aGlzMi5vbkFmdGVyR2V0RGF0YShyZXMpOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBfdGhpczIudGFibGVEYXRhID0gKChfcmVzMiA9IHJlcykgPT09IG51bGwgfHwgX3JlczIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9yZXMyLmRhdGEpIHx8IFtdOwogICAgICAgICAgICAgICAgdHlwZW9mIF90aGlzMi5oYW5kbGVSZXN1bHQgPT09ICdmdW5jdGlvbicgJiYgX3RoaXMyLmhhbmRsZVJlc3VsdCgoKF9yZXMzID0gcmVzKSA9PT0gbnVsbCB8fCBfcmVzMyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3JlczMuZGF0YSkgfHwgW10pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FzZSA0MzoKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gNDg7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNDU6CiAgICAgICAgICAgICAgX2NvbnRleHQucHJldiA9IDQ1OwogICAgICAgICAgICAgIF9jb250ZXh0LnQwID0gX2NvbnRleHRbImNhdGNoIl0oNCk7CiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihfY29udGV4dC50MCk7CiAgICAgICAgICAgIGNhc2UgNDg6CiAgICAgICAgICAgICAgX2NvbnRleHQucHJldiA9IDQ4OwogICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgX3RoaXMyLnRhYmxlTG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICAgIH0sIDUwMCk7CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmZpbmlzaCg0OCk7CiAgICAgICAgICAgIGNhc2UgNTE6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlLCBudWxsLCBbWzQsIDQ1LCA0OCwgNTFdXSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIOivt+axgue7k+aenOWkhOeQhgogICAgaGFuZGxlUmVzdWx0OiBmdW5jdGlvbiBoYW5kbGVSZXN1bHQobGlzdCkgewogICAgICByZXR1cm4gbGlzdCAhPT0gbnVsbCAmJiBsaXN0ICE9PSB2b2lkIDAgJiYgbGlzdC5sZW5ndGggPyBfdG9Db25zdW1hYmxlQXJyYXkobGlzdCkgOiBbXTsKICAgIH0sCiAgICAvLyDlvZPliY1jaGVja2JveCDlt7Lli77pgInop6blj5EKICAgIG9uU2VsZWN0aW9uQ2hhbmdlOiBmdW5jdGlvbiBvblNlbGVjdGlvbkNoYW5nZShyb3dzKSB7CiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzID0gcm93czsKICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IHJvd3MubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOWIhumhteinpuWPkQogICAgb25QYWdpbmF0aW9uQ2hhbmdlOiBmdW5jdGlvbiBvblBhZ2luYXRpb25DaGFuZ2UocGFnZSkgewogICAgICB0aGlzLnBhZ2luYXRpb24gPSBwYWdlOwogICAgICB0aGlzLnJlZnJlc2goKTsKICAgIH0sCiAgICAvKioNCiAgICAgKiDnlKjkuo7orr7nva7pnZ7mn6Xor6LmnaHku7bnu4Tku7bnmoTlhbbku5bpu5jorqTor7fmsYLlj4LmlbDlgLwNCiAgICAgKiBAcGFyYW0ge09iamVjdH0gcXVlcnlEYXRhIOWIhumhteivt+axguWvueixoQ0KICAgICAqIEBwYXJhbSB7QXJyYXl9IFt7IG9wZXJhdGlvbjogJ0VRVUFMJywgcHJvcGVydHk6ICdkd0NhdGFsb2dzSWQnLCByZWxhdGlvbjogJ0FORCcsIHZhbHVlOiAnJ31dIOafpeivouadoeS7tuWvueixoQ0KICAgICAqIEBwYXJhbSB7U3RyaW5nfSBrZXkg5p+l6K+i5Y+C5pWw5a2X5q615ZCNIHByb3BlcnR5DQogICAgICogQHBhcmFtIHthbnl9IHZhbHVlIOafpeivouWPguaVsOWAvA0KICAgICAqIEByZXR1cm4gdm9pZA0KICAgICAqICovCiAgICBzZXRGaWx0ZXJWYWx1ZTogZnVuY3Rpb24gc2V0RmlsdGVyVmFsdWUocXVlcnlEYXRhLCBmaWx0ZXJzLCBrZXksIHZhbHVlKSB7CiAgICAgIHZhciB0YXJnZXRGaWx0ZXIgPSBmaWx0ZXJzLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLnByb3BlcnR5ID09PSBrZXk7CiAgICAgIH0pOwogICAgICBpZiAodGFyZ2V0RmlsdGVyICYmIHRhcmdldEZpbHRlci5sZW5ndGgpIHsKICAgICAgICB0YXJnZXRGaWx0ZXJbMF0udmFsdWUgPSB2YWx1ZTsKICAgICAgICB0aGlzLnNldFF1ZXJ5cyhxdWVyeURhdGEsIGtleSwgdGFyZ2V0RmlsdGVyWzBdKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+acquaJvuWIsOafpeivouWPguaVsCcpOwogICAgICB9CiAgICB9LAogICAgLyoqDQogICAgICog55So5LqO6K+35rGC5Y+C5pWwcXVlcnlz5Y676YeN6K6+572uDQogICAgICogQHBhcmFtIHtPYmplY3R9IHF1ZXJ5RGF0YSDliIbpobXor7fmsYLlr7nosaENCiAgICAgKiBAcGFyYW0ge1N0cmluZ30ga2V5IOafpeivouWPguaVsOWtl+auteWQjSBwcm9wZXJ0eQ0KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBuZXdGaWx0ZXIg5p+l6K+i5p2h5Lu25a+56LGhDQogICAgICogQHJldHVybiB2b2lkDQogICAgICogKi8KICAgIHNldFF1ZXJ5czogZnVuY3Rpb24gc2V0UXVlcnlzKHF1ZXJ5RGF0YSwga2V5LCBuZXdGaWx0ZXIpIHsKICAgICAgdmFyIF9xdWVyeURhdGEkcXVlcnlzID0gcXVlcnlEYXRhLnF1ZXJ5cywKICAgICAgICBxdWVyeXMgPSBfcXVlcnlEYXRhJHF1ZXJ5cyA9PT0gdm9pZCAwID8gW10gOiBfcXVlcnlEYXRhJHF1ZXJ5czsKICAgICAgdmFyIHRhcmdldEluZGV4ID0gcXVlcnlzLmZpbmRJbmRleChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLnByb3BlcnR5ID09PSBrZXk7CiAgICAgIH0pOwogICAgICBpZiAodGFyZ2V0SW5kZXggIT09IC0xKSB7CiAgICAgICAgcXVlcnlzLnNwbGljZSh0YXJnZXRJbmRleCwgMSwgbmV3RmlsdGVyKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBxdWVyeXMucHVzaChuZXdGaWx0ZXIpOwogICAgICB9CiAgICAgIHF1ZXJ5RGF0YS5xdWVyeXMgPSBxdWVyeXM7CiAgICB9CiAgfQp9Ow=="},null]}