{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js!D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\源码\\vue-element-admin-master\\src\\components\\ImageCropper\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\components\\ImageCropper\\index.vue","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\babel.config.js","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KJ3VzZSBzdHJpY3QnOwoKaW1wb3J0IF90eXBlb2YgZnJvbSAiRDovXHU2RTkwXHU3ODAxL3Z1ZS1lbGVtZW50LWFkbWluLW1hc3Rlci9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdHlwZW9mLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMubnVtYmVyLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCByZXF1ZXN0IGZyb20gJ0AvdXRpbHMvcmVxdWVzdCc7CmltcG9ydCBsYW5ndWFnZSBmcm9tICcuL3V0aWxzL2xhbmd1YWdlLmpzJzsKaW1wb3J0IG1pbWVzIGZyb20gJy4vdXRpbHMvbWltZXMuanMnOwppbXBvcnQgZGF0YTJibG9iIGZyb20gJy4vdXRpbHMvZGF0YTJibG9iLmpzJzsKaW1wb3J0IGVmZmVjdFJpcHBsZSBmcm9tICcuL3V0aWxzL2VmZmVjdFJpcHBsZS5qcyc7CmV4cG9ydCBkZWZhdWx0IHsKICBwcm9wczogewogICAgLy8g5Z+f77yM5LiK5Lyg5paH5Lu2bmFtZe+8jOinpuWPkeS6i+S7tuS8muW4puS4iu+8iOWmguaenOS4gOS4qumhtemdouWkmuS4quWbvueJh+S4iuS8oOaOp+S7tu+8jOWPr+S7peWBmuWMuuWIhgogICAgZmllbGQ6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnYXZhdGFyJwogICAgfSwKICAgIC8vIOWOn+WQjWtlee+8jOexu+S8vOS6jmlk77yM6Kem5Y+R5LqL5Lu25Lya5bim5LiK77yI5aaC5p6c5LiA5Liq6aG16Z2i5aSa5Liq5Zu+54mH5LiK5Lyg5o6n5Lu277yM5Y+v5Lul5YGa5Yy65YiGCiAgICBraTogewogICAgICB0eXBlOiBOdW1iZXIsCiAgICAgIGRlZmF1bHQ6IDAKICAgIH0sCiAgICAvLyDmmL7npLror6Xmjqfku7bkuI7lkKYKICAgIHZhbHVlOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IHRydWUKICAgIH0sCiAgICAvLyDkuIrkvKDlnLDlnYAKICAgIHVybDogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICcnCiAgICB9LAogICAgLy8g5YW25LuW6KaB5LiK5Lyg5paH5Lu26ZmE5bim55qE5pWw5o2u77yM5a+56LGh5qC85byPCiAgICBwYXJhbXM6IHsKICAgICAgdHlwZTogT2JqZWN0LAogICAgICBkZWZhdWx0OiBudWxsCiAgICB9LAogICAgLy8gQWRkIGN1c3RvbSBoZWFkZXJzCiAgICBoZWFkZXJzOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogbnVsbAogICAgfSwKICAgIC8vIOWJquijgeWbvueJh+eahOWuvQogICAgd2lkdGg6IHsKICAgICAgdHlwZTogTnVtYmVyLAogICAgICBkZWZhdWx0OiAyMDAKICAgIH0sCiAgICAvLyDliaroo4Hlm77niYfnmoTpq5gKICAgIGhlaWdodDogewogICAgICB0eXBlOiBOdW1iZXIsCiAgICAgIGRlZmF1bHQ6IDIwMAogICAgfSwKICAgIC8vIOS4jeaYvuekuuaXi+i9rOWKn+iDvQogICAgbm9Sb3RhdGU6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogdHJ1ZQogICAgfSwKICAgIC8vIOS4jemihOiniOWchuW9ouWbvueJhwogICAgbm9DaXJjbGU6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogZmFsc2UKICAgIH0sCiAgICAvLyDkuI3pooTop4jmlrnlvaLlm77niYcKICAgIG5vU3F1YXJlOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICB9LAogICAgLy8g5Y2V5paH5Lu25aSn5bCP6ZmQ5Yi2CiAgICBtYXhTaXplOiB7CiAgICAgIHR5cGU6IE51bWJlciwKICAgICAgZGVmYXVsdDogMTAyNDAKICAgIH0sCiAgICAvLyDor63oqIDnsbvlnosKICAgIGxhbmdUeXBlOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJ3poJwogICAgfSwKICAgIC8vIOivreiogOWMhQogICAgbGFuZ0V4dDogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIGRlZmF1bHQ6IG51bGwKICAgIH0sCiAgICAvLyDlm77niYfkuIrkvKDmoLzlvI8KICAgIGltZ0Zvcm1hdDogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICdwbmcnCiAgICB9LAogICAgLy8g5piv5ZCm5pSv5oyB6Leo5Z+fCiAgICB3aXRoQ3JlZGVudGlhbHM6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogZmFsc2UKICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICB2YXIgaW1nRm9ybWF0ID0gdGhpcy5pbWdGb3JtYXQsCiAgICAgICAgbGFuZ1R5cGUgPSB0aGlzLmxhbmdUeXBlLAogICAgICAgIGxhbmdFeHQgPSB0aGlzLmxhbmdFeHQsCiAgICAgICAgd2lkdGggPSB0aGlzLndpZHRoLAogICAgICAgIGhlaWdodCA9IHRoaXMuaGVpZ2h0OwogICAgdmFyIGlzU3VwcG9ydGVkID0gdHJ1ZTsKICAgIHZhciBhbGxvd0ltZ0Zvcm1hdCA9IFsnanBnJywgJ3BuZyddOwogICAgdmFyIHRlbXBJbWdGb3JtYXQgPSBhbGxvd0ltZ0Zvcm1hdC5pbmRleE9mKGltZ0Zvcm1hdCkgPT09IC0xID8gJ2pwZycgOiBpbWdGb3JtYXQ7CiAgICB2YXIgbGFuZyA9IGxhbmd1YWdlW2xhbmdUeXBlXSA/IGxhbmd1YWdlW2xhbmdUeXBlXSA6IGxhbmd1YWdlWydlbiddOwogICAgdmFyIG1pbWUgPSBtaW1lc1t0ZW1wSW1nRm9ybWF0XTsgLy8g6KeE6IyD5Zu+54mH5qC85byPCgogICAgdGhpcy5pbWdGb3JtYXQgPSB0ZW1wSW1nRm9ybWF0OwoKICAgIGlmIChsYW5nRXh0KSB7CiAgICAgIE9iamVjdC5hc3NpZ24obGFuZywgbGFuZ0V4dCk7CiAgICB9CgogICAgaWYgKHR5cGVvZiBGb3JtRGF0YSAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBpc1N1cHBvcnRlZCA9IGZhbHNlOwogICAgfQoKICAgIHJldHVybiB7CiAgICAgIC8vIOWbvueJh+eahG1pbWUKICAgICAgbWltZTogbWltZSwKICAgICAgLy8g6K+t6KiA5YyFCiAgICAgIGxhbmc6IGxhbmcsCiAgICAgIC8vIOa1j+iniOWZqOaYr+WQpuaUr+aMgeivpeaOp+S7tgogICAgICBpc1N1cHBvcnRlZDogaXNTdXBwb3J0ZWQsCiAgICAgIC8vIOa1j+iniOWZqOaYr+WQpuaUr+aMgeinpuWxj+S6i+S7tgogICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zCiAgICAgIGlzU3VwcG9ydFRvdWNoOiBkb2N1bWVudC5oYXNPd25Qcm9wZXJ0eSgnb250b3VjaHN0YXJ0JyksCiAgICAgIC8vIOatpemqpAogICAgICBzdGVwOiAxLAogICAgICAvLyAx6YCJ5oup5paH5Lu2IDLliaroo4EgM+S4iuS8oAogICAgICAvLyDkuIrkvKDnirbmgIHlj4rov5vluqYKICAgICAgbG9hZGluZzogMCwKICAgICAgLy8gMOacquW8gOWniyAx5q2j5ZyoIDLmiJDlip8gM+mUmeivrwogICAgICBwcm9ncmVzczogMCwKICAgICAgLy8g5piv5ZCm5pyJ6ZSZ6K+v5Y+K6ZSZ6K+v5L+h5oGvCiAgICAgIGhhc0Vycm9yOiBmYWxzZSwKICAgICAgZXJyb3JNc2c6ICcnLAogICAgICAvLyDpnIDmsYLlm77lrr3pq5jmr5QKICAgICAgcmF0aW86IHdpZHRoIC8gaGVpZ2h0LAogICAgICAvLyDljp/lm77lnLDlnYDjgIHnlJ/miJDlm77niYflnLDlnYAKICAgICAgc291cmNlSW1nOiBudWxsLAogICAgICBzb3VyY2VJbWdVcmw6ICcnLAogICAgICBjcmVhdGVJbWdVcmw6ICcnLAogICAgICAvLyDljp/lm77niYfmi5bliqjkuovku7bliJ3lp4vlgLwKICAgICAgc291cmNlSW1nTW91c2VEb3duOiB7CiAgICAgICAgb246IGZhbHNlLAogICAgICAgIG1YOiAwLAogICAgICAgIC8vIOm8oOagh+aMieS4i+eahOWdkOaghwogICAgICAgIG1ZOiAwLAogICAgICAgIHg6IDAsCiAgICAgICAgLy8gc2NhbGXljp/lm77lnZDmoIcKICAgICAgICB5OiAwCiAgICAgIH0sCiAgICAgIC8vIOeUn+aIkOWbvueJh+mihOiniOeahOWuueWZqOWkp+WwjwogICAgICBwcmV2aWV3Q29udGFpbmVyOiB7CiAgICAgICAgd2lkdGg6IDEwMCwKICAgICAgICBoZWlnaHQ6IDEwMAogICAgICB9LAogICAgICAvLyDljp/lm77lrrnlmajlrr3pq5gKICAgICAgc291cmNlSW1nQ29udGFpbmVyOiB7CiAgICAgICAgLy8gc2ljCiAgICAgICAgd2lkdGg6IDI0MCwKICAgICAgICBoZWlnaHQ6IDE4NCAvLyDlpoLmnpznlJ/miJDlm77mr5TkvovkuI7mraTkuIDoh7TkvJrlh7rnjrBidWfvvIzlhYjmlLnmiJDnibnmrornmoTmoLzlvI/lkKfvvIzlk4jlk4jlk4gKCiAgICAgIH0sCiAgICAgIC8vIOWOn+WbvuWxleekuuWxnuaApwogICAgICBzY2FsZTogewogICAgICAgIHpvb21BZGRPbjogZmFsc2UsCiAgICAgICAgLy8g5oyJ6ZKu57yp5pS+5LqL5Lu25byA5ZCvCiAgICAgICAgem9vbVN1Yk9uOiBmYWxzZSwKICAgICAgICAvLyDmjInpkq7nvKnmlL7kuovku7blvIDlkK8KICAgICAgICByYW5nZTogMSwKICAgICAgICAvLyDmnIDlpKcxMDAKICAgICAgICByb3RhdGVMZWZ0OiBmYWxzZSwKICAgICAgICAvLyDmjInpkq7lkJHlt6bml4vovazkuovku7blvIDlkK8KICAgICAgICByb3RhdGVSaWdodDogZmFsc2UsCiAgICAgICAgLy8g5oyJ6ZKu5ZCR5Y+z5peL6L2s5LqL5Lu25byA5ZCvCiAgICAgICAgZGVncmVlOiAwLAogICAgICAgIC8vIOaXi+i9rOW6puaVsAogICAgICAgIHg6IDAsCiAgICAgICAgeTogMCwKICAgICAgICB3aWR0aDogMCwKICAgICAgICBoZWlnaHQ6IDAsCiAgICAgICAgbWF4V2lkdGg6IDAsCiAgICAgICAgbWF4SGVpZ2h0OiAwLAogICAgICAgIG1pbldpZHRoOiAwLAogICAgICAgIC8vIOacgOWuvQogICAgICAgIG1pbkhlaWdodDogMCwKICAgICAgICBuYXR1cmFsV2lkdGg6IDAsCiAgICAgICAgLy8g5Y6f5a69CiAgICAgICAgbmF0dXJhbEhlaWdodDogMAogICAgICB9CiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIC8vIOi/m+W6puadoeagt+W8jwogICAgcHJvZ3Jlc3NTdHlsZTogZnVuY3Rpb24gcHJvZ3Jlc3NTdHlsZSgpIHsKICAgICAgdmFyIHByb2dyZXNzID0gdGhpcy5wcm9ncmVzczsKICAgICAgcmV0dXJuIHsKICAgICAgICB3aWR0aDogcHJvZ3Jlc3MgKyAnJScKICAgICAgfTsKICAgIH0sCiAgICAvLyDljp/lm77moLflvI8KICAgIHNvdXJjZUltZ1N0eWxlOiBmdW5jdGlvbiBzb3VyY2VJbWdTdHlsZSgpIHsKICAgICAgdmFyIHNjYWxlID0gdGhpcy5zY2FsZSwKICAgICAgICAgIHNvdXJjZUltZ01hc2tpbmcgPSB0aGlzLnNvdXJjZUltZ01hc2tpbmc7CiAgICAgIHZhciB0b3AgPSBzY2FsZS55ICsgc291cmNlSW1nTWFza2luZy55ICsgJ3B4JzsKICAgICAgdmFyIGxlZnQgPSBzY2FsZS54ICsgc291cmNlSW1nTWFza2luZy54ICsgJ3B4JzsKICAgICAgcmV0dXJuIHsKICAgICAgICB0b3A6IHRvcCwKICAgICAgICBsZWZ0OiBsZWZ0LAogICAgICAgIHdpZHRoOiBzY2FsZS53aWR0aCArICdweCcsCiAgICAgICAgaGVpZ2h0OiBzY2FsZS5oZWlnaHQgKyAncHgnLAogICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgnICsgc2NhbGUuZGVncmVlICsgJ2RlZyknLAogICAgICAgIC8vIOaXi+i9rOaXtiDlt6bkvqfljp/lp4vlm77ml4vovazmoLflvI8KICAgICAgICAnLW1zLXRyYW5zZm9ybSc6ICdyb3RhdGUoJyArIHNjYWxlLmRlZ3JlZSArICdkZWcpJywKICAgICAgICAvLyDlhbzlrrlJRTkKICAgICAgICAnLW1vei10cmFuc2Zvcm0nOiAncm90YXRlKCcgKyBzY2FsZS5kZWdyZWUgKyAnZGVnKScsCiAgICAgICAgLy8g5YW85a65RmlyZUZveAogICAgICAgICctd2Via2l0LXRyYW5zZm9ybSc6ICdyb3RhdGUoJyArIHNjYWxlLmRlZ3JlZSArICdkZWcpJywKICAgICAgICAvLyDlhbzlrrlTYWZhcmkg5ZKMIGNocm9tZQogICAgICAgICctby10cmFuc2Zvcm0nOiAncm90YXRlKCcgKyBzY2FsZS5kZWdyZWUgKyAnZGVnKScgLy8g5YW85a65IE9wZXJhCgogICAgICB9OwogICAgfSwKICAgIC8vIOWOn+WbvuiSmeeJiOWxnuaApwogICAgc291cmNlSW1nTWFza2luZzogZnVuY3Rpb24gc291cmNlSW1nTWFza2luZygpIHsKICAgICAgdmFyIHdpZHRoID0gdGhpcy53aWR0aCwKICAgICAgICAgIGhlaWdodCA9IHRoaXMuaGVpZ2h0LAogICAgICAgICAgcmF0aW8gPSB0aGlzLnJhdGlvLAogICAgICAgICAgc291cmNlSW1nQ29udGFpbmVyID0gdGhpcy5zb3VyY2VJbWdDb250YWluZXI7CiAgICAgIHZhciBzaWMgPSBzb3VyY2VJbWdDb250YWluZXI7CiAgICAgIHZhciBzaWNSYXRpbyA9IHNpYy53aWR0aCAvIHNpYy5oZWlnaHQ7IC8vIOWOn+WbvuWuueWZqOWuvemrmOavlAoKICAgICAgdmFyIHggPSAwOwogICAgICB2YXIgeSA9IDA7CiAgICAgIHZhciB3ID0gc2ljLndpZHRoOwogICAgICB2YXIgaCA9IHNpYy5oZWlnaHQ7CiAgICAgIHZhciBzY2FsZSA9IDE7CgogICAgICBpZiAocmF0aW8gPCBzaWNSYXRpbykgewogICAgICAgIHNjYWxlID0gc2ljLmhlaWdodCAvIGhlaWdodDsKICAgICAgICB3ID0gc2ljLmhlaWdodCAqIHJhdGlvOwogICAgICAgIHggPSAoc2ljLndpZHRoIC0gdykgLyAyOwogICAgICB9CgogICAgICBpZiAocmF0aW8gPiBzaWNSYXRpbykgewogICAgICAgIHNjYWxlID0gc2ljLndpZHRoIC8gd2lkdGg7CiAgICAgICAgaCA9IHNpYy53aWR0aCAvIHJhdGlvOwogICAgICAgIHkgPSAoc2ljLmhlaWdodCAtIGgpIC8gMjsKICAgICAgfQoKICAgICAgcmV0dXJuIHsKICAgICAgICBzY2FsZTogc2NhbGUsCiAgICAgICAgLy8g6JKZ54mI55u45a+56ZyA5rGC5a696auY55qE57yp5pS+CiAgICAgICAgeDogeCwKICAgICAgICB5OiB5LAogICAgICAgIHdpZHRoOiB3LAogICAgICAgIGhlaWdodDogaAogICAgICB9OwogICAgfSwKICAgIC8vIOWOn+WbvumBrue9qeagt+W8jwogICAgc291cmNlSW1nU2hhZGVTdHlsZTogZnVuY3Rpb24gc291cmNlSW1nU2hhZGVTdHlsZSgpIHsKICAgICAgdmFyIHNvdXJjZUltZ01hc2tpbmcgPSB0aGlzLnNvdXJjZUltZ01hc2tpbmcsCiAgICAgICAgICBzb3VyY2VJbWdDb250YWluZXIgPSB0aGlzLnNvdXJjZUltZ0NvbnRhaW5lcjsKICAgICAgdmFyIHNpYyA9IHNvdXJjZUltZ0NvbnRhaW5lcjsKICAgICAgdmFyIHNpbSA9IHNvdXJjZUltZ01hc2tpbmc7CiAgICAgIHZhciB3ID0gc2ltLndpZHRoID09PSBzaWMud2lkdGggPyBzaW0ud2lkdGggOiAoc2ljLndpZHRoIC0gc2ltLndpZHRoKSAvIDI7CiAgICAgIHZhciBoID0gc2ltLmhlaWdodCA9PT0gc2ljLmhlaWdodCA/IHNpbS5oZWlnaHQgOiAoc2ljLmhlaWdodCAtIHNpbS5oZWlnaHQpIC8gMjsKICAgICAgcmV0dXJuIHsKICAgICAgICB3aWR0aDogdyArICdweCcsCiAgICAgICAgaGVpZ2h0OiBoICsgJ3B4JwogICAgICB9OwogICAgfSwKICAgIHByZXZpZXdTdHlsZTogZnVuY3Rpb24gcHJldmlld1N0eWxlKCkgewogICAgICB2YXIgcmF0aW8gPSB0aGlzLnJhdGlvLAogICAgICAgICAgcHJldmlld0NvbnRhaW5lciA9IHRoaXMucHJldmlld0NvbnRhaW5lcjsKICAgICAgdmFyIHBjID0gcHJldmlld0NvbnRhaW5lcjsKICAgICAgdmFyIHcgPSBwYy53aWR0aDsKICAgICAgdmFyIGggPSBwYy5oZWlnaHQ7CiAgICAgIHZhciBwY1JhdGlvID0gdyAvIGg7CgogICAgICBpZiAocmF0aW8gPCBwY1JhdGlvKSB7CiAgICAgICAgdyA9IHBjLmhlaWdodCAqIHJhdGlvOwogICAgICB9CgogICAgICBpZiAocmF0aW8gPiBwY1JhdGlvKSB7CiAgICAgICAgaCA9IHBjLndpZHRoIC8gcmF0aW87CiAgICAgIH0KCiAgICAgIHJldHVybiB7CiAgICAgICAgd2lkdGg6IHcgKyAncHgnLAogICAgICAgIGhlaWdodDogaCArICdweCcKICAgICAgfTsKICAgIH0KICB9LAogIHdhdGNoOiB7CiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUobmV3VmFsdWUpIHsKICAgICAgaWYgKG5ld1ZhbHVlICYmIHRoaXMubG9hZGluZyAhPT0gMSkgewogICAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgfQogICAgfQogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIC8vIOe7keWumuaMiemUrmVzY+makOiXj+atpOaPkuS7tuS6i+S7tgogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGlzLmNsb3NlSGFuZGxlcik7CiAgfSwKICBkZXN0cm95ZWQ6IGZ1bmN0aW9uIGRlc3Ryb3llZCgpIHsKICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5jbG9zZUhhbmRsZXIpOwogIH0sCiAgbWV0aG9kczogewogICAgLy8g54K55Ye75rOi57q55pWI5p6cCiAgICByaXBwbGU6IGZ1bmN0aW9uIHJpcHBsZShlKSB7CiAgICAgIGVmZmVjdFJpcHBsZShlKTsKICAgIH0sCiAgICAvLyDlhbPpl63mjqfku7YKICAgIG9mZjogZnVuY3Rpb24gb2ZmKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXMuJGVtaXQoJ2lucHV0JywgZmFsc2UpOwoKICAgICAgICBfdGhpcy4kZW1pdCgnY2xvc2UnKTsKCiAgICAgICAgaWYgKF90aGlzLnN0ZXAgPT09IDMgJiYgX3RoaXMubG9hZGluZyA9PT0gMikgewogICAgICAgICAgX3RoaXMuc2V0U3RlcCgxKTsKICAgICAgICB9CiAgICAgIH0sIDIwMCk7CiAgICB9LAogICAgLy8g6K6+572u5q2l6aqkCiAgICBzZXRTdGVwOiBmdW5jdGlvbiBzZXRTdGVwKG5vKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwoKICAgICAgLy8g5bu25pe25piv5Li65LqG5pi+56S65Yqo55S75pWI5p6c5ZGi77yM5ZOI5ZOI5ZOICiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzMi5zdGVwID0gbm87CiAgICAgIH0sIDIwMCk7CiAgICB9LAoKICAgIC8qIOWbvueJh+mAieaLqeWMuuWfn+WHveaVsOe7keWumgogICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgICBwcmV2ZW50RGVmYXVsdDogZnVuY3Rpb24gcHJldmVudERlZmF1bHQoZSkgewogICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0sCiAgICBoYW5kbGVDbGljazogZnVuY3Rpb24gaGFuZGxlQ2xpY2soZSkgewogICAgICBpZiAodGhpcy5sb2FkaW5nICE9PSAxKSB7CiAgICAgICAgaWYgKGUudGFyZ2V0ICE9PSB0aGlzLiRyZWZzLmZpbGVpbnB1dCkgewogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSB0aGlzLiRyZWZzKSB7CiAgICAgICAgICAgIHRoaXMuJHJlZnMuZmlsZWlucHV0LmNsaWNrKCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgaGFuZGxlQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZSkgewogICAgICBlLnByZXZlbnREZWZhdWx0KCk7CgogICAgICBpZiAodGhpcy5sb2FkaW5nICE9PSAxKSB7CiAgICAgICAgdmFyIGZpbGVzID0gZS50YXJnZXQuZmlsZXMgfHwgZS5kYXRhVHJhbnNmZXIuZmlsZXM7CiAgICAgICAgdGhpcy5yZXNldCgpOwoKICAgICAgICBpZiAodGhpcy5jaGVja0ZpbGUoZmlsZXNbMF0pKSB7CiAgICAgICAgICB0aGlzLnNldFNvdXJjZUltZyhmaWxlc1swXSk7CiAgICAgICAgfQogICAgICB9CiAgICB9LAoKICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgICAvLyDmo4DmtYvpgInmi6nnmoTmlofku7bmmK/lkKblkIjpgIIKICAgIGNoZWNrRmlsZTogZnVuY3Rpb24gY2hlY2tGaWxlKGZpbGUpIHsKICAgICAgdmFyIGxhbmcgPSB0aGlzLmxhbmcsCiAgICAgICAgICBtYXhTaXplID0gdGhpcy5tYXhTaXplOyAvLyDku4XpmZDlm77niYcKCiAgICAgIGlmIChmaWxlLnR5cGUuaW5kZXhPZignaW1hZ2UnKSA9PT0gLTEpIHsKICAgICAgICB0aGlzLmhhc0Vycm9yID0gdHJ1ZTsKICAgICAgICB0aGlzLmVycm9yTXNnID0gbGFuZy5lcnJvci5vbmx5SW1nOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfSAvLyDotoXlh7rlpKflsI8KCgogICAgICBpZiAoZmlsZS5zaXplIC8gMTAyNCA+IG1heFNpemUpIHsKICAgICAgICB0aGlzLmhhc0Vycm9yID0gdHJ1ZTsKICAgICAgICB0aGlzLmVycm9yTXNnID0gbGFuZy5lcnJvci5vdXRPZlNpemUgKyBtYXhTaXplICsgJ2tiJzsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAgIHJldHVybiB0cnVlOwogICAgfSwKICAgIC8vIOmHjee9ruaOp+S7tgogICAgcmVzZXQ6IGZ1bmN0aW9uIHJlc2V0KCkgewogICAgICB0aGlzLmxvYWRpbmcgPSAwOwogICAgICB0aGlzLmhhc0Vycm9yID0gZmFsc2U7CiAgICAgIHRoaXMuZXJyb3JNc2cgPSAnJzsKICAgICAgdGhpcy5wcm9ncmVzcyA9IDA7CiAgICB9LAogICAgLy8g6K6+572u5Zu+54mH5rqQCiAgICBzZXRTb3VyY2VJbWc6IGZ1bmN0aW9uIHNldFNvdXJjZUltZyhmaWxlKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwoKICAgICAgdmFyIGZyID0gbmV3IEZpbGVSZWFkZXIoKTsKCiAgICAgIGZyLm9ubG9hZCA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgX3RoaXMzLnNvdXJjZUltZ1VybCA9IGZyLnJlc3VsdDsKCiAgICAgICAgX3RoaXMzLnN0YXJ0Q3JvcCgpOwogICAgICB9OwoKICAgICAgZnIucmVhZEFzRGF0YVVSTChmaWxlKTsKICAgIH0sCiAgICAvLyDliaroo4HliY3lh4blpIflt6XkvZwKICAgIHN0YXJ0Q3JvcDogZnVuY3Rpb24gc3RhcnRDcm9wKCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKCiAgICAgIHZhciB3aWR0aCA9IHRoaXMud2lkdGgsCiAgICAgICAgICBoZWlnaHQgPSB0aGlzLmhlaWdodCwKICAgICAgICAgIHJhdGlvID0gdGhpcy5yYXRpbywKICAgICAgICAgIHNjYWxlID0gdGhpcy5zY2FsZSwKICAgICAgICAgIHNvdXJjZUltZ1VybCA9IHRoaXMuc291cmNlSW1nVXJsLAogICAgICAgICAgc291cmNlSW1nTWFza2luZyA9IHRoaXMuc291cmNlSW1nTWFza2luZywKICAgICAgICAgIGxhbmcgPSB0aGlzLmxhbmc7CiAgICAgIHZhciBzaW0gPSBzb3VyY2VJbWdNYXNraW5nOwogICAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CiAgICAgIGltZy5zcmMgPSBzb3VyY2VJbWdVcmw7CgogICAgICBpbWcub25sb2FkID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBuV2lkdGggPSBpbWcubmF0dXJhbFdpZHRoOwogICAgICAgIHZhciBuSGVpZ2h0ID0gaW1nLm5hdHVyYWxIZWlnaHQ7CiAgICAgICAgdmFyIG5SYXRpbyA9IG5XaWR0aCAvIG5IZWlnaHQ7CiAgICAgICAgdmFyIHcgPSBzaW0ud2lkdGg7CiAgICAgICAgdmFyIGggPSBzaW0uaGVpZ2h0OwogICAgICAgIHZhciB4ID0gMDsKICAgICAgICB2YXIgeSA9IDA7IC8vIOWbvueJh+WDj+e0oOS4jei+vuaghwoKICAgICAgICBpZiAobldpZHRoIDwgd2lkdGggfHwgbkhlaWdodCA8IGhlaWdodCkgewogICAgICAgICAgX3RoaXM0Lmhhc0Vycm9yID0gdHJ1ZTsKICAgICAgICAgIF90aGlzNC5lcnJvck1zZyA9IGxhbmcuZXJyb3IubG93ZXN0UHggKyB3aWR0aCArICcqJyArIGhlaWdodDsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIGlmIChyYXRpbyA+IG5SYXRpbykgewogICAgICAgICAgaCA9IHcgLyBuUmF0aW87CiAgICAgICAgICB5ID0gKHNpbS5oZWlnaHQgLSBoKSAvIDI7CiAgICAgICAgfQoKICAgICAgICBpZiAocmF0aW8gPCBuUmF0aW8pIHsKICAgICAgICAgIHcgPSBoICogblJhdGlvOwogICAgICAgICAgeCA9IChzaW0ud2lkdGggLSB3KSAvIDI7CiAgICAgICAgfQoKICAgICAgICBzY2FsZS5yYW5nZSA9IDA7CiAgICAgICAgc2NhbGUueCA9IHg7CiAgICAgICAgc2NhbGUueSA9IHk7CiAgICAgICAgc2NhbGUud2lkdGggPSB3OwogICAgICAgIHNjYWxlLmhlaWdodCA9IGg7CiAgICAgICAgc2NhbGUuZGVncmVlID0gMDsKICAgICAgICBzY2FsZS5taW5XaWR0aCA9IHc7CiAgICAgICAgc2NhbGUubWluSGVpZ2h0ID0gaDsKICAgICAgICBzY2FsZS5tYXhXaWR0aCA9IG5XaWR0aCAqIHNpbS5zY2FsZTsKICAgICAgICBzY2FsZS5tYXhIZWlnaHQgPSBuSGVpZ2h0ICogc2ltLnNjYWxlOwogICAgICAgIHNjYWxlLm5hdHVyYWxXaWR0aCA9IG5XaWR0aDsKICAgICAgICBzY2FsZS5uYXR1cmFsSGVpZ2h0ID0gbkhlaWdodDsKICAgICAgICBfdGhpczQuc291cmNlSW1nID0gaW1nOwoKICAgICAgICBfdGhpczQuY3JlYXRlSW1nKCk7CgogICAgICAgIF90aGlzNC5zZXRTdGVwKDIpOwogICAgICB9OwogICAgfSwKICAgIC8vIOm8oOagh+aMieS4i+WbvueJh+WHhuWkh+enu+WKqAogICAgaW1nU3RhcnRNb3ZlOiBmdW5jdGlvbiBpbWdTdGFydE1vdmUoZSkgewogICAgICBlLnByZXZlbnREZWZhdWx0KCk7IC8vIOaUr+aMgeinpuaRuOS6i+S7tu+8jOWImem8oOagh+S6i+S7tuaXoOaViAoKICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0VG91Y2ggJiYgIWUudGFyZ2V0VG91Y2hlcykgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgdmFyIGV0ID0gZS50YXJnZXRUb3VjaGVzID8gZS50YXJnZXRUb3VjaGVzWzBdIDogZTsKICAgICAgdmFyIHNvdXJjZUltZ01vdXNlRG93biA9IHRoaXMuc291cmNlSW1nTW91c2VEb3duLAogICAgICAgICAgc2NhbGUgPSB0aGlzLnNjYWxlOwogICAgICB2YXIgc2ltZCA9IHNvdXJjZUltZ01vdXNlRG93bjsKICAgICAgc2ltZC5tWCA9IGV0LnNjcmVlblg7CiAgICAgIHNpbWQubVkgPSBldC5zY3JlZW5ZOwogICAgICBzaW1kLnggPSBzY2FsZS54OwogICAgICBzaW1kLnkgPSBzY2FsZS55OwogICAgICBzaW1kLm9uID0gdHJ1ZTsKICAgIH0sCiAgICAvLyDpvKDmoIfmjInkuIvnirbmgIHkuIvnp7vliqjvvIzlm77niYfnp7vliqgKICAgIGltZ01vdmU6IGZ1bmN0aW9uIGltZ01vdmUoZSkgewogICAgICBlLnByZXZlbnREZWZhdWx0KCk7IC8vIOaUr+aMgeinpuaRuOS6i+S7tu+8jOWImem8oOagh+S6i+S7tuaXoOaViAoKICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0VG91Y2ggJiYgIWUudGFyZ2V0VG91Y2hlcykgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgdmFyIGV0ID0gZS50YXJnZXRUb3VjaGVzID8gZS50YXJnZXRUb3VjaGVzWzBdIDogZTsKICAgICAgdmFyIF90aGlzJHNvdXJjZUltZ01vdXNlRCA9IHRoaXMuc291cmNlSW1nTW91c2VEb3duLAogICAgICAgICAgb24gPSBfdGhpcyRzb3VyY2VJbWdNb3VzZUQub24sCiAgICAgICAgICBtWCA9IF90aGlzJHNvdXJjZUltZ01vdXNlRC5tWCwKICAgICAgICAgIG1ZID0gX3RoaXMkc291cmNlSW1nTW91c2VELm1ZLAogICAgICAgICAgeCA9IF90aGlzJHNvdXJjZUltZ01vdXNlRC54LAogICAgICAgICAgeSA9IF90aGlzJHNvdXJjZUltZ01vdXNlRC55LAogICAgICAgICAgc2NhbGUgPSB0aGlzLnNjYWxlLAogICAgICAgICAgc291cmNlSW1nTWFza2luZyA9IHRoaXMuc291cmNlSW1nTWFza2luZzsKICAgICAgdmFyIHNpbSA9IHNvdXJjZUltZ01hc2tpbmc7CiAgICAgIHZhciBuWCA9IGV0LnNjcmVlblg7CiAgICAgIHZhciBuWSA9IGV0LnNjcmVlblk7CiAgICAgIHZhciBkWCA9IG5YIC0gbVg7CiAgICAgIHZhciBkWSA9IG5ZIC0gbVk7CiAgICAgIHZhciByWCA9IHggKyBkWDsKICAgICAgdmFyIHJZID0geSArIGRZOwogICAgICBpZiAoIW9uKSByZXR1cm47CgogICAgICBpZiAoclggPiAwKSB7CiAgICAgICAgclggPSAwOwogICAgICB9CgogICAgICBpZiAoclkgPiAwKSB7CiAgICAgICAgclkgPSAwOwogICAgICB9CgogICAgICBpZiAoclggPCBzaW0ud2lkdGggLSBzY2FsZS53aWR0aCkgewogICAgICAgIHJYID0gc2ltLndpZHRoIC0gc2NhbGUud2lkdGg7CiAgICAgIH0KCiAgICAgIGlmIChyWSA8IHNpbS5oZWlnaHQgLSBzY2FsZS5oZWlnaHQpIHsKICAgICAgICByWSA9IHNpbS5oZWlnaHQgLSBzY2FsZS5oZWlnaHQ7CiAgICAgIH0KCiAgICAgIHNjYWxlLnggPSByWDsKICAgICAgc2NhbGUueSA9IHJZOwogICAgfSwKICAgIC8vIOaMiemSruaMieS4i+W8gOWni+WQkeWPs+aXi+i9rAogICAgc3RhcnRSb3RhdGVSaWdodDogZnVuY3Rpb24gc3RhcnRSb3RhdGVSaWdodChlKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwoKICAgICAgdmFyIHNjYWxlID0gdGhpcy5zY2FsZTsKICAgICAgc2NhbGUucm90YXRlUmlnaHQgPSB0cnVlOwoKICAgICAgdmFyIHJvdGF0ZSA9IGZ1bmN0aW9uIHJvdGF0ZSgpIHsKICAgICAgICBpZiAoc2NhbGUucm90YXRlUmlnaHQpIHsKICAgICAgICAgIHZhciBkZWdyZWUgPSArK3NjYWxlLmRlZ3JlZTsKCiAgICAgICAgICBfdGhpczUuY3JlYXRlSW1nKGRlZ3JlZSk7CgogICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJvdGF0ZSgpOwogICAgICAgICAgfSwgNjApOwogICAgICAgIH0KICAgICAgfTsKCiAgICAgIHJvdGF0ZSgpOwogICAgfSwKICAgIC8vIOaMiemSruaMieS4i+W8gOWni+WQkeW3puaXi+i9rAogICAgc3RhcnRSb3RhdGVMZWZ0OiBmdW5jdGlvbiBzdGFydFJvdGF0ZUxlZnQoZSkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKCiAgICAgIHZhciBzY2FsZSA9IHRoaXMuc2NhbGU7CiAgICAgIHNjYWxlLnJvdGF0ZUxlZnQgPSB0cnVlOwoKICAgICAgdmFyIHJvdGF0ZSA9IGZ1bmN0aW9uIHJvdGF0ZSgpIHsKICAgICAgICBpZiAoc2NhbGUucm90YXRlTGVmdCkgewogICAgICAgICAgdmFyIGRlZ3JlZSA9IC0tc2NhbGUuZGVncmVlOwoKICAgICAgICAgIF90aGlzNi5jcmVhdGVJbWcoZGVncmVlKTsKCiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcm90YXRlKCk7CiAgICAgICAgICB9LCA2MCk7CiAgICAgICAgfQogICAgICB9OwoKICAgICAgcm90YXRlKCk7CiAgICB9LAogICAgLy8g5YGc5q2i5peL6L2sCiAgICBlbmRSb3RhdGU6IGZ1bmN0aW9uIGVuZFJvdGF0ZSgpIHsKICAgICAgdmFyIHNjYWxlID0gdGhpcy5zY2FsZTsKICAgICAgc2NhbGUucm90YXRlTGVmdCA9IGZhbHNlOwogICAgICBzY2FsZS5yb3RhdGVSaWdodCA9IGZhbHNlOwogICAgfSwKICAgIC8vIOaMiemSruaMieS4i+W8gOWni+aUvuWkpwogICAgc3RhcnRab29tQWRkOiBmdW5jdGlvbiBzdGFydFpvb21BZGQoZSkgewogICAgICB2YXIgX3RoaXM3ID0gdGhpczsKCiAgICAgIHZhciBzY2FsZSA9IHRoaXMuc2NhbGU7CiAgICAgIHNjYWxlLnpvb21BZGRPbiA9IHRydWU7CgogICAgICB2YXIgem9vbSA9IGZ1bmN0aW9uIHpvb20oKSB7CiAgICAgICAgaWYgKHNjYWxlLnpvb21BZGRPbikgewogICAgICAgICAgdmFyIHJhbmdlID0gc2NhbGUucmFuZ2UgPj0gMTAwID8gMTAwIDogKytzY2FsZS5yYW5nZTsKCiAgICAgICAgICBfdGhpczcuem9vbUltZyhyYW5nZSk7CgogICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHpvb20oKTsKICAgICAgICAgIH0sIDYwKTsKICAgICAgICB9CiAgICAgIH07CgogICAgICB6b29tKCk7CiAgICB9LAogICAgLy8g5oyJ6ZKu5p2+5byA5oiW56e75byA5Y+W5raI5pS+5aSnCiAgICBlbmRab29tQWRkOiBmdW5jdGlvbiBlbmRab29tQWRkKGUpIHsKICAgICAgdGhpcy5zY2FsZS56b29tQWRkT24gPSBmYWxzZTsKICAgIH0sCiAgICAvLyDmjInpkq7mjInkuIvlvIDlp4vnvKnlsI8KICAgIHN0YXJ0Wm9vbVN1YjogZnVuY3Rpb24gc3RhcnRab29tU3ViKGUpIHsKICAgICAgdmFyIF90aGlzOCA9IHRoaXM7CgogICAgICB2YXIgc2NhbGUgPSB0aGlzLnNjYWxlOwogICAgICBzY2FsZS56b29tU3ViT24gPSB0cnVlOwoKICAgICAgdmFyIHpvb20gPSBmdW5jdGlvbiB6b29tKCkgewogICAgICAgIGlmIChzY2FsZS56b29tU3ViT24pIHsKICAgICAgICAgIHZhciByYW5nZSA9IHNjYWxlLnJhbmdlIDw9IDAgPyAwIDogLS1zY2FsZS5yYW5nZTsKCiAgICAgICAgICBfdGhpczguem9vbUltZyhyYW5nZSk7CgogICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHpvb20oKTsKICAgICAgICAgIH0sIDYwKTsKICAgICAgICB9CiAgICAgIH07CgogICAgICB6b29tKCk7CiAgICB9LAogICAgLy8g5oyJ6ZKu5p2+5byA5oiW56e75byA5Y+W5raI57yp5bCPCiAgICBlbmRab29tU3ViOiBmdW5jdGlvbiBlbmRab29tU3ViKGUpIHsKICAgICAgdmFyIHNjYWxlID0gdGhpcy5zY2FsZTsKICAgICAgc2NhbGUuem9vbVN1Yk9uID0gZmFsc2U7CiAgICB9LAogICAgem9vbUNoYW5nZTogZnVuY3Rpb24gem9vbUNoYW5nZShlKSB7CiAgICAgIHRoaXMuem9vbUltZyhlLnRhcmdldC52YWx1ZSk7CiAgICB9LAogICAgLy8g57yp5pS+5Y6f5Zu+CiAgICB6b29tSW1nOiBmdW5jdGlvbiB6b29tSW1nKG5ld1JhbmdlKSB7CiAgICAgIHZhciBfdGhpczkgPSB0aGlzOwoKICAgICAgdmFyIHNvdXJjZUltZ01hc2tpbmcgPSB0aGlzLnNvdXJjZUltZ01hc2tpbmcsCiAgICAgICAgICBzY2FsZSA9IHRoaXMuc2NhbGU7CiAgICAgIHZhciBtYXhXaWR0aCA9IHNjYWxlLm1heFdpZHRoLAogICAgICAgICAgbWF4SGVpZ2h0ID0gc2NhbGUubWF4SGVpZ2h0LAogICAgICAgICAgbWluV2lkdGggPSBzY2FsZS5taW5XaWR0aCwKICAgICAgICAgIG1pbkhlaWdodCA9IHNjYWxlLm1pbkhlaWdodCwKICAgICAgICAgIHdpZHRoID0gc2NhbGUud2lkdGgsCiAgICAgICAgICBoZWlnaHQgPSBzY2FsZS5oZWlnaHQsCiAgICAgICAgICB4ID0gc2NhbGUueCwKICAgICAgICAgIHkgPSBzY2FsZS55OwogICAgICB2YXIgc2ltID0gc291cmNlSW1nTWFza2luZzsgLy8g6JKZ54mI5a696auYCgogICAgICB2YXIgc1dpZHRoID0gc2ltLndpZHRoOwogICAgICB2YXIgc0hlaWdodCA9IHNpbS5oZWlnaHQ7IC8vIOaWsOWuvemrmAoKICAgICAgdmFyIG5XaWR0aCA9IG1pbldpZHRoICsgKG1heFdpZHRoIC0gbWluV2lkdGgpICogbmV3UmFuZ2UgLyAxMDA7CiAgICAgIHZhciBuSGVpZ2h0ID0gbWluSGVpZ2h0ICsgKG1heEhlaWdodCAtIG1pbkhlaWdodCkgKiBuZXdSYW5nZSAvIDEwMDsgLy8g5paw5Z2Q5qCH77yI5qC55o2u6JKZ54mI5Lit5b+D54K557yp5pS+77yJCgogICAgICB2YXIgblggPSBzV2lkdGggLyAyIC0gbldpZHRoIC8gd2lkdGggKiAoc1dpZHRoIC8gMiAtIHgpOwogICAgICB2YXIgblkgPSBzSGVpZ2h0IC8gMiAtIG5IZWlnaHQgLyBoZWlnaHQgKiAoc0hlaWdodCAvIDIgLSB5KTsgLy8g5Yik5pat5paw5Z2Q5qCH5piv5ZCm6LaF6L+H6JKZ54mI6ZmQ5Yi2CgogICAgICBpZiAoblggPiAwKSB7CiAgICAgICAgblggPSAwOwogICAgICB9CgogICAgICBpZiAoblkgPiAwKSB7CiAgICAgICAgblkgPSAwOwogICAgICB9CgogICAgICBpZiAoblggPCBzV2lkdGggLSBuV2lkdGgpIHsKICAgICAgICBuWCA9IHNXaWR0aCAtIG5XaWR0aDsKICAgICAgfQoKICAgICAgaWYgKG5ZIDwgc0hlaWdodCAtIG5IZWlnaHQpIHsKICAgICAgICBuWSA9IHNIZWlnaHQgLSBuSGVpZ2h0OwogICAgICB9IC8vIOi1i+WAvOWkhOeQhgoKCiAgICAgIHNjYWxlLnggPSBuWDsKICAgICAgc2NhbGUueSA9IG5ZOwogICAgICBzY2FsZS53aWR0aCA9IG5XaWR0aDsKICAgICAgc2NhbGUuaGVpZ2h0ID0gbkhlaWdodDsKICAgICAgc2NhbGUucmFuZ2UgPSBuZXdSYW5nZTsKICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKHNjYWxlLnJhbmdlID09PSBuZXdSYW5nZSkgewogICAgICAgICAgX3RoaXM5LmNyZWF0ZUltZygpOwogICAgICAgIH0KICAgICAgfSwgMzAwKTsKICAgIH0sCiAgICAvLyDnlJ/miJDpnIDmsYLlm77niYcKICAgIGNyZWF0ZUltZzogZnVuY3Rpb24gY3JlYXRlSW1nKGUpIHsKICAgICAgdmFyIG1pbWUgPSB0aGlzLm1pbWUsCiAgICAgICAgICBzb3VyY2VJbWcgPSB0aGlzLnNvdXJjZUltZywKICAgICAgICAgIF90aGlzJHNjYWxlID0gdGhpcy5zY2FsZSwKICAgICAgICAgIHggPSBfdGhpcyRzY2FsZS54LAogICAgICAgICAgeSA9IF90aGlzJHNjYWxlLnksCiAgICAgICAgICB3aWR0aCA9IF90aGlzJHNjYWxlLndpZHRoLAogICAgICAgICAgaGVpZ2h0ID0gX3RoaXMkc2NhbGUuaGVpZ2h0LAogICAgICAgICAgZGVncmVlID0gX3RoaXMkc2NhbGUuZGVncmVlLAogICAgICAgICAgc2NhbGUgPSB0aGlzLnNvdXJjZUltZ01hc2tpbmcuc2NhbGU7CiAgICAgIHZhciBjYW52YXMgPSB0aGlzLiRyZWZzLmNhbnZhczsKICAgICAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwoKICAgICAgaWYgKGUpIHsKICAgICAgICAvLyDlj5bmtojpvKDmoIfmjInkuIvnp7vliqjnirbmgIEKICAgICAgICB0aGlzLnNvdXJjZUltZ01vdXNlRG93bi5vbiA9IGZhbHNlOwogICAgICB9CgogICAgICBjYW52YXMud2lkdGggPSB0aGlzLndpZHRoOwogICAgICBjYW52YXMuaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7CiAgICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgdGhpcy53aWR0aCwgdGhpcy5oZWlnaHQpOyAvLyDlsIbpgI/mmI7ljLrln5/orr7nva7kuLrnmb3oibLlupXovrkKCiAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2ZmZic7CiAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCB0aGlzLndpZHRoLCB0aGlzLmhlaWdodCk7CiAgICAgIGN0eC50cmFuc2xhdGUodGhpcy53aWR0aCAqIDAuNSwgdGhpcy5oZWlnaHQgKiAwLjUpOwogICAgICBjdHgucm90YXRlKE1hdGguUEkgKiBkZWdyZWUgLyAxODApOwogICAgICBjdHgudHJhbnNsYXRlKC10aGlzLndpZHRoICogMC41LCAtdGhpcy5oZWlnaHQgKiAwLjUpOwogICAgICBjdHguZHJhd0ltYWdlKHNvdXJjZUltZywgeCAvIHNjYWxlLCB5IC8gc2NhbGUsIHdpZHRoIC8gc2NhbGUsIGhlaWdodCAvIHNjYWxlKTsKICAgICAgdGhpcy5jcmVhdGVJbWdVcmwgPSBjYW52YXMudG9EYXRhVVJMKG1pbWUpOwogICAgfSwKICAgIHByZXBhcmVVcGxvYWQ6IGZ1bmN0aW9uIHByZXBhcmVVcGxvYWQoKSB7CiAgICAgIHZhciB1cmwgPSB0aGlzLnVybCwKICAgICAgICAgIGNyZWF0ZUltZ1VybCA9IHRoaXMuY3JlYXRlSW1nVXJsLAogICAgICAgICAgZmllbGQgPSB0aGlzLmZpZWxkLAogICAgICAgICAga2kgPSB0aGlzLmtpOwogICAgICB0aGlzLiRlbWl0KCdjcm9wLXN1Y2Nlc3MnLCBjcmVhdGVJbWdVcmwsIGZpZWxkLCBraSk7CgogICAgICBpZiAodHlwZW9mIHVybCA9PT0gJ3N0cmluZycgJiYgdXJsKSB7CiAgICAgICAgdGhpcy51cGxvYWQoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLm9mZigpOwogICAgICB9CiAgICB9LAogICAgLy8g5LiK5Lyg5Zu+54mHCiAgICB1cGxvYWQ6IGZ1bmN0aW9uIHVwbG9hZCgpIHsKICAgICAgdmFyIF90aGlzMTAgPSB0aGlzOwoKICAgICAgdmFyIGxhbmcgPSB0aGlzLmxhbmcsCiAgICAgICAgICBpbWdGb3JtYXQgPSB0aGlzLmltZ0Zvcm1hdCwKICAgICAgICAgIG1pbWUgPSB0aGlzLm1pbWUsCiAgICAgICAgICB1cmwgPSB0aGlzLnVybCwKICAgICAgICAgIHBhcmFtcyA9IHRoaXMucGFyYW1zLAogICAgICAgICAgZmllbGQgPSB0aGlzLmZpZWxkLAogICAgICAgICAga2kgPSB0aGlzLmtpLAogICAgICAgICAgY3JlYXRlSW1nVXJsID0gdGhpcy5jcmVhdGVJbWdVcmw7CiAgICAgIHZhciBmbURhdGEgPSBuZXcgRm9ybURhdGEoKTsKICAgICAgZm1EYXRhLmFwcGVuZChmaWVsZCwgZGF0YTJibG9iKGNyZWF0ZUltZ1VybCwgbWltZSksIGZpZWxkICsgJy4nICsgaW1nRm9ybWF0KTsgLy8g5re75Yqg5YW25LuW5Y+C5pWwCgogICAgICBpZiAoX3R5cGVvZihwYXJhbXMpID09PSAnb2JqZWN0JyAmJiBwYXJhbXMpIHsKICAgICAgICBPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2goZnVuY3Rpb24gKGspIHsKICAgICAgICAgIGZtRGF0YS5hcHBlbmQoaywgcGFyYW1zW2tdKTsKICAgICAgICB9KTsKICAgICAgfSAvLyDnm5HlkKzov5vluqblm57osIMKICAgICAgLy8gY29uc3QgdXBsb2FkUHJvZ3Jlc3MgPSAoZXZlbnQpID0+IHsKICAgICAgLy8gICBpZiAoZXZlbnQubGVuZ3RoQ29tcHV0YWJsZSkgewogICAgICAvLyAgICAgdGhpcy5wcm9ncmVzcyA9IDEwMCAqIE1hdGgucm91bmQoZXZlbnQubG9hZGVkKSAvIGV2ZW50LnRvdGFsCiAgICAgIC8vICAgfQogICAgICAvLyB9CiAgICAgIC8vIOS4iuS8oOaWh+S7tgoKCiAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgdGhpcy5sb2FkaW5nID0gMTsKICAgICAgdGhpcy5zZXRTdGVwKDMpOwogICAgICByZXF1ZXN0KHsKICAgICAgICB1cmw6IHVybCwKICAgICAgICBtZXRob2Q6ICdwb3N0JywKICAgICAgICBkYXRhOiBmbURhdGEKICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzRGF0YSkgewogICAgICAgIF90aGlzMTAubG9hZGluZyA9IDI7CgogICAgICAgIF90aGlzMTAuJGVtaXQoJ2Nyb3AtdXBsb2FkLXN1Y2Nlc3MnLCByZXNEYXRhLmRhdGEpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgaWYgKF90aGlzMTAudmFsdWUpIHsKICAgICAgICAgIF90aGlzMTAubG9hZGluZyA9IDM7CiAgICAgICAgICBfdGhpczEwLmhhc0Vycm9yID0gdHJ1ZTsKICAgICAgICAgIF90aGlzMTAuZXJyb3JNc2cgPSBsYW5nLmZhaWw7CgogICAgICAgICAgX3RoaXMxMC4kZW1pdCgnY3JvcC11cGxvYWQtZmFpbCcsIGVyciwgZmllbGQsIGtpKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGNsb3NlSGFuZGxlcjogZnVuY3Rpb24gY2xvc2VIYW5kbGVyKGUpIHsKICAgICAgaWYgKHRoaXMudmFsdWUgJiYgKGUua2V5ID09PSAnRXNjYXBlJyB8fCBlLmtleUNvZGUgPT09IDI3KSkgewogICAgICAgIHRoaXMub2ZmKCk7CiAgICAgIH0KICAgIH0KICB9Cn07"},{"version":3,"mappings":"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QACA;QACA;QACA;QACA;QACA;QACA;QACA,UAPA,CAQA;;QACA;UACA;UACA;UACA;QACA;;QACA;UACA1B;UACAxB;QACA;;QACA;UACAuB;UACAxB;QACA;;QACAI;QACAA;QACAA;QACAA;QACAA;QACAA;QACAA;QACAA;QACAA;QACAA;QACAA;QACAA;QACA;;QACA;;QACA;MACA,CArCA;IAsCA,CAtIA;IAuIA;IACAgD,YAxIA,wBAwIAhB,CAxIA,EAwIA;MACAA,mBADA,CAEA;;MACA;QACA;MACA;;MACA;MACA;MAAA;MACA;MACAiB;MACAA;MACAA;MACAA;MACAA;IACA,CAtJA;IAuJA;IACAC,OAxJA,mBAwJAlB,CAxJA,EAwJA;MACAA,mBADA,CAEA;;MACA;QACA;MACA;;MACA;MACA,4BAIA,IAJA,CACAxC,kBADA;MAAA,IACAC,EADA,yBACAA,EADA;MAAA,IACAC,EADA,yBACAA,EADA;MAAA,IACAC,EADA,yBACAA,EADA;MAAA,IACAC,CADA,yBACAA,CADA;MAAA,IACAC,CADA,yBACAA,CADA;MAAA,IAEAG,KAFA,GAIA,IAJA,CAEAA,KAFA;MAAA,IAGAmB,gBAHA,GAIA,IAJA,CAGAA,gBAHA;MAKA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;;MACA;QACAgC;MACA;;MACA;QACAC;MACA;;MACA;QACAD;MACA;;MACA;QACAC;MACA;;MACApD;MACAA;IACA,CA1LA;IA2LA;IACAqD,gBA5LA,4BA4LArB,CA5LA,EA4LA;MAAA;;MACA;MACAhC;;MACA;QACA;UACA;;UACA;;UACAmC;YACAmB;UACA,CAFA,EAEA,EAFA;QAGA;MACA,CARA;;MASAA;IACA,CAzMA;IA0MA;IACAC,eA3MA,2BA2MAvB,CA3MA,EA2MA;MAAA;;MACA;MACAhC;;MACA;QACA;UACA;;UACA;;UACAmC;YACAmB;UACA,CAFA,EAEA,EAFA;QAGA;MACA,CARA;;MASAA;IACA,CAxNA;IAyNA;IACAE,SA1NA,uBA0NA;MACA;MACAxD;MACAA;IACA,CA9NA;IA+NA;IACAyD,YAhOA,wBA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","names":["props","field","type","default","ki","value","url","params","headers","width","height","noRotate","noCircle","noSquare","maxSize","langType","langExt","imgFormat","withCredentials","data","allowImgFormat","Object","isSupported","mime","lang","isSupportTouch","step","loading","progress","hasError","errorMsg","ratio","sourceImg","sourceImgUrl","createImgUrl","sourceImgMouseDown","on","mX","mY","x","y","previewContainer","sourceImgContainer","scale","zoomAddOn","zoomSubOn","range","rotateLeft","rotateRight","degree","maxWidth","maxHeight","minWidth","minHeight","naturalWidth","naturalHeight","computed","progressStyle","sourceImgStyle","top","left","transform","sourceImgMasking","w","h","sourceImgShadeStyle","sim","previewStyle","watch","newValue","created","document","destroyed","methods","ripple","e","effectRipple","off","setTimeout","setStep","no","preventDefault","handleClick","handleChange","checkFile","file","reset","setSourceImg","fr","startCrop","img","imgStartMove","simd","imgMove","rX","rY","startRotateRight","rotate","startRotateLeft","endRotate","startZoomAdd","zoom","endZoomAdd","startZoomSub","endZoomSub","zoomChange","zoomImg","newRange","nX","nY","createImg","canvas","ctx","prepareUpload","upload","fmData","data2blob","request","method","then","catch","closeHandler"],"sourceRoot":"src/components/ImageCropper","sources":["index.vue"],"sourcesContent":["\n\n\n\n\n"]}]}