c0500a6b9051d3628d03eeb87454513f.json 37 KB

1
  1. {"remainingRequest":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/babel-loader/lib/index.js!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/components/videoPlayer/playback.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/components/videoPlayer/playback.vue","mtime":1708395041800},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/babel.config.js","mtime":1708395041663},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js","mtime":1708395146433},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/babel-loader/lib/index.js","mtime":1708395147257},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js","mtime":1708395146433},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/vue-loader/lib/index.js","mtime":1708395147382}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tICIvVXNlcnMvY2FvZ2UvRGVza3RvcC9cdTU3MzBcdThEMjhcdTczQjBcdTU3M0EvVmVoaWNsZU1vbml0b3ItV0VCL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9kZWZpbmVQcm9wZXJ0eS5qcyI7CnZhciBfbmFtZSRjb21wb25lbnRzJGRhdGE7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm51bWJlci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZyb20uanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5wdXNoLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB2aWRlb0xpbmUgZnJvbSAiQC9jb21wb25lbnRzL3ZpZGVvUGxheWVyL3ZpZGVvTGluZSI7CmltcG9ydCB2aWRlb1BsYXllciBmcm9tICJAL2NvbXBvbmVudHMvdmlkZW9QbGF5ZXIvdmlkZW9QbGF5ZXIiOwppbXBvcnQgeyBpbnZpdGUgYXMgX2ludml0ZSwgYmFzZUNhbWVyYU1hbmFnZW1lbnRQbGF5IH0gZnJvbSAiQC9hcGkvdmlkZW8iOwppbXBvcnQgVmlkZW8gZnJvbSAiQC92aWV3cy9kYXNoYm9hcmQvVmlkZW8iOwppbXBvcnQgeyByZWNvcmRzLCBsaW5lRGF0ZSB9IGZyb20gIkAvYXBpL3ZpZGVvIjsKdmFyIGRheWpzID0gcmVxdWlyZSgiZGF5anMiKTsKCi8vIHBhbHlBbmRQbGF5YmFjawovLyDmkq3mlL7kuI7lm57mlL4KZXhwb3J0IGRlZmF1bHQgKF9uYW1lJGNvbXBvbmVudHMkZGF0YSA9IHsKICBuYW1lOiAiUGFseUFuZFBsYXliYWNrIiwKICBjb21wb25lbnRzOiB7CiAgICB2aWRlb0xpbmU6IHZpZGVvTGluZSwKICAgIHZpZGVvUGxheWVyOiB2aWRlb1BsYXllciwKICAgIFZpZGVvOiBWaWRlbwogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGlzRnVsbFNjcmVlbjogZmFsc2UKICAgIH07CiAgfSwKICBwcm9wczogewogICAgdmlkZW9UeXBlOiB7CiAgICAgIC8vIOiPnOWNleexu+WeiwogICAgICB0eXBlOiBOdW1iZXIsCiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkgewogICAgICAgIHJldHVybiAxOwogICAgICB9CiAgICB9LAogICAgY2hlY2tib3hBcnI6IHsKICAgICAgdHlwZTogQXJyYXksCiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkgewogICAgICAgIHJldHVybiAiIjsKICAgICAgfQogICAgfSwKICAgIGdldEFsbENhbWVyYTogewogICAgICB0eXBlOiBBcnJheSwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuICIiOwogICAgICB9CiAgICB9LAogICAgY2FtZXJhQ29kZTogewogICAgICAvLyDmkYTlg4/mnLpjb2RlCiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuICIiOwogICAgICB9CiAgICB9LAogICAgYWxhcm1UaW1lOiB7CiAgICAgIC8vIOaKpeitpuaXtumXtAogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkgewogICAgICAgIHJldHVybiAiIjsKICAgICAgfQogICAgfQogIH0sCiAgd2F0Y2g6IHsKICAgIGNoZWNrYm94QXJyOiB7CiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIocmVzKSB7CiAgICAgICAgY29uc29sZS5sb2cocmVzKTsKICAgICAgfSwKICAgICAgZGVlcDogdHJ1ZQogICAgfSwKICAgIGNhbWVyYUNvZGU6IGZ1bmN0aW9uIGNhbWVyYUNvZGUobmV3VmFsdWUpIHsKICAgICAgY29uc29sZS5sb2cobmV3VmFsdWUsICIxMTEiKTsKICAgICAgdGhpcy5jYW1lcmFDb2RlVmlkZW8gPSBuZXdWYWx1ZTsKICAgIH0sCiAgICBjYW1lcmFDb2RlVmlkZW86IGZ1bmN0aW9uIGNhbWVyYUNvZGVWaWRlbyhuZXdWYWx1ZSkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICByZWNvcmRzKG5ld1ZhbHVlLCB0cnVlKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpcy5zcmMgPSByZXMuZGF0YSArICI/IiArIE1hdGgucmFuZG9tKCk7CiAgICAgIH0pOwogICAgfSwKICAgIHZpZGVvVHlwZTogZnVuY3Rpb24gdmlkZW9UeXBlKG5ld1ZhbHVlKSB7CiAgICAgIHRoaXMuX3ZpZGVvVHlwZSA9IG5ld1ZhbHVlIHx8IDE7CiAgICAgIHRoaXMuaGFuZGxlU2VsZWN0KHRoaXMuX3ZpZGVvVHlwZSk7CiAgICB9LAogICAgdmlkZW9MaXN0VHlwZTogZnVuY3Rpb24gdmlkZW9MaXN0VHlwZSgpIHsKICAgICAgY29uc29sZS5sb2codGhpcy52aWRlb0xpc3RUeXBlKTsKICAgIH0KICB9Cn0sIF9kZWZpbmVQcm9wZXJ0eShfbmFtZSRjb21wb25lbnRzJGRhdGEsICJkYXRhIiwgZnVuY3Rpb24gZGF0YSgpIHsKICB2YXIgX3RoaXMyID0gdGhpczsKICByZXR1cm4gewogICAgdmlkZW9MaXN0VHlwZTogMCwKICAgIC8vIFvlj7PogIxd5b2T5YmNdGFi57G75Z6LCiAgICBfdmlkZW9UeXBlOiAxLAogICAgdGFibGVEYXRhOiBbXSwKICAgIGlzVGltZTogZmFsc2UsCiAgICBzcmM6ICIiLAogICAgY2FtZXJhQ29kZVZpZGVvOiAiIiwKICAgIHBpY2tlck9wdGlvbnM6IHsKICAgICAgb25QaWNrOiBmdW5jdGlvbiBvblBpY2sodGltZSkgewogICAgICAgIGNvbnNvbGUubG9nKHRpbWUsICJ0aW1lIik7CiAgICAgICAgX3RoaXMyLm1pbkRhdGUgPSB0aW1lLm1pbkRhdGU7CiAgICAgIH0sCiAgICAgIGRpc2FibGVkRGF0ZTogZnVuY3Rpb24gZGlzYWJsZWREYXRlKHRpbWUsIHBpY2tlcikgewogICAgICAgIGlmIChfdGhpczIubWluRGF0ZSAmJiBfdGhpczIuZ2V0VEltZShfdGhpczIubWluRGF0ZSkgIT0gX3RoaXMyLmdldFRJbWUodGltZSkpIHsKICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdGltZS5nZXRUaW1lKCkgPiBEYXRlLm5vdygpOwogICAgICB9CiAgICB9LAogICAgY2FtZXJhQ29kZVVybDogIiIsCiAgICBlbXB0eVRleHQ6ICIiLAogICAgcGxheWJhY2tNb2RhbDogewogICAgICAvLyDlm57mlL7mqKHlnZcKICAgICAgc2hvdzogZmFsc2UsCiAgICAgIGRhdGU6ICIiLAogICAgICAvLyDml6XmnJ8KICAgICAgdGltZTogIiIgLy8g5pe26Ze0CiAgICB9CiAgfTsKfSksIF9kZWZpbmVQcm9wZXJ0eShfbmFtZSRjb21wb25lbnRzJGRhdGEsICJtb3VudGVkIiwgZnVuY3Rpb24gbW91bnRlZCgpIHsKICB0aGlzLmhhbmRsZVNlbGVjdCh0aGlzLl92aWRlb1R5cGUpOwogIHRoaXMuX3ZpZGVvVHlwZSA9IHRoaXMudmlkZW9UeXBlOwp9KSwgX2RlZmluZVByb3BlcnR5KF9uYW1lJGNvbXBvbmVudHMkZGF0YSwgIm1ldGhvZHMiLCB7CiAgdG9nZ2xlRnVsbFNjcmVlbjogZnVuY3Rpb24gdG9nZ2xlRnVsbFNjcmVlbigpIHsKICAgIHZhciBmdWxsc2NyZWVuTW9kdWxlID0gdGhpcy4kcmVmcy5mdWxsc2NyZWVuTW9kdWxlOwogICAgaWYgKCF0aGlzLmlzRnVsbFNjcmVlbikgewogICAgICBmdWxsc2NyZWVuTW9kdWxlLnJlcXVlc3RGdWxsc2NyZWVuKCk7CiAgICB9IGVsc2UgewogICAgICBkb2N1bWVudC5leGl0RnVsbHNjcmVlbigpOwogICAgfQogICAgdGhpcy5pc0Z1bGxTY3JlZW4gPSAhdGhpcy5pc0Z1bGxTY3JlZW47CiAgfSwKICAvLyDop4bpopHmqKHlnZfliIfmjaIKICB2aWRlb0xpc3RUeXBlQ2hhbmdlOiBmdW5jdGlvbiB2aWRlb0xpc3RUeXBlQ2hhbmdlKHR5cGUpIHsKICAgIHRoaXMubnVtSW5kZXggPSAwOwogICAgY29uc29sZS5sb2coIlvop4bpopHliIfmjaIxMTExMTExMV0iLCB0eXBlKTsKICAgIHRoaXMubnVtYmVyVmlkZW9zID0gdHlwZTsKICAgIHRoaXMudmlkZW9MaXN0VHlwZSA9IHR5cGU7CiAgICB2YXIgX2luZGV4ID0gdHlwZSA9PT0gMSA/IDQgOiAxOwogICAgdGhpcy4kZW1pdCgiZ2V0VHlwZSIsIHR5cGUpOwogICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBfaW5kZXg7IGluZGV4KyspIHsKICAgICAgICB2YXIgaXRlbSA9IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmVsLW1lbnUgLmVsLWNoZWNrYm94IikpW2luZGV4XTsKICAgICAgICBpZiAoIWl0ZW0ucXVlcnlTZWxlY3RvcigiaW5wdXQiKS5jaGVja2VkKSB7CiAgICAgICAgICBpdGVtLmNsaWNrKCk7CiAgICAgICAgfQogICAgICB9CiAgICB9LCA1MDApOwogICAgLy8gdGhpcy52aWRlb0luaXQoKTsKICAgIC8vIHRoaXMudmlkZW9UcmVlSW5pdCgpOwogIH0sCiAgZ2V0VEltZTogZnVuY3Rpb24gZ2V0VEltZSh0aW1lKSB7CiAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKHRpbWUpOwogICAgdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7IC8vIOiOt+WPluW5tOS7vQogICAgdmFyIG1vbnRoID0gZGF0ZS5nZXRNb250aCgpICsgMTsgLy8g6I635Y+W5pyI5Lu977yM6ZyA6KaB5YqgMQogICAgdmFyIGRheSA9IGRhdGUuZ2V0RGF0ZSgpOyAvLyDojrflj5bml6XmnJ8KICAgIHZhciBmdWxsRGF0ZSA9ICIiLmNvbmNhdCh5ZWFyLCAiLSIpLmNvbmNhdChtb250aCA8IDEwID8gIjAiICsgbW9udGggOiBtb250aCwgIi0iKS5jb25jYXQoZGF5IDwgMTAgPyAiMCIgKyBkYXkgOiBkYXkpOwogICAgcmV0dXJuIG5ldyBEYXRlKGZ1bGxEYXRlKS5nZXRUaW1lKCk7CiAgfSwKICBoYW5kbGVTZWxlY3Q6IGZ1bmN0aW9uIGhhbmRsZVNlbGVjdCgpIHsKICAgIHZhciB2YWwgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IDE7CiAgICBjb25zb2xlLmxvZygiW+inhumikeacjeWKoV10YWLliIfmjaIiLCB2YWwpOwogICAgaWYgKHZhbCA9PSAxKSB7CiAgICAgIHRoaXMudmlkZW9UeXBlID0gMTsKICAgICAgdGhpcy5jYW1lcmFDb2RlVXJsID0gIiI7CiAgICAgIHRoaXMuY2FtZXJhQ29kZVZpZGVvID0gdGhpcy5jYW1lcmFDb2RlOwogICAgICB0aGlzLnRhYmxlRGF0YSA9IFtdOwogICAgICB0aGlzLnBsYXliYWNrTW9kYWwudGltZSA9ICIiOwogICAgICB0aGlzLmlzVGltZSA9IGZhbHNlOwogICAgICB0aGlzLnZpZGVvTGlzdFR5cGVDaGFuZ2UoMCk7CiAgICB9IGVsc2UgaWYgKHZhbCA9PSAyKSB7CiAgICAgIHRoaXMudmlkZW9UeXBlID0gMjsKICAgICAgdGhpcy5jYW1lcmFDb2RlVmlkZW8gPSAiIjsKICAgICAgLy8gdGhpcy5pc1RpbWUgPSB0cnVlOwogICAgICAvLyBjb25zb2xlLmxvZygi5oql6K2m5pe26Ze0IiwgdGhpcy5hbGFybVRpbWUpOwogICAgICAvLyAvLyDluKbmnInmiqXorabml7bpl7QKICAgICAgLy8gaWYgKHRoaXMuYWxhcm1UaW1lKSB7CiAgICAgIC8vICAgY29uc3QgYmVnaW5UaW1lID0gZGF5anMobmV3IERhdGUodGhpcy5hbGFybVRpbWUpKQogICAgICAvLyAgICAgLnN1YnRyYWN0KDEwLCAibWludXRlIikKICAgICAgLy8gICAgIC5mb3JtYXQoIllZWVktTU0tREQgSEg6bW06c3MiKTsKICAgICAgLy8gICBjb25zdCBlbmRUaW1lID0gZGF5anMoKS5mb3JtYXQoIllZWVktTU0tREQgSEg6bW06c3MiKTsKICAgICAgLy8gICB0aGlzLnBsYXliYWNrTW9kYWwudGltZSA9IFtiZWdpblRpbWUsIGVuZFRpbWVdOwogICAgICAvLyAgIGNvbnNvbGUubG9nKHRoaXMucGxheWJhY2tNb2RhbC50aW1lKTsKICAgICAgLy8gfSBlbHNlIHsKICAgICAgLy8gICB0aGlzLnBsYXliYWNrTW9kYWwudGltZSA9IFtdOwogICAgICAvLyB9CgogICAgICAvLyB0aGlzLnBsYXliYWNrTW9kYWxTaG93KCk7CiAgICB9CgogICAgdGhpcy4kZW1pdCgidGFiQ2hhbmdlIiwgdmFsKTsKICB9LAogIHBsYXliYWNrTW9kYWxTaG93OiBmdW5jdGlvbiBwbGF5YmFja01vZGFsU2hvdygpIHsKICAgIHRoaXMucGxheWJhY2tNb2RhbC5zaG93ID0gdHJ1ZTsKICB9LAogIHBsYXliYWNrTW9kYWxDbG9zZTogZnVuY3Rpb24gcGxheWJhY2tNb2RhbENsb3NlKCkgewogICAgdGhpcy5jYW1lcmFDb2RlVXJsID0gIiI7CiAgICB0aGlzLmNhbWVyYUNvZGVWaWRlbyA9ICIiOwogICAgdGhpcy5wbGF5YmFja01vZGFsLnNob3cgPSBmYWxzZTsKICB9LAogIHRpbWVDaGFnZTogZnVuY3Rpb24gdGltZUNoYWdlKCkgewogICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICBjb25zb2xlLmxvZygidGltZUNoYWdlIiwgdGhpcy5wbGF5YmFja01vZGFsKTsKICAgIGlmICh0aGlzLnBsYXliYWNrTW9kYWwuZGF0ZSAmJiB0aGlzLnBsYXliYWNrTW9kYWwudGltZS5sZW5ndGggPiAxKSB7CiAgICAgIGJhc2VDYW1lcmFNYW5hZ2VtZW50UGxheSh7CiAgICAgICAgY2FtZXJhQ29kZTogdGhpcy5jYW1lcmFDb2RlLAogICAgICAgIHN0YXJ0VGltZTogdGhpcy5wbGF5YmFja01vZGFsLmRhdGUgKyAiICIgKyB0aGlzLnBsYXliYWNrTW9kYWwudGltZVswXSwKICAgICAgICBlbnRUaW1lOiB0aGlzLnBsYXliYWNrTW9kYWwuZGF0ZSArICIgIiArIHRoaXMucGxheWJhY2tNb2RhbC50aW1lWzFdCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzMy50YWJsZURhdGEgPSByZXMuZGF0YSB8fCBbXTsKICAgICAgICBjb25zb2xlLmxvZyhyZXMsICJyZXMiKTsKICAgICAgICAvLyBpZiAocmVzLmNvZGUgPT0gIjIwMCIgJiYgcmVzLmRhdGEpIHsKICAgICAgICAvLyAgIHRoaXMuY2FtZXJhQ29kZVVybCA9IHJlcy5kYXRhOwogICAgICAgIC8vICAgdGhpcy5jYW1lcmFDb2RlVmlkZW8gPSAiIjsKICAgICAgICAvLyB9IGVsc2UgewogICAgICAgIC8vICAgdGhpcy5jYW1lcmFDb2RlVXJsID0gIiI7CiAgICAgICAgLy8gICB0aGlzLmNhbWVyYUNvZGVWaWRlbyA9ICIiOwogICAgICAgIC8vICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsKICAgICAgICAvLyB9CiAgICAgIH0pOwogICAgfQogIH0sCiAgcGxheWJhY2tNb2RhbFN1Y2Nlc3M6IGZ1bmN0aW9uIHBsYXliYWNrTW9kYWxTdWNjZXNzKCkgewogICAgdGhpcy5wbGF5YmFja01vZGFsLnNob3cgPSBmYWxzZTsKICB9LAogIHBsYXk6IGZ1bmN0aW9uIHBsYXkocm93KSB7CiAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgIHRoaXMucGxheWJhY2tNb2RhbC5zaG93ID0gdHJ1ZTsKICAgIGNvbnNvbGUubG9nKHRoaXMudGFibGVEYXRhKTsKICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgdmFyIGNvbmZpZyA9IHsKICAgICAgICBlbDogX3RoaXM0LiRyZWZzLm1zZSwKICAgICAgICB1cmw6IHJvdy51cmwsCiAgICAgICAgZmx1aWQ6IHRydWUsCiAgICAgICAgcGxheW5leHQ6IHsKICAgICAgICAgIHVybExpc3Q6IF90aGlzNC50YWJsZURhdGEubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgIHJldHVybiBpdGVtLnVybDsKICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBwb3N0ZXI6ICIiLAogICAgICAgIHBsdWdpbnM6IFtdLAogICAgICAgIGlzTGl2ZTogZmFsc2UsCiAgICAgICAgYXV0b3BsYXk6IHRydWUsCiAgICAgICAgYXV0b3BsYXlNdXRlZDogdHJ1ZQogICAgICB9OwogICAgICBjb25maWcucGx1Z2lucy5wdXNoKEZsdlBsYXllcik7CiAgICAgIF90aGlzNC5wbGF5ZXIgPSBuZXcgUGxheWVyKGNvbmZpZyk7CiAgICAgIC8vIHRoaXMucGxheWVyLm9uKEV2ZW50cy5QbEFZLCAoKSA9PiB7CiAgICAgIC8vICAgLy8gVE9ETwogICAgICAvLyB9KQogICAgfSk7CiAgfSwKICBpbnZpdGU6IGZ1bmN0aW9uIGludml0ZShzdGFydFRpbWUsIGVudFRpbWUpIHsKICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgX2ludml0ZSh7CiAgICAgIGNhbWVyYUNvZGU6IHRoaXMuY2FtZXJhQ29kZSwKICAgICAgc3RhcnRUaW1lOiBzdGFydFRpbWUsCiAgICAgIGVudFRpbWU6IGVudFRpbWUKICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICBpZiAocmVzLmNvZGUgPT0gIjIwMCIgJiYgcmVzLmRhdGEpIHsKICAgICAgICBfdGhpczUuY2FtZXJhQ29kZVVybCA9IHJlcy5kYXRhOwogICAgICAgIF90aGlzNS5jYW1lcmFDb2RlVmlkZW8gPSAiIjsKICAgICAgfSBlbHNlIHsKICAgICAgICBfdGhpczUuY2FtZXJhQ29kZVVybCA9ICIiOwogICAgICAgIF90aGlzNS5jYW1lcmFDb2RlVmlkZW8gPSAiIjsKICAgICAgICBfdGhpczUuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7CiAgICAgIH0KICAgIH0pOwogIH0KfSksIF9uYW1lJGNvbXBvbmVudHMkZGF0YSk7"},{"version":3,"names":["videoLine","videoPlayer","invite","baseCameraManagementPlay","Video","records","lineDate","dayjs","require","_name$components$data","name","components","data","isFullScreen","props","videoType","type","Number","default","_default","checkboxArr","Array","getAllCamera","cameraCode","String","alarmTime","watch","handler","res","console","log","deep","newValue","cameraCodeVideo","_this","then","src","Math","random","_videoType","handleSelect","videoListType","_defineProperty","_this2","tableData","isTime","pickerOptions","onPick","time","minDate","disabledDate","picker","getTIme","getTime","Date","now","cameraCodeUrl","emptyText","playbackModal","show","date","mounted","toggleFullScreen","fullscreenModule","$refs","requestFullscreen","document","exitFullscreen","videoListTypeChange","numIndex","numberVideos","_index","$emit","setTimeout","index","item","from","querySelectorAll","querySelector","checked","click","year","getFullYear","month","getMonth","day","getDate","fullDate","concat","val","arguments","length","undefined","playbackModalShow","playbackModalClose","timeChage","_this3","startTime","entTime","playbackModalSuccess","play","row","_this4","$nextTick","config","el","mse","url","fluid","playnext","urlList","map","poster","plugins","isLive","autoplay","autoplayMuted","push","FlvPlayer","player","Player","_this5","code","$message","error","msg"],"sources":["src/components/videoPlayer/playback.vue"],"sourcesContent":["<template>\n <el-container style=\"padding: 15px 10px\">\n <el-header style=\"padding: 0px; height: 35px\">\n <div style=\"\n display: flex;\n justify-content: space-between;\n align-items: center;\n \">\n <div style=\"display: flex\">\n <div style=\"\n width: 100px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n \" :style=\"{\n backgroundColor: _videoType == 1 ? '#2766dd' : '',\n color: _videoType == 1 ? '#fff' : '',\n }\" @click=\"handleSelect(1)\">\n 实时监测\n </div>\n <div style=\"\n width: 100px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n \" :style=\"{\n backgroundColor: _videoType == 2 ? '#2766dd' : '',\n color: _videoType == 2 ? '#fff' : '',\n }\" @click=\"handleSelect(2)\">\n 回放视频\n </div>\n </div>\n <div v-if=\"videoType != 2\">\n <!-- 4分屏已选中 -->\n <img v-if=\"videoListType == 1\" src=\"@/assets/tag-2-select.png\" class=\"button-base\"\n @click=\"videoListTypeChange(1)\" />\n <!-- 4分屏未选中 -->\n <img v-else src=\"@/assets/tag-2.png\" class=\"button-base\" @click=\"videoListTypeChange(1)\" />\n\n <!-- 一分屏已选中 -->\n <div v-if=\"videoListType == 0\" class=\"button-base\" style=\"background-color: #017ebc\"></div>\n <!-- 一分屏未选中 -->\n <img v-else src=\"@/assets/tag-1.png\" class=\"button-base\" @click=\"videoListTypeChange(0)\" />\n <!-- 九分屏已选中 -->\n <!-- <img\n v-if=\"videoListType == 2\"\n src=\"@/assets/tag-3-select.png\"\n class=\"button-base\"\n @click=\"videoListTypeChange(2)\"\n /> -->\n <!-- 全屏 -->\n\n <img v-else src=\"@/assets/fagnda.png\" class=\"button-base\" @click=\"videoListTypeChange(2)\" />\n <img v-if=\"videoListMagnify == false\" src=\"@/assets/fagnda.png\" class=\"fangda\" style=\"margin-right: 0\"\n @click=\"videoFullScreen\" />\n <img v-if=\"videoListMagnify == true\" src=\"@/assets/fagnda.png\" class=\"fangda\" style=\"margin-right: 10px\"\n @click=\"fullScreenChange\" />\n <!-- <div @click=\"toggleFullScreen\">放大</div> -->\n <img src=\"../../assets/放大.png\" class=\"fangda\" style=\"margin-right: 10px\"\n @click.stop=\"toggleFullScreen\" />\n </div>\n <!-- <el-date-picker\n style=\"position: relative; top: -5px\"\n v-model=\"playbackModal.time\"\n @change=\"timeChage\"\n v-if=\"videoType == 2\"\n :picker-options=\"pickerOptions\"\n type=\"datetimerange\"\n range-separator=\"至\"\n value-format=\"yyyy-MM-dd HH:mm:ss\"\n format=\"yyyy-MM-dd HH:mm\"\n start-placeholder=\"开始日期\"\n end-placeholder=\"结束日期\"\n /> -->\n\n <template v-if=\"videoType == 2\">\n <div>\n <el-date-picker size=\"small\" value-format=\"yyyy-MM-dd\" @change=\"timeChage\"\n v-model=\"playbackModal.date\" type=\"date\" placeholder=\"选择日期\"\n style=\"width: 150px\"></el-date-picker>\n -\n <el-time-picker size=\"small\" value-format=\"HH:mm:ss\" @change=\"timeChage\"\n v-model=\"playbackModal.time\" is-range range-separator=\"至\" start-placeholder=\"开始时间\"\n end-placeholder=\"结束时间\" placeholder=\"选择时间范围\" style=\"width: 230px\"></el-time-picker>\n </div>\n </template>\n </div>\n </el-header>\n <el-main style=\"padding: 0px; overflow: auto\" :class=\"'className' + this._videoType\" v-if=\"this.videoType != 2\">\n <div :class=\"{ fullscreen: isFullScreen }\" ref=\"fullscreenModule\" class=\"videoDiv\" v-if=\"videoListType == 1\"\n style=\"\n width: 100%;\n height: 100%;\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n \">\n <div v-for=\"(item, index) in 4\" style=\"\n width: 50%;\n height: 50%;\n float: left;\n border: 5px solid #fff;\n \">\n <videoLine :camera-code=\"checkboxArr[index]\n ? checkboxArr[index].cameraCode\n : ''\n \" :items=\"false\" :all-camera=\"getAllCamera\"></videoLine>\n <Video :src=\"checkboxArr[index] ? checkboxArr[index].src : ''\" />\n </div>\n </div>\n <div :class=\"{ fullscreen: isFullScreen }\" ref=\"fullscreenModule\" class=\"videoDiv\" v-if=\"videoListType == 0\"\n style=\"width: 100%; height: 100%\">\n <videoLine :items=\"false\" :camera-code=\"cameraCode ? checkboxArr[0].cameraCode : ''\"></videoLine>\n <Video :src=\"checkboxArr[0].src\" />\n </div>\n </el-main>\n <el-main style=\"padding: 0px\" :class=\"'className' + this.videoType\" v-else>\n\n <!-- <el-table\n :empty-text=\"emptyText\"\n :data=\"tableData\"\n height=\"530px\"\n style=\"width: 100%\"\n >\n <el-table-column label=\"序号\" width=\"80\">\n <template slot-scope=\"scope\">\n <span>{{ scope.$index + 1 }}</span>\n </template>\n </el-table-column>\n <el-table-column prop=\"startTime\" label=\"开始时间\" width=\"180\">\n </el-table-column>\n <el-table-column prop=\"entTime\" label=\"结束时间\">\n </el-table-column>\n <el-table-column label=\"播放视频\">\n <template slot-scope=\"scope\">\n <div style=\"color: #0065ff\" @click=\"play(scope.row)\">\n 播放\n </div>\n </template>\n </el-table-column>\n </el-table> -->\n <!-- <div\n style=\"\n position: absolute;\n left: 0px;\n top: 117px;\n width: 100%;\n text-align: center;\n \"\n >\n <img\n src=\"19241681291305_.pic.jpg\"\n v-if=\"tableData.length === 0\"\n style=\"width: 213px; left: 39%\"\n alt=\"No Data\"\n />\n </div> -->\n <div style=\"padding-bottom: 14px;background-color: #000;height:100%\">\n <videoLine :showElectric=\"false\" :items=\"false\" :camera-code=\"cameraCode\">\n </videoLine>\n <Video :src=\"tableData\"></Video>\n </div>\n </el-main>\n\n <!-- 回放功能 -->\n <el-dialog :visible.sync=\"playbackModal.show\" v-if=\"playbackModal.show\" :before-close=\"playbackModalClose\"\n title=\"视频详情\" width=\"900px\">\n <div>\n <videoLine :camera-code=\"cameraCode\"></videoLine>\n <div ref=\"mse\" style=\"width: 100%\"></div>\n </div>\n </el-dialog>\n </el-container>\n</template>\n\n<script>\nimport videoLine from \"@/components/videoPlayer/videoLine\";\nimport videoPlayer from \"@/components/videoPlayer/videoPlayer\";\nimport { invite, baseCameraManagementPlay } from \"@/api/video\";\nimport Video from \"@/views/dashboard/Video\";\nimport { records, lineDate } from \"@/api/video\";\nvar dayjs = require(\"dayjs\");\n\n// palyAndPlayback\n// 播放与回放\nexport default {\n name: \"PalyAndPlayback\",\n components: { videoLine, videoPlayer, Video },\n data() {\n return {\n isFullScreen: false,\n };\n },\n props: {\n videoType: {\n // 菜单类型\n type: Number,\n default() {\n return 1;\n },\n },\n checkboxArr: {\n type: Array,\n default() {\n return \"\";\n },\n },\n getAllCamera: {\n type: Array,\n default() {\n return \"\";\n },\n },\n cameraCode: {\n // 摄像机code\n type: String,\n default() {\n return \"\";\n },\n },\n alarmTime: {\n // 报警时间\n type: String,\n default() {\n return \"\";\n },\n },\n },\n watch: {\n checkboxArr: {\n handler(res) {\n console.log(res);\n },\n deep: true,\n },\n cameraCode(newValue) {\n console.log(newValue, \"111\");\n this.cameraCodeVideo = newValue;\n },\n cameraCodeVideo(newValue) {\n records(newValue, true).then((res) => {\n this.src = res.data + \"?\" + Math.random();\n });\n },\n videoType(newValue) {\n this._videoType = newValue || 1;\n this.handleSelect(this._videoType);\n },\n videoListType() {\n console.log(this.videoListType);\n },\n },\n data() {\n return {\n videoListType: 0, // [右而]当前tab类型\n _videoType: 1,\n tableData: [],\n isTime: false,\n src: \"\",\n cameraCodeVideo: \"\",\n pickerOptions: {\n onPick: (time) => {\n console.log(time, \"time\");\n this.minDate = time.minDate;\n },\n disabledDate: (time, picker) => {\n if (\n this.minDate &&\n this.getTIme(this.minDate) != this.getTIme(time)\n ) {\n return true;\n }\n return time.getTime() > Date.now();\n },\n },\n cameraCodeUrl: \"\",\n emptyText: \"\",\n playbackModal: {\n // 回放模块\n show: false,\n date: \"\", // 日期\n time: \"\", // 时间\n },\n };\n },\n mounted() {\n this.handleSelect(this._videoType);\n this._videoType = this.videoType;\n },\n methods: {\n toggleFullScreen() {\n const fullscreenModule = this.$refs.fullscreenModule;\n\n if (!this.isFullScreen) {\n fullscreenModule.requestFullscreen();\n } else {\n document.exitFullscreen();\n }\n\n this.isFullScreen = !this.isFullScreen;\n },\n // 视频模块切换\n videoListTypeChange(type) {\n this.numIndex = 0;\n console.log(\"[视频切换11111111]\", type);\n this.numberVideos = type;\n\n this.videoListType = type;\n var _index = type === 1 ? 4 : 1;\n this.$emit(\"getType\", type);\n setTimeout(() => {\n for (let index = 0; index < _index; index++) {\n var item = Array.from(\n document.querySelectorAll(\".el-menu .el-checkbox\")\n )[index];\n if (!item.querySelector(\"input\").checked) {\n item.click();\n }\n }\n }, 500);\n // this.videoInit();\n // this.videoTreeInit();\n },\n getTIme(time) {\n const date = new Date(time);\n const year = date.getFullYear(); // 获取年份\n const month = date.getMonth() + 1; // 获取月份,需要加1\n const day = date.getDate(); // 获取日期\n const fullDate = `${year}-${month < 10 ? \"0\" + month : month}-${day < 10 ? \"0\" + day : day\n }`;\n return new Date(fullDate).getTime();\n },\n handleSelect(val = 1) {\n console.log(\"[视频服务]tab切换\", val);\n if (val == 1) {\n this.videoType = 1;\n this.cameraCodeUrl = \"\";\n this.cameraCodeVideo = this.cameraCode;\n this.tableData = [];\n this.playbackModal.time = \"\";\n this.isTime = false;\n this.videoListTypeChange(0);\n } else if (val == 2) {\n this.videoType = 2;\n this.cameraCodeVideo = \"\";\n // this.isTime = true;\n // console.log(\"报警时间\", this.alarmTime);\n // // 带有报警时间\n // if (this.alarmTime) {\n // const beginTime = dayjs(new Date(this.alarmTime))\n // .subtract(10, \"minute\")\n // .format(\"YYYY-MM-DD HH:mm:ss\");\n // const endTime = dayjs().format(\"YYYY-MM-DD HH:mm:ss\");\n // this.playbackModal.time = [beginTime, endTime];\n // console.log(this.playbackModal.time);\n // } else {\n // this.playbackModal.time = [];\n // }\n\n // this.playbackModalShow();\n }\n\n this.$emit(\"tabChange\", val);\n },\n playbackModalShow() {\n this.playbackModal.show = true;\n },\n playbackModalClose() {\n this.cameraCodeUrl = \"\";\n this.cameraCodeVideo = \"\";\n this.playbackModal.show = false;\n },\n timeChage() {\n console.log(\"timeChage\", this.playbackModal);\n if (this.playbackModal.date && this.playbackModal.time.length > 1) {\n baseCameraManagementPlay({\n cameraCode: this.cameraCode,\n startTime:\n this.playbackModal.date +\n \" \" +\n this.playbackModal.time[0],\n entTime:\n this.playbackModal.date +\n \" \" +\n this.playbackModal.time[1],\n }).then((res) => {\n this.tableData = res.data || [];\n console.log(res, \"res\");\n // if (res.code == \"200\" && res.data) {\n // this.cameraCodeUrl = res.data;\n // this.cameraCodeVideo = \"\";\n // } else {\n // this.cameraCodeUrl = \"\";\n // this.cameraCodeVideo = \"\";\n // this.$message.error(res.msg);\n // }\n });\n }\n },\n playbackModalSuccess() {\n this.playbackModal.show = false;\n },\n play(row) {\n this.playbackModal.show = true;\n console.log(this.tableData);\n this.$nextTick(() => {\n const config = {\n el: this.$refs.mse,\n url: row.url,\n fluid: true,\n playnext: {\n urlList: this.tableData.map((item) => item.url),\n },\n poster: \"\",\n plugins: [],\n isLive: false,\n autoplay: true,\n autoplayMuted: true,\n };\n\n config.plugins.push(FlvPlayer);\n\n this.player = new Player(config);\n // this.player.on(Events.PlAY, () => {\n // // TODO\n // })\n });\n },\n invite(startTime, entTime) {\n invite({\n cameraCode: this.cameraCode,\n startTime: startTime,\n entTime: entTime,\n }).then((res) => {\n if (res.code == \"200\" && res.data) {\n this.cameraCodeUrl = res.data;\n this.cameraCodeVideo = \"\";\n } else {\n this.cameraCodeUrl = \"\";\n this.cameraCodeVideo = \"\";\n this.$message.error(res.msg);\n }\n });\n },\n },\n};\n</script>\n\n<style >\n.className2 {\n position: relative;\n}\n\n.button-base {\n width: 25px;\n height: 18px;\n margin-right: 10px;\n cursor: pointer;\n float: right;\n}\n\n.fangda {\n cursor: pointer;\n width: 18px;\n height: 18px;\n margin-right: 10px;\n}\n\n.homeRight-video-operation {\n text-align: right;\n background: red;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoLA,OAAAA,SAAA;AACA,OAAAC,WAAA;AACA,SAAAC,MAAA,IAAAA,OAAA,EAAAC,wBAAA;AACA,OAAAC,KAAA;AACA,SAAAC,OAAA,EAAAC,QAAA;AACA,IAAAC,KAAA,GAAAC,OAAA;;AAEA;AACA;AACA,gBAAAC,qBAAA;EACAC,IAAA;EACAC,UAAA;IAAAX,SAAA,EAAAA,SAAA;IAAAC,WAAA,EAAAA,WAAA;IAAAG,KAAA,EAAAA;EAAA;EACAQ,IAAA,WAAAA,KAAA;IACA;MACAC,YAAA;IACA;EACA;EACAC,KAAA;IACAC,SAAA;MACA;MACAC,IAAA,EAAAC,MAAA;MACAC,OAAA,WAAAC,SAAA;QACA;MACA;IACA;IACAC,WAAA;MACAJ,IAAA,EAAAK,KAAA;MACAH,OAAA,WAAAC,SAAA;QACA;MACA;IACA;IACAG,YAAA;MACAN,IAAA,EAAAK,KAAA;MACAH,OAAA,WAAAC,SAAA;QACA;MACA;IACA;IACAI,UAAA;MACA;MACAP,IAAA,EAAAQ,MAAA;MACAN,OAAA,WAAAC,SAAA;QACA;MACA;IACA;IACAM,SAAA;MACA;MACAT,IAAA,EAAAQ,MAAA;MACAN,OAAA,WAAAC,SAAA;QACA;MACA;IACA;EACA;EACAO,KAAA;IACAN,WAAA;MACAO,OAAA,WAAAA,QAAAC,GAAA;QACAC,OAAA,CAAAC,GAAA,CAAAF,GAAA;MACA;MACAG,IAAA;IACA;IACAR,UAAA,WAAAA,WAAAS,QAAA;MACAH,OAAA,CAAAC,GAAA,CAAAE,QAAA;MACA,KAAAC,eAAA,GAAAD,QAAA;IACA;IACAC,eAAA,WAAAA,gBAAAD,QAAA;MAAA,IAAAE,KAAA;MACA7B,OAAA,CAAA2B,QAAA,QAAAG,IAAA,WAAAP,GAAA;QACAM,KAAA,CAAAE,GAAA,GAAAR,GAAA,CAAAhB,IAAA,SAAAyB,IAAA,CAAAC,MAAA;MACA;IACA;IACAvB,SAAA,WAAAA,UAAAiB,QAAA;MACA,KAAAO,UAAA,GAAAP,QAAA;MACA,KAAAQ,YAAA,MAAAD,UAAA;IACA;IACAE,aAAA,WAAAA,cAAA;MACAZ,OAAA,CAAAC,GAAA,MAAAW,aAAA;IACA;EACA;AAAA,GAAAC,eAAA,CAAAjC,qBAAA,mBAAAG,KAAA,EACA;EAAA,IAAA+B,MAAA;EACA;IACAF,aAAA;IAAA;IACAF,UAAA;IACAK,SAAA;IACAC,MAAA;IACAT,GAAA;IACAH,eAAA;IACAa,aAAA;MACAC,MAAA,WAAAA,OAAAC,IAAA;QACAnB,OAAA,CAAAC,GAAA,CAAAkB,IAAA;QACAL,MAAA,CAAAM,OAAA,GAAAD,IAAA,CAAAC,OAAA;MACA;MACAC,YAAA,WAAAA,aAAAF,IAAA,EAAAG,MAAA;QACA,IACAR,MAAA,CAAAM,OAAA,IACAN,MAAA,CAAAS,OAAA,CAAAT,MAAA,CAAAM,OAAA,KAAAN,MAAA,CAAAS,OAAA,CAAAJ,IAAA,GACA;UACA;QACA;QACA,OAAAA,IAAA,CAAAK,OAAA,KAAAC,IAAA,CAAAC,GAAA;MACA;IACA;IACAC,aAAA;IACAC,SAAA;IACAC,aAAA;MACA;MACAC,IAAA;MACAC,IAAA;MAAA;MACAZ,IAAA;IACA;EACA;AACA,IAAAN,eAAA,CAAAjC,qBAAA,sBAAAoD,QAAA,EACA;EACA,KAAArB,YAAA,MAAAD,UAAA;EACA,KAAAA,UAAA,QAAAxB,SAAA;AACA,IAAA2B,eAAA,CAAAjC,qBAAA,aACA;EACAqD,gBAAA,WAAAA,iBAAA;IACA,IAAAC,gBAAA,QAAAC,KAAA,CAAAD,gBAAA;IAEA,UAAAlD,YAAA;MACAkD,gBAAA,CAAAE,iBAAA;IACA;MACAC,QAAA,CAAAC,cAAA;IACA;IAEA,KAAAtD,YAAA,SAAAA,YAAA;EACA;EACA;EACAuD,mBAAA,WAAAA,oBAAApD,IAAA;IACA,KAAAqD,QAAA;IACAxC,OAAA,CAAAC,GAAA,mBAAAd,IAAA;IACA,KAAAsD,YAAA,GAAAtD,IAAA;IAEA,KAAAyB,aAAA,GAAAzB,IAAA;IACA,IAAAuD,MAAA,GAAAvD,IAAA;IACA,KAAAwD,KAAA,YAAAxD,IAAA;IACAyD,UAAA;MACA,SAAAC,KAAA,MAAAA,KAAA,GAAAH,MAAA,EAAAG,KAAA;QACA,IAAAC,IAAA,GAAAtD,KAAA,CAAAuD,IAAA,CACAV,QAAA,CAAAW,gBAAA,yBACA,EAAAH,KAAA;QACA,KAAAC,IAAA,CAAAG,aAAA,UAAAC,OAAA;UACAJ,IAAA,CAAAK,KAAA;QACA;MACA;IACA;IACA;IACA;EACA;EACA5B,OAAA,WAAAA,QAAAJ,IAAA;IACA,IAAAY,IAAA,OAAAN,IAAA,CAAAN,IAAA;IACA,IAAAiC,IAAA,GAAArB,IAAA,CAAAsB,WAAA;IACA,IAAAC,KAAA,GAAAvB,IAAA,CAAAwB,QAAA;IACA,IAAAC,GAAA,GAAAzB,IAAA,CAAA0B,OAAA;IACA,IAAAC,QAAA,MAAAC,MAAA,CAAAP,IAAA,OAAAO,MAAA,CAAAL,KAAA,cAAAA,KAAA,GAAAA,KAAA,OAAAK,MAAA,CAAAH,GAAA,cAAAA,GAAA,GAAAA,GAAA,CACA;IACA,WAAA/B,IAAA,CAAAiC,QAAA,EAAAlC,OAAA;EACA;EACAb,YAAA,WAAAA,aAAA;IAAA,IAAAiD,GAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA;IACA7D,OAAA,CAAAC,GAAA,gBAAA2D,GAAA;IACA,IAAAA,GAAA;MACA,KAAA1E,SAAA;MACA,KAAAyC,aAAA;MACA,KAAAvB,eAAA,QAAAV,UAAA;MACA,KAAAqB,SAAA;MACA,KAAAc,aAAA,CAAAV,IAAA;MACA,KAAAH,MAAA;MACA,KAAAuB,mBAAA;IACA,WAAAqB,GAAA;MACA,KAAA1E,SAAA;MACA,KAAAkB,eAAA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;;MAEA;IACA;;IAEA,KAAAuC,KAAA,cAAAiB,GAAA;EACA;EACAI,iBAAA,WAAAA,kBAAA;IACA,KAAAnC,aAAA,CAAAC,IAAA;EACA;EACAmC,kBAAA,WAAAA,mBAAA;IACA,KAAAtC,aAAA;IACA,KAAAvB,eAAA;IACA,KAAAyB,aAAA,CAAAC,IAAA;EACA;EACAoC,SAAA,WAAAA,UAAA;IAAA,IAAAC,MAAA;IACAnE,OAAA,CAAAC,GAAA,mBAAA4B,aAAA;IACA,SAAAA,aAAA,CAAAE,IAAA,SAAAF,aAAA,CAAAV,IAAA,CAAA2C,MAAA;MACAxF,wBAAA;QACAoB,UAAA,OAAAA,UAAA;QACA0E,SAAA,EACA,KAAAvC,aAAA,CAAAE,IAAA,GACA,MACA,KAAAF,aAAA,CAAAV,IAAA;QACAkD,OAAA,EACA,KAAAxC,aAAA,CAAAE,IAAA,GACA,MACA,KAAAF,aAAA,CAAAV,IAAA;MACA,GAAAb,IAAA,WAAAP,GAAA;QACAoE,MAAA,CAAApD,SAAA,GAAAhB,GAAA,CAAAhB,IAAA;QACAiB,OAAA,CAAAC,GAAA,CAAAF,GAAA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;MACA;IACA;EACA;EACAuE,oBAAA,WAAAA,qBAAA;IACA,KAAAzC,aAAA,CAAAC,IAAA;EACA;EACAyC,IAAA,WAAAA,KAAAC,GAAA;IAAA,IAAAC,MAAA;IACA,KAAA5C,aAAA,CAAAC,IAAA;IACA9B,OAAA,CAAAC,GAAA,MAAAc,SAAA;IACA,KAAA2D,SAAA;MACA,IAAAC,MAAA;QACAC,EAAA,EAAAH,MAAA,CAAAtC,KAAA,CAAA0C,GAAA;QACAC,GAAA,EAAAN,GAAA,CAAAM,GAAA;QACAC,KAAA;QACAC,QAAA;UACAC,OAAA,EAAAR,MAAA,CAAA1D,SAAA,CAAAmE,GAAA,WAAApC,IAAA;YAAA,OAAAA,IAAA,CAAAgC,GAAA;UAAA;QACA;QACAK,MAAA;QACAC,OAAA;QACAC,MAAA;QACAC,QAAA;QACAC,aAAA;MACA;MAEAZ,MAAA,CAAAS,OAAA,CAAAI,IAAA,CAAAC,SAAA;MAEAhB,MAAA,CAAAiB,MAAA,OAAAC,MAAA,CAAAhB,MAAA;MACA;MACA;MACA;IACA;EACA;EACAtG,MAAA,WAAAA,OAAA+F,SAAA,EAAAC,OAAA;IAAA,IAAAuB,MAAA;IACAvH,OAAA;MACAqB,UAAA,OAAAA,UAAA;MACA0E,SAAA,EAAAA,SAAA;MACAC,OAAA,EAAAA;IACA,GAAA/D,IAAA,WAAAP,GAAA;MACA,IAAAA,GAAA,CAAA8F,IAAA,aAAA9F,GAAA,CAAAhB,IAAA;QACA6G,MAAA,CAAAjE,aAAA,GAAA5B,GAAA,CAAAhB,IAAA;QACA6G,MAAA,CAAAxF,eAAA;MACA;QACAwF,MAAA,CAAAjE,aAAA;QACAiE,MAAA,CAAAxF,eAAA;QACAwF,MAAA,CAAAE,QAAA,CAAAC,KAAA,CAAAhG,GAAA,CAAAiG,GAAA;MACA;IACA;EACA;AACA,IAAApH,qBAAA"}]}