diff --git a/.github/workflows/build-vue2.5.yml b/.github/workflows/build-vue2.5.yml new file mode 100644 index 0000000..872a7f4 --- /dev/null +++ b/.github/workflows/build-vue2.5.yml @@ -0,0 +1,28 @@ +name: build-uniapp-vue2 + +on: + push: + branches: ["main", "develop"] + pull_request: + branches: ["main"] + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [16.x, 18.x, 20.x, 21.x, 22.x] # not support node >= 23.x and node<=16.x + + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + + - name: Build with-vue2.5 + working-directory: ./demos/with-vue2.5 + run: | + yarn install + yarn run build diff --git a/README.md b/README.md index 8358c4e..b0ba8cb 100644 --- a/README.md +++ b/README.md @@ -129,8 +129,10 @@ alpha(功能测试)、beta(集成测试)为我们的非正式版本, > 如果使用 vue2.6,可参考 demos => [with-vue2.6](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/with-vue2.6) > > 如果使用 uniapp + vue3 ,可参考 demos => [with-uniapp-vue3](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/with-uniapp-vue3) -> + > 如果使用 uniapp + vue2 ,可参考 demos => [with-uniapp-vue2](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/with-uniapp-vue2) + +> 如果使用 docker + nginx ,可参考 demos => [with-docker-nginx](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/with-docker-nginx) #### tips @@ -284,6 +286,8 @@ themeData将主题数据本地化,设置本地数据,需要删除template参 N scaleMode 0 | 1 | 2 默认 0 完全填充窗口,会有拉伸 1: 等比适配 2: 等比完全填充窗口, 超出隐藏 @sine 8.2.0 N + +spaceId number 云录制空间 ID (仅云录制生效) @sine 8.2.0 N ### 方法调用 diff --git a/demos/base-demo/ezuikit.js b/demos/base-demo/ezuikit.js index 5c336c4..1d28c48 100644 --- a/demos/base-demo/ezuikit.js +++ b/demos/base-demo/ezuikit.js @@ -1,39 +1,39 @@ /* -* ezuikit.js v8.2.0-beta.6 +* ezuikit.js v8.2.0 * ezuikit javascript for npm -* Copyright (c) 2025-11-20 Ezviz-OpenBiz +* Copyright (c) 2025-11-23 Ezviz-OpenBiz * Released under the MIT License. */ -!function(A,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(A="undefined"!=typeof globalThis?globalThis:A||self).EZUIKit=e()}(this,(function(){"use strict";var A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}var t;t||(t=1,function(){function e(A,e){(null==e||e>A.length)&&(e=A.length);for(var t=0,i=Array(e);t=A.length?{done:!0}:{done:!1,value:A[i++]}},e:function(A){throw A},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,n=!0,o=!1;return{s:function(){t=t.call(A)},n:function(){var A=t.next();return n=A.done,A},e:function(A){o=!0,r=A},f:function(){try{n||null==t.return||t.return()}finally{if(o)throw r}}}}function s(){return s="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(A,e,t){var i=h(A,e);if(i){var a=Object.getOwnPropertyDescriptor(i,e);return a.get?a.get.call(arguments.length<3?A:t):a.value}},s.apply(null,arguments)}function g(A){return g=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(A){return A.__proto__||Object.getPrototypeOf(A)},g(A)}function l(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(e&&e.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),Object.defineProperty(A,"prototype",{writable:!1}),e&&c(A,e)}function C(){try{var A=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(A){}return(C=function(){return!!A})()}function I(A,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return t(A)}function c(A,e){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(A,e){return A.__proto__=e,A},c(A,e)}function h(A,e){for(;!{}.hasOwnProperty.call(A,e)&&null!==(A=g(A)););return A}function B(A,e,t,i){var a=s(g(A.prototype),e,t);return"function"==typeof a?function(A){return a.apply(t,A)}:a}function E(A,e){if("object"!=typeof A||!A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var i=t.call(A,e);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(A)}function x(A){var e=E(A,"string");return"symbol"==typeof e?e:e+""}function d(A,t){if(A){if("string"==typeof A)return e(A,t);var i={}.toString.call(A).slice(8,-1);return"Object"===i&&A.constructor&&(i=A.constructor.name),"Map"===i||"Set"===i?Array.from(A):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?e(A,t):void 0}}function Q(A){var e;try{e=new Event("abort")}catch(A){"undefined"!=typeof document?document.createEvent?(e=document.createEvent("Event")).initEvent("abort",!1,!1):(e=document.createEventObject()).type="abort":e={type:"abort",bubbles:!1,cancelable:!1}}return e.reason=A,e}function f(A){if(void 0===A)if("undefined"==typeof document)(A=new Error("This operation was aborted")).name="AbortError";else try{A=new DOMException("signal is aborted without reason"),Object.defineProperty(A,"name",{value:"AbortError"})}catch(e){(A=new Error("This operation was aborted")).name="AbortError"}return A}!function(A){A.AbortSignal,A.AbortController}("undefined"!=typeof self?self:A);var u=function(){function A(){a(this,A),Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}return n(A,[{key:"addEventListener",value:function(A,e,t){A in this.listeners||(this.listeners[A]=[]),this.listeners[A].push({callback:e,options:t})}},{key:"removeEventListener",value:function(A,e){if(A in this.listeners)for(var t=this.listeners[A],i=0,a=t.length;i>>0)+"_",i=0;return function A(a){if(this instanceof A)throw new TypeError("Symbol is not a constructor");return new e(t+(a||"")+"_"+i++,a)}})),n("Symbol.iterator",(function(A){if(A)return A;A=Symbol("Symbol.iterator");for(var e="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),i=0;iA.length)&&(e=A.length);for(var t=0,i=new Array(e);t=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}s=1;var t=function(){function A(){this.pickers=[]}var t=A.prototype;return t.add=function(A){this.pickers.push(A)},t.remove=function(A){var e=this.pickers.indexOf(A);e>-1?this.pickers.splice(e,1):console.warn("Picker not found in the provider.")},t.closeOther=function(A){for(var t,i=e(this.pickers);!(t=i()).done;){var a,r,n,o,s=t.value;!s||A.target===s.$container||(null==(r=s.$container)||null==(a=r.contains)?void 0:a.call(r,A.target))||A.target===s.$wrapperContent||(null==(o=s.$wrapperContent)||null==(n=o.contains)?void 0:n.call(o,A.target))||(s.open=!1)}},A.getInstance=function(){return A.instance||(A.instance=new A),A.instance},A}(),i=t.getInstance();function a(A,e,t){return e&&function(A,e){for(var t=0;t2?n[1]:"sd"),"rec"===t.type&&r[2]&&(t.recType=r[2].includes(".cloud.")?"cloud":""),t.searchParams=A(e),t}return{}}var t={h264:1,h265:2,h266:4,vp8:8,vp9:16,av1:32};return p.addVc=function(A,e){void 0===e&&(e=["h264"]);var i=(e||["h264"]).reduce((function(A,e){return e=e.toLowerCase(),A+(t[e]||0)}),0),a=A.split("?")[0],r=A.split("?")[1];return a+"?"+(r=(r||"").split("&").filter((function(A){return!/^vc=\d?/.test(A)})).join("&"))+(r?"&":"")+"vc="+i},p.getQuery=A,p.getStaticPath=function(A,e){void 0===e&&(e="");var t=/^(https?:\/\/|^\/\/)/;if(""===A||void 0===A)return"";if(t.test(A))return A;A=A.replace(/\/+/g,"/"),e=t.test(e||"")?e:window.location.href;try{return new URL(A,e).href}catch(e){return A}},p.isHttp=function(A){return/^http[s]?:\/\//.test(A)},p.isMobile=function(A){var e,t,i,a;return/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Opera Mini)/i.test(null!=A?A:null==(e=navigator)?void 0:e.userAgent)||/Macintosh/i.test(A||(null==(t=navigator)?void 0:t.userAgent))&&(null==(i=navigator)?void 0:i.maxTouchPoints)>1||!!(null==(a=window)?void 0:a.__IS_MOBILE_SIMULATOR__)},p.parseEzopenUrl=e,p.pick=function(A,e){return Object.entries(A).reduce((function(A,t){var i=t[0],a=t[1];return e.includes(i)&&(A[i]=a),A}),{})},p.switchEzopenUrl=function(t,i){var a=null!=i?i:{},r=a.type,n=a.recType,o=a.search,s=a.definition,g=a.channelNo,l=a.deviceSerial,C=a.validateCode,I=e(t);if(o){var c=Object.assign({},I.searchParams,A("?"+o.replace("?","")));o=Object.entries(c).reduce((function(A,e){var t=e[0],i=e[1];return""===i?A:A+=t+"="+encodeURIComponent(i)+"&"}),"?").replace(/&$/,"")}else o=I.search;return r=r||I.type,n=null!=n?n:I.recType,s=null!=s?s:I.definition,g=g||I.channelNo,l=l||I.deviceSerial,C=null!=C?C:I.validateCode,I.protocol+"//"+(C?C+"@":"")+I.hostname+"/"+l+"/"+g+("rec"===r&&n?"."+n:"")+("live"===r&&"hd"===s?"."+s:"")+"."+r+o},p}(),y=e(_),S={exports:{}};var D,R=(m||(m=1,function(A){!function(){var e="undefined"!=typeof window&&void 0!==window.document?window.document:{},t=A.exports,i=function(){for(var A,t=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],i=0,a=t.length,r={};i=3),this.log=this._loggerFactory("log",this._levelNum>=2),this.warn=this._loggerFactory("warn",this._levelNum>=1),this.error=this._loggerFactory("error",this._levelNum>=0),this.setOptions(A)}var t=e.prototype;return t.setOptions=function(A){var e;this._options=Object.assign({},this._options,A),this._levelNum=this._matchLevel(null!=(e=this._options.level)?e:"INFO"),this.info=this._loggerFactory("info",this._levelNum>=3),this.log=this._loggerFactory("log",this._levelNum>=2),this.warn=this._loggerFactory("warn",this._levelNum>=1),this.error=this._loggerFactory("error",this._levelNum>=0)},t._matchLevel=function(A){var e=3;switch(A){case"INFO":e=3;break;case"LOG":e=2;break;case"WARN":e=1;break;case"ERROR":e=0}return e},t._loggerFactory=function(t,i){var a=console[t];if(i&&a){var r,n=this._options.name?"%c["+this._options.name+"]%c %c["+t.toUpperCase()+"]":"%c["+t.toUpperCase()+"]",o=[this._options.name?"background: green;color: #fff":null,this._options.name?"":null,A[t]].filter((function(A){return null!=A}));return(r=a).bind.apply(r,[].concat([console,n],o))}return e.noop},t.getOptions=function(){return this._options},t.getVersion=function(){return"2.0.0"},e}();function t(A){return(A=+A)<10&&(A="0"+A),A+""}e.noop=function(){},e.VERSION="2.0.0";var i=["info","log","warn","error"];return P=function(A){var a=new e(A);return new Proxy(a,{get:function(A,e){if(i.includes(e)){var a;if(null==(a=A._options)?void 0:a.showTime){var r=(o=(n=new Date(Date.now())).getFullYear(),s=n.getMonth()+1,g=n.getDate(),l=n.getHours(),C=n.getMinutes(),I=n.getSeconds(),c=n.getMilliseconds(),o+"/"+t(s)+"/"+t(g)+" "+t(l)+":"+t(C)+":"+t(I)+":"+c);return A[e].bind(console,"["+r+"]")}return A[e].bind(console)}var n,o,s,g,l,C,I,c;return Reflect.get(A,e)}})}}()),G={};function U(){if(M)return T;function A(A,e,t){return e&&function(A,e){for(var t=0;tt||(this.currentY=A,this.velocity=0,this._applyTransform(),e&&this._updateState())},a.destroy=function(){var A,e,t;this._animationId&&(cancelAnimationFrame(this._animationId),this._animationId=null),this._indicatorTimeout&&(clearTimeout(this._indicatorTimeout),this._indicatorTimeout=null),this.$container&&(this.$container.style.cursor="default"),null==(A=this._$scrollbarThumb)||A.remove(),this._$scrollbarThumb=null,null==(e=this._$scrollbar)||e.remove(),this._$scrollbar=null,null==(t=this.$content)||t.remove(),this.$content=null,this._removeEventListeners()},a._renderScrollbar=function(){this._$scrollbar=document.createElement("div"),this._$scrollbar.className=t+"-scrollbar",this._$scrollbarThumb=document.createElement("div"),this._$scrollbarThumb.className=t+"-scrollbar-thumb",this._$scrollbar.appendChild(this._$scrollbarThumb),this.$container.appendChild(this._$scrollbar)},a._init=function(){this.resize(this.options.width,this.options.height),this._addEventListeners(),this._updateScrollbar(),this._animationId=requestAnimationFrame(this._animate.bind(this))},a._addEventListeners=function(){this.$container.addEventListener("pointerdown",this._onMouseDown),document.addEventListener("pointermove",this._onMouseMove),document.addEventListener("pointerup",this._onMouseUp),document.addEventListener("pointercancel",this._onMouseUp)},a._removeEventListeners=function(){this.$container.removeEventListener("touchmove",this._onTouchMove),this.$container.removeEventListener("pointerdown",this._onMouseDown),document.removeEventListener("pointermove",this._onMouseMove),document.removeEventListener("pointerup",this._onMouseUp),document.removeEventListener("pointercancel",this._onMouseUp)},a._onMouseDown=function(A){this.canDrag&&(this._startDrag(A.clientY),null==this.options.onDragStart||this.options.onDragStart.call(this.options,A))},a._onTouchMove=function(A){A.preventDefault()},a._startDrag=function(A){var e,i;this.canDrag&&(this.isDragging=!0,this._startY=A,this.velocity=0,null==(i=this._$scrollbar)||null==(e=i.classList)||e.add(t+"-show"),this.$container.style.cursor="grabbing")},a._onMouseMove=function(A){this.canDrag&&this.isDragging&&(this._drag(A.clientY),null==this.options.onDragging||this.options.onDragging.call(this.options,0,this.currentY))},a._drag=function(A){if(this.canDrag){var e=this._startY-A;this._startY=A,this.currentY+=e,this.velocity=e,this.velocity=Math.max(Math.min(this.velocity,this._maxVelocity),-this._maxVelocity),this._applyTransform(),this._updateState()}},a._onMouseUp=function(A){this.canDrag&&this.isDragging&&(this.isDragging=!1,this._endDrag(),null==this.options.onDragEnd||this.options.onDragEnd.call(this.options,A))},a._endDrag=function(){var A=this;this.$container.style.cursor="grab",setTimeout((function(){var e;A.isDragging||null==(e=A._$scrollbar)||e.classList.remove(t+"-show")}),1500)},a._applyTransform=function(){if(this.$content.offsetHeight<=this.$container.clientHeight)this.$content.style.transform="translate3d(0, 0, 0)";else{var A=this.$content.scrollHeight-this.$container.clientHeight;this.currentY<0?(this.currentY=0,this.velocity*=this._bounceDamping):this.currentY>A&&(this.currentY=A,this.velocity*=this._bounceDamping),this.$content.style.transform="translate3d(0, "+-this.currentY+"px, 0)",this._updateScrollbar()}},a._animate=function(A){if(void 0===A&&(A=0),this._animationId&&(cancelAnimationFrame(this._animationId),this._animationId=null),!(this.$content.offsetHeight<=this.$container.clientHeight)){this._lastTimestamp||(this._lastTimestamp=A);var e=Math.min(A-this._lastTimestamp,100)/16;if(this._lastTimestamp=A,!this.isDragging){this.velocity*=this._friction,this.currentY+=this.velocity;var t=this.$content.scrollHeight-this.$container.clientHeight;this.currentY<0?this.velocity-=this.currentY*this._spring*e:this.currentY>t&&(this.velocity-=(this.currentY-t)*this._spring*e),this._applyTransform(),this._updateState(),Math.abs(this.velocity)<.1&&this.currentY>=0&&this.currentY<=t&&(this.velocity=0)}}},a._updateScrollbar=function(){var A=this.$container.clientHeight,e=this.$content.scrollHeight,t=e-A;if(t<=0)this._$scrollbarThumb&&(this._$scrollbarThumb.style.height="0");else{var i=Math.max(A/e*A,20),a=this.currentY/t*(A-i);this._$scrollbarThumb&&(this._$scrollbarThumb.style.height=i+"px",this._$scrollbarThumb.style.transform="translateY("+a+"px)")}},a._updateState=function(){null==this.options.onChange||this.options.onChange.call(this.options,{x:0,y:this.currentY,velocity:+this.velocity.toFixed(1)})},A(i,[{key:"width",get:function(){return this.$container.clientWidth}},{key:"height",get:function(){return this.$container.clientHeight}},{key:"readonly",get:function(){return this._readonly},set:function(A){this._readonly!==A&&(this.$container.style.cursor=A?"not-allowed":"grab",this._readonly=A),this.$container.removeEventListener("touchmove",this._onTouchMove),A||this.$container.addEventListener("touchmove",this._onTouchMove,{passive:!1})}},{key:"canDrag",get:function(){var A=this.$content.offsetHeight;return!this.readonly&&A>this.$container.clientHeight}}]),i}();return T=i} +!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?module.exports=factory():"function"==typeof define&&define.amd?define(factory):(global="undefined"!=typeof globalThis?globalThis:global||self).EZUIKit=factory()}(this,(function(){"use strict";var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function getDefaultExportFromCjs$1(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x.default:x}var hasRequiredUmdPolyfill;hasRequiredUmdPolyfill||(hasRequiredUmdPolyfill=1,function(){function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(r){throw r},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function(){t=t.call(r)},n:function(){var r=t.next();return a=r.done,r},e:function(r){u=!0,o=r},f:function(){try{a||null==t.return||t.return()}finally{if(u)throw o}}}}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value}},_get.apply(null,arguments)}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e)}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(_isNativeReflectConstruct=function(){return!!t})()}function _possibleConstructorReturn(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t)}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(t.prototype),o,e);return"function"==typeof p?function(t){return p.apply(e,t)}:p}function _toPrimitive(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==typeof i?i:i+""}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function createAbortEvent(reason){var event;try{event=new Event("abort")}catch(e){"undefined"!=typeof document?document.createEvent?(event=document.createEvent("Event")).initEvent("abort",!1,!1):(event=document.createEventObject()).type="abort":event={type:"abort",bubbles:!1,cancelable:!1}}return event.reason=reason,event}function normalizeAbortReason(reason){if(void 0===reason)if("undefined"==typeof document)(reason=new Error("This operation was aborted")).name="AbortError";else try{reason=new DOMException("signal is aborted without reason"),Object.defineProperty(reason,"name",{value:"AbortError"})}catch(err){(reason=new Error("This operation was aborted")).name="AbortError"}return reason}!function(self){self.AbortSignal,self.AbortController}("undefined"!=typeof self?self:commonjsGlobal);var Emitter=function(){function Emitter(){_classCallCheck(this,Emitter),Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}return _createClass(Emitter,[{key:"addEventListener",value:function(type,callback,options){type in this.listeners||(this.listeners[type]=[]),this.listeners[type].push({callback:callback,options:options})}},{key:"removeEventListener",value:function(type,callback){if(type in this.listeners)for(var stack=this.listeners[type],i=0,l=stack.length;i>>0)+"_",e=0;return function b(f){if(this instanceof b)throw new TypeError("Symbol is not a constructor");return new c(d+(f||"")+"_"+e++,f)}})),r("Symbol.iterator",(function(a){if(a)return a;a=Symbol("Symbol.iterator");for(var b="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),c=0;carr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=o.length?{done:!0}:{done:!1,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}hasRequiredDist$a=1;var PickerProvider=function(){function PickerProvider(){this.pickers=[]}var _proto=PickerProvider.prototype;return _proto.add=function(picker){this.pickers.push(picker)},_proto.remove=function(picker){var index=this.pickers.indexOf(picker);index>-1?this.pickers.splice(index,1):console.warn("Picker not found in the provider.")},_proto.closeOther=function(e){for(var _step,_iterator=_create_for_of_iterator_helper_loose(this.pickers);!(_step=_iterator()).done;){var _p_$container_contains,_p_$container,_p_$wrapperContent_contains,_p_$wrapperContent,p=_step.value;!p||e.target===p.$container||(null==(_p_$container=p.$container)||null==(_p_$container_contains=_p_$container.contains)?void 0:_p_$container_contains.call(_p_$container,e.target))||e.target===p.$wrapperContent||(null==(_p_$wrapperContent=p.$wrapperContent)||null==(_p_$wrapperContent_contains=_p_$wrapperContent.contains)?void 0:_p_$wrapperContent_contains.call(_p_$wrapperContent,e.target))||(p.open=!1)}},PickerProvider.getInstance=function(){return PickerProvider.instance||(PickerProvider.instance=new PickerProvider),PickerProvider.instance},PickerProvider}(),pickerProvider=PickerProvider.getInstance();function _create_class(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i2?lastPath[1]:"sd"),"rec"===obj.type&&pathnames[2]&&(obj.recType=pathnames[2].includes(".cloud.")?"cloud":""),obj.searchParams=getQuery(url),obj}return{}}var codec={h264:1,h265:2,h266:4,vp8:8,vp9:16,av1:32};return dist$8.addVc=function(url,codecs){void 0===codecs&&(codecs=["h264"]);var vc=(codecs||["h264"]).reduce((function(acc,key){return key=key.toLowerCase(),acc+(codec[key]||0)}),0),host=url.split("?")[0],query=url.split("?")[1];return host+"?"+(query=(query||"").split("&").filter((function(item){return!/^vc=\d?/.test(item)})).join("&"))+(query?"&":"")+"vc="+vc},dist$8.getQuery=getQuery,dist$8.getStaticPath=function(path,base){void 0===base&&(base="");var protocolReg=/^(https?:\/\/|^\/\/)/;if(""===path||void 0===path)return"";if(protocolReg.test(path))return path;path=path.replace(/\/+/g,"/"),base=protocolReg.test(base||"")?base:window.location.href;try{return new URL(path,base).href}catch(error){return path}},dist$8.isHttp=function(url){return/^http[s]?:\/\//.test(url)},dist$8.isMobile=function(agent){var _navigator,_navigator1,_navigator2,_window;return/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Opera Mini)/i.test(null!=agent?agent:null==(_navigator=navigator)?void 0:_navigator.userAgent)||/Macintosh/i.test(agent||(null==(_navigator1=navigator)?void 0:_navigator1.userAgent))&&(null==(_navigator2=navigator)?void 0:_navigator2.maxTouchPoints)>1||!!(null==(_window=window)?void 0:_window.__IS_MOBILE_SIMULATOR__)},dist$8.parseEzopenUrl=parseEzopenUrl,dist$8.pick=function(obj,keys){return Object.entries(obj).reduce((function(acc,param){var key=param[0],value=param[1];return keys.includes(key)&&(acc[key]=value),acc}),{})},dist$8.switchEzopenUrl=function(url,options){var _ref=null!=options?options:{},type=_ref.type,recType=_ref.recType,search=_ref.search,definition=_ref.definition,channelNo=_ref.channelNo,deviceSerial=_ref.deviceSerial,validateCode=_ref.validateCode,obj=parseEzopenUrl(url);if(search){var ns=Object.assign({},obj.searchParams,getQuery("?"+search.replace("?","")));search=Object.entries(ns).reduce((function(acc,param){var key=param[0],value=param[1];return""===value?acc:acc+=key+"="+encodeURIComponent(value)+"&"}),"?").replace(/&$/,"")}else search=obj.search;return type=type||obj.type,recType=null!=recType?recType:obj.recType,definition=null!=definition?definition:obj.definition,channelNo=channelNo||obj.channelNo,deviceSerial=deviceSerial||obj.deviceSerial,validateCode=null!=validateCode?validateCode:obj.validateCode,obj.protocol+"//"+(validateCode?validateCode+"@":"")+obj.hostname+"/"+deviceSerial+"/"+channelNo+("rec"===type&&recType?"."+recType:"")+("live"===type&&"hd"===definition?"."+definition:"")+"."+type+search},dist$8}var hasRequiredScreenfull,distExports$7=requireDist$8(),require$$1=getDefaultExportFromCjs$1(distExports$7),screenfull$1={exports:{}};var hasRequiredDist$7,screenfullExports=(hasRequiredScreenfull||(hasRequiredScreenfull=1,function(module){!function(){var document="undefined"!=typeof window&&void 0!==window.document?window.document:{},isCommonjs=module.exports,fn=function(){for(var val,fnMap=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],i=0,l=fnMap.length,ret={};i=3),this.log=this._loggerFactory("log",this._levelNum>=2),this.warn=this._loggerFactory("warn",this._levelNum>=1),this.error=this._loggerFactory("error",this._levelNum>=0),this.setOptions(options)}var _proto=LoggerCls.prototype;return _proto.setOptions=function(options){var _this__options_level;this._options=Object.assign({},this._options,options),this._levelNum=this._matchLevel(null!=(_this__options_level=this._options.level)?_this__options_level:"INFO"),this.info=this._loggerFactory("info",this._levelNum>=3),this.log=this._loggerFactory("log",this._levelNum>=2),this.warn=this._loggerFactory("warn",this._levelNum>=1),this.error=this._loggerFactory("error",this._levelNum>=0)},_proto._matchLevel=function(level){var logLevel=3;switch(level){case"INFO":logLevel=3;break;case"LOG":logLevel=2;break;case"WARN":logLevel=1;break;case"ERROR":logLevel=0}return logLevel},_proto._loggerFactory=function(type,bool){var fn=console[type];if(bool&&fn){var _fn,args0=this._options.name?"%c["+this._options.name+"]%c %c["+type.toUpperCase()+"]":"%c["+type.toUpperCase()+"]",color=[this._options.name?"background: green;color: #fff":null,this._options.name?"":null,_$LoggerStyle$_[type]].filter((function(color){return null!=color}));return(_fn=fn).bind.apply(_fn,[].concat([console,args0],color))}return LoggerCls.noop},_proto.getOptions=function(){return this._options},_proto.getVersion=function(){return"2.0.0"},LoggerCls}();function __fillTen__(num){return(num=+num)<10&&(num="0"+num),num+""}LoggerCls.noop=function(){},LoggerCls.VERSION="2.0.0";var __$list$__=["info","log","warn","error"];return dist$6=function(options){var logger=new LoggerCls(options);return new Proxy(logger,{get:function(target,prop){if(__$list$__.includes(prop)){var _target__options;if(null==(_target__options=target._options)?void 0:_target__options.showTime){var time=(year=(now=new Date(Date.now())).getFullYear(),month=now.getMonth()+1,day=now.getDate(),hour=now.getHours(),min=now.getMinutes(),sec=now.getSeconds(),ms=now.getMilliseconds(),year+"/"+__fillTen__(month)+"/"+__fillTen__(day)+" "+__fillTen__(hour)+":"+__fillTen__(min)+":"+__fillTen__(sec)+":"+ms);return target[prop].bind(console,"["+time+"]")}return target[prop].bind(console)}var now,year,month,day,hour,min,sec,ms;return Reflect.get(target,prop)}})}}var dist$4,hasRequiredDist$5,hasRequiredDist$4,Logger=getDefaultExportFromCjs$1(requireDist$6()),dist$5={};function requireDist$5(){if(hasRequiredDist$5)return dist$4;function _create_class(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;imaxScroll||(this.currentY=y,this.velocity=0,this._applyTransform(),triggerChange&&this._updateState())},_proto.destroy=function(){var _this__$scrollbarThumb,_this__$scrollbar,_this_$content;this._animationId&&(cancelAnimationFrame(this._animationId),this._animationId=null),this._indicatorTimeout&&(clearTimeout(this._indicatorTimeout),this._indicatorTimeout=null),this.$container&&(this.$container.style.cursor="default"),null==(_this__$scrollbarThumb=this._$scrollbarThumb)||_this__$scrollbarThumb.remove(),this._$scrollbarThumb=null,null==(_this__$scrollbar=this._$scrollbar)||_this__$scrollbar.remove(),this._$scrollbar=null,null==(_this_$content=this.$content)||_this_$content.remove(),this.$content=null,this._removeEventListeners()},_proto._renderScrollbar=function(){this._$scrollbar=document.createElement("div"),this._$scrollbar.className="drag-scroll-scrollbar",this._$scrollbarThumb=document.createElement("div"),this._$scrollbarThumb.className="drag-scroll-scrollbar-thumb",this._$scrollbar.appendChild(this._$scrollbarThumb),this.$container.appendChild(this._$scrollbar)},_proto._init=function(){this.resize(this.options.width,this.options.height),this._addEventListeners(),this._updateScrollbar(),this._animationId=requestAnimationFrame(this._animate.bind(this))},_proto._addEventListeners=function(){this.$container.addEventListener("pointerdown",this._onMouseDown),document.addEventListener("pointermove",this._onMouseMove),document.addEventListener("pointerup",this._onMouseUp),document.addEventListener("pointercancel",this._onMouseUp)},_proto._removeEventListeners=function(){this.$container.removeEventListener("touchmove",this._onTouchMove),this.$container.removeEventListener("pointerdown",this._onMouseDown),document.removeEventListener("pointermove",this._onMouseMove),document.removeEventListener("pointerup",this._onMouseUp),document.removeEventListener("pointercancel",this._onMouseUp)},_proto._onMouseDown=function(e){this.canDrag&&(this._startDrag(e.clientY),null==this.options.onDragStart||this.options.onDragStart.call(this.options,e))},_proto._onTouchMove=function(e){e.preventDefault()},_proto._startDrag=function(clientY){var _this__$scrollbar_classList,_this__$scrollbar;this.canDrag&&(this.isDragging=!0,this._startY=clientY,this.velocity=0,null==(_this__$scrollbar=this._$scrollbar)||null==(_this__$scrollbar_classList=_this__$scrollbar.classList)||_this__$scrollbar_classList.add("drag-scroll-show"),this.$container.style.cursor="grabbing")},_proto._onMouseMove=function(e){this.canDrag&&this.isDragging&&(this._drag(e.clientY),null==this.options.onDragging||this.options.onDragging.call(this.options,0,this.currentY))},_proto._drag=function(clientY){if(this.canDrag){var deltaY=this._startY-clientY;this._startY=clientY,this.currentY+=deltaY,this.velocity=deltaY,this.velocity=Math.max(Math.min(this.velocity,this._maxVelocity),-this._maxVelocity),this._applyTransform(),this._updateState()}},_proto._onMouseUp=function(e){this.canDrag&&this.isDragging&&(this.isDragging=!1,this._endDrag(),null==this.options.onDragEnd||this.options.onDragEnd.call(this.options,e))},_proto._endDrag=function(){var _this=this;this.$container.style.cursor="grab",setTimeout((function(){var _this__$scrollbar;_this.isDragging||null==(_this__$scrollbar=_this._$scrollbar)||_this__$scrollbar.classList.remove("drag-scroll-show")}),1500)},_proto._applyTransform=function(){if(this.$content.offsetHeight<=this.$container.clientHeight)this.$content.style.transform="translate3d(0, 0, 0)";else{var maxScroll=this.$content.scrollHeight-this.$container.clientHeight;this.currentY<0?(this.currentY=0,this.velocity*=this._bounceDamping):this.currentY>maxScroll&&(this.currentY=maxScroll,this.velocity*=this._bounceDamping),this.$content.style.transform="translate3d(0, "+-this.currentY+"px, 0)",this._updateScrollbar()}},_proto._animate=function(timestamp){if(void 0===timestamp&&(timestamp=0),this._animationId&&(cancelAnimationFrame(this._animationId),this._animationId=null),!(this.$content.offsetHeight<=this.$container.clientHeight)){this._lastTimestamp||(this._lastTimestamp=timestamp);var deltaTime=Math.min(timestamp-this._lastTimestamp,100)/16;if(this._lastTimestamp=timestamp,!this.isDragging){this.velocity*=this._friction,this.currentY+=this.velocity;var maxScroll=this.$content.scrollHeight-this.$container.clientHeight;this.currentY<0?this.velocity-=this.currentY*this._spring*deltaTime:this.currentY>maxScroll&&(this.velocity-=(this.currentY-maxScroll)*this._spring*deltaTime),this._applyTransform(),this._updateState(),Math.abs(this.velocity)<.1&&this.currentY>=0&&this.currentY<=maxScroll&&(this.velocity=0)}}},_proto._updateScrollbar=function(){var containerHeight=this.$container.clientHeight,contentHeight=this.$content.scrollHeight,maxScroll=contentHeight-containerHeight;if(maxScroll<=0)this._$scrollbarThumb&&(this._$scrollbarThumb.style.height="0");else{var thumbHeight=Math.max(containerHeight/contentHeight*containerHeight,20),thumbPosition=this.currentY/maxScroll*(containerHeight-thumbHeight);this._$scrollbarThumb&&(this._$scrollbarThumb.style.height=thumbHeight+"px",this._$scrollbarThumb.style.transform="translateY("+thumbPosition+"px)")}},_proto._updateState=function(){null==this.options.onChange||this.options.onChange.call(this.options,{x:0,y:this.currentY,velocity:+this.velocity.toFixed(1)})},_create_class(DragScroll,[{key:"width",get:function(){return this.$container.clientWidth}},{key:"height",get:function(){return this.$container.clientHeight}},{key:"readonly",get:function(){return this._readonly},set:function(value){this._readonly!==value&&(this.$container.style.cursor=value?"not-allowed":"grab",this._readonly=value),this.$container.removeEventListener("touchmove",this._onTouchMove),value||this.$container.addEventListener("touchmove",this._onTouchMove,{passive:!1})}},{key:"canDrag",get:function(){var offsetHeight=this.$content.offsetHeight;return!this.readonly&&offsetHeight>this.$container.clientHeight}}]),DragScroll}();return dist$4=DragScroll} /* * @ezuikit/control-time-line v1.0.2 * Copyright (c) 2025-11-16 Ezviz-OpenBiz * Released under the MIT License. - */var J=function(){if(L)return G;L=1;var A=Q(),e=b(),t=C(),i=U(),a=B(),r={zh:{title:"包含{{len}}段录像",foldTitle:"{{len}}个录像"},en:{title:"Includes {{len}} {{unit}}",foldTitle:"{{len}} {{unit}}"}},n={current:new Date,language:"zh",timeSections:[],readOnly:!1,className:"",timeWidth:0,width:"100%",timePointColor:"#1890ff",timeTextColor:"#FFF",timeScaleColor:"#FFF",timeSectionColor:"rgba(24, 144, 255, 0.5)",timeAxisBgColor:"#000",onChange:function(){},onDragStart:function(){},onDragging:function(){},onDragEnd:function(){},onDestroy:function(){}},o=function(){function t(t,i){if(this._current=new Date,this._readOnly=!1,this._width=0,this._height=0,this._destroyed=!1,this._timeWidth=0,this._timeSections=[],this.$container=t,!t)throw new Error("container is required");var a,o;this.options=A(n,i,{clone:!1}),this.options.timeSections&&Array.isArray(this.options.timeSections)&&(this._timeSections=this.options.timeSections),this.options.readOnly&&(this.readOnly=this.options.readOnly),this.options.className&&this.$container.classList.add(this.options.className),this.$container.style.position="relative",this.options.current&&(a=this.options.current,null!=(o=Date)&&"undefined"!=typeof Symbol&&o[Symbol.hasInstance]?o[Symbol.hasInstance](a):a instanceof o)?this._current=this.options.current||new Date:this._current=new Date,this.i18n=new e(A(r,this.options.locales||{},{clone:!1}),{defaultLocale:this.options.language||"zh"}),this._timeWidth=this.options.timeWidth||0,this._resize(this.options.width||"100%",this.options.height)}var i,a,o=t.prototype;return o.setReadOnly=function(A){this.readOnly=A},o.update=function(A){this._current=A},o.updateTimeSections=function(A){A&&Array.isArray(A)&&(this._timeSections=A)},o.resize=function(A,e){this._resize(A,e)},o._resize=function(A,e){var t="";/^\d+(\.\d+)?$/.test(A+"")?t+="width: "+A+"px;":A&&(t+="width: "+A+";"),/^\d+(\.\d+)?$/.test(e+"")?t+="height: "+e+"px;":e&&(t+="height: "+e+";"),this.$container&&(this.$container.style.cssText+=t),this._width=Math.floor(this.$container.clientWidth),this._height=Math.floor(this.$container.clientHeight)},o.setTimeWidth=function(A){[0,1,2,3,4,5].includes(A)&&(this._timeWidth=A)},o.destroy=function(){this._current=null,null==this.options.onDestroy||this.options.onDestroy.call(this.options),this._timeSections=[],this._readOnly=!1,this._destroyed=!0},i=t,(a=[{key:"current",get:function(){return this._current},set:function(A){this._current=A}},{key:"readOnly",get:function(){return this._readOnly},set:function(A){this._readOnly!==A&&(this._readOnly=A,this.$container.style.cursor=A?"not-allowed":"pointer")}},{key:"timeSections",get:function(){return this._timeSections}},{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}},{key:"timeWidth",get:function(){return this._timeWidth}}])&&function(A,e){for(var t=0;t9?i:"0"+i)+":"+(a>9?a:"0"+a)+":"+(r>9?r:"0"+r)}return"00:00:00"},A.subTime=function(A){return+A>9?A+"":"0"+A},A.tranTime=function(e,t){void 0===t&&(t="YYYY-MM-DD HH:mm:ss");var i=A.toDate(e);return i?"YYYY-MM-DD"===t?i.getFullYear()+"-"+A.subTime(i.getMonth()+1)+"-"+A.subTime(i.getDate()):"HH:mm:ss"===t?A.subTime(i.getHours())+":"+A.subTime(i.getMinutes())+":"+A.subTime(i.getSeconds()):"HH"===t?A.subTime(i.getHours()):"mm:ss"===t?A.subTime(i.getMinutes())+":"+A.subTime(i.getSeconds()):"HH:mm"===t?A.subTime(i.getHours())+":"+A.subTime(i.getMinutes()):"YYYYMMDDTHHmmssZ"===t?i.getFullYear()+""+A.subTime(i.getMonth()+1)+A.subTime(i.getDate())+"T"+A.subTime(i.getHours())+A.subTime(i.getMinutes())+A.subTime(i.getSeconds())+"Z":i.getFullYear()+"-"+A.subTime(i.getMonth()+1)+"-"+A.subTime(i.getDate())+" "+A.subTime(i.getHours())+":"+A.subTime(i.getMinutes())+":"+A.subTime(i.getSeconds()):""},A.timeToSecond=function(A){var e=A.split(":");return 60*Number(e[0])*60+60*Number(e[1])+(Number(e[2])||0)},A.minuteToTime=function(A){var e=Math.floor(A/60),t=A%60;return(e>9?e:"0"+e)+":"+(t>9?t:"0"+t)},A.timeToMinute=function(A){var e=A.split(":");return 60*Number(e[0])+Number(e[1])},A.isOverlap=function(A,e,t,i){return Math.max(A,t)<=Math.min(e,i)},A.tranTimeToString=function(e,t){var i,a,r=Math.floor((null==(i=A.toDate(t))?void 0:i.getTime())-(null==(a=A.toDate(e))?void 0:a.getTime()))/1e3,n=r%60,o=Math.floor(r/60);return(o>0?A.subTime(o)+"'":"0'")+A.subTime(n)+"''"},A}(),g=[[1,10,10,"单位 1秒"],[60,20,5,"单位 1分钟"],[600,20,6,"单位 10分钟"],[3600,30,6,"单位 1小时"],[14400,40,2,"单位 4小时"],[43200,80,2,"单位 12小时"]],l=[[1,10,10,"单位 1分钟"],[10,20,5,"单位 10分钟"],[30,20,6,"单位 30分钟"],[60,30,6,"单位 1小时"],[120,40,2,"单位 2小时"],[240,80,2,"单位 4小时"]];function I(){return I=Object.assign||function(A){for(var e=1;e0){void 0===t&&(t=i.length-1);var a=this.state.current;this._setState({availTimeLine:i,start:i[t].startTime,end:i[t].endTime,current:null===a?i[t].startTime:a}),this._matchTimeDot()}else this._setState({availTimeLine:[],current:s.formatDateToHHmmss(this.current||(new Date).getTime())}),this._matchTimeDot()},g.update=function(A){var e;A&&!(null==(e=this._dragScroll)?void 0:e.isDragging)&&(this._setState({current:s.tranTime(A,"HH:mm:ss")}),this._currentOffsetH())},g.destroy=function(){var A,t,i;if(this._scrollTimer&&(clearInterval(this._scrollTimer),this._scrollTimer=null),this._$currentTime)try{this.$container.removeChild(this._$currentTime),this._$currentTime=null}catch(A){}if(this._$itemList&&this._imageRemoveErrorEvent(this._$itemList.querySelectorAll("img.ez-time-line-img")||[]),this._$itemContainer&&this._$itemList)try{this._$itemContainer.removeChild(this._$itemList),this._$itemList=null}catch(A){}if(this._$itemContainer)try{this.$container.removeChild(this._$itemContainer),this._$itemContainer=null}catch(A){}if(this._$op)try{this.$container.removeChild(this._$op),this._$op=null}catch(A){}this._picker&&(this._imageRemoveErrorEvent((null==(i=this._picker.$body)||null==(t=i.querySelectorAll)?void 0:t.call(i,"img"))||[]),this._picker.destroy(),this._picker=null),this._removeEventListener(),null==(A=this._dragScroll)||A.destroy(),this._dragScroll=null,e.prototype.destroy.call(this)},g._setState=function(A){var e=this;Object.keys(A).forEach((function(t){var i,a;"current"===t&&A[t]?(e._setCurrentDOM(A[t]),e.state.current===A[t]||(null==(i=e._dragScroll)?void 0:i.isDragging)||(e.state[t]=A[t],e.current=new Date(s.tranTime((null==(a=e.timeSections[0])?void 0:a.endTime)||(new Date).getTime(),"YYYY-MM-DD")+" "+A[t]),null==e.options.onChange||e.options.onChange.call(e.options,e.current))):e.state[t]=A[t]}))},g._setCurrentDOM=function(A){this._$currentTime&&(this._$currentTime.querySelector(".ez-time-line-current-value").innerHTML=A)},g._matchTimeDot=function(){for(var A=this._scaleWidth,e=[],t=s.timeToMinute("24:00:00"),i=t=Math.floor(t/A)*A;i>=0;){var a=0,r=0;i==t&&(a=70),0==i&&(r=this.$container.clientHeight-70);var n=s.minuteToTime(i);e.push({id:i,current:n,label:"a"+i,marginTop:a,marginBottom:r,recArr:[],coverArr:this._filterTimeSectionsByTime(n)}),i-=A}this._setState({timeArr:e}),this._matchRecTimeDot()},g._matchRecTimeDot=function(){var A=this.state,e=A.availTimeLine,t=A.timeArr,i=this._scaleWidth,a=e.length;if(0===a)for(var r=0;rh&&t[E].id1?"ez-time-line-time-cover-fold-multiple":"")+'"\n data-start="'+e.current+'">\n '+(e.coverArr.length>1?'
':"")+'\n
\n \n \n '+(e.coverArr.length>1?A.i18n.t("foldTitle",{len:e.coverArr.length,unit:"videos"}):""+s.tranTime(e.coverArr[0].startTime,"HH:mm"))+"\n \n "+(1===e.coverArr.length?''+s.tranTimeToString(e.coverArr[0].startTime,e.coverArr[0].endTime)+"":"")+'\n \n \n
\n '),e.recArr.forEach((function(e){r+='
\n
'})),r+="
'+e.current+"
",a.innerHTML=r,t.appendChild(a),A._imageErrorEvent(t.querySelectorAll("img.ez-time-line-img")||[])})),this._currentOffsetH()},g._currentOffsetH=function(){var A=this.state.current;if(A){var e,t=(86400-s.timeToSecond(A)||0)/this._scaleWidth;null==(e=this._dragScroll)||e.scrollToY(t+60,!1)}},g._render=function(){var A=this;if(this._$currentTime=document.createElement("div"),this._$currentTime.classList.add("ez-time-line-current"),this._$currentTime.innerHTML='
\n \n \n
00:00:00
\n
',this.$container.appendChild(this._$currentTime),this._$itemContainer=document.createElement("div"),this._$itemContainer.classList.add("ez-time-line-container"),this.$container.appendChild(this._$itemContainer),this._dragScroll=new i(this._$itemContainer,{hideScrollbar:!0,onChange:function(e){var t=A._offsetYToTime(e.y);t[1]!==A.state.current&&A._setCurrentDOM(t[0]>=86400?"23:59:59":t[1])},onDragStart:function(e){A._moveStartX=e.clientX,A._moveStartY=e.clientY,null==A.options.onDragStart||A.options.onDragStart.call(A.options,A.state.current)},onDragging:function(){null==A.options.onDragging||A.options.onDragging.call(A.options,A.state.current)},onDragEnd:function(){var e,t=A._offsetYToTime(null==(e=A._dragScroll)?void 0:e.currentY);t[1]!==A.state.current&&A._setState({current:t[0]>=86400?"23:59:59":t[1]}),null==A.options.onDragEnd||A.options.onDragEnd.call(A.options,A.state.current)}}),/\d/.test(this.options.height))this._$itemContainer.style.cssText+="height: "+this.options.height+"px";else if("string"==typeof this.options.height)this._$itemContainer.style.cssText+="height: "+this.options.height;else{var e=this.$container.clientHeight;this._$itemContainer.style.cssText+="height: "+e+"px"}this._$itemList=document.createElement("div"),this._$itemList.classList.add("ez-time-line-item"),this._dragScroll.$content.appendChild(this._$itemList),this.options.showTimeWidthBtn&&(this._$op=document.createElement("div"),this._$op.classList.add("ez-time-line-op"),this._$op.innerHTML='\n \n \n \n ',this.$container.appendChild(this._$op)),this._picker=new t(null,{isMobile:!0,wrapClassName:"ez-time-line-picker",onOpenChange:function(e){var t,i;null==(i=A.options)||null==(t=i.onPickerOpenChange)||t.call(i,e)}}),this._addEventListener()},g._addEventListener=function(){var A,e;this.options.showTimeWidthBtn&&this._$op&&(null==(A=this._$op.querySelector(".ez-time-line-icon-plus"))||A.addEventListener("click",this._plusClick,!1),null==(e=this._$op.querySelector(".ez-time-line-icon-minus"))||e.addEventListener("click",this._minusClick,!1)),this._matchTimeDot(),this._picker&&(this._delegatePickerClose=a(this._picker.$body,".ez-time-line-picker-close","click",this._onPickerClose,!1),this._delegateItemContent=a(this._picker.$body,".ez-time-line-picker-item-content","click",this._onClickItem,!1),this._delegateCoverFold=a(this._$itemList,".ez-time-line-time-cover-fold","click",this._onClickCoverFold,!1))},g._removeEventListener=function(){var A,e,t,i;this.options.showTimeWidthBtn&&this._$op&&(null==(A=this._$op.querySelector(".ez-time-line-icon-plus"))||A.removeEventListener("click",this._plusClick),null==(e=this._$op.querySelector(".ez-time-line-icon-minus"))||e.removeEventListener("click",this._minusClick)),this._picker&&(null==(i=this._picker.$body)||null==(t=i.querySelector(".ez-time-line-picker-close"))||t.removeEventListener("click",this._onPickerClose),this._delegateItemContent&&(this._delegateItemContent.forEach((function(A){A.destroy()})),this._delegateItemContent=null),this._delegatePickerClose&&(this._delegatePickerClose.forEach((function(A){A.destroy()})),this._delegatePickerClose=null),this._delegateCoverFold&&(this._delegateCoverFold.forEach((function(A){A.destroy()})),this._delegateCoverFold=null))},g._plusClick=function(){var A=this.timeWidth+1;A>0&&A=0&&A=e&&i\n
\n \n \n \n '+this.i18n.t("title",{len:n.length,unit:n.length>1?"videos":"video"})+'\n
\n
\n
\n '+Object.keys(o).reverse().map((function(A){return'
\n
'+A+':00
\n
\n '+o[A].reverse().map((function(A){return'
\n '+s.tranTime(A.startTime,"HH:mm")+'\n \n '+s.tranTimeToString(A.startTime,A.endTime)+'\n \n \n
'})).join("")+"\n
\n
"})).join("")+"\n
\n
\n \n "),(null==(i=this._picker)?void 0:i.$body)&&this._imageErrorEvent((null==(a=this._picker)?void 0:a.$body.querySelectorAll("img"))||[])},g._imageErrorEvent=function(A){var e=this;void 0===A&&(A=[]),Array.from(A).forEach((function(A){A.hasAttribute("data-error")||A.addEventListener("error",e._onImageError)}))},g._imageRemoveErrorEvent=function(A){var e=this;void 0===A&&(A=[]),Array.from(A).forEach((function(A){A.removeEventListener("error",e._onImageError)}))},g._onImageError=function(A){var e=A.target;if(!e.hasAttribute("data-error")){var t,i=document.createElement("div");i.classList.add("ez-time-line-item-cover-placeholder"),i.innerHTML='\n \n ',null==(t=e.parentNode)||t.appendChild(i),e.remove()}},g._onPickerClose=function(){this._picker&&(this._picker.open=!1)},g._onClickItem=function(A){var e,t,i=null==(t=A.delegateTarget)||null==(e=t.getAttribute)?void 0:e.call(t,"data-index");this._picker&&(this._picker.open=!1),null==this.options.onPickerSelect||this.options.onPickerSelect.call(this.options,this.timeSections[+i])},g._onClickCoverFold=function(A){var e,t,i;A.preventDefault();var a=null==(i=A.delegateTarget)||null==(t=i.parentElement)||null==(e=t.getAttribute)?void 0:e.call(t,"data-time"),r=Math.abs(this._moveStartX-A.clientX),n=Math.abs(this._moveStartY-A.clientY);this._picker&&a&&!(r>=1||n>=1)&&(this._renderPickerContent(a),this._picker.open=!0)},g._setImageScr=function(A){if(A){var e="x=200&"+(this.options.coverQuery||"");return A+(A.includes("?")?"&":"?")+e}return""},g._offsetYToTime=function(A){var e,t=A;A<60&&(t=60,null==(e=this._dragScroll)||e.scrollToY(t));var i=86400-Math.floor((t-60)*this._scaleWidth);return[i,s.subTime(Math.floor(i/3600))+":"+s.subTime(Math.floor(i%3600/60))+":"+s.subTime(i%60)]},n=r,(o=[{key:"_scaleWidth",get:function(){return(l[this.timeWidth]||l[0])[0]}}])&&function(A,e){for(var t=0;t0;l-=r)0==(o-Math.floor(new Date(s.tranTime(new Date(1e3*o),"YYYY-MM-DD")+" 00:00:00").getTime()/1e3))%(this._timeWidthArray[0]*this._timeWidthArray[2])?(this._drawSolidLine(l,a,l,a+(this.options.scaleOffsetTop+4)*this.options.dpr,A),this._drawTextString(s.tranTime(new Date(1e3*o)),l,a+(this.options.scaleOffsetTop+4+4)*this.options.dpr,"center")):this._drawSolidLine(l,a,l,a+this.options.scaleOffsetTop*this.options.dpr,A),o-=this._timeWidthArray[0];for(var C=n;C<=this.width*this.options.dpr;C+=r)0==(g-Math.floor(new Date(s.tranTime(new Date(1e3*g),"YYYY-MM-DD")+" 00:00:00").getTime()/1e3))%(this._timeWidthArray[0]*this._timeWidthArray[2])?(this._drawSolidLine(C,a,C,a+(this.options.scaleOffsetTop+4)*this.options.dpr,A),this._drawTextString(s.tranTime(new Date(1e3*g)),C,a+(this.options.scaleOffsetTop+4+4)*this.options.dpr,"center")):this._drawSolidLine(C,a,C,a+this.options.scaleOffsetTop*this.options.dpr,A),g+=this._timeWidthArray[0];this._drawSolidLine(e.x,0,e.x,e.y,A,this.options.timePointColor)},r._drawSolidLine=function(A,e,t,i,a,r){this._ctx&&(this._ctx.save(),this._ctx.strokeStyle=null!=r?r:this.options.timeScaleColor,this._ctx.lineWidth=a,this._ctx.beginPath(),this._ctx.moveTo(A,e),this._ctx.lineTo(t,i),this._ctx.stroke(),this._ctx.restore())},r._drawTextString=function(A,e,t,i){if(this._ctx){var a=A.split(" ");this._ctx.font=12*this.options.dpr*1+"px serif",this._ctx.fillStyle=this.options.timeTextColor,this._ctx.textAlign=i||"left",this._timeWidthArray[0]%60==0&&(a[1]=a[1].replace(/:00$/,"")),this._ctx.fillText(a[1],e,t+8*this.options.dpr),!this.options.showYearMonthDay||"00:00:00"!==a[1]&&"00:00"!==a[1]&&this._timeWidthArray[0]*this._timeWidthArray[2]!=86400||(this._ctx.textAlign=i||"left",this._ctx.fillText(a[0],e,t+18*this.options.dpr))}},r._drawSections=function(){for(var A=this.timeSections||[],e=0;e=a.startTime?i.endTime=Math.max(i.endTime,a.endTime):e.push(a)}return e},r._addEventListener=function(){this._$canvas&&(this._$canvas.addEventListener("mousemove",this._mousemoveFun),this._$canvas.addEventListener("mouseover",this._mouseoverFun),this._$canvas.addEventListener("mouseleave",this._mouseleaveFun),this._$canvas.addEventListener("mousedown",this._mousedownFun),this._$canvas.addEventListener("mouseup",this._mouseUpFun),this._$canvas.addEventListener("wheel",this._mousewheelFun),this.$container.addEventListener("wheel",(function(A){A.preventDefault()}),{passive:!1}),this._$canvas.addEventListener("keydown",this._ctrlKeyDownFun),this._$canvas.addEventListener("keyup",this._ctrlKeyUpFun),document.addEventListener("keydown",this._ctrlKeyDownFun,!1),document.addEventListener("keyup",this._ctrlKeyUpFun,!1),this._$canvas.addEventListener("touchstart",this._touchstartFun,{passive:!1}),this._$canvas.addEventListener("touchmove",this._touchmoveFun,{passive:!1}),this._$canvas.addEventListener("touchend",this._touchendFun,{passive:!1}))},r._removeEventListener=function(){this._$canvas&&(this._$canvas.removeEventListener("mousemove",this._mousemoveFun),this._$canvas.removeEventListener("mouseover",this._mouseoverFun),this._$canvas.removeEventListener("mouseleave",this._mouseleaveFun),this._$canvas.removeEventListener("mousedown",this._mousedownFun),this._$canvas.removeEventListener("mouseup",this._mouseUpFun),this._$canvas.removeEventListener("wheel",this._mousewheelFun),this._$canvas.removeEventListener("keydown",this._ctrlKeyDownFun),this._$canvas.removeEventListener("keyup",this._ctrlKeyUpFun),document.removeEventListener("keydown",this._ctrlKeyDownFun),document.removeEventListener("keyup",this._ctrlKeyUpFun),this._$canvas.removeEventListener("touchstart",this._touchstartFun),this._$canvas.removeEventListener("touchmove",this._touchmoveFun),this._$canvas.removeEventListener("touchend",this._touchendFun))},r._mousedownFun=function(A){this.readOnly||(this._isMouseDown=!0,this._mousePosition=A.pageX,this._oldTime=this.current,null==this.options.onDragStart||this.options.onDragStart.call(this.options,this.current))},r._mouseoverFun=function(){this.readOnly||(this._isOver=!0)},r._mouseleaveFun=function(A){this.readOnly||(this._isOver=!1,this._moveEndOrTouchEndFun(A))},r._mouseUpFun=function(A){this._moveEndOrTouchEndFun(A)},r._mousemoveFun=function(A){if(!this.readOnly)if(this._isMouseDown&&this._isOver)this._moveUpdateFun(A.pageX);else{var e=parseInt(this.$container.offsetLeft+"",10);this._mousePosition=A.pageX-e,this._update()}},r._mousewheelFun=function(A){A.preventDefault(),this.readOnly},r._ctrlKeyDownFun=function(A){(A.ctrlKey||"Control"===A.key)&&(this._isCtrlKeyDown=!0)},r._ctrlKeyUpFun=function(A){(A.ctrlKey||"Control"===A.key)&&(this._isCtrlKeyDown=!1)},r._getTouchDistance=function(A){var e=A[0],t=A[1],i=t.clientX-e.clientX,a=t.clientY-e.clientY;return Math.sqrt(i*i+a*a)},r._touchstartFun=function(A){if(!this.readOnly)if(this._oldTime=this.current,this._isOver=!0,1===A.touches.length){var e=A.touches[0];this._isMouseDown=!0,this._mousePosition=e.clientX}else 2===A.touches.length&&(this._lastTouchDist=this._getTouchDistance(A.touches))},r._touchmoveFun=function(A){if(A.preventDefault(),A.stopPropagation(),!this.readOnly)if(1===A.touches.length){var e=A.touches[0];this._moveUpdateFun(e.clientX)}else 2===A.touches.length&&(this._getTouchDistance(A.touches),this._lastTouchDist)},r._touchendFun=function(A){this.readOnly||this._moveEndOrTouchEndFun(A)},r._moveEndOrTouchEndFun=function(A){A.preventDefault(),this.readOnly||this._isMouseDown&&(this._isMouseDown=!1,this._moved&&(this._moved=!1,this._update({current:this.current}),this._oldTime=this.current,null==this.options.onDragEnd||this.options.onDragEnd.call(this.options,this.current,this._isOver)),this._isOver&&Math.abs(this._mousePosition-(A.pageX||0))>5&&(null==this.options.onChange||this.options.onChange.call(this.options,this.current)),this._mousePosition=0,this._lastTouchDist=0)},r._moveUpdateFun=function(A){var e=this._mousePosition-A;if(0!==e){if(this._oldTime){var t=this._oldTime.getTime()+1e3*parseInt(e/this._curScaleSpacing*this._timeWidthArray[0]+"",10);this._update({current:new Date(t)}),null==this.options.onDragging||this.options.onDragging.call(this.options,new Date(t))}this._moved=!0}},i=t,(a=[{key:"_curScaleSpacing",get:function(){var A,e;return Math.floor((null==(A=this._timeWidthArray)?void 0:A[1])-(null==(e=this._timeWidthArray)?void 0:e[1])*+(this.timeWidth%1/2).toFixed(2))}}])&&function(A,e){for(var t=0;t9?h:"0"+h)+":"+(m>9?m:"0"+m)+":"+(s>9?s:"0"+s)}return"00:00:00"},TimeLineUtil.subTime=function(m){return+m>9?m+"":"0"+m},TimeLineUtil.tranTime=function(time,fmt){void 0===fmt&&(fmt="YYYY-MM-DD HH:mm:ss");var newDate=TimeLineUtil.toDate(time);return newDate?"YYYY-MM-DD"===fmt?newDate.getFullYear()+"-"+TimeLineUtil.subTime(newDate.getMonth()+1)+"-"+TimeLineUtil.subTime(newDate.getDate()):"HH:mm:ss"===fmt?TimeLineUtil.subTime(newDate.getHours())+":"+TimeLineUtil.subTime(newDate.getMinutes())+":"+TimeLineUtil.subTime(newDate.getSeconds()):"HH"===fmt?TimeLineUtil.subTime(newDate.getHours()):"mm:ss"===fmt?TimeLineUtil.subTime(newDate.getMinutes())+":"+TimeLineUtil.subTime(newDate.getSeconds()):"HH:mm"===fmt?TimeLineUtil.subTime(newDate.getHours())+":"+TimeLineUtil.subTime(newDate.getMinutes()):"YYYYMMDDTHHmmssZ"===fmt?newDate.getFullYear()+""+TimeLineUtil.subTime(newDate.getMonth()+1)+TimeLineUtil.subTime(newDate.getDate())+"T"+TimeLineUtil.subTime(newDate.getHours())+TimeLineUtil.subTime(newDate.getMinutes())+TimeLineUtil.subTime(newDate.getSeconds())+"Z":newDate.getFullYear()+"-"+TimeLineUtil.subTime(newDate.getMonth()+1)+"-"+TimeLineUtil.subTime(newDate.getDate())+" "+TimeLineUtil.subTime(newDate.getHours())+":"+TimeLineUtil.subTime(newDate.getMinutes())+":"+TimeLineUtil.subTime(newDate.getSeconds()):""},TimeLineUtil.timeToSecond=function(time){var e=time.split(":");return 60*Number(e[0])*60+60*Number(e[1])+(Number(e[2])||0)},TimeLineUtil.minuteToTime=function(minute){var hour=Math.floor(minute/60),m=minute%60;return(hour>9?hour:"0"+hour)+":"+(m>9?m:"0"+m)},TimeLineUtil.timeToMinute=function(time){var e=time.split(":");return 60*Number(e[0])+Number(e[1])},TimeLineUtil.isOverlap=function(a_start,a_end,b_start,b_end){return Math.max(a_start,b_start)<=Math.min(a_end,b_end)},TimeLineUtil.tranTimeToString=function(start,end){var _TimeLineUtil_toDate,_TimeLineUtil_toDate1,secondNum=Math.floor((null==(_TimeLineUtil_toDate=TimeLineUtil.toDate(end))?void 0:_TimeLineUtil_toDate.getTime())-(null==(_TimeLineUtil_toDate1=TimeLineUtil.toDate(start))?void 0:_TimeLineUtil_toDate1.getTime()))/1e3,second=secondNum%60,minute=Math.floor(secondNum/60);return(minute>0?TimeLineUtil.subTime(minute)+"'":"0'")+TimeLineUtil.subTime(second)+"''"},TimeLineUtil}(),TIME_WIDTH=[[1,10,10,"单位 1秒"],[60,20,5,"单位 1分钟"],[600,20,6,"单位 10分钟"],[3600,30,6,"单位 1小时"],[14400,40,2,"单位 4小时"],[43200,80,2,"单位 12小时"]],MOBILE_TIME_WIDTH=[[1,10,10,"单位 1分钟"],[10,20,5,"单位 10分钟"],[30,20,6,"单位 30分钟"],[60,30,6,"单位 1小时"],[120,40,2,"单位 2小时"],[240,80,2,"单位 4小时"]];function _extends$1(){return _extends$1=Object.assign||function(target){for(var i=1;i0){void 0===defaultIndex&&(defaultIndex=list.length-1);var current=this.state.current;this._setState({availTimeLine:list,start:list[defaultIndex].startTime,end:list[defaultIndex].endTime,current:null===current?list[defaultIndex].startTime:current}),this._matchTimeDot()}else this._setState({availTimeLine:[],current:TimeLineUtil.formatDateToHHmmss(this.current||(new Date).getTime())}),this._matchTimeDot()},_proto.update=function(time){var _this__dragScroll;time&&!(null==(_this__dragScroll=this._dragScroll)?void 0:_this__dragScroll.isDragging)&&(this._setState({current:TimeLineUtil.tranTime(time,"HH:mm:ss")}),this._currentOffsetH())},_proto.destroy=function(){var _this__dragScroll,_this__picker_$body_querySelectorAll,_this__picker_$body;if(this._scrollTimer&&(clearInterval(this._scrollTimer),this._scrollTimer=null),this._$currentTime)try{this.$container.removeChild(this._$currentTime),this._$currentTime=null}catch(error){}if(this._$itemList&&this._imageRemoveErrorEvent(this._$itemList.querySelectorAll("img.ez-time-line-img")||[]),this._$itemContainer&&this._$itemList)try{this._$itemContainer.removeChild(this._$itemList),this._$itemList=null}catch(error){}if(this._$itemContainer)try{this.$container.removeChild(this._$itemContainer),this._$itemContainer=null}catch(error){}if(this._$op)try{this.$container.removeChild(this._$op),this._$op=null}catch(error){}this._picker&&(this._imageRemoveErrorEvent((null==(_this__picker_$body=this._picker.$body)||null==(_this__picker_$body_querySelectorAll=_this__picker_$body.querySelectorAll)?void 0:_this__picker_$body_querySelectorAll.call(_this__picker_$body,"img"))||[]),this._picker.destroy(),this._picker=null),this._removeEventListener(),null==(_this__dragScroll=this._dragScroll)||_this__dragScroll.destroy(),this._dragScroll=null,BaseTimeLine.prototype.destroy.call(this)},_proto._setState=function(obj){var _this=this;Object.keys(obj).forEach((function(key){var _this__dragScroll,_this_timeSections_;"current"===key&&obj[key]?(_this._setCurrentDOM(obj[key]),_this.state.current===obj[key]||(null==(_this__dragScroll=_this._dragScroll)?void 0:_this__dragScroll.isDragging)||(_this.state[key]=obj[key],_this.current=new Date(TimeLineUtil.tranTime((null==(_this_timeSections_=_this.timeSections[0])?void 0:_this_timeSections_.endTime)||(new Date).getTime(),"YYYY-MM-DD")+" "+obj[key]),null==_this.options.onChange||_this.options.onChange.call(_this.options,_this.current))):_this.state[key]=obj[key]}))},_proto._setCurrentDOM=function(time){this._$currentTime&&(this._$currentTime.querySelector(".ez-time-line-current-value").innerHTML=time)},_proto._matchTimeDot=function(){for(var scaleWidth=this._scaleWidth,timeArr=[],minute=TimeLineUtil.timeToMinute("24:00:00"),i=minute=Math.floor(minute/scaleWidth)*scaleWidth;i>=0;){var marginTop=0,marginBottom=0;i==minute&&(marginTop=70),0==i&&(marginBottom=this.$container.clientHeight-70);var time=TimeLineUtil.minuteToTime(i);timeArr.push({id:i,current:time,label:"a"+i,marginTop:marginTop,marginBottom:marginBottom,recArr:[],coverArr:this._filterTimeSectionsByTime(time)}),i-=scaleWidth}this._setState({timeArr:timeArr}),this._matchRecTimeDot()},_proto._matchRecTimeDot=function(){var _this_state=this.state,availTimeLine=_this_state.availTimeLine,timeArr=_this_state.timeArr,scaleWidth=this._scaleWidth,len=availTimeLine.length;if(0===len)for(var j=0;jstMinute&&timeArr[j1].id1?"ez-time-line-time-cover-fold-multiple":"")+'"\n data-start="'+item.current+'">\n '+(item.coverArr.length>1?'
':"")+'\n
\n \n \n '+(item.coverArr.length>1?_this.i18n.t("foldTitle",{len:item.coverArr.length,unit:"videos"}):""+TimeLineUtil.tranTime(item.coverArr[0].startTime,"HH:mm"))+"\n \n "+(1===item.coverArr.length?''+TimeLineUtil.tranTimeToString(item.coverArr[0].startTime,item.coverArr[0].endTime)+"":"")+'\n \n \n
\n '),item.recArr.forEach((function(i){timeItemHtml+='
\n
'})),timeItemHtml+="
'+item.current+"
",timeItemDOM.innerHTML=timeItemHtml,container.appendChild(timeItemDOM),_this._imageErrorEvent(container.querySelectorAll("img.ez-time-line-img")||[])})),this._currentOffsetH()},_proto._currentOffsetH=function(){var current=this.state.current;if(current){var _this__dragScroll,y=(86400-TimeLineUtil.timeToSecond(current)||0)/this._scaleWidth;null==(_this__dragScroll=this._dragScroll)||_this__dragScroll.scrollToY(y+60,!1)}},_proto._render=function(){var _this=this;if(this._$currentTime=document.createElement("div"),this._$currentTime.classList.add("ez-time-line-current"),this._$currentTime.innerHTML='
\n \n \n
00:00:00
\n
',this.$container.appendChild(this._$currentTime),this._$itemContainer=document.createElement("div"),this._$itemContainer.classList.add("ez-time-line-container"),this.$container.appendChild(this._$itemContainer),this._dragScroll=new DragScroll(this._$itemContainer,{hideScrollbar:!0,onChange:function(state){var result=_this._offsetYToTime(state.y);result[1]!==_this.state.current&&_this._setCurrentDOM(result[0]>=86400?"23:59:59":result[1])},onDragStart:function(e){_this._moveStartX=e.clientX,_this._moveStartY=e.clientY,null==_this.options.onDragStart||_this.options.onDragStart.call(_this.options,_this.state.current)},onDragging:function(){null==_this.options.onDragging||_this.options.onDragging.call(_this.options,_this.state.current)},onDragEnd:function(){var _this__dragScroll,result=_this._offsetYToTime(null==(_this__dragScroll=_this._dragScroll)?void 0:_this__dragScroll.currentY);result[1]!==_this.state.current&&_this._setState({current:result[0]>=86400?"23:59:59":result[1]}),null==_this.options.onDragEnd||_this.options.onDragEnd.call(_this.options,_this.state.current)}}),/\d/.test(this.options.height))this._$itemContainer.style.cssText+="height: "+this.options.height+"px";else if("string"==typeof this.options.height)this._$itemContainer.style.cssText+="height: "+this.options.height;else{var height=this.$container.clientHeight;this._$itemContainer.style.cssText+="height: "+height+"px"}this._$itemList=document.createElement("div"),this._$itemList.classList.add("ez-time-line-item"),this._dragScroll.$content.appendChild(this._$itemList),this.options.showTimeWidthBtn&&(this._$op=document.createElement("div"),this._$op.classList.add("ez-time-line-op"),this._$op.innerHTML='\n \n \n \n ',this.$container.appendChild(this._$op)),this._picker=new Picker(null,{isMobile:!0,wrapClassName:"ez-time-line-picker",onOpenChange:function(isOpen){var _this_options_onPickerOpenChange,_this_options;null==(_this_options=_this.options)||null==(_this_options_onPickerOpenChange=_this_options.onPickerOpenChange)||_this_options_onPickerOpenChange.call(_this_options,isOpen)}}),this._addEventListener()},_proto._addEventListener=function(){var _this__$op_querySelector,_this__$op_querySelector1;this.options.showTimeWidthBtn&&this._$op&&(null==(_this__$op_querySelector=this._$op.querySelector(".ez-time-line-icon-plus"))||_this__$op_querySelector.addEventListener("click",this._plusClick,!1),null==(_this__$op_querySelector1=this._$op.querySelector(".ez-time-line-icon-minus"))||_this__$op_querySelector1.addEventListener("click",this._minusClick,!1)),this._matchTimeDot(),this._picker&&(this._delegatePickerClose=delegate(this._picker.$body,".ez-time-line-picker-close","click",this._onPickerClose,!1),this._delegateItemContent=delegate(this._picker.$body,".ez-time-line-picker-item-content","click",this._onClickItem,!1),this._delegateCoverFold=delegate(this._$itemList,".ez-time-line-time-cover-fold","click",this._onClickCoverFold,!1))},_proto._removeEventListener=function(){var _this__$op_querySelector,_this__$op_querySelector1,_this__picker_$body_querySelector,_this__picker_$body;this.options.showTimeWidthBtn&&this._$op&&(null==(_this__$op_querySelector=this._$op.querySelector(".ez-time-line-icon-plus"))||_this__$op_querySelector.removeEventListener("click",this._plusClick),null==(_this__$op_querySelector1=this._$op.querySelector(".ez-time-line-icon-minus"))||_this__$op_querySelector1.removeEventListener("click",this._minusClick)),this._picker&&(null==(_this__picker_$body=this._picker.$body)||null==(_this__picker_$body_querySelector=_this__picker_$body.querySelector(".ez-time-line-picker-close"))||_this__picker_$body_querySelector.removeEventListener("click",this._onPickerClose),this._delegateItemContent&&(this._delegateItemContent.forEach((function(delegation){delegation.destroy()})),this._delegateItemContent=null),this._delegatePickerClose&&(this._delegatePickerClose.forEach((function(delegation){delegation.destroy()})),this._delegatePickerClose=null),this._delegateCoverFold&&(this._delegateCoverFold.forEach((function(delegation){delegation.destroy()})),this._delegateCoverFold=null))},_proto._plusClick=function(){var timeWidth=this.timeWidth+1;timeWidth>0&&timeWidth=0&&timeWidth=startSecond&&_$start\n
\n \n \n \n '+this.i18n.t("title",{len:list.length,unit:list.length>1?"videos":"video"})+'\n
\n
\n
\n '+Object.keys(hourGroups).reverse().map((function(key){return'
\n
'+key+':00
\n
\n '+hourGroups[key].reverse().map((function(item){return'
\n '+TimeLineUtil.tranTime(item.startTime,"HH:mm")+'\n \n '+TimeLineUtil.tranTimeToString(item.startTime,item.endTime)+'\n \n \n
'})).join("")+"\n
\n
"})).join("")+"\n
\n
\n \n "),(null==(_this__picker1=this._picker)?void 0:_this__picker1.$body)&&this._imageErrorEvent((null==(_this__picker2=this._picker)?void 0:_this__picker2.$body.querySelectorAll("img"))||[])},_proto._imageErrorEvent=function(list){var _this=this;void 0===list&&(list=[]),Array.from(list).forEach((function(img){img.hasAttribute("data-error")||img.addEventListener("error",_this._onImageError)}))},_proto._imageRemoveErrorEvent=function(list){var _this=this;void 0===list&&(list=[]),Array.from(list).forEach((function(img){img.removeEventListener("error",_this._onImageError)}))},_proto._onImageError=function(e){var img=e.target;if(!img.hasAttribute("data-error")){var _img_parentNode,placeholder=document.createElement("div");placeholder.classList.add("ez-time-line-item-cover-placeholder"),placeholder.innerHTML='\n \n ',null==(_img_parentNode=img.parentNode)||_img_parentNode.appendChild(placeholder),img.remove()}},_proto._onPickerClose=function(){this._picker&&(this._picker.open=!1)},_proto._onClickItem=function(e){var _e_delegateTarget_getAttribute,_e_delegateTarget,index=null==(_e_delegateTarget=e.delegateTarget)||null==(_e_delegateTarget_getAttribute=_e_delegateTarget.getAttribute)?void 0:_e_delegateTarget_getAttribute.call(_e_delegateTarget,"data-index");this._picker&&(this._picker.open=!1),null==this.options.onPickerSelect||this.options.onPickerSelect.call(this.options,this.timeSections[+index])},_proto._onClickCoverFold=function(e){var _e_delegateTarget_parentElement_getAttribute,_e_delegateTarget_parentElement,_e_delegateTarget;e.preventDefault();var time=null==(_e_delegateTarget=e.delegateTarget)||null==(_e_delegateTarget_parentElement=_e_delegateTarget.parentElement)||null==(_e_delegateTarget_parentElement_getAttribute=_e_delegateTarget_parentElement.getAttribute)?void 0:_e_delegateTarget_parentElement_getAttribute.call(_e_delegateTarget_parentElement,"data-time"),moveX=Math.abs(this._moveStartX-e.clientX),moveY=Math.abs(this._moveStartY-e.clientY);this._picker&&time&&!(moveX>=1||moveY>=1)&&(this._renderPickerContent(time),this._picker.open=!0)},_proto._setImageScr=function(src){if(src){var query="x=200&"+(this.options.coverQuery||"");return src+(src.includes("?")?"&":"?")+query}return""},_proto._offsetYToTime=function(offsetY){var _this__dragScroll,y=offsetY;offsetY<60&&(y=60,null==(_this__dragScroll=this._dragScroll)||_this__dragScroll.scrollToY(y));var second=86400-Math.floor((y-60)*this._scaleWidth);return[second,TimeLineUtil.subTime(Math.floor(second/3600))+":"+TimeLineUtil.subTime(Math.floor(second%3600/60))+":"+TimeLineUtil.subTime(second%60)]},Constructor=MobileTimeLine,(protoProps=[{key:"_scaleWidth",get:function(){return(MOBILE_TIME_WIDTH[this.timeWidth]||MOBILE_TIME_WIDTH[0])[0]}}])&&function(target,props){for(var i=0;i0;x-=spacing)0==(leftLastScaleTime-Math.floor(new Date(TimeLineUtil.tranTime(new Date(1e3*leftLastScaleTime),"YYYY-MM-DD")+" 00:00:00").getTime()/1e3))%(this._timeWidthArray[0]*this._timeWidthArray[2])?(this._drawSolidLine(x,padding,x,padding+(this.options.scaleOffsetTop+4)*this.options.dpr,lineWidth),this._drawTextString(TimeLineUtil.tranTime(new Date(1e3*leftLastScaleTime)),x,padding+(this.options.scaleOffsetTop+4+4)*this.options.dpr,"center")):this._drawSolidLine(x,padding,x,padding+this.options.scaleOffsetTop*this.options.dpr,lineWidth),leftLastScaleTime-=this._timeWidthArray[0];for(var x1=rightLastScaleTimeX;x1<=this.width*this.options.dpr;x1+=spacing)0==(rightLastScaleTime-Math.floor(new Date(TimeLineUtil.tranTime(new Date(1e3*rightLastScaleTime),"YYYY-MM-DD")+" 00:00:00").getTime()/1e3))%(this._timeWidthArray[0]*this._timeWidthArray[2])?(this._drawSolidLine(x1,padding,x1,padding+(this.options.scaleOffsetTop+4)*this.options.dpr,lineWidth),this._drawTextString(TimeLineUtil.tranTime(new Date(1e3*rightLastScaleTime)),x1,padding+(this.options.scaleOffsetTop+4+4)*this.options.dpr,"center")):this._drawSolidLine(x1,padding,x1,padding+this.options.scaleOffsetTop*this.options.dpr,lineWidth),rightLastScaleTime+=this._timeWidthArray[0];this._drawSolidLine(centerPosition.x,0,centerPosition.x,centerPosition.y,lineWidth,this.options.timePointColor)},_proto._drawSolidLine=function(startX,startY,endX,endY,lineWidth,color){this._ctx&&(this._ctx.save(),this._ctx.strokeStyle=null!=color?color:this.options.timeScaleColor,this._ctx.lineWidth=lineWidth,this._ctx.beginPath(),this._ctx.moveTo(startX,startY),this._ctx.lineTo(endX,endY),this._ctx.stroke(),this._ctx.restore())},_proto._drawTextString=function(text,x,y,align){if(this._ctx){var timeTexts=text.split(" ");this._ctx.font=12*this.options.dpr*1+"px serif",this._ctx.fillStyle=this.options.timeTextColor,this._ctx.textAlign=align||"left",this._timeWidthArray[0]%60==0&&(timeTexts[1]=timeTexts[1].replace(/:00$/,"")),this._ctx.fillText(timeTexts[1],x,y+8*this.options.dpr),!this.options.showYearMonthDay||"00:00:00"!==timeTexts[1]&&"00:00"!==timeTexts[1]&&this._timeWidthArray[0]*this._timeWidthArray[2]!=86400||(this._ctx.textAlign=align||"left",this._ctx.fillText(timeTexts[0],x,y+18*this.options.dpr))}},_proto._drawSections=function(){for(var timeArr=this.timeSections||[],i=0;i=curr.startTime?prev.endTime=Math.max(prev.endTime,curr.endTime):merged.push(curr)}return merged},_proto._addEventListener=function(){this._$canvas&&(this._$canvas.addEventListener("mousemove",this._mousemoveFun),this._$canvas.addEventListener("mouseover",this._mouseoverFun),this._$canvas.addEventListener("mouseleave",this._mouseleaveFun),this._$canvas.addEventListener("mousedown",this._mousedownFun),this._$canvas.addEventListener("mouseup",this._mouseUpFun),this._$canvas.addEventListener("wheel",this._mousewheelFun),this.$container.addEventListener("wheel",(function(e){e.preventDefault()}),{passive:!1}),this._$canvas.addEventListener("keydown",this._ctrlKeyDownFun),this._$canvas.addEventListener("keyup",this._ctrlKeyUpFun),document.addEventListener("keydown",this._ctrlKeyDownFun,!1),document.addEventListener("keyup",this._ctrlKeyUpFun,!1),this._$canvas.addEventListener("touchstart",this._touchstartFun,{passive:!1}),this._$canvas.addEventListener("touchmove",this._touchmoveFun,{passive:!1}),this._$canvas.addEventListener("touchend",this._touchendFun,{passive:!1}))},_proto._removeEventListener=function(){this._$canvas&&(this._$canvas.removeEventListener("mousemove",this._mousemoveFun),this._$canvas.removeEventListener("mouseover",this._mouseoverFun),this._$canvas.removeEventListener("mouseleave",this._mouseleaveFun),this._$canvas.removeEventListener("mousedown",this._mousedownFun),this._$canvas.removeEventListener("mouseup",this._mouseUpFun),this._$canvas.removeEventListener("wheel",this._mousewheelFun),this._$canvas.removeEventListener("keydown",this._ctrlKeyDownFun),this._$canvas.removeEventListener("keyup",this._ctrlKeyUpFun),document.removeEventListener("keydown",this._ctrlKeyDownFun),document.removeEventListener("keyup",this._ctrlKeyUpFun),this._$canvas.removeEventListener("touchstart",this._touchstartFun),this._$canvas.removeEventListener("touchmove",this._touchmoveFun),this._$canvas.removeEventListener("touchend",this._touchendFun))},_proto._mousedownFun=function(e){this.readOnly||(this._isMouseDown=!0,this._mousePosition=e.pageX,this._oldTime=this.current,null==this.options.onDragStart||this.options.onDragStart.call(this.options,this.current))},_proto._mouseoverFun=function(){this.readOnly||(this._isOver=!0)},_proto._mouseleaveFun=function(e){this.readOnly||(this._isOver=!1,this._moveEndOrTouchEndFun(e))},_proto._mouseUpFun=function(e){this._moveEndOrTouchEndFun(e)},_proto._mousemoveFun=function(e){if(!this.readOnly)if(this._isMouseDown&&this._isOver)this._moveUpdateFun(e.pageX);else{var left=parseInt(this.$container.offsetLeft+"",10);this._mousePosition=e.pageX-left,this._update()}},_proto._mousewheelFun=function(e){e.preventDefault(),this.readOnly},_proto._ctrlKeyDownFun=function(e){(e.ctrlKey||"Control"===e.key)&&(this._isCtrlKeyDown=!0)},_proto._ctrlKeyUpFun=function(e){(e.ctrlKey||"Control"===e.key)&&(this._isCtrlKeyDown=!1)},_proto._getTouchDistance=function(touches){var touch1=touches[0],touch2=touches[1],dx=touch2.clientX-touch1.clientX,dy=touch2.clientY-touch1.clientY;return Math.sqrt(dx*dx+dy*dy)},_proto._touchstartFun=function(e){if(!this.readOnly)if(this._oldTime=this.current,this._isOver=!0,1===e.touches.length){var touch=e.touches[0];this._isMouseDown=!0,this._mousePosition=touch.clientX}else 2===e.touches.length&&(this._lastTouchDist=this._getTouchDistance(e.touches))},_proto._touchmoveFun=function(e){if(e.preventDefault(),e.stopPropagation(),!this.readOnly)if(1===e.touches.length){var touch=e.touches[0];this._moveUpdateFun(touch.clientX)}else 2===e.touches.length&&(this._getTouchDistance(e.touches),this._lastTouchDist)},_proto._touchendFun=function(e){this.readOnly||this._moveEndOrTouchEndFun(e)},_proto._moveEndOrTouchEndFun=function(e){e.preventDefault(),this.readOnly||this._isMouseDown&&(this._isMouseDown=!1,this._moved&&(this._moved=!1,this._update({current:this.current}),this._oldTime=this.current,null==this.options.onDragEnd||this.options.onDragEnd.call(this.options,this.current,this._isOver)),this._isOver&&Math.abs(this._mousePosition-(e.pageX||0))>5&&(null==this.options.onChange||this.options.onChange.call(this.options,this.current)),this._mousePosition=0,this._lastTouchDist=0)},_proto._moveUpdateFun=function(x){var mouseOffset=this._mousePosition-x;if(0!==mouseOffset){if(this._oldTime){var currentTime=this._oldTime.getTime()+1e3*parseInt(mouseOffset/this._curScaleSpacing*this._timeWidthArray[0]+"",10);this._update({current:new Date(currentTime)}),null==this.options.onDragging||this.options.onDragging.call(this.options,new Date(currentTime))}this._moved=!0}},Constructor=TimeLine,(protoProps=[{key:"_curScaleSpacing",get:function(){var _this__timeWidthArray,_this__timeWidthArray1;return Math.floor((null==(_this__timeWidthArray=this._timeWidthArray)?void 0:_this__timeWidthArray[1])-(null==(_this__timeWidthArray1=this._timeWidthArray)?void 0:_this__timeWidthArray1[1])*+(this.timeWidth%1/2).toFixed(2))}}])&&function(target,props){for(var i=0;i\n \n \n \n \n \n
'+((null==(A=this.locale)?void 0:A.LOADING)||"loading...")+"
\n "},t.show=function(A){A&&(this.$container.innerHTML=A),this.$container.style.display="flex",this.$container.classList.remove(H+"-hide"),this.$popupContainer.classList.add(H+"-has-loading")},t.hide=function(){A.prototype.hide.call(this),this.$popupContainer.classList.remove(H+"-has-loading")},e}(tA);function oA(){return oA=Object.assign||function(A){for(var e=1;e',null==(e=this.$container.querySelector("."+H+"-poster-img"))||e.addEventListener("error",this._imgLoadErrorEvent)):this.$container.innerHTML=""},t.show=function(){this.$container&&(this.$container.style.display="flex",this.$container.classList.remove(H+"-hide"))},t.hide=function(){var e,t;A.prototype.hide.call(this),null==(t=this.$container)||null==(e=t.querySelector("."+H+"-poster-img"))||e.removeEventListener("error",this._imgLoadErrorEvent)},t.destroy=function(){this.hide(),A.prototype.destroy.call(this)},e}(tA),CA='',IA='',cA=function(A){return''},hA='',BA='',EA='\n ',xA='',dA='',QA='',fA='',uA='',pA='',mA='',_A='',yA='',SA='',DA='',RA='',FA='',wA='',bA='\n ',vA='',PA=function(A){return''},kA='',NA='',TA='',MA='',LA='',YA='',GA='';function UA(A,e,t){void 0===t&&(t={});var i="";return t&&Object.keys(t).forEach((function(A){void 0!==t[A]&&null!==t[A]&&(i+=A+'="'+t[A]+'"')})),'"+A+""}var JA=function(A){return void 0===A&&(A={}),UA(CA,"play",A)},HA=function(A){return void 0===A&&(A={}),UA(IA,"pause",A)},OA=function(A){return void 0===A&&(A={}),UA(cA(H),"volume",A)},KA=function(A){return void 0===A&&(A={}),UA(hA,"mobile-fullscreen",A)},VA=function(A){return void 0===A&&(A={}),UA(EA,"exit-fullscreen",A)},WA=function(A){return void 0===A&&(A={}),UA(BA,"fullscreen",A)},ZA=function(A){return void 0===A&&(A={}),UA(dA,"exit-global-fullscreen",A)},XA=function(A){return void 0===A&&(A={}),UA(xA,"global-fullscreen",A)},qA=function(A){return void 0===A&&(A={}),UA(kA,"capture-picture",A)},jA=function(A){return void 0===A&&(A={}),UA(uA,"ptz",A)},zA=function(A){return void 0===A&&(A={}),UA(wA,"record",A)},$A=function(A){return void 0===A&&(A={}),UA(bA,"record-circle",A)},Ae=function(A){return void 0===A&&(A={}),UA(vA,"talk",A)},ee=function(A){return void 0===A&&(A={}),UA(PA(H),"talk-growth",A)},te=function(A){return void 0===A&&(A={}),UA(NA,"zoom",A)},ie=function(A){return void 0===A&&(A={}),UA(SA,"more",A)},ae=function(A){return void 0===A&&(A={}),UA(DA,"more-dot",A)},re=function(A){return void 0===A&&(A={}),UA(RA,"minus-circle",A)},ne=function(A){return void 0===A&&(A={}),UA(FA,"plus-circle",A)},oe=function(A){return void 0===A&&(A={}),UA(pA,"sdk",A)},se=function(A){return void 0===A&&(A={}),UA(mA,"cloud-rec",A)},ge=function(A){return void 0===A&&(A={}),UA(_A,"cloud-record",A)},le=function(A){return void 0===A&&(A={}),UA(QA,"close",A)},Ce=function(A){return void 0===A&&(A={}),UA(fA,"close-circle",A)},Ie=function(A){return void 0===A&&(A={}),UA(MA,"warn-circle",A)},ce=function(A){return void 0===A&&(A={}),UA(TA,"info-circle",A)},he=function(A){return void 0===A&&(A={}),UA(LA,"date",A)},Be=function(A){return void 0===A&&(A={}),UA(yA,"filter",A)},Ee=function(A){return void 0===A&&(A={}),UA(YA,"add",A)},xe=function(A){return void 0===A&&(A={}),UA(GA,"reduce",A)};function de(){return de=Object.assign||function(A){for(var e=1;e'+(A||"")+"",e,"error")},t._toast=function(A,e,t){var i=this;void 0===e&&(e="info"),void 0===t&&(t=2),this._toastTimer&&clearTimeout(this._toastTimer),this._toastTimer=null,this.options.rootContainer&&(this._$toast||(this._$toast=document.createElement("div"),this._$toast.classList.add(H+"-toast")),this._$toast.innerHTML='
'+this._getIcon(e)+''+(A||"")+"
",this.options.rootContainer.appendChild(this._$toast),t>0&&(this._toastTimer=setTimeout((function(){var A;null==(A=i._$toast)||A.remove(),i._$toast=null,i._toastTimer&&clearTimeout(i._toastTimer),i._toastTimer=null}),1e3*t)))},t._show=function(A,e,t){var i=this;void 0===e&&(e=0),void 0===t&&(t="info"),this._timer&&(clearTimeout(this._timer),this._timer=null),this.$popupContainer.classList.add(H+"-has-message",H+"-has-message-"+t),"function"==typeof this.options.render?this.$container.innerHTML=this.options.render(A,e,t):this.$container.innerHTML='
'+(A||"")+"
",this.$container.style.display="flex",this.$container.classList.remove(H+"-hide"),e>0&&(this._timer=setTimeout((function(){i.hide(),i._timer&&clearTimeout(i._timer),i._timer=null}),1e3*e))},t.destroy=function(){var e;this._timer&&(clearTimeout(this._timer),this._timer=null),this._toastTimer&&clearTimeout(this._toastTimer),this._toastTimer=null,null==(e=this._$toast)||e.remove(),this._$toast=null,this.hide(),A.prototype.destroy.call(this)},t.hide=function(){var e=this;this.$container.innerHTML="",Array.from(this.$popupContainer.classList).forEach((function(A){new RegExp("^"+H+"-has-message","ig").test(A)&&e.$popupContainer.classList.remove(A)})),A.prototype.hide.call(this)},t._getIcon=function(A){var e=ce();switch(A){case"warn":e=Ie();break;case"error":e=Ce();break;default:e=ce()}return e},e}(tA);function pe(A,e,t){return e&&function(A,e){for(var t=0;tA.length)&&(e=A.length);for(var t=0,i=new Array(e);t=A.length?{done:!0}:{done:!1,value:A[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var Fe=function(){function A(){}return A.orientationEventListener=function(e){var t=null,i=function(){var e,t;if(null==(e=screen)?void 0:e.orientation)return{angle:screen.orientation.angle,type:screen.orientation.type||screen.mozOrientation||screen.msOrientation};if(void 0!==(null==(t=window)?void 0:t.orientation)){var i=window.orientation;return{angle:i>=0?i:360+i,type:90===Math.abs(i)?"landscape":"portrait"}}return A.isMobile?{angle:window.innerWidth>window.innerHeight?90:0,type:window.innerWidth>window.innerHeight?"landscape":"portrait"}:{angle:0,type:"unknow"}},a=i(),r=function(){var A=null==i?void 0:i();A.angle===a.angle&&A.type===a.type||(null==e||e(A),a=A)},n=function(){t&&clearTimeout(t),r&&(t=setTimeout(r,200))};return screen.orientation?screen.orientation.addEventListener("change",r):"onorientationchange"in window?window.addEventListener("orientationchange",r):A.isMobile&&window.addEventListener("resize",n),[a,function(){screen.orientation&&r?screen.orientation.removeEventListener("change",r):"onorientationchange"in window&&r?window.removeEventListener("orientationchange",r):A.isMobile&&window.removeEventListener("resize",n),r=null,n=null,i=null,t&&(clearTimeout(t),t=null)}]},A.resizeObserver=function(A,e){var t=function(t,i){for(var a,r=Re(t);!(a=r()).done;){a.value.target===A&&e&&e(t,i)}},i=new ResizeObserver(Se(t,50));return i.observe(A),{unobserve:function(){try{null==i||i.unobserve(A)}catch(A){}t=null},disconnect:function(){null==i||i.disconnect(),i=null,t=null}}},A}();function we(A,e,t){return e&&function(A,e){for(var t=0;t=this.options.range[1])throw new Error("Progress range first element must be less than the second element.");this._isRotated=this.options.isRotated||!1,this.$container=A.container,this._render(),this._eventListeners();var i=null!=(t=this.options.defaultValue)?t:this.options.range[0];this._value=+i.toFixed(2),this._percent=+((i-this.options.range[0])/(this.options.range[1]-this.options.range[0])).toFixed(2),this._updateUI(),this.disabled=this.options.disabled}var e=A.prototype;return e.isRotate=function(A){this._isRotated=A},e.destroy=function(){var A,e,t,i,a,r,n,o,s,g;null==(e=this._delegateSliderMouseDown)||null==(A=e.destroy)||A.call(e),this._delegateSliderMouseDown=null,null==(i=this._delegateSliderHandleMouseDown)||null==(t=i.destroy)||t.call(i),this._delegateSliderHandleMouseDown=null,null==(r=this._delegateProgressMouseDown)||null==(a=r.destroy)||a.call(r),this._delegateProgressMouseDown=null,null==(o=this._delegatePlusClick)||null==(n=o.destroy)||n.call(o),this._delegatePlusClick=null,null==(g=this._delegateMinusClick)||null==(s=g.destroy)||s.call(g),this._delegateMinusClick=null,this.$content&&this.$container.removeChild(this.$content),this.$content=null},e._updateValuePercent=function(A,e){if("percent"===A){if(e<0||e>1)return;this._percent!==e&&(this._percent=+e.toFixed(2),this._convertPercentToValue(this._percent),null==this.options.onChange||this.options.onChange.call(this.options,this._value,this._percent,this.options.range),this._updateUI())}else if("value"===A){if(ethis.options.range[1])return;this._value!==e&&(this._value=+e.toFixed(2),this._convertValueToPercent(this._value),null==this.options.onChange||this.options.onChange.call(this.options,this._value,this._percent,this.options.range),this._updateUI())}},e._convertPercentToValue=function(A){this._value=+(this.options.range[0]+(this.options.range[1]-this.options.range[0])*A).toFixed(2)},e._convertValueToPercent=function(A){this._percent=+((A-this.options.range[0])/(this.options.range[1]-this.options.range[0])).toFixed(2)},e._render=function(){var A;this.$content=document.createElement("div"),this.$content.className=H+"-progress "+(null!=(A=this.options.className)?A:""),this.$content.innerHTML=(this.options.showPercent?'
'+(null==this.options.renderText?void 0:this.options.renderText.call(this.options,this._value,this._percent,this.options.range))+"
":"")+"\n "+(this.options.showPlus?'
\n '+ne()+"\n
":"")+'\n
\n
\n
\n
\n '+(this.options.showMinus?'
\n '+re()+"\n
":""),this.$container.appendChild(this.$content)},e._updateUI=function(){var A=this.$content;if(null==A||A.setAttribute("data-value",this._value+""),A.querySelector("."+H+"-progress-slider-fill")){var e=+(100*this._percent).toFixed(0);this.options.showPercent&&(A.querySelector("."+H+"-progress-text").innerHTML=null==this.options.renderText?void 0:this.options.renderText.call(this.options,this._value,this._percent,this.options.range)),A.querySelector("."+H+"-progress-slider-fill").style.height=e+"%",A.querySelector("."+H+"-progress-slider-handle").style.top=100-e+"%"}},e._eventListeners=function(){var A=this,e=window.PointerEvent?"pointerdown":"mousedown";if(this._delegateSliderMouseDown=d(this.$content,"."+H+"-progress-slider",e,(function(e){var t,i;if(e.stopPropagation(),!e.delegateTarget.classList.contains(H+"-disabled")&&!A._disabled){var a=A.$content.querySelector("."+H+"-progress-slider").getBoundingClientRect(),r=0;if(Fe.isMobile&&A._isRotated)r=+(Math.max(0,Math.min(e.clientX-a.x,a.width))/a.width).toFixed(2);else r=+(Math.max(0,Math.min(a.height-(e.clientY-a.y),a.height))/a.height).toFixed(2);A._convertPercentToValue(r),null==(i=A.options)||null==(t=i.onProgressClick)||t.call(i,A._value,r,A.options.range),A.percent=r}})),this._delegateSliderHandleMouseDown=d(this.$content,"."+H+"-progress-slider-handle",e,(function(e){if(e.stopPropagation(),A.options.draggable&&!e.delegateTarget.classList.contains(H+"-disabled")&&!A._disabled){var t=A._isRotated?e.clientX:e.clientY,i=A.$content.querySelector("."+H+"-progress-slider-fill").offsetHeight,a=A.$content.querySelector("."+H+"-progress-slider").offsetHeight,r=Se((function(e){if(e.stopPropagation(),A.options.draggable&&!A._disabled){var r=t-(A._isRotated?e.clientX:e.clientY),n=i+(A._isRotated?-r:r);n=Math.max(0,Math.min(n,a)),A.percent=+(n/a).toFixed(2)}}),20),n=A.$content,o=window.PointerEvent?"pointermove":"mousemove",s=window.PointerEvent?"pointerup":"mouseup",g=window.PointerEvent?"pointerleave":"mouseleave";n.addEventListener(o,r),n.addEventListener(s,l),n.addEventListener(g,l)}function l(){n.removeEventListener(o,r),r=null,n.removeEventListener(s,l),n.removeEventListener(g,l)}})),this.options.showPlus){var t=window.PointerEvent?"pointerdown":"click";this._delegatePlusClick=d(this.$content,"."+H+"-progress-plus",t,(function(e){if(e.stopPropagation(),!e.delegateTarget.classList.contains(H+"-disabled")&&!A._disabled){var t=A._value+A.options.step;t<=A.options.range[1]?A.value=t:A.value=A.options.range[1],null==A.options.onPlusClick||A.options.onPlusClick.call(A.options,A.value,A.percent,A.options.range)}}))}if(this.options.showMinus){var i=window.PointerEvent?"pointerdown":"click";this._delegateMinusClick=d(this.$content,"."+H+"-progress-minus",i,(function(e){if(e.stopPropagation(),!e.delegateTarget.classList.contains(H+"-disabled")&&!A._disabled){var t=A._value-A.options.step;t>=A.options.range[0]?A.value=t:A.value=A.options.range[0],null==A.options.onMinusClick||A.options.onMinusClick.call(A.options,A.value,A.percent,A.options.range)}}),!0)}["mousedown","touchstart","touchmove","dblclick"].forEach((function(e){d(A.$container,"."+H+"-progress",e,(function(A){A.stopPropagation(),A.preventDefault()}))}))},we(A,[{key:"disabled",get:function(){return this._disabled},set:function(A){this._disabled=A}},{key:"value",get:function(){return this._value},set:function(A){this._updateValuePercent("value",A)}},{key:"percent",get:function(){return this._percent},set:function(A){this._updateValuePercent("percent",A)}}]),A}();function Pe(A,e,t){return e&&function(A,e){for(var t=0;t=1?1:(null==(a=t._options.props)?void 0:a.volume)<=0?0:+(null==(r=t._options.props)?void 0:r.volume.toFixed(2)),t._lastVolume=t._volume,t._muted=!!(null==(n=t._options.props)?void 0:n.muted)||!1,Fe.isMobile||"ezopen"===t._options.PLAY_TYPE)||(t.picker=new h(t.$container,{getPopupContainer:function(){return t.$container},trigger:t._options.trigger,open:t._options.open,offset:[0,-10],placement:"top",onOpenChange:function(A){null==t._options.onOpenChange||t._options.onOpenChange.call(t._options,A,t._muted?t._lastVolume:t.volume,t._muted),t.emit(z.control.volumePanelOpenChange,A,t._lastVolume,t._muted)}}),t._progress=new ve({container:t.picker.$body,defaultValue:(null==(o=t._options.props)?void 0:o.muted)?0:null==(s=t._options.props)?void 0:s.volume,range:[0,1],step:.1,showPercent:!0,className:H+"-volume-progress",onProgressClick:function(){t.muted=!1},onChange:function(A){A!==t._volume&&(t.volume=A)}}));return t._updateUI(),t._addEventListener(),t.on(z.audioCodecUnsupported,(function(){t.disabled=!0})),t.on(z.volumechange,(function(A,e){t._muted!==e&&(t.muted=e),t._lastVolume!==A&&(t.volume=A)})),t}!function(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(e&&e.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),e&&Ne(A,e)}(e,A);var t=e.prototype;return t.destroy=function(){var e,t,i;null==(t=this._progress)||null==(e=t.destroy)||e.call(t),this._progress=null,null==(i=this.picker)||i.destroy(),this.picker=null,A.prototype.destroy.call(this)},t._toggleMute=function(){if(!this.disabled){var A;if(0===this._lastVolume)return this.volume=(null==(A=this._options.props)?void 0:A.volume)||.5,void(this.muted=!1);this.muted?this.muted=!1:this.muted=!0}},t._updateUI=function(){var A,e;(this._$content.classList.remove(H+"-icon-volume-muted"),this._$content.classList.remove(H+"-icon-volume-zero"),this._$content.classList.remove(H+"-icon-volume-low"),this._$content.classList.remove(H+"-icon-volume-high"),this._muted)?(this._volume=0,this._$content.classList.add(H+"-icon-volume-muted"),this._$content.setAttribute("title",(null==this||null==(A=this.locale)?void 0:A.BTN_MUTED)||"muted")):(this._$content.classList.remove(H+"-icon-volume-muted"),0===this._volume?this._$content.classList.add(H+"-icon-volume-zero"):this._volume<=.5?this._$content.classList.add(H+"-icon-volume-low"):this._$content.classList.add(H+"-icon-volume-high"),this._$content.setAttribute("title",(null==this||null==(e=this.locale)?void 0:e.BTN_VOLUME)||"volume"))},t._render=function(){var A;this.$container.innerHTML=OA({title:null==(A=this.locale)?void 0:A.BTN_VOLUME})},t._onControlClick=function(){},t._addEventListener=function(){var A=this;d(this.$container,"."+H+"-control-volume","mousedown",(function(){A.$container.classList.contains(H+"-disabled")||A._toggleMute()}))},Pe(e,[{key:"muted",get:function(){return this._muted},set:function(A){this._muted!==A&&(A?(this._volume=0,this._progress&&(this._progress.value=0)):(this._volume=this._lastVolume,this._progress&&(this._progress.value=this._lastVolume)),this._muted=A,null==this._options.onChange||this._options.onChange.call(this._options,this.volume,A),this.emit(z.control.volumechange,this.volume,A)),this._updateUI()}},{key:"volume",get:function(){return this._lastVolume},set:function(A){if(A>=0&&A<=1){var e=+A.toFixed(2);this._lastVolume!==e&&(this._volume=e,this._lastVolume=this._volume,this._progress&&(this._progress.value=e),null==this._options.onChange||this._options.onChange.call(this._options,e,this._muted),this.emit(z.control.volumechange,e,this._muted)),this._updateUI()}}},{key:"disabled",get:function(){return this._disabled},set:function(A){this._disabled=A,this.picker&&(this.picker.disabled=A),this._updateDisabledState(A)}},{key:"_$content",get:function(){return this.$container.querySelector("."+H+"-icon-volume")}}]),e}(tA);function Le(A,e,t,i,a,r,n){try{var o=A[r](n),s=o.value}catch(A){return void t(A)}o.done?e(s):Promise.resolve(s).then(i,a)}function Ye(A){return function(){var e=this,t=arguments;return new Promise((function(i,a){var r=A.apply(e,t);function n(A){Le(r,i,a,n,o,"next",A)}function o(A){Le(r,i,a,n,o,"throw",A)}n(void 0)}))}}function Ge(A,e){var t,i,a,r={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},n=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return n.next=o(0),n.throw=o(1),n.return=o(2),"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function o(o){return function(s){return function(o){if(t)throw new TypeError("Generator is already executing.");for(;n&&(n=0,o[0]&&(r=0)),r;)try{if(t=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return r.label++,{value:o[1],done:!1};case 5:r.label++,i=o[1],o=[0];continue;case 7:o=r.ops.pop(),r.trys.pop();continue;default:if(!(a=r.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){r=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]=0?(this.fullscreens[t].onChange||(this.fullscreens[t].onChange=[]),this.fullscreens[t].onChange.push(e)):this.fullscreens.push({element:A,onChange:[e]})}},e.getChanges=function(A){var e=this.fullscreens.find((function(e){return e.element===A}));return e&&(null==e?void 0:e.onChange)||[]},e.remove=function(A,e){var t=this.fullscreens.findIndex((function(e){return e.element===A}));if(t>=0){var i,a=null==(i=this.fullscreens[t].onChange)?void 0:i.find((function(A){return A===e}));if(a){var r,n=null==(r=this.fullscreens[t].onChange)?void 0:r.filter((function(A){return A!==a}));this.fullscreens[t].onChange=n}(!this.fullscreens[t].onChange||this.fullscreens[t].onChange&&0===this.fullscreens[t].onChange.length)&&this.fullscreens.splice(t,1)}},A.getInstance=function(){return A.instance||(A.instance=new A),A.instance},A}(),He=Je.getInstance(),Oe=function(){function A(A,e){void 0===e&&(e={}),this._isCurrentFullscreen=!1,this._isFullscreen=!1,this._currentFullscreenElementList=[],this.$container=A,this._options=Object.assign({},Ue,e),this._options.onChange&&Fe.isMobile&&He.add(this.$container,this._options.onChange),this._isFullscreen=!!this._options.isFullscreen,this._fullscreenchange2=this._fullscreenchange2.bind(this),F.isEnabled&&F.on("change",this._fullscreenchange2)}var e=A.prototype;return e.fullscreen=function(){return Ye((function(){return Ge(this,(function(A){switch(A.label){case 0:return Fe.isMobile?(this._fullscreenchange(this.$container,!0),[3,3]):[3,1];case 1:return[4,F.request(this.$container)];case 2:return[2,A.sent()];case 3:return[2]}}))})).call(this)},e.exitFullscreen=function(){return Ye((function(){return Ge(this,(function(A){switch(A.label){case 0:return Fe.isMobile?(this._fullscreenchange(this.$container,!1),[3,3]):[3,1];case 1:return this._isFullscreen?[4,F.exit()]:[3,3];case 2:return[2,A.sent()];case 3:return[2]}}))})).call(this)},e.toggle=function(){return Ye((function(){return Ge(this,(function(A){switch(A.label){case 0:return Fe.isMobile?(this._fullscreenchange(this.$container,!this._isCurrentFullscreen),[3,3]):[3,1];case 1:return[4,F.toggle(this.$container)];case 2:return[2,A.sent()];case 3:return[2]}}))})).call(this)},e.destroy=function(){F.isEnabled&&F.off("change",this._fullscreenchange2),Fe.isMobile&&this._options.onChange&&He.remove(this.$container,this._options.onChange),this._fullscreenchange2=null},e._fullscreenchange2=function(){this._fullscreenchange()},e._fullscreenchange=function(A,e){var t,i,a,r=this;if(this._isFullscreen=F.isFullscreen,A)this._isCurrentFullscreen=!!e,this._currentFullscreenElementList=[];else if(this._isFullscreen){var n=F.element,o=this._currentFullscreenElementList.indexOf(n);n&&-1===o?this._currentFullscreenElementList.unshift(n):n&&o>=1&&this._currentFullscreenElementList.shift();var s=this._currentFullscreenElementList.indexOf(this.$container);this._isCurrentFullscreen=s>=0}else this._isCurrentFullscreen=!1,this._currentFullscreenElementList=[];this._isCurrentFullscreen?null==(t=this.$container)||t.classList.add(this._options.prefix+"-fullscreen"):(null==(i=this.$container)||i.classList.remove(this._options.prefix+"-fullscreen"),null==(a=this.$container)||a.classList.remove(this._options.prefix+"-global-fullscreen"));Fe.isMobile?He.getChanges(this.$container).forEach((function(A){A({isCurrentFullscreen:r._isCurrentFullscreen,isFullscreen:r._isFullscreen,isMobile:Fe.isMobile})})):null==this._options.onChange||this._options.onChange.call(this._options,{isCurrentFullscreen:this._isCurrentFullscreen,isFullscreen:this._isFullscreen,isMobile:Fe.isMobile}),Fe.isMobile&&(this._isCurrentFullscreen?document.body.classList.add(this._options.prefix+"-body-mobile-noscroll"):document.body.classList.remove(this._options.prefix+"-body-mobile-noscroll"))},A}();function Ke(){return Ke=Object.assign||function(A){for(var e=1;e0&&e>0&&(this._originWidth=A,this._originHeight=e);var a="contain";if(this._scaleMode===O&&(a="fill"),this._scaleMode===V&&(a="cover"),t>0&&i>0&&this._originWidth>0&&this._originHeight>0&&this.$video){var r=(t-this._originWidth)/2,n=(i-this._originHeight)/2,o=t/this._originWidth,s=i/this._originHeight,g=o>s?s:o;this._scaleMode!==K&&o!==s&&(g=o+","+s),this._scaleMode===V&&(g=o>s?o:s),this.$video.style.cssText+="\n width: "+this._originWidth+"px;\n height: "+this._originHeight+"px;\n position: absolute;\n object-fit:"+a+";\n left: "+r+"px;\n top: "+n+"px;\n transform-origin: 50% 50%;\n transform: scale("+g+");\n ",this.emit(z.control.contentRerender,{scaleMode:this._scaleMode,objectFill:a,scale:g,width:this._originWidth,height:this._originHeight})}}},t.setScaleMode=function(A){void 0===A&&(A=0),this._scaleMode=A,this._rerender()},t.destroy=function(){var A;this.$video&&(this.$video.remove(),this.$video=null),this.$content&&(this.$content.remove(),this.$content=null),null==(A=this.$wrapper)||A.remove(),this.$wrapper=null,this.emit(z.control.contentDestroy),this.removeAllListeners()},e}(l);function it(){return it=Object.assign||function(A){for(var e=1;e\n \n \n \n \n \n
'+((null==(_this_locale=this.locale)?void 0:_this_locale.LOADING)||"loading...")+"
\n "},_proto.show=function(html){html&&(this.$container.innerHTML=html),this.$container.style.display="flex",this.$container.classList.remove("ezplayer-hide"),this.$popupContainer.classList.add("ezplayer-has-loading")},_proto.hide=function(){Control.prototype.hide.call(this),this.$popupContainer.classList.remove("ezplayer-has-loading")},Loading}(Control);function _extends$p(){return _extends$p=Object.assign||function(target){for(var i=1;i',null==(_this_$container_querySelector=this.$container.querySelector(".ezplayer-poster-img"))||_this_$container_querySelector.addEventListener("error",this._imgLoadErrorEvent)):this.$container.innerHTML=""},_proto.show=function(){this.$container&&(this.$container.style.display="flex",this.$container.classList.remove("ezplayer-hide"))},_proto.hide=function(){var _this_$container_querySelector,_this_$container;Control.prototype.hide.call(this),null==(_this_$container=this.$container)||null==(_this_$container_querySelector=_this_$container.querySelector(".ezplayer-poster-img"))||_this_$container_querySelector.removeEventListener("error",this._imgLoadErrorEvent)},_proto.destroy=function(){this.hide(),Control.prototype.destroy.call(this)},Poster}(Control),Icons_play='',Icons_pause='',Icons_volume=function(prefix){return''},Icons_mobileFullscreen='',Icons_fullscreen='',Icons_exitFullscreen='\n ',Icons_globalFullscreen='',Icons_exitGlobalFullscreen='',Icons_close='',Icons_closeCircleOutLined='',Icons_ptz='',Icons_sdk='',Icons_cloudRec='',Icons_cloudRecord='',Icons_filter='',Icons_more='',Icons_moreDot='',Icons_minusCircle='',Icons_plusCircle='',Icons_record='',Icons_recordCircle='\n ',Icons_talk='',Icons_talkGrowth=function(prefix){return''},Icons_capturePicture='',Icons_zoom='',Icons_infoCircleOutLined='',Icons_warnCircleOutLined='',Icons_date='',Icons_add='',Icons_reduce='';function createIcon(svg,type,attr){void 0===attr&&(attr={});var attrStr="";return attr&&Object.keys(attr).forEach((function(key){void 0!==attr[key]&&null!==attr[key]&&(attrStr+=key+'="'+attr[key]+'"')})),'"+svg+""}var IconComponents_play=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_play,"play",attr)},IconComponents_pause=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_pause,"pause",attr)},IconComponents_volume=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_volume("ezplayer"),"volume",attr)},IconComponents_mobileFullscreen=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_mobileFullscreen,"mobile-fullscreen",attr)},IconComponents_exitFullscreen=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_exitFullscreen,"exit-fullscreen",attr)},IconComponents_fullscreen=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_fullscreen,"fullscreen",attr)},IconComponents_exitGlobalFullscreen=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_exitGlobalFullscreen,"exit-global-fullscreen",attr)},IconComponents_globalFullscreen=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_globalFullscreen,"global-fullscreen",attr)},IconComponents_capturePicture=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_capturePicture,"capture-picture",attr)},IconComponents_ptz=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_ptz,"ptz",attr)},IconComponents_record=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_record,"record",attr)},IconComponents_recordCircle=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_recordCircle,"record-circle",attr)},IconComponents_talk=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_talk,"talk",attr)},IconComponents_talkGrowth=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_talkGrowth("ezplayer"),"talk-growth",attr)},IconComponents_zoom=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_zoom,"zoom",attr)},IconComponents_more=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_more,"more",attr)},IconComponents_moreDot=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_moreDot,"more-dot",attr)},IconComponents_minusCircle=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_minusCircle,"minus-circle",attr)},IconComponents_plusCircle=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_plusCircle,"plus-circle",attr)},IconComponents_sdk=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_sdk,"sdk",attr)},IconComponents_cloudRec=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_cloudRec,"cloud-rec",attr)},IconComponents_cloudRecord=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_cloudRecord,"cloud-record",attr)},IconComponents_close=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_close,"close",attr)},IconComponents_closeCircleOutLined=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_closeCircleOutLined,"close-circle",attr)},IconComponents_warnCircleOutLined=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_warnCircleOutLined,"warn-circle",attr)},IconComponents_infoCircleOutLined=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_infoCircleOutLined,"info-circle",attr)},IconComponents_date=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_date,"date",attr)},IconComponents_filter=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_filter,"filter",attr)},IconComponents_add=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_add,"add",attr)},IconComponents_reduce=function(attr){return void 0===attr&&(attr={}),createIcon(Icons_reduce,"reduce",attr)};function _extends$o(){return _extends$o=Object.assign||function(target){for(var i=1;i'+(msg||"")+"",duration,"error")},_proto._toast=function(msg,type,duration){var _this=this;void 0===type&&(type="info"),void 0===duration&&(duration=2),this._toastTimer&&clearTimeout(this._toastTimer),this._toastTimer=null,this.options.rootContainer&&(this._$toast||(this._$toast=document.createElement("div"),this._$toast.classList.add("ezplayer-toast")),this._$toast.innerHTML='
'+this._getIcon(type)+''+(msg||"")+"
",this.options.rootContainer.appendChild(this._$toast),duration>0&&(this._toastTimer=setTimeout((function(){var _this__$toast;null==(_this__$toast=_this._$toast)||_this__$toast.remove(),_this._$toast=null,_this._toastTimer&&clearTimeout(_this._toastTimer),_this._toastTimer=null}),1e3*duration)))},_proto._show=function(msg,duration,type){var _this=this;void 0===duration&&(duration=0),void 0===type&&(type="info"),this._timer&&(clearTimeout(this._timer),this._timer=null),this.$popupContainer.classList.add("ezplayer-has-message","ezplayer-has-message-"+type),"function"==typeof this.options.render?this.$container.innerHTML=this.options.render(msg,duration,type):this.$container.innerHTML='
'+(msg||"")+"
",this.$container.style.display="flex",this.$container.classList.remove("ezplayer-hide"),duration>0&&(this._timer=setTimeout((function(){_this.hide(),_this._timer&&clearTimeout(_this._timer),_this._timer=null}),1e3*duration))},_proto.destroy=function(){var _this__$toast;this._timer&&(clearTimeout(this._timer),this._timer=null),this._toastTimer&&clearTimeout(this._toastTimer),this._toastTimer=null,null==(_this__$toast=this._$toast)||_this__$toast.remove(),this._$toast=null,this.hide(),Control.prototype.destroy.call(this)},_proto.hide=function(){var _this=this;this.$container.innerHTML="",Array.from(this.$popupContainer.classList).forEach((function(className){new RegExp("^ezplayer-has-message","ig").test(className)&&_this.$popupContainer.classList.remove(className)})),Control.prototype.hide.call(this)},_proto._getIcon=function(type){var icon=IconComponents_infoCircleOutLined();switch(type){case"warn":icon=IconComponents_warnCircleOutLined();break;case"error":icon=IconComponents_closeCircleOutLined();break;default:icon=IconComponents_infoCircleOutLined()}return icon},Message}(Control);function _create_class$8(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=o.length?{done:!0}:{done:!1,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var Utils=function(){function Utils(){}return Utils.orientationEventListener=function(change){var _orientationTimer=null,getOrientation=function(){var _screen,_window;if(null==(_screen=screen)?void 0:_screen.orientation)return{angle:screen.orientation.angle,type:screen.orientation.type||screen.mozOrientation||screen.msOrientation};if(void 0!==(null==(_window=window)?void 0:_window.orientation)){var angle=window.orientation;return{angle:angle>=0?angle:360+angle,type:90===Math.abs(angle)?"landscape":"portrait"}}return Utils.isMobile?{angle:window.innerWidth>window.innerHeight?90:0,type:window.innerWidth>window.innerHeight?"landscape":"portrait"}:{angle:0,type:"unknow"}},orientation=getOrientation(),onOrientationChange=function(){var newOrientation=null==getOrientation?void 0:getOrientation();newOrientation.angle===orientation.angle&&newOrientation.type===orientation.type||(null==change||change(newOrientation),orientation=newOrientation)},onResize=function(){_orientationTimer&&clearTimeout(_orientationTimer),onOrientationChange&&(_orientationTimer=setTimeout(onOrientationChange,200))};return screen.orientation?screen.orientation.addEventListener("change",onOrientationChange):"onorientationchange"in window?window.addEventListener("orientationchange",onOrientationChange):Utils.isMobile&&window.addEventListener("resize",onResize),[orientation,function(){screen.orientation&&onOrientationChange?screen.orientation.removeEventListener("change",onOrientationChange):"onorientationchange"in window&&onOrientationChange?window.removeEventListener("orientationchange",onOrientationChange):Utils.isMobile&&window.removeEventListener("resize",onResize),onOrientationChange=null,onResize=null,getOrientation=null,_orientationTimer&&(clearTimeout(_orientationTimer),_orientationTimer=null)}]},Utils.resizeObserver=function(node,callback){var observerFn=function(entries,observer){for(var _step,_iterator=_create_for_of_iterator_helper_loose$2(entries);!(_step=_iterator()).done;){_step.value.target===node&&callback&&callback(entries,observer)}},observer=new ResizeObserver(throttle(observerFn,50));return observer.observe(node),{unobserve:function(){try{null==observer||observer.unobserve(node)}catch(error){}observerFn=null},disconnect:function(){null==observer||observer.disconnect(),observer=null,observerFn=null}}},Utils}();function _create_class$7(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i=this.options.range[1])throw new Error("Progress range first element must be less than the second element.");this._isRotated=this.options.isRotated||!1,this.$container=options.container,this._render(),this._eventListeners();var value=null!=(_this_options_defaultValue=this.options.defaultValue)?_this_options_defaultValue:this.options.range[0];this._value=+value.toFixed(2),this._percent=+((value-this.options.range[0])/(this.options.range[1]-this.options.range[0])).toFixed(2),this._updateUI(),this.disabled=this.options.disabled}var _proto=Progress.prototype;return _proto.isRotate=function(rotated){this._isRotated=rotated},_proto.destroy=function(){var _this__delegateSliderMouseDown_destroy,_this__delegateSliderMouseDown,_this__delegateSliderHandleMouseDown_destroy,_this__delegateSliderHandleMouseDown,_this__delegateProgressMouseDown_destroy,_this__delegateProgressMouseDown,_this__delegatePlusClick_destroy,_this__delegatePlusClick,_this__delegateMinusClick_destroy,_this__delegateMinusClick;null==(_this__delegateSliderMouseDown=this._delegateSliderMouseDown)||null==(_this__delegateSliderMouseDown_destroy=_this__delegateSliderMouseDown.destroy)||_this__delegateSliderMouseDown_destroy.call(_this__delegateSliderMouseDown),this._delegateSliderMouseDown=null,null==(_this__delegateSliderHandleMouseDown=this._delegateSliderHandleMouseDown)||null==(_this__delegateSliderHandleMouseDown_destroy=_this__delegateSliderHandleMouseDown.destroy)||_this__delegateSliderHandleMouseDown_destroy.call(_this__delegateSliderHandleMouseDown),this._delegateSliderHandleMouseDown=null,null==(_this__delegateProgressMouseDown=this._delegateProgressMouseDown)||null==(_this__delegateProgressMouseDown_destroy=_this__delegateProgressMouseDown.destroy)||_this__delegateProgressMouseDown_destroy.call(_this__delegateProgressMouseDown),this._delegateProgressMouseDown=null,null==(_this__delegatePlusClick=this._delegatePlusClick)||null==(_this__delegatePlusClick_destroy=_this__delegatePlusClick.destroy)||_this__delegatePlusClick_destroy.call(_this__delegatePlusClick),this._delegatePlusClick=null,null==(_this__delegateMinusClick=this._delegateMinusClick)||null==(_this__delegateMinusClick_destroy=_this__delegateMinusClick.destroy)||_this__delegateMinusClick_destroy.call(_this__delegateMinusClick),this._delegateMinusClick=null,this.$content&&this.$container.removeChild(this.$content),this.$content=null},_proto._updateValuePercent=function(type,value){if("percent"===type){if(value<0||value>1)return;this._percent!==value&&(this._percent=+value.toFixed(2),this._convertPercentToValue(this._percent),null==this.options.onChange||this.options.onChange.call(this.options,this._value,this._percent,this.options.range),this._updateUI())}else if("value"===type){if(valuethis.options.range[1])return;this._value!==value&&(this._value=+value.toFixed(2),this._convertValueToPercent(this._value),null==this.options.onChange||this.options.onChange.call(this.options,this._value,this._percent,this.options.range),this._updateUI())}},_proto._convertPercentToValue=function(percent){this._value=+(this.options.range[0]+(this.options.range[1]-this.options.range[0])*percent).toFixed(2)},_proto._convertValueToPercent=function(value){this._percent=+((value-this.options.range[0])/(this.options.range[1]-this.options.range[0])).toFixed(2)},_proto._render=function(){var _this_options_className;this.$content=document.createElement("div"),this.$content.className="ezplayer-progress "+(null!=(_this_options_className=this.options.className)?_this_options_className:""),this.$content.innerHTML=(this.options.showPercent?'
'+(null==this.options.renderText?void 0:this.options.renderText.call(this.options,this._value,this._percent,this.options.range))+"
":"")+"\n "+(this.options.showPlus?'
\n '+IconComponents_plusCircle()+"\n
":"")+'\n
\n
\n
\n
\n '+(this.options.showMinus?'
\n '+IconComponents_minusCircle()+"\n
":""),this.$container.appendChild(this.$content)},_proto._updateUI=function(){var $progress=this.$content;if(null==$progress||$progress.setAttribute("data-value",this._value+""),$progress.querySelector(".ezplayer-progress-slider-fill")){var percent=+(100*this._percent).toFixed(0);this.options.showPercent&&($progress.querySelector(".ezplayer-progress-text").innerHTML=null==this.options.renderText?void 0:this.options.renderText.call(this.options,this._value,this._percent,this.options.range)),$progress.querySelector(".ezplayer-progress-slider-fill").style.height=percent+"%",$progress.querySelector(".ezplayer-progress-slider-handle").style.top=100-percent+"%"}},_proto._eventListeners=function(){var _this=this,mousedownName=window.PointerEvent?"pointerdown":"mousedown";if(this._delegateSliderMouseDown=delegate$1(this.$content,".ezplayer-progress-slider",mousedownName,(function(e){var _this_options_onProgressClick,_this_options;if(e.stopPropagation(),!e.delegateTarget.classList.contains("ezplayer-disabled")&&!_this._disabled){var rect=_this.$content.querySelector(".ezplayer-progress-slider").getBoundingClientRect(),percent=0;if(Utils.isMobile&&_this._isRotated)percent=+(Math.max(0,Math.min(e.clientX-rect.x,rect.width))/rect.width).toFixed(2);else percent=+(Math.max(0,Math.min(rect.height-(e.clientY-rect.y),rect.height))/rect.height).toFixed(2);_this._convertPercentToValue(percent),null==(_this_options=_this.options)||null==(_this_options_onProgressClick=_this_options.onProgressClick)||_this_options_onProgressClick.call(_this_options,_this._value,percent,_this.options.range),_this.percent=percent}})),this._delegateSliderHandleMouseDown=delegate$1(this.$content,".ezplayer-progress-slider-handle",mousedownName,(function(e){if(e.stopPropagation(),_this.options.draggable&&!e.delegateTarget.classList.contains("ezplayer-disabled")&&!_this._disabled){var startY=_this._isRotated?e.clientX:e.clientY,startHeight=_this.$content.querySelector(".ezplayer-progress-slider-fill").offsetHeight,sliderHeight=_this.$content.querySelector(".ezplayer-progress-slider").offsetHeight,handleMouseMove=throttle((function(e){if(e.stopPropagation(),_this.options.draggable&&!_this._disabled){var deltaY=startY-(_this._isRotated?e.clientX:e.clientY),newHeight=startHeight+(_this._isRotated?-deltaY:deltaY);newHeight=Math.max(0,Math.min(newHeight,sliderHeight)),_this.percent=+(newHeight/sliderHeight).toFixed(2)}}),20),$container=_this.$content,mousemoveName=window.PointerEvent?"pointermove":"mousemove",mouseupName=window.PointerEvent?"pointerup":"mouseup",mouseleaveName=window.PointerEvent?"pointerleave":"mouseleave";$container.addEventListener(mousemoveName,handleMouseMove),$container.addEventListener(mouseupName,handleMouseUp),$container.addEventListener(mouseleaveName,handleMouseUp)}function handleMouseUp(){$container.removeEventListener(mousemoveName,handleMouseMove),handleMouseMove=null,$container.removeEventListener(mouseupName,handleMouseUp),$container.removeEventListener(mouseleaveName,handleMouseUp)}})),this.options.showPlus){var clickName=window.PointerEvent?"pointerdown":"click";this._delegatePlusClick=delegate$1(this.$content,".ezplayer-progress-plus",clickName,(function(e){if(e.stopPropagation(),!e.delegateTarget.classList.contains("ezplayer-disabled")&&!_this._disabled){var value=_this._value+_this.options.step;value<=_this.options.range[1]?_this.value=value:_this.value=_this.options.range[1],null==_this.options.onPlusClick||_this.options.onPlusClick.call(_this.options,_this.value,_this.percent,_this.options.range)}}))}if(this.options.showMinus){var clickName1=window.PointerEvent?"pointerdown":"click";this._delegateMinusClick=delegate$1(this.$content,".ezplayer-progress-minus",clickName1,(function(e){if(e.stopPropagation(),!e.delegateTarget.classList.contains("ezplayer-disabled")&&!_this._disabled){var value=_this._value-_this.options.step;value>=_this.options.range[0]?_this.value=value:_this.value=_this.options.range[0],null==_this.options.onMinusClick||_this.options.onMinusClick.call(_this.options,_this.value,_this.percent,_this.options.range)}}),!0)}["mousedown","touchstart","touchmove","dblclick"].forEach((function(name){delegate$1(_this.$container,".ezplayer-progress",name,(function(e){e.stopPropagation(),e.preventDefault()}))}))},_create_class$7(Progress,[{key:"disabled",get:function(){return this._disabled},set:function(disabled){this._disabled=disabled}},{key:"value",get:function(){return this._value},set:function(value){this._updateValuePercent("value",value)}},{key:"percent",get:function(){return this._percent},set:function(percent){this._updateValuePercent("percent",percent)}}]),Progress}();function _create_class$6(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i=1?1:(null==(_this__options_props1=_this._options.props)?void 0:_this__options_props1.volume)<=0?0:+(null==(_this__options_props2=_this._options.props)?void 0:_this__options_props2.volume.toFixed(2)),_this._lastVolume=_this._volume,_this._muted=!!(null==(_this__options_props3=_this._options.props)?void 0:_this__options_props3.muted)||!1,Utils.isMobile||"ezopen"===_this._options.PLAY_TYPE)||(_this.picker=new Picker(_this.$container,{getPopupContainer:function(){return _this.$container},trigger:_this._options.trigger,open:_this._options.open,offset:[0,-10],placement:"top",onOpenChange:function(open){null==_this._options.onOpenChange||_this._options.onOpenChange.call(_this._options,open,_this._muted?_this._lastVolume:_this.volume,_this._muted),_this.emit(EVENTS$1.control.volumePanelOpenChange,open,_this._lastVolume,_this._muted)}}),_this._progress=new Progress({container:_this.picker.$body,defaultValue:(null==(_this__options_props4=_this._options.props)?void 0:_this__options_props4.muted)?0:null==(_this__options_props5=_this._options.props)?void 0:_this__options_props5.volume,range:[0,1],step:.1,showPercent:!0,className:"ezplayer-volume-progress",onProgressClick:function(){_this.muted=!1},onChange:function(value){value!==_this._volume&&(_this.volume=value)}}));return _this._updateUI(),_this._addEventListener(),_this.on(EVENTS$1.audioCodecUnsupported,(function(){_this.disabled=!0})),_this.on(EVENTS$1.volumechange,(function(volume,muted){_this._muted!==muted&&(_this.muted=muted),_this._lastVolume!==volume&&(_this.volume=volume)})),_this}!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_set_prototype_of$m(subClass,superClass)}(Volume,Control);var _proto=Volume.prototype;return _proto.destroy=function(){var _this__progress_destroy,_this__progress,_this_picker;null==(_this__progress=this._progress)||null==(_this__progress_destroy=_this__progress.destroy)||_this__progress_destroy.call(_this__progress),this._progress=null,null==(_this_picker=this.picker)||_this_picker.destroy(),this.picker=null,Control.prototype.destroy.call(this)},_proto._toggleMute=function(){if(!this.disabled){var _this__options_props;if(0===this._lastVolume)return this.volume=(null==(_this__options_props=this._options.props)?void 0:_this__options_props.volume)||.5,void(this.muted=!1);this.muted?this.muted=!1:this.muted=!0}},_proto._updateUI=function(){var _this_locale,_this_locale1;(this._$content.classList.remove("ezplayer-icon-volume-muted"),this._$content.classList.remove("ezplayer-icon-volume-zero"),this._$content.classList.remove("ezplayer-icon-volume-low"),this._$content.classList.remove("ezplayer-icon-volume-high"),this._muted)?(this._volume=0,this._$content.classList.add("ezplayer-icon-volume-muted"),this._$content.setAttribute("title",(null==this||null==(_this_locale=this.locale)?void 0:_this_locale.BTN_MUTED)||"muted")):(this._$content.classList.remove("ezplayer-icon-volume-muted"),0===this._volume?this._$content.classList.add("ezplayer-icon-volume-zero"):this._volume<=.5?this._$content.classList.add("ezplayer-icon-volume-low"):this._$content.classList.add("ezplayer-icon-volume-high"),this._$content.setAttribute("title",(null==this||null==(_this_locale1=this.locale)?void 0:_this_locale1.BTN_VOLUME)||"volume"))},_proto._render=function(){var _this_locale;this.$container.innerHTML=IconComponents_volume({title:null==(_this_locale=this.locale)?void 0:_this_locale.BTN_VOLUME})},_proto._onControlClick=function(){},_proto._addEventListener=function(){var _this=this;delegate$1(this.$container,".ezplayer-control-volume","mousedown",(function(){_this.$container.classList.contains("ezplayer-disabled")||_this._toggleMute()}))},_create_class$6(Volume,[{key:"muted",get:function(){return this._muted},set:function(muted){this._muted!==muted&&(muted?(this._volume=0,this._progress&&(this._progress.value=0)):(this._volume=this._lastVolume,this._progress&&(this._progress.value=this._lastVolume)),this._muted=muted,null==this._options.onChange||this._options.onChange.call(this._options,this.volume,muted),this.emit(EVENTS$1.control.volumechange,this.volume,muted)),this._updateUI()}},{key:"volume",get:function(){return this._lastVolume},set:function(volume){if(volume>=0&&volume<=1){var _volume=+volume.toFixed(2);this._lastVolume!==_volume&&(this._volume=_volume,this._lastVolume=this._volume,this._progress&&(this._progress.value=_volume),null==this._options.onChange||this._options.onChange.call(this._options,_volume,this._muted),this.emit(EVENTS$1.control.volumechange,_volume,this._muted)),this._updateUI()}}},{key:"disabled",get:function(){return this._disabled},set:function(disabled){this._disabled=disabled,this.picker&&(this.picker.disabled=disabled),this._updateDisabledState(disabled)}},{key:"_$content",get:function(){return this.$container.querySelector(".ezplayer-icon-volume")}}]),Volume}(Control);function asyncGeneratorStep$5$1(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _async_to_generator$5$1(fn){return function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep$5$1(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep$5$1(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))}}function _ts_generator$5(thisArg,body){var f,y,t,_={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]},g=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return g.next=verb(0),g.throw=verb(1),g.return=verb(2),"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return function(op){if(f)throw new TypeError("Generator is already executing.");for(;g&&(g=0,op[0]&&(_=0)),_;)try{if(f=1,y&&(t=2&op[0]?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;switch(y=0,t&&(op=[2&op[0],t.value]),op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if(!(t=_.trys,(t=t.length>0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]=0?(this.fullscreens[index].onChange||(this.fullscreens[index].onChange=[]),this.fullscreens[index].onChange.push(onChange)):this.fullscreens.push({element:element,onChange:[onChange]})}},_proto.getChanges=function(element){var item=this.fullscreens.find((function(item){return item.element===element}));return item&&(null==item?void 0:item.onChange)||[]},_proto.remove=function(element,onChange){var index=this.fullscreens.findIndex((function(item){return item.element===element}));if(index>=0){var _this_fullscreens_index_onChange,targetItem=null==(_this_fullscreens_index_onChange=this.fullscreens[index].onChange)?void 0:_this_fullscreens_index_onChange.find((function(item){return item===onChange}));if(targetItem){var _this_fullscreens_index_onChange1,changes=null==(_this_fullscreens_index_onChange1=this.fullscreens[index].onChange)?void 0:_this_fullscreens_index_onChange1.filter((function(change){return change!==targetItem}));this.fullscreens[index].onChange=changes}(!this.fullscreens[index].onChange||this.fullscreens[index].onChange&&0===this.fullscreens[index].onChange.length)&&this.fullscreens.splice(index,1)}},Provider.getInstance=function(){return Provider.instance||(Provider.instance=new Provider),Provider.instance},Provider}(),__fullscreenProvider__=Provider$1.getInstance(),Fullscreen$1=function(){function Fullscreen(container,options){void 0===options&&(options={}),this._isCurrentFullscreen=!1,this._isFullscreen=!1,this._currentFullscreenElementList=[],this.$container=container,this._options=Object.assign({},FULLSCREEN_DEFAULT,options),this._options.onChange&&Utils.isMobile&&__fullscreenProvider__.add(this.$container,this._options.onChange),this._isFullscreen=!!this._options.isFullscreen,this._fullscreenchange2=this._fullscreenchange2.bind(this),screenfull.isEnabled&&screenfull.on("change",this._fullscreenchange2)}var _proto=Fullscreen.prototype;return _proto.fullscreen=function(){return _async_to_generator$5$1((function(){return _ts_generator$5(this,(function(_state){switch(_state.label){case 0:return Utils.isMobile?(this._fullscreenchange(this.$container,!0),[3,3]):[3,1];case 1:return[4,screenfull.request(this.$container)];case 2:return[2,_state.sent()];case 3:return[2]}}))})).call(this)},_proto.exitFullscreen=function(){return _async_to_generator$5$1((function(){return _ts_generator$5(this,(function(_state){switch(_state.label){case 0:return Utils.isMobile?(this._fullscreenchange(this.$container,!1),[3,3]):[3,1];case 1:return this._isFullscreen?[4,screenfull.exit()]:[3,3];case 2:return[2,_state.sent()];case 3:return[2]}}))})).call(this)},_proto.toggle=function(){return _async_to_generator$5$1((function(){return _ts_generator$5(this,(function(_state){switch(_state.label){case 0:return Utils.isMobile?(this._fullscreenchange(this.$container,!this._isCurrentFullscreen),[3,3]):[3,1];case 1:return[4,screenfull.toggle(this.$container)];case 2:return[2,_state.sent()];case 3:return[2]}}))})).call(this)},_proto.destroy=function(){screenfull.isEnabled&&screenfull.off("change",this._fullscreenchange2),Utils.isMobile&&this._options.onChange&&__fullscreenProvider__.remove(this.$container,this._options.onChange),this._fullscreenchange2=null},_proto._fullscreenchange2=function(){this._fullscreenchange()},_proto._fullscreenchange=function(element,isFullscreen){var _this_$container,_this_$container1,_this_$container2,_this=this;if(this._isFullscreen=screenfull.isFullscreen,element)this._isCurrentFullscreen=!!isFullscreen,this._currentFullscreenElementList=[];else if(this._isFullscreen){var targetElement=screenfull.element,index1=this._currentFullscreenElementList.indexOf(targetElement);targetElement&&-1===index1?this._currentFullscreenElementList.unshift(targetElement):targetElement&&index1>=1&&this._currentFullscreenElementList.shift();var containerIndex=this._currentFullscreenElementList.indexOf(this.$container);this._isCurrentFullscreen=containerIndex>=0}else this._isCurrentFullscreen=!1,this._currentFullscreenElementList=[];this._isCurrentFullscreen?null==(_this_$container=this.$container)||_this_$container.classList.add(this._options.prefix+"-fullscreen"):(null==(_this_$container1=this.$container)||_this_$container1.classList.remove(this._options.prefix+"-fullscreen"),null==(_this_$container2=this.$container)||_this_$container2.classList.remove(this._options.prefix+"-global-fullscreen"));Utils.isMobile?__fullscreenProvider__.getChanges(this.$container).forEach((function(change){change({isCurrentFullscreen:_this._isCurrentFullscreen,isFullscreen:_this._isFullscreen,isMobile:Utils.isMobile})})):null==this._options.onChange||this._options.onChange.call(this._options,{isCurrentFullscreen:this._isCurrentFullscreen,isFullscreen:this._isFullscreen,isMobile:Utils.isMobile}),Utils.isMobile&&(this._isCurrentFullscreen?document.body.classList.add(this._options.prefix+"-body-mobile-noscroll"):document.body.classList.remove(this._options.prefix+"-body-mobile-noscroll"))},Fullscreen}();function _extends$l(){return _extends$l=Object.assign||function(target){for(var i=1;i0&&originHeight>0&&(this._originWidth=originWidth,this._originHeight=originHeight);var objectFill="contain";if(this._scaleMode===THEME_SCALE_MODE_TYPE_full&&(objectFill="fill"),this._scaleMode===THEME_SCALE_MODE_TYPE_fullAuto&&(objectFill="cover"),width>0&&height>0&&this._originWidth>0&&this._originHeight>0&&this.$video){var left=(width-this._originWidth)/2,top=(height-this._originHeight)/2,wScale=width/this._originWidth,hScale=height/this._originHeight,scale=wScale>hScale?hScale:wScale;this._scaleMode!==THEME_SCALE_MODE_TYPE_auto&&wScale!==hScale&&(scale=wScale+","+hScale),this._scaleMode===THEME_SCALE_MODE_TYPE_fullAuto&&(scale=wScale>hScale?wScale:hScale),this.$video.style.cssText+="\n width: "+this._originWidth+"px;\n height: "+this._originHeight+"px;\n position: absolute;\n object-fit:"+objectFill+";\n left: "+left+"px;\n top: "+top+"px;\n transform-origin: 50% 50%;\n transform: scale("+scale+");\n ",this.emit(EVENTS$1.control.contentRerender,{scaleMode:this._scaleMode,objectFill:objectFill,scale:scale,width:this._originWidth,height:this._originHeight})}}},_proto.setScaleMode=function(scaleMode){void 0===scaleMode&&(scaleMode=0),this._scaleMode=scaleMode,this._rerender()},_proto.destroy=function(){var _this_$wrapper;this.$video&&(this.$video.remove(),this.$video=null),this.$content&&(this.$content.remove(),this.$content=null),null==(_this_$wrapper=this.$wrapper)||_this_$wrapper.remove(),this.$wrapper=null,this.emit(EVENTS$1.control.contentDestroy),this.removeAllListeners()},Content}(EventEmitter$1);function _extends$j(){return _extends$j=Object.assign||function(target){for(var i=1;i.5*(a.zoom-1)?.5*(a.zoom-1):a.percentPos[0],e=a.percentPos[1]<0?a.percentPos[1]<-.5*(a.zoom-1)?-.5*(a.zoom-1):a.percentPos[1]:a.percentPos[1]>.5*(a.zoom-1)?.5*(a.zoom-1):a.percentPos[1],a.percentPos=[A,e]},this.update=function(){a.container&&(a.updateTranslate(),a.container.style.transition="transform ease-out "+a.transition+"s",a.container.style.transform="translate3d("+100*a.percentPos[0]+"%, "+100*a.percentPos[1]+"%, 0) scale("+a.zoom+")")},this.setAllowZoom=function(A){a.options.allowZoom=A},this.setZoom=function(A,e){A=parseFloat(A.toFixed(a.getPrecision(a.options.zoomStep))),a.zoom!==A&&(a.zoom=A,a.update(),null==a.options.onChange||a.options.onChange.call(a.options,+a.zoom.toFixed(a.getPrecision(a.options.zoomStep)),e))},this.getZoom=function(){return a.zoom},this.setPos=function(A){var e,t,i=null==(e=a.container)?void 0:e.clientWidth,r=null==(t=a.container)?void 0:t.clientHeight;+a.pos[0]===A[0]&&+a.pos[1]===A[1]||(a.percentPos=[A[0]/i,A[1]/r],a.update(),null==a.options.onTranslateChange||a.options.onTranslateChange.call(a.options,{posX:A[0],posY:A[1]}))},this.setTransitionDuration=function(A){a.transition=A,a.update()},this.setCursor=function(A){a.container&&(a.container.style.cssText+="cursor:"+A+";",a.cursor=A)},this.zoomIn=function(A){var e,t,i=a.pos[0],r=a.pos[1],n=a.zoom,o=n+A<(null!=(e=a.options.max)?e:8)?n+A:null!=(t=a.options.max)?t:8;o!==n&&(i=i*(o-1)/(n>1?n-1:n),r=r*(o-1)/(n>1?n-1:n)),a.setZoom(o),a.setPos([i,r]),a.setTransitionDuration(a.options.animDuration)},this.zoomOut=function(A){var e,t,i=a.pos[0],r=a.pos[1],n=a.zoom,o=n-A>(null!=(e=a.options.min)?e:1)?n-A:null!=(t=a.options.min)?t:1;o!==n&&(i=i*(o-1)/(n-1),r=r*(o-1)/(n-1)),a.setZoom(o),a.setPos([i,r]),a.setTransitionDuration(a.options.animDuration)},this.zoomToZone=function(A,e,t,i){var r;if(a.container){var n,o=a.pos[0],s=a.pos[1],g=(null==(r=a.container)?void 0:r.parentNode).getBoundingClientRect(),l=a.zoom,C=g.width/t,I=g.height/i,c=Math.min(C,I,null!=(n=a.options.max)?n:8),h=a.container.getBoundingClientRect(),B=[h.width/l/2,h.height/l/2],E=[A+t/2,e+i/2];o=(B[0]-E[0])*c,s=(B[1]-E[1])*c,a.setZoom(c),a.setPos([o,s]),a.setTransitionDuration(a.options.animDuration)}},this.getNewPosition=function(A,t,i){var r=[a.zoom,a.pos[0],a.pos[1]][0];if(1===i||!a)return e;var n=[a.container.clientWidth,a.container.clientHeight],o=n[0],s=n[1];if(i>r)return[0,0];var g=-(A-o/2)/(o/2)*i/2,l=-(t-s/2)/(s/2)*i/2;return g>i/2-.5&&(g=3.5),l>i/2-.5&&(l=3.5),[o*g,s*l]},this.fullZoomInOnPosition=function(A,e){var i,r=null!=(i=a.options.max)?i:t.max;a.setZoom(null!=r?r:t.max),a.setPos(a.getNewPosition(A,e,r)),a.setTransitionDuration(a.options.animDuration)},this.getLimitedShift=function(A,e,t,i,a){if(A>0){if(i>e)return 0;if(i+A>e)return e-i}else if(A<0){if(ao.bottom-o.top,g>0&&n.top-o.top<0,g<0&&n.bottom-o.bottom>0]:[n.width>o.right-o.left,s>0&&n.left-o.left<0,s<0&&n.right-o.right>0],C=l[0]||l[1]||l[2];C&&(a.transform?i+=a.getLimitedShift(g,o.top,o.bottom,n.top,n.bottom):i+=a.getLimitedShift(s,o.left,o.right,n.left,n.right));var I=a.transform?[n.width>o.right-o.left,s>0&&n.right-o.right<0,s<0&&n.left-o.left>0]:[n.height>o.bottom-o.top,g>0&&n.top-o.top<0,g<0&&n.bottom-o.bottom>0],c=I[0]||I[1]||I[2];if(c)if(a.transform){r+=function(A,e,t,i,a){if(A>0){if(ae)return 0;if(i+1+A>e)return e-i}return A}(s,o.left,o.right,n.left,n.right)}else r+=a.getLimitedShift(g,o.top,o.bottom,n.top,n.bottom);var h=a.getCursor(C,c);a.setPos([i,r]),a.setCursor(h),a.setTransitionDuration(t)}},this.isDoubleTapping=function(){var A,e,t,i,r=(new Date).getTime();return r-(null!=(A=a.lastTouchTime)?A:0)<(null!=(e=a.options.doubleTouchMaxDelay)?e:300)&&r-(null!=(t=a.lastDoubleTapTime)?t:0)>(null!=(i=a.options.doubleTouchMaxDelay)?i:750)?(a.lastDoubleTapTime=r,!0):(a.lastTouchTime=r,!1)},this.startDeceleration=function(A,e){var t=null,i=function(r){null===t&&(t=r);var n,o,s,g=r-t,l=((null!=(n=a.options.decelerationDuration)?n:750)-g)/(null!=(o=a.options.decelerationDuration)?o:750),C=[A*l,e*l],I=C[0],c=C[1];g<(null!=(s=a.options.decelerationDuration)?s:750)&&Math.max(Math.abs(I),Math.abs(c))>1?(a.move(I,c,0),a.lastRequestAnimationId=requestAnimationFrame(i)):a.lastRequestAnimationId=null};a.lastRequestAnimationId=requestAnimationFrame(i)},this.reset=function(){a.setZoom(a.options.initialZoom,!0),a.cursor=a.options.defaultCursor,a.setTransitionDuration(a.options.animDuration),a.setPos(e)},this.addScale=function(A){void 0===A&&(A=1),a.handleZoomAdd(A)},this.handleZoomAdd=function(A){if(void 0===A&&(A=1),a.options.allowZoom&&a.options.allowWheel){var e,t=parseFloat((a.zoom+A).toFixed(a.getPrecision(a.options.zoomStep)));t>(null!=(e=a.options.max)?e:8)&&(t=8),a.setZoom(t),a.setPos(a.pos),a.setTransitionDuration(.05)}},this.subScale=function(A){void 0===A&&(A=1),a.handleZoomSub(A)},this.handleZoomSub=function(A){if(void 0===A&&(A=1),a.options.allowZoom&&a.options.allowWheel){var e=parseFloat((a.zoom-A).toFixed(a.getPrecision(a.options.zoomStep)));e<1&&(e=1),a.setZoom(e),a.setPos(a.pos),a.setTransitionDuration(.05)}},this.handleMouseWheel=function(A){if(A.preventDefault(),a.options.allowZoom&&a.options.allowWheel){var e,t,i=A.deltaY<0?a.options.scrollVelocity:0-a.options.scrollVelocity,r=parseFloat(Math.max(Math.min(a.zoom+i,null!=(e=a.options.max)?e:8),null!=(t=a.options.min)?t:1).toFixed(a.getPrecision(a.options.zoomStep)));a.setZoom(r),a.setTransitionDuration(.05)}},this.handleMouseStart=function(A){var e;A.preventDefault(),a.options.allowPan&&!(null==(e=a.options.ignoredMouseButtons)?void 0:e.includes(A.button))&&(a._dragging=!0,a.lastRequestAnimationId&&cancelAnimationFrame(a.lastRequestAnimationId),a.lastCursor=a.getCoordinates(A))},this.handleMouseMove=function(A){A.preventDefault(),a.options.allowPan&&a.lastCursor&&a._dragging&&a._touchOrMouseDrag(A)},this.handleMouseStop=function(A){A.preventDefault(),a.lastShift&&(a.startDeceleration(a.lastShift[0],a.lastShift[1]),a.lastShift=null),a.lastCursor=null,a.setCursor("auto"),a._dragging=!1},this.handleTouchStart=function(A){var e=a.isDoubleTapping();a.isMultiTouch=A.touches.length,a.options.allowTouchEvents||A.preventDefault(),a.lastRequestAnimationId&&cancelAnimationFrame(a.lastRequestAnimationId);var t=a.getCoordinates(A.touches[0]),i=t[0],r=t[1];if(a.isMultiTouch>1)a.lastCursor=[i,r];else if(e&&a.options.allowZoom)if(1===a.zoom){var n=a.container.getBoundingClientRect();n.top,n.left;var o,s,g=n.x,l=n.y;i=(s=[i-(g=(o=a.transform?[l,g]:[g,l])[0]),r-(l=o[1])])[0],r=s[1],a.fullZoomInOnPosition(i,r)}else a.reset();else a._tapStartTime=(new Date).getTime(),a.options.allowPan&&(a.lastCursor=[i,r])},this.handleTouchMove=function(A){if(a.options.allowTouchEvents||A.preventDefault(),a.lastCursor)if(1===a.isMultiTouch)a._touchOrMouseDrag(A.touches[0]),a.lastTouchDistance=null;else if(a.isMultiTouch>1){var e=a.zoom,t=a.getCoordinates(A.touches[0]),i=t[0],r=t[1],n=a.getCoordinates(A.touches[1]),o=n[0],s=n[1],g=Math.sqrt(Math.pow(o-i,2)+Math.pow(s-r,2));if(a.lastTouchDistance&&g&&g!==a.lastTouchDistance){var l,C,I;if(a.options.allowZoom)if((e+=(g-a.lastTouchDistance)/100)>(null!=(l=a.options.max)?l:8))e=null!=(I=a.options.max)?I:8;else if(e<(null!=(C=a.options.min)?C:1)){var c;e=null!=(c=a.options.min)?c:1}a.setZoom(e),a.setTransitionDuration(0)}a.lastCursor=[i,r],a.lastTouchDistance=g}},this.handleTouchStop=function(){a.lastShift&&(a.startDeceleration(a.lastShift[0],a.lastShift[1]),a.lastShift=null),a._tapStartTime&&(new Date).getTime()-a._tapStartTime<200&&(null==a.options.onTap||a.options.onTap.call(a.options)),a._tapStartTime=void 0,a.lastCursor=null,a.lastTouchDistance=null,a.isMultiTouch=0},this.container=A,this.options=Object.assign({},t,i||{}),this.percentPos=e,this.transition=this.options.animDuration,this.zoom=1,this.cursor="auto",this.lastCursor=[0,0],this.lastShift=null,this.lastTouchDistance=null,this.lastRequestAnimationId=null,this.lastTouchTime=(new Date).getTime(),this.lastDoubleTapTime=(new Date).getTime(),this.transform=!1,this.isMultiTouch=1,this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseStart=this.handleMouseStart.bind(this),this.handleMouseStop=this.handleMouseStop.bind(this),this.handleMouseWheel=this.handleMouseWheel.bind(this),this.handleTouchStart=this.handleTouchStart.bind(this),this.handleTouchMove=this.handleTouchMove.bind(this),this.handleTouchStop=this.handleTouchStop.bind(this),this.getZoom=this.getZoom.bind(this),this.setZoom=this.setZoom.bind(this)}var a=i.prototype;return a.setUpEventListeners=function(){var A=this.container;window.matchMedia("(pointer: fine)").matches?(this.options.allowWheel&&(null==A||A.addEventListener("wheel",this.handleMouseWheel,{passive:!1})),null==A||A.addEventListener("mousedown",this.handleMouseStart,{passive:!1}),null==A||A.addEventListener("mousemove",this.handleMouseMove,{passive:!1}),null==A||A.addEventListener("mouseup",this.handleMouseStop,{passive:!1}),null==A||A.addEventListener("mouseleave",this.handleMouseStop,{passive:!1})):(null==A||A.addEventListener("touchstart",this.handleTouchStart,{passive:!1}),null==A||A.addEventListener("touchmove",this.handleTouchMove,{passive:!1}),null==A||A.addEventListener("touchend",this.handleTouchStop,{passive:!1}),null==A||A.addEventListener("touchcancel",this.handleTouchStop,{passive:!1}))},a.removeEventListeners=function(){var A=this.container;window.matchMedia("(pointer: fine)").matches?(this.options.allowWheel&&(null==A||A.removeEventListener("wheel",this.handleMouseWheel)),null==A||A.removeEventListener("mousedown",this.handleMouseStart),null==A||A.removeEventListener("mousemove",this.handleMouseMove),null==A||A.removeEventListener("mouseup",this.handleMouseStop),null==A||A.removeEventListener("mouseleave",this.handleMouseStop)):(null==A||A.removeEventListener("touchstart",this.handleTouchStart),null==A||A.removeEventListener("touchmove",this.handleTouchMove),null==A||A.removeEventListener("touchend",this.handleTouchStop),null==A||A.removeEventListener("touchcancel",this.handleTouchStop))},a.getPrecision=function(A){void 0===A&&(A=1);var e=A.toString();return e.includes(".")?e.split(".")[1].length:1},a.getCoordinates=function(A){var e=this.container.clientHeight,t=this.container.clientTop,i=this.container.clientLeft,a=this.transform?[A.clientY,e-A.clientX]:[A.clientX-t,A.clientY-i];return[a[0],a[1]]},a._touchOrMouseDrag=function(A){if(this.lastCursor){var e=this.getCoordinates(A),t=e[0],i=e[1],a=t-this.lastCursor[0],r=i-this.lastCursor[1];this.move(a,r,0),this.lastCursor=[t,i],this.lastShift=[a,r]}},A(i,[{key:"pos",get:function(){return[this.container.clientWidth*this.percentPos[0],this.container.clientHeight*this.percentPos[1]]}}]),i}();return i.VERSION="0.0.2",It=i}(),dt=Et(xt);function Qt(){return Qt=Object.assign||function(A){for(var e=1;e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){r=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){r=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]\n
\n
\n
\n
\n
\n
\n
\n \n ',this.$container.appendChild(this.$content),this._addEventListener()},t._addEventListener=function(){var A=this.$content.querySelector("."+r+"-wrap"),e="PointerEvent"in window?"pointerdown":"touchstart",t="PointerEvent"in window?"pointerup":"touchend";A&&(A.addEventListener(e,this._touchstart),A.addEventListener(t,this._touchend))},t._touchstart=function(A){A.preventDefault(),this._handlePtzTouch(A,"start")},t._touchend=function(A){A.preventDefault(),this._handlePtzTouch(A,"stop")},t._removeEventListener=function(){var A=this.$content.querySelector("."+r+"-wrap"),e="PointerEvent"in window?"pointerdown":"touchstart",t="PointerEvent"in window?"pointerup":"touchend";A&&(A.removeEventListener(e,this._touchstart),A.removeEventListener(t,this._touchend))},t._handlePtzTouch=function(A,e){var t,i,a,n,o,s,g;if(!this.options.accessToken&&!(null==(i=this.options.token)||null==(t=i.deviceToken)?void 0:t.video))throw new Error("Ptz accessToken or token.deviceToken.video is required");var l,C=this.$content.querySelector("."+r+"-wrap"),I=C.getBoundingClientRect(),c=I.left+130,h=I.top+130,B=(A.x||(null==(a=A.changedTouches[0])?void 0:a.clientX))-c,E=(A.y||(null==(n=A.changedTouches[0])?void 0:n.clientY))-h,x=0,d=(null==(o=this.options.env)?void 0:o.domain)+"/api/lapp/device/ptz/start",Q=this.options.accessToken||(null==(g=this.options.token)||null==(s=g.deviceToken)?void 0:s.video),f=C.querySelectorAll("."+r+"-icon");(Math.abs(B)>Math.abs(E)?B>0?(x=3,f[3].className=f[3].className.replace(r+"-default",r+"-active")):(x=2,f[1].className=f[1].className.replace(r+"-default",r+"-active")):E>0?(x=1,f[2].className=f[2].className.replace(r+"-default",r+"-active")):(x=0,f[0].className=f[0].className.replace(r+"-default",r+"-active")),C.style.cssText="background-image:linear-gradient("+(0===x?180:1===x?0:2===x?90:270)+"deg, #c0ddf1 0%, rgba(100,143,252,0.00) 50%)","stop"===e)&&(d=(null==(l=this.options.env)?void 0:l.domain)+"/api/lapp/device/ptz/stop",C.style.cssText="",f[3].className=f[3].className.replace(r+"-active",r+"-default"),f[1].className=f[1].className.replace(r+"-active",r+"-default"),f[2].className=f[2].className.replace(r+"-active",r+"-default"),f[0].className=f[0].className.replace(r+"-active",r+"-default"));var u=null==this.options.onDirection?void 0:this.options.onDirection.call(this.options,{direction:x,speed:this.speed,type:e}),p=new FormData;p.append("deviceSerial",this.options.deviceSerial+""),p.append("channelNo",this.options.channelNo+""),p.append("speed","1"),p.append("direction",x+""),p.append("accessToken",Q),fetch(d,{method:"POST",body:p}).then((function(A){return A.json()})).then((function(A){200===A.code||[60005,60002,60003,60004].includes(+A.code)&&(C.style.cssText="background-image:linear-gradient("+(0===x?180:1===x?0:2===x?90:270)+"deg, #f45656 0%, rgba(100,143,252,0.00) 50%)"),null==u||u(A)})).catch((function(A){})).finally((function(){u=null}))},e}(s);function C(A,e,t,i,a,r,n){try{var o=A[r](n),s=o.value}catch(A){return void t(A)}o.done?e(s):Promise.resolve(s).then(i,a)}function I(A){return function(){var e=this,t=arguments;return new Promise((function(i,a){var r=A.apply(e,t);function n(A){C(r,i,a,n,o,"next",A)}function o(A){C(r,i,a,n,o,"throw",A)}n(void 0)}))}}function c(A,e,t){return e&&function(A,e){for(var t=0;t0&&a[a.length-1])||6!==o[0]&&2!==o[0])){r=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]\n
\n
\n
\n
\n
\n
\n
\n
\n ',r._$wrapper.appendChild(r._$directionCircleContainer),r._$speedContainer=document.createElement("div"),r._$speedContainer.classList.add(a+"-speed-container"),r._$speedContainer.innerHTML='\n
\n
\n
\n
\n
\n
\n
\n
\n '+r.locale.PTZ_SLOW+'\n
\n
\n '+r.locale.PTZ_MID+'\n
\n
\n '+r.locale.PTZ_FAST+"\n
\n
\n
\n ",r._$wrapper.appendChild(r._$speedContainer),r._$btnContainer=document.createElement("div"),r._$btnContainer.classList.add(a+"-btn-container"),r._$btnContainer.innerHTML='\n
\n
\n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n ',r._$wrapper.appendChild(r._$btnContainer),t.appendChild(r._$wrapper),r._$directionCircleContainer.onmousedown=function(A){A.preventDefault(),A.stopPropagation(),r._handlePtzTouch(A,"start")},r._$directionCircleContainer.onmouseup=function(A){A.preventDefault(),A.stopPropagation(),r._handlePtzTouch(A,"stop")},r._$directionCircleContainer.ontouchstart=function(A){A.preventDefault(),A.stopPropagation(),r._handlePtzTouch(A,"start")},r._$directionCircleContainer.ontouchend=function(A){A.preventDefault(),A.stopPropagation(),r._handlePtzTouch(A,"stop")},r._onSwitchSpeed=function(A){var e=Array.from(r._$speedContainer.querySelectorAll("."+a+"-speed-progress-line-dot"));if(e.includes(A.target)&&!A.target.classList.contains(n)){e.forEach((function(e){e===A.target?e.classList.add(n):e.classList.remove(n)}));var t=A.target.getAttribute("data-value"),i=A.target.getAttribute("data-index");r.speed=+t,null==r.options.onSpeedChange||r.options.onSpeedChange.call(r.options,+i)}},r._$speedContainer.onmouseup=r._onSwitchSpeed,r._isMobile&&(r._$speedContainer.ontouchend=r._onSwitchSpeed),r._$btnContainer.querySelector("."+a+"-btn-zoom-add")&&(r._$btnContainer.querySelector("."+a+"-btn-zoom-add").onmousedown=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("zoom","add","start")},r._$btnContainer.querySelector("."+a+"-btn-zoom-add").onmouseup=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("zoom","add","stop")}),r._$btnContainer.querySelector("."+a+"-btn-zoom-sub")&&(r._$btnContainer.querySelector("."+a+"-btn-zoom-sub").onmousedown=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("zoom","sub","start")},r._$btnContainer.querySelector("."+a+"-btn-zoom-sub").onmouseup=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("zoom","sub","stop")}),r._$btnContainer.querySelector("."+a+"-btn-focal-add")&&(r._$btnContainer.querySelector("."+a+"-btn-focal-add").onmousedown=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("focal","add","start")},r._$btnContainer.querySelector("."+a+"-btn-focal-add").onmouseup=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("focal","add","stop")}),r._$btnContainer.querySelector("."+a+"-btn-focal-sub")&&(r._$btnContainer.querySelector("."+a+"-btn-focal-sub").onmousedown=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("focal","sub","start")},r._$btnContainer.querySelector("."+a+"-btn-focal-sub").onmouseup=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("focal","sub","stop")}),r._isMobile&&(r._$btnContainer.querySelector("."+a+"-btn-zoom-add")&&(r._$btnContainer.querySelector("."+a+"-btn-zoom-add").ontouchstart=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("zoom","add","start")},r._$btnContainer.querySelector("."+a+"-btn-zoom-add").ontouchend=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("zoom","add","stop")}),r._$btnContainer.querySelector("."+a+"-btn-zoom-sub")&&(r._$btnContainer.querySelector("."+a+"-btn-zoom-sub").ontouchstart=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("zoom","sub","start")},r._$btnContainer.querySelector("."+a+"-btn-zoom-sub").ontouchend=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("zoom","sub","stop")}),r._$btnContainer.querySelector("."+a+"-btn-focal-add")&&(r._$btnContainer.querySelector("."+a+"-btn-focal-add").ontouchstart=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("focal","add","start")},r._$btnContainer.querySelector("."+a+"-btn-focal-add").ontouchend=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("focal","add","stop")}),r._$btnContainer.querySelector("."+a+"-btn-focal-sub")&&(r._$btnContainer.querySelector("."+a+"-btn-focal-sub").ontouchstart=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("focal","sub","start")},r._$btnContainer.querySelector("."+a+"-btn-focal-sub").ontouchend=function(A){A.preventDefault(),A.stopPropagation(),r._handleBtnTouch("focal","sub","stop")})),r}!function(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(e&&e.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),e&&h(A,e)}(t,A);var i=t.prototype;return i.destroy=function(){this._clearTimer&&(clearTimeout(this._clearTimer),this._clearTimer=null),this._$directionCircleContainer&&(this._$directionCircleContainer.remove(),this._$directionCircleContainer=null),this._$speedContainer&&(this._onSwitchSpeed=null,this._$speedContainer.remove(),this._$speedContainer=null),this._$btnContainer&&(this._$btnContainer.remove(),this._$btnContainer=null),this._$wrapper&&(this._$wrapper.remove(),this._$wrapper=null),A.prototype.destroy.call(this)},i._handlePtzTouch=function(A,e){var t,i,a,r,n,o=this;if(!this.options.accessToken&&!(null==(i=this.options.token)||null==(t=i.deviceToken)?void 0:t.video))throw new Error("Ptz accessToken or token.deviceToken.video is required");this._ptzQueue||(this._ptzQueue=Promise.resolve());var s=this._$directionCircleContainer.getBoundingClientRect(),g=s.left+(this._$directionCircleContainer.clientWidth+2)/2,l=s.top+(this._$directionCircleContainer.clientHeight+2)/2,C=A.x||A.changedTouches[0].clientX,c=A.y||A.changedTouches[0].clientY,h=0,E=(null==(a=this.options.env)?void 0:a.domain)+"/api/lapp/device/ptz/start",x=this.options.accessToken||(null==(n=this.options.token)||null==(r=n.deviceToken)?void 0:r.video),d=0;function Q(A,e){var t=Math.atan2(e,A);t<0&&(t+=2*Math.PI);var i=t*(180/Math.PI)-225-12.5;return i<0&&(i+=360),Math.floor(i/45)+1}var f,u=C-g,p=c-l;if(this.isRotate)switch(Q(u,p)){case 1:h=2,d=90;break;case 2:h=4,d=135;break;case 3:h=0,d=180;break;case 4:h=6,d=225;break;case 5:h=3,d=270;break;case 6:h=7,d=315;break;case 7:h=1,d=0;break;case 8:h=5,d=45}else switch(Q(u,p)){case 1:h=0,d=180;break;case 2:h=6,d=225;break;case 3:h=3,d=270;break;case 4:h=7,d=315;break;case 5:h=1,d=0;break;case 6:h=5,d=45;break;case 7:h=2,d=90;break;case 8:h=4,d=135}(this._clearTimer&&(clearTimeout(this._clearTimer),this._clearTimer=null),this._$directionCircleContainer.style.cssText="start"===e?"background-image:linear-gradient("+d+"deg, #4277FF 0%, rgba(100,143,252,0.00) 30%)":"","stop"===e)&&(E=(null==(f=this.options.env)?void 0:f.domain)+"/api/lapp/device/ptz/stop");var m=null==this.options.onDirection?void 0:this.options.onDirection.call(this.options,{areaId:Q(u,p),direction:h,backDeg:d,isRotate:this.isRotate,speed:this.speed,type:e}),_=new FormData;_.append("deviceSerial",this.options.deviceSerial+""),_.append("channelNo",this.options.channelNo+""),_.append("speed",this.speed+""),_.append("direction",h+""),_.append("accessToken",x),this._ptzQueue=this._ptzQueue.then((function(){return I((function(){var A;return B(this,(function(t){switch(t.label){case 0:return A=this,[4,fetch(E,{method:"POST",body:_}).then((function(A){return I((function(){return B(this,(function(e){switch(e.label){case 0:return[4,A.json()];case 1:return[2,e.sent()]}}))}))()})).then((function(e){var t;null==m||m(e);var i=e.code||(null==e||null==(t=e.result)?void 0:t.code);return[6e4,60001,60002,60003,60004,60005,60006,10002].includes(+i)&&(A._$directionCircleContainer.style.cssText="background-image:linear-gradient("+d+"deg, #f45656 0%, rgba(100,143,252,0.00) 30%)"),e})).catch((function(A){})).finally((function(){m=null,"stop"===e&&(A._clearTimer=setTimeout((function(){A._$directionCircleContainer.style.cssText=""}),1e3))}))];case 1:return[2,t.sent()]}}))})).call(o)})),"stop"===e&&(this._ptzQueue=this._ptzQueue.finally((function(){})))},i._handleBtnTouch=function(A,e,t){var i,a,r,n,o=this;if(!this.options.accessToken&&!(null==(i=this.options.token)?void 0:i.deviceToken.video))throw new Error("Ptz accessToken or token.deviceToken.video is required");this._ptzOperation||(this._ptzOperation=Promise.resolve());var s=8;s="zoom"===A?"add"===e?8:9:"add"===e?10:11;var g,l=(null==(a=this.options.env)?void 0:a.domain)+"/api/lapp/device/ptz/start",C=this.options.accessToken||(null==(n=this.options.token)||null==(r=n.deviceToken)?void 0:r.video);"stop"===t&&(l=(null==(g=this.options.env)?void 0:g.domain)+"/api/lapp/device/ptz/stop");var c=null==this.options.onDirection?void 0:this.options.onDirection.call(this.options,{btn:A,option:e,type:t}),h=new FormData;h.append("deviceSerial",this.options.deviceSerial+""),h.append("channelNo",this.options.channelNo+""),h.append("speed",this.speed+""),h.append("direction",s+""),h.append("accessToken",C),this._ptzOperation=this._ptzOperation.then((function(){return I((function(){return B(this,(function(A){switch(A.label){case 0:return[4,fetch(l,{method:"POST",body:h}).then((function(A){return I((function(){return B(this,(function(e){switch(e.label){case 0:return[4,A.json()];case 1:return[2,e.sent()]}}))}))()})).then((function(A){return null==c||c(A),A})).catch((function(A){})).finally((function(){c=null}))];case 1:return[2,A.sent()]}}))}))()})),"stop"===t&&(this._ptzOperation=this._ptzOperation.finally((function(){o._ptzOperation=null})))},c(t,[{key:"isRotate",get:function(){return this._isRotate},set:function(A){this._isRotate=A}}]),t}(s);return Kt.BasePtz=s,Kt.MobilePtz=l,Kt.Ptz=E,Kt}();function Wt(A,e,t){return e&&function(A,e){for(var t=0;t'+jt(this._seconds)+"";var i=this._timerNode.querySelector("."+H+"-record-timer-time");this._timer=setInterval((function(){t._seconds++,t._seconds>=t._options.maxDuration?t._destroyTimer():i&&(i.innerHTML=""+jt(t._seconds))}),1e3)},t.reset=function(){this.active&&(this.active=!1,A.prototype.reset.call(this))},t.destroy=function(){this._destroyTimer(),A.prototype.destroy.call(this)},t._destroyTimer=function(){this._seconds=0,this._timer&&(clearInterval(this._timer),this._timer=null),this._timerNode&&(this._timerNode.remove(),this._timerNode=null),this._active=!1},t._onControlClick=function(e){this.active=!this.active,A.prototype._onControlClick.call(this,e)},zt(e,[{key:"active",get:function(){return this._active},set:function(A){this._disabled&&!this._active||this._active!==A&&(this._active=A,this._updateActiveState(A),this.active?this._renderTimer():this._destroyTimer(),this.emit(z.control.recordingChange,this._active))}}]),e}(tA);function ii(A,e,t,i,a,r,n){try{var o=A[r](n),s=o.value}catch(A){return void t(A)}o.done?e(s):Promise.resolve(s).then(i,a)}function ai(A,e,t){return e&&function(A,e){for(var t=0;t0&&a[a.length-1])||6!==o[0]&&2!==o[0])){r=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]1)){this._value=A;var e="silent";A>0&&A<.25?e="low":A>=.25&&A<.5?e="normal":A>=.5&&A<.75?e="high":A>=.75&&(e="deafening");var t=Array.from(this.$container.classList).find((function(A){return A.startsWith(H+"-talk-gain-")}));t&&this.$container.classList.remove(t),this.$container.classList.add(H+"-talk-gain-"+e)}}}]),e}(tA);function gi(A,e,t){return e&&function(A,e){for(var t=0;t"+(A||"")+""},onChange:function(){},onOpenChange:function(){}},ci=function(A){function e(e){var t,i,a,r;(t=A.call(this,li({tagName:"span",type:"button",controlType:"button"},Ii,e))||this)._options=u(Ii,e,{clone:!1}),t.list=e.list||[],void 0===e.value&&null===e.value||(t._value=e.value+"");var n=null!=(r=null==(i=t._options.fieldNames)?void 0:i.value)?r:"value";return t._picker=new h(t.$container,{getPopupContainer:function(){return Fe.isMobile?e.rootContainer:t.$container},trigger:Fe.isMobile?"click":"hover",isMobile:Fe.isMobile,wrapClassName:H+"-select-picker "+H+"-select-"+e.classNameSuffix,open:t._options.open,offset:[0,-10],placement:"top",onOpenChange:function(A){var e=t.list.find((function(A){return A[n]+""===t.value}));null==t._options.onOpenChange||t._options.onOpenChange.call(t._options,A,t.value,e)}}),t.list&&t.updateOptions(t.list),t._onSelectChange(),t._activeOption(),t._onDBlPanelClick=t._onDBlPanelClick.bind(t),null==(a=t._picker.$body)||a.addEventListener("dblclick",t._onDBlPanelClick),t}!function(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(e&&e.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),e&&Ci(A,e)}(e,A);var t=e.prototype;return t.updateOptions=function(A){var e=this;if(void 0===A&&(A=[]),(null==A?void 0:A.length)>0&&this._picker){var t,i,a,r,n,o,s=null!=(n=null==(t=this._options.fieldNames)?void 0:t.label)?n:"label",g=null!=(o=null==(i=this._options.fieldNames)?void 0:i.value)?o:"value";null==(r=this._picker)||r.innerHTML('
\n
    \n '+A.map((function(A){return'\n
  • \n '+A[s]+"\n
  • \n "})).join("")+"\n
\n "+(Fe.isMobile?'
\n '+((null==(a=this.locale)?void 0:a.cancel)||"取消")+"\n
":"")+"\n "+(Fe.isMobile?''+le()+"":"")+"\n
"),this.list=A,this._activeOption()}else if(0===(null==A?void 0:A.length)){var l,C;null==(C=this._picker)||null==(l=C.innerHTML)||l.call(C,"")}},t._render=function(A){var e;if(0!==this.list.length){var t,i=null!=(t=null==(e=this._options.fieldNames)?void 0:e.label)?t:"label";if(this.$container.querySelector("."+H+"-select-btn"))this.$container.querySelector("."+H+"-select-btn").innerHTML=null==this._options.renderLabel?void 0:this._options.renderLabel.call(this._options,null==A?void 0:A[i],A,this.list);else{var a=document.createElement("span");a.classList.add(H+"-btn",H+"-select-btn"),a.innerHTML=null==this._options.renderLabel?void 0:this._options.renderLabel.call(this._options,null==A?void 0:A[i],A,this.list),this.$container.appendChild(a),this._options.title&&a.setAttribute("title",this._options.title)}}},t._activeOption=function(){var A=this;if(this._picker){var e,t,i,a,r=null!=(a=null==(e=this._options.fieldNames)?void 0:e.value)?a:"value",n=null==(t=this._picker.$body)?void 0:t.querySelector("."+H+"-active");null==n||n.classList.remove(H+"-active");var o=null==(i=this._picker.$body)?void 0:i.querySelector("."+H+'-select-option[data-value="'+this.value+'"]');null==o||o.classList.add(H+"-active");var s=this.list.find((function(e){return e[r]+""===A.value}));this._render(s)}},t._onSelectChange=function(){var A=this;if(this._picker){var e,t,i=null!=(t=null==(e=this._options.fieldNames)?void 0:e.value)?t:"value";this._delegationOption=d(this._picker.$body,"."+H+"-select-option","click",(function(e){var t=e.delegateTarget;if(e.stopPropagation(),!t.classList.contains(H+"-disabled")){var a=t.getAttribute("data-value");if(A.value!==a){A.value=a;var r=A.list.find((function(e){return e[i]+""===A.value}));null==A._options.onChange||A._options.onChange.call(A._options,A.value,r),A._picker.open=!1}}})),this._delegationClose=d(this._picker.$body,"."+H+"-select-close","click",(function(e){e.stopPropagation(),A._picker.open=!1})),this._delegationCancel=d(this._picker.$body,"."+H+"-select-cancel","click",(function(e){e.stopPropagation(),A._picker.open=!1}))}},t.destroy=function(){var e,t,i,a,r,n,o,s;(null==(t=this._delegationOption)||null==(e=t.destroy)||e.call(t),this._delegationOption=null,null==(a=this._delegationClose)||null==(i=a.destroy)||i.call(a),this._delegationClose=null,null==(n=this._delegationCancel)||null==(r=n.destroy)||r.call(n),this._delegationCancel=null,this._picker)&&(null==(o=this._picker.$body)||o.removeEventListener("dblclick",this._onDBlPanelClick),null==(s=this._picker)||s.destroy(),this._picker=null);A.prototype.destroy.call(this)},t._onDBlPanelClick=function(A){A.stopPropagation(),A.preventDefault()},t._onControlClick=function(A){null==this._options.onClick||this._options.onClick.call(this._options,A)},gi(e,[{key:"value",get:function(){return this._value},set:function(A){this.value!==A&&(this._value=A,this._activeOption())}},{key:"disabled",get:function(){return this._disabled},set:function(A){this._disabled=A,this._picker.disabled=A,this._updateDisabledState(A)}}]),e}(tA);function hi(A){if(void 0===A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A}function Bi(){return Bi=Object.assign||function(A){for(var e=1;e"+(null==e||null==(n=e.locales[e.language])?void 0:n.VIDEO_LEVEL_AUTO)+"("+((null==o?void 0:o.name)||"")+")"}return""+(A||(null==(r=a[0])?void 0:r.name)||"")+""},onChange:function(A,i){var a;null==e||null==(a=e.onChange)||a.call(e,A,i),"auto"===A?hi(t).emit(z.control.definitionChange,"auto",hi(t)._level):(hi(t)._level=A,hi(t).emit(z.control.definitionChange,A,i))},onOpenChange:function(A,i,a){var r;null==e||null==(r=e.onOpenChange)||r.call(e,A,i,a),hi(t).emit(z.control.definitionPanelOpenChange,A,i,a)}}))||this,t._level="",t.options=e||{},t.on(z.setVideoLevelList,(function(e){A.prototype.updateOptions.call(hi(t),Qi(e,t.locale))})),t.on(z.currentVideoLevel,(function(A,i){var a,r="object"==(void 0===A?"undefined":(a=A)&&"undefined"!=typeof Symbol&&a.constructor===Symbol?"symbol":typeof a)?A.level:A;if(t._level=i+"","auto"===r){var n,o=t.list.find((function(A){return A.level===t._level}));t.$container.querySelector("."+H+"-select-btn").innerHTML="\n "+(null==e||null==(n=e.locales[e.language])?void 0:n.VIDEO_LEVEL_AUTO)+"("+((null==o?void 0:o.name)||"")+")\n "}else t.value!==t._level+""&&(t.value=t._level+"")})),t}return function(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(e&&e.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),e&&Ei(A,e)}(e,A),e.prototype.reset=function(e){A.prototype.reset.call(this,e)},e}(ci);function ui(A){if(void 0===A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A}function pi(){return pi=Object.assign||function(A){for(var e=1;e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){r=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]\n '+this._getDateStr()+"\n "+Be()+"\n ":this.$container.innerHTML=he({title:null==(e=this.locale)?void 0:e.BTN_CALENDAR});this.dataPickerUtil=new Fi(this.$container,{staticPath:this.options.staticPath,language:"zh"===this.options.language?"zh-CN":"en-US",current:new Date(this._value+" 00:00:00"),maxDate:this.options.maxDate||new Date,place:_.isMobile()?"bottom-left":"top-right",onChange:function(A){A&&t._value!==wi.formate(A,"YYYY-MM-DD")&&(t._value=wi.formate(A,"YYYY-MM-DD"),null==t.options.onChange||t.options.onChange.call(t.options,A),t.emit(z.control.dateChange,A),A&&t.$container.querySelector("."+H+"-mobile-date-filter-value")&&(t.$container.querySelector("."+H+"-mobile-date-filter-value").innerHTML=t._getDateStr()))},onPanelChange:function(A,e){null==t.options.onPanelChange||t.options.onPanelChange.call(t.options,A,e),t.emit(z.control.datePanelOpenChange,A,e)}})},t.setDate=function(A,e){var t;void 0===e&&(e=!0),null==(t=this.dataPickerUtil)||t.setDate(A,e),A&&!e&&this._value!==wi.formate(A,"YYYY-MM-DD")&&(this._value=wi.formate(A,"YYYY-MM-DD"),A&&this.$container.querySelector("."+H+"-mobile-date-filter-value")&&(this.$container.querySelector("."+H+"-mobile-date-filter-value").innerHTML=this._getDateStr()))},t.reset=function(){var e;null==(e=this.dataPickerUtil)||e.hide(),A.prototype.reset.call(this)},t.destroy=function(){this.dataPickerUtil&&(this.dataPickerUtil.destroy(),this.dataPickerUtil=null),A.prototype.destroy.call(this)},t._getDateStr=function(){var A=this._value.split("-");return A[1]+"."+A[2]},t._onControlClick=function(e){A.prototype._onControlClick.call(this,e)},e}(tA);function ki(){return ki=Object.assign||function(A){for(var e=1;e'+this._splicingString(this.__options.deviceName,null==(e=this.__options.props)||null==(A=e.urlInfo)?void 0:A.deviceSerial)+""},t.update=function(A,e){if(this.$container.querySelector("."+H+"-text-device")){var t=this.$container.querySelector("."+H+"-text-device"),i=this._splicingString(A,e);null==t||t.setAttribute("title",i),t.innerHTML=i}},t._splicingString=function(A,e){return(A||"")+(e?A?"("+e+")":""+e:"")},e}(tA),Gi={play:ye,volume:Me,device:Yi,capturePicture:Ot,ptz:qt,record:ti,talk:si,zoom:Bt,definition:fi,fullscreen:We,globalFullscreen:Gt,rec:qe,speed:Di,date:Pi,timeLine:Ti};function Ui(A,e){return Ui=Object.setPrototypeOf||function(A,e){return A.__proto__=e,A},Ui(A,e)}var Ji=function(A){function e(e,t){var i;return void 0===t&&(t={hasDatePicker:!0}),(i=A.call(this)||this).options=t,i.$container=e,i.$popupContainer=document.createElement("div"),i.$popupContainer.classList.add(H+"-rec-footer"),i.options.hasDatePicker&&i.$popupContainer.classList.add(H+"-rec-footer-has-date-picker"),i.$container.appendChild(i.$popupContainer),i.$timeLineContainer=document.createElement("div"),i.$timeLineContainer.classList.add(H+"-rec-footer-time-line"),i.options.hasDatePicker&&(i.$popupContainer.appendChild(i.$timeLineContainer),i.$datePickerContainer=document.createElement("div"),i.$datePickerContainer.classList.add(H+"-rec-footer-date-picker"),i.$popupContainer.appendChild(i.$datePickerContainer)),i.$popupContainer.addEventListener("dblclick",(function(A){A.preventDefault(),A.stopPropagation()})),i}return function(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(e&&e.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),e&&Ui(A,e)}(e,A),e.prototype.destroy=function(){var A,e,t,i;(this.$datePickerContainer&&(this.$datePickerContainer.remove(),this.$datePickerContainer=null),this.$timeLineContainer)&&(null==(e=this.$timeLineContainer)||null==(A=e.remove)||A.call(e),this.$timeLineContainer=null);this.$popupContainer&&(null==(i=this.$popupContainer)||null==(t=i.remove)||t.call(i),this.$popupContainer=null);this.emit(z.theme.recFooterDestroy)},e}(l);function Hi(A,e){return Hi=Object.setPrototypeOf||function(A,e){return A.__proto__=e,A},Hi(A,e)}var Oi=function(A){function e(e){var t;return(t=A.call(this)||this)._$siblingContainer=e,t.render(),t}!function(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(e&&e.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),e&&Hi(A,e)}(e,A);var t=e.prototype;return t.render=function(){this.$container||(this.$container=document.createElement("div"),this.$container.classList.add(H+"-mobile-extend"),null==this._$siblingContainer.insertAdjacentElement||this._$siblingContainer.insertAdjacentElement.call(this._$siblingContainer,"afterend",this.$container),this.$controlPanel=document.createElement("div"),this.$controlPanel.classList.add(H+"-mobile-extend-control-panel"),this.$container.appendChild(this.$controlPanel),this.$content=document.createElement("div"),this.$content.classList.add(H+"-mobile-extend-control-content"),this.$controlPanel.appendChild(this.$content),this.$top=document.createElement("div"),this.$top.classList.add(H+"-mobile-extend-control-top"),this.$content.appendChild(this.$top),this.$topLeft=document.createElement("div"),this.$topLeft.classList.add(H+"-mobile-extend-control-top-left"),this.$top.appendChild(this.$topLeft),this.$topRight=document.createElement("div"),this.$topRight.classList.add(H+"-mobile-extend-control-top-right"),this.$top.appendChild(this.$topRight))},t.destroy=function(){var A;null==(A=this.$container)||A.remove(),this.emit(z.theme.mobileExtendDestroy)},e}(l);function Ki(){return Ki=Object.assign||function(A){for(var e=1;e'+JA()+"
":'
'+HA()+"
",this._timer&&(clearTimeout(this._timer),this._timer=null),this._timer2&&(clearTimeout(this._timer2),this._timer2=null),null==(i=this.$container)||null==(t=i.classList)||t.remove(H+"-hide"),this._timer=setTimeout((function(){var A,t;a._timer&&(clearTimeout(a._timer),a._timer=null),e||(null==(t=a.$container)||null==(A=t.classList)||A.add(H+"-pause-transform"),a._timer2=setTimeout((function(){var A,e,t,i;a._timer2&&(clearTimeout(a._timer2),a._timer2=null),null==(e=a.$container)||null==(A=e.classList)||A.add(H+"-hide"),null==(i=a.$container)||null==(t=i.classList)||t.remove(H+"-pause-transform")}),300))}),10))},t.destroy=function(){this._timer&&(clearTimeout(this._timer),this._timer=null),this._timer2&&(clearTimeout(this._timer2),this._timer2=null),this._timer3&&(clearTimeout(this._timer3),this._timer3=null),this.hide(),A.prototype.destroy.call(this)},t._onControlClick=function(A){var e=this;if(A.stopPropagation(),A.preventDefault(),this._firstFlag){if(this._timer3)return clearTimeout(this._timer3),void(this._timer3=null);this._timer3=setTimeout((function(){e._timer3&&(clearTimeout(e._timer3),e._timer3=null),e.emit(z.control.play,!0,"pause")}),250)}},e}(tA),Xi=function(A){if(A.controls){var e=Object.keys(A.controls).length>0||A._header||A._footer;if(A._interactiveResult&&(null==A._interactiveResult.cleanup||A._interactiveResult.cleanup.call(A._interactiveResult),A._interactiveResult=null),e&&A.emit(z.control.beforeUnmountControls),Object.keys(A.controls).length>0){for(var t in A.controls){var i,a;null==(i=(a=A.controls[t]).destroy)||i.call(a)}A.controls=null}A._pauseControl&&(null==A._pauseControl.destroy||A._pauseControl.destroy.call(A._pauseControl)),A._loadingControl&&(null==A._loadingControl.destroy||A._loadingControl.destroy.call(A._loadingControl)),A.messageControl&&(null==A.messageControl.destroy||A.messageControl.destroy.call(A.messageControl)),A.posterControl&&(null==A.posterControl.destroy||A.posterControl.destroy.call(A.posterControl)),A._headerMoreControl&&(null==A._headerMoreControl.destroy||A._headerMoreControl.destroy.call(A._headerMoreControl),A._headerMoreControl=null),A._footerMoreControl&&(null==A._footerMoreControl.destroy||A._footerMoreControl.destroy.call(A._footerMoreControl),A._footerMoreControl=null),A._recFooter&&(A._recFooter.destroy(),A._recFooter=null),A._mobileExtend&&(A._mobileExtend.destroy(),A._mobileExtend=null),A._header&&(A._header.destroy(),A._header=null),A._footer&&(A._footer.destroy(),A._footer=null),A._onPauseTimingFunc&&(A._onPauseTimingFunc=null),e&&A.emit(z.control.unmountedControls)}};function qi(A,e){(null==e||e>A.length)&&(e=A.length);for(var t=0,i=new Array(e);t=A.length?{done:!0}:{done:!1,value:A[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Aa(A,e){var t,i,a,r={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},n=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return n.next=o(0),n.throw=o(1),n.return=o(2),"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function o(o){return function(s){return function(o){if(t)throw new TypeError("Generator is already executing.");for(;n&&(n=0,o[0]&&(r=0)),r;)try{if(t=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return r.label++,{value:o[1],done:!1};case 5:r.label++,i=o[1],o=[0];continue;case 7:o=r.ops.pop(),r.trys.pop();continue;default:if(!(a=r.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){r=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0||C.length>0||I.length>0?(a.header={},a.header.color=null==A||null==(r=A.header)?void 0:r.color,a.header.backgroundColor=null==A||null==(n=A.header)?void 0:n.backgroundColor,a.header.activeColor=null==A||null==(o=A.header)?void 0:o.activeColor,a.header.btnList=[].concat(C||[],I||[],c||[])):a.header=void 0,h.length>0?(a.footer={},a.footer.color=null==A||null==(s=A.footer)?void 0:s.color,a.footer.backgroundColor=null==A||null==(g=A.footer)?void 0:g.backgroundColor,a.footer.activeColor=null==A||null==(l=A.footer)?void 0:l.activeColor,a.footer.btnList=h):a.footer=void 0,a}(o),A._themeData=s,s.poster&&A.setPoster(s.poster),A._playing||null==(t=A.posterControl)||t.show(),0===(g=W.reduce((function(e,t){return e[t]=A[t],e}),{})).width&&(g.width=Math.floor(A.$container.clientWidth)),0===g.height&&(g.height=Math.floor(A.$container.clientHeight)),s.header&&(A._header=new Mt({getPopupContainer:function(){return A.$container},color:s.header.color,activeColor:s.header.activeColor,backgroundColor:s.header.backgroundColor}),l=Rt(s.header.btnList||[]),C=l[0],I=l[1],ta(A,A._header.$left,C,g),ta(A,A._header.$right,I,g)),s.footer&&(A._footer=new kt({getPopupContainer:function(){return A.$container},color:s.footer.color,activeColor:s.footer.activeColor,backgroundColor:s.footer.backgroundColor}),(A._header||A._footer)&&0!==(null==s?void 0:s.autoFocus)&&(A._interactiveResult=function(A,e,t){void 0===e&&(e=3e3);var i=null,a=!1,r=!1,n=A.querySelector("."+H+"-header"),o=A.querySelector("."+H+"-footer"),s=function(){i&&(clearTimeout(i),i=null)},g=function(){null==s||s(),null==n||n.classList.remove(H+"-hide-transition"),null==o||o.classList.remove(H+"-hide-transition"),a||t(!0),a=!0},l=function(){r||(null==s||s(),A.classList.contains(H+"-player-pause")||(null==n||n.classList.add(H+"-hide-transition"),null==o||o.classList.add(H+"-hide-transition"),a&&t(!1),a=!1))},C=function(){null==g||g(),i=setTimeout((function(){null==s||s(),null==l||l()}),e)},I=function(A){var e;null==A||null==(e=A.stopPropagation)||e.call(A),null==s||s()},c=function(){a?null==l||l():null==C||C()},h=function(A){var e;null==A||null==(e=A.stopPropagation)||e.call(A),null==C||C()};if(C(),Fe.isMobile&&c){var B="click";A.addEventListener(B,c),o&&o.addEventListener(B,h),n&&n.addEventListener(B,h)}else{var E,x,d,Q,f=window.PointerEvent?"pointerdown":"click";A.addEventListener(f,C),A.addEventListener("mousemove",C),A.addEventListener("mouseleave",l),o&&(null==o||null==(E=o.addEventListener)||E.call(o,f,I),null==o||null==(x=o.addEventListener)||x.call(o,"mousemove",I)),n&&(null==n||null==(d=n.addEventListener)||d.call(n,f,I),null==n||null==(Q=n.addEventListener)||Q.call(n,"mousemove",I))}return{cleanup:function(){if(A){if(Fe.isMobile&&c){var e="click";A.removeEventListener(e,c),o&&C&&o.removeEventListener(e,h),n&&C&&n.removeEventListener(e,h)}if(C){var t,i,a,B,E=window.PointerEvent?"pointerdown":"click";A.removeEventListener(E,C),A.removeEventListener("mousemove",C),A.removeEventListener("mouseleave",l),o&&s&&(null==o||null==(t=o.removeEventListener)||t.call(o,E,I),null==o||null==(i=o.removeEventListener)||i.call(o,"mousemove",I)),n&&s&&(null==n||null==(a=n.removeEventListener)||a.call(n,E,I),null==n||null==(B=n.removeEventListener)||B.call(n,"mousemove",I))}l&&A.removeEventListener("mouseleave",l),c=null,C=null,l=null,g=null,h=null,I=null,null==s||s(),s=null,r=!1}},clearTimeout:function(){null==s||s(),r=!0},setTimeoutShow:function(){null==C||C(),r=!1},hide:l}}(A.$container,1e3*((null==o?void 0:o.autoFocus)||3),(function(e){A.emit(z.control.controlsBarOpenChange,e)})),A._onPauseTimingFunc&&(A.removeListener(Z,A._onPauseTimingFunc),A._onPauseTimingFunc=null),A._onPauseTimingFunc=function(e){var t,i,a,r;e?null==(i=A._interactiveResult)||null==(t=i.clearTimeout)||t.call(i):A._playing&&(null==(r=A._interactiveResult)||null==(a=r.setTimeoutShow)||a.call(r))},A.on(Z,A._onPauseTimingFunc),A._onPauseTimingFunc(!A._playing)),(null==(c=A.controls)?void 0:c.volumeControl)&&(A.controls.volumeControl.disabled=!0),(null==(h=A.controls)?void 0:h.globalFullscreenControl)&&!A.playing&&(A.controls.globalFullscreenControl.disabled=!0),B=Rt(s.footer.btnList||[]),E=B[0],x=B[1],ta(A,A._footer.$left,E,g),ta(A,A._footer.$right,x,g)),Q=[].concat((null==(i=s.header)?void 0:i.btnList)||[],null!=(d=null==(a=s.footer)?void 0:a.btnList)?d:[]),f=Q.some((function(A){return X.includes(A.iconId)})),Fe.isMobile||null===A.options.timeLineOptions||A.options.disabledTimeLine||!f||(A._recFooter=new Ji(A.$container,{hasDatePicker:null!==A.options.dateOptions}),aa(A,A._recFooter.$timeLineContainer,g),A._footer&&(A._footer.$container.style.cssText+="bottom: 36px;"),null!==A.options.dateOptions&&ra(A,A._recFooter.$datePickerContainer,g)),Fe.isMobile&&(null==(n=A.options.mobileExtendOptions)||null==(r=n.controls)?void 0:r.length)){if(!(S=Q.some((function(A){return"ptz"===A.iconId})))&&!f)return[2];A._mobileExtend=new Oi(A.$container),null!==A.options.dateOptions&&(null==(u=A.options.mobileExtendOptions)?void 0:u.controls.includes("date"))&&f&&ra(A,A._mobileExtend.$topLeft,g),null!==A.options.recOptions&&(null==(p=A.options.mobileExtendOptions)?void 0:p.controls.includes("rec"))&&f&&[].concat((null==(D=s.header)?void 0:D.btnList)||[],null!=(F=null==(R=s.footer)?void 0:R.btnList)?F:[]).forEach((function(e){var t;X.includes(e.iconId)&&na(A,null==(t=A._mobileExtend)?void 0:t.$topRight,e.iconId,g)})),null===A.options.timeLineOptions&&A.options.disabledTimeLine||!(null==(m=A.options.mobileExtendOptions)?void 0:m.controls.includes("timeLine"))||!f||aa(A,A._mobileExtend.$content,g),Fe.isMobile&&(null==(y=A.options.mobileExtendOptions)||null==(_=y.controls)?void 0:_.includes("ptz"))&&S&&A.controls.ptzControl&&A.controls.ptzControl.renderMobileExtend(A._mobileExtend.$content)}return A.emit(z.control.mountedControls),A.playing||A._disabled(!0),function(A){var e,t,i,a,r,n,o,s,g,l,C,I,c,h,B;A._recFooter&&A._recFooter.on(z.theme.recFooterDestroy,(function(){A.emit(z.theme.recFooterDestroy)})),A._mobileExtend&&A._mobileExtend.on(z.theme.mobileExtendDestroy,(function(){A.emit(z.theme.mobileExtendDestroy)})),A._pauseControl&&A._pauseControl.on(z.control.play,(function(e,t){A.playing||(A.playing=e,A.emit(z.control.play,e,t))})),(null==(e=A.controls)?void 0:e.playControl)&&(A.controls.playControl.on(z.control.play,(function(e){A.playing!==e&&(A.playing=e,A.emit(z.control.play,e))})),A.controls.playControl.on(z.control.playDestroy,(function(){A.emit(z.control.playDestroy)}))),(null==(t=A.controls)?void 0:t.volumeControl)&&(A.controls.volumeControl.on(z.control.volumechange,(function(e,t){A.muted!==t&&(A.muted=t),A.volume!==e&&(A.volume=e),A.emit(z.control.volumechange,e,t)})),A.controls.volumeControl.on(z.control.volumePanelOpenChange,(function(e,t,i){A.emit(z.control.volumePanelOpenChange,e,t,i)})),A.controls.volumeControl.on(z.control.volumeDestroy,(function(){A.emit(z.control.volumeDestroy)}))),(null==(i=A.controls)?void 0:i.ptzControl)&&(A.controls.ptzControl.on(z.control.ptzPanelOpenChange,(function(e){Fe.isMobile&&A.emit(Z,e),A.emit(z.control.ptzPanelOpenChange,e)})),A.controls.ptzControl.on(z.control.ptzSpeedChange,(function(e){A.emit(z.control.ptzSpeedChange,e),A.emit(z.ptzSpeedChange,e)})),A.controls.ptzControl.on(z.control.ptzError,(function(e){A.emit(z.control.ptzError,e);var t=A.i18n.t(e.localeKey);/^\[missing/.test(t)&&(t=e.msg),A.emit(z.message,t+" ["+e.code+"]","ptzError",2)})),A.controls.ptzControl.on(z.control.ptzDestroy,(function(){A.emit(z.control.ptzDestroy)}))),(null==(a=A.controls)?void 0:a.recordControl)&&(A.controls.recordControl.on(z.control.recordingChange,(function(e){A.recording!==e&&A.emit(z.control.recordingChange,e)})),A.controls.recordControl.on(z.control.recordDestroy,(function(){A.emit(z.control.recordDestroy)}))),(null==(r=A.controls)?void 0:r.talkControl)&&(A.controls.talkControl.on(z.control.talkingChange,(function(e){A.talking!==e&&A.emit(z.control.talkingChange,e)})),A.controls.talkControl.on(z.control.talkDestroy,(function(){A.emit(z.control.talkDestroy)}))),(null==(n=A.controls)?void 0:n.zoomControl)&&(A.controls.zoomControl.on(z.control.zoomChange,(function(e,t,i){A.zoom!==e&&(A.zoom=e,A.emit(z.control.zoomChange,e))})),A.controls.zoomControl.on(z.control.zoomPanelOpenChange,(function(e,t){A.zooming!==e&&(A.zooming=e,A.emit(z.control.zoomPanelOpenChange,e))})),A.controls.zoomControl.on(z.control.zoomDestroy,(function(){A.zooming&&(A.zoom=1,A.zooming=!1),A.emit(z.control.zoomDestroy)}))),(null==(o=A.controls)?void 0:o.definitionControl)&&(A.controls.definitionControl.on(z.control.definitionPanelOpenChange,(function(e,t,i){A.emit(Z,e,t),A.emit(z.control.definitionPanelOpenChange,e,t,i)})),A.controls.definitionControl.on(z.control.definitionChange,(function(e,t){A.emit(z.control.definitionChange,e,t)})),A.controls.definitionControl.on(z.control.definitionDestroy,(function(){A.emit(z.control.definitionDestroy)}))),(null==(s=A.controls)?void 0:s.speedControl)&&(A.controls.speedControl.on(z.control.speedPanelOpenChange,(function(e,t,i){A.emit(Z,e,t),A.emit(z.control.speedPanelOpenChange,e,t,i)})),A.controls.speedControl.on(z.control.speedChange,(function(e,t){A.emit(z.control.speedChange,e,t)})),A.controls.speedControl.on(z.control.speedDestroy,(function(){A.emit(z.control.speedDestroy)}))),(null==(g=A.controls)?void 0:g.capturePictureControl)&&(A.controls.capturePictureControl.on(z.control.capturePicture,(function(e){A.emit(z.control.capturePicture,e)})),A.controls.capturePictureControl.on(z.control.capturePictureDestroy,(function(){A.emit(z.control.capturePictureDestroy)}))),(null==(l=A.controls)?void 0:l.fullscreenControl)&&A.controls.fullscreenControl.on(z.control.fullscreenDestroy,(function(){A.emit(z.control.fullscreenDestroy)})),(null==(C=A.controls)?void 0:C.globalFullscreenControl)&&A.controls.globalFullscreenControl.on(z.control.globalFullscreenDestroy,(function(){A.emit(z.control.globalFullscreenDestroy)})),(null==(I=A.controls)?void 0:I.deviceControl)&&A.controls.deviceControl.on(z.control.deviceDestroy,(function(){A.emit(z.control.deviceDestroy)})),(null==(c=A.controls)?void 0:c.recControl)&&(A.controls.recControl.on(z.control.recTypeChange,(function(e){var t;A.recType!==e&&(A.recType=e,A.emit(z.control.recTypeChange,e),(null==(t=A._headerMoreControl)?void 0:t.picker)&&(A._headerMoreControl.picker.open=!1))})),A.controls.recControl.on(z.control.recDestroy,(function(){A.emit(z.control.recDestroy)}))),(null==(h=A.controls)?void 0:h.timeLineControl)&&(A.controls.timeLineControl.on(z.control.timeLineChange,(function(e){A.emit(z.control.timeLineChange,e)})),A.controls.timeLineControl.on(z.control.timeLinePanelOpenChange,(function(e){var t,i,a;(null==(t=A.controls.dateControl)?void 0:t.dataPickerUtil)&&(null==(a=A.controls.dateControl)||null==(i=a.dataPickerUtil)||i.hide()),A.emit(z.control.timeLinePanelOpenChange,e)})),A.controls.timeLineControl.on(z.control.timeLineDestroy,(function(){A.emit(z.control.timeLineDestroy)}))),(null==(B=A.controls)?void 0:B.dateControl)&&(A.controls.dateControl.on(z.control.datePanelOpenChange,(function(e,t){A.emit(z.control.datePanelOpenChange,e,t)})),A.controls.dateControl.on(z.control.dateChange,(function(e){A.emit(z.control.dateChange,e)})),A.controls.dateControl.on(z.control.dateDestroy,(function(){A.emit(z.control.recDestroy)}))),A.contentControl&&A.contentControl.on(z.control.contentRerender,(function(e){A.emit(z.control.contentRerender,e)}))}(A),[2]}}))},function(){var A=this,e=arguments;return new Promise((function(i,a){var r=t.apply(A,e);function n(A){ji(r,i,a,n,o,"next",A)}function o(A){ji(r,i,a,n,o,"throw",A)}n(void 0)}))})();var t}var aa=function(A,e,t){var i,a;(void 0===t&&(t={}),A.controls.timeLineControl||null===A.options.timeLineOptions)||(A.controls.timeLineControl=new Gi.timeLine(zi({getPopupContainer:function(){return e},language:A.options.language,locales:A.i18n.translations,coverQuery:(null==(i=A.urlInfo)?void 0:i.validateCode)?"decodekey="+A.urlInfo.validateCode:""},(null==(a=A.options)?void 0:a.timeLineOptions)||{},{props:t})))},ra=function(A,e,t){var i;(void 0===t&&(t={}),A.controls.dateControl||null===A.options.dateOptions)||(A.controls.dateControl=new Gi.date(zi({getPopupContainer:function(){return e},language:A.options.language,locales:A.i18n.translations,staticPath:A.options.staticPath},(null==(i=A.options)?void 0:i.dateOptions)||{},{props:t})))},na=function(A,e,t,i){var a,r,n,o;(void 0===i&&(i={}),!(null==(a=A.controls)?void 0:a.recControl)&&null!==A.options.recOptions&&e)&&(A.controls.recControl=new Gi.rec(zi({getPopupContainer:function(){return e},recType:A.recType,language:A.options.language,locales:A.i18n.translations},(null==(o=A.options)?void 0:o.recOptions)||{},{props:i})));(null==(r=A.controls)?void 0:r.recControl)&&(null==(n=A.controls)?void 0:n.recControl).addRecType(t)};function oa(A,e){(null==e||e>A.length)&&(e=A.length);for(var t=0,i=new Array(e);t=A.length?{done:!0}:{done:!1,value:A[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ha(A,e){var t,i,a,r={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},n=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return n.next=o(0),n.throw=o(1),n.return=o(2),"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function o(o){return function(s){return function(o){if(t)throw new TypeError("Generator is already executing.");for(;n&&(n=0,o[0]&&(r=0)),r;)try{if(t=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return r.label++,{value:o[1],done:!1};case 5:r.label++,i=o[1],o=[0];continue;case 7:o=r.ops.pop(),r.trys.pop();continue;default:if(!(a=r.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){r=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0||(null==(r=this.options.videoLevelList)?void 0:r.length)>0)&&(this.videoLevelList=(null==(n=this.options.definitionOptions)?void 0:n.list)||this.options.videoLevelList);this.setScaleMode(this.options.scaleMode)},t._initClassName=function(){var A,e;this.$container.classList.add(H,Fe.isMobile?H+"-mobile":H+"-pc"),["ezopen","flv","hls","mp4"].includes(this.options.type)&&this.$container.classList.add(H+"-"+this.options.type),["en","zh"].includes(this.options.language||"zh")&&this.$container.classList.add(H+"-lang-"+(this.options.language||"zh")),"string"==typeof this.options.className&&this.$container.classList.add(this.options.className),this.resize(null==(A=this.options)?void 0:A.width,null==(e=this.options)?void 0:e.height)},t._renderTheme=function(A){return ga((function(){return ha(this,(function(e){return ia(this,A),[2]}))})).call(this)},t._mobileInnerWidthHeight=function(){if(Fe.isMobile){var A,e,t,i,a=Math.floor(window.innerHeight),r=Math.floor(window.innerWidth);null==(e=this.$container)||null==(A=e.style)||A.setProperty("--"+H+"-mobile-inner-height",a+"px"),null==(i=this.$container)||null==(t=i.style)||t.setProperty("--"+H+"-mobile-inner-width",r+"px")}},t._addEventListener=function(){var A=this;this._fullscreen=new Oe(this.$container,{prefix:H,onChange:function(e){var t;(e.isCurrentFullscreen?A.emit(z.fullscreen):A._isCurrentFullscreen&&A.emit(z.exitFullscreen),A._isCurrentFullscreen=e.isCurrentFullscreen,A.emit(z.fullscreenChange,Ca({},e,{orientationAngle:A._orientationAngle})),A._isRotated(),Fe.isMobile&&!A._isCurrentFullscreen)&&((null==(t=A.controls)?void 0:t.ptzControl)&&A.controls.ptzControl.reset())}});var t=function(e){if(A.$container){var t;switch(null==(t=A.$container.classList)||t.remove(H+"-angle-0",H+"-angle-90",H+"-angle-180",H+"-angle-270"),e.angle){case 0:A.$container.classList.add(H+"-angle-0");break;case 90:A.$container.classList.add(H+"-angle-90");break;case 180:A.$container.classList.add(H+"-angle-180");break;case 270:A.$container.classList.add(H+"-angle-270")}A.orientationAngle!==e.angle&&A.emit(z.orientationChange,e.angle),A._orientationAngle=e.angle,A._mobileInnerWidthHeight(),A._isRotated()}},i=Fe.orientationEventListener(t),a=i[0],r=i[1];this._cleanupOrientation=r,t(a),this._mobileInnerWidthHeight(),window.addEventListener("resize",this._throttleMobileInnerWidthHeight),this._cleanUpResizeObserver=Fe.resizeObserver(this.$container,Se((function(){var t,i,a=Math.floor(A.$container.clientWidth),r=Math.floor(A.$container.clientHeight);(a>200&&a<=375?(A.$container.classList.add(H+"-medium-width"),A.$container.classList.remove(H+"-mini-width")):(a<=200?A.$container.classList.add(H+"-mini-width"):A.$container.classList.remove(H+"-mini-width"),A.$container.classList.remove(H+"-medium-width")),r>200&&r<=375?(A.$container.classList.add(H+"-medium-height"),A.$container.classList.remove(H+"-mini-height")):(r<=200?A.$container.classList.add(H+"-mini-height"):A.$container.classList.remove(H+"-mini-height"),A.$container.classList.remove(H+"-medium-height")),A.width!==a||A.height!==r)&&(A.emit(e.EVENTS.resize,{width:a,height:r,isCurrentFullscreen:A.isCurrentFullscreen,orientationAngle:A.orientationAngle}),A._width=a,A._height=r,(null==(i=A.controls)?void 0:i.timeLineControl)&&A.controls.timeLineControl.setWidth(a-20-36),A._headerMoreControlShow(),A._footerMoreControlShow());null==(t=A.$container)||t.classList.add(H+"-overflow-hidden"),A._resizeOverflowTimer&&(clearTimeout(A._resizeOverflowTimer),A._resizeOverflowTimer=null),A._resizeOverflowTimer=setTimeout((function(){var e;A._resizeOverflowTimer&&(clearTimeout(A._resizeOverflowTimer),A._resizeOverflowTimer=null),null==(e=A.$container)||e.classList.remove(H+"-overflow-hidden")}),200)}),20)),this.options.dblClickFullscreen&&!Fe.isMobile&&this.$container.addEventListener("dblclick",this._onDblClickFullscreen)},t._headerMoreControlShow=function(){var A=this;if(this._header){var t,i,a,r,n=(null==(i=this._header)||null==(t=i.$left)?void 0:t.clientWidth)||0,o=(null==(r=this._header)||null==(a=r.$right)?void 0:a.clientWidth)||0,s=n+o+30>this._width;if(s){var g,l,C;if(!this._headerMoreControl&&(null==(g=this.controls)?void 0:g.recControl))this._headerMoreControl=new rt({language:this.options.language,locales:this.i18n.translations,rootContainer:this.$container,getPopupContainer:function(){var e;return null==(e=A._header)?void 0:e.$right},placement:"br",controls:this.controls,open:!1,offset:[0,8],wrapClassName:H+"-header-more",onOpenChange:function(e){A.emit(z.control.headerMorePanelOpenChange,e)}}),null==(C=this.controls)||null==(l=C.recControl)||l.resetPopupContainer(this._headerMoreControl.$panel);this.emit(e.EVENTS.control.headerMoreShowControlsChange,s)}else if(this._width-n-o>100){var I,c,h,B,E;if(this._headerMoreControl&&(null==(I=this.controls)?void 0:I.recControl))null==(B=this.controls)||null==(h=B.recControl)||h.resetPopupContainer(null==(c=this._header)?void 0:c.$right),null==(E=this._headerMoreControl)||E.destroy(),this._headerMoreControl=null,this.emit(e.EVENTS.control.headerMoreShowControlsChange,!1)}}},t._footerMoreControlShow=function(){var A=this,t=function(){if(A._footer){var i,a,r=(null==(i=A._footer.$left)?void 0:i.clientWidth)||0,n=(null==(a=A._footer.$right)?void 0:a.clientWidth)||0;if(r+n+26>A._width){var o,s,g,l,C,I,c;!A._footerMoreControl&&(null==(o=A._footer)?void 0:o.$right)&&(A._footerMoreControl=new rt({language:A.options.language,locales:A.i18n.translations,rootContainer:A.$container,getPopupContainer:function(){var e;return null==(e=A._footer)?void 0:e.$right},placement:"tr",controls:A.controls,open:!1,offset:[0,-8],wrapClassName:H+"-footer-more",onOpenChange:function(e){A.emit(z.control.footerMorePanelOpenChange,e)}}));var h=((null==(g=A._themeData)||null==(s=g.footer)?void 0:s.btnList)||[]).filter((function(e){var t,i=((null==(t=A._footerMoreControl)?void 0:t.list)||[]).findIndex((function(t){var i;return t.control===(null==(i=A.controls)?void 0:i[e.iconId+"Control"])}));return-1===i}));if(h.length<=0)return;if(0===(null==(C=A._footerMoreControl)||null==(l=C.list)?void 0:l.length))for(var B,E=ca([h.pop(),h.pop()]);!(B=E()).done;){var x=B.value;if(x){var d,Q,f,u,p,m=x.iconId+"Control";null==(f=A.controls)||null==(Q=f[m])||null==(d=Q.resetPopupContainer)||d.call(Q,A._footerMoreControl.$panel,"prepend"),null==(p=A._footerMoreControl)||p.add(m,x.part,null==(u=A.controls)?void 0:u[m])}}else if(A._footerMoreControl){var _=h.pop();if(!_)return;var y,S,D,R,F,w=_.iconId+"Control";null==(D=A.controls)||null==(S=D[w])||null==(y=S.resetPopupContainer)||y.call(S,A._footerMoreControl.$panel,"prepend"),null==(F=A._footerMoreControl)||F.add(w,_.part,null==(R=A.controls)?void 0:R[w])}A.emit(e.EVENTS.control.footerMoreShowControlsChange,!!A._footerMoreControl,null==(c=A._footerMoreControl)||null==(I=c.list)?void 0:I.map((function(A){return A.key}))),A._footerMoreControl&&t()}else if(A._width-r-n>110){var b,v;if(null==(v=A._footerMoreControl)||null==(b=v.list)?void 0:b.length){var P,k,N,T,M,L=null==(P=A._footerMoreControl)?void 0:P.list.shift();if(L){var Y,G,U;if("left"===L.part)null==(U=L.control)||null==(G=U.resetPopupContainer)||G.call(U,A._footer.$left,"append");else if("right"===L.part){var J,O,K,V,W,Z;if(0===(null==(O=A._footerMoreControl)||null==(J=O.list)?void 0:J.length))null==(V=L.control)||null==(K=V.resetPopupContainer)||K.call(V,A._footer.$right,"append");else null==(Z=L.control)||null==(W=Z.resetPopupContainer)||W.call(Z,A._footer.$right,"before",A._footerMoreControl.$container)}null==(Y=A._footerMoreControl)||Y.remove(L.control)}if(1===(null==(N=A._footerMoreControl)||null==(k=N.list)?void 0:k.length)){var X,q,j,$=null==(X=A._footerMoreControl)?void 0:X.list.shift();if($){var AA,eA,tA;if("left"===$.part)null==(tA=$.control)||null==(eA=tA.resetPopupContainer)||eA.call(tA,A._footer.$left,"append");else if("right"===$.part){var iA,aA;null==(aA=$.control)||null==(iA=aA.resetPopupContainer)||iA.call(aA,A._footer.$right,"append")}null==(AA=A._footerMoreControl)||AA.remove($.control)}null==(j=A._footerMoreControl)||null==(q=j.destroy)||q.call(j),A._footerMoreControl=null}A.emit(e.EVENTS.control.footerMoreShowControlsChange,!!A._footerMoreControl,null==(M=A._footerMoreControl)||null==(T=M.list)?void 0:T.map((function(A){return A.key}))),t()}}}};t()},t._removeEventListener=function(){var A,e,t,i;this._isCurrentFullscreen&&(null==(i=this._fullscreen)||i.exitFullscreen());null==(A=this._fullscreen)||A.destroy(),this._fullscreen=null,null==this._cleanupOrientation||this._cleanupOrientation.call(this),this._cleanupOrientation=null,null==(t=this._cleanUpResizeObserver)||null==(e=t.unobserve)||e.call(t),this._cleanUpResizeObserver=null,window.removeEventListener("resize",this._throttleMobileInnerWidthHeight),this._throttleMobileInnerWidthHeight=null,this.options.dblClickFullscreen&&!Fe.isMobile&&this.$container.removeEventListener("dblclick",this._onDblClickFullscreen)},t._setVideoLevelList=function(A){this.videoLevelList=A},t._disabled=function(A){var e=this;void 0===A&&(A=!0),j.forEach((function(t){var i;(null==(i=e.controls)?void 0:i[t+"Control"])&&(e.controls[t+"Control"].disabled=A)}))},t._onDblClickFullscreen=function(){this.isCurrentFullscreen?this.exitFullscreen():this.fullscreen()},t._getRecType=function(A){if("ezopen"===this.options.type&&/^ezopen:\/\//.test(A)){var e,t=_.parseEzopenUrl(A);if("rec"===t.type)return"cloud"===t.recType&&"7"===(null==t||null==(e=t.searchParams)?void 0:e.busType)?(this.recType="cloudRecord","cloudRecord"):"cloud"===t.recType?(this.recType="cloudRec","cloudRec"):(this.recType="rec","rec")}return this.recType="",""},t.resetControl=function(){var A=this;this.zooming&&1!==this.zoom&&(this.zoom=1),["ptz","talk","record","speed"].forEach((function(e){var t;(null==(t=A.controls)?void 0:t[e+"Control"])&&A.controls[e+"Control"].reset()}))},t._isRotated=function(){var A,e,t,i;Fe.isMobile&&(this.isCurrentFullscreen&&[0,180].includes(this._orientationAngle)?((null==(A=this.controls)?void 0:A.ptzControl)&&(this.controls.ptzControl.isRotated=!0),(null==(e=this.controls)?void 0:e.zoomControl)&&(this.controls.zoomControl.isRotated=!0)):((null==(t=this.controls)?void 0:t.ptzControl)&&(this.controls.ptzControl.isRotated=!1),(null==(i=this.controls)?void 0:i.zoomControl)&&(this.controls.zoomControl.isRotated=!1)))},la(e,[{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}},{key:"playing",get:function(){return this._playing},set:function(A){var e,t,i,a,r,n=this;if(this._playing!==A){var o,s,g,l;if(this._playing=A,A||(this.loading=!1,["ptz","talk","record"].forEach((function(A){var e;(null==(e=n.controls)?void 0:e[A+"Control"])&&n.controls[A+"Control"].reset()})),this._disabled(!0)),this.emit(z.play,A),null==(o=this.controls)?void 0:o.playControl)if(this.controls.playControl.playing!==A)null==(l=this.controls)||l.playControl.emit(z.play,A);null==(g=this._pauseControl)||null==(s=g.show)||s.call(g,A)}this._playing&&(null==(e=this.messageControl)||e.hide());this._playing?null==(i=this._interactiveResult)||null==(t=i.setTimeoutShow)||t.call(i):null==(r=this._interactiveResult)||null==(a=r.clearTimeout)||a.call(r)}},{key:"loading",get:function(){return this._loading},set:function(A){var e,t;(this._loading=A,A)?null==(e=this._loadingControl)||e.show():null==(t=this._loadingControl)||t.hide();this._loading!==A&&this.emit(z.loading,A)}},{key:"volume",get:function(){return this._volume},set:function(A){var e,t,i;A>=0&&A<=1&&(this._volume!==A&&(this._volume=A,this.emit(z.volumechange,A,this._muted),(null==(e=this.controls)?void 0:e.volumeControl)&&(null==(i=this.controls)||null==(t=i.volumeControl)?void 0:t.volume)!==A&&this.controls.volumeControl.emit(z.volumechange,A,this._muted)))}},{key:"muted",get:function(){return this._muted},set:function(A){var e,t,i;this._muted!==A&&(this._muted=A,this.emit(z.volumechange,this._volume,this._muted),(null==(e=this.controls)?void 0:e.volumeControl)&&(null==(i=this.controls)||null==(t=i.volumeControl)?void 0:t.muted)!==A&&this.controls.volumeControl.emit(z.volumechange,this._volume,A))}},{key:"zooming",get:function(){return this._zooming},set:function(A){var e,t,i,a,r,n,o,s,g,l;this._zooming!==A&&(this._zooming=A,this.emit(z.zoomingChange,A),this.zoomUtil&&(A?(null==(t=this.zoomUtil)||null==(e=t.setUpEventListeners)||e.call(t),null==(a=this.zoomUtil)||null==(i=a.setAllowZoom)||i.call(a,!0)):(null==(n=this.zoomUtil)||null==(r=n.reset)||r.call(n),null==(s=this.zoomUtil)||null==(o=s.removeEventListeners)||o.call(s),null==(l=this.zoomUtil)||null==(g=l.setAllowZoom)||g.call(l,!1))))}},{key:"zoom",get:function(){return this._zoom},set:function(A){var e,t,i,a,r;if(!this._zooming)return null==(i=this.messageControl)||null==(t=i.info)||t.call(i,this.i18n.t("ZOOM_NOT_ENABLED")),void(null==(a=this.logger)||a.warn(this.i18n.t("ZOOM_NOT_ENABLED")));A=+A.toFixed(1);var n,o,s,g,l,C,I,c,h,B,E=null!=(r=null==(e=this.options.zoomOptions)?void 0:e.max)?r:ht.max;if(A>E)return null==(o=this.messageControl)||null==(n=o.info)||n.call(o,this.i18n.t("ZOOM_LIMIT_MAX",{zoom:E})),void(null==(s=this.logger)||s.warn(this.i18n.t("ZOOM_LIMIT_MAX",{zoom:E})));if(A<1)return null==(l=this.messageControl)||null==(g=l.info)||g.call(l,this.i18n.t("ZOOM_LIMIT_MIN",{zoom:"1"})),void(null==(C=this.logger)||C.warn(this.i18n.t("ZOOM_LIMIT_MIN",{zoom:"1"})));if(A===E)null==(c=this.messageControl)||null==(I=c.info)||I.call(c,this.i18n.t("ZOOM_ADD_MAX",{zoom:E}));else if(1===A){var x,d;null==(d=this.messageControl)||null==(x=d.info)||x.call(d,this.i18n.t("ZOOM_SUB_MIN",{zoom:1}))}A!==this._zoom&&(this._zoom=A,this.emit(z.zoomChange,A),null==this||null==(B=this.zoomUtil)||null==(h=B.setZoom)||h.call(B,A))}},{key:"talking",get:function(){return this._talking}},{key:"speed",get:function(){return this._speed},set:function(A){(A=+A)!==this._speed&&(this._speed=A,this.emit(z.speedChange,A))}},{key:"talkGain",get:function(){var A,e,t;return(null==(e=this.controls)||null==(A=e.talkControl)?void 0:A.active)?(null==(t=this.controls)?void 0:t.talkControl).value:null}},{key:"recording",get:function(){return this._recording}},{key:"ptzing",get:function(){var A,e;return null==(e=this.controls)||null==(A=e.ptzControl)?void 0:A.active}},{key:"videoLevelAuto",get:function(){return this._videoLevelAuto}},{key:"isCurrentFullscreen",get:function(){return this._isCurrentFullscreen}},{key:"orientationAngle",get:function(){return this._orientationAngle}},{key:"hasHeaderMoreControl",get:function(){return!!this._headerMoreControl}},{key:"hasFooterMoreControl",get:function(){return!!this._footerMoreControl}}]),e}(l);da.TEMPLATES=At,da.EVENTS=z,da.LOCALES={zh:je,en:ze},da.THEME_VERSION="2.0.0-beta.4";var Qa=(Ea||(Ea=1,Ba=function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=void 0,a=void 0,r=void 0,n=[];return function(){var s=function(A){return"function"==typeof A?A():A}(e),g=(new Date).getTime(),l=!i||g-i>s;i=g;for(var C=arguments.length,I=Array(C),c=0;c{var a=document.getElementsByTagName("head")[0].getElementsByTagName("script"),r=!1;if(t)r=t();else for(var n=0;n{e(i)});if(!r){try{if(!document.querySelector(`script[src="${A}"]`)){var o=document.createElement("script");o.setAttribute("src",A),o.setAttribute("crossorigin",!0),o.onload=()=>e(i),document.getElementsByTagName("head")[0].appendChild(o)}}catch(A){}setTimeout((()=>{e(i)}),15)}},pa=A=>{for(var e=document.getElementsByTagName("head")[0].getElementsByTagName("script"),t=0;t{var t=new RegExp("(\\?|#|&)"+A+"=(.*?)(#|&|$)"),i=(e||window.location.href).match(t);return decodeURIComponent(i?i[2]:"")},_a=(A,e)=>{var t=e.parentNode;t.lastChild==e?t.appendChild(A):t.insertBefore(A,e.nextSibling)},ya=A=>({deviceSerial:A.split("/")[3],channelNo:A.split("/")[4].split(".")[0],validCode:2===A.split("/")[2].split("@").length?A.split("/")[2].split("@")[0]:"",hd:-1!==A.indexOf(".hd"),type:-1!==A.indexOf(".cloud.rec")?"cloud.rec":-1!==A.indexOf(".rec")?"rec":"live"}),Sa=()=>!!window&&navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Opera Mini)/i);var Da={391001:"取流地址或端口非法",391004:"连接到流媒体服务失败",395e3:"服务内部异常,请稍后重试",395400:"预览取流参数异常",395402:"设备当前时段无录像,请选择其他时间段",395403:"服务异常,请重试或联系客服",395404:"设备不在线,请优化网络后重启设备再试",395405:"设备侧网络问题,请检查优化网络后重启设备再试",395406:"token过期,请重试",395407:"客户端的URL格式错误",395409:"预览开启隐私保护",395410:"服务异常,请重试或联系客服",395411:"无权查看当前设备",395412:"服务异常,请重试或联系客服",395413:"服务异常,请重试或联系客服",395415:"设备通道错误",395416:"当前观看路数达到设备最大限制,请重启设备或联系设备售后处理",395451:"设备不支持该码流类型,请检查设备通道支持情况或联系硬件售后",395452:"设备侧网络较差,请检查优化网络后重启设备再试",395454:"设备侧网络较差,请检查优化网络后重启设备再试",395455:"设备通道异常,请检查通道配置后重试",395456:"设备通道异常,请检查通道配置后重试",395457:"服务异常,请重试或联系客服",395458:"服务异常,请重试或联系客服",395459:"服务异常,请重试或联系客服",395460:"服务异常,请重试或联系客服",395492:"服务异常,请重试或联系客服",395500:"服务异常,请重试或联系客服",395501:"服务异常,请重试或联系客服",395503:"服务异常,请重试或联系客服",395504:"服务异常,请重试或联系客服",395505:"服务异常,请重试或联系客服",395506:"暂不支持该设备直接取流,请连接NVR后重试或联系客服",395507:"设备4G无限流量套餐仅支持萤石云视频APP使用,请联系APP客服更换套餐",395530:"服务异常,请重试或联系客服",395544:"视频源不存在,请检查设备配置",395545:"服务异常,请重试或联系客服",395546:"同时观看人数达到账号最大限制,请联系客服",395547:"同时观看人数达到账号最大限制,请联系客服",395556:"服务异常,请重试或联系客服",395557:"设备取流失败,请联系硬件售后",395558:"查找录像开始时间错误",395560:"服务异常,请重试或联系客服",395561:"服务异常,请重试或联系客服",395562:"服务异常,请重试或联系客服",395563:"服务异常,请重试或联系客服",395564:"服务异常,请重试或联系客服",395566:"服务异常,请重试或联系客服",395567:"服务异常,请重试或联系客服",395568:"服务异常,请重试或联系客服",395569:"服务异常,请重试或联系客服",395600:"服务异常,请重试或联系客服",395601:"服务异常,请重试或联系客服",395602:"服务异常,请重试或联系客服",395610:"服务异常,请重试或联系客服",395620:"服务异常,请重试或联系客服",395701:"服务异常,请重试或联系客服",395702:"服务异常,请重试或联系客服",395703:"服务异常,请重试或联系客服",396001:"服务异常,请重试或联系客服",396099:"服务异常,请重试或联系客服",396101:"服务异常,请重试或联系客服",396102:"服务异常,请重试或联系客服",396103:"服务异常,请重试或联系客服",396104:"服务异常,请重试或联系客服",396105:"设备异常,请重试或联系客服",396106:"设备通道异常,请检查通道配置后重试",396107:"设备异常,请重试或联系客服",396108:"服务异常,请重试或联系客服",396109:"服务异常,请重试或联系客服",396110:"设备异常,请重试或联系客服",396501:"设备异常,请重试或联系客服",396502:"设备异常,请重试或联系客服",396503:"设备异常,请重试或联系客服",396504:"设备异常,请重试或联系客服",396505:"设备异常,请重试或联系客服",396506:"设备异常,请重试或联系客服",396508:"设备异常,请重试或联系客服",396509:"设备异常,请重试或联系客服",396510:"设备异常,请重试或联系客服",396511:"设备异常,请重试或联系客服",396512:"设备异常,请重试或联系客服",396513:"设备异常,请重试或联系客服",396514:"设备异常,请重试或联系客服",396515:"设备异常,请重试或联系客服",396516:"设备异常,请重试或联系客服",396517:"设备异常,请重试或联系客服",396518:"设备异常,请重试或联系客服",396519:"设备网络异常,请检查优化网络后重启设备再试",396520:"设备网络异常,请检查优化网络后重启设备再试",396700:"服务异常,请重试或联系客服",396701:"回放结束",397001:"服务异常,请重试或联系客服",397002:"服务异常,请重试或联系客服",397003:"服务异常,请重试或联系客服",397004:"服务异常,请重试或联系客服",397005:"设备取流连接断开,请检查网络后重试",397006:"服务异常,请重试或联系客服",397007:"服务异常,请重试或联系客服",399e3:"服务异常,请重试或联系客服",399001:"客户端网络超时",399002:"服务异常,请重试或联系客服",399016:"token失效,请更新并重试",399048:"同时观看人数达到账号最大限制,请联系客服",399049:"免费版并发数达到上限,请升级企业版使用多并发能力",3810001:"操作失败",3810002:"账号异常,操作失败",3810005:"账号异常,操作失败",3820002:"设备不存在,请检查设备连接情况",3820006:"操作失败,请检查设备网络情况",3820007:"操作失败,请检查设备网络情况",3820008:"操作过于频繁,稍后再试",3820014:"操作失败",3820032:"通道不存在请检查设备连接情况",3849999:"操作失败,请重试",386e4:"操作失败,设备不支持该操作",3860001:"操作失败,用户无权限",3860002:"设备已旋转到上限位",3860003:"设备已旋转到下限位",3860004:"设备已旋转到左限位",3860005:"设备已旋转到右限位",3860006:"操作失败,请重试",3860009:"设备正在操作中",3860020:"操作失败",BTN_RETRY:"重试",BTN_RELOAD:"重新加载",LOADING:"加载中,请稍后",TIMEFORMAT_ERROR:"时间格式有误,请确认",USE_MULTITHREADING_WARING:"您当前浏览器可以开启谷歌实验室多线程特性,获取更好播放体验,避免浏览器卡顿及崩溃,详见",OPEN_INSTRUCTIONS:"开启说明",INIT_FINSHED:"初始化播放器完成",INIT_SUCCESS:"初始化播放器成功",GET_PLAYURL_FAILED:"获取播放地址失败",VIDEO_LOADING:"视频加载中",DISCONNECT:"连接断开,请重试",DEVICE_ENCRYPTED:"设备已加密",NO_RECORD:"未找到录像片段",PLAY_FAILED:"播放失败,请检查设备及客户端网络",PLAY_SUCCESS:"播放成功",STOP_SUCCESS:"停止成功",CHANGE_PLAYURL_SUCCESS:"切换播放地址成功",CHANGE_PLAYURL_FAILED:"切换播放地址失败",GET_OSD_TIME:"获取OSD时间",GET_OSD_TIME_FAILED:"获取OSD时间失败",SET_POSTER:"设置播放器封面",RESIZE:"调整播放器尺寸",SPEED:"倍速",SPEED_RATE:"倍",SPEED_CANCEL:"取消",GET_SPEED:"获取当前播放速率",MAX_SPEED_LIMIT:"播放速度最大为4倍速度",MIN_SPEED_LIMIT:"播放速度最小为0.5倍速度",SEEK_CANNOT_CROSS_DAYS:"seek时间不能跨日期",SEEK_TIMEFORMAT_ERROR:"seek时间格式错误",PAUSE:"暂停",PAUSE_FAILED:"暂停失败",RESUME:"恢复播放",RESUME_FAILED:"恢复播放失败",CALL_END:"通话已结束",USER_DO_NOT_OWN_DEVICE:"loadingSetTextWithBtn",NO_CLOUD_RECORD:"该设备在当天没有云录制的录像",CHANGE_VIDEO_LEVEL:"切换清晰度",CHANGE_VIDEO_LEVEL_FAIL:"切换清晰度失败",GET_VIDEO_LEVEL_LIST:"获取设备支持的清晰度列表",PLEASE_INPUT_RIGHT_VIDEO_LEVEL:"请输入正确的清度",VIDEO_LEVEL_NOT_SUPPORT:"当前设备不支持该清晰度",VIDEO_LEVEL_AUTO:"自动",VIDEO_LEVEL_FLUENT:"流畅",VIDEO_LEVEL_STANDARD:"标清",VIDEO_LEVEL_HEIGH:"高清",VIDEO_LEVEL_SUPER:"超清",VIDEO_LEVEL_EXTREME:"极清",VIDEO_LEVEL_3K:"3K",VIDEO_LEVEL_4k:"4K",RESET_THEME:"重置主题",BTN_PLAY:"播放/结束播放",BTN_SOUND:"声音",BTN_RECORDVIDEO:"录屏",BTN_CAPTURE:"截图",BTN_TALK:"对讲",BTN_ZOOM:"电子放大",BTN_3D_ZOOM:"3D定位",BTN_PTZ:"云台控制",BTN_EXPEND:"全局全屏",BTN_WEBEXPEND:"网页全屏",BTN_HD:"画面清晰度",BTN_SPEED:"回放倍速",BTN_CLOUDREC:"云存储回放",BTN_CLOUDRECORD:"云录制",BTN_REC:"本地存储",DEVICE_NAME:"设备名称",DEVICE_ID:"设备序列号",CAPTURE_SUCCESS:"截图成功",CAPTURE_FAILED:"截图失败",START_RECORD_SUCCESS:"开始录制成功",START_RECORD_FAILED:"开始录制失败",STOP_RECORD_SUCCESS:"停止录制成功",STOP_RECORD_FAILED:"停止录制失败",RECORD_TIPS:"今日录像",RECORDS:"个录像",OPEN_SOUND:"开启声音",CLOSE_SOUND:"关闭声音",SOUND_OPENED:"当前已经有画面正在播放声音",ZOOM:"电子放大",START_ZOOM:"开启电子放大",CLOSE_ZOOM:"关闭电子放大",ZOOM_ADD:"+",ZOOM_SUB:"-",ZOOM_ADD_MAX:"已经放大到最大倍数8.0X",ZOOM_SUB_MIN:"已经缩小到最小倍数1.0X",ZOOM_LIMIT_MAX:"超出最大倍率8.0X",ZOOM_LIMIT_MIN:"超出最小倍率1.0X","3D_ZOOM":"3D定位","3D_ZOOM_DISABLE":"未启用3D定位功能","3D_ZOOM_FAILED":"3D定位失败,请重试",START_3D_ZOOM:"开启3D定位",CLOSE_3D_ZOOM:"关闭3D定位",DEVICE_NOT_SUPPORT_3D_ZOOM:"当前设备不支持3D定位功能","3D_ZOOM_ACTIVED":"3D定位已处于开启状态","3D_ZOOM_NOT_ACTIVED":"未启用3D定位功能","3D_ZOOM_CLOSED":"3D定位已处于关闭状态",CHANGE_ZOOM_TYPE:"改变缩放模式",FULLSCREEN:"全局全屏",FULLSCREEN_EXIT:"退出全局全屏",GET_WEB_FULLSCREEN_STATUS:"获取浏览器网页全屏状态",WEB_FULLSCREEN:"开启网页全屏",WEB_FULLSCREEN_EXIT:"退出网页全屏",DESTROY:"销毁",GET_CAPACITY:"获取设备能力级",GET_PTZ_STATUS:"获取当前云台状态",GET_PTZ_STATUS_FAILED:"未加载Theme模块,无法获取云台状态",MOBILE_HIDE_PTZ:"移动端,非全屏状态不展示云台",OPTION_PTZ_FAILED:"未加载Theme模块,无法操作云台",MOBILE_PTZ_TIPS:"请通过操控云台来调整摄像机视角",PTZ_FAST:"快",PTZ_MID:"中",PTZ_SLOW:"慢",PTZ_SPEED:"调整云台转动速度",DEVICE_ZOOM:"控制设备放大/缩小画面",DEVICE_FOCUS:"调整设备焦距",NOT_SUPPORT_DEVICE_ZOOM:"当前设备不支持物理缩放",NOT_SUPPORT_FOCUS:"当前设备不支持变焦",MIRROR:"镜像翻转",MIRROR_TYPE_ERROR:"翻转参数类型错误",CHANGE_FEC_TYPE:"切换鱼眼矫正类型",DEVICE_NOT_SUPPORT:"设备不支持鱼眼模式",TYPE_NOT_SUPPORT:"鱼眼矫正类型暂时不支持",FEC_SUPPORT_VERSION:"当前只有V3软解支持鱼眼矫正",NO_CANVAS_ID:"鱼眼矫正类型需要分屏,但是没有传正确的分屏的canvas id",SET_FEC_PARAMS:"设置3D矫正视角参数",GET_FEC_PARAMS:"获取3D矫正视角参数",SET_FEC_PARAMS_FAILED:"该矫正类型不能设置3D矫正视角参数",GET_FEC_PARAMS_FAILED:"该矫正类型不能获取3D矫正视角参数",GET_FEC_PARAMS_SUPPORT_VERSION:"当前只有V3软解支持鱼眼矫正获取3D矫正视角参数",SET_WATERMARK:"设置水印",TALK_PERMISSION_DENIED:"对讲失败,请检查麦克风权限",TALK_ERROR:"对讲失败,请检查麦克风或网络",TALK_TALKING:"当前已经有设备正在对讲",videoFormat:"编码格式",frameRate:"帧率",systemFormat:"封装格式",resolution:"分辨率",bitrate:"码率",frameLostRate:"丢帧率",lagRate:"卡顿比"},Ra={391001:"Illegal streaming address or port",391004:"Failed to connect to streaming service",395e3:"Internal service exception, please try again later",395400:"Preview streaming parameter exception",395402:"Device has no recording in the current time period, please select another time period",395403:"Service exception, please try again or contact customer service",395404:"The device is not online, Please optimize the network and restart the device to try again",395405:"Device side network is poor, please check and optimize the network and restart the device to try again",395406:"Token expired, please try again",395407:"Client URL format error",395409:"Service exception, please try again or contact customer service",395410:"Service exception, please try again or contact customer service",395411:"No permission to view the current device",395412:"Service exception, please try again or contact customer service",395413:"Service exception, please try again or contact customer service",395415:"Device channel error",395416:"The current number of viewing channels has reached the maximum limit of the device. Please restart the device or contact the device after-sales service",395451:"The device does not support this bitstream type. Please check the device channel support or contact the hardware after-sales service",395452:"The network on the device side is poor. Please check and optimize the network and restart the device to try again",395454:"The network on the device side is poor. Please check and optimize the network and restart the device to try again",395455:"The device channel is abnormal. Please check the channel configuration and try again",395456:"The device channel is abnormal. Please check the channel configuration and try again",395457:"Service exception, please try again or contact customer service",395458:"Service exception, please try again or contact customer service",395459:"Service exception, please try again or contact customer service",395460:"Service exception, please try again or contact customer service",395492:"Service exception, please try again or contact customer service",395500:"Service exception, please try again or contact customer service",395501:"Service exception, please try again or contact customer service",395503:"Service exception, please try again or contact customer service",395504:"Service exception, please try again or contact customer service",395505:"Service exception, please try again or contact customer service",395506:"Direct streaming of this device is not supported at present, please try again or contact customer service after connecting to NVR",395507:"Device 4G unlimited traffic package only supports EZVIZ Cloud Video APP, please contact APP customer service to change the package",395530:"Service exception, please try again or contact customer service",395544:"Video source does not exist, please check device configuration",395545:"Service exception, please try again or contact customer service",395546:"The number of simultaneous viewers has reached the maximum limit of the account, please contact customer service",395547:"The number of simultaneous viewers has reached the maximum limit of the account, please contact customer service",395556:"Service exception, please try again or contact customer service",395557:"Device streaming failed, please contact hardware after-sales",395558:"Error in finding the start time of recording",395560:"Service exception, please try again or contact customer service",395561:"Service exception, please try again or contact customer service",395562:"Service exception, please try again or contact customer service",395563:"Service exception, please try again or contact customer service",395564:"Service exception, please try again or contact customer service",395566:"Service exception, please try again or contact customer service",395567:"Service exception, please try again or contact customer service",395568:"Service exception, please try again or contact customer service",395569:"Service exception, please try again or contact customer service",395600:"Service exception, please try again or contact customer service",395601:"Service exception, please try again or contact customer service",395602:"Service exception, please try again or contact customer service",395610:"Service exception, please try again or contact customer service",395620:"Service exception, please try again or contact customer service",395701:"Service exception, please try again or contact customer service",395702:"Service exception, please try again or contact customer service",395703:"Service exception, please try again or contact customer service",396001:"Service exception, please try again or contact customer service",396099:"Service exception, please try again or contact customer service",396101:"Service exception, please try again or contact customer service",396102:"Service exception, please try again or contact customer service",396103:"Service exception, please try again or contact customer service",396104:"Service exception, please try again or contact customer service",396105:"Device abnormality, please try again or contact customer service",396106:"Device channel abnormality, please check the channel configuration and try again",396107:"Device abnormality, please try again or contact customer service",396108:"Service exception, please try again or contact customer service",396109:"Service exception, please try again or contact customer service",396110:"Device abnormality, please try again or contact customer service",396501:"Device abnormality, please try again or contact customer service",396502:"Device abnormality, please try again or contact customer service",396503:"Device abnormality, please try again or contact customer service",396504:"Device abnormality, please try again or contact customer service",396505:"Device abnormality, please try again or contact customer service",396506:"Device abnormality, please try again or contact customer service",396508:"Device abnormality, please try again or contact customer service",396509:"Device abnormality, please try again or contact customer service",396510:"Device abnormality, please try again or contact customer service",396511:"Device abnormality, please try again or contact customer service",396512:"Device abnormality, please try again or contact customer service",396513:"Device abnormality, please try again or contact customer service",396514:"Device abnormality, please try again or contact customer service",396515:"Device abnormality, please try again or contact customer service",396516:"Device abnormality, please try again or contact customer service",396517:"Device abnormality, please try again or contact customer service",396518:"Device abnormality, please try again or contact customer service",396519:"Device network abnormality, please check and optimize the network and restart the device to try again",396520:"Device network abnormality, please check and optimize the network and restart the device to try again",396700:"Service exception, please try again or contact customer service",396701:"Playback ends",397001:"Service exception, please try again or contact customer service",397002:"Service exception, please try again or contact customer service",397003:"Service exception, please try again or contact customer service",397004:"Service exception, please try again or contact customer service",397005:"Device streaming connection is disconnected, please check the network and try again",397006:"Service exception, please try again or contact customer service",397007:"Service exception, please try again or contact customer service",399e3:"Service exception, please try again or contact customer service",399001:"Client network timeout",399002:"Service exception, please try again or contact customer service",399016:"Token invalid, please update and retry",399048:"The number of simultaneous viewers has reached the maximum account limit, please contact customer service",399049:"The number of simultaneous viewers has reached the maximum account limit, please contact customer service",3810001:"Operation failed",3810002:"Account exception, operation failed",3810005:"Account exception, operation failed",3820002:"Device does not exist, please check the device connection status",3820006:"Operation failed, please check the network condition of the device",3820007:"Operation failed, please check the network condition of the device",3820008:"The operation is too frequent, please try again later",3820014:"Operation failed",3820032:"The channel does not exist. Please check the device connection status",3849999:"Operation failed, please try again",386e4:"Operation failed, the device does not support this operation",3860001:"Operation failed, user does not have permission",3860002:"The device has been rotated to the upper limit position",3860003:"The device has been rotated to the lower limit position",3860004:"The device has rotated to the left limit position",3860005:"The device has been rotated to the right limit position",3860006:"Operation failed, please try again",3860009:"The device is currently in operation",3860020:"Operation failed",BTN_RETRY:"Retry",BTN_RELOAD:"Reload",LOADING:"Loading, please wait",TIMEFORMAT_ERROR:"The time format is wrong, please confirm",USE_MULTITHREADING_WARING:"Your current browser can enable the multi-threaded feature of Google Labs to get a better playback experience and avoid browser freezes and crashes. For details, see:",OPEN_INSTRUCTIONS:"Enablement instructions",INIT_FINSHED:"Initialize the player completed",INIT_SUCCESS:"Initialize the player successfully",GET_PLAYURL_FAILED:"Failed to obtain the playback address",VIDEO_LOADING:"Video loading",DISCONNECT:"Connection disconnected, please try again",DEVICE_ENCRYPTED:"Device encrypted",NO_RECORD:"No video clips found",PLAY_FAILED:"Play failed, please check the device and client network",PLAY_SUCCESS:"Play successfully",STOP_SUCCESS:"Stop successfully",CHANGE_PLAYURL_SUCCESS:"Switch the playback address successfully",CHANGE_PLAYURL_FAILED:"Switch the playback address failed",GET_OSD_TIME:"Get OSD time",GET_OSD_TIME_FAILED:"Failed to get OSD time",SET_POSTER:"Set the player cover",RESIZE:"Adjust the player size",SPEED:"speeds",SPEED_RATE:"X",SPEED_CANCEL:"Cancel",GET_SPEED:"Get the current playback rate",MAX_SPEED_LIMIT:"The maximum playback speed is 4 times the speed",MIN_SPEED_LIMIT:"The minimum playback speed is 0.5 times the speed",SEEK_CANNOT_CROSS_DAYS:"The seek time cannot cross dates",SEEK_TIMEFORMAT_ERROR:"The seek time format is wrong",PAUSE:"Pause",PAUSE_FAILED:"Pause failed",RESUME:"Resume playback",RESUME_FAILED:"Resume playback failed",CALL_END:"Call ended",USER_DO_NOT_OWN_DEVICE:"loadingSetTextWithBtn",NO_CLOUD_RECORD:"The device has no cloud recorded video on that day",CHANGE_VIDEO_LEVEL:"Switch definition",CHANGE_VIDEO_LEVEL_FAIL:"Switch definition failed",GET_VIDEO_LEVEL_LIST:"Get the definition list supported by the device",PLEASE_INPUT_RIGHT_VIDEO_LEVEL:"Please enter the correct definition",VIDEO_LEVEL_NOT_SUPPORT:"The current device does not support this definition",VIDEO_LEVEL_AUTO:"Auto",VIDEO_LEVEL_FLUENT:"Fluent",VIDEO_LEVEL_STANDARD:"Standard",VIDEO_LEVEL_HEIGH:"heigh",VIDEO_LEVEL_SUPER:"Super",VIDEO_LEVEL_EXTREME:"Extreme",VIDEO_LEVEL_3K:"3K",VIDEO_LEVEL_4k:"4K",RESET_THEME:"Reset theme",BTN_PLAY:"Play/end playback",BTN_SOUND:"Sound",BTN_RECORDVIDEO:"Screen recording",BTN_CAPTURE:"Screenshot",BTN_TALK:"Intercom",BTN_ZOOM:"Electronic zoom",BTN_3D_ZOOM:"3D positioning",BTN_PTZ:"PTZ control",BTN_EXPEND:"Global full screen",BTN_WEBEXPEND:"Web page full screen",BTN_HD:"Image definition",BTN_SPEED:"Playback speed",BTN_CLOUDREC:"Cloud storage playback",BTN_CLOUDRECORD:"Cloud recording",BTN_REC:"Local storage",DEVICE_NAME:"Device name",DEVICE_ID:"Device serial number",CAPTURE_SUCCESS:"Screenshot successful",CAPTURE_FAILED:"Screenshot failed",START_RECORD_SUCCESS:"Start recording successful",START_RECORD_FAILED:"Screenshot failed",STOP_RECORD_SUCCESS:"Stop recording successful",STOP_RECORD_FAILED:"Stop recording failed",RECORD_TIPS:"Today's recording",RECORDS:" in total",OPEN_SOUND:"Turn on sound",CLOSE_SOUND:"Turn off sound",SOUND_OPENED:"There is already a picture playing sound at the moment",ZOOM:"Electronic zoom",START_ZOOM:"Turn on electronic zoom",CLOSE_ZOOM:"Turn off electronic zoom",ZOOM_ADD:"+",ZOOM_SUB:"-",ZOOM_ADD_MAX:"It has been enlarged to a maximum magnification of 8.0X",ZOOM_SUB_MIN:"It has been reduced to the minimum multiple of 1.0X",ZOOM_LIMIT_MAX:"Exceeding maximum magnification of 8.0X",ZOOM_LIMIT_MIN:"Exceeding the minimum magnification of 1.0X","3D_ZOOM":"3D positioning","3D_ZOOM_DISABLE":"3D positioning function not enabled","3D_ZOOM_FAILED":"3D positioning failed, please try again",START_3D_ZOOM:"Turn on 3D positioning",CLOSE_3D_ZOOM:"Turn off 3D positioning",DEVICE_NOT_SUPPORT_3D_ZOOM:"Current device does not support 3D positioning function","3D_ZOOM_ACTIVED":"3D positioning is already enabled","3D_ZOOM_NOT_ACTIVED":"3D positioning function is not enabled","3D_ZOOM_CLOSED":"3D positioning is already disabled",CHANGE_ZOOM_TYPE:"Change zoom mode",FULLSCREEN:"Global full screen",FULLSCREEN_EXIT:"Exit global full screen",GET_WEB_FULLSCREEN_STATUS:"Get browser web page full screen status",WEB_FULLSCREEN:"Turn on web page full screen",WEB_FULLSCREEN_EXIT:"Exit full screen webpage",DESTROY:"Destroy",GET_CAPACITY:"Get device capability level",GET_PTZ_STATUS:"Get current PTZ status",GET_PTZ_STATUS_FAILED:"Theme module is not loaded, PTZ status cannot be obtained",MOBILE_HIDE_PTZ:"Mobile terminal, PTZ is not displayed in non-full screen state",OPTION_PTZ_FAILED:"Theme module is not loaded, PTZ cannot be operated",MOBILE_PTZ_TIPS:"Adjust camera angle by manipulating gimbal",PTZ_FAST:"F",PTZ_MID:"M",PTZ_SLOW:"S",PTZ_SPEED:"Adjust the PTZ rotation speed",DEVICE_ZOOM:"Control the device to zoom in/out of the screen",DEVICE_FOCUS:"Adjusting the device's focal length",NOT_SUPPORT_DEVICE_ZOOM:"Device does not support physical zoom",NOT_SUPPORT_FOCUS:"Device does not support adjusting the focal length",MIRROR:"Mirror flip",MIRROR_TYPE_ERROR:"Flip parameter type error",CHANGE_FEC_TYPE:"Switch fisheye correction type",DEVICE_NOT_SUPPORT:"Device does not support fisheye mode",TYPE_NOT_SUPPORT:"Fisheye correction type is not supported temporarily",FEC_SUPPORT_VERSION:"Currently only V3 software solution supports fisheye correction",NO_CANVAS_ID:"Fisheye correction type requires split screen, but the correct split screen canvas id is not passed",SET_FEC_PARAMS:"Set 3D correction perspective parameters",GET_FEC_PARAMS:"Get 3D correction perspective parameters",SET_FEC_PARAMS_FAILED:"This correction type cannot set 3D correction perspective parameters",GET_FEC_PARAMS_FAILED:"This correction type cannot get 3D correction perspective parameters",GET_FEC_PARAMS_SUPPORT_VERSION:"Currently only V3 software solution supports fisheye correction Get 3D correction perspective parameters",SET_WATERMARK:"Set watermark",TALK_PERMISSION_DENIED:"Permission denied",TALK_ERROR:"Talk failed, please check microphone or network",TALK_TALKING:"Currently devices that are talking to each other",videoFormat:"Video format",frameRate:"Frame fate",systemFormat:"System format",resolution:"Resolution",bitrate:"Bitrate",frameLostRate:"Frame Lost rate",lagRate:"Lag rate"}; + */var distExports$2=function(){if(hasRequiredDist$2)return dist$2;function _create_class(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i.5*(_this.zoom-1)?.5*(_this.zoom-1):_this.percentPos[0],translateY=_this.percentPos[1]<0?_this.percentPos[1]<-.5*(_this.zoom-1)?-.5*(_this.zoom-1):_this.percentPos[1]:_this.percentPos[1]>.5*(_this.zoom-1)?.5*(_this.zoom-1):_this.percentPos[1],_this.percentPos=[translateX,translateY]},this.update=function(){_this.container&&(_this.updateTranslate(),_this.container.style.transition="transform ease-out "+_this.transition+"s",_this.container.style.transform="translate3d("+100*_this.percentPos[0]+"%, "+100*_this.percentPos[1]+"%, 0) scale("+_this.zoom+")")},this.setAllowZoom=function(allow){_this.options.allowZoom=allow},this.setZoom=function(zoom,reset){zoom=parseFloat(zoom.toFixed(_this.getPrecision(_this.options.zoomStep))),_this.zoom!==zoom&&(_this.zoom=zoom,_this.update(),null==_this.options.onChange||_this.options.onChange.call(_this.options,+_this.zoom.toFixed(_this.getPrecision(_this.options.zoomStep)),reset))},this.getZoom=function(){return _this.zoom},this.setPos=function(pos){var _this_container,_this_container1,containerWidth=null==(_this_container=_this.container)?void 0:_this_container.clientWidth,containerHeight=null==(_this_container1=_this.container)?void 0:_this_container1.clientHeight;+_this.pos[0]===pos[0]&&+_this.pos[1]===pos[1]||(_this.percentPos=[pos[0]/containerWidth,pos[1]/containerHeight],_this.update(),null==_this.options.onTranslateChange||_this.options.onTranslateChange.call(_this.options,{posX:pos[0],posY:pos[1]}))},this.setTransitionDuration=function(duration){_this.transition=duration,_this.update()},this.setCursor=function(cursor){_this.container&&(_this.container.style.cssText+="cursor:"+cursor+";",_this.cursor=cursor)},this.zoomIn=function(value){var _this_options_max,_this_options_max1,newPosX=_this.pos[0],newPosY=_this.pos[1],prevZoom=_this.zoom,newZoom=prevZoom+value<(null!=(_this_options_max=_this.options.max)?_this_options_max:8)?prevZoom+value:null!=(_this_options_max1=_this.options.max)?_this_options_max1:8;newZoom!==prevZoom&&(newPosX=newPosX*(newZoom-1)/(prevZoom>1?prevZoom-1:prevZoom),newPosY=newPosY*(newZoom-1)/(prevZoom>1?prevZoom-1:prevZoom)),_this.setZoom(newZoom),_this.setPos([newPosX,newPosY]),_this.setTransitionDuration(_this.options.animDuration)},this.zoomOut=function(value){var _this_options_min,_this_options_min1,newPosX=_this.pos[0],newPosY=_this.pos[1],prevZoom=_this.zoom,newZoom=prevZoom-value>(null!=(_this_options_min=_this.options.min)?_this_options_min:1)?prevZoom-value:null!=(_this_options_min1=_this.options.min)?_this_options_min1:1;newZoom!==prevZoom&&(newPosX=newPosX*(newZoom-1)/(prevZoom-1),newPosY=newPosY*(newZoom-1)/(prevZoom-1)),_this.setZoom(newZoom),_this.setPos([newPosX,newPosY]),_this.setTransitionDuration(_this.options.animDuration)},this.zoomToZone=function(relX,relY,relWidth,relHeight){var _this_container;if(_this.container){var _this_options_max,newPosX=_this.pos[0],newPosY=_this.pos[1],parentRect=(null==(_this_container=_this.container)?void 0:_this_container.parentNode).getBoundingClientRect(),prevZoom=_this.zoom,optimalZoomX=parentRect.width/relWidth,optimalZoomY=parentRect.height/relHeight,newZoom=Math.min(optimalZoomX,optimalZoomY,null!=(_this_options_max=_this.options.max)?_this_options_max:8),rect=_this.container.getBoundingClientRect(),_ref=[rect.width/prevZoom/2,rect.height/prevZoom/2],_ref1=[relX+relWidth/2,relY+relHeight/2];newPosX=(_ref[0]-_ref1[0])*newZoom,newPosY=(_ref[1]-_ref1[1])*newZoom,_this.setZoom(newZoom),_this.setPos([newPosX,newPosY]),_this.setTransitionDuration(_this.options.animDuration)}},this.getNewPosition=function(x,y,newZoom){var prevZoom=[_this.zoom,_this.pos[0],_this.pos[1]][0];if(1===newZoom||!_this)return ZOOM_DEFAULT_POSITION;var _ref1=[_this.container.clientWidth,_this.container.clientHeight],clientWidth=_ref1[0],clientHeight=_ref1[1];if(newZoom>prevZoom)return[0,0];var w=-(x-clientWidth/2)/(clientWidth/2)*newZoom/2,h=-(y-clientHeight/2)/(clientHeight/2)*newZoom/2;return w>newZoom/2-.5&&(w=3.5),h>newZoom/2-.5&&(h=3.5),[clientWidth*w,clientHeight*h]},this.fullZoomInOnPosition=function(x,y){var _this_options_max,zoom=null!=(_this_options_max=_this.options.max)?_this_options_max:DefaultOptions.max;_this.setZoom(null!=zoom?zoom:DefaultOptions.max),_this.setPos(_this.getNewPosition(x,y,zoom)),_this.setTransitionDuration(_this.options.animDuration)},this.getLimitedShift=function(shift,minLimit,maxLimit,minElement,maxElement){if(shift>0){if(minElement>minLimit)return 0;if(minElement+shift>minLimit)return minLimit-minElement}else if(shift<0){if(maxElementparentRect.bottom-parentRect.top,shiftVertical>0&&rect.top-parentRect.top<0,shiftVertical<0&&rect.bottom-parentRect.bottom>0]:[rect.width>parentRect.right-parentRect.left,shiftHorizontal>0&&rect.left-parentRect.left<0,shiftHorizontal<0&&rect.right-parentRect.right>0],canMoveOnX=_ref[0]||_ref[1]||_ref[2];canMoveOnX&&(_this.transform?newPosX+=_this.getLimitedShift(shiftVertical,parentRect.top,parentRect.bottom,rect.top,rect.bottom):newPosX+=_this.getLimitedShift(shiftHorizontal,parentRect.left,parentRect.right,rect.left,rect.right));var _ref1=_this.transform?[rect.width>parentRect.right-parentRect.left,shiftHorizontal>0&&rect.right-parentRect.right<0,shiftHorizontal<0&&rect.left-parentRect.left>0]:[rect.height>parentRect.bottom-parentRect.top,shiftVertical>0&&rect.top-parentRect.top<0,shiftVertical<0&&rect.bottom-parentRect.bottom>0],canMoveOnY=_ref1[0]||_ref1[1]||_ref1[2];if(canMoveOnY)if(_this.transform){newPosY+=function(shift,minLimit,maxLimit,minElement,maxElement){if(shift>0){if(maxElementminLimit)return 0;if(minElement+1+shift>minLimit)return minLimit-minElement}return shift}(shiftHorizontal,parentRect.left,parentRect.right,rect.left,rect.right)}else newPosY+=_this.getLimitedShift(shiftVertical,parentRect.top,parentRect.bottom,rect.top,rect.bottom);var cursor=_this.getCursor(canMoveOnX,canMoveOnY);_this.setPos([newPosX,newPosY]),_this.setCursor(cursor),_this.setTransitionDuration(transitionDuration)}},this.isDoubleTapping=function(){var _this_lastTouchTime,_this_options_doubleTouchMaxDelay,_this_lastDoubleTapTime,_this_options_doubleTouchMaxDelay1,touchTime=(new Date).getTime();return touchTime-(null!=(_this_lastTouchTime=_this.lastTouchTime)?_this_lastTouchTime:0)<(null!=(_this_options_doubleTouchMaxDelay=_this.options.doubleTouchMaxDelay)?_this_options_doubleTouchMaxDelay:300)&&touchTime-(null!=(_this_lastDoubleTapTime=_this.lastDoubleTapTime)?_this_lastDoubleTapTime:0)>(null!=(_this_options_doubleTouchMaxDelay1=_this.options.doubleTouchMaxDelay)?_this_options_doubleTouchMaxDelay1:750)?(_this.lastDoubleTapTime=touchTime,!0):(_this.lastTouchTime=touchTime,!1)},this.startDeceleration=function(lastShiftOnX,lastShiftOnY){var startTimestamp=null,startDecelerationMove=function(timestamp){null===startTimestamp&&(startTimestamp=timestamp);var _this_options_decelerationDuration,_this_options_decelerationDuration1,_this_options_decelerationDuration2,progress=timestamp-startTimestamp,ratio=((null!=(_this_options_decelerationDuration=_this.options.decelerationDuration)?_this_options_decelerationDuration:750)-progress)/(null!=(_this_options_decelerationDuration1=_this.options.decelerationDuration)?_this_options_decelerationDuration1:750),_ref=[lastShiftOnX*ratio,lastShiftOnY*ratio],shiftX=_ref[0],shiftY=_ref[1];progress<(null!=(_this_options_decelerationDuration2=_this.options.decelerationDuration)?_this_options_decelerationDuration2:750)&&Math.max(Math.abs(shiftX),Math.abs(shiftY))>1?(_this.move(shiftX,shiftY,0),_this.lastRequestAnimationId=requestAnimationFrame(startDecelerationMove)):_this.lastRequestAnimationId=null};_this.lastRequestAnimationId=requestAnimationFrame(startDecelerationMove)},this.reset=function(){_this.setZoom(_this.options.initialZoom,!0),_this.cursor=_this.options.defaultCursor,_this.setTransitionDuration(_this.options.animDuration),_this.setPos(ZOOM_DEFAULT_POSITION)},this.addScale=function(scale){void 0===scale&&(scale=1),_this.handleZoomAdd(scale)},this.handleZoomAdd=function(scale){if(void 0===scale&&(scale=1),_this.options.allowZoom&&_this.options.allowWheel){var _this_options_max,newZoom=parseFloat((_this.zoom+scale).toFixed(_this.getPrecision(_this.options.zoomStep)));newZoom>(null!=(_this_options_max=_this.options.max)?_this_options_max:8)&&(newZoom=8),_this.setZoom(newZoom),_this.setPos(_this.pos),_this.setTransitionDuration(.05)}},this.subScale=function(scale){void 0===scale&&(scale=1),_this.handleZoomSub(scale)},this.handleZoomSub=function(scale){if(void 0===scale&&(scale=1),_this.options.allowZoom&&_this.options.allowWheel){var newZoom=parseFloat((_this.zoom-scale).toFixed(_this.getPrecision(_this.options.zoomStep)));newZoom<1&&(newZoom=1),_this.setZoom(newZoom),_this.setPos(_this.pos),_this.setTransitionDuration(.05)}},this.handleMouseWheel=function(event){if(event.preventDefault(),_this.options.allowZoom&&_this.options.allowWheel){var _this_options_max,_this_options_min,velocity=event.deltaY<0?_this.options.scrollVelocity:0-_this.options.scrollVelocity,newZoom=parseFloat(Math.max(Math.min(_this.zoom+velocity,null!=(_this_options_max=_this.options.max)?_this_options_max:8),null!=(_this_options_min=_this.options.min)?_this_options_min:1).toFixed(_this.getPrecision(_this.options.zoomStep)));_this.setZoom(newZoom),_this.setTransitionDuration(.05)}},this.handleMouseStart=function(event){var _this_options_ignoredMouseButtons;event.preventDefault(),_this.options.allowPan&&!(null==(_this_options_ignoredMouseButtons=_this.options.ignoredMouseButtons)?void 0:_this_options_ignoredMouseButtons.includes(event.button))&&(_this._dragging=!0,_this.lastRequestAnimationId&&cancelAnimationFrame(_this.lastRequestAnimationId),_this.lastCursor=_this.getCoordinates(event))},this.handleMouseMove=function(event){event.preventDefault(),_this.options.allowPan&&_this.lastCursor&&_this._dragging&&_this._touchOrMouseDrag(event)},this.handleMouseStop=function(event){event.preventDefault(),_this.lastShift&&(_this.startDeceleration(_this.lastShift[0],_this.lastShift[1]),_this.lastShift=null),_this.lastCursor=null,_this.setCursor("auto"),_this._dragging=!1},this.handleTouchStart=function(event){var isThisDoubleTapping=_this.isDoubleTapping();_this.isMultiTouch=event.touches.length,_this.options.allowTouchEvents||event.preventDefault(),_this.lastRequestAnimationId&&cancelAnimationFrame(_this.lastRequestAnimationId);var _this_getCoordinates=_this.getCoordinates(event.touches[0]),posX=_this_getCoordinates[0],posY=_this_getCoordinates[1];if(_this.isMultiTouch>1)_this.lastCursor=[posX,posY];else if(isThisDoubleTapping&&_this.options.allowZoom)if(1===_this.zoom){var _this_container_getBoundingClientRect=_this.container.getBoundingClientRect();_this_container_getBoundingClientRect.top,_this_container_getBoundingClientRect.left;var ref,ref1,x=_this_container_getBoundingClientRect.x,y=_this_container_getBoundingClientRect.y;posX=(ref1=[posX-(x=(ref=_this.transform?[y,x]:[x,y])[0]),posY-(y=ref[1])])[0],posY=ref1[1],_this.fullZoomInOnPosition(posX,posY)}else _this.reset();else _this._tapStartTime=(new Date).getTime(),_this.options.allowPan&&(_this.lastCursor=[posX,posY])},this.handleTouchMove=function(event){if(_this.options.allowTouchEvents||event.preventDefault(),_this.lastCursor)if(1===_this.isMultiTouch)_this._touchOrMouseDrag(event.touches[0]),_this.lastTouchDistance=null;else if(_this.isMultiTouch>1){var newZoom=_this.zoom,_this_getCoordinates=_this.getCoordinates(event.touches[0]),pos1X=_this_getCoordinates[0],pos1Y=_this_getCoordinates[1],_this_getCoordinates1=_this.getCoordinates(event.touches[1]),pos2X=_this_getCoordinates1[0],pos2Y=_this_getCoordinates1[1],distance=Math.sqrt(Math.pow(pos2X-pos1X,2)+Math.pow(pos2Y-pos1Y,2));if(_this.lastTouchDistance&&distance&&distance!==_this.lastTouchDistance){var _this_options_max,_this_options_min,_this_options_max1;if(_this.options.allowZoom)if((newZoom+=(distance-_this.lastTouchDistance)/100)>(null!=(_this_options_max=_this.options.max)?_this_options_max:8))newZoom=null!=(_this_options_max1=_this.options.max)?_this_options_max1:8;else if(newZoom<(null!=(_this_options_min=_this.options.min)?_this_options_min:1)){var _this_options_min1;newZoom=null!=(_this_options_min1=_this.options.min)?_this_options_min1:1}_this.setZoom(newZoom),_this.setTransitionDuration(0)}_this.lastCursor=[pos1X,pos1Y],_this.lastTouchDistance=distance}},this.handleTouchStop=function(){_this.lastShift&&(_this.startDeceleration(_this.lastShift[0],_this.lastShift[1]),_this.lastShift=null),_this._tapStartTime&&(new Date).getTime()-_this._tapStartTime<200&&(null==_this.options.onTap||_this.options.onTap.call(_this.options)),_this._tapStartTime=void 0,_this.lastCursor=null,_this.lastTouchDistance=null,_this.isMultiTouch=0},this.container=container,this.options=Object.assign({},DefaultOptions,options||{}),this.percentPos=ZOOM_DEFAULT_POSITION,this.transition=this.options.animDuration,this.zoom=1,this.cursor="auto",this.lastCursor=[0,0],this.lastShift=null,this.lastTouchDistance=null,this.lastRequestAnimationId=null,this.lastTouchTime=(new Date).getTime(),this.lastDoubleTapTime=(new Date).getTime(),this.transform=!1,this.isMultiTouch=1,this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseStart=this.handleMouseStart.bind(this),this.handleMouseStop=this.handleMouseStop.bind(this),this.handleMouseWheel=this.handleMouseWheel.bind(this),this.handleTouchStart=this.handleTouchStart.bind(this),this.handleTouchMove=this.handleTouchMove.bind(this),this.handleTouchStop=this.handleTouchStop.bind(this),this.getZoom=this.getZoom.bind(this),this.setZoom=this.setZoom.bind(this)}var _proto=Zoom.prototype;return _proto.setUpEventListeners=function(){var refCurrentValue=this.container;window.matchMedia("(pointer: fine)").matches?(this.options.allowWheel&&(null==refCurrentValue||refCurrentValue.addEventListener("wheel",this.handleMouseWheel,{passive:!1})),null==refCurrentValue||refCurrentValue.addEventListener("mousedown",this.handleMouseStart,{passive:!1}),null==refCurrentValue||refCurrentValue.addEventListener("mousemove",this.handleMouseMove,{passive:!1}),null==refCurrentValue||refCurrentValue.addEventListener("mouseup",this.handleMouseStop,{passive:!1}),null==refCurrentValue||refCurrentValue.addEventListener("mouseleave",this.handleMouseStop,{passive:!1})):(null==refCurrentValue||refCurrentValue.addEventListener("touchstart",this.handleTouchStart,{passive:!1}),null==refCurrentValue||refCurrentValue.addEventListener("touchmove",this.handleTouchMove,{passive:!1}),null==refCurrentValue||refCurrentValue.addEventListener("touchend",this.handleTouchStop,{passive:!1}),null==refCurrentValue||refCurrentValue.addEventListener("touchcancel",this.handleTouchStop,{passive:!1}))},_proto.removeEventListeners=function(){var refCurrentValue=this.container;window.matchMedia("(pointer: fine)").matches?(this.options.allowWheel&&(null==refCurrentValue||refCurrentValue.removeEventListener("wheel",this.handleMouseWheel)),null==refCurrentValue||refCurrentValue.removeEventListener("mousedown",this.handleMouseStart),null==refCurrentValue||refCurrentValue.removeEventListener("mousemove",this.handleMouseMove),null==refCurrentValue||refCurrentValue.removeEventListener("mouseup",this.handleMouseStop),null==refCurrentValue||refCurrentValue.removeEventListener("mouseleave",this.handleMouseStop)):(null==refCurrentValue||refCurrentValue.removeEventListener("touchstart",this.handleTouchStart),null==refCurrentValue||refCurrentValue.removeEventListener("touchmove",this.handleTouchMove),null==refCurrentValue||refCurrentValue.removeEventListener("touchend",this.handleTouchStop),null==refCurrentValue||refCurrentValue.removeEventListener("touchcancel",this.handleTouchStop))},_proto.getPrecision=function(value){void 0===value&&(value=1);var valueStr=value.toString();return valueStr.includes(".")?valueStr.split(".")[1].length:1},_proto.getCoordinates=function(event){var clientHeight=this.container.clientHeight,clientTop=this.container.clientTop,clientLeft=this.container.clientLeft,_ref=this.transform?[event.clientY,clientHeight-event.clientX]:[event.clientX-clientTop,event.clientY-clientLeft];return[_ref[0],_ref[1]]},_proto._touchOrMouseDrag=function(event){if(this.lastCursor){var _this_getCoordinates=this.getCoordinates(event),posX=_this_getCoordinates[0],posY=_this_getCoordinates[1],shiftX=posX-this.lastCursor[0],shiftY=posY-this.lastCursor[1];this.move(shiftX,shiftY,0),this.lastCursor=[posX,posY],this.lastShift=[shiftX,shiftY]}},_create_class(Zoom,[{key:"pos",get:function(){return[this.container.clientWidth*this.percentPos[0],this.container.clientHeight*this.percentPos[1]]}}]),Zoom}();return Zoom.VERSION="0.0.2",dist$2=Zoom}(),Zoom=getDefaultExportFromCjs(distExports$2);function _extends$h(){return _extends$h=Object.assign||function(target){for(var i=1;i0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]\n
\n
\n
\n
\n
\n
\n
\n
\n ',this.$container.appendChild(this.$content),this._addEventListener()},_proto._addEventListener=function(){var $warp=this.$content.querySelector(".ez-mobile-ptz-wrap"),touchstart="PointerEvent"in window?"pointerdown":"touchstart",touchend="PointerEvent"in window?"pointerup":"touchend";$warp&&($warp.addEventListener(touchstart,this._touchstart),$warp.addEventListener(touchend,this._touchend))},_proto._touchstart=function(e){e.preventDefault(),this._handlePtzTouch(e,"start")},_proto._touchend=function(e){e.preventDefault(),this._handlePtzTouch(e,"stop")},_proto._removeEventListener=function(){var $warp=this.$content.querySelector(".ez-mobile-ptz-wrap"),touchstart="PointerEvent"in window?"pointerdown":"touchstart",touchend="PointerEvent"in window?"pointerup":"touchend";$warp&&($warp.removeEventListener(touchstart,this._touchstart),$warp.removeEventListener(touchend,this._touchend))},_proto._handlePtzTouch=function(e,type){var _this_options_token_deviceToken,_this_options_token,_e_changedTouches_,_e_changedTouches_1,_this_options_env,_this_options_token_deviceToken1,_this_options_token1;if(!this.options.accessToken&&!(null==(_this_options_token=this.options.token)||null==(_this_options_token_deviceToken=_this_options_token.deviceToken)?void 0:_this_options_token_deviceToken.video))throw new Error("Ptz accessToken or token.deviceToken.video is required");var _this_options_env1,$warp=this.$content.querySelector(".ez-mobile-ptz-wrap"),rect=$warp.getBoundingClientRect(),containerCenterX=rect.left+130,containerCenterY=rect.top+130,left=(e.x||(null==(_e_changedTouches_=e.changedTouches[0])?void 0:_e_changedTouches_.clientX))-containerCenterX,top=(e.y||(null==(_e_changedTouches_1=e.changedTouches[0])?void 0:_e_changedTouches_1.clientY))-containerCenterY,direction=0,url=(null==(_this_options_env=this.options.env)?void 0:_this_options_env.domain)+"/api/lapp/device/ptz/start",token=this.options.accessToken||(null==(_this_options_token1=this.options.token)||null==(_this_options_token_deviceToken1=_this_options_token1.deviceToken)?void 0:_this_options_token_deviceToken1.video),$icons=$warp.querySelectorAll(".ez-mobile-ptz-icon");(Math.abs(left)>Math.abs(top)?left>0?(direction=3,$icons[3].className=$icons[3].className.replace("ez-mobile-ptz-default","ez-mobile-ptz-active")):(direction=2,$icons[1].className=$icons[1].className.replace("ez-mobile-ptz-default","ez-mobile-ptz-active")):top>0?(direction=1,$icons[2].className=$icons[2].className.replace("ez-mobile-ptz-default","ez-mobile-ptz-active")):(direction=0,$icons[0].className=$icons[0].className.replace("ez-mobile-ptz-default","ez-mobile-ptz-active")),$warp.style.cssText="background-image:linear-gradient("+(0===direction?180:1===direction?0:2===direction?90:270)+"deg, #c0ddf1 0%, rgba(100,143,252,0.00) 50%)","stop"===type)&&(url=(null==(_this_options_env1=this.options.env)?void 0:_this_options_env1.domain)+"/api/lapp/device/ptz/stop",$warp.style.cssText="",$icons[3].className=$icons[3].className.replace("ez-mobile-ptz-active","ez-mobile-ptz-default"),$icons[1].className=$icons[1].className.replace("ez-mobile-ptz-active","ez-mobile-ptz-default"),$icons[2].className=$icons[2].className.replace("ez-mobile-ptz-active","ez-mobile-ptz-default"),$icons[0].className=$icons[0].className.replace("ez-mobile-ptz-active","ez-mobile-ptz-default"));var operationResultCb=null==this.options.onDirection?void 0:this.options.onDirection.call(this.options,{direction:direction,speed:this.speed,type:type}),data=new FormData;data.append("deviceSerial",this.options.deviceSerial+""),data.append("channelNo",this.options.channelNo+""),data.append("speed","1"),data.append("direction",direction+""),data.append("accessToken",token),fetch(url,{method:"POST",body:data}).then((function(response){return response.json()})).then((function(rt){200===rt.code||[60005,60002,60003,60004].includes(+rt.code)&&($warp.style.cssText="background-image:linear-gradient("+(0===direction?180:1===direction?0:2===direction?90:270)+"deg, #f45656 0%, rgba(100,143,252,0.00) 50%)"),null==operationResultCb||operationResultCb(rt)})).catch((function(err){})).finally((function(){operationResultCb=null}))},MobilePtz}(BasePtz);function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))}}function _create_class(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]\n
\n
\n
\n
\n
\n
\n
\n
\n ',_this._$wrapper.appendChild(_this._$directionCircleContainer),_this._$speedContainer=document.createElement("div"),_this._$speedContainer.classList.add("ez-ptz-speed-container"),_this._$speedContainer.innerHTML='\n
\n
\n
\n
\n
\n
\n
\n
\n '+_this.locale.PTZ_SLOW+'\n
\n
\n '+_this.locale.PTZ_MID+'\n
\n
\n '+_this.locale.PTZ_FAST+"\n
\n
\n
\n ",_this._$wrapper.appendChild(_this._$speedContainer),_this._$btnContainer=document.createElement("div"),_this._$btnContainer.classList.add("ez-ptz-btn-container"),_this._$btnContainer.innerHTML='\n
\n
\n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n ',_this._$wrapper.appendChild(_this._$btnContainer),container.appendChild(_this._$wrapper),_this._$directionCircleContainer.onmousedown=function(e){e.preventDefault(),e.stopPropagation(),_this._handlePtzTouch(e,"start")},_this._$directionCircleContainer.onmouseup=function(e){e.preventDefault(),e.stopPropagation(),_this._handlePtzTouch(e,"stop")},_this._$directionCircleContainer.ontouchstart=function(e){e.preventDefault(),e.stopPropagation(),_this._handlePtzTouch(e,"start")},_this._$directionCircleContainer.ontouchend=function(e){e.preventDefault(),e.stopPropagation(),_this._handlePtzTouch(e,"stop")},_this._onSwitchSpeed=function(e){var list=Array.from(_this._$speedContainer.querySelectorAll(".ez-ptz-speed-progress-line-dot"));if(list.includes(e.target)&&!e.target.classList.contains("ez-ptz-speed-active")){list.forEach((function(item){item===e.target?item.classList.add("ez-ptz-speed-active"):item.classList.remove("ez-ptz-speed-active")}));var value=e.target.getAttribute("data-value"),index=e.target.getAttribute("data-index");_this.speed=+value,null==_this.options.onSpeedChange||_this.options.onSpeedChange.call(_this.options,+index)}},_this._$speedContainer.onmouseup=_this._onSwitchSpeed,_this._isMobile&&(_this._$speedContainer.ontouchend=_this._onSwitchSpeed),_this._$btnContainer.querySelector(".ez-ptz-btn-zoom-add")&&(_this._$btnContainer.querySelector(".ez-ptz-btn-zoom-add").onmousedown=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("zoom","add","start")},_this._$btnContainer.querySelector(".ez-ptz-btn-zoom-add").onmouseup=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("zoom","add","stop")}),_this._$btnContainer.querySelector(".ez-ptz-btn-zoom-sub")&&(_this._$btnContainer.querySelector(".ez-ptz-btn-zoom-sub").onmousedown=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("zoom","sub","start")},_this._$btnContainer.querySelector(".ez-ptz-btn-zoom-sub").onmouseup=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("zoom","sub","stop")}),_this._$btnContainer.querySelector(".ez-ptz-btn-focal-add")&&(_this._$btnContainer.querySelector(".ez-ptz-btn-focal-add").onmousedown=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("focal","add","start")},_this._$btnContainer.querySelector(".ez-ptz-btn-focal-add").onmouseup=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("focal","add","stop")}),_this._$btnContainer.querySelector(".ez-ptz-btn-focal-sub")&&(_this._$btnContainer.querySelector(".ez-ptz-btn-focal-sub").onmousedown=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("focal","sub","start")},_this._$btnContainer.querySelector(".ez-ptz-btn-focal-sub").onmouseup=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("focal","sub","stop")}),_this._isMobile&&(_this._$btnContainer.querySelector(".ez-ptz-btn-zoom-add")&&(_this._$btnContainer.querySelector(".ez-ptz-btn-zoom-add").ontouchstart=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("zoom","add","start")},_this._$btnContainer.querySelector(".ez-ptz-btn-zoom-add").ontouchend=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("zoom","add","stop")}),_this._$btnContainer.querySelector(".ez-ptz-btn-zoom-sub")&&(_this._$btnContainer.querySelector(".ez-ptz-btn-zoom-sub").ontouchstart=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("zoom","sub","start")},_this._$btnContainer.querySelector(".ez-ptz-btn-zoom-sub").ontouchend=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("zoom","sub","stop")}),_this._$btnContainer.querySelector(".ez-ptz-btn-focal-add")&&(_this._$btnContainer.querySelector(".ez-ptz-btn-focal-add").ontouchstart=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("focal","add","start")},_this._$btnContainer.querySelector(".ez-ptz-btn-focal-add").ontouchend=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("focal","add","stop")}),_this._$btnContainer.querySelector(".ez-ptz-btn-focal-sub")&&(_this._$btnContainer.querySelector(".ez-ptz-btn-focal-sub").ontouchstart=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("focal","sub","start")},_this._$btnContainer.querySelector(".ez-ptz-btn-focal-sub").ontouchend=function(e){e.preventDefault(),e.stopPropagation(),_this._handleBtnTouch("focal","sub","stop")})),_this}!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_set_prototype_of(subClass,superClass)}(Ptz,BasePtz);var _proto=Ptz.prototype;return _proto.destroy=function(){this._clearTimer&&(clearTimeout(this._clearTimer),this._clearTimer=null),this._$directionCircleContainer&&(this._$directionCircleContainer.remove(),this._$directionCircleContainer=null),this._$speedContainer&&(this._onSwitchSpeed=null,this._$speedContainer.remove(),this._$speedContainer=null),this._$btnContainer&&(this._$btnContainer.remove(),this._$btnContainer=null),this._$wrapper&&(this._$wrapper.remove(),this._$wrapper=null),BasePtz.prototype.destroy.call(this)},_proto._handlePtzTouch=function(e,type){var _this_options_token_deviceToken,_this_options_token,_this_options_env,_this_options_token_deviceToken1,_this_options_token1,_this=this;if(!this.options.accessToken&&!(null==(_this_options_token=this.options.token)||null==(_this_options_token_deviceToken=_this_options_token.deviceToken)?void 0:_this_options_token_deviceToken.video))throw new Error("Ptz accessToken or token.deviceToken.video is required");this._ptzQueue||(this._ptzQueue=Promise.resolve());var container=this._$directionCircleContainer.getBoundingClientRect(),containerCenterX=container.left+(this._$directionCircleContainer.clientWidth+2)/2,containerCenterY=container.top+(this._$directionCircleContainer.clientHeight+2)/2,eventX=e.x||e.changedTouches[0].clientX,eventY=e.y||e.changedTouches[0].clientY,direction=0,url=(null==(_this_options_env=this.options.env)?void 0:_this_options_env.domain)+"/api/lapp/device/ptz/start",token=this.options.accessToken||(null==(_this_options_token1=this.options.token)||null==(_this_options_token_deviceToken1=_this_options_token1.deviceToken)?void 0:_this_options_token_deviceToken1.video),backDeg=0;function getAreaId(x,y){var rad=Math.atan2(y,x);rad<0&&(rad+=2*Math.PI);var deg=rad*(180/Math.PI)-225-12.5;return deg<0&&(deg+=360),Math.floor(deg/45)+1}var _this_options_env1,left=eventX-containerCenterX,top=eventY-containerCenterY;if(this.isRotate)switch(getAreaId(left,top)){case 1:direction=2,backDeg=90;break;case 2:direction=4,backDeg=135;break;case 3:direction=0,backDeg=180;break;case 4:direction=6,backDeg=225;break;case 5:direction=3,backDeg=270;break;case 6:direction=7,backDeg=315;break;case 7:direction=1,backDeg=0;break;case 8:direction=5,backDeg=45}else switch(getAreaId(left,top)){case 1:direction=0,backDeg=180;break;case 2:direction=6,backDeg=225;break;case 3:direction=3,backDeg=270;break;case 4:direction=7,backDeg=315;break;case 5:direction=1,backDeg=0;break;case 6:direction=5,backDeg=45;break;case 7:direction=2,backDeg=90;break;case 8:direction=4,backDeg=135}(this._clearTimer&&(clearTimeout(this._clearTimer),this._clearTimer=null),this._$directionCircleContainer.style.cssText="start"===type?"background-image:linear-gradient("+backDeg+"deg, #4277FF 0%, rgba(100,143,252,0.00) 30%)":"","stop"===type)&&(url=(null==(_this_options_env1=this.options.env)?void 0:_this_options_env1.domain)+"/api/lapp/device/ptz/stop");var operationResultCb=null==this.options.onDirection?void 0:this.options.onDirection.call(this.options,{areaId:getAreaId(left,top),direction:direction,backDeg:backDeg,isRotate:this.isRotate,speed:this.speed,type:type}),data=new FormData;data.append("deviceSerial",this.options.deviceSerial+""),data.append("channelNo",this.options.channelNo+""),data.append("speed",this.speed+""),data.append("direction",direction+""),data.append("accessToken",token),this._ptzQueue=this._ptzQueue.then((function(){return _async_to_generator((function(){var _this;return _ts_generator(this,(function(_state){switch(_state.label){case 0:return _this=this,[4,fetch(url,{method:"POST",body:data}).then((function(response){return _async_to_generator((function(){return _ts_generator(this,(function(_state){switch(_state.label){case 0:return[4,response.json()];case 1:return[2,_state.sent()]}}))}))()})).then((function(rt){var _rt_result;null==operationResultCb||operationResultCb(rt);var code=rt.code||(null==rt||null==(_rt_result=rt.result)?void 0:_rt_result.code);return[6e4,60001,60002,60003,60004,60005,60006,10002].includes(+code)&&(_this._$directionCircleContainer.style.cssText="background-image:linear-gradient("+backDeg+"deg, #f45656 0%, rgba(100,143,252,0.00) 30%)"),rt})).catch((function(err){})).finally((function(){operationResultCb=null,"stop"===type&&(_this._clearTimer=setTimeout((function(){_this._$directionCircleContainer.style.cssText=""}),1e3))}))];case 1:return[2,_state.sent()]}}))})).call(_this)})),"stop"===type&&(this._ptzQueue=this._ptzQueue.finally((function(){})))},_proto._handleBtnTouch=function(btn,option,type){var _this_options_token,_this_options_env,_this_options_token_deviceToken,_this_options_token1,_this=this;if(!this.options.accessToken&&!(null==(_this_options_token=this.options.token)?void 0:_this_options_token.deviceToken.video))throw new Error("Ptz accessToken or token.deviceToken.video is required");this._ptzOperation||(this._ptzOperation=Promise.resolve());var direction=8;direction="zoom"===btn?"add"===option?8:9:"add"===option?10:11;var _this_options_env1,url=(null==(_this_options_env=this.options.env)?void 0:_this_options_env.domain)+"/api/lapp/device/ptz/start",token=this.options.accessToken||(null==(_this_options_token1=this.options.token)||null==(_this_options_token_deviceToken=_this_options_token1.deviceToken)?void 0:_this_options_token_deviceToken.video);"stop"===type&&(url=(null==(_this_options_env1=this.options.env)?void 0:_this_options_env1.domain)+"/api/lapp/device/ptz/stop");var operationResultCb=null==this.options.onDirection?void 0:this.options.onDirection.call(this.options,{btn:btn,option:option,type:type}),data=new FormData;data.append("deviceSerial",this.options.deviceSerial+""),data.append("channelNo",this.options.channelNo+""),data.append("speed",this.speed+""),data.append("direction",direction+""),data.append("accessToken",token),this._ptzOperation=this._ptzOperation.then((function(){return _async_to_generator((function(){return _ts_generator(this,(function(_state){switch(_state.label){case 0:return[4,fetch(url,{method:"POST",body:data}).then((function(response){return _async_to_generator((function(){return _ts_generator(this,(function(_state){switch(_state.label){case 0:return[4,response.json()];case 1:return[2,_state.sent()]}}))}))()})).then((function(rt){return null==operationResultCb||operationResultCb(rt),rt})).catch((function(err){})).finally((function(){operationResultCb=null}))];case 1:return[2,_state.sent()]}}))}))()})),"stop"===type&&(this._ptzOperation=this._ptzOperation.finally((function(){_this._ptzOperation=null})))},_create_class(Ptz,[{key:"isRotate",get:function(){return this._isRotate},set:function(isRotate){this._isRotate=isRotate}}]),Ptz}(BasePtz);return dist$1$1.BasePtz=BasePtz,dist$1$1.MobilePtz=MobilePtz,dist$1$1.Ptz=Ptz,dist$1$1}();function _create_class$4(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i'+formatTime(this._seconds)+"";var $time=this._timerNode.querySelector(".ezplayer-record-timer-time");this._timer=setInterval((function(){_this._seconds++,_this._seconds>=_this._options.maxDuration?_this._destroyTimer():$time&&($time.innerHTML=""+formatTime(_this._seconds))}),1e3)},_proto.reset=function(){this.active&&(this.active=!1,Control.prototype.reset.call(this))},_proto.destroy=function(){this._destroyTimer(),Control.prototype.destroy.call(this)},_proto._destroyTimer=function(){this._seconds=0,this._timer&&(clearInterval(this._timer),this._timer=null),this._timerNode&&(this._timerNode.remove(),this._timerNode=null),this._active=!1},_proto._onControlClick=function(e){this.active=!this.active,Control.prototype._onControlClick.call(this,e)},_create_class$3(Record,[{key:"active",get:function(){return this._active},set:function(active){this._disabled&&!this._active||this._active!==active&&(this._active=active,this._updateActiveState(active),this.active?this._renderTimer():this._destroyTimer(),this.emit(EVENTS$1.control.recordingChange,this._active))}}]),Record}(Control);function asyncGeneratorStep$2$1(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _create_class$2(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]1)){this._value=value;var gainType="silent";value>0&&value<.25?gainType="low":value>=.25&&value<.5?gainType="normal":value>=.5&&value<.75?gainType="high":value>=.75&&(gainType="deafening");var className=Array.from(this.$container.classList).find((function(className){return className.startsWith("ezplayer-talk-gain-")}));className&&this.$container.classList.remove(className),this.$container.classList.add("ezplayer-talk-gain-"+gainType)}}}]),Talk}(Control);function _create_class$1(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i"+(label||"")+""},onChange:function(){},onOpenChange:function(){}},Select=function(Control){function Select(options){var _this,_this__options_fieldNames,_this__picker_$body,_this__options_fieldNames_value;(_this=Control.call(this,_extends$8$1({tagName:"span",type:"button",controlType:"button"},SELECT_DEFAULT_OPTIONS,options))||this)._options=deepmerge(SELECT_DEFAULT_OPTIONS,options,{clone:!1}),_this.list=options.list||[],void 0===options.value&&null===options.value||(_this._value=options.value+"");var valueKey=null!=(_this__options_fieldNames_value=null==(_this__options_fieldNames=_this._options.fieldNames)?void 0:_this__options_fieldNames.value)?_this__options_fieldNames_value:"value";return _this._picker=new Picker(_this.$container,{getPopupContainer:function(){return Utils.isMobile?options.rootContainer:_this.$container},trigger:Utils.isMobile?"click":"hover",isMobile:Utils.isMobile,wrapClassName:"ezplayer-select-picker ezplayer-select-"+options.classNameSuffix,open:_this._options.open,offset:[0,-10],placement:"top",onOpenChange:function(open){var item=_this.list.find((function(item){return item[valueKey]+""===_this.value}));null==_this._options.onOpenChange||_this._options.onOpenChange.call(_this._options,open,_this.value,item)}}),_this.list&&_this.updateOptions(_this.list),_this._onSelectChange(),_this._activeOption(),_this._onDBlPanelClick=_this._onDBlPanelClick.bind(_this),null==(_this__picker_$body=_this._picker.$body)||_this__picker_$body.addEventListener("dblclick",_this._onDBlPanelClick),_this}!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_set_prototype_of$9(subClass,superClass)}(Select,Control);var _proto=Select.prototype;return _proto.updateOptions=function(list){var _this=this;if(void 0===list&&(list=[]),(null==list?void 0:list.length)>0&&this._picker){var _this__options_fieldNames,_this__options_fieldNames1,_this_locale,_this__picker,_this__options_fieldNames_label,_this__options_fieldNames_value,labelKey=null!=(_this__options_fieldNames_label=null==(_this__options_fieldNames=this._options.fieldNames)?void 0:_this__options_fieldNames.label)?_this__options_fieldNames_label:"label",valueKey=null!=(_this__options_fieldNames_value=null==(_this__options_fieldNames1=this._options.fieldNames)?void 0:_this__options_fieldNames1.value)?_this__options_fieldNames_value:"value";null==(_this__picker=this._picker)||_this__picker.innerHTML('
\n
    \n '+list.map((function(item){return'\n
  • \n '+item[labelKey]+"\n
  • \n "})).join("")+"\n
\n "+(Utils.isMobile?'
\n '+((null==(_this_locale=this.locale)?void 0:_this_locale.cancel)||"取消")+"\n
":"")+"\n "+(Utils.isMobile?''+IconComponents_close()+"":"")+"\n
"),this.list=list,this._activeOption()}else if(0===(null==list?void 0:list.length)){var _this__picker_innerHTML,_this__picker1;null==(_this__picker1=this._picker)||null==(_this__picker_innerHTML=_this__picker1.innerHTML)||_this__picker_innerHTML.call(_this__picker1,"")}},_proto._render=function(item){var _this__options_fieldNames;if(0!==this.list.length){var _this__options_fieldNames_label,labelKey=null!=(_this__options_fieldNames_label=null==(_this__options_fieldNames=this._options.fieldNames)?void 0:_this__options_fieldNames.label)?_this__options_fieldNames_label:"label";if(this.$container.querySelector(".ezplayer-select-btn"))this.$container.querySelector(".ezplayer-select-btn").innerHTML=null==this._options.renderLabel?void 0:this._options.renderLabel.call(this._options,null==item?void 0:item[labelKey],item,this.list);else{var $span=document.createElement("span");$span.classList.add("ezplayer-btn","ezplayer-select-btn"),$span.innerHTML=null==this._options.renderLabel?void 0:this._options.renderLabel.call(this._options,null==item?void 0:item[labelKey],item,this.list),this.$container.appendChild($span),this._options.title&&$span.setAttribute("title",this._options.title)}}},_proto._activeOption=function(){var _this=this;if(this._picker){var _this__options_fieldNames,_this__picker_$body,_this__picker_$body1,_this__options_fieldNames_value,valueKey=null!=(_this__options_fieldNames_value=null==(_this__options_fieldNames=this._options.fieldNames)?void 0:_this__options_fieldNames.value)?_this__options_fieldNames_value:"value",$active=null==(_this__picker_$body=this._picker.$body)?void 0:_this__picker_$body.querySelector(".ezplayer-active");null==$active||$active.classList.remove("ezplayer-active");var $target=null==(_this__picker_$body1=this._picker.$body)?void 0:_this__picker_$body1.querySelector('.ezplayer-select-option[data-value="'+this.value+'"]');null==$target||$target.classList.add("ezplayer-active");var target=this.list.find((function(item){return item[valueKey]+""===_this.value}));this._render(target)}},_proto._onSelectChange=function(){var _this=this;if(this._picker){var _this__options_fieldNames,_this__options_fieldNames_value,valueKey=null!=(_this__options_fieldNames_value=null==(_this__options_fieldNames=this._options.fieldNames)?void 0:_this__options_fieldNames.value)?_this__options_fieldNames_value:"value";this._delegationOption=delegate$1(this._picker.$body,".ezplayer-select-option","click",(function(e){var target=e.delegateTarget;if(e.stopPropagation(),!target.classList.contains("ezplayer-disabled")){var value=target.getAttribute("data-value");if(_this.value!==value){_this.value=value;var item=_this.list.find((function(item){return item[valueKey]+""===_this.value}));null==_this._options.onChange||_this._options.onChange.call(_this._options,_this.value,item),_this._picker.open=!1}}})),this._delegationClose=delegate$1(this._picker.$body,".ezplayer-select-close","click",(function(e){e.stopPropagation(),_this._picker.open=!1})),this._delegationCancel=delegate$1(this._picker.$body,".ezplayer-select-cancel","click",(function(e){e.stopPropagation(),_this._picker.open=!1}))}},_proto.destroy=function(){var _this__delegationOption_destroy,_this__delegationOption,_this__delegationClose_destroy,_this__delegationClose,_this__delegationCancel_destroy,_this__delegationCancel,_this__picker_$body,_this__picker;(null==(_this__delegationOption=this._delegationOption)||null==(_this__delegationOption_destroy=_this__delegationOption.destroy)||_this__delegationOption_destroy.call(_this__delegationOption),this._delegationOption=null,null==(_this__delegationClose=this._delegationClose)||null==(_this__delegationClose_destroy=_this__delegationClose.destroy)||_this__delegationClose_destroy.call(_this__delegationClose),this._delegationClose=null,null==(_this__delegationCancel=this._delegationCancel)||null==(_this__delegationCancel_destroy=_this__delegationCancel.destroy)||_this__delegationCancel_destroy.call(_this__delegationCancel),this._delegationCancel=null,this._picker)&&(null==(_this__picker_$body=this._picker.$body)||_this__picker_$body.removeEventListener("dblclick",this._onDBlPanelClick),null==(_this__picker=this._picker)||_this__picker.destroy(),this._picker=null);Control.prototype.destroy.call(this)},_proto._onDBlPanelClick=function(e){e.stopPropagation(),e.preventDefault()},_proto._onControlClick=function(e){null==this._options.onClick||this._options.onClick.call(this._options,e)},_create_class$1(Select,[{key:"value",get:function(){return this._value},set:function(value){this.value!==value&&(this._value=value,this._activeOption())}},{key:"disabled",get:function(){return this._disabled},set:function(disabled){this._disabled=disabled,this._picker.disabled=disabled,this._updateDisabledState(disabled)}}]),Select}(Control);function _assert_this_initialized$1(self){if(void 0===self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self}function _extends$7$1(){return _extends$7$1=Object.assign||function(target){for(var i=1;i"+(null==options||null==(_options_locales_options_language=options.locales[options.language])?void 0:_options_locales_options_language.VIDEO_LEVEL_AUTO)+"("+((null==realItem?void 0:realItem.name)||"")+")"}return""+(label||(null==(_list_=list[0])?void 0:_list_.name)||"")+""},onChange:function(value,item){var _options_onChange;null==options||null==(_options_onChange=options.onChange)||_options_onChange.call(options,value,item),"auto"===value?_assert_this_initialized$1(_this).emit(EVENTS$1.control.definitionChange,"auto",_assert_this_initialized$1(_this)._level):(_assert_this_initialized$1(_this)._level=value,_assert_this_initialized$1(_this).emit(EVENTS$1.control.definitionChange,value,item))},onOpenChange:function(open,value,item){var _options_onOpenChange;null==options||null==(_options_onOpenChange=options.onOpenChange)||_options_onOpenChange.call(options,open,value,item),_assert_this_initialized$1(_this).emit(EVENTS$1.control.definitionPanelOpenChange,open,value,item)}}))||this)._level="",_this.options=options||{},_this.on(EVENTS$1.setVideoLevelList,(function(list){Select.prototype.updateOptions.call(_assert_this_initialized$1(_this),__filter(list,_this.locale))})),_this.on(EVENTS$1.currentVideoLevel,(function(item,realLevel){var obj,l="object"==(void 0===item?"undefined":(obj=item)&&"undefined"!=typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj)?item.level:item;if(_this._level=realLevel+"","auto"===l){var _options_locales_options_language,realItem=_this.list.find((function(it){return it.level===_this._level}));_this.$container.querySelector(".ezplayer-select-btn").innerHTML="\n "+(null==options||null==(_options_locales_options_language=options.locales[options.language])?void 0:_options_locales_options_language.VIDEO_LEVEL_AUTO)+"("+((null==realItem?void 0:realItem.name)||"")+")\n "}else _this.value!==_this._level+""&&(_this.value=_this._level+"")})),_this}return function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_set_prototype_of$8(subClass,superClass)}(Definition,Select),Definition.prototype.reset=function(hide){Select.prototype.reset.call(this,hide)},Definition}(Select);function _assert_this_initialized(self){if(void 0===self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self}function _extends$6$1(){return _extends$6$1=Object.assign||function(target){for(var i=1;i0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]\n '+this._getDateStr()+"\n "+IconComponents_filter()+"\n ":this.$container.innerHTML=IconComponents_date({title:null==(_this_locale1=this.locale)?void 0:_this_locale1.BTN_CALENDAR});this.dataPickerUtil=new DatePickerUtil(this.$container,{staticPath:this.options.staticPath,language:"zh"===this.options.language?"zh-CN":"en-US",current:new Date(this._value+" 00:00:00"),maxDate:this.options.maxDate||new Date,place:distExports$7.isMobile()?"bottom-left":"top-right",onChange:function(date){date&&_this._value!==DateTime$1.formate(date,"YYYY-MM-DD")&&(_this._value=DateTime$1.formate(date,"YYYY-MM-DD"),null==_this.options.onChange||_this.options.onChange.call(_this.options,date),_this.emit(EVENTS$1.control.dateChange,date),date&&_this.$container.querySelector(".ezplayer-mobile-date-filter-value")&&(_this.$container.querySelector(".ezplayer-mobile-date-filter-value").innerHTML=_this._getDateStr()))},onPanelChange:function(open,date){null==_this.options.onPanelChange||_this.options.onPanelChange.call(_this.options,open,date),_this.emit(EVENTS$1.control.datePanelOpenChange,open,date)}})},_proto.setDate=function(date,change){var _this_dataPickerUtil;void 0===change&&(change=!0),null==(_this_dataPickerUtil=this.dataPickerUtil)||_this_dataPickerUtil.setDate(date,change),date&&!change&&this._value!==DateTime$1.formate(date,"YYYY-MM-DD")&&(this._value=DateTime$1.formate(date,"YYYY-MM-DD"),date&&this.$container.querySelector(".ezplayer-mobile-date-filter-value")&&(this.$container.querySelector(".ezplayer-mobile-date-filter-value").innerHTML=this._getDateStr()))},_proto.reset=function(){var _this_dataPickerUtil;null==(_this_dataPickerUtil=this.dataPickerUtil)||_this_dataPickerUtil.hide(),Control.prototype.reset.call(this)},_proto.destroy=function(){this.dataPickerUtil&&(this.dataPickerUtil.destroy(),this.dataPickerUtil=null),Control.prototype.destroy.call(this)},_proto._getDateStr=function(){var arr=this._value.split("-");return arr[1]+"."+arr[2]},_proto._onControlClick=function(e){Control.prototype._onControlClick.call(this,e)},DatePickerControl}(Control);function _extends$4$1(){return _extends$4$1=Object.assign||function(target){for(var i=1;i"},_proto.update=function(deviceName,deviceSerial){if(this.$container.querySelector(".ezplayer-text-device")){var $span=this.$container.querySelector(".ezplayer-text-device"),text=this._splicingString(deviceName,deviceSerial);null==$span||$span.setAttribute("title",text),$span.innerHTML=text}},_proto._splicingString=function(deviceName,deviceSerial){return(deviceName||"")+(deviceSerial?deviceName?"("+deviceSerial+")":""+deviceSerial:"")},Device}(Control),Controls={play:Play,volume:Volume,device:Device,capturePicture:CapturePicture,ptz:Ptz$1,record:Record,talk:Talk,zoom:Zoom$1,definition:Definition,fullscreen:Fullscreen,globalFullscreen:GlobalFullscreen,rec:Rec,speed:Speed,date:DatePickerControl,timeLine:TimeLineControl};function _set_prototype_of$3(o,p){return _set_prototype_of$3=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_set_prototype_of$3(o,p)}var RecFooter=function(EventEmitter){function RecFooter(container,options){var _this;return void 0===options&&(options={hasDatePicker:!0}),(_this=EventEmitter.call(this)||this).options=options,_this.$container=container,_this.$popupContainer=document.createElement("div"),_this.$popupContainer.classList.add("ezplayer-rec-footer"),_this.options.hasDatePicker&&_this.$popupContainer.classList.add("ezplayer-rec-footer-has-date-picker"),_this.$container.appendChild(_this.$popupContainer),_this.$timeLineContainer=document.createElement("div"),_this.$timeLineContainer.classList.add("ezplayer-rec-footer-time-line"),_this.options.hasDatePicker&&(_this.$popupContainer.appendChild(_this.$timeLineContainer),_this.$datePickerContainer=document.createElement("div"),_this.$datePickerContainer.classList.add("ezplayer-rec-footer-date-picker"),_this.$popupContainer.appendChild(_this.$datePickerContainer)),_this.$popupContainer.addEventListener("dblclick",(function(e){e.preventDefault(),e.stopPropagation()})),_this}return function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_set_prototype_of$3(subClass,superClass)}(RecFooter,EventEmitter),RecFooter.prototype.destroy=function(){var _this_$timeLineContainer_remove,_this_$timeLineContainer,_this_$popupContainer_remove,_this_$popupContainer;(this.$datePickerContainer&&(this.$datePickerContainer.remove(),this.$datePickerContainer=null),this.$timeLineContainer)&&(null==(_this_$timeLineContainer=this.$timeLineContainer)||null==(_this_$timeLineContainer_remove=_this_$timeLineContainer.remove)||_this_$timeLineContainer_remove.call(_this_$timeLineContainer),this.$timeLineContainer=null);this.$popupContainer&&(null==(_this_$popupContainer=this.$popupContainer)||null==(_this_$popupContainer_remove=_this_$popupContainer.remove)||_this_$popupContainer_remove.call(_this_$popupContainer),this.$popupContainer=null);this.emit(EVENTS$1.theme.recFooterDestroy)},RecFooter}(EventEmitter$1);function _set_prototype_of$2(o,p){return _set_prototype_of$2=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_set_prototype_of$2(o,p)}var MobileExtend=function(EventEmitter){function MobileExtend($siblingContainer){var _this;return(_this=EventEmitter.call(this)||this)._$siblingContainer=$siblingContainer,_this.render(),_this}!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_set_prototype_of$2(subClass,superClass)}(MobileExtend,EventEmitter);var _proto=MobileExtend.prototype;return _proto.render=function(){this.$container||(this.$container=document.createElement("div"),this.$container.classList.add("ezplayer-mobile-extend"),null==this._$siblingContainer.insertAdjacentElement||this._$siblingContainer.insertAdjacentElement.call(this._$siblingContainer,"afterend",this.$container),this.$controlPanel=document.createElement("div"),this.$controlPanel.classList.add("ezplayer-mobile-extend-control-panel"),this.$container.appendChild(this.$controlPanel),this.$content=document.createElement("div"),this.$content.classList.add("ezplayer-mobile-extend-control-content"),this.$controlPanel.appendChild(this.$content),this.$top=document.createElement("div"),this.$top.classList.add("ezplayer-mobile-extend-control-top"),this.$content.appendChild(this.$top),this.$topLeft=document.createElement("div"),this.$topLeft.classList.add("ezplayer-mobile-extend-control-top-left"),this.$top.appendChild(this.$topLeft),this.$topRight=document.createElement("div"),this.$topRight.classList.add("ezplayer-mobile-extend-control-top-right"),this.$top.appendChild(this.$topRight))},_proto.destroy=function(){var _this_$container;null==(_this_$container=this.$container)||_this_$container.remove(),this.emit(EVENTS$1.theme.mobileExtendDestroy)},MobileExtend}(EventEmitter$1);function _extends$2$1(){return _extends$2$1=Object.assign||function(target){for(var i=1;i'+IconComponents_play()+"
":'
'+IconComponents_pause()+"
",this._timer&&(clearTimeout(this._timer),this._timer=null),this._timer2&&(clearTimeout(this._timer2),this._timer2=null),null==(_this_$container=this.$container)||null==(_this_$container_classList=_this_$container.classList)||_this_$container_classList.remove("ezplayer-hide"),this._timer=setTimeout((function(){var _this_$container_classList,_this_$container;_this._timer&&(clearTimeout(_this._timer),_this._timer=null),always||(null==(_this_$container=_this.$container)||null==(_this_$container_classList=_this_$container.classList)||_this_$container_classList.add("ezplayer-pause-transform"),_this._timer2=setTimeout((function(){var _this_$container_classList,_this_$container,_this_$container_classList1,_this_$container1;_this._timer2&&(clearTimeout(_this._timer2),_this._timer2=null),null==(_this_$container=_this.$container)||null==(_this_$container_classList=_this_$container.classList)||_this_$container_classList.add("ezplayer-hide"),null==(_this_$container1=_this.$container)||null==(_this_$container_classList1=_this_$container1.classList)||_this_$container_classList1.remove("ezplayer-pause-transform")}),300))}),10))},_proto.destroy=function(){this._timer&&(clearTimeout(this._timer),this._timer=null),this._timer2&&(clearTimeout(this._timer2),this._timer2=null),this._timer3&&(clearTimeout(this._timer3),this._timer3=null),this.hide(),Control.prototype.destroy.call(this)},_proto._onControlClick=function(e){var _this=this;if(e.stopPropagation(),e.preventDefault(),this._firstFlag){if(this._timer3)return clearTimeout(this._timer3),void(this._timer3=null);this._timer3=setTimeout((function(){_this._timer3&&(clearTimeout(_this._timer3),_this._timer3=null),_this.emit(EVENTS$1.control.play,!0,"pause")}),250)}},Pause}(Control),_unmountedControls=function(theme){if(theme.controls){var hasControls=Object.keys(theme.controls).length>0||theme._header||theme._footer;if(theme._interactiveResult&&(null==theme._interactiveResult.cleanup||theme._interactiveResult.cleanup.call(theme._interactiveResult),theme._interactiveResult=null),hasControls&&theme.emit(EVENTS$1.control.beforeUnmountControls),Object.keys(theme.controls).length>0){for(var key in theme.controls){var _theme_controls_key_destroy,_theme_controls_key;null==(_theme_controls_key_destroy=(_theme_controls_key=theme.controls[key]).destroy)||_theme_controls_key_destroy.call(_theme_controls_key)}theme.controls=null}theme._pauseControl&&(null==theme._pauseControl.destroy||theme._pauseControl.destroy.call(theme._pauseControl)),theme._loadingControl&&(null==theme._loadingControl.destroy||theme._loadingControl.destroy.call(theme._loadingControl)),theme.messageControl&&(null==theme.messageControl.destroy||theme.messageControl.destroy.call(theme.messageControl)),theme.posterControl&&(null==theme.posterControl.destroy||theme.posterControl.destroy.call(theme.posterControl)),theme._headerMoreControl&&(null==theme._headerMoreControl.destroy||theme._headerMoreControl.destroy.call(theme._headerMoreControl),theme._headerMoreControl=null),theme._footerMoreControl&&(null==theme._footerMoreControl.destroy||theme._footerMoreControl.destroy.call(theme._footerMoreControl),theme._footerMoreControl=null),theme._recFooter&&(theme._recFooter.destroy(),theme._recFooter=null),theme._mobileExtend&&(theme._mobileExtend.destroy(),theme._mobileExtend=null),theme._header&&(theme._header.destroy(),theme._header=null),theme._footer&&(theme._footer.destroy(),theme._footer=null),theme._onPauseTimingFunc&&(theme._onPauseTimingFunc=null),hasControls&&theme.emit(EVENTS$1.control.unmountedControls)}};function _array_like_to_array$1(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=o.length?{done:!0}:{done:!1,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _ts_generator$1(thisArg,body){var f,y,t,_={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]},g=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return g.next=verb(0),g.throw=verb(1),g.return=verb(2),"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return function(op){if(f)throw new TypeError("Generator is already executing.");for(;g&&(g=0,op[0]&&(_=0)),_;)try{if(f=1,y&&(t=2&op[0]?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;switch(y=0,t&&(op=[2&op[0],t.value]),op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if(!(t=_.trys,(t=t.length>0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]0||deviceControls.length>0||recControls.length>0?(data.header={},data.header.color=null==themeData||null==(_themeData_header1=themeData.header)?void 0:_themeData_header1.color,data.header.backgroundColor=null==themeData||null==(_themeData_header2=themeData.header)?void 0:_themeData_header2.backgroundColor,data.header.activeColor=null==themeData||null==(_themeData_header3=themeData.header)?void 0:_themeData_header3.activeColor,data.header.btnList=[].concat(deviceControls||[],recControls||[],headerBtnList||[])):data.header=void 0,footerBtnList.length>0?(data.footer={},data.footer.color=null==themeData||null==(_themeData_footer1=themeData.footer)?void 0:_themeData_footer1.color,data.footer.backgroundColor=null==themeData||null==(_themeData_footer2=themeData.footer)?void 0:_themeData_footer2.backgroundColor,data.footer.activeColor=null==themeData||null==(_themeData_footer3=themeData.footer)?void 0:_themeData_footer3.activeColor,data.footer.btnList=footerBtnList):data.footer=void 0,data}(themeData),theme._themeData=filterThemeData,filterThemeData.poster&&theme.setPoster(filterThemeData.poster),theme._playing||null==(_theme_posterControl=theme.posterControl)||_theme_posterControl.show(),0===(props=THEME_PROPS.reduce((function(acc,cur){return acc[cur]=theme[cur],acc}),{})).width&&(props.width=Math.floor(theme.$container.clientWidth)),0===props.height&&(props.height=Math.floor(theme.$container.clientHeight)),filterThemeData.header&&(theme._header=new Header({getPopupContainer:function(){return theme.$container},color:filterThemeData.header.color,activeColor:filterThemeData.header.activeColor,backgroundColor:filterThemeData.header.backgroundColor}),_$_filterLeftRightControls=_filterLeftRightControls(filterThemeData.header.btnList||[]),leftBtns=_$_filterLeftRightControls[0],rightBtns=_$_filterLeftRightControls[1],_renderControls(theme,theme._header.$left,leftBtns,props),_renderControls(theme,theme._header.$right,rightBtns,props)),filterThemeData.footer&&(theme._footer=new Footer({getPopupContainer:function(){return theme.$container},color:filterThemeData.footer.color,activeColor:filterThemeData.footer.activeColor,backgroundColor:filterThemeData.footer.backgroundColor}),(theme._header||theme._footer)&&0!==(null==filterThemeData?void 0:filterThemeData.autoFocus)&&(theme._interactiveResult=function($container,second,callback){void 0===second&&(second=3e3);var _timer=null,_open=!1,_alwaysDisplay=!1,_$header=$container.querySelector(".ezplayer-header"),_$footer=$container.querySelector(".ezplayer-footer"),_clearTimeout=function(){_timer&&(clearTimeout(_timer),_timer=null)},_show=function(){null==_clearTimeout||_clearTimeout(),null==_$header||_$header.classList.remove("ezplayer-hide-transition"),null==_$footer||_$footer.classList.remove("ezplayer-hide-transition"),_open||callback(!0),_open=!0},_hide=function(){_alwaysDisplay||(null==_clearTimeout||_clearTimeout(),$container.classList.contains("ezplayer-player-pause")||(null==_$header||_$header.classList.add("ezplayer-hide-transition"),null==_$footer||_$footer.classList.add("ezplayer-hide-transition"),_open&&callback(!1),_open=!1))},_setTimeoutShow=function(){null==_show||_show(),_timer=setTimeout((function(){null==_clearTimeout||_clearTimeout(),null==_hide||_hide()}),second)},_headerFooterMousemove=function(e){var _e_stopPropagation;null==e||null==(_e_stopPropagation=e.stopPropagation)||_e_stopPropagation.call(e),null==_clearTimeout||_clearTimeout()},_touchStart=function(){_open?null==_hide||_hide():null==_setTimeoutShow||_setTimeoutShow()},_headerFooterTouchStart=function(e){var _e_stopPropagation;null==e||null==(_e_stopPropagation=e.stopPropagation)||_e_stopPropagation.call(e),null==_setTimeoutShow||_setTimeoutShow()};if(_setTimeoutShow(),Utils.isMobile&&_touchStart)$container.addEventListener("click",_touchStart),_$footer&&_$footer.addEventListener("click",_headerFooterTouchStart),_$header&&_$header.addEventListener("click",_headerFooterTouchStart);else{var _$footer_addEventListener,_$footer_addEventListener1,_$header_addEventListener,_$header_addEventListener1,eventName1=window.PointerEvent?"pointerdown":"click";$container.addEventListener(eventName1,_setTimeoutShow),$container.addEventListener("mousemove",_setTimeoutShow),$container.addEventListener("mouseleave",_hide),_$footer&&(null==_$footer||null==(_$footer_addEventListener=_$footer.addEventListener)||_$footer_addEventListener.call(_$footer,eventName1,_headerFooterMousemove),null==_$footer||null==(_$footer_addEventListener1=_$footer.addEventListener)||_$footer_addEventListener1.call(_$footer,"mousemove",_headerFooterMousemove)),_$header&&(null==_$header||null==(_$header_addEventListener=_$header.addEventListener)||_$header_addEventListener.call(_$header,eventName1,_headerFooterMousemove),null==_$header||null==(_$header_addEventListener1=_$header.addEventListener)||_$header_addEventListener1.call(_$header,"mousemove",_headerFooterMousemove))}return{cleanup:function(){if($container){if(Utils.isMobile&&_touchStart&&($container.removeEventListener("click",_touchStart),_$footer&&_setTimeoutShow&&_$footer.removeEventListener("click",_headerFooterTouchStart),_$header&&_setTimeoutShow&&_$header.removeEventListener("click",_headerFooterTouchStart)),_setTimeoutShow){var _$footer_removeEventListener,_$footer_removeEventListener1,_$header_removeEventListener,_$header_removeEventListener1,eventName1=window.PointerEvent?"pointerdown":"click";$container.removeEventListener(eventName1,_setTimeoutShow),$container.removeEventListener("mousemove",_setTimeoutShow),$container.removeEventListener("mouseleave",_hide),_$footer&&_clearTimeout&&(null==_$footer||null==(_$footer_removeEventListener=_$footer.removeEventListener)||_$footer_removeEventListener.call(_$footer,eventName1,_headerFooterMousemove),null==_$footer||null==(_$footer_removeEventListener1=_$footer.removeEventListener)||_$footer_removeEventListener1.call(_$footer,"mousemove",_headerFooterMousemove)),_$header&&_clearTimeout&&(null==_$header||null==(_$header_removeEventListener=_$header.removeEventListener)||_$header_removeEventListener.call(_$header,eventName1,_headerFooterMousemove),null==_$header||null==(_$header_removeEventListener1=_$header.removeEventListener)||_$header_removeEventListener1.call(_$header,"mousemove",_headerFooterMousemove))}_hide&&$container.removeEventListener("mouseleave",_hide),_touchStart=null,_setTimeoutShow=null,_hide=null,_show=null,_headerFooterTouchStart=null,_headerFooterMousemove=null,null==_clearTimeout||_clearTimeout(),_clearTimeout=null,_alwaysDisplay=!1}},clearTimeout:function(){null==_clearTimeout||_clearTimeout(),_alwaysDisplay=!0},setTimeoutShow:function(){null==_setTimeoutShow||_setTimeoutShow(),_alwaysDisplay=!1},hide:_hide}}(theme.$container,1e3*((null==themeData?void 0:themeData.autoFocus)||3),(function(open){theme.emit(EVENTS$1.control.controlsBarOpenChange,open)})),theme._onPauseTimingFunc&&(theme.removeListener("CLEAR_TIMER_HEADER_FOOTER_ANIMATION",theme._onPauseTimingFunc),theme._onPauseTimingFunc=null),theme._onPauseTimingFunc=function(open){var _theme__interactiveResult_clearTimeout,_theme__interactiveResult,_theme__interactiveResult_setTimeoutShow,_theme__interactiveResult1;open?null==(_theme__interactiveResult=theme._interactiveResult)||null==(_theme__interactiveResult_clearTimeout=_theme__interactiveResult.clearTimeout)||_theme__interactiveResult_clearTimeout.call(_theme__interactiveResult):theme._playing&&(null==(_theme__interactiveResult1=theme._interactiveResult)||null==(_theme__interactiveResult_setTimeoutShow=_theme__interactiveResult1.setTimeoutShow)||_theme__interactiveResult_setTimeoutShow.call(_theme__interactiveResult1))},theme.on("CLEAR_TIMER_HEADER_FOOTER_ANIMATION",theme._onPauseTimingFunc),theme._onPauseTimingFunc(!theme._playing)),(null==(_theme_controls=theme.controls)?void 0:_theme_controls.volumeControl)&&(theme.controls.volumeControl.disabled=!0),(null==(_theme_controls1=theme.controls)?void 0:_theme_controls1.globalFullscreenControl)&&!theme.playing&&(theme.controls.globalFullscreenControl.disabled=!0),_$_filterLeftRightControls1=_filterLeftRightControls(filterThemeData.footer.btnList||[]),leftBtns1=_$_filterLeftRightControls1[0],rightBtns1=_$_filterLeftRightControls1[1],_renderControls(theme,theme._footer.$left,leftBtns1,props),_renderControls(theme,theme._footer.$right,rightBtns1,props)),list=[].concat((null==(_filterThemeData_header=filterThemeData.header)?void 0:_filterThemeData_header.btnList)||[],null!=(_filterThemeData_footer_btnList=null==(_filterThemeData_footer=filterThemeData.footer)?void 0:_filterThemeData_footer.btnList)?_filterThemeData_footer_btnList:[]),_needTimeLine=list.some((function(item){return REC_GROUP.includes(item.iconId)})),Utils.isMobile||null===theme.options.timeLineOptions||theme.options.disabledTimeLine||!_needTimeLine||(theme._recFooter=new RecFooter(theme.$container,{hasDatePicker:null!==theme.options.dateOptions}),_renderTimeLine(theme,theme._recFooter.$timeLineContainer,props),theme._footer&&(theme._footer.$container.style.cssText+="bottom: 36px;"),null!==theme.options.dateOptions&&_renderDatePicker(theme,theme._recFooter.$datePickerContainer,props)),Utils.isMobile&&(null==(_theme_options_mobileExtendOptions=theme.options.mobileExtendOptions)||null==(_theme_options_mobileExtendOptions_controls=_theme_options_mobileExtendOptions.controls)?void 0:_theme_options_mobileExtendOptions_controls.length)){if(!(hasPtz=list.some((function(item){return"ptz"===item.iconId})))&&!_needTimeLine)return[2];theme._mobileExtend=new MobileExtend(theme.$container),null!==theme.options.dateOptions&&(null==(_theme_options_mobileExtendOptions1=theme.options.mobileExtendOptions)?void 0:_theme_options_mobileExtendOptions1.controls.includes("date"))&&_needTimeLine&&_renderDatePicker(theme,theme._mobileExtend.$topLeft,props),null!==theme.options.recOptions&&(null==(_theme_options_mobileExtendOptions2=theme.options.mobileExtendOptions)?void 0:_theme_options_mobileExtendOptions2.controls.includes("rec"))&&_needTimeLine&&[].concat((null==(_filterThemeData_header1=filterThemeData.header)?void 0:_filterThemeData_header1.btnList)||[],null!=(_filterThemeData_footer_btnList1=null==(_filterThemeData_footer1=filterThemeData.footer)?void 0:_filterThemeData_footer1.btnList)?_filterThemeData_footer_btnList1:[]).forEach((function(item){var _theme__mobileExtend;REC_GROUP.includes(item.iconId)&&_renderRecType(theme,null==(_theme__mobileExtend=theme._mobileExtend)?void 0:_theme__mobileExtend.$topRight,item.iconId,props)})),null===theme.options.timeLineOptions&&theme.options.disabledTimeLine||!(null==(_theme_options_mobileExtendOptions3=theme.options.mobileExtendOptions)?void 0:_theme_options_mobileExtendOptions3.controls.includes("timeLine"))||!_needTimeLine||_renderTimeLine(theme,theme._mobileExtend.$content,props),Utils.isMobile&&(null==(_theme_options_mobileExtendOptions4=theme.options.mobileExtendOptions)||null==(_theme_options_mobileExtendOptions_controls1=_theme_options_mobileExtendOptions4.controls)?void 0:_theme_options_mobileExtendOptions_controls1.includes("ptz"))&&hasPtz&&theme.controls.ptzControl&&theme.controls.ptzControl.renderMobileExtend(theme._mobileExtend.$content)}return theme.emit(EVENTS$1.control.mountedControls),theme.playing||theme._disabled(!0),function(theme){var _theme_controls,_theme_controls1,_theme_controls2,_theme_controls3,_theme_controls4,_theme_controls5,_theme_controls6,_theme_controls7,_theme_controls8,_theme_controls9,_theme_controls10,_theme_controls11,_theme_controls12,_theme_controls13,_theme_controls14;theme._recFooter&&theme._recFooter.on(EVENTS$1.theme.recFooterDestroy,(function(){theme.emit(EVENTS$1.theme.recFooterDestroy)})),theme._mobileExtend&&theme._mobileExtend.on(EVENTS$1.theme.mobileExtendDestroy,(function(){theme.emit(EVENTS$1.theme.mobileExtendDestroy)})),theme._pauseControl&&theme._pauseControl.on(EVENTS$1.control.play,(function(playing,form){theme.playing||(theme.playing=playing,theme.emit(EVENTS$1.control.play,playing,form))})),(null==(_theme_controls=theme.controls)?void 0:_theme_controls.playControl)&&(theme.controls.playControl.on(EVENTS$1.control.play,(function(playing){theme.playing!==playing&&(theme.playing=playing,theme.emit(EVENTS$1.control.play,playing))})),theme.controls.playControl.on(EVENTS$1.control.playDestroy,(function(){theme.emit(EVENTS$1.control.playDestroy)}))),(null==(_theme_controls1=theme.controls)?void 0:_theme_controls1.volumeControl)&&(theme.controls.volumeControl.on(EVENTS$1.control.volumechange,(function(volume,muted){theme.muted!==muted&&(theme.muted=muted),theme.volume!==volume&&(theme.volume=volume),theme.emit(EVENTS$1.control.volumechange,volume,muted)})),theme.controls.volumeControl.on(EVENTS$1.control.volumePanelOpenChange,(function(open,volume,muted){theme.emit(EVENTS$1.control.volumePanelOpenChange,open,volume,muted)})),theme.controls.volumeControl.on(EVENTS$1.control.volumeDestroy,(function(){theme.emit(EVENTS$1.control.volumeDestroy)}))),(null==(_theme_controls2=theme.controls)?void 0:_theme_controls2.ptzControl)&&(theme.controls.ptzControl.on(EVENTS$1.control.ptzPanelOpenChange,(function(open){Utils.isMobile&&theme.emit("CLEAR_TIMER_HEADER_FOOTER_ANIMATION",open),theme.emit(EVENTS$1.control.ptzPanelOpenChange,open)})),theme.controls.ptzControl.on(EVENTS$1.control.ptzSpeedChange,(function(speed){theme.emit(EVENTS$1.control.ptzSpeedChange,speed),theme.emit(EVENTS$1.ptzSpeedChange,speed)})),theme.controls.ptzControl.on(EVENTS$1.control.ptzError,(function(info){theme.emit(EVENTS$1.control.ptzError,info);var message=theme.i18n.t(info.localeKey);/^\[missing/.test(message)&&(message=info.msg),theme.emit(EVENTS$1.message,message+" ["+info.code+"]","ptzError",2)})),theme.controls.ptzControl.on(EVENTS$1.control.ptzDestroy,(function(){theme.emit(EVENTS$1.control.ptzDestroy)}))),(null==(_theme_controls3=theme.controls)?void 0:_theme_controls3.recordControl)&&(theme.controls.recordControl.on(EVENTS$1.control.recordingChange,(function(recording){theme.recording!==recording&&theme.emit(EVENTS$1.control.recordingChange,recording)})),theme.controls.recordControl.on(EVENTS$1.control.recordDestroy,(function(){theme.emit(EVENTS$1.control.recordDestroy)}))),(null==(_theme_controls4=theme.controls)?void 0:_theme_controls4.talkControl)&&(theme.controls.talkControl.on(EVENTS$1.control.talkingChange,(function(talking){theme.talking!==talking&&theme.emit(EVENTS$1.control.talkingChange,talking)})),theme.controls.talkControl.on(EVENTS$1.control.talkDestroy,(function(){theme.emit(EVENTS$1.control.talkDestroy)}))),(null==(_theme_controls5=theme.controls)?void 0:_theme_controls5.zoomControl)&&(theme.controls.zoomControl.on(EVENTS$1.control.zoomChange,(function(value,_percent,_range){theme.zoom!==value&&(theme.zoom=value,theme.emit(EVENTS$1.control.zoomChange,value))})),theme.controls.zoomControl.on(EVENTS$1.control.zoomPanelOpenChange,(function(open,_zoom){theme.zooming!==open&&(theme.zooming=open,theme.emit(EVENTS$1.control.zoomPanelOpenChange,open))})),theme.controls.zoomControl.on(EVENTS$1.control.zoomDestroy,(function(){theme.zooming&&(theme.zoom=1,theme.zooming=!1),theme.emit(EVENTS$1.control.zoomDestroy)}))),(null==(_theme_controls6=theme.controls)?void 0:_theme_controls6.definitionControl)&&(theme.controls.definitionControl.on(EVENTS$1.control.definitionPanelOpenChange,(function(open,definition,item){theme.emit("CLEAR_TIMER_HEADER_FOOTER_ANIMATION",open,definition),theme.emit(EVENTS$1.control.definitionPanelOpenChange,open,definition,item)})),theme.controls.definitionControl.on(EVENTS$1.control.definitionChange,(function(definition,item){theme.emit(EVENTS$1.control.definitionChange,definition,item)})),theme.controls.definitionControl.on(EVENTS$1.control.definitionDestroy,(function(){theme.emit(EVENTS$1.control.definitionDestroy)}))),(null==(_theme_controls7=theme.controls)?void 0:_theme_controls7.speedControl)&&(theme.controls.speedControl.on(EVENTS$1.control.speedPanelOpenChange,(function(open,speed,item){theme.emit("CLEAR_TIMER_HEADER_FOOTER_ANIMATION",open,speed),theme.emit(EVENTS$1.control.speedPanelOpenChange,open,speed,item)})),theme.controls.speedControl.on(EVENTS$1.control.speedChange,(function(speed,item){theme.emit(EVENTS$1.control.speedChange,speed,item)})),theme.controls.speedControl.on(EVENTS$1.control.speedDestroy,(function(){theme.emit(EVENTS$1.control.speedDestroy)}))),(null==(_theme_controls8=theme.controls)?void 0:_theme_controls8.capturePictureControl)&&(theme.controls.capturePictureControl.on(EVENTS$1.control.capturePicture,(function(options){theme.emit(EVENTS$1.control.capturePicture,options)})),theme.controls.capturePictureControl.on(EVENTS$1.control.capturePictureDestroy,(function(){theme.emit(EVENTS$1.control.capturePictureDestroy)}))),(null==(_theme_controls9=theme.controls)?void 0:_theme_controls9.fullscreenControl)&&theme.controls.fullscreenControl.on(EVENTS$1.control.fullscreenDestroy,(function(){theme.emit(EVENTS$1.control.fullscreenDestroy)})),(null==(_theme_controls10=theme.controls)?void 0:_theme_controls10.globalFullscreenControl)&&theme.controls.globalFullscreenControl.on(EVENTS$1.control.globalFullscreenDestroy,(function(){theme.emit(EVENTS$1.control.globalFullscreenDestroy)})),(null==(_theme_controls11=theme.controls)?void 0:_theme_controls11.deviceControl)&&theme.controls.deviceControl.on(EVENTS$1.control.deviceDestroy,(function(){theme.emit(EVENTS$1.control.deviceDestroy)})),(null==(_theme_controls12=theme.controls)?void 0:_theme_controls12.recControl)&&(theme.controls.recControl.on(EVENTS$1.control.recTypeChange,(function(type){var _theme__headerMoreControl;theme.recType!==type&&(theme.recType=type,theme.emit(EVENTS$1.control.recTypeChange,type),(null==(_theme__headerMoreControl=theme._headerMoreControl)?void 0:_theme__headerMoreControl.picker)&&(theme._headerMoreControl.picker.open=!1))})),theme.controls.recControl.on(EVENTS$1.control.recDestroy,(function(){theme.emit(EVENTS$1.control.recDestroy)}))),(null==(_theme_controls13=theme.controls)?void 0:_theme_controls13.timeLineControl)&&(theme.controls.timeLineControl.on(EVENTS$1.control.timeLineChange,(function(date){theme.emit(EVENTS$1.control.timeLineChange,date)})),theme.controls.timeLineControl.on(EVENTS$1.control.timeLinePanelOpenChange,(function(open){var _theme_controls_dateControl,_theme_controls_dateControl_dataPickerUtil,_theme_controls_dateControl1;(null==(_theme_controls_dateControl=theme.controls.dateControl)?void 0:_theme_controls_dateControl.dataPickerUtil)&&(null==(_theme_controls_dateControl1=theme.controls.dateControl)||null==(_theme_controls_dateControl_dataPickerUtil=_theme_controls_dateControl1.dataPickerUtil)||_theme_controls_dateControl_dataPickerUtil.hide()),theme.emit(EVENTS$1.control.timeLinePanelOpenChange,open)})),theme.controls.timeLineControl.on(EVENTS$1.control.timeLineDestroy,(function(){theme.emit(EVENTS$1.control.timeLineDestroy)}))),(null==(_theme_controls14=theme.controls)?void 0:_theme_controls14.dateControl)&&(theme.controls.dateControl.on(EVENTS$1.control.datePanelOpenChange,(function(open,date){theme.emit(EVENTS$1.control.datePanelOpenChange,open,date)})),theme.controls.dateControl.on(EVENTS$1.control.dateChange,(function(date){theme.emit(EVENTS$1.control.dateChange,date)})),theme.controls.dateControl.on(EVENTS$1.control.dateDestroy,(function(){theme.emit(EVENTS$1.control.recDestroy)}))),theme.contentControl&&theme.contentControl.on(EVENTS$1.control.contentRerender,(function(info){theme.emit(EVENTS$1.control.contentRerender,info)}))}(theme),[2]}}))},function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep$1$1(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep$1$1(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))})();var fn}var _renderTimeLine=function(theme,container,props){var _theme_urlInfo,_theme_options;(void 0===props&&(props={}),theme.controls.timeLineControl||null===theme.options.timeLineOptions)||(theme.controls.timeLineControl=new Controls.timeLine(_extends$1$1({getPopupContainer:function(){return container},language:theme.options.language,locales:theme.i18n.translations,coverQuery:(null==(_theme_urlInfo=theme.urlInfo)?void 0:_theme_urlInfo.validateCode)?"decodekey="+theme.urlInfo.validateCode:""},(null==(_theme_options=theme.options)?void 0:_theme_options.timeLineOptions)||{},{props:props})))},_renderDatePicker=function(theme,container,props){var _theme_options;(void 0===props&&(props={}),theme.controls.dateControl||null===theme.options.dateOptions)||(theme.controls.dateControl=new Controls.date(_extends$1$1({getPopupContainer:function(){return container},language:theme.options.language,locales:theme.i18n.translations,staticPath:theme.options.staticPath},(null==(_theme_options=theme.options)?void 0:_theme_options.dateOptions)||{},{props:props})))},_renderRecType=function(theme,container,recType,props){var _theme_controls,_theme_controls1,_theme_controls2,_theme_options;(void 0===props&&(props={}),!(null==(_theme_controls=theme.controls)?void 0:_theme_controls.recControl)&&null!==theme.options.recOptions&&container)&&(theme.controls.recControl=new Controls.rec(_extends$1$1({getPopupContainer:function(){return container},recType:theme.recType,language:theme.options.language,locales:theme.i18n.translations},(null==(_theme_options=theme.options)?void 0:_theme_options.recOptions)||{},{props:props})));(null==(_theme_controls1=theme.controls)?void 0:_theme_controls1.recControl)&&(null==(_theme_controls2=theme.controls)?void 0:_theme_controls2.recControl).addRecType(recType)};function _array_like_to_array(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=o.length?{done:!0}:{done:!1,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]},g=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return g.next=verb(0),g.throw=verb(1),g.return=verb(2),"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return function(op){if(f)throw new TypeError("Generator is already executing.");for(;g&&(g=0,op[0]&&(_=0)),_;)try{if(f=1,y&&(t=2&op[0]?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;switch(y=0,t&&(op=[2&op[0],t.value]),op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if(!(t=_.trys,(t=t.length>0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]0||(null==(_this_options_videoLevelList=this.options.videoLevelList)?void 0:_this_options_videoLevelList.length)>0)&&(this.videoLevelList=(null==(_this_options_definitionOptions1=this.options.definitionOptions)?void 0:_this_options_definitionOptions1.list)||this.options.videoLevelList);this.setScaleMode(this.options.scaleMode)},_proto._initClassName=function(){var _this_options,_this_options1;this.$container.classList.add("ezplayer",Utils.isMobile?"ezplayer-mobile":"ezplayer-pc"),["ezopen","flv","hls","mp4"].includes(this.options.type)&&this.$container.classList.add("ezplayer-"+this.options.type),["en","zh"].includes(this.options.language||"zh")&&this.$container.classList.add("ezplayer-lang-"+(this.options.language||"zh")),"string"==typeof this.options.className&&this.$container.classList.add(this.options.className),this.resize(null==(_this_options=this.options)?void 0:_this_options.width,null==(_this_options1=this.options)?void 0:_this_options1.height)},_proto._renderTheme=function(data){return _async_to_generator$7((function(){return _ts_generator(this,(function(_state){return _renderTheme(this,data),[2]}))})).call(this)},_proto._mobileInnerWidthHeight=function(){if(Utils.isMobile){var _this_$container_style,_this_$container,_this_$container_style1,_this_$container1,height=Math.floor(window.innerHeight),width=Math.floor(window.innerWidth);null==(_this_$container=this.$container)||null==(_this_$container_style=_this_$container.style)||_this_$container_style.setProperty("--ezplayer-mobile-inner-height",height+"px"),null==(_this_$container1=this.$container)||null==(_this_$container_style1=_this_$container1.style)||_this_$container_style1.setProperty("--ezplayer-mobile-inner-width",width+"px")}},_proto._addEventListener=function(){var _this=this;this._fullscreen=new Fullscreen$1(this.$container,{prefix:"ezplayer",onChange:function(info){var _this_controls;(info.isCurrentFullscreen?_this.emit(EVENTS$1.fullscreen):_this._isCurrentFullscreen&&_this.emit(EVENTS$1.exitFullscreen),_this._isCurrentFullscreen=info.isCurrentFullscreen,_this.emit(EVENTS$1.fullscreenChange,_extends$r({},info,{orientationAngle:_this._orientationAngle})),_this._isRotated(),Utils.isMobile&&!_this._isCurrentFullscreen)&&((null==(_this_controls=_this.controls)?void 0:_this_controls.ptzControl)&&_this.controls.ptzControl.reset())}});var rotateOrientation=function(orientation){if(_this.$container){var _this_$container_classList;switch(null==(_this_$container_classList=_this.$container.classList)||_this_$container_classList.remove("ezplayer-angle-0","ezplayer-angle-90","ezplayer-angle-180","ezplayer-angle-270"),orientation.angle){case 0:_this.$container.classList.add("ezplayer-angle-0");break;case 90:_this.$container.classList.add("ezplayer-angle-90");break;case 180:_this.$container.classList.add("ezplayer-angle-180");break;case 270:_this.$container.classList.add("ezplayer-angle-270")}_this.orientationAngle!==orientation.angle&&_this.emit(EVENTS$1.orientationChange,orientation.angle),_this._orientationAngle=orientation.angle,_this._mobileInnerWidthHeight(),_this._isRotated()}},_Utils_orientationEventListener=Utils.orientationEventListener(rotateOrientation),orientation=_Utils_orientationEventListener[0],cleanupOrientation=_Utils_orientationEventListener[1];this._cleanupOrientation=cleanupOrientation,rotateOrientation(orientation),this._mobileInnerWidthHeight(),window.addEventListener("resize",this._throttleMobileInnerWidthHeight),this._cleanUpResizeObserver=Utils.resizeObserver(this.$container,throttle((function(){var _this_$container,_this_controls,width=Math.floor(_this.$container.clientWidth),height=Math.floor(_this.$container.clientHeight);(width>200&&width<=375?(_this.$container.classList.add("ezplayer-medium-width"),_this.$container.classList.remove("ezplayer-mini-width")):(width<=200?_this.$container.classList.add("ezplayer-mini-width"):_this.$container.classList.remove("ezplayer-mini-width"),_this.$container.classList.remove("ezplayer-medium-width")),height>200&&height<=375?(_this.$container.classList.add("ezplayer-medium-height"),_this.$container.classList.remove("ezplayer-mini-height")):(height<=200?_this.$container.classList.add("ezplayer-mini-height"):_this.$container.classList.remove("ezplayer-mini-height"),_this.$container.classList.remove("ezplayer-medium-height")),_this.width!==width||_this.height!==height)&&(_this.emit(Theme.EVENTS.resize,{width:width,height:height,isCurrentFullscreen:_this.isCurrentFullscreen,orientationAngle:_this.orientationAngle}),_this._width=width,_this._height=height,(null==(_this_controls=_this.controls)?void 0:_this_controls.timeLineControl)&&_this.controls.timeLineControl.setWidth(width-20-36),_this._headerMoreControlShow(),_this._footerMoreControlShow());null==(_this_$container=_this.$container)||_this_$container.classList.add("ezplayer-overflow-hidden"),_this._resizeOverflowTimer&&(clearTimeout(_this._resizeOverflowTimer),_this._resizeOverflowTimer=null),_this._resizeOverflowTimer=setTimeout((function(){var _this_$container;_this._resizeOverflowTimer&&(clearTimeout(_this._resizeOverflowTimer),_this._resizeOverflowTimer=null),null==(_this_$container=_this.$container)||_this_$container.classList.remove("ezplayer-overflow-hidden")}),200)}),20)),this.options.dblClickFullscreen&&!Utils.isMobile&&this.$container.addEventListener("dblclick",this._onDblClickFullscreen)},_proto._headerMoreControlShow=function(){var _this=this;if(this._header){var _this__header_$left,_this__header,_this__header_$right,_this__header1,leftWidth=(null==(_this__header=this._header)||null==(_this__header_$left=_this__header.$left)?void 0:_this__header_$left.clientWidth)||0,rightWidth=(null==(_this__header1=this._header)||null==(_this__header_$right=_this__header1.$right)?void 0:_this__header_$right.clientWidth)||0,showHeaderMore=leftWidth+rightWidth+30>this._width;if(showHeaderMore){var _this_controls,_this_controls_recControl,_this_controls1;if(!this._headerMoreControl&&(null==(_this_controls=this.controls)?void 0:_this_controls.recControl))this._headerMoreControl=new More({language:this.options.language,locales:this.i18n.translations,rootContainer:this.$container,getPopupContainer:function(){var _this__header;return null==(_this__header=_this._header)?void 0:_this__header.$right},placement:"br",controls:this.controls,open:!1,offset:[0,8],wrapClassName:"ezplayer-header-more",onOpenChange:function(open){_this.emit(EVENTS$1.control.headerMorePanelOpenChange,open)}}),null==(_this_controls1=this.controls)||null==(_this_controls_recControl=_this_controls1.recControl)||_this_controls_recControl.resetPopupContainer(this._headerMoreControl.$panel);this.emit(Theme.EVENTS.control.headerMoreShowControlsChange,showHeaderMore)}else if(this._width-leftWidth-rightWidth>100){var _this_controls2,_this__header2,_this_controls_recControl1,_this_controls3,_this__headerMoreControl;if(this._headerMoreControl&&(null==(_this_controls2=this.controls)?void 0:_this_controls2.recControl))null==(_this_controls3=this.controls)||null==(_this_controls_recControl1=_this_controls3.recControl)||_this_controls_recControl1.resetPopupContainer(null==(_this__header2=this._header)?void 0:_this__header2.$right),null==(_this__headerMoreControl=this._headerMoreControl)||_this__headerMoreControl.destroy(),this._headerMoreControl=null,this.emit(Theme.EVENTS.control.headerMoreShowControlsChange,!1)}}},_proto._footerMoreControlShow=function(){var _this=this,displayMore=function(){if(_this._footer){var _this__footer_$left,_this__footer_$right,leftWidth=(null==(_this__footer_$left=_this._footer.$left)?void 0:_this__footer_$left.clientWidth)||0,rightWidth=(null==(_this__footer_$right=_this._footer.$right)?void 0:_this__footer_$right.clientWidth)||0;if(leftWidth+rightWidth+26>_this._width){var _this__footer,_this__themeData_footer,_this__themeData,_this__footerMoreControl_list,_this__footerMoreControl,_this__footerMoreControl_list1,_this__footerMoreControl1;!_this._footerMoreControl&&(null==(_this__footer=_this._footer)?void 0:_this__footer.$right)&&(_this._footerMoreControl=new More({language:_this.options.language,locales:_this.i18n.translations,rootContainer:_this.$container,getPopupContainer:function(){var _this__footer;return null==(_this__footer=_this._footer)?void 0:_this__footer.$right},placement:"tr",controls:_this.controls,open:!1,offset:[0,-8],wrapClassName:"ezplayer-footer-more",onOpenChange:function(open){_this.emit(EVENTS$1.control.footerMorePanelOpenChange,open)}}));var list=((null==(_this__themeData=_this._themeData)||null==(_this__themeData_footer=_this__themeData.footer)?void 0:_this__themeData_footer.btnList)||[]).filter((function(item){var _this__footerMoreControl,index=((null==(_this__footerMoreControl=_this._footerMoreControl)?void 0:_this__footerMoreControl.list)||[]).findIndex((function(item1){var _this_controls;return item1.control===(null==(_this_controls=_this.controls)?void 0:_this_controls[item.iconId+"Control"])}));return-1===index}));if(list.length<=0)return;if(0===(null==(_this__footerMoreControl=_this._footerMoreControl)||null==(_this__footerMoreControl_list=_this__footerMoreControl.list)?void 0:_this__footerMoreControl_list.length))for(var _step,_iterator=_create_for_of_iterator_helper_loose([list.pop(),list.pop()]);!(_step=_iterator()).done;){var item=_step.value;if(item){var _this_controls_key_resetPopupContainer,_this_controls_key,_this_controls,_this_controls1,_this__footerMoreControl2,key=item.iconId+"Control";null==(_this_controls=_this.controls)||null==(_this_controls_key=_this_controls[key])||null==(_this_controls_key_resetPopupContainer=_this_controls_key.resetPopupContainer)||_this_controls_key_resetPopupContainer.call(_this_controls_key,_this._footerMoreControl.$panel,"prepend"),null==(_this__footerMoreControl2=_this._footerMoreControl)||_this__footerMoreControl2.add(key,item.part,null==(_this_controls1=_this.controls)?void 0:_this_controls1[key])}}else if(_this._footerMoreControl){var item1=list.pop();if(!item1)return;var _this_controls_key_resetPopupContainer1,_this_controls_key1,_this_controls2,_this_controls3,_this__footerMoreControl3,key1=item1.iconId+"Control";null==(_this_controls2=_this.controls)||null==(_this_controls_key1=_this_controls2[key1])||null==(_this_controls_key_resetPopupContainer1=_this_controls_key1.resetPopupContainer)||_this_controls_key_resetPopupContainer1.call(_this_controls_key1,_this._footerMoreControl.$panel,"prepend"),null==(_this__footerMoreControl3=_this._footerMoreControl)||_this__footerMoreControl3.add(key1,item1.part,null==(_this_controls3=_this.controls)?void 0:_this_controls3[key1])}_this.emit(Theme.EVENTS.control.footerMoreShowControlsChange,!!_this._footerMoreControl,null==(_this__footerMoreControl1=_this._footerMoreControl)||null==(_this__footerMoreControl_list1=_this__footerMoreControl1.list)?void 0:_this__footerMoreControl_list1.map((function(item){return item.key}))),_this._footerMoreControl&&displayMore()}else if(_this._width-leftWidth-rightWidth>110){var _this__footerMoreControl_list2,_this__footerMoreControl4;if(null==(_this__footerMoreControl4=_this._footerMoreControl)||null==(_this__footerMoreControl_list2=_this__footerMoreControl4.list)?void 0:_this__footerMoreControl_list2.length){var _this__footerMoreControl5,_this__footerMoreControl_list3,_this__footerMoreControl6,_this__footerMoreControl_list4,_this__footerMoreControl7,item2=null==(_this__footerMoreControl5=_this._footerMoreControl)?void 0:_this__footerMoreControl5.list.shift();if(item2){var _this__footerMoreControl8,_item_control_resetPopupContainer,_item_control;if("left"===item2.part)null==(_item_control=item2.control)||null==(_item_control_resetPopupContainer=_item_control.resetPopupContainer)||_item_control_resetPopupContainer.call(_item_control,_this._footer.$left,"append");else if("right"===item2.part){var _this__footerMoreControl_list5,_this__footerMoreControl9,_item_control_resetPopupContainer1,_item_control1,_item_control_resetPopupContainer2,_item_control2;if(0===(null==(_this__footerMoreControl9=_this._footerMoreControl)||null==(_this__footerMoreControl_list5=_this__footerMoreControl9.list)?void 0:_this__footerMoreControl_list5.length))null==(_item_control1=item2.control)||null==(_item_control_resetPopupContainer1=_item_control1.resetPopupContainer)||_item_control_resetPopupContainer1.call(_item_control1,_this._footer.$right,"append");else null==(_item_control2=item2.control)||null==(_item_control_resetPopupContainer2=_item_control2.resetPopupContainer)||_item_control_resetPopupContainer2.call(_item_control2,_this._footer.$right,"before",_this._footerMoreControl.$container)}null==(_this__footerMoreControl8=_this._footerMoreControl)||_this__footerMoreControl8.remove(item2.control)}if(1===(null==(_this__footerMoreControl6=_this._footerMoreControl)||null==(_this__footerMoreControl_list3=_this__footerMoreControl6.list)?void 0:_this__footerMoreControl_list3.length)){var _this__footerMoreControl10,_this__footerMoreControl_destroy,_this__footerMoreControl11,item11=null==(_this__footerMoreControl10=_this._footerMoreControl)?void 0:_this__footerMoreControl10.list.shift();if(item11){var _this__footerMoreControl12,_item1_control_resetPopupContainer,_item1_control;if("left"===item11.part)null==(_item1_control=item11.control)||null==(_item1_control_resetPopupContainer=_item1_control.resetPopupContainer)||_item1_control_resetPopupContainer.call(_item1_control,_this._footer.$left,"append");else if("right"===item11.part){var _item1_control_resetPopupContainer1,_item1_control1;null==(_item1_control1=item11.control)||null==(_item1_control_resetPopupContainer1=_item1_control1.resetPopupContainer)||_item1_control_resetPopupContainer1.call(_item1_control1,_this._footer.$right,"append")}null==(_this__footerMoreControl12=_this._footerMoreControl)||_this__footerMoreControl12.remove(item11.control)}null==(_this__footerMoreControl11=_this._footerMoreControl)||null==(_this__footerMoreControl_destroy=_this__footerMoreControl11.destroy)||_this__footerMoreControl_destroy.call(_this__footerMoreControl11),_this._footerMoreControl=null}_this.emit(Theme.EVENTS.control.footerMoreShowControlsChange,!!_this._footerMoreControl,null==(_this__footerMoreControl7=_this._footerMoreControl)||null==(_this__footerMoreControl_list4=_this__footerMoreControl7.list)?void 0:_this__footerMoreControl_list4.map((function(item){return item.key}))),displayMore()}}}};displayMore()},_proto._removeEventListener=function(){var _this__fullscreen,_this__cleanUpResizeObserver_unobserve,_this__cleanUpResizeObserver,_this__fullscreen1;this._isCurrentFullscreen&&(null==(_this__fullscreen1=this._fullscreen)||_this__fullscreen1.exitFullscreen());null==(_this__fullscreen=this._fullscreen)||_this__fullscreen.destroy(),this._fullscreen=null,null==this._cleanupOrientation||this._cleanupOrientation.call(this),this._cleanupOrientation=null,null==(_this__cleanUpResizeObserver=this._cleanUpResizeObserver)||null==(_this__cleanUpResizeObserver_unobserve=_this__cleanUpResizeObserver.unobserve)||_this__cleanUpResizeObserver_unobserve.call(_this__cleanUpResizeObserver),this._cleanUpResizeObserver=null,window.removeEventListener("resize",this._throttleMobileInnerWidthHeight),this._throttleMobileInnerWidthHeight=null,this.options.dblClickFullscreen&&!Utils.isMobile&&this.$container.removeEventListener("dblclick",this._onDblClickFullscreen)},_proto._setVideoLevelList=function(list){this.videoLevelList=list},_proto._disabled=function(disabled){var _this=this;void 0===disabled&&(disabled=!0),PAUSE_DISABLED_BTN.forEach((function(btn){var _this_controls;(null==(_this_controls=_this.controls)?void 0:_this_controls[btn+"Control"])&&(_this.controls[btn+"Control"].disabled=disabled)}))},_proto._onDblClickFullscreen=function(){this.isCurrentFullscreen?this.exitFullscreen():this.fullscreen()},_proto._getRecType=function(url){if("ezopen"===this.options.type&&/^ezopen:\/\//.test(url)){var _urlInfo_searchParams,urlInfo=distExports$7.parseEzopenUrl(url);if("rec"===urlInfo.type)return"cloud"===urlInfo.recType&&"7"===(null==urlInfo||null==(_urlInfo_searchParams=urlInfo.searchParams)?void 0:_urlInfo_searchParams.busType)?(this.recType="cloudRecord","cloudRecord"):"cloud"===urlInfo.recType?(this.recType="cloudRec","cloudRec"):(this.recType="rec","rec")}return this.recType="",""},_proto.resetControl=function(){var _this=this;this.zooming&&1!==this.zoom&&(this.zoom=1),["ptz","talk","record","speed"].forEach((function(key){var _this_controls;(null==(_this_controls=_this.controls)?void 0:_this_controls[key+"Control"])&&_this.controls[key+"Control"].reset()}))},_proto._isRotated=function(){var _this_controls,_this_controls1,_this_controls2,_this_controls3;Utils.isMobile&&(this.isCurrentFullscreen&&[0,180].includes(this._orientationAngle)?((null==(_this_controls=this.controls)?void 0:_this_controls.ptzControl)&&(this.controls.ptzControl.isRotated=!0),(null==(_this_controls1=this.controls)?void 0:_this_controls1.zoomControl)&&(this.controls.zoomControl.isRotated=!0)):((null==(_this_controls2=this.controls)?void 0:_this_controls2.ptzControl)&&(this.controls.ptzControl.isRotated=!1),(null==(_this_controls3=this.controls)?void 0:_this_controls3.zoomControl)&&(this.controls.zoomControl.isRotated=!1)))},_create_class(Theme,[{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}},{key:"playing",get:function(){return this._playing},set:function(playing){var _this_messageControl,_this__interactiveResult_setTimeoutShow,_this__interactiveResult1,_this__interactiveResult_clearTimeout,_this__interactiveResult,_this=this;if(this._playing!==playing){var _this_controls,_this__pauseControl_show,_this__pauseControl,_this_controls1;if(this._playing=playing,playing||(this.loading=!1,["ptz","talk","record"].forEach((function(key){var _this_controls;(null==(_this_controls=_this.controls)?void 0:_this_controls[key+"Control"])&&_this.controls[key+"Control"].reset()})),this._disabled(!0)),this.emit(EVENTS$1.play,playing),null==(_this_controls=this.controls)?void 0:_this_controls.playControl)if(this.controls.playControl.playing!==playing)null==(_this_controls1=this.controls)||_this_controls1.playControl.emit(EVENTS$1.play,playing);null==(_this__pauseControl=this._pauseControl)||null==(_this__pauseControl_show=_this__pauseControl.show)||_this__pauseControl_show.call(_this__pauseControl,playing)}this._playing&&(null==(_this_messageControl=this.messageControl)||_this_messageControl.hide());this._playing?null==(_this__interactiveResult1=this._interactiveResult)||null==(_this__interactiveResult_setTimeoutShow=_this__interactiveResult1.setTimeoutShow)||_this__interactiveResult_setTimeoutShow.call(_this__interactiveResult1):null==(_this__interactiveResult=this._interactiveResult)||null==(_this__interactiveResult_clearTimeout=_this__interactiveResult.clearTimeout)||_this__interactiveResult_clearTimeout.call(_this__interactiveResult)}},{key:"loading",get:function(){return this._loading},set:function(loading){var _this__loadingControl,_this__loadingControl1;(this._loading=loading,loading)?null==(_this__loadingControl=this._loadingControl)||_this__loadingControl.show():null==(_this__loadingControl1=this._loadingControl)||_this__loadingControl1.hide();this._loading!==loading&&this.emit(EVENTS$1.loading,loading)}},{key:"volume",get:function(){return this._volume},set:function(volume){var _this_controls,_this_controls_volumeControl,_this_controls1;volume>=0&&volume<=1&&(this._volume!==volume&&(this._volume=volume,this.emit(EVENTS$1.volumechange,volume,this._muted),(null==(_this_controls=this.controls)?void 0:_this_controls.volumeControl)&&(null==(_this_controls1=this.controls)||null==(_this_controls_volumeControl=_this_controls1.volumeControl)?void 0:_this_controls_volumeControl.volume)!==volume&&this.controls.volumeControl.emit(EVENTS$1.volumechange,volume,this._muted)))}},{key:"muted",get:function(){return this._muted},set:function(muted){var _this_controls,_this_controls_volumeControl,_this_controls1;this._muted!==muted&&(this._muted=muted,this.emit(EVENTS$1.volumechange,this._volume,this._muted),(null==(_this_controls=this.controls)?void 0:_this_controls.volumeControl)&&(null==(_this_controls1=this.controls)||null==(_this_controls_volumeControl=_this_controls1.volumeControl)?void 0:_this_controls_volumeControl.muted)!==muted&&this.controls.volumeControl.emit(EVENTS$1.volumechange,this._volume,muted))}},{key:"zooming",get:function(){return this._zooming},set:function(zooming){var _this_zoomUtil_setUpEventListeners,_this_zoomUtil,_this_zoomUtil_setAllowZoom,_this_zoomUtil1,_this_zoomUtil_reset,_this_zoomUtil2,_this_zoomUtil_removeEventListeners,_this_zoomUtil3,_this_zoomUtil_setAllowZoom1,_this_zoomUtil4;this._zooming!==zooming&&(this._zooming=zooming,this.emit(EVENTS$1.zoomingChange,zooming),this.zoomUtil&&(zooming?(null==(_this_zoomUtil=this.zoomUtil)||null==(_this_zoomUtil_setUpEventListeners=_this_zoomUtil.setUpEventListeners)||_this_zoomUtil_setUpEventListeners.call(_this_zoomUtil),null==(_this_zoomUtil1=this.zoomUtil)||null==(_this_zoomUtil_setAllowZoom=_this_zoomUtil1.setAllowZoom)||_this_zoomUtil_setAllowZoom.call(_this_zoomUtil1,!0)):(null==(_this_zoomUtil2=this.zoomUtil)||null==(_this_zoomUtil_reset=_this_zoomUtil2.reset)||_this_zoomUtil_reset.call(_this_zoomUtil2),null==(_this_zoomUtil3=this.zoomUtil)||null==(_this_zoomUtil_removeEventListeners=_this_zoomUtil3.removeEventListeners)||_this_zoomUtil_removeEventListeners.call(_this_zoomUtil3),null==(_this_zoomUtil4=this.zoomUtil)||null==(_this_zoomUtil_setAllowZoom1=_this_zoomUtil4.setAllowZoom)||_this_zoomUtil_setAllowZoom1.call(_this_zoomUtil4,!1))))}},{key:"zoom",get:function(){return this._zoom},set:function(zoom){var _this_options_zoomOptions,_this_messageControl_info,_this_messageControl,_this_logger,_this_options_zoomOptions_max;if(!this._zooming)return null==(_this_messageControl=this.messageControl)||null==(_this_messageControl_info=_this_messageControl.info)||_this_messageControl_info.call(_this_messageControl,this.i18n.t("ZOOM_NOT_ENABLED")),void(null==(_this_logger=this.logger)||_this_logger.warn(this.i18n.t("ZOOM_NOT_ENABLED")));zoom=+zoom.toFixed(1);var _this_messageControl_info1,_this_messageControl1,_this_logger1,_this_messageControl_info2,_this_messageControl2,_this_logger2,_this_messageControl_info3,_this_messageControl3,_this_zoomUtil_setZoom,_this_zoomUtil,ZOOM_MAX=null!=(_this_options_zoomOptions_max=null==(_this_options_zoomOptions=this.options.zoomOptions)?void 0:_this_options_zoomOptions.max)?_this_options_zoomOptions_max:ZOOM_DEFAULT_OPTIONS.max;if(zoom>ZOOM_MAX)return null==(_this_messageControl1=this.messageControl)||null==(_this_messageControl_info1=_this_messageControl1.info)||_this_messageControl_info1.call(_this_messageControl1,this.i18n.t("ZOOM_LIMIT_MAX",{zoom:ZOOM_MAX})),void(null==(_this_logger1=this.logger)||_this_logger1.warn(this.i18n.t("ZOOM_LIMIT_MAX",{zoom:ZOOM_MAX})));if(zoom<1)return null==(_this_messageControl2=this.messageControl)||null==(_this_messageControl_info2=_this_messageControl2.info)||_this_messageControl_info2.call(_this_messageControl2,this.i18n.t("ZOOM_LIMIT_MIN",{zoom:"1"})),void(null==(_this_logger2=this.logger)||_this_logger2.warn(this.i18n.t("ZOOM_LIMIT_MIN",{zoom:"1"})));if(zoom===ZOOM_MAX)null==(_this_messageControl3=this.messageControl)||null==(_this_messageControl_info3=_this_messageControl3.info)||_this_messageControl_info3.call(_this_messageControl3,this.i18n.t("ZOOM_ADD_MAX",{zoom:ZOOM_MAX}));else if(1===zoom){var _this_messageControl_info4,_this_messageControl4;null==(_this_messageControl4=this.messageControl)||null==(_this_messageControl_info4=_this_messageControl4.info)||_this_messageControl_info4.call(_this_messageControl4,this.i18n.t("ZOOM_SUB_MIN",{zoom:1}))}zoom!==this._zoom&&(this._zoom=zoom,this.emit(EVENTS$1.zoomChange,zoom),null==this||null==(_this_zoomUtil=this.zoomUtil)||null==(_this_zoomUtil_setZoom=_this_zoomUtil.setZoom)||_this_zoomUtil_setZoom.call(_this_zoomUtil,zoom))}},{key:"talking",get:function(){return this._talking}},{key:"speed",get:function(){return this._speed},set:function(speed){(speed=+speed)!==this._speed&&(this._speed=speed,this.emit(EVENTS$1.speedChange,speed))}},{key:"talkGain",get:function(){var _this_controls_talkControl,_this_controls,_this_controls1;return(null==(_this_controls=this.controls)||null==(_this_controls_talkControl=_this_controls.talkControl)?void 0:_this_controls_talkControl.active)?(null==(_this_controls1=this.controls)?void 0:_this_controls1.talkControl).value:null}},{key:"recording",get:function(){return this._recording}},{key:"ptzing",get:function(){var _this_controls_ptzControl,_this_controls;return null==(_this_controls=this.controls)||null==(_this_controls_ptzControl=_this_controls.ptzControl)?void 0:_this_controls_ptzControl.active}},{key:"videoLevelAuto",get:function(){return this._videoLevelAuto}},{key:"isCurrentFullscreen",get:function(){return this._isCurrentFullscreen}},{key:"orientationAngle",get:function(){return this._orientationAngle}},{key:"hasHeaderMoreControl",get:function(){return!!this._headerMoreControl}},{key:"hasFooterMoreControl",get:function(){return!!this._footerMoreControl}}]),Theme}(EventEmitter$1);Theme.TEMPLATES=TEMPLATES,Theme.EVENTS=EVENTS$1,Theme.LOCALES={zh:zh,en:en},Theme.THEME_VERSION="2.0.0-beta.4";var distExports=(hasRequiredDist$1||(hasRequiredDist$1=1,dist$1=function(fn){var wait=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,options=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},lastCallAt=void 0,deferred=void 0,timer=void 0,pendingArgs=[];return function(){var currentWait=function(wait){return"function"==typeof wait?wait():wait}(wait),currentTime=(new Date).getTime(),isCold=!lastCallAt||currentTime-lastCallAt>currentWait;lastCallAt=currentTime;for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];if(isCold&&options.leading)return options.accumulate?Promise.resolve(fn.call(this,[args])).then((function(result){return result[0]})):Promise.resolve(fn.call.apply(fn,[this].concat(args)));if(deferred?clearTimeout(timer):deferred=function(){var deferred={};return deferred.promise=new Promise((function(resolve,reject){deferred.resolve=resolve,deferred.reject=reject})),deferred}(),pendingArgs.push(args),timer=setTimeout(flush.bind(this),currentWait),options.accumulate){var argsIndex=pendingArgs.length-1;return deferred.promise.then((function(results){return results[argsIndex]}))}return deferred.promise};function flush(){var thisDeferred=deferred;clearTimeout(timer),Promise.resolve(options.accumulate?fn.call(this,pendingArgs):fn.apply(this,pendingArgs[pendingArgs.length-1])).then(thisDeferred.resolve,thisDeferred.reject),pendingArgs=[],deferred=null}}),dist$1),debounce=getDefaultExportFromCjs$1(distExports);Date.prototype.Format=function(fmt){var o={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};for(var k in/(y+)/.test(fmt)&&(fmt=fmt.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length))),o)new RegExp("("+k+")").test(fmt)&&(fmt=fmt.replace(RegExp.$1,1==RegExp.$1.length?o[k]:("00"+o[k]).substr((""+o[k]).length)));return fmt};const addJs=(filepath,callback,isReadyFun,callbackValue)=>{var headerScript=document.getElementsByTagName("head")[0].getElementsByTagName("script"),isReady=!1;if(isReadyFun)isReady=isReadyFun();else for(var i=0;i{callback(callbackValue)});if(!isReady){try{if(!document.querySelector(`script[src="${filepath}"]`)){var oJs=document.createElement("script");oJs.setAttribute("src",filepath),oJs.setAttribute("crossorigin",!0),oJs.onload=()=>callback(callbackValue),document.getElementsByTagName("head")[0].appendChild(oJs)}}catch(error){}setTimeout((()=>{callback(callbackValue)}),15)}},removeJs=filepath=>{for(var headerScript=document.getElementsByTagName("head")[0].getElementsByTagName("script"),i=0;i{var r=new RegExp("(\\?|#|&)"+name+"=(.*?)(#|&|$)"),m=(url||window.location.href).match(r);return decodeURIComponent(m?m[2]:"")},insertAfter=(newElement,targetElement)=>{var parent=targetElement.parentNode;parent.lastChild==targetElement?parent.appendChild(newElement):parent.insertBefore(newElement,targetElement.nextSibling)},matchEzopenUrl=ezopenUrl=>({deviceSerial:ezopenUrl.split("/")[3],channelNo:ezopenUrl.split("/")[4].split(".")[0],validCode:2===ezopenUrl.split("/")[2].split("@").length?ezopenUrl.split("/")[2].split("@")[0]:"",hd:-1!==ezopenUrl.indexOf(".hd"),type:-1!==ezopenUrl.indexOf(".cloud.rec")?"cloud.rec":-1!==ezopenUrl.indexOf(".rec")?"rec":"live"}),isMobile=()=>!!window&&navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Opera Mini)/i);var zh_CN={391001:"取流地址或端口非法",391004:"连接到流媒体服务失败",395e3:"服务内部异常,请稍后重试",395400:"预览取流参数异常",395402:"设备当前时段无录像,请选择其他时间段",395403:"服务异常,请重试或联系客服",395404:"设备不在线,请优化网络后重启设备再试",395405:"设备侧网络问题,请检查优化网络后重启设备再试",395406:"token过期,请重试",395407:"客户端的URL格式错误",395409:"预览开启隐私保护",395410:"服务异常,请重试或联系客服",395411:"无权查看当前设备",395412:"服务异常,请重试或联系客服",395413:"服务异常,请重试或联系客服",395415:"设备通道错误",395416:"当前观看路数达到设备最大限制,请重启设备或联系设备售后处理",395451:"设备不支持该码流类型,请检查设备通道支持情况或联系硬件售后",395452:"设备侧网络较差,请检查优化网络后重启设备再试",395454:"设备侧网络较差,请检查优化网络后重启设备再试",395455:"设备通道异常,请检查通道配置后重试",395456:"设备通道异常,请检查通道配置后重试",395457:"服务异常,请重试或联系客服",395458:"服务异常,请重试或联系客服",395459:"服务异常,请重试或联系客服",395460:"服务异常,请重试或联系客服",395492:"服务异常,请重试或联系客服",395500:"服务异常,请重试或联系客服",395501:"服务异常,请重试或联系客服",395503:"服务异常,请重试或联系客服",395504:"服务异常,请重试或联系客服",395505:"服务异常,请重试或联系客服",395506:"暂不支持该设备直接取流,请连接NVR后重试或联系客服",395507:"设备4G无限流量套餐仅支持萤石云视频APP使用,请联系APP客服更换套餐",395530:"服务异常,请重试或联系客服",395544:"视频源不存在,请检查设备配置",395545:"服务异常,请重试或联系客服",395546:"同时观看人数达到账号最大限制,请联系客服",395547:"同时观看人数达到账号最大限制,请联系客服",395556:"服务异常,请重试或联系客服",395557:"设备取流失败,请联系硬件售后",395558:"查找录像开始时间错误",395560:"服务异常,请重试或联系客服",395561:"服务异常,请重试或联系客服",395562:"服务异常,请重试或联系客服",395563:"服务异常,请重试或联系客服",395564:"服务异常,请重试或联系客服",395566:"服务异常,请重试或联系客服",395567:"服务异常,请重试或联系客服",395568:"服务异常,请重试或联系客服",395569:"服务异常,请重试或联系客服",395600:"服务异常,请重试或联系客服",395601:"服务异常,请重试或联系客服",395602:"服务异常,请重试或联系客服",395610:"服务异常,请重试或联系客服",395620:"服务异常,请重试或联系客服",395701:"服务异常,请重试或联系客服",395702:"服务异常,请重试或联系客服",395703:"服务异常,请重试或联系客服",396001:"服务异常,请重试或联系客服",396099:"服务异常,请重试或联系客服",396101:"服务异常,请重试或联系客服",396102:"服务异常,请重试或联系客服",396103:"服务异常,请重试或联系客服",396104:"服务异常,请重试或联系客服",396105:"设备异常,请重试或联系客服",396106:"设备通道异常,请检查通道配置后重试",396107:"设备异常,请重试或联系客服",396108:"服务异常,请重试或联系客服",396109:"服务异常,请重试或联系客服",396110:"设备异常,请重试或联系客服",396501:"设备异常,请重试或联系客服",396502:"设备异常,请重试或联系客服",396503:"设备异常,请重试或联系客服",396504:"设备异常,请重试或联系客服",396505:"设备异常,请重试或联系客服",396506:"设备异常,请重试或联系客服",396508:"设备异常,请重试或联系客服",396509:"设备异常,请重试或联系客服",396510:"设备异常,请重试或联系客服",396511:"设备异常,请重试或联系客服",396512:"设备异常,请重试或联系客服",396513:"设备异常,请重试或联系客服",396514:"设备异常,请重试或联系客服",396515:"设备异常,请重试或联系客服",396516:"设备异常,请重试或联系客服",396517:"设备异常,请重试或联系客服",396518:"设备异常,请重试或联系客服",396519:"设备网络异常,请检查优化网络后重启设备再试",396520:"设备网络异常,请检查优化网络后重启设备再试",396700:"服务异常,请重试或联系客服",396701:"回放结束",397001:"服务异常,请重试或联系客服",397002:"服务异常,请重试或联系客服",397003:"服务异常,请重试或联系客服",397004:"服务异常,请重试或联系客服",397005:"设备取流连接断开,请检查网络后重试",397006:"服务异常,请重试或联系客服",397007:"服务异常,请重试或联系客服",399e3:"服务异常,请重试或联系客服",399001:"客户端网络超时",399002:"服务异常,请重试或联系客服",399016:"token失效,请更新并重试",399048:"同时观看人数达到账号最大限制,请联系客服",399049:"免费版并发数达到上限,请升级企业版使用多并发能力",3810001:"操作失败",3810002:"账号异常,操作失败",3810005:"账号异常,操作失败",3820002:"设备不存在,请检查设备连接情况",3820006:"操作失败,请检查设备网络情况",3820007:"操作失败,请检查设备网络情况",3820008:"操作过于频繁,稍后再试",3820014:"操作失败",3820032:"通道不存在请检查设备连接情况",3849999:"操作失败,请重试",386e4:"操作失败,设备不支持该操作",3860001:"操作失败,用户无权限",3860002:"设备已旋转到上限位",3860003:"设备已旋转到下限位",3860004:"设备已旋转到左限位",3860005:"设备已旋转到右限位",3860006:"操作失败,请重试",3860009:"设备正在操作中",3860020:"操作失败",BTN_RETRY:"重试",BTN_RELOAD:"重新加载",LOADING:"加载中,请稍后",TIMEFORMAT_ERROR:"时间格式有误,请确认",USE_MULTITHREADING_WARING:"您当前浏览器可以开启谷歌实验室多线程特性,获取更好播放体验,避免浏览器卡顿及崩溃,详见",OPEN_INSTRUCTIONS:"开启说明",INIT_FINSHED:"初始化播放器完成",INIT_SUCCESS:"初始化播放器成功",GET_PLAYURL_FAILED:"获取播放地址失败",VIDEO_LOADING:"视频加载中",DISCONNECT:"连接断开,请重试",DEVICE_ENCRYPTED:"设备已加密",NO_RECORD:"未找到录像片段",PLAY_FAILED:"播放失败,请检查设备及客户端网络",PLAY_SUCCESS:"播放成功",STOP_SUCCESS:"停止成功",CHANGE_PLAYURL_SUCCESS:"切换播放地址成功",CHANGE_PLAYURL_FAILED:"切换播放地址失败",GET_OSD_TIME:"获取OSD时间",GET_OSD_TIME_FAILED:"获取OSD时间失败",SET_POSTER:"设置播放器封面",RESIZE:"调整播放器尺寸",SPEED:"倍速",SPEED_RATE:"倍",SPEED_CANCEL:"取消",GET_SPEED:"获取当前播放速率",MAX_SPEED_LIMIT:"播放速度最大为4倍速度",MIN_SPEED_LIMIT:"播放速度最小为0.5倍速度",SEEK_CANNOT_CROSS_DAYS:"seek时间不能跨日期",SEEK_TIMEFORMAT_ERROR:"seek时间格式错误",PAUSE:"暂停",PAUSE_FAILED:"暂停失败",RESUME:"恢复播放",RESUME_FAILED:"恢复播放失败",CALL_END:"通话已结束",USER_DO_NOT_OWN_DEVICE:"loadingSetTextWithBtn",NO_CLOUD_RECORD:"该设备在当天没有云录制的录像",CHANGE_VIDEO_LEVEL:"切换清晰度",CHANGE_VIDEO_LEVEL_FAIL:"切换清晰度失败",GET_VIDEO_LEVEL_LIST:"获取设备支持的清晰度列表",PLEASE_INPUT_RIGHT_VIDEO_LEVEL:"请输入正确的清度",VIDEO_LEVEL_NOT_SUPPORT:"当前设备不支持该清晰度",VIDEO_LEVEL_AUTO:"自动",VIDEO_LEVEL_FLUENT:"流畅",VIDEO_LEVEL_STANDARD:"标清",VIDEO_LEVEL_HEIGH:"高清",VIDEO_LEVEL_SUPER:"超清",VIDEO_LEVEL_EXTREME:"极清",VIDEO_LEVEL_3K:"3K",VIDEO_LEVEL_4k:"4K",RESET_THEME:"重置主题",BTN_PLAY:"播放/结束播放",BTN_SOUND:"声音",BTN_RECORDVIDEO:"录屏",BTN_CAPTURE:"截图",BTN_TALK:"对讲",BTN_ZOOM:"电子放大",BTN_3D_ZOOM:"3D定位",BTN_PTZ:"云台控制",BTN_EXPEND:"全局全屏",BTN_WEBEXPEND:"网页全屏",BTN_HD:"画面清晰度",BTN_SPEED:"回放倍速",BTN_CLOUDREC:"云存储回放",BTN_CLOUDRECORD:"云录制",BTN_REC:"本地存储",DEVICE_NAME:"设备名称",DEVICE_ID:"设备序列号",CAPTURE_SUCCESS:"截图成功",CAPTURE_FAILED:"截图失败",START_RECORD_SUCCESS:"开始录制成功",START_RECORD_FAILED:"开始录制失败",STOP_RECORD_SUCCESS:"停止录制成功",STOP_RECORD_FAILED:"停止录制失败",RECORD_TIPS:"今日录像",RECORDS:"个录像",OPEN_SOUND:"开启声音",CLOSE_SOUND:"关闭声音",SOUND_OPENED:"当前已经有画面正在播放声音",ZOOM:"电子放大",START_ZOOM:"开启电子放大",CLOSE_ZOOM:"关闭电子放大",ZOOM_ADD:"+",ZOOM_SUB:"-",ZOOM_ADD_MAX:"已经放大到最大倍数8.0X",ZOOM_SUB_MIN:"已经缩小到最小倍数1.0X",ZOOM_LIMIT_MAX:"超出最大倍率8.0X",ZOOM_LIMIT_MIN:"超出最小倍率1.0X","3D_ZOOM":"3D定位","3D_ZOOM_DISABLE":"未启用3D定位功能","3D_ZOOM_FAILED":"3D定位失败,请重试",START_3D_ZOOM:"开启3D定位",CLOSE_3D_ZOOM:"关闭3D定位",DEVICE_NOT_SUPPORT_3D_ZOOM:"当前设备不支持3D定位功能","3D_ZOOM_ACTIVED":"3D定位已处于开启状态","3D_ZOOM_NOT_ACTIVED":"未启用3D定位功能","3D_ZOOM_CLOSED":"3D定位已处于关闭状态",CHANGE_ZOOM_TYPE:"改变缩放模式",FULLSCREEN:"全局全屏",FULLSCREEN_EXIT:"退出全局全屏",GET_WEB_FULLSCREEN_STATUS:"获取浏览器网页全屏状态",WEB_FULLSCREEN:"开启网页全屏",WEB_FULLSCREEN_EXIT:"退出网页全屏",DESTROY:"销毁",GET_CAPACITY:"获取设备能力级",GET_PTZ_STATUS:"获取当前云台状态",GET_PTZ_STATUS_FAILED:"未加载Theme模块,无法获取云台状态",MOBILE_HIDE_PTZ:"移动端,非全屏状态不展示云台",OPTION_PTZ_FAILED:"未加载Theme模块,无法操作云台",MOBILE_PTZ_TIPS:"请通过操控云台来调整摄像机视角",PTZ_FAST:"快",PTZ_MID:"中",PTZ_SLOW:"慢",PTZ_SPEED:"调整云台转动速度",DEVICE_ZOOM:"控制设备放大/缩小画面",DEVICE_FOCUS:"调整设备焦距",NOT_SUPPORT_DEVICE_ZOOM:"当前设备不支持物理缩放",NOT_SUPPORT_FOCUS:"当前设备不支持变焦",MIRROR:"镜像翻转",MIRROR_TYPE_ERROR:"翻转参数类型错误",CHANGE_FEC_TYPE:"切换鱼眼矫正类型",DEVICE_NOT_SUPPORT:"设备不支持鱼眼模式",TYPE_NOT_SUPPORT:"鱼眼矫正类型暂时不支持",FEC_SUPPORT_VERSION:"当前只有V3软解支持鱼眼矫正",NO_CANVAS_ID:"鱼眼矫正类型需要分屏,但是没有传正确的分屏的canvas id",SET_FEC_PARAMS:"设置3D矫正视角参数",GET_FEC_PARAMS:"获取3D矫正视角参数",SET_FEC_PARAMS_FAILED:"该矫正类型不能设置3D矫正视角参数",GET_FEC_PARAMS_FAILED:"该矫正类型不能获取3D矫正视角参数",GET_FEC_PARAMS_SUPPORT_VERSION:"当前只有V3软解支持鱼眼矫正获取3D矫正视角参数",SET_WATERMARK:"设置水印",TALK_PERMISSION_DENIED:"对讲失败,请检查麦克风权限",TALK_ERROR:"对讲失败,请检查麦克风或网络",TALK_TALKING:"当前已经有设备正在对讲",videoFormat:"编码格式",frameRate:"帧率",systemFormat:"封装格式",resolution:"分辨率",bitrate:"码率",frameLostRate:"丢帧率",lagRate:"卡顿比"},en_US={391001:"Illegal streaming address or port",391004:"Failed to connect to streaming service",395e3:"Internal service exception, please try again later",395400:"Preview streaming parameter exception",395402:"Device has no recording in the current time period, please select another time period",395403:"Service exception, please try again or contact customer service",395404:"The device is not online, Please optimize the network and restart the device to try again",395405:"Device side network is poor, please check and optimize the network and restart the device to try again",395406:"Token expired, please try again",395407:"Client URL format error",395409:"Service exception, please try again or contact customer service",395410:"Service exception, please try again or contact customer service",395411:"No permission to view the current device",395412:"Service exception, please try again or contact customer service",395413:"Service exception, please try again or contact customer service",395415:"Device channel error",395416:"The current number of viewing channels has reached the maximum limit of the device. Please restart the device or contact the device after-sales service",395451:"The device does not support this bitstream type. Please check the device channel support or contact the hardware after-sales service",395452:"The network on the device side is poor. Please check and optimize the network and restart the device to try again",395454:"The network on the device side is poor. Please check and optimize the network and restart the device to try again",395455:"The device channel is abnormal. Please check the channel configuration and try again",395456:"The device channel is abnormal. Please check the channel configuration and try again",395457:"Service exception, please try again or contact customer service",395458:"Service exception, please try again or contact customer service",395459:"Service exception, please try again or contact customer service",395460:"Service exception, please try again or contact customer service",395492:"Service exception, please try again or contact customer service",395500:"Service exception, please try again or contact customer service",395501:"Service exception, please try again or contact customer service",395503:"Service exception, please try again or contact customer service",395504:"Service exception, please try again or contact customer service",395505:"Service exception, please try again or contact customer service",395506:"Direct streaming of this device is not supported at present, please try again or contact customer service after connecting to NVR",395507:"Device 4G unlimited traffic package only supports EZVIZ Cloud Video APP, please contact APP customer service to change the package",395530:"Service exception, please try again or contact customer service",395544:"Video source does not exist, please check device configuration",395545:"Service exception, please try again or contact customer service",395546:"The number of simultaneous viewers has reached the maximum limit of the account, please contact customer service",395547:"The number of simultaneous viewers has reached the maximum limit of the account, please contact customer service",395556:"Service exception, please try again or contact customer service",395557:"Device streaming failed, please contact hardware after-sales",395558:"Error in finding the start time of recording",395560:"Service exception, please try again or contact customer service",395561:"Service exception, please try again or contact customer service",395562:"Service exception, please try again or contact customer service",395563:"Service exception, please try again or contact customer service",395564:"Service exception, please try again or contact customer service",395566:"Service exception, please try again or contact customer service",395567:"Service exception, please try again or contact customer service",395568:"Service exception, please try again or contact customer service",395569:"Service exception, please try again or contact customer service",395600:"Service exception, please try again or contact customer service",395601:"Service exception, please try again or contact customer service",395602:"Service exception, please try again or contact customer service",395610:"Service exception, please try again or contact customer service",395620:"Service exception, please try again or contact customer service",395701:"Service exception, please try again or contact customer service",395702:"Service exception, please try again or contact customer service",395703:"Service exception, please try again or contact customer service",396001:"Service exception, please try again or contact customer service",396099:"Service exception, please try again or contact customer service",396101:"Service exception, please try again or contact customer service",396102:"Service exception, please try again or contact customer service",396103:"Service exception, please try again or contact customer service",396104:"Service exception, please try again or contact customer service",396105:"Device abnormality, please try again or contact customer service",396106:"Device channel abnormality, please check the channel configuration and try again",396107:"Device abnormality, please try again or contact customer service",396108:"Service exception, please try again or contact customer service",396109:"Service exception, please try again or contact customer service",396110:"Device abnormality, please try again or contact customer service",396501:"Device abnormality, please try again or contact customer service",396502:"Device abnormality, please try again or contact customer service",396503:"Device abnormality, please try again or contact customer service",396504:"Device abnormality, please try again or contact customer service",396505:"Device abnormality, please try again or contact customer service",396506:"Device abnormality, please try again or contact customer service",396508:"Device abnormality, please try again or contact customer service",396509:"Device abnormality, please try again or contact customer service",396510:"Device abnormality, please try again or contact customer service",396511:"Device abnormality, please try again or contact customer service",396512:"Device abnormality, please try again or contact customer service",396513:"Device abnormality, please try again or contact customer service",396514:"Device abnormality, please try again or contact customer service",396515:"Device abnormality, please try again or contact customer service",396516:"Device abnormality, please try again or contact customer service",396517:"Device abnormality, please try again or contact customer service",396518:"Device abnormality, please try again or contact customer service",396519:"Device network abnormality, please check and optimize the network and restart the device to try again",396520:"Device network abnormality, please check and optimize the network and restart the device to try again",396700:"Service exception, please try again or contact customer service",396701:"Playback ends",397001:"Service exception, please try again or contact customer service",397002:"Service exception, please try again or contact customer service",397003:"Service exception, please try again or contact customer service",397004:"Service exception, please try again or contact customer service",397005:"Device streaming connection is disconnected, please check the network and try again",397006:"Service exception, please try again or contact customer service",397007:"Service exception, please try again or contact customer service",399e3:"Service exception, please try again or contact customer service",399001:"Client network timeout",399002:"Service exception, please try again or contact customer service",399016:"Token invalid, please update and retry",399048:"The number of simultaneous viewers has reached the maximum account limit, please contact customer service",399049:"The number of simultaneous viewers has reached the maximum account limit, please contact customer service",3810001:"Operation failed",3810002:"Account exception, operation failed",3810005:"Account exception, operation failed",3820002:"Device does not exist, please check the device connection status",3820006:"Operation failed, please check the network condition of the device",3820007:"Operation failed, please check the network condition of the device",3820008:"The operation is too frequent, please try again later",3820014:"Operation failed",3820032:"The channel does not exist. Please check the device connection status",3849999:"Operation failed, please try again",386e4:"Operation failed, the device does not support this operation",3860001:"Operation failed, user does not have permission",3860002:"The device has been rotated to the upper limit position",3860003:"The device has been rotated to the lower limit position",3860004:"The device has rotated to the left limit position",3860005:"The device has been rotated to the right limit position",3860006:"Operation failed, please try again",3860009:"The device is currently in operation",3860020:"Operation failed",BTN_RETRY:"Retry",BTN_RELOAD:"Reload",LOADING:"Loading, please wait",TIMEFORMAT_ERROR:"The time format is wrong, please confirm",USE_MULTITHREADING_WARING:"Your current browser can enable the multi-threaded feature of Google Labs to get a better playback experience and avoid browser freezes and crashes. For details, see:",OPEN_INSTRUCTIONS:"Enablement instructions",INIT_FINSHED:"Initialize the player completed",INIT_SUCCESS:"Initialize the player successfully",GET_PLAYURL_FAILED:"Failed to obtain the playback address",VIDEO_LOADING:"Video loading",DISCONNECT:"Connection disconnected, please try again",DEVICE_ENCRYPTED:"Device encrypted",NO_RECORD:"No video clips found",PLAY_FAILED:"Play failed, please check the device and client network",PLAY_SUCCESS:"Play successfully",STOP_SUCCESS:"Stop successfully",CHANGE_PLAYURL_SUCCESS:"Switch the playback address successfully",CHANGE_PLAYURL_FAILED:"Switch the playback address failed",GET_OSD_TIME:"Get OSD time",GET_OSD_TIME_FAILED:"Failed to get OSD time",SET_POSTER:"Set the player cover",RESIZE:"Adjust the player size",SPEED:"speeds",SPEED_RATE:"X",SPEED_CANCEL:"Cancel",GET_SPEED:"Get the current playback rate",MAX_SPEED_LIMIT:"The maximum playback speed is 4 times the speed",MIN_SPEED_LIMIT:"The minimum playback speed is 0.5 times the speed",SEEK_CANNOT_CROSS_DAYS:"The seek time cannot cross dates",SEEK_TIMEFORMAT_ERROR:"The seek time format is wrong",PAUSE:"Pause",PAUSE_FAILED:"Pause failed",RESUME:"Resume playback",RESUME_FAILED:"Resume playback failed",CALL_END:"Call ended",USER_DO_NOT_OWN_DEVICE:"loadingSetTextWithBtn",NO_CLOUD_RECORD:"The device has no cloud recorded video on that day",CHANGE_VIDEO_LEVEL:"Switch definition",CHANGE_VIDEO_LEVEL_FAIL:"Switch definition failed",GET_VIDEO_LEVEL_LIST:"Get the definition list supported by the device",PLEASE_INPUT_RIGHT_VIDEO_LEVEL:"Please enter the correct definition",VIDEO_LEVEL_NOT_SUPPORT:"The current device does not support this definition",VIDEO_LEVEL_AUTO:"Auto",VIDEO_LEVEL_FLUENT:"Fluent",VIDEO_LEVEL_STANDARD:"Standard",VIDEO_LEVEL_HEIGH:"heigh",VIDEO_LEVEL_SUPER:"Super",VIDEO_LEVEL_EXTREME:"Extreme",VIDEO_LEVEL_3K:"3K",VIDEO_LEVEL_4k:"4K",RESET_THEME:"Reset theme",BTN_PLAY:"Play/end playback",BTN_SOUND:"Sound",BTN_RECORDVIDEO:"Screen recording",BTN_CAPTURE:"Screenshot",BTN_TALK:"Intercom",BTN_ZOOM:"Electronic zoom",BTN_3D_ZOOM:"3D positioning",BTN_PTZ:"PTZ control",BTN_EXPEND:"Global full screen",BTN_WEBEXPEND:"Web page full screen",BTN_HD:"Image definition",BTN_SPEED:"Playback speed",BTN_CLOUDREC:"Cloud storage playback",BTN_CLOUDRECORD:"Cloud recording",BTN_REC:"Local storage",DEVICE_NAME:"Device name",DEVICE_ID:"Device serial number",CAPTURE_SUCCESS:"Screenshot successful",CAPTURE_FAILED:"Screenshot failed",START_RECORD_SUCCESS:"Start recording successful",START_RECORD_FAILED:"Screenshot failed",STOP_RECORD_SUCCESS:"Stop recording successful",STOP_RECORD_FAILED:"Stop recording failed",RECORD_TIPS:"Today's recording",RECORDS:" in total",OPEN_SOUND:"Turn on sound",CLOSE_SOUND:"Turn off sound",SOUND_OPENED:"There is already a picture playing sound at the moment",ZOOM:"Electronic zoom",START_ZOOM:"Turn on electronic zoom",CLOSE_ZOOM:"Turn off electronic zoom",ZOOM_ADD:"+",ZOOM_SUB:"-",ZOOM_ADD_MAX:"It has been enlarged to a maximum magnification of 8.0X",ZOOM_SUB_MIN:"It has been reduced to the minimum multiple of 1.0X",ZOOM_LIMIT_MAX:"Exceeding maximum magnification of 8.0X",ZOOM_LIMIT_MIN:"Exceeding the minimum magnification of 1.0X","3D_ZOOM":"3D positioning","3D_ZOOM_DISABLE":"3D positioning function not enabled","3D_ZOOM_FAILED":"3D positioning failed, please try again",START_3D_ZOOM:"Turn on 3D positioning",CLOSE_3D_ZOOM:"Turn off 3D positioning",DEVICE_NOT_SUPPORT_3D_ZOOM:"Current device does not support 3D positioning function","3D_ZOOM_ACTIVED":"3D positioning is already enabled","3D_ZOOM_NOT_ACTIVED":"3D positioning function is not enabled","3D_ZOOM_CLOSED":"3D positioning is already disabled",CHANGE_ZOOM_TYPE:"Change zoom mode",FULLSCREEN:"Global full screen",FULLSCREEN_EXIT:"Exit global full screen",GET_WEB_FULLSCREEN_STATUS:"Get browser web page full screen status",WEB_FULLSCREEN:"Turn on web page full screen",WEB_FULLSCREEN_EXIT:"Exit full screen webpage",DESTROY:"Destroy",GET_CAPACITY:"Get device capability level",GET_PTZ_STATUS:"Get current PTZ status",GET_PTZ_STATUS_FAILED:"Theme module is not loaded, PTZ status cannot be obtained",MOBILE_HIDE_PTZ:"Mobile terminal, PTZ is not displayed in non-full screen state",OPTION_PTZ_FAILED:"Theme module is not loaded, PTZ cannot be operated",MOBILE_PTZ_TIPS:"Adjust camera angle by manipulating gimbal",PTZ_FAST:"F",PTZ_MID:"M",PTZ_SLOW:"S",PTZ_SPEED:"Adjust the PTZ rotation speed",DEVICE_ZOOM:"Control the device to zoom in/out of the screen",DEVICE_FOCUS:"Adjusting the device's focal length",NOT_SUPPORT_DEVICE_ZOOM:"Device does not support physical zoom",NOT_SUPPORT_FOCUS:"Device does not support adjusting the focal length",MIRROR:"Mirror flip",MIRROR_TYPE_ERROR:"Flip parameter type error",CHANGE_FEC_TYPE:"Switch fisheye correction type",DEVICE_NOT_SUPPORT:"Device does not support fisheye mode",TYPE_NOT_SUPPORT:"Fisheye correction type is not supported temporarily",FEC_SUPPORT_VERSION:"Currently only V3 software solution supports fisheye correction",NO_CANVAS_ID:"Fisheye correction type requires split screen, but the correct split screen canvas id is not passed",SET_FEC_PARAMS:"Set 3D correction perspective parameters",GET_FEC_PARAMS:"Get 3D correction perspective parameters",SET_FEC_PARAMS_FAILED:"This correction type cannot set 3D correction perspective parameters",GET_FEC_PARAMS_FAILED:"This correction type cannot get 3D correction perspective parameters",GET_FEC_PARAMS_SUPPORT_VERSION:"Currently only V3 software solution supports fisheye correction Get 3D correction perspective parameters",SET_WATERMARK:"Set watermark",TALK_PERMISSION_DENIED:"Permission denied",TALK_ERROR:"Talk failed, please check microphone or network",TALK_TALKING:"Currently devices that are talking to each other",videoFormat:"Video format",frameRate:"Frame fate",systemFormat:"System format",resolution:"Resolution",bitrate:"Bitrate",frameLostRate:"Frame Lost rate",lagRate:"Lag rate"}; /* * @ezuikit/utils-i18n v1.1.1 * i18n utils * Copyright (c) 2025-08-30 Ezviz-OpenBiz * Released under the MIT License. */ -class Fa{t(A,e){const t=this._translations[this._locale];let i;if(!t)return"function"==typeof this.options.customizeMissing?this.options.customizeMissing(A,e):`[missing "${this._locale}" locale]`;if("string"==typeof A&&A.includes(".")&&!(A in t)){const[a,r]=this._findChainValue(t,A);if(r)i=a;else{if(void 0===(null==e?void 0:e.defaultvalue))return"function"==typeof this.options.customizeMissing?this.options.customizeMissing(A,e):`[missing "${this._locale}.${A}" translation]`;i=e.defaultvalue}}else if(A in t)i=t[A];else{if(void 0===(null==e?void 0:e.defaultvalue))return"function"==typeof this.options.customizeMissing?this.options.customizeMissing(A,e):`[missing "${this._locale}.${A}" translation]`;i=e.defaultvalue}return"string"==typeof i&&e&&/\{\{\s*(\w+)\s*\}\}/.test(i)?i.replace(/\{\{\s*(\w+)\s*\}\}/g,((A,t)=>String(e[t])||"")):i}get locale(){return this._locale}get translations(){return this._translations}appendTranslations(A){this._translations=u(this._translations,A,{clone:!1}),this._locale||(this._locale=Object.keys(this._translations)[0]),this._onChange()}switchLocale(A){A in this._translations&&(this._locale=A,this._onChange())}switchTranslation(A){A in this._translations&&(this._locale=A,this._onChange())}getCurrentLocale(){return this._locale}getCurrentTranslation(){return this._translations[this._locale]}getVersion(){return"1.1.0"}_onChange(){return null==this.options.onChange?void 0:this.options.onChange.call(this.options,this)}_findChainValue(A,e){const t=e.split(".");let i=A;for(let A=0;AString(variables[varName])||"")):value}get locale(){return this._locale}get translations(){return this._translations}appendTranslations(translations){this._translations=deepmerge(this._translations,translations,{clone:!1}),this._locale||(this._locale=Object.keys(this._translations)[0]),this._onChange()}switchLocale(locale){locale in this._translations&&(this._locale=locale,this._onChange())}switchTranslation(locale){locale in this._translations&&(this._locale=locale,this._onChange())}getCurrentLocale(){return this._locale}getCurrentTranslation(){return this._translations[this._locale]}getVersion(){return"1.1.0"}_onChange(){return null==this.options.onChange?void 0:this.options.onChange.call(this.options,this)}_findChainValue(obj,path){const paths=path.split(".");let translation=obj;for(let i=0;iA(e)))}off(A,e){A&&e&&this.events[A]&&this.events[A].splice(this.events[A].indexOf(e),1)}once(A,e){const t=this;this.on(A,(function i(){const a=Array.prototype.slice.call(arguments);e.apply(null,a),t.off(A,i)}))}removeAllListener(){this.events={}}constructor(){this.events={}}};!function(A){"object"==typeof exports&&"undefined"!=typeof module?module.exports=A():"function"==typeof define&&define.amd?define([],A):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).adapter=A()}((function(){return function A(e,t,i){function a(n,o){if(!t[n]){if(!e[n]){var s="function"==typeof require&&require;if(!o&&s)return s(n,!0);if(r)return r(n,!0);var g=new Error("Cannot find module '"+n+"'");throw g.code="MODULE_NOT_FOUND",g}var l=t[n]={exports:{}};e[n][0].call(l.exports,(function(A){return a(e[n][1][A]||A)}),l,l.exports,A,e,t,i)}return t[n].exports}for(var r="function"==typeof require&&require,n=0;ne(t)))}off(e,t){e&&t&&this.events[e]&&this.events[e].splice(this.events[e].indexOf(t),1)}once(e,t){const r=this;this.on(e,(function n(){const i=Array.prototype.slice.call(arguments);t.apply(null,i),r.off(e,n)}))}removeAllListener(){this.events={}}constructor(){this.events={}}};!function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).adapter=e()}((function(){return function e(t,r,n){function i(a,s){if(!r[a]){if(!t[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var d=new Error("Cannot find module '"+a+"'");throw d.code="MODULE_NOT_FOUND",d}var l=r[a]={exports:{}};t[a][0].call(l.exports,(function(e){return i(t[a][1][e]||e)}),l,l.exports,e,t,r,n)}return r[a].exports}for(var o="function"==typeof require&&require,a=0;a0&&void 0!==arguments[0]?arguments[0]:{}).window,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0},t=i.log,g=i.detectBrowser(A),l={browserDetails:g,commonShim:s,extractVersion:i.extractVersion,disableLog:i.disableLog,disableWarnings:i.disableWarnings};switch(g.browser){case"chrome":if(!a||!a.shimPeerConnection||!e.shimChrome)return t("Chrome shim is not included in this adapter release."),l;t("adapter.js shimming chrome."),l.browserShim=a,a.shimGetUserMedia(A),a.shimMediaStream(A),a.shimPeerConnection(A),a.shimOnTrack(A),a.shimAddTrackRemoveTrack(A),a.shimGetSendersWithDtmf(A),a.shimGetStats(A),a.shimSenderReceiverGetStats(A),a.fixNegotiationNeeded(A),s.shimRTCIceCandidate(A),s.shimConnectionState(A),s.shimMaxMessageSize(A),s.shimSendThrowTypeError(A),s.removeAllowExtmapMixed(A);break;case"firefox":if(!n||!n.shimPeerConnection||!e.shimFirefox)return t("Firefox shim is not included in this adapter release."),l;t("adapter.js shimming firefox."),l.browserShim=n,n.shimGetUserMedia(A),n.shimPeerConnection(A),n.shimOnTrack(A),n.shimRemoveStream(A),n.shimSenderGetStats(A),n.shimReceiverGetStats(A),n.shimRTCDataChannel(A),n.shimAddTransceiver(A),n.shimCreateOffer(A),n.shimCreateAnswer(A),s.shimRTCIceCandidate(A),s.shimConnectionState(A),s.shimMaxMessageSize(A),s.shimSendThrowTypeError(A);break;case"edge":if(!r||!r.shimPeerConnection||!e.shimEdge)return t("MS edge shim is not included in this adapter release."),l;t("adapter.js shimming edge."),l.browserShim=r,r.shimGetUserMedia(A),r.shimGetDisplayMedia(A),r.shimPeerConnection(A),r.shimReplaceTrack(A),s.shimMaxMessageSize(A),s.shimSendThrowTypeError(A);break;case"safari":if(!o||!e.shimSafari)return t("Safari shim is not included in this adapter release."),l;t("adapter.js shimming safari."),l.browserShim=o,o.shimRTCIceServerUrls(A),o.shimCreateOfferLegacy(A),o.shimCallbacksAPI(A),o.shimLocalStreamsAPI(A),o.shimRemoteStreamsAPI(A),o.shimTrackEventTransceiver(A),o.shimGetUserMedia(A),s.shimRTCIceCandidate(A),s.shimMaxMessageSize(A),s.shimSendThrowTypeError(A),s.removeAllowExtmapMixed(A);break;default:t("Unsupported browser!")}return l};var i=g(A("./utils")),a=g(A("./chrome/chrome_shim")),r=g(A("./edge/edge_shim")),n=g(A("./firefox/firefox_shim")),o=g(A("./safari/safari_shim")),s=g(A("./common_shim"));function g(A){if(A&&A.__esModule)return A;var e={};if(null!=A)for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t]);return e.default=A,e}},{"./chrome/chrome_shim":3,"./common_shim":6,"./edge/edge_shim":7,"./firefox/firefox_shim":11,"./safari/safari_shim":14,"./utils":15}],3:[function(A,e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.shimGetDisplayMedia=t.shimGetUserMedia=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},a=A("./getusermedia");Object.defineProperty(t,"shimGetUserMedia",{enumerable:!0,get:function(){return a.shimGetUserMedia}});var r=A("./getdisplaymedia");Object.defineProperty(t,"shimGetDisplayMedia",{enumerable:!0,get:function(){return r.shimGetDisplayMedia}}),t.shimMediaStream=function(A){A.MediaStream=A.MediaStream||A.webkitMediaStream},t.shimOnTrack=function(A){if("object"===(void 0===A?"undefined":i(A))&&A.RTCPeerConnection&&!("ontrack"in A.RTCPeerConnection.prototype)){Object.defineProperty(A.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(A){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=A)},enumerable:!0,configurable:!0});var e=A.RTCPeerConnection.prototype.setRemoteDescription;A.RTCPeerConnection.prototype.setRemoteDescription=function(){var t=this;return this._ontrackpoly||(this._ontrackpoly=function(e){e.stream.addEventListener("addtrack",(function(i){var a;a=A.RTCPeerConnection.prototype.getReceivers?t.getReceivers().find((function(A){return A.track&&A.track.id===i.track.id})):{track:i.track};var r=new Event("track");r.track=i.track,r.receiver=a,r.transceiver={receiver:a},r.streams=[e.stream],t.dispatchEvent(r)})),e.stream.getTracks().forEach((function(i){var a;a=A.RTCPeerConnection.prototype.getReceivers?t.getReceivers().find((function(A){return A.track&&A.track.id===i.id})):{track:i};var r=new Event("track");r.track=i,r.receiver=a,r.transceiver={receiver:a},r.streams=[e.stream],t.dispatchEvent(r)}))},this.addEventListener("addstream",this._ontrackpoly)),e.apply(this,arguments)}}else n.wrapPeerConnectionEvent(A,"track",(function(A){return A.transceiver||Object.defineProperty(A,"transceiver",{value:{receiver:A.receiver}}),A}))},t.shimGetSendersWithDtmf=function(A){if("object"===(void 0===A?"undefined":i(A))&&A.RTCPeerConnection&&!("getSenders"in A.RTCPeerConnection.prototype)&&"createDTMFSender"in A.RTCPeerConnection.prototype){var e=function(A,e){return{track:e,get dtmf(){return void 0===this._dtmf&&("audio"===e.kind?this._dtmf=A.createDTMFSender(e):this._dtmf=null),this._dtmf},_pc:A}};if(!A.RTCPeerConnection.prototype.getSenders){A.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};var t=A.RTCPeerConnection.prototype.addTrack;A.RTCPeerConnection.prototype.addTrack=function(A,i){var a=t.apply(this,arguments);return a||(a=e(this,A),this._senders.push(a)),a};var a=A.RTCPeerConnection.prototype.removeTrack;A.RTCPeerConnection.prototype.removeTrack=function(A){a.apply(this,arguments);var e=this._senders.indexOf(A);-1!==e&&this._senders.splice(e,1)}}var r=A.RTCPeerConnection.prototype.addStream;A.RTCPeerConnection.prototype.addStream=function(A){var t=this;this._senders=this._senders||[],r.apply(this,[A]),A.getTracks().forEach((function(A){t._senders.push(e(t,A))}))};var n=A.RTCPeerConnection.prototype.removeStream;A.RTCPeerConnection.prototype.removeStream=function(A){var e=this;this._senders=this._senders||[],n.apply(this,[A]),A.getTracks().forEach((function(A){var t=e._senders.find((function(e){return e.track===A}));t&&e._senders.splice(e._senders.indexOf(t),1)}))}}else if("object"===(void 0===A?"undefined":i(A))&&A.RTCPeerConnection&&"getSenders"in A.RTCPeerConnection.prototype&&"createDTMFSender"in A.RTCPeerConnection.prototype&&A.RTCRtpSender&&!("dtmf"in A.RTCRtpSender.prototype)){var o=A.RTCPeerConnection.prototype.getSenders;A.RTCPeerConnection.prototype.getSenders=function(){var A=this,e=o.apply(this,[]);return e.forEach((function(e){return e._pc=A})),e},Object.defineProperty(A.RTCRtpSender.prototype,"dtmf",{get:function(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}},t.shimGetStats=function(A){if(A.RTCPeerConnection){var e=A.RTCPeerConnection.prototype.getStats;A.RTCPeerConnection.prototype.getStats=function(){var A=this,t=Array.prototype.slice.call(arguments),i=t[0],a=t[1],r=t[2];if(arguments.length>0&&"function"==typeof i)return e.apply(this,arguments);if(0===e.length&&(0===arguments.length||"function"!=typeof i))return e.apply(this,[]);var n=function(A){var e={};return A.result().forEach((function(A){var t={id:A.id,timestamp:A.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[A.type]||A.type};A.names().forEach((function(e){t[e]=A.stat(e)})),e[t.id]=t})),e},o=function(A){return new Map(Object.keys(A).map((function(e){return[e,A[e]]})))};return arguments.length>=2?e.apply(this,[function(A){a(o(n(A)))},i]):new Promise((function(t,i){e.apply(A,[function(A){t(o(n(A)))},i])})).then(a,r)}}},t.shimSenderReceiverGetStats=function(A){if("object"===(void 0===A?"undefined":i(A))&&A.RTCPeerConnection&&A.RTCRtpSender&&A.RTCRtpReceiver){if(!("getStats"in A.RTCRtpSender.prototype)){var e=A.RTCPeerConnection.prototype.getSenders;e&&(A.RTCPeerConnection.prototype.getSenders=function(){var A=this,t=e.apply(this,[]);return t.forEach((function(e){return e._pc=A})),t});var t=A.RTCPeerConnection.prototype.addTrack;t&&(A.RTCPeerConnection.prototype.addTrack=function(){var A=t.apply(this,arguments);return A._pc=this,A}),A.RTCRtpSender.prototype.getStats=function(){var A=this;return this._pc.getStats().then((function(e){return n.filterStats(e,A.track,!0)}))}}if(!("getStats"in A.RTCRtpReceiver.prototype)){var a=A.RTCPeerConnection.prototype.getReceivers;a&&(A.RTCPeerConnection.prototype.getReceivers=function(){var A=this,e=a.apply(this,[]);return e.forEach((function(e){return e._pc=A})),e}),n.wrapPeerConnectionEvent(A,"track",(function(A){return A.receiver._pc=A.srcElement,A})),A.RTCRtpReceiver.prototype.getStats=function(){var A=this;return this._pc.getStats().then((function(e){return n.filterStats(e,A.track,!1)}))}}if("getStats"in A.RTCRtpSender.prototype&&"getStats"in A.RTCRtpReceiver.prototype){var r=A.RTCPeerConnection.prototype.getStats;A.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof A.MediaStreamTrack){var e=arguments[0],t=void 0,i=void 0,a=void 0;return this.getSenders().forEach((function(A){A.track===e&&(t?a=!0:t=A)})),this.getReceivers().forEach((function(A){return A.track===e&&(i?a=!0:i=A),A.track===e})),a||t&&i?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():i?i.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return r.apply(this,arguments)}}}},t.shimAddTrackRemoveTrackWithNative=s,t.shimAddTrackRemoveTrack=function(A){if(A.RTCPeerConnection){var e=n.detectBrowser(A);if(A.RTCPeerConnection.prototype.addTrack&&e.version>=65)return s(A);var t=A.RTCPeerConnection.prototype.getLocalStreams;A.RTCPeerConnection.prototype.getLocalStreams=function(){var A=this,e=t.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map((function(e){return A._reverseStreams[e.id]}))};var i=A.RTCPeerConnection.prototype.addStream;A.RTCPeerConnection.prototype.addStream=function(e){var t=this;if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},e.getTracks().forEach((function(A){if(t.getSenders().find((function(e){return e.track===A})))throw new DOMException("Track already exists.","InvalidAccessError")})),!this._reverseStreams[e.id]){var a=new A.MediaStream(e.getTracks());this._streams[e.id]=a,this._reverseStreams[a.id]=e,e=a}i.apply(this,[e])};var a=A.RTCPeerConnection.prototype.removeStream;A.RTCPeerConnection.prototype.removeStream=function(A){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},a.apply(this,[this._streams[A.id]||A]),delete this._reverseStreams[this._streams[A.id]?this._streams[A.id].id:A.id],delete this._streams[A.id]},A.RTCPeerConnection.prototype.addTrack=function(e,t){var i=this;if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");var a=[].slice.call(arguments,1);if(1!==a.length||!a[0].getTracks().find((function(A){return A===e})))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find((function(A){return A.track===e})))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};var r=this._streams[t.id];if(r)r.addTrack(e),Promise.resolve().then((function(){i.dispatchEvent(new Event("negotiationneeded"))}));else{var n=new A.MediaStream([e]);this._streams[t.id]=n,this._reverseStreams[n.id]=t,this.addStream(n)}return this.getSenders().find((function(A){return A.track===e}))},["createOffer","createAnswer"].forEach((function(e){var t=A.RTCPeerConnection.prototype[e],i=o({},e,(function(){var A=this,e=arguments;return arguments.length&&"function"==typeof arguments[0]?t.apply(this,[function(t){var i=l(A,t);e[0].apply(null,[i])},function(A){e[1]&&e[1].apply(null,A)},arguments[2]]):t.apply(this,arguments).then((function(e){return l(A,e)}))}));A.RTCPeerConnection.prototype[e]=i[e]}));var r=A.RTCPeerConnection.prototype.setLocalDescription;A.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=(A=this,t=(e=arguments[0]).sdp,Object.keys(A._reverseStreams||[]).forEach((function(e){var i=A._reverseStreams[e],a=A._streams[i.id];t=t.replace(new RegExp(i.id,"g"),a.id)})),new RTCSessionDescription({type:e.type,sdp:t})),r.apply(this,arguments)):r.apply(this,arguments);var A,e,t};var g=Object.getOwnPropertyDescriptor(A.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(A.RTCPeerConnection.prototype,"localDescription",{get:function(){var A=g.get.apply(this);return""===A.type?A:l(this,A)}}),A.RTCPeerConnection.prototype.removeTrack=function(A){var e=this;if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!A._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(A._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};var t=void 0;Object.keys(this._streams).forEach((function(i){e._streams[i].getTracks().find((function(e){return A.track===e}))&&(t=e._streams[i])})),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(A.track),this.dispatchEvent(new Event("negotiationneeded")))}}function l(A,e){var t=e.sdp;return Object.keys(A._reverseStreams||[]).forEach((function(e){var i=A._reverseStreams[e],a=A._streams[i.id];t=t.replace(new RegExp(a.id,"g"),i.id)})),new RTCSessionDescription({type:e.type,sdp:t})}},t.shimPeerConnection=function(A){var e=n.detectBrowser(A);if(!A.RTCPeerConnection&&A.webkitRTCPeerConnection&&(A.RTCPeerConnection=A.webkitRTCPeerConnection),A.RTCPeerConnection){e.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(e){var t=A.RTCPeerConnection.prototype[e],i=o({},e,(function(){return arguments[0]=new("addIceCandidate"===e?A.RTCIceCandidate:A.RTCSessionDescription)(arguments[0]),t.apply(this,arguments)}));A.RTCPeerConnection.prototype[e]=i[e]}));var t=A.RTCPeerConnection.prototype.addIceCandidate;A.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?e.version<78&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():t.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}},t.fixNegotiationNeeded=function(A){n.wrapPeerConnectionEvent(A,"negotiationneeded",(function(A){if("stable"===A.target.signalingState)return A}))};var n=function(A){if(A&&A.__esModule)return A;var e={};if(null!=A)for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t]);return e.default=A,e}(A("../utils.js"));function o(A,e,t){return e in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}function s(A){A.RTCPeerConnection.prototype.getLocalStreams=function(){var A=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((function(e){return A._shimmedLocalStreams[e][0]}))};var e=A.RTCPeerConnection.prototype.addTrack;A.RTCPeerConnection.prototype.addTrack=function(A,t){if(!t)return e.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};var i=e.apply(this,arguments);return this._shimmedLocalStreams[t.id]?-1===this._shimmedLocalStreams[t.id].indexOf(i)&&this._shimmedLocalStreams[t.id].push(i):this._shimmedLocalStreams[t.id]=[t,i],i};var t=A.RTCPeerConnection.prototype.addStream;A.RTCPeerConnection.prototype.addStream=function(A){var e=this;this._shimmedLocalStreams=this._shimmedLocalStreams||{},A.getTracks().forEach((function(A){if(e.getSenders().find((function(e){return e.track===A})))throw new DOMException("Track already exists.","InvalidAccessError")}));var i=this.getSenders();t.apply(this,arguments);var a=this.getSenders().filter((function(A){return-1===i.indexOf(A)}));this._shimmedLocalStreams[A.id]=[A].concat(a)};var i=A.RTCPeerConnection.prototype.removeStream;A.RTCPeerConnection.prototype.removeStream=function(A){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[A.id],i.apply(this,arguments)};var a=A.RTCPeerConnection.prototype.removeTrack;A.RTCPeerConnection.prototype.removeTrack=function(A){var e=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},A&&Object.keys(this._shimmedLocalStreams).forEach((function(t){var i=e._shimmedLocalStreams[t].indexOf(A);-1!==i&&e._shimmedLocalStreams[t].splice(i,1),1===e._shimmedLocalStreams[t].length&&delete e._shimmedLocalStreams[t]})),a.apply(this,arguments)}}},{"../utils.js":15,"./getdisplaymedia":4,"./getusermedia":5}],4:[function(A,e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.shimGetDisplayMedia=function(A,e){A.navigator.mediaDevices&&"getDisplayMedia"in A.navigator.mediaDevices||A.navigator.mediaDevices&&"function"==typeof e&&(A.navigator.mediaDevices.getDisplayMedia=function(t){return e(t).then((function(e){var i=t.video&&t.video.width,a=t.video&&t.video.height,r=t.video&&t.video.frameRate;return t.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:e,maxFrameRate:r||3}},i&&(t.video.mandatory.maxWidth=i),a&&(t.video.mandatory.maxHeight=a),A.navigator.mediaDevices.getUserMedia(t)}))})}},{}],5:[function(A,e,t){Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A};t.shimGetUserMedia=function(A){var e=A&&A.navigator;if(e.mediaDevices){var t=a.detectBrowser(A),n=function(A){if("object"!==(void 0===A?"undefined":i(A))||A.mandatory||A.optional)return A;var e={};return Object.keys(A).forEach((function(t){if("require"!==t&&"advanced"!==t&&"mediaSource"!==t){var a="object"===i(A[t])?A[t]:{ideal:A[t]};void 0!==a.exact&&"number"==typeof a.exact&&(a.min=a.max=a.exact);var r=function(A,e){return A?A+e.charAt(0).toUpperCase()+e.slice(1):"deviceId"===e?"sourceId":e};if(void 0!==a.ideal){e.optional=e.optional||[];var n={};"number"==typeof a.ideal?(n[r("min",t)]=a.ideal,e.optional.push(n),(n={})[r("max",t)]=a.ideal,e.optional.push(n)):(n[r("",t)]=a.ideal,e.optional.push(n))}void 0!==a.exact&&"number"!=typeof a.exact?(e.mandatory=e.mandatory||{},e.mandatory[r("",t)]=a.exact):["min","max"].forEach((function(A){void 0!==a[A]&&(e.mandatory=e.mandatory||{},e.mandatory[r(A,t)]=a[A])}))}})),A.advanced&&(e.optional=(e.optional||[]).concat(A.advanced)),e},o=function(A,a){if(t.version>=61)return a(A);if((A=JSON.parse(JSON.stringify(A)))&&"object"===i(A.audio)){var o=function(A,e,t){e in A&&!(t in A)&&(A[t]=A[e],delete A[e])};o((A=JSON.parse(JSON.stringify(A))).audio,"autoGainControl","googAutoGainControl"),o(A.audio,"noiseSuppression","googNoiseSuppression"),A.audio=n(A.audio)}if(A&&"object"===i(A.video)){var s=A.video.facingMode;s=s&&("object"===(void 0===s?"undefined":i(s))?s:{ideal:s});var g=t.version<66;if(s&&("user"===s.exact||"environment"===s.exact||"user"===s.ideal||"environment"===s.ideal)&&(!e.mediaDevices.getSupportedConstraints||!e.mediaDevices.getSupportedConstraints().facingMode||g)){delete A.video.facingMode;var l=void 0;if("environment"===s.exact||"environment"===s.ideal?l=["back","rear"]:"user"!==s.exact&&"user"!==s.ideal||(l=["front"]),l)return e.mediaDevices.enumerateDevices().then((function(e){var t=(e=e.filter((function(A){return"videoinput"===A.kind}))).find((function(A){return l.some((function(e){return A.label.toLowerCase().includes(e)}))}));return!t&&e.length&&l.includes("back")&&(t=e[e.length-1]),t&&(A.video.deviceId=s.exact?{exact:t.deviceId}:{ideal:t.deviceId}),A.video=n(A.video),r("chrome: "+JSON.stringify(A)),a(A)}))}A.video=n(A.video)}return r("chrome: "+JSON.stringify(A)),a(A)},s=function(A){return t.version>=64?A:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[A.name]||A.name,message:A.message,constraint:A.constraint||A.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}};if(e.getUserMedia=function(A,t,i){o(A,(function(A){e.webkitGetUserMedia(A,t,(function(A){i&&i(s(A))}))}))}.bind(e),e.mediaDevices.getUserMedia){var g=e.mediaDevices.getUserMedia.bind(e.mediaDevices);e.mediaDevices.getUserMedia=function(A){return o(A,(function(A){return g(A).then((function(e){if(A.audio&&!e.getAudioTracks().length||A.video&&!e.getVideoTracks().length)throw e.getTracks().forEach((function(A){A.stop()})),new DOMException("","NotFoundError");return e}),(function(A){return Promise.reject(s(A))}))}))}}}};var a=function(A){if(A&&A.__esModule)return A;var e={};if(null!=A)for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t]);return e.default=A,e}(A("../utils.js")),r=a.log},{"../utils.js":15}],6:[function(A,e,t){Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A};t.shimRTCIceCandidate=function(A){if(!(!A.RTCIceCandidate||A.RTCIceCandidate&&"foundation"in A.RTCIceCandidate.prototype)){var e=A.RTCIceCandidate;A.RTCIceCandidate=function(A){if("object"===(void 0===A?"undefined":i(A))&&A.candidate&&0===A.candidate.indexOf("a=")&&((A=JSON.parse(JSON.stringify(A))).candidate=A.candidate.substr(2)),A.candidate&&A.candidate.length){var t=new e(A),a=r.default.parseCandidate(A.candidate),n=Object.assign(t,a);return n.toJSON=function(){return{candidate:n.candidate,sdpMid:n.sdpMid,sdpMLineIndex:n.sdpMLineIndex,usernameFragment:n.usernameFragment}},n}return new e(A)},A.RTCIceCandidate.prototype=e.prototype,n.wrapPeerConnectionEvent(A,"icecandidate",(function(e){return e.candidate&&Object.defineProperty(e,"candidate",{value:new A.RTCIceCandidate(e.candidate),writable:"false"}),e}))}},t.shimMaxMessageSize=function(A){if(A.RTCPeerConnection){var e=n.detectBrowser(A);"sctp"in A.RTCPeerConnection.prototype||Object.defineProperty(A.RTCPeerConnection.prototype,"sctp",{get:function(){return void 0===this._sctp?null:this._sctp}});var t=A.RTCPeerConnection.prototype.setRemoteDescription;A.RTCPeerConnection.prototype.setRemoteDescription=function(){var A,i;if(this._sctp=null,"chrome"===e.browser&&e.version>=76&&"plan-b"===this.getConfiguration().sdpSemantics&&Object.defineProperty(this,"sctp",{get:function(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0}),function(A){if(!A||!A.sdp)return!1;var e=r.default.splitSections(A.sdp);return e.shift(),e.some((function(A){var e=r.default.parseMLine(A);return e&&"application"===e.kind&&-1!==e.protocol.indexOf("SCTP")}))}(arguments[0])){var a,n=function(A){var e=A.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===e||e.length<2)return-1;var t=parseInt(e[1],10);return t!=t?-1:t}(arguments[0]),o=(A=n,i=65536,"firefox"===e.browser&&(i=e.version<57?-1===A?16384:2147483637:e.version<60?57===e.version?65535:65536:2147483637),i),s=function(A,t){var i=65536;"firefox"===e.browser&&57===e.version&&(i=65535);var a=r.default.matchPrefix(A.sdp,"a=max-message-size:");return a.length>0?i=parseInt(a[0].substr(19),10):"firefox"===e.browser&&-1!==t&&(i=2147483637),i}(arguments[0],n);a=0===o&&0===s?Number.POSITIVE_INFINITY:0===o||0===s?Math.max(o,s):Math.min(o,s);var g={};Object.defineProperty(g,"maxMessageSize",{get:function(){return a}}),this._sctp=g}return t.apply(this,arguments)}}},t.shimSendThrowTypeError=function(A){if(A.RTCPeerConnection&&"createDataChannel"in A.RTCPeerConnection.prototype){var e=A.RTCPeerConnection.prototype.createDataChannel;A.RTCPeerConnection.prototype.createDataChannel=function(){var A=e.apply(this,arguments);return t(A,this),A},n.wrapPeerConnectionEvent(A,"datachannel",(function(A){return t(A.channel,A.target),A}))}function t(A,e){var t=A.send;A.send=function(){var i=arguments[0],a=i.length||i.size||i.byteLength;if("open"===A.readyState&&e.sctp&&a>e.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+e.sctp.maxMessageSize+" bytes)");return t.apply(A,arguments)}}},t.shimConnectionState=function(A){if(A.RTCPeerConnection&&!("connectionState"in A.RTCPeerConnection.prototype)){var e=A.RTCPeerConnection.prototype;Object.defineProperty(e,"connectionState",{get:function(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(e,"onconnectionstatechange",{get:function(){return this._onconnectionstatechange||null},set:function(A){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),A&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=A)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach((function(A){var t=e[A];e[A]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=function(A){var e=A.target;if(e._lastConnectionState!==e.connectionState){e._lastConnectionState=e.connectionState;var t=new Event("connectionstatechange",A);e.dispatchEvent(t)}return A},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),t.apply(this,arguments)}}))}},t.removeAllowExtmapMixed=function(A){if(A.RTCPeerConnection){var e=n.detectBrowser(A);if(!("chrome"===e.browser&&e.version>=71)){var t=A.RTCPeerConnection.prototype.setRemoteDescription;A.RTCPeerConnection.prototype.setRemoteDescription=function(A){return A&&A.sdp&&-1!==A.sdp.indexOf("\na=extmap-allow-mixed")&&(A.sdp=A.sdp.split("\n").filter((function(A){return"a=extmap-allow-mixed"!==A.trim()})).join("\n")),t.apply(this,arguments)}}}};var a,r=(a=A("sdp"))&&a.__esModule?a:{default:a},n=function(A){if(A&&A.__esModule)return A;var e={};if(null!=A)for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t]);return e.default=A,e}(A("./utils"))},{"./utils":15,sdp:17}],7:[function(A,e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.shimGetDisplayMedia=t.shimGetUserMedia=void 0;var i=A("./getusermedia");Object.defineProperty(t,"shimGetUserMedia",{enumerable:!0,get:function(){return i.shimGetUserMedia}});var a=A("./getdisplaymedia");Object.defineProperty(t,"shimGetDisplayMedia",{enumerable:!0,get:function(){return a.shimGetDisplayMedia}}),t.shimPeerConnection=function(A){var e=n.detectBrowser(A);if(A.RTCIceGatherer&&(A.RTCIceCandidate||(A.RTCIceCandidate=function(A){return A}),A.RTCSessionDescription||(A.RTCSessionDescription=function(A){return A}),e.version<15025)){var t=Object.getOwnPropertyDescriptor(A.MediaStreamTrack.prototype,"enabled");Object.defineProperty(A.MediaStreamTrack.prototype,"enabled",{set:function(A){t.set.call(this,A);var e=new Event("enabled");e.enabled=A,this.dispatchEvent(e)}})}A.RTCRtpSender&&!("dtmf"in A.RTCRtpSender.prototype)&&Object.defineProperty(A.RTCRtpSender.prototype,"dtmf",{get:function(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=new A.RTCDtmfSender(this):"video"===this.track.kind&&(this._dtmf=null)),this._dtmf}}),A.RTCDtmfSender&&!A.RTCDTMFSender&&(A.RTCDTMFSender=A.RTCDtmfSender);var i=(0,s.default)(A,e.version);A.RTCPeerConnection=function(A){return A&&A.iceServers&&(A.iceServers=(0,o.filterIceServers)(A.iceServers,e.version),n.log("ICE servers after filtering:",A.iceServers)),new i(A)},A.RTCPeerConnection.prototype=i.prototype},t.shimReplaceTrack=function(A){A.RTCRtpSender&&!("replaceTrack"in A.RTCRtpSender.prototype)&&(A.RTCRtpSender.prototype.replaceTrack=A.RTCRtpSender.prototype.setTrack)};var r,n=function(A){if(A&&A.__esModule)return A;var e={};if(null!=A)for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t]);return e.default=A,e}(A("../utils")),o=A("./filtericeservers"),s=(r=A("rtcpeerconnection-shim"))&&r.__esModule?r:{default:r}},{"../utils":15,"./filtericeservers":8,"./getdisplaymedia":9,"./getusermedia":10,"rtcpeerconnection-shim":16}],8:[function(A,e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.filterIceServers=function(A,e){var t=!1;return(A=JSON.parse(JSON.stringify(A))).filter((function(A){if(A&&(A.urls||A.url)){var e=A.urls||A.url;A.url&&!A.urls&&i.deprecated("RTCIceServer.url","RTCIceServer.urls");var a="string"==typeof e;return a&&(e=[e]),e=e.filter((function(A){if(0===A.indexOf("stun:"))return!1;var e=A.startsWith("turn")&&!A.startsWith("turn:[")&&A.includes("transport=udp");return e&&!t?(t=!0,!0):e&&!t})),delete A.url,A.urls=a?e[0]:e,!!e.length}}))};var i=function(A){if(A&&A.__esModule)return A;var e={};if(null!=A)for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t]);return e.default=A,e}(A("../utils"))},{"../utils":15}],9:[function(A,e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.shimGetDisplayMedia=function(A){"getDisplayMedia"in A.navigator&&A.navigator.mediaDevices&&(A.navigator.mediaDevices&&"getDisplayMedia"in A.navigator.mediaDevices||(A.navigator.mediaDevices.getDisplayMedia=A.navigator.getDisplayMedia.bind(A.navigator)))}},{}],10:[function(A,e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.shimGetUserMedia=function(A){var e=A&&A.navigator,t=e.mediaDevices.getUserMedia.bind(e.mediaDevices);e.mediaDevices.getUserMedia=function(A){return t(A).catch((function(A){return Promise.reject(function(A){return{name:{PermissionDeniedError:"NotAllowedError"}[A.name]||A.name,message:A.message,constraint:A.constraint,toString:function(){return this.name}}}(A))}))}}},{}],11:[function(A,e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.shimGetDisplayMedia=t.shimGetUserMedia=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},a=A("./getusermedia");Object.defineProperty(t,"shimGetUserMedia",{enumerable:!0,get:function(){return a.shimGetUserMedia}});var r=A("./getdisplaymedia");Object.defineProperty(t,"shimGetDisplayMedia",{enumerable:!0,get:function(){return r.shimGetDisplayMedia}}),t.shimOnTrack=function(A){"object"===(void 0===A?"undefined":i(A))&&A.RTCTrackEvent&&"receiver"in A.RTCTrackEvent.prototype&&!("transceiver"in A.RTCTrackEvent.prototype)&&Object.defineProperty(A.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})},t.shimPeerConnection=function(A){var e=n.detectBrowser(A);if("object"===(void 0===A?"undefined":i(A))&&(A.RTCPeerConnection||A.mozRTCPeerConnection)){if(!A.RTCPeerConnection&&A.mozRTCPeerConnection&&(A.RTCPeerConnection=A.mozRTCPeerConnection),e.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(e){var t=A.RTCPeerConnection.prototype[e],i=function(A,e,t){return e in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}({},e,(function(){return arguments[0]=new("addIceCandidate"===e?A.RTCIceCandidate:A.RTCSessionDescription)(arguments[0]),t.apply(this,arguments)}));A.RTCPeerConnection.prototype[e]=i[e]})),e.version<68){var t=A.RTCPeerConnection.prototype.addIceCandidate;A.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?arguments[0]&&""===arguments[0].candidate?Promise.resolve():t.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}var a={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},r=A.RTCPeerConnection.prototype.getStats;A.RTCPeerConnection.prototype.getStats=function(){var A=Array.prototype.slice.call(arguments),t=A[0],i=A[1],n=A[2];return r.apply(this,[t||null]).then((function(A){if(e.version<53&&!i)try{A.forEach((function(A){A.type=a[A.type]||A.type}))}catch(e){if("TypeError"!==e.name)throw e;A.forEach((function(e,t){A.set(t,Object.assign({},e,{type:a[e.type]||e.type}))}))}return A})).then(i,n)}}},t.shimSenderGetStats=function(A){if("object"===(void 0===A?"undefined":i(A))&&A.RTCPeerConnection&&A.RTCRtpSender&&(!A.RTCRtpSender||!("getStats"in A.RTCRtpSender.prototype))){var e=A.RTCPeerConnection.prototype.getSenders;e&&(A.RTCPeerConnection.prototype.getSenders=function(){var A=this,t=e.apply(this,[]);return t.forEach((function(e){return e._pc=A})),t});var t=A.RTCPeerConnection.prototype.addTrack;t&&(A.RTCPeerConnection.prototype.addTrack=function(){var A=t.apply(this,arguments);return A._pc=this,A}),A.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}},t.shimReceiverGetStats=function(A){if("object"===(void 0===A?"undefined":i(A))&&A.RTCPeerConnection&&A.RTCRtpSender&&(!A.RTCRtpSender||!("getStats"in A.RTCRtpReceiver.prototype))){var e=A.RTCPeerConnection.prototype.getReceivers;e&&(A.RTCPeerConnection.prototype.getReceivers=function(){var A=this,t=e.apply(this,[]);return t.forEach((function(e){return e._pc=A})),t}),n.wrapPeerConnectionEvent(A,"track",(function(A){return A.receiver._pc=A.srcElement,A})),A.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}},t.shimRemoveStream=function(A){A.RTCPeerConnection&&!("removeStream"in A.RTCPeerConnection.prototype)&&(A.RTCPeerConnection.prototype.removeStream=function(A){var e=this;n.deprecated("removeStream","removeTrack"),this.getSenders().forEach((function(t){t.track&&A.getTracks().includes(t.track)&&e.removeTrack(t)}))})},t.shimRTCDataChannel=function(A){A.DataChannel&&!A.RTCDataChannel&&(A.RTCDataChannel=A.DataChannel)},t.shimAddTransceiver=function(A){if("object"===(void 0===A?"undefined":i(A))&&A.RTCPeerConnection){var e=A.RTCPeerConnection.prototype.addTransceiver;e&&(A.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];var A=arguments[1],t=A&&"sendEncodings"in A;t&&A.sendEncodings.forEach((function(A){if("rid"in A&&!/^[a-z0-9]{0,16}$/i.test(A.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in A&&!(parseFloat(A.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in A&&!(parseFloat(A.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")}));var i=e.apply(this,arguments);if(t){var a=i.sender,r=a.getParameters();"encodings"in r||(r.encodings=A.sendEncodings,this.setParametersPromises.push(a.setParameters(r).catch((function(){}))))}return i})}},t.shimCreateOffer=function(A){if("object"===(void 0===A?"undefined":i(A))&&A.RTCPeerConnection){var e=A.RTCPeerConnection.prototype.createOffer;A.RTCPeerConnection.prototype.createOffer=function(){var A=this,t=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((function(){return e.apply(A,t)})).finally((function(){A.setParametersPromises=[]})):e.apply(this,arguments)}}},t.shimCreateAnswer=function(A){if("object"===(void 0===A?"undefined":i(A))&&A.RTCPeerConnection){var e=A.RTCPeerConnection.prototype.createAnswer;A.RTCPeerConnection.prototype.createAnswer=function(){var A=this,t=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((function(){return e.apply(A,t)})).finally((function(){A.setParametersPromises=[]})):e.apply(this,arguments)}}};var n=function(A){if(A&&A.__esModule)return A;var e={};if(null!=A)for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t]);return e.default=A,e}(A("../utils"))},{"../utils":15,"./getdisplaymedia":12,"./getusermedia":13}],12:[function(A,e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.shimGetDisplayMedia=function(A,e){A.navigator.mediaDevices&&"getDisplayMedia"in A.navigator.mediaDevices||A.navigator.mediaDevices&&(A.navigator.mediaDevices.getDisplayMedia=function(t){if(!t||!t.video){var i=new DOMException("getDisplayMedia without video constraints is undefined");return i.name="NotFoundError",i.code=8,Promise.reject(i)}return!0===t.video?t.video={mediaSource:e}:t.video.mediaSource=e,A.navigator.mediaDevices.getUserMedia(t)})}},{}],13:[function(A,e,t){Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A};t.shimGetUserMedia=function(A){var e=a.detectBrowser(A),t=A&&A.navigator,r=A&&A.MediaStreamTrack;if(t.getUserMedia=function(A,e,i){a.deprecated("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),t.mediaDevices.getUserMedia(A).then(e,i)},!(e.version>55&&"autoGainControl"in t.mediaDevices.getSupportedConstraints())){var n=function(A,e,t){e in A&&!(t in A)&&(A[t]=A[e],delete A[e])},o=t.mediaDevices.getUserMedia.bind(t.mediaDevices);if(t.mediaDevices.getUserMedia=function(A){return"object"===(void 0===A?"undefined":i(A))&&"object"===i(A.audio)&&(A=JSON.parse(JSON.stringify(A)),n(A.audio,"autoGainControl","mozAutoGainControl"),n(A.audio,"noiseSuppression","mozNoiseSuppression")),o(A)},r&&r.prototype.getSettings){var s=r.prototype.getSettings;r.prototype.getSettings=function(){var A=s.apply(this,arguments);return n(A,"mozAutoGainControl","autoGainControl"),n(A,"mozNoiseSuppression","noiseSuppression"),A}}if(r&&r.prototype.applyConstraints){var g=r.prototype.applyConstraints;r.prototype.applyConstraints=function(A){return"audio"===this.kind&&"object"===(void 0===A?"undefined":i(A))&&(A=JSON.parse(JSON.stringify(A)),n(A,"autoGainControl","mozAutoGainControl"),n(A,"noiseSuppression","mozNoiseSuppression")),g.apply(this,[A])}}}};var a=function(A){if(A&&A.__esModule)return A;var e={};if(null!=A)for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t]);return e.default=A,e}(A("../utils"))},{"../utils":15}],14:[function(A,e,t){Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A};t.shimLocalStreamsAPI=function(A){if("object"===(void 0===A?"undefined":i(A))&&A.RTCPeerConnection){if("getLocalStreams"in A.RTCPeerConnection.prototype||(A.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in A.RTCPeerConnection.prototype)){var e=A.RTCPeerConnection.prototype.addTrack;A.RTCPeerConnection.prototype.addStream=function(A){var t=this;this._localStreams||(this._localStreams=[]),this._localStreams.includes(A)||this._localStreams.push(A),A.getAudioTracks().forEach((function(i){return e.call(t,i,A)})),A.getVideoTracks().forEach((function(i){return e.call(t,i,A)}))},A.RTCPeerConnection.prototype.addTrack=function(A){var t=arguments[1];return t&&(this._localStreams?this._localStreams.includes(t)||this._localStreams.push(t):this._localStreams=[t]),e.apply(this,arguments)}}"removeStream"in A.RTCPeerConnection.prototype||(A.RTCPeerConnection.prototype.removeStream=function(A){var e=this;this._localStreams||(this._localStreams=[]);var t=this._localStreams.indexOf(A);if(-1!==t){this._localStreams.splice(t,1);var i=A.getTracks();this.getSenders().forEach((function(A){i.includes(A.track)&&e.removeTrack(A)}))}})}},t.shimRemoteStreamsAPI=function(A){if("object"===(void 0===A?"undefined":i(A))&&A.RTCPeerConnection&&("getRemoteStreams"in A.RTCPeerConnection.prototype||(A.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in A.RTCPeerConnection.prototype))){Object.defineProperty(A.RTCPeerConnection.prototype,"onaddstream",{get:function(){return this._onaddstream},set:function(A){var e=this;this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=A),this.addEventListener("track",this._onaddstreampoly=function(A){A.streams.forEach((function(A){if(e._remoteStreams||(e._remoteStreams=[]),!e._remoteStreams.includes(A)){e._remoteStreams.push(A);var t=new Event("addstream");t.stream=A,e.dispatchEvent(t)}}))})}});var e=A.RTCPeerConnection.prototype.setRemoteDescription;A.RTCPeerConnection.prototype.setRemoteDescription=function(){var A=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(e){e.streams.forEach((function(e){if(A._remoteStreams||(A._remoteStreams=[]),!(A._remoteStreams.indexOf(e)>=0)){A._remoteStreams.push(e);var t=new Event("addstream");t.stream=e,A.dispatchEvent(t)}}))}),e.apply(A,arguments)}}},t.shimCallbacksAPI=function(A){if("object"===(void 0===A?"undefined":i(A))&&A.RTCPeerConnection){var e=A.RTCPeerConnection.prototype,t=e.createOffer,a=e.createAnswer,r=e.setLocalDescription,n=e.setRemoteDescription,o=e.addIceCandidate;e.createOffer=function(A,e){var i=arguments.length>=2?arguments[2]:arguments[0],a=t.apply(this,[i]);return e?(a.then(A,e),Promise.resolve()):a},e.createAnswer=function(A,e){var t=arguments.length>=2?arguments[2]:arguments[0],i=a.apply(this,[t]);return e?(i.then(A,e),Promise.resolve()):i};var s=function(A,e,t){var i=r.apply(this,[A]);return t?(i.then(e,t),Promise.resolve()):i};e.setLocalDescription=s,s=function(A,e,t){var i=n.apply(this,[A]);return t?(i.then(e,t),Promise.resolve()):i},e.setRemoteDescription=s,s=function(A,e,t){var i=o.apply(this,[A]);return t?(i.then(e,t),Promise.resolve()):i},e.addIceCandidate=s}},t.shimGetUserMedia=function(A){var e=A&&A.navigator;if(e.mediaDevices&&e.mediaDevices.getUserMedia){var t=e.mediaDevices,i=t.getUserMedia.bind(t);e.mediaDevices.getUserMedia=function(A){return i(r(A))}}!e.getUserMedia&&e.mediaDevices&&e.mediaDevices.getUserMedia&&(e.getUserMedia=function(A,t,i){e.mediaDevices.getUserMedia(A).then(t,i)}.bind(e))},t.shimConstraints=r,t.shimRTCIceServerUrls=function(A){var e=A.RTCPeerConnection;A.RTCPeerConnection=function(A,t){if(A&&A.iceServers){for(var i=[],r=0;r=t&&parseInt(i[t],10)}function n(A){return"[object Object]"===Object.prototype.toString.call(A)}function o(A,e,t){e&&!t.has(e.id)&&(t.set(e.id,e),Object.keys(e).forEach((function(i){i.endsWith("Id")?o(A,A.get(e[i]),t):i.endsWith("Ids")&&e[i].forEach((function(e){o(A,A.get(e),t)}))})))}},{}],16:[function(A,e,t){var i=A("sdp");function a(A,e,t,a,r){var n=i.writeRtpDescription(A.kind,e);if(n+=i.writeIceParameters(A.iceGatherer.getLocalParameters()),n+=i.writeDtlsParameters(A.dtlsTransport.getLocalParameters(),"offer"===t?"actpass":r||"active"),n+="a=mid:"+A.mid+"\r\n",A.rtpSender&&A.rtpReceiver?n+="a=sendrecv\r\n":A.rtpSender?n+="a=sendonly\r\n":A.rtpReceiver?n+="a=recvonly\r\n":n+="a=inactive\r\n",A.rtpSender){var o=A.rtpSender._initialTrackId||A.rtpSender.track.id;A.rtpSender._initialTrackId=o;var s="msid:"+(a?a.id:"-")+" "+o+"\r\n";n+="a="+s,n+="a=ssrc:"+A.sendEncodingParameters[0].ssrc+" "+s,A.sendEncodingParameters[0].rtx&&(n+="a=ssrc:"+A.sendEncodingParameters[0].rtx.ssrc+" "+s,n+="a=ssrc-group:FID "+A.sendEncodingParameters[0].ssrc+" "+A.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return n+="a=ssrc:"+A.sendEncodingParameters[0].ssrc+" cname:"+i.localCName+"\r\n",A.rtpSender&&A.sendEncodingParameters[0].rtx&&(n+="a=ssrc:"+A.sendEncodingParameters[0].rtx.ssrc+" cname:"+i.localCName+"\r\n"),n}function r(A,e){var t={codecs:[],headerExtensions:[],fecMechanisms:[]},i=function(A,e){A=parseInt(A,10);for(var t=0;t=14393&&-1===A.indexOf("?transport=udp"):(t=!0,!0)})),delete A.url,A.urls=a?i[0]:i,!!i.length}}))}(t.iceServers||[],e),this._iceGatherers=[],t.iceCandidatePoolSize)for(var n=t.iceCandidatePoolSize;n>0;n--)this._iceGatherers.push(new A.RTCIceGatherer({iceServers:t.iceServers,gatherPolicy:t.iceTransportPolicy}));else t.iceCandidatePoolSize=0;this._config=t,this.transceivers=[],this._sdpSessionId=i.generateSessionId(),this._sdpSessionVersion=0,this._dtlsRole=void 0,this._isClosed=!1};Object.defineProperty(l.prototype,"localDescription",{configurable:!0,get:function(){return this._localDescription}}),Object.defineProperty(l.prototype,"remoteDescription",{configurable:!0,get:function(){return this._remoteDescription}}),l.prototype.onicecandidate=null,l.prototype.onaddstream=null,l.prototype.ontrack=null,l.prototype.onremovestream=null,l.prototype.onsignalingstatechange=null,l.prototype.oniceconnectionstatechange=null,l.prototype.onconnectionstatechange=null,l.prototype.onicegatheringstatechange=null,l.prototype.onnegotiationneeded=null,l.prototype.ondatachannel=null,l.prototype._dispatchEvent=function(A,e){this._isClosed||(this.dispatchEvent(e),"function"==typeof this["on"+A]&&this["on"+A](e))},l.prototype._emitGatheringStateChange=function(){var A=new Event("icegatheringstatechange");this._dispatchEvent("icegatheringstatechange",A)},l.prototype.getConfiguration=function(){return this._config},l.prototype.getLocalStreams=function(){return this.localStreams},l.prototype.getRemoteStreams=function(){return this.remoteStreams},l.prototype._createTransceiver=function(A,e){var t=this.transceivers.length>0,i={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:A,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,associatedRemoteMediaStreams:[],wantReceive:!0};if(this.usingBundle&&t)i.iceTransport=this.transceivers[0].iceTransport,i.dtlsTransport=this.transceivers[0].dtlsTransport;else{var a=this._createIceAndDtlsTransports();i.iceTransport=a.iceTransport,i.dtlsTransport=a.dtlsTransport}return e||this.transceivers.push(i),i},l.prototype.addTrack=function(e,t){if(this._isClosed)throw s("InvalidStateError","Attempted to call addTrack on a closed peerconnection.");var i;if(this.transceivers.find((function(A){return A.track===e})))throw s("InvalidAccessError","Track already exists.");for(var a=0;a=15025)A.getTracks().forEach((function(e){t.addTrack(e,A)}));else{var i=A.clone();A.getTracks().forEach((function(A,e){var t=i.getTracks()[e];A.addEventListener("enabled",(function(A){t.enabled=A.enabled}))})),i.getTracks().forEach((function(A){t.addTrack(A,i)}))}},l.prototype.removeTrack=function(e){if(this._isClosed)throw s("InvalidStateError","Attempted to call removeTrack on a closed peerconnection.");if(!(e instanceof A.RTCRtpSender))throw new TypeError("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.");var t=this.transceivers.find((function(A){return A.rtpSender===e}));if(!t)throw s("InvalidAccessError","Sender was not created by this connection.");var i=t.stream;t.rtpSender.stop(),t.rtpSender=null,t.track=null,t.stream=null,-1===this.transceivers.map((function(A){return A.stream})).indexOf(i)&&this.localStreams.indexOf(i)>-1&&this.localStreams.splice(this.localStreams.indexOf(i),1),this._maybeFireNegotiationNeeded()},l.prototype.removeStream=function(A){var e=this;A.getTracks().forEach((function(A){var t=e.getSenders().find((function(e){return e.track===A}));t&&e.removeTrack(t)}))},l.prototype.getSenders=function(){return this.transceivers.filter((function(A){return!!A.rtpSender})).map((function(A){return A.rtpSender}))},l.prototype.getReceivers=function(){return this.transceivers.filter((function(A){return!!A.rtpReceiver})).map((function(A){return A.rtpReceiver}))},l.prototype._createIceGatherer=function(e,t){var i=this;if(t&&e>0)return this.transceivers[0].iceGatherer;if(this._iceGatherers.length)return this._iceGatherers.shift();var a=new A.RTCIceGatherer({iceServers:this._config.iceServers,gatherPolicy:this._config.iceTransportPolicy});return Object.defineProperty(a,"state",{value:"new",writable:!0}),this.transceivers[e].bufferedCandidateEvents=[],this.transceivers[e].bufferCandidates=function(A){var t=!A.candidate||0===Object.keys(A.candidate).length;a.state=t?"completed":"gathering",null!==i.transceivers[e].bufferedCandidateEvents&&i.transceivers[e].bufferedCandidateEvents.push(A)},a.addEventListener("localcandidate",this.transceivers[e].bufferCandidates),a},l.prototype._gather=function(e,t){var a=this,r=this.transceivers[t].iceGatherer;if(!r.onlocalcandidate){var n=this.transceivers[t].bufferedCandidateEvents;this.transceivers[t].bufferedCandidateEvents=null,r.removeEventListener("localcandidate",this.transceivers[t].bufferCandidates),r.onlocalcandidate=function(A){if(!(a.usingBundle&&t>0)){var n=new Event("icecandidate");n.candidate={sdpMid:e,sdpMLineIndex:t};var o=A.candidate,s=!o||0===Object.keys(o).length;if(s)"new"!==r.state&&"gathering"!==r.state||(r.state="completed");else{"new"===r.state&&(r.state="gathering"),o.component=1,o.ufrag=r.getLocalParameters().usernameFragment;var g=i.writeCandidate(o);n.candidate=Object.assign(n.candidate,i.parseCandidate(g)),n.candidate.candidate=g,n.candidate.toJSON=function(){return{candidate:n.candidate.candidate,sdpMid:n.candidate.sdpMid,sdpMLineIndex:n.candidate.sdpMLineIndex,usernameFragment:n.candidate.usernameFragment}}}var l=i.getMediaSections(a._localDescription.sdp);l[n.candidate.sdpMLineIndex]+=s?"a=end-of-candidates\r\n":"a="+n.candidate.candidate+"\r\n",a._localDescription.sdp=i.getDescription(a._localDescription.sdp)+l.join("");var C=a.transceivers.every((function(A){return A.iceGatherer&&"completed"===A.iceGatherer.state}));"gathering"!==a.iceGatheringState&&(a.iceGatheringState="gathering",a._emitGatheringStateChange()),s||a._dispatchEvent("icecandidate",n),C&&(a._dispatchEvent("icecandidate",new Event("icecandidate")),a.iceGatheringState="complete",a._emitGatheringStateChange())}},A.setTimeout((function(){n.forEach((function(A){r.onlocalcandidate(A)}))}),0)}},l.prototype._createIceAndDtlsTransports=function(){var e=this,t=new A.RTCIceTransport(null);t.onicestatechange=function(){e._updateIceConnectionState(),e._updateConnectionState()};var i=new A.RTCDtlsTransport(t);return i.ondtlsstatechange=function(){e._updateConnectionState()},i.onerror=function(){Object.defineProperty(i,"state",{value:"failed",writable:!0}),e._updateConnectionState()},{iceTransport:t,dtlsTransport:i}},l.prototype._disposeIceAndDtlsTransports=function(A){var e=this.transceivers[A].iceGatherer;e&&(delete e.onlocalcandidate,delete this.transceivers[A].iceGatherer);var t=this.transceivers[A].iceTransport;t&&(delete t.onicestatechange,delete this.transceivers[A].iceTransport);var i=this.transceivers[A].dtlsTransport;i&&(delete i.ondtlsstatechange,delete i.onerror,delete this.transceivers[A].dtlsTransport)},l.prototype._transceive=function(A,t,a){var n=r(A.localCapabilities,A.remoteCapabilities);t&&A.rtpSender&&(n.encodings=A.sendEncodingParameters,n.rtcp={cname:i.localCName,compound:A.rtcpParameters.compound},A.recvEncodingParameters.length&&(n.rtcp.ssrc=A.recvEncodingParameters[0].ssrc),A.rtpSender.send(n)),a&&A.rtpReceiver&&n.codecs.length>0&&("video"===A.kind&&A.recvEncodingParameters&&e<15019&&A.recvEncodingParameters.forEach((function(A){delete A.rtx})),A.recvEncodingParameters.length?n.encodings=A.recvEncodingParameters:n.encodings=[{}],n.rtcp={compound:A.rtcpParameters.compound},A.rtcpParameters.cname&&(n.rtcp.cname=A.rtcpParameters.cname),A.sendEncodingParameters.length&&(n.rtcp.ssrc=A.sendEncodingParameters[0].ssrc),A.rtpReceiver.receive(n))},l.prototype.setLocalDescription=function(A){var e,t,a=this;if(-1===["offer","answer"].indexOf(A.type))return Promise.reject(s("TypeError",'Unsupported type "'+A.type+'"'));if(!n("setLocalDescription",A.type,a.signalingState)||a._isClosed)return Promise.reject(s("InvalidStateError","Can not set local "+A.type+" in state "+a.signalingState));if("offer"===A.type)e=i.splitSections(A.sdp),t=e.shift(),e.forEach((function(A,e){var t=i.parseRtpParameters(A);a.transceivers[e].localCapabilities=t})),a.transceivers.forEach((function(A,e){a._gather(A.mid,e)}));else if("answer"===A.type){e=i.splitSections(a._remoteDescription.sdp),t=e.shift();var o=i.matchPrefix(t,"a=ice-lite").length>0;e.forEach((function(A,e){var n=a.transceivers[e],s=n.iceGatherer,g=n.iceTransport,l=n.dtlsTransport,C=n.localCapabilities,I=n.remoteCapabilities;if(!(i.isRejected(A)&&0===i.matchPrefix(A,"a=bundle-only").length||n.rejected)){var c=i.getIceParameters(A,t),h=i.getDtlsParameters(A,t);o&&(h.role="server"),a.usingBundle&&0!==e||(a._gather(n.mid,e),"new"===g.state&&g.start(s,c,o?"controlling":"controlled"),"new"===l.state&&l.start(h));var B=r(C,I);a._transceive(n,B.codecs.length>0,!1)}}))}return a._localDescription={type:A.type,sdp:A.sdp},"offer"===A.type?a._updateSignalingState("have-local-offer"):a._updateSignalingState("stable"),Promise.resolve()},l.prototype.setRemoteDescription=function(a){var l=this;if(-1===["offer","answer"].indexOf(a.type))return Promise.reject(s("TypeError",'Unsupported type "'+a.type+'"'));if(!n("setRemoteDescription",a.type,l.signalingState)||l._isClosed)return Promise.reject(s("InvalidStateError","Can not set remote "+a.type+" in state "+l.signalingState));var C={};l.remoteStreams.forEach((function(A){C[A.id]=A}));var I=[],c=i.splitSections(a.sdp),h=c.shift(),B=i.matchPrefix(h,"a=ice-lite").length>0,E=i.matchPrefix(h,"a=group:BUNDLE ").length>0;l.usingBundle=E;var x=i.matchPrefix(h,"a=ice-options:")[0];return l.canTrickleIceCandidates=!!x&&x.substr(14).split(" ").indexOf("trickle")>=0,c.forEach((function(n,s){var g=i.splitLines(n),c=i.getKind(n),x=i.isRejected(n)&&0===i.matchPrefix(n,"a=bundle-only").length,d=g[0].substr(2).split(" ")[2],Q=i.getDirection(n,h),f=i.parseMsid(n),u=i.getMid(n)||i.generateIdentifier();if(x||"application"===c&&("DTLS/SCTP"===d||"UDP/DTLS/SCTP"===d))l.transceivers[s]={mid:u,kind:c,protocol:d,rejected:!0};else{var p,m,_,y,S,D,R,F,w;!x&&l.transceivers[s]&&l.transceivers[s].rejected&&(l.transceivers[s]=l._createTransceiver(c,!0));var b,v,P=i.parseRtpParameters(n);x||(b=i.getIceParameters(n,h),(v=i.getDtlsParameters(n,h)).role="client"),R=i.parseRtpEncodingParameters(n);var k=i.parseRtcpParameters(n),N=i.matchPrefix(n,"a=end-of-candidates",h).length>0,T=i.matchPrefix(n,"a=candidate:").map((function(A){return i.parseCandidate(A)})).filter((function(A){return 1===A.component}));if(("offer"===a.type||"answer"===a.type)&&!x&&E&&s>0&&l.transceivers[s]&&(l._disposeIceAndDtlsTransports(s),l.transceivers[s].iceGatherer=l.transceivers[0].iceGatherer,l.transceivers[s].iceTransport=l.transceivers[0].iceTransport,l.transceivers[s].dtlsTransport=l.transceivers[0].dtlsTransport,l.transceivers[s].rtpSender&&l.transceivers[s].rtpSender.setTransport(l.transceivers[0].dtlsTransport),l.transceivers[s].rtpReceiver&&l.transceivers[s].rtpReceiver.setTransport(l.transceivers[0].dtlsTransport)),"offer"!==a.type||x)"answer"!==a.type||x||(m=(p=l.transceivers[s]).iceGatherer,_=p.iceTransport,y=p.dtlsTransport,S=p.rtpReceiver,D=p.sendEncodingParameters,F=p.localCapabilities,l.transceivers[s].recvEncodingParameters=R,l.transceivers[s].remoteCapabilities=P,l.transceivers[s].rtcpParameters=k,T.length&&"new"===_.state&&(!B&&!N||E&&0!==s?T.forEach((function(A){o(p.iceTransport,A)})):_.setRemoteCandidates(T)),E&&0!==s||("new"===_.state&&_.start(m,b,"controlling"),"new"===y.state&&y.start(v)),!r(p.localCapabilities,p.remoteCapabilities).codecs.filter((function(A){return"rtx"===A.name.toLowerCase()})).length&&p.sendEncodingParameters[0].rtx&&delete p.sendEncodingParameters[0].rtx,l._transceive(p,"sendrecv"===Q||"recvonly"===Q,"sendrecv"===Q||"sendonly"===Q),!S||"sendrecv"!==Q&&"sendonly"!==Q?delete p.rtpReceiver:(w=S.track,f?(C[f.stream]||(C[f.stream]=new A.MediaStream),t(w,C[f.stream]),I.push([w,S,C[f.stream]])):(C.default||(C.default=new A.MediaStream),t(w,C.default),I.push([w,S,C.default]))));else{(p=l.transceivers[s]||l._createTransceiver(c)).mid=u,p.iceGatherer||(p.iceGatherer=l._createIceGatherer(s,E)),T.length&&"new"===p.iceTransport.state&&(!N||E&&0!==s?T.forEach((function(A){o(p.iceTransport,A)})):p.iceTransport.setRemoteCandidates(T)),F=A.RTCRtpReceiver.getCapabilities(c),e<15019&&(F.codecs=F.codecs.filter((function(A){return"rtx"!==A.name}))),D=p.sendEncodingParameters||[{ssrc:1001*(2*s+2)}];var M,L=!1;"sendrecv"===Q||"sendonly"===Q?(L=!p.rtpReceiver,S=p.rtpReceiver||new A.RTCRtpReceiver(p.dtlsTransport,c),L&&(w=S.track,f&&"-"===f.stream||(f?(C[f.stream]||(C[f.stream]=new A.MediaStream,Object.defineProperty(C[f.stream],"id",{get:function(){return f.stream}})),Object.defineProperty(w,"id",{get:function(){return f.track}}),M=C[f.stream]):(C.default||(C.default=new A.MediaStream),M=C.default)),M&&(t(w,M),p.associatedRemoteMediaStreams.push(M)),I.push([w,S,M]))):p.rtpReceiver&&p.rtpReceiver.track&&(p.associatedRemoteMediaStreams.forEach((function(e){var t=e.getTracks().find((function(A){return A.id===p.rtpReceiver.track.id}));t&&function(e,t){t.removeTrack(e),t.dispatchEvent(new A.MediaStreamTrackEvent("removetrack",{track:e}))}(t,e)})),p.associatedRemoteMediaStreams=[]),p.localCapabilities=F,p.remoteCapabilities=P,p.rtpReceiver=S,p.rtcpParameters=k,p.sendEncodingParameters=D,p.recvEncodingParameters=R,l._transceive(l.transceivers[s],!1,L)}}})),void 0===l._dtlsRole&&(l._dtlsRole="offer"===a.type?"active":"passive"),l._remoteDescription={type:a.type,sdp:a.sdp},"offer"===a.type?l._updateSignalingState("have-remote-offer"):l._updateSignalingState("stable"),Object.keys(C).forEach((function(e){var t=C[e];if(t.getTracks().length){if(-1===l.remoteStreams.indexOf(t)){l.remoteStreams.push(t);var i=new Event("addstream");i.stream=t,A.setTimeout((function(){l._dispatchEvent("addstream",i)}))}I.forEach((function(A){var e=A[0],i=A[1];t.id===A[2].id&&g(l,e,i,[t])}))}})),I.forEach((function(A){A[2]||g(l,A[0],A[1],[])})),A.setTimeout((function(){l&&l.transceivers&&l.transceivers.forEach((function(A){A.iceTransport&&"new"===A.iceTransport.state&&A.iceTransport.getRemoteCandidates().length>0&&A.iceTransport.addRemoteCandidate({})}))}),4e3),Promise.resolve()},l.prototype.close=function(){this.transceivers.forEach((function(A){A.iceTransport&&A.iceTransport.stop(),A.dtlsTransport&&A.dtlsTransport.stop(),A.rtpSender&&A.rtpSender.stop(),A.rtpReceiver&&A.rtpReceiver.stop()})),this._isClosed=!0,this._updateSignalingState("closed")},l.prototype._updateSignalingState=function(A){this.signalingState=A;var e=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",e)},l.prototype._maybeFireNegotiationNeeded=function(){var e=this;"stable"===this.signalingState&&!0!==this.needNegotiation&&(this.needNegotiation=!0,A.setTimeout((function(){if(e.needNegotiation){e.needNegotiation=!1;var A=new Event("negotiationneeded");e._dispatchEvent("negotiationneeded",A)}}),0))},l.prototype._updateIceConnectionState=function(){var A,e={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach((function(A){A.iceTransport&&!A.rejected&&e[A.iceTransport.state]++})),A="new",e.failed>0?A="failed":e.checking>0?A="checking":e.disconnected>0?A="disconnected":e.new>0?A="new":e.connected>0?A="connected":e.completed>0&&(A="completed"),A!==this.iceConnectionState){this.iceConnectionState=A;var t=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",t)}},l.prototype._updateConnectionState=function(){var A,e={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach((function(A){A.iceTransport&&A.dtlsTransport&&!A.rejected&&(e[A.iceTransport.state]++,e[A.dtlsTransport.state]++)})),e.connected+=e.completed,A="new",e.failed>0?A="failed":e.connecting>0?A="connecting":e.disconnected>0?A="disconnected":e.new>0?A="new":e.connected>0&&(A="connected"),A!==this.connectionState){this.connectionState=A;var t=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",t)}},l.prototype.createOffer=function(){var t=this;if(t._isClosed)return Promise.reject(s("InvalidStateError","Can not call createOffer after close"));var r=t.transceivers.filter((function(A){return"audio"===A.kind})).length,n=t.transceivers.filter((function(A){return"video"===A.kind})).length,o=arguments[0];if(o){if(o.mandatory||o.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==o.offerToReceiveAudio&&(r=!0===o.offerToReceiveAudio?1:!1===o.offerToReceiveAudio?0:o.offerToReceiveAudio),void 0!==o.offerToReceiveVideo&&(n=!0===o.offerToReceiveVideo?1:!1===o.offerToReceiveVideo?0:o.offerToReceiveVideo)}for(t.transceivers.forEach((function(A){"audio"===A.kind?--r<0&&(A.wantReceive=!1):"video"===A.kind&&--n<0&&(A.wantReceive=!1)}));r>0||n>0;)r>0&&(t._createTransceiver("audio"),r--),n>0&&(t._createTransceiver("video"),n--);var g=i.writeSessionBoilerplate(t._sdpSessionId,t._sdpSessionVersion++);t.transceivers.forEach((function(a,r){var n=a.track,o=a.kind,s=a.mid||i.generateIdentifier();a.mid=s,a.iceGatherer||(a.iceGatherer=t._createIceGatherer(r,t.usingBundle));var g=A.RTCRtpSender.getCapabilities(o);e<15019&&(g.codecs=g.codecs.filter((function(A){return"rtx"!==A.name}))),g.codecs.forEach((function(A){"H264"===A.name&&void 0===A.parameters["level-asymmetry-allowed"]&&(A.parameters["level-asymmetry-allowed"]="1"),a.remoteCapabilities&&a.remoteCapabilities.codecs&&a.remoteCapabilities.codecs.forEach((function(e){A.name.toLowerCase()===e.name.toLowerCase()&&A.clockRate===e.clockRate&&(A.preferredPayloadType=e.payloadType)}))})),g.headerExtensions.forEach((function(A){(a.remoteCapabilities&&a.remoteCapabilities.headerExtensions||[]).forEach((function(e){A.uri===e.uri&&(A.id=e.id)}))}));var l=a.sendEncodingParameters||[{ssrc:1001*(2*r+1)}];n&&e>=15019&&"video"===o&&!l[0].rtx&&(l[0].rtx={ssrc:l[0].ssrc+1}),a.wantReceive&&(a.rtpReceiver=new A.RTCRtpReceiver(a.dtlsTransport,o)),a.localCapabilities=g,a.sendEncodingParameters=l})),"max-compat"!==t._config.bundlePolicy&&(g+="a=group:BUNDLE "+t.transceivers.map((function(A){return A.mid})).join(" ")+"\r\n"),g+="a=ice-options:trickle\r\n",t.transceivers.forEach((function(A,e){g+=a(A,A.localCapabilities,"offer",A.stream,t._dtlsRole),g+="a=rtcp-rsize\r\n",!A.iceGatherer||"new"===t.iceGatheringState||0!==e&&t.usingBundle||(A.iceGatherer.getLocalCandidates().forEach((function(A){A.component=1,g+="a="+i.writeCandidate(A)+"\r\n"})),"completed"===A.iceGatherer.state&&(g+="a=end-of-candidates\r\n"))}));var l=new A.RTCSessionDescription({type:"offer",sdp:g});return Promise.resolve(l)},l.prototype.createAnswer=function(){var t=this;if(t._isClosed)return Promise.reject(s("InvalidStateError","Can not call createAnswer after close"));if("have-remote-offer"!==t.signalingState&&"have-local-pranswer"!==t.signalingState)return Promise.reject(s("InvalidStateError","Can not call createAnswer in signalingState "+t.signalingState));var n=i.writeSessionBoilerplate(t._sdpSessionId,t._sdpSessionVersion++);t.usingBundle&&(n+="a=group:BUNDLE "+t.transceivers.map((function(A){return A.mid})).join(" ")+"\r\n"),n+="a=ice-options:trickle\r\n";var o=i.getMediaSections(t._remoteDescription.sdp).length;t.transceivers.forEach((function(A,i){if(!(i+1>o)){if(A.rejected)return"application"===A.kind?"DTLS/SCTP"===A.protocol?n+="m=application 0 DTLS/SCTP 5000\r\n":n+="m=application 0 "+A.protocol+" webrtc-datachannel\r\n":"audio"===A.kind?n+="m=audio 0 UDP/TLS/RTP/SAVPF 0\r\na=rtpmap:0 PCMU/8000\r\n":"video"===A.kind&&(n+="m=video 0 UDP/TLS/RTP/SAVPF 120\r\na=rtpmap:120 VP8/90000\r\n"),void(n+="c=IN IP4 0.0.0.0\r\na=inactive\r\na=mid:"+A.mid+"\r\n");var s;A.stream&&("audio"===A.kind?s=A.stream.getAudioTracks()[0]:"video"===A.kind&&(s=A.stream.getVideoTracks()[0]),s&&e>=15019&&"video"===A.kind&&!A.sendEncodingParameters[0].rtx&&(A.sendEncodingParameters[0].rtx={ssrc:A.sendEncodingParameters[0].ssrc+1}));var g=r(A.localCapabilities,A.remoteCapabilities);!g.codecs.filter((function(A){return"rtx"===A.name.toLowerCase()})).length&&A.sendEncodingParameters[0].rtx&&delete A.sendEncodingParameters[0].rtx,n+=a(A,g,"answer",A.stream,t._dtlsRole),A.rtcpParameters&&A.rtcpParameters.reducedSize&&(n+="a=rtcp-rsize\r\n")}}));var g=new A.RTCSessionDescription({type:"answer",sdp:n});return Promise.resolve(g)},l.prototype.addIceCandidate=function(A){var e,t=this;return A&&void 0===A.sdpMLineIndex&&!A.sdpMid?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise((function(a,r){if(!t._remoteDescription)return r(s("InvalidStateError","Can not add ICE candidate without a remote description"));if(A&&""!==A.candidate){var n=A.sdpMLineIndex;if(A.sdpMid)for(var g=0;g0?i.parseCandidate(A.candidate):{};if("tcp"===C.protocol&&(0===C.port||9===C.port))return a();if(C.component&&1!==C.component)return a();if((0===n||n>0&&l.iceTransport!==t.transceivers[0].iceTransport)&&!o(l.iceTransport,C))return r(s("OperationError","Can not add ICE candidate"));var I=A.candidate.trim();0===I.indexOf("a=")&&(I=I.substr(2)),(e=i.getMediaSections(t._remoteDescription.sdp))[n]+="a="+(C.type?I:"end-of-candidates")+"\r\n",t._remoteDescription.sdp=i.getDescription(t._remoteDescription.sdp)+e.join("")}else for(var c=0;c0?e[0].split("/")[1]:"sendrecv",uri:e[1]}},i.writeExtmap=function(A){return"a=extmap:"+(A.id||A.preferredId)+(A.direction&&"sendrecv"!==A.direction?"/"+A.direction:"")+" "+A.uri+"\r\n"},i.parseFmtp=function(A){for(var e,t={},i=A.substr(A.indexOf(" ")+1).split(";"),a=0;a-1?(t.attribute=A.substr(e+1,i-e-1),t.value=A.substr(i+1)):t.attribute=A.substr(e+1),t},i.parseSsrcGroup=function(A){var e=A.substr(13).split(" ");return{semantics:e.shift(),ssrcs:e.map((function(A){return parseInt(A,10)}))}},i.getMid=function(A){var e=i.matchPrefix(A,"a=mid:")[0];if(e)return e.substr(6)},i.parseFingerprint=function(A){var e=A.substr(14).split(" ");return{algorithm:e[0].toLowerCase(),value:e[1]}},i.getDtlsParameters=function(A,e){return{role:"auto",fingerprints:i.matchPrefix(A+e,"a=fingerprint:").map(i.parseFingerprint)}},i.writeDtlsParameters=function(A,e){var t="a=setup:"+e+"\r\n";return A.fingerprints.forEach((function(A){t+="a=fingerprint:"+A.algorithm+" "+A.value+"\r\n"})),t},i.getIceParameters=function(A,e){var t=i.splitLines(A);return{usernameFragment:(t=t.concat(i.splitLines(e))).filter((function(A){return 0===A.indexOf("a=ice-ufrag:")}))[0].substr(12),password:t.filter((function(A){return 0===A.indexOf("a=ice-pwd:")}))[0].substr(10)}},i.writeIceParameters=function(A){return"a=ice-ufrag:"+A.usernameFragment+"\r\na=ice-pwd:"+A.password+"\r\n"},i.parseRtpParameters=function(A){for(var e={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},t=i.splitLines(A)[0].split(" "),a=3;a0?"9":"0",t+=" UDP/TLS/RTP/SAVPF ",t+=e.codecs.map((function(A){return void 0!==A.preferredPayloadType?A.preferredPayloadType:A.payloadType})).join(" ")+"\r\n",t+="c=IN IP4 0.0.0.0\r\n",t+="a=rtcp:9 IN IP4 0.0.0.0\r\n",e.codecs.forEach((function(A){t+=i.writeRtpMap(A),t+=i.writeFmtp(A),t+=i.writeRtcpFb(A)}));var a=0;return e.codecs.forEach((function(A){A.maxptime>a&&(a=A.maxptime)})),a>0&&(t+="a=maxptime:"+a+"\r\n"),t+="a=rtcp-mux\r\n",e.headerExtensions&&e.headerExtensions.forEach((function(A){t+=i.writeExtmap(A)})),t},i.parseRtpEncodingParameters=function(A){var e,t=[],a=i.parseRtpParameters(A),r=-1!==a.fecMechanisms.indexOf("RED"),n=-1!==a.fecMechanisms.indexOf("ULPFEC"),o=i.matchPrefix(A,"a=ssrc:").map((function(A){return i.parseSsrcMedia(A)})).filter((function(A){return"cname"===A.attribute})),s=o.length>0&&o[0].ssrc,g=i.matchPrefix(A,"a=ssrc-group:FID").map((function(A){return A.substr(17).split(" ").map((function(A){return parseInt(A,10)}))}));g.length>0&&g[0].length>1&&g[0][0]===s&&(e=g[0][1]),a.codecs.forEach((function(A){if("RTX"===A.name.toUpperCase()&&A.parameters.apt){var i={ssrc:s,codecPayloadType:parseInt(A.parameters.apt,10)};s&&e&&(i.rtx={ssrc:e}),t.push(i),r&&((i=JSON.parse(JSON.stringify(i))).fec={ssrc:s,mechanism:n?"red+ulpfec":"red"},t.push(i))}})),0===t.length&&s&&t.push({ssrc:s});var l=i.matchPrefix(A,"b=");return l.length&&(l=0===l[0].indexOf("b=TIAS:")?parseInt(l[0].substr(7),10):0===l[0].indexOf("b=AS:")?1e3*parseInt(l[0].substr(5),10)*.95-16e3:void 0,t.forEach((function(A){A.maxBitrate=l}))),t},i.parseRtcpParameters=function(A){var e={},t=i.matchPrefix(A,"a=ssrc:").map((function(A){return i.parseSsrcMedia(A)})).filter((function(A){return"cname"===A.attribute}))[0];t&&(e.cname=t.value,e.ssrc=t.ssrc);var a=i.matchPrefix(A,"a=rtcp-rsize");e.reducedSize=a.length>0,e.compound=0===a.length;var r=i.matchPrefix(A,"a=rtcp-mux");return e.mux=r.length>0,e},i.parseMsid=function(A){var e,t=i.matchPrefix(A,"a=msid:");if(1===t.length)return{stream:(e=t[0].substr(7).split(" "))[0],track:e[1]};var a=i.matchPrefix(A,"a=ssrc:").map((function(A){return i.parseSsrcMedia(A)})).filter((function(A){return"msid"===A.attribute}));return a.length>0?{stream:(e=a[0].value.split(" "))[0],track:e[1]}:void 0},i.parseSctpDescription=function(A){var e,t=i.parseMLine(A),a=i.matchPrefix(A,"a=max-message-size:");a.length>0&&(e=parseInt(a[0].substr(19),10)),isNaN(e)&&(e=65536);var r=i.matchPrefix(A,"a=sctp-port:");if(r.length>0)return{port:parseInt(r[0].substr(12),10),protocol:t.fmt,maxMessageSize:e};if(i.matchPrefix(A,"a=sctpmap:").length>0){var n=i.matchPrefix(A,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(n[0],10),protocol:n[1],maxMessageSize:e}}},i.writeSctpDescription=function(A,e){var t=[];return t="DTLS/SCTP"!==A.protocol?["m="+A.kind+" 9 "+A.protocol+" "+e.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+e.port+"\r\n"]:["m="+A.kind+" 9 "+A.protocol+" "+e.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+e.port+" "+e.protocol+" 65535\r\n"],void 0!==e.maxMessageSize&&t.push("a=max-message-size:"+e.maxMessageSize+"\r\n"),t.join("")},i.generateSessionId=function(){return Math.random().toString().substr(2,21)},i.writeSessionBoilerplate=function(A,e,t){var a=void 0!==e?e:2;return"v=0\r\no="+(t||"thisisadapterortc")+" "+(A||i.generateSessionId())+" "+a+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},i.writeMediaSection=function(A,e,t,a){var r=i.writeRtpDescription(A.kind,e);if(r+=i.writeIceParameters(A.iceGatherer.getLocalParameters()),r+=i.writeDtlsParameters(A.dtlsTransport.getLocalParameters(),"offer"===t?"actpass":"active"),r+="a=mid:"+A.mid+"\r\n",A.direction?r+="a="+A.direction+"\r\n":A.rtpSender&&A.rtpReceiver?r+="a=sendrecv\r\n":A.rtpSender?r+="a=sendonly\r\n":A.rtpReceiver?r+="a=recvonly\r\n":r+="a=inactive\r\n",A.rtpSender){var n="msid:"+a.id+" "+A.rtpSender.track.id+"\r\n";r+="a="+n,r+="a=ssrc:"+A.sendEncodingParameters[0].ssrc+" "+n,A.sendEncodingParameters[0].rtx&&(r+="a=ssrc:"+A.sendEncodingParameters[0].rtx.ssrc+" "+n,r+="a=ssrc-group:FID "+A.sendEncodingParameters[0].ssrc+" "+A.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return r+="a=ssrc:"+A.sendEncodingParameters[0].ssrc+" cname:"+i.localCName+"\r\n",A.rtpSender&&A.sendEncodingParameters[0].rtx&&(r+="a=ssrc:"+A.sendEncodingParameters[0].rtx.ssrc+" cname:"+i.localCName+"\r\n"),r},i.getDirection=function(A,e){for(var t=i.splitLines(A),a=0;a=26&&A<=e||Na.extension.isInstalled()}return!0};var ka={extensionId:"hapfgfdkleiggjjpfpenajgdnfckjpaj",isInstalled:function(){return null!==document.querySelector("#janus-extension-installed")},getScreen:function(A){var e=window.setTimeout((function(){var e=new Error("NavigatorUserMediaError");return e.name='The required Chrome extension is not installed: click here to install it. (NOTE: this will need you to refresh the page)',A(e)}),1e3);this.cache[e]=A,window.postMessage({type:"janusGetScreen",id:e},"*")},init:function(){var A={};this.cache=A,window.addEventListener("message",(function(e){if(e.origin==window.location.origin)if("janusGotScreen"==e.data.type&&A[e.data.id]){var t=A[e.data.id];if(delete A[e.data.id],""===e.data.sourceId){var i=new Error("NavigatorUserMediaError");i.name="You cancelled the request for permission, giving up...",t(i)}else t(null,e.data.sourceId)}else"janusGetScreenPending"==e.data.type&&window.clearTimeout(e.data.id)}))}};function Na(A,e){if(void 0===Na.initDone)return A.error("Library not initialized"),{};if(!Na.isWebrtcSupported())return A.error("WebRTC not supported by this browser"),{};if(Na.log("Library initialized: "+Na.initDone),(A=A||{}).success="function"==typeof A.success?A.success:Na.noop,A.error="function"==typeof A.error?A.error:Na.noop,A.destroyed="function"==typeof A.destroyed?A.destroyed:Na.noop,null===A.server||void 0===A.server)return A.error("Invalid server url"),{};var t=!1,i=null,a={},r=null,n=null,o=0,s=A.server;Na.isArray(s)?(Na.log("Multiple servers provided ("+s.length+"), will use the first that works"),s=null,n=A.server,Na.debug(n)):0===s.indexOf("ws")?(t=!0,Na.log("Using WebSockets to contact Janus: "+s)):(t=!1,Na.log("Using REST API to contact Janus: "+s));var g=A.iceServers;null==g&&(g=[{urls:"stun:stun.l.google.com:19302"}]);var l=A.iceTransportPolicy,C=A.bundlePolicy,I=A.ipv6;null==I&&(I=!1);var c=!1;void 0!==A.withCredentials&&null!==A.withCredentials&&(c=!0===A.withCredentials);var h=10;void 0!==A.max_poll_events&&null!==A.max_poll_events&&(h=A.max_poll_events),h<1&&(h=1);var B=null;void 0!==A.token&&null!==A.token&&(B=A.token);var E=null;void 0!==A.apisecret&&null!==A.apisecret&&(E=A.apisecret),this.destroyOnUnload=!0,void 0!==A.destroyOnUnload&&null!==A.destroyOnUnload&&(this.destroyOnUnload=!0===A.destroyOnUnload);var x=25e3;void 0!==A.keepAlivePeriod&&null!==A.keepAlivePeriod&&(x=A.keepAlivePeriod),isNaN(x)&&(x=25e3);var d=6e4;function Q(A){var e={high:9e5,medium:3e5,low:1e5};return null!=A&&(A.high&&(e.high=A.high),A.medium&&(e.medium=A.medium),A.low&&(e.low=A.low)),e}void 0!==A.longPollTimeout&&null!==A.longPollTimeout&&(d=A.longPollTimeout),isNaN(d)&&(d=6e4);var f=!1,u=null,p={},m=this,_=0,y={};function S(){if(null!=u)if(Na.debug("Long poll..."),f){var e=s+"/"+u+"?rid="+(new Date).getTime();null!=h&&(e=e+"&maxev="+h),null!=B&&(e=e+"&token="+encodeURIComponent(B)),null!=E&&(e=e+"&apisecret="+encodeURIComponent(E)),Na.httpAPICall(e,{verb:"GET",withCredentials:c,success:D,timeout:d,error:function(e,t){if(Na.error(e+":",t),++_>3)return f=!1,void A.error("Lost connection to the server (is it down?)");S()}})}else Na.warn("Is the server down? (connected=false)")}function D(A,e){if(_=0,t||null==u||!0===e||S(),t||!Na.isArray(A))if("keepalive"!==A.rtcgw)if("ack"!==A.rtcgw)if("success"!==A.rtcgw)if("trickle"===A.rtcgw){if(null==(s=A.sender))return void Na.warn("Missing sender...");if(null==(l=p[s]))return void Na.debug("This handle is not attached to this session");var a=A.candidate;Na.debug("Got a trickled candidate on session "+u),Na.debug(a);var r=l.webrtcStuff;r.pc&&r.remoteSdp?(Na.debug("Adding remote candidate:",a),a&&!0!==a.completed?r.pc.addIceCandidate(a):r.pc.addIceCandidate(Na.endOfCandidates)):(Na.debug("We didn't do setRemoteDescription (trickle got here before the offer?), caching candidate"),r.candidates||(r.candidates=[]),r.candidates.push(a),Na.debug(r.candidates))}else{if("webrtcup"===A.rtcgw)return Na.debug("Got a webrtcup event on session "+u),Na.debug(A),null==(s=A.sender)?void Na.warn("Missing sender..."):null==(l=p[s])?void Na.debug("This handle is not attached to this session"):void l.webrtcState(!0);if("hangup"===A.rtcgw){if(Na.debug("Got a hangup event on session "+u),Na.debug(A),null==(s=A.sender))return void Na.warn("Missing sender...");if(null==(l=p[s]))return void Na.debug("This handle is not attached to this session");l.webrtcState(!1,A.reason),l.hangup()}else if("detached"===A.rtcgw){if(Na.debug("Got a detached event on session "+u),Na.debug(A),null==(s=A.sender))return void Na.warn("Missing sender...");if(null==(l=p[s]))return;l.detached=!0,l.ondetached(),l.detach()}else if("media"===A.rtcgw){if(Na.debug("Got a media event on session "+u),Na.debug(A),null==(s=A.sender))return void Na.warn("Missing sender...");if(null==(l=p[s]))return void Na.debug("This handle is not attached to this session");l.mediaState(A.type,A.receiving)}else if("slowlink"===A.rtcgw){if(Na.debug("Got a slowlink event on session "+u),Na.debug(A),null==(s=A.sender))return void Na.warn("Missing sender...");if(null==(l=p[s]))return void Na.debug("This handle is not attached to this session");l.slowLink(A.uplink,A.lost)}else{var n,o;if("error"===A.rtcgw)return Na.error("Ooops: "+A.error.code+" "+A.error.reason),Na.debug(A),void(null!=(n=A.transaction)&&(null!=(o=y[n])&&o(A),delete y[n]));if("event"===A.rtcgw){var s;if(Na.debug("Got a plugin event on session "+u),Na.debug(A),null==(s=A.sender))return void Na.warn("Missing sender...");var g=A.plugindata;if(null==g)return void Na.warn("Missing plugindata...");Na.debug(" -- Event is coming from "+s+" ("+g.plugin+")");var l,C=g.data;if(Na.debug(C),null==(l=p[s]))return void Na.warn("This handle is not attached to this session");var I=A.jsep;null!=I&&(Na.debug("Handling SDP as well..."),Na.debug(I));var c=l.onmessage;null!=c?(Na.debug("Notifying application..."),c(C,I)):Na.debug("No provided notification callback")}else{if("timeout"===A.rtcgw)return Na.error("Timeout on session "+u),Na.debug(A),void(t&&i.close(3504,"Gateway timeout"));Na.warn("Unknown message/event '"+A.rtcgw+"' on session "+u),Na.debug(A)}}}else Na.debug("Got a success on session "+u),null!=(n=A.transaction)&&(null!=(o=y[n])&&o(A),delete y[n]);else null!=(n=A.transaction)&&(null!=(o=y[n])&&o(A),delete y[n]);else Na.vdebug("Got a keepalive on session "+u);else for(var h=0;h data channel: "+t),"open"===t){if(r.dataChannel[e].pending&&r.dataChannel[e].pending.length>0){for(var i in Na.log("Sending pending messages on <"+e+">:",r.dataChannel[e].pending.length),r.dataChannel[e].pending){var n=r.dataChannel[e].pending[i];Na.log("Sending string on data channel <"+e+">: "+n),r.dataChannel[e].send(n)}r.dataChannel[e].pending=[]}a.ondataopen(e)}};r.dataChannel[e]=t||r.pc.createDataChannel(e,{ordered:!1}),r.dataChannel[e].onmessage=function(A){Na.log("Received message on data channel:",A);var e=A.target.label;a.ondata(A.data,e)},r.dataChannel[e].onopen=n,r.dataChannel[e].onclose=n,r.dataChannel[e].onerror=function(A){Na.error("Got error on data channel:",A)},r.dataChannel[e].pending=[],i&&r.dataChannel[e].pending.push(i)}else Na.warn("Invalid handle")}function P(A,e){(e=e||{}).success="function"==typeof e.success?e.success:Na.noop,e.error="function"==typeof e.error?e.error:Na.noop;var t=p[A];if(null==t||null===t.webrtcStuff||void 0===t.webrtcStuff)return Na.warn("Invalid handle"),void e.error("Invalid handle");var i=t.webrtcStuff,a=e.text;if(null==a)return Na.warn("Invalid text"),void e.error("Invalid text");var r=e.label?e.label:Na.dataChanDefaultLabel;return i.dataChannel[r]?"open"!==i.dataChannel[r].readyState?(i.dataChannel[r].pending.push(a),void e.success()):(Na.log("Sending string on data channel <"+r+">: "+a),i.dataChannel[r].send(a),void e.success()):(v(A,r,!1,a),void e.success())}function k(A,e){(e=e||{}).success="function"==typeof e.success?e.success:Na.noop,e.error="function"==typeof e.error?e.error:Na.noop;var t=p[A];if(null==t||null===t.webrtcStuff||void 0===t.webrtcStuff)return Na.warn("Invalid handle"),void e.error("Invalid handle");var i=t.webrtcStuff;if(null===i.dtmfSender||void 0===i.dtmfSender){if(void 0!==i.pc&&null!==i.pc){var a=i.pc.getSenders().find((function(A){return A.track&&"audio"===A.track.kind}));if(!a)return Na.warn("Invalid DTMF configuration (no audio track)"),void e.error("Invalid DTMF configuration (no audio track)");i.dtmfSender=a.dtmf,i.dtmfSender&&(Na.log("Created DTMF Sender"),i.dtmfSender.ontonechange=function(A){Na.debug("Sent DTMF tone: "+A.tone)})}if(null===i.dtmfSender||void 0===i.dtmfSender)return Na.warn("Invalid DTMF configuration"),void e.error("Invalid DTMF configuration")}var r=e.dtmf;if(null==r)return Na.warn("Invalid DTMF parameters"),void e.error("Invalid DTMF parameters");var n=r.tones;if(null==n)return Na.warn("Invalid DTMF string"),void e.error("Invalid DTMF string");var o=r.duration;null==o&&(o=500);var s=r.gap;null==s&&(s=50),Na.debug("Sending DTMF string "+n+" (duration "+o+"ms, gap "+s+"ms)"),i.dtmfSender.insertDTMF(n,o,s),e.success()}function N(A,e){(e=e||{}).success="function"==typeof e.success?e.success:Na.noop,e.error="function"==typeof e.error?e.error:Na.noop;var a=!0;void 0!==e.asyncRequest&&null!==e.asyncRequest&&(a=!0===e.asyncRequest);var r=!0;void 0!==e.noRequest&&null!==e.noRequest&&(r=!0===e.noRequest),Na.log("Destroying handle "+A+" (async="+a+")"),K(A);var n=p[A];if(null==n||n.detached)return delete p[A],void e.success();if(r)return delete p[A],void e.success();if(!f)return Na.warn("Is the server down? (connected=false)"),void e.error("Is the server down? (connected=false)");var o={rtcgw:"detach",transaction:Na.randomString(12)};if(null!==n.token&&void 0!==n.token&&(o.token=n.token),null!=E&&(o.apisecret=E),t)return o.session_id=u,o.handle_id=A,i.send(JSON.stringify(o)),delete p[A],void e.success();Na.httpAPICall(s+"/"+u+"/"+A,{verb:"POST",async:a,withCredentials:c,body:o,success:function(t){Na.log("Destroyed handle:"),Na.debug(t),"success"!==t.rtcgw&&Na.error("Ooops: "+t.error.code+" "+t.error.reason),delete p[A],e.success()},error:function(t,i){Na.error(t+":",i),delete p[A],e.success()}})}function T(A,e,t,i,a){return M.apply(this,arguments)}function M(){var A;return A=function*(A,e,t,i,a){var r=p[A];if(null==r||null===r.webrtcStuff||void 0===r.webrtcStuff)return Na.warn("Invalid handle"),void i.error("Invalid handle");var n=r.webrtcStuff;Na.debug("streamsDone:",a),a&&(Na.debug(" -- Audio tracks:",a.getAudioTracks()),Na.debug(" -- Video tracks:",a.getVideoTracks()));var o=!1;if(n.myStream&&t.update&&!n.streamExternal){if((!t.update&&V(t)||t.update&&(t.addAudio||t.replaceAudio))&&a.getAudioTracks()&&a.getAudioTracks().length)if(n.myStream.addTrack(a.getAudioTracks()[0]),Na.unifiedPlan){Na.log((t.replaceAudio?"Replacing":"Adding")+" audio track:",a.getAudioTracks()[0]);var s=null;if((d=n.pc.getTransceivers())&&d.length>0)for(var c in d)if((u=d[c]).sender&&u.sender.track&&"audio"===u.sender.track.kind||u.receiver&&u.receiver.track&&"audio"===u.receiver.track.kind){s=u;break}let e=null;try{e=yield i.customizeStream(a)}catch(A){i.error(A)}var h,B,E,x;s&&s.sender?s.sender.replaceTrack((null==e||null==(B=e.getAudioTracks)||null==(h=B.call(e))?void 0:h[0])||a.getAudioTracks()[0]):n.pc.addTrack((null==e||null==(x=e.getAudioTracks)||null==(E=x.call(e))?void 0:E[0])||a.getAudioTracks()[0],e||a)}else Na.log((t.replaceAudio?"Replacing":"Adding")+" audio track:",a.getAudioTracks()[0]),n.pc.addTrack(a.getAudioTracks()[0],a);if((!t.update&&Z(t)||t.update&&(t.addVideo||t.replaceVideo))&&a.getVideoTracks()&&a.getVideoTracks().length)if(n.myStream.addTrack(a.getVideoTracks()[0]),Na.unifiedPlan){Na.log((t.replaceVideo?"Replacing":"Adding")+" video track:",a.getVideoTracks()[0]);var d,f=null;if((d=n.pc.getTransceivers())&&d.length>0)for(var c in d){var u;if((u=d[c]).sender&&u.sender.track&&"video"===u.sender.track.kind||u.receiver&&u.receiver.track&&"video"===u.receiver.track.kind){f=u;break}}f&&f.sender?f.sender.replaceTrack(a.getVideoTracks()[0]):n.pc.addTrack(a.getVideoTracks()[0],a)}else Na.log((t.replaceVideo?"Replacing":"Adding")+" video track:",a.getVideoTracks()[0]),n.pc.addTrack(a.getVideoTracks()[0],a)}else n.myStream=a,o=!0;if(!n.pc){var m={iceServers:g,iceTransportPolicy:l,bundlePolicy:C};"chrome"===Na.webRTCAdapter.browserDetails.browser&&(m.sdpSemantics=Na.webRTCAdapter.browserDetails.version<72?"plan-b":"unified-plan");var _={optional:[{DtlsSrtpKeyAgreement:!0}]};if(!0===I&&_.optional.push({googIPv6:!0}),i.rtcConstraints&&"object"==typeof i.rtcConstraints)for(var c in Na.debug("Adding custom PeerConnection constraints:",i.rtcConstraints),i.rtcConstraints)_.optional.push(i.rtcConstraints[c]);"edge"===Na.webRTCAdapter.browserDetails.browser&&(m.bundlePolicy="max-bundle"),Na.log("Creating PeerConnection"),Na.debug(_),n.pc=new RTCPeerConnection(m,_),n.pc.getStats&&(n.volume={},n.bitrate.value="0 kbits/sec"),Na.log("Preparing local SDP and gathering candidates (trickle="+n.trickle+")"),n.pc.oniceconnectionstatechange=function(A){n.pc&&r.iceState(n.pc.iceConnectionState)},n.pc.onicecandidate=function(e){if(null==e.candidate||"edge"===Na.webRTCAdapter.browserDetails.browser&&e.candidate.candidate.indexOf("endOfCandidates")>0)Na.log("End of candidates."),n.iceDone=!0,!0===n.trickle?b(A,{completed:!0}):function(A,e){(e=e||{}).success="function"==typeof e.success?e.success:Na.noop,e.error="function"==typeof e.error?e.error:Na.noop;var t=p[A];if(null!=t&&null!==t.webrtcStuff&&void 0!==t.webrtcStuff){var i=t.webrtcStuff;Na.log("Sending offer/answer SDP..."),null!==i.mySdp&&void 0!==i.mySdp?(i.mySdp={type:i.pc.localDescription.type,sdp:i.pc.localDescription.sdp},!1===i.trickle&&(i.mySdp.trickle=!1),Na.debug(e),i.sdpSent=!0,e.success(i.mySdp)):Na.warn("Local SDP instance is invalid, not sending anything...")}else Na.warn("Invalid handle, not sending anything")}(A,i);else{var t={candidate:e.candidate.candidate,sdpMid:e.candidate.sdpMid,sdpMLineIndex:e.candidate.sdpMLineIndex};!0===n.trickle&&b(A,t)}},n.pc.ontrack=function(A){Na.log("Handling Remote Track"),Na.debug(A),A.streams&&(n.remoteStream=A.streams[0],r.onremotestream(n.remoteStream),A.track.onended||(Na.log("Adding onended callback to track:",A.track),A.track.onended=function(A){Na.log("Remote track muted/removed:",A),n.remoteStream&&(n.remoteStream.removeTrack(A.target),r.onremotestream(n.remoteStream))},A.track.onmute=A.track.onended,A.track.onunmute=function(A){try{n.remoteStream.addTrack(A.target),r.onremotestream(n.remoteStream)}catch(A){Na.error(A)}}))}}if(o&&null!=a){Na.log("Adding local stream");var y=!0===i.simulcast2,S=a.getTracks();for(let e=0;e0)for(var l in g){var C=g[l];C.sender&&C.sender.track&&"audio"===C.sender.track.kind||C.receiver&&C.receiver.track&&"audio"===C.receiver.track.kind?o||(o=C):(C.sender&&C.sender.track&&"video"===C.sender.track.kind||C.receiver&&C.receiver.track&&"video"===C.receiver.track.kind)&&(s||(s=C))}var I=V(e),c=W(e);I||c?I&&c?o&&(o.setDirection?o.setDirection("sendrecv"):o.direction="sendrecv",Na.log("Setting audio transceiver to sendrecv:",o)):I&&!c?o&&(o.setDirection?o.setDirection("sendonly"):o.direction="sendonly",Na.log("Setting audio transceiver to sendonly:",o)):!I&&c&&(o?(o.setDirection?o.setDirection("recvonly"):o.direction="recvonly",Na.log("Setting audio transceiver to recvonly:",o)):(o=a.pc.addTransceiver("audio",{direction:"recvonly"}),Na.log("Adding recvonly audio transceiver:",o))):e.removeAudio&&o&&(o.setDirection?o.setDirection("inactive"):o.direction="inactive",Na.log("Setting audio transceiver to inactive:",o));var h=Z(e),B=X(e);h||B?h&&B?s&&(s.setDirection?s.setDirection("sendrecv"):s.direction="sendrecv",Na.log("Setting video transceiver to sendrecv:",s)):h&&!B?s&&(s.setDirection?s.setDirection("sendonly"):s.direction="sendonly",Na.log("Setting video transceiver to sendonly:",s)):!h&&B&&(s?(s.setDirection?s.setDirection("recvonly"):s.direction="recvonly",Na.log("Setting video transceiver to recvonly:",s)):(s=a.pc.addTransceiver("video",{direction:"recvonly"}),Na.log("Adding recvonly video transceiver:",s))):e.removeVideo&&s&&(s.setDirection?s.setDirection("inactive"):s.direction="inactive",Na.log("Setting video transceiver to inactive:",s))}else n.offerToReceiveAudio=W(e),n.offerToReceiveVideo=X(e);!0===t.iceRestart&&(n.iceRestart=!0),Na.debug(n);var E=Z(e);if(E&&r&&"firefox"===Na.webRTCAdapter.browserDetails.browser){var x=a.pc.getSenders().find((function(A){return"video"==A.track.kind}));if(x){var d=x.getParameters();d||(d={});const A=Q(t.simulcastMaxBitrates);d.encodings=[{rid:"h",active:!0,maxBitrate:A.high},{rid:"m",active:!0,maxBitrate:A.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:A.low,scaleResolutionDownBy:4}],x.setParameters(d)}}a.pc.createOffer(n).then((function(A){var e={type:A.type,sdp:A.sdp};t.customizeSdp(e),A.sdp=e.sdp,Na.log("Setting local description"),E&&r&&("chrome"===Na.webRTCAdapter.browserDetails.browser||"safari"===Na.webRTCAdapter.browserDetails.browser?(Na.log("Enabling Simulcasting for Chrome (SDP munging)"),A.sdp=function(A){for(var e=A.split("\r\n"),t=!1,i=[-1],a=[-1],r=null,n=null,o=null,s=null,g=-1,l=0;l-1){g=l;break}}else if(t){var C=e[l].match(/a=ssrc-group:FID (\d+) (\d+)/);if(C)i[0]=C[1],a[0]=C[2],e.splice(l,1),l--;else{if(i[0]){if((h=e[l].match("a=ssrc:"+i[0]+" cname:(.+)"))&&(r=h[1]),(h=e[l].match("a=ssrc:"+i[0]+" msid:(.+)"))&&(n=h[1]),(h=e[l].match("a=ssrc:"+i[0]+" mslabel:(.+)"))&&(o=h[1]),(h=e[l].match("a=ssrc:"+i[0]+" label:(.+)"))&&(s=h[1]),0===e[l].indexOf("a=ssrc:"+a[0])){e.splice(l,1),l--;continue}if(0===e[l].indexOf("a=ssrc:"+i[0])){e.splice(l,1),l--;continue}}0!=e[l].length||(e.splice(l,1),l--)}}if(i[0]<0)for(g=-1,t=!1,l=0;l-1){g=l;break}}else if(t){if(i[0]<0){var c=e[l].match(/a=ssrc:(\d+)/);if(c){i[0]=c[1],e.splice(l,1),l--;continue}}else{var h;if((h=e[l].match("a=ssrc:"+i[0]+" cname:(.+)"))&&(r=h[1]),(h=e[l].match("a=ssrc:"+i[0]+" msid:(.+)"))&&(n=h[1]),(h=e[l].match("a=ssrc:"+i[0]+" mslabel:(.+)"))&&(o=h[1]),(h=e[l].match("a=ssrc:"+i[0]+" label:(.+)"))&&(s=h[1]),0===e[l].indexOf("a=ssrc:"+a[0])){e.splice(l,1),l--;continue}if(0===e[l].indexOf("a=ssrc:"+i[0])){e.splice(l,1),l--;continue}}0!=e[l].length||(e.splice(l,1),l--)}}if(i[0]<0)return Na.warn("Couldn't find the video SSRC, simulcasting NOT enabled"),A;for(g<0&&(g=e.length),i[1]=Math.floor(4294967295*Math.random()),i[2]=Math.floor(4294967295*Math.random()),a[1]=Math.floor(4294967295*Math.random()),a[2]=Math.floor(4294967295*Math.random()),l=0;l0){for(var a=0;a0)for(var l in g){var C=g[l];C.sender&&C.sender.track&&"audio"===C.sender.track.kind||C.receiver&&C.receiver.track&&"audio"===C.receiver.track.kind?o||(o=C):(C.sender&&C.sender.track&&"video"===C.sender.track.kind||C.receiver&&C.receiver.track&&"video"===C.receiver.track.kind)&&(s||(s=C))}var I=V(e),c=W(e);if(I||c){if(I&&c){if(o)try{o.setDirection?o.setDirection("sendrecv"):o.direction="sendrecv",Na.log("Setting audio transceiver to sendrecv:",o)}catch(A){Na.error(A)}}else if(I&&!c)try{o&&(o.setDirection?o.setDirection("sendonly"):o.direction="sendonly",Na.log("Setting audio transceiver to sendonly:",o))}catch(A){Na.error(A)}else if(!I&&c)if(o)try{o.setDirection?o.setDirection("recvonly"):o.direction="recvonly",Na.log("Setting audio transceiver to recvonly:",o)}catch(A){Na.error(A)}else o=a.pc.addTransceiver("audio",{direction:"recvonly"}),Na.log("Adding recvonly audio transceiver:",o)}else if(e.removeAudio&&o)try{o.setDirection?o.setDirection("inactive"):o.direction="inactive",Na.log("Setting audio transceiver to inactive:",o)}catch(A){Na.error(A)}var h=Z(e),B=X(e);if(h||B){if(h&&B){if(s)try{s.setDirection?s.setDirection("sendrecv"):s.direction="sendrecv",Na.log("Setting video transceiver to sendrecv:",s)}catch(A){Na.error(A)}}else if(h&&!B){if(s)try{s.setDirection?s.setDirection("sendonly"):s.direction="sendonly",Na.log("Setting video transceiver to sendonly:",s)}catch(A){Na.error(A)}}else if(!h&&B)if(s)try{s.setDirection?s.setDirection("recvonly"):s.direction="recvonly",Na.log("Setting video transceiver to recvonly:",s)}catch(A){Na.error(A)}else s=a.pc.addTransceiver("video",{direction:"recvonly"}),Na.log("Adding recvonly video transceiver:",s)}else if(e.removeVideo&&s)try{s.setDirection?s.setDirection("inactive"):s.direction="inactive",Na.log("Setting video transceiver to inactive:",s)}catch(A){Na.error(A)}}else n="firefox"==Na.webRTCAdapter.browserDetails.browser||"edge"==Na.webRTCAdapter.browserDetails.browser?{offerToReceiveAudio:W(e),offerToReceiveVideo:X(e)}:{mandatory:{OfferToReceiveAudio:W(e),OfferToReceiveVideo:X(e)}};Na.debug(n);var E=Z(e);if(E&&r&&"firefox"===Na.webRTCAdapter.browserDetails.browser){Na.log("Enabling Simulcasting for Firefox (RID)");var x=a.pc.getSenders()[1];Na.log(x);var d=x.getParameters();Na.log(d);const A=Q(t.simulcastMaxBitrates);x.setParameters({encodings:[{rid:"high",active:!0,priority:"high",maxBitrate:A.high},{rid:"medium",active:!0,priority:"medium",maxBitrate:A.medium},{rid:"low",active:!0,priority:"low",maxBitrate:A.low}]})}a.pc.createAnswer(n).then((function(A){Na.debug(A);var e={type:A.type,sdp:A.sdp};t.customizeSdp(e),A.sdp=e.sdp,Na.log("Setting local description"),E&&r&&("chrome"===Na.webRTCAdapter.browserDetails.browser?Na.warn("simulcast=true, but this is an answer, and video breaks in Chrome if we enable it"):"firefox"!==Na.webRTCAdapter.browserDetails.browser&&Na.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),a.mySdp=A.sdp,a.pc.setLocalDescription(A).catch(t.error),a.mediaConstraints=n,a.iceDone||a.trickle?t.success(A):Na.log("Waiting for all candidates...")}),t.error)}(A,t,i)}),i.error)},M=function(){var e=this,t=arguments;return new Promise((function(i,a){var r=A.apply(e,t);function n(A){Pa(r,i,a,n,o,"next",A)}function o(A){Pa(r,i,a,n,o,"throw",A)}n(void 0)}))},M.apply(this,arguments)}function L(A,e,t){(t=t||{}).success="function"==typeof t.success?t.success:Na.noop,t.error="function"==typeof t.error?t.error:O,t.customizeStream="function"==typeof t.customizeStream?t.customizeStream:Na.noop;var i=t.jsep;if(e&&i)return Na.error("Provided a JSEP to a createOffer"),void t.error("Provided a JSEP to a createOffer");if(!(e||i&&i.type&&i.sdp))return Na.error("A valid JSEP is required for createAnswer"),void t.error("A valid JSEP is required for createAnswer");t.media=t.media||{audio:!0,video:!0};var a=t.media,r=p[A];if(null==r||null===r.webrtcStuff||void 0===r.webrtcStuff)return Na.warn("Invalid handle"),void t.error("Invalid handle");var n,o=r.webrtcStuff;if(o.trickle=null==(n=t.trickle)||!0===n,void 0===o.pc||null===o.pc)a.update=!1,a.keepAudio=!1,a.keepVideo=!1;else if(void 0!==o.pc&&null!==o.pc){if(Na.log("Updating existing media session"),a.update=!0,null!==t.stream&&void 0!==t.stream)t.stream!==o.myStream&&Na.log("Renegotiation involves a new external stream");else{if(a.addAudio){if(a.keepAudio=!1,a.replaceAudio=!1,a.removeAudio=!1,a.audioSend=!0,o.myStream&&o.myStream.getAudioTracks()&&o.myStream.getAudioTracks().length)return Na.error("Can't add audio stream, there already is one"),void t.error("Can't add audio stream, there already is one")}else a.removeAudio?(a.keepAudio=!1,a.replaceAudio=!1,a.addAudio=!1,a.audioSend=!1):a.replaceAudio&&(a.keepAudio=!1,a.addAudio=!1,a.removeAudio=!1,a.audioSend=!0);if(null===o.myStream||void 0===o.myStream?(a.replaceAudio&&(a.keepAudio=!1,a.replaceAudio=!1,a.addAudio=!0,a.audioSend=!0),V(a)&&(a.keepAudio=!1,a.addAudio=!0)):null===o.myStream.getAudioTracks()||void 0===o.myStream.getAudioTracks()||0===o.myStream.getAudioTracks().length?(a.replaceAudio&&(a.keepAudio=!1,a.replaceAudio=!1,a.addAudio=!0,a.audioSend=!0),V(a)&&(a.keepVideo=!1,a.addAudio=!0)):!V(a)||a.removeAudio||a.replaceAudio||(a.keepAudio=!0),a.addVideo){if(a.keepVideo=!1,a.replaceVideo=!1,a.removeVideo=!1,a.videoSend=!0,o.myStream&&o.myStream.getVideoTracks()&&o.myStream.getVideoTracks().length)return Na.error("Can't add video stream, there already is one"),void t.error("Can't add video stream, there already is one")}else a.removeVideo?(a.keepVideo=!1,a.replaceVideo=!1,a.addVideo=!1,a.videoSend=!1):a.replaceVideo&&(a.keepVideo=!1,a.addVideo=!1,a.removeVideo=!1,a.videoSend=!0);null===o.myStream||void 0===o.myStream||null===o.myStream.getVideoTracks()||void 0===o.myStream.getVideoTracks()||0===o.myStream.getVideoTracks().length?(a.replaceVideo&&(a.keepVideo=!1,a.replaceVideo=!1,a.addVideo=!0,a.videoSend=!0),Z(a)&&(a.keepVideo=!1,a.addVideo=!0)):!Z(a)||a.removeVideo||a.replaceVideo||(a.keepVideo=!0),a.addData&&(a.data=!0)}if(V(a)&&a.keepAudio&&Z(a)&&a.keepVideo)return r.consentDialog(!1),void T(A,i,a,t,o.myStream)}if(a.update&&!o.streamExternal){if(a.removeAudio||a.replaceAudio){if(o.myStream&&o.myStream.getAudioTracks()&&o.myStream.getAudioTracks().length){var s=o.myStream.getAudioTracks()[0];Na.log("Removing audio track:",s),o.myStream.removeTrack(s);try{s.stop()}catch(D){}}if(o.pc.getSenders()&&o.pc.getSenders().length){var g=!0;if(a.replaceAudio&&Na.unifiedPlan&&(g=!1),g)for(var l in o.pc.getSenders())(s=o.pc.getSenders()[l])&&s.track&&"audio"===s.track.kind&&(Na.log("Removing audio sender:",s),o.pc.removeTrack(s))}}if(a.removeVideo||a.replaceVideo){if(o.myStream&&o.myStream.getVideoTracks()&&o.myStream.getVideoTracks().length){s=o.myStream.getVideoTracks()[0],Na.log("Removing video track:",s),o.myStream.removeTrack(s);try{s.stop()}catch(R){}}if(o.pc.getSenders()&&o.pc.getSenders().length){var C=!0;if(a.replaceVideo&&Na.unifiedPlan&&(C=!1),C)for(var l in o.pc.getSenders())(s=o.pc.getSenders()[l])&&s.track&&"video"===s.track.kind&&(Na.log("Removing video sender:",s),o.pc.removeTrack(s))}}}if(null!==t.stream&&void 0!==t.stream){var I=t.stream;if(Na.log("MediaStream provided by the application"),Na.debug(I),a.update&&o.myStream&&o.myStream!==t.stream&&!o.streamExternal){try{var c=o.myStream.getTracks();for(var h in c){var B=c[h];Na.log(B),null!=B&&B.stop()}}catch(F){}o.myStream=null}return o.streamExternal=!0,r.consentDialog(!1),void T(A,i,a,t,I)}if(V(a)||Z(a)){if(!Na.isGetUserMediaAvailable())return void t.error("getUserMedia not available");var E={mandatory:{},optional:[]};r.consentDialog(!0);var x=V(a);!0===x&&null!=a&&null!=a&&"object"==typeof a.audio&&(x=a.audio);var d=Z(a);if(!0===d&&null!=a&&null!=a){var Q=!0===t.simulcast,f=!0===t.simulcast2;if(!Q&&!f||i||void 0!==a.video&&!1!==a.video||(a.video="hires"),a.video&&"screen"!=a.video&&"window"!=a.video)if("object"==typeof a.video)d=a.video;else{var u=0,m=0;"lowres"===a.video?(m=240,u=320):"lowres-16:9"===a.video?(m=180,u=320):"hires"===a.video||"hires-16:9"===a.video||"hdres"===a.video?(m=720,u=1280):"fhdres"===a.video?(m=1080,u=1920):"4kres"===a.video?(m=2160,u=3840):"stdres"===a.video?(m=480,u=640):"stdres-16:9"===a.video?(m=360,u=640):(Na.log("Default video setting is stdres 4:3"),m=480,u=640),Na.log("Adding media constraint:",a.video),d={height:{ideal:m},width:{ideal:u}},Na.log("Adding video constraint:",d)}else if("screen"===a.video||"window"===a.video){if(a.screenshareFrameRate||(a.screenshareFrameRate=3),navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia)return void navigator.mediaDevices.getDisplayMedia({video:!0}).then((function(e){r.consentDialog(!1),V(a)&&!a.keepAudio?navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then((function(r){e.addTrack(r.getAudioTracks()[0]),T(A,i,a,t,e)})):T(A,i,a,t,e)}),(function(A){r.consentDialog(!1),t.error(A)}));function w(e,n){r.consentDialog(!1),e?t.error(e):T(A,i,a,t,n)}function b(A,e,t){Na.log("Adding media constraint (screen capture)"),Na.debug(A),navigator.mediaDevices.getUserMedia(A).then((function(A){t?navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then((function(t){A.addTrack(t.getAudioTracks()[0]),e(null,A)})):e(null,A)})).catch((function(A){r.consentDialog(!1),e(A)}))}if("chrome"===Na.webRTCAdapter.browserDetails.browser){var _=Na.webRTCAdapter.browserDetails.version,y=33;window.navigator.userAgent.match("Linux")&&(y=35),_>=26&&_<=y?b(E={video:{mandatory:{googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:a.screenshareFrameRate,maxFrameRate:a.screenshareFrameRate,chromeMediaSource:"screen"}},audio:V(a)&&!a.keepAudio},w):Na.extension.getScreen((function(A,e){if(A)return r.consentDialog(!1),t.error(A);(E={audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:a.screenshareFrameRate,maxFrameRate:a.screenshareFrameRate},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}}).video.mandatory.chromeMediaSourceId=e,b(E,w,V(a)&&!a.keepAudio)}))}else if("firefox"===Na.webRTCAdapter.browserDetails.browser){if(!(Na.webRTCAdapter.browserDetails.version>=33)){var S=new Error("NavigatorUserMediaError");return S.name="Your version of Firefox does not support screen sharing, please install Firefox 33 (or more recent versions)",r.consentDialog(!1),void t.error(S)}b(E={video:{mozMediaSource:a.video,mediaSource:a.video},audio:V(a)&&!a.keepAudio},(function(A,e){if(w(A,e),!A)var t=e.currentTime,i=window.setInterval((function(){e||window.clearInterval(i),e.currentTime==t&&(window.clearInterval(i),e.onended&&e.onended()),t=e.currentTime}),500)}))}return}}null!=a&&"screen"===a.video||navigator.mediaDevices.enumerateDevices().then((function(e){var n=e.some((function(A){return"audioinput"===A.kind})),o=function(A){if(null==A)return!1;if("object"!=typeof A.video||"object"!=typeof A.video.mandatory)return!1;var e=A.video.mandatory;return e.chromeMediaSource?"desktop"===e.chromeMediaSource||"screen"===e.chromeMediaSource:e.mozMediaSource?"window"===e.mozMediaSource||"screen"===e.mozMediaSource:!!e.mediaSource&&("window"===e.mediaSource||"screen"===e.mediaSource)}(a)||e.some((function(A){return"videoinput"===A.kind})),s=V(a),g=Z(a),l=function(A){return null!=A&&!1!==A.audio&&!1!==A.audioSend&&void 0!==A.failIfNoAudio&&null!==A.failIfNoAudio&&!0===A.failIfNoAudio}(a),C=function(A){return null!=A&&!1!==A.video&&!1!==A.videoSend&&void 0!==A.failIfNoVideo&&null!==A.failIfNoVideo&&!0===A.failIfNoVideo}(a);if(s||g||l||C){var c=!!s&&n,h=!!g&&o;if(!c&&!h)return r.consentDialog(!1),t.error("No capture device found"),!1;if(!c&&l)return r.consentDialog(!1),t.error("Audio capture is required, but no capture device found"),!1;if(!h&&C)return r.consentDialog(!1),t.error("Video capture is required, but no capture device found"),!1}var B={audio:!(!n||a.keepAudio)&&x,video:!(!o||a.keepVideo)&&d};Na.debug("getUserMedia constraints",B),B.audio||B.video?navigator.mediaDevices.getUserMedia(B).then((function(e){r.consentDialog(!1),T(A,i,a,t,e)})).catch((function(A){r.consentDialog(!1),t.error({code:A.code,name:A.name,message:A.message})})):(r.consentDialog(!1),T(A,i,a,t,I))})).catch((function(A){r.consentDialog(!1),t.error("enumerateDevices error",A)}))}else T(A,i,a,t)}function Y(A,e){(e=e||{}).success="function"==typeof e.success?e.success:Na.noop,e.error="function"==typeof e.error?e.error:O;var t=e.jsep,i=p[A];if(null==i||null===i.webrtcStuff||void 0===i.webrtcStuff)return Na.warn("Invalid handle"),void e.error("Invalid handle");var a=i.webrtcStuff;if(null!=t){if(null===a.pc)return Na.warn("Wait, no PeerConnection?? if this is an answer, use createAnswer and not handleRemoteJsep"),void e.error("No PeerConnection: if this is an answer, use createAnswer and not handleRemoteJsep");a.pc.setRemoteDescription(t).then((function(){if(Na.log("Remote description accepted!"),a.remoteSdp=t.sdp,a.candidates&&a.candidates.length>0){for(var A=0;A-1)&&"inbound-rtp"===A.type&&A.id.indexOf("rtcp")<0?e=!0:"ssrc"!=A.type||!A.bytesReceived||"VP8"!==A.googCodecName&&""!==A.googCodecName||(e=!0),e)if(t.bitrate.bsnow=A.bytesReceived,t.bitrate.tsnow=A.timestamp,null===t.bitrate.bsbefore||null===t.bitrate.tsbefore)t.bitrate.bsbefore=t.bitrate.bsnow,t.bitrate.tsbefore=t.bitrate.tsnow;else{var i=t.bitrate.tsnow-t.bitrate.tsbefore;"safari"==Na.webRTCAdapter.browserDetails.browser&&(i/=1e3);var a=Math.round(8*(t.bitrate.bsnow-t.bitrate.bsbefore)/i);"safari"===Na.webRTCAdapter.browserDetails.browser&&(a=parseInt(a/1e3)),t.bitrate.value=a+" kbits/sec",t.bitrate.bsbefore=t.bitrate.bsnow,t.bitrate.tsbefore=t.bitrate.tsnow}}}))}))}),1e3),"0 kbits/sec"):t.bitrate.value:(Na.warn("Getting the video bitrate unsupported by browser"),"Feature unsupported by browser")}function O(A){Na.error("WebRTC error:",A)}function K(A,e){Na.log("Cleaning WebRTC stuff");var a=p[A];if(null!=a){var r=a.webrtcStuff;if(null!=r){if(!0===e){var n={rtcgw:"hangup",transaction:Na.randomString(12)};null!==a.token&&void 0!==a.token&&(n.token=a.token),null!=E&&(n.apisecret=E),Na.debug("Sending hangup request (handle="+A+"):",n),t?(n.session_id=u,n.handle_id=A,i.send(JSON.stringify(n))):Na.httpAPICall(s+"/"+u+"/"+A,{verb:"POST",withCredentials:c,body:n})}r.remoteStream=null,r.volume&&(r.volume.local&&r.volume.local.timer&&clearInterval(r.volume.local.timer),r.volume.remote&&r.volume.remote.timer&&clearInterval(r.volume.remote.timer)),r.volume={},r.bitrate.timer&&clearInterval(r.bitrate.timer),r.bitrate.timer=null,r.bitrate.bsnow=null,r.bitrate.bsbefore=null,r.bitrate.tsnow=null,r.bitrate.tsbefore=null,r.bitrate.value=null;try{if(!r.streamExternal&&null!==r.myStream&&void 0!==r.myStream){Na.log("Stopping local stream tracks");var o=r.myStream.getTracks();for(var g in o){var l=o[g];Na.log(l),null!=l&&l.stop()}}}catch(A){}r.streamExternal=!1,r.myStream=null;try{r.pc.close()}catch(A){}r.pc=null,r.candidates=null,r.mySdp=null,r.remoteSdp=null,r.iceDone=!1,r.dataChannel={},r.dtmfSender=null}a.oncleanup()}}function V(A){return null==A||!1!==A.audio&&(void 0===A.audioSend||null===A.audioSend||!0===A.audioSend)}function W(A){return null==A||!1!==A.audio&&(void 0===A.audioRecv||null===A.audioRecv||!0===A.audioRecv)}function Z(A){return null==A||!1!==A.video&&(void 0===A.videoSend||null===A.videoSend||!0===A.videoSend)}function X(A){return null==A||!1!==A.video&&(void 0===A.videoRecv||null===A.videoRecv||!0===A.videoRecv)}F(A),this.getServer=function(){return s},this.isConnected=function(){return f},this.reconnect=function(A){(A=A||{}).success="function"==typeof A.success?A.success:Na.noop,A.error="function"==typeof A.error?A.error:Na.noop,A.reconnect=!0,F(A)},this.getSessionId=function(){return u},this.destroy=function(e){!function(e){(e=e||{}).success="function"==typeof e.success?e.success:Na.noop;var n=!0;void 0!==e.asyncRequest&&null!==e.asyncRequest&&(n=!0===e.asyncRequest);var o=!0;void 0!==e.notifyDestroyed&&null!==e.notifyDestroyed&&(o=!0===e.notifyDestroyed);var g=!1;if(void 0!==e.cleanupHandles&&null!==e.cleanupHandles&&(g=!0===e.cleanupHandles),Na.log("Destroying session "+u+" (async="+n+")"),!f)return Na.warn("Is the server down? (connected=false)"),void e.success();if(null==u)return Na.warn("No session to destroy"),e.success(),void(o&&A.destroyed());if(g)for(var l in p)N(l,{noRequest:!0});var C={rtcgw:"destroy",transaction:Na.randomString(12)};if(null!=B&&(C.token=B),null!=E&&(C.apisecret=E),t){C.session_id=u;var I=function(){for(var A in a)i.removeEventListener(A,a[A]);i.removeEventListener("message",h),i.removeEventListener("error",x),r&&clearTimeout(r),i.close()},h=function(t){var i=JSON.parse(t.data);i.session_id==C.session_id&&i.transaction==C.transaction&&(I(),e.success(),o&&A.destroyed())},x=function(t){I(),e.error("Failed to destroy the server: Is the server down?"),o&&A.destroyed()};return i.addEventListener("message",h),i.addEventListener("error",x),void i.send(JSON.stringify(C))}Na.httpAPICall(s+"/"+u,{verb:"POST",async:n,withCredentials:c,body:C,success:function(t){Na.log("Destroyed session:"),Na.debug(t),u=null,f=!1,"success"!==t.rtcgw&&Na.error("Ooops: "+t.error.code+" "+t.error.reason),e.success(),o&&A.destroyed()},error:function(t,i){Na.error(t+":",i),u=null,f=!1,e.success(),o&&A.destroyed()}})}(e)},this.attach=function(A){!function(A){if((A=A||{}).success="function"==typeof A.success?A.success:Na.noop,A.error="function"==typeof A.error?A.error:Na.noop,A.consentDialog="function"==typeof A.consentDialog?A.consentDialog:Na.noop,A.iceState="function"==typeof A.iceState?A.iceState:Na.noop,A.mediaState="function"==typeof A.mediaState?A.mediaState:Na.noop,A.webrtcState="function"==typeof A.webrtcState?A.webrtcState:Na.noop,A.slowLink="function"==typeof A.slowLink?A.slowLink:Na.noop,A.onmessage="function"==typeof A.onmessage?A.onmessage:Na.noop,A.onlocalstream="function"==typeof A.onlocalstream?A.onlocalstream:Na.noop,A.onremotestream="function"==typeof A.onremotestream?A.onremotestream:Na.noop,A.ondata="function"==typeof A.ondata?A.ondata:Na.noop,A.ondataopen="function"==typeof A.ondataopen?A.ondataopen:Na.noop,A.oncleanup="function"==typeof A.oncleanup?A.oncleanup:Na.noop,A.ondetached="function"==typeof A.ondetached?A.ondetached:Na.noop,!f)return Na.warn("Is the server down? (connected=false)"),void A.error("Is the server down? (connected=false)");var e=A.plugin;if(null==e)return Na.error("Invalid plugin"),void A.error("Invalid plugin");var a=A.opaqueId,r=A.token?A.token:B,n=Na.randomString(12),o={rtcgw:"attach",plugin:e,opaque_id:a,transaction:n};if(null!=r&&(o.token=r),null!=E&&(o.apisecret=E),t)return y[n]=function(t){if("success"!==t.rtcgw)return Na.error("Ooops: "+t.error.code+" "+t.error.reason),void A.error("Ooops: "+t.error.code+" "+t.error.reason);var i=t.data.id;Na.log("Created handle: "+i);var a={session:m,plugin:e,id:i,token:r,detached:!1,webrtcStuff:{started:!1,myStream:null,streamExternal:!1,remoteStream:null,mySdp:null,mediaConstraints:null,pc:null,dataChannel:{},dtmfSender:null,trickle:!0,iceDone:!1,volume:{value:null,timer:null},bitrate:{value:null,bsnow:null,bsbefore:null,tsnow:null,tsbefore:null,timer:null}},getId:function(){return i},getPlugin:function(){return e},getVolume:function(){return G(i,!0)},getRemoteVolume:function(){return G(i,!0)},getLocalVolume:function(){return G(i,!1)},isAudioMuted:function(){return U(i,!1)},muteAudio:function(){return J(i,!1,!0)},unmuteAudio:function(){return J(i,!1,!1)},isVideoMuted:function(){return U(i,!0)},muteVideo:function(){return J(i,!0,!0)},unmuteVideo:function(){return J(i,!0,!1)},getBitrate:function(){return H(i)},send:function(A){w(i,A)},data:function(A){P(i,A)},dtmf:function(A){k(i,A)},consentDialog:A.consentDialog,iceState:A.iceState,mediaState:A.mediaState,webrtcState:A.webrtcState,slowLink:A.slowLink,onmessage:A.onmessage,createOffer:function(A){L(i,!0,A)},createAnswer:function(A){L(i,!1,A)},handleRemoteJsep:function(A){Y(i,A)},onlocalstream:A.onlocalstream,onremotestream:A.onremotestream,ondata:A.ondata,ondataopen:A.ondataopen,oncleanup:A.oncleanup,ondetached:A.ondetached,hangup:function(A){K(i,!0===A)},detach:function(A){N(i,A)}};p[i]=a,A.success(a)},o.session_id=u,void i.send(JSON.stringify(o));Na.httpAPICall(s+"/"+u,{verb:"POST",withCredentials:c,body:o,success:function(t){if(Na.debug(t),"success"!==t.rtcgw)return Na.error("Ooops: "+t.error.code+" "+t.error.reason),void A.error("Ooops: "+t.error.code+" "+t.error.reason);var i=t.data.id;Na.log("Created handle: "+i);var a={session:m,plugin:e,id:i,token:r,detached:!1,webrtcStuff:{started:!1,myStream:null,streamExternal:!1,remoteStream:null,mySdp:null,mediaConstraints:null,pc:null,dataChannel:{},dtmfSender:null,trickle:!0,iceDone:!1,volume:{value:null,timer:null},bitrate:{value:null,bsnow:null,bsbefore:null,tsnow:null,tsbefore:null,timer:null}},getId:function(){return i},getPlugin:function(){return e},getVolume:function(){return G(i,!0)},getRemoteVolume:function(){return G(i,!0)},getLocalVolume:function(){return G(i,!1)},isAudioMuted:function(){return U(i,!1)},muteAudio:function(){return J(i,!1,!0)},unmuteAudio:function(){return J(i,!1,!1)},isVideoMuted:function(){return U(i,!0)},muteVideo:function(){return J(i,!0,!0)},unmuteVideo:function(){return J(i,!0,!1)},getBitrate:function(){return H(i)},send:function(A){w(i,A)},data:function(A){P(i,A)},dtmf:function(A){k(i,A)},consentDialog:A.consentDialog,iceState:A.iceState,mediaState:A.mediaState,webrtcState:A.webrtcState,slowLink:A.slowLink,onmessage:A.onmessage,createOffer:function(A){L(i,!0,A)},createAnswer:function(A){L(i,!1,A)},handleRemoteJsep:function(A){Y(i,A)},onlocalstream:A.onlocalstream,onremotestream:A.onremotestream,ondata:A.ondata,ondataopen:A.ondataopen,oncleanup:A.oncleanup,ondetached:A.ondetached,hangup:function(A){K(i,!0===A)},detach:function(A){N(i,A)}};p[i]=a,A.success(a)},error:function(A,e){Na.error(A+":",e)}})}(A)}}Na.useDefaultDependencies=function(A){var e=A&&A.fetch||fetch,t=A&&A.Promise||Promise,i=A&&A.WebSocket||WebSocket;return{newWebSocket:function(A,e){return new i(A,e)},extension:A&&A.extension||ka,isArray:function(A){return Array.isArray(A)},webRTCAdapter:A&&A.adapter||window.adapter,httpAPICall:function(A,i){var a={method:i.verb,headers:{Accept:"application/json, text/plain, */*"},cache:"no-cache"};"POST"===i.verb&&(a.headers["Content-Type"]="application/json"),void 0!==i.withCredentials&&(a.credentials=!0===i.withCredentials?"include":i.withCredentials?i.withCredentials:"omit"),void 0!==i.body&&(a.body=JSON.stringify(i.body));var r=e(A,a).catch((function(A){return t.reject({message:"Probably a network error, is the server down?",error:A})}));if(void 0!==i.timeout){var n=new t((function(A,e){var t=setTimeout((function(){return clearTimeout(t),e({message:"Request timed out",timeout:i.timeout})}),i.timeout)}));r=t.race([r,n])}return r.then((function(A){return A.ok?typeof i.success==typeof Na.noop?A.json().then((function(A){i.success(A)})).catch((function(e){return t.reject({message:"Failed to parse response body",error:e,response:A})})):void 0:t.reject({message:"API call failed",response:A})})).catch((function(A){typeof i.error==typeof Na.noop&&i.error(A.message||"<< internal error >>",A)})),r}}},Na.useOldDependencies=function(A){var e=A&&A.jQuery||jQuery,t=A&&A.WebSocket||WebSocket;return{newWebSocket:function(A,e){return new t(A,e)},isArray:function(A){return e.isArray(A)},extension:A&&A.extension||ka,webRTCAdapter:A&&A.adapter||adapter,httpAPICall:function(A,t){var i=void 0!==t.body?{contentType:"application/json",data:JSON.stringify(t.body)}:{},a=void 0!==t.withCredentials?{xhrFields:{withCredentials:t.withCredentials}}:{};return e.ajax(e.extend(i,a,{url:A,type:t.verb,cache:!1,dataType:"json",async:t.async,timeout:t.timeout,success:function(A){typeof t.success==typeof Na.noop&&t.success(A)},error:function(A,e,i){typeof t.error==typeof Na.noop&&t.error(e,i)}}))}}},Na.noop=function(){},Na.dataChanDefaultLabel="JanusDataChannel",Na.endOfCandidates=null,Na.init=function(A){if((A=A||{}).callback="function"==typeof A.callback?A.callback:Na.noop,!0===Na.initDone)A.callback();else{if("undefined"!=typeof console&&void 0!==console.log||(console={log:function(){}}),Na.trace=Na.noop,Na.debug=Na.noop,Na.vdebug=Na.noop,Na.log=Na.noop,Na.warn=Na.noop,Na.error=Na.noop,!0===A.debug||"all"===A.debug)Na.trace=console.trace.bind(console)||Na.noop,Na.debug=console.debug.bind(console)||Na.noop,Na.vdebug=console.debug.bind(console)||Na.noop,Na.log=console.log.bind(console)||Na.noop,Na.warn=console.warn.bind(console)||Na.noop,Na.error=console.error.bind(console)||Na.noop;else if(Array.isArray(A.debug))for(var e in A.debug)switch(A.debug[e]){case"trace":Na.trace=console.trace.bind(console)||Na.noop;break;case"debug":Na.debug=console.debug.bind(console)||Na.noop;break;case"vdebug":Na.vdebug=console.debug.bind(console)||Na.noop;break;case"log":Na.log=console.log.bind(console)||Na.noop;break;case"warn":Na.warn=console.warn.bind(console)||Na.noop;break;case"error":Na.error=console.error.bind(console)||Na.noop}var t=A.dependencies||Na.useDefaultDependencies();Na.isArray=t.isArray,Na.webRTCAdapter=t.webRTCAdapter,Na.httpAPICall=t.httpAPICall,Na.newWebSocket=t.newWebSocket,Na.extension=t.extension,Na.extension.init(),Na.listDevices=function(A,e){A="function"==typeof A?A:Na.noop,null==e&&(e={audio:!0,video:!0}),Na.isGetUserMediaAvailable()?navigator.mediaDevices.getUserMedia(e).then((function(e){navigator.mediaDevices.enumerateDevices().then((function(t){Na.debug(t),A(t);try{var i=e.getTracks();for(var a in i){var r=i[a];null!=r&&r.stop()}}catch(A){}}))})).catch((function(e){Na.error(e),A([])})):(Na.warn("navigator.mediaDevices unavailable"),A([]))},Na.attachMediaStream=function(A,e){try{"chrome"===Na.webRTCAdapter.browserDetails.browser?Na.webRTCAdapter.browserDetails.version>=52?A.srcObject=e:Na.error("Error attaching stream to element"):A.srcObject=e}catch(A){}},Na.reattachMediaStream=function(A,e){try{"chrome"===Na.webRTCAdapter.browserDetails.browser?Na.webRTCAdapter.browserDetails.version>=52?A.srcObject=e.srcObject:void 0!==A.src?A.src=e.src:Na.error("Error reattaching stream to element"):A.srcObject=e.srcObject}catch(A){}};var i=["iPad","iPhone","iPod"].indexOf(navigator.platform)>=0?"pagehide":"beforeunload",a=window["on"+i];if(window.addEventListener(i,(function(A){for(var e in Na.log("Closing window"),Na.sessions)null!==Na.sessions[e]&&void 0!==Na.sessions[e]&&Na.sessions[e].destroyOnUnload&&(Na.log("Destroying session "+e),Na.sessions[e].destroy({asyncRequest:!1,notifyDestroyed:!1}));a&&"function"==typeof a&&a()})),Na.safariVp8=!1,"safari"===Na.webRTCAdapter.browserDetails.browser&&Na.webRTCAdapter.browserDetails.version>=605)if(RTCRtpSender&&RTCRtpSender.getCapabilities&&RTCRtpSender.getCapabilities("video")&&RTCRtpSender.getCapabilities("video").codecs&&RTCRtpSender.getCapabilities("video").codecs.length){for(var e in RTCRtpSender.getCapabilities("video").codecs){var r=RTCRtpSender.getCapabilities("video").codecs[e];if(r&&r.mimeType&&"video/vp8"===r.mimeType.toLowerCase()){Na.safariVp8=!0;break}}Na.safariVp8?Na.log("This version of Safari supports VP8"):Na.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu")}else{var n=new RTCPeerConnection({},{});n.createOffer({offerToReceiveVideo:!0}).then((function(A){Na.safariVp8=-1!==A.sdp.indexOf("VP8"),Na.safariVp8?Na.log("This version of Safari supports VP8"):Na.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu"),n.close(),n=null}))}if(Na.unifiedPlan=!1,"firefox"===Na.webRTCAdapter.browserDetails.browser&&Na.webRTCAdapter.browserDetails.version>=59)Na.unifiedPlan=!0;else if("chrome"===Na.webRTCAdapter.browserDetails.browser&&Na.webRTCAdapter.browserDetails.version<72)Na.unifiedPlan=!1;else if("undefined"==typeof RTCRtpTransceiver||"currentDirection"in RTCRtpTransceiver.prototype){const e=new RTCPeerConnection;try{e.addTransceiver("audio"),Na.unifiedPlan=!0}catch(A){}e.close()}else Na.unifiedPlan=!1;Na.initDone=!0,A.callback()}},Na.isWebrtcSupported=function(){return void 0!==window.RTCPeerConnection&&null!==window.RTCPeerConnection},Na.isGetUserMediaAvailable=function(){return void 0!==navigator.mediaDevices&&null!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia&&null!==navigator.mediaDevices.getUserMedia},Na.randomString=function(A){for(var e="",t=0;t{const t=this;if("function"==typeof e&&!e())return void t.eventEmitter.emit("handleTalkError",{code:-1,msg:"startTalk terminate"});const{customizeStream:i,audio:a}=A;Na.isWebrtcSupported()&&(this.janus=new Na({server:A.rtcUrl,success:function(){t.janus&&t.janus.attach({plugin:"rtcgw.plugin.tts",opaqueId:t.opaqueId,success:function(e){t.tts=window.tts=e;let r={request:"start",url:A.talkLink,codec:"opus",dir:"sendrecv",audio_debug:1,url_version:"1"};"gb28181"===A.talkType&&(r.devProto="gb28181"),t.tts.createOffer({media:{audio:a||!0,video:!1,data:!1},simulcast:!1,simulcast2:!1,customizeStream:i,success:function(A){t.tts.send({message:r,jsep:A})},error:function(A){var e;t.eventEmitter.emit("handleTalkError",A),(null==(e=t.tts)?void 0:e.detach)&&t.tts.detach()}})},error:function(A){t.eventEmitter.emit("handleTalkError",A)},consentDialog:function(A){},iceState:function(A){},mediaState:function(A,e){},webrtcState:function(A){},slowLink:function(A,e){},onmessage:function(A,e){null!=e&&t.tts.handleRemoteJsep({jsep:e});let i=A.result;if(null!=i){if("done"===i)return null!==t.spinner&&void 0!==t.spinner&&t.spinner.stop(),void(t.spinner=null);"msg"===i&&t.eventEmitter.emit("handleTalkMessage",A),i.status}A.rtcgw&&"ttsup"===A.rtcgw&&t.eventEmitter.emit("handleTalkSuccess",A),A.code&&0!==A.code&&t.eventEmitter.emit("handleTalkError",{code:A.code,msg:t.i18n.t(A.code)})},onlocalstream:function(A){const e=document.getElementById("myaudio");e&&Na.attachMediaStream(e,A),"completed"!==t.tts.webrtcStuff.pc.iceConnectionState&&"connected"!==t.tts.webrtcStuff.pc.iceConnectionState&&(null==t.spinner?document.getElementById("audioright"):t.spinner.spin()),A.getAudioTracks()},onremotestream:function(A){const e=document.getElementById("peeraudio");e&&Na.attachMediaStream(e,A);let t=A.getAudioTracks();if(null==t||0===t.length);else{const A=document.getElementById("peeraudio");A&&A.play()}},ondataopen:function(A){},ondata:function(A){},oncleanup:function(){null!==t.spinner&&void 0!==t.spinner&&t.spinner.stop(),t.spinner=null}})},error:function(A){t.eventEmitter.emit("handleTalkError",A)}},{stream:A.stream,deviceSerial:A.deviceSerial,channel:A.channelNo}))},this.stopTalk=A=>{if("function"!=typeof A||A())if(this.tts&&(this.tts.detach(),this.tts=null),this.janus){try{this.janus.destroy({success:()=>{this.eventEmitter.emit("handleStopTalkSuccess",this.janus)},error:A=>{this.eventEmitter.emit("handleStopTalkError",A)}})}catch(A){this.eventEmitter.emit("handleStopTalkError",A)}this.janus=void 0,this.tts=null}else this.eventEmitter.emit("handleStopTalkError",{code:-1,msg:"stopTalk terminate"});else this.eventEmitter.emit("handleStopTalkError",{code:-1,msg:"stopTalk terminate"})},this.destroy=()=>{},this.tts=null,this.opaqueId="tts-"+Na.randomString(12),this.spinner=null,this.options=Object.assign({},Ta,A||{}),this.eventEmitter=A.eventEmitter,this.i18n=new Fa({zh:ba,en:va}),this.i18n.switchTranslation(this.options.language||"zh"),Na.init({debug:"all"})}};function La(){return La=Object.assign||function(A){for(var e=1;e{this.stopTalk(),document.body.removeChild(this.audioLeft),document.body.removeChild(this.audioRight)},this.startTalk=A=>{this.eventEmitter.emit("beforeTalk",{});const e=this;new Promise(((A,e)=>{var t,i,a,r;(null==(t=this.options.capacity)?void 0:t.support_switch_talkmode)&&"1"==this.options.capacity.support_switch_talkmode?fetch(this.options.env.domain+"/api/service/device/talkMode"+`?deviceSerial=${this.options.deviceSerial}`,{method:"GET",headers:{accessToken:(null==(a=this.options.token)||null==(i=a.deviceToken)?void 0:i.global)||(null==(r=this.options)?void 0:r.accessToken)}}).then((A=>A.json())).then((e=>{var t,i,a;e.meta&&200==e.meta.code?(null==(t=e.data)?void 0:t.valueInfo)&&0==e.data.valueInfo.mode?fetch(this.options.env.domain+"/api/v3/device/talkMode"+`?deviceSerial=${this.options.deviceSerial}&channelNo=${this.options.channelNo}&mode=1`,{method:"PUT",headers:{accessToken:(null==(a=this.options.token)||null==(i=a.deviceToken)?void 0:i.video)||this.options.accessToken}}).then((A=>A.json())).then((e=>{e.meta&&200==e.meta.code?A({}):A({code:-1,msg:"对讲模式切换失败",res:e})})).catch((e=>{A({code:-1,msg:"对讲模式切换失败",res:e})})):A({}):A({code:-1,msg:"获取当前对讲模式失败",res:e})})).catch((e=>{A({code:-1,msg:"获取当前对讲模式失败",res:e})})):A({code:-1,msg:"当前设备不支持对讲模式切换"})})).then((t=>{var i,a,r;if((null==(i=this.options.capacity)?void 0:i.support_talk)&&(!this.options.capacity||"3"!==this.options.capacity.support_talk&&"1"!==this.options.capacity.support_talk))return!1;const n=new FormData;n.append("accessToken",(null==(r=this.options.token)||null==(a=r.deviceToken)?void 0:a.video)||this.options.accessToken),n.append("deviceSerial",this.options.deviceSerial),n.append("channelNo",this.options.channelNo),fetch(this.options.env.domain+"/api/lapp/live/talk/url",{method:"POST",body:n}).then((A=>A.json())).then((t=>{if(200==t.code){const r=t.data;if(r){var i,a;let t=r.rtcUrl;-1===t.indexOf("ws")&&(t=t.replace("https","wss").replace("rtcgw","rtcgw-ws")),this.talkOptions.rtcUrl=t,this.talkOptions.ttsUrl="tts://"+r.ttsUrl,this.talkOptions.deviceSerial=this.options.deviceSerial,this.talkOptions.channelNo=this.options.channelNo,this.talkOptions.talkLink=this.talkOptions.ttsUrl.split("?")[0]+"/talk?dev="+this.talkOptions.deviceSerial+"&chann="+this.talkOptions.channelNo+"&encodetype=2",r.ttsUrl.indexOf("gb28181")>-1&&(this.talkOptions.talkType="gb28181"),A&&A(r.ttsUrl.indexOf("gb28181")>-1||-1!==this.talkOptions.deviceSerial.indexOf(":")),this.talkOptions.stream=r.stream?r.stream:(null==(a=this.options.token)||null==(i=a.streamToken)?void 0:i.talk)||this.options.accessToken,this.ttsTalk.startTalk(La({},this.talkOptions,{customizeStream:e._customizeStream.bind(e),audio:!this.microphoneId||{deviceId:this.microphoneId}})),this.isTalking=!0,this.observeVolumeChange({interval:100}),this.eventEmitter&&this.eventEmitter.emit("startTalk",{eventType:"startTalk",code:0,target:this,msg:"开启对讲"})}}else this.eventEmitter&&this.eventEmitter.emit("startTalk",{eventType:"startTalk",code:-1,target:this,msg:t.msg});this.ttsTalk.eventEmitter.on("handleTalkSuccess",(A=>{this.isTalking=!0,this.observeVolumeChange({interval:100}),this.eventEmitter&&this.eventEmitter.emit("startTalk",{eventType:"startTalk",code:0,target:this,msg:"开启对讲"})})),this.ttsTalk.eventEmitter.on("handleTalkError",(A=>{this.eventEmitter&&this.eventEmitter.emit("startTalk",{eventType:"startTalk",code:A.code,target:this,msg:A.msg})}))}))})).catch((A=>{}))},this.stopTalk=()=>{var A;try{this.ttsTalk.stopTalk(),this.isTalking=!1}catch(A){var e;null==(e=this.eventEmitter)||e.emit(Ya,{eventType:Ya,code:-1,msg:"结束对讲"})}this.gainNode=null,this.volumeChangeInterval&&(clearInterval(this.volumeChangeInterval),this.volumeChangeInterval=null),this.eventEmitter&&setTimeout((()=>{var A;null==(A=this.eventEmitter)||A.emit(Ga,{eventType:Ga,code:0,target:this,data:0,msg:"音量变化"})}),200);const t=document.getElementById("myaudio").srcObject;t&&t.getTracks()[0].stop(),null==(A=this.eventEmitter)||A.emit(Ya,{eventType:Ya,code:0,target:this,msg:"结束对讲"})},this.changeTalkChannelNo=A=>{this.talkOptions.channelNo=A},this._customizeStream=A=>new Promise(((e,t)=>{const i=new window.AudioContext;this.gainNode=i.createGain();const a=i.createMediaStreamSource(A);var r;this.gainNode.gain.value=null!=(r=this.volumeGain)?r:1;const n=i.createMediaStreamDestination();a.connect(this.gainNode),this.gainNode.connect(n),e(n.stream)})),this.setVolumeGain=A=>{const e=A;return"number"==typeof e&&e>=0?(this.volumeGain=Math.min(e,10),this.gainNode&&(this.gainNode.gain.value=this.volumeGain),{code:0,msg:"成功",res:null}):{code:-1,msg:"参数格式有误",res:null}},this.observeVolumeChange=A=>{const{interval:e}=A;this.volumeChangeInterval&&(clearInterval(this.volumeChangeInterval),this.volumeChangeInterval=null),this.volumeChangeInterval=setInterval((()=>{var A,e,t,i,a;null==(a=window.tts)||null==(i=a.webrtcStuff)||null==(t=i.pc)||null==(e=t.getStats)||null==(A=e.call(t))||A.then((A=>{A.forEach((A=>{var e;"media-source"===A.type&&(null==(e=this.eventEmitter)||e.emit("talkVolumeChange",{eventType:"talkVolumeChange",code:0,target:this,data:A.audioLevel,msg:"音量变化"}))}))}))}),e)},this.getMicrophonePermission=()=>new Promise(((A,e)=>{navigator.mediaDevices.getUserMedia({audio:!0}).then((e=>{e.getTracks().forEach((A=>{A.stop()})),A({code:0,msg:"成功",res:null})})).catch((e=>{A({code:-1,msg:"获取麦克风权限失败",res:e})}))})),this.getMicrophonesList=()=>new Promise(((A,e)=>{navigator.mediaDevices?navigator.mediaDevices.enumerateDevices().then((e=>{const t=[];e.forEach((A=>{"audioinput"==A.kind&&t.push(A)})),A({code:0,msg:"成功",res:t})})):A({code:-1,msg:"未查询到相关设备",res:null})})),this.setProfile=A=>{const{microphoneId:e}=A;e!==this.microphoneId&&(this.microphoneId=e,this.isTalking&&(this.stopTalk(),setTimeout((()=>{this.ttsTalk.startTalk(La({},this.talkOptions,{customizeStream:this._customizeStream.bind(this),audio:!this.microphoneId||{deviceId:this.microphoneId}})),this.isTalking=!0}),300)))},this.options=Object.assign({},Ua,A||{}),this.gainNode=null,this.volumeGain=null,this.volumeChangeInterval=null,this.microphoneId=null,this.eventEmitter=new wa,this.ttsTalk=new Ma({eventEmitter:this.eventEmitter}),this.isTalking=!1;const e=document.createElement("div");e.id="audioleft";const t=document.createElement("audio");t.id="myaudio",t.muted=!0,t.setAttribute("autoplay","true"),t.setAttribute("controls","true"),e.appendChild(t),e.style.display="none";const i=document.createElement("div");i.id="audioright",i.style.display="none";const a=document.createElement("audio");a.id="peeraudio",a.setAttribute("autoplay","true"),a.setAttribute("controls","true"),i.appendChild(a),this.talkOptions={rtcUrl:"",talkLink:"",ttsUrl:"",stream:"",deviceSerial:this.options.deviceSerial,channelNo:this.options.channelNo},this.audioLeft=e,this.audioRight=i,document.body.appendChild(e),document.body.appendChild(i)}};Ja.VERSION="0.0.2";const Ha=()=>{var A=window.navigator.userAgent.toLowerCase(),e=(/version.*safari/.test(A),/chrome/.test(A));/gecko/.test(A)&&/webkit/.test(A);if(Sa())return!1;if(e){function t(){for(var A=window.navigator.userAgent.split(" "),e="",t=0;t91&&!!window.SharedArrayBuffer}return!1},Oa=A=>{if(A&&A.retcode)return String(A.retcode);if(A&&A.code){return`1${String(A.code).padStart(5,"0")}`}if(A&&A.errorCode){return`39${String(A.errorCode).padStart(4,"0")}`}return"400001"};function Ka(){var A,e={},t=navigator.userAgent.toLowerCase();if((A=t.match(/rv:([\d.]+)\) like gecko/))||(A=t.match(/msie ([\d\.]+)/))?e.ie=A[1]:(A=t.match(/edge\/([\d\.]+)/))?e.edge=A[1]:(A=t.match(/firefox\/([\d\.]+)/))?e.firefox=A[1]:(A=t.match(/(?:opera|opr).([\d\.]+)/))?e.opera=A[1]:(A=t.match(/chrome\/([\d\.]+)/))?e.chrome=A[1]:(A=t.match(/version\/([\d\.]+).*safari/))&&(e.safari=A[1]),e.chrome){let A=e.chrome,t=A.indexOf(".");return Number(A.substring(0,t))}return-1}function Va(A){return Ka()>=94}function Wa(A){if(Ka()>=107){let A={codec:"hvc1.1.6.L123.00",hardwareAcceleration:"prefer-hardware"};window.VideoDecoder&&VideoDecoder.isConfigSupported(A).then((A=>{A.supported}))}}const Za="https://open.ys7.com",Xa="ezuikit_addressList",qa="ezuikit_reloadAddressList",ja={loggerOptions:{level:"INFO",showTime:!0,name:"ezuikit"},autoplay:!0,env:{domain:Za},host:Za.replace("https://",""),streamInfoCBType:1,videoLevelList:null},za=[16,8,4,2,1,.5],$a=[{videoLevel:1,streamTypeIn:1,type:"compatible"},{videoLevel:2,streamTypeIn:1,type:"compatible"}],Ar={auto:"VIDEO_LEVEL_AUTO",0:"VIDEO_LEVEL_FLUENT",1:"VIDEO_LEVEL_STANDARD",2:"VIDEO_LEVEL_HEIGH",3:"VIDEO_LEVEL_SUPER",4:"VIDEO_LEVEL_EXTREME",5:"VIDEO_LEVEL_3K",6:"VIDEO_LEVEL_4k"},er={init:"init",decoderLoad:"decoderLoad",decoderLoaded:"decoderLoaded",firstFrameDisplay:"firstFrameDisplay",streamInfoCB:"streamInfoCB",videoInfo:"videoInfo",audioInfo:"audioInfo",play:"play",stop:"stop",changeVideoLevel:"changeVideoLevel",reSetTheme:"reSetTheme",changePlayUrl:"changePlayUrl",getOSDTime:"getOSDTime",capturePicture:"capturePicture",startSave:"startSave",stopSave:"stopSave",openSound:"openSound",closeSound:"closeSound",enable3DZoom:"enable3DZoom",close3DZoom:"close3DZoom",changeZoomType:"changeZoomType",setPoster:"setPoster",resize:"resize",fast:"fast",slow:"slow",speedChange:"speedChange",seek:"seek",fullscreen:"fullscreen",exitFullscreen:"exitFullscreen",fullscreenChange:"fullscreenChange",destroy:"destroy",getDeviceCapacity:"getDeviceCapacity",pause:"pause",resume:"resume",getVideoLevelList:"getVideoLevelList",setVideoLevelList:"setVideoLevelList",currentVideoLevel:"currentVideoLevel",autoVideoLevel:"autoVideoLevel",getVideoLevel:"getVideoLevel",getPtzStatus:"getPtzStatus",getPlayRate:"getPlayRate",setMirrorFlip:"setMirrorFlip",setFECCorrectType:"setFECCorrectType",setFEC3DViewParam:"setFEC3DViewParam",getFEC3DViewParam:"getFEC3DViewParam",setWaterMarkFont:"setWaterMarkFont",talkVolumeChange:"talkVolumeChange",startTalk:"startTalk",stopTalk:"stopTalk",talkSuccess:"talkSuccess",talkError:"talkError",recTypeChange:"recTypeChange",recTimeChange:"recTimeChange",setLoggerOptions:"setLoggerOptions",setDisplayRegion:"setDisplayRegion",setAllDayRecTimes:"setAllDayRecTimes",setRecTimes:"setRecTimes",changeTheme:"changeTheme",date:{openDatePanel:"openDatePanel",closeDatePanel:"closeDatePanel",recStartTimeChange:"recStartTimeChange"},ptz:{openPtz:"openPtz",closePtz:"closePtz",ptzDirection:"ptzDirection",ptzSpeedChange:"ptzSpeedChange",ptzBtnClick:"ptzBtnClick"},zoom:{startZoom:"startZoom",closeZoom:"closeZoom",onZoomChange:"onZoomChange",openZoom:"openZoom",closeZoom:"closeZoom"},timeLine:{timeWidthChange:"timeWidthChange"},http:{getCloudRecordTimes:"getCloudRecordTimes",getLocalRecTimes:"getLocalRecTimes",getCloudRecTimes:"getCloudRecTimes",getDeviceInfo:"getDeviceInfo",getDeviceList:"getDeviceList",setVideoLevel:"setVideoLevel",getDeviceSupportQuality:"getDeviceSupportQuality",getStreamAddressList:"getStreamAddressList"}};class tr{static formate(A,e,t=0){let i=A;"string"==typeof A?i=tr.strToDate(A):"number"==typeof A&&(i=new Date(A)),i=new Date(i.getTime()-3600*t*1e3);const a=i.getFullYear(),r=String(i.getMonth()+1).padStart(2,"0"),n=String(i.getDate()).padStart(2,"0"),o=String(i.getHours()).padStart(2,"0"),s=String(i.getMinutes()).padStart(2,"0"),g=String(i.getSeconds()).padStart(2,"0");switch(e){case"YYYY-MM-DD hh:mm:ss":return`${a}-${r}-${n} ${o}:${s}:${g}`;case"YYYYMMDDhhmmss":return`${a}${r}${n}${o}${s}${g}`;case"YYYY/MM/DD hh:mm:ss":return`${a}/${r}/${n} ${o}:${s}:${g}`;case"YYYYMMDDThhmmssZ":return`${a}${r}${n}T${o}${s}${g}Z`;case"YYYY/MM/DD":return`${a}/${r}/${n}`;case"YYYYMMDD":return`${a}${r}${n}`;case"YYYY-MM-DD":return`${a}-${r}-${n}`;case"YYYY":return`${a}`;case"MM":return`${r}`;case"DD":return`${n}`;case"hh:mm:ss":return`${o}:${s}:${g}`;case"hh":return`${o}`;case"mm":return`${s}`;case"ss":return`${g}`;default:throw new Error("Unsupported format type")}}static diff(A,e,t){let i=A;"string"==typeof A?i=tr.strToDate(A):"number"==typeof A&&(i=new Date(A));let a=e;"string"==typeof e?i=tr.strToDate(e):"number"==typeof e&&(i=new Date(e));const r=i.getTime()-a.getTime();switch(t){case"year":return i.getFullYear()-a.getFullYear();case"month":let A=12*(i.getFullYear()-a.getFullYear())+(i.getMonth()-a.getMonth());return i.getDate()ir({},A,{startTime:A.startTime-3600*(e||0),endTime:A.endTime-3600*(e||0)}))).sort(((A,e)=>A.startTime-e.startTime))}function rr(A,e,t,i,a,r,n){try{var o=A[r](n),s=o.value}catch(A){return void t(A)}o.done?e(s):Promise.resolve(s).then(i,a)}function nr(A){return function(){var e=this,t=arguments;return new Promise((function(i,a){var r=A.apply(e,t);function n(A){rr(r,i,a,n,o,"next",A)}function o(A){rr(r,i,a,n,o,"throw",A)}n(void 0)}))}}function or(){return or=Object.assign||function(A){for(var e=1;e{const A=t.controllers.findIndex((A=>A===a));A>-1&&t.controllers.splice(A,1)}))}))()}get(A,e={}){return this._fetch(A,or({},e||{},{method:"get"}))}post(A,e={}){return this._fetch(A,or({},e||{},{method:"post"}))}put(A,e={}){return this._fetch(A,or({},e||{},{method:"put"}))}delete(A,e={}){return this._fetch(A,or({},e||{},{method:"delete"}))}getAppKey(){var A=this;return nr((function*(){var e,t;return"custom"===A._options.sdkType?new Promise((A=>{A({meta:{code:200,message:"操作成功",moreInfo:{}},data:{appKey:"ezuikit-custom"}})})):A.get(`${sr}?checkToken=${A._options.accessToken||(null==(t=A._options.token)||null==(e=t.deviceToken)?void 0:e.video)}&sn=${A._options.deviceSerial}&cno=${A._options.channelNo}`,{headers:null}).then((A=>A.json())).catch((()=>""))}))()}getDeviceInfo(){var A=this;return nr((function*(){var e,t;const i=new FormData;return i.append("accessToken",A._options.accessToken||(null==(t=A._options.token)||null==(e=t.deviceToken)?void 0:e.global)||""),i.append("deviceSerial",A._options.deviceSerial),A.post(gr,{body:i,headers:null}).then((A=>A.json())).then((A=>200==+A.code?A.data:{}))}))()}getDeviceCapacity(){var A=this;return nr((function*(){var e,t;let i=new FormData;return i.append("accessToken",A._options.accessToken||(null==(t=A._options.token)||null==(e=t.deviceToken)?void 0:e.video)||""),i.append("deviceSerial",A._options.deviceSerial),A.post(Cr,{body:i,headers:null}).then((A=>A.json())).then((A=>200==+A.code?A.data:{})).catch((()=>({})))}))()}getStreamAddressList(){var A=this;return nr((function*(){var e,t;return"custom"===A._options.sdkType?new Promise((A=>{A([0,{domain:"",port:0,backups:[]}])})):A.get(lr,{headers:{accessToken:A._options.accessToken||(null==(t=A._options.token)||null==(e=t.deviceToken)?void 0:e.video)}}).then((A=>A.json())).then((e=>{if(e.meta&&200==e.meta.code){var t;let a={};try{a=JSON.parse(localStorage.getItem(Xa)||"{}")}catch(A){}let r=e=>{const t=A._options.deviceSerial+"_"+A._options.channelNo,i=new Date;a[t]=[{domain:e.domain?e.domain:e.addr?e.addr:"",port:e.port,expire:new Date(i.setHours(i.getHours()+12)).Format("yyyyMMddThhmmssZ")}],Array.isArray(e.backups)&&e.backups.map((A=>{a[t].push({domain:A.domain?A.domain:A.addr?A.addr:"",port:A.port,expire:new Date(i.setHours(i.getHours()+12)).Format("yyyyMMddThhmmssZ")})}));try{window.localStorage.setItem(Xa,JSON.stringify(a))}catch(A){}},n=(A,e)=>{if(A.length!==e.length)return!1;let t=[...A].sort(((A,e)=>A.domain>e.domain?1:-1)),i=[...e].sort(((A,e)=>A.domain>e.domain?1:-1));for(let A=0;AA.json())).then((A=>((A.meta&&200===A.meta.code&&A.data&&A.data.length>0?A.data:$a).map((A=>{A.videoLevel>6||A.videoLevel<0||n.push({name:Ar[A.videoLevel],level:A.videoLevel,streamTypeIn:A.streamTypeIn,type:A.type})})),n.sort(((A,e)=>A.level>e.level?1:-1))))).catch((()=>($a.map((A=>{n.push({name:Ar[A.videoLevel],level:A.videoLevel,streamTypeIn:A.streamTypeIn,type:"compatible"})})),n)))}))()}getDeviceList(A={}){var e=this;return nr((function*(){var t,i;const a=A.accessToken||e._options.accessToken||(null==(i=e._options.token)||null==(t=i.deviceToken)?void 0:t.video),r=A.deviceSerial||e._options.deviceSerial;return e.post(`/api/lapp/device/camera/list?accessToken=${a}&deviceSerial=${r}`).then((A=>A.json())).then((A=>200==+(null==A?void 0:A.code)?A.data:[])).catch((()=>[]))}))()}setVideoLevel(A){var e=this;return nr((function*(){var t,i,a,r;const n=new FormData;return n.append("videoLevel",A+""),"custom"===e._options.sdkType&&(n.append("accessToken",e._options.accessToken),n.append("deviceSerial",e._options.deviceSerial),n.append("localIndex",e._options.channelNo+"")),+A<0?{}:e.post(`${Ir}?accessToken=${e._options.accessToken||(null==(i=e._options.token)||null==(t=i.deviceToken)?void 0:t.video)}`,{headers:{accessToken:e._options.accessToken||(null==(r=e._options.token)||null==(a=r.deviceToken)?void 0:a.video)},body:n}).then((A=>A.json())).then((A=>A))}))()}getEzopenUrl(A){var e=this;return nr((function*(){var t,i,a,r,n;let o=new FormData;if(o.append("isFlv","false"),o.append("userAgent",(null==(i=window)||null==(t=i.navigator)?void 0:t.userAgent)||""),o.append("isHttp","false"),o.append("needStreamToken",(null==(a=e._options)?void 0:a.accessToken)?"1":"0"),o.append("accessToken",e._options.accessToken||(null==(n=e._options.token)||null==(r=n.deviceToken)?void 0:r.video)||""),o.append("ezopen",A),e._options.ezopenParams&&"[object Object]"===Object.prototype.toString.call(e._options.ezopenParams))for(var s in e._options.ezopenParams)o.append(s,e._options.ezopenParams[s]);return e.post(cr,{body:o,headers:{sdkVersion:"8.2.2"}}).then((A=>A.json())).then((t=>{if(200==+(null==t?void 0:t.code)||0==t.retcode){var i,a,r;let o="",s="";const g=null==(r=e._options)||null==(a=r.token)||null==(i=a.streamToken)?void 0:i[t.data.indexOf("live")>-1||t.data.indexOf("cloud")>-1?"live":"rec"];if(t.ext&&t.ext.token)o+=t.data,s=e._options.accessToken?t.ext.token:g;else if(t.data){var n;if("string"==typeof t.data&&g)o+=t.data,s=g;else o+=(null==(n=t.data)?void 0:n.url)||"",s=e._options.accessToken?t.data.token:g}if(o="live"===(-1!==A.indexOf("live")?"live":"playback")?o+"&ssn="+(s||"")+"&auth=1&biz=4&cln=100":o+"&ssn="+(s||"")+"&auth=1&cln=100",e._options.wsParams&&"[object Object]"===Object.prototype.toString.call(e._options.wsParams))for(const A in e._options.wsParams)o+="&"+A+"="+e._options.wsParams[A]||"";return o.replace(/&&/gi,"&")}return t})).catch((()=>""))}))()}getCloudRecordTimes(A){var e=this;return nr((function*(){var t,i;const a={startTime:A.begin?tr.formate(A.begin,"YYYY-MM-DD hh:mm:ss"):void 0,endTime:A.end?tr.formate(A.end,"YYYY-MM-DD hh:mm:ss"):void 0,spaceId:A.spaceId||void 0},r=Object.keys(a).reduce(((A,e)=>null==a[e]?A:A+=`&${e}=${encodeURIComponent(a[e])}`),"").replace("&","");return e.get(hr+`?${r}`,{headers:{accessToken:(null==(i=e._options.token)||null==(t=i.deviceToken)?void 0:t.global)||e._options.accessToken}}).then((A=>A.json())).then((e=>{var t;if(200==+(null==e||null==(t=e.meta)?void 0:t.code)){const t=ar((e.data||[]).map((A=>(A.endTime=parseInt(tr.strToDate(A.stopTime).getTime()/1e3+"",10),A.startTime=parseInt(tr.strToDate(A.startTime).getTime()/1e3+"",10),A.busType=7,A.iStorageVersion=A.istorageVersion,A))));return t.length>0&&(t[0].startTimeparseInt(tr.strToDate(tr.formate(A.end,"YYYY-MM-DD hh:mm:ss")).getTime()/1e3+"",10)&&(t[t.length-1].endTime=parseInt(tr.strToDate(tr.formate(A.end,"YYYY-MM-DD hh:mm:ss")).getTime()/1e3+"",10))),t}return[]})).catch((()=>[]))}))()}getCloudTimes(A){var e=this;return nr((function*(){var t,i;const a=new FormData;a.append("recType",A.url&&-1===A.url.indexOf(".cloud")?"2":"1"),a.append("version","2.0"),a.append("deviceSerial",e._options.deviceSerial),a.append("channelNo",e._options.channelNo+""),a.append("accessToken",e._options.accessToken||(null==(i=e._options.token)||null==(t=i.deviceToken)?void 0:t.video)||""),A.begin&&a.append("startTime",tr.strToDate(A.begin+"").getTime()+""),A.end&&a.append("endTime",tr.strToDate(A.end+"").getTime()+"");let r=[];const n=nr((function*(A){try{yield e.post(`${Br}`,{headers:null,body:A}).then((A=>A.json())).then(nr((function*(e){if(200==+e.code&&e.data){var t,i,a,o,s;let l=[];if(Array.isArray(e.data))l=e.data;else if((null==(t=e.data)?void 0:t.files)&&(null==(a=e.data)||null==(i=a.files)?void 0:i.length)>0){var g;l=(null==(g=e.data)?void 0:g.files)||[]}if(r=r.concat(l),!(null==(o=e.data)?void 0:o.isAll)&&(null==(s=e.data)?void 0:s.nextFileTime))return A.append("startTime",e.data.nextFileTime),yield n(A)}})))}catch(A){}}));yield n(a),r=r.map((A=>or({},A,{endTime:parseInt(A.endTime/1e3+"",10),startTime:parseInt(A.startTime/1e3+"",10)})));const o=ar(r,e._options.timeZone||0);return o.length>0&&(o[0].startTimeparseInt(tr.strToDate(A.end+"").getTime()/1e3+"",10)&&(o[o.length-1].endTime=parseInt(tr.strToDate(A.end+"").getTime()/1e3+"",10))),o}))()}getLocalRecTimes(A){var e=this;return nr((function*(){if("custom"===e._options.sdkType){var t,i;const a=new FormData;a.append("recType","2"),a.append("version","2.0"),a.append("deviceSerial",e._options.deviceSerial),a.append("channelNo",e._options.channelNo+""),a.append("accessToken",e._options.accessToken||(null==(i=e._options.token)||null==(t=i.deviceToken)?void 0:t.video)||""),A.begin&&a.append("startTime",tr.strToDate(A.begin+"").getTime()+""),A.end&&a.append("endTime",tr.strToDate(A.end+"").getTime()+"");let r=[];const n=nr((function*(A){try{yield e.post(`${Br}`,{body:A}).then((A=>A.json())).then(nr((function*(e){if(200==+e.code&&e.data){var t,i,a,o,s;let l=[];if(Array.isArray(e.data))l=e.data;else if((null==(t=e.data)?void 0:t.files)&&(null==(a=e.data)||null==(i=a.files)?void 0:i.length)>0){var g;l=(null==(g=e.data)?void 0:g.files)||[]}if(r=r.concat(l),!(null==(o=e.data)?void 0:o.isAll)&&(null==(s=e.data)?void 0:s.nextFileTime))return A.append("startTime",e.data.nextFileTime),yield n(A)}})))}catch(A){}}));yield n(a),r=r.map((A=>or({},A,{endTime:parseInt(A.endTime/1e3+"",10),startTime:parseInt(A.startTime/1e3+"",10)})));const o=ar(r||[],e._options.timeZone||0);return o.length>0&&(o[0].startTimeparseInt(tr.strToDate(A.end+"").getTime()/1e3+"",10)&&(o[o.length-1].endTime=parseInt(tr.strToDate(A.end+"").getTime()/1e3+"",10))),o}{const t=parseInt(tr.strToDate(A.begin+"").getTime()/1e3+"",10),i=parseInt(tr.strToDate(A.end+"").getTime()/1e3+"",10),a=nr((function*(A){let t=[];try{var i,r,n,o,s,g;const C=yield e.get(`${Er}?startTime=${A.startTime}&endTime=${A.endTime}&pageSize=${A.pageSize||200}`,{headers:{accessToken:e._options.accessToken||(null==(r=e._options.token)||null==(i=r.deviceToken)?void 0:i.video),deviceSerial:e._options.deviceSerial}}).then((A=>A.json()));if(200!=+(null==C||null==(n=C.meta)?void 0:n.code))return t;var l;if((null==C||null==(s=C.data)||null==(o=s.records)?void 0:o.length)&&(t=t.concat(C.data.records||[])),null==C||null==(g=C.data)?void 0:g.hasMore)t=t.concat(yield a(or({},A,{startTime:null==C||null==(l=C.data)?void 0:l.nextFileTime})))}catch(A){}return t})),r=ar((yield a({startTime:t,endTime:i}))||[]||[],e._options.timeZone||0);return r.length>0&&(r[0].startTimei&&(r[r.length-1].endTime=i)),r}}))()}postDevicePtzMirror(A){var e=this;return nr((function*(){var t,i;const a=new FormData;a.append("command",A+""),a.append("accessToken",e._options.accessToken||(null==(i=e._options.token)||null==(t=i.deviceToken)?void 0:t.video)||""),a.append("deviceSerial",e._options.deviceSerial),a.append("channelNo",e._options.channelNo+""),e.post(xr,{body:a})}))()}abort(){this.controllers.length>0&&(this.controllers.forEach((A=>{A.abort("abort fetch")})),this.controllers=[])}destroy(){this.abort()}constructor(A){this.controllers=[],this._options=u({baseURL:Za},A,{clone:!1}),this._options.baseURL||(this._options.baseURL=Za),this._options.baseURL=this._options.baseURL.replace(/\/$/,"")}} +function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).window,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0},d=n.log,l=n.detectBrowser(t),u={browserDetails:l,commonShim:c,extractVersion:n.extractVersion,disableLog:n.disableLog,disableWarnings:n.disableWarnings};switch(l.browser){case"chrome":if(!i||!i.shimPeerConnection||!r.shimChrome)return d("Chrome shim is not included in this adapter release."),u;d("adapter.js shimming chrome."),u.browserShim=i,i.shimGetUserMedia(t),i.shimMediaStream(t),i.shimPeerConnection(t),i.shimOnTrack(t),i.shimAddTrackRemoveTrack(t),i.shimGetSendersWithDtmf(t),i.shimGetStats(t),i.shimSenderReceiverGetStats(t),i.fixNegotiationNeeded(t),c.shimRTCIceCandidate(t),c.shimConnectionState(t),c.shimMaxMessageSize(t),c.shimSendThrowTypeError(t),c.removeAllowExtmapMixed(t);break;case"firefox":if(!a||!a.shimPeerConnection||!r.shimFirefox)return d("Firefox shim is not included in this adapter release."),u;d("adapter.js shimming firefox."),u.browserShim=a,a.shimGetUserMedia(t),a.shimPeerConnection(t),a.shimOnTrack(t),a.shimRemoveStream(t),a.shimSenderGetStats(t),a.shimReceiverGetStats(t),a.shimRTCDataChannel(t),a.shimAddTransceiver(t),a.shimCreateOffer(t),a.shimCreateAnswer(t),c.shimRTCIceCandidate(t),c.shimConnectionState(t),c.shimMaxMessageSize(t),c.shimSendThrowTypeError(t);break;case"edge":if(!o||!o.shimPeerConnection||!r.shimEdge)return d("MS edge shim is not included in this adapter release."),u;d("adapter.js shimming edge."),u.browserShim=o,o.shimGetUserMedia(t),o.shimGetDisplayMedia(t),o.shimPeerConnection(t),o.shimReplaceTrack(t),c.shimMaxMessageSize(t),c.shimSendThrowTypeError(t);break;case"safari":if(!s||!r.shimSafari)return d("Safari shim is not included in this adapter release."),u;d("adapter.js shimming safari."),u.browserShim=s,s.shimRTCIceServerUrls(t),s.shimCreateOfferLegacy(t),s.shimCallbacksAPI(t),s.shimLocalStreamsAPI(t),s.shimRemoteStreamsAPI(t),s.shimTrackEventTransceiver(t),s.shimGetUserMedia(t),c.shimRTCIceCandidate(t),c.shimMaxMessageSize(t),c.shimSendThrowTypeError(t),c.removeAllowExtmapMixed(t);break;default:d("Unsupported browser!")}return u};var n=d(e("./utils")),i=d(e("./chrome/chrome_shim")),o=d(e("./edge/edge_shim")),a=d(e("./firefox/firefox_shim")),s=d(e("./safari/safari_shim")),c=d(e("./common_shim"));function d(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}},{"./chrome/chrome_shim":3,"./common_shim":6,"./edge/edge_shim":7,"./firefox/firefox_shim":11,"./safari/safari_shim":14,"./utils":15}],3:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.shimGetDisplayMedia=r.shimGetUserMedia=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=e("./getusermedia");Object.defineProperty(r,"shimGetUserMedia",{enumerable:!0,get:function(){return i.shimGetUserMedia}});var o=e("./getdisplaymedia");Object.defineProperty(r,"shimGetDisplayMedia",{enumerable:!0,get:function(){return o.shimGetDisplayMedia}}),r.shimMediaStream=function(e){e.MediaStream=e.MediaStream||e.webkitMediaStream},r.shimOnTrack=function(e){if("object"===(void 0===e?"undefined":n(e))&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});var t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){var r=this;return this._ontrackpoly||(this._ontrackpoly=function(t){t.stream.addEventListener("addtrack",(function(n){var i;i=e.RTCPeerConnection.prototype.getReceivers?r.getReceivers().find((function(e){return e.track&&e.track.id===n.track.id})):{track:n.track};var o=new Event("track");o.track=n.track,o.receiver=i,o.transceiver={receiver:i},o.streams=[t.stream],r.dispatchEvent(o)})),t.stream.getTracks().forEach((function(n){var i;i=e.RTCPeerConnection.prototype.getReceivers?r.getReceivers().find((function(e){return e.track&&e.track.id===n.id})):{track:n};var o=new Event("track");o.track=n,o.receiver=i,o.transceiver={receiver:i},o.streams=[t.stream],r.dispatchEvent(o)}))},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else a.wrapPeerConnectionEvent(e,"track",(function(e){return e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e}))},r.shimGetSendersWithDtmf=function(e){if("object"===(void 0===e?"undefined":n(e))&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){var t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};var r=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){var i=r.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};var i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){i.apply(this,arguments);var t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}var o=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){var r=this;this._senders=this._senders||[],o.apply(this,[e]),e.getTracks().forEach((function(e){r._senders.push(t(r,e))}))};var a=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){var t=this;this._senders=this._senders||[],a.apply(this,[e]),e.getTracks().forEach((function(e){var r=t._senders.find((function(t){return t.track===e}));r&&t._senders.splice(t._senders.indexOf(r),1)}))}}else if("object"===(void 0===e?"undefined":n(e))&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){var s=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){var e=this,t=s.apply(this,[]);return t.forEach((function(t){return t._pc=e})),t},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get:function(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}},r.shimGetStats=function(e){if(e.RTCPeerConnection){var t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){var e=this,r=Array.prototype.slice.call(arguments),n=r[0],i=r[1],o=r[2];if(arguments.length>0&&"function"==typeof n)return t.apply(this,arguments);if(0===t.length&&(0===arguments.length||"function"!=typeof n))return t.apply(this,[]);var a=function(e){var t={};return e.result().forEach((function(e){var r={id:e.id,timestamp:e.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};e.names().forEach((function(t){r[t]=e.stat(t)})),t[r.id]=r})),t},s=function(e){return new Map(Object.keys(e).map((function(t){return[t,e[t]]})))};return arguments.length>=2?t.apply(this,[function(e){i(s(a(e)))},n]):new Promise((function(r,n){t.apply(e,[function(e){r(s(a(e)))},n])})).then(i,o)}}},r.shimSenderReceiverGetStats=function(e){if("object"===(void 0===e?"undefined":n(e))&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver){if(!("getStats"in e.RTCRtpSender.prototype)){var t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){var e=this,r=t.apply(this,[]);return r.forEach((function(t){return t._pc=e})),r});var r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){var e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){var e=this;return this._pc.getStats().then((function(t){return a.filterStats(t,e.track,!0)}))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){var i=e.RTCPeerConnection.prototype.getReceivers;i&&(e.RTCPeerConnection.prototype.getReceivers=function(){var e=this,t=i.apply(this,[]);return t.forEach((function(t){return t._pc=e})),t}),a.wrapPeerConnectionEvent(e,"track",(function(e){return e.receiver._pc=e.srcElement,e})),e.RTCRtpReceiver.prototype.getStats=function(){var e=this;return this._pc.getStats().then((function(t){return a.filterStats(t,e.track,!1)}))}}if("getStats"in e.RTCRtpSender.prototype&&"getStats"in e.RTCRtpReceiver.prototype){var o=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){var t=arguments[0],r=void 0,n=void 0,i=void 0;return this.getSenders().forEach((function(e){e.track===t&&(r?i=!0:r=e)})),this.getReceivers().forEach((function(e){return e.track===t&&(n?i=!0:n=e),e.track===t})),i||r&&n?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):r?r.getStats():n?n.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return o.apply(this,arguments)}}}},r.shimAddTrackRemoveTrackWithNative=c,r.shimAddTrackRemoveTrack=function(e){if(e.RTCPeerConnection){var t=a.detectBrowser(e);if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return c(e);var r=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){var e=this,t=r.apply(this);return this._reverseStreams=this._reverseStreams||{},t.map((function(t){return e._reverseStreams[t.id]}))};var n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){var r=this;if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach((function(e){if(r.getSenders().find((function(t){return t.track===e})))throw new DOMException("Track already exists.","InvalidAccessError")})),!this._reverseStreams[t.id]){var i=new e.MediaStream(t.getTracks());this._streams[t.id]=i,this._reverseStreams[i.id]=t,t=i}n.apply(this,[t])};var i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,r){var n=this;if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");var i=[].slice.call(arguments,1);if(1!==i.length||!i[0].getTracks().find((function(e){return e===t})))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find((function(e){return e.track===t})))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};var o=this._streams[r.id];if(o)o.addTrack(t),Promise.resolve().then((function(){n.dispatchEvent(new Event("negotiationneeded"))}));else{var a=new e.MediaStream([t]);this._streams[r.id]=a,this._reverseStreams[a.id]=r,this.addStream(a)}return this.getSenders().find((function(e){return e.track===t}))},["createOffer","createAnswer"].forEach((function(t){var r=e.RTCPeerConnection.prototype[t],n=s({},t,(function(){var e=this,t=arguments;return arguments.length&&"function"==typeof arguments[0]?r.apply(this,[function(r){var n=o(e,r);t[0].apply(null,[n])},function(e){t[1]&&t[1].apply(null,e)},arguments[2]]):r.apply(this,arguments).then((function(t){return o(e,t)}))}));e.RTCPeerConnection.prototype[t]=n[t]}));var d=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=(e=this,r=(t=arguments[0]).sdp,Object.keys(e._reverseStreams||[]).forEach((function(t){var n=e._reverseStreams[t],i=e._streams[n.id];r=r.replace(new RegExp(n.id,"g"),i.id)})),new RTCSessionDescription({type:t.type,sdp:r})),d.apply(this,arguments)):d.apply(this,arguments);var e,t,r};var l=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get:function(){var e=l.get.apply(this);return""===e.type?e:o(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){var t=this;if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(e._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};var r=void 0;Object.keys(this._streams).forEach((function(n){t._streams[n].getTracks().find((function(t){return e.track===t}))&&(r=t._streams[n])})),r&&(1===r.getTracks().length?this.removeStream(this._reverseStreams[r.id]):r.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function o(e,t){var r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((function(t){var n=e._reverseStreams[t],i=e._streams[n.id];r=r.replace(new RegExp(i.id,"g"),n.id)})),new RTCSessionDescription({type:t.type,sdp:r})}},r.shimPeerConnection=function(e){var t=a.detectBrowser(e);if(!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection){t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){var r=e.RTCPeerConnection.prototype[t],n=s({},t,(function(){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}));e.RTCPeerConnection.prototype[t]=n[t]}));var r=e.RTCPeerConnection.prototype.addIceCandidate;e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?t.version<78&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():r.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}},r.fixNegotiationNeeded=function(e){a.wrapPeerConnectionEvent(e,"negotiationneeded",(function(e){if("stable"===e.target.signalingState)return e}))};var a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("../utils.js"));function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){var e=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((function(t){return e._shimmedLocalStreams[t][0]}))};var t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){if(!r)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};var n=t.apply(this,arguments);return this._shimmedLocalStreams[r.id]?-1===this._shimmedLocalStreams[r.id].indexOf(n)&&this._shimmedLocalStreams[r.id].push(n):this._shimmedLocalStreams[r.id]=[r,n],n};var r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){var t=this;this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach((function(e){if(t.getSenders().find((function(t){return t.track===e})))throw new DOMException("Track already exists.","InvalidAccessError")}));var n=this.getSenders();r.apply(this,arguments);var i=this.getSenders().filter((function(e){return-1===n.indexOf(e)}));this._shimmedLocalStreams[e.id]=[e].concat(i)};var n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};var i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){var t=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach((function(r){var n=t._shimmedLocalStreams[r].indexOf(e);-1!==n&&t._shimmedLocalStreams[r].splice(n,1),1===t._shimmedLocalStreams[r].length&&delete t._shimmedLocalStreams[r]})),i.apply(this,arguments)}}},{"../utils.js":15,"./getdisplaymedia":4,"./getusermedia":5}],4:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.shimGetDisplayMedia=function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&"function"==typeof t&&(e.navigator.mediaDevices.getDisplayMedia=function(r){return t(r).then((function(t){var n=r.video&&r.video.width,i=r.video&&r.video.height,o=r.video&&r.video.frameRate;return r.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:t,maxFrameRate:o||3}},n&&(r.video.mandatory.maxWidth=n),i&&(r.video.mandatory.maxHeight=i),e.navigator.mediaDevices.getUserMedia(r)}))})}},{}],5:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r.shimGetUserMedia=function(e){var t=e&&e.navigator;if(t.mediaDevices){var r=i.detectBrowser(e),a=function(e){if("object"!==(void 0===e?"undefined":n(e))||e.mandatory||e.optional)return e;var t={};return Object.keys(e).forEach((function(r){if("require"!==r&&"advanced"!==r&&"mediaSource"!==r){var i="object"===n(e[r])?e[r]:{ideal:e[r]};void 0!==i.exact&&"number"==typeof i.exact&&(i.min=i.max=i.exact);var o=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==i.ideal){t.optional=t.optional||[];var a={};"number"==typeof i.ideal?(a[o("min",r)]=i.ideal,t.optional.push(a),(a={})[o("max",r)]=i.ideal,t.optional.push(a)):(a[o("",r)]=i.ideal,t.optional.push(a))}void 0!==i.exact&&"number"!=typeof i.exact?(t.mandatory=t.mandatory||{},t.mandatory[o("",r)]=i.exact):["min","max"].forEach((function(e){void 0!==i[e]&&(t.mandatory=t.mandatory||{},t.mandatory[o(e,r)]=i[e])}))}})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},s=function(e,i){if(r.version>=61)return i(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"===n(e.audio)){var s=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])};s((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),s(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=a(e.audio)}if(e&&"object"===n(e.video)){var c=e.video.facingMode;c=c&&("object"===(void 0===c?"undefined":n(c))?c:{ideal:c});var d=r.version<66;if(c&&("user"===c.exact||"environment"===c.exact||"user"===c.ideal||"environment"===c.ideal)&&(!t.mediaDevices.getSupportedConstraints||!t.mediaDevices.getSupportedConstraints().facingMode||d)){delete e.video.facingMode;var l=void 0;if("environment"===c.exact||"environment"===c.ideal?l=["back","rear"]:"user"!==c.exact&&"user"!==c.ideal||(l=["front"]),l)return t.mediaDevices.enumerateDevices().then((function(t){var r=(t=t.filter((function(e){return"videoinput"===e.kind}))).find((function(e){return l.some((function(t){return e.label.toLowerCase().includes(t)}))}));return!r&&t.length&&l.includes("back")&&(r=t[t.length-1]),r&&(e.video.deviceId=c.exact?{exact:r.deviceId}:{ideal:r.deviceId}),e.video=a(e.video),o("chrome: "+JSON.stringify(e)),i(e)}))}e.video=a(e.video)}return o("chrome: "+JSON.stringify(e)),i(e)},c=function(e){return r.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}};if(t.getUserMedia=function(e,r,n){s(e,(function(e){t.webkitGetUserMedia(e,r,(function(e){n&&n(c(e))}))}))}.bind(t),t.mediaDevices.getUserMedia){var d=t.mediaDevices.getUserMedia.bind(t.mediaDevices);t.mediaDevices.getUserMedia=function(e){return s(e,(function(e){return d(e).then((function(t){if(e.audio&&!t.getAudioTracks().length||e.video&&!t.getVideoTracks().length)throw t.getTracks().forEach((function(e){e.stop()})),new DOMException("","NotFoundError");return t}),(function(e){return Promise.reject(c(e))}))}))}}}};var i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("../utils.js")),o=i.log},{"../utils.js":15}],6:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r.shimRTCIceCandidate=function(e){if(!(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)){var t=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"===(void 0===e?"undefined":n(e))&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substr(2)),e.candidate&&e.candidate.length){var r=new t(e),i=a.default.parseCandidate(e.candidate),o=Object.assign(r,i);return o.toJSON=function(){return{candidate:o.candidate,sdpMid:o.sdpMid,sdpMLineIndex:o.sdpMLineIndex,usernameFragment:o.usernameFragment}},o}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,s.wrapPeerConnectionEvent(e,"icecandidate",(function(t){return t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t}))}},r.shimMaxMessageSize=function(e){if(e.RTCPeerConnection){var t=s.detectBrowser(e);"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get:function(){return void 0===this._sctp?null:this._sctp}});var r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){var e,n;if(this._sctp=null,"chrome"===t.browser&&t.version>=76&&"plan-b"===this.getConfiguration().sdpSemantics&&Object.defineProperty(this,"sctp",{get:function(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0}),function(e){if(!e||!e.sdp)return!1;var t=a.default.splitSections(e.sdp);return t.shift(),t.some((function(e){var t=a.default.parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")}))}(arguments[0])){var c,i=function(e){var t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return-1;var r=parseInt(t[1],10);return r!=r?-1:r}(arguments[0]),o=(e=i,n=65536,"firefox"===t.browser&&(n=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),n),s=function(e,r){var n=65536;"firefox"===t.browser&&57===t.version&&(n=65535);var i=a.default.matchPrefix(e.sdp,"a=max-message-size:");return i.length>0?n=parseInt(i[0].substr(19),10):"firefox"===t.browser&&-1!==r&&(n=2147483637),n}(arguments[0],i);c=0===o&&0===s?Number.POSITIVE_INFINITY:0===o||0===s?Math.max(o,s):Math.min(o,s);var d={};Object.defineProperty(d,"maxMessageSize",{get:function(){return c}}),this._sctp=d}return r.apply(this,arguments)}}},r.shimSendThrowTypeError=function(e){if(e.RTCPeerConnection&&"createDataChannel"in e.RTCPeerConnection.prototype){var r=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){var e=r.apply(this,arguments);return t(e,this),e},s.wrapPeerConnectionEvent(e,"datachannel",(function(e){return t(e.channel,e.target),e}))}function t(e,t){var r=e.send;e.send=function(){var n=arguments[0],i=n.length||n.size||n.byteLength;if("open"===e.readyState&&t.sctp&&i>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return r.apply(e,arguments)}}},r.shimConnectionState=function(e){if(e.RTCPeerConnection&&!("connectionState"in e.RTCPeerConnection.prototype)){var t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get:function(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get:function(){return this._onconnectionstatechange||null},set:function(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach((function(e){var r=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=function(e){var t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;var r=new Event("connectionstatechange",e);t.dispatchEvent(r)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}}))}},r.removeAllowExtmapMixed=function(e){if(e.RTCPeerConnection){var t=s.detectBrowser(e);if(!("chrome"===t.browser&&t.version>=71)){var r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(e){return e&&e.sdp&&-1!==e.sdp.indexOf("\na=extmap-allow-mixed")&&(e.sdp=e.sdp.split("\n").filter((function(e){return"a=extmap-allow-mixed"!==e.trim()})).join("\n")),r.apply(this,arguments)}}}};var i,a=(i=e("sdp"))&&i.__esModule?i:{default:i},s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("./utils"))},{"./utils":15,sdp:17}],7:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.shimGetDisplayMedia=r.shimGetUserMedia=void 0;var n=e("./getusermedia");Object.defineProperty(r,"shimGetUserMedia",{enumerable:!0,get:function(){return n.shimGetUserMedia}});var i=e("./getdisplaymedia");Object.defineProperty(r,"shimGetDisplayMedia",{enumerable:!0,get:function(){return i.shimGetDisplayMedia}}),r.shimPeerConnection=function(e){var t=a.detectBrowser(e);if(e.RTCIceGatherer&&(e.RTCIceCandidate||(e.RTCIceCandidate=function(e){return e}),e.RTCSessionDescription||(e.RTCSessionDescription=function(e){return e}),t.version<15025)){var r=Object.getOwnPropertyDescriptor(e.MediaStreamTrack.prototype,"enabled");Object.defineProperty(e.MediaStreamTrack.prototype,"enabled",{set:function(e){r.set.call(this,e);var t=new Event("enabled");t.enabled=e,this.dispatchEvent(t)}})}e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)&&Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get:function(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=new e.RTCDtmfSender(this):"video"===this.track.kind&&(this._dtmf=null)),this._dtmf}}),e.RTCDtmfSender&&!e.RTCDTMFSender&&(e.RTCDTMFSender=e.RTCDtmfSender);var n=(0,d.default)(e,t.version);e.RTCPeerConnection=function(e){return e&&e.iceServers&&(e.iceServers=(0,s.filterIceServers)(e.iceServers,t.version),a.log("ICE servers after filtering:",e.iceServers)),new n(e)},e.RTCPeerConnection.prototype=n.prototype},r.shimReplaceTrack=function(e){e.RTCRtpSender&&!("replaceTrack"in e.RTCRtpSender.prototype)&&(e.RTCRtpSender.prototype.replaceTrack=e.RTCRtpSender.prototype.setTrack)};var o,a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("../utils")),s=e("./filtericeservers"),d=(o=e("rtcpeerconnection-shim"))&&o.__esModule?o:{default:o}},{"../utils":15,"./filtericeservers":8,"./getdisplaymedia":9,"./getusermedia":10,"rtcpeerconnection-shim":16}],8:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.filterIceServers=function(e,t){var r=!1;return(e=JSON.parse(JSON.stringify(e))).filter((function(e){if(e&&(e.urls||e.url)){var t=e.urls||e.url;e.url&&!e.urls&&n.deprecated("RTCIceServer.url","RTCIceServer.urls");var i="string"==typeof t;return i&&(t=[t]),t=t.filter((function(e){if(0===e.indexOf("stun:"))return!1;var t=e.startsWith("turn")&&!e.startsWith("turn:[")&&e.includes("transport=udp");return t&&!r?(r=!0,!0):t&&!r})),delete e.url,e.urls=i?t[0]:t,!!t.length}}))};var n=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("../utils"))},{"../utils":15}],9:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.shimGetDisplayMedia=function(e){"getDisplayMedia"in e.navigator&&e.navigator.mediaDevices&&(e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||(e.navigator.mediaDevices.getDisplayMedia=e.navigator.getDisplayMedia.bind(e.navigator)))}},{}],10:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.shimGetUserMedia=function(e){var t=e&&e.navigator,r=t.mediaDevices.getUserMedia.bind(t.mediaDevices);t.mediaDevices.getUserMedia=function(e){return r(e).catch((function(e){return Promise.reject(function(e){return{name:{PermissionDeniedError:"NotAllowedError"}[e.name]||e.name,message:e.message,constraint:e.constraint,toString:function(){return this.name}}}(e))}))}}},{}],11:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.shimGetDisplayMedia=r.shimGetUserMedia=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=e("./getusermedia");Object.defineProperty(r,"shimGetUserMedia",{enumerable:!0,get:function(){return i.shimGetUserMedia}});var o=e("./getdisplaymedia");Object.defineProperty(r,"shimGetDisplayMedia",{enumerable:!0,get:function(){return o.shimGetDisplayMedia}}),r.shimOnTrack=function(e){"object"===(void 0===e?"undefined":n(e))&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})},r.shimPeerConnection=function(e){var t=a.detectBrowser(e);if("object"===(void 0===e?"undefined":n(e))&&(e.RTCPeerConnection||e.mozRTCPeerConnection)){if(!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){var r=e.RTCPeerConnection.prototype[t],n=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}({},t,(function(){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}));e.RTCPeerConnection.prototype[t]=n[t]})),t.version<68){var r=e.RTCPeerConnection.prototype.addIceCandidate;e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?arguments[0]&&""===arguments[0].candidate?Promise.resolve():r.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}var i={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},o=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){var e=Array.prototype.slice.call(arguments),r=e[0],n=e[1],a=e[2];return o.apply(this,[r||null]).then((function(e){if(t.version<53&&!n)try{e.forEach((function(e){e.type=i[e.type]||e.type}))}catch(t){if("TypeError"!==t.name)throw t;e.forEach((function(t,r){e.set(r,Object.assign({},t,{type:i[t.type]||t.type}))}))}return e})).then(n,a)}}},r.shimSenderGetStats=function(e){if("object"===(void 0===e?"undefined":n(e))&&e.RTCPeerConnection&&e.RTCRtpSender&&(!e.RTCRtpSender||!("getStats"in e.RTCRtpSender.prototype))){var t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){var e=this,r=t.apply(this,[]);return r.forEach((function(t){return t._pc=e})),r});var r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){var e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}},r.shimReceiverGetStats=function(e){if("object"===(void 0===e?"undefined":n(e))&&e.RTCPeerConnection&&e.RTCRtpSender&&(!e.RTCRtpSender||!("getStats"in e.RTCRtpReceiver.prototype))){var t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){var e=this,r=t.apply(this,[]);return r.forEach((function(t){return t._pc=e})),r}),a.wrapPeerConnectionEvent(e,"track",(function(e){return e.receiver._pc=e.srcElement,e})),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}},r.shimRemoveStream=function(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){var t=this;a.deprecated("removeStream","removeTrack"),this.getSenders().forEach((function(r){r.track&&e.getTracks().includes(r.track)&&t.removeTrack(r)}))})},r.shimRTCDataChannel=function(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)},r.shimAddTransceiver=function(e){if("object"===(void 0===e?"undefined":n(e))&&e.RTCPeerConnection){var t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];var e=arguments[1],r=e&&"sendEncodings"in e;r&&e.sendEncodings.forEach((function(e){if("rid"in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")}));var n=t.apply(this,arguments);if(r){var i=n.sender,o=i.getParameters();"encodings"in o||(o.encodings=e.sendEncodings,this.setParametersPromises.push(i.setParameters(o).catch((function(){}))))}return n})}},r.shimCreateOffer=function(e){if("object"===(void 0===e?"undefined":n(e))&&e.RTCPeerConnection){var t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){var e=this,r=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((function(){return t.apply(e,r)})).finally((function(){e.setParametersPromises=[]})):t.apply(this,arguments)}}},r.shimCreateAnswer=function(e){if("object"===(void 0===e?"undefined":n(e))&&e.RTCPeerConnection){var t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){var e=this,r=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((function(){return t.apply(e,r)})).finally((function(){e.setParametersPromises=[]})):t.apply(this,arguments)}}};var a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("../utils"))},{"../utils":15,"./getdisplaymedia":12,"./getusermedia":13}],12:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.shimGetDisplayMedia=function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!r||!r.video){var n=new DOMException("getDisplayMedia without video constraints is undefined");return n.name="NotFoundError",n.code=8,Promise.reject(n)}return!0===r.video?r.video={mediaSource:t}:r.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(r)})}},{}],13:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r.shimGetUserMedia=function(e){var t=i.detectBrowser(e),r=e&&e.navigator,o=e&&e.MediaStreamTrack;if(r.getUserMedia=function(e,t,n){i.deprecated("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),r.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&"autoGainControl"in r.mediaDevices.getSupportedConstraints())){var a=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])},s=r.mediaDevices.getUserMedia.bind(r.mediaDevices);if(r.mediaDevices.getUserMedia=function(e){return"object"===(void 0===e?"undefined":n(e))&&"object"===n(e.audio)&&(e=JSON.parse(JSON.stringify(e)),a(e.audio,"autoGainControl","mozAutoGainControl"),a(e.audio,"noiseSuppression","mozNoiseSuppression")),s(e)},o&&o.prototype.getSettings){var c=o.prototype.getSettings;o.prototype.getSettings=function(){var e=c.apply(this,arguments);return a(e,"mozAutoGainControl","autoGainControl"),a(e,"mozNoiseSuppression","noiseSuppression"),e}}if(o&&o.prototype.applyConstraints){var d=o.prototype.applyConstraints;o.prototype.applyConstraints=function(e){return"audio"===this.kind&&"object"===(void 0===e?"undefined":n(e))&&(e=JSON.parse(JSON.stringify(e)),a(e,"autoGainControl","mozAutoGainControl"),a(e,"noiseSuppression","mozNoiseSuppression")),d.apply(this,[e])}}}};var i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("../utils"))},{"../utils":15}],14:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r.shimLocalStreamsAPI=function(e){if("object"===(void 0===e?"undefined":n(e))&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){var t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){var r=this;this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((function(n){return t.call(r,n,e)})),e.getVideoTracks().forEach((function(n){return t.call(r,n,e)}))},e.RTCPeerConnection.prototype.addTrack=function(e){var r=arguments[1];return r&&(this._localStreams?this._localStreams.includes(r)||this._localStreams.push(r):this._localStreams=[r]),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){var t=this;this._localStreams||(this._localStreams=[]);var r=this._localStreams.indexOf(e);if(-1!==r){this._localStreams.splice(r,1);var n=e.getTracks();this.getSenders().forEach((function(e){n.includes(e.track)&&t.removeTrack(e)}))}})}},r.shimRemoteStreamsAPI=function(e){if("object"===(void 0===e?"undefined":n(e))&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get:function(){return this._onaddstream},set:function(e){var t=this;this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=function(e){e.streams.forEach((function(e){if(t._remoteStreams||(t._remoteStreams=[]),!t._remoteStreams.includes(e)){t._remoteStreams.push(e);var r=new Event("addstream");r.stream=e,t.dispatchEvent(r)}}))})}});var t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){var e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach((function(t){if(e._remoteStreams||(e._remoteStreams=[]),!(e._remoteStreams.indexOf(t)>=0)){e._remoteStreams.push(t);var r=new Event("addstream");r.stream=t,e.dispatchEvent(r)}}))}),t.apply(e,arguments)}}},r.shimCallbacksAPI=function(e){if("object"===(void 0===e?"undefined":n(e))&&e.RTCPeerConnection){var t=e.RTCPeerConnection.prototype,r=t.createOffer,i=t.createAnswer,o=t.setLocalDescription,a=t.setRemoteDescription,s=t.addIceCandidate;t.createOffer=function(e,t){var n=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){var r=arguments.length>=2?arguments[2]:arguments[0],n=i.apply(this,[r]);return t?(n.then(e,t),Promise.resolve()):n};var c=function(e,t,r){var n=o.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n};t.setLocalDescription=c,c=function(e,t,r){var n=a.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.setRemoteDescription=c,c=function(e,t,r){var n=s.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.addIceCandidate=c}},r.shimGetUserMedia=function(e){var t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){var r=t.mediaDevices,n=r.getUserMedia.bind(r);t.mediaDevices.getUserMedia=function(e){return n(o(e))}}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,r,n){t.mediaDevices.getUserMedia(e).then(r,n)}.bind(t))},r.shimConstraints=o,r.shimRTCIceServerUrls=function(e){var t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,r){if(e&&e.iceServers){for(var n=[],o=0;o=r&&parseInt(n[r],10)}function s(e){return"[object Object]"===Object.prototype.toString.call(e)}function c(e,t,r){t&&!r.has(t.id)&&(r.set(t.id,t),Object.keys(t).forEach((function(n){n.endsWith("Id")?c(e,e.get(t[n]),r):n.endsWith("Ids")&&t[n].forEach((function(t){c(e,e.get(t),r)}))})))}},{}],16:[function(e,t,r){var n=e("sdp");function i(e,t,r,i,o){var a=n.writeRtpDescription(e.kind,t);if(a+=n.writeIceParameters(e.iceGatherer.getLocalParameters()),a+=n.writeDtlsParameters(e.dtlsTransport.getLocalParameters(),"offer"===r?"actpass":o||"active"),a+="a=mid:"+e.mid+"\r\n",e.rtpSender&&e.rtpReceiver?a+="a=sendrecv\r\n":e.rtpSender?a+="a=sendonly\r\n":e.rtpReceiver?a+="a=recvonly\r\n":a+="a=inactive\r\n",e.rtpSender){var s=e.rtpSender._initialTrackId||e.rtpSender.track.id;e.rtpSender._initialTrackId=s;var c="msid:"+(i?i.id:"-")+" "+s+"\r\n";a+="a="+c,a+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" "+c,e.sendEncodingParameters[0].rtx&&(a+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" "+c,a+="a=ssrc-group:FID "+e.sendEncodingParameters[0].ssrc+" "+e.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return a+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" cname:"+n.localCName+"\r\n",e.rtpSender&&e.sendEncodingParameters[0].rtx&&(a+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" cname:"+n.localCName+"\r\n"),a}function o(e,t){var r={codecs:[],headerExtensions:[],fecMechanisms:[]},n=function(e,t){e=parseInt(e,10);for(var r=0;r=14393&&-1===e.indexOf("?transport=udp"):(r=!0,!0)})),delete e.url,e.urls=i?n[0]:n,!!n.length}}))}(r.iceServers||[],t),this._iceGatherers=[],r.iceCandidatePoolSize)for(var a=r.iceCandidatePoolSize;a>0;a--)this._iceGatherers.push(new e.RTCIceGatherer({iceServers:r.iceServers,gatherPolicy:r.iceTransportPolicy}));else r.iceCandidatePoolSize=0;this._config=r,this.transceivers=[],this._sdpSessionId=n.generateSessionId(),this._sdpSessionVersion=0,this._dtlsRole=void 0,this._isClosed=!1};Object.defineProperty(l.prototype,"localDescription",{configurable:!0,get:function(){return this._localDescription}}),Object.defineProperty(l.prototype,"remoteDescription",{configurable:!0,get:function(){return this._remoteDescription}}),l.prototype.onicecandidate=null,l.prototype.onaddstream=null,l.prototype.ontrack=null,l.prototype.onremovestream=null,l.prototype.onsignalingstatechange=null,l.prototype.oniceconnectionstatechange=null,l.prototype.onconnectionstatechange=null,l.prototype.onicegatheringstatechange=null,l.prototype.onnegotiationneeded=null,l.prototype.ondatachannel=null,l.prototype._dispatchEvent=function(e,t){this._isClosed||(this.dispatchEvent(t),"function"==typeof this["on"+e]&&this["on"+e](t))},l.prototype._emitGatheringStateChange=function(){var e=new Event("icegatheringstatechange");this._dispatchEvent("icegatheringstatechange",e)},l.prototype.getConfiguration=function(){return this._config},l.prototype.getLocalStreams=function(){return this.localStreams},l.prototype.getRemoteStreams=function(){return this.remoteStreams},l.prototype._createTransceiver=function(e,t){var r=this.transceivers.length>0,n={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:e,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,associatedRemoteMediaStreams:[],wantReceive:!0};if(this.usingBundle&&r)n.iceTransport=this.transceivers[0].iceTransport,n.dtlsTransport=this.transceivers[0].dtlsTransport;else{var i=this._createIceAndDtlsTransports();n.iceTransport=i.iceTransport,n.dtlsTransport=i.dtlsTransport}return t||this.transceivers.push(n),n},l.prototype.addTrack=function(t,r){if(this._isClosed)throw c("InvalidStateError","Attempted to call addTrack on a closed peerconnection.");var n;if(this.transceivers.find((function(e){return e.track===t})))throw c("InvalidAccessError","Track already exists.");for(var i=0;i=15025)e.getTracks().forEach((function(t){r.addTrack(t,e)}));else{var n=e.clone();e.getTracks().forEach((function(e,t){var r=n.getTracks()[t];e.addEventListener("enabled",(function(e){r.enabled=e.enabled}))})),n.getTracks().forEach((function(e){r.addTrack(e,n)}))}},l.prototype.removeTrack=function(t){if(this._isClosed)throw c("InvalidStateError","Attempted to call removeTrack on a closed peerconnection.");if(!(t instanceof e.RTCRtpSender))throw new TypeError("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.");var r=this.transceivers.find((function(e){return e.rtpSender===t}));if(!r)throw c("InvalidAccessError","Sender was not created by this connection.");var n=r.stream;r.rtpSender.stop(),r.rtpSender=null,r.track=null,r.stream=null,-1===this.transceivers.map((function(e){return e.stream})).indexOf(n)&&this.localStreams.indexOf(n)>-1&&this.localStreams.splice(this.localStreams.indexOf(n),1),this._maybeFireNegotiationNeeded()},l.prototype.removeStream=function(e){var t=this;e.getTracks().forEach((function(e){var r=t.getSenders().find((function(t){return t.track===e}));r&&t.removeTrack(r)}))},l.prototype.getSenders=function(){return this.transceivers.filter((function(e){return!!e.rtpSender})).map((function(e){return e.rtpSender}))},l.prototype.getReceivers=function(){return this.transceivers.filter((function(e){return!!e.rtpReceiver})).map((function(e){return e.rtpReceiver}))},l.prototype._createIceGatherer=function(t,r){var n=this;if(r&&t>0)return this.transceivers[0].iceGatherer;if(this._iceGatherers.length)return this._iceGatherers.shift();var i=new e.RTCIceGatherer({iceServers:this._config.iceServers,gatherPolicy:this._config.iceTransportPolicy});return Object.defineProperty(i,"state",{value:"new",writable:!0}),this.transceivers[t].bufferedCandidateEvents=[],this.transceivers[t].bufferCandidates=function(e){var r=!e.candidate||0===Object.keys(e.candidate).length;i.state=r?"completed":"gathering",null!==n.transceivers[t].bufferedCandidateEvents&&n.transceivers[t].bufferedCandidateEvents.push(e)},i.addEventListener("localcandidate",this.transceivers[t].bufferCandidates),i},l.prototype._gather=function(t,r){var i=this,o=this.transceivers[r].iceGatherer;if(!o.onlocalcandidate){var a=this.transceivers[r].bufferedCandidateEvents;this.transceivers[r].bufferedCandidateEvents=null,o.removeEventListener("localcandidate",this.transceivers[r].bufferCandidates),o.onlocalcandidate=function(e){if(!(i.usingBundle&&r>0)){var a=new Event("icecandidate");a.candidate={sdpMid:t,sdpMLineIndex:r};var s=e.candidate,c=!s||0===Object.keys(s).length;if(c)"new"!==o.state&&"gathering"!==o.state||(o.state="completed");else{"new"===o.state&&(o.state="gathering"),s.component=1,s.ufrag=o.getLocalParameters().usernameFragment;var d=n.writeCandidate(s);a.candidate=Object.assign(a.candidate,n.parseCandidate(d)),a.candidate.candidate=d,a.candidate.toJSON=function(){return{candidate:a.candidate.candidate,sdpMid:a.candidate.sdpMid,sdpMLineIndex:a.candidate.sdpMLineIndex,usernameFragment:a.candidate.usernameFragment}}}var l=n.getMediaSections(i._localDescription.sdp);l[a.candidate.sdpMLineIndex]+=c?"a=end-of-candidates\r\n":"a="+a.candidate.candidate+"\r\n",i._localDescription.sdp=n.getDescription(i._localDescription.sdp)+l.join("");var u=i.transceivers.every((function(e){return e.iceGatherer&&"completed"===e.iceGatherer.state}));"gathering"!==i.iceGatheringState&&(i.iceGatheringState="gathering",i._emitGatheringStateChange()),c||i._dispatchEvent("icecandidate",a),u&&(i._dispatchEvent("icecandidate",new Event("icecandidate")),i.iceGatheringState="complete",i._emitGatheringStateChange())}},e.setTimeout((function(){a.forEach((function(e){o.onlocalcandidate(e)}))}),0)}},l.prototype._createIceAndDtlsTransports=function(){var t=this,r=new e.RTCIceTransport(null);r.onicestatechange=function(){t._updateIceConnectionState(),t._updateConnectionState()};var n=new e.RTCDtlsTransport(r);return n.ondtlsstatechange=function(){t._updateConnectionState()},n.onerror=function(){Object.defineProperty(n,"state",{value:"failed",writable:!0}),t._updateConnectionState()},{iceTransport:r,dtlsTransport:n}},l.prototype._disposeIceAndDtlsTransports=function(e){var t=this.transceivers[e].iceGatherer;t&&(delete t.onlocalcandidate,delete this.transceivers[e].iceGatherer);var r=this.transceivers[e].iceTransport;r&&(delete r.onicestatechange,delete this.transceivers[e].iceTransport);var n=this.transceivers[e].dtlsTransport;n&&(delete n.ondtlsstatechange,delete n.onerror,delete this.transceivers[e].dtlsTransport)},l.prototype._transceive=function(e,r,i){var a=o(e.localCapabilities,e.remoteCapabilities);r&&e.rtpSender&&(a.encodings=e.sendEncodingParameters,a.rtcp={cname:n.localCName,compound:e.rtcpParameters.compound},e.recvEncodingParameters.length&&(a.rtcp.ssrc=e.recvEncodingParameters[0].ssrc),e.rtpSender.send(a)),i&&e.rtpReceiver&&a.codecs.length>0&&("video"===e.kind&&e.recvEncodingParameters&&t<15019&&e.recvEncodingParameters.forEach((function(e){delete e.rtx})),e.recvEncodingParameters.length?a.encodings=e.recvEncodingParameters:a.encodings=[{}],a.rtcp={compound:e.rtcpParameters.compound},e.rtcpParameters.cname&&(a.rtcp.cname=e.rtcpParameters.cname),e.sendEncodingParameters.length&&(a.rtcp.ssrc=e.sendEncodingParameters[0].ssrc),e.rtpReceiver.receive(a))},l.prototype.setLocalDescription=function(e){var t,r,i=this;if(-1===["offer","answer"].indexOf(e.type))return Promise.reject(c("TypeError",'Unsupported type "'+e.type+'"'));if(!a("setLocalDescription",e.type,i.signalingState)||i._isClosed)return Promise.reject(c("InvalidStateError","Can not set local "+e.type+" in state "+i.signalingState));if("offer"===e.type)t=n.splitSections(e.sdp),r=t.shift(),t.forEach((function(e,t){var r=n.parseRtpParameters(e);i.transceivers[t].localCapabilities=r})),i.transceivers.forEach((function(e,t){i._gather(e.mid,t)}));else if("answer"===e.type){t=n.splitSections(i._remoteDescription.sdp),r=t.shift();var s=n.matchPrefix(r,"a=ice-lite").length>0;t.forEach((function(e,t){var a=i.transceivers[t],c=a.iceGatherer,d=a.iceTransport,l=a.dtlsTransport,u=a.localCapabilities,p=a.remoteCapabilities;if(!(n.isRejected(e)&&0===n.matchPrefix(e,"a=bundle-only").length||a.rejected)){var f=n.getIceParameters(e,r),v=n.getDtlsParameters(e,r);s&&(v.role="server"),i.usingBundle&&0!==t||(i._gather(a.mid,t),"new"===d.state&&d.start(c,f,s?"controlling":"controlled"),"new"===l.state&&l.start(v));var m=o(u,p);i._transceive(a,m.codecs.length>0,!1)}}))}return i._localDescription={type:e.type,sdp:e.sdp},"offer"===e.type?i._updateSignalingState("have-local-offer"):i._updateSignalingState("stable"),Promise.resolve()},l.prototype.setRemoteDescription=function(i){var l=this;if(-1===["offer","answer"].indexOf(i.type))return Promise.reject(c("TypeError",'Unsupported type "'+i.type+'"'));if(!a("setRemoteDescription",i.type,l.signalingState)||l._isClosed)return Promise.reject(c("InvalidStateError","Can not set remote "+i.type+" in state "+l.signalingState));var u={};l.remoteStreams.forEach((function(e){u[e.id]=e}));var p=[],f=n.splitSections(i.sdp),v=f.shift(),m=n.matchPrefix(v,"a=ice-lite").length>0,h=n.matchPrefix(v,"a=group:BUNDLE ").length>0;l.usingBundle=h;var g=n.matchPrefix(v,"a=ice-options:")[0];return l.canTrickleIceCandidates=!!g&&g.substr(14).split(" ").indexOf("trickle")>=0,f.forEach((function(a,c){var d=n.splitLines(a),f=n.getKind(a),g=n.isRejected(a)&&0===n.matchPrefix(a,"a=bundle-only").length,y=d[0].substr(2).split(" ")[2],S=n.getDirection(a,v),b=n.parseMsid(a),T=n.getMid(a)||n.generateIdentifier();if(g||"application"===f&&("DTLS/SCTP"===y||"UDP/DTLS/SCTP"===y))l.transceivers[c]={mid:T,kind:f,protocol:y,rejected:!0};else{var C,w,k,R,P,E,D,_,I;!g&&l.transceivers[c]&&l.transceivers[c].rejected&&(l.transceivers[c]=l._createTransceiver(f,!0));var x,M,O=n.parseRtpParameters(a);g||(x=n.getIceParameters(a,v),(M=n.getDtlsParameters(a,v)).role="client"),D=n.parseRtpEncodingParameters(a);var A=n.parseRtcpParameters(a),j=n.matchPrefix(a,"a=end-of-candidates",v).length>0,L=n.matchPrefix(a,"a=candidate:").map((function(e){return n.parseCandidate(e)})).filter((function(e){return 1===e.component}));if(("offer"===i.type||"answer"===i.type)&&!g&&h&&c>0&&l.transceivers[c]&&(l._disposeIceAndDtlsTransports(c),l.transceivers[c].iceGatherer=l.transceivers[0].iceGatherer,l.transceivers[c].iceTransport=l.transceivers[0].iceTransport,l.transceivers[c].dtlsTransport=l.transceivers[0].dtlsTransport,l.transceivers[c].rtpSender&&l.transceivers[c].rtpSender.setTransport(l.transceivers[0].dtlsTransport),l.transceivers[c].rtpReceiver&&l.transceivers[c].rtpReceiver.setTransport(l.transceivers[0].dtlsTransport)),"offer"!==i.type||g)"answer"!==i.type||g||(w=(C=l.transceivers[c]).iceGatherer,k=C.iceTransport,R=C.dtlsTransport,P=C.rtpReceiver,E=C.sendEncodingParameters,_=C.localCapabilities,l.transceivers[c].recvEncodingParameters=D,l.transceivers[c].remoteCapabilities=O,l.transceivers[c].rtcpParameters=A,L.length&&"new"===k.state&&(!m&&!j||h&&0!==c?L.forEach((function(e){s(C.iceTransport,e)})):k.setRemoteCandidates(L)),h&&0!==c||("new"===k.state&&k.start(w,x,"controlling"),"new"===R.state&&R.start(M)),!o(C.localCapabilities,C.remoteCapabilities).codecs.filter((function(e){return"rtx"===e.name.toLowerCase()})).length&&C.sendEncodingParameters[0].rtx&&delete C.sendEncodingParameters[0].rtx,l._transceive(C,"sendrecv"===S||"recvonly"===S,"sendrecv"===S||"sendonly"===S),!P||"sendrecv"!==S&&"sendonly"!==S?delete C.rtpReceiver:(I=P.track,b?(u[b.stream]||(u[b.stream]=new e.MediaStream),r(I,u[b.stream]),p.push([I,P,u[b.stream]])):(u.default||(u.default=new e.MediaStream),r(I,u.default),p.push([I,P,u.default]))));else{(C=l.transceivers[c]||l._createTransceiver(f)).mid=T,C.iceGatherer||(C.iceGatherer=l._createIceGatherer(c,h)),L.length&&"new"===C.iceTransport.state&&(!j||h&&0!==c?L.forEach((function(e){s(C.iceTransport,e)})):C.iceTransport.setRemoteCandidates(L)),_=e.RTCRtpReceiver.getCapabilities(f),t<15019&&(_.codecs=_.codecs.filter((function(e){return"rtx"!==e.name}))),E=C.sendEncodingParameters||[{ssrc:1001*(2*c+2)}];var N,V=!1;"sendrecv"===S||"sendonly"===S?(V=!C.rtpReceiver,P=C.rtpReceiver||new e.RTCRtpReceiver(C.dtlsTransport,f),V&&(I=P.track,b&&"-"===b.stream||(b?(u[b.stream]||(u[b.stream]=new e.MediaStream,Object.defineProperty(u[b.stream],"id",{get:function(){return b.stream}})),Object.defineProperty(I,"id",{get:function(){return b.track}}),N=u[b.stream]):(u.default||(u.default=new e.MediaStream),N=u.default)),N&&(r(I,N),C.associatedRemoteMediaStreams.push(N)),p.push([I,P,N]))):C.rtpReceiver&&C.rtpReceiver.track&&(C.associatedRemoteMediaStreams.forEach((function(t){var r=t.getTracks().find((function(e){return e.id===C.rtpReceiver.track.id}));r&&function(t,r){r.removeTrack(t),r.dispatchEvent(new e.MediaStreamTrackEvent("removetrack",{track:t}))}(r,t)})),C.associatedRemoteMediaStreams=[]),C.localCapabilities=_,C.remoteCapabilities=O,C.rtpReceiver=P,C.rtcpParameters=A,C.sendEncodingParameters=E,C.recvEncodingParameters=D,l._transceive(l.transceivers[c],!1,V)}}})),void 0===l._dtlsRole&&(l._dtlsRole="offer"===i.type?"active":"passive"),l._remoteDescription={type:i.type,sdp:i.sdp},"offer"===i.type?l._updateSignalingState("have-remote-offer"):l._updateSignalingState("stable"),Object.keys(u).forEach((function(t){var r=u[t];if(r.getTracks().length){if(-1===l.remoteStreams.indexOf(r)){l.remoteStreams.push(r);var n=new Event("addstream");n.stream=r,e.setTimeout((function(){l._dispatchEvent("addstream",n)}))}p.forEach((function(e){var t=e[0],n=e[1];r.id===e[2].id&&d(l,t,n,[r])}))}})),p.forEach((function(e){e[2]||d(l,e[0],e[1],[])})),e.setTimeout((function(){l&&l.transceivers&&l.transceivers.forEach((function(e){e.iceTransport&&"new"===e.iceTransport.state&&e.iceTransport.getRemoteCandidates().length>0&&e.iceTransport.addRemoteCandidate({})}))}),4e3),Promise.resolve()},l.prototype.close=function(){this.transceivers.forEach((function(e){e.iceTransport&&e.iceTransport.stop(),e.dtlsTransport&&e.dtlsTransport.stop(),e.rtpSender&&e.rtpSender.stop(),e.rtpReceiver&&e.rtpReceiver.stop()})),this._isClosed=!0,this._updateSignalingState("closed")},l.prototype._updateSignalingState=function(e){this.signalingState=e;var t=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",t)},l.prototype._maybeFireNegotiationNeeded=function(){var t=this;"stable"===this.signalingState&&!0!==this.needNegotiation&&(this.needNegotiation=!0,e.setTimeout((function(){if(t.needNegotiation){t.needNegotiation=!1;var e=new Event("negotiationneeded");t._dispatchEvent("negotiationneeded",e)}}),0))},l.prototype._updateIceConnectionState=function(){var e,t={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach((function(e){e.iceTransport&&!e.rejected&&t[e.iceTransport.state]++})),e="new",t.failed>0?e="failed":t.checking>0?e="checking":t.disconnected>0?e="disconnected":t.new>0?e="new":t.connected>0?e="connected":t.completed>0&&(e="completed"),e!==this.iceConnectionState){this.iceConnectionState=e;var r=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",r)}},l.prototype._updateConnectionState=function(){var e,t={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach((function(e){e.iceTransport&&e.dtlsTransport&&!e.rejected&&(t[e.iceTransport.state]++,t[e.dtlsTransport.state]++)})),t.connected+=t.completed,e="new",t.failed>0?e="failed":t.connecting>0?e="connecting":t.disconnected>0?e="disconnected":t.new>0?e="new":t.connected>0&&(e="connected"),e!==this.connectionState){this.connectionState=e;var r=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",r)}},l.prototype.createOffer=function(){var r=this;if(r._isClosed)return Promise.reject(c("InvalidStateError","Can not call createOffer after close"));var o=r.transceivers.filter((function(e){return"audio"===e.kind})).length,a=r.transceivers.filter((function(e){return"video"===e.kind})).length,s=arguments[0];if(s){if(s.mandatory||s.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==s.offerToReceiveAudio&&(o=!0===s.offerToReceiveAudio?1:!1===s.offerToReceiveAudio?0:s.offerToReceiveAudio),void 0!==s.offerToReceiveVideo&&(a=!0===s.offerToReceiveVideo?1:!1===s.offerToReceiveVideo?0:s.offerToReceiveVideo)}for(r.transceivers.forEach((function(e){"audio"===e.kind?--o<0&&(e.wantReceive=!1):"video"===e.kind&&--a<0&&(e.wantReceive=!1)}));o>0||a>0;)o>0&&(r._createTransceiver("audio"),o--),a>0&&(r._createTransceiver("video"),a--);var d=n.writeSessionBoilerplate(r._sdpSessionId,r._sdpSessionVersion++);r.transceivers.forEach((function(i,o){var a=i.track,s=i.kind,c=i.mid||n.generateIdentifier();i.mid=c,i.iceGatherer||(i.iceGatherer=r._createIceGatherer(o,r.usingBundle));var d=e.RTCRtpSender.getCapabilities(s);t<15019&&(d.codecs=d.codecs.filter((function(e){return"rtx"!==e.name}))),d.codecs.forEach((function(e){"H264"===e.name&&void 0===e.parameters["level-asymmetry-allowed"]&&(e.parameters["level-asymmetry-allowed"]="1"),i.remoteCapabilities&&i.remoteCapabilities.codecs&&i.remoteCapabilities.codecs.forEach((function(t){e.name.toLowerCase()===t.name.toLowerCase()&&e.clockRate===t.clockRate&&(e.preferredPayloadType=t.payloadType)}))})),d.headerExtensions.forEach((function(e){(i.remoteCapabilities&&i.remoteCapabilities.headerExtensions||[]).forEach((function(t){e.uri===t.uri&&(e.id=t.id)}))}));var l=i.sendEncodingParameters||[{ssrc:1001*(2*o+1)}];a&&t>=15019&&"video"===s&&!l[0].rtx&&(l[0].rtx={ssrc:l[0].ssrc+1}),i.wantReceive&&(i.rtpReceiver=new e.RTCRtpReceiver(i.dtlsTransport,s)),i.localCapabilities=d,i.sendEncodingParameters=l})),"max-compat"!==r._config.bundlePolicy&&(d+="a=group:BUNDLE "+r.transceivers.map((function(e){return e.mid})).join(" ")+"\r\n"),d+="a=ice-options:trickle\r\n",r.transceivers.forEach((function(e,t){d+=i(e,e.localCapabilities,"offer",e.stream,r._dtlsRole),d+="a=rtcp-rsize\r\n",!e.iceGatherer||"new"===r.iceGatheringState||0!==t&&r.usingBundle||(e.iceGatherer.getLocalCandidates().forEach((function(e){e.component=1,d+="a="+n.writeCandidate(e)+"\r\n"})),"completed"===e.iceGatherer.state&&(d+="a=end-of-candidates\r\n"))}));var l=new e.RTCSessionDescription({type:"offer",sdp:d});return Promise.resolve(l)},l.prototype.createAnswer=function(){var r=this;if(r._isClosed)return Promise.reject(c("InvalidStateError","Can not call createAnswer after close"));if("have-remote-offer"!==r.signalingState&&"have-local-pranswer"!==r.signalingState)return Promise.reject(c("InvalidStateError","Can not call createAnswer in signalingState "+r.signalingState));var a=n.writeSessionBoilerplate(r._sdpSessionId,r._sdpSessionVersion++);r.usingBundle&&(a+="a=group:BUNDLE "+r.transceivers.map((function(e){return e.mid})).join(" ")+"\r\n"),a+="a=ice-options:trickle\r\n";var s=n.getMediaSections(r._remoteDescription.sdp).length;r.transceivers.forEach((function(e,n){if(!(n+1>s)){if(e.rejected)return"application"===e.kind?"DTLS/SCTP"===e.protocol?a+="m=application 0 DTLS/SCTP 5000\r\n":a+="m=application 0 "+e.protocol+" webrtc-datachannel\r\n":"audio"===e.kind?a+="m=audio 0 UDP/TLS/RTP/SAVPF 0\r\na=rtpmap:0 PCMU/8000\r\n":"video"===e.kind&&(a+="m=video 0 UDP/TLS/RTP/SAVPF 120\r\na=rtpmap:120 VP8/90000\r\n"),void(a+="c=IN IP4 0.0.0.0\r\na=inactive\r\na=mid:"+e.mid+"\r\n");var c;e.stream&&("audio"===e.kind?c=e.stream.getAudioTracks()[0]:"video"===e.kind&&(c=e.stream.getVideoTracks()[0]),c&&t>=15019&&"video"===e.kind&&!e.sendEncodingParameters[0].rtx&&(e.sendEncodingParameters[0].rtx={ssrc:e.sendEncodingParameters[0].ssrc+1}));var d=o(e.localCapabilities,e.remoteCapabilities);!d.codecs.filter((function(e){return"rtx"===e.name.toLowerCase()})).length&&e.sendEncodingParameters[0].rtx&&delete e.sendEncodingParameters[0].rtx,a+=i(e,d,"answer",e.stream,r._dtlsRole),e.rtcpParameters&&e.rtcpParameters.reducedSize&&(a+="a=rtcp-rsize\r\n")}}));var d=new e.RTCSessionDescription({type:"answer",sdp:a});return Promise.resolve(d)},l.prototype.addIceCandidate=function(e){var t,r=this;return e&&void 0===e.sdpMLineIndex&&!e.sdpMid?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise((function(i,o){if(!r._remoteDescription)return o(c("InvalidStateError","Can not add ICE candidate without a remote description"));if(e&&""!==e.candidate){var a=e.sdpMLineIndex;if(e.sdpMid)for(var d=0;d0?n.parseCandidate(e.candidate):{};if("tcp"===u.protocol&&(0===u.port||9===u.port))return i();if(u.component&&1!==u.component)return i();if((0===a||a>0&&l.iceTransport!==r.transceivers[0].iceTransport)&&!s(l.iceTransport,u))return o(c("OperationError","Can not add ICE candidate"));var p=e.candidate.trim();0===p.indexOf("a=")&&(p=p.substr(2)),(t=n.getMediaSections(r._remoteDescription.sdp))[a]+="a="+(u.type?p:"end-of-candidates")+"\r\n",r._remoteDescription.sdp=n.getDescription(r._remoteDescription.sdp)+t.join("")}else for(var f=0;f0?t[0].split("/")[1]:"sendrecv",uri:t[1]}},n.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+"\r\n"},n.parseFmtp=function(e){for(var t,r={},n=e.substr(e.indexOf(" ")+1).split(";"),i=0;i-1?(r.attribute=e.substr(t+1,n-t-1),r.value=e.substr(n+1)):r.attribute=e.substr(t+1),r},n.parseSsrcGroup=function(e){var t=e.substr(13).split(" ");return{semantics:t.shift(),ssrcs:t.map((function(e){return parseInt(e,10)}))}},n.getMid=function(e){var t=n.matchPrefix(e,"a=mid:")[0];if(t)return t.substr(6)},n.parseFingerprint=function(e){var t=e.substr(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1]}},n.getDtlsParameters=function(e,t){return{role:"auto",fingerprints:n.matchPrefix(e+t,"a=fingerprint:").map(n.parseFingerprint)}},n.writeDtlsParameters=function(e,t){var r="a=setup:"+t+"\r\n";return e.fingerprints.forEach((function(e){r+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"})),r},n.getIceParameters=function(e,t){var r=n.splitLines(e);return{usernameFragment:(r=r.concat(n.splitLines(t))).filter((function(e){return 0===e.indexOf("a=ice-ufrag:")}))[0].substr(12),password:r.filter((function(e){return 0===e.indexOf("a=ice-pwd:")}))[0].substr(10)}},n.writeIceParameters=function(e){return"a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n"},n.parseRtpParameters=function(e){for(var t={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},r=n.splitLines(e)[0].split(" "),i=3;i0?"9":"0",r+=" UDP/TLS/RTP/SAVPF ",r+=t.codecs.map((function(e){return void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType})).join(" ")+"\r\n",r+="c=IN IP4 0.0.0.0\r\n",r+="a=rtcp:9 IN IP4 0.0.0.0\r\n",t.codecs.forEach((function(e){r+=n.writeRtpMap(e),r+=n.writeFmtp(e),r+=n.writeRtcpFb(e)}));var i=0;return t.codecs.forEach((function(e){e.maxptime>i&&(i=e.maxptime)})),i>0&&(r+="a=maxptime:"+i+"\r\n"),r+="a=rtcp-mux\r\n",t.headerExtensions&&t.headerExtensions.forEach((function(e){r+=n.writeExtmap(e)})),r},n.parseRtpEncodingParameters=function(e){var t,r=[],i=n.parseRtpParameters(e),o=-1!==i.fecMechanisms.indexOf("RED"),a=-1!==i.fecMechanisms.indexOf("ULPFEC"),s=n.matchPrefix(e,"a=ssrc:").map((function(e){return n.parseSsrcMedia(e)})).filter((function(e){return"cname"===e.attribute})),c=s.length>0&&s[0].ssrc,d=n.matchPrefix(e,"a=ssrc-group:FID").map((function(e){return e.substr(17).split(" ").map((function(e){return parseInt(e,10)}))}));d.length>0&&d[0].length>1&&d[0][0]===c&&(t=d[0][1]),i.codecs.forEach((function(e){if("RTX"===e.name.toUpperCase()&&e.parameters.apt){var n={ssrc:c,codecPayloadType:parseInt(e.parameters.apt,10)};c&&t&&(n.rtx={ssrc:t}),r.push(n),o&&((n=JSON.parse(JSON.stringify(n))).fec={ssrc:c,mechanism:a?"red+ulpfec":"red"},r.push(n))}})),0===r.length&&c&&r.push({ssrc:c});var l=n.matchPrefix(e,"b=");return l.length&&(l=0===l[0].indexOf("b=TIAS:")?parseInt(l[0].substr(7),10):0===l[0].indexOf("b=AS:")?1e3*parseInt(l[0].substr(5),10)*.95-16e3:void 0,r.forEach((function(e){e.maxBitrate=l}))),r},n.parseRtcpParameters=function(e){var t={},r=n.matchPrefix(e,"a=ssrc:").map((function(e){return n.parseSsrcMedia(e)})).filter((function(e){return"cname"===e.attribute}))[0];r&&(t.cname=r.value,t.ssrc=r.ssrc);var i=n.matchPrefix(e,"a=rtcp-rsize");t.reducedSize=i.length>0,t.compound=0===i.length;var o=n.matchPrefix(e,"a=rtcp-mux");return t.mux=o.length>0,t},n.parseMsid=function(e){var t,r=n.matchPrefix(e,"a=msid:");if(1===r.length)return{stream:(t=r[0].substr(7).split(" "))[0],track:t[1]};var i=n.matchPrefix(e,"a=ssrc:").map((function(e){return n.parseSsrcMedia(e)})).filter((function(e){return"msid"===e.attribute}));return i.length>0?{stream:(t=i[0].value.split(" "))[0],track:t[1]}:void 0},n.parseSctpDescription=function(e){var t,r=n.parseMLine(e),i=n.matchPrefix(e,"a=max-message-size:");i.length>0&&(t=parseInt(i[0].substr(19),10)),isNaN(t)&&(t=65536);var o=n.matchPrefix(e,"a=sctp-port:");if(o.length>0)return{port:parseInt(o[0].substr(12),10),protocol:r.fmt,maxMessageSize:t};if(n.matchPrefix(e,"a=sctpmap:").length>0){var a=n.matchPrefix(e,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(a[0],10),protocol:a[1],maxMessageSize:t}}},n.writeSctpDescription=function(e,t){var r=[];return r="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&r.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),r.join("")},n.generateSessionId=function(){return Math.random().toString().substr(2,21)},n.writeSessionBoilerplate=function(e,t,r){var i=void 0!==t?t:2;return"v=0\r\no="+(r||"thisisadapterortc")+" "+(e||n.generateSessionId())+" "+i+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},n.writeMediaSection=function(e,t,r,i){var o=n.writeRtpDescription(e.kind,t);if(o+=n.writeIceParameters(e.iceGatherer.getLocalParameters()),o+=n.writeDtlsParameters(e.dtlsTransport.getLocalParameters(),"offer"===r?"actpass":"active"),o+="a=mid:"+e.mid+"\r\n",e.direction?o+="a="+e.direction+"\r\n":e.rtpSender&&e.rtpReceiver?o+="a=sendrecv\r\n":e.rtpSender?o+="a=sendonly\r\n":e.rtpReceiver?o+="a=recvonly\r\n":o+="a=inactive\r\n",e.rtpSender){var a="msid:"+i.id+" "+e.rtpSender.track.id+"\r\n";o+="a="+a,o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" "+a,e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" "+a,o+="a=ssrc-group:FID "+e.sendEncodingParameters[0].ssrc+" "+e.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" cname:"+n.localCName+"\r\n",e.rtpSender&&e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" cname:"+n.localCName+"\r\n"),o},n.getDirection=function(e,t){for(var r=n.splitLines(e),i=0;i=26&&e<=t||a$1.extension.isInstalled()}return!0};var o$1={extensionId:"hapfgfdkleiggjjpfpenajgdnfckjpaj",isInstalled:function(){return null!==document.querySelector("#janus-extension-installed")},getScreen:function(e){var t=window.setTimeout((function(){var t=new Error("NavigatorUserMediaError");return t.name='The required Chrome extension is not installed: click here to install it. (NOTE: this will need you to refresh the page)',e(t)}),1e3);this.cache[t]=e,window.postMessage({type:"janusGetScreen",id:t},"*")},init:function(){var e={};this.cache=e,window.addEventListener("message",(function(t){if(t.origin==window.location.origin)if("janusGotScreen"==t.data.type&&e[t.data.id]){var r=e[t.data.id];if(delete e[t.data.id],""===t.data.sourceId){var n=new Error("NavigatorUserMediaError");n.name="You cancelled the request for permission, giving up...",r(n)}else r(null,t.data.sourceId)}else"janusGetScreenPending"==t.data.type&&window.clearTimeout(t.data.id)}))}};function a$1(e,t){if(void 0===a$1.initDone)return e.error("Library not initialized"),{};if(!a$1.isWebrtcSupported())return e.error("WebRTC not supported by this browser"),{};if(a$1.log("Library initialized: "+a$1.initDone),(e=e||{}).success="function"==typeof e.success?e.success:a$1.noop,e.error="function"==typeof e.error?e.error:a$1.noop,e.destroyed="function"==typeof e.destroyed?e.destroyed:a$1.noop,null===e.server||void 0===e.server)return e.error("Invalid server url"),{};var r=!1,n=null,o={},s=null,c=null,d=0,l=e.server;a$1.isArray(l)?(a$1.log("Multiple servers provided ("+l.length+"), will use the first that works"),l=null,c=e.server,a$1.debug(c)):0===l.indexOf("ws")?(r=!0,a$1.log("Using WebSockets to contact Janus: "+l)):(r=!1,a$1.log("Using REST API to contact Janus: "+l));var u=e.iceServers;null==u&&(u=[{urls:"stun:stun.l.google.com:19302"}]);var p=e.iceTransportPolicy,f=e.bundlePolicy,v=e.ipv6;null==v&&(v=!1);var m=!1;void 0!==e.withCredentials&&null!==e.withCredentials&&(m=!0===e.withCredentials);var h=10;void 0!==e.max_poll_events&&null!==e.max_poll_events&&(h=e.max_poll_events),h<1&&(h=1);var g=null;void 0!==e.token&&null!==e.token&&(g=e.token);var y=null;void 0!==e.apisecret&&null!==e.apisecret&&(y=e.apisecret),this.destroyOnUnload=!0,void 0!==e.destroyOnUnload&&null!==e.destroyOnUnload&&(this.destroyOnUnload=!0===e.destroyOnUnload);var S=25e3;void 0!==e.keepAlivePeriod&&null!==e.keepAlivePeriod&&(S=e.keepAlivePeriod),isNaN(S)&&(S=25e3);var b=6e4;function T(e){var t={high:9e5,medium:3e5,low:1e5};return null!=e&&(e.high&&(t.high=e.high),e.medium&&(t.medium=e.medium),e.low&&(t.low=e.low)),t}void 0!==e.longPollTimeout&&null!==e.longPollTimeout&&(b=e.longPollTimeout),isNaN(b)&&(b=6e4);var C=!1,w=null,k={},R=this,P=0,E={};function D(){if(null!=w)if(a$1.debug("Long poll..."),C){var t=l+"/"+w+"?rid="+(new Date).getTime();null!=h&&(t=t+"&maxev="+h),null!=g&&(t=t+"&token="+encodeURIComponent(g)),null!=y&&(t=t+"&apisecret="+encodeURIComponent(y)),a$1.httpAPICall(t,{verb:"GET",withCredentials:m,success:_,timeout:b,error:function(t,r){if(a$1.error(t+":",r),++P>3)return C=!1,void e.error("Lost connection to the server (is it down?)");D()}})}else a$1.warn("Is the server down? (connected=false)")}function _(e,t){if(P=0,r||null==w||!0===t||D(),r||!a$1.isArray(e))if("keepalive"!==e.rtcgw)if("ack"!==e.rtcgw)if("success"!==e.rtcgw)if("trickle"===e.rtcgw){if(null==(d=e.sender))return void a$1.warn("Missing sender...");if(null==(u=k[d]))return void a$1.debug("This handle is not attached to this session");var i=e.candidate;a$1.debug("Got a trickled candidate on session "+w),a$1.debug(i);var o=u.webrtcStuff;o.pc&&o.remoteSdp?(a$1.debug("Adding remote candidate:",i),i&&!0!==i.completed?o.pc.addIceCandidate(i):o.pc.addIceCandidate(a$1.endOfCandidates)):(a$1.debug("We didn't do setRemoteDescription (trickle got here before the offer?), caching candidate"),o.candidates||(o.candidates=[]),o.candidates.push(i),a$1.debug(o.candidates))}else{if("webrtcup"===e.rtcgw)return a$1.debug("Got a webrtcup event on session "+w),a$1.debug(e),null==(d=e.sender)?void a$1.warn("Missing sender..."):null==(u=k[d])?void a$1.debug("This handle is not attached to this session"):void u.webrtcState(!0);if("hangup"===e.rtcgw){if(a$1.debug("Got a hangup event on session "+w),a$1.debug(e),null==(d=e.sender))return void a$1.warn("Missing sender...");if(null==(u=k[d]))return void a$1.debug("This handle is not attached to this session");u.webrtcState(!1,e.reason),u.hangup()}else if("detached"===e.rtcgw){if(a$1.debug("Got a detached event on session "+w),a$1.debug(e),null==(d=e.sender))return void a$1.warn("Missing sender...");if(null==(u=k[d]))return;u.detached=!0,u.ondetached(),u.detach()}else if("media"===e.rtcgw){if(a$1.debug("Got a media event on session "+w),a$1.debug(e),null==(d=e.sender))return void a$1.warn("Missing sender...");if(null==(u=k[d]))return void a$1.debug("This handle is not attached to this session");u.mediaState(e.type,e.receiving)}else if("slowlink"===e.rtcgw){if(a$1.debug("Got a slowlink event on session "+w),a$1.debug(e),null==(d=e.sender))return void a$1.warn("Missing sender...");if(null==(u=k[d]))return void a$1.debug("This handle is not attached to this session");u.slowLink(e.uplink,e.lost)}else{var s,c;if("error"===e.rtcgw)return a$1.error("Ooops: "+e.error.code+" "+e.error.reason),a$1.debug(e),void(null!=(s=e.transaction)&&(null!=(c=E[s])&&c(e),delete E[s]));if("event"===e.rtcgw){var d;if(a$1.debug("Got a plugin event on session "+w),a$1.debug(e),null==(d=e.sender))return void a$1.warn("Missing sender...");var l=e.plugindata;if(null==l)return void a$1.warn("Missing plugindata...");a$1.debug(" -- Event is coming from "+d+" ("+l.plugin+")");var u,p=l.data;if(a$1.debug(p),null==(u=k[d]))return void a$1.warn("This handle is not attached to this session");var f=e.jsep;null!=f&&(a$1.debug("Handling SDP as well..."),a$1.debug(f));var v=u.onmessage;null!=v?(a$1.debug("Notifying application..."),v(p,f)):a$1.debug("No provided notification callback")}else{if("timeout"===e.rtcgw)return a$1.error("Timeout on session "+w),a$1.debug(e),void(r&&n.close(3504,"Gateway timeout"));a$1.warn("Unknown message/event '"+e.rtcgw+"' on session "+w),a$1.debug(e)}}}else a$1.debug("Got a success on session "+w),null!=(s=e.transaction)&&(null!=(c=E[s])&&c(e),delete E[s]);else null!=(s=e.transaction)&&(null!=(c=E[s])&&c(e),delete E[s]);else a$1.vdebug("Got a keepalive on session "+w);else for(var m=0;m data channel: "+r),"open"===r){if(o.dataChannel[t].pending&&o.dataChannel[t].pending.length>0){for(var n in a$1.log("Sending pending messages on <"+t+">:",o.dataChannel[t].pending.length),o.dataChannel[t].pending){var s=o.dataChannel[t].pending[n];a$1.log("Sending string on data channel <"+t+">: "+s),o.dataChannel[t].send(s)}o.dataChannel[t].pending=[]}i.ondataopen(t)}};o.dataChannel[t]=r||o.pc.createDataChannel(t,{ordered:!1}),o.dataChannel[t].onmessage=function(e){a$1.log("Received message on data channel:",e);var t=e.target.label;i.ondata(e.data,t)},o.dataChannel[t].onopen=s,o.dataChannel[t].onclose=s,o.dataChannel[t].onerror=function(e){a$1.error("Got error on data channel:",e)},o.dataChannel[t].pending=[],n&&o.dataChannel[t].pending.push(n)}else a$1.warn("Invalid handle")}function j(e,t){(t=t||{}).success="function"==typeof t.success?t.success:a$1.noop,t.error="function"==typeof t.error?t.error:a$1.noop;var r=k[e];if(null==r||null===r.webrtcStuff||void 0===r.webrtcStuff)return a$1.warn("Invalid handle"),void t.error("Invalid handle");var n=r.webrtcStuff,i=t.text;if(null==i)return a$1.warn("Invalid text"),void t.error("Invalid text");var o=t.label?t.label:a$1.dataChanDefaultLabel;return n.dataChannel[o]?"open"!==n.dataChannel[o].readyState?(n.dataChannel[o].pending.push(i),void t.success()):(a$1.log("Sending string on data channel <"+o+">: "+i),n.dataChannel[o].send(i),void t.success()):(A(e,o,!1,i),void t.success())}function L(e,t){(t=t||{}).success="function"==typeof t.success?t.success:a$1.noop,t.error="function"==typeof t.error?t.error:a$1.noop;var r=k[e];if(null==r||null===r.webrtcStuff||void 0===r.webrtcStuff)return a$1.warn("Invalid handle"),void t.error("Invalid handle");var n=r.webrtcStuff;if(null===n.dtmfSender||void 0===n.dtmfSender){if(void 0!==n.pc&&null!==n.pc){var i=n.pc.getSenders().find((function(e){return e.track&&"audio"===e.track.kind}));if(!i)return a$1.warn("Invalid DTMF configuration (no audio track)"),void t.error("Invalid DTMF configuration (no audio track)");n.dtmfSender=i.dtmf,n.dtmfSender&&(a$1.log("Created DTMF Sender"),n.dtmfSender.ontonechange=function(e){a$1.debug("Sent DTMF tone: "+e.tone)})}if(null===n.dtmfSender||void 0===n.dtmfSender)return a$1.warn("Invalid DTMF configuration"),void t.error("Invalid DTMF configuration")}var o=t.dtmf;if(null==o)return a$1.warn("Invalid DTMF parameters"),void t.error("Invalid DTMF parameters");var s=o.tones;if(null==s)return a$1.warn("Invalid DTMF string"),void t.error("Invalid DTMF string");var c=o.duration;null==c&&(c=500);var d=o.gap;null==d&&(d=50),a$1.debug("Sending DTMF string "+s+" (duration "+c+"ms, gap "+d+"ms)"),n.dtmfSender.insertDTMF(s,c,d),t.success()}function N(e,t){(t=t||{}).success="function"==typeof t.success?t.success:a$1.noop,t.error="function"==typeof t.error?t.error:a$1.noop;var i=!0;void 0!==t.asyncRequest&&null!==t.asyncRequest&&(i=!0===t.asyncRequest);var o=!0;void 0!==t.noRequest&&null!==t.noRequest&&(o=!0===t.noRequest),a$1.log("Destroying handle "+e+" (async="+i+")"),H(e);var s=k[e];if(null==s||s.detached)return delete k[e],void t.success();if(o)return delete k[e],void t.success();if(!C)return a$1.warn("Is the server down? (connected=false)"),void t.error("Is the server down? (connected=false)");var c={rtcgw:"detach",transaction:a$1.randomString(12)};if(null!==s.token&&void 0!==s.token&&(c.token=s.token),null!=y&&(c.apisecret=y),r)return c.session_id=w,c.handle_id=e,n.send(JSON.stringify(c)),delete k[e],void t.success();a$1.httpAPICall(l+"/"+w+"/"+e,{verb:"POST",async:i,withCredentials:m,body:c,success:function(r){a$1.log("Destroyed handle:"),a$1.debug(r),"success"!==r.rtcgw&&a$1.error("Ooops: "+r.error.code+" "+r.error.reason),delete k[e],t.success()},error:function(r,n){a$1.error(r+":",n),delete k[e],t.success()}})}function V(e,t,r,n,i){return G.apply(this,arguments)}function G(){var e;return e=function*(e,t,r,n,i){var o=k[e];if(null==o||null===o.webrtcStuff||void 0===o.webrtcStuff)return a$1.warn("Invalid handle"),void n.error("Invalid handle");var s=o.webrtcStuff;a$1.debug("streamsDone:",i),i&&(a$1.debug(" -- Audio tracks:",i.getAudioTracks()),a$1.debug(" -- Video tracks:",i.getVideoTracks()));var c=!1;if(s.myStream&&r.update&&!s.streamExternal){if((!r.update&&K(r)||r.update&&(r.addAudio||r.replaceAudio))&&i.getAudioTracks()&&i.getAudioTracks().length)if(s.myStream.addTrack(i.getAudioTracks()[0]),a$1.unifiedPlan){a$1.log((r.replaceAudio?"Replacing":"Adding")+" audio track:",i.getAudioTracks()[0]);var d=null;if((S=s.pc.getTransceivers())&&S.length>0)for(var l in S)if((C=S[l]).sender&&C.sender.track&&"audio"===C.sender.track.kind||C.receiver&&C.receiver.track&&"audio"===C.receiver.track.kind){d=C;break}let e=null;try{e=yield n.customizeStream(i)}catch(e){n.error(e)}var m,h,g,y;d&&d.sender?d.sender.replaceTrack((null==e||null==(h=e.getAudioTracks)||null==(m=h.call(e))?void 0:m[0])||i.getAudioTracks()[0]):s.pc.addTrack((null==e||null==(y=e.getAudioTracks)||null==(g=y.call(e))?void 0:g[0])||i.getAudioTracks()[0],e||i)}else a$1.log((r.replaceAudio?"Replacing":"Adding")+" audio track:",i.getAudioTracks()[0]),s.pc.addTrack(i.getAudioTracks()[0],i);if((!r.update&&Y(r)||r.update&&(r.addVideo||r.replaceVideo))&&i.getVideoTracks()&&i.getVideoTracks().length)if(s.myStream.addTrack(i.getVideoTracks()[0]),a$1.unifiedPlan){a$1.log((r.replaceVideo?"Replacing":"Adding")+" video track:",i.getVideoTracks()[0]);var S,b=null;if((S=s.pc.getTransceivers())&&S.length>0)for(var l in S){var C;if((C=S[l]).sender&&C.sender.track&&"video"===C.sender.track.kind||C.receiver&&C.receiver.track&&"video"===C.receiver.track.kind){b=C;break}}b&&b.sender?b.sender.replaceTrack(i.getVideoTracks()[0]):s.pc.addTrack(i.getVideoTracks()[0],i)}else a$1.log((r.replaceVideo?"Replacing":"Adding")+" video track:",i.getVideoTracks()[0]),s.pc.addTrack(i.getVideoTracks()[0],i)}else s.myStream=i,c=!0;if(!s.pc){var w={iceServers:u,iceTransportPolicy:p,bundlePolicy:f};"chrome"===a$1.webRTCAdapter.browserDetails.browser&&(w.sdpSemantics=a$1.webRTCAdapter.browserDetails.version<72?"plan-b":"unified-plan");var R={optional:[{DtlsSrtpKeyAgreement:!0}]};if(!0===v&&R.optional.push({googIPv6:!0}),n.rtcConstraints&&"object"==typeof n.rtcConstraints)for(var l in a$1.debug("Adding custom PeerConnection constraints:",n.rtcConstraints),n.rtcConstraints)R.optional.push(n.rtcConstraints[l]);"edge"===a$1.webRTCAdapter.browserDetails.browser&&(w.bundlePolicy="max-bundle"),a$1.log("Creating PeerConnection"),a$1.debug(R),s.pc=new RTCPeerConnection(w,R),s.pc.getStats&&(s.volume={},s.bitrate.value="0 kbits/sec"),a$1.log("Preparing local SDP and gathering candidates (trickle="+s.trickle+")"),s.pc.oniceconnectionstatechange=function(e){s.pc&&o.iceState(s.pc.iceConnectionState)},s.pc.onicecandidate=function(t){if(null==t.candidate||"edge"===a$1.webRTCAdapter.browserDetails.browser&&t.candidate.candidate.indexOf("endOfCandidates")>0)a$1.log("End of candidates."),s.iceDone=!0,!0===s.trickle?O(e,{completed:!0}):function(e,t){(t=t||{}).success="function"==typeof t.success?t.success:a$1.noop,t.error="function"==typeof t.error?t.error:a$1.noop;var r=k[e];if(null!=r&&null!==r.webrtcStuff&&void 0!==r.webrtcStuff){var n=r.webrtcStuff;a$1.log("Sending offer/answer SDP..."),null!==n.mySdp&&void 0!==n.mySdp?(n.mySdp={type:n.pc.localDescription.type,sdp:n.pc.localDescription.sdp},!1===n.trickle&&(n.mySdp.trickle=!1),a$1.debug(t),n.sdpSent=!0,t.success(n.mySdp)):a$1.warn("Local SDP instance is invalid, not sending anything...")}else a$1.warn("Invalid handle, not sending anything")}(e,n);else{var r={candidate:t.candidate.candidate,sdpMid:t.candidate.sdpMid,sdpMLineIndex:t.candidate.sdpMLineIndex};!0===s.trickle&&O(e,r)}},s.pc.ontrack=function(e){a$1.log("Handling Remote Track"),a$1.debug(e),e.streams&&(s.remoteStream=e.streams[0],o.onremotestream(s.remoteStream),e.track.onended||(a$1.log("Adding onended callback to track:",e.track),e.track.onended=function(e){a$1.log("Remote track muted/removed:",e),s.remoteStream&&(s.remoteStream.removeTrack(e.target),o.onremotestream(s.remoteStream))},e.track.onmute=e.track.onended,e.track.onunmute=function(e){try{s.remoteStream.addTrack(e.target),o.onremotestream(s.remoteStream)}catch(e){a$1.error(e)}}))}}if(c&&null!=i){a$1.log("Adding local stream");var P=!0===n.simulcast2,E=i.getTracks();for(let e=0;e0)for(var u in l){var p=l[u];p.sender&&p.sender.track&&"audio"===p.sender.track.kind||p.receiver&&p.receiver.track&&"audio"===p.receiver.track.kind?c||(c=p):(p.sender&&p.sender.track&&"video"===p.sender.track.kind||p.receiver&&p.receiver.track&&"video"===p.receiver.track.kind)&&(d||(d=p))}var f=K(t),v=$(t);f||v?f&&v?c&&(c.setDirection?c.setDirection("sendrecv"):c.direction="sendrecv",a$1.log("Setting audio transceiver to sendrecv:",c)):f&&!v?c&&(c.setDirection?c.setDirection("sendonly"):c.direction="sendonly",a$1.log("Setting audio transceiver to sendonly:",c)):!f&&v&&(c?(c.setDirection?c.setDirection("recvonly"):c.direction="recvonly",a$1.log("Setting audio transceiver to recvonly:",c)):(c=i.pc.addTransceiver("audio",{direction:"recvonly"}),a$1.log("Adding recvonly audio transceiver:",c))):t.removeAudio&&c&&(c.setDirection?c.setDirection("inactive"):c.direction="inactive",a$1.log("Setting audio transceiver to inactive:",c));var m=Y(t),h=Q(t);m||h?m&&h?d&&(d.setDirection?d.setDirection("sendrecv"):d.direction="sendrecv",a$1.log("Setting video transceiver to sendrecv:",d)):m&&!h?d&&(d.setDirection?d.setDirection("sendonly"):d.direction="sendonly",a$1.log("Setting video transceiver to sendonly:",d)):!m&&h&&(d?(d.setDirection?d.setDirection("recvonly"):d.direction="recvonly",a$1.log("Setting video transceiver to recvonly:",d)):(d=i.pc.addTransceiver("video",{direction:"recvonly"}),a$1.log("Adding recvonly video transceiver:",d))):t.removeVideo&&d&&(d.setDirection?d.setDirection("inactive"):d.direction="inactive",a$1.log("Setting video transceiver to inactive:",d))}else s.offerToReceiveAudio=$(t),s.offerToReceiveVideo=Q(t);!0===r.iceRestart&&(s.iceRestart=!0),a$1.debug(s);var y=Y(t);if(y&&o&&"firefox"===a$1.webRTCAdapter.browserDetails.browser){var S=i.pc.getSenders().find((function(e){return"video"==e.track.kind}));if(S){var b=S.getParameters();b||(b={});const e=T(r.simulcastMaxBitrates);b.encodings=[{rid:"h",active:!0,maxBitrate:e.high},{rid:"m",active:!0,maxBitrate:e.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:e.low,scaleResolutionDownBy:4}],S.setParameters(b)}}i.pc.createOffer(s).then((function(e){var t={type:e.type,sdp:e.sdp};r.customizeSdp(t),e.sdp=t.sdp,a$1.log("Setting local description"),y&&o&&("chrome"===a$1.webRTCAdapter.browserDetails.browser||"safari"===a$1.webRTCAdapter.browserDetails.browser?(a$1.log("Enabling Simulcasting for Chrome (SDP munging)"),e.sdp=function(e){for(var t=e.split("\r\n"),r=!1,n=[-1],i=[-1],o=null,s=null,c=null,d=null,l=-1,u=0;u-1){l=u;break}}else if(r){var p=t[u].match(/a=ssrc-group:FID (\d+) (\d+)/);if(p)n[0]=p[1],i[0]=p[2],t.splice(u,1),u--;else{if(n[0]){if((m=t[u].match("a=ssrc:"+n[0]+" cname:(.+)"))&&(o=m[1]),(m=t[u].match("a=ssrc:"+n[0]+" msid:(.+)"))&&(s=m[1]),(m=t[u].match("a=ssrc:"+n[0]+" mslabel:(.+)"))&&(c=m[1]),(m=t[u].match("a=ssrc:"+n[0]+" label:(.+)"))&&(d=m[1]),0===t[u].indexOf("a=ssrc:"+i[0])){t.splice(u,1),u--;continue}if(0===t[u].indexOf("a=ssrc:"+n[0])){t.splice(u,1),u--;continue}}0!=t[u].length||(t.splice(u,1),u--)}}if(n[0]<0)for(l=-1,r=!1,u=0;u-1){l=u;break}}else if(r){if(n[0]<0){var v=t[u].match(/a=ssrc:(\d+)/);if(v){n[0]=v[1],t.splice(u,1),u--;continue}}else{var m;if((m=t[u].match("a=ssrc:"+n[0]+" cname:(.+)"))&&(o=m[1]),(m=t[u].match("a=ssrc:"+n[0]+" msid:(.+)"))&&(s=m[1]),(m=t[u].match("a=ssrc:"+n[0]+" mslabel:(.+)"))&&(c=m[1]),(m=t[u].match("a=ssrc:"+n[0]+" label:(.+)"))&&(d=m[1]),0===t[u].indexOf("a=ssrc:"+i[0])){t.splice(u,1),u--;continue}if(0===t[u].indexOf("a=ssrc:"+n[0])){t.splice(u,1),u--;continue}}0!=t[u].length||(t.splice(u,1),u--)}}if(n[0]<0)return a$1.warn("Couldn't find the video SSRC, simulcasting NOT enabled"),e;for(l<0&&(l=t.length),n[1]=Math.floor(4294967295*Math.random()),n[2]=Math.floor(4294967295*Math.random()),i[1]=Math.floor(4294967295*Math.random()),i[2]=Math.floor(4294967295*Math.random()),u=0;u0){for(var i=0;i0)for(var u in l){var p=l[u];p.sender&&p.sender.track&&"audio"===p.sender.track.kind||p.receiver&&p.receiver.track&&"audio"===p.receiver.track.kind?c||(c=p):(p.sender&&p.sender.track&&"video"===p.sender.track.kind||p.receiver&&p.receiver.track&&"video"===p.receiver.track.kind)&&(d||(d=p))}var f=K(t),v=$(t);if(f||v){if(f&&v){if(c)try{c.setDirection?c.setDirection("sendrecv"):c.direction="sendrecv",a$1.log("Setting audio transceiver to sendrecv:",c)}catch(e){a$1.error(e)}}else if(f&&!v)try{c&&(c.setDirection?c.setDirection("sendonly"):c.direction="sendonly",a$1.log("Setting audio transceiver to sendonly:",c))}catch(e){a$1.error(e)}else if(!f&&v)if(c)try{c.setDirection?c.setDirection("recvonly"):c.direction="recvonly",a$1.log("Setting audio transceiver to recvonly:",c)}catch(e){a$1.error(e)}else c=i.pc.addTransceiver("audio",{direction:"recvonly"}),a$1.log("Adding recvonly audio transceiver:",c)}else if(t.removeAudio&&c)try{c.setDirection?c.setDirection("inactive"):c.direction="inactive",a$1.log("Setting audio transceiver to inactive:",c)}catch(e){a$1.error(e)}var m=Y(t),h=Q(t);if(m||h){if(m&&h){if(d)try{d.setDirection?d.setDirection("sendrecv"):d.direction="sendrecv",a$1.log("Setting video transceiver to sendrecv:",d)}catch(e){a$1.error(e)}}else if(m&&!h){if(d)try{d.setDirection?d.setDirection("sendonly"):d.direction="sendonly",a$1.log("Setting video transceiver to sendonly:",d)}catch(e){a$1.error(e)}}else if(!m&&h)if(d)try{d.setDirection?d.setDirection("recvonly"):d.direction="recvonly",a$1.log("Setting video transceiver to recvonly:",d)}catch(e){a$1.error(e)}else d=i.pc.addTransceiver("video",{direction:"recvonly"}),a$1.log("Adding recvonly video transceiver:",d)}else if(t.removeVideo&&d)try{d.setDirection?d.setDirection("inactive"):d.direction="inactive",a$1.log("Setting video transceiver to inactive:",d)}catch(e){a$1.error(e)}}else s="firefox"==a$1.webRTCAdapter.browserDetails.browser||"edge"==a$1.webRTCAdapter.browserDetails.browser?{offerToReceiveAudio:$(t),offerToReceiveVideo:Q(t)}:{mandatory:{OfferToReceiveAudio:$(t),OfferToReceiveVideo:Q(t)}};a$1.debug(s);var g=Y(t);if(g&&o&&"firefox"===a$1.webRTCAdapter.browserDetails.browser){a$1.log("Enabling Simulcasting for Firefox (RID)");var y=i.pc.getSenders()[1];a$1.log(y);var S=y.getParameters();a$1.log(S);const e=T(r.simulcastMaxBitrates);y.setParameters({encodings:[{rid:"high",active:!0,priority:"high",maxBitrate:e.high},{rid:"medium",active:!0,priority:"medium",maxBitrate:e.medium},{rid:"low",active:!0,priority:"low",maxBitrate:e.low}]})}i.pc.createAnswer(s).then((function(e){a$1.debug(e);var t={type:e.type,sdp:e.sdp};r.customizeSdp(t),e.sdp=t.sdp,a$1.log("Setting local description"),g&&o&&("chrome"===a$1.webRTCAdapter.browserDetails.browser?a$1.warn("simulcast=true, but this is an answer, and video breaks in Chrome if we enable it"):"firefox"!==a$1.webRTCAdapter.browserDetails.browser&&a$1.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),i.mySdp=e.sdp,i.pc.setLocalDescription(e).catch(r.error),i.mediaConstraints=s,i.iceDone||i.trickle?r.success(e):a$1.log("Waiting for all candidates...")}),r.error)}(e,r,n)}),n.error)},G=function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function s(e){i$2(a,n,o,s,c,"next",e)}function c(e){i$2(a,n,o,s,c,"throw",e)}s(void 0)}))},G.apply(this,arguments)}function U(e,t,r){(r=r||{}).success="function"==typeof r.success?r.success:a$1.noop,r.error="function"==typeof r.error?r.error:q,r.customizeStream="function"==typeof r.customizeStream?r.customizeStream:a$1.noop;var n=r.jsep;if(t&&n)return a$1.error("Provided a JSEP to a createOffer"),void r.error("Provided a JSEP to a createOffer");if(!(t||n&&n.type&&n.sdp))return a$1.error("A valid JSEP is required for createAnswer"),void r.error("A valid JSEP is required for createAnswer");r.media=r.media||{audio:!0,video:!0};var i=r.media,o=k[e];if(null==o||null===o.webrtcStuff||void 0===o.webrtcStuff)return a$1.warn("Invalid handle"),void r.error("Invalid handle");var s,c=o.webrtcStuff;if(c.trickle=null==(s=r.trickle)||!0===s,void 0===c.pc||null===c.pc)i.update=!1,i.keepAudio=!1,i.keepVideo=!1;else if(void 0!==c.pc&&null!==c.pc){if(a$1.log("Updating existing media session"),i.update=!0,null!==r.stream&&void 0!==r.stream)r.stream!==c.myStream&&a$1.log("Renegotiation involves a new external stream");else{if(i.addAudio){if(i.keepAudio=!1,i.replaceAudio=!1,i.removeAudio=!1,i.audioSend=!0,c.myStream&&c.myStream.getAudioTracks()&&c.myStream.getAudioTracks().length)return a$1.error("Can't add audio stream, there already is one"),void r.error("Can't add audio stream, there already is one")}else i.removeAudio?(i.keepAudio=!1,i.replaceAudio=!1,i.addAudio=!1,i.audioSend=!1):i.replaceAudio&&(i.keepAudio=!1,i.addAudio=!1,i.removeAudio=!1,i.audioSend=!0);if(null===c.myStream||void 0===c.myStream?(i.replaceAudio&&(i.keepAudio=!1,i.replaceAudio=!1,i.addAudio=!0,i.audioSend=!0),K(i)&&(i.keepAudio=!1,i.addAudio=!0)):null===c.myStream.getAudioTracks()||void 0===c.myStream.getAudioTracks()||0===c.myStream.getAudioTracks().length?(i.replaceAudio&&(i.keepAudio=!1,i.replaceAudio=!1,i.addAudio=!0,i.audioSend=!0),K(i)&&(i.keepVideo=!1,i.addAudio=!0)):!K(i)||i.removeAudio||i.replaceAudio||(i.keepAudio=!0),i.addVideo){if(i.keepVideo=!1,i.replaceVideo=!1,i.removeVideo=!1,i.videoSend=!0,c.myStream&&c.myStream.getVideoTracks()&&c.myStream.getVideoTracks().length)return a$1.error("Can't add video stream, there already is one"),void r.error("Can't add video stream, there already is one")}else i.removeVideo?(i.keepVideo=!1,i.replaceVideo=!1,i.addVideo=!1,i.videoSend=!1):i.replaceVideo&&(i.keepVideo=!1,i.addVideo=!1,i.removeVideo=!1,i.videoSend=!0);null===c.myStream||void 0===c.myStream||null===c.myStream.getVideoTracks()||void 0===c.myStream.getVideoTracks()||0===c.myStream.getVideoTracks().length?(i.replaceVideo&&(i.keepVideo=!1,i.replaceVideo=!1,i.addVideo=!0,i.videoSend=!0),Y(i)&&(i.keepVideo=!1,i.addVideo=!0)):!Y(i)||i.removeVideo||i.replaceVideo||(i.keepVideo=!0),i.addData&&(i.data=!0)}if(K(i)&&i.keepAudio&&Y(i)&&i.keepVideo)return o.consentDialog(!1),void V(e,n,i,r,c.myStream)}if(i.update&&!c.streamExternal){if(i.removeAudio||i.replaceAudio){if(c.myStream&&c.myStream.getAudioTracks()&&c.myStream.getAudioTracks().length){var d=c.myStream.getAudioTracks()[0];a$1.log("Removing audio track:",d),c.myStream.removeTrack(d);try{d.stop()}catch(D){}}if(c.pc.getSenders()&&c.pc.getSenders().length){var l=!0;if(i.replaceAudio&&a$1.unifiedPlan&&(l=!1),l)for(var u in c.pc.getSenders())(d=c.pc.getSenders()[u])&&d.track&&"audio"===d.track.kind&&(a$1.log("Removing audio sender:",d),c.pc.removeTrack(d))}}if(i.removeVideo||i.replaceVideo){if(c.myStream&&c.myStream.getVideoTracks()&&c.myStream.getVideoTracks().length){d=c.myStream.getVideoTracks()[0],a$1.log("Removing video track:",d),c.myStream.removeTrack(d);try{d.stop()}catch(_){}}if(c.pc.getSenders()&&c.pc.getSenders().length){var p=!0;if(i.replaceVideo&&a$1.unifiedPlan&&(p=!1),p)for(var u in c.pc.getSenders())(d=c.pc.getSenders()[u])&&d.track&&"video"===d.track.kind&&(a$1.log("Removing video sender:",d),c.pc.removeTrack(d))}}}if(null!==r.stream&&void 0!==r.stream){var f=r.stream;if(a$1.log("MediaStream provided by the application"),a$1.debug(f),i.update&&c.myStream&&c.myStream!==r.stream&&!c.streamExternal){try{var v=c.myStream.getTracks();for(var m in v){var h=v[m];a$1.log(h),null!=h&&h.stop()}}catch(I){}c.myStream=null}return c.streamExternal=!0,o.consentDialog(!1),void V(e,n,i,r,f)}if(K(i)||Y(i)){if(!a$1.isGetUserMediaAvailable())return void r.error("getUserMedia not available");var g={mandatory:{},optional:[]};o.consentDialog(!0);var y=K(i);!0===y&&null!=i&&null!=i&&"object"==typeof i.audio&&(y=i.audio);var S=Y(i);if(!0===S&&null!=i&&null!=i){var b=!0===r.simulcast,T=!0===r.simulcast2;if(!b&&!T||n||void 0!==i.video&&!1!==i.video||(i.video="hires"),i.video&&"screen"!=i.video&&"window"!=i.video)if("object"==typeof i.video)S=i.video;else{var C=0,w=0;"lowres"===i.video?(w=240,C=320):"lowres-16:9"===i.video?(w=180,C=320):"hires"===i.video||"hires-16:9"===i.video||"hdres"===i.video?(w=720,C=1280):"fhdres"===i.video?(w=1080,C=1920):"4kres"===i.video?(w=2160,C=3840):"stdres"===i.video?(w=480,C=640):"stdres-16:9"===i.video?(w=360,C=640):(a$1.log("Default video setting is stdres 4:3"),w=480,C=640),a$1.log("Adding media constraint:",i.video),S={height:{ideal:w},width:{ideal:C}},a$1.log("Adding video constraint:",S)}else if("screen"===i.video||"window"===i.video){if(i.screenshareFrameRate||(i.screenshareFrameRate=3),navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia)return void navigator.mediaDevices.getDisplayMedia({video:!0}).then((function(t){o.consentDialog(!1),K(i)&&!i.keepAudio?navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then((function(o){t.addTrack(o.getAudioTracks()[0]),V(e,n,i,r,t)})):V(e,n,i,r,t)}),(function(e){o.consentDialog(!1),r.error(e)}));function x(t,a){o.consentDialog(!1),t?r.error(t):V(e,n,i,r,a)}function M(e,t,r){a$1.log("Adding media constraint (screen capture)"),a$1.debug(e),navigator.mediaDevices.getUserMedia(e).then((function(e){r?navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then((function(r){e.addTrack(r.getAudioTracks()[0]),t(null,e)})):t(null,e)})).catch((function(e){o.consentDialog(!1),t(e)}))}if("chrome"===a$1.webRTCAdapter.browserDetails.browser){var R=a$1.webRTCAdapter.browserDetails.version,P=33;window.navigator.userAgent.match("Linux")&&(P=35),R>=26&&R<=P?M(g={video:{mandatory:{googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:i.screenshareFrameRate,maxFrameRate:i.screenshareFrameRate,chromeMediaSource:"screen"}},audio:K(i)&&!i.keepAudio},x):a$1.extension.getScreen((function(e,t){if(e)return o.consentDialog(!1),r.error(e);(g={audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:i.screenshareFrameRate,maxFrameRate:i.screenshareFrameRate},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}}).video.mandatory.chromeMediaSourceId=t,M(g,x,K(i)&&!i.keepAudio)}))}else if("firefox"===a$1.webRTCAdapter.browserDetails.browser){if(!(a$1.webRTCAdapter.browserDetails.version>=33)){var E=new Error("NavigatorUserMediaError");return E.name="Your version of Firefox does not support screen sharing, please install Firefox 33 (or more recent versions)",o.consentDialog(!1),void r.error(E)}M(g={video:{mozMediaSource:i.video,mediaSource:i.video},audio:K(i)&&!i.keepAudio},(function(e,t){if(x(e,t),!e)var r=t.currentTime,n=window.setInterval((function(){t||window.clearInterval(n),t.currentTime==r&&(window.clearInterval(n),t.onended&&t.onended()),r=t.currentTime}),500)}))}return}}null!=i&&"screen"===i.video||navigator.mediaDevices.enumerateDevices().then((function(t){var s=t.some((function(e){return"audioinput"===e.kind})),c=function(e){if(null==e)return!1;if("object"!=typeof e.video||"object"!=typeof e.video.mandatory)return!1;var t=e.video.mandatory;return t.chromeMediaSource?"desktop"===t.chromeMediaSource||"screen"===t.chromeMediaSource:t.mozMediaSource?"window"===t.mozMediaSource||"screen"===t.mozMediaSource:!!t.mediaSource&&("window"===t.mediaSource||"screen"===t.mediaSource)}(i)||t.some((function(e){return"videoinput"===e.kind})),d=K(i),l=Y(i),u=function(e){return null!=e&&!1!==e.audio&&!1!==e.audioSend&&void 0!==e.failIfNoAudio&&null!==e.failIfNoAudio&&!0===e.failIfNoAudio}(i),p=function(e){return null!=e&&!1!==e.video&&!1!==e.videoSend&&void 0!==e.failIfNoVideo&&null!==e.failIfNoVideo&&!0===e.failIfNoVideo}(i);if(d||l||u||p){var v=!!d&&s,m=!!l&&c;if(!v&&!m)return o.consentDialog(!1),r.error("No capture device found"),!1;if(!v&&u)return o.consentDialog(!1),r.error("Audio capture is required, but no capture device found"),!1;if(!m&&p)return o.consentDialog(!1),r.error("Video capture is required, but no capture device found"),!1}var h={audio:!(!s||i.keepAudio)&&y,video:!(!c||i.keepVideo)&&S};a$1.debug("getUserMedia constraints",h),h.audio||h.video?navigator.mediaDevices.getUserMedia(h).then((function(t){o.consentDialog(!1),V(e,n,i,r,t)})).catch((function(e){o.consentDialog(!1),r.error({code:e.code,name:e.name,message:e.message})})):(o.consentDialog(!1),V(e,n,i,r,f))})).catch((function(e){o.consentDialog(!1),r.error("enumerateDevices error",e)}))}else V(e,n,i,r)}function F(e,t){(t=t||{}).success="function"==typeof t.success?t.success:a$1.noop,t.error="function"==typeof t.error?t.error:q;var r=t.jsep,n=k[e];if(null==n||null===n.webrtcStuff||void 0===n.webrtcStuff)return a$1.warn("Invalid handle"),void t.error("Invalid handle");var i=n.webrtcStuff;if(null!=r){if(null===i.pc)return a$1.warn("Wait, no PeerConnection?? if this is an answer, use createAnswer and not handleRemoteJsep"),void t.error("No PeerConnection: if this is an answer, use createAnswer and not handleRemoteJsep");i.pc.setRemoteDescription(r).then((function(){if(a$1.log("Remote description accepted!"),i.remoteSdp=r.sdp,i.candidates&&i.candidates.length>0){for(var e=0;e-1)&&"inbound-rtp"===e.type&&e.id.indexOf("rtcp")<0?t=!0:"ssrc"!=e.type||!e.bytesReceived||"VP8"!==e.googCodecName&&""!==e.googCodecName||(t=!0),t)if(r.bitrate.bsnow=e.bytesReceived,r.bitrate.tsnow=e.timestamp,null===r.bitrate.bsbefore||null===r.bitrate.tsbefore)r.bitrate.bsbefore=r.bitrate.bsnow,r.bitrate.tsbefore=r.bitrate.tsnow;else{var n=r.bitrate.tsnow-r.bitrate.tsbefore;"safari"==a$1.webRTCAdapter.browserDetails.browser&&(n/=1e3);var i=Math.round(8*(r.bitrate.bsnow-r.bitrate.bsbefore)/n);"safari"===a$1.webRTCAdapter.browserDetails.browser&&(i=parseInt(i/1e3)),r.bitrate.value=i+" kbits/sec",r.bitrate.bsbefore=r.bitrate.bsnow,r.bitrate.tsbefore=r.bitrate.tsnow}}}))}))}),1e3),"0 kbits/sec"):r.bitrate.value:(a$1.warn("Getting the video bitrate unsupported by browser"),"Feature unsupported by browser")}function q(e){a$1.error("WebRTC error:",e)}function H(e,t){a$1.log("Cleaning WebRTC stuff");var i=k[e];if(null!=i){var o=i.webrtcStuff;if(null!=o){if(!0===t){var s={rtcgw:"hangup",transaction:a$1.randomString(12)};null!==i.token&&void 0!==i.token&&(s.token=i.token),null!=y&&(s.apisecret=y),a$1.debug("Sending hangup request (handle="+e+"):",s),r?(s.session_id=w,s.handle_id=e,n.send(JSON.stringify(s))):a$1.httpAPICall(l+"/"+w+"/"+e,{verb:"POST",withCredentials:m,body:s})}o.remoteStream=null,o.volume&&(o.volume.local&&o.volume.local.timer&&clearInterval(o.volume.local.timer),o.volume.remote&&o.volume.remote.timer&&clearInterval(o.volume.remote.timer)),o.volume={},o.bitrate.timer&&clearInterval(o.bitrate.timer),o.bitrate.timer=null,o.bitrate.bsnow=null,o.bitrate.bsbefore=null,o.bitrate.tsnow=null,o.bitrate.tsbefore=null,o.bitrate.value=null;try{if(!o.streamExternal&&null!==o.myStream&&void 0!==o.myStream){a$1.log("Stopping local stream tracks");var c=o.myStream.getTracks();for(var d in c){var u=c[d];a$1.log(u),null!=u&&u.stop()}}}catch(e){}o.streamExternal=!1,o.myStream=null;try{o.pc.close()}catch(e){}o.pc=null,o.candidates=null,o.mySdp=null,o.remoteSdp=null,o.iceDone=!1,o.dataChannel={},o.dtmfSender=null}i.oncleanup()}}function K(e){return null==e||!1!==e.audio&&(void 0===e.audioSend||null===e.audioSend||!0===e.audioSend)}function $(e){return null==e||!1!==e.audio&&(void 0===e.audioRecv||null===e.audioRecv||!0===e.audioRecv)}function Y(e){return null==e||!1!==e.video&&(void 0===e.videoSend||null===e.videoSend||!0===e.videoSend)}function Q(e){return null==e||!1!==e.video&&(void 0===e.videoRecv||null===e.videoRecv||!0===e.videoRecv)}x(e),this.getServer=function(){return l},this.isConnected=function(){return C},this.reconnect=function(e){(e=e||{}).success="function"==typeof e.success?e.success:a$1.noop,e.error="function"==typeof e.error?e.error:a$1.noop,e.reconnect=!0,x(e)},this.getSessionId=function(){return w},this.destroy=function(t){!function(t){(t=t||{}).success="function"==typeof t.success?t.success:a$1.noop;var i=!0;void 0!==t.asyncRequest&&null!==t.asyncRequest&&(i=!0===t.asyncRequest);var c=!0;void 0!==t.notifyDestroyed&&null!==t.notifyDestroyed&&(c=!0===t.notifyDestroyed);var d=!1;if(void 0!==t.cleanupHandles&&null!==t.cleanupHandles&&(d=!0===t.cleanupHandles),a$1.log("Destroying session "+w+" (async="+i+")"),!C)return a$1.warn("Is the server down? (connected=false)"),void t.success();if(null==w)return a$1.warn("No session to destroy"),t.success(),void(c&&e.destroyed());if(d)for(var u in k)N(u,{noRequest:!0});var p={rtcgw:"destroy",transaction:a$1.randomString(12)};if(null!=g&&(p.token=g),null!=y&&(p.apisecret=y),r){p.session_id=w;var f=function(){for(var e in o)n.removeEventListener(e,o[e]);n.removeEventListener("message",v),n.removeEventListener("error",h),s&&clearTimeout(s),n.close()},v=function(r){var n=JSON.parse(r.data);n.session_id==p.session_id&&n.transaction==p.transaction&&(f(),t.success(),c&&e.destroyed())},h=function(r){f(),t.error("Failed to destroy the server: Is the server down?"),c&&e.destroyed()};return n.addEventListener("message",v),n.addEventListener("error",h),void n.send(JSON.stringify(p))}a$1.httpAPICall(l+"/"+w,{verb:"POST",async:i,withCredentials:m,body:p,success:function(r){a$1.log("Destroyed session:"),a$1.debug(r),w=null,C=!1,"success"!==r.rtcgw&&a$1.error("Ooops: "+r.error.code+" "+r.error.reason),t.success(),c&&e.destroyed()},error:function(r,n){a$1.error(r+":",n),w=null,C=!1,t.success(),c&&e.destroyed()}})}(t)},this.attach=function(e){!function(e){if((e=e||{}).success="function"==typeof e.success?e.success:a$1.noop,e.error="function"==typeof e.error?e.error:a$1.noop,e.consentDialog="function"==typeof e.consentDialog?e.consentDialog:a$1.noop,e.iceState="function"==typeof e.iceState?e.iceState:a$1.noop,e.mediaState="function"==typeof e.mediaState?e.mediaState:a$1.noop,e.webrtcState="function"==typeof e.webrtcState?e.webrtcState:a$1.noop,e.slowLink="function"==typeof e.slowLink?e.slowLink:a$1.noop,e.onmessage="function"==typeof e.onmessage?e.onmessage:a$1.noop,e.onlocalstream="function"==typeof e.onlocalstream?e.onlocalstream:a$1.noop,e.onremotestream="function"==typeof e.onremotestream?e.onremotestream:a$1.noop,e.ondata="function"==typeof e.ondata?e.ondata:a$1.noop,e.ondataopen="function"==typeof e.ondataopen?e.ondataopen:a$1.noop,e.oncleanup="function"==typeof e.oncleanup?e.oncleanup:a$1.noop,e.ondetached="function"==typeof e.ondetached?e.ondetached:a$1.noop,!C)return a$1.warn("Is the server down? (connected=false)"),void e.error("Is the server down? (connected=false)");var t=e.plugin;if(null==t)return a$1.error("Invalid plugin"),void e.error("Invalid plugin");var i=e.opaqueId,o=e.token?e.token:g,s=a$1.randomString(12),c={rtcgw:"attach",plugin:t,opaque_id:i,transaction:s};if(null!=o&&(c.token=o),null!=y&&(c.apisecret=y),r)return E[s]=function(r){if("success"!==r.rtcgw)return a$1.error("Ooops: "+r.error.code+" "+r.error.reason),void e.error("Ooops: "+r.error.code+" "+r.error.reason);var n=r.data.id;a$1.log("Created handle: "+n);var i={session:R,plugin:t,id:n,token:o,detached:!1,webrtcStuff:{started:!1,myStream:null,streamExternal:!1,remoteStream:null,mySdp:null,mediaConstraints:null,pc:null,dataChannel:{},dtmfSender:null,trickle:!0,iceDone:!1,volume:{value:null,timer:null},bitrate:{value:null,bsnow:null,bsbefore:null,tsnow:null,tsbefore:null,timer:null}},getId:function(){return n},getPlugin:function(){return t},getVolume:function(){return z(n,!0)},getRemoteVolume:function(){return z(n,!0)},getLocalVolume:function(){return z(n,!1)},isAudioMuted:function(){return J(n,!1)},muteAudio:function(){return B(n,!1,!0)},unmuteAudio:function(){return B(n,!1,!1)},isVideoMuted:function(){return J(n,!0)},muteVideo:function(){return B(n,!0,!0)},unmuteVideo:function(){return B(n,!0,!1)},getBitrate:function(){return W(n)},send:function(e){M(n,e)},data:function(e){j(n,e)},dtmf:function(e){L(n,e)},consentDialog:e.consentDialog,iceState:e.iceState,mediaState:e.mediaState,webrtcState:e.webrtcState,slowLink:e.slowLink,onmessage:e.onmessage,createOffer:function(e){U(n,!0,e)},createAnswer:function(e){U(n,!1,e)},handleRemoteJsep:function(e){F(n,e)},onlocalstream:e.onlocalstream,onremotestream:e.onremotestream,ondata:e.ondata,ondataopen:e.ondataopen,oncleanup:e.oncleanup,ondetached:e.ondetached,hangup:function(e){H(n,!0===e)},detach:function(e){N(n,e)}};k[n]=i,e.success(i)},c.session_id=w,void n.send(JSON.stringify(c));a$1.httpAPICall(l+"/"+w,{verb:"POST",withCredentials:m,body:c,success:function(r){if(a$1.debug(r),"success"!==r.rtcgw)return a$1.error("Ooops: "+r.error.code+" "+r.error.reason),void e.error("Ooops: "+r.error.code+" "+r.error.reason);var n=r.data.id;a$1.log("Created handle: "+n);var i={session:R,plugin:t,id:n,token:o,detached:!1,webrtcStuff:{started:!1,myStream:null,streamExternal:!1,remoteStream:null,mySdp:null,mediaConstraints:null,pc:null,dataChannel:{},dtmfSender:null,trickle:!0,iceDone:!1,volume:{value:null,timer:null},bitrate:{value:null,bsnow:null,bsbefore:null,tsnow:null,tsbefore:null,timer:null}},getId:function(){return n},getPlugin:function(){return t},getVolume:function(){return z(n,!0)},getRemoteVolume:function(){return z(n,!0)},getLocalVolume:function(){return z(n,!1)},isAudioMuted:function(){return J(n,!1)},muteAudio:function(){return B(n,!1,!0)},unmuteAudio:function(){return B(n,!1,!1)},isVideoMuted:function(){return J(n,!0)},muteVideo:function(){return B(n,!0,!0)},unmuteVideo:function(){return B(n,!0,!1)},getBitrate:function(){return W(n)},send:function(e){M(n,e)},data:function(e){j(n,e)},dtmf:function(e){L(n,e)},consentDialog:e.consentDialog,iceState:e.iceState,mediaState:e.mediaState,webrtcState:e.webrtcState,slowLink:e.slowLink,onmessage:e.onmessage,createOffer:function(e){U(n,!0,e)},createAnswer:function(e){U(n,!1,e)},handleRemoteJsep:function(e){F(n,e)},onlocalstream:e.onlocalstream,onremotestream:e.onremotestream,ondata:e.ondata,ondataopen:e.ondataopen,oncleanup:e.oncleanup,ondetached:e.ondetached,hangup:function(e){H(n,!0===e)},detach:function(e){N(n,e)}};k[n]=i,e.success(i)},error:function(e,t){a$1.error(e+":",t)}})}(e)}}a$1.useDefaultDependencies=function(e){var t=e&&e.fetch||fetch,r=e&&e.Promise||Promise,n=e&&e.WebSocket||WebSocket;return{newWebSocket:function(e,t){return new n(e,t)},extension:e&&e.extension||o$1,isArray:function(e){return Array.isArray(e)},webRTCAdapter:e&&e.adapter||window.adapter,httpAPICall:function(e,n){var i={method:n.verb,headers:{Accept:"application/json, text/plain, */*"},cache:"no-cache"};"POST"===n.verb&&(i.headers["Content-Type"]="application/json"),void 0!==n.withCredentials&&(i.credentials=!0===n.withCredentials?"include":n.withCredentials?n.withCredentials:"omit"),void 0!==n.body&&(i.body=JSON.stringify(n.body));var o=t(e,i).catch((function(e){return r.reject({message:"Probably a network error, is the server down?",error:e})}));if(void 0!==n.timeout){var s=new r((function(e,t){var r=setTimeout((function(){return clearTimeout(r),t({message:"Request timed out",timeout:n.timeout})}),n.timeout)}));o=r.race([o,s])}return o.then((function(e){return e.ok?typeof n.success==typeof a$1.noop?e.json().then((function(e){n.success(e)})).catch((function(t){return r.reject({message:"Failed to parse response body",error:t,response:e})})):void 0:r.reject({message:"API call failed",response:e})})).catch((function(e){typeof n.error==typeof a$1.noop&&n.error(e.message||"<< internal error >>",e)})),o}}},a$1.useOldDependencies=function(e){var t=e&&e.jQuery||jQuery,r=e&&e.WebSocket||WebSocket;return{newWebSocket:function(e,t){return new r(e,t)},isArray:function(e){return t.isArray(e)},extension:e&&e.extension||o$1,webRTCAdapter:e&&e.adapter||adapter,httpAPICall:function(e,r){var n=void 0!==r.body?{contentType:"application/json",data:JSON.stringify(r.body)}:{},i=void 0!==r.withCredentials?{xhrFields:{withCredentials:r.withCredentials}}:{};return t.ajax(t.extend(n,i,{url:e,type:r.verb,cache:!1,dataType:"json",async:r.async,timeout:r.timeout,success:function(e){typeof r.success==typeof a$1.noop&&r.success(e)},error:function(e,t,n){typeof r.error==typeof a$1.noop&&r.error(t,n)}}))}}},a$1.noop=function(){},a$1.dataChanDefaultLabel="JanusDataChannel",a$1.endOfCandidates=null,a$1.init=function(e){if((e=e||{}).callback="function"==typeof e.callback?e.callback:a$1.noop,!0===a$1.initDone)e.callback();else{if("undefined"!=typeof console&&void 0!==console.log||(console={log:function(){}}),a$1.trace=a$1.noop,a$1.debug=a$1.noop,a$1.vdebug=a$1.noop,a$1.log=a$1.noop,a$1.warn=a$1.noop,a$1.error=a$1.noop,!0===e.debug||"all"===e.debug)a$1.trace=console.trace.bind(console)||a$1.noop,a$1.debug=console.debug.bind(console)||a$1.noop,a$1.vdebug=console.debug.bind(console)||a$1.noop,a$1.log=console.log.bind(console)||a$1.noop,a$1.warn=console.warn.bind(console)||a$1.noop,a$1.error=console.error.bind(console)||a$1.noop;else if(Array.isArray(e.debug))for(var t in e.debug)switch(e.debug[t]){case"trace":a$1.trace=console.trace.bind(console)||a$1.noop;break;case"debug":a$1.debug=console.debug.bind(console)||a$1.noop;break;case"vdebug":a$1.vdebug=console.debug.bind(console)||a$1.noop;break;case"log":a$1.log=console.log.bind(console)||a$1.noop;break;case"warn":a$1.warn=console.warn.bind(console)||a$1.noop;break;case"error":a$1.error=console.error.bind(console)||a$1.noop}var r=e.dependencies||a$1.useDefaultDependencies();a$1.isArray=r.isArray,a$1.webRTCAdapter=r.webRTCAdapter,a$1.httpAPICall=r.httpAPICall,a$1.newWebSocket=r.newWebSocket,a$1.extension=r.extension,a$1.extension.init(),a$1.listDevices=function(e,t){e="function"==typeof e?e:a$1.noop,null==t&&(t={audio:!0,video:!0}),a$1.isGetUserMediaAvailable()?navigator.mediaDevices.getUserMedia(t).then((function(t){navigator.mediaDevices.enumerateDevices().then((function(r){a$1.debug(r),e(r);try{var n=t.getTracks();for(var i in n){var o=n[i];null!=o&&o.stop()}}catch(e){}}))})).catch((function(t){a$1.error(t),e([])})):(a$1.warn("navigator.mediaDevices unavailable"),e([]))},a$1.attachMediaStream=function(e,t){try{"chrome"===a$1.webRTCAdapter.browserDetails.browser?a$1.webRTCAdapter.browserDetails.version>=52?e.srcObject=t:a$1.error("Error attaching stream to element"):e.srcObject=t}catch(e){}},a$1.reattachMediaStream=function(e,t){try{"chrome"===a$1.webRTCAdapter.browserDetails.browser?a$1.webRTCAdapter.browserDetails.version>=52?e.srcObject=t.srcObject:void 0!==e.src?e.src=t.src:a$1.error("Error reattaching stream to element"):e.srcObject=t.srcObject}catch(e){}};var n=["iPad","iPhone","iPod"].indexOf(navigator.platform)>=0?"pagehide":"beforeunload",i=window["on"+n];if(window.addEventListener(n,(function(e){for(var t in a$1.log("Closing window"),a$1.sessions)null!==a$1.sessions[t]&&void 0!==a$1.sessions[t]&&a$1.sessions[t].destroyOnUnload&&(a$1.log("Destroying session "+t),a$1.sessions[t].destroy({asyncRequest:!1,notifyDestroyed:!1}));i&&"function"==typeof i&&i()})),a$1.safariVp8=!1,"safari"===a$1.webRTCAdapter.browserDetails.browser&&a$1.webRTCAdapter.browserDetails.version>=605)if(RTCRtpSender&&RTCRtpSender.getCapabilities&&RTCRtpSender.getCapabilities("video")&&RTCRtpSender.getCapabilities("video").codecs&&RTCRtpSender.getCapabilities("video").codecs.length){for(var t in RTCRtpSender.getCapabilities("video").codecs){var o=RTCRtpSender.getCapabilities("video").codecs[t];if(o&&o.mimeType&&"video/vp8"===o.mimeType.toLowerCase()){a$1.safariVp8=!0;break}}a$1.safariVp8?a$1.log("This version of Safari supports VP8"):a$1.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu")}else{var s=new RTCPeerConnection({},{});s.createOffer({offerToReceiveVideo:!0}).then((function(e){a$1.safariVp8=-1!==e.sdp.indexOf("VP8"),a$1.safariVp8?a$1.log("This version of Safari supports VP8"):a$1.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu"),s.close(),s=null}))}if(a$1.unifiedPlan=!1,"firefox"===a$1.webRTCAdapter.browserDetails.browser&&a$1.webRTCAdapter.browserDetails.version>=59)a$1.unifiedPlan=!0;else if("chrome"===a$1.webRTCAdapter.browserDetails.browser&&a$1.webRTCAdapter.browserDetails.version<72)a$1.unifiedPlan=!1;else if("undefined"==typeof RTCRtpTransceiver||"currentDirection"in RTCRtpTransceiver.prototype){const e=new RTCPeerConnection;try{e.addTransceiver("audio"),a$1.unifiedPlan=!0}catch(e){}e.close()}else a$1.unifiedPlan=!1;a$1.initDone=!0,e.callback()}},a$1.isWebrtcSupported=function(){return void 0!==window.RTCPeerConnection&&null!==window.RTCPeerConnection},a$1.isGetUserMediaAvailable=function(){return void 0!==navigator.mediaDevices&&null!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia&&null!==navigator.mediaDevices.getUserMedia},a$1.randomString=function(e){for(var r="",n=0;n{const r=this;if("function"==typeof t&&!t())return void r.eventEmitter.emit("handleTalkError",{code:-1,msg:"startTalk terminate"});const{customizeStream:n,audio:i}=e;a$1.isWebrtcSupported()&&(this.janus=new a$1({server:e.rtcUrl,success:function(){r.janus&&r.janus.attach({plugin:"rtcgw.plugin.tts",opaqueId:r.opaqueId,success:function(t){r.tts=window.tts=t;let o={request:"start",url:e.talkLink,codec:"opus",dir:"sendrecv",audio_debug:1,url_version:"1"};"gb28181"===e.talkType&&(o.devProto="gb28181"),r.tts.createOffer({media:{audio:i||!0,video:!1,data:!1},simulcast:!1,simulcast2:!1,customizeStream:n,success:function(e){r.tts.send({message:o,jsep:e})},error:function(e){var t;r.eventEmitter.emit("handleTalkError",e),(null==(t=r.tts)?void 0:t.detach)&&r.tts.detach()}})},error:function(e){r.eventEmitter.emit("handleTalkError",e)},consentDialog:function(e){},iceState:function(e){},mediaState:function(e,t){},webrtcState:function(e){},slowLink:function(e,t){},onmessage:function(e,t){null!=t&&r.tts.handleRemoteJsep({jsep:t});let n=e.result;if(null!=n){if("done"===n)return null!==r.spinner&&void 0!==r.spinner&&r.spinner.stop(),void(r.spinner=null);"msg"===n&&r.eventEmitter.emit("handleTalkMessage",e),n.status}e.rtcgw&&"ttsup"===e.rtcgw&&r.eventEmitter.emit("handleTalkSuccess",e),e.code&&0!==e.code&&r.eventEmitter.emit("handleTalkError",{code:e.code,msg:r.i18n.t(e.code)})},onlocalstream:function(e){const t=document.getElementById("myaudio");t&&a$1.attachMediaStream(t,e),"completed"!==r.tts.webrtcStuff.pc.iceConnectionState&&"connected"!==r.tts.webrtcStuff.pc.iceConnectionState&&(null==r.spinner?document.getElementById("audioright"):r.spinner.spin()),e.getAudioTracks()},onremotestream:function(e){const t=document.getElementById("peeraudio");t&&a$1.attachMediaStream(t,e);let r=e.getAudioTracks();if(null==r||0===r.length);else{const e=document.getElementById("peeraudio");e&&e.play()}},ondataopen:function(e){},ondata:function(e){},oncleanup:function(){null!==r.spinner&&void 0!==r.spinner&&r.spinner.stop(),r.spinner=null}})},error:function(e){r.eventEmitter.emit("handleTalkError",e)}},{stream:e.stream,deviceSerial:e.deviceSerial,channel:e.channelNo}))},this.stopTalk=e=>{if("function"!=typeof e||e())if(this.tts&&(this.tts.detach(),this.tts=null),this.janus){try{this.janus.destroy({success:()=>{this.eventEmitter.emit("handleStopTalkSuccess",this.janus)},error:e=>{this.eventEmitter.emit("handleStopTalkError",e)}})}catch(e){this.eventEmitter.emit("handleStopTalkError",e)}this.janus=void 0,this.tts=null}else this.eventEmitter.emit("handleStopTalkError",{code:-1,msg:"stopTalk terminate"});else this.eventEmitter.emit("handleStopTalkError",{code:-1,msg:"stopTalk terminate"})},this.destroy=()=>{},this.tts=null,this.opaqueId="tts-"+a$1.randomString(12),this.spinner=null,this.options=Object.assign({},s,t||{}),this.eventEmitter=t.eventEmitter,this.i18n=new I18n({zh:r$1,en:n$1}),this.i18n.switchTranslation(this.options.language||"zh"),a$1.init({debug:"all"})}};function d$1(){return d$1=Object.assign||function(e){for(var t=1;t{this.stopTalk(),document.body.removeChild(this.audioLeft),document.body.removeChild(this.audioRight)},this.startTalk=e=>{this.eventEmitter.emit("beforeTalk",{});const t=this;new Promise(((e,t)=>{var r,n,i,o;(null==(r=this.options.capacity)?void 0:r.support_switch_talkmode)&&"1"==this.options.capacity.support_switch_talkmode?fetch(this.options.env.domain+"/api/service/device/talkMode"+`?deviceSerial=${this.options.deviceSerial}`,{method:"GET",headers:{accessToken:(null==(i=this.options.token)||null==(n=i.deviceToken)?void 0:n.global)||(null==(o=this.options)?void 0:o.accessToken)}}).then((e=>e.json())).then((t=>{var r,n,i;t.meta&&200==t.meta.code?(null==(r=t.data)?void 0:r.valueInfo)&&0==t.data.valueInfo.mode?fetch(this.options.env.domain+"/api/v3/device/talkMode"+`?deviceSerial=${this.options.deviceSerial}&channelNo=${this.options.channelNo}&mode=1`,{method:"PUT",headers:{accessToken:(null==(i=this.options.token)||null==(n=i.deviceToken)?void 0:n.video)||this.options.accessToken}}).then((e=>e.json())).then((t=>{t.meta&&200==t.meta.code?e({}):e({code:-1,msg:"对讲模式切换失败",res:t})})).catch((t=>{e({code:-1,msg:"对讲模式切换失败",res:t})})):e({}):e({code:-1,msg:"获取当前对讲模式失败",res:t})})).catch((t=>{e({code:-1,msg:"获取当前对讲模式失败",res:t})})):e({code:-1,msg:"当前设备不支持对讲模式切换"})})).then((r=>{var n,i,o;if((null==(n=this.options.capacity)?void 0:n.support_talk)&&(!this.options.capacity||"3"!==this.options.capacity.support_talk&&"1"!==this.options.capacity.support_talk))return!1;const a=new FormData;a.append("accessToken",(null==(o=this.options.token)||null==(i=o.deviceToken)?void 0:i.video)||this.options.accessToken),a.append("deviceSerial",this.options.deviceSerial),a.append("channelNo",this.options.channelNo),fetch(this.options.env.domain+"/api/lapp/live/talk/url",{method:"POST",body:a}).then((e=>e.json())).then((r=>{if(200==r.code){const o=r.data;if(o){var n,i;let r=o.rtcUrl;-1===r.indexOf("ws")&&(r=r.replace("https","wss").replace("rtcgw","rtcgw-ws")),this.talkOptions.rtcUrl=r,this.talkOptions.ttsUrl="tts://"+o.ttsUrl,this.talkOptions.deviceSerial=this.options.deviceSerial,this.talkOptions.channelNo=this.options.channelNo,this.talkOptions.talkLink=this.talkOptions.ttsUrl.split("?")[0]+"/talk?dev="+this.talkOptions.deviceSerial+"&chann="+this.talkOptions.channelNo+"&encodetype=2",o.ttsUrl.indexOf("gb28181")>-1&&(this.talkOptions.talkType="gb28181"),e&&e(o.ttsUrl.indexOf("gb28181")>-1||-1!==this.talkOptions.deviceSerial.indexOf(":")),this.talkOptions.stream=o.stream?o.stream:(null==(i=this.options.token)||null==(n=i.streamToken)?void 0:n.talk)||this.options.accessToken,this.ttsTalk.startTalk(d$1({},this.talkOptions,{customizeStream:t._customizeStream.bind(t),audio:!this.microphoneId||{deviceId:this.microphoneId}})),this.isTalking=!0,this.observeVolumeChange({interval:100}),this.eventEmitter&&this.eventEmitter.emit("startTalk",{eventType:"startTalk",code:0,target:this,msg:"开启对讲"})}}else this.eventEmitter&&this.eventEmitter.emit("startTalk",{eventType:"startTalk",code:-1,target:this,msg:r.msg});this.ttsTalk.eventEmitter.on("handleTalkSuccess",(e=>{this.isTalking=!0,this.observeVolumeChange({interval:100}),this.eventEmitter&&this.eventEmitter.emit("startTalk",{eventType:"startTalk",code:0,target:this,msg:"开启对讲"})})),this.ttsTalk.eventEmitter.on("handleTalkError",(e=>{this.eventEmitter&&this.eventEmitter.emit("startTalk",{eventType:"startTalk",code:e.code,target:this,msg:e.msg})}))}))})).catch((e=>{}))},this.stopTalk=()=>{var e;try{this.ttsTalk.stopTalk(),this.isTalking=!1}catch(e){var t;null==(t=this.eventEmitter)||t.emit(u$1,{eventType:u$1,code:-1,msg:"结束对讲"})}this.gainNode=null,this.volumeChangeInterval&&(clearInterval(this.volumeChangeInterval),this.volumeChangeInterval=null),this.eventEmitter&&setTimeout((()=>{var e;null==(e=this.eventEmitter)||e.emit(p$1,{eventType:p$1,code:0,target:this,data:0,msg:"音量变化"})}),200);const r=document.getElementById("myaudio").srcObject;r&&r.getTracks()[0].stop(),null==(e=this.eventEmitter)||e.emit(u$1,{eventType:u$1,code:0,target:this,msg:"结束对讲"})},this.changeTalkChannelNo=e=>{this.talkOptions.channelNo=e},this._customizeStream=e=>new Promise(((t,r)=>{const n=new window.AudioContext;this.gainNode=n.createGain();const i=n.createMediaStreamSource(e);var o;this.gainNode.gain.value=null!=(o=this.volumeGain)?o:1;const a=n.createMediaStreamDestination();i.connect(this.gainNode),this.gainNode.connect(a),t(a.stream)})),this.setVolumeGain=e=>{const t=e;return"number"==typeof t&&t>=0?(this.volumeGain=Math.min(t,10),this.gainNode&&(this.gainNode.gain.value=this.volumeGain),{code:0,msg:"成功",res:null}):{code:-1,msg:"参数格式有误",res:null}},this.observeVolumeChange=e=>{const{interval:t}=e;this.volumeChangeInterval&&(clearInterval(this.volumeChangeInterval),this.volumeChangeInterval=null),this.volumeChangeInterval=setInterval((()=>{var e,t,r,n,i;null==(i=window.tts)||null==(n=i.webrtcStuff)||null==(r=n.pc)||null==(t=r.getStats)||null==(e=t.call(r))||e.then((e=>{e.forEach((e=>{var t;"media-source"===e.type&&(null==(t=this.eventEmitter)||t.emit("talkVolumeChange",{eventType:"talkVolumeChange",code:0,target:this,data:e.audioLevel,msg:"音量变化"}))}))}))}),t)},this.getMicrophonePermission=()=>new Promise(((e,t)=>{navigator.mediaDevices.getUserMedia({audio:!0}).then((t=>{t.getTracks().forEach((e=>{e.stop()})),e({code:0,msg:"成功",res:null})})).catch((t=>{e({code:-1,msg:"获取麦克风权限失败",res:t})}))})),this.getMicrophonesList=()=>new Promise(((e,t)=>{navigator.mediaDevices?navigator.mediaDevices.enumerateDevices().then((t=>{const r=[];t.forEach((e=>{"audioinput"==e.kind&&r.push(e)})),e({code:0,msg:"成功",res:r})})):e({code:-1,msg:"未查询到相关设备",res:null})})),this.setProfile=e=>{const{microphoneId:t}=e;t!==this.microphoneId&&(this.microphoneId=t,this.isTalking&&(this.stopTalk(),setTimeout((()=>{this.ttsTalk.startTalk(d$1({},this.talkOptions,{customizeStream:this._customizeStream.bind(this),audio:!this.microphoneId||{deviceId:this.microphoneId}})),this.isTalking=!0}),300)))},this.options=Object.assign({},f,e||{}),this.gainNode=null,this.volumeGain=null,this.volumeChangeInterval=null,this.microphoneId=null,this.eventEmitter=new t$1,this.ttsTalk=new c$1({eventEmitter:this.eventEmitter}),this.isTalking=!1;const r=document.createElement("div");r.id="audioleft";const n=document.createElement("audio");n.id="myaudio",n.muted=!0,n.setAttribute("autoplay","true"),n.setAttribute("controls","true"),r.appendChild(n),r.style.display="none";const i=document.createElement("div");i.id="audioright",i.style.display="none";const o=document.createElement("audio");o.id="peeraudio",o.setAttribute("autoplay","true"),o.setAttribute("controls","true"),i.appendChild(o),this.talkOptions={rtcUrl:"",talkLink:"",ttsUrl:"",stream:"",deviceSerial:this.options.deviceSerial,channelNo:this.options.channelNo},this.audioLeft=r,this.audioRight=i,document.body.appendChild(r),document.body.appendChild(i)}};v$1.VERSION="0.0.2";const isVersion2Available=()=>{var ua=window.navigator.userAgent.toLowerCase(),info_ch=(/version.*safari/.test(ua),/chrome/.test(ua));/gecko/.test(ua)&&/webkit/.test(ua);if(isMobile())return!1;if(info_ch){function getChromeVersion(){for(var arr=window.navigator.userAgent.split(" "),chromeVersion="",i=0;i91&&!!window.SharedArrayBuffer}return!1},errorCodeTransform=err=>{if(err&&err.retcode)return String(err.retcode);if(err&&err.code){return`1${String(err.code).padStart(5,"0")}`}if(err&&err.errorCode){return`39${String(err.errorCode).padStart(4,"0")}`}return"400001"};function getExplore(){var s,Sys={},ua=navigator.userAgent.toLowerCase();if((s=ua.match(/rv:([\d.]+)\) like gecko/))||(s=ua.match(/msie ([\d\.]+)/))?Sys.ie=s[1]:(s=ua.match(/edge\/([\d\.]+)/))?Sys.edge=s[1]:(s=ua.match(/firefox\/([\d\.]+)/))?Sys.firefox=s[1]:(s=ua.match(/(?:opera|opr).([\d\.]+)/))?Sys.opera=s[1]:(s=ua.match(/chrome\/([\d\.]+)/))?Sys.chrome=s[1]:(s=ua.match(/version\/([\d\.]+).*safari/))&&(Sys.safari=s[1]),Sys.chrome){let chromeStr=Sys.chrome,startIndex=chromeStr.indexOf(".");return Number(chromeStr.substring(0,startIndex))}return-1}function isSupHardDecAVC(callback){return getExplore()>=94}function isSupHardDecHEVC(callback){if(getExplore()>=107){let config={codec:"hvc1.1.6.L123.00",hardwareAcceleration:"prefer-hardware"};window.VideoDecoder&&VideoDecoder.isConfigSupported(config).then((configInfo=>{configInfo.supported}))}}const DOMAIN="https://open.ys7.com",DEFAULT_OPTIONS={loggerOptions:{level:"INFO",showTime:!0,name:"ezuikit"},autoplay:!0,env:{domain:DOMAIN},host:DOMAIN.replace("https://",""),streamInfoCBType:1,videoLevelList:null},SPEED_LIST=[16,8,4,2,1,.5],VIDEO_LEVEL=[{videoLevel:1,streamTypeIn:1,type:"compatible"},{videoLevel:2,streamTypeIn:1,type:"compatible"}],VIDEO_LEVEL_NAME={auto:"VIDEO_LEVEL_AUTO",0:"VIDEO_LEVEL_FLUENT",1:"VIDEO_LEVEL_STANDARD",2:"VIDEO_LEVEL_HEIGH",3:"VIDEO_LEVEL_SUPER",4:"VIDEO_LEVEL_EXTREME",5:"VIDEO_LEVEL_3K",6:"VIDEO_LEVEL_4k"},EVENTS={init:"init",decoderLoad:"decoderLoad",decoderLoaded:"decoderLoaded",firstFrameDisplay:"firstFrameDisplay",streamInfoCB:"streamInfoCB",videoInfo:"videoInfo",audioInfo:"audioInfo",play:"play",stop:"stop",changeVideoLevel:"changeVideoLevel",reSetTheme:"reSetTheme",changePlayUrl:"changePlayUrl",getOSDTime:"getOSDTime",capturePicture:"capturePicture",startSave:"startSave",stopSave:"stopSave",openSound:"openSound",closeSound:"closeSound",enable3DZoom:"enable3DZoom",close3DZoom:"close3DZoom",changeZoomType:"changeZoomType",setPoster:"setPoster",resize:"resize",fast:"fast",slow:"slow",speedChange:"speedChange",seek:"seek",fullscreen:"fullscreen",exitFullscreen:"exitFullscreen",fullscreenChange:"fullscreenChange",destroy:"destroy",getDeviceCapacity:"getDeviceCapacity",pause:"pause",resume:"resume",getVideoLevelList:"getVideoLevelList",setVideoLevelList:"setVideoLevelList",currentVideoLevel:"currentVideoLevel",autoVideoLevel:"autoVideoLevel",getVideoLevel:"getVideoLevel",getPtzStatus:"getPtzStatus",getPlayRate:"getPlayRate",setMirrorFlip:"setMirrorFlip",setFECCorrectType:"setFECCorrectType",setFEC3DViewParam:"setFEC3DViewParam",getFEC3DViewParam:"getFEC3DViewParam",setWaterMarkFont:"setWaterMarkFont",talkVolumeChange:"talkVolumeChange",startTalk:"startTalk",stopTalk:"stopTalk",talkSuccess:"talkSuccess",talkError:"talkError",recTypeChange:"recTypeChange",recTimeChange:"recTimeChange",setLoggerOptions:"setLoggerOptions",setDisplayRegion:"setDisplayRegion",setAllDayRecTimes:"setAllDayRecTimes",setRecTimes:"setRecTimes",changeTheme:"changeTheme",date:{openDatePanel:"openDatePanel",closeDatePanel:"closeDatePanel",recStartTimeChange:"recStartTimeChange"},ptz:{openPtz:"openPtz",closePtz:"closePtz",ptzDirection:"ptzDirection",ptzSpeedChange:"ptzSpeedChange",ptzBtnClick:"ptzBtnClick"},zoom:{startZoom:"startZoom",closeZoom:"closeZoom",onZoomChange:"onZoomChange",openZoom:"openZoom",closeZoom:"closeZoom"},timeLine:{timeWidthChange:"timeWidthChange"},http:{getCloudRecordTimes:"getCloudRecordTimes",getLocalRecTimes:"getLocalRecTimes",getCloudRecTimes:"getCloudRecTimes",getDeviceInfo:"getDeviceInfo",getDeviceList:"getDeviceList",setVideoLevel:"setVideoLevel",getDeviceSupportQuality:"getDeviceSupportQuality",getStreamAddressList:"getStreamAddressList"}};class DateTime{static formate(date,formatType,timeZone=0){let dateTime=date;"string"==typeof date?dateTime=DateTime.strToDate(date):"number"==typeof date&&(dateTime=new Date(date)),dateTime=new Date(dateTime.getTime()-3600*timeZone*1e3);const year=dateTime.getFullYear(),month=String(dateTime.getMonth()+1).padStart(2,"0"),day=String(dateTime.getDate()).padStart(2,"0"),hours=String(dateTime.getHours()).padStart(2,"0"),minutes=String(dateTime.getMinutes()).padStart(2,"0"),seconds=String(dateTime.getSeconds()).padStart(2,"0");switch(formatType){case"YYYY-MM-DD hh:mm:ss":return`${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;case"YYYYMMDDhhmmss":return`${year}${month}${day}${hours}${minutes}${seconds}`;case"YYYY/MM/DD hh:mm:ss":return`${year}/${month}/${day} ${hours}:${minutes}:${seconds}`;case"YYYYMMDDThhmmssZ":return`${year}${month}${day}T${hours}${minutes}${seconds}Z`;case"YYYY/MM/DD":return`${year}/${month}/${day}`;case"YYYYMMDD":return`${year}${month}${day}`;case"YYYY-MM-DD":return`${year}-${month}-${day}`;case"YYYY":return`${year}`;case"MM":return`${month}`;case"DD":return`${day}`;case"hh:mm:ss":return`${hours}:${minutes}:${seconds}`;case"hh":return`${hours}`;case"mm":return`${minutes}`;case"ss":return`${seconds}`;default:throw new Error("Unsupported format type")}}static diff(date1,date2,diffType){let dateTime1=date1;"string"==typeof date1?dateTime1=DateTime.strToDate(date1):"number"==typeof date1&&(dateTime1=new Date(date1));let dateTime2=date2;"string"==typeof date2?dateTime1=DateTime.strToDate(date2):"number"==typeof date2&&(dateTime1=new Date(date2));const diffSecond=dateTime1.getTime()-dateTime2.getTime();switch(diffType){case"year":return dateTime1.getFullYear()-dateTime2.getFullYear();case"month":let months=12*(dateTime1.getFullYear()-dateTime2.getFullYear())+(dateTime1.getMonth()-dateTime2.getMonth());return dateTime1.getDate()_extends$d({},item,{startTime:item.startTime-3600*(timeZone||0),endTime:item.endTime-3600*(timeZone||0)}))).sort(((a,b)=>a.startTime-b.startTime))}function asyncGeneratorStep$6(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _async_to_generator$6(fn){return function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep$6(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep$6(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))}}function _extends$c(){return _extends$c=Object.assign||function(target){for(var i=1;i{const index=_this.controllers.findIndex((item=>item===controller));index>-1&&_this.controllers.splice(index,1)}))}))()}get(url,options={}){return this._fetch(url,_extends$c({},options||{},{method:"get"}))}post(url,options={}){return this._fetch(url,_extends$c({},options||{},{method:"post"}))}put(url,options={}){return this._fetch(url,_extends$c({},options||{},{method:"put"}))}delete(url,options={}){return this._fetch(url,_extends$c({},options||{},{method:"delete"}))}getAppKey(){var _this=this;return _async_to_generator$6((function*(){var _this__options_token_deviceToken,_this__options_token;return"custom"===_this._options.sdkType?new Promise((resolve=>{resolve({meta:{code:200,message:"操作成功",moreInfo:{}},data:{appKey:"ezuikit-custom"}})})):_this.get(`${API_getAppKey}?checkToken=${_this._options.accessToken||(null==(_this__options_token=_this._options.token)||null==(_this__options_token_deviceToken=_this__options_token.deviceToken)?void 0:_this__options_token_deviceToken.video)}&sn=${_this._options.deviceSerial}&cno=${_this._options.channelNo}`,{headers:null}).then((response=>response.json())).catch((()=>""))}))()}getDeviceInfo(){var _this=this;return _async_to_generator$6((function*(){var _this__options_token_deviceToken,_this__options_token;const formData=new FormData;return formData.append("accessToken",_this._options.accessToken||(null==(_this__options_token=_this._options.token)||null==(_this__options_token_deviceToken=_this__options_token.deviceToken)?void 0:_this__options_token_deviceToken.global)||""),formData.append("deviceSerial",_this._options.deviceSerial),_this.post(API_getDeviceInfo,{body:formData,headers:null}).then((response=>response.json())).then((res=>200==+res.code?res.data:{}))}))()}getDeviceCapacity(){var _this=this;return _async_to_generator$6((function*(){var _this__options_token_deviceToken,_this__options_token;let formData=new FormData;return formData.append("accessToken",_this._options.accessToken||(null==(_this__options_token=_this._options.token)||null==(_this__options_token_deviceToken=_this__options_token.deviceToken)?void 0:_this__options_token_deviceToken.video)||""),formData.append("deviceSerial",_this._options.deviceSerial),_this.post(API_getDeviceCapacity,{body:formData,headers:null}).then((response=>response.json())).then((res=>200==+res.code?res.data:{})).catch((()=>({})))}))()}getStreamAddressList(){var _this=this;return _async_to_generator$6((function*(){var _this__options_token_deviceToken,_this__options_token;return"custom"===_this._options.sdkType?new Promise((resolve=>{resolve([0,{domain:"",port:0,backups:[]}])})):_this.get(API_getStreamAddressList,{headers:{accessToken:_this._options.accessToken||(null==(_this__options_token=_this._options.token)||null==(_this__options_token_deviceToken=_this__options_token.deviceToken)?void 0:_this__options_token_deviceToken.video)}}).then((response=>response.json())).then((res=>{if(res.meta&&200==res.meta.code){var _addressList_;let addressList={};try{addressList=JSON.parse(localStorage.getItem("ezuikit_addressList")||"{}")}catch(error){}let updatereloadAddress=object=>{const listKey=_this._options.deviceSerial+"_"+_this._options.channelNo,date=new Date;addressList[listKey]=[{domain:object.domain?object.domain:object.addr?object.addr:"",port:object.port,expire:new Date(date.setHours(date.getHours()+12)).Format("yyyyMMddThhmmssZ")}],Array.isArray(object.backups)&&object.backups.map((item=>{addressList[listKey].push({domain:item.domain?item.domain:item.addr?item.addr:"",port:item.port,expire:new Date(date.setHours(date.getHours()+12)).Format("yyyyMMddThhmmssZ")})}));try{window.localStorage.setItem("ezuikit_addressList",JSON.stringify(addressList))}catch(error){}},arraysAreEqual=(arr1,arr2)=>{if(arr1.length!==arr2.length)return!1;let sortedArr1=[...arr1].sort(((a,b)=>a.domain>b.domain?1:-1)),sortedArr2=[...arr2].sort(((a,b)=>a.domain>b.domain?1:-1));for(let i=0;iresponse.json())).then((res=>((res.meta&&200===res.meta.code&&res.data&&res.data.length>0?res.data:VIDEO_LEVEL).map((item=>{item.videoLevel>6||item.videoLevel<0||result.push({name:VIDEO_LEVEL_NAME[item.videoLevel],level:item.videoLevel,streamTypeIn:item.streamTypeIn,type:item.type})})),result.sort(((a,b)=>a.level>b.level?1:-1))))).catch((()=>(VIDEO_LEVEL.map((item=>{result.push({name:VIDEO_LEVEL_NAME[item.videoLevel],level:item.videoLevel,streamTypeIn:item.streamTypeIn,type:"compatible"})})),result)))}))()}getDeviceList(params={}){var _this=this;return _async_to_generator$6((function*(){var _this__options_token_deviceToken,_this__options_token;const token=params.accessToken||_this._options.accessToken||(null==(_this__options_token=_this._options.token)||null==(_this__options_token_deviceToken=_this__options_token.deviceToken)?void 0:_this__options_token_deviceToken.video),deviceSerial=params.deviceSerial||_this._options.deviceSerial;return _this.post(`/api/lapp/device/camera/list?accessToken=${token}&deviceSerial=${deviceSerial}`).then((response=>response.json())).then((res=>200==+(null==res?void 0:res.code)?res.data:[])).catch((()=>[]))}))()}setVideoLevel(videoLevel){var _this=this;return _async_to_generator$6((function*(){var _this__options_token_deviceToken,_this__options_token,_this__options_token_deviceToken1,_this__options_token1;const data=new FormData;return data.append("videoLevel",videoLevel+""),"custom"===_this._options.sdkType&&(data.append("accessToken",_this._options.accessToken),data.append("deviceSerial",_this._options.deviceSerial),data.append("localIndex",_this._options.channelNo+"")),+videoLevel<0?{}:_this.post(`${API_setVideoLevel}?accessToken=${_this._options.accessToken||(null==(_this__options_token=_this._options.token)||null==(_this__options_token_deviceToken=_this__options_token.deviceToken)?void 0:_this__options_token_deviceToken.video)}`,{headers:{accessToken:_this._options.accessToken||(null==(_this__options_token1=_this._options.token)||null==(_this__options_token_deviceToken1=_this__options_token1.deviceToken)?void 0:_this__options_token_deviceToken1.video)},body:data}).then((response=>response.json())).then((res=>res))}))()}getEzopenUrl(url){var _this=this;return _async_to_generator$6((function*(){var _window_navigator,_window,_this__options,_this__options_token_deviceToken,_this__options_token;let formData=new FormData;if(formData.append("isFlv","false"),formData.append("userAgent",(null==(_window=window)||null==(_window_navigator=_window.navigator)?void 0:_window_navigator.userAgent)||""),formData.append("isHttp","false"),formData.append("needStreamToken",(null==(_this__options=_this._options)?void 0:_this__options.accessToken)?"1":"0"),formData.append("accessToken",_this._options.accessToken||(null==(_this__options_token=_this._options.token)||null==(_this__options_token_deviceToken=_this__options_token.deviceToken)?void 0:_this__options_token_deviceToken.video)||""),formData.append("ezopen",url),_this._options.ezopenParams&&"[object Object]"===Object.prototype.toString.call(_this._options.ezopenParams))for(var key in _this._options.ezopenParams)formData.append(key,_this._options.ezopenParams[key]);return _this.post(API_ezopen,{body:formData,headers:{sdkVersion:"8.2.2"}}).then((response=>response.json())).then((res=>{if(200==+(null==res?void 0:res.code)||0==res.retcode){var _this__options_token_streamToken,_this__options_token,_this__options;let realUrl="",token="";const streamToken=null==(_this__options=_this._options)||null==(_this__options_token=_this__options.token)||null==(_this__options_token_streamToken=_this__options_token.streamToken)?void 0:_this__options_token_streamToken[res.data.indexOf("live")>-1||res.data.indexOf("cloud")>-1?"live":"rec"];if(res.ext&&res.ext.token)realUrl+=res.data,token=_this._options.accessToken?res.ext.token:streamToken;else if(res.data){var _res_data;if("string"==typeof res.data&&streamToken)realUrl+=res.data,token=streamToken;else realUrl+=(null==(_res_data=res.data)?void 0:_res_data.url)||"",token=_this._options.accessToken?res.data.token:streamToken}if(realUrl="live"===(-1!==url.indexOf("live")?"live":"playback")?realUrl+"&ssn="+(token||"")+"&auth=1&biz=4&cln=100":realUrl+"&ssn="+(token||"")+"&auth=1&cln=100",_this._options.wsParams&&"[object Object]"===Object.prototype.toString.call(_this._options.wsParams))for(const key in _this._options.wsParams)realUrl+="&"+key+"="+_this._options.wsParams[key]||"";return realUrl.replace(/&&/gi,"&")}return res})).catch((()=>""))}))()}getCloudRecordTimes(body){var _this=this;return _async_to_generator$6((function*(){var _this__options_token_deviceToken,_this__options_token;const query={startTime:body.begin?DateTime.formate(body.begin,"YYYY-MM-DD hh:mm:ss"):void 0,endTime:body.end?DateTime.formate(body.end,"YYYY-MM-DD hh:mm:ss"):void 0,spaceId:body.spaceId||void 0},queryStr=Object.keys(query).reduce(((acc,key)=>null==query[key]?acc:acc+=`&${key}=${encodeURIComponent(query[key])}`),"").replace("&","");return _this.get(API_getCloudRecordTimes+`?${queryStr}`,{headers:{accessToken:(null==(_this__options_token=_this._options.token)||null==(_this__options_token_deviceToken=_this__options_token.deviceToken)?void 0:_this__options_token_deviceToken.global)||_this._options.accessToken}}).then((response=>response.json())).then((res=>{var _res_meta;if(200==+(null==res||null==(_res_meta=res.meta)?void 0:_res_meta.code)){const mergeList=mergeTimes((res.data||[]).map((item=>(item.endTime=parseInt(DateTime.strToDate(item.stopTime).getTime()/1e3+"",10),item.startTime=parseInt(DateTime.strToDate(item.startTime).getTime()/1e3+"",10),item.busType=7,item.iStorageVersion=item.istorageVersion,item))));return mergeList.length>0&&(mergeList[0].startTimeparseInt(DateTime.strToDate(DateTime.formate(body.end,"YYYY-MM-DD hh:mm:ss")).getTime()/1e3+"",10)&&(mergeList[mergeList.length-1].endTime=parseInt(DateTime.strToDate(DateTime.formate(body.end,"YYYY-MM-DD hh:mm:ss")).getTime()/1e3+"",10))),mergeList}return[]})).catch((()=>[]))}))()}getCloudTimes(body){var _this=this;return _async_to_generator$6((function*(){var _this__options_token_deviceToken,_this__options_token;const data=new FormData;data.append("recType",body.url&&-1===body.url.indexOf(".cloud")?"2":"1"),data.append("version","2.0"),data.append("deviceSerial",_this._options.deviceSerial),data.append("channelNo",_this._options.channelNo+""),data.append("accessToken",_this._options.accessToken||(null==(_this__options_token=_this._options.token)||null==(_this__options_token_deviceToken=_this__options_token.deviceToken)?void 0:_this__options_token_deviceToken.video)||""),body.begin&&data.append("startTime",DateTime.strToDate(body.begin+"").getTime()+""),body.end&&data.append("endTime",DateTime.strToDate(body.end+"").getTime()+"");let list=[];const getCloudTimesHttp=_async_to_generator$6((function*(data){try{yield _this.post(`${API_getCloudTimes}`,{headers:null,body:data}).then((response=>response.json())).then(_async_to_generator$6((function*(res){if(200==+res.code&&res.data){var _res_data,_res_data_files,_res_data1,_res_data2,_res_data3;let files=[];if(Array.isArray(res.data))files=res.data;else if((null==(_res_data=res.data)?void 0:_res_data.files)&&(null==(_res_data1=res.data)||null==(_res_data_files=_res_data1.files)?void 0:_res_data_files.length)>0){var _res_data4;files=(null==(_res_data4=res.data)?void 0:_res_data4.files)||[]}if(list=list.concat(files),!(null==(_res_data2=res.data)?void 0:_res_data2.isAll)&&(null==(_res_data3=res.data)?void 0:_res_data3.nextFileTime))return data.append("startTime",res.data.nextFileTime),yield getCloudTimesHttp(data)}})))}catch(error){}}));yield getCloudTimesHttp(data),list=list.map((item=>_extends$c({},item,{endTime:parseInt(item.endTime/1e3+"",10),startTime:parseInt(item.startTime/1e3+"",10)})));const mergeList=mergeTimes(list,_this._options.timeZone||0);return mergeList.length>0&&(mergeList[0].startTimeparseInt(DateTime.strToDate(body.end+"").getTime()/1e3+"",10)&&(mergeList[mergeList.length-1].endTime=parseInt(DateTime.strToDate(body.end+"").getTime()/1e3+"",10))),mergeList}))()}getLocalRecTimes(params){var _this=this;return _async_to_generator$6((function*(){if("custom"===_this._options.sdkType){var _this__options_token_deviceToken,_this__options_token;const data=new FormData;data.append("recType","2"),data.append("version","2.0"),data.append("deviceSerial",_this._options.deviceSerial),data.append("channelNo",_this._options.channelNo+""),data.append("accessToken",_this._options.accessToken||(null==(_this__options_token=_this._options.token)||null==(_this__options_token_deviceToken=_this__options_token.deviceToken)?void 0:_this__options_token_deviceToken.video)||""),params.begin&&data.append("startTime",DateTime.strToDate(params.begin+"").getTime()+""),params.end&&data.append("endTime",DateTime.strToDate(params.end+"").getTime()+"");let list=[];const getLocalTimesHttp=_async_to_generator$6((function*(data){try{yield _this.post(`${API_getCloudTimes}`,{body:data}).then((response=>response.json())).then(_async_to_generator$6((function*(res){if(200==+res.code&&res.data){var _res_data,_res_data_files,_res_data1,_res_data2,_res_data3;let files=[];if(Array.isArray(res.data))files=res.data;else if((null==(_res_data=res.data)?void 0:_res_data.files)&&(null==(_res_data1=res.data)||null==(_res_data_files=_res_data1.files)?void 0:_res_data_files.length)>0){var _res_data4;files=(null==(_res_data4=res.data)?void 0:_res_data4.files)||[]}if(list=list.concat(files),!(null==(_res_data2=res.data)?void 0:_res_data2.isAll)&&(null==(_res_data3=res.data)?void 0:_res_data3.nextFileTime))return data.append("startTime",res.data.nextFileTime),yield getLocalTimesHttp(data)}})))}catch(error){}}));yield getLocalTimesHttp(data),list=list.map((item=>_extends$c({},item,{endTime:parseInt(item.endTime/1e3+"",10),startTime:parseInt(item.startTime/1e3+"",10)})));const mergeList=mergeTimes(list||[],_this._options.timeZone||0);return mergeList.length>0&&(mergeList[0].startTimeparseInt(DateTime.strToDate(params.end+"").getTime()/1e3+"",10)&&(mergeList[mergeList.length-1].endTime=parseInt(DateTime.strToDate(params.end+"").getTime()/1e3+"",10))),mergeList}{const startTime=parseInt(DateTime.strToDate(params.begin+"").getTime()/1e3+"",10),endTime=parseInt(DateTime.strToDate(params.end+"").getTime()/1e3+"",10),getLocalVideoUnifyQueryHttp=_async_to_generator$6((function*(params){let list=[];try{var _this__options_token_deviceToken,_this__options_token,_data_meta,_data_data_records,_data_data,_data_data1;const data=yield _this.get(`${API_getLocalRecTimes}?startTime=${params.startTime}&endTime=${params.endTime}&pageSize=${params.pageSize||200}`,{headers:{accessToken:_this._options.accessToken||(null==(_this__options_token=_this._options.token)||null==(_this__options_token_deviceToken=_this__options_token.deviceToken)?void 0:_this__options_token_deviceToken.video),deviceSerial:_this._options.deviceSerial}}).then((res=>res.json()));if(200!=+(null==data||null==(_data_meta=data.meta)?void 0:_data_meta.code))return list;var _data_data2;if((null==data||null==(_data_data=data.data)||null==(_data_data_records=_data_data.records)?void 0:_data_data_records.length)&&(list=list.concat(data.data.records||[])),null==data||null==(_data_data1=data.data)?void 0:_data_data1.hasMore)list=list.concat(yield getLocalVideoUnifyQueryHttp(_extends$c({},params,{startTime:null==data||null==(_data_data2=data.data)?void 0:_data_data2.nextFileTime})))}catch(error){}return list})),mergeList=mergeTimes((yield getLocalVideoUnifyQueryHttp({startTime:startTime,endTime:endTime}))||[]||[],_this._options.timeZone||0);return mergeList.length>0&&(mergeList[0].startTimeendTime&&(mergeList[mergeList.length-1].endTime=endTime)),mergeList}}))()}postDevicePtzMirror(command){var _this=this;return _async_to_generator$6((function*(){var _this__options_token_deviceToken,_this__options_token;const data=new FormData;data.append("command",command+""),data.append("accessToken",_this._options.accessToken||(null==(_this__options_token=_this._options.token)||null==(_this__options_token_deviceToken=_this__options_token.deviceToken)?void 0:_this__options_token_deviceToken.video)||""),data.append("deviceSerial",_this._options.deviceSerial),data.append("channelNo",_this._options.channelNo+""),_this.post(API_ptzMirror,{body:data})}))()}abort(){this.controllers.length>0&&(this.controllers.forEach((controller=>{controller.abort("abort fetch")})),this.controllers=[])}destroy(){this.abort()}constructor(options){this.controllers=[],this._options=deepmerge({baseURL:DOMAIN},options,{clone:!1}),this._options.baseURL||(this._options.baseURL=DOMAIN),this._options.baseURL=this._options.baseURL.replace(/\/$/,"")}} /* * * @ezuikit/utils-collect v0.1.1 * Copyright (c) 2025-4-15 Ezviz-OpenBiz * Released under MIT the License. * - */var fr,ur,pr,mr,_r=(fr="undefined"!=typeof self?self:window,ur={navigator:void 0!==fr.navigator?fr.navigator:{userAgent:""},infoMap:{engine:["WebKit","Trident","Gecko","Presto"],browser:["Safari","Chrome","Edge","IE","Firefox","Firefox Focus","Chromium","Opera","Vivaldi","Yandex","Arora","Lunascape","QupZilla","Coc Coc","Kindle","Iceweasel","Konqueror","Iceape","SeaMonkey","Epiphany","360","360SE","360EE","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","LBBROWSER","2345Explorer","TheWorld","XiaoMi","Quark","Qiyu","Wechat","Taobao","Alipay","Weibo","Douban","Suning","iQiYi"],os:["Windows","Linux","Mac OS","Android","Ubuntu","FreeBSD","Debian","iOS","Windows Phone","BlackBerry","MeeGo","Symbian","Chrome OS","WebOS"],device:["Mobile","Tablet","iPad"]}},pr={getMatchMap:function(A){return{Trident:A.indexOf("Trident")>-1||A.indexOf("NET CLR")>-1,Presto:A.indexOf("Presto")>-1,WebKit:A.indexOf("AppleWebKit")>-1,Gecko:A.indexOf("Gecko/")>-1,Safari:A.indexOf("Safari")>-1,Chrome:A.indexOf("Chrome")>-1||A.indexOf("CriOS")>-1,IE:A.indexOf("MSIE")>-1||A.indexOf("Trident")>-1,Edge:A.indexOf("Edge")>-1,Firefox:A.indexOf("Firefox")>-1||A.indexOf("FxiOS")>-1,"Firefox Focus":A.indexOf("Focus")>-1,Chromium:A.indexOf("Chromium")>-1,Opera:A.indexOf("Opera")>-1||A.indexOf("OPR")>-1,Vivaldi:A.indexOf("Vivaldi")>-1,Yandex:A.indexOf("YaBrowser")>-1,Arora:A.indexOf("Arora")>-1,Lunascape:A.indexOf("Lunascape")>-1,QupZilla:A.indexOf("QupZilla")>-1,"Coc Coc":A.indexOf("coc_coc_browser")>-1,Kindle:A.indexOf("Kindle")>-1||A.indexOf("Silk/")>-1,Iceweasel:A.indexOf("Iceweasel")>-1,Konqueror:A.indexOf("Konqueror")>-1,Iceape:A.indexOf("Iceape")>-1,SeaMonkey:A.indexOf("SeaMonkey")>-1,Epiphany:A.indexOf("Epiphany")>-1,360:A.indexOf("QihooBrowser")>-1||A.indexOf("QHBrowser")>-1,"360EE":A.indexOf("360EE")>-1,"360SE":A.indexOf("360SE")>-1,UC:A.indexOf("UC")>-1||A.indexOf(" UBrowser")>-1,QQBrowser:A.indexOf("QQBrowser")>-1,QQ:A.indexOf("QQ/")>-1,Baidu:A.indexOf("Baidu")>-1||A.indexOf("BIDUBrowser")>-1,Maxthon:A.indexOf("Maxthon")>-1,Sogou:A.indexOf("MetaSr")>-1||A.indexOf("Sogou")>-1,LBBROWSER:A.indexOf("LBBROWSER")>-1,"2345Explorer":A.indexOf("2345Explorer")>-1,TheWorld:A.indexOf("TheWorld")>-1,XiaoMi:A.indexOf("MiuiBrowser")>-1,Quark:A.indexOf("Quark")>-1,Qiyu:A.indexOf("Qiyu")>-1,Wechat:A.indexOf("MicroMessenger")>-1,Taobao:A.indexOf("AliApp(TB")>-1,Alipay:A.indexOf("AliApp(AP")>-1,Weibo:A.indexOf("Weibo")>-1,Douban:A.indexOf("com.douban.frodo")>-1,Suning:A.indexOf("SNEBUY-APP")>-1,iQiYi:A.indexOf("IqiyiApp")>-1,Windows:A.indexOf("Windows")>-1,Linux:A.indexOf("Linux")>-1||A.indexOf("X11")>-1,"Mac OS":A.indexOf("Macintosh")>-1,Android:A.indexOf("Android")>-1||A.indexOf("Adr")>-1,Ubuntu:A.indexOf("Ubuntu")>-1,FreeBSD:A.indexOf("FreeBSD")>-1,Debian:A.indexOf("Debian")>-1,"Windows Phone":A.indexOf("IEMobile")>-1||A.indexOf("Windows Phone")>-1,BlackBerry:A.indexOf("BlackBerry")>-1||A.indexOf("RIM")>-1,MeeGo:A.indexOf("MeeGo")>-1,Symbian:A.indexOf("Symbian")>-1,iOS:A.indexOf("like Mac OS X")>-1,"Chrome OS":A.indexOf("CrOS")>-1,WebOS:A.indexOf("hpwOS")>-1,Mobile:A.indexOf("Mobi")>-1||A.indexOf("iPh")>-1||A.indexOf("480")>-1,Tablet:A.indexOf("Tablet")>-1||A.indexOf("Nexus 7")>-1,iPad:A.indexOf("iPad")>-1}},matchInfoMap:function(A){var e,t=(null==(e=ur.navigator)?void 0:e.userAgent)||"",i=pr.getMatchMap(t);for(var a in ur.infoMap)for(var r=0;r36&&fr.showModalDialog?a=!0:+r>45&&(a=t("type","application/vnd.chromium.remoting-viewer"))}if(i.Baidu&&i.Opera&&(i.Baidu=!1),i.Mobile&&(i.Mobile=!e.includes("iPad")),a&&(t("type","application/gameplugin")||ur.navigator&&void 0===ur.navigator.connection.saveData?i["360SE"]=!0:i["360EE"]=!0),i.IE||i.Edge)switch(window.screenTop-window.screenY){case 71:case 74:case 99:case 75:case 105:break;case 102:i["360EE"]=!0;break;case 104:i["360SE"]=!0}var n={Safari:function(){return e.replace(/^.*Version\/([\d.]+).*$/,"$1")},Chrome:function(){return e.replace(/^.*Chrome\/([\d.]+).*$/,"$1").replace(/^.*CriOS\/([\d.]+).*$/,"$1")},IE:function(){return e.replace(/^.*MSIE ([\d.]+).*$/,"$1").replace(/^.*rv:([\d.]+).*$/,"$1")},Edge:function(){return e.replace(/^.*Edge\/([\d.]+).*$/,"$1")},Firefox:function(){return e.replace(/^.*Firefox\/([\d.]+).*$/,"$1").replace(/^.*FxiOS\/([\d.]+).*$/,"$1")},"Firefox Focus":function(){return e.replace(/^.*Focus\/([\d.]+).*$/,"$1")},Chromium:function(){return e.replace(/^.*Chromium\/([\d.]+).*$/,"$1")},Opera:function(){return e.replace(/^.*Opera\/([\d.]+).*$/,"$1").replace(/^.*OPR\/([\d.]+).*$/,"$1")},Vivaldi:function(){return e.replace(/^.*Vivaldi\/([\d.]+).*$/,"$1")},Yandex:function(){return e.replace(/^.*YaBrowser\/([\d.]+).*$/,"$1")},Arora:function(){return e.replace(/^.*Arora\/([\d.]+).*$/,"$1")},Lunascape:function(){return e.replace(/^.*Lunascape[\/\s]([\d.]+).*$/,"$1")},QupZilla:function(){return e.replace(/^.*QupZilla[\/\s]([\d.]+).*$/,"$1")},"Coc Coc":function(){return e.replace(/^.*coc_coc_browser\/([\d.]+).*$/,"$1")},Kindle:function(){return e.replace(/^.*Version\/([\d.]+).*$/,"$1")},Iceweasel:function(){return e.replace(/^.*Iceweasel\/([\d.]+).*$/,"$1")},Konqueror:function(){return e.replace(/^.*Konqueror\/([\d.]+).*$/,"$1")},Iceape:function(){return e.replace(/^.*Iceape\/([\d.]+).*$/,"$1")},SeaMonkey:function(){return e.replace(/^.*SeaMonkey\/([\d.]+).*$/,"$1")},Epiphany:function(){return e.replace(/^.*Epiphany\/([\d.]+).*$/,"$1")},360:function(){return e.replace(/^.*QihooBrowser\/([\d.]+).*$/,"$1")},"360SE":function(){return{63:"10.0",55:"9.1",45:"8.1",42:"8.0",31:"7.0",21:"6.3"}[+e.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},"360EE":function(){return{69:"11.0",63:"9.5",55:"9.0",50:"8.7",30:"7.5"}[+e.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},Maxthon:function(){return e.replace(/^.*Maxthon\/([\d.]+).*$/,"$1")},QQBrowser:function(){return e.replace(/^.*QQBrowser\/([\d.]+).*$/,"$1")},QQ:function(){return e.replace(/^.*QQ\/([\d.]+).*$/,"$1")},Baidu:function(){return e.replace(/^.*BIDUBrowser[\s\/]([\d.]+).*$/,"$1")},UC:function(){return e.replace(/^.*UC?Browser\/([\d.]+).*$/,"$1")},Sogou:function(){return e.replace(/^.*SE ([\d.X]+).*$/,"$1").replace(/^.*SogouMobileBrowser\/([\d.]+).*$/,"$1")},LBBROWSER:function(){return{57:"6.5",49:"6.0",46:"5.9",42:"5.3",39:"5.2",34:"5.0",29:"4.5",21:"4.0"}[+navigator.userAgent.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},"2345Explorer":function(){return e.replace(/^.*2345Explorer\/([\d.]+).*$/,"$1")},TheWorld:function(){return e.replace(/^.*TheWorld ([\d.]+).*$/,"$1")},XiaoMi:function(){return e.replace(/^.*MiuiBrowser\/([\d.]+).*$/,"$1")},Quark:function(){return e.replace(/^.*Quark\/([\d.]+).*$/,"$1")},Qiyu:function(){return e.replace(/^.*Qiyu\/([\d.]+).*$/,"$1")},Wechat:function(){return e.replace(/^.*MicroMessenger\/([\d.]+).*$/,"$1")},Taobao:function(){return e.replace(/^.*AliApp\(TB\/([\d.]+).*$/,"$1")},Alipay:function(){return e.replace(/^.*AliApp\(AP\/([\d.]+).*$/,"$1")},Weibo:function(){return e.replace(/^.*weibo__([\d.]+).*$/,"$1")},Douban:function(){return e.replace(/^.*com.douban.frodo\/([\d.]+).*$/,"$1")},Suning:function(){return e.replace(/^.*SNEBUY-APP([\d.]+).*$/,"$1")},iQiYi:function(){return e.replace(/^.*IqiyiVersion\/([\d.]+).*$/,"$1")}};return A.browserVersion="",n[A.browser]&&(A.browserVersion=n[A.browser](),A.browserVersion==e&&(A.browserVersion="")),"Edge"==A.browser&&(A.engine="EdgeHTML"),"Chrome"==A.browser&&parseInt(A.browserVersion)>27&&(A.engine="Blink"),"Opera"==A.browser&&parseInt(A.browserVersion)>12&&(A.engine="Blink"),"Yandex"==A.browser&&(A.engine="Blink"),A.browser+" (version: "+A.browserVersion+"; kernel: "+A.engine+")"}},mr={DeviceInfoObj:function(A){var e,t=function(e){var t;null==(t=A.info)||t.forEach((function(A){A.toLowerCase()===e.toLowerCase()&&(a[e]=i[e])}))};A=A||{domain:""};var i={deviceType:pr.getDeviceType(),OS:pr.getOS(),OSVersion:pr.getOSVersion(),sh:fr.screen.height,sw:fr.screen.width,lang:pr.getLanguage(),netWork:pr.getNetwork(),orientation:pr.getOrientationStatu(),browserInfo:pr.getBrowserInfo(),fingerprint:pr.createFingerprint(A.domain),userAgent:null==(e=ur.navigator)?void 0:e.userAgent};if(!A.info||0===A.info.length)return i;var a={};for(var r in i)t(r);return a}},{getDeviceInfo:function(A){return mr.DeviceInfoObj(A)}}),yr=function(){function A(){}return A.add=function(e,t){A.queues.push({url:e,data:t})},A.fire=function(){if(A.queues&&0!==A.queues.length){A.isStop=!1;var e=A.queues[0];e.url&&A.api.report(e.data),A.queues.splice(0,1),A.fire()}else A.isStop=!0},A}();function Sr(A){return A&&"undefined"!=typeof Symbol&&A.constructor===Symbol?"symbol":typeof A}yr.isStop=!0,yr.queues=[];var Dr=function(){function A(A){this.url=A}var e=A.prototype;return e.report=function(A){this.checkUrl(this.url)&&this.sendInfo(A)},e.sendInfo=function(A){navigator.sendBeacon?this.sendBeacon(this.url,A):this.sendImage(this.url,A)},e.sendImage=function(A,e){var t=this.changeJSON2Query(e),i=new Image;i.onload=i.onerror=function(){i=null},i.src=A+"?"+t+"&random="+Math.random()},e.sendBeacon=function(A,e){try{navigator.sendBeacon(A,this.formatParamsByURLSearchParams(e))}catch(A){}},e.formatParamsByURLSearchParams=function(A){var e=new URLSearchParams;for(var t in A)"object"===Sr(A[t])&&(A[t]=JSON.stringify(A[t])),e.append(t,A[t]);return e},e.changeJSON2Query=function(A){var e="";for(var t in A){""!=e&&(e+="&");var i=A[t];e+=t+"="+encodeURIComponent("object"===(void 0===i?"undefined":Sr(i))?JSON.stringify(i):i)}return e},e.checkUrl=function(A){return!!A&&/^[hH][tT][tT][pP]([sS]?):\/\//.test(A)},A}();function Rr(){return Rr=Object.assign||function(A){for(var e=1;ee.env===A));return e>-1?br[e].logHost:""}report(A,e){var t;this.monitorReport&&(null==(t=this.collect)||t.send(wr({action:A,appKey:this.appKey},e,{logInfo:wr({pluginVersion:this.pluginVersion},e.logInfo||{})})))}updateParams(A){var e;null==(e=this.collect)||e.updateExtendsInfo(A)}updateAppKey(A){this.appKey=A}setForbidden(A){var e;null==(e=this.collect)||e.setForbidden(A)}constructor(A){this.collect=null,this.appKey="",this.monitorReport=!0,this.pluginVersion="";const e=this.getCollectUrl(A.domain);this.pluginVersion=A.pluginVersion,e&&(this.monitorReport=A.monitorReport,this.collect=new Fr(wr({},A,{url:e})))}}function Pr(A,e,t=0,i){let a=A,r=e;return A&&14===A.length&&e&&14===e.length?(tr.formate(A,"YYYYMMDD")!==tr.formate(e,"YYYYMMDD")&&(r=A.slice(0,8)+"235959"),e=(A=A.slice(0,8)+"000000").slice(0,8)+"235959"):A&&14===A.length?(e=(A=A.slice(0,8)+"000000").slice(0,8)+"235959",r=A.slice(0,8)+"235959"):e&&14===e.length?(A=e.slice(0,8)+"000000",e=e.slice(0,8)+"235959",a=A):(a=A=tr.formate(new Date,"YYYYMMDD")+"000000",r=e=tr.formate(new Date,"YYYYMMDD")+"235959"),([void 0,"",null].includes(t)||(t=parseInt(t))>=24||t<=-24||isNaN(t))&&(t=0),7==+i?{begin:A,end:e,timeZone:t,originBegin:a,originEnd:r}:{begin:A=tr.formate(tr.strToDate(A).getTime()+60*t*60*1e3,"YYYYMMDDhhmmss"),end:e=tr.formate(tr.strToDate(e).getTime()+60*t*60*1e3,"YYYYMMDDhhmmss"),timeZone:t,originBegin:a,originEnd:r}}function kr(){return kr=Object.assign||function(A){for(var e=1;e{t[e]=A[e]})),t.istorageVersion&&(t.iStorageVersion=t.istorageVersion,delete t.istorageVersion),t}const r=tr.strToDate(t).getTime(),n=tr.strToDate(i).getTime();return(A=[...A].map((A=>kr({},A,{startTime:Nr(A.startTime),endTime:Nr(A.endTime)}))).filter((A=>A.startTime>=r&&A.endTime<=n||(A.startTimer||(A.startTimen||void 0))))).length>0&&(A[0].startTime=r,A[A.length-1].endTime=n),A.reduce(((A,e,t)=>0===t?(A.push(a(e)),A):(A[A.length-1].downloadPath===e.downloadPath?A[A.length-1].endTime=e.endTime:A.push(a(e)),A)),[])}const Mr=(A,e)=>{var t,i;const a=`${A.env.domain}/api/v3/device/setVideoLevel?accessToken=${A.accessToken||A.token.deviceToken.video} `,r=new FormData;return r.append("videoLevel",parseInt(e+"")),null==(i=A.logger)||null==(t=i.log)||t.call(i,"[https request] setVideoLevel()","videoLevel",e),e<0?Promise.resolve({}):fetch(a,{method:"POST",headers:{accessToken:A.accessToken||A.token.deviceToken.video,deviceSerial:A.deviceSerial,localIndex:A.channelNo},body:r}).then((A=>A.json())).then((e=>(null==A.emit||A.emit.call(A,er.http.setVideoLevel,e),e)))};let Lr=Za;class Yr{setDomain(A){Lr=A||Lr}fetch(A,e){return A="string"==typeof A?/^http/.test(A)?A:Lr+A:A,new Promise(((t,i)=>{fetch(A,e).then((A=>{try{return A.json()}catch(A){i({code:-1,msg:"data json parse error"})}})).then((A=>{200==+A.code||A.meta&&200===A.meta.code?t(A):i(A)})).catch((A=>{i(A)}))}))}constructor(A){return Yr.instant?Yr.instant:(Lr=A||Lr,Yr.instant=this)}}function Gr(){return Gr=Object.assign||function(A){for(var e=1;e{this.instances.has(A)&&this.removeInstance(A);const t=new Ur(A,e);this.instances.set(A,t)},this.getInstance=A=>this.instances.has(A)?this.instances.get(A):null,this.removeInstance=A=>{if(!this.instances.has(A))return null;this.instances.delete(A)},this.listInstances=()=>Array.from(this.instances.values()),this.instances=new Map,this.globalState={talk:!1,expend:!1,webExpend:!1,sound:!1,audioOnly:!1}}};function Or(A){const e=document.getElementById(`${A}-player`);e&&e.remove()}function Kr(A){const e=[{max:400,label:"360P"},{max:520,label:"480P"},{max:900,label:"720P"},{max:1200,label:"1080P"},{max:1600,label:"2K"},{max:2400,label:"4K"},{max:4500,label:"8K"}];for(const t of e)if(A<=t.max)return t.label}function Vr(A,e,t,i,a,r,n){try{var o=A[r](n),s=o.value}catch(A){return void t(A)}o.done?e(s):Promise.resolve(s).then(i,a)}function Wr(){return Wr=Object.assign||function(A){for(var e=1;e{if(A.cloudRecordRecList=i||[],null==A.emit||A.emit.call(A,er.http.getCloudRecordTimes,i||[]),null==A.emit||A.emit.call(A,er.setAllDayRecTimes,{type:"cloudRecordTimes",list:i||[]}),A.recordList=i||[],i.length){const a=Tr(i,["downloadPath","ownerId","iStorageVersion","spaceId","startTime","endTime","videoType","busType"],e.originBegin,e.originEnd);if(null==A.emit||A.emit.call(A,er.setRecTimes,i),0===a.length)return"";const r=JSON.stringify(a).replace("\\","");return t+"&recSlice="+r.replace("\\","")+"&r="+Math.random()}return null==A.emit||A.emit.call(A,er.setRecTimes,[]),""})):-1!==A.url.indexOf(".cloud")&&"7"!==A.urlInfo.searchParams.busType||"base"!==A.sdkType?yield A._services.getCloudTimes({begin:e.begin,end:e.end,url:A.url}).then((i=>{if(A.cloudRecList=i||[],null==A.emit||A.emit.call(A,er.http.getCloudRecTimes,i||[]),null==A.emit||A.emit.call(A,er.setAllDayRecTimes,{type:"cloudRecTimes",list:i}),A.recordList=i||[],i.length){const a=Tr(i,["downloadPath","ownerId","iStorageVersion","startTime","endTime","videoType"],e.originBegin,e.originEnd);if(null==A.emit||A.emit.call(A,er.setRecTimes,a),0===a.length)return"";const r=JSON.stringify(a.map((e=>{var t,i;return Wr({},e,{startTime:e.startTime+3600*((null==(t=A.urlInfo.searchParams)?void 0:t.timeZone)||0)*1e3,endTime:e.endTime+3600*((null==(i=A.urlInfo.searchParams)?void 0:i.timeZone)||0)*1e3})}))).replace("\\","");return t+"&recSlice="+r.replace("\\","")+"&r="+Math.random()}return null==A.emit||A.emit.call(A,er.setRecTimes,[]),""})):-1!==A.url.indexOf(".rec")?(A._services.getLocalRecTimes({begin:e.begin,end:e.end}).then((e=>{A.localRecList=e,null==A.emit||A.emit.call(A,er.http.getLocalRecTimes,e||[]),null==A.emit||A.emit.call(A,er.setAllDayRecTimes,{type:"localTimes",list:e||[]}),A.recordList=e||[],null==A.emit||A.emit.call(A,er.setRecTimes,e||[])})),t):void 0},Zr=function(){var e=this,t=arguments;return new Promise((function(i,a){var r=A.apply(e,t);function n(A){Vr(r,i,a,n,o,"next",A)}function o(A){Vr(r,i,a,n,o,"throw",A)}n(void 0)}))},Zr.apply(this,arguments)}function Xr(A){var e,t;return A.url.indexOf(".live")>-1?(null==(t=A.logger)||null==(e=t.log)||e.call(t,"[https request] _getDeviceSupportQualityServicesAndGetDeviceListServices()"),new Promise((e=>{const t=A.params.videoLevelList?Promise.resolve(A.params.videoLevelList):function(A){var e,t;return null==(t=A.logger)||null==(e=t.log)||e.call(t,"[https request] getDeviceSupportQuality()"),A._services.getDeviceSupportQuality().then((e=>(A.videoLevelList=e,A._setVideoLevelList(A.videoLevelList),null==A.emit||A.emit.call(A,er.http.getDeviceSupportQuality,e),e)))}(A);Promise.all([t,A._services.getDeviceList()]).then((t=>{var i,a,r,n;null==(a=A.logger)||null==(i=a.log)||i.call(a,"[https request] getDeviceList()"),null==A.emit||A.emit.call(A,er.http.getDeviceList,t[1]||[]);const o=t[1].find((e=>e.channelNo===+A.urlInfo.channelNo));o||e([[],[]]),A._setVideoLevelList(A.videoLevelList),null==A.emit||A.emit.call(A,er.setVideoLevelList,t[0]||[]);let s={};s="compatible"===(null==(r=A.videoLevelList[0])?void 0:r.type)?A.url.indexOf(".hd.live")>0?A.videoLevelList[1]:A.videoLevelList[0]:A.videoLevelList.find((A=>A.level==(null==o?void 0:o.videoLevel)))||{},(null==s?void 0:s.streamTypeIn)?(A.videoLevel=s.level,A.streamTypeIn=s.streamTypeIn):(null==(n=A.videoLevelList)?void 0:n.length)>0?(A.videoLevel=A.videoLevelList[0].level,A.streamTypeIn=A.videoLevelList[0].streamTypeIn,s=A.videoLevelList[0]):A.logger.warn(`the current video quality(${null==o?void 0:o.videoLevel}) is not in the list!`),null==A.emit||A.emit.call(A,er.currentVideoLevel,s,A.videoLevel),e(t)}))}))):Promise.resolve([[],[]])}function qr(A){var e;return null==(e=A.logger)||e.log("[https request] getStreamAddressList()"),A._services.getStreamAddressList().then((e=>{A.maxReloadTime=e[0],null==A.emit||A.emit.call(A,er.http.getStreamAddressList,e[1])}))}function jr(){return jr=Object.assign||function(A){for(var e=1;e{var o,s;(null==(o=A.logger)||o.log("_pluginPlay()",JSON.stringify(e)),e)||(null==(s=A.logger)||s.error("play address error"),n({code:-1,msg:"play address error"}));A.wsUrl=e,A._recOSDTimer&&(clearInterval(A._recOSDTimer),A._recOSDTimer=null),A._seekIntervaltimer&&(clearInterval(A._seekIntervaltimer),A._seekIntervaltimer=null);const g=e.split("?")[0].replace("/live","").replace("/playback","");let l=(-1===e.indexOf("/live")?-1!==e.indexOf("cloudplayback")?"/cloudplayback?":"/playback?":"/live?")+e.split("?")[1];l=(l.replace(/&stream=\d/,"")+"&stream="+(["/cloudplayback?","/playback?"].includes(l)?1:A.streamTypeIn||1)).replace(/&&/gi,"&");const C={playURL:l};if(A._gotWsUrlTime=(new Date).getTime(),A.isStoping=!1,A.jSPlugin){var I,c;if(null==A.logger.log||A.logger.log.call(A.logger,"JS_Play()"),null==(I=A.urlInfo)?void 0:I.validateCode)null==(c=A.jSPlugin)||c.JS_SetSecretKey(0,A.urlInfo.validateCode);A.jSPlugin.JS_Play(g,C,0).then((()=>{if(A.isStoping&&r({code:1,msg:"playing is stopping"}),1===A.videoPlayState||4===A.videoPlayState){var e;A.videoPlayState=2;const r=Date.now();null==(e=A._collect)||e.report(2,{logInfo:{domain:g,loadTime:r-A.videoInitTime,loadTimeDesc:{initTime:A._initTime,stopTime:t,getWsTime:a-i,createWsTime:r-a}},loadTime:r-A.videoInitTime,initTime:A._initTime,getWsTime:a-i,createWsTime:r-a})}A.jSPlugin&&A._FECSplitIds&&A._FECCorrectType&&A.jSPlugin.JS_FECCorrectType(A._FECCorrectType,A._FECSplitIds),A.waterMark_JSPlugin&&A.setWaterMarkFont(A.waterMark_JSPlugin),r({code:0,wss:g,wsParams:C})})).catch((e=>{var t,i;let a=null==(t=A.i18n)?void 0:t.t("PLAY_FAILED"),r=-1;if(null==(i=A.jSPlugin)?void 0:i.bPlay)return!1;var o,s,g;(null==e?void 0:e.errorCode)&&(null==(s=A.Theme)||null==(o=s.setDisabled)||o.call(s,!0),a=null==(g=A.i18n)?void 0:g.t("39"+e.errorCode),r=e.errorCode);A.isCall,n({msg:a,code:r})}))}}))}function An(A,e,t=()=>{}){var i,a,r,n,o,s,g,l,C,I,c,h,B,E,x,d,Q;A.playing=!0,A.loading=!0,null==(r=A.controls)||null==(a=r.zoomControl)||null==(i=a.setZoom)||i.call(a);const[f,u]=function(A,e,t,i){let a="",r=_.parseEzopenUrl(A);e.url&&/^ezopen:\/\//.test(e.url)&&(a=e.url,r=_.parseEzopenUrl(a));e.deviceSerial&&(r.deviceSerial=e.deviceSerial);e.channelNo&&(r.channelNo=e.channelNo);e.validCode&&(r.validateCode=e.validCode);e.host&&(r.hostname=e.host);const n=e.type||(r.recType?r.recType+"."+r.type:r.type);"live"===n?(r.type="live",!0===e.hd?r.definition="hd":!1===e.hd&&(r.definition="sd"),r.searchParams={},r.search=""):["rec","cloud.rec","miniRec"].includes(n)&&(r.recType="cloud.rec"===n?"cloud":"",r.type="rec",r.definition="",r.searchParams=r.searchParams||{},e.begin&&(r.searchParams.begin=e.begin),e.end&&(r.searchParams.end=e.end),"cloudRecord"===t&&"cloud"===r.recType&&(r.searchParams.busType="7",i&&(r.searchParams.spaceId=i)));return r.search=Object.entries(r.searchParams||{}).reduce(((A,[e,t])=>""===t?A:A+=`${e}=${encodeURIComponent(t)}&`),"?").replace(/&$/,""),a=`${r.protocol}//${r.validateCode?`${r.validateCode}@`:""}${r.hostname}/${r.deviceSerial}/${r.channelNo}${"rec"===r.type&&r.recType?"."+r.recType:""}${"live"===r.type&&"hd"===r.definition?"."+r.definition:""}.${r.type}${r.search}`,a=a.replace(/\?$/,""),r=_.parseEzopenUrl(a),[a,r]}(A.url,e,A.recType,A._spaceId);var p,m,y,S;((null==u?void 0:u.origin)===(null==(n=A.urlInfo)?void 0:n.origin)&&(null==u?void 0:u.pathname)===(null==(o=A.urlInfo)?void 0:o.pathname)&&tr.formate((null==(s=u.searchParams)?void 0:s.begin)||new Date,"YYYYMMDD")===tr.formate((null==(g=A.urlInfo.searchParams)?void 0:g.begin)||new Date,"YYYYMMDD")&&(null==(l=u.searchParams)?void 0:l.busType)===(null==(C=A.urlInfo.searchParams)?void 0:C.busType)&&(null==(I=u.searchParams)?void 0:I.spaceId)===(null==(c=A.urlInfo.searchParams)?void 0:c.spaceId)||A.emit(er.setAllDayRecTimes,{type:"",list:[]}),A.url=f,A.host=null==u?void 0:u.hostname,A.deviceSerial=u.deviceSerial,A.channelNo=u.channelNo,A.accessToken=e.accessToken||A.accessToken,A.token=e.token||A.token,null==(h=A._services)||h.updateOptions({accessToken:A.accessToken,token:A.token,channelNo:A.channelNo,deviceSerial:A.deviceSerial}),null==(B=A.controls)?void 0:B.ptzControl)&&(null==(m=A.controls)||null==(p=m.ptzControl)||p.updateOptions({accessToken:A.accessToken,token:A.token,channelNo:A.channelNo,deviceSerial:A.deviceSerial}));A.Talk&&(null==(S=A.Talk)||null==(y=S.updateOptions)||y.call(S,{accessToken:A.accessToken,token:A.token,channelNo:A.channelNo,deviceSerial:A.deviceSerial}));if(null==(E=A.controls)?void 0:E.dateControl){var D,R,F;const e=(null==(D=u.searchParams)?void 0:D.begin)||new Date;null==(F=A.controls)||null==(R=F.dateControl)||R.setDate(new Date(tr.formate(e,"YYYY-MM-DD hh:mm:ss")),!1)}if(u.deviceSerial!==A.urlInfo.deviceSerial||u.hostname!==A.urlInfo.hostname?(A._deviceSerialChangeServices(),"live"===u.type&&Xr(A)):u.channelNo!==A.urlInfo.channelNo&&(qr(A),"live"===u.type&&Xr(A)),A.videoInitTime=Date.now(),A.videoPlayState=4,e.url)try{let e=JSON.parse(localStorage.getItem(Xa)||"{}");e[A.deviceSerial+"_"+A.channelNo]||(e=jr({},e,{[A.deviceSerial+"_"+A.channelNo]:[]}),localStorage.setItem(Xa,JSON.stringify(e)))}catch(A){}A.urlInfo=u;const w="cloud"===u.recType?"cloud.rec":u.type;null==(x=A._collect)||x.updateParams({protocol:"ezopen",url:f,serial:A.deviceSerial,no:A.channelNo,env:A.env.domain,type:w});let b=Object.assign({},A.params);return null==(d=A._collect)||d.report(4,{logInfo:{type:w,params:b}}),(null==(Q=A.jSPlugin)?void 0:Q.player)&&(A.jSPlugin.player.playbackRate=1,A.jSPlugin.player._playbackRate=1,A.speed=1),t(),new Promise(((t,i)=>{const a={url:f};return e.token&&(a.token=e.token),e.accessToken&&(a.accessToken=e.accessToken),A.play(a).then((()=>{var e;const i=["url","deviceSerial","channelNo","accessToken","token"].reduce(((e,t)=>(e[t]=A[t],e)),{});null==A.emit||A.emit.call(A,er.changePlayUrl,{eventType:er.changePlayUrl,code:0,data:i,msg:null==(e=A.i18n)?void 0:e.t("CHANGE_PLAYURL_SUCCESS")}),t(f)})).catch((A=>{i(A)}))}))}function en(A,e){let t=-1;var i,a;if(e===A.speed)return null==(i=A.logger)||i.warn("the speed value has not changed!"),0;e&&(za.includes(+e)?(A.jSPlugin.JS_Speed(e),t=1,A.speed=e):null==(a=A.logger)||a.warn("current speed is not supported!"));return t}function tn(A,e,t,i,a,r,n){try{var o=A[r](n),s=o.value}catch(A){return void t(A)}o.done?e(s):Promise.resolve(s).then(i,a)}function an(A){return function(){var e=this,t=arguments;return new Promise((function(i,a){var r=A.apply(e,t);function n(A){tn(r,i,a,n,o,"next",A)}function o(A){tn(r,i,a,n,o,"throw",A)}n(void 0)}))}}function rn(){return rn=Object.assign||function(A){for(var e=1;eA.json())).then((A=>{this.onUploadComplete({body:this.body,response:A})})).catch((A=>{A.name})),A.body&&"FormData"==A.body.constructor.name&&"signal"in A&&A.signal.addEventListener("progress",(A=>{A.lengthComputable&&this.onUploadProgress(nn({},this.body,{progress:A.loaded/A.total}))}))}cancel(){this.controller.abort()}constructor(A){this.url=A.url||"",this.method=A.method||"POST",this.headers=A.headers||{},this.body=A.body||{},this.onBeforeUpload=A.onBeforeUpload||function(){},this.onUploadProgress=A.onUploadProgress||function(){},this.onUploadComplete=A.onUploadComplete||function(){},this.controller=new AbortController}}function sn(A){var e,t,i;if(!A.use3DZoom)return null==A.emit||A.emit.call(A,er.enable3DZoom,{eventType:er.enable3DZoom,code:-1,msg:null==(e=A.i18n)?void 0:e.t("3D_ZOOM_DISABLE")}),A.emit("message",null==(t=A.i18n)?void 0:t.t("3D_ZOOM_DISABLE"),"3DZoomError"),Promise.resolve({code:-1,msg:null==(i=A.i18n)?void 0:i.t("3D_ZOOM_DISABLE")});if(A.is3DZooming)return new Promise((function(e){var t,i;null==A.emit||A.emit.call(A,er.enable3DZoom,{eventType:er.enable3DZoom,code:0,msg:null==(t=A.i18n)?void 0:t.t("3D_ZOOM_ACTIVED")}),e({code:0,msg:null==(i=A.i18n)?void 0:i.t("3D_ZOOM_ACTIVED")})}));if(A.support3DZoom){var a,r;A.is3DZooming=!0;let e=null==(a=A.jSPlugin)?void 0:a.JS_Enable3DZoom(0,(e=>{const t=A.width,i=A.height,a=function(A,e){if(!A||!A.startPos||!A.endPos)return-1;const t=A.startPos[0],i=A.startPos[1],a=A.endPos[0],r=A.endPos[1];return e?a>t&&ri?0:-1:a>t&&r>i?1:a-1)try{const r=function(A,e,t,i=5){if(!(A&&e&&t&&t.startPos&&t.endPos))return-1;const a=t.startPos[0],r=t.startPos[1],n=t.endPos[0],o=t.endPos[1],s=Math.abs(n-a),g=Math.abs(o-r),l=parseInt((a+n)/2+""),C=parseInt((r+o)/2+""),I=Math.round(A*e/(s*g));return{startPointX:parseInt(a/A*256+""),startPointY:parseInt(r/e*256+""),endPointX:parseInt(n/A*256+""),endPointY:parseInt(o/e*256+""),zoomRate:I>i?i:I,targetCenterX:l,targetCenterY:C,targetWidth:s,targetHeight:g}}(t,i,e,A.capacity&&A.capacity.support_zoomOut_maxTime?A.capacity.support_zoomOut_maxTime:5);if(-1===r)return;const n=A.env.domain+`/api/v3/das/device/3d/zoom?accessToken=${A.accessToken||A.token.deviceToken.video}&deviceSerial=${A.urlInfo.deviceSerial}&channelNo=${A.urlInfo.channelNo}&command=${0==a?9:8}&zoomTimes=${r.zoomRate}&startPointX=${r.startPointX}&startPointY=${r.startPointY}&endPointX=${r.endPointX}&endPointY=${r.endPointY}&length=${parseInt(i)}&width=${parseInt(t)}&midPointX=${r.targetCenterX}&midPointY=${r.targetCenterY}&lengthX=${r.targetWidth}&lengthY=${r.targetHeight}`;fetch(n,{method:"POST"}).then((A=>A.json())).then((e=>{200!=e.code&&A.emit("message",e.msg,"3DZoomError")})).catch((e=>{var t;A.emit("message",null==(t=A.i18n)?void 0:t.t("3D_ZOOM_FAILED"),"3DZoomError")}))}catch(e){var r;A.emit("message",null==(r=A.i18n)?void 0:r.t("3D_ZOOM_FAILED"),"3DZoomError")}}));return null==A.emit||A.emit.call(A,er.enable3DZoom,{eventType:er.enable3DZoom,code:e,msg:null==(r=A.i18n)?void 0:r.t("START_3D_ZOOM")}),0===e?Promise.resolve({code:-1}):Promise.resolve({code:0})}return A.is3DZooming=!1,new Promise((function(e){null==A.emit||A.emit.call(A,er.enable3DZoom,{eventType:er.enable3DZoom,code:-1,msg:A.i18n.t("DEVICE_NOT_SUPPORT_3D_ZOOM")}),A.emit("message",A.i18n.t("DEVICE_NOT_SUPPORT_3D_ZOOM"),"3DZoomError"),e({code:-1,msg:A.i18n.t("DEVICE_NOT_SUPPORT_3D_ZOOM")})}))}function gn(A,e){var t,i,a,r,n,o,s,g,l;return!A._FECCorrectType||((null==(t=A.jSPlugin)?void 0:t.isHardH264)||(null==(i=A.jSPlugin)?void 0:i.isHardH265))&&(null==(a=A.jSPlugin)?void 0:a.useHardDev)?(null==A.emit||A.emit.call(A,er.getFEC3DViewParam,{eventType:er.getFEC3DViewParam,code:-1,msg:A.i18n.t("FEC.GET_FEC_PARAMS_SUPPORT_VERSION")}),Promise.resolve({code:-1,msg:A.i18n.t("FEC.GET_FEC_PARAMS_SUPPORT_VERSION")})):(null==(r=A.jSPlugin)?void 0:r.FEC_Set3DViewParam)&&A._FECCorrectType&&(3===(null==(n=A._FECCorrectType)?void 0:n.place)&&1536===(null==(o=A._FECCorrectType)?void 0:o.correctType)||1===(null==(s=A._FECCorrectType)?void 0:s.place)&&2304===(null==(g=A._FECCorrectType)?void 0:g.correctType))?null==(l=A.jSPlugin)?void 0:l.FEC_Get3DViewParam(e).then((e=>(null==A.emit||A.emit.call(A,er.getFEC3DViewParam,{eventType:er.getFEC3DViewParam,code:0,data:e,msg:A.i18n.t("FEC.SET_FEC_PARAMS")}),{code:0,data:e}))).catch((()=>(null==A.emit||A.emit.call(A,er.getFEC3DViewParam,{eventType:er.getFEC3DViewParam,code:-1}),{code:-1}))):(null==A.emit||A.emit.call(A,er.getFEC3DViewParam,{eventType:er.getFEC3DViewParam,code:-1,msg:A.i18n.t("FEC.SET_FEC_PARAMS_FAILED")}),Promise.resolve({code:-1,msg:A.i18n.t("FEC.SET_FEC_PARAMS_FAILED")}))}const ln="[Ptz]";class Cn{static _instanceStyle(){if(Cn._STYLE)return;Cn._STYLE=document.createElement("style"),Cn._STYLE.id="ezuikit-ptz-style";const A=Sa();Cn._STYLE.innerHTML=`\n .ez-ptz-container {\n position: relative;\n width: 80px;\n height: 80px;\n background: rgba(255, 255, 255, 0.70);\n box-shadow: 0px 0px 33px 4px rgb(0 0 0 / 15%);\n border: 1px solid rgba(255, 255, 255, 0.70);\n border-radius: 100%;\n cursor: pointer;\n overflow: hidden;\n user-select: none;\n }\n .ez-ptz-container .ez-ptz-icon.top {\n width: 0;\n height: 0;\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n border-bottom: 8px solid #999999;\n position: absolute;\n display: inline-block;\n left: calc(50% - 4px);\n top: 2px;\n }\n\n .ez-ptz-container .ez-ptz-icon.top.active {\n border-bottom-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.bottom {\n width: 0;\n height: 0;\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n border-top: 8px solid #999999;\n position: absolute;\n display: inline-block;\n left: calc(50% - 4px);\n bottom: 2px;\n }\n\n .ez-ptz-container .ez-ptz-icon.bottom.active {\n border-top-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.right {\n width: 0;\n height: 0;\n border-top: 4px solid transparent;\n border-bottom: 4px solid transparent;\n border-left: 8px solid #999999;\n position: absolute;\n display: inline-block;\n top: calc(50% - 4px);\n right: 2px;\n }\n\n .ez-ptz-container .ez-ptz-icon.right.active {\n border-left-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.left {\n width: 0;\n height: 0;\n border-top: 4px solid transparent;\n border-bottom: 4px solid transparent;\n border-right: 8px solid #999999;\n position: absolute;\n display: inline-block;\n top: calc(50% - 4px);\n left: 2px;\n }\n\n .ez-ptz-container .ez-ptz-icon.left.active {\n border-right-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.top-left {\n width: 4px;\n height: 4px;\n border-radius: 50%;\n position: absolute;\n display: inline-block;\n top: calc(25% - 4px);\n left: 16px;\n background: #999999;\n }\n\n .ez-ptz-container .ez-ptz-icon.top-left.active {\n border-right-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.left-bottom {\n width: 4px;\n height: 4px;\n border-radius: 50%;\n position: absolute;\n display: inline-block;\n bottom: calc(25% - 4px);\n left: 16px;\n background: #999999;\n }\n\n .ez-ptz-container .ez-ptz-icon.left-bottom.active {\n border-right-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.bottom-right {\n width: 4px;\n height: 4px;\n border-radius: 50%;\n position: absolute;\n display: inline-block;\n bottom: calc(25% - 4px);\n right: 16px;\n background: #999999;\n }\n\n .ez-ptz-container .ez-ptz-icon.bottom-right.active {\n border-right-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.right-top {\n width: 4px;\n height: 4px;\n border-radius: 50%;\n position: absolute;\n display: inline-block;\n top: calc(25% - 4px);\n right: 16px;\n background: #999999;\n }\n\n .ez-ptz-container .ez-ptz-icon.right-top.active {\n border-right-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-main.center {\n width: 23px;\n height: 23px;\n background: #407AFF;\n border-radius: 100%;\n top: calc(50% - 12.4px);\n left: calc(50% - 12.4px);\n position: absolute;\n }\n\n .ez-ptz-wrap {\n position: absolute;\n right: 0px;\n top: 0;\n width: 85px;\n height: 100%;\n padding: 0 20px;\n flex-direction: column;\n justify-content: center;\n background: rgba(0,0,0,0.9);\n box-sizing: content-box !important;\n }\n\n .ez-ptz-close {\n position: absolute;\n color: #FFFFFF;\n top: 0;\n right: 0px;\n }\n\n .ez-ptzspeed-progress-line{\n height: 1px;\n background: #ffffff;\n margin: 16px 0 8px;\n display: flex;\n justify-content: space-between;\n }\n\n .ez-ptzspeed-progress-line-dot{\n width: 5px;\n height: 5px;\n border: 2px solid #ffffff;\n border-radius: 50%;\n background: #ffffff;\n margin: -3px 0;\n cursor: pointer;\n }\n\n .ez-ptzspeed-progress-line-dot.active{\n border-color: #407AFF;\n }\n\n .ez-ptzspeed-progress-points{\n display: flex;\n justify-content: space-between;\n }\n\n .ez-ptzspeed-progress-points-slow{\n cursor: pointer;\n color: #ffffff;\n }\n\n .ez-ptzspeed-progress-points-mid{\n cursor: pointer;\n color: #ffffff;\n }\n\n .ez-ptzspeed-progress-points-fast{\n cursor: pointer;\n color: #ffffff;\n }\n\n .ez-ptzbtn-container{\n width: 100%;\n height:${A?"60px":"18px"};\n margin-top: 14px;\n display: ${A?"block":"flex"};\n }\n\n .ez-ptzbtn-focal,\n .ez-ptzbtn-zoom{\n width: ${A?"100%":"50%"};\n height: 20px;\n display: flex;\n border: 1px solid rgba(255,255,255,0.5);\n border-radius: 10px;\n padding-bottom: 0px;\n box-sizing: content-box;\n }\n\n .ez-ptzbtn-zoom-add,\n .ez-ptzbtn-zoom-sub,\n .ez-ptzbtn-focal-add,\n .ez-ptzbtn-focal-sub{\n width: ${A?"50%":"24px"};\n height: 20px;\n cursor: pointer;\n text-align: center;\n }\n\n .ez-ptzbtn-zoom{\n margin: ${A?"0 0 8px":"0 4px 0 0"};\n }\n\n .ez-ptzbtn-zoom-add{\n border-right: 1px solid rgba(255,255,255,0.5);\n }\n\n .ez-ptzbtn-focal-add{\n border-right: 1px solid rgba(255,255,255,0.5);\n }\n `,document.getElementsByTagName("head")[0].appendChild(Cn._STYLE)}destroy(){}show(){document.getElementById(`${this.jSPlugin.id}-ez-ptz-item`)&&(document.getElementById(`${this.jSPlugin.id}-ez-ptz-item`).style="display: flex;box-sizing: content-box;"),this.showPtz=!0,this.jSPlugin.eventEmitter&&this.jSPlugin.eventEmitter.emit(er.ptz.openPtz,{eventType:"openPtz",code:0,target:this,msg:"开启云台"})}hide(){document.getElementById(`${this.jSPlugin.id}-ez-ptz-item`)&&(document.getElementById(`${this.jSPlugin.id}-ez-ptz-item`).style="display: none"),this.showPtz=!1,this.jSPlugin.eventEmitter&&this.jSPlugin.eventEmitter.emit(er.ptz.closePtz,{eventType:"closePtz",code:0,target:this,msg:"关闭云台"})}_handlePtzTouch(A,e){var t,i;this._ptzQueue||(this._ptzQueue=Promise.resolve());var a=document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).getBoundingClientRect(),r=a.left+41,n=a.top+41,o=A.x||A.changedTouches[0].clientX,s=A.y||A.changedTouches[0].clientY,g=0;let l=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start",C=this.jSPlugin.accessToken||this.jSPlugin.token.deviceToken.video,I=0;function c(A,e){let t=Math.atan2(e,A);t<0&&(t+=2*Math.PI);let i=t*(180/Math.PI)-225-12.5;return i<0&&(i+=360),Math.floor(i/45)+1}const h=/^rotate\(90/.test(document.getElementById(`${this.jSPlugin.id}-wrap`).style.transform),B=o-r,E=s-n;if(h)switch(c(B,E)){case 1:g=2,I=90;break;case 2:g=4,I=135;break;case 3:g=0,I=180;break;case 4:g=6,I=225;break;case 5:g=3,I=270;break;case 6:g=7,I=315;break;case 7:g=1,I=0;break;case 8:g=5,I=45}else switch(c(B,E)){case 1:g=0,I=180;break;case 2:g=6,I=225;break;case 3:g=3,I=270;break;case 4:g=7,I=315;break;case 5:g=1,I=0;break;case 6:g=5,I=45;break;case 7:g=2,I=90;break;case 8:g=4,I=135}document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).style="start"===e?`background-image:linear-gradient(${I}deg, #4277FF 0%, rgba(100,143,252,0.00) 30%)`:"","stop"===e&&(l=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",C=this.jSPlugin.accessToken||this.jSPlugin.token.deviceToken.video);var x=new FormData;x.append("deviceSerial",ya(this.jSPlugin.url).deviceSerial),x.append("channelNo",ya(this.jSPlugin.url).channelNo),x.append("speed",this.jSPlugin.ptzSpeed),x.append("direction",g),x.append("accessToken",C),this._ptzQueue=this._ptzQueue.then((()=>fetch(l,{method:"POST",body:x}).then((A=>A.json())).then((A=>{var t;const i=A.code||(null==A||null==(t=A.result)?void 0:t.code);if("start"===e&&200!=i){var a,r,n,o;const e=this.jSPlugin.i18n.t("38"+i)||A.msg;null==(a=this.pluginStatus)||a.loadingSetText({text:e,color:"red",delayClear:2e3}),null==(o=this.jSPlugin)||null==(n=o.logger)||n.error("[errors]",(null==(r=this.jSPlugin)?void 0:r.i18n.t("38"+i))+`(${i})`)}return[60002,60003,60004,60005,60006].indexOf(i)>-1&&(document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).style=`background-image:linear-gradient(${I}deg, #f45656 0%, rgba(100,143,252,0.00) 30%)`),A})).catch((A=>{})))),"stop"===e&&(this._ptzQueue=this._ptzQueue.finally((()=>{}))),null==(i=this.jSPlugin)||null==(t=i.eventEmitter)||t.emit(er.ptz.ptzDirection,{areaId:c(B,E),direction:g,backDeg:I,isRotate:h,ptzSpeed:this.jSPlugin.ptzSpeed,type:e})}_handleBtnTouch(A,e,t){var i,a,r,n;this._ptzOperation||(this._ptzOperation=Promise.resolve());let o=8;o="zoom"===A?"add"===e?8:9:"add"===e?10:11;let s=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start",g=this.jSPlugin.accessToken||this.jSPlugin.token.deviceToken.video;"stop"===t&&(s=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",g=this.jSPlugin.accessToken||this.jSPlugin.token.deviceToken.video),null==(a=this.jSPlugin)||null==(i=a.logger)||i.log(ln,A,e,t),null==(n=this.jSPlugin)||null==(r=n.eventEmitter)||r.emit(er.ptz.ptzBtnClick,{btn:A,option:e,type:t});const l=new FormData;l.append("deviceSerial",ya(this.jSPlugin.url).deviceSerial),l.append("channelNo",ya(this.jSPlugin.url).channelNo),l.append("speed",this.jSPlugin.ptzSpeed),l.append("direction",o),l.append("accessToken",g),this._ptzOperation=this._ptzOperation.then((()=>fetch(s,{method:"POST",body:l}).then((A=>A.json())).then((e=>{var i;const a=e.code||(null==e||null==(i=e.result)?void 0:i.code);if("start"===t&&200!=a){var r,n;const t=6e4==a||60006==a?"zoom"===A?this.jSPlugin.i18n.t("NOT_SUPPORT_DEVICE_ZOOM"):this.jSPlugin.i18n.t("NOT_SUPPORT_FOCUS"):e.msg;this.pluginStatus.loadingSetText({text:t,color:"red",delayClear:2e3}),null==(n=this.jSPlugin)||null==(r=n.logger)||r.error("[errors]",t)}return e})).catch((A=>{})))),"stop"===t&&(this._ptzOperation=this._ptzOperation.finally((()=>{this._ptzOperation=null})))}constructor(A){var e;if(this.jSPlugin=A,null==(e=this.jSPlugin.logger)||e.log(ln,"init"),this.pluginStatus=this.jSPlugin.pluginStatus,this.showPtz=!1,document.getElementById(this.jSPlugin.id+"-ez-ptz-item"))return!1;const t=document.createElement("div");t.id=this.jSPlugin.id+"-ez-ptz-item",t.className="ez-ptz-wrap",t.style="display:none;",Cn._instanceStyle(),t.innerHTML=`\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n ${this.jSPlugin.i18n.t("PTZ_SLOW")}\n
\n
\n ${this.jSPlugin.i18n.t("PTZ_MID")}\n
\n
\n ${this.jSPlugin.i18n.t("PTZ_FAST")}\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n `,document.getElementById(`${A.id}-wrap`).appendChild(t),document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).onmousedown=A=>{A.preventDefault(),A.stopPropagation(),this._handlePtzTouch(A,"start")},document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).onmouseup=A=>{A.preventDefault(),A.stopPropagation(),this._handlePtzTouch(A,"stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).ontouchstart=A=>{A.preventDefault(),A.stopPropagation(),this._handlePtzTouch(A,"start")},document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).ontouchend=A=>{A.preventDefault(),A.stopPropagation(),this._handlePtzTouch(A,"stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzspeed-container`).onmouseup=A=>{var e;A.target.id&&(A.target.id.indexOf("slow")>-1&&(this.jSPlugin.ptzSpeed=this.jSPlugin.ptzSpeedOptions?this.jSPlugin.ptzSpeedOptions.slow:1,document.getElementById(`${this.jSPlugin.id}-ptzspeed-slow-dot`).classList.add("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-mid-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-fast-dot`).classList.remove("active")),A.target.id.indexOf("mid")>-1&&(this.jSPlugin.ptzSpeed=this.jSPlugin.ptzSpeedOptions?this.jSPlugin.ptzSpeedOptions.mid:3,document.getElementById(`${this.jSPlugin.id}-ptzspeed-slow-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-mid-dot`).classList.add("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-fast-dot`).classList.remove("active")),A.target.id.indexOf("fast")>-1&&(this.jSPlugin.ptzSpeed=this.jSPlugin.ptzSpeedOptions?this.jSPlugin.ptzSpeedOptions.fast:7,document.getElementById(`${this.jSPlugin.id}-ptzspeed-slow-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-mid-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-fast-dot`).classList.add("active")),null==(e=this.jSPlugin)||e.eventEmitter.emit(er.ptz.ptzSpeedChange,this.jSPlugin.ptzSpeed))},document.getElementById(`${this.jSPlugin.id}-ez-ptzspeed-container`).ontouchend=A=>{var e,t;A.target.id&&(A.target.id.indexOf("slow")>-1&&(this.jSPlugin.ptzSpeed=this.jSPlugin.ptzSpeedOptions?this.jSPlugin.ptzSpeedOptions.slow:1,document.getElementById(`${this.jSPlugin.id}-ptzspeed-slow-dot`).classList.add("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-mid-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-fast-dot`).classList.remove("active")),A.target.id.indexOf("mid")>-1&&(this.jSPlugin.ptzSpeed=this.jSPlugin.ptzSpeedOptions?this.jSPlugin.ptzSpeedOptions.mid:3,document.getElementById(`${this.jSPlugin.id}-ptzspeed-slow-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-mid-dot`).classList.add("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-fast-dot`).classList.remove("active")),A.target.id.indexOf("fast")>-1&&(this.jSPlugin.ptzSpeed=this.jSPlugin.ptzSpeedOptions?this.jSPlugin.ptzSpeedOptions.fast:7,document.getElementById(`${this.jSPlugin.id}-ptzspeed-slow-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-mid-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-fast-dot`).classList.add("active")),null==(t=this.jSPlugin)||null==(e=t.eventEmitter)||e.emit(er.ptz.ptzSpeedChange,this.jSPlugin.ptzSpeed))},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-add`).onmousedown=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("zoom","add","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-add`).onmouseup=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("zoom","add","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-sub`).onmousedown=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("zoom","sub","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-sub`).onmouseup=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("zoom","sub","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-add`).onmousedown=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("focal","add","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-add`).onmouseup=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("focal","add","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-sub`).onmousedown=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("focal","sub","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-sub`).onmouseup=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("focal","sub","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-add`).ontouchstart=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("zoom","add","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-add`).ontouchend=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("zoom","add","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-sub`).ontouchstart=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("zoom","sub","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-sub`).ontouchend=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("zoom","sub","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-add`).ontouchstart=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("focal","add","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-add`).ontouchend=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("focal","add","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-sub`).ontouchstart=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("focal","sub","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-sub`).ontouchend=A=>{A.preventDefault(),A.stopPropagation(),this._handleBtnTouch("focal","sub","stop")}}}class In{static _instanceStyle(){if(In._STYLE)return;const A=document.documentElement.clientWidth/375||1;In._STYLE=document.createElement("style"),In._STYLE.innerHTML=`@keyframes slideContentUp {0% {bottom: -${366*A}px;}\n 25% {bottom: -${244*A}px;}\n 50% {bottom: -${122*A}px;}\n 100% {bottom:0;}} .open-popup{animation:slideContentUp 0.3s 1 linear; -webkit-animation: slideContentUp 0.3s 1 linear;}`,document.getElementsByTagName("head")[0].appendChild(In._STYLE)}initPopupCustom(){document.getElementById(`${this.jSPlugin.id}-wrap-popup-custom`)?document.getElementById(`${this.jSPlugin.id}-wrap-popup-custom`).style.display="flex":this.randerPopup()}randerPopup(){const A=document.documentElement.clientWidth/375||1,e=document.getElementById(`${this.jSPlugin.id}-wrap`);var t=document.createElement("div");t.style="display:flex;",t.id=`${this.jSPlugin.id}-wrap-popup-custom`,t.innerHTML=`
\n
\n
\n
\n
\n \n icon/close\n \n \n \n \n \n \n \n
\n \n
\n
\n
\n `,e.appendChild(t),document.getElementById(`${this.jSPlugin.id}-wrap-popup-custom-mask`).onclick=()=>{this.closePopupCustom()},document.getElementById(`${this.jSPlugin.id}-popup-board-close`).onclick=()=>{this.closePopupCustom()}}closePopupCustom(A=()=>{}){A();let e=document.getElementById(`${this.jSPlugin.id}-wrap`),t=document.getElementById(`${this.jSPlugin.id}-wrap-popup-custom`);e&&t&&e.removeChild(t)}initPopupContent(A,e){document.getElementById("popup-board-title-content").innerText=A||"",e&&document.getElementById(`${this.jSPlugin.id}-popup-board-content`).appendChild(e)}constructor(A,e){this.jSPlugin=A,this.heightPop=e||366,In._instanceStyle(),this.initPopupCustom()}}var cn=function(A){this.state={id:A.id,start:"00:00:00",end:"24:00:00",current:0,timelag:30,timeArr:[],availTimeLine:[],scrollTop:0,index:0,date:"",noTimeLineTxt:"",disabled:!1};var e=this;this.setState=function(A){Object.keys(A).forEach((function(t){e.state[t]=A[t],"scrollTop"===t&&document.getElementById("time-line-item")&&document.getElementById("time-line-item").parentNode.scrollTo(0,A[t]),"current"===t&&document.getElementById("time-line-current")&&(document.getElementById("time-line-current").innerHTML=A[t])}))},this.setDisabled=function(A){this.setState({disabled:A}),document.getElementById("time-line-item")&&(document.getElementById("time-line-item").parentNode.style.overflowY=A?"hidden":"scroll")},this.timeToSecond=function(A){const e=A.split(":");let t=Number(e[0]);const i=Number(e[1]),a=Number(e[2]);return 60*t*60+60*i+(a||0)},this.minuteToTime=function(A){let e=Math.floor(A/60),t=A%60;return(e>9?e:"0"+e)+":"+(t>9?t:"0"+t)},this.timeToMinute=function(A){const e=A.split(":");return 60*Number(e[0])+Number(e[1])},this.getPlayParam=A.getPlayParam,this.checkIsAppleDevice=function(){var A=navigator.userAgent,e=!!A.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),t=A.indexOf("iPad")>-1,i=A.indexOf("iPhone")>-1||A.indexOf("Mac")>-1;return!!(e||t||i)},this.checkIsHarmonyOS=function(){return navigator.userAgent.indexOf("ohos")>-1},this.checkIsHarmonyOS()?(document.getElementById("time-line-item")&&document.getElementById("time-line-item").parentNode.addEventListener("touchstart",(function(){if(e.state.disabled)return!1;A.ontouchstart()}),!1),document.getElementById("time-line-item")&&document.getElementById("time-line-item").parentNode.addEventListener("touchmove",(function(){if(e.state.disabled)return!1;A.ontouchmove()}),!1),document.getElementById("time-line-item")&&document.getElementById("time-line-item").parentNode.addEventListener("touchend",(function(){if(e.state.disabled)return!1;var t;new Promise((function(A,e){let i=-1;t=setInterval((()=>{var e,a;let r=null==(a=document.getElementById("time-line-item"))||null==(e=a.parentNode)?void 0:e.scrollTop;r!==i?i=r:(clearInterval(t),A(r))}),100)})).then((A=>{e.rectTopTotime(A),e.getPlayParam({current:e.state.current})})),A.ontouchend()}),!1)):(document.getElementById("time-line-item")&&(document.getElementById("time-line-item").parentNode.ontouchstart=function(){if(e.state.disabled)return!1;A.ontouchstart()}),document.getElementById("time-line-item")&&(document.getElementById("time-line-item").parentNode.ontouchmove=function(){if(e.state.disabled)return!1;A.ontouchmove()}),document.getElementById("time-line-item")&&(document.getElementById("time-line-item").parentNode.ontouchend=function(){if(e.state.disabled)return!1;var t;new Promise((function(A,e){let i=-1;t=setInterval((()=>{var e,a;let r=null==(a=document.getElementById("time-line-item"))||null==(e=a.parentNode)?void 0:e.scrollTop;r!==i?i=r:(clearInterval(t),A(r))}),100)})).then((A=>{e.rectTopTotime(A),e.getPlayParam({current:e.state.current})})),A.ontouchend()})),this.matchTimeDot()};cn.prototype.changeScale=function(A){this.setState({timelag:A}),this.matchTimeDot()},cn.prototype.setDateLine=function(A,e){if(A.length>0){void 0===e&&(e=A.length-1);const{current:t}=this.state;this.setState({availTimeLine:A,start:A[e].st,end:A[e].et,current:0===t?A[e].st:t}),this.matchRecTimeDot(),this.primaryOffsetH()}else this.setState({availTimeLine:[]}),this.matchRecTimeDot()},cn.prototype.matchTimeDot=function(){const{start:A,end:e,timelag:t,availTimeLine:i}=this.state;var a=[];let r=this.timeToMinute(e);r=Math.floor(r/t)*t;for(let A=r;A>=0;){let e=0,i=0,n=[];A==r&&(e=70),0==A&&(i=230);let o=this.minuteToTime(A);a.push({id:A,current:o,label:"a"+A,marginTop:e,marginBottom:i,recArr:n}),A-=t}this.setState({timeArr:a}),this.renderDateLine()},cn.prototype.matchRecTimeDot=function(){const{start:A,end:e,timelag:t,availTimeLine:i,timeArr:a}=this.state;let r=i.length;if(0===r)for(var n=0;nr&&a[n].id{var i=document.createElement("div");i.setAttribute("class","time-item"),i.style=`margin-top: ${A.marginTop}px; margin-bottom: ${A.marginBottom}px; border-right-color: ${A.borderColor};`,document.createElement("div").setAttribute("class","scale");var a='
';A.recArr.forEach(((A,e)=>{a+=`
`})),a+=`
${A.current}
`,i.innerHTML=a,t.appendChild(i)}))},cn.prototype.primaryOffsetH=function(){const{start:A,timelag:e,timeArr:t,current:i}=this.state,a=t[0].current,r=this.timeToSecond(a)-this.timeToSecond(0===i?A:i),n=Math.ceil(r/e)+60;this.setState({scrollTop:n})},cn.prototype.currentOffsetH=function(){const{current:A,timelag:e,timeArr:t}=this.state,i=t[0].current,a=this.timeToSecond(i)-this.timeToSecond(A),r=Math.ceil(a/e)+60;this.setState({scrollTop:r})},cn.prototype.rectTopTotime=function(A){let e,t,{timelag:i}=this.state,a=Math.floor(A/60),r=A-60*a;if(0==r)e=this.state.timeArr[a-1].current,t=0;else{const A=this.state.timeArr[a].current;let n=this.timeToMinute(A);const o=(60-r)*i,s=Math.floor(o/60)+n,g=60*Math.floor(o/60);t=Math.ceil(o-g),e=this.minuteToTime(s)}this.setState({current:e+":"+(t>9?t:"0"+t),scrollTop:A})},cn.prototype.stepScrollTimeLine=function(A){this.setState({current:A}),this.currentOffsetH()},cn.prototype.secondCountDown=function(A){const{current:e}=this.state,t=e.split(":");let i=60*Number(t[0])*60+60*Number(t[1])+Number(t[2])+1,a=Math.floor(i/3600),r=Math.floor((i-3600*a)/60),n=i-3600*a-60*r;this.setState({current:(a>9?a:"0"+a)+":"+(r>9?r:"0"+r)+":"+(n>9?n:"0"+n)})};const hn=cn;function Bn(A){10===(A+"").length&&(A*=1e3);var e=new Date(A),t=e.getHours(),i=e.getMinutes(),a=e.getSeconds();return(t>9?t:"0"+t)+":"+(i>9?i:"0"+i)+":"+(a>9?a:"0"+a)}Date.prototype.Format=function(A){var e={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};for(var t in/(y+)/.test(A)&&(A=A.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length))),e)new RegExp("("+t+")").test(A)&&(A=A.replace(RegExp.$1,1==RegExp.$1.length?e[t]:("00"+e[t]).substr((""+e[t]).length)));return A};class En{static _instanceStyle(){En._STYLE||(En._STYLE=document.createElement("style"),En._STYLE.id="ezuikit-mobile-rec-style",En._STYLE.innerHTML='\n body{\n padding: 0;\n margin: 0;\n }\n .time-line-container {\n text-align: left;\n height: 300px;\n /* outline: 1px solid red; */\n /* background: gray; */\n position: relative;\n /* padding-top: 60px; */\n margin-top: 20px;\n }\n\n .time-line-container .time-line-item-container {\n display: inline-block;\n /* height: 400px; */\n width: 30%;\n /* background: indianred; */\n overflow-y: scroll;\n overflow-x: hidden;\n /* padding-top: 60px; */\n height: 300px;\n box-sizing: border-box;\n white-space: nowrap;\n position: relative;\n }\n\n .time-line-container .time-line-item-container::-webkit-scrollbar {\n width: 0px;\n /*滚动条宽度*/\n height: 0px;\n /*滚动条高度*/\n }\n\n .time-line-item .time-item {\n position: relative;\n box-sizing: border-box;\n height: 60px;\n font-size: 12px;\n color: rgb(150, 150, 150);\n border-right: 6px solid;\n border-right-color: #ddd;\n }\n\n .time-line-item .time-item .scale {\n width: 6px;\n height: 9px;\n border-bottom: 1px solid #ccc;\n float: right;\n clear: both;\n }\n\n .time-line-item .time-item .item-unavail {\n width: 6px;\n position: absolute;\n left: 100%;\n background-color: #ddd;\n }\n\n .time-line-container .current-time {\n position: absolute;\n left: 0;\n top: 40px;\n height: 29px;\n /* line-height: 58px; */\n border-bottom: 1px solid #648FFC;\n width: 60%;\n margin-left: 26%;\n }\n\n .time-line-container .current-time .current-time-bg {\n position: relative;\n top: 15px;\n width: 100px;\n height: 29px;\n line-height: 29px;\n left: -70px;\n font-size: 12px;\n color: #2C2C2C;\n }\n\n .time-line-container .current-time .current-time-bg::before {\n content: \'\';\n display: inline-block;\n width: 6px;\n height: 6px;\n border-radius: 100%;\n background: #648FFC;\n top: 11px;\n position: absolute;\n right: 30px;\n }\n\n .date-switch-container {\n height: 40px;\n position: relative;\n text-align: center;\n margin: 20px 10px;\n }\n\n .date-switch-container .current-date {\n line-height: 40px;\n height: 22px;\n font-size: 16px;\n color: #2C2C2C;\n text-align: center;\n font-weight: bold;\n }\n\n .date-container {\n width: 40px;\n height: 40px;\n position: absolute;\n right: 0;\n top: 0;\n }\n\n .rec-type-container {\n display: flex;\n justify-content: space-between;\n }\n\n .rec-type-container .rec-type-text {\n padding: 0 15px;\n font-size: 12px;\n color: #2C2C2C;\n }\n\n .rec-type-container .rec-type-switch {\n padding: 0 20px;\n }\n\n .date-container input {\n position: absolute;\n opacity: 0;\n display: inline-block;\n width: 40px;\n height: 40px;\n z-index: 10;\n left: 0;\n }\n\n .date-container label {\n position: absolute;\n left: 0;\n top: 0;\n /* display: none; */\n z-index: 0;\n }\n\n .date-icon {\n display: inline-block;\n width: 40px;\n height: 40px;\n background: url(\'https://resource.eziot.com/group2/M00/00/6A/CtwQF2F6VieAQrU9AAABP-_Nsqo949.png\') no-repeat 100% 100%;\n }\n .select-container {\n padding: 10px;\n display: flex;\n justify-content: space-between;\n }\n\n .advice {\n height: 24px;\n width: 70px;\n display: flex;\n justify-content: space-between;\n line-height: 24px;\n background: #F8F8F8;\n border-radius: 8px;\n }\n\n .advice span {\n width: 40px;\n display: inline-block;\n }\n\n input[type="checkbox"]:not(:checked)+.advice span:first-child {\n box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%);\n border-radius: 8px;\n text-align: center;\n\n }\n\n input[type="checkbox"]:checked+.advice span:last-child {\n box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%);\n border-radius: 8px;\n text-align: center;\n }\n\n input[type="checkbox"]:not(:checked)+.advice span:first-child svg {\n fill: #648FFC !important;\n }\n\n input[type="checkbox"]:checked+.advice span:last-child svg {\n fill: #648FFC !important;\n }',document.getElementsByTagName("head")[0].appendChild(En._STYLE))}recInit(){this.createDom(),this.initTimeLine(),this.injectJsCss(this.jSPlugin),this.syncTimeLine(),this.bindEvent()}injectJsCss(A){this.unInjectJsCss();const e=this,t=document.getElementById(`${A.id}-wrap`);((A,e)=>{try{if(document.querySelector(`link[href="${A}"]`))return}catch(A){}for(var t=document.getElementsByTagName("head")[0].getElementsByTagName("link"),i=!1,a=0;a{ua(`${A.staticPath}/rec/datepicker.js`,(A=>{ua(`${A.staticPath}/rec/datepicker.${e.datepickerLang[A.language]}.js`,(A=>{let i=t.getElementsByClassName("datepicker-container")[0];!i&&$(`#${A.id}-datepicker`).datepicker&&$(`#${A.id}-datepicker`).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:e.datepickerLang[A.language],date:new Date(ma("begin",A.params.url).replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"))||new Date,format:"yyyy-mm-dd",endDate:new Date,inline:!0,container:t}),i=t.getElementsByClassName("datepicker-container")[0],i&&(i.style.display="none",i.style.bottom="-314px",i.style.right="0px"),e.datepickerVisible=!1,$(`#${A.id}-datepicker`).on("pick.datepicker",(t=>{let a={begin:new Date(t.date).Format("yyyyMMddhhmmss")};if(e.begin=t.date,e.end=new Date(t.date).Format("yyyy-MM-dd")+" 23:59:59",t.date>new Date||new Date(t.date).Format("yyyyMMdd")===new Date(document.getElementById(`${A.id}-datepicker`).getAttribute("data-value")).Format("yyyyMMdd"))t.preventDefault();else{const i=new Date(t.date).Format("yyyy/MM/dd");document.getElementById(`${A.id}-datepicker`)&&document.getElementById(`${A.id}-datepicker`).setAttribute("data-value",i),e.date=i,A.eventEmitter.emit(er.date.recStartTimeChange,{code:0,data:{time:i}}),A.Theme.decoderState&&A.Theme.decoderState.state&&(A.Theme.decoderState.state.cloudRec?a={begin:new Date(t.date).Format("yyyyMMddhhmmss"),type:"cloud.rec"}:A.Theme.decoderState.state.rec&&(a={begin:new Date(t.date).Format("yyyyMMddhhmmss"),type:"rec"}))}A.changePlayUrl(a,(()=>{}),!1).then((()=>{setTimeout((()=>{const A=document.getElementById("date");A&&(A.value=new Date(t.date).Format("yyyy-MM-dd"))}),0),e.jSPlugin.Theme.decoderState.state.sound&&e.jSPlugin.openSound(),e.syncTimeLine()})),e.changeRecSpeed(1),e.resetMobileZoomStatus(),i&&(i.style.display="none"),e.datepickerVisible=!1})),$(`#${A.id}-datepicker`).off("click").on("click",(t=>{var a,r;e.datepickerVisible?i&&(i.style.display="none",null==A||null==(a=A.eventEmitter)||a.emit(er.date.closeDatePanel)):i&&(i.style.display="inline",null==A||null==(r=A.eventEmitter)||r.emit(er.date.openDatePanel));e.datepickerVisible=!e.datepickerVisible})),document.getElementById("date-picker")&&document.getElementById("date-picker").addEventListener("focus",(function(A){A.target.blur()}))}),(()=>{}),A)}),(()=>{}),A)}),(()=>{}),A)}createDom(){const A=document.createElement("div");A.id="date-switch-container-wrap",A.className="date-switch-container-wrap",A.style="",A.innerHTML=`\n
\n
${this.jSPlugin.i18n.t("RECORD_TIPS")}
\n
\n \n
\n
\n
\n `,_a(A,document.getElementById(`${this.jSPlugin.id}-wrap`));const e=document.createElement("div");e.id="rec-type-container-wrap",e.className="rec-type-container-wrap",e.style="",e.innerHTML=`\n
\n
${this.recList.length}${this.jSPlugin.i18n.t("RECORDS")}
\n
\n \n
\n
\n `,_a(e,A);const t=document.createElement("div");t.id="mobile-rec-wrap",t.className="mobileRec-wrap",t.style="",t.innerHTML='\n
\n
\n
00:00:00
\n
\n
\n
\n
\n
\n
\n ',_a(t,e)}initTimeLine(){var A,e,t;null==(e=this.jSPlugin)||null==(A=e.logger)||A.log("[TimeLine] init"),this.TimeLineOBJ=new hn({id:"time-line-item",getPlayParam:A=>{const e=this;var t=A.current,i=new Date(this.date).Format("yyyyMMdd").substr(0,8)+(A.current?t.replace(/:/g,""):A.current.replace(/:/g,""));if("cloud.rec"===this.type||this.jSPlugin.useSeek&&this.jSPlugin.capacity&&"1"==this.jSPlugin.capacity.support_seek_playback){if(!this.isSeeking&&e.recList.length>0)if(new Date(`${this.date} ${A.current}`).valueOf()>=e.lastDate)this.jSPlugin.pluginStatus.loadingSetText({text:"seek回放未找到录像片段",color:"red",delayClear:2e3}),this.syncTimeLine();else{const{play:A}=this.jSPlugin.Theme.decoderState.state;A?this.unSyncTimeLine().then((()=>{this.isSeeking=!0,this.jSPlugin.pluginStatus.loadingStart(this.jSPlugin.id),this.jSPlugin.pluginStatus.setPlayStatus({loading:!0}),this.jSPlugin.pluginStatus.loadingSetText({text:this.jSPlugin.i18n.t("LOADING")}),this.jSPlugin.Theme.setDisabled(!0),this.jSPlugin.seek(i.substr(8,6),"235959").then((()=>{const A=setInterval((()=>{this.jSPlugin.getOSDTime().then((t=>{new Date(1e3*t.data).Format("yyyyMMddhhmmss")>=i&&(this.isSeeking=!1,this.syncTimeLine(),clearInterval(A),this.jSPlugin.pluginStatus.loadingStop(this.jSPlugin.id),this.jSPlugin.pluginStatus.setPlayStatus({loading:!1}),this.jSPlugin.pluginStatus.loadingClear(),this.jSPlugin.Theme.setDisabled(!1),this.jSPlugin.waterMark_JSPlugin&&e.jSPlugin.setWaterMarkFont(e.jSPlugin.waterMark_JSPlugin),e.jSPlugin.Theme.decoderState.state.sound&&e.jSPlugin.openSound())}))}),500)}))})):this.unSyncTimeLine().then((()=>{this.jSPlugin.pluginStatus.loadingStart(this.jSPlugin.id),this.jSPlugin.pluginStatus.setPlayStatus({loading:!0}),this.jSPlugin.pluginStatus.loadingSetText({text:this.jSPlugin.i18n.t("LOADING")}),this.jSPlugin.Theme.setDisabled(!0);let A=this.jSPlugin.url;A.indexOf("begin")>-1?A=A.replace(/(begin=)(\d+)/,(function(A,e,t){return e+i})):A+=`?begin=${i}`,this.jSPlugin.play({url:A}).then((()=>{this.syncTimeLine(),this.jSPlugin.pluginStatus.loadingStop(this.jSPlugin.id),this.jSPlugin.pluginStatus.setPlayStatus({loading:!1}),this.jSPlugin.pluginStatus.loadingClear(),this.jSPlugin.Theme.setDisabled(!1),e.jSPlugin.waterMark_JSPlugin&&e.jSPlugin.setWaterMarkFont(e.jSPlugin.waterMark_JSPlugin)})).catch((A=>{}))}))}}else{const A=()=>{setTimeout((()=>{this.disabled=!1}),this.seekFrequency)},t=A=>{this.disabled=!0,this.unSyncTimeLine().then((()=>{this.jSPlugin.pluginStatus.loadingStart(this.jSPlugin.id),this.jSPlugin.pluginStatus.setPlayStatus({loading:!0}),this.jSPlugin.pluginStatus.loadingSetText({text:this.jSPlugin.i18n.t("LOADING")}),this.jSPlugin.Theme.setDisabled(!0);let t=this.jSPlugin.url;t.indexOf("begin")>-1?t=t.replace(/(begin=)(\d+)/,(function(A,e,t){return e+i})):t+=`?begin=${i}`,this.jSPlugin.play({url:t,unSaveUrl:!0,showPoster:!0}).then((()=>{A&&A(),this.syncTimeLine(),this.jSPlugin.pluginStatus.loadingStop(this.jSPlugin.id),this.jSPlugin.pluginStatus.setPlayStatus({loading:!1}),this.jSPlugin.pluginStatus.loadingClear(),this.jSPlugin.Theme.setDisabled(!1),e.jSPlugin.waterMark_JSPlugin&&e.jSPlugin.setWaterMarkFont(e.jSPlugin.waterMark_JSPlugin),this.jSPlugin.Theme.decoderState.state.sound&&this.jSPlugin.openSound()})).catch((A=>{}))})),this.jSPlugin.Theme&&this.jSPlugin.Theme.decoderState&&this.jSPlugin.Theme.decoderState.state&&this.jSPlugin.Theme.decoderState.state.zoom&&(this.jSPlugin.Theme.setDecoderState({zoom:!1}),this.jSPlugin.Zoom.stopZoom())};this.disabled?(this.seekTimer&&clearTimeout(this.seekTimer),this.seekTimer=setTimeout((()=>{t(A)}),this.seekFrequency)):t(A)}},ontouchstart:()=>{this.operating=!0,this.unSyncTimeLine()},ontouchmove:()=>{0==this.operating&&(this.operating=!0,this.unSyncTimeLine())},ontouchend:()=>{this.operating=!1}}),this.TimeLineOBJ.setDateLine(this.recList),null==(t=this.jSPlugin)||t.eventEmitter.on(er.setAllDayRecTimes,(A=>{if(Array.isArray(A.list)){const e=A.list.length;document.getElementById("recCount")&&(document.getElementById("recCount").innerHTML=e);let t=[];for(let i=e-1;i>=0;i--){let e=A.list[i],a=Bn(e.endTime),r=Bn(e.startTime);t.push({st:r,et:a})}this.TimeLineOBJ.setDateLine(t),A.list.length>0&&(this.recList=t,this.lastDate=1e3*A.list[A.list.length-1].endTime)}}))}unInjectJsCss(){Hr.listInstances().length<=1&&((A=>{for(var e=document.getElementsByTagName("head")[0].getElementsByTagName("link"),t=0;t{clearInterval(A)})):window.recTimer={},window.recTimer[this.jSPlugin.id]=[];const A=this;this.TimeLineOBJ&&(this.jSPlugin.recTimer=setInterval((()=>{if(this.operating)return!1;this.jSPlugin.getOSDTime().then((e=>{e.data>0&&A.TimeLineOBJ.stepScrollTimeLine(function(A){var e=new Date(A),t=e.getHours(),i=e.getMinutes(),a=e.getSeconds();return(t>9?t:"0"+t)+":"+(i>9?i:"0"+i)+":"+(a>9?a:"0"+a)}(1e3*e.data))})).catch((A=>{}))}),500),window.recTimer[this.jSPlugin.id].push(this.jSPlugin.recTimer))}unSyncTimeLine(){const A=this;return new Promise((function(e,t){A.jSPlugin.recTimer&&(clearInterval(A.jSPlugin.recTimer),A.jSPlugin.recTimer=null),window.recTimer?Array.isArray(window.recTimer[A.jSPlugin.id])&&(window.recTimer[A.jSPlugin.id].map((A=>{clearInterval(A)})),window.recTimer[A.jSPlugin.id]=[]):window.recTimer={},e()}))}bindEvent(){document.getElementById("cloudType").checked="rec"===this.type,document.getElementById("cloudType").addEventListener("change",(A=>{var e;A.target.checked,this.type=A.target.checked?"rec":"cloud.rec",null==(e=this.jSPlugin)||e.eventEmitter.emit(er.recTypeChange,{code:0,data:{type:this.jSPlugin._isCloudRecord&&"cloud.rec"===this.type?"cloudRecord":"rec"===this.type?"local":"cloud"}}),this.jSPlugin.changePlayUrl({type:this.type,begin:`${new Date(this.date).Format("yyyyMMdd")}000000`},(()=>{this.jSPlugin._isCloudRecord&&this.jSPlugin.Theme.changeTheme("mobileRec")})).then((()=>{this.syncTimeLine(),this.changeRecSpeed(1),this.resetMobileZoomStatus(),this.jSPlugin.Theme.decoderState.state.sound&&this.jSPlugin.openSound()})).catch((A=>{}))}))}constructor(A,e,t){var i;if(null==A||null==(i=A.logger)||i.log("[MobileRec] init"),this.changeRecSpeed=e,this.resetMobileZoomStatus=t,this.isMobile=!0,this.jSPlugin=A,this.date=(new Date).Format("yyyy-MM-dd"),this.begin=((new Date).Format("yyyy-MM-dd")+" 00:00:00").replace(/-/g,"/"),this.end=((new Date).Format("yyyy-MM-dd")+" 23:59:59").replace(/-/g,"/"),this.initBegin=null,this.initEnd=null,this.type=ya(this.jSPlugin.url).type,this.operating=!1,this.seekTimer=null,this.disabled=!1,this.seekFrequency=2e3,this.recList=[],this.isSeeking=!1,this.datepickerLang={zh:"zh-CN",en:"en-US"},this.datepickerVisible=!1,this.jSPlugin.params&&this.jSPlugin.params.seekFrequency&&(this.seekFrequency=this.jSPlugin.params.seekFrequency),En._instanceStyle(),ma("begin",this.jSPlugin.url)){var a=ma("begin",this.jSPlugin.url);this.date=a.slice(0,4)+"/"+a.slice(4,6)+"/"+a.slice(6,8),this.begin=this.date+` ${a.slice(8,10)||"00"}:${a.slice(10,12)||"00"}:${a.slice(12,14)||"00"}`,this.end=this.date+" 23:59:59",this.initBegin=this.begin}if(ma("end",this.jSPlugin.url)){var r=ma("end",this.jSPlugin.url);this.end=this.date+` ${r.slice(8,10)||"23"}:${r.slice(10,12)||"59"}:${r.slice(12,14)||"59"}`,this.initEnd=this.end}this.recInit()}}function xn(A,e,t,i,a,r,n){try{var o=A[r](n),s=o.value}catch(A){return void t(A)}o.done?e(s):Promise.resolve(s).then(i,a)}function dn(){var A;return A=function*(A){var e;const t=Hr.getInstance(A.id);if(t){const e=t.getState();e.sound&&A.closeSound(),e.talk&&A.stopTalk(),e.recordvideo&&(yield A.stopSave())}var i,a,r;if(A._$streamInfo&&(null==(r=A.jSPlugin)||null==(a=r.player)||null==(i=a.setStreamInfoCallBackType)||i.call(a,1),A._$streamInfo.remove(),A._$streamInfo=null,A.showStreamInfo=!1,A.streamInfo={}),A._recOSDTimer&&(clearInterval(A._recOSDTimer),A._recOSDTimer=null),A._seekIntervaltimer&&(clearInterval(A._seekIntervaltimer),A._seekIntervaltimer=null),A.Talk&&"function"==typeof A.Talk.destroy&&A.Talk.destroy(),A._services)try{A._services.destroy()}catch(A){}A._collect=null;var n=A.jSPlugin.JS_DestroyWorker(0);if(Hr&&A.id&&Hr.removeInstance(A.id),Hr&&0===Hr.listInstances().length){if(Cn._STYLE){const A=document.getElementById(Cn._STYLE.id);A&&document.getElementsByTagName("head")[0].removeChild(A),Cn._STYLE=null}if(In._STYLE){const A=document.getElementById(In._STYLE.id);A&&document.getElementsByTagName("head")[0].removeChild(A),In._STYLE=null}if(En._STYLE){const A=document.getElementById(En._STYLE.id);A&&document.getElementsByTagName("head")[0].removeChild(A),En._STYLE=null}}return null==A.emit||A.emit.call(A,er.destroy,{eventType:er.destroy,code:0,msg:null==(e=A.i18n)?void 0:e.t("DESTROY")}),A.videoInfo=null,A.audioInfo=null,A.jSPlugin=null,A.eventEmitter&&(A.eventEmitter.removeAllListeners(),A.eventEmitter=null),n},dn=function(){var e=this,t=arguments;return new Promise((function(i,a){var r=A.apply(e,t);function n(A){xn(r,i,a,n,o,"next",A)}function o(A){xn(r,i,a,n,o,"throw",A)}n(void 0)}))},dn.apply(this,arguments)}const Qn=[er.getOSDTime,er.streamInfoCB,er.http.getCloudRecordTimes,er.http.getLocalRecTimes,er.http.getCloudRecTimes,er.setAllDayRecTimes,er.setRecTimes,er.talkVolumeChange];function fn(A,e=er){Object.keys(e).forEach((t=>{"object"!=typeof e[t]?null==A||A.on(e[t],(i=>{var a;if(!Qn.includes(t))if("object"==typeof i&&"[object Object]"===Object.prototype.toString.call(i)||Array.isArray(i)){delete i.target;try{var r;null==(r=A.logger)||r.log("[events]",e[t],JSON.stringify(i))}catch(A){}}else null==(a=A.logger)||a.log("[events]",e[t],i)})):fn(A,e[t])}))} + */var e,n,r,i$1,o=(e="undefined"!=typeof self?self:window,n={navigator:void 0!==e.navigator?e.navigator:{userAgent:""},infoMap:{engine:["WebKit","Trident","Gecko","Presto"],browser:["Safari","Chrome","Edge","IE","Firefox","Firefox Focus","Chromium","Opera","Vivaldi","Yandex","Arora","Lunascape","QupZilla","Coc Coc","Kindle","Iceweasel","Konqueror","Iceape","SeaMonkey","Epiphany","360","360SE","360EE","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","LBBROWSER","2345Explorer","TheWorld","XiaoMi","Quark","Qiyu","Wechat","Taobao","Alipay","Weibo","Douban","Suning","iQiYi"],os:["Windows","Linux","Mac OS","Android","Ubuntu","FreeBSD","Debian","iOS","Windows Phone","BlackBerry","MeeGo","Symbian","Chrome OS","WebOS"],device:["Mobile","Tablet","iPad"]}},r={getMatchMap:function(e){return{Trident:e.indexOf("Trident")>-1||e.indexOf("NET CLR")>-1,Presto:e.indexOf("Presto")>-1,WebKit:e.indexOf("AppleWebKit")>-1,Gecko:e.indexOf("Gecko/")>-1,Safari:e.indexOf("Safari")>-1,Chrome:e.indexOf("Chrome")>-1||e.indexOf("CriOS")>-1,IE:e.indexOf("MSIE")>-1||e.indexOf("Trident")>-1,Edge:e.indexOf("Edge")>-1,Firefox:e.indexOf("Firefox")>-1||e.indexOf("FxiOS")>-1,"Firefox Focus":e.indexOf("Focus")>-1,Chromium:e.indexOf("Chromium")>-1,Opera:e.indexOf("Opera")>-1||e.indexOf("OPR")>-1,Vivaldi:e.indexOf("Vivaldi")>-1,Yandex:e.indexOf("YaBrowser")>-1,Arora:e.indexOf("Arora")>-1,Lunascape:e.indexOf("Lunascape")>-1,QupZilla:e.indexOf("QupZilla")>-1,"Coc Coc":e.indexOf("coc_coc_browser")>-1,Kindle:e.indexOf("Kindle")>-1||e.indexOf("Silk/")>-1,Iceweasel:e.indexOf("Iceweasel")>-1,Konqueror:e.indexOf("Konqueror")>-1,Iceape:e.indexOf("Iceape")>-1,SeaMonkey:e.indexOf("SeaMonkey")>-1,Epiphany:e.indexOf("Epiphany")>-1,360:e.indexOf("QihooBrowser")>-1||e.indexOf("QHBrowser")>-1,"360EE":e.indexOf("360EE")>-1,"360SE":e.indexOf("360SE")>-1,UC:e.indexOf("UC")>-1||e.indexOf(" UBrowser")>-1,QQBrowser:e.indexOf("QQBrowser")>-1,QQ:e.indexOf("QQ/")>-1,Baidu:e.indexOf("Baidu")>-1||e.indexOf("BIDUBrowser")>-1,Maxthon:e.indexOf("Maxthon")>-1,Sogou:e.indexOf("MetaSr")>-1||e.indexOf("Sogou")>-1,LBBROWSER:e.indexOf("LBBROWSER")>-1,"2345Explorer":e.indexOf("2345Explorer")>-1,TheWorld:e.indexOf("TheWorld")>-1,XiaoMi:e.indexOf("MiuiBrowser")>-1,Quark:e.indexOf("Quark")>-1,Qiyu:e.indexOf("Qiyu")>-1,Wechat:e.indexOf("MicroMessenger")>-1,Taobao:e.indexOf("AliApp(TB")>-1,Alipay:e.indexOf("AliApp(AP")>-1,Weibo:e.indexOf("Weibo")>-1,Douban:e.indexOf("com.douban.frodo")>-1,Suning:e.indexOf("SNEBUY-APP")>-1,iQiYi:e.indexOf("IqiyiApp")>-1,Windows:e.indexOf("Windows")>-1,Linux:e.indexOf("Linux")>-1||e.indexOf("X11")>-1,"Mac OS":e.indexOf("Macintosh")>-1,Android:e.indexOf("Android")>-1||e.indexOf("Adr")>-1,Ubuntu:e.indexOf("Ubuntu")>-1,FreeBSD:e.indexOf("FreeBSD")>-1,Debian:e.indexOf("Debian")>-1,"Windows Phone":e.indexOf("IEMobile")>-1||e.indexOf("Windows Phone")>-1,BlackBerry:e.indexOf("BlackBerry")>-1||e.indexOf("RIM")>-1,MeeGo:e.indexOf("MeeGo")>-1,Symbian:e.indexOf("Symbian")>-1,iOS:e.indexOf("like Mac OS X")>-1,"Chrome OS":e.indexOf("CrOS")>-1,WebOS:e.indexOf("hpwOS")>-1,Mobile:e.indexOf("Mobi")>-1||e.indexOf("iPh")>-1||e.indexOf("480")>-1,Tablet:e.indexOf("Tablet")>-1||e.indexOf("Nexus 7")>-1,iPad:e.indexOf("iPad")>-1}},matchInfoMap:function(e){var i,o=(null==(i=n.navigator)?void 0:i.userAgent)||"",t=r.getMatchMap(o);for(var a in n.infoMap)for(var c=0;c36&&e.showModalDialog?c=!0:+u>45&&(c=t("type","application/vnd.chromium.remoting-viewer"))}if(a.Baidu&&a.Opera&&(a.Baidu=!1),a.Mobile&&(a.Mobile=!o.includes("iPad")),c&&(t("type","application/gameplugin")||n.navigator&&void 0===n.navigator.connection.saveData?a["360SE"]=!0:a["360EE"]=!0),a.IE||a.Edge)switch(window.screenTop-window.screenY){case 71:case 74:case 99:case 75:case 105:break;case 102:a["360EE"]=!0;break;case 104:a["360SE"]=!0}var d={Safari:function(){return o.replace(/^.*Version\/([\d.]+).*$/,"$1")},Chrome:function(){return o.replace(/^.*Chrome\/([\d.]+).*$/,"$1").replace(/^.*CriOS\/([\d.]+).*$/,"$1")},IE:function(){return o.replace(/^.*MSIE ([\d.]+).*$/,"$1").replace(/^.*rv:([\d.]+).*$/,"$1")},Edge:function(){return o.replace(/^.*Edge\/([\d.]+).*$/,"$1")},Firefox:function(){return o.replace(/^.*Firefox\/([\d.]+).*$/,"$1").replace(/^.*FxiOS\/([\d.]+).*$/,"$1")},"Firefox Focus":function(){return o.replace(/^.*Focus\/([\d.]+).*$/,"$1")},Chromium:function(){return o.replace(/^.*Chromium\/([\d.]+).*$/,"$1")},Opera:function(){return o.replace(/^.*Opera\/([\d.]+).*$/,"$1").replace(/^.*OPR\/([\d.]+).*$/,"$1")},Vivaldi:function(){return o.replace(/^.*Vivaldi\/([\d.]+).*$/,"$1")},Yandex:function(){return o.replace(/^.*YaBrowser\/([\d.]+).*$/,"$1")},Arora:function(){return o.replace(/^.*Arora\/([\d.]+).*$/,"$1")},Lunascape:function(){return o.replace(/^.*Lunascape[\/\s]([\d.]+).*$/,"$1")},QupZilla:function(){return o.replace(/^.*QupZilla[\/\s]([\d.]+).*$/,"$1")},"Coc Coc":function(){return o.replace(/^.*coc_coc_browser\/([\d.]+).*$/,"$1")},Kindle:function(){return o.replace(/^.*Version\/([\d.]+).*$/,"$1")},Iceweasel:function(){return o.replace(/^.*Iceweasel\/([\d.]+).*$/,"$1")},Konqueror:function(){return o.replace(/^.*Konqueror\/([\d.]+).*$/,"$1")},Iceape:function(){return o.replace(/^.*Iceape\/([\d.]+).*$/,"$1")},SeaMonkey:function(){return o.replace(/^.*SeaMonkey\/([\d.]+).*$/,"$1")},Epiphany:function(){return o.replace(/^.*Epiphany\/([\d.]+).*$/,"$1")},360:function(){return o.replace(/^.*QihooBrowser\/([\d.]+).*$/,"$1")},"360SE":function(){return{63:"10.0",55:"9.1",45:"8.1",42:"8.0",31:"7.0",21:"6.3"}[+o.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},"360EE":function(){return{69:"11.0",63:"9.5",55:"9.0",50:"8.7",30:"7.5"}[+o.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},Maxthon:function(){return o.replace(/^.*Maxthon\/([\d.]+).*$/,"$1")},QQBrowser:function(){return o.replace(/^.*QQBrowser\/([\d.]+).*$/,"$1")},QQ:function(){return o.replace(/^.*QQ\/([\d.]+).*$/,"$1")},Baidu:function(){return o.replace(/^.*BIDUBrowser[\s\/]([\d.]+).*$/,"$1")},UC:function(){return o.replace(/^.*UC?Browser\/([\d.]+).*$/,"$1")},Sogou:function(){return o.replace(/^.*SE ([\d.X]+).*$/,"$1").replace(/^.*SogouMobileBrowser\/([\d.]+).*$/,"$1")},LBBROWSER:function(){return{57:"6.5",49:"6.0",46:"5.9",42:"5.3",39:"5.2",34:"5.0",29:"4.5",21:"4.0"}[+navigator.userAgent.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},"2345Explorer":function(){return o.replace(/^.*2345Explorer\/([\d.]+).*$/,"$1")},TheWorld:function(){return o.replace(/^.*TheWorld ([\d.]+).*$/,"$1")},XiaoMi:function(){return o.replace(/^.*MiuiBrowser\/([\d.]+).*$/,"$1")},Quark:function(){return o.replace(/^.*Quark\/([\d.]+).*$/,"$1")},Qiyu:function(){return o.replace(/^.*Qiyu\/([\d.]+).*$/,"$1")},Wechat:function(){return o.replace(/^.*MicroMessenger\/([\d.]+).*$/,"$1")},Taobao:function(){return o.replace(/^.*AliApp\(TB\/([\d.]+).*$/,"$1")},Alipay:function(){return o.replace(/^.*AliApp\(AP\/([\d.]+).*$/,"$1")},Weibo:function(){return o.replace(/^.*weibo__([\d.]+).*$/,"$1")},Douban:function(){return o.replace(/^.*com.douban.frodo\/([\d.]+).*$/,"$1")},Suning:function(){return o.replace(/^.*SNEBUY-APP([\d.]+).*$/,"$1")},iQiYi:function(){return o.replace(/^.*IqiyiVersion\/([\d.]+).*$/,"$1")}};return i.browserVersion="",d[i.browser]&&(i.browserVersion=d[i.browser](),i.browserVersion==o&&(i.browserVersion="")),"Edge"==i.browser&&(i.engine="EdgeHTML"),"Chrome"==i.browser&&parseInt(i.browserVersion)>27&&(i.engine="Blink"),"Opera"==i.browser&&parseInt(i.browserVersion)>12&&(i.engine="Blink"),"Yandex"==i.browser&&(i.engine="Blink"),i.browser+" (version: "+i.browserVersion+"; kernel: "+i.engine+")"}},i$1={DeviceInfoObj:function(i){var o,t=function(e){var n;null==(n=i.info)||n.forEach((function(n){n.toLowerCase()===e.toLowerCase()&&(c[e]=a[e])}))};i=i||{domain:""};var a={deviceType:r.getDeviceType(),OS:r.getOS(),OSVersion:r.getOSVersion(),sh:e.screen.height,sw:e.screen.width,lang:r.getLanguage(),netWork:r.getNetwork(),orientation:r.getOrientationStatu(),browserInfo:r.getBrowserInfo(),fingerprint:r.createFingerprint(i.domain),userAgent:null==(o=n.navigator)?void 0:o.userAgent};if(!i.info||0===i.info.length)return a;var c={};for(var u in a)t(u);return c}},{getDeviceInfo:function(e){return i$1.DeviceInfoObj(e)}}),t=function(){function e(){}return e.add=function(n,r){e.queues.push({url:n,data:r})},e.fire=function(){if(e.queues&&0!==e.queues.length){e.isStop=!1;var n=e.queues[0];n.url&&e.api.report(n.data),e.queues.splice(0,1),e.fire()}else e.isStop=!0},e}();function a(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}t.isStop=!0,t.queues=[];var c=function(){function e(e){this.url=e}var n=e.prototype;return n.report=function(e){this.checkUrl(this.url)&&this.sendInfo(e)},n.sendInfo=function(e){navigator.sendBeacon?this.sendBeacon(this.url,e):this.sendImage(this.url,e)},n.sendImage=function(e,n){var r=this.changeJSON2Query(n),i=new Image;i.onload=i.onerror=function(){i=null},i.src=e+"?"+r+"&random="+Math.random()},n.sendBeacon=function(e,n){try{navigator.sendBeacon(e,this.formatParamsByURLSearchParams(n))}catch(e){}},n.formatParamsByURLSearchParams=function(e){var n=new URLSearchParams;for(var r in e)"object"===a(e[r])&&(e[r]=JSON.stringify(e[r])),n.append(r,e[r]);return n},n.changeJSON2Query=function(e){var n="";for(var r in e){""!=n&&(n+="&");var i=e[r];n+=r+"="+encodeURIComponent("object"===(void 0===i?"undefined":a(i))?JSON.stringify(i):i)}return n},n.checkUrl=function(e){return!!e&&/^[hH][tT][tT][pP]([sS]?):\/\//.test(e)},e}();function u(){return u=Object.assign||function(e){for(var n=1;ni.env===domain));return index>-1?LOG_ENV_LIST[index].logHost:""}report(action,params){var _this_collect;this.monitorReport&&(null==(_this_collect=this.collect)||_this_collect.send(_extends$b({action:action,appKey:this.appKey},params,{logInfo:_extends$b({pluginVersion:this.pluginVersion},params.logInfo||{})})))}updateParams(params){var _this_collect;null==(_this_collect=this.collect)||_this_collect.updateExtendsInfo(params)}updateAppKey(appKey){this.appKey=appKey}setForbidden(forbidden){var _this_collect;null==(_this_collect=this.collect)||_this_collect.setForbidden(forbidden)}constructor(options){this.collect=null,this.appKey="",this.monitorReport=!0,this.pluginVersion="";const url=this.getCollectUrl(options.domain);this.pluginVersion=options.pluginVersion,url&&(this.monitorReport=options.monitorReport,this.collect=new d(_extends$b({},options,{url:url})))}}function formatPlaybackBeginEndTimeZone(begin,end,timeZone=0,busType){let originBegin=begin,originEnd=end;return begin&&14===begin.length&&end&&14===end.length?(DateTime.formate(begin,"YYYYMMDD")!==DateTime.formate(end,"YYYYMMDD")&&(originEnd=begin.slice(0,8)+"235959"),end=(begin=begin.slice(0,8)+"000000").slice(0,8)+"235959"):begin&&14===begin.length?(end=(begin=begin.slice(0,8)+"000000").slice(0,8)+"235959",originEnd=begin.slice(0,8)+"235959"):end&&14===end.length?(begin=end.slice(0,8)+"000000",end=end.slice(0,8)+"235959",originBegin=begin):(originBegin=begin=DateTime.formate(new Date,"YYYYMMDD")+"000000",originEnd=end=DateTime.formate(new Date,"YYYYMMDD")+"235959"),([void 0,"",null].includes(timeZone)||(timeZone=parseInt(timeZone))>=24||timeZone<=-24||isNaN(timeZone))&&(timeZone=0),7==+busType?{begin:begin,end:end,timeZone:timeZone,originBegin:originBegin,originEnd:originEnd}:{begin:begin=DateTime.formate(DateTime.strToDate(begin).getTime()+60*timeZone*60*1e3,"YYYYMMDDhhmmss"),end:end=DateTime.formate(DateTime.strToDate(end).getTime()+60*timeZone*60*1e3,"YYYYMMDDhhmmss"),timeZone:timeZone,originBegin:originBegin,originEnd:originEnd}}function _extends$a(){return _extends$a=Object.assign||function(target){for(var i=1;i{newObj[key]=obj[key]})),newObj.istorageVersion&&(newObj.iStorageVersion=newObj.istorageVersion,delete newObj.istorageVersion),newObj}const startTime=DateTime.strToDate(begin).getTime(),endTime=DateTime.strToDate(end).getTime();return(slices=[...slices].map((item=>_extends$a({},item,{startTime:getTime(item.startTime),endTime:getTime(item.endTime)}))).filter((item=>item.startTime>=startTime&&item.endTime<=endTime||(item.startTimestartTime||(item.startTimeendTime||void 0))))).length>0&&(slices[0].startTime=startTime,slices[slices.length-1].endTime=endTime),slices.reduce(((acc,cur,index)=>0===index?(acc.push(pickObject(cur)),acc):(acc[acc.length-1].downloadPath===cur.downloadPath?acc[acc.length-1].endTime=cur.endTime:acc.push(pickObject(cur)),acc)),[])}const setVideoLevel=(jsPlugin,videoLevel)=>{var _jsPlugin_logger_log,_jsPlugin_logger;const url=`${jsPlugin.env.domain}/api/v3/device/setVideoLevel?accessToken=${jsPlugin.accessToken||jsPlugin.token.deviceToken.video} `,data=new FormData;return data.append("videoLevel",parseInt(videoLevel+"")),null==(_jsPlugin_logger=jsPlugin.logger)||null==(_jsPlugin_logger_log=_jsPlugin_logger.log)||_jsPlugin_logger_log.call(_jsPlugin_logger,"[https request] setVideoLevel()","videoLevel",videoLevel),videoLevel<0?Promise.resolve({}):fetch(url,{method:"POST",headers:{accessToken:jsPlugin.accessToken||jsPlugin.token.deviceToken.video,deviceSerial:jsPlugin.deviceSerial,localIndex:jsPlugin.channelNo},body:data}).then((response=>response.json())).then((res=>(null==jsPlugin.emit||jsPlugin.emit.call(jsPlugin,EVENTS.http.setVideoLevel,res),res)))};let HttpFetch_DOMAIN=DOMAIN;class HttpFetch{setDomain(domain){HttpFetch_DOMAIN=domain||HttpFetch_DOMAIN}fetch(input,init){return input="string"==typeof input?/^http/.test(input)?input:HttpFetch_DOMAIN+input:input,new Promise(((resolve,reject)=>{fetch(input,init).then((res=>{try{return res.json()}catch(error){reject({code:-1,msg:"data json parse error"})}})).then((res=>{200==+res.code||res.meta&&200===res.meta.code?resolve(res):reject(res)})).catch((err=>{reject(err)}))}))}constructor(domain){return HttpFetch.instant?HttpFetch.instant:(HttpFetch_DOMAIN=domain||HttpFetch_DOMAIN,HttpFetch.instant=this)}}function _extends$9(){return _extends$9=Object.assign||function(target){for(var i=1;i{this.instances.has(id)&&this.removeInstance(id);const instance=new Instance(id,initialState);this.instances.set(id,instance)},this.getInstance=id=>this.instances.has(id)?this.instances.get(id):null,this.removeInstance=id=>{if(!this.instances.has(id))return null;this.instances.delete(id)},this.listInstances=()=>Array.from(this.instances.values()),this.instances=new Map,this.globalState={talk:!1,expend:!1,webExpend:!1,sound:!1,audioOnly:!1}}};function removePlayerCanvas(id){const $canvas=document.getElementById(`${id}-player`);$canvas&&$canvas.remove()}function getResolutionCategory(height){const resolutionRanges=[{max:400,label:"360P"},{max:520,label:"480P"},{max:900,label:"720P"},{max:1200,label:"1080P"},{max:1600,label:"2K"},{max:2400,label:"4K"},{max:4500,label:"8K"}];for(const range of resolutionRanges)if(height<=range.max)return range.label}function asyncGeneratorStep$5(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _extends$7(){return _extends$7=Object.assign||function(target){for(var i=1;i{if(player.cloudRecordRecList=list||[],null==player.emit||player.emit.call(player,EVENTS.http.getCloudRecordTimes,list||[]),null==player.emit||player.emit.call(player,EVENTS.setAllDayRecTimes,{type:"cloudRecordTimes",list:list||[]}),player.recordList=list||[],list.length){const playbackSlices=mergeRecSliceByDownloadPath(list,["downloadPath","ownerId","iStorageVersion","spaceId","startTime","endTime","videoType","busType"],obj.originBegin,obj.originEnd);if(null==player.emit||player.emit.call(player,EVENTS.setRecTimes,list),0===playbackSlices.length)return"";const recSliceArrJSON=JSON.stringify(playbackSlices).replace("\\","");return paramstring+"&recSlice="+recSliceArrJSON.replace("\\","")+"&r="+Math.random()}return null==player.emit||player.emit.call(player,EVENTS.setRecTimes,[]),""})):-1!==player.url.indexOf(".cloud")&&"7"!==player.urlInfo.searchParams.busType||"base"!==player.sdkType?yield player._services.getCloudTimes({begin:obj.begin,end:obj.end,url:player.url}).then((list=>{if(player.cloudRecList=list||[],null==player.emit||player.emit.call(player,EVENTS.http.getCloudRecTimes,list||[]),null==player.emit||player.emit.call(player,EVENTS.setAllDayRecTimes,{type:"cloudRecTimes",list:list}),player.recordList=list||[],list.length){const playbackSlices=mergeRecSliceByDownloadPath(list,["downloadPath","ownerId","iStorageVersion","startTime","endTime","videoType"],obj.originBegin,obj.originEnd);if(null==player.emit||player.emit.call(player,EVENTS.setRecTimes,playbackSlices),0===playbackSlices.length)return"";const recSliceArrJSON=JSON.stringify(playbackSlices.map((item=>{var _player_urlInfo_searchParams,_player_urlInfo_searchParams1;return _extends$7({},item,{startTime:item.startTime+3600*((null==(_player_urlInfo_searchParams=player.urlInfo.searchParams)?void 0:_player_urlInfo_searchParams.timeZone)||0)*1e3,endTime:item.endTime+3600*((null==(_player_urlInfo_searchParams1=player.urlInfo.searchParams)?void 0:_player_urlInfo_searchParams1.timeZone)||0)*1e3})}))).replace("\\","");return paramstring+"&recSlice="+recSliceArrJSON.replace("\\","")+"&r="+Math.random()}return null==player.emit||player.emit.call(player,EVENTS.setRecTimes,[]),""})):-1!==player.url.indexOf(".rec")?(player._services.getLocalRecTimes({begin:obj.begin,end:obj.end}).then((list=>{player.localRecList=list,null==player.emit||player.emit.call(player,EVENTS.http.getLocalRecTimes,list||[]),null==player.emit||player.emit.call(player,EVENTS.setAllDayRecTimes,{type:"localTimes",list:list||[]}),player.recordList=list||[],null==player.emit||player.emit.call(player,EVENTS.setRecTimes,list||[])})),paramstring):void 0},__getRecTimesService=function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep$5(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep$5(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))},__getRecTimesService.apply(this,arguments)}function _getDeviceSupportQualityServicesAndGetDeviceListServices(player){var _player_logger_log,_player_logger;return player.url.indexOf(".live")>-1?(null==(_player_logger=player.logger)||null==(_player_logger_log=_player_logger.log)||_player_logger_log.call(_player_logger,"[https request] _getDeviceSupportQualityServicesAndGetDeviceListServices()"),new Promise((resolve=>{const getDeviceSupportQualityService=player.params.videoLevelList?Promise.resolve(player.params.videoLevelList):function(player){var _player_logger_log,_player_logger;return null==(_player_logger=player.logger)||null==(_player_logger_log=_player_logger.log)||_player_logger_log.call(_player_logger,"[https request] getDeviceSupportQuality()"),player._services.getDeviceSupportQuality().then((res=>(player.videoLevelList=res,player._setVideoLevelList(player.videoLevelList),null==player.emit||player.emit.call(player,EVENTS.http.getDeviceSupportQuality,res),res)))}(player);Promise.all([getDeviceSupportQualityService,player._services.getDeviceList()]).then((res=>{var _player_logger_log,_player_logger,_player_videoLevelList_,_player_videoLevelList;null==(_player_logger=player.logger)||null==(_player_logger_log=_player_logger.log)||_player_logger_log.call(_player_logger,"[https request] getDeviceList()"),null==player.emit||player.emit.call(player,EVENTS.http.getDeviceList,res[1]||[]);const currentChannelNoItem=res[1].find((item=>item.channelNo===+player.urlInfo.channelNo));currentChannelNoItem||resolve([[],[]]),player._setVideoLevelList(player.videoLevelList),null==player.emit||player.emit.call(player,EVENTS.setVideoLevelList,res[0]||[]);let currentVideoLevel={};currentVideoLevel="compatible"===(null==(_player_videoLevelList_=player.videoLevelList[0])?void 0:_player_videoLevelList_.type)?player.url.indexOf(".hd.live")>0?player.videoLevelList[1]:player.videoLevelList[0]:player.videoLevelList.find((item=>item.level==(null==currentChannelNoItem?void 0:currentChannelNoItem.videoLevel)))||{},(null==currentVideoLevel?void 0:currentVideoLevel.streamTypeIn)?(player.videoLevel=currentVideoLevel.level,player.streamTypeIn=currentVideoLevel.streamTypeIn):(null==(_player_videoLevelList=player.videoLevelList)?void 0:_player_videoLevelList.length)>0?(player.videoLevel=player.videoLevelList[0].level,player.streamTypeIn=player.videoLevelList[0].streamTypeIn,currentVideoLevel=player.videoLevelList[0]):player.logger.warn(`the current video quality(${null==currentChannelNoItem?void 0:currentChannelNoItem.videoLevel}) is not in the list!`),null==player.emit||player.emit.call(player,EVENTS.currentVideoLevel,currentVideoLevel,player.videoLevel),resolve(res)}))}))):Promise.resolve([[],[]])}function _getStreamAddressListService(player){var _player_logger;return null==(_player_logger=player.logger)||_player_logger.log("[https request] getStreamAddressList()"),player._services.getStreamAddressList().then((res=>{player.maxReloadTime=res[0],null==player.emit||player.emit.call(player,EVENTS.http.getStreamAddressList,res[1])}))}function _extends$6(){return _extends$6=Object.assign||function(target){for(var i=1;i{var _player_logger,_player_logger1;(null==(_player_logger=player.logger)||_player_logger.log("_pluginPlay()",JSON.stringify(wssUrl)),wssUrl)||(null==(_player_logger1=player.logger)||_player_logger1.error("play address error"),reject({code:-1,msg:"play address error"}));player.wsUrl=wssUrl,player._recOSDTimer&&(clearInterval(player._recOSDTimer),player._recOSDTimer=null),player._seekIntervaltimer&&(clearInterval(player._seekIntervaltimer),player._seekIntervaltimer=null);const websocketConnectUrl=wssUrl.split("?")[0].replace("/live","").replace("/playback","");let websocketStreamingParam=(-1===wssUrl.indexOf("/live")?-1!==wssUrl.indexOf("cloudplayback")?"/cloudplayback?":"/playback?":"/live?")+wssUrl.split("?")[1];websocketStreamingParam=(websocketStreamingParam.replace(/&stream=\d/,"")+"&stream="+(["/cloudplayback?","/playback?"].includes(websocketStreamingParam)?1:player.streamTypeIn||1)).replace(/&&/gi,"&");const wsParams={playURL:websocketStreamingParam};if(player._gotWsUrlTime=(new Date).getTime(),player.isStoping=!1,player.jSPlugin){var _player_urlInfo,_player_jSPlugin;if(null==player.logger.log||player.logger.log.call(player.logger,"JS_Play()"),null==(_player_urlInfo=player.urlInfo)?void 0:_player_urlInfo.validateCode)null==(_player_jSPlugin=player.jSPlugin)||_player_jSPlugin.JS_SetSecretKey(0,player.urlInfo.validateCode);player.jSPlugin.JS_Play(websocketConnectUrl,wsParams,0).then((()=>{if(player.isStoping&&resolve({code:1,msg:"playing is stopping"}),1===player.videoPlayState||4===player.videoPlayState){var _player__collect;player.videoPlayState=2;const now=Date.now();null==(_player__collect=player._collect)||_player__collect.report(2,{logInfo:{domain:websocketConnectUrl,loadTime:now-player.videoInitTime,loadTimeDesc:{initTime:player._initTime,stopTime:stopTime,getWsTime:getWsTimeEnd-getWsTimeStart,createWsTime:now-getWsTimeEnd}},loadTime:now-player.videoInitTime,initTime:player._initTime,getWsTime:getWsTimeEnd-getWsTimeStart,createWsTime:now-getWsTimeEnd})}player.jSPlugin&&player._FECSplitIds&&player._FECCorrectType&&player.jSPlugin.JS_FECCorrectType(player._FECCorrectType,player._FECSplitIds),player.waterMark_JSPlugin&&player.setWaterMarkFont(player.waterMark_JSPlugin),resolve({code:0,wss:websocketConnectUrl,wsParams:wsParams})})).catch((err=>{var _player_i18n,_player_jSPlugin;let msg=null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("PLAY_FAILED"),retcode=-1;if(null==(_player_jSPlugin=player.jSPlugin)?void 0:_player_jSPlugin.bPlay)return!1;var _player_Theme_setDisabled,_player_Theme,_player_i18n1;(null==err?void 0:err.errorCode)&&(null==(_player_Theme=player.Theme)||null==(_player_Theme_setDisabled=_player_Theme.setDisabled)||_player_Theme_setDisabled.call(_player_Theme,!0),msg=null==(_player_i18n1=player.i18n)?void 0:_player_i18n1.t("39"+err.errorCode),retcode=err.errorCode);player.isCall,reject({msg:msg,code:retcode})}))}}))}function _changePlayUrl(player,options,callback=()=>{}){var _player_controls_zoomControl_setZoom,_player_controls_zoomControl,_player_controls,_player_urlInfo,_player_urlInfo1,_urlInfo_searchParams,_player_urlInfo_searchParams,_urlInfo_searchParams1,_player_urlInfo_searchParams1,_urlInfo_searchParams2,_player_urlInfo_searchParams2,_player__services,_player_controls1,_player_controls2,_player__collect,_player__collect1,_player_jSPlugin;player.playing=!0,player.loading=!0,null==(_player_controls=player.controls)||null==(_player_controls_zoomControl=_player_controls.zoomControl)||null==(_player_controls_zoomControl_setZoom=_player_controls_zoomControl.setZoom)||_player_controls_zoomControl_setZoom.call(_player_controls_zoomControl);const[newUrl,urlInfo]=function(preUrl,options,recType,spaceId){let newUrl="",tempUrlInfo=distExports$7.parseEzopenUrl(preUrl);options.url&&/^ezopen:\/\//.test(options.url)&&(newUrl=options.url,tempUrlInfo=distExports$7.parseEzopenUrl(newUrl));options.deviceSerial&&(tempUrlInfo.deviceSerial=options.deviceSerial);options.channelNo&&(tempUrlInfo.channelNo=options.channelNo);options.validCode&&(tempUrlInfo.validateCode=options.validCode);options.host&&(tempUrlInfo.hostname=options.host);const urlType=options.type||(tempUrlInfo.recType?tempUrlInfo.recType+"."+tempUrlInfo.type:tempUrlInfo.type);"live"===urlType?(tempUrlInfo.type="live",!0===options.hd?tempUrlInfo.definition="hd":!1===options.hd&&(tempUrlInfo.definition="sd"),tempUrlInfo.searchParams={},tempUrlInfo.search=""):["rec","cloud.rec","miniRec"].includes(urlType)&&(tempUrlInfo.recType="cloud.rec"===urlType?"cloud":"",tempUrlInfo.type="rec",tempUrlInfo.definition="",tempUrlInfo.searchParams=tempUrlInfo.searchParams||{},options.begin&&(tempUrlInfo.searchParams.begin=options.begin),options.end&&(tempUrlInfo.searchParams.end=options.end),"cloudRecord"===recType&&"cloud"===tempUrlInfo.recType&&(tempUrlInfo.searchParams.busType="7",spaceId&&(tempUrlInfo.searchParams.spaceId=spaceId)));return tempUrlInfo.search=Object.entries(tempUrlInfo.searchParams||{}).reduce(((acc,[key,value])=>""===value?acc:acc+=`${key}=${encodeURIComponent(value)}&`),"?").replace(/&$/,""),newUrl=`${tempUrlInfo.protocol}//${tempUrlInfo.validateCode?`${tempUrlInfo.validateCode}@`:""}${tempUrlInfo.hostname}/${tempUrlInfo.deviceSerial}/${tempUrlInfo.channelNo}${"rec"===tempUrlInfo.type&&tempUrlInfo.recType?"."+tempUrlInfo.recType:""}${"live"===tempUrlInfo.type&&"hd"===tempUrlInfo.definition?"."+tempUrlInfo.definition:""}.${tempUrlInfo.type}${tempUrlInfo.search}`,newUrl=newUrl.replace(/\?$/,""),tempUrlInfo=distExports$7.parseEzopenUrl(newUrl),[newUrl,tempUrlInfo]}(player.url,options,player.recType,player._spaceId);var _player_controls_ptzControl,_player_controls3,_player_Talk_updateOptions,_player_Talk;((null==urlInfo?void 0:urlInfo.origin)===(null==(_player_urlInfo=player.urlInfo)?void 0:_player_urlInfo.origin)&&(null==urlInfo?void 0:urlInfo.pathname)===(null==(_player_urlInfo1=player.urlInfo)?void 0:_player_urlInfo1.pathname)&&DateTime.formate((null==(_urlInfo_searchParams=urlInfo.searchParams)?void 0:_urlInfo_searchParams.begin)||new Date,"YYYYMMDD")===DateTime.formate((null==(_player_urlInfo_searchParams=player.urlInfo.searchParams)?void 0:_player_urlInfo_searchParams.begin)||new Date,"YYYYMMDD")&&(null==(_urlInfo_searchParams1=urlInfo.searchParams)?void 0:_urlInfo_searchParams1.busType)===(null==(_player_urlInfo_searchParams1=player.urlInfo.searchParams)?void 0:_player_urlInfo_searchParams1.busType)&&(null==(_urlInfo_searchParams2=urlInfo.searchParams)?void 0:_urlInfo_searchParams2.spaceId)===(null==(_player_urlInfo_searchParams2=player.urlInfo.searchParams)?void 0:_player_urlInfo_searchParams2.spaceId)||player.emit(EVENTS.setAllDayRecTimes,{type:"",list:[]}),player.url=newUrl,player.host=null==urlInfo?void 0:urlInfo.hostname,player.deviceSerial=urlInfo.deviceSerial,player.channelNo=urlInfo.channelNo,player.accessToken=options.accessToken||player.accessToken,player.token=options.token||player.token,null==(_player__services=player._services)||_player__services.updateOptions({accessToken:player.accessToken,token:player.token,channelNo:player.channelNo,deviceSerial:player.deviceSerial}),null==(_player_controls1=player.controls)?void 0:_player_controls1.ptzControl)&&(null==(_player_controls3=player.controls)||null==(_player_controls_ptzControl=_player_controls3.ptzControl)||_player_controls_ptzControl.updateOptions({accessToken:player.accessToken,token:player.token,channelNo:player.channelNo,deviceSerial:player.deviceSerial}));player.Talk&&(null==(_player_Talk=player.Talk)||null==(_player_Talk_updateOptions=_player_Talk.updateOptions)||_player_Talk_updateOptions.call(_player_Talk,{accessToken:player.accessToken,token:player.token,channelNo:player.channelNo,deviceSerial:player.deviceSerial}));if(null==(_player_controls2=player.controls)?void 0:_player_controls2.dateControl){var _urlInfo_searchParams3,_player_controls_dateControl,_player_controls4;const begin=(null==(_urlInfo_searchParams3=urlInfo.searchParams)?void 0:_urlInfo_searchParams3.begin)||new Date;null==(_player_controls4=player.controls)||null==(_player_controls_dateControl=_player_controls4.dateControl)||_player_controls_dateControl.setDate(new Date(DateTime.formate(begin,"YYYY-MM-DD hh:mm:ss")),!1)}if(urlInfo.deviceSerial!==player.urlInfo.deviceSerial||urlInfo.hostname!==player.urlInfo.hostname?(player._deviceSerialChangeServices(),"live"===urlInfo.type&&_getDeviceSupportQualityServicesAndGetDeviceListServices(player)):urlInfo.channelNo!==player.urlInfo.channelNo&&(_getStreamAddressListService(player),"live"===urlInfo.type&&_getDeviceSupportQualityServicesAndGetDeviceListServices(player)),player.videoInitTime=Date.now(),player.videoPlayState=4,options.url)try{let addressList=JSON.parse(localStorage.getItem("ezuikit_addressList")||"{}");addressList[player.deviceSerial+"_"+player.channelNo]||(addressList=_extends$6({},addressList,{[player.deviceSerial+"_"+player.channelNo]:[]}),localStorage.setItem("ezuikit_addressList",JSON.stringify(addressList)))}catch(error){}player.urlInfo=urlInfo;const reportUrlType="cloud"===urlInfo.recType?"cloud.rec":urlInfo.type;null==(_player__collect=player._collect)||_player__collect.updateParams({protocol:"ezopen",url:newUrl,serial:player.deviceSerial,no:player.channelNo,env:player.env.domain,type:reportUrlType});let tmpParams=Object.assign({},player.params);return null==(_player__collect1=player._collect)||_player__collect1.report(4,{logInfo:{type:reportUrlType,params:tmpParams}}),(null==(_player_jSPlugin=player.jSPlugin)?void 0:_player_jSPlugin.player)&&(player.jSPlugin.player.playbackRate=1,player.jSPlugin.player._playbackRate=1,player.speed=1),callback(),new Promise(((resolve,reject)=>{const changePlayUrlParams={url:newUrl};return options.token&&(changePlayUrlParams.token=options.token),options.accessToken&&(changePlayUrlParams.accessToken=options.accessToken),player.play(changePlayUrlParams).then((()=>{var _player_i18n;const props=["url","deviceSerial","channelNo","accessToken","token"].reduce(((acc,key)=>(acc[key]=player[key],acc)),{});null==player.emit||player.emit.call(player,EVENTS.changePlayUrl,{eventType:EVENTS.changePlayUrl,code:0,data:props,msg:null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("CHANGE_PLAYURL_SUCCESS")}),resolve(newUrl)})).catch((error=>{reject(error)}))}))}function _setSpeed(player,speed){let result=-1;var _player_logger,_player_logger1;if(speed===player.speed)return null==(_player_logger=player.logger)||_player_logger.warn("the speed value has not changed!"),0;speed&&(SPEED_LIST.includes(+speed)?(player.jSPlugin.JS_Speed(speed),result=1,player.speed=speed):null==(_player_logger1=player.logger)||_player_logger1.warn("current speed is not supported!"));return result}function asyncGeneratorStep$4(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _async_to_generator$4(fn){return function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep$4(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep$4(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))}}function _extends$5(){return _extends$5=Object.assign||function(target){for(var i=1;iresponse.json())).then((data=>{this.onUploadComplete({body:this.body,response:data})})).catch((error=>{error.name})),fetchOptions.body&&"FormData"==fetchOptions.body.constructor.name&&"signal"in fetchOptions&&fetchOptions.signal.addEventListener("progress",(e=>{e.lengthComputable&&this.onUploadProgress(_extends$4({},this.body,{progress:e.loaded/e.total}))}))}cancel(){this.controller.abort()}constructor(options){this.url=options.url||"",this.method=options.method||"POST",this.headers=options.headers||{},this.body=options.body||{},this.onBeforeUpload=options.onBeforeUpload||function(){},this.onUploadProgress=options.onUploadProgress||function(){},this.onUploadComplete=options.onUploadComplete||function(){},this.controller=new AbortController}}function _enable3DZoom(player){var _player_i18n,_player_i18n1,_player_i18n2;if(!player.use3DZoom)return null==player.emit||player.emit.call(player,EVENTS.enable3DZoom,{eventType:EVENTS.enable3DZoom,code:-1,msg:null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("3D_ZOOM_DISABLE")}),player.emit("message",null==(_player_i18n1=player.i18n)?void 0:_player_i18n1.t("3D_ZOOM_DISABLE"),"3DZoomError"),Promise.resolve({code:-1,msg:null==(_player_i18n2=player.i18n)?void 0:_player_i18n2.t("3D_ZOOM_DISABLE")});if(player.is3DZooming)return new Promise((function(resolve){var _player_i18n,_player_i18n1;null==player.emit||player.emit.call(player,EVENTS.enable3DZoom,{eventType:EVENTS.enable3DZoom,code:0,msg:null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("3D_ZOOM_ACTIVED")}),resolve({code:0,msg:null==(_player_i18n1=player.i18n)?void 0:_player_i18n1.t("3D_ZOOM_ACTIVED")})}));if(player.support3DZoom){var _player_jSPlugin,_player_i18n3;player.is3DZooming=!0;let enable3DZoomRT=null==(_player_jSPlugin=player.jSPlugin)?void 0:_player_jSPlugin.JS_Enable3DZoom(0,(r=>{const screenWidth=player.width,screenHeight=player.height,zoomDirection=function(rect,isTrans){if(!rect||!rect.startPos||!rect.endPos)return-1;const startX=rect.startPos[0],startY=rect.startPos[1],endX=rect.endPos[0],endY=rect.endPos[1];return isTrans?endX>startX&&endYstartY?0:-1:endX>startX&&endY>startY?1:endX-1)try{const param=function(width,height,rect,maxRate=5){if(!(width&&height&&rect&&rect.startPos&&rect.endPos))return-1;const startX=rect.startPos[0],startY=rect.startPos[1],endX=rect.endPos[0],endY=rect.endPos[1],targetWidth=Math.abs(endX-startX),targetHeight=Math.abs(endY-startY),targetCenterX=parseInt((startX+endX)/2+""),targetCenterY=parseInt((startY+endY)/2+""),zoomRate=Math.round(width*height/(targetWidth*targetHeight));return{startPointX:parseInt(startX/width*256+""),startPointY:parseInt(startY/height*256+""),endPointX:parseInt(endX/width*256+""),endPointY:parseInt(endY/height*256+""),zoomRate:zoomRate>maxRate?maxRate:zoomRate,targetCenterX:targetCenterX,targetCenterY:targetCenterY,targetWidth:targetWidth,targetHeight:targetHeight}}(screenWidth,screenHeight,r,player.capacity&&player.capacity.support_zoomOut_maxTime?player.capacity.support_zoomOut_maxTime:5);if(-1===param)return;const apiUrl=player.env.domain+`/api/v3/das/device/3d/zoom?accessToken=${player.accessToken||player.token.deviceToken.video}&deviceSerial=${player.urlInfo.deviceSerial}&channelNo=${player.urlInfo.channelNo}&command=${0==zoomDirection?9:8}&zoomTimes=${param.zoomRate}&startPointX=${param.startPointX}&startPointY=${param.startPointY}&endPointX=${param.endPointX}&endPointY=${param.endPointY}&length=${parseInt(screenHeight)}&width=${parseInt(screenWidth)}&midPointX=${param.targetCenterX}&midPointY=${param.targetCenterY}&lengthX=${param.targetWidth}&lengthY=${param.targetHeight}`;fetch(apiUrl,{method:"POST"}).then((response=>response.json())).then((res=>{200!=res.code&&player.emit("message",res.msg,"3DZoomError")})).catch((error=>{var _player_i18n;player.emit("message",null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("3D_ZOOM_FAILED"),"3DZoomError")}))}catch(error){var _player_i18n;player.emit("message",null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("3D_ZOOM_FAILED"),"3DZoomError")}}));return null==player.emit||player.emit.call(player,EVENTS.enable3DZoom,{eventType:EVENTS.enable3DZoom,code:enable3DZoomRT,msg:null==(_player_i18n3=player.i18n)?void 0:_player_i18n3.t("START_3D_ZOOM")}),0===enable3DZoomRT?Promise.resolve({code:-1}):Promise.resolve({code:0})}return player.is3DZooming=!1,new Promise((function(resolve){null==player.emit||player.emit.call(player,EVENTS.enable3DZoom,{eventType:EVENTS.enable3DZoom,code:-1,msg:player.i18n.t("DEVICE_NOT_SUPPORT_3D_ZOOM")}),player.emit("message",player.i18n.t("DEVICE_NOT_SUPPORT_3D_ZOOM"),"3DZoomError"),resolve({code:-1,msg:player.i18n.t("DEVICE_NOT_SUPPORT_3D_ZOOM")})}))}function _getFEC3DViewParam(player,param){var _player_jSPlugin,_player_jSPlugin1,_player_jSPlugin2,_player_jSPlugin3,_player__FECCorrectType,_player__FECCorrectType1,_player__FECCorrectType2,_player__FECCorrectType3,_player_jSPlugin4;return!player._FECCorrectType||((null==(_player_jSPlugin=player.jSPlugin)?void 0:_player_jSPlugin.isHardH264)||(null==(_player_jSPlugin1=player.jSPlugin)?void 0:_player_jSPlugin1.isHardH265))&&(null==(_player_jSPlugin2=player.jSPlugin)?void 0:_player_jSPlugin2.useHardDev)?(null==player.emit||player.emit.call(player,EVENTS.getFEC3DViewParam,{eventType:EVENTS.getFEC3DViewParam,code:-1,msg:player.i18n.t("FEC.GET_FEC_PARAMS_SUPPORT_VERSION")}),Promise.resolve({code:-1,msg:player.i18n.t("FEC.GET_FEC_PARAMS_SUPPORT_VERSION")})):(null==(_player_jSPlugin3=player.jSPlugin)?void 0:_player_jSPlugin3.FEC_Set3DViewParam)&&player._FECCorrectType&&(3===(null==(_player__FECCorrectType=player._FECCorrectType)?void 0:_player__FECCorrectType.place)&&1536===(null==(_player__FECCorrectType1=player._FECCorrectType)?void 0:_player__FECCorrectType1.correctType)||1===(null==(_player__FECCorrectType2=player._FECCorrectType)?void 0:_player__FECCorrectType2.place)&&2304===(null==(_player__FECCorrectType3=player._FECCorrectType)?void 0:_player__FECCorrectType3.correctType))?null==(_player_jSPlugin4=player.jSPlugin)?void 0:_player_jSPlugin4.FEC_Get3DViewParam(param).then((res=>(null==player.emit||player.emit.call(player,EVENTS.getFEC3DViewParam,{eventType:EVENTS.getFEC3DViewParam,code:0,data:res,msg:player.i18n.t("FEC.SET_FEC_PARAMS")}),{code:0,data:res}))).catch((()=>(null==player.emit||player.emit.call(player,EVENTS.getFEC3DViewParam,{eventType:EVENTS.getFEC3DViewParam,code:-1}),{code:-1}))):(null==player.emit||player.emit.call(player,EVENTS.getFEC3DViewParam,{eventType:EVENTS.getFEC3DViewParam,code:-1,msg:player.i18n.t("FEC.SET_FEC_PARAMS_FAILED")}),Promise.resolve({code:-1,msg:player.i18n.t("FEC.SET_FEC_PARAMS_FAILED")}))}class Ptz{static _instanceStyle(){if(Ptz._STYLE)return;Ptz._STYLE=document.createElement("style"),Ptz._STYLE.id="ezuikit-ptz-style";const _isMobile=isMobile();Ptz._STYLE.innerHTML=`\n .ez-ptz-container {\n position: relative;\n width: 80px;\n height: 80px;\n background: rgba(255, 255, 255, 0.70);\n box-shadow: 0px 0px 33px 4px rgb(0 0 0 / 15%);\n border: 1px solid rgba(255, 255, 255, 0.70);\n border-radius: 100%;\n cursor: pointer;\n overflow: hidden;\n user-select: none;\n }\n .ez-ptz-container .ez-ptz-icon.top {\n width: 0;\n height: 0;\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n border-bottom: 8px solid #999999;\n position: absolute;\n display: inline-block;\n left: calc(50% - 4px);\n top: 2px;\n }\n\n .ez-ptz-container .ez-ptz-icon.top.active {\n border-bottom-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.bottom {\n width: 0;\n height: 0;\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n border-top: 8px solid #999999;\n position: absolute;\n display: inline-block;\n left: calc(50% - 4px);\n bottom: 2px;\n }\n\n .ez-ptz-container .ez-ptz-icon.bottom.active {\n border-top-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.right {\n width: 0;\n height: 0;\n border-top: 4px solid transparent;\n border-bottom: 4px solid transparent;\n border-left: 8px solid #999999;\n position: absolute;\n display: inline-block;\n top: calc(50% - 4px);\n right: 2px;\n }\n\n .ez-ptz-container .ez-ptz-icon.right.active {\n border-left-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.left {\n width: 0;\n height: 0;\n border-top: 4px solid transparent;\n border-bottom: 4px solid transparent;\n border-right: 8px solid #999999;\n position: absolute;\n display: inline-block;\n top: calc(50% - 4px);\n left: 2px;\n }\n\n .ez-ptz-container .ez-ptz-icon.left.active {\n border-right-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.top-left {\n width: 4px;\n height: 4px;\n border-radius: 50%;\n position: absolute;\n display: inline-block;\n top: calc(25% - 4px);\n left: 16px;\n background: #999999;\n }\n\n .ez-ptz-container .ez-ptz-icon.top-left.active {\n border-right-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.left-bottom {\n width: 4px;\n height: 4px;\n border-radius: 50%;\n position: absolute;\n display: inline-block;\n bottom: calc(25% - 4px);\n left: 16px;\n background: #999999;\n }\n\n .ez-ptz-container .ez-ptz-icon.left-bottom.active {\n border-right-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.bottom-right {\n width: 4px;\n height: 4px;\n border-radius: 50%;\n position: absolute;\n display: inline-block;\n bottom: calc(25% - 4px);\n right: 16px;\n background: #999999;\n }\n\n .ez-ptz-container .ez-ptz-icon.bottom-right.active {\n border-right-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-icon.right-top {\n width: 4px;\n height: 4px;\n border-radius: 50%;\n position: absolute;\n display: inline-block;\n top: calc(25% - 4px);\n right: 16px;\n background: #999999;\n }\n\n .ez-ptz-container .ez-ptz-icon.right-top.active {\n border-right-color: #407AFF;\n }\n\n .ez-ptz-container .ez-ptz-main.center {\n width: 23px;\n height: 23px;\n background: #407AFF;\n border-radius: 100%;\n top: calc(50% - 12.4px);\n left: calc(50% - 12.4px);\n position: absolute;\n }\n\n .ez-ptz-wrap {\n position: absolute;\n right: 0px;\n top: 0;\n width: 85px;\n height: 100%;\n padding: 0 20px;\n flex-direction: column;\n justify-content: center;\n background: rgba(0,0,0,0.9);\n box-sizing: content-box !important;\n }\n\n .ez-ptz-close {\n position: absolute;\n color: #FFFFFF;\n top: 0;\n right: 0px;\n }\n\n .ez-ptzspeed-progress-line{\n height: 1px;\n background: #ffffff;\n margin: 16px 0 8px;\n display: flex;\n justify-content: space-between;\n }\n\n .ez-ptzspeed-progress-line-dot{\n width: 5px;\n height: 5px;\n border: 2px solid #ffffff;\n border-radius: 50%;\n background: #ffffff;\n margin: -3px 0;\n cursor: pointer;\n }\n\n .ez-ptzspeed-progress-line-dot.active{\n border-color: #407AFF;\n }\n\n .ez-ptzspeed-progress-points{\n display: flex;\n justify-content: space-between;\n }\n\n .ez-ptzspeed-progress-points-slow{\n cursor: pointer;\n color: #ffffff;\n }\n\n .ez-ptzspeed-progress-points-mid{\n cursor: pointer;\n color: #ffffff;\n }\n\n .ez-ptzspeed-progress-points-fast{\n cursor: pointer;\n color: #ffffff;\n }\n\n .ez-ptzbtn-container{\n width: 100%;\n height:${_isMobile?"60px":"18px"};\n margin-top: 14px;\n display: ${_isMobile?"block":"flex"};\n }\n\n .ez-ptzbtn-focal,\n .ez-ptzbtn-zoom{\n width: ${_isMobile?"100%":"50%"};\n height: 20px;\n display: flex;\n border: 1px solid rgba(255,255,255,0.5);\n border-radius: 10px;\n padding-bottom: 0px;\n box-sizing: content-box;\n }\n\n .ez-ptzbtn-zoom-add,\n .ez-ptzbtn-zoom-sub,\n .ez-ptzbtn-focal-add,\n .ez-ptzbtn-focal-sub{\n width: ${_isMobile?"50%":"24px"};\n height: 20px;\n cursor: pointer;\n text-align: center;\n }\n\n .ez-ptzbtn-zoom{\n margin: ${_isMobile?"0 0 8px":"0 4px 0 0"};\n }\n\n .ez-ptzbtn-zoom-add{\n border-right: 1px solid rgba(255,255,255,0.5);\n }\n\n .ez-ptzbtn-focal-add{\n border-right: 1px solid rgba(255,255,255,0.5);\n }\n `,document.getElementsByTagName("head")[0].appendChild(Ptz._STYLE)}destroy(){}show(){document.getElementById(`${this.jSPlugin.id}-ez-ptz-item`)&&(document.getElementById(`${this.jSPlugin.id}-ez-ptz-item`).style="display: flex;box-sizing: content-box;"),this.showPtz=!0,this.jSPlugin.eventEmitter&&this.jSPlugin.eventEmitter.emit(EVENTS.ptz.openPtz,{eventType:"openPtz",code:0,target:this,msg:"开启云台"})}hide(){document.getElementById(`${this.jSPlugin.id}-ez-ptz-item`)&&(document.getElementById(`${this.jSPlugin.id}-ez-ptz-item`).style="display: none"),this.showPtz=!1,this.jSPlugin.eventEmitter&&this.jSPlugin.eventEmitter.emit(EVENTS.ptz.closePtz,{eventType:"closePtz",code:0,target:this,msg:"关闭云台"})}_handlePtzTouch(e,type){var _this_jSPlugin_eventEmitter,_this_jSPlugin;this._ptzQueue||(this._ptzQueue=Promise.resolve());var container=document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).getBoundingClientRect(),containerCenterX=container.left+41,containerCenterY=container.top+41,eventX=e.x||e.changedTouches[0].clientX,eventY=e.y||e.changedTouches[0].clientY,direction=0;let url=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start",token=this.jSPlugin.accessToken||this.jSPlugin.token.deviceToken.video,backDeg=0;function getAreaId(x,y){let rad=Math.atan2(y,x);rad<0&&(rad+=2*Math.PI);let deg=rad*(180/Math.PI)-225-12.5;return deg<0&&(deg+=360),Math.floor(deg/45)+1}const isRotate=/^rotate\(90/.test(document.getElementById(`${this.jSPlugin.id}-wrap`).style.transform),left=eventX-containerCenterX,top=eventY-containerCenterY;if(isRotate)switch(getAreaId(left,top)){case 1:direction=2,backDeg=90;break;case 2:direction=4,backDeg=135;break;case 3:direction=0,backDeg=180;break;case 4:direction=6,backDeg=225;break;case 5:direction=3,backDeg=270;break;case 6:direction=7,backDeg=315;break;case 7:direction=1,backDeg=0;break;case 8:direction=5,backDeg=45}else switch(getAreaId(left,top)){case 1:direction=0,backDeg=180;break;case 2:direction=6,backDeg=225;break;case 3:direction=3,backDeg=270;break;case 4:direction=7,backDeg=315;break;case 5:direction=1,backDeg=0;break;case 6:direction=5,backDeg=45;break;case 7:direction=2,backDeg=90;break;case 8:direction=4,backDeg=135}document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).style="start"===type?`background-image:linear-gradient(${backDeg}deg, #4277FF 0%, rgba(100,143,252,0.00) 30%)`:"","stop"===type&&(url=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",token=this.jSPlugin.accessToken||this.jSPlugin.token.deviceToken.video);var data=new FormData;data.append("deviceSerial",matchEzopenUrl(this.jSPlugin.url).deviceSerial),data.append("channelNo",matchEzopenUrl(this.jSPlugin.url).channelNo),data.append("speed",this.jSPlugin.ptzSpeed),data.append("direction",direction),data.append("accessToken",token),this._ptzQueue=this._ptzQueue.then((()=>fetch(url,{method:"POST",body:data}).then((response=>response.json())).then((rt=>{var _rt_result;const code=rt.code||(null==rt||null==(_rt_result=rt.result)?void 0:_rt_result.code);if("start"===type&&200!=code){var _this_pluginStatus,_this_jSPlugin,_this_jSPlugin_logger,_this_jSPlugin1;const msg=this.jSPlugin.i18n.t("38"+code)||rt.msg;null==(_this_pluginStatus=this.pluginStatus)||_this_pluginStatus.loadingSetText({text:msg,color:"red",delayClear:2e3}),null==(_this_jSPlugin1=this.jSPlugin)||null==(_this_jSPlugin_logger=_this_jSPlugin1.logger)||_this_jSPlugin_logger.error("[errors]",(null==(_this_jSPlugin=this.jSPlugin)?void 0:_this_jSPlugin.i18n.t("38"+code))+`(${code})`)}return[60002,60003,60004,60005,60006].indexOf(code)>-1&&(document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).style=`background-image:linear-gradient(${backDeg}deg, #f45656 0%, rgba(100,143,252,0.00) 30%)`),rt})).catch((err=>{})))),"stop"===type&&(this._ptzQueue=this._ptzQueue.finally((()=>{}))),null==(_this_jSPlugin=this.jSPlugin)||null==(_this_jSPlugin_eventEmitter=_this_jSPlugin.eventEmitter)||_this_jSPlugin_eventEmitter.emit(EVENTS.ptz.ptzDirection,{areaId:getAreaId(left,top),direction:direction,backDeg:backDeg,isRotate:isRotate,ptzSpeed:this.jSPlugin.ptzSpeed,type:type})}_handleBtnTouch(btn,option,type){var _this_jSPlugin_logger,_this_jSPlugin,_this_jSPlugin_eventEmitter,_this_jSPlugin1;this._ptzOperation||(this._ptzOperation=Promise.resolve());let direction=8;direction="zoom"===btn?"add"===option?8:9:"add"===option?10:11;let url=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start",token=this.jSPlugin.accessToken||this.jSPlugin.token.deviceToken.video;"stop"===type&&(url=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",token=this.jSPlugin.accessToken||this.jSPlugin.token.deviceToken.video),null==(_this_jSPlugin=this.jSPlugin)||null==(_this_jSPlugin_logger=_this_jSPlugin.logger)||_this_jSPlugin_logger.log("[Ptz]",btn,option,type),null==(_this_jSPlugin1=this.jSPlugin)||null==(_this_jSPlugin_eventEmitter=_this_jSPlugin1.eventEmitter)||_this_jSPlugin_eventEmitter.emit(EVENTS.ptz.ptzBtnClick,{btn:btn,option:option,type:type});const data=new FormData;data.append("deviceSerial",matchEzopenUrl(this.jSPlugin.url).deviceSerial),data.append("channelNo",matchEzopenUrl(this.jSPlugin.url).channelNo),data.append("speed",this.jSPlugin.ptzSpeed),data.append("direction",direction),data.append("accessToken",token),this._ptzOperation=this._ptzOperation.then((()=>fetch(url,{method:"POST",body:data}).then((response=>response.json())).then((rt=>{var _rt_result;const code=rt.code||(null==rt||null==(_rt_result=rt.result)?void 0:_rt_result.code);if("start"===type&&200!=code){var _this_jSPlugin_logger,_this_jSPlugin;const msg=6e4==code||60006==code?"zoom"===btn?this.jSPlugin.i18n.t("NOT_SUPPORT_DEVICE_ZOOM"):this.jSPlugin.i18n.t("NOT_SUPPORT_FOCUS"):rt.msg;this.pluginStatus.loadingSetText({text:msg,color:"red",delayClear:2e3}),null==(_this_jSPlugin=this.jSPlugin)||null==(_this_jSPlugin_logger=_this_jSPlugin.logger)||_this_jSPlugin_logger.error("[errors]",msg)}return rt})).catch((err=>{})))),"stop"===type&&(this._ptzOperation=this._ptzOperation.finally((()=>{this._ptzOperation=null})))}constructor(jSPlugin){var _this_jSPlugin_logger;if(this.jSPlugin=jSPlugin,null==(_this_jSPlugin_logger=this.jSPlugin.logger)||_this_jSPlugin_logger.log("[Ptz]","init"),this.pluginStatus=this.jSPlugin.pluginStatus,this.showPtz=!1,document.getElementById(this.jSPlugin.id+"-ez-ptz-item"))return!1;const ptzWrap=document.createElement("div");ptzWrap.id=this.jSPlugin.id+"-ez-ptz-item",ptzWrap.className="ez-ptz-wrap",ptzWrap.style="display:none;",Ptz._instanceStyle(),ptzWrap.innerHTML=`\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n ${this.jSPlugin.i18n.t("PTZ_SLOW")}\n
\n
\n ${this.jSPlugin.i18n.t("PTZ_MID")}\n
\n
\n ${this.jSPlugin.i18n.t("PTZ_FAST")}\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n `,document.getElementById(`${jSPlugin.id}-wrap`).appendChild(ptzWrap),document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).onmousedown=e=>{e.preventDefault(),e.stopPropagation(),this._handlePtzTouch(e,"start")},document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).onmouseup=e=>{e.preventDefault(),e.stopPropagation(),this._handlePtzTouch(e,"stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).ontouchstart=e=>{e.preventDefault(),e.stopPropagation(),this._handlePtzTouch(e,"start")},document.getElementById(`${this.jSPlugin.id}-ez-ptz-container`).ontouchend=e=>{e.preventDefault(),e.stopPropagation(),this._handlePtzTouch(e,"stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzspeed-container`).onmouseup=e=>{var _this_jSPlugin;e.target.id&&(e.target.id.indexOf("slow")>-1&&(this.jSPlugin.ptzSpeed=this.jSPlugin.ptzSpeedOptions?this.jSPlugin.ptzSpeedOptions.slow:1,document.getElementById(`${this.jSPlugin.id}-ptzspeed-slow-dot`).classList.add("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-mid-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-fast-dot`).classList.remove("active")),e.target.id.indexOf("mid")>-1&&(this.jSPlugin.ptzSpeed=this.jSPlugin.ptzSpeedOptions?this.jSPlugin.ptzSpeedOptions.mid:3,document.getElementById(`${this.jSPlugin.id}-ptzspeed-slow-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-mid-dot`).classList.add("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-fast-dot`).classList.remove("active")),e.target.id.indexOf("fast")>-1&&(this.jSPlugin.ptzSpeed=this.jSPlugin.ptzSpeedOptions?this.jSPlugin.ptzSpeedOptions.fast:7,document.getElementById(`${this.jSPlugin.id}-ptzspeed-slow-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-mid-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-fast-dot`).classList.add("active")),null==(_this_jSPlugin=this.jSPlugin)||_this_jSPlugin.eventEmitter.emit(EVENTS.ptz.ptzSpeedChange,this.jSPlugin.ptzSpeed))},document.getElementById(`${this.jSPlugin.id}-ez-ptzspeed-container`).ontouchend=e=>{var _this_jSPlugin_eventEmitter,_this_jSPlugin;e.target.id&&(e.target.id.indexOf("slow")>-1&&(this.jSPlugin.ptzSpeed=this.jSPlugin.ptzSpeedOptions?this.jSPlugin.ptzSpeedOptions.slow:1,document.getElementById(`${this.jSPlugin.id}-ptzspeed-slow-dot`).classList.add("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-mid-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-fast-dot`).classList.remove("active")),e.target.id.indexOf("mid")>-1&&(this.jSPlugin.ptzSpeed=this.jSPlugin.ptzSpeedOptions?this.jSPlugin.ptzSpeedOptions.mid:3,document.getElementById(`${this.jSPlugin.id}-ptzspeed-slow-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-mid-dot`).classList.add("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-fast-dot`).classList.remove("active")),e.target.id.indexOf("fast")>-1&&(this.jSPlugin.ptzSpeed=this.jSPlugin.ptzSpeedOptions?this.jSPlugin.ptzSpeedOptions.fast:7,document.getElementById(`${this.jSPlugin.id}-ptzspeed-slow-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-mid-dot`).classList.remove("active"),document.getElementById(`${this.jSPlugin.id}-ptzspeed-fast-dot`).classList.add("active")),null==(_this_jSPlugin=this.jSPlugin)||null==(_this_jSPlugin_eventEmitter=_this_jSPlugin.eventEmitter)||_this_jSPlugin_eventEmitter.emit(EVENTS.ptz.ptzSpeedChange,this.jSPlugin.ptzSpeed))},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-add`).onmousedown=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("zoom","add","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-add`).onmouseup=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("zoom","add","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-sub`).onmousedown=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("zoom","sub","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-sub`).onmouseup=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("zoom","sub","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-add`).onmousedown=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("focal","add","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-add`).onmouseup=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("focal","add","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-sub`).onmousedown=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("focal","sub","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-sub`).onmouseup=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("focal","sub","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-add`).ontouchstart=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("zoom","add","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-add`).ontouchend=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("zoom","add","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-sub`).ontouchstart=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("zoom","sub","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-zoom-sub`).ontouchend=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("zoom","sub","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-add`).ontouchstart=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("focal","add","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-add`).ontouchend=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("focal","add","stop")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-sub`).ontouchstart=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("focal","sub","start")},document.getElementById(`${this.jSPlugin.id}-ez-ptzbtn-focal-sub`).ontouchend=e=>{e.preventDefault(),e.stopPropagation(),this._handleBtnTouch("focal","sub","stop")}}}class PopupCustom{static _instanceStyle(){if(PopupCustom._STYLE)return;const ratioClient=document.documentElement.clientWidth/375||1;PopupCustom._STYLE=document.createElement("style"),PopupCustom._STYLE.innerHTML=`@keyframes slideContentUp {0% {bottom: -${366*ratioClient}px;}\n 25% {bottom: -${244*ratioClient}px;}\n 50% {bottom: -${122*ratioClient}px;}\n 100% {bottom:0;}} .open-popup{animation:slideContentUp 0.3s 1 linear; -webkit-animation: slideContentUp 0.3s 1 linear;}`,document.getElementsByTagName("head")[0].appendChild(PopupCustom._STYLE)}initPopupCustom(){document.getElementById(`${this.jSPlugin.id}-wrap-popup-custom`)?document.getElementById(`${this.jSPlugin.id}-wrap-popup-custom`).style.display="flex":this.randerPopup()}randerPopup(){const ratioClient=document.documentElement.clientWidth/375||1,wrapVideo=document.getElementById(`${this.jSPlugin.id}-wrap`);var objDOM=document.createElement("div");objDOM.style="display:flex;",objDOM.id=`${this.jSPlugin.id}-wrap-popup-custom`,objDOM.innerHTML=`
\n
\n
\n
\n
\n \n icon/close\n \n \n \n \n \n \n \n
\n \n
\n
\n
\n `,wrapVideo.appendChild(objDOM),document.getElementById(`${this.jSPlugin.id}-wrap-popup-custom-mask`).onclick=()=>{this.closePopupCustom()},document.getElementById(`${this.jSPlugin.id}-popup-board-close`).onclick=()=>{this.closePopupCustom()}}closePopupCustom(callBack=()=>{}){callBack();let domWrap=document.getElementById(`${this.jSPlugin.id}-wrap`),domPop=document.getElementById(`${this.jSPlugin.id}-wrap-popup-custom`);domWrap&&domPop&&domWrap.removeChild(domPop)}initPopupContent(title,dom){document.getElementById("popup-board-title-content").innerText=title||"",dom&&document.getElementById(`${this.jSPlugin.id}-popup-board-content`).appendChild(dom)}constructor(jSPlugin,heightPop){this.jSPlugin=jSPlugin,this.heightPop=heightPop||366,PopupCustom._instanceStyle(),this.initPopupCustom()}}var TimeLine=function(params){this.state={id:params.id,start:"00:00:00",end:"24:00:00",current:0,timelag:30,timeArr:[],availTimeLine:[],scrollTop:0,index:0,date:"",noTimeLineTxt:"",disabled:!1};var _this=this;this.setState=function(obj){Object.keys(obj).forEach((function(key){_this.state[key]=obj[key],"scrollTop"===key&&document.getElementById("time-line-item")&&document.getElementById("time-line-item").parentNode.scrollTo(0,obj[key]),"current"===key&&document.getElementById("time-line-current")&&(document.getElementById("time-line-current").innerHTML=obj[key])}))},this.setDisabled=function(value){this.setState({disabled:value}),document.getElementById("time-line-item")&&(document.getElementById("time-line-item").parentNode.style.overflowY=value?"hidden":"scroll")},this.timeToSecond=function(time){const e=time.split(":");let h=Number(e[0]);const m=Number(e[1]),s=Number(e[2]);return 60*h*60+60*m+(s||0)},this.minuteToTime=function(minute){let hour=Math.floor(minute/60),m=minute%60;return(hour>9?hour:"0"+hour)+":"+(m>9?m:"0"+m)},this.timeToMinute=function(time){const e=time.split(":");return 60*Number(e[0])+Number(e[1])},this.getPlayParam=params.getPlayParam,this.checkIsAppleDevice=function(){var u=navigator.userAgent,ios=!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),iPad=u.indexOf("iPad")>-1,iPhone=u.indexOf("iPhone")>-1||u.indexOf("Mac")>-1;return!!(ios||iPad||iPhone)},this.checkIsHarmonyOS=function(){return navigator.userAgent.indexOf("ohos")>-1},this.checkIsHarmonyOS()?(document.getElementById("time-line-item")&&document.getElementById("time-line-item").parentNode.addEventListener("touchstart",(function(){if(_this.state.disabled)return!1;params.ontouchstart()}),!1),document.getElementById("time-line-item")&&document.getElementById("time-line-item").parentNode.addEventListener("touchmove",(function(){if(_this.state.disabled)return!1;params.ontouchmove()}),!1),document.getElementById("time-line-item")&&document.getElementById("time-line-item").parentNode.addEventListener("touchend",(function(){if(_this.state.disabled)return!1;var timer;new Promise((function(resolve,reject){let preTop=-1;timer=setInterval((()=>{var _document_getElementById_parentNode,_document_getElementById;let reactTop=null==(_document_getElementById=document.getElementById("time-line-item"))||null==(_document_getElementById_parentNode=_document_getElementById.parentNode)?void 0:_document_getElementById_parentNode.scrollTop;reactTop!==preTop?preTop=reactTop:(clearInterval(timer),resolve(reactTop))}),100)})).then((reactTop=>{_this.rectTopTotime(reactTop),_this.getPlayParam({current:_this.state.current})})),params.ontouchend()}),!1)):(document.getElementById("time-line-item")&&(document.getElementById("time-line-item").parentNode.ontouchstart=function(){if(_this.state.disabled)return!1;params.ontouchstart()}),document.getElementById("time-line-item")&&(document.getElementById("time-line-item").parentNode.ontouchmove=function(){if(_this.state.disabled)return!1;params.ontouchmove()}),document.getElementById("time-line-item")&&(document.getElementById("time-line-item").parentNode.ontouchend=function(){if(_this.state.disabled)return!1;var timer;new Promise((function(resolve,reject){let preTop=-1;timer=setInterval((()=>{var _document_getElementById_parentNode,_document_getElementById;let reactTop=null==(_document_getElementById=document.getElementById("time-line-item"))||null==(_document_getElementById_parentNode=_document_getElementById.parentNode)?void 0:_document_getElementById_parentNode.scrollTop;reactTop!==preTop?preTop=reactTop:(clearInterval(timer),resolve(reactTop))}),100)})).then((reactTop=>{_this.rectTopTotime(reactTop),_this.getPlayParam({current:_this.state.current})})),params.ontouchend()})),this.matchTimeDot()};TimeLine.prototype.changeScale=function(value){this.setState({timelag:value}),this.matchTimeDot()},TimeLine.prototype.setDateLine=function(news,defaultIndex){if(news.length>0){void 0===defaultIndex&&(defaultIndex=news.length-1);const{current:current}=this.state;this.setState({availTimeLine:news,start:news[defaultIndex].st,end:news[defaultIndex].et,current:0===current?news[defaultIndex].st:current}),this.matchRecTimeDot(),this.primaryOffsetH()}else this.setState({availTimeLine:[]}),this.matchRecTimeDot()},TimeLine.prototype.matchTimeDot=function(){const{start:start,end:end,timelag:timelag,availTimeLine:availTimeLine}=this.state;var timeArr=[];let minute=this.timeToMinute(end);minute=Math.floor(minute/timelag)*timelag;for(let i=minute;i>=0;){let marginTop=0,marginBottom=0,recArr=[];i==minute&&(marginTop=70),0==i&&(marginBottom=230);let time=this.minuteToTime(i);timeArr.push({id:i,current:time,label:"a"+i,marginTop:marginTop,marginBottom:marginBottom,recArr:recArr}),i-=timelag}this.setState({timeArr:timeArr}),this.renderDateLine()},TimeLine.prototype.matchRecTimeDot=function(){const{start:start,end:end,timelag:timelag,availTimeLine:availTimeLine,timeArr:timeArr}=this.state;let len=availTimeLine.length;if(0===len)for(var j=0;jstminute&&timeArr[j].id{var timeItemDOM=document.createElement("div");timeItemDOM.setAttribute("class","time-item"),timeItemDOM.style=`margin-top: ${item.marginTop}px; margin-bottom: ${item.marginBottom}px; border-right-color: ${item.borderColor};`,document.createElement("div").setAttribute("class","scale");var timeItemHtml='
';item.recArr.forEach(((i,j)=>{timeItemHtml+=`
`})),timeItemHtml+=`
${item.current}
`,timeItemDOM.innerHTML=timeItemHtml,container.appendChild(timeItemDOM)}))},TimeLine.prototype.primaryOffsetH=function(){const{start:start,timelag:timelag,timeArr:timeArr,current:current}=this.state,currentItem=timeArr[0].current,offsetS=this.timeToSecond(currentItem)-this.timeToSecond(0===current?start:current),offsetH=Math.ceil(offsetS/timelag)+60;this.setState({scrollTop:offsetH})},TimeLine.prototype.currentOffsetH=function(){const{current:current,timelag:timelag,timeArr:timeArr}=this.state,startItem=timeArr[0].current,offsetS=this.timeToSecond(startItem)-this.timeToSecond(current),offsetH=Math.ceil(offsetS/timelag)+60;this.setState({scrollTop:offsetH})},TimeLine.prototype.rectTopTotime=function(reactTop){let current,offsetSecond,{timelag:timelag}=this.state,index=Math.floor(reactTop/60),offsetH=reactTop-60*index;if(0==offsetH)current=this.state.timeArr[index-1].current,offsetSecond=0;else{const time=this.state.timeArr[index].current;let minute=this.timeToMinute(time);const offsetS=(60-offsetH)*timelag,offsetM=Math.floor(offsetS/60)+minute,second=60*Math.floor(offsetS/60);offsetSecond=Math.ceil(offsetS-second),current=this.minuteToTime(offsetM)}this.setState({current:current+":"+(offsetSecond>9?offsetSecond:"0"+offsetSecond),scrollTop:reactTop})},TimeLine.prototype.stepScrollTimeLine=function(time){this.setState({current:time}),this.currentOffsetH()},TimeLine.prototype.secondCountDown=function(time){const{current:current}=this.state,temp=current.split(":");let t=60*Number(temp[0])*60+60*Number(temp[1])+Number(temp[2])+1,h=Math.floor(t/3600),m=Math.floor((t-3600*h)/60),s=t-3600*h-60*m;this.setState({current:(h>9?h:"0"+h)+":"+(m>9?m:"0"+m)+":"+(s>9?s:"0"+s)})};const MobileTimeLine=TimeLine;function format(now){10===(now+"").length&&(now*=1e3);var time=new Date(now),h=time.getHours(),m=time.getMinutes(),s=time.getSeconds();return(h>9?h:"0"+h)+":"+(m>9?m:"0"+m)+":"+(s>9?s:"0"+s)}Date.prototype.Format=function(fmt){var o={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};for(var k in/(y+)/.test(fmt)&&(fmt=fmt.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length))),o)new RegExp("("+k+")").test(fmt)&&(fmt=fmt.replace(RegExp.$1,1==RegExp.$1.length?o[k]:("00"+o[k]).substr((""+o[k]).length)));return fmt};class MobileRec{static _instanceStyle(){MobileRec._STYLE||(MobileRec._STYLE=document.createElement("style"),MobileRec._STYLE.id="ezuikit-mobile-rec-style",MobileRec._STYLE.innerHTML='\n body{\n padding: 0;\n margin: 0;\n }\n .time-line-container {\n text-align: left;\n height: 300px;\n /* outline: 1px solid red; */\n /* background: gray; */\n position: relative;\n /* padding-top: 60px; */\n margin-top: 20px;\n }\n\n .time-line-container .time-line-item-container {\n display: inline-block;\n /* height: 400px; */\n width: 30%;\n /* background: indianred; */\n overflow-y: scroll;\n overflow-x: hidden;\n /* padding-top: 60px; */\n height: 300px;\n box-sizing: border-box;\n white-space: nowrap;\n position: relative;\n }\n\n .time-line-container .time-line-item-container::-webkit-scrollbar {\n width: 0px;\n /*滚动条宽度*/\n height: 0px;\n /*滚动条高度*/\n }\n\n .time-line-item .time-item {\n position: relative;\n box-sizing: border-box;\n height: 60px;\n font-size: 12px;\n color: rgb(150, 150, 150);\n border-right: 6px solid;\n border-right-color: #ddd;\n }\n\n .time-line-item .time-item .scale {\n width: 6px;\n height: 9px;\n border-bottom: 1px solid #ccc;\n float: right;\n clear: both;\n }\n\n .time-line-item .time-item .item-unavail {\n width: 6px;\n position: absolute;\n left: 100%;\n background-color: #ddd;\n }\n\n .time-line-container .current-time {\n position: absolute;\n left: 0;\n top: 40px;\n height: 29px;\n /* line-height: 58px; */\n border-bottom: 1px solid #648FFC;\n width: 60%;\n margin-left: 26%;\n }\n\n .time-line-container .current-time .current-time-bg {\n position: relative;\n top: 15px;\n width: 100px;\n height: 29px;\n line-height: 29px;\n left: -70px;\n font-size: 12px;\n color: #2C2C2C;\n }\n\n .time-line-container .current-time .current-time-bg::before {\n content: \'\';\n display: inline-block;\n width: 6px;\n height: 6px;\n border-radius: 100%;\n background: #648FFC;\n top: 11px;\n position: absolute;\n right: 30px;\n }\n\n .date-switch-container {\n height: 40px;\n position: relative;\n text-align: center;\n margin: 20px 10px;\n }\n\n .date-switch-container .current-date {\n line-height: 40px;\n height: 22px;\n font-size: 16px;\n color: #2C2C2C;\n text-align: center;\n font-weight: bold;\n }\n\n .date-container {\n width: 40px;\n height: 40px;\n position: absolute;\n right: 0;\n top: 0;\n }\n\n .rec-type-container {\n display: flex;\n justify-content: space-between;\n }\n\n .rec-type-container .rec-type-text {\n padding: 0 15px;\n font-size: 12px;\n color: #2C2C2C;\n }\n\n .rec-type-container .rec-type-switch {\n padding: 0 20px;\n }\n\n .date-container input {\n position: absolute;\n opacity: 0;\n display: inline-block;\n width: 40px;\n height: 40px;\n z-index: 10;\n left: 0;\n }\n\n .date-container label {\n position: absolute;\n left: 0;\n top: 0;\n /* display: none; */\n z-index: 0;\n }\n\n .date-icon {\n display: inline-block;\n width: 40px;\n height: 40px;\n background: url(\'https://resource.eziot.com/group2/M00/00/6A/CtwQF2F6VieAQrU9AAABP-_Nsqo949.png\') no-repeat 100% 100%;\n }\n .select-container {\n padding: 10px;\n display: flex;\n justify-content: space-between;\n }\n\n .advice {\n height: 24px;\n width: 70px;\n display: flex;\n justify-content: space-between;\n line-height: 24px;\n background: #F8F8F8;\n border-radius: 8px;\n }\n\n .advice span {\n width: 40px;\n display: inline-block;\n }\n\n input[type="checkbox"]:not(:checked)+.advice span:first-child {\n box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%);\n border-radius: 8px;\n text-align: center;\n\n }\n\n input[type="checkbox"]:checked+.advice span:last-child {\n box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%);\n border-radius: 8px;\n text-align: center;\n }\n\n input[type="checkbox"]:not(:checked)+.advice span:first-child svg {\n fill: #648FFC !important;\n }\n\n input[type="checkbox"]:checked+.advice span:last-child svg {\n fill: #648FFC !important;\n }',document.getElementsByTagName("head")[0].appendChild(MobileRec._STYLE))}recInit(){this.createDom(),this.initTimeLine(),this.injectJsCss(this.jSPlugin),this.syncTimeLine(),this.bindEvent()}injectJsCss(jSPlugin){this.unInjectJsCss();const that=this,container=document.getElementById(`${jSPlugin.id}-wrap`);((filepath,callback)=>{try{if(document.querySelector(`link[href="${filepath}"]`))return}catch(error){}for(var headerLink=document.getElementsByTagName("head")[0].getElementsByTagName("link"),isReady=!1,i=0;i{addJs(`${jSPlugin.staticPath}/rec/datepicker.js`,(jSPlugin=>{addJs(`${jSPlugin.staticPath}/rec/datepicker.${that.datepickerLang[jSPlugin.language]}.js`,(jSPlugin=>{let datepickerContainer=container.getElementsByClassName("datepicker-container")[0];!datepickerContainer&&$(`#${jSPlugin.id}-datepicker`).datepicker&&$(`#${jSPlugin.id}-datepicker`).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:that.datepickerLang[jSPlugin.language],date:new Date(getQueryString("begin",jSPlugin.params.url).replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"))||new Date,format:"yyyy-mm-dd",endDate:new Date,inline:!0,container:container}),datepickerContainer=container.getElementsByClassName("datepicker-container")[0],datepickerContainer&&(datepickerContainer.style.display="none",datepickerContainer.style.bottom="-314px",datepickerContainer.style.right="0px"),that.datepickerVisible=!1,$(`#${jSPlugin.id}-datepicker`).on("pick.datepicker",(e=>{let params={begin:new Date(e.date).Format("yyyyMMddhhmmss")};if(that.begin=e.date,that.end=new Date(e.date).Format("yyyy-MM-dd")+" 23:59:59",e.date>new Date||new Date(e.date).Format("yyyyMMdd")===new Date(document.getElementById(`${jSPlugin.id}-datepicker`).getAttribute("data-value")).Format("yyyyMMdd"))e.preventDefault();else{const newDate=new Date(e.date).Format("yyyy/MM/dd");document.getElementById(`${jSPlugin.id}-datepicker`)&&document.getElementById(`${jSPlugin.id}-datepicker`).setAttribute("data-value",newDate),that.date=newDate,jSPlugin.eventEmitter.emit(EVENTS.date.recStartTimeChange,{code:0,data:{time:newDate}}),jSPlugin.Theme.decoderState&&jSPlugin.Theme.decoderState.state&&(jSPlugin.Theme.decoderState.state.cloudRec?params={begin:new Date(e.date).Format("yyyyMMddhhmmss"),type:"cloud.rec"}:jSPlugin.Theme.decoderState.state.rec&&(params={begin:new Date(e.date).Format("yyyyMMddhhmmss"),type:"rec"}))}jSPlugin.changePlayUrl(params,(()=>{}),!1).then((()=>{setTimeout((()=>{const dateEle=document.getElementById("date");dateEle&&(dateEle.value=new Date(e.date).Format("yyyy-MM-dd"))}),0),that.jSPlugin.Theme.decoderState.state.sound&&that.jSPlugin.openSound(),that.syncTimeLine()})),that.changeRecSpeed(1),that.resetMobileZoomStatus(),datepickerContainer&&(datepickerContainer.style.display="none"),that.datepickerVisible=!1})),$(`#${jSPlugin.id}-datepicker`).off("click").on("click",(e=>{var _jSPlugin_eventEmitter1,_jSPlugin_eventEmitter;that.datepickerVisible?datepickerContainer&&(datepickerContainer.style.display="none",null==jSPlugin||null==(_jSPlugin_eventEmitter1=jSPlugin.eventEmitter)||_jSPlugin_eventEmitter1.emit(EVENTS.date.closeDatePanel)):datepickerContainer&&(datepickerContainer.style.display="inline",null==jSPlugin||null==(_jSPlugin_eventEmitter=jSPlugin.eventEmitter)||_jSPlugin_eventEmitter.emit(EVENTS.date.openDatePanel));that.datepickerVisible=!that.datepickerVisible})),document.getElementById("date-picker")&&document.getElementById("date-picker").addEventListener("focus",(function(e){e.target.blur()}))}),(()=>{}),jSPlugin)}),(()=>{}),jSPlugin)}),(()=>{}),jSPlugin)}createDom(){const mobileRecTitleWrap=document.createElement("div");mobileRecTitleWrap.id="date-switch-container-wrap",mobileRecTitleWrap.className="date-switch-container-wrap",mobileRecTitleWrap.style="",mobileRecTitleWrap.innerHTML=`\n
\n
${this.jSPlugin.i18n.t("RECORD_TIPS")}
\n
\n \n
\n
\n
\n `,insertAfter(mobileRecTitleWrap,document.getElementById(`${this.jSPlugin.id}-wrap`));const mobileRecSwitchWrap=document.createElement("div");mobileRecSwitchWrap.id="rec-type-container-wrap",mobileRecSwitchWrap.className="rec-type-container-wrap",mobileRecSwitchWrap.style="",mobileRecSwitchWrap.innerHTML=`\n
\n
${this.recList.length}${this.jSPlugin.i18n.t("RECORDS")}
\n
\n \n
\n
\n `,insertAfter(mobileRecSwitchWrap,mobileRecTitleWrap);const mobileRecWrap=document.createElement("div");mobileRecWrap.id="mobile-rec-wrap",mobileRecWrap.className="mobileRec-wrap",mobileRecWrap.style="",mobileRecWrap.innerHTML='\n
\n
\n
00:00:00
\n
\n
\n
\n
\n
\n
\n ',insertAfter(mobileRecWrap,mobileRecSwitchWrap)}initTimeLine(){var _this_jSPlugin_logger,_this_jSPlugin,_this_jSPlugin1;null==(_this_jSPlugin=this.jSPlugin)||null==(_this_jSPlugin_logger=_this_jSPlugin.logger)||_this_jSPlugin_logger.log("[TimeLine] init"),this.TimeLineOBJ=new MobileTimeLine({id:"time-line-item",getPlayParam:data=>{const that=this;var st=data.current,date=new Date(this.date).Format("yyyyMMdd").substr(0,8)+(data.current?st.replace(/:/g,""):data.current.replace(/:/g,""));if("cloud.rec"===this.type||this.jSPlugin.useSeek&&this.jSPlugin.capacity&&"1"==this.jSPlugin.capacity.support_seek_playback){if(!this.isSeeking&&that.recList.length>0)if(new Date(`${this.date} ${data.current}`).valueOf()>=that.lastDate)this.jSPlugin.pluginStatus.loadingSetText({text:"seek回放未找到录像片段",color:"red",delayClear:2e3}),this.syncTimeLine();else{const{play:play}=this.jSPlugin.Theme.decoderState.state;play?this.unSyncTimeLine().then((()=>{this.isSeeking=!0,this.jSPlugin.pluginStatus.loadingStart(this.jSPlugin.id),this.jSPlugin.pluginStatus.setPlayStatus({loading:!0}),this.jSPlugin.pluginStatus.loadingSetText({text:this.jSPlugin.i18n.t("LOADING")}),this.jSPlugin.Theme.setDisabled(!0),this.jSPlugin.seek(date.substr(8,6),"235959").then((()=>{const timer=setInterval((()=>{this.jSPlugin.getOSDTime().then((OSDdate=>{new Date(1e3*OSDdate.data).Format("yyyyMMddhhmmss")>=date&&(this.isSeeking=!1,this.syncTimeLine(),clearInterval(timer),this.jSPlugin.pluginStatus.loadingStop(this.jSPlugin.id),this.jSPlugin.pluginStatus.setPlayStatus({loading:!1}),this.jSPlugin.pluginStatus.loadingClear(),this.jSPlugin.Theme.setDisabled(!1),this.jSPlugin.waterMark_JSPlugin&&that.jSPlugin.setWaterMarkFont(that.jSPlugin.waterMark_JSPlugin),that.jSPlugin.Theme.decoderState.state.sound&&that.jSPlugin.openSound())}))}),500)}))})):this.unSyncTimeLine().then((()=>{this.jSPlugin.pluginStatus.loadingStart(this.jSPlugin.id),this.jSPlugin.pluginStatus.setPlayStatus({loading:!0}),this.jSPlugin.pluginStatus.loadingSetText({text:this.jSPlugin.i18n.t("LOADING")}),this.jSPlugin.Theme.setDisabled(!0);let newUrl=this.jSPlugin.url;newUrl.indexOf("begin")>-1?newUrl=newUrl.replace(/(begin=)(\d+)/,(function(match,p1,p2){return p1+date})):newUrl+=`?begin=${date}`,this.jSPlugin.play({url:newUrl}).then((()=>{this.syncTimeLine(),this.jSPlugin.pluginStatus.loadingStop(this.jSPlugin.id),this.jSPlugin.pluginStatus.setPlayStatus({loading:!1}),this.jSPlugin.pluginStatus.loadingClear(),this.jSPlugin.Theme.setDisabled(!1),that.jSPlugin.waterMark_JSPlugin&&that.jSPlugin.setWaterMarkFont(that.jSPlugin.waterMark_JSPlugin)})).catch((err=>{}))}))}}else{const callback=()=>{setTimeout((()=>{this.disabled=!1}),this.seekFrequency)},localRecSeek=callback=>{this.disabled=!0,this.unSyncTimeLine().then((()=>{this.jSPlugin.pluginStatus.loadingStart(this.jSPlugin.id),this.jSPlugin.pluginStatus.setPlayStatus({loading:!0}),this.jSPlugin.pluginStatus.loadingSetText({text:this.jSPlugin.i18n.t("LOADING")}),this.jSPlugin.Theme.setDisabled(!0);let newUrl=this.jSPlugin.url;newUrl.indexOf("begin")>-1?newUrl=newUrl.replace(/(begin=)(\d+)/,(function(match,p1,p2){return p1+date})):newUrl+=`?begin=${date}`,this.jSPlugin.play({url:newUrl,unSaveUrl:!0,showPoster:!0}).then((()=>{callback&&callback(),this.syncTimeLine(),this.jSPlugin.pluginStatus.loadingStop(this.jSPlugin.id),this.jSPlugin.pluginStatus.setPlayStatus({loading:!1}),this.jSPlugin.pluginStatus.loadingClear(),this.jSPlugin.Theme.setDisabled(!1),that.jSPlugin.waterMark_JSPlugin&&that.jSPlugin.setWaterMarkFont(that.jSPlugin.waterMark_JSPlugin),this.jSPlugin.Theme.decoderState.state.sound&&this.jSPlugin.openSound()})).catch((err=>{}))})),this.jSPlugin.Theme&&this.jSPlugin.Theme.decoderState&&this.jSPlugin.Theme.decoderState.state&&this.jSPlugin.Theme.decoderState.state.zoom&&(this.jSPlugin.Theme.setDecoderState({zoom:!1}),this.jSPlugin.Zoom.stopZoom())};this.disabled?(this.seekTimer&&clearTimeout(this.seekTimer),this.seekTimer=setTimeout((()=>{localRecSeek(callback)}),this.seekFrequency)):localRecSeek(callback)}},ontouchstart:()=>{this.operating=!0,this.unSyncTimeLine()},ontouchmove:()=>{0==this.operating&&(this.operating=!0,this.unSyncTimeLine())},ontouchend:()=>{this.operating=!1}}),this.TimeLineOBJ.setDateLine(this.recList),null==(_this_jSPlugin1=this.jSPlugin)||_this_jSPlugin1.eventEmitter.on(EVENTS.setAllDayRecTimes,(res=>{if(Array.isArray(res.list)){const len=res.list.length;document.getElementById("recCount")&&(document.getElementById("recCount").innerHTML=len);let availArr=[];for(let i=len-1;i>=0;i--){let item=res.list[i],et=format(item.endTime),st=format(item.startTime);availArr.push({st:st,et:et})}this.TimeLineOBJ.setDateLine(availArr),res.list.length>0&&(this.recList=availArr,this.lastDate=1e3*res.list[res.list.length-1].endTime)}}))}unInjectJsCss(){p.listInstances().length<=1&&((filepath=>{for(var headerLink=document.getElementsByTagName("head")[0].getElementsByTagName("link"),i=0;i{clearInterval(item)})):window.recTimer={},window.recTimer[this.jSPlugin.id]=[];const that=this;this.TimeLineOBJ&&(this.jSPlugin.recTimer=setInterval((()=>{if(this.operating)return!1;this.jSPlugin.getOSDTime().then((res=>{res.data>0&&that.TimeLineOBJ.stepScrollTimeLine(function(now){var time=new Date(now),h=time.getHours(),m=time.getMinutes(),s=time.getSeconds();return(h>9?h:"0"+h)+":"+(m>9?m:"0"+m)+":"+(s>9?s:"0"+s)}(1e3*res.data))})).catch((err=>{}))}),500),window.recTimer[this.jSPlugin.id].push(this.jSPlugin.recTimer))}unSyncTimeLine(){const that=this;return new Promise((function(resolve,reject){that.jSPlugin.recTimer&&(clearInterval(that.jSPlugin.recTimer),that.jSPlugin.recTimer=null),window.recTimer?Array.isArray(window.recTimer[that.jSPlugin.id])&&(window.recTimer[that.jSPlugin.id].map((item=>{clearInterval(item)})),window.recTimer[that.jSPlugin.id]=[]):window.recTimer={},resolve()}))}bindEvent(){document.getElementById("cloudType").checked="rec"===this.type,document.getElementById("cloudType").addEventListener("change",(e=>{var _this_jSPlugin;e.target.checked,this.type=e.target.checked?"rec":"cloud.rec",null==(_this_jSPlugin=this.jSPlugin)||_this_jSPlugin.eventEmitter.emit(EVENTS.recTypeChange,{code:0,data:{type:this.jSPlugin._isCloudRecord&&"cloud.rec"===this.type?"cloudRecord":"rec"===this.type?"local":"cloud"}}),this.jSPlugin.changePlayUrl({type:this.type,begin:`${new Date(this.date).Format("yyyyMMdd")}000000`},(()=>{this.jSPlugin._isCloudRecord&&this.jSPlugin.Theme.changeTheme("mobileRec")})).then((()=>{this.syncTimeLine(),this.changeRecSpeed(1),this.resetMobileZoomStatus(),this.jSPlugin.Theme.decoderState.state.sound&&this.jSPlugin.openSound()})).catch((err=>{}))}))}constructor(jSPlugin,changeRecSpeed,resetMobileZoomStatus){var _jSPlugin_logger;if(null==jSPlugin||null==(_jSPlugin_logger=jSPlugin.logger)||_jSPlugin_logger.log("[MobileRec] init"),this.changeRecSpeed=changeRecSpeed,this.resetMobileZoomStatus=resetMobileZoomStatus,this.isMobile=!0,this.jSPlugin=jSPlugin,this.date=(new Date).Format("yyyy-MM-dd"),this.begin=((new Date).Format("yyyy-MM-dd")+" 00:00:00").replace(/-/g,"/"),this.end=((new Date).Format("yyyy-MM-dd")+" 23:59:59").replace(/-/g,"/"),this.initBegin=null,this.initEnd=null,this.type=matchEzopenUrl(this.jSPlugin.url).type,this.operating=!1,this.seekTimer=null,this.disabled=!1,this.seekFrequency=2e3,this.recList=[],this.isSeeking=!1,this.datepickerLang={zh:"zh-CN",en:"en-US"},this.datepickerVisible=!1,this.jSPlugin.params&&this.jSPlugin.params.seekFrequency&&(this.seekFrequency=this.jSPlugin.params.seekFrequency),MobileRec._instanceStyle(),getQueryString("begin",this.jSPlugin.url)){var begin=getQueryString("begin",this.jSPlugin.url);this.date=begin.slice(0,4)+"/"+begin.slice(4,6)+"/"+begin.slice(6,8),this.begin=this.date+` ${begin.slice(8,10)||"00"}:${begin.slice(10,12)||"00"}:${begin.slice(12,14)||"00"}`,this.end=this.date+" 23:59:59",this.initBegin=this.begin}if(getQueryString("end",this.jSPlugin.url)){var end=getQueryString("end",this.jSPlugin.url);this.end=this.date+` ${end.slice(8,10)||"23"}:${end.slice(10,12)||"59"}:${end.slice(12,14)||"59"}`,this.initEnd=this.end}this.recInit()}}function asyncGeneratorStep$3(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function __destroy(){var fn;return fn=function*(player){var _player_i18n;const instance=p.getInstance(player.id);if(instance){const _state=instance.getState();_state.sound&&player.closeSound(),_state.talk&&player.stopTalk(),_state.recordvideo&&(yield player.stopSave())}var _player_jSPlugin_player_setStreamInfoCallBackType,_player_jSPlugin_player,_player_jSPlugin;if(player._$streamInfo&&(null==(_player_jSPlugin=player.jSPlugin)||null==(_player_jSPlugin_player=_player_jSPlugin.player)||null==(_player_jSPlugin_player_setStreamInfoCallBackType=_player_jSPlugin_player.setStreamInfoCallBackType)||_player_jSPlugin_player_setStreamInfoCallBackType.call(_player_jSPlugin_player,1),player._$streamInfo.remove(),player._$streamInfo=null,player.showStreamInfo=!1,player.streamInfo={}),player._recOSDTimer&&(clearInterval(player._recOSDTimer),player._recOSDTimer=null),player._seekIntervaltimer&&(clearInterval(player._seekIntervaltimer),player._seekIntervaltimer=null),player.Talk&&"function"==typeof player.Talk.destroy&&player.Talk.destroy(),player._services)try{player._services.destroy()}catch(error){}player._collect=null;var destroyRT=player.jSPlugin.JS_DestroyWorker(0);if(p&&player.id&&p.removeInstance(player.id),p&&0===p.listInstances().length){if(Ptz._STYLE){const $ptzStyle=document.getElementById(Ptz._STYLE.id);$ptzStyle&&document.getElementsByTagName("head")[0].removeChild($ptzStyle),Ptz._STYLE=null}if(PopupCustom._STYLE){const $popupCustomStyle=document.getElementById(PopupCustom._STYLE.id);$popupCustomStyle&&document.getElementsByTagName("head")[0].removeChild($popupCustomStyle),PopupCustom._STYLE=null}if(MobileRec._STYLE){const $mobileRecStyle=document.getElementById(MobileRec._STYLE.id);$mobileRecStyle&&document.getElementsByTagName("head")[0].removeChild($mobileRecStyle),MobileRec._STYLE=null}}return null==player.emit||player.emit.call(player,EVENTS.destroy,{eventType:EVENTS.destroy,code:0,msg:null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("DESTROY")}),player.videoInfo=null,player.audioInfo=null,player.jSPlugin=null,player.eventEmitter&&(player.eventEmitter.removeAllListeners(),player.eventEmitter=null),destroyRT},__destroy=function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep$3(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep$3(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))},__destroy.apply(this,arguments)}const ignoreList=[EVENTS.getOSDTime,EVENTS.streamInfoCB,EVENTS.http.getCloudRecordTimes,EVENTS.http.getLocalRecTimes,EVENTS.http.getCloudRecTimes,EVENTS.setAllDayRecTimes,EVENTS.setRecTimes,EVENTS.talkVolumeChange];function __eventsLogger(player,events=EVENTS){Object.keys(events).forEach((key=>{"object"!=typeof events[key]?null==player||player.on(events[key],(value=>{var _player_logger;if(!ignoreList.includes(key))if("object"==typeof value&&"[object Object]"===Object.prototype.toString.call(value)||Array.isArray(value)){delete value.target;try{var _player_logger1;null==(_player_logger1=player.logger)||_player_logger1.log("[events]",events[key],JSON.stringify(value))}catch(error){}}else null==(_player_logger=player.logger)||_player_logger.log("[events]",events[key],value)})):__eventsLogger(player,events[key])}))}var hasRequiredDayjs_min,dist,hasRequiredDist,dayjs_min$1={exports:{}};function requireDayjs_min(){return hasRequiredDayjs_min||(hasRequiredDayjs_min=1,function(module){module.exports=function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t){let[i,a]=t;return e.includes(i)&&(A[i]=a),A}),{})}var pn,mn={exports:{}};var _n=(pn||(pn=1,function(A){A.exports=function(){var A=1e3,e=6e4,t=36e5,i="millisecond",a="second",r="minute",n="hour",o="day",s="week",g="month",l="quarter",C="year",I="date",c="Invalid Date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,B=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,E={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(A){var e=["th","st","nd","rd"],t=A%100;return"["+A+(e[(t-20)%10]||e[t]||e[0])+"]"}},x=function(A,e,t){var i=String(A);return!i||i.length>=e?A:""+Array(e+1-i.length).join(t)+A},d={s:x,z:function(A){var e=-A.utcOffset(),t=Math.abs(e),i=Math.floor(t/60),a=t%60;return(e<=0?"+":"-")+x(i,2,"0")+":"+x(a,2,"0")},m:function A(e,t){if(e.date()1)return A(n[0])}else{var o=e.name;f[o]=e,a=o}return!i&&a&&(Q=a),a||!i&&Q},_=function(A,e){if(p(A))return A.clone();var t="object"==typeof e?e:{};return t.date=A,t.args=arguments,new S(t)},y=d;y.l=m,y.i=p,y.w=function(A,e){return _(A,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var S=function(){function E(A){this.$L=m(A.locale,null,!0),this.parse(A),this.$x=this.$x||A.x||{},this[u]=!0}var x=E.prototype;return x.parse=function(A){this.$d=function(A){var e=A.date,t=A.utc;if(null===e)return new Date(NaN);if(y.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var i=e.match(h);if(i){var a=i[2]-1||0,r=(i[7]||"0").substring(0,3);return t?new Date(Date.UTC(i[1],a,i[3]||1,i[4]||0,i[5]||0,i[6]||0,r)):new Date(i[1],a,i[3]||1,i[4]||0,i[5]||0,i[6]||0,r)}}return new Date(e)}(A),this.init()},x.init=function(){var A=this.$d;this.$y=A.getFullYear(),this.$M=A.getMonth(),this.$D=A.getDate(),this.$W=A.getDay(),this.$H=A.getHours(),this.$m=A.getMinutes(),this.$s=A.getSeconds(),this.$ms=A.getMilliseconds()},x.$utils=function(){return y},x.isValid=function(){return!(this.$d.toString()===c)},x.isSame=function(A,e){var t=_(A);return this.startOf(e)<=t&&t<=this.endOf(e)},x.isAfter=function(A,e){return _(A)0&&a[a.length-1])||6!==r[0]&&2!==r[0])){n=0;continue}if(3===r[0]&&(!a||r[1]>a[0]&&r[1]0?2===s.length?typeof s[1]==a?this[s[0]]=s[1].call(this,l):this[s[0]]=s[1]:3===s.length?typeof s[1]!==a||s[1].exec&&s[1].test?this[s[0]]=l?l.replace(s[1],s[2]):i:this[s[0]]=l?s[1].call(this,l,s[2]):i:4===s.length&&(this[s[0]]=l?s[3].call(this,l.replace(s[1],s[2])):i):this[s]=l||i;C+=2}},W=function(A,e){for(var t in e)if(typeof e[t]===n&&e[t].length>0){for(var a=0;a2&&(A[g]="iPad",A[C]=x),A},this.getEngine=function(){var A={};return A[l]=i,A[c]=i,V.call(A,d,f.engine),A},this.getOS=function(){var A={};return A[l]=i,A[c]=i,V.call(A,d,f.os),u&&!A[l]&&Q&&"Unknown"!=Q.platform&&(A[l]=Q.platform.replace(/chrome os/i,G).replace(/macos/i,U)),A},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return d},this.setUA=function(A){return d=typeof A===o&&A.length>500?K(A,500):A,this},this.setUA(d),this};q.VERSION="1.0.37",q.BROWSER=J([l,c,s]),q.CPU=J([h]),q.DEVICE=J([g,I,C,B,E,d,x,Q,f]),q.ENGINE=q.OS=J([l,c]),A.exports&&(e=A.exports=q),e.UAParser=q;var j=typeof t!==r&&(t.jQuery||t.Zepto);if(j&&!j.ua){var z=new q;j.ua=z.getResult(),j.ua.get=function(){return z.getUA()},j.ua.set=function(A){z.setUA(A);var e=z.getResult();for(var t in e)j.ua[t]=e[t]}}}("object"==typeof window?window:kn)}(Pn,Pn.exports)),Pn.exports),Tn=e(Nn),Mn="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),Ln=new Uint8Array(16);function Yn(){if(!Mn)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Mn(Ln)}for(var Gn=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Un=[],Jn=0;Jn<256;++Jn)Un.push((Jn+256).toString(16).substr(1));function Hn(A,e,t){var i=(A=A||{}).random||(A.rng||Yn)();return i[6]=15&i[6]|64,i[8]=63&i[8]|128,function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(Un[A[e+0]]+Un[A[e+1]]+Un[A[e+2]]+Un[A[e+3]]+"-"+Un[A[e+4]]+Un[A[e+5]]+"-"+Un[A[e+6]]+Un[A[e+7]]+"-"+Un[A[e+8]]+Un[A[e+9]]+"-"+Un[A[e+10]]+Un[A[e+11]]+Un[A[e+12]]+Un[A[e+13]]+Un[A[e+14]]+Un[A[e+15]]).toLowerCase();if(!function(A){return"string"==typeof A&&Gn.test(A)}(t))throw TypeError("Stringified UUID is invalid");return t}(i)}function On(A,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](A):A instanceof e}var Kn=function(){function A(){this._keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}var e=A.prototype;return e.$=function(A){var e=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,t=/^(?:\s*(<[\w\W]+>)[^>]*|.([\w-]*))$/;if(e.test(A)){var i=e.exec(A);return document.getElementById(i[2])}if(t.test(A)){for(var a=t.exec(A),r=document.getElementsByTagName("*"),n=[],o=0,s=r.length;o>2,r=(3&e)<<4|(t=A.charCodeAt(g++))>>4,n=(15&t)<<2|(i=A.charCodeAt(g++))>>6,o=63&i,isNaN(t)?n=o=64:isNaN(i)&&(o=64),s=s+this._keyStr.charAt(a)+this._keyStr.charAt(r)+this._keyStr.charAt(n)+this._keyStr.charAt(o);return s},e.decode=function(A){var e,t,i,a,r,n,o="",s=0;for(A=A.replace(/[^A-Za-z0-9+/=]/g,"");s>4,t=(15&a)<<4|(r=this._keyStr.indexOf(A.charAt(s++)))>>2,i=(3&r)<<6|(n=this._keyStr.indexOf(A.charAt(s++))),o+=String.fromCharCode(e),64!==r&&(o+=String.fromCharCode(t)),64!==n&&(o+=String.fromCharCode(i));return this._utf8_decode(o)},e._utf8_encode=function(A){A=A.replace(/\r\n/g,"\n");for(var e="",t=0;t127&&i<2048?(e+=String.fromCharCode(i>>6|192),e+=String.fromCharCode(63&i|128)):(e+=String.fromCharCode(i>>12|224),e+=String.fromCharCode(i>>6&63|128),e+=String.fromCharCode(63&i|128))}return e},e._utf8_decode=function(A){for(var e="",t=0,i=0,a=0;t191&&i<224)a=A.charCodeAt(t+1),e+=String.fromCharCode((31&i)<<6|63&a),t+=2;else{a=A.charCodeAt(t+1);var r=A.charCodeAt(t+2);e+=String.fromCharCode((15&i)<<12|(63&a)<<6|63&r),t+=3}return e},e.isFirefox=function(){var A=!1,e=navigator.userAgent.toLowerCase(),t="";return e.match(/firefox\/([\d.]+)/)&&(t=e.match(/firefox\/([\d.]+)/)[1],parseInt(t.split(".")[0],10)>-1&&(A=!0)),A},e.isSafari=function(){var A=!1,e=navigator.userAgent.toLowerCase(),t="";return e.match(/version\/([\d.]+).safari./)&&(t=e.match(/version\/([\d.]+).safari./)[1],parseInt(t.split(".")[0],10)>-1&&(A=!0)),A},e.isEdge=function(){return navigator.userAgent.toLowerCase().includes("edge")},e.isIOS=function(){return!!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)},A}(),Vn=new Kn,Wn=new Blob(['var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function convertJsFunctionToWasm(func,sig){if(typeof WebAssembly.Function==="function"){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":272,"maximum":272+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0||i==maxBytesToRead/2)return str;++i;str+=String.fromCharCode(codeUnit)}}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5549568,DYNAMICTOP_PTR=306528;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||33554432;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":104857600/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="data:application/octet-stream;base64,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IANBBEkEQCAAIQIMAQsgA0F8aiIEIABJBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAv4AwECfyMAQZAIayIDJAAgAyACNgKECEGM1QooAgAEQCADIAMoAoQINgIAIAAgASADQZDVCigCAEGM1QooAgARCAALAkBBlNUKKAIARQ0AQaDVCigCACAASg0AIANBAEGACBArIQICf0GC+AdBjvgHIABBAUgbIABBf2oiBEEGTw0AGiAEQQJ0QYT5B2ooAgALIQAgAkGICGpBABAPGiACIAI0AowIIAI0AogIQsCEPX58IAAQiggiAEF/Rg0AAkACQCAAIAJqQYAIIABrIgQgASACKAKECBCBAiIBQX9GDQAgASAETg0AIAIgACABaiIAakGACCAAa0GU+AdBABCsARoMAQsgAkEKOwH+BwtBmNUKKAIAIgBFDQBBtNcKKAIABH8DQEHoBxAFGkG01wooAgANAAtBmNUKKAIABSAACxCHAUGo1QooAgBNBEBBtNcKKAIABEADQEHoBxAFGkG01wooAgANAAsLIAJBmNUKKAIAELMBGkGs1QpBrNUKKAIAIAIQQmo2AgAMAQsQiQhBmNUKKAIAIgBFDQAgAhBCQazVCigCAGpBqNUKKAIASw0AIAJBtNcKKAIABH8DQEHoBxAFGkG01wooAgANAAtBmNUKKAIABSAACxCzARpBrNUKQazVCigCACACEEJqNgIACyADQZAIaiQAC/MCAgJ/AX4CQCACRQ0AIAAgAmoiA0F/aiABOgAAIAAgAToAACACQQNJDQAgA0F+aiABOgAAIAAgAToAASADQX1qIAE6AAAgACABOgACIAJBB0kNACADQXxqIAE6AAAgACABOgADIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIBNgIAIAMgAiAEa0F8cSIEaiICQXxqIAE2AgAgBEEJSQ0AIAMgATYCCCADIAE2AgQgAkF4aiABNgIAIAJBdGogATYCACAEQRlJDQAgAyABNgIYIAMgATYCFCADIAE2AhAgAyABNgIMIAJBcGogATYCACACQWxqIAE2AgAgAkFoaiABNgIAIAJBZGogATYCACAEIANBBHFBGHIiBGsiAkEgSQ0AIAGtIgVCIIYgBYQhBSADIARqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAszAQF/IABBASAAGyEAAkADQCAAEC0iAQ0BQaTICigCACIBBEAgAREHAAwBCwsQCAALIAELzS4BC38jAEEQayILJAACQAJAAkACQAJAAkACQAJAAkACQAJAIABB9AFNBEBBrMgKKAIAIgZBECAAQQtqQXhxIABBC0kbIgVBA3YiAHYiAUEDcQRAIAFBf3NBAXEgAGoiAkEDdCIEQdzICmooAgAiAUEIaiEAAkAgASgCCCIDIARB1MgKaiIERgRAQazICiAGQX4gAndxNgIADAELQbzICigCABogAyAENgIMIAQgAzYCCAsgASACQQN0IgJBA3I2AgQgASACaiIBIAEoAgRBAXI2AgQMDAsgBUG0yAooAgAiCE0NASABBEACQEECIAB0IgJBACACa3IgASAAdHEiAEEAIABrcUF/aiIAIABBDHZBEHEiAHYiAUEFdkEIcSICIAByIAEgAnYiAEECdkEEcSIBciAAIAF2IgBBAXZBAnEiAXIgACABdiIAQQF2QQFxIgFyIAAgAXZqIgJBA3QiA0HcyApqKAIAIgEoAggiACADQdTICmoiA0YEQEGsyAogBkF+IAJ3cSIGNgIADAELQbzICigCABogACADNgIMIAMgADYCCAsgAUEIaiEAIAEgBUEDcjYCBCABIAVqIgcgAkEDdCICIAVrIgNBAXI2AgQgASACaiADNgIAIAgEQCAIQQN2IgRBA3RB1MgKaiEBQcDICigCACECAn8gBkEBIAR0IgRxRQRAQazICiAEIAZyNgIAIAEMAQsgASgCCAshBCABIAI2AgggBCACNgIMIAIgATYCDCACIAQ2AggLQcDICiAHNgIAQbTICiADNgIADAwLQbDICigCACIKRQ0BIApBACAKa3FBf2oiACAAQQx2QRBxIgB2IgFBBXZBCHEiAiAAciABIAJ2IgBBAnZBBHEiAXIgACABdiIAQQF2QQJxIgFyIAAgAXYiAEEBdkEBcSIBciAAIAF2akECdEHcygpqKAIAIgEoAgRBeHEgBWshAyABIQID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AXUiAGsgACACQQFxGwvHCwEEfwJAAkACQCAAQQNLDQAgASgCDCEEIAEoAhQhBgJAAkACQAJAIABBAWsOAwECAwALIAEoAgghBCABKAIQIQAgASgCACEDIAIgAigClAciBUEBajYClAcgBSACKAKQB2ogAzoAAAJ/IABB////B08EQCACIAIoApQHIgVBAWo2ApQHIAUgAigCkAdqQf8BOgAAIAIgAigClAciBUEBajYClAcgBSACKAKQB2pB/wE6AAAgAiACKAKUByIFQQFqNgKUByAFIAIoApAHaiEFQf8BDAELIAIgAigClAciA0EBajYClAcgAyACKAKQB2ogAEEQdjoAACACIAIoApQHIgNBAWo2ApQHIAMgAigCkAdqIABBCHY6AAAgAiACKAKUByIDQQFqNgKUByADIAIoApAHaiEFIAALIQMgBSADOgAAIAIgAigClAciA0EBajYClAcgAyACKAKQB2ogBkEQdjoAACACIAIoApQHIgNBAWo2ApQHIAMgAigCkAdqIAZBCHY6AAAgAiACKAKUByIDQQFqNgKUByADIAIoApAHaiAGOgAAIAEoAgQhASACIAIoApQHIgNBAWo2ApQHIAMgAigCkAdqIAE6AAAgAiACKAKUByIBQQFqNgKUByABIAIoApAHaiAEOgAAIAIgAigClAciAUEBajYClAcgASACKAKQB2ogBEEIdjoAACACIAIoApQHIgFBAWo2ApQHIAEgAigCkAdqIARBEHY6AAAgAiACKAKUByIBQQFqNgKUByABIAIoApAHaiAEQRh2OgAAIABB////B0kNAyACIAIoApQHIgFBAWo2ApQHIAEgAigCkAdqIABBGHY6AAAgAiACKAKUByIBQQFqNgKUByABIAIoApAHaiAAQRB2OgAAIAIgAigClAciAUEBajYClAcgASACKAKQB2ogAEEIdjoAACACIAIoApQHIgFBAWo2ApQHIAEgAigCkAdqIAA6AAAPCyABLQAAIQAgAiACKAKUByIDQQFqNgKUByADIAIoApAHaiAAQcAAcjoAAAJ/IARB////B08EQCACIAIoApQHIgNBAWo2ApQHIAMgAigCkAdqQf8BOgAAIAIgAigClAciA0EBajYClAcgAyACKAKQB2pB/wE6AAAgAiACKAKUByIDQQFqNgKUByADIAIoApAHaiEDQf8BDAELIAIgAigClAciAEEBajYClAcgACACKAKQB2ogBEEQdjoAACACIAIoApQHIgBBAWo2ApQHIAAgAigCkAdqIARBCHY6AAAgAiACKAKUByIAQQFqNgKUByAAIAIoApAHaiEDIAQLIQAgAyAAOgAAIAIgAigClAciAEEBajYClAcgACACKAKQB2ogBkEQdjoAACACIAIoApQHIgBBAWo2ApQHIAAgAigCkAdqIAZBCHY6AAAgAiACKAKUByIAQQFqNgKUByAAIAIoApAHaiAGOgAAIAEoAgQhACACIAIoApQHIgFBAWo2ApQHIAEgAigCkAdqIAA6AAAgBEH///8HSQ0CDAMLIAEtAAAhACACIAIoApQHIgFBAWo2ApQHIAEgAigCkAdqIABBgAFyOgAAIARB////B08EQCACIAIoApQHIgBBAWo2ApQHIAAgAigCkAdqQf8BOgAAIAIgAigClAciAEEBajYClAcgACACKAKQB2pB/wE6AAAgAiACKAKUByIAQQFqNgKUByAAIAIoApAHakH/AToAAAwDCwwDCyABLQAAIQAgAiACKAKUByIBQQFqNgKUByABIAIoApAHaiAAQcABcjoAAAsPCyACIAIoApQHIgBBAWo2ApQHIAAgAigCkAdqIARBGHY6AAALIAIgAigClAciAEEBajYClAcgACACKAKQB2ogBEEQdjoAACACIAIoApQHIgBBAWo2ApQHIAAgAigCkAdqIARBCHY6AAAgAiACKAKUByIAQQFqNgKUByAAIAIoApAHaiAEOgAACxgAIAAtAABBIHFFBEAgASACIAAQugEaCwviBwIMfwF8AkAgAkF/Rg0AIABFDQAgA0UNACAAIAJB2ClsaiIHQZAiaigCACIKQQhJIQUgB0GIImooAgAhCyAHQYwiaigCACEIAn8gAbggB0HkIWoiDCgCACIQuKJEAAAAAABAj0CjIhFEAAAAAAAA8EFjIBFEAAAAAAAAAABmcQRAIBGrDAELQQALIQ0gBQRAQYeAgIB4DwsgCEUEQEGHgICAeA8LIAtFBEBBh4CAgHgPCwJAIAAoAhxBAUYEQEGDgICAeCEBIAAoAgwgAkYNAQsCQAJAIAtBAUgEQEEAIQUMAQsgCEEEaiEBIAghB0EAIQUDQCAGIAcoAAAiBkEYdCAGQQh0QYCA/AdxciAGQQh2QYD+A3Eg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KAIAIgEgAEEDakF8cSICaiEAAkAgAkEBTkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQEUUNAQtB4NoSIAA2AgAgAQ8LQajICkEwNgIAQX8LwgECA38BfgJAAkAgACkDcCIEUEUEQCAAKQN4IARZDQELIAAQjwgiAkF/Sg0BCyAAQQA2AmhBfw8LIAAoAgghAQJAAkAgACkDcCIEUA0AIAQgACkDeEJ/hXwiBCABIAAoAgQiA2usWQ0AIAAgAyAEp2o2AmgMAQsgACABNgJoCwJAIAFFBEAgACgCBCEADAELIAAgACkDeCABIAAoAgQiAGtBAWqsfDcDeAsgAEF/aiIALQAAIAJHBEAgACACOgAACyACCygAIAFFBEBBgYCAgHgPCyAARQRAQYeAgIB4DwsgACABIAFBBGoQqAMLgQgCC38BfSMAQdAAayIDJABBgoCAgHghBAJAIABFDQAgAkUNACAAKAIAIgpFDQACQCAAKAIEIgYEQCACQYgBaiACQYwBaiAAKAIIIgdBBEYiBBsoAgAhCEHAAEE4IAQbIQQCfyAAKgIUIg5DAACAT10gDkMAAAAAYHEEQCAOqQwBC0EACyELIAdBAUYhDCADQUBrIQkgAiAEaiENQQAhAANAAkAgAigCeEUEQAJ/IAItAGxFBEAgAigCpAEMAQsgAigCoAFBggE6AAAgAigCoAFBADsAASACKAKgAUGRAToAAyACKAKgAUHdADoABCACKAKgASACKAKEATsABSACKAKgASAINgAHIAIoAqABIAs7AAsgAigCoAEgAi0AgAFBP3FBgAFyOgANIAIgAigCsAFBAWoiBDYCsAECQCAHQQFGBEAgA0EANgJIIAlCADcDACADQgA3AzggA0IANwMwIANCADcDKCADQgA3AyAgA0IANwMYIANCADcDECACLQDUAUUEQCADIAIoAgw2AhAgAigCFCEEIANBADYCGCADIAQ2AhQgA0EQaiACKAIEIAIoAgARBAAgAkEBOgDUASACKAKwASEECyADIAIoAqABNgIQIAIoAqQBIQUgAyAENgIgIANCgYCAgBA3AxgMAQsgA0EANgJIIAlCADcDACADQgA3AzggA0IANwMwIANCADcDKCADQgA3AyAgA0IANwMYIANCADcDECACLQDUAUUEQCADIAIoAgw2AhAgAigCFCEEIANBADYCGCAD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AikCXDcCACAAQegUaiACKQJUNwIAIAEoAigoAgBFDQIgACADKAIANgLYCwwCCyAAIAEoAigiAikCTDcClBUgAEGkFWogAikCXDcCACAAQZwVaiACKQJUNwIADAELIAAgASgCKCICKQJMNwKsFSAAQbQVaiACKAJUNgIACyAAQQA2ArQLIAAgASgCKCICQYABaiACEOgFIgINAiABKAIEQbABRw0BIAEoAigoAgBFDQFBgYCAgHghAiABKAIcIgNFDQJBhoCAgHghAiABKAIgQRRJDQIgACADKAIIQQV2QQFxNgLECwJAIAMvAQAiAkH/X2pBBUkNACACQf+ff2pBBUkNACACQf+/f2pBAUsNAgsgACACNgKwCwwBCyAAQQA2AqQLCyAAIAEQ5wVBACECIAEoAigiAwRAIAMoAiAhAgsgAEEANgLICgJAIAAoAggiA0EQcUUNAAJAIAEoAgQiBEFlaiIFQQlLBEAgBEGyAUcNAgwBCyAFQQFrDggBAQEBAQEBAQALIAJB/n5qIgJBAk1BACACQQFrGw0AIAAoArQLDQAgAEEBNgLICgtBACECIANBBHFFDQAgACgCqAtFDQAgACABKAIYNgLgFAsgAgt7AQF/IAAoAlwiAQRAIAEQKCAAQQA2AlwLIAAoAuAKIgEEQCABECggAEIANwLgCgsgACgC7AoiAQRAIAEQKCAAQQA2AvQKIABBADYC7AoLIAAoAnwiAQRAIAEQTyAAQQA2AnwLIAAoAtwVIgEEQCABECggAEEANgLcFQsL3AQBAX8gACgCXCIBBEAgARAoIABBADYCXAsgACgCfCIBBEAgARAoIABBADYChAEgAEEANgJ8CyAAKALYCCIBBEAgARAoIABBADYC4AggAEEANgLYCAsgACgCjAMiAQRAIAEQKCAAQQA2AswDIABBADYCjAMLIAAoApADIgEEQCABECggAEEANgLQAyAAQQA2ApADCyAAKAKUAyIBBEAgARAoIABBADYC1AMgAEEANgKUAwsgACgCmAMiAQRAIAEQKCAAQQA2AtgDIABBADYCmAMLIAAoApwDIgEEQCABECggAEEANgLcAyAAQQA2ApwDCyAAKAKgAyIBBEAgARAoIABBADYC4AMgAEEANgKgAwsgACgCpAMiAQRAIAEQKCAAQQA2AuQDIABBADYCpAMLIAAoAqgDIgEEQCABECggAEEANgLoAyAAQQA2AqgDCyAAKAKsAyIBBEAgARAoIABBADYC7AMgAEEANgKsAwsgACgCsAMiAQRAIAEQKCAAQQA2AvADIABBADYCsAMLIAAoArQDIgEEQCABECggAEEANgL0AyAAQQA2ArQDCyAAKAK4AyIBBEAgARAoIABBADYC+AMgAEEANgK4AwsgACgCvAMiAQRAIAEQKCAAQQA2AvwDIABBADYCvAMLIAAoAsADIgEEQCABECggAEEANgKABCAAQQA2AsADCyAAKALEAyIBBEAgARAoIABBADYChAQgAEEANgLEAwsgACgCyAMiAQRAIAEQKCAAQQA2AogEIABBADYCyAMLIAAoAoAJIgEEQCABEE8gAEEANgKACQsLgQQBBH8gAkIANwLcBCACQgA3AtQEIAJCADcCvAQgAkIANwLEBCACQgA3AswEIAJCADcC5AQgAkIANwLsBCACQgA3AvQEIAIgATYC3AQgAiAANgLYBCACIAIoAggiBiACKAIUIgBB3ABsaiIDIANBFGogAigCqARB06ABRhsoAgA2AsQEIAIgADYCvAQgAiADKAIENgLABCACIAMoAgw2AtAEIAIgAygCCDYCzAQgAiACQbQGajYC6AQgAiACKAKgBCIENgLgBCADKAIAQXBxQeABRgRAIAIgAigCpAQ2AtQECwJAIAItAKwFQQFxRQ0AIAIgAkGABWo2AuQEIAIgAigCnAQiBUEBcTYChAUgAiAFQQJ2QQFxNgKIBSACIAVBAXZBAXE2AoAFIAIgBiAAQdwAbGoiACkCVDcC9AQgAiAAKQJMNwLsBCACIAAoAkg2AvwFIAIgAEFAaykCADcC9AUgAiAAKQI4NwLsBSACIAApAjA3AuQFIAIgACkCKDcC3AUgAiAAKQIgNwLUBSACIAApAhg3AswFIAIgAigCmAUiAEEAIAQbIAQgABs2AowFIAMoAgBBcHFB4AFHDQAgAiACKAKkBDYCzAUgAiACKAKwBDYC7AULIAJBvARqIQAgAigCACIDBEAgACACKAIEIAMRBAAgAQ8LIAIgADYC/AQgAQuSAQEBfyAAQdAJaigCACIBBEAgARAoIABBADYC0AkLIAAoApQLIgEEQCABECggAEEANgKgCyAAQQA2ApQLCyAAKAKYCyIBBEAgARAoIABBADYCpAsgAEEANgKY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Sw0AIAAgBEEBajYClAcgACgCkAcgBGogACgCbDoAACAAIAAoApQHIgJBAWo2ApQHIAIgACgCkAdqQQA6AAAgAS0ADiECIAEtAA0hBCAAIAAoApQHIgVBAWo2ApQHIAUgACgCkAdqIARBA3QgAkEBdnI6AAAgAS0ADyECIAEtAA4hASAAIAAoApQHIgRBAWo2ApQHIAQgACgCkAdqIAJBA3QgAUEHdHI6AAAgACAAKAKcB0EIcjYCnAdBACECCyADQSBqJAAgAgsXAEF/QQAgACAAEEIiACABEJQCIABHGwumBgECfyMAQSBrIgIkACACIAAoAgQ2AgggACgCACEBIAJBCTYCDCACIAE2AhAgAiAAKAIsNgIUIAIgACgCKDYCGCACIAAoAmAgACgCZGpBEGoiATYCHAJ/QYWAgIB4IAEgACgCCEsNABpBhoCAgHggASAAKAKUB2pBFGogACgCmAdLDQAaAkAgACgCNARAQQAgAkEIaiAAEDogAEEANgI0DAELQQEgAkEIaiAAEDoLIAAgACgClAciAUEBajYClAcgASAAKAKQB2pBFzoAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqQQA6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHakEAOgAAIAAgACgClAciAUEBajYClAcgASAAKAKQB2pBADoAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqQQA6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHakEBOgAAIAAgACgClAciAUEBajYClAcgASAAKAKQB2ogAC0AcToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAtAHI6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAALQBzOgAAIAAgACgClAciAUEBajYClAcgASAAKAKQB2pB/wE6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHakHhAToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAoAmBBCHY6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAAKAJgOgAAIAAoApAHIAAoApQHaiAAQfAAaiAAKAJgECkaIAAgACgClAcgACgCYGoiAUEBajYClAcgACgCkAcgAWpBAToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAoAmRBCHY6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAAKAJkOgAAIAAoApAHIAAoApQHaiAAQfACaiAAKAJkECkaIAAgACgClAcgACgCZGo2ApQHIAAgACgCnAdBBHI2ApwHQQALIQEgAkEgaiQAIAELggEBAX8gACgCBARAIABBADYCBAsgACgCNCIBBEAgACgCOBogARAoIABBADYCNAsgACgCSCIBBEAgACgCTBogARAoIABBADYCSAsgAEFAaygCACIBBEAgACgCRBogARAoIABBADYCQAsgACgCCCIBBEAgACgCDBogARAoIABBADYCCAsLzQMBBH8gASgCBARAIAFBADYCNAsCQCABKAIQBEAgAC0AzwEhAiABIAEoAjQiA0EBajYCNCADIAEoAjBqIAI6AAAgAC8BzgEhAiABIAEoAjQiA0EBajYCNCADIAEoAjBqIAI6AAAgACgCzAEhAiABIAEoAjQiA0EBajYCNCADIAEoAjBqIAJBCHY6AAAgACgCzAEhAiABIAEoAjQiA0EBajYCNCADIAEoAjBqIAI6AABBgICAgHghAiABKAIwIgNFDQEgASgCOCIERQ0BQYGAgIB4IQIgASgCNCIFQQlqIARLDQEgACgCACECIAMgBWoiA0GAgIDIADYABSADQcaY2Qo2AAAgA0EFQQEgAkECcRsiAyADQQRxIAJBAXEbOgAEIAEgASgCNEEJajYCNCAAIAEQ5QMPC0GDgICAeCECIAEoAgAiA0EFSw0AAkACQAJAAkAgA0ECaw4EBAABAgALIAAoAtwLQWVqIgJBCUsNAgJAAkAgAkEBaw4JBAQEBAQEBAQBAAsgACABEOgDIgJBAUYNAwwECyAAIAEQ5wMiAkEBRg0CDAMLIAAgARDuAyICQQFGDQEMAgsgACABEOYDIgJBAUcNAQtBASECCyACC8YRAg9/AX4jAEHQAGsiByQAIAcgATYCTCAHQTdqIRUgB0E4aiESQQAhAQJAAkADQAJAIA9BAEgNACABQf////8HIA9rSgRAQajICkE9NgIAQX8hDwwBCyABIA9qIQ8LIAcoAkwiCyEBAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkAgCy0AACIIBEADQAJAAkACQCAIQf8BcSIJRQRAIAEhCAwBCyAJQSVHDQEg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IAAoAjQgA0EIahBnIgFBgoCAgHhGDQEgAUUNAUGVgICAeEGQgICAeCABQY2AgIB4RhsLIQIgACgC3AIiAQRAIAEQKCAAQQA2AtwCCyAAKAK8AiIBBEAgARA0IABBADYCvAILIAAoAjQiAQRAIAEQdCAAQQA2AjQLIAAoAtwkIgEEQCABEDQgAEEANgLcJAsgACgC4CQiAQRAIAEQNCAAQQA2AuAkCyAFQQA2AgALIANBwAFqJAAgAguZAQEBfyAAKALcAiIBBEAgARAoIABBADYC3AILIAAoArwCIgEEQCABEDQgAEEANgK8AgsgACgCNCIBBEAgARB0IABBADYCNAsgACgC3CQiAQRAIAEQNCAAQQA2AtwkCyAAKALgJCIBBEAgARA0IABBADYC4CQLIABBADYCgCUgACgCvCYiAQRAIABBwCZqIAE2AgAgARAoCyAACwYAEPQCAAuEBwEBfyABRQRADwsgAEHwGmogAUGEARApGiABKAIAIgJBAXEEQCAAQQE2AsgXCwJ/IAJBwABxBEAgACgCaCICBEAgAkEFNgJQCyABKAIAIQILIAJBgAFxCwR/IAAoAmgiAgRAIAJBBzYCUAsgASgCAAUgAgtBgARxBEAgACgCaCIBBEAgAUEDNgJQCwsgAEH0G2ohASAAQfQaaigCAEEDRgRAIAEgAEH4GmooAgAiAikCADcCACABIAIpAjA3AjAgASACKQIoNwIoIAEgAikCIDcCICABIAIpAhg3AhggASACKQIQNwIQIAEgAikCCDcCCAsgAEH8GmooAgBBA0YEQCABIABBgBtqKAIAIgIpAgA3AgAgASACKQIwNwIwIAEgAikCKDcCKCABIAIpAiA3AiAgASACKQIYNwIYIAEgAikCEDcCECABIAIpAgg3AggLIABBhBtqKAIAQQNGBEAgASAAQYgbaigCACICKQIANwIAIAEgAikCMDcCMCABIAIpAig3AiggASACKQIgNwIgIAEgAikCGDcCGCABIAIpAhA3AhAgASACKQIINwIICyAAQYwbaigCAEEDRgRAIAEgAEGQG2ooAgAiAikCADcCACABIAIpAjA3AjAgASACKQIoNwIoIAEgAikCIDcCICABIAIpAhg3AhggASACKQIQNwIQIAEgAikCCDcCCAsgAEGUG2ooAgBBA0YEQCABIABBmBtqKAIAIgIp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RQ0AIAFFDQAgASgCBCIFRQ0AIAEoAhgiBEUNACABQQA2AhwgAEEANgKcByABKAIAIQIgACAENgKQByAAIAI2AvAGIAAgASgCIDYCmAcgASgCCCEGAkAgACgCDARAIAQgBCAAKAKIByIDaiAAKAKUByADaxAxIAAgACgClAcgACgCiAciAms2ApQHIAAoAoAHIgMEQCAAIAMgAms2AoAHCyAAQQA2AogHIAEoAgAhAgwBCyAAQQA2ApQHCyACQQJLBEBBg4CAgHgPCwJAAn8gAkECawRAAn8gACgCJEUEQCABKAIMIQIgACgCMAwBCyAAQQA2AiQgASgCDCECIABBADYCKCAAIAI2AjAgAgshAyAAIAI2AjAgACACNgIoIAAgAiADazYCLCAAIAEoAhA2AvgGIAAgASgCFDYC9AYgBSAGIAAQwwMMAQsgACgCNA0BAn8gACgCOEUEQCABKAIMIQIgACgCRAwBCyAAQQA2AjggASgCDCECIABBATYCSCAAIAI2AkQgAEEANgI8IAILIQMgACACNgJEIAAgAjYCPCAAIAIgA2s2AkAgBSAGIAAQvQMLIgINAQsgASAAQYgHQZQHIAAoAgwbaigCADYCHCABIAAoApwHNgIkQQAhAgsgAgvwBQEEf0GBgICAeCEEAkAgAUUNACACRQ0AIAEoAgghBiABKAIQIQUgAkEANgKMByACQQA2AoQHIAJBADYC/AYgAiACKAKUByIDNgKAByABKAIAIQQgAiADQQFqNgKUByADIAIoApAHaiAEIABBBnRyOgAAAn8gBUH///8HTwRAIAIgAigClAciA0EBajYClAcgAyACKAKQB2pB/wE6AAAgAiACKAKUByIDQQFqNgKUByADIAIoApAHakH/AToAACACIAIoApQHIgNBAWo2ApQHIAMgAigCkAdqIQNB/wEMAQsgAiACKAKUByIEQQFqNgKUByAEIAIoApAHaiAFQRB2OgAAIAIgAigClAciBEEBajYClAcgBCACKAKQB2ogBUEIdjoAACACIAIoApQHIgRBAWo2ApQHIAQgAigCkAdqIQMgBQshBCADIAQ6AAAgAiACKAKUByIDQQFqNgKUB0EAIQQgAyACKAKQB2pBADoAACACIAIoApQHIgNBAWo2ApQHIAMgAigCkAdqQQA6AAAgAiACKAKUByIDQQFqNgKUByAD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BCACQQhqSQRAIARB9wk2AjQgBEGVsQk2AjBBg4CAgHgMAQsgASgCACADakHzADoAACACIAEoAgBqQekAOgAFIAIgASgCAGpB5AA6AAYgAiABKAIAakH4ADoAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQfoJNgJEIARBlbEJNgJAQYOAgIB4DAELIAEoAgAgA2pBADoAACACIAEoAgBqQQA6AAUgAiABKAIAakEAOgAGIAIgASgCAGpBADoAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQf0JNgJUIARBlbEJNgJQQYOAgIB4DAELIAEoAgAgA2pBADoAACACIAEoAgBqQQA6AAUgAiABKAIAakEAOgAGIAIgASgCAGpBAToAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQYAKNgJkIARBlbEJNgJgQYOAgIB4DAELIAEoAgAgA2ogAEGYNGooAgAiA0EYdjoAACACIAEoAgBqIANBEHY6AAUgAiABKAIAaiADQQh2OgAGIAIgASgCAGogAzoAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQYMKNgJ0IARBlbEJNgJwQYOAgIB4DAELIAEoAgAgA2ogAEGcNGooAgAiA0EYdjoAACACIAEoAgBqIANBEHY6AAUgAiABKAIAaiADQQh2OgAGIAIgASgCAGogAzoAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQYYKNgKEASAEQZWxCTYCgAFBg4CAgHgMAQsgASgCACADakEAOgAAIAIgASgCAGpBADoABSACIAEoAgBqQQA6AAYgAiABKAIAakEAOgAHIAEgASgCCCICQQRqIgM2AgggASgCBCACQQhqSQRAIARBiQo2ApQBIARBlbEJNgKQAUGDgICAeAwBCyABKAIAIANqQQA6AAAgAiABKAIAakEAOgAFIAIgASgCAGpBADoABiACIAEoAgBqQQE6AAcgASABKAIIIgJBBGoiAzYCCCAAQdA5aiADNgIAIAEoAgQgAkEIakkEQCAEQY0KNgKkASAEQZWxCTYCoAFBg4CAgHgMAQsgASgCACADakEAOgAAIAIgASgCAGpBADoABSACIAEoAgBqQQA6AAYgAiABKAIAakEAOgAHIAEgASgCCCICQQRqIgM2AgggASgCBCACQQhqSQRAIARBkAo2ArQBIARBlbEJNgKwAUGDgICAeAwBCyABKAIAIANqIABBrDRqKAIAIgNBGHY6AAAgAiABKAIAaiADQRB2OgAFIAIgASgCAGogA0EIdjoABiACIAEoAgBqIAM6AAcgASABKAIIIgJBBGoiAzYCCCABKAIEIAJBCGpJBEAgBEGTCjYCxAEgBEGVsQk2AsABQYOAgIB4DAELIAEoAgAgA2ogAEGwNGooAgAiAEEYdjoAACACIAEoAgBqIABBEHY6AAUgAiABKAIAaiAAQQh2OgAGIAIgASgCAGogADoAByABIAEoAghBBGoiADYCCCABKAIAIAVqIAAgBWsiAEEYdjoAACABKAIAIAZqIABBEHY6AAAgASgCACAHaiAAQQh2OgAAIAEoAgAgCGogADoAAEEACyEAIARB0AFqJAAgAAvNBAEHfyMAQYABayIDJAACQCAARQRAIANBvwk2AgQgA0GBsQk2AgBBgYCAgHghAgwBCyABRQRAIANBwAk2AhQgA0GBsQk2AhBBgYCAgHghAgwBCyABKAIAIgJFBEAgA0HBCTYCJCADQYGxCTYCIEGBgICAeCECDAELIABB5DlqIAEoAggiBDYCACABKAIEIARBBGpJBEAgA0HHCTYCNCADQYGxCTYCMEGDgICAeCECDAELIAIgBGpBADoAACAEQQFqIgUgASgCAGpBADoAACAEQQJqIgYgASgCAGpBADoAACAEQQNqIgcgASgCAGpBADoAACABIAEoAggiAkEEaiIINgIIIAEoAgQgAkEIakkEQCADQcoJNgJEIANBgbEJNgJAQYOAgIB4IQIMAQsgASgCACAIakHtADoAACACIAEoAgBqQe8AOgAFIAIgASgCAGpB7wA6AAYgAiABKAIAakHmADoAByABIAEoAghBBGo2AgggACABEOcEIgIEQCADQc0JNgJ0IANBgbEJNgJwDAELAkACQCAAKAIAIgJBAXEEfyAAIAFB5cilswcQkwIiAg0CIAAoAgAFIAILQQJxRQ0AIAAgAUHu6r2bBxCTAiICRQ0AIANB2Ak2AlQgA0GBsQk2AlAMAgsgASgCACAEaiABKAIIIARrIgBBGHY6AAAgASgCACAFaiAAQRB2OgAAIAEoAgAgBmogAEEIdjoAACABKAIA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QQA2AjwLIAAoAkQiAQRAIAAoAiQaIAEQKCAAQQA2AkQLIAAL3gQBBH9BgICAgHghAwJAIABFDQAgAUUNACAAIAEoApgCNgLoAiABKAKcAiEDIABBATYCuAMgACADNgK0AyAAIAEoAgA2AgwgACABKAIENgIQIAAgASgCCDYC7AIgACABKAIMNgLwAiABKAJMIQMgAEEAOwGUBCAAIAM2AuACIABBADsAlwQgACABKALYAyICOgCZBAJAIAIEQCAAQYICNgKcBAwBCyABKAKgA0F/akEBTQRAIABBgQI2ApwEDAELIABBgAI2ApwECyADQQNxIgIEQCAAQYAoIAMgAmsiA0EEaiADQYR4akGAOEsbNgLgAgsgACABKAKMAzYCsAMgACABKALQATYC2AEgACABKALUATYCFCABKALYASEDIABCADcCjAQgACADNgIYIABBwaSg2gQ2AMQDIAAgASkAsAI3AMgDIAAgASkAuAI3ANADIABBADYCoARBASEDAkAgAS0AAEEBcUUNACAAQdgDaiABQcACaiICEIsFIAAoArADBEAgAEH0A2ogAhC9AQsgACABKALcAyICQQEgAkERSRsiAjYCoAQgAkUNACAAQdgAaiEEQQAhAgNAIAQgAkECdCIFaiABIAVqKAJQNgIAIAJBAWoiAiAAKAKgBEkNAAsLIABBADYCpAQgAS0AAEECcUUNACAAQegDaiABQaQDaiABLQDkAxCgAiAAIAEoAuADIgJBASACQRFJGzYCpAQgAkUNACAAQZgBaiECQQAhAANAIAIgAEECdCIDaiABIANqKAKQATYCAEEBIQMgAEEBaiIAIAEoAuADSQ0ACwsgAwuvAgECf0GAgICAeCEDAkAgAEUNACABRQ0AIAAgASgCACICNgIYIAAgASgCBDYCICAAIAEoAiA2AiQgACABKAKEATYCKCAAIAEoAhQiAzYCLCAAIAEoAgg2AjQgACABKAIMNgJYIAAgASgCEDYCfAJ/IANBAnEEQCAAQcGkoNoENgCcASAAIAEpACg3AKABIAAgASkAMDcAqAEgASgCACECCyACQQRxCwRAIAAgACgCeDYCDAsgAkECcQRAIAAtACxBCHEEQCAAQcABaiABQZwBahCfBSABKAIAIQILIAAgACgCVDYCDAtBASEDIAJBAXFFDQAgAUE4aiEBIAAtACxB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KAIAIAEgAyAAQcwhahA8DQELIAEgACgCFEYEQCAAIABByCFqKAIAIAEgAEHAIWogAEHQIWoQPA0BCyAAKAIYIAFHDQAgACAAQcghaigCACABIABBxCFqIABB1CFqEDwaCyACQRBqJAAgBAvHBgEDfyMAQRBrIgIkACACQQA2AgAgACABNgK4IQJAIAENACAAKAIQIgNBf0YNACAAIANB2ClsaiIEQfwhaigCACIDRQ0AIARBgCJqKAIAQQhJDQAgAygABCIEQRh0IARBCHRBgID8B3FyIARBCHZBgP4DcSAEQRh2cnJB4ejA6wZHDQAgAygAACIEQRh0IARBCHRBgID8B3FyIARBCHZBgP4DcSAEQRh2cnJBJEkNACAAQfwgaiADLQAZIAMtABhBCHRyNgIAIABBhCFqIAMtACEgAy0AIEEIdHI2AgALAkAgACABIAAoAgwgAEHIIWogAhBZIgQNACAAQbwhaiEDIAAoAhAhASAAKAIgQQFGBEAgAkIANwMIIAJBADYCBAJAIAFBf0YNACAAIAAoArghIAAoAgwgAkEIaiACQQRqEDcNACAAIAEgAikDCCADEGoLIAAoAhQhASACQgA3AwggAkEANgIEAkAgAUF/Rg0AIAAgACgCuCEgACgCDCACQQhqIAJBBGoQNw0AIAAgASACKQMIIABBwCFqEGoLIAAoAhghASACQgA3AwggAkEANgIEIAFBf0YNASAAIAAoArghIAAoAgwgAkEIaiACQQRqEDcNASAAIAEgAikDCCAAQcQhahBqDAELAkAgAUF/Rg0AIAAgACgCyCEgASADIABBzCFqEDwNACABIAAoAhRGBEAgACAAKALIISABIABBwCFqIABB0CFqEDwNAQsgACgCGCABRw0AIAAgACgCyCEgASAAQcQhaiAAQdQhahA8GgsCQCAAKAIUIgFBf0YNAAJAIAEgACgCEEYEQCAAIAAoAsghIAEgAyAAQcwhahA8DQIgACgCFCABRw0BCyAAIAAoAsghIAEgAEHAIWogAEHQIWoQPA0BCyAAKAIYIAFHDQAgACAAKALIISABIABBxCFqIABB1CFqEDwaCyAAKAIYIgFBf0YNACABIAAoAhBGBEAgACAAKALIISABIAMgAEHMIWoQPA0BCyABIAAoAhRGBEAgACAAKALIISABIABBwCFqIABB0CFqEDwN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goCAgHggABsLmgcBBn8gAEUEQEGBgICAeA8LIAEgAEHc6wgQhQEiAjYCAAJAAkAgAkUNACACQQBBAhCEAUF/Rg0AIAEgAhCHASIDNgIYIANB9dHweksNACACQQBBABCEAUF/Rg0AIAEgACgCgAJB/AZqIgA2AnwgAEGE+R8gASgCABBTIQMgAUGE+R82AnggASADNgJ0AkACQAJAIAEoAgRFBEAgA0FzaiEHIAEoAnwiBCgCAEHSkpmyBEcEQCABKAIkIgBBAWohAiADIABBDWpJDQIDQCAHIABrIQUgAiAEaiEGQQAhAANAIAAgBmooAgBB0pKZsgRHBEAgAEEBaiIAIAVNDQEMBwsLIAAgAmoiAEEBaiECIAMgAEENak8NAAsMAgsgASgCJCEAIAQoAghBwaylggJHBEADQCAAQQFqIQIgAyAAQQ1qSQ0DIAcgAGshBSACIARqIQZBACEAA0AgACAGaigCAEHSkpmyBEcEQCAAQQFqIgAgBU0NAQwHCwsgACACaiEADAAACwALIAFBATYCBCABIABBDGo2AiQLIAEoAggNAQNAIAEQhgciAARAIABBg4CAgHhHDQYgASABKAIkIgBBAWoiAjYCJCABKAJ0IgMgAEENakkNBSADIABrQXNqIQMgASgCfCACaiEEQQAhAAJAA0AgACAEaigCAEHMks2iBUYNASAAQQFqIgAgA00NAAsgASAAIAJqNgIkDAYLIAEgACACajYCJAsgASgCCEUNAAsMAQsgASACNgIkDAILIAEoAgxFBEADQCABKAIkIQAgASgCfCEDAkAgASgCeCICRQ0AIABBDGogAk0NAEGGgICAeA8LAn8CQCAAIANqIgIoAgBBzJLNogVHDQAgAigCCEHt3tnLBkcNACACKAIEIgIgASgCGEsNACABQQA2AiQgAUEBNgIMIAEgAEEIaiIANgIsIAEgACACaiIANgIwIAEoAgAgAEEAEIQBQX9GDQUgASgCDAwBCyABIABBAWoiAjYCJCABKAJ0IgQgAEENakkNBCACIANqIQMgBCAAa0FzaiEEQQAhAAJAA0AgACADaigCAEHMks2iBUYNASAAQQFqIgAgBE0NAAsgASAAIAJqNgIkDAULIAEgACACajYCJEEAC0UNAAsLQYOAgIB4IQAgASgCGCICIAEoAjAiA00NAiABIAIgA2s2AnRB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IANBIGokACAAC/kCACAAQgA3ArQCIABBADYChBwgAEIANwNQIABBADYCPCAAQQA6AIwkIABCADcD4AIgAEIANwPAAiAAQgA3AwAgAEIANwK8JiAAQQA2AoQlIABCADcDsCQgAEIANwPQAiAAQQI2AswCIABCADcD2AIgAEEANgK8AiAAQQA2AjAgAEHEJmpCADcCACAAQgA3AtQkIABBADYCyAIgAEIANwI0IABCADcDuCQgAEEANgLIJCAAQQA2AtAkIABCgICAgBA3A8AkIABBADYCgCUgAEEANgLMJiAAQgA3AtwkIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEHoAmpBAEGcGRArGiAAQYwcakEAQYAIECsaIABB2ABqQQBB3AEQKxogAEGlJGpCADcAACAAQZ0kakIANwAAIABBlSRqQgA3AAAgAEIANwCNJCAAQgA3A0AgAEIANwNIIABBiCVqQQBBtAEQKxogAEHkJGoQsAEgAAvwBAMIfwF+AXwjAEFAaiIBJAACfyAAKAK8AgRAIAAoAswCQQJHBEADQCAAKALkAiECIAAoAuACIgMEQCACIANLBEAgACgC3AIiBCADIARqIAIgA2sQMSAAKALgAiEDIAAoAuQCIQILIABBADYC4AIgACACIANrIgI2AuQCCwJAIAAoArwCQYCAgAEgAmsgACgC3AIgAmoQLiIDRQRAQZDOABAFGgwBCyAAIAAoAuQCIANqIgU2AuQCIAAoAuACIQQgACgC3AIhBgJAIAAQ6AEiB0UNACABIAAoAgA2AjggAUHNEDYCNCABQZnvCTYCMEEFQabvCSABQTBqECogACgCrCUiCEUNACAAKAK0JSICRQ0AIAIgBSAEa0EBajYCCCACIAQgBmo2AgQgAiAHNgIAIAIgACgC2AI2AgwgAiAAKAKwJSAIEQQACwJAIAAoAuACDQAgACgC5AJBgICAAUcNACABIAAoAgA2AiggAUHfEDYCJCABQZnvCTYCIEEFQc7vCSABQSBqECogACAAKALkAjYC4AILIAAgACkD0AIgA618NwPQAiAAAn9B5AAgACkDwAIiCVANABogACkD0AK6IAm6o0QAAAAAAABZQKIiCkQAAAAAAADwQWMgCkQAAAAAAAAAAGZxBEAgCqsMAQtBAAs2AtgCCyAAKALMAkEC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AEL//4OA8P8/NwK8AyAAQQA2AmwgAEIANwJkIABB9ABqQQBBhAIQKxogAEG8F2pCADcCACAAQbQXakIANwIAIABBrBdqQgA3AgAgAEIANwKkFyAAQgA3ApQDIABCADcCnAMgAEIANwKkAyAAQgA3AqwDIABBAEHQABArIgBBxANqQQBB0BMQKxogAEHUF2pBAEGMAhArGiAAQfQZakEANgIAIABB7BlqQgA3AgAgAEIANwLkGSAAQfwZakEAQcwAECsaIABB7BpqQQBBwAEQKxogAAsWACAAQZTICTYCACAAKAIMECggABAoCxsAIABBlMgJNgIAIAAoAgwQKCAAQQA2AgwgAAsmAQF/A0AgAUUEQEEADwsgACABQX9qIgFqIgItAABBLkcNAAsgAgszAQF/QYGAgIB4IQMCQCABRQ0AIAJFDQAgAEUEQEGHgICAeA8LIAAgASACEKQDIQMLIAMLXgECf0GBgICAeCEEAkAgAUUNACACQX9qQR9LDQACQCAAKAJEIgMNACAAQSAQLSIDNgJEIAMNAEGDgICAeA8LQQAhBCADQSAQLyAAKAJEIAEgAhAyIAAgAjYCSAsgBAtAAQF/QYGAgIB4IQMCQCABRQ0AIAJFDQAgACgCACIARQRAQYeAgIB4DwsgACABIAIgACgCACgCGBEBACEDCyADC8kBAQF/IAAoAggiAQRAIAEgASgCACgCEBECABoLIAAoAhAiAQRAIAEgASgCACgCEBECABoLIAAoAhgiAQRAIAEgASgCACgCEBECABoLIAAoAiAiAQRAIAEgASgCACgCEBECABoLIAAoAigiAQRAIAEgASgCACgCEBECABoLIAAoAjAiAQRAIAEgASgCACgCEBECABoLIAAoAjgiAQRAIAEgASgCACgCEBECABoLIABBQGsoAgAiAARAIAAgACgCACgCEBECABoLQQALrwIBAX8gACgCCCIBBEAgASABKAIAKAIEEQUAIABBADYCCCAAQgA3AgALIAAoAhAiAQRAIAEgASgCACgCBBEFACAAQgA3AgwgAEEANgIACyAAKAIYIgEEQCABIAEoAgAoAgQRBQAgAEIANwIUIABBADYCAAsgACgCICIBBEAgASABKAIAKAIEEQUAIABCADcCHCAAQQA2AgALIAAoAigiAQRAIAEgASgCACgCBBEFACAAQgA3AiQg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LGoiASICRQ0AGiACQagHNgIEQQALDQAgACAAKAIwEC0iAjYCLEGDgICAeCEDIAJFDQAgAEGAgIABEC0iAjYCCCACRQ0AIABBgICAATYCDEGJgICAeEEAIABBBGogARC8AxshAwsgAwurAQEBf0GBgICAeCEEAkAgAUUNACACRQ0AIANBgICAEEsNAAJAIAAoAgQNACAAIAEQtQMiBEUNACAAKAIEBEAgAEEANgIECyAAKAIsIgEEQCAAKAIwGiABECggAEEANgIsCyAAKAIIIgEEQCAAKAIMGiABECggAEEANgIICyAAKAIkIgFFDQEgACgCKBogARAoIABBADYCJCAEDwsgACABIAIgAxC0AyEECyAEC2oBAX8gAEHoxgk2AgAgACgCBARAIABBADYCBAsgACgCLCIBBEAgACgCMBogARAoIABBADYCLAsgACgCCCIBBEAgACgCDBogARAoIABBADYCCAsgACgCJCIBBEAgACgCKBogARAoCyAAECgLbwEBfyAAQejGCTYCACAAKAIEBEAgAEEANgIECyAAKAIsIgEEQCAAKAIwGiABECggAEEANgIsCyAAKAIIIgEEQCAAKAIMGiABECggAEEANgIICyAAKAIkIgEEQCAAKAIoGiABECggAEEANgIkCyAACzcAIABCADcCBCAAQejGCTYCACAAQgA3AgwgAEIANwIUIABCADcCHCAAQgA3AiQgAEEsakEsEC8LOAACQCAARQ0AIAFFDQAgAEEANgJAIABBADYChAcgAEEANgIsIAAgASgCDCIBNgIwIAAgATYCRAsLfwEDfyMAQRBrIgEkACABQQo6AA8CQCAAKAIQIgJFBEAgABCXAg0BIAAoAhAhAgsCQCAAKAIUIgMgAk8NACAALABLQQpGDQAgACADQQFqNgIUIANBCjoAAAwBCyAAIAFBD2pBASAAKAIkEQEAQQFHDQAgAS0ADxoLIAFBEGokAAvwBAEGf0GBgICAeCEDAkAgAEUNACABRQ0AIAEoAgBFDQAgAEEANgIAQYKAgIB4IQMgASgCBCICQagHSQ0AIAEoAgBBACACECsaIAEoAgBBB2pBeHEiAiABKAIINgIAIAIgASgCDDYCBEGBgICAeCEDIAEoAhAiBEGAf2pBgP8DSw0AIAIgBDYCCEGDgICAeCEDAkAgASgCGCIEQQVLBEAgBEGAAkcNAgwBCyAEQQFrDgQBAQEBAAsgAiAENgIQAkAgASgCHCIEQYBAakECSQ0AIARB8J1+akECSQ0AIAQNAQsgAiAENgIUIAIgASgCICIDNgIYIAIgASgCJDYCHCABKAIoIQQgAkEBNgIkIAIgBDYCICACQQE2AkggAkKBgICAEDcCNCACIAEoAhQ2AgwCf0EAIANB/SpJDQAaQQQgA0H51QBJDQAaQQhBDCADQfGrAUkbCyEBIAIoAhwhBiACKAIgIQUCQCACAn8CQCACKAIUIgRB8H5qIgdBAUsEQCAEQQRHDQFBIAwCC0HwACAHQQFrDQEaQYABDAELIARBgcAARw0BQaABCyAFQQFHIAEgAUECciAGQQhGG3JyNgJsIAIgBToAWyACIAM2AlAgAkECOgBZIAJBDEELQQpBCUEIQQdBBkEFQQRBA0ECIANBiLEFRiADQYD0A0YbIANBgPcCRhsgA0HE2AJGGyADQYD6AUYbIANBwLsBRhsgA0GirAFGGyADQYD9AEYbIANB4N0ARhsgA0GR1gBGGyADQcA+RhsgA0G2OUYbQQ8gAxs6AFoLIAJCADcC/AYgAkIANwKEByAAIAI2AgBBACEDCyADC4cBAQJ/AkACQAJAAkACQCACKAIUIgNBgEBqIgRBAUsEQCADQfCdfmoiA0EBTQ0BQYOAgIB4DwsgBEEBaw0BDAQLIANBAWsNAgwBCyAAIAEgAhDCAw8LIAAgASACEMEDDwsgACABIAIQwAMPCyACKAIMRQRAIAAgASACEL8DDwsgACABIAIQvgMLtAoBE38jAEEgayIDJAAgA0EANgIcIANCADcADSADQgA3AwggA0EAOgAGIANBADsBBAJAIABFBEBBgYCAgHghBAwBC0GEgICAeCEEIAFBB0kNAEGDgICAeCEEIAAtAAIiBUECdkEPcSIHQQxLDQAgBUECdEEEcSAALQADIgZBBnZyIglFDQAgAC0AASEEIAAtAAUhCiAALQAEIQsgAC0ABiEMIAIgCToAWyACIAc6AFogAiAFQQZ2QQFqOgBZIAIgBEEBcSIFOgBYIAIgB0ECdEGgxglqKAIAIgQ2AkwgAiAMQQNxQQFqIgc6AFwgAiAHQQp0Igc2AlAgAiAEIAtBA3QgBkEDcUELdHIgCkEFdnJsQQN0IAduNgJUIAIgAy8BBDsAXSACIAMtAAY6AF8gAyABQXlqIgdBGHQgB0EIdEGAgPwHcXIgB0EIdkGA/gNxIAdBGHZycjYCHCAFBH8gAEEHagVBfyEEIAdBAkkNASABQXdqIQcgAEEJagshCSACKAJIBEAgAkEANgJICyACKAIEIQsCfyAHQQ1qIgRFBEAgAigClAchBkEADAELIAtBQHIhDCACKAIAIg1BCHYhDyANQRB2IRAgAigCPCIKQRh2IREgCkEIdiESIApBEHYhEyAHQQJqIg5BCHYhFCAOQRB2IRVBASEFA0AgBCACKAKMByIGIAIoAgggBhsiASABIARLIggbIQBBACAIRSAGG0UEQCACQQAgASAEayIGIAYgAUsbNgKMBwsgACACKAKUByIGakEUaiACKAKYB0sEQEGGgICAeCEEDAMLAkAgBQRAIAMgDToAEiADIA86ABEgAyAQOgAQIAMgEToADyADIAo6AA4gAyASOgANIAMgEzoADCADIA46AAsgAyAUOgAKIAMgFToACSADQQg6AAggAyACKAIgQQFHAn9BACACKAIYIghB/SpJDQAaQQQgCEH51QBJDQAaQQhBDCAIQfGrAUkbCyIFIAVBAnIgAigCHEEIRhtyQaABcjoAEyACKAIUQYHAAEYEQCADQQE6ABQLIAIoApAHIAZqIQUCfyAAQQ5PBEAgBSADKQMINwAAIAUgAykADTcABSACIAIoApQHQQ1qIgY2ApQHIABBc2oMAQsgBSADQQhqIAAQKRogAiACKAKUByAAaiIFQQFqNgKUByACKAKQByAFaiAMOgAAIAIoApAHIAIoApQHaiADQQhqIABqQQ0gAGsiBRApGiACIAIoApQHIAVqIgY2ApQHIAAgAigCCCIIakFzaiIFIARNBEAgBQwBCyACIAAgBGsgCGo2AowHIARBc2oLIQAgAUFzaiEBIARBc2ohBAwBCyACIAZBAWo2ApQHIAIoApAHIAZqIAw6AAAgAigClAchBgsgAigCkAcgBmogCSAAECkaIAIgAigClAcgAGoiBjYClAcgACAJaiEJQQAhBSAEIABrIgQNAAsgASAAawshAEGGgICAeCEEIAZBBWogAigCmAdLDQAgAigCkAcgBmohAQJAIABBBU8EQCABIAMoAhw2AAAgAiACKAKMB0F8ajYCjAcgAiACKAKUB0EEajYClAcMAQsgASADQRxqIAAQKRogAiACKAKUByAAaiIBQQFqNgKUByACKAKQByABaiALQcABcjoAACACKAKQByACKAKUB2ogA0EcaiAAakEEIABrIgEQKRogAiACKAKUByABajYClAcgAiAAIAIoAghqQXxqNgKMBwsgAiAHIAIoAvwGakERajYC/AZBACEECyADQSBqJAAgBAu1BgEHfyMAQTBrIgMkACADQgA3AyggA0IANwMgIANCADcDGCADQQA2AhAgA0IANwMIIANCADcDAAJAIABFBEBBgYCAgHghBQwBC0GEgICAeCEFIAFBB0kNACADIAAtAAFBAXEiBzoADCADIAAtAAIiBEECdkEPcSIGOgAOIAMgBEEGdkEBajoADUGDgICAeCEFIAZBDEsNACADIAZBAnRBoMYJaigCACIGNgIAIAMgBEECdEEEcSAALQADIgRBBnZyIgg6AA8gCEUNACAALQAEIQUgAC0ABSEIIAMgAC0ABkEDcUEBaiIJOgAQIAMgCUEKdCIJNgIEIAMgBiAFQQN0IARBA3FBC3RyIAhBBXZybEEDdCAJbjYCCCACIAMoAhA2AlwgAiADKQMANwJMIAIgAykDCDcCVCABQXlqIQQgBwR/IABBB2oFQX8hBSAEQQJJDQEgAUF3aiEEIABBCWoLIQEgAigCSARAIAJBADYCSCACIAMQsgEaCyADIAIoAgQiADYCGCACKAIAIQUgA0EINgIcIAMgBTYCICADIAIoAkA2AiQgAigCPCEGIAMgBEECaiIFNgIsIAMgBjYCKCAAQUByIQcgAigClAchBEEBIQYDQCAEIAUgAigCCCIAIAUgAEkbIgBqQRRqIAIoApgHSwRAQYaAgIB4IQUMAgsCQCAGBEACQCACKAJIBEBBACADQRhqIAIQOiACQQA2AkgMAQtBASADQRhqIAIQOgsCf0EAIAIoAhgiBkH9KkkNABpBBCAGQfnVAEkNABpBCEEMIAZB8asBSRsLIQQgAiACKAKUByIGQQFqNgKUByAGIAIoApAHaiACKAIgQQFHIAQgBEECciACKAIcQQhGG3JBoAFyOgAAIAIgAigClAciBEEBajYClAcgBCACKAKQB2pBAToAACAFQX5qIQUgAEF+aiEADAELIAIgBEEBajYClAcgAigCkAcgBGogBzoAAAsgAigCkAcgAigClAdqIAEgABApGiACIAIoApQHIABq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BAwBCwJ/IAdFBEAgAigClAchBkEADAELIAAgAWohCSAHIQBBASEFA0AgACACKAKMByIGIAIoAgggBhsiASABIABLIggbIQRBACAIRSAGG0UEQCACQQAgASAAayIGIAYgAUsbNgKMBwsgBCACKAKUByIIakEUaiACKAKYB0sEQEGGgICAeCEEDAMLAkAgBQRAIAMgAigCBDYCCCACKAIAIQYgA0EJNgIMIAMgBjYCECADIAIoAiw2AhQgAigCKCEFIAMgAEF1aiIKNgIcIAMgBTYCGCADQRc6ACsgAyAGOgAqIAMgBkEIdjoAKSADIAZBEHY6ACggAyAFOgAmIAMgCjoAIyADIApBCHY6ACIgAyAKQRB2OgAhIANBCToAICADIAVBGHY6ACcgAyAFQQh2OgAlIAMgBUEQdjoAJCACKAIQQYACRgRAIANBAToALCADIAIoAvgGIgU6AC8gAyAFQQh2OgAuIAMgBUEQdjoALQsgAigCkAcgCGohBQJ/IARBEU8EQCAFIAMpAyA3AAAgBSADKQMoNwAIIAIgAigClAdBEGoiBjYClAcgBEFwagwBCyAFIANBIGogBBApGiADLQAIIQUgAiACKAKUByAEaiIGQQFqNgKUByACKAKQByAGaiAFQcABcjoAACACKAKQByACKAKUB2ogA0EgaiAEakEQIARrIgUQKRogAiACKAKUByAFaiIGNgKUByAEIAIoAggiCGpBcGoiBSAATQRAIAUMAQsgAiAEIABrIAhqNgKMByAAQXBqCyEEIAFBcGohASAAQXBqIQAMAQsgAy0ACCEFIAIgCEEBajYClAcgAigCkAcgCGogBUHAAXI6AAAgAigClAchBgsgAigCkAcgBmogCSAEECkaIAIgAigClAcgBGoiBjYClAcgBCAJaiEJQQAhBSAAIARrIgANAAsgASAEawshAEGGgICAeCEEIAZBBWogAigCmAdLDQAgAigCkAcgBmohAQJAIABBBU8EQCABIAMoAjQ2AAAgAiACKAKMB0F8ajYCjAcgAiACKAKUB0EEajYClAcMAQsgASADQTRqIAAQKRogAy0ACCEBIAIgAigClAcgAGoiBEEBajYClAcgAigCkAcgBGogAUHAAXI6AAAgAigCkAcgAigClAdqIANBNGogAGpBBCAAayIBECkaIAIgAigClAcgAWo2ApQHIAIgACACKAIIakF8ajYCjAcLIAIgAigChAdBAWo2AoQHIAIgByACKAL8BmpBBGo2AvwGQQAhBAsgA0FAayQAIAQLowMBBX8jAEEQayIFJAAgBUEANgIMQYGAgIB4IQcCQCAARQ0AIAJFDQBBhICAgHghByABQQVJDQAgASEGIAAhBAJAAkACQANAIAQtAARBAXZBP3EiA0FwakH/AXFBBk8EQCADQQpJDQMgBCAEKAAAIgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZyckEEaiIDaiEEIAYgA2siBkEESw0BDAILC0EBIQQgAiAAIAEgBUEMahCKAUUNAiACIAAgASAFQQxqEIoBRQ0CCyABIQYgACEEAkADQCAELQAEQQF2QT9xIgNBcGpB/wFxQQZPBEAgA0EKSQ0CIAQgBCgAACIDQRh0IANBCHRBgID8B3FyIANBCHZBgP4DcSADQRh2cnJBBGoiA2ohBCAGIANrIgZBBEsNAQwFCwsgAiAAIAEgBUEMahCKAUUEQEEAIQcMBAsgAiAAIAEgBUEMahCKASEHDAMLQQAhByAFQQA2AgwMAgtBACEEIAVBADYCDAsgACAFKAIMIgZqIAEgBmsgBCACEMYDIQcLIAVBEGokACAHC5gJAQR/IwBBIGsiBSQAIAVCADcDGCAFQgA3AxAgBUIANwMIQYSAgIB4IQQCQCABQQVJDQAgBSADKAIEIgY2AgggAygCACEEIAVBCTYCDCAFIAQ2AhAgBSADKAIsNgIUIAMoAighBCAFIAFBBWoiATYCHCAFIAQ2AhgCQCACQQFHBEAgAUUNASAGQUByIQcgAygClAchAkEBIQYDQCACIAEgAygCCCIEIAEgBEkbIgRqQRRqIAMoApgHSwRAQYaAgIB4IQQMBAsCQCAGBEBBASAFQQhqIAMQOiADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqQSg6AAAgAyADKAKUByICQQFqNgKUByACIAMoApAHakEBOgAAIAMgAygClAciAkEBajYClAcgAiADKAKQB2ogAy8B+gY6AAAgAyADKAKUByICQQFqNgKUByACIAMoApAHaiADKAL4BkEIdjoAACADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqIAMoAvgGOgAAIAFBe2ohASAEQXtqIQQMAQsgAyACQQFqNgKUByADKAKQByACaiAHOgAACyADKAKQByADKAKUB2ogACAEECkaIAMgAygClAcgBGoiAjYClAcgACAEaiEAQQAhBiABIARrIgENAAsMAQsgAxDIAyIEDQEgAUUNACAGQUByIQcgAygClAchAkEBIQYDQCACIAEgAygCCCIEIAEgBEkbIgRqQRRqIAMoApgHSwRAQYaAgIB4IQQMAwsCQCAGBEAgBUEANgIUQQEgBUEIaiADEDogBSADKAIsNgIUIAMgAygClAciAkEBajYClAcgAiADKAKQB2pBGDoAACADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqQQE6AAAgAyADKAKUByICQQFqNgKUByACIAMoApAHaiADLwH6BjoAACADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqIAMoAvgGQQh2OgAAIAMgAygClAciAkEBajYClAcgAiADKAKQB2ogAygC+AY6AAAgAUF7aiEBIARBe2ohBAwBCyADIAJBAWo2ApQHIAMoApAHIAJqIAc6AAALIAMoApAHIAMoApQHaiAAIAQQKRogAyADKAKUByAEaiICNgKUByAAIARqIQBBACEGIAEgBGsiAQ0ACwsgAygC9AYEQCAFIAMoAgQ2AgggAygCACEAIAVBADYCFCAFQQk2AgwgBSAANgIQIAUgAygCKDYCGCAFQQU2AhxBhYCAgHghBCADKAIIQQVJDQFBhoCAgHghBCADKAKUB0EZaiADKAKYB0sNAUEBIAVBCGogAxA6IAMgAygClAciAEEBajYClAcgACADKAKQB2pBGDoAACADIAMoApQHIgBBAWo2ApQHIAAgAygCkAdqQQI6AAAgAyADKAKUByIAQQFqNgKUByAAIAMoApAHakEAOgAAIAMgAygClAciAEEBajYClAcgACADKAKQB2pBADoAACADIAMoApQHIgBBAWo2ApQHIAAgAygCkAdqQQA6AAALIAMgAygCnAdBAXI2ApwHQQAhBAsgBUEgaiQAIAQLmAkBBH8jAEEgayIFJAAgBUIANwMYIAVCADcDECAFQgA3AwhBhICAgHghBAJAIAFBBUkNACAFIAMoAgQiBjYCCCADKAIAIQQgBUEJNgIMIAUgBDYCECAFIAMoAiw2AhQgAygCKCEEIAUgAUEFaiIBNgIcIAUgBDYCGAJAIAJBAUcEQCABRQ0BIAZBQHIhByADKAKUByECQQEhBgNAIAIgASADKAIIIgQgASAESRsiBGpBFGogAygCmAdLBEBBhoCAgHghBAwECwJAIAYEQEEBIAVBCGogAxA6IAMgAygClAciAkEBajYClAcgAiADKAKQB2pBJzoAACADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqQQE6AAAgAyADKAKUByICQQFqNgKUByACIAMoApAHaiADLwH6BjoAACADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqIAMoAvgGQQh2OgAAIAMgAygClAciAkEBajYClAcgAiADKAKQB2ogAygC+AY6AAAgAUF7aiEBIARBe2ohBAwBCyADIAJBAWo2ApQHIAMoApAHIAJqIAc6AAALIAMoApAHIAMoApQHaiAAIAQQKRogAyADKAKUByAEaiICNgKUByAAIARqIQBBACEGIAEgBGsiAQ0ACwwBCyADELQBIgQNASABRQ0AIAZBQHIhByADKAKUByECQQEhBgNAIAIgASADKAIIIgQgASAESRsiBGpBFGogAygCmAdLBEBBhoCAgHghBAwDCwJAIAYEQCAFQQA2AhRBASAFQQhqIAMQOiAFIAMoAiw2AhQgAyADKAKUByICQQFqNgKUByACIAMoApAHakEXOgAAIAMgAygClAciAkEBajYClAcgAiADKAKQB2pBAToAACADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqIAMvAfoGOgAAIAMgAygClAciAkEBajYClAcgAiADKAKQB2ogAygC+AZBCHY6AAAgAyADKAKUByICQQFqNgKUByACIAMoApAHaiADKAL4BjoAACABQXtqIQEgBEF7aiEEDAELIAMgAkEBajYClAcgAygCkAcgAmogBzoAAAsgAygCkAcgAygClAdqIAAgBBApGiADIAMoApQHIARqIgI2ApQHIAAgBGohAEEAIQYgASAEayIBDQALCyADKAL0BgRAIAUgAygCBDYCCCADKAIAIQAgBUEANgIUIAVBCTYCDCAFIAA2AhAgBSADKAIoNgIYIAVBBTYCHEGFgICAeCEEIAMoAghBBUkNAUGGgICAeCEEIAMoApQHQRlqIAMoApgHSw0BQQEgBUEIaiADEDogAyADKAKUByIAQQFqNgKUByAAIAMoApAHakEXOgAAIAMgAygClAciAEEBajYClAcgACADKAKQB2pBAjoAACADIAMoApQHIgBBAWo2ApQHIAAgAygCkAdqQQA6AAAgAyADKAKUByIAQQFqNgKUByAAIAMoApAHakEAOgAAIAMgAygClAciAEEBajYClAcgACADKAKQB2pBADoAAAsgAyADKAKcB0EBcjYCnAdBACEECyAFQSBqJAAgBAuzBwECfyMAQSBrIgIkACACIAAoAgQ2AgggACgCACEBIAJBCTYCDCACIAE2AhAgAiAAKAIsNgIUIAIgACgCKDYCGCACIAAoAmggACgCYCAAKAJkampBE2oiATYCHAJ/QYWAgIB4IAEgACgCCEsNABpBhoCAgHggASAAKAKUB2pBFGogACgCmAdLDQAaAkAgACgCNARAQQAgAkEIaiAAEDogAEEANgI0DAELQQEgAkEIaiAAEDoLIAAgACgClAciAUEBajYClAcgASAAKAKQB2pBGDoAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqQQA6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHakEAOgAAIAAgACgClAciAUEBajYClAcgASAAKAKQB2pBADoAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqQQA6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHakEBOgAAIAAgACgClAciAUEBajYClAcgASAAKAKQB2ogAC0AcToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAtAHI6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAALQBzOgAAIAAgACgClAciAUEBajYClAcgASAAKAKQB2pB/wE6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHakHhAToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAoAmhBCHY6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAAKAJoOgAAIAAoApAHIAAoApQHaiAAQfAEaiAAKAJoECkaIAAgACgClAcgACgCaGoiAUEBajYClAcgACgCkAcgAWpBAToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAoAmBBCHY6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAAKAJgOgAAIAAoApAHIAAoApQHaiAAQfAAaiAAKAJgECkaIAAgACgClAcgACgCYGoiAUEBajYClAcgACgCkAcgAWpBAToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAoAmRBCHY6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAAKAJkOgAAIAAoApAHIAAoApQHaiAAQfACaiAAKAJkECkaIAAgACgClAcgACgCZGo2ApQHIAAgACgCnAdBBHI2ApwHQQALIQEgAkEgaiQAIAELnQEBA39BgYCAgHghAwJAIAFFDQAgACgCCCIERQ0AIAAoAhAiAyACaiIFIAAoAgxLBH8gBUGACGoiAxAtIgRFBEBBg4CAgHgPCyAEIAMQLyAEIAAoAgggACgCEBAyIAAoAgwaIAAoAggQKCAAIAM2AgwgACAENgIIIAAoAhAFIAMLIARqIAEgAhAyIAAgACgCECACajYCEEEAIQMLIAMLBABCAAszAQF/QYGAgIB4IQMCQCABRQ0AIAJFDQAgASAAKAIUNgIAIAIgACgCGDYCAEEAIQMLIAMLIgAgACgCBCIARQRAQYGAgIB4DwtBg4CAgHhBACAAENMDGwtsAQF/QYGAgIB4IQQCQCABRQ0AIAJFDQAgA0UNACAAKAIIIgRFBEBBh4CAgHgPCyACIAQ2AgAgAyAAKAIQNgIAIAEgACgCHDYCBCABIAAoAiQ2AgggASAAKAIgNgIMQQAhBCAAQQA2AhALIAQLRwEBfwJAIABFDQAgAUUNACAAKAIAIgJFDQAgASACIAAoAgQQyQMNACABIAAoAhw2AhggASAAKAIgNgIgIAEgACgCDDYCJAsLxQIBAn9BgYCAgHghAgJAIAFFDQAgARBSIgINACAAQeUBNgIoIAAgADYCLCAAQQE2AjAgACABKAIQNgJkIAEoAhQhAiAAQQE2AmAgACACNgJ8IAAgAkEAR0EBdDYCaCAAIAEoAnA2AnggACABLQBoNgJsIAAgASgCbDYCdCABLQBpIQIgAEGAgPoBNgJYIAAgAjYCcCAAIAEoAgA2AlwgACABLwFINgJQIAAgAS8BSjYCVEGBgICAeCECIABBKGoiAxDbAw0AIAAgACgCOBAtIgE2AjRBg4CAgHghAiABRQ0AIABBQGsgACgCRBAtIgE2AgAgAUUNACAAIAE2AhQgACAAKAJMEC0iATYCSCABRQ0AIABBgICAARAtIgE2AgggAUUNACAAQYCAgAE2AgxBiYCAgHhBACADIABBBGoQ2gMbIQILIAIL+wEBAn8jAEEgayIEJABBgYCAgHghBQJAIAFFDQAgAkUNACADRQ0AAkAgACgCBA0AIAAgARDPAyIFRQ0AIAAQtQEMAQsgBEIANwMYIARCADcDECAEQgA3AwhBgYCAgHghBSADQYCAgBBLDQAgBCADNgIMIAQgAjYCCEEAIQVBACEDIAAgASgCJEH/X2oiAkEHTQR/IAJBAnQiAkGAxglqKAIAIQMgAkHgxQlqKAIABUEACzYCHCAEIAM2AhAgBCABLwFINgIUIAQgAS8BSjYCGCAEIAEoAiw2AhxBiYCAgHhBACAEQQhqIAAoAgQQ1gMbIQULIARBIGokACAFCxQAIABBlMUJNgIAIAAQtQEgABAoCxIAIABBlMUJNgIAIAAQtQEgAAu1BAEEfyMAQUBqIgEkACAABH8gACAAKAKIASICIAAoAowBIgMgAiADSxsiAjYCwAFBACEDIAAoAngiBARAIAAoAqABIAAoAqQBakEAIAQQKxogACAAKAJ4IgIgACgCpAFqNgKkASACQf//A3EhAyAAKALAASECCyAAQQA2AnggACADNgKEASAAKAKgAUGCAToAACAAKAKgAUEAOwABIAAoAqABQZEBOgADIAAoAqABQd0AOgAEIAAoAqABIAAoAoQBOwAFIAAoAqABIAI2AAcgACgCoAFBATsACyAAKAKgASAALQCAAUE/cUGAAXI6AA0gACAAKAKwAUEBaiICNgKwASABQQA2AjggAUIANwMwIAFCADcDKCABQgA3AyAgAUIANwMYIAFCADcDECABQgA3AwggAUIANwMAIAAtANQBRQRAIAEgACgCDDYCACAAKAIUIQIgAUEANgIIIAEgAjYCBCABIAAoAgQgACgCABEEACAAQQE6ANQBIAAoArABIQILIAEgACgCoAE2AgAgACgCpAEhAyABIAI2AhAgAUIBNwMIIAEgAzYCBCAAKAIIRQRAIAEgACgCwAE2AiAgASAAKAK4ATYCGCABIAAoArwBNgIcIAEgACgCxAE2AiQgASAAKALIATYCKCABIAAoAtABNgIwIAEgACgC2AE2AjgLIAEgACgCtAE2AhQgASAAKAIEIAAoAgARBAAgAEEANgKkAUEABUGAgICAeAshAiABQUBrJAAgAgsEAEEACywBAX8jAEEQayIAJAAgAEHCCDYCDEGEGCAAKAIMQQRBAEF/EAMgAEEQaiQAC4EBAQJ/QYKAgIB4IQICQCAARQ0AIAFFDQAgACgCAEUNAEGEgICAeCECIAEoAghBAUsNACAAKAIIQX9qIgNBA0sNAAJAAkACQCADQQFrDgMBAQIACyAAKAIMIQIgASAAKAIQNgIsIAEgAjYCKAsgACABENgDDwsgACABENcDIQILIAILjwMCBn8BfUGCgICAeCECAkACQCAARQ0AIAFFDQAgACgCAEUNACABQUBrKAIARQRAQQAPCyABLQBsRQRAIAFBADYCFCABEIsBBEAgARCLAQ8LIAFBAToAbAsgASgCNEFhaiIDIAAoAgQiBCAEIANLGyIDRQ0AIAEoAogBIQYgBCADbiIEQQFLIQICfyAAKgIUIASzlSIIQwAAgE9dIAhDAAAAAGBxBEAgCKkMAQtBAAshBSAEQQEgAhshB0EAIQIDQCABIAEoAnRBAWo2AnQgACADIAEQYA0CIAAgACgCACADajYCACABIAEoAogBIAVqNgKIASACQQFqIgIgB0cNAAsCQCAAKAIEIgUgAyAEbCICTQ0AIAEgASgCdEEBajYCdCAAIAUgAmsgARBgRQ0AIAAgACgCBCACayABEGAPCyABAn8gACoCFCAGs5IiCEMAAIBPXSAIQwAAAABgcQRAIAipDAELQQALNgKIAUEAIQIgAyABKAKQAU0NACABIAM2ApABCyACDwsgACADIAEQYAubBgIKfwF9QYKAgIB4IQgCQCAARQ0AIAFFDQAgACgCAEUNAEEAIQggASgCOEUNACABLQBsRQRAIAFBADYCFCABEIsBBEAgARCLAQ8LIAFBAToAbAsgASABKAJwQQFqNgJwIAEoAowBIQQgASgCsAEhBSAAQQEgARBgBEAgAEEBIAEQYA8LIAECfwJAAkACQCAAKAIIQQFHDQAgASgCCA0AIAEoArABIAVrQQFqIQkCQCABKALEAQ0AIAEoAsgBDQAgASAFNgLEASABIAlB//8DcTYCyAELAkAgASgClAEiAiAETw0AA0AgAiABKALMAUkNASABKALEASEKIAEoAsgBIgtB//8DcSIDIAEoAtgBIgZLBEAgASADNgLYASADIQYLIAEoApgBIAEoArwBIgdNDQMgASgC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AghFBEAgACABEOADIQQgACgCCCEBIAQEQCABBEAgAEEANgIICyAAKAIgIgEEQCABECggAEEANgIgCyAAKAL4ASIBBEAgARAoIABBADYC+AELIAAoAigiAUUNAiAAKAIkGiABECggAEEANgIoIAQPC0EAQYGAgIB4IAEgAEEsahDvA0EBRhsPCyAAIAEgAiADEN8DIQQLIAQLYAEBfyAAQaDDCTYCACAAKAIIBEAgAEEANgIICyAAKAIgIgEEQCABECggAEEANgIgCyAAKAL4ASIBBEAgARAoIABBADYC+AELIAAoAigiAQRAIAAoAiQaIAEQKAsgABAoC2UBAX8gAEGgwwk2AgAgACgCCARAIABBADYCCAsgACgCICIBBEAgARAoIABBADYCIAsgACgC+AEiAQRAIAEQKCAAQQA2AvgBCyAAKAIoIgEEQCAAKAIkGiABECggAEEANgIoCyAAC0AAIABBoMMJNgIAIABCADcC+AEgAEEAOgAEIABCADcCCCAAQgA3AhAgAEIANwIYIABBADYCICAAQSRqQdQBEC8LnAoCBH8BfkGAgICAeCEEAkAgASgCMCICRQ0AIAEoAjgiA0UNACABKAI0IgUgA08NACACIAVqIgNCADcABSADQRI6AAQgA0EANgAAIANBCjoAESADQYCACDYADSADQZjCCSkAADcAEiADQaDCCS8AADsAGiADQQg6ABwgA0Lk6smLxq7at+4ANwAjIANBgBA7ACEgACgC0AEhAiADQQA6ACsgA0GACjsANCADIAK4RAAAAAAAQI9Ao70iBjwAMyADIAZCCIg8ADIgAyAGQhCIPAAxIAMgBkIYiDwAMCADIAZCIIg8AC8gAyAGQiiIPAAuIAMgBkIwiDwALSADIAZCOIg8ACwgA0GjwgkoAAA2ADYgA0GnwgktAAA6ADogACgCSCECIANBgAw7AEQgA0EAOgA7IAMgAri9IgY8AEMgAyAGQgiIPABCIAMgBkIQiDwAQSADQUBrIAZCGIg8AAAgAyAGQiCIPAA/IAMgBkIoiDwAPiADIAZCMIg8AD0gAyAGQjiIPAA8IANBrcIJLwAAOwBKIANBqcIJKAAANgBGIAAoAkwhAiADQYAaOwBVIANBADoATCADIAK4vSIGPABUIAMgBkIIiDwAUyADIAZCEIg8AFIgAyAGQhiIPABRIAMgBkIg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QQh2OgAaIAcgAigC5Ak6ABsgBCAGQRxqIgZqIAJB5AFqIAIoAuQJECkaIAIoAswKIgcgAigC5AkgBmoiBiADKAI0amogAygCOE8NAiAEIAZqIgUgB0EYdjoAACAFIAJBzgpqLwEAOgABIAUgAigCzApBCHY6AAIgBSACKALMCjoAAyAEIAZBBGoiBWogAkHoCWogAigCzAoQKRogAigCzAogBWoMAQsgAygCMCADKAI0aiEEQQALIQYgBCAGaiABQQh0QYCA/AdxIAFBGHRyIAFBCHZBgP4DcSABQRh2cnI2AABBgYCAgHghBSAGQQRqIgcgAWoiBiADKAI0aiADKAI4QQRqTw0AIAQgB2ogACABECkaIAMoAggEQCACIAMoAjQgBmogAigC5AsiAGsiAUF8aiIENgLMASAEQQtJDQEgACADKAIwaiABQXFqIgBBEHY6AAUgAigC5AsgAygCMGogAEEIdjoABiACKALkCyADKAIwaiAAOgAHIAJBADYC5AsLIAMgAygCNCAGajYCNEEBIQULIAULtgQBBH9BgICAgHghAwJAIABFDQAgAUUNACAAKALMASEDIAEoAjAgASgCNGoiAkIANwAFIAJBCToABCACIAM6AAMgAiADQQh2OgACIAIgA0EQdjoAASACIANBGHY6AAAgAkEAOwANIAEoAgwhAyACQQM6ACogAkGANjsAKCACQt3gg+Dfn778ADcAICACQQA6AB8gAkIANwAXIAJB4AA6ABYgAkGBAjsAFCACQQA2ABAgAkEcQSwgAxs6AA9BgYCAgHghAyABKAI0IAAoAsgLakEwaiABKAI4QQRqTw0AIAJBAToALSACQSA7ACsgAiAAKALIC0EIdjoALiACIAAoAsgLOgAvIAJBMGogAEHkCmogACgCyAsQKRogACgC5AkgACgCyAsiBEE1aiIFIAEoAjRqaiABKAI4QQRqTw0AIAIgBGoiBEEBOgAyIARBITsAMCAEIAAoAuQJQQh2OgAzIAQgACgC5Ak6ADQgAiAFaiAAQeQBaiAAKALkCRApGiAAKALMCiAAKALkCSAFaiIEQQVqIgUgASgCNGpqIAEoAjhBBGpPDQAgAiAEaiIEQSI7AAAgBEEBOgACIAQgACgCzApBCHY6AAMgBCAAKALMCjoABCACIAVqIABB6AlqIAAoAswKECkaIAAgACgC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NwIIIABCADcCECAAQgA3AhggAEIANwIgIABBADYCKCAAQSxqQZQBEC8gAEHAAWpBDBAvC70BAQJ/IwBBIGsiAyQAQYGAgIB4IQICQCAARQ0AIAFFDQAgAAJ9QwAAyEEgACgC8AEiAkUNABpEAAAAAABAj0AgArggACgC4AG4o6O2CzgC3AEgABCDAiICBEAgA0HKATYCEEGewQkgA0EQahBQDAELIAAQggIiAgRAIANBywE2AgBBnsEJIAMQUAwBCyABIABB9AFqNgIAIAAoAtgBIQAgAUGMwAA2AgQgASAANgIIQQAhAgsgA0EgaiQAIAILagECf0GBgICAeCECAkAgAEUNACABRQ0AIAAoAgQiA0UNAEEAIQIgA0EAIAAoAgAQKxogACgCBCAAQQhqQYwBECkiAEEBNgKUASAARAAAAAAA+fVAIAAoAki4o7Y4AtwBIAEgADYCAAsgAguFAgEDfyMAQSBrIgMkAEGBgICAeCECAkAgAEUNACABRQ0AIAFBADYCJAJAIAEoAgBBA0YEQCAAQQE2AowBDAELIAAoAowBDQBBhYCAgHghAgwBCyAAKAKQAUUEQCAAQQw2AqABAkAgABCDAgRAIANBIzYCEEGewQkgA0EQahBQDAELIAAQggIEQCADQSQ2AgBBnsEJIAMQUAwBCyAAKALYASICIAEoAiQiBGogASgCKEsNACABKAIgIARqIABB9AFqIAIQKRogASAAKALYASICIAEoAiRqNgIkIABBADYC2AEgACACNgKYAQsgAEEBNgKQAQsgACABEIEEIQILIANBIGokACACC+ECAQJ/IABBgMIAaiEEAkACQCAAKALgAQ0AIAAoAuQBDQAgACgC6AENACAAKALUASIDQQhqQYCAwAFLDQEgAyAEakLpyOGLAzcAACAAQvz///8PNwK0ASAAIAAoAtQBQQhqNgLUAQsgAUEFSwRADwsCfwJAAkACQCABQQRrDgIBAgALIABBsOCQmwY2AqwBIAAgAUEDRkEEdDYCsAEgAEHgAWoMAgsgAEKw4tyThgI3AqwBIABB5AFqDAELIABCsOSg2wY3AqwBIABB6AFqCyIBIAEoAgBBAWo2AgAgACgCqAEhASAAQQA2AqgBIAAoArgBIQMgACACNgK4ASAAKAKkASECIAAgAUEBRjYCpAEgACAAKAK0ASACIANqakEIajYCtAEgACgC1AEiAUEQakGAgMABSw0AIAEgBGoiASAAKQCsATcAACABIAApALQBNwAIIAAgACgC1AFBEGo2AtQBCwuCBAIIfwF8IwBBIGsiBCQAAkAgASgCACIHQQVLBEBBgoCAgHghAgwBCyABKAIYIQggASgCHCEFQbDi3JMGIQMCQAJAAkAgB0EEaw4CAgEACyAABEACQCABKAIIIgIgACgC7AEiA08EQCACIANrIgNB5QBJDQELIAAoAki4RAAAAAAAgFZAoyIKRAAAAAAAAPBBYyAKRAAAAAAAAAAAZnEEQCAKqyEDDAELQQAhAwsgACACNgLsASAAIAAoAvABIANqNgLwAUGw4JCbBiEDDAILIARB9gU2AhBBhsEJIARBEGoQUCAEQaUFNgIAQeDACSAEEFBBgYCAgHghAgwCC0Gw5KDbBiEDCyABKAIgIgZFBEBBgYCAgHghAgwBC0GDgICAeCECIAEoAiQiCUEIaiABKAIoSw0AIAYgCWoiBiAFNgAEIAYgAzYAACABIAEoAiRBCGoiAzYCJCADIAVqIAEoAihLDQAgASgCICADaiAIIAUQKRogASABKAIkIAVqIgI2AiQgAkEBcQRAIAEgAkEBajYCJCABKAIgIAJqQQA6AAAgAEEBNgKoASABKAIkIQILAkAgACgClAEEQCAAQQA2ApQBIAAgACgCoAEgAiAAKAKYAWtqNgKgAQwBCyAAIAAoAqABIAJqNgKgAQsgACAHIAUQgARBACECCyAEQSBqJAAgAgvwBQEDfwJ/AkACQAJAAkAgACgCgAEiBEG/uwFMBEAgBEHf3QBMBEAgBEG2OUYNBSAEQcA+Rg0EQQggBEGR1gBHDQYaQQoMBgsgBEHg3QBGDQIgBEGA/QBGDQFBCCAEQaKsAUcNBRpBBwwFCwJAAkAgBEH/9gJMBEAgBEHAuwFGDQIgBEGA+gFGDQFBCCAEQcTYAkcNBxpBBAwHCwJAIARBh7EFTARAIARBgPcCRg0BQQggBEGA9ANHDQgaQQIMCAtBACAEQYDuBUYNBxpBCCAEQYixBUcNBxpBAQwHC0EDDAYLQQUMBQtBBgwEC0EIDAMLQQkMAgtBCwwBC0EMCyEGAkACQAJAAkACQAJAIANBfWoiBUEhSwRAIANB8H5qIgRBAUsEQCADQbEBRw0CQcegASEEDAcLIARBAWtFBEBBByEEDAcLQQYhBAwGC0HW6AAhBCAFQQFrDiEAAAAAAAAAAAAAAAEFAAAAAAAAAAAAAAQAAAAAAAAAAAMCC0EAIQQMBAtB/wEhBAwDC0HQACEEDAILQcOsASEEDAELQbTsACEECyABIAQ7AQAgASAAKAJ8OwECIAEgACgCgAE2AgQgASAAKAKIATsBDiAAKAKEASEFQQAhBCABQQA7ARAgASAFQQN2NgIIAkAgA0F9aiIFQQxLBEAgA0HwfmpBAk8NASACQQE2AjQgAkKBgICAgOgHNwIcIAFBATsBDEEUDwsCQAJAIAVBAWsODAICAgICAgICAgICAQALIAJBgAk2AhwgAiAAKAKAATYCICABQQI7ARQgAUEWOwEQIAFBgAk7AQwgASAAKAKEATYCGCAAKAJ8IQAgAUIANwIkIAFBEDsBIiABQYCABDYBHiABQQFBCCAAQQFLGzsBHEEsDwsgAkGACDYCHCAAKAKAASEDIAJBATYCECACIAM2AiAgASAGQQF2QRByOgAUIAFBAjsBECABQYAgOwEMIAEgACgCfEEDdCAGQQd0cjoAFUEZIQQLIAQLygUBCH8jAEFAaiIBIgNCADcDOCABQgA3AzAgAUEoaiIFQgA3AwAgAUIANwMgIAFCADcDGCABQgA3AxAgAUIANwMIIAFCADcDAAJAIAAoAtgBIgZBDGpBjMAASw0AIABB9AFqIgQgBmoiAkHz6MnjBjYACCACQsySzaKF/wE3AAAgACAAKALYASIHQQxqIgI2AtgBIAFBADYCGCABQgA3AxAgAULz6MnDhgc3AwAgAUEANgIkIAFCADcCHCABQvDkpZuHytSk1gA3AwggACgC6AEhCCADQQA2AjggAUIANwMwIAFBgIDAADYCLCABIAg2AiggASAAKAIoOwE8IAEgACgCLDsBPiAAIAIgBWogAWs2AswBIAdBzABqQYzAAEsNACACIARqIgIgASkDADcAACACIAEpAzg3ADggAiABKQMwNwAwIAIgASkDKDcAKCACIAEpAyA3ACAgAiABKQMYNwAYIAIgASkDEDcAECACIAEpAwg3AAggACAAKALYASIBQUBrIgI2AtgBIAFByABqQYzAAEsNACACIARqQvPoybOGBTcAACAAIAAoAtgBIgFBCGoiBTYC2AEgAUEwakGMwABLDQAgACgCLCECIAAoAighAyAEIAVqIgFCADcAGCABQoGA4ICAytSk1gA3AAwgASACNgAIIAEgAzYABCABQSg2AAAgAUIANwAgIAEgAiADbEEYbEEDdTYAFCAAIAAoAtgBQShqIgE2AtgBAkAgASAGayICQQhqQYzAAEsNACABIARqIgNB+A8gAmsiATYABCADQcqqudoENgAAIAAgACgC2AEiAkEIaiIDNgLYASABRQ0AIAAgAkEJajYC2AEgAyAEakEAOgAAQQEhAiABQQFGDQADQCAAIAAoAtgBIgNBAWo2AtgBIAMgBGpBADoAACACQQFqIgIgAUcNAAsLIAAgBkGAEGo2AtgBCwuzBgEGfyMAQfAAayICJAAgACgC2AEhBiACQgA3A2ggAkIANwNgIAJCADcDWCACQgA3A1AgAkIANwNIIAJBQGtCADcDACACQgA3AzggAkIANwMwIAJBADYCKCACQgA3AyAgAkIANwMYIAJCADcDECACQgA3AwggAkIANwMAAkAgBkEMakGMwABLDQAgAEH0AWoiBCAGaiIBQfPoyeMGNgAIIAFCzJLNooX/ATcAACAAIAAoAtgBQQxqNgLYASACQeHqkZsHNgI4IAJC8+jJw4YHNwMwAkACQAJAAkACQCAAKAJ0IgNBfWoiBUEhSwRAIANB8H5qIgFBAUsEQCADQbEBRw0CQcegqeoEIQEMBgsgAUEBa0UEQEEHIQEMBgtBBiEBDAULQdbowOoEIQECQCAFQQFrDiEBAQEBAQEBAQEBAQIFAQEBAQEBAQEBAQABAQEBAQEBAQQDC0G07MjBBCEBDAQLIAJBADYCPAwEC0H/ASEBDAILQdAAIQEMAQtBw6yVwgQhAQsgAiABNgI8IAAoAuQBIQEgAkKA4ICAcDcCXCACIAE2AlggACACIAJBMGogAxCCBCEDIAAgACgC2AEiASACaiACa0EoajYCyAEgASADakHIAGpBjMAASw0AIAEgBGoiASACKQMwNwAAIAEgAikDaDcAOCABIAIpA2A3ADAgASACKQNYNwAoIAEgAikDUDcAICABIAIpA0g3ABggASACQUBrKQMANwAQIAEgAikDODcACCAAIAAoAtgBQUBrIgE2AtgBIAEgBGoiASADNgAEIAFB8+jJswY2AAAgACAAKALYAUEIaiIBNgLYASABIARqIAIgAxApGiAAIAAoAtgBIANqIgE2AtgBAkAgASAGayIDQQhqQYzAAEsNACABIARqIgFB+A8gA2siAzYABCABQcqqudoENgAAIAAgACgC2AEiAUEIaiIFNgLYASADRQ0AIAAgAUEJajYC2AEgBCAFakEAOgAAQQEhASADQQFGDQADQCAAIAAoAtgBIgVBAWo2AtgBIAQgBWpBADoAACABQQFqIgEgA0cNAAsLIAAgBkGAEGo2AtgBCyACQfAAaiQAC48IAgd/AX0jAEFAaiIBQgA3AzggAUIANwMwIAFCADcDKCABQgA3AyAgAUIANwMYIAFCADcDECABQgA3AwggAUIANwMAIAAoAtgBIgZBDGpBjMAASwRADwsgAEH0AWoiBCAGaiICQfPoyeMGNgAIIAJCzJLNooX/ATcAACAAIAAoAtgBIgdBDGoiAzYC2AEgAUH20pGbBzYCCCABQvPoycOGBzcDAAJAAkAgACgCECICQX1qIgVBIUsEQCACQfB+aiIFQQFLBEAgAkGxAUcNA0HHoKnqBCECDAILIAVBAWtFBEBBByECDAILQQYhAgwBC0HW6MDqBCECAkACQAJAAkAgBUEBaw4hBQUFBQUFBQUFBQUABAUFBQUFBQUFBQUDBQUFBQUFBQUCAQtB/wEhAgwDC0HQACECDAILQcOslcIEIQIMAQtBtOzIwQQhAgsgAUEANgIYIAFCADcDECABIAJBCHRBgID8B3EgAkEYdHIgAkEIdkGA/gNxIAJBGHZyciIFNgIMAn8gACoC3AEiCItDAAAAT10EQCAIqAwBC0GAgICAeAshAgJAIAggArKTu0QtQxzr4jYaP2NBAXNFBEAgAUEBNgIcDAELIAFBwIQ9NgIcIAhDACR0SZQhCAsgAUEANgIkIAECfyAIQwAAgE9dIAhDAAAAAGBxBEAgCKkMAQtBAAs2AiAgACgC4AEhAiABQQA2AjggAUIANwMwIAFBgIDAADYCLCABIAI2AiggASAAKAIoOwE8IAEgACgCLDsBPiAAIAFBKGogA2ogAWs2AsQBIAdBzABqQYzAAEsEQA8LIAMgBGoiAiABKQMANwAAIAIgASkDODcAOCACIAEpAzA3ADAgAiABKQMoNwAoIAIgASkDIDcAICACIAEpAxg3ABggAiABKQMQNwAQIAIgASkDCDcACCAAIAAoAtgBIgFBQGsiAjYC2AEgAUHIAGpBjMAASwRADwsgAiAEakLz6MmzhgU3AAAgACAAKALYASIBQQhqIgc2AtgBIAFBMGpBjMAASw0AIAAoAiwhAiAAKAIoIQMgBCAHaiIBQgA3ABggASAFNgAQIAFBgYDgADYADCABIAI2AAggASADNgAEIAFBKDYAACABQgA3ACAgASACIANsQRhsQQN1NgAUIAAgACgC2AFBKGoiATYC2AECQCABIAZrIgJBCGpBjMAASw0AIAEgBGoiA0H4DyACayIBNgAEIANByqq52gQ2AAAgACAAKALYASICQQhqIgM2AtgBIAFFDQAgACACQQlqNgLYASADIARqQQA6AABBASECIAFBAUYNAANAIAAgACgC2AEiA0EBajYC2AEgAyAEakEAOgAAIAJBAWoiAiABRw0ACwsgACAGQYAQajYC2AELC/oDAwR/AX0BfCMAQUBqIgFCADcDOCABQgA3AzAgAUIANwMoIAFCADcDICABQgA3AxggAUIANwMQIAFC4eylw4YHNwMAIAFCADcDCAJAIAAqAtwBIgW7IgZEje21oPfGsL5kQQFzDQAgBkSN7bWg98awPmNBAXMNACAAQYCAoI4ENgLcAUMAAMhBIQULIAFBkBI2AhQgAUIANwIMIAECf0MAJHRJIAWVIgVDAACAT10gBUMAAAAAYHEEQCAFqQwBC0EACzYCCCAAKALgASEDIAFBADYCHCABIAM2AhgCQCAAKAIAIgRBAXFFDQAgACgCBEUNACADQQBHIQILAkAgBEECcUUNACAAKAIIRQ0AIAIgACgC5AFBAEdqIQILIAFBGGohAwJAIARBBHFFDQAgACgCDEUNACACIAAoAugBQQBHaiECCyABQYCAwAA2AiQgASACNgIgIAEgACgCKDYCKCABIAAoAiw2AiwgACADIAAoAtgBIgJqIAFrNgLAASACQUBrQYzAAE0EfyAAQfQBaiACaiICIAEpAwA3AAAgAiABKQM4NwA4IAIgASkDMDcAMCACIAEpAyg3ACggAiABKQMgNwAgIAIgASkDGDcAGCACIAEpAxA3ABAgAiABKQMINwAIIAAgACgC2AFBQGs2AtgBQQAFQYOAgIB4CwtKAAJAIAFBe2oiAUECSw0AAkACQCABQQFrDgICAQALIAAtAIMCBEAgAEEAOgCDAkEADwsgAEEBOgCDAkEADwsgAEEBOgCEAgtBAAsUACAAIAI2AsQCIAAgATYCwAJBAAsQACAAKAIIIAAoArgCEJoECxoAIAAgASgCADYCiAIgACABKAIENgKMAkEAC6ECAQR/QYGAgIB4IQYCQCACRQ0AIAMoAgAiBEUNAEEAIQYgBEH9/w9JDQAgAyAEQfz/D25BAnQgBGoiBTYCACAFIAAoAihLBEAgACAAKAI8IgcEfyAHECggAEEANgIoIABBADYCPCADKAIABSAFCxAtIgU2AjwgBUUEQEGDgICAeA8LIAAgAygCADYCKAsgAiAEQfz/DyAEQfz/D0kbIgBBAnY6AAMgAiAAQQp2OgACIAQgAEEEaiIDayIARQ0AIAFBCHYhBCACIANqIQIDQCACQQRqIAIgABCVASACIAE6AAEgAiAEOgAAIAIgAEH8/w8gAEH8/w9JGyIDQQJ2OgADIAIgA0EKdjoAAiACIANqQQRqIQIgACADayIADQALCyAGC4sDAQN/QYGAgIB4IQMCQCABRQ0AIAJFDQAgACgCCCIERQ0AIAAoAjAiBUUNAAJAIAAtAIMCRQ0AIAAgBTYC6AEgACAAKAIUNgLsASAAIAAoAiw2AvQBAkAgBCAAQegBaiIEEIUCIgNFDQAgA0GDgICAeEcEQEGJgICAeA8LA0AgACgCMCIDBEAgACgCFBogAxAoIABBADYCMAsgACgCFEEBdCIDRQRAQYmAgIB4DwsgACADEC0iAzYCMCADRQRAQYOAgIB4DwsgACADNgLoASAAIAAoAhRBAXQiAzYC7AEgACADNgIUIAAoAgggBBCFAiIFQYOAgIB4RwRAQYmAgIB4IQMgBQ0EDAILQYaAgIB4IQMgACgCFEH///8fTQ0ACwwCCwJAIAAoAkBBAUcNACAAKALcAUUNACAALQCBAkUNACAAIAAoAvwBIAAoAvgBIAAoAvABamo2AvABCyABIAAoAugBNgIAIAIgACgC8AE2AgAgACgCLEEBRw0AIABBAToAggILQQAhAwsgAwsaACAAKAIsQQFGBEAgABBwCyAAQQE2AixBAAtzAQN/QYGAgIB4IQQCQCABRQ0AIAJFDQAgA0UNAEGHgICAeCEEIAAoAjQiBUUNACAAKAIQIgZFDQAgAiAFNgIAIAMgBjYCACABIAAoAhg2AgQgASAALQAENgIIIAEgACgCHDYCDEEAIQQgAEEANgIQCyAEC2UBAn8jAEGAAWsiAiQAIAEoAsACIgMEQCACQRBqQQBB8AAQKxogAiAAKAIANgIAIAAoAgghACACQQQ2AhggAkKNgBQ3AwggAiAANgIEIAIgASgCxAIgAxEEAAsgAkGAAWokAEEAC4YHAQh/IwBBEGsiBSQAIAMoAgAhCSAFQQA2AgxBgYCAgHghBAJAIAFFDQAgCUF/akH///8ASw0AAkAgACgCPCIHRQRAIAAgCUEgaiIEEC0iBzYCPCAHRQRAQYOAgIB4IQQMAwsgACAENgIoDAELIAlBIGoiBCAAKAIoTQ0AIAcQKCAAQQA2AjwgACAEEC0iBzYCPCAHRQRAQYOAgIB4IQQMAgsgACAENgIoC0EAIQQCQAJAIAEoAnRBeGoiBkEFSw0AQQAhByAGQQFrDgQAAAAAAQtBAiEHCyAHIAlBAnYgCUEDcSIHQQBHamohBgJAIAEoAnQiCEEHRgRAIAEoAiBFDQELIAEoAnghBAsgACgCPCEKIAVBATYCDCAKIAhBCHY6AAAgASgCdCEIIAAoAjwhCiAFIAUoAgwiC0EBajYCDCAKIAtqIAg6AAAgACgCPCEIIAUgBSgCDCIKQQFqNgIMIAggCmogBkEIdjoAACAAKAI8IQggBSAFKAIMIgpBAWo2AgwgCCAKaiAGOgAAAkACQCABKAJ0QXhqIgZBBUsNACAGQQFrDgQAAAAAAQsgACgCPCEGIAUgBSgCDCIIQQFqNgIMIAYgCGogBEEIdjoAACAAKAI8IQYgBSAFKAIMIghBAWo2AgwgBiAIaiAEOgAAIAAoAjwhBCAFIAUoAgwiBkEBajYCDCAEIAZqQYABOgAAIAAoAjwhBCAFIAUoAgwiBkEBajYCDCAEIAZqQQA6AAAgACgCPCEEIAUgBSgCDCIGQQFqNgIMIAQgBmpBADoAACAAKAI8IQQgBSAFKAIMIgZBAWo2AgwgBCAGakH/AToAACAAKAI8IQQgBSAFKAIMIgZBAWo2AgwgBCAGakEAOgAAIAAoAjwhBCAFIAUoAgwiBkEBajYCDCAEIAZqQQA6AAALIAUoAgwiBCAAKAI8aiACKAIAIAkQMiAFIAQgCWoiBDYCDCAHBEAgACgCPCEGIAUgBEEBajYCDEEEIAdrIQkgBCAGaiEGIAdBA0cEQCAJQQIgCUECSxshB0EBIQQDQCAGQf8BOgAAIAAoAjwhBiAFIAUoAgwiCEEBajYCDCAGIAhqIQYgBEEBaiIEIAdHDQALCyAGIAk6AAALIAAgAS8BdCAAKAI8IAVBDGoQiwQiBA0AIAIgACgCPDYCACADIAUoAgw2AgBBACEECyAFQRBqJAAgBAuBDAIFfwF9IwBB8ABrIgUkACAFIAM2AmggBSACNgJsIAVBAEHkABArIQQCQCACRQRAQYGAgIB4IQUMAQsgAUUEQEGBgICAeCEFDAELIANBf2pB////D0sEQEGBgICAeCEFDAELQYWAgIB4IQUCQAJAAkACQAJAIAEoAiQiBkH/X2oiB0EHSwRAIAZBgcAARw0GIARBBTYCACABKAIoIgIgACgCICIDTw0BQYGAgIB4IQUMBgsCQAJAAkACQCAHQQFrDgcJAQkJAwMCAAsgAC0AgAJFBEAgASgCKCECIABBAToAgAIgACACNgIgCyAEQQM2AgAgACgChAFFBEAgASgCKCECIARBADYCDCAEIAI2AghBASEDDAYLIAQCfyABKgIsIAEoAjCzlCIJQwAAgE9dIAlDAAAAAGBxBEAgCakMAQtBAAsiAjYCCCABKAIoIgUgAk0NBEEBIQMgBEEBNgIQIAQgBSACazYCDAwFC0EBIQIgBEEBNgIAIAAoAoQBRQRAIAEoAighBUEAIQMgBEEANgIMIAQgBTYCCAwGCyAEAn8gASoCLCABKAIws5QiCUMAAIBPXSAJQwAAAABgcQRAIAmpDAELQQALIgM2AgggASgCKCIFIANLBEAgBEEBNgIQIAQgBSADazYCDEEAIQMMBgsgBEEBNgIQIAQgAyAFazYCDEEAIQMMBQtBACEDIARBADYCACAAKAKEAUUEQCABKAIoIQIgBEEANgIMIAQgAjYCCAwECyAEAn8gASoCLCABKAIws5QiCUMAAIBPXSAJQwAAAABgcQRAIAmpDAELQQALIgM2AgggASgCKCIFIANLBEBBASECIARBATYCECAEIAUgA2s2AgxBACEDDAULQQEhAiAEQQE2AhAgBCADIAVrNgIMQQAhAwwECwJAIAAoAiQiBUF/Rw0AIAAgASgCKCIFNgIkIAAtAIACRQ0AIAUgACgCICIGSQ0AIAAgBjYCJCAGIQULIAEoAhRBgcAARgRAIANBB0kEQEGBgICAeCEFDAcLIAQgA0F5ajYCaCAEIAJBB2o2AmwLIARBBDYCACABKAIoIQJBACEDIARBADYCDCAEIAIgBWs2AghBAiECDAMLIARBADYCDCAEIAIgA2s2AgggAEEDNgIYIABBADoABCAAIAEgBEHsAGogBEHoAGoQkAQiBUUNAwwEC0EBIQMgBEEBNgIQIAQgAiAFazYCDAtBASECCyAAIAI2AhggACADOgAEC0EAIQMCQCABKAIQQYACRw0AIAEoAiRB/19qIgJBB0sNAEEBIAJ0QYUBcUUNACAEKAJoIgJBBUkEQEGBgICAeCEFDAILIAJBfGohB0EAIQIgBCgCbCEGA0AgAiIDQQFqIQICQCADIAZqIgUtAAANACACIAZqLQAADQACQCAFLQACDQAgBS0AA0EBRw0AIAUtAAQiCEEbcUEBRg0DIAhBHnFBemoiCEECSw0AIAhBAWsNAwsgBS0AAkEBRw0AIAUtAAMiBUEbcUEBRg0CIAVBHnFBemoiBUECSw0AIAVBAWsNAgsgAiAHRw0AC0GBgICAeCEFDAELIAQgAC0ABDYCBCABKAIwIQIgBCAEKAJsIANqNgIcIAQgAjYCGCAEIAQoAmggA2s2AiAgBCAAKAI0NgIkIAQgACgCODYCLCABKgIsIQkgBELLkAE3A0AgBAJ/IAlDAACAT10gCUMAAAAAYHEEQCAJqQwBC0EACzYCFCAEIAEvATg2AkggBCABLwE6NgJMIAQgAS8BPjYCUCAEIAFBQGsvAQA2AlQgBCABLwFCNgJYIAQgAS8BRDYCXCAEIAEvAUY2AmACQCABKAIMQXRqIgJBBksNAAJAIAJBAWsOBQEBAQEBAAsgACgCuAIiAiAAKAK8AjYCACACQccBNgIUIAJBADYCDCACQoAYNwIEIAIgADYCECAEIAI2AjQLIAAoAgggBBCeBCICBEBBioCAgHhBiYCAgHggAkGGgICAeEYbIQUMAQsgACAEKAIoNgIQIAAgASgCKDYCHEEAIQULIARB8ABqJAAgBQvgBQIDfwF9IAFFBEBBgYCAgHgPCwJAIAEQUiICDQACQAJAIAEoAgxBe2oiA0ENSw0AQQEhAgJAAkACQCADQQZrDggEAQMAAwMDAgMLIABBAToAgQIMAwtBAiECDAILQQMhAgwBC0EAIQILIAAgAjYCQCAAIAEoAhAQPzYCUCAAIAEoAhQQPzYCVCABKAIYED8hAiAAQouAgIDAADcCcCAAQtiagYCw/AE3AmggAEEBNgJMIAAgAjYCWCAAIAEvAUg2AnggACABLwFKNgJ8IAAgAS8BVDYCgAEgACABLwFWNgKEASAAIAEvAUw2ArgBIAEvAU4hAyAAQoKAgIAQNwKQASAAIAM2ArwBQZAcIQMCQCABKgJQIgVDAADwQ14NACAFQwAAgD1dDQBDAMivRyAFlSIFQwAAgE9dIAVDAAAAAGBxBEAgBakhAwwBC0EAIQMLIAAgAzYCmAECf0EFIAAoAlRFDQAaIABBAzYCTCAAIAEoAmw2AtABIAAgASgCcDYC1AEgACABLQBoQX9qNgLMAUEHCyEDIABBQGshBAJAIAJFDQAgAC0AhAJFDQAgBCgCAEF+cUECRg0AIABBvQE2AlggACADNgJMCyABKAIMQQ5GBEAgACABKAIAIgJBgICAASACGyICNgLcASAAIAAoAjggAmo2AjgLIAQoAgBBfnFBAkYEQCAAQRgQLSICNgK4AiACRQRAQYOAgIB4DwsgAEGAGBAsNgK8AgtBiYCAgHghAiAEEJwEDQAgACAAKAJEEC0iAzYCSEGDgICAeCECIANFDQAgACAAKAI4EC0iAzYCNCADRQ0AQYCAgAEhAyAAAn8gASgCDEEORgRAIAEoAgAiAUGAgIABIAFBgICAAUsbIQMLIAMLEC0iATYCMCABRQ0AIAAgAzYCFEGJgICAeCECIAQgAEEIahCbBA0AQQAhAiAEKAIAQX5xQQJHDQAgACgCCCAAQYgCahCYBAsgAguVAQEBf0GBgICAeCEEAkAgAUUNACACRQ0AIANBgICAEEsNAAJAIAAoAixBAUcNACAALQCCAkUNACAAEHAgAEEAOwGAAiAAQQA6AIICIABCADcCHCAAQgA3AiggAEEANgIUIABCADcCDAsCQCAAKAIIDQAgACABEJIEIgRFDQAgABBwIAQPCyAAIAEgAiADEJEEIQQLIAQLKQAgASABKAIAQQ9qQXBxIgFBEGo2AgAgACABKQMAIAEpAwgQmQU5AwALEwAgAEGUwAk2AgAgABBwIAAQKAsRACAAQZTACTYCACAAEHAgAAuWAQAgAEF/NgIkIABCADcCHCAAQQA2AhAgAEGUwAk2AgAgAEIANwIIIABCADcCKCAAQgA3AhQgAEEAOwEEIABCADcCuAIgAEEAOgCEAiAAQYCAgAg2AoACIABCgICAATcCOCAAQgA3AjAgAEIANwLAAiAAQUBrQagBEC8gAEEANgLcASAAQegBakEYEC8gAEGIAmpBMBAvC18BAX8jAEEgayICJAACQCAARQRAIAJBhww2AgQgAkH4vwk2AgAMAQsgAUUEQCACQYgMNgIUIAJB+L8JNgIQDAELIAAgASgCADYCtDogACABKAIENgK4OgsgAkEgaiQAC6MBAQF/IwBBQGoiASQAAkAgAEUEQCABQfQLNgIEIAFB6r8JNgIADAELIAAQhgIEQCABQfYLNgI0IAFB6r8JNgIwDAELIAAQuAEEQCABQdoANgIkIAFB470JNgIgDAELAkAgACgC+DlBfnFBAkcNACAAELsBRQ0AIAFB3gA2AhQgAUHjvQk2AhAMAQsgAEHwOmoQvAEgAEEANgL0OgsgAUFAayQAC6ECAQJ/IwBB4ABrIgIkACACQQA2AlwCQCAARQRAIAJBhws2AgQgAkG/vwk2AgBBgYCAgHghAwwBCyABRQRAIAJBiAs2AhQgAkG/vwk2AhBBgYCAgHghAwwBCyABQQA2AgggACgC+DlBfnFBAkcNACAAQeXIpbMHIAJB3ABqEHMiAwRAIAJBkQs2AlQgAkG/vwk2AlAMAQsgACABEOIEIgMEQCACQZILNgJEIAJBv78JNgJADAELIAEgASgCECABKAIUEQAAIgMEQCACQZMLNgI0IAJBv78JNgIwDAELIAAgARC5ASIDBEAgAkGUCzYCJCACQb+/CTYCIAwBCyAAQQE2Aug6IAAgACgCqDpBAWo2Aqg6QQAhAwsgAkHgAGokACADC4wCAQN/IwBBMGsiAyQAAn8gAEUEQCADQb4KNgIEIANBsb8JNgIAQYGAgIB4DAELIAFFBEAgA0G/CjYCFCADQbG/CTYCEEGBgICAeAwBCyAAKAIIIgJFBEAgA0HACjYCJCADQbG/CTYCIEGBgICAeAwBCyACIAAoAgQQLyAAKAIIIgIgACgCADYC+DkgAiAAQQxqQZABEDIgACgCnAEiBARAIAIgBDYCgDpBh4CAgHggBEGAcGpBgPD/B0sNARogAkGIDjYC6DkgAkHAOWogAEGkAWpBBBAyCyACIAJB8DpqEPIEIgA2AvQ6QYOAgIB4IABFDQAaIAEgAjYCACACEKgECyEAIANBMGokACAAC0QBAX8jAEEQayIBJAACfyAARQRAIAFBqgo2AgQgAUGfvwk2AgBBgYCAgHgMAQsgAEH4OjYCBEEACyEAIAFBEGokACAAC9sWAxF/An4BfCMAQbAEayIJJAAgCUEANgIsAn8gAb0iF0J/VwRAQQEhEiABmiIBvSEXQZAeDAELIARBgBBxBEBBASESQZMeDAELQZYeQZEeIARBAXEiEhsLIRYCQCAXQoCAgICAgID4/wCDQoCAgICAgID4/wBRBEAgAEEgIAIgEkEDaiIMIARB//97cRBBIAAgFiASEDsgAEGrHkGvHiAFQQV2QQFxIgMbQaMeQaceIAMbIAEgAWIbQQMQOwwBCyAJQRBqIRECQAJ/AkAgASAJQSxqEJ8CIgEgAaAiAUQAAAAAAAAAAGIEQCAJIAkoAiwiBkF/ajYCLCAFQSByIhBB4QBHDQEMAwsgBUEgciIQQeEARg0CIAkoAiwhCkEGIAMgA0EASBsMAQsgCSAGQWNqIgo2AiwgAUQAAAAAAACwQaIhAUEGIAMgA0EASBsLIQsgCUEwaiAJQdACaiAKQQBIGyIOIQgDQCAIAn8gAUQAAAAAAADwQWMgAUQAAAAAAAAAAGZxBEAgAasMAQtBAAsiAzYCACAIQQRqIQggASADuKFEAAAAAGXNzUGiIgFEAAAAAAAAAABiDQALAkAgCkEBSARAIAghBiAOIQcMAQsgDiEHA0AgCkEdIApBHUgbIQ0CQCAIQXxqIgYgB0kNACANrSEYQgAhFwNAIAYgF0L/////D4MgBjUCACAYhnwiFyAXQoCU69wDgCIXQoCU69wDfn0+AgAgBkF8aiIGIAdPDQALIBenIgNFDQAgB0F8aiIHIAM2AgALA0AgCCIGIAdLBEAgBkF8aiIIKAIARQ0BCwsgCSAJKAIsIA1rIgo2AiwgBiEIIApBAEoNAAsLIApBf0wEQCALQRlqQQltQQFqIRMgEEHmAEYhFANAQQlBACAKayAKQXdIGyEVAkAgByAGTwRAIAcgB0EEaiAHKAIAGyEHDAELQYCU69wDIBV2IQ9BfyAVdEF/cyENQQAhCiAHIQgDQCAIIAgoAgAiAyAVdiAKajYCACADIA1xIA9sIQogCEEEaiIIIAZJDQALIAcgB0EEaiAHKAIAGyEHIApFDQAgBiAKNgIAIAZBBGohBgsgCSAJKAIsIBVqIgo2AiwgDiAHIBQbIgMgE0ECdGogBiAGIANrQQJ1IBNKGyEGIApBAEgNAAsLQQAhCAJAIAcgBk8NACAOIAdrQQJ1QQlsIQhBCiEKIAcoAgAiA0EKSQ0AA0AgCEEBaiEIIAMgCkEKbCIKTw0ACwsgC0EAIAggEEHmAEYbayAQQecARiALQQBHcWsiAyAGIA5rQQJ1QQlsQXdqSARAIANBgMgAaiINQQltIgNBAnQgDmpBhGBqIQxBCiEKIA0gA0EJbGsiA0EHTARAA0AgCkEKbCEKIANBAWoiA0EIRw0ACwsCQEEAIAYgDEEEaiITRiAMKAIAIg8gDyAKbiINIApsayIUGw0ARAAAAAAAAOA/RAAAAAAAAPA/RAAAAAAAAPg/IBQgCkEBdiIDRhtEAAAAAAAA+D8gBiATRhsgFCADSRshGUQBAAAAAABAQ0QAAAAAAABAQyANQQFxGyEBAkAgEkUNACAWLQAAQS1HDQAgGZohGSABmiEBCyAMIA8gFGsiAzYCACABIBmgIAFhDQAgDCADIApqIgM2AgAgA0GAlOvcA08EQANAIAxBADYCACAMQXxqIgwgB0kEQCAHQXxqIgdBADYCAAsgDCAMKAIAQQFqIgM2AgAgA0H/k+vcA0sNAAsLIA4gB2tBAnVBCWwhCEEKIQogBygCACIDQQpJDQADQCAIQQFqIQggAyAKQQpsIgpPDQALCyAMQQRqIgMgBiAGIANLGyEGCwJ/A0BBACAGIg0gB00NARogDUF8aiIGKAIARQ0AC0EBCyEKAkAgEEHnAEcEQCAEQQhxIRAMAQsgCEF/c0F/IAtBASALGyIGIAhKIAhBe0pxIgMbIAZqIQtBf0F+IAMbIAVqIQUgBEEIcSIQDQBBCSEGAkAgCkUNACANQXxqKAIAIg9FDQBBCiEDQQAhBiAPQQpwDQADQCAGQQFqIQYgDyADQQpsIgNwRQ0ACwsgDSAOa0ECdUEJbEF3aiEDIAVBX3FBxgBGBEBBACEQIAsgAyAGayIDQQAgA0EAShsiAyALIANIGyELDAELQQAhECALIAMgCGogBmsiA0EAIANBAEobIgMgCyADSBshCwsgCyAQciIVQQBHIRQgAEEgIAICfyAIQQAgCEEAShsgBUFfcSIPQcYARg0AGiARIAggCEEfdSIDaiADc60gERBhIgZrQQFMBEADQCAGQX9qIgZBMDoAACARIAZrQQJIDQALCyAGQX5qIhMgBToAACAGQX9qQS1BKyAIQQBIGzoAACARIBNrCyALIBJqIBRqakEBaiIMIAQQQSAAIBYgEhA7IABBMCACIAwgBEGAgARzEEECQAJAAkAgD0HGAEYEQCAJQRBqQQhyIQMgCUEQakEJciEIIA4gByAHIA5LGyIFIQcDQCAHNQIAIAgQYSEGAkAgBSAHRwRAIAYgCUEQak0NAQNAIAZBf2oiBkEwOgAAIAYgCUEQaksNAAsMAQsgBiAIRw0AIAlBMDoAGCADIQYLIAAgBiAIIAZrEDsgB0EEaiIHIA5NDQALIBUEQCAAQbMeQQEQOwsgByANTw0BIAtBAUgNAQNAIAc1AgAgCBBhIgYgCUEQaksEQANAIAZBf2oiBkEwOgAAIAYgCUEQaksNAAsLIAAgBiALQQkgC0EJSBsQOyALQXdqIQYgB0EEaiIHIA1PDQMgC0EJSiEDIAYhCyADDQALDAILAkAgC0EASA0AIA0gB0EEaiAKGyEFIAlBEGpBCHIhAyAJQRBqQQlyIQ4gByEIA0AgDiAINQIAIA4QYSIGRgRAIAlBMDoAGCADIQYLAkAgByAIRwRAIAYgCUEQak0NAQNAIAZBf2oiBkEwOgAAIAYgCUEQaksNAAsMAQsgACAGQQEQOyAGQQFqIQYgEEVBACALQQFIGw0AIABBsx5BARA7CyAAIAYgDiAGayIGIAsgCyAGShsQOyALIAZrIQsgCEEEaiIIIAVPDQEgC0F/Sg0ACwsgAEEwIAtBEmpBEkEAEEEgACATIBEgE2sQOwwCCyALIQYLIABBMCAGQQlqQQlBABBBCwwBCyAWQQlqIBYgBUEgcSIOGyENAkAgA0ELSw0AQQwgA2siBkUNAEQAAAAAAAAgQCEZA0AgGUQAAAAAAAAwQKIhGSAGQX9qIgYNAAsgDS0AAEEtRgRAIBkgAZogGaGgmiEBDAELIAEgGaAgGaEhAQsgESAJKAIsIgYgBkEfdSIGaiAGc60gERBhIgZGBEAgCUEwOgAPIAlBD2ohBgsgEkECciELIAkoAiwhCCAGQX5qIg8gBUEPajoAACAGQX9qQS1BKyAIQQBIGzoAACAEQQhxIQggCUEQaiEHA0AgByIFAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLIgZBgB5qLQAAIA5yOgAAIAEgBrehRAAAAAAAADBAoiEBAkAgBUEBaiIHIAlBEGprQQFHDQACQCAIDQAgA0EASg0AIAFEAAAAAAAAAABhDQELIAVBLjoAASAFQQJqIQcLIAFEAAAAAAAAAABiDQALIABBICACIAsCfwJAIANFDQAgByAJa0FuaiADTg0AIAMgEWogD2tBAmoMAQsgESAJQRBqayAPayAHagsiA2oiDCAEEEEgACANIAsQOyAAQTAgAiAMIARBgIAEcxBBIAAgCUEQaiAHIAlBEGprIgUQOyAAQTAgAyAFIBEgD2siA2prQQBBABBBIAAgDyADEDsLIABBICACIAwgBEGAwABzEEEgCUGwBGokACACIAwgDCACSBsLtgQBA38jAEGAAWsiAiQAIAJBADYCfAJAIABFBEAgAkHDCTYCBCACQZe/CTYCAEGBgICAeCEDDAELIAFFBEAgAkHECTYCFCACQZe/CTYCEEGBgICAeCEDDAELIAFBADYCKAJAIAAoApQ6DQAgACgC+DkNACAAIAEQ0QQiAwRAIAJB1wk2AnQgAkGXvwk2AnAMAgsgAEEBNgKUOgsCQCAAKAKAOkUNACAAKAKYOg0AIAAoAvg5QQFHDQAgACABEKoEIgMEQCACQd8JNgJkIAJBl78JNgJgDAILIABBATYCmDoLAkAgACgC+DlBfnFBAkcNACABKAI0KAIMRQ0AIABBuDpqKAIADQAgAEHlyKWzByACQfwAahBzIgMEQCACQecJNgJUIAJBl78JNgJQDAILIAAgASgCNCABEI8CIgMEQCACQegJNgJEIAJBl78JNgJADAILIAEoAjQiAyADKAIQIAMoAhQRAAAiAwRAIAJB6Qk2AjQgAkGXvwk2AjAMAgsgACABKAI0ELkBIgNFBEBBACEDDAILIAJB6gk2AiQgAkGXvwk2AiAMAQsCQCABKAIAIgNBBksEQEGCgICAeCEBDAELAn8CQAJAAkACQCADQQRrDgMBAwIACyAAIAEQogQMAwsgACABEKEEDAILIAAgARCfBAwBCyAAIAEQoAQLIgENACAAKAKAOiIERQ0AQQAhAUGGgICAeCEDIAAoAug5QTBqIARLDQELIAEhAwsgAkGAAWokACADC48FAgh/AX4jAEHgAGsiAiQAIAJBADYCXAJAIABFBEAgAkHmCDYCBCACQYG/CTYCAEGBgICAeCEDDAELIAAtAABBCHFFDQAgAEH08JWjByACQdwAahBbIgMEQCACQe0INgJUIAJBgb8JNgJQDAELIAIoAlwhBAJ/QQAgACgC+DlBf2pBA0kNABogASgCJCEFIAEoAighBiABEI4BIgMEQCACQYAJNgJEIAJBgb8JNgJADAILIAAgACkDoDpCCHw3A6A6IAUgBmoLIQUgASgCKCEIIARBuAtqKQMAUARAIAQgACkDoDo3A7gLCyAIIAEoAiAiA2pBAmogASgCLEsEQCACQYwJNgIUIAJBgb8JNgIQQYOAgIB4IQMMAQsgASAIQQFqNgIoIAEoAhwhByABKAIkIAhqIANBCHY6AAAgASABKAIoIglBAWo2AiggCSABKAIkaiADOgAAIAEoAiQgASgCKGogByADEDIgASABKAIoIANqIgc2AiggBEHsCmoiAyABKAIgIAMoAgBqQQJqNgIAAkAgACgC+DkiBEEBTQRAIAAgAUH08JWjBxCMASIDDQEgASgCKCEHIAAoAvg5IQQLIAAgACkDoDogByAIa618Igo3A6A6QQAhAyAEDQEgAQJ/IAAoApA6BEAgACgC/DkMAQsgAEEBNgKQOiAAIAY2Avw5IAYLIgA2AjggASAKpyAAazYCPCAFRQRAIAJBqQk2AiQgAkGBvwk2AiBBgYCAgHghAwwCCyAFIAcgBmtBGHY6AAAgBSABKAIoIAZrQRB2OgABIAUgASgCKCAGa0EIdjoAAiAFIAEoAiggBms6AAMMAQsgAkGUCTYCNCACQYG/CTYCMAsgAkHgAGokACADC9EEAgd/AX4jAEHgAGsiAiQAIAJBADYCXAJAIABFBEAgAkGECDYCBCACQey+CTYCAEGBgICAeCEDDAELIAAtAABBBHFFDQAgAEH03KXDBiACQdwAahBbIgMEQCACQYsINgJUIAJB7L4JNgJQDAELIAIoAlwhBAJ/QQAgACgC+DlBf2pBA0kNABogASgCJCEFIAEoAighBiABEI4BIgMEQCACQZ4INgJEIAJB7L4JNgJADAILIAAgACkDoDpCCHw3A6A6IAUgBmoLIQUgASgCKCEHIARBuAtqKQMAUARAIAQgACkDoDo3A7gLCyABKAIgIgMgB2ogASgCLEsEQCACQaoINgIUIAJB7L4JNgIQQYOAgIB4IQMMAQsgASgCJCAHaiABKAIcIAMQMiABIAEoAiggA2oiCDYCKCAAIAM2Aqw6IARB7ApqIgQgBCgCACADajYCAAJAIAAoAvg5IgRBAU0EQCAAIAFB9NylwwYQjAEiAw0BIAEoAighCCAAKAL4OSEECyAAIAApA6A6IAggB2utfCIJNwOgOkEAIQMgBA0BIAECfyAAKAKQOgRAIAAoAvw5DAELIABBATYCkDogACAGNgL8OSAGCyIANgI4IAEgCacgAGs2AjwgBUUEQCACQcgINgIkIAJB7L4JNgIgQYGAgIB4IQMMAgsgBSAIIAZrQRh2OgAAIAUgASgCKCAGa0EQdjoAASAFIAEoAiggBmtBCHY6AAIgBSABKAIoIAZrOgADDAELIAJBswg2AjQgAkHsvgk2AjALIAJB4ABqJAAgAwu6BwIJfwF+IwBBkAFrIgMkACADQQA2AowBIANBADYCiAECQCAARQRAIANBqAY2AgQgA0HZvgk2AgBBgYCAgHghAgwBCyAALQAAQQJxRQ0AIABB7uq9mwcgA0GMAWoQWyICBEAgA0GvBjYChAEgA0HZvgk2AoABDAELIAMoAowBIQYCQCAAKAIIQX5xQZABRw0AIAEoAiAhCCAGQdgKaigCACIERQ0AIAQgCE8NACAGQdwKaigCAEUNACAAIAAoAuw6QQFqIgc2Auw6QYWAgIB4IQIgB0HAAEsNASABIAQ2AiALQQAhBCAAKAL4OUF/akEDTwRAIAEoAiQhBSABKAIoIQQgARCOASICBEAgA0HWBjYCdCADQdm+CTYCcAwCCyAAIAApA6A6Qgh8NwOgOiAEIAVqIQULIAEoAighByAGQbgLaikDAFAEQCAGIAApA6A6NwO4CwtBgoCAgHghAgJAAkAgACgCCCIJQX1qIgpBDEsEQCAJQfB+akECTw0DDAELAkAgCkECaw4LAwMDAwMDAwMDAwABCyABKAIgIgIgB2ogASgCLE0NASADQeYGNgIUIANB2b4JNgIQQYOAgIB4IQIMAgsgASgCICICIAdqIAEoAixNDQAgA0HvBjYCZCADQdm+CTYCYEGDgICAeCECDAELIAEoAiQgB2ogASgCHCACEDIgASABKAIoIAJqNgIoIAZB7ApqIgIgAigCACABKAIgajYCAAJAAkACfyAAKAL4OSICQQFNBEAgACABQe7qvZsHEIwBIgINAiAAKAL4OSECCyACQX5xQQJGCwRAIABB7uq9mwcgA0GIAWoQcyICBEAgA0GEBzYCRCADQdm+CTYCQAwECyADKAKIASICIAIoAogBIAEoAiggB2tqNgKIASAAIAFB7uq9mwcQlgIiAg0CIAAoAvg5IQILIAAgACkDoDogASgCKCIGIAdrrXwiCzcDoDogAkUEQCABAn8gACgCkDoEQCAAKAL8OQwBCyAAQQE2ApA6IAAgBDYC/DkgBAsiAjYCOCABIAunIAJrNgI8IAVFBEAgA0GdBzYCJCADQdm+CTYCIEGBgICAeCECDAQLIAUgBiAEa0EYdjoAACAFIAEoAiggBGtBEHY6AAEgBSABKAIoIARrQQh2OgACIAUgASgCKCAEazoAAwtBACECIAAoAghBfnFBkAFHDQIgASAINgIgDAILIANB/gY2AlQgA0HZvgk2AlAMAQsgA0GIBzYCNCADQdm+CTYCMAsgA0GQAWokACACC4EKAgd/AX4jAEGgAmsiAiQAIAJBADYCnAIgAkEANgKYAgJAIABFBEAgAkG7BDYCBCACQca+CTYCAEGBgICAeCEDDAELIAAtAABBAXFFDQACQCAAKAL4OUF+cUECRw0AQQAgASgCDCIDayADIAEoAhAbIQMCQCAAQbg6aigCACIEQQFHBEAgBA0BIAEoAgRFDQELIAEoAgggA2ogACgCrAFB6AdubCEFAkAgACgCqDpFBEAgACAFEJIBIgNFDQEgAkHPBDYCpAEgAkHGvgk2AqABDAQLIAAoAuQ6QQFHDQAgASgCNCEEIABB5cilswcgAkGYAmoQcyIDBEAgAkHUBDYC9AEgAkHGvgk2AvABDAQLIAAgBCABEI8CIgMEQCACQdUENgLkASACQca+CTYC4AEMBAsgBCAEKAIQIAQoAhQRAAAiAwRAIAJB1gQ2AtQBIAJBxr4JNgLQAQwECyAAIAUQkgEiAwRAIAJB1wQ2AsQBIAJBxr4JNgLAAQwECyAAIAQQuQEiAwRAIAJB2AQ2ArQBIAJBxr4JNgKwAQwECyAAQQA2AuQ6CyAAIAAoAqg6QQFqNgKoOgwBCyAEQQJHDQAgASgCCCADaiAAKAKsAUHoB25sIQMgACgCqDpFBEAgAEEBNgKoOiAAIAMQkgEiA0UNASACQeQENgKEAiACQca+CTYCgAIMAgsgACgC6DpBAUcNACAAIAMQkgEiAwRAIAJB6AQ2ApQCIAJBxr4JNgKQAgwCCyAAQQA2Aug6C0EAIQQgACgC+DlBf2pBA08EQCABKAIkIQYgASgCKCEEIAEQjgEiAwRAIAJB/QQ2ApQBIAJBxr4JNgKQAQwCCyAAIAApA6A6Qgh8NwOgOiAEIAZqIQYLIAEoAighByAAQeXIpbMHIAJBnAJqEFsiAwRAIAJBgwU2AoQBIAJBxr4JNgKAAQwBCyACKAKcAiIDQbgLaikDAFAEQCADIAApA6A6NwO4CwtBgoCAgHghAyAAKAIEQXBqIgVBFEsNAAJAAkACQAJAIAVBAWsOFAQEBAQEBAQEBAQABAQEBAQEBAQCAQsgACABEKUEIgNFDQIgAkGRBTYCVCACQca+CTYCUAwDCyAAIAEQpAQiA0UNASACQZcFNgJkIAJBxr4JNgJgDAILIAAgARCjBCIDRQ0AIAJBnQU2AnQgAkHGvgk2AnAMAQsCQAJ/IAAoAvg5IgVBAU0EQCAAIAFB5cilswcQjAEiAw0CIAAoAvg5IQULIAVBfnFBAkYLBEAgAEHlyKWzByACQZgCahBzIgMEQCACQbAFNgI0IAJBxr4JNgIwDAMLIAIoApgCIgMgAygCiAEgASgCKCAHa2o2AogBIAAgAUHlyKWzBxCWAiIDBEAgAkG0BTYCJCACQca+CTYCIAwDCyAAQQE2AuQ6IAAoAvg5IQULIAAgACkDoDogASgCKCIIIAdrrXwiCTcDoDpBACEDIAUNASABAn8gACgCkDoEQCAAKAL8OQwBCyAAQQE2ApA6IAAgBDYC/DkgBAsiADYCOCABIAmnIABrNgI8IAZFBEAgAkHKBTYCFCACQca+CTYCEEGBgICAeCEDDAILIAYgCCAEa0EYdjoAACAGIAEoAiggBGtBEHY6AAEgBiABKAIoIARrQQh2OgACIAYgASgCKCAEazoAAwwBCyACQaoFNgJEIAJBxr4JNgJACyACQaACaiQAIAML3AIBCH8jAEEwayIFJAACQCABRQRAIAVBhQQ2AgQgBUG5vgk2AgBBgYCAgHghAgwBCyABKAIgIQYgASgCHCEDAkADQCAGQQRJDQEgAy0AAA0BIAMtAAENASADLQACIgJBAUsNAUEDIQcgAkEBawRAQQQhByADLQADQQFHDQILAn8gBiAHIgIgBkF+aiIITw0AGgNAIAIiBEEBaiECAkAgAyAEaiIJLQAADQAgAiADai0AAA0AIAktAAJBAUcNACAEIARBf2oiAiACIANqLQAAGwwCCyACIAhHDQALIAYLIgQgB0kEQEGFgICAeCECDAMLIAAgASADIAdqIAQgB2sQpgQiAgRAIAVBlQQ2AiQgBUG5vgk2AiAMAwsgAyAEaiEDIAYgBEshAiAGIARrIQYgAg0AC0EAIQIMAQsgBUGNBDYCFCAFQbm+CTYCEEGFgICAeCECCyAFQTBqJAAgAgv3AgEIfyMAQTBrIgMkACADQQA2AiwCQCABRQRAIANBtQM2AgQgA0Grvgk2AgBBgYCAgHghAgwBCyAAQeXIpbMHIANBLGoQWyICBEAgA0G3AzYCJCADQau+CTYCIAwBCyABKAIgIQggASgCHCEFIAMoAiwhCQJAIAEoAgRFDQBBhYCAgHghAiAIQQRJDQEgCEF9aiEGQQAhAgJAA0AgAiIEQQFqIQICQCAEIAVqIgctAAANACACIAVqLQAADQAgBy0AAkEBRgRAIActAANBswFGDQMLIActAAJBAUcNACAHLQADQbYBRg0CCyACIAZHDQALIAYhBAwBCyAAIAUgBBDSBCICRQ0AIANB3wM2AhQgA0Grvgk2AhAMAQtBg4CAgHghAiABKAIoIgYgCCAEayIAaiABKAIsSw0AIAEoAiQgBmogBCAFaiAAEDIgASABKAIoIABqNgIoIAlB7ApqIgEgASgCACAAajYCAEEAIQILIANBMGokACACC9ICAQh/IwBBMGsiBiQAAkAgAUUEQCAGQYcDNgIEIAZBnr4JNgIAQYGAgIB4IQIMAQsgASgCICEEIAEoAhwhAwNAAkAgBEEESQ0AIAMtAAANACADLQABDQAgAy0AAiICQQFLDQBBAyEHIAJBAWsEQEEEIQcgAy0AA0EBRw0BCyAAIAEgAyAHagJ/IAQgByICIARBfmoiCE8NABoDQCACIgVBAWohAgJAIAMgBWoiCS0AAA0AIAIgA2otAAANACAJLQACQQFHDQAgBSAFQX9qIgIgAiADai0AABsMAgsgAiAIRw0ACyAECyIFIAdrEKcEIgIEQCAGQZIDNgIkIAZBnr4JNgIgDAMLIAMgBWohA0EAIQIgBCAFRyEHIARBACAFIAQgBUYbayEEIAcNAQwCCwsgBkGPAzYCFCAGQZ6+CTYCEEGFgICAeCECCyAGQTBqJAAgAgv5AwEEfyMAQeAAayIEJAAgBEEANgJcAkAgAUUEQCAEQbsCNgIEIARBjb4JNgIAQYGAgIB4IQUMAQsgAkUEQCAEQbwCNgIUIARBjb4JNgIQQYGAgIB4IQUMAQsgA0UEQEGFgICAeCEFDAELIABB5cilswcgBEHcAGoQWyIFBEAgBEHDAjYCVCAEQY2+CTYCUAwBCyAEKAJcIQYCQCACLQAAQQF2QT9xQWBqIgVBAksNAAJAAkACQCAFQQFrDgIBAgALIAAgAiADENsEIgVFDQIgBEHNAjYCJCAEQY2+CTYCIAwDCyAAIAIgAxDaBCIFRQ0BIARB0wI2AjQgBEGNvgk2AjAMAgsgACACIAMQ2QQiBUUNACAEQdkCNgJEIARBjb4JNgJADAELQYOAgIB4IQUgASgCKCIAIANBBGoiB2ogASgCLEsNACABIABBAWo2AiggASgCJCAAaiADQRh2OgAAIAEgASgCKCIAQQFqNgIoIAAgASgCJGogA0EQdjoAACABIAEoAigiAEEBajYCKCAAIAEoAiRqIANBCHY6AAAgASABKAIoIgBBAWo2AiggACABKAIkaiADOgAAIAEoAiQgASgCKGogAiADEDIgASABKAIoIANqNgIoIAZB7ApqIgAgACgCACAHajYCAEEAIQULIARB4ABqJAAgBQvKAwEEfyMAQdAAayIEJAAgBEEANgJMAkAgAUUEQCAEQfYBNgIEIARB/L0JNgIAQYGAgIB4IQUMAQsgAkUEQCAEQfcBNgIUIARB/L0JNgIQQYGAgIB4IQUMAQsgA0UEQEGFgICAeCEFDAELIABB5cilswcgBEHMAGoQWyIFBEAgBEH+ATYCRCAEQfy9CTYCQAwBCyAEKAJMIQYCQCACLQAAQR9xQXlqIgVBAUsNACAFQQFrBEAgACACIAMQ3QQiBUUNASAEQYcCNgIkIARB/L0JNgIgDAILIAAgAiADENwEIgVFDQAgBEGNAjYCNCAEQfy9CTYCMAwBC0GDgICAeCEFIAEoAigiACADQQRqIgdqIAEoAixLDQAgASAAQQFqNgIoIAEoAiQgAGogA0EYdjoAACABIAEoAigiAEEBajYCKCAAIAEoAiRqIANBEHY6AAAgASABKAIoIgBBAWo2AiggACABKAIkaiADQQh2OgAAIAEgASgCKCIAQQFqNgIoIAAgASgCJGogAzoAACABKAIkIAEoAihqIAIgAxAyIAEgASgCKCADajYCKCAGQewKaiIAIAAoAgAgB2o2AgBBACEFCyAEQdAAaiQAIAUL/AIBBH8jAEHgAGsiASQAAkAgAEUEQCABQfQANgIEIAFB8b0JNgIAQYGAgIB4IQIMAQsgACgCAEUEQEGBgICAeCECDAELAkAgABDhBCICBEBB2gAhBCAAELgBIgMNASAAKAL4OUF+cUECRgRAQd4AIQQgABC7ASIDDQILIABB8DpqELwBIABBADYC9DoLIAAoAvg5IgNBfnFBAkcNASAAQbg6aiADQQNHNgIAIAAgA0EDRjYCtDogABDvBCICBEAgAUGSATYCNCABQfG9CTYCMAwCCyAAEPEEIgJFBEBBACECDAILQdoAIQQCQCAAELgBIgMNACAAKAL4OUF+cUECRgRAQd4AIQQgABC7ASIDDQELIABB8DpqELwBIABBADYC9DoMAgsgASAENgIkIAFB470JNgIgIAFBmAE2AhQgAUHxvQk2AhAgAyECDAELIAEgBDYCVCABQeO9CTYCUCABQf8ANgJEIAFB8b0JNgJAIAMhAgsgAUHgAGokACACC54BAQF/IwBBMGsiAiQAAn8gAEUEQCACQeYmNgIEIAJBkLwJNgIAQYGAgIB4DAELIAFFBEAgAkHnJjYCFCACQZC8CTYCEEGBgICAeAwBCyABKAIARQRAIAJB6CY2AiQgAkGQvAk2AiBBgYCAgHgMAQsgASAAKALsOTYCCCABIAAoAvA5NgIQIAEgACgC9Dk2AhRBAAshACACQTBqJAAgAAuUAQECfyMAQTBrIgIkAAJ/IAFFBEAgAkHQJjYCBCACQfy7CTYCAEGBgICAeAwBCyAARQRAIAJB0SY2AhQgAkH8uwk2AhBBgYCAgHgMAQsgASgCJCIDRQRAIAJB0iY2AiQgAkH8uwk2AiBBgYCAgHgMAQsgAyAAKAKAOhAvIAEgACgCgDo2AihBAAshACACQTBqJAAgAAvqBQEGfyMAQfAAayIEJAACQCAARQRAIARBgCc2AgQgBEGjvAk2AgBBgYCAgHghAgwBCyABRQRAIARBgSc2AhQgBEGjvAk2AhBBgYCAgHghAgwBCyABKAIARQRAIARBgic2AiQgBEGjvAk2AiBBgYCAgHghAgwBCyABKAIIIQUgAUHh6JGrBxAzIgIEQCAEQYcnNgJkIARBo7wJNgJgDAELIAEoAgQgASgCCCICQQRqSQRAIARBiic2AjQgBEGjvAk2AjBBg4CAgHghAgwBCyABKAIAIAJqIABBwDlqKAIAIgNBGHY6AAAgAiABKAIAaiADQRB2OgABIAIgASgCAGogA0EIdjoAAiACIAEoAgBqIAM6AAMgASABKAIIIgJBBGoiAzYCCCABKAIEIAJBCGpJBEAgBEGNJzYCRCAEQaO8CTYCQEGDgICAeCECDAELIAEoAgAgA2ogACgCwDkiA0EYdjoAACACIAEoAgBqIANBEHY6AAUgAiABKAIAaiADQQh2OgAGIAIgASgCAGogAzoAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQZAnNgJUIARBo7wJNgJQQYOAgIB4IQIMAQsgASgCACADaiAAKALAOSIDQRh2OgAAIAIgASgCAGogA0EQdjoABSACIAEoAgBqIANBCHY6AAYgAiABKAIAaiADOgAHIAEgASgCCEEEaiIDNgIIQYeAgIB4IQIgACgCgDoiBkEQQQggACkDoDpCCHxC/////w9WGyIHIANqSQ0AQYaAgIB4IQIgASgCBCAGIANrIAdrIgYgA2pJDQAgACAHNgL0OSAAIAM2Auw5IAAgBjYC8DlBACECIAEoAgAgA2ogBhAvIAEgASgCCCAGaiIANgIIIAEoAgAgBWogACAFayIAQRh2OgAAIAUgASgCAGogAEEQdjoAASAFIAEoAgBqIABBCHY6AAIgBSABKAIAaiAAOgADCyAEQfAAaiQAIAIL2AMBB38jAEHgAGsiAiQAAkAgAEUEQCACQZMjNgIEIAJB7bsJNgIAQYGAgIB4IQAMAQsgAUUEQCACQZQjNgIUIAJB7bsJNgIQQYGAgIB4IQAMAQsgASgCACIDRQRAIAJBlSM2AiQgAkHtuwk2AiBBgYCAgHghAAwBCyABKAIEIAEoAggiBEEEakkEQCACQZojNgI0IAJB7bsJNgIwQYOAgIB4IQAMAQsgAyAEakEAOgAAIARBAWoiBSABKAIAakEAOgAAIARBAmoiBiABKAIAakEAOgAAIARBA2oiByABKAIAakEAOgAAIAEgASgCCCIDQQRqIgg2AgggASgCBCADQQhqSQRAIAJBnSM2AkQgAkHtuwk2AkBBg4CAgHghAAwBCyABKAIAIAhqQfMAOgAAIAMgASgCAGpB6wA6AAUgAyABKAIAakHpADoABiADIAEoAgBqQfAAOgAHIAEgASgCCEEEajYCCCAAIAEQqwQiAARAIAJBoCM2AlQgAkHtuwk2AlAMAQsgASgCACAEaiABKAIIIARrIgBBGHY6AAAgASgCACAFaiAAQRB2OgAAIAEoAgAgBmogAEEIdjoAACABKAIAIAdqIAA6AABBACEACyACQeAAaiQAIAALswEBBH8jAEEgayIEJAACQAJAIAAEQCAAKALgAw0BDAILIARB9SI2AgQgBEHeuwk2AgBBgYCAgHghAwwBCwJAA0AgACAFQYgMbGoiA0GoD2ooAgAiBiABKAIISwRAQYCCgIB4IQMMAwsgASgCACAGIANBjA9qKAIAIAIQrgQiAw0BIAVBAWoiBSAAKALgA0kNAAtBACEDDAELIARBgCM2AhQgBEHeuwk2AhALIARBIGokACADC68CAgN/An4jAEEQayIEJAACQAJAIAAEQCACDQEMAgsgBEHVIjYCBCAEQc27CTYCAEGBgICAeCEFDAELIAOtIQhBACEDA0AgACABaiIGIAYpAAAiB0I4hiAHQiiGQoCAgICAgMD/AIOEIAdCGIZCgICAgIDgP4MgB0IIhkKAgICA8B+DhIQgB0IIiEKAgID4D4MgB0IYiEKAgPwHg4QgB0IoiEKA/gODIAdCOIiEhIQgCHwiB0I4hiAHQiiGQoCAgICAgMD/AIOEIAdCGIZCgICAgIDgP4MgB0IIhkKAgICA8B+DhIQgB0IIiEKAgID4D4MgB0IYiEKAgPwHg4QgB0IoiEKA/gODIAdCOIiEhIQ3AAAgAUEIaiEBIANBAWoiAyACRw0ACwsgBEEQaiQAIAUL1wYBB38jAEFAaiIFJABBg4CAgHghCAJAIAAoAggiA0EOaiAAKAIESw0AIAAoAgAgA2pBBDoAACADQQFqIQYgASgCgAxB7uq9mwdGBEAgACgCACAGakGAAToAACADIAAoAgBqQYABOgACIAMgACgCAGpBgAE6AAMgA0EEaiEGCyAAKAIAIAZqQQA6AAAgBkEBaiEHAkACQAJAAkAgASgCnAIiA0F9aiIJQSFLBEAgA0HwfmpBAk8NAQwDC0ERIQRBICEDIAlBAmsOIAAAAAAAAAAAAAACAwAAAAAAAAAAAAADAAAAAAAAAAADAQtBFSEEQcABIQMMAgtBFSEEQekAIQMMAQtBFSEEQcAAIQMLIAAoAgAgB2ogAzoAACAGIAAoAgBqIAQ6AAIgACAGQQNqIgQ2AggCQCAGQQZqIgMgACgCBCIHTQRAIAQgA0kEQANAIAAoAgAgBGpBADoAACAEQQFqIgQgACgCCEEDaiIDSQ0ACyAAKAIEIQcLIAAgAzYCCCAHIANBBGpJBEAgBUGsITYCFCAFQaS7CTYCEAwDCyAAKAIAIANqQQA6AAAgAyAAKAIAakGAAToAASADIAAoAgBqQQA6AAIgAyAAKAIAakEAOgADIAAgACgCCCIDQQRqIgQ2AgggACgCBCADQQhqSQRAIAVBrSE2AiQgBUGkuwk2AiAMAwsgACgCACAEakEAOgAAIAMgACgCAGpBADoABSADIAAoAgBqQQA6AAYgAyAAKAIAakEAOgAHIAAgACgCCCIEQQRqIgM2AgggBEEGaiIHIAItACFqIAAoAgRLDQEgASgCgAwhASAAKAIAIANqQQU6AAAgBEEFaiEDIAFB7uq9mwdGBEAgACgCACADakGAAToAACAAKAIAIAdqQYABOgAAIAQgACgCAGpBgAE6AAcgBEEIaiEDCyAAKAIAIANqIAItACE6AAAgA0EBaiEEIAItACEEQEEAIQMDQCAAKAIAIARqIAIgA2otACI6AAAgBEEBaiEEIANBAWoiAyACLQAhSQ0ACwsgACAENgIIIAAoAgAgBmogBCAGQX9zajoAAEEAIQgMAgsgBUGrITYCBCAFQaS7CTYCAAwBCyAFQbAhNgI0IAVBpLsJNgIwCyAFQUBrJAAgCAs0ACAAUEUEQANAIAFBf2oiASAAp0EPcUGAHmotAAAgAnI6AAAgAEIEiCIAQgBSDQALCyABCzQBAX8jAEEQayIAJAAgAEG+CDYCDEH4FyAAKAIMQQRBgICAgHhB/////wcQAyAAQRBqJAALrQMBBH8jAEEgayIGJABBg4CAgHghAwJAIAAoAggiBUEFaiAAKAIESw0AIAAoAgAgBWpBAzoAACAFQQFqIQQgASgCgAxB7uq9mwdGBEAgACgCACAEakGAAToAACAFIAAoAgBqQYABOgACIAUgACgCAGpBgAE6AAMgBUEEaiEECyAAKAIAIARqQQA6AAAgBCAAKAIAakEAOgABIAQgACgCAGpBADoAAiAEIAAoAgBqQR86AAMgACAEQQRqNgIIIAAgASACEK8EIgMEQCAGQf4hNgIUIAZBsbsJNgIQDAELIAAoAggiAkEDaiIFIAAoAgRNBEAgASgCgAwhASAAKAIAIAJqQQY6AAAgAkEBaiEDIAFB7uq9mwdGBEAgACgCACADakGAAToAACACIAAoAgBqQYABOgACIAAoAgAgBWpBgAE6AAAgAkEEaiEDCyAAKAIAIANqQQE6AAAgAyAAKAIAakECOgABIAAgA0ECaiIBNgIIIAAoAgAgBGogASAEQX9zajoAAEEAIQMMAQsgBkGBIjYCBCAGQbG7CTYCAEGDgICAeCEDCyAGQSBqJAAgAwuHAQEEfyMAQSBrIgEkAAJ/IABFBEAgAUGnGDYCBCABQa65CTYCAEGBgICAeAwBCyAAKAIEIgQEQANAIAAgAhBYIgNFBEAgAUGxGDYCFCABQa65CTYCEEGAgoCAeAwDCyADBEAgAxAoCyACQQFqIgIgBEcNAAsLIAAQYkEACyEAIAFBIGokACAAC7gEAQJ/QYOAgIB4IQMgACgCBCAAKAIIIgJBIGpPBH8gACgCACACaiABLQAqOgAAIAIgACgCAGogAS0AKzoAASACIAAoAgBqIAEtACw6AAIgAiAAKAIAaiABLQAtOgADIAIgACgCAGogAS0ALjoABCACIAAoAgBqIAEtAC86AAUgAiAAKAIAaiABLQAwOgAGIAIgACgCAGogAS0AMToAByACIAAoAgBqIAEtADI6AAggAiAAKAIAaiABLQAzOgAJIAIgACgCAGogAS0ANDoACiACIAAoAgBqIAEtADU6AAsgAiAAKAIAaiABLQA2OgAMIAIgACgCAGogAS0ANzoADSACIAAoAgBqIAEtADg6AA4gAiAAKAIAaiABLQA5OgAPIAIgACgCAGogAS0AOjoAECACIAAoAgBqIAEtADs6ABEgAiAAKAIAaiABLQA8OgASIAIgACgCAGogAS0APToAEyACIAAoAgBqIAEtAD46ABQgAiAAKAIAaiABLQA/OgAVIAIgACgCAGogAUFAay0AADoAFiACIAAoAgBqIAEtAEE6ABcgAiAAKAIAaiABLQBCOgAYIAIgACgCAGogAS0AQzoAGSACIAAoAgBqIAEtAEQ6ABogAiAAKAIAaiABLQBFOgAbIAIgACgCAGogAS0ARjoAHCACIAAoAgBqIAEtAEc6AB0gAiAAKAIAaiABLQBIOgAeIAIgACgCAGogAS0ASToAHyAAIAAoAghBIGo2AghBAAVBg4CAgHgLC7QNAQZ/IwBB8ABrIgQkAAJAIAFFBEAgBEGEHDYCBCAEQbm6CTYCAEGBgICAeCEFDAELIABFBEAgBEGFHDYCFCAEQbm6CTYCEEGBgICAeCEFDAELIAAoAgBFBEAgBEGGHDYCJCAEQbm6CTYCIEGBgICAeCEFDAELIAAoAgghBiAAQcPG2cMGEDMiBQRAIARBjBw2AmQgBEG5ugk2AmAMAQtBg4CAgHghBSAAKAIIIgJBBWogACgCBEsNACAAIAJBAWo2AgggACgCACACakEBOgAAIAFBAToAgQMgACAAKAIIIgJBAWo2AgggAiAAKAIAakEBOgAAIAFB4AA2AoQDIAAgACgCCCICQQFqNgIIIAIgACgCAGpBADoAACABLwGGAyECIAAgACgCCCIDQQFqNgIIIAMgACgCAGogAjoAACABKAKEAyECIAAgACgCCCIDQQFqNgIIIAMgACgCAGogAkEIdjoAACABKAKEAyECIAAgACgCCCIDQQFqNgIIIAMgACgCAGogAjoAACAAIAAoAggiAkEBajYCCCACIAAoAgBqQZABOgAAIAAgACgCCCICQQFqNgIIIAIgACgCAGpBADoAACAAIAAoAggiAkEBajYCCCACIAAoAgBqQQA6AAAgACAAKAIIIgJBAWo2AgggAiAAKAIAakEAOgAAIAAgACgCCCICQQFqNgIIIAIgACgCAGpBADoAACAAIAAoAggiAkEBajYCCCACIAAoAgBqQQA6AAAgAUHdADoAjgMgACAAKAIIIgJBAWo2AgggAiAAKAIAakHdADoAACABLQCPAyECIAAgACgCCCIDQQFqNgIIIAMgACgCAGogAkHwAXI6AAAgAS0AkAMhAiAAIAAoAggiA0EBajYCCCADIAAoAgBqIAI6AAAgAS0AkQMhAiAAIAAoAggiA0EBajYCCCADIAAoAgBqIAJB/AFyOgAAIAEtAJIDIQIgACAAKAIIIgNBAWo2AgggAyAAKAIAaiACQf0BcjoAACABLQCTAyECIAAgACgCCCIDQQFqNgIIIAMgACgCAGogAkH4AXI6AAAgAS0AlAMhAiAAIAAoAggiA0EBajYCCCADIAAoAgBqIAJB+AFyOgAAIAEtAJcDIQIgACAAKAIIIgNBAWo2AgggAyAAKAIAaiACOgAAIAEtAJYDIQIgACAAKAIIIgNBAWo2AgggAyAAKAIAaiACOgAAIAFBDzoAmAMgACAAKAIIIgJBAWo2AgggAiAAKAIAakEPOgAAIAFBAzoAmQMgACAAKAIIIgJBAWo2AgggAiAAKAIAakEDOgAAAkACQAJAIAEvAZwDIgJBgARLDQAgACgCBCAAKAIIIgMgAkEFaiIHakkNACAAKAIAIANqQaABOgAAQQAhAiADIAAoAgBqQQA6AAEgAyAAKAIAaiABLQCaAzoAAiADIAAoAgBqIAEtAJ0DOgADIAMgACgCAGogAS0AnAM6AAQgAS8BnAMEQCADQQVqIQMDQCAAKAIAIANqIAEgAmotAJ4DOgAAIANBAWohAyACQQFqIgIgAS8BnANJDQALCyAAIAAoAgggB2oiAzYCCCABLwGgByICQYACSw0BIAAoAgQgAkEFaiIHIANqSQ0BIAAoAgAgA2pBoQE6AABBACECIAMgACgCAGpBADoAASADIAAoAgBqIAEtAJ4HOgACIAMgACgCAGogAS0AoQc6AAMgAyAAKAIAaiABLQCgBzoABCABLwGgBwRAIANBBWohAwNAIAAoAgAgA2ogASACai0Aogc6AAAgA0EBaiEDIAJBAWoiAiABLwGgB0kNAAsLIAAgACgCCCAHaiICNgIIIAFBpAlqLwEAIgNBgQFLDQIgACgCBCADQQVqIgMgAmpJDQIgACgCACACakGiAToAAEEAIQUgAiAAKAIAakEAOgABIAIgACgCAGogAUGiCWotAAA6AAIgAiAAKAIAaiABQaUJai0AADoAAyACIAAoAgBqIAEtAKQJOgAEIAEvAaQJBEAgAkEFaiECA0AgACgCACACaiABIAVqQaYJai0AADoAACACQQFqIQIgBUEBaiIFIAEvAaQJSQ0ACwsgACAAKAIIIANqIgE2AgggACgCACAGaiABIAZrIgFBGHY6AAAgBiAAKAIAaiABQRB2OgABIAYgACgCAGogAUEIdjoAAiAGIAAoAgBqIAE6AANBACEFDAMLIARBthw2AjQgBEG5ugk2AjAMAgsgBEG5HDYCRCAEQbm6CTYCQAwBCyAEQbwcNgJUIARBuboJNgJQCyAEQfAAaiQAIAULngYBB38jAEHgAGsiBCQAAkAgAUUEQCAEQckfNgIEIARBhbsJNgIAQYGAgIB4IQUMAQsgAEUEQCAEQcofNgIUIARBhbsJNgIQQYGAgIB4IQUMAQsgACgCAEUEQCAEQcsfNgIkIARBhbsJNgIgQYGAgIB4IQUMAQsgACgCCCEHIABBw8bZiwYQMyIFBEAgBEHRHzYCVCAEQYW7CTYCUAwBC0GDgICAeCEFIAAoAggiAkEFaiAAKAIESw0AIAAgAkEBajYCCCAAKAIAIAJqQQE6AAAgAS0AiQMhAiAAIAAoAggiA0EBajYCCCADIAAoAgBqIAI6AAAgAS0AigMhAiAAIAAoAggiA0EBajYCCCADIAAoAgBqIAI6AAAgAS0AiwMhAiAAIAAoAggiA0EBajYCCCADIAAoAgBqIAI6AAAgACAAKAIIIgJBAWo2AgggAiAAKAIAakEDOgAAAkACQCABLwGGAyIDQYACSw0AIAAoAgQgACgCCCICIANBA2oiCGpJDQAgACgCACACaiABQfgCaiIDLQANOgAAIAIgACgCAGogAy0ADzoAASACIAAoAgBqIAMtAA46AAIgAy8BDgRAIAJBA2ohAgNAIAAoAgAgAmogAyAGai0AEDoAACACQQFqIQIgBkEBaiIGIAMvAQ5JDQALCyAAIAAoAgggCGoiAjYCCCABLwGKBSIGQYEBSw0BIAAoAgQgAiAGQQNqIgZqSQ0BIAAoAgAgAmogAS0AiAU6AAAgAiAAKAIAaiABLQCLBToAASACIAAoAgBqIAEtAIoFOgACIAEvAYoFBEAgAkEDaiEFQQAhAgNAIAAoAgAgBWogAiADai0AlAI6AAAgBUEBaiEFIAJBAWoiAiABLwGKBUkNAAsLIAAgACgCCCAGaiIBNgIIIAAoAgAgB2ogASAHayIBQRh2OgAAIAcgACgCAGogAUEQdjoAASAHIAAoAgBqIAFBCHY6AAIgByAAKAIAaiABOgADQQAhBQwCCyAEQeEfNgI0IARBhbsJNgIwDAELIARB5B82AkQgBEGFuwk2AkALIARB4ABqJAAgBQuVAgEDfyMAQdAAayICJAACQCABRQRAIAJBhRg2AgQgAkGfuQk2AgBBgYCAgHghAwwBCyAARQRAIAJBhhg2AhQgAkGfuQk2AhBBgYCAgHghAwwBCyAAKAIARQRAIAJBhxg2AiQgAkGfuQk2AiBBgYCAgHghAwwBCyAAKAIIIQQgAEH08JWjBxAzIgMEQCACQY0YNgJEIAJBn7kJNgJADAELIAAgAUGoAmoQcSIDBEAgAkGQGDYCNCACQZ+5CTYCMAwBCyAAKAIAIARqIAAoAgggBGsiAUEYdjoAACAEIAAoAgBqIAFBEHY6AAEgBCAAKAIAaiABQQh2OgACIAQgACgCAGogAToAA0EAIQMLIAJB0ABqJAAgAwu0AgEDfyMAQeAAayICJAACQCABRQRAIAJB0hw2AgQgAkHIugk2AgBBgYCAgHghAwwBCyAARQRAIAJB0xw2AhQgAkHIugk2AhBBgYCAgHghAwwBCyAAKAIARQRAIAJB1Bw2AiQgAkHIugk2AiBBgYCAgHghAwwBCyAAKAIIIQQgAEGxxtnDBhAzIgMEQCACQdkcNgJUIAJByLoJNgJQDAELIAAgAUGoAmoQcSIDBEAgAkHcHDYCRCACQci6CTYCQAwBCyAAIAEQtQQiAwRAIAJB3xw2AjQgAkHIugk2AjAMAQsgACgCACAEaiAAKAIIIARrIgFBGHY6AAAgBCAAKAIAaiABQRB2OgABIAQgACgCAGogAUEIdjoAAiAEIAAoAgBqIAE6AANBACEDCyACQeAAaiQAIAMLugIBA38jAEHgAGsiAiQAAkAgAUUEQCACQfQcNgIEIAJB17oJNgIAQYGAgIB4IQMMAQsgAEUEQCACQfUcNgIUIAJB17oJNgIQQYGAgIB4IQMMAQsgACgCAEUEQCACQfYcNgIkIAJB17oJNgIgQYGAgIB4IQMMAQsgACgCCCEEIABB9ujA6wYQMyIDBEAgAkH7HDYCVCACQde6CTYCUAwBCyAAIAFBqAJqEHEiAwRAIAJB/hw2AkQgAkHXugk2AkAMAQsgACABIAFB+AJqEIcCIgMEQCACQYEdNgI0IAJB17oJNgIwDAELIAAoAgAgBGogACgCCCAEayIBQRh2OgAAIAQgACgCAGogAUEQdjoAASAEIAAoAgBqIAFBCHY6AAIgBCAAKAIAaiABOgADQQAhAwsgAkHgAGokACADCy0AIABQRQRAA0AgAUF/aiIBIACnQQdxQTByOgAAIABCA4giAEIAUg0ACwsgAQuVAgEDfyMAQdAAayICJAACQCABRQRAIAJB5Bc2AgQgAkGQuQk2AgBBgYCAgHghAwwBCyAARQRAIAJB5Rc2AhQgAkGQuQk2AhBBgYCAgHghAwwBCyAAKAIARQRAIAJB5hc2AiQgAkGQuQk2AiBBgYCAgHghAwwBCyAAKAIIIQQgAEGg4NGTBxAzIgMEQCACQewXNgJEIAJBkLkJNgJADAELIAAgAUGoAmoQcSIDBEAgAkHvFzYCNCACQZC5CTYCMAwBCyAAKAIAIARqIAAoAgggBGsiAUEYdjoAACAEIAAoAgBqIAFBEHY6AAEgBCAAKAIAaiABQQh2OgACIAQgACgCAGogAToAA0EAIQMLIAJB0ABqJAAgAwuGCAEFfyMAQcABayIDJAACQCABRQRAIANBlx02AgQgA0Hmugk2AgBBgYCAgHghAgwBCyAARQRAIANBmB02AhQgA0Hmugk2AhBBgYCAgHghAgwBCyAAKAIARQRAIANBmR02AiQgA0Hmugk2AiBBgYCAgHghAgwBCyAAKAIIIQUgAEHh6MDrBhAzIgIEQCADQZ8dNgK0ASADQea6CTYCsAEMAQsgACgCBCAAKAIIIgJBBGpJBEAgA0GiHTYCNCADQea6CTYCMEGDgICAeCECDAELIAAoAgAgAmpBADoAACACIAAoAgBqQQA6AAEgAiAAKAIAakEAOgACIAIgACgCAGpBADoAAyAAIAAoAggiAkEEaiIENgIIIAAoAgQgAkEIakkEQCADQaUdNgJEIANB5roJNgJAQYOAgIB4IQIMAQsgACgCACAEakEAOgAAIAIgACgCAGpBADoABSACIAAoAgBqQQA6AAYgAiAAKAIAakEBOgAHIAAgACgCCCIEQQRqIgI2AgggBEEMaiIEIAAoAgQiBk0EQCACIARJBEADQCAAKAIAIAJqQQA6AAAgAkEBaiICIAAoAghBCGoiBEkNAAsgACgCBCEGCyAAIAQ2AgggBiAEQQJqSQRAIANBqx02AmQgA0Hmugk2AmBBg4CAgHghAgwCCyAAKAIAIARqIAEvAbgCIgJBCHY6AAAgBCAAKAIAaiACOgABIAAgACgCCCICQQJqIgQ2AgggACgCBCACQQRqSQRAIANBrh02AnQgA0Hmugk2AnBBg4CAgHghAgwCCyAAKAIAIARqIAEvAboCIgRBCHY6AAAgAiAAKAIAaiAEOgADIAAgACgCCCICQQJqIgQ2AgggACgCBCACQQZqSQRAIANBsR02AoQBIANB5roJNgKAAUGDgICAeCECDAILIAAoAgAgBGpBADoAACACIAAoAgBqQQA6AAMgAiAAKAIAakEAOgAEIAIgACgCAGpBADoABSAAIAAoAggiAkEEaiIENgIIIAAoAgQgAkEIakkEQCADQbQdNgKUASADQea6CTYCkAFBg4CAgHghAgwCCyAAKAIAIARqIAEoAsACIgRBGHY6AAAgAiAAKAIAaiAEQRB2OgAFIAIgACgCAGogBEEIdjoABiACIAAoAgBqIAQ6AAcgACAAKAIIQQRqNgIIIAAgASABQcQCahCHAiICBEAgA0G3HTYCpAEgA0Hmugk2AqABDAILIAAoAgAgBWogACgCCCAFayIBQRh2OgAAIAUgACgCAGogAUEQdjoAASAFIAAoAgBqIAFBCHY6AAIgBSAAKAIAaiABOgADQQAhAgwBCyADQagdNgJUIANB5roJNgJQQYOAgIB4IQILIANBwAFqJAAgAgu0AgEDfyMAQeAAayICJAACQCABRQRAIAJB4Rs2AgQgAkGqugk2AgBBgYCAgHghAwwBCyAARQRAIAJB4hs2AhQgAkGqugk2AhBBgYCAgHghAwwBCyAAKAIARQRAIAJB4xs2AiQgAkGqugk2AiBBgYCAgHghAwwBCyAAKAIIIQQgAEGxxtmLBhAzIgMEQCACQegbNgJUIAJBqroJNgJQDAELIAAgAUGoAmoQcSIDBEAgAkHrGzYCRCACQaq6CTYCQAwBCyAAIAEQtgQiAwRAIAJB7hs2AjQgAkGqugk2AjAMAQsgACgCACAEaiAAKAIIIARrIgFBGHY6AAAgBCAAKAIAaiABQRB2OgABIAQgACgCAGogAUEIdjoAAiAEIAAoAgBqIAE6AANBACEDCyACQeAAaiQAIAML6QQBBX8jAEGQAWsiBCQAAkAgAkUEQCAEQbIbNgIEIARBm7oJNgIAQYGAgIB4IQMMAQsgAUUEQCAEQbMbNgIUIARBm7oJNgIQQYGAgIB4IQMMAQsgASgCAEUEQCAEQbQbNgIkIARBm7oJNgIgQYGAgIB4IQMMAQsgAEUEQCAEQbUbNgI0IARBm7oJNgIwQYGAgIB4IQMMAQsgASgCCCEFIAFB8+jRmwYQMyIDBEAgBEG7GzYChAEgBEGbugk2AoABDAELIAEoAggiA0EEaiEGIAEoAgQhBwJAIAAoAow6QQJGBEBBASEAIAcgBk8NASAEQcAbNgJEIARBm7oJNgJAQYOAgIB4IQMMAgtBACEAIAcgBk8NACAEQcUbNgJ0IARBm7oJNgJwQYOAgIB4IQMMAQsgASgCACADaiAAOgAAIAMgASgCAGpBADoAASADIAEoAgBqQQA6AAIgAyABKAIAakEAOgADIAEgASgCCCIAQQRqIgM2AgggASgCBCAAQQhqSQRAIARByRs2AlQgBEGbugk2AlBBg4CAgHghAwwBCyABKAIAIANqIAJB8AtqKAIAIgNBGHY6AAAgACABKAIAaiADQRB2OgAFIAAgASgCAGogA0EIdjoABiAAIAEoAgBqIAM6AAcgASABKAIIQQRqNgIIIAJB9AtqIAFBCBByIgMEQCAEQcwbNgJkIARBm7oJNgJgDAELIAEoAgAgBWogASgCCCAFayIAQRh2OgAAIAUgASgCAGogAEEQdjoAASAFIAEoAgBqIABBCHY6AAIgBSABKAIAaiAAOgADQQAhAwsgBEGQAWokACADC6cEAQN/IwBBgAFrIgMkAAJAIAJFBEAgA0GJGzYCBCADQYy6CTYCAEGBgICAeCEADAELIAFFBEAgA0GKGzYCFCADQYy6CTYCEEGBgICAeCEADAELIAEoAgBFBEAgA0GLGzYCJCADQYy6CTYCIEGBgICAeCEADAELIABFBEAgA0GMGzYCNCADQYy6CTYCMEGBgICAeCEADAELIAEoAgghBCABQfPm0ZsHEDMiAARAIANBkhs2AnQgA0GMugk2AnAMAQsgASgCBCABKAIIIgBBBGpJBEAgA0GVGzYCRCADQYy6CTYCQEGDgICAeCEADAELIAEoAgAgAGpBADoAACAAIAEoAgBqQQA6AAEgACABKAIAakEAOgACIAAgASgCAGpBADoAAyABIAEoAggiAEEEaiIFNgIIIAEoAgQgAEEIakkEQCADQZgbNgJUIANBjLoJNgJQQYOAgIB4IQAMAQsgASgCACAFaiACQdQLaigCACIFQRh2OgAAIAAgASgCAGogBUEQdjoABSAAIAEoAgBqIAVBCHY6AAYgACABKAIAaiAFOgAHIAEgASgCCEEEajYCCCACQdgLaiABQQQQciIABEAgA0GbGzYCZCADQYy6CTYCYAwBCyABKAIAIARqIAEoAgggBGsiAEEYdjoAACAEIAEoAgBqIABBEHY6AAEgBCABKAIAaiAAQQh2OgACIAQgASgCAGogADoAA0EAIQALIANBgAFqJAAgAAvsBAEDfyMAQZABayIEJAACQCACRQRAIARB1xo2AgQgBEH9uQk2AgBBgYCAgHghAwwBCyABRQRAIARB2Bo2AhQgBEH9uQk2AhBBgYCAgHghAwwBCyABKAIARQRAIARB2Ro2AiQgBEH9uQk2AiBBgYCAgHghAwwBCyAARQRAIARB2ho2AjQgBEH9uQk2AjBBgYCAgHghAwwBCyABKAIIIQUgAUG07LybBhAzIgMEQCAEQeAaNgKEASAEQf25CTYCgAEMAQsgASgCBCABKAIIIgNBBGpJBEAgBEHjGjYCRCAEQf25CTYCQEGDgICAeCEDDAELIAEoAgAgA2pBADoAACADIAEoAgBqQQA6AAEgAyABKAIAakEAOgACIAMgASgCAGpBADoAAyABIAEoAghBBGoiAzYCCAJAIAJBtAtqKAIABEAgACACQZgLahCNAiIDDQEgASgCCCEDCyABKAIEIANBBGpJBEAgBEHsGjYCVCAEQf25CTYCUEGDgICAeCEDDAILIAEoAgAgA2ogAkGkC2ooAgAiAEEYdjoAACADIAEoAgBqIABBEHY6AAEgAyABKAIAaiAAQQh2OgACIAMgASgCAGogADoAAyABIAEoAghBBGoiADYCCCACQcALaiAANgIAIAJBqAtqIAFBCBByIgMEQCAEQfIaNgJkIARB/bkJNgJgDAILIAEoAgAgBWogASgCCCAFayIAQRh2OgAAIAUgASgCAGogAEEQdjoAASAFIAEoAgBqIABBCHY6AAIgBSABKAIAaiAAOgADQQAhAwwBCyAEQegaNgJ0IARB/bkJNgJwCyAEQZABaiQAIAMLlQcBBH8jAEGwAWsiBCQAAkAgAkUEQCAEQccZNgIEIARB37kJNgIAQYGAgIB4IQMMAQsgAUUEQCAEQcgZNgIUIARB37kJNgIQQYGAgIB4IQMMAQsgASgCAEUEQCAEQckZNgIkIARB37kJNgIgQYGAgIB4IQMMAQsgAEUEQCAEQcoZNgI0IARB37kJNgIwQYGAgIB4IQMMAQsgASgCCCEFIAFB+ubRmwcQMyIDBEAgBEHQGTYCpAEgBEHfuQk2AqABDAELIAEoAgQgASgCCCIDQQRqSQRAIARB0xk2AkQgBEHfuQk2AkBBg4CAgHghAwwBCyABKAIAIANqQQA6AAAgAyABKAIAakEAOgABIAMgASgCAGpBADoAAiADIAEoAgBqQQA6AAMgASABKAIIIgNBBGoiBjYCCAJAAkACfwJAIAIoAoAMQe7qvZsHRw0AIAAoAghBfnFBkAFHDQAgASgCBCADQQhqSQRAIARB2xk2AlQgBEHfuQk2AlBBg4CAgHghAwwFCyABKAIAIAZqQQA6AAAgAyABKAIAakEAOgAFIAMgASgCAGpBADoABiADIAEoAgBqQQE6AAcgASABKAIIIgNBBGoiBjYCCCABKAIEIANBCGpPBEAgAkHcCmooAgAgAkHYCmooAgBsDAILIARB3hk2AmQgBEHfuQk2AmBBg4CAgHghAwwECyABKAIEIANBCGpJBEAgBEHjGTYChAEgBEHfuQk2AoABQYOAgIB4IQMMBAsgASgCACAGaiACQdgKaigCACIAQRh2OgAAIAMgASgCAGogAEEQdjoABSADIAEoAgBqIABBCHY6AAYgAyABKAIAaiAAOgAHIAEgASgCCCIDQQRqIgY2AgggASgCBCADQQhqSQ0BIAJB3ApqKAIACyEAIAEoAgAgBmogAEEYdjoAACADIAEoAgBqIABBEHY6AAUgAyABKAIAaiAAQQh2OgAGIAMgASgCAGogADoAByABIAEoAghBBGoiAzYCCCACQdgKaigCAEUEQCACQeAKaiABQQQQciIDDQIgASgCCCEDCyABKAIAIAVqIAMgBWsiAEEYdjoAACAFIAEoAgBqIABBEHY6AAEgBSABKAIAaiAAQQh2OgACIAUgASgCAGogADoAA0EAIQMMAgsgBEHmGTYClAEgBEHfuQk2ApABQYOAgIB4IQMMAQsgBEHsGTYCdCAEQd+5CTYCcAsgBEGwAWokACADC4gHAQR/IwBB4AFrIgIkAAJAIAFFBEAgAkGQFzYCBCACQYG5CTYCAEGBgICAeCEDDAELIABFBEAgAkGRFzYCFCACQYG5CTYCEEGBgICAeCEDDAELIAAoAgBFBEAgAkGSFzYCJCACQYG5CTYCIEGBgICAeCEDDAELIAAoAgghBSAAQeTm0ZsHEDMiAwRAIAJBmBc2AtQBIAJBgbkJNgLQAQwBCyAAKAIEIAAoAggiA0EEakkEQCACQZsXNgI0IAJBgbkJNgIwQYOAgIB4IQMMAQsgACgCACADakEAOgAAIAMgACgCAGpBADoAASADIAAoAgBqQQA6AAIgAyAAKAIAakEAOgADIAAgACgCCCIDQQRqIgQ2AgggACgCBCADQQhqSQRAIAJBnhc2AkQgAkGBuQk2AkBBg4CAgHghAwwBCyAAKAIAIARqIAEoApQCIgRBGHY6AAAgAyAAKAIAaiAEQRB2OgAFIAMgACgCAGogBEEIdjoABiADIAAoAgBqIAQ6AAcgACAAKAIIQQRqNgIIQYKAgIB4IQMCQAJAAkACQCABKAKYAiIEQfXowOsGTARAIARBsMbZwwZMBEAgBEH3wrGLBkYNAiAEQbHG2YsGRw0GIAAgARC9BCIDRQ0FIAJBpBc2AlQgAkGBuQk2AlAMBgsgBEGxxtnDBkYNAiAEQeHowOsGRw0FIAAgARC8BCIDRQ0EIAJBrhc2AnQgAkGBuQk2AnAMBQsCQCAEQfPwlaMHTARAIARB9ujA6wZGDQEgBEGg4NGTB0cNBiAAIAEQuwQiA0UNBSACQccXNgLEASACQYG5CTYCwAEMBgsgBEH08JWjB0YNAyAEQffCsasHRw0FIAAgAUH3wrGrBxCIAiIDRQ0EIAJBuBc2ApQBIAJBgbkJNgKQAQwFCyAAIAEQuQQiA0UNAyACQakXNgJkIAJBgbkJNgJgDAQLIAAgAUH3wrGLBhCIAiIDRQ0CIAJBsxc2AoQBIAJBgbkJNgKAAQwDCyAAIAEQuAQiA0UNASACQb0XNgKkASACQYG5CTYCoAEMAgsgACABELcEIgNFDQAgAkHCFzYCtAEgAkGBuQk2ArABDAELIAAoAgAgBWogACgCCCAFayIBQRh2OgAAIAUgACgCAGogAUEQdjoAASAFIAAoAgBqIAFBCHY6AAIgBSAAKAIAaiABOgADQQAhAwsgAkHgAWokACADC/wHAQV/IwBBoAFrIgQkAAJAIAJFBEAgBEGHGjYCBCAEQe65CTYCAEGBgICAeCEDDAELIAFFBEAgBEGIGjYCFCAEQe65CTYCEEGBgICAeCEDDAELIAEoAgBFBEAgBEGJGjYCJCAEQe65CTYCIEGBgICAeCEDDAELIABFBEAgBEGKGjYCNCAEQe65CTYCMEGBgICAeCEDDAELIAEoAgghBSABQePm0ZsHEDMiAwRAIARBkRo2ApQBIARB7rkJNgKQAQwBCyABKAIEIAEoAggiA0EEakkEQCAEQZQaNgJEIARB7rkJNgJAQYOAgIB4IQMMAQsgASgCACADakEAOgAAIAMgASgCAGpBADoAASADIAEoAgBqQQA6AAIgAyABKAIAakEAOgADIAEgASgCCEEEaiIDNgIIAkAgAigCgAxB7uq9mwdHDQAgACgCCEF+cUGQAUcNACACQdgKaigCACIARQ0AIAJBkAtqQQE2AgAgAkGAC2pBATYCACACQYgLaiAANgIAIAEoAgghAwsgASgCBCADQQRqSQRAIARBtho2AlQgBEHuuQk2AlBBg4CAgHghAwwBCyABKAIAIANqIAJB/ApqKAIAIgBBGHY6AAAgAyABKAIAaiAAQRB2OgABIAMgASgCAGogAEEIdjoAAiADIAEoAgBqIAA6AAMgASABKAIIQQRqIgM2AgggAigC/AoEQANAIAEoAgQgA0EEakkEQCAEQbsaNgJkIARB7rkJNgJgQYOAgIB4IQMMAwsgASgCACADaiACIAZBAnRqIgdBgAtqKAIAIgBBGHY6AAAgAyABKAIAaiAAQRB2OgABIAMgASgCAGogAEEIdjoAAiADIAEoAgBqIAA6AAMgASABKAIIIgBBBGoiAzYCCCABKAIEIABBCGpJBEAgBEG9GjYCdCAEQe65CTYCcEGDgICAeCEDDAMLIAEoAgAgA2ogB0GIC2ooAgAiA0EYdjoAACAAIAEoAgBqIANBEHY6AAUgACABKAIAaiADQQh2OgAGIAAgASgCAGogAzoAByABIAEoAggiAEEEaiIDNgIIIAEoAgQgAEEIakkEQCAEQb8aNgKEASAEQe65CTYCgAFBg4CAgHghAwwDCyABKAIAIANqIAdBkAtqKAIAIgNBGHY6AAAgACABKAIAaiADQRB2OgAFIAAgASgCAGogA0EIdjoABiAAIAEoAgBqIAM6AAcgASABKAIIQQRqIgM2AgggBkEBaiIGIAIoAvwKSQ0ACwsgASgCACAFaiADIAVrIgBBGHY6AAAgBSABKAIAaiAAQRB2OgABIAUgASgCAGogAEEIdjoAAiAFIAEoAgBqIAA6AANBACEDCyAEQaABaiQAIAMLzgYBBX8jAEGgAWsiBCQAAkAgAkUEQCAEQfgYNgIEIARB0LkJNgIAQYGAgIB4IQMMAQsgAUUEQCAEQfkYNgIUIARB0LkJNgIQQYGAgIB4IQMMAQsgASgCAEUEQCAEQfoYNgIkIARB0LkJNgIgQYGAgIB4IQMMAQsgAEUEQCAEQfsYNgI0IARB0LkJNgIwQYGAgIB4IQMMAQsgASgCCCEFIAFB8+jRmwcQMyIDBEAgBEGCGTYClAEgBEHQuQk2ApABDAELIAEoAgQgASgCCCIDQQRqSQRAIARBhRk2AkQgBEHQuQk2AkBBg4CAgHghAwwBCyABKAIAIANqQQA6AAAgAyABKAIAakEAOgABIAMgASgCAGpBADoAAiADIAEoAgBqQQA6AAMgASABKAIIQQRqIgM2AggCQCACKAKADEHu6r2bB0cNACAAKAIIQX5xQZABRw0AAkAgAkG4CmoiBkF/EFgiAwRAIAJB3ApqKAIAIQAgAkHYCmooAgAhBiADQYCAgAg2AAQgAyAAIAZsIgA6AAMgAyAAQQh2OgACIAMgAEEQdjoAASADIABBGHY6AAAMAQsgAEH0OmpBCBBNIgBFBEAgBEGdGTYCVCAEQdC5CTYCUEGDgICAeCEDDAMLIAJB3ApqKAIAIQMgAkHYCmooAgAhByAAQYCAgAg2AAQgACADIAdsIgM6AAMgACADQQh2OgACIAAgA0EQdjoAASAAIANBGHY6AAAgBiAAEEkiA0UNACAEQaYZNgKEASAEQdC5CTYCgAEMAgsgAkG0CmpBATYCACABKAIIIQMLIAEoAgQgA0EEakkEQCAEQa0ZNgJkIARB0LkJNgJgQYOAgIB4IQMMAQsgASgCACADaiACQbQKaigCACIAQRh2OgAAIAMgASgCAGogAEEQdjoAASADIAEoAgBqIABBCHY6AAIgAyABKAIAaiAAOgADIAEgASgCCEEEajYCCCACQbgKaiABQQgQciIDBEAgBEGwGTYCdCAEQdC5CTYCcAwBCyABKAIAIAVqIAEoAgggBWsiAEEYdjoAACAFIAEoAgBqIABBEHY6AAEgBSABKAIAaiAAQQh2OgACIAUgASgCAGogADoAA0EAIQMLIARBoAFqJAAgAwv5AwEDfyMAQbABayIDJAACQCACRQRAIANB2BY2AgQgA0HyuAk2AgBBgYCAgHghBAwBCyABRQRAIANB2RY2AhQgA0HyuAk2AhBBgYCAgHghBAwBCyABKAIARQRAIANB2hY2AiQgA0HyuAk2AiBBgYCAgHghBAwBCyABKAIIIQUgAUHsxNGbBxAzIgQEQCADQd8WNgKkASADQfK4CTYCoAEMAQsgACABIAIQxAQiBARAIANB4hY2ApQBIANB8rgJNgKQAQwBCyAAIAEgAhDDBCIEBEAgA0HlFjYChAEgA0HyuAk2AoABDAELIAEgAhDCBCIEBEAgA0HoFjYCdCADQfK4CTYCcAwBCyAAIAEgAhDBBCIEBEAgA0HrFjYCZCADQfK4CTYCYAwBCyAAIAEgAhDABCIEBEAgA0HuFjYCVCADQfK4CTYCUAwBCwJAIAIoAoAMQeXIpbMHRw0AIAAgASACEL8EIgQEQCADQfMWNgJEIANB8rgJNgJADAILIAAoAow6RQ0AIAAgASACEL4EIgRFDQAgA0H4FjYCNCADQfK4CTYCMAwBCyABKAIAIAVqIAEoAgggBWsiAEEYdjoAACAFIAEoAgBqIABBEHY6AAEgBSABKAIAaiAAQQh2OgACIAUgASgCAGogADoAA0EAIQQLIANBsAFqJAAgBAvfBgEGfyMAQaABayICJAACQCABRQRAIAJBlxY2AgQgAkHjuAk2AgBBgYCAgHghAwwBCyAARQRAIAJBmBY2AhQgAkHjuAk2AhBBgYCAgHghAwwBCyAAKAIARQRAIAJBmRY2AiQgAkHjuAk2AiBBgYCAgHghAwwBCyAAKAIIIQQgAEHm3KWjBhAzIgMEQCACQZ4WNgKUASACQeO4CTYCkAEMAQsgACgCCCEFIABB5srJowYQMyIDBEAgAkGkFjYChAEgAkHjuAk2AoABDAELIAAoAgQgACgCCCIDQQRqSQRAIAJBpxY2AjQgAkHjuAk2AjBBg4CAgHghAwwBCyAAKAIAIANqQQA6AAAgAyAAKAIAakEAOgABIAMgACgCAGpBADoAAiADIAAoAgBqQQA6AAMgACAAKAIIIgNBBGoiBjYCCCAAKAIEIANBCGpJBEAgAkGqFjYCRCACQeO4CTYCQEGDgICAeCEDDAELIAAoAgAgBmpBADoAACADIAAoAgBqQQA6AAUgAyAAKAIAakEAOgAGIAMgACgCAGpBAToAByAAIAAoAggiBkEEaiIHNgIIAkAgASgCgAwiAUH08JWjB0dBACABQfTcpcMGRxtFBEAgAEHz0rGLBhAzIgNFDQEgAkG0FjYCdCACQeO4CTYCcAwCCyAAQaDYyasHEDMiA0UNACACQbgWNgJkIAJB47gJNgJgDAELIAAoAgQgACgCCCIBQQRqSQRAIAJBvBY2AlQgAkHjuAk2AlBBg4CAgHghAwwBC0EAIQMgACgCACABakEAOgAAIAEgACgCAGpBADoAASABIAAoAgBqQQA6AAIgASAAKAIAakEBOgADIAAgACgCCEEEaiIBNgIIIAAoAgAgB2ogASAHayIBQRh2OgAAIAYgACgCAGogAUEQdjoABSAGIAAoAgBqIAFBCHY6AAYgBiAAKAIAaiABOgAHIAAoAgAgBWogACgCCCAFayIBQRh2OgAAIAUgACgCAGogAUEQdjoAASAFIAAoAgBqIAFBCHY6AAIgBSAAKAIAaiABOgADIAAoAgAgBGogACgCCCAEayIBQRh2OgAAIAQgACgCAGogAUEQdjoAASAEIAAoAgBqIAFBCHY6AAIgBCAAKAIAaiABOgADCyACQaABaiQAIAMLlQYBBH8jAEGQAWsiAiQAAkAgAUUEQCACQdcVNgIEIAJB07gJNgIAQYGAgIB4IQQMAQsgAEUEQCACQdgVNgIUIAJB07gJNgIQQYGAgIB4IQQMAQsgACgCAEUEQCACQdkVNgIkIAJB07gJNgIgQYGAgIB4IQQMAQsgACgCCCEFAkACQAJAAkAgASgCgAwiAUHz8JWjB0wEQCAFIQMgAUH03KXDBkYNAyABQe7qvZsHRw0FIABB5NC1mwcQMyIBRQ0BIAJB7hU2AoQBIAJB07gJNgKAASABIQQMBQsgBSEDIAFB9PCVowdGDQIgAUHlyKWzB0cNBCAAQeTQtbMHEDMiAQRAIAJB4hU2AlQgAkHTuAk2AlAgASEEDAULIAAoAgQgACgCCCIBQQRqSQRAIAJB5RU2AjQgAkHTuAk2AjBBg4CAgHghBAwFCyAAKAIAIAFqQQA6AAAgASAAKAIAakEAOgABIAEgACgCAGpBADoAAiABIAAoAgBqQQE6AAMgACAAKAIIIgNBBGoiATYCCCADQQxqIgMgACgCBE0EQCABIANPDQIDQCAAKAIAIAFqQQA6AAAgAUEBaiIBIAAoAghBCGoiA0kNAAsMAgsgAkHoFTYCRCACQdO4CTYCQEGDgICAeCEEDAQLIAAoAgQgACgCCCIBQQRqSQRAIAJB8RU2AmQgAkHTuAk2AmBBg4CAgHghBAwECyAAKAIAIAFqQQA6AAAgASAAKAIAakEAOgABIAEgACgCAGpBADoAAiABIAAoAgBqQQA6AAMgACAAKAIIIgFBBGoiAzYCCCAAKAIEIAFBCGpJDQIgACgCACADakEAOgAAIAEgACgCAGpBADoABSABIAAoAgBqQQA6AAYgASAAKAIAakEAOgAHIAAoAghBBGohAwsgACADNgIICyAAKAIAIAVqIAMgBWsiAUEYdjoAACAFIAAoAgBqIAFBEHY6AAEgBSAAKAIAaiABQQh2OgACIAUgACgCAGogAToAAwwBCyACQfQVNgJ0IAJB07gJNgJwQYOAgIB4IQQLIAJBkAFqJAAgBAvSAgEDfyMAQfAAayIDJAACQCACRQRAIANBshU2AgQgA0HEuAk2AgBBgYCAgHghBAwBCyABRQRAIANBsxU2AhQgA0HEuAk2AhBBgYCAgHghBAwBCyABKAIARQRAIANBtBU2AiQgA0HEuAk2AiBBgYCAgHghBAwBCyABKAIIIQUgAUHm3KXrBhAzIgQEQCADQbkVNgJkIANBxLgJNgJgDAELIAEgAhDHBCIEBEAgA0G8FTYCVCADQcS4CTYCUAwBCyABIAIQxgQiBARAIANBvxU2AkQgA0HEuAk2AkAMAQsgACABIAIQxQQiBARAIANBwhU2AjQgA0HEuAk2AjAMAQsgASgCACAFaiABKAIIIAVrIgBBGHY6AAAgBSABKAIAaiAAQRB2OgABIAUgASgCAGogAEEIdjoAAiAFIAEoAgBqIAA6AANBACEECyADQfAAaiQAIAQLrAUBBH8jAEGAAWsiAyQAAkAgAUUEQCADQYkVNgIEIANBtbgJNgIAQYGAgIB4IQIMAQsgAEUEQCADQYoVNgIUIANBtbgJNgIQQYGAgIB4IQIMAQsgACgCAEUEQCADQYsVNgIkIANBtbgJNgIgQYGAgIB4IQIMAQsgACgCCCEEIABB8tiRwwYQMyICBEAgA0GQFTYCdCADQbW4CTYCcAwBCyAAKAIEIAAoAggiAkEEakkEQCADQZMVNgI0IANBtbgJNgIwQYOAgIB4IQIMAQsgACgCACACakEAOgAAIAIgACgCAGpBADoAASACIAAoAgBqQQA6AAIgAiAAKAIAakEAOgADIAAgACgCCCICQQRqIgU2AgggACgCBCACQQhqSQRAIANBlhU2AkQgA0G1uAk2AkBBg4CAgHghAgwBCyAAKAIAIAVqQQA6AAAgAiAAKAIAakEAOgAFIAIgACgCAGpBADoABiACIAAoAgBqQQA6AAcgACAAKAIIIgJBBGoiBTYCCCAAKAIEIAJBCGpJBEAgA0GZFTYCVCADQbW4CTYCUEGDgICAeCECDAELIAAoAgAgBWogASgCoAEiAUEYdjoAACACIAAoAgBqIAFBEHY6AAUgAiAAKAIAaiABQQh2OgAGIAIgACgCAGogAToAByAAIAAoAggiAUEEaiICNgIIIAFBHGoiASAAKAIETQRAIAIgAUkEQANAIAAoAgAgAmpBADoAACACQQFqIgIgACgCCEEYaiIBSQ0ACwsgACABNgIIIAAoAgAgBGogASAEayIBQRh2OgAAIAQgACgCAGogAUEQdjoAASAEIAAoAgBqIAFBCHY6AAIgBCAAKAIAaiABOgADQQAhAgwBCyADQZwVNgJkIANBtbgJNgJgQYOAgIB4IQILIANBgAFqJAAgAgvGBwEEfyMAQaABayIDJAACQCABRQRAIANB2hQ2AgQgA0GmuAk2AgBBgYCAgHghAgwBCyAARQRAIANB2xQ2AhQgA0GmuAk2AhBBgYCAgHghAgwBCyAAKAIARQRAIANB3BQ2AiQgA0GmuAk2AiBBgYCAgHghAgwBCyAAKAIIIQUgAEHk0JHrBhAzIgIEQCADQeIUNgKUASADQaa4CTYCkAEMAQsgACgCBCAAKAIIIgJBBGpJBEAgA0HlFDYCNCADQaa4CTYCMEGDgICAeCECDAELIAAoAgAgAmpBADoAACACIAAoAgBqQQA6AAEgAiAAKAIAakEAOgACIAIgACgCAGpBADoAAyAAIAAoAggiAkEEaiIENgIIIAAoAgQgAkEIakkEQCADQegUNgJEIANBprgJNgJAQYOAgIB4IQIMAQsgACgCACAEaiABKAJ8IgRBGHY6AAAgAiAAKAIAaiAEQRB2OgAFIAIgACgCAGogBEEIdjoABiACIAAoAgBqIAQ6AAcgACAAKAIIIgJBBGoiBDYCCCAAKAIEIAJBCGpJBEAgA0HrFDYCVCADQaa4CTYCUEGDgICAeCECDAELIAAoAgAgBGogASgCgAEiBEEYdjoAACACIAAoAgBqIARBEHY6AAUgAiAAKAIAaiAEQQh2OgAGIAIgACgCAGogBDoAByAAIAAoAggiAkEEaiIENgIIIAAoAgQgAkEIakkEQCADQe4UNgJkIANBprgJNgJgQYOAgIB4IQIMAQsgACgCACAEaiABKAKEASIEQRh2OgAAIAIgACgCAGogBEEQdjoABSACIAAoAgBqIARBCHY6AAYgAiAAKAIAaiAEOgAHIAAgACgCCCICQQRqIgQ2AgggACgCBCACQQhqSQRAIANB8RQ2AnQgA0GmuAk2AnBBg4CAgHghAgwBCyAAKAIAIARqIAEoAogBIgFBGHY6AAAgAiAAKAIAaiABQRB2OgAFIAIgACgCAGogAUEIdjoABiACIAAoAgBqIAE6AAcgACAAKAIIIgFBBGoiBDYCCCAAKAIEIAFBCGpJBEAgA0H0FDYChAEgA0GmuAk2AoABQYOAgIB4IQIMAQtBACECIAAoAgAgBGpBADoAACABIAAoAgBqQQA6AAUgASAAKAIAakEAOgAGIAEgACgCAGpBADoAByAAIAAoAghBBGoiATYCCCAAKAIAIAVqIAEgBWsiAUEYdjoAACAFIAAoAgBqIAFBEHY6AAEgBSAAKAIAaiABQQh2OgACIAUgACgCAGogAToAAwsgA0GgAWokACACC7YDAQN/IwBBkAFrIgMkAAJAIAFFBEAgA0GzFDYCBCADQZe4CTYCAEGBgICAeCECDAELIAEoAgBFBEAgA0G0FDYCFCADQZe4CTYCEEGBgICAeCECDAELAkACfyAARQRAIANB9A02AjQgA0GRtgk2AjBBgYCAgHgMAQsgACgC4AMiBARAA0AgACAFQYgMbGpB6A9qKAIAIAJGDQMgBUEBaiIFIARHDQALCyADIAI2AkBBgIKAgHgLIQIgA0G2FDYCJCADQZe4CTYCIAwBCyABKAIIIQQgAUHh0pHrBhAzIgIEQCADQbsUNgKEASADQZe4CTYCgAEMAQsgASAAIAVBiAxsakHoA2oiBRDKBCICBEAgA0G+FDYCdCADQZe4CTYCcAwBCyABIAUQyQQiAgRAIANBwRQ2AmQgA0GXuAk2AmAMAQsgACABIAUQyAQiAgRAIANBxBQ2AlQgA0GXuAk2AlAMAQsgASgCACAEaiABKAIIIARrIgBBGHY6AAAgBCABKAIAaiAAQRB2OgABIAQgASgCAGogAEEIdjoAAiAEIAEoAgBqIAA6AANBACECCyADQZABaiQAIAIL9wwCBn8BfCMAQZACayIFJAACQCAARQRAIAVB8hM2AgQgBUGIuAk2AgBBgYCAgHghAwwBCyABRQRAIAVB8xM2AhQgBUGIuAk2AhBBgYCAgHghAwwBCyABKAIARQRAIAVB9BM2AiQgBUGIuAk2AiBBgYCAgHghAwwBCyABKAIIIQggAUHk0K2jBxAzIgMEQCAFQfkTNgKEAiAFQYi4CTYCgAIMAQsgASgCBCABKAIIIgNBBGpJBEAgBUH8EzYCNCAFQYi4CTYCMEGDgICAeCEDDAELIAEoAgAgA2pBADoAACADIAEoAgBqQQA6AAEgAyABKAIAakEAOgACIAMgASgCAGpBBzoAAyABIAEoAggiA0EEaiIENgIIAkAgACgC4AMiBgRAA0AgACAHQYgMbGpB6A9qKAIAIAJGDQIgB0EBaiIHIAZHDQALCyAFIAI2AlAgBUH+EzYCRCAFQYi4CTYCQEGAgoCAeCEDDAELIAEoAgQgA0EIakkEQCAFQYEUNgJkIAVBiLgJNgJgQYOAgIB4IQMMAQsgASgCACAEaiAAIAdBiAxsaiIGKAL8AyIEQRh2OgAAIAMgASgCAGogBEEQdjoABSADIAEoAgBqIARBCHY6AAYgAyABKAIAaiAEOgAHIAEgASgCCCIDQQRqIgQ2AgggASgCBCADQQhqSQRAIAVBhBQ2AnQgBUGIuAk2AnBBg4CAgHghAwwBCyABKAIAIARqIAYoAoAEIgRBGHY6AAAgAyABKAIAaiAEQRB2OgAFIAMgASgCAGogBEEIdjoABiADIAEoAgBqIAQ6AAcgASABKAIIIgNBBGoiBDYCCCABKAIEIANBCGpJBEAgBUGHFDYChAEgBUGIuAk2AoABQYOAgIB4IQMMAQsgASgCACAEaiAAIAdBiAxsaigChAQiBEEYdjoAACADIAEoAgBqIARBEHY6AAUgAyABKAIAaiAEQQh2OgAGIAMgASgCAGogBDoAByABIAEoAggiA0EEaiIENgIIIAEoAgQgA0EIakkEQCAFQYoUNgKUASAFQYi4CTYCkAFBg4CAgHghAwwBCyABKAIAIARqQQA6AAAgAyABKAIAakEAOgAFIAMgASgCAGpBADoABiADIAEoAgBqQQA6AAcgASABKAIIIgNBBGoiBjYCCAJ/IAAgB0GIDGxqIgQoAowEuCAEKALsBLijIAAoAqwBuKIiCUQAAAAAAADwQWMgCUQAAAAAAAAAAGZxBEAgCasMAQtBAAshBCABKAIEIANBCGpJBEAgBUGNFDYCpAEgBUGIuAk2AqABQYOAgIB4IQMMAQsgASgCACAGaiAEQRh2OgAAIAMgASgCAGogBEEQdjoABSADIAEoAgBqIARBCHY6AAYgAyABKAIAaiAEOgAHIAEgASgCCCIEQQRqIgM2AgggBEEQaiIEIAEoAgQiBk0EQCADIARJBEADQCABKAIAIANqQQA6AAAgA0EBaiIDIAEoAghBDGoiBEkNAAsgASgCBCEGCyABIAQ2AgggBiAEQQRqSQRAIAVBlBQ2AsQBIAVBiLgJNgLAAUGDgICAeCEDDAILIAEoAgAgBGogAkHu6r2bB0Y6AAAgBCABKAIAakEAOgABIAQgASgCAGpBADoAAiAEIAEoAgBqQQA6AAMgASABKAIIQQRqNgIIIAEQjAIiAwRAIAVBlxQ2AvQBIAVBiLgJNgLwAQwCCyABKAIEIAEoAggiAkEEakkEQCAFQZoUNgLUASAFQYi4CTYC0AFBg4CAgHghAwwCCyABKAIAIAJqIAAgB0GIDGxqIgMoAsQEIgBBGHY6AAAgAiABKAIAaiAAQRB2OgABIAIgASgCAGogAEEIdjoAAiACIAEoAgBqIAA6AAMgASABKAIIIgBBBGoiAjYCCCABKAIEIABBCGpJBEAgBUGdFDYC5AEgBUGIuAk2AuABQYOAgIB4IQMMAgsgASgCACACaiADKALIBCICQRh2OgAAIAAgASgCAGogAkEQdjoABSAAIAEoAgBqIAJBCHY6AAYgACABKAIAaiACOgAHIAEgASgCCEEEaiIANgIIIAEoAgAgCGogACAIayIAQRh2OgAAIAggASgCAGogAEEQdjoAASAIIAEoAgBqIABBCHY6AAIgCCABKAIAaiAAOgADQQAhAwwBCyAFQZEUNgK0ASAFQYi4CTYCsAFBg4CAgHghAwsgBUGQAmokACADC7gOAgd/An0jAEGwAmsiBCQAAkAgAEUEQCAEQYETNgIEIARB6rcJNgIAQYGAgIB4IQIMAQsgAUUEQCAEQYITNgIUIARB6rcJNgIQQYGAgIB4IQIMAQsgASgCAEUEQCAEQYMTNgIkIARB6rcJNgIgQYGAgIB4IQIMAQsgASgCCCEGIAFB5NDZ6wYQMyICBEAgBEGIEzYCpAIgBEHqtwk2AqACDAELIAEoAgQgASgCCCICQQRqSQRAIARBixM2AjQgBEHqtwk2AjBBg4CAgHghAgwBCyABKAIAIAJqQQA6AAAgAiABKAIAakEAOgABIAIgASgCAGpBADoAAiACIAEoAgBqQQA6AAMgASABKAIIIgJBBGoiAzYCCCABKAIEIAJBCGpJBEAgBEGOEzYCRCAEQeq3CTYCQEGDgICAeCECDAELIAEoAgAgA2ogACgCpAEiA0EYdjoAACACIAEoAgBqIANBEHY6AAUgAiABKAIAaiADQQh2OgAGIAIgASgCAGogAzoAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQZETNgJUIARB6rcJNgJQQYOAgIB4IQIMAQsgASgCACADaiAAKAKoASIDQRh2OgAAIAIgASgCAGogA0EQdjoABSACIAEoAgBqIANBCHY6AAYgAiABKAIAaiADOgAHIAEgASgCCCICQQRqIgM2AgggASgCBCACQQhqSQRAIARBlBM2AmQgBEHqtwk2AmBBg4CAgHghAgwBCyABKAIAIANqIAAoAqwBIgNBGHY6AAAgAiABKAIAaiADQRB2OgAFIAIgASgCAGogA0EIdjoABiACIAEoAgBqIAM6AAcgASABKAIIIgNBBGoiBTYCCCAAKAIAIgdBAnEEQAJAIAAoAuADIggEQEEAIQIDQCAAIAJBiAxsakHoD2ooAgBB7uq9mwdGDQIgAkEBaiICIAhHDQALCyAEQe7qvZsHNgKQAiAEQZkTNgKEAiAEQeq3CTYCgAJBgIKAgHghAgwCCyAAIAJBiAxsaiICKAKMBLggAigC7AS4o7YhCQsgAAJ/An0gB0EBcQRAAkAgACgC4AMiBwRAQQAhAgNAIAAgAkGIDGxqQegPaigCAEHlyKWzB0YNAiACQQFqIgIgB0cNAAsLIARB5cilswc2AvABIARBnxM2AuQBIARB6rcJNgLgAUGAgoCAeCECDAQLIAAgAkGIDGxqIgIoAowEuCACKALsBLijtiEKCyAKCyAJIAogCV4bIAAoAqwBs5QiCUMAAIBPXSAJQwAAAABgcQRAIAmpDAELQQALIgI2ArABIAEoAgQgA0EIakkEQCAEQacTNgJ0IARB6rcJNgJwQYOAgIB4IQIMAQsgASgCACAFaiACQRh2OgAAIAMgASgCAGogAkEQdjoABSADIAEoAgBqIAJBCHY6AAYgAyABKAIAaiACOgAHIAEgASgCCCICQQRqIgM2AgggASgCBCACQQhqSQRAIARBqhM2AoQBIARB6rcJNgKAAUGDgICAeCECDAELIAEoAgAgA2pBADoAACACIAEoAgBqQQE6AAUgAiABKAIAakEAOgAGIAIgASgCAGpBADoAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQa0TNgKUASAEQeq3CTYCkAFBg4CAgHghAgwBCyABKAIAIANqQQE6AAAgAiABKAIAakEAOgAFIAIgASgCAGpBADoABiACIAEoAgBqQQA6AAcgASABKAIIIgNBBGoiAjYCCAJAIANBDGoiAyABKAIETQRAIAIgA0kEQANAIAEoAgAgAmpBADoAACACQQFqIgIgASgCCEEIaiIDSQ0ACwsgASADNgIIIAEQjAIiAgRAIARBsxM2AtQBIARB6rcJNgLQAQwDCyABKAIIIgJBGGoiBSABKAIESw0BIAJBZ00EQANAIAEoAgAgAmpBADoAACACQQFqIgIgASgCCEEYaiIFSQ0ACwsgASAFNgIIQQEhAwJAIAAoAvg5IgdBAUsNACAAKALgAyIIRQ0AQQAhAgNAIAMgACACQYgMbGooAowEQQBHaiEDIAJBAWoiAiAIRw0ACwsgB0F+cUECRgRAIAAoAoACIQMLIAEoAgQgBUEEakkEQCAEQbkTNgLEASAEQeq3CTYCwAFBg4CAgHghAgwDCyABKAIAIAVqIANBGHY6AAAgBSABKAIAaiADQRB2OgABIAUgASgCAGogA0EIdjoAAiAFIAEoAgBqIAM6AAMgASABKAIIQQRqIgA2AgggASgCACAGaiAAIAZrIgBBGHY6AAAgBiABKAIAaiAAQRB2OgABIAYgASgCAGogAEEIdjoAAiAGIAEoAgBqIAA6AANBACECDAILIARBsBM2AqQBIARB6rcJNgKgAUGDgICAeCECDAELIARBthM2ArQBIARB6rcJNgKwAUGDgICAeCECCyAEQbACaiQAIAILlwkBBX8jAEHQAmsiAiQAAkAgAEUEQCACQe0RNgIEIAJB27cJNgIAQYGAgIB4IQMMAQsgAUUEQCACQe4RNgIUIAJB27cJNgIQQYGAgIB4IQMMAQsgASgCAEUEQCACQe8RNgIkIAJB27cJNgIgQYGAgIB4IQMMAQsgASgCCCEFIAFB9t696wYQMyIDBEAgAkH0ETYCxAIgAkHbtwk2AsACDAELAkAgACgC+DkiA0F+cUECRg0AIAAoArA6DQACQCADQQFHDQAgACgCgDpFDQAgASgCDEUNAQsgABDPBCIDRQ0AIAJBgxI2ArQCIAJB27cJNgKwAgwBCyAAIAEQzQQiAwRAIAJBiBI2AqQCIAJB27cJNgKgAgwBCwJAAkACQCAAKAIAIgRBAXEEQCAAKAIERQRAIAJBjRI2AoQCIAJB27cJNgKAAkGBgICAeCEDDAULIAAgAUHlyKWzBxCNASIDDQEgACgCACEECwJAIARBAnFFDQAgACgCCEUEQCACQZUSNgLEASACQdu3CTYCwAFBgYCAgHghAwwFCwJAIAAoAuADIgYEQEEAIQMDQCAAIANBiAxsakHoD2ooAgBB7uq9mwdGDQIgA0EBaiIDIAZHDQALCyACQe7qvZsHNgLgASACQZcSNgLUASACQdu3CTYC0AFBgIKAgHghAwwFCyAAIANBiAxsaigCjARFBEAgACgC+DlBfnFBAkcNAQsgACABQe7qvZsHEI0BIgMNAiAAKAIAIQQLAkAgBEEEcUUNACAAKAIMRQRAIAJBpBI2AoQBIAJB27cJNgKAAUGBgICAeCEDDAULAkAgACgC4AMiBgRAQQAhAwNAIAAgA0GIDGxqQegPaigCAEH03KXDBkYNAiADQQFqIgMgBkcNAAsLIAJB9NylwwY2AqABIAJBphI2ApQBIAJB27cJNgKQAUGAgoCAeCEDDAULIAAgA0GIDGxqKAKMBEUEQCAAKAL4OUF+cUECRw0BCyAAIAFB9NylwwYQjQEiAw0DIAAoAgAhBAsCQCAEQQhxRQ0AIAAoAhBFBEAgAkGzEjYCRCACQdu3CTYCQEGBgICAeCEDDAULAkAgACgC4AMiBARAQQAhAwNAIAAgA0GIDGxqQegPaigCAEH08JWjB0YNAiADQQFqIgMgBEcNAAsLIAJB9PCVowc2AmAgAkG1EjYCVCACQdu3CTYCUEGAgoCAeCEDDAULIAAgA0GIDGxqKAKMBEUEQCAAKAL4OUF+cUECRw0BCyAAIAFB9PCVowcQjQEiA0UNACACQbwSNgJ0IAJB27cJNgJwDAQLAkAgACgC+DlBfnFBAkcNACAAIAEQ6gQiA0UNACACQcMSNgI0IAJB27cJNgIwDAQLIAEoAgAgBWogASgCCCAFayIAQRh2OgAAIAUgASgCAGogAEEQdjoAASAFIAEoAgBqIABBCHY6AAIgBSABKAIAaiAAOgADQQAhAwwDCyACQZASNgKUAiACQdu3CTYCkAIMAgsgAkGeEjYC9AEgAkHbtwk2AvABDAELIAJBrRI2ArQBIAJB27cJNgKwAQsgAkHQAmokACADC5sCAQV/IwBBEGsiBCQAAn8gACgC4AMiAQRAA0AgACAFQYgMbGoiA0GcDmooAgAEQCADQaAOakF/EFgiAUUEQCAEQZ0RNgIEIARBlbcJNgIAQYCCgIB4DAQLIAEgASgAACICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnJBAWoiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyNgAAIAMgASgABCIBQRh0IAFBCHRBgID8B3FyIAFBCHZBgP4DcSABQRh2cnIiASADKAKMBGo2AowEIAMgAygC8AQgAWo2AvAEIAAoAuADIQELIAVBAWoiBSABSQ0ACwsgAEEBNgKwOkEACyEAIARBEGokACAAC7kHAQd/IwBBkAFrIgIkAAJ/IABFBEAgAkGCEDYCBCACQdK2CTYCAEGBgICAeAwBCyAAKAIAIgFFBEAgAkGDEDYCFCACQdK2CTYCEEGBgICAeAwBCyAAKAIEIAAoAggiBEEEakkEQCACQYgQNgIkIAJB0rYJNgIgQYOAgIB4DAELIAEgBGpBADoAACAEQQFqIgUgACgCAGpBADoAACAEQQJqIgYgACgCAGpBADoAACAEQQNqIgcgACgCAGpBADoAACAAIAAoAggiAUEEaiIDNgIIIAAoAgQgAUEIakkEQCACQYsQNgI0IAJB0rYJNgIwQYOAgIB4DAELIAAoAgAgA2pB5gA6AAAgASAAKAIAakH0ADoABSABIAAoAgBqQfkAOgAGIAEgACgCAGpB8AA6AAcgACAAKAIIIgFBBGoiAzYCCCAAKAIEIAFBCGpJBEAgAkGPEDYCRCACQdK2CTYCQEGDgICAeAwBCyAAKAIAIANqQe0AOgAAIAEgACgCAGpB8AA6AAUgASAAKAIAakE0OgAGIAEgACgCAGpBMjoAByAAIAAoAggiAUEEaiIDNgIIIAAoAgQgAUEIakkEQCACQZIQNgJUIAJB0rYJNgJQQYOAgIB4DAELIAAoAgAgA2pBADoAACABIAAoAgBqQQA6AAUgASAAKAIAakEAOgAGIAEgACgCAGpBADoAByAAIAAoAggiAUEEaiIDNgIIIAAoAgQgAUEIakkEQCACQZkQNgJkIAJB0rYJNgJgQYOAgIB4DAELIAAoAgAgA2pB7QA6AAAgASAAKAIAakHwADoABSABIAAoAgBqQTQ6AAYgASAAKAIAakEyOgAHIAAgACgCCCIBQQRqIgM2AgggACgCBCABQQhqSQRAIAJBmhA2AnQgAkHStgk2AnBBg4CAgHgMAQsgACgCACADakHpADoAACABIAAoAgBqQfMAOgAFIAEgACgCAGpB7wA6AAYgASAAKAIAakHtADoAByAAIAAoAggiAUEEaiIDNgIIIAAoAgQgAUEIakkEQCACQZwQNgKEASACQdK2CTYCgAFBg4CAgHgMAQsgACgCACADakHIADoAACABIAAoAgBqQcsAOgAFIAEgACgCAGpBzQA6AAYgASAAKAIAakHJADoAByAAIAAoAghBBGoiATYCCCAAKAIAIARqIAEgBGsiBEEYdjoAACAAKAIAIAVqIARBEHY6AAAgACgCACAGaiAEQQh2OgAAIAAoAgAgB2ogBDoAAEEACyEAIAJBkAFqJAAgAAucBwEEfyMAQaABayIDJAACfyABRQRAIANBwA82AgQgA0HDtgk2AgBBgYCAgHgMAQsgAEUEQCADQcEPNgIUIANBw7YJNgIQQYGAgIB4DAELIAEoAiQiAkUEQCADQcIPNgIkIANBw7YJNgIgQYGAgIB4DAELIAEoAigiBUEEaiABKAIsSwRAIANByA82AjQgA0HDtgk2AjBBg4CAgHgMAQsgAiAFakEAOgAAIAUgASgCJGpBADoAASAFIAEoAiRqQQA6AAIgBSABKAIkakEcOgADIAEgASgCKCICQQRqIgQ2AiggAkEIaiABKAIsSwRAIANByw82AkQgA0HDtgk2AkBBg4CAgHgMAQsgASgCJCAEakHmADoAACACIAEoAiRqQfQAOgAFIAIgASgCJGpB+QA6AAYgAiABKAIkakHwADoAByABIAEoAigiAkEEaiIENgIoIAJBCGogASgCLEsEQCADQc4PNgJUIANBw7YJNgJQQYOAgIB4DAELIAEoAiQgBGpB7QA6AAAgAiABKAIkakHwADoABSACIAEoAiRqQTQ6AAYgAiABKAIkakEyOgAHIAEgASgCKCICQQRqIgQ2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AjAiAQRAIAAoAjQaIAEQKCAAQQA2AjALIAAoAiwiAQRAIAAoAhAaIAEQKCAAQQA2AiwLIAAoAigiAQRAIAAoAhwaIAEQKAsgABAoC28BAX8gAEGsqwk2AgAgACgCCARAIABBADYCCAsgACgCMCIBBEAgACgCNBogARAoIABBADYCMAsgACgCLCIBBEAgACgCEBogARAoIABBADYCLAsgACgCKCIBBEAgACgCHBogARAoIABBADYCKAsgAAt2ACAAQQA2AiAgAEGsqwk2AgAgAEIANwIYIABBADYCLCAAQgA3AgggAEEBOgAGIABBAzYCnA8gAEIANwIkIABCADcCECAAQYACOwEEIABBMGpB4AEQLyAAQZACakEoEC8gAEG4AmpBiAwQLyAAQcAOakHcABAvCzEBAX9BgICAgHghAgJAIABFDQAgAUUNACAAIAAoAghBAWo2AgggACABEJsCIQILIAILjgIBAn9BgICAgHghAgJAIABFDQAgAUUNACABKAIAIgJBBUsEQEGDgICAeA8LAn8CQAJAAkAgAkEEaw4CAQIACyAAQQE2AkQgAEHgATYCPCAAQTBqDAILIABBwAE2AmAgACAAKAIYQX9zQQFxNgJoIABB1ABqDAELIABBvQE2AoQBIABBADYCjAEgAEH4AGoLIQMgAUEANgJMAkAgASgCCEUNACABKAJYRQ0AQYGAgIB4IQIgASgCSEG0BEkNASABKAJEIAAQnQUgASgCREG8AWogACABEJsFIAEgASgCTEH4Amo2AkwLQQEhAiADIAEgABCaBSIAQQFIBEAgAA8LIAEgASgCTCAAajYCTAsgAguiAQEBfyAARQRAQYCAgIB4DwtBgYCAgHghAiAAKAIEQdwBTwR/IAAtAAhBB3FFBEBBgoCAgHgPCyAAKAIAIgJBIzYCeCACQSI2AlQgAkEhNgIwIAJCgYCAgIAENwIAIAJBADYCCCACQQA2AoABIAJBADYCXCACQQA2AjggAiAAKALcATYC2AEgAiAAQQhqEJsCGiABIAI2AgBBAQVBgYCAgHgLC9kDAgJ/An4jAEEgayICJAACQCABQv///////////wCDIgVCgICAgICAwP9DfCAFQoCAgICAgMCAvH98VARAIAFCBIYgAEI8iIQhBCAAQv//////////D4MiAEKBgICAgICAgAhaBEAgBEKBgICAgICAgMAAfCEEDAILIARCgICAgICAgIBAfSEEIABCgICAgICAgIAIhUIAUg0BIARCAYMgBHwhBAwBCyAAUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIAFCBIYgAEI8iIRC/////////wODQoCAgICAgID8/wCEIQQMAQtCgICAgICAgPj/ACEEIAVC////////v//DAFYNAEIAIQQgBUIwiKciA0GR9wBJDQAgAkEQaiAAIAFC////////P4NCgICAgICAwACEIgQgA0H/iH9qEK8FIAIgACAEQYH4ACADaxCkBSACKQMIQgSGIAIpAwAiAEI8iIQhBCACKQMQIAIpAxiEQgBSrSAAQv//////////D4OEIgBCgYCAgICAgIAIWgRAIARCAXwhBAwBCyAAQoCAgICAgICACIVCAFINACAEQgGDIAR8IQQLIAJBIGokACAEIAFCgICAgICAgICAf4OEvwu/CQEPfyMAQcABayILJAAgASgCTCEDIAEoAjwhDCABKAJIIQggASgCRCEEIABBATYCECAAIAEoAkAiBjYCHCAAIAY2AhgCfwJAIAZFBEAMAQsgAyAEaiEDIAQgCGpBxH5qIQ8DQCALIAAgASACEJ4FIQ4gACAAKAIcIAAoAiAiBGsiEDYCHEEAIQggBCAOaiIGBEADQEF/IAMgD0sNBBogA0HHADoAACADIAAoAgAiBDoAAiADIARBCHZBH3EgCEVBBnRyOgABIAAgACgCCCIEQQFqNgIIIAMgBEEPcSIFQRByOgADIAggDXIhBAJAIBAEQCAERQRAIAMgBUEwcjoAA0ECIQQgAyAALQAUQQR0QQJyOgAFIAAoAhQEQCADIAEtAA86AAYgAyABLwEOOgAHIAMgASgCDEEIdjoACCABKAIMIQUgA0H+ADsACiADIAU6AAkgAEEANgIUQQghBAsgA0EEaiIFIARqQQQ6AAAgBSAEQQFyIglqIgcgAS0ABzoAACAHIAEvAQY6AAEgByABKAIEQQh2OgACIAUgCUEDaiIHaiABKAIEOgAAIAEoAggEQCADIAMtAAVB4AByOgAFCyADIAdBuAEgBEEFciIHayIEIAYgBCAGIARJGyIEayIFajoABCAFQQFIDQIgAyAHakEEakH/ASAFECsaDAILIAZBtwFLBEBBuAEhBAwCCyADQQA6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IANFDQAgAEGAyAA2AhQgASAAQdQVaiIBEJcBIgINACAAQdwVai8BAEEIRgRAIABBAjsB3BULQYSAgIB4IQIgACgCECIDQShqQYCAgAFLDQAgACgCMCADaiABQSgQMiAAIAAoAhBBKGo2AhBBAEGJgICAeCAEIABBDGoQswVBAUYbIQILIAIL3QEBAX9BgYCAgHghBAJAIAFFDQAgAkUNACADQYCAgBBLDQAgACAALQAFBH8gACgCEAVBAAs2AhAgAEGBAjsBBiAAQgA3AiQgAEEANgIYIABBADoABAJAIAAoAgwNACAAIAEQrAUiBEUNACAAKAIMBEAgAEEANgIMCyAAKAI8IgEEQCAAKAI4GiABECggAEEANgI8CyAAKAIwIgEEQCAAKAIUGiABECggAEEANgIwCyAAKAI0IgFFDQEgACgCIBogARAoIABBADYCNCAEDwsgACABIAIgAxCrBSEECyAEC2oBAX8gAEHIogk2AgAgACgCDARAIABBADYCDAsgACgCPCIBBEAgACgCOBogARAoIABBADYCPAsgACgCMCIBBEAgACgCFBogARAoIABBADYCMAsgACgCNCIBBEAgACgCIBogARAoCyAAECgLUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgLbwEBfyAAQciiCTYCACAAKAIMBEAgAEEANgIMCyAAKAI8IgEEQCAAKAI4GiABECggAEEANgI8CyAAKAIwIgEEQCAAKAIUGiABECggAEEANgIwCyAAKAI0IgEEQCAAKAIgGiABECggAEEANgI0CyAAC3wAIABBADYCHCAAQciiCTYCACAAQgA3AiAgAEIANwIwIABCADcCDCAAQgA3AiggAEIANwIUIABBADoACCAAQYCChAg2AgQgAEE4akGcFRAvIABB1BVqQSgQLyAAQYQiakGEMBAvIABB/BVqQYgMEC8gAEGI0gBqQZgBEC8Lwg0BCH9BgICAgHghBAJAIABFDQAgAUUNAEGDgICAeCEEIAEoAgAiAkEFSw0AIAEoAiwhBwJAAkACQAJAIAJBBGsOAgECAAsgASgCcCICIAAoArwHSw0DIAAgACACQQJ0aigCACIDNgKsAiACRQRAIAAgASgC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ATsBACAEQfIRaiABKAKoATsBACAEQewRaiABKAKcATsBACAEQe4RaiABKAKgATsBAAsgBEH0EWohAwJAIAUvASIEQCADQQE2AgAgACACQYQJbGoiAkH4EWogBS8BJDsBACACQfoRaiAFLwEmOwEAIAJB/BFqIAUvASg7AQAgAkH+EWogBS8BKjsBAAwBCyADQgA3AgAgA0EANgIICyAAIAUvAQggBS8BCiAFKgIUIAEQyAUiAw0BIAEoAhxFDQAgACoCoBEiDUMAAIA/X0EBc0UEQCAAQQI2ApyjAQwBCwJAIA1DAAAgQV1BAXMNACANQwAAgD9eQQFzDQAgDUMAAKBAlCINQwAAgE9dIA1DAAAAAGBxBEAgACANqTYCnKMBDAILIABBADYCnKMBDAELIA0gDZIiDUMAAIBPXSANQwAAAABgcQRAIAAgDak2ApyjAQwBCyAAQQA2ApyjAQsgACAAKAKUCiABIAAgACgCkApBOGxqQZgKahDHBSIDDQAgACAKIAggARDGBQJAAkACQCABKAIwBEAgACgCCCEDDAELIAAoAgghAyAALQAwQYABcUUNASADQX9qQQFLDQELIAAgACgCkAoiB0E4bGoiBEG4CmogASgCeCIGNgIAIAAgB0GECWxqIgJBuBFqIAY2AgAgAkG0EWogBiAEQawKaigCAGs2AgAMAQsCQAJAIANBe2oiAkECSwRAIANBgYACRw0BDAILIAJBAWsNAQsgACAAKAKQCiIHQYQJbGoiBkG4EWogACAHQThsaiIEQbgKaiICKAIAIgs2AgAgBkG0EWogCyAEQawKaigCAGs2AgAgAiALQQFqNgIADAELIAAgACgCkAoiB0E4bGoiBEG4CmogASgCeCIGNgIAIAAgB0GECWxqIgJBuBFqIAY2AgAgAkG0EWogBiAEQawKaigCAGs2AgALIAAgB0GECWxqIgZBsBFqIAEoAiQ2AgAgACAHQThsaiIEQbAKaiABKAIYIgI2AgAgBkHAEWogAjYCAAJ/AkACQCADQQJHDQAgAiAEQagKaigCACIDRg0AIAAoApAKIQcCfyACIANLIAIgA2siBEGAgICAeEYNABogAiADRyAEQX9KcQtFDQEgACAHQThsakGwCmooAgAhAgsgAiAAIAdBOGxqQagKaigCACIJawwBCyAAIAdBOGxqIgNBsApqKAIA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NgIAIABB0ApqQQE2AgALIAIgASACKAIAKAIUEQAAIgJFBEBBAA8LIAAoAiwiAUUNACABIAEoAgAoAgQRBQAgAEEANgIsCyAAKAK0ogEiAQRAIAEQKCAAQQA2ArSiAQsgACgC0KIBIgFFDQAgARAoIABBADYC0KIBCyACC48CACAAQgA3AgAgAEIANwKUowEgAEEANgIwIABCADcChAogAEIANwKYESAAQgA3AvSiASAAQjI3ApyjASAAQoCAgIBwNwKkowEgAEKAgICAcDcCkKIBIABBjApqQgA3AgAgAEGUCmpBADYCACAAQaARakIANwIAIABBqBFqQQA2AgAgAEH8ogFqQgA3AgAgAEGYCmpBAEGABxArGiAAQTRqQQBB0AkQKxogAEGMowFqQgA3AgAgAEIANwKEowEgAEIANwIIIABCADcCECAAQgA3AhggAEIANwIgIABCADcCKCAAQawRakEAQeSQARArGiAAQZiiAWpBAEHcABArGiAAQayjAWpBAEGYBhArGiAAC3QAIAFBAksEQEGBgICAeA8LAkACQAJAIAFBAWsOAgEAAgsgAEEANgKMASAAQQA2AnQgAEEANgJoCyAAQgA3ArgBIABCADcC6AEgAEIANwLgASAAQgA3AtgBIABCADcC0AEgAEIANwLIASAAQgA3AsABC0EAC0UBAX8gACgCTCIBBEAgARAoIABBADYCTAsgACgCcCIBBEAgARAoIABCADcCbAsgACgCfCIBBEAgARAoIABCADcCeAtBAAvCBwECfyABRQRAQYGAgIB4DwsgAUEAQdAJECshAQJAIAAoApABDQAgACgClAENACAAKAKMAQ0AQYeAgIB4DwsCQCAALQAIQQFxBEAgASAAKAJ8NgIAIAEgACgCdDYCBCABIAAoAnA2AgggASAAKAJoNgIMDAELIAEgACgCcDYCACABIAAoAmg2AgQLIAFBADYCICABQQE2AjAgASAAKAKkATYCHCAAKAKMAQRAIAAoArgBIQIgAUHgATYCJCABIAI2AhAgASAAKAK8ASICNgIYIAEgAjYCFCABIAAoAvgCNgKoASABIAApAvACNwKgASABIAApAugCNwKYASABIAApAuACNwKQASABIAApAtgCNwKIASABIAApAtACNwKAASABIAApAsgCNwJ4IAEgACgCxAI2AnQgASAAKQK8AjcCbCABIAApArQCNwJkIAEgACkCrAI3AlwgASAAKQKkAjcCVCABIAApApwCNwJMIAEgACkClAI3AkQgASAAKQKMAjcCPCAAKAKcAUEBRgRAIAEgASgCSEEgcjYCSAsgAEEANgJ0IABBADYCaCAAQQA2AowBCyAAKAKQAQRAIAEgACgC1AE2AhAgACgC2AEhAiABQcABNgIkIAEgAjYCFCABIAI2AhggASAAKAL4AjYCqAEgASAAKQLwAjcCoAEgASAAKQLoAjcCmAEgASAAKQLgAjcCkAEgASAAKQLYAjcCiAEgASAAKQLQAjcCgAEgASAAKQLIAjcCeCABIAApAowCNwI8IAEgACkClAI3AkQgASAAKQKcAjcCTCABIAApAqQCNwJUIAEgACkCrAI3AlwgASAAKQK0AjcCZCABIAApArwCNwJsIAEgACgCxAI2AnQgAEEANgKQASAAQQA2AnQgAEEANgJoCyAAKAKUAQRAIAEgACgC8AE2AhAgASAAKAL0ASICNgIUIAAoAvgBIQMgASACNgIYIAEgAzYCJCABIAAoAvgCNgKoASABIAApAvACNwKgASABIAApAugCNwKYASABIAApAuACNwKQASABIAApAtgCNwKIASABIAApAtACNwKAASABIAApAsgCNwJ4IAEgACkCjAI3AjwgASAAKQKUAjcCRCABIAApApwCNwJMIAEgACkCpAI3AlQgASAAKQKsAjcCXCABIAApArQCNwJkIAEgACkCvAI3AmwgASAAKALEAjYCdCAAQQA2ApQBIABBADYCdCAAQQA2AmgLIAAoApgBRQRAQQAPCyAAQQA2AmggAEIANwKUASAAQgA3AowBQQALqQQBCX8gAUUEQEGBgICAeA8LAkAgACABELECIgINACABKAIQIghFBEBBgYCAgHgPC0GBgICAeCECIAEoAhQiBkEASA0AIAEoAgQhCSAAKAJwIQQCQCAAKAJoIgIgBmoiBSAAKAJsTQRAIAQhAwwBCwJAIARFBEAgACAFQYCAICAFQYCAIEsbIgVBgEBrIgQQLCIDNgJwIANBrAEgBBArGgwBCyAFQYBAayIHECwiAyACakGsAUEAIAcgAmsiCiAKIAdLGxArGiADIAQgAhApIQIgBBAoIAAgAjYCcCAAKAJoIQILIAAgBTYCbAsgAiADaiAIIAYQKRoCQCAJ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ASADNgIIIAAgAhDpBSIFDQELIAshBQsgBQscACAAIAI2AsAVIAAgAzYCvBUgACABNgK4FUEAC54BACABQQJLBEBBgYCAgHgPCwJAAkACQCABQQFrDgIAAQILIABCgICAgHA3AtALQQAPCyAAQQA2ApQLIABCADcCjAsgAEEANgLwCiAAQQA2AugKIABCADcC4AsgAEF/NgLUCyAAQgA3AswLIABCADcCuAsgAEEANgKECyAAQegLakIANwIAIABB8AtqQgA3AgAgAEH4C2pBADYCAAtBAAsIACAAEHdBAAugCAECfyABRQRAQYGAgIB4DwsgAUEAQdAJECshAQJAIAAoApALDQAgACgClAsNACAAKAKgCyAAKAKMC3INAEGHgICAeA8LAkAgAC0ACEEBcQRAIAEgACgC7Ao2AgAgASAAKALwCiICIAAoAtwLIgNBACACIANLG2s2AgQgASAAKALgCjYCCCABIAAoAugKNgIMDAELAkAgACgCyApFDQAgACgCjAtFDQAgASAAKAK0BzYCACABIAAoArgHNgIEIAEgACgCkAE2AiggAEHoFGogAC8BggE2AgAgAEHkFGogAC8BgAE2AgAgAEGAFWogAC8BhAE2AgAgAEH4FGoqAgBDAAAAAFsEQCAAIAAoAowBNgL4FAsgAEHsFGogAC8BhgE2AgAgAC0AigFFDQEgAUGAATYCSAwBCyABIAAoAuAKNgIAIAEgACgC6Ao2AgQLIAEgACgC4AsQRTYCECABIABB6AtqKAIANgIkIAEgAEHkC2ooAgAiAjYCFCABIAJBLW42AhggASAAKAKsCzYCHCABIAAoAqQLNgIwAkAgACgCtAtFBEAgAUEANgIgDAELIAEgAEG7DGotAAA2AiAgAUG8AWogAEHEDGpBlAgQKRoLAkAgACgCyApFDQAgACgCjAtFDQAgACgC2AoiAiAAKALUCkYNACABIAI2AhggASACQS1sNgIUCyABIAAoAogLNgI0IAEgAEG0DGooAgA2AnQgASAAQawMaikCADcCbCABIABBpAxqKQIANwJkIAEgAEGcDGopAgA3AlwgASAAQZQMaikCADcCVCABIABBjAxqKQIANwJMIAEgAEGEDGopAgA3AkQgASAAKQL8CzcCPAJAIAAoAowLBEAgASAAKQLgFDcCeCABIABBkBVqKAIANgKoASAB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AuwKIABCADcC3AogAEEANgJAIABCADcC3BUgAEEANgJ8IABBATYC1BUgAEIANwIYIABCADcCICAAQgA3AiggAEIANwIwIABCADcCOCAAQcwVakIANwIAIABCADcCxBUgAEG0B2pBAEGQAxArGiAAQgA3AogBIABCADcCgAEgAEGoFmpBAEGAAhArGiAAQZwWakIANwIAIABBlBZqQgA3AgAgAEGMFmpCADcCACAAQYQWakIANwIAIABB/BVqQgA3AgAgAEH0FWpCADcCACAAQewVakIANwIAIABCADcC5BUgAEIANwJEIABCADcCTCAAQgA3AlQgAEIANwJcIABCADcCZCAAQgA3AmwgAEIANwJ0IABB4AtqQQBB+AgQKxogAEHgFGpBAEHYABArGgscACAAIAI2AvgCIAAgAzYC9AIgACABNgLwAkEAC4EBACABQQJLBEBBgYCAgHgPCwJAAkACQCABQQFrDgIAAQILIABCgICAgHA3AsQBQQAPCyAAIAAoAswIQQJ0akEANgKMBCAAQQA2AqQBIABCADcCnAEgAEEANgKAASAAQoCAgIBwNwLEASAAQQA2ApQBIABBzARqQQBBwAMQKxoLQQALCAAgABB4QQALgQ0BAn8gAUUEQEGBgICAeA8LIAFBAEHQCRArIQECQCAAKAKgAQ0AIAAoAqQBDQAgACgCqAEgACgCnAFyDQBBh4CAgHgPCyABIAAoArQBNgIcIAEgACgCrAE2AjAgASAAKAKMAjYCdCABIAApAoQCNwJsIAEgACkC/AE3AmQgASAAKQL0ATcCXCABIAApAuwBNwJUIAEgACkC5AE3AkwgASAAKQLcATcCRCABIAApAtQBNwI8AkAgACgCnAEEQAJAIAAoAswSBEAgASAAKAK4DzYCACABIABBvA9qKAIANgIEIAEgAEGUCWooAgA2AiggACAAQYYJai8BADYCoAIgACAALwGECTYCnAIgACAAQYgJai8BADYCuAIgACoCsAJDAAAAAFsEQCAAIABBkAlqKAIANgKwAgsgACAAQYoJai8BADYCpAIgAEGOCWotAABFDQEgASABKAJIQYABcjYCSAwBCyAALQAIQQFxBEAgASAAKAJ8NgIAIAEgACgCgAEiAiAAKALQASIDQQAgAiADSxtrNgIEIAEgACAAKALMCEECdGooAowDNgIIIAEgACAAKALMCEECdGooAowENgIMDAELIAEgACAAKALMCEECdGooAowDNgIAIAEgACAAKALMCEECdGooAowENgIECyABIAAgACgCzAhBHGxqIgIoAswEEEU2AhAgASACKALUBDYCJCABIAIoAtAEIgI2AhQgASACQS1uNgIYIAEgACgC0AE2AiwgACgCtAEEQCABIAAoAswBNgKYAQsgACgCwAFBAUYEQCABIAEoAkhBIHI2AkgLIAEgACkCmAI3AnggASAAKALIAjYCqAEgASAAKQLAAjcCoAEgASAAKQK4AjcCmAEgASAAKQKwAjcCkAEgASAAKQKoAjcCiAEgASAAKQKgAjcCgAEgACgCrAEEQCABIAEoAng2AngMAgsgACAAKAKUAiICQQFqNgKUAiABIAI2AngMAQsgAQJ/AkAgACgCpAEEQAJAIAAtAAhBAXEEQCABIAAoAnw2AgAgASAAKAKAASICIAAoAtABIgNBACACIANLG2s2AgQgASAAIAAoAswIQQJ0aigCjAM2AgggASAAIAAoAswIQQJ0aigCjAQ2AgwMAQsgAQJ/IABB2AhqIAAoAtQIQQFGDQAaIAAgACgCzAhBAnRqQYwDagsoAgA2AgAgAQJ/IABB3AhqIAAoAtQIQQFGDQAaIAAgACgCzAhBAnRqQYwEagsoAgA2AgQLIAAoAtQIQQFGBEAgAEEANgLcCAwCCyAAIAAoAswIQQJ0akEANgKMBCAAKALUCEEBRg0BIAEgACAAKALMCEEcbGoiAigCzAQQRTYCECABIAIoAtQENgIkIAIoAtAEDAILIAAoAqABBEACQCAALQAIQQFxBEAgASAAKAJ8NgIAIAEgACgCgAEiAiAAKALQASIDQQAgAiADSxtrNgIEIAEgACAAKALMCEECdGooAowDNgIIIAEgACAAKALMCEECdGooAowENgIMDAELIAECfyAAQdgIaiAAKALUCEEBRg0AGiAAIAAoAswIQQJ0akGMA2oLKAIANgIAIAECfyAAQdwIaiAAKALUCEEBRg0AGiAAIAAoAswIQQJ0akGMBGoLKAIANgIECwJ/IAAoAtQIQQFHBEAgASAAIAAoAswIIgNBHGxqIgIoAswEEEU2AhAgASACKALUBDYCJCABIAIoAtAEIgI2AhQgASACQS1uNgIYIAAgA0ECdGpBjARqDAELIAEgACgC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a2o2AmQgAiAERw0BCwsgACgCbCECIAMgAEHoAEHsACAAKAKQARtqKAIANgIAQYKAgIB4IAEgAiAERhshBAsgBAtqAQF/AkAgAUUEQEGBgICAeCECDAELIAAQeEGFgICAeCECIAEoAgRBA0cNACAAQQM2AgQgACABKAIINgIMIAAgASgCDDYCECAAIAEoAhBBAEc2AhQgACABKAIAIAAoAgAoAhQRAAAPCyACCwYAQajICgstAQF/IwBBEGsiACQAIABBmwg2AgxByBcgACgCDEEBQQBB/wEQAyAAQRBqJAALEwAgAEG89Ag2AgAgABB4IAAQKAsRACAAQbz0CDYCACAAEHggAAv8AgAgAEIANwLIEiAAQQE2AogBIABBvPQINgIAIABBADYC1AggAEEANgL4AiAAQQA2ApACIABCADcCzAEgAEIANwKAASAAQgA3AgQgAEIANwKMASAAQgA3AgwgAEEANgIUIABCADcClAEgAEIANwKcASAAQgA3AqQBIABCADcCrAEgAEIANwK0ASAAQgA3ArwBIABBADYCxAEgAEIANwLQEiAAQgA3AswIIABBfzYCyAEgAEEANgKMAiAAQgA3AoQCIABCADcC/AEgAEIANwL0ASAAQgA3AuwBIABCADcC5AEgAEIANwLcASAAQgA3AtQBIABBuA9qQQBBkAMQKxogAEEYakEAQegAECsaIABBlAJqQQBB5AAQKxogAEH8AmpBAEGgBRArGiAAQZAJakEANgIAIABBiAlqQgA3AgAgAEGACWpCADcCACAAQfgIakIANwIAIABB8AhqQgA3AgAgAEHoCGpCADcCACAAQeAIakIANwIAIABCADcC2AgLwwIBBX9BgYCAgHghBQJAIABFDQAgAUUNACAAIAEoAhAiAjYCAEEBIQUgAiABKAIMSw0AIAAgASkCkAU3AgQgACABKALIBTYCPCAAIAEpAsAFNwI0IAAgASkCuAU3AiwgACABKQKwBTcCJCAAIAEpAqgFNwIcIAAgASkCoAU3AhQgACABKQKYBTcCDCABKAIQRQRAQQAPC0EAIQUDQCAAIARBzABsaiICQUBrIARB3ABsIgYgASgCCGoiAygCADYCACACIAMoAgQ2AkQgAiADKQIYNwJIIAIgAykCIDcCUCACIAMpAig3AlggAiADKQIwNwJgIAIgAykCODcCaCACIANBQGspAgA3AnAgAiADKAJINgJ4IAIgASgCCCAGaiIDKQJMNwJ8IAIgAykCVDcChAEgBEEBaiIEIAEoAhBJDQALCyAFC6kCAQR/IAAoAgAhBCAAKAIEIQMgAUEANgL8BCABQgA3ArQEIABBADYCDCAAAn8gA0G8AUkEQEEADAELA0ACQCAEIAEQkQYiAkF+cUGCgICAeEYEQEEBIQUgBEEBaiIEIANBf2oiAxCSBiICQX9HDQEgAEEANgIQIABBvAE2AgggACABKAK4BDYCFEEBDwsgASgCAA0AIAAgA0HEfmo2AgggACABKAL8BDYCECAAIAEoArgENgIUAkAgASgCtAQiASAAKAIAIgJNDQAgASACIAAoAgRqTw0AIAAgASACazYCDAsgBUEARw8LIAQgAkG8ASACG2ohBEEAIAJrQcR+IAIbIANqIgNBuwFLDQALIAEoArgECzYCFCAAQQA2AhAgACADNgIIIAVBAEcLqgIBBX8gACgCBCECIAAoAgAhAyABQgA3ArQEIAFBADYC/AQgAEEANgIMIAACfwNAAkACQCADIAIgARCVBiIEQf////8HaiIGQQJNBEACQAJAIAZBAWsOAgEABAtBASEFCyADQQFqIgMgAkF/aiICEJYGIgRBf0cNASAAQQA2AhAgAEEDNgIIIAAgASgCuAQ2AhQgACgCBEF9agwECyABKAIADQAgACACIARrNgIIIAAgASgC/AQ2AhAgACABKAK4BDYCFEF/IAEoArQEIgEgACgCACIDSQ0DGiABIANrQX8gASADIAAoAgRqSRsMAwsgAiAEayECIAMgBGohAwwBCwsgAEEANgIQIAAgAjYCCCAAIAEoArgENgIUIAAoAgQgAmsLNgIMIAVBAEcLGwAgACABKAIIIAUQQwRAIAEgAiADIAQQywELC58HAQd/QbwBIQNBhICAgHghAgJAAkAgAEUNACABRQ0AAkACQCAALQAAQbl/aiICQQJLDQACQCACQQFrDgIBAAILIAAtAAFBzQBHDQAgAC0AAkHLAEcNAEGCgICAeCECIAAtAANByABGDQILIAEgASgCuARBwAByNgK4BEGCgICAeA8LIAAtAANBBHZBA3FBf2oiAkECSwRAQQAPCyAALQABIQUgAC0AAiEIIAAhBAJAAkACQCACQQFrDgICAQALQbgBIQMgAEEEaiEE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AXFFDQILIAFBADsBNCAGIAEgAiADIAQgBRDJASABLQA1IgogB3IhByABLQA0IgsgCHIhCCAGQQhqIgYgCUkNAAsLIAEgB0H/AXFBAEc6ADUgASAIQf8BcUEARzoANAsIACAAEHpBAAsmAQF/QYGAgIB4IQIgAUH/AU0EfyAAIAE2ApQJQQAFQYGAgIB4CwuyCAICfwF8IAFFBEBBgYCAgHgPCyABQQBB0AkQKyEBAkAgACgC0AsNACAAKALUCw0AIAAoAswLDQBBh4CAgHgPCyABIAAoApQMNgIcIAEgACgC9AsEfyAAQe8Mai0AAAVBAAs2AiAgASAAKALwCzYCMCABIABBxBVqKAIANgJ0IAEgAEG8FWopAgA3AmwgASAAQbQVaikCADcCZCABIABBrBVqKQIANwJcIAEgAEGkFWopAgA3AlQgASAAQZwVaikCADcCTCABIABBlBVqKQIANwJEIAEgACkCjBU3AjwgACgC9AsEQCABQbwBaiAAQfgMakGUCBApGgsgACgCzAsEQAJAIAAtAJQJQQFxBEAgASAAKAK4CzYCACABIAAoAsALNgIEIAEgACgClAs2AgggASAAKAKsCzYCDAwBCyABIAAoApQLNgIAIAEgACgCrAs2AgQLIAEgACgCmAw2AhAgASAAQaAMaigCADYCJCABIABBnAxqKAIAIgI2AhQgASACQdoAbjYCGCABIAAoAuQLNgI0IAEgAEH4FWooAgA2AqgBIAEgAEHwFWopAgA3AqABIAEgAEHoFWopAgA3ApgBIAEgAEHgFWopAgA3ApABIAEgAEHYFWopAgA3AogBIAEgAEHQFWopAgA3AoABIAEgACkCyBU3AnggACgClAwEQCABIAAoAogMNgKYAQsgACAAKAKMDCICQQFqNgKMDCABIAI2AnggAEEANgLkCyAAQQA2AswLIABBADYCwAsgAEEANgKsCwsgACgC0AsEQAJAIAAtAJQJQQFxBEAgASAAKAK4CzYCACABIAAoAsALNgIEIAEgACgCmAs2AgggASAAKAKwCzYCDAwBCyABIAAoApgLNgIAIAEgACgCsAs2AgQLIAEgACgCtAwiAjYCECABIABBuAxqKAIAIgM2AhQgASAAQbwMaigCADYCJCABAn8gA7ggAiAAQYQWaiIDKAIAEOgCoyIERAAAAAAAAPBBYyAERAAA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AEGCAkkNACAAQaYJai8BACIEQYACR0EAIARBBUcbDQAgAEG0CWotAABBAXFFDQAgAEEBNgKEFwsgAEEBNgKYCSACQShBLCAGGyIEayECIAEgBGohAQsgACgCxAlFBEAgABC/AiIEDQELIAAgATYCgAtBACEBIABBkAtqQQA2AgAgAEGIC2ogAjYCACAAQYQLaiACNgIAAkACQCACQQxJDQAgAEGAC2ohBiAAQawWaiEFA0AgBiAAKALECRDAAiEBAkAgACgCoBYiB0UNACAAKAKMCyIEQQFxBEAgAEGBgpAINgKsFiAFIAAoAqQWIAcRBAALIARBAnEEQCAAQYCCkAg2AqwWIAUgACgCpBYgACgCoBYRBAALIARBBHFFDQAgAEGHgPwPNgKsFiAFIAAoAqQWIAAoAqAWEQQACyABQQBIBEBBhoCAgHghAQwCCwJAIAAtAJQJQQFxBEAgACAGEKgGIgENA0EAIQEgACgC0AsNAyAAKALUCw0DIAAoAswLRQ0BDAMLIAAoApALIgRFDQAgACAEEL4CIgENAkEAIQEgACgC0AsNAiAAKALUCw0CIAAoAswLDQILIABBADYCkAsgACgChAshByAAIAAoAogLIgQ2AoQLIAAgACgCgAsgByAEa2o2AoALIAIgBEYNASAEIgJBDE8NAAsMAQsgAiEECwJAIAAoAoAXBEBBACEEIAAoAtALDQEgACgC1AsNAUEAQYKAgIB4IAAoAswLGyEEDAELQYKAgIB4IAEgBCAAKAKIC0YbIQQLIAMgAEGEC0GICyAAKALICxtqKAIANgIACyAEC6EBAQJ/AkAgAUUNACAAEHogASgCECICQRBLDQAgASgCmAEiA0GACEsNACADBEAgASgCnAFFDQEgACADNgKIASAAQYwBaiABKAKcASADECkaIAEoAhAhAgsgACACNgIEIAAgASgCFDYCxAsgACABKAKgATYCgBcgAEEIaiABQRhqIAJBA3QQKRogACABKAIAIAAoAgAoAhQRAAAPC0GBgICAeAsTACAAQbzzCDYCACAAEHogABAoCxEAIABBvPMINgIAIAAQeiAAC+4CACAAQQA2AvwLIABCADcC9AsgAEG88wg2AgAgAEIANwLICyAAQgA3AuwLIABCgICAgBA3ArwWIABBADYCxAsgAEIANwKAFyAAQQA2AsgWIABCgICAgBA3AuQLIABCADcCjAkgAEEANgIEIABBADYCiAEgAEIANwKUCSAAQQA2ApAMIABB0AtqQgA3AgAgAEHYC2pCADcCACAAQeALakEANgIAIABBADYClAwgAEIANwKADCAAQbALakIANwIAIABBqAtqQgA3AgAgAEIANwKgCyAAQoCAgIAQNwKIDCAAQgA3ArwLIABBADYCuAsgAEEIakEAQYABECsaIABBjAFqQQBBgAgQKxogAEGcCWpBAEGEAhArGiAAQZgMakEAQaQKECsaIABB/BZqQQA2AgAgAEH0FmpCADcCACAAQewWakIANwIAIABB5BZqQgA3AgAgAEHcFmpCADcCACAAQdQWakIANwIAIABCADcCzBYLuwIBB39BgYCAgHghAwJAIABFDQAgAUUNACAAKAIIIgJFDQBBACEDIAJBACAAKAIMECsaIAAoAggiBCAAKAIANgIAIAAoAgQhAiAEIARB+IIBaiIFNgIIIAQgAjYCBCAAKAKwASECIARBADYCECAEIAI2AgwgBCAAKAK0ATYCIAJAIAIEQANAIAUgA0HQAGxqIgYgACADQQN0aiIHKAIQIgg2AgAgBiAHKAIUNgIEIANBAWoiAyACRw0ACyAIQb/7AkYNAQsgBSACQdAAbGpCv/uCgIAONwIAIAQgAkEBaiICNgIMIAAgAjYCsAELAkAgAkUNAEEAIQMDQCAAIANBA3RqKAIQQceKwdIERwRAIANBAWoiAyACSQ0BDAILCyAEIAUgAkHQAGxqNgLIAQsgASAENgIAQQAhAwsgAwuIAgAgACABKAIIIAQQQwRAAkAgASgCBCACRw0AIAEoAhxBAUYNACABIAM2AhwLDwsCQCAAIAEoAgAgBBBDBEACQCACIAEoAhBHBEAgASgCFCACRw0BCyADQQFHDQIgAUEBNgIgDwsgASADNgIgAkAgASgCLEEERg0AIAFBADsBNCAAKAIIIgAgASACIAJBASAEIAAoAgAoAhQRCgAgAS0ANQRAIAFBAzYCLCABLQA0RQ0BDAMLIAFBBDYCLAsgASACNgIUIAEgASgCKEEBajYCKCABKAIkQQFHDQEgASgCGEECRw0BIAFBAToANg8LIAAoAggiACABIAIgAyAEIAAoAgAoAhgRCwALC2QBA39BgYCAgHghAgJAIABFDQAgACgCsAEiA0EUSw0AIABB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BkEBSyIFRQRAIAFBjMsAakIANwIAIAFBhMsAakIANwIAIAFB3PQAakIANwIAIAFB5PQAakIANwIAIAFBtJ4BakIANwIAIAFBvJ4BakIANwIAIAFBjMgBakIANwIAIAFBlMgBakIANwIACyAFDQAgBkEBawRAIAEgACgCDBDHAiIFDQNBACEGDAILIAEgACgCFBDGAiIFDQJBACEGDAELQX8hBUEAIQYCQCABIAEoArghIAEoAgwgAUHIIWoiCCAHEFkNACAIKAIAQX9GDQAgAUG4IWohBiADQeXIpbMHNgIAIAQgASgCDDYCACACIAEoArghNgIAIAFByCBqIAEoAsghIgU2AgAgASABKAIMQdgpbGpBhMsAakEBNgIAIAEoAvTJAUUNACABQQA2AvTJAQsCQCABIAFBvCFqIgcoAgAgASgCECABQcwhaiIIQQAQWQ0AIAgoAgAgBU8NACADQe7qvZsHNgIAIAQgASgCEDYCACACIAEoArwhNgIAIAFByCBqIAEoAswhIgU2AgAgASABKAIQQdgpbGpBhMsAakEBNgIAIAchBgsCQCABIAFBwCFqIgcoAgAgASgCFCABQdAhaiIIQQAQWQ0AIAgoAgAgBU8NACADQfTwlaMHNgIAIAQgASgCFDYCACACIAEoAsAhNgIAIAFByCBqIAEoAtAhIgU2AgAgASABKAIUQdgpbGpBhMsAakEBNgIAIAchBgsgASABQcQhaiIHKAIAIAEoAhggAUHUIWoiCEEAEFkNACAIKAIAIAVPDQAgA0H03KXDBjYCACAEIAEoAhg2AgAgAiABKALEITYCACABQcggaiABKALUITYCACABIAEoAhhB2ClsakGEywBqQQE2AgAgByEGCwJAAkAgAUHUIGooAgBFBEAgACgCEEUNAQsgA0HlyKWzBzYCACACIAEoArghNgIAIAQgASgCDDYCACABQcggaiABQcghaigCADYCACABIAEoArghQQFqNgK4IQwBCyAGRQRAQYaAgIB4DwsgBiAGKAIAQQFqNgIAC0EAIQULIAULuBACCn8CfiMAQRBrIgIkACACQgA3AwggAkEANgIEQYGAgIB4IQcCQCAARQ0AIAFFDQAgACgCECIDQX9qQQFNBEAgAUGMywBqQgA3AgAgAUGEywBqQgA3AgAgAUHc9ABqQgA3AgAgAUHk9ABqQgA3AgAgAUG0ngFqQgA3AgAgAUG8ngFqQgA3AgAgAUGMyAFqQgA3AgAgAUGUyAFqQgA3AgALIANBAksNAAJAAkACQCADQQFrDgIAAQILIAEgACgCDBDHAiIHRQ0BDAILIAEgACgCFBDGAiIHDQELAkACfwJAAkACQAJAAkACQCAAKAIQRQRAIAFBuCFqIQggAUG8IWohCSABQcAhaiEKIAFBxCFqIQtCfyEMQX8hBEGDgICAeCEHIAEoAuAhIgBB7eq9mwdMBEBBACEDIAAgAEUNCBogAEH03KXDBkcNCiABIAEoAsQhIAEoAhggAkEIaiACQQRqEDdFDQUMBwsgAEHu6r2bB0YNAiAAQfTwlaMHRg0DIABB5cilswdHDQlBACEDIAEgASgCuCEgASgCDCACQQhqIAJBBGoQNw0GIAIpAwgiDUJ/Ug0BDAULIAEgASgCuCEgASgCDCABQYjJAWogAUGQyQFqEDciBw0IIAEgASgCuCEgASgCDCABQcggaiABQdghahBZIgcNCCABIAFBoMkBaigCACABKAIMIAEoArghIAEoApDJARDMASIHDQggAUHwIGogASkDiMkBNwMAIAAgASgCuCEiAzYCDCAAIAEoAsggNgIUIAEgA0EBajYCuCEMBwsgASgCoMkBIQAgASgCDCEEIAghAyANIQwgAigCBAwFC0EAIQMgASABKAK8ISABKAIQIAJBCGogAkEEahA3DQMgAikDCCINQn9RDQIgASgCpMkBIQAgASgCECEEIAkhAyANIQwgAigCBAwEC0EAIQMgASABKALAISABKAIUIAJBCGogAkEEahA3DQIgAikDCCINQn9RDQEgASgCqMkBIQAgASgCFCEEIAohAyANIQwgAigCBAwDCyACKQMIIg1Cf1ENACABKAKsyQEhACABKAIYIQQgCyEDIA0hDCACKAIEDAILC0EAIQBBAAshBgJAIAFBuMsAaigCACIFQe3qvZsHTARAIAVFDQEgBUH03KXDBkcNAyABIAEoAsQhIAEoAhggAkEIaiACQQRqEDcNASACKQMIIg0gDFoNASABKAKsyQEhACABKAIYIQQgAigCBCEGIAshAyANIQwMAQsgBUHu6r2bB0cEQCAFQfTwlaMHRwRAIAVB5cilswdHDQQgASABKAK4ISABKAIMIAJBCGogAkEEahA3DQIgAikDCCIN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AWs2AghBAg8LIAcoAgAhACABIAIgA2o2AtjIASABQQE2AuzIASABQYTJAWogAEEIdEGAgPwHcSAAQRh0ciAAQQh2QYD+A3EgAEEYdnJyIgA2AgAgASAANgLcyAELAkAgAUHwyAFqKAIABEAgASgC4MgBIQIMAQtBgYCAgHghAiABKAIwIgNFDQFBh4CAgHghAiABKALUyAEiBSABKALYyAEiAEkNASADIAEoAuDIASICaiEDIAEoAtDIASAAaiEEIAUgAGsiACABQYTJAWooAgAgAmsiAkkEQCADIAQgABApGiABIAEoAtjIASAAajYC2MgBIAEgASgC4MgBIABqNgLgyAFBAg8LIAMgBCACECkaIAFBATYC8MgBIAEgASgC2MgBIAJqNgLYyAEgASABKALgyAEgAmoiAjYC4MgBCyABIAEoAjBBCGogAkF4ahDMAiICDQAgARDNAiICDQAgAUEBNgLoyAFBACECIAFBADYC4MgBCyACC7UHAQd/IABFBEBBgYCAgHgPCyABRQRAQYGAgIB4DwsCQAJAIAFBtMkBaigCAEUEQCABKALQyAEiBkUEQEGBgICAeA8LQYeAgIB4IQMgASgC1MgBIgUgASgC2MgBIgRJDQEgBSAEayECIAUgBEEIakkEQCAAIAI2AghBAg8LIAJBeGohAyAEIAZqIQZBACECAkADQCACIAZqIgcoAgRB7d69swZGDQEgAkEBaiICIANNDQALDAMLIAcoAgAhAyABIAIgBGo2AtjIASABQQE2ArTJASABQejJAWogA0EIdEGAgPwHcSADQRh0ciADQQh2QYD+A3EgA0EYdnJyIgI2AgAgASACNgLcyAELIAFBuMkBaigCAEUEQCABKAIwIgRFBEBBgYCAgHgPC0GHgICAeCEDIAEoAtTIASIGIAEoAtjIASICSQ0BIAQgASgC4MgBIgNqIQQgASgC0MgBIAJqIQUgBiACayICIAFB6MkBaigCACADayIDSQRAIAQgBSACECkaIAEgASgC2MgBIAJqNgLYyAEgASABKALgyAEgAmo2AuDIAUECDwsgBCAFIAMQKRogAUEBNgK4yQEgASABKALYyAEgA2o2AtjIASABIAEoAuDIASADajYC4MgBCyABQbzJAWooAgBFBEAgASgC4MgBQXhqIgRFBEBBgYCAgHgPCyABKAIwQQhqIQID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ASAANgIUQYWAgIB4DwsgASACNgIQIAAoApgCIQNBACECIAFBADYCOCABIAM2AhggASADNgIUIAEgACgC0AI2AnggASAAKALEArM4ApABIAEgACgCyAI2AnwgASAAKALMAjYCgAEgACgClAJBghBHDQAgAUGBIDYCmAFBAA8LIAILgwIBBH8gAUUEQEGBgICAeA8LAn9Bh4CAgHggACgC5AIiBEUNABoCQCAAKALwAiICQQFNBEAgAkEBaw0BIAFBATYCOCAAQQI2AvACQQAPCyABQQE2AjhBh4CAgHgPCwJAIAAoAugCBEAgAEHoAmohAyAAQgE3AqQCDAELIABBpAJqIQIgACgC7AIiBUUEQCACIQMMAQsgAEHsAmohAyACQQE2AgAgBUF/aiICQQFLDQAgACACQQFrBH8gAEH0AmoFIABB+AJqCygCADYCqAILIANBADYCAEGIgICAeCAAQQhqIgIgBBCABw0AGiAAKAKwAgRAIABBATYC8AILIAIgARD3BgsL+gEBAn8gAUUEQEGBgICAeA8LIABB5AJqIQMgACgC5AIiAgRAIAIQfCADQQA2AgALIAAoAowCIgIEQCACECggAEEANgKMAgsgACgClAIiAgRAIAIQKCAAQQA2ApQCC0EAIQIgAEGIAmpBAEHcABArGgJAIABBCGogAUGAAhApIgEQggdFBEAgACAAKAKQAhAsNgKMAiAAIAAoApgCECw2ApQCIAEgAxCBB0UNAQsgAygCACIBBEAgARB8IANBADYCAAsgACgCjAIiAQRAIAEQKCAAQQA2AowCC0GLgICAeCECIAAoApQCIgFFDQAgARAoIABBADYClAILIAILPwEBf0GBgICAeCECAkAgAUUNACABKAIQRQ0AIAAgASgCACAAKAIAKAIUEQAAIgINACAAIAEoAhAQ+QYPCyACC04BAX8gAEHo6wg2AgAgACgC5AIiAQRAIAEQfCAAQQA2AuQCCyAAKAKMAiIBBEAgARAoIABBADYCjAILIAAoApQCIgEEQCABECgLIAAQKAuoAgEEfyMAQUBqIgEkACAAKAIAIgJBfGooAgAhAyACQXhqKAIAIQQgAUEANgIUIAFBlBY2AhAgASAANgIMIAFBxBY2AghBACECIAFBGGpBAEEnECsaIAAgBGohAAJAIANBxBZBABBDBEAgAUEBNgI4IAMg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AiAAIAAoAowCIgMtAABBCHQgAy0AAXI2AtQCIAAgASgCbEF/ajYC2AIMAQsgACgCjAIgBCgCDCICIAEoAgAQUyACRw0BIAAgBCgCDCICNgKQAgtBACEGIAAoAqwCIgFFDQAgACgCjAIgAiAAKAKUAiABEQYACyAGC0AAIAFBAksEQEGBgICAeA8LIAFBAmtFBEAgAEIANwJgIABBADYChAEgAEIANwJoIABCADcCcCAAQQA2AngLQQALMAEBfyAAKAJEIgEEQCABECggAEEANgJECyAAKAJ8IgEEQCABECggAEIANwJ8C0EACyQBAX9BgYCAgHghAiABQWFxBH9BgYCAgHgFIAAgATYCBEEACwuDBQEEfyABRQRAQYGAgIB4DwsgAUEAQdAJECshAQJAIAAoApABIgMNACAAKAKMAQ0AIAAoApQBDQBBh4CAgHgPCwJAAkAgACgCYCIEQXlqIgVBA0sEQEG/+wIhAiAEQb/7AkYNAgwBC0GAAiECAkACQCAFQQFrDgMAAgEDC0EFIQIMAgtBgcAAIQIMAQtBACECCyABIAI2AhAgASAAKAJoNgIkIAAoAmQhAiABQQA2AjAgAUIANwIcIAEgAjYCGCABIAI2AhQgACgCjAEEfyABIAAoAnw2AgAgASAAKAKEATYCBCABQTxqQQBB8AAQKxogAEEANgKEASAAQQA2AowBIAAoApABBSADCwRAIAEgACgCfDYCACAAKAKEASECIAFBADYCdCABQgA3AmwgAUIANwJkIAFCADcCXCABQgA3AlQgAUIANwJMIAFCADcCRCABQgA3AjwgASACNgIEIAEgACkCpAE3AnggASAAKQKsATcCgAEgASAAKQK0ATcCiAEgASAAKQK8ATcCkAEgASAAKQLEATcCmAEgASAAKQLMATcCoAEgASAAKALUATYCqAEgAEEANgKEASAAQQA2ApABCyAAKAKUAUUEQEEADwsgASAAKAJ8NgIAIAAoAoQBIQIgAUEANgJ0IAFCADcCbCABQgA3AmQgAUIANwJcIAFCADcCVCABQgA3AkwgAUIANwJEIAFCADcCPCABIAI2AgQgASAAKQKkATcCeCABIAApAqwBNwKAASABIAApArQBNwKIASABIAApArwBNwKQASABIAApAsQBNwKYASABIAApAswBNwKgASABIAAoAtQBNgKoASAA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mAIiAQRAIAEQKCAAQQA2AqACIABBADYCmAILQQALswUBAX8gAUUEQEGBgICAeA8LIAFBAEHQCRArIQECQCAAKAJUDQAgACgCWA0AIAAoAlwNAEGHgICAeA8LIAEgACgClAI2AgAgASAAKAKkAjYCBCABIAAoAmQiAkEDRgR/IABBv/sCNgJkQb/7AgUgAgs2AhAgASAAKAJsNgIkIAAoAmghAiABQQA2AjAgAUIANwIcIAEgAjYCGCABIAI2AhQgACgCVARAIAEgACkCgAE3AnggASAAKAKwATYCqAEgASAAKQKoATcCoAEgASAAKQKgATcCmAEgASAAKQKYATcCkAEgASAAKQKQATcCiAEgASAAKQKIATcCgAEgASAAKAKQAjYCdCABIAApAogCNwJsIAEgACkCgAI3AmQgASAAKQL4ATcCXCABIAApAvABNwJUIAEgACkC6AE3AkwgASAAKQLgATcCRCABIAApAtgBNwI8IAAoAvgBQe0OTwRAIAFBATYCMAsgAEEANgJUIABBATYCYAsgACgCWARAIAFCADcCPCABQQA2AnQgAUIANwJsIAFCADcCZCABQgA3AlwgAUIANwJUIAFCADcCTCABQgA3AkQgASAAKQK0ATcCeCABIAApArwBNwKAASABIAApAsQBNwKIASABIAApAswBNwKQASABIAApAtQBNwKYASABIAApAtwBNwKgASABIAAoAuQBNgKoASAAQQA2AlgLIAAoAlwEQCABQgA3AjwgAUEANgJ0IAFCADcCbCABQgA3AmQgAUIANwJcIAFCADcCVCABQgA3AkwgAUIANwJEIAEgACkCzAE3AnggASAAKQLUATcCgAEgASAAKQLcATcCiAEgASAAKQLkATcCkAEgASAAKQLsATcCmAEgASAAKQL0ATcCoAEgASAAKAL8ATYCqAEgAEEANgJcCyAAQQA2AqQCQQALxwIBCH8gAUUEQA8LIABBADYCqAIgAkEDTwRAA0AgAiABLQABIAEtAABBCHRyIgdBAmoiCEkEQA8LIAAoApgCIQQCfwJAAn8gAyAHaiIFQQRqIgYgACgCoAJLBEACQCAERQRAIAAgBkGA0AAgBkGA0ABLGyIGQYBAayIEECwiBTYCmAIgBUGsASAEECsaDAELIAVBhMAAaiIJECwiBSADakGsAUEAIAkgA2siCiAKIAlL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NwMAIABB6AlqQgA3AwAgAEHgCWpCADcDACAAQdgJakIANwMAIABBADsBnAMgAEEEakEAQZQDECsaC98CAQJ/QYiAgIB4IQYCQCACRQ0AIARFDQAgBUUNACAAQQRqIQcgACgCBARAIAQgAEEIakGQAxApGiAFIABBmANqQbQGECkaIABBiApqQgA3AwAgAEGACmpCADcDACAAQfgJakIANwMAIABB8AlqQgA3AwAgAEHoCWpCADcDACAAQeAJakIANwMAIABB2AlqQgA3AwAgAEIANwPQCSAAQQA7AZwDIAdBAEGUAxArGkEADwsgAUUNACAAIAI2AtAJIABB2AlqIAM2AgAgAEHUCWogAzYCACAAKAIAIABB0AlqIgEgAEEIaiICIABBmANqIgMQ0wEiBkEASA0AIAQgAkGQAxApGiAFIANBtAYQKRogAUIANwM4IAFCADcDMCABQgA3AyggAUIANwMgIAFCADcDGCABQgA3AxAgAUIANwMIIAFCADcDACAAQQA7AZwDIAdBAEGUAxArGkEAIQYLIAYLzgIBBH8CQCABRQ0AIAJFDQAgACgC0AkiA0UNACAAQQRqIQUgACgCBARAIAEgAEEIakGQAxApGiACIABBmANqQbQGECkaIABBiApqQgA3AwAgAEGACmpCADcDACAAQfgJakIANwMAIABB8AlqQgA3AwAgAEHoCWpCADcDACAAQeAJakIANwMAIABB2AlqQgA3AwAgAEIANwPQCSAAQQA7AZwDIAVBAEGUAxArGg8LIABB1AlqKAIAIQQgACADNgLQCSAAQdgJaiAENgIAIAAoAgAgAEHQCWoiAyAAQQhqIgQgAEGYA2oiBhDTAUEASA0AIAEgBEGQAxApGiACIAZBtAYQKRogA0IANwM4IANCADcDMCADQgA3AyggA0IANwMgIANCADcDGCADQgA3AxAgA0IANwMIIANCADcDACAAQQA7AZwDIAVBAEGUAxArGgsL8AIBBH8gAkUEQEGIgICAeA8LAkAgAigCBCACKAIIayIGQX9MBEAMAQsCQAJ/IAFBfmoiBEEESwRAQYSAgIB4IQUgAUGAAkcNAiACEN0HDAELAkACQAJAAkACQCAEQQFrDgQDAAEEAgsgA0EANgIAQQAPCyACENkHDAMLIAIQ1gcMAgsgAhDUBwwBCyACEM4HCyEEQQAhBSAD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BQ0AIAAgAkEDaiICai0AAEEBdkE/cSIDQQpJDQMgA0FwakH/AXFBBkkNAwsgASAERw0ACwtBfyECCyACC4YJAQp/IwBBEGshASAABEAgASAALQADIgJBwL8Iai0AACAALQACIgNBwMUIai0AACAALQABIgRBwMMIai0AACAALQAAIgVBwMEIai0AAHNzczoADyABIAJBwMEIai0AACADQcC/CGotAAAgBEHAxQhqLQAAIAVBwMMIai0AAHNzczoACiABIAJBwMMIai0AACADQcDBCGotAAAgBEHAvwhqLQAAIAVBwMUIai0AAHNzczoABSABIAJBwMUIai0AACADQcDDCGotAAAgBEHAwQhqLQAAIAVBwL8Iai0AAHNzczoAACABIAAtAAciAkHAwQhqLQAAIAAtAAYiA0HAvwhqLQAAIAAtAAUiBEHAxQhqLQAAIAAtAAQiBUHAwwhqLQAAc3NzOgAOIAEgAkHAwwhqLQAAIANBwMEIai0AACAEQcC/CGotAAAgBUHAxQhqLQAAc3NzOgAJIAEgAkHAxQhqLQAAIANBwMMIai0AACAEQcDBCGotAAAgBUHAvwhqLQAAc3NzOgAEIAEgAkHAvwhqLQAAIANBwMUIai0AACAEQcDDCGotAAAgBUHAwQhqLQAAc3NzOgADIAEgAC0ACyICQcDDCGotAAAgAC0ACiIDQcDBCGotAAAgAC0ACSIEQcC/CGotAAAgAC0ACCIFQcDFCGotAABzc3M6AA0gASACQcDFCGotAAAgA0HAwwhqLQAAIARBwMEIai0AACAFQcC/CGotAABzc3M6AAggASACQcC/CGotAAAgA0HAxQhqLQAAIARBwMMIai0AACAFQcDBCGotAABzc3MiBjoAByABIAJBwMEIai0AACADQcC/CGotAAAgBEHAxQhqLQAAIAVBwMMIai0AAHNzcyIHOgACIAEgAC0ADyICQcC/CGotAAAgAC0ADiIDQcDFCGotAAAgAC0ADSIEQcDDCGotAAAgAC0ADCIFQcDBCGotAABzc3MiCDoACyABIAJBwMUIai0AACADQcDDCGotAAAgBEHAwQhqLQAAIAVBwL8Iai0AAHNzcyIJOgAMIAEgAkHAwQhqLQAAIANBwL8Iai0AACAEQcDFCGotAAAgBUHAwwhqLQAAc3NzIgo6AAYgASACQcDDCGotAAAgA0HAwQhqLQAAIARBwL8Iai0AACAFQcDFCGotAABzc3MiAjoAASABLQAAIQMgACAHQcC9CGotAAA6AAIgACACQcC9CGotAAA6AAEgACADQcC9CGotAAA6AAAgACABLQADQcC9CGotAAA6AAMgACABLQAEQcC9CGotAAA6AAQgAS0ABSECIAAgBkHAvQhqLQAAOgAHIAAgCkHAvQhqLQAAOgAGIAAgAkHAvQhqLQAAOgAFIAAgAS0ACEHAvQhqLQAAOgAIIAAgAS0ACUHAvQhqLQAAOgAJIAEtAAohAiAAIAlBwL0Iai0AADoADCAAIAhBwL0Iai0AADoACyAAIAJBwL0Iai0AADoACiAAIAEtAA1BwL0Iai0AADoADSAAIAEtAA5BwL0Iai0AADoADiAAIAEtAA9BwL0Iai0AADoADwsLqgMBCH8CQCAARQ0AIAFFDQAgASAALQAAOgAAIAEgAC0AAToAASABIAAtAAI6AAIgASAALQADOgADIAEgAC0ABDoABCABIAAtAAU6AAUgASAALQAGOgAGIAEgAC0ABzoAByABIAAtAAg6AAggASAALQAJOgAJIAEgAC0ACjoACiABIAAtAAs6AAsgASAALQAMOgAMIAEgAC0ADToADSABIAAtAA46AA4gASAALQAPOgAPQQQhBCACQQJ0QQRqIgpBBUkNAANAIARBAnQiBSABaiIDQX9qLQAAIQYgA0F+ai0AACEAIANBfWotAAAhByADQXxqLQAAIQICQCAEQQNxBEAgACEIIAIhCQwBCyAEQQJ2QbC9CGotAAAgB0GwuwhqLQAAcyEJIAZBsLsIai0AACEIIABBsLsIai0AACEHIAJBsLsIai0AACEGCyADIANBcGotAAAgCXM6AAAgASAFQQFyaiADQXFqLQAAIAdzOgAAIAEgBUECcmogA0Fyai0AACAIczoAACABIAVBA3JqIANBc2otAAAgBnM6AAAgBEEBaiIEIApHDQALCwvdCgEKfwJAIABFDQAgAUUNACACRQ0AIAIoAgwgACgADCIDQRh0IANBCHRBgID8B3FyIANBCHZBgP4DcSADQRh2cnJzIQggAigCCCAAKAAIIgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZycnMhCSACKAIEIAAoAAQiA0EYdCADQQh0QYCA/AdxciADQQh2QYD+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BAEBfyABRQRAQYGAgIB4DwsgAUEAQdAJECshAQJAIAAoAswBDQAgACgCyAENAEGHgICAeA8LAkAgAC0AHEEBcQRAIAEgACgCIDYCACABIAAoAig2AgQgASAAKAK8ATYCCCABIAAoAsQBNgIMDAELIAEgACgCvAE2AgAgASAAKALEATYCBAsgASAAKAJQNgIQIAEgACgCWDYCJCAAKAJUIQIgAUEANgIwIAFCADcCHCABIAI2AhggASACNgIUIABBADYCKAJAAkAgACgCyAEEQCAAQcgBaiECIAFCADcCPCABQQA2AnQgAUIANwJsIAFCADcCZCABQgA3AlwgAUIANwJUIAFCADcCTCABQgA3AkQgASAAKQJsNwJ4IAEgACkCdDcCgAEgASAAKQJ8NwKIASABIAApAoQBNwKQASABIAApAowBNwKYASABIAApApQBNwKgASABIAAoApwBNgKoASABIAApAqABNwJcIAEgACkCqAE3AmQgASAAKQKwATcCbCABIAAoArgBNgJ0DAELIABBzAFqIgIoAgBFDQEgAUIANwI8IAFBADYCdCABQgA3AmwgAUIANwJkIAFCADcCXCABQgA3AlQgAUIANwJMIAFCADcCRCABIAApAmw3AnggASAAKQJ0NwKAASABIAApAnw3AogBIAEgACkChAE3ApABIAEgACkCjAE3ApgBIAEgACkClAE3AqABIAEgACgCnAE2AqgBCyACQQA2AgALIABBADYCxAFBAAvyAQEIfwJAIAFFDQAgASgCICIIRQ0AIAEoAiQiBkEASA0AIAAoArwBIQMCQCAAKALEASICIAZqIgQgACgCwAFNBEAgAyEFDAELAkAgA0UEQCAAIARBgIAgIARBgIAgSxsiBEGAQGsiAxAsIgU2ArwBIAVBrAEgAxArGgwBCyAEQYBAayIHECwiBSACakGsAUEAIAcgAmsiCSAJIAdLGxArGiAFIAMgAhApIQIgAxAoIAAgAjYCvAEgACgCxAEhAgsgACAENgLAAQsgAiAFaiAIIAYQKRogACAAKALEASAGajYCxAEgACABEO0CDwtBgYCAgHgL3wMBCH9BgYCAgHghAgJAIAFFDQAgASgCDCIDKAIgIghFDQAgAygCJCIGQQBIDQAgACgCvAEhBAJAIAAoAsQBIgIgBmoiBSAAKALAAU0EQCAEIQMMAQsC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IABBmA5qIQIgAEHUDmooAgBBA0YEQCACIABB2A5qKAIAIgMpAgA3AgAgAiADKQIwNwIwIAIgAykCKDcCKCACIAMpAiA3AiAgAiADKQIYNwIYIAIgAykCEDcCECACIAMpAgg3AggLIABB3A5qKAIAQQNGBEAgAiAAQeAOaigCACIDKQIANwIAIAIgAykCMDcCMCACIAMpAig3AiggAiADKQIgNwIgIAIgAykCGDcCGCACIAMpAhA3AhAgAiADKQIINwIICyAAQeQOaigCAEEDRgRAIAIgAEHoDmooAgAiAykCADcCACACIAMpAjA3AjAgAiADKQIoNwIoIAIgAykCIDcCICACIAMpAhg3AhggAiADKQIQNwIQIAIgAykCCDcCCAsgAEHsDmooAgBBA0YEQCACIABB8A5qKAIAIgMpAgA3AgAgAiADKQIwNwIwIAIgAykCKDcCKCACIAMpAiA3AiAgAiADKQIYNwIYIAIgAykCEDcCECACIAMpAgg3AggLIABB9A5qKAIAQQNGBEAgAiAAQfgOaigCACIDKQIANwIAIAIgAykCMDcCMCACIAMpAig3AiggAiADKQIgNwIgIAIgAykCGDcCGCACIAMpAhA3AhAgAiADKQIINwIICyAAQfwOaigCAEEDRgRAIAIgAEGAD2ooAgAiAykCADcCACACIAMpAjA3AjAgAiADKQIoNwIoIAIgAykCIDcCICACIAMpAhg3AhggAiADKQIQNwIQIAIgAykCCDcCCAsgAEGED2ooAgBBA0YEQCACIABBiA9qKAIAIgMpAgA3AgAgAiADKQIwNwIwIAIgAykCKDcCKCACIAMpAiA3AiAgAiADKQIYNwIYIAIgAykCEDcCECACIAMpAgg3AggLIABBjA9qKAIAQQNGBEAgAiAAQZAPaigCACIDKQIANwIAIAIgAykCMDcCMCACIAMpAig3AiggAiADKQIgNwIgIAIgAykCGDcCGCACIAMpAhA3AhAgAiADKQIINwIICyAAKAJoIgIEQCACIAEQiwMLQQAhAiAAKAJsIgBFDQEgACABEO4BDAELIAAoAmQhAEGEgICAeCECIARBhICAgHg2AgwgBCAANgIIIARB/iI2AgQgBEG3tQo2AgBBBUH1tAogBBAqCyAEQRBqJAAgAgvOBAICfwF9AkACQAJAIAFFDQACQAJAAkACQAJA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QgA3AgAgAEIANwKsCSAAQdQJakIANwIAIABCADcCzAkgAEGIDWpCADcCACAAQgA3AoANIABBfzYCjA4gAEH0AGpBAEGMARArGiAAQgA3AkQgAEIANwI8IABCADcCNCAAQgA3AiwgAEIANwIkIABBkA1qQQBB/AAQKxogAEGsAmpBAEGkAhArGiAAQQA2AoQFIABCADcC/AQgAEIANwL0BCAAQgA3AuwEIABCADcC5AQgAEIANwLcBCAAQgA3AtQEIABBnAVqQQBBgAQQKxogAEHcCWpBAEHhABArGiAAQcAKakEAQcQAECsaIABBiAtqQQBB+AEQKxogAEGQDmpBAEHEARArGiAAC48CAQN/IwBBIGsiAyQAIANCADcDGCADQgA3AxAgA0IANwMIAkACfyABRQRAIAAgA0EIaiACQQAQ/wIMAQsgACADQQhqIAIgAUEAQeQEECsQ/wILIgINACABIAMtAAg6AAAgASADLQAJOgABQQAhAiADLwEKIgBBCU1BAEEBIAB0QYEGcRsNACABIAA7AQIgAEECRwRAIAFBATYCCCADLwEMIQAgAUEBNgIMIAEgADYCFCADKAIQIQAgASADKQIUNwKYAyABQQA2AqQDIAEgADYClAMLIAEoAhAiBEUNACADLwEcIQVBACEAA0AgASAAQQJ0aiAFOwG0BCAAQQFqIgAgBEcNAAsLIANBIGokACACC+UBAQF/IwBBIGsiAyQAIANCADcDGCADQgA3AxAgA0IANwMIAkAgAkUEQEEBIQAMAQsgACABIANBCGogAkEAQeQEECsiARDuCCIADQAgASADLQAIOgAAIAEgAy0ACToAASABIAMvAQoiADsBAiAAQQJHBEAgAUEBNgIIIAMvAQwhACADLwEOIQIgAUFAa0EANgIAIAFBADYCHCABIAI2AhggASAANgIUIAFBATYCDCADKAIQIQAgASADKQIUNwKYAyABQgA3AqADIAEgADYClAMLQQAhACABQQA2AhALIANBIGokACAAC30BAX9BgYCAgHghBAJAIABFDQAgAUUNACACRQ0AIAJCADcCACACQgA3AhAgAkIANwIIQQAhBCAAIAEgAiADEIgDRQ0AIAAgASACIAMQiAlFDQAgACABIAIgAxD6CEUNACAAIAEgAhD4CEUNACAAIAEgAhCBA0EARyEECyAECywAIAFF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QQAhBCADQQA2AiggA0IANwMgIANCADcDGCADQgA3AxAgA0IANwMIIANCADcDACAAEIMBIQsDQAJAIAQgAEGAgIABIARrIAIgBGoQLiIFaiIGQQRJDQBBACEHIAsgBSAKaiIKrVMNAAJAAkACQANAAkAgByIEQQFqIQcCQCACIARqIgUtAABBxABHDQAgAiAHai0AAEHIAEcNACAFLQACQcEARw0AIAUtAANB1gBGDQELIARBBWogBk0NAQwCCwsgBEF/Sg0BCyAGIAlqQX1qIQkMAQsgBSAGIARrIAMQggMiB0EBTQRAIAdBAWsNAiADKAIAIARqIQgMAQsgBEEEaiEICyAGIAhJDQAgAiACIAhqIAYgCGsiBBAxIARFDQAgCCAJaiIJQYCAgAFJDQELCyADLwEERQRAQQEhBAwBCyABQYGAAjsBAiABIAMoAgg7AQQgASADKAIYOwEIIAEgAygCHDoACiABIAMoAiA6AAsgASADKAIkNgIMIAEgAygCKDYCEEEAIQQLIANBMGokACAEC+gCAQR/IwBBMGsiAyQAQYGAgIB4IQQCQCAARQ0AIAJFDQAgA0EANgIoIANCADcDICADQgA3AxggA0IANwMQIANCADcDCCADQgA3AwADQAJAIAFBBEkNAEEAIQYgAEUNAANAAkAgBiIEQQFqIQYCQCAAIARqIgUtAABBxABHDQAgACAGai0AAEHIAEcNACAFLQACQcEARw0AIAUtAANB1gBGDQELIARBBWogAU0NAQwCCwsgBEEASA0AAn8gBSABIARrIgAgAxCCAyIBQQFNBEAgAUEBaw0CIAAgAygCACIESQ0CIAAgBGshASAEIAVqDAELIABBfGohASAFQQRqCyEAIAENAQsLIAMvAQRFBEBBASEEDAELIAJBgYACOwECIAIgAygCCDsBBCACIAMoAhg7AQggAiADKAIcOgAKIAIgAygCIDoACyACIAMoAiQ2AgwgAiADKAIoNgIQQQAhBAsgA0EwaiQAIAQLWQEBf0F+IQQCQCAARQ0AIAFFDQAgAkUNAEGCgICAeCEEIABBgICAASACEC4iAEGACEkNACACIAAgASADEIQDRQRAQQAPCyACIAAgASADEIUDQQBHIQQLIAQLOQEBf0F+IQQCQCAARQ0AIAJFDQAgACABIAIgAxCFA0UEQEEADwsgACABIAIgAxCEA0EARyEECyAEC5kBAQN/IABFBEBBfg8LAkAgAUEETwRAIAFBfWohBEEAIQEDQCABIgNBAWohAQJAIAAgA2oiAi0AAA0AIAAgAWotAAANACACLQACQQFHDQAgAi0AA0HGfmoiAkEmSw0AIAJBBGsOIgADAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCyABIARHDQALC0F/IQMLIAMLvQMBA38CQCAARQ0AIAJFDQBBfyEEAkAgAUEESQ0AIAAtAAANASAALQABDQEgAC0AAkEBRw0BAkAgAC0AAyIDQcZ+aiIFQQJLDQACQAJAIAVBAWsOAgIBAAsgAUEOSQ0CIAAtAA1BB3FBDmoiAyABSw0CIAAtAARBwAFxQcAARw0DIANBBGogAUsNAgJ/IAMgACADaiIALQAADQAaIAMgAC0AAQ0AGiADIAAtAAJBAUcNABogAyAALQADQbsBRw0AGiABIANrIgFBBkkNAyAALQAFIAAtAARBCHRyQQZqIgUgAUsNBEF+IQQgAC0AC0H/AHFB/wBHDQMgAkEBNgIIIAMgBWoLIQAgAkEBNgIAIAAPCyAAIAEgAhD9CA8LAkAgAigCMEEPRgRAIAFBCEkNAiADQcABRw0BIAAtAAgiA0EQaiABSw0CAkAgACADaiIDLQAJQf8BRgRAIAMtAApBAXENAQsgAkEBNgIMDAILIAMtAAshAyACQQE2AgwgAiADQTxxQdD2CWooAgA2AuwFDAELIAFBBkkNAQtBfyAALQAFIAAtAARBCHRyQQZqIgAgACABSxshBAsgBA8LQX4LvwQBB38gAEUEQEF+DwsgAkUEQEF+DwsCf0F/IAFBBkkNABogAC0ABSAALQAEQQh0ciIGQfoHSwRAQX4PCyAGQQZqIgcgAUsEQEF+DwsCQCACKAIARQ0AIAAtAAkgAC0ACEEIdHIiBEEKaiIDIAdLBEBBfg8LIABBCmogBCACQTRqIgkQrQFBfiAEQQxqIgEgACAEai0ACyAAIANqLQAAQQh0cmogB0sNARogAkFAa0EANgIAIAZBAmohBiACQRBqIQQDQAJAIAAgAWoiCC0AACIDQX9qIgVBsQFLDQACQAJAIAVBAmsOrQEBAQICAgICAgICAgIBAAICAgICAgICAgIAAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAgICAgICAgICAgICAgIBAQEBAgIBAgEBAgIBAQECAgICAgIBAQICAgICAgICAgALIAQgAigCQCIDQdQAbGogCC0AATYCPCAILQAAIQUgAiADQQFqNgJAIAQgA0ECdGogBTYCACACKAJAQQhJDQEgAkEHNgJADAELIAIgAzYCMAsgCC0AAyAILQACQQh0ciIDIAFBBGoiBWoiASAHTQRAIAkoAgAEQCAAIAVqIAMgCRCtAQsgASAGSQ0BCwsgAkEBNgIEIAIoAjBBD0YNACACQQE2AgwLIAcLC8kDAQd/AkAgAEUNACABRQ0AIAAtAABBxwBHDQACQCAALQADQQR2QQNxQX9qIgNBAksNACAALQABIQQgAC0AAiEGAn8CQAJAIANBAWsOAgMBAAtBuAEhAyAAQQRqDAELIAAtAAQiBUG3AUsNAUG3ASAFayEDIAAgBWpBBWoLIQAgBEEGdkEBcSEFIARBCHRBgD5xIAZyIgRFBEAgBQRAIAMgAC0AACIETQ0CIAMgBEEBaiICayEDIAAgAmohAAtBfyECIANBA0kNASAALQABIgJBwABxDQIgAC0AAiACQQh0QYAecXIiAkEDaiADSw0CIAJBd2pB9AdLDQIgAkF/aiEFIAAtAAchBiAALQAGIQdBCCECA0AgAkEEaiIEIANPDQMgACACQQFyai0AACAAIAJqLQAAQQh0ciIIBEAgASAINgIEIAEgACACQQNyai0AACAAIAJBAnJqLQAAQR9xQQh0cjYCCAsgBCICIAVJDQALIAYgB0YEQCABQQE2AgALQQBBfiABKAIEGw8LIAQgASgCCEcNACAFBH8gAyAALQAAIgRNDQEgAyAEQQFqIgJrIQMgACACagUgAAsgAyABEP8IIQILIAIPC0F+C+IDAQl/AkAgAEUNACACRQ0AQX8hBwJAIAFBDEkNACAALQABIgNBwABxDQEgAC0AAiADQQh0QYAecXIiBEEDaiABSw0BQQAhByACKAIEIAAtAAQgAC0AA0EIdHJHDQAgAC0ACyAALQAKQQ9xQQh0ciIFQQxqIgMgAUsNASAALQAHIQggAC0ABiEJIABBDGogBSACQTRq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bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAc3RkOjp1MTZzdHJpbmcAc3RkOjp1MzJzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4ATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQAARAwAAFUHAADIDAAAFgcAAAAAAAABAAAAfAcAAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAyAwAAJwHAAAAAAAAAQAAAHwHAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUAAMgMAAD0BwAAAAAAAAEAAAB8BwAAAAAAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEc05TXzExY2hhcl90cmFpdHNJRHNFRU5TXzlhbGxvY2F0b3JJRHNFRUVFAAAAyAwAAEwIAAAAAAAAAQAAAHwHAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUAAADIDAAAqAgAAAAAAAABAAAAfAcAAAAAAABOMTBlbXNjcmlwdGVuM3ZhbEUAAEQMAAAECQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAABEDAAAIAkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAARAwAAEgJAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUAAEQMAABwCQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAABEDAAAmAkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQAARAwAAMAJAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUAAEQMAADoCQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAABEDAAAEAoAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQAARAwAADgKAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUAAEQMAABgCgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAABEDAAAiAoAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQAARAwAALAKAABTdDl0eXBlX2luZm8AAAAARAwAANgKAABOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQAAAABsDAAA8AoAAOgKAABOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAAABsDAAAIAsAABQLAAAAAAAAlAsAAAIAAAADAAAABAAAAAUAAAAGAAAATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAGwM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iSxpc284ODU5NQAAIAAMRFBBBh2EUEIKLcRQQw4B8BBEEUk0EUUVWXQRRhlptBFHHXn0EUghiTQSSSWZdBJKKam0EkstufQSTDHJNBNNNdl0E0456bQTTz359BNQQQk1FFFFGXUUUkkptRRTTTn1FFRXRiXVVFRVZdVVWGWl1VZcDdCVV2lzbzg4NTk2AAAgAAQQQAAABBBAAAEEEEAAlAEQQAABBBBAAAEEEEAAAQQQQGUBBBCAZQFchllmmm3GWWeefQZaaKKNRlpppp2GWmqqrcZaa669BlsAAQQQQACxyTYbbbXZdhtuuem2G2+9+fYbcMEJN1wAAQQQQAABBBBAAAEEEEAAaXNvODg1OTcAACAAFGkkAFRWCQAAAACwCwAAABDAkAAAAAAAvPTiCwC/ABMMAMIAMAwxxRhzDDLJKLMMM8048ww00UgzDTXVWBPANdhko8023HTjzTfghCPOOOSUY8456KSjzjrstOPOO/DEI8889NRjzz345KPPPvz0488/AAUkUABpc284ODU5OAAAIAAEAEGMKwsBwABBoCsLZPAAAAAAAEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAAkXTVZdddeOWl11589eXXX4AFJthghBVm2GGIJabYYow15lgAAfwIZABpc284ODU5OQAAUE4AQZMsCwN4UQgAQassCwFPAEG7LAvLA3xhCABpc284ODU5MTAAACAA2ECEFFpgIQYAZwhxSCOkABDJHADcUMQUW2QxBgBoDIGII6UMKQkdMgAAAAAAAAAAFz4AgAQARgAAAAAAvFEHAAAAAMAjAGQCAAAAAAAAADMAAAAAAAAAQBc/AJAEAEcAAAAAAMBhBwAAAAAAJABoAgAAAAAAABlpc284ODU5MTEAdGlzNjIwAAAgAEAXnXTTUVeddddhl51223HXnXffgReeeOORV55556GXnnrrsdeee+/BF59889FXn3334Zeffvvx159//wEYoIADEliggQcimGAAAQQQgIILMtiggw9CGKGEE1JYoYUXYpihhhty2KGHH4IYoogjkliiiQEEEEAAaXNvODg1OTEzAAAgACQJAAAAKAkAAA0A0AcAAAAAwAIAAAAAAEgCAAAAEADgBwAAAACAAzZwIQMOAACABBE+AACKEVKIocUZh7TxBgB1AAAA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T4dPik+MT45PkE+ST5NPlU+WT5hPmU+aT5xPnk+fT6FPok+kT6tPrU+wT7FPsk+zT7RPtk+3T7hPuU+6T7tPvE+9T75PwE/BT8JPxk/HT8hPyU/LT8xPzU/ST9NP1E/VT9ZP2U/bT+BP4k/kT+VP50/rT+xP8E/yT/RP9U/2T/dP+U/7T/xP/U//TwBQAVACUANQBFAFUAZQB1AIUAlQClALUA5QEFARUBNQFVAWUBdQG1AdUB5QIFAiUCNQJFAnUCtQL1AwUDFQMlAzUDRQNVA2UDdQOFA5UDtQPVA/UEBQQVBCUERQRVBGUElQSlBLUE1QUFBRUFJQU1BUUFZQV1BYUFlQW1BdUF5QX1BgUGFQYlBjUGRQZlBnUGhQaVBqUGtQbVBuUG9QcFBxUHJQc1B0UHVQeFB5UHpQfFB9UIFQglCDUIRQhlCHUIlQilCLUIxQjlCPUJBQkVCSUJNQlFCVUJZQl1CYUJlQmlCbUJxQnVCeUJ9QoFChUKJQpFCmUKpQq1CtUK5Qr1CwULFQs1C0ULVQtlC3ULhQuVC8UL1QvlC/UMBQwVDCUMNQxFDFUMZQx1DIUMlQylDLUMxQzVDOUNBQ0VDSUNNQ1FDVUNdQ2FDZUNtQ3FDdUN5Q31DgUOFQ4lDjUORQ5VDoUOlQ6lDrUO9Q8FDxUPJQ9FD2UPdQ+FD5UPpQ/FD9UP5Q/1AAUQFRAlEDUQRRBVEIUQlRClEMUQ1RDlEPURBREVETURRRFVEWURdRGFEZURpRG1EcUR1RHlEfUSBRIlEjUSRRJVEmUSdRKFEpUSpRK1EsUS1RLlEvUTBRMVEyUTNRNFE1UTZRN1E4UTlROlE7UTxRPVE+UUJRR1FKUUxRTlFPUVBRUlFTUVdRWFFZUVtRXVFeUV9RYFFhUWNRZFFmUWdRaVFqUW9RclF6UX5Rf1GDUYRRhlGHUYpRi1GOUY9RkFGRUZNRlFGYUZpRnVGeUZ9RoVGjUaZRp1GoUalRqlGtUa5RtFG4UblRulG+Ub9RwVHCUcNRxVHIUcpRzVHOUdBR0lHTUdRR1VHWUddR2FHZUdpR3FHeUd9R4lHjUeVR5lHnUehR6VHqUexR7lHxUfJR9FH3Uf5RBFIFUglSC1IMUg9SEFITUhRSFVIcUh5SH1IhUiJSI1IlUiZSJ1IqUixSL1IxUjJSNFI1UjxSPlJEUkVSRlJHUkhSSVJLUk5ST1JSUlNSVVJXUlhSWVJaUltSXVJfUmBSYlJjUmRSZlJoUmtSbFJtUm5ScFJxUnNSdFJ1UnZSd1J4UnlSelJ7UnxSflKAUoNShFKFUoZSh1KJUopSi1KMUo1SjlKPUpFSklKUUpVSllKXUphSmVKaUpxSpFKlUqZSp1KuUq9SsFK0UrVStlK3UrhSuVK6UrtSvFK9UsBSwVLCUsRSxVLGUshSylLMUs1SzlLPUtFS01LUUtVS11LZUtpS21LcUt1S3lLgUuFS4lLjUuVS5lLnUuhS6VLqUutS7FLtUu5S71LxUvJS81L0UvVS9lL3UvhS+1L8Uv1SAVMCUwNTBFMHUwlTClMLUwxTDlMRUxJTE1MUUxhTG1McUx5TH1MiUyRTJVMnUyhTKVMrUyxTLVMvUzBTMVMyUzNTNFM1UzZTN1M4UzxTPVNAU0JTRFNGU0tTTFNNU1BTVFNYU1lTW1NdU2VTaFNqU2xTbVNyU3ZTeVN7U3xTfVN+U4BTgVODU4dTiFOKU45Tj1OQU5FTklOTU5RTllOXU5lTm1OcU55ToFOhU6RTp1OqU6tTrFOtU69TsFOxU7JTs1O0U7VTt1O4U7lTulO8U71TvlPAU8NTxFPFU8ZTx1POU89T0FPSU9NT1VPaU9xT3VPeU+FT4lPnU/RT+lP+U/9TAFQCVAVUB1QLVBRUGFQZVBpUHFQiVCRUJVQqVDBUM1Q2VDdUOlQ9VD9UQVRCVERURVRHVElUTFRNVE5UT1RRVFpUXVReVF9UYFRhVGNUZVRnVGlUalRrVGxUbVRuVG9UcFR0VHlUelR+VH9UgVSDVIVUh1SIVIlUilSNVJFUk1SXVJhUnFSeVJ9UoFShVKJUpVSuVLBUslS1VLZUt1S5VLpUvFS+VMNUxVTKVMtU1lTYVNtU4FThVOJU41TkVOtU7FTvVPBU8VT0VPVU9lT3VPhU+VT7VP5UAFUCVQNVBFUFVQhVClULVQxVDVUOVRJVE1UVVRZVF1UYVRlVGlUcVR1VHlUfVSFVJVUmVShVKVUrVS1VMlU0VTVVNlU4VTlVOlU7VT1VQFVCVUVVR1VIVUtVTFVNVU5VT1VRVVJVU1VUVVdVWFVZVVpVW1VdVV5VX1VgVWJVY1VoVWlVa1VvVXBVcVVyVXNVdFV5VXpVfVV/VYVVhlWMVY1VjlWQVZJVk1WVVZZVl1WaVZtVnlWgVaFVolWjVaRVpVWmVahVqVWqVatVrFWtVa5Vr1WwVbJVtFW2VbhVulW8Vb9VwFXBVcJVw1XGVcdVyFXKVctVzlXPVdBV1VXXVdhV2VXaVdtV3lXgVeJV51XpVe1V7lXwVfFV9FX2VfhV+VX6VftV/FX/VQJWA1YEVgVWBlYHVgpWC1YNVhBWEVYSVhNWFFYVVhZWF1YZVhpWHFYdViBWIVYiViVWJlYoVilWKlYrVi5WL1YwVjNWNVY3VjhWOlY8Vj1WPlZAVkFWQlZDVkRWRVZGVkdWSFZJVkpWS1ZPVlBWUVZSVlNWVVZWVlpWW1ZdVl5WX1ZgVmFWY1ZlVmZWZ1ZtVm5Wb1ZwVnJWc1Z0VnVWd1Z4VnlWelZ9Vn5Wf1aAVoFWglaDVoRWh1aIVolWilaLVoxWjVaQVpFWklaUVpVWllaXVphWmVaaVptWnFadVp5Wn1agVqFWolakVqVWplanVqhWqVaqVqtWrFatVq5WsFaxVrJWs1a0VrVWtla4VrlWula7Vr1Wvla/VsBWwVbCVsNWxFbFVsZWx1bIVslWy1bMVs1WzlbPVtBW0VbSVtNW1VbWVthW2VbcVuNW5VbmVudW6FbpVupW7FbuVu9W8lbzVvZW91b4VvtW/FYAVwFXAlcFVwdXC1cMVw1XDlcPVxBXEVcSVxNXFFcVVxZXF1cYVxlXGlcbVx1XHlcgVyFXIlckVyVXJlcnVytXMVcyVzRXNVc2VzdXOFc8Vz1XP1dBV0NXRFdFV0ZXSFdJV0tXUldTV1RXVVdWV1hXWVdiV2NXZVdnV2xXbldwV3FXcld0V3VXeFd5V3pXfVd+V39XgFeBV4dXiFeJV4pXjVeOV49XkFeRV5RXlVeWV5dXmFeZV5pXnFedV55Xn1elV6hXqlesV69XsFexV7NXtVe2V7dXuVe6V7tXvFe9V75Xv1fAV8FXxFfFV8ZXx1fIV8lXylfMV81X0FfRV9NX1lfXV9tX3FfeV+FX4lfjV+VX5lfnV+hX6VfqV+tX7FfuV/BX8VfyV/NX9Vf2V/dX+1f8V/5X/1cBWANYBFgFWAhYCVgKWAxYDlgPWBBYElgTWBRYFlgXWBhYGlgbWBxYHVgfWCJYI1glWCZYJ1goWClYK1gsWC1YLlgvWDFYMlgzWDRYNlg3WDhYOVg6WDtYPFg9WD5YP1hAWEFYQlhDWEVYRlhHWEhYSVhKWEtYTlhPWFBYUlhTWFVYVlhXWFlYWlhbWFxYXVhfWGBYYVhiWGNYZFhmWGdYaFhpWGpYbVhuWG9YcFhxWHJYc1h0WHVYdlh3WHhYeVh6WHtYfFh9WH9YgliEWIZYh1iIWIpYi1iMWI1YjliPWJBYkViUWJVYlliXWJhYm1icWJ1YoFihWKJYo1ikWKVYplinWKpYq1isWK1YrlivWLBYsViyWLNYtFi1WLZYt1i4WLlYuli7WL1Yvli/WMBYwljDWMRYxljHWMhYyVjKWMtYzFjNWM5Yz1jQWNJY01jUWNZY11jYWNlY2ljbWNxY3VjeWN9Y4FjhWOJY41jlWOZY51joWOlY6ljtWO9Y8VjyWPRY9Vj3WPhY+lj7WPxY/Vj+WP9YAFkBWQNZBVkGWQhZCVkKWQtZDFkOWRBZEVkSWRNZF1kYWRtZHVkeWSBZIVkiWSNZJlkoWSxZMFkyWTNZNVk2WTtZPVk+WT9ZQFlDWUVZRllKWUxZTVlQWVJZU1lZWVtZXFldWV5ZX1lhWWNZZFlmWWdZaFlpWWpZa1lsWW1ZbllvWXBZcVlyWXVZd1l6WXtZfFl+WX9ZgFmFWYlZi1mMWY5Zj1mQWZFZlFmVWZhZmlmbWZxZnVmfWaBZoVmiWaZZp1msWa1ZsFmxWbNZtFm1WbZZt1m4WbpZvFm9Wb9ZwFnBWcJZw1nEWcVZx1nIWclZzFnNWc5Zz1nVWdZZ2VnbWd5Z31ngWeFZ4lnkWeZZ51npWepZ61ntWe5Z71nwWfFZ8lnzWfRZ9Vn2WfdZ+Fn6WfxZ/Vn+WQBaAloKWgtaDVoOWg9aEFoSWhRaFVoWWhdaGVoaWhtaHVoeWiFaIlokWiZaJ1ooWipaK1osWi1aLlovWjBaM1o1WjdaOFo5WjpaO1o9Wj5aP1pBWkJaQ1pEWkVaR1pIWktaTFpNWk5aT1pQWlFaUlpTWlRaVlpXWlhaWVpbWlxaXVpeWl9aYFphWmNaZFplWmZaaFppWmtabFptWm5ab1pwWnFaclpzWnhaeVp7WnxafVp+WoBagVqCWoNahFqFWoZah1qIWolailqLWoxajVqOWo9akFqRWpNalFqVWpZal1qYWplanFqdWp5an1qgWqFaolqjWqRapVqmWqdaqFqpWqtarFqtWq5ar1qwWrFatFq2WrdauVq6WrtavFq9Wr9awFrDWsRaxVrGWsdayFrKWstazVrOWs9a0FrRWtNa1VrXWtla2lrbWt1a3lrfWuJa5FrlWuda6FrqWuxa7VruWu9a8FryWvNa9Fr1WvZa91r4Wvla+lr7Wvxa/Vr+Wv9aAFsBWwJbA1sEWwVbBlsHWwhbClsLWwxbDVsOWw9bEFsRWxJbE1sUWxVbGFsZWxpbG1scWx1bHlsfWyBbIVsiWyNbJFslWyZbJ1soWylbKlsrWyxbLVsuWy9bMFsxWzNbNVs2WzhbOVs6WztbPFs9Wz5bP1tBW0JbQ1tEW0VbRltHW0hbSVtKW0tbTFtNW05bT1tSW1ZbXltgW2FbZ1toW2tbbVtuW29bclt0W3Zbd1t4W3lbe1t8W35bf1uCW4ZbiluNW45bkFuRW5JblFuWW59bp1uoW6lbrFutW65br1uxW7Jbt1u6W7tbvFvAW8Fbw1vIW8lbylvLW81bzlvPW9Fb1FvVW9Zb11vYW9lb2lvbW9xb4FviW+Nb5lvnW+lb6lvrW+xb7VvvW/Fb8lvzW/Rb9Vv2W/db/Vv+WwBcAlwDXAVcB1wIXAtcDFwNXA5cEFwSXBNcF1wZXBtcHlwfXCBcIVwjXCZcKFwpXCpcK1wtXC5cL1wwXDJcM1w1XDZcN1xDXERcRlxHXExcTVxSXFNcVFxWXFdcWFxaXFtcXFxdXF9cYlxkXGdcaFxpXGpca1xsXG1ccFxyXHNcdFx1XHZcd1x4XHtcfFx9XH5cgFyDXIRchVyGXIdciVyKXItcjlyPXJJck1yVXJ1cnlyfXKBcoVykXKVcplynXKhcqlyuXK9csFyyXLRctly5XLpcu1y8XL5cwFzCXMNcxVzGXMdcyFzJXMpczFzNXM5cz1zQXNFc01zUXNVc1lzXXNhc2lzbXNxc3VzeXN9c4FziXONc51zpXOtc7FzuXO9c8VzyXPNc9Fz1XPZc91z4XPlc+lz8XP1c/lz/XABdAV0EXQVdCF0JXQpdC10MXQ1dD10QXRFdEl0TXRVdF10YXRldGl0cXR1dH10gXSFdIl0jXSVdKF0qXStdLF0vXTBdMV0yXTNdNV02XTddOF05XTpdO108XT9dQF1BXUJdQ11EXUVdRl1IXUldTV1OXU9dUF1RXVJdU11UXVVdVl1XXVldWl1cXV5dX11gXWFdYl1jXWRdZV1mXWddaF1qXW1dbl1wXXFdcl1zXXVddl13XXhdeV16XXtdfF19XX5df12AXYFdg12EXYVdhl2HXYhdiV2KXYtdjF2NXY5dj12QXZFdkl2TXZRdlV2WXZddmF2aXZtdnF2eXZ9doF2hXaJdo12kXaVdpl2nXahdqV2qXatdrF2tXa5dr12wXbFdsl2zXbRdtV22XbhduV26XbtdvF29Xb5dv13AXcFdwl3DXcRdxl3HXchdyV3KXctdzF3OXc9d0F3RXdJd013UXdVd1l3XXdhd2V3aXdxd313gXeNd5F3qXexd7V3wXfVd9l34Xfld+l37Xfxd/10AXgReB14JXgpeC14NXg5eEl4TXhdeHl4fXiBeIV4iXiNeJF4lXiheKV4qXiteLF4vXjBeMl4zXjReNV42XjleOl4+Xj9eQF5BXkNeRl5HXkheSV5KXkteTV5OXk9eUF5RXlJeU15WXldeWF5ZXlpeXF5dXl9eYF5jXmReZV5mXmdeaF5pXmpea15sXm1ebl5vXnBecV51XndeeV5+XoFegl6DXoVeiF6JXoxejV6OXpJemF6bXp1eoV6iXqNepF6oXqleql6rXqxerl6vXrBesV6yXrReul67XrxevV6/XsBewV7CXsNexF7FXsZex17IXstezF7NXs5ez17QXtRe1V7XXthe2V7aXtxe3V7eXt9e4F7hXuJe417kXuVe5l7nXule617sXu1e7l7vXvBe8V7yXvNe9V74Xvle+178Xv1eBV8GXwdfCV8MXw1fDl8QXxJfFF8WXxlfGl8cXx1fHl8hXyJfI18kXyhfK18sXy5fMF8yXzNfNF81XzZfN184XztfPV8+Xz9fQV9CX0NfRF9FX0ZfR19IX0lfSl9LX0xfTV9OX09fUV9UX1lfWl9bX1xfXl9fX2BfY19lX2dfaF9rX25fb19yX3RfdV92X3hfel99X35ff1+DX4ZfjV+OX49fkV+TX5Rfll+aX5tfnV+eX59foF+iX6NfpF+lX6Zfp1+pX6tfrF+vX7BfsV+yX7NftF+2X7hfuV+6X7tfvl+/X8BfwV/CX8dfyF/KX8tfzl/TX9Rf1V/aX9tf3F/eX99f4l/jX+Vf5l/oX+lf7F/vX/Bf8l/zX/Rf9l/3X/lf+l/8XwdgCGAJYAtgDGAQYBFgE2AXYBhgGmAeYB9gImAjYCRgLGAtYC5gMGAxYDJgM2A0YDZgN2A4YDlgOmA9YD5gQGBEYEVgRmBHYEhgSWBKYExgTmBPYFFgU2BUYFZgV2BYYFtgXGBeYF9gYGBhYGVgZmBuYHFgcmB0YHVgd2B+YIBggWCCYIVghmCHYIhgimCLYI5gj2CQYJFgk2CVYJdgmGCZYJxgnmChYKJgpGClYKdgqWCqYK5gsGCzYLVgtmC3YLlgumC9YL5gv2DAYMFgwmDDYMRgx2DIYMlgzGDNYM5gz2DQYNJg02DUYNZg12DZYNtg3mDhYOJg42DkYOVg6mDxYPJg9WD3YPhg+2D8YP1g/mD/YAJhA2EEYQVhB2EKYQthDGEQYRFhEmETYRRhFmEXYRhhGWEbYRxhHWEeYSFhImElYShhKWEqYSxhLWEuYS9hMGExYTJhM2E0YTVhNmE3YThhOWE6YTthPGE9YT5hQGFBYUJhQ2FEYUVhRmFHYUlhS2FNYU9hUGFSYVNhVGFWYVdhWGFZYVphW2FcYV5hX2FgYWFhY2FkYWVhZmFpYWpha2FsYW1hbmFvYXFhcmFzYXRhdmF4YXlhemF7YXxhfWF+YX9hgGGBYYJhg2GEYYVhhmGHYYhhiWGKYYxhjWGPYZBhkWGSYZNhlWGWYZdhmGGZYZphm2GcYZ5hn2GgYaFhomGjYaRhpWGmYaphq2GtYa5hr2GwYbFhsmGzYbRhtWG2YbhhuWG6YbthvGG9Yb9hwGHBYcNhxGHFYcZhx2HJYcxhzWHOYc9h0GHTYdVh1mHXYdhh2WHaYdth3GHdYd5h32HgYeFh4mHjYeRh5WHnYehh6WHqYeth7GHtYe5h72HwYfFh8mHzYfRh9mH3Yfhh+WH6Yfth/GH9Yf5hAGIBYgJiA2IEYgViB2IJYhNiFGIZYhxiHWIeYiBiI2ImYidiKGIpYitiLWIvYjBiMWIyYjViNmI4YjliOmI7YjxiQmJEYkViRmJKYk9iUGJVYlZiV2JZYlpiXGJdYl5iX2JgYmFiYmJkYmViaGJxYnJidGJ1YndieGJ6YntifWKBYoJig2KFYoZih2KIYotijGKNYo5ij2KQYpRimWKcYp1inmKjYqZip2KpYqpirWKuYq9isGKyYrNitGK2YrdiuGK6Yr5iwGLBYsNiy2LPYtFi1WLdYt5i4GLhYuRi6mLrYvBi8mL1Yvhi+WL6YvtiAGMDYwRjBWMGYwpjC2MMYw1jD2MQYxJjE2MUYxVjF2MYYxljHGMmYydjKWMsYy1jLmMwYzFjM2M0YzVjNmM3YzhjO2M8Yz5jP2NAY0FjRGNHY0hjSmNRY1JjU2NUY1ZjV2NYY1ljWmNbY1xjXWNgY2RjZWNmY2hjamNrY2xjb2NwY3Jjc2N0Y3VjeGN5Y3xjfWN+Y39jgWODY4RjhWOGY4tjjWORY5NjlGOVY5djmWOaY5tjnGOdY55jn2OhY6RjpmOrY69jsWOyY7VjtmO5Y7tjvWO/Y8BjwWPCY8NjxWPHY8hjymPLY8xj0WPTY9Rj1WPXY9hj2WPaY9tj3GPdY99j4mPkY+Vj5mPnY+hj62PsY+5j72PwY/Fj82P1Y/dj+WP6Y/tj/GP+YwNkBGQGZAdkCGQJZApkDWQOZBFkEmQVZBZkF2QYZBlkGmQdZB9kImQjZCRkJWQnZChkKWQrZC5kL2QwZDFkMmQzZDVkNmQ3ZDhkOWQ7ZDxkPmRAZEJkQ2RJZEtkTGRNZE5kT2RQZFFkU2RVZFZkV2RZZFpkW2RcZF1kX2RgZGFkYmRjZGRkZWRmZGhkamRrZGxkbmRvZHBkcWRyZHNkdGR1ZHZkd2R7ZHxkfWR+ZH9kgGSBZINkhmSIZIlkimSLZIxkjWSOZI9kkGSTZJRkl2SYZJpkm2ScZJ1kn2SgZKFkomSjZKVkpmSnZKhkqmSrZK9ksWSyZLNktGS2ZLlku2S9ZL5kv2TBZMNkxGTGZMdkyGTJZMpky2TMZM9k0WTTZNRk1WTWZNlk2mTbZNxk3WTfZOBk4WTjZOVk52ToZOlk6mTrZOxk7WTuZO9k8GTxZPJk82T0ZPVk9mT3ZPhk+WT6ZPtk/GT9ZP5k/2QBZQJlA2UEZQVlBmUHZQhlCmULZQxlDWUOZQ9lEGURZRNlFGUVZRZlF2UZZRplG2UcZR1lHmUfZSBlIWUiZSNlJGUmZSdlKGUpZSplLGUtZTBlMWUyZTNlN2U6ZTxlPWVAZUFlQmVDZURlRmVHZUplS2VNZU5lUGVSZVNlVGVXZVhlWmVcZV9lYGVhZWRlZWVnZWhlaWVqZW1lbmVvZXFlc2V1ZXZleGV5ZXple2V8ZX1lfmV/ZYBlgWWCZYNlhGWFZYZliGWJZYpljWWOZY9lkmWUZZVllmWYZZplnWWeZaBlomWjZaZlqGWqZaxlrmWxZbJls2W0ZbVltmW3ZbhlumW7Zb5lv2XAZcJlx2XIZcllymXNZdBl0WXTZdRl1WXYZdll2mXbZdxl3WXeZd9l4WXjZeRl6mXrZfJl82X0ZfVl+GX5Zftl/GX9Zf5l/2UBZgRmBWYHZghmCWYLZg1mEGYRZhJmFmYXZhhmGmYbZhxmHmYhZiJmI2YkZiZmKWYqZitmLGYuZjBmMmYzZjdmOGY5ZjpmO2Y9Zj9mQGZCZkRmRWZGZkdmSGZJZkpmTWZOZlBmUWZYZllmW2ZcZl1mXmZgZmJmY2ZlZmdmaWZqZmtmbGZtZnFmcmZzZnVmeGZ5ZntmfGZ9Zn9mgGaBZoNmhWaGZohmiWaKZotmjWaOZo9mkGaSZpNmlGaVZphmmWaaZptmnGaeZp9moGahZqJmo2akZqVmpmapZqpmq2asZq1mr2awZrFmsmazZrVmtma3Zrhmuma7ZrxmvWa/ZsBmwWbCZsNmxGbFZsZmx2bIZslmymbLZsxmzWbOZs9m0GbRZtJm02bUZtVm1mbXZthm2mbeZt9m4GbhZuJm42bkZuVm52boZupm62bsZu1m7mbvZvFm9Wb2Zvhm+mb7Zv1mAWcCZwNnBGcFZwZnB2cMZw5nD2cRZxJnE2cWZxhnGWcaZxxnHmcgZyFnImcjZyRnJWcnZylnLmcwZzJnM2c2ZzdnOGc5ZztnPGc+Zz9nQWdEZ0VnR2dKZ0tnTWdSZ1RnVWdXZ1hnWWdaZ1tnXWdiZ2NnZGdmZ2dna2dsZ25ncWd0Z3ZneGd5Z3pne2d9Z4BngmeDZ4VnhmeIZ4pnjGeNZ45nj2eRZ5Jnk2eUZ5ZnmWebZ59noGehZ6RnpmepZ6xnrmexZ7JntGe5Z7pnu2e8Z71nvme/Z8BnwmfFZ8Znx2fIZ8lnymfLZ8xnzWfOZ9Vn1mfXZ9tn32fhZ+Nn5GfmZ+dn6GfqZ+tn7WfuZ/Jn9Wf2Z/dn+Gf5Z/pn+2f8Z/5nAWgCaANoBGgGaA1oEGgSaBRoFWgYaBloGmgbaBxoHmgfaCBoImgjaCRoJWgmaCdoKGgraCxoLWguaC9oMGgxaDRoNWg2aDpoO2g/aEdoS2hNaE9oUmhWaFdoWGhZaFpoW2hcaF1oXmhfaGpobGhtaG5ob2hwaHFocmhzaHVoeGh5aHpoe2h8aH1ofmh/aIBogmiEaIdoiGiJaIpoi2iMaI1ojmiQaJFokmiUaJVolmiYaJlommibaJxonWieaJ9ooGihaKNopGilaKloqmiraKxormixaLJotGi2aLdouGi5aLpou2i8aL1ovmi/aMFow2jEaMVoxmjHaMhoymjMaM5oz2jQaNFo02jUaNZo12jZaNto3GjdaN5o32jhaOJo5GjlaOZo52joaOlo6mjraOxo7WjvaPJo82j0aPZo92j4aPto/Wj+aP9oAGkCaQNpBGkGaQdpCGkJaQppDGkPaRFpE2kUaRVpFmkXaRhpGWkaaRtpHGkdaR5pIWkiaSNpJWkmaSdpKGkpaSppK2ksaS5pL2kxaTJpM2k1aTZpN2k4aTppO2k8aT5pQGlBaUNpRGlFaUZpR2lIaUlpSmlLaUxpTWlOaU9pUGlRaVJpU2lVaVZpWGlZaVtpXGlfaWFpYmlkaWVpZ2loaWlpamlsaW1pb2lwaXJpc2l0aXVpdml6aXtpfWl+aX9pgWmDaYVpimmLaYxpjmmPaZBpkWmSaZNplmmXaZlpmmmdaZ5pn2mgaaFpommjaaRppWmmaalpqmmsaa5pr2mwabJps2m1abZpuGm5abppvGm9ab5pv2nAacJpw2nEacVpxmnHachpyWnLac1pz2nRadJp02nVadZp12nYadlp2mncad1p3mnhaeJp42nkaeVp5mnnaehp6Wnqaetp7Gnuae9p8GnxafNp9Gn1afZp92n4aflp+mn7afxp/mkAagFqAmoDagRqBWoGagdqCGoJagtqDGoNag5qD2oQahFqEmoTahRqFWoWahlqGmobahxqHWoeaiBqImojaiRqJWomaidqKWoraixqLWouajBqMmozajRqNmo3ajhqOWo6ajtqPGo/akBqQWpCakNqRWpGakhqSWpKaktqTGpNak5qT2pRalJqU2pUalVqVmpXalpqXGpdal5qX2pgamJqY2pkamZqZ2poamlqampramxqbWpuam9qcGpyanNqdGp1anZqd2p4anpqe2p9an5qf2qBaoJqg2qFaoZqh2qIaolqimqLaoxqjWqPapJqk2qUapVqlmqYaplqmmqbapxqnWqeap9qoWqiaqNqpGqlaqZqp2qoaqpqrWquaq9qsGqxarJqs2q0arVqtmq3arhquWq6artqvGq9ar5qv2rAasFqwmrDasRqxWrGasdqyGrJaspqy2rMas1qzmrPatBq0WrSatNq1GrVatZq12rYatlq2mrbatxq3Wreat9q4GrhauJq42rkauVq5mrnauhq6Wrqautq7Grtau5q72rwavFq8mrzavRq9Wr2avdq+Gr5avpq+2r8av1q/mr/agBrAWsCawNrBGsFawZrB2sIawlrCmsLawxrDWsOaw9rEGsRaxJrE2sUaxVrFmsXaxhrGWsaaxtrHGsdax5rH2slayZrKGspayprK2ssay1rLmsvazBrMWszazRrNWs2azhrO2s8az1rP2tAa0FrQmtEa0VrSGtKa0trTWtOa09rUGtRa1JrU2tUa1VrVmtXa1hrWmtba1xrXWtea19rYGtha2hraWtra2xrbWtua29rcGtxa3Jrc2t0a3Vrdmt3a3hremt9a35rf2uAa4VriGuMa45rj2uQa5FrlGuVa5drmGuZa5xrnWuea59roGuia6NrpGula6Zrp2uoa6lrq2usa61rrmuva7BrsWuya7ZruGu5a7pru2u8a71rvmvAa8NrxGvGa8dryGvJa8przGvOa9Br0WvYa9pr3Gvda95r32vga+Jr42vka+Vr5mvna+hr6Wvsa+1r7mvwa/Fr8mv0a/Zr92v4a/pr+2v8a/5r/2sAbAFsAmwDbARsCGwJbApsC2wMbA5sEmwXbBxsHWwebCBsI2wlbCtsLGwtbDFsM2w2bDdsOWw6bDtsPGw+bD9sQ2xEbEVsSGxLbExsTWxObE9sUWxSbFNsVmxYbFlsWmxibGNsZWxmbGdsa2xsbG1sbmxvbHFsc2x1bHdseGx6bHtsfGx/bIBshGyHbIpsi2yNbI5skWySbJVslmyXbJhsmmycbJ1snmygbKJsqGysbK9ssGy0bLVstmy3bLpswGzBbMJsw2zGbMdsyGzLbM1szmzPbNFs0mzYbNls2mzcbN1s32zkbOZs52zpbOxs7WzybPRs+Wz/bABtAm0DbQVtBm0IbQltCm0NbQ9tEG0RbRNtFG0VbRZtGG0cbR1tH20gbSFtIm0jbSRtJm0obSltLG0tbS9tMG00bTZtN204bTptP21AbUJtRG1JbUxtUG1VbVZtV21YbVttXW1fbWFtYm1kbWVtZ21obWttbG1tbXBtcW1ybXNtdW12bXltem17bX1tfm1/bYBtgW2DbYRthm2HbYpti22NbY9tkG2SbZZtl22YbZltmm2cbaJtpW2sba1tsG2xbbNttG22bbdtuW26bbttvG29bb5twW3CbcNtyG3JbcptzW3Obc9t0G3SbdNt1G3Vbddt2m3bbdxt323ibeNt5W3nbeht6W3qbe1t723wbfJt9G31bfZt+G36bf1t/m3/bQBuAW4CbgNuBG4GbgduCG4JbgtuD24SbhNuFW4YbhluG24cbh5uH24ibiZuJ24obipuLG4ubjBuMW4zbjVuNm43bjluO248bj1uPm4/bkBuQW5CbkVuRm5HbkhuSW5KbktuTG5PblBuUW5SblVuV25ZblpuXG5dbl5uYG5hbmJuY25kbmVuZm5nbmhuaW5qbmxubW5vbnBucW5ybnNudG51bnZud254bnluem57bnxufW6AboFugm6EboduiG6KbotujG6Nbo5ukW6SbpNulG6VbpZul26Zbppum26dbp5uoG6hbqNupG6mbqhuqW6rbqxurW6ubrBus261brhuuW68br5uv27AbsNuxG7FbsZuyG7JbspuzG7Nbs5u0G7SbtZu2G7Zbttu3G7dbuNu527qbutu7G7tbu5u727wbvFu8m7zbvVu9m73bvhu+m77bvxu/W7+bv9uAG8BbwNvBG8FbwdvCG8KbwtvDG8Nbw5vEG8RbxJvFm8XbxhvGW8abxtvHG8dbx5vH28hbyJvI28lbyZvJ28obyxvLm8wbzJvNG81bzdvOG85bzpvO288bz1vP29Ab0FvQm9Db0RvRW9Ib0lvSm9Mb05vT29Qb1FvUm9Tb1RvVW9Wb1dvWW9ab1tvXW9fb2BvYW9jb2RvZW9nb2hvaW9qb2tvbG9vb3BvcW9zb3Vvdm93b3lve299b35vf2+Ab4Fvgm+Db4Vvhm+Hb4pvi2+Pb5BvkW+Sb5NvlG+Vb5Zvl2+Yb5lvmm+bb51vnm+fb6Bvom+jb6RvpW+mb6hvqW+qb6tvrG+tb65vr2+wb7Fvsm+0b7Vvt2+4b7pvu2+8b71vvm+/b8Fvw2/Eb8Vvxm/Hb8hvym/Lb8xvzW/Ob89v0G/Tb9Rv1W/Wb9dv2G/Zb9pv22/cb91v32/ib+Nv5G/lb+Zv52/ob+lv6m/rb+xv7W/wb/Fv8m/zb/Rv9W/2b/dv+G/5b/pv+2/8b/1v/m//bwBwAXACcANwBHAFcAZwB3AIcAlwCnALcAxwDXAOcA9wEHAScBNwFHAVcBZwF3AYcBlwHHAdcB5wH3AgcCFwInAkcCVwJnAncChwKXAqcCtwLHAtcC5wL3AwcDFwMnAzcDRwNnA3cDhwOnA7cDxwPXA+cD9wQHBBcEJwQ3BEcEVwRnBHcEhwSXBKcEtwTXBOcFBwUXBScFNwVHBVcFZwV3BYcFlwWnBbcFxwXXBfcGBwYXBicGNwZHBlcGZwZ3BocGlwanBucHFwcnBzcHRwd3B5cHpwe3B9cIFwgnCDcIRwhnCHcIhwi3CMcI1wj3CQcJFwk3CXcJhwmnCbcJ5wn3CgcKFwonCjcKRwpXCmcKdwqHCpcKpwsHCycLRwtXC2cLpwvnC/cMRwxXDGcMdwyXDLcMxwzXDOcM9w0HDRcNJw03DUcNVw1nDXcNpw3HDdcN5w4HDhcOJw43DlcOpw7nDwcPFw8nDzcPRw9XD2cPhw+nD7cPxw/nD/cABxAXECcQNxBHEFcQZxB3EIcQtxDHENcQ5xD3ERcRJxFHEXcRtxHHEdcR5xH3EgcSFxInEjcSRxJXEncShxKXEqcStxLHEtcS5xMnEzcTRxNXE3cThxOXE6cTtxPHE9cT5xP3FAcUFxQnFDcURxRnFHcUhxSXFLcU1xT3FQcVFxUnFTcVRxVXFWcVdxWHFZcVpxW3FdcV9xYHFhcWJxY3FlcWlxanFrcWxxbXFvcXBxcXF0cXVxdnF3cXlxe3F8cX5xf3GAcYFxgnGDcYVxhnGHcYhxiXGLcYxxjXGOcZBxkXGScZNxlXGWcZdxmnGbcZxxnXGecaFxonGjcaRxpXGmcadxqXGqcatxrXGuca9xsHGxcbJxtHG2cbdxuHG6cbtxvHG9cb5xv3HAccFxwnHEccVxxnHHcchxyXHKcctxzHHNcc9x0HHRcdJx03HWcddx2HHZcdpx23Hccd1x3nHfceFx4nHjceRx5nHocelx6nHrcexx7XHvcfBx8XHycfNx9HH1cfZx93H4cfpx+3H8cf1x/nH/cQByAXICcgNyBHIFcgdyCHIJcgpyC3IMcg1yDnIPchByEXISchNyFHIVchZyF3IYchlyGnIbchxyHnIfciByIXIiciNyJHIlciZyJ3IpcityLXIuci9yMnIzcjRyOnI8cj5yQHJBckJyQ3JEckVyRnJJckpyS3JOck9yUHJRclNyVHJVcldyWHJaclxyXnJgcmNyZHJlcmhyanJrcmxybXJwcnFyc3J0cnZyd3J4cntyfHJ9coJyg3KFcoZyh3KIcolyjHKOcpBykXKTcpRylXKWcpdymHKZcppym3Kccp1ynnKgcqFyonKjcqRypXKmcqdyqHKpcqpyq3KucrFysnKzcrVyunK7crxyvXK+cr9ywHLFcsZyx3LJcspyy3LMcs9y0XLTctRy1XLWcthy2nLbcsbkx+TI5MnkyuTL5MzkzeTO5M/k0OTR5NLk0+TU5NXk1uTX5Njk2eTa5Nvk3OTd5N7k3+Tg5OHk4uTj5OTk5eTm5Ofk6OTp5Ork6+Ts5O3k7uTv5PDk8eTy5PPk9OT15Pbk9+T45Pnk+uT75Pzk/eT+5P/kAOUB5QLlA+UE5QXlBuUH5QjlCeUK5QvlDOUN5Q7lD+UQ5RHlEuUT5RTlFeUW5RflGOUZ5RrlG+Uc5R3lHuUf5SDlIeUi5SPlJOUl5QAwATACMLcAyQLHAqgAAzAFMBQgXv8WICYgGCAZIBwgHSAUMBUwCDAJMAowCzAMMA0wDjAPMBYwFzAQMBEwsQDXAPcANiInIigiESIPIioiKSIIIjciGiKlIiUiICISI5kiKyIuImEiTCJIIj0iHSJgIm4ibyJkImUiHiI1IjQiQiZAJrAAMiAzIAMhBP+kAOD/4f8wIKcAFiEGJgUmyyXPJc4lxyXGJaEloCWzJbIlOyCSIZAhkSGTIRMwJuUn5SjlKeUq5SvlLOUt5S7lL+Uw5THlMuUz5TTlNeU25TflOOU55TrlO+U85T3lPuU/5UDlQeVC5UPlROVF5UblR+VI5UnlSuVL5UzlTeVO5U/lUOVR5VLlU+VU5VXlVuVX5VjlWeVa5VvlXOVd5V7lX+Vg5WHlYuVj5WTlZeVm5WflaOVp5Wrla+Vs5W3lbuVv5XDlceVy5XPldOV15Xbld+V45XnleuV75XzlfeV+5X/lgOWB5YLlg+WE5YXlcCFxIXIhcyF0IXUhdiF3IXgheSFm52fnaOdp52rna+eIJIkkiiSLJIwkjSSOJI8kkCSRJJIkkySUJJUkliSXJJgkmSSaJJskdCR1JHYkdyR4JHkkeiR7JHwkfSR+JH8kgCSBJIIkgySEJIUkhiSHJGAkYSRiJGMkZCRlJGYkZyRoJGkkrCBt5yAyITIiMiMyJDIlMiYyJzIoMikybudv52AhYSFiIWMhZCFlIWYhZyFoIWkhaiFrIXDnceeG5YfliOWJ5Yrli+WM5Y3ljuWP5ZDlkeWS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cxhzGXMacx9zIHMjcyRzJnMncyhzLXMvczBzMnMzczVzNnM6cztzPHM9c0BzQXNCc0NzRHNFc0ZzR3NIc0lzSnNLc0xzTnNPc1FzU3NUc1VzVnNYc1lzWnNbc1xzXXNec19zYXNic2NzZHNlc2ZzZ3Noc2lzanNrc25zcHNxcwDgAeAC4APgBOAF4AbgB+AI4AngCuAL4AzgDeAO4A/gEOAR4BLgE+AU4BXgFuAX4BjgGeAa4BvgHOAd4B7gH+Ag4CHgIuAj4CTgJeAm4CfgKOAp4CrgK+As4C3gLuAv4DDgMeAy4DPgNOA14DbgN+A44DngOuA74DzgPeA+4D/gQOBB4ELgQ+BE4EXgRuBH4EjgSeBK4EvgTOBN4E7gT+BQ4FHgUuBT4FTgVeBW4FfgWOBZ4FrgW+Bc4F3gcnNzc3RzdXN2c3dzeHN5c3pze3N8c31zf3OAc4FzgnODc4VzhnOIc4pzjHONc49zkHOSc5NzlHOVc5dzmHOZc5pznHOdc55zoHOhc6NzpHOlc6Zzp3Ooc6pzrHOtc7FztHO1c7ZzuHO5c7xzvXO+c79zwXPDc8RzxXPGc8dzy3PMc85z0nPTc9Rz1XPWc9dz2HPac9tz3HPdc99z4XPic+Nz5HPmc+hz6nPrc+xz7nPvc/Bz8XPzc/Rz9XP2c/dzXuBf4GDgYeBi4GPgZOBl4GbgZ+Bo4GngauBr4GzgbeBu4G/gcOBx4HLgc+B04HXgduB34HjgeeB64HvgfOB94H7gf+CA4IHgguCD4ITgheCG4IfgiOCJ4Irgi+CM4I3gjuCP4JDgkeCS4JPglOCV4Jbgl+CY4JngmuCb4JzgneCe4J/goOCh4KLgo+Ck4KXgpuCn4KjgqeCq4KvgrOCt4K7gr+Cw4LHgsuCz4LTgteC24LfguOC54Lrgu+D4c/lz+nP7c/xz/XP+c/9zAHQBdAJ0BHQHdAh0C3QMdA10DnQRdBJ0E3QUdBV0FnQXdBh0GXQcdB10HnQfdCB0IXQjdCR0J3QpdCt0LXQvdDF0MnQ3dDh0OXQ6dDt0PXQ+dD90QHRCdEN0RHRFdEZ0R3RIdEl0SnRLdEx0TXROdE90UHRRdFJ0U3RUdFZ0WHRddGB0YXRidGN0ZHRldGZ0Z3RodGl0anRrdGx0bnRvdHF0cnRzdHR0dXR4dHl0enS84L3gvuC/4MDgweDC4MPgxODF4Mbgx+DI4MngyuDL4MzgzeDO4M/g0ODR4NLg0+DU4NXg1uDX4Njg2eDa4Nvg3ODd4N7g3+Dg4OHg4uDj4OTg5eDm4Ofg6ODp4Org6+Ds4O3g7uDv4PDg8eDy4PPg9OD14Pbg9+D44Png+uD74Pzg/eD+4P/gAOEB4QLhA+EE4QXhBuEH4QjhCeEK4QvhDOEN4Q7hD+EQ4RHhEuET4RThFeEW4RfhGOEZ4Xt0fHR9dH90gnSEdIV0hnSIdIl0inSMdI10j3SRdJJ0k3SUdJV0lnSXdJh0mXSadJt0nXSfdKB0oXSidKN0pHSldKZ0qnSrdKx0rXSudK90sHSxdLJ0s3S0dLV0tnS3dLh0uXS7dLx0vXS+dL90wHTBdMJ0w3TEdMV0xnTHdMh0yXTKdMt0zHTNdM50z3TQdNF003TUdNV01nTXdNh02XTadNt03XTfdOF05XTndOh06XTqdOt07HTtdPB08XTydBrhG+Ec4R3hHuEf4SDhIeEi4SPhJOEl4SbhJ+Eo4SnhKuEr4SzhLeEu4S/hMOEx4TLhM+E04TXhNuE34TjhOeE64TvhPOE94T7hP+FA4UHhQuFD4UThReFG4UfhSOFJ4UrhS+FM4U3hTuFP4VDhUeFS4VPhVOFV4VbhV+FY4VnhWuFb4VzhXeFe4V/hYOFh4WLhY+Fk4WXhZuFn4WjhaeFq4WvhbOFt4W7hb+Fw4XHhcuFz4XThdeF24Xfh83T1dPh0+XT6dPt0/HT9dP50AHUBdQJ1A3UFdQZ1B3UIdQl1CnULdQx1DnUQdRJ1FHUVdRZ1F3UbdR11HnUgdSF1InUjdSR1JnUndSp1LnU0dTZ1OXU8dT11P3VBdUJ1Q3VEdUZ1R3VJdUp1TXVQdVF1UnVTdVV1VnVXdVh1XXVedV91YHVhdWJ1Y3VkdWd1aHVpdWt1bHVtdW51b3VwdXF1c3V1dXZ1d3V6dXt1fHV9dX51gHWBdYJ1hHWFdYd1eOF54Xrhe+F84X3hfuF/4YDhgeGC4YPhhOGF4Ybhh+GI4YnhiuGL4YzhjeGO4Y/hkOGR4ZLhk+GU4ZXhluGX4ZjhmeGa4ZvhnOGd4Z7hn+Gg4aHhouGj4aThpeGm4afhqOGp4arhq+Gs4a3hruGv4bDhseGy4bPhtOG14bbht+G44bnhuuG74bzhveG+4b/hwOHB4cLhw+HE4cXhxuHH4cjhyeHK4cvhzOHN4c7hz+HQ4dHh0uHT4dTh1eGIdYl1inWMdY11jnWQdZN1lXWYdZt1nHWedaJ1pnWndah1qXWqda11tnW3dbp1u3W/dcB1wXXGdct1zHXOdc910HXRddN113XZddp13HXddd914HXhdeV16XXsde117nXvdfJ183X1dfZ193X4dfp1+3X9df51AnYEdgZ2B3YIdgl2C3YNdg52D3YRdhJ2E3YUdhZ2GnYcdh12HnYhdiN2J3Yodix2LnYvdjF2MnY2djd2OXY6djt2PXZBdkJ2RHbW4dfh2OHZ4drh2+Hc4d3h3uHf4eDh4eHi4ePh5OHl4ebh5+Ho4enh6uHr4ezh7eHu4e/h8OHx4fLh8+H04fXh9uH34fjh+eH64fvh/OH94f7h/+EA4gHiAuID4gTiBeIG4gfiCOIJ4griC+IM4g3iDuIP4hDiEeIS4hPiFOIV4hbiF+IY4hniGuIb4hziHeIe4h/iIOIh4iLiI+Ik4iXiJuIn4ijiKeIq4iviLOIt4i7iL+Iw4jHiMuIz4kV2RnZHdkh2SXZKdkt2TnZPdlB2UXZSdlN2VXZXdlh2WXZadlt2XXZfdmB2YXZidmR2ZXZmdmd2aHZpdmp2bHZtdm52cHZxdnJ2c3Z0dnV2dnZ3dnl2enZ8dn92gHaBdoN2hXaJdop2jHaNdo92kHaSdpR2lXaXdph2mnabdpx2nXaedp92oHahdqJ2o3aldqZ2p3aodql2qnardqx2rXavdrB2s3a1drZ2t3a4drl2una7drx2vXa+dsB2wXbDdkpVP5bDVyhjzlQJVcBUkXZMdjyF7nd+go14MXKYlo2XKGyJW/pPCWOXZrhc+oBIaK6AAmbOdvlRVmWscfF/hIiyUGVZymGzb62CTGNSYu1TJ1QGe2tRpHX0XdRiy412l4piGYBdVziXYn84cn12z2d+dkZkcE8ljdxiF3qRZe1zLGRzYiyCgZh/Z0hybmLMYjRP43RKU55Syn6mkC5ehmicaYCB0X7SaMV4jIZRlY1QJIzegt6ABVMSiWVSxHbHdsl2y3bMdtN21XbZdtp23Hbddt524HbhduJ243bkduZ253bodul26nbrdux27XbwdvN29Xb2dvd2+nb7dv12/3YAdwJ3A3cFdwZ3CncMdw53D3cQdxF3EncTdxR3FXcWdxd3GHcbdxx3HXcedyF3I3ckdyV3J3cqdyt3LHcudzB3MXcydzN3NHc5dzt3PXc+dz93QndEd0V3RndId0l3SndLd0x3TXdOd093UndTd1R3VXdWd1d3WHdZd1x3hIX5lt1PIVhxmZ1bsWKlYrRmeYyNnAZyb2eReLJgUVMXU4iPzIAdjaGUDVDIcgdZ62AZcauIVFnvgixnKHspXfd+LXX1bGaO+I88kDuf1GsZkRR7fF+neNaEPYXVa9lr1msBXode+XXtlV1lCl/FX5+PwVjCgX+QW5atl7mPFn8sjUFiv0/YU15TqI+pj6uPTZAHaGpfmIFoiNaci2ErUip2bF+MZdJv6G6+W0hkdVGwUcRnGU7JeXyZs3Bdd153X3dgd2R3Z3dpd2p3bXdud293cHdxd3J3c3d0d3V3dnd3d3h3end7d3x3gXeCd4N3hneHd4h3iXeKd4t3j3eQd5N3lHeVd5Z3l3eYd5l3mnebd5x3nXeed6F3o3ekd6Z3qHerd613rnevd7F3sne0d7Z3t3e4d7l3une8d753wHfBd8J3w3fEd8V3xnfHd8h3yXfKd8t3zHfOd8930HfRd9J303fUd9V31nfYd9l32nfdd95333fgd+F35HfFdXZeu3Pgg61k6GK1lOJsWlPDUg9kwpSUey9PG142ghaBioEkbspsc5pVY1xT+lRliOBXDU4DXmVrP3zokBZg5mQcc8GIUGdNYiKNbHcpjseRaV/cgyGFEJnCU5WGi2vtYOhgf3DNgjGC006nbM+FzWTZfP1p+WZJg5VTVnunT4xRS21CXG2O0mPJUyyDNoPlZ7R4PWTfW5Rc7l3ni8Zi9Gd6jABkumNJh4uZF4wgf/KUp04QlqSYDGYWc+Z36Hfqd+938Hfxd/J39Hf1d/d3+Xf6d/t3/HcDeAR4BXgGeAd4CHgKeAt4DngPeBB4E3gVeBl4G3geeCB4IXgieCR4KHgqeCt4LngveDF4MngzeDV4Nng9eD94QXhCeEN4RHhGeEh4SXhKeEt4TXhPeFF4U3hUeFh4WXhaeFt4XHheeF94YHhheGJ4Y3hkeGV4ZnhneGh4aXhveHB4cXhyeHN4dHh1eHZ4eHh5eHp4e3h9eH54f3iAeIF4gniDeDpXHVw4Xn+Vf1CggIJTXmVFdTFVIVCFjYRinpQdZzJWbm/iXTVUknBmj29ipGSjY3tfiG/0kOOBsI8YXGhm8V+JbEiWgY1siJFk8HnOV1lqEGJIVFhOC3rpYIRv2ot/Yh6Qi5rkeQNU9HUBYxlTYGzfjxtfcJo7gH+fiE86XGSNxX+lZb1wRVGyUWuGB12gW71ibJF0dQyOIHoBYXl7x074foV3EU7tgR1S+lFxaqhTh44Elc+WwW5kllpphHiFeIZ4iHiKeIt4j3iQeJJ4lHiVeJZ4mXideJ54oHiieKR4pnioeKl4qnireKx4rXiueK94tXi2eLd4uHi6eLt4vHi9eL94wHjCeMN4xHjGeMd4yHjMeM14znjPeNF40njTeNZ413jYeNp423jceN143njfeOB44XjieON45HjleOZ453jpeOp463jteO5473jwePF483j1ePZ4+Hj5ePt4/Hj9eP54/3gAeQJ5A3kEeQZ5B3kIeQl5CnkLeQx5QHioUNd3EGTmiQRZ42PdXX96PWkgTzmCmFUyTq51l3piXope75UbUjlUinB2YySVglclZj9ph5EHVfNtr34iiDNi8H61dSiDwXjMlp6PSGH3dM2LZGs6UlCNIWtqgHGE8VYGU85OG07RUZd8i5EHfMNPf47he5x6Z2QUXaxQBoEBdrl87G3gf1FnWFv4W8t4rmQTZKpjK2MZlS1kvo9Ueyl2U2InWUZUeWujUDRiJl6Ga+NON42LiIVfLpANeQ55D3kQeRF5EnkUeRV5FnkXeRh5GXkaeRt5HHkdeR95IHkheSJ5I3kleSZ5J3koeSl5KnkreSx5LXkueS95MHkxeTJ5M3k1eTZ5N3k4eTl5PXk/eUJ5Q3lEeUV5R3lKeUt5THlNeU55T3lQeVF5UnlUeVV5WHlZeWF5Y3lkeWZ5aXlqeWt5bHlueXB5cXlyeXN5dHl1eXZ5eXl7eXx5fXl+eX95gnmDeYZ5h3mIeYl5i3mMeY15jnmQeZF5knkgYD2AxWI5TlVT+JC4Y8aA5mUubEZP7mDhbd6LOV/LhlNfIWNaUWGDY2gAUmNjSI4SUJtcd3n8WzBSO3q8YFOQ13a3X5dfhHZsjm9we3ZJe6p381GTkCRYTk/0buqPTGUbe8RypG3ff+FatWKVXjBXgoQsex1eH18SkBR/oJiCY8dumHi5cHhRW5erVzV1Q084dZde5mBgWcBtv2uJePxT1ZbLUQFSiWMKVJOUA4zMjTlyn3h2h+2PDYzgU5N5lHmVeZZ5l3mYeZl5m3mceZ15nnmfeaB5oXmieaN5pHmleaZ5qHmpeap5q3msea15rnmvebB5sXmyebR5tXm2ebd5uHm8eb95wnnEecV5x3nIecp5zHnOec950HnTedR51nnXedl52nnbedx53XneeeB54XnieeV56Hnqeex57nnxefJ583n0efV59nn3efl5+nn8ef55/3kBegR6BXoHegh6CXoKegx6D3oQehF6EnoTehV6FnoYehl6G3ocegFO73buU4mUdpgOny2VmluiiyJOHE6sUWOEwmGoUgtol09rYLtRHm1cUZZil2VhlkaMF5DYdf2QY3fSa4py7HL7izVYeXdMjVxnQJWagKZeIW6SWe967Xc7lbVrrWUOfwZYUVEflvlbqVgoVHKOZmV/mORWnZT+dkGQh2PGVBpZOlmbV7KONWf6jTWCQVLwYBVY/oboXEWexE+dmLmLJVp2YIRTfGJPkAKRf5lpYAyAP1EzgBRcdZkxbYxOHXofeiF6InokeiV6Jnoneih6KXoqeit6LHotei56L3owejF6Mno0ejV6Nno4ejp6PnpAekF6QnpDekR6RXpHekh6SXpKekt6THpNek56T3pQelJ6U3pUelV6VnpYell6Wnpbelx6XXpeel96YHphemJ6Y3pkemV6Znpnemh6aXpqemt6bHptem56b3pxenJ6c3p1ent6fHp9en56gnqFeod6iXqKeot6jHqOeo96kHqTepR6mXqaept6nnqheqJ6MI3RU1p/T3sQT09OAJbVbNBz6YUGXmp1+38Kav53kpRBfuFR5nDNU9SPA4Mpja9ybZnbbEpXs4K5ZaqAP2IylqhZ/06/i7p+PmXyg16XYVXemKWAKlP9iyBUuoCfXrhsOY2sglqRKVQbbAZSt35fVxpxfmyJfEtZ/U7/XyRhqnwwTgFcq2cCh/BcC5XOmK91/XAikK9RHX+9i0lZ5FFbTyZUK1l3ZaSAdVt2YsJikI9FXh9sJnsPT9hPDWejeqR6p3qpeqp6q3queq96sHqxerJ6tHq1erZ6t3q4erl6unq7erx6vXq+esB6wXrCesN6xHrFesZ6x3rIesl6ynrMes16znrPetB60XrSetN61HrVetd62Hraett63HrdeuF64nrkeud66Hrpeup663rseu568HrxevJ683r0evV69nr3evh6+3r8ev56AHsBewJ7BXsHewl7DHsNew57EHsSexN7FnsXexh7Gnscex17H3sheyJ7I3sneyl7LXtubaptj3mxiBdfK3WaYoWP70/ckadlL4FRgZxeUIF0jW9SholLjQ1ZhVDYThyWNnJ5gR+NzFuji0SWh1kaf5BUdlYOVuWLOWWCaZmU1naJbnJeGHVGZ9Fn/3qdgHaNH2HGeWJlY42IURpSopQ4f5uAsn6XXC9uYGfZe4t22JqPgZR/1XweZFCVP3pKVOVUTGsBZAhiPZ7zgJl1clJpl1uEPGjkhgGWlJbslCpOBFTZfjlo340VgPRmml65fy97MHsyezR7NXs2ezd7OXs7ez17P3tAe0F7QntDe0R7RntIe0p7TXtOe1N7VXtXe1l7XHtee197YXtje2R7ZXtme2d7aHtpe2p7a3tse217b3twe3N7dHt2e3h7ent8e317f3uBe4J7g3uEe4Z7h3uIe4l7inuLe4x7jnuPe5F7knuTe5Z7mHuZe5p7m3uee597oHuje6R7pXuue697sHuye7N7tXu2e7d7uXu6e7t7vHu9e757v3vAe8J7w3vEe8JXP4CXaOVdO2WfUm1gmp+bT6yObFGrWxNf6V1ebPFiIY1xUamU/lKfbN+C13KiV4RnLY0fWZyPx4OVVI17ME+9bGRb0VkTn+RTyoaomjeMoYBFZX6Y+lbHli5S3HRQUuFbAmMCiVZO0GIqYPpoc1GYW6BRwomhe4aZUH/vYExwL41JUX9eG5BwdMSJLVdFeFJfn5/6lWiPPJvhi3h2QmjcZ+qNNY09UoqP2m7NaAWV7ZD9Vpxn+YjHj8hUxXvIe8l7ynvLe817znvPe9B70nvUe9V71nvXe9h723vce95733vge+J743vke+d76Hvpe+t77Hvte+978Hvye/N79Hv1e/Z7+Hv5e/p7+3v9e/97AHwBfAJ8A3wEfAV8BnwIfAl8CnwNfA58EHwRfBJ8E3wUfBV8F3wYfBl8GnwbfBx8HXwefCB8IXwifCN8JHwlfCh8KXwrfCx8LXwufC98MHwxfDJ8M3w0fDV8Nnw3fDl8Onw7fDx8PXw+fEJ8uJppW3dtJmylTrNbh5pjkahhr5DplytUtW3SW/1RilVVf/B/vGRNY/FlvmGNYApxV2xJbC9ZbWcqgtVYjlZqjOtr3ZB9WReA91NpbXVUnVV3g8+DOGi+eYxUVU8IVNJ2iYwClrNsuG1rjRCJZJ46jT9W0Z7VdYhf4HJoYPxUqE4qamGIUmBwj8RU2HB5hj+eKm2PWxhfon6JVa9PNHM8VJpTGVAOVHxUTk79X1p09lhrhOGAdIfQcsp8Vm5DfER8RXxGfEd8SHxJfEp8S3xMfE58T3xQfFF8UnxTfFR8VXxWfFd8WHxZfFp8W3xcfF18XnxffGB8YXxifGN8ZHxlfGZ8Z3xofGl8anxrfGx8bXxufG98cHxxfHJ8dXx2fHd8eHx5fHp8fnx/fIB8gXyCfIN8hHyFfIZ8h3yIfIp8i3yMfI18jnyPfJB8k3yUfJZ8mXyafJt8oHyhfKN8pnynfKh8qXyrfKx8rXyvfLB8tHy1fLZ8t3y4fLp8u3wnX06GLFWkYpJOqmw3YrGC11ROUz5z0W47dRJSFlPdi9Bpil8AYO5tT1cia69zU2jYjxN/YmOjYCRV6nVijBVxo22mW3teUoNMYcSe+nhXhyd8h3bwUfZgTHFDZkxeTWAOjHBwJWOJj71fYmDUht5WwWuUYGdhSVPgYGZmP439eRpP6XBHbLOL8ovYfmSDD2ZaWkKbUW33bUGMO20ZT2twt4MWYtFgDZcnjXh5+1E+V/pXOmd4dT1673mVe798wHzCfMN8xHzGfMl8y3zOfM980HzRfNJ803zUfNh82nzbfN183nzhfOJ843zkfOV85nznfOl86nzrfOx87XzufPB88XzyfPN89Hz1fPZ893z5fPp8/Hz9fP58/3wAfQF9An0DfQR9BX0GfQd9CH0JfQt9DH0NfQ59D30QfRF9En0TfRR9FX0WfRd9GH0ZfRp9G30cfR19Hn0ffSF9I30kfSV9Jn0ofSl9Kn0sfS19Ln0wfTF9Mn0zfTR9NX02fYyAZZn5j8BvpYshnuxZ6X4JfwlUgWfYaJGPTXzGlspTJWC+dXJsc1PJWqd+JGPgUQqB8V3fhIBigFFjWw5PbXlCUrhgTm3EW8JboYuwi+JlzF9FlpNZ536qfglWt2c5WXNPtlugUlqDipg+jTJ1vpRHUDx69062Z36awVp8a9F2WlcWXDp79JVOcXxRqYBwgnhZBH8ng8Bo7GexeHd442JhY4B77U9qUs9RUIPbaXSS9Y0xjcGJLpWte/ZON304fTl9On07fTx9PX0+fT99QH1BfUJ9Q31EfUV9Rn1HfUh9SX1KfUt9TH1NfU59T31QfVF9Un1TfVR9VX1WfVd9WH1ZfVp9W31cfV19Xn1ffWB9YX1ifWN9ZH1lfWZ9Z31ofWl9an1rfWx9bX1vfXB9cX1yfXN9dH11fXZ9eH15fXp9e318fX19fn1/fYB9gX2CfYN9hH2FfYZ9h32IfYl9in2LfYx9jX2OfY99kH2RfZJ9k32UfZV9ln2XfZh9ZVAwglFSb5kQboVup236XvVQ3FkGXEZtX2yGdYuEaGhWWbKLIFNxkU2WSYUSaQF5JnH2gKROypBHbYSaB1q8VgVk8JTrd6VPGoHhctKJepk0f95+f1JZZXWRf4+Dj+tTlnrtY6Vjhnb4eVeINpYqYqtSgoJUaHBnd2Nrd+16AW3TfuOJ0FkSYsmFpYJMdR9Qy06ldeuLSlz+XUt7pGXRkcpOJW1fiSd9JpXFTiiM249zl0tmgXnRj+xweG2ZfZp9m32cfZ19nn2ffaB9oX2ifaN9pH2lfad9qH2pfap9q32sfa19r32wfbF9sn2zfbR9tX22fbd9uH25fbp9u328fb19vn2/fcB9wX3CfcN9xH3FfcZ9x33Ifcl9yn3Lfcx9zX3Ofc990H3RfdJ9033UfdV91n3Xfdh92X3afdt93H3dfd59333gfeF94n3jfeR95X3mfed96H3pfep9633sfe197n3vffB98X3yffN99H31ffZ99334ffl9+n09XLJSRoNiUQ6DW3d2ZricrE7KYL58s3zPfpVOZotvZoiYWZeDWGxlXJWEX8l1Vpffet56wFGvcJh66mN2eqB+lnPtl0VOeHBdTlKRqVNRZedl/IEFgo5UMVyadaCX2GLZcr11RVx5msqDQFyAVOl3Pk6ubFqA0mJuY+hdd1HdjR6OL5XxT+VT52CscGdSUGNDnh9aJlA3d3dT4n6FZCtliWKYYxRQNXLJibNRwIvdfkdXzIOnlJtRG1T7XPt9/H39ff59/30AfgF+An4DfgR+BX4Gfgd+CH4Jfgp+C34Mfg1+Dn4PfhB+EX4SfhN+FH4VfhZ+F34Yfhl+Gn4bfhx+HX4efh9+IH4hfiJ+I34kfiV+Jn4nfih+KX4qfit+LH4tfi5+L34wfjF+Mn4zfjR+NX42fjd+OH45fjp+PH49fj5+P35AfkJ+Q35EfkV+Rn5Ifkl+Sn5Lfkx+TX5Ofk9+UH5RflJ+U35UflV+Vn5Xflh+WX5aflt+XH5dfspP43pabeGQj5qAVZZUYVOvVABf6WN3ae9RaGEKUipY2FJOVw14C3e3Xndh4HxbYpdiok6VcAOA92LkcGCXd1fbgu9n9WjVeJeY0XnzWLNU71M0bktRO1KiW/6Lr4BDVaZXc2BRVy1UenpQYFRbp2OgYuNTY2LHW69n7VSfeuaCd5GTXuSIOFmuVw5j6I3vgFdXd3upT+tfvVs+ayFTUHvCckZo/3c2d/dltVGPTtR2v1ylenWETllBm4BQXn5ffmB+YX5ifmN+ZH5lfmZ+Z35ofml+an5rfmx+bX5ufm9+cH5xfnJ+c350fnV+dn53fnh+eX56fnt+fH59fn5+f36AfoF+g36EfoV+hn6Hfoh+iX6Kfot+jH6Nfo5+j36QfpF+kn6TfpR+lX6Wfpd+mH6Zfpp+nH6dfp5+rn60frt+vH7WfuR+7H75fgp/EH8efzd/OX87fzx/PX8+fz9/QH9Bf0N/Rn9Hf0h/SX9Kf0t/TH9Nf05/T39Sf1N/iJknYYNuZFcGZkZj8FbsYmli014UloNXyWKHVSGHSoGjj2ZVsYNlZ1aN3YRqWg9o5mLuexGWcFGcbzCM/WPIidJhBn/CcOVuBXSUafxyyl7OkBdnam1eY7NSYnIBgGxP5VlqkdlwnW3SUlBO95ZtlX6FyngvfSFRklfCZIuAe3zqbPFoXmm3UZhTqGiBcs6e8Xv4crt5E28GdE5nzJGknDx5iYNUgw9UF2g9TolTsVI+eIZTKVKIUItP0E9Wf1l/W39cf11/Xn9gf2N/ZH9lf2Z/Z39rf2x/bX9vf3B/c391f3Z/d394f3p/e398f31/f3+Af4J/g3+Ef4V/hn+Hf4h/iX+Lf41/j3+Qf5F/kn+Tf5V/ln+Xf5h/mX+bf5x/oH+if6N/pX+mf6h/qX+qf6t/rH+tf65/sX+zf7R/tX+2f7d/un+7f75/wH/Cf8N/xH/Gf8d/yH/Jf8t/zX/Pf9B/0X/Sf9N/1n/Xf9l/2n/bf9x/3X/ef+J/43/idct6knylbLaWm1KDdOlU6U9UgLKD3o9wlcleHGCfbRheW2U4gf6US2C8cMN+rnzJUYFosXxvgiROho/PkX5mrk4FjKlkSoDaUJd1znHlW72PZm+GToJkY5XWXpllF1LCiMhwo1IOczN0l2f3eBaXNE67kN6cy23bUUGNHVTOYrJz8YP2loSfw5Q2T5p/zFF1cHWWrVyGmOZT5E6cbgl0tGlreI+ZWXUYUiR2QW3zZ21RmZ9LgJlUPHu/euR/53/of+p/63/sf+1/73/yf/R/9X/2f/d/+H/5f/p//X/+f/9/AoAHgAiACYAKgA6AD4ARgBOAGoAbgB2AHoAfgCGAI4AkgCuALIAtgC6AL4AwgDKANIA5gDqAPIA+gECAQYBEgEWAR4BIgEmAToBPgFCAUYBTgFWAVoBXgFmAW4BcgF2AXoBfgGCAYYBigGOAZIBlgGaAZ4BogGuAbIBtgG6Ab4BwgHKAc4B0gHWAdoB3gHiAeYB6gHuAfIB9gIaWhFfiYkeWfGkEWgJk03sPb0uWpoJiU4WYkF6JcLNjZFNPhoGck56MeDKX741CjX+eXm+EeVVfRpYuYnSaFVTdlKNPxWVlXGFcFX9Rhi9si1+Hc+Ru/37mXBtjalvmbnVTcU6gY2V1oWJujyZP0U6mbLZ+uosdhLqHV387kCOVqXuhmviIPYQbbYaa3H6IWbuem3MBeIKGbJqCmhtWF1TLV3BOpp5WU8iPCYGSd5KZ7obhbhOF/GZiYStvfoCBgIKAhYCIgIqAjYCOgI+AkICRgJKAlICVgJeAmYCegKOApoCngKiArICwgLOAtYC2gLiAuYC7gMWAx4DIgMmAyoDLgM+A0IDRgNKA04DUgNWA2IDfgOCA4oDjgOaA7oD1gPeA+YD7gP6A/4AAgQGBA4EEgQWBB4EIgQuBDIEVgReBGYEbgRyBHYEfgSCBIYEigSOBJIElgSaBJ4EogSmBKoErgS2BLoEwgTOBNIE1gTeBOYE6gTuBPIE9gT+BKYySgiuD8nYTbNlfvYMrcwWDGpXba9t3xpRvUwKDklE9XoyMOI1ITqtzmmeFaHaRCZdkcaFsCXeSWkGVz2uOfydm0Fu5WZpa6JX3lexODISZhKxq33YwlRtzpmhfWy93mpFhl9x8948cjCVfc3zYecWJzGwch8ZbQl7JaCB39X6VUU1RyVIpWgV/YpfXgs9jhHfQhdJ5Om6ZXplZEYVtcBFsv2K/dk9lr2D9lQ5mn4cjnu2UDVR9VCyMeGRAgUGBQoFDgUSBRYFHgUmBTYFOgU+BUoFWgVeBWIFbgVyBXYFegV+BYYFigWOBZIFmgWiBaoFrgWyBb4FygXOBdYF2gXeBeIGBgYOBhIGFgYaBh4GJgYuBjIGNgY6BkIGSgZOBlIGVgZaBl4GZgZqBnoGfgaCBoYGigaSBpYGngamBq4Gsga2BroGvgbCBsYGygbSBtYG2gbeBuIG5gbyBvYG+gb+BxIHFgceByIHJgcuBzYHOgc+B0IHRgdKB04F5ZBGGIWqcgeh4aWRUm7liK2erg6hY2J6rbCBv3ltMlguMX3LQZ8diYXKpTsZZzWuTWK5mVV7fUlVhKGfudmZ3Z3JGev9i6lRQVKCUo5AcWrN+FmxDTnZZEIBIWVdTN3W+lspWIGMRgXxg+ZXWbWJUgZmFUela/YCuWROXKlDlbDxc32JgTz9Te4EGkLpuK4XIYnRevni1ZHtj9V8YWn+RH54/XE9jQoB9W25VSpVNlYVtqGDgZ95y3VGBW9SB1YHWgdeB2IHZgdqB24Hcgd2B3oHfgeCB4YHigeSB5YHmgeiB6YHrge6B74HwgfGB8oH1gfaB94H4gfmB+oH9gf+BA4IHggiCCYIKgguCDoIPghGCE4IVghaCF4IYghmCGoIdgiCCJIIlgiaCJ4Ipgi6CMoI6gjyCPYI/gkCCQYJCgkOCRYJGgkiCSoJMgk2CToJQglGCUoJTglSCVYJWgleCWYJbglyCXYJegmCCYYJigmOCZIJlgmaCZ4Jpgudi3mxbcm1irpS9fhOBU22cUQRfdFmqUhJgc1mWZlCGn3UqY+Zh73z6i+ZUJ2slnrRr1YVVVHZQpGxqVbSNLHIVXhVgNnTNYpJjTHKYX0NuPm0AZVhv2HbQePx2VHUkUttTU06eXsFlKoDWgJtihlQoUq5wjYjRjeFseFTagPlX9IhUjWqWTZFpT5tst1XGdjB4qGL5cI5vbV/shNpofHj3e6iBC2dPnmdjsHhvVxJ4OZd5YqtiiFI1dNdraoJrgmyCbYJxgnWCdoJ3gniCe4J8goCCgYKDgoWChoKHgomCjIKQgpOClIKVgpaCmoKbgp6CoIKigqOCp4KygrWCtoK6gruCvIK/gsCCwoLDgsWCxoLJgtCC1oLZgtqC3YLigueC6ILpguqC7ILtgu6C8ILygvOC9YL2gviC+oL8gv2C/oL/ggCDCoMLgw2DEIMSgxODFoMYgxmDHYMegx+DIIMhgyKDI4MkgyWDJoMpgyqDLoMwgzKDN4M7gz2DZFU+gbJ1rnY5U951+1BBXGyLx3tPUEdyl5rYmAJv4nRoeYdkpXf8YpGYK43BVFiAUk5qV/mCDYRzXu1R9nTEi09cYVf8bIeYRlo0eESb64+VfFZSUWL6lMZOhoNhhOmDsoTUVzRnA1duZmZtMYzdZhFwH2c6axZoGmK7WQNOxFEGb9Jnj2x2UctoR1lna2Z1Dl0QgVCf12VIeUF5kZp3jYJcXk4BTy9UUVkMeGhWFGzEjwNffWzjbKuLkGM+gz+DQYNCg0SDRYNIg0qDS4NMg02DToNTg1WDVoNXg1iDWYNdg2KDcINxg3KDc4N0g3WDdoN5g3qDfoN/g4CDgYOCg4ODhIOHg4iDioOLg4yDjYOPg5CDkYOUg5WDloOXg5mDmoOdg5+DoYOig6ODpIOlg6aDp4Osg62DroOvg7WDu4O+g7+DwoPDg8SDxoPIg8mDy4PNg86D0IPRg9KD04PVg9eD2YPag9uD3oPig+OD5IPmg+eD6IPrg+yD7YNwYD1tdXJmYo6UxZRDU8GPfnvfTiaMfk7UnrGUs5RNUlxvY5BFbTSMEVhMXSBrSWuqZ1tUVIGMf5lYN4U6X6JiR2o5lXJlhGBlaKd3VE6oT+ddmJesZNh/7VzPT416B1IEgxROL2CDeqaUtU+yTuZ5NHTkUrmC0mS9ed1bgWxSl3uPImw+UH9TBW7OZHRmMGzFYHeY94uGXjx0d3rLeRhOsZADdEJs2lZLkcVsi406U8aG8mavjkhccZogbu6D74Pzg/SD9YP2g/eD+oP7g/yD/oP/gwCEAoQFhAeECIQJhAqEEIQShBOEFIQVhBaEF4QZhBqEG4QehB+EIIQhhCKEI4QphCqEK4QshC2ELoQvhDCEMoQzhDSENYQ2hDeEOYQ6hDuEPoQ/hECEQYRChEOERIRFhEeESIRJhEqES4RMhE2EToRPhFCEUoRThFSEVYRWhFiEXYRehF+EYIRihGSEZYRmhGeEaIRqhG6Eb4RwhHKEdIR3hHmEe4R8hNZTNlqLn6ONu1MIV6eYQ2ebkclsaFHKdfNirHI4Up1SOn+UcDh2dFNKnrdpbnjAltmIpH82ccNxiVHTZ+R05FgYZbdWqYt2mXBi1X75YO1w7FjBTrpOzV/nl/tOpIsDUopZq35UYs1O5WUOYjiDyYRjg42HlHG2brlb0n6XUclj1GeJgDmDFYgSUXpbglmxj3NOXWxlUSWJb48ulkqFXnQQlfCVpm3lgjFfkmQSbSiEboHDnF5YW40JTsFTfYR+hH+EgISBhIOEhISFhIaEioSNhI+EkISRhJKEk4SUhJWEloSYhJqEm4SdhJ6En4SghKKEo4SkhKWEpoSnhKiEqYSqhKuErISthK6EsISxhLOEtYS2hLeEu4S8hL6EwITChMOExYTGhMeEyITLhMyEzoTPhNKE1ITVhNeE2ITZhNqE24TchN6E4YTihOSE54TohOmE6oTrhO2E7oTvhPGE8oTzhPSE9YT2hPeE+IT5hPqE+4T9hP6EAIUBhQKFHk9jZVFo01UnThRkmpprYsJaX3Rygqlt7mjnUI6DAnhAZzlSmWyxfrtQZVVecVt7UmbKc+uCSWdxXCBSfXFriOqVVZbFZGGNs4GEVVVsR2Iuf5JYJE9GVU+NTGYKThpc84iiaE5jDXrncI2C+lL2lxFc6FS1kM1+YllKjceGDIINgmaNRGQEXFFhiW0+eb6LN3gzdXtUOE+rjvFtIFrFfl55iGyhW3ZaGnW+gE5hF27wWB91JXVyckdT834DhQSFBYUGhQeFCIUJhQqFC4UNhQ6FD4UQhRKFFIUVhRaFGIUZhRuFHIUdhR6FIIUihSOFJIUlhSaFJ4UohSmFKoUthS6FL4UwhTGFMoUzhTSFNYU2hT6FP4VAhUGFQoVEhUWFRoVHhUuFTIVNhU6FT4VQhVGFUoVThVSFVYVXhViFWoVbhVyFXYVfhWCFYYVihWOFZYVmhWeFaYVqhWuFbIVthW6Fb4VwhXGFc4V1hXaFd4V4hXyFfYV/hYCFgYUBd9t2aVLcgCNXCF4xWe5yvWV/bteLOFxxhkFT83f+YvZlwE7fmICGnlvGi/JT4nd/T05cdprLWQ9fOnnrWBZO/2eLTu1ik4odkL9SL2bcVWxWApDVTo1PypFwmQ9sAl5DYKRbxonVizZlS2KWmYhb/1uIYy5V11Mmdn1RLIWiZ7NoimuSYpOP1FMSgtFtj3VmTk6NcFufca+FkWbZZnJ/AIfNniCfXlwvZ/CPEWhfZw1i1nqFWLZecGUxb4KFg4WGhYiFiYWKhYuFjIWNhY6FkIWRhZKFk4WUhZWFloWXhZiFmYWahZ2FnoWfhaCFoYWihaOFpYWmhaeFqYWrhayFrYWxhbKFs4W0hbWFtoW4hbqFu4W8hb2FvoW/hcCFwoXDhcSFxYXGhceFyIXKhcuFzIXNhc6F0YXShdSF1oXXhdiF2YXahduF3YXehd+F4IXhheKF44XlheaF54XoheqF64Xshe2F7oXvhfCF8YXyhfOF9IX1hfaF94X4hVVgN1INgFRkcIgpdQVeE2j0YhyXzFM9cgGMNGxhdw56LlSsd3qYHIL0i1V4FGfBcK9llWQ2Vh1gwXn4Ux1Oe2uGgPpb41XbVjpPPE9ymfNdfmc4gAJggpgBkItbvIv1ixxkWILeZP1Vz4JlkddPIH0fkJ9881BRWK9uv1vJi4OAeJGchJd7fYaLlo+W5X7Tmo54gVxXekKQp5ZfeVlbX2MLe9GErWgGVSl/EHQifQGVQGJMWNZOg1t5WVRY+YX6hfyF/YX+hQCGAYYChgOGBIYGhgeGCIYJhgqGC4YMhg2GDoYPhhCGEoYThhSGFYYXhhiGGYYahhuGHIYdhh6GH4YghiGGIoYjhiSGJYYmhiiGKoYrhiyGLYYuhi+GMIYxhjKGM4Y0hjWGNoY3hjmGOoY7hj2GPoY/hkCGQYZChkOGRIZFhkaGR4ZIhkmGSoZLhkyGUoZThlWGVoZXhliGWYZbhlyGXYZfhmCGYYZjhmSGZYZmhmeGaIZphmqGbXMeY0uOD47OgNSCrGLwU/BsXpEqWQFgcGxNV0pkKo0rduluW1eAavB1bW8tjAiMZlfva5KIs3iiY/lTrXBkbFhYKmQCWOBom4EQVdZ8GFC6jsxtn43rcI9jm23UbuZ+BIRDaAOQ2G12lqiLV1l5cuSFfoG8dYqKr2hUUiKOEZXQY5iYRI58VVNP/2aPVtVglW1DUklcKVn7bWtYMHUcdWxgFIJGgRFjYWfijzp38400jcGUFl6FUyxUw3Bthm+GcIZyhnOGdIZ1hnaGd4Z4hoOGhIaFhoaGh4aIhomGjoaPhpCGkYaShpSGloaXhpiGmYaahpuGnoafhqCGoYaihqWGpoarhq2GroayhrOGt4a4hrmGu4a8hr2Gvoa/hsGGwobDhsWGyIbMhs2G0obThtWG1obXhtqG3IbdhuCG4YbihuOG5YbmhueG6IbqhuuG7IbvhvWG9ob3hvqG+4b8hv2G/4YBhwSHBYcGhwuHDIcOhw+HEIcRhxSHFodAbPdeXFCtTq1eOmNHghqQUGhukbN3DFTclGRf5Xp2aEVjUnvfftt1d1CVYjRZD5D4UcN5gXr+VpJfFJCCbWBcH1cQVFRRTW7iVqhjk5h/gRWHKokAkB5Ub1zAgdZiWGIxgTWeQJZumnyaLWmlWdNiPlUWY8dU2YY8bQNa5nSciGprFllMjC9ffm6pc32YOE73cIxbl3g9Y1pmlnbLYJtbSVoHTlWBamyLc6FOiWdRf4Bf+mUbZ9hfhFkBWhmHG4cdhx+HIIckhyaHJ4cohyqHK4cshy2HL4cwhzKHM4c1hzaHOIc5hzqHPIc9h0CHQYdCh0OHRIdFh0aHSodLh02HT4dQh1GHUodUh1WHVodYh1qHW4dch12HXodfh2GHYodmh2eHaIdph2qHa4dsh22Hb4dxh3KHc4d1h3eHeId5h3qHf4eAh4GHhIeGh4eHiYeKh4yHjoePh5CHkYeSh5SHlYeWh5iHmYeah5uHnIedh56HoIehh6KHo4ekh81drl9xU+aX3Y9FaPRWL1XfYDpOTW/0fseCDoTUWR9PKk8+XKx+KmcahXNUT3XDgIJVT5tNTy1uE4wJXHBha1MfdiluioaHZfuVuX47VDN6Cn3uleFVwX/udB1jF4ehbZ16EWKhZWdT4WODbOtdXFSolExOYWzsi0tc4GWcgqdoPlQ0VMtrZmuUTkJjSFMegg1Prk9eVwpi/pZkZmly/1KhUp9g74sUZplxkGd/iVJ4/XdwZjtWOFQhlXpypYemh6eHqYeqh66HsIexh7KHtIe2h7eHuIe5h7uHvIe+h7+HwYfCh8OHxIfFh8eHyIfJh8yHzYfOh8+H0IfUh9WH1ofXh9iH2Yfah9yH3Yfeh9+H4Yfih+OH5Ifmh+eH6Ifph+uH7Ifth++H8Ifxh/KH84f0h/WH9of3h/iH+of7h/yH/Yf/hwCIAYgCiASIBYgGiAeICIgJiAuIDIgNiA6ID4gQiBGIEogUiBeIGIgZiBqIHIgdiB6IH4ggiCOIAHpvYAxeiWCdgRVZ3GCEce9wqm5QbIByhGqtiC1eYE6zWpxV45QXbft8mZYPYsZ+jnd+hiNTHpeWj4dm4VygT+1yC06mUw9ZE1SAYyiVSFHZTpycpH64VCSNVIg3gvKVjm0mX8xaPmZplrBzLnO/U3qBhZmhf6pbd5ZQlr9++HaiU3aVmZmxe0SJWG5hTtR/ZXnmi/NgzVSrTnmY911has9QEVRhjCeEXXgEl0pS7lSjVgCViG21W8ZtU2YkiCWIJogniCiIKYgqiCuILIgtiC6IL4gwiDGIM4g0iDWINog3iDiIOog7iD2IPog/iEGIQohDiEaIR4hIiEmISohLiE6IT4hQiFGIUohTiFWIVohYiFqIW4hciF2IXohfiGCIZohniGqIbYhviHGIc4h0iHWIdoh4iHmIeoh7iHyIgIiDiIaIh4iJiIqIjIiOiI+IkIiRiJOIlIiViJeImIiZiJqIm4idiJ6In4igiKGIo4iliKaIp4ioiKmIqogPXF1bIWiWgHhVEXtIZVRpm05Ha06Hi5dPUx9jOmSqkJxlwYAQjJlRsGh4U/mHyGHEbPtsIoxRXKqFr4IMlSNrm4+wZftfw1/hT0WIH2ZlgSlz+mB0URFSi1diX6KQTIiSkXheT2cnYNNZRFH2UfiACFN5bMSWinERT+5Pnn89Z8VVCJXAeZaI436fWAxiAJdahhhWe5iQX7iLxIRXkdlT7WWPXlx1ZGBufX9a6n7tfmmPp1WjW6xgy2WEc6yIroiviLCIsoiziLSItYi2iLiIuYi6iLuIvYi+iL+IwIjDiMSIx4jIiMqIy4jMiM2Iz4jQiNGI04jWiNeI2ojbiNyI3YjeiOCI4YjmiOeI6YjqiOuI7IjtiO6I74jyiPWI9oj3iPqI+4j9iP+IAIkBiQOJBIkFiQaJB4kIiQmJC4kMiQ2JDokPiRGJFIkViRaJF4kYiRyJHYkeiR+JIIkiiSOJJIkmiSeJKIkpiSyJLYkuiS+JMYkyiTOJNYk3iQmQY3Ypd9p+dJebhWZbdHrqlkCIy1KPcapf7GXii/tbb5rhXYlrW2yti6+LCpDFj4tTvGImni2eQFQrTr2CWXKchhZdWYivbcWW0VSaTraLCXG9VAmW33D5bdB2JU4UeBKHqVz2XgCKnJgOlo5wv2xEWaljPHdNiBRvc4IwWNVxjFMaeMGWAVVmXzBxtFsajIyag2suWS+e53loZ2xib0+hdYp/C20zlids8E7SdXtRN2g+b4CQcIGWWXZ0OIk5iTqJO4k8iT2JPok/iUCJQolDiUWJRolHiUiJSYlKiUuJTIlNiU6JT4lQiVGJUolTiVSJVYlWiVeJWIlZiVqJW4lciV2JYIlhiWKJY4lkiWWJZ4loiWmJaolriWyJbYluiW+JcIlxiXKJc4l0iXWJdol3iXiJeYl6iXyJfYl+iYCJgomEiYWJh4mIiYmJiomLiYyJjYmOiY+JkImRiZKJk4mUiZWJlomXiZiJmYmaiZuJnImdiZ6Jn4mgiaGJR2QnXGWQkXojjNpZrFQAgm+DgYkAgDBpTlY2gDdyzpG2UV9OdZiWYxpO9lPzZkuBHFmybQBO+Vg7U9Zj8ZSdTwpPY4iQmDdZV5D7eepO8ICRdYJsnFvoWV1fBWmBhhpQ8l1ZTuN35U56gpFiE2aRkHlcv055X8aBOJCEgKt1pk7UiA9hxWvGX0lOynaibuOLrosKjNGLAl/8f8x/zn41g2uD4Fa3a/OXNJb7WR9U9pTrbcVbbpk5XBVfkJaiiaOJpImliaaJp4moiamJqomriayJrYmuia+JsImxibKJs4m0ibWJtom3ibiJuYm6ibuJvIm9ib6Jv4nAicOJzYnTidSJ1YnXidiJ2Ynbid2J34ngieGJ4onkieeJ6InpieqJ7Intie6J8InxifKJ9In1ifaJ94n4ifmJ+on7ifyJ/Yn+if+JAYoCigOKBIoFigaKCIoJigqKC4oMig2KDooPihCKEYoSihOKFIoVihaKF4oYihmKGoobihyKHYpwU/GCMWp0WnCelF4of7mDJIQlhGeDR4fOj2KNyHZxX5aYbHggZt9U5WJjT8OByHW4Xs2WCo75ho9U82yMbThsf2DHUih1fV4YT6Bg518kXDF1rpDAlLlyuWw4bkmRCWfLU/NTUU/JkfGLyFN8XsKP5G2OTsJ2hmlehhphBoJZT95PPpB8nAlhHW4UboWWiE4xWuiWDk5/XLl5h1vti71/iXPfV4uCwZABVEeQu1XqXKFfCGEya/FysoCJih6KH4ogiiGKIoojiiSKJYomiieKKIopiiqKK4osii2KLoovijCKMYoyijOKNIo1ijaKN4o4ijmKOoo7ijyKPYo/ikCKQYpCikOKRIpFikaKR4pJikqKS4pMik2KTopPilCKUYpSilOKVIpVilaKV4pYilmKWopbilyKXYpeil+KYIphimKKY4pkimWKZopnimiKaYpqimuKbIptim6Kb4pwinGKcopzinSKdYp2ineKeIp6inuKfIp9in6Kf4qAinRt01vViISYa4xtmjOeCm6kUUNRo1eBiJ9T9GOVj+1WWFQGVz9zkG4Yf9yP0YI/YShgYpbwZqZ+io3DjaWUs1ykfAhnpmAFlhiAkU7nkABTaJZBUdCPdIVdkVVm9ZdVWx1TOHhCZz1oyVR+cLBbfY+NUShXsVQSZYJmXo1DjQ+BbIRtkN98/1H7haNn6WWhb6SGgY5qViCQgnZ2cOVxI43pYhlS/Ww8jQ5gnliOYf5mYI1OYrNVI24tZ2ePgYqCioOKhIqFioaKh4qIiouKjIqNio6Kj4qQipGKkoqUipWKloqXipiKmYqaipuKnIqdip6Kn4qgiqGKooqjiqSKpYqmiqeKqIqpiqqKq4qsiq2KroqvirCKsYqyirOKtIq1iraKt4q4irmKuoq7iryKvYq+ir+KwIrBisKKw4rEisWKxorHisiKyYrKisuKzIrNis6Kz4rQitGK0orTitSK1YrWiteK2IrZitqK24rcit2K3orfiuCK4YriiuOK4ZT4lSh3BWioaYtUTU64cMiLWGSLZYVbhHo6UOhbu3fha3mKmHy+bM92qWWXjy1dVVw4hghoYFMYYtl6W279fh9q4HpwXzNvIF+MY6htVmcIThBeJo3XTsCANHaclttiLWZ+YrxsdY1ncWl/RlGHgOxTbpCYYvJU8IaZjwWAF5UXhdmPWW3Nc59lH3cEdSd4+4EejYiUpk+VZ7l1yosHly9jR5U1lriEI2NBd4Ff8HKJThRgdGXvYmNrP2XkiuWK5orniuiK6YrqiuuK7Irtiu6K74rwivGK8orzivSK9Yr2iveK+Ir5ivqK+4r8iv2K/or/igCLAYsCiwOLBIsFiwaLCIsJiwqLC4sMiw2LDosPixCLEYsSixOLFIsVixaLF4sYixmLGosbixyLHYseix+LIIshiyKLI4skiyWLJ4soiymLKosriyyLLYsuiy+LMIsxizKLM4s0izWLNos3iziLOYs6izuLPIs9iz6LP4tAi0GLQotDi0SLRYsnXsd10ZDBi52CnWcvZTFUGIfld6KAAoFBbEtOx35MgPR2DWmWa2diPFCET0BXB2Nia76N6lPoZbh+118aY7dj84H0gW5/HF7ZXDZSembpeRp6KI2ZcNR13m67bJJ6LU7FduBfn5R3iMh+zXm/gM2R8k4XTx+CaFTeXTJtzIulfHSPmIAaXpJUsXaZWzxmpJrgcypo24YxZypz+IvbixCQ+XrbcG5xxGKpdzFWO05XhPFnqVLAhi6N+JRRe0aLR4tIi0mLSotLi0yLTYtOi0+LUItRi1KLU4tUi1WLVotXi1iLWYtai1uLXItdi16LX4tgi2GLYotji2SLZYtni2iLaYtqi2uLbYtui2+LcItxi3KLc4t0i3WLdot3i3iLeYt6i3uLfIt9i36Lf4uAi4GLgouDi4SLhYuGi4eLiIuJi4qLi4uMi42LjouPi5CLkYuSi5OLlIuVi5aLl4uYi5mLmoubi5yLnYuei5+LrIuxi7uLx4vQi+qLCYwejE9P6GxdeXuak2Iqcv1iE04WeGyPsGRajcZ7aWiEXsWIhlmeZO5YtnIOaSWV/Y9YjWBXAH8GjMZRSWPZYlNTTGgidAGDTJFEVUB3fHBKbXlRqFREjf9Zy27EbVxbK33UTn18025QW+qBDW5XWwOb1Wgqjpdb/H47YLV+uZBwjU9ZzWPfebONUlPPZVZ5xYs7lsR+u5SCfjRWiZEAZ2p/Clx1kChm5l1QT95nWlBcT1BXp14Q6BHoEugT6BToOIw5jDqMO4w8jD2MPow/jECMQoxDjESMRYxIjEqMS4xNjE6MT4xQjFGMUoxTjFSMVoxXjFiMWYxbjFyMXYxejF+MYIxjjGSMZYxmjGeMaIxpjGyMbYxujG+McIxxjHKMdIx1jHaMd4x7jHyMfYx+jH+MgIyBjIOMhIyGjIeMiIyLjI2MjoyPjJCMkYySjJOMlYyWjJeMmYyajJuMnIydjJ6Mn4ygjKGMooyjjKSMpYymjKeMqIypjKqMq4ysjK2MjU4MTkBREE7/XkVTFU6YTh5OMptsW2lWKE66eT9OFVNHTi1ZO3JuUxBs31bkgJeZ02t+dxefNk6fThCfXE5pTpNOiIJbW2xVD1bETo1TnVOjU6VTrlNll12NGlP1UyZTLlM+U1yNZlNjUwJSCFIOUi1SM1I/UkBSTFJeUmFSXFKvhH1SglKBUpBSk1KCUVR/u07DTslOwk7oTuFO607eThtP804iT2RP9U4lTydPCU8rT15PZ084ZVpPXU+ujK+MsIyxjLKMs4y0jLWMtoy3jLiMuYy6jLuMvIy9jL6Mv4zAjMGMwozDjMSMxYzGjMeMyIzJjMqMy4zMjM2MzozPjNCM0YzSjNOM1IzVjNaM14zYjNmM2ozbjNyM3YzejN+M4IzhjOKM44zkjOWM5oznjOiM6YzqjOuM7IztjO6M74zwjPGM8ozzjPSM9Yz2jPeM+Iz5jPqM+4z8jP2M/oz/jACNAY0CjQONBI0FjQaNB40IjQmNCo0LjQyNDY1fT1dPMk89T3ZPdE+RT4lPg0+PT35Pe0+qT3xPrE+UT+ZP6E/qT8VP2k/jT9xP0U/fT/hPKVBMUPNPLFAPUC5QLVD+TxxQDFAlUChQflBDUFVQSFBOUGxQe1ClUKdQqVC6UNZQBlHtUOxQ5lDuUAdRC1HdTj1sWE9lT85PoJ9GbHR8blH9XcmemJmBURRZ+VINUweKEFPrURlZVVGgTlZRs05uiKSItU4UgdKIgHk0WwOIuH+rUbFRvVG8UQ6ND40QjRGNEo0TjRSNFY0WjReNGI0ZjRqNG40cjSCNUY1SjVeNX41ljWiNaY1qjWyNbo1vjXGNco14jXmNeo17jXyNfY1+jX+NgI2CjYONho2HjYiNiY2MjY2Njo2PjZCNko2TjZWNlo2XjZiNmY2ajZuNnI2djZ6NoI2hjaKNpI2ljaaNp42ojamNqo2rjayNrY2uja+NsI2yjbaNt425jbuNvY3AjcGNwo3FjceNyI3JjcqNzY3QjdKN043UjcdRllGiUaVRoIumi6eLqou0i7WLt4vCi8OLy4vPi86L0ovTi9SL1ovYi9mL3Ivfi+CL5Ivoi+mL7ovwi/OL9ov5i/yL/4sAjAKMBIwHjAyMD4wRjBKMFIwVjBaMGYwbjBiMHYwfjCCMIYwljCeMKowrjC6ML4wyjDOMNYw2jGlTelMdliKWIZYxliqWPZY8lkKWSZZUll+WZ5ZslnKWdJaIlo2Wl5awlpeQm5CdkJmQrJChkLSQs5C2kLqQ1Y3YjdmN3I3gjeGN4o3ljeaN543pje2N7o3wjfGN8o30jfaN/I3+jf+NAI4BjgKOA44EjgaOB44IjguODY4OjhCOEY4SjhOOFY4WjheOGI4ZjhqOG44cjiCOIY4kjiWOJo4njiiOK44tjjCOMo4zjjSONo43jjiOO448jj6OP45DjkWORo5Mjk2OTo5PjlCOU45UjlWOVo5XjliOWo5bjlyOXY5ejl+OYI5hjmKOY45kjmWOZ45ojmqOa45ujnGOuJCwkM+QxZC+kNCQxJDHkNOQ5pDikNyQ15DbkOuQ75D+kASRIpEekSORMZEvkTmRQ5FGkQ1SQlmiUqxSrVK+Uv9U0FLWUvBS31Pucc139F71UfxRL5u2UwFfWnXvXUxXqVehV35YvFjFWNFYKVcsVypXM1c5Vy5XL1dcVztXQldpV4VXa1eGV3xXe1doV21XdldzV61XpFeMV7JXz1enV7RXk1egV9VX2FfaV9lX0le4V/RX71f4V+RX3VdzjnWOd454jnmOeo57jn2Ofo6AjoKOg46EjoaOiI6JjoqOi46Mjo2Ojo6RjpKOk46VjpaOl46YjpmOmo6bjp2On46gjqGOoo6jjqSOpY6mjqeOqI6pjqqOrY6ujrCOsY6zjrSOtY62jreOuI65jruOvI69jr6Ov47AjsGOwo7DjsSOxY7GjseOyI7JjsqOy47Mjs2Oz47QjtGO0o7TjtSO1Y7WjteO2I7ZjtqO247cjt2O3o7fjuCO4Y7ijuOO5I4LWA1Y/VftVwBYHlgZWERYIFhlWGxYgViJWJpYgFiomRmf/2F5gn2Cf4KPgoqCqIKEgo6CkYKXgpmCq4K4gr6CsILIgsqC44KYgreCroLLgsyCwYKpgrSCoYKqgp+CxILOgqSC4YIJg/eC5IIPgweD3IL0gtKC2IIMg/uC04IRgxqDBoMUgxWD4ILVghyDUYNbg1yDCIOSgzyDNIMxg5uDXoMvg0+DR4NDg1+DQIMXg2CDLYM6gzODZoNlg+WO5o7njuiO6Y7qjuuO7I7tju6O747wjvGO8o7zjvSO9Y72jveO+I75jvqO+478jv2O/o7/jgCPAY8CjwOPBI8FjwaPB48IjwmPCo8LjwyPDY8Ojw+PEI8RjxKPE48UjxWPFo8XjxiPGY8ajxuPHI8djx6PH48gjyGPIo8jjySPJY8mjyePKI8pjyqPK48sjy2PLo8vjzCPMY8yjzOPNI81jzaPN484jzmPOo87jzyPPY8+jz+PQI9Bj0KPQ49Ej2iDG4Npg2yDaoNtg26DsIN4g7ODtIOgg6qDk4Ocg4WDfIO2g6mDfYO4g3uDmIOeg6iDuoO8g8GDAYTlg9iDB1gYhAuE3YP9g9aDHIQ4hBGEBoTUg9+DD4QDhPiD+YPqg8WDwIMmhPCD4YNchFGEWoRZhHOEh4SIhHqEiYR4hDyERoRphHaEjISOhDGEbYTBhM2E0ITmhL2E04TKhL+EuoTghKGEuYS0hJeE5YTjhAyFDXU4hfCEOYUfhTqFRY9Gj0ePSI9Jj0qPS49Mj02PTo9Pj1CPUY9Sj1OPVI9Vj1aPV49Yj1mPWo9bj1yPXY9ej1+PYI9hj2KPY49kj2WPao+Aj4yPko+dj6CPoY+ij6SPpY+mj6ePqo+sj62Pro+vj7KPs4+0j7WPt4+4j7qPu4+8j7+PwI/Dj8aPyY/Kj8uPzI/Nj8+P0o/Wj9eP2o/gj+GP44/nj+yP74/xj/KP9I/1j/aP+o/7j/yP/o//jweQCJAMkA6QE5AVkBiQVoU7hf+E/IRZhUiFaIVkhV6FeoWid0OFcoV7haSFqIWHhY+FeYWuhZyFhYW5hbeFsIXThcGF3IX/hSeGBYYphhaGPIb+XghfPFlBWTeAVVlaWVhZD1MiXCVcLFw0XExiamKfYrtiymLaYtdi7mIiY/ZiOWNLY0NjrWP2Y3FjemOOY7RjbWOsY4pjaWOuY7xj8mP4Y+Bj/2PEY95jzmNSZMZjvmNFZEFkC2QbZCBkDGQmZCFkXmSEZG1klmQZkByQI5AkkCWQJ5AokCmQKpArkCyQMJAxkDKQM5A0kDeQOZA6kD2QP5BAkEOQRZBGkEiQSZBKkEuQTJBOkFSQVZBWkFmQWpBckF2QXpBfkGCQYZBkkGaQZ5BpkGqQa5BskG+QcJBxkHKQc5B2kHeQeJB5kHqQe5B8kH6QgZCEkIWQhpCHkImQipCMkI2QjpCPkJCQkpCUkJaQmJCakJyQnpCfkKCQpJClkKeQqJCpkKuQrZCykLeQvJC9kL+QwJB6ZLdkuGSZZLpkwGTQZNdk5GTiZAllJWUuZQtf0l8ZdRFfX1PxU/1T6VPoU/tTElQWVAZUS1RSVFNUVFRWVENUIVRXVFlUI1QyVIJUlFR3VHFUZFSaVJtUhFR2VGZUnVTQVK1UwlS0VNJUp1SmVNNU1FRyVKNU1VS7VL9UzFTZVNpU3FSpVKpUpFTdVM9U3lQbVedUIFX9VBRV81QiVSNVD1URVSdVKlVnVY9VtVVJVW1VQVVVVT9VUFU8VcKQw5DGkMiQyZDLkMyQzZDSkNSQ1ZDWkNiQ2ZDakN6Q35DgkOOQ5JDlkOmQ6pDskO6Q8JDxkPKQ85D1kPaQ95D5kPqQ+5D8kP+QAJEBkQORBZEGkQeRCJEJkQqRC5EMkQ2RDpEPkRCREZESkRORFJEVkRaRF5EYkRqRG5EckR2RH5EgkSGRJJElkSaRJ5EokSmRKpErkSyRLZEukTCRMpEzkTSRNZE2kTeROJE6kTuRPJE9kT6RP5FAkUGRQpFEkTdVVlV1VXZVd1UzVTBVXFWLVdJVg1WxVblViFWBVZ9VflXWVZFVe1XfVb1VvlWUVZlV6lX3VclVH1bRVetV7FXUVeZV3VXEVe9V5VXyVfNVzFXNVehV9VXkVZSPHlYIVgxWAVYkViNW/lUAVidWLVZYVjlWV1YsVk1WYlZZVlxWTFZUVoZWZFZxVmtWe1Z8VoVWk1avVtRW11bdVuFW9VbrVvlW/1YEVwpXCVccVw9eGV4UXhFeMV47XjxeRZFHkUiRUZFTkVSRVZFWkViRWZFbkVyRX5FgkWaRZ5FokWuRbZFzkXqRe5F8kYCRgZGCkYORhJGGkYiRipGOkY+Rk5GUkZWRlpGXkZiRmZGckZ2RnpGfkaCRoZGkkaWRppGnkaiRqZGrkayRsJGxkbKRs5G2kbeRuJG5kbuRvJG9kb6Rv5HAkcGRwpHDkcSRxZHGkciRy5HQkdKR05HUkdWR1pHXkdiR2ZHakduR3ZHekd+R4JHhkeKR45HkkeWRN15EXlReW15eXmFejFx6XI1ckFyWXIhcmFyZXJFcmlycXLVcoly9XKxcq1yxXKNcwVy3XMRc0lzkXMtc5VwCXQNdJ10mXS5dJF0eXQZdG11YXT5dNF09XWxdW11vXV1da11LXUpdaV10XYJdmV2dXXOMt13FXXNfd1+CX4dfiV+MX5VfmV+cX6hfrV+1X7xfYohhX61ysHK0crdyuHLDcsFyznLNctJy6HLvculy8nL0cvdyAXPzcgNz+nLmkeeR6JHpkeqR65Hske2R7pHvkfCR8ZHykfOR9JH1kfaR95H4kfmR+pH7kfyR/ZH+kf+RAJIBkgKSA5IEkgWSBpIHkgiSCZIKkguSDJINkg6SD5IQkhGSEpITkhSSFZIWkheSGJIZkhqSG5Ickh2SHpIfkiCSIZIikiOSJJIlkiaSJ5IokimSKpIrkiySLZIuki+SMJIxkjKSM5I0kjWSNpI3kjiSOZI6kjuSPJI9kj6SP5JAkkGSQpJDkkSSRZL7chdzE3MhcwpzHnMdcxVzInM5cyVzLHM4czFzUHNNc1dzYHNsc29zfnMbgiVZ55gkWQJZY5lnmWiZaZlqmWuZbJl0mXeZfZmAmYSZh5mKmY2ZkJmRmZOZlJmVmYBekV6LXpZepV6gXrletV6+XrNeU43SXtFe217oXupeuoHEX8lf1l/PXwNg7l8EYOFf5F/+XwVgBmDqX+1f+F8ZYDVgJmAbYA9gDWApYCtgCmA/YCFgeGB5YHtgemBCYEaSR5JIkkmSSpJLkkySTZJOkk+SUJJRklKSU5JUklWSVpJXkliSWZJakluSXJJdkl6SX5JgkmGSYpJjkmSSZZJmkmeSaJJpkmqSa5Jskm2SbpJvknCScZJyknOSdZJ2kneSeJJ5knqSe5J8kn2SfpJ/koCSgZKCkoOShJKFkoaSh5KIkomSipKLkoySjZKPkpCSkZKSkpOSlJKVkpaSl5KYkpmSmpKbkpySnZKekp+SoJKhkqKSo5KkkqWSppKnkmpgfWCWYJpgrWCdYINgkmCMYJtg7GC7YLFg3WDYYMZg2mC0YCBhJmEVYSNh9GAAYQ5hK2FKYXVhrGGUYadht2HUYfVh3V+zlumV65XxlfOV9ZX2lfyV/pUDlgSWBpYIlgqWC5YMlg2WD5YSlhWWFpYXlhmWGpYsTj9yFWI1bFRsXGxKbKNshWyQbJRsjGxobGlsdGx2bIZsqWzQbNRsrWz3bPhs8WzXbLJs4GzWbPps62zubLFs02zvbP5sqJKpkqqSq5Kskq2Sr5KwkrGSspKzkrSStZK2kreSuJK5krqSu5K8kr2SvpK/ksCSwZLCksOSxJLFksaSx5LJksqSy5LMks2SzpLPktCS0ZLSktOS1JLVktaS15LYktmS2pLbktyS3ZLekt+S4JLhkuKS45LkkuWS5pLnkuiS6ZLqkuuS7JLtku6S75LwkvGS8pLzkvSS9ZL2kveS+JL5kvqS+5L8kv2S/pL/kgCTAZMCkwOTBJMFkwaTB5MIkwmTOW0nbQxtQ21IbQdtBG0ZbQ5tK21NbS5tNW0abU9tUm1UbTNtkW1vbZ5toG1ebZNtlG1cbWBtfG1jbRpux23Fbd5tDm6/beBtEW7mbd1t2W0WbqttDG6ubStubm5Obmtusm5fboZuU25UbjJuJW5Ebt9usW6YbuBuLW/ibqVup269brtut27XbrRuz26PbsJun25ib0ZvR28kbxVv+W4vbzZvS290bypvCW8pb4lvjW+Mb3hvcm98b3pv0W8KkwuTDJMNkw6TD5MQkxGTEpMTkxSTFZMWkxeTGJMZkxqTG5Mckx2THpMfkyCTIZMikyOTJJMlkyaTJ5MokymTKpMrkyyTLZMuky+TMJMxkzKTM5M0kzWTNpM3kziTOZM6kzuTPJM9kz+TQJNBk0KTQ5NEk0WTRpNHk0iTSZNKk0uTTJNNk06TT5NQk1GTUpNTk1STVZNWk1eTWJNZk1qTW5Nck12TXpNfk2CTYZNik2OTZJNlk2aTZ5Nok2mTa5PJb6dvuW+2b8Jv4W/ub95v4G/vbxpwI3AbcDlwNXBPcF5wgFuEW5Vbk1ulW7hbL3WemjRk5FvuWzCJ8FtHjgeLto/Tj9WP5Y/uj+SP6Y/mj/OP6I8FkASQC5AmkBGQDZAWkCGQNZA2kC2QL5BEkFGQUpBQkGiQWJBikFuQuWZ0kH2QgpCIkIOQi5BQX1dfVl9YXztcq1RQXFlccVtjXGZcvH8qXylfLV90gjxfO5tuXIFZg1mNWalZqlmjWWyTbZNuk2+TcJNxk3KTc5N0k3WTdpN3k3iTeZN6k3uTfJN9k36Tf5OAk4GTgpODk4SThZOGk4eTiJOJk4qTi5OMk42TjpOQk5GTkpOTk5STlZOWk5eTmJOZk5qTm5Ock52TnpOfk6CToZOik6OTpJOlk6aTp5Ook6mTqpOrk6yTrZOuk6+TsJOxk7KTs5O0k7WTtpO3k7iTuZO6k7uTvJO9k76Tv5PAk8GTwpPDk8STxZPGk8eTyJPJk8uTzJPNk5dZylmrWZ5ZpFnSWbJZr1nXWb5ZBVoGWt1ZCFrjWdhZ+VkMWglaMlo0WhFaI1oTWkBaZ1pKWlVaPFpiWnVa7ICqWptad1p6Wr5a61qyWtJa1Fq4WuBa41rxWtZa5lrYWtxaCVsXWxZbMls3W0BbFVwcXFpbZVtzW1FbU1tiW3Wad5p4mnqaf5p9moCagZqFmoiaipqQmpKak5qWmpiam5qcmp2an5qgmqKao5qlmqean36hfqN+pX6ofql+zpPPk9CT0ZPSk9OT1JPVk9eT2JPZk9qT25Pck92T3pPfk+CT4ZPik+OT5JPlk+aT55Pok+mT6pPrk+yT7ZPuk++T8JPxk/KT85P0k/WT9pP3k/iT+ZP6k/uT/JP9k/6T/5MAlAGUApQDlASUBZQGlAeUCJQJlAqUC5QMlA2UDpQPlBCUEZQSlBOUFJQVlBaUF5QYlBmUGpQblByUHZQelB+UIJQhlCKUI5QklCWUJpQnlCiUKZQqlCuULJQtlC6UrX6wfr5+wH7BfsJ+yX7Lfsx+0H7Uftd+237gfuF+6H7rfu5+737xfvJ+DX/2fvp++37+fgF/An8Dfwd/CH8Lfwx/D38RfxJ/F38Zfxx/G38ffyF/In8jfyR/JX8mfyd/Kn8rfyx/LX8vfzB/MX8yfzN/NX96Xn91210+dZWQjnORc65zonOfc89zwnPRc7dzs3PAc8lzyHPlc9lzfJgKdOlz53Pec7pz8nMPdCp0W3QmdCV0KHQwdC50LHQvlDCUMZQylDOUNJQ1lDaUN5Q4lDmUOpQ7lDyUPZQ/lECUQZRClEOURJRFlEaUR5RIlEmUSpRLlEyUTZROlE+UUJRRlFKUU5RUlFWUVpRXlFiUWZRalFuUXJRdlF6UX5RglGGUYpRjlGSUZZRmlGeUaJRplGqUbJRtlG6Ub5RwlHGUcpRzlHSUdZR2lHeUeJR5lHqUe5R8lH2UfpR/lICUgZSClIOUhJSRlJaUmJTHlM+U05TUlNqU5pT7lByVIJUbdBp0QXRcdFd0VXRZdHd0bXR+dJx0jnSAdIF0h3SLdJ50qHSpdJB0p3TSdLp06pfrl+yXTGdTZ15nSGdpZ6Vnh2dqZ3NnmGenZ3VnqGeeZ61ni2d3Z3xn8GcJaNhnCmjpZ7BnDGjZZ7Vn2mezZ91nAGjDZ7hn4mcOaMFn/WcyaDNoYGhhaE5oYmhEaGRog2gdaFVoZmhBaGdoQGg+aEpoSWgpaLVoj2h0aHdok2hraMJobmn8aB9pIGn5aCeVM5U9lUOVSJVLlVWVWpVglW6VdJV1lXeVeJV5lXqVe5V8lX2VfpWAlYGVgpWDlYSVhZWGlYeViJWJlYqVi5WMlY2VjpWPlZCVkZWSlZOVlJWVlZaVl5WYlZmVmpWblZyVnZWelZ+VoJWhlaKVo5WklaWVppWnlaiVqZWqlauVrJWtla6Vr5WwlbGVspWzlbSVtZW2lbeVuJW5lbqVu5W8lb2VvpW/lcCVwZXClcOVxJXFlcaVx5XIlcmVypXLlSRp8GgLaQFpV2njaBBpcWk5aWBpQmldaYRpa2mAaZhpeGk0acxph2mIac5piWlmaWNpeWmbaadpu2mraa1p1GmxacFpymnfaZVp4GmNaf9pL2rtaRdqGGplavJpRGo+aqBqUGpbajVqjmp5aj1qKGpYanxqkWqQaqlql2qrajdzUnOBa4Jrh2uEa5Jrk2uNa5prm2uha6pra49tj3GPco9zj3WPdo94j3ePeY96j3yPfo+Bj4KPhI+Hj4uPzJXNlc6Vz5XQldGV0pXTldSV1ZXWldeV2JXZldqV25Xcld2V3pXfleCV4ZXileOV5JXlleaV55Xslf+VB5YTlhiWG5YeliCWI5YkliWWJpYnliiWKZYrliyWLZYvljCWN5Y4ljmWOpY+lkGWQ5ZKlk6WT5ZRllKWU5ZWlleWWJZZllqWXJZdll6WYJZjlmWWZpZrlm2WbpZvlnCWcZZzlniWeZZ6lnuWfJZ9ln6Wf5aAloGWgpaDloSWh5aJloqWjY+Oj4+PmI+aj86OC2IXYhtiH2IiYiFiJWIkYixi54HvdPR0/3QPdRF1E3U0Ze5l72XwZQpmGWZyZwNmFWYAZoVw92YdZjRmMWY2ZjVmBoBfZlRmQWZPZlZmYWZXZndmhGaMZqdmnWa+Zttm3GbmZulmMo0zjTaNO409jUCNRY1GjUiNSY1HjU2NVY1ZjceJyonLicyJzonPidCJ0Ylucp9yXXJmcm9yfnJ/coRyi3KNco9yknIIYzJjsGOMlo6WkZaSlpOWlZaWlpqWm5adlp6Wn5aglqGWopajlqSWpZamlqiWqZaqlquWrJatlq6Wr5axlrKWtJa1lreWuJa6lruWv5bClsOWyJbKlsuW0JbRltOW1JbWlteW2JbZltqW25bclt2W3pbfluGW4pbjluSW5ZbmlueW65bslu2W7pbwlvGW8pb0lvWW+Jb6lvuW/Jb9lv+WApcDlwWXCpcLlwyXEJcRlxKXFJcVlxeXGJcZlxqXG5cdlx+XIJc/ZNhkBIDqa/Nr/Wv1a/lrBWwHbAZsDWwVbBhsGWwabCFsKWwkbCpsMmw1ZVVla2VNclJyVnIwcmKGFlKfgJyAk4C8gApnvYCxgKuArYC0gLeA54DogOmA6oDbgMKAxIDZgM2A14AQZ92A64DxgPSA7YANgQ6B8oD8gBVnEoFajDaBHoEsgRiBMoFIgUyBU4F0gVmBWoFxgWCBaYF8gX2BbYFngU1YtVqIgYKBkYHVbqOBqoHMgSZnyoG7gSGXIpcjlySXJZcmlyeXKJcplyuXLJculy+XMZczlzSXNZc2lzeXOpc7lzyXPZc/l0CXQZdCl0OXRJdFl0aXR5dIl0mXSpdLl0yXTZdOl0+XUJdRl1SXVZdXl1iXWpdcl12XX5djl2SXZpdnl2iXapdrl2yXbZdul2+XcJdxl3KXdZd3l3iXeZd6l3uXfZd+l3+XgJeBl4KXg5eEl4aXh5eIl4mXipeMl46Xj5eQl5OXlZeWl5eXmZeal5uXnJedl8GBpoEkazdrOWtDa0ZrWWvRmNKY05jVmNmY2piza0BfwmvziZBlUZ+TZbxlxmXEZcNlzGXOZdJl1mWAcJxwlnCdcLtwwHC3cKtwsXDocMpwEHETcRZxL3ExcXNxXHFocUVxcnFKcXhxenGYcbNxtXGocaBx4HHUcedx+XEdcihybHAYcWZxuXE+Yj1iQ2JIYkliO3lAeUZ5SXlbeVx5U3laeWJ5V3lgeW95Z3l6eYV5inmaead5s3nRX9Bfnpefl6GXopekl6WXppenl6iXqZeql6yXrpewl7GXs5e1l7aXt5e4l7mXupe7l7yXvZe+l7+XwJfBl8KXw5fEl8WXxpfHl8iXyZfKl8uXzJfNl86Xz5fQl9GX0pfTl9SX1ZfWl9eX2JfZl9qX25fcl92X3pffl+CX4Zfil+OX5Jfll+iX7pfvl/CX8Zfyl/SX95f4l/mX+pf7l/yX/Zf+l/+XAJgBmAKYA5gEmAWYBpgHmAiYCZgKmAuYDJgNmA6YPGBdYFpgZ2BBYFlgY2CrYAZhDWFdYalhnWHLYdFhBmKAgH+Ak2z2bPxt9nf4dwB4CXgXeBh4EXirZS14HHgdeDl4Ong7eB94PHgleCx4I3gpeE54bXhWeFd4JnhQeEd4THhqeJt4k3iaeId4nHiheKN4sni5eKV41HjZeMl47HjyeAV59HgTeSR5Hnk0eZuf+Z77nvye8XYEdw13+XYHdwh3Gncidxl3LXcmdzV3OHdQd1F3R3dDd1p3aHcPmBCYEZgSmBOYFJgVmBaYF5gYmBmYGpgbmByYHZgemB+YIJghmCKYI5gkmCWYJpgnmCiYKZgqmCuYLJgtmC6YL5gwmDGYMpgzmDSYNZg2mDeYOJg5mDqYO5g8mD2YPpg/mECYQZhCmEOYRJhFmEaYR5hImEmYSphLmEyYTZhOmE+YUJhRmFKYU5hUmFWYVphXmFiYWZhamFuYXJhdmF6YX5hgmGGYYphjmGSYZZhmmGeYaJhpmGqYa5hsmG2Ybphid2V3f3eNd313gHeMd5F3n3egd7B3tXe9dzp1QHVOdUt1SHVbdXJ1eXWDdVh/YX9ff0iKaH90f3F/eX+Bf35/zXbldjKIhZSGlIeUi5SKlIyUjZSPlJCUlJSXlJWUmpSblJyUo5SklKuUqpStlKyUr5SwlLKUtJS2lLeUuJS5lLqUvJS9lL+UxJTIlMmUypTLlMyUzZTOlNCU0ZTSlNWU1pTXlNmU2JTblN6U35TglOKU5JTllOeU6JTqlG+YcJhxmHKYc5h0mIuYjpiSmJWYmZijmKiYqZiqmKuYrJitmK6Yr5iwmLGYspizmLSYtZi2mLeYuJi5mLqYu5i8mL2Yvpi/mMCYwZjCmMOYxJjFmMaYx5jImMmYypjLmMyYzZjPmNCY1JjWmNeY25jcmN2Y4JjhmOKY45jkmOWY5pjpmOqY65jsmO2Y7pjvmPCY8ZjymPOY9Jj1mPaY95j4mPmY+pj7mPyY/Zj+mP+YAJkBmQKZA5kEmQWZBpkHmemU65TulO+U85T0lPWU95T5lPyU/ZT/lAOVApUGlQeVCZUKlQ2VDpUPlRKVE5UUlRWVFpUYlRuVHZUelR+VIpUqlSuVKZUslTGVMpU0lTaVN5U4lTyVPpU/lUKVNZVElUWVRpVJlUyVTpVPlVKVU5VUlVaVV5VYlVmVW5VelV+VXZVhlWKVZJVllWaVZ5VolWmVapVrlWyVb5VxlXKVc5U6led37HfJltV57Xnjeet5BnpHXQN6AnoeehR6CJkJmQqZC5kMmQ6ZD5kRmRKZE5kUmRWZFpkXmRiZGZkamRuZHJkdmR6ZH5kgmSGZIpkjmSSZJZkmmSeZKJkpmSqZK5ksmS2ZL5kwmTGZMpkzmTSZNZk2mTeZOJk5mTqZO5k8mT2ZPpk/mUCZQZlCmUOZRJlFmUaZR5lImUmZSplLmUyZTZlOmU+ZUJlRmVKZU5lWmVeZWJlZmVqZW5lcmV2ZXplfmWCZYZlimWSZZplzmXiZeZl7mX6ZgpmDmYmZOXo3elF6z56lmXB6iHaOdpN2mXakdt504HQsdSCeIp4onimeKp4rniyeMp4xnjaeOJ43njmeOp4+nkGeQp5EnkaeR55InkmeS55Mnk6eUZ5VnleeWp5bnlyeXp5jnmaeZ55onmmeap5rnmyecZ5tnnOeknWUdZZ1oHWddax1o3WzdbR1uHXEdbF1sHXDdcJ11nXNdeN16HXmdeR163XndQN28XX8df91EHYAdgV2DHYXdgp2JXYYdhV2GXaMmY6ZmpmbmZyZnZmemZ+ZoJmhmaKZo5mkmaaZp5mpmaqZq5msma2ZrpmvmbCZsZmymbOZtJm1mbaZt5m4mbmZupm7mbyZvZm+mb+ZwJnBmcKZw5nEmcWZxpnHmciZyZnKmcuZzJnNmc6Zz5nQmdGZ0pnTmdSZ1ZnWmdeZ2JnZmdqZ25ncmd2Z3pnfmeCZ4ZnimeOZ5JnlmeaZ55nomemZ6pnrmeyZ7Znume+Z8JnxmfKZ85n0mfWZ9pn3mfiZ+Zkbdjx2InYgdkB2LXYwdj92NXZDdj52M3ZNdl52VHZcdlZ2a3Zvdsp/5np4enl6gHqGeoh6lXqmeqB6rHqoeq16s3pkiGmIcoh9iH+IgoiiiMaIt4i8iMmI4ojOiOOI5YjxiBqJ/IjoiP6I8IghiRmJE4kbiQqJNIkriTaJQYlmiXuJi3XlgLJ2tHbcdxKAFIAWgByAIIAigCWAJoAngCmAKIAxgAuANYBDgEaATYBSgGmAcYCDiXiYgJiDmPqZ+5n8mf2Z/pn/mQCaAZoCmgOaBJoFmgaaB5oImgmaCpoLmgyaDZoOmg+aEJoRmhKaE5oUmhWaFpoXmhiaGZoamhuaHJodmh6aH5ogmiGaIpojmiSaJZommieaKJopmiqaK5osmi2aLpovmjCaMZoymjOaNJo1mjaaN5o4mjmaOpo7mjyaPZo+mj+aQJpBmkKaQ5pEmkWaRppHmkiaSZpKmkuaTJpNmk6aT5pQmlGaUppTmlSaVZpWmleaWJpZmomYjJiNmI+YlJiamJuYnpifmKGYopilmKaYTYZUhmyGboZ/hnqGfIZ7hqiGjYaLhqyGnYanhqOGqoaThqmGtobEhrWGzoawhrqGsYavhsmGz4a0humG8Ybyhu2G84bQhhOH3ob0ht+G2IbRhgOHB4f4hgiHCocNhwmHI4c7hx6HJYcuhxqHPodIhzSHMYcphzeHP4eChyKHfYd+h3uHYIdwh0yHboeLh1OHY4d8h2SHWYdlh5OHr4eoh9KHWppbmlyaXZpeml+aYJphmmKaY5pkmmWaZppnmmiaaZpqmmuacpqDmomajZqOmpSalZqZmqaaqZqqmquarJqtmq6ar5qymrOatJq1mrmau5q9mr6av5rDmsSaxprHmsiayZrKms2azprPmtCa0prUmtWa1prXmtma2prbmtya3ZremuCa4prjmuSa5Zrnmuia6Zrqmuya7prwmvGa8przmvSa9Zr2mvea+Jr6mvya/Zr+mv+aAJsBmwKbBJsFmwabxoeIh4WHrYeXh4OHq4flh6yHtYezh8uH04e9h9GHwIfKh9uH6ofgh+6HFogTiP6HCogbiCGIOYg8iDZ/Qn9Ef0V/EIL6ev16CHsDewR7FXsKeyt7D3tHezh7KnsZey57MXsgeyV7JHszez57HntYe1p7RXt1e0x7XXtge257e3tie3J7cXuQe6Z7p3u4e6x7nXuoe4V7qnuce6J7q3u0e9F7wXvMe9172nvle+Z76nsMfP57/HsPfBZ8C3wHmwmbCpsLmwybDZsOmxCbEZsSmxSbFZsWmxebGJsZmxqbG5scmx2bHpsgmyGbIpskmyWbJpsnmyibKZsqmyubLJstmy6bMJsxmzObNJs1mzabN5s4mzmbOps9mz6bP5tAm0abSptLm0ybTptQm1KbU5tVm1abV5tYm1mbWptbm1ybXZtem1+bYJthm2KbY5tkm2WbZptnm2ibaZtqm2ubbJttm26bb5twm3Gbcptzm3SbdZt2m3ebeJt5m3qbe5sffCp8Jnw4fEF8QHz+gQGCAoIEguyBRIghgiKCI4Itgi+CKIIrgjiCO4IzgjSCPoJEgkmCS4JPglqCX4Jogn6IhYiIiNiI34heiZ1/n3+nf69/sH+yf3x8SWWRfJ18nHyefKJ8sny8fL18wXzHfMx8zXzIfMV813zofG6CqGa/f85/1X/lf+F/5n/pf+5/83/4fHd9pn2ufUd+m364nrSec42EjZSNkY2xjWeNbY1HjEmMSpFQkU6RT5FkkXybfZt+m3+bgJuBm4Kbg5uEm4WbhpuHm4ibiZuKm4ubjJuNm46bj5uQm5GbkpuTm5SblZuWm5ebmJuZm5qbm5ucm52bnpufm6CboZuim6ObpJulm6abp5uom6mbqpurm6ybrZuum6+bsJuxm7Kbs5u0m7Wbtpu3m7ibuZu6m7ubvJu9m76bv5vAm8GbwpvDm8SbxZvGm8ebyJvJm8qby5vMm82bzpvPm9Cb0ZvSm9Ob1JvVm9ab15vYm9mb2pvbm2KRYZFwkWmRb5F9kX6RcpF0kXmRjJGFkZCRjZGRkaKRo5Gqka2RrpGvkbWRtJG6kVWMfp64jeuNBY5ZjmmOtY2/jbyNuo3EjdaN143ajd6Nzo3PjduNxo3sjfeN+I3jjfmN+43kjQmO/Y0Ujh2OH44sji6OI44vjjqOQI45jjWOPY4xjkmOQY5CjlGOUo5KjnCOdo58jm+OdI6Fjo+OlI6QjpyOno54jIKMioyFjJiMlIybZdaJ3onaidyJ3Jvdm96b35vgm+Gb4pvjm+Sb5Zvmm+eb6Jvpm+qb65vsm+2b7pvvm/Cb8Zvym/Ob9Jv1m/ab95v4m/mb+pv7m/yb/Zv+m/+bAJwBnAKcA5wEnAWcBpwHnAicCZwKnAucDJwNnA6cD5wQnBGcEpwTnBScFZwWnBecGJwZnBqcG5wcnB2cHpwfnCCcIZwinCOcJJwlnCacJ5wonCmcKpwrnCycLZwunC+cMJwxnDKcM5w0nDWcNpw3nDicOZw6nDuc5Ynrie+JPoomi1OX6Zbzlu+WBpcBlwiXD5cOlyqXLZcwlz6XgJ+Dn4Wfhp+Hn4ifiZ+Kn4yf/p4Lnw2fuZa8lr2WzpbSlr934JaOkq6SyJI+k2qTypOPkz6Ua5R/nIKchZyGnIeciJwjeoucjpyQnJGckpyUnJWcmpybnJ6cn5ygnKGcopyjnKWcppynnKicqZyrnK2crpywnLGcspyznLSctZy2nLecupy7nLycvZzEnMWcxpzHnMqcy5w8nD2cPpw/nECcQZxCnEOcRJxFnEacR5xInEmcSpxLnEycTZxOnE+cUJxRnFKcU5xUnFWcVpxXnFicWZxanFucXJxdnF6cX5xgnGGcYpxjnGScZZxmnGecaJxpnGqca5xsnG2cbpxvnHCccZxynHOcdJx1nHacd5x4nHmcepx7nH2cfpyAnIOchJyJnIqcjJyPnJOclpyXnJicmZydnKqcrJyvnLmcvpy/nMCcwZzCnMicyZzRnNKc2pzbnOCc4ZzMnM2czpzPnNCc05zUnNWc15zYnNmc3JzdnN+c4px8l4WXkZeSl5SXr5erl6OXspe0l7GasJq3mlietpq6mryawZrAmsWawprLmsya0ZpFm0ObR5tJm0ibTZtRm+iYDZkumVWZVJnfmuGa5prvmuua+5rtmvmaCJsPmxObH5sjm72evp47foKeh56Inouekp7Wk52en57bntye3Z7gnt+e4p7pnuee5Z7qnu+eIp8sny+fOZ83nz2fPp9En+Oc5JzlnOac55zonOmc6pzrnOyc7ZzunO+c8JzxnPKc85z0nPWc9pz3nPic+Zz6nPuc/Jz9nP6c/5wAnQGdAp0DnQSdBZ0GnQedCJ0JnQqdC50MnQ2dDp0PnRCdEZ0SnROdFJ0VnRadF50YnRmdGp0bnRydHZ0enR+dIJ0hnSKdI50knSWdJp0nnSidKZ0qnSudLJ0tnS6dL50wnTGdMp0znTSdNZ02nTedOJ05nTqdO508nT2dPp0/nUCdQZ1CnTTiNeI24jfiOOI54jriO+I84j3iPuI/4kDiQeJC4kPiROJF4kbiR+JI4kniSuJL4kziTeJO4k/iUOJR4lLiU+JU4lXiVuJX4ljiWeJa4lviXOJd4l7iX+Jg4mHiYuJj4mTiZeJm4mfiaOJp4mria+Js4m3ibuJv4nDiceJy4nPidOJ14nbid+J44nnieuJ74nzifeJ+4n/igOKB4oLig+KE4oXihuKH4ojiieKK4ovijOKN4o7ij+KQ4pHiQ51EnUWdRp1HnUidSZ1KnUudTJ1NnU6dT51QnVGdUp1TnVSdVZ1WnVedWJ1ZnVqdW51cnV2dXp1fnWCdYZ1inWOdZJ1lnWadZ51onWmdap1rnWydbZ1unW+dcJ1xnXKdc510nXWddp13nXideZ16nXudfJ19nX6df52AnYGdgp2DnYSdhZ2GnYediJ2JnYqdi52MnY2djp2PnZCdkZ2SnZOdlJ2VnZadl52YnZmdmp2bnZydnZ2enZ+doJ2hnaKdkuKT4pTileKW4pfimOKZ4prim+Kc4p3inuKf4qDioeKi4qPipOKl4qbip+Ko4qniquKr4qzireKu4q/isOKx4rLis+K04rXituK34rjiueK64rvivOK94r7iv+LA4sHiwuLD4sTixeLG4sfiyOLJ4sriy+LM4s3izuLP4tDi0eLS4tPi1OLV4tbi1+LY4tni2uLb4tzi3eLe4t/i4OLh4uLi4+Lk4uXi5uLn4uji6eLq4uvi7OLt4u7i7+KjnaSdpZ2mnaedqJ2pnaqdq52sna2drp2vnbCdsZ2ynbOdtJ21nbadt524nbmdup27nbydvZ2+nb+dwJ3BncKdw53EncWdxp3HncidyZ3KncudzJ3Nnc6dz53QndGd0p3TndSd1Z3Wnded2J3Zndqd253cnd2d3p3fneCd4Z3ineOd5J3lnead553onemd6p3rneyd7Z3une+d8J3xnfKd8530nfWd9p33nfid+Z36nfud/J39nf6d/50AngGeAp7w4vHi8uLz4vTi9eL24vfi+OL54vri++L84v3i/uL/4gDjAeMC4wPjBOMF4wbjB+MI4wnjCuML4wzjDeMO4w/jEOMR4xLjE+MU4xXjFuMX4xjjGeMa4xvjHOMd4x7jH+Mg4yHjIuMj4yTjJeMm4yfjKOMp4yrjK+Ms4y3jLuMv4zDjMeMy4zPjNOM14zbjN+M44znjOuM74zzjPeM+4z/jQONB40LjQ+NE40XjRuNH40jjSeNK40vjTONN4wOeBJ4FngaeB54IngmeCp4LngyeDZ4Ong+eEJ4RnhKeE54UnhWeFp4XnhieGZ4anhueHJ4dnh6eJJ4nni6eMJ40njuePJ5Ank2eUJ5SnlOeVJ5WnlmeXZ5fnmCeYZ5inmWebp5vnnKedJ51nnaed554nnmeep57nnyefZ6AnoGeg56EnoWehp6JnoqejJ6Nno6ej56QnpGelJ6Vnpael56Ynpmemp6bnpyenp6gnqGeop6jnqSepZ6nnqieqZ6qnk7jT+NQ41HjUuNT41TjVeNW41fjWONZ41rjW+Nc413jXuNf42DjYeNi42PjZONl42bjZ+No42njauNr42zjbeNu42/jcONx43Ljc+N043XjduN343jjeeN643vjfON9437jf+OA44HjguOD44TjheOG44fjiOOJ44rji+OM443jjuOP45DjkeOS45PjlOOV45bjl+OY45njmuOb45zjneOe45/joOOh46Ljo+Ok46XjpuOn46jjqeOq46vjq56snq2erp6vnrCesZ6ynrOetZ62nreeuZ66nryev57AnsGewp7DnsWexp7Hnsieyp7Lnsye0J7SntOe1Z7Wntee2Z7ant6e4Z7jnuSe5p7onuue7J7tnu6e8J7xnvKe8570nvWe9p73nvie+p79nv+eAJ8BnwKfA58EnwWfBp8HnwifCZ8KnwyfD58RnxKfFJ8VnxafGJ8anxufHJ8dnx6fH58hnyOfJJ8lnyafJ58onymfKp8rny2fLp8wnzGfrOOt467jr+Ow47HjsuOz47TjteO247fjuOO547rju+O8473jvuO/48DjwePC48PjxOPF48bjx+PI48njyuPL48zjzePO48/j0OPR49Lj0+PU49Xj1uPX49jj2ePa49vj3OPd497j3+Pg4+Hj4uPj4+Tj5ePm4+fj6OPp4+rj6+Ps4+3j7uPv4/Dj8ePy4/Pj9OP14/bj9+P44/nj+uP74/zj/eP+4//jAOQB5ALkA+QE5AXkBuQH5AjkCeQynzOfNJ81nzafOJ86nzyfP59An0GfQp9D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HJhshiqmAUYRbeXLxMCSECEWEp1y9GkOFyqigfR7AAikC5AQLMw5SgHwFgsKQAwd6gxEDkUCAAgEBAgEBAgCBADDisyEw4rMjMOqzITDqsyMAEGCjAQLoAoBAKAApwCoAKkArwCwALIAtwC4AMYA1wDYAOYA9wD4AKIAowClAMQAxQDGAMcAyQDWANcA2ADcAOAA4gDkAOUA5gDnAOgA6QDqAOsA7ADuAO8A8gD0APYA+AD5APsA/AD/AAABAQECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErAS4BLwEwATEBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AUEBQgFDAUQBRQFGAUcBSAFKAUsBTAFNAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAXQBdQF2AXcBeAF5AXoBewF8AX0BfgGSAaABoQGvAbABGAIZAhoCGwLGAscC2ALZAtsC3ALdAgADAQMDAwkDIwN6A4QDhQOGA4gDiQOKA4wDjgOPA5ADkQOSA5MDlAOVA5YDlwOYA5kDmgObA5wDnQOeA58DoAOhA6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA8oDywPMA80DzgMBBAIEAwQEBAUEBgQHBAgECQQKBAsEDAQOBA8EEAQRBBIEEwQUBBUEFgQXBBgEGQQaBBsEHAQdBB4EHwQgBCEEIgQjBCQEJQQmBCcEKAQpBCoEKwQsBC0ELgQvBDAEMQQyBDMENAQ1BDYENwQ4BDkEOgQ7BDwEPQQ+BD8EQARBBEIEQwREBEUERgRHBEgESQRKBEsETARNBE4ETwRRBFIEUwRUBFUEVgRXBFgEWQRaBFsEXAReBF8EkASRBLAFsQWyBbMFtAW1BbYFtwW4BbkFuwW8Bb0FvgW/BcAFwQXCBcMF0AXRBdIF0wXUBdUF1gXXBdgF2QXaBdsF3AXdBd4F3wXgBeEF4gXjBeQF5QXmBecF6AXpBeoF8AXxBfIF8wX0BQwGGwYf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AotVkHqQO1OVTqVO31eygMGQ73gATvFYom44kDJ6KIOLgi+cQVFwU71U4VTgVvtZFV/ymOtt5IAthWKWcJaglvuXC1TzU4dbz3C9f8KP6JZvU1ydunoRTpN4/IEmbhhWBFUdaxqFO5zlWalTZm3cdI+VQlaRTkuQ8pZPgwyZ4VO2VTBbcV8gZvNmBGg4bPNsKW1bdMh2Tno0mPGCW4hgiu2Ssm2rdcp2xZmmYAGLio2ylY5prVOGURJXMFhEWbRb9l4oYKlj9GO/bBRvjnAUcVlx1XE/cwF+doLRgpeFYJBbkhudaVi8ZVpsJXX5US5ZZVmAX9xfvGL6ZSpqJ2u0a4tzwX9WiSydDp3EnqFclmx7gwRRS1y2YcaBdmhhcllO+k94U2lgKW5PevOXC04WU+5OVU89T6FPc0+gUu9TCVYPWcFatlvhW9F5h2acZ7ZnTGuzbGtwwnONeb55PHqHe7GC24IEg3eD74PTg2aHsoopVqiM5o9OkB6XiobET+hcEWJZcjt15YG9gv6GwIzFlhOZ1ZnLThpP44neVkpYylj7XutfKmCUYGJg0GESYtBiOWVBm2ZmsGh3bXBwTHWGdnV9pYL5h4uVjpadjPFRvlIWWbNUs1sWXWhhgmmvbY14y4RXiHKKp5O4mmxtqJnZhqNX/2fOhg6Sg1KHVgRU017hYrlkPGg4aLtrcnO6eGt6monSiWuNA4/tkKOVlJZpl2Zbs1x9aU2YTpibYyB7K2p/arZoDZxfb3JSnVVwYOxiO20HbtFuW4QQiUSPFE45nPZTG2k6aoSXKmhcUcN6soTckYyTW1YonSJoBYMxhKV8CFLFguZ0fk6DT6BR0lsKUthS51L7XZpVKljmWYxbmFvbW3JeeV6jYB9hY2G+YdtjYmXRZ1No+mg+a1NrV2wib5dvRW+wdBh143YLd/96oXshfOl9Nn/wf52AZoKeg7OJzIqrjISQUZSTlZGVopVlltOXKJkYgjhOK1S4XMxdqXNMdjx3qVzrfwuNwZYRmFSYWJgBTw5PcVOcVWhW+ldHWQlbxFuQXAxefl7MX+5jOmfXZeJlH2fLaMRoX2owXsVrF2x9bH91SHljWwB6AH29X4+JGIq0jHeNzI4dj+KYDpo8m4BOfVAAUZNZnFsvYoBi7GQ6a6BykXVHeal/+4e8inCLrGPKg6CXCVQDVKtVVGhYanCKJ3h1Z82edFOiWxqBUIYGkBhORU7HThFPylM4VK5bE18lYFFlPWdCbHJs42x4cAN0dnquegh7Gn3+fGZ952VbcrtTRVzoXdJi4GIZYyBuWoYxit2N+JIBb6Z5WpuoTqtOrE6bT6BP0VBHUfZ6cVH2UVRTIVN/U+tTrFWDWOFcN19KXy9gUGBtYB9jWWVLasFswnLtcu93+IAFgQiCToX3kOGT/5dXmVqa8E7dUS1cgWZtaUBc8mZ1aYlzUGiBfMVQ5FJHV/5dJpOkZSNrPWs0dIF5vXlLe8p9uYLMg3+IX4k5i9GP0ZEfVICSXU42UOVTOlPXcpZz6Xfmgq+OxpnImdKZd1EaYV6GsFV6enZQ01tHkIWWMk7baueRUVxIXJhjn3qTbHSXYY+qeopxiJaCfBdocH5RaGyT8lIbVKuFE4qkf82O4ZBmU4iIQXnCT75QEVJEUVNVLVfqc4tXUVliX4RfdWB2YWdhqWGyYzpkbGVvZkJoE25mdT16+3xMfZl9S35rfw6DSoPNhgiKY4pmi/2OGpiPnbiCzo/om4dSH2KDZMBvmZZBaJFQIGt6bFRvdHpQfUCII4oIZ/ZOOVAmUGVQfFE4UmNSp1UPVwVYzFr6XrJh+GHzYnJjHGkpan1yrHIucxR4b3h5fQx3qYCLiRmL4ozSjmOQdZN6llWYE5p4nkNRn1OzU3teJl8bbpBuhHP+c0N9N4IAivqKUJZOTgtQ5FN8VPpW0VlkW/Fdq14nXzhiRWWvZ1Zu0HLKfLSIoYDhgPCDToaHiuiNN5LHlmeYE5+UTpJODU9IU0lUPlQvWoxfoV+fYKdojmpadIF4noqkineLkJFeTsmbpE58T69PGVAWUElRbFGfUrlS/lKaU+NTEVQOVIlVUVeiV31ZVFtdW49b5V3nXfddeF6DXppet14YX1JgTGGXYthip2M7ZQJmQ2b0Zm1nIWiXaMtpX2wqbWltL26dbjJ1h3ZseD964HwFfRh9Xn2xfRWAA4CvgLGAVIGPgSqCUoNMiGGIG4uijPyMypB1kXGSP3j8kqSVTZYFmJmZ2Jo7nVtSq1L3UwhU1Vj3YuBvaoxfj7meS1E7UkpU/VZAeneRYJ3SnkRzCW9wgRF1/V/aYKia23K8j2RrA5jKTvBWZFe+WFpaaGDHYQ9mBmY5aLFo923VdTp9boJCm5tOUE/JUwZVb13mXe5d+2eZbHN0AnhQipaT34hQV6deK2O1UKxQjVEAZ8lUXli7WbBbaV9NYqFjPWhzawhufXDHkYByFXgmeG15jmUwfdyDwYgJj5uWZFIoV1Bnan+hjLRRQlcqljpYimm0gLJUDl38V5V4+p1cT0pSi1Q+ZChmFGf1Z4R6VnsifS+TXGitmzl7GVOKUTdS31v2Yq5k5mQtZ7prqYXRlpB21ptMYwaTq5u/dlJmCU6YUMJTcVzoYJJkY2VfaOZxynMjdZd7gn6VhoOL24x4kRCZrGWrZotr1U7UTjpPf086UvhT8lPjVdtW61jLWclZ/1lQW01cAl4rXtdfHWAHYy9lXFuvZb1l6GWdZ2Jre2sPbEVzSXnBefh8GX0rfaKAAoHzgZaJXoppimaKjIruiseM3IzMlvyYb2uLTjxPjU9QUVdb+ltIYQFjQmYha8tuu2w+cr101HXBeDp5DIAzgOqBlISej1Bsf54PX1iLK536eviOjVvrlgNO8VP3VzFZyVqkW4lgf24Gb7516oyfWwCF4HtyUPRnnYJhXEqFHn4OgplRBFxoY2aNnGVucT55F30FgB2Lyo5ukMeGqpAfUPpSOlxTZ3xwNXJMkciRK5PlgsJbMV/5YDtO1lOIW0tiMWeKa+ly4HMuemuBo41SkZaZElHXU2pU/1uIYzlqrH0Al9pWzlNoVJdbMVzeXe5PAWH+YjJtwHnLeUJ9TX7Sf+2BH4KQhEaIcomQi3SOL48xkEuRbJHGlpyRwE5PT0VRQVOTXw5i1GdBbAtuY3Mmfs2Rg5LUUxlZv1vRbV15Ln6bfH5Yn3H6UVOI8I/KT/tcJWasd+N6HIL/mcZRql/sZW9piWvzbZZuZG/+dhR94V11kIeRBpjmUR1SQGKRZtlmGm62XtJ9cn/4Zq+F94X4iqlS2VNzWY9ekF9VYOSSZJa3UB9R3VIgU0dT7FPoVEZVMVUXVmhZvlk8WrVbBlwPXBFcGlyEXope4F5wX39ihGLbYoxjd2MHZgxmLWZ2Zn5nomgfajVqvGyIbQluWG48cSZxZ3HHdQF3XXgBeWV58HngehF7p3w5fZaA1oOLhEmFXYjziB+KPIpUinOKYYzejKSRZpJ+kxiUnJaYlwpOCE4eTldOl1FwUs5XNFjMWCJbOF7FYP5kYWdWZ0RttnJzdWN6uIRyi7iRIJMxVvRX/pjtYg1plmvtcVR+d4ByguaJ35hVh7GPO1w4T+FPtU8HVSBa3VvpW8NfTmEvY7BlS2buaJtpeG3xbTN1uXUfd1555nkzfeOBr4KqhaqJOoqrjpuPMpDdkQeXuk7BTgNSdVjsWAtcGnU9XE6BCorFj2OWbZcle8+KCJhikfNWqFMXkDlUglclXqhjNGyKcGF3i3zgf3CIQpBUkRCTGJOPll50xJoHXWldcGWiZ6iN25ZuY0lnGWnFgxeYwJb+iIRvemT4WxZOLHBddS9mxFE2UuJS01mBXydgEGI/ZXRlH2Z0ZvJoFmhjawVucnIfddt2vnxWgPBY/Yh/iaCKk4rLih2QkpFSl1mXiWUOegaBu5YtXtxgGmKlZRRmkGfzd016TXw+fgqBrIxkjeGNX46peAdS2WKlY0JkmGItioN6wHusiuqWdn0MgkmH2U5IUUNTYFOjWwJcFlzdXSZiR2KwZBNoNGjJbEVtF23TZ1xvTnF9cctlf3qte9p9Sn6of3qBG4I5gqaFborOjPWNeJB3kK2SkZKDla6bTVKEVThvNnFoUYV5VX6zgc58TFZRWKhcqmP+Zv1mWmnZco91jnUOeVZ533mXfCB9RH0HhjSKO5ZhkCCf51B1UsxT4lMJUKpV7lhPWT1yi1tkXB1T42DzYFxjg2M/Y7tjzWTpZflm413Naf1pFW/lcYlO6XX4dpN633zPfZx9YYBJg1iDbIS8hPuFxYhwjQGQbZCXkxyXEprPUJdYjmHTgTWFCI0gkMNPdFBHUnNTb2BJY19nLG6zjR+Q109eXMqMz2WafVJTloh2UcNjWFtrWwpcDWRRZ1yQ1k4aWSpZcGxRij5VFVilWfBgU2LBZzWCVWlAlsSZKJpTTwZY/lsQgLFcL16FXyBgS2E0Yv9m8Gzebs6Af4HUgouIuIwAkC6Qipbbntub407wUydZLHuNkUyY+Z3dbidwU1NEVYVbWGKeYtNiomzvbyJ0F4o4lMFv/oo4g+dR+IbqU+lTRk9UkLCPalkxgf1d6nq/j9poN4z4ckicPWqwijlOWFMGVmZXxWKiY+ZlTmvhbVturXDtd+96qnu7fT2AxoDLhpWKW5PjVsdYPl+tZZZmgGq1azd1x4okUOV3MFcbX2VgemZgbPR1Gnpuf/SBGIdFkLOZyXtcdfl6UXvEhBCQ6XmSejaD4VpAdy1O8k6ZW+BfvWI8ZvFn6GxrhneIO4pOkfOS0JkXaiZwKnPngleEr4wBTkZRy1GLVfVbFl4zXoFeFF81X2tftF/yYRFjomYdZ25vUnI6dTp3dIA5gXiBdoe/ityKhY3zjZqSd5UCmOWcxVJXY/R2FWeIbM1zw4yuk3OWJW2cWA5pzGn9j5qT23UakFpYAmi0Y/tpQ08sb9hnu48mhbR9VJM/aXBvalf3WCxbLH0qcgpU45G0na1OTk9cUHVQQ1KejEhUJFiaWx1elV6tXvdeH1+MYLViOmPQY69oQGyHeI55C3rgfUeCAormikSOE5C4kC2R2JEOn+VsWGTiZHVl9G6Edht7aZDRk7pu8lS5X6RkTY/tj0SSeFFrWClZVVyXXvttj34cdbyM4o5bmLlwHU+/a7FvMHX7lk5REFQ1WFdYrFlgXJJfl2VcZyFue3bfg+2MFJD9kE2TJXg6eKpSpl4fV3RZEmASUFpRrFHNUQBSEFVUWFhYV1mVW/Zci128YJViLWRxZ0NovGjfaNd22G1vbpttb3DIcVNf2HV3eUl7VHtSe9Z8cX0wUmOEaYXkhQ6KBItGjA+OA5APkBmUdpYtmDCa2JXNUNVSDFQCWA5cp2GeZB5ts3flevSABIRTkIWS4FwHnT9Tl1+zX5xteXJjd7955HvSa+xyrYoDaGFq+FGBejRpSlz2nOuCxVtJkR5weFZvXMdgZmWMbFqMQZATmFFUx2YNkkhZo5CFUU1O6lGZhQ6LWHB6Y0uTYmm0mQR+d3VXU2Bp347jll1sjE48XBBf6Y8CU9GMiYB5hv9e5WVzTmVRglk/XO6X+06KWc1fjYrhb7B5YnnnW3GEK3OxcXRe9V97Y5pkw3GYfENO/F5LTtxXolapYMNvDX39gDOBv4Gyj5eJpIb0XYpirWSHiXdn4mw+bTZ0NHhGWnV/rYKsmfNPw17dYpJjV2VvZ8N2THLMgLqAKY9NkQ1Q+VeSWoVoc2lkcf1yt4zyWOCMapYZkH+H5HnndymEL09lUlpTzWLPZ8psfXaUe5V8NoKEheuP3WYgbwZyG36rg8GZpp79UbF7cni4e4eASHvoamFejIBRdWB1a1FikoxuenaXkeqaEE9wf5xiT3ullemcelZZWOSGvJY0TyRSSlPNU9tTBl4sZJFlf2c+bE5sSHKvcu1zVHVBfiyC6YWpjMR7xpFpcRKY75g9Y2lmanXkdtB4Q4XuhipTUVMmVINZh158X7JgSWJ5YqtikGXUa8xssnWudpF42HnLfXd/pYCriLmKu4x/kF6X25gLajh8mVA+XK5fh2fYazV0CXeOfzufymcXejlTi3XtmmZfnYHxg5iAPF/FX2J1Rns8kGdo61mbWhB9fnYsi/VPal8ZajdsAm/idGh5aIhVinmM317PY8V10nnXgiiT8pKchO2GLZzBVGxfjGVcbRVwp4zTjDuYT2X2dA1O2E7gVytZZlrMW6hRA16cXhZgdmJ3ZadlbmZubTZyJntQgZqBmYJci6CM5ox0jRyWRJauT6tkZmsegmGEaoXokAFcU2momHqEV4UPT29SqV9FXg1nj3l5gQeJhon1bRdfVWK4bM9OaXKSmwZSO1R0VrNYpGFuYhpxblmJfN58G33wlodlXoAZTnVPdVFAWGNec14KX8RnJk49hYmVW5ZzfAGY+1DBWFZ2p3glUqV3EYWGe09QCVlHcsd76H26j9SPTZC/T8lSKVoBX62X3U8XguqSA1dVY2lrK3XciBSPQnrfUpNYVWEKYq5mzWs/fOmDI1D4TwVTRlQxWElZnVvwXO9cKV2WXrFiZ2M+ZbllC2fVbOFs+XAyeCt+3oCzggyE7IQChxKJKopKjKaQ0pL9mPOcbJ1PTqFOjVBWUkpXqFk9Xthf2V8/YrRmG2fQZ9JoklEhfaqAqIEAi4yMv4x+kjKWIFQsmBdT1VBcU6hYsmQ0Z2dyZndGeuaRw1KhbIZrAFhMXlRZLGf7f+FRxnZpZOh4VJu7nstXuVknZppnzmvpVNlpVV6cgZVnqpv+Z1KcXWimTuNPyFO5Yitnq2zEj61PbX6/ngdOYmGAbitvE4VzVCpnRZvzXZV7rFzGWxyHSm7RhBR6CIGZWY18EWwgd9lSIlkhcV9y23cnl2GdC2l/WhhapVENVH1UDmbfdvePmJL0nOpZXXLFbk1RyWi/fex9Ype6nnhkIWoCg4RZX1vbaxtz8nayfReAmYQyUShn2Z7udmJn/1IFmSRcO2J+fLCMT1W2YAt9gJUBU19OtlEcWTpyNoDOkSVf4neEU3lfBH2shTOKjY5Wl/NnroVTlAlhCGG5bFJ27Yo4jy9VUU8qUcdSy1OlW31eoGCCYdZjCWfaZ2dujG02czdzMXVQedWImIpKkJGQ9ZDElo2HFVmITllPDk6Jij+PEJitUHxellm5W7he2mP6Y8Fk3GZKadhpC222bpRxKHWveop/AIBJhMmEgYkhiwqOZZB9lgqZfmGRYjJrg2x0bcx//H/AbYV/uof4iGVnsYM8mPeWG21hfT2EapFxTnVTUF0Ea+tvzYUthqeJKVIPVGVcTmeoaAZ0g3Tidc+I4YjMkeKWeJaLX4dzy3pOhKBjZXWJUkFtnG4JdFl1a3iSfIaW3HqNn7ZPbmHFZVyGhk6uTtpQIU7MUe5bmWWBaLxtH3NCdq13HHrnfG+C0op8kM+RdZYYmJtS0X0rUJhTl2fLbdBxM3TogSqPo5ZXnJ+eYHRBWJltL31emORONk+LT7dRsVK6XRxgsnM8edOCNJK3lvaWCpeXnmKfpmZ0axdSo1LIcMKIyV5LYJBhI29JcT589H1vgO6EI5Ask0JUb5vTaolwwozvjTKXtFJBWspeBF8XZ3xplGlqbQ9vYnL8cu17AYB+gEuHzpBtUZOehHmLgDKT1ootUIxUcYpqa8SMB4HRYKBn8p2ZTphOEJxrisGFaIUAaX5ul3hVgQBBtNsEC/w0DF8QThVOKk4xTjZOPE4/TkJOVk5YToJOhU5rjIpOEoINX45Onk6fTqBOok6wTrNOtk7OTs1OxE7GTsJO107eTu1O3073TglPWk8wT1tPXU9XT0dPdk+IT49PmE97T2lPcE+RT29Phk+WTxhR1E/fT85P2E/bT9FP2k/QT+RP5U8aUChQFFAqUCVQBVAcT/ZPIVApUCxQ/k/vTxFQBlBDUEdQA2dVUFBQSFBaUFZQbFB4UIBQmlCFULRQslDJUMpQs1DCUNZQ3lDlUO1Q41DuUPlQ9VAJUQFRAlEWURVRFFEaUSFROlE3UTxRO1E/UUBRUlFMUVRRYlH4emlRalFuUYBRglHYVoxRiVGPUZFRk1GVUZZRpFGmUaJRqVGqUatRs1GxUbJRsFG1Ub1RxVHJUdtR4FFVhulR7VHwUfVR/lEEUgtSFFIOUidSKlIuUjNSOVJPUkRSS1JMUl5SVFJqUnRSaVJzUn9SfVKNUpRSklJxUohSkVKoj6ePrFKtUrxStVLBUs1S11LeUuNS5lLtmOBS81L1UvhS+VIGUwhTOHUNUxBTD1MVUxpTI1MvUzFTM1M4U0BTRlNFUxdOSVNNU9ZRXlNpU25TGFl7U3dTglOWU6BTplOlU65TsFO2U8NTEnzZlt9T/Gbuce5T6FPtU/pTAVQ9VEBULFQtVDxULlQ2VClUHVROVI9UdVSOVF9UcVR3VHBUklR7VIBUdlSEVJBUhlTHVKJUuFSlVKxUxFTIVKhUq1TCVKRUvlS8VNhU5VTmVA9VFFX9VO5U7VT6VOJUOVVAVWNVTFUuVVxVRVVWVVdVOFUzVV1VmVWAVa9UilWfVXtVflWYVZ5VrlV8VYNVqVWHVahV2lXFVd9VxFXcVeRV1FUUVvdVFlb+Vf1VG1b5VU5WUFbfcTRWNlYyVjhWa1ZkVi9WbFZqVoZWgFaKVqBWlFaPVqVWrla2VrRWwla8VsFWw1bAVshWzlbRVtNW11buVvlWAFf/VgRXCVcIVwtXDVcTVxhXFlfHVRxXJlc3VzhXTlc7V0BXT1dpV8BXiFdhV39XiVeTV6BXs1ekV6pXsFfDV8ZX1FfSV9NXCljWV+NXC1gZWB1YclghWGJYS1hwWMBrUlg9WHlYhVi5WJ9Yq1i6WN5Yu1i4WK5YxVjTWNFY11jZWNhY5VjcWORY31jvWPpY+Vj7WPxY/VgCWQpZEFkbWaZoJVksWS1ZMlk4WT5Z0npVWVBZTllaWVhZYllgWWdZbFlpWXhZgVmdWV5Pq0+jWbJZxlnoWdxZjVnZWdpZJVofWhFaHFoJWhpaQFpsWklaNVo2WmJaalqaWrxavlrLWsJavVrjWtda5lrpWtZa+lr7WgxbC1sWWzJb0FoqWzZbPltDW0VbQFtRW1VbWltbW2VbaVtwW3NbdVt4W4hleluAW4Nbplu4W8Nbx1vJW9Rb0FvkW+Zb4lveW+Vb61vwW/Zb81sFXAdcCFwNXBNcIFwiXChcOFw5XEFcRlxOXFNcUFxPXHFbbFxuXGJOdlx5XIxckVyUXJtZq1y7XLZcvFy3XMVcvlzHXNlc6Vz9XPpc7VyMXepcC10VXRddXF0fXRtdEV0UXSJdGl0ZXRhdTF1SXU5dS11sXXNddl2HXYRdgl2iXZ1drF2uXb1dkF23XbxdyV3NXdNd0l3WXdtd613yXfVdC14aXhleEV4bXjZeN15EXkNeQF5OXldeVF5fXmJeZF5HXnVedl56Xryef16gXsFewl7IXtBez17WXuNe3V7aXtte4l7hXuhe6V7sXvFe817wXvRe+F7+XgNfCV9dX1xfC18RXxZfKV8tXzhfQV9IX0xfTl8vX1FfVl9XX1lfYV9tX3Nfd1+DX4Jff1+KX4hfkV+HX55fmV+YX6BfqF+tX7xf1l/7X+Rf+F/xX91fs2D/XyFgYGAZYBBgKWAOYDFgG2AVYCtgJmAPYDpgWmBBYGpgd2BfYEpgRmBNYGNgQ2BkYEJgbGBrYFlggWCNYOdgg2CaYIRgm2CWYJdgkmCnYItg4WC4YOBg02C0YPBfvWDGYLVg2GBNYRVhBmH2YPdgAGH0YPpgA2EhYftg8WANYQ5hR2E+YShhJ2FKYT9hPGEsYTRhPWFCYURhc2F3YVhhWWFaYWthdGFvYWVhcWFfYV1hU2F1YZlhlmGHYaxhlGGaYYphkWGrYa5hzGHKYclh92HIYcNhxmG6YctheX/NYeZh42H2Yfph9GH/Yf1h/GH+YQBiCGIJYg1iDGIUYhtiHmIhYipiLmIwYjJiM2JBYk5iXmJjYltiYGJoYnxigmKJYn5ikmKTYpZi1GKDYpRi12LRYrtiz2L/YsZi1GTIYtxizGLKYsJix2KbYsliDGPuYvFiJ2MCYwhj72L1YlBjPmNNYxxkT2OWY45jgGOrY3Zjo2OPY4ljn2O1Y2tjaWO+Y+ljwGPGY+NjyWPSY/ZjxGMWZDRkBmQTZCZkNmQdZRdkKGQPZGdkb2R2ZE5kKmWVZJNkpWSpZIhkvGTaZNJkxWTHZLtk2GTCZPFk52QJguBk4WSsYuNk72QsZfZk9GTyZPpkAGX9ZBhlHGUFZSRlI2UrZTRlNWU3ZTZlOGVLdUhlVmVVZU1lWGVeZV1lcmV4ZYJlg2WKi5tln2WrZbdlw2XGZcFlxGXMZdJl22XZZeBl4WXxZXJnCmYDZvtlc2c1ZjZmNGYcZk9mRGZJZkFmXmZdZmRmZ2ZoZl9mYmZwZoNmiGaOZolmhGaYZp1mwWa5Zslmvma8ZsRmuGbWZtpm4GY/ZuZm6WbwZvVm92YPZxZnHmcmZydnOJcuZz9nNmdBZzhnN2dGZ15nYGdZZ2NnZGeJZ3BnqWd8Z2pnjGeLZ6ZnoWeFZ7dn72e0Z+xns2fpZ7hn5GfeZ91n4mfuZ7lnzmfGZ+dnnGoeaEZoKWhAaE1oMmhOaLNoK2hZaGNod2h/aJ9oj2itaJRonWibaINormq5aHRotWigaLpoD2mNaH5oAWnKaAhp2GgiaSZp4WgMac1o1GjnaNVoNmkSaQRp12jjaCVp+WjgaO9oKGkqaRppI2khacZoeWl3aVxpeGlraVRpfmluaTlpdGk9aVlpMGlhaV5pXWmBaWppsmmuadBpv2nBadNpvmnOaehbymndabtpw2mnaS5qkWmgaZxplWm0ad5p6GkCahtq/2kKa/lp8mnnaQVqsWkeau1pFGrraQpqEmrBaiNqE2pEagxqcmo2anhqR2piallqZmpIajhqImqQao1qoGqEaqJqo2qXaheGu2rDasJquGqzaqxq3mrRat9qqmraaupq+2oFaxaG+moSaxZrMZsfazhrN2vcdjlr7phHa0NrSWtQa1lrVGtba19rYWt4a3lrf2uAa4Rrg2uNa5hrlWuea6Rrqmura69rsmuxa7Nrt2u8a8Zry2vTa99r7Gvra/Nr72u+nghsE2wUbBtsJGwjbF5sVWxibGpsgmyNbJpsgWybbH5saGxzbJJskGzEbPFs02y9bNdsxWzdbK5ssWy+bLps22zvbNls6mwfbU2INm0rbT1tOG0ZbTVtM20SbQxtY22TbWRtWm15bVltjm2VbeRvhW35bRVuCm61bcdt5m24bcZt7G3ebcxt6G3SbcVt+m3ZbeRt1W3qbe5tLW5ubi5uGW5ybl9uPm4jbmtuK252bk1uH25DbjpuTm4kbv9uHW44boJuqm6Ybslut27Tbr1ur27EbrJu1G7Vbo9upW7Cbp9uQW8Rb0xw7G74bv5uP2/ybjFv724yb8xuPm8Tb/duhm96b3hvgW+Ab29vW2/zb21vgm98b1hvjm+Rb8JvZm+zb6NvoW+kb7lvxm+qb99v1W/sb9Rv2G/xb+5v228JcAtw+m8RcAFwD3D+bxtwGnB0bx1wGHAfcDBwPnAycFFwY3CZcJJwr3DxcKxwuHCzcK5w33DLcN1w2XAJcf1wHHEZcWVxVXGIcWZxYnFMcVZxbHGPcftxhHGVcahxrHHXcblxvnHScclx1HHOceBx7HHncfVx/HH5cf9xDXIQchtyKHItcixyMHIycjtyPHI/ckByRnJLclhydHJ+coJygXKHcpJylnKicqdyuXKycsNyxnLEcs5y0nLicuBy4XL5cvdyD1AXcwpzHHMWcx1zNHMvcylzJXM+c05zT3PYnldzanNoc3BzeHN1c3tzenPIc7NzznO7c8Bz5XPuc95zonQFdG90JXT4czJ0OnRVdD90X3RZdEF0XHRpdHB0Y3RqdHZ0fnSLdJ50p3TKdM901HTxc+B043TndOl07nTydPB08XT4dPd0BHUDdQV1DHUOdQ11FXUTdR51JnUsdTx1RHVNdUp1SXVbdUZ1WnVpdWR1Z3VrdW11eHV2dYZ1h3V0dYp1iXWCdZR1mnWddaV1o3XCdbN1w3W1db11uHW8dbF1zXXKddJ12XXjdd51/nX/dfx1AXbwdfp18nXzdQt2DXYJdh92J3YgdiF2InYkdjR2MHY7dkd2SHZGdlx2WHZhdmJ2aHZpdmp2Z3ZsdnB2cnZ2dnh2fHaAdoN2iHaLdo52lnaTdpl2mnawdrR2uHa5drp2wnbNdtZ20nbeduF25Xbndup2L4b7dgh3B3cEdyl3JHcedyV3Jncbdzd3OHdHd1p3aHdrd1t3ZXd/d353eXeOd4t3kXegd553sHe2d7l3v3e8d713u3fHd81313fad9x343fud/x3DHgSeCZ5IHgqeUV4jnh0eIZ4fHiaeIx4o3i1eKp4r3jReMZ4y3jUeL54vHjFeMp47HjneNp4/Xj0eAd5EnkReRl5LHkreUB5YHlXeV95WnlVeVN5enl/eYp5nXmneUufqnmuebN5uXm6ecl51Xnneex54XnjeQh6DXoYehl6IHofeoB5MXo7ej56N3pDeld6SXphemJ6aXqdn3B6eXp9eoh6l3qVeph6lnqpesh6sHq2esV6xHq/eoOQx3rKes16z3rVetN62Xraet164XrieuZ67XrwegJ7D3sKewZ7M3sYexl7Hns1eyh7NntQe3p7BHtNewt7THtFe3V7ZXt0e2d7cHtxe2x7bnude5h7n3uNe5x7mnuLe5J7j3tde5l7y3vBe8x7z3u0e8Z73XvpexF8FHzme+V7YHwAfAd8E3zze/d7F3wNfPZ7I3wnfCp8H3w3fCt8PXxMfEN8VHxPfEB8UHxYfF98ZHxWfGV8bHx1fIN8kHykfK18onyrfKF8qHyzfLJ8sXyufLl8vXzAfMV8wnzYfNJ83HzifDub73zyfPR89nz6fAZ9An0cfRV9Cn1FfUt9Ln0yfT99NX1GfXN9Vn1OfXJ9aH1ufU99Y32TfYl9W32PfX19m326fa59o321fcd9vX2rfT1+on2vfdx9uH2ffbB92H3dfeR93n37ffJ94X0Ffgp+I34hfhJ+MX4ffgl+C34ifkZ+Zn47fjV+OX5Dfjd+Mn46fmd+XX5Wfl5+WX5afnl+an5pfnx+e36DftV9fX6uj39+iH6Jfox+kn6QfpN+lH6Wfo5+m36cfjh/On9Ff0x/TX9Of1B/UX9Vf1R/WH9ff2B/aH9pf2d/eH+Cf4Z/g3+If4d/jH+Uf55/nX+af6N/r3+yf7l/rn+2f7h/cYvFf8Z/yn/Vf9R/4X/mf+l/83/5f9yYBoAEgAuAEoAYgBmAHIAhgCiAP4A7gEqARoBSgFiAWoBfgGKAaIBzgHKAcIB2gHmAfYB/gISAhoCFgJuAk4CagK2AkFGsgNuA5YDZgN2AxIDagNaACYHvgPGAG4EpgSOBL4FLgYuWRoE+gVOBUYH8gHGBboFlgWaBdIGDgYiBioGAgYKBoIGVgaSBo4FfgZOBqYGwgbWBvoG4gb2BwIHCgbqByYHNgdGB2YHYgciB2oHfgeCB54H6gfuB/oEBggKCBYIHggqCDYIQghaCKYIrgjiCM4JAglmCWIJdglqCX4JkgmKCaIJqgmuCLoJxgneCeIJ+go2CkoKrgp+Cu4KsguGC44LfgtKC9ILzgvqCk4MDg/uC+YLeggaD3IIJg9mCNYM0gxaDMoMxg0CDOYNQg0WDL4MrgxeDGIOFg5qDqoOfg6KDloMjg46Dh4OKg3yDtYNzg3WDoIOJg6iD9IMThOuDzoP9gwOE2IMLhMGD94MHhOCD8oMNhCKEIIS9gziEBoX7g22EKoQ8hFqFhIR3hGuErYRuhIKEaYRGhCyEb4R5hDWEyoRihLmEv4SfhNmEzYS7hNqE0ITBhMaE1oShhCGF/4T0hBeFGIUshR+FFYUUhfyEQIVjhViFSIVBhQKGS4VVhYCFpIWIhZGFioWohW2FlIWbheqFh4WchXeFfoWQhcmFuoXPhbmF0IXVhd2F5YXchfmFCoYThguG/oX6hQaGIoYahjCGP4ZNhlVOVIZfhmeGcYaThqOGqYaqhouGjIa2hq+GxIbGhrCGyYYjiKuG1IbehumG7IbfhtuG74YShwaHCIcAhwOH+4YRhwmHDYf5hgqHNIc/hzeHO4clhymHGodgh1+HeIdMh06HdIdXh2iHbodZh1OHY4dqhwWIooefh4KHr4fLh72HwIfQh9aWq4fEh7OHx4fGh7uH74fyh+CHD4gNiP6H9of3hw6I0ocRiBaIFYgiiCGIMYg2iDmIJ4g7iESIQohSiFmIXohiiGuIgYh+iJ6IdYh9iLWIcoiCiJeIkoiuiJmIooiNiKSIsIi/iLGIw4jEiNSI2IjZiN2I+YgCifyI9IjoiPKIBIkMiQqJE4lDiR6JJYkqiSuJQYlEiTuJNok4iUyJHYlgiV6JZolkiW2JaolviXSJd4l+iYOJiImKiZOJmImhiamJpomsia+Jsom6ib2Jv4nAidqJ3IndieeJ9In4iQOKFooQigyKG4odiiWKNopBiluKUopGikiKfIptimyKYoqFioKKhIqoiqGKkYqliqaKmoqjisSKzYrCitqK64rziueK5IrxihSL4IriiveK3orbigyLB4sai+GKFosQixeLIIszi6uXJosriz6LKItBi0yLT4tOi0mLVotbi1qLa4tfi2yLb4t0i32LgIuMi46LkouTi5aLmYuaizqMQYw/jEiMTIxOjFCMVYxijGyMeIx6jIKMiYyFjIqMjYyOjJSMfIyYjB1irYyqjL2MsoyzjK6MtozIjMGM5IzjjNqM/Yz6jPuMBI0FjQqNB40PjQ2NEI1OnxONzYwUjRaNZ41tjXGNc42BjZmNwo2+jbqNz43ajdaNzI3bjcuN6o3rjd+N4438jQiOCY7/jR2OHo4Qjh+OQo41jjCONI5KjkeOSY5MjlCOSI5ZjmSOYI4qjmOOVY52jnKOfI6BjoeOhY6EjouOio6TjpGOlI6ZjqqOoY6sjrCOxo6xjr6OxY7IjsuO247jjvyO+47rjv6OCo8FjxWPEo8ZjxOPHI8fjxuPDI8mjzOPO485j0WPQo8+j0yPSY9Gj06PV49cj2KPY49kj5yPn4+jj62Pr4+3j9qP5Y/ij+qP74+HkPSPBZD5j/qPEZAVkCGQDZAekBaQC5AnkDaQNZA5kPiPT5BQkFGQUpAOkEmQPpBWkFiQXpBokG+QdpColnKQgpB9kIGQgJCKkImQj5CokK+QsZC1kOKQ5JBIYtuQApESkRmRMpEwkUqRVpFYkWORZZFpkXORcpGLkYmRgpGikauRr5GqkbWRtJG6kcCRwZHJkcuR0JHWkd+R4ZHbkfyR9ZH2kR6S/5EUkiySFZIRkl6SV5JFkkmSZJJIkpWSP5JLklCSnJKWkpOSm5Jaks+SuZK3kumSD5P6kkSTLpMZkyKTGpMjkzqTNZM7k1yTYJN8k26TVpOwk6yTrZOUk7mT1pPXk+iT5ZPYk8OT3ZPQk8iT5JMalBSUE5QDlAeUEJQ2lCuUNZQhlDqUQZRSlESUW5RglGKUXpRqlCmScJR1lHeUfZRalHyUfpSBlH+UgpWHlYqVlJWWlZiVmZWglaiVp5WtlbyVu5W5lb6VypX2b8OVzZXMldWV1JXWldyV4ZXlleKVIZYoli6WL5ZClkyWT5ZLlneWXJZell2WX5ZmlnKWbJaNlpiWlZaXlqqWp5axlrKWsJa0lraWuJa5ls6Wy5bJls2WTYnclg2X1Zb5lgSXBpcIlxOXDpcRlw+XFpcZlySXKpcwlzmXPZc+l0SXRpdIl0KXSZdcl2CXZJdml2iX0lJrl3GXeZeFl3yXgZd6l4aXi5ePl5CXnJeol6aXo5ezl7SXw5fGl8iXy5fcl+2XT5/yl9969pf1lw+YDJg4mCSYIZg3mD2YRphPmEuYa5hvmHCYcZh0mHOYqpivmLGYtpjEmMOYxpjpmOuYA5kJmRKZFJkYmSGZHZkemSSZIJksmS6ZPZk+mUKZSZlFmVCZS5lRmVKZTJlVmZeZmJmlma2Zrpm8md+Z25ndmdiZ0Zntme6Z8ZnymfuZ+JkBmg+aBZrimRmaK5o3mkWaQppAmkOaPppVmk2aW5pXml+aYpplmmSaaZprmmqarZqwmryawJrPmtGa05rUmt6a35rimuOa5prvmuua7pr0mvGa95r7mgabGJsamx+bIpsjmyWbJ5somymbKpsumy+bMptEm0ObT5tNm06bUZtYm3Sbk5uDm5GblpuXm5+boJuom7SbwJvKm7mbxpvPm9Gb0pvjm+Kb5JvUm+GbOpzym/Gb8JsVnBScCZwTnAycBpwInBKcCpwEnC6cG5wlnCScIZwwnEecMpxGnD6cWpxgnGecdpx4nOec7JzwnAmdCJ3rnAOdBp0qnSadr50jnR+dRJ0VnRKdQZ0/nT6dRp1InV2dXp1knVGdUJ1ZnXKdiZ2Hnaudb516nZqdpJ2pnbKdxJ3BnbuduJ26ncadz53Cndmd0534nead7Z3vnf2dGp4bnh6edZ55nn2egZ6InouejJ6SnpWekZ6dnqWeqZ64nqqerZ5hl8yezp7PntCe1J7cnt6e3Z7gnuWe6J7vnvSe9p73nvme+578nv2eB58In7d2FZ8hnyyfPp9Kn1KfVJ9jn1+fYJ9hn2afZ59sn2qfd59yn3aflZ+cn6CfL1jHaVmQZHTcUZlxAEHhkQUL8wYwDP8BMAIwDv8nIBv/Gv8f/wH/MP4mICUgUP5R/lL+twBU/lX+Vv5X/lz/EyAx/hQgM/50JTT+T/4I/wn/Nf42/lv/Xf83/jj+FDAVMDn+Ov4QMBEwO/48/gowCzA9/j7+CDAJMD/+QP4MMA0wQf5C/g4wDzBD/kT+Wf5a/lv+XP5d/l7+GCAZIBwgHSAdMB4wNSAyIAP/Bv8K/zsgpwADMMslzyWzJbIlziUGJgUmxyXGJaEloCW9JbwlozIFIa8A4/8//80CSf5K/k3+Tv5L/kz+X/5g/mH+C/8N/9cA9wCxABoiHP8e/x3/ZiJnImAiHiJSImEiYv5j/mT+Zf5m/l7/KSIqIqUiICIfIr8i0jPRMysiLiI1IjQiQCZCJpUimSKRIZMhkCGSIZYhlyGZIZghJSIjIg//PP8VImj+BP/l/xIw4P/h/wX/IP8DIQkhaf5q/mv+1TOcM50znjPOM6EzjjOPM8QzsABZUVtRXlFdUWFRY1HnVel0znyBJYIlgyWEJYUlhiWHJYgljyWOJY0ljCWLJYoliSU8JTQlLCUkJRwllCUAJQIllSUMJRAlFCUYJW0lbiVwJW8lUCVeJWolYSXiJeMl5SXkJXElciVzJRD/Ef8S/xP/FP8V/xb/F/8Y/xn/YCFhIWIhYyFkIWUhZiFnIWghaSEhMCIwIzAkMCUwJjAnMCgwKTBBU0RTRVMh/yL/I/8k/yX/Jv8n/yj/Kf8q/yv/LP8t/y7/L/8w/zH/Mv8z/zT/Nf82/zf/OP85/zr/Qf9C/0P/RP9F/0b/R/9I/0n/Sv9L/0z/Tf9O/0//UP9R/1L/U/9U/1X/Vv9X/1j/Wf9a/5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQOjA6QDpQOmA6cDqAOpA7EDsgOzA7QDtQO2A7cDuAO5A7oDuwO8A70DvgO/A8ADwQPDA8QDxQPGA8cDyAPJAwUxBjEHMQgxCTEKMQsxDDENMQ4xDzEQMRExEjETMRQxFTEWMRcxGDEZMRoxGzEcMR0xHjEfMSAxITEiMSMxJDElMSYxJzEoMSkx2QLJAsoCxwLLAgAkASQCJAMkBCQFJAYkByQIJAkkCiQLJAwkDSQOJA8kECQRJBIkEyQUJBUkFiQXJBgkGSQaJBskHCQdJB4kHyQhJKwgAEGPmQULrVlOWU4BTgNOQ05dToZOjE66Tj9RZVFrUeBRAFIBUptSFVNBU1xTyFMJTgtOCE4KTitOOE7hUUVOSE5fTl5Ojk6hTkBRA1L6UkNTyVPjUx9X61gVWSdZc1lQW1FbU1v4Ww9cIlw4XHFc3V3lXfFd8l3zXf5dcl7+XgtfE19NYhFOEE4NTi1OME45TktOOVyITpFOlU6STpROok7BTsBOw07GTsdOzU7KTstOxE5DUUFRZ1FtUW5RbFGXUfZRBlIHUghS+1L+Uv9SFlM5U0hTR1NFU15ThFPLU8pTzVPsWClZK1kqWS1ZVFsRXCRcOlxvXPRde17/XhRfFV/DXwhiNmJLYk5iL2WHZZdlpGW5ZeVl8GYIZyhnIGtia3lry2vUa9trD2w0bGtwKnI2cjtyR3JZcltyrHKLcxlOFk4VThROGE47Tk1OT05OTuVO2E7UTtVO1k7XTuNO5E7ZTt5ORVFEUYlRilGsUflR+lH4UQpSoFKfUgVTBlMXUx1T305KU0lTYVNgU29TblO7U+9T5FPzU+xT7lPpU+hT/FP4U/VT61PmU+pT8lPxU/BT5VPtU/tT21baVhZZLlkxWXRZdllVW4NbPFzoXedd5l0CXgNec158XgFfGF8XX8VfCmJTYlRiUmJRYqVl5mUuZyxnKmcrZy1nY2vNaxFsEGw4bEFsQGw+bK9yhHOJc9x05nQYdR91KHUpdTB1MXUydTN1i3V9dq52v3budtt34nfzdzp5vnl0est6Hk4fTlJOU05pTplOpE6mTqVO/04JTxlPCk8VTw1PEE8RTw9P8k72TvtO8E7zTv1OAU8LT0lRR1FGUUhRaFFxUY1RsFEXUhFSElIOUhZSo1IIUyFTIFNwU3FTCVQPVAxUClQQVAFUC1QEVBFUDVQIVANUDlQGVBJU4FbeVt1WM1cwVyhXLVcsVy9XKVcZWRpZN1k4WYRZeFmDWX1ZeVmCWYFZV1tYW4dbiFuFW4lb+lsWXHlc3l0GXnZedF4PXxtf2V/WXw5iDGINYhBiY2JbYlhiNmXpZehl7GXtZfJm82YJZz1nNGcxZzVnIWtka3trFmxdbFdsWWxfbGBsUGxVbGFsW2xNbE5scHBfcl1yfnb5enN8+Hw2f4p/vX8BgAOADIASgDOAf4CJgIuAjIDjgeqB84H8gQyCG4Ifgm6CcoJ+gmuGQIhMiGOIf4khljJOqE5NT09PR09XT15PNE9bT1VPME9QT1FPPU86TzhPQ09UTzxPRk9jT1xPYE8vT05PNk9ZT11PSE9aT0xRS1FNUXVRtlG3USVSJFIpUipSKFKrUqlSqlKsUiNTc1N1Ux1ULVQeVD5UJlROVCdURlRDVDNUSFRCVBtUKVRKVDlUO1Q4VC5UNVQ2VCBUPFRAVDFUK1QfVCxU6lbwVuRW61ZKV1FXQFdNV0dXTlc+V1BXT1c7V+9YPlmdWZJZqFmeWaNZmVmWWY1ZpFmTWYpZpVldW1xbWltbW4xbi1uPWyxcQFxBXD9cPlyQXJFclFyMXOtdDF6PXodeil73XgRfH19kX2Jfd195X9hfzF/XX81f8V/rX/hf6l8SYhFihGKXYpZigGJ2YolibWKKYnxifmJ5YnNikmJvYphibmKVYpNikWKGYjllO2U4ZfFl9GZfZ05nT2dQZ1FnXGdWZ15nSWdGZ2BnU2dXZ2Vrz2tCbF5smWyBbIhsiWyFbJtsamx6bJBscGyMbGhslmySbH1sg2xybH5sdGyGbHZsjWyUbJhsgmx2cHxwfXB4cGJyYXJgcsRywnKWcyx1K3U3dTh1gnbvduN3wXnAeb95dnr7fFV/loCTgJ2AmICbgJqAsoBvgpKCi4KNgouJ0okAijeMRoxVjJ2MZI1wjbONq47KjpuPsI/Cj8aPxY/Ej+FdkZCikKqQppCjkEmRxpHMkTKWLpYxliqWLJYmTlZOc06LTptOnk6rTqxOb0+dT41Pc09/T2xPm0+LT4ZPg09wT3VPiE9pT3tPlk9+T49PkU96T1RRUlFVUWlRd1F2UXhRvVH9UTtSOFI3UjpSMFIuUjZSQVK+UrtSUlNUU1NTUVNmU3dTeFN5U9ZT1FPXU3NUdVSWVHhUlVSAVHtUd1SEVJJUhlR8VJBUcVR2VIxUmlRiVGhUi1R9VI5U+laDV3dXaldpV2FXZldkV3xXHFlJWUdZSFlEWVRZvlm7WdRZuVmuWdFZxlnQWc1Zy1nTWcpZr1mzWdJZxVlfW2RbY1uXW5pbmFucW5lbm1saXEhcRVxGXLdcoVy4XKlcq1yxXLNcGF4aXhZeFV4bXhFeeF6aXpdenF6VXpZe9l4mXydfKV+AX4Fff198X91f4F/9X/Vf/18PYBRgL2A1YBZgKmAVYCFgJ2ApYCtgG2AWYhViP2I+YkBif2LJYsxixGK/YsJiuWLSYttiq2LTYtRiy2LIYqhivWK8YtBi2WLHYs1itWLaYrFi2GLWYtdixmKsYs5iPmWnZbxl+mUUZhNmDGYGZgJmDmYAZg9mFWYKZgdmDWcLZ21ni2eVZ3FnnGdzZ3dnh2edZ5dnb2dwZ39niWd+Z5BndWeaZ5NnfGdqZ3JnI2tma2drf2sTbBts42zobPNssWzMbOVss2y9bL5svGzibKts1WzTbLhsxGy5bMFsrmzXbMVs8Wy/bLts4WzbbMpsrGzvbNxs1mzgbJVwjnCScIpwmXAsci1yOHJIcmdyaXLAcs5y2XLXctByqXOoc59zq3Olcz11nXWZdZp1hHbCdvJ29Hbld/13PnlAeUF5yXnIeXp6eXr6ev58VH+Mf4t/BYC6gKWAooCxgKGAq4CpgLSAqoCvgOWB/oENgrOCnYKZgq2CvYKfgrmCsYKsgqWCr4K4gqOCsIK+greCToZxhh1SaIjLjs6P1I/Rj7WQuJCxkLaQx5HRkXeVgJUclkCWP5Y7lkSWQpa5luiWUpdel59OrU6uTuFPtU+vT79P4E/RT89P3U/DT7ZP2E/fT8pP10+uT9BPxE/CT9pPzk/eT7dPV1GSUZFRoFFOUkNSSlJNUkxSS1JHUsdSyVLDUsFSDVNXU3tTmlPbU6xUwFSoVM5UyVS4VKZUs1THVMJUvVSqVMFUxFTIVK9Uq1SxVLtUqVSnVL9U/1aCV4tXoFejV6JXzleuV5NXVVlRWU9ZTllQWdxZ2Fn/WeNZ6FkDWuVZ6lnaWeZZAVr7WWlbo1umW6RbolulWwFcTlxPXE1cS1zZXNJc910dXiVeH159XqBepl76XghfLV9lX4hfhV+KX4tfh1+MX4lfEmAdYCBgJWAOYChgTWBwYGhgYmBGYENgbGBrYGpgZGBBYtxiFmMJY/xi7WIBY+5i/WIHY/Fi92LvYuxi/mL0YhFjAmM/ZUVlq2W9ZeJlJWYtZiBmJ2YvZh9mKGYxZiRm92b/Z9Nn8WfUZ9Bn7Ge2Z69n9WfpZ+9nxGfRZ7Rn2mflZ7hnz2feZ/NnsGfZZ+Jn3WfSZ2prg2uGa7Vr0mvXax9syWwLbTJtKm1BbSVtDG0xbR5tF207bT1tPm02bRtt9Ww5bSdtOG0pbS5tNW0ObSttq3C6cLNwrHCvcK1wuHCucKRwMHJycm9ydHLpcuBy4XK3c8pzu3Oyc81zwHOzcxp1LXVPdUx1TnVLdat1pHWldaJ1o3V4doZ2h3aIdsh2xnbDdsV2AXf5dvh2CXcLd/52/HYHd9x3AngUeAx4DXhGeUl5SHlHebl5unnRedJ5y3l/eoF6/3r9en18An0FfQB9CX0HfQR9Bn04f45/v38EgBCADYARgDaA1oDlgNqAw4DEgMyA4YDbgM6A3oDkgN2A9IEigueCA4MFg+OC24LmggSD5YICgwmD0oLXgvGCAYPcgtSC0YLegtOC34LvggaDUIZ5hnuGeoZNiGuIgYnUiQiKAooDip6MoIx0jXONtI3NjsyO8I/mj+KP6o/lj+2P64/kj+iPypDOkMGQw5BLkUqRzZGClVCWS5ZMlk2WYpdpl8uX7ZfzlwGYqJjbmN+YlpmZmVhOs04MUA1QI1DvTyZQJVD4TylQFlAGUDxQH1AaUBJQEVD6TwBQFFAoUPFPIVALUBlQGFDzT+5PLVAqUP5PK1AJUHxRpFGlUaJRzVHMUcZRy1FWUlxSVFJbUl1SKlN/U59TnVPfU+hUEFUBVTdV/FTlVPJUBlX6VBRV6VTtVOFUCVXuVOpU5lQnVQdV/VQPVQNXBFfCV9RXy1fDVwlYD1lXWVhZWlkRWhhaHFofWhtaE1rsWSBaI1opWiVaDFoJWmtbWFywW7Nbtlu0W65btVu5W7hbBFxRXFVcUFztXP1c+1zqXOhc8Fz2XAFd9FzuXS1eK16rXq1ep14xX5JfkV+QX1lgY2BlYFBgVWBtYGlgb2CEYJ9gmmCNYJRgjGCFYJZgR2LzYghj/2JOYz5jL2NVY0JjRmNPY0ljOmNQYz1jKmMrYyhjTWNMY0hlSWWZZcFlxWVCZklmT2ZDZlJmTGZFZkFm+GYUZxVnF2chaDhoSGhGaFNoOWhCaFRoKWizaBdoTGhRaD1o9GdQaEBoPGhDaCpoRWgTaBhoQWiKa4lrt2sjbCdsKGwmbCRs8GxqbZVtiG2HbWZteG13bVltk21sbYltbm1abXRtaW2MbYpteW2FbWVtlG3KcNhw5HDZcMhwz3A5cnly/HL5cv1y+HL3coZz7XMJdO5z4HPqc95zVHVddVx1WnVZdb51xXXHdbJ1s3W9dbx1uXXCdbh1i3awdsp2zXbOdil3H3cgdyh36XcweCd4OHgdeDR4N3gleC14IHgfeDJ4VXlQeWB5X3lWeV55XXlXeVp55Hnjeed533nmeel52HmEeoh62XoGexF7iXwhfRd9C30KfSB9In0UfRB9FX0afRx9DX0ZfRt9On9ff5R/xX/BfwaAGIAVgBmAF4A9gD+A8YACgfCABYHtgPSABoH4gPOACIH9gAqB/IDvgO2B7IEAghCCKoIrgiiCLIK7giuDUoNUg0qDOINQg0mDNYM0g0+DMoM5gzaDF4NAgzGDKINDg1SGioaqhpOGpIaphoyGo4achnCId4iBiIKIfYh5iBiKEIoOigyKFYoKiheKE4oWig+KEYpIjHqMeYyhjKKMd42sjtKO1I7PjrGPAZAGkPePAJD6j/SPA5D9jwWQ+I+VkOGQ3ZDikFKRTZFMkdiR3ZHXkdyR2ZGDlWKWY5ZhlluWXZZklliWXpa7luKYrJmomtiaJZsymzybfk56UH1QXFBHUENQTFBaUElQZVB2UE5QVVB1UHRQd1BPUA9Qb1BtUFxRlVHwUWpSb1LSUtlS2FLVUhBTD1MZUz9TQFM+U8NT/GZGVWpVZlVEVV5VYVVDVUpVMVVWVU9VVVUvVWRVOFUuVVxVLFVjVTNVQVVXVQhXC1cJV99XBVgKWAZY4FfkV/pXAlg1WPdX+VcgWWJZNlpBWklaZlpqWkBaPFpiWlpaRlpKWnBbx1vFW8Rbwlu/W8ZbCVwIXAdcYFxcXF1cB10GXQ5dG10WXSJdEV0pXRRdGV0kXSddF13iXTheNl4zXjdet164XrZetV6+XjVfN19XX2xfaV9rX5dfmV+eX5hfoV+gX5xff2CjYIlgoGCoYMtgtGDmYL1gxWC7YLVg3GC8YNhg1WDGYN9guGDaYMdgGmIbYkhioGOnY3JjlmOiY6Vjd2NnY5hjqmNxY6ljiWODY5tja2OoY4RjiGOZY6FjrGOSY49jgGN7Y2ljaGN6Y11lVmVRZVllV2VfVU9lWGVVZVRlnGWbZaxlz2XLZcxlzmVdZlpmZGZoZmZmXmb5ZtdSG2eBaK9oomiTaLVof2h2aLFop2iXaLBog2jEaK1ohmiFaJRonWioaJ9ooWiCaDJrumvra+xrK2yObbxt823ZbbJt4W3MbeRt+236bQVux23Lba9t0W2ubd5t+W24bfdt9W3FbdJtGm61bdpt623Ybept8W3ubehtxm3Ebapt7G2/beZt+XAJcQpx/XDvcD1yfXKBchxzG3MWcxNzGXOHcwV0CnQDdAZ0/nMNdOB09nT3dBx1InVldWZ1YnVwdY911HXVdbV1ynXNdY521HbSdtt2N3c+dzx3Nnc4dzp3a3hDeE54ZXloeW15+3mSepV6IHsoext7LHsmexl7Hnsue5J8l3yVfEZ9Q31xfS59OX08fUB9MH0zfUR9L31CfTJ9MX09f55/mn/Mf85/0n8cgEqARoAvgRaBI4ErgSmBMIEkgQKCNYI3gjaCOYKOg56DmIN4g6KDloO9g6uDkoOKg5ODiYOgg3eDe4N8g4aDp4NVhmpfx4bAhraGxIa1hsaGy4axhq+GyYZTiJ6IiIiriJKIloiNiIuIk4mPiSqKHYojiiWKMYotih+KG4oiikmMWoypjKyMq4yojKqMp4xnjWaNvo26jduO344ZkA2QGpAXkCOQH5AdkBCQFZAekCCQD5AikBaQG5AUkOiQ7ZD9kFeRzpH1keaR45Hnke2R6ZGJlWqWdZZzlniWcJZ0lnaWd5ZslsCW6pbpluB633oCmAOYWpvlnHWef56lnrueolCNUIVQmVCRUIBQllCYUJpQAGfxUXJSdFJ1UmlS3lLdUttSWlOlU3tVgFWnVXxVilWdVZhVglWcVapVlFWHVYtVg1WzVa5Vn1U+VbJVmlW7VaxVsVV+VYlVq1WZVQ1XL1gqWDRYJFgwWDFYIVgdWCBY+Vj6WGBZd1qaWn9aklqbWqdac1txW9JbzFvTW9BbClwLXDFcTF1QXTRdR139XUVePV5AXkNefl7KXsFewl7EXjxfbV+pX6pfqF/RYOFgsmC2YOBgHGEjYfpgFWHwYPtg9GBoYfFgDmH2YAlhAGESYR9iSWKjY4xjz2PAY+ljyWPGY81j0mPjY9Bj4WPWY+1j7mN2Y/Rj6mPbY1Jk2mP5Y15lZmViZWNlkWWQZa9lbmZwZnRmdmZvZpFmemZ+Zndm/mb/Zh9nHWf6aNVo4GjYaNdoBWnfaPVo7mjnaPlo0mjyaONoy2jNaA1pEmkOaclo2mhuaftoPms6az1rmGuWa7xr72subC9sLGwvbjhuVG4hbjJuZ25KbiBuJW4jbhtuW25YbiRuVm5ubi1uJm5vbjRuTW46bixuQ24dbj5uy26JbhluTm5jbkRucm5pbl9uGXEacSZxMHEhcTZxbnEccUxyhHKAcjZzJXM0cylzOnQqdDN0InQldDV0NnQ0dC90G3QmdCh0JXUmdWt1anXiddt143XZddh13nXgdXt2fHaWdpN2tHbcdk937XddeGx4b3gNegh6C3oFegB6mHqXepZ65Xrjekl7VntGe1B7UntUe017S3tPe1F7n3ylfF59UH1ofVV9K31ufXJ9YX1mfWJ9cH1zfYRV1H/VfwuAUoCFgFWBVIFLgVGBToE5gUaBPoFMgVOBdIESghyC6YMDhPiDDYTgg8WDC4TBg++D8YP0g1eECoTwgwyEzIP9g/KDyoM4hA6EBITcgweE1IPfg1uG34bZhu2G1IbbhuSG0IbehleIwYjCiLGIg4mWiTuKYIpVil6KPIpBilSKW4pQikaKNIo6ijaKVophjIKMr4y8jLOMvYzBjLuMwIy0jLeMtoy/jLiMio2FjYGNzo3djcuN2o3RjcyN243GjfuO+I78jpyPLpA1kDGQOJAykDaQApH1kAmR/pBjkWWRz5EUkhWSI5IJkh6SDZIQkgeSEZKUlY+Vi5WRlZOVkpWOlYqWjpaLln2WhZaGlo2WcpaElsGWxZbElsaWx5bvlvKWzJcFmAaYCJjnmOqY75jpmPKY7Ziuma2Zw57NntGegk6tULVQslCzUMVQvlCsULdQu1CvUMdQf1J3Un1S31LmUuRS4lLjUi9T31XoVdNV5lXOVdxVx1XRVeNV5FXvVdpV4VXFVcZV5VXJVRJXE1deWFFYWFhXWFpYVFhrWExYbVhKWGJYUlhLWGdZwVrJWsxavlq9Wrxas1rCWrJaaV1vXUxeeV7JXsheEl9ZX6xfrl8aYQ9hSGEfYfNgG2H5YAFhCGFOYUxhRGFNYT5hNGEnYQ1hBmE3YSFiImITZD5kHmQqZC1kPWQsZA9kHGQUZA1kNmQWZBdkBmRsZZ9lsGWXZolmh2aIZpZmhGaYZo1mA2eUaW1pWml3aWBpVGl1aTBpgmlKaWhpa2leaVNpeWmGaV1pY2lbaUdrcmvAa79r02v9a6Jur27TbrZuwm6Qbp1ux27FbqVumG68brpuq27RbpZunG7EbtRuqm6nbrRuTnFZcWlxZHFJcWdxXHFscWZxTHFlcV5xRnFocVZxOnJScjdzRXM/cz5zb3RadFV0X3RedEF0P3RZdFt0XHR2dXh1AHbwdQF28nXxdfp1/3X0dfN13nbfdlt3a3dmd153Y3d5d2p3bHdcd2V3aHdid+53jniweJd4mHiMeIl4fHiReJN4f3h6eX95gXkshL15HHoaeiB6FHofeh56n3qgend7wHtge257Z3uxfLN8tXyTfXl9kX2BfY99W31uf2l/an9yf6l/qH+kf1aAWICGgISAcYFwgXiBZYFugXOBa4F5gXqBZoEFgkeCgoR3hD2EMYR1hGaEa4RJhGyEW4Q8hDWEYYRjhGmEbYRGhF6GXIZfhvmGE4cIhweHAIf+hvuGAocDhwaHCodZiN+I1IjZiNyI2IjdiOGIyojViNKInInjiWuKcopzimaKaYpwioeKfIpjiqCKcYqFim2KYopuimyKeYp7ij6KaIpijIqMiYzKjMeMyIzEjLKMw4zCjMWM4Y3fjeiN743zjfqN6o3kjeaNso4DjwmP/o4Kj5+Pso9LkEqQU5BCkFSQPJBVkFCQR5BPkE6QTZBRkD6QQZASkReRbJFqkWmRyZE3kleSOJI9kkCSPpJbkkuSZJJRkjSSSZJNkkWSOZI/klqSmJWYlpSWlZbNlsuWyZbKlveW+5b5lvaWVpd0l3aXEJgRmBOYCpgSmAyY/Jj0mP2Y/pizmbGZtJnhmumcgp4OnxOfIJ/nUO5Q5VDWUO1Q2lDVUM9Q0VDxUM5Q6VBiUfNRg1KCUjFTrVP+VQBWG1YXVv1VFFYGVglWDVYOVvdVFlYfVghWEFb2VRhXFld1WH5Yg1iTWIpYeViFWH1Y/VglWSJZJFlqWWlZ4VrmWula11rWWtha41p1W95b51vhW+Vb5lvoW+Jb5FvfWw1cYlyEXYddW15jXlVeV15UXtNe1l4KX0ZfcF+5X0dhP2FLYXdhYmFjYV9hWmFYYXVhKmKHZFhkVGSkZHhkX2R6ZFFkZ2Q0ZG1ke2RyZaFl12XWZaJmqGadZpxpqGmVacFprmnTactpm2m3abtpq2m0adBpzWmtacxppmnDaaNpSWtMazNsM28Ub/5uE2/0bilvPm8gbyxvD28CbyJv/27vbgZvMW84bzJvI28VbytvL2+Ibypv7G4Bb/JuzG73bpRxmXF9cYpxhHGScT5yknKWckRzUHNkdGN0anRwdG10BHWRdSd2DXYLdgl2E3bhduN2hHd9d393YXfBeJ94p3izeKl4o3iOeY95jXkuejF6qnqpeu1673qhe5V7i3t1e5d7nXuUe497uHuHe4R7uXy9fL58u32wfZx9vX2+faB9yn20fbJ9sX26faJ9v321fbh9rX3Sfcd9rH1wf+B/4X/ff16AWoCHgFCBgIGPgYiBioF/gYKB54H6gQeCFIIegkuCyYS/hMaExISZhJ6EsoSchMuEuITAhNOEkIS8hNGEyoQ/hxyHO4cihyWHNIcYh1WHN4cph/OIAon0iPmI+Ij9iOiIGonviKaKjIqeiqOKjYqhipOKpIqqiqWKqIqYipGKmoqnimqMjYyMjNOM0YzSjGuNmY2VjfyNFI8SjxWPE4+jj2CQWJBckGOQWZBekGKQXZBbkBmRGJEekXWReJF3kXSReJKAkoWSmJKWknuSk5KckqiSfJKRkqGVqJWplaOVpZWklZmWnJablsyW0pYAl3yXhZf2lxeYGJivmLGYA5kFmQyZCZnBma+asJrmmkGbQpv0nPac85y8njufSp8EUQBR+1D1UPlQAlEIUQlRBVHcUYdSiFKJUo1SilLwUrJTLlY7VjlWMlY/VjRWKVZTVk5WV1Z0VjZWL1YwVoBYn1ieWLNYnFiuWKlYplhtWQlb+1oLW/VaDFsIW+5b7FvpW+tbZFxlXJ1dlF1iXl9eYV7iXtpe317dXuNe4F5IX3Fft1+1X3ZhZ2FuYV1hVWGCYXxhcGFrYX5hp2GQYathjmGsYZphpGGUYa5hLmJpZG9keWSeZLJkiGSQZLBkpWSTZJVkqWSSZK5krWSrZJpkrGSZZKJks2R1ZXdleGWuZqtmtGaxZiNqH2roaQFqHmoZav1pIWoTagpq82kCagVq7WkRalBrTmuka8Vrxms/b3xvhG9Rb2ZvVG+Gb21vW294b25vjm96b3BvZG+Xb1hv1W5vb2BvX2+fcaxxsXGocVZym3JOc1dzaXSLdIN0fnSAdH91IHYpdh92JHYmdiF2Inaadrp25HaOd4d3jHeRd4t3y3jFeLp4yni+eNV4vHjQeD96PHpAej16N3o7eq96rnqte7F7xHu0e8Z7x3vBe6B7zHvKfOB99H3vfft92H3sfd196H3jfdp93n3pfZ592X3yffl9dX93f69/6X8mgJuBnIGdgaCBmoGYgReFPYUahe6ELIUthROFEYUjhSGFFIXshCWF/4QGhYKHdId2h2CHZod4h2iHWYdXh0yHU4dbiF2IEIkHiRKJE4kViQqJvIrSiseKxIqVisuK+IqyismKwoq/irCK1orNiraKuYrbikyMToxsjOCM3ozmjOSM7IztjOKM44zcjOqM4YxtjZ+No40rjhCOHY4ijg+OKY4fjiGOHo66jh2PG48fjymPJo8qjxyPHo8lj2mQbpBokG2Qd5AwkS2RJ5ExkYeRiZGLkYORxZK7kreS6pKskuSSwZKzkryS0pLHkvCSspKtlbGVBJcGlweXCZdgl42Xi5ePlyGYK5gcmLOYCpkTmRKZGJndmdCZ35nbmdGZ1ZnSmdmZt5rumu+aJ5tFm0Sbd5tvmwadCZ0Dnamevp7OnqhYUp8SURhRFFEQURVRgFGqUd1RkVKTUvNSWVZrVnlWaVZkVnhWalZoVmVWcVZvVmxWYlZ2VsFYvljHWMVYblkdWzRbeFvwWw5cSl+yYZFhqWGKYc1htmG+YcphyGEwYsVkwWTLZLtkvGTaZMRkx2TCZM1kv2TSZNRkvmR0ZcZmyWa5ZsRmx2a4Zj1qOGo6allqa2pYajlqRGpiamFqS2pHajVqX2pIallrd2sFbMJvsW+hb8NvpG/Bb6dvs2/Ab7lvtm+mb6BvtG++cclx0HHScchx1XG5cc5x2XHcccNxxHFoc5x0o3SYdJ90nnTidAx1DXU0djh2OnbnduV2oHeed593pXfoeNp47HjneKZ5TXpOekZ6THpLerp62XsRfMl75Hvbe+F76Xvme9V81nwKfhF+CH4bfiN+Hn4dfgl+EH55f7J/8H/xf+5/KICzgamBqIH7gQiCWIJZgkqFWYVIhWiFaYVDhUmFbYVqhV6Fg4efh56HooeNh2GIKokyiSWJK4khiaqJponmivqK64rxigCL3Irniu6K/ooBiwKL94rtivOK9or8imuMbYyTjPSMRI4xjjSOQo45jjWOO48vjziPM4+oj6aPdZB0kHiQcpB8kHqQNJGSkSCTNpP4kjOTL5Mik/ySK5MEkxqTEJMmkyGTFZMukxmTu5WnlqiWqpbVlg6XEZcWlw2XE5cPl1uXXJdml5iXMJg4mDuYN5gtmDmYJJgQmSiZHpkbmSGZGpntmeKZ8Zm4mrya+5rtmiibkZsVnSOdJp0onRKdG53YntSejZ+cnypRH1EhUTJR9VKOVoBWkFaFVodWj1bVWNNY0VjOWDBbKlskW3pbN1xoXLxdul29Xbhda15MX71fyWHCYcdh5mHLYTJiNGLOZMpk2GTgZPBk5mTsZPFk4mTtZIJlg2XZZtZmgGqUaoRqomqcattqo2p+apdqkGqgalxrrmvaawhs2G/xb99v4G/bb+Rv62/vb4Bv7G/hb+lv1W/ub/Bv53Hfce5x5nHlce1x7HH0ceBxNXJGcnBzcnOpdLB0pnSodEZ2QnZMdup2s3eqd7B3rHend61373f3ePp49HjveAF5p3mqeVd6v3oHfA18/nv3ewx84HvgfNx83nzifN982XzdfC5+Pn5Gfjd+Mn5Dfit+PX4xfkV+QX40fjl+SH41fj9+L35Ef/N//H9xgHKAcIBvgHOAxoHDgbqBwoHAgb+BvYHJgb6B6IEJgnGCqoWEhX6FnIWRhZSFr4WbhYeFqIWKhWeGwIfRh7OH0ofGh6uHu4e6h8iHy4c7iTaJRIk4iT2JrIkOixeLGYsbiwqLIIsdiwSLEItBjD+Mc4z6jP2M/Iz4jPuMqI1JjkuOSI5KjkSPPo9Cj0WPP49/kH2QhJCBkIKQgJA5kaORnpGckU2TgpMok3WTSpNlk0uTGJN+k2yTW5Nwk1qTVJPKlcuVzJXIlcaVsZa4ltaWHJcel6CX05dGmLaYNZkBmv+Zrpurm6qbrZs7nT+di57Pnt6e3J7dntuePp9Ln+JTlVauVtlY2Fg4W11f42EzYvRk8mT+ZAZl+mT7ZPdkt2XcZiZns2qsasNqu2q4asJqrmqval9reGuvawlwC3D+bwZw+m8RcA9w+3H8cf5x+HF3c3Vzp3S/dBV1VnZYdlJ2vXe/d7t3vHcOea55YXpiemB6xHrFeit8J3wqfB58I3whfOd8VH5Vfl5+Wn5hflJ+WX5If/l/+393gHaAzYHPgQqCz4Wphc2F0IXJhbCFuoW5haaF74fsh/KH4IeGibKJ9IkoizmLLIsri1CMBY1ZjmOOZo5kjl+OVY7AjkmPTY+HkIOQiJCrkayR0JGUk4qTlpOik7OTrpOsk7CTmJOak5eT1JXWldCV1ZXiltyW2Zbblt6WJJejl6aXrZf5l02YT5hMmE6YU5i6mD6ZP5k9mS6ZpZkOmsGaA5sGm0+bTptNm8qbyZv9m8ibwJtRnV2dYJ3gnhWfLJ8zUaVW3ljfWOJY9VuQn+xe8mH3YfZh9WEAZQ9l4GbdZuVq3WraatNqG3AfcChwGnAdcBVwGHAGcg1yWHKicnhzenO9dMp043SHdYZ1X3Zhdsd3GXmxeWt6aXo+fD98OHw9fDd8QHxrfm1+eX5pfmp+hX9zfrZ/uX+4f9iB6YXdheqF1YXkheWF94X7hwWIDYj5h/6HYIlfiVaJXolBi1yLWItJi1qLTotPi0aLWYsIjQqNfI5yjoeOdo5sjnqOdI5Uj06PrY+KkIuQsZGukeGT0ZPfk8OTyJPck92T1pPik82T2JPkk9eT6JPclbSW45YqlyeXYZfcl/uXXphYmFuYvJhFmUmZFpoZmg2b6Jvnm9ab25uJnWGdcp1qnWydkp6XnpOetJ74UqhWt1a2VrRWvFbkWEBbQ1t9W/ZbyV34YfphGGUUZRll5mYnZ+xqPnAwcDJwEHJ7c890YnZldiZ5KnkseSt5x3r2ekx8Q3xNfO988Hyuj31+fH6Cfkx/AIDagWaC+4X5hRGG+oUGhguGB4YKhhSIFYhkibqJ+Ilwi2yLZotvi1+La4sPjQ2NiY6BjoWOgo60kcuRGJQDlP2T4ZUwl8SYUplRmaiZK5owmjeaNZoTnA2ceZ61nuieL59fn2OfYZ83UThRwVbAVsJWFFlsXM1d/GH+YR1lHGWVZelm+2oEa/pqsmtMcBtyp3LWdNR0aXbTd1B8j36Mfrx/F4YthhqGI4giiCGIH4hqiWyJvYl0i3eLfYsTjYqOjY6Ljl+Pr4+6kS6UM5Q1lDqUOJQylCuU4pU4lzmXMpf/l2eYZZhXmUWaQ5pAmj6az5pUm1GbLZwlnK+dtJ3CnbidnZ7vnhmfXJ9mn2efPFE7UchWylbJVn9b1F3SXU5f/2EkZQprYWtRcFhwgHPkdIp1bnZsdrN5YHxffH6AfYDfgXKJb4n8iYCLFo0XjZGOk45hj0iRRJRRlFKUPZc+l8OXwZdrmFWZVZpNmtKaGptJnDGcPpw7nNOd1500n2yfap+Un8xW1l0AYiNlK2UqZexmEGvadMp6ZHxjfGV8k36WfpR+4oE4hj+GMYiKi5CQj5BjlGCUZJRol2+YXJlamluaV5rTmtSa0ZpUnFecVpzlnZ+e9J7RVulYLGVecHF2cnbXd1B/iH82iDmIYoiTi5KLlot3ghuNwJFqlEKXSJdEl8aXcJhfmiKbWJtfnPmd+p18nn2eB593n3Kf814Wa2NwbHxufDuIwImhjsGRcpRwlHGYXpnWmiObzJ5kcNp3mot3lMmXYpplmpx+nIuqjsWRfZR+lHyUd5x4nPeeVIx/lBqeKHJqmjGbG54ennJ8YCRhJGIkYyRkJGUkZiRnJGgkaSR0JHUkdiR3JHgkeSR6JHskfCR9JHAhcSFyIXMhdCF1IXYhdyF4IXkhNk4/ToVOoE6CUZZRq1H5UjhTaVO2UwpZgFvbXXpef170XlBfYV80ZeBlknV2drWPtpaoAMYC/TD+MJ0wnjAAAAAABTAGMAcw/DA7/z3/PSdBMEIwQzBEMEUwRjBHMEgwSTBKMEswTDBNME4wTzBQMFEwUjBTMFQwVTBWMFcwWDBZMFowWzBcMF0wXjBfMGAwYTBiMGMwZDBlMGYwZzBoMGkwajBrMGwwbTBuMG8wcDBxMHIwczB0MHUwdjB3MHgweTB6MHswfDB9MH4wfzCAMIEwgjCDMIQwhTCGMIcwiDCJMIowizCMMI0wjjCPMJAwkTCSMJMwoTCiMKMwpDClMKYwpzCoMKkwqjCrMKwwrTCuMK8wsDCxMLIwszC0MLUwtjC3MLgwuTC6MLswvDC9ML4wvzDAMMEwwjDDMMQwxTDGMMcwyDDJMMowyzDMMM0wzjDPMNAw0TDSMNMw1DDVMNYw1zDYMNkw2jDbMNww3TDeMN8w4DDhMOIw4zDkMOUw5jDnMOgw6TDqMOsw7DDtMO4w7zDwMPEw8jDzMPQw9TD2MBAEEQQSBBMEFAQVBAEEFgQXBBgEGQQaBBsEHAQdBB4EHwQgBCEEIgQjBCQEJQQmBCcEKAQpBCoEKwQsBC0ELgQvBDAEMQQyBDMENAQ1BFEENgQ3BDgEOQQ6BDsEPAQ9BD4EPwRABEEEQgRDBEQERQRGBEcESARJBEoESwRMBE0ETgRPBOchuCG5Ic8xzABaTooAAlKRRLCfiFGxnwd2AEGM8wULzXvi/+T/B/8C/zEyFiEhIZswnDCALoQuhi6HLoguii6MLo0ulS6cLp0upS6nLqourC6uLrYuvC6+LsYuyi7MLs0uzy7WLtcu3i7jLgAAAAAAAIMCUAJbAlQCdQJTAfgASwGKAmoCQk5cTvVRGlOCUwdODE5HTo1O11YM+m5cc18PTodRDk4uTpNOwk7JTshOmFH8UmxTuVMgVwNZLFkQXP9d4WWza8xrFGw/cjFOPE7oTtxO6U7hTt1O2k4MUhxTTFMiVyNXF1kvWYFbhFsSXDtcdFxzXARegF6CXslfCWJQYhVsNmxDbD9sO2yucrByinO4eYqAHpYOTxhPLE/1ThRP8U4AT/dOCE8dTwJPBU8iTxNPBE/0ThJPsVETUglSEFKmUiJTH1NNU4pTB1ThVt9WLlcqVzRXPFmAWXxZhVl7WX5Zd1l/WVZbFVwlXHxcelx7XH5c3111XoReAl8aX3Rf1V/UX89fXGJeYmRiYWJmYmJiWWJgYlpiZWLvZe5lPmc5ZzhnO2c6Zz9nPGczZxhsRmxSbFxsT2xKbFRsS2xMbHFwXnK0crVyjnMqdX92dXpRf3iCfIKAgn2Cf4JNhn6JmZCXkJiQm5CUkCKWJJYgliOWVk87T2JPSU9TT2RPPk9nT1JPX09BT1hPLU8zTz9PYU+PUblRHFIeUiFSrVKuUglTY1NyU45Tj1MwVDdUKlRUVEVUGVQcVCVUGFQ9VE9UQVQoVCRUR1TuVudW5VZBV0VXTFdJV0tXUlcGWUBZplmYWaBZl1mOWaJZkFmPWadZoVmOW5JbKFwqXI1cj1yIXItciVySXIpchlyTXJVc4F0KXg5ei16JXoxeiF6NXgVfHV94X3Zf0l/RX9Bf7V/oX+5f81/hX+Rf41/6X+9f91/7XwBg9F86YoNijGKOYo9ilGKHYnFie2J6YnBigWKIYndifWJyYnRiN2XwZfRl82XyZfVlRWdHZ1lnVWdMZ0hnXWdNZ1pnS2fQaxlsGmx4bGdsa2yEbItsj2xxbG9saWyabG1sh2yVbJxsZmxzbGVse2yObHRwenBjcr9yvXLDcsZywXK6csVylXOXc5NzlHOSczp1OXWUdZV1gXY9eTSAlYCZgJCAkoCcgJCCj4KFgo6CkYKTgoqCg4KEgniMyY+/j5+QoZClkJ6Qp5CgkDCWKJYvli2WM06YT3xPhU99T4BPh092T3RPiU+ET3dPTE+XT2pPmk95T4FPeE+QT5xPlE+eT5JPgk+VT2tPbk+eUbxRvlE1UjJSM1JGUjFSvFIKUwtTPFOSU5RTh1R/VIFUkVSCVIhUa1R6VH5UZVRsVHRUZlSNVG9UYVRgVJhUY1RnVGRU91b5Vm9XcldtV2tXcVdwV3ZXgFd1V3tXc1d0V2JXaFd9VwxZRVm1WbpZz1nOWbJZzFnBWbZZvFnDWdZZsVm9WcBZyFm0WcdZYltlW5NblVtEXEdcrlykXKBctVyvXKhcrFyfXKNcrVyiXKpcp1ydXKVctlywXKZcF14UXhleKF8iXyNfJF9UX4Jffl99X95f5V8tYCZgGWAyYAtgNGAKYBdgM2AaYB5gLGAiYA1gEGAuYBNgEWAMYAlgHGAUYj1irWK0YtFivmKqYrZiymKuYrNir2K7YqlisGK4Yj1lqGW7ZQlm/GUEZhJmCGb7ZQNmC2YNZgVm/WURZhBm9mYKZ4VnbGeOZ5Jndmd7Z5hnhmeEZ3RnjWeMZ3pnn2eRZ5lng2d9Z4FneGd5Z5RnJWuAa35r3msdbJNs7GzrbO5s2Wy2bNRsrWznbLds0GzCbLpsw2zGbO1s8mzSbN1stGyKbJ1sgGzebMBsMG3NbMdssGz5bM9s6WzRbJRwmHCFcJNwhnCEcJFwlnCCcJpwg3BqctZyy3LYcsly3HLSctRy2nLMctFypHOhc61zpnOic6BzrHOdc9106HQ/dUB1PnWMdZh1r3bzdvF28Hb1dvh3/Hf5d/t3+nf3d0J5P3nFeXh6e3r7enV8/Xw1gI+AroCjgLiAtYCtgCCCoILAgquCmoKYgpuCtYKngq6CvIKegrqCtIKogqGCqYLCgqSCw4K2gqKCcIZvhm2GboZWjNKPy4/Tj82P1o/Vj9ePspC0kK+Qs5CwkDmWPZY8ljqWQ5bNT8VP00+yT8lPy0/BT9RP3E/ZT7tPs0/bT8dP1k+6T8BPuU/sT0RSSVLAUsJSPVN8U5dTllOZU5hTulShVK1UpVTPVMNUDYO3VK5U1lS2VMVUxlSgVHBUvFSiVL5UclTeVLBUtVeeV59XpFeMV5dXnVebV5RXmFePV5lXpVeaV5VX9FgNWVNZ4VneWe5ZAFrxWd1Z+ln9WfxZ9lnkWfJZ91nbWelZ81n1WeBZ/ln0We1ZqFtMXNBc2FzMXNdcy1zbXN5c2lzJXMdcylzWXNNc1FzPXMhcxlzOXN9c+Fz5XSFeIl4jXiBeJF6wXqReol6bXqNepV4HXy5fVl+GXzdgOWBUYHJgXmBFYFNgR2BJYFtgTGBAYEJgX2AkYERgWGBmYG5gQmJDYs9iDWMLY/ViDmMDY+ti+WIPYwxj+GL2YgBjE2MUY/piFWP7YvBiQWVDZaplv2U2ZiFmMmY1ZhxmJmYiZjNmK2Y6Zh1mNGY5Zi5mD2cQZ8Fn8mfIZ7pn3Ge7Z/hn2GfAZ7dnxWfrZ+Rn32e1Z81ns2f3Z/Zn7mfjZ8JnuWfOZ+dn8GeyZ/xnxmftZ8xnrmfmZ9tn+mfJZ8pnw2fqZ8tnKGuCa4RrtmvWa9hr4GsgbCFsKG00bS1tH208bT9tEm0KbdpsM20EbRltOm0abRFtAG0dbUJtAW0YbTdtA20PbUBtB20gbSxtCG0ibQltEG23cJ9wvnCxcLBwoXC0cLVwqXBBcklySnJscnByc3Jucspy5HLocuty33LqcuZy43KFc8xzwnPIc8VzuXO2c7VztHPrc79zx3O+c8NzxnO4c8tz7HTudC51R3VIdad1qnV5dsR2CHcDdwR3BXcKd/d2+3b6dud36HcGeBF4EngFeBB4D3gOeAl4A3gTeEp5THlLeUV5RHnVec15z3nWec55gHp+etF6AHsBe3p8eHx5fH98gHyBfAN9CH0BfVh/kX+Nf75/B4AOgA+AFIA3gNiAx4DggNGAyIDCgNCAxYDjgNmA3IDKgNWAyYDPgNeA5oDNgP+BIYKUgtmC/oL5ggeD6IIAg9WCOoPrgtaC9ILsguGC8oL1ggyD+4L2gvCC6oLkguCC+oLzgu2Cd4Z0hnyGc4ZBiE6IZ4hqiGmI04kEigeKco3jj+GP7o/gj/GQvZC/kNWQxZC+kMeQy5DIkNSR05FUlk+WUZZTlkqWTpYeUAVQB1ATUCJQMFAbUPVP9E8zUDdQLFD2T/dPF1AcUCBQJ1A1UC9QMVAOUFpRlFGTUcpRxFHFUchRzlFhUlpSUlJeUl9SVVJiUs1SDlOeUyZV4lQXVRJV51TzVORUGlX/VARVCFXrVBFVBVXxVApV+1T3VPhU4FQOVQNVC1UBVwJXzFcyWNVX0le6V8ZXvVe8V7hXtle/V8dX0Fe5V8FXDllKWRlaFlotWi5aFVoPWhdaCloeWjNabFunW61brFsDXFZcVFzsXP9c7lzxXPdcAF35XCleKF6oXq5eql6sXjNfMF9nX11gWmBnYEFgomCIYIBgkmCBYJ1gg2CVYJtgl2CHYJxgjmAZYkZi8mIQY1ZjLGNEY0VjNmNDY+RjOWNLY0pjPGMpY0FjNGNYY1RjWWMtY0djM2NaY1FjOGNXY0BjSGNKZUZlxmXDZcRlwmVKZl9mR2ZRZhJnE2cfaBpoSWgyaDNoO2hLaE9oFmgxaBxoNWgraC1oL2hOaERoNGgdaBJoFGgmaChoLmhNaDpoJWggaCxrL2stazFrNGtta4KAiGvma+Rr6Gvja+Jr52slbHptY21kbXZtDW1hbZJtWG1ibW1tb22RbY1t721/bYZtXm1nbWBtl21wbXxtX22CbZhtL21obYttfm2AbYRtFm2DbXttfW11bZBt3HDTcNFw3XDLcDl/4nDXcNJw3nDgcNRwzXDFcMZwx3DacM5w4XBCcnhyd3J2cgBz+nL0cv5y9nLzcvtyAXPTc9lz5XPWc7xz53Pjc+lz3HPSc9tz1HPdc9pz13PYc+hz3nTfdPR09XQhdVt1X3WwdcF1u3XEdcB1v3W2dbp1inbJdh13G3cQdxN3EncjdxF3FXcZdxp3IncndyN4LHgieDV4L3goeC54K3gheCl4M3gqeDF4VHlbeU95XHlTeVJ5UXnreex54Hnuee156nnced553XmGeol6hXqLeox6inqHeth6EHsEexN7BXsPewh7CnsOewl7EnuEfJF8inyMfIh8jXyFfB59HX0RfQ59GH0WfRN9H30SfQ99DH1cf2F/Xn9gf11/W3+Wf5J/w3/Cf8B/FoA+gDmA+oDygPmA9YABgfuAAIEBgi+CJYIzgy2DRIMZg1GDJYNWgz+DQYMmgxyDIoNCg06DG4MqgwiDPINNgxaDJIMggzeDL4Mpg0eDRYNMg1ODHoMsg0uDJ4NIg1OGUoaihqiGloaNhpGGnoaHhpeGhoaLhpqGhYalhpmGoYanhpWGmIaOhp2GkIaUhkOIRIhtiHWIdohyiICIcYh/iG+Ig4h+iHSIfIgSikeMV4x7jKSMo4x2jXiNtY23jbaN0Y7Tjv6P9Y8CkP+P+48EkPyP9o/WkOCQ2ZDakOOQ35DlkNiQ25DXkNyQ5JBQkU6RT5HVkeKR2pFcll+WvJbjmN+aL5t/TnBQalBhUF5QYFBTUEtQXVByUEhQTVBBUFtQSlBiUBVQRVBfUGlQa1BjUGRQRlBAUG5Qc1BXUFFQ0FFrUm1SbFJuUtZS01ItU5xTdVV2VTxVTVVQVTRVKlVRVWJVNlU1VTBVUlVFVQxVMlVlVU5VOVVIVS1VO1VAVUtVClcHV/tXFFjiV/ZX3Ff0VwBY7Vf9VwhY+FcLWPNXz1cHWO5X41fyV+VX7FfhVw5Y/FcQWOdXAVgMWPFX6VfwVw1YBFhcWWBaWFpVWmdaXlo4WjVabVpQWl9aZVpsWlNaZFpXWkNaXVpSWkRaW1pIWo5aPlpNWjlaTFpwWmlaR1pRWlZaQlpcWnJbblvBW8BbWVweXQtdHV0aXSBdDF0oXQ1dJl0lXQ9dMF0SXSNdH10uXT5eNF6xXrReuV6yXrNeNl84X5tfll+fX4pgkGCGYL5gsGC6YNNg1GDPYORg2WDdYMhgsWDbYLdgymC/YMNgzWDAYDJjZWOKY4JjfWO9Y55jrWOdY5djq2OOY29jh2OQY25jr2N1Y5xjbWOuY3xjpGM7Y59jeGOFY4FjkWONY3BjU2XNZWVmYWZbZllmXGZiZhhneWiHaJBonGhtaG5ormiraFZpb2ijaKxoqWh1aHRosmiPaHdokmh8aGtocmiqaIBocWh+aJtolmiLaKBoiWikaHhoe2iRaIxoimh9aDZrM2s3azhrkWuPa41rjmuMaypswG2rbbRts210bqxt6W3ibbdt9m3UbQBuyG3gbd9t1m2+beVt3G3dbdtt9G3Kbb1t7W3wbbpt1W3Cbc9tyW3QbfJt0239bddtzW3jbbtt+nANcfdwF3H0cAxx8HAEcfNwEHH8cP9wBnETcQBx+HD2cAtxAnEOcX5ye3J8cn9yHXMXcwdzEXMYcwpzCHP/cg9zHnOIc/Zz+HP1cwR0AXT9cwd0AHT6c/xz/3MMdAt09HMIdGR1Y3XOddJ1z3XLdcx10XXQdY92iXbTdjl3L3ctdzF3Mnc0dzN3PXcldzt3NXdIeFJ4SXhNeEp4THgmeEV4UHhkeWd5aXlqeWN5a3lhebt5+nn4efZ593mPepR6kHo1e0d7NHslezB7InskezN7GHsqex17MXsrey17L3syezh7Gnsje5R8mHyWfKN8NX09fTh9Nn06fUV9LH0pfUF9R30+fT99Sn07fSh9Y3+Vf5x/nX+bf8p/y3/Nf9B/0X/Hf89/yX8fgB6AG4BHgEOASIAYgSWBGYEbgS2BH4EsgR6BIYEVgSeBHYEigRGCOIIzgjqCNIIygnSCkIOjg6iDjYN6g3ODpIN0g4+DgYOVg5mDdYOUg6mDfYODg4yDnYObg6qDi4N+g6WDr4OIg5eDsIN/g6aDh4Oug3aDmoNZhlaGv4a3hsKGwYbFhrqGsIbIhrmGs4a4hsyGtIa7hryGw4a9hr6GUoiJiJWIqIiiiKqImoiRiKGIn4iYiKeImYibiJeIpIisiIyIk4iOiIKJ1onZidWJMIoniiyKHoo5jDuMXIxdjH2MpYx9jXuNeY28jcKNuY2/jcGN2I7ejt2O3I7XjuCO4Y4kkAuQEZAckAyQIZDvkOqQ8JD0kPKQ85DUkOuQ7JDpkFaRWJFakVORVZHskfSR8ZHzkfiR5JH5keqR65H3keiR7pF6lYaViJV8lm2Wa5Zxlm+Wv5ZqlwSY5ZiXmZtQlVCUUJ5Qi1CjUINQjFCOUJ1QaFCcUJJQglCHUF9R1FESUxFTpFOnU5FVqFWlVa1Vd1VFVqJVk1WIVY9VtVWBVaNVklWkVX1VjFWmVX9VlVWhVY5VDFcpWDdYGVgeWCdYI1goWPVXSFglWBxYG1gzWD9YNlguWDlYOFgtWCxYO1hhWa9alFqfWnpaolqeWnhaplp8WqVarFqVWq5aN1qEWopal1qDWotaqVp7Wn1ajFqcWo9ak1qdWupbzVvLW9Rb0VvKW85bDFwwXDddQ11rXUFdS10/XTVdUV1OXVVdM106XVJdPV0xXVldQl05XUldOF08XTJdNl1AXUVdRF5BXlhfpl+lX6tfyWC5YMxg4mDOYMRgFGHyYAphFmEFYfVgE2H4YPxg/mDBYANhGGEdYRBh/2AEYQthSmKUY7FjsGPOY+Vj6GPvY8NjnWTzY8pj4GP2Y9Vj8mP1Y2Fk32O+Y91j3GPEY9hj02PCY8djzGPLY8hj8GPXY9ljMmVnZWplZGVcZWhlZWWMZZ1lnmWuZdBl0mV8Zmxme2aAZnFmeWZqZnJmAWcMadNoBGncaCpp7GjqaPFoD2nWaPdo62jkaPZoE2kQafNo4WgHacxoCGlwabRoEWnvaMZoFGn4aNBo/Wj8aOhoC2kKaRdpzmjIaN1o3mjmaPRo0WgGadRo6WgVaSVpx2g5aztrP2s8a5Rrl2uZa5VrvWvwa/Jr82swbPxtRm5Hbh9uSW6IbjxuPW5FbmJuK24/bkFuXW5zbhxuM25LbkBuUW47bgNuLm5ebmhuXG5hbjFuKG5gbnFua245biJuMG5TbmVuJ254bmRud25VbnluUm5mbjVuNm5abiBxHnEvcftwLnExcSNxJXEicTJxH3EocTpxG3FLclpyiHKJcoZyhXKLchJzC3MwcyJzMXMzcydzMnMtcyZzI3M1cwxzLnQsdDB0K3QWdBp0IXQtdDF0JHQjdB10KXQgdDJ0+3QvdW91bHXnddp14XXmdd1133Xkddd1lXaSdtp2RndHd0R3TXdFd0p3TndLd0x33nfsd2B4ZHhleFx4bXhxeGp4bnhweGl4aHheeGJ4dHlzeXJ5cHkCegp6A3oMegR6mXrmeuR6Sns7e0R7SHtMe057QHtYe0V7onyefKh8oXxYfW99Y31TfVZ9Z31qfU99bX1cfWt9Un1UfWl9UX1ffU59Pn8/f2V/Zn+if6B/oX/Xf1GAT4BQgP6A1IBDgUqBUoFPgUeBPYFNgTqB5oHugfeB+IH5gQSCPII9gj+CdYI7g8+D+YMjhMCD6IMShOeD5IP8g/aDEITGg8iD64Pjg7+DAYTdg+WD2IP/g+GDy4POg9aD9YPJgwmED4TegxGEBoTCg/OD1YP6g8eD0YPqgxOEw4Psg+6DxIP7g9eD4oMbhNuD/oPYhuKG5obThuOG2obqht2G64bchuyG6YbXhuiG0YZIiFaIVYi6iNeIuYi4iMCIvoi2iLyIt4i9iLKIAYnJiJWJmImXid2J2onbiU6KTYo5ilmKQIpXiliKRIpFilKKSIpRikqKTIpPil+MgYyAjLqMvoywjLmMtYyEjYCNiY3YjdONzY3HjdaN3I3PjdWN2Y3IjdeNxY3vjveO+o75juaO7o7ljvWO547ojvaO647xjuyO9I7pji2QNJAvkAaRLJEEkf+Q/JAIkfmQ+5ABkQCRB5EFkQORYZFkkV+RYpFgkQGSCpIlkgOSGpImkg+SDJIAkhKS/5H9kQaSBJInkgKSHJIkkhmSF5IFkhaSe5WNlYyVkJWHln6WiJaJloOWgJbClsiWw5bxlvCWbJdwl26XB5ipmOuY5pz5noNOhE62Tr1Qv1DGUK5QxFDKULRQyFDCULBQwVC6ULFQy1DJULZQuFDXUXpSeFJ7UnxSw1XbVcxV0FXLVcpV3VXAVdRVxFXpVb9V0lWNVc9V1VXiVdZVyFXyVc1V2VXCVRRXU1hoWGRYT1hNWElYb1hVWE5YXVhZWGVYW1g9WGNYcVj8WMdaxFrLWrpauFqxWrVasFq/Wshau1rGWrdawFrKWrRatlrNWrlakFrWW9hb2VsfXDNccV1jXUpdZV1yXWxdXl1oXWddYl3wXU9eTl5KXk1eS17FXsxexl7LXsdeQF+vX61f92BJYUphK2FFYTZhMmEuYUZhL2FPYSlhQGEgYmiRI2IlYiRixWPxY+tjEGQSZAlkIGQkZDNkQ2QfZBVkGGQ5ZDdkImQjZAxkJmQwZChkQWQ1ZC9kCmQaZEBkJWQnZAtk52MbZC5kIWQOZG9lkmXTZYZmjGaVZpBmi2aKZplmlGZ4ZiBnZmlfaThpTmliaXFpP2lFaWppOWlCaVdpWWl6aUhpSWk1aWxpM2k9aWVp8Gh4aTRpaWlAaW9pRGl2aVhpQWl0aUxpO2lLaTdpXGlPaVFpMmlSaS9pe2k8aUZrRWtDa0JrSGtBa5trDfr7a/xr+Wv3a/hrm27Wbshuj27Abp9uk26UbqBusW65bsZu0m69bsFunm7JbrdusG7NbqZuz26ybr5uw27cbthumW6Sbo5ujW6kbqFuv26zbtBuym6Xbq5uo25HcVRxUnFjcWBxQXFdcWJxcnF4cWpxYXFCcVhxQ3FLcXBxX3FQcVNxRHFNcVpxT3KNcoxykXKQco5yPHNCcztzOnNAc0pzSXNEdEp0S3RSdFF0V3RAdE90UHROdEJ0RnRNdFR04XT/dP50/XQddXl1d3WDae91D3YDdvd1/nX8dfl1+HUQdvt19nXtdfV1/XWZdrV23XZVd193YHdSd1Z3Wndpd2d3VHdZd2134HeHeJp4lHiPeIR4lXiFeIZ4oXiDeHl4mXiAeJZ4e3h8eYJ5fXl5eRF6GHoZehJ6F3oVeiJ6E3obehB6o3qiep5663pme2R7bXt0e2l7cntle3N7cXtwe2F7eHt2e2N7sny0fK98iH2GfYB9jX1/fYV9en2OfXt9g318fYx9lH2EfX19kn1tf2t/Z39of2x/pn+lf6d/23/cfyGAZIFggXeBXIFpgVuBYoFygSFnXoF2gWeBb4FEgWGBHYJJgkSCQIJCgkWC8YQ/hFaEdoR5hI+EjYRlhFGEQISGhGeEMIRNhH2EWoRZhHSEc4RdhAeFXoQ3hDqENIR6hEOEeIQyhEWEKYTZg0uEL4RChC2EX4RwhDmEToRMhFKEb4TFhI6EO4RHhDaEM4RohH6ERIQrhGCEVIRuhFCEC4cEh/eGDIf6htaG9YZNh/iGDocJhwGH9oYNhwWH1ojLiM2IzojeiNuI2ojMiNCIhYmbid+J5YnkieGJ4IniidyJ5ol2ioaKf4phij+Kd4qCioSKdYqDioGKdIp6ijyMS4xKjGWMZIxmjIaMhIyFjMyMaI1pjZGNjI2OjY+NjY2TjZSNkI2SjfCN4I3sjfGN7o3QjemN443ijeeN8o3rjfSNBo//jgGPAI8FjwePCI8CjwuPUpA/kESQSZA9kBCRDZEPkRGRFpEUkQuRDpFukW+RSJJSkjCSOpJmkjOSZZJekoOSLpJKkkaSbZJskk+SYJJnkm+SNpJhknCSMZJUkmOSUJJykk6SU5JMklaSMpKflZyVnpWblZKWk5aRlpeWzpb6lv2W+Jb1lnOXd5d4l3KXD5gNmA6YrJj2mPmYr5mymbCZtZmtmquaW5vqnO2c55yAnv2e5lDUUNdQ6FDzUNtQ6lDdUORQ01DsUPBQ71DjUOBQ2FGAUoFS6VLrUjBTrFMnVhVWDFYSVvxVD1YcVgFWE1YCVvpVHVYEVv9V+VWJWHxYkFiYWIZYgVh/WHRYi1h6WIdYkViOWHZYgliIWHtYlFiPWP5Ya1ncWu5a5VrVWupa2lrtWuta81riWuBa21rsWt5a3VrZWuha31p3W+Bb41tjXIJdgF19XYZdel2BXXddil2JXYhdfl18XY1deV1/XVheWV5TXthe0V7XXs5e3F7VXtle0l7UXkRfQ19vX7ZfLGEoYUFhXmFxYXNhUmFTYXJhbGGAYXRhVGF6YVthZWE7YWphYWFWYSliJ2IrYitkTWRbZF1kdGR2ZHJkc2R9ZHVkZmSmZE5kgmReZFxkS2RTZGBkUGR/ZD9kbGRrZFlkZWR3ZHNloGWhZqBmn2YFZwRnImexabZpyWmgac5plmmwaaxpvGmRaZlpjmmnaY1pqWm+aa9pv2nEab1ppGnUablpymmaac9ps2mTaappoWmeadlpl2mQacJptWmlacZpSmtNa0trnmufa6Brw2vEa/5rzm71bvFuA28lb/huN2/7bi5vCW9ObxlvGm8nbxhvO28Sb+1uCm82b3Nv+W7ubi1vQG8wbzxvNW/rbgdvDm9DbwVv/W72bjlvHG/8bjpvH28Nbx5vCG8hb4dxkHGJcYBxhXGCcY9xe3GGcYFxl3FEclNyl3KVcpNyQ3NNc1FzTHNidHN0cXR1dHJ0Z3RudAB1AnUDdX11kHUWdgh2DHYVdhF2CnYUdrh2gXd8d4V3gndud4B3b3d+d4N3sniqeLR4rXioeH54q3ieeKV4oHiseKJ4pHiYeYp5i3mWeZV5lHmTeZd5iHmSeZB5K3pKejB6L3ooeiZ6qHqreqx67nqIe5x7inuRe5B7lnuNe4x7m3uOe4V7mHuEUpl7pHuCe7t8v3y8fLp8p323fcJ9o32qfcF9wH3FfZ19zn3EfcZ9y33Mfa99uX2Wfbx9n32mfa59qX2hfcl9c3/if+N/5X/efySAXYBcgImBhoGDgYeBjYGMgYuBFYKXhKSEoYSfhLqEzoTChKyEroSrhLmEtITBhM2EqoSahLGE0ISdhKeEu4SihJSEx4TMhJuEqYSvhKiE1oSYhLaEz4SghNeE1ITShNuEsISRhGGGM4cjhyiHa4dAhy6HHochhxmHG4dDhyyHQYc+h0aHIIcyhyqHLYc8hxKHOocxhzWHQocmhyeHOIckhxqHMIcRh/eI54jxiPKI+oj+iO6I/Ij2iPuI8IjsiOuInYmhiZ+JnonpieuJ6ImripmKi4qSio+Kloo9jGiMaYzVjM+M14yWjQmOAo7/jQ2O/Y0KjgOOB44GjgWO/o0AjgSOEI8Rjw6PDY8jkRyRIJEikR+RHZEakSSRIZEbkXqRcpF5kXORpZKkknaSm5J6kqCSlJKqko2SppKakquSeZKXkn+So5Luko6SgpKVkqKSfZKIkqGSipKGkoySmZKnkn6Sh5Kpkp2Si5Itkp6WoZb/lliXfZd6l36Xg5eAl4KXe5eEl4GXf5fOl82XFpitmK6YApkAmQeZnZmcmcOZuZm7mbqZwpm9mceZsZrjmueaPps/m2CbYZtfm/Gc8pz1nKee/1ADUTBR+FAGUQdR9lD+UAtRDFH9UApRi1KMUvFS71JIVkJWTFY1VkFWSlZJVkZWWFZaVkBWM1Y9VixWPlY4VipWOlYaV6tYnVixWKBYo1ivWKxYpVihWP9Y/1r0Wv1a91r2WgNb+FoCW/laAVsHWwVbD1tnXJldl12fXZJdol2TXZVdoF2cXaFdml2eXWleXV5gXlxe833bXt5e4V5JX7Jfi2GDYXlhsWGwYaJhiWGbYZNhr2GtYZ9hkmGqYaFhjWFmYbNhLWJuZHBklmSgZIVkl2ScZI9ki2SKZIxko2SfZGhksWSYZHZlemV5ZXtlsmWzZbVmsGapZrJmt2aqZq9mAGoGahdq5Wn4aRVq8WnkaSBq/2nsaeJpG2odav5pJ2ryae5pFGr3aedpQGoIauZp+2kNavxp62kJagRqGGolag9q9mkmagdq9GkWalFrpWuja6JrpmsBbABs/2sCbEFvJm9+b4dvxm+Sb41viW+Mb2JvT2+Fb1pvlm92b2xvgm9Vb3JvUm9Qb1dvlG+Tb11vAG9hb2tvfW9nb5BvU2+Lb2lvf2+Vb2Nvd29qb3tvsnGvcZtxsHGgcZpxqXG1cZ1xpXGecaRxoXGqcZxxp3GzcZhymnJYc1JzXnNfc2BzXXNbc2FzWnNZc2Jzh3SJdIp0hnSBdH10hXSIdHx0eXQIdQd1fnUldh52GXYddhx2I3Yadih2G3acdp12nnabdo13j3eJd4h3zXi7eM94zHjReM541HjIeMN4xHjJeJp5oXmgeZx5onmbeXZrOXqyerR6s3q3e8t7vnuse857r3u5e8p7tXvFfMh8zHzLfPd9233qfed9133hfQN++n3mffZ98X3wfe593312f6x/sH+tf+1/63/qf+x/5n/of2SAZ4CjgZ+BnoGVgaKBmYGXgRaCT4JTglKCUIJOglGCJIU7hQ+FAIUphQ6FCYUNhR+FCoUnhRyF+4QrhfqECIUMhfSEKoXyhBWF94TrhPOE/IQSheqE6YQWhf6EKIUdhS6FAoX9hB6F9oQxhSaF54TohPCE74T5hBiFIIUwhQuFGYUvhWKGVodjh2SHd4fhh3OHWIdUh1uHUodhh1qHUYdeh22HaodQh06HX4ddh2+HbId6h26HXIdlh0+He4d1h2KHZ4dph1qIBYkMiRSJC4kXiRiJGYkGiRaJEYkOiQmJoomkiaOJ7YnwieyJz4rGiriK04rRitSK1Yq7iteKvorAisWK2IrDirqKvYrZij6MTYyPjOWM34zZjOiM2ozdjOeMoI2cjaGNm40gjiOOJY4kji6OFY4bjhaOEY4ZjiaOJ44UjhKOGI4TjhyOF44ajiyPJI8YjxqPII8jjxaPF49zkHCQb5BnkGuQL5ErkSmRKpEykSaRLpGFkYaRipGBkYKRhJGAkdCSw5LEksCS2ZK2ks+S8ZLfktiS6ZLXkt2SzJLvksKS6JLKksiSzpLmks2S1ZLJkuCS3pLnktGS05K1kuGSxpK0knyVrJWrla6VsJWklqKW05YFlwiXApdal4qXjpeIl9CXz5cemB2YJpgpmCiYIJgbmCeYspgImfqYEZkUmRaZF5kVmdyZzZnPmdOZ1JnOmcmZ1pnYmcuZ15nMmbOa7JrrmvOa8prxmkabQ5tnm3SbcZtmm3abdZtwm2ibZJtsm/yc+pz9nP+c95wHnQCd+Zz7nAidBZ0EnYOe054PnxCfHFETURdRGlERUd5RNFPhU3BWYFZuVnNWZlZjVm1WclZeVndWHFcbV8hYvVjJWL9YuljCWLxYxlgXWxlbG1shWxRbE1sQWxZbKFsaWyBbHlvvW6xdsV2pXaddtV2wXa5dql2oXbJdrV2vXbRdZ15oXmZeb17pXude5l7oXuVeS1+8X51hqGGWYcVhtGHGYcFhzGG6Yb9huGGMYddk1mTQZM9kyWS9ZIlkw2TbZPNk2WQzZX9lfGWiZchmvmbAZspmy2bPZr1mu2a6ZsxmI2c0amZqSWpnajJqaGo+al1qbWp2altqUWooalpqO2o/akFqampkalBqT2pUam9qaWpgajxqXmpWalVqTWpOakZqVWtUa1Zrp2uqa6tryGvHawRsA2wGbK1vy2+jb8dvvG/Ob8hvXm/Eb71vnm/Kb6hvBHClb65vum+sb6pvz2+/b7hvom/Jb6tvzW+vb7JvsG/FccJxv3G4cdZxwHHBcctx1HHKccdxz3G9cdhxvHHGcdpx23Gdcp5yaXNmc2dzbHNlc2tzanN/dJp0oHSUdJJ0lXShdAt1gHUvdi12MXY9djN2PHY1djJ2MHa7duZ2mnedd6F3nHebd6J3o3eVd5l3l3fdeOl45XjqeN5443jbeOF44njteN944HikeUR6SHpHerZ6uHq1erF6t3ree+N753vde9V75Xvae+h7+XvUe+p74nvce+t72Hvfe9J81HzXfNB80XwSfiF+F34Mfh9+IH4Tfg5+HH4Vfhp+In4Lfg9+Fn4NfhR+JX4kfkN/e398f3p/sX/vfyqAKYBsgLGBpoGugbmBtYGrgbCBrIG0gbKBt4GngfKBVYJWgleCVoVFhWuFTYVThWGFWIVAhUaFZIVBhWKFRIVRhUeFY4U+hVuFcYVOhW6FdYVVhWeFYIWMhWaFXYVUhWWFbIVjhmWGZIabh4+Hl4eTh5KHiIeBh5aHmId5h4eHo4eFh5CHkYedh4SHlIech5qHiYceiSaJMIktiS6JJ4kxiSKJKYkjiS+JLIkfifGJ4IriivKK9Ir1it2KFIvkit+K8IrIit6K4Yroiv+K74r7ipGMkoyQjPWM7ozxjPCM84xsjW6NpY2njTOOPo44jkCORY42jjyOPY5BjjCOP469jjaPLo81jzKPOY83jzSPdpB5kHuQhpD6kDORNZE2kZORkJGRkY2Rj5Enkx6TCJMfkwaTD5N6kziTPJMbkyOTEpMBk0aTLZMOkw2Ty5Idk/qSJZMTk/mS95I0kwKTJJP/kimTOZM1kyqTFJMMkwuT/pIJkwCT+5IWk7yVzZW+lbmVupW2lb+VtZW9lamW1JYLlxKXEJeZl5eXlJfwl/iXNZgvmDKYJJkfmSeZKZmeme6Z7JnlmeSZ8JnjmeqZ6Znnmbmav5q0mrua9pr6mvma95ozm4CbhZuHm3ybfpt7m4Kbk5uSm5CbepuVm32biJslnRedIJ0enRSdKZ0dnRidIp0QnRmdH52Inoaeh56unq2e1Z7WnvqeEp89nyZRJVEiUSRRIFEpUfRSk1aMVo1WhlaEVoNWflaCVn9WgVbWWNRYz1jSWC1bJVsyWyNbLFsnWyZbL1suW3tb8VvyW7ddbF5qXr5fu1/DYbVhvGHnYeBh5WHkYehh3mHvZOlk42TrZORk6GSBZYBltmXaZdJmjWqWaoFqpWqJap9qm2qhap5qh2qTao5qlWqDaqhqpGqRan9qpmqaaoVqjGqSaltrrWsJbMxvqW/0b9Rv42/cb+1v52/mb95v8m/db+Jv6G/hcfFx6HHyceRx8HHicXNzbnNvc5d0snSrdJB0qnStdLF0pXSvdBB1EXUSdQ91hHVDdkh2SXZHdqR26Xa1d6t3sne3d7Z3tHexd6h38HfzeP14Ann7ePx48ngFefl4/ngEeat5qHlcelt6VnpYelR6Wnq+esB6wXoFfA988nsAfP97+3sOfPR7C3zzewJ8CXwDfAF8+Hv9ewZ88HvxexB8CnzofC1+PH5CfjN+SJg4fip+SX5Afkd+KX5MfjB+O342fkR+On5Ff39/fn99f/R/8n8sgLuBxIHMgcqBxYHHgbyB6YFbglqCXIKDhYCFj4WnhZWFoIWLhaOFe4WkhZqFnoV3hXyFiYWhhXqFeIVXhY6FloWGhY2FmYWdhYGFooWChYiFhYV5hXaFmIWQhZ+FaIa+h6qHrYfFh7CHrIe5h7WHvIeuh8mHw4fCh8yHt4evh8SHyoe0h7aHv4e4h72H3oeyhzWJM4k8iT6JQYlSiTeJQomtia+JronyifOJHosYixaLEYsFiwuLIosPixKLFYsHiw2LCIsGixyLE4sai0+McIxyjHGMb4yVjJSM+YxvjU6OTY5TjlCOTI5HjkOPQI+FkH6QOJGakaKRm5GZkZ+RoZGdkaCRoZODk6+TZJNWk0eTfJNYk1yTdpNJk1CTUZNgk22Tj5NMk2qTeZNXk1WTUpNPk3GTd5N7k2GTXpNjk2eTgJNOk1mTx5XAlcmVw5XFlbeVrpawlqyWIJcflxiXHZcZl5qXoZecl56XnZfVl9SX8ZdBmESYSphJmEWYQ5glmSuZLJkqmTOZMpkvmS2ZMZkwmZiZo5mhmQKa+pn0mfeZ+Zn4mfaZ+5n9mf6Z/JkDmr6a/pr9mgGb/JpIm5qbqJuem5ubppuhm6WbpJuGm6KboJuvmzOdQZ1nnTadLp0vnTGdOJ0wnUWdQp1DnT6dN51AnT2d9X8tnYqeiZ6NnrCeyJ7anvue/54knyOfIp9Un6CfMVEtUS5RmFacVpdWmladVplWcFk8W2lcalzAXW1ebl7YYd9h7WHuYfFh6mHwYeth1mHpYf9kBGX9ZPhkAWUDZfxklGXbZdpm22bYZsVquWq9auFqxmq6arZqt2rHarRqrWpea8lrC2wHcAxwDXABcAVwFHAOcP9vAHD7byZw/G/3bwpwAXL/cflxA3L9cXZzuHTAdLV0wXS+dLZ0u3TCdBR1E3VcdmR2WXZQdlN2V3ZadqZ2vXbsdsJ3unf/eAx5E3kUeQl5EHkSeRF5rXmseV96HHwpfBl8IHwffC18HXwmfCh8InwlfDB8XH5QflZ+Y35YfmJ+X35RfmB+V35TfrV/s3/3f/h/dYDRgdKB0IFfgl6CtIXGhcCFw4XChbOFtYW9hceFxIW/hcuFzoXIhcWFsYW2hdKFJIa4hbeFvoVphueH5ofih9uH64fqh+WH34fzh+SH1Ifch9OH7YfYh+OHpIfXh9mHAYj0h+iH3YdTiUuJT4lMiUaJUIlRiUmJKosniyOLM4swizWLR4svizyLPosxiyWLN4smizaLLoskizuLPYs6i0KMdYyZjJiMl4z+jASNAo0AjVyOYo5gjleOVo5ejmWOZ45bjlqOYY5djmmOVI5Gj0ePSI9LjyiROpE7kT6RqJGlkaeRr5GqkbWTjJOSk7eTm5Odk4mTp5OOk6qTnpOmk5WTiJOZk5+TjZOxk5GTspOkk6iTtJOjk6WT0pXTldGVs5bXltqWwl3fltiW3ZYjlyKXJZesl66XqJerl6SXqpeil6WX15fZl9aX2Jf6l1CYUZhSmLiYQZk8mTqZD5oLmgmaDZoEmhGaCpoFmgeaBprAmtyaCJsEmwWbKZs1m0qbTJtLm8ebxpvDm7+bwZu1m7ib05u2m8SbuZu9m1ydU51PnUqdW51LnVmdVp1MnVedUp1UnV+dWJ1anY6ejJ7fngGfAJ8WnyWfK58qnymfKJ9Mn1WfNFE1UZZS91K0U6tWrVamVqdWqlasVtpY3VjbWBJZPVs+Wz9bw11wXr9f+2EHZRBlDWUJZQxlDmWEZd5l3WXeZudq4GrMatFq2WrLat9q3GrQautqz2rNat5qYGuwawxsGXAncCBwFnArcCFwInAjcClwF3AkcBxwKnAMcgpyB3ICcgVypXKmcqRyo3Khcst0xXS3dMN0FnVgdsl3ynfEd/F3HXkbeSF5HHkXeR55sHlnemh6M3w8fDl8LHw7fOx86nx2fnV+eH5wfnd+b356fnJ+dH5ofkt/Sn+Df4Z/t3/9f/5/eIDXgdWBZIJhgmOC64Xxhe2F2YXhheiF2oXXheyF8oX4hdiF34XjhdyF0YXwheaF74XeheKFAIj6hwOI9of3hwmIDIgLiAaI/IcIiP+HCogCiGKJWolbiVeJYYlciViJXYlZiYiJt4m2ifaJUItIi0qLQItTi1aLVItLi1WLUYtCi1KLV4tDjHeMdoyajAaNB40JjayNqo2tjauNbY54jnOOao5vjnuOwo5Sj1GPT49Qj1OPtI9AkT+RsJGtkd6Tx5PPk8KT2pPQk/mT7JPMk9mTqZPmk8qT1JPuk+OT1ZPEk86TwJPSk+eTfZXalduV4ZYplyuXLJcolyaXs5e3l7aX3Zfel9+XXJhZmF2YV5i/mL2Yu5i+mEiZR5lDmaaZp5kamhWaJZodmiSaG5oimiCaJ5ojmh6aHJoUmsKaC5sKmw6bDJs3m+qb65vgm96b5Jvmm+Kb8JvUm9eb7Jvcm9mb5ZvVm+Gb2pt3nYGdip2EnYidcZ2AnXidhp2LnYydfZ1rnXSddZ1wnWmdhZ1znXudgp1vnXmdf52HnWidlJ6RnsCe/J4tn0CfQZ9Nn1afV59YnzdTsla1VrNW41hFW8Zdx13uXu9ewF/BX/lhF2UWZRVlE2XfZehm42bkZvNq8Grqauhq+Wrxau5q72o8cDVwL3A3cDRwMXBCcDhwP3A6cDlwQHA7cDNwQXATchRyqHJ9c3xzunSrdqp2vnbtdsx3znfPd8138ncleSN5J3koeSR5KXmyeW56bHptevd6SXxIfEp8R3xFfO58e35+foF+gH66f/9/eYDbgdmBC4JogmmCIob/hQGG/oUbhgCG9oUEhgmGBYYMhv2FGYgQiBGIF4gTiBaIY4lmibmJ94lgi2qLXYtoi2OLZYtni22Lro2GjoiOhI5Zj1aPV49Vj1iPWo+NkEORQZG3kbWRspGzkQuUE5T7kyCUD5QUlP6TFZQQlCiUGZQNlPWTAJT3kweUDpQWlBKU+pMJlPiTCpT/k/yTDJT2kxGUBpTeleCV35Uuly+XuZe7l/2X/pdgmGKYY5hfmMGYwphQmU6ZWZlMmUuZU5kymjSaMZosmiqaNpopmi6aOJotmseayprGmhCbEpsRmwucCJz3mwWcEpz4m0CcB5wOnAacF5wUnAmcn52ZnaSdnZ2SnZidkJ2bnaCdlJ2cnaqdl52hnZqdop2onZ6do52/namdlp2mnaedmZ6bnpqe5Z7knuee5p4wny6fW59gn16fXZ9Zn5GfOlE5UZhSl1LDVr1WvlZIW0dby13PXfFe/WEbZQJr/GoDa/hqAGtDcERwSnBIcElwRXBGcB1yGnIZcn5zF3VqdtB3LXkxeS95VHxTfPJ8in6Hfoh+i36Gfo1+TX+7fzCA3YEYhiqGJoYfhiOGHIYZhieGLoYhhiCGKYYehiWGKYgdiBuIIIgkiByIK4hKiG2JaYluiWuJ+ol5i3iLRYt6i3uLEI0Uja+Njo6Mjl6PW49dj0aRRJFFkbmRP5Q7lDaUKZQ9lDyUMJQ5lCqUN5QslECUMZTlleSV45U1lzqXv5fhl2SYyZjGmMCYWJlWmTmaPZpGmkSaQppBmjqaP5rNmhWbF5sYmxabOptSmyucHZwcnCycI5wonCmcJJwhnLedtp28ncGdx53Knc+dvp3FncOdu521nc6duZ26naydyJ2xna2dzJ2znc2dsp16npye657unu2eG58YnxqfMZ9On2WfZJ+Sn7lOxlbFVstWcVlLW0xb1V3RXfJeIWUgZSZlImULawhrCWsNbFVwVnBXcFJwHnIfcqlyf3PYdNV02XTXdG12rXY1ebR5cHpxeld8XHxZfFt8Wnz0fPF8kX5Pf4d/3oFrgjSGNYYzhiyGMoY2hiyIKIgmiCqIJYhxib+Jvon7iX6LhIuCi4aLhYt/ixWNlY6UjpqOko6QjpaOl45gj2KPR5FMlFCUSpRLlE+UR5RFlEiUSZRGlD+X45dqmGmYy5hUmVuZTppTmlSaTJpPmkiaSppJmlKaUJrQmhmbK5s7m1abVZtGnEicP5xEnDmcM5xBnDycN5w0nDKcPZw2nNud0p3endqdy53Qndyd0Z3fnemd2Z3Yndad9Z3Vnd2dtp7wnjWfM58yn0Kfa5+Vn6KfPVGZUuhY51hyWU1b2F0viE9fAWIDYgRiKWUlZZZl62YRaxJrD2vKa1twWnAicoJzgXODc3B21HdnfGZ8lX5sgjqGQIY5hjyGMYY7hj6GMIgyiC6IM4h2iXSJc4n+iYyLjouLi4iLRYwZjZiOZI9jj7yRYpRVlF2UV5RelMSXxZcAmFaaWZoemx+bIJtSnFicUJxKnE2cS5xVnFmcTJxOnPud953vneOd6534neSd9p3hne6d5p3ynfCd4p3snfSd853one2dwp7QnvKe854GnxyfOJ83nzafQ59Pn3GfcJ9un2+f01bNVk5bbVwtZe1m7mYTa19wYXBdcGBwI3LbdOV01Xc4ebd5tnlqfJd+iX9tgkOGOIg3iDWIS4iUi5WLno6fjqCOnY6+kb2RwpFrlGiUaZTllkaXQ5dHl8eX5ZdemtWaWZtjnGecZpxinF6cYJwCnv6dB54DngaeBZ4AngGeCZ7/nf2dBJ6gnh6fRp90n3Wfdp/UVi5luGUYaxlrF2saa2JwJnKqcth32Xc5eWl8a3z2fJp+mH6bfpl+4IHhgUaGR4ZIhnmJeol8iXuJ/4mYi5mLpY6kjqOObpRtlG+UcZRzlEmXcphfmWicbpxtnAueDZ4Qng+eEp4RnqGe9Z4Jn0efeJ97n3qfeZ8eV2Zwb3w8iLKNpo7DkXSUeJR2lHWUYJp0nHOccZx1nBSeE572ngqfpJ9ocGVw93xqhj6IPYg/iJ6LnIypjsmOS5dzmHSYzJhhmauZZJpmmmeaJJsVnheeSJ8HYh5rJ3JMhqiOgpSAlIGUaZpomi6bGZ4pckuGn4uDlHmct551dmuaepwdnmlwanCknn6fSZ+Yn4F4uZLPiLtYUmCnfPpaVCVmJVclYCVsJWMlWiVpJV0lUiVkJVUlXiVqJWElWCVnJVslUyVlJVYlXyVrJWIlWSVoJVwlUSVQJW0lbiVwJW8lkyUAAAAAAAAAMAEwAjC3ACUgJiCoAAMwrQAVICUiPP88IhggGSAcIB0gFDAVMAgwCTAKMAswDDANMA4wDzAQMBEwsQDXAPcAYCJkImUiHiI0IrAAMiAzIAMhKyHg/+H/5f9CJkAmICKlIhIjAiIHImEiUiKnADsgBiYFJsslzyXOJcclxiWhJaAlsyWyJb0lvCWSIZAhkSGTIZQhEzBqImsiGiI9Ih0iNSIrIiwiCCILIoYihyKCIoMiKiIpIiciKCLi/9Ih1CEAIgMitABe/8cC2ALdAtoC2QK4ANsCoQC/ANACLiIRIg8ipAAJITAgwSXAJbcltiVkJmAmYSZlJmcmYyaZIsgloyXQJdElkiWkJaUlqCWnJaYlqSVoJg8mDiYcJh4mtgAgICEglSGXIZkhliGYIW0maSZqJmwmfzIcMhYhxzMiIcIz2DMhIawgrgBBiO8GC4wDAf8C/wP/BP8F/wb/B/8I/wn/Cv8L/wz/Df8O/w//EP8R/xL/E/8U/xX/Fv8X/xj/Gf8a/xv/HP8d/x7/H/8g/yH/Iv8j/yT/Jf8m/yf/KP8p/yr/K/8s/y3/Lv8v/zD/Mf8y/zP/NP81/zb/N/84/zn/Ov87/+b/Pf8+/z//QP9B/0L/Q/9E/0X/Rv9H/0j/Sf9K/0v/TP9N/07/T/9Q/1H/Uv9T/1T/Vf9W/1f/WP9Z/1r/W/9c/13/4/8xMTIxMzE0MTUxNjE3MTgxOTE6MTsxPDE9MT4xPzFAMUExQjFDMUQxRTFGMUcxSDFJMUoxSzFMMU0xTjFPMVAxUTFSMVMxVDFVMVYxVzFYMVkxWjFbMVwxXTFeMV8xYDFhMWIxYzFkMWUxZjFnMWgxaTFqMWsxbDFtMW4xbzFwMXExcjFzMXQxdTF2MXcxeDF5MXoxezF8MX0xfjF/MYAxgTGCMYMxhDGFMYYxhzGIMYkxijGLMYwxjTGOMXAhcSFyIXMhdCF1IXYhdyF4IXkhAEGe8gYLFGAhYSFiIWMhZCFlIWYhZyFoIWkhAEHA8gYLMJEDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQOjA6QDpQOmA6cDqAOpAwBBgPMGCzCxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwwPEA8UDxgPHA8gDyQMAQb3zBguHASUCJQwlECUYJRQlHCUsJSQlNCU8JQElAyUPJRMlGyUXJSMlMyUrJTslSyUgJS8lKCU3JT8lHSUwJSUlOCVCJRIlESUaJRklFiUVJQ4lDSUeJR8lISUiJSYlJyUpJSolLSUuJTElMiU1JTYlOSU6JT0lPiVAJUElQyVEJUUlRiVHJUglSSVKJQBB+PQGC54BlTOWM5czEyGYM8QzozOkM6UzpjOZM5ozmzOcM50znjOfM6AzoTOiM8ozjTOOM48zzzOIM4kzyDOnM6gzsDOxM7IzszO0M7UztjO3M7gzuTOAM4EzgjODM4QzujO7M7wzvTO+M78zkDORM5IzkzOUMyYhwDPBM4ozizOMM9YzxTOtM64zrzPbM6kzqjOrM6wz3TPQM9MzwzPJM9wzxjMAQbT2BgueBMYA0ACqACYBAAAyAQAAPwFBAdgAUgG6AN4AZgFKAQAAYDJhMmIyYzJkMmUyZjJnMmgyaTJqMmsybDJtMm4ybzJwMnEycjJzMnQydTJ2MncyeDJ5MnoyezLQJNEk0iTTJNQk1STWJNck2CTZJNok2yTcJN0k3iTfJOAk4STiJOMk5CTlJOYk5yToJOkkYCRhJGIkYyRkJGUkZiRnJGgkaSRqJGskbCRtJG4kvQBTIVQhvAC+AFshXCFdIV4h5gARAfAAJwExATMBOAFAAUIB+ABTAd8A/gBnAUsBSQEAMgEyAjIDMgQyBTIGMgcyCDIJMgoyCzIMMg0yDjIPMhAyETISMhMyFDIVMhYyFzIYMhkyGjIbMpwknSSeJJ8koCShJKIkoySkJKUkpiSnJKgkqSSqJKskrCStJK4krySwJLEksiSzJLQktSR0JHUkdiR3JHgkeSR6JHskfCR9JH4kfySAJIEkgiS5ALIAswB0IH8ggSCCIIMghCBBMEIwQzBEMEUwRjBHMEgwSTBKMEswTDBNME4wTzBQMFEwUjBTMFQwVTBWMFcwWDBZMFowWzBcMF0wXjBfMGAwYTBiMGMwZDBlMGYwZzBoMGkwajBrMGwwbTBuMG8wcDBxMHIwczB0MHUwdjB3MHgweTB6MHswfDB9MH4wfzCAMIEwgjCDMIQwhTCGMIcwiDCJMIowizCMMI0wjjCPMJAwkTCSMJMwAEHo+gYLrAGhMKIwozCkMKUwpjCnMKgwqTCqMKswrDCtMK4wrzCwMLEwsjCzMLQwtTC2MLcwuDC5MLowuzC8ML0wvjC/MMAwwTDCMMMwxDDFMMYwxzDIMMkwyjDLMMwwzTDOMM8w0DDRMNIw0zDUMNUw1jDXMNgw2TDaMNsw3DDdMN4w3zDgMOEw4jDjMOQw5TDmMOcw6DDpMOow6zDsMO0w7jDvMPAw8TDyMPMw9DD1MPYwAEGk/AYLQhAEEQQSBBMEFAQVBAEEFgQXBBgEGQQaBBsEHAQdBB4EHwQgBCEEIgQjBCQEJQQmBCcEKAQpBCoEKwQsBC0ELgQvBABBhP0GC0IwBDEEMgQzBDQENQRRBDYENwQ4BDkEOgQ7BDwEPQQ+BD8EQARBBEIEQwREBEUERgRHBEgESQRKBEsETARNBE4ETwQAQZWCBwvbJKwBrASsB6wIrAmsCqwQrBGsEqwTrBSsFawWrBesGawarBusHKwdrCCsJKwsrC2sL6wwrDGsOKw5rDysQKxLrE2sVKxYrFyscKxxrHSsd6x4rHqsgKyBrIOshKyFrIasiayKrIusjKyQrJSsnKydrJ+soKyhrKisqayqrKysr6ywrLisuay7rLysvazBrMSsyKzMrNWs16zgrOGs5KznrOis6qzsrO+s8KzxrPOs9az2rPys/awArQStBq0MrQ2tD60RrRitHK0grSmtLK0trTStNa04rTytRK1FrUetSa1QrVStWK1hrWOtbK1trXCtc610rXWtdq17rXytfa1/rYGtgq2IrYmtjK2QrZytna2krbetwK3BrcStyK3QrdGt063creCt5K34rfmt/K3/rQCuAa4IrgmuC64NrhSuMK4xrjSuN644rjquQK5BrkOuRa5GrkquTK5Nrk6uUK5UrlauXK5drl+uYK5hrmWuaK5prmyucK54rnmue658rn2uhK6FroyuvK69rr6uwK7Ersyuza7PrtCu0a7Yrtmu3K7oruuu7a70rviu/K4HrwivDa8QryyvLa8wrzKvNK88rz2vP69Br0KvQ69Ir0mvUK9cr12vZK9lr3mvgK+Er4ivkK+Rr5WvnK+4r7mvvK/Ar8evyK/Jr8uvza/Or9Sv3K/or+mv8K/xr/Sv+K8AsAGwBLAMsBCwFLAcsB2wKLBEsEWwSLBKsEywTrBTsFSwVbBXsFmwXbB8sH2wgLCEsIywjbCPsJGwmLCZsJqwnLCfsKCwobCisKiwqbCrsKywrbCusK+wsbCzsLSwtbC4sLywxLDFsMewyLDJsNCw0bDUsNiw4LDlsAixCbELsQyxELESsROxGLEZsRuxHLEdsSOxJLElsSixLLE0sTWxN7E4sTmxQLFBsUSxSLFQsVGxVLFVsVixXLFgsXixebF8sYCxgrGIsYmxi7GNsZKxk7GUsZixnLGoscyx0LHUsdyx3bHfseix6bHssfCx+bH7sf2xBLIFsgiyC7IMshSyFbIXshmyILI0sjyyWLJcsmCyaLJpsnSydbJ8soSyhbKJspCykbKUspiymbKasqCyobKjsqWyprKqsqyysLK0ssiyybLMstCy0rLYstmy27LdsuKy5LLlsuay6LLrsuyy7bLusu+y87L0svWy97L4svmy+rL7sv+yALMBswSzCLMQsxGzE7MUsxWzHLNUs1WzVrNYs1uzXLNes1+zZLNls2ezabNrs26zcLNxs3SzeLOAs4Gzg7OEs4WzjLOQs5SzoLOhs6izrLPEs8WzyLPLs8yzzrPQs9Sz1bPXs9mz27Pds+Cz5LPos/yzELQYtBy0ILQotCm0K7Q0tFC0UbRUtFi0YLRhtGO0ZbRstIC0iLSdtKS0qLSstLW0t7S5tMC0xLTItNC01bTctN204LTjtOS05rTstO2077TxtPi0FLUVtRi1G7UctSS1JbUntSi1KbUqtTC1MbU0tTi1QLVBtUO1RLVFtUu1TLVNtVC1VLVctV21X7VgtWG1oLWhtaS1qLWqtau1sLWxtbO1tLW1tbu1vLW9tcC1xLXMtc21z7XQtdG12LXstRC2EbYUthi2JbYstjS2SLZktmi2nLadtqC2pLartqy2sbbUtvC29Lb4tgC3AbcFtyi3Kbcsty+3MLc4tzm3O7dEt0i3TLdUt1W3YLdkt2i3cLdxt3O3dbd8t323gLeEt4y3jbePt5C3kbeSt5a3l7eYt5m3nLegt6i3qbert6y3rbe0t7W3uLfHt8m37Lftt/C39Lf8t/23/7cAuAG4B7gIuAm4DLgQuBi4GbgbuB24JLgluCi4LLg0uDW4N7g4uDm4QLhEuFG4U7hcuF24YLhkuGy4bbhvuHG4eLh8uI24qLiwuLS4uLjAuMG4w7jFuMy40LjUuN2437jhuOi46bjsuPC4+Lj5uPu4/bgEuRi5ILk8uT25QLlEuUy5T7lRuVi5WblcuWC5aLlpuWu5bbl0uXW5eLl8uYS5hbmHuYm5irmNuY65rLmtubC5tLm8ub25v7nBuci5ybnMuc65z7nQudG50rnYudm527ndud654bnjueS55bnouey59Ln1ufe5+Ln5ufq5ALoBugi6Fbo4ujm6PLpAukK6SLpJuku6TbpOulO6VLpVuli6XLpkumW6Z7poumm6cLpxunS6eLqDuoS6hbqHuoy6qLqpuqu6rLqwurK6uLq5uru6vbrEusi62LrZuvy6ALsEuw27D7sRuxi7HLsguym7K7s0uzW7Nrs4uzu7PLs9uz67RLtFu0e7SbtNu0+7ULtUu1i7Ybtju2y7iLuMu5C7pLuou6y7tLu3u8C7xLvIu9C707v4u/m7/Lv/uwC8ArwIvAm8C7wMvA28D7wRvBS8FbwWvBe8GLwbvBy8HbwevB+8JLwlvCe8KbwtvDC8Mbw0vDi8QLxBvEO8RLxFvEm8TLxNvFC8XbyEvIW8iLyLvIy8jryUvJW8l7yZvJq8oLyhvKS8p7yovLC8sbyzvLS8tby8vL28wLzEvM28z7zQvNG81bzYvNy89Lz1vPa8+Lz8vAS9Bb0HvQm9EL0UvSS9LL1AvUi9Sb1MvVC9WL1ZvWS9aL2AvYG9hL2HvYi9ib2KvZC9kb2TvZW9mb2avZy9pL2wvbi91L3Vvdi93L3pvfC99L34vQC+A74Fvgy+Db4QvhS+HL4dvh++RL5Fvki+TL5OvlS+Vb5Xvlm+Wr5bvmC+Yb5kvmi+ar5wvnG+c750vnW+e758vn2+gL6Evoy+jb6PvpC+kb6Yvpm+qL7QvtG+1L7Xvti+4L7jvuS+5b7svgG/CL8Jvxi/Gb8bvxy/Hb9Av0G/RL9Iv1C/Ub9Vv5S/sL/Fv8y/zb/Qv9S/3L/fv+G/PMBRwFjAXMBgwGjAacCQwJHAlMCYwKDAocCjwKXArMCtwK/AsMCzwLTAtcC2wLzAvcC/wMDAwcDFwMjAycDMwNDA2MDZwNvA3MDdwOTA5cDowOzA9MD1wPfA+cAAwQTBCMEQwRXBHMEdwR7BH8EgwSPBJMEmwSfBLMEtwS/BMMExwTbBOME5wTzBQMFIwUnBS8FMwU3BVMFVwVjBXMFkwWXBZ8FowWnBcMF0wXjBhcGMwY3BjsGQwZTBlsGcwZ3Bn8GhwaXBqMGpwazBsMG9wcTByMHMwdTB18HYweDB5MHowfDB8cHzwfzB/cEAwgTCDMINwg/CEcIYwhnCHMIfwiDCKMIpwivCLcIvwjHCMsI0wkjCUMJRwlTCWMJgwmXCbMJtwnDCdMJ8wn3Cf8KBwojCicKQwpjCm8KdwqTCpcKowqzCrcK0wrXCt8K5wtzC3cLgwuPC5MLrwuzC7cLvwvHC9sL4wvnC+8L8wgDDCMMJwwzDDcMTwxTDFcMYwxzDJMMlwyjDKcNFw2jDacNsw3DDcsN4w3nDfMN9w4TDiMOMw8DD2MPZw9zD38Pgw+LD6MPpw+3D9MP1w/jDCMQQxCTELMQwxDTEPMQ9xEjEZMRlxGjEbMR0xHXEecSAxJTEnMS4xLzE6cTwxPHE9MT4xPrE/8QAxQHFDMUQxRTFHMUoxSnFLMUwxTjFOcU7xT3FRMVFxUjFScVKxUzFTcVOxVPFVMVVxVfFWMVZxV3FXsVgxWHFZMVoxXDFccVzxXTFdcV8xX3FgMWExYfFjMWNxY/FkcWVxZfFmMWcxaDFqcW0xbXFuMW5xbvFvMW9xb7FxMXFxcbFx8XIxcnFysXMxc7F0MXRxdTF2MXgxeHF48XlxezF7cXuxfDF9MX2xffF/MX9xf7F/8UAxgHGBcYGxgfGCMYMxhDGGMYZxhvGHMYkxiXGKMYsxi3GLsYwxjPGNMY1xjfGOcY7xkDGQcZExkjGUMZRxlPGVMZVxlzGXcZgxmzGb8ZxxnjGecZ8xoDGiMaJxovGjcaUxpXGmMacxqTGpcanxqnGsMaxxrTGuMa5xrrGwMbBxsPGxcbMxs3G0MbUxtzG3cbgxuHG6MbpxuzG8Mb4xvnG/cYExwXHCMcMxxTHFccXxxnHIMchxyTHKMcwxzHHM8c1xzfHPMc9x0DHRMdKx0zHTcdPx1HHUsdTx1THVcdWx1fHWMdcx2DHaMdrx3THdcd4x3zHfcd+x4PHhMeFx4fHiMeJx4rHjseQx5HHlMeWx5fHmMeax6DHocejx6THpcemx6zHrcewx7THvMe9x7/HwMfBx8jHycfMx87H0MfYx93H5Mfox+zHAMgByATICMgKyBDIEcgTyBXIFsgcyB3IIMgkyCzILcgvyDHIOMg8yEDISMhJyEzITchUyHDIcch0yHjIesiAyIHIg8iFyIbIh8iLyIzIjciUyJ3In8ihyKjIvMi9yMTIyMjMyNTI1cjXyNnI4MjhyOTI9cj8yP3IAMkEyQXJBskMyQ3JD8kRyRjJLMk0yVDJUclUyVjJYMlhyWPJbMlwyXTJfMmIyYnJjMmQyZjJmcmbyZ3JwMnBycTJx8nIycrJ0MnRydPJ1cnWydnJ2sncyd3J4MniyeTJ58nsye3J78nwyfHJ+Mn5yfzJAMoIygnKC8oMyg3KFMoYyinKTMpNylDKVMpcyl3KX8pgymHKaMp9yoTKmMq8yr3KwMrEyszKzcrPytHK08rYytnK4MrsyvTKCMsQyxTLGMsgyyHLQctIy0nLTMtQy1jLWctdy2TLeMt5y5zLuMvUy+TL58vpywzMDcwQzBTMHMwdzCHMIswnzCjMKcwszC7MMMw4zDnMO8w8zD3MPsxEzEXMSMxMzFTMVcxXzFjMWcxgzGTMZsxozHDMdcyYzJnMnMygzKjMqcyrzKzMrcy0zLXMuMy8zMTMxczHzMnM0MzUzOTM7MzwzAHNCM0JzQzNEM0YzRnNG80dzSTNKM0szTnNXM1gzWTNbM1tzW/Ncc14zYjNlM2VzZjNnM2kzaXNp82pzbDNxM3MzdDN6M3szfDN+M35zfvN/c0EzgjODM4UzhnOIM4hziTOKM4wzjHOM841zljOWc5czl/OYM5hzmjOac5rzm3OdM51znjOfM6EzoXOh86JzpDOkc6UzpjOoM6hzqPOpM6lzqzOrc7BzuTO5c7ozuvO7M70zvXO9874zvnOAM8BzwTPCM8QzxHPE88VzxzPIM8kzyzPLc8vzzDPMc84z1TPVc9Yz1zPZM9lz2fPac9wz3HPdM94z4DPhc+Mz6HPqM+wz8TP4M/hz+TP6M/wz/HP88/1z/zPANAE0BHQGNAt0DTQNdA40DzQRNBF0EfQSdBQ0FTQWNBg0GzQbdBw0HTQfNB90IHQpNCl0KjQrNC00LXQt9C50MDQwdDE0MjQydDQ0NHQ09DU0NXQ3NDd0ODQ5NDs0O3Q79Dw0PHQ+NAN0TDRMdE00TjROtFA0UHRQ9FE0UXRTNFN0VDRVNFc0V3RX9Fh0WjRbNF80YTRiNGg0aHRpNGo0bDRsdGz0bXRutG80cDR2NH00fjRB9IJ0hDSLNIt0jDSNNI80j3SP9JB0kjSXNJk0oDSgdKE0ojSkNKR0pXSnNKg0qTSrNKx0rjSudK80r/SwNLC0sjSydLL0tTS2NLc0uTS5dLw0vHS9NL40gDTAdMD0wXTDNMN0w7TENMU0xbTHNMd0x/TINMh0yXTKNMp0yzTMNM40znTO9M80z3TRNNF03zTfdOA04TTjNON04/TkNOR05jTmdOc06DTqNOp06vTrdO007jTvNPE08XTyNPJ09DT2NPh0+PT7NPt0/DT9NP80/3T/9MB1AjUHdRA1ETUXNRg1GTUbdRv1HjUedR81H/UgNSC1IjUidSL1I3UlNSp1MzU0NTU1NzU39To1OzU8NT41PvU/dQE1QjVDNUU1RXVF9U81T3VQNVE1UzVTdVP1VHVWNVZ1VzVYNVl1WjVadVr1W3VdNV11XjVfNWE1YXVh9WI1YnVkNWl1cjVydXM1dDV0tXY1dnV29Xd1eTV5dXo1ezV9NX11ffV+dUA1gHWBNYI1hDWEdYT1hTWFdYc1iDWJNYt1jjWOdY81kDWRdZI1knWS9ZN1lHWVNZV1ljWXNZn1mnWcNZx1nTWg9aF1ozWjdaQ1pTWndaf1qHWqNas1rDWuda71sTWxdbI1szW0dbU1tfW2dbg1uTW6Nbw1vXW/Nb91gDXBNcR1xjXGdcc1yDXKNcp1yvXLdc01zXXONc810TXR9dJ11DXUddU11bXV9dY11nXYNdh12PXZddp12zXcNd013zXfdeB14jXideM15DXmNeZ15vXndcAQayoBwvrTD1Pc09HUPlQoFLvU3VU5VQJVsFatluHZrZnt2fvZ0xrwnPCdTx624IEg1eIiIg2isiMz437juaP1Zk7UnRTBFRqYGRhvGvPcxqBuonSiaOVg08KUr5YeFnmWXJeeV7HYcBjRmfsZ39ol29Odgt39XgIev96IXydgG6CcYLripOVa06dVfdmNG6jeO16W4QQiU6HqJfYUk5XKlhMXR9hvmEhYmJl0WdEahtuGHWzdeN2sHc6fa+QUZRSlJWfI1OsXDJ124BAkpiVW1IIWNxZoVwXXbdeOl9KX3dhX2x6dYZ14HxzfbF9jH9UgSGCkYVBiRuL/JJNlkecy073TgtQ8VFPWDdhPmFoYTll6mkRb6V1hnbWdod7pYLLhAD5p5OLlYBVoltRVwH5s3y5f7WRKFC7U0Vc6F3SYm5j2mTnZCBurHBbed2NHo4C+X2QRZL4kn5O9k5lUP5d+l4GYVdpcYFUhkeOdZMrml5OkVBwZ0BoCVGNUpJSomq8dxCS1J6rUi9g8o9IUKlh7WPKZDxohGrAb4iBoYmUlgVYfXKscgR1eX1tfqmAi4l0i2OQUZ2JYnpsVG9QfTp/I4p8UUphnXsZi1eSjJOsTtNPHlC+UAZRwVLNUn9TcFeDWJpekV92YaxhzmRsZW9mu2b0Zpdoh22FcPFwn3SldMp02XVseOx433r2ekV9k30VgD+AG4GWg2aLFY8VkOGTA5g4mFqa6JvCT1NVOlhRWWNbRly4YBJiQmiwaOhoqm5MdXh2zng9evt8a358fgiKoYo/jI6WxJ3kU+lTSlRxVPpW0VlkWztcq173YjdlRWVyZaBmr2fBab1s/HWQdn53P3qUfwOAoYCPgeaC/YLwg8GFMYi0iKWKA/mcjy6Tx5ZnmNiaE5/tVJtl8maPaEB6N4xgnfBWZFcRXQZmsWjNaP5uKHSeiOSbaGwE+aiam09sUXFRn1JUW+VdUGBtYPFip2M7ZdlzenqjhqKMj5cyTuFbCGKcZ9x00XnTg4eKsorojU6QS5NGmNNe6Gn/he2QBfmgUZhb7FtjYfpoPmtMcC902HShe1B/xYPAiauM3JUomS5SXWDsYgKQik9JUSFT2VjjXuBmOG2acMJy1nNQe/GAW5RmU5tja39WToBQSljeWCpgJ2HQYtBpQZuPWxh9sYBfj6RO0VCsVKxVDFugXeddKmVOZSFoS2rhco5273deffl/oIFOhd+GA49Oj8qQA5lVmqubGE5FTl1Ox07xT3dR/lJAU+NT5VOOVBRWdVeiV8dbh13QXvxh2GJRZbhn6WfLaVBrxmvsa0JsnW54cNdylnMDdL936Xd2en99CYD8gQWCCoLfgmKIM4v8jMCOEZCxkGSStpLSmUWa6ZzXnZyfC1dAXMqDoJerl7SeG1SYeqR/2YjNjuGQAFhIXJhjn3quWxNfeXqueo6CrI4mUDhS+FJ3UwhX82JyYwprw203d6VTV3NohXaO1ZU6Z8NqcG9tisyOS5kG+XdmeGu0jDybB/nrUy1XTlnGY/tp6nNFeLp6xXr+fHWEj4lzjTWQqJX7UkdXR3Vge8yDHpII+VhqS1FLUodSH2LYaHVpmZbFUKRS5FLDYaRlOWj/aX50S3u5guuDsok5i9GPSZkJ+cpOl1nSZBFmjmo0dIF5vXmpgn6If4hfiQr5JpMLT8pTJWBxYnJsGn1mfZhOYlHcd6+AAU8OT3ZRgFHcVWhWO1f6V/xXFFlHWZNZxFuQXA5d8V1+XsxfgGLXZeNlHmcfZ15ny2jEaF9qOmsjbH1sgmzHbZhzJnQqdIJ0o3R4dX91gXjveEF5R3lIeXp5lXsAfbp9iH8GgC2AjIAYik+LSIx3jSGTJJPimFGZDpoPmmWakp7KfXZPCVTuYlRo0ZGrVTpRC/kM+Rxa5mEN+c9i/2IO+Q/5EPkR+RL5E/mjkBT5FfkW+Rf5GPn+ihn5Gvkb+Rz5lmYd+VZxHvkf+eOWIPlPY3pjV1Mh+Y9nYGlzbiL5N3Uj+ST5JfkNfSb5J/lyiMpWGFoo+Sn5Kvkr+Sz5Q04t+WdRSFnwZxCALvlzWXRemmTKefVfbGDIYntj51vXW6pSL/l0WSlfEmAw+TH5MvlZdDP5NPk1+Tb5N/k4+dGZOfk6+Tv5PPk9+T75P/lA+UH5QvlD+cNvRPlF+b+Bso/xYEb5R/lmgUj5Sfk/XEr5S/lM+U35TvlP+VD5UfnpWiWKe2cQfVL5U/lU+VX5VvlX+f2AWPlZ+Txc5Ww/U7puGlk2gzlOtk5GT65VGFfHWFZft2XmZYBqtWtNbu1373oefN59y4aSiDKRW5O7ZL5venO4dVSQVlVNV7ph1GTHZuFtW25tb7lv8HVDgL2BQYWDiceKWosfk5NsU3VUew+OXZAQVQJYWFhiXgdinmTgaHZ11nyzh+ie406IV25XJ1kNXLFcNl6FXzRi4WSzc/qBi4i4jIqW256FW7dfs2ASUABSMFIWVzVYV1gOXGBc9lyLXaZekl+8YBFjiWMXZENo+WjCathtIW7UbuRv/nHcdnl3sXk7egSEqYntjPONSI4DkBSQU5D9kE2Tdpbcl9JrBnBYcqJyaHNjd7955HubfoCLqVjHYGZl/WW+ZoxsHnHJcVqME5htToF63U6sUc1R1VIMVKdhcWdQaN9oHm18b7x1s3flevSAY4SFklxRl2VcZ5Nn2HXHenODWvlGjBeQLZhvXMCBmoJBkG+QDZKXX51dWWrIcXt2SXvkhQSLJ5EwmodV9mFb+Wl2hX8/hrqH+IiPkFz5G23ZcN5zYX09hF35apHxmV75gk51UwRrEms+cBtyLYYenkxSo49QXeVkLGUWa+tvQ3ycfs2FZIm9icli2IEfiMpeF2dqbfxyBXRvdIKH3pCGTw1doF8KhLdRoGNlda5OBlBpUclRgWgRaq58sXznfG+C0oobj8+Rtk83UfVSQlTsXm5hPmLFZdpq/m8qedyFI4itlWKaapqXns6em1LGZndrHXAreWKPQpeQYQBiI2Ujb0lxiXT0fW+A7oQmjyOQSpO9URdSo1IMbchwwojJXoJlrmvCbz58dXPkTjZP+VZf+bpcul0cYLJzLXuaf85/RoAekDSS9pZIlxiYYZ+LT6dvrnm0kbeW3lJg+YhkxGTTal5vGHAQcud2AYAGhlyG740FjzKXb5v6nXWejHh/eaB9yYMEk3+ek57Wit9YBF8nZydwz3RgfH6AIVEocGJyynjCjNqM9Iz3loZO2lDuW9ZemWXOcUJ2rXdKgPyEfJAnm42f2FhBWmJcE2rabQ9vO3YvfTd+HoU4ieSTS5aJUtJl82e0aUFtnG4PcAl0YHRZdSR2a3gsi16YbVEuYniWlk8rUBld6m24fSqPi19EYRdoYfmGltJSi4DcUcxRXmkcer598YN1ltpPKVKYUw9UDlVlXKdgTmeoaGxtgXL4cgZ0g3Ri+eJ1bHx5f7h/iYPPiOGIzJHQkeKWyZsdVH5v0HGYdPqFqo6jllecn56XZ8ttM3TogRaXLHjLeiB7knxpZGp08nW8eOh4rJlUm7ue3ltVXiBvnIGrg4iQB05NUyla0l1OX2JhPWNpZvxm/24rb2NwnncshBOFO4gTj0WZO5wcVbliK2erbAmDaol6l6FOhFnYX9lfG2eyfVR/koIrg72DHo+ZkMtXuVmSWtBbJ2aaZ4Voz2tkcXV/t4zjjIGQRZsIgYqMTJZAmqWeX1sTbBtz8nbfdgyEqlGTiU1RlVHJUslolGwEdyB3v33sfWKXtZ7FbhGFpVENVH1UDmadZidpn26/dpF3F4PChJ+HaZGYkvScgoiuT5JR31LGWT1eVWF4ZHlkrmbQZyFqzWvba19yYXJBdDh323cXgLyCBYMAiyiLjIwoZ5BsZ3LudmZ3RnqpnX9rkmwiWSZnmYRvU5NYmVnfXs9jNGZzZzpuK3PXeteCKJPZUutdrmHLYQpix2KrZOBlWWlma8trIXH3c111Rn4eggKDaoWjir+MJ5dhnahY2J4RUA5SO1RPVYdldmwKfQt9XoCKhoCV75b/UpVsaXJzVJpaPlxLXUxfrl8qZ7ZoY2k8bkRuCXdzfI5/h4UOi/ePYZf0nrdctmANYathT2X7ZfxlEWzvbJ9zyXPhfZSVxlschxCLXVJaU81iD2SyZDRnOGrKbMBznnSUe5V8G36KgTaChIXrj/mWwZk0T0pTzVPbU8xiLGQAZZFlw2nubFhv7XNUdSJ25Hb8dtB4+3gseUZ9LILgh9SPEpjvmMNS1GKlZCRuUW98dsuNsZFiku6aQ5sjUI1QSleoWShcR153Xz9iPmW5ZcFlCWaLZ5xpwm7FeCF9qoCAgSuCs4KhhIyGKooXi6aQMpaQnw1Q809j+flXmF/cYpJjb2dDbhlxw3bMgNqA9Ij1iBmJ4Iwpj02RapYvT3BPG17PZyJofXZ+dkSbYV4Kamlx1HFqdWT5QX5DhemF3JgQT097cH+lleFRBl61aD5sTmzbbK9yxHsDg9VsOnT7UIhSwVjYZJdqp3RWdqd4F4bilTmXZfleUwFfiouoj6+PipAlUqV3SZwInxlOAlB1UVtcd14eZjpmxGfFaLNwAXXFdcl53XonjyCZCJrdTyFYMVj2W25mZWsRbXpufW/kcyt16YPciBOJXIsUjw9P1VAQU1xTk1upXw1nj3l5gS+DFIUHiYaJOY87j6WZEpwsZ3ZO+E9JWQFc71zwXGdj0mj9cKJxK3QrfuyEAocikNKS85wNTthO70+FUFZSb1ImVJBU4FcrWWZaWlt1W8xbnF5m+XZid2WnZW5tpW42ciZ7P3w2f1CBUYGagUCCmYKpgwOKoIzmjPuMdI26jeiQ3JEclkSW2ZnnnBdTBlIpVHRWs1hUWW5Z/1+kYW5iEGZ+bBpxxnaJfN58G32sgsGM8JZn+VtPF19/X8JiKV0LZ9pofHhDfmydFU6ZUBVTKlNRU4NZYlqHXrJgimFJYnlikGWHZ6dp1GvWa9dr2Gu4bGj5NXT6dRJ4kXjVedh5g3zLfeF/pYA+gcKB8oMah+iIuYpsi7uMGZFel9uYO5+sVipbbF+MZbNqr2tcbfFvFXBdcq1zp4zTjDuYkWE3bFiAAZpNTotOm07VTjpPPE9/T99P/1DyU/hTBlXjVdtW61hiWRFa61v6WwRc810rXplfHWBoY5xlr2X2Z/tnrWh7a5ls12wjbglwRXMCeD55QHlgecF56XsXfXJ9hoANgo6D0YTHht+IUIpeih2L3Ixmja2PqpD8mN+ZnZ5KUmn5FGdq+ZhQKlJxXGNlVWzKcyN1nXWXe5yEeJEwl3dOkmS6a15xqYUJTmv5SWfuaBdun4IYhWuI92OBbxKSr5gKTrdQz1AfUUZVqlUXVkBbGVzgXDheil6gXsJe82BRaGFqWG49ckBywHL4dmV5sXvUf/OI9IlzimGM3owcl15YvXT9jMdVbPlheiJ9coJych91JXVt+Rl7hVj7WLxdj162XpBfVWCSYn9jTWWRZtlm+GYWaPJogHJedG57bn3WfXJ/5YASgq+Ff4mTih2Q5JLNniCfFVltWS1e3GAUZnNmkGdQbMVtX2/zd6l4xoTLkSuT2U7KUEhRhFULW6NbR2J+ZctlMm59cQF0RHSHdL90bHaqedp9VX6of3qBs4E5ghqG7Id1iuONeJCRkiWUTZmum2hTUVxUacRsKW0rbgyCm4U7iS2KqorqlmefYVK5ZrJrln7+hw2Ng5Vdlh1liW3ucW75zlfTWaxbJ2D6YBBiH2ZfZilz+XPbdgF3bHtWgHKAZYGgipKRFk7iUnJrF20Fejl7MH1v+bCM7FMvVlFYtVsPXBFc4l1AYoNjFGQtZrNovGyIba9uH3CkcNJxJnWPdY51GXYRe+B7K3wgfTl9LIVthQeGNIoNkGGQtZC3kvaXN5rXT2xcX2eRbZ98jH4WixaNH5BrW/1dDWTAhFyQ4ZiHc4tbmmB+Z95tH4qmigGQDJg3UnD5UXCOeJaTcIjXke5P11P9VdpWglf9WMJaiFurXMBcJV4BYQ1iS2KIYxxkNmV4ZTlqims0bBltMW/ncelyeHMHdLJ0JnZhd8B5V3rqerl8j32sfWF+nn8pgTGDkITahOqFloiwipCLOI9CkIOQbJGWkrmSi5anlqiW1pYAlwiYlpnTmhqb1FN+WBlZcFu/W9FtWm+fcSF0uXSFgP2D4V2HX6pfQmDsZRJob2lTaolrNW3zbeNz/nasd017FH0jgRyCQIP0hGOFYorEioeRHpMGmLSZDGJTiPCPZZIHXSddaV1fdJ2BaIfVb/5i0n82iXKJHk5YTudQ3VJHU39iB2ZpfgWIXpaNTxlTNlbLWaRaOFxOXE1cAl4RX0NgvWUvZkJmvmf0Zxxz4nc6ecV/lITNhJaJZoppiuGKVYx6jPRX1FsPX29g7WINaZZrXG6EcdJ7VYdYi/6O35j+mDhPgU/hT3tUIFq4WzxhsGVoZvxxM3VeeTN9ToHjgZiDqoXOhQOHCoqrjpuPcfnFjzFZpFvmW4lg6VsLXMNfgWxy+fFtC3Aada+C9orATkFTc/nZlg9snk7ET1JRXlUlWuhcEWJZcr2CqoP+hlmIHYo/lsWWE5kJnV2dClizXL1dRF7hYBVh4WMCaiVuApFUk06YEJx3n4lbuFwJY09mSGg8d8GWjZdUmJ+boWUBi8uOvJU1Valc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j3vNihqTR09OTzJRgFTQWZVetWJ1Z25pF2qubBpu2XIqc711uHs1feeC+YNXhPeFW4qvjIeOGZC4kM6WX5/jUgpU4VrCW1hkdWX0bsRy+/mEdk16G3tNfD5+3397gyuLyoxkjeGNX47qj/mPaZDRk0NPek+zUGhReFFNUmpSYVh8WGBZCFxVXNtem2AwYhNov2sIbLFvTnEgdDB1OHVRdXJ2THuLe617xnuPfm6KPo9Jjz+Sk5IikyuU+5ZamGuYHpkHUipimGJZbWR2ynrAe3Z9YFO+XJdeOG+5cJh8EZeOm96epWN6ZHaHAU6VTq1OXFB1UEhUw1maW0BerV73XoFfxWA6Yz9ldGXMZXZmeGb+Z2hpiWpja0BswG3obR9uXm4ecKFwjnP9czp1W3eHeI55C3p9er58jn1HggKK6oqejC2RSpHYkWaSzJIgkwaXVpdclwKYDp82UpFSfFUkWB1eH1+MYNBjr2jfb215LHvNgbqF/Yj4ikSOjZFklpuWPZdMmEqfzk9GUctRqVIyVhRfa1+qY81k6WVBZvpm+WYdZ51o12j9aRVvbm9nceVxKnKqdDp3Vnlaed95IHqVepd833xEfXB+h4D7haSGVIq/ipmNgY4gkG2Q45E7ltWW5ZzPZQd8s43Dk1hbClxSU9liHXMnUJdbnl+wYGth1WjZbS50LnpCfZx9MX5rgSqONY5+kxiUUE9QV+Zdp14rY2p/O05PT49PWlDdWcSAalRoVP5VT1mZW95d2l5dZjFn8WcqaOhsMm1Kbo1vt3Dgc4d1THwCfSx9on0fgtuGO4qFinCNio4zjzGQTpFSkUSU0Jn5eqV8yk8BUcZRyFfvW/tcWWY9alptlm7sbwxxb3XjeiKIIZB1kMuW/5kBgy1O8k5GiM2RfVPbamtpQWx6hJ5YjmH+Zu9i3XARdcd1Un64hEmLCI1LTupTq1QwV0BX118BYwdjb2QvZehlemadZ7NnYmtgbJpsLG/ldyV4SXlXeRl9ooACgfOBnYK3ghiHjIr8+QSNvo1ykPR2GXo3elR+d4AHVdRVdVgvYyJkSWZLZm1om2mEayVtsW7Nc2h0oXRbdbl14XYed4t35nkJfh1++4EvhZeIOorRjOuOsI8ykK2TY5ZzlgeXhE/xU+pZyVoZXk5oxnS+del5knqjge2G6ozMje2Pn2UVZ/3591dXb919L4/2k8aWtV/yYYRvFE6YTx9QyVPfVW9d7l0ha2Rry3iae/75SY7Kjm6QSWM+ZEB3hHovk3+Uap+wZK9v5nGodNp0xHoSfIJ+snyYfpqLCo19lBCZTJk5Ut9b5mQtZy597VDDU3lYWGFZYfphrGXZepKLlosJUCFQdVIxVTxa4F5wXzRhXmUMZjZmombNacRuMm8WcyF2k3o5gVmC1oO8hLVQ8FfAW+hbaV+hYyZ4tX3cgyGFx5H1kYpR9WdWe6yMxFG7Wb1gVYYcUP/5VFI6XH1hGmLTYvJkpWXMbiB2CoFgjl+Wu5bfTkNTmFUpWd1dxWTJbPptlHN/ehuCpoXkjBCOd5DnkeGVIZbGl/hR8lSGVblfpGSIb7R9H49NjzWUyVAWXL5s+20bdbt3PXxkfHmKwooeWL5ZFl53Y1JyinVrd9yKvIwSj/NedGb4bX2AwYPLilGX1psA+kNS/2aVbe9u4H3mii6QXpDUmh1Sf1LoVJRhhGLbYqJoEmlaaTVqknAmcV14AXkOedJ5DXqWgHiC1YJJg0mFgoyFjWKRi5GukcNP0Vbtcdd3AIf4ifhb1l9RZ6iQ4lNaWPVbpGCBYWBkPX5wgCWFg5KuZKxQFF0AZ5xYvWKoYw5peGkeamtuunbLebuCKYTPiqiN/Y8SkUuRnJEQkxiTmpPbljaaDZwRTlx1XXn6elF7yXsufsSEWY50jviOEJAlZj9pQ3T6US5n3J5FUeBflmzyh12Id4i0YLWBA4QFjdZTOVQ0VjZaMVyKcOB/WoAGge2Bo42JkV+a8p10UMROoFP7YCxuZFyITyRQ5FXZXF9eZWCUaLtsxG2+cdR19HVhdhp6SXrHfft9bn/0gamGHI/JlrOZUp9HUsVS7ZiqiQNO0mcGb7VP4luVZ4hseG0bdCd43ZF8k8SH5Hkxeutf1k6kVD5VrlilWfBgU2LWYjZnVWk1gkCWsZndmSxQU1NEVXxXAfpYYgL64mRrZt1nwW/vbyJ0OHQXijiUUVQGVmZXSF+aYU5rWHCtcLt9lYpqWSuBomMIdz2AqoxUWC1ku2mVWxFeb24D+mmFTFHwUypZIGBLYYZrcGzwbB57zoDUgsaNsJCxmAT6x2Skb5FkBGVOURBUH1cOil9hdmgF+tt1UntxfRqQBljMaX+BKokAkDmYeFBXWaxZlWIPkCqbXWF5ctaVYVdGWvRdimKtZPpkd2fibD5tLHI2dDR4d3+tgtuNF5gkUkJXf2dIcuN0qYymjxGSKpZrUe1TTGNpTwRVlmBXZZtsf21Mcv1yF3qHiZ2MbV+Ob/lwqIEOYb9PT1BBYkdyx3vofel/TZCtlxmatoxqV3NesGcNhFWKIFQWW2Ne4l4KX4NluoA9hYmVW5ZITwVTDVMPU4ZU+lQDVwNeFmCbYrFiVWMG+uFsZm2xdTJ43oAvgd6CYYSyhI2IEokLkOqS/ZiRm0VetGbdZhFwBnIH+vVPfVJqX1NhU2cZagJv4nRoeWiIeYzHmMSYQ5rBVB96U2n3ikqMqJiumXxfq2Kyda52q4h/kEKWOVM8X8VfzGzMc2J1i3VGe/6CnZlPTjyQC05VT6ZTD1nIXjBms2xVdHeDZofAjFCQHpcVnNFYeFtQhhSLtJ3SW2hgjWDxZVdsIm+jbxpwVX/wf5GVkpVQltOXclJEj/1RK1S4VGNVilW7arVt2H1mgpySd5Z5nghUyFTSduSGpJXUlVyWok4JT+5Z5lr3XVJgl2JtZ0Fohmwvbjh/m4Aqggj6CfoFmKVOVVCzVJNXWllpW7NbyGF3aXdtI3D5h+OJcornioKQ7Zm4mr5SOGgWUHheT2dHg0yIq04RVK5W5nMVkf+XCZlXmZmZU1afWFuGMYqyYfZqe3PSjkdrqpZXmlVZAHJrjWmX1E/0XCZf+GFbZutsq3CEc7lz/nMpd013Q31ifSN+N4JSiAr64oxJkm+YUVt0ekCIAZjMWuBPVFM+Wf1cPmN5bflyBYEHgaKDz5IwmKhORFERUotXYl/CbM5uBXBQcK9wknHpc2l0SoOih2GICJCikKOTqJluUVdf4GBnYbNmWYVKjq+Ri5dOTpJOfFTVWPpYfVm1XCdfNmJIYgpmZ2bra2ltz21WbvhulG/gb+lvXXDQciV0WnTgdJN2XHnKfB5+4YCmgmuEv4ROhl+GdId3i2qMrJMAmGWY0WAWYneRWloPZvdtPm4/dEKb/V/aYA97xFQYX15s02wqbdhwBX15hgyKO50WU4xUBVs6amtwdXWNeb55sYLvg3GKQYuojHSXC/r0ZCtluni7eGt6OE6aVVBZplt7XqNg22Nha2VmU2gZbmVxsHQIfYSQaZolnDtt0W4+c0GMypXwUUxeqF9NYPZgMGFMYUNmRGalacFsX27JbmJvTHGcdId2wXsnfFKDV4dRkI2Ww54vU95W+16KX2JglGD3YWZmA2ecau5trm9wcGpzan6+gTSD1IaoisSMg1Jyc5Zba2oElO5UhlZdW0hlhWXJZp9ojW3GbTtytIB1kU2ar08ZUJpTDlQ8VIlVxVU/XoxfPWdmcd1zBZDbUvNSZFjOWARxj3H7cbCFE4qIZqiFp1WEZkpxMYRJU5lVwWtZX71f7mOJZkdx8Yodj76eEU86ZMtwZnVnhmRgTov4nUdR9lEIUzZt+IDRnhVmI2uYcNV1A1R5XAd9Foogaz1rRms4VHBgPW3VfwiC1lDeUZxVa1bNVuxZCVsMXplhmGExYl5m5maZcblxunGncqd5AHqyf3CKAHJiAHdiAHJiKwB3YisAYWIAYWIrAHV0Zi04AGdiMjMxMgAAXfoBAGD6AQBj+gEAZ/oBAGv6AQBu+gEAQaD1BwvCBP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAJTAyWABbJXNdWyVkXSBbW0hlYWRlckluZj0lc11dAFNUX0hlYWRlckluZm8AJXNTVC5sb2cuJWQAJXNTVC5sb2cAd2IrAERFQlVHAEVSUk9SACBJTkZPAFRSQUNFACBXQVJOAEZBVEFMAAoAJXNfMHglMDh4XyVkXyVkXyVkXyVkXyVkXyVkAFslc11bJWRdIFslc10AU1RfT3BlbkZpbGUAWyUwNGQtJTAyZC0lMDJkICUwMmQ6JTAyZDolMDJkLiUwM2RdAFsweCUwOHhdAFslMDVzXQAAAAAC/AEA8PsBAPz7AQAI/AEA9vsBAA78AQAAAAAAQB8AAKAPAABAHwAAESsAAIA+AAAgTgAAIlYAAAB9AABErAAAgLsAAAB3AQAA7gIAAPoA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AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAfAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAHAAAABwAAAAcAAAAHAAAACAAAAAgAAAAIAAAACAAAAAkAAAAJAAAACQAAAAkAAAAKAAAACgAAAAoAAAAKAAAACwAAAAsAAAALAAAACwAAAAwAAAAMAAAADAAAAAwAAAANAAAADQAAAA0AAAANAAAADgAAAA4AAAAOAAAADgAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgBBwd4IC48GAQICAwMDAwQEBAQEBAQEExEPDw0NDQ0LCwsLCwsLCwkJCQkJCQkJCQkJCQkJCQkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEgICAgICAgIB8gICAgICAgDxAREhMUFRYXGBkaGxwdHgcHBwcICAgICQkJCQoKCgoLCwsLDAwMDA0NDQ0ODg4OAwMDAwMDAwMDAwMDAwMDAwQEBAQEBAQEBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgIC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aW5pdF9kYXNoX21vb2ZfYm94AFslc11bJWRdIHNvbWV0aGluZyBmYWlsZWQAZmluaV9kYXNoX21vb2ZfYm94AGluaXRfZGFzaF9tdmV4X2JveABpbml0X2Rhc2hfdHJ1bl9ib3gAaW5pdF9kYXNoX3RyYWZfYm94AGluaXRfZGFzaF9zaWR4X2JveABmaWxsX2Rhc2hfaW5kZXgAWyVzXVslZF0gc3RyaW5nIHBvaW50ZXIgaXMgbnVsbABhZGRfbGFzdF90cnVuX3NhbXBsZV93aXRob3V0X25leHRGcmFtZQBhZGRfbGFzdF90cnVuX3NhbXBsZQBmaWxsX2Rhc2hfdHJ1bl9ib3gAZ2V0X2Rhc2hfdHJhZgBnZXQgdHJhZiBmYWlsZWQgdHlwZVsleF0AcHJlc2V0X2Rhc2hfcGFyYW1ldGVyAGJ1aWxkX2Rhc2hfc3R5cF9ib3gAYnVpbGRfZGFzaF9tZGF0X2JveABidWlsZF9kYXNoX21laGRfYm94AGJ1aWxkX2Rhc2hfbXZleF9ib3gAYnVpbGRfZGFzaF90cmV4X2JveABidWlsZF9kYXNoX3RyZXBfYm94AGRhc2hfYnVpbGRfbWZoZF9ib3gAYnVpbGRfZGFzaF90ZmR0X2JveABidWlsZF9kYXNoX3RyYWZfYm94AGJ1aWxkX2Rhc2hfdGZoZF9ib3gAYnVpbGRfZGFzaF90cnVuX2JveABidWlsZF9kYXNoX21vb2ZfYm94AGJ1aWxkX2Rhc2hfc2lkeF9ib3gAYnVpbGRfZGFzaF9pbmRleF93aXRob3V0X25leHRmcmFtZQBidWlsZF9kYXNoX2luZGV4AHJlYWRfZGFzaF9lbnRyeV9hcnJheQByZXNldF9kYXNoX2luZGV4AFslc11bJWRdIGFyZyBlcnIAaW5pdF9tb292X2JveABbJXNdWyVkXSBzb21ldGhpbmcgZmFpbGVkAGZpbmlfbW9vdl9ib3gAaW5pdF9zdGJsX2JveABpbml0X3RyYWtfYm94AGluaXRfbWRpYV9ib3gAaW5pdF9taW5mX2JveABpbml0X3N0c2RfYm94AGluaXRfdmlkZW9fZGVzY3IAaW5pdF9lc2RzX2JveABpbml0X2F1ZGlvX2Rlc2NyAGluaXRfaGludF9kZXNjcgBpbml0X3RleHRfZGVzY3IAZmlsbF9zcHMAZmlsbCBzcHMgZmFpbGVkLGxlblslZF0AZmlsbF9wcHMAZmlsbCBwcHMgZmFpbGVkLGxlblslZF0AZmlsbF9oZXZjX3ZwcwBmaWxsIHZwcyBmYWlsZWQsbGVuWyVkXQBmaWxsX2hldmNfc3BzAGZpbGxfaGV2Y19wcHMAWyVzXVslZF0gc3RyaW5nIHBvaW50ZXIgaXMgbnVsbABhZGRfc3Rzel9lbnRyeQBmaWxsX3N0c3pfYm94AGZpbGxfc3R0c19ib3gAYWRkX3N0Y29fZW50cnkAZmlsbF9zdGNvX2JveABmaWxsX3N0c3NfYm94AGFkZF9jdHRzX2VudHJ5AGZpbGxfY3R0c19ib3gAZmlsbF9tcGVnNF9wYXJhbQBnZXRfYm94AGdldF90cmFrAGdldCB0cmFrIGZhaWxlZCB0eXBlWyV4XQBpZHhfZmlsbF9tYXRyaXgAYnVpbGRfZnR5cF9ib3gAaWR4X2J1aWxkX2Z0eXBfYm94AGJ1aWxkX21kYXRfYm94AGlkeF9idWlsZF9tZGF0X2JveABpZHhfZmlsbF9iYXNlAGFkZF9sYXN0X3N0dHNfZW50cnkAcmVtb3ZlX2xhc3Rfc3R0c19lbnRyeQByZW1vdmUgc3VjY2VzcyBpbmRleCAldSV1CgBidWlsZF9tb292X2JveABidWlsZF9tdmhkX2JveABidWlsZF90cmFrX2JveABidWlsZF90a2hkX2JveABidWlsZF9tZGlhX2JveABidWlsZF9tZGhkX2JveABidWlsZF9oZGxyX2JveABidWlsZF9taW5mX2JveABidWlsZF92c21oZF9ib3gAYnVpbGRfZGluZl9ib3gAYnVpbGRfc3RibF9ib3gAYnVpbGRfc3RzZF9ib3gAYnVpbGRfaW5mb19ib3gAYnVpbGRfdGV4dF9ib3gAZnJlZV9lbnRyeV9hcnJheQByZWFkX2VudHJ5X2FycmF5AGJ1aWxkX3N0dHNfYm94AGJ1aWxkX3N0c3pfYm94AGJ1aWxkX3N0c2NfYm94AGJ1aWxkX3N0Y29fYm94AGJ1aWxkX3N0c3NfYm94AGJ1aWxkX2N0dHNfYm94AGJ1aWxkX2F2YzFfYm94AGJ1aWxkX2h2Y2NfYm94AGJ1aWxkX2h2YzFfYm94AGJ1aWxkX21wNHZfYm94AGJ1aWxkX21wNGFfYm94AGJ1aWxkX2F1bGF3X2JveABidWlsZF9hdmNjX2JveABidWlsZF92c3BfZW50cnkAaWR4X2ZpbGxfZGNkAGlkeF9maWxsX2VzZABidWlsZF9lc2RzX2JveABwYXRjaF9zdGNvX2VudHJ5AHBhdGNoX3N0Y29fYm94AGJ1aWxkX3NraXBfYm94AGJ1aWxkX3ByZXdyaXRlX2RhdGEAc2V0X3ByZWluZGV4X3BhcmFtAGJ1aWxkX3VkdGFfYm94AHJlc2V0AEHAvAkLCwpBVkMgQ29kaW5nAEHgvAkLDAtIRVZDIENvZGluZwBBgL0JCwwLTVBFRzRDb2RpbmcAQaC9CQvJCFslc11bJWRdIGFyZyBlcnIAZmlsbF9pc29fYmFzZV9tcDRfaW5kZXgAWyVzXVslZF0gc29tZXRoaW5nIGZhaWxlZABkZV9pbml0aWFsaXplAGluaXRpYWxpemUAcHJvY2Vzc19oMjY0bmFsdQBwcm9jZXNzX2gyNjVuYWx1AHByb2Nlc3NfaDI2NABwcm9jZXNzX21wZWc0AHByb2Nlc3NfaDI2NQBwcm9jZXNzX3ZpZGVvX2RhdGEAcHJvY2Vzc19hdWRpb19kYXRhAHByb2Nlc3NfcHJpdmF0ZV9kYXRhAHByb2Nlc3Nfc3VidGl0bGVfZGF0YQBwcm9jZXNzAE1QNE1VWF9HZXRNZW1TaXplAE1QNE1VWF9DcmVhdGUATVA0TVVYX0J1aWxkU2VnbWVudEluZGV4AE1QNE1VWF9CdWlsZEluZGV4AE1QNE1VWF9EZXRyb3kATVA0TVVYX1NldEZNUDRQYXJhAAAAAAAAVGACAMgAAADJAAAAygAAAMsAAADMAAAAzQAAAM4AAADPAAAA0AAAANEAAADSAAAA0wAAAK0AAAA5Q01QNE11eGVyAABsDAAASGACACxRAgBhdmltdXgtLXNvbWV0aGluZyBmYWlsZWQgYXQgbGluZSBbJWRdAGF2aW11eC0tcHRyIGlzIG51bGxbJWRdAGF2aW11eC0tc29tZXRoaW5nIGZhaWxlZCBhdCBsaW5lIFslZF0AAAAAAAxhAgDUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAA2wAAAKkAAACqAAAAqwAAAKwAAACtAAAAOUNBVklNdXhlcgAAbAwAAABhAgAsUQIAb25NZXRhRGF0YQB3aWR0aABoZWlnaHQAdmlkZW9kYXRhcmF0ZQBmcmFtZXJhdGUAdmlkZW9jb2RlY2lkAGF1ZGlvZGF0YXJhdGUAYXVkaW9zYW1wbGVyYXRlAGF1ZGlvc2FtcGxlc2l6ZQBzdGVyZW8AYXVkaW9jb2RlY2lkAAAAAAAA4GECANwAAADdAAAA3gAAAN8AAADgAAAA4QAAAOIAAADjAAAAqQAAAKoAAACrAAAA5AAAAK0AAAA5Q0ZMVk11eGVyAABsDAAA1GECACxRAgCh3KuMR6nPEY7kAMAMIFNltQO/Xy6pzxGO4wDADCBTZRHS06u6qc8RjuYAwAwgU2WRB9y3t6nPEY7mAMAMIFNlwO8ZvE1bzxGo/QCAX1xEKwBX+yBVW88RqP0AgF9cRCtAnmn4TVvPEaj9AIBfXEQrUM3Dv49hzxGLsgCqALTiIDAmsnWOZs8RptkAqgBizmw2JrJ1jmbPEabZAKoAYs5sAAAAANRiAgDmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAKkAAACqAAAAqwAAAKwAAACtAAAAOUNBU0ZNdXhlcgAAbAwAAMhiAgAsUQIAAQAAAAAAAAABAEH0xQkLFQIAAAACAAAAAQAAAAEAAAAAAAAAAgBBlMYJCz4EAAAABAAAAAMAAAAAdwEAiFgBAAD6AACAuwAARKwAAAB9AADAXQAAIlYAAIA+AADgLgAAESsAAEAfAAC2HABB5MYJC/MrrGMCAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAAqQAAAKoAAACrAAAArAAAAPYAAAAxMENSVE1QTXV4ZXIAAAAAbAwAAJxjAgAsUQIAAAAAAABkAgD3AAAA+AAAAPkAAAD6AAAA+wAAAPwAAAD9AAAA/gAAAKkAAACqAAAAqwAAAKwAAACtAAAAOUNXQVZNdXhlcgAAbAwAAPRjAgAsUQIAAAAAAPhuAgD/AAAAAAEAAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIHBvaW50ZXIgaXMgTlVMTF0ASW5pdFBhY2sAWyVzXVslZF1bMFglWF0gW0Z1Y3Rpb24gRXJyb3IhISxuUmV0ID0gMHgleF0AWyVzXVslZF1bMFglWF0gW1JFTU9WRSBUbXBGaWxlUGF0aDogJXNdAFJlbGVhc2VQYWNrAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIHRoZSB0YXJnZXQgZmlsZSBwYXRoIHBvaW50ZXIgaXMgTlVMTF0AU3RhcnRGaWxlTW9kZQBbJXNdWyVkXVswWCVYXSBbRmlsZSBvcGVyYXRpb24gZXJyb3IsZmlsZW5hbWU6JXNdAFslc11bJWRdWzBYJVhdIFtGaWxlIG9wZXJhdGlvbiBlcnJvcl0ALnN0dG1wAFslc11bJWRdWzBYJVhdIFtGaWxlIG9wZXJhdGlvbiBlcnJvcixUbXBGaWxlIGZpbGVuYW1lOiVzCl0AWyVzXVslZF1bMFglWF0gW0ZpbGUgb3BlcmF0aW9uIGVycm9yLG5SZXQ6JXhdAE1hbnVhbFN3aXRjaABbJXNdWyVkXVswWCVYXSBbTWFudWFsU3dpdGNoIHN1Y2Nlc3NdAFslc11bJWRdWzBYJVhdIFtTdG9wIHN0YXRlLCB0cmFuc2Zvcm0gc3RhdHVzIGlzIHN0b3BwZWRdAElucHV0RGF0YQBbJXNdWyVkXVswWCVYXSBbQ3JlYXRlIGEgYmxhbmsgcGFja2V0IGZvciBNRkkgZnJhbWUgbG9zczogc2VxPSV1XQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCB0aGUgZGF0YSBwb2ludGVyIHBEYXRhIGlzIE5VTEwgb3IgZGF0YSBsZW5ndGggaXMgMF0AWyVzXVslZF1bMFglWF0gW0NhbGxiYWNrIG91dCBBRnJhbWUsIFRpbWVTdGFtcDolZF0AWyVzXVslZF1bMFglWF0gW0NhbGxiYWNrIG91dCBQRnJhbWUsIFRpbWVTdGFtcDolZF0AWyVzXVslZF1bMFglWF0gW0NhbGxiYWNrIG91dCBWRnJhbWVUeXBlOiVkLCBUaW1lU3RhbXA6JWRdAFslc11bJWRdWzBYJVhdIFtDYWxsYmFjayBpbiBBRnJhbWUsIFRpbWVTdGFtcDolZF0AWyVzXVslZF1bMFglWF0gW0NhbGxiYWNrIGluIFBGcmFtZSwgVGltZVN0YW1wOiVkXQBbJXNdWyVkXVswWCVYXSBbQ2FsbGJhY2sgaW4gVkZyYW1lVHlwZTolZCwgVGltZVN0YW1wOiVkXQBbJXNdWyVkXVswWCVYXSBbUHJvY2Vzc0N1c3RvbSBlcnJvcixuUmV0ID0gMHgleF0AWyVzXVslZF1bMFglWF0gW1Byb2Nlc3NGcmFtZSBlcnJvcixuUmV0ID0gMHgleF0AWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBlcnJvciwgdGhlIGtleSBwb2ludGVyIGlzIE5VTEwhXQBTZXRFbmNyeXB0S2V5AFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkLCBlbmNyeXB0IHR5cGUgdW5zdXBwb3J0ZWRdAFslc11bJWRdWzBYJVhdIFtSZWdpc3Rlck1vZGlmeUdsb2JhbFRpbWVDYWxsQmFjayxlcnJjb2RlOiV4XQBSZWdpc3Rlck1vZGlmeUdsb2JhbFRpbWVDYWxsQmFjawBQYWNrXzBYJVhfMFglWABbJXNdWyVkXVswWCVYXSBbTVggTUZJOiB2ZXI6JXUsIHNlcToldSwgc3VtOiV1LCB0czoldSwgZ2xiX3RpbWU6JTA0ZC8lMDJkLyUwMmQgJTAyZDolMDJkOiUwMmQuJTAzZCwgZnJhbWVfdHlwZToldSwgZnJhbWVfbm86JXUsIFcqSDoldSoldSwgbGVmdF90b3A6WyV1LCV1LCV1LCV1XSwgdG90YWw6JXUqJXVdAFByb2NNZmlJbmZvAEdsb2JhbFRpbWVDYWxsQmFjawBQcm9jZXNzRnJhbWUAWyVzXVslZF1bMFglWF0gW1ZpZGVvIEZSQU1FOiAgRnJhbWVUeXBlOiAleDsgdGltZV9zdGFtcDolZF0AWyVzXVslZF1bMFglWF0gW0F1ZGlvIEZSQU1FOiAgRnJhbWVUeXBlOiAleDsgdGltZV9zdGFtcDolZF0AWyVzXVslZF1bMFglWF0gW1ByaXZhdGUgRlJBTUU6ICBGcmFtZVR5cGU6ICV4OyB0aW1lX3N0YW1wOiVkXQBbJXNdWyVkXVswWCVYXSBbSU1VWF9JbnB1dERhdGEgZXJyb3IsblJldCA9IDB4JXhdAFslc11bJWRdWzBYJVhdIFtJTVVYX091dHB1dERhdGEgZXJyb3IsblJldCA9IDB4JXhdAE91dHB1dERhdGEAWyVzXVslZF1bMFglWF0gW0ZMViBkd0RhdGFMZW4gZXJyb3I6ZHdEYXRhTGVuOlslZF0gcHN0T3V0RGF0YS0+bkRhdGFMZW5bJWRdXQBbJXNdWyVkXVswWCVYXSBbUlRQSW5mbzpMZW50aDpbJWRdIFBUWyVkXSBTZXFbJWRdIE1hcmtiaXRbJWRdIFRpbWVzdGFtcFsldV0gU1NSQ1sleF1dAFslc11bJWRdWzBYJVhdIFtbT3V0cHV0Q2JdIGZybV90eXBlOiVzLCBkYXRhX3R5cGU6JWQ7IGZybV9ubzoldSwgdHM6JXUsIGZybV9yYXRlOiVkLCBnbGJfdGltZTolMDRkLyUwMmQvJTAyZCAlMDJkOiUwMmQ6JTAyZC4lMDNkLCBXKkg6JWQqJWQsIHJhd19sZW46JXVdAEkAUABCAFslc11bJWRdWzBYJVhdIFtbT3V0cHV0Q2JdIGZybV90eXBlOiVzLCBkYXRhX3R5cGU6JWQ7IGZybV9ubzoldSwgdHM6JXUsIHJhd19sZW46JXVdAEEAUHJpdnQAWyVzXVslZF1bMFglWF0gW1tPdXRwdXRDYl0gRGF0YUxlbjpbJWRdIERhdGFUeXBlWyVkXSBGbGFnWyVkXV0AWyVzXVslZF1bMFglWF0gW1tPdXRwdXRDYl0gYWZ0ZXJdAFslc11bJWRdWzBYJVhdIFtbRGV0YWlsQ2JdIGZybV90eXBlOiVzLCBmcm1fbm86JXUsIHRzOiV1LCBmcm1fcmF0ZTolZCwgZ2xiX3RpbWU6JTA0ZC8lMDJkLyUwMmQgJTAyZDolMDJkOiUwMmQuJTAzZCwgVypIOiVkKiVkLCByYXdfbGVuOiV1LCBlbmNyeXB0OiV1LCBleGlzdF9nbGJ0aW1lOiV1XQBbJXNdWyVkXVswWCVYXSBbW0RldGFpbENiXSBmcm1fdHlwZTolcywgZnJtX25vOiV1LCB0czoldSwgcmF3X2xlbjoldV0AWyVzXVslZF1bMFglWF0gW1tEZXRhaWxDYiBhZnRlcl1dAER1bXBGaWxlAFNldFN0cmVhbUVuZABbJXNdWyVkXVswWCVYXSBbc2VlayBjdXIgdGltZVslbHVdLCBzdGFydCB0aW1lWyVsdV0sIHNlZWsgdGltZVslbHVdCl0AUHJvY1NlZWsAMTJTVF9BcnJheUxpc3QARAwAAOluAgADAAAAAQAAAAAAAAAEAAAABQAAAAIAAAADAAAABAAAAAEAAAAMAAAAAgAAAAUAAAB2ZWN0b3IAWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBlcnJvciwgcG9pbnRlciBpcyBOVUxMXQBJbml0RGVtdXgAWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBlcnJvciwgcG9pbnRlciBzelNyY1BhdGggaXMgTlVMTCFdAFN0YXJ0RmlsZU1vZGUAWyVzXVslZF1bMFglWF0gW0ZpbGUgb3BlcmF0aW9uIGVycm9yLCBvcGVuIGZpbGUgZmFpbGVkIV0AWyVzXVslZF1bMFglWF0gW0NyZWF0ZURlbXV4IGZhaWxlZCEgaFJldDoleF0AWyVzXVslZF1bMFglWF0gW1Jlc291cmNlIHJlcXVlc3QgZmFpbGVkIV0AWyVzXVslZF1bMFglWF0gW1N0YXJ0RmlsZU1vZGUgZmFpbGVkLGVycmNvZGU6JXgsIHN5c3RlbV9mb3JtYXQ6JWRdAFslc11bJWRdWzBYJVhdIFtTdG9wIHN0YXRlLCB0cmFuc2Zvcm0gc3RhdHVzIGlzIHN0b3BwZWRdAElucHV0RGF0YQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCB0aGUgZGF0YSBwb2ludGVyIHBEYXRhIGlzIE5VTEwhXQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCB0aGUgRGF0YUxlbnIgIGlzICVkXQBbJXNdWyVkXVswWCVYXSBbRnVjdGlvbiBFcnJvciEhLG5SZXQgPSAweCV4XQBbJXNdWyVkXVswWCVYXSBbQnVmZmVyIG92ZXJmbG93LCBkYXRhIGxlbmd0aCBpcyBncmVhdGVyIHRoYW4gdGhlIHNldCBidWZmZXIgc2l6ZV0AWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBlcnJvciwgcG9pbnRlciBwS2V5IGlzIE5VTEwhXQBTZXREZWNyeXB0S2V5AFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIHBvaW50ZXIgcHN0R2xvYmFsVGltZSBpcyBOVUxMIV0AU2V0R2xvYmFsVGltZQBEZW11eF8wWCVYXzBYJVgAUmF3XzBYJVhfMFglWABQdXNoRmlsZURhdGEAU2V0UlRQU2Vzc2lvbkluZm8AWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBl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bWV0ZXItc2V0cwBzcHJvcC12cHMAc3Byb3Atc3BzAHNwcm9wLXBwcwBIMjY0AEgyNjUAU1ZBQwBKUEVHAG1wZWc0LWdlbmVyaWMATVBFRzQtR0VORVJJQwBQQ01BAFBDTVUAYXVkaW8AdmlkZW8AaW5mbwAuLi8uLi9NZWRpYV9JbnNwZWN0L1BhcnNlSElLU3lzdGVtLmNwcABnZXRfdmlkZW9fcmVzb2x1dGlvbgBmaWxlX2hlYWRlcgBwYXJzZV9maWxlX2hlYWRlcgBncm91cF9oZWFkZXIAYmxvY2tfaGVhZGVyAGlzX3ZhbGlkX2Jsb2NrX2hlYWRlcgBidWYAcGFyc2VfZ3JvdXAAcGFyc2Vfc3RyZWFtAFBhcnNlU3RyZWFtQXNISUtTeXN0ZW0AYnVmAC4uLy4uL01lZGlhX0luc3BlY3QvUGFyc2VEZXNjcmlwdG9yLmNwcABwYXJzZV9kZXNjcmlwdG9yAGVzX2luZm8AcGFyc2VfZGVzY3JpcHRvcl9hcmVhAAAAAHcBAIhYAQAA+gAAgLsAAESsAAAAfQAAwF0AACJWAACAPgAA4C4AABErAABAHwAAthwAQZD3CQtCQB8AAKAPAABAHwAAESsAAIA+AAAgTgAAIlYAAAB9AABErAAAgLsAAAB3AQAA7gIAAPoAAAMAAAAAAQAABAAAAAABAEHh9wkLAQEAQfD3CQvnPQUAAAAAAAAA0JoCAAQBAAAFAQAAWyVzXVslZF1bMFglWF0gW3BzdFRyYW5zSW5mIE51bGwsU1lTVFJBTlNfRV9QQVJBXQBDcmVhdGUAWyVzXVslZF1bMFglWF0gW0FuYWx5emVTcmNJbmZvIGZhaWxlZCwgZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW1VuSGVhZGVyIGRldGVjdCBjcmVhdGUhISFdAFslc11bJWRdWzBYJVhdIFtQcmUtY29uZGl0aW9ucyBub3QgbWV0LCBwb2ludGVyIG1fcGNEZW11eCBvciBtX3BjUGFjayBpcyBOVUxMIGFuZCBtX2JOZWVkSW5zcGVjdCBpcyBmYWxzZSFdAFN0YXJ0AFslc11bJWRdWzBYJVhdIFtQcmUtY29uZGl0aW9ucyBub3QgbWV0LCBtdWx0aXBsZSBzdGFydHMgYXJlIG5vdCBhbGxvd2VkIV0AWyVzXVslZF1bMFglWF0gW1NUX1RSQU5TISEhXQBbJXNdWyVkXVswWCVYXSBbU3RhcnRGaWxlTW9kZSBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtTdGFydEF1dG9Td2l0Y2ggZmFpbGVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbU3RhcnRBdXRvU3dpdGNoIHN1Y2Nlc3NdAFslc11bJWRdWzBYJVhdIFtTdG9wIGZhaWxlZCxlcnJjb2RlOiV4XQBTdG9wAFslc11bJWRdWzBYJVhdIFtTVF9TVE9QISEhXQBbJXNdWyVkXVswWCVYXSBbRGVtdXggU3RvcCBmYWlsZWQsZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW1BhY2sgU3RvcCBmYWlsZWQsZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW01hbnVhbFN3aXRjaCBmYWlsZWQsIGVycmNvZGU6JXhdAE1hbnVhbFN3aXRjaABbJXNdWyVkXVswWCVYXSBbTWFudWFsU3dpdGNoIGZhaWxlZCxlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCBwb2ludGVyIHBEYXRhIGlzIE5VTEwhXQBSYXdEZW11eABbJXNdWyVkXVswWCVYXSBbSW5wdXQgcmF3ZGF0YSB0eXBlIGVycm9yOiAldV0AWyVzXVslZF1bMFglWF0gW0lucHV0IHJhd2RhdGEgJXMgJXNdAERBVEEAUEFSQU0AbGVuZ3RoIGlzIDAAWyVzXVslZF1bMFglWF0gW0lucHV0IHJhd2RhdGEgVklERU9fUEFSQSBsZW5ndGggZXJyb3I6ICV1IDwgJXVdAFslc11bJWRdWzBYJVhdIFtJbnB1dCByYXdkYXRhIFZJREVPX1BBUkFfRVggbGVuZ3RoIGVycm9yOiAldSA8ICV1XQBbJXNdWyVkXVswWCVYXSBbSW5wdXQgcmF3ZGF0YSBBVURJT19QQVJBIGxlbmd0aCBlcnJvcjogJXUgPCAldV0AWyVzXVslZF1bMFglWF0gW0FVRElPX1BBUkEgPT0+IHRpbWVzdGFtcDoldSwgc2FtcGxlX3JhdGU6JXUsIGJpdHJhdGU6JXUsIGNoYW46JXVdAFNhdmVBdWRpb1BhY2tQYXJhAFslc11bJWRdWzBYJVhdIFtWSURFT19QQVJBID09PiBmcmFtZV9ubzoldSwgdGltZXN0YW1wOiV1LCBnbGJfdGltZTolMDR1LyUwMnUvJTAydSAlMDJ1OiUwMnU6JTAydS4lMDN1LCBXKkg6JXUqJXUsIGZwczolZl0AU2F2ZVZpZGVvUGFja1BhcmEAWyVzXVslZF1bMFglWF0gW1ZJREVPX1BBUkFfRVggPT0+IGZyYW1lX25vOiV1LCB0aW1lc3RhbXA6JXUsIGdsYl90aW1lOiUwNHUvJTAydS8lMDJ1ICUwMnU6JTAydTolMDJ1LiUwM3UsIFcqSDoldSoldSwgZnBzOiVmXQBTYXZlVmlkZW9QYWNrRXhQYXJhAFslc11bJWRdWzBYJVhdIFtTZXQgVklERU9fUEFSQV9FWCBwYWNrIHR5cGUgTVVMVEkgZmFpbGVkLCB0ZW1wb3Jhcnkgbm90IHN1cHBvcnRdAFslc11bJWRdWzBYJVhdIFtTZXQgVklERU9fUEFSQV9FWCBwYWNrIHR5cGUgQ09NQiBmYWlsZWQsIG5vdCBzdXBwb3J0IHRhcmdldCBmb3JtYXQ6IDB4JTA0eF0AU2F2ZU11bFBhY2tDb21iUGFyYQBbJXNdWyVkXVswWCVYXSBbTUZJIHBhcmEodmVyMiksIHNlcToldSwgc3VtOiV1LCBsZWZ0X3RvcDpbJXUsJXUsJXUsJXVdLCB0b3RhbDoldSoldV0AWyVzXVslZF1bMFglWF0gW01GSSBwYXJhIGNoZWNrIGludmFsaWRdAFslc11bJWRdWzBYJVhdIFtNRkkgcGFyYSh2ZXIxKSwgc2VxOiV1LCBzdW06JXVdAFslc11bJWRdWzBYJVhdIFtNRkkgdHlwZSBub25lLCBhdXRvIGNoYW5nZSB0byBNRkkgMiBieXRlcyB2ZXJzaW9uLCBzZXE6JXUsIHN1bToldV0AWyVzXVslZF1bMFglWF0gW01GSSB0eXBlIG5vbmUsIGF1dG8gY2hhbmdlIHRvIE1GSSAzIGJ5dGVzIHZlcnNpb24sIHNlcToldSwgc3VtOiV1XQBbJXNdWyVkXVswWCVYXSBbTUZJIHR5cGUgdW5rbm93biAldV0AWyVzXVslZF1bMFglWF0gW01GSSBpbnB1dCBzZXF1ZW5jZSBlcnJvcjogZmlyc3QgaW5uZXIgZnJhbWUgc2VxdWVuY2Ugc2hvdWxkIGJlIDAsIGJ1dCBpcyAldV0AWyVzXVslZF1bMFglWF0gW01GSSBpbnB1dCBzZXF1ZW5jZSBvcmRlciBlcnJvcjogJXUgLT4gJXVdAFslc11bJWRdWzBYJVhdIFtNRkkgaW5wdXQgdGltZXN0YW1wIGRpZmYgZnJvbSBvdGhlciBzdWIgZnJhbWVzOiAldSAtPiAldV0AWyVzXVslZF1bMFglWF0gW1ZJREVPX0RBVEEsIGR3RGF0YUxlbjoldV0ASW5wdXRWaWRlb1Jhd0ZyYW1lRGF0YQBbJXNdWyVkXVswWCVYXSBbUmF3RGF0YSBHZXRWaWRlb0NvZGVjSW5mb0ludHJhIGZhaWxlZCgweCUwOHgpIGFzIHZpZGVvIGZvcm1hdCAweCUwNHhdAFslc11bJWRdWzBYJVhdIFtSYXdEYXRhIEdldFZpZGVvQ29kZWNJbmZvSW50cmEgdW5rbm93biBmcmFtZSB0eXBlOiAweCUwOHhdAFslc11bJWRdWzBYJVhdIFtNRkkgaW5wdXQgZnJhbWUgdHlwZSBkaWZmIGZyb20gb3RoZXIgc3ViIGZyYW1lczogJXUgLT4gJXVdAFslc11bJWRdWzBYJVhdIFtNWE1hbmFnZXIgbm90IGluaXQhXQBbJXNdWyVkXVswWCVYXSBbQVVESU9fREFUQSwgZHdEYXRhTGVuOiV1XQBJbnB1dEF1ZGlvUmF3RnJhbWVEYXRhAElucHV0RGF0YQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCBzdHJlYW0gdHlwZSBlcnJvciFdAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIGRhdGEgbGVuZ3RoIGlzIDBdAFslc11bJWRdWzBYJVhdIFtDcmVhdGVIZWFkbGVCeUluc3BlY3Qgc3VjY2Vzc10AWyVzXVslZF1bMFglWF0gW0NyZWF0ZUhlYWRsZUJ5SW5zcGVjdCBmYWlsZWQsZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW0lucHV0RGF0YSBmYWlsZWQsZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW1R5cGUgdW5zdXBwb3J0ZWQsIFNvdXJjZSBpcyBmaWxlIGZvcm1hdApdAFslc11bJWRdWzBYJVhdIFtSZWdpc3Rlck91dHB1dERhdGFDYWxsQmFjayBmYWlsZWQsZXJyY29kZToleF0AUmVnaXN0ZXJPdXRwdXREYXRhQ2FsbEJhY2sAWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBlcnJvciwgcG9pbnRlciBwc3RHbG9iYWxUaW1lIGlzIE5VTEwhXQBTZXRHbG9iYWxUaW1lAFslc11bJWRdWzBYJVhdIFtQcmUtY29uZGl0aW9ucyBub3QgbWV0LCBwb2ludGVyIG1fcGNEZW11eCBpcyBOVUxMIGFuZCBtX2JOZWVkSW5zcGVjdCBpcyBmYWxzZSFdAFslc11bJWRdWzBYJVhdIFtQcmUtY29uZGl0aW9ucyBub3QgbWV0LCBTVF9UUkFOUyA9PSBtX25TdGF0dXNdAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIHBzdEdsb2JhbFRpbWUtPmR3TXMgPj0gMTAwMCFdAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIHRpbWUgY29ycmVjdGlvbiBmYWlsZWQhXQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCB0aW1lIGlzIGludmFsaWQgYW5kIGlzIG5vdCBlcXVhbCB0byB0aGUgb3JpZ2luYWwgdmFsdWUhXQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCBwb2ludGVyIHBLZXkgaXMgTlVMTCEKXQBTZXRFbmNyeXB0S2V5AFslc11bJWRdWzBYJVhdIFtLZXkgbGVuZ3RoIGlzICV1LCB1bnN1cHBvcnRlZCFdAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIHBvaW50ZXIgcEtleSBpcyBOVUxMIV0AWyVzXVslZF1bMFglWF0gWyBFbmNyeXB0ZWQgbm93ISEhXQBbJXNdWyVkXVswWCVYXSBbIERlY3J5cHRlZCBub3chISFdAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIGRlY3J5cHQgb3IgZW5jcnlwdCB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhXQBbJXNdWyVkXVswWCVYXSBbUmVnaXN0ZXJNb2RpZnlHbG9iYWxUaW1lQ2FsbEJhY2sgZmFpbGVkLGVycmNvZGU6JXhdAFJlZ2lzdGVyTW9kaWZ5R2xvYmFsVGltZUNhbGxCYWNrAFslc11bJWRdWzBYJVhdIFtNb2RpZnlNZWRpYUZpZWxkIGZhaWxlZCxlcnJjb2RlOiV4XQBNb2RpZnlNZWRpYUZpZWxkAFslc11bJWRdWzBYJVhdIFtBbHJlYWR5IFJlZ2lzdGVyZWQgUGFja0luZm9DYWxsQmFjayAsZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW1JlZ2lzdGVyUGFja0luZm9DYWxsQmFjayBmYWlsZWQsZXJyY29kZToleF0AUmVnaXN0ZXJQYWNrSW5mb0NhbGxCYWNrAFslc11bJWRdWzBYJVhdIFtSZWdpc3RlclBhY2tJbmZvQ2FsbEJhY2tdAFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkICwgVmlkZW8gZW5jb2RlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCwgZXJyY29kZToleF0ASW5pdERlbXV4AFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkICwgU291cmNlIHN5c3RlbSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtEZW11eCBJbml0IGZhaWxlZCwgZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW3BhcnNlciBwb2ludGVyIHJlbGVhc2UhXQBSZWxlYXNlRGVtdXgAWyVzXVslZF1bMFglWF0gW0luaXRQYWNrIGZhaWxlZCx1bnN1cHBvcnRlZCBlblRndFR5cGU6JXgsIGVycmNvZGU6JXhdAEluaXRQYWNrAFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkLCBTWVNURU1fUlRQIHZpZGVvIHR5cGUgaXMgbm90IHN1cHBvcnRlZCF2aWRlb19mb3JtYXQ6JXhdAFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkLCBTWVNURU1fUlRQIGF1ZGlvIHR5cGUgaXMgbm90IHN1cHBvcnRlZCFhdWRpb19mb3JtYXQ6JXhdAFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkLCBTWVNURU1fTVBFRzQgdmlkZW8gdHlwZSBpcyBub3Qgc3VwcG9ydGVkIXZpZGVvX2Zvcm1hdDoleF0AWyVzXVslZF1bMFglWF0gW1R5cGUgdW5zdXBwb3J0ZWQsIFNZU1RFTV9NUEVHNCBhdWRpbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhYXVkaW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgU1lTVEVNX0FTRiB2aWRlbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhdmlkZW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgU1lTVEVNX0FTRiBhdWRpbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhYXVkaW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgU1lTVEVNX0ZMViB2aWRlbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhdmlkZW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgU1lTVEVNX0ZMViBhdWRpbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhYXVkaW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgU1lTVEVNX0FWSSB2aWRlbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhdmlkZW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgU1lTVEVNX0FWSSBhdWRpbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhYXVkaW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgVFJBTlNfU1lTVEVNX1JUTVAgdmlkZW8gdHlwZSBpcyBub3Qgc3VwcG9ydGVkIXZpZGVvX2Zvcm1hdDoleF0AWyVzXVslZF1bMFglWF0gW1R5cGUgdW5zdXBwb3J0ZWQsIFRSQU5TX1NZU1RFTV9SVE1QIGF1ZGlvIHR5cGUgaXMgbm90IHN1cHBvcnRlZCFhdWRpb19mb3JtYXQ6JXhdAFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkICwgVGFyZ2V0IHR5cGUgaXMgbm90IHN1cHBvcnRlZCFlblRndFR5cGU6JXhdAFslc11bJWRdWzBYJVhdIFtGaWxlSGVhZGVyVG9NZWRpYUluZm8gZmFpbGVkLGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtJbml0UGFjayBmYWlsZWQsZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW0FuYWx5emVTcmNJbmZvIGZhaWxlZCwgbWVkaWFfZm91cmNjIGVyciwgZXJyY29kZToleF0AQW5hbHl6ZVNyY0luZm8AWyVzXVslZF1bMFglWF0gW0hLX0NyZWF0ZVRocmVhZCBmYWlsZWQhXQBTdGFydEF1dG9Td2l0Y2gAWyVzXVslZF1bMFglWF0gW0hLX0NyZWF0ZVRocmVhZCBzdWNjZXNzLFN3aXRjaFZhbHVlOiVkLCBTd2l0Y2hGbGFnOiVkLCBTdWJOYW1lRmxhZzolZCwgc3pNYWpvck5hbWU6JXNdAF8lNGQlMDJkJTAyZCUwMmQlMDJkJTAyZC5tcDQAWyVzXVslZF1bMFglWF0gW01hbnVhbFN3aXRjaCAsRmlsZVBhdGg6JXNdAEF1dG9Td2l0Y2hGaWxlMQBbJXNdWyVkXVswWCVYXSBbR2V0TWVkaWFJbmZvIGZhaWxlZCxlcnJjb2RlOiV4XQBHZXRNZWRpYUluZm8AQ3JlYXRlSGVhZGxlQnlJbnNwZWN0AFslc11bJWRdWzBYJVhdIFtCdWlsZE1lZGlhSGVhZGVyIGZhaWxlZCwgZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW0lzTWVkaWFJbmZvIGZhaWxlZCwgZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW1NldEdsb2JhbFRpbWUgZmFpbGVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbU2V0RW5jcnlwdEtleSBmYWlsZWQsbV9lbkRlY3J5cHRUeXBlOiVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbU2V0RW5jcnlwdEtleSBmYWlsZWQsbV9lbkVuY3J5cHRUeXBlOiVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbTW9kaWZ5TWVkaWFGaWVsZCBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtSZWdpc3Rlck91dHB1dERhdGFDYWxsQmFjayBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtSZWdpc3Rlck1vZGlmeUdsb2JhbFRpbWVDYWxsQmFjayBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtSZWdpc3RlclBhY2tJbmZvQ2FsbEJhY2sgZmFpbGVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbUmVnaXN0ZXJFcnJEZXRhaWxDYWxsQmFjayBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtTdGFydCBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtHZXRNZWRpYUluZm8gZmFpbGVkLCBlcnJjb2RlOiV4XQBDcmVhdGVIZWFkbGVCeUZpbGVJbnNwZWN0AFslc11bJWRdWzBYJVhdIFtGaWxlSW5zcGVjdCBvcGVuIGZpbGUgZmFpbGVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbRmlsZV9JbnNwZWN0X3YxMCBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtTZXRFbmNyeXB0S2V5IGZhaWxlZCwgZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBlcnJvciwgcG9pbnRlciBpcyBOVUxMXQBJbml0U291cmNlAFslc11bJWRdWzBYJVhdIFtJbml0RGVtdXggZmFpbGVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbSW5pdFBhY2sgZmFpbGVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbQ29ubmVjdCBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtFeGNlcHRpb24gVGltZVN0YW1wSW5mbywgblR5cGU6JWQsIG5UaW1lU3RhbXA6JXUsIG5MYXN0VGltZVN0YW1wOiV1XQBQYWNrSW5mb01vZGlmeU9yaWdpbgBQYWNrSW5mb01vZGlmeUluY3JlYXNlAFslc11bJWRdIFtlcnIgdHlwZV0AU1lTVFJBTlNQYWNrSW5mb0NiZgBbJXNdWyVkXVswWCVYXSBbRW5hYmxlQ2FwYWNpdHkgZmFpbGVkLGVycmNvZGU6JXhdAEVuYWJsZUNhcGFjaXR5AFslc11bJWRdWzBYJVhdIFtFbmFibGUgY2FwYWNpdHkgZmFpbGVko6xmdW5jdGlvbiBub3Qgc3VwcG9ydCwgZXJyY29kZToleF0AUmVnaXN0ZXJFcnJEZXRhaWxDYWxsQmFjawBbJXNdWyVkXVswWCVYXSBbUmVnaXN0ZXJFcnJEZXRhaWxDYWxsQmFjayBmYWlsZWQyLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbTm90IGFsbG93IHRvIHNldCBjb25maWcgYWZ0ZXIgU1lTVFJBTlNfU3RhcnQ6ICV4XQBDb25maWcAMTVDVHJhbnNmb3JtUHJveHkARAwAAL6aAgBB6LUKC6oFAQAAAAIAAABbJXNdWyVkXSBbW1NZU1RSQU5TX1ZlcnNpb249JXNdXQBTWVNUUkFOU19DcmVhdGUAWyVzXVslZF0gW1BhcmFtZXRlciBlcnJvciwgaW5wdXQgcG9pbnRlciBwaFRyYW5zIGlzIE5VTEwhCl0AWyVzXVslZF0gW1NZU1RSQU5TX0NyZWF0ZSBzdWNjZXNzLCBIYW5kbGVbMFglWF1dAFslc11bJWRdIFtSZXNvdXJjZSByZXF1ZXN0IGZhaWxlZCwgaGFuZGxlIGNyZWF0aW9uIGZhaWxlZApdAFslc11bJWRdIFtUcmFuc2Zvcm0gaGFuZGxlIGVycm9yIV0AU1lTVFJBTlNfU3RhcnQAWyVzXVslZF0gW1NZU1RSQU5TX1N0YXJ0LCBIYW5kbGVbMFglWF1dAFslc11bJWRdIFtIYW5kbGUgcmVsZWFzZV0AU1lTVFJBTlNfUmVsZWFzZQBTWVNUUkFOU19TZXRFbmNyeXB0S2V5ACV1ICV1ICV1CgB7U1RDYWxsQmFjaygkMCwgJDEsICQyLCAkMyk7fQBpaWlpAERFVEFJTF9GUkFNRV9JTkZPAG5EYXRhVHlwZQBuRnJhbWVUeXBlAG5UaW1lU3RhbXAAblRpbWVTdGFtcEhpZ2gAbk1hcmtiaXQAblZlcnNpb24AbklzTXA0SW5kZXgAbkZyYW1lTnVtAG5ZZWFyAG5Nb250aABuRGF5AG5Ib3VyAG5NaW51dGUAblNlY29uZABuTWlsbGlTZWNvbmQAbldpZHRoAG5IZWlnaHQAbkZyYW1lUmF0ZQBfR2V0RGV0aWFsRnJhbWVJbmZvADE3REVUQUlMX0ZSQU1FX0lORk8AAEQMAABfnQIAaQB2aQBpaWkAdmlpaQAAAHSdAgBpaQBB0LwKCwNEpgIAQYi9CgsBBQBBlL0KCwEXAEGsvQoLDhgAAAAZAAAAiKYCAAAEAEHEvQoLAQEAQdO9CgsFCv////8AQZi+Cgs6iJ4CAAAAAAAAdwEAiFgBAAD6AACAuwAARKwAAAB9AADAXQAAIlYAAIA+AADgLgAAESsAAEAfAAC2HABB4b4KCzF3AQCIWAEAAPoAAIC7AABErAAAAH0AAMBdAAAiVgAAgD4AAOAuAAARKwAAQB8AALYcAEGkvwoL/QcEwR23CYI7bg1DJtkTBHbcF8VraxqGTbIeR1AFJgjtuCLJ8A8vitbWK0vLYTUMm2QxzYbTPI6gCjhPvb1MEdtwSNDGx0WT4B5BUv2pXxWtrFvUsBtWl5bCUlaLdWoZNshu2Ct/Y5sNpmdaEBF5HUAUfdxdo3Cfe3p0XmbNmCO24Jziq1eRoY2OlWCQOYsnwDyP5t2LgqX7UoZk5uW+K1tYuupG77epYDazaH2BrS8thKnuMDOkrRbqoGwLXdQybZDQ83An3bBW/tlxS0nHNhtMw/cG+860ICLKdT2V8jqAKPb7nZ/7uLtG/3mm8eE+9vTl/+tD6LzNmux90C00hnB3MEdtwD0ESxk5xVauJ4IGqyNDGxwuAD3FKsEgchKOnc8WT4B4GwymoR/NuxYBiusTBUv2pAgI0H0Myc3KeJerB3xWtrBxFZBpddSN3muT3dtvUsBsYhHmtWbQ+wJen0a/Wl5bCFcdfdFT3GBmTZswY0laLdREGQsNQNgWuqylxpeoZNsgpSf9+aHm4E6/obBLu2Ct/LYjiyWy4paSiq0rL45sNpiDLxBBh+4N9pmpXfOdaEBEkCtmnZTqeyrgtB3n5HUAUOk2Jont9zs+87BrO/dxdoz6MlBV/vNN4sa88F/Cfe3ozz7LMcv/1obVuIaD0XmbNNw6ve3Y+6BaaQzg7m3N/VlgjtuAZE/GN3oIljJ+yYuFc4qtXHdLsOtPBA1WS8UQ4UaGNjhCRyuPXAB7iljBZj1VgkDkUUNdUyUdO54h3CYpLJ8A8CheHUc2GU1CMthQ9T+bdiw7WmubAxXWJgfUy5EKl+1IDlbw/xARoPoU0L1NGZOblB1ShiPxL1YO9e5LufitbWD8bHDX4isg0ubqPWXrqRu872gGC9cnu7bT5qYB3qWA2NpknW/EI81qwOLQ3c2h9gTJYOuzvT6Nfrn/kMm0vLYQsH2rp646+6Kq++YVp7jAzKN53XubNmDGn/d9cZK0W6iWdUYfiDIWGozzC62BsC10hXEww12KkJlZS40uVAir91DJtkBOjuZFSk/78kcM3StDzcCce4J9IX9DYJZyAEZPdsFb+GiGC/1sRxZKYQQwk2XFLSQRm0vpFVpWXhgZcIcc2G0wAp89NQZeIIILHQZbD9wb7DeTplEzUrvmPhGdPzrQgIgkl9CNIFbNOi0V6+Mp1PZUxakmecFoO87MKx0XyOoAoNatUKXSbE0S3y9ry9vudnzjocvB52DWduoj8K/u4u0Y8KW9HfRkoKr5J4Zz/eabxIm4/QmNeeC+gDrGZ4T729CavIvVnn2WYpM+sLuX/60Mr7AQsatxDQamMivfovM2aLy0Zm24dXvatTZdA7H3QLQBAEGwxwoLcFN5c3RlbVRyYW5zZm9ybV9WZXJzaW9uX1YzLjEuMS4xMl9TMjAyMzA4MDMxMDI3MDBfMS4xLjFfODQyMjBfUmVsZWFzZV9MSU5VWDY0X0J1aWxkMjAyMzA4MDkxNzA3NDAAAAD///////////////8=";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(wasmBinaryFile);if(binary){return binary}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at \'"+wasmBinaryFile+"\'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;var ASM_CONSTS={171120:function($0,$1,$2,$3){STCallBack($0,$1,$2,$3)}};function _emscripten_asm_const_iii(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\\b_Z[\\w\\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function __ZSt18uncaught_exceptionv(){return __ZSt18uncaught_exceptionv.uncaught_exceptions>0}function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn\'t load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn\'t load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_rename(old_path,new_path){try{old_path=SYSCALLS.getStr(old_path);new_path=SYSCALLS.getStr(new_path);FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_unlink(path){try{path=SYSCALLS.getStr(path);FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\\n"+\' "use strict";\'+" return body.apply(this, arguments);\\n"+"};\\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\\n"+stack.replace(/^Error(:[^\\n]*)?\\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError(\'Cannot convert "\'+_embind_repr(value)+\'" to \'+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and \'this\' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError(\'Cannot convert "\'+_embind_repr(value)+\'" to \'+this.name)}if(valuemaxRange){throw new TypeError(\'Passing a number "\'+_embind_repr(value)+\'" from JS side to C/C++ side to an argument of type "\'+name+\'", which is outside the valid range [\'+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0||i==length){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(HEAP[currentBytePtr>>shift]==0||i==length){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function _abort(){abort()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_get_heap_size(){return HEAPU8.length}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var maxHeapSize=104857600;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_current=306544;var ___tm_timezone=(stringToUTF8("GMT",306592,4),306592);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _pthread_create(){return 6}function _pthread_join(){}function _pthread_mutexattr_init(){}function _pthread_mutexattr_settype(){}function _setTempRet0($i){setTempRet0($i|0)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function _usleep(useconds){var start=_emscripten_get_now();while(_emscripten_get_now()-start>3]);buf+=8}else{buf=buf+3&~3;args.push(HEAP32[buf>>2]);buf+=4}}return args}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\\+\\/\\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run();\n'],{type:"application/javascript"}),Zn=URL.createObjectURL(Wn),Xn=function(A,e){return"(function() {\n try {\n importScripts('"+Zn+"');\n } catch (error) {\n console.error(error);\n // FIXME: 这个有跨域风险\n var libSystemTransformWASMPath = \""+(A||"https://openstatic.ys7.com/ezuikit_player/plugins/record")+'"\n importScripts(libSystemTransformWASMPath + \'/libSystemTransformWASM.js\');\n }\n const RECORDRTP = 0; //录制一份未经过转封装的码流原始数据,用于定位问题\n let dataType = 1;\n // 转封装库回调函数\n self.STCallBack = function (fileIndex,indexLen, data, dataLen)\n {\n //stFrameInfo的类型见DETAIL_FRAME_INFO\n\t\tlet stFrameInfo = Module._GetDetialFrameInfo();\n let nIsMp4Index = stFrameInfo.nIsMp4Index;\n\n var pData = null;\n pData = new Uint8Array(dataLen);\n pData.set(Module.HEAPU8.subarray(data, data + dataLen));\n if (dataType === 1) {\n postMessage({type: "outputData", buf: pData, dType: 1});\n dataType = 2;\n } else {\n\n if (nIsMp4Index) {\n postMessage({type: "outputData", buf: pData, dType: 6}); //6:索引类型\n } else {\n postMessage({type: "outputData", buf: pData, dType: 2}); //2:码流\n }\n }\n }\n\n self.Module[\'onRuntimeInitialized\'] = function (){\n postMessage({type: "loaded"});\n }\n onmessage = function (e) {\n var data = e.data;\n if ("create" === data.type) {\n if (RECORDRTP) {\n postMessage({type: "created"});\n postMessage({type: "outputData", buf: data.buf, dType: 1});\n } else {\n var iHeadLen = data.len;\n var pHead = Module._malloc(iHeadLen);\n\n self.writeArrayToMemory(new Uint8Array(data.buf), pHead);\n var iTransType = data.packType;//目标格式\n var iRet = Module._CreatHandle(pHead, 5, 4096);\n let pp11 = Module._SysTransConfig(4, 0, 0, 0, 0, 0, 0, 0);\n if (pp11 != 0) {\n console.log("Config Failed:" + pp11);\n }\n if (iRet != 0) {\n console.log("_CreatHandle failed!" + iRet);\n } else {\n const pKey = \''+e+'\';\n var pEncryptKey = pKey.toString();\n // 密钥缓存\n var pEncryptKeyList = new Uint8Array(512);\n // 字符串转换为二进制字节\n for (var i = 0; i < pEncryptKey.length; i++) {\n pEncryptKeyList[i] = pEncryptKey.charCodeAt(i);\n }\n var pEncryptBuff = Module._malloc(512);\n self.writeArrayToMemory(pEncryptKeyList, pEncryptBuff);\n // 设置加密\n Module._SysTransSetEncryptKey(\'1\', pEncryptBuff, pEncryptKey.length * 8);\n\n iRet = Module._SysTransRegisterDataCallBack();\n if(iRet != 0)\n {\n console.log("_SysTransRegisterDataCallBack Failed:" + iRet);\n }\n\n iRet = Module._SysTransStart(null, null);\n if(iRet != 0)\n {\n console.log("_SysTransStart Failed:" + iRet);\n }\n postMessage({type: "created"});\n }\n }\n\n } else if ("inputData" === data.type) {\n\n if (RECORDRTP) {\n var aFileData = new Uint8Array(data.buf); // 拷贝一份\n var iBufferLen = aFileData.length;\n var szBufferLen = iBufferLen.toString(16);\n if (szBufferLen.length === 1) {\n szBufferLen = "000" + szBufferLen;\n } else if (szBufferLen.length === 2) {\n szBufferLen = "00" + szBufferLen;\n } else if (szBufferLen.length === 3) {\n szBufferLen = "0" + szBufferLen;\n }\n var aData = [0, 0, parseInt(szBufferLen.substring(0, 2), 16), parseInt(szBufferLen.substring(2, 4), 16)];\n for(var iIndex = 0, iDataLength = aFileData.length; iIndex < iDataLength; iIndex++) {\n aData[iIndex + 4] = aFileData[iIndex]\n }\n var dataUint8 = new Uint8Array(aData);\n postMessage({type: "outputData", buf: dataUint8.buffer, dType: 2});\n } else {\n let pInputDataBuf = Module._malloc(data.len);\n var idataLen = data.len;\n self.writeArrayToMemory(new Uint8Array(data.buf), pInputDataBuf);\n // 输入数据,每次最多2m\n let pp = Module._SysTransInputData(0, pInputDataBuf, idataLen);\n if(pp != 0) {\n //console.log("InputData Failed:" + pp);\n }\n Module._free(pInputDataBuf);\n }\n } else if ("release" === data.type) {\n var iRet = Module._SysTransStop();\n if (iRet != 0) {\n console.log("_SysTransStop failed!");\n }\n Module._SysTransRelease();\n if (iRet != 0) {\n console.log("_SysTransRelease failed!");\n }\n close();\n }\n };\n})();'};window.requestFileSystem=window.requestFileSystem||window.webkitRequestFileSystem,window.URL=window.URL||window.webkitURL;var qn,jn=function(){function A(A,e,t,i){this.szUUID=A,this.szFileName=e,this.iStreamType=t,this.szPath="",this.bStart=!1,this.aStreamList=[],this.options=i,this.fileContents=[]}var e=A.prototype;return e.init=function(){var A=this;return new Promise((function(e){A.fileContents=[]}))},e.getDateDir=function(){return Vn.dateFormat(new Date,"yyyy-MM-dd")},e.writeFileHeader=function(A){var e=new Blob([A],{type:"application/octet-stream"});this.fileContents.push(e),this.bStart=!0},e.writeFileContent=function(A){var e=new Blob([A],{type:"application/octet-stream"});this.fileContents.push(e)},e.writeFile=function(A){var e=this;if(this.bStart)if(this.aStreamList.length>0){var t=this.aStreamList.shift();if(A.seek(A.length),A.length>=this.options.iFileSize)return void(this.options.cbEventHandler&&this.options.cbEventHandler(3001,this.szUUID));var i=new Blob([t]);A.write(i)}else setTimeout((function(){e.writeFile(A)}),1e3)},e.stopWriteFile=function(){var A=this;return this.bStart=!1,new Promise((function(e){var t=new Blob(A.fileContents,{type:"application/octet-stream"});A.fileContents=[],e(URL.createObjectURL(t))}))},A}(),zn=function(){function A(A,e,t,i,a,r,n,o,s){this.szBasePath=A,this.szUUID=e,this.szFileName=t,this.aHeadBuf=new Uint8Array(i),this.iPackType=a,this.iStreamType=r,this.oWorker=null,this.oFileSystem=null,this.options=n,this.bHead=!0,this.staticPath=o,this.secretKey=s,this.fileContents=[]}var e=A.prototype;return e.init=function(A){var e=this;return new Promise((function(t,i){e.initWorker(A).then((function(){t(e.szUUID)}),(function(A){i(A)}))}))},e.initFileSystem=function(){var A=this;return this.oFileSystem=new jn(this.szUUID,this.szFileName,this.iStreamType,this.options),new Promise((function(e,t){A.oFileSystem.init().then((function(){e()}),(function(A){t(A)}))}))},e.initWorker=function(A){var e=this,t=new Promise((function(t){var i=new Blob([Xn(e.staticPath,e.secretKey)],{type:"application/javascript"}),a=URL.createObjectURL(i);e.oWorker=new Worker(a),e.oWorker.onmessage=function(i){var a=i.data,r=e.iPackType;if(1===e.options.iPackage&&(r=12),"loaded"===a.type)e.oWorker.postMessage({type:"create",buf:e.aHeadBuf.buffer,len:40,packType:r},[e.aHeadBuf.buffer]);else if("created"===a.type)t();else if("outputData"===a.type){var n=new Uint8Array(a.buf);if(1===e.options.iPackage)if(e.bHead){var o=new Blob([n],{type:"video/mp4"});e.fileContents.push(o),e.bStart=!0,e.bHead=!1}else{var s=new Blob([n],{type:"video/mp4"});e.fileContents.push(s)}else if(1===a.dType){var g=new Blob([n],{type:"video/mp4"});e.fileContents.push(g),e.bStart=!0}else if(2===a.dType){var l=new Blob([n],{type:"application/octet-stream"});e.fileContents.push(l)}else{var C=new Blob([new Uint8Array(a.buf)],{type:"application/octet-stream"});e.fileContents.push(C);var I=new Blob(e.fileContents,{type:"application/octet-stream"});e.fileContents=[];var c=URL.createObjectURL(I);if(e.bStart=!1,e.isDownload){var h=document.createElement("a");h.href=c,h.download=e.szFileName,document.body.appendChild(h),h.click(),document.body.removeChild(h)}null==A||A(c,I)}}}}));return t},e.inputData=function(A){if(this.oWorker){var e=new Uint8Array(A);this.oWorker.postMessage({type:"inputData",buf:e.buffer,len:e.length},[e.buffer])}},e.stopRecord=function(A){var e=this;return new Promise((function(t,i){e.oWorker?(e.isDownload=A,e.oWorker.postMessage({type:"release"}),t()):i()}))},A}(),$n=(qn=Symbol("STORAGELIST"),function(){function A(A,e,t){this.szBasePath=A,this[qn]={},this.options={iFileSize:1073741824},Object.assign(this.options,e),"string"==typeof e.staticPath&&(this.staticPath=e.staticPath)}var e=A.prototype;return e.startRecord=function(A,e,t,i,a,r,n){var o=this,s=Hn(),g=Object.assign({},this.options,a),l=new zn(this.szBasePath,s,A,e,t,i,g,this.staticPath,n);return new Promise((function(A,e){l.init(r).then((function(e){o[qn][e]=l,A(e)}),(function(A){e(A)}))}))},e.inputData=function(A,e){var t=this[qn][A];t&&t.inputData(e)},e.stopRecord=function(A,e){var t=this;return new Promise((function(i,a){var r=t[qn][A];r?r.stopRecord(e).then((function(){delete t[qn][A],i()}),(function(){a()})):a()}))},A}()),Ao=function(){function A(A){this._oStorageManager=new $n("./transform",{staticPath:window.location.origin},void 0),this.downloadRecord=A.downloadRecord}var e=A.prototype;return e.startRecord=function(A,e,t,i){var a=this;return e=null!=e?e:(new Date).getTime()+"",new Promise((function(r,n){a._oStorageManager.startRecord(e+".mp4",A,2,0,{cbEventHandler:function(A){n(A)},iPackage:0},t,i).then((function(A){a.szStorageUUID=A,r(A)}),(function(A){n(A)}))}))},e.inputData=function(A){this.szStorageUUID&&this._oStorageManager.inputData(this.szStorageUUID,A)},e.stopRecord=function(){var A=this;return new Promise((function(e,t){A._oStorageManager.stopRecord(A.szStorageUUID,A.downloadRecord).then((function(t){e(A.szStorageUUID),A.szStorageUUID=""}),(function(A){t(A)}))}))},e.destroy=function(){this.szStorageUUID="",this._oStorageManager=null},A}(),eo=function(){function A(A){void 0===A&&(A={}),this.name="ezuikit-player-plugin-record",this.recording=!1,this._record=new Ao({downloadRecord:A.downloadRecord})}var e=A.prototype;return e.exec=function(A){var e=this;this._player=A,setTimeout((function(){["stop","pause"].forEach((function(t){A.on(t,(function(){e.stopRecord()}))})),["destroy"].forEach((function(t){A.on(t,(function(){e.destroy()}))}))}),0)},e.startRecord=function(A,e,t){var i,a=this;return void 0===A&&(A=""+(new Date).getTime()),this._recordInputDataFn=function(A){var e;a._record.szStorageUUID&&(null==(e=a._record)||e.inputData(A.data))},null==(i=this._record)?void 0:i.startRecord(this._player._aHead,A,e,t).then((function(e){var t,i,r;a.recording=!0,null==(i=a._player)||null==(t=i.logger)||t.log("[PlayerPluginRecord] start record video, filename: ",A),null==(r=a._player)||r.on("recordInputData",a._recordInputDataFn)}))},e.stopRecord=function(){var A,e,t,i;return this.recording?(this.recording=!1,null==(e=this._player)||null==(A=e.logger)||A.log("[PlayerPluginRecord] stop record video"),null==(t=this._player)||t.off("recordInputData",this._recordInputDataFn),this._recordInputDataFn=null,null==(i=this._record)?void 0:i.stopRecord()):Promise.resolve()},e.destroy=function(){var A=this;this._record&&this.stopRecord().then((function(){var e,t,i;null==(t=A._player)||null==(e=t.logger)||e.log("[PlayerPluginRecord] destroy"),null==(i=A._record)||i.destroy(),A._record=null,A._recordInputDataFn=null}))},A}(),to=["attribute vec4 vertexPos;","attribute vec2 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos;","}"].join("\n"),io=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n"); + */function requireDist(){if(hasRequiredDist)return dist;hasRequiredDist=1;var utilsTools=requireDist$8(),dayjs=requireDayjs_min(),DOMAIN="https://open.ys7.com";function fetch$1(input,init){return new Promise((function(resolve,reject){fetch(input,init).then((function(res){return res.json()})).then((function(res){var _res_meta,_res_meta1;if(200==+res.code||0==+(null==(_res_meta=res.meta)?void 0:_res_meta.code)||200==+(null==(_res_meta1=res.meta)?void 0:_res_meta1.code))resolve(res);else{if(res.meta)return res.meta.msg=res.meta.message,void reject(res.meta);reject(res)}})).catch((function(err){if(err.meta)return err.meta.msg=err.meta.message,void reject(err.meta);reject(err)}))}))}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function getVideoByTime(body,domain){if(body&&"[object FormData]"!==Object.prototype.toString.call(body)){var _body_version,formDate=new FormData;Object.entries(body).forEach((function(param){var key=param[0],value=param[1];formDate.append(key,value)})),formDate.append("version",null!=(_body_version=body.version)?_body_version:"2.0"),body=formDate}return new Promise((function(resolve,reject){var getData=function(){return _getData.apply(this,arguments)},list=[];function _getData(){var fn;return fn=function(){var _data_data,data,_data_data1,_data_data2;return function(thisArg,body){var f,y,t,g,_={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),throw:verb(1),return:verb(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return function(op){if(f)throw new TypeError("Generator is already executing.");for(;_;)try{if(f=1,y&&(t=2&op[0]?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;switch(y=0,t&&(op=[2&op[0],t.value]),op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if(!((t=(t=_.trys).length>0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]1&&void 0!==arguments[1]?arguments[1]:0,uuid=(byteToHex[arr[offset+0]]+byteToHex[arr[offset+1]]+byteToHex[arr[offset+2]]+byteToHex[arr[offset+3]]+"-"+byteToHex[arr[offset+4]]+byteToHex[arr[offset+5]]+"-"+byteToHex[arr[offset+6]]+byteToHex[arr[offset+7]]+"-"+byteToHex[arr[offset+8]]+byteToHex[arr[offset+9]]+"-"+byteToHex[arr[offset+10]]+byteToHex[arr[offset+11]]+byteToHex[arr[offset+12]]+byteToHex[arr[offset+13]]+byteToHex[arr[offset+14]]+byteToHex[arr[offset+15]]).toLowerCase();if(!function(uuid){return"string"==typeof uuid&®EX.test(uuid)}(uuid))throw TypeError("Stringified UUID is invalid");return uuid}function v4(options,buf,offset){var rnds=(options=options||{}).random||(options.rng||rng)();return rnds[6]=15&rnds[6]|64,rnds[8]=63&rnds[8]|128,stringify(rnds)}function _instanceof(left,right){return null!=right&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?!!right[Symbol.hasInstance](left):left instanceof right}var Tool=function(){function Tool(){this._keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}var _proto=Tool.prototype;return _proto.$=function(strExpr){var idExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,classExpr=/^(?:\s*(<[\w\W]+>)[^>]*|.([\w-]*))$/;if(idExpr.test(strExpr)){var idMatch=idExpr.exec(strExpr);return document.getElementById(idMatch[2])}if(classExpr.test(strExpr)){for(var classMatch=classExpr.exec(strExpr),allElement=document.getElementsByTagName("*"),ClassMatch=[],i=0,l=allElement.length;i>2,enc2=(3&chr1)<<4|(chr2=input.charCodeAt(i++))>>4,enc3=(15&chr2)<<2|(chr3=input.charCodeAt(i++))>>6,enc4=63&chr3,isNaN(chr2)?enc3=enc4=64:isNaN(chr3)&&(enc4=64),output=output+this._keyStr.charAt(enc1)+this._keyStr.charAt(enc2)+this._keyStr.charAt(enc3)+this._keyStr.charAt(enc4);return output},_proto.decode=function(input){var chr1,chr2,chr3,enc2,enc3,enc4,output="",i=0;for(input=input.replace(/[^A-Za-z0-9+/=]/g,"");i>4,chr2=(15&enc2)<<4|(enc3=this._keyStr.indexOf(input.charAt(i++)))>>2,chr3=(3&enc3)<<6|(enc4=this._keyStr.indexOf(input.charAt(i++))),output+=String.fromCharCode(chr1),64!==enc3&&(output+=String.fromCharCode(chr2)),64!==enc4&&(output+=String.fromCharCode(chr3));return this._utf8_decode(output)},_proto._utf8_encode=function(string){string=string.replace(/\r\n/g,"\n");for(var utftext="",n=0;n127&&c<2048?(utftext+=String.fromCharCode(c>>6|192),utftext+=String.fromCharCode(63&c|128)):(utftext+=String.fromCharCode(c>>12|224),utftext+=String.fromCharCode(c>>6&63|128),utftext+=String.fromCharCode(63&c|128))}return utftext},_proto._utf8_decode=function(utftext){for(var string="",i=0,c=0,c2=0;i191&&c<224)c2=utftext.charCodeAt(i+1),string+=String.fromCharCode((31&c)<<6|63&c2),i+=2;else{c2=utftext.charCodeAt(i+1);var c3=utftext.charCodeAt(i+2);string+=String.fromCharCode((15&c)<<12|(63&c2)<<6|63&c3),i+=3}return string},_proto.isFirefox=function(){var bRet=!1,szUserAgent=navigator.userAgent.toLowerCase(),szBrowserVersion="";return szUserAgent.match(/firefox\/([\d.]+)/)&&(szBrowserVersion=szUserAgent.match(/firefox\/([\d.]+)/)[1],parseInt(szBrowserVersion.split(".")[0],10)>-1&&(bRet=!0)),bRet},_proto.isSafari=function(){var bRet=!1,szUserAgent=navigator.userAgent.toLowerCase(),szBrowserVersion="";return szUserAgent.match(/version\/([\d.]+).safari./)&&(szBrowserVersion=szUserAgent.match(/version\/([\d.]+).safari./)[1],parseInt(szBrowserVersion.split(".")[0],10)>-1&&(bRet=!0)),bRet},_proto.isEdge=function(){return navigator.userAgent.toLowerCase().includes("edge")},_proto.isIOS=function(){return!!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)},Tool}(),oTool=new Tool,workBlob=new Blob(['var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function convertJsFunctionToWasm(func,sig){if(typeof WebAssembly.Function==="function"){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":272,"maximum":272+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0||i==maxBytesToRead/2)return str;++i;str+=String.fromCharCode(codeUnit)}}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5549568,DYNAMICTOP_PTR=306528;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||33554432;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":104857600/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="data:application/octet-stream;base64,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IANBBEkEQCAAIQIMAQsgA0F8aiIEIABJBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAv4AwECfyMAQZAIayIDJAAgAyACNgKECEGM1QooAgAEQCADIAMoAoQINgIAIAAgASADQZDVCigCAEGM1QooAgARCAALAkBBlNUKKAIARQ0AQaDVCigCACAASg0AIANBAEGACBArIQICf0GC+AdBjvgHIABBAUgbIABBf2oiBEEGTw0AGiAEQQJ0QYT5B2ooAgALIQAgAkGICGpBABAPGiACIAI0AowIIAI0AogIQsCEPX58IAAQiggiAEF/Rg0AAkACQCAAIAJqQYAIIABrIgQgASACKAKECBCBAiIBQX9GDQAgASAETg0AIAIgACABaiIAakGACCAAa0GU+AdBABCsARoMAQsgAkEKOwH+BwtBmNUKKAIAIgBFDQBBtNcKKAIABH8DQEHoBxAFGkG01wooAgANAAtBmNUKKAIABSAACxCHAUGo1QooAgBNBEBBtNcKKAIABEADQEHoBxAFGkG01wooAgANAAsLIAJBmNUKKAIAELMBGkGs1QpBrNUKKAIAIAIQQmo2AgAMAQsQiQhBmNUKKAIAIgBFDQAgAhBCQazVCigCAGpBqNUKKAIASw0AIAJBtNcKKAIABH8DQEHoBxAFGkG01wooAgANAAtBmNUKKAIABSAACxCzARpBrNUKQazVCigCACACEEJqNgIACyADQZAIaiQAC/MCAgJ/AX4CQCACRQ0AIAAgAmoiA0F/aiABOgAAIAAgAToAACACQQNJDQAgA0F+aiABOgAAIAAgAToAASADQX1qIAE6AAAgACABOgACIAJBB0kNACADQXxqIAE6AAAgACABOgADIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIBNgIAIAMgAiAEa0F8cSIEaiICQXxqIAE2AgAgBEEJSQ0AIAMgATYCCCADIAE2AgQgAkF4aiABNgIAIAJBdGogATYCACAEQRlJDQAgAyABNgIYIAMgATYCFCADIAE2AhAgAyABNgIMIAJBcGogATYCACACQWxqIAE2AgAgAkFoaiABNgIAIAJBZGogATYCACAEIANBBHFBGHIiBGsiAkEgSQ0AIAGtIgVCIIYgBYQhBSADIARqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAszAQF/IABBASAAGyEAAkADQCAAEC0iAQ0BQaTICigCACIBBEAgAREHAAwBCwsQCAALIAELzS4BC38jAEEQayILJAACQAJAAkACQAJAAkACQAJAAkACQAJAIABB9AFNBEBBrMgKKAIAIgZBECAAQQtqQXhxIABBC0kbIgVBA3YiAHYiAUEDcQRAIAFBf3NBAXEgAGoiAkEDdCIEQdzICmooAgAiAUEIaiEAAkAgASgCCCIDIARB1MgKaiIERgRAQazICiAGQX4gAndxNgIADAELQbzICigCABogAyAENgIMIAQgAzYCCAsgASACQQN0IgJBA3I2AgQgASACaiIBIAEoAgRBAXI2AgQMDAsgBUG0yAooAgAiCE0NASABBEACQEECIAB0IgJBACACa3IgASAAdHEiAEEAIABrcUF/aiIAIABBDHZBEHEiAHYiAUEFdkEIcSICIAByIAEgAnYiAEECdkEEcSIBciAAIAF2IgBBAXZBAnEiAXIgACABdiIAQQF2QQFxIgFyIAAgAXZqIgJBA3QiA0HcyApqKAIAIgEoAggiACADQdTICmoiA0YEQEGsyAogBkF+IAJ3cSIGNgIADAELQbzICigCABogACADNgIMIAMgADYCCAsgAUEIaiEAIAEgBUEDcjYCBCABIAVqIgcgAkEDdCICIAVrIgNBAXI2AgQgASACaiADNgIAIAgEQCAIQQN2IgRBA3RB1MgKaiEBQcDICigCACECAn8gBkEBIAR0IgRxRQRAQazICiAEIAZyNgIAIAEMAQsgASgCCAshBCABIAI2AgggBCACNgIMIAIgATYCDCACIAQ2AggLQcDICiAHNgIAQbTICiADNgIADAwLQbDICigCACIKRQ0BIApBACAKa3FBf2oiACAAQQx2QRBxIgB2IgFBBXZBCHEiAiAAciABIAJ2IgBBAnZBBHEiAXIgACABdiIAQQF2QQJxIgFyIAAgAXYiAEEBdkEBcSIBciAAIAF2akECdEHcygpqKAIAIgEoAgRBeHEgBWshAyABIQID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AXUiAGsgACACQQFxGwvHCwEEfwJAAkACQCAAQQNLDQAgASgCDCEEIAEoAhQhBgJAAkACQAJAIABBAWsOAwECAwALIAEoAgghBCABKAIQIQAgASgCACEDIAIgAigClAciBUEBajYClAcgBSACKAKQB2ogAzoAAAJ/IABB////B08EQCACIAIoApQHIgVBAWo2ApQHIAUgAigCkAdqQf8BOgAAIAIgAigClAciBUEBajYClAcgBSACKAKQB2pB/wE6AAAgAiACKAKUByIFQQFqNgKUByAFIAIoApAHaiEFQf8BDAELIAIgAigClAciA0EBajYClAcgAyACKAKQB2ogAEEQdjoAACACIAIoApQHIgNBAWo2ApQHIAMgAigCkAdqIABBCHY6AAAgAiACKAKUByIDQQFqNgKUByADIAIoApAHaiEFIAALIQMgBSADOgAAIAIgAigClAciA0EBajYClAcgAyACKAKQB2ogBkEQdjoAACACIAIoApQHIgNBAWo2ApQHIAMgAigCkAdqIAZBCHY6AAAgAiACKAKUByIDQQFqNgKUByADIAIoApAHaiAGOgAAIAEoAgQhASACIAIoApQHIgNBAWo2ApQHIAMgAigCkAdqIAE6AAAgAiACKAKUByIBQQFqNgKUByABIAIoApAHaiAEOgAAIAIgAigClAciAUEBajYClAcgASACKAKQB2ogBEEIdjoAACACIAIoApQHIgFBAWo2ApQHIAEgAigCkAdqIARBEHY6AAAgAiACKAKUByIBQQFqNgKUByABIAIoApAHaiAEQRh2OgAAIABB////B0kNAyACIAIoApQHIgFBAWo2ApQHIAEgAigCkAdqIABBGHY6AAAgAiACKAKUByIBQQFqNgKUByABIAIoApAHaiAAQRB2OgAAIAIgAigClAciAUEBajYClAcgASACKAKQB2ogAEEIdjoAACACIAIoApQHIgFBAWo2ApQHIAEgAigCkAdqIAA6AAAPCyABLQAAIQAgAiACKAKUByIDQQFqNgKUByADIAIoApAHaiAAQcAAcjoAAAJ/IARB////B08EQCACIAIoApQHIgNBAWo2ApQHIAMgAigCkAdqQf8BOgAAIAIgAigClAciA0EBajYClAcgAyACKAKQB2pB/wE6AAAgAiACKAKUByIDQQFqNgKUByADIAIoApAHaiEDQf8BDAELIAIgAigClAciAEEBajYClAcgACACKAKQB2ogBEEQdjoAACACIAIoApQHIgBBAWo2ApQHIAAgAigCkAdqIARBCHY6AAAgAiACKAKUByIAQQFqNgKUByAAIAIoApAHaiEDIAQLIQAgAyAAOgAAIAIgAigClAciAEEBajYClAcgACACKAKQB2ogBkEQdjoAACACIAIoApQHIgBBAWo2ApQHIAAgAigCkAdqIAZBCHY6AAAgAiACKAKUByIAQQFqNgKUByAAIAIoApAHaiAGOgAAIAEoAgQhACACIAIoApQHIgFBAWo2ApQHIAEgAigCkAdqIAA6AAAgBEH///8HSQ0CDAMLIAEtAAAhACACIAIoApQHIgFBAWo2ApQHIAEgAigCkAdqIABBgAFyOgAAIARB////B08EQCACIAIoApQHIgBBAWo2ApQHIAAgAigCkAdqQf8BOgAAIAIgAigClAciAEEBajYClAcgACACKAKQB2pB/wE6AAAgAiACKAKUByIAQQFqNgKUByAAIAIoApAHakH/AToAAAwDCwwDCyABLQAAIQAgAiACKAKUByIBQQFqNgKUByABIAIoApAHaiAAQcABcjoAAAsPCyACIAIoApQHIgBBAWo2ApQHIAAgAigCkAdqIARBGHY6AAALIAIgAigClAciAEEBajYClAcgACACKAKQB2ogBEEQdjoAACACIAIoApQHIgBBAWo2ApQHIAAgAigCkAdqIARBCHY6AAAgAiACKAKUByIAQQFqNgKUByAAIAIoApAHaiAEOgAACxgAIAAtAABBIHFFBEAgASACIAAQugEaCwviBwIMfwF8AkAgAkF/Rg0AIABFDQAgA0UNACAAIAJB2ClsaiIHQZAiaigCACIKQQhJIQUgB0GIImooAgAhCyAHQYwiaigCACEIAn8gAbggB0HkIWoiDCgCACIQuKJEAAAAAABAj0CjIhFEAAAAAAAA8EFjIBFEAAAAAAAAAABmcQRAIBGrDAELQQALIQ0gBQRAQYeAgIB4DwsgCEUEQEGHgICAeA8LIAtFBEBBh4CAgHgPCwJAIAAoAhxBAUYEQEGDgICAeCEBIAAoAgwgAkYNAQsCQAJAIAtBAUgEQEEAIQUMAQsgCEEEaiEBIAghB0EAIQUDQCAGIAcoAAAiBkEYdCAGQQh0QYCA/AdxciAGQQh2QYD+A3Eg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KAIAIgEgAEEDakF8cSICaiEAAkAgAkEBTkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQEUUNAQtB4NoSIAA2AgAgAQ8LQajICkEwNgIAQX8LwgECA38BfgJAAkAgACkDcCIEUEUEQCAAKQN4IARZDQELIAAQjwgiAkF/Sg0BCyAAQQA2AmhBfw8LIAAoAgghAQJAAkAgACkDcCIEUA0AIAQgACkDeEJ/hXwiBCABIAAoAgQiA2usWQ0AIAAgAyAEp2o2AmgMAQsgACABNgJoCwJAIAFFBEAgACgCBCEADAELIAAgACkDeCABIAAoAgQiAGtBAWqsfDcDeAsgAEF/aiIALQAAIAJHBEAgACACOgAACyACCygAIAFFBEBBgYCAgHgPCyAARQRAQYeAgIB4DwsgACABIAFBBGoQqAMLgQgCC38BfSMAQdAAayIDJABBgoCAgHghBAJAIABFDQAgAkUNACAAKAIAIgpFDQACQCAAKAIEIgYEQCACQYgBaiACQYwBaiAAKAIIIgdBBEYiBBsoAgAhCEHAAEE4IAQbIQQCfyAAKgIUIg5DAACAT10gDkMAAAAAYHEEQCAOqQwBC0EACyELIAdBAUYhDCADQUBrIQkgAiAEaiENQQAhAANAAkAgAigCeEUEQAJ/IAItAGxFBEAgAigCpAEMAQsgAigCoAFBggE6AAAgAigCoAFBADsAASACKAKgAUGRAToAAyACKAKgAUHdADoABCACKAKgASACKAKEATsABSACKAKgASAINgAHIAIoAqABIAs7AAsgAigCoAEgAi0AgAFBP3FBgAFyOgANIAIgAigCsAFBAWoiBDYCsAECQCAHQQFGBEAgA0EANgJIIAlCADcDACADQgA3AzggA0IANwMwIANCADcDKCADQgA3AyAgA0IANwMYIANCADcDECACLQDUAUUEQCADIAIoAgw2AhAgAigCFCEEIANBADYCGCADIAQ2AhQgA0EQaiACKAIEIAIoAgARBAAgAkEBOgDUASACKAKwASEECyADIAIoAqABNgIQIAIoAqQBIQUgAyAENgIgIANCgYCAgBA3AxgMAQsgA0EANgJIIAlCADcDACADQgA3AzggA0IANwMwIANCADcDKCADQgA3AyAgA0IANwMYIANCADcDECACLQDUAUUEQCADIAIoAgw2AhAgAigCFCEEIANBADYCGCAD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AikCXDcCACAAQegUaiACKQJUNwIAIAEoAigoAgBFDQIgACADKAIANgLYCwwCCyAAIAEoAigiAikCTDcClBUgAEGkFWogAikCXDcCACAAQZwVaiACKQJUNwIADAELIAAgASgCKCICKQJMNwKsFSAAQbQVaiACKAJUNgIACyAAQQA2ArQLIAAgASgCKCICQYABaiACEOgFIgINAiABKAIEQbABRw0BIAEoAigoAgBFDQFBgYCAgHghAiABKAIcIgNFDQJBhoCAgHghAiABKAIgQRRJDQIgACADKAIIQQV2QQFxNgLECwJAIAMvAQAiAkH/X2pBBUkNACACQf+ff2pBBUkNACACQf+/f2pBAUsNAgsgACACNgKwCwwBCyAAQQA2AqQLCyAAIAEQ5wVBACECIAEoAigiAwRAIAMoAiAhAgsgAEEANgLICgJAIAAoAggiA0EQcUUNAAJAIAEoAgQiBEFlaiIFQQlLBEAgBEGyAUcNAgwBCyAFQQFrDggBAQEBAQEBAQALIAJB/n5qIgJBAk1BACACQQFrGw0AIAAoArQLDQAgAEEBNgLICgtBACECIANBBHFFDQAgACgCqAtFDQAgACABKAIYNgLgFAsgAgt7AQF/IAAoAlwiAQRAIAEQKCAAQQA2AlwLIAAoAuAKIgEEQCABECggAEIANwLgCgsgACgC7AoiAQRAIAEQKCAAQQA2AvQKIABBADYC7AoLIAAoAnwiAQRAIAEQTyAAQQA2AnwLIAAoAtwVIgEEQCABECggAEEANgLcFQsL3AQBAX8gACgCXCIBBEAgARAoIABBADYCXAsgACgCfCIBBEAgARAoIABBADYChAEgAEEANgJ8CyAAKALYCCIBBEAgARAoIABBADYC4AggAEEANgLYCAsgACgCjAMiAQRAIAEQKCAAQQA2AswDIABBADYCjAMLIAAoApADIgEEQCABECggAEEANgLQAyAAQQA2ApADCyAAKAKUAyIBBEAgARAoIABBADYC1AMgAEEANgKUAwsgACgCmAMiAQRAIAEQKCAAQQA2AtgDIABBADYCmAMLIAAoApwDIgEEQCABECggAEEANgLcAyAAQQA2ApwDCyAAKAKgAyIBBEAgARAoIABBADYC4AMgAEEANgKgAwsgACgCpAMiAQRAIAEQKCAAQQA2AuQDIABBADYCpAMLIAAoAqgDIgEEQCABECggAEEANgLoAyAAQQA2AqgDCyAAKAKsAyIBBEAgARAoIABBADYC7AMgAEEANgKsAwsgACgCsAMiAQRAIAEQKCAAQQA2AvADIABBADYCsAMLIAAoArQDIgEEQCABECggAEEANgL0AyAAQQA2ArQDCyAAKAK4AyIBBEAgARAoIABBADYC+AMgAEEANgK4AwsgACgCvAMiAQRAIAEQKCAAQQA2AvwDIABBADYCvAMLIAAoAsADIgEEQCABECggAEEANgKABCAAQQA2AsADCyAAKALEAyIBBEAgARAoIABBADYChAQgAEEANgLEAwsgACgCyAMiAQRAIAEQKCAAQQA2AogEIABBADYCyAMLIAAoAoAJIgEEQCABEE8gAEEANgKACQsLgQQBBH8gAkIANwLcBCACQgA3AtQEIAJCADcCvAQgAkIANwLEBCACQgA3AswEIAJCADcC5AQgAkIANwLsBCACQgA3AvQEIAIgATYC3AQgAiAANgLYBCACIAIoAggiBiACKAIUIgBB3ABsaiIDIANBFGogAigCqARB06ABRhsoAgA2AsQEIAIgADYCvAQgAiADKAIENgLABCACIAMoAgw2AtAEIAIgAygCCDYCzAQgAiACQbQGajYC6AQgAiACKAKgBCIENgLgBCADKAIAQXBxQeABRgRAIAIgAigCpAQ2AtQECwJAIAItAKwFQQFxRQ0AIAIgAkGABWo2AuQEIAIgAigCnAQiBUEBcTYChAUgAiAFQQJ2QQFxNgKIBSACIAVBAXZBAXE2AoAFIAIgBiAAQdwAbGoiACkCVDcC9AQgAiAAKQJMNwLsBCACIAAoAkg2AvwFIAIgAEFAaykCADcC9AUgAiAAKQI4NwLsBSACIAApAjA3AuQFIAIgACkCKDcC3AUgAiAAKQIgNwLUBSACIAApAhg3AswFIAIgAigCmAUiAEEAIAQbIAQgABs2AowFIAMoAgBBcHFB4AFHDQAgAiACKAKkBDYCzAUgAiACKAKwBDYC7AULIAJBvARqIQAgAigCACIDBEAgACACKAIEIAMRBAAgAQ8LIAIgADYC/AQgAQuSAQEBfyAAQdAJaigCACIBBEAgARAoIABBADYC0AkLIAAoApQLIgEEQCABECggAEEANgKgCyAAQQA2ApQLCyAAKAKYCyIBBEAgARAoIABBADYCpAsgAEEANgKYCwsgACgCnAsiAQRAIAEQKCAAQQA2AqgLIABBADYCnAsLIAAoArgLIgEEQCABECggAEIANwK4CwsLEAAgAARAIABBNGoQzQEaCws6AQF/IABFBEAPCyAAKAKAASIBBEAgARAoIABBADYCgAELIAAoAgAiAUUEQA8LIAEQVBogAEEANgIACw4AIABFBEAPCyAAEMYHC1YBA38CQCABQQROBEAgAUF9aiEDQQAhAQNAIAEiAkEBaiEBAkAgACACaiIELQAADQAgACABai0AAA0AIAQtAAJBAUYNAwsgASADRw0ACwtBfyECCyACCyUBAX9BgYCAgHghAiABQaF+cQR/QYGAgIB4BSAAIAE2AgRBAAsLhwcBAn9B2gAhBCACQX9qIgJBA00EQCACQQJ0QcDHCGooAgAhBAsCQAJAAkACQCAAIAFJBEBB/////wcgBG4gAGogAU8NAUF/IARuIABqIQALIANBDmohBSAAIAFrIQIgAy8BDiEEDAELIANBDmohBSADLwEOIQRBACECIAAgAWsiAEF/Sg0AIAAgBGoiAEEATgRAIAMgADsBDg8LIAMgACAAQegHbSIAQegHbGtB6AdqOwEOIAAgAy8BDGoiAUF/aiEAIAFBAU4EQCADIAA7AQwPCyADIAAgAEE8bSIAQTxsa0E8ajsBDCAAIAMvAQpqIgFBf2ohACABQQFOBEAgAyAAOwEKDwsgAyAAIABBPG0iAEE8bGtBPGo7AQogACADLwEIaiIBQX9qIQAgAUEBTgRAIAMgADsBCA8LIAMgACAAQRhtIgBBGGxrQRhqOwEIIAAgAy8BBmoiAUF/aiEAIAFBAU4EQCADIAA7AQYPC0EfIQQCQEEMIAMvAQIiAkF/aiIBIAJBAUYbIgJBC0sNAEEBIAJ0QdAUcUUEQCACQQJHDQEgAy8BACICQeQAcCEFIAJBA3FFBEBBHSEEIAUNAgtBHEEdIAJBkANwGyEEDAELQR4hBAsgAyABOwECIAMgACAEajsBBiABQf//A3ENASADQQw7AQIgAyADLwEAQX9qOwEADwsgAiAEaiIAQecHTQRAIAUgADsBAA8LIAMgACAAQegHbiIAQegHbGs7AQ4gACADLwEMaiIAQTtNBEAgAyAAOwEMDwsgAyAAIABBPG4iAEE8bGs7AQwgACADLwEKaiIAQTtNBEAgAyAAOwEKDwsgAyAAIABBPG4iAEE8bGs7AQogACADLwEIaiIAQRdNBEAgAyAAOwEIDwsgAyAAQRhuIgIgAy8BBmoiATsBBiADIAAgAkEYbGs7AQggAy8BAiIAQQxLDQACQEEBIAB0IgJBqitxRQRAIAJB0BRxDQEgAEECRw0CIAMvAQAiAkHkAHAhBAJAIAJBkANwBEAgAkEDcUUgBEEAR3FFDQELIAFB//8DcUEeTw0EDAMLIAFB//8DcUEdSQ0CDAMLIAFB//8DcUEgSQ0BIANBATsBBiADIABBAWo7AQIgAEEMSQ0BIANBATsBAiADIAMvAQBBAWo7AQAMAQsgAUH//wNxQR9PDQELDwsgA0EBOwEGIAMgAEEBajsBAgv1AwEFfyMAQbABayIHJAACQCAARQ0AIAJFDQAgAiAHQQBBsAEQKyICIAMQ8wcgAUGAICABQYAgSRtBBHYiCEUNACACIANBBHRqIQQgA0F/aiIBRQRAA0AgACAAKAIAIAQoAgBzNgIAIAAgACgCBCAEKAIEczYCBCAAIAAoAgggBCgCCHM2AgggACAAKAIMIAQoAgxzNgIMIAAQ6QIgACAAKAIAIAIoAgBzNgIAIAAgACgCBCACKAIEczYCBCAAIAAoAgggAigCCHM2AgggACAAKAIMIAIoAgxzNgIMIABBEGohACAFQQFqIgUgCEcNAAwCAAsACwNAIAAgACgCACAEKAIAczYCACAAIAAoAgQgBCgCBHM2AgQgACAAKAIIIAQoAghzNgIIIAAgACgCDCAEKAIMczYCDCAAEOkCIAEhAwNAIAAgACgCACACIANBBHRqIgYoAgBzNgIAIAAgACgCBCAGKAIEczYCBCAAIAAoAgggBigCCHM2AgggACAAKAIMIAYoAgxzNgIMIAAQ8gcgA0F/aiIDDQALIAAgACgCACACKAIAczYCACAAIAAoAgQgAigCBHM2AgQgACAAKAIIIAIoAghzNgIIIAAgACgCDCACKAIMczYCDCAAQRBqIQAgBUEBaiIFIAhHDQALCyAHQbABaiQACwgAIAAQjQinCysCAX8BfiAAEIcBIQEgAEIAQQIQqAEaIAAQ5QEhAiAAIAGsQQAQqAEaIAILDAAgACABrCACEKgBC4UBAQN/IwBBEGsiAiQAAkACQEGdICABLAAAEG5FBEBBqMgKQRw2AgAMAQsgARCsCCEEIAJBtgM2AgAgACAEQYCAAnIgAhAdIgBBgWBPBEBBqMgKQQAgAGs2AgBBfyEACyAAQQBIDQEgACABEJ4IIgMNASAAEAwaC0EAIQMLIAJBEGokACADC4UIAQN/IwBBsAFrIgQkAAJ/AkACQAJAAkAgACgCbARAIAAoAmgiBQ0BCyAAKAKcAgRAIAJFBEAgBCAAKAJkNgIYIARBjg02AhQgBEHGlAo2AhBBBUGNlAogBEEQahAqDAMLAkACQCABQQFGQQAgA0F/aiIFQf8ASxsNACAFQf8ASyIGIAFBBkZxDQAgBUH/AUsiBSABQQVGcQ0AIAFBBEYgBXENACABQQNGIAZxRQ0BCyAAKAJkIQAgBCADNgIsIAQgADYCKCAEQZgNNgIkIARBxpQKNgIgQQVB1JQKIARBIGoQKkGBgICAeAwGC0GBgICAeCABQQZLIgYNBRoCQCAGDQBBASABdEHsAHFFBEAgAEGcBWogAiADECkaIAAgATYClAUgACADNgKcCSABQX5xQQJHDQELIABBnAdqIAIgAxApGiAAIAE2ApgFIAAgAzYCoAkLIABBATYCpAlBAAwFCyAEIAAoAmQ2AgggBEG/DTYCBCAEQcaUCjYCAEEFQZv5CSAEECpBhICAgHgMBAsgACgCWEUEQCAEIAAoAmQ2AjggBEHGDTYCNCAEQcaUCjYCMEEFQfuRCiAEQTBqECpBhICAgHgMBAsgAkUEQCAEIAAoAmQ2AkggBEHMDTYCRCAEQcaUCjYCQEEFQYSVCiAEQUBrECoMAQsgBRCRCSAAQQE2AqgJIAFBBk0EQAJAAkACQAJAAkACQCABQQFrDgYBBQQAAwUCCyADQX9qQYACSQ0BDAgLIANBf2pB/wBLDQcLIAAoAqwJQQFGBEAgBCAAKAJkNgJ4IARB3g02AnQgBEHGlAo2AnBBBUG8lQogBEHwAGoQKkGEgICAeAwICyAAKAKwCUEBRgRAIAQgACgCZDYCiAEgBEHkDTYChAEgBEHGlAo2AoABQQVB35UKIARBgAFqECpBhICAgHgMCAsgAEEBNgKwCSAAKAJoIAEgAiADEI0DDAcLIANBf2pBgAJJDQEMBAsgA0F/akH/AEsNAwsgACgCrAlBAUYEQCAEIAAoAmQ2AqgBIARB9w02AqQBIARBxpQKNgKgAUEFQbyVCiAEQaABahAqQYSAgIB4DAULIABBATYCrAkgACgCbCABIAIgAxCXAwwECyAEIAAoAmQ2AlggBEGBDjYCVCAEQcaUCjYCUEEFQYKWCiAEQdAAahAqC0GDgICAeAwCCyAAKAJkIQAgBCADNgKcASAEIAA2ApgBIARB8Q02ApQBIARBxpQKNgKQAUEFQdSUCiAEQZABahAqQYGAgIB4DAELIAAoAmQhACAEIAM2AmwgBCAANgJoIARB2A02AmQgBEHGlAo2AmBBBUHUlAogBEHgAGoQKkGBgICAeAshBSAEQbABaiQAIAULJAEBfiAAEOUBIgFCgICAgAhZBEBBqMgKQT02AgBBfw8LIAGnC+wDAQN/IwBBkAJrIgEkAAJAIAAoAmgiAkUEQCABIAAoAmQ2AgggAUGaETYCBCABQY3dCTYCAEEFQZzICSABECoMAQsgAUIANwP4ASABQgA3A4ACIAFCADcDiAIgAUIANwPwASAALwEIQXtqIgNBCksNAAJAAkACQAJAIANBAWsOCgQBBAQCAAQEAAMACyACBH8gAhCmAwVBh4CAgHgLDQMgACgCaCABQYgCahBfDQMgAUEFNgL0ASAAIAFBiAJqIAFB8AFqQQAQRgwDCyACIAFBiAJqEF8NAiABQQU2AvQBIAAgAUGIAmogAUHwAWpBABBGIAFCADcDiAIgACgCaCABQYgCahD2AQ0CIAFBBDYC9AEgACABQYgCaiABQfABakEAEEYMAgsgAiABQYgCahBfDQEgASgCjAIhAiABQQQ2AowCIAEoAogCIQMgAUEQakEEckEAQdgBECsaIAFBADYC9AEgAUEFNgIQIAAgAUGIAmogAUHwAWogAUEQahBGIAEgAkF8ajYCjAIgASADQQRqNgKIAiABQQQ2AvQBIAAgAUGIAmogAUHwAWogAUEQahBGDAELIAFCADcDiAIgAiABQYgCahD2AQ0AIAFBBTYC9AEgACABQYgCaiABQfABakEAEEYLIAFBkAJqJAALsQUBCH9BhICAgHghCwJAIAJBBUkNACACIQYgASEFAkADQAJAAkAgBS0ABEEfcUF/aiIIQQRLDQAgCEEBaw4EAAAAAQMLIAUgBSgAACIIQRh0IAhBCHRBgID8B3FyIAhBCHZBgP4DcSAIQRh2cnJBBGoiCGohBSAGIAhrIgZBBEsNAQwDCwsgA0EBNgIAQQAhAyAAQfAAakEAQYAEECshCSAAQfACaiEMIAIhCCABIQUCQANAIAUtAARBH3FBeWoiBkECTQRAIAUoAAAiB0EYdCAHQQh0QYCA/AdxciAHQQh2QYD+A3EgB0EYdnJyIQogBUEEaiEHAkACQAJAAkAgBkEBaw4CAgABCyAKQQRqIQYMAgsgCkGAAksNBCAAIAo2AmAgCkEEaiIGIAJLDQQgCSAHIAoQKRoMAQsgCkGAAksNAyAAIAo2AmQgCkEEaiIGIAJLDQMgDCAHIAoQKRoLIAUgBmohBSADIAZqIQMgCCAGayIIQQRLDQELCyAAKAJgRQ0AIAAoAmRFDQAgBCADNgIAQQAPC0EAIQYgCUEAQYAEECshCCACIQMDQCABLQAEQR9xQXlqIgVBAk0EQCABKAAAIgdBGHQgB0EIdEGAgPwHcXIgB0EIdkGA/gNxIAdBGHZyciEJIAFBBGohBwJAAkACQAJAIAVBAWsOAgIAAQsgCUEEaiEFDAILIAlBgAJLBEBBhYCAgHgPCyAAIAk2AmAgCUEEaiIFIAJLDQUgCCAHIAkQKRoMAQsgCUGAAksEQEGFgICAeA8LIAAgCTYCZCAJQQRqIgUgAksNBCAMIAcgCRApGgsgASAFaiEBIAUgBmohBiADIAVrIgNBBEsNAQsLIAAoAmBFDQEgACgCZEUNASAEIAY2AgBBAA8LQQAhCyADQQA2AgAgBEEANgIACyALC4oDAQh/IABB8ABqQQBBgAYQKyEJAkAgAkEFSQ0AIABB8ARqIQogAEHwAmohCyACIQgDQCABLQAEQQF2QT9xQWBqIgVBB0sNASABKAAAIgRBGHQgBEEIdEGAgPwHcXIgBEEIdkGA/gNxIARBGHZyciEEIAFBBGohBwJAAkACQAJAAkAgBUEBaw4HAQIGBgYGAAMLIARBBGohBQwDCyAEQYACSwRAQYWAgIB4DwsgACAENgJgIARBBGoiBSACSwRAQYSAgIB4DwsgCSAHIAQQKRoMAgsgBEGAAksEQEGFgICAeA8LIAAgBDYCZCAEQQRqIgUgAksEQEGEgICAeA8LIAsgByAEECkaDAELIARBgAJLBEBBhYCAgHgPCyAAIAQ2AmggBEEEaiIFIAJLBEBBhICAgHgPCyAKIAcgBBApGgsgASAFaiEBIAUgBmohBiAIIAVrIghBBEsNAAsLQYSAgIB4IQECQCAAKAJgRQ0AIAAoAmRFDQAgACgCaEUNACADIAY2AgBBACEBCyABC5ECAQF/IABFBEBBgoCAgHgPCyAAEPsBBEAgABD7AQ8LIAAgACgCFCIBNgK0ASABIAAoAgxqIgFBhMUJKQIANwAIIAFB/MQJKQIANwAAIAAgACgCFEEQaiIBNgIUIAAoAgwgAWpBMjYAACAAIAAoAhRBBGoiATYCFCAAKAIMIAFqQQA2AAAgACAAKAIUQQRqIgE2AhQgACgCDCABaiIBQgA3AAAgAUIANwAIIAAgACgCFEEQaiIBNgIUIAAoAgwgAWogACgCsAE2AAAgACAAKAIUQQRqIgE2AhQgACgCDCABakEANgAAIAAgACgCFEEEaiIBNgIUIAAoAgwgAWpBgQI7AAAgACAAKAIUQQJqNgIUQQALggIBAn8jAEHwAGsiAyQAAkAgAUUEQCADQTs2AgQgA0GxvQk2AgBBgYCAgHghBAwBCyAARQRAIANBPDYCFCADQbG9CTYCEEGBgICAeCEEDAELIAAgASACENgEIgQEQCADQT82AmQgA0GxvQk2AmAMAQsgACABIAIQ1wQiBARAIANBwgA2AlQgA0GxvQk2AlAMAQsgACACENUEIgQEQCADQcUANgJEIANBsb0JNgJADAELIAAgASACENQEIgQEQCADQcgANgI0IANBsb0JNgIwDAELIAAgASACENMEIgRFBEBBACEEDAELIANBywA2AiQgA0GxvQk2AiALIANB8ABqJAAgBAuUAgEDfyMAQdAAayIDJAACQCABRQRAIANBzxM2AgQgA0H5twk2AgBBgYCAgHghBAwBCyABKAIARQRAIANB0BM2AhQgA0H5twk2AhBBgYCAgHghBAwBCyABKAIIIQUgAUHrwsmjBxAzIgQEQCADQdUTNgJEIANB+bcJNgJADAELIAAgASACEMwEIgQEQCADQdgTNgI0IANB+bcJNgIwDAELIAAgASACEMsEIgQEQCADQdsTNgIkIANB+bcJNgIgDAELIAEoAgAgBWogASgCCCAFayIAQRh2OgAAIAUgASgCAGogAEEQdjoAASAFIAEoAgBqIABBCHY6AAIgBSABKAIAaiAAOgADQQAhBAsgA0HQAGokACAEC/4BAQR/IwBBIGsiAiQAIAAoAigiAUEEaiAAKAIsTQRAIAAoAiQgAWpBADoAACABIAAoAiRqQQA6AAEgASAAKAIkakEAOgACIAEgACgCJGpBADoAAyAAIAAoAigiAUEEaiIDNgIoAkAgAUEIaiAAKAIsSwRAIAJBrxA2AhQgAkHltgk2AhBBg4CAgHghBAwBCyAAKAIkIANqQe0AOgAAIAEgACgCJGpB5AA6AAUgASAAKAIkakHhADoABiABIAAoAiRqQfQAOgAHIAAgACgCKEEEajYCKAsgAkEgaiQAIAQPCyACQa0QNgIEIAJB5bYJNgIAIAJBIGokAEGDgICAeAtLAQF/IAAoAgAgAWogACgCCCABayICQRh2OgAAIAEgACgCAGogAkEQdjoAASABIAAoAgBqIAJBCHY6AAIgASAAKAIAaiACOgADQQALyQMBAn8jAEHwAGsiAyQAAkAgAUUEQCADQfcBNgIEIANBy7IJNgIAQYGAgIB4IQQMAQsgACABQQhqIAIQ4AQiBARAIANB+gE2AmQgA0HLsgk2AmAMAQsgAUHYCGpCADcCACABQeAIaiIEQQwQLyAEQegHEFwiBARAIANBgAI2AlQgA0HLsgk2AlAMAQsgAUG0CGpBADYCACABQbgIaiIEQQwQLyAEQeQAEFwiBARAIANBhQI2AkQgA0HLsgk2AkAMAQsgACgC+DkhAEEAIQQgAUG0CWpBADYCACABQaQJakEANgIAIAFBkAlqQgE3AwAgAUGICWpCATcDACABQYAJakIBNwMAIAFB/AhqIABBfnFBAkc2AgAgAUGoCWoiAEEMEC8gAEEKEFwiAARAIANBlgI2AjQgA0HLsgk2AjAgACEEDAELIAJB5cilswdHDQAgAUHUCWpBADYCACABQdgJaiIAQQwQLyAAQTIQXCIABEAgA0GdAjYCJCADQcuyCTYCICAAIQQMAQsgAUHwCWpBADYCACABQfQJaiIAQQwQLyAAQQoQXCIARQ0AIANBowI2AhQgA0HLsgk2AhAgACEECyADQfAAaiQAIAQLjwUBAn8jAEHQAGsiAyQAAn8CQCACRQRAIAAoAgQgACgCCCICQQRqSQRAIANBgwY2AgQgA0G5rwk2AgAMAgsgACgCACACaiABpyIEQRh2OgAAIAIgACgCAGogBEEQdjoAASACIAAoAgBqIARBCHY6AAIgAiAAKAIAaiABPAADIAAgACgCCCICQQRqIgQ2AgggACgCBCACQQhqTwRAIAAoAgAgBGpB7QA6AAAgAiAAKAIAakHkADoABSACIAAoAgBqQeEAOgAGIAIgACgCAGpB9AA6AAcgACAAKAIIQQRqNgIIQQAMAwsgA0GFBjYCFCADQbmvCTYCEAwBCyAAKAIEIAAoAggiAkEEakkEQCADQYkGNgIkIANBua8JNgIgDAELIAAoAgAgAmpBADoAACACIAAoAgBqQQA6AAEgAiAAKAIAakEAOgACIAIgACgCAGpBAToAAyAAIAAoAggiAkEEaiIENgIIIAAoAgQgAkEIakkEQCADQYsGNgI0IANBua8JNgIwDAELIAAoAgAgBGpB7QA6AAAgAiAAKAIAakHkADoABSACIAAoAgBqQeEAOgAGIAIgACgCAGpB9AA6AAcgACAAKAIIIgJBBGoiBDYCCCAAKAIEIAJBDGpPBEAgACgCACAEaiABQjiIPAAAIAIgACgCAGogAUIwiDwABSACIAAoAgBqIAFCKIg8AAYgAiAAKAIAaiABQiCIPAAHIAIgACgCAGogAUIYiDwACCACIAAoAgBqIAFCEIg8AAkgAiAAKAIAaiABQgiIPAAKIAIgACgCAGogATwACyAAIAAoAghBCGo2AghBAAwCCyADQY0GNgJEIANBua8JNgJAC0GDgICAeAshACADQdAAaiQAIAALcwEBfyMAQRBrIgIkAAJ/IABFBEAgAkHEBTYCBCACQY+vCTYCAEGBgICAeAwBCyAAQZw0aiABNgIAQQAgACgChDoNABpBABAEIQEgAEEBNgKEOiAAQcg0aiABQYD9qZ14aq03AwBBAAshACACQRBqJAAgAAv2BAEGfyABIAEoAqgEQQJ0aiIFKAKYASEGIAUoAlghByABKALYASEIIAEoAgAhBQJAIAEtAJUERQ0AIAEtAJYERQ0AIAEtAJQERQ0AIAEtAJgERQ0AIAEtAJcEQX9qIglBAksNACAJQQFrRQ0AQQEhCgsgASgC6AIhCSAAIAJB/wBxIANBB3RyOgABIABBkH9BkH9BgH8gChsgAkHwAEYbQYB/IAkbOgAAAkACfyACIAEoAhRGBEAgACABQdwBaiICIAEoAqgEQQJ0aigCAEEIdjoAAiACIAEoAqgEQQJ0aigCACEDIAAgBzoACyAAIAdBCHY6AAogACAHQRB2OgAJIAAgB0EYdjoACCAAIAU6AAcgACAFQQh2OgAGIAAgBUEQdjoABSAAIAVBGHY6AAQgACADOgADIAIgASgCqARBAnRqDAELIAIgASgCGEYEQCAAIAFBnAJqIgIgASgCqARBAnRqKAIAQQh2OgACIAIgASgCqARBAnRqKAIAIQMgACAGOgALIAAgBkEIdjoACiAAIAZBEHY6AAkgACAGQRh2OgAIIAAgBToAByAAIAVBCHY6AAYgACAFQRB2OgAFIAAgBUEYdjoABCAAIAM6AAMgAiABKAKoBEECdGoMAQsgAkHwAEcNASAAIAEoAtwCQQh2OgACIAEoAtwCIQIgACAIOgALIAAgCEEIdjoACiAAIAhBEHY6AAkgACAIQRh2OgAIIAAgBToAByAAIAVBCHY6AAYgACAFQRB2OgAFIAAgBUEYdjoABCAAIAI6AAMgAUHcAmoLIgAgACgCAEEBajYCAAsgBEEANgIAIAEgASgC5AJBAWo2AuQCC7gHAQ1/IwBBgAJrIgUkAEGBgICAeCEEAkAgAUUNACAARQ0AIAJFDQAgBUEIakEAQfQBECsaIAVBADoABCAFQQA2AgBBhYCAgHghBCAAKAIgQW9qIgxBAksNACAFIAxBAnRByKEJaigCADYC+AEgAiAFQQhqEKYCQQAhBCABKAIERQ0AIAVBBGohDCAFQQFyIQ4gBUECciEPIAVBA3IhECADQX9qIQ1BACEDA0AgASAJQQxsaiIKIgtBDGooAgAhB0GBgICAeCEGAkAgCigCCCICRQ0AIAdFDQAgACgCBCIEQQ9LDQBBACEGIA1BAUsNAAJAAkACQAJAAkAgDUEBawRAIAAgBEHUAGxqKAKwAiIEQX9qIghBBE0NASAEQYACRw0CQQNBBCACLQACQQFGGyEGDAYLQQdBACAAKAIUQYHAAEYbIQYMBQtBFCEGIAhBAWsOBAACAQMEC0EAIQYMAwtBACEGIAdBBEkNAiAHQX1qIQhBACEEA0ACQCACIARqIgYtAABB/wFGBEAgBi0AAUHaAUYNAQtBACEGIARBAWoiBCAIRw0BDAQLCyAEIAYtAAMgBi0AAkEIdHJqQQJqIQYMAgtBAyEGDAELQQVBBiACLQACQQFGGyEGC0EQIQQgCiACIAZqIgItAAA2AhAgByAGayEHA0AgBCAHTQRAIAIgBUEIahC+ASACQRBqIQIgBEGAIEkhCCAEQRBqIQQgCA0BCwsCQAJ/IAsoAgwiAkE/TQRAIAUgAkF8ajoAACAOIQRBAgwBCyACQf//AE0EQCAFIAJBfGo6AAEgBSACQfz/A2pBCHZBwAByOgAAIA8hBEEDDAELIAJB////AU0EQCAFIAJBfGo6AAIgBSACQfz/A2pBCHY6AAEgBSACQfz//wNqQRB2QYABcjoAACAQIQRBBAwBCyACQf////8DSw0BIAUgAkF8ajoAAyAFIAJB/P8DakEIdjoAAiAFIAJB/P//B2pBEHY6AAEgBSACQfz///8DakEYdkHAAXI6AAAgDCEEQQULIQMgBEHAADoAAAsgASgCBEF/aiIEIAlLBEADQCABIARBDGxqIgciAkEIaigCACIIIANqIAggBygCDBApGiACIAIoAgggA2o2AgggBEF/aiIEIAlLDQALIAsoAgwhAgsgCigCCCIEIANqIAZqIAQgBmogAiAGaxApGiAKKAIIIAZqIAUgAxApGiALIAsoAgwgA2o2AgwgCUEBaiIJIAEoAgRJDQALQQAhBAsgBUGAAmokACAECwoAIAAgASACEDELEgAgAEUEQEEADwsgACABEMEFC7sCAQJ/QYGAgIB4IQMCQCAARQ0AIAFFDQAgAUHJmq3CBDYCACABIAAoAgw7AQggASAAKAIQOwEKIAEgACgCFDsBDCABIAAtAGg6AA4gASAAKAJwNgIUIAEgACgCbDYCECABIAAtAGk6AA8gACgCNEGCAUYEQCABIAEoAhhBgIICcjYCGAsgACgCZCECIAAoAlwEQCACQX9qIgBBAU0EQCAAQQFrBEAgAUGDAjsBBCABIAEoAhhBgwFyNgIYQQAPCyABQYMCOwEEIAEgASgCGEGFAXI2AhhBAA8LIAFBggI7AQQgASABKAIYQYEBcjYCGEEADwtBACEDIAJBAUYEfyABQYMCOwEEIAEgASgCGEGCAXI2AhggACgCZAUgAgtBAkcNACABQYMCOwEEIAEgASgCGEGEAXI2AhgLIAML0gUBA39BgYCAgHghAwJAIAFFDQACQCAAKAKwASIEQX9qIgJBAksNAAJAAkAgAkEBaw4CAQEACyAAIAAoAswIQRxsaiICIAEoAgQiBDYCzAQgAiABKAIINgLUBCACIAEoAhA2AtAEIAEoAighAgJAIARBsAFHDQAgAigCAEUNACABKAIcIgRFDQNBhoCAgHghAyABKAIgQRRJDQMgACAEKAIIQQV2QQFxNgLAAQJAIAQvAQAiA0H/X2pBBUkNACADQf+ff2pBBUkNACADQf+/f2pBAUsNAQsgACADNgK4AQsgAgRAIABBATYCrAEgACACKAIMIgM2ArQBIAAgAikCEDcC1AEgACACKQIYNwLcASAAIAIpAiA3AuQBIAAgAikCKDcC7AEgACACKQIwNwL0ASAAIAIpAjg3AvwBIAAgAkFAaykCADcChAIgACACKAJINgKMAiAAIAEoAigiAikCTDcCmAIgACACKQJUNwKgAiAAIAIpAlw3AqgCIAAgAikCZDcCsAIgACACKQJsNwK4AiAAIAIpAnQ3AsACIAAgAigCfDYCyAIgA0UNAiABKAIoKAIARQ0CIAAgACgCuAI2AswBDAILIABBADYCrAEMAQsgACABKAIENgLkCCAAQewIaiABKAIINgIAIABB6AhqIAEoAhA2AgAgASgCKCICBEAgAEEBNgKsASAAIAIoAgw2ArQBIAAgAikCEDcC1AEgACACKQIYNwLcASAAIAIpAiA3AuQBIAAgAikCKDcC7AEgACACKQIwNwL0ASAAIAIpAjg3AvwBIAAgAkFAaykCADcChAIgACACKAJINgKMAiAEQQJGBEAgACABKAIoIgIpAkw3AswCIAAgAikCXDcC3AIgACACKQJUNwLUAgwCCyAAIAEoAigiAikCTDcC5AIgACACKAJUNgLsAgwBCyAAQQA2AqwBCyAAIAEQtQJBACEDCyADC7UCAQZ/QYGAgIB4IQMCQCABRQ0AIAJBAEgNAAJAIAAgACgCzAhBAnRqIgMoAowEIgUgAmoiBCADKALMA00NACADKAKMAyIGRQRAIAMgBEGAgCAgBEGAgCBLGyIEQYBAayIFECwiBjYCjAMgBkGsASAFECsaIAMgBDYCzAMMAQsgBEGAQGsiAxAsIgcgBWpBrAFBACADIAVrIgggCCADSxsQKxogByAGIAUQKSEDIAYQKCAAIAAoAswIQQJ0aiIFIAQ2AswDIAUgAzYCjAMLIAAoApACIAAgACgCzAhBAnQiA2ooAowDIAMgAEGMBGoiBGooAgBqaiABIAIQKRogAEGQAmogBCAAKALMCCIBQQJ0aiAAIAFBHGxqKALMBEGwAUYbIgAgACgCACACajYCAEEAIQMLIAMLrQMBAX8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB/z9MBEAgAEH/AUwEQCAAQX9qIgFBBUsNEkGAASEAIAFBAWsOBQYFBwQTAwsgAEH/eWoiAUECTQ0PIABBgAJGDQEgAEGAIEcNEUGeAQ8LIABBoOQBTARAIABBgOABTARAIABBgEBqIgFBAksEQCAAQYLgAEcNE0GlAQ8LIAFBAWsOAg4PCwsgAEHwnX5qIgFBAUsEQCAAQYHgAUcNEkGcAQ8LIAFBAWsNCAwHCyAAQY/lAUwEQCAAQd+bfmoiAUEQTQ0QIABBoJt+aiIAQQJLDREgAEEBaw4CEQwLCyAAQZDlAUYNCCAAQb/7AkcNEEG/AQ8LQRsPC0GwAQ8LQbIBDwtBEA8LQQIPC0GxAQ8LQZABDwtBkQEPC0GZAQ8LQQQPC0GWAQ8LQZgBDwtBDw8LQaYBDwsgAUEBaw4CBAMFCyABQQFrDhAAAAAAAAAAAAAAAAAAAAAFBgtBACEACyAADwtBqgEPC0GpAQ8LQagBDwtBkwEPC0GSAQvzAQEBfwJAAkAgAEF/aiIBQb4BSw0AQQEhAAJAAkAgAUECaw69AQAAAgICAgICAgICAgADAgICAgICAgICAgMCAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwACAgICAgICAgICAgICAgAAAAACAgACAAACAgAAAAICAgICAgAAAgICAgICAgICAwMDAgICAgICAgICAgECAQMLQQIPC0EDDwtBACEACyAAC+AGAQl/IAFFBEAPCyABQX5qIQogBUGcBmohCyAARSIGIARFciEMIAYgA0VyIQ0DQAJAAkACQAJ/AkACQCAAIAlqIgYtAABBQGoiB0HAAEsNAAJAAkACQAJAAkACQCAHQQFrDkAAAQMECQYCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYFBwsgBi0AASEHIAYtAAMgBi0AAkEIdHJBy5ABRgRAIAIgAigCHEEBcjYCHAsCQCAFRQ0AIAogCWsgB0kNACAFKAKgBUGFAUcNACAHQX5qIghBEEsNACAFKAIIIAUoAhRB3ABsakHMAGogBkEEaiAIECkaCyAHQQJqIQYMCQsgBiACIAMQwwIMBgsgBiALEMICDAULIAwNByAGLQABIgdBCU0EQCAHQQJqIQYMBwsgBi0ABCEIIARBEDYCBCAEIAhBAXFBAWo2AgAgBCAGLQAGQQZ0IAYtAAVBDnRyIAYtAAdBAnZyNgIIIAQgBi0ACUEGdCAGLQAIQQ50ciAGLQAKQQJ2cjYCDCAEIAhB/gFxIghBAkYEfyAGLQAKQQNxQQFGBUEACzsBEiAEIAhBAkY7ARAgB0ECaiEGDAYLIA0NBiAGLQABIgdBCU0EQCAHQQJqIQYMBgsgAyADKAIcQQRyNgIcIAMgBi0AAyAGLQACQQh0cjYCJCADIAYtAARB/wBxQQd0IAYtAAVBAXZyNgIoIAMgBi0AByAGLQAGQQh0cjYCLCADIAYtAAkgBi0ACEEIdHI2AjAgB0ECaiEGDAULIAYtAAEiDkEGTwRAIAYtAAQiB0EPcUEBRiAGLQAFIgZBD3FBA0ZxIQggBkEEdiEGAkAgB0HwAXFBMEYEQCAIBEAgBkF/aiEHQQAhBiAHQQNPDQIgB0ECdEGc9AhqKAIAIQYMAgtBEUESQQAgBkECRhsgBkEBRhshBgwBCyAGQX9qIQcCQCAIBEAgB0EDTw0BIAdBAnRBqPQIaigCACEGDAILIAdBAkkNAQtBACEGCyACIAY2AggLIA5BAmohBgwECyAGLQABQQJqIQYMAwsgBiABIAlrIAIQmgYLIgZBAE4NAQwCCyAGLQABQQJqIQYLIAYgCWoiCSABSQ0BCwsLoAgBBH8gAUUEQEGBgICAeA8LIAAoApAMIgVBf2oiAkECSwRAQYWAgIB4DwsCfwJAAkACQCACQQFrDgIBAgALIABBmAxqDAILIABBtAxqDAELIABB0AxqCyIEAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIMIgJB1eTA6gRMBEAgAkGx5Ny5BEwEQCACQYD6+vV7aiIDQQFNDQhBv/sCIAJBv/sCRg0PGiACQbSS2aIERw0OQYAgDA8LIAJBzpujxntqIgNBBE0NCCACQcyTt757aiIDQQFLBEAgAkHHisHSBEcNDkEEDA8LIANBAWsNAQwCCyACQcCajYIFTARAIAJBn4LB6gRMBEAgAkHW5MDqBEYNBCACQdbowOoERw0OQQMMDwsgAkGggsHqBEYNBSACQdOqwfoERw0NQYLgAAwOCyACQcyGwZIFTARAIAJBwZqNggVGDQQgAkHVmo2CBUcNDUGQ4gEMDgsgAkHNhsGSBUYNBUEGIAJBw4LZmgVGDQ0aDAwLQYACDAwLQQUMCwtBAgwKC0GR4gEMCQtBgMAADAgLQYHgAQwHCyADQQFrDQIMAQsgA0EBaw4EBAQEAgMLQYLAAAwEC0GBwAAMAwtB4uQBQeDkASAAQagJai8BAEHi5AFGGwwCC0Gh5AEMAQtBAAs2AgAgBCABKAIkNgIIIAQgASgCEDYCBCAAIAEoAiA2ApQMIAAgASgCFCIDNgLsCwJAIAEoAiwiAgRAIAAgAigCHEEARzYC8AsgACACKQIANwKMFSAAQZQVaiACKQIINwIAIABBnBVqIAIpAhA3AgAgAEGkFWogAikCGDcCACAAQawVaiACKQIgNwIAIABBtBVqIAIpAig3AgAgAEG8FWogAikCMDcCACAAQcQVaiACKAI4NgIADAELIABBADYC8AsLAkAgASgCMCICRQ0AIAVBf2oiBEEBTQRAIARBAWsEQCAAIAIpAgA3AsgVIABB+BVqIAIoAjA2AgAgAEHwFWogAikCKDcCACAAQegVaiIEIAIpAiA3AgAgAEHgFWogAikCGDcCACAAQdgVaiACKQIQNwIAIABB0BVqIAIpAgg3AgAgA0UNAiAAIAQoAgA2AogMDAILIAAgAikCADcC/BUgAEGMFmogAikCEDcCACAAQYQWaiACKQIINwIADAELIAAgAikCADcClBYgAEGcFmogAigCCDYCAAsgAEEANgL0CwJAIAEoAjQiAgRAIAAgAiABEJ0GIgINAQsgACABEJwGIAEoAhQhAgJAIAEoAhgEQCACDQEgAEEANgKMCUEADwsgAg0AQQAPC0EAIQIgACgCkAxBAUcNACABKAIIQX1qQQNPBEAgACABKAIAIAEoAgQgASgCDBCbBkEADwsgAEEBNgLAFgsgAgtJAQJ/IAAoAgQiBUEIdSEGIAAoAgAiACABIAVBAXEEfyACKAIAIAZqKAIABSAGCyACaiADQQIgBUECcRsgBCAAKAIAKAIYEQsAC+8CAQR/QYGAgIB4IQQCQCACQX9GDQAgAEUNACADRQ0AAkAgACACQdgpbGoiBUHwIWooAgAiBARAAkAgBEEBRw0AIAAoAhAgAkcNAEGHgICAeCEEIAVBvCJqKAIAIgBFDQMgBUHAImooAgBBCEkNAyAAKAAEIgBBGHQgAEEIdEGAgPwHcXIgAEEIdkGA/gNxIABBGHZyciEECyADIAQ2AgAMAQtBh4CAgHghBCAFQdgiaigCACIGRQ0BIAFBAWoiByAGSwRAQYOAgIB4IQQCQCAAIAJB2ClsakHgIWooAgAiAEHz8JWjB0wEQCAAQfTcpcMGRg0BIABB7uq9mwdGDQEMBAsgAEHlyKWzB0YNACAAQfTwlaMHRw0DC0EBDwsgBUHgImooAgAgB0ECdEkNASADIAVB3CJqKAIAIAFBAnRqKAAAIgBBGHQgAEEIdEGAgPwHcXIgAEEIdkGA/gNxIABBGHZycjYCAAtBACEECyAEC8gFAQZ/QYGAgIB4IQUCQCAARQ0AIAFFDQACQAJAIAJBBUkNACACQXxqIQkDQAJAIAEgBmotAAAiB0EFRgRAIAIgBkEFaiIFIAUgAkkbIgVBfGohByAFQXtqIQoDQAJAIAYiBUEFaiACTwRAIAEgB2otAAAhCCAKIQUgByEGDAELIAEgBUEBaiIGai0AACIIQYABRg0BCwsgBSAIakECaiIFIAJLDQEgAiAFRg0DIAEgBWotAABBBkcNAQwDCyAGQQFqIQUgB0EERwRAIAUhBgwBCyAGQQVqIQcCfyAFIAcgAk8NABoDQCAFIAEgBWotAABBgAFHDQEaIAVBBWohBiAFQQFqIQUgBiACSQ0ACyAJCyIGIAFqLQABQUBqIgVBK0sNAAJAAkAgBUEBaw4rAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgEBAQACAAELIABBgObA6gQ2AsAgDAQLIABBgIaFigQ2AsAgIAZBAmohBgsgBkEEaiACSQ0ACwtBh4CAgHghBSAGQQRqIAJGDQEgASAGaiIBLQAAIgJBAkkNASABQQFqIQEgA0Hh6MDrBkYEQCABLQAAIQIgAS0AASEDIABBgCFqQRA2AgAgAEGEIWogAkEBdEEOcSADQQd2ckECdCIDQaDtCGooAgA2AgAgAEH8IGogAS0AASIGQQN2QQ9xIgU2AgAgAEHgIWoiByAAKAIQQdgpbGoiAUH8AToAigEgASAEQQdqIgJBBXRBH3I6AIkBIAEgAkEDdjoAiAEgAUH/8wM7AIQBIAEgBUEGdCACQQt2cjoAhwEgASADIAZBBXZBAXFyQcAAcjoAhgEgByAAKAIQQdgpbGpBBzYChAkMAQsgAEHgIWoiAyAAKAIMQdgpbGpBhAFqIAEgAhApGiADIAAoAgxB2ClsaiACNgKECQtBACEFCyAFC/ICAQN/IABFBEAPCyAAQgA3AgggAEIANwIYIAAgACgCWDYCDCAAQgA3AhAgAEIANwIgIABCADcCKCAAQgA3AjAgAEEANgI4IAAgACgCUDYCGAJAAkAgACAAKAKQASIBQRhsaigCoAEiAkF4aiIDQQFLBEAgAkG9AUcNAiAAQQQ2AgggACAAIAFBGGxqKAKYASIBNgIUIAAoAmghAiAAIAE2AmggACAAKQKEATcCNAwBCyADQQFrBEAgAEECNgIIIAAgACgCeEECdEHgvgpqKAIANgIoIABBCjYCMCAAIAAoAnw2AiwgACgCZCECIAAgACABQRhsaigCmAEiATYCZCAAIAE2AhQMAQsgAEEBNgIIIAAgACABQRhsaigCmAEiATYCFCAAKAJgIQIgACABNgJgIAAgACkCbDcCHAsgACABIAJrNgIQIABBCGohASAAQQA2AlggACgCACICBEAgASAAKAIEIAIRBAAPCyAAIAE2AjwLCwYAIAAQKAs+AQF/IABFBEBBgYCAgHgPC0GIgICAeCEGAkAgAkUNACAERQ0AIAVFDQAgACABIAIgAyAEIAUQxwchBgsgBguiBAEKf0FrIQICQCAARQ0AIAFFDQAgACgCACIDRQ0AIAAoAgQiBEEBSARAQW0PC0F/IQIgBEEBRg0AIAMgBGohCANAIAMiBUEBaiEDAkAgBS0AAEH/AUYEQCADLQAAIglB8AFxQcABRgRAIARBf2ohBAwCCyAEQX9qIgRBAk9BACAJQShqIgBB/wFxQSZLGw0CIABB/wFxQSZNDQFBfw8LIARBf2oiBEEBSw0BDAILQQEhBkEAIQIgBEF/aiIHIQAgBUECaiIKIQMCQCAHQQJJDQADQCADQQFqIQIgAy0AAEH/AUYEQCACLQAAIgNB8AFxQcABRgRAIAQgAGshAkF/IQYMAwsgA0EoaiELIABBf2oiAEECTwRAIAIhAyALQf8BcUEmSw0CCyAHIABrIQIgC0H/AXFBJksNAkF/IQYMAgsgAiEDIABBf2oiAEEBSw0ACyAHIABrIQILAkACQCAJQcB+aiIDQRlLDQAgAiAGaiEAQQEgA3QiAkGAgIAYcQ0BIAJBhwxxRQRAIANBA0cNAUF4DwtBfyECIAUtAAMgBS0AAkEIdHIgAEH/////AXFLDQMgASAFLQAFQQh0IgA2AgQgASAAIAUtAAZyNgIEIAEgBS0AB0EIdCIANgIAIAEgACAFLQAIcjYCAEEADwsgBS0AAyAFLQACQQh0ciEAC0F/IQIgACAKaiIDIAhPDQEgCCAKayAAayIEQQFLDQALCyACC5MCAQZ/IAAoAgAgACgCBCIEQQN2aiIFKAAAIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZyciAEQQdxIgZ0IgFBgICAwABPBEAgACAEIAFBF3YiAEHAyghqLQAAajYCBCAAQQJ0QcDOCGooAgAPCyABQYCAgARPBEAgACAEIAFBF3ZBwMoIai0AACIAajYCBCABQSAgAGt2QX9qDwsgAUH//wNLIgJBBHQiA0EIciADIAFBEHYgASACGyICQYD+A3EiAxsgAkEIdiACIAMbQcDICGotAABqIgNBAXQhAiADQRJNBEAgBS0ABEEIIAZrdiABciEBCyAAIAQgAmtBP2o2AgQgASACQWFqdkF/agu0AwEHfyMAQRBrIgYkAEF/IQUCQCAARQ0AIAFBAUgNAANAAkAgAkECRw0AQQIhAiAAIARqIgUtAABBA0cNACAFIAVBAWogA0F/cyABahAxIAdBAWohByADQQFqIQNBACECC0EAIAJBAWogACAEai0AABshAiAEQQFqIQQgA0EBaiIDIAFIDQALIAYgADYCCCAALAACIQQgAC0AASEDIAAtAAAhAiAGQRA2AgxBfiEFIANBF3RBgICA4AdxIAJBH3RyDQAgAkEBdkE/cSIDQQpPQQAgA0FwakEFSxsNACABIAdrIQMgBkERNgIMIARBf0wEQCACQfAAcUEgRgRAIAZBEjYCDAsgBkEIahClARogBkEIahClASIBQX4gAUEDSRshBQsgA0EBSA0AQQAhAUEAIQRBACECA0ACQCAEQQJHDQBBAiEEIAEgB08NACAAIAJqIggtAABBA0sNACADIAJrIQQgACACQQFqIgJqIAggBBAxIAhBAzoAACABQQFqIQEgA0EBaiEDQQAhBAtBACAEQQFqIAAgAmotAAAbIQQgAyACQQFqIgJKDQALCyAGQRBqJAAgBQveBgECfwJAIABFDQACQAJAAn8gASACSQRAIAJB//8DTQRAIAFB//8BaiACTw0DIAEgAmtBgIAEagwCC0H/////ByADbiABaiACTw0CIAEgAmtBfyADbmpBAWoMAQsgASACawshBCAAQRhqIQUgACgCGCEDDAELIABBGGohBSAAKAIYIQMgASACayIBQX9KDQAgASADaiIBQQBOBEAgACABNgIYDwsgACABIAFB6AdtIgFB6Adsa0HoB2o2AhggASAAKAIUakF/aiIBQQBOBEAgACABNgIUDwsgACABIAFBPG0iAUE8bGtBPGo2AhQgASAAKAIQakF/aiIBQQBOBEAgACABNgIQDwsgACABIAFBPG0iAUE8bGtBPGo2AhAgASAAKAIMakF/aiIBQQBOBEAgACABNgIMDwsgACABIAFBGG0iAUEYbGtBGGo2AgwgASAAKAIIakF/aiIBQQFOBEAgACABNgIIDwtBHyEDAkBBDCAAKAIEIgRBf2oiAiAEQQFGGyIEQQtLDQBBASAEdEHQFHFFBEAgBEECRw0BIAAoAgAiBEHkAHAhBSAEQQNxRQRAQR0hAyAFDQILQRxBHSAEQZADcBshAwwBC0EeIQMLIAAgAjYCBCAAIAEgA2o2AgggAg0BIABBDDYCBCAAIAAoAgBBf2o2AgAPCyAFIAMgBGoiATYCACABQegHSQ0AIAAgAUHoB24iAyAAKAIUaiICNgIUIAAgASADQegHbGs2AhggAkE8SQ0AIAAgAkE8biIDIAAoAhBqIgE2AhAgACACIANBPGxrNgIUIAFBPEkNACAAIAFBPG4iAiAAKAIMaiIDNgIMIAAgASACQTxsazYCECADQRhJDQAgACADQRhuIgEgACgCCGoiAjYCCCAAIAMgAUEYbGs2AgwgACgCBCIBQQxLDQBBASABdCIDQaorcUUEQAJAAkAgA0HQFHFFBEAgAUECRw0EIAAoAgAiA0HkAHAhBCADQZADcARAIANBA3FFIARBAEdxRQ0CCyACQR5PDQIMBAsgAkEfTw0BDAMLIAJBHUkNAgsgAEEBNgIIIAAgAUEBajYCBA8LIAJBIEkNACAAQQE2AgggACABQQFqNgIEIAFBDEkNACAAQQE2AgQgACAAKAIAQQFqNgIACwsgACAAKAJMQX9MBEAgACABIAIQ9gIPCyAAIAEgAhD2AgsLACAAIAEQlwggAAt5AQF/IAAEQCAAKAJMQX9MBEAgABDhAQ8LIAAQ4QEPC0GYvgooAgAEQEGYvgooAgAQqgEhAQtB9MwKKAIAIgAEQANAIAAoAkxBAE4Ef0EBBUEACxogACgCFCAAKAIcSwRAIAAQ4QEgAXIhAQsgACgCOCIADQALCyABC84BAQJ/IwBBEGsiAiQAAkAgACgCaCIBRQ0AIAFBADYCMCAAKAJoIgFFDQAgARDsARAoIABBADYCaCACIAAoAmQ2AgggAkHTEjYCBCACQcGbCjYCAEEDQZibCiACECoLIAAoAmwiAQRAIAEQ8wEQKCAAQQA2AmwLIAAoAnAiAQRAIAEgASgCACgCBBEFACAAQQA2AnALIAAoAqACIgEEQCABECggAEGA0AA2AqgCIABCADcCoAILQZjVCigCACIABEAgABCqARoLIAJBEGokAAsqAQF/IwBBEGsiBCQAIAQgAzYCDCAAIAEgAiADEIECIQAgBEEQaiQAIAALYQEBfwJAIAAEQCACRQ0BIAEEQANAAkAgACABIAIQgAkiA0EASA0AIAAgA2ohACABIANrIgENAQsLCw8LQfP1CUH39QlBrwFBuPYJEAEAC0Gw9glB9/UJQbABQbj2CRABAAsJACAAIAEQnAMLeQEBfyMAQZABayICJAAgACABNgJkAkBBuNcKKAIARQ0AIAJBEGpBAEGAARArGiAALwEIIQEgAiAAKAJkNgIEIAIgATYCACACQRBqQePSCSACEEogACACQRBqEN8BIgE2AsQaIAFFDQAgAUEoIAAQOAsgAkGQAWokAAsrAQF/IwBBEGsiASQAIAAEQCABQQhqECIaIAFBCGpBARAhGgsgAUEQaiQAC1IAIABCADcC7BkgACACNgLoGSAAIAE2AuQZIABBAjYC4BkgAEH0GWpCADcCAAJAIAFFDQAgACgCaCIARQ0AIAAEQCAAIAI2AlggACABNgJUCwsLwQIBBH8jAEEgayIDJAAgAyAAKAIENgIIIAAoAgAhAiADQQg2AgwgAyACNgIQIAMgACgCQDYCFCAAKAI8IQIgA0EENgIcIAMgAjYCGEGGgICAeCECAkAgACgCkAdFDQBBACADQQhqIAAQOiAAKAKUByIEQQRqIAAoApgHSw0AIAAgBEEBajYClAcgACgCkAcgBGogACgCbDoAACAAIAAoApQHIgJBAWo2ApQHIAIgACgCkAdqQQA6AAAgAS0ADiECIAEtAA0hBCAAIAAoApQHIgVBAWo2ApQHIAUgACgCkAdqIARBA3QgAkEBdnI6AAAgAS0ADyECIAEtAA4hASAAIAAoApQHIgRBAWo2ApQHIAQgACgCkAdqIAJBA3QgAUEHdHI6AAAgACAAKAKcB0EIcjYCnAdBACECCyADQSBqJAAgAgsXAEF/QQAgACAAEEIiACABEJQCIABHGwumBgECfyMAQSBrIgIkACACIAAoAgQ2AgggACgCACEBIAJBCTYCDCACIAE2AhAgAiAAKAIsNgIUIAIgACgCKDYCGCACIAAoAmAgACgCZGpBEGoiATYCHAJ/QYWAgIB4IAEgACgCCEsNABpBhoCAgHggASAAKAKUB2pBFGogACgCmAdLDQAaAkAgACgCNARAQQAgAkEIaiAAEDogAEEANgI0DAELQQEgAkEIaiAAEDoLIAAgACgClAciAUEBajYClAcgASAAKAKQB2pBFzoAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqQQA6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHakEAOgAAIAAgACgClAciAUEBajYClAcgASAAKAKQB2pBADoAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqQQA6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHakEBOgAAIAAgACgClAciAUEBajYClAcgASAAKAKQB2ogAC0AcToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAtAHI6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAALQBzOgAAIAAgACgClAciAUEBajYClAcgASAAKAKQB2pB/wE6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHakHhAToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAoAmBBCHY6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAAKAJgOgAAIAAoApAHIAAoApQHaiAAQfAAaiAAKAJgECkaIAAgACgClAcgACgCYGoiAUEBajYClAcgACgCkAcgAWpBAToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAoAmRBCHY6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAAKAJkOgAAIAAoApAHIAAoApQHaiAAQfACaiAAKAJkECkaIAAgACgClAcgACgCZGo2ApQHIAAgACgCnAdBBHI2ApwHQQALIQEgAkEgaiQAIAELggEBAX8gACgCBARAIABBADYCBAsgACgCNCIBBEAgACgCOBogARAoIABBADYCNAsgACgCSCIBBEAgACgCTBogARAoIABBADYCSAsgAEFAaygCACIBBEAgACgCRBogARAoIABBADYCQAsgACgCCCIBBEAgACgCDBogARAoIABBADYCCAsLzQMBBH8gASgCBARAIAFBADYCNAsCQCABKAIQBEAgAC0AzwEhAiABIAEoAjQiA0EBajYCNCADIAEoAjBqIAI6AAAgAC8BzgEhAiABIAEoAjQiA0EBajYCNCADIAEoAjBqIAI6AAAgACgCzAEhAiABIAEoAjQiA0EBajYCNCADIAEoAjBqIAJBCHY6AAAgACgCzAEhAiABIAEoAjQiA0EBajYCNCADIAEoAjBqIAI6AABBgICAgHghAiABKAIwIgNFDQEgASgCOCIERQ0BQYGAgIB4IQIgASgCNCIFQQlqIARLDQEgACgCACECIAMgBWoiA0GAgIDIADYABSADQcaY2Qo2AAAgA0EFQQEgAkECcRsiAyADQQRxIAJBAXEbOgAEIAEgASgCNEEJajYCNCAAIAEQ5QMPC0GDgICAeCECIAEoAgAiA0EFSw0AAkACQAJAAkAgA0ECaw4EBAABAgALIAAoAtwLQWVqIgJBCUsNAgJAAkAgAkEBaw4JBAQEBAQEBAQBAAsgACABEOgDIgJBAUYNAwwECyAAIAEQ5wMiAkEBRg0CDAMLIAAgARDuAyICQQFGDQEMAgsgACABEOYDIgJBAUcNAQtBASECCyACC8YRAg9/AX4jAEHQAGsiByQAIAcgATYCTCAHQTdqIRUgB0E4aiESQQAhAQJAAkADQAJAIA9BAEgNACABQf////8HIA9rSgRAQajICkE9NgIAQX8hDwwBCyABIA9qIQ8LIAcoAkwiCyEBAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkAgCy0AACIIBEADQAJAAkACQCAIQf8BcSIJRQRAIAEhCAwBCyAJQSVHDQEg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IAAoAjQgA0EIahBnIgFBgoCAgHhGDQEgAUUNAUGVgICAeEGQgICAeCABQY2AgIB4RhsLIQIgACgC3AIiAQRAIAEQKCAAQQA2AtwCCyAAKAK8AiIBBEAgARA0IABBADYCvAILIAAoAjQiAQRAIAEQdCAAQQA2AjQLIAAoAtwkIgEEQCABEDQgAEEANgLcJAsgACgC4CQiAQRAIAEQNCAAQQA2AuAkCyAFQQA2AgALIANBwAFqJAAgAguZAQEBfyAAKALcAiIBBEAgARAoIABBADYC3AILIAAoArwCIgEEQCABEDQgAEEANgK8AgsgACgCNCIBBEAgARB0IABBADYCNAsgACgC3CQiAQRAIAEQNCAAQQA2AtwkCyAAKALgJCIBBEAgARA0IABBADYC4CQLIABBADYCgCUgACgCvCYiAQRAIABBwCZqIAE2AgAgARAoCyAACwYAEPQCAAuEBwEBfyABRQRADwsgAEHwGmogAUGEARApGiABKAIAIgJBAXEEQCAAQQE2AsgXCwJ/IAJBwABxBEAgACgCaCICBEAgAkEFNgJQCyABKAIAIQILIAJBgAFxCwR/IAAoAmgiAgRAIAJBBzYCUAsgASgCAAUgAgtBgARxBEAgACgCaCIBBEAgAUEDNgJQCwsgAEH0G2ohASAAQfQaaigCAEEDRgRAIAEgAEH4GmooAgAiAikCADcCACABIAIpAjA3AjAgASACKQIoNwIoIAEgAikCIDcCICABIAIpAhg3AhggASACKQIQNwIQIAEgAikCCDcCCAsgAEH8GmooAgBBA0YEQCABIABBgBtqKAIAIgIpAgA3AgAgASACKQIwNwIwIAEgAikCKDcCKCABIAIpAiA3AiAgASACKQIYNwIYIAEgAikCEDcCECABIAIpAgg3AggLIABBhBtqKAIAQQNGBEAgASAAQYgbaigCACICKQIANwIAIAEgAikCMDcCMCABIAIpAig3AiggASACKQIgNwIgIAEgAikCGDcCGCABIAIpAhA3AhAgASACKQIINwIICyAAQYwbaigCAEEDRgRAIAEgAEGQG2ooAgAiAikCADcCACABIAIpAjA3AjAgASACKQIoNwIoIAEgAikCIDcCICABIAIpAhg3AhggASACKQIQNwIQIAEgAikCCDcCCAsgAEGUG2ooAgBBA0YEQCABIABBmBtqKAIAIgIp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RQ0AIAFFDQAgASgCBCIFRQ0AIAEoAhgiBEUNACABQQA2AhwgAEEANgKcByABKAIAIQIgACAENgKQByAAIAI2AvAGIAAgASgCIDYCmAcgASgCCCEGAkAgACgCDARAIAQgBCAAKAKIByIDaiAAKAKUByADaxAxIAAgACgClAcgACgCiAciAms2ApQHIAAoAoAHIgMEQCAAIAMgAms2AoAHCyAAQQA2AogHIAEoAgAhAgwBCyAAQQA2ApQHCyACQQJLBEBBg4CAgHgPCwJAAn8gAkECawRAAn8gACgCJEUEQCABKAIMIQIgACgCMAwBCyAAQQA2AiQgASgCDCECIABBADYCKCAAIAI2AjAgAgshAyAAIAI2AjAgACACNgIoIAAgAiADazYCLCAAIAEoAhA2AvgGIAAgASgCFDYC9AYgBSAGIAAQwwMMAQsgACgCNA0BAn8gACgCOEUEQCABKAIMIQIgACgCRAwBCyAAQQA2AjggASgCDCECIABBATYCSCAAIAI2AkQgAEEANgI8IAILIQMgACACNgJEIAAgAjYCPCAAIAIgA2s2AkAgBSAGIAAQvQMLIgINAQsgASAAQYgHQZQHIAAoAgwbaigCADYCHCABIAAoApwHNgIkQQAhAgsgAgvwBQEEf0GBgICAeCEEAkAgAUUNACACRQ0AIAEoAgghBiABKAIQIQUgAkEANgKMByACQQA2AoQHIAJBADYC/AYgAiACKAKUByIDNgKAByABKAIAIQQgAiADQQFqNgKUByADIAIoApAHaiAEIABBBnRyOgAAAn8gBUH///8HTwRAIAIgAigClAciA0EBajYClAcgAyACKAKQB2pB/wE6AAAgAiACKAKUByIDQQFqNgKUByADIAIoApAHakH/AToAACACIAIoApQHIgNBAWo2ApQHIAMgAigCkAdqIQNB/wEMAQsgAiACKAKUByIEQQFqNgKUByAEIAIoApAHaiAFQRB2OgAAIAIgAigClAciBEEBajYClAcgBCACKAKQB2ogBUEIdjoAACACIAIoApQHIgRBAWo2ApQHIAQgAigCkAdqIQMgBQshBCADIAQ6AAAgAiACKAKUByIDQQFqNgKUB0EAIQQgAyACKAKQB2pBADoAACACIAIoApQHIgNBAWo2ApQHIAMgAigCkAdqQQA6AAAgAiACKAKUByIDQQFqNgKUByAD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BCACQQhqSQRAIARB9wk2AjQgBEGVsQk2AjBBg4CAgHgMAQsgASgCACADakHzADoAACACIAEoAgBqQekAOgAFIAIgASgCAGpB5AA6AAYgAiABKAIAakH4ADoAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQfoJNgJEIARBlbEJNgJAQYOAgIB4DAELIAEoAgAgA2pBADoAACACIAEoAgBqQQA6AAUgAiABKAIAakEAOgAGIAIgASgCAGpBADoAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQf0JNgJUIARBlbEJNgJQQYOAgIB4DAELIAEoAgAgA2pBADoAACACIAEoAgBqQQA6AAUgAiABKAIAakEAOgAGIAIgASgCAGpBAToAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQYAKNgJkIARBlbEJNgJgQYOAgIB4DAELIAEoAgAgA2ogAEGYNGooAgAiA0EYdjoAACACIAEoAgBqIANBEHY6AAUgAiABKAIAaiADQQh2OgAGIAIgASgCAGogAzoAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQYMKNgJ0IARBlbEJNgJwQYOAgIB4DAELIAEoAgAgA2ogAEGcNGooAgAiA0EYdjoAACACIAEoAgBqIANBEHY6AAUgAiABKAIAaiADQQh2OgAGIAIgASgCAGogAzoAByABIAEoAggiAkEEaiIDNgIIIAEoAgQgAkEIakkEQCAEQYYKNgKEASAEQZWxCTYCgAFBg4CAgHgMAQsgASgCACADakEAOgAAIAIgASgCAGpBADoABSACIAEoAgBqQQA6AAYgAiABKAIAakEAOgAHIAEgASgCCCICQQRqIgM2AgggASgCBCACQQhqSQRAIARBiQo2ApQBIARBlbEJNgKQAUGDgICAeAwBCyABKAIAIANqQQA6AAAgAiABKAIAakEAOgAFIAIgASgCAGpBADoABiACIAEoAgBqQQE6AAcgASABKAIIIgJBBGoiAzYCCCAAQdA5aiADNgIAIAEoAgQgAkEIakkEQCAEQY0KNgKkASAEQZWxCTYCoAFBg4CAgHgMAQsgASgCACADakEAOgAAIAIgASgCAGpBADoABSACIAEoAgBqQQA6AAYgAiABKAIAakEAOgAHIAEgASgCCCICQQRqIgM2AgggASgCBCACQQhqSQRAIARBkAo2ArQBIARBlbEJNgKwAUGDgICAeAwBCyABKAIAIANqIABBrDRqKAIAIgNBGHY6AAAgAiABKAIAaiADQRB2OgAFIAIgASgCAGogA0EIdjoABiACIAEoAgBqIAM6AAcgASABKAIIIgJBBGoiAzYCCCABKAIEIAJBCGpJBEAgBEGTCjYCxAEgBEGVsQk2AsABQYOAgIB4DAELIAEoAgAgA2ogAEGwNGooAgAiAEEYdjoAACACIAEoAgBqIABBEHY6AAUgAiABKAIAaiAAQQh2OgAGIAIgASgCAGogADoAByABIAEoAghBBGoiADYCCCABKAIAIAVqIAAgBWsiAEEYdjoAACABKAIAIAZqIABBEHY6AAAgASgCACAHaiAAQQh2OgAAIAEoAgAgCGogADoAAEEACyEAIARB0AFqJAAgAAvNBAEHfyMAQYABayIDJAACQCAARQRAIANBvwk2AgQgA0GBsQk2AgBBgYCAgHghAgwBCyABRQRAIANBwAk2AhQgA0GBsQk2AhBBgYCAgHghAgwBCyABKAIAIgJFBEAgA0HBCTYCJCADQYGxCTYCIEGBgICAeCECDAELIABB5DlqIAEoAggiBDYCACABKAIEIARBBGpJBEAgA0HHCTYCNCADQYGxCTYCMEGDgICAeCECDAELIAIgBGpBADoAACAEQQFqIgUgASgCAGpBADoAACAEQQJqIgYgASgCAGpBADoAACAEQQNqIgcgASgCAGpBADoAACABIAEoAggiAkEEaiIINgIIIAEoAgQgAkEIakkEQCADQcoJNgJEIANBgbEJNgJAQYOAgIB4IQIMAQsgASgCACAIakHtADoAACACIAEoAgBqQe8AOgAFIAIgASgCAGpB7wA6AAYgAiABKAIAakHmADoAByABIAEoAghBBGo2AgggACABEOcEIgIEQCADQc0JNgJ0IANBgbEJNgJwDAELAkACQCAAKAIAIgJBAXEEfyAAIAFB5cilswcQkwIiAg0CIAAoAgAFIAILQQJxRQ0AIAAgAUHu6r2bBxCTAiICRQ0AIANB2Ak2AlQgA0GBsQk2AlAMAgsgASgCACAEaiABKAIIIARrIgBBGHY6AAAgASgCACAFaiAAQRB2OgAAIAEoAgAgBmogAEEIdjoAACABKAIA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QQA2AjwLIAAoAkQiAQRAIAAoAiQaIAEQKCAAQQA2AkQLIAAL3gQBBH9BgICAgHghAwJAIABFDQAgAUUNACAAIAEoApgCNgLoAiABKAKcAiEDIABBATYCuAMgACADNgK0AyAAIAEoAgA2AgwgACABKAIENgIQIAAgASgCCDYC7AIgACABKAIMNgLwAiABKAJMIQMgAEEAOwGUBCAAIAM2AuACIABBADsAlwQgACABKALYAyICOgCZBAJAIAIEQCAAQYICNgKcBAwBCyABKAKgA0F/akEBTQRAIABBgQI2ApwEDAELIABBgAI2ApwECyADQQNxIgIEQCAAQYAoIAMgAmsiA0EEaiADQYR4akGAOEsbNgLgAgsgACABKAKMAzYCsAMgACABKALQATYC2AEgACABKALUATYCFCABKALYASEDIABCADcCjAQgACADNgIYIABBwaSg2gQ2AMQDIAAgASkAsAI3AMgDIAAgASkAuAI3ANADIABBADYCoARBASEDAkAgAS0AAEEBcUUNACAAQdgDaiABQcACaiICEIsFIAAoArADBEAgAEH0A2ogAhC9AQsgACABKALcAyICQQEgAkERSRsiAjYCoAQgAkUNACAAQdgAaiEEQQAhAgNAIAQgAkECdCIFaiABIAVqKAJQNgIAIAJBAWoiAiAAKAKgBEkNAAsLIABBADYCpAQgAS0AAEECcUUNACAAQegDaiABQaQDaiABLQDkAxCgAiAAIAEoAuADIgJBASACQRFJGzYCpAQgAkUNACAAQZgBaiECQQAhAANAIAIgAEECdCIDaiABIANqKAKQATYCAEEBIQMgAEEBaiIAIAEoAuADSQ0ACwsgAwuvAgECf0GAgICAeCEDAkAgAEUNACABRQ0AIAAgASgCACICNgIYIAAgASgCBDYCICAAIAEoAiA2AiQgACABKAKEATYCKCAAIAEoAhQiAzYCLCAAIAEoAgg2AjQgACABKAIMNgJYIAAgASgCEDYCfAJ/IANBAnEEQCAAQcGkoNoENgCcASAAIAEpACg3AKABIAAgASkAMDcAqAEgASgCACECCyACQQRxCwRAIAAgACgCeDYCDAsgAkECcQRAIAAtACxBCHEEQCAAQcABaiABQZwBahCfBSABKAIAIQILIAAgACgCVDYCDAtBASEDIAJBAXFFDQAgAUE4aiEBIAAtACxB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KAIAIAEgAyAAQcwhahA8DQELIAEgACgCFEYEQCAAIABByCFqKAIAIAEgAEHAIWogAEHQIWoQPA0BCyAAKAIYIAFHDQAgACAAQcghaigCACABIABBxCFqIABB1CFqEDwaCyACQRBqJAAgBAvHBgEDfyMAQRBrIgIkACACQQA2AgAgACABNgK4IQJAIAENACAAKAIQIgNBf0YNACAAIANB2ClsaiIEQfwhaigCACIDRQ0AIARBgCJqKAIAQQhJDQAgAygABCIEQRh0IARBCHRBgID8B3FyIARBCHZBgP4DcSAEQRh2cnJB4ejA6wZHDQAgAygAACIEQRh0IARBCHRBgID8B3FyIARBCHZBgP4DcSAEQRh2cnJBJEkNACAAQfwgaiADLQAZIAMtABhBCHRyNgIAIABBhCFqIAMtACEgAy0AIEEIdHI2AgALAkAgACABIAAoAgwgAEHIIWogAhBZIgQNACAAQbwhaiEDIAAoAhAhASAAKAIgQQFGBEAgAkIANwMIIAJBADYCBAJAIAFBf0YNACAAIAAoArghIAAoAgwgAkEIaiACQQRqEDcNACAAIAEgAikDCCADEGoLIAAoAhQhASACQgA3AwggAkEANgIEAkAgAUF/Rg0AIAAgACgCuCEgACgCDCACQQhqIAJBBGoQNw0AIAAgASACKQMIIABBwCFqEGoLIAAoAhghASACQgA3AwggAkEANgIEIAFBf0YNASAAIAAoArghIAAoAgwgAkEIaiACQQRqEDcNASAAIAEgAikDCCAAQcQhahBqDAELAkAgAUF/Rg0AIAAgACgCyCEgASADIABBzCFqEDwNACABIAAoAhRGBEAgACAAKALIISABIABBwCFqIABB0CFqEDwNAQsgACgCGCABRw0AIAAgACgCyCEgASAAQcQhaiAAQdQhahA8GgsCQCAAKAIUIgFBf0YNAAJAIAEgACgCEEYEQCAAIAAoAsghIAEgAyAAQcwhahA8DQIgACgCFCABRw0BCyAAIAAoAsghIAEgAEHAIWogAEHQIWoQPA0BCyAAKAIYIAFHDQAgACAAKALIISABIABBxCFqIABB1CFqEDwaCyAAKAIYIgFBf0YNACABIAAoAhBGBEAgACAAKALIISABIAMgAEHMIWoQPA0BCyABIAAoAhRGBEAgACAAKALIISABIABBwCFqIABB0CFqEDwN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goCAgHggABsLmgcBBn8gAEUEQEGBgICAeA8LIAEgAEHc6wgQhQEiAjYCAAJAAkAgAkUNACACQQBBAhCEAUF/Rg0AIAEgAhCHASIDNgIYIANB9dHweksNACACQQBBABCEAUF/Rg0AIAEgACgCgAJB/AZqIgA2AnwgAEGE+R8gASgCABBTIQMgAUGE+R82AnggASADNgJ0AkACQAJAIAEoAgRFBEAgA0FzaiEHIAEoAnwiBCgCAEHSkpmyBEcEQCABKAIkIgBBAWohAiADIABBDWpJDQIDQCAHIABrIQUgAiAEaiEGQQAhAANAIAAgBmooAgBB0pKZsgRHBEAgAEEBaiIAIAVNDQEMBwsLIAAgAmoiAEEBaiECIAMgAEENak8NAAsMAgsgASgCJCEAIAQoAghBwaylggJHBEADQCAAQQFqIQIgAyAAQQ1qSQ0DIAcgAGshBSACIARqIQZBACEAA0AgACAGaigCAEHSkpmyBEcEQCAAQQFqIgAgBU0NAQwHCwsgACACaiEADAAACwALIAFBATYCBCABIABBDGo2AiQLIAEoAggNAQNAIAEQhgciAARAIABBg4CAgHhHDQYgASABKAIkIgBBAWoiAjYCJCABKAJ0IgMgAEENakkNBSADIABrQXNqIQMgASgCfCACaiEEQQAhAAJAA0AgACAEaigCAEHMks2iBUYNASAAQQFqIgAgA00NAAsgASAAIAJqNgIkDAYLIAEgACACajYCJAsgASgCCEUNAAsMAQsgASACNgIkDAILIAEoAgxFBEADQCABKAIkIQAgASgCfCEDAkAgASgCeCICRQ0AIABBDGogAk0NAEGGgICAeA8LAn8CQCAAIANqIgIoAgBBzJLNogVHDQAgAigCCEHt3tnLBkcNACACKAIEIgIgASgCGEsNACABQQA2AiQgAUEBNgIMIAEgAEEIaiIANgIsIAEgACACaiIANgIwIAEoAgAgAEEAEIQBQX9GDQUgASgCDAwBCyABIABBAWoiAjYCJCABKAJ0IgQgAEENakkNBCACIANqIQMgBCAAa0FzaiEEQQAhAAJAA0AgACADaigCAEHMks2iBUYNASAAQQFqIgAgBE0NAAsgASAAIAJqNgIkDAULIAEgACACajYCJEEAC0UNAAsLQYOAgIB4IQAgASgCGCICIAEoAjAiA00NAiABIAIgA2s2AnRB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IANBIGokACAAC/kCACAAQgA3ArQCIABBADYChBwgAEIANwNQIABBADYCPCAAQQA6AIwkIABCADcD4AIgAEIANwPAAiAAQgA3AwAgAEIANwK8JiAAQQA2AoQlIABCADcDsCQgAEIANwPQAiAAQQI2AswCIABCADcD2AIgAEEANgK8AiAAQQA2AjAgAEHEJmpCADcCACAAQgA3AtQkIABBADYCyAIgAEIANwI0IABCADcDuCQgAEEANgLIJCAAQQA2AtAkIABCgICAgBA3A8AkIABBADYCgCUgAEEANgLMJiAAQgA3AtwkIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEHoAmpBAEGcGRArGiAAQYwcakEAQYAIECsaIABB2ABqQQBB3AEQKxogAEGlJGpCADcAACAAQZ0kakIANwAAIABBlSRqQgA3AAAgAEIANwCNJCAAQgA3A0AgAEIANwNIIABBiCVqQQBBtAEQKxogAEHkJGoQsAEgAAvwBAMIfwF+AXwjAEFAaiIBJAACfyAAKAK8AgRAIAAoAswCQQJHBEADQCAAKALkAiECIAAoAuACIgMEQCACIANLBEAgACgC3AIiBCADIARqIAIgA2sQMSAAKALgAiEDIAAoAuQCIQILIABBADYC4AIgACACIANrIgI2AuQCCwJAIAAoArwCQYCAgAEgAmsgACgC3AIgAmoQLiIDRQRAQZDOABAFGgwBCyAAIAAoAuQCIANqIgU2AuQCIAAoAuACIQQgACgC3AIhBgJAIAAQ6AEiB0UNACABIAAoAgA2AjggAUHNEDYCNCABQZnvCTYCMEEFQabvCSABQTBqECogACgCrCUiCEUNACAAKAK0JSICRQ0AIAIgBSAEa0EBajYCCCACIAQgBmo2AgQgAiAHNgIAIAIgACgC2AI2AgwgAiAAKAKwJSAIEQQACwJAIAAoAuACDQAgACgC5AJBgICAAUcNACABIAAoAgA2AiggAUHfEDYCJCABQZnvCTYCIEEFQc7vCSABQSBqECogACAAKALkAjYC4AILIAAgACkD0AIgA618NwPQAiAAAn9B5AAgACkDwAIiCVANABogACkD0AK6IAm6o0QAAAAAAABZQKIiCkQAAAAAAADwQWMgCkQAAAAAAAAAAGZxBEAgCqsMAQtBAAs2AtgCCyAAKALMAkEC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AEL//4OA8P8/NwK8AyAAQQA2AmwgAEIANwJkIABB9ABqQQBBhAIQKxogAEG8F2pCADcCACAAQbQXakIANwIAIABBrBdqQgA3AgAgAEIANwKkFyAAQgA3ApQDIABCADcCnAMgAEIANwKkAyAAQgA3AqwDIABBAEHQABArIgBBxANqQQBB0BMQKxogAEHUF2pBAEGMAhArGiAAQfQZakEANgIAIABB7BlqQgA3AgAgAEIANwLkGSAAQfwZakEAQcwAECsaIABB7BpqQQBBwAEQKxogAAsWACAAQZTICTYCACAAKAIMECggABAoCxsAIABBlMgJNgIAIAAoAgwQKCAAQQA2AgwgAAsmAQF/A0AgAUUEQEEADwsgACABQX9qIgFqIgItAABBLkcNAAsgAgszAQF/QYGAgIB4IQMCQCABRQ0AIAJFDQAgAEUEQEGHgICAeA8LIAAgASACEKQDIQMLIAMLXgECf0GBgICAeCEEAkAgAUUNACACQX9qQR9LDQACQCAAKAJEIgMNACAAQSAQLSIDNgJEIAMNAEGDgICAeA8LQQAhBCADQSAQLyAAKAJEIAEgAhAyIAAgAjYCSAsgBAtAAQF/QYGAgIB4IQMCQCABRQ0AIAJFDQAgACgCACIARQRAQYeAgIB4DwsgACABIAIgACgCACgCGBEBACEDCyADC8kBAQF/IAAoAggiAQRAIAEgASgCACgCEBECABoLIAAoAhAiAQRAIAEgASgCACgCEBECABoLIAAoAhgiAQRAIAEgASgCACgCEBECABoLIAAoAiAiAQRAIAEgASgCACgCEBECABoLIAAoAigiAQRAIAEgASgCACgCEBECABoLIAAoAjAiAQRAIAEgASgCACgCEBECABoLIAAoAjgiAQRAIAEgASgCACgCEBECABoLIABBQGsoAgAiAARAIAAgACgCACgCEBECABoLQQALrwIBAX8gACgCCCIBBEAgASABKAIAKAIEEQUAIABBADYCCCAAQgA3AgALIAAoAhAiAQRAIAEgASgCACgCBBEFACAAQgA3AgwgAEEANgIACyAAKAIYIgEEQCABIAEoAgAoAgQRBQAgAEIANwIUIABBADYCAAsgACgCICIBBEAgASABKAIAKAIEEQUAIABCADcCHCAAQQA2AgALIAAoAigiAQRAIAEgASgCACgCBBEFACAAQgA3AiQg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LGoiASICRQ0AGiACQagHNgIEQQALDQAgACAAKAIwEC0iAjYCLEGDgICAeCEDIAJFDQAgAEGAgIABEC0iAjYCCCACRQ0AIABBgICAATYCDEGJgICAeEEAIABBBGogARC8AxshAwsgAwurAQEBf0GBgICAeCEEAkAgAUUNACACRQ0AIANBgICAEEsNAAJAIAAoAgQNACAAIAEQtQMiBEUNACAAKAIEBEAgAEEANgIECyAAKAIsIgEEQCAAKAIwGiABECggAEEANgIsCyAAKAIIIgEEQCAAKAIMGiABECggAEEANgIICyAAKAIkIgFFDQEgACgCKBogARAoIABBADYCJCAEDwsgACABIAIgAxC0AyEECyAEC2oBAX8gAEHoxgk2AgAgACgCBARAIABBADYCBAsgACgCLCIBBEAgACgCMBogARAoIABBADYCLAsgACgCCCIBBEAgACgCDBogARAoIABBADYCCAsgACgCJCIBBEAgACgCKBogARAoCyAAECgLbwEBfyAAQejGCTYCACAAKAIEBEAgAEEANgIECyAAKAIsIgEEQCAAKAIwGiABECggAEEANgIsCyAAKAIIIgEEQCAAKAIMGiABECggAEEANgIICyAAKAIkIgEEQCAAKAIoGiABECggAEEANgIkCyAACzcAIABCADcCBCAAQejGCTYCACAAQgA3AgwgAEIANwIUIABCADcCHCAAQgA3AiQgAEEsakEsEC8LOAACQCAARQ0AIAFFDQAgAEEANgJAIABBADYChAcgAEEANgIsIAAgASgCDCIBNgIwIAAgATYCRAsLfwEDfyMAQRBrIgEkACABQQo6AA8CQCAAKAIQIgJFBEAgABCXAg0BIAAoAhAhAgsCQCAAKAIUIgMgAk8NACAALABLQQpGDQAgACADQQFqNgIUIANBCjoAAAwBCyAAIAFBD2pBASAAKAIkEQEAQQFHDQAgAS0ADxoLIAFBEGokAAvwBAEGf0GBgICAeCEDAkAgAEUNACABRQ0AIAEoAgBFDQAgAEEANgIAQYKAgIB4IQMgASgCBCICQagHSQ0AIAEoAgBBACACECsaIAEoAgBBB2pBeHEiAiABKAIINgIAIAIgASgCDDYCBEGBgICAeCEDIAEoAhAiBEGAf2pBgP8DSw0AIAIgBDYCCEGDgICAeCEDAkAgASgCGCIEQQVLBEAgBEGAAkcNAgwBCyAEQQFrDgQBAQEBAAsgAiAENgIQAkAgASgCHCIEQYBAakECSQ0AIARB8J1+akECSQ0AIAQNAQsgAiAENgIUIAIgASgCICIDNgIYIAIgASgCJDYCHCABKAIoIQQgAkEBNgIkIAIgBDYCICACQQE2AkggAkKBgICAEDcCNCACIAEoAhQ2AgwCf0EAIANB/SpJDQAaQQQgA0H51QBJDQAaQQhBDCADQfGrAUkbCyEBIAIoAhwhBiACKAIgIQUCQCACAn8CQCACKAIUIgRB8H5qIgdBAUsEQCAEQQRHDQFBIAwCC0HwACAHQQFrDQEaQYABDAELIARBgcAARw0BQaABCyAFQQFHIAEgAUECciAGQQhGG3JyNgJsIAIgBToAWyACIAM2AlAgAkECOgBZIAJBDEELQQpBCUEIQQdBBkEFQQRBA0ECIANBiLEFRiADQYD0A0YbIANBgPcCRhsgA0HE2AJGGyADQYD6AUYbIANBwLsBRhsgA0GirAFGGyADQYD9AEYbIANB4N0ARhsgA0GR1gBGGyADQcA+RhsgA0G2OUYbQQ8gAxs6AFoLIAJCADcC/AYgAkIANwKEByAAIAI2AgBBACEDCyADC4cBAQJ/AkACQAJAAkACQCACKAIUIgNBgEBqIgRBAUsEQCADQfCdfmoiA0EBTQ0BQYOAgIB4DwsgBEEBaw0BDAQLIANBAWsNAgwBCyAAIAEgAhDCAw8LIAAgASACEMEDDwsgACABIAIQwAMPCyACKAIMRQRAIAAgASACEL8DDwsgACABIAIQvgMLtAoBE38jAEEgayIDJAAgA0EANgIcIANCADcADSADQgA3AwggA0EAOgAGIANBADsBBAJAIABFBEBBgYCAgHghBAwBC0GEgICAeCEEIAFBB0kNAEGDgICAeCEEIAAtAAIiBUECdkEPcSIHQQxLDQAgBUECdEEEcSAALQADIgZBBnZyIglFDQAgAC0AASEEIAAtAAUhCiAALQAEIQsgAC0ABiEMIAIgCToAWyACIAc6AFogAiAFQQZ2QQFqOgBZIAIgBEEBcSIFOgBYIAIgB0ECdEGgxglqKAIAIgQ2AkwgAiAMQQNxQQFqIgc6AFwgAiAHQQp0Igc2AlAgAiAEIAtBA3QgBkEDcUELdHIgCkEFdnJsQQN0IAduNgJUIAIgAy8BBDsAXSACIAMtAAY6AF8gAyABQXlqIgdBGHQgB0EIdEGAgPwHcXIgB0EIdkGA/gNxIAdBGHZycjYCHCAFBH8gAEEHagVBfyEEIAdBAkkNASABQXdqIQcgAEEJagshCSACKAJIBEAgAkEANgJICyACKAIEIQsCfyAHQQ1qIgRFBEAgAigClAchBkEADAELIAtBQHIhDCACKAIAIg1BCHYhDyANQRB2IRAgAigCPCIKQRh2IREgCkEIdiESIApBEHYhEyAHQQJqIg5BCHYhFCAOQRB2IRVBASEFA0AgBCACKAKMByIGIAIoAgggBhsiASABIARLIggbIQBBACAIRSAGG0UEQCACQQAgASAEayIGIAYgAUsbNgKMBwsgACACKAKUByIGakEUaiACKAKYB0sEQEGGgICAeCEEDAMLAkAgBQRAIAMgDToAEiADIA86ABEgAyAQOgAQIAMgEToADyADIAo6AA4gAyASOgANIAMgEzoADCADIA46AAsgAyAUOgAKIAMgFToACSADQQg6AAggAyACKAIgQQFHAn9BACACKAIYIghB/SpJDQAaQQQgCEH51QBJDQAaQQhBDCAIQfGrAUkbCyIFIAVBAnIgAigCHEEIRhtyQaABcjoAEyACKAIUQYHAAEYEQCADQQE6ABQLIAIoApAHIAZqIQUCfyAAQQ5PBEAgBSADKQMINwAAIAUgAykADTcABSACIAIoApQHQQ1qIgY2ApQHIABBc2oMAQsgBSADQQhqIAAQKRogAiACKAKUByAAaiIFQQFqNgKUByACKAKQByAFaiAMOgAAIAIoApAHIAIoApQHaiADQQhqIABqQQ0gAGsiBRApGiACIAIoApQHIAVqIgY2ApQHIAAgAigCCCIIakFzaiIFIARNBEAgBQwBCyACIAAgBGsgCGo2AowHIARBc2oLIQAgAUFzaiEBIARBc2ohBAwBCyACIAZBAWo2ApQHIAIoApAHIAZqIAw6AAAgAigClAchBgsgAigCkAcgBmogCSAAECkaIAIgAigClAcgAGoiBjYClAcgACAJaiEJQQAhBSAEIABrIgQNAAsgASAAawshAEGGgICAeCEEIAZBBWogAigCmAdLDQAgAigCkAcgBmohAQJAIABBBU8EQCABIAMoAhw2AAAgAiACKAKMB0F8ajYCjAcgAiACKAKUB0EEajYClAcMAQsgASADQRxqIAAQKRogAiACKAKUByAAaiIBQQFqNgKUByACKAKQByABaiALQcABcjoAACACKAKQByACKAKUB2ogA0EcaiAAakEEIABrIgEQKRogAiACKAKUByABajYClAcgAiAAIAIoAghqQXxqNgKMBwsgAiAHIAIoAvwGakERajYC/AZBACEECyADQSBqJAAgBAu1BgEHfyMAQTBrIgMkACADQgA3AyggA0IANwMgIANCADcDGCADQQA2AhAgA0IANwMIIANCADcDAAJAIABFBEBBgYCAgHghBQwBC0GEgICAeCEFIAFBB0kNACADIAAtAAFBAXEiBzoADCADIAAtAAIiBEECdkEPcSIGOgAOIAMgBEEGdkEBajoADUGDgICAeCEFIAZBDEsNACADIAZBAnRBoMYJaigCACIGNgIAIAMgBEECdEEEcSAALQADIgRBBnZyIgg6AA8gCEUNACAALQAEIQUgAC0ABSEIIAMgAC0ABkEDcUEBaiIJOgAQIAMgCUEKdCIJNgIEIAMgBiAFQQN0IARBA3FBC3RyIAhBBXZybEEDdCAJbjYCCCACIAMoAhA2AlwgAiADKQMANwJMIAIgAykDCDcCVCABQXlqIQQgBwR/IABBB2oFQX8hBSAEQQJJDQEgAUF3aiEEIABBCWoLIQEgAigCSARAIAJBADYCSCACIAMQsgEaCyADIAIoAgQiADYCGCACKAIAIQUgA0EINgIcIAMgBTYCICADIAIoAkA2AiQgAigCPCEGIAMgBEECaiIFNgIsIAMgBjYCKCAAQUByIQcgAigClAchBEEBIQYDQCAEIAUgAigCCCIAIAUgAEkbIgBqQRRqIAIoApgHSwRAQYaAgIB4IQUMAgsCQCAGBEACQCACKAJIBEBBACADQRhqIAIQOiACQQA2AkgMAQtBASADQRhqIAIQOgsCf0EAIAIoAhgiBkH9KkkNABpBBCAGQfnVAEkNABpBCEEMIAZB8asBSRsLIQQgAiACKAKUByIGQQFqNgKUByAGIAIoApAHaiACKAIgQQFHIAQgBEECciACKAIcQQhGG3JBoAFyOgAAIAIgAigClAciBEEBajYClAcgBCACKAKQB2pBAToAACAFQX5qIQUgAEF+aiEADAELIAIgBEEBajYClAcgAigCkAcgBGogBzoAAAsgAigCkAcgAigClAdqIAEgABApGiACIAIoApQHIABq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BAwBCwJ/IAdFBEAgAigClAchBkEADAELIAAgAWohCSAHIQBBASEFA0AgACACKAKMByIGIAIoAgggBhsiASABIABLIggbIQRBACAIRSAGG0UEQCACQQAgASAAayIGIAYgAUsbNgKMBwsgBCACKAKUByIIakEUaiACKAKYB0sEQEGGgICAeCEEDAMLAkAgBQRAIAMgAigCBDYCCCACKAIAIQYgA0EJNgIMIAMgBjYCECADIAIoAiw2AhQgAigCKCEFIAMgAEF1aiIKNgIcIAMgBTYCGCADQRc6ACsgAyAGOgAqIAMgBkEIdjoAKSADIAZBEHY6ACggAyAFOgAmIAMgCjoAIyADIApBCHY6ACIgAyAKQRB2OgAhIANBCToAICADIAVBGHY6ACcgAyAFQQh2OgAlIAMgBUEQdjoAJCACKAIQQYACRgRAIANBAToALCADIAIoAvgGIgU6AC8gAyAFQQh2OgAuIAMgBUEQdjoALQsgAigCkAcgCGohBQJ/IARBEU8EQCAFIAMpAyA3AAAgBSADKQMoNwAIIAIgAigClAdBEGoiBjYClAcgBEFwagwBCyAFIANBIGogBBApGiADLQAIIQUgAiACKAKUByAEaiIGQQFqNgKUByACKAKQByAGaiAFQcABcjoAACACKAKQByACKAKUB2ogA0EgaiAEakEQIARrIgUQKRogAiACKAKUByAFaiIGNgKUByAEIAIoAggiCGpBcGoiBSAATQRAIAUMAQsgAiAEIABrIAhqNgKMByAAQXBqCyEEIAFBcGohASAAQXBqIQAMAQsgAy0ACCEFIAIgCEEBajYClAcgAigCkAcgCGogBUHAAXI6AAAgAigClAchBgsgAigCkAcgBmogCSAEECkaIAIgAigClAcgBGoiBjYClAcgBCAJaiEJQQAhBSAAIARrIgANAAsgASAEawshAEGGgICAeCEEIAZBBWogAigCmAdLDQAgAigCkAcgBmohAQJAIABBBU8EQCABIAMoAjQ2AAAgAiACKAKMB0F8ajYCjAcgAiACKAKUB0EEajYClAcMAQsgASADQTRqIAAQKRogAy0ACCEBIAIgAigClAcgAGoiBEEBajYClAcgAigCkAcgBGogAUHAAXI6AAAgAigCkAcgAigClAdqIANBNGogAGpBBCAAayIBECkaIAIgAigClAcgAWo2ApQHIAIgACACKAIIakF8ajYCjAcLIAIgAigChAdBAWo2AoQHIAIgByACKAL8BmpBBGo2AvwGQQAhBAsgA0FAayQAIAQLowMBBX8jAEEQayIFJAAgBUEANgIMQYGAgIB4IQcCQCAARQ0AIAJFDQBBhICAgHghByABQQVJDQAgASEGIAAhBAJAAkACQANAIAQtAARBAXZBP3EiA0FwakH/AXFBBk8EQCADQQpJDQMgBCAEKAAAIgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZyckEEaiIDaiEEIAYgA2siBkEESw0BDAILC0EBIQQgAiAAIAEgBUEMahCKAUUNAiACIAAgASAFQQxqEIoBRQ0CCyABIQYgACEEAkADQCAELQAEQQF2QT9xIgNBcGpB/wFxQQZPBEAgA0EKSQ0CIAQgBCgAACIDQRh0IANBCHRBgID8B3FyIANBCHZBgP4DcSADQRh2cnJBBGoiA2ohBCAGIANrIgZBBEsNAQwFCwsgAiAAIAEgBUEMahCKAUUEQEEAIQcMBAsgAiAAIAEgBUEMahCKASEHDAMLQQAhByAFQQA2AgwMAgtBACEEIAVBADYCDAsgACAFKAIMIgZqIAEgBmsgBCACEMYDIQcLIAVBEGokACAHC5gJAQR/IwBBIGsiBSQAIAVCADcDGCAFQgA3AxAgBUIANwMIQYSAgIB4IQQCQCABQQVJDQAgBSADKAIEIgY2AgggAygCACEEIAVBCTYCDCAFIAQ2AhAgBSADKAIsNgIUIAMoAighBCAFIAFBBWoiATYCHCAFIAQ2AhgCQCACQQFHBEAgAUUNASAGQUByIQcgAygClAchAkEBIQYDQCACIAEgAygCCCIEIAEgBEkbIgRqQRRqIAMoApgHSwRAQYaAgIB4IQQMBAsCQCAGBEBBASAFQQhqIAMQOiADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqQSg6AAAgAyADKAKUByICQQFqNgKUByACIAMoApAHakEBOgAAIAMgAygClAciAkEBajYClAcgAiADKAKQB2ogAy8B+gY6AAAgAyADKAKUByICQQFqNgKUByACIAMoApAHaiADKAL4BkEIdjoAACADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqIAMoAvgGOgAAIAFBe2ohASAEQXtqIQQMAQsgAyACQQFqNgKUByADKAKQByACaiAHOgAACyADKAKQByADKAKUB2ogACAEECkaIAMgAygClAcgBGoiAjYClAcgACAEaiEAQQAhBiABIARrIgENAAsMAQsgAxDIAyIEDQEgAUUNACAGQUByIQcgAygClAchAkEBIQYDQCACIAEgAygCCCIEIAEgBEkbIgRqQRRqIAMoApgHSwRAQYaAgIB4IQQMAwsCQCAGBEAgBUEANgIUQQEgBUEIaiADEDogBSADKAIsNgIUIAMgAygClAciAkEBajYClAcgAiADKAKQB2pBGDoAACADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqQQE6AAAgAyADKAKUByICQQFqNgKUByACIAMoApAHaiADLwH6BjoAACADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqIAMoAvgGQQh2OgAAIAMgAygClAciAkEBajYClAcgAiADKAKQB2ogAygC+AY6AAAgAUF7aiEBIARBe2ohBAwBCyADIAJBAWo2ApQHIAMoApAHIAJqIAc6AAALIAMoApAHIAMoApQHaiAAIAQQKRogAyADKAKUByAEaiICNgKUByAAIARqIQBBACEGIAEgBGsiAQ0ACwsgAygC9AYEQCAFIAMoAgQ2AgggAygCACEAIAVBADYCFCAFQQk2AgwgBSAANgIQIAUgAygCKDYCGCAFQQU2AhxBhYCAgHghBCADKAIIQQVJDQFBhoCAgHghBCADKAKUB0EZaiADKAKYB0sNAUEBIAVBCGogAxA6IAMgAygClAciAEEBajYClAcgACADKAKQB2pBGDoAACADIAMoApQHIgBBAWo2ApQHIAAgAygCkAdqQQI6AAAgAyADKAKUByIAQQFqNgKUByAAIAMoApAHakEAOgAAIAMgAygClAciAEEBajYClAcgACADKAKQB2pBADoAACADIAMoApQHIgBBAWo2ApQHIAAgAygCkAdqQQA6AAALIAMgAygCnAdBAXI2ApwHQQAhBAsgBUEgaiQAIAQLmAkBBH8jAEEgayIFJAAgBUIANwMYIAVCADcDECAFQgA3AwhBhICAgHghBAJAIAFBBUkNACAFIAMoAgQiBjYCCCADKAIAIQQgBUEJNgIMIAUgBDYCECAFIAMoAiw2AhQgAygCKCEEIAUgAUEFaiIBNgIcIAUgBDYCGAJAIAJBAUcEQCABRQ0BIAZBQHIhByADKAKUByECQQEhBgNAIAIgASADKAIIIgQgASAESRsiBGpBFGogAygCmAdLBEBBhoCAgHghBAwECwJAIAYEQEEBIAVBCGogAxA6IAMgAygClAciAkEBajYClAcgAiADKAKQB2pBJzoAACADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqQQE6AAAgAyADKAKUByICQQFqNgKUByACIAMoApAHaiADLwH6BjoAACADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqIAMoAvgGQQh2OgAAIAMgAygClAciAkEBajYClAcgAiADKAKQB2ogAygC+AY6AAAgAUF7aiEBIARBe2ohBAwBCyADIAJBAWo2ApQHIAMoApAHIAJqIAc6AAALIAMoApAHIAMoApQHaiAAIAQQKRogAyADKAKUByAEaiICNgKUByAAIARqIQBBACEGIAEgBGsiAQ0ACwwBCyADELQBIgQNASABRQ0AIAZBQHIhByADKAKUByECQQEhBgNAIAIgASADKAIIIgQgASAESRsiBGpBFGogAygCmAdLBEBBhoCAgHghBAwDCwJAIAYEQCAFQQA2AhRBASAFQQhqIAMQOiAFIAMoAiw2AhQgAyADKAKUByICQQFqNgKUByACIAMoApAHakEXOgAAIAMgAygClAciAkEBajYClAcgAiADKAKQB2pBAToAACADIAMoApQHIgJBAWo2ApQHIAIgAygCkAdqIAMvAfoGOgAAIAMgAygClAciAkEBajYClAcgAiADKAKQB2ogAygC+AZBCHY6AAAgAyADKAKUByICQQFqNgKUByACIAMoApAHaiADKAL4BjoAACABQXtqIQEgBEF7aiEEDAELIAMgAkEBajYClAcgAygCkAcgAmogBzoAAAsgAygCkAcgAygClAdqIAAgBBApGiADIAMoApQHIARqIgI2ApQHIAAgBGohAEEAIQYgASAEayIBDQALCyADKAL0BgRAIAUgAygCBDYCCCADKAIAIQAgBUEANgIUIAVBCTYCDCAFIAA2AhAgBSADKAIoNgIYIAVBBTYCHEGFgICAeCEEIAMoAghBBUkNAUGGgICAeCEEIAMoApQHQRlqIAMoApgHSw0BQQEgBUEIaiADEDogAyADKAKUByIAQQFqNgKUByAAIAMoApAHakEXOgAAIAMgAygClAciAEEBajYClAcgACADKAKQB2pBAjoAACADIAMoApQHIgBBAWo2ApQHIAAgAygCkAdqQQA6AAAgAyADKAKUByIAQQFqNgKUByAAIAMoApAHakEAOgAAIAMgAygClAciAEEBajYClAcgACADKAKQB2pBADoAAAsgAyADKAKcB0EBcjYCnAdBACEECyAFQSBqJAAgBAuzBwECfyMAQSBrIgIkACACIAAoAgQ2AgggACgCACEBIAJBCTYCDCACIAE2AhAgAiAAKAIsNgIUIAIgACgCKDYCGCACIAAoAmggACgCYCAAKAJkampBE2oiATYCHAJ/QYWAgIB4IAEgACgCCEsNABpBhoCAgHggASAAKAKUB2pBFGogACgCmAdLDQAaAkAgACgCNARAQQAgAkEIaiAAEDogAEEANgI0DAELQQEgAkEIaiAAEDoLIAAgACgClAciAUEBajYClAcgASAAKAKQB2pBGDoAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqQQA6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHakEAOgAAIAAgACgClAciAUEBajYClAcgASAAKAKQB2pBADoAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqQQA6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHakEBOgAAIAAgACgClAciAUEBajYClAcgASAAKAKQB2ogAC0AcToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAtAHI6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAALQBzOgAAIAAgACgClAciAUEBajYClAcgASAAKAKQB2pB/wE6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHakHhAToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAoAmhBCHY6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAAKAJoOgAAIAAoApAHIAAoApQHaiAAQfAEaiAAKAJoECkaIAAgACgClAcgACgCaGoiAUEBajYClAcgACgCkAcgAWpBAToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAoAmBBCHY6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAAKAJgOgAAIAAoApAHIAAoApQHaiAAQfAAaiAAKAJgECkaIAAgACgClAcgACgCYGoiAUEBajYClAcgACgCkAcgAWpBAToAACAAIAAoApQHIgFBAWo2ApQHIAEgACgCkAdqIAAoAmRBCHY6AAAgACAAKAKUByIBQQFqNgKUByABIAAoApAHaiAAKAJkOgAAIAAoApAHIAAoApQHaiAAQfACaiAAKAJkECkaIAAgACgClAcgACgCZGo2ApQHIAAgACgCnAdBBHI2ApwHQQALIQEgAkEgaiQAIAELnQEBA39BgYCAgHghAwJAIAFFDQAgACgCCCIERQ0AIAAoAhAiAyACaiIFIAAoAgxLBH8gBUGACGoiAxAtIgRFBEBBg4CAgHgPCyAEIAMQLyAEIAAoAgggACgCEBAyIAAoAgwaIAAoAggQKCAAIAM2AgwgACAENgIIIAAoAhAFIAMLIARqIAEgAhAyIAAgACgCECACajYCEEEAIQMLIAMLBABCAAszAQF/QYGAgIB4IQMCQCABRQ0AIAJFDQAgASAAKAIUNgIAIAIgACgCGDYCAEEAIQMLIAMLIgAgACgCBCIARQRAQYGAgIB4DwtBg4CAgHhBACAAENMDGwtsAQF/QYGAgIB4IQQCQCABRQ0AIAJFDQAgA0UNACAAKAIIIgRFBEBBh4CAgHgPCyACIAQ2AgAgAyAAKAIQNgIAIAEgACgCHDYCBCABIAAoAiQ2AgggASAAKAIgNgIMQQAhBCAAQQA2AhALIAQLRwEBfwJAIABFDQAgAUUNACAAKAIAIgJFDQAgASACIAAoAgQQyQMNACABIAAoAhw2AhggASAAKAIgNgIgIAEgACgCDDYCJAsLxQIBAn9BgYCAgHghAgJAIAFFDQAgARBSIgINACAAQeUBNgIoIAAgADYCLCAAQQE2AjAgACABKAIQNgJkIAEoAhQhAiAAQQE2AmAgACACNgJ8IAAgAkEAR0EBdDYCaCAAIAEoAnA2AnggACABLQBoNgJsIAAgASgCbDYCdCABLQBpIQIgAEGAgPoBNgJYIAAgAjYCcCAAIAEoAgA2AlwgACABLwFINgJQIAAgAS8BSjYCVEGBgICAeCECIABBKGoiAxDbAw0AIAAgACgCOBAtIgE2AjRBg4CAgHghAiABRQ0AIABBQGsgACgCRBAtIgE2AgAgAUUNACAAIAE2AhQgACAAKAJMEC0iATYCSCABRQ0AIABBgICAARAtIgE2AgggAUUNACAAQYCAgAE2AgxBiYCAgHhBACADIABBBGoQ2gMbIQILIAIL+wEBAn8jAEEgayIEJABBgYCAgHghBQJAIAFFDQAgAkUNACADRQ0AAkAgACgCBA0AIAAgARDPAyIFRQ0AIAAQtQEMAQsgBEIANwMYIARCADcDECAEQgA3AwhBgYCAgHghBSADQYCAgBBLDQAgBCADNgIMIAQgAjYCCEEAIQVBACEDIAAgASgCJEH/X2oiAkEHTQR/IAJBAnQiAkGAxglqKAIAIQMgAkHgxQlqKAIABUEACzYCHCAEIAM2AhAgBCABLwFINgIUIAQgAS8BSjYCGCAEIAEoAiw2AhxBiYCAgHhBACAEQQhqIAAoAgQQ1gMbIQULIARBIGokACAFCxQAIABBlMUJNgIAIAAQtQEgABAoCxIAIABBlMUJNgIAIAAQtQEgAAu1BAEEfyMAQUBqIgEkACAABH8gACAAKAKIASICIAAoAowBIgMgAiADSxsiAjYCwAFBACEDIAAoAngiBARAIAAoAqABIAAoAqQBakEAIAQQKxogACAAKAJ4IgIgACgCpAFqNgKkASACQf//A3EhAyAAKALAASECCyAAQQA2AnggACADNgKEASAAKAKgAUGCAToAACAAKAKgAUEAOwABIAAoAqABQZEBOgADIAAoAqABQd0AOgAEIAAoAqABIAAoAoQBOwAFIAAoAqABIAI2AAcgACgCoAFBATsACyAAKAKgASAALQCAAUE/cUGAAXI6AA0gACAAKAKwAUEBaiICNgKwASABQQA2AjggAUIANwMwIAFCADcDKCABQgA3AyAgAUIANwMYIAFCADcDECABQgA3AwggAUIANwMAIAAtANQBRQRAIAEgACgCDDYCACAAKAIUIQIgAUEANgIIIAEgAjYCBCABIAAoAgQgACgCABEEACAAQQE6ANQBIAAoArABIQILIAEgACgCoAE2AgAgACgCpAEhAyABIAI2AhAgAUIBNwMIIAEgAzYCBCAAKAIIRQRAIAEgACgCwAE2AiAgASAAKAK4ATYCGCABIAAoArwBNgIcIAEgACgCxAE2AiQgASAAKALIATYCKCABIAAoAtABNgIwIAEgACgC2AE2AjgLIAEgACgCtAE2AhQgASAAKAIEIAAoAgARBAAgAEEANgKkAUEABUGAgICAeAshAiABQUBrJAAgAgsEAEEACywBAX8jAEEQayIAJAAgAEHCCDYCDEGEGCAAKAIMQQRBAEF/EAMgAEEQaiQAC4EBAQJ/QYKAgIB4IQICQCAARQ0AIAFFDQAgACgCAEUNAEGEgICAeCECIAEoAghBAUsNACAAKAIIQX9qIgNBA0sNAAJAAkACQCADQQFrDgMBAQIACyAAKAIMIQIgASAAKAIQNgIsIAEgAjYCKAsgACABENgDDwsgACABENcDIQILIAILjwMCBn8BfUGCgICAeCECAkACQCAARQ0AIAFFDQAgACgCAEUNACABQUBrKAIARQRAQQAPCyABLQBsRQRAIAFBADYCFCABEIsBBEAgARCLAQ8LIAFBAToAbAsgASgCNEFhaiIDIAAoAgQiBCAEIANLGyIDRQ0AIAEoAogBIQYgBCADbiIEQQFLIQICfyAAKgIUIASzlSIIQwAAgE9dIAhDAAAAAGBxBEAgCKkMAQtBAAshBSAEQQEgAhshB0EAIQIDQCABIAEoAnRBAWo2AnQgACADIAEQYA0CIAAgACgCACADajYCACABIAEoAogBIAVqNgKIASACQQFqIgIgB0cNAAsCQCAAKAIEIgUgAyAEbCICTQ0AIAEgASgCdEEBajYCdCAAIAUgAmsgARBgRQ0AIAAgACgCBCACayABEGAPCyABAn8gACoCFCAGs5IiCEMAAIBPXSAIQwAAAABgcQRAIAipDAELQQALNgKIAUEAIQIgAyABKAKQAU0NACABIAM2ApABCyACDwsgACADIAEQYAubBgIKfwF9QYKAgIB4IQgCQCAARQ0AIAFFDQAgACgCAEUNAEEAIQggASgCOEUNACABLQBsRQRAIAFBADYCFCABEIsBBEAgARCLAQ8LIAFBAToAbAsgASABKAJwQQFqNgJwIAEoAowBIQQgASgCsAEhBSAAQQEgARBgBEAgAEEBIAEQYA8LIAECfwJAAkACQCAAKAIIQQFHDQAgASgCCA0AIAEoArABIAVrQQFqIQkCQCABKALEAQ0AIAEoAsgBDQAgASAFNgLEASABIAlB//8DcTYCyAELAkAgASgClAEiAiAETw0AA0AgAiABKALMAUkNASABKALEASEKIAEoAsgBIgtB//8DcSIDIAEoAtgBIgZLBEAgASADNgLYASADIQYLIAEoApgBIAEoArwBIgdNDQMgASgC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AghFBEAgACABEOADIQQgACgCCCEBIAQEQCABBEAgAEEANgIICyAAKAIgIgEEQCABECggAEEANgIgCyAAKAL4ASIBBEAgARAoIABBADYC+AELIAAoAigiAUUNAiAAKAIkGiABECggAEEANgIoIAQPC0EAQYGAgIB4IAEgAEEsahDvA0EBRhsPCyAAIAEgAiADEN8DIQQLIAQLYAEBfyAAQaDDCTYCACAAKAIIBEAgAEEANgIICyAAKAIgIgEEQCABECggAEEANgIgCyAAKAL4ASIBBEAgARAoIABBADYC+AELIAAoAigiAQRAIAAoAiQaIAEQKAsgABAoC2UBAX8gAEGgwwk2AgAgACgCCARAIABBADYCCAsgACgCICIBBEAgARAoIABBADYCIAsgACgC+AEiAQRAIAEQKCAAQQA2AvgBCyAAKAIoIgEEQCAAKAIkGiABECggAEEANgIoCyAAC0AAIABBoMMJNgIAIABCADcC+AEgAEEAOgAEIABCADcCCCAAQgA3AhAgAEIANwIYIABBADYCICAAQSRqQdQBEC8LnAoCBH8BfkGAgICAeCEEAkAgASgCMCICRQ0AIAEoAjgiA0UNACABKAI0IgUgA08NACACIAVqIgNCADcABSADQRI6AAQgA0EANgAAIANBCjoAESADQYCACDYADSADQZjCCSkAADcAEiADQaDCCS8AADsAGiADQQg6ABwgA0Lk6smLxq7at+4ANwAjIANBgBA7ACEgACgC0AEhAiADQQA6ACsgA0GACjsANCADIAK4RAAAAAAAQI9Ao70iBjwAMyADIAZCCIg8ADIgAyAGQhCIPAAxIAMgBkIYiDwAMCADIAZCIIg8AC8gAyAGQiiIPAAuIAMgBkIwiDwALSADIAZCOIg8ACwgA0GjwgkoAAA2ADYgA0GnwgktAAA6ADogACgCSCECIANBgAw7AEQgA0EAOgA7IAMgAri9IgY8AEMgAyAGQgiIPABCIAMgBkIQiDwAQSADQUBrIAZCGIg8AAAgAyAGQiCIPAA/IAMgBkIoiDwAPiADIAZCMIg8AD0gAyAGQjiIPAA8IANBrcIJLwAAOwBKIANBqcIJKAAANgBGIAAoAkwhAiADQYAaOwBVIANBADoATCADIAK4vSIGPABUIAMgBkIIiDwAUyADIAZCEIg8AFIgAyAGQhiIPABRIAMgBkIg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QQh2OgAaIAcgAigC5Ak6ABsgBCAGQRxqIgZqIAJB5AFqIAIoAuQJECkaIAIoAswKIgcgAigC5AkgBmoiBiADKAI0amogAygCOE8NAiAEIAZqIgUgB0EYdjoAACAFIAJBzgpqLwEAOgABIAUgAigCzApBCHY6AAIgBSACKALMCjoAAyAEIAZBBGoiBWogAkHoCWogAigCzAoQKRogAigCzAogBWoMAQsgAygCMCADKAI0aiEEQQALIQYgBCAGaiABQQh0QYCA/AdxIAFBGHRyIAFBCHZBgP4DcSABQRh2cnI2AABBgYCAgHghBSAGQQRqIgcgAWoiBiADKAI0aiADKAI4QQRqTw0AIAQgB2ogACABECkaIAMoAggEQCACIAMoAjQgBmogAigC5AsiAGsiAUF8aiIENgLMASAEQQtJDQEgACADKAIwaiABQXFqIgBBEHY6AAUgAigC5AsgAygCMGogAEEIdjoABiACKALkCyADKAIwaiAAOgAHIAJBADYC5AsLIAMgAygCNCAGajYCNEEBIQULIAULtgQBBH9BgICAgHghAwJAIABFDQAgAUUNACAAKALMASEDIAEoAjAgASgCNGoiAkIANwAFIAJBCToABCACIAM6AAMgAiADQQh2OgACIAIgA0EQdjoAASACIANBGHY6AAAgAkEAOwANIAEoAgwhAyACQQM6ACogAkGANjsAKCACQt3gg+Dfn778ADcAICACQQA6AB8gAkIANwAXIAJB4AA6ABYgAkGBAjsAFCACQQA2ABAgAkEcQSwgAxs6AA9BgYCAgHghAyABKAI0IAAoAsgLakEwaiABKAI4QQRqTw0AIAJBAToALSACQSA7ACsgAiAAKALIC0EIdjoALiACIAAoAsgLOgAvIAJBMGogAEHkCmogACgCyAsQKRogACgC5AkgACgCyAsiBEE1aiIFIAEoAjRqaiABKAI4QQRqTw0AIAIgBGoiBEEBOgAyIARBITsAMCAEIAAoAuQJQQh2OgAzIAQgACgC5Ak6ADQgAiAFaiAAQeQBaiAAKALkCRApGiAAKALMCiAAKALkCSAFaiIEQQVqIgUgASgCNGpqIAEoAjhBBGpPDQAgAiAEaiIEQSI7AAAgBEEBOgACIAQgACgCzApBCHY6AAMgBCAAKALMCjoABCACIAVqIABB6AlqIAAoAswKECkaIAAgACgC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NwIIIABCADcCECAAQgA3AhggAEIANwIgIABBADYCKCAAQSxqQZQBEC8gAEHAAWpBDBAvC70BAQJ/IwBBIGsiAyQAQYGAgIB4IQICQCAARQ0AIAFFDQAgAAJ9QwAAyEEgACgC8AEiAkUNABpEAAAAAABAj0AgArggACgC4AG4o6O2CzgC3AEgABCDAiICBEAgA0HKATYCEEGewQkgA0EQahBQDAELIAAQggIiAgRAIANBywE2AgBBnsEJIAMQUAwBCyABIABB9AFqNgIAIAAoAtgBIQAgAUGMwAA2AgQgASAANgIIQQAhAgsgA0EgaiQAIAILagECf0GBgICAeCECAkAgAEUNACABRQ0AIAAoAgQiA0UNAEEAIQIgA0EAIAAoAgAQKxogACgCBCAAQQhqQYwBECkiAEEBNgKUASAARAAAAAAA+fVAIAAoAki4o7Y4AtwBIAEgADYCAAsgAguFAgEDfyMAQSBrIgMkAEGBgICAeCECAkAgAEUNACABRQ0AIAFBADYCJAJAIAEoAgBBA0YEQCAAQQE2AowBDAELIAAoAowBDQBBhYCAgHghAgwBCyAAKAKQAUUEQCAAQQw2AqABAkAgABCDAgRAIANBIzYCEEGewQkgA0EQahBQDAELIAAQggIEQCADQSQ2AgBBnsEJIAMQUAwBCyAAKALYASICIAEoAiQiBGogASgCKEsNACABKAIgIARqIABB9AFqIAIQKRogASAAKALYASICIAEoAiRqNgIkIABBADYC2AEgACACNgKYAQsgAEEBNgKQAQsgACABEIEEIQILIANBIGokACACC+ECAQJ/IABBgMIAaiEEAkACQCAAKALgAQ0AIAAoAuQBDQAgACgC6AENACAAKALUASIDQQhqQYCAwAFLDQEgAyAEakLpyOGLAzcAACAAQvz///8PNwK0ASAAIAAoAtQBQQhqNgLUAQsgAUEFSwRADwsCfwJAAkACQCABQQRrDgIBAgALIABBsOCQmwY2AqwBIAAgAUEDRkEEdDYCsAEgAEHgAWoMAgsgAEKw4tyThgI3AqwBIABB5AFqDAELIABCsOSg2wY3AqwBIABB6AFqCyIBIAEoAgBBAWo2AgAgACgCqAEhASAAQQA2AqgBIAAoArgBIQMgACACNgK4ASAAKAKkASECIAAgAUEBRjYCpAEgACAAKAK0ASACIANqakEI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AighAyAEIAVqIgFCADcAGCABQoGA4ICAytSk1gA3AAwgASACNgAIIAEgAzYABCABQSg2AAAgAUIANwAgIAEgAiADbEEYbEEDdTYAFCAAIAAoAtgBQShqIgE2AtgBAkAgASAGayICQQhqQYzAAEsNACABIARqIgNB+A8gAmsiATYABCADQcqqudoENgAAIAAgACgC2AEiAkEIaiIDNgLYASABRQ0AIAAgAkEJajYC2AEgAyAEakEAOgAAQQEhAiABQQFGDQADQCAAIAAoAtgBIgNBAWo2AtgBIAMgBGpBADoAACACQQFqIgIgAUcNAAsLIAAgBkGAEGo2AtgBCwuzBgEGfyMAQfAAayICJAAgACgC2AEhBiACQgA3A2ggAkIANwNgIAJCADcDWCACQgA3A1AgAkIANwNIIAJBQGtCADcDACACQgA3AzggAkIANwMwIAJBADYCKCACQgA3AyAgAkIANwMYIAJCADcDECACQgA3AwggAkIANwMAAkAgBkEMakGMwABLDQAgAEH0AWoiBCAGaiIBQfPoyeMGNgAIIAFCzJLNooX/ATcAACAAIAAoAtgBQQxqNgLYASACQeHqkZsHNgI4IAJC8+jJw4YHNwMwAkACQAJAAkACQCAAKAJ0IgNBfWoiBUEhSwRAIANB8H5qIgFBAUsEQCADQbEBRw0CQcegqeoEIQEMBgsgAUEBa0UEQEEHIQEMBgtBBiEBDAULQdbowOoEIQECQCAFQQFrDiEBAQEBAQEBAQEBAQIFAQEBAQEBAQEBAQABAQEBAQEBAQQDC0G07MjBBCEBDAQLIAJBADYCPAwEC0H/ASEBDAILQdAAIQEMAQtBw6yVwgQhAQsgAiABNgI8IAAoAuQBIQEgAkKA4ICAcDcCXCACIAE2AlggACACIAJBMGogAxCCBCEDIAAgACgC2AEiASACaiACa0EoajYCyAEgASADakHIAGpBjMAASw0AIAEgBGoiASACKQMwNwAAIAEgAikDaDcAOCABIAIpA2A3ADAgASACKQNYNwAoIAEgAikDUDcAICABIAIpA0g3ABggASACQUBrKQMANwAQIAEgAikDODcACCAAIAAoAtgBQUBrIgE2AtgBIAEgBGoiASADNgAEIAFB8+jJswY2AAAgACAAKALYAUEIaiIBNgLYASABIARqIAIgAxApGiAAIAAoAtgBIANqIgE2AtgBAkAgASAGayIDQQhqQYzAAEsNACABIARqIgFB+A8gA2siAzYABCABQcqqudoENgAAIAAgACgC2AEiAUEIaiIFNgLYASADRQ0AIAAgAUEJajYC2AEgBCAFakEAOgAAQQEhASADQQFGDQADQCAAIAAoAtgBIgVBAWo2AtgBIAQgBWpBADoAACABQQFqIgEgA0cNAAsLIAAgBkGAEGo2AtgBCyACQfAAaiQAC48IAgd/AX0jAEFAaiIBQgA3AzggAUIANwMwIAFCADcDKCABQgA3AyAgAUIANwMYIAFCADcDECABQgA3AwggAUIANwMAIAAoAtgBIgZBDGpBjMAASwRADwsgAEH0AWoiBCAGaiICQfPoyeMGNgAIIAJCzJLNooX/ATcAACAAIAAoAtgBIgdBDGoiAzYC2AEgAUH20pGbBzYCCCABQvPoycOGBzcDAAJAAkAgACgCECICQX1qIgVBIUsEQCACQfB+aiIFQQFLBEAgAkGxAUcNA0HHoKnqBCECDAILIAVBAWtFBEBBByECDAILQQYhAgwBC0HW6MDqBCECAkACQAJAAkAgBUEBaw4hBQUFBQUFBQUFBQUABAUFBQUFBQUFBQUDBQUFBQUFBQUCAQtB/wEhAgwDC0HQACECDAILQcOslcIEIQIMAQtBtOzIwQQhAgsgAUEANgIYIAFCADcDECABIAJBCHRBgID8B3EgAkEYdHIgAkEIdkGA/gNxIAJBGHZyciIFNgIMAn8gACoC3AEiCItDAAAAT10EQCAIqAwBC0GAgICAeAshAgJAIAggArKTu0QtQxzr4jYaP2NBAXNFBEAgAUEBNgIcDAELIAFBwIQ9NgIcIAhDACR0SZQhCAsgAUEANgIkIAECfyAIQwAAgE9dIAhDAAAAAGBxBEAgCKkMAQtBAAs2AiAgACgC4AEhAiABQQA2AjggAUIANwMwIAFBgIDAADYCLCABIAI2AiggASAAKAIoOwE8IAEgACgCLDsBPiAAIAFBKGogA2ogAWs2AsQBIAdBzABqQYzAAEsEQA8LIAMgBGoiAiABKQMANwAAIAIgASkDODcAOCACIAEpAzA3ADAgAiABKQMoNwAoIAIgASkDIDcAICACIAEpAxg3ABggAiABKQMQNwAQIAIgASkDCDcACCAAIAAoAtgBIgFBQGsiAjYC2AEgAUHIAGpBjMAASwRADwsgAiAEakLz6MmzhgU3AAAgACAAKALYASIBQQhqIgc2AtgBIAFBMGpBjMAASw0AIAAoAiwhAiAAKAIoIQMgBCAHaiIBQgA3ABggASAFNgAQIAFBgYDgADYADCABIAI2AAggASADNgAEIAFBKDYAACABQgA3ACAgASACIANsQRhsQQN1NgAUIAAgACgC2AFBKGoiATYC2AECQCABIAZrIgJBCGpBjMAASw0AIAEgBGoiA0H4DyACayIBNgAEIANByqq52gQ2AAAgACAAKALYASICQQhqIgM2AtgBIAFFDQAgACACQQlqNgLYASADIARqQQA6AABBASECIAFBAUYNAANAIAAgACgC2AEiA0EBajYC2AEgAyAEakEAOgAAIAJBAWoiAiABRw0ACwsgACAGQYAQajYC2AELC/oDAwR/AX0BfCMAQUBqIgFCADcDOCABQgA3AzAgAUIANwMoIAFCADcDICABQgA3AxggAUIANwMQIAFC4eylw4YHNwMAIAFCADcDCAJAIAAqAtwBIgW7IgZEje21oPfGsL5kQQFzDQAgBkSN7bWg98awPmNBAXMNACAAQYCAoI4ENgLcAUMAAMhBIQULIAFBkBI2AhQgAUIANwIMIAECf0MAJHRJIAWVIgVDAACAT10gBUMAAAAAYHEEQCAFqQwBC0EACzYCCCAAKALgASEDIAFBADYCHCABIAM2AhgCQCAAKAIAIgRBAXFFDQAgACgCBEUNACADQQBHIQILAkAgBEECcUUNACAAKAIIRQ0AIAIgACgC5AFBAEdqIQILIAFBGGohAwJAIARBBHFFDQAgACgCDEUNACACIAAoAugBQQBHaiECCyABQYCAwAA2AiQgASACNgIgIAEgACgCKDYCKCABIAAoAiw2AiwgACADIAAoAtgBIgJqIAFrNgLAASACQUBrQYzAAE0EfyAAQfQBaiACaiICIAEpAwA3AAAgAiABKQM4NwA4IAIgASkDMDcAMCACIAEpAyg3ACggAiABKQMgNwAgIAIgASkDGDcAGCACIAEpAxA3ABAgAiABKQMINwAIIAAgACgC2AFBQGs2AtgBQQAFQYOAgIB4CwtKAAJAIAFBe2oiAUECSw0AAkACQCABQQFrDgICAQALIAAtAIMCBEAgAEEAOgCDAkEADwsgAEEBOgCDAkEADwsgAEEBOgCEAgtBAAsU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QYOAgIB4IQMMAgtBACEAIAcgBk8NACAEQcUbNgJ0IARBm7oJNgJwQYOAgIB4IQMMAQsgASgCACADaiAAOgAAIAMgASgCAGpBADoAASADIAEoAgBqQQA6AAIgAyABKAIAakEAOgADIAEgASgCCCIAQQRqIgM2AgggASgCBCAAQQhqSQRAIARByRs2AlQgBEGbugk2AlBBg4CAgHghAwwBCyABKAIAIANqIAJB8AtqKAIAIgNBGHY6AAAgACABKAIAaiADQRB2OgAFIAAgASgCAGogA0EIdjoABiAAIAEoAgBqIAM6AAcgASABKAIIQQRqNgIIIAJB9AtqIAFBCBByIgMEQCAEQcwbNgJkIARBm7oJNgJgDAELIAEoAgAgBWogASgCCCAFayIAQRh2OgAAIAUgASgCAGogAEEQdjoAASAFIAEoAgBqIABBCHY6AAIgBSABKAIAaiAAOgADQQAhAwsgBEGQAWokACADC6cEAQN/IwBBgAFrIgMkAAJAIAJFBEAgA0GJGzYCBCADQYy6CTYCAEGBgICAeCEADAELIAFFBEAgA0GKGzYCFCADQYy6CTYCEEGBgICAeCEADAELIAEoAgBFBEAgA0GLGzYCJCADQYy6CTYCIEGBgICAeCEADAELIABFBEAgA0GMGzYCNCADQYy6CTYCMEGBgICAeCEADAELIAEoAgghBCABQfPm0ZsHEDMiAARAIANBkhs2AnQgA0GMugk2AnAMAQsgASgCBCABKAIIIgBBBGpJBEAgA0GVGzYCRCADQYy6CTYCQEGDgICAeCEADAELIAEoAgAgAGpBADoAACAAIAEoAgBqQQA6AAEgACABKAIAakEAOgACIAAgASgCAGpBADoAAyABIAEoAggiAEEEaiIFNgIIIAEoAgQgAEEIakkEQCADQZgbNgJUIANBjLoJNgJQQYOAgIB4IQAMAQsgASgCACAFaiACQdQLaigCACIFQRh2OgAAIAAgASgCAGogBUEQdjoABSAAIAEoAgBqIAVBCHY6AAYgACABKAIAaiAFOgAHIAEgASgCCEEEajYCCCACQdgLaiABQQQQciIABEAgA0GbGzYCZCADQYy6CTYCYAwBCyABKAIAIARqIAEoAgggBGsiAEEYdjoAACAEIAEoAgBqIABBEHY6AAEgBCABKAIAaiAAQQh2OgACIAQgASgCAGogADoA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KAIAakEAOgAGIAEgACgCAGpBADoAByAAIAAoAggiAUEEaiIDNgIIIAAoAgQgAUEIakkEQCACQZkQNgJkIAJB0rYJNgJgQYOAgIB4DAELIAAoAgAgA2pB7QA6AAAgASAAKAIAakHwADoABSABIAAoAgBqQTQ6AAYgASAAKAIAakEyOgAHIAAgACgCCCIBQQRqIgM2AgggACgCBCABQQhqSQRAIAJBmhA2AnQgAkHStgk2AnBBg4CAgHgMAQsgACgCACADakHpADoAACABIAAoAgBqQfMAOgAFIAEgACgCAGpB7wA6AAYgASAAKAIAakHtADoAByAAIAAoAggiAUEEaiIDNgIIIAAoAgQgAUEIakkEQCACQZwQNgKEASACQdK2CTYCgAFBg4CAgHgMAQsgACgCACADakHIADoAACABIAAoAgBqQcsAOgAFIAEgACgCAGpBzQA6AAYgASAAKAIAakHJADoAByAAIAAoAghBBGoiATYCCCAAKAIAIARqIAEgBGsiBEEYdjoAACAAKAIAIAVqIARBEHY6AAAgACgCACAGaiAEQQh2OgAAIAAoAgAgB2ogBDoAAEEACyEAIAJBkAFqJAAgAAucBwEEfyMAQaABayIDJAACfyABRQRAIANBwA82AgQgA0HDtgk2AgBBgYCAgHgMAQsgAEUEQCADQcEPNgIUIANBw7YJNgIQQYGAgIB4DAELIAEoAiQiAkUEQCADQcIPNgIkIANBw7YJNgIgQYGAgIB4DAELIAEoAigiBUEEaiABKAIsSwRAIANByA82AjQgA0HDtgk2AjBBg4CAgHgMAQsgAiAFakEAOgAAIAUgASgCJGpBADoAASAFIAEoAiRqQQA6AAIgBSABKAIkakEcOgADIAEgASgCKCICQQRqIgQ2AiggAkEIaiABKAIsSwRAIANByw82AkQgA0HDtgk2AkBBg4CAgHgMAQsgASgCJCAEakHmADoAACACIAEoAiRqQfQAOgAFIAIgASgCJGpB+QA6AAYgAiABKAIkakHwADoAByABIAEoAigiAkEEaiIENgIoIAJBCGogASgCLEsEQCADQc4PNgJUIANBw7YJNgJQQYOAgIB4DAELIAEoAiQgBGpB7QA6AAAgAiABKAIkakHwADoABSACIAEoAiRqQTQ6AAYgAiABKAIkakEyOgAHIAEgASgCKCICQQRqIgQ2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AjAiAQRAIAAoAjQaIAEQKCAAQQA2AjALIAAoAiwiAQRAIAAoAhAaIAEQKCAAQQA2AiwLIAAoAigiAQRAIAAoAhwaIAEQKAsgABAoC28BAX8gAEGsqwk2AgAgACgCCARAIABBADYCCAsgACgCMCIBBEAgACgCNBogARAoIABBADYCMAsgACgCLCIBBEAgACgCEBogARAoIABBADYCLAsgACgCKCIBBEAgACgCHBogARAoIABBADYCKAsgAAt2ACAAQQA2AiAgAEGsqwk2AgAgAEIANwIYIABBADYCLCAAQgA3AgggAEEBOgAGIABBAzYCnA8gAEIANwIkIABCADcCECAAQYACOwEEIABBMGpB4AEQLyAAQZACakEoEC8gAEG4AmpBiAwQLyAAQcAOakHcABAvCzEBAX9BgICAgHghAgJAIABFDQAgAUUNACAAIAAoAghBAWo2AgggACABEJsCIQILIAILjgIBAn9BgICAgHghAgJAIABFDQAgAUUNACABKAIAIgJBBUsEQEGDgICAeA8LAn8CQAJAAkAgAkEEaw4CAQIACyAAQQE2AkQgAEHgATYCPCAAQTBqDAILIABBwAE2AmAgACAAKAIYQX9zQQFxNgJoIABB1ABqDAELIABBvQE2AoQBIABBADYCjAEgAEH4AGoLIQMgAUEANgJMAkAgASgCCEUNACABKAJYRQ0AQYGAgIB4IQIgASgCSEG0BEkNASABKAJEIAAQnQUgASgCREG8AWogACABEJsFIAEgASgCTEH4Amo2AkwLQQEhAiADIAEgABCaBSIAQQFIBEAgAA8LIAEgASgCTCAAajYCTAsgAguiAQEBfyAARQRAQYCAgIB4DwtBgYCAgHghAiAAKAIEQdwBTwR/IAAtAAhBB3FFBEBBgoCAgHgPCyAAKAIAIgJBIzYCeCACQSI2AlQgAkEhNgIwIAJCgYCAgIAENwIAIAJBADYCCCACQQA2AoABIAJBADYCXCACQQA2AjggAiAAKALcATYC2AEgAiAAQQhqEJsCGiABIAI2AgBBAQVBgYCAgHgLC9kDAgJ/An4jAEEgayICJAACQCABQv///////////wCDIgVCgICAgICAwP9DfCAFQoCAgICAgMCAvH98VARAIAFCBIYgAEI8iIQhBCAAQv//////////D4MiAEKBgICAgICAgAhaBEAgBEKBgICAgICAgMAAfCEEDAILIARCgICAgICAgIBAfSEEIABCgICAgICAgIAIhUIAUg0BIARCAYMgBHwhBAwBCyAAUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIAFCBIYgAEI8iIRC/////////wODQoCAgICAgID8/wCEIQQMAQtCgICAgICAgPj/ACEEIAVC////////v//DAFYNAEIAIQQgBUIwiKciA0GR9wBJDQAgAkEQaiAAIAFC////////P4NCgICAgICAwACEIgQgA0H/iH9qEK8FIAIgACAEQYH4ACADaxCkBSACKQMIQgSGIAIpAwAiAEI8iIQhBCACKQMQIAIpAxiEQgBSrSAAQv//////////D4OEIgBCgYCAgICAgIAIWgRAIARCAXwhBAwBCyAAQoCAgICAgICACIVCAFINACAEQgGDIAR8IQQLIAJBIGokACAEIAFCgICAgICAgICAf4OEvwu/CQEPfyMAQcABayILJAAgASgCTCEDIAEoAjwhDCABKAJIIQggASgCRCEEIABBATYCECAAIAEoAkAiBjYCHCAAIAY2AhgCfwJAIAZFBEAMAQsgAyAEaiEDIAQgCGpBxH5qIQ8DQCALIAAgASACEJ4FIQ4gACAAKAIcIAAoAiAiBGsiEDYCHEEAIQggBCAOaiIGBEADQEF/IAMgD0sNBBogA0HHADoAACADIAAoAgAiBDoAAiADIARBCHZBH3EgCEVBBnRyOgABIAAgACgCCCIEQQFqNgIIIAMgBEEPcSIFQRByOgADIAggDXIhBAJAIBAEQCAERQRAIAMgBUEwcjoAA0ECIQQgAyAALQAUQQR0QQJyOgAFIAAoAhQEQCADIAEtAA86AAYgAyABLwEOOgAHIAMgASgCDEEIdjoACCABKAIMIQUgA0H+ADsACiADIAU6AAkgAEEANgIUQQghBAsgA0EEaiIFIARqQQQ6AAAgBSAEQQFyIglqIgcgAS0ABzoAACAHIAEvAQY6AAEgByABKAIEQQh2OgACIAUgCUEDaiIHaiABKAIEOgAAIAEoAggEQCADIAMtAAVB4AByOgAFCyADIAdBuAEgBEEFciIHayIEIAYgBCAGIARJGyIEayIFajoABCAFQQFIDQIgAyAHakEEakH/ASAFECsaDAILIAZBtwFLBEBBuAEhBAwCCyADQQA6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IANFDQAgAEGAyAA2AhQgASAAQdQVaiIBEJcBIgINACAAQdwVai8BAEEIRgRAIABBAjsB3BULQYSAgIB4IQIgACgCECIDQShqQYCAgAFLDQAgACgCMCADaiABQSgQMiAAIAAoAhBBKGo2AhBBAEGJgICAeCAEIABBDGoQswVBAUYbIQILIAIL3QEBAX9BgYCAgHghBAJAIAFFDQAgAkUNACADQYCAgBBLDQAgACAALQAFBH8gACgCEAVBAAs2AhAgAEGBAjsBBiAAQgA3AiQgAEEANgIYIABBADoABAJAIAAoAgwNACAAIAEQrAUiBEUNACAAKAIMBEAgAEEANgIMCyAAKAI8IgEEQCAAKAI4GiABECggAEEANgI8CyAAKAIwIgEEQCAAKAIUGiABECggAEEANgIwCyAAKAI0IgFFDQEgACgCIBogARAoIABBADYCNCAEDwsgACABIAIgAxCrBSEECyAEC2oBAX8gAEHIogk2AgAgACgCDARAIABBADYCDAsgACgCPCIBBEAgACgCOBogARAoIABBADYCPAsgACgCMCIBBEAgACgCFBogARAoIABBADYCMAsgACgCNCIBBEAgACgCIBogARAoCyAAECgLUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgLbwEBfyAAQciiCTYCACAAKAIMBEAgAEEANgIMCyAAKAI8IgEEQCAAKAI4GiABECggAEEANgI8CyAAKAIwIgEEQCAAKAIUGiABECggAEEANgIwCyAAKAI0IgEEQCAAKAIgGiABECggAEEANgI0CyAAC3wAIABBADYCHCAAQciiCTYCACAAQgA3AiAgAEIANwIwIABCADcCDCAAQgA3AiggAEIANwIUIABBADoACCAAQYCChAg2AgQgAEE4akGcFRAvIABB1BVqQSgQLyAAQYQiakGEMBAvIABB/BVqQYgMEC8gAEGI0gBqQZgBEC8Lwg0BCH9BgICAgHghBAJAIABFDQAgAUUNAEGDgICAeCEEIAEoAgAiAkEFSw0AIAEoAiwhBwJAAkACQAJAIAJBBGsOAgECAAsgASgCcCICIAAoArwHSw0DIAAgACACQQJ0aigCACIDNgKsAiACRQRAIAAgASgCHDYC0AsMAwsgACgCzAtFDQJBACEEIAEoAhwgACgC0AtGDQIMAwsgASgCcCICIAAoAsAHSw0CIAAgACACQQJ0akFAaygCACIDNgKsAgwBC0GEgICAeCEEIAEtAChBA3ENASAAIAAoAoABIgM2AqwCIAEoAhBBAUcNACAAIAEoAiQiAikAADcAqAcgACACKAAINgCwBwsCQCABKAIERQ0AAkAgASgCEEUNAAJAAkAgASgCDA0AIAAoAgAgA0YNACAAKAIEIANGDQAgACgCCCADRg0AIAAoAgwgA0YNACAAKAIQIANGDQAgACgCFCADRg0AIAAoAhggA0YNACAAKAIcIANGDQAgACgCICADRg0AIAAoAiQgA0YNACAAKAIoIANGDQAgACgCLCADRg0AIAAoAjAgA0YNACAAKAI0IANGDQAgACgCOCADRg0AIAAoAjwgA0cNAQtBgYCAgHghBCAHIAEgABCdAiIFQQBIDQMgBSABKAI0Tw0DIAEgBTYCMAsCQCAAKAKgAUUNACABKAIAIgJBA01BACACQQJHGw0AIAEoAgRFDQAgASgCEEUNAEGBgICAeCEEIAcgASAAEJ0CIgJBAEgNAyACIAEoAjRPDQMgASACIAVqIgU2AjALAkACQAJAAkACQCAAKAK8ByICBEAgASgCDEEARyEEIAEoAgAhAwwBC0EAIQQgASgCACIDQQRHDQBBASEEIAAgASgCcCIDQQJ0akGIC2ooAgBBf0YNASAAKALIC0GRvwVJBEBBACEEDAILIABBADYCyAsMAQsgA0EESQ0BIANBBEcNAyABKAJwIQMLIAAgAiADaiIDQRxsaiICIAEoAmA2AuAHIAIgASkCWDcC2AcgAiABKQJQNwLQByACIAEpAkg3AsgHIAMNASAAKAKICyICQX9GDQEgACAAKALICyABKAIcIAJrajYCyAsMAQsgACABKAJwIgNBHGxqIgIgASgCYDYC4AcgAiABKQJYNwLYByACIAEpAlA3AtAHIAIgASkCSDcCyAcLIAAgA0ECdGpBiAtqIAEoAhw2AgALIARFDQAgACgCxAdFBEAgBSAHaiICQsCR9IWO8K/wgH83ABAgAkKDiIT/h5y4wEA3AAggAkKAgITYi8CEwP0ANwAAQYGAgIB4IQQgASgCNEEZSQ0DIAEgBUEYaiIFNgIwC0GBgICAeCEEIAUgB2ogACABELQFIgJBAEgNAiACIAEoAjRPDQIgASACIAVqIgU2AjALIAEoAgRFDQAgASgCEEEARyEGCyAAQawCaiEJIAAgBjYCsAIgASgCKCECIABBADYCvAIgACACNgK0AiAAIAI2ArgCIAAgASgCZDYCwAJBACEGA0ACQAJAAkAgASgCAEEFRw0AIAAtAKgHQX9qIgJBB0sNAAJAAkAgAkEBaw4HAgICAgICAAELIAAtAKkHQQRHDQEMAgsgAC0AqQdBAUYNAQsgBSAHaiAJIAEgABCeAiIEQQBIDQMgASAEIAVqIgQ2AjAMAQsgBSAHaiIIIAkgASAAEJ4CIgRBAEgNAiABIAQgBWoiBDYCMCAAKAK8AiIFQQNxIgMEQCAAIAVBfHEiBTYCvAILAkACQCAAKAKwAgRAIAAoApABIgJFDQEgAEEAOgCwByAAIAVB/AdqQQJ2OgCrByAAIAVB/P8PakEKdjoAqgcgACAAKAK0AiACbkEBajoArwcMAgsgACAFQQhqIgJBAnY6AKsHIAAgAkEKdjoAqgcgBEEMaiICIAEoAjRLBEBBgYCAgHgPCyAEIAdqIgQgACkAqAc3AAAgBCAAKACwBzYACCAIIAgtAAUgCC0ABEEIdHIgA2tBDGoiBEEYdCAEQQh0QYCA/AdxckEQdjsABCACIQQMAgsgACAFQQhqIgJBAnY6AKsHIAAgAkEKdjoAqgcLIAEoAiQiAiAAKQCoBzcAACACIAAoALAHNgAICyAAKAK8AiICIARqIAEoAjRLBEBBgYCAgHgPCyAEIAdqIAEoAiQgBmogAhApGiAAQQA2ArACIAAgACgCtAIiAyAAKAK8AiICIAZqIgZrNgK4AiAAKAK0BwRAIAFBADYCbAsgAiAEaiEFAkAgASgCdARAIAEgBjYCeAwBCyADIAZLDQELCyABIAU2AjBBASEECyAEC6YCAQR/QYCAgIB4IQMCQCAARQ0AIAAoAgQiAkUNACACIABBCGoQnAIaQQAhAyACQQA2AoQBIAAoAugBIgVBEEsNACAAKALsASIEQRBLDQAgBQR/A0AgAiADQQJ0aiADQeABajYCACADQQFqIgMgACgC6AFJDQALIAAoAuwBBSAECwRAIAJBQGshBEEAIQMDQCAEIANBAnRqIANBwAFqNgIAIANBAWoiAyAAKALsAUkNAAsLIAJCfzcCiAsgAkG9ATYCgAEgAkEANgLICyACQZALakJ/NwIAIAJBmAtqQn83AgAgAkGgC2pCfzcCACACQagLakJ/NwIAIAJBsAtqQn83AgAgAkG4C2pCfzcCACACQcALakJ/NwIAIAEgAjYCAEEBIQMLIAMLsA0BEX9BgYCAgHghBAJAIAIoAjQgAigCMEEKakkNACAAQf//AzsABCAAQYCAhOB7NgAAIAEgASgChAEiA0EBajYChAEgAEH/AToAByAAIANB4AFyOgAGIAEoApwBIgdBBHRBEHEhAyAHQQJxBEAgAyADQRRqIAIoAkRBhQFGGyEDCwJAIAdBwABxRQ0AIAItADhFDQAgAi0AOUUNACACLQA6RQ0AIANBCGogAyACLQA7GyEDC0EKIQggAigCNCADIAIoAjBqQQpqSQ0AIAAgAzoACSAAQQA6AAgCQCABLQCcAUEBcUUNACAAQQpqIAJByABqIAEoApQBIAIoAkAgAigCRCABKAK4BxCiAkEKaiEIIAEtAJAFQQZ2QX9qQf8BcUEBSw0AIABBAzoADwsCQCABKAKcASIEQQJxRQ0AIAIoAkRBhQFGDQAgACAIaiIEIAEpAMQCNwAAIAQgASgA1AI2ABAgBCABKQDMAjcACCAIQRRqIQggASgCnAEhBAsCQCAEQcAAcUUNACACLQA4IgRFDQAgAi0AOSIDRQ0AIAItADoiB0UNACACLQA7IgpFDQAgACAIaiAEIAMgByAKIAItADwQtQUgCGohCAsgACAIaiIMQf//AzsAACAIQQJqIQQCQCABKAKIASIDQQFxRQ0AIAEoArwHRQ0AIAEhByACIgoiDiIPIhAiESISIQUDQCAAIARqIg0gASALQQJ0aiIDKAKoAToAACANIAMoAgA6AAEgBEEEaiEDAkAgAS0AnAFBBHFFBEBBACEGDAELIAAgA2oiAyABIAtBBHRqIgYpAIwFNwAIIAMgBikAhAU3AAAgBEEUaiEDQRAhBiABKAK0B0UNACAFLwF8QQJHDQAgACADaiIDQccsOwAAIAMgAi0AkwE6AAIgAyAKLwGSAToAAyADIAUoApABQQh2OgAEIAMgBSgCkAE6AAUgAyAOLQCXAToABiADIA8vAZYBOgAHIAMgBSgClAFBCHY6AAggAyAFKAKUAToACSADIBAtAIMBOgAKIAMgES8BggE6AAsgAyAFKAKAAUEIdjoADCADIAUoAoABOgANIAMgEi0AhwE6AA4gAyAFLwGGAToADyADIAUoAoQBQQh2OgAQIAMgBSgChAE6ABEgAyAFKAKIAUEIdjoAEiADIAUoAogBOgATIAMgBSgCjAFBCHY6ABQgBSgCjAEhBiADQf//AzsAFiADIAY6ABUgBEEsaiEDQSghBgsCQCABKAKYAUUNACABLQCcAUEQcUUNACAAIANqIgkgASkAkAc3AAAgCSABKACYBzYACCADQQxqIQMgBkEMaiEGCyABKAKcASIJQSBxBEAgACADaiIJIAcpAJwHNwAAIAkgBygApAc2AAggBkEMaiEGIAEoApwBIQkgA0EMaiEDCyAEQQJqIRMCfyADIAlBAnFFDQAaIAMgBSgCREGFAUcNABogACADaiIEIAEgC0EUbGoiCSgA1AI2ABAgBCAJKQDMAjcACCAEIAkpAMQCNwAAIAZBFGohBiADQRRqCyEEIAAgE2pBADoAACANIAY6AAMgC0EBaiILIAEoArwHSQ0ACyABKAKIASEDCwJAIANBAnFFDQAgASgCwAdFDQBBACECA0AgACAEaiIHIAEoAugBOgAAIAcgASACQQJ0akFAaygCADoAASABKAKcASEKIAdBADoAAiAEQQRqIQMCfyAKQQhxBEAgB0EMOgADIAAgA2oiAyABKACMBzYACCADIAEpAIQHNwAAIARBEGoMAQsgB0EAOgADIAMLIQQgAkEBaiICIAEoAsAHSQ0ACyABKAKIASEDCyADQQRxBEAgACAEaiICIAEoAqgCOgAAIAEoAoABIQEgAkEAOwACIAIgAToAASAEQQRqIQQLIAwgBCAIa0F+aiIBQQh2OgAAIAwgAToAASAAIARBfmoiAToABSAAIAFBCHY6AAQgACAEaiECQX8hAQJAQaDHCigCAA0AIAJBfWoiAyAATQ0AA0AgACgCACABcyIBQQZ2QfwHcUGAEHJBoL8KaigCACABQf8BcUECdEGAGHJBoL8KaigCAHMgAUEOdkH8B3FBgAhyQaC/CmooAgBzIAFBFnZB/AdxQaC/CmooAgBzIQEgAEEEaiIAIANJDQALCyAAIAJJBEADQCAALQAAIAFB/wFxc0ECdEGgvwpqKAIAIAFBCHZzIQEgAEEBaiIAIAJHDQALCyACIAFBGHY6AAAgAiABOgADIAIgAUEIdjoAAiACIAFBEHY6AAEgBEEEaiEECyAECzgAIABBAToAByAAIAI6AAYgAEGAjYAINgAAIAAgAUEEdCAEcjoABSAAIANBMHIgAyAFGzoABEEIC10AIABBn/wDOwAIIABBqpT8ezYAACAAIANBA3Y6AAsgACACQQN2OgAKIABBkL8FIAFBAXRBMiABG20iAToAByAAIAFBCHY6AAYgACABQRB2OgAFIAAgAUEYdjoABAt+AQN/QYGAgIB4IQQCQCABRQ0AIAJFDQAgA0UNAEGHgICAeCEEIAAoAhQiBUUNACAAKAIIIgZFDQAgAiAFNgIAIAMgBjYCACABIAAoAgw2AgQgASAALQAENgIIIAAoAhAhAkEAIQQgAUEANgIAIAEgAjYCDCAAQQA2AggLIAQL7gIBA39BhYCAgHghBAJAIAEoAiRB/19qIgVBB0sNAAJAAkACQAJAIAVBAWsOBwQABAQCAgEACyAAIAEQpAIiBA0DCwJAAkAgA0EVSQ0AIAIvAQAiBEGBIEkNACAEQfpfakH//wNxQfsfSQ0AIARBg+AASw0AIARB/b9/akH//wNxQf4fSQ0AIARB/19qQf//A3FBAU0EQCACKAIQQYAISw0BCyAEQf+ff2pBA09BACAEQf+/f2pBAUsbDQEgAigCEEGBKEkNAQsgACABIAMQowIiBA0DC0EBIQVBhICAgHghBCAAKAIIIgYgA2pBgICAAU0NAQwCCyAAIAEQpAIiBA0BIAAgASADEKMCIgQNAUECIQVBhICAgHghBCAAKAIIIgYgA2pBgICAAUsNAQsgACgCFCAGaiACIAMQMiAAIAU2AgwgACAAKAIIIANqNgIIIAAgASgCJEGBIEY6AAQgACABKAIoNgIQQQAhBAsgBAvIAQEDf0GBgICAeCEEAkAgAUUNACACRQ0AAkACQCAALQAFDQAgARBSIgQNASAAQYCAgAEQLSIENgIUIARFBEBBg4CAgHghBAwCCyABIABBHGoiBRCXASIEDQEgAC0ABQ0AQYSAgIB4IQQgACgCCCIGQShqQYCAgAFLDQEgACgCFCAGaiAFQSgQMiAAQQE6AAUgACAAKAIIQShqNgIICyAAIAEgAiADELgFIQQMAQsgACgCFCIBRQ0AIAEQKCAAQQA2AhQgBA8LIAQLHwEBfyAAQdyhCTYCACAAKAIUIgEEQCABECgLIAAQKAu9AQEBfyABQQBHIQICQAJAAkACQCABRQ0AIABBA3FFDQADQCAALQAARQ0CIABBAWohACABQX9qIgFBAEchAiABRQ0BIABBA3ENAAsLIAJFDQELIAAtAABFDQECQCABQQRPBEADQCAAKAIAIgJBf3MgAkH//ft3anFBgIGChHhxDQIgAEEEaiEAIAFBfGoiAUEDSw0ACwsgAUUNAQsDQCAALQAARQ0CIABBAWohACABQX9qIgENAAsLQQAPCyAACyQBAX8gAEHcoQk2AgAgACgCFCIBBEAgARAoIABBADYCFAsgAAswACAAQgA3AgggAEEAOwEEIABB3KEJNgIAIABCADcCECAAQQA2AhggAEEcakEoEC8LkgQBCX8CQCAARQ0AIAFFDQAgASAALQAAOgAAIAEgAC0AAToAASABIAAtAAI6AAIgASAALQADOgADIAEgAC0ABDoABCABIAAtAAU6AAUgASAALQAGOgAGIAEgAC0ABzoAByABIAAtAAg6AAggASAALQAJOgAJIAEgAC0ACjoACiABIAAtAAs6AAsgASAALQAMOgAMIAEgAC0ADToADSABIAAtAA46AA4gASAALQAPOgAPQQQhAiABKALwAUECdEEEaiIKQQVPBEADQCACQQJ0IgcgAWoiA0F/ai0AACEIIANBfmotAAAhACADQX1qLQAAIQkgA0F8ai0AACEEAkAgAkEDcQRAIAAhBSAEIQYMAQsgAkECdkGQgQlqLQAAIAlBkP8Iai0AAHMhBiAIQZD/CGotAAAhBSAAQZD/CGotAAAhCSAEQZD/CGotAAAhCAsgAyADQXBqLQAAIAZzOgAAIAEgB0EBcmogA0Fxai0AACAJczoAACABIAdBAnJqIANBcmotAAAgBXM6AAAgASAHQQNyaiADQXNqLQAAIAhzOgAAIAJBAWoiAiAKRw0ACwtBACECA0AgASACQQJ0IgBBA3JqLQAAIQQgASAAQQJyai0AACEFIAEgAEEBcmotAAAhBiAAIAFqIgAgAC0AADoAAyAAIAY6AAIgACAFOgABIAAgBDoAACACQQFqIgJBPEcNAAsLC/sBAQF/QYWAgIB4IQQCQCAAQX5qIgBBvQFLDQACQCAAQXtqDrgBAQEBAQEBAQEAAAEBAQEBAQEBAQEAAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEAAAAAAQEAAQAAAAAAAAAAAAAAAAEAAAEBAQEBAQEBAQAAAQEBAQEBAQEBAQEAAQALIAEgAjYCCCABQQE2AgQgASADNgIMQQAhBAsgBAvmAgEEf0GBgICAeCEEAkAgAUUNACACQQVJDQAgAS0AAA0AIAEtAAENAAJAIAEtAAJFBEAgAS0AA0EBRg0BCyABLQACQQFHDQELAkAgAkF7aiIFQQVJDQBBBCEDIABBG0YEQANAIAMiBEEBaiEDAkAgASAEaiIALQAADQAgASADai0AAA0AIAAtAAJFBEAgAC0AA0EBRg0FCyAALQACQQFGDQQLIAMgBUcNAAwCAAsACyAAQYABRgRAA0AgAyIEQQFqIQMCQCABIARqIgAtAAANACABIANqLQAADQAgAC0AAkUEQCAALQADQQFGDQULIAAtAAJBAUYNBAsgAyAFRw0ADAIACwALIABBJEYhBgNAIAMiBEEBaiEDAkAgASAEaiIALQAADQAgASADai0AAA0AAkAgAC0AAg0AIAAtAANBAUcNACAGDQQLIAAtAAJBAUcNACAGDQMLIAMgBUcNAAsLIAIhBAsgBAuLAgACQCAABH8gAUH/AE0NAQJAQdC8CigCACgCAEUEQCABQYB/cUGAvwNGDQMMAQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAg8LIAFBgLADT0EAIAFBgEBxQYDAA0cbRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMPCyABQYCAfGpB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBA8LC0GoyApBGTYCAEF/BUEBCw8LIAAgAToAAEEBCzABAX8jAEEQayIAJAAgAEGpCDYCDEHgFyAAKAIMQQJBgIB+Qf//ARADIABBEGokAAvFBAEEfyABRQRAQYGAgIB4DwtBgoCAgHghAwJAIAJBBUkNACABLQAABEBBgYCAgHgPCyABLQABBEBBgYCAgHgPCyABLQACIgNBAUsEQEGBgICAeA8LAkAgA0EBawRAIAEtAANBAUcEQEGBgICAeA8LIABBZWoiBEEJSwRAQYGAgIB4IQMgAEGAAUYNAgwDC0GBgICAeCEDAkAgBEEBaw4JAwMDAwMDAwMCAAsgAS0ABEEfcUF/akH/AXFBDkkNAQwCCyAAQWVqIgRBCUsEQEGBgICAeCEDIABBgAFGDQEMAgtBgYCAgHghAwJAIARBAWsOCQICAgICAgICAQALIAEtAANBH3FBf2pB/wFxQQ1LDQELAkAgAkF7aiIFQQVJDQACQCAAQWVqIgNBCUsNAEEEIQQCQAJAIANBAWsOCQICAgICAgICAQALA0AgBCIDQQFqIQQCQCABIANqIgAtAAANACABIARqLQAADQAgAC0AAkUEQCAALQADQQFGDQYLIAAtAAJBAUYNBQsgBCAFRw0ACwwCCwNAIAQiA0EBaiEEAkAgASADaiIALQAADQAgASAEai0AAA0AIAAtAAJFBEAgAC0AA0EBRg0FCyAALQACQQFGDQQLIAQgBUcNAAsMAQtBBCEEIABBgAFGIQYDQCAEIgNBAWohBAJAIAEgA2oiAC0AAA0AIAEgBGotAAANAAJAIAAtAAINACAALQADQQFHDQAgBg0ECyAALQACQQFHDQAgBg0DCyAEIAVHDQALCyACIQMLIAMLMQACQCAARQ0AIAFFDQACQCABRQ0AIAAoAiwiAEUNACAAIAEgACgCACgCNBEAABoLCwv0BAEGfyMAQRBrIgUkAEGBgICAeCEEAkAgAUUNACACQQhJDQAgAEECNgKYogEgAEGcogFqIAEtAAEgAS0AAEEIdHIiAjYCACAAQaCiAWogAS0ABEEQdCABLQADQRh0ciABLQAHIAEtAAZqQRh0ajYCAAJAIAAoAjAiBkEIcQ0AIAAoApCiAUUEQEGGgICAeCEEDAILQQAhBCAGQcAAcQ0BIABBzKIBakHc9ggoAAA2AAAgAEHEogFqIgZB1PYIKQAANwAAQYGAgIB4IQQgAkF/aiICQQFLDQFBAyEHQQNBCiACQQFrGyEHIAAoArSiASIIRQ0AIAMgAEG4ogFqKAIARwRAQYaAgIB4IQQMAgsgAEG8ogFqIAFBDGoiAzYCACAAQcCiAWogAS0ACyABLQAKQQR0QfABcWoiAjYCACAFQgA3AwggBUIANwMAAkAgAkEDcQ0AQQAhBCAAQdSiAWpBADYCAEF/IQEDQCAEIAhqLQAAIAFB/wFxc0ECdEGA9whqKAIAIgkgAUEIdnMhASAEQQFqIgRBwABHDQALIAUgBikAADcDACAFIAYoAAg2AgggBSAJQRh2OgAMIAUgAToADyAFIAFBCHY6AA4gBSABQRB2OgANIAJBcGpB8AFLDQAgAEHQogFqKAIAIgFFDQAgACACNgLUogEgASADIAIQKSACIAUgBxCBAQsgAEHQogFqKAIAIgEoAgBBuNHKtXtqIgJBDUsEQEGGgICAeCEEDAILQYaAgIB4IQQCQCACQQFrDgwCAgICAgICAgICAgIACyAAQdSiAWooAgAgAS8ABEEGakcNAQtBACEECyAFQRBqJAAgBAvQAwECfwJAIAFFDQAgA0UNACAAQdCiAWooAgBFDQAgAygCHARAIAAtADBBCHENAQsCQCADKAJMQYIBRw0AIAAoAghBfmoiBEECSw0AAkACQCAEQQFrDgICAAELIAMoAiRBxOaIiQFHDQEMAgsgAygCJEHhAUYNAQsCQAJAIAMoAhAiBEF8aiIFQQFLBEAgBEGAAkcNAwwBCyAFQQFrRQ0AIAEgAhDwByIEQQBIDQIgBCACTg0CDAELIAEgAiAEEPEHIgRBAE4NAA8LAkAgBEEgaiACTQRAIAAoArSiASIFIAEgBGoiBCkAADcAACAFIAQpABg3ABggBSAEKQAQNwAQIAUgBCkACDcACCAAKAK0ogEiBCABIAJqQWBqIgEpAAA3ACAgBCABKQAINwAoIAQgASkAEDcAMCAEIAEpABg3ADgMAQsgBCACSw0BIAAoArSiASIFQgA3AAAgBUIANwA4IAVCADcAMCAFQgA3ACggBUIANwAgIAVCADcAGCAFQgA3ABAgBUIANwAIIAAoArSiASABIARqIgEgAiAEayICECkaIAAoArSiAUEgaiABIAIQKRoLIAMoAhghASAAQQE2ApCiASAAQbiiAWogATYCAAsL9AQBAn8jAEEQayIFJABBgYCAgHghBAJAIAJFDQAgA0UNACACKAIwBEAgAUGBIEYEQCADIAIoAlw7ASggAyACKAJgOwEqIAMgAigCZDsBLiADIAIoAmg7ATAgAyACKAJsOwEyIAMgAigCcDsBNCACKAJ0IQAgA0EBNgIEIAMgADsBNiADIAIoAhg2AiRBACEEDAILAkAgACgCCCIAQQFHDQAgAygCBEEBRg0AIAMgAigCXDsBKCADIAIoAmA7ASogAyACKAJkOwEuIAMgAigCaDsBMCADIAIoAmw7ATIgAyACKAJwOwE0IAIoAnQhACADQQE2AgQgAyAAOwE2IAMgAigCGDYCJEEAIQQMAgsgAigCGCADKAIkIAAgA0EoahCAASADIAIoAhg2AiRBACEEDAELIAAoAggiBEGBgAJGBEAgAyACKAJcOwEoIAMgAigCYDsBKiADIAIoAmQ7AS4gAyACKAJoOwEwIAMgAigCbDsBMiADIAIoAnA7ATQgAigCdCEAIANBATYCBCADIAA7ATZBACEEDAELIAAoApSjASEBAkAgACgC/KIBBEAgAQ0BIAAoAoCjAQRAIAMgACkChKMBNwIoIAMgAEGMowFqKQIANwIwQQAhBCAAQQA2AoCjAQwDCyACKAIYIAMoAhggBCADQShqEIABQQAhBAwCCyABDQBBACEEDAELIAVBDGoQBBogAyAFQQxqEAYiAC8BFEHsDmo7ASggAyAALwEQQQFqOwEqIAMgACgCDDsBLiADIAAoAgg7ATAgAyAAKAIEOwEyIAAoAgAhAEEAIQQgA0EAOwE2IAMgADsBNAsgBUEQaiQAIAQLzQMCAn8BfQJAIAAoAvSiAQ0AIARFBEBBgYCAgHgPCyAAKAIIQX5qQQJLDQAgBCgCMEUNACAAKALYogEiBkUNAAJAIAQoAnwiBUUEQCAEKAKAAUUNAQsgASACckUNAAJAAkAgASAFRwRAIABBhID8DzYC5KIBIAQoAnwhBSAAQQE2AvSiASAAQfCiAWogATYCACAAQeyiAWogBTYCACAEQYABaiIBKAIAIAJHDQEMAgsgBEGAAWoiASgCACACRg0CCyAAQYSA/A82AuSiASABKAIAIQEgAEEBNgL0ogEgAEHwogFqIAI2AgAgAEHsogFqIAE2AgALIABB5KIBaiAAKALcogEgBhEEAAsgA0MAAAAAWw0AIAQqApABIgdDAAAAAFsNAAJ/IAMgB5MiB4tDAAAAT10EQCAHqAwBC0GAgICAeAtFDQAgAEGDgPwPNgLkogEgBCoCkAEhByAAQQE2AvSiASAAQfCiAWoCfyADQwAAgE9dIANDAAAAAGBxBEAgA6kMAQtBAAs2AgAgAEHsogFqAn8gB0MAAIBPXSAHQwAAAABgcQRAIAepDAELQQALNgIAIABB5KIBaiAAKALcogEgACgC2KIBEQQAC0EAC9ECAQZ/IwBBwAZrIgckAEGBgICAeCEEAkAgAEUNACADRQ0AIAdBCGpBAEG0BhArGiADQQA2AgQgAUENTwRAA0BBioCAgHghBCAAKAIEIgVBCHRBgID8B3EgBUEYdHIgBUEIdkGA/gNxIAVBGHZyciIGIAFBdGpLDQIgAC0AAiIFQcAASw0CIAIgAEEMaiAGIAdBCGoQ0gEiBA0CAkAgBy8BCCIERQ0AIAcvAQoiCEUNACADIAVBAXRqIgkgCDsBjAcgCSAEOwGMBgsgASAGQQxqIghrIQECQCADKAIAQQJGDQBBACEEIAMgBUECdGoiCUEANgIMQQAhBiAFRQ0AA0AgBCADIAZBAXRqLwGMBmohBCAGQQFqIgYgBUcNAAsgCSAENgIMCyAAIAhqIQAgAyADKAIEQQFqNgIEIAFBDEsNAAsLQQAhBAsgB0HABmokACAEC6QBACAAKAIsRQRADwsCQAJAIAFFDQAgAEIANwIMIABCADcCJCAAQgA3AhwgAEIANwIUIANBAksEQA8LAkACQAJAIANBAWsOAgABAgsgAkGAAUcNAiAAIAEpAAA3AAwMAwsgAkGAAkcNASAAIAEpAAA3AAwgACABKQAYNwAkIAAgASkAEDcAHAwCCyAAQQA2AgQLDwsgACABKQAINwAUIABBATYCBAuCAgEDf0GHgICAeCECAkACQCAAKAIsIgNFDQAgAUUEQEGBgICAeA8LIAFBADYCICABQQA2AgQCQCAAKAIABEAgAyAAQTRqIgQgAygCACgCEBEAACICIAAoAmwiA3INAwNAIAAgBBCuAiICDQMgACgCiApFBEAgACgCLCICIAQgAigCACgCEBEAACICIAAoAmwiA3INBQwBCwsgAEEANgKICiAAIAEgBBC/ASICRQ0BDAILIAAoAogKBEAgAEEANgKICiAAIAEgAEE0ahC/ASICRQ0BDAILIAAoAviiAUUNASAAIAEgAEE0ahC/ASICDQELQQAhAgsgAg8LIAEgAzYCICACC/0fAgt/AX0jAEHABmsiBSQAAkAgAUUEQEGBgICAeCEDDAELIAVBCGpBAEG0BhArGiABIAAoAjAiAkEfdEEcdmooAgAiBEUEQEGBgICAeCEDDAELIAFBDEEEIAJBAXEbaigCACEIAn8gBCABKAIgRQ0AGiAEIAggASgCECABQbwBahDJBSIDDQEgBCABKAIgRQ0AGkGGgICAeCEDIAQoAgQiAkEIdEGAgPwHcSACQRh0ciACQQh2QYD+A3EgAkEYdnJyIAhLDQEgBCgCBCICQQh0QYCA/AdxIAJBGHRyIAJBCHZBgP4DcSACQRh2cnIhCCAEQQxqCyEKQQAhAiAFQQA2AgQgBUEANgIAAkACQAJAAkACQCABKAIcIgZFDQACQCAALQAwQQhxDQACQCAAKAIEBEAgAEEMaiEEIAEoAhAhAyAGQW9qQQJNBEAgCiAIIAMgBiAEEO4HIgJBAE4NAiACIQMMCQsgCiAIIAMgBiAEEOUCIgNFDQIMCAsgAEEBNgL4ogFBjYCAgHghAwwHCyABIAI2AgQgAiEICyABKAIcRQ0AIAAtADBBCHENAQsgASgCECEEAkACQAJAAkAgAC0AMEEQcUUNAAJAIARBgAZMBEAgBEEFR0EAIARBgAJHGw0DIAEoAkxB/n5qIgNBAksNASADQQFrDQIMAQsgBEH/eWpBA0kNAyAEQYIQRw0CDAMLIAEoAiANACAFIAEoAoABOwEKIAUgASgCfDsBCCAFIAEoAoQBOwEOIAUgASgCmAE7AQwgBSABKAKQATYCFCAFIAEoAig2AhggBSABLQBIQYABcToAEgwDCyAEQf95akEDSQ0BIARBghBGDQELIAQgCiAIIAVBCGoQ0gEiAg0BIAEoAhBBBUcNASAKIAggBSAFQQRqEMMHIgINASAFKAIAQQFGBEAgACAFKAIENgKoowFBACECDAILQQBBAEGJgICAeCAAKAKoowEiAiAFKAIERhsgAkF/RhshAgwBCyAFQYEgOwEMQQAhAgsgACgCpKMBIgMgACgCnKMBQQNsTwRAIABBADYCmKMBIABCADcCoKMBQQAhAwsgASgCHCIEBEAgACAAKAKgowFBAWo2AqCjAQsgACADQQFqNgKkowEgAkUNACAAKAIwIgJBA3FBA0YEQCAAQQE2AogKIABB7dsDNgKUCkEAIQMMBQsgAkGAAXFFDQEgBSABKAIQIAEoApgBEGs7AQwLIAAgACgCkApBhAlsakGIEmoiAkEBNgIAIAEoAhBBBkcNAiAFLwEsQQFHDQIgAkECNgIAIAUgCDYCvAYgBS8BMARAIAAgBS8BMjsBtKMBIABBtqMBaiAFLwE0OwEAIABBuKMBaiAFLwE2IgY2AgAgAEG8owFqIAUvATgiBDYCACAAQcCjAWogBS8BOiIDNgIAIAYgAEHEowFqIgJqQQBBAEGABiAGayAGQf8FSxsQKxogAiAFQTxqIAYQKRogAEHEpQFqIAVBvAJqIAQQKRogAEHEpwFqIAVBvARqIAMQKRoLAkAgBS8BLkUNACAAKAKsowEiAkUNACAKIAVBvAZqIABBtKMBaiAAKAKwowEgAhEIAAsgAC0AMEEBcUUNASABIAg2AgwMAgtBhoCAgHghAyAAKALYogEiAgR/IAAgBAR/QYWA/A9BhoD8DyAAKAKEChsFQYWA/A8LNgLkogEgAEHkogFqIAAoAtyiASACEQQAIAEoAhwFIAQLRQ0CIAAgACgCmKMBQQFqIgI2ApijASAAKAKgowEiAUUNAiAAKAKkowEgACgCnKMBSQ0CIAK4IAG4o0QAAACA61HgP2ZBAXMNAiAAQQE2AviiASAAQgA3AqCjASAAQQA2ApijAUGNgICAeCEDDAILIAEgCDYCBAsgBS8BDCEDAkACfwJAAkACQAJAAkACQCABKAIcRQ0AIAAtADBBCHFFDQAgACADIAEoApgBEGsiAzYClAoMAQsgACADNgKUCiADQYMgRw0AIABBlApqIQQgAS0ASEEEcQRAIAogCCAEENwBIgMNCCAEKAIAIQMMAQsCQCABKAIQQQFHDQAgASgCiAFBf2oiAkEBSw0AIAJBAWsEQCAEQYQgNgIADAELIARBhSA2AgALIAAgACgCkAoiAkE4bGpBmApqIQcMAQsgACAAKAKQCiICQThsaiIEQZgKaiEHIANBgSBHDQAgB0EBNgIAIARBqApqIgQoAgAiA0F/RgRAIAQgASgCGCIDNgIACyAAIAJBOGxqQawKaiIEKAIAQX9GBEAgBCABKAJ4NgIACyAAKAKUogFBf0YEQCAAIAM2ApSiAQsgAEEBNgKECiABKgKQASINQwAAgD1gQQFzDQEgDUMAAPBDX0EBcw0BDAMLIAcoAgANAUEAIQMMBQsCQCAFKgIUIg1DAACAPWBBAXMNACANQwAA8ENfQQFzDQAgAC0AMEGAAXFFDQILIABBgICgjgQ2AqARQwAAyEEhDUGAgKCOBAwCCyAAKAIIQQFHDQIgAC0AMEGAAXFFDQIgACACQYQJbGoiBEHIEWogASgCfCIDBH8gAwUgACACQYQJbGpByBFqLwEACzsBACAEQcoRaiABKAKAASICBH8gAgUgBEHKEWovAQALOwEAIARB0BFqIQICQCABKgKQASINQwAAgD1gQQFzDQAgDUMAAPBDX0EBcw0AIAIgDTgCAAwDCyACQYCAoI4ENgIADAILIAAgDTgCoBEgDbwLIQwgAAJ/QSggDbtE/Knx0k1iUD9jDQAaQwAAekQgDZUiDUMAAIBPXSANQwAAAABgcQRAIA2pDAELQQALIgc2ApwRIAACf0EAIAEoAjAiC0UNABogASgCSAsiAzYCmBEgAAJ/AkAgBS8BDg0AIAEoAoQBDQBBAAwBC0EgCyADciAFLQARQQBHQQZ0ciAFLQASQQBHQQd0ciIGNgKYEQJAIAAtADBBCHFFBEACQAJAIAUvAQgiA0UNACAFLwEKIglFDQAgACAJNgKkESAAIAM2AqgRIAAgAkGECWxqQcgRaiADOwEADAELAkAgACgCqBEiA0UNACAAKAKkESIJRQ0AIAAgAkGECWxqQcgRaiADOwEADAELIAEoAnwiA0UEQCAAIAJBhAlsakHIEWovAQAhAwsgACACQYQJbGoiBEHIEWogAzsBACABKAKAASIJDQAgBEHKEWovAQAhCQsgACACQYQJbGpByhFqIAk7AQAgASgCICIERQ0BIAEoArwBQQJGBEAgACACQYQJbGoiA0HIEWogAUHICWooAgA7AQAgA0HKEWogAUHMCWooAgA7AQAMAgsgACACQYQJbGpByBFqIAMgBGwiAzsBACABQcwJaiAJQf//A3E2AgAgAUHICWogA0H//wNxNgIADAELAkAgASgCfCIERQ0AIAEoAoABRQ0AIAAgAkGECWxqIgNByBFqIAQ7AQAgA0HKEWogASgCgAE7AQAMAQsgACACQYQJbGoiBEHIEWogBS8BCCIDBH8gAwUgACACQYQJbGpByBFqLwEACzsBACAEQcoRaiAFLwEKIgMEfyADBSAEQcoRai8BAAs7AQALIAAgAkGECWxqIgRB0BFqIAw2AgAgBS8BICEDIARB1BFqIAc2AgAgBEHgEWogAzYCACAEQcwRaiAGNgIAIAsEQCAEQegRaiABKAKUATYCACAEQfARaiABKAKkATsBACAEQfIRaiABKAKoATsBACAEQewRaiABKAKcATsBACAEQe4RaiABKAKgATsBAAsgBEH0EWohAwJAIAUvASIEQCADQQE2AgAgACACQYQJbGoiAkH4EWogBS8BJDsBACACQfoRaiAFLwEmOwEAIAJB/BFqIAUvASg7AQAgAkH+EWogBS8BKjsBAAwBCyADQgA3AgAgA0EANgIICyAAIAUvAQggBS8BCiAFKgIUIAEQyAUiAw0BIAEoAhxFDQAgACoCoBEiDUMAAIA/X0EBc0UEQCAAQQI2ApyjAQwBCwJAIA1DAAAgQV1BAXMNACANQwAAgD9eQQFzDQAgDUMAAKBAlCINQwAAgE9dIA1DAAAAAGBxBEAgACANqTYCnKMBDAILIABBADYCnKMBDAELIA0gDZIiDUMAAIBPXSANQwAAAABgcQRAIAAgDak2ApyjAQwBCyAAQQA2ApyjAQsgACAAKAKUCiABIAAgACgCkApBOGxqQZgKahDHBSIDDQAgACAKIAggARDGBQJAAkACQCABKAIwBEAgACgCCCEDDAELIAAoAgghAyAALQAwQYABcUUNASADQX9qQQFLDQELIAAgACgCkAoiB0E4bGoiBEG4CmogASgCeCIGNgIAIAAgB0GECWxqIgJBuBFqIAY2AgAgAkG0EWogBiAEQawKaigCAGs2AgAMAQsCQAJAIANBe2oiAkECSwRAIANBgYACRw0BDAILIAJBAWsNAQsgACAAKAKQCiIHQYQJbGoiBkG4EWogACAHQThsaiIEQbgKaiICKAIAIgs2AgAgBkG0EWogCyAEQawKaigCAGs2AgAgAiALQQFqNgIADAELIAAgACgCkAoiB0E4bGoiBEG4CmogASgCeCIGNgIAIAAgB0GECWxqIgJBuBFqIAY2AgAgAkG0EWogBiAEQawKaigCAGs2AgALIAAgB0GECWxqIgZBsBFqIAEoAiQ2AgAgACAHQThsaiIEQbAKaiABKAIYIgI2AgAgBkHAEWogAjYCAAJ/AkACQCADQQJHDQAgAiAEQagKaigCACIDRg0AIAAoApAKIQcCfyACIANLIAIgA2siBEGAgICAeEYNABogAiADRyAEQX9KcQtFDQEgACAHQThsakGwCmooAgAhAgsgAiAAIAdBOGxqQagKaigCACIJawwBCyAAIAdBOGxqIgNBsApqKAIA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NgIAIABB0ApqQQE2AgALIAIgASACKAIAKAIUEQAAIgJFBEBBAA8LIAAoAiwiAUUNACABIAEoAgAoAgQRBQAgAEEANgIsCyAAKAK0ogEiAQRAIAEQKCAAQQA2ArSiAQsgACgC0KIBIgFFDQAgARAoIABBADYC0KIBCyACC48CACAAQgA3AgAgAEIANwKUowEgAEEANgIwIABCADcChAogAEIANwKYESAAQgA3AvSiASAAQjI3ApyjASAAQoCAgIBwNwKkowEgAEKAgICAcDcCkKIBIABBjApqQgA3AgAgAEGUCmpBADYCACAAQaARakIANwIAIABBqBFqQQA2AgAgAEH8ogFqQgA3AgAgAEGYCmpBAEGABxArGiAAQTRqQQBB0AkQKxogAEGMowFqQgA3AgAgAEIANwKEowEgAEIANwIIIABCADcCECAAQgA3AhggAEIANwIgIABCADcCKCAAQawRakEAQeSQARArGiAAQZiiAWpBAEHcABArGiAAQayjAWpBAEGYBhArGiAAC3QAIAFBAksEQEGBgICAeA8LAkACQAJAIAFBAWsOAgEAAgsgAEEANgKMASAAQQA2AnQgAEEANgJoCyAAQgA3ArgBIABCADcC6AEgAEIANwLgASAAQgA3AtgBIABCADcC0AEgAEIANwLIASAAQgA3AsABC0EAC0UBAX8gACgCTCIBBEAgARAoIABBADYCTAsgACgCcCIBBEAgARAoIABCADcCbAsgACgCfCIBBEAgARAoIABCADcCeAtBAAvCBwECfyABRQRAQYGAgIB4DwsgAUEAQdAJECshAQJAIAAoApABDQAgACgClAENACAAKAKMAQ0AQYeAgIB4DwsCQCAALQAIQQFxBEAgASAAKAJ8NgIAIAEgACgCdDYCBCABIAAoAnA2AgggASAAKAJoNgIMDAELIAEgACgCcDYCACABIAAoAmg2AgQLIAFBADYCICABQQE2AjAgASAAKAKkATYCHCAAKAKMAQRAIAAoArgBIQIgAUHgATYCJCABIAI2AhAgASAAKAK8ASICNgIYIAEgAjYCFCABIAAoAvgCNgKoASABIAApAvACNwKgASABIAApAugCNwKYASABIAApAuACNwKQASABIAApAtgCNwKIASABIAApAtACNwKAASABIAApAsgCNwJ4IAEgACgCxAI2AnQgASAAKQK8AjcCbCABIAApArQCNwJkIAEgACkCrAI3AlwgASAAKQKkAjcCVCABIAApApwCNwJMIAEgACkClAI3AkQgASAAKQKMAjcCPCAAKAKcAUEBRgRAIAEgASgCSEEgcjYCSAsgAEEANgJ0IABBADYCaCAAQQA2AowBCyAAKAKQAQRAIAEgACgC1AE2AhAgACgC2AEhAiABQcABNgIkIAEgAjYCFCABIAI2AhggASAAKAL4AjYCqAEgASAAKQLwAjcCoAEgASAAKQLoAjcCmAEgASAAKQLgAjcCkAEgASAAKQLYAjcCiAEgASAAKQLQAjcCgAEgASAAKQLIAjcCeCABIAApAowCNwI8IAEgACkClAI3AkQgASAAKQKcAjcCTCABIAApAqQCNwJUIAEgACkCrAI3AlwgASAAKQK0AjcCZCABIAApArwCNwJsIAEgACgCxAI2AnQgAEEANgKQASAAQQA2AnQgAEEANgJoCyAAKAKUAQRAIAEgACgC8AE2AhAgASAAKAL0ASICNgIUIAAoAvgBIQMgASACNgIYIAEgAzYCJCABIAAoAvgCNgKoASABIAApAvACNwKgASABIAApAugCNwKYASABIAApAuACNwKQASABIAApAtgCNwKIASABIAApAtACNwKAASABIAApAsgCNwJ4IAEgACkCjAI3AjwgASAAKQKUAjcCRCABIAApApwCNwJMIAEgACkCpAI3AlQgASAAKQKsAjcCXCABIAApArQCNwJkIAEgACkCvAI3AmwgASAAKALEAjYCdCAAQQA2ApQBIABBADYCdCAAQQA2AmgLIAAoApgBRQRAQQAPCyAAQQA2AmggAEIANwKUASAAQgA3AowBQQALqQQBCX8gAUUEQEGBgICAeA8LAkAgACABELECIgINACABKAIQIghFBEBBgYCAgHgPC0GBgICAeCECIAEoAhQiBkEASA0AIAEoAgQhCSAAKAJwIQQCQCAAKAJoIgIgBmoiBSAAKAJsTQRAIAQhAwwBCwJAIARFBEAgACAFQYCAICAFQYCAIEsbIgVBgEBrIgQQLCIDNgJwIANBrAEgBBArGgwBCyAFQYBAayIHECwiAyACakGsAUEAIAcgAmsiCiAKIAdLGxArGiADIAQgAhApIQIgBBAoIAAgAjYCcCAAKAJoIQILIAAgBTYCbAsgAiADaiAIIAYQKRoCQCAJ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ASADNgIIIAAgAhDpBSIFDQELIAshBQsgBQscACAAIAI2AsAVIAAgAzYCvBUgACABNgK4FUEAC54BACABQQJLBEBBgYCAgHgPCwJAAkACQCABQQFrDgIAAQILIABCgICAgHA3AtALQQAPCyAAQQA2ApQLIABCADcCjAsgAEEANgLwCiAAQQA2AugKIABCADcC4AsgAEF/NgLUCyAAQgA3AswLIABCADcCuAsgAEEANgKECyAAQegLakIANwIAIABB8AtqQgA3AgAgAEH4C2pBADYCAAtBAAsIACAAEHdBAAugCAECfyABRQRAQYGAgIB4DwsgAUEAQdAJECshAQJAIAAoApALDQAgACgClAsNACAAKAKgCyAAKAKMC3INAEGHgICAeA8LAkAgAC0ACEEBcQRAIAEgACgC7Ao2AgAgASAAKALwCiICIAAoAtwLIgNBACACIANLG2s2AgQgASAAKALgCjYCCCABIAAoAugKNgIMDAELAkAgACgCyApFDQAgACgCjAtFDQAgASAAKAK0BzYCACABIAAoArgHNgIEIAEgACgCkAE2AiggAEHoFGogAC8BggE2AgAgAEHkFGogAC8BgAE2AgAgAEGAFWogAC8BhAE2AgAgAEH4FGoqAgBDAAAAAFsEQCAAIAAoAowBNgL4FAsgAEHsFGogAC8BhgE2AgAgAC0AigFFDQEgAUGAATYCSAwBCyABIAAoAuAKNgIAIAEgACgC6Ao2AgQLIAEgACgC4AsQRTYCECABIABB6AtqKAIANgIkIAEgAEHkC2ooAgAiAjYCFCABIAJBLW42AhggASAAKAKsCzYCHCABIAAoAqQLNgIwAkAgACgCtAtFBEAgAUEANgIgDAELIAEgAEG7DGotAAA2AiAgAUG8AWogAEHEDGpBlAgQKRoLAkAgACgCyApFDQAgACgCjAtFDQAgACgC2AoiAiAAKALUCkYNACABIAI2AhggASACQS1sNgIUCyABIAAoAogLNgI0IAEgAEG0DGooAgA2AnQgASAAQawMaikCADcCbCABIABBpAxqKQIANwJkIAEgAEGcDGopAgA3AlwgASAAQZQMaikCADcCVCABIABBjAxqKQIANwJMIAEgAEGEDGopAgA3AkQgASAAKQL8CzcCPAJAIAAoAowLBEAgASAAKQLgFDcCeCABIABBkBVqKAIANgKoASAB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AuwKIABCADcC3AogAEEANgJAIABCADcC3BUgAEEANgJ8IABBATYC1BUgAEIANwIYIABCADcCICAAQgA3AiggAEIANwIwIABCADcCOCAAQcwVakIANwIAIABCADcCxBUgAEG0B2pBAEGQAxArGiAAQgA3AogBIABCADcCgAEgAEGoFmpBAEGAAhArGiAAQZwWakIANwIAIABBlBZqQgA3AgAgAEGMFmpCADcCACAAQYQWakIANwIAIABB/BVqQgA3AgAgAEH0FWpCADcCACAAQewVakIANwIAIABCADcC5BUgAEIANwJEIABCADcCTCAAQgA3AlQgAEIANwJcIABCADcCZCAAQgA3AmwgAEIANwJ0IABB4AtqQQBB+AgQKxogAEHgFGpBAEHYABArGgscACAAIAI2AvgCIAAgAzYC9AIgACABNgLwAkEAC4EBACABQQJLBEBBgYCAgHgPCwJAAkACQCABQQFrDgIAAQILIABCgICAgHA3AsQBQQAPCyAAIAAoAswIQQJ0akEANgKMBCAAQQA2AqQBIABCADcCnAEgAEEANgKAASAAQoCAgIBwNwLEASAAQQA2ApQBIABBzARqQQBBwAMQKxoLQQALCAAgABB4QQALgQ0BAn8gAUUEQEGBgICAeA8LIAFBAEHQCRArIQECQCAAKAKgAQ0AIAAoAqQBDQAgACgCqAEgACgCnAFyDQBBh4CAgHgPCyABIAAoArQBNgIcIAEgACgCrAE2AjAgASAAKAKMAjYCdCABIAApAoQCNwJsIAEgACkC/AE3AmQgASAAKQL0ATcCXCABIAApAuwBNwJUIAEgACkC5AE3AkwgASAAKQLcATcCRCABIAApAtQBNwI8AkAgACgCnAEEQAJAIAAoAswSBEAgASAAKAK4DzYCACABIABBvA9qKAIANgIEIAEgAEGUCWooAgA2AiggACAAQYYJai8BADYCoAIgACAALwGECTYCnAIgACAAQYgJai8BADYCuAIgACoCsAJDAAAAAFsEQCAAIABBkAlqKAIANgKwAgsgACAAQYoJai8BADYCpAIgAEGOCWotAABFDQEgASABKAJIQYABcjYCSAwBCyAALQAIQQFxBEAgASAAKAJ8NgIAIAEgACgCgAEiAiAAKALQASIDQQAgAiADSxtrNgIEIAEgACAAKALMCEECdGooAowDNgIIIAEgACAAKALMCEECdGooAowENgIMDAELIAEgACAAKALMCEECdGooAowDNgIAIAEgACAAKALMCEECdGooAowENgIECyABIAAgACgCzAhBHGxqIgIoAswEEEU2AhAgASACKALUBDYCJCABIAIoAtAEIgI2AhQgASACQS1uNgIYIAEgACgC0AE2AiwgACgCtAEEQCABIAAoAswBNgKYAQsgACgCwAFBAUYEQCABIAEoAkhBIHI2AkgLIAEgACkCmAI3AnggASAAKALIAjYCqAEgASAAKQLAAjcCoAEgASAAKQK4AjcCmAEgASAAKQKwAjcCkAEgASAAKQKoAjcCiAEgASAAKQKgAjcCgAEgACgCrAEEQCABIAEoAng2AngMAgsgACAAKAKUAiICQQFqNgKUAiABIAI2AngMAQsgAQJ/AkAgACgCpAEEQAJAIAAtAAhBAXEEQCABIAAoAnw2AgAgASAAKAKAASICIAAoAtABIgNBACACIANLG2s2AgQgASAAIAAoAswIQQJ0aigCjAM2AgggASAAIAAoAswIQQJ0aigCjAQ2AgwMAQsgAQJ/IABB2AhqIAAoAtQIQQFGDQAaIAAgACgCzAhBAnRqQYwDagsoAgA2AgAgAQJ/IABB3AhqIAAoAtQIQQFGDQAaIAAgACgCzAhBAnRqQYwEagsoAgA2AgQLIAAoAtQIQQFGBEAgAEEANgLcCAwCCyAAIAAoAswIQQJ0akEANgKMBCAAKALUCEEBRg0BIAEgACAAKALMCEEcbGoiAigCzAQQRTYCECABIAIoAtQENgIkIAIoAtAEDAILIAAoAqABBEACQCAALQAIQQFxBEAgASAAKAJ8NgIAIAEgACgCgAEiAiAAKALQASIDQQAgAiADSxtrNgIEIAEgACAAKALMCEECdGooAowDNgIIIAEgACAAKALMCEECdGooAowENgIMDAELIAECfyAAQdgIaiAAKALUCEEBRg0AGiAAIAAoAswIQQJ0akGMA2oLKAIANgIAIAECfyAAQdwIaiAAKALUCEEBRg0AGiAAIAAoAswIQQJ0akGMBGoLKAIANgIECwJ/IAAoAtQIQQFHBEAgASAAIAAoAswIIgNBHGxqIgIoAswEEEU2AhAgASACKALUBDYCJCABIAIoAtAEIgI2AhQgASACQS1uNgIYIAAgA0ECdGpBjARqDAELIAEgACgC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a2o2AmQgAiAERw0BCwsgACgCbCECIAMgAEHoAEHsACAAKAKQARtqKAIANgIAQYKAgIB4IAEgAiAERhshBAsgBAtqAQF/AkAgAUUEQEGBgICAeCECDAELIAAQeEGFgICAeCECIAEoAgRBA0cNACAAQQM2AgQgACABKAIINgIMIAAgASgCDDYCECAAIAEoAhBBAEc2AhQgACABKAIAIAAoAgAoAhQRAAAPCyACCwYAQajICgstAQF/IwBBEGsiACQAIABBmwg2AgxByBcgACgCDEEBQQBB/wEQAyAAQRBqJAALEwAgAEG89Ag2AgAgABB4IAAQKAsRACAAQbz0CDYCACAAEHggAAv8AgAgAEIANwLIEiAAQQE2AogBIABBvPQINgIAIABBADYC1AggAEEANgL4AiAAQQA2ApACIABCADcCzAEgAEIANwKAASAAQgA3AgQgAEIANwKMASAAQgA3AgwgAEEANgIUIABCADcClAEgAEIANwKcASAAQgA3AqQBIABCADcCrAEgAEIANwK0ASAAQgA3ArwBIABBADYCxAEgAEIANwLQEiAAQgA3AswIIABBfzYCyAEgAEEANgKMAiAAQgA3AoQCIABCADcC/AEgAEIANwL0ASAAQgA3AuwBIABCADcC5AEgAEIANwLcASAAQgA3AtQBIABBuA9qQQBBkAMQKxogAEEYakEAQegAECsaIABBlAJqQQBB5AAQKxogAEH8AmpBAEGgBRArGiAAQZAJakEANgIAIABBiAlqQgA3AgAgAEGACWpCADcCACAAQfgIakIANwIAIABB8AhqQgA3AgAgAEHoCGpCADcCACAAQeAIakIANwIAIABCADcC2AgLwwIBBX9BgYCAgHghBQJAIABFDQAgAUUNACAAIAEoAhAiAjYCAEEBIQUgAiABKAIMSw0AIAAgASkCkAU3AgQgACABKALIBTYCPCAAIAEpAsAFNwI0IAAgASkCuAU3AiwgACABKQKwBTcCJCAAIAEpAqgFNwIcIAAgASkCoAU3AhQgACABKQKYBTcCDCABKAIQRQRAQQAPC0EAIQUDQCAAIARBzABsaiICQUBrIARB3ABsIgYgASgCCGoiAygCADYCACACIAMoAgQ2AkQgAiADKQIYNwJIIAIgAykCIDcCUCACIAMpAig3AlggAiADKQIwNwJgIAIgAykCODcCaCACIANBQGspAgA3AnAgAiADKAJINgJ4IAIgASgCCCAGaiIDKQJMNwJ8IAIgAykCVDcChAEgBEEBaiIEIAEoAhBJDQALCyAFC6kCAQR/IAAoAgAhBCAAKAIEIQMgAUEANgL8BCABQgA3ArQEIABBADYCDCAAAn8gA0G8AUkEQEEADAELA0ACQCAEIAEQkQYiAkF+cUGCgICAeEYEQEEBIQUgBEEBaiIEIANBf2oiAxCSBiICQX9HDQEgAEEANgIQIABBvAE2AgggACABKAK4BDYCFEEBDwsgASgCAA0AIAAgA0HEfmo2AgggACABKAL8BDYCECAAIAEoArgENgIUAkAgASgCtAQiASAAKAIAIgJNDQAgASACIAAoAgRqTw0AIAAgASACazYCDAsgBUEARw8LIAQgAkG8ASACG2ohBEEAIAJrQcR+IAIbIANqIgNBuwFLDQALIAEoArgECzYCFCAAQQA2AhAgACADNgIIIAVBAEcLqgIBBX8gACgCBCECIAAoAgAhAyABQgA3ArQEIAFBADYC/AQgAEEANgIMIAACfwNAAkACQCADIAIgARCVBiIEQf////8HaiIGQQJNBEACQAJAIAZBAWsOAgEABAtBASEFCyADQQFqIgMgAkF/aiICEJYGIgRBf0cNASAAQQA2AhAgAEEDNgIIIAAgASgCuAQ2AhQgACgCBEF9agwECyABKAIADQAgACACIARrNgIIIAAgASgC/AQ2AhAgACABKAK4BDYCFEF/IAEoArQEIgEgACgCACIDSQ0DGiABIANrQX8gASADIAAoAgRqSRsMAwsgAiAEayECIAMgBGohAwwBCwsgAEEANgIQIAAgAjYCCCAAIAEoArgENgIUIAAoAgQgAmsLNgIMIAVBAEcLGwAgACABKAIIIAUQQwRAIAEgAiADIAQQywELC58HAQd/QbwBIQNBhICAgHghAgJAAkAgAEUNACABRQ0AAkACQCAALQAAQbl/aiICQQJLDQACQCACQQFrDgIBAAILIAAtAAFBzQBHDQAgAC0AAkHLAEcNAEGCgICAeCECIAAtAANByABGDQILIAEgASgCuARBwAByNgK4BEGCgICAeA8LIAAtAANBBHZBA3FBf2oiAkECSwRAQQAPCyAALQABIQUgAC0AAiEIIAAhBAJAAkACQCACQQFrDgICAQALQbgBIQMgAEEEaiEE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AXFFDQILIAFBADsBNCAGIAEgAiADIAQgBRDJASABLQA1IgogB3IhByABLQA0IgsgCHIhCCAGQQhqIgYgCUkNAAsLIAEgB0H/AXFBAEc6ADUgASAIQf8BcUEARzoANAsIACAAEHpBAAsmAQF/QYGAgIB4IQIgAUH/AU0EfyAAIAE2ApQJQQAFQYGAgIB4CwuyCAICfwF8IAFFBEBBgYCAgHgPCyABQQBB0AkQKyEBAkAgACgC0AsNACAAKALUCw0AIAAoAswLDQBBh4CAgHgPCyABIAAoApQMNgIcIAEgACgC9AsEfyAAQe8Mai0AAAVBAAs2AiAgASAAKALwCzYCMCABIABBxBVqKAIANgJ0IAEgAEG8FWopAgA3AmwgASAAQbQVaikCADcCZCABIABBrBVqKQIANwJcIAEgAEGkFWopAgA3AlQgASAAQZwVaikCADcCTCABIABBlBVqKQIANwJEIAEgACkCjBU3AjwgACgC9AsEQCABQbwBaiAAQfgMakGUCBApGgsgACgCzAsEQAJAIAAtAJQJQQFxBEAgASAAKAK4CzYCACABIAAoAsALNgIEIAEgACgClAs2AgggASAAKAKsCzYCDAwBCyABIAAoApQLNgIAIAEgACgCrAs2AgQLIAEgACgCmAw2AhAgASAAQaAMaigCADYCJCABIABBnAxqKAIAIgI2AhQgASACQdoAbjYCGCABIAAoAuQLNgI0IAEgAEH4FWooAgA2AqgBIAEgAEHwFWopAgA3AqABIAEgAEHoFWopAgA3ApgBIAEgAEHgFWopAgA3ApABIAEgAEHYFWopAgA3AogBIAEgAEHQFWopAgA3AoABIAEgACkCyBU3AnggACgClAwEQCABIAAoAogMNgKYAQsgACAAKAKMDCICQQFqNgKMDCABIAI2AnggAEEANgLkCyAAQQA2AswLIABBADYCwAsgAEEANgKsCwsgACgC0AsEQAJAIAAtAJQJQQFxBEAgASAAKAK4CzYCACABIAAoAsALNgIEIAEgACgCmAs2AgggASAAKAKwCzYCDAwBCyABIAAoApgLNgIAIAEgACgCsAs2AgQLIAEgACgCtAwiAjYCECABIABBuAxqKAIAIgM2AhQgASAAQbwMaigCADYCJCABAn8gA7ggAiAAQYQWaiIDKAIAEOgCoyIERAAAAAAAAPBBYyAERAAA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AEGCAkkNACAAQaYJai8BACIEQYACR0EAIARBBUcbDQAgAEG0CWotAABBAXFFDQAgAEEBNgKEFwsgAEEBNgKYCSACQShBLCAGGyIEayECIAEgBGohAQsgACgCxAlFBEAgABC/AiIEDQELIAAgATYCgAtBACEBIABBkAtqQQA2AgAgAEGIC2ogAjYCACAAQYQLaiACNgIAAkACQCACQQxJDQAgAEGAC2ohBiAAQawWaiEFA0AgBiAAKALECRDAAiEBAkAgACgCoBYiB0UNACAAKAKMCyIEQQFxBEAgAEGBgpAINgKsFiAFIAAoAqQWIAcRBAALIARBAnEEQCAAQYCCkAg2AqwWIAUgACgCpBYgACgCoBYRBAALIARBBHFFDQAgAEGHgPwPNgKsFiAFIAAoAqQWIAAoAqAWEQQACyABQQBIBEBBhoCAgHghAQwCCwJAIAAtAJQJQQFxBEAgACAGEKgGIgENA0EAIQEgACgC0AsNAyAAKALUCw0DIAAoAswLRQ0BDAMLIAAoApALIgRFDQAgACAEEL4CIgENAkEAIQEgACgC0AsNAiAAKALUCw0CIAAoAswLDQILIABBADYCkAsgACgChAshByAAIAAoAogLIgQ2AoQLIAAgACgCgAsgByAEa2o2AoALIAIgBEYNASAEIgJBDE8NAAsMAQsgAiEECwJAIAAoAoAXBEBBACEEIAAoAtALDQEgACgC1AsNAUEAQYKAgIB4IAAoAswLGyEEDAELQYKAgIB4IAEgBCAAKAKIC0YbIQQLIAMgAEGEC0GICyAAKALICxtqKAIANgIACyAEC6EBAQJ/AkAgAUUNACAAEHogASgCECICQRBLDQAgASgCmAEiA0GACEsNACADBEAgASgCnAFFDQEgACADNgKIASAAQYwBaiABKAKcASADECkaIAEoAhAhAgsgACACNgIEIAAgASgCFDYCxAsgACABKAKgATYCgBcgAEEIaiABQRhqIAJBA3QQKRogACABKAIAIAAoAgAoAhQRAAAPC0GBgICAeAsTACAAQbzzCDYCACAAEHogABAoCxEAIABBvPMINgIAIAAQeiAAC+4CACAAQQA2AvwLIABCADcC9AsgAEG88wg2AgAgAEIANwLICyAAQgA3AuwLIABCgICAgBA3ArwWIABBADYCxAsgAEIANwKAFyAAQQA2AsgWIABCgICAgBA3AuQLIABCADcCjAkgAEEANgIEIABBADYCiAEgAEIANwKUCSAAQQA2ApAMIABB0AtqQgA3AgAgAEHYC2pCADcCACAAQeALakEANgIAIABBADYClAwgAEIANwKADCAAQbALakIANwIAIABBqAtqQgA3AgAgAEIANwKgCyAAQoCAgIAQNwKIDCAAQgA3ArwLIABBADYCuAsgAEEIakEAQYABECsaIABBjAFqQQBBgAgQKxogAEGcCWpBAEGEAhArGiAAQZgMakEAQaQKECsaIABB/BZqQQA2AgAgAEH0FmpCADcCACAAQewWakIANwIAIABB5BZqQgA3AgAgAEHcFmpCADcCACAAQdQWakIANwIAIABCADcCzBYLuwIBB39BgYCAgHghAwJAIABFDQAgAUUNACAAKAIIIgJFDQBBACEDIAJBACAAKAIMECsaIAAoAggiBCAAKAIANgIAIAAoAgQhAiAEIARB+IIBaiIFNgIIIAQgAjYCBCAAKAKwASECIARBADYCECAEIAI2AgwgBCAAKAK0ATYCIAJAIAIEQANAIAUgA0HQAGxqIgYgACADQQN0aiIHKAIQIgg2AgAgBiAHKAIUNgIEIANBAWoiAyACRw0ACyAIQb/7AkYNAQsgBSACQdAAbGpCv/uCgIAONwIAIAQgAkEBaiICNgIMIAAgAjYCsAELAkAgAkUNAEEAIQMDQCAAIANBA3RqKAIQQceKwdIERwRAIANBAWoiAyACSQ0BDAILCyAEIAUgAkHQAGxqNgLIAQsgASAENgIAQQAhAwsgAwuIAgAgACABKAIIIAQQQwRAAkAgASgCBCACRw0AIAEoAhxBAUYNACABIAM2AhwLDwsCQCAAIAEoAgAgBBBDBEACQCACIAEoAhBHBEAgASgCFCACRw0BCyADQQFHDQIgAUEBNgIgDwsgASADNgIgAkAgASgCLEEERg0AIAFBADsBNCAAKAIIIgAgASACIAJBASAEIAAoAgAoAhQRCgAgAS0ANQRAIAFBAzYCLCABLQA0RQ0BDAMLIAFBBDYCLAsgASACNgIUIAEgASgCKEEBajYCKCABKAIkQQFHDQEgASgCGEECRw0BIAFBAToANg8LIAAoAggiACABIAIgAyAEIAAoAgAoAhgRCwALC2QBA39BgYCAgHghAgJAIABFDQAgACgCsAEiA0EUSw0AIABB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BkEBSyIFRQRAIAFBjMsAakIANwIAIAFBhMsAakIANwIAIAFB3PQAakIANwIAIAFB5PQAakIANwIAIAFBtJ4BakIANwIAIAFBvJ4BakIANwIAIAFBjMgBakIANwIAIAFBlMgBakIANwIACyAFDQAgBkEBawRAIAEgACgCDBDHAiIFDQNBACEGDAILIAEgACgCFBDGAiIFDQJBACEGDAELQX8hBUEAIQYCQCABIAEoArghIAEoAgwgAUHIIWoiCCAHEFkNACAIKAIAQX9GDQAgAUG4IWohBiADQeXIpbMHNgIAIAQgASgCDDYCACACIAEoArghNgIAIAFByCBqIAEoAsghIgU2AgAgASABKAIMQdgpbGpBhMsAakEBNgIAIAEoAvTJAUUNACABQQA2AvTJAQsCQCABIAFBvCFqIgcoAgAgASgCECABQcwhaiIIQQAQWQ0AIAgoAgAgBU8NACADQe7qvZsHNgIAIAQgASgCEDYCACACIAEoArwhNgIAIAFByCBqIAEoAswhIgU2AgAgASABKAIQQdgpbGpBhMsAakEBNgIAIAchBgsCQCABIAFBwCFqIgcoAgAgASgCFCABQdAhaiIIQQAQWQ0AIAgoAgAgBU8NACADQfTwlaMHNgIAIAQgASgCFDYCACACIAEoAsAhNgIAIAFByCBqIAEoAtAhIgU2AgAgASABKAIUQdgpbGpBhMsAakEBNgIAIAchBgsgASABQcQhaiIHKAIAIAEoAhggAUHUIWoiCEEAEFkNACAIKAIAIAVPDQAgA0H03KXDBjYCACAEIAEoAhg2AgAgAiABKALEITYCACABQcggaiABKALUITYCACABIAEoAhhB2ClsakGEywBqQQE2AgAgByEGCwJAAkAgAUHUIGooAgBFBEAgACgCEEUNAQsgA0HlyKWzBzYCACACIAEoArghNgIAIAQgASgCDDYCACABQcggaiABQcghaigCADYCACABIAEoArghQQFqNgK4IQwBCyAGRQRAQYaAgIB4DwsgBiAGKAIAQQFqNgIAC0EAIQULIAULuBACCn8CfiMAQRBrIgIkACACQgA3AwggAkEANgIEQYGAgIB4IQcCQCAARQ0AIAFFDQAgACgCECIDQX9qQQFNBEAgAUGMywBqQgA3AgAgAUGEywBqQgA3AgAgAUHc9ABqQgA3AgAgAUHk9ABqQgA3AgAgAUG0ngFqQgA3AgAgAUG8ngFqQgA3AgAgAUGMyAFqQgA3AgAgAUGUyAFqQgA3AgALIANBAksNAAJAAkACQCADQQFrDgIAAQILIAEgACgCDBDHAiIHRQ0BDAILIAEgACgCFBDGAiIHDQELAkACfwJAAkACQAJAAkACQCAAKAIQRQRAIAFBuCFqIQggAUG8IWohCSABQcAhaiEKIAFBxCFqIQtCfyEMQX8hBEGDgICAeCEHIAEoAuAhIgBB7eq9mwdMBEBBACEDIAAgAEUNCBogAEH03KXDBkcNCiABIAEoAsQhIAEoAhggAkEIaiACQQRqEDdFDQUMBwsgAEHu6r2bB0YNAiAAQfTwlaMHRg0DIABB5cilswdHDQlBACEDIAEgASgCuCEgASgCDCACQQhqIAJBBGoQNw0GIAIpAwgiDUJ/Ug0BDAULIAEgASgCuCEgASgCDCABQYjJAWogAUGQyQFqEDciBw0IIAEgASgCuCEgASgCDCABQcggaiABQdghahBZIgcNCCABIAFBoMkBaigCACABKAIMIAEoArghIAEoApDJARDMASIHDQggAUHwIGogASkDiMkBNwMAIAAgASgCuCEiAzYCDCAAIAEoAsggNgIUIAEgA0EBajYCuCEMBwsgASgCoMkBIQAgASgCDCEEIAghAyANIQwgAigCBAwFC0EAIQMgASABKAK8ISABKAIQIAJBCGogAkEEahA3DQMgAikDCCINQn9RDQIgASgCpMkBIQAgASgCECEEIAkhAyANIQwgAigCBAwEC0EAIQMgASABKALAISABKAIUIAJBCGogAkEEahA3DQIgAikDCCINQn9RDQEgASgCqMkBIQAgASgCFCEEIAohAyANIQwgAigCBAwDCyACKQMIIg1Cf1ENACABKAKsyQEhACABKAIYIQQgCyEDIA0hDCACKAIEDAILC0EAIQBBAAshBgJAIAFBuMsAaigCACIFQe3qvZsHTARAIAVFDQEgBUH03KXDBkcNAyABIAEoAsQhIAEoAhggAkEIaiACQQRqEDcNASACKQMIIg0gDFoNASABKAKsyQEhACABKAIYIQQgAigCBCEGIAshAyANIQwMAQsgBUHu6r2bB0cEQCAFQfTwlaMHRwRAIAVB5cilswdHDQQgASABKAK4ISABKAIMIAJBCGogAkEEahA3DQIgAikDCCIN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AWs2AghBAg8LIAcoAgAhACABIAIgA2o2AtjIASABQQE2AuzIASABQYTJAWogAEEIdEGAgPwHcSAAQRh0ciAAQQh2QYD+A3EgAEEYdnJyIgA2AgAgASAANgLcyAELAkAgAUHwyAFqKAIABEAgASgC4MgBIQIMAQtBgYCAgHghAiABKAIwIgNFDQFBh4CAgHghAiABKALUyAEiBSABKALYyAEiAEkNASADIAEoAuDIASICaiEDIAEoAtDIASAAaiEEIAUgAGsiACABQYTJAWooAgAgAmsiAkkEQCADIAQgABApGiABIAEoAtjIASAAajYC2MgBIAEgASgC4MgBIABqNgLgyAFBAg8LIAMgBCACECkaIAFBATYC8MgBIAEgASgC2MgBIAJqNgLYyAEgASABKALgyAEgAmoiAjYC4MgBCyABIAEoAjBBCGogAkF4ahDMAiICDQAgARDNAiICDQAgAUEBNgLoyAFBACECIAFBADYC4MgBCyACC7UHAQd/IABFBEBBgYCAgHgPCyABRQRAQYGAgIB4DwsCQAJAIAFBtMkBaigCAEUEQCABKALQyAEiBkUEQEGBgICAeA8LQYeAgIB4IQMgASgC1MgBIgUgASgC2MgBIgRJDQEgBSAEayECIAUgBEEIakkEQCAAIAI2AghBAg8LIAJBeGohAyAEIAZqIQZBACECAkADQCACIAZqIgcoAgRB7d69swZGDQEgAkEBaiICIANNDQALDAMLIAcoAgAhAyABIAIgBGo2AtjIASABQQE2ArTJASABQejJAWogA0EIdEGAgPwHcSADQRh0ciADQQh2QYD+A3EgA0EYdnJyIgI2AgAgASACNgLcyAELIAFBuMkBaigCAEUEQCABKAIwIgRFBEBBgYCAgHgPC0GHgICAeCEDIAEoAtTIASIGIAEoAtjIASICSQ0BIAQgASgC4MgBIgNqIQQgASgC0MgBIAJqIQUgBiACayICIAFB6MkBaigCACADayIDSQRAIAQgBSACECkaIAEgASgC2MgBIAJqNgLYyAEgASABKALgyAEgAmo2AuDIAUECDwsgBCAFIAMQKRogAUEBNgK4yQEgASABKALYyAEgA2o2AtjIASABIAEoAuDIASADajYC4MgBCyABQbzJAWooAgBFBEAgASgC4MgBQXhqIgRFBEBBgYCAgHgPCyABKAIwQQhqIQID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ASAANgIUQYWAgIB4DwsgASACNgIQIAAoApgCIQNBACECIAFBADYCOCABIAM2AhggASADNgIUIAEgACgC0AI2AnggASAAKALEArM4ApABIAEgACgCyAI2AnwgASAAKALMAjYCgAEgACgClAJBghBHDQAgAUGBIDYCmAFBAA8LIAILgwIBBH8gAUUEQEGBgICAeA8LAn9Bh4CAgHggACgC5AIiBEUNABoCQCAAKALwAiICQQFNBEAgAkEBaw0BIAFBATYCOCAAQQI2AvACQQAPCyABQQE2AjhBh4CAgHgPCwJAIAAoAugCBEAgAEHoAmohAyAAQgE3AqQCDAELIABBpAJqIQIgACgC7AIiBUUEQCACIQMMAQsgAEHsAmohAyACQQE2AgAgBUF/aiICQQFLDQAgACACQQFrBH8gAEH0AmoFIABB+AJqCygCADYCqAILIANBADYCAEGIgICAeCAAQQhqIgIgBBCABw0AGiAAKAKwAgRAIABBATYC8AILIAIgARD3BgsL+gEBAn8gAUUEQEGBgICAeA8LIABB5AJqIQMgACgC5AIiAgRAIAIQfCADQQA2AgALIAAoAowCIgIEQCACECggAEEANgKMAgsgACgClAIiAgRAIAIQKCAAQQA2ApQCC0EAIQIgAEGIAmpBAEHcABArGgJAIABBCGogAUGAAhApIgEQggdFBEAgACAAKAKQAhAsNgKMAiAAIAAoApgCECw2ApQCIAEgAxCBB0UNAQsgAygCACIBBEAgARB8IANBADYCAAsgACgCjAIiAQRAIAEQKCAAQQA2AowCC0GLgICAeCECIAAoApQCIgFFDQAgARAoIABBADYClAILIAILPwEBf0GBgICAeCECAkAgAUUNACABKAIQRQ0AIAAgASgCACAAKAIAKAIUEQAAIgINACAAIAEoAhAQ+QYPCyACC04BAX8gAEHo6wg2AgAgACgC5AIiAQRAIAEQfCAAQQA2AuQCCyAAKAKMAiIBBEAgARAoIABBADYCjAILIAAoApQCIgEEQCABECgLIAAQKAuoAgEEfyMAQUBqIgEkACAAKAIAIgJBfGooAgAhAyACQXhqKAIAIQQgAUEANgIUIAFBlBY2AhAgASAANgIMIAFBxBY2AghBACECIAFBGGpBAEEnECsaIAAgBGohAAJAIANBxBZBABBDBEAgAUEBNgI4IAMg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AiAAIAAoAowCIgMtAABBCHQgAy0AAXI2AtQCIAAgASgCbEF/ajYC2AIMAQsgACgCjAIgBCgCDCICIAEoAgAQUyACRw0BIAAgBCgCDCICNgKQAgtBACEGIAAoAqwCIgFFDQAgACgCjAIgAiAAKAKUAiABEQYACyAGC0AAIAFBAksEQEGBgICAeA8LIAFBAmtFBEAgAEIANwJgIABBADYChAEgAEIANwJoIABCADcCcCAAQQA2AngLQQALMAEBfyAAKAJEIgEEQCABECggAEEANgJECyAAKAJ8IgEEQCABECggAEIANwJ8C0EACyQBAX9BgYCAgHghAiABQWFxBH9BgYCAgHgFIAAgATYCBEEACwuDBQEEfyABRQRAQYGAgIB4DwsgAUEAQdAJECshAQJAIAAoApABIgMNACAAKAKMAQ0AIAAoApQBDQBBh4CAgHgPCwJAAkAgACgCYCIEQXlqIgVBA0sEQEG/+wIhAiAEQb/7AkYNAgwBC0GAAiECAkACQCAFQQFrDgMAAgEDC0EFIQIMAgtBgcAAIQIMAQtBACECCyABIAI2AhAgASAAKAJoNgIkIAAoAmQhAiABQQA2AjAgAUIANwIcIAEgAjYCGCABIAI2AhQgACgCjAEEfyABIAAoAnw2AgAgASAAKAKEATYCBCABQTxqQQBB8AAQKxogAEEANgKEASAAQQA2AowBIAAoApABBSADCwRAIAEgACgCfDYCACAAKAKEASECIAFBADYCdCABQgA3AmwgAUIANwJkIAFCADcCXCABQgA3AlQgAUIANwJMIAFCADcCRCABQgA3AjwgASACNgIEIAEgACkCpAE3AnggASAAKQKsATcCgAEgASAAKQK0ATcCiAEgASAAKQK8ATcCkAEgASAAKQLEATcCmAEgASAAKQLMATcCoAEgASAAKALUATYCqAEgAEEANgKEASAAQQA2ApABCyAAKAKUAUUEQEEADwsgASAAKAJ8NgIAIAAoAoQBIQIgAUEANgJ0IAFCADcCbCABQgA3AmQgAUIANwJcIAFCADcCVCABQgA3AkwgAUIANwJEIAFCADcCPCABIAI2AgQgASAAKQKkATcCeCABIAApAqwBNwKAASABIAApArQBNwKIASABIAApArwBNwKQASABIAApAsQBNwKYASABIAApAswBNwKgASABIAAoAtQBNgKoASAA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mAIiAQRAIAEQKCAAQQA2AqACIABBADYCmAILQQALswUBAX8gAUUEQEGBgICAeA8LIAFBAEHQCRArIQECQCAAKAJUDQAgACgCWA0AIAAoAlwNAEGHgICAeA8LIAEgACgClAI2AgAgASAAKAKkAjYCBCABIAAoAmQiAkEDRgR/IABBv/sCNgJkQb/7AgUgAgs2AhAgASAAKAJsNgIkIAAoAmghAiABQQA2AjAgAUIANwIcIAEgAjYCGCABIAI2AhQgACgCVARAIAEgACkCgAE3AnggASAAKAKwATYCqAEgASAAKQKoATcCoAEgASAAKQKgATcCmAEgASAAKQKYATcCkAEgASAAKQKQATcCiAEgASAAKQKIATcCgAEgASAAKAKQAjYCdCABIAApAogCNwJsIAEgACkCgAI3AmQgASAAKQL4ATcCXCABIAApAvABNwJUIAEgACkC6AE3AkwgASAAKQLgATcCRCABIAApAtgBNwI8IAAoAvgBQe0OTwRAIAFBATYCMAsgAEEANgJUIABBATYCYAsgACgCWARAIAFCADcCPCABQQA2AnQgAUIANwJsIAFCADcCZCABQgA3AlwgAUIANwJUIAFCADcCTCABQgA3AkQgASAAKQK0ATcCeCABIAApArwBNwKAASABIAApAsQBNwKIASABIAApAswBNwKQASABIAApAtQBNwKYASABIAApAtwBNwKgASABIAAoAuQBNgKoASAAQQA2AlgLIAAoAlwEQCABQgA3AjwgAUEANgJ0IAFCADcCbCABQgA3AmQgAUIANwJcIAFCADcCVCABQgA3AkwgAUIANwJEIAEgACkCzAE3AnggASAAKQLUATcCgAEgASAAKQLcATcCiAEgASAAKQLkATcCkAEgASAAKQLsATcCmAEgASAAKQL0ATcCoAEgASAAKAL8ATYCqAEgAEEANgJcCyAAQQA2AqQCQQALxwIBCH8gAUUEQA8LIABBADYCqAIgAkEDTwRAA0AgAiABLQABIAEtAABBCHRyIgdBAmoiCEkEQA8LIAAoApgCIQQCfwJAAn8gAyAHaiIFQQRqIgYgACgCoAJLBEACQCAERQRAIAAgBkGA0AAgBkGA0ABLGyIGQYBAayIEECwiBTYCmAIgBUGsASAEECsaDAELIAVBhMAAaiIJECwiBSADakGsAUEAIAkgA2siCiAKIAlL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NwMAIABB6AlqQgA3AwAgAEHgCWpCADcDACAAQdgJakIANwMAIABBADsBnAMgAEEEakEAQZQDECsaC98CAQJ/QYiAgIB4IQYCQCACRQ0AIARFDQAgBUUNACAAQQRqIQcgACgCBARAIAQgAEEIakGQAxApGiAFIABBmANqQbQGECkaIABBiApqQgA3AwAgAEGACmpCADcDACAAQfgJakIANwMAIABB8AlqQgA3AwAgAEHoCWpCADcDACAAQeAJakIANwMAIABB2AlqQgA3AwAgAEIANwPQCSAAQQA7AZwDIAdBAEGUAxArGkEADwsgAUUNACAAIAI2AtAJIABB2AlqIAM2AgAgAEHUCWogAzYCACAAKAIAIABB0AlqIgEgAEEIaiICIABBmANqIgMQ0wEiBkEASA0AIAQgAkGQAxApGiAFIANBtAYQKRogAUIANwM4IAFCADcDMCABQgA3AyggAUIANwMgIAFCADcDGCABQgA3AxAgAUIANwMIIAFCADcDACAAQQA7AZwDIAdBAEGUAxArGkEAIQYLIAYLzgIBBH8CQCABRQ0AIAJFDQAgACgC0AkiA0UNACAAQQRqIQUgACgCBARAIAEgAEEIakGQAxApGiACIABBmANqQbQGECkaIABBiApqQgA3AwAgAEGACmpCADcDACAAQfgJakIANwMAIABB8AlqQgA3AwAgAEHoCWpCADcDACAAQeAJakIANwMAIABB2AlqQgA3AwAgAEIANwPQCSAAQQA7AZwDIAVBAEGUAxArGg8LIABB1AlqKAIAIQQgACADNgLQCSAAQdgJaiAENgIAIAAoAgAgAEHQCWoiAyAAQQhqIgQgAEGYA2oiBhDTAUEASA0AIAEgBEGQAxApGiACIAZBtAYQKRogA0IANwM4IANCADcDMCADQgA3AyggA0IANwMgIANCADcDGCADQgA3AxAgA0IANwMIIANCADcDACAAQQA7AZwDIAVBAEGUAxArGgsL8AIBBH8gAkUEQEGIgICAeA8LAkAgAigCBCACKAIIayIGQX9MBEAMAQsCQAJ/IAFBfmoiBEEESwRAQYSAgIB4IQUgAUGAAkcNAiACEN0HDAELAkACQAJAAkACQCAEQQFrDgQDAAEEAgsgA0EANgIAQQAPCyACENkHDAMLIAIQ1gcMAgsgAhDUBwwBCyACEM4HCyEEQQAhBSADQQA2AgAgBEH3////B2oiB0EBTQRAIAdBAWsEQAwDCyACIAIoAgggBmo2AghBhoCAgHgPCyACIAIoAgggBGoiADYCCCABQQZLDQBBASABdEHMAHFFDQAgAyACKAIEIABrNgIACyAFDwsgAEIANwPQCSAAQYgKakIANwMAIABBgApqQgA3AwAgAEH4CWpCADcDACAAQfAJakIANwMAIABB6AlqQgA3AwAgAEHgCWpCADcDACAAQdgJakIANwMAIABBADsBnAMgAEEEakEAQZQDECsaQYaAgIB4CyABAn8gABBCQQFqIgEQLSICRQRAQQAPCyACIAAgARApC5EBAQJ/QYiAgIB4IQQCQCABRQ0AIANFDQAgACABNgLQCSAAQdQJaiACNgIAIABBmANqIQIgAEEIaiEFIABB0AlqIQEDQCAAIAAoAgAgASADEMkHIgRBAEgNASAAKAIAIAEgBSACENMBIgRBAEgNASAAKAKECkUNAAsgAEEBNgIEQQAhBCAAQfAJakEANgIACyAEC2AAIABCADcD0AkgAEGICmpCADcDACAAQYAKakIANwMAIABB+AlqQgA3AwAgAEHwCWpCADcDACAAQegJakIANwMAIABB4AlqQgA3AwAgAEHYCWpCADcDACAAQQBBqAMQKwukCQEOfyMAQdAGayIGJAACQCAARQRAQZ7pCBA+QYKAgIB4IQMMAQsgAUUEQEGe6QgQPkGCgICAeCEDDAELIAJFBEBBnukIED5BgoCAgHghAwwBCyAAKAIAIgRFBEBBnukIED5BgoCAgHghAwwBC0GJgICAeCEDIAAoAggiCCAAKAIgIgVJDQAgACgCBCAFSQ0AIAZBADYCzAYgASAEIAVqIgQ2AgACQCAIIAVrIglBAUgEQEEAIQgMAQsgCUEESQRAQQAhCAwBC0EAIQgDQCAJQX1qIQxBACEDA0ACQCADIgdBAWohAwJAIAQgB2oiBS0AAA0AIAMgBGotAAANACAEIAdqIg0tAAIiCkEBSyIODQAgCkEBa0UNASANLQADQQFGDQELIAMgDEcNAQwDCwsgB0EASA0BQQAhDAJAIAkgB2siCUEFSA0AIA4NAEEDIQMgCkEBawRAQQQhAyAFLQADQQFHDQELQQVBACADIAVqLQAAQTxxQRxGGyEMIAMhCAsgBSAIaiEHAkAgCSAIayIKQQRJIg5FBEAgCkF9aiEPQQAhAwNAIAMiBEEBaiEDAkAgBCAHaiINLQAADQAgAyAHai0AAA0AIA0tAAIiEEEBSw0AIBBBAWtFDQMgDS0AA0EBRg0DCyADIA9HDQALC0F/IQQLAkAgDEEFRgRAIARFBEAgBSEEDAQLIAZBOGpBAEGUBhArGiAGQgA3AxAgBkEANgIwIAZCADcDKCAGQgA3AyAgBkIANwMYIAZCADcDCCAGIAZBOGo2AhAgB0EBaiAGQQhqENQBQQFHDQEgAiAGKAIIOwEAIAIgBigCDDsBAiACIAYoAhAiBCgCADsBBiACIAQoAgSyOAIMDAELIARFBEAgBSEEDAMLIAUgBCAIaiAGQcwGahDVAUEBRw0AIAYoAswGIgRBAksNAAJAAkACQAJAIARBAWsOAgECAAsgAkGBIDsBBAwCCyACQYMgOwEEDAELIAJBiCA7AQQLIABBATYCNAsgDgRAIAUhBAwCCyAKQX1qIQxBACEDAkADQCADIgRBAWohAwJAIAQgB2oiCi0AAA0AIAMgB2otAAANACAKLQACIg1BAUsNACANQQFrRQ0CIAotAANBAUYNAgsgAyAMRw0ACyAFIQQMAgsgBEEASARAIAUhBAwCCyALQSBGBEBBiYCAgHghAwwDCyABIAtBDGxqIgcgBCAIaiIDNgIUIAcgBTYCGCABIAEoAgQgA2o2AgQgC0EBaiELIAMgBWohBCAJIANrIglBAUgNASAJQQNLDQALCwJAAkAgCSAIayIFQQRJDQAgBCAIaiEDIAVBfWohCUEAIQADQAJAIAAiAkEBaiEAAkAgAiADaiIHLQAADQAgACADai0AAA0AIActAAIiCkEBSw0AIApBAWtFDQEgBy0AA0EBRg0BCyAAIAlHDQEMAgsLIAJBf0oNAQsgBSECC0GJgICAeCEDIAtBH0sNACAGKALMBiEFIAEgC0EMbGoiACAENgIYIAAgBTYCECAAIAIgCGoiADYCFCABIAtBAWo2AgwgASABKAIEIABqNgIEQQAhAwsgBkHQBmokACADC7wEAQt/IwBBEGsiCSQAAkAgAEUEQEGe6QgQPkGCgICAeCEDDAELIAAoAgAiBEUEQEGe6QgQPkGCgICAeCEDDAELQYiAgIB4IQMgACgCBCICIAAoAggiAUkNACAJQX82AgwCQAJAIAIgAWsiBUEBSA0AIAVBBEkNACABIARqIQFBACEEA0AgBUF9aiEKQQAhAwNAAkAgAyICQQFqIQMCQCABIAJqIgYtAAANACABIANqLQAADQAgBi0AAiIIQQFLIgsNACAIQQFrRQ0BIAYtAANBAUYNAQsgAyAKRw0BDAMLCyACQQBIDQEgAiAHaiEDAkACQAJAAkACQCAFIAJrIgJBBUgNACALDQBBAyEBIAhBAWsEQEEEIQEgBi0AA0EBRw0BCyABIAZqLQAAQTxxQRxGDQEgASEECyACIARrIgVBBE8NAUF/IQEMAgsgACgCOEUEQCACIAFrIQUgASEEDAMLIABBADYCOAwGCyAEIAZqIQcgBUF9aiEKQQAhAgJAA0AgAiIBQQFqIQICQCABIAdqIggtAAANACACIAdqLQAADQAgCC0AAiILQQFLDQAgC0EBa0UNAiAILQADQQFGDQILIAIgCkcNAAtBfyEBDAELIAFFDQMLIAYgASAEaiAJQQxqENUBQQFHDQAgCSgCDEECSw0AIAAoAjgNAyAAQQE2AjgLIAVBAUgNASADIARqIQcgBCAGaiEBIAVBA0sNAAsLQYqAgIB4IQMMAQsgAEEANgI4CyAJQRBqJAAgAwuoBAEGfyAARQRAQZ7pCBA+QYKAgIB4DwsgAUUEQEH56AgQPkGBgICAeA8LQQghBAJAIAAoAgAiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIgVBf0oNACABIAVBGnZBD3E7AQggBUGAgIAQcQRAQRwhBCABIAAoAgEiAkEYdCIDQRx2OwEKIAEgAyACQQh0QYCAwAdxckEUdkH/AXFBAWoiBjsBDCAAKAICIgJBGHQgAkEIdEGAgMAHcXJBFHZB/wFxIQNBACECA0AgASACaiADOgAUIAAgBEEDdmooAgAiA0EYdCADQQh0QYCAwAdxckEUdkH/AXEhAyAEQQhqIQQgAkEBaiICIAZHDQALIAEgA0EBaiIGOwEOIARBBHEhB0EAIQMDQCABIANqIAAgBEEDdmooAgAiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIAd0QRh2OgCUAiAEQQhqIQQgA0EBaiIDIAZHDQALCyAFQYCAgAhxRQ0AIAEgACAEQQN2aigCACICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIgBEEHcSIFdEEYdiIGQQFqNgIQQQAhAgNAIAEgAmogACAEQQhqIgRBA3ZqKAIAIgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZyciAFdEEYdjoAlAQgAiAGRyEDIAJBAWohAiADDQALC0EBC8ACAQN/IABFBEBBnukIED5BgoCAgHgPCyABRQRAQfnoCBA+QYGAgIB4DwsgASgCCCIERQRAQfnoCBA+QYGAgIB4DwsgACgCByECIAAoAgIhAyABIAAoAgQiAEEYdCAAQQh0QYCA/AdxciAAQQh2QYCAAnFyQQ92Qf//A3FBAWo2AgQgASADQQh2QYCAAnEgA0EIdEGAgPwHcSADQRh0cnJBD3ZB//8DcUEBajYCACAEIAJBCHRBgID8B3EgAkEYdHIgAkEIdkGA/gNxIAJBGHZyciIAQRt2QQFxNgIAIABBHXYiAEEDTQRAAkACQAJAAkAgAEEBaw4DAQIDAAsgASgCCEEZNgIEQQEPCyABKAIIQR42AgRBAQ8LIAEoAghBMjYCBEEBDwsgASgCCEE8NgIEQQEPCyABKAIIQQA2AgRBAQu6BgEFf0F/IQcCQCAARQ0AIAJFDQAgA0UNACAERQ0AIAAgAWpBfWohAQNAIAAgAU8NAQNAAkAgACIFKAIAIghB////B3EhBiAAQQFqIgAgAU8NACAGQYCABEcNAQsLIAZBgIAERw0BIAhBGnZBD3EiBkF/aiIJQQNLDQALIAMgCEEfdjYCAEEBIQcgBCAIQRl2QQFxNgIAIAlBAU0EQCABIABrQQtIDQECfyAFKAIEIgBBGHQgAEEIdEGAgPwHcXIgAEEIdkGA/gNxIABBGHZyciIAQYCAgMAATwRAIABBF3ZB0N4Iai0AAAwBCyAAQYCAgARPBEAgAEEXdkHQ3ghqLQAADAELQT8gAEH//wNLIgFBBHQiA0EIciADIABBEHYgACABGyIAQYD+A3EiARsgAEEIdiAAIAEbQdDmCGotAABqQQF0awshASAGQQJGBEAgAkEANgIAQQEPCwJAAn8CfyAFQQRqIgQgAUEIaiIDQQN2aigCACIAQRh0IABBCHRBgID8B3FyIABBCHZBgP4DcSAAQRh2cnIgA0EHcXQiAEGAgIDAAE8EQCADIABBF3ZB0N4Iai0AAGoMAQsgAEGAgIAETwRAIAMgAEEXdkHQ3ghqLQAAagwBCyABIABB//8DSyIBQQR0IgNBCHIgAyAAQRB2IAAgARsiAEGA/gNxIgEbIABBCHYgACABG0HQ5ghqLQAAakEBdGtBxwBqCyIBQQN2IARqIgMoAgAiAEEYdCAAQQh0QYCA/AdxciAAQQh2QYD+A3EgAEEYdnJyIAFBB3EiBHQiAEGAgIDAAE8EQCAAQRd2QdDiCGotAAAMAQsgAEGAgIAETwRAIABBICAAQRd2QdDeCGotAABrdkF/agwBCyAAQf//A0siAUEEdCIFQQhyIAUgAEEQdiAAIAEbIgFBgP4DcSIFGyABQQh2IAEgBRtB0OYIai0AAGoiAUEBdCEFIAFBEk0EfyADLQAEQQggBGt2IAByBSAACyAFQWFqdkF/agsiAEEFSw0AAkACQCAAQQFrDgUCAAECAAELIAJBADYCAEEBDwsgAkEBNgIAQQEPCyACQQI2AgBBAQ8LIAJBADYCAAsgBwsnAQF/IwBBEGsiASQAIAEgADYCDCABKAIMIQAQ5wIgAUEQaiQAIAALvAYCDH8BfSMAQSBrIgQkAEGIgICAeCEMAkAgAEUNACABRQ0AIAJFDQBBiYCAgHghDCAAKAIAIgVFDQAgACgCCCIGIAAoAiAiA0kNACAAKAIEIANJDQAgASADIAVqIgc2AgACQAJAIAYgA2siCUEBSARAQQAhBgwBC0EAIQYDQAJAIAdBA0EEIActAAIiA0EBRhsiCmoiCy0AACIFQbYBRwRAIAVBIEcNASAEQgA3AxAgBEIANwMIAkAgA0EBRgRAIARCADcDECAEQgA3AwggBEEANgIYIAQgB0EEajYCHCAEQRhqIARBCGoQ1wENAQwGCyAEQgA3AxAgBEIANwMIIARBADYCGCAEIAtBAWo2AhwgBEEYaiAEQQhqENcBRQ0FCyACIAQoAgg7AQAgBCgCDCEDIAJBADsBBiACIAM7AQIgBCoCFCIPQwAAAABcBEAgAkMAAHpEIA+VOAIMC0EgIQgMAQsgCy0AAUEGdiIDQQNGBEBBhICAgHghDAwFCwJAAkACQCADQQFrDgIBAgALIAJBgSA7AQQgAEEBNgI0QQAhCAwCCyACQYMgOwEEQQEhCCAAQQE2AjQMAQsgAkGIIDsBBCAAQQE2AjRBAiEICyAJIAprIgNBBEgNASADQX1qIQ1BACEDA0ACQCADIgVBAWohAwJAIAUgC2oiDi0AAA0AIAMgC2otAAANACAOLQACQQFGDQELIAMgDUcNAQwDCwsgBUEASA0BIAZBIEYNAyABIAZBDGxqIgMgBzYCGCADIAg2AhAgAyAFIApqIgM2AhQgASABKAIEIANqNgIEIAZBAWohBiADIAdqIQcgCSADayIJQQBKDQALCwJAAkAgCSAKayICQQRIDQAgByAKaiEFIAJBfWohCUEAIQMDQAJAIAMiAEEBaiEDAkAgACAFaiILLQAADQAgAyAFai0AAA0AIAstAAJBAUYNAQsgAyAJRw0BDAILCyAAQX9KDQELIAIhAAsgBkEfSw0BIAEgBkEMbGoiAiAHNgIYIAIgCDYCECACIAAgCmoiADYCFCABIAZBAWo2AgwgASABKAIEIABqNgIEQQAhDAwBC0GIgICAeCEMCyAEQSBqJAAgDAvGAgEGfyAARQRAQYiAgIB4DwtBiYCAgHghAQJAIAAoAgAiA0UNACAAKAIEIgQgACgCCCICSQ0AAkAgBCACayIBQQRIDQAgAiADaiECQQAhAwNAIAFBfWohBkEAIQEDQAJAIAEiBEEBaiEBAkAgAiAEaiIFLQAADQAgASACai0AAA0AIAUtAAJBAUYNAQsgASAGRw0BDAMLCyAEQQBIDQEgAyAEaiEBAkAgBS0AAyICQdB+aiIDQQZLBEAgAkEgRw0BIAAoAjhFDQEgAEEANgI4IAEPCwJAAkAgA0EBaw4GAgICAgIAAQsgBS0ABEG/AUsNASAAKAI4RQRAIABBATYCOAwCCyAAQQA2AjggAQ8LIAAoAjhFDQAgAEEANgI4DAMLIAVBA2ohAiABQQNqIQMgBiAEayIBQQNKDQALC0GKgICAeA8LIAELkwMBC39BiICAgHghBgJAIABFDQAgAUUNACACRQ0AQYmAgIB4IQYgACgCCCIMIAAoAiAiBGsiCEEASA0AIAAoAgAiA0UNACABIAM2AgBBhICAgHghBiAIQQRIDQAgCCEHIAMgBGoiCSEFAkACQAJAA0ACQCAFLQADRQRAIAUtAAVBA3ZBB3FBf2oiA0H/AXFBA08NBiABIAw2AgQgAEEBNgI0IANBAksNBiADQQFrDgIDBAELIAdBfWpBBEkNBSAFQQNqIQogB0F6aiENQQAhA0EBIQsDQAJAIANBAWohBAJAIAsNACAEIApqLQAADQAgAyAKai0AAkEBRg0BCyAEIA1GDQcgBCAKai0AACELIAQhAwwBCwsgA0UNBSAFIANBA2oiA2ohBSAHIANrIgdBAE4NAQwFCwsgCEEHTgRAIAktAAYhACACIAktAARBBHQgCS0ABSIBQQR2cjsBACACIAAgAUEPcUEIdHI7AQILIAJBgSA7AQQMAgsgAkGDIDsBBAwBCyACQYggOwEEC0EAIQYLIAYL5QUBCX8gAEUEQEGIgICAeA8LQYmAgIB4IQICQAJAIAAoAgQiAyAAKAIIIgVrIglBAEgNACAAKAIAIgRFDQAgACgCGCECIAlBAU4EQCAEIAVqIQggAyAEaiEHIAAoAigiBSEEA0ACQCAEQQFxBEACQCACQct8aiIDQQJLDQAgAAJ/AkACQCADQQFrDgIDAQALIAEgCGotAABB8AFxQYABRg0CIARBf2oMAQsgASAIai0AAEEDcUEDRgRAQQAhBSAAQQA2AihBACEEIAJBAWohAgwECyAEQQFqQQNxCyIFNgIoIAUhBAsgAkEBaiECDAELAkAgASAIaiIGIAdPBEAgByEBDAELIAZBAWohASACQQh0IgMgBi0AAHIhAiADQYACRg0AIAEgB0YNACACQQh0IgMgBi0AAXIhAiAGQQJqIgEgB0YNACADQYACRg0AIAJBCHQiAyAGLQACciECIAZBA2oiASAHRg0AIANBgAJGDQACQCABIAdPDQADQAJAIAFBf2otAAAiBkECTwRAIAFBA2ohAQwBCyABQX5qLQAABEAgAUECaiEBDAELIAFBfWohAyABQQFqIQEgAy0AACAGQX9qckUNAgsgASAHSQ0ACwsgASAHIAEgB0kbIgFBfGooAAAiA0EYdCADQQh0QYCA/AdxciADQQh2QYD+A3EgA0EYdnJyIQILIAJB/31qIQYgASAIayEBAkAgAAJ/IARFBEBBBCAGQa8BSQ0BGgsgAkG3A0YEQCAAQQA2AiggAQ8LIAFBf2ohASACQbMDRgRAQQAgBEECRg0BGgsgAkG1A0cEQCAFIQMMAgsgBUEDSgRAIAUhAwwCCyAFQQFqCyIDNgIoCyADQQRHBEAgAyIFIQQMAQtBBCEEIAJBgH5xQYACRkEAIAZBrwFPGw0EIAMhBQsgAUEBaiIBIAlIDQALCyAAIAI2AhhBioCAgHghAgsgAg8LIABBfzYCGCAAQQA2AiggAUF9agsoAQF/IwBBEGsiACQAIABB9g02AgxB0BVBByAAKAIMEAIgAEEQaiQAC/UHARB/IwBBIGsiByQAQYiAgIB4IQoCQCAARQ0AIAFFDQAgAkUNAEGJgICAeCEKIAAoAgggACgCICIFayIDQQBIDQAgACgCACIIRQ0AIAdBADYCGCAHQgA3AxAgASAINgIAQYSAgIB4IQogA0EESQ0AIAUgCGohBSADQX1qIQkDQAJAIAQiCEEBaiEEAkAgBSAIaiILLQAADQAgBCAFai0AAA0AIAUgCGoiBi0AAiIMQQFLDQAgDEEBa0UNASAGLQADQQFGDQELIAQgCUcNAQwCCwsgCEF/Rg0AIAMgCGshDEEAIQRBACEDQQEhEQNAAn8gAyAEQf8BcQ0AGiADIAstAAENABogCy0AAkUEQEEEIAstAANBAUYNARoLQQMgAyALLQACQQFGGwsiCCALaiEJAkACQCAMIAhrIgVBBEkiDw0AIAVBfWohEEEAIQQDQAJAIAQiA0EBaiEEAkAgAyAJaiIGLQAADQAgBCAJai0AAA0AIAYtAAIiEkEBSw0AIBJBAWtFDQEgBi0AA0EBRg0BCyAEIBBHDQEMAgsLIANBf0cNAQsgBSEDCwJAIAktAABBAXZBP3EiBkFfaiIEQQFNBEAgBEEBawRAIAdBADYCDCAHQQA2AgggCSADIAdBDGogB0EIaiAHQRBqENoBDQIgAiAHKAIMOwEAIAIgBygCCDsBAgwCCyAJIAMgB0EMahDcAg0BIAIgBygCDDoACgwBCwJAIAZBCk8EQCAGQXBqQf8BcUEFSw0BCyARBEAgCSADEKYBIgNBAksNBAJAAkACQAJAIANBAWsOAgEAAgsgAiAONgIQIAJBgSA7AQQMAgsgAkGDIDsBBAwBCyACQYggOwEECyAAQQE2AjRBACERDAILIAJBAToACUEAIQoMAwtBASANIAZBIEYbIQ0LAkAgDw0AIAZBCkkNACAGQXBqQf8BcUEGSQ0AIAVBfWohD0EAIQQDQAJAIAQiA0EBaiEEAkAgAyAJaiIFLQAADQAgBCAJai0AAA0AIAUtAAIiEEEBSw0AIBBBAWtFDQEgBS0AA0EBRg0BCyAEIA9HDQEMAgsLIANBAEgNACABKAIMIgRBH0sEQEGJgICAeCEKDAMLIAEgBEEMbGoiBSAGNgIQIAUgAyAIaiIDNgIUIAEgBEEBajYCDCABIAEoAgQgA2o2AgQgDCADayEMIANBACANGyAOaiEOIAMgC2oiCy0AACEEIAghAyAGQSJHIA1BAEdxIQ0MAQsLQYmAgIB4IQogASgCDCIAQR9LDQAgASAAQQxsaiICIAY2AhAgAiAMNgIUIAEgAEEBajYCDCABIAEoAgQgDGo2AgRBACEKCyAHQSBqJAAgCgugAgIHfwJ+IABFBEBBiICAgHgPC0GJgICAeCEDAkACQCAAKAIEIAAoAggiAWsiBEEASA0AIAAoAgAiAkUNAEGKgICAeCEDIARBAUgNACABIAJqIQUgACkDECEIQQAhAQNAIAAgASAFaiIGMQAAIAgiCUIIhoQiCDcDEAJAIAlCgID8//8fg0KAgARSDQACQAJAIAlCCYinIgdBP3EiAkFgakEGSQ0AIAJBJ0YNACAHQThxQTBGDQAgAkFXakEDSw0BCyAAKAI4RQ0BIABBADYCOCABQXpqDwsgAkEKT0EAIAJBcGpBBUsbDQAgBiwAAEF/Sg0AIAAoAjgNAyAAQQE2AjgLIAFBAWoiASAERw0ACwsgAw8LIABBADYCOCABQXpqC5oDAQZ/IwBBEGsiBiQAQX8hCAJAIAFBAUgNACACRQ0AIABFDQAgA0UNAANAAkAgBEECRw0AQQIhBCAAIAdqIggtAABBA0cNACAIIAhBAWogBUF/cyABahAxIAlBAWohCSAFQQFqIQVBACEEC0EAIARBAWogACAHai0AABshBCAHQQFqIQcgBUEBaiIFIAFIDQALIAYgAEECajYCCCAALQACIQQgBkEINgIMIAZBCGogBEEBdkEHcUEBahDeAiABIAlrIQUgBkEIahBAGiAGQQhqEEBBA0YEQCAGIAYoAgxBAWo2AgwLIAIgBkEIahBANgIAIAMgBkEIahBANgIAQQAhASAFQQFIBEBBACEIDAELQQAhB0EAIQQDQAJAIAdBAkcNAEECIQcgASAJTw0AIAAgBGoiAi0AAEEDSw0AIAUgBGshAyAAIARBAWoiBGogAiADEDEgAkEDOgAAIAFBAWohASAFQQFqIQVBACEHC0EAIQhBACAHQQFqIAAgBGotAAAbIQcgBSAEQQFqIgRKDQALCyAGQRBqJAAgCAsoAQF/IwBBEGsiACQAIABB1w02AgxBqBVBBiAAKAIMEAIgAEEQaiQAC8cMARB/IwBB0ABrIgQkAEGIgICAeCEPAkAgAEUNACABRQ0AIAJFDQBBiYCAgHghDyAAKAIIIAAoAiAiA2siB0EASA0AIAAoAgQgA0kNACAAKAIAIg1FDQAgBEIANwMwIARCADcDKCAEQgA3AyAgBEIANwMYIARCADcDECABIA02AgAgB0EESQ0AIAMgDWohBiAHQX1qIQlBACEDA0ACQCADIg1BAWohAwJAIAYgDWoiBS0AAA0AIAMgBmotAAANACAGIA1qIgwtAAIiDkEBSw0AIA5BAWtFDQEgDC0AA0EBRg0BCyADIAlHDQEMAgsLIA1BAEgNACAHIA1rIQxBACEDQQAhCSANIQdBACEOA0ACQAJAAkAgA0H/AXENACAFLQABDQACQCAFLQACDQAgBS0AA0EBRw0AIAUtAARBH3EhCUEEIQcMAQsgBS0AAkEBRw0AQQohCUEDIQcgBS0AAyIDQeAAcUUNAUEKIANBH3EgA0GAAXEbIQkLAkACQCAJQX9qIgNBBksNAAJAAkACQCADQQFrDgYDAwMAAgEACyAEQgA3AzggBCACLwEGIgM2AkAgBCADRTYCSCAEIAIoAhQ2AkQCQCAFIAcgBEE4aiAAEN4HIgNBB0sNACACAn8CQEEBIAN0IgNBIXFFBEAgA0HCAHENASADQYQBcUUNAyACLwEEIgNBgSAgAxsMAgsgAi8BBCIDQYMgIAMbDAELIAIvAQQiA0GIICADGws7AQQLIAIgEjYCECACIAQoAkA7AQYgACAAKAIINgIgIBFBAWohEQwCCyAEQgA3AxggBEIANwMgIARCADcDKCAEQgA3AzAgBEEBNgIYIARCADcDECAHQX1qIgNBAUsNAiAEQSA2AkQgBAJ/IANBAWtFBEBBCSEIQQghBkEHIQpBBiELIAVBBWoMAQtBCCEIQQchBkEGIQpBBSELIAVBBGoLIgM2AjggBSAGai0AACEGIAUgCmotAAAhCSAFIAtqLQAAIQ4gAy0AACEDIAQgBSAIajYCQCAEIAUgDGo2AjwgBCAGIA5BEHQgA0EYdHIgCUEIdHJyNgJIQQchCUEBIQ4gBEE4aiAEQRBqENsBRQ0DIAIgBCgCEDsBACACIAQoAhQ7AQIgAiAEKAIcOwEGIAIgBCgCJDYCDCACIAQoAiA6AAggAiAEKAIoNgIUDAMLIARBADYCCAJAIAwgB2siA0EETwRAIAUgB2ohCCADQX1qIQtBACEDA0AgAyIGQQFqIQMCQCAGIAhqIgotAAANACADIAhqLQAADQAgCi0AAiIQQQFLDQAgEEEBa0UNAyAKLQADQQFGDQMLIAMgC0cNAAsLQX8hBgsgBiAHaiIQQQRJDQAgBEEANgIIIAdBfWoiA0EBSw0AAn8gA0EBawRAIAVBBGohBkEHIQpBBiELQQUhCEEIDAELIAVBBWohBkEIIQpBByELQQYhCEEJCyEDIARBIDYCRCAEIAY2AjggBSAKai0AACEKIAUgC2otAAAhCyAFIAhqLQAAIQggBi0AACEGIAQgAyAFajYCQCAEIAUgEGo2AjwgBCAKIAhBEHQgBkEYdHIgC0EIdHJyNgJIIARBOGogBEEIahDhAkUNACACIAQoAgg7ARgLIAlBe3FBAUcNAQwCC0EHIQlBASEOCyAMIAdrIgNBBEkNACAFIAdqIQggA0F9aiELQQAhAwNAAkAgAyIGQQFqIQMCQCAGIAhqIgotAAANACADIAhqLQAADQAgCi0AAiIQQQFLDQAgEEEBa0UNASAKLQADQQFGDQELIAMgC0cNAQwCCwsgBkEASA0AIAEoAgwiCEEfSw0CIAEgCEEMbGoiAyAJNgIQIAMgBiAHaiIDNgIUIAEgCEEBajYCDCABIAEoAgQgA2o2AgQgDCADayIMQQZIDQAgA0EAIA4bIBJqIRIgCUEIRyAOQQBHcSEOIAMgBWoiBS0AACEDDAELCyARRQRAQYSAgIB4IQ8MAQsgASgCDCIDQR9LDQAgASADQQxsaiIHIAk2AhAgByAMNgIUIAEgA0EBajYCDCABIAEoAgQgDCANamo2AgQgACgCJEECTgRAIABBATYCNAtBACEPQQAhAyACIBFBAk8EfyACLwEGRQVBAAs6AAkLIARB0ABqJAAgDwu8BQEMfyAARQRAQYiAgIB4DwtBiYCAgHghAQJAIAAoAgQgACgCCCIGayIIQQBIDQAgACgCACIERQ0AQQcgACgCGCIBIAFBDUobIQIgCEEBTgRAIAQgBmohCUEAIQYDQAJAIAJBB0YEQEEAIQECQCAIIANrIgRBAUgNACADIAlqIQIDQCABIAJqLQAARQ0BIAFBAWoiASAERw0ACyAEIQELQQJBByABIANqIgMgCEgbIQIMAQsCQAJAIAJBAkwEQCADIAlqLQAAIgFBAUsEQEEHIQIMBAsgAUEBa0UNASACQQF1IQIMAwsgAkEFTARAAkACQCADIAlqLQAAIgFBHnFBemoiBEECSw0AIARBAWtFDQAgACgCOA0BQQchAgwFCyABQR9xIgFBBUsEQEEHIQIMBQtBASABdEEmcUUEQEEHIQIMBQsgAkEIaiECDAQLIABBBzYCGCAAQQA2AjggAyACQQVxa0EBag8LIAMgCWohBSAGQQFqIQQgACgCHCELQQAhCkEAIQECQAJAA0ACQCAFKAAAIgdBGHQgB0EIdEGAgPwHcXIgB0EIdkGA/gNxIAdBGHZyciAKdCEHIApBAWoiDEEHcSEKIAUgDEEDdmohBSAHQQBIDQAgAUEgRg0CIAFBAWohAQwBCwsgAUUNAEF/IAF0QX9zIAUoAAAiBUEYdCAFQQh0QYCA/AdxciAFQQh2QYD+A3EgBUEYdnJyIAp0QSAgAWt2aiIBQX9HDQELQQAhAQsCQCADQQBKDQAgBkEFTg0AIAQhBgwDCwJAIAAoAjgEQCAAIAE2AhwgASALTQ0BDAMLIABBATYCOAwCCyAAQQc2AhggAEEANgI4IAMgBmsgAkEFcWsPCyACQQVzIQIMAQtBACEGQQchAgsgCCADQQFqIgNKDQALCyAAIAI2AhhBioCAgHghAQsgAQuCBQEEf0EBIQUCQCABQX1qQQFLDQAgAEUNACACRQ0AIAAgAWpBAWohAUEAIQACQANAAkAgASgAACIFQRh0IAVBCHRBgID8B3FyIAVBCHZBgP4DcSAFQRh2cnIgAHQhBSAAQQFqIgZBB3EhACABIAZBA3ZqIQEgBUEASA0AIARBIEYNAiAEQQFqIQQMAQsLIARFDQAgACAEaiIEQQdxIQAgASAEQQN2aiEBC0EAIQQCQANAAkAgASgAACIFQRh0IAVBCHRBgID8B3FyIAVBCHZBgP4DcSAFQRh2cnIgAHQhBSAAQQFqIgZBB3EhACABIAZBA3ZqIQEgBUEASA0AIARBIEYEQEF/IQUMAwUgBEEBaiEEDAILAAsLIARFBEBBACEFDAELQX8gBHRBf3MgASgAACIFQRh0IAVBCHRBgID8B3FyIAVBCHZBgP4DcSAFQRh2cnIgAHRBICAEa3ZqIQUgACAEaiIEQQdxIQAgASAEQQN2aiEBC0EAIQQCQANAAkAgASgAACIGQRh0IAZBCHRBgID8B3FyIAZBCHZBgP4DcSAGQRh2cnIgAHQhBiAAQQFqIgdBB3EhACABIAdBA3ZqIQEgBkEASA0AIARBIEYNAiAEQQFqIQQMAQsLIARFDQAgACAEaiIEQQdxIQAgASAEQQN2aiEBCwJ/IAIoAhBFBEAgAiABIAIoAgwgAGoiAkEDdmooAAAiAEEYdCAAQQh0QYCA/AdxciAAQQh2QYD+A3EgAEEYdnJyIAJBB3F0IgBBH3Y2AgggA0EkaiEBIAMoAiQiAkEBaiAAQX9MDQEaIAJBAmoMAQsgA0EkaiEBIAMoAiRBAmoLIQAgASAANgIACyAFC+0IAQR/QQEhBAJAIABFDQAgAkUNACABQX1qIgFBAUsNACABQQFrRQRAIABBBWohAUEAIQACQANAAkAgASgAACIEQRh0IARBCHRBgID8B3FyIARBCHZBgP4DcSAEQRh2cnIgAHQhBCAAQQFqIgVBB3EhACABIAVBA3ZqIQEgBEEASA0AIANBIEYNAiADQQFqIQMMAQsLIANFDQAgACADaiIDQQdxIQAgASADQQN2aiEBC0EAIQMCQANAAkAgASgAACIEQRh0IARBCHRBgID8B3FyIARBCHZBgP4DcSAEQRh2cnIgAHQhBCAAQQFqIgVBB3EhACABIAVBA3ZqIQEgBEEASA0AIANBIEYEQEF/IQQMAwUgA0EBaiEDDAILAAsLIANFBEBBACEEDAELQX8gA3RBf3MgASgAACIEQRh0IARBCHRBgID8B3FyIARBCHZBgP4DcSAEQRh2cnIgAHRBICADa3ZqIQQgACADaiIDQQdxIQAgASADQQN2aiEBC0EAIQMCQANAAkAgASgAACIFQRh0IAVBCHRBgID8B3FyIAVBCHZBgP4DcSAFQRh2cnIgAHQhBSAAQQFqIgZBB3EhACABIAZBA3ZqIQEgBUEASA0AIANBIEYNAiADQQFqIQMMAQsLIANFDQAgACADaiIDQQdxIQAgASADQQN2aiEBCyACKAIQDQEgAiABIAIoAgwgAGoiAkEDdmooAAAiAEEYdCAAQQh0QYCA/AdxciAAQQh2QYD+A3EgAEEYdnJyIAJBB3F0QR92NgIIIAQPCyAAQQRqIQFBACEAAkADQAJAIAEoAAAiBEEYdCAEQQh0QYCA/AdxciAEQQh2QYD+A3EgBEEYdnJyIAB0IQQgAEEBaiIFQQdxIQAgASAFQQN2aiEBIARBAEgNACADQSBGDQIgA0EBaiEDDAELCyADRQ0AIAAgA2oiA0EHcSEAIAEgA0EDdmohAQtBACEDAkADQAJAIAEoAAAiBEEYdCAEQQh0QYCA/AdxciAEQQh2QYD+A3EgBEEYdnJyIAB0IQQgAEEBaiIFQQdxIQAgASAFQQN2aiEBIARBAEgNACADQSBGBEBBfyEEDAMFIANBAWohAwwCCwALCyADRQRAQQAhBAwBC0F/IAN0QX9zIAEoAAAiBEEYdCAEQQh0QYCA/AdxciAEQQh2QYD+A3EgBEEYdnJyIAB0QSAgA2t2aiEEIAAgA2oiA0EHcSEAIAEgA0EDdmohAQtBACEDAkADQAJAIAEoAAAiBUEYdCAFQQh0QYCA/AdxciAFQQh2QYD+A3EgBUEYdnJyIAB0IQUgAEEBaiIGQQdxIQAgASAGQQN2aiEBIAVBAEgNACADQSBGDQIgA0EBaiEDDAELCyADRQ0AIAAgA2oiA0EHcSEAIAEgA0EDdmohAQsgAigCEA0AIAIgASACKAIMIABqIgJBA3ZqKAAAIgBBGHQgAEEIdEGAgPwHcXIgAEEIdkGA/gNxIABBGHZyciACQQdxdEEfdjYCCAsgBAvwAQEFfyMAQSBrIgQkAAJAIAFBBEkNACAARQ0AIAJFDQAgAkEANgIAIANBfWoiA0EBSw0AAn8gA0EBa0UEQCAEQSA2AhQgBCAAQQVqIgU2AghBCCEGQQchB0EGIQhBCQwBCyAEQSA2AhQgBCAAQQRqIgU2AghBByEGQQYhB0EFIQhBCAshAyAAIAZqLQAAIQYgACAHai0AACEHIAAgCGotAAAhCCAFLQAAIQUgBCAAIANqNgIQIAQgACABajYCDCAEIAYgCEEQdCAFQRh0ciAHQQh0cnI2AhggBEEIaiACEOECQQBHIQULIARBIGokACAFC4gCAQV/IwBBIGsiBCQAIAJBCGpCADcCACACQgA3AgAgAkIANwIgIAJCADcCGCACQgA3AhAgAkEBNgIIAn9BACADQX1qIgNBAUsNABoCfyADQQFrRQRAIARBIDYCFCAEIABBBWoiAzYCCEEIIQVBByEGQQYhB0EJDAELIARBIDYCFCAEIABBBGoiAzYCCEEHIQVBBiEGQQUhB0EICyEIIAAgBWotAAAhBSAAIAZqLQAAIQYgACAHai0AACEHIAMtAAAhAyAEIAAgCGo2AhAgBCAAIAFqNgIMIAQgBSAHQRB0IANBGHRyIAZBCHRycjYCGCAEQQhqIAIQ2wFBAEcLIQIgBEEgaiQAIAILKAEBfyMAQRBrIgAkACAAQekLNgIMQYAVQQUgACgCDBACIABBEGokAAsUACABQQRGBEAgAEEBNgLsAQtBAAtEACABQQJLBEBBgYCAgHgPCyABQQJrRQRAIABCADcCwAEgAEEANgLgASAAQgA3AtgBIABCADcC0AEgAEIANwLIAQtBAAtbAQF/IAAoApgBIgEEQCABECggAEEANgKYAQsgACgCsAEiAQRAIAEQKCAAQQA2ArgBIABBADYCsAELIAAoArQBIgEEQCABECggAEEANgK8ASAAQQA2ArQBC0EAC8gCAQN/IAFFBEBBgYCAgHgPCyABQQBB0AkQKyEBIAAoAugBIgIgACgC5AEiBHJFBEBBh4CAgHgPCyABIAAoAsgBNgIQIAEgACgC0AE2AiQgACgCzAEhAyABQQA2AjAgAUIANwIcIAEgAzYCGCABIAM2AhQgBAR/IAEgACgCsAE2AgAgASAAKALAATYCBCABQTxqQQBB8AAQKxogAEEANgLAASAAQQA2AuQBIAAoAugBBSACC0UEQEEADwsgASAAKAK0ATYCACAAKALEASECIAFCADcCPCABIAI2AgQgAUIANwJEIAFCADcCTCABQgA3AlQgAUIANwJcIAFCADcCZCABQgA3AmwgAUEANgJ0IAEgACgCHDYChAEgASAALQAXNgJ8IAEgAC0AFjYCeCABIAAoAhg2AoABIABBADYCxAEgAEEANgLoAUEAC7QCAQR/QYWAgIB4IQICQAJAIAAoAsgBIgFB/98BTARAIAFB/x9MBEAgAUF+akEFT0EAIAFBgAJHGw0DQQAhAiAAKALAAUUNAyAAQQE2AuQBQQAPCyABQYBAakECSQ0BIAFBgCBGDQEgAUGA4ABGDQEMAgsgAUGg5AFMBEAgAUGAoH5qQQJJDQEgAUHwnX5qQQJJDQEMAgsgAUGgm35qQQNJDQAgAUHfm35qIgNBEEsEQCABQZDlAUcNAgwBCyADQQFrDg8BAQEBAQEBAQEBAQEBAQEAC0EAIQIgACgCxAEiA0UNAAJAIAAoAhgiAgRAIAAtABYiBA0BCyAAQQA2AsQBQYGAgIB4DwsgAUGBwABGBEAgACgCtAEgAyACIAQQ3QEiAg0BCyAAQQE2AugBQQAhAgsgAguyBQEIfyABRQRAQYGAgIB4DwtBhYCAgHghAgJAAkAgASgCACIEQX5qIgNB4wBLDQACfwJAAkAgA0EBaw5jAwMDAQEBAwMDAwMDAwMBAwEDAwMBAwMBAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAMAAQsgACAEEOMCNgLIASAAIAEoAgw2AswBIAEoAhAiCEUEQEGBgICAeA8LQYGAgIB4IQIgASgCFCIGQQBIDQIgACgCsAEhBAJAIAAoAsABIgMgBmoiBSAAKAK4AU0EQCAEIQIMAQsCQCAERQRAIAAgBUGAgCAgBUGAgCBLGyIFQYBAayIEECwiAjYCsAEgAkGsASAEECsaDAELIAVBgEBrIgcQLCICIANqQawBQQAgByADayIJIAkgB0sbECsaIAIgBCADECkhAyAEECggACADNgKwASAAKALAASEDCyAAIAU2ArgBCyACIANqIAggBhApGiAAQcABagwBCyAAIAQQ4wI2AsgBIAAgASgCDDYCzAEgBEETRgRAIAAgACgCxAFBB2o2AsQBCyABKAIQIghFBEBBgYCAgHgPC0GBgICAeCECIAEoAhQiBkEASA0BIAAoArQBIQQCQCAAKALEASIDIAZqIgcgACgCvAFNBEAgBCECDAELIAdBgEBrIgUQLCECAkAgBEUEQCAAIAI2ArQBIAJBrAEgBRArGgwBCyACIANqQawBQQAgBSADayIJIAkgBUsbECsaIAIgBCADECkhAyAEECggACADNgK0ASAAKALEASEDCyAAIAc2ArwBCyACIANqIAggBhApGiAAQcQBagsiAiACKAIAIAZqNgIAIAEoAiANAUEAIQILIAIPCyAAEOcHCygBAX8jAEEQayIAJAAgAEHLCzYCDEHYFEEEIAAoAgwQAiAAQRBqJAALlAYBA38gACgCmAEiAQRAIAEQKCAAQQA2ApgBCyAAKAKwASIBBEAgARAoIABBADYCuAEgAEEANgKwAQsgACgCtAEiAQRAIAEQKCAAQQA2ArwBIABBADYCtAELAkACQAJAAkACQAJAAkACQAJAAkAgAC8BEiICQf/fAUwEQCACQf8BTARAIAJBBksNCEHlACEBIAJBAWsOBgIICAgDCgsLIAJBgEBqIgFBAU0NCCACQYACRg0BIAJBgCBHDQdBGiEBDAkLIAJBoOQBTARAIAJBgKB+akECSQ0GIAJB8J1+aiIBQQFLDQcgAUEBaw0DDAQLIAJBoJt+akEDSQ0EIAJBoeQBRw0GQQIhAQwIC0HiACEBDAcLQeMAIQEMBgtBByEBDAULQQYhAQwEC0EIIQEMAwtBFyEBDAILQQAhAQwBCyABQQFrRQRAQRMhAQwBC0ERIQELIAAgATYCOEEBIQMLAkACQAJAAkACQAJAAkACQAJAAkAgAC8BFCICQf/fAUwEQCACQf8BTARAIAJBBksNCEHlACEBIAJBAWsOBgIICAgDCgsLIAJBgEBqIgFBAU0NCCACQYACRg0BIAJBgCBHDQdBGiEBDAkLIAJBoOQBTARAIAJBgKB+akECSQ0GIAJB8J1+aiIBQQFLDQcgAUEBaw0DDAQLIAJBoJt+akEDSQ0EIAJBoeQBRw0GQQIhAQwIC0HiACEBDAcLQeMAIQEMBgtBByEBDAULQQYhAQwEC0EIIQEMAwtBFyEBDAILQQAhAQwBCyABQQFrRQRAQRMhAQwBC0ERIQELIAAgA0ECdGogATYCOCADQQFqIQMLIABCADcCkAEgACADNgKIAQJAIABBOGoiARD4Bw0AIAAgACgCnAEQLDYCmAEgACgC7AEEQCAAQQE2AowBCyABIABBNGoQ9wcNAEEADwsgACgCmAEiAQRAIAEQKCAAQQA2ApgBCyAAKAKwASIBBEAgARAoIABBADYCuAEgAEEANgKwAQsgACgCtAEiAQRAIAEQKCAAQQA2ArwBIABBADYCtAELQYuAgIB4C6EDAQN/QYGAgIB4IQQCQCABRQ0AIANFDQAgACgCMEUEQEGJgICAeCEEIAJBLEkNASABKAIEQcmarcIERw0BAkAgAC0ABEEEcQRAIAEvARANAQwDCyABLwEODQAgAS8BEEUNAgsgACABQQRqIgQpAAA3AAggACAEKQAgNwAoIAAgBCkAGDcAICAAIAQpABA3ABggACAEKQAINwAQIABBATYCMCACQVRqIQIgAUEsaiEBCyACRQRAIANBADYCAEGCgICAeA8LIAAoAjRFBEAgABDqByIEDQELIAAgATYCoAEgAEEANgKsASAAIAI2AqgBIAAgAjYCpAEgAEGgAWohBQNAAkAgAiEEIAUgACgCNBD2ByIBQQBIDQAgACgCrAEiAgRAIAAgAhDoByIBDQEgACgC6AEEQEEAIQEMAgtBACEBIAAoAuQBDQELIABBADYCrAEgACgCpAEhBiAAIAAoAqgBIgI2AqQBIAAgACgCoAEgBiACa2o2AqABIAIgBEcNAQsLIAMgACgCqAEiADYCAEGCgICAeCABIAAgBEYbIQQLIAQLVgEBfyAAQeTHCDYCACAAKAKYASIBBEAgARAoIABBADYCmAELIAAoArABIgEEQCABECggAEEANgK4ASAAQQA2ArABCyAAKAK0ASIBBEAgARAoCyAAECgLZAEBfyAAQeTHCDYCACAAKAKYASIBBEAgARAoIABBADYCmAELIAAoArABIgEEQCABECggAEEANgK4ASAAQQA2ArABCyAAKAK0ASIBBEAgARAoIABBADYCvAEgAEEANgK0AQsgAAv+BgESfyMAQYAWayIPJABBgYCAgHghBQJAIABFDQAgBEUNACAPQQBBgBQQKyIOQYgUakEAQfQBECsaAkACQCADQW9qIgVBAksNAEGAASEGAkAgBUEBaw4CAQACC0GAAiEGCyAEIAYgDkGIFGoQ6wILIAFFBEBBACEFDAELIAJBgAJHQQF0IRAgA0ERRyERA0ACQCABIAprIgJBBUkNACAAIApqIgctAAANACAHLQABDQAgBy0AAiIDQQFLDQBBAyEGIANBAWsEQEEEIQYgBy0AA0EBRw0BCyACIQUCQCAGQQRqIAJPDQAgAkF8aiEJIAYhAwNAIAMiBUEBaiEDAkAgBSAHaiIILQAADQAgAyAHai0AAA0AIAgtAAIiC0EBSw0AIAtBAWtFDQIgCC0AA0EBRg0CCyADIAlHDQALIAIhBQsgBUEASA0AIAcgBiAQaiIIaiILLQAAIglBP3EhBkEBIQMgCUEGdiIJBEADQCADIAtqLQAAIAZBCHRyIQYgAyAJRyEMIANBAWohAyAMDQALCyAGIAhqIhIgCmpBAWogAUsEQEGGgICAeCEFDAMLIAdBAWohEyAJQQFqIRQCQCAFIAZPDQAgAiAGayAIayIDQQRJBEAgAiEFDAELIANBfGoiFUUEQCACIQUMAQsgBiAHaiAIaiELQQAhAwJAA0AgAyIFQQFqIQMCQCAFIAtqIgwtAAANACADIAtqLQAADQAgDC0AAiIWQQFLDQAgFkEBa0UNAiAMLQADQQFGDQILIAMgFUcNAAsgAiEFDAELIAIgBSASaiAFQQBIGyEFCyAOIA1BFGxqIgIgCUECajYCDCACIAg2AgggAiAHNgIAIAggE2ogFGohAwJAIBFFBEAgA0EQIARBAxCBAQwBCyADIAYgDkGIFGoQ3gELIAIgBTYCBCANQQFqIQ0gBSAKaiIKIAFJDQELC0EAIQQgDUUEQEEAIQUMAQtBACEGA0BBhoCAgHghBSAOIARBFGxqIgMoAggiAiABIAZrSw0BIAMoAgQiByACSQ0BIAAgBmogAygCACIIIAIQMSAHIAJrIgkgAygCECILayADKAIMIgNrIgogASACIAZqIgxrSw0BIAogCSADa0sNASAAIAxqIAIgCGogA2ogChAxIAYgB2ogC2sgA2siBiEFIARBAWoiBCANRw0ACwsgD0GAFmokACAFC/MHAQZ/AkACQAJAAkACQAJAAkACQCACQX9qIgRBBUsEQCACQYACRg0FIAJBgcAARw0BQYaAgIB4IQQgAUEHSQ0DIAMgADYCBCADQQE2AgAgA0EHNgIMDAcLIARBAWsOBQADAQQEBQsgAyAANgIEIANBATYCAEEAIQQgA0EANgIMIAMgATYCCAwBC0GGgICAeCEEIABFDQAgAUEESQ0AIAFBfWohBUEAIQIDQAJAIAAgAmoiBi0AAEH/AUYEQCAGLQABQdoBRg0BCyACQQFqIgIgBUcNAQwCCwsgAiAGLQADIAYtAAJBCHRyakECaiICQQBIDQAgAyAANgIEIANBATYCACADIAI2AgwMBAsgBA8LIAMgADYCBCADQQE2AgAgA0EDNgIMDAILAkAgAUUNACACQQVGBEADQCABQQVJBEAMBgsgAEUEQAwGCyAALQAABEAMBgsgAC0AAQRADAYLIAAtAAIiBEEBSwRADAYLQQMhAgJAIARBAWtFDQBBBCECIAAtAANBAUYNAAwGCyABIQQCQCACQQRqIAFPDQAgAUF8aiEHA0AgAiIEQQFqIQICQCAAIARqIgYtAAANACAAIAJqLQAADQAgBi0AAiIIQQFLDQAgCEEBa0UNAiAGLQADQQFGDQILIAIgB0cNAAsgASEECyAEQQFIBEAMBgsgAyAFQQxsaiICQQY2AgwgAiAENgIIIAIgADYCBCAFQQFqIQYgASAEayIBRQ0CIAAgBGohACAFQf8ASSECIAYhBSACDQAMAgALAAsDQCABQQVJBEAMBQsgAEUEQAwFCyAALQAABEAMBQsgAC0AAQRADAULIAAtAAIiAkEBSwRADAULQQMhBgJAIAJBAWtFDQBBBCEGIAAtAANBAUYNAAwFCyABIQQCQCAGQQRqIAFPDQAgAUF8aiEIIAYhAgNAIAIiBEEBaiECAkAgACAEaiIHLQAADQAgACACai0AAA0AIActAAIiCUEBSw0AIAlBAWtFDQIgBy0AA0EBRg0CCyACIAhHDQALIAEhBAsgBEEBSARADAULIAMgBUEMbGoiAiAGNgIMIAIgBDYCCCACIAA2AgQgBUEBaiEGIAEgBGsiAUUNASAAIARqIQAgBUH/AEkhAiAGIQUgAg0ACwsgAyAGNgIAQQAPCwJAIAFBFE0NAEEAIQIDQCABIAAoAhBBFGoiBEkEQCADIAI2AgBBAA8LIAMgAkEMbGoiBkEUNgIMIAYgBDYCCCAGIAA2AgQgAkEBaiEGIAEgBGsiAUEVSQ0BIAAgBGohACACQf8ASSEEIAYhAiAEDQALCyADIAY2AgBBAA8LIAMgATYCCEEADwsgAyAFNgIAQQALagEDf0F/IQMCQCAARQ0AIAFBBEkNACABQX1qIQRBACEBA0ACQCAAIAFqIgItAABB/wFGBEAgAi0AAUHaAUYNAQsgAUEBaiIBIARHDQEMAgsLIAEgAi0AAyACLQACQQh0cmpBAmohAwsgAwvZAgEDfwJAAkAgAEUNACABQQVJDQAgAUF8aiEEIAJBgAJGBEBBACEBA0AgASICQQFqIQECQCAAIAJqIgMtAAANACAAIAFqLQAADQACQCADLQACRQRAIAMtAANBAUYNAQsgAy0AAkEBRw0BIAAgAkEDaiICai0AAEEbcUEBRw0BDAULIAAgAkEEaiICai0AAEEbcUEBRg0ECyABIARHDQALDAELQQAhASACQQVHIQUDQCABIgJBAWohAQJAIAAgAmoiAy0AAA0AIAAgAWotAAANAAJAIAMtAAINACADLQADQQFHDQAgBQ0BIAAgAkEEaiICai0AAEEBdkE/cSIDQQpJDQQgA0FwakH/AXFBBk8NAQwECyADLQACQQFHDQAgBQ0AIAAgAkEDaiICai0AAEEBdkE/cSIDQQpJDQMgA0FwakH/AXFBBkkNAwsgASAERw0ACwtBfyECCyACC4YJAQp/IwBBEGshASAABEAgASAALQADIgJBwL8Iai0AACAALQACIgNBwMUIai0AACAALQABIgRBwMMIai0AACAALQAAIgVBwMEIai0AAHNzczoADyABIAJBwMEIai0AACADQcC/CGotAAAgBEHAxQhqLQAAIAVBwMMIai0AAHNzczoACiABIAJBwMMIai0AACADQcDBCGotAAAgBEHAvwhqLQAAIAVBwMUIai0AAHNzczoABSABIAJBwMUIai0AACADQcDDCGotAAAgBEHAwQhqLQAAIAVBwL8Iai0AAHNzczoAACABIAAtAAciAkHAwQhqLQAAIAAtAAYiA0HAvwhqLQAAIAAtAAUiBEHAxQhqLQAAIAAtAAQiBUHAwwhqLQAAc3NzOgAOIAEgAkHAwwhqLQAAIANBwMEIai0AACAEQcC/CGotAAAgBUHAxQhqLQAAc3NzOgAJIAEgAkHAxQhqLQAAIANBwMMIai0AACAEQcDBCGotAAAgBUHAvwhqLQAAc3NzOgAEIAEgAkHAvwhqLQAAIANBwMUIai0AACAEQcDDCGotAAAgBUHAwQhqLQAAc3NzOgADIAEgAC0ACyICQcDDCGotAAAgAC0ACiIDQcDBCGotAAAgAC0ACSIEQcC/CGotAAAgAC0ACCIFQcDFCGotAABzc3M6AA0gASACQcDFCGotAAAgA0HAwwhqLQAAIARBwMEIai0AACAFQcC/CGotAABzc3M6AAggASACQcC/CGotAAAgA0HAxQhqLQAAIARBwMMIai0AACAFQcDBCGotAABzc3MiBjoAByABIAJBwMEIai0AACADQcC/CGotAAAgBEHAxQhqLQAAIAVBwMMIai0AAHNzcyIHOgACIAEgAC0ADyICQcC/CGotAAAgAC0ADiIDQcDFCGotAAAgAC0ADSIEQcDDCGotAAAgAC0ADCIFQcDBCGotAABzc3MiCDoACyABIAJBwMUIai0AACADQcDDCGotAAAgBEHAwQhqLQAAIAVBwL8Iai0AAHNzcyIJOgAMIAEgAkHAwQhqLQAAIANBwL8Iai0AACAEQcDFCGotAAAgBUHAwwhqLQAAc3NzIgo6AAYgASACQcDDCGotAAAgA0HAwQhqLQAAIARBwL8Iai0AACAFQcDFCGotAABzc3MiAjoAASABLQAAIQMgACAHQcC9CGotAAA6AAIgACACQcC9CGotAAA6AAEgACADQcC9CGotAAA6AAAgACABLQADQcC9CGotAAA6AAMgACABLQAEQcC9CGotAAA6AAQgAS0ABSECIAAgBkHAvQhqLQAAOgAHIAAgCkHAvQhqLQAAOgAGIAAgAkHAvQhqLQAAOgAFIAAgAS0ACEHAvQhqLQAAOgAIIAAgAS0ACUHAvQhqLQAAOgAJIAEtAAohAiAAIAlBwL0Iai0AADoADCAAIAhBwL0Iai0AADoACyAAIAJBwL0Iai0AADoACiAAIAEtAA1BwL0Iai0AADoADSAAIAEtAA5BwL0Iai0AADoADiAAIAEtAA9BwL0Iai0AADoADwsLqgMBCH8CQCAARQ0AIAFFDQAgASAALQAAOgAAIAEgAC0AAToAASABIAAtAAI6AAIgASAALQADOgADIAEgAC0ABDoABCABIAAtAAU6AAUgASAALQAGOgAGIAEgAC0ABzoAByABIAAtAAg6AAggASAALQAJOgAJIAEgAC0ACjoACiABIAAtAAs6AAsgASAALQAMOgAMIAEgAC0ADToADSABIAAtAA46AA4gASAALQAPOgAPQQQhBCACQQJ0QQRqIgpBBUkNAANAIARBAnQiBSABaiIDQX9qLQAAIQYgA0F+ai0AACEAIANBfWotAAAhByADQXxqLQAAIQICQCAEQQNxBEAgACEIIAIhCQwBCyAEQQJ2QbC9CGotAAAgB0GwuwhqLQAAcyEJIAZBsLsIai0AACEIIABBsLsIai0AACEHIAJBsLsIai0AACEGCyADIANBcGotAAAgCXM6AAAgASAFQQFyaiADQXFqLQAAIAdzOgAAIAEgBUECcmogA0Fyai0AACAIczoAACABIAVBA3JqIANBc2otAAAgBnM6AAAgBEEBaiIEIApHDQALCwvdCgEKfwJAIABFDQAgAUUNACACRQ0AIAIoAgwgACgADCIDQRh0IANBCHRBgID8B3FyIANBCHZBgP4DcSADQRh2cnJzIQggAigCCCAAKAAIIgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZycnMhCSACKAIEIAAoAAQiA0EYdCADQQh0QYCA/AdxciADQQh2QYD+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BAEBfyABRQRAQYGAgIB4DwsgAUEAQdAJECshAQJAIAAoAswBDQAgACgCyAENAEGHgICAeA8LAkAgAC0AHEEBcQRAIAEgACgCIDYCACABIAAoAig2AgQgASAAKAK8ATYCCCABIAAoAsQBNgIMDAELIAEgACgCvAE2AgAgASAAKALEATYCBAsgASAAKAJQNgIQIAEgACgCWDYCJCAAKAJUIQIgAUEANgIwIAFCADcCHCABIAI2AhggASACNgIUIABBADYCKAJAAkAgACgCyAEEQCAAQcgBaiECIAFCADcCPCABQQA2AnQgAUIANwJsIAFCADcCZCABQgA3AlwgAUIANwJUIAFCADcCTCABQgA3AkQgASAAKQJsNwJ4IAEgACkCdDcCgAEgASAAKQJ8NwKIASABIAApAoQBNwKQASABIAApAowBNwKYASABIAApApQBNwKgASABIAAoApwBNgKoASABIAApAqABNwJcIAEgACkCqAE3AmQgASAAKQKwATcCbCABIAAoArgBNgJ0DAELIABBzAFqIgIoAgBFDQEgAUIANwI8IAFBADYCdCABQgA3AmwgAUIANwJkIAFCADcCXCABQgA3AlQgAUIANwJMIAFCADcCRCABIAApAmw3AnggASAAKQJ0NwKAASABIAApAnw3AogBIAEgACkChAE3ApABIAEgACkCjAE3ApgBIAEgACkClAE3AqABIAEgACgCnAE2AqgBCyACQQA2AgALIABBADYCxAFBAAvyAQEIfwJAIAFFDQAgASgCICIIRQ0AIAEoAiQiBkEASA0AIAAoArwBIQMCQCAAKALEASICIAZqIgQgACgCwAFNBEAgAyEFDAELAkAgA0UEQCAAIARBgIAgIARBgIAgSxsiBEGAQGsiAxAsIgU2ArwBIAVBrAEgAxArGgwBCyAEQYBAayIHECwiBSACakGsAUEAIAcgAmsiCSAJIAdLGxArGiAFIAMgAhApIQIgAxAoIAAgAjYCvAEgACgCxAEhAgsgACAENgLAAQsgAiAFaiAIIAYQKRogACAAKALEASAGajYCxAEgACABEO0CDwtBgYCAgHgL3wMBCH9BgYCAgHghAgJAIAFFDQAgASgCDCIDKAIgIghFDQAgAygCJCIGQQBIDQAgACgCvAEhBAJAIAAoAsQBIgIgBmoiBSAAKALAAU0EQCAEIQMMAQsC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IABBmA5qIQIgAEHUDmooAgBBA0YEQCACIABB2A5qKAIAIgMpAgA3AgAgAiADKQIwNwIwIAIgAykCKDcCKCACIAMpAiA3AiAgAiADKQIYNwIYIAIgAykCEDcCECACIAMpAgg3AggLIABB3A5qKAIAQQNGBEAgAiAAQeAOaigCACIDKQIANwIAIAIgAykCMDcCMCACIAMpAig3AiggAiADKQIgNwIgIAIgAykCGDcCGCACIAMpAhA3AhAgAiADKQIINwIICyAAQeQOaigCAEEDRgRAIAIgAEHoDmooAgAiAykCADcCACACIAMpAjA3AjAgAiADKQIoNwIoIAIgAykCIDcCICACIAMpAhg3AhggAiADKQIQNwIQIAIgAykCCDcCCAsgAEHsDmooAgBBA0YEQCACIABB8A5qKAIAIgMpAgA3AgAgAiADKQIwNwIwIAIgAykCKDcCKCACIAMpAiA3AiAgAiADKQIYNwIYIAIgAykCEDcCECACIAMpAgg3AggLIABB9A5qKAIAQQNGBEAgAiAAQfgOaigCACIDKQIANwIAIAIgAykCMDcCMCACIAMpAig3AiggAiADKQIgNwIgIAIgAykCGDcCGCACIAMpAhA3AhAgAiADKQIINwIICyAAQfwOaigCAEEDRgRAIAIgAEGAD2ooAgAiAykCADcCACACIAMpAjA3AjAgAiADKQIoNwIoIAIgAykCIDcCICACIAMpAhg3AhggAiADKQIQNwIQIAIgAykCCDcCCAsgAEGED2ooAgBBA0YEQCACIABBiA9qKAIAIgMpAgA3AgAgAiADKQIwNwIwIAIgAykCKDcCKCACIAMpAiA3AiAgAiADKQIYNwIYIAIgAykCEDcCECACIAMpAgg3AggLIABBjA9qKAIAQQNGBEAgAiAAQZAPaigCACIDKQIANwIAIAIgAykCMDcCMCACIAMpAig3AiggAiADKQIgNwIgIAIgAykCGDcCGCACIAMpAhA3AhAgAiADKQIINwIICyAAKAJoIgIEQCACIAEQiwMLQQAhAiAAKAJsIgBFDQEgACABEO4BDAELIAAoAmQhAEGEgICAeCECIARBhICAgHg2AgwgBCAANgIIIARB/iI2AgQgBEG3tQo2AgBBBUH1tAogBBAqCyAEQRBqJAAgAgvOBAICfwF9AkACQAJAIAFFDQACQAJAAkACQAJA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QgA3AgAgAEIANwKsCSAAQdQJakIANwIAIABCADcCzAkgAEGIDWpCADcCACAAQgA3AoANIABBfzYCjA4gAEH0AGpBAEGMARArGiAAQgA3AkQgAEIANwI8IABCADcCNCAAQgA3AiwgAEIANwIkIABBkA1qQQBB/AAQKxogAEGsAmpBAEGkAhArGiAAQQA2AoQFIABCADcC/AQgAEIANwL0BCAAQgA3AuwEIABCADcC5AQgAEIANwLcBCAAQgA3AtQEIABBnAVqQQBBgAQQKxogAEHcCWpBAEHhABArGiAAQcAKakEAQcQAECsaIABBiAtqQQBB+AEQKxogAEGQDmpBAEHEARArGiAAC48CAQN/IwBBIGsiAyQAIANCADcDGCADQgA3AxAgA0IANwMIAkACfyABRQRAIAAgA0EIaiACQQAQ/wIMAQsgACADQQhqIAIgAUEAQeQEECsQ/wILIgINACABIAMtAAg6AAAgASADLQAJOgABQQAhAiADLwEKIgBBCU1BAEEBIAB0QYEGcRsNACABIAA7AQIgAEECRwRAIAFBATYCCCADLwEMIQAgAUEBNgIMIAEgADYCFCADKAIQIQAgASADKQIUNwKYAyABQQA2AqQDIAEgADYClAMLIAEoAhAiBEUNACADLwEcIQVBACEAA0AgASAAQQJ0aiAFOwG0BCAAQQFqIgAgBEcNAAsLIANBIGokACACC+UBAQF/IwBBIGsiAyQAIANCADcDGCADQgA3AxAgA0IANwMIAkAgAkUEQEEBIQAMAQsgACABIANBCGogAkEAQeQEECsiARDuCCIADQAgASADLQAIOgAAIAEgAy0ACToAASABIAMvAQoiADsBAiAAQQJHBEAgAUEBNgIIIAMvAQwhACADLwEOIQIgAUFAa0EANgIAIAFBADYCHCABIAI2AhggASAANgIUIAFBATYCDCADKAIQIQAgASADKQIUNwKYAyABQgA3AqADIAEgADYClAMLQQAhACABQQA2AhALIANBIGokACAAC30BAX9BgYCAgHghBAJAIABFDQAgAUUNACACRQ0AIAJCADcCACACQgA3AhAgAkIANwIIQQAhBCAAIAEgAiADEIgDRQ0AIAAgASACIAMQiAlFDQAgACABIAIgAxD6CEUNACAAIAEgAhD4CEUNACAAIAEgAhCBA0EARyEECyAECywAIAFF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QQAhBCADQQA2AiggA0IANwMgIANCADcDGCADQgA3AxAgA0IANwMIIANCADcDACAAEIMBIQsDQAJAIAQgAEGAgIABIARrIAIgBGoQLiIFaiIGQQRJDQBBACEHIAsgBSAKaiIKrVMNAAJAAkACQANAAkAgByIEQQFqIQcCQCACIARqIgUtAABBxABHDQAgAiAHai0AAEHIAEcNACAFLQACQcEARw0AIAUtAANB1gBGDQELIARBBWogBk0NAQwCCwsgBEF/Sg0BCyAGIAlqQX1qIQkMAQsgBSAGIARrIAMQggMiB0EBTQRAIAdBAWsNAiADKAIAIARqIQgMAQsgBEEEaiEICyAGIAhJDQAgAiACIAhqIAYgCGsiBBAxIARFDQAgCCAJaiIJQYCAgAFJDQELCyADLwEERQRAQQEhBAwBCyABQYGAAjsBAiABIAMoAgg7AQQgASADKAIYOwEIIAEgAygCHDoACiABIAMoAiA6AAsgASADKAIkNgIMIAEgAygCKDYCEEEAIQQLIANBMGokACAEC+gCAQR/IwBBMGsiAyQAQYGAgIB4IQQCQCAARQ0AIAJFDQAgA0EANgIoIANCADcDICADQgA3AxggA0IANwMQIANCADcDCCADQgA3AwADQAJAIAFBBEkNAEEAIQYgAEUNAANAAkAgBiIEQQFqIQYCQCAAIARqIgUtAABBxABHDQAgACAGai0AAEHIAEcNACAFLQACQcEARw0AIAUtAANB1gBGDQELIARBBWogAU0NAQwCCwsgBEEASA0AAn8gBSABIARrIgAgAxCCAyIBQQFNBEAgAUEBaw0CIAAgAygCACIESQ0CIAAgBGshASAEIAVqDAELIABBfGohASAFQQRqCyEAIAENAQsLIAMvAQRFBEBBASEEDAELIAJBgYACOwECIAIgAygCCDsBBCACIAMoAhg7AQggAiADKAIcOgAKIAIgAygCIDoACyACIAMoAiQ2AgwgAiADKAIoNgIQQQAhBAsgA0EwaiQAIAQLWQEBf0F+IQQCQCAARQ0AIAFFDQAgAkUNAEGCgICAeCEEIABBgICAASACEC4iAEGACEkNACACIAAgASADEIQDRQRAQQAPCyACIAAgASADEIUDQQBHIQQLIAQLOQEBf0F+IQQCQCAARQ0AIAJFDQAgACABIAIgAxCFA0UEQEEADwsgACABIAIgAxCEA0EARyEECyAEC5kBAQN/IABFBEBBfg8LAkAgAUEETwRAIAFBfWohBEEAIQEDQCABIgNBAWohAQJAIAAgA2oiAi0AAA0AIAAgAWotAAANACACLQACQQFHDQAgAi0AA0HGfmoiAkEmSw0AIAJBBGsOIgADAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCyABIARHDQALC0F/IQMLIAMLvQMBA38CQCAARQ0AIAJFDQBBfyEEAkAgAUEESQ0AIAAtAAANASAALQABDQEgAC0AAkEBRw0BAkAgAC0AAyIDQcZ+aiIFQQJLDQACQAJAIAVBAWsOAgIBAAsgAUEOSQ0CIAAtAA1BB3FBDmoiAyABSw0CIAAtAARBwAFxQcAARw0DIANBBGogAUsNAgJ/IAMgACADaiIALQAADQAaIAMgAC0AAQ0AGiADIAAtAAJBAUcNABogAyAALQADQbsBRw0AGiABIANrIgFBBkkNAyAALQAFIAAtAARBCHRyQQZqIgUgAUsNBEF+IQQgAC0AC0H/AHFB/wBHDQMgAkEBNgIIIAMgBWoLIQAgAkEBNgIAIAAPCyAAIAEgAhD9CA8LAkAgAigCMEEPRgRAIAFBCEkNAiADQcABRw0BIAAtAAgiA0EQaiABSw0CAkAgACADaiIDLQAJQf8BRgRAIAMtAApBAXENAQsgAkEBNgIMDAILIAMtAAshAyACQQE2AgwgAiADQTxxQdD2CWooAgA2AuwFDAELIAFBBkkNAQtBfyAALQAFIAAtAARBCHRyQQZqIgAgACABSxshBAsgBA8LQX4LvwQBB38gAEUEQEF+DwsgAkUEQEF+DwsCf0F/IAFBBkkNABogAC0ABSAALQAEQQh0ciIGQfoHSwRAQX4PCyAGQQZqIgcgAUsEQEF+DwsCQCACKAIARQ0AIAAtAAkgAC0ACEEIdHIiBEEKaiIDIAdLBEBBfg8LIABBCmogBCACQTRqIgkQrQFBfiAEQQxqIgEgACAEai0ACyAAIANqLQAAQQh0cmogB0sNARogAkFAa0EANgIAIAZBAmohBiACQRBqIQQDQAJAIAAgAWoiCC0AACIDQX9qIgVBsQFLDQACQAJAIAVBAmsOrQEBAQICAgICAgICAgIBAAICAgICAgICAgIAAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAgICAgICAgICAgICAgIBAQEBAgIBAgEBAgIBAQECAgICAgIBAQICAgICAgICAgALIAQgAigCQCIDQdQAbGogCC0AATYCPCAILQAAIQUgAiADQQFqNgJAIAQgA0ECdGogBTYCACACKAJAQQhJDQEgAkEHNgJADAELIAIgAzYCMAsgCC0AAyAILQACQQh0ciIDIAFBBGoiBWoiASAHTQRAIAkoAgAEQCAAIAVqIAMgCRCtAQsgASAGSQ0BCwsgAkEBNgIEIAIoAjBBD0YNACACQQE2AgwLIAcLC8kDAQd/AkAgAEUNACABRQ0AIAAtAABBxwBHDQACQCAALQADQQR2QQNxQX9qIgNBAksNACAALQABIQQgAC0AAiEGAn8CQAJAIANBAWsOAgMBAAtBuAEhAyAAQQRqDAELIAAtAAQiBUG3AUsNAUG3ASAFayEDIAAgBWpBBWoLIQAgBEEGdkEBcSEFIARBCHRBgD5xIAZyIgRFBEAgBQRAIAMgAC0AACIETQ0CIAMgBEEBaiICayEDIAAgAmohAAtBfyECIANBA0kNASAALQABIgJBwABxDQIgAC0AAiACQQh0QYAecXIiAkEDaiADSw0CIAJBd2pB9AdLDQIgAkF/aiEFIAAtAAchBiAALQAGIQdBCCECA0AgAkEEaiIEIANPDQMgACACQQFyai0AACAAIAJqLQAAQQh0ciIIBEAgASAINgIEIAEgACACQQNyai0AACAAIAJBAnJqLQAAQR9xQQh0cjYCCAsgBCICIAVJDQALIAYgB0YEQCABQQE2AgALQQBBfiABKAIEGw8LIAQgASgCCEcNACAFBH8gAyAALQAAIgRNDQEgAyAEQQFqIgJrIQMgACACagUgAAsgAyABEP8IIQILIAIPC0F+C+IDAQl/AkAgAEUNACACRQ0AQX8hBwJAIAFBDEkNACAALQABIgNBwABxDQEgAC0AAiADQQh0QYAecXIiBEEDaiABSw0BQQAhByACKAIEIAAtAAQgAC0AA0EIdHJHDQAgAC0ACyAALQAKQQ9xQQh0ciIFQQxqIgMgAUsNASAALQAHIQggAC0ABiEJIABBDGogBSACQTRq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bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAc3RkOjp1MTZzdHJpbmcAc3RkOjp1MzJzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4ATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQAARAwAAFUHAADIDAAAFgcAAAAAAAABAAAAfAcAAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAyAwAAJwHAAAAAAAAAQAAAHwHAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUAAMgMAAD0BwAAAAAAAAEAAAB8BwAAAAAAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEc05TXzExY2hhcl90cmFpdHNJRHNFRU5TXzlhbGxvY2F0b3JJRHNFRUVFAAAAyAwAAEwIAAAAAAAAAQAAAHwHAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUAAADIDAAAqAgAAAAAAAABAAAAfAcAAAAAAABOMTBlbXNjcmlwdGVuM3ZhbEUAAEQMAAAECQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAABEDAAAIAkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAARAwAAEgJAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUAAEQMAABwCQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAABEDAAAmAkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQAARAwAAMAJAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUAAEQMAADoCQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAABEDAAAEAoAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQAARAwAADgKAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUAAEQMAABgCgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAABEDAAAiAoAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQAARAwAALAKAABTdDl0eXBlX2luZm8AAAAARAwAANgKAABOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQAAAABsDAAA8AoAAOgKAABOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAAABsDAAAIAsAABQLAAAAAAAAlAsAAAIAAAADAAAABAAAAAUAAAAGAAAATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAGwM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iSxpc284ODU5NQAAIAAMRFBBBh2EUEIKLcRQQw4B8BBEEUk0EUUVWXQRRhlptBFHHXn0EUghiTQSSSWZdBJKKam0EkstufQSTDHJNBNNNdl0E0456bQTTz359BNQQQk1FFFFGXUUUkkptRRTTTn1FFRXRiXVVFRVZdVVWGWl1VZcDdCVV2lzbzg4NTk2AAAgAAQQQAAABBBAAAEEEEAAlAEQQAABBBBAAAEEEEAAAQQQQGUBBBCAZQFchllmmm3GWWeefQZaaKKNRlpppp2GWmqqrcZaa669BlsAAQQQQACxyTYbbbXZdhtuuem2G2+9+fYbcMEJN1wAAQQQQAABBBBAAAEEEEAAaXNvODg1OTcAACAAFGkkAFRWCQAAAACwCwAAABDAkAAAAAAAvPTiCwC/ABMMAMIAMAwxxRhzDDLJKLMMM8048ww00UgzDTXVWBPANdhko8023HTjzTfghCPOOOSUY8456KSjzjrstOPOO/DEI8889NRjzz345KPPPvz0488/AAUkUABpc284ODU5OAAAIAAEAEGMKwsBwABBoCsLZPAAAAAAAEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAAkXTVZdddeOWl11589eXXX4AFJthghBVm2GGIJabYYow15lgAAfwIZABpc284ODU5OQAAUE4AQZMsCwN4UQgAQassCwFPAEG7LAvLA3xhCABpc284ODU5MTAAACAA2ECEFFpgIQYAZwhxSCOkABDJHADcUMQUW2QxBgBoDIGII6UMKQkdMgAAAAAAAAAAFz4AgAQARgAAAAAAvFEHAAAAAMAjAGQCAAAAAAAAADMAAAAAAAAAQBc/AJAEAEcAAAAAAMBhBwAAAAAAJABoAgAAAAAAABlpc284ODU5MTEAdGlzNjIwAAAgAEAXnXTTUVeddddhl51223HXnXffgReeeOORV55556GXnnrrsdeee+/BF59889FXn3334Zeffvvx159//wEYoIADEliggQcimGAAAQQQgIILMtiggw9CGKGEE1JYoYUXYpihhhty2KGHH4IYoogjkliiiQEEEEAAaXNvODg1OTEzAAAgACQJAAAAKAkAAA0A0AcAAAAAwAIAAAAAAEgCAAAAEADgBwAAAACAAzZwIQMOAACABBE+AACKEVKIocUZh7TxBgB1AAAAAJmsEUgkAIhCCgA3dDFDDgAAkEQRPwAQyhFTjLEFGoi4AQcAdgAAAACasCGIJACMUoqRaXNvODg1OTE0AAAgAJyIIgA89JAiADUCcKOKOwIAwCcrsghFFC26CMCLNsKIY4w85qijjABBmjALE5sAAAAAAAAAwIwAAAAAAAAA0AkAQcIwCy2cAAAAAAAAAACNAAAAAAAAAOAJAGlzbzg4NTkxNQBsYXRpbjkAACRUAnAIAIgAQf0wCw6kAAAAAKUAAAAAeejxCQBB3DELO2lzbzg4NTkxNgAAIADYcMMaVCp5CACIALAKAKAAEIooAADgAxukJAkAAKX8wAoAeejxySgAAAAADQDgAEGkMgsbQrQBAAAA3AFAIJcAAAAAACDRCgAAAABADQDkAEHMMgu7A0O4AQAAAOABgCCYAAAAAAAk4QoAY3AxMjUwAHdpbmRvd3MxMjUwAAAAVAZwZABKOrkkkwE8eQiUgSxCCigBFGkkkkk2GaSQAWCJSJSCMFJKKADAEssaANgAAAAAAFAIAAAAAIAoAAAwCxsAAAAAAADcYAgAadSixih7AAAADQCUgQMAPgCABABKAAAAEEK0EQcAANwBAAB/VALAJQAAkAgAfAAAQA0AmJEDAD8AkAQASwAAQBBDuCEHAADgAQAAgFgCACYAAKCILGNwMTI1MQB3aW5kb3dzMTI1MQAAAAQVdORUSjq5JJNUPrkQlAw51BBEUhVpJJJJNhmkkAFgmVWUWnG1lVcAPNSVQgB8BQAAAwFgEAAAAABAQgAAgJBVYAEAAABRXUkVAFgdVNVVEUk0EUUVWXQRRhlptBFHHXn0EUghiTQSSSWZdBJKKam0EkstufQSTDHJNBNNNdl0E0456bQTTz359BNQQQk1FFFFGXUUUkkptRRTTTn1FFRjcDEyNTIAd2luZG93czEyNTIAAABUBnCkKUo6uSSTrzx5CJR5BEBKAAEUaSSSSTYZpJC0YIlIlHoEUMonAEH/NgvyAWNwMTI1MwB3aW5kb3dzMTI1MwAAAFQGcKQpSjq5JJMBPBkAlAEEEEAAARRpJJJJNhmkkAFgGUCUAQQQQAAA9OILAAAAAAAAAAAQAAAAAADAkAAAAAAAvAAAAAC/ABMMAMIAMAwxxRhzDDLJKLMMM8048ww00UgzDTXVWBPANdhko8023HTjzTfghCPOOOSUY8456KSjzjrstOPOO/DEI8889NRjzz345KPPPvz0488/AAUkUABjcDEyNTQAd2luZG93czEyNTQAAABUBnCkKUo6uSSTrzx5CJR5BBBAAAEUaSSSSTYZpJC0YIlIlHoEEMAnAEGtOQsBTgBBvTkLA3hRCABB1TkLAU8AQeU5C058YQgAY3AxMjU1AHdpbmRvd3MxMjU1AAAAVAZwpClKOrkkk688GQCUAQQQQAABFGkkkkk2GaSQtGAZQJQBBBBAAAAAAAAAUgIAAAAAAMAAQcY6C5gB8AAAAAAAAABhiTUWWWWZdRZaaakVwFpsteXWW3DFJddcj0EWmWSTBRBAAAEEEEAAdNVl11145aXXXnz15ddfgAUm2GCEFWbYYYglpthijDXmWAAB/AhkAGNwMTI1NgB3aW5kb3dzMTI1NgAAAFQWd6QpSjq5JJOvPEkclHkYl9xxyxVpJJJJNhmkkMphiVyUevToI3MAUAYAQec7CwLQHABB+zsLqQFQGQAAAACAZc5dhllmmm3GWWeefQZaaKKNRlpppp2GWmqqrcYaAK259hpssck2G20A1AaAbbfhlhsAAAAAAAC67QYAALz15ttvAAAXHADCATAcAAD8CORzY3AxMjU3AHdpbmRvd3MxMjU3AAAAVAZwZABKOrkkkwE8GQCUARAAiwIBFGkkkkk2GaSQAWAZQJQBGDBLAAAEAAAAAAQAAAANANAHAAAAAMACAEGuPQuXARAA4AcAAAAAgAM2cCEDDgAAgAQRPgAAihFSiKHFGYe08QYAdQAAAACZrBFIJACIQgoAN3QxQw4AAJBEET8AEMoRU4yxBRqIuAEHAHYAAAAAmrAhiCQAjFKKLGNwMTI1OAB3aW5kb3dzMTI1OAAAAFQGcKQpSjq5JJOvPBkAlHkEEEAAARRpJJJJNhmkkLRgGUCUegQQwCcAQfE+CwENAEH8PgsetgAAAABCAJALAACcAgAAAAAAAAAApIILAAAAAEANAEGkPwvI/QK3AAAAAEMAoAsAAKACAAAAAAAAAACoMiUAa29pOHIAAABghinmmGSWaeaZaKapJqKJKrooo406+qiXkGap5ZZcdinAlwcgkMADa7LZZlRuvglnnHLOSWeddt6JZ5567snnQH36+SeggQo6KKGFGnpoAU/FJNNRNdlUFE1G5aTTTjz15NNPQEEVlFBDEXXTTE0xhVNSTimF1FIvRSTRSRVZVBJFJmWk0UYcdeTRRyDBFJJII5F00UQtsYRRSi6phNJKa29pOHUAAABghinmmGSWaeaZaKapJqKJKrooo406+qiXkGap5ZZcdinAlwcgkMADa7LZZlRUvWnVVXLOSWeddoKFZ5567snnQAb5iVBCgQo6KKGFfnVoAU/FJNNRNdlUFE1G5aTTTjz15NNPQEEVlFBDEXXTTE0xhVNSTimF1FIvRSTRSRVZVBJFJmWk0UYcdeTRRyDBFJJII5F00UQtsYRRSi6phNJKY3A0MzcAAAAXwECCBx90AIIIJZgwQgoonEBBBRg4sMAKLKjwggsxZMBBBBJMYKUpkUYaaaSRRhpppJFGGmmkkUYaaaSNOvpomGfy2WeccPrJppx43mnnmGSmiaaZYKqZp551vklooHuueaigg/4JKJ1ztummoYWWKaaiiS7KKKLlRIoMPdfcEyk+2jTTDTqR6pNOpJFG2iWXXn75wJYHZJmAlpEiAKkAY3A4NTAAAAAXwECCBx90AIIIJZgwQgoonEBBBRg4sMAKLKjwggsxZMABBBI0wIApkUYaaaSRRhpppJFGGmmkkUYaaaSNOvpomGdGGmmkBfjJppx4RjDBmGSmiaaZYKoZaaR1vklooHuueWikkUYaaaSRfhFppJGWKaaiiUYaKaKRRhpppJFGGmmkkUYaaaSRRmpApJFGSmSkkQ7wgAIHEJBApJEiAKkAAAAAAk4ETgVOBk4PThJOF04fTiBOIU4jTiZOKU4uTi9OMU4zTjVON048TkBOQU5CTkRORk5KTlFOVU5XTlpOW05iTmNOZE5lTmdOaE5qTmtObE5tTm5Ob05yTnROdU52TndOeE55TnpOe058Tn1Of06AToFOgk6DToROhU6HTopOkE6WTpdOmU6cTp1Onk6jTqpOr06wTrFOtE62TrdOuE65TrxOvU6+TshOzE7PTtBO0k7aTttO3E7gTuJO5k7nTulO7U7uTu9O8U70TvhO+U76TvxO/k4ATwJPA08ETwVPBk8HTwhPC08MTxJPE08UTxVPFk8cTx1PIU8jTyhPKU8sTy1PLk8xTzNPNU83TzlPO08+Tz9PQE9BT0JPRE9FT0dPSE9JT0pPS09MT1JPVE9WT2FPYk9mT2hPak9rT21Pbk9xT3JPdU93T3hPeU96T31PgE+BT4JPhU+GT4dPik+MT45PkE+ST5NPlU+WT5hPmU+aT5xPnk+fT6FPok+kT6tPrU+wT7FPsk+zT7RPtk+3T7hPuU+6T7tPvE+9T75PwE/BT8JPxk/HT8hPyU/LT8xPzU/ST9NP1E/VT9ZP2U/bT+BP4k/kT+VP50/rT+xP8E/yT/RP9U/2T/dP+U/7T/xP/U//TwBQAVACUANQBFAFUAZQB1AIUAlQClALUA5QEFARUBNQFVAWUBdQG1AdUB5QIFAiUCNQJFAnUCtQL1AwUDFQMlAzUDRQNVA2UDdQOFA5UDtQPVA/UEBQQVBCUERQRVBGUElQSlBLUE1QUFBRUFJQU1BUUFZQV1BYUFlQW1BdUF5QX1BgUGFQYlBjUGRQZlBnUGhQaVBqUGtQbVBuUG9QcFBxUHJQc1B0UHVQeFB5UHpQfFB9UIFQglCDUIRQhlCHUIlQilCLUIxQjlCPUJBQkVCSUJNQlFCVUJZQl1CYUJlQmlCbUJxQnVCeUJ9QoFChUKJQpFCmUKpQq1CtUK5Qr1CwULFQs1C0ULVQtlC3ULhQuVC8UL1QvlC/UMBQwVDCUMNQxFDFUMZQx1DIUMlQylDLUMxQzVDOUNBQ0VDSUNNQ1FDVUNdQ2FDZUNtQ3FDdUN5Q31DgUOFQ4lDjUORQ5VDoUOlQ6lDrUO9Q8FDxUPJQ9FD2UPdQ+FD5UPpQ/FD9UP5Q/1AAUQFRAlEDUQRRBVEIUQlRClEMUQ1RDlEPURBREVETURRRFVEWURdRGFEZURpRG1EcUR1RHlEfUSBRIlEjUSRRJVEmUSdRKFEpUSpRK1EsUS1RLlEvUTBRMVEyUTNRNFE1UTZRN1E4UTlROlE7UTxRPVE+UUJRR1FKUUxRTlFPUVBRUlFTUVdRWFFZUVtRXVFeUV9RYFFhUWNRZFFmUWdRaVFqUW9RclF6UX5Rf1GDUYRRhlGHUYpRi1GOUY9RkFGRUZNRlFGYUZpRnVGeUZ9RoVGjUaZRp1GoUalRqlGtUa5RtFG4UblRulG+Ub9RwVHCUcNRxVHIUcpRzVHOUdBR0lHTUdRR1VHWUddR2FHZUdpR3FHeUd9R4lHjUeVR5lHnUehR6VHqUexR7lHxUfJR9FH3Uf5RBFIFUglSC1IMUg9SEFITUhRSFVIcUh5SH1IhUiJSI1IlUiZSJ1IqUixSL1IxUjJSNFI1UjxSPlJEUkVSRlJHUkhSSVJLUk5ST1JSUlNSVVJXUlhSWVJaUltSXVJfUmBSYlJjUmRSZlJoUmtSbFJtUm5ScFJxUnNSdFJ1UnZSd1J4UnlSelJ7UnxSflKAUoNShFKFUoZSh1KJUopSi1KMUo1SjlKPUpFSklKUUpVSllKXUphSmVKaUpxSpFKlUqZSp1KuUq9SsFK0UrVStlK3UrhSuVK6UrtSvFK9UsBSwVLCUsRSxVLGUshSylLMUs1SzlLPUtFS01LUUtVS11LZUtpS21LcUt1S3lLgUuFS4lLjUuVS5lLnUuhS6VLqUutS7FLtUu5S71LxUvJS81L0UvVS9lL3UvhS+1L8Uv1SAVMCUwNTBFMHUwlTClMLUwxTDlMRUxJTE1MUUxhTG1McUx5TH1MiUyRTJVMnUyhTKVMrUyxTLVMvUzBTMVMyUzNTNFM1UzZTN1M4UzxTPVNAU0JTRFNGU0tTTFNNU1BTVFNYU1lTW1NdU2VTaFNqU2xTbVNyU3ZTeVN7U3xTfVN+U4BTgVODU4dTiFOKU45Tj1OQU5FTklOTU5RTllOXU5lTm1OcU55ToFOhU6RTp1OqU6tTrFOtU69TsFOxU7JTs1O0U7VTt1O4U7lTulO8U71TvlPAU8NTxFPFU8ZTx1POU89T0FPSU9NT1VPaU9xT3VPeU+FT4lPnU/RT+lP+U/9TAFQCVAVUB1QLVBRUGFQZVBpUHFQiVCRUJVQqVDBUM1Q2VDdUOlQ9VD9UQVRCVERURVRHVElUTFRNVE5UT1RRVFpUXVReVF9UYFRhVGNUZVRnVGlUalRrVGxUbVRuVG9UcFR0VHlUelR+VH9UgVSDVIVUh1SIVIlUilSNVJFUk1SXVJhUnFSeVJ9UoFShVKJUpVSuVLBUslS1VLZUt1S5VLpUvFS+VMNUxVTKVMtU1lTYVNtU4FThVOJU41TkVOtU7FTvVPBU8VT0VPVU9lT3VPhU+VT7VP5UAFUCVQNVBFUFVQhVClULVQxVDVUOVRJVE1UVVRZVF1UYVRlVGlUcVR1VHlUfVSFVJVUmVShVKVUrVS1VMlU0VTVVNlU4VTlVOlU7VT1VQFVCVUVVR1VIVUtVTFVNVU5VT1VRVVJVU1VUVVdVWFVZVVpVW1VdVV5VX1VgVWJVY1VoVWlVa1VvVXBVcVVyVXNVdFV5VXpVfVV/VYVVhlWMVY1VjlWQVZJVk1WVVZZVl1WaVZtVnlWgVaFVolWjVaRVpVWmVahVqVWqVatVrFWtVa5Vr1WwVbJVtFW2VbhVulW8Vb9VwFXBVcJVw1XGVcdVyFXKVctVzlXPVdBV1VXXVdhV2VXaVdtV3lXgVeJV51XpVe1V7lXwVfFV9FX2VfhV+VX6VftV/FX/VQJWA1YEVgVWBlYHVgpWC1YNVhBWEVYSVhNWFFYVVhZWF1YZVhpWHFYdViBWIVYiViVWJlYoVilWKlYrVi5WL1YwVjNWNVY3VjhWOlY8Vj1WPlZAVkFWQlZDVkRWRVZGVkdWSFZJVkpWS1ZPVlBWUVZSVlNWVVZWVlpWW1ZdVl5WX1ZgVmFWY1ZlVmZWZ1ZtVm5Wb1ZwVnJWc1Z0VnVWd1Z4VnlWelZ9Vn5Wf1aAVoFWglaDVoRWh1aIVolWilaLVoxWjVaQVpFWklaUVpVWllaXVphWmVaaVptWnFadVp5Wn1agVqFWolakVqVWplanVqhWqVaqVqtWrFatVq5WsFaxVrJWs1a0VrVWtla4VrlWula7Vr1Wvla/VsBWwVbCVsNWxFbFVsZWx1bIVslWy1bMVs1WzlbPVtBW0VbSVtNW1VbWVthW2VbcVuNW5VbmVudW6FbpVupW7FbuVu9W8lbzVvZW91b4VvtW/FYAVwFXAlcFVwdXC1cMVw1XDlcPVxBXEVcSVxNXFFcVVxZXF1cYVxlXGlcbVx1XHlcgVyFXIlckVyVXJlcnVytXMVcyVzRXNVc2VzdXOFc8Vz1XP1dBV0NXRFdFV0ZXSFdJV0tXUldTV1RXVVdWV1hXWVdiV2NXZVdnV2xXbldwV3FXcld0V3VXeFd5V3pXfVd+V39XgFeBV4dXiFeJV4pXjVeOV49XkFeRV5RXlVeWV5dXmFeZV5pXnFedV55Xn1elV6hXqlesV69XsFexV7NXtVe2V7dXuVe6V7tXvFe9V75Xv1fAV8FXxFfFV8ZXx1fIV8lXylfMV81X0FfRV9NX1lfXV9tX3FfeV+FX4lfjV+VX5lfnV+hX6VfqV+tX7FfuV/BX8VfyV/NX9Vf2V/dX+1f8V/5X/1cBWANYBFgFWAhYCVgKWAxYDlgPWBBYElgTWBRYFlgXWBhYGlgbWBxYHVgfWCJYI1glWCZYJ1goWClYK1gsWC1YLlgvWDFYMlgzWDRYNlg3WDhYOVg6WDtYPFg9WD5YP1hAWEFYQlhDWEVYRlhHWEhYSVhKWEtYTlhPWFBYUlhTWFVYVlhXWFlYWlhbWFxYXVhfWGBYYVhiWGNYZFhmWGdYaFhpWGpYbVhuWG9YcFhxWHJYc1h0WHVYdlh3WHhYeVh6WHtYfFh9WH9YgliEWIZYh1iIWIpYi1iMWI1YjliPWJBYkViUWJVYlliXWJhYm1icWJ1YoFihWKJYo1ikWKVYplinWKpYq1isWK1YrlivWLBYsViyWLNYtFi1WLZYt1i4WLlYuli7WL1Yvli/WMBYwljDWMRYxljHWMhYyVjKWMtYzFjNWM5Yz1jQWNJY01jUWNZY11jYWNlY2ljbWNxY3VjeWN9Y4FjhWOJY41jlWOZY51joWOlY6ljtWO9Y8VjyWPRY9Vj3WPhY+lj7WPxY/Vj+WP9YAFkBWQNZBVkGWQhZCVkKWQtZDFkOWRBZEVkSWRNZF1kYWRtZHVkeWSBZIVkiWSNZJlkoWSxZMFkyWTNZNVk2WTtZPVk+WT9ZQFlDWUVZRllKWUxZTVlQWVJZU1lZWVtZXFldWV5ZX1lhWWNZZFlmWWdZaFlpWWpZa1lsWW1ZbllvWXBZcVlyWXVZd1l6WXtZfFl+WX9ZgFmFWYlZi1mMWY5Zj1mQWZFZlFmVWZhZmlmbWZxZnVmfWaBZoVmiWaZZp1msWa1ZsFmxWbNZtFm1WbZZt1m4WbpZvFm9Wb9ZwFnBWcJZw1nEWcVZx1nIWclZzFnNWc5Zz1nVWdZZ2VnbWd5Z31ngWeFZ4lnkWeZZ51npWepZ61ntWe5Z71nwWfFZ8lnzWfRZ9Vn2WfdZ+Fn6WfxZ/Vn+WQBaAloKWgtaDVoOWg9aEFoSWhRaFVoWWhdaGVoaWhtaHVoeWiFaIlokWiZaJ1ooWipaK1osWi1aLlovWjBaM1o1WjdaOFo5WjpaO1o9Wj5aP1pBWkJaQ1pEWkVaR1pIWktaTFpNWk5aT1pQWlFaUlpTWlRaVlpXWlhaWVpbWlxaXVpeWl9aYFphWmNaZFplWmZaaFppWmtabFptWm5ab1pwWnFaclpzWnhaeVp7WnxafVp+WoBagVqCWoNahFqFWoZah1qIWolailqLWoxajVqOWo9akFqRWpNalFqVWpZal1qYWplanFqdWp5an1qgWqFaolqjWqRapVqmWqdaqFqpWqtarFqtWq5ar1qwWrFatFq2WrdauVq6WrtavFq9Wr9awFrDWsRaxVrGWsdayFrKWstazVrOWs9a0FrRWtNa1VrXWtla2lrbWt1a3lrfWuJa5FrlWuda6FrqWuxa7VruWu9a8FryWvNa9Fr1WvZa91r4Wvla+lr7Wvxa/Vr+Wv9aAFsBWwJbA1sEWwVbBlsHWwhbClsLWwxbDVsOWw9bEFsRWxJbE1sUWxVbGFsZWxpbG1scWx1bHlsfWyBbIVsiWyNbJFslWyZbJ1soWylbKlsrWyxbLVsuWy9bMFsxWzNbNVs2WzhbOVs6WztbPFs9Wz5bP1tBW0JbQ1tEW0VbRltHW0hbSVtKW0tbTFtNW05bT1tSW1ZbXltgW2FbZ1toW2tbbVtuW29bclt0W3Zbd1t4W3lbe1t8W35bf1uCW4ZbiluNW45bkFuRW5JblFuWW59bp1uoW6lbrFutW65br1uxW7Jbt1u6W7tbvFvAW8Fbw1vIW8lbylvLW81bzlvPW9Fb1FvVW9Zb11vYW9lb2lvbW9xb4FviW+Nb5lvnW+lb6lvrW+xb7VvvW/Fb8lvzW/Rb9Vv2W/db/Vv+WwBcAlwDXAVcB1wIXAtcDFwNXA5cEFwSXBNcF1wZXBtcHlwfXCBcIVwjXCZcKFwpXCpcK1wtXC5cL1wwXDJcM1w1XDZcN1xDXERcRlxHXExcTVxSXFNcVFxWXFdcWFxaXFtcXFxdXF9cYlxkXGdcaFxpXGpca1xsXG1ccFxyXHNcdFx1XHZcd1x4XHtcfFx9XH5cgFyDXIRchVyGXIdciVyKXItcjlyPXJJck1yVXJ1cnlyfXKBcoVykXKVcplynXKhcqlyuXK9csFyyXLRctly5XLpcu1y8XL5cwFzCXMNcxVzGXMdcyFzJXMpczFzNXM5cz1zQXNFc01zUXNVc1lzXXNhc2lzbXNxc3VzeXN9c4FziXONc51zpXOtc7FzuXO9c8VzyXPNc9Fz1XPZc91z4XPlc+lz8XP1c/lz/XABdAV0EXQVdCF0JXQpdC10MXQ1dD10QXRFdEl0TXRVdF10YXRldGl0cXR1dH10gXSFdIl0jXSVdKF0qXStdLF0vXTBdMV0yXTNdNV02XTddOF05XTpdO108XT9dQF1BXUJdQ11EXUVdRl1IXUldTV1OXU9dUF1RXVJdU11UXVVdVl1XXVldWl1cXV5dX11gXWFdYl1jXWRdZV1mXWddaF1qXW1dbl1wXXFdcl1zXXVddl13XXhdeV16XXtdfF19XX5df12AXYFdg12EXYVdhl2HXYhdiV2KXYtdjF2NXY5dj12QXZFdkl2TXZRdlV2WXZddmF2aXZtdnF2eXZ9doF2hXaJdo12kXaVdpl2nXahdqV2qXatdrF2tXa5dr12wXbFdsl2zXbRdtV22XbhduV26XbtdvF29Xb5dv13AXcFdwl3DXcRdxl3HXchdyV3KXctdzF3OXc9d0F3RXdJd013UXdVd1l3XXdhd2V3aXdxd313gXeNd5F3qXexd7V3wXfVd9l34Xfld+l37Xfxd/10AXgReB14JXgpeC14NXg5eEl4TXhdeHl4fXiBeIV4iXiNeJF4lXiheKV4qXiteLF4vXjBeMl4zXjReNV42XjleOl4+Xj9eQF5BXkNeRl5HXkheSV5KXkteTV5OXk9eUF5RXlJeU15WXldeWF5ZXlpeXF5dXl9eYF5jXmReZV5mXmdeaF5pXmpea15sXm1ebl5vXnBecV51XndeeV5+XoFegl6DXoVeiF6JXoxejV6OXpJemF6bXp1eoV6iXqNepF6oXqleql6rXqxerl6vXrBesV6yXrReul67XrxevV6/XsBewV7CXsNexF7FXsZex17IXstezF7NXs5ez17QXtRe1V7XXthe2V7aXtxe3V7eXt9e4F7hXuJe417kXuVe5l7nXule617sXu1e7l7vXvBe8V7yXvNe9V74Xvle+178Xv1eBV8GXwdfCV8MXw1fDl8QXxJfFF8WXxlfGl8cXx1fHl8hXyJfI18kXyhfK18sXy5fMF8yXzNfNF81XzZfN184XztfPV8+Xz9fQV9CX0NfRF9FX0ZfR19IX0lfSl9LX0xfTV9OX09fUV9UX1lfWl9bX1xfXl9fX2BfY19lX2dfaF9rX25fb19yX3RfdV92X3hfel99X35ff1+DX4ZfjV+OX49fkV+TX5Rfll+aX5tfnV+eX59foF+iX6NfpF+lX6Zfp1+pX6tfrF+vX7BfsV+yX7NftF+2X7hfuV+6X7tfvl+/X8BfwV/CX8dfyF/KX8tfzl/TX9Rf1V/aX9tf3F/eX99f4l/jX+Vf5l/oX+lf7F/vX/Bf8l/zX/Rf9l/3X/lf+l/8XwdgCGAJYAtgDGAQYBFgE2AXYBhgGmAeYB9gImAjYCRgLGAtYC5gMGAxYDJgM2A0YDZgN2A4YDlgOmA9YD5gQGBEYEVgRmBHYEhgSWBKYExgTmBPYFFgU2BUYFZgV2BYYFtgXGBeYF9gYGBhYGVgZmBuYHFgcmB0YHVgd2B+YIBggWCCYIVghmCHYIhgimCLYI5gj2CQYJFgk2CVYJdgmGCZYJxgnmChYKJgpGClYKdgqWCqYK5gsGCzYLVgtmC3YLlgumC9YL5gv2DAYMFgwmDDYMRgx2DIYMlgzGDNYM5gz2DQYNJg02DUYNZg12DZYNtg3mDhYOJg42DkYOVg6mDxYPJg9WD3YPhg+2D8YP1g/mD/YAJhA2EEYQVhB2EKYQthDGEQYRFhEmETYRRhFmEXYRhhGWEbYRxhHWEeYSFhImElYShhKWEqYSxhLWEuYS9hMGExYTJhM2E0YTVhNmE3YThhOWE6YTthPGE9YT5hQGFBYUJhQ2FEYUVhRmFHYUlhS2FNYU9hUGFSYVNhVGFWYVdhWGFZYVphW2FcYV5hX2FgYWFhY2FkYWVhZmFpYWpha2FsYW1hbmFvYXFhcmFzYXRhdmF4YXlhemF7YXxhfWF+YX9hgGGBYYJhg2GEYYVhhmGHYYhhiWGKYYxhjWGPYZBhkWGSYZNhlWGWYZdhmGGZYZphm2GcYZ5hn2GgYaFhomGjYaRhpWGmYaphq2GtYa5hr2GwYbFhsmGzYbRhtWG2YbhhuWG6YbthvGG9Yb9hwGHBYcNhxGHFYcZhx2HJYcxhzWHOYc9h0GHTYdVh1mHXYdhh2WHaYdth3GHdYd5h32HgYeFh4mHjYeRh5WHnYehh6WHqYeth7GHtYe5h72HwYfFh8mHzYfRh9mH3Yfhh+WH6Yfth/GH9Yf5hAGIBYgJiA2IEYgViB2IJYhNiFGIZYhxiHWIeYiBiI2ImYidiKGIpYitiLWIvYjBiMWIyYjViNmI4YjliOmI7YjxiQmJEYkViRmJKYk9iUGJVYlZiV2JZYlpiXGJdYl5iX2JgYmFiYmJkYmViaGJxYnJidGJ1YndieGJ6YntifWKBYoJig2KFYoZih2KIYotijGKNYo5ij2KQYpRimWKcYp1inmKjYqZip2KpYqpirWKuYq9isGKyYrNitGK2YrdiuGK6Yr5iwGLBYsNiy2LPYtFi1WLdYt5i4GLhYuRi6mLrYvBi8mL1Yvhi+WL6YvtiAGMDYwRjBWMGYwpjC2MMYw1jD2MQYxJjE2MUYxVjF2MYYxljHGMmYydjKWMsYy1jLmMwYzFjM2M0YzVjNmM3YzhjO2M8Yz5jP2NAY0FjRGNHY0hjSmNRY1JjU2NUY1ZjV2NYY1ljWmNbY1xjXWNgY2RjZWNmY2hjamNrY2xjb2NwY3Jjc2N0Y3VjeGN5Y3xjfWN+Y39jgWODY4RjhWOGY4tjjWORY5NjlGOVY5djmWOaY5tjnGOdY55jn2OhY6RjpmOrY69jsWOyY7VjtmO5Y7tjvWO/Y8BjwWPCY8NjxWPHY8hjymPLY8xj0WPTY9Rj1WPXY9hj2WPaY9tj3GPdY99j4mPkY+Vj5mPnY+hj62PsY+5j72PwY/Fj82P1Y/dj+WP6Y/tj/GP+YwNkBGQGZAdkCGQJZApkDWQOZBFkEmQVZBZkF2QYZBlkGmQdZB9kImQjZCRkJWQnZChkKWQrZC5kL2QwZDFkMmQzZDVkNmQ3ZDhkOWQ7ZDxkPmRAZEJkQ2RJZEtkTGRNZE5kT2RQZFFkU2RVZFZkV2RZZFpkW2RcZF1kX2RgZGFkYmRjZGRkZWRmZGhkamRrZGxkbmRvZHBkcWRyZHNkdGR1ZHZkd2R7ZHxkfWR+ZH9kgGSBZINkhmSIZIlkimSLZIxkjWSOZI9kkGSTZJRkl2SYZJpkm2ScZJ1kn2SgZKFkomSjZKVkpmSnZKhkqmSrZK9ksWSyZLNktGS2ZLlku2S9ZL5kv2TBZMNkxGTGZMdkyGTJZMpky2TMZM9k0WTTZNRk1WTWZNlk2mTbZNxk3WTfZOBk4WTjZOVk52ToZOlk6mTrZOxk7WTuZO9k8GTxZPJk82T0ZPVk9mT3ZPhk+WT6ZPtk/GT9ZP5k/2QBZQJlA2UEZQVlBmUHZQhlCmULZQxlDWUOZQ9lEGURZRNlFGUVZRZlF2UZZRplG2UcZR1lHmUfZSBlIWUiZSNlJGUmZSdlKGUpZSplLGUtZTBlMWUyZTNlN2U6ZTxlPWVAZUFlQmVDZURlRmVHZUplS2VNZU5lUGVSZVNlVGVXZVhlWmVcZV9lYGVhZWRlZWVnZWhlaWVqZW1lbmVvZXFlc2V1ZXZleGV5ZXple2V8ZX1lfmV/ZYBlgWWCZYNlhGWFZYZliGWJZYpljWWOZY9lkmWUZZVllmWYZZplnWWeZaBlomWjZaZlqGWqZaxlrmWxZbJls2W0ZbVltmW3ZbhlumW7Zb5lv2XAZcJlx2XIZcllymXNZdBl0WXTZdRl1WXYZdll2mXbZdxl3WXeZd9l4WXjZeRl6mXrZfJl82X0ZfVl+GX5Zftl/GX9Zf5l/2UBZgRmBWYHZghmCWYLZg1mEGYRZhJmFmYXZhhmGmYbZhxmHmYhZiJmI2YkZiZmKWYqZitmLGYuZjBmMmYzZjdmOGY5ZjpmO2Y9Zj9mQGZCZkRmRWZGZkdmSGZJZkpmTWZOZlBmUWZYZllmW2ZcZl1mXmZgZmJmY2ZlZmdmaWZqZmtmbGZtZnFmcmZzZnVmeGZ5ZntmfGZ9Zn9mgGaBZoNmhWaGZohmiWaKZotmjWaOZo9mkGaSZpNmlGaVZphmmWaaZptmnGaeZp9moGahZqJmo2akZqVmpmapZqpmq2asZq1mr2awZrFmsmazZrVmtma3Zrhmuma7ZrxmvWa/ZsBmwWbCZsNmxGbFZsZmx2bIZslmymbLZsxmzWbOZs9m0GbRZtJm02bUZtVm1mbXZthm2mbeZt9m4GbhZuJm42bkZuVm52boZupm62bsZu1m7mbvZvFm9Wb2Zvhm+mb7Zv1mAWcCZwNnBGcFZwZnB2cMZw5nD2cRZxJnE2cWZxhnGWcaZxxnHmcgZyFnImcjZyRnJWcnZylnLmcwZzJnM2c2ZzdnOGc5ZztnPGc+Zz9nQWdEZ0VnR2dKZ0tnTWdSZ1RnVWdXZ1hnWWdaZ1tnXWdiZ2NnZGdmZ2dna2dsZ25ncWd0Z3ZneGd5Z3pne2d9Z4BngmeDZ4VnhmeIZ4pnjGeNZ45nj2eRZ5Jnk2eUZ5ZnmWebZ59noGehZ6RnpmepZ6xnrmexZ7JntGe5Z7pnu2e8Z71nvme/Z8BnwmfFZ8Znx2fIZ8lnymfLZ8xnzWfOZ9Vn1mfXZ9tn32fhZ+Nn5GfmZ+dn6GfqZ+tn7WfuZ/Jn9Wf2Z/dn+Gf5Z/pn+2f8Z/5nAWgCaANoBGgGaA1oEGgSaBRoFWgYaBloGmgbaBxoHmgfaCBoImgjaCRoJWgmaCdoKGgraCxoLWguaC9oMGgxaDRoNWg2aDpoO2g/aEdoS2hNaE9oUmhWaFdoWGhZaFpoW2hcaF1oXmhfaGpobGhtaG5ob2hwaHFocmhzaHVoeGh5aHpoe2h8aH1ofmh/aIBogmiEaIdoiGiJaIpoi2iMaI1ojmiQaJFokmiUaJVolmiYaJlommibaJxonWieaJ9ooGihaKNopGilaKloqmiraKxormixaLJotGi2aLdouGi5aLpou2i8aL1ovmi/aMFow2jEaMVoxmjHaMhoymjMaM5oz2jQaNFo02jUaNZo12jZaNto3GjdaN5o32jhaOJo5GjlaOZo52joaOlo6mjraOxo7WjvaPJo82j0aPZo92j4aPto/Wj+aP9oAGkCaQNpBGkGaQdpCGkJaQppDGkPaRFpE2kUaRVpFmkXaRhpGWkaaRtpHGkdaR5pIWkiaSNpJWkmaSdpKGkpaSppK2ksaS5pL2kxaTJpM2k1aTZpN2k4aTppO2k8aT5pQGlBaUNpRGlFaUZpR2lIaUlpSmlLaUxpTWlOaU9pUGlRaVJpU2lVaVZpWGlZaVtpXGlfaWFpYmlkaWVpZ2loaWlpamlsaW1pb2lwaXJpc2l0aXVpdml6aXtpfWl+aX9pgWmDaYVpimmLaYxpjmmPaZBpkWmSaZNplmmXaZlpmmmdaZ5pn2mgaaFpommjaaRppWmmaalpqmmsaa5pr2mwabJps2m1abZpuGm5abppvGm9ab5pv2nAacJpw2nEacVpxmnHachpyWnLac1pz2nRadJp02nVadZp12nYadlp2mncad1p3mnhaeJp42nkaeVp5mnnaehp6Wnqaetp7Gnuae9p8GnxafNp9Gn1afZp92n4aflp+mn7afxp/mkAagFqAmoDagRqBWoGagdqCGoJagtqDGoNag5qD2oQahFqEmoTahRqFWoWahlqGmobahxqHWoeaiBqImojaiRqJWomaidqKWoraixqLWouajBqMmozajRqNmo3ajhqOWo6ajtqPGo/akBqQWpCakNqRWpGakhqSWpKaktqTGpNak5qT2pRalJqU2pUalVqVmpXalpqXGpdal5qX2pgamJqY2pkamZqZ2poamlqampramxqbWpuam9qcGpyanNqdGp1anZqd2p4anpqe2p9an5qf2qBaoJqg2qFaoZqh2qIaolqimqLaoxqjWqPapJqk2qUapVqlmqYaplqmmqbapxqnWqeap9qoWqiaqNqpGqlaqZqp2qoaqpqrWquaq9qsGqxarJqs2q0arVqtmq3arhquWq6artqvGq9ar5qv2rAasFqwmrDasRqxWrGasdqyGrJaspqy2rMas1qzmrPatBq0WrSatNq1GrVatZq12rYatlq2mrbatxq3Wreat9q4GrhauJq42rkauVq5mrnauhq6Wrqautq7Grtau5q72rwavFq8mrzavRq9Wr2avdq+Gr5avpq+2r8av1q/mr/agBrAWsCawNrBGsFawZrB2sIawlrCmsLawxrDWsOaw9rEGsRaxJrE2sUaxVrFmsXaxhrGWsaaxtrHGsdax5rH2slayZrKGspayprK2ssay1rLmsvazBrMWszazRrNWs2azhrO2s8az1rP2tAa0FrQmtEa0VrSGtKa0trTWtOa09rUGtRa1JrU2tUa1VrVmtXa1hrWmtba1xrXWtea19rYGtha2hraWtra2xrbWtua29rcGtxa3Jrc2t0a3Vrdmt3a3hremt9a35rf2uAa4VriGuMa45rj2uQa5FrlGuVa5drmGuZa5xrnWuea59roGuia6NrpGula6Zrp2uoa6lrq2usa61rrmuva7BrsWuya7ZruGu5a7pru2u8a71rvmvAa8NrxGvGa8dryGvJa8przGvOa9Br0WvYa9pr3Gvda95r32vga+Jr42vka+Vr5mvna+hr6Wvsa+1r7mvwa/Fr8mv0a/Zr92v4a/pr+2v8a/5r/2sAbAFsAmwDbARsCGwJbApsC2wMbA5sEmwXbBxsHWwebCBsI2wlbCtsLGwtbDFsM2w2bDdsOWw6bDtsPGw+bD9sQ2xEbEVsSGxLbExsTWxObE9sUWxSbFNsVmxYbFlsWmxibGNsZWxmbGdsa2xsbG1sbmxvbHFsc2x1bHdseGx6bHtsfGx/bIBshGyHbIpsi2yNbI5skWySbJVslmyXbJhsmmycbJ1snmygbKJsqGysbK9ssGy0bLVstmy3bLpswGzBbMJsw2zGbMdsyGzLbM1szmzPbNFs0mzYbNls2mzcbN1s32zkbOZs52zpbOxs7WzybPRs+Wz/bABtAm0DbQVtBm0IbQltCm0NbQ9tEG0RbRNtFG0VbRZtGG0cbR1tH20gbSFtIm0jbSRtJm0obSltLG0tbS9tMG00bTZtN204bTptP21AbUJtRG1JbUxtUG1VbVZtV21YbVttXW1fbWFtYm1kbWVtZ21obWttbG1tbXBtcW1ybXNtdW12bXltem17bX1tfm1/bYBtgW2DbYRthm2HbYpti22NbY9tkG2SbZZtl22YbZltmm2cbaJtpW2sba1tsG2xbbNttG22bbdtuW26bbttvG29bb5twW3CbcNtyG3JbcptzW3Obc9t0G3SbdNt1G3Vbddt2m3bbdxt323ibeNt5W3nbeht6W3qbe1t723wbfJt9G31bfZt+G36bf1t/m3/bQBuAW4CbgNuBG4GbgduCG4JbgtuD24SbhNuFW4YbhluG24cbh5uH24ibiZuJ24obipuLG4ubjBuMW4zbjVuNm43bjluO248bj1uPm4/bkBuQW5CbkVuRm5HbkhuSW5KbktuTG5PblBuUW5SblVuV25ZblpuXG5dbl5uYG5hbmJuY25kbmVuZm5nbmhuaW5qbmxubW5vbnBucW5ybnNudG51bnZud254bnluem57bnxufW6AboFugm6EboduiG6KbotujG6Nbo5ukW6SbpNulG6VbpZul26Zbppum26dbp5uoG6hbqNupG6mbqhuqW6rbqxurW6ubrBus261brhuuW68br5uv27AbsNuxG7FbsZuyG7JbspuzG7Nbs5u0G7SbtZu2G7Zbttu3G7dbuNu527qbutu7G7tbu5u727wbvFu8m7zbvVu9m73bvhu+m77bvxu/W7+bv9uAG8BbwNvBG8FbwdvCG8KbwtvDG8Nbw5vEG8RbxJvFm8XbxhvGW8abxtvHG8dbx5vH28hbyJvI28lbyZvJ28obyxvLm8wbzJvNG81bzdvOG85bzpvO288bz1vP29Ab0FvQm9Db0RvRW9Ib0lvSm9Mb05vT29Qb1FvUm9Tb1RvVW9Wb1dvWW9ab1tvXW9fb2BvYW9jb2RvZW9nb2hvaW9qb2tvbG9vb3BvcW9zb3Vvdm93b3lve299b35vf2+Ab4Fvgm+Db4Vvhm+Hb4pvi2+Pb5BvkW+Sb5NvlG+Vb5Zvl2+Yb5lvmm+bb51vnm+fb6Bvom+jb6RvpW+mb6hvqW+qb6tvrG+tb65vr2+wb7Fvsm+0b7Vvt2+4b7pvu2+8b71vvm+/b8Fvw2/Eb8Vvxm/Hb8hvym/Lb8xvzW/Ob89v0G/Tb9Rv1W/Wb9dv2G/Zb9pv22/cb91v32/ib+Nv5G/lb+Zv52/ob+lv6m/rb+xv7W/wb/Fv8m/zb/Rv9W/2b/dv+G/5b/pv+2/8b/1v/m//bwBwAXACcANwBHAFcAZwB3AIcAlwCnALcAxwDXAOcA9wEHAScBNwFHAVcBZwF3AYcBlwHHAdcB5wH3AgcCFwInAkcCVwJnAncChwKXAqcCtwLHAtcC5wL3AwcDFwMnAzcDRwNnA3cDhwOnA7cDxwPXA+cD9wQHBBcEJwQ3BEcEVwRnBHcEhwSXBKcEtwTXBOcFBwUXBScFNwVHBVcFZwV3BYcFlwWnBbcFxwXXBfcGBwYXBicGNwZHBlcGZwZ3BocGlwanBucHFwcnBzcHRwd3B5cHpwe3B9cIFwgnCDcIRwhnCHcIhwi3CMcI1wj3CQcJFwk3CXcJhwmnCbcJ5wn3CgcKFwonCjcKRwpXCmcKdwqHCpcKpwsHCycLRwtXC2cLpwvnC/cMRwxXDGcMdwyXDLcMxwzXDOcM9w0HDRcNJw03DUcNVw1nDXcNpw3HDdcN5w4HDhcOJw43DlcOpw7nDwcPFw8nDzcPRw9XD2cPhw+nD7cPxw/nD/cABxAXECcQNxBHEFcQZxB3EIcQtxDHENcQ5xD3ERcRJxFHEXcRtxHHEdcR5xH3EgcSFxInEjcSRxJXEncShxKXEqcStxLHEtcS5xMnEzcTRxNXE3cThxOXE6cTtxPHE9cT5xP3FAcUFxQnFDcURxRnFHcUhxSXFLcU1xT3FQcVFxUnFTcVRxVXFWcVdxWHFZcVpxW3FdcV9xYHFhcWJxY3FlcWlxanFrcWxxbXFvcXBxcXF0cXVxdnF3cXlxe3F8cX5xf3GAcYFxgnGDcYVxhnGHcYhxiXGLcYxxjXGOcZBxkXGScZNxlXGWcZdxmnGbcZxxnXGecaFxonGjcaRxpXGmcadxqXGqcatxrXGuca9xsHGxcbJxtHG2cbdxuHG6cbtxvHG9cb5xv3HAccFxwnHEccVxxnHHcchxyXHKcctxzHHNcc9x0HHRcdJx03HWcddx2HHZcdpx23Hccd1x3nHfceFx4nHjceRx5nHocelx6nHrcexx7XHvcfBx8XHycfNx9HH1cfZx93H4cfpx+3H8cf1x/nH/cQByAXICcgNyBHIFcgdyCHIJcgpyC3IMcg1yDnIPchByEXISchNyFHIVchZyF3IYchlyGnIbchxyHnIfciByIXIiciNyJHIlciZyJ3IpcityLXIuci9yMnIzcjRyOnI8cj5yQHJBckJyQ3JEckVyRnJJckpyS3JOck9yUHJRclNyVHJVcldyWHJaclxyXnJgcmNyZHJlcmhyanJrcmxybXJwcnFyc3J0cnZyd3J4cntyfHJ9coJyg3KFcoZyh3KIcolyjHKOcpBykXKTcpRylXKWcpdymHKZcppym3Kccp1ynnKgcqFyonKjcqRypXKmcqdyqHKpcqpyq3KucrFysnKzcrVyunK7crxyvXK+cr9ywHLFcsZyx3LJcspyy3LMcs9y0XLTctRy1XLWcthy2nLbcsbkx+TI5MnkyuTL5MzkzeTO5M/k0OTR5NLk0+TU5NXk1uTX5Njk2eTa5Nvk3OTd5N7k3+Tg5OHk4uTj5OTk5eTm5Ofk6OTp5Ork6+Ts5O3k7uTv5PDk8eTy5PPk9OT15Pbk9+T45Pnk+uT75Pzk/eT+5P/kAOUB5QLlA+UE5QXlBuUH5QjlCeUK5QvlDOUN5Q7lD+UQ5RHlEuUT5RTlFeUW5RflGOUZ5RrlG+Uc5R3lHuUf5SDlIeUi5SPlJOUl5QAwATACMLcAyQLHAqgAAzAFMBQgXv8WICYgGCAZIBwgHSAUMBUwCDAJMAowCzAMMA0wDjAPMBYwFzAQMBEwsQDXAPcANiInIigiESIPIioiKSIIIjciGiKlIiUiICISI5kiKyIuImEiTCJIIj0iHSJgIm4ibyJkImUiHiI1IjQiQiZAJrAAMiAzIAMhBP+kAOD/4f8wIKcAFiEGJgUmyyXPJc4lxyXGJaEloCWzJbIlOyCSIZAhkSGTIRMwJuUn5SjlKeUq5SvlLOUt5S7lL+Uw5THlMuUz5TTlNeU25TflOOU55TrlO+U85T3lPuU/5UDlQeVC5UPlROVF5UblR+VI5UnlSuVL5UzlTeVO5U/lUOVR5VLlU+VU5VXlVuVX5VjlWeVa5VvlXOVd5V7lX+Vg5WHlYuVj5WTlZeVm5WflaOVp5Wrla+Vs5W3lbuVv5XDlceVy5XPldOV15Xbld+V45XnleuV75XzlfeV+5X/lgOWB5YLlg+WE5YXlcCFxIXIhcyF0IXUhdiF3IXgheSFm52fnaOdp52rna+eIJIkkiiSLJIwkjSSOJI8kkCSRJJIkkySUJJUkliSXJJgkmSSaJJskdCR1JHYkdyR4JHkkeiR7JHwkfSR+JH8kgCSBJIIkgySEJIUkhiSHJGAkYSRiJGMkZCRlJGYkZyRoJGkkrCBt5yAyITIiMiMyJDIlMiYyJzIoMikybudv52AhYSFiIWMhZCFlIWYhZyFoIWkhaiFrIXDnceeG5YfliOWJ5Yrli+WM5Y3ljuWP5ZDlkeWS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cxhzGXMacx9zIHMjcyRzJnMncyhzLXMvczBzMnMzczVzNnM6cztzPHM9c0BzQXNCc0NzRHNFc0ZzR3NIc0lzSnNLc0xzTnNPc1FzU3NUc1VzVnNYc1lzWnNbc1xzXXNec19zYXNic2NzZHNlc2ZzZ3Noc2lzanNrc25zcHNxcwDgAeAC4APgBOAF4AbgB+AI4AngCuAL4AzgDeAO4A/gEOAR4BLgE+AU4BXgFuAX4BjgGeAa4BvgHOAd4B7gH+Ag4CHgIuAj4CTgJeAm4CfgKOAp4CrgK+As4C3gLuAv4DDgMeAy4DPgNOA14DbgN+A44DngOuA74DzgPeA+4D/gQOBB4ELgQ+BE4EXgRuBH4EjgSeBK4EvgTOBN4E7gT+BQ4FHgUuBT4FTgVeBW4FfgWOBZ4FrgW+Bc4F3gcnNzc3RzdXN2c3dzeHN5c3pze3N8c31zf3OAc4FzgnODc4VzhnOIc4pzjHONc49zkHOSc5NzlHOVc5dzmHOZc5pznHOdc55zoHOhc6NzpHOlc6Zzp3Ooc6pzrHOtc7FztHO1c7ZzuHO5c7xzvXO+c79zwXPDc8RzxXPGc8dzy3PMc85z0nPTc9Rz1XPWc9dz2HPac9tz3HPdc99z4XPic+Nz5HPmc+hz6nPrc+xz7nPvc/Bz8XPzc/Rz9XP2c/dzXuBf4GDgYeBi4GPgZOBl4GbgZ+Bo4GngauBr4GzgbeBu4G/gcOBx4HLgc+B04HXgduB34HjgeeB64HvgfOB94H7gf+CA4IHgguCD4ITgheCG4IfgiOCJ4Irgi+CM4I3gjuCP4JDgkeCS4JPglOCV4Jbgl+CY4JngmuCb4JzgneCe4J/goOCh4KLgo+Ck4KXgpuCn4KjgqeCq4KvgrOCt4K7gr+Cw4LHgsuCz4LTgteC24LfguOC54Lrgu+D4c/lz+nP7c/xz/XP+c/9zAHQBdAJ0BHQHdAh0C3QMdA10DnQRdBJ0E3QUdBV0FnQXdBh0GXQcdB10HnQfdCB0IXQjdCR0J3QpdCt0LXQvdDF0MnQ3dDh0OXQ6dDt0PXQ+dD90QHRCdEN0RHRFdEZ0R3RIdEl0SnRLdEx0TXROdE90UHRRdFJ0U3RUdFZ0WHRddGB0YXRidGN0ZHRldGZ0Z3RodGl0anRrdGx0bnRvdHF0cnRzdHR0dXR4dHl0enS84L3gvuC/4MDgweDC4MPgxODF4Mbgx+DI4MngyuDL4MzgzeDO4M/g0ODR4NLg0+DU4NXg1uDX4Njg2eDa4Nvg3ODd4N7g3+Dg4OHg4uDj4OTg5eDm4Ofg6ODp4Org6+Ds4O3g7uDv4PDg8eDy4PPg9OD14Pbg9+D44Png+uD74Pzg/eD+4P/gAOEB4QLhA+EE4QXhBuEH4QjhCeEK4QvhDOEN4Q7hD+EQ4RHhEuET4RThFeEW4RfhGOEZ4Xt0fHR9dH90gnSEdIV0hnSIdIl0inSMdI10j3SRdJJ0k3SUdJV0lnSXdJh0mXSadJt0nXSfdKB0oXSidKN0pHSldKZ0qnSrdKx0rXSudK90sHSxdLJ0s3S0dLV0tnS3dLh0uXS7dLx0vXS+dL90wHTBdMJ0w3TEdMV0xnTHdMh0yXTKdMt0zHTNdM50z3TQdNF003TUdNV01nTXdNh02XTadNt03XTfdOF05XTndOh06XTqdOt07HTtdPB08XTydBrhG+Ec4R3hHuEf4SDhIeEi4SPhJOEl4SbhJ+Eo4SnhKuEr4SzhLeEu4S/hMOEx4TLhM+E04TXhNuE34TjhOeE64TvhPOE94T7hP+FA4UHhQuFD4UThReFG4UfhSOFJ4UrhS+FM4U3hTuFP4VDhUeFS4VPhVOFV4VbhV+FY4VnhWuFb4VzhXeFe4V/hYOFh4WLhY+Fk4WXhZuFn4WjhaeFq4WvhbOFt4W7hb+Fw4XHhcuFz4XThdeF24Xfh83T1dPh0+XT6dPt0/HT9dP50AHUBdQJ1A3UFdQZ1B3UIdQl1CnULdQx1DnUQdRJ1FHUVdRZ1F3UbdR11HnUgdSF1InUjdSR1JnUndSp1LnU0dTZ1OXU8dT11P3VBdUJ1Q3VEdUZ1R3VJdUp1TXVQdVF1UnVTdVV1VnVXdVh1XXVedV91YHVhdWJ1Y3VkdWd1aHVpdWt1bHVtdW51b3VwdXF1c3V1dXZ1d3V6dXt1fHV9dX51gHWBdYJ1hHWFdYd1eOF54Xrhe+F84X3hfuF/4YDhgeGC4YPhhOGF4Ybhh+GI4YnhiuGL4YzhjeGO4Y/hkOGR4ZLhk+GU4ZXhluGX4ZjhmeGa4ZvhnOGd4Z7hn+Gg4aHhouGj4aThpeGm4afhqOGp4arhq+Gs4a3hruGv4bDhseGy4bPhtOG14bbht+G44bnhuuG74bzhveG+4b/hwOHB4cLhw+HE4cXhxuHH4cjhyeHK4cvhzOHN4c7hz+HQ4dHh0uHT4dTh1eGIdYl1inWMdY11jnWQdZN1lXWYdZt1nHWedaJ1pnWndah1qXWqda11tnW3dbp1u3W/dcB1wXXGdct1zHXOdc910HXRddN113XZddp13HXddd914HXhdeV16XXsde117nXvdfJ183X1dfZ193X4dfp1+3X9df51AnYEdgZ2B3YIdgl2C3YNdg52D3YRdhJ2E3YUdhZ2GnYcdh12HnYhdiN2J3Yodix2LnYvdjF2MnY2djd2OXY6djt2PXZBdkJ2RHbW4dfh2OHZ4drh2+Hc4d3h3uHf4eDh4eHi4ePh5OHl4ebh5+Ho4enh6uHr4ezh7eHu4e/h8OHx4fLh8+H04fXh9uH34fjh+eH64fvh/OH94f7h/+EA4gHiAuID4gTiBeIG4gfiCOIJ4griC+IM4g3iDuIP4hDiEeIS4hPiFOIV4hbiF+IY4hniGuIb4hziHeIe4h/iIOIh4iLiI+Ik4iXiJuIn4ijiKeIq4iviLOIt4i7iL+Iw4jHiMuIz4kV2RnZHdkh2SXZKdkt2TnZPdlB2UXZSdlN2VXZXdlh2WXZadlt2XXZfdmB2YXZidmR2ZXZmdmd2aHZpdmp2bHZtdm52cHZxdnJ2c3Z0dnV2dnZ3dnl2enZ8dn92gHaBdoN2hXaJdop2jHaNdo92kHaSdpR2lXaXdph2mnabdpx2nXaedp92oHahdqJ2o3aldqZ2p3aodql2qnardqx2rXavdrB2s3a1drZ2t3a4drl2una7drx2vXa+dsB2wXbDdkpVP5bDVyhjzlQJVcBUkXZMdjyF7nd+go14MXKYlo2XKGyJW/pPCWOXZrhc+oBIaK6AAmbOdvlRVmWscfF/hIiyUGVZymGzb62CTGNSYu1TJ1QGe2tRpHX0XdRiy412l4piGYBdVziXYn84cn12z2d+dkZkcE8ljdxiF3qRZe1zLGRzYiyCgZh/Z0hybmLMYjRP43RKU55Syn6mkC5ehmicaYCB0X7SaMV4jIZRlY1QJIzegt6ABVMSiWVSxHbHdsl2y3bMdtN21XbZdtp23Hbddt524HbhduJ243bkduZ253bodul26nbrdux27XbwdvN29Xb2dvd2+nb7dv12/3YAdwJ3A3cFdwZ3CncMdw53D3cQdxF3EncTdxR3FXcWdxd3GHcbdxx3HXcedyF3I3ckdyV3J3cqdyt3LHcudzB3MXcydzN3NHc5dzt3PXc+dz93QndEd0V3RndId0l3SndLd0x3TXdOd093UndTd1R3VXdWd1d3WHdZd1x3hIX5lt1PIVhxmZ1bsWKlYrRmeYyNnAZyb2eReLJgUVMXU4iPzIAdjaGUDVDIcgdZ62AZcauIVFnvgixnKHspXfd+LXX1bGaO+I88kDuf1GsZkRR7fF+neNaEPYXVa9lr1msBXode+XXtlV1lCl/FX5+PwVjCgX+QW5atl7mPFn8sjUFiv0/YU15TqI+pj6uPTZAHaGpfmIFoiNaci2ErUip2bF+MZdJv6G6+W0hkdVGwUcRnGU7JeXyZs3Bdd153X3dgd2R3Z3dpd2p3bXdud293cHdxd3J3c3d0d3V3dnd3d3h3end7d3x3gXeCd4N3hneHd4h3iXeKd4t3j3eQd5N3lHeVd5Z3l3eYd5l3mnebd5x3nXeed6F3o3ekd6Z3qHerd613rnevd7F3sne0d7Z3t3e4d7l3une8d753wHfBd8J3w3fEd8V3xnfHd8h3yXfKd8t3zHfOd8930HfRd9J303fUd9V31nfYd9l32nfdd95333fgd+F35HfFdXZeu3Pgg61k6GK1lOJsWlPDUg9kwpSUey9PG142ghaBioEkbspsc5pVY1xT+lRliOBXDU4DXmVrP3zokBZg5mQcc8GIUGdNYiKNbHcpjseRaV/cgyGFEJnCU5WGi2vtYOhgf3DNgjGC006nbM+FzWTZfP1p+WZJg5VTVnunT4xRS21CXG2O0mPJUyyDNoPlZ7R4PWTfW5Rc7l3ni8Zi9Gd6jABkumNJh4uZF4wgf/KUp04QlqSYDGYWc+Z36Hfqd+938Hfxd/J39Hf1d/d3+Xf6d/t3/HcDeAR4BXgGeAd4CHgKeAt4DngPeBB4E3gVeBl4G3geeCB4IXgieCR4KHgqeCt4LngveDF4MngzeDV4Nng9eD94QXhCeEN4RHhGeEh4SXhKeEt4TXhPeFF4U3hUeFh4WXhaeFt4XHheeF94YHhheGJ4Y3hkeGV4ZnhneGh4aXhveHB4cXhyeHN4dHh1eHZ4eHh5eHp4e3h9eH54f3iAeIF4gniDeDpXHVw4Xn+Vf1CggIJTXmVFdTFVIVCFjYRinpQdZzJWbm/iXTVUknBmj29ipGSjY3tfiG/0kOOBsI8YXGhm8V+JbEiWgY1siJFk8HnOV1lqEGJIVFhOC3rpYIRv2ot/Yh6Qi5rkeQNU9HUBYxlTYGzfjxtfcJo7gH+fiE86XGSNxX+lZb1wRVGyUWuGB12gW71ibJF0dQyOIHoBYXl7x074foV3EU7tgR1S+lFxaqhTh44Elc+WwW5kllpphHiFeIZ4iHiKeIt4j3iQeJJ4lHiVeJZ4mXideJ54oHiieKR4pnioeKl4qnireKx4rXiueK94tXi2eLd4uHi6eLt4vHi9eL94wHjCeMN4xHjGeMd4yHjMeM14znjPeNF40njTeNZ413jYeNp423jceN143njfeOB44XjieON45HjleOZ453jpeOp463jteO5473jwePF483j1ePZ4+Hj5ePt4/Hj9eP54/3gAeQJ5A3kEeQZ5B3kIeQl5CnkLeQx5QHioUNd3EGTmiQRZ42PdXX96PWkgTzmCmFUyTq51l3piXope75UbUjlUinB2YySVglclZj9ph5EHVfNtr34iiDNi8H61dSiDwXjMlp6PSGH3dM2LZGs6UlCNIWtqgHGE8VYGU85OG07RUZd8i5EHfMNPf47he5x6Z2QUXaxQBoEBdrl87G3gf1FnWFv4W8t4rmQTZKpjK2MZlS1kvo9Ueyl2U2InWUZUeWujUDRiJl6Ga+NON42LiIVfLpANeQ55D3kQeRF5EnkUeRV5FnkXeRh5GXkaeRt5HHkdeR95IHkheSJ5I3kleSZ5J3koeSl5KnkreSx5LXkueS95MHkxeTJ5M3k1eTZ5N3k4eTl5PXk/eUJ5Q3lEeUV5R3lKeUt5THlNeU55T3lQeVF5UnlUeVV5WHlZeWF5Y3lkeWZ5aXlqeWt5bHlueXB5cXlyeXN5dHl1eXZ5eXl7eXx5fXl+eX95gnmDeYZ5h3mIeYl5i3mMeY15jnmQeZF5knkgYD2AxWI5TlVT+JC4Y8aA5mUubEZP7mDhbd6LOV/LhlNfIWNaUWGDY2gAUmNjSI4SUJtcd3n8WzBSO3q8YFOQ13a3X5dfhHZsjm9we3ZJe6p381GTkCRYTk/0buqPTGUbe8RypG3ff+FatWKVXjBXgoQsex1eH18SkBR/oJiCY8dumHi5cHhRW5erVzV1Q084dZde5mBgWcBtv2uJePxT1ZbLUQFSiWMKVJOUA4zMjTlyn3h2h+2PDYzgU5N5lHmVeZZ5l3mYeZl5m3mceZ15nnmfeaB5oXmieaN5pHmleaZ5qHmpeap5q3msea15rnmvebB5sXmyebR5tXm2ebd5uHm8eb95wnnEecV5x3nIecp5zHnOec950HnTedR51nnXedl52nnbedx53XneeeB54XnieeV56Hnqeex57nnxefJ583n0efV59nn3efl5+nn8ef55/3kBegR6BXoHegh6CXoKegx6D3oQehF6EnoTehV6FnoYehl6G3ocegFO73buU4mUdpgOny2VmluiiyJOHE6sUWOEwmGoUgtol09rYLtRHm1cUZZil2VhlkaMF5DYdf2QY3fSa4py7HL7izVYeXdMjVxnQJWagKZeIW6SWe967Xc7lbVrrWUOfwZYUVEflvlbqVgoVHKOZmV/mORWnZT+dkGQh2PGVBpZOlmbV7KONWf6jTWCQVLwYBVY/oboXEWexE+dmLmLJVp2YIRTfGJPkAKRf5lpYAyAP1EzgBRcdZkxbYxOHXofeiF6InokeiV6Jnoneih6KXoqeit6LHotei56L3owejF6Mno0ejV6Nno4ejp6PnpAekF6QnpDekR6RXpHekh6SXpKekt6THpNek56T3pQelJ6U3pUelV6VnpYell6Wnpbelx6XXpeel96YHphemJ6Y3pkemV6Znpnemh6aXpqemt6bHptem56b3pxenJ6c3p1ent6fHp9en56gnqFeod6iXqKeot6jHqOeo96kHqTepR6mXqaept6nnqheqJ6MI3RU1p/T3sQT09OAJbVbNBz6YUGXmp1+38Kav53kpRBfuFR5nDNU9SPA4Mpja9ybZnbbEpXs4K5ZaqAP2IylqhZ/06/i7p+PmXyg16XYVXemKWAKlP9iyBUuoCfXrhsOY2sglqRKVQbbAZSt35fVxpxfmyJfEtZ/U7/XyRhqnwwTgFcq2cCh/BcC5XOmK91/XAikK9RHX+9i0lZ5FFbTyZUK1l3ZaSAdVt2YsJikI9FXh9sJnsPT9hPDWejeqR6p3qpeqp6q3queq96sHqxerJ6tHq1erZ6t3q4erl6unq7erx6vXq+esB6wXrCesN6xHrFesZ6x3rIesl6ynrMes16znrPetB60XrSetN61HrVetd62Hraett63HrdeuF64nrkeud66Hrpeup663rseu568HrxevJ683r0evV69nr3evh6+3r8ev56AHsBewJ7BXsHewl7DHsNew57EHsSexN7FnsXexh7Gnscex17H3sheyJ7I3sneyl7LXtubaptj3mxiBdfK3WaYoWP70/ckadlL4FRgZxeUIF0jW9SholLjQ1ZhVDYThyWNnJ5gR+NzFuji0SWh1kaf5BUdlYOVuWLOWWCaZmU1naJbnJeGHVGZ9Fn/3qdgHaNH2HGeWJlY42IURpSopQ4f5uAsn6XXC9uYGfZe4t22JqPgZR/1XweZFCVP3pKVOVUTGsBZAhiPZ7zgJl1clJpl1uEPGjkhgGWlJbslCpOBFTZfjlo340VgPRmml65fy97MHsyezR7NXs2ezd7OXs7ez17P3tAe0F7QntDe0R7RntIe0p7TXtOe1N7VXtXe1l7XHtee197YXtje2R7ZXtme2d7aHtpe2p7a3tse217b3twe3N7dHt2e3h7ent8e317f3uBe4J7g3uEe4Z7h3uIe4l7inuLe4x7jnuPe5F7knuTe5Z7mHuZe5p7m3uee597oHuje6R7pXuue697sHuye7N7tXu2e7d7uXu6e7t7vHu9e757v3vAe8J7w3vEe8JXP4CXaOVdO2WfUm1gmp+bT6yObFGrWxNf6V1ebPFiIY1xUamU/lKfbN+C13KiV4RnLY0fWZyPx4OVVI17ME+9bGRb0VkTn+RTyoaomjeMoYBFZX6Y+lbHli5S3HRQUuFbAmMCiVZO0GIqYPpoc1GYW6BRwomhe4aZUH/vYExwL41JUX9eG5BwdMSJLVdFeFJfn5/6lWiPPJvhi3h2QmjcZ+qNNY09UoqP2m7NaAWV7ZD9Vpxn+YjHj8hUxXvIe8l7ynvLe817znvPe9B70nvUe9V71nvXe9h723vce95733vge+J743vke+d76Hvpe+t77Hvte+978Hvye/N79Hv1e/Z7+Hv5e/p7+3v9e/97AHwBfAJ8A3wEfAV8BnwIfAl8CnwNfA58EHwRfBJ8E3wUfBV8F3wYfBl8GnwbfBx8HXwefCB8IXwifCN8JHwlfCh8KXwrfCx8LXwufC98MHwxfDJ8M3w0fDV8Nnw3fDl8Onw7fDx8PXw+fEJ8uJppW3dtJmylTrNbh5pjkahhr5DplytUtW3SW/1RilVVf/B/vGRNY/FlvmGNYApxV2xJbC9ZbWcqgtVYjlZqjOtr3ZB9WReA91NpbXVUnVV3g8+DOGi+eYxUVU8IVNJ2iYwClrNsuG1rjRCJZJ46jT9W0Z7VdYhf4HJoYPxUqE4qamGIUmBwj8RU2HB5hj+eKm2PWxhfon6JVa9PNHM8VJpTGVAOVHxUTk79X1p09lhrhOGAdIfQcsp8Vm5DfER8RXxGfEd8SHxJfEp8S3xMfE58T3xQfFF8UnxTfFR8VXxWfFd8WHxZfFp8W3xcfF18XnxffGB8YXxifGN8ZHxlfGZ8Z3xofGl8anxrfGx8bXxufG98cHxxfHJ8dXx2fHd8eHx5fHp8fnx/fIB8gXyCfIN8hHyFfIZ8h3yIfIp8i3yMfI18jnyPfJB8k3yUfJZ8mXyafJt8oHyhfKN8pnynfKh8qXyrfKx8rXyvfLB8tHy1fLZ8t3y4fLp8u3wnX06GLFWkYpJOqmw3YrGC11ROUz5z0W47dRJSFlPdi9Bpil8AYO5tT1cia69zU2jYjxN/YmOjYCRV6nVijBVxo22mW3teUoNMYcSe+nhXhyd8h3bwUfZgTHFDZkxeTWAOjHBwJWOJj71fYmDUht5WwWuUYGdhSVPgYGZmP439eRpP6XBHbLOL8ovYfmSDD2ZaWkKbUW33bUGMO20ZT2twt4MWYtFgDZcnjXh5+1E+V/pXOmd4dT1673mVe798wHzCfMN8xHzGfMl8y3zOfM980HzRfNJ803zUfNh82nzbfN183nzhfOJ843zkfOV85nznfOl86nzrfOx87XzufPB88XzyfPN89Hz1fPZ893z5fPp8/Hz9fP58/3wAfQF9An0DfQR9BX0GfQd9CH0JfQt9DH0NfQ59D30QfRF9En0TfRR9FX0WfRd9GH0ZfRp9G30cfR19Hn0ffSF9I30kfSV9Jn0ofSl9Kn0sfS19Ln0wfTF9Mn0zfTR9NX02fYyAZZn5j8BvpYshnuxZ6X4JfwlUgWfYaJGPTXzGlspTJWC+dXJsc1PJWqd+JGPgUQqB8V3fhIBigFFjWw5PbXlCUrhgTm3EW8JboYuwi+JlzF9FlpNZ536qfglWt2c5WXNPtlugUlqDipg+jTJ1vpRHUDx69062Z36awVp8a9F2WlcWXDp79JVOcXxRqYBwgnhZBH8ng8Bo7GexeHd442JhY4B77U9qUs9RUIPbaXSS9Y0xjcGJLpWte/ZON304fTl9On07fTx9PX0+fT99QH1BfUJ9Q31EfUV9Rn1HfUh9SX1KfUt9TH1NfU59T31QfVF9Un1TfVR9VX1WfVd9WH1ZfVp9W31cfV19Xn1ffWB9YX1ifWN9ZH1lfWZ9Z31ofWl9an1rfWx9bX1vfXB9cX1yfXN9dH11fXZ9eH15fXp9e318fX19fn1/fYB9gX2CfYN9hH2FfYZ9h32IfYl9in2LfYx9jX2OfY99kH2RfZJ9k32UfZV9ln2XfZh9ZVAwglFSb5kQboVup236XvVQ3FkGXEZtX2yGdYuEaGhWWbKLIFNxkU2WSYUSaQF5JnH2gKROypBHbYSaB1q8VgVk8JTrd6VPGoHhctKJepk0f95+f1JZZXWRf4+Dj+tTlnrtY6Vjhnb4eVeINpYqYqtSgoJUaHBnd2Nrd+16AW3TfuOJ0FkSYsmFpYJMdR9Qy06ldeuLSlz+XUt7pGXRkcpOJW1fiSd9JpXFTiiM249zl0tmgXnRj+xweG2ZfZp9m32cfZ19nn2ffaB9oX2ifaN9pH2lfad9qH2pfap9q32sfa19r32wfbF9sn2zfbR9tX22fbd9uH25fbp9u328fb19vn2/fcB9wX3CfcN9xH3FfcZ9x33Ifcl9yn3Lfcx9zX3Ofc990H3RfdJ9033UfdV91n3Xfdh92X3afdt93H3dfd59333gfeF94n3jfeR95X3mfed96H3pfep9633sfe197n3vffB98X3yffN99H31ffZ99334ffl9+n09XLJSRoNiUQ6DW3d2ZricrE7KYL58s3zPfpVOZotvZoiYWZeDWGxlXJWEX8l1Vpffet56wFGvcJh66mN2eqB+lnPtl0VOeHBdTlKRqVNRZedl/IEFgo5UMVyadaCX2GLZcr11RVx5msqDQFyAVOl3Pk6ubFqA0mJuY+hdd1HdjR6OL5XxT+VT52CscGdSUGNDnh9aJlA3d3dT4n6FZCtliWKYYxRQNXLJibNRwIvdfkdXzIOnlJtRG1T7XPt9/H39ff59/30AfgF+An4DfgR+BX4Gfgd+CH4Jfgp+C34Mfg1+Dn4PfhB+EX4SfhN+FH4VfhZ+F34Yfhl+Gn4bfhx+HX4efh9+IH4hfiJ+I34kfiV+Jn4nfih+KX4qfit+LH4tfi5+L34wfjF+Mn4zfjR+NX42fjd+OH45fjp+PH49fj5+P35AfkJ+Q35EfkV+Rn5Ifkl+Sn5Lfkx+TX5Ofk9+UH5RflJ+U35UflV+Vn5Xflh+WX5aflt+XH5dfspP43pabeGQj5qAVZZUYVOvVABf6WN3ae9RaGEKUipY2FJOVw14C3e3Xndh4HxbYpdiok6VcAOA92LkcGCXd1fbgu9n9WjVeJeY0XnzWLNU71M0bktRO1KiW/6Lr4BDVaZXc2BRVy1UenpQYFRbp2OgYuNTY2LHW69n7VSfeuaCd5GTXuSIOFmuVw5j6I3vgFdXd3upT+tfvVs+ayFTUHvCckZo/3c2d/dltVGPTtR2v1ylenWETllBm4BQXn5ffmB+YX5ifmN+ZH5lfmZ+Z35ofml+an5rfmx+bX5ufm9+cH5xfnJ+c350fnV+dn53fnh+eX56fnt+fH59fn5+f36AfoF+g36EfoV+hn6Hfoh+iX6Kfot+jH6Nfo5+j36QfpF+kn6TfpR+lX6Wfpd+mH6Zfpp+nH6dfp5+rn60frt+vH7WfuR+7H75fgp/EH8efzd/OX87fzx/PX8+fz9/QH9Bf0N/Rn9Hf0h/SX9Kf0t/TH9Nf05/T39Sf1N/iJknYYNuZFcGZkZj8FbsYmli014UloNXyWKHVSGHSoGjj2ZVsYNlZ1aN3YRqWg9o5mLuexGWcFGcbzCM/WPIidJhBn/CcOVuBXSUafxyyl7OkBdnam1eY7NSYnIBgGxP5VlqkdlwnW3SUlBO95ZtlX6FyngvfSFRklfCZIuAe3zqbPFoXmm3UZhTqGiBcs6e8Xv4crt5E28GdE5nzJGknDx5iYNUgw9UF2g9TolTsVI+eIZTKVKIUItP0E9Wf1l/W39cf11/Xn9gf2N/ZH9lf2Z/Z39rf2x/bX9vf3B/c391f3Z/d394f3p/e398f31/f3+Af4J/g3+Ef4V/hn+Hf4h/iX+Lf41/j3+Qf5F/kn+Tf5V/ln+Xf5h/mX+bf5x/oH+if6N/pX+mf6h/qX+qf6t/rH+tf65/sX+zf7R/tX+2f7d/un+7f75/wH/Cf8N/xH/Gf8d/yH/Jf8t/zX/Pf9B/0X/Sf9N/1n/Xf9l/2n/bf9x/3X/ef+J/43/idct6knylbLaWm1KDdOlU6U9UgLKD3o9wlcleHGCfbRheW2U4gf6US2C8cMN+rnzJUYFosXxvgiROho/PkX5mrk4FjKlkSoDaUJd1znHlW72PZm+GToJkY5XWXpllF1LCiMhwo1IOczN0l2f3eBaXNE67kN6cy23bUUGNHVTOYrJz8YP2loSfw5Q2T5p/zFF1cHWWrVyGmOZT5E6cbgl0tGlreI+ZWXUYUiR2QW3zZ21RmZ9LgJlUPHu/euR/53/of+p/63/sf+1/73/yf/R/9X/2f/d/+H/5f/p//X/+f/9/AoAHgAiACYAKgA6AD4ARgBOAGoAbgB2AHoAfgCGAI4AkgCuALIAtgC6AL4AwgDKANIA5gDqAPIA+gECAQYBEgEWAR4BIgEmAToBPgFCAUYBTgFWAVoBXgFmAW4BcgF2AXoBfgGCAYYBigGOAZIBlgGaAZ4BogGuAbIBtgG6Ab4BwgHKAc4B0gHWAdoB3gHiAeYB6gHuAfIB9gIaWhFfiYkeWfGkEWgJk03sPb0uWpoJiU4WYkF6JcLNjZFNPhoGck56MeDKX741CjX+eXm+EeVVfRpYuYnSaFVTdlKNPxWVlXGFcFX9Rhi9si1+Hc+Ru/37mXBtjalvmbnVTcU6gY2V1oWJujyZP0U6mbLZ+uosdhLqHV387kCOVqXuhmviIPYQbbYaa3H6IWbuem3MBeIKGbJqCmhtWF1TLV3BOpp5WU8iPCYGSd5KZ7obhbhOF/GZiYStvfoCBgIKAhYCIgIqAjYCOgI+AkICRgJKAlICVgJeAmYCegKOApoCngKiArICwgLOAtYC2gLiAuYC7gMWAx4DIgMmAyoDLgM+A0IDRgNKA04DUgNWA2IDfgOCA4oDjgOaA7oD1gPeA+YD7gP6A/4AAgQGBA4EEgQWBB4EIgQuBDIEVgReBGYEbgRyBHYEfgSCBIYEigSOBJIElgSaBJ4EogSmBKoErgS2BLoEwgTOBNIE1gTeBOYE6gTuBPIE9gT+BKYySgiuD8nYTbNlfvYMrcwWDGpXba9t3xpRvUwKDklE9XoyMOI1ITqtzmmeFaHaRCZdkcaFsCXeSWkGVz2uOfydm0Fu5WZpa6JX3lexODISZhKxq33YwlRtzpmhfWy93mpFhl9x8948cjCVfc3zYecWJzGwch8ZbQl7JaCB39X6VUU1RyVIpWgV/YpfXgs9jhHfQhdJ5Om6ZXplZEYVtcBFsv2K/dk9lr2D9lQ5mn4cjnu2UDVR9VCyMeGRAgUGBQoFDgUSBRYFHgUmBTYFOgU+BUoFWgVeBWIFbgVyBXYFegV+BYYFigWOBZIFmgWiBaoFrgWyBb4FygXOBdYF2gXeBeIGBgYOBhIGFgYaBh4GJgYuBjIGNgY6BkIGSgZOBlIGVgZaBl4GZgZqBnoGfgaCBoYGigaSBpYGngamBq4Gsga2BroGvgbCBsYGygbSBtYG2gbeBuIG5gbyBvYG+gb+BxIHFgceByIHJgcuBzYHOgc+B0IHRgdKB04F5ZBGGIWqcgeh4aWRUm7liK2erg6hY2J6rbCBv3ltMlguMX3LQZ8diYXKpTsZZzWuTWK5mVV7fUlVhKGfudmZ3Z3JGev9i6lRQVKCUo5AcWrN+FmxDTnZZEIBIWVdTN3W+lspWIGMRgXxg+ZXWbWJUgZmFUela/YCuWROXKlDlbDxc32JgTz9Te4EGkLpuK4XIYnRevni1ZHtj9V8YWn+RH54/XE9jQoB9W25VSpVNlYVtqGDgZ95y3VGBW9SB1YHWgdeB2IHZgdqB24Hcgd2B3oHfgeCB4YHigeSB5YHmgeiB6YHrge6B74HwgfGB8oH1gfaB94H4gfmB+oH9gf+BA4IHggiCCYIKgguCDoIPghGCE4IVghaCF4IYghmCGoIdgiCCJIIlgiaCJ4Ipgi6CMoI6gjyCPYI/gkCCQYJCgkOCRYJGgkiCSoJMgk2CToJQglGCUoJTglSCVYJWgleCWYJbglyCXYJegmCCYYJigmOCZIJlgmaCZ4Jpgudi3mxbcm1irpS9fhOBU22cUQRfdFmqUhJgc1mWZlCGn3UqY+Zh73z6i+ZUJ2slnrRr1YVVVHZQpGxqVbSNLHIVXhVgNnTNYpJjTHKYX0NuPm0AZVhv2HbQePx2VHUkUttTU06eXsFlKoDWgJtihlQoUq5wjYjRjeFseFTagPlX9IhUjWqWTZFpT5tst1XGdjB4qGL5cI5vbV/shNpofHj3e6iBC2dPnmdjsHhvVxJ4OZd5YqtiiFI1dNdraoJrgmyCbYJxgnWCdoJ3gniCe4J8goCCgYKDgoWChoKHgomCjIKQgpOClIKVgpaCmoKbgp6CoIKigqOCp4KygrWCtoK6gruCvIK/gsCCwoLDgsWCxoLJgtCC1oLZgtqC3YLigueC6ILpguqC7ILtgu6C8ILygvOC9YL2gviC+oL8gv2C/oL/ggCDCoMLgw2DEIMSgxODFoMYgxmDHYMegx+DIIMhgyKDI4MkgyWDJoMpgyqDLoMwgzKDN4M7gz2DZFU+gbJ1rnY5U951+1BBXGyLx3tPUEdyl5rYmAJv4nRoeYdkpXf8YpGYK43BVFiAUk5qV/mCDYRzXu1R9nTEi09cYVf8bIeYRlo0eESb64+VfFZSUWL6lMZOhoNhhOmDsoTUVzRnA1duZmZtMYzdZhFwH2c6axZoGmK7WQNOxFEGb9Jnj2x2UctoR1lna2Z1Dl0QgVCf12VIeUF5kZp3jYJcXk4BTy9UUVkMeGhWFGzEjwNffWzjbKuLkGM+gz+DQYNCg0SDRYNIg0qDS4NMg02DToNTg1WDVoNXg1iDWYNdg2KDcINxg3KDc4N0g3WDdoN5g3qDfoN/g4CDgYOCg4ODhIOHg4iDioOLg4yDjYOPg5CDkYOUg5WDloOXg5mDmoOdg5+DoYOig6ODpIOlg6aDp4Osg62DroOvg7WDu4O+g7+DwoPDg8SDxoPIg8mDy4PNg86D0IPRg9KD04PVg9eD2YPag9uD3oPig+OD5IPmg+eD6IPrg+yD7YNwYD1tdXJmYo6UxZRDU8GPfnvfTiaMfk7UnrGUs5RNUlxvY5BFbTSMEVhMXSBrSWuqZ1tUVIGMf5lYN4U6X6JiR2o5lXJlhGBlaKd3VE6oT+ddmJesZNh/7VzPT416B1IEgxROL2CDeqaUtU+yTuZ5NHTkUrmC0mS9ed1bgWxSl3uPImw+UH9TBW7OZHRmMGzFYHeY94uGXjx0d3rLeRhOsZADdEJs2lZLkcVsi406U8aG8mavjkhccZogbu6D74Pzg/SD9YP2g/eD+oP7g/yD/oP/gwCEAoQFhAeECIQJhAqEEIQShBOEFIQVhBaEF4QZhBqEG4QehB+EIIQhhCKEI4QphCqEK4QshC2ELoQvhDCEMoQzhDSENYQ2hDeEOYQ6hDuEPoQ/hECEQYRChEOERIRFhEeESIRJhEqES4RMhE2EToRPhFCEUoRThFSEVYRWhFiEXYRehF+EYIRihGSEZYRmhGeEaIRqhG6Eb4RwhHKEdIR3hHmEe4R8hNZTNlqLn6ONu1MIV6eYQ2ebkclsaFHKdfNirHI4Up1SOn+UcDh2dFNKnrdpbnjAltmIpH82ccNxiVHTZ+R05FgYZbdWqYt2mXBi1X75YO1w7FjBTrpOzV/nl/tOpIsDUopZq35UYs1O5WUOYjiDyYRjg42HlHG2brlb0n6XUclj1GeJgDmDFYgSUXpbglmxj3NOXWxlUSWJb48ulkqFXnQQlfCVpm3lgjFfkmQSbSiEboHDnF5YW40JTsFTfYR+hH+EgISBhIOEhISFhIaEioSNhI+EkISRhJKEk4SUhJWEloSYhJqEm4SdhJ6En4SghKKEo4SkhKWEpoSnhKiEqYSqhKuErISthK6EsISxhLOEtYS2hLeEu4S8hL6EwITChMOExYTGhMeEyITLhMyEzoTPhNKE1ITVhNeE2ITZhNqE24TchN6E4YTihOSE54TohOmE6oTrhO2E7oTvhPGE8oTzhPSE9YT2hPeE+IT5hPqE+4T9hP6EAIUBhQKFHk9jZVFo01UnThRkmpprYsJaX3Rygqlt7mjnUI6DAnhAZzlSmWyxfrtQZVVecVt7UmbKc+uCSWdxXCBSfXFriOqVVZbFZGGNs4GEVVVsR2Iuf5JYJE9GVU+NTGYKThpc84iiaE5jDXrncI2C+lL2lxFc6FS1kM1+YllKjceGDIINgmaNRGQEXFFhiW0+eb6LN3gzdXtUOE+rjvFtIFrFfl55iGyhW3ZaGnW+gE5hF27wWB91JXVyckdT834DhQSFBYUGhQeFCIUJhQqFC4UNhQ6FD4UQhRKFFIUVhRaFGIUZhRuFHIUdhR6FIIUihSOFJIUlhSaFJ4UohSmFKoUthS6FL4UwhTGFMoUzhTSFNYU2hT6FP4VAhUGFQoVEhUWFRoVHhUuFTIVNhU6FT4VQhVGFUoVThVSFVYVXhViFWoVbhVyFXYVfhWCFYYVihWOFZYVmhWeFaYVqhWuFbIVthW6Fb4VwhXGFc4V1hXaFd4V4hXyFfYV/hYCFgYUBd9t2aVLcgCNXCF4xWe5yvWV/bteLOFxxhkFT83f+YvZlwE7fmICGnlvGi/JT4nd/T05cdprLWQ9fOnnrWBZO/2eLTu1ik4odkL9SL2bcVWxWApDVTo1PypFwmQ9sAl5DYKRbxonVizZlS2KWmYhb/1uIYy5V11Mmdn1RLIWiZ7NoimuSYpOP1FMSgtFtj3VmTk6NcFufca+FkWbZZnJ/AIfNniCfXlwvZ/CPEWhfZw1i1nqFWLZecGUxb4KFg4WGhYiFiYWKhYuFjIWNhY6FkIWRhZKFk4WUhZWFloWXhZiFmYWahZ2FnoWfhaCFoYWihaOFpYWmhaeFqYWrhayFrYWxhbKFs4W0hbWFtoW4hbqFu4W8hb2FvoW/hcCFwoXDhcSFxYXGhceFyIXKhcuFzIXNhc6F0YXShdSF1oXXhdiF2YXahduF3YXehd+F4IXhheKF44XlheaF54XoheqF64Xshe2F7oXvhfCF8YXyhfOF9IX1hfaF94X4hVVgN1INgFRkcIgpdQVeE2j0YhyXzFM9cgGMNGxhdw56LlSsd3qYHIL0i1V4FGfBcK9llWQ2Vh1gwXn4Ux1Oe2uGgPpb41XbVjpPPE9ymfNdfmc4gAJggpgBkItbvIv1ixxkWILeZP1Vz4JlkddPIH0fkJ9881BRWK9uv1vJi4OAeJGchJd7fYaLlo+W5X7Tmo54gVxXekKQp5ZfeVlbX2MLe9GErWgGVSl/EHQifQGVQGJMWNZOg1t5WVRY+YX6hfyF/YX+hQCGAYYChgOGBIYGhgeGCIYJhgqGC4YMhg2GDoYPhhCGEoYThhSGFYYXhhiGGYYahhuGHIYdhh6GH4YghiGGIoYjhiSGJYYmhiiGKoYrhiyGLYYuhi+GMIYxhjKGM4Y0hjWGNoY3hjmGOoY7hj2GPoY/hkCGQYZChkOGRIZFhkaGR4ZIhkmGSoZLhkyGUoZThlWGVoZXhliGWYZbhlyGXYZfhmCGYYZjhmSGZYZmhmeGaIZphmqGbXMeY0uOD47OgNSCrGLwU/BsXpEqWQFgcGxNV0pkKo0rduluW1eAavB1bW8tjAiMZlfva5KIs3iiY/lTrXBkbFhYKmQCWOBom4EQVdZ8GFC6jsxtn43rcI9jm23UbuZ+BIRDaAOQ2G12lqiLV1l5cuSFfoG8dYqKr2hUUiKOEZXQY5iYRI58VVNP/2aPVtVglW1DUklcKVn7bWtYMHUcdWxgFIJGgRFjYWfijzp38400jcGUFl6FUyxUw3Bthm+GcIZyhnOGdIZ1hnaGd4Z4hoOGhIaFhoaGh4aIhomGjoaPhpCGkYaShpSGloaXhpiGmYaahpuGnoafhqCGoYaihqWGpoarhq2GroayhrOGt4a4hrmGu4a8hr2Gvoa/hsGGwobDhsWGyIbMhs2G0obThtWG1obXhtqG3IbdhuCG4YbihuOG5YbmhueG6IbqhuuG7IbvhvWG9ob3hvqG+4b8hv2G/4YBhwSHBYcGhwuHDIcOhw+HEIcRhxSHFodAbPdeXFCtTq1eOmNHghqQUGhukbN3DFTclGRf5Xp2aEVjUnvfftt1d1CVYjRZD5D4UcN5gXr+VpJfFJCCbWBcH1cQVFRRTW7iVqhjk5h/gRWHKokAkB5Ub1zAgdZiWGIxgTWeQJZumnyaLWmlWdNiPlUWY8dU2YY8bQNa5nSciGprFllMjC9ffm6pc32YOE73cIxbl3g9Y1pmlnbLYJtbSVoHTlWBamyLc6FOiWdRf4Bf+mUbZ9hfhFkBWhmHG4cdhx+HIIckhyaHJ4cohyqHK4cshy2HL4cwhzKHM4c1hzaHOIc5hzqHPIc9h0CHQYdCh0OHRIdFh0aHSodLh02HT4dQh1GHUodUh1WHVodYh1qHW4dch12HXodfh2GHYodmh2eHaIdph2qHa4dsh22Hb4dxh3KHc4d1h3eHeId5h3qHf4eAh4GHhIeGh4eHiYeKh4yHjoePh5CHkYeSh5SHlYeWh5iHmYeah5uHnIedh56HoIehh6KHo4ekh81drl9xU+aX3Y9FaPRWL1XfYDpOTW/0fseCDoTUWR9PKk8+XKx+KmcahXNUT3XDgIJVT5tNTy1uE4wJXHBha1MfdiluioaHZfuVuX47VDN6Cn3uleFVwX/udB1jF4ehbZ16EWKhZWdT4WODbOtdXFSolExOYWzsi0tc4GWcgqdoPlQ0VMtrZmuUTkJjSFMegg1Prk9eVwpi/pZkZmly/1KhUp9g74sUZplxkGd/iVJ4/XdwZjtWOFQhlXpypYemh6eHqYeqh66HsIexh7KHtIe2h7eHuIe5h7uHvIe+h7+HwYfCh8OHxIfFh8eHyIfJh8yHzYfOh8+H0IfUh9WH1ofXh9iH2Yfah9yH3Yfeh9+H4Yfih+OH5Ifmh+eH6Ifph+uH7Ifth++H8Ifxh/KH84f0h/WH9of3h/iH+of7h/yH/Yf/hwCIAYgCiASIBYgGiAeICIgJiAuIDIgNiA6ID4gQiBGIEogUiBeIGIgZiBqIHIgdiB6IH4ggiCOIAHpvYAxeiWCdgRVZ3GCEce9wqm5QbIByhGqtiC1eYE6zWpxV45QXbft8mZYPYsZ+jnd+hiNTHpeWj4dm4VygT+1yC06mUw9ZE1SAYyiVSFHZTpycpH64VCSNVIg3gvKVjm0mX8xaPmZplrBzLnO/U3qBhZmhf6pbd5ZQlr9++HaiU3aVmZmxe0SJWG5hTtR/ZXnmi/NgzVSrTnmY911has9QEVRhjCeEXXgEl0pS7lSjVgCViG21W8ZtU2YkiCWIJogniCiIKYgqiCuILIgtiC6IL4gwiDGIM4g0iDWINog3iDiIOog7iD2IPog/iEGIQohDiEaIR4hIiEmISohLiE6IT4hQiFGIUohTiFWIVohYiFqIW4hciF2IXohfiGCIZohniGqIbYhviHGIc4h0iHWIdoh4iHmIeoh7iHyIgIiDiIaIh4iJiIqIjIiOiI+IkIiRiJOIlIiViJeImIiZiJqIm4idiJ6In4igiKGIo4iliKaIp4ioiKmIqogPXF1bIWiWgHhVEXtIZVRpm05Ha06Hi5dPUx9jOmSqkJxlwYAQjJlRsGh4U/mHyGHEbPtsIoxRXKqFr4IMlSNrm4+wZftfw1/hT0WIH2ZlgSlz+mB0URFSi1diX6KQTIiSkXheT2cnYNNZRFH2UfiACFN5bMSWinERT+5Pnn89Z8VVCJXAeZaI436fWAxiAJdahhhWe5iQX7iLxIRXkdlT7WWPXlx1ZGBufX9a6n7tfmmPp1WjW6xgy2WEc6yIroiviLCIsoiziLSItYi2iLiIuYi6iLuIvYi+iL+IwIjDiMSIx4jIiMqIy4jMiM2Iz4jQiNGI04jWiNeI2ojbiNyI3YjeiOCI4YjmiOeI6YjqiOuI7IjtiO6I74jyiPWI9oj3iPqI+4j9iP+IAIkBiQOJBIkFiQaJB4kIiQmJC4kMiQ2JDokPiRGJFIkViRaJF4kYiRyJHYkeiR+JIIkiiSOJJIkmiSeJKIkpiSyJLYkuiS+JMYkyiTOJNYk3iQmQY3Ypd9p+dJebhWZbdHrqlkCIy1KPcapf7GXii/tbb5rhXYlrW2yti6+LCpDFj4tTvGImni2eQFQrTr2CWXKchhZdWYivbcWW0VSaTraLCXG9VAmW33D5bdB2JU4UeBKHqVz2XgCKnJgOlo5wv2xEWaljPHdNiBRvc4IwWNVxjFMaeMGWAVVmXzBxtFsajIyag2suWS+e53loZ2xib0+hdYp/C20zlids8E7SdXtRN2g+b4CQcIGWWXZ0OIk5iTqJO4k8iT2JPok/iUCJQolDiUWJRolHiUiJSYlKiUuJTIlNiU6JT4lQiVGJUolTiVSJVYlWiVeJWIlZiVqJW4lciV2JYIlhiWKJY4lkiWWJZ4loiWmJaolriWyJbYluiW+JcIlxiXKJc4l0iXWJdol3iXiJeYl6iXyJfYl+iYCJgomEiYWJh4mIiYmJiomLiYyJjYmOiY+JkImRiZKJk4mUiZWJlomXiZiJmYmaiZuJnImdiZ6Jn4mgiaGJR2QnXGWQkXojjNpZrFQAgm+DgYkAgDBpTlY2gDdyzpG2UV9OdZiWYxpO9lPzZkuBHFmybQBO+Vg7U9Zj8ZSdTwpPY4iQmDdZV5D7eepO8ICRdYJsnFvoWV1fBWmBhhpQ8l1ZTuN35U56gpFiE2aRkHlcv055X8aBOJCEgKt1pk7UiA9hxWvGX0lOynaibuOLrosKjNGLAl/8f8x/zn41g2uD4Fa3a/OXNJb7WR9U9pTrbcVbbpk5XBVfkJaiiaOJpImliaaJp4moiamJqomriayJrYmuia+JsImxibKJs4m0ibWJtom3ibiJuYm6ibuJvIm9ib6Jv4nAicOJzYnTidSJ1YnXidiJ2Ynbid2J34ngieGJ4onkieeJ6InpieqJ7Intie6J8InxifKJ9In1ifaJ94n4ifmJ+on7ifyJ/Yn+if+JAYoCigOKBIoFigaKCIoJigqKC4oMig2KDooPihCKEYoSihOKFIoVihaKF4oYihmKGoobihyKHYpwU/GCMWp0WnCelF4of7mDJIQlhGeDR4fOj2KNyHZxX5aYbHggZt9U5WJjT8OByHW4Xs2WCo75ho9U82yMbThsf2DHUih1fV4YT6Bg518kXDF1rpDAlLlyuWw4bkmRCWfLU/NTUU/JkfGLyFN8XsKP5G2OTsJ2hmlehhphBoJZT95PPpB8nAlhHW4UboWWiE4xWuiWDk5/XLl5h1vti71/iXPfV4uCwZABVEeQu1XqXKFfCGEya/FysoCJih6KH4ogiiGKIoojiiSKJYomiieKKIopiiqKK4osii2KLoovijCKMYoyijOKNIo1ijaKN4o4ijmKOoo7ijyKPYo/ikCKQYpCikOKRIpFikaKR4pJikqKS4pMik2KTopPilCKUYpSilOKVIpVilaKV4pYilmKWopbilyKXYpeil+KYIphimKKY4pkimWKZopnimiKaYpqimuKbIptim6Kb4pwinGKcopzinSKdYp2ineKeIp6inuKfIp9in6Kf4qAinRt01vViISYa4xtmjOeCm6kUUNRo1eBiJ9T9GOVj+1WWFQGVz9zkG4Yf9yP0YI/YShgYpbwZqZ+io3DjaWUs1ykfAhnpmAFlhiAkU7nkABTaJZBUdCPdIVdkVVm9ZdVWx1TOHhCZz1oyVR+cLBbfY+NUShXsVQSZYJmXo1DjQ+BbIRtkN98/1H7haNn6WWhb6SGgY5qViCQgnZ2cOVxI43pYhlS/Ww8jQ5gnliOYf5mYI1OYrNVI24tZ2ePgYqCioOKhIqFioaKh4qIiouKjIqNio6Kj4qQipGKkoqUipWKloqXipiKmYqaipuKnIqdip6Kn4qgiqGKooqjiqSKpYqmiqeKqIqpiqqKq4qsiq2KroqvirCKsYqyirOKtIq1iraKt4q4irmKuoq7iryKvYq+ir+KwIrBisKKw4rEisWKxorHisiKyYrKisuKzIrNis6Kz4rQitGK0orTitSK1YrWiteK2IrZitqK24rcit2K3orfiuCK4YriiuOK4ZT4lSh3BWioaYtUTU64cMiLWGSLZYVbhHo6UOhbu3fha3mKmHy+bM92qWWXjy1dVVw4hghoYFMYYtl6W279fh9q4HpwXzNvIF+MY6htVmcIThBeJo3XTsCANHaclttiLWZ+YrxsdY1ncWl/RlGHgOxTbpCYYvJU8IaZjwWAF5UXhdmPWW3Nc59lH3cEdSd4+4EejYiUpk+VZ7l1yosHly9jR5U1lriEI2NBd4Ff8HKJThRgdGXvYmNrP2XkiuWK5orniuiK6YrqiuuK7Irtiu6K74rwivGK8orzivSK9Yr2iveK+Ir5ivqK+4r8iv2K/or/igCLAYsCiwOLBIsFiwaLCIsJiwqLC4sMiw2LDosPixCLEYsSixOLFIsVixaLF4sYixmLGosbixyLHYseix+LIIshiyKLI4skiyWLJ4soiymLKosriyyLLYsuiy+LMIsxizKLM4s0izWLNos3iziLOYs6izuLPIs9iz6LP4tAi0GLQotDi0SLRYsnXsd10ZDBi52CnWcvZTFUGIfld6KAAoFBbEtOx35MgPR2DWmWa2diPFCET0BXB2Nia76N6lPoZbh+118aY7dj84H0gW5/HF7ZXDZSembpeRp6KI2ZcNR13m67bJJ6LU7FduBfn5R3iMh+zXm/gM2R8k4XTx+CaFTeXTJtzIulfHSPmIAaXpJUsXaZWzxmpJrgcypo24YxZypz+IvbixCQ+XrbcG5xxGKpdzFWO05XhPFnqVLAhi6N+JRRe0aLR4tIi0mLSotLi0yLTYtOi0+LUItRi1KLU4tUi1WLVotXi1iLWYtai1uLXItdi16LX4tgi2GLYotji2SLZYtni2iLaYtqi2uLbYtui2+LcItxi3KLc4t0i3WLdot3i3iLeYt6i3uLfIt9i36Lf4uAi4GLgouDi4SLhYuGi4eLiIuJi4qLi4uMi42LjouPi5CLkYuSi5OLlIuVi5aLl4uYi5mLmoubi5yLnYuei5+LrIuxi7uLx4vQi+qLCYwejE9P6GxdeXuak2Iqcv1iE04WeGyPsGRajcZ7aWiEXsWIhlmeZO5YtnIOaSWV/Y9YjWBXAH8GjMZRSWPZYlNTTGgidAGDTJFEVUB3fHBKbXlRqFREjf9Zy27EbVxbK33UTn18025QW+qBDW5XWwOb1Wgqjpdb/H47YLV+uZBwjU9ZzWPfebONUlPPZVZ5xYs7lsR+u5SCfjRWiZEAZ2p/Clx1kChm5l1QT95nWlBcT1BXp14Q6BHoEugT6BToOIw5jDqMO4w8jD2MPow/jECMQoxDjESMRYxIjEqMS4xNjE6MT4xQjFGMUoxTjFSMVoxXjFiMWYxbjFyMXYxejF+MYIxjjGSMZYxmjGeMaIxpjGyMbYxujG+McIxxjHKMdIx1jHaMd4x7jHyMfYx+jH+MgIyBjIOMhIyGjIeMiIyLjI2MjoyPjJCMkYySjJOMlYyWjJeMmYyajJuMnIydjJ6Mn4ygjKGMooyjjKSMpYymjKeMqIypjKqMq4ysjK2MjU4MTkBREE7/XkVTFU6YTh5OMptsW2lWKE66eT9OFVNHTi1ZO3JuUxBs31bkgJeZ02t+dxefNk6fThCfXE5pTpNOiIJbW2xVD1bETo1TnVOjU6VTrlNll12NGlP1UyZTLlM+U1yNZlNjUwJSCFIOUi1SM1I/UkBSTFJeUmFSXFKvhH1SglKBUpBSk1KCUVR/u07DTslOwk7oTuFO607eThtP804iT2RP9U4lTydPCU8rT15PZ084ZVpPXU+ujK+MsIyxjLKMs4y0jLWMtoy3jLiMuYy6jLuMvIy9jL6Mv4zAjMGMwozDjMSMxYzGjMeMyIzJjMqMy4zMjM2MzozPjNCM0YzSjNOM1IzVjNaM14zYjNmM2ozbjNyM3YzejN+M4IzhjOKM44zkjOWM5oznjOiM6YzqjOuM7IztjO6M74zwjPGM8ozzjPSM9Yz2jPeM+Iz5jPqM+4z8jP2M/oz/jACNAY0CjQONBI0FjQaNB40IjQmNCo0LjQyNDY1fT1dPMk89T3ZPdE+RT4lPg0+PT35Pe0+qT3xPrE+UT+ZP6E/qT8VP2k/jT9xP0U/fT/hPKVBMUPNPLFAPUC5QLVD+TxxQDFAlUChQflBDUFVQSFBOUGxQe1ClUKdQqVC6UNZQBlHtUOxQ5lDuUAdRC1HdTj1sWE9lT85PoJ9GbHR8blH9XcmemJmBURRZ+VINUweKEFPrURlZVVGgTlZRs05uiKSItU4UgdKIgHk0WwOIuH+rUbFRvVG8UQ6ND40QjRGNEo0TjRSNFY0WjReNGI0ZjRqNG40cjSCNUY1SjVeNX41ljWiNaY1qjWyNbo1vjXGNco14jXmNeo17jXyNfY1+jX+NgI2CjYONho2HjYiNiY2MjY2Njo2PjZCNko2TjZWNlo2XjZiNmY2ajZuNnI2djZ6NoI2hjaKNpI2ljaaNp42ojamNqo2rjayNrY2uja+NsI2yjbaNt425jbuNvY3AjcGNwo3FjceNyI3JjcqNzY3QjdKN043UjcdRllGiUaVRoIumi6eLqou0i7WLt4vCi8OLy4vPi86L0ovTi9SL1ovYi9mL3Ivfi+CL5Ivoi+mL7ovwi/OL9ov5i/yL/4sAjAKMBIwHjAyMD4wRjBKMFIwVjBaMGYwbjBiMHYwfjCCMIYwljCeMKowrjC6ML4wyjDOMNYw2jGlTelMdliKWIZYxliqWPZY8lkKWSZZUll+WZ5ZslnKWdJaIlo2Wl5awlpeQm5CdkJmQrJChkLSQs5C2kLqQ1Y3YjdmN3I3gjeGN4o3ljeaN543pje2N7o3wjfGN8o30jfaN/I3+jf+NAI4BjgKOA44EjgaOB44IjguODY4OjhCOEY4SjhOOFY4WjheOGI4ZjhqOG44cjiCOIY4kjiWOJo4njiiOK44tjjCOMo4zjjSONo43jjiOO448jj6OP45DjkWORo5Mjk2OTo5PjlCOU45UjlWOVo5XjliOWo5bjlyOXY5ejl+OYI5hjmKOY45kjmWOZ45ojmqOa45ujnGOuJCwkM+QxZC+kNCQxJDHkNOQ5pDikNyQ15DbkOuQ75D+kASRIpEekSORMZEvkTmRQ5FGkQ1SQlmiUqxSrVK+Uv9U0FLWUvBS31Pucc139F71UfxRL5u2UwFfWnXvXUxXqVehV35YvFjFWNFYKVcsVypXM1c5Vy5XL1dcVztXQldpV4VXa1eGV3xXe1doV21XdldzV61XpFeMV7JXz1enV7RXk1egV9VX2FfaV9lX0le4V/RX71f4V+RX3VdzjnWOd454jnmOeo57jn2Ofo6AjoKOg46EjoaOiI6JjoqOi46Mjo2Ojo6RjpKOk46VjpaOl46YjpmOmo6bjp2On46gjqGOoo6jjqSOpY6mjqeOqI6pjqqOrY6ujrCOsY6zjrSOtY62jreOuI65jruOvI69jr6Ov47AjsGOwo7DjsSOxY7GjseOyI7JjsqOy47Mjs2Oz47QjtGO0o7TjtSO1Y7WjteO2I7ZjtqO247cjt2O3o7fjuCO4Y7ijuOO5I4LWA1Y/VftVwBYHlgZWERYIFhlWGxYgViJWJpYgFiomRmf/2F5gn2Cf4KPgoqCqIKEgo6CkYKXgpmCq4K4gr6CsILIgsqC44KYgreCroLLgsyCwYKpgrSCoYKqgp+CxILOgqSC4YIJg/eC5IIPgweD3IL0gtKC2IIMg/uC04IRgxqDBoMUgxWD4ILVghyDUYNbg1yDCIOSgzyDNIMxg5uDXoMvg0+DR4NDg1+DQIMXg2CDLYM6gzODZoNlg+WO5o7njuiO6Y7qjuuO7I7tju6O747wjvGO8o7zjvSO9Y72jveO+I75jvqO+478jv2O/o7/jgCPAY8CjwOPBI8FjwaPB48IjwmPCo8LjwyPDY8Ojw+PEI8RjxKPE48UjxWPFo8XjxiPGY8ajxuPHI8djx6PH48gjyGPIo8jjySPJY8mjyePKI8pjyqPK48sjy2PLo8vjzCPMY8yjzOPNI81jzaPN484jzmPOo87jzyPPY8+jz+PQI9Bj0KPQ49Ej2iDG4Npg2yDaoNtg26DsIN4g7ODtIOgg6qDk4Ocg4WDfIO2g6mDfYO4g3uDmIOeg6iDuoO8g8GDAYTlg9iDB1gYhAuE3YP9g9aDHIQ4hBGEBoTUg9+DD4QDhPiD+YPqg8WDwIMmhPCD4YNchFGEWoRZhHOEh4SIhHqEiYR4hDyERoRphHaEjISOhDGEbYTBhM2E0ITmhL2E04TKhL+EuoTghKGEuYS0hJeE5YTjhAyFDXU4hfCEOYUfhTqFRY9Gj0ePSI9Jj0qPS49Mj02PTo9Pj1CPUY9Sj1OPVI9Vj1aPV49Yj1mPWo9bj1yPXY9ej1+PYI9hj2KPY49kj2WPao+Aj4yPko+dj6CPoY+ij6SPpY+mj6ePqo+sj62Pro+vj7KPs4+0j7WPt4+4j7qPu4+8j7+PwI/Dj8aPyY/Kj8uPzI/Nj8+P0o/Wj9eP2o/gj+GP44/nj+yP74/xj/KP9I/1j/aP+o/7j/yP/o//jweQCJAMkA6QE5AVkBiQVoU7hf+E/IRZhUiFaIVkhV6FeoWid0OFcoV7haSFqIWHhY+FeYWuhZyFhYW5hbeFsIXThcGF3IX/hSeGBYYphhaGPIb+XghfPFlBWTeAVVlaWVhZD1MiXCVcLFw0XExiamKfYrtiymLaYtdi7mIiY/ZiOWNLY0NjrWP2Y3FjemOOY7RjbWOsY4pjaWOuY7xj8mP4Y+Bj/2PEY95jzmNSZMZjvmNFZEFkC2QbZCBkDGQmZCFkXmSEZG1klmQZkByQI5AkkCWQJ5AokCmQKpArkCyQMJAxkDKQM5A0kDeQOZA6kD2QP5BAkEOQRZBGkEiQSZBKkEuQTJBOkFSQVZBWkFmQWpBckF2QXpBfkGCQYZBkkGaQZ5BpkGqQa5BskG+QcJBxkHKQc5B2kHeQeJB5kHqQe5B8kH6QgZCEkIWQhpCHkImQipCMkI2QjpCPkJCQkpCUkJaQmJCakJyQnpCfkKCQpJClkKeQqJCpkKuQrZCykLeQvJC9kL+QwJB6ZLdkuGSZZLpkwGTQZNdk5GTiZAllJWUuZQtf0l8ZdRFfX1PxU/1T6VPoU/tTElQWVAZUS1RSVFNUVFRWVENUIVRXVFlUI1QyVIJUlFR3VHFUZFSaVJtUhFR2VGZUnVTQVK1UwlS0VNJUp1SmVNNU1FRyVKNU1VS7VL9UzFTZVNpU3FSpVKpUpFTdVM9U3lQbVedUIFX9VBRV81QiVSNVD1URVSdVKlVnVY9VtVVJVW1VQVVVVT9VUFU8VcKQw5DGkMiQyZDLkMyQzZDSkNSQ1ZDWkNiQ2ZDakN6Q35DgkOOQ5JDlkOmQ6pDskO6Q8JDxkPKQ85D1kPaQ95D5kPqQ+5D8kP+QAJEBkQORBZEGkQeRCJEJkQqRC5EMkQ2RDpEPkRCREZESkRORFJEVkRaRF5EYkRqRG5EckR2RH5EgkSGRJJElkSaRJ5EokSmRKpErkSyRLZEukTCRMpEzkTSRNZE2kTeROJE6kTuRPJE9kT6RP5FAkUGRQpFEkTdVVlV1VXZVd1UzVTBVXFWLVdJVg1WxVblViFWBVZ9VflXWVZFVe1XfVb1VvlWUVZlV6lX3VclVH1bRVetV7FXUVeZV3VXEVe9V5VXyVfNVzFXNVehV9VXkVZSPHlYIVgxWAVYkViNW/lUAVidWLVZYVjlWV1YsVk1WYlZZVlxWTFZUVoZWZFZxVmtWe1Z8VoVWk1avVtRW11bdVuFW9VbrVvlW/1YEVwpXCVccVw9eGV4UXhFeMV47XjxeRZFHkUiRUZFTkVSRVZFWkViRWZFbkVyRX5FgkWaRZ5FokWuRbZFzkXqRe5F8kYCRgZGCkYORhJGGkYiRipGOkY+Rk5GUkZWRlpGXkZiRmZGckZ2RnpGfkaCRoZGkkaWRppGnkaiRqZGrkayRsJGxkbKRs5G2kbeRuJG5kbuRvJG9kb6Rv5HAkcGRwpHDkcSRxZHGkciRy5HQkdKR05HUkdWR1pHXkdiR2ZHakduR3ZHekd+R4JHhkeKR45HkkeWRN15EXlReW15eXmFejFx6XI1ckFyWXIhcmFyZXJFcmlycXLVcoly9XKxcq1yxXKNcwVy3XMRc0lzkXMtc5VwCXQNdJ10mXS5dJF0eXQZdG11YXT5dNF09XWxdW11vXV1da11LXUpdaV10XYJdmV2dXXOMt13FXXNfd1+CX4dfiV+MX5VfmV+cX6hfrV+1X7xfYohhX61ysHK0crdyuHLDcsFyznLNctJy6HLvculy8nL0cvdyAXPzcgNz+nLmkeeR6JHpkeqR65Hske2R7pHvkfCR8ZHykfOR9JH1kfaR95H4kfmR+pH7kfyR/ZH+kf+RAJIBkgKSA5IEkgWSBpIHkgiSCZIKkguSDJINkg6SD5IQkhGSEpITkhSSFZIWkheSGJIZkhqSG5Ickh2SHpIfkiCSIZIikiOSJJIlkiaSJ5IokimSKpIrkiySLZIuki+SMJIxkjKSM5I0kjWSNpI3kjiSOZI6kjuSPJI9kj6SP5JAkkGSQpJDkkSSRZL7chdzE3MhcwpzHnMdcxVzInM5cyVzLHM4czFzUHNNc1dzYHNsc29zfnMbgiVZ55gkWQJZY5lnmWiZaZlqmWuZbJl0mXeZfZmAmYSZh5mKmY2ZkJmRmZOZlJmVmYBekV6LXpZepV6gXrletV6+XrNeU43SXtFe217oXupeuoHEX8lf1l/PXwNg7l8EYOFf5F/+XwVgBmDqX+1f+F8ZYDVgJmAbYA9gDWApYCtgCmA/YCFgeGB5YHtgemBCYEaSR5JIkkmSSpJLkkySTZJOkk+SUJJRklKSU5JUklWSVpJXkliSWZJakluSXJJdkl6SX5JgkmGSYpJjkmSSZZJmkmeSaJJpkmqSa5Jskm2SbpJvknCScZJyknOSdZJ2kneSeJJ5knqSe5J8kn2SfpJ/koCSgZKCkoOShJKFkoaSh5KIkomSipKLkoySjZKPkpCSkZKSkpOSlJKVkpaSl5KYkpmSmpKbkpySnZKekp+SoJKhkqKSo5KkkqWSppKnkmpgfWCWYJpgrWCdYINgkmCMYJtg7GC7YLFg3WDYYMZg2mC0YCBhJmEVYSNh9GAAYQ5hK2FKYXVhrGGUYadht2HUYfVh3V+zlumV65XxlfOV9ZX2lfyV/pUDlgSWBpYIlgqWC5YMlg2WD5YSlhWWFpYXlhmWGpYsTj9yFWI1bFRsXGxKbKNshWyQbJRsjGxobGlsdGx2bIZsqWzQbNRsrWz3bPhs8WzXbLJs4GzWbPps62zubLFs02zvbP5sqJKpkqqSq5Kskq2Sr5KwkrGSspKzkrSStZK2kreSuJK5krqSu5K8kr2SvpK/ksCSwZLCksOSxJLFksaSx5LJksqSy5LMks2SzpLPktCS0ZLSktOS1JLVktaS15LYktmS2pLbktyS3ZLekt+S4JLhkuKS45LkkuWS5pLnkuiS6ZLqkuuS7JLtku6S75LwkvGS8pLzkvSS9ZL2kveS+JL5kvqS+5L8kv2S/pL/kgCTAZMCkwOTBJMFkwaTB5MIkwmTOW0nbQxtQ21IbQdtBG0ZbQ5tK21NbS5tNW0abU9tUm1UbTNtkW1vbZ5toG1ebZNtlG1cbWBtfG1jbRpux23Fbd5tDm6/beBtEW7mbd1t2W0WbqttDG6ubStubm5Obmtusm5fboZuU25UbjJuJW5Ebt9usW6YbuBuLW/ibqVup269brtut27XbrRuz26PbsJun25ib0ZvR28kbxVv+W4vbzZvS290bypvCW8pb4lvjW+Mb3hvcm98b3pv0W8KkwuTDJMNkw6TD5MQkxGTEpMTkxSTFZMWkxeTGJMZkxqTG5Mckx2THpMfkyCTIZMikyOTJJMlkyaTJ5MokymTKpMrkyyTLZMuky+TMJMxkzKTM5M0kzWTNpM3kziTOZM6kzuTPJM9kz+TQJNBk0KTQ5NEk0WTRpNHk0iTSZNKk0uTTJNNk06TT5NQk1GTUpNTk1STVZNWk1eTWJNZk1qTW5Nck12TXpNfk2CTYZNik2OTZJNlk2aTZ5Nok2mTa5PJb6dvuW+2b8Jv4W/ub95v4G/vbxpwI3AbcDlwNXBPcF5wgFuEW5Vbk1ulW7hbL3WemjRk5FvuWzCJ8FtHjgeLto/Tj9WP5Y/uj+SP6Y/mj/OP6I8FkASQC5AmkBGQDZAWkCGQNZA2kC2QL5BEkFGQUpBQkGiQWJBikFuQuWZ0kH2QgpCIkIOQi5BQX1dfVl9YXztcq1RQXFlccVtjXGZcvH8qXylfLV90gjxfO5tuXIFZg1mNWalZqlmjWWyTbZNuk2+TcJNxk3KTc5N0k3WTdpN3k3iTeZN6k3uTfJN9k36Tf5OAk4GTgpODk4SThZOGk4eTiJOJk4qTi5OMk42TjpOQk5GTkpOTk5STlZOWk5eTmJOZk5qTm5Ock52TnpOfk6CToZOik6OTpJOlk6aTp5Ook6mTqpOrk6yTrZOuk6+TsJOxk7KTs5O0k7WTtpO3k7iTuZO6k7uTvJO9k76Tv5PAk8GTwpPDk8STxZPGk8eTyJPJk8uTzJPNk5dZylmrWZ5ZpFnSWbJZr1nXWb5ZBVoGWt1ZCFrjWdhZ+VkMWglaMlo0WhFaI1oTWkBaZ1pKWlVaPFpiWnVa7ICqWptad1p6Wr5a61qyWtJa1Fq4WuBa41rxWtZa5lrYWtxaCVsXWxZbMls3W0BbFVwcXFpbZVtzW1FbU1tiW3Wad5p4mnqaf5p9moCagZqFmoiaipqQmpKak5qWmpiam5qcmp2an5qgmqKao5qlmqean36hfqN+pX6ofql+zpPPk9CT0ZPSk9OT1JPVk9eT2JPZk9qT25Pck92T3pPfk+CT4ZPik+OT5JPlk+aT55Pok+mT6pPrk+yT7ZPuk++T8JPxk/KT85P0k/WT9pP3k/iT+ZP6k/uT/JP9k/6T/5MAlAGUApQDlASUBZQGlAeUCJQJlAqUC5QMlA2UDpQPlBCUEZQSlBOUFJQVlBaUF5QYlBmUGpQblByUHZQelB+UIJQhlCKUI5QklCWUJpQnlCiUKZQqlCuULJQtlC6UrX6wfr5+wH7BfsJ+yX7Lfsx+0H7Uftd+237gfuF+6H7rfu5+737xfvJ+DX/2fvp++37+fgF/An8Dfwd/CH8Lfwx/D38RfxJ/F38Zfxx/G38ffyF/In8jfyR/JX8mfyd/Kn8rfyx/LX8vfzB/MX8yfzN/NX96Xn91210+dZWQjnORc65zonOfc89zwnPRc7dzs3PAc8lzyHPlc9lzfJgKdOlz53Pec7pz8nMPdCp0W3QmdCV0KHQwdC50LHQvlDCUMZQylDOUNJQ1lDaUN5Q4lDmUOpQ7lDyUPZQ/lECUQZRClEOURJRFlEaUR5RIlEmUSpRLlEyUTZROlE+UUJRRlFKUU5RUlFWUVpRXlFiUWZRalFuUXJRdlF6UX5RglGGUYpRjlGSUZZRmlGeUaJRplGqUbJRtlG6Ub5RwlHGUcpRzlHSUdZR2lHeUeJR5lHqUe5R8lH2UfpR/lICUgZSClIOUhJSRlJaUmJTHlM+U05TUlNqU5pT7lByVIJUbdBp0QXRcdFd0VXRZdHd0bXR+dJx0jnSAdIF0h3SLdJ50qHSpdJB0p3TSdLp06pfrl+yXTGdTZ15nSGdpZ6Vnh2dqZ3NnmGenZ3VnqGeeZ61ni2d3Z3xn8GcJaNhnCmjpZ7BnDGjZZ7Vn2mezZ91nAGjDZ7hn4mcOaMFn/WcyaDNoYGhhaE5oYmhEaGRog2gdaFVoZmhBaGdoQGg+aEpoSWgpaLVoj2h0aHdok2hraMJobmn8aB9pIGn5aCeVM5U9lUOVSJVLlVWVWpVglW6VdJV1lXeVeJV5lXqVe5V8lX2VfpWAlYGVgpWDlYSVhZWGlYeViJWJlYqVi5WMlY2VjpWPlZCVkZWSlZOVlJWVlZaVl5WYlZmVmpWblZyVnZWelZ+VoJWhlaKVo5WklaWVppWnlaiVqZWqlauVrJWtla6Vr5WwlbGVspWzlbSVtZW2lbeVuJW5lbqVu5W8lb2VvpW/lcCVwZXClcOVxJXFlcaVx5XIlcmVypXLlSRp8GgLaQFpV2njaBBpcWk5aWBpQmldaYRpa2mAaZhpeGk0acxph2mIac5piWlmaWNpeWmbaadpu2mraa1p1GmxacFpymnfaZVp4GmNaf9pL2rtaRdqGGplavJpRGo+aqBqUGpbajVqjmp5aj1qKGpYanxqkWqQaqlql2qrajdzUnOBa4Jrh2uEa5Jrk2uNa5prm2uha6pra49tj3GPco9zj3WPdo94j3ePeY96j3yPfo+Bj4KPhI+Hj4uPzJXNlc6Vz5XQldGV0pXTldSV1ZXWldeV2JXZldqV25Xcld2V3pXfleCV4ZXileOV5JXlleaV55Xslf+VB5YTlhiWG5YeliCWI5YkliWWJpYnliiWKZYrliyWLZYvljCWN5Y4ljmWOpY+lkGWQ5ZKlk6WT5ZRllKWU5ZWlleWWJZZllqWXJZdll6WYJZjlmWWZpZrlm2WbpZvlnCWcZZzlniWeZZ6lnuWfJZ9ln6Wf5aAloGWgpaDloSWh5aJloqWjY+Oj4+PmI+aj86OC2IXYhtiH2IiYiFiJWIkYixi54HvdPR0/3QPdRF1E3U0Ze5l72XwZQpmGWZyZwNmFWYAZoVw92YdZjRmMWY2ZjVmBoBfZlRmQWZPZlZmYWZXZndmhGaMZqdmnWa+Zttm3GbmZulmMo0zjTaNO409jUCNRY1GjUiNSY1HjU2NVY1ZjceJyonLicyJzonPidCJ0Ylucp9yXXJmcm9yfnJ/coRyi3KNco9yknIIYzJjsGOMlo6WkZaSlpOWlZaWlpqWm5adlp6Wn5aglqGWopajlqSWpZamlqiWqZaqlquWrJatlq6Wr5axlrKWtJa1lreWuJa6lruWv5bClsOWyJbKlsuW0JbRltOW1JbWlteW2JbZltqW25bclt2W3pbfluGW4pbjluSW5ZbmlueW65bslu2W7pbwlvGW8pb0lvWW+Jb6lvuW/Jb9lv+WApcDlwWXCpcLlwyXEJcRlxKXFJcVlxeXGJcZlxqXG5cdlx+XIJc/ZNhkBIDqa/Nr/Wv1a/lrBWwHbAZsDWwVbBhsGWwabCFsKWwkbCpsMmw1ZVVla2VNclJyVnIwcmKGFlKfgJyAk4C8gApnvYCxgKuArYC0gLeA54DogOmA6oDbgMKAxIDZgM2A14AQZ92A64DxgPSA7YANgQ6B8oD8gBVnEoFajDaBHoEsgRiBMoFIgUyBU4F0gVmBWoFxgWCBaYF8gX2BbYFngU1YtVqIgYKBkYHVbqOBqoHMgSZnyoG7gSGXIpcjlySXJZcmlyeXKJcplyuXLJculy+XMZczlzSXNZc2lzeXOpc7lzyXPZc/l0CXQZdCl0OXRJdFl0aXR5dIl0mXSpdLl0yXTZdOl0+XUJdRl1SXVZdXl1iXWpdcl12XX5djl2SXZpdnl2iXapdrl2yXbZdul2+XcJdxl3KXdZd3l3iXeZd6l3uXfZd+l3+XgJeBl4KXg5eEl4aXh5eIl4mXipeMl46Xj5eQl5OXlZeWl5eXmZeal5uXnJedl8GBpoEkazdrOWtDa0ZrWWvRmNKY05jVmNmY2piza0BfwmvziZBlUZ+TZbxlxmXEZcNlzGXOZdJl1mWAcJxwlnCdcLtwwHC3cKtwsXDocMpwEHETcRZxL3ExcXNxXHFocUVxcnFKcXhxenGYcbNxtXGocaBx4HHUcedx+XEdcihybHAYcWZxuXE+Yj1iQ2JIYkliO3lAeUZ5SXlbeVx5U3laeWJ5V3lgeW95Z3l6eYV5inmaead5s3nRX9Bfnpefl6GXopekl6WXppenl6iXqZeql6yXrpewl7GXs5e1l7aXt5e4l7mXupe7l7yXvZe+l7+XwJfBl8KXw5fEl8WXxpfHl8iXyZfKl8uXzJfNl86Xz5fQl9GX0pfTl9SX1ZfWl9eX2JfZl9qX25fcl92X3pffl+CX4Zfil+OX5Jfll+iX7pfvl/CX8Zfyl/SX95f4l/mX+pf7l/yX/Zf+l/+XAJgBmAKYA5gEmAWYBpgHmAiYCZgKmAuYDJgNmA6YPGBdYFpgZ2BBYFlgY2CrYAZhDWFdYalhnWHLYdFhBmKAgH+Ak2z2bPxt9nf4dwB4CXgXeBh4EXirZS14HHgdeDl4Ong7eB94PHgleCx4I3gpeE54bXhWeFd4JnhQeEd4THhqeJt4k3iaeId4nHiheKN4sni5eKV41HjZeMl47HjyeAV59HgTeSR5Hnk0eZuf+Z77nvye8XYEdw13+XYHdwh3Gncidxl3LXcmdzV3OHdQd1F3R3dDd1p3aHcPmBCYEZgSmBOYFJgVmBaYF5gYmBmYGpgbmByYHZgemB+YIJghmCKYI5gkmCWYJpgnmCiYKZgqmCuYLJgtmC6YL5gwmDGYMpgzmDSYNZg2mDeYOJg5mDqYO5g8mD2YPpg/mECYQZhCmEOYRJhFmEaYR5hImEmYSphLmEyYTZhOmE+YUJhRmFKYU5hUmFWYVphXmFiYWZhamFuYXJhdmF6YX5hgmGGYYphjmGSYZZhmmGeYaJhpmGqYa5hsmG2Ybphid2V3f3eNd313gHeMd5F3n3egd7B3tXe9dzp1QHVOdUt1SHVbdXJ1eXWDdVh/YX9ff0iKaH90f3F/eX+Bf35/zXbldjKIhZSGlIeUi5SKlIyUjZSPlJCUlJSXlJWUmpSblJyUo5SklKuUqpStlKyUr5SwlLKUtJS2lLeUuJS5lLqUvJS9lL+UxJTIlMmUypTLlMyUzZTOlNCU0ZTSlNWU1pTXlNmU2JTblN6U35TglOKU5JTllOeU6JTqlG+YcJhxmHKYc5h0mIuYjpiSmJWYmZijmKiYqZiqmKuYrJitmK6Yr5iwmLGYspizmLSYtZi2mLeYuJi5mLqYu5i8mL2Yvpi/mMCYwZjCmMOYxJjFmMaYx5jImMmYypjLmMyYzZjPmNCY1JjWmNeY25jcmN2Y4JjhmOKY45jkmOWY5pjpmOqY65jsmO2Y7pjvmPCY8ZjymPOY9Jj1mPaY95j4mPmY+pj7mPyY/Zj+mP+YAJkBmQKZA5kEmQWZBpkHmemU65TulO+U85T0lPWU95T5lPyU/ZT/lAOVApUGlQeVCZUKlQ2VDpUPlRKVE5UUlRWVFpUYlRuVHZUelR+VIpUqlSuVKZUslTGVMpU0lTaVN5U4lTyVPpU/lUKVNZVElUWVRpVJlUyVTpVPlVKVU5VUlVaVV5VYlVmVW5VelV+VXZVhlWKVZJVllWaVZ5VolWmVapVrlWyVb5VxlXKVc5U6led37HfJltV57Xnjeet5BnpHXQN6AnoeehR6CJkJmQqZC5kMmQ6ZD5kRmRKZE5kUmRWZFpkXmRiZGZkamRuZHJkdmR6ZH5kgmSGZIpkjmSSZJZkmmSeZKJkpmSqZK5ksmS2ZL5kwmTGZMpkzmTSZNZk2mTeZOJk5mTqZO5k8mT2ZPpk/mUCZQZlCmUOZRJlFmUaZR5lImUmZSplLmUyZTZlOmU+ZUJlRmVKZU5lWmVeZWJlZmVqZW5lcmV2ZXplfmWCZYZlimWSZZplzmXiZeZl7mX6ZgpmDmYmZOXo3elF6z56lmXB6iHaOdpN2mXakdt504HQsdSCeIp4onimeKp4rniyeMp4xnjaeOJ43njmeOp4+nkGeQp5EnkaeR55InkmeS55Mnk6eUZ5VnleeWp5bnlyeXp5jnmaeZ55onmmeap5rnmyecZ5tnnOeknWUdZZ1oHWddax1o3WzdbR1uHXEdbF1sHXDdcJ11nXNdeN16HXmdeR163XndQN28XX8df91EHYAdgV2DHYXdgp2JXYYdhV2GXaMmY6ZmpmbmZyZnZmemZ+ZoJmhmaKZo5mkmaaZp5mpmaqZq5msma2ZrpmvmbCZsZmymbOZtJm1mbaZt5m4mbmZupm7mbyZvZm+mb+ZwJnBmcKZw5nEmcWZxpnHmciZyZnKmcuZzJnNmc6Zz5nQmdGZ0pnTmdSZ1ZnWmdeZ2JnZmdqZ25ncmd2Z3pnfmeCZ4ZnimeOZ5JnlmeaZ55nomemZ6pnrmeyZ7Znume+Z8JnxmfKZ85n0mfWZ9pn3mfiZ+Zkbdjx2InYgdkB2LXYwdj92NXZDdj52M3ZNdl52VHZcdlZ2a3Zvdsp/5np4enl6gHqGeoh6lXqmeqB6rHqoeq16s3pkiGmIcoh9iH+IgoiiiMaIt4i8iMmI4ojOiOOI5YjxiBqJ/IjoiP6I8IghiRmJE4kbiQqJNIkriTaJQYlmiXuJi3XlgLJ2tHbcdxKAFIAWgByAIIAigCWAJoAngCmAKIAxgAuANYBDgEaATYBSgGmAcYCDiXiYgJiDmPqZ+5n8mf2Z/pn/mQCaAZoCmgOaBJoFmgaaB5oImgmaCpoLmgyaDZoOmg+aEJoRmhKaE5oUmhWaFpoXmhiaGZoamhuaHJodmh6aH5ogmiGaIpojmiSaJZommieaKJopmiqaK5osmi2aLpovmjCaMZoymjOaNJo1mjaaN5o4mjmaOpo7mjyaPZo+mj+aQJpBmkKaQ5pEmkWaRppHmkiaSZpKmkuaTJpNmk6aT5pQmlGaUppTmlSaVZpWmleaWJpZmomYjJiNmI+YlJiamJuYnpifmKGYopilmKaYTYZUhmyGboZ/hnqGfIZ7hqiGjYaLhqyGnYanhqOGqoaThqmGtobEhrWGzoawhrqGsYavhsmGz4a0humG8Ybyhu2G84bQhhOH3ob0ht+G2IbRhgOHB4f4hgiHCocNhwmHI4c7hx6HJYcuhxqHPodIhzSHMYcphzeHP4eChyKHfYd+h3uHYIdwh0yHboeLh1OHY4d8h2SHWYdlh5OHr4eoh9KHWppbmlyaXZpeml+aYJphmmKaY5pkmmWaZppnmmiaaZpqmmuacpqDmomajZqOmpSalZqZmqaaqZqqmquarJqtmq6ar5qymrOatJq1mrmau5q9mr6av5rDmsSaxprHmsiayZrKms2azprPmtCa0prUmtWa1prXmtma2prbmtya3ZremuCa4prjmuSa5Zrnmuia6Zrqmuya7prwmvGa8przmvSa9Zr2mvea+Jr6mvya/Zr+mv+aAJsBmwKbBJsFmwabxoeIh4WHrYeXh4OHq4flh6yHtYezh8uH04e9h9GHwIfKh9uH6ofgh+6HFogTiP6HCogbiCGIOYg8iDZ/Qn9Ef0V/EIL6ev16CHsDewR7FXsKeyt7D3tHezh7KnsZey57MXsgeyV7JHszez57HntYe1p7RXt1e0x7XXtge257e3tie3J7cXuQe6Z7p3u4e6x7nXuoe4V7qnuce6J7q3u0e9F7wXvMe9172nvle+Z76nsMfP57/HsPfBZ8C3wHmwmbCpsLmwybDZsOmxCbEZsSmxSbFZsWmxebGJsZmxqbG5scmx2bHpsgmyGbIpskmyWbJpsnmyibKZsqmyubLJstmy6bMJsxmzObNJs1mzabN5s4mzmbOps9mz6bP5tAm0abSptLm0ybTptQm1KbU5tVm1abV5tYm1mbWptbm1ybXZtem1+bYJthm2KbY5tkm2WbZptnm2ibaZtqm2ubbJttm26bb5twm3Gbcptzm3SbdZt2m3ebeJt5m3qbe5sffCp8Jnw4fEF8QHz+gQGCAoIEguyBRIghgiKCI4Itgi+CKIIrgjiCO4IzgjSCPoJEgkmCS4JPglqCX4Jogn6IhYiIiNiI34heiZ1/n3+nf69/sH+yf3x8SWWRfJ18nHyefKJ8sny8fL18wXzHfMx8zXzIfMV813zofG6CqGa/f85/1X/lf+F/5n/pf+5/83/4fHd9pn2ufUd+m364nrSec42EjZSNkY2xjWeNbY1HjEmMSpFQkU6RT5FkkXybfZt+m3+bgJuBm4Kbg5uEm4WbhpuHm4ibiZuKm4ubjJuNm46bj5uQm5GbkpuTm5SblZuWm5ebmJuZm5qbm5ucm52bnpufm6CboZuim6ObpJulm6abp5uom6mbqpurm6ybrZuum6+bsJuxm7Kbs5u0m7Wbtpu3m7ibuZu6m7ubvJu9m76bv5vAm8GbwpvDm8SbxZvGm8ebyJvJm8qby5vMm82bzpvPm9Cb0ZvSm9Ob1JvVm9ab15vYm9mb2pvbm2KRYZFwkWmRb5F9kX6RcpF0kXmRjJGFkZCRjZGRkaKRo5Gqka2RrpGvkbWRtJG6kVWMfp64jeuNBY5ZjmmOtY2/jbyNuo3EjdaN143ajd6Nzo3PjduNxo3sjfeN+I3jjfmN+43kjQmO/Y0Ujh2OH44sji6OI44vjjqOQI45jjWOPY4xjkmOQY5CjlGOUo5KjnCOdo58jm+OdI6Fjo+OlI6QjpyOno54jIKMioyFjJiMlIybZdaJ3onaidyJ3Jvdm96b35vgm+Gb4pvjm+Sb5Zvmm+eb6Jvpm+qb65vsm+2b7pvvm/Cb8Zvym/Ob9Jv1m/ab95v4m/mb+pv7m/yb/Zv+m/+bAJwBnAKcA5wEnAWcBpwHnAicCZwKnAucDJwNnA6cD5wQnBGcEpwTnBScFZwWnBecGJwZnBqcG5wcnB2cHpwfnCCcIZwinCOcJJwlnCacJ5wonCmcKpwrnCycLZwunC+cMJwxnDKcM5w0nDWcNpw3nDicOZw6nDuc5Ynrie+JPoomi1OX6Zbzlu+WBpcBlwiXD5cOlyqXLZcwlz6XgJ+Dn4Wfhp+Hn4ifiZ+Kn4yf/p4Lnw2fuZa8lr2WzpbSlr934JaOkq6SyJI+k2qTypOPkz6Ua5R/nIKchZyGnIeciJwjeoucjpyQnJGckpyUnJWcmpybnJ6cn5ygnKGcopyjnKWcppynnKicqZyrnK2crpywnLGcspyznLSctZy2nLecupy7nLycvZzEnMWcxpzHnMqcy5w8nD2cPpw/nECcQZxCnEOcRJxFnEacR5xInEmcSpxLnEycTZxOnE+cUJxRnFKcU5xUnFWcVpxXnFicWZxanFucXJxdnF6cX5xgnGGcYpxjnGScZZxmnGecaJxpnGqca5xsnG2cbpxvnHCccZxynHOcdJx1nHacd5x4nHmcepx7nH2cfpyAnIOchJyJnIqcjJyPnJOclpyXnJicmZydnKqcrJyvnLmcvpy/nMCcwZzCnMicyZzRnNKc2pzbnOCc4ZzMnM2czpzPnNCc05zUnNWc15zYnNmc3JzdnN+c4px8l4WXkZeSl5SXr5erl6OXspe0l7GasJq3mlietpq6mryawZrAmsWawprLmsya0ZpFm0ObR5tJm0ibTZtRm+iYDZkumVWZVJnfmuGa5prvmuua+5rtmvmaCJsPmxObH5sjm72evp47foKeh56Inouekp7Wk52en57bntye3Z7gnt+e4p7pnuee5Z7qnu+eIp8sny+fOZ83nz2fPp9En+Oc5JzlnOac55zonOmc6pzrnOyc7ZzunO+c8JzxnPKc85z0nPWc9pz3nPic+Zz6nPuc/Jz9nP6c/5wAnQGdAp0DnQSdBZ0GnQedCJ0JnQqdC50MnQ2dDp0PnRCdEZ0SnROdFJ0VnRadF50YnRmdGp0bnRydHZ0enR+dIJ0hnSKdI50knSWdJp0nnSidKZ0qnSudLJ0tnS6dL50wnTGdMp0znTSdNZ02nTedOJ05nTqdO508nT2dPp0/nUCdQZ1CnTTiNeI24jfiOOI54jriO+I84j3iPuI/4kDiQeJC4kPiROJF4kbiR+JI4kniSuJL4kziTeJO4k/iUOJR4lLiU+JU4lXiVuJX4ljiWeJa4lviXOJd4l7iX+Jg4mHiYuJj4mTiZeJm4mfiaOJp4mria+Js4m3ibuJv4nDiceJy4nPidOJ14nbid+J44nnieuJ74nzifeJ+4n/igOKB4oLig+KE4oXihuKH4ojiieKK4ovijOKN4o7ij+KQ4pHiQ51EnUWdRp1HnUidSZ1KnUudTJ1NnU6dT51QnVGdUp1TnVSdVZ1WnVedWJ1ZnVqdW51cnV2dXp1fnWCdYZ1inWOdZJ1lnWadZ51onWmdap1rnWydbZ1unW+dcJ1xnXKdc510nXWddp13nXideZ16nXudfJ19nX6df52AnYGdgp2DnYSdhZ2GnYediJ2JnYqdi52MnY2djp2PnZCdkZ2SnZOdlJ2VnZadl52YnZmdmp2bnZydnZ2enZ+doJ2hnaKdkuKT4pTileKW4pfimOKZ4prim+Kc4p3inuKf4qDioeKi4qPipOKl4qbip+Ko4qniquKr4qzireKu4q/isOKx4rLis+K04rXituK34rjiueK64rvivOK94r7iv+LA4sHiwuLD4sTixeLG4sfiyOLJ4sriy+LM4s3izuLP4tDi0eLS4tPi1OLV4tbi1+LY4tni2uLb4tzi3eLe4t/i4OLh4uLi4+Lk4uXi5uLn4uji6eLq4uvi7OLt4u7i7+KjnaSdpZ2mnaedqJ2pnaqdq52sna2drp2vnbCdsZ2ynbOdtJ21nbadt524nbmdup27nbydvZ2+nb+dwJ3BncKdw53EncWdxp3HncidyZ3KncudzJ3Nnc6dz53QndGd0p3TndSd1Z3Wnded2J3Zndqd253cnd2d3p3fneCd4Z3ineOd5J3lnead553onemd6p3rneyd7Z3une+d8J3xnfKd8530nfWd9p33nfid+Z36nfud/J39nf6d/50AngGeAp7w4vHi8uLz4vTi9eL24vfi+OL54vri++L84v3i/uL/4gDjAeMC4wPjBOMF4wbjB+MI4wnjCuML4wzjDeMO4w/jEOMR4xLjE+MU4xXjFuMX4xjjGeMa4xvjHOMd4x7jH+Mg4yHjIuMj4yTjJeMm4yfjKOMp4yrjK+Ms4y3jLuMv4zDjMeMy4zPjNOM14zbjN+M44znjOuM74zzjPeM+4z/jQONB40LjQ+NE40XjRuNH40jjSeNK40vjTONN4wOeBJ4FngaeB54IngmeCp4LngyeDZ4Ong+eEJ4RnhKeE54UnhWeFp4XnhieGZ4anhueHJ4dnh6eJJ4nni6eMJ40njuePJ5Ank2eUJ5SnlOeVJ5WnlmeXZ5fnmCeYZ5inmWebp5vnnKedJ51nnaed554nnmeep57nnyefZ6AnoGeg56EnoWehp6JnoqejJ6Nno6ej56QnpGelJ6Vnpael56Ynpmemp6bnpyenp6gnqGeop6jnqSepZ6nnqieqZ6qnk7jT+NQ41HjUuNT41TjVeNW41fjWONZ41rjW+Nc413jXuNf42DjYeNi42PjZONl42bjZ+No42njauNr42zjbeNu42/jcONx43Ljc+N043XjduN343jjeeN643vjfON9437jf+OA44HjguOD44TjheOG44fjiOOJ44rji+OM443jjuOP45DjkeOS45PjlOOV45bjl+OY45njmuOb45zjneOe45/joOOh46Ljo+Ok46XjpuOn46jjqeOq46vjq56snq2erp6vnrCesZ6ynrOetZ62nreeuZ66nryev57AnsGewp7DnsWexp7Hnsieyp7Lnsye0J7SntOe1Z7Wntee2Z7ant6e4Z7jnuSe5p7onuue7J7tnu6e8J7xnvKe8570nvWe9p73nvie+p79nv+eAJ8BnwKfA58EnwWfBp8HnwifCZ8KnwyfD58RnxKfFJ8VnxafGJ8anxufHJ8dnx6fH58hnyOfJJ8lnyafJ58onymfKp8rny2fLp8wnzGfrOOt467jr+Ow47HjsuOz47TjteO247fjuOO547rju+O8473jvuO/48DjwePC48PjxOPF48bjx+PI48njyuPL48zjzePO48/j0OPR49Lj0+PU49Xj1uPX49jj2ePa49vj3OPd497j3+Pg4+Hj4uPj4+Tj5ePm4+fj6OPp4+rj6+Ps4+3j7uPv4/Dj8ePy4/Pj9OP14/bj9+P44/nj+uP74/zj/eP+4//jAOQB5ALkA+QE5AXkBuQH5AjkCeQynzOfNJ81nzafOJ86nzyfP59An0GfQp9D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HJhshiqmAUYRbeXLxMCSECEWEp1y9GkOFyqigfR7AAikC5AQLMw5SgHwFgsKQAwd6gxEDkUCAAgEBAgEBAgCBADDisyEw4rMjMOqzITDqsyMAEGCjAQLoAoBAKAApwCoAKkArwCwALIAtwC4AMYA1wDYAOYA9wD4AKIAowClAMQAxQDGAMcAyQDWANcA2ADcAOAA4gDkAOUA5gDnAOgA6QDqAOsA7ADuAO8A8gD0APYA+AD5APsA/AD/AAABAQECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErAS4BLwEwATEBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AUEBQgFDAUQBRQFGAUcBSAFKAUsBTAFNAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAXQBdQF2AXcBeAF5AXoBewF8AX0BfgGSAaABoQGvAbABGAIZAhoCGwLGAscC2ALZAtsC3ALdAgADAQMDAwkDIwN6A4QDhQOGA4gDiQOKA4wDjgOPA5ADkQOSA5MDlAOVA5YDlwOYA5kDmgObA5wDnQOeA58DoAOhA6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA8oDywPMA80DzgMBBAIEAwQEBAUEBgQHBAgECQQKBAsEDAQOBA8EEAQRBBIEEwQUBBUEFgQXBBgEGQQaBBsEHAQdBB4EHwQgBCEEIgQjBCQEJQQmBCcEKAQpBCoEKwQsBC0ELgQvBDAEMQQyBDMENAQ1BDYENwQ4BDkEOgQ7BDwEPQQ+BD8EQARBBEIEQwREBEUERgRHBEgESQRKBEsETARNBE4ETwRRBFIEUwRUBFUEVgRXBFgEWQRaBFsEXAReBF8EkASRBLAFsQWyBbMFtAW1BbYFtwW4BbkFuwW8Bb0FvgW/BcAFwQXCBcMF0AXRBdIF0wXUBdUF1gXXBdgF2QXaBdsF3AXdBd4F3wXgBeEF4gXjBeQF5QXmBecF6AXpBeoF8AXxBfIF8wX0BQwGGwYf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AotVkHqQO1OVTqVO31eygMGQ73gATvFYom44kDJ6KIOLgi+cQVFwU71U4VTgVvtZFV/ymOtt5IAthWKWcJaglvuXC1TzU4dbz3C9f8KP6JZvU1ydunoRTpN4/IEmbhhWBFUdaxqFO5zlWalTZm3cdI+VQlaRTkuQ8pZPgwyZ4VO2VTBbcV8gZvNmBGg4bPNsKW1bdMh2Tno0mPGCW4hgiu2Ssm2rdcp2xZmmYAGLio2ylY5prVOGURJXMFhEWbRb9l4oYKlj9GO/bBRvjnAUcVlx1XE/cwF+doLRgpeFYJBbkhudaVi8ZVpsJXX5US5ZZVmAX9xfvGL6ZSpqJ2u0a4tzwX9WiSydDp3EnqFclmx7gwRRS1y2YcaBdmhhcllO+k94U2lgKW5PevOXC04WU+5OVU89T6FPc0+gUu9TCVYPWcFatlvhW9F5h2acZ7ZnTGuzbGtwwnONeb55PHqHe7GC24IEg3eD74PTg2aHsoopVqiM5o9OkB6XiobET+hcEWJZcjt15YG9gv6GwIzFlhOZ1ZnLThpP44neVkpYylj7XutfKmCUYGJg0GESYtBiOWVBm2ZmsGh3bXBwTHWGdnV9pYL5h4uVjpadjPFRvlIWWbNUs1sWXWhhgmmvbY14y4RXiHKKp5O4mmxtqJnZhqNX/2fOhg6Sg1KHVgRU017hYrlkPGg4aLtrcnO6eGt6monSiWuNA4/tkKOVlJZpl2Zbs1x9aU2YTpibYyB7K2p/arZoDZxfb3JSnVVwYOxiO20HbtFuW4QQiUSPFE45nPZTG2k6aoSXKmhcUcN6soTckYyTW1YonSJoBYMxhKV8CFLFguZ0fk6DT6BR0lsKUthS51L7XZpVKljmWYxbmFvbW3JeeV6jYB9hY2G+YdtjYmXRZ1No+mg+a1NrV2wib5dvRW+wdBh143YLd/96oXshfOl9Nn/wf52AZoKeg7OJzIqrjISQUZSTlZGVopVlltOXKJkYgjhOK1S4XMxdqXNMdjx3qVzrfwuNwZYRmFSYWJgBTw5PcVOcVWhW+ldHWQlbxFuQXAxefl7MX+5jOmfXZeJlH2fLaMRoX2owXsVrF2x9bH91SHljWwB6AH29X4+JGIq0jHeNzI4dj+KYDpo8m4BOfVAAUZNZnFsvYoBi7GQ6a6BykXVHeal/+4e8inCLrGPKg6CXCVQDVKtVVGhYanCKJ3h1Z82edFOiWxqBUIYGkBhORU7HThFPylM4VK5bE18lYFFlPWdCbHJs42x4cAN0dnquegh7Gn3+fGZ952VbcrtTRVzoXdJi4GIZYyBuWoYxit2N+JIBb6Z5WpuoTqtOrE6bT6BP0VBHUfZ6cVH2UVRTIVN/U+tTrFWDWOFcN19KXy9gUGBtYB9jWWVLasFswnLtcu93+IAFgQiCToX3kOGT/5dXmVqa8E7dUS1cgWZtaUBc8mZ1aYlzUGiBfMVQ5FJHV/5dJpOkZSNrPWs0dIF5vXlLe8p9uYLMg3+IX4k5i9GP0ZEfVICSXU42UOVTOlPXcpZz6Xfmgq+OxpnImdKZd1EaYV6GsFV6enZQ01tHkIWWMk7baueRUVxIXJhjn3qTbHSXYY+qeopxiJaCfBdocH5RaGyT8lIbVKuFE4qkf82O4ZBmU4iIQXnCT75QEVJEUVNVLVfqc4tXUVliX4RfdWB2YWdhqWGyYzpkbGVvZkJoE25mdT16+3xMfZl9S35rfw6DSoPNhgiKY4pmi/2OGpiPnbiCzo/om4dSH2KDZMBvmZZBaJFQIGt6bFRvdHpQfUCII4oIZ/ZOOVAmUGVQfFE4UmNSp1UPVwVYzFr6XrJh+GHzYnJjHGkpan1yrHIucxR4b3h5fQx3qYCLiRmL4ozSjmOQdZN6llWYE5p4nkNRn1OzU3teJl8bbpBuhHP+c0N9N4IAivqKUJZOTgtQ5FN8VPpW0VlkW/Fdq14nXzhiRWWvZ1Zu0HLKfLSIoYDhgPCDToaHiuiNN5LHlmeYE5+UTpJODU9IU0lUPlQvWoxfoV+fYKdojmpadIF4noqkineLkJFeTsmbpE58T69PGVAWUElRbFGfUrlS/lKaU+NTEVQOVIlVUVeiV31ZVFtdW49b5V3nXfddeF6DXppet14YX1JgTGGXYthip2M7ZQJmQ2b0Zm1nIWiXaMtpX2wqbWltL26dbjJ1h3ZseD964HwFfRh9Xn2xfRWAA4CvgLGAVIGPgSqCUoNMiGGIG4uijPyMypB1kXGSP3j8kqSVTZYFmJmZ2Jo7nVtSq1L3UwhU1Vj3YuBvaoxfj7meS1E7UkpU/VZAeneRYJ3SnkRzCW9wgRF1/V/aYKia23K8j2RrA5jKTvBWZFe+WFpaaGDHYQ9mBmY5aLFo923VdTp9boJCm5tOUE/JUwZVb13mXe5d+2eZbHN0AnhQipaT34hQV6deK2O1UKxQjVEAZ8lUXli7WbBbaV9NYqFjPWhzawhufXDHkYByFXgmeG15jmUwfdyDwYgJj5uWZFIoV1Bnan+hjLRRQlcqljpYimm0gLJUDl38V5V4+p1cT0pSi1Q+ZChmFGf1Z4R6VnsifS+TXGitmzl7GVOKUTdS31v2Yq5k5mQtZ7prqYXRlpB21ptMYwaTq5u/dlJmCU6YUMJTcVzoYJJkY2VfaOZxynMjdZd7gn6VhoOL24x4kRCZrGWrZotr1U7UTjpPf086UvhT8lPjVdtW61jLWclZ/1lQW01cAl4rXtdfHWAHYy9lXFuvZb1l6GWdZ2Jre2sPbEVzSXnBefh8GX0rfaKAAoHzgZaJXoppimaKjIruiseM3IzMlvyYb2uLTjxPjU9QUVdb+ltIYQFjQmYha8tuu2w+cr101HXBeDp5DIAzgOqBlISej1Bsf54PX1iLK536eviOjVvrlgNO8VP3VzFZyVqkW4lgf24Gb7516oyfWwCF4HtyUPRnnYJhXEqFHn4OgplRBFxoY2aNnGVucT55F30FgB2Lyo5ukMeGqpAfUPpSOlxTZ3xwNXJMkciRK5PlgsJbMV/5YDtO1lOIW0tiMWeKa+ly4HMuemuBo41SkZaZElHXU2pU/1uIYzlqrH0Al9pWzlNoVJdbMVzeXe5PAWH+YjJtwHnLeUJ9TX7Sf+2BH4KQhEaIcomQi3SOL48xkEuRbJHGlpyRwE5PT0VRQVOTXw5i1GdBbAtuY3Mmfs2Rg5LUUxlZv1vRbV15Ln6bfH5Yn3H6UVOI8I/KT/tcJWasd+N6HIL/mcZRql/sZW9piWvzbZZuZG/+dhR94V11kIeRBpjmUR1SQGKRZtlmGm62XtJ9cn/4Zq+F94X4iqlS2VNzWY9ekF9VYOSSZJa3UB9R3VIgU0dT7FPoVEZVMVUXVmhZvlk8WrVbBlwPXBFcGlyEXope4F5wX39ihGLbYoxjd2MHZgxmLWZ2Zn5nomgfajVqvGyIbQluWG48cSZxZ3HHdQF3XXgBeWV58HngehF7p3w5fZaA1oOLhEmFXYjziB+KPIpUinOKYYzejKSRZpJ+kxiUnJaYlwpOCE4eTldOl1FwUs5XNFjMWCJbOF7FYP5kYWdWZ0RttnJzdWN6uIRyi7iRIJMxVvRX/pjtYg1plmvtcVR+d4ByguaJ35hVh7GPO1w4T+FPtU8HVSBa3VvpW8NfTmEvY7BlS2buaJtpeG3xbTN1uXUfd1555nkzfeOBr4KqhaqJOoqrjpuPMpDdkQeXuk7BTgNSdVjsWAtcGnU9XE6BCorFj2OWbZcle8+KCJhikfNWqFMXkDlUglclXqhjNGyKcGF3i3zgf3CIQpBUkRCTGJOPll50xJoHXWldcGWiZ6iN25ZuY0lnGWnFgxeYwJb+iIRvemT4WxZOLHBddS9mxFE2UuJS01mBXydgEGI/ZXRlH2Z0ZvJoFmhjawVucnIfddt2vnxWgPBY/Yh/iaCKk4rLih2QkpFSl1mXiWUOegaBu5YtXtxgGmKlZRRmkGfzd016TXw+fgqBrIxkjeGNX46peAdS2WKlY0JkmGItioN6wHusiuqWdn0MgkmH2U5IUUNTYFOjWwJcFlzdXSZiR2KwZBNoNGjJbEVtF23TZ1xvTnF9cctlf3qte9p9Sn6of3qBG4I5gqaFborOjPWNeJB3kK2SkZKDla6bTVKEVThvNnFoUYV5VX6zgc58TFZRWKhcqmP+Zv1mWmnZco91jnUOeVZ533mXfCB9RH0HhjSKO5ZhkCCf51B1UsxT4lMJUKpV7lhPWT1yi1tkXB1T42DzYFxjg2M/Y7tjzWTpZflm413Naf1pFW/lcYlO6XX4dpN633zPfZx9YYBJg1iDbIS8hPuFxYhwjQGQbZCXkxyXEprPUJdYjmHTgTWFCI0gkMNPdFBHUnNTb2BJY19nLG6zjR+Q109eXMqMz2WafVJTloh2UcNjWFtrWwpcDWRRZ1yQ1k4aWSpZcGxRij5VFVilWfBgU2LBZzWCVWlAlsSZKJpTTwZY/lsQgLFcL16FXyBgS2E0Yv9m8Gzebs6Af4HUgouIuIwAkC6Qipbbntub407wUydZLHuNkUyY+Z3dbidwU1NEVYVbWGKeYtNiomzvbyJ0F4o4lMFv/oo4g+dR+IbqU+lTRk9UkLCPalkxgf1d6nq/j9poN4z4ckicPWqwijlOWFMGVmZXxWKiY+ZlTmvhbVturXDtd+96qnu7fT2AxoDLhpWKW5PjVsdYPl+tZZZmgGq1azd1x4okUOV3MFcbX2VgemZgbPR1Gnpuf/SBGIdFkLOZyXtcdfl6UXvEhBCQ6XmSejaD4VpAdy1O8k6ZW+BfvWI8ZvFn6GxrhneIO4pOkfOS0JkXaiZwKnPngleEr4wBTkZRy1GLVfVbFl4zXoFeFF81X2tftF/yYRFjomYdZ25vUnI6dTp3dIA5gXiBdoe/ityKhY3zjZqSd5UCmOWcxVJXY/R2FWeIbM1zw4yuk3OWJW2cWA5pzGn9j5qT23UakFpYAmi0Y/tpQ08sb9hnu48mhbR9VJM/aXBvalf3WCxbLH0qcgpU45G0na1OTk9cUHVQQ1KejEhUJFiaWx1elV6tXvdeH1+MYLViOmPQY69oQGyHeI55C3rgfUeCAormikSOE5C4kC2R2JEOn+VsWGTiZHVl9G6Edht7aZDRk7pu8lS5X6RkTY/tj0SSeFFrWClZVVyXXvttj34cdbyM4o5bmLlwHU+/a7FvMHX7lk5REFQ1WFdYrFlgXJJfl2VcZyFue3bfg+2MFJD9kE2TJXg6eKpSpl4fV3RZEmASUFpRrFHNUQBSEFVUWFhYV1mVW/Zci128YJViLWRxZ0NovGjfaNd22G1vbpttb3DIcVNf2HV3eUl7VHtSe9Z8cX0wUmOEaYXkhQ6KBItGjA+OA5APkBmUdpYtmDCa2JXNUNVSDFQCWA5cp2GeZB5ts3flevSABIRTkIWS4FwHnT9Tl1+zX5xteXJjd7955HvSa+xyrYoDaGFq+FGBejRpSlz2nOuCxVtJkR5weFZvXMdgZmWMbFqMQZATmFFUx2YNkkhZo5CFUU1O6lGZhQ6LWHB6Y0uTYmm0mQR+d3VXU2Bp347jll1sjE48XBBf6Y8CU9GMiYB5hv9e5WVzTmVRglk/XO6X+06KWc1fjYrhb7B5YnnnW3GEK3OxcXRe9V97Y5pkw3GYfENO/F5LTtxXolapYMNvDX39gDOBv4Gyj5eJpIb0XYpirWSHiXdn4mw+bTZ0NHhGWnV/rYKsmfNPw17dYpJjV2VvZ8N2THLMgLqAKY9NkQ1Q+VeSWoVoc2lkcf1yt4zyWOCMapYZkH+H5HnndymEL09lUlpTzWLPZ8psfXaUe5V8NoKEheuP3WYgbwZyG36rg8GZpp79UbF7cni4e4eASHvoamFejIBRdWB1a1FikoxuenaXkeqaEE9wf5xiT3ullemcelZZWOSGvJY0TyRSSlPNU9tTBl4sZJFlf2c+bE5sSHKvcu1zVHVBfiyC6YWpjMR7xpFpcRKY75g9Y2lmanXkdtB4Q4XuhipTUVMmVINZh158X7JgSWJ5YqtikGXUa8xssnWudpF42HnLfXd/pYCriLmKu4x/kF6X25gLajh8mVA+XK5fh2fYazV0CXeOfzufymcXejlTi3XtmmZfnYHxg5iAPF/FX2J1Rns8kGdo61mbWhB9fnYsi/VPal8ZajdsAm/idGh5aIhVinmM317PY8V10nnXgiiT8pKchO2GLZzBVGxfjGVcbRVwp4zTjDuYT2X2dA1O2E7gVytZZlrMW6hRA16cXhZgdmJ3ZadlbmZubTZyJntQgZqBmYJci6CM5ox0jRyWRJauT6tkZmsegmGEaoXokAFcU2momHqEV4UPT29SqV9FXg1nj3l5gQeJhon1bRdfVWK4bM9OaXKSmwZSO1R0VrNYpGFuYhpxblmJfN58G33wlodlXoAZTnVPdVFAWGNec14KX8RnJk49hYmVW5ZzfAGY+1DBWFZ2p3glUqV3EYWGe09QCVlHcsd76H26j9SPTZC/T8lSKVoBX62X3U8XguqSA1dVY2lrK3XciBSPQnrfUpNYVWEKYq5mzWs/fOmDI1D4TwVTRlQxWElZnVvwXO9cKV2WXrFiZ2M+ZbllC2fVbOFs+XAyeCt+3oCzggyE7IQChxKJKopKjKaQ0pL9mPOcbJ1PTqFOjVBWUkpXqFk9Xthf2V8/YrRmG2fQZ9JoklEhfaqAqIEAi4yMv4x+kjKWIFQsmBdT1VBcU6hYsmQ0Z2dyZndGeuaRw1KhbIZrAFhMXlRZLGf7f+FRxnZpZOh4VJu7nstXuVknZppnzmvpVNlpVV6cgZVnqpv+Z1KcXWimTuNPyFO5Yitnq2zEj61PbX6/ngdOYmGAbitvE4VzVCpnRZvzXZV7rFzGWxyHSm7RhBR6CIGZWY18EWwgd9lSIlkhcV9y23cnl2GdC2l/WhhapVENVH1UDmbfdvePmJL0nOpZXXLFbk1RyWi/fex9Ype6nnhkIWoCg4RZX1vbaxtz8nayfReAmYQyUShn2Z7udmJn/1IFmSRcO2J+fLCMT1W2YAt9gJUBU19OtlEcWTpyNoDOkSVf4neEU3lfBH2shTOKjY5Wl/NnroVTlAlhCGG5bFJ27Yo4jy9VUU8qUcdSy1OlW31eoGCCYdZjCWfaZ2dujG02czdzMXVQedWImIpKkJGQ9ZDElo2HFVmITllPDk6Jij+PEJitUHxellm5W7he2mP6Y8Fk3GZKadhpC222bpRxKHWveop/AIBJhMmEgYkhiwqOZZB9lgqZfmGRYjJrg2x0bcx//H/AbYV/uof4iGVnsYM8mPeWG21hfT2EapFxTnVTUF0Ea+tvzYUthqeJKVIPVGVcTmeoaAZ0g3Tidc+I4YjMkeKWeJaLX4dzy3pOhKBjZXWJUkFtnG4JdFl1a3iSfIaW3HqNn7ZPbmHFZVyGhk6uTtpQIU7MUe5bmWWBaLxtH3NCdq13HHrnfG+C0op8kM+RdZYYmJtS0X0rUJhTl2fLbdBxM3TogSqPo5ZXnJ+eYHRBWJltL31emORONk+LT7dRsVK6XRxgsnM8edOCNJK3lvaWCpeXnmKfpmZ0axdSo1LIcMKIyV5LYJBhI29JcT589H1vgO6EI5Ask0JUb5vTaolwwozvjTKXtFJBWspeBF8XZ3xplGlqbQ9vYnL8cu17AYB+gEuHzpBtUZOehHmLgDKT1ootUIxUcYpqa8SMB4HRYKBn8p2ZTphOEJxrisGFaIUAaX5ul3hVgQBBtNsEC/w0DF8QThVOKk4xTjZOPE4/TkJOVk5YToJOhU5rjIpOEoINX45Onk6fTqBOok6wTrNOtk7OTs1OxE7GTsJO107eTu1O3073TglPWk8wT1tPXU9XT0dPdk+IT49PmE97T2lPcE+RT29Phk+WTxhR1E/fT85P2E/bT9FP2k/QT+RP5U8aUChQFFAqUCVQBVAcT/ZPIVApUCxQ/k/vTxFQBlBDUEdQA2dVUFBQSFBaUFZQbFB4UIBQmlCFULRQslDJUMpQs1DCUNZQ3lDlUO1Q41DuUPlQ9VAJUQFRAlEWURVRFFEaUSFROlE3UTxRO1E/UUBRUlFMUVRRYlH4emlRalFuUYBRglHYVoxRiVGPUZFRk1GVUZZRpFGmUaJRqVGqUatRs1GxUbJRsFG1Ub1RxVHJUdtR4FFVhulR7VHwUfVR/lEEUgtSFFIOUidSKlIuUjNSOVJPUkRSS1JMUl5SVFJqUnRSaVJzUn9SfVKNUpRSklJxUohSkVKoj6ePrFKtUrxStVLBUs1S11LeUuNS5lLtmOBS81L1UvhS+VIGUwhTOHUNUxBTD1MVUxpTI1MvUzFTM1M4U0BTRlNFUxdOSVNNU9ZRXlNpU25TGFl7U3dTglOWU6BTplOlU65TsFO2U8NTEnzZlt9T/Gbuce5T6FPtU/pTAVQ9VEBULFQtVDxULlQ2VClUHVROVI9UdVSOVF9UcVR3VHBUklR7VIBUdlSEVJBUhlTHVKJUuFSlVKxUxFTIVKhUq1TCVKRUvlS8VNhU5VTmVA9VFFX9VO5U7VT6VOJUOVVAVWNVTFUuVVxVRVVWVVdVOFUzVV1VmVWAVa9UilWfVXtVflWYVZ5VrlV8VYNVqVWHVahV2lXFVd9VxFXcVeRV1FUUVvdVFlb+Vf1VG1b5VU5WUFbfcTRWNlYyVjhWa1ZkVi9WbFZqVoZWgFaKVqBWlFaPVqVWrla2VrRWwla8VsFWw1bAVshWzlbRVtNW11buVvlWAFf/VgRXCVcIVwtXDVcTVxhXFlfHVRxXJlc3VzhXTlc7V0BXT1dpV8BXiFdhV39XiVeTV6BXs1ekV6pXsFfDV8ZX1FfSV9NXCljWV+NXC1gZWB1YclghWGJYS1hwWMBrUlg9WHlYhVi5WJ9Yq1i6WN5Yu1i4WK5YxVjTWNFY11jZWNhY5VjcWORY31jvWPpY+Vj7WPxY/VgCWQpZEFkbWaZoJVksWS1ZMlk4WT5Z0npVWVBZTllaWVhZYllgWWdZbFlpWXhZgVmdWV5Pq0+jWbJZxlnoWdxZjVnZWdpZJVofWhFaHFoJWhpaQFpsWklaNVo2WmJaalqaWrxavlrLWsJavVrjWtda5lrpWtZa+lr7WgxbC1sWWzJb0FoqWzZbPltDW0VbQFtRW1VbWltbW2VbaVtwW3NbdVt4W4hleluAW4Nbplu4W8Nbx1vJW9Rb0FvkW+Zb4lveW+Vb61vwW/Zb81sFXAdcCFwNXBNcIFwiXChcOFw5XEFcRlxOXFNcUFxPXHFbbFxuXGJOdlx5XIxckVyUXJtZq1y7XLZcvFy3XMVcvlzHXNlc6Vz9XPpc7VyMXepcC10VXRddXF0fXRtdEV0UXSJdGl0ZXRhdTF1SXU5dS11sXXNddl2HXYRdgl2iXZ1drF2uXb1dkF23XbxdyV3NXdNd0l3WXdtd613yXfVdC14aXhleEV4bXjZeN15EXkNeQF5OXldeVF5fXmJeZF5HXnVedl56Xryef16gXsFewl7IXtBez17WXuNe3V7aXtte4l7hXuhe6V7sXvFe817wXvRe+F7+XgNfCV9dX1xfC18RXxZfKV8tXzhfQV9IX0xfTl8vX1FfVl9XX1lfYV9tX3Nfd1+DX4Jff1+KX4hfkV+HX55fmV+YX6BfqF+tX7xf1l/7X+Rf+F/xX91fs2D/XyFgYGAZYBBgKWAOYDFgG2AVYCtgJmAPYDpgWmBBYGpgd2BfYEpgRmBNYGNgQ2BkYEJgbGBrYFlggWCNYOdgg2CaYIRgm2CWYJdgkmCnYItg4WC4YOBg02C0YPBfvWDGYLVg2GBNYRVhBmH2YPdgAGH0YPpgA2EhYftg8WANYQ5hR2E+YShhJ2FKYT9hPGEsYTRhPWFCYURhc2F3YVhhWWFaYWthdGFvYWVhcWFfYV1hU2F1YZlhlmGHYaxhlGGaYYphkWGrYa5hzGHKYclh92HIYcNhxmG6YctheX/NYeZh42H2Yfph9GH/Yf1h/GH+YQBiCGIJYg1iDGIUYhtiHmIhYipiLmIwYjJiM2JBYk5iXmJjYltiYGJoYnxigmKJYn5ikmKTYpZi1GKDYpRi12LRYrtiz2L/YsZi1GTIYtxizGLKYsJix2KbYsliDGPuYvFiJ2MCYwhj72L1YlBjPmNNYxxkT2OWY45jgGOrY3Zjo2OPY4ljn2O1Y2tjaWO+Y+ljwGPGY+NjyWPSY/ZjxGMWZDRkBmQTZCZkNmQdZRdkKGQPZGdkb2R2ZE5kKmWVZJNkpWSpZIhkvGTaZNJkxWTHZLtk2GTCZPFk52QJguBk4WSsYuNk72QsZfZk9GTyZPpkAGX9ZBhlHGUFZSRlI2UrZTRlNWU3ZTZlOGVLdUhlVmVVZU1lWGVeZV1lcmV4ZYJlg2WKi5tln2WrZbdlw2XGZcFlxGXMZdJl22XZZeBl4WXxZXJnCmYDZvtlc2c1ZjZmNGYcZk9mRGZJZkFmXmZdZmRmZ2ZoZl9mYmZwZoNmiGaOZolmhGaYZp1mwWa5Zslmvma8ZsRmuGbWZtpm4GY/ZuZm6WbwZvVm92YPZxZnHmcmZydnOJcuZz9nNmdBZzhnN2dGZ15nYGdZZ2NnZGeJZ3BnqWd8Z2pnjGeLZ6ZnoWeFZ7dn72e0Z+xns2fpZ7hn5GfeZ91n4mfuZ7lnzmfGZ+dnnGoeaEZoKWhAaE1oMmhOaLNoK2hZaGNod2h/aJ9oj2itaJRonWibaINormq5aHRotWigaLpoD2mNaH5oAWnKaAhp2GgiaSZp4WgMac1o1GjnaNVoNmkSaQRp12jjaCVp+WjgaO9oKGkqaRppI2khacZoeWl3aVxpeGlraVRpfmluaTlpdGk9aVlpMGlhaV5pXWmBaWppsmmuadBpv2nBadNpvmnOaehbymndabtpw2mnaS5qkWmgaZxplWm0ad5p6GkCahtq/2kKa/lp8mnnaQVqsWkeau1pFGrraQpqEmrBaiNqE2pEagxqcmo2anhqR2piallqZmpIajhqImqQao1qoGqEaqJqo2qXaheGu2rDasJquGqzaqxq3mrRat9qqmraaupq+2oFaxaG+moSaxZrMZsfazhrN2vcdjlr7phHa0NrSWtQa1lrVGtba19rYWt4a3lrf2uAa4Rrg2uNa5hrlWuea6Rrqmura69rsmuxa7Nrt2u8a8Zry2vTa99r7Gvra/Nr72u+nghsE2wUbBtsJGwjbF5sVWxibGpsgmyNbJpsgWybbH5saGxzbJJskGzEbPFs02y9bNdsxWzdbK5ssWy+bLps22zvbNls6mwfbU2INm0rbT1tOG0ZbTVtM20SbQxtY22TbWRtWm15bVltjm2VbeRvhW35bRVuCm61bcdt5m24bcZt7G3ebcxt6G3SbcVt+m3ZbeRt1W3qbe5tLW5ubi5uGW5ybl9uPm4jbmtuK252bk1uH25DbjpuTm4kbv9uHW44boJuqm6Ybslut27Tbr1ur27EbrJu1G7Vbo9upW7Cbp9uQW8Rb0xw7G74bv5uP2/ybjFv724yb8xuPm8Tb/duhm96b3hvgW+Ab29vW2/zb21vgm98b1hvjm+Rb8JvZm+zb6NvoW+kb7lvxm+qb99v1W/sb9Rv2G/xb+5v228JcAtw+m8RcAFwD3D+bxtwGnB0bx1wGHAfcDBwPnAycFFwY3CZcJJwr3DxcKxwuHCzcK5w33DLcN1w2XAJcf1wHHEZcWVxVXGIcWZxYnFMcVZxbHGPcftxhHGVcahxrHHXcblxvnHScclx1HHOceBx7HHncfVx/HH5cf9xDXIQchtyKHItcixyMHIycjtyPHI/ckByRnJLclhydHJ+coJygXKHcpJylnKicqdyuXKycsNyxnLEcs5y0nLicuBy4XL5cvdyD1AXcwpzHHMWcx1zNHMvcylzJXM+c05zT3PYnldzanNoc3BzeHN1c3tzenPIc7NzznO7c8Bz5XPuc95zonQFdG90JXT4czJ0OnRVdD90X3RZdEF0XHRpdHB0Y3RqdHZ0fnSLdJ50p3TKdM901HTxc+B043TndOl07nTydPB08XT4dPd0BHUDdQV1DHUOdQ11FXUTdR51JnUsdTx1RHVNdUp1SXVbdUZ1WnVpdWR1Z3VrdW11eHV2dYZ1h3V0dYp1iXWCdZR1mnWddaV1o3XCdbN1w3W1db11uHW8dbF1zXXKddJ12XXjdd51/nX/dfx1AXbwdfp18nXzdQt2DXYJdh92J3YgdiF2InYkdjR2MHY7dkd2SHZGdlx2WHZhdmJ2aHZpdmp2Z3ZsdnB2cnZ2dnh2fHaAdoN2iHaLdo52lnaTdpl2mnawdrR2uHa5drp2wnbNdtZ20nbeduF25Xbndup2L4b7dgh3B3cEdyl3JHcedyV3Jncbdzd3OHdHd1p3aHdrd1t3ZXd/d353eXeOd4t3kXegd553sHe2d7l3v3e8d713u3fHd81313fad9x343fud/x3DHgSeCZ5IHgqeUV4jnh0eIZ4fHiaeIx4o3i1eKp4r3jReMZ4y3jUeL54vHjFeMp47HjneNp4/Xj0eAd5EnkReRl5LHkreUB5YHlXeV95WnlVeVN5enl/eYp5nXmneUufqnmuebN5uXm6ecl51Xnneex54XnjeQh6DXoYehl6IHofeoB5MXo7ej56N3pDeld6SXphemJ6aXqdn3B6eXp9eoh6l3qVeph6lnqpesh6sHq2esV6xHq/eoOQx3rKes16z3rVetN62Xraet164XrieuZ67XrwegJ7D3sKewZ7M3sYexl7Hns1eyh7NntQe3p7BHtNewt7THtFe3V7ZXt0e2d7cHtxe2x7bnude5h7n3uNe5x7mnuLe5J7j3tde5l7y3vBe8x7z3u0e8Z73XvpexF8FHzme+V7YHwAfAd8E3zze/d7F3wNfPZ7I3wnfCp8H3w3fCt8PXxMfEN8VHxPfEB8UHxYfF98ZHxWfGV8bHx1fIN8kHykfK18onyrfKF8qHyzfLJ8sXyufLl8vXzAfMV8wnzYfNJ83HzifDub73zyfPR89nz6fAZ9An0cfRV9Cn1FfUt9Ln0yfT99NX1GfXN9Vn1OfXJ9aH1ufU99Y32TfYl9W32PfX19m326fa59o321fcd9vX2rfT1+on2vfdx9uH2ffbB92H3dfeR93n37ffJ94X0Ffgp+I34hfhJ+MX4ffgl+C34ifkZ+Zn47fjV+OX5Dfjd+Mn46fmd+XX5Wfl5+WX5afnl+an5pfnx+e36DftV9fX6uj39+iH6Jfox+kn6QfpN+lH6Wfo5+m36cfjh/On9Ff0x/TX9Of1B/UX9Vf1R/WH9ff2B/aH9pf2d/eH+Cf4Z/g3+If4d/jH+Uf55/nX+af6N/r3+yf7l/rn+2f7h/cYvFf8Z/yn/Vf9R/4X/mf+l/83/5f9yYBoAEgAuAEoAYgBmAHIAhgCiAP4A7gEqARoBSgFiAWoBfgGKAaIBzgHKAcIB2gHmAfYB/gISAhoCFgJuAk4CagK2AkFGsgNuA5YDZgN2AxIDagNaACYHvgPGAG4EpgSOBL4FLgYuWRoE+gVOBUYH8gHGBboFlgWaBdIGDgYiBioGAgYKBoIGVgaSBo4FfgZOBqYGwgbWBvoG4gb2BwIHCgbqByYHNgdGB2YHYgciB2oHfgeCB54H6gfuB/oEBggKCBYIHggqCDYIQghaCKYIrgjiCM4JAglmCWIJdglqCX4JkgmKCaIJqgmuCLoJxgneCeIJ+go2CkoKrgp+Cu4KsguGC44LfgtKC9ILzgvqCk4MDg/uC+YLeggaD3IIJg9mCNYM0gxaDMoMxg0CDOYNQg0WDL4MrgxeDGIOFg5qDqoOfg6KDloMjg46Dh4OKg3yDtYNzg3WDoIOJg6iD9IMThOuDzoP9gwOE2IMLhMGD94MHhOCD8oMNhCKEIIS9gziEBoX7g22EKoQ8hFqFhIR3hGuErYRuhIKEaYRGhCyEb4R5hDWEyoRihLmEv4SfhNmEzYS7hNqE0ITBhMaE1oShhCGF/4T0hBeFGIUshR+FFYUUhfyEQIVjhViFSIVBhQKGS4VVhYCFpIWIhZGFioWohW2FlIWbheqFh4WchXeFfoWQhcmFuoXPhbmF0IXVhd2F5YXchfmFCoYThguG/oX6hQaGIoYahjCGP4ZNhlVOVIZfhmeGcYaThqOGqYaqhouGjIa2hq+GxIbGhrCGyYYjiKuG1IbehumG7IbfhtuG74YShwaHCIcAhwOH+4YRhwmHDYf5hgqHNIc/hzeHO4clhymHGodgh1+HeIdMh06HdIdXh2iHbodZh1OHY4dqhwWIooefh4KHr4fLh72HwIfQh9aWq4fEh7OHx4fGh7uH74fyh+CHD4gNiP6H9of3hw6I0ocRiBaIFYgiiCGIMYg2iDmIJ4g7iESIQohSiFmIXohiiGuIgYh+iJ6IdYh9iLWIcoiCiJeIkoiuiJmIooiNiKSIsIi/iLGIw4jEiNSI2IjZiN2I+YgCifyI9IjoiPKIBIkMiQqJE4lDiR6JJYkqiSuJQYlEiTuJNok4iUyJHYlgiV6JZolkiW2JaolviXSJd4l+iYOJiImKiZOJmImhiamJpomsia+Jsom6ib2Jv4nAidqJ3IndieeJ9In4iQOKFooQigyKG4odiiWKNopBiluKUopGikiKfIptimyKYoqFioKKhIqoiqGKkYqliqaKmoqjisSKzYrCitqK64rziueK5IrxihSL4IriiveK3orbigyLB4sai+GKFosQixeLIIszi6uXJosriz6LKItBi0yLT4tOi0mLVotbi1qLa4tfi2yLb4t0i32LgIuMi46LkouTi5aLmYuaizqMQYw/jEiMTIxOjFCMVYxijGyMeIx6jIKMiYyFjIqMjYyOjJSMfIyYjB1irYyqjL2MsoyzjK6MtozIjMGM5IzjjNqM/Yz6jPuMBI0FjQqNB40PjQ2NEI1OnxONzYwUjRaNZ41tjXGNc42BjZmNwo2+jbqNz43ajdaNzI3bjcuN6o3rjd+N4438jQiOCY7/jR2OHo4Qjh+OQo41jjCONI5KjkeOSY5MjlCOSI5ZjmSOYI4qjmOOVY52jnKOfI6BjoeOhY6EjouOio6TjpGOlI6ZjqqOoY6sjrCOxo6xjr6OxY7IjsuO247jjvyO+47rjv6OCo8FjxWPEo8ZjxOPHI8fjxuPDI8mjzOPO485j0WPQo8+j0yPSY9Gj06PV49cj2KPY49kj5yPn4+jj62Pr4+3j9qP5Y/ij+qP74+HkPSPBZD5j/qPEZAVkCGQDZAekBaQC5AnkDaQNZA5kPiPT5BQkFGQUpAOkEmQPpBWkFiQXpBokG+QdpColnKQgpB9kIGQgJCKkImQj5CokK+QsZC1kOKQ5JBIYtuQApESkRmRMpEwkUqRVpFYkWORZZFpkXORcpGLkYmRgpGikauRr5GqkbWRtJG6kcCRwZHJkcuR0JHWkd+R4ZHbkfyR9ZH2kR6S/5EUkiySFZIRkl6SV5JFkkmSZJJIkpWSP5JLklCSnJKWkpOSm5Jaks+SuZK3kumSD5P6kkSTLpMZkyKTGpMjkzqTNZM7k1yTYJN8k26TVpOwk6yTrZOUk7mT1pPXk+iT5ZPYk8OT3ZPQk8iT5JMalBSUE5QDlAeUEJQ2lCuUNZQhlDqUQZRSlESUW5RglGKUXpRqlCmScJR1lHeUfZRalHyUfpSBlH+UgpWHlYqVlJWWlZiVmZWglaiVp5WtlbyVu5W5lb6VypX2b8OVzZXMldWV1JXWldyV4ZXlleKVIZYoli6WL5ZClkyWT5ZLlneWXJZell2WX5ZmlnKWbJaNlpiWlZaXlqqWp5axlrKWsJa0lraWuJa5ls6Wy5bJls2WTYnclg2X1Zb5lgSXBpcIlxOXDpcRlw+XFpcZlySXKpcwlzmXPZc+l0SXRpdIl0KXSZdcl2CXZJdml2iX0lJrl3GXeZeFl3yXgZd6l4aXi5ePl5CXnJeol6aXo5ezl7SXw5fGl8iXy5fcl+2XT5/yl9969pf1lw+YDJg4mCSYIZg3mD2YRphPmEuYa5hvmHCYcZh0mHOYqpivmLGYtpjEmMOYxpjpmOuYA5kJmRKZFJkYmSGZHZkemSSZIJksmS6ZPZk+mUKZSZlFmVCZS5lRmVKZTJlVmZeZmJmlma2Zrpm8md+Z25ndmdiZ0Zntme6Z8ZnymfuZ+JkBmg+aBZrimRmaK5o3mkWaQppAmkOaPppVmk2aW5pXml+aYpplmmSaaZprmmqarZqwmryawJrPmtGa05rUmt6a35rimuOa5prvmuua7pr0mvGa95r7mgabGJsamx+bIpsjmyWbJ5somymbKpsumy+bMptEm0ObT5tNm06bUZtYm3Sbk5uDm5GblpuXm5+boJuom7SbwJvKm7mbxpvPm9Gb0pvjm+Kb5JvUm+GbOpzym/Gb8JsVnBScCZwTnAycBpwInBKcCpwEnC6cG5wlnCScIZwwnEecMpxGnD6cWpxgnGecdpx4nOec7JzwnAmdCJ3rnAOdBp0qnSadr50jnR+dRJ0VnRKdQZ0/nT6dRp1InV2dXp1knVGdUJ1ZnXKdiZ2Hnaudb516nZqdpJ2pnbKdxJ3BnbuduJ26ncadz53Cndmd0534nead7Z3vnf2dGp4bnh6edZ55nn2egZ6InouejJ6SnpWekZ6dnqWeqZ64nqqerZ5hl8yezp7PntCe1J7cnt6e3Z7gnuWe6J7vnvSe9p73nvme+578nv2eB58In7d2FZ8hnyyfPp9Kn1KfVJ9jn1+fYJ9hn2afZ59sn2qfd59yn3aflZ+cn6CfL1jHaVmQZHTcUZlxAEHhkQUL8wYwDP8BMAIwDv8nIBv/Gv8f/wH/MP4mICUgUP5R/lL+twBU/lX+Vv5X/lz/EyAx/hQgM/50JTT+T/4I/wn/Nf42/lv/Xf83/jj+FDAVMDn+Ov4QMBEwO/48/gowCzA9/j7+CDAJMD/+QP4MMA0wQf5C/g4wDzBD/kT+Wf5a/lv+XP5d/l7+GCAZIBwgHSAdMB4wNSAyIAP/Bv8K/zsgpwADMMslzyWzJbIlziUGJgUmxyXGJaEloCW9JbwlozIFIa8A4/8//80CSf5K/k3+Tv5L/kz+X/5g/mH+C/8N/9cA9wCxABoiHP8e/x3/ZiJnImAiHiJSImEiYv5j/mT+Zf5m/l7/KSIqIqUiICIfIr8i0jPRMysiLiI1IjQiQCZCJpUimSKRIZMhkCGSIZYhlyGZIZghJSIjIg//PP8VImj+BP/l/xIw4P/h/wX/IP8DIQkhaf5q/mv+1TOcM50znjPOM6EzjjOPM8QzsABZUVtRXlFdUWFRY1HnVel0znyBJYIlgyWEJYUlhiWHJYgljyWOJY0ljCWLJYoliSU8JTQlLCUkJRwllCUAJQIllSUMJRAlFCUYJW0lbiVwJW8lUCVeJWolYSXiJeMl5SXkJXElciVzJRD/Ef8S/xP/FP8V/xb/F/8Y/xn/YCFhIWIhYyFkIWUhZiFnIWghaSEhMCIwIzAkMCUwJjAnMCgwKTBBU0RTRVMh/yL/I/8k/yX/Jv8n/yj/Kf8q/yv/LP8t/y7/L/8w/zH/Mv8z/zT/Nf82/zf/OP85/zr/Qf9C/0P/RP9F/0b/R/9I/0n/Sv9L/0z/Tf9O/0//UP9R/1L/U/9U/1X/Vv9X/1j/Wf9a/5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQOjA6QDpQOmA6cDqAOpA7EDsgOzA7QDtQO2A7cDuAO5A7oDuwO8A70DvgO/A8ADwQPDA8QDxQPGA8cDyAPJAwUxBjEHMQgxCTEKMQsxDDENMQ4xDzEQMRExEjETMRQxFTEWMRcxGDEZMRoxGzEcMR0xHjEfMSAxITEiMSMxJDElMSYxJzEoMSkx2QLJAsoCxwLLAgAkASQCJAMkBCQFJAYkByQIJAkkCiQLJAwkDSQOJA8kECQRJBIkEyQUJBUkFiQXJBgkGSQaJBskHCQdJB4kHyQhJKwgAEGPmQULrVlOWU4BTgNOQ05dToZOjE66Tj9RZVFrUeBRAFIBUptSFVNBU1xTyFMJTgtOCE4KTitOOE7hUUVOSE5fTl5Ojk6hTkBRA1L6UkNTyVPjUx9X61gVWSdZc1lQW1FbU1v4Ww9cIlw4XHFc3V3lXfFd8l3zXf5dcl7+XgtfE19NYhFOEE4NTi1OME45TktOOVyITpFOlU6STpROok7BTsBOw07GTsdOzU7KTstOxE5DUUFRZ1FtUW5RbFGXUfZRBlIHUghS+1L+Uv9SFlM5U0hTR1NFU15ThFPLU8pTzVPsWClZK1kqWS1ZVFsRXCRcOlxvXPRde17/XhRfFV/DXwhiNmJLYk5iL2WHZZdlpGW5ZeVl8GYIZyhnIGtia3lry2vUa9trD2w0bGtwKnI2cjtyR3JZcltyrHKLcxlOFk4VThROGE47Tk1OT05OTuVO2E7UTtVO1k7XTuNO5E7ZTt5ORVFEUYlRilGsUflR+lH4UQpSoFKfUgVTBlMXUx1T305KU0lTYVNgU29TblO7U+9T5FPzU+xT7lPpU+hT/FP4U/VT61PmU+pT8lPxU/BT5VPtU/tT21baVhZZLlkxWXRZdllVW4NbPFzoXedd5l0CXgNec158XgFfGF8XX8VfCmJTYlRiUmJRYqVl5mUuZyxnKmcrZy1nY2vNaxFsEGw4bEFsQGw+bK9yhHOJc9x05nQYdR91KHUpdTB1MXUydTN1i3V9dq52v3budtt34nfzdzp5vnl0est6Hk4fTlJOU05pTplOpE6mTqVO/04JTxlPCk8VTw1PEE8RTw9P8k72TvtO8E7zTv1OAU8LT0lRR1FGUUhRaFFxUY1RsFEXUhFSElIOUhZSo1IIUyFTIFNwU3FTCVQPVAxUClQQVAFUC1QEVBFUDVQIVANUDlQGVBJU4FbeVt1WM1cwVyhXLVcsVy9XKVcZWRpZN1k4WYRZeFmDWX1ZeVmCWYFZV1tYW4dbiFuFW4lb+lsWXHlc3l0GXnZedF4PXxtf2V/WXw5iDGINYhBiY2JbYlhiNmXpZehl7GXtZfJm82YJZz1nNGcxZzVnIWtka3trFmxdbFdsWWxfbGBsUGxVbGFsW2xNbE5scHBfcl1yfnb5enN8+Hw2f4p/vX8BgAOADIASgDOAf4CJgIuAjIDjgeqB84H8gQyCG4Ifgm6CcoJ+gmuGQIhMiGOIf4khljJOqE5NT09PR09XT15PNE9bT1VPME9QT1FPPU86TzhPQ09UTzxPRk9jT1xPYE8vT05PNk9ZT11PSE9aT0xRS1FNUXVRtlG3USVSJFIpUipSKFKrUqlSqlKsUiNTc1N1Ux1ULVQeVD5UJlROVCdURlRDVDNUSFRCVBtUKVRKVDlUO1Q4VC5UNVQ2VCBUPFRAVDFUK1QfVCxU6lbwVuRW61ZKV1FXQFdNV0dXTlc+V1BXT1c7V+9YPlmdWZJZqFmeWaNZmVmWWY1ZpFmTWYpZpVldW1xbWltbW4xbi1uPWyxcQFxBXD9cPlyQXJFclFyMXOtdDF6PXodeil73XgRfH19kX2Jfd195X9hfzF/XX81f8V/rX/hf6l8SYhFihGKXYpZigGJ2YolibWKKYnxifmJ5YnNikmJvYphibmKVYpNikWKGYjllO2U4ZfFl9GZfZ05nT2dQZ1FnXGdWZ15nSWdGZ2BnU2dXZ2Vrz2tCbF5smWyBbIhsiWyFbJtsamx6bJBscGyMbGhslmySbH1sg2xybH5sdGyGbHZsjWyUbJhsgmx2cHxwfXB4cGJyYXJgcsRywnKWcyx1K3U3dTh1gnbvduN3wXnAeb95dnr7fFV/loCTgJ2AmICbgJqAsoBvgpKCi4KNgouJ0okAijeMRoxVjJ2MZI1wjbONq47KjpuPsI/Cj8aPxY/Ej+FdkZCikKqQppCjkEmRxpHMkTKWLpYxliqWLJYmTlZOc06LTptOnk6rTqxOb0+dT41Pc09/T2xPm0+LT4ZPg09wT3VPiE9pT3tPlk9+T49PkU96T1RRUlFVUWlRd1F2UXhRvVH9UTtSOFI3UjpSMFIuUjZSQVK+UrtSUlNUU1NTUVNmU3dTeFN5U9ZT1FPXU3NUdVSWVHhUlVSAVHtUd1SEVJJUhlR8VJBUcVR2VIxUmlRiVGhUi1R9VI5U+laDV3dXaldpV2FXZldkV3xXHFlJWUdZSFlEWVRZvlm7WdRZuVmuWdFZxlnQWc1Zy1nTWcpZr1mzWdJZxVlfW2RbY1uXW5pbmFucW5lbm1saXEhcRVxGXLdcoVy4XKlcq1yxXLNcGF4aXhZeFV4bXhFeeF6aXpdenF6VXpZe9l4mXydfKV+AX4Fff198X91f4F/9X/Vf/18PYBRgL2A1YBZgKmAVYCFgJ2ApYCtgG2AWYhViP2I+YkBif2LJYsxixGK/YsJiuWLSYttiq2LTYtRiy2LIYqhivWK8YtBi2WLHYs1itWLaYrFi2GLWYtdixmKsYs5iPmWnZbxl+mUUZhNmDGYGZgJmDmYAZg9mFWYKZgdmDWcLZ21ni2eVZ3FnnGdzZ3dnh2edZ5dnb2dwZ39niWd+Z5BndWeaZ5NnfGdqZ3JnI2tma2drf2sTbBts42zobPNssWzMbOVss2y9bL5svGzibKts1WzTbLhsxGy5bMFsrmzXbMVs8Wy/bLts4WzbbMpsrGzvbNxs1mzgbJVwjnCScIpwmXAsci1yOHJIcmdyaXLAcs5y2XLXctByqXOoc59zq3Olcz11nXWZdZp1hHbCdvJ29Hbld/13PnlAeUF5yXnIeXp6eXr6ev58VH+Mf4t/BYC6gKWAooCxgKGAq4CpgLSAqoCvgOWB/oENgrOCnYKZgq2CvYKfgrmCsYKsgqWCr4K4gqOCsIK+greCToZxhh1SaIjLjs6P1I/Rj7WQuJCxkLaQx5HRkXeVgJUclkCWP5Y7lkSWQpa5luiWUpdel59OrU6uTuFPtU+vT79P4E/RT89P3U/DT7ZP2E/fT8pP10+uT9BPxE/CT9pPzk/eT7dPV1GSUZFRoFFOUkNSSlJNUkxSS1JHUsdSyVLDUsFSDVNXU3tTmlPbU6xUwFSoVM5UyVS4VKZUs1THVMJUvVSqVMFUxFTIVK9Uq1SxVLtUqVSnVL9U/1aCV4tXoFejV6JXzleuV5NXVVlRWU9ZTllQWdxZ2Fn/WeNZ6FkDWuVZ6lnaWeZZAVr7WWlbo1umW6RbolulWwFcTlxPXE1cS1zZXNJc910dXiVeH159XqBepl76XghfLV9lX4hfhV+KX4tfh1+MX4lfEmAdYCBgJWAOYChgTWBwYGhgYmBGYENgbGBrYGpgZGBBYtxiFmMJY/xi7WIBY+5i/WIHY/Fi92LvYuxi/mL0YhFjAmM/ZUVlq2W9ZeJlJWYtZiBmJ2YvZh9mKGYxZiRm92b/Z9Nn8WfUZ9Bn7Ge2Z69n9WfpZ+9nxGfRZ7Rn2mflZ7hnz2feZ/NnsGfZZ+Jn3WfSZ2prg2uGa7Vr0mvXax9syWwLbTJtKm1BbSVtDG0xbR5tF207bT1tPm02bRtt9Ww5bSdtOG0pbS5tNW0ObSttq3C6cLNwrHCvcK1wuHCucKRwMHJycm9ydHLpcuBy4XK3c8pzu3Oyc81zwHOzcxp1LXVPdUx1TnVLdat1pHWldaJ1o3V4doZ2h3aIdsh2xnbDdsV2AXf5dvh2CXcLd/52/HYHd9x3AngUeAx4DXhGeUl5SHlHebl5unnRedJ5y3l/eoF6/3r9en18An0FfQB9CX0HfQR9Bn04f45/v38EgBCADYARgDaA1oDlgNqAw4DEgMyA4YDbgM6A3oDkgN2A9IEigueCA4MFg+OC24LmggSD5YICgwmD0oLXgvGCAYPcgtSC0YLegtOC34LvggaDUIZ5hnuGeoZNiGuIgYnUiQiKAooDip6MoIx0jXONtI3NjsyO8I/mj+KP6o/lj+2P64/kj+iPypDOkMGQw5BLkUqRzZGClVCWS5ZMlk2WYpdpl8uX7ZfzlwGYqJjbmN+YlpmZmVhOs04MUA1QI1DvTyZQJVD4TylQFlAGUDxQH1AaUBJQEVD6TwBQFFAoUPFPIVALUBlQGFDzT+5PLVAqUP5PK1AJUHxRpFGlUaJRzVHMUcZRy1FWUlxSVFJbUl1SKlN/U59TnVPfU+hUEFUBVTdV/FTlVPJUBlX6VBRV6VTtVOFUCVXuVOpU5lQnVQdV/VQPVQNXBFfCV9RXy1fDVwlYD1lXWVhZWlkRWhhaHFofWhtaE1rsWSBaI1opWiVaDFoJWmtbWFywW7Nbtlu0W65btVu5W7hbBFxRXFVcUFztXP1c+1zqXOhc8Fz2XAFd9FzuXS1eK16rXq1ep14xX5JfkV+QX1lgY2BlYFBgVWBtYGlgb2CEYJ9gmmCNYJRgjGCFYJZgR2LzYghj/2JOYz5jL2NVY0JjRmNPY0ljOmNQYz1jKmMrYyhjTWNMY0hlSWWZZcFlxWVCZklmT2ZDZlJmTGZFZkFm+GYUZxVnF2chaDhoSGhGaFNoOWhCaFRoKWizaBdoTGhRaD1o9GdQaEBoPGhDaCpoRWgTaBhoQWiKa4lrt2sjbCdsKGwmbCRs8GxqbZVtiG2HbWZteG13bVltk21sbYltbm1abXRtaW2MbYpteW2FbWVtlG3KcNhw5HDZcMhwz3A5cnly/HL5cv1y+HL3coZz7XMJdO5z4HPqc95zVHVddVx1WnVZdb51xXXHdbJ1s3W9dbx1uXXCdbh1i3awdsp2zXbOdil3H3cgdyh36XcweCd4OHgdeDR4N3gleC14IHgfeDJ4VXlQeWB5X3lWeV55XXlXeVp55Hnjeed533nmeel52HmEeoh62XoGexF7iXwhfRd9C30KfSB9In0UfRB9FX0afRx9DX0ZfRt9On9ff5R/xX/BfwaAGIAVgBmAF4A9gD+A8YACgfCABYHtgPSABoH4gPOACIH9gAqB/IDvgO2B7IEAghCCKoIrgiiCLIK7giuDUoNUg0qDOINQg0mDNYM0g0+DMoM5gzaDF4NAgzGDKINDg1SGioaqhpOGpIaphoyGo4achnCId4iBiIKIfYh5iBiKEIoOigyKFYoKiheKE4oWig+KEYpIjHqMeYyhjKKMd42sjtKO1I7PjrGPAZAGkPePAJD6j/SPA5D9jwWQ+I+VkOGQ3ZDikFKRTZFMkdiR3ZHXkdyR2ZGDlWKWY5ZhlluWXZZklliWXpa7luKYrJmomtiaJZsymzybfk56UH1QXFBHUENQTFBaUElQZVB2UE5QVVB1UHRQd1BPUA9Qb1BtUFxRlVHwUWpSb1LSUtlS2FLVUhBTD1MZUz9TQFM+U8NT/GZGVWpVZlVEVV5VYVVDVUpVMVVWVU9VVVUvVWRVOFUuVVxVLFVjVTNVQVVXVQhXC1cJV99XBVgKWAZY4FfkV/pXAlg1WPdX+VcgWWJZNlpBWklaZlpqWkBaPFpiWlpaRlpKWnBbx1vFW8Rbwlu/W8ZbCVwIXAdcYFxcXF1cB10GXQ5dG10WXSJdEV0pXRRdGV0kXSddF13iXTheNl4zXjdet164XrZetV6+XjVfN19XX2xfaV9rX5dfmV+eX5hfoV+gX5xff2CjYIlgoGCoYMtgtGDmYL1gxWC7YLVg3GC8YNhg1WDGYN9guGDaYMdgGmIbYkhioGOnY3JjlmOiY6Vjd2NnY5hjqmNxY6ljiWODY5tja2OoY4RjiGOZY6FjrGOSY49jgGN7Y2ljaGN6Y11lVmVRZVllV2VfVU9lWGVVZVRlnGWbZaxlz2XLZcxlzmVdZlpmZGZoZmZmXmb5ZtdSG2eBaK9oomiTaLVof2h2aLFop2iXaLBog2jEaK1ohmiFaJRonWioaJ9ooWiCaDJrumvra+xrK2yObbxt823ZbbJt4W3MbeRt+236bQVux23Lba9t0W2ubd5t+W24bfdt9W3FbdJtGm61bdpt623Ybept8W3ubehtxm3Ebapt7G2/beZt+XAJcQpx/XDvcD1yfXKBchxzG3MWcxNzGXOHcwV0CnQDdAZ0/nMNdOB09nT3dBx1InVldWZ1YnVwdY911HXVdbV1ynXNdY521HbSdtt2N3c+dzx3Nnc4dzp3a3hDeE54ZXloeW15+3mSepV6IHsoext7LHsmexl7Hnsue5J8l3yVfEZ9Q31xfS59OX08fUB9MH0zfUR9L31CfTJ9MX09f55/mn/Mf85/0n8cgEqARoAvgRaBI4ErgSmBMIEkgQKCNYI3gjaCOYKOg56DmIN4g6KDloO9g6uDkoOKg5ODiYOgg3eDe4N8g4aDp4NVhmpfx4bAhraGxIa1hsaGy4axhq+GyYZTiJ6IiIiriJKIloiNiIuIk4mPiSqKHYojiiWKMYotih+KG4oiikmMWoypjKyMq4yojKqMp4xnjWaNvo26jduO344ZkA2QGpAXkCOQH5AdkBCQFZAekCCQD5AikBaQG5AUkOiQ7ZD9kFeRzpH1keaR45Hnke2R6ZGJlWqWdZZzlniWcJZ0lnaWd5ZslsCW6pbpluB633oCmAOYWpvlnHWef56lnrueolCNUIVQmVCRUIBQllCYUJpQAGfxUXJSdFJ1UmlS3lLdUttSWlOlU3tVgFWnVXxVilWdVZhVglWcVapVlFWHVYtVg1WzVa5Vn1U+VbJVmlW7VaxVsVV+VYlVq1WZVQ1XL1gqWDRYJFgwWDFYIVgdWCBY+Vj6WGBZd1qaWn9aklqbWqdac1txW9JbzFvTW9BbClwLXDFcTF1QXTRdR139XUVePV5AXkNefl7KXsFewl7EXjxfbV+pX6pfqF/RYOFgsmC2YOBgHGEjYfpgFWHwYPtg9GBoYfFgDmH2YAlhAGESYR9iSWKjY4xjz2PAY+ljyWPGY81j0mPjY9Bj4WPWY+1j7mN2Y/Rj6mPbY1Jk2mP5Y15lZmViZWNlkWWQZa9lbmZwZnRmdmZvZpFmemZ+Zndm/mb/Zh9nHWf6aNVo4GjYaNdoBWnfaPVo7mjnaPlo0mjyaONoy2jNaA1pEmkOaclo2mhuaftoPms6az1rmGuWa7xr72subC9sLGwvbjhuVG4hbjJuZ25KbiBuJW4jbhtuW25YbiRuVm5ubi1uJm5vbjRuTW46bixuQ24dbj5uy26JbhluTm5jbkRucm5pbl9uGXEacSZxMHEhcTZxbnEccUxyhHKAcjZzJXM0cylzOnQqdDN0InQldDV0NnQ0dC90G3QmdCh0JXUmdWt1anXiddt143XZddh13nXgdXt2fHaWdpN2tHbcdk937XddeGx4b3gNegh6C3oFegB6mHqXepZ65Xrjekl7VntGe1B7UntUe017S3tPe1F7n3ylfF59UH1ofVV9K31ufXJ9YX1mfWJ9cH1zfYRV1H/VfwuAUoCFgFWBVIFLgVGBToE5gUaBPoFMgVOBdIESghyC6YMDhPiDDYTgg8WDC4TBg++D8YP0g1eECoTwgwyEzIP9g/KDyoM4hA6EBITcgweE1IPfg1uG34bZhu2G1IbbhuSG0IbehleIwYjCiLGIg4mWiTuKYIpVil6KPIpBilSKW4pQikaKNIo6ijaKVophjIKMr4y8jLOMvYzBjLuMwIy0jLeMtoy/jLiMio2FjYGNzo3djcuN2o3RjcyN243GjfuO+I78jpyPLpA1kDGQOJAykDaQApH1kAmR/pBjkWWRz5EUkhWSI5IJkh6SDZIQkgeSEZKUlY+Vi5WRlZOVkpWOlYqWjpaLln2WhZaGlo2WcpaElsGWxZbElsaWx5bvlvKWzJcFmAaYCJjnmOqY75jpmPKY7Ziuma2Zw57NntGegk6tULVQslCzUMVQvlCsULdQu1CvUMdQf1J3Un1S31LmUuRS4lLjUi9T31XoVdNV5lXOVdxVx1XRVeNV5FXvVdpV4VXFVcZV5VXJVRJXE1deWFFYWFhXWFpYVFhrWExYbVhKWGJYUlhLWGdZwVrJWsxavlq9Wrxas1rCWrJaaV1vXUxeeV7JXsheEl9ZX6xfrl8aYQ9hSGEfYfNgG2H5YAFhCGFOYUxhRGFNYT5hNGEnYQ1hBmE3YSFiImITZD5kHmQqZC1kPWQsZA9kHGQUZA1kNmQWZBdkBmRsZZ9lsGWXZolmh2aIZpZmhGaYZo1mA2eUaW1pWml3aWBpVGl1aTBpgmlKaWhpa2leaVNpeWmGaV1pY2lbaUdrcmvAa79r02v9a6Jur27TbrZuwm6Qbp1ux27FbqVumG68brpuq27RbpZunG7EbtRuqm6nbrRuTnFZcWlxZHFJcWdxXHFscWZxTHFlcV5xRnFocVZxOnJScjdzRXM/cz5zb3RadFV0X3RedEF0P3RZdFt0XHR2dXh1AHbwdQF28nXxdfp1/3X0dfN13nbfdlt3a3dmd153Y3d5d2p3bHdcd2V3aHdid+53jniweJd4mHiMeIl4fHiReJN4f3h6eX95gXkshL15HHoaeiB6FHofeh56n3qgend7wHtge257Z3uxfLN8tXyTfXl9kX2BfY99W31uf2l/an9yf6l/qH+kf1aAWICGgISAcYFwgXiBZYFugXOBa4F5gXqBZoEFgkeCgoR3hD2EMYR1hGaEa4RJhGyEW4Q8hDWEYYRjhGmEbYRGhF6GXIZfhvmGE4cIhweHAIf+hvuGAocDhwaHCodZiN+I1IjZiNyI2IjdiOGIyojViNKInInjiWuKcopzimaKaYpwioeKfIpjiqCKcYqFim2KYopuimyKeYp7ij6KaIpijIqMiYzKjMeMyIzEjLKMw4zCjMWM4Y3fjeiN743zjfqN6o3kjeaNso4DjwmP/o4Kj5+Pso9LkEqQU5BCkFSQPJBVkFCQR5BPkE6QTZBRkD6QQZASkReRbJFqkWmRyZE3kleSOJI9kkCSPpJbkkuSZJJRkjSSSZJNkkWSOZI/klqSmJWYlpSWlZbNlsuWyZbKlveW+5b5lvaWVpd0l3aXEJgRmBOYCpgSmAyY/Jj0mP2Y/pizmbGZtJnhmumcgp4OnxOfIJ/nUO5Q5VDWUO1Q2lDVUM9Q0VDxUM5Q6VBiUfNRg1KCUjFTrVP+VQBWG1YXVv1VFFYGVglWDVYOVvdVFlYfVghWEFb2VRhXFld1WH5Yg1iTWIpYeViFWH1Y/VglWSJZJFlqWWlZ4VrmWula11rWWtha41p1W95b51vhW+Vb5lvoW+Jb5FvfWw1cYlyEXYddW15jXlVeV15UXtNe1l4KX0ZfcF+5X0dhP2FLYXdhYmFjYV9hWmFYYXVhKmKHZFhkVGSkZHhkX2R6ZFFkZ2Q0ZG1ke2RyZaFl12XWZaJmqGadZpxpqGmVacFprmnTactpm2m3abtpq2m0adBpzWmtacxppmnDaaNpSWtMazNsM28Ub/5uE2/0bilvPm8gbyxvD28CbyJv/27vbgZvMW84bzJvI28VbytvL2+Ibypv7G4Bb/JuzG73bpRxmXF9cYpxhHGScT5yknKWckRzUHNkdGN0anRwdG10BHWRdSd2DXYLdgl2E3bhduN2hHd9d393YXfBeJ94p3izeKl4o3iOeY95jXkuejF6qnqpeu1673qhe5V7i3t1e5d7nXuUe497uHuHe4R7uXy9fL58u32wfZx9vX2+faB9yn20fbJ9sX26faJ9v321fbh9rX3Sfcd9rH1wf+B/4X/ff16AWoCHgFCBgIGPgYiBioF/gYKB54H6gQeCFIIegkuCyYS/hMaExISZhJ6EsoSchMuEuITAhNOEkIS8hNGEyoQ/hxyHO4cihyWHNIcYh1WHN4cph/OIAon0iPmI+Ij9iOiIGonviKaKjIqeiqOKjYqhipOKpIqqiqWKqIqYipGKmoqnimqMjYyMjNOM0YzSjGuNmY2VjfyNFI8SjxWPE4+jj2CQWJBckGOQWZBekGKQXZBbkBmRGJEekXWReJF3kXSReJKAkoWSmJKWknuSk5KckqiSfJKRkqGVqJWplaOVpZWklZmWnJablsyW0pYAl3yXhZf2lxeYGJivmLGYA5kFmQyZCZnBma+asJrmmkGbQpv0nPac85y8njufSp8EUQBR+1D1UPlQAlEIUQlRBVHcUYdSiFKJUo1SilLwUrJTLlY7VjlWMlY/VjRWKVZTVk5WV1Z0VjZWL1YwVoBYn1ieWLNYnFiuWKlYplhtWQlb+1oLW/VaDFsIW+5b7FvpW+tbZFxlXJ1dlF1iXl9eYV7iXtpe317dXuNe4F5IX3Fft1+1X3ZhZ2FuYV1hVWGCYXxhcGFrYX5hp2GQYathjmGsYZphpGGUYa5hLmJpZG9keWSeZLJkiGSQZLBkpWSTZJVkqWSSZK5krWSrZJpkrGSZZKJks2R1ZXdleGWuZqtmtGaxZiNqH2roaQFqHmoZav1pIWoTagpq82kCagVq7WkRalBrTmuka8Vrxms/b3xvhG9Rb2ZvVG+Gb21vW294b25vjm96b3BvZG+Xb1hv1W5vb2BvX2+fcaxxsXGocVZym3JOc1dzaXSLdIN0fnSAdH91IHYpdh92JHYmdiF2Inaadrp25HaOd4d3jHeRd4t3y3jFeLp4yni+eNV4vHjQeD96PHpAej16N3o7eq96rnqte7F7xHu0e8Z7x3vBe6B7zHvKfOB99H3vfft92H3sfd196H3jfdp93n3pfZ592X3yffl9dX93f69/6X8mgJuBnIGdgaCBmoGYgReFPYUahe6ELIUthROFEYUjhSGFFIXshCWF/4QGhYKHdId2h2CHZod4h2iHWYdXh0yHU4dbiF2IEIkHiRKJE4kViQqJvIrSiseKxIqVisuK+IqyismKwoq/irCK1orNiraKuYrbikyMToxsjOCM3ozmjOSM7IztjOKM44zcjOqM4YxtjZ+No40rjhCOHY4ijg+OKY4fjiGOHo66jh2PG48fjymPJo8qjxyPHo8lj2mQbpBokG2Qd5AwkS2RJ5ExkYeRiZGLkYORxZK7kreS6pKskuSSwZKzkryS0pLHkvCSspKtlbGVBJcGlweXCZdgl42Xi5ePlyGYK5gcmLOYCpkTmRKZGJndmdCZ35nbmdGZ1ZnSmdmZt5rumu+aJ5tFm0Sbd5tvmwadCZ0Dnamevp7OnqhYUp8SURhRFFEQURVRgFGqUd1RkVKTUvNSWVZrVnlWaVZkVnhWalZoVmVWcVZvVmxWYlZ2VsFYvljHWMVYblkdWzRbeFvwWw5cSl+yYZFhqWGKYc1htmG+YcphyGEwYsVkwWTLZLtkvGTaZMRkx2TCZM1kv2TSZNRkvmR0ZcZmyWa5ZsRmx2a4Zj1qOGo6allqa2pYajlqRGpiamFqS2pHajVqX2pIallrd2sFbMJvsW+hb8NvpG/Bb6dvs2/Ab7lvtm+mb6BvtG++cclx0HHScchx1XG5cc5x2XHcccNxxHFoc5x0o3SYdJ90nnTidAx1DXU0djh2OnbnduV2oHeed593pXfoeNp47HjneKZ5TXpOekZ6THpLerp62XsRfMl75Hvbe+F76Xvme9V81nwKfhF+CH4bfiN+Hn4dfgl+EH55f7J/8H/xf+5/KICzgamBqIH7gQiCWIJZgkqFWYVIhWiFaYVDhUmFbYVqhV6Fg4efh56HooeNh2GIKokyiSWJK4khiaqJponmivqK64rxigCL3Irniu6K/ooBiwKL94rtivOK9or8imuMbYyTjPSMRI4xjjSOQo45jjWOO48vjziPM4+oj6aPdZB0kHiQcpB8kHqQNJGSkSCTNpP4kjOTL5Mik/ySK5MEkxqTEJMmkyGTFZMukxmTu5WnlqiWqpbVlg6XEZcWlw2XE5cPl1uXXJdml5iXMJg4mDuYN5gtmDmYJJgQmSiZHpkbmSGZGpntmeKZ8Zm4mrya+5rtmiibkZsVnSOdJp0onRKdG53YntSejZ+cnypRH1EhUTJR9VKOVoBWkFaFVodWj1bVWNNY0VjOWDBbKlskW3pbN1xoXLxdul29Xbhda15MX71fyWHCYcdh5mHLYTJiNGLOZMpk2GTgZPBk5mTsZPFk4mTtZIJlg2XZZtZmgGqUaoRqomqcattqo2p+apdqkGqgalxrrmvaawhs2G/xb99v4G/bb+Rv62/vb4Bv7G/hb+lv1W/ub/Bv53Hfce5x5nHlce1x7HH0ceBxNXJGcnBzcnOpdLB0pnSodEZ2QnZMdup2s3eqd7B3rHend61373f3ePp49HjveAF5p3mqeVd6v3oHfA18/nv3ewx84HvgfNx83nzifN982XzdfC5+Pn5Gfjd+Mn5Dfit+PX4xfkV+QX40fjl+SH41fj9+L35Ef/N//H9xgHKAcIBvgHOAxoHDgbqBwoHAgb+BvYHJgb6B6IEJgnGCqoWEhX6FnIWRhZSFr4WbhYeFqIWKhWeGwIfRh7OH0ofGh6uHu4e6h8iHy4c7iTaJRIk4iT2JrIkOixeLGYsbiwqLIIsdiwSLEItBjD+Mc4z6jP2M/Iz4jPuMqI1JjkuOSI5KjkSPPo9Cj0WPP49/kH2QhJCBkIKQgJA5kaORnpGckU2TgpMok3WTSpNlk0uTGJN+k2yTW5Nwk1qTVJPKlcuVzJXIlcaVsZa4ltaWHJcel6CX05dGmLaYNZkBmv+Zrpurm6qbrZs7nT+di57Pnt6e3J7dntuePp9Ln+JTlVauVtlY2Fg4W11f42EzYvRk8mT+ZAZl+mT7ZPdkt2XcZiZns2qsasNqu2q4asJqrmqval9reGuvawlwC3D+bwZw+m8RcA9w+3H8cf5x+HF3c3Vzp3S/dBV1VnZYdlJ2vXe/d7t3vHcOea55YXpiemB6xHrFeit8J3wqfB58I3whfOd8VH5Vfl5+Wn5hflJ+WX5If/l/+393gHaAzYHPgQqCz4Wphc2F0IXJhbCFuoW5haaF74fsh/KH4IeGibKJ9IkoizmLLIsri1CMBY1ZjmOOZo5kjl+OVY7AjkmPTY+HkIOQiJCrkayR0JGUk4qTlpOik7OTrpOsk7CTmJOak5eT1JXWldCV1ZXiltyW2Zbblt6WJJejl6aXrZf5l02YT5hMmE6YU5i6mD6ZP5k9mS6ZpZkOmsGaA5sGm0+bTptNm8qbyZv9m8ibwJtRnV2dYJ3gnhWfLJ8zUaVW3ljfWOJY9VuQn+xe8mH3YfZh9WEAZQ9l4GbdZuVq3WraatNqG3AfcChwGnAdcBVwGHAGcg1yWHKicnhzenO9dMp043SHdYZ1X3Zhdsd3GXmxeWt6aXo+fD98OHw9fDd8QHxrfm1+eX5pfmp+hX9zfrZ/uX+4f9iB6YXdheqF1YXkheWF94X7hwWIDYj5h/6HYIlfiVaJXolBi1yLWItJi1qLTotPi0aLWYsIjQqNfI5yjoeOdo5sjnqOdI5Uj06PrY+KkIuQsZGukeGT0ZPfk8OTyJPck92T1pPik82T2JPkk9eT6JPclbSW45YqlyeXYZfcl/uXXphYmFuYvJhFmUmZFpoZmg2b6Jvnm9ab25uJnWGdcp1qnWydkp6XnpOetJ74UqhWt1a2VrRWvFbkWEBbQ1t9W/ZbyV34YfphGGUUZRll5mYnZ+xqPnAwcDJwEHJ7c890YnZldiZ5KnkseSt5x3r2ekx8Q3xNfO988Hyuj31+fH6Cfkx/AIDagWaC+4X5hRGG+oUGhguGB4YKhhSIFYhkibqJ+Ilwi2yLZotvi1+La4sPjQ2NiY6BjoWOgo60kcuRGJQDlP2T4ZUwl8SYUplRmaiZK5owmjeaNZoTnA2ceZ61nuieL59fn2OfYZ83UThRwVbAVsJWFFlsXM1d/GH+YR1lHGWVZelm+2oEa/pqsmtMcBtyp3LWdNR0aXbTd1B8j36Mfrx/F4YthhqGI4giiCGIH4hqiWyJvYl0i3eLfYsTjYqOjY6Ljl+Pr4+6kS6UM5Q1lDqUOJQylCuU4pU4lzmXMpf/l2eYZZhXmUWaQ5pAmj6az5pUm1GbLZwlnK+dtJ3CnbidnZ7vnhmfXJ9mn2efPFE7UchWylbJVn9b1F3SXU5f/2EkZQprYWtRcFhwgHPkdIp1bnZsdrN5YHxffH6AfYDfgXKJb4n8iYCLFo0XjZGOk45hj0iRRJRRlFKUPZc+l8OXwZdrmFWZVZpNmtKaGptJnDGcPpw7nNOd1500n2yfap+Un8xW1l0AYiNlK2UqZexmEGvadMp6ZHxjfGV8k36WfpR+4oE4hj+GMYiKi5CQj5BjlGCUZJRol2+YXJlamluaV5rTmtSa0ZpUnFecVpzlnZ+e9J7RVulYLGVecHF2cnbXd1B/iH82iDmIYoiTi5KLlot3ghuNwJFqlEKXSJdEl8aXcJhfmiKbWJtfnPmd+p18nn2eB593n3Kf814Wa2NwbHxufDuIwImhjsGRcpRwlHGYXpnWmiObzJ5kcNp3mot3lMmXYpplmpx+nIuqjsWRfZR+lHyUd5x4nPeeVIx/lBqeKHJqmjGbG54ennJ8YCRhJGIkYyRkJGUkZiRnJGgkaSR0JHUkdiR3JHgkeSR6JHskfCR9JHAhcSFyIXMhdCF1IXYhdyF4IXkhNk4/ToVOoE6CUZZRq1H5UjhTaVO2UwpZgFvbXXpef170XlBfYV80ZeBlknV2drWPtpaoAMYC/TD+MJ0wnjAAAAAABTAGMAcw/DA7/z3/PSdBMEIwQzBEMEUwRjBHMEgwSTBKMEswTDBNME4wTzBQMFEwUjBTMFQwVTBWMFcwWDBZMFowWzBcMF0wXjBfMGAwYTBiMGMwZDBlMGYwZzBoMGkwajBrMGwwbTBuMG8wcDBxMHIwczB0MHUwdjB3MHgweTB6MHswfDB9MH4wfzCAMIEwgjCDMIQwhTCGMIcwiDCJMIowizCMMI0wjjCPMJAwkTCSMJMwoTCiMKMwpDClMKYwpzCoMKkwqjCrMKwwrTCuMK8wsDCxMLIwszC0MLUwtjC3MLgwuTC6MLswvDC9ML4wvzDAMMEwwjDDMMQwxTDGMMcwyDDJMMowyzDMMM0wzjDPMNAw0TDSMNMw1DDVMNYw1zDYMNkw2jDbMNww3TDeMN8w4DDhMOIw4zDkMOUw5jDnMOgw6TDqMOsw7DDtMO4w7zDwMPEw8jDzMPQw9TD2MBAEEQQSBBMEFAQVBAEEFgQXBBgEGQQaBBsEHAQdBB4EHwQgBCEEIgQjBCQEJQQmBCcEKAQpBCoEKwQsBC0ELgQvBDAEMQQyBDMENAQ1BFEENgQ3BDgEOQQ6BDsEPAQ9BD4EPwRABEEEQgRDBEQERQRGBEcESARJBEoESwRMBE0ETgRPBOchuCG5Ic8xzABaTooAAlKRRLCfiFGxnwd2AEGM8wULzXvi/+T/B/8C/zEyFiEhIZswnDCALoQuhi6HLoguii6MLo0ulS6cLp0upS6nLqourC6uLrYuvC6+LsYuyi7MLs0uzy7WLtcu3i7jLgAAAAAAAIMCUAJbAlQCdQJTAfgASwGKAmoCQk5cTvVRGlOCUwdODE5HTo1O11YM+m5cc18PTodRDk4uTpNOwk7JTshOmFH8UmxTuVMgVwNZLFkQXP9d4WWza8xrFGw/cjFOPE7oTtxO6U7hTt1O2k4MUhxTTFMiVyNXF1kvWYFbhFsSXDtcdFxzXARegF6CXslfCWJQYhVsNmxDbD9sO2yucrByinO4eYqAHpYOTxhPLE/1ThRP8U4AT/dOCE8dTwJPBU8iTxNPBE/0ThJPsVETUglSEFKmUiJTH1NNU4pTB1ThVt9WLlcqVzRXPFmAWXxZhVl7WX5Zd1l/WVZbFVwlXHxcelx7XH5c3111XoReAl8aX3Rf1V/UX89fXGJeYmRiYWJmYmJiWWJgYlpiZWLvZe5lPmc5ZzhnO2c6Zz9nPGczZxhsRmxSbFxsT2xKbFRsS2xMbHFwXnK0crVyjnMqdX92dXpRf3iCfIKAgn2Cf4JNhn6JmZCXkJiQm5CUkCKWJJYgliOWVk87T2JPSU9TT2RPPk9nT1JPX09BT1hPLU8zTz9PYU+PUblRHFIeUiFSrVKuUglTY1NyU45Tj1MwVDdUKlRUVEVUGVQcVCVUGFQ9VE9UQVQoVCRUR1TuVudW5VZBV0VXTFdJV0tXUlcGWUBZplmYWaBZl1mOWaJZkFmPWadZoVmOW5JbKFwqXI1cj1yIXItciVySXIpchlyTXJVc4F0KXg5ei16JXoxeiF6NXgVfHV94X3Zf0l/RX9Bf7V/oX+5f81/hX+Rf41/6X+9f91/7XwBg9F86YoNijGKOYo9ilGKHYnFie2J6YnBigWKIYndifWJyYnRiN2XwZfRl82XyZfVlRWdHZ1lnVWdMZ0hnXWdNZ1pnS2fQaxlsGmx4bGdsa2yEbItsj2xxbG9saWyabG1sh2yVbJxsZmxzbGVse2yObHRwenBjcr9yvXLDcsZywXK6csVylXOXc5NzlHOSczp1OXWUdZV1gXY9eTSAlYCZgJCAkoCcgJCCj4KFgo6CkYKTgoqCg4KEgniMyY+/j5+QoZClkJ6Qp5CgkDCWKJYvli2WM06YT3xPhU99T4BPh092T3RPiU+ET3dPTE+XT2pPmk95T4FPeE+QT5xPlE+eT5JPgk+VT2tPbk+eUbxRvlE1UjJSM1JGUjFSvFIKUwtTPFOSU5RTh1R/VIFUkVSCVIhUa1R6VH5UZVRsVHRUZlSNVG9UYVRgVJhUY1RnVGRU91b5Vm9XcldtV2tXcVdwV3ZXgFd1V3tXc1d0V2JXaFd9VwxZRVm1WbpZz1nOWbJZzFnBWbZZvFnDWdZZsVm9WcBZyFm0WcdZYltlW5NblVtEXEdcrlykXKBctVyvXKhcrFyfXKNcrVyiXKpcp1ydXKVctlywXKZcF14UXhleKF8iXyNfJF9UX4Jffl99X95f5V8tYCZgGWAyYAtgNGAKYBdgM2AaYB5gLGAiYA1gEGAuYBNgEWAMYAlgHGAUYj1irWK0YtFivmKqYrZiymKuYrNir2K7YqlisGK4Yj1lqGW7ZQlm/GUEZhJmCGb7ZQNmC2YNZgVm/WURZhBm9mYKZ4VnbGeOZ5Jndmd7Z5hnhmeEZ3RnjWeMZ3pnn2eRZ5lng2d9Z4FneGd5Z5RnJWuAa35r3msdbJNs7GzrbO5s2Wy2bNRsrWznbLds0GzCbLpsw2zGbO1s8mzSbN1stGyKbJ1sgGzebMBsMG3NbMdssGz5bM9s6WzRbJRwmHCFcJNwhnCEcJFwlnCCcJpwg3BqctZyy3LYcsly3HLSctRy2nLMctFypHOhc61zpnOic6BzrHOdc9106HQ/dUB1PnWMdZh1r3bzdvF28Hb1dvh3/Hf5d/t3+nf3d0J5P3nFeXh6e3r7enV8/Xw1gI+AroCjgLiAtYCtgCCCoILAgquCmoKYgpuCtYKngq6CvIKegrqCtIKogqGCqYLCgqSCw4K2gqKCcIZvhm2GboZWjNKPy4/Tj82P1o/Vj9ePspC0kK+Qs5CwkDmWPZY8ljqWQ5bNT8VP00+yT8lPy0/BT9RP3E/ZT7tPs0/bT8dP1k+6T8BPuU/sT0RSSVLAUsJSPVN8U5dTllOZU5hTulShVK1UpVTPVMNUDYO3VK5U1lS2VMVUxlSgVHBUvFSiVL5UclTeVLBUtVeeV59XpFeMV5dXnVebV5RXmFePV5lXpVeaV5VX9FgNWVNZ4VneWe5ZAFrxWd1Z+ln9WfxZ9lnkWfJZ91nbWelZ81n1WeBZ/ln0We1ZqFtMXNBc2FzMXNdcy1zbXN5c2lzJXMdcylzWXNNc1FzPXMhcxlzOXN9c+Fz5XSFeIl4jXiBeJF6wXqReol6bXqNepV4HXy5fVl+GXzdgOWBUYHJgXmBFYFNgR2BJYFtgTGBAYEJgX2AkYERgWGBmYG5gQmJDYs9iDWMLY/ViDmMDY+ti+WIPYwxj+GL2YgBjE2MUY/piFWP7YvBiQWVDZaplv2U2ZiFmMmY1ZhxmJmYiZjNmK2Y6Zh1mNGY5Zi5mD2cQZ8Fn8mfIZ7pn3Ge7Z/hn2GfAZ7dnxWfrZ+Rn32e1Z81ns2f3Z/Zn7mfjZ8JnuWfOZ+dn8GeyZ/xnxmftZ8xnrmfmZ9tn+mfJZ8pnw2fqZ8tnKGuCa4RrtmvWa9hr4GsgbCFsKG00bS1tH208bT9tEm0KbdpsM20EbRltOm0abRFtAG0dbUJtAW0YbTdtA20PbUBtB20gbSxtCG0ibQltEG23cJ9wvnCxcLBwoXC0cLVwqXBBcklySnJscnByc3Jucspy5HLocuty33LqcuZy43KFc8xzwnPIc8VzuXO2c7VztHPrc79zx3O+c8NzxnO4c8tz7HTudC51R3VIdad1qnV5dsR2CHcDdwR3BXcKd/d2+3b6dud36HcGeBF4EngFeBB4D3gOeAl4A3gTeEp5THlLeUV5RHnVec15z3nWec55gHp+etF6AHsBe3p8eHx5fH98gHyBfAN9CH0BfVh/kX+Nf75/B4AOgA+AFIA3gNiAx4DggNGAyIDCgNCAxYDjgNmA3IDKgNWAyYDPgNeA5oDNgP+BIYKUgtmC/oL5ggeD6IIAg9WCOoPrgtaC9ILsguGC8oL1ggyD+4L2gvCC6oLkguCC+oLzgu2Cd4Z0hnyGc4ZBiE6IZ4hqiGmI04kEigeKco3jj+GP7o/gj/GQvZC/kNWQxZC+kMeQy5DIkNSR05FUlk+WUZZTlkqWTpYeUAVQB1ATUCJQMFAbUPVP9E8zUDdQLFD2T/dPF1AcUCBQJ1A1UC9QMVAOUFpRlFGTUcpRxFHFUchRzlFhUlpSUlJeUl9SVVJiUs1SDlOeUyZV4lQXVRJV51TzVORUGlX/VARVCFXrVBFVBVXxVApV+1T3VPhU4FQOVQNVC1UBVwJXzFcyWNVX0le6V8ZXvVe8V7hXtle/V8dX0Fe5V8FXDllKWRlaFlotWi5aFVoPWhdaCloeWjNabFunW61brFsDXFZcVFzsXP9c7lzxXPdcAF35XCleKF6oXq5eql6sXjNfMF9nX11gWmBnYEFgomCIYIBgkmCBYJ1gg2CVYJtgl2CHYJxgjmAZYkZi8mIQY1ZjLGNEY0VjNmNDY+RjOWNLY0pjPGMpY0FjNGNYY1RjWWMtY0djM2NaY1FjOGNXY0BjSGNKZUZlxmXDZcRlwmVKZl9mR2ZRZhJnE2cfaBpoSWgyaDNoO2hLaE9oFmgxaBxoNWgraC1oL2hOaERoNGgdaBJoFGgmaChoLmhNaDpoJWggaCxrL2stazFrNGtta4KAiGvma+Rr6Gvja+Jr52slbHptY21kbXZtDW1hbZJtWG1ibW1tb22RbY1t721/bYZtXm1nbWBtl21wbXxtX22CbZhtL21obYttfm2AbYRtFm2DbXttfW11bZBt3HDTcNFw3XDLcDl/4nDXcNJw3nDgcNRwzXDFcMZwx3DacM5w4XBCcnhyd3J2cgBz+nL0cv5y9nLzcvtyAXPTc9lz5XPWc7xz53Pjc+lz3HPSc9tz1HPdc9pz13PYc+hz3nTfdPR09XQhdVt1X3WwdcF1u3XEdcB1v3W2dbp1inbJdh13G3cQdxN3EncjdxF3FXcZdxp3IncndyN4LHgieDV4L3goeC54K3gheCl4M3gqeDF4VHlbeU95XHlTeVJ5UXnreex54Hnuee156nnced553XmGeol6hXqLeox6inqHeth6EHsEexN7BXsPewh7CnsOewl7EnuEfJF8inyMfIh8jXyFfB59HX0RfQ59GH0WfRN9H30SfQ99DH1cf2F/Xn9gf11/W3+Wf5J/w3/Cf8B/FoA+gDmA+oDygPmA9YABgfuAAIEBgi+CJYIzgy2DRIMZg1GDJYNWgz+DQYMmgxyDIoNCg06DG4MqgwiDPINNgxaDJIMggzeDL4Mpg0eDRYNMg1ODHoMsg0uDJ4NIg1OGUoaihqiGloaNhpGGnoaHhpeGhoaLhpqGhYalhpmGoYanhpWGmIaOhp2GkIaUhkOIRIhtiHWIdohyiICIcYh/iG+Ig4h+iHSIfIgSikeMV4x7jKSMo4x2jXiNtY23jbaN0Y7Tjv6P9Y8CkP+P+48EkPyP9o/WkOCQ2ZDakOOQ35DlkNiQ25DXkNyQ5JBQkU6RT5HVkeKR2pFcll+WvJbjmN+aL5t/TnBQalBhUF5QYFBTUEtQXVByUEhQTVBBUFtQSlBiUBVQRVBfUGlQa1BjUGRQRlBAUG5Qc1BXUFFQ0FFrUm1SbFJuUtZS01ItU5xTdVV2VTxVTVVQVTRVKlVRVWJVNlU1VTBVUlVFVQxVMlVlVU5VOVVIVS1VO1VAVUtVClcHV/tXFFjiV/ZX3Ff0VwBY7Vf9VwhY+FcLWPNXz1cHWO5X41fyV+VX7FfhVw5Y/FcQWOdXAVgMWPFX6VfwVw1YBFhcWWBaWFpVWmdaXlo4WjVabVpQWl9aZVpsWlNaZFpXWkNaXVpSWkRaW1pIWo5aPlpNWjlaTFpwWmlaR1pRWlZaQlpcWnJbblvBW8BbWVweXQtdHV0aXSBdDF0oXQ1dJl0lXQ9dMF0SXSNdH10uXT5eNF6xXrReuV6yXrNeNl84X5tfll+fX4pgkGCGYL5gsGC6YNNg1GDPYORg2WDdYMhgsWDbYLdgymC/YMNgzWDAYDJjZWOKY4JjfWO9Y55jrWOdY5djq2OOY29jh2OQY25jr2N1Y5xjbWOuY3xjpGM7Y59jeGOFY4FjkWONY3BjU2XNZWVmYWZbZllmXGZiZhhneWiHaJBonGhtaG5ormiraFZpb2ijaKxoqWh1aHRosmiPaHdokmh8aGtocmiqaIBocWh+aJtolmiLaKBoiWikaHhoe2iRaIxoimh9aDZrM2s3azhrkWuPa41rjmuMaypswG2rbbRts210bqxt6W3ibbdt9m3UbQBuyG3gbd9t1m2+beVt3G3dbdtt9G3Kbb1t7W3wbbpt1W3Cbc9tyW3QbfJt0239bddtzW3jbbtt+nANcfdwF3H0cAxx8HAEcfNwEHH8cP9wBnETcQBx+HD2cAtxAnEOcX5ye3J8cn9yHXMXcwdzEXMYcwpzCHP/cg9zHnOIc/Zz+HP1cwR0AXT9cwd0AHT6c/xz/3MMdAt09HMIdGR1Y3XOddJ1z3XLdcx10XXQdY92iXbTdjl3L3ctdzF3Mnc0dzN3PXcldzt3NXdIeFJ4SXhNeEp4THgmeEV4UHhkeWd5aXlqeWN5a3lhebt5+nn4efZ593mPepR6kHo1e0d7NHslezB7InskezN7GHsqex17MXsrey17L3syezh7Gnsje5R8mHyWfKN8NX09fTh9Nn06fUV9LH0pfUF9R30+fT99Sn07fSh9Y3+Vf5x/nX+bf8p/y3/Nf9B/0X/Hf89/yX8fgB6AG4BHgEOASIAYgSWBGYEbgS2BH4EsgR6BIYEVgSeBHYEigRGCOIIzgjqCNIIygnSCkIOjg6iDjYN6g3ODpIN0g4+DgYOVg5mDdYOUg6mDfYODg4yDnYObg6qDi4N+g6WDr4OIg5eDsIN/g6aDh4Oug3aDmoNZhlaGv4a3hsKGwYbFhrqGsIbIhrmGs4a4hsyGtIa7hryGw4a9hr6GUoiJiJWIqIiiiKqImoiRiKGIn4iYiKeImYibiJeIpIisiIyIk4iOiIKJ1onZidWJMIoniiyKHoo5jDuMXIxdjH2MpYx9jXuNeY28jcKNuY2/jcGN2I7ejt2O3I7XjuCO4Y4kkAuQEZAckAyQIZDvkOqQ8JD0kPKQ85DUkOuQ7JDpkFaRWJFakVORVZHskfSR8ZHzkfiR5JH5keqR65H3keiR7pF6lYaViJV8lm2Wa5Zxlm+Wv5ZqlwSY5ZiXmZtQlVCUUJ5Qi1CjUINQjFCOUJ1QaFCcUJJQglCHUF9R1FESUxFTpFOnU5FVqFWlVa1Vd1VFVqJVk1WIVY9VtVWBVaNVklWkVX1VjFWmVX9VlVWhVY5VDFcpWDdYGVgeWCdYI1goWPVXSFglWBxYG1gzWD9YNlguWDlYOFgtWCxYO1hhWa9alFqfWnpaolqeWnhaplp8WqVarFqVWq5aN1qEWopal1qDWotaqVp7Wn1ajFqcWo9ak1qdWupbzVvLW9Rb0VvKW85bDFwwXDddQ11rXUFdS10/XTVdUV1OXVVdM106XVJdPV0xXVldQl05XUldOF08XTJdNl1AXUVdRF5BXlhfpl+lX6tfyWC5YMxg4mDOYMRgFGHyYAphFmEFYfVgE2H4YPxg/mDBYANhGGEdYRBh/2AEYQthSmKUY7FjsGPOY+Vj6GPvY8NjnWTzY8pj4GP2Y9Vj8mP1Y2Fk32O+Y91j3GPEY9hj02PCY8djzGPLY8hj8GPXY9ljMmVnZWplZGVcZWhlZWWMZZ1lnmWuZdBl0mV8Zmxme2aAZnFmeWZqZnJmAWcMadNoBGncaCpp7GjqaPFoD2nWaPdo62jkaPZoE2kQafNo4WgHacxoCGlwabRoEWnvaMZoFGn4aNBo/Wj8aOhoC2kKaRdpzmjIaN1o3mjmaPRo0WgGadRo6WgVaSVpx2g5aztrP2s8a5Rrl2uZa5VrvWvwa/Jr82swbPxtRm5Hbh9uSW6IbjxuPW5FbmJuK24/bkFuXW5zbhxuM25LbkBuUW47bgNuLm5ebmhuXG5hbjFuKG5gbnFua245biJuMG5TbmVuJ254bmRud25VbnluUm5mbjVuNm5abiBxHnEvcftwLnExcSNxJXEicTJxH3EocTpxG3FLclpyiHKJcoZyhXKLchJzC3MwcyJzMXMzcydzMnMtcyZzI3M1cwxzLnQsdDB0K3QWdBp0IXQtdDF0JHQjdB10KXQgdDJ0+3QvdW91bHXnddp14XXmdd1133Xkddd1lXaSdtp2RndHd0R3TXdFd0p3TndLd0x33nfsd2B4ZHhleFx4bXhxeGp4bnhweGl4aHheeGJ4dHlzeXJ5cHkCegp6A3oMegR6mXrmeuR6Sns7e0R7SHtMe057QHtYe0V7onyefKh8oXxYfW99Y31TfVZ9Z31qfU99bX1cfWt9Un1UfWl9UX1ffU59Pn8/f2V/Zn+if6B/oX/Xf1GAT4BQgP6A1IBDgUqBUoFPgUeBPYFNgTqB5oHugfeB+IH5gQSCPII9gj+CdYI7g8+D+YMjhMCD6IMShOeD5IP8g/aDEITGg8iD64Pjg7+DAYTdg+WD2IP/g+GDy4POg9aD9YPJgwmED4TegxGEBoTCg/OD1YP6g8eD0YPqgxOEw4Psg+6DxIP7g9eD4oMbhNuD/oPYhuKG5obThuOG2obqht2G64bchuyG6YbXhuiG0YZIiFaIVYi6iNeIuYi4iMCIvoi2iLyIt4i9iLKIAYnJiJWJmImXid2J2onbiU6KTYo5ilmKQIpXiliKRIpFilKKSIpRikqKTIpPil+MgYyAjLqMvoywjLmMtYyEjYCNiY3YjdONzY3HjdaN3I3PjdWN2Y3IjdeNxY3vjveO+o75juaO7o7ljvWO547ojvaO647xjuyO9I7pji2QNJAvkAaRLJEEkf+Q/JAIkfmQ+5ABkQCRB5EFkQORYZFkkV+RYpFgkQGSCpIlkgOSGpImkg+SDJIAkhKS/5H9kQaSBJInkgKSHJIkkhmSF5IFkhaSe5WNlYyVkJWHln6WiJaJloOWgJbClsiWw5bxlvCWbJdwl26XB5ipmOuY5pz5noNOhE62Tr1Qv1DGUK5QxFDKULRQyFDCULBQwVC6ULFQy1DJULZQuFDXUXpSeFJ7UnxSw1XbVcxV0FXLVcpV3VXAVdRVxFXpVb9V0lWNVc9V1VXiVdZVyFXyVc1V2VXCVRRXU1hoWGRYT1hNWElYb1hVWE5YXVhZWGVYW1g9WGNYcVj8WMdaxFrLWrpauFqxWrVasFq/Wshau1rGWrdawFrKWrRatlrNWrlakFrWW9hb2VsfXDNccV1jXUpdZV1yXWxdXl1oXWddYl3wXU9eTl5KXk1eS17FXsxexl7LXsdeQF+vX61f92BJYUphK2FFYTZhMmEuYUZhL2FPYSlhQGEgYmiRI2IlYiRixWPxY+tjEGQSZAlkIGQkZDNkQ2QfZBVkGGQ5ZDdkImQjZAxkJmQwZChkQWQ1ZC9kCmQaZEBkJWQnZAtk52MbZC5kIWQOZG9lkmXTZYZmjGaVZpBmi2aKZplmlGZ4ZiBnZmlfaThpTmliaXFpP2lFaWppOWlCaVdpWWl6aUhpSWk1aWxpM2k9aWVp8Gh4aTRpaWlAaW9pRGl2aVhpQWl0aUxpO2lLaTdpXGlPaVFpMmlSaS9pe2k8aUZrRWtDa0JrSGtBa5trDfr7a/xr+Wv3a/hrm27Wbshuj27Abp9uk26UbqBusW65bsZu0m69bsFunm7JbrdusG7NbqZuz26ybr5uw27cbthumW6Sbo5ujW6kbqFuv26zbtBuym6Xbq5uo25HcVRxUnFjcWBxQXFdcWJxcnF4cWpxYXFCcVhxQ3FLcXBxX3FQcVNxRHFNcVpxT3KNcoxykXKQco5yPHNCcztzOnNAc0pzSXNEdEp0S3RSdFF0V3RAdE90UHROdEJ0RnRNdFR04XT/dP50/XQddXl1d3WDae91D3YDdvd1/nX8dfl1+HUQdvt19nXtdfV1/XWZdrV23XZVd193YHdSd1Z3Wndpd2d3VHdZd2134HeHeJp4lHiPeIR4lXiFeIZ4oXiDeHl4mXiAeJZ4e3h8eYJ5fXl5eRF6GHoZehJ6F3oVeiJ6E3obehB6o3qiep5663pme2R7bXt0e2l7cntle3N7cXtwe2F7eHt2e2N7sny0fK98iH2GfYB9jX1/fYV9en2OfXt9g318fYx9lH2EfX19kn1tf2t/Z39of2x/pn+lf6d/23/cfyGAZIFggXeBXIFpgVuBYoFygSFnXoF2gWeBb4FEgWGBHYJJgkSCQIJCgkWC8YQ/hFaEdoR5hI+EjYRlhFGEQISGhGeEMIRNhH2EWoRZhHSEc4RdhAeFXoQ3hDqENIR6hEOEeIQyhEWEKYTZg0uEL4RChC2EX4RwhDmEToRMhFKEb4TFhI6EO4RHhDaEM4RohH6ERIQrhGCEVIRuhFCEC4cEh/eGDIf6htaG9YZNh/iGDocJhwGH9oYNhwWH1ojLiM2IzojeiNuI2ojMiNCIhYmbid+J5YnkieGJ4IniidyJ5ol2ioaKf4phij+Kd4qCioSKdYqDioGKdIp6ijyMS4xKjGWMZIxmjIaMhIyFjMyMaI1pjZGNjI2OjY+NjY2TjZSNkI2SjfCN4I3sjfGN7o3QjemN443ijeeN8o3rjfSNBo//jgGPAI8FjwePCI8CjwuPUpA/kESQSZA9kBCRDZEPkRGRFpEUkQuRDpFukW+RSJJSkjCSOpJmkjOSZZJekoOSLpJKkkaSbZJskk+SYJJnkm+SNpJhknCSMZJUkmOSUJJykk6SU5JMklaSMpKflZyVnpWblZKWk5aRlpeWzpb6lv2W+Jb1lnOXd5d4l3KXD5gNmA6YrJj2mPmYr5mymbCZtZmtmquaW5vqnO2c55yAnv2e5lDUUNdQ6FDzUNtQ6lDdUORQ01DsUPBQ71DjUOBQ2FGAUoFS6VLrUjBTrFMnVhVWDFYSVvxVD1YcVgFWE1YCVvpVHVYEVv9V+VWJWHxYkFiYWIZYgVh/WHRYi1h6WIdYkViOWHZYgliIWHtYlFiPWP5Ya1ncWu5a5VrVWupa2lrtWuta81riWuBa21rsWt5a3VrZWuha31p3W+Bb41tjXIJdgF19XYZdel2BXXddil2JXYhdfl18XY1deV1/XVheWV5TXthe0V7XXs5e3F7VXtle0l7UXkRfQ19vX7ZfLGEoYUFhXmFxYXNhUmFTYXJhbGGAYXRhVGF6YVthZWE7YWphYWFWYSliJ2IrYitkTWRbZF1kdGR2ZHJkc2R9ZHVkZmSmZE5kgmReZFxkS2RTZGBkUGR/ZD9kbGRrZFlkZWR3ZHNloGWhZqBmn2YFZwRnImexabZpyWmgac5plmmwaaxpvGmRaZlpjmmnaY1pqWm+aa9pv2nEab1ppGnUablpymmaac9ps2mTaappoWmeadlpl2mQacJptWmlacZpSmtNa0trnmufa6Brw2vEa/5rzm71bvFuA28lb/huN2/7bi5vCW9ObxlvGm8nbxhvO28Sb+1uCm82b3Nv+W7ubi1vQG8wbzxvNW/rbgdvDm9DbwVv/W72bjlvHG/8bjpvH28Nbx5vCG8hb4dxkHGJcYBxhXGCcY9xe3GGcYFxl3FEclNyl3KVcpNyQ3NNc1FzTHNidHN0cXR1dHJ0Z3RudAB1AnUDdX11kHUWdgh2DHYVdhF2CnYUdrh2gXd8d4V3gndud4B3b3d+d4N3sniqeLR4rXioeH54q3ieeKV4oHiseKJ4pHiYeYp5i3mWeZV5lHmTeZd5iHmSeZB5K3pKejB6L3ooeiZ6qHqreqx67nqIe5x7inuRe5B7lnuNe4x7m3uOe4V7mHuEUpl7pHuCe7t8v3y8fLp8p323fcJ9o32qfcF9wH3FfZ19zn3EfcZ9y33Mfa99uX2Wfbx9n32mfa59qX2hfcl9c3/if+N/5X/efySAXYBcgImBhoGDgYeBjYGMgYuBFYKXhKSEoYSfhLqEzoTChKyEroSrhLmEtITBhM2EqoSahLGE0ISdhKeEu4SihJSEx4TMhJuEqYSvhKiE1oSYhLaEz4SghNeE1ITShNuEsISRhGGGM4cjhyiHa4dAhy6HHochhxmHG4dDhyyHQYc+h0aHIIcyhyqHLYc8hxKHOocxhzWHQocmhyeHOIckhxqHMIcRh/eI54jxiPKI+oj+iO6I/Ij2iPuI8IjsiOuInYmhiZ+JnonpieuJ6ImripmKi4qSio+Kloo9jGiMaYzVjM+M14yWjQmOAo7/jQ2O/Y0KjgOOB44GjgWO/o0AjgSOEI8Rjw6PDY8jkRyRIJEikR+RHZEakSSRIZEbkXqRcpF5kXORpZKkknaSm5J6kqCSlJKqko2SppKakquSeZKXkn+So5Luko6SgpKVkqKSfZKIkqGSipKGkoySmZKnkn6Sh5Kpkp2Si5Itkp6WoZb/lliXfZd6l36Xg5eAl4KXe5eEl4GXf5fOl82XFpitmK6YApkAmQeZnZmcmcOZuZm7mbqZwpm9mceZsZrjmueaPps/m2CbYZtfm/Gc8pz1nKee/1ADUTBR+FAGUQdR9lD+UAtRDFH9UApRi1KMUvFS71JIVkJWTFY1VkFWSlZJVkZWWFZaVkBWM1Y9VixWPlY4VipWOlYaV6tYnVixWKBYo1ivWKxYpVihWP9Y/1r0Wv1a91r2WgNb+FoCW/laAVsHWwVbD1tnXJldl12fXZJdol2TXZVdoF2cXaFdml2eXWleXV5gXlxe833bXt5e4V5JX7Jfi2GDYXlhsWGwYaJhiWGbYZNhr2GtYZ9hkmGqYaFhjWFmYbNhLWJuZHBklmSgZIVkl2ScZI9ki2SKZIxko2SfZGhksWSYZHZlemV5ZXtlsmWzZbVmsGapZrJmt2aqZq9mAGoGahdq5Wn4aRVq8WnkaSBq/2nsaeJpG2odav5pJ2ryae5pFGr3aedpQGoIauZp+2kNavxp62kJagRqGGolag9q9mkmagdq9GkWalFrpWuja6JrpmsBbABs/2sCbEFvJm9+b4dvxm+Sb41viW+Mb2JvT2+Fb1pvlm92b2xvgm9Vb3JvUm9Qb1dvlG+Tb11vAG9hb2tvfW9nb5BvU2+Lb2lvf2+Vb2Nvd29qb3tvsnGvcZtxsHGgcZpxqXG1cZ1xpXGecaRxoXGqcZxxp3GzcZhymnJYc1JzXnNfc2BzXXNbc2FzWnNZc2Jzh3SJdIp0hnSBdH10hXSIdHx0eXQIdQd1fnUldh52GXYddhx2I3Yadih2G3acdp12nnabdo13j3eJd4h3zXi7eM94zHjReM541HjIeMN4xHjJeJp5oXmgeZx5onmbeXZrOXqyerR6s3q3e8t7vnuse857r3u5e8p7tXvFfMh8zHzLfPd9233qfed9133hfQN++n3mffZ98X3wfe593312f6x/sH+tf+1/63/qf+x/5n/of2SAZ4CjgZ+BnoGVgaKBmYGXgRaCT4JTglKCUIJOglGCJIU7hQ+FAIUphQ6FCYUNhR+FCoUnhRyF+4QrhfqECIUMhfSEKoXyhBWF94TrhPOE/IQSheqE6YQWhf6EKIUdhS6FAoX9hB6F9oQxhSaF54TohPCE74T5hBiFIIUwhQuFGYUvhWKGVodjh2SHd4fhh3OHWIdUh1uHUodhh1qHUYdeh22HaodQh06HX4ddh2+HbId6h26HXIdlh0+He4d1h2KHZ4dph1qIBYkMiRSJC4kXiRiJGYkGiRaJEYkOiQmJoomkiaOJ7YnwieyJz4rGiriK04rRitSK1Yq7iteKvorAisWK2IrDirqKvYrZij6MTYyPjOWM34zZjOiM2ozdjOeMoI2cjaGNm40gjiOOJY4kji6OFY4bjhaOEY4ZjiaOJ44UjhKOGI4TjhyOF44ajiyPJI8YjxqPII8jjxaPF49zkHCQb5BnkGuQL5ErkSmRKpEykSaRLpGFkYaRipGBkYKRhJGAkdCSw5LEksCS2ZK2ks+S8ZLfktiS6ZLXkt2SzJLvksKS6JLKksiSzpLmks2S1ZLJkuCS3pLnktGS05K1kuGSxpK0knyVrJWrla6VsJWklqKW05YFlwiXApdal4qXjpeIl9CXz5cemB2YJpgpmCiYIJgbmCeYspgImfqYEZkUmRaZF5kVmdyZzZnPmdOZ1JnOmcmZ1pnYmcuZ15nMmbOa7JrrmvOa8prxmkabQ5tnm3SbcZtmm3abdZtwm2ibZJtsm/yc+pz9nP+c95wHnQCd+Zz7nAidBZ0EnYOe054PnxCfHFETURdRGlERUd5RNFPhU3BWYFZuVnNWZlZjVm1WclZeVndWHFcbV8hYvVjJWL9YuljCWLxYxlgXWxlbG1shWxRbE1sQWxZbKFsaWyBbHlvvW6xdsV2pXaddtV2wXa5dql2oXbJdrV2vXbRdZ15oXmZeb17pXude5l7oXuVeS1+8X51hqGGWYcVhtGHGYcFhzGG6Yb9huGGMYddk1mTQZM9kyWS9ZIlkw2TbZPNk2WQzZX9lfGWiZchmvmbAZspmy2bPZr1mu2a6ZsxmI2c0amZqSWpnajJqaGo+al1qbWp2altqUWooalpqO2o/akFqampkalBqT2pUam9qaWpgajxqXmpWalVqTWpOakZqVWtUa1Zrp2uqa6tryGvHawRsA2wGbK1vy2+jb8dvvG/Ob8hvXm/Eb71vnm/Kb6hvBHClb65vum+sb6pvz2+/b7hvom/Jb6tvzW+vb7JvsG/FccJxv3G4cdZxwHHBcctx1HHKccdxz3G9cdhxvHHGcdpx23Gdcp5yaXNmc2dzbHNlc2tzanN/dJp0oHSUdJJ0lXShdAt1gHUvdi12MXY9djN2PHY1djJ2MHa7duZ2mnedd6F3nHebd6J3o3eVd5l3l3fdeOl45XjqeN5443jbeOF44njteN944HikeUR6SHpHerZ6uHq1erF6t3ree+N753vde9V75Xvae+h7+XvUe+p74nvce+t72Hvfe9J81HzXfNB80XwSfiF+F34Mfh9+IH4Tfg5+HH4Vfhp+In4Lfg9+Fn4NfhR+JX4kfkN/e398f3p/sX/vfyqAKYBsgLGBpoGugbmBtYGrgbCBrIG0gbKBt4GngfKBVYJWgleCVoVFhWuFTYVThWGFWIVAhUaFZIVBhWKFRIVRhUeFY4U+hVuFcYVOhW6FdYVVhWeFYIWMhWaFXYVUhWWFbIVjhmWGZIabh4+Hl4eTh5KHiIeBh5aHmId5h4eHo4eFh5CHkYedh4SHlIech5qHiYceiSaJMIktiS6JJ4kxiSKJKYkjiS+JLIkfifGJ4IriivKK9Ir1it2KFIvkit+K8IrIit6K4Yroiv+K74r7ipGMkoyQjPWM7ozxjPCM84xsjW6NpY2njTOOPo44jkCORY42jjyOPY5BjjCOP469jjaPLo81jzKPOY83jzSPdpB5kHuQhpD6kDORNZE2kZORkJGRkY2Rj5Enkx6TCJMfkwaTD5N6kziTPJMbkyOTEpMBk0aTLZMOkw2Ty5Idk/qSJZMTk/mS95I0kwKTJJP/kimTOZM1kyqTFJMMkwuT/pIJkwCT+5IWk7yVzZW+lbmVupW2lb+VtZW9lamW1JYLlxKXEJeZl5eXlJfwl/iXNZgvmDKYJJkfmSeZKZmeme6Z7JnlmeSZ8JnjmeqZ6Znnmbmav5q0mrua9pr6mvma95ozm4CbhZuHm3ybfpt7m4Kbk5uSm5CbepuVm32biJslnRedIJ0enRSdKZ0dnRidIp0QnRmdH52Inoaeh56unq2e1Z7WnvqeEp89nyZRJVEiUSRRIFEpUfRSk1aMVo1WhlaEVoNWflaCVn9WgVbWWNRYz1jSWC1bJVsyWyNbLFsnWyZbL1suW3tb8VvyW7ddbF5qXr5fu1/DYbVhvGHnYeBh5WHkYehh3mHvZOlk42TrZORk6GSBZYBltmXaZdJmjWqWaoFqpWqJap9qm2qhap5qh2qTao5qlWqDaqhqpGqRan9qpmqaaoVqjGqSaltrrWsJbMxvqW/0b9Rv42/cb+1v52/mb95v8m/db+Jv6G/hcfFx6HHyceRx8HHicXNzbnNvc5d0snSrdJB0qnStdLF0pXSvdBB1EXUSdQ91hHVDdkh2SXZHdqR26Xa1d6t3sne3d7Z3tHexd6h38HfzeP14Ann7ePx48ngFefl4/ngEeat5qHlcelt6VnpYelR6Wnq+esB6wXoFfA988nsAfP97+3sOfPR7C3zzewJ8CXwDfAF8+Hv9ewZ88HvxexB8CnzofC1+PH5CfjN+SJg4fip+SX5Afkd+KX5MfjB+O342fkR+On5Ff39/fn99f/R/8n8sgLuBxIHMgcqBxYHHgbyB6YFbglqCXIKDhYCFj4WnhZWFoIWLhaOFe4WkhZqFnoV3hXyFiYWhhXqFeIVXhY6FloWGhY2FmYWdhYGFooWChYiFhYV5hXaFmIWQhZ+FaIa+h6qHrYfFh7CHrIe5h7WHvIeuh8mHw4fCh8yHt4evh8SHyoe0h7aHv4e4h72H3oeyhzWJM4k8iT6JQYlSiTeJQomtia+JronyifOJHosYixaLEYsFiwuLIosPixKLFYsHiw2LCIsGixyLE4sai0+McIxyjHGMb4yVjJSM+YxvjU6OTY5TjlCOTI5HjkOPQI+FkH6QOJGakaKRm5GZkZ+RoZGdkaCRoZODk6+TZJNWk0eTfJNYk1yTdpNJk1CTUZNgk22Tj5NMk2qTeZNXk1WTUpNPk3GTd5N7k2GTXpNjk2eTgJNOk1mTx5XAlcmVw5XFlbeVrpawlqyWIJcflxiXHZcZl5qXoZecl56XnZfVl9SX8ZdBmESYSphJmEWYQ5glmSuZLJkqmTOZMpkvmS2ZMZkwmZiZo5mhmQKa+pn0mfeZ+Zn4mfaZ+5n9mf6Z/JkDmr6a/pr9mgGb/JpIm5qbqJuem5ubppuhm6WbpJuGm6KboJuvmzOdQZ1nnTadLp0vnTGdOJ0wnUWdQp1DnT6dN51AnT2d9X8tnYqeiZ6NnrCeyJ7anvue/54knyOfIp9Un6CfMVEtUS5RmFacVpdWmladVplWcFk8W2lcalzAXW1ebl7YYd9h7WHuYfFh6mHwYeth1mHpYf9kBGX9ZPhkAWUDZfxklGXbZdpm22bYZsVquWq9auFqxmq6arZqt2rHarRqrWpea8lrC2wHcAxwDXABcAVwFHAOcP9vAHD7byZw/G/3bwpwAXL/cflxA3L9cXZzuHTAdLV0wXS+dLZ0u3TCdBR1E3VcdmR2WXZQdlN2V3ZadqZ2vXbsdsJ3unf/eAx5E3kUeQl5EHkSeRF5rXmseV96HHwpfBl8IHwffC18HXwmfCh8InwlfDB8XH5QflZ+Y35YfmJ+X35RfmB+V35TfrV/s3/3f/h/dYDRgdKB0IFfgl6CtIXGhcCFw4XChbOFtYW9hceFxIW/hcuFzoXIhcWFsYW2hdKFJIa4hbeFvoVphueH5ofih9uH64fqh+WH34fzh+SH1Ifch9OH7YfYh+OHpIfXh9mHAYj0h+iH3YdTiUuJT4lMiUaJUIlRiUmJKosniyOLM4swizWLR4svizyLPosxiyWLN4smizaLLoskizuLPYs6i0KMdYyZjJiMl4z+jASNAo0AjVyOYo5gjleOVo5ejmWOZ45bjlqOYY5djmmOVI5Gj0ePSI9LjyiROpE7kT6RqJGlkaeRr5GqkbWTjJOSk7eTm5Odk4mTp5OOk6qTnpOmk5WTiJOZk5+TjZOxk5GTspOkk6iTtJOjk6WT0pXTldGVs5bXltqWwl3fltiW3ZYjlyKXJZesl66XqJerl6SXqpeil6WX15fZl9aX2Jf6l1CYUZhSmLiYQZk8mTqZD5oLmgmaDZoEmhGaCpoFmgeaBprAmtyaCJsEmwWbKZs1m0qbTJtLm8ebxpvDm7+bwZu1m7ib05u2m8SbuZu9m1ydU51PnUqdW51LnVmdVp1MnVedUp1UnV+dWJ1anY6ejJ7fngGfAJ8WnyWfK58qnymfKJ9Mn1WfNFE1UZZS91K0U6tWrVamVqdWqlasVtpY3VjbWBJZPVs+Wz9bw11wXr9f+2EHZRBlDWUJZQxlDmWEZd5l3WXeZudq4GrMatFq2WrLat9q3GrQautqz2rNat5qYGuwawxsGXAncCBwFnArcCFwInAjcClwF3AkcBxwKnAMcgpyB3ICcgVypXKmcqRyo3Khcst0xXS3dMN0FnVgdsl3ynfEd/F3HXkbeSF5HHkXeR55sHlnemh6M3w8fDl8LHw7fOx86nx2fnV+eH5wfnd+b356fnJ+dH5ofkt/Sn+Df4Z/t3/9f/5/eIDXgdWBZIJhgmOC64Xxhe2F2YXhheiF2oXXheyF8oX4hdiF34XjhdyF0YXwheaF74XeheKFAIj6hwOI9of3hwmIDIgLiAaI/IcIiP+HCogCiGKJWolbiVeJYYlciViJXYlZiYiJt4m2ifaJUItIi0qLQItTi1aLVItLi1WLUYtCi1KLV4tDjHeMdoyajAaNB40JjayNqo2tjauNbY54jnOOao5vjnuOwo5Sj1GPT49Qj1OPtI9AkT+RsJGtkd6Tx5PPk8KT2pPQk/mT7JPMk9mTqZPmk8qT1JPuk+OT1ZPEk86TwJPSk+eTfZXalduV4ZYplyuXLJcolyaXs5e3l7aX3Zfel9+XXJhZmF2YV5i/mL2Yu5i+mEiZR5lDmaaZp5kamhWaJZodmiSaG5oimiCaJ5ojmh6aHJoUmsKaC5sKmw6bDJs3m+qb65vgm96b5Jvmm+Kb8JvUm9eb7Jvcm9mb5ZvVm+Gb2pt3nYGdip2EnYidcZ2AnXidhp2LnYydfZ1rnXSddZ1wnWmdhZ1znXudgp1vnXmdf52HnWidlJ6RnsCe/J4tn0CfQZ9Nn1afV59YnzdTsla1VrNW41hFW8Zdx13uXu9ewF/BX/lhF2UWZRVlE2XfZehm42bkZvNq8Grqauhq+Wrxau5q72o8cDVwL3A3cDRwMXBCcDhwP3A6cDlwQHA7cDNwQXATchRyqHJ9c3xzunSrdqp2vnbtdsx3znfPd8138ncleSN5J3koeSR5KXmyeW56bHptevd6SXxIfEp8R3xFfO58e35+foF+gH66f/9/eYDbgdmBC4JogmmCIob/hQGG/oUbhgCG9oUEhgmGBYYMhv2FGYgQiBGIF4gTiBaIY4lmibmJ94lgi2qLXYtoi2OLZYtni22Lro2GjoiOhI5Zj1aPV49Vj1iPWo+NkEORQZG3kbWRspGzkQuUE5T7kyCUD5QUlP6TFZQQlCiUGZQNlPWTAJT3kweUDpQWlBKU+pMJlPiTCpT/k/yTDJT2kxGUBpTeleCV35Uuly+XuZe7l/2X/pdgmGKYY5hfmMGYwphQmU6ZWZlMmUuZU5kymjSaMZosmiqaNpopmi6aOJotmseayprGmhCbEpsRmwucCJz3mwWcEpz4m0CcB5wOnAacF5wUnAmcn52ZnaSdnZ2SnZidkJ2bnaCdlJ2cnaqdl52hnZqdop2onZ6do52/namdlp2mnaedmZ6bnpqe5Z7knuee5p4wny6fW59gn16fXZ9Zn5GfOlE5UZhSl1LDVr1WvlZIW0dby13PXfFe/WEbZQJr/GoDa/hqAGtDcERwSnBIcElwRXBGcB1yGnIZcn5zF3VqdtB3LXkxeS95VHxTfPJ8in6Hfoh+i36Gfo1+TX+7fzCA3YEYhiqGJoYfhiOGHIYZhieGLoYhhiCGKYYehiWGKYgdiBuIIIgkiByIK4hKiG2JaYluiWuJ+ol5i3iLRYt6i3uLEI0Uja+Njo6Mjl6PW49dj0aRRJFFkbmRP5Q7lDaUKZQ9lDyUMJQ5lCqUN5QslECUMZTlleSV45U1lzqXv5fhl2SYyZjGmMCYWJlWmTmaPZpGmkSaQppBmjqaP5rNmhWbF5sYmxabOptSmyucHZwcnCycI5wonCmcJJwhnLedtp28ncGdx53Knc+dvp3FncOdu521nc6duZ26naydyJ2xna2dzJ2znc2dsp16npye657unu2eG58YnxqfMZ9On2WfZJ+Sn7lOxlbFVstWcVlLW0xb1V3RXfJeIWUgZSZlImULawhrCWsNbFVwVnBXcFJwHnIfcqlyf3PYdNV02XTXdG12rXY1ebR5cHpxeld8XHxZfFt8Wnz0fPF8kX5Pf4d/3oFrgjSGNYYzhiyGMoY2hiyIKIgmiCqIJYhxib+Jvon7iX6LhIuCi4aLhYt/ixWNlY6UjpqOko6QjpaOl45gj2KPR5FMlFCUSpRLlE+UR5RFlEiUSZRGlD+X45dqmGmYy5hUmVuZTppTmlSaTJpPmkiaSppJmlKaUJrQmhmbK5s7m1abVZtGnEicP5xEnDmcM5xBnDycN5w0nDKcPZw2nNud0p3endqdy53Qndyd0Z3fnemd2Z3Yndad9Z3Vnd2dtp7wnjWfM58yn0Kfa5+Vn6KfPVGZUuhY51hyWU1b2F0viE9fAWIDYgRiKWUlZZZl62YRaxJrD2vKa1twWnAicoJzgXODc3B21HdnfGZ8lX5sgjqGQIY5hjyGMYY7hj6GMIgyiC6IM4h2iXSJc4n+iYyLjouLi4iLRYwZjZiOZI9jj7yRYpRVlF2UV5RelMSXxZcAmFaaWZoemx+bIJtSnFicUJxKnE2cS5xVnFmcTJxOnPud953vneOd6534neSd9p3hne6d5p3ynfCd4p3snfSd853one2dwp7QnvKe854GnxyfOJ83nzafQ59Pn3GfcJ9un2+f01bNVk5bbVwtZe1m7mYTa19wYXBdcGBwI3LbdOV01Xc4ebd5tnlqfJd+iX9tgkOGOIg3iDWIS4iUi5WLno6fjqCOnY6+kb2RwpFrlGiUaZTllkaXQ5dHl8eX5ZdemtWaWZtjnGecZpxinF6cYJwCnv6dB54DngaeBZ4AngGeCZ7/nf2dBJ6gnh6fRp90n3Wfdp/UVi5luGUYaxlrF2saa2JwJnKqcth32Xc5eWl8a3z2fJp+mH6bfpl+4IHhgUaGR4ZIhnmJeol8iXuJ/4mYi5mLpY6kjqOObpRtlG+UcZRzlEmXcphfmWicbpxtnAueDZ4Qng+eEp4RnqGe9Z4Jn0efeJ97n3qfeZ8eV2Zwb3w8iLKNpo7DkXSUeJR2lHWUYJp0nHOccZx1nBSeE572ngqfpJ9ocGVw93xqhj6IPYg/iJ6LnIypjsmOS5dzmHSYzJhhmauZZJpmmmeaJJsVnheeSJ8HYh5rJ3JMhqiOgpSAlIGUaZpomi6bGZ4pckuGn4uDlHmct551dmuaepwdnmlwanCknn6fSZ+Yn4F4uZLPiLtYUmCnfPpaVCVmJVclYCVsJWMlWiVpJV0lUiVkJVUlXiVqJWElWCVnJVslUyVlJVYlXyVrJWIlWSVoJVwlUSVQJW0lbiVwJW8lkyUAAAAAAAAAMAEwAjC3ACUgJiCoAAMwrQAVICUiPP88IhggGSAcIB0gFDAVMAgwCTAKMAswDDANMA4wDzAQMBEwsQDXAPcAYCJkImUiHiI0IrAAMiAzIAMhKyHg/+H/5f9CJkAmICKlIhIjAiIHImEiUiKnADsgBiYFJsslzyXOJcclxiWhJaAlsyWyJb0lvCWSIZAhkSGTIZQhEzBqImsiGiI9Ih0iNSIrIiwiCCILIoYihyKCIoMiKiIpIiciKCLi/9Ih1CEAIgMitABe/8cC2ALdAtoC2QK4ANsCoQC/ANACLiIRIg8ipAAJITAgwSXAJbcltiVkJmAmYSZlJmcmYyaZIsgloyXQJdElkiWkJaUlqCWnJaYlqSVoJg8mDiYcJh4mtgAgICEglSGXIZkhliGYIW0maSZqJmwmfzIcMhYhxzMiIcIz2DMhIawgrgBBiO8GC4wDAf8C/wP/BP8F/wb/B/8I/wn/Cv8L/wz/Df8O/w//EP8R/xL/E/8U/xX/Fv8X/xj/Gf8a/xv/HP8d/x7/H/8g/yH/Iv8j/yT/Jf8m/yf/KP8p/yr/K/8s/y3/Lv8v/zD/Mf8y/zP/NP81/zb/N/84/zn/Ov87/+b/Pf8+/z//QP9B/0L/Q/9E/0X/Rv9H/0j/Sf9K/0v/TP9N/07/T/9Q/1H/Uv9T/1T/Vf9W/1f/WP9Z/1r/W/9c/13/4/8xMTIxMzE0MTUxNjE3MTgxOTE6MTsxPDE9MT4xPzFAMUExQjFDMUQxRTFGMUcxSDFJMUoxSzFMMU0xTjFPMVAxUTFSMVMxVDFVMVYxVzFYMVkxWjFbMVwxXTFeMV8xYDFhMWIxYzFkMWUxZjFnMWgxaTFqMWsxbDFtMW4xbzFwMXExcjFzMXQxdTF2MXcxeDF5MXoxezF8MX0xfjF/MYAxgTGCMYMxhDGFMYYxhzGIMYkxijGLMYwxjTGOMXAhcSFyIXMhdCF1IXYhdyF4IXkhAEGe8gYLFGAhYSFiIWMhZCFlIWYhZyFoIWkhAEHA8gYLMJEDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQOjA6QDpQOmA6cDqAOpAwBBgPMGCzCxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwwPEA8UDxgPHA8gDyQMAQb3zBguHASUCJQwlECUYJRQlHCUsJSQlNCU8JQElAyUPJRMlGyUXJSMlMyUrJTslSyUgJS8lKCU3JT8lHSUwJSUlOCVCJRIlESUaJRklFiUVJQ4lDSUeJR8lISUiJSYlJyUpJSolLSUuJTElMiU1JTYlOSU6JT0lPiVAJUElQyVEJUUlRiVHJUglSSVKJQBB+PQGC54BlTOWM5czEyGYM8QzozOkM6UzpjOZM5ozmzOcM50znjOfM6AzoTOiM8ozjTOOM48zzzOIM4kzyDOnM6gzsDOxM7IzszO0M7UztjO3M7gzuTOAM4EzgjODM4QzujO7M7wzvTO+M78zkDORM5IzkzOUMyYhwDPBM4ozizOMM9YzxTOtM64zrzPbM6kzqjOrM6wz3TPQM9MzwzPJM9wzxjMAQbT2BgueBMYA0ACqACYBAAAyAQAAPwFBAdgAUgG6AN4AZgFKAQAAYDJhMmIyYzJkMmUyZjJnMmgyaTJqMmsybDJtMm4ybzJwMnEycjJzMnQydTJ2MncyeDJ5MnoyezLQJNEk0iTTJNQk1STWJNck2CTZJNok2yTcJN0k3iTfJOAk4STiJOMk5CTlJOYk5yToJOkkYCRhJGIkYyRkJGUkZiRnJGgkaSRqJGskbCRtJG4kvQBTIVQhvAC+AFshXCFdIV4h5gARAfAAJwExATMBOAFAAUIB+ABTAd8A/gBnAUsBSQEAMgEyAjIDMgQyBTIGMgcyCDIJMgoyCzIMMg0yDjIPMhAyETISMhMyFDIVMhYyFzIYMhkyGjIbMpwknSSeJJ8koCShJKIkoySkJKUkpiSnJKgkqSSqJKskrCStJK4krySwJLEksiSzJLQktSR0JHUkdiR3JHgkeSR6JHskfCR9JH4kfySAJIEkgiS5ALIAswB0IH8ggSCCIIMghCBBMEIwQzBEMEUwRjBHMEgwSTBKMEswTDBNME4wTzBQMFEwUjBTMFQwVTBWMFcwWDBZMFowWzBcMF0wXjBfMGAwYTBiMGMwZDBlMGYwZzBoMGkwajBrMGwwbTBuMG8wcDBxMHIwczB0MHUwdjB3MHgweTB6MHswfDB9MH4wfzCAMIEwgjCDMIQwhTCGMIcwiDCJMIowizCMMI0wjjCPMJAwkTCSMJMwAEHo+gYLrAGhMKIwozCkMKUwpjCnMKgwqTCqMKswrDCtMK4wrzCwMLEwsjCzMLQwtTC2MLcwuDC5MLowuzC8ML0wvjC/MMAwwTDCMMMwxDDFMMYwxzDIMMkwyjDLMMwwzTDOMM8w0DDRMNIw0zDUMNUw1jDXMNgw2TDaMNsw3DDdMN4w3zDgMOEw4jDjMOQw5TDmMOcw6DDpMOow6zDsMO0w7jDvMPAw8TDyMPMw9DD1MPYwAEGk/AYLQhAEEQQSBBMEFAQVBAEEFgQXBBgEGQQaBBsEHAQdBB4EHwQgBCEEIgQjBCQEJQQmBCcEKAQpBCoEKwQsBC0ELgQvBABBhP0GC0IwBDEEMgQzBDQENQRRBDYENwQ4BDkEOgQ7BDwEPQQ+BD8EQARBBEIEQwREBEUERgRHBEgESQRKBEsETARNBE4ETwQAQZWCBwvbJKwBrASsB6wIrAmsCqwQrBGsEqwTrBSsFawWrBesGawarBusHKwdrCCsJKwsrC2sL6wwrDGsOKw5rDysQKxLrE2sVKxYrFyscKxxrHSsd6x4rHqsgKyBrIOshKyFrIasiayKrIusjKyQrJSsnKydrJ+soKyhrKisqayqrKysr6ywrLisuay7rLysvazBrMSsyKzMrNWs16zgrOGs5KznrOis6qzsrO+s8KzxrPOs9az2rPys/awArQStBq0MrQ2tD60RrRitHK0grSmtLK0trTStNa04rTytRK1FrUetSa1QrVStWK1hrWOtbK1trXCtc610rXWtdq17rXytfa1/rYGtgq2IrYmtjK2QrZytna2krbetwK3BrcStyK3QrdGt063creCt5K34rfmt/K3/rQCuAa4IrgmuC64NrhSuMK4xrjSuN644rjquQK5BrkOuRa5GrkquTK5Nrk6uUK5UrlauXK5drl+uYK5hrmWuaK5prmyucK54rnmue658rn2uhK6FroyuvK69rr6uwK7Ersyuza7PrtCu0a7Yrtmu3K7oruuu7a70rviu/K4HrwivDa8QryyvLa8wrzKvNK88rz2vP69Br0KvQ69Ir0mvUK9cr12vZK9lr3mvgK+Er4ivkK+Rr5WvnK+4r7mvvK/Ar8evyK/Jr8uvza/Or9Sv3K/or+mv8K/xr/Sv+K8AsAGwBLAMsBCwFLAcsB2wKLBEsEWwSLBKsEywTrBTsFSwVbBXsFmwXbB8sH2wgLCEsIywjbCPsJGwmLCZsJqwnLCfsKCwobCisKiwqbCrsKywrbCusK+wsbCzsLSwtbC4sLywxLDFsMewyLDJsNCw0bDUsNiw4LDlsAixCbELsQyxELESsROxGLEZsRuxHLEdsSOxJLElsSixLLE0sTWxN7E4sTmxQLFBsUSxSLFQsVGxVLFVsVixXLFgsXixebF8sYCxgrGIsYmxi7GNsZKxk7GUsZixnLGoscyx0LHUsdyx3bHfseix6bHssfCx+bH7sf2xBLIFsgiyC7IMshSyFbIXshmyILI0sjyyWLJcsmCyaLJpsnSydbJ8soSyhbKJspCykbKUspiymbKasqCyobKjsqWyprKqsqyysLK0ssiyybLMstCy0rLYstmy27LdsuKy5LLlsuay6LLrsuyy7bLusu+y87L0svWy97L4svmy+rL7sv+yALMBswSzCLMQsxGzE7MUsxWzHLNUs1WzVrNYs1uzXLNes1+zZLNls2ezabNrs26zcLNxs3SzeLOAs4Gzg7OEs4WzjLOQs5SzoLOhs6izrLPEs8WzyLPLs8yzzrPQs9Sz1bPXs9mz27Pds+Cz5LPos/yzELQYtBy0ILQotCm0K7Q0tFC0UbRUtFi0YLRhtGO0ZbRstIC0iLSdtKS0qLSstLW0t7S5tMC0xLTItNC01bTctN204LTjtOS05rTstO2077TxtPi0FLUVtRi1G7UctSS1JbUntSi1KbUqtTC1MbU0tTi1QLVBtUO1RLVFtUu1TLVNtVC1VLVctV21X7VgtWG1oLWhtaS1qLWqtau1sLWxtbO1tLW1tbu1vLW9tcC1xLXMtc21z7XQtdG12LXstRC2EbYUthi2JbYstjS2SLZktmi2nLadtqC2pLartqy2sbbUtvC29Lb4tgC3AbcFtyi3Kbcsty+3MLc4tzm3O7dEt0i3TLdUt1W3YLdkt2i3cLdxt3O3dbd8t323gLeEt4y3jbePt5C3kbeSt5a3l7eYt5m3nLegt6i3qbert6y3rbe0t7W3uLfHt8m37Lftt/C39Lf8t/23/7cAuAG4B7gIuAm4DLgQuBi4GbgbuB24JLgluCi4LLg0uDW4N7g4uDm4QLhEuFG4U7hcuF24YLhkuGy4bbhvuHG4eLh8uI24qLiwuLS4uLjAuMG4w7jFuMy40LjUuN2437jhuOi46bjsuPC4+Lj5uPu4/bgEuRi5ILk8uT25QLlEuUy5T7lRuVi5WblcuWC5aLlpuWu5bbl0uXW5eLl8uYS5hbmHuYm5irmNuY65rLmtubC5tLm8ub25v7nBuci5ybnMuc65z7nQudG50rnYudm527ndud654bnjueS55bnouey59Ln1ufe5+Ln5ufq5ALoBugi6Fbo4ujm6PLpAukK6SLpJuku6TbpOulO6VLpVuli6XLpkumW6Z7poumm6cLpxunS6eLqDuoS6hbqHuoy6qLqpuqu6rLqwurK6uLq5uru6vbrEusi62LrZuvy6ALsEuw27D7sRuxi7HLsguym7K7s0uzW7Nrs4uzu7PLs9uz67RLtFu0e7SbtNu0+7ULtUu1i7Ybtju2y7iLuMu5C7pLuou6y7tLu3u8C7xLvIu9C707v4u/m7/Lv/uwC8ArwIvAm8C7wMvA28D7wRvBS8FbwWvBe8GLwbvBy8HbwevB+8JLwlvCe8KbwtvDC8Mbw0vDi8QLxBvEO8RLxFvEm8TLxNvFC8XbyEvIW8iLyLvIy8jryUvJW8l7yZvJq8oLyhvKS8p7yovLC8sbyzvLS8tby8vL28wLzEvM28z7zQvNG81bzYvNy89Lz1vPa8+Lz8vAS9Bb0HvQm9EL0UvSS9LL1AvUi9Sb1MvVC9WL1ZvWS9aL2AvYG9hL2HvYi9ib2KvZC9kb2TvZW9mb2avZy9pL2wvbi91L3Vvdi93L3pvfC99L34vQC+A74Fvgy+Db4QvhS+HL4dvh++RL5Fvki+TL5OvlS+Vb5Xvlm+Wr5bvmC+Yb5kvmi+ar5wvnG+c750vnW+e758vn2+gL6Evoy+jb6PvpC+kb6Yvpm+qL7QvtG+1L7Xvti+4L7jvuS+5b7svgG/CL8Jvxi/Gb8bvxy/Hb9Av0G/RL9Iv1C/Ub9Vv5S/sL/Fv8y/zb/Qv9S/3L/fv+G/PMBRwFjAXMBgwGjAacCQwJHAlMCYwKDAocCjwKXArMCtwK/AsMCzwLTAtcC2wLzAvcC/wMDAwcDFwMjAycDMwNDA2MDZwNvA3MDdwOTA5cDowOzA9MD1wPfA+cAAwQTBCMEQwRXBHMEdwR7BH8EgwSPBJMEmwSfBLMEtwS/BMMExwTbBOME5wTzBQMFIwUnBS8FMwU3BVMFVwVjBXMFkwWXBZ8FowWnBcMF0wXjBhcGMwY3BjsGQwZTBlsGcwZ3Bn8GhwaXBqMGpwazBsMG9wcTByMHMwdTB18HYweDB5MHowfDB8cHzwfzB/cEAwgTCDMINwg/CEcIYwhnCHMIfwiDCKMIpwivCLcIvwjHCMsI0wkjCUMJRwlTCWMJgwmXCbMJtwnDCdMJ8wn3Cf8KBwojCicKQwpjCm8KdwqTCpcKowqzCrcK0wrXCt8K5wtzC3cLgwuPC5MLrwuzC7cLvwvHC9sL4wvnC+8L8wgDDCMMJwwzDDcMTwxTDFcMYwxzDJMMlwyjDKcNFw2jDacNsw3DDcsN4w3nDfMN9w4TDiMOMw8DD2MPZw9zD38Pgw+LD6MPpw+3D9MP1w/jDCMQQxCTELMQwxDTEPMQ9xEjEZMRlxGjEbMR0xHXEecSAxJTEnMS4xLzE6cTwxPHE9MT4xPrE/8QAxQHFDMUQxRTFHMUoxSnFLMUwxTjFOcU7xT3FRMVFxUjFScVKxUzFTcVOxVPFVMVVxVfFWMVZxV3FXsVgxWHFZMVoxXDFccVzxXTFdcV8xX3FgMWExYfFjMWNxY/FkcWVxZfFmMWcxaDFqcW0xbXFuMW5xbvFvMW9xb7FxMXFxcbFx8XIxcnFysXMxc7F0MXRxdTF2MXgxeHF48XlxezF7cXuxfDF9MX2xffF/MX9xf7F/8UAxgHGBcYGxgfGCMYMxhDGGMYZxhvGHMYkxiXGKMYsxi3GLsYwxjPGNMY1xjfGOcY7xkDGQcZExkjGUMZRxlPGVMZVxlzGXcZgxmzGb8ZxxnjGecZ8xoDGiMaJxovGjcaUxpXGmMacxqTGpcanxqnGsMaxxrTGuMa5xrrGwMbBxsPGxcbMxs3G0MbUxtzG3cbgxuHG6MbpxuzG8Mb4xvnG/cYExwXHCMcMxxTHFccXxxnHIMchxyTHKMcwxzHHM8c1xzfHPMc9x0DHRMdKx0zHTcdPx1HHUsdTx1THVcdWx1fHWMdcx2DHaMdrx3THdcd4x3zHfcd+x4PHhMeFx4fHiMeJx4rHjseQx5HHlMeWx5fHmMeax6DHocejx6THpcemx6zHrcewx7THvMe9x7/HwMfBx8jHycfMx87H0MfYx93H5Mfox+zHAMgByATICMgKyBDIEcgTyBXIFsgcyB3IIMgkyCzILcgvyDHIOMg8yEDISMhJyEzITchUyHDIcch0yHjIesiAyIHIg8iFyIbIh8iLyIzIjciUyJ3In8ihyKjIvMi9yMTIyMjMyNTI1cjXyNnI4MjhyOTI9cj8yP3IAMkEyQXJBskMyQ3JD8kRyRjJLMk0yVDJUclUyVjJYMlhyWPJbMlwyXTJfMmIyYnJjMmQyZjJmcmbyZ3JwMnBycTJx8nIycrJ0MnRydPJ1cnWydnJ2sncyd3J4MniyeTJ58nsye3J78nwyfHJ+Mn5yfzJAMoIygnKC8oMyg3KFMoYyinKTMpNylDKVMpcyl3KX8pgymHKaMp9yoTKmMq8yr3KwMrEyszKzcrPytHK08rYytnK4MrsyvTKCMsQyxTLGMsgyyHLQctIy0nLTMtQy1jLWctdy2TLeMt5y5zLuMvUy+TL58vpywzMDcwQzBTMHMwdzCHMIswnzCjMKcwszC7MMMw4zDnMO8w8zD3MPsxEzEXMSMxMzFTMVcxXzFjMWcxgzGTMZsxozHDMdcyYzJnMnMygzKjMqcyrzKzMrcy0zLXMuMy8zMTMxczHzMnM0MzUzOTM7MzwzAHNCM0JzQzNEM0YzRnNG80dzSTNKM0szTnNXM1gzWTNbM1tzW/Ncc14zYjNlM2VzZjNnM2kzaXNp82pzbDNxM3MzdDN6M3szfDN+M35zfvN/c0EzgjODM4UzhnOIM4hziTOKM4wzjHOM841zljOWc5czl/OYM5hzmjOac5rzm3OdM51znjOfM6EzoXOh86JzpDOkc6UzpjOoM6hzqPOpM6lzqzOrc7BzuTO5c7ozuvO7M70zvXO9874zvnOAM8BzwTPCM8QzxHPE88VzxzPIM8kzyzPLc8vzzDPMc84z1TPVc9Yz1zPZM9lz2fPac9wz3HPdM94z4DPhc+Mz6HPqM+wz8TP4M/hz+TP6M/wz/HP88/1z/zPANAE0BHQGNAt0DTQNdA40DzQRNBF0EfQSdBQ0FTQWNBg0GzQbdBw0HTQfNB90IHQpNCl0KjQrNC00LXQt9C50MDQwdDE0MjQydDQ0NHQ09DU0NXQ3NDd0ODQ5NDs0O3Q79Dw0PHQ+NAN0TDRMdE00TjROtFA0UHRQ9FE0UXRTNFN0VDRVNFc0V3RX9Fh0WjRbNF80YTRiNGg0aHRpNGo0bDRsdGz0bXRutG80cDR2NH00fjRB9IJ0hDSLNIt0jDSNNI80j3SP9JB0kjSXNJk0oDSgdKE0ojSkNKR0pXSnNKg0qTSrNKx0rjSudK80r/SwNLC0sjSydLL0tTS2NLc0uTS5dLw0vHS9NL40gDTAdMD0wXTDNMN0w7TENMU0xbTHNMd0x/TINMh0yXTKNMp0yzTMNM40znTO9M80z3TRNNF03zTfdOA04TTjNON04/TkNOR05jTmdOc06DTqNOp06vTrdO007jTvNPE08XTyNPJ09DT2NPh0+PT7NPt0/DT9NP80/3T/9MB1AjUHdRA1ETUXNRg1GTUbdRv1HjUedR81H/UgNSC1IjUidSL1I3UlNSp1MzU0NTU1NzU39To1OzU8NT41PvU/dQE1QjVDNUU1RXVF9U81T3VQNVE1UzVTdVP1VHVWNVZ1VzVYNVl1WjVadVr1W3VdNV11XjVfNWE1YXVh9WI1YnVkNWl1cjVydXM1dDV0tXY1dnV29Xd1eTV5dXo1ezV9NX11ffV+dUA1gHWBNYI1hDWEdYT1hTWFdYc1iDWJNYt1jjWOdY81kDWRdZI1knWS9ZN1lHWVNZV1ljWXNZn1mnWcNZx1nTWg9aF1ozWjdaQ1pTWndaf1qHWqNas1rDWuda71sTWxdbI1szW0dbU1tfW2dbg1uTW6Nbw1vXW/Nb91gDXBNcR1xjXGdcc1yDXKNcp1yvXLdc01zXXONc810TXR9dJ11DXUddU11bXV9dY11nXYNdh12PXZddp12zXcNd013zXfdeB14jXideM15DXmNeZ15vXndcAQayoBwvrTD1Pc09HUPlQoFLvU3VU5VQJVsFatluHZrZnt2fvZ0xrwnPCdTx624IEg1eIiIg2isiMz437juaP1Zk7UnRTBFRqYGRhvGvPcxqBuonSiaOVg08KUr5YeFnmWXJeeV7HYcBjRmfsZ39ol29Odgt39XgIev96IXydgG6CcYLripOVa06dVfdmNG6jeO16W4QQiU6HqJfYUk5XKlhMXR9hvmEhYmJl0WdEahtuGHWzdeN2sHc6fa+QUZRSlJWfI1OsXDJ124BAkpiVW1IIWNxZoVwXXbdeOl9KX3dhX2x6dYZ14HxzfbF9jH9UgSGCkYVBiRuL/JJNlkecy073TgtQ8VFPWDdhPmFoYTll6mkRb6V1hnbWdod7pYLLhAD5p5OLlYBVoltRVwH5s3y5f7WRKFC7U0Vc6F3SYm5j2mTnZCBurHBbed2NHo4C+X2QRZL4kn5O9k5lUP5d+l4GYVdpcYFUhkeOdZMrml5OkVBwZ0BoCVGNUpJSomq8dxCS1J6rUi9g8o9IUKlh7WPKZDxohGrAb4iBoYmUlgVYfXKscgR1eX1tfqmAi4l0i2OQUZ2JYnpsVG9QfTp/I4p8UUphnXsZi1eSjJOsTtNPHlC+UAZRwVLNUn9TcFeDWJpekV92YaxhzmRsZW9mu2b0Zpdoh22FcPFwn3SldMp02XVseOx433r2ekV9k30VgD+AG4GWg2aLFY8VkOGTA5g4mFqa6JvCT1NVOlhRWWNbRly4YBJiQmiwaOhoqm5MdXh2zng9evt8a358fgiKoYo/jI6WxJ3kU+lTSlRxVPpW0VlkWztcq173YjdlRWVyZaBmr2fBab1s/HWQdn53P3qUfwOAoYCPgeaC/YLwg8GFMYi0iKWKA/mcjy6Tx5ZnmNiaE5/tVJtl8maPaEB6N4xgnfBWZFcRXQZmsWjNaP5uKHSeiOSbaGwE+aiam09sUXFRn1JUW+VdUGBtYPFip2M7ZdlzenqjhqKMj5cyTuFbCGKcZ9x00XnTg4eKsorojU6QS5NGmNNe6Gn/he2QBfmgUZhb7FtjYfpoPmtMcC902HShe1B/xYPAiauM3JUomS5SXWDsYgKQik9JUSFT2VjjXuBmOG2acMJy1nNQe/GAW5RmU5tja39WToBQSljeWCpgJ2HQYtBpQZuPWxh9sYBfj6RO0VCsVKxVDFugXeddKmVOZSFoS2rhco5273deffl/oIFOhd+GA49Oj8qQA5lVmqubGE5FTl1Ox07xT3dR/lJAU+NT5VOOVBRWdVeiV8dbh13QXvxh2GJRZbhn6WfLaVBrxmvsa0JsnW54cNdylnMDdL936Xd2en99CYD8gQWCCoLfgmKIM4v8jMCOEZCxkGSStpLSmUWa6ZzXnZyfC1dAXMqDoJerl7SeG1SYeqR/2YjNjuGQAFhIXJhjn3quWxNfeXqueo6CrI4mUDhS+FJ3UwhX82JyYwprw203d6VTV3NohXaO1ZU6Z8NqcG9tisyOS5kG+XdmeGu0jDybB/nrUy1XTlnGY/tp6nNFeLp6xXr+fHWEj4lzjTWQqJX7UkdXR3Vge8yDHpII+VhqS1FLUodSH2LYaHVpmZbFUKRS5FLDYaRlOWj/aX50S3u5guuDsok5i9GPSZkJ+cpOl1nSZBFmjmo0dIF5vXmpgn6If4hfiQr5JpMLT8pTJWBxYnJsGn1mfZhOYlHcd6+AAU8OT3ZRgFHcVWhWO1f6V/xXFFlHWZNZxFuQXA5d8V1+XsxfgGLXZeNlHmcfZ15ny2jEaF9qOmsjbH1sgmzHbZhzJnQqdIJ0o3R4dX91gXjveEF5R3lIeXp5lXsAfbp9iH8GgC2AjIAYik+LSIx3jSGTJJPimFGZDpoPmmWakp7KfXZPCVTuYlRo0ZGrVTpRC/kM+Rxa5mEN+c9i/2IO+Q/5EPkR+RL5E/mjkBT5FfkW+Rf5GPn+ihn5Gvkb+Rz5lmYd+VZxHvkf+eOWIPlPY3pjV1Mh+Y9nYGlzbiL5N3Uj+ST5JfkNfSb5J/lyiMpWGFoo+Sn5Kvkr+Sz5Q04t+WdRSFnwZxCALvlzWXRemmTKefVfbGDIYntj51vXW6pSL/l0WSlfEmAw+TH5MvlZdDP5NPk1+Tb5N/k4+dGZOfk6+Tv5PPk9+T75P/lA+UH5QvlD+cNvRPlF+b+Bso/xYEb5R/lmgUj5Sfk/XEr5S/lM+U35TvlP+VD5UfnpWiWKe2cQfVL5U/lU+VX5VvlX+f2AWPlZ+Txc5Ww/U7puGlk2gzlOtk5GT65VGFfHWFZft2XmZYBqtWtNbu1373oefN59y4aSiDKRW5O7ZL5venO4dVSQVlVNV7ph1GTHZuFtW25tb7lv8HVDgL2BQYWDiceKWosfk5NsU3VUew+OXZAQVQJYWFhiXgdinmTgaHZ11nyzh+ie406IV25XJ1kNXLFcNl6FXzRi4WSzc/qBi4i4jIqW256FW7dfs2ASUABSMFIWVzVYV1gOXGBc9lyLXaZekl+8YBFjiWMXZENo+WjCathtIW7UbuRv/nHcdnl3sXk7egSEqYntjPONSI4DkBSQU5D9kE2Tdpbcl9JrBnBYcqJyaHNjd7955HubfoCLqVjHYGZl/WW+ZoxsHnHJcVqME5htToF63U6sUc1R1VIMVKdhcWdQaN9oHm18b7x1s3flevSAY4SFklxRl2VcZ5Nn2HXHenODWvlGjBeQLZhvXMCBmoJBkG+QDZKXX51dWWrIcXt2SXvkhQSLJ5EwmodV9mFb+Wl2hX8/hrqH+IiPkFz5G23ZcN5zYX09hF35apHxmV75gk51UwRrEms+cBtyLYYenkxSo49QXeVkLGUWa+tvQ3ycfs2FZIm9icli2IEfiMpeF2dqbfxyBXRvdIKH3pCGTw1doF8KhLdRoGNlda5OBlBpUclRgWgRaq58sXznfG+C0oobj8+Rtk83UfVSQlTsXm5hPmLFZdpq/m8qedyFI4itlWKaapqXns6em1LGZndrHXAreWKPQpeQYQBiI2Ujb0lxiXT0fW+A7oQmjyOQSpO9URdSo1IMbchwwojJXoJlrmvCbz58dXPkTjZP+VZf+bpcul0cYLJzLXuaf85/RoAekDSS9pZIlxiYYZ+LT6dvrnm0kbeW3lJg+YhkxGTTal5vGHAQcud2AYAGhlyG740FjzKXb5v6nXWejHh/eaB9yYMEk3+ek57Wit9YBF8nZydwz3RgfH6AIVEocGJyynjCjNqM9Iz3loZO2lDuW9ZemWXOcUJ2rXdKgPyEfJAnm42f2FhBWmJcE2rabQ9vO3YvfTd+HoU4ieSTS5aJUtJl82e0aUFtnG4PcAl0YHRZdSR2a3gsi16YbVEuYniWlk8rUBld6m24fSqPi19EYRdoYfmGltJSi4DcUcxRXmkcer598YN1ltpPKVKYUw9UDlVlXKdgTmeoaGxtgXL4cgZ0g3Ri+eJ1bHx5f7h/iYPPiOGIzJHQkeKWyZsdVH5v0HGYdPqFqo6jllecn56XZ8ttM3TogRaXLHjLeiB7knxpZGp08nW8eOh4rJlUm7ue3ltVXiBvnIGrg4iQB05NUyla0l1OX2JhPWNpZvxm/24rb2NwnncshBOFO4gTj0WZO5wcVbliK2erbAmDaol6l6FOhFnYX9lfG2eyfVR/koIrg72DHo+ZkMtXuVmSWtBbJ2aaZ4Voz2tkcXV/t4zjjIGQRZsIgYqMTJZAmqWeX1sTbBtz8nbfdgyEqlGTiU1RlVHJUslolGwEdyB3v33sfWKXtZ7FbhGFpVENVH1UDmadZidpn26/dpF3F4PChJ+HaZGYkvScgoiuT5JR31LGWT1eVWF4ZHlkrmbQZyFqzWvba19yYXJBdDh323cXgLyCBYMAiyiLjIwoZ5BsZ3LudmZ3RnqpnX9rkmwiWSZnmYRvU5NYmVnfXs9jNGZzZzpuK3PXeteCKJPZUutdrmHLYQpix2KrZOBlWWlma8trIXH3c111Rn4eggKDaoWjir+MJ5dhnahY2J4RUA5SO1RPVYdldmwKfQt9XoCKhoCV75b/UpVsaXJzVJpaPlxLXUxfrl8qZ7ZoY2k8bkRuCXdzfI5/h4UOi/ePYZf0nrdctmANYathT2X7ZfxlEWzvbJ9zyXPhfZSVxlschxCLXVJaU81iD2SyZDRnOGrKbMBznnSUe5V8G36KgTaChIXrj/mWwZk0T0pTzVPbU8xiLGQAZZFlw2nubFhv7XNUdSJ25Hb8dtB4+3gseUZ9LILgh9SPEpjvmMNS1GKlZCRuUW98dsuNsZFiku6aQ5sjUI1QSleoWShcR153Xz9iPmW5ZcFlCWaLZ5xpwm7FeCF9qoCAgSuCs4KhhIyGKooXi6aQMpaQnw1Q809j+flXmF/cYpJjb2dDbhlxw3bMgNqA9Ij1iBmJ4Iwpj02RapYvT3BPG17PZyJofXZ+dkSbYV4Kamlx1HFqdWT5QX5DhemF3JgQT097cH+lleFRBl61aD5sTmzbbK9yxHsDg9VsOnT7UIhSwVjYZJdqp3RWdqd4F4bilTmXZfleUwFfiouoj6+PipAlUqV3SZwInxlOAlB1UVtcd14eZjpmxGfFaLNwAXXFdcl53XonjyCZCJrdTyFYMVj2W25mZWsRbXpufW/kcyt16YPciBOJXIsUjw9P1VAQU1xTk1upXw1nj3l5gS+DFIUHiYaJOY87j6WZEpwsZ3ZO+E9JWQFc71zwXGdj0mj9cKJxK3QrfuyEAocikNKS85wNTthO70+FUFZSb1ImVJBU4FcrWWZaWlt1W8xbnF5m+XZid2WnZW5tpW42ciZ7P3w2f1CBUYGagUCCmYKpgwOKoIzmjPuMdI26jeiQ3JEclkSW2ZnnnBdTBlIpVHRWs1hUWW5Z/1+kYW5iEGZ+bBpxxnaJfN58G32sgsGM8JZn+VtPF19/X8JiKV0LZ9pofHhDfmydFU6ZUBVTKlNRU4NZYlqHXrJgimFJYnlikGWHZ6dp1GvWa9dr2Gu4bGj5NXT6dRJ4kXjVedh5g3zLfeF/pYA+gcKB8oMah+iIuYpsi7uMGZFel9uYO5+sVipbbF+MZbNqr2tcbfFvFXBdcq1zp4zTjDuYkWE3bFiAAZpNTotOm07VTjpPPE9/T99P/1DyU/hTBlXjVdtW61hiWRFa61v6WwRc810rXplfHWBoY5xlr2X2Z/tnrWh7a5ls12wjbglwRXMCeD55QHlgecF56XsXfXJ9hoANgo6D0YTHht+IUIpeih2L3Ixmja2PqpD8mN+ZnZ5KUmn5FGdq+ZhQKlJxXGNlVWzKcyN1nXWXe5yEeJEwl3dOkmS6a15xqYUJTmv5SWfuaBdun4IYhWuI92OBbxKSr5gKTrdQz1AfUUZVqlUXVkBbGVzgXDheil6gXsJe82BRaGFqWG49ckBywHL4dmV5sXvUf/OI9IlzimGM3owcl15YvXT9jMdVbPlheiJ9coJych91JXVt+Rl7hVj7WLxdj162XpBfVWCSYn9jTWWRZtlm+GYWaPJogHJedG57bn3WfXJ/5YASgq+Ff4mTih2Q5JLNniCfFVltWS1e3GAUZnNmkGdQbMVtX2/zd6l4xoTLkSuT2U7KUEhRhFULW6NbR2J+ZctlMm59cQF0RHSHdL90bHaqedp9VX6of3qBs4E5ghqG7Id1iuONeJCRkiWUTZmum2hTUVxUacRsKW0rbgyCm4U7iS2KqorqlmefYVK5ZrJrln7+hw2Ng5Vdlh1liW3ucW75zlfTWaxbJ2D6YBBiH2ZfZilz+XPbdgF3bHtWgHKAZYGgipKRFk7iUnJrF20Fejl7MH1v+bCM7FMvVlFYtVsPXBFc4l1AYoNjFGQtZrNovGyIba9uH3CkcNJxJnWPdY51GXYRe+B7K3wgfTl9LIVthQeGNIoNkGGQtZC3kvaXN5rXT2xcX2eRbZ98jH4WixaNH5BrW/1dDWTAhFyQ4ZiHc4tbmmB+Z95tH4qmigGQDJg3UnD5UXCOeJaTcIjXke5P11P9VdpWglf9WMJaiFurXMBcJV4BYQ1iS2KIYxxkNmV4ZTlqims0bBltMW/ncelyeHMHdLJ0JnZhd8B5V3rqerl8j32sfWF+nn8pgTGDkITahOqFloiwipCLOI9CkIOQbJGWkrmSi5anlqiW1pYAlwiYlpnTmhqb1FN+WBlZcFu/W9FtWm+fcSF0uXSFgP2D4V2HX6pfQmDsZRJob2lTaolrNW3zbeNz/nasd017FH0jgRyCQIP0hGOFYorEioeRHpMGmLSZDGJTiPCPZZIHXSddaV1fdJ2BaIfVb/5i0n82iXKJHk5YTudQ3VJHU39iB2ZpfgWIXpaNTxlTNlbLWaRaOFxOXE1cAl4RX0NgvWUvZkJmvmf0Zxxz4nc6ecV/lITNhJaJZoppiuGKVYx6jPRX1FsPX29g7WINaZZrXG6EcdJ7VYdYi/6O35j+mDhPgU/hT3tUIFq4WzxhsGVoZvxxM3VeeTN9ToHjgZiDqoXOhQOHCoqrjpuPcfnFjzFZpFvmW4lg6VsLXMNfgWxy+fFtC3Aada+C9orATkFTc/nZlg9snk7ET1JRXlUlWuhcEWJZcr2CqoP+hlmIHYo/lsWWE5kJnV2dClizXL1dRF7hYBVh4WMCaiVuApFUk06YEJx3n4lbuFwJY09mSGg8d8GWjZdUmJ+boWUBi8uOvJU1Valc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j3vNihqTR09OTzJRgFTQWZVetWJ1Z25pF2qubBpu2XIqc711uHs1feeC+YNXhPeFW4qvjIeOGZC4kM6WX5/jUgpU4VrCW1hkdWX0bsRy+/mEdk16G3tNfD5+3397gyuLyoxkjeGNX47qj/mPaZDRk0NPek+zUGhReFFNUmpSYVh8WGBZCFxVXNtem2AwYhNov2sIbLFvTnEgdDB1OHVRdXJ2THuLe617xnuPfm6KPo9Jjz+Sk5IikyuU+5ZamGuYHpkHUipimGJZbWR2ynrAe3Z9YFO+XJdeOG+5cJh8EZeOm96epWN6ZHaHAU6VTq1OXFB1UEhUw1maW0BerV73XoFfxWA6Yz9ldGXMZXZmeGb+Z2hpiWpja0BswG3obR9uXm4ecKFwjnP9czp1W3eHeI55C3p9er58jn1HggKK6oqejC2RSpHYkWaSzJIgkwaXVpdclwKYDp82UpFSfFUkWB1eH1+MYNBjr2jfb215LHvNgbqF/Yj4ikSOjZFklpuWPZdMmEqfzk9GUctRqVIyVhRfa1+qY81k6WVBZvpm+WYdZ51o12j9aRVvbm9nceVxKnKqdDp3Vnlaed95IHqVepd833xEfXB+h4D7haSGVIq/ipmNgY4gkG2Q45E7ltWW5ZzPZQd8s43Dk1hbClxSU9liHXMnUJdbnl+wYGth1WjZbS50LnpCfZx9MX5rgSqONY5+kxiUUE9QV+Zdp14rY2p/O05PT49PWlDdWcSAalRoVP5VT1mZW95d2l5dZjFn8WcqaOhsMm1Kbo1vt3Dgc4d1THwCfSx9on0fgtuGO4qFinCNio4zjzGQTpFSkUSU0Jn5eqV8yk8BUcZRyFfvW/tcWWY9alptlm7sbwxxb3XjeiKIIZB1kMuW/5kBgy1O8k5GiM2RfVPbamtpQWx6hJ5YjmH+Zu9i3XARdcd1Un64hEmLCI1LTupTq1QwV0BX118BYwdjb2QvZehlemadZ7NnYmtgbJpsLG/ldyV4SXlXeRl9ooACgfOBnYK3ghiHjIr8+QSNvo1ykPR2GXo3elR+d4AHVdRVdVgvYyJkSWZLZm1om2mEayVtsW7Nc2h0oXRbdbl14XYed4t35nkJfh1++4EvhZeIOorRjOuOsI8ykK2TY5ZzlgeXhE/xU+pZyVoZXk5oxnS+del5knqjge2G6ozMje2Pn2UVZ/3591dXb919L4/2k8aWtV/yYYRvFE6YTx9QyVPfVW9d7l0ha2Rry3iae/75SY7Kjm6QSWM+ZEB3hHovk3+Uap+wZK9v5nGodNp0xHoSfIJ+snyYfpqLCo19lBCZTJk5Ut9b5mQtZy597VDDU3lYWGFZYfphrGXZepKLlosJUCFQdVIxVTxa4F5wXzRhXmUMZjZmombNacRuMm8WcyF2k3o5gVmC1oO8hLVQ8FfAW+hbaV+hYyZ4tX3cgyGFx5H1kYpR9WdWe6yMxFG7Wb1gVYYcUP/5VFI6XH1hGmLTYvJkpWXMbiB2CoFgjl+Wu5bfTkNTmFUpWd1dxWTJbPptlHN/ehuCpoXkjBCOd5DnkeGVIZbGl/hR8lSGVblfpGSIb7R9H49NjzWUyVAWXL5s+20bdbt3PXxkfHmKwooeWL5ZFl53Y1JyinVrd9yKvIwSj/NedGb4bX2AwYPLilGX1psA+kNS/2aVbe9u4H3mii6QXpDUmh1Sf1LoVJRhhGLbYqJoEmlaaTVqknAmcV14AXkOedJ5DXqWgHiC1YJJg0mFgoyFjWKRi5GukcNP0Vbtcdd3AIf4ifhb1l9RZ6iQ4lNaWPVbpGCBYWBkPX5wgCWFg5KuZKxQFF0AZ5xYvWKoYw5peGkeamtuunbLebuCKYTPiqiN/Y8SkUuRnJEQkxiTmpPbljaaDZwRTlx1XXn6elF7yXsufsSEWY50jviOEJAlZj9pQ3T6US5n3J5FUeBflmzyh12Id4i0YLWBA4QFjdZTOVQ0VjZaMVyKcOB/WoAGge2Bo42JkV+a8p10UMROoFP7YCxuZFyITyRQ5FXZXF9eZWCUaLtsxG2+cdR19HVhdhp6SXrHfft9bn/0gamGHI/JlrOZUp9HUsVS7ZiqiQNO0mcGb7VP4luVZ4hseG0bdCd43ZF8k8SH5Hkxeutf1k6kVD5VrlilWfBgU2LWYjZnVWk1gkCWsZndmSxQU1NEVXxXAfpYYgL64mRrZt1nwW/vbyJ0OHQXijiUUVQGVmZXSF+aYU5rWHCtcLt9lYpqWSuBomMIdz2AqoxUWC1ku2mVWxFeb24D+mmFTFHwUypZIGBLYYZrcGzwbB57zoDUgsaNsJCxmAT6x2Skb5FkBGVOURBUH1cOil9hdmgF+tt1UntxfRqQBljMaX+BKokAkDmYeFBXWaxZlWIPkCqbXWF5ctaVYVdGWvRdimKtZPpkd2fibD5tLHI2dDR4d3+tgtuNF5gkUkJXf2dIcuN0qYymjxGSKpZrUe1TTGNpTwRVlmBXZZtsf21Mcv1yF3qHiZ2MbV+Ob/lwqIEOYb9PT1BBYkdyx3vofel/TZCtlxmatoxqV3NesGcNhFWKIFQWW2Ne4l4KX4NluoA9hYmVW5ZITwVTDVMPU4ZU+lQDVwNeFmCbYrFiVWMG+uFsZm2xdTJ43oAvgd6CYYSyhI2IEokLkOqS/ZiRm0VetGbdZhFwBnIH+vVPfVJqX1NhU2cZagJv4nRoeWiIeYzHmMSYQ5rBVB96U2n3ikqMqJiumXxfq2Kyda52q4h/kEKWOVM8X8VfzGzMc2J1i3VGe/6CnZlPTjyQC05VT6ZTD1nIXjBms2xVdHeDZofAjFCQHpcVnNFYeFtQhhSLtJ3SW2hgjWDxZVdsIm+jbxpwVX/wf5GVkpVQltOXclJEj/1RK1S4VGNVilW7arVt2H1mgpySd5Z5nghUyFTSduSGpJXUlVyWok4JT+5Z5lr3XVJgl2JtZ0Fohmwvbjh/m4Aqggj6CfoFmKVOVVCzVJNXWllpW7NbyGF3aXdtI3D5h+OJcornioKQ7Zm4mr5SOGgWUHheT2dHg0yIq04RVK5W5nMVkf+XCZlXmZmZU1afWFuGMYqyYfZqe3PSjkdrqpZXmlVZAHJrjWmX1E/0XCZf+GFbZutsq3CEc7lz/nMpd013Q31ifSN+N4JSiAr64oxJkm+YUVt0ekCIAZjMWuBPVFM+Wf1cPmN5bflyBYEHgaKDz5IwmKhORFERUotXYl/CbM5uBXBQcK9wknHpc2l0SoOih2GICJCikKOTqJluUVdf4GBnYbNmWYVKjq+Ri5dOTpJOfFTVWPpYfVm1XCdfNmJIYgpmZ2bra2ltz21WbvhulG/gb+lvXXDQciV0WnTgdJN2XHnKfB5+4YCmgmuEv4ROhl+GdId3i2qMrJMAmGWY0WAWYneRWloPZvdtPm4/dEKb/V/aYA97xFQYX15s02wqbdhwBX15hgyKO50WU4xUBVs6amtwdXWNeb55sYLvg3GKQYuojHSXC/r0ZCtluni7eGt6OE6aVVBZplt7XqNg22Nha2VmU2gZbmVxsHQIfYSQaZolnDtt0W4+c0GMypXwUUxeqF9NYPZgMGFMYUNmRGalacFsX27JbmJvTHGcdId2wXsnfFKDV4dRkI2Ww54vU95W+16KX2JglGD3YWZmA2ecau5trm9wcGpzan6+gTSD1IaoisSMg1Jyc5Zba2oElO5UhlZdW0hlhWXJZp9ojW3GbTtytIB1kU2ar08ZUJpTDlQ8VIlVxVU/XoxfPWdmcd1zBZDbUvNSZFjOWARxj3H7cbCFE4qIZqiFp1WEZkpxMYRJU5lVwWtZX71f7mOJZkdx8Yodj76eEU86ZMtwZnVnhmRgTov4nUdR9lEIUzZt+IDRnhVmI2uYcNV1A1R5XAd9Foogaz1rRms4VHBgPW3VfwiC1lDeUZxVa1bNVuxZCVsMXplhmGExYl5m5maZcblxunGncqd5AHqyf3CKAHJiAHdiAHJiKwB3YisAYWIAYWIrAHV0Zi04AGdiMjMxMgAAXfoBAGD6AQBj+gEAZ/oBAGv6AQBu+gEAQaD1BwvCBP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAJTAyWABbJXNdWyVkXSBbW0hlYWRlckluZj0lc11dAFNUX0hlYWRlckluZm8AJXNTVC5sb2cuJWQAJXNTVC5sb2cAd2IrAERFQlVHAEVSUk9SACBJTkZPAFRSQUNFACBXQVJOAEZBVEFMAAoAJXNfMHglMDh4XyVkXyVkXyVkXyVkXyVkXyVkAFslc11bJWRdIFslc10AU1RfT3BlbkZpbGUAWyUwNGQtJTAyZC0lMDJkICUwMmQ6JTAyZDolMDJkLiUwM2RdAFsweCUwOHhdAFslMDVzXQAAAAAC/AEA8PsBAPz7AQAI/AEA9vsBAA78AQAAAAAAQB8AAKAPAABAHwAAESsAAIA+AAAgTgAAIlYAAAB9AABErAAAgLsAAAB3AQAA7gIAAPoAAAMAAAAAAQAABAAAAAABAEHx+QcLAQEAQYD6Bwt3BQAAAAAAAABs/QEAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAxM0lETVhESEFWRGVtdXgAMTNJRE1YQmFlc0RlbXV4AEQMAABU/QEAbAwAAET9AQBk/QEAQYD7Bwu9W2PGpWN8+IR8d+6Zd3v2jXvy/w3ya9a9a2/esW/FkVTFMGBQMAECAwFnzqlnK1Z9K/7nGf7XtWLXq03mq3bsmnbKj0XKgh+dgsmJQMl9+od9+u8V+lmy61lHjslH8PsL8K1B7K3Us2fUol/9oq9F6q+cI7+cpFP3pHLklnLAm1vAt3XCt/3hHP2TPa6TJkxqJjZsWjY/fkE/9/UC98yDT8w0aFw0pVH0peXRNOXx+QjxceKTcdirc9gxYlMxFSo/FQQIDATHlVLHI0ZlI8OdXsMYMCgYljehlgUKDwWaL7WaBw4JBxIkNhKAG5uA4t894uvNJusnTmknsn/NsnXqn3UJEhsJgx2egyxYdCwaNC4aGzYtG27csm5atO5aoFv7oFKk9lI7dk071rdh1rN9zrMpUnsp490+4y9ecS+EE5eEU6b1U9G5aNEAAAAA7cEs7SBAYCD84x/8sXnIsVu27Vtq1L5qy41Gy75n2b45cks5SpTeSkyY1ExYsOhYz4VKz9C7a9DvxSrvqk/lqvvtFvtDhsVDTZrXTTNmVTOFEZSFRYrPRfnpEPkCBAYCf/6Bf1Cg8FA8eEQ8nyW6n6hL46hRovNRo13+o0CAwECPBYqPkj+tkp0hvJ04cEg49fEE9bxj37y2d8G22q912iFCYyEQIDAQ/+Ua//P9DvPSv23SzYFMzQwYFAwTJjUT7MMv7F++4V+XNaKXRIjMRBcuORfEk1fEp1Xyp378gn49ekc9ZMisZF26510ZMisZc+aVc2DAoGCBGZiBT57RT9yjf9wiRGYiKlR+KpA7q5CIC4OIRozKRu7HKe64a9O4FCg8FN6ned5evOJeCxYdC9utdtvg2zvgMmRWMjp0TjoKFB4KSZLbSQYMCgYkSGwkXLjkXMKfXcLTvW7TrEPvrGLEpmKROaiRlTGkleTTN+R58ot559Uy58iLQ8g3blk3bdq3bY0BjI3VsWTVTpzSTqlJ4Kls2LRsVqz6VvTzB/TqzyXqZcqvZXr0jnquR+muCBAYCLpv1bp48Ih4JUpvJS5cci4cOCQcplfxprRzx7TGl1HG6Msj6N2hfN106Jx0Hz4hH0uW3Uu9Ydy9iw2Gi4oPhYpw4JBwPnxCPrVxxLVmzKpmSJDYSAMGBQP29wH2DhwSDmHCo2E1al81V675V7lp0LmGF5GGwZlYwR06Jx2eJ7me4dk44fjrE/iYK7OYESIzEWnSu2nZqXDZjgeJjpQzp5SbLbabHjwiHocVkofpySDpzodJzlWq/1UoUHgo36V634wDj4yhWfihiQmAiQ0aFw2/Zdq/5tcx5kKExkJo0LhoQYLDQZkpsJktWnctDx4RD7B7y7BUqPxUu23WuxYsOhbGpWNj+IR8fO6Zd3f2jXt7/w3y8ta9a2vesW9vkVTFxWBQMDACAwEBzqlnZ1Z9KyvnGf7+tWLX103mq6vsmnZ2j0XKyh+dgoKJQMnJ+od9fe8V+vqy61lZjslHR/sL8PBB7K2ts2fU1F/9oqJF6q+vI7+cnFP3pKTklnJym1vAwHXCt7fhHP39Pa6Tk0xqJiZsWjY2fkE/P/UC9/eDT8zMaFw0NFH0paXRNOXl+Qjx8eKTcXGrc9jYYlMxMSo/FRUIDAQElVLHx0ZlIyOdXsPDMCgYGDehlpYKDwUFL7Wamg4JBwckNhISG5uAgN894uLNJuvrTmknJ3/NsrLqn3V1EhsJCR2eg4NYdCwsNC4aGjYtGxvcsm5utO5aWlv7oKCk9lJSdk07O7dh1tZ9zrOzUnspKd0+4+NecS8vE5eEhKb1U1O5aNHRAAAAAMEs7e1AYCAg4x/8/HnIsbG27Vtb1L5qao1Gy8tn2b6+cks5OZTeSkqY1ExMsOhYWIVKz8+7a9DQxSrv70/lqqrtFvv7hsVDQ5rXTU1mVTMzEZSFhYrPRUXpEPn5BAYCAv6Bf3+g8FBQeEQ8PCW6n59L46ioovNRUV3+o6OAwEBABYqPjz+tkpIhvJ2dcEg4OPEE9fVj37y8d8G2tq912tpCYyEhIDAQEOUa///9DvPzv23S0oFMzc0YFAwMJjUTE8Mv7Oy+4V9fNaKXl4jMREQuORcXk1fExFXyp6f8gn5+ekc9PcisZGS6511dMisZGeaVc3PAoGBgGZiBgZ7RT0+jf9zcRGYiIlR+Kio7q5CQC4OIiIzKRkbHKe7ua9O4uCg8FBSned7evOJeXhYdCwutdtvb2zvg4GRWMjJ0Tjo6FB4KCpLbSUkMCgYGSGwkJLjkXFyfXcLCvW7T00PvrKzEpmJiOaiRkTGklZXTN+Tk8ot5edUy5+eLQ8jIblk3N9q3bW0BjI2NsWTV1ZzSTk5J4Kmp2LRsbKz6VlbzB/T0zyXq6sqvZWX0jnp6R+murhAYCAhv1bq68Ih4eEpvJSVcci4uOCQcHFfxpqZzx7S0l1HGxssj6OihfN3d6Jx0dD4hHx+W3UtLYdy9vQ2Gi4sPhYqK4JBwcHxCPj5xxLW1zKpmZpDYSEgGBQMD9wH29hwSDg7Co2Fhal81Na75V1dp0Lm5F5GGhplYwcE6Jx0dJ7mentk44eHrE/j4K7OYmCIzERHSu2lpqXDZ2QeJjo4zp5SULbabmzwiHh4VkoeHySDp6YdJzs6q/1VVUHgoKKV6398Dj4yMWfihoQmAiYkaFw0NZdq/v9cx5uaExkJC0LhoaILDQUEpsJmZWnctLR4RDw97y7CwqPxUVG3Wu7ssOhYWpWNjxoR8fPiZd3fujXt79g3y8v+9a2vWsW9v3lTFxZFQMDBgAwEBAqlnZ859KytWGf7+52LX17Xmq6tNmnZ27EXKyo+dgoIfQMnJiYd9ffoV+vrv61lZsslHR44L8PD77K2tQWfU1LP9oqJf6q+vRb+cnCP3pKRTlnJy5FvAwJvCt7d1HP394a6Tkz1qJiZMWjY2bEE/P34C9/f1T8zMg1w0NGj0paVRNOXl0Qjx8fmTcXHic9jYq1MxMWI/FRUqDAQECFLHx5VlIyNGXsPDnSgYGDChlpY3DwUFCrWami8JBwcONhISJJuAgBs94uLfJuvrzWknJ07NsrJ/n3V16hsJCRKeg4MddCwsWC4aGjQtGxs2sm5u3O5aWrT7oKBb9lJSpE07O3Zh1ta3zrOzfXspKVI+4+PdcS8vXpeEhBP1U1OmaNHRuQAAAAAs7e3BYCAgQB/8/OPIsbF57Vtbtr5qatRGy8uN2b6+Z0s5OXLeSkqU1ExMmOhYWLBKz8+Fa9DQuyrv78XlqqpPFvv77cVDQ4bXTU2aVTMzZpSFhRHPRUWKEPn56QYCAgSBf3/+8FBQoEQ8PHi6n58l46ioS/NRUaL+o6NdwEBAgIqPjwWtkpI/vJ2dIUg4OHAE9fXx37y8Y8G2tnd12tqvYyEhQjAQECAa///lDvPz/W3S0r9Mzc2BFAwMGDUTEyYv7OzD4V9fvqKXlzXMRESIORcXLlfExJPyp6dVgn5+/Ec9PXqsZGTI511duisZGTKVc3PmoGBgwJiBgRnRT0+ef9zco2YiIkR+KipUq5CQO4OIiAvKRkaMKe7ux9O4uGs8FBQoed7ep+JeXrwdCwsWdtvbrTvg4NtWMjJkTjo6dB4KChTbSUmSCgYGDGwkJEjkXFy4XcLCn27T073vrKxDpmJixKiRkTmklZUxN+Tk04t5efIy5+fVQ8jIi1k3N263bW3ajI2NAWTV1bHSTk6c4KmpSbRsbNj6VlasB/T08yXq6s+vZWXKjnp69OmurkcYCAgQ1bq6b4h4ePBvJSVKci4uXCQcHDjxpqZXx7S0c1HGxpcj6OjLfN3doZx0dOghHx8+3UtLlty9vWGGi4sNhYqKD5BwcOBCPj58xLW1capmZszYSEiQBQMDBgH29vcSDg4co2Fhwl81NWr5V1eu0Lm5aZGGhhdYwcGZJx0dOrmenic44eHZE/j467OYmCszEREiu2lp0nDZ2amJjo4Hp5SUM7abmy0iHh48koeHFSDp6clJzs6H/1VVqngoKFB639+lj4yMA/ihoVmAiYkJFw0NGtq/v2Ux5ubXxkJChLhoaNDDQUGCsJmZKXctLVoRDw8ey7Cwe/xUVKjWu7ttOhYWLGNjxqV8fPiEd3fumXt79o3y8v8Na2vWvW9v3rHFxZFUMDBgUAEBAgNnZ86pKytWff7+5xnX17Viq6tN5nZ27JrKyo9FgoIfncnJiUB9ffqH+vrvFVlZsutHR47J8PD7C62tQezU1LNnoqJf/a+vReqcnCO/pKRT93Jy5JbAwJtbt7d1wv394RyTkz2uJiZMajY2bFo/P35B9/f1AszMg080NGhcpaVR9OXl0TTx8fkIcXHik9jYq3MxMWJTFRUqPwQECAzHx5VSIyNGZcPDnV4YGDAolpY3oQUFCg+ami+1BwcOCRISJDaAgBub4uLfPevrzSYnJ05psrJ/zXV16p8JCRIbg4MdniwsWHQaGjQuGxs2LW5u3LJaWrTuoKBb+1JSpPY7O3ZN1ta3YbOzfc4pKVJ74+PdPi8vXnGEhBOXU1Om9dHRuWgAAAAA7e3BLCAgQGD8/OMfsbF5yFtbtu1qatS+y8uNRr6+Z9k5OXJLSkqU3kxMmNRYWLDoz8+FStDQu2vv78UqqqpP5fv77RZDQ4bFTU2a1zMzZlWFhRGURUWKz/n56RACAgQGf3/+gVBQoPA8PHhEn58luqioS+NRUaLzo6Nd/kBAgMCPjwWKkpI/rZ2dIbw4OHBI9fXxBLy8Y9+2tnfB2tqvdSEhQmMQECAw///lGvPz/Q7S0r9tzc2BTAwMGBQTEyY17OzDL19fvuGXlzWiRESIzBcXLjnExJNXp6dV8n5+/II9PXpHZGTIrF1duucZGTIrc3PmlWBgwKCBgRmYT0+e0dzco38iIkRmKipUfpCQO6uIiAuDRkaMyu7uxym4uGvTFBQoPN7ep3leXrziCwsWHdvbrXbg4Ns7MjJkVjo6dE4KChQeSUmS2wYGDAokJEhsXFy45MLCn13T071urKxD72JixKaRkTmolZUxpOTk0zd5efKL5+fVMsjIi0M3N25ZbW3at42NAYzV1bFkTk6c0qmpSeBsbNi0Vlas+vT08wfq6s8lZWXKr3p69I6urkfpCAgQGLq6b9V4ePCIJSVKby4uXHIcHDgkpqZX8bS0c8fGxpdR6OjLI93doXx0dOicHx8+IUtLlt29vWHci4sNhoqKD4VwcOCQPj58QrW1ccRmZsyqSEiQ2AMDBgX29vcBDg4cEmFhwqM1NWpfV1eu+bm5adCGhheRwcGZWB0dOieenie54eHZOPj46xOYmCuzEREiM2lp0rvZ2alwjo4HiZSUM6ebmy22Hh48IoeHFZLp6ckgzs6HSVVVqv8oKFB439+leoyMA4+hoVn4iYkJgA0NGhe/v2Xa5ubXMUJChMZoaNC4QUGCw5mZKbAtLVp3Dw8eEbCwe8tUVKj8u7tt1hYWLDoAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAABsAAAA2AAAAAAAAAABQp/RRU2VBfsOkFxqWXic6y2urO/FFnR+rWPqskwPjS1X6MCD2bXatkXbMiCVMAvX81+VP18sqxYBENSaPo2K1SVqx3mcbuiWYDupF4cD+XQJ1L8MS8EyBo5dGjcb502vnX48DlZySFet6bb/aWVKVLYO+1NMhdFgpaeBJRMjJjmqJwnV4eY70az5Ymd1xuSe2T+G+F62I8GasIMm0Os59GErfY4IxGuVgM1GXRX9TYuB3ZLGErmu7HKCB/pQrCPlYaEhwGf1Fj4ds3pS3+HtSI9Nzq+ICS3JXjx/jKqtVZgco67IDwrUvmnvFhqUIN9PyhygwsqW/I7pqAwJcghbtKxzPipK0eafw8gfzoeJpTs302mXVvgUGH2I00Yr+psSdUy40oFXzojLhigV16/akOeyDC6rvYEAGn3FeURBuvfmKIT49Bt2WrgU+3Ua95k21jVSRBV3EcW/UBgT/FVBgJPuYGZfpvdbMQ0CJd57ZZ71C6LCIi4kHOFsZ59vuyHlHCnyh6Q9CfMkehPgAAAAAg4aACUjtKzKscBEeTnJabPv/Dv1WOIUPHtWuPSc5LTZk2Q8KIaZcaNFUW5s6LjYksWcKDA/nV5PSlu60npGbG0/FwICiINxhaUt3WhYaEhwKupPi5SqgwEPgIjwdFxsSCw0JDq3Hi/K5qLYtyKkeFIUZ8VdMB3Wvu92Z7v1gf6OfJgH3vPVyXMU7ZkQ0fvtbdilDi9zGI8to/O22Y/HkuMrcMdcQhWNCQCKXEyARxoR9JEqF+D270hEy+a5toSnHSy+eHfMwstzsUoYN0OPBd2wWsyuZuXCp+kiUESJk6UfEjPyoGj/woNgsfVbvkDMix05Jh8HRONn+osqMNgvUmM+B9aYo3nqlJo632qS/rT/knTosDZJ4UJvMX2piRn5UwhON9ui42JBe9zku9a/Dgr6AXZ98k9BpqS3Vb7MSJc87mazIp30YEG5jnOh7uzvbCXgmzfQYWW4Bt5rsqJpPg2VuleZ+5v+qCM+8IeboFe/Zm+e6zjZvStQJn+rWfLApr7KkMTEjPyowlKXGwGaiNTe8TnSmyoL8sNCQ4BXYpzNKmATx99rsQQ5QzX8v9pEXjdZNdk2w70NUTarM3wSW5OO10Z4biGpMuB8swX9RZUYE6l6dXTWMAXN0h/ouQQv7Wh1ns1LS25IzVhDpE0fWbYxh15p6DKE3jhT4WYk8E+vuJ6nONclht+3lHOE8sUd6Wd/SnD9z8lV5zhQYvzfHc+rN91Nbqv1fFG8934bbRHiB86/KPsRouSw0JDhfQKPCcsMdFgwl4ryLSTwoQZUN/3EBqDneswwInOS02JDBVmRhhMt7cLYy1XRcbEhCV7jQp/RRUGVBflOkFxrDXic6lmurO8tFnR/xWPqsqwPjS5P6MCBVbXat9nbMiJFMAvUl1+VP/MsqxddENSaAo2K1j1qx3kkbuiVnDupFmMD+XeF1L8MC8EyBEpdGjaP502vGX48D55ySFZV6bb/rWVKV2oO+1C0hdFjTaeBJKcjJjkSJwnVqeY70eD5YmWtxuSfdT+G+tq2I8BesIMlmOs59tErfYxgxGuWCM1GXYH9TYkV3ZLHgrmu7hKCB/hwrCPmUaEhwWP1Fjxls3pSH+HtSt9NzqyMCS3Lijx/jV6tVZioo67IHwrUvA3vFhpoIN9Olhygw8qW/I7JqAwK6ghbtXBzPiiu0eaeS8gfz8OJpTqH02mXNvgUG1WI00R/+psSKUy40nVXzoqDhigUy6/akdeyDCznvYECqn3FeBhBuvVGKIT75Bt2WPQU+3a695k1GjVSRtV3EcQXUBgRvFVBg//uYGSTpvdaXQ0CJzJ7ZZ3dC6LC9i4kHiFsZ5zjuyHnbCnyhRw9CfOkehPjJAAAAAIaACYPtKzJIcBEerHJabE7/Dv37OIUPVtWuPR45LTYn2Q8KZKZcaCFUW5vRLjYkOmcKDLHnV5MPlu600pGbG57FwIBPINxhokt3WmkaEhwWupPiCiqgwOXgIjxDFxsSHQ0JDgvHi/KtqLYtuakeFMgZ8VeFB3WvTN2Z7rtgf6P9JgH3n/VyXLw7ZkTFfvtbNClDi3bGI8vc/O22aPHkuGPcMdfKhWNCECKXE0ARxoQgJEqFfT270vgy+a4RoSnHbS+eHUswstzzUoYN7OPBd9AWsytsuXCpmUiUEfpk6UcijPyoxD/woBosfVbYkDMi705Jh8fRONnBosqM/gvUmDaB9abP3nqlKI632ia/rT+knTos5JJ4UA3MX2qbRn5UYhON9sK42JDo9zkuXq/DgvWAXZ++k9BpfC3Vb6kSJc+zmazIO30YEKdjnOhuuzvbe3gmzQkYWW70t5rsAZpPg6huleZl5v+qfs+8IQjoFe/mm+e62TZvSs4Jn+rUfLAp1rKkMa8jPyoxlKXGMGaiNcC8TnQ3yoL8ptCQ4LDYpzMVmATxStrsQfdQzX8O9pEXL9ZNdo2w70NNTarMVASW5N+10Z7jiGpMGx8swbhRZUZ/6l6dBDWMAV10h/pzQQv7Lh1ns1rS25JSVhDpM0fWbRNh15qMDKE3ehT4WY48E+uJJ6nO7slhtzXlHOHtsUd6PN/SnFlz8lU/zhQYeTfHc7/N91Pqqv1fW2893xTbRHiG86/KgcRouT40JDgsQKPCX8MdFnIl4rwMSTwoi5UN/0EBqDlxswwI3uS02JzBVmSQhMt7YbYy1XBcbEh0V7jQQvRRUKdBflNlFxrDpCc6ll6rO8trnR/xRfqsq1jjS5MDMCBV+nat9m3MiJF2AvUlTOVP/NcqxdfLNSaARGK1j6Ox3klauiVnG+pFmA7+XeHAL8MCdUyBEvBGjaOX02vG+Y8D51+SFZWcbb/relKV2lm+1C2DdFjTIeBJKWnJjkTIwnVqiY70eHlYmWs+uSfdceG+tk+I8BetIMlmrM59tDrfYxhKGuWCMVGXYDNTYkV/ZLHgd2u7hK6B/hygCPmUK0hwWGhFjxn93pSHbHtSt/hzqyPTS3LiAh/jV49VZiqr67IHKLUvA8LFhpp7N9OlCCgw8oe/I7KlAwK6ahbtXILPiisceaeStAfz8PJpTqHi2mXN9AUG1b400R9ipsSK/i40nVPzoqBVigUy4fakdeuDCznsYECq73FeBp9uvVEQIT75it2WPQY+3a4F5k1GvVSRtY3EcQVdBgRv1FBg/xWYGST7vdaX6UCJzEPZZ3ee6LC9QokHiIsZ5zhbyHnb7nyhRwpCfOkPhPjJHgAAAACACYOGKzJI7REerHBabE5yDv37/4UPVjiuPR7VLTYnOQ8KZNlcaCGmW5vRVDYkOi4KDLFnV5MP5+600pabG56RwIBPxdxhoiB3WmlLEhwWGpPiCrqgwOUqIjxD4BsSHRcJDgsNi/Ktx7YtuageFMip8VeFGXWvTAeZ7rvdf6P9YAH3nyZyXLz1ZkTFO/tbNH5Di3YpI8vcxu22aPzkuGPxMdfK3GNCEIWXE0AixoQgEUqFfSS70vg9+a4RMinHbaGeHUsvstzzMIYN7FLBd9DjsytsFnCpmbmUEfpI6UciZPyoxIzwoBo/fVbYLDMi75BJh8dOONnB0cqM/qLUmDYL9abPgXqlKN632iaOrT+kvzos5J14UA2SX2qbzH5UYkaN9sIT2JDouDkuXvfDgvWvXZ++gNBpfJPVb6ktJc+zEqzIO5kYEKd9nOhuYzvbe7smzQl4WW70GJrsAbdPg6ialeZlbv+qfua8IQjPFe/m6Oe62ZtvSs42n+rUCbAp1nykMa+yPyoxI6XGMJSiNcBmTnQ3vIL8psqQ4LDQpzMV2ATxSpjsQffazX8OUJEXL/ZNdo3W70NNsKrMVE2W5N8E0Z7jtWpMG4gswbgfZUZ/UV6dBOqMAV01h/pzdAv7LkFns1od25JS0hDpM1bWbRNH15qMYaE3egz4WY4UE+uJPKnO7idhtzXJHOHt5Ud6PLHSnFnf8lU/cxQYec7Hc78391Pqzf1fW6o93xRvRHiG26/KgfNouT7EJDgsNKPCX0AdFnLD4rwMJTwoi0kN/0GVqDlxAQwI3rO02JzkVmSQwct7YYQy1XC2bEh0XLjQQldRUKf0flNlQRrDpBc6ll4nO8trqx/xRZ2sq1j6S5MD4yBV+jCt9m12iJF2zPUlTAJP/NflxdfLKiaARDW1j6Ni3klasSVnG7pFmA7qXeHA/sMCdS+BEvBMjaOXRmvG+dMD51+PFZWckr/rem2V2llS1C2DvljTIXRJKWngjkTIyXVqicL0eHmOmWs+WCfdcbm+tk/h8BetiMlmrCB9tDrOYxhK3+WCMRqXYDNRYkV/U7Hgd2S7hK5r/hyggfmUKwhwWGhIjxn9RZSHbN5St/h7qyPTc3LiAkvjV48fZiqrVbIHKOsvA8K1hpp7xdOlCDcw8ocoI7KlvwK6agPtXIIWiiscz6eStHnz8PIHTqHiaWXN9NoG1b4F0R9iNMSK/qY0nVMuoqBV8wUy4Yqkdev2Cznsg0Cq72BeBp9xvVEQbj75iiGWPQbd3a4FPk1GveaRtY1UcQVdxARv1AZg/xVQGST7mNaX6b2JzENAZ3ee2bC9QugHiIuJ5zhbGXnb7sihRwp8fOkPQvjJHoQAAAAACYOGgDJI7SserHARbE5yWv37/w4PVjiFPR7VrjYnOS0KZNkPaCGmXJvRVFskOi42DLFnCpMP51e00pbuG56Rm4BPxcBhoiDcWmlLdxwWGhLiCrqTwOUqoDxD4CISHRcbDgsNCfKtx4stuai2FMipHleFGfGvTAd17rvdmaP9YH/3nyYBXLz1ckTFO2ZbNH77i3YpQ8vcxiO2aPztuGPx5NfK3DFCEIVjE0Ail4QgEcaFfSRK0vg9u64RMvnHbaEpHUsvntzzMLIN7FKGd9DjwStsFrOpmblwEfpIlEciZOmoxIz8oBo/8FbYLH0i75Azh8dOSdnB0TiM/qLKmDYL1KbPgfWlKN562iaOtz+kv60s5J06UA2SeGqbzF9UYkZ+9sITjZDouNguXvc5gvWvw5++gF1pfJPQb6kt1c+zEiXIO5msEKd9GOhuY5zbe7s7zQl4Jm70GFnsAbeag6iaT+ZlbpWqfub/IQjPvO/m6BW62ZvnSs42b+rUCZ8p1nywMa+ypCoxIz/GMJSlNcBmonQ3vE78psqC4LDQkDMV2KfxSpgEQffa7H8OUM0XL/aRdo3WTUNNsO/MVE2q5N8Elp7jtdFMG4hqwbgfLEZ/UWWdBOpeAV01jPpzdIf7LkELs1odZ5JS0tvpM1YQbRNH1pqMYdc3egyhWY4U+OuJPBPO7ieptzXJYeHt5Rx6PLFHnFnf0lU/c/IYec4Uc783x1PqzfdfW6r93xRvPXiG20TKgfOvuT7EaDgsNCTCX0CjFnLDHbwMJeIoi0k8/0GVDTlxAagI3rMM2JzktGSQwVZ7YYTL1XC2Mkh0XGzQQle4Y3x3e/Jrb8UwAWcr/terdsqCyX36WUfwrdSir5ykcsC3/ZMmNj/3zDSl5fFx2DEVBMcjwxiWBZoHEoDi6yeydQmDLBobblqgUjvWsynjL4RT0QDtIPyxW2rLvjlKTFjP0O+q+0NNM4VF+QJ/UDyfqFGjQI+SnTj1vLbaIRD/89LNDBPsX5dEF8Snfj1kXRlzYIFP3CIqkIhG7rgU3l4L2+AyOgpJBiRcwtOsYpGV5HnnyDdtjdVOqWxW9Opleq4IunglLhymtMbo3XQfS72LinA+tWZIA/YOYTVXuYbBHZ7h+JgRadmOlJseh+nOVSjfjKGJDb/mQmhBmS0PsFS7FgABAgQIECBAgBs2AAAAAABSCWrVMDalOL9Ao56B89f7fOM5gpsv/4c0jkNExN7py1R7lDKmwiM97kyVC0L6w04ILqFmKNkksnZboklti9Elcvj2ZIZomBbUpFzMXWW2kmxwSFD97bnaXhVGV6eNnYSQ2KsAjLzTCvfkWAW4s0UG0Cwej8o/DwLBr70DAROKazqREUFPZ9zql/LPzvC05nOWrHQi5601heL5N+gcdd9uR/EacR0pxYlvt2IOqhi+G/xWPkvG0nkgmtvA/njNWvQf3agziAfHMbESEFkngOxfYFF/qRm1Sg0t5Xqfk8mc76DgO02uKvWwyOu7PINTmWEXKwR+unfWJuFpFGNVIQx9AA4cEjg2JCpwfmxiSEZUWuDu/PLY1sTKkJ6MgqimtLrb1cfJ4+3/8ault7mTnY+BOzUnKQMNHxFLRVdZc31vYa2jsb+Vm4mH3dPBz+Xr+fdNQ1FfdXtpZz0zIS8FCxkXdnhqZE5AUlwGCBoUPjAiLJaYioSuoLK85uj69N7QwsxBT11TeXdlazE/LSMJBxUboa+9s5mXhYvR383D6ef1+5qUhoiirL6w6uT2+NLczsB6dGZoQkxeUAoEFhgyPC4g7OLw/tTayMackoCOpKq4tgwCEB40OigmfHJgbkRKWFY3OSslDwETHUdJW1V/cWNt19nLxe/h8/2nqbu1n5GDjQALFh0sJzoxWFNORXR/Ymmwu6atnJeKgejj/vXEz9LZe3BtZldcQUojKDU+DwQZEsvA3dbn7PH6k5iFjr+0qaL2/eDr2tHMx66luLOCiZSfRk1QW2phfHceFQgDMjkkL42Gm5Chqre81d7DyPny7+Q9NisgERoHDGVuc3hJQl9U9/zh6tvQzcavpLmyg4iVnkdMUVprYH12HxQJAjM4JS6Mh5qRoKu2vdTfwsn48+7lPDcqIRAbBg1kb3J5SENeVQEKFxwtJjswWVJPRHV+Y2ixuqesnZaLgOni//TFztPYenFsZ1ZdQEsiKTQ/DgUYE8rB3Nfm7fD7kpmEj761qKMADRoXNDkuI2hlcn9cUUZL0N3Kx+Tp/vO4taKvjIGWm7u2oayPgpWY097JxOfq/fBrZnF8X1JFSAMOGRQ3Oi0gbWB3ellUQ04FCB8SMTwrJr2wp6qJhJOe1djPwuHs+/bW28zB4u/49b6zpKmKh5CdBgscETI/KCVuY3R5WldATdrXwM3u4/T5sr+opYaLnJEKBxAdPjMkKWJveHVWW0xBYWx7dlVYT0IJBBMePTAnKrG8q6aFiJ+S2dTDzu3g9/q3uq2gg46ZlN/Sxcjr5vH8Z2p9cFNeSUQPAhUYOzYhLAwBFhs4NSIvZGl+c1BdSkfc0cbL6OXy/7S5rqOAjZqXAAkSGyQtNj9IQVpTbGV+d5CZgou0vaav2NHKw/z17uc7MikgHxYNBHN6YWhXXkVMq6K5sI+GnZTj6vH4x87V3HZ/ZG1SW0BJPjcsJRoTCAHm7/T9wsvQ2a6nvLWKg5iRTURfVmlge3IFDBceISgzOt3Uz8b58OvilZyHjrG4o6rs5f73yMHa06Sttr+AiZKbfHVuZ1hRSkM0PSYvEBkCC9fexczz+uHon5aNhLuyqaBHTlVcY2pxeA8GHRQrIjkwmpOIgb63rKXS28DJ9v/k7QoDGBEuJzw1QktQWWZvdH2hqLO6hYyXnung+/LNxN/WMTgjKhUcBw55cGtiXVRPRloAAAAtAAAALQAAAAEAAAABEAAAAxAAAAgQAAAAAAAAMCQCACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAAoAAAANgAAACoAAAA3AAAAMTRJRE1YUlRQSlREZW11eAAAAABsDAAAHCQCAGT9AQAAAAAAAAABAQICAgIDAwMDAwMDAwQEBAQEBAQEBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBxMRDw8NDQ0NCwsLCwsLCwsJCQkJCQkJCQkJCQkJCQkJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAfAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAHAAAABwAAAAcAAAAHAAAACAAAAAgAAAAIAAAACAAAAAkAAAAJAAAACQAAAAkAAAAKAAAACgAAAAoAAAAKAAAACwAAAAsAAAALAAAACwAAAAwAAAAMAAAADAAAAAwAAAANAAAADQAAAA0AAAANAAAADgAAAA4AAAAOAAAADgAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgBBwd4IC48GAQICAwMDAwQEBAQEBAQEExEPDw0NDQ0LCwsLCwsLCwkJCQkJCQkJCQkJCQkJCQkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEgICAgICAgIB8gICAgICAgDxAREhMUFRYXGBkaGxwdHgcHBwcICAgICQkJCQoKCgoLCwsLDAwMDA0NDQ0ODg4OAwMDAwMDAwMDAwMDAwMDAwQEBAQEBAQEBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgIC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aW5pdF9kYXNoX21vb2ZfYm94AFslc11bJWRdIHNvbWV0aGluZyBmYWlsZWQAZmluaV9kYXNoX21vb2ZfYm94AGluaXRfZGFzaF9tdmV4X2JveABpbml0X2Rhc2hfdHJ1bl9ib3gAaW5pdF9kYXNoX3RyYWZfYm94AGluaXRfZGFzaF9zaWR4X2JveABmaWxsX2Rhc2hfaW5kZXgAWyVzXVslZF0gc3RyaW5nIHBvaW50ZXIgaXMgbnVsbABhZGRfbGFzdF90cnVuX3NhbXBsZV93aXRob3V0X25leHRGcmFtZQBhZGRfbGFzdF90cnVuX3NhbXBsZQBmaWxsX2Rhc2hfdHJ1bl9ib3gAZ2V0X2Rhc2hfdHJhZgBnZXQgdHJhZiBmYWlsZWQgdHlwZVsleF0AcHJlc2V0X2Rhc2hfcGFyYW1ldGVyAGJ1aWxkX2Rhc2hfc3R5cF9ib3gAYnVpbGRfZGFzaF9tZGF0X2JveABidWlsZF9kYXNoX21laGRfYm94AGJ1aWxkX2Rhc2hfbXZleF9ib3gAYnVpbGRfZGFzaF90cmV4X2JveABidWlsZF9kYXNoX3RyZXBfYm94AGRhc2hfYnVpbGRfbWZoZF9ib3gAYnVpbGRfZGFzaF90ZmR0X2JveABidWlsZF9kYXNoX3RyYWZfYm94AGJ1aWxkX2Rhc2hfdGZoZF9ib3gAYnVpbGRfZGFzaF90cnVuX2JveABidWlsZF9kYXNoX21vb2ZfYm94AGJ1aWxkX2Rhc2hfc2lkeF9ib3gAYnVpbGRfZGFzaF9pbmRleF93aXRob3V0X25leHRmcmFtZQBidWlsZF9kYXNoX2luZGV4AHJlYWRfZGFzaF9lbnRyeV9hcnJheQByZXNldF9kYXNoX2luZGV4AFslc11bJWRdIGFyZyBlcnIAaW5pdF9tb292X2JveABbJXNdWyVkXSBzb21ldGhpbmcgZmFpbGVkAGZpbmlfbW9vdl9ib3gAaW5pdF9zdGJsX2JveABpbml0X3RyYWtfYm94AGluaXRfbWRpYV9ib3gAaW5pdF9taW5mX2JveABpbml0X3N0c2RfYm94AGluaXRfdmlkZW9fZGVzY3IAaW5pdF9lc2RzX2JveABpbml0X2F1ZGlvX2Rlc2NyAGluaXRfaGludF9kZXNjcgBpbml0X3RleHRfZGVzY3IAZmlsbF9zcHMAZmlsbCBzcHMgZmFpbGVkLGxlblslZF0AZmlsbF9wcHMAZmlsbCBwcHMgZmFpbGVkLGxlblslZF0AZmlsbF9oZXZjX3ZwcwBmaWxsIHZwcyBmYWlsZWQsbGVuWyVkXQBmaWxsX2hldmNfc3BzAGZpbGxfaGV2Y19wcHMAWyVzXVslZF0gc3RyaW5nIHBvaW50ZXIgaXMgbnVsbABhZGRfc3Rzel9lbnRyeQBmaWxsX3N0c3pfYm94AGZpbGxfc3R0c19ib3gAYWRkX3N0Y29fZW50cnkAZmlsbF9zdGNvX2JveABmaWxsX3N0c3NfYm94AGFkZF9jdHRzX2VudHJ5AGZpbGxfY3R0c19ib3gAZmlsbF9tcGVnNF9wYXJhbQBnZXRfYm94AGdldF90cmFrAGdldCB0cmFrIGZhaWxlZCB0eXBlWyV4XQBpZHhfZmlsbF9tYXRyaXgAYnVpbGRfZnR5cF9ib3gAaWR4X2J1aWxkX2Z0eXBfYm94AGJ1aWxkX21kYXRfYm94AGlkeF9idWlsZF9tZGF0X2JveABpZHhfZmlsbF9iYXNlAGFkZF9sYXN0X3N0dHNfZW50cnkAcmVtb3ZlX2xhc3Rfc3R0c19lbnRyeQByZW1vdmUgc3VjY2VzcyBpbmRleCAldSV1CgBidWlsZF9tb292X2JveABidWlsZF9tdmhkX2JveABidWlsZF90cmFrX2JveABidWlsZF90a2hkX2JveABidWlsZF9tZGlhX2JveABidWlsZF9tZGhkX2JveABidWlsZF9oZGxyX2JveABidWlsZF9taW5mX2JveABidWlsZF92c21oZF9ib3gAYnVpbGRfZGluZl9ib3gAYnVpbGRfc3RibF9ib3gAYnVpbGRfc3RzZF9ib3gAYnVpbGRfaW5mb19ib3gAYnVpbGRfdGV4dF9ib3gAZnJlZV9lbnRyeV9hcnJheQByZWFkX2VudHJ5X2FycmF5AGJ1aWxkX3N0dHNfYm94AGJ1aWxkX3N0c3pfYm94AGJ1aWxkX3N0c2NfYm94AGJ1aWxkX3N0Y29fYm94AGJ1aWxkX3N0c3NfYm94AGJ1aWxkX2N0dHNfYm94AGJ1aWxkX2F2YzFfYm94AGJ1aWxkX2h2Y2NfYm94AGJ1aWxkX2h2YzFfYm94AGJ1aWxkX21wNHZfYm94AGJ1aWxkX21wNGFfYm94AGJ1aWxkX2F1bGF3X2JveABidWlsZF9hdmNjX2JveABidWlsZF92c3BfZW50cnkAaWR4X2ZpbGxfZGNkAGlkeF9maWxsX2VzZABidWlsZF9lc2RzX2JveABwYXRjaF9zdGNvX2VudHJ5AHBhdGNoX3N0Y29fYm94AGJ1aWxkX3NraXBfYm94AGJ1aWxkX3ByZXdyaXRlX2RhdGEAc2V0X3ByZWluZGV4X3BhcmFtAGJ1aWxkX3VkdGFfYm94AHJlc2V0AEHAvAkLCwpBVkMgQ29kaW5nAEHgvAkLDAtIRVZDIENvZGluZwBBgL0JCwwLTVBFRzRDb2RpbmcAQaC9CQvJCFslc11bJWRdIGFyZyBlcnIAZmlsbF9pc29fYmFzZV9tcDRfaW5kZXgAWyVzXVslZF0gc29tZXRoaW5nIGZhaWxlZABkZV9pbml0aWFsaXplAGluaXRpYWxpemUAcHJvY2Vzc19oMjY0bmFsdQBwcm9jZXNzX2gyNjVuYWx1AHByb2Nlc3NfaDI2NABwcm9jZXNzX21wZWc0AHByb2Nlc3NfaDI2NQBwcm9jZXNzX3ZpZGVvX2RhdGEAcHJvY2Vzc19hdWRpb19kYXRhAHByb2Nlc3NfcHJpdmF0ZV9kYXRhAHByb2Nlc3Nfc3VidGl0bGVfZGF0YQBwcm9jZXNzAE1QNE1VWF9HZXRNZW1TaXplAE1QNE1VWF9DcmVhdGUATVA0TVVYX0J1aWxkU2VnbWVudEluZGV4AE1QNE1VWF9CdWlsZEluZGV4AE1QNE1VWF9EZXRyb3kATVA0TVVYX1NldEZNUDRQYXJhAAAAAAAAVGACAMgAAADJAAAAygAAAMsAAADMAAAAzQAAAM4AAADPAAAA0AAAANEAAADSAAAA0wAAAK0AAAA5Q01QNE11eGVyAABsDAAASGACACxRAgBhdmltdXgtLXNvbWV0aGluZyBmYWlsZWQgYXQgbGluZSBbJWRdAGF2aW11eC0tcHRyIGlzIG51bGxbJWRdAGF2aW11eC0tc29tZXRoaW5nIGZhaWxlZCBhdCBsaW5lIFslZF0AAAAAAAxhAgDUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAA2wAAAKkAAACqAAAAqwAAAKwAAACtAAAAOUNBVklNdXhlcgAAbAwAAABhAgAsUQIAb25NZXRhRGF0YQB3aWR0aABoZWlnaHQAdmlkZW9kYXRhcmF0ZQBmcmFtZXJhdGUAdmlkZW9jb2RlY2lkAGF1ZGlvZGF0YXJhdGUAYXVkaW9zYW1wbGVyYXRlAGF1ZGlvc2FtcGxlc2l6ZQBzdGVyZW8AYXVkaW9jb2RlY2lkAAAAAAAA4GECANwAAADdAAAA3gAAAN8AAADgAAAA4QAAAOIAAADjAAAAqQAAAKoAAACrAAAA5AAAAK0AAAA5Q0ZMVk11eGVyAABsDAAA1GECACxRAgCh3KuMR6nPEY7kAMAMIFNltQO/Xy6pzxGO4wDADCBTZRHS06u6qc8RjuYAwAwgU2WRB9y3t6nPEY7mAMAMIFNlwO8ZvE1bzxGo/QCAX1xEKwBX+yBVW88RqP0AgF9cRCtAnmn4TVvPEaj9AIBfXEQrUM3Dv49hzxGLsgCqALTiIDAmsnWOZs8RptkAqgBizmw2JrJ1jmbPEabZAKoAYs5sAAAAANRiAgDmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAKkAAACqAAAAqwAAAKwAAACtAAAAOUNBU0ZNdXhlcgAAbAwAAMhiAgAsUQIAAQAAAAAAAAABAEH0xQkLFQIAAAACAAAAAQAAAAEAAAAAAAAAAgBBlMYJCz4EAAAABAAAAAMAAAAAdwEAiFgBAAD6AACAuwAARKwAAAB9AADAXQAAIlYAAIA+AADgLgAAESsAAEAfAAC2HABB5MYJC/MrrGMCAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAAqQAAAKoAAACrAAAArAAAAPYAAAAxMENSVE1QTXV4ZXIAAAAAbAwAAJxjAgAsUQIAAAAAAABkAgD3AAAA+AAAAPkAAAD6AAAA+wAAAPwAAAD9AAAA/gAAAKkAAACqAAAAqwAAAKwAAACtAAAAOUNXQVZNdXhlcgAAbAwAAPRjAgAsUQIAAAAAAPhuAgD/AAAAAAEAAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIHBvaW50ZXIgaXMgTlVMTF0ASW5pdFBhY2sAWyVzXVslZF1bMFglWF0gW0Z1Y3Rpb24gRXJyb3IhISxuUmV0ID0gMHgleF0AWyVzXVslZF1bMFglWF0gW1JFTU9WRSBUbXBGaWxlUGF0aDogJXNdAFJlbGVhc2VQYWNrAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIHRoZSB0YXJnZXQgZmlsZSBwYXRoIHBvaW50ZXIgaXMgTlVMTF0AU3RhcnRGaWxlTW9kZQBbJXNdWyVkXVswWCVYXSBbRmlsZSBvcGVyYXRpb24gZXJyb3IsZmlsZW5hbWU6JXNdAFslc11bJWRdWzBYJVhdIFtGaWxlIG9wZXJhdGlvbiBlcnJvcl0ALnN0dG1wAFslc11bJWRdWzBYJVhdIFtGaWxlIG9wZXJhdGlvbiBlcnJvcixUbXBGaWxlIGZpbGVuYW1lOiVzCl0AWyVzXVslZF1bMFglWF0gW0ZpbGUgb3BlcmF0aW9uIGVycm9yLG5SZXQ6JXhdAE1hbnVhbFN3aXRjaABbJXNdWyVkXVswWCVYXSBbTWFudWFsU3dpdGNoIHN1Y2Nlc3NdAFslc11bJWRdWzBYJVhdIFtTdG9wIHN0YXRlLCB0cmFuc2Zvcm0gc3RhdHVzIGlzIHN0b3BwZWRdAElucHV0RGF0YQBbJXNdWyVkXVswWCVYXSBbQ3JlYXRlIGEgYmxhbmsgcGFja2V0IGZvciBNRkkgZnJhbWUgbG9zczogc2VxPSV1XQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCB0aGUgZGF0YSBwb2ludGVyIHBEYXRhIGlzIE5VTEwgb3IgZGF0YSBsZW5ndGggaXMgMF0AWyVzXVslZF1bMFglWF0gW0NhbGxiYWNrIG91dCBBRnJhbWUsIFRpbWVTdGFtcDolZF0AWyVzXVslZF1bMFglWF0gW0NhbGxiYWNrIG91dCBQRnJhbWUsIFRpbWVTdGFtcDolZF0AWyVzXVslZF1bMFglWF0gW0NhbGxiYWNrIG91dCBWRnJhbWVUeXBlOiVkLCBUaW1lU3RhbXA6JWRdAFslc11bJWRdWzBYJVhdIFtDYWxsYmFjayBpbiBBRnJhbWUsIFRpbWVTdGFtcDolZF0AWyVzXVslZF1bMFglWF0gW0NhbGxiYWNrIGluIFBGcmFtZSwgVGltZVN0YW1wOiVkXQBbJXNdWyVkXVswWCVYXSBbQ2FsbGJhY2sgaW4gVkZyYW1lVHlwZTolZCwgVGltZVN0YW1wOiVkXQBbJXNdWyVkXVswWCVYXSBbUHJvY2Vzc0N1c3RvbSBlcnJvcixuUmV0ID0gMHgleF0AWyVzXVslZF1bMFglWF0gW1Byb2Nlc3NGcmFtZSBlcnJvcixuUmV0ID0gMHgleF0AWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBlcnJvciwgdGhlIGtleSBwb2ludGVyIGlzIE5VTEwhXQBTZXRFbmNyeXB0S2V5AFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkLCBlbmNyeXB0IHR5cGUgdW5zdXBwb3J0ZWRdAFslc11bJWRdWzBYJVhdIFtSZWdpc3Rlck1vZGlmeUdsb2JhbFRpbWVDYWxsQmFjayxlcnJjb2RlOiV4XQBSZWdpc3Rlck1vZGlmeUdsb2JhbFRpbWVDYWxsQmFjawBQYWNrXzBYJVhfMFglWABbJXNdWyVkXVswWCVYXSBbTVggTUZJOiB2ZXI6JXUsIHNlcToldSwgc3VtOiV1LCB0czoldSwgZ2xiX3RpbWU6JTA0ZC8lMDJkLyUwMmQgJTAyZDolMDJkOiUwMmQuJTAzZCwgZnJhbWVfdHlwZToldSwgZnJhbWVfbm86JXUsIFcqSDoldSoldSwgbGVmdF90b3A6WyV1LCV1LCV1LCV1XSwgdG90YWw6JXUqJXVdAFByb2NNZmlJbmZvAEdsb2JhbFRpbWVDYWxsQmFjawBQcm9jZXNzRnJhbWUAWyVzXVslZF1bMFglWF0gW1ZpZGVvIEZSQU1FOiAgRnJhbWVUeXBlOiAleDsgdGltZV9zdGFtcDolZF0AWyVzXVslZF1bMFglWF0gW0F1ZGlvIEZSQU1FOiAgRnJhbWVUeXBlOiAleDsgdGltZV9zdGFtcDolZF0AWyVzXVslZF1bMFglWF0gW1ByaXZhdGUgRlJBTUU6ICBGcmFtZVR5cGU6ICV4OyB0aW1lX3N0YW1wOiVkXQBbJXNdWyVkXVswWCVYXSBbSU1VWF9JbnB1dERhdGEgZXJyb3IsblJldCA9IDB4JXhdAFslc11bJWRdWzBYJVhdIFtJTVVYX091dHB1dERhdGEgZXJyb3IsblJldCA9IDB4JXhdAE91dHB1dERhdGEAWyVzXVslZF1bMFglWF0gW0ZMViBkd0RhdGFMZW4gZXJyb3I6ZHdEYXRhTGVuOlslZF0gcHN0T3V0RGF0YS0+bkRhdGFMZW5bJWRdXQBbJXNdWyVkXVswWCVYXSBbUlRQSW5mbzpMZW50aDpbJWRdIFBUWyVkXSBTZXFbJWRdIE1hcmtiaXRbJWRdIFRpbWVzdGFtcFsldV0gU1NSQ1sleF1dAFslc11bJWRdWzBYJVhdIFtbT3V0cHV0Q2JdIGZybV90eXBlOiVzLCBkYXRhX3R5cGU6JWQ7IGZybV9ubzoldSwgdHM6JXUsIGZybV9yYXRlOiVkLCBnbGJfdGltZTolMDRkLyUwMmQvJTAyZCAlMDJkOiUwMmQ6JTAyZC4lMDNkLCBXKkg6JWQqJWQsIHJhd19sZW46JXVdAEkAUABCAFslc11bJWRdWzBYJVhdIFtbT3V0cHV0Q2JdIGZybV90eXBlOiVzLCBkYXRhX3R5cGU6JWQ7IGZybV9ubzoldSwgdHM6JXUsIHJhd19sZW46JXVdAEEAUHJpdnQAWyVzXVslZF1bMFglWF0gW1tPdXRwdXRDYl0gRGF0YUxlbjpbJWRdIERhdGFUeXBlWyVkXSBGbGFnWyVkXV0AWyVzXVslZF1bMFglWF0gW1tPdXRwdXRDYl0gYWZ0ZXJdAFslc11bJWRdWzBYJVhdIFtbRGV0YWlsQ2JdIGZybV90eXBlOiVzLCBmcm1fbm86JXUsIHRzOiV1LCBmcm1fcmF0ZTolZCwgZ2xiX3RpbWU6JTA0ZC8lMDJkLyUwMmQgJTAyZDolMDJkOiUwMmQuJTAzZCwgVypIOiVkKiVkLCByYXdfbGVuOiV1LCBlbmNyeXB0OiV1LCBleGlzdF9nbGJ0aW1lOiV1XQBbJXNdWyVkXVswWCVYXSBbW0RldGFpbENiXSBmcm1fdHlwZTolcywgZnJtX25vOiV1LCB0czoldSwgcmF3X2xlbjoldV0AWyVzXVslZF1bMFglWF0gW1tEZXRhaWxDYiBhZnRlcl1dAER1bXBGaWxlAFNldFN0cmVhbUVuZABbJXNdWyVkXVswWCVYXSBbc2VlayBjdXIgdGltZVslbHVdLCBzdGFydCB0aW1lWyVsdV0sIHNlZWsgdGltZVslbHVdCl0AUHJvY1NlZWsAMTJTVF9BcnJheUxpc3QARAwAAOluAgADAAAAAQAAAAAAAAAEAAAABQAAAAIAAAADAAAABAAAAAEAAAAMAAAAAgAAAAUAAAB2ZWN0b3IAWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBlcnJvciwgcG9pbnRlciBpcyBOVUxMXQBJbml0RGVtdXgAWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBlcnJvciwgcG9pbnRlciBzelNyY1BhdGggaXMgTlVMTCFdAFN0YXJ0RmlsZU1vZGUAWyVzXVslZF1bMFglWF0gW0ZpbGUgb3BlcmF0aW9uIGVycm9yLCBvcGVuIGZpbGUgZmFpbGVkIV0AWyVzXVslZF1bMFglWF0gW0NyZWF0ZURlbXV4IGZhaWxlZCEgaFJldDoleF0AWyVzXVslZF1bMFglWF0gW1Jlc291cmNlIHJlcXVlc3QgZmFpbGVkIV0AWyVzXVslZF1bMFglWF0gW1N0YXJ0RmlsZU1vZGUgZmFpbGVkLGVycmNvZGU6JXgsIHN5c3RlbV9mb3JtYXQ6JWRdAFslc11bJWRdWzBYJVhdIFtTdG9wIHN0YXRlLCB0cmFuc2Zvcm0gc3RhdHVzIGlzIHN0b3BwZWRdAElucHV0RGF0YQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCB0aGUgZGF0YSBwb2ludGVyIHBEYXRhIGlzIE5VTEwhXQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCB0aGUgRGF0YUxlbnIgIGlzICVkXQBbJXNdWyVkXVswWCVYXSBbRnVjdGlvbiBFcnJvciEhLG5SZXQgPSAweCV4XQBbJXNdWyVkXVswWCVYXSBbQnVmZmVyIG92ZXJmbG93LCBkYXRhIGxlbmd0aCBpcyBncmVhdGVyIHRoYW4gdGhlIHNldCBidWZmZXIgc2l6ZV0AWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBlcnJvciwgcG9pbnRlciBwS2V5IGlzIE5VTEwhXQBTZXREZWNyeXB0S2V5AFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIHBvaW50ZXIgcHN0R2xvYmFsVGltZSBpcyBOVUxMIV0AU2V0R2xvYmFsVGltZQBEZW11eF8wWCVYXzBYJVgAUmF3XzBYJVhfMFglWABQdXNoRmlsZURhdGEAU2V0UlRQU2Vzc2lvbkluZm8AWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBl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bWV0ZXItc2V0cwBzcHJvcC12cHMAc3Byb3Atc3BzAHNwcm9wLXBwcwBIMjY0AEgyNjUAU1ZBQwBKUEVHAG1wZWc0LWdlbmVyaWMATVBFRzQtR0VORVJJQwBQQ01BAFBDTVUAYXVkaW8AdmlkZW8AaW5mbwAuLi8uLi9NZWRpYV9JbnNwZWN0L1BhcnNlSElLU3lzdGVtLmNwcABnZXRfdmlkZW9fcmVzb2x1dGlvbgBmaWxlX2hlYWRlcgBwYXJzZV9maWxlX2hlYWRlcgBncm91cF9oZWFkZXIAYmxvY2tfaGVhZGVyAGlzX3ZhbGlkX2Jsb2NrX2hlYWRlcgBidWYAcGFyc2VfZ3JvdXAAcGFyc2Vfc3RyZWFtAFBhcnNlU3RyZWFtQXNISUtTeXN0ZW0AYnVmAC4uLy4uL01lZGlhX0luc3BlY3QvUGFyc2VEZXNjcmlwdG9yLmNwcABwYXJzZV9kZXNjcmlwdG9yAGVzX2luZm8AcGFyc2VfZGVzY3JpcHRvcl9hcmVhAAAAAHcBAIhYAQAA+gAAgLsAAESsAAAAfQAAwF0AACJWAACAPgAA4C4AABErAABAHwAAthwAQZD3CQtCQB8AAKAPAABAHwAAESsAAIA+AAAgTgAAIlYAAAB9AABErAAAgLsAAAB3AQAA7gIAAPoAAAMAAAAAAQAABAAAAAABAEHh9wkLAQEAQfD3CQvnPQUAAAAAAAAA0JoCAAQBAAAFAQAAWyVzXVslZF1bMFglWF0gW3BzdFRyYW5zSW5mIE51bGwsU1lTVFJBTlNfRV9QQVJBXQBDcmVhdGUAWyVzXVslZF1bMFglWF0gW0FuYWx5emVTcmNJbmZvIGZhaWxlZCwgZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW1VuSGVhZGVyIGRldGVjdCBjcmVhdGUhISFdAFslc11bJWRdWzBYJVhdIFtQcmUtY29uZGl0aW9ucyBub3QgbWV0LCBwb2ludGVyIG1fcGNEZW11eCBvciBtX3BjUGFjayBpcyBOVUxMIGFuZCBtX2JOZWVkSW5zcGVjdCBpcyBmYWxzZSFdAFN0YXJ0AFslc11bJWRdWzBYJVhdIFtQcmUtY29uZGl0aW9ucyBub3QgbWV0LCBtdWx0aXBsZSBzdGFydHMgYXJlIG5vdCBhbGxvd2VkIV0AWyVzXVslZF1bMFglWF0gW1NUX1RSQU5TISEhXQBbJXNdWyVkXVswWCVYXSBbU3RhcnRGaWxlTW9kZSBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtTdGFydEF1dG9Td2l0Y2ggZmFpbGVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbU3RhcnRBdXRvU3dpdGNoIHN1Y2Nlc3NdAFslc11bJWRdWzBYJVhdIFtTdG9wIGZhaWxlZCxlcnJjb2RlOiV4XQBTdG9wAFslc11bJWRdWzBYJVhdIFtTVF9TVE9QISEhXQBbJXNdWyVkXVswWCVYXSBbRGVtdXggU3RvcCBmYWlsZWQsZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW1BhY2sgU3RvcCBmYWlsZWQsZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW01hbnVhbFN3aXRjaCBmYWlsZWQsIGVycmNvZGU6JXhdAE1hbnVhbFN3aXRjaABbJXNdWyVkXVswWCVYXSBbTWFudWFsU3dpdGNoIGZhaWxlZCxlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCBwb2ludGVyIHBEYXRhIGlzIE5VTEwhXQBSYXdEZW11eABbJXNdWyVkXVswWCVYXSBbSW5wdXQgcmF3ZGF0YSB0eXBlIGVycm9yOiAldV0AWyVzXVslZF1bMFglWF0gW0lucHV0IHJhd2RhdGEgJXMgJXNdAERBVEEAUEFSQU0AbGVuZ3RoIGlzIDAAWyVzXVslZF1bMFglWF0gW0lucHV0IHJhd2RhdGEgVklERU9fUEFSQSBsZW5ndGggZXJyb3I6ICV1IDwgJXVdAFslc11bJWRdWzBYJVhdIFtJbnB1dCByYXdkYXRhIFZJREVPX1BBUkFfRVggbGVuZ3RoIGVycm9yOiAldSA8ICV1XQBbJXNdWyVkXVswWCVYXSBbSW5wdXQgcmF3ZGF0YSBBVURJT19QQVJBIGxlbmd0aCBlcnJvcjogJXUgPCAldV0AWyVzXVslZF1bMFglWF0gW0FVRElPX1BBUkEgPT0+IHRpbWVzdGFtcDoldSwgc2FtcGxlX3JhdGU6JXUsIGJpdHJhdGU6JXUsIGNoYW46JXVdAFNhdmVBdWRpb1BhY2tQYXJhAFslc11bJWRdWzBYJVhdIFtWSURFT19QQVJBID09PiBmcmFtZV9ubzoldSwgdGltZXN0YW1wOiV1LCBnbGJfdGltZTolMDR1LyUwMnUvJTAydSAlMDJ1OiUwMnU6JTAydS4lMDN1LCBXKkg6JXUqJXUsIGZwczolZl0AU2F2ZVZpZGVvUGFja1BhcmEAWyVzXVslZF1bMFglWF0gW1ZJREVPX1BBUkFfRVggPT0+IGZyYW1lX25vOiV1LCB0aW1lc3RhbXA6JXUsIGdsYl90aW1lOiUwNHUvJTAydS8lMDJ1ICUwMnU6JTAydTolMDJ1LiUwM3UsIFcqSDoldSoldSwgZnBzOiVmXQBTYXZlVmlkZW9QYWNrRXhQYXJhAFslc11bJWRdWzBYJVhdIFtTZXQgVklERU9fUEFSQV9FWCBwYWNrIHR5cGUgTVVMVEkgZmFpbGVkLCB0ZW1wb3Jhcnkgbm90IHN1cHBvcnRdAFslc11bJWRdWzBYJVhdIFtTZXQgVklERU9fUEFSQV9FWCBwYWNrIHR5cGUgQ09NQiBmYWlsZWQsIG5vdCBzdXBwb3J0IHRhcmdldCBmb3JtYXQ6IDB4JTA0eF0AU2F2ZU11bFBhY2tDb21iUGFyYQBbJXNdWyVkXVswWCVYXSBbTUZJIHBhcmEodmVyMiksIHNlcToldSwgc3VtOiV1LCBsZWZ0X3RvcDpbJXUsJXUsJXUsJXVdLCB0b3RhbDoldSoldV0AWyVzXVslZF1bMFglWF0gW01GSSBwYXJhIGNoZWNrIGludmFsaWRdAFslc11bJWRdWzBYJVhdIFtNRkkgcGFyYSh2ZXIxKSwgc2VxOiV1LCBzdW06JXVdAFslc11bJWRdWzBYJVhdIFtNRkkgdHlwZSBub25lLCBhdXRvIGNoYW5nZSB0byBNRkkgMiBieXRlcyB2ZXJzaW9uLCBzZXE6JXUsIHN1bToldV0AWyVzXVslZF1bMFglWF0gW01GSSB0eXBlIG5vbmUsIGF1dG8gY2hhbmdlIHRvIE1GSSAzIGJ5dGVzIHZlcnNpb24sIHNlcToldSwgc3VtOiV1XQBbJXNdWyVkXVswWCVYXSBbTUZJIHR5cGUgdW5rbm93biAldV0AWyVzXVslZF1bMFglWF0gW01GSSBpbnB1dCBzZXF1ZW5jZSBlcnJvcjogZmlyc3QgaW5uZXIgZnJhbWUgc2VxdWVuY2Ugc2hvdWxkIGJlIDAsIGJ1dCBpcyAldV0AWyVzXVslZF1bMFglWF0gW01GSSBpbnB1dCBzZXF1ZW5jZSBvcmRlciBlcnJvcjogJXUgLT4gJXVdAFslc11bJWRdWzBYJVhdIFtNRkkgaW5wdXQgdGltZXN0YW1wIGRpZmYgZnJvbSBvdGhlciBzdWIgZnJhbWVzOiAldSAtPiAldV0AWyVzXVslZF1bMFglWF0gW1ZJREVPX0RBVEEsIGR3RGF0YUxlbjoldV0ASW5wdXRWaWRlb1Jhd0ZyYW1lRGF0YQBbJXNdWyVkXVswWCVYXSBbUmF3RGF0YSBHZXRWaWRlb0NvZGVjSW5mb0ludHJhIGZhaWxlZCgweCUwOHgpIGFzIHZpZGVvIGZvcm1hdCAweCUwNHhdAFslc11bJWRdWzBYJVhdIFtSYXdEYXRhIEdldFZpZGVvQ29kZWNJbmZvSW50cmEgdW5rbm93biBmcmFtZSB0eXBlOiAweCUwOHhdAFslc11bJWRdWzBYJVhdIFtNRkkgaW5wdXQgZnJhbWUgdHlwZSBkaWZmIGZyb20gb3RoZXIgc3ViIGZyYW1lczogJXUgLT4gJXVdAFslc11bJWRdWzBYJVhdIFtNWE1hbmFnZXIgbm90IGluaXQhXQBbJXNdWyVkXVswWCVYXSBbQVVESU9fREFUQSwgZHdEYXRhTGVuOiV1XQBJbnB1dEF1ZGlvUmF3RnJhbWVEYXRhAElucHV0RGF0YQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCBzdHJlYW0gdHlwZSBlcnJvciFdAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIGRhdGEgbGVuZ3RoIGlzIDBdAFslc11bJWRdWzBYJVhdIFtDcmVhdGVIZWFkbGVCeUluc3BlY3Qgc3VjY2Vzc10AWyVzXVslZF1bMFglWF0gW0NyZWF0ZUhlYWRsZUJ5SW5zcGVjdCBmYWlsZWQsZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW0lucHV0RGF0YSBmYWlsZWQsZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW1R5cGUgdW5zdXBwb3J0ZWQsIFNvdXJjZSBpcyBmaWxlIGZvcm1hdApdAFslc11bJWRdWzBYJVhdIFtSZWdpc3Rlck91dHB1dERhdGFDYWxsQmFjayBmYWlsZWQsZXJyY29kZToleF0AUmVnaXN0ZXJPdXRwdXREYXRhQ2FsbEJhY2sAWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBlcnJvciwgcG9pbnRlciBwc3RHbG9iYWxUaW1lIGlzIE5VTEwhXQBTZXRHbG9iYWxUaW1lAFslc11bJWRdWzBYJVhdIFtQcmUtY29uZGl0aW9ucyBub3QgbWV0LCBwb2ludGVyIG1fcGNEZW11eCBpcyBOVUxMIGFuZCBtX2JOZWVkSW5zcGVjdCBpcyBmYWxzZSFdAFslc11bJWRdWzBYJVhdIFtQcmUtY29uZGl0aW9ucyBub3QgbWV0LCBTVF9UUkFOUyA9PSBtX25TdGF0dXNdAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIHBzdEdsb2JhbFRpbWUtPmR3TXMgPj0gMTAwMCFdAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIHRpbWUgY29ycmVjdGlvbiBmYWlsZWQhXQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCB0aW1lIGlzIGludmFsaWQgYW5kIGlzIG5vdCBlcXVhbCB0byB0aGUgb3JpZ2luYWwgdmFsdWUhXQBbJXNdWyVkXVswWCVYXSBbUGFyYW1ldGVyIGVycm9yLCBwb2ludGVyIHBLZXkgaXMgTlVMTCEKXQBTZXRFbmNyeXB0S2V5AFslc11bJWRdWzBYJVhdIFtLZXkgbGVuZ3RoIGlzICV1LCB1bnN1cHBvcnRlZCFdAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIHBvaW50ZXIgcEtleSBpcyBOVUxMIV0AWyVzXVslZF1bMFglWF0gWyBFbmNyeXB0ZWQgbm93ISEhXQBbJXNdWyVkXVswWCVYXSBbIERlY3J5cHRlZCBub3chISFdAFslc11bJWRdWzBYJVhdIFtQYXJhbWV0ZXIgZXJyb3IsIGRlY3J5cHQgb3IgZW5jcnlwdCB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhXQBbJXNdWyVkXVswWCVYXSBbUmVnaXN0ZXJNb2RpZnlHbG9iYWxUaW1lQ2FsbEJhY2sgZmFpbGVkLGVycmNvZGU6JXhdAFJlZ2lzdGVyTW9kaWZ5R2xvYmFsVGltZUNhbGxCYWNrAFslc11bJWRdWzBYJVhdIFtNb2RpZnlNZWRpYUZpZWxkIGZhaWxlZCxlcnJjb2RlOiV4XQBNb2RpZnlNZWRpYUZpZWxkAFslc11bJWRdWzBYJVhdIFtBbHJlYWR5IFJlZ2lzdGVyZWQgUGFja0luZm9DYWxsQmFjayAsZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW1JlZ2lzdGVyUGFja0luZm9DYWxsQmFjayBmYWlsZWQsZXJyY29kZToleF0AUmVnaXN0ZXJQYWNrSW5mb0NhbGxCYWNrAFslc11bJWRdWzBYJVhdIFtSZWdpc3RlclBhY2tJbmZvQ2FsbEJhY2tdAFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkICwgVmlkZW8gZW5jb2RlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCwgZXJyY29kZToleF0ASW5pdERlbXV4AFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkICwgU291cmNlIHN5c3RlbSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtEZW11eCBJbml0IGZhaWxlZCwgZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW3BhcnNlciBwb2ludGVyIHJlbGVhc2UhXQBSZWxlYXNlRGVtdXgAWyVzXVslZF1bMFglWF0gW0luaXRQYWNrIGZhaWxlZCx1bnN1cHBvcnRlZCBlblRndFR5cGU6JXgsIGVycmNvZGU6JXhdAEluaXRQYWNrAFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkLCBTWVNURU1fUlRQIHZpZGVvIHR5cGUgaXMgbm90IHN1cHBvcnRlZCF2aWRlb19mb3JtYXQ6JXhdAFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkLCBTWVNURU1fUlRQIGF1ZGlvIHR5cGUgaXMgbm90IHN1cHBvcnRlZCFhdWRpb19mb3JtYXQ6JXhdAFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkLCBTWVNURU1fTVBFRzQgdmlkZW8gdHlwZSBpcyBub3Qgc3VwcG9ydGVkIXZpZGVvX2Zvcm1hdDoleF0AWyVzXVslZF1bMFglWF0gW1R5cGUgdW5zdXBwb3J0ZWQsIFNZU1RFTV9NUEVHNCBhdWRpbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhYXVkaW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgU1lTVEVNX0FTRiB2aWRlbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhdmlkZW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgU1lTVEVNX0FTRiBhdWRpbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhYXVkaW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgU1lTVEVNX0ZMViB2aWRlbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhdmlkZW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgU1lTVEVNX0ZMViBhdWRpbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhYXVkaW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgU1lTVEVNX0FWSSB2aWRlbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhdmlkZW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgU1lTVEVNX0FWSSBhdWRpbyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQhYXVkaW9fZm9ybWF0OiV4XQBbJXNdWyVkXVswWCVYXSBbVHlwZSB1bnN1cHBvcnRlZCwgVFJBTlNfU1lTVEVNX1JUTVAgdmlkZW8gdHlwZSBpcyBub3Qgc3VwcG9ydGVkIXZpZGVvX2Zvcm1hdDoleF0AWyVzXVslZF1bMFglWF0gW1R5cGUgdW5zdXBwb3J0ZWQsIFRSQU5TX1NZU1RFTV9SVE1QIGF1ZGlvIHR5cGUgaXMgbm90IHN1cHBvcnRlZCFhdWRpb19mb3JtYXQ6JXhdAFslc11bJWRdWzBYJVhdIFtUeXBlIHVuc3VwcG9ydGVkICwgVGFyZ2V0IHR5cGUgaXMgbm90IHN1cHBvcnRlZCFlblRndFR5cGU6JXhdAFslc11bJWRdWzBYJVhdIFtGaWxlSGVhZGVyVG9NZWRpYUluZm8gZmFpbGVkLGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtJbml0UGFjayBmYWlsZWQsZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW0FuYWx5emVTcmNJbmZvIGZhaWxlZCwgbWVkaWFfZm91cmNjIGVyciwgZXJyY29kZToleF0AQW5hbHl6ZVNyY0luZm8AWyVzXVslZF1bMFglWF0gW0hLX0NyZWF0ZVRocmVhZCBmYWlsZWQhXQBTdGFydEF1dG9Td2l0Y2gAWyVzXVslZF1bMFglWF0gW0hLX0NyZWF0ZVRocmVhZCBzdWNjZXNzLFN3aXRjaFZhbHVlOiVkLCBTd2l0Y2hGbGFnOiVkLCBTdWJOYW1lRmxhZzolZCwgc3pNYWpvck5hbWU6JXNdAF8lNGQlMDJkJTAyZCUwMmQlMDJkJTAyZC5tcDQAWyVzXVslZF1bMFglWF0gW01hbnVhbFN3aXRjaCAsRmlsZVBhdGg6JXNdAEF1dG9Td2l0Y2hGaWxlMQBbJXNdWyVkXVswWCVYXSBbR2V0TWVkaWFJbmZvIGZhaWxlZCxlcnJjb2RlOiV4XQBHZXRNZWRpYUluZm8AQ3JlYXRlSGVhZGxlQnlJbnNwZWN0AFslc11bJWRdWzBYJVhdIFtCdWlsZE1lZGlhSGVhZGVyIGZhaWxlZCwgZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW0lzTWVkaWFJbmZvIGZhaWxlZCwgZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW1NldEdsb2JhbFRpbWUgZmFpbGVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbU2V0RW5jcnlwdEtleSBmYWlsZWQsbV9lbkRlY3J5cHRUeXBlOiVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbU2V0RW5jcnlwdEtleSBmYWlsZWQsbV9lbkVuY3J5cHRUeXBlOiVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbTW9kaWZ5TWVkaWFGaWVsZCBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtSZWdpc3Rlck91dHB1dERhdGFDYWxsQmFjayBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtSZWdpc3Rlck1vZGlmeUdsb2JhbFRpbWVDYWxsQmFjayBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtSZWdpc3RlclBhY2tJbmZvQ2FsbEJhY2sgZmFpbGVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbUmVnaXN0ZXJFcnJEZXRhaWxDYWxsQmFjayBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtTdGFydCBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtHZXRNZWRpYUluZm8gZmFpbGVkLCBlcnJjb2RlOiV4XQBDcmVhdGVIZWFkbGVCeUZpbGVJbnNwZWN0AFslc11bJWRdWzBYJVhdIFtGaWxlSW5zcGVjdCBvcGVuIGZpbGUgZmFpbGVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbRmlsZV9JbnNwZWN0X3YxMCBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtTZXRFbmNyeXB0S2V5IGZhaWxlZCwgZXJyY29kZToleF0AWyVzXVslZF1bMFglWF0gW1BhcmFtZXRlciBlcnJvciwgcG9pbnRlciBpcyBOVUxMXQBJbml0U291cmNlAFslc11bJWRdWzBYJVhdIFtJbml0RGVtdXggZmFpbGVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbSW5pdFBhY2sgZmFpbGVkLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbQ29ubmVjdCBmYWlsZWQsIGVycmNvZGU6JXhdAFslc11bJWRdWzBYJVhdIFtFeGNlcHRpb24gVGltZVN0YW1wSW5mbywgblR5cGU6JWQsIG5UaW1lU3RhbXA6JXUsIG5MYXN0VGltZVN0YW1wOiV1XQBQYWNrSW5mb01vZGlmeU9yaWdpbgBQYWNrSW5mb01vZGlmeUluY3JlYXNlAFslc11bJWRdIFtlcnIgdHlwZV0AU1lTVFJBTlNQYWNrSW5mb0NiZgBbJXNdWyVkXVswWCVYXSBbRW5hYmxlQ2FwYWNpdHkgZmFpbGVkLGVycmNvZGU6JXhdAEVuYWJsZUNhcGFjaXR5AFslc11bJWRdWzBYJVhdIFtFbmFibGUgY2FwYWNpdHkgZmFpbGVko6xmdW5jdGlvbiBub3Qgc3VwcG9ydCwgZXJyY29kZToleF0AUmVnaXN0ZXJFcnJEZXRhaWxDYWxsQmFjawBbJXNdWyVkXVswWCVYXSBbUmVnaXN0ZXJFcnJEZXRhaWxDYWxsQmFjayBmYWlsZWQyLCBlcnJjb2RlOiV4XQBbJXNdWyVkXVswWCVYXSBbTm90IGFsbG93IHRvIHNldCBjb25maWcgYWZ0ZXIgU1lTVFJBTlNfU3RhcnQ6ICV4XQBDb25maWcAMTVDVHJhbnNmb3JtUHJveHkARAwAAL6aAgBB6LUKC6oFAQAAAAIAAABbJXNdWyVkXSBbW1NZU1RSQU5TX1ZlcnNpb249JXNdXQBTWVNUUkFOU19DcmVhdGUAWyVzXVslZF0gW1BhcmFtZXRlciBlcnJvciwgaW5wdXQgcG9pbnRlciBwaFRyYW5zIGlzIE5VTEwhCl0AWyVzXVslZF0gW1NZU1RSQU5TX0NyZWF0ZSBzdWNjZXNzLCBIYW5kbGVbMFglWF1dAFslc11bJWRdIFtSZXNvdXJjZSByZXF1ZXN0IGZhaWxlZCwgaGFuZGxlIGNyZWF0aW9uIGZhaWxlZApdAFslc11bJWRdIFtUcmFuc2Zvcm0gaGFuZGxlIGVycm9yIV0AU1lTVFJBTlNfU3RhcnQAWyVzXVslZF0gW1NZU1RSQU5TX1N0YXJ0LCBIYW5kbGVbMFglWF1dAFslc11bJWRdIFtIYW5kbGUgcmVsZWFzZV0AU1lTVFJBTlNfUmVsZWFzZQBTWVNUUkFOU19TZXRFbmNyeXB0S2V5ACV1ICV1ICV1CgB7U1RDYWxsQmFjaygkMCwgJDEsICQyLCAkMyk7fQBpaWlpAERFVEFJTF9GUkFNRV9JTkZPAG5EYXRhVHlwZQBuRnJhbWVUeXBlAG5UaW1lU3RhbXAAblRpbWVTdGFtcEhpZ2gAbk1hcmtiaXQAblZlcnNpb24AbklzTXA0SW5kZXgAbkZyYW1lTnVtAG5ZZWFyAG5Nb250aABuRGF5AG5Ib3VyAG5NaW51dGUAblNlY29uZABuTWlsbGlTZWNvbmQAbldpZHRoAG5IZWlnaHQAbkZyYW1lUmF0ZQBfR2V0RGV0aWFsRnJhbWVJbmZvADE3REVUQUlMX0ZSQU1FX0lORk8AAEQMAABfnQIAaQB2aQBpaWkAdmlpaQAAAHSdAgBpaQBB0LwKCwNEpgIAQYi9CgsBBQBBlL0KCwEXAEGsvQoLDhgAAAAZAAAAiKYCAAAEAEHEvQoLAQEAQdO9CgsFCv////8AQZi+Cgs6iJ4CAAAAAAAAdwEAiFgBAAD6AACAuwAARKwAAAB9AADAXQAAIlYAAIA+AADgLgAAESsAAEAfAAC2HABB4b4KCzF3AQCIWAEAAPoAAIC7AABErAAAAH0AAMBdAAAiVgAAgD4AAOAuAAARKwAAQB8AALYcAEGkvwoL/QcEwR23CYI7bg1DJtkTBHbcF8VraxqGTbIeR1AFJgjtuCLJ8A8vitbWK0vLYTUMm2QxzYbTPI6gCjhPvb1MEdtwSNDGx0WT4B5BUv2pXxWtrFvUsBtWl5bCUlaLdWoZNshu2Ct/Y5sNpmdaEBF5HUAUfdxdo3Cfe3p0XmbNmCO24Jziq1eRoY2OlWCQOYsnwDyP5t2LgqX7UoZk5uW+K1tYuupG77epYDazaH2BrS8thKnuMDOkrRbqoGwLXdQybZDQ83An3bBW/tlxS0nHNhtMw/cG+860ICLKdT2V8jqAKPb7nZ/7uLtG/3mm8eE+9vTl/+tD6LzNmux90C00hnB3MEdtwD0ESxk5xVauJ4IGqyNDGxwuAD3FKsEgchKOnc8WT4B4GwymoR/NuxYBiusTBUv2pAgI0H0Myc3KeJerB3xWtrBxFZBpddSN3muT3dtvUsBsYhHmtWbQ+wJen0a/Wl5bCFcdfdFT3GBmTZswY0laLdREGQsNQNgWuqylxpeoZNsgpSf9+aHm4E6/obBLu2Ct/LYjiyWy4paSiq0rL45sNpiDLxBBh+4N9pmpXfOdaEBEkCtmnZTqeyrgtB3n5HUAUOk2Jont9zs+87BrO/dxdoz6MlBV/vNN4sa88F/Cfe3ozz7LMcv/1obVuIaD0XmbNNw6ve3Y+6BaaQzg7m3N/VlgjtuAZE/GN3oIljJ+yYuFc4qtXHdLsOtPBA1WS8UQ4UaGNjhCRyuPXAB7iljBZj1VgkDkUUNdUyUdO54h3CYpLJ8A8CheHUc2GU1CMthQ9T+bdiw7WmubAxXWJgfUy5EKl+1IDlbw/xARoPoU0L1NGZOblB1ShiPxL1YO9e5LufitbWD8bHDX4isg0ubqPWXrqRu872gGC9cnu7bT5qYB3qWA2NpknW/EI81qwOLQ3c2h9gTJYOuzvT6Nfrn/kMm0vLYQsH2rp646+6Kq++YVp7jAzKN53XubNmDGn/d9cZK0W6iWdUYfiDIWGozzC62BsC10hXEww12KkJlZS40uVAir91DJtkBOjuZFSk/78kcM3StDzcCce4J9IX9DYJZyAEZPdsFb+GiGC/1sRxZKYQQwk2XFLSQRm0vpFVpWXhgZcIcc2G0wAp89NQZeIIILHQZbD9wb7DeTplEzUrvmPhGdPzrQgIgkl9CNIFbNOi0V6+Mp1PZUxakmecFoO87MKx0XyOoAoNatUKXSbE0S3y9ry9vudnzjocvB52DWduoj8K/u4u0Y8KW9HfRkoKr5J4Zz/eabxIm4/QmNeeC+gDrGZ4T729CavIvVnn2WYpM+sLuX/60Mr7AQsatxDQamMivfovM2aLy0Zm24dXvatTZdA7H3QLQBAEGwxwoLcFN5c3RlbVRyYW5zZm9ybV9WZXJzaW9uX1YzLjEuMS4xMl9TMjAyMzA4MDMxMDI3MDBfMS4xLjFfODQyMjBfUmVsZWFzZV9MSU5VWDY0X0J1aWxkMjAyMzA4MDkxNzA3NDAAAAD///////////////8=";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(wasmBinaryFile);if(binary){return binary}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at \'"+wasmBinaryFile+"\'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;var ASM_CONSTS={171120:function($0,$1,$2,$3){STCallBack($0,$1,$2,$3)}};function _emscripten_asm_const_iii(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\\b_Z[\\w\\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function __ZSt18uncaught_exceptionv(){return __ZSt18uncaught_exceptionv.uncaught_exceptions>0}function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn\'t load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn\'t load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_rename(old_path,new_path){try{old_path=SYSCALLS.getStr(old_path);new_path=SYSCALLS.getStr(new_path);FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_unlink(path){try{path=SYSCALLS.getStr(path);FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\\n"+\' "use strict";\'+" return body.apply(this, arguments);\\n"+"};\\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\\n"+stack.replace(/^Error(:[^\\n]*)?\\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError(\'Cannot convert "\'+_embind_repr(value)+\'" to \'+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and \'this\' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError(\'Cannot convert "\'+_embind_repr(value)+\'" to \'+this.name)}if(valuemaxRange){throw new TypeError(\'Passing a number "\'+_embind_repr(value)+\'" from JS side to C/C++ side to an argument of type "\'+name+\'", which is outside the valid range [\'+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0||i==length){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(HEAP[currentBytePtr>>shift]==0||i==length){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function _abort(){abort()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_get_heap_size(){return HEAPU8.length}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var maxHeapSize=104857600;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_current=306544;var ___tm_timezone=(stringToUTF8("GMT",306592,4),306592);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _pthread_create(){return 6}function _pthread_join(){}function _pthread_mutexattr_init(){}function _pthread_mutexattr_settype(){}function _setTempRet0($i){setTempRet0($i|0)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function _usleep(useconds){var start=_emscripten_get_now();while(_emscripten_get_now()-start>3]);buf+=8}else{buf=buf+3&~3;args.push(HEAP32[buf>>2]);buf+=4}}return args}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\\+\\/\\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run();\n'],{type:"application/javascript"}),url=URL.createObjectURL(workBlob),systemTransformWorkerString=function(staticPath,secretKey){return"(function() {\n try {\n importScripts('"+url+"');\n } catch (error) {\n console.error(error);\n // FIXME: 这个有跨域风险\n var libSystemTransformWASMPath = \""+(staticPath||"https://openstatic.ys7.com/ezuikit_player/plugins/record")+'"\n importScripts(libSystemTransformWASMPath + \'/libSystemTransformWASM.js\');\n }\n const RECORDRTP = 0; //录制一份未经过转封装的码流原始数据,用于定位问题\n let dataType = 1;\n // 转封装库回调函数\n self.STCallBack = function (fileIndex,indexLen, data, dataLen)\n {\n //stFrameInfo的类型见DETAIL_FRAME_INFO\n\t\tlet stFrameInfo = Module._GetDetialFrameInfo();\n let nIsMp4Index = stFrameInfo.nIsMp4Index;\n\n var pData = null;\n pData = new Uint8Array(dataLen);\n pData.set(Module.HEAPU8.subarray(data, data + dataLen));\n if (dataType === 1) {\n postMessage({type: "outputData", buf: pData, dType: 1});\n dataType = 2;\n } else {\n\n if (nIsMp4Index) {\n postMessage({type: "outputData", buf: pData, dType: 6}); //6:索引类型\n } else {\n postMessage({type: "outputData", buf: pData, dType: 2}); //2:码流\n }\n }\n }\n\n self.Module[\'onRuntimeInitialized\'] = function (){\n postMessage({type: "loaded"});\n }\n onmessage = function (e) {\n var data = e.data;\n if ("create" === data.type) {\n if (RECORDRTP) {\n postMessage({type: "created"});\n postMessage({type: "outputData", buf: data.buf, dType: 1});\n } else {\n var iHeadLen = data.len;\n var pHead = Module._malloc(iHeadLen);\n\n self.writeArrayToMemory(new Uint8Array(data.buf), pHead);\n var iTransType = data.packType;//目标格式\n var iRet = Module._CreatHandle(pHead, 5, 4096);\n let pp11 = Module._SysTransConfig(4, 0, 0, 0, 0, 0, 0, 0);\n if (pp11 != 0) {\n console.log("Config Failed:" + pp11);\n }\n if (iRet != 0) {\n console.log("_CreatHandle failed!" + iRet);\n } else {\n const pKey = \''+secretKey+'\';\n var pEncryptKey = pKey.toString();\n // 密钥缓存\n var pEncryptKeyList = new Uint8Array(512);\n // 字符串转换为二进制字节\n for (var i = 0; i < pEncryptKey.length; i++) {\n pEncryptKeyList[i] = pEncryptKey.charCodeAt(i);\n }\n var pEncryptBuff = Module._malloc(512);\n self.writeArrayToMemory(pEncryptKeyList, pEncryptBuff);\n // 设置加密\n Module._SysTransSetEncryptKey(\'1\', pEncryptBuff, pEncryptKey.length * 8);\n\n iRet = Module._SysTransRegisterDataCallBack();\n if(iRet != 0)\n {\n console.log("_SysTransRegisterDataCallBack Failed:" + iRet);\n }\n\n iRet = Module._SysTransStart(null, null);\n if(iRet != 0)\n {\n console.log("_SysTransStart Failed:" + iRet);\n }\n postMessage({type: "created"});\n }\n }\n\n } else if ("inputData" === data.type) {\n\n if (RECORDRTP) {\n var aFileData = new Uint8Array(data.buf); // 拷贝一份\n var iBufferLen = aFileData.length;\n var szBufferLen = iBufferLen.toString(16);\n if (szBufferLen.length === 1) {\n szBufferLen = "000" + szBufferLen;\n } else if (szBufferLen.length === 2) {\n szBufferLen = "00" + szBufferLen;\n } else if (szBufferLen.length === 3) {\n szBufferLen = "0" + szBufferLen;\n }\n var aData = [0, 0, parseInt(szBufferLen.substring(0, 2), 16), parseInt(szBufferLen.substring(2, 4), 16)];\n for(var iIndex = 0, iDataLength = aFileData.length; iIndex < iDataLength; iIndex++) {\n aData[iIndex + 4] = aFileData[iIndex]\n }\n var dataUint8 = new Uint8Array(aData);\n postMessage({type: "outputData", buf: dataUint8.buffer, dType: 2});\n } else {\n let pInputDataBuf = Module._malloc(data.len);\n var idataLen = data.len;\n self.writeArrayToMemory(new Uint8Array(data.buf), pInputDataBuf);\n // 输入数据,每次最多2m\n let pp = Module._SysTransInputData(0, pInputDataBuf, idataLen);\n if(pp != 0) {\n //console.log("InputData Failed:" + pp);\n }\n Module._free(pInputDataBuf);\n }\n } else if ("release" === data.type) {\n var iRet = Module._SysTransStop();\n if (iRet != 0) {\n console.log("_SysTransStop failed!");\n }\n Module._SysTransRelease();\n if (iRet != 0) {\n console.log("_SysTransRelease failed!");\n }\n close();\n }\n };\n})();'};window.requestFileSystem=window.requestFileSystem||window.webkitRequestFileSystem,window.URL=window.URL||window.webkitURL;var STORAGELIST,FileSystem=function(){function FileSystem(szUUID,szFileName,iStreamType,options){this.szUUID=szUUID,this.szFileName=szFileName,this.iStreamType=iStreamType,this.szPath="",this.bStart=!1,this.aStreamList=[],this.options=options,this.fileContents=[]}var _proto=FileSystem.prototype;return _proto.init=function(){var that=this;return new Promise((function(resolve){that.fileContents=[]}))},_proto.getDateDir=function(){return oTool.dateFormat(new Date,"yyyy-MM-dd")},_proto.writeFileHeader=function(aData){var headerBlob=new Blob([aData],{type:"application/octet-stream"});this.fileContents.push(headerBlob),this.bStart=!0},_proto.writeFileContent=function(aData){var contentBlob=new Blob([aData],{type:"application/octet-stream"});this.fileContents.push(contentBlob)},_proto.writeFile=function(fileWriter){var that=this;if(this.bStart)if(this.aStreamList.length>0){var aData=this.aStreamList.shift();if(fileWriter.seek(fileWriter.length),fileWriter.length>=this.options.iFileSize)return void(this.options.cbEventHandler&&this.options.cbEventHandler(3001,this.szUUID));var oBlob=new Blob([aData]);fileWriter.write(oBlob)}else setTimeout((function(){that.writeFile(fileWriter)}),1e3)},_proto.stopWriteFile=function(){var that=this;return this.bStart=!1,new Promise((function(resolve){var file=new Blob(that.fileContents,{type:"application/octet-stream"});that.fileContents=[],resolve(URL.createObjectURL(file))}))},FileSystem}(),Storage=function(){function Storage(szBasePath,szUUID,szFileName,aHeadBuf,iPackType,iStreamType,options,staticPath,secretKey){this.szBasePath=szBasePath,this.szUUID=szUUID,this.szFileName=szFileName,this.aHeadBuf=new Uint8Array(aHeadBuf),this.iPackType=iPackType,this.iStreamType=iStreamType,this.oWorker=null,this.oFileSystem=null,this.options=options,this.bHead=!0,this.staticPath=staticPath,this.secretKey=secretKey,this.fileContents=[]}var _proto=Storage.prototype;return _proto.init=function(stopCallBack){var that=this;return new Promise((function(resolve,reject){that.initWorker(stopCallBack).then((function(){resolve(that.szUUID)}),(function(iError){reject(iError)}))}))},_proto.initFileSystem=function(){var that=this;return this.oFileSystem=new FileSystem(this.szUUID,this.szFileName,this.iStreamType,this.options),new Promise((function(resolve,reject){that.oFileSystem.init().then((function(){resolve()}),(function(iError){reject(iError)}))}))},_proto.initWorker=function(stopCallBack){var that=this,oPromise=new Promise((function(resolve){var workBlob=new Blob([systemTransformWorkerString(that.staticPath,that.secretKey)],{type:"application/javascript"}),url=URL.createObjectURL(workBlob);that.oWorker=new Worker(url),that.oWorker.onmessage=function(e){var data=e.data,packType=that.iPackType;if(1===that.options.iPackage&&(packType=12),"loaded"===data.type)that.oWorker.postMessage({type:"create",buf:that.aHeadBuf.buffer,len:40,packType:packType},[that.aHeadBuf.buffer]);else if("created"===data.type)resolve();else if("outputData"===data.type){var aFileData=new Uint8Array(data.buf);if(1===that.options.iPackage)if(that.bHead){var headerBlob=new Blob([aFileData],{type:"video/mp4"});that.fileContents.push(headerBlob),that.bStart=!0,that.bHead=!1}else{var contentBlob=new Blob([aFileData],{type:"video/mp4"});that.fileContents.push(contentBlob)}else if(1===data.dType){var headerBlob1=new Blob([aFileData],{type:"video/mp4"});that.fileContents.push(headerBlob1),that.bStart=!0}else if(2===data.dType){var contentBlob1=new Blob([aFileData],{type:"application/octet-stream"});that.fileContents.push(contentBlob1)}else{var indexBlob=new Blob([new Uint8Array(data.buf)],{type:"application/octet-stream"});that.fileContents.push(indexBlob);var file=new Blob(that.fileContents,{type:"application/octet-stream"});that.fileContents=[];var url=URL.createObjectURL(file);if(that.bStart=!1,that.isDownload){var a=document.createElement("a");a.href=url,a.download=that.szFileName,document.body.appendChild(a),a.click(),document.body.removeChild(a)}null==stopCallBack||stopCallBack(url,file)}}}}));return oPromise},_proto.inputData=function(aData){if(this.oWorker){var aPostData=new Uint8Array(aData);this.oWorker.postMessage({type:"inputData",buf:aPostData.buffer,len:aPostData.length},[aPostData.buffer])}},_proto.stopRecord=function(isDownload){var that=this;return new Promise((function(resolve,reject){that.oWorker?(that.isDownload=isDownload,that.oWorker.postMessage({type:"release"}),resolve()):reject()}))},Storage}(),StorageManager=(STORAGELIST=Symbol("STORAGELIST"),function(){function StorageManage(szBasePath,options,staticPath){this.szBasePath=szBasePath,this[STORAGELIST]={},this.options={iFileSize:1073741824},Object.assign(this.options,options),"string"==typeof options.staticPath&&(this.staticPath=options.staticPath)}var _proto=StorageManage.prototype;return _proto.startRecord=function(szFileName,aHeadBuf,iPackType,iStreamType,options,stopCallBack,secretKey){var that=this,szUUID=v4(),oOptions=Object.assign({},this.options,options),oStorage=new Storage(this.szBasePath,szUUID,szFileName,aHeadBuf,iPackType,iStreamType,oOptions,this.staticPath,secretKey);return new Promise((function(resolve,reject){oStorage.init(stopCallBack).then((function(szID){that[STORAGELIST][szID]=oStorage,resolve(szID)}),(function(iError){reject(iError)}))}))},_proto.inputData=function(szUUID,aData){var oStorage=this[STORAGELIST][szUUID];oStorage&&oStorage.inputData(aData)},_proto.stopRecord=function(szUUID,isDownload){var that=this;return new Promise((function(resolve,reject){var oStorage=that[STORAGELIST][szUUID];oStorage?oStorage.stopRecord(isDownload).then((function(){delete that[STORAGELIST][szUUID],resolve()}),(function(){reject()})):reject()}))},StorageManage}()),Record=function(){function Record(props){this._oStorageManager=new StorageManager("./transform",{staticPath:window.location.origin},void 0),this.downloadRecord=props.downloadRecord}var _proto=Record.prototype;return _proto.startRecord=function(aHead,name,stopCallBack,secretKey){var _this=this;return name=null!=name?name:(new Date).getTime()+"",new Promise((function(resolve,reject){_this._oStorageManager.startRecord(name+".mp4",aHead,2,0,{cbEventHandler:function(iErrorType){reject(iErrorType)},iPackage:0},stopCallBack,secretKey).then((function(szUUID){_this.szStorageUUID=szUUID,resolve(szUUID)}),(function(err){reject(err)}))}))},_proto.inputData=function(buff){this.szStorageUUID&&this._oStorageManager.inputData(this.szStorageUUID,buff)},_proto.stopRecord=function(){var _this=this;return new Promise((function(resolve,reject){_this._oStorageManager.stopRecord(_this.szStorageUUID,_this.downloadRecord).then((function(fileUrl){resolve(_this.szStorageUUID),_this.szStorageUUID=""}),(function(iError){reject(iError)}))}))},_proto.destroy=function(){this.szStorageUUID="",this._oStorageManager=null},Record}();return function(){function PlayerPluginRecord(props){void 0===props&&(props={}),this.name="ezuikit-player-plugin-record",this.recording=!1,this._record=new Record({downloadRecord:props.downloadRecord})}var _proto=PlayerPluginRecord.prototype;return _proto.exec=function(player){var _this=this;this._player=player,setTimeout((function(){["stop","pause"].forEach((function(eventType){player.on(eventType,(function(){_this.stopRecord()}))})),["destroy"].forEach((function(eventType){player.on(eventType,(function(){_this.destroy()}))}))}),0)},_proto.startRecord=function(fileName,stopCallBack,secretKey){var _this__record,_this=this;return void 0===fileName&&(fileName=""+(new Date).getTime()),this._recordInputDataFn=function(data){var _this__record;_this._record.szStorageUUID&&(null==(_this__record=_this._record)||_this__record.inputData(data.data))},null==(_this__record=this._record)?void 0:_this__record.startRecord(this._player._aHead,fileName,stopCallBack,secretKey).then((function(data){var _this__player_logger,_this__player,_this__player1;_this.recording=!0,null==(_this__player=_this._player)||null==(_this__player_logger=_this__player.logger)||_this__player_logger.log("[PlayerPluginRecord] start record video, filename: ",fileName),null==(_this__player1=_this._player)||_this__player1.on("recordInputData",_this._recordInputDataFn)}))},_proto.stopRecord=function(){var _this__player_logger,_this__player,_this__player1,_this__record;return this.recording?(this.recording=!1,null==(_this__player=this._player)||null==(_this__player_logger=_this__player.logger)||_this__player_logger.log("[PlayerPluginRecord] stop record video"),null==(_this__player1=this._player)||_this__player1.off("recordInputData",this._recordInputDataFn),this._recordInputDataFn=null,null==(_this__record=this._record)?void 0:_this__record.stopRecord()):Promise.resolve()},_proto.destroy=function(){var _this=this;this._record&&this.stopRecord().then((function(){var _this__player_logger,_this__player,_this__record;null==(_this__player=_this._player)||null==(_this__player_logger=_this__player.logger)||_this__player_logger.log("[PlayerPluginRecord] destroy"),null==(_this__record=_this._record)||_this__record.destroy(),_this._record=null,_this._recordInputDataFn=null}))},PlayerPluginRecord}()}()}(index_umd$1)),index_umd$1.exports} +/* + * + * JsPlugin.js v8.2.2-beta.5 + * Copyright (c) 2025-11-23 Ezviz-OpenBiz * Released under MIT the License. * - */window.SuperRender=function(){function A(A){this.canvasElement=document.getElementById(A),this.initContextGL(),this.contextGL&&(this.YUVProgram=this.initProgram(to,io),this.initBuffers(),this.initTextures())}return A.prototype.initContextGL=function(){var A=this.canvasElement,e=null;try{e=A.getContext("webgl")||A.getContext("experimental-webgl")}catch(A){e=null}e&&"function"==typeof e.getParameter||(e=null),this.contextGL=e},A.prototype.initProgram=function(A,e){var t=this.contextGL,i=t.createShader(t.VERTEX_SHADER);t.shaderSource(i,A),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS);var a=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(a,e),t.compileShader(a),t.getShaderParameter(a,t.COMPILE_STATUS);var r=t.createProgram();return t.attachShader(r,i),t.attachShader(r,a),t.linkProgram(r),t.getProgramParameter(r,t.LINK_STATUS),t.deleteShader(i),t.deleteShader(a),r},A.prototype.initBuffers=function(){var A=this.contextGL,e=A.createBuffer();A.bindBuffer(A.ARRAY_BUFFER,e),A.bufferData(A.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),A.STATIC_DRAW),A.bindBuffer(A.ARRAY_BUFFER,null);var t=A.createBuffer();A.bindBuffer(A.ARRAY_BUFFER,t),A.bufferData(A.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),A.DYNAMIC_DRAW),A.bindBuffer(A.ARRAY_BUFFER,null),this.vertexPosBuffer=e,this.texturePosBuffer=t},A.prototype.initTexture=function(){var A=this.contextGL,e=A.createTexture();return A.bindTexture(A.TEXTURE_2D,e),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,A.LINEAR),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,A.LINEAR),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_S,A.CLAMP_TO_EDGE),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_T,A.CLAMP_TO_EDGE),A.bindTexture(A.TEXTURE_2D,null),e},A.prototype.initTextures=function(){var A=this.contextGL,e=this.YUVProgram;A.useProgram(e);var t=this.initTexture(),i=A.getUniformLocation(e,"ySampler");A.uniform1i(i,0),this.yTextureRef=t;var a=this.initTexture(),r=A.getUniformLocation(e,"uSampler");A.uniform1i(r,1),this.uTextureRef=a;var n=this.initTexture(),o=A.getUniformLocation(e,"vSampler");A.uniform1i(o,2),this.vTextureRef=n,A.useProgram(null)},A.prototype.SR_DisplayFrameData=function(A,e,t,i,a){if(!(A<=0||e<=0)){var r=this.contextGL;if(null==t)return r.clearColor(0,0,0,0),void r.clear(r.COLOR_BUFFER_BIT|r.DEPTH_BUFFER_BIT);var n=this.canvasElement;this.nWindowWidth=n.width,this.nWindowHeight=n.height;var o=this.nWindowWidth,s=this.nWindowHeight;r.clearColor(.8,.8,1,1),r.clear(r.COLOR_BUFFER_BIT|r.DEPTH_BUFFER_BIT),r.viewport(0,0,o,s),this.updateFrameData(A,e,t,i,a);var g=this.YUVProgram;r.useProgram(g);var l=this.vertexPosBuffer;r.bindBuffer(r.ARRAY_BUFFER,l);var C=r.getAttribLocation(g,"vertexPos");r.enableVertexAttribArray(C),r.vertexAttribPointer(C,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,null);var I=this.texturePosBuffer;r.bindBuffer(r.ARRAY_BUFFER,I);var c=r.getAttribLocation(g,"texturePos");r.enableVertexAttribArray(c),r.vertexAttribPointer(c,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,null),r.drawArrays(r.TRIANGLE_STRIP,0,4),r.disableVertexAttribArray(C),r.disableVertexAttribArray(c),r.useProgram(null)}},A.prototype.updateFrameData=function(A,e,t,i,a){var r=this.contextGL,n=this.yTextureRef,o=this.uTextureRef,s=this.vTextureRef,g=t;if(A==i&&e==a){var l=A*e,C=g.subarray(0,l);r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,n),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,A,e,0,r.LUMINANCE,r.UNSIGNED_BYTE,C);var I=A/2*e/2,c=g.subarray(A*e,A*e+I);r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,s),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,A/2,e/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,c);var h=I,B=g.subarray(A*e+A*e/4,A*e+A*e/4+h);r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,A/2,e/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,B)}else{l=i*a,C=new Uint8Array(l);for(var E=0;E0&&i>0){var r=A.left/t,n=A.top/i,o=A.right/t,s=A.bottom/i;a=new Float32Array([o,n,r,n,o,s,r,s])}else a=new Float32Array([1,0,0,0,1,1,0,1]);var g=this.texturePosBuffer;e.bindBuffer(e.ARRAY_BUFFER,g),e.bufferSubData(e.ARRAY_BUFFER,0,a),e.bindBuffer(e.ARRAY_BUFFER,null)},A.prototype.SR_Destroy=function(){var A=this.contextGL,e=this.YUVProgram;A.deleteProgram(e);var t=this.vertexPosBuffer,i=this.texturePosBuffer;A.deleteBuffer(t),A.deleteBuffer(i);var a=this.yTextureRef,r=this.uTextureRef,n=this.vTextureRef;A.deleteTexture(a),A.deleteTexture(r),A.deleteTexture(n)},A}(),function(){var A=function(){function A(A,e){for(var t=0;tA.length)&&(e=A.length);for(var t=0,i=new Array(e);t0&&a[a.length-1])||6!==r[0]&&2!==r[0])){n=0;continue}if(3===r[0]&&(!a||r[1]>a[0]&&r[1]=A.length?{done:!0}:{done:!1,value:A[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(A),r.label=1;case 1:return(i=t()).done?[3,4]:(a=i.value,[4,e.use(a)]);case 2:r.sent(),r.label=3;case 3:return[3,1];case 4:return[2]}}))}))()},e.use=function(A){var e=this;return lo((function(){var t;return Co(this,(function(i){switch(i.label){case 0:return A.name?("function"==typeof(null==A?void 0:A.init)&&(null==A||A.init()),t=!0,(null==A?void 0:A.beforeExec)?[4,A.beforeExec(e.context)]:[3,2]):[3,3];case 1:t=i.sent(),i.label=2;case 2:return t&&A.exec(e.context),"function"==typeof(null==A?void 0:A.afterExec)&&(null==A||A.afterExec(e.context)),e.plugins.set(A.name.toLowerCase(),A),[3,4];case 3:i.label=4;case 4:return[2]}}))}))()},e.destroyByName=function(A){var e=this.plugins.get(A.toLowerCase());e&&"function"==typeof(null==e?void 0:e.destroy)&&e.destroy(),this.plugins.delete(A)},e.destroy=function(){var A=this;(this.plugins||[]).forEach((function(e,t){A.destroyByName(t)})),this.plugins=null},A}();function co(A,e,t){return{code:null!=e?e:0,data:A,msg:t}}function ho(A,e,t,i){return{data:A,msg:e,source:t,target:i}}var Bo="playError",Eo="EVENT_CALLBACK",xo={pluginErrorHandler:"pluginErrorHandler",getStreamHeaderCallback:"getStreamHeaderCallback",getVideoStreamCallback:"getVideoStreamCallback",appearFirstFrameCallback:"appearFirstFrameCallback",firstFrameCallback:"firstFrameCallback",averageStreamSuccessCallback:"averageStreamSuccessCallback",setRunTimeInfoCallBack:"setRunTimeInfoCallBack",setAdditionDataCallBack:"setAdditionDataCallBack",openStreamCallback:"openStreamCallback",stutterDetectedCallback:"stutterDetectedCallback"},Qo={initializing:"initializing",loadstart:"loadstart",abort:"abort",waiting:"waiting",canplay:"canplay",rateChange:"ratechange",volumeChange:"volumechange",debug:"debug",error:"error",videoInfo:"videoInfo",audioInfo:"audioInfo",decoder:"decoder",urlChange:"urlChange",API:{play:"play",pause:"pause",rateChange:"ratechange",volumeChange:"volumechange",destroy:"destroy",snapshot:"snapshot",fullscreen:"fullscreen",exitFullscreen:"exitFullscreen",resize:"resize",seek:"seek",resume:"resume"},NETWORK:{deviceCapacity:"network.deviceCapacity",deviceInfo:"network.deviceInfo",videoFragmentFiles:"network.videoFragmentFiles",error:{error:"network.error",deviceCapacity:"network.error.deviceCapacity",deviceInfo:"network.error.deviceInfo",realPlayUrl:"network.error.realPlayUrl",videoFragmentFiles:"network.error.videoFragmentFiles"}},SOCKET:{autoClose:"StreamClient.autoClose",openStream:"StreamClient.openStream",startPlay:"StreamClient.startPlay",stopAll:"StreamClient.stopAll",setPlayRate:"StreamClient.setPlayRate",seek:"StreamClient.seek",close:"StreamClient.close",error:"StreamClient.error"},CALLBACK:xo,FECCorrect:{setFEC2DParam:"setFEC2DParam"},streamInfoCB:"streamInfoCB"},fo="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),uo=new Uint8Array(16);function po(){if(!fo)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return fo(uo)}for(var mo=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,_o=[],yo=0;yo<256;++yo)_o.push((yo+256).toString(16).substr(1));function So(A,e,t){var i=(A=A||{}).random||(A.rng||po)();return i[6]=15&i[6]|64,i[8]=63&i[8]|128,function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(_o[A[e+0]]+_o[A[e+1]]+_o[A[e+2]]+_o[A[e+3]]+"-"+_o[A[e+4]]+_o[A[e+5]]+"-"+_o[A[e+6]]+_o[A[e+7]]+"-"+_o[A[e+8]]+_o[A[e+9]]+"-"+_o[A[e+10]]+_o[A[e+11]]+_o[A[e+12]]+_o[A[e+13]]+_o[A[e+14]]+_o[A[e+15]]).toLowerCase();if(!function(A){return"string"==typeof A&&mo.test(A)}(t))throw TypeError("Stringified UUID is invalid");return t}(i)}var Do=function(){function A(){}var e=A.prototype;return e.createClientObject=function(A,e,t,i){return{socket:A,id:e,iCurChannel:t,iCurStream:i,resolve:null,reject:null}},e.zeroPlayCmd=function(A,e){return new Uint8Array([0,0,0,44,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,A+1,0,0,0,e,0,0,4,0])},e.playCmd=function(A,e){return new Uint8Array([0,0,0,44,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,A,0,0,0,e,0,0,4,0])},e.playbackCmd=function(A,e,t,i){var a=A.split("T")[0],r=A.split("T")[1],n="0"+parseInt(a.substring(0,4),10).toString(16),o=parseInt(a.substring(4,6),10),s=parseInt(a.substring(6),10),g=parseInt(r.substring(0,2),10),l=parseInt(r.substring(2,4),10),C=parseInt(r.substring(4,6),10),I=e.split("T")[0],c=e.split("T")[1],h="0"+parseInt(I.substring(0,4),10).toString(16),B=parseInt(I.substring(4,6),10),E=parseInt(c.substring(0,2),10),x=parseInt(c.substring(2,4),10),d=parseInt(c.substring(4,6),10),Q=[0,0,0,96,0,0,0,0,0,0,0,0,0,3,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,t,0,0,parseInt(n.substring(0,2),16),parseInt(n.substring(2,4),16),0,0,0,o,0,0,0,s,0,0,0,g,0,0,0,l,0,0,0,C,0,0,parseInt(h.substring(0,2),16),parseInt(h.substring(2,4),16),0,0,0,B,0,0,0,s,0,0,0,E,0,0,0,x,0,0,0,d,0,0,0,0,0,0,0,0,i,0,0,0];return new Uint8Array(Q)},e.playRateCmd=function(A){for(var e=(parseInt(A,10)>>>0).toString(16).toLocaleUpperCase().toString(16),t=e.length;t<8;t++)e="0"+e;for(var i=[0,0,0,0],a=0,r=e.length;a>=14;--r>=0;){var o=16383&this[A],s=this[A++]>>14,g=e*o+s*n;a=((o=n*o+((16383&g)<<14)+t[i]+a)>>28)+(g>>14)+e*s,t[i++]=268435455&o}return a},Fo.prototype.DB=28,Fo.prototype.DM=268435455,Fo.prototype.DV=1<<28,Fo.prototype.FV=Math.pow(2,52),Fo.prototype.F1=24,Fo.prototype.F2=4;var bo,vo,Po=[];for(bo="0".charCodeAt(0),vo=0;vo<=9;++vo)Po[bo++]=vo;for(bo="a".charCodeAt(0),vo=10;vo<36;++vo)Po[bo++]=vo;for(bo="A".charCodeAt(0),vo=10;vo<36;++vo)Po[bo++]=vo;function ko(A){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(A)}function No(A,e){var t=Po[A.charCodeAt(e)];return null==t?-1:t}function To(A){var e=wo();return e.fromInt(A),e}function Mo(A){var e,t=1;return 0!=(e=A>>>16)&&(A=e,t+=16),0!=(e=A>>8)&&(A=e,t+=8),0!=(e=A>>4)&&(A=e,t+=4),0!=(e=A>>2)&&(A=e,t+=2),A>>1&&(t+=1),t}function Lo(A){this.m=A}function Yo(A){this.m=A,this.mp=A.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),!(255&A)&&(A>>=8,e+=8),!(15&A)&&(A>>=4,e+=4),!(3&A)&&(A>>=2,e+=2),!(1&A)&&++e,e}function Ko(A){for(var e=0;0!=A;)A&=A-1,++e;return e}function Vo(){}function Wo(A){return A}function Zo(A){this.r2=wo(),this.q3=wo(),Fo.ONE.dlShiftTo(2*A.t,this.r2),this.mu=this.r2.divide(A),this.m=A}Lo.prototype.convert=function(A){return A.s<0||A.compareTo(this.m)>=0?A.mod(this.m):A},Lo.prototype.revert=function(A){return A},Lo.prototype.reduce=function(A){A.divRemTo(this.m,null,A)},Lo.prototype.mulTo=function(A,e,t){A.multiplyTo(e,t),this.reduce(t)},Lo.prototype.sqrTo=function(A,e){A.squareTo(e),this.reduce(e)},Yo.prototype.convert=function(A){var e=wo();return A.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),A.s<0&&e.compareTo(Fo.ZERO)>0&&this.m.subTo(e,e),e},Yo.prototype.revert=function(A){var e=wo();return A.copyTo(e),this.reduce(e),e},Yo.prototype.reduce=function(A){for(;A.t<=this.mt2;)A[A.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&A.DM;for(A[t=e+this.m.t]+=this.m.am(0,i,A,e,0,this.m.t);A[t]>=A.DV;)A[t]-=A.DV,A[++t]++}A.clamp(),A.drShiftTo(this.m.t,A),A.compareTo(this.m)>=0&&A.subTo(this.m,A)},Yo.prototype.mulTo=function(A,e,t){A.multiplyTo(e,t),this.reduce(t)},Yo.prototype.sqrTo=function(A,e){A.squareTo(e),this.reduce(e)},Fo.prototype.copyTo=function(A){for(var e=this.t-1;e>=0;--e)A[e]=this[e];A.t=this.t,A.s=this.s},Fo.prototype.fromInt=function(A){this.t=1,this.s=A<0?-1:0,A>0?this[0]=A:A<-1?this[0]=A+DV:this.t=0},Fo.prototype.fromString=function(A,e){var t;if(16==e)t=4;else if(8==e)t=3;else if(256==e)t=8;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return void this.fromRadix(A,e);t=2}this.s=this.t=0;for(var i=A.length,a=!1,r=0;--i>=0;){var n=8==t?255&A[i]:No(A,i);n<0?"-"==A.charAt(i)&&(a=!0):(a=!1,0==r?this[this.t++]=n:r+t>this.DB?(this[this.t-1]|=(n&(1<>this.DB-r):this[this.t-1]|=n<=this.DB&&(r-=this.DB))}8==t&&128&A[0]&&(this.s=-1,r>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==A;)--this.t},Fo.prototype.dlShiftTo=function(A,e){var t;for(t=this.t-1;t>=0;--t)e[t+A]=this[t];for(t=A-1;t>=0;--t)e[t]=0;e.t=this.t+A,e.s=this.s},Fo.prototype.drShiftTo=function(A,e){for(var t=A;t=0;--t)e[t+n+1]=this[t]>>a|o,o=(this[t]&r)<=0;--t)e[t]=0;e[n]=o,e.t=this.t+n+1,e.s=this.s,e.clamp()},Fo.prototype.rShiftTo=function(A,e){e.s=this.s;var t=Math.floor(A/this.DB);if(t>=this.t)e.t=0;else{var i=A%this.DB,a=this.DB-i,r=(1<>i;for(var n=t+1;n>i;i>0&&(e[this.t-t-1]|=(this.s&r)<>=this.DB;if(A.t>=this.DB;i+=this.s}else{for(i+=this.s;t>=this.DB;i-=A.s}e.s=i<0?-1:0,i<-1?e[t++]=this.DV+i:i>0&&(e[t++]=i),e.t=t,e.clamp()},Fo.prototype.multiplyTo=function(A,e){var t=this.abs(),i=A.abs(),a=t.t;for(e.t=a+i.t;--a>=0;)e[a]=0;for(a=0;a=0;)A[t]=0;for(t=0;t=e.DV&&(A[t+e.t]-=e.DV,A[t+e.t+1]=1)}A.t>0&&(A[A.t-1]+=e.am(t,e[t],A,2*t,0,1)),A.s=0,A.clamp()},Fo.prototype.divRemTo=function(A,e,t){var i=A.abs();if(!(i.t<=0)){var a=this.abs();if(a.t0?(i.lShiftTo(o,r),a.lShiftTo(o,t)):(i.copyTo(r),a.copyTo(t)),0!=(a=r[(i=r.t)-1])){var s=a*(1<1?r[i-2]>>this.F2:0),g=this.FV/s,l=(s=(1<=0&&(t[t.t++]=1,t.subTo(c,t)),Fo.ONE.dlShiftTo(i,c),c.subTo(r,r);r.t=0;){var h=t[--C]==a?this.DM:Math.floor(t[C]*g+(t[C-1]+l)*s);if((t[C]+=r.am(0,h,t,I,0,i))0&&t.rShiftTo(o,t),n<0&&Fo.ZERO.subTo(t,t)}}}},Fo.prototype.invDigit=function(){if(this.t<1)return 0;var A,e=this[0];return 1&e?(A=(A=(A=(A=(A=3&e)*(2-(15&e)*A)&15)*(2-(255&e)*A)&255)*(2-((65535&e)*A&65535))&65535)*(2-e*A%this.DV)%this.DV)>0?this.DV-A:-A:0},Fo.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},Fo.prototype.exp=function(A,e){if(A>4294967295||A<1)return Fo.ONE;var t=wo(),i=wo(),a=e.convert(this),r=Mo(A)-1;for(a.copyTo(t);--r>=0;)if(e.sqrTo(t,i),(A&1<0)e.mulTo(i,a,t);else{var n=t;t=i,i=n}return e.revert(t)},Fo.prototype.toString=function(A){if(this.s<0)return"-"+this.negate().toString(A);if(16==A)A=4;else if(8==A)A=3;else if(2==A)A=1;else if(32==A)A=5;else if(64==A)A=6;else{if(4!=A)return this.toRadix(A);A=2}var e,t=(1<0)for(n>n)>0&&(i=!0,a=ko(e));r>=0;)n>(n+=this.DB-A)):(e=this[r]>>(n-=A)&t,n<=0&&(n+=this.DB,--r)),e>0&&(i=!0),i&&(a+=ko(e));return i?a:"0"},Fo.prototype.negate=function(){var A=wo();return Fo.ZERO.subTo(this,A),A},Fo.prototype.abs=function(){return this.s<0?this.negate():this},Fo.prototype.compareTo=function(A){if(0!=(e=this.s-A.s))return e;var e,t=this.t;if(0!=(e=t-A.t))return e;for(;--t>=0;)if(0!=(e=this[t]-A[t]))return e;return 0},Fo.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+Mo(this[this.t-1]^this.s&this.DM)},Fo.prototype.mod=function(A){var e=wo();return this.abs().divRemTo(A,null,e),this.s<0&&e.compareTo(Fo.ZERO)>0&&A.subTo(e,e),e},Fo.prototype.modPowInt=function(A,e){var t;return t=A<256||e.isEven()?new Lo(e):new Yo(e),this.exp(A,t)},Fo.ZERO=To(0),Fo.ONE=To(1),Vo.prototype.convert=Wo,Vo.prototype.revert=Wo,Vo.prototype.mulTo=function(A,e,t){A.multiplyTo(e,t)},Vo.prototype.sqrTo=function(A,e){A.squareTo(e)},Zo.prototype.convert=function(A){if(A.s<0||A.t>2*this.m.t)return A.mod(this.m);if(A.compareTo(this.m)<0)return A;var e=wo();return A.copyTo(e),this.reduce(e),e},Zo.prototype.revert=function(A){return A},Zo.prototype.reduce=function(A){for(A.drShiftTo(this.m.t-1,this.r2),A.t>this.m.t+1&&(A.t=this.m.t+1,A.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);A.compareTo(this.r2)<0;)A.dAddOffset(1,this.m.t+1);for(A.subTo(this.r2,A);A.compareTo(this.m)>=0;)A.subTo(this.m,A)},Zo.prototype.mulTo=function(A,e,t){A.multiplyTo(e,t),this.reduce(t)},Zo.prototype.sqrTo=function(A,e){A.squareTo(e),this.reduce(e)};var Xo,qo,jo,zo=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],$o=67108864/zo[zo.length-1];function As(){}function es(){this.j=this.i=0,this.S=[]}function ts(){var A;A=(new Date).getTime(),qo[jo++]^=255&A,qo[jo++]^=A>>8&255,qo[jo++]^=A>>16&255,qo[jo++]^=A>>24&255,jo>=256&&(jo-=256)}if(Fo.prototype.chunkSize=function(A){return Math.floor(Math.LN2*this.DB/Math.log(A))},Fo.prototype.toRadix=function(A){if(null==A&&(A=10),0==this.signum()||A<2||A>36)return"0";var e=this.chunkSize(A),t=To(e=Math.pow(A,e)),i=wo(),a=wo(),r="";for(this.divRemTo(t,i,a);i.signum()>0;)r=(e+a.intValue()).toString(A).substr(1)+r,i.divRemTo(t,i,a);return a.intValue().toString(A)+r},Fo.prototype.fromRadix=function(A,e){this.fromInt(0),null==e&&(e=10);for(var t=this.chunkSize(e),i=Math.pow(e,t),a=!1,r=0,n=0,o=0;o=t&&(this.dMultiply(i),this.dAddOffset(n,0),n=r=0))}r>0&&(this.dMultiply(Math.pow(e,r)),this.dAddOffset(n,0)),a&&Fo.ZERO.subTo(this,this)},Fo.prototype.fromNumber=function(A,e,t){if("number"==typeof e)if(A<2)this.fromInt(1);else for(this.fromNumber(A,t),this.testBit(A-1)||this.bitwiseTo(Fo.ONE.shiftLeft(A-1),Uo,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>A&&this.subTo(Fo.ONE.shiftLeft(A-1),this);else{var i=7&A;(t=[]).length=1+(A>>3),e.nextBytes(t),i>0?t[0]&=(1<>=this.DB;if(A.t>=this.DB;i+=this.s}else{for(i+=this.s;t>=this.DB;i+=A.s}e.s=i<0?-1:0,i>0?e[t++]=i:i<-1&&(e[t++]=this.DV+i),e.t=t,e.clamp()},Fo.prototype.dMultiply=function(A){this[this.t]=this.am(0,A-1,this,0,0,this.t),++this.t,this.clamp()},Fo.prototype.dAddOffset=function(A,e){if(0!=A){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=A;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},Fo.prototype.multiplyLowerTo=function(A,e,t){var i,a=Math.min(this.t+A.t,e);for(t.s=0,t.t=a;a>0;)t[--a]=0;for(i=t.t-this.t;a=0;)t[i]=0;for(i=Math.max(e-this.t,0);i0)if(0==e)t=this[0]%A;else for(var i=this.t-1;i>=0;--i)t=(e*t+this[i])%A;return t},Fo.prototype.millerRabin=function(A){var e=this.subtract(Fo.ONE),t=e.getLowestSetBit();if(t<=0)return!1;var i=e.shiftRight(t);(A=A+1>>1)>zo.length&&(A=zo.length);for(var a=wo(),r=0;r>24},Fo.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},Fo.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},Fo.prototype.toByteArray=function(){var A=this.t,e=[];e[0]=this.s;var t,i=this.DB-A*this.DB%8,a=0;if(A-- >0)for(i>i)!=(this.s&this.DM)>>i&&(e[a++]=t|this.s<=0;)i<8?(t=(this[A]&(1<>(i+=this.DB-8)):(t=this[A]>>(i-=8)&255,i<=0&&(i+=this.DB,--A)),!!(128&t)&&(t|=-256),0==a&&(128&this.s)!=(128&t)&&++a,(a>0||t!=this.s)&&(e[a++]=t);return e},Fo.prototype.equals=function(A){return 0==this.compareTo(A)},Fo.prototype.min=function(A){return this.compareTo(A)<0?this:A},Fo.prototype.max=function(A){return this.compareTo(A)>0?this:A},Fo.prototype.and=function(A){var e=wo();return this.bitwiseTo(A,Go,e),e},Fo.prototype.or=function(A){var e=wo();return this.bitwiseTo(A,Uo,e),e},Fo.prototype.xor=function(A){var e=wo();return this.bitwiseTo(A,Jo,e),e},Fo.prototype.andNot=function(A){var e=wo();return this.bitwiseTo(A,Ho,e),e},Fo.prototype.not=function(){for(var A=wo(),e=0;e=this.t?0!=this.s:!!(this[e]&1<1)for(a=wo(),i.sqrTo(n[1],a);o<=g;)n[o]=wo(),i.mulTo(a,n[o-2],n[o]),o+=2;var l,C=A.t-1,I=!0,c=wo();for(a=Mo(A[C])-1;C>=0;){for(a>=s?l=A[C]>>a-s&g:(l=(A[C]&(1<0&&(l|=A[C-1]>>this.DB+a-s)),o=t;!(1&l);)l>>=1,--o;if((a-=o)<0&&(a+=this.DB,--C),I)n[l].copyTo(r),I=!1;else{for(;o>1;)i.sqrTo(r,c),i.sqrTo(c,r),o-=2;o>0?i.sqrTo(r,c):(o=r,r=c,c=o),i.mulTo(c,n[l],r)}for(;C>=0&&!(A[C]&1<=0?(t.subTo(i,t),e&&a.subTo(n,a),r.subTo(o,r)):(i.subTo(t,i),e&&n.subTo(a,n),o.subTo(r,o))}return 0!=i.compareTo(Fo.ONE)?Fo.ZERO:o.compareTo(A)>=0?o.subtract(A):o.signum()<0?(o.addTo(A,o),o.signum()<0?o.add(A):o):o},Fo.prototype.pow=function(A){return this.exp(A,new Vo)},Fo.prototype.gcd=function(A){var e=this.s<0?this.negate():this.clone();if(A=A.s<0?A.negate():A.clone(),e.compareTo(A)<0){var t=e;e=A,A=t}t=e.getLowestSetBit();var i=A.getLowestSetBit();if(i<0)return e;for(t0&&(e.rShiftTo(i,e),A.rShiftTo(i,A));e.signum()>0;)(t=e.getLowestSetBit())>0&&e.rShiftTo(t,e),(t=A.getLowestSetBit())>0&&A.rShiftTo(t,A),e.compareTo(A)>=0?(e.subTo(A,e),e.rShiftTo(1,e)):(A.subTo(e,A),A.rShiftTo(1,A));return i>0&&A.lShiftTo(i,A),A},Fo.prototype.isProbablePrime=function(A){var e,t=this.abs();if(1==t.t&&t[0]<=zo[zo.length-1]){for(e=0;e=r;)A/=2,e/=2,i>>>=1;return(A+i)/e},i},n=e.pow(t,6),a=e.pow(2,a),r=2*a,g(e.random(),A)}([],Math,256,0,52),As.prototype.nextBytes=function(A){var e;for(e=0;e>>8,qo[jo++]=255&is;jo=0,ts()}function as(){if(null==Xo){for(ts(),(Xo=new es).init(qo),jo=0;jo>16)+(e>>16)+(t>>16)<<16|65535&t}function t(A,e){return A>>>e|A<<32-e}return A=function(A){A=A.replace(/\r\n/g,"\n");for(var e="",t=0;t127&&i<2048?e+=String.fromCharCode(i>>6|192):(e+=String.fromCharCode(i>>12|224),e+=String.fromCharCode(i>>6&63|128)),e+=String.fromCharCode(63&i|128))}return e}(A),function(A){for(var e="",t=0;t<4*A.length;t++)e+="0123456789abcdef".charAt(A[t>>2]>>8*(3-t%4)+4&15)+"0123456789abcdef".charAt(A[t>>2]>>8*(3-t%4)&15);return e}(function(A,i){var a,r,n,o,s,g,l,C,I,c,h,B,E=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],x=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],d=Array(64);for(A[i>>5]|=128<<24-i%32,A[15+(i+64>>9<<4)]=i,I=0;I>>10,d[c-7]),t(d[c-15],7)^t(d[c-15],18)^d[c-15]>>>3),d[c-16]),h=e(e(e(e(C,t(s,6)^t(s,11)^t(s,25)),s&g^~s&l),E[c]),d[c]),B=e(t(a,2)^t(a,13)^t(a,22),a&r^a&n^r&n),C=l,l=g,g=s,s=e(o,h),o=n,n=r,r=a,a=e(h,B);x[0]=e(a,x[0]),x[1]=e(r,x[1]),x[2]=e(n,x[2]),x[3]=e(o,x[3]),x[4]=e(s,x[4]),x[5]=e(g,x[5]),x[6]=e(l,x[6]),x[7]=e(C,x[7])}return x}(function(A){for(var e=[],t=0;t<8*A.length;t+=8)e[t>>5]|=(255&A.charCodeAt(t/8))<<24-t%32;return e}(A),8*A.length))}(A)};function os(A,e){return new Fo(A,e)}function ss(){this.n=null,this.e=0,this.coeff=this.dmq1=this.dmp1=this.q=this.p=this.d=null}ss.prototype.doPublic=function(A){return A.modPowInt(this.e,this.n)},ss.prototype.setPublic=function(A,e){null!=A&&null!=e&&A.length>0&&e.length>0?(this.n=os(A,16),this.e=parseInt(e,16)):alert("Invalid RSA public key")},ss.prototype.encrypt=function(A){return null==(A=function(A,e){if(e=0&&e>0;){var a=A.charCodeAt(i--);a<128?t[--e]=a:a>127&&a<2048?(t[--e]=63&a|128,t[--e]=a>>6|192):(t[--e]=63&a|128,t[--e]=a>>6&63|128,t[--e]=a>>12|224)}for(t[--e]=0,i=new rs,a=[];e>2;){for(a[0]=0;0==a[0];)i.nextBytes(a);t[--e]=a[0]}return t[--e]=2,t[--e]=0,new Fo(t)}(A,this.n.bitLength()+7>>3))||null==(A=this.doPublic(A))?null:1&(A=A.toString(16)).length?"0"+A:A},ss.prototype.doPrivate=function(A){if(null==this.p||null==this.q)return A.modPow(this.d,this.n);var e=A.mod(this.p).modPow(this.dmp1,this.p);for(A=A.mod(this.q).modPow(this.dmq1,this.q);e.compareTo(A)<0;)e=e.add(this.p);return e.subtract(A).multiply(this.coeff).mod(this.p).multiply(this.q).add(A)},ss.prototype.setPrivate=function(A,e,t){null!=A&&null!=e&&A.length>0&&e.length>0?(this.n=os(A,16),this.e=parseInt(e,16),this.d=os(t,16)):alert("Invalid RSA private key")},ss.prototype.setPrivateEx=function(A,e,t,i,a,r,n,o){null!=A&&null!=e&&A.length>0&&e.length>0?(this.n=os(A,16),this.e=parseInt(e,16),this.d=os(t,16),this.p=os(i,16),this.q=os(a,16),this.dmp1=os(r,16),this.dmq1=os(n,16),this.coeff=os(o,16)):alert("Invalid RSA private key")},ss.prototype.generate=function(A,e){var t=new As,i=A>>1;this.e=parseInt(e,16);for(var a=new Fo(e,16);;){for(;this.p=new Fo(A-i,1,t),0!=this.p.subtract(Fo.ONE).gcd(a).compareTo(Fo.ONE)||!this.p.isProbablePrime(10););for(;this.q=new Fo(i,1,t),0!=this.q.subtract(Fo.ONE).gcd(a).compareTo(Fo.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var r=this.p;this.p=this.q,this.q=r}r=this.p.subtract(Fo.ONE);var n=this.q.subtract(Fo.ONE),o=r.multiply(n);if(0==o.gcd(a).compareTo(Fo.ONE)){this.n=this.p.multiply(this.q),this.d=a.modInverse(o),this.dmp1=this.d.mod(r),this.dmq1=this.d.mod(n),this.coeff=this.q.modInverse(this.p);break}}},ss.prototype.decrypt=function(A){return null==(A=this.doPrivate(os(A,16)))?null:function(A,e){for(var t=A.toByteArray(),i=0;i=t.length)return null;for(var a="";++i191&&r<224?(a+=String.fromCharCode((31&r)<<6|63&t[i+1]),++i):(a+=String.fromCharCode((15&r)<<12|(63&t[i+1])<<6|63&t[i+2]),i+=2)}return a}(A,this.n.bitLength()+7>>3)};var gs=[];gs.sha1="3021300906052b0e03021a05000414",gs.sha256="3031300d060960864801650304020105000420";var ls=[];function Cs(A,e,t){e/=4,A=(0,ls[t])(A),t="00"+gs[t]+A,A="",e=e-4-t.length;for(var i=0;i>>32-e}function t(A){var e,t="";for(e=7;e>=0;e--)t+=(A>>>4*e&15).toString(16);return t}var i,a,r,n,o,s,g,l=Array(80),C=1732584193,I=4023233417,c=2562383102,h=271733878,B=3285377520;A=function(A){A=A.replace(/\r\n/g,"\n");for(var e="",t=0;t127&&i<2048?e+=String.fromCharCode(i>>6|192):(e+=String.fromCharCode(i>>12|224),e+=String.fromCharCode(i>>6&63|128)),e+=String.fromCharCode(63&i|128))}return e}(A),r=A.length;var E=[];for(i=0;i>>29),E.push(r<<3&4294967295),A=0;A=256&&(i^=283)):t>24&&a%t==16&&(r=[cs.Sbox[r[0]],cs.Sbox[r[1]],cs.Sbox[r[2]],cs.Sbox[r[3]]]);for(var n=0;n<4;n++)A[a+n]=A[a+n-t]^r[n]}},Encrypt:function(A,e){var t=e.length;cs.AddRoundKey(A,e.slice(0,16));for(var i=16;i=16;t-=16)cs.AddRoundKey(A,e.slice(t,t+16)),cs.MixColumns_Inv(A),cs.ShiftRows(A,cs.ShiftRowTab_Inv),cs.SubBytes(A,cs.Sbox_Inv);cs.AddRoundKey(A,e.slice(0,16))},SubBytes:function(A,e){for(var t=0;t<16;t++)A[t]=e[A[t]]},AddRoundKey:function(A,e){for(var t=0;t<16;t++)A[t]^=e[t]},ShiftRows:function(A,e){for(var t=[].concat(A),i=0;i<16;i++)A[i]=t[e[i]]},MixColumns:function(A){for(var e=0;e<16;e+=4){var t=A[e+0],i=A[e+1],a=A[e+2],r=A[e+3],n=t^i^a^r;A[e+0]^=n^cs.xtime[t^i],A[e+1]^=n^cs.xtime[i^a],A[e+2]^=n^cs.xtime[a^r],A[e+3]^=n^cs.xtime[r^t]}},MixColumns_Inv:function(A){for(var e=0;e<16;e+=4){var t=A[e+0],i=A[e+1],a=A[e+2],r=A[e+3],n=t^i^a^r,o=cs.xtime[n],s=cs.xtime[cs.xtime[o^t^a]]^n;n^=cs.xtime[cs.xtime[o^i^r]],A[e+0]^=s^cs.xtime[t^i],A[e+1]^=n^cs.xtime[i^a],A[e+2]^=s^cs.xtime[a^r],A[e+3]^=n^cs.xtime[r^t]}}},cs),xs=function(){var A={};return Es.Init(),A.b256to64=function(A){var e,t,i,a="",r=0,n=A.length;for(i=0;i>2&63),e=(3&t)<<4):1==r?(a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e|t>>4&15),e=(15&t)<<2):2==r&&(a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e|t>>6&3),a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(63&t)),3==(r+=1)&&(r=0);return r>0&&(a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e),a+="="),1==r&&(a+="="),a},A.b64to256=function(A){var e,t,i="",a=0,r=0,n=A.length;for(t=0;t=0&&(a&&(i+=String.fromCharCode(r|e>>6-a&255)),r=e<<(a=a+2&7)&255);return i},A.b16to64=function(A){var e,t,i="";for(A.length%2==1&&(A="0"+A),e=0;e+3<=A.length;e+=3)t=parseInt(A.substring(e,e+3),16),i+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t>>6)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(63&t);for(e+1==A.length?(t=parseInt(A.substring(e,e+1),16),i+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t<<2)):e+2==A.length&&(t=parseInt(A.substring(e,e+2),16),i+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t>>2)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((3&t)<<4));(3&i.length)>0;)i+="=";return i},A.b64to16=function(A){var e,t,i="",a=0;for(e=0;e>2),t=3&v,a=1):1==a?(i+=ko(t<<2|v>>4),t=15&v,a=2):2==a?(i+=ko(t),i+=ko(v>>2),t=3&v,a=3):(i+=ko(t<<2|v>>4),i+=ko(15&v),a=0));return 1==a&&(i+=ko(t<<2)),i},A.string2bytes=function(A){for(var e=[],t=0;t>>32-n,t)}function i(A,t,i,a,r,n,o){return A=e(A,e(e(t&a|i&~a,r),o)),e(A<>>32-n,t)}function a(A,t,i,a,r,n,o){return A=e(A,e(e(t^i^a,r),o)),e(A<>>32-n,t)}function r(A,t,i,a,r,n,o){return A=e(A,e(e(i^(t|~a),r),o)),e(A<>>32-n,t)}function n(A){var e,t="",i="";for(e=0;e<=3;e++)t+=(i="0"+(i=A>>>8*e&255).toString(16)).substr(i.length-2,2);return t}var o,s,g,l,C,I,c,h,B=function(A){for(var e,t=A.length,i=16*(((e=t+8)-e%64)/64+1),a=Array(i-1),r=0,n=0;n>>29,a}(A=function(A){A=A.replace(/\r\n/g,"\n");for(var e="",t=0;t127&&i<2048?e+=String.fromCharCode(i>>6|192):(e+=String.fromCharCode(i>>12|224),e+=String.fromCharCode(i>>6&63|128)),e+=String.fromCharCode(63&i|128))}return e}(A));for(C=1732584193,I=4023233417,c=2562383102,h=271733878,A=0;A>>2]|=(t[a>>>2]>>>24-a%4*8&255)<<24-(i+a)%4*8;else if(65535>>2]=t[a>>>2];else e.push.apply(e,t);return this.sigBytes+=A,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=A.ceil(t/4)},clone:function(){var A=a.clone.call(this);return A.words=this.words.slice(0),A},random:function(e){for(var t=[],i=0;i>>2]>>>24-i%4*8&255;t.push((a>>>4).toString(16)),t.push((15&a).toString(16))}return t.join("")},parse:function(A){for(var e=A.length,t=[],i=0;i>>3]|=parseInt(A.substr(i,2),16)<<24-i%8*4;return new r.init(t,e/2)}},s=n.Latin1={stringify:function(A){var e=A.words;A=A.sigBytes;for(var t=[],i=0;i>>2]>>>24-i%4*8&255));return t.join("")},parse:function(A){for(var e=A.length,t=[],i=0;i>>2]|=(255&A.charCodeAt(i))<<24-i%4*8;return new r.init(t,e)}},g=n.Utf8={stringify:function(A){try{return decodeURIComponent(escape(s.stringify(A)))}catch(A){throw Error("Malformed UTF-8 data")}},parse:function(A){return s.parse(unescape(encodeURIComponent(A)))}},l=t.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new r.init,this._nDataBytes=0},_append:function(A){"string"==typeof A&&(A=g.parse(A)),this._data.concat(A),this._nDataBytes+=A.sigBytes},_process:function(e){var t=this._data,i=t.words,a=t.sigBytes,n=this.blockSize,o=a/(4*n);if(e=(o=e?A.ceil(o):A.max((0|o)-this._minBufferSize,0))*n,a=A.min(4*e,a),e){for(var s=0;s>>2]>>>24-a%4*8&255)<<16|(e[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|e[a+2>>>2]>>>24-(a+2)%4*8&255,n=0;4>n&&a+.75*n>>6*(3-n)&63));if(e=i.charAt(64))for(;A.length%4;)A.push(e);return A.join("")},parse:function(A){var e=A.length,t=this._map;(i=t.charAt(64))&&-1!=(i=A.indexOf(i))&&(e=i);for(var i=[],a=0,r=0;r>>6-r%4*2;i[a>>>2]|=(n|o)<<24-a%4*8,a++}return Bs.create(i,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(A){function e(A,e,t,i,a,r,n){return((A=A+(e&t|~e&i)+a+n)<>>32-r)+e}function t(A,e,t,i,a,r,n){return((A=A+(e&i|t&~i)+a+n)<>>32-r)+e}function i(A,e,t,i,a,r,n){return((A=A+(e^t^i)+a+n)<>>32-r)+e}function a(A,e,t,i,a,r,n){return((A=A+(t^(e|~i))+a+n)<>>32-r)+e}for(var r=ds,n=(s=r.lib).WordArray,o=s.Hasher,s=r.algo,g=[],l=0;64>l;l++)g[l]=4294967296*A.abs(A.sin(l+1))|0;s=s.MD5=o.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(A,r){for(var n=0;16>n;n++){var o=A[s=r+n];A[s]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}n=this._hash.words;var s=A[r+0],l=(o=A[r+1],A[r+2]),C=A[r+3],I=A[r+4],c=A[r+5],h=A[r+6],B=A[r+7],E=A[r+8],x=A[r+9],d=A[r+10],Q=A[r+11],f=A[r+12],u=A[r+13],p=A[r+14],m=A[r+15],_=e(_=n[0],D=n[1],S=n[2],y=n[3],s,7,g[0]),y=e(y,_,D,S,o,12,g[1]),S=e(S,y,_,D,l,17,g[2]),D=e(D,S,y,_,C,22,g[3]);_=e(_,D,S,y,I,7,g[4]),y=e(y,_,D,S,c,12,g[5]),S=e(S,y,_,D,h,17,g[6]),D=e(D,S,y,_,B,22,g[7]),_=e(_,D,S,y,E,7,g[8]),y=e(y,_,D,S,x,12,g[9]),S=e(S,y,_,D,d,17,g[10]),D=e(D,S,y,_,Q,22,g[11]),_=e(_,D,S,y,f,7,g[12]),y=e(y,_,D,S,u,12,g[13]),S=e(S,y,_,D,p,17,g[14]),_=t(_,D=e(D,S,y,_,m,22,g[15]),S,y,o,5,g[16]),y=t(y,_,D,S,h,9,g[17]),S=t(S,y,_,D,Q,14,g[18]),D=t(D,S,y,_,s,20,g[19]),_=t(_,D,S,y,c,5,g[20]),y=t(y,_,D,S,d,9,g[21]),S=t(S,y,_,D,m,14,g[22]),D=t(D,S,y,_,I,20,g[23]),_=t(_,D,S,y,x,5,g[24]),y=t(y,_,D,S,p,9,g[25]),S=t(S,y,_,D,C,14,g[26]),D=t(D,S,y,_,E,20,g[27]),_=t(_,D,S,y,u,5,g[28]),y=t(y,_,D,S,l,9,g[29]),S=t(S,y,_,D,B,14,g[30]),_=i(_,D=t(D,S,y,_,f,20,g[31]),S,y,c,4,g[32]),y=i(y,_,D,S,E,11,g[33]),S=i(S,y,_,D,Q,16,g[34]),D=i(D,S,y,_,p,23,g[35]),_=i(_,D,S,y,o,4,g[36]),y=i(y,_,D,S,I,11,g[37]),S=i(S,y,_,D,B,16,g[38]),D=i(D,S,y,_,d,23,g[39]),_=i(_,D,S,y,u,4,g[40]),y=i(y,_,D,S,s,11,g[41]),S=i(S,y,_,D,C,16,g[42]),D=i(D,S,y,_,h,23,g[43]),_=i(_,D,S,y,x,4,g[44]),y=i(y,_,D,S,f,11,g[45]),S=i(S,y,_,D,m,16,g[46]),_=a(_,D=i(D,S,y,_,l,23,g[47]),S,y,s,6,g[48]),y=a(y,_,D,S,B,10,g[49]),S=a(S,y,_,D,p,15,g[50]),D=a(D,S,y,_,c,21,g[51]),_=a(_,D,S,y,f,6,g[52]),y=a(y,_,D,S,C,10,g[53]),S=a(S,y,_,D,d,15,g[54]),D=a(D,S,y,_,o,21,g[55]),_=a(_,D,S,y,E,6,g[56]),y=a(y,_,D,S,m,10,g[57]),S=a(S,y,_,D,h,15,g[58]),D=a(D,S,y,_,u,21,g[59]),_=a(_,D,S,y,I,6,g[60]),y=a(y,_,D,S,Q,10,g[61]),S=a(S,y,_,D,l,15,g[62]),D=a(D,S,y,_,x,21,g[63]),n[0]=n[0]+_|0,n[1]=n[1]+D|0,n[2]=n[2]+S|0,n[3]=n[3]+y|0},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,a=8*e.sigBytes;t[a>>>5]|=128<<24-a%32;var r=A.floor(i/4294967296);for(t[15+(a+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t[14+(a+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(t.length+1),this._process(),t=(e=this._hash).words,i=0;4>i;i++)a=t[i],t[i]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);return e},clone:function(){var A=o.clone.call(this);return A._hash=this._hash.clone(),A}}),r.MD5=o._createHelper(s),r.HmacMD5=o._createHmacHelper(s)}(Math),function(){var A,e=ds,t=(A=e.lib).Base,i=A.WordArray,a=(A=e.algo).EvpKDF=t.extend({cfg:t.extend({keySize:4,hasher:A.MD5,iterations:1}),init:function(A){this.cfg=this.cfg.extend(A)},compute:function(A,e){for(var t=(o=this.cfg).hasher.create(),a=i.create(),r=a.words,n=o.keySize,o=o.iterations;r.length>>2]}},A.BlockCipher=n.extend({cfg:n.cfg.extend({mode:o,padding:g}),reset:function(){n.reset.call(this);var A=(e=this.cfg).iv,e=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var t=e.createEncryptor;else t=e.createDecryptor,this._minBufferSize=1;this._mode=t.call(e,this,A&&A.words)},_doProcessBlock:function(A,e){this._mode.processBlock(A,e)},_doFinalize:function(){var A=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){A.pad(this._data,this.blockSize);var e=this._process(!0)}else e=this._process(!0),A.unpad(e);return e},blockSize:4});var l=A.CipherParams=e.extend({init:function(A){this.mixIn(A)},toString:function(A){return(A||this.formatter).stringify(this)}}),C=(o=(I.format={}).OpenSSL={stringify:function(A){var e=A.ciphertext;return((A=A.salt)?t.create([1398893684,1701076831]).concat(A).concat(e):e).toString(a)},parse:function(A){var e=(A=a.parse(A)).words;if(1398893684==e[0]&&1701076831==e[1]){var i=t.create(e.slice(2,4));e.splice(0,4),A.sigBytes-=16}return l.create({ciphertext:A,salt:i})}},A.SerializableCipher=e.extend({cfg:e.extend({format:o}),encrypt:function(A,e,t,i){i=this.cfg.extend(i);var a=A.createEncryptor(t,i);return e=a.finalize(e),a=a.cfg,l.create({ciphertext:e,key:t,iv:a.iv,algorithm:A,mode:a.mode,padding:a.padding,blockSize:A.blockSize,formatter:i.format})},decrypt:function(A,e,t,i){return i=this.cfg.extend(i),e=this._parse(e,i.format),A.createDecryptor(t,i).finalize(e.ciphertext)},_parse:function(A,e){return"string"==typeof A?e.parse(A,this):A}})),I=(I.kdf={}).OpenSSL={execute:function(A,e,i,a){return a||(a=t.random(8)),A=r.create({keySize:e+i}).compute(A,a),i=t.create(A.words.slice(e),4*i),A.sigBytes=4*e,l.create({key:A,iv:i,salt:a})}},c=A.PasswordBasedCipher=C.extend({cfg:C.cfg.extend({kdf:I}),encrypt:function(A,e,t,i){return t=(i=this.cfg.extend(i)).kdf.execute(t,A.keySize,A.ivSize),i.iv=t.iv,(A=C.encrypt.call(this,A,e,t.key,i)).mixIn(t),A},decrypt:function(A,e,t,i){return i=this.cfg.extend(i),e=this._parse(e,i.format),t=i.kdf.execute(t,A.keySize,A.ivSize,e.salt),i.iv=t.iv,C.decrypt.call(this,A,e,t.key,i)}})}(),function(){for(var A=ds,e=A.lib.BlockCipher,t=A.algo,i=[],a=[],r=[],n=[],o=[],s=[],g=[],l=[],C=[],I=[],c=[],h=0;256>h;h++)c[h]=128>h?h<<1:h<<1^283;var B=0,E=0;for(h=0;256>h;h++){var x=(x=E^E<<1^E<<2^E<<3^E<<4)>>>8^255&x^99;i[B]=x,a[x]=B;var d=c[B],Q=c[d],f=c[Q],u=257*c[x]^16843008*x;r[B]=u<<24|u>>>8,n[B]=u<<16|u>>>16,o[B]=u<<8|u>>>24,s[B]=u,u=16843009*f^65537*Q^257*d^16843008*B,g[x]=u<<24|u>>>8,l[x]=u<<16|u>>>16,C[x]=u<<8|u>>>24,I[x]=u,B?(B=d^c[c[c[f^d]]],E^=c[c[E]]):B=E=1}var p=[0,1,2,4,8,16,32,64,128,27,54];t=t.AES=e.extend({_doReset:function(){for(var A=(t=this._key).words,e=t.sigBytes/4,t=4*((this._nRounds=e+6)+1),a=this._keySchedule=[],r=0;r>>24]<<24|i[n>>>16&255]<<16|i[n>>>8&255]<<8|i[255&n]):(n=i[(n=n<<8|n>>>24)>>>24]<<24|i[n>>>16&255]<<16|i[n>>>8&255]<<8|i[255&n],n^=p[r/e|0]<<24),a[r]=a[r-e]^n}for(A=this._invKeySchedule=[],e=0;ee||4>=r?n:g[i[n>>>24]]^l[i[n>>>16&255]]^C[i[n>>>8&255]]^I[i[255&n]]},encryptBlock:function(A,e){this._doCryptBlock(A,e,this._keySchedule,r,n,o,s,i)},decryptBlock:function(A,e){var t=A[e+1];A[e+1]=A[e+3],A[e+3]=t,this._doCryptBlock(A,e,this._invKeySchedule,g,l,C,I,a),t=A[e+1],A[e+1]=A[e+3],A[e+3]=t},_doCryptBlock:function(A,e,t,i,a,r,n,o){for(var s=this._nRounds,g=A[e]^t[0],l=A[e+1]^t[1],C=A[e+2]^t[2],I=A[e+3]^t[3],c=4,h=1;h>>24]^a[l>>>16&255]^r[C>>>8&255]^n[255&I]^t[c++],E=i[l>>>24]^a[C>>>16&255]^r[I>>>8&255]^n[255&g]^t[c++],x=i[C>>>24]^a[I>>>16&255]^r[g>>>8&255]^n[255&l]^t[c++];I=i[I>>>24]^a[g>>>16&255]^r[l>>>8&255]^n[255&C]^t[c++],g=B,l=E,C=x}B=(o[g>>>24]<<24|o[l>>>16&255]<<16|o[C>>>8&255]<<8|o[255&I])^t[c++],E=(o[l>>>24]<<24|o[C>>>16&255]<<16|o[I>>>8&255]<<8|o[255&g])^t[c++],x=(o[C>>>24]<<24|o[I>>>16&255]<<16|o[g>>>8&255]<<8|o[255&l])^t[c++],I=(o[I>>>24]<<24|o[g>>>16&255]<<16|o[l>>>8&255]<<8|o[255&C])^t[c++],A[e]=B,A[e+1]=E,A[e+2]=x,A[e+3]=I},keySize:8}),A.AES=e._createHelper(t)}();var Qs=function(){function A(){}var e=A.prototype;return e.createClientObject=function(A,e,t,i,a){var r=ds.AES.encrypt((new Date).getTime().toString(),ds.enc.Hex.parse("1234567891234567123456789123456712345678912345671234567891234567"),{mode:ds.mode.CBC,iv:ds.enc.Hex.parse("12345678912345671234567891234567"),padding:ds.pad.Pkcs7}).ciphertext.toString();r.length<64&&(r+=r);var n=ds.AES.encrypt((new Date).getTime().toString(),ds.enc.Hex.parse("12345678912345671234567891234567"),{mode:ds.mode.CBC,iv:ds.enc.Hex.parse("12345678912345671234567891234567"),padding:ds.pad.Pkcs7}).ciphertext.toString();return{socket:A,id:e,PKD:t,rand:i,playURL:a.playURL||"",auth:a.auth||"",token:a.token||"",key:r,iv:n,resolve:null,reject:null}},e.playCmd=function(A){var e={sequence:0,cmd:"realplay",url:A.playURL,key:xs.encrypt(A.iv+":"+A.key,A.PKD).cipher.split("?")[0],authorization:ds.AES.encrypt(A.rand+":"+A.auth,ds.enc.Hex.parse(A.key),{mode:ds.mode.CBC,iv:ds.enc.Hex.parse(A.iv),padding:ds.pad.Pkcs7}).ciphertext.toString(),token:ds.AES.encrypt(A.token,ds.enc.Hex.parse(A.key),{mode:ds.mode.CBC,iv:ds.enc.Hex.parse(A.iv),padding:ds.pad.Pkcs7}).ciphertext.toString()};return JSON.stringify(e)},e.playbackCmd=function(A,e,t){var i={sequence:0,cmd:"playback",url:A.playURL,key:xs.encrypt(A.iv+":"+A.key,A.PKD).cipher.split("?")[0],authorization:ds.AES.encrypt(A.rand+":"+A.auth,ds.enc.Hex.parse(A.key),{mode:ds.mode.CBC,iv:ds.enc.Hex.parse(A.iv),padding:ds.pad.Pkcs7}).ciphertext.toString(),token:ds.AES.encrypt(A.token,ds.enc.Hex.parse(A.key),{mode:ds.mode.CBC,iv:ds.enc.Hex.parse(A.iv),padding:ds.pad.Pkcs7}).ciphertext.toString(),startTime:e,endTime:t};return JSON.stringify(i)},e.seekCmd=function(A,e){var t={sequence:0,cmd:"seek",startTime:A,endTime:e};return JSON.stringify(t)},A}(),fs=function(){function A(){}var e=A.prototype;return e.createClientObject=function(A,e,t,i){return{socket:A,id:e,playURL:t,deviceSerial:i.deviceSerial||"",verificationCode:i.verificationCode||"",resolve:null,reject:null}},e.playCmd=function(A){var e={sequence:0,cmd:"realplay",deviceSerial:A.deviceSerial,verificationCode:A.verificationCode,url:A.playURL};return JSON.stringify(e)},e.playbackCmd=function(A,e,t){var i={sequence:0,cmd:"playback",deviceSerial:A.deviceSerial,verificationCode:A.verificationCode,url:A.playURL,startTime:e,endTime:t};return JSON.stringify(i)},A}(),us=Symbol("WEBSOCKET"),ps=Symbol("GETINDEX"),ms=Symbol("PROTOCOLVERSION"),_s=Symbol("CIPHERSUITES"),ys=new Do,Ss=new Ro,Ds=new Qs,Rs=new fs,Fs=function(){function A(){this[ms]="0.1",this[_s]=0,this[us]=[],this.ERRORS={},this[ps]=function(A){for(var e=-1,t=0,i=this[us].length;t-1&&(r=!0);var n=this,o=A.split("://"),s=o[0],g="",l=7681,C=1,I=0,c=!1;if(r)g=o[1].split("]:")[0]+"]",l=Math.floor(o[1].split("]:")[1].split("/")[0]),C=Math.floor(o[1].split("]:")[1].split("/")[1]/100),I=Math.floor(o[1].split("]:")[1].split("/")[1]%100)-1;else{g=o[1].split(":")[0],l=Math.floor(o[1].split(":")[1].split("/")[0]),C=Math.floor(o[1].split(":")[1].split("/")[1]/100),I=Math.floor(o[1].split(":")[1].split("/")[1]%100)-1;var h=o[1].split(":")[1].split("/")[2];""!==h&&"webSocketVideoCtrlProxy"===h&&(c=!0)}0===C&&(I=0);var B="&sessionID=";(e=e||{}).token&&!e.playURL&&(B="&token=");var E=e.sessionID||e.session||(e.playURL?"":e.token)||"",x=new window.WebSocket(s+"://"+g+":"+l+(e.mode?"/"+e.mode:"")+(c?"/webSocketVideoCtrlProxy":"")+"?version="+n[ms]+"&cipherSuites="+n[_s]+B+E+(e.proxy?"&proxy="+e.proxy:""));x.binaryType="arraybuffer";var d=So(),Q=-1;return new Promise((function(A,r){x.onopen=function(){e.playURL||e.sessionID||e.deviceSerial||e.token||(n[us].push(ys.createClientObject(x,d,C,I)),A(d))},x.onmessage=function(i){if("string"==typeof i.data){var a=JSON.parse(i.data),o=n[ps](d);if(a&&a.version&&a.cipherSuite){if(n[ms]=a.version,n[_s]=parseInt(a.cipherSuite,10),a&&a.PKD&&a.rand)n[us].push(Ds.createClientObject(x,d,a.PKD,a.rand,e));else{var s="live://"+g+":"+l+"/"+C+"/"+I;-1===n[_s]?n[us].push(Rs.createClientObject(x,d,s,e)):n[us].push(Ss.createClientObject(x,d,s))}return void A(d)}if(a&&a.sdp){var c=Ss.getMediaFromSdp(a.sdp);t({bHead:!0,buf:c})}if(a&&a.cmd&&"end"===a.cmd&&t({type:"exception",cmd:a.cmd}),a&&a.statusString&&("ok"===a.statusString.toLowerCase()&&n[us][o].resolve&&n[us][o].resolve(a),"ok"!==a.statusString.toLowerCase())){var h=Ss.getError(a);o>-1?n[us][o].reject&&n[us][o].reject(h):r(h)}a&&a.errorCode&&t(a)}else{var B={},E=new Uint8Array(i.data);if(Q++,64===E.byteLength||40===E.byteLength){for(var f=-1,u=E.byteLength,p=0;p0&&t(B={bHead:!1,buf:E});E=null,B=null,i=null}},x.onclose=function(){for(var A=0,e=n[us].length;A-1){i[us][a].resolve=A,i[us][a].reject=r;var n=null;e&&t?"0.1"!==i[ms]?0===i[_s]?n=Ds.playbackCmd(i[us][a],e,t):1===i[_s]?n=Ss.playbackCmd(e,t,i[us][a].playURL):-1===i[_s]&&(n=Rs.playbackCmd(i[us][a],e,t)):n=ys.playbackCmd(e,t,i[us][a].iCurChannel,i[us][a].iCurStream):0===i[us][a].iCurChannel&&"0.1"===i[ms]?n=ys.zeroPlayCmd(i[us][a].iCurChannel,i[us][a].iCurStream):"0.1"!==i[ms]?0===i[_s]?n=Ds.playCmd(i[us][a]):1===i[_s]?n=Ss.playCmd(i[us][a].playURL):-1===i[_s]&&(n=Rs.playCmd(i[us][a])):n=ys.playCmd(i[us][a].iCurChannel,i[us][a].iCurStream),i[us][a].socket.send(n),"0.1"===i[ms]&&A()}else"0.1"===i[ms]&&r()}))},e.singleFrame=function(){},e.setPlayRate=function(A,e){var t=this;return new Promise((function(i,a){for(var r=0,n=t[us].length;rA.length)&&(e=A.length);for(var t=0,i=new Array(e);t0){for(var o=0;o.4)return}r.param2d.fValue=I,r.param2d.fPTZParam.fPTZPositionX=B,r.param2d.fPTZParam.fPTZPositionY=E,i.JSPlayM4_FEC_SetParam(r.port,r.param2d)}else 1536===e.correctType&&(i.JSPlayM4_FEC_SetViewParam(r.port,2,I),i.JSPlayM4_FEC_SetViewParam(r.port,1,a))}(A)},t.addEventListener("mousemove",s)}));var g=function(){null!==s&&(t.removeEventListener("mousemove",s),s=null,r.total.x+=r.diff.x,r.total.y+=r.diff.y)};t.addEventListener("mouseup",g),t.addEventListener("mouseleave",g),t.addEventListener("mouseout",g)}}}},e._closeFECAllSubWnd=function(){if(this._FECSplitIds&&this._canvasFECSubPort&&this._supportFEC())for(var A,e=function(A,e){var t="undefined"!=typeof Symbol&&A[Symbol.iterator]||A["@@iterator"];if(t)return(t=t.call(A)).next.bind(t);if(Array.isArray(A)||(t=function(A,e){if(A){if("string"==typeof A)return bs(A,e);var t=Object.prototype.toString.call(A).slice(8,-1);return"Object"===t&&A.constructor&&(t=A.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?bs(A,e):void 0}}(A))||e){t&&(A=t);var i=0;return function(){return i>=A.length?{done:!0}:{done:!1,value:A[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(this._FECSplitIds.split(","));!(A=e()).done;){var t=A.value;if(t){var i=this._canvasFECSubPort.get(t);if(void 0===i||void 0===i.port)continue;this._canvasFECSubPort.delete(t);var a=this._player.wasmplayer;a.JSPlayM4_FEC_Disable(i.port,!0),a.JSPlayM4_FEC_DelPort(i.port)}}},A}(),Ls=(null==(ks=new Tn)||null==(Ps=ks.getResult)?void 0:Ps.call(ks))||{};function Ys(A,e){return new Promise((function(t,i){A.service.getVideoByTime(e).then((function(i){A.emit(Qo.NETWORK.videoFragmentFiles,ho(i.data||[],"根据时间获取存储文件信息",e.recType+"")),t(i)})).catch((function(e){A.emit(Qo.NETWORK.error.error,ho(e)),A.emit(Qo.NETWORK.error.videoFragmentFiles,ho(e)),i(e)}))}))}var Gs={0:void 0,1:"H264",2:"MPEG2",3:"MPEG4",4:"MotionJpeg",5:"H265",256:"H264"},Us={0:void 0,4096:"ADPCM",8192:"MPEG",8193:"AAC",8194:"AACLD",12290:"OPUS",28944:"G711U",28945:"G711A",29217:"G722.1",29233:"G723.1",29280:"G726U",29281:"G726A",29328:"G729"},Js={dpr:1},Hs=function(){function A(A){this._options=u(Js,A,{clone:!1}),this._$container=A.container,this.dpr=this._options.dpr||1,this._player=this._options.player,this._canvasWidth=Math.floor(this._$container.clientWidth),this._canvasHeight=Math.floor(this._$container.clientHeight)}var e=A.prototype;return e._render=function(){var A;this._removeCanvas(),this.canvasId=this._options.id+"-player",this.$canvas=document.createElement("canvas"),this.$canvas.classList.add("ezplayer-canvas"),this.$canvas.style.cssText+="width: 100%; height: 100%; pointer-events: none; user-select: none;",this.$canvas.setAttribute("id",this.canvasId),this.$canvas.setAttribute("width",this._canvasWidth*this.dpr+"px"),this.$canvas.setAttribute("height",this._canvasHeight*this.dpr+"px"),null==(A=this._$container)||A.appendChild(this.$canvas)},e.hide=function(){var A,e=null==(A=this._$container)?void 0:A.querySelector("#"+this.canvasId);e&&(e.style.display="none")},e.destroy=function(){this._removeCanvas(),this.width=0,this.height=0},e._removeCanvas=function(){var A=this._$container.querySelector("#"+this.canvasId);A&&(A.remove(),A=null,this.$canvas.remove(),this.$canvas=null)},e.resize=function(A,e){var t=this._$container.querySelector("#"+this.canvasId);if(t&&(this._canvasWidth!==A||this._canvasHeight!==e)){var i,a,r,n;this._canvasWidth=A,this._canvasHeight=e;try{t.width=this._canvasWidth*this.dpr,t.height=this._canvasHeight*this.dpr}catch(A){}(null==(i=this._player)?void 0:i.wasmplayer)&&(null==(n=this._player)||null==(r=n.wasmplayer)||null==(a=r.JSPlayM4_SetCanvasSize)||a.call(r,this._canvasWidth*this.dpr,this._canvasHeight*this.dpr))}},e.reRenderCanvas=function(A){A&&this._render()},A}(),Os={exports:{}};!function(A,e){function t(A,e,t,i,a,r,n){try{var o=A[r](n),s=o.value}catch(A){return void t(A)}o.done?e(s):Promise.resolve(s).then(i,a)}function i(A){return function(){var e=this,i=arguments;return new Promise((function(a,r){var n=A.apply(e,i);function o(A){t(n,a,r,o,s,"next",A)}function s(A){t(n,a,r,o,s,"throw",A)}o(void 0)}))}}function a(A,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](A):A instanceof e}function r(A){return A&&"undefined"!=typeof Symbol&&A.constructor===Symbol?"symbol":typeof A}!function(t,i){if("object"==r(e)&&"object"==r(A))A.exports=i();else{var a=i();for(var n in a)("object"==r(e)?e:t)[n]=a[n]}}(self,(function(){return function(){var A={477:function(A){A.exports=function(A,e,t,i){var a=self||window;try{try{var r;try{r=new a.Blob([A])}catch(e){(r=new(a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder||a.MSBlobBuilder)).append(A),r=r.getBlob()}var n=a.URL||a.webkitURL,o=n.createObjectURL(r),s=new a[e](o,t);return n.revokeObjectURL(o),s}catch(i){return new a[e]("data:application/javascript,".concat(encodeURIComponent(A)),t)}}catch(A){if(!i)throw Error("Inline worker is not supported");return new a[e](i,t)}}},61:function(A,e,t){var i=t(698).default;function r(){A.exports=r=function(){return e},A.exports.__esModule=!0,A.exports.default=A.exports;var e={},t=Object.prototype,n=t.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",g=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function C(A,e,t){return Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}),A[e]}try{C({},"")}catch(A){C=function(A,e,t){return A[e]=t}}function I(A,e,t,i){var r,n,o,s,g=e&&a(e.prototype,B)?e:B,l=Object.create(g.prototype),C=new D(i||[]);return l._invoke=(r=A,n=t,o=C,s="suspendedStart",function(A,e){if("executing"===s)throw new Error("Generator is already running");if("completed"===s){if("throw"===A)throw e;return{value:void 0,done:!0}}for(o.method=A,o.arg=e;;){var t=o.delegate;if(t){var i=_(t,o);if(i){if(i===h)continue;return i}}if("next"===o.method)o.sent=o._sent=o.arg;else if("throw"===o.method){if("suspendedStart"===s)throw s="completed",o.arg;o.dispatchException(o.arg)}else"return"===o.method&&o.abrupt("return",o.arg);s="executing";var a=c(r,n,o);if("normal"===a.type){if(s=o.done?"completed":"suspendedYield",a.arg===h)continue;return{value:a.arg,done:o.done}}"throw"===a.type&&(s="completed",o.method="throw",o.arg=a.arg)}}),l}function c(A,e,t){try{return{type:"normal",arg:A.call(e,t)}}catch(A){return{type:"throw",arg:A}}}e.wrap=I;var h={};function B(){}function E(){}function x(){}var d={};C(d,s,(function(){return this}));var Q=Object.getPrototypeOf,f=Q&&Q(Q(R([])));f&&f!==t&&n.call(f,s)&&(d=f);var u=x.prototype=B.prototype=Object.create(d);function p(A){["next","throw","return"].forEach((function(e){C(A,e,(function(A){return this._invoke(e,A)}))}))}function m(A,e){function t(a,r,o,s){var g=c(A[a],A,r);if("throw"!==g.type){var l=g.arg,C=l.value;return C&&"object"==i(C)&&n.call(C,"__await")?e.resolve(C.__await).then((function(A){t("next",A,o,s)}),(function(A){t("throw",A,o,s)})):e.resolve(C).then((function(A){l.value=A,o(l)}),(function(A){return t("throw",A,o,s)}))}s(g.arg)}var a;this._invoke=function(A,i){function r(){return new e((function(e,a){t(A,i,e,a)}))}return a=a?a.then(r,r):r()}}function _(A,e){var t=A.iterator[e.method];if(void 0===t){if(e.delegate=null,"throw"===e.method){if(A.iterator.return&&(e.method="return",e.arg=void 0,_(A,e),"throw"===e.method))return h;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var i=c(t,A.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,h;var a=i.arg;return a?a.done?(e[A.resultName]=a.value,e.next=A.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function y(A){var e={tryLoc:A[0]};1 in A&&(e.catchLoc=A[1]),2 in A&&(e.finallyLoc=A[2],e.afterLoc=A[3]),this.tryEntries.push(e)}function S(A){var e=A.completion||{};e.type="normal",delete e.arg,A.completion=e}function D(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(y,this),this.reset(!0)}function R(A){if(A){var e=A[s];if(e)return e.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var t=-1,i=function e(){for(;++t=0;--i){var a=this.tryEntries[i],r=a.completion;if("root"===a.tryLoc)return t("end");if(a.tryLoc<=this.prev){var o=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(o&&s){if(this.prev=0;--t){var i=this.tryEntries[t];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===A)return this.complete(t.completion,t.afterLoc),S(t),h}},catch:function(A){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===A){var i=t.completion;if("throw"===i.type){var a=i.arg;S(t)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(A,e,t){return this.delegate={iterator:R(A),resultName:e,nextLoc:t},"next"===this.method&&(this.arg=void 0),h}},e}A.exports=r,A.exports.__esModule=!0,A.exports.default=A.exports},698:function(A){function e(t){return A.exports=e="function"==typeof Symbol&&"symbol"==r(Symbol.iterator)?function(A){return void 0===A?"undefined":r(A)}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":void 0===A?"undefined":r(A)},A.exports.__esModule=!0,A.exports.default=A.exports,e(t)}A.exports=e,A.exports.__esModule=!0,A.exports.default=A.exports},687:function(A,e,t){var i=t(61)();A.exports=i;try{regeneratorRuntime=i}catch(A){"object"==("undefined"==typeof globalThis?"undefined":r(globalThis))?globalThis.regeneratorRuntime=i:Function("r","regeneratorRuntime = r")(i)}}},e={};function t(i){var a=e[i];if(void 0!==a)return a.exports;var r=e[i]={exports:{}};return A[i](r,r.exports,t),r.exports}t.n=function(A){var e=A&&A.__esModule?function(){return A.default}:function(){return A};return t.d(e,{a:e}),e},t.d=function(A,e){for(var i in e)t.o(e,i)&&!t.o(A,i)&&Object.defineProperty(A,i,{enumerable:!0,get:e[i]})},t.o=function(A,e){return Object.prototype.hasOwnProperty.call(A,e)},t.r=function(A){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})};var n={};return function(){var A=function(A,e){if(!a(A,e))throw new TypeError("Cannot call a class as a function")},e=function(A,e,t){return e&&function(A,e){for(var t=0;t{var _0xae8de9={0x3d:(_0x42db72,_0x34a747,_0x4dff4d)=>{var _0x5f25ea=_0x4dff4d(0x2ba)['default'];function _0x281627(){'use strict';_0x42db72['exports']=_0x281627=function(){return _0x33c0e0;},_0x42db72['exports']['__esModule']=!0x0,_0x42db72['exports']['default']=_0x42db72['exports'];var _0x33c0e0={},_0x5c6bc7=Object['prototype'],_0x2c9f95=_0x5c6bc7['hasOwnProperty'],_0x524493='function'==typeof Symbol?Symbol:{},_0x2e8c72=_0x524493['iterator']||'@@iterator',_0x58cf55=_0x524493['asyncIterator']||'@@asyncIterator',_0x5d9c15=_0x524493['toStringTag']||'@@toStringTag';function _0x4c10ff(_0x55e696,_0x2ceaa9,_0x588bf0){return Object['defineProperty'](_0x55e696,_0x2ceaa9,{'value':_0x588bf0,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}),_0x55e696[_0x2ceaa9];}try{_0x4c10ff({},'');}catch(_0x5cbfd9){_0x4c10ff=function(_0x289600,_0xe320b1,_0xcb940a){return _0x289600[_0xe320b1]=_0xcb940a;};}function _0x4f57d6(_0x380518,_0x187ab0,_0x36019c,_0x7e713c){var _0x9f7960=_0x187ab0&&_0x187ab0['prototype']instanceof _0x475d69?_0x187ab0:_0x475d69,_0x1b4d88=Object['create'](_0x9f7960['prototype']),_0x3e7c4a=new _0x46a438(_0x7e713c||[]);return _0x1b4d88['_invoke']=function(_0x40b051,_0x4f5c69,_0x5336b8){var _0x5930e3='suspendedStart';return function(_0x1cf3d5,_0x27ffc0){if('executing'===_0x5930e3)throw new Error('Generator\\x20is\\x20already\\x20running');if('completed'===_0x5930e3){if('throw'===_0x1cf3d5)throw _0x27ffc0;return _0x8ce3e2();}for(_0x5336b8['method']=_0x1cf3d5,_0x5336b8['arg']=_0x27ffc0;;){var _0x1eecea=_0x5336b8['delegate'];if(_0x1eecea){var _0x240791=_0x14e9c3(_0x1eecea,_0x5336b8);if(_0x240791){if(_0x240791===_0x4257e9)continue;return _0x240791;}}if('next'===_0x5336b8['method'])_0x5336b8['sent']=_0x5336b8['_sent']=_0x5336b8['arg'];else{if('throw'===_0x5336b8['method']){if('suspendedStart'===_0x5930e3)throw _0x5930e3='completed',_0x5336b8['arg'];_0x5336b8['dispatchException'](_0x5336b8['arg']);}else'return'===_0x5336b8['method']&&_0x5336b8['abrupt']('return',_0x5336b8['arg']);}_0x5930e3='executing';var _0x1a57ab=_0x2c9e85(_0x40b051,_0x4f5c69,_0x5336b8);if('normal'===_0x1a57ab['type']){if(_0x5930e3=_0x5336b8['done']?'completed':'suspendedYield',_0x1a57ab['arg']===_0x4257e9)continue;return{'value':_0x1a57ab['arg'],'done':_0x5336b8['done']};}'throw'===_0x1a57ab['type']&&(_0x5930e3='completed',_0x5336b8['method']='throw',_0x5336b8['arg']=_0x1a57ab['arg']);}};}(_0x380518,_0x36019c,_0x3e7c4a),_0x1b4d88;}function _0x2c9e85(_0x304583,_0x302904,_0x20ddb0){try{return{'type':'normal','arg':_0x304583['call'](_0x302904,_0x20ddb0)};}catch(_0x3eb53b){return{'type':'throw','arg':_0x3eb53b};}}_0x33c0e0['wrap']=_0x4f57d6;var _0x4257e9={};function _0x475d69(){}function _0x4e18ee(){}function _0x294087(){}var _0xf5cb63={};_0x4c10ff(_0xf5cb63,_0x2e8c72,function(){return this;});var _0x31b349=Object['getPrototypeOf'],_0x148be7=_0x31b349&&_0x31b349(_0x31b349(_0x4e4794([])));_0x148be7&&_0x148be7!==_0x5c6bc7&&_0x2c9f95['call'](_0x148be7,_0x2e8c72)&&(_0xf5cb63=_0x148be7);var _0x593b9b=_0x294087['prototype']=_0x475d69['prototype']=Object['create'](_0xf5cb63);function _0x426189(_0x18e276){['next','throw','return']['forEach'](function(_0x589f3b){_0x4c10ff(_0x18e276,_0x589f3b,function(_0x5c0715){return this['_invoke'](_0x589f3b,_0x5c0715);});});}function _0x863369(_0x15643e,_0x2c1956){function _0x1beac9(_0x3ea7ff,_0x587ad9,_0x31f7e6,_0x4a14e2){var _0x5693e7=_0x2c9e85(_0x15643e[_0x3ea7ff],_0x15643e,_0x587ad9);if('throw'!==_0x5693e7['type']){var _0x74cc92=_0x5693e7['arg'],_0x14aa66=_0x74cc92['value'];return _0x14aa66&&'object'==_0x5f25ea(_0x14aa66)&&_0x2c9f95['call'](_0x14aa66,'__await')?_0x2c1956['resolve'](_0x14aa66['__await'])['then'](function(_0x4d3a78){_0x1beac9('next',_0x4d3a78,_0x31f7e6,_0x4a14e2);},function(_0x183340){_0x1beac9('throw',_0x183340,_0x31f7e6,_0x4a14e2);}):_0x2c1956['resolve'](_0x14aa66)['then'](function(_0x308fe3){_0x74cc92['value']=_0x308fe3,_0x31f7e6(_0x74cc92);},function(_0x42da61){return _0x1beac9('throw',_0x42da61,_0x31f7e6,_0x4a14e2);});}_0x4a14e2(_0x5693e7['arg']);}var _0x244136;this['_invoke']=function(_0x2ae764,_0x1a1935){function _0x4c1534(){return new _0x2c1956(function(_0x15cce1,_0x578aa4){_0x1beac9(_0x2ae764,_0x1a1935,_0x15cce1,_0x578aa4);});}return _0x244136=_0x244136?_0x244136['then'](_0x4c1534,_0x4c1534):_0x4c1534();};}function _0x14e9c3(_0x559ec6,_0xfb0fca){var _0x4e9bde=_0x559ec6['iterator'][_0xfb0fca['method']];if(void 0x0===_0x4e9bde){if(_0xfb0fca['delegate']=null,'throw'===_0xfb0fca['method']){if(_0x559ec6['iterator']['return']&&(_0xfb0fca['method']='return',_0xfb0fca['arg']=void 0x0,_0x14e9c3(_0x559ec6,_0xfb0fca),'throw'===_0xfb0fca['method']))return _0x4257e9;_0xfb0fca['method']='throw',_0xfb0fca['arg']=new TypeError('The\\x20iterator\\x20does\\x20not\\x20provide\\x20a\\x20\\x27throw\\x27\\x20method');}return _0x4257e9;}var _0x526e36=_0x2c9e85(_0x4e9bde,_0x559ec6['iterator'],_0xfb0fca['arg']);if('throw'===_0x526e36['type'])return _0xfb0fca['method']='throw',_0xfb0fca['arg']=_0x526e36['arg'],_0xfb0fca['delegate']=null,_0x4257e9;var _0x4fa001=_0x526e36['arg'];return _0x4fa001?_0x4fa001['done']?(_0xfb0fca[_0x559ec6['resultName']]=_0x4fa001['value'],_0xfb0fca['next']=_0x559ec6['nextLoc'],'return'!==_0xfb0fca['method']&&(_0xfb0fca['method']='next',_0xfb0fca['arg']=void 0x0),_0xfb0fca['delegate']=null,_0x4257e9):_0x4fa001:(_0xfb0fca['method']='throw',_0xfb0fca['arg']=new TypeError('iterator\\x20result\\x20is\\x20not\\x20an\\x20object'),_0xfb0fca['delegate']=null,_0x4257e9);}function _0xafc5bd(_0x5c596c){var _0x13378e={'tryLoc':_0x5c596c[0x0]};0x1 in _0x5c596c&&(_0x13378e['catchLoc']=_0x5c596c[0x1]),0x2 in _0x5c596c&&(_0x13378e['finallyLoc']=_0x5c596c[0x2],_0x13378e['afterLoc']=_0x5c596c[0x3]),this['tryEntries']['push'](_0x13378e);}function _0x3f32b7(_0x5509d9){var _0x800a06=_0x5509d9['completion']||{};_0x800a06['type']='normal',delete _0x800a06['arg'],_0x5509d9['completion']=_0x800a06;}function _0x46a438(_0x3247a2){this['tryEntries']=[{'tryLoc':'root'}],_0x3247a2['forEach'](_0xafc5bd,this),this['reset'](!0x0);}function _0x4e4794(_0x289aeb){if(_0x289aeb){var _0xbf0627=_0x289aeb[_0x2e8c72];if(_0xbf0627)return _0xbf0627['call'](_0x289aeb);if('function'==typeof _0x289aeb['next'])return _0x289aeb;if(!isNaN(_0x289aeb['length'])){var _0x3297d8=-0x1,_0x3a95f9=function _0x257c4b(){for(;++_0x3297d8<_0x289aeb['length'];)if(_0x2c9f95['call'](_0x289aeb,_0x3297d8))return _0x257c4b['value']=_0x289aeb[_0x3297d8],_0x257c4b['done']=!0x1,_0x257c4b;return _0x257c4b['value']=void 0x0,_0x257c4b['done']=!0x0,_0x257c4b;};return _0x3a95f9['next']=_0x3a95f9;}}return{'next':_0x8ce3e2};}function _0x8ce3e2(){return{'value':void 0x0,'done':!0x0};}return _0x4e18ee['prototype']=_0x294087,_0x4c10ff(_0x593b9b,'constructor',_0x294087),_0x4c10ff(_0x294087,'constructor',_0x4e18ee),_0x4e18ee['displayName']=_0x4c10ff(_0x294087,_0x5d9c15,'GeneratorFunction'),_0x33c0e0['isGeneratorFunction']=function(_0x5898c3){var _0x3832d6='function'==typeof _0x5898c3&&_0x5898c3['constructor'];return!!_0x3832d6&&(_0x3832d6===_0x4e18ee||'GeneratorFunction'===(_0x3832d6['displayName']||_0x3832d6['name']));},_0x33c0e0['mark']=function(_0x586769){return Object['setPrototypeOf']?Object['setPrototypeOf'](_0x586769,_0x294087):(_0x586769['__proto__']=_0x294087,_0x4c10ff(_0x586769,_0x5d9c15,'GeneratorFunction')),_0x586769['prototype']=Object['create'](_0x593b9b),_0x586769;},_0x33c0e0['awrap']=function(_0x3c9094){return{'__await':_0x3c9094};},_0x426189(_0x863369['prototype']),_0x4c10ff(_0x863369['prototype'],_0x58cf55,function(){return this;}),_0x33c0e0['AsyncIterator']=_0x863369,_0x33c0e0['async']=function(_0x531f20,_0x301564,_0x2bb297,_0x4e84d7,_0x36b86f){void 0x0===_0x36b86f&&(_0x36b86f=Promise);var _0x9ff135=new _0x863369(_0x4f57d6(_0x531f20,_0x301564,_0x2bb297,_0x4e84d7),_0x36b86f);return _0x33c0e0['isGeneratorFunction'](_0x301564)?_0x9ff135:_0x9ff135['next']()['then'](function(_0x422a4f){return _0x422a4f['done']?_0x422a4f['value']:_0x9ff135['next']();});},_0x426189(_0x593b9b),_0x4c10ff(_0x593b9b,_0x5d9c15,'Generator'),_0x4c10ff(_0x593b9b,_0x2e8c72,function(){return this;}),_0x4c10ff(_0x593b9b,'toString',function(){return'[object\\x20Generator]';}),_0x33c0e0['keys']=function(_0x224dbb){var _0x209f3a=[];for(var _0x2213d2 in _0x224dbb)_0x209f3a['push'](_0x2213d2);return _0x209f3a['reverse'](),function _0x35c9fe(){for(;_0x209f3a['length'];){var _0x528983=_0x209f3a['pop']();if(_0x528983 in _0x224dbb)return _0x35c9fe['value']=_0x528983,_0x35c9fe['done']=!0x1,_0x35c9fe;}return _0x35c9fe['done']=!0x0,_0x35c9fe;};},_0x33c0e0['values']=_0x4e4794,_0x46a438['prototype']={'constructor':_0x46a438,'reset':function(_0xc02ed4){if(this['prev']=0x0,this['next']=0x0,this['sent']=this['_sent']=void 0x0,this['done']=!0x1,this['delegate']=null,this['method']='next',this['arg']=void 0x0,this['tryEntries']['forEach'](_0x3f32b7),!_0xc02ed4){for(var _0x5c538d in this)'t'===_0x5c538d['charAt'](0x0)&&_0x2c9f95['call'](this,_0x5c538d)&&!isNaN(+_0x5c538d['slice'](0x1))&&(this[_0x5c538d]=void 0x0);}},'stop':function(){this['done']=!0x0;var _0x527989=this['tryEntries'][0x0]['completion'];if('throw'===_0x527989['type'])throw _0x527989['arg'];return this['rval'];},'dispatchException':function(_0x403fdf){if(this['done'])throw _0x403fdf;var _0x1cbe8c=this;function _0xa852ea(_0x117e55,_0x59b7ab){return _0x20c169['type']='throw',_0x20c169['arg']=_0x403fdf,_0x1cbe8c['next']=_0x117e55,_0x59b7ab&&(_0x1cbe8c['method']='next',_0x1cbe8c['arg']=void 0x0),!!_0x59b7ab;}for(var _0x448a73=this['tryEntries']['length']-0x1;_0x448a73>=0x0;--_0x448a73){var _0x1fc3f3=this['tryEntries'][_0x448a73],_0x20c169=_0x1fc3f3['completion'];if('root'===_0x1fc3f3['tryLoc'])return _0xa852ea('end');if(_0x1fc3f3['tryLoc']<=this['prev']){var _0x3cd4b6=_0x2c9f95['call'](_0x1fc3f3,'catchLoc'),_0x4ab950=_0x2c9f95['call'](_0x1fc3f3,'finallyLoc');if(_0x3cd4b6&&_0x4ab950){if(this['prev']<_0x1fc3f3['catchLoc'])return _0xa852ea(_0x1fc3f3['catchLoc'],!0x0);if(this['prev']<_0x1fc3f3['finallyLoc'])return _0xa852ea(_0x1fc3f3['finallyLoc']);}else{if(_0x3cd4b6){if(this['prev']<_0x1fc3f3['catchLoc'])return _0xa852ea(_0x1fc3f3['catchLoc'],!0x0);}else{if(!_0x4ab950)throw new Error('try\\x20statement\\x20without\\x20catch\\x20or\\x20finally');if(this['prev']<_0x1fc3f3['finallyLoc'])return _0xa852ea(_0x1fc3f3['finallyLoc']);}}}}},'abrupt':function(_0xcb1d36,_0x5b6e6e){for(var _0xdc17a5=this['tryEntries']['length']-0x1;_0xdc17a5>=0x0;--_0xdc17a5){var _0xbfcf0a=this['tryEntries'][_0xdc17a5];if(_0xbfcf0a['tryLoc']<=this['prev']&&_0x2c9f95['call'](_0xbfcf0a,'finallyLoc')&&this['prev']<_0xbfcf0a['finallyLoc']){var _0x2d64a0=_0xbfcf0a;break;}}_0x2d64a0&&('break'===_0xcb1d36||'continue'===_0xcb1d36)&&_0x2d64a0['tryLoc']<=_0x5b6e6e&&_0x5b6e6e<=_0x2d64a0['finallyLoc']&&(_0x2d64a0=null);var _0x55964f=_0x2d64a0?_0x2d64a0['completion']:{};return _0x55964f['type']=_0xcb1d36,_0x55964f['arg']=_0x5b6e6e,_0x2d64a0?(this['method']='next',this['next']=_0x2d64a0['finallyLoc'],_0x4257e9):this['complete'](_0x55964f);},'complete':function(_0x4275e3,_0x4b1e00){if('throw'===_0x4275e3['type'])throw _0x4275e3['arg'];return'break'===_0x4275e3['type']||'continue'===_0x4275e3['type']?this['next']=_0x4275e3['arg']:'return'===_0x4275e3['type']?(this['rval']=this['arg']=_0x4275e3['arg'],this['method']='return',this['next']='end'):'normal'===_0x4275e3['type']&&_0x4b1e00&&(this['next']=_0x4b1e00),_0x4257e9;},'finish':function(_0x40eb66){for(var _0x5d058f=this['tryEntries']['length']-0x1;_0x5d058f>=0x0;--_0x5d058f){var _0x546907=this['tryEntries'][_0x5d058f];if(_0x546907['finallyLoc']===_0x40eb66)return this['complete'](_0x546907['completion'],_0x546907['afterLoc']),_0x3f32b7(_0x546907),_0x4257e9;}},'catch':function(_0x19c03a){for(var _0x92497c=this['tryEntries']['length']-0x1;_0x92497c>=0x0;--_0x92497c){var _0x3728e2=this['tryEntries'][_0x92497c];if(_0x3728e2['tryLoc']===_0x19c03a){var _0x5e5db0=_0x3728e2['completion'];if('throw'===_0x5e5db0['type']){var _0x308208=_0x5e5db0['arg'];_0x3f32b7(_0x3728e2);}return _0x308208;}}throw new Error('illegal\\x20catch\\x20attempt');},'delegateYield':function(_0x8dccb1,_0x20d0bf,_0x123639){return this['delegate']={'iterator':_0x4e4794(_0x8dccb1),'resultName':_0x20d0bf,'nextLoc':_0x123639},'next'===this['method']&&(this['arg']=void 0x0),_0x4257e9;}},_0x33c0e0;}_0x42db72['exports']=_0x281627,_0x42db72['exports']['__esModule']=!0x0,_0x42db72['exports']['default']=_0x42db72['exports'];},0x2ba:_0x2f8669=>{function _0x4cafda(_0x814e18){return _0x2f8669['exports']=_0x4cafda='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(_0x83d824){return typeof _0x83d824;}:function(_0x1320d7){return _0x1320d7&&'function'==typeof Symbol&&_0x1320d7['constructor']===Symbol&&_0x1320d7!==Symbol['prototype']?'symbol':typeof _0x1320d7;},_0x2f8669['exports']['__esModule']=!0x0,_0x2f8669['exports']['default']=_0x2f8669['exports'],_0x4cafda(_0x814e18);}_0x2f8669['exports']=_0x4cafda,_0x2f8669['exports']['__esModule']=!0x0,_0x2f8669['exports']['default']=_0x2f8669['exports'];},0x2af:(_0x5e1c4f,_0xf64df6,_0x423f35)=>{var _0xc1bb=_0x423f35(0x3d)();_0x5e1c4f['exports']=_0xc1bb;try{regeneratorRuntime=_0xc1bb;}catch(_0xd376ef){'object'==typeof globalThis?globalThis['regeneratorRuntime']=_0xc1bb:Function('r','regeneratorRuntime\\x20=\\x20r')(_0xc1bb);}}},_0x24ab1e={};function _0x78e9a5(_0x1a6218){var _0x4ce8aa=_0x24ab1e[_0x1a6218];if(void 0x0!==_0x4ce8aa)return _0x4ce8aa['exports'];var _0x567fa5=_0x24ab1e[_0x1a6218]={'exports':{}};return _0xae8de9[_0x1a6218](_0x567fa5,_0x567fa5['exports'],_0x78e9a5),_0x567fa5['exports'];}_0x78e9a5['n']=_0x245ed7=>{var _0x1118a1=_0x245ed7&&_0x245ed7['__esModule']?()=>_0x245ed7['default']:()=>_0x245ed7;return _0x78e9a5['d'](_0x1118a1,{'a':_0x1118a1}),_0x1118a1;},_0x78e9a5['d']=(_0x20deab,_0x12594e)=>{for(var _0x263047 in _0x12594e)_0x78e9a5['o'](_0x12594e,_0x263047)&&!_0x78e9a5['o'](_0x20deab,_0x263047)&&Object['defineProperty'](_0x20deab,_0x263047,{'enumerable':!0x0,'get':_0x12594e[_0x263047]});},_0x78e9a5['o']=(_0x4d4eed,_0x2b5cd3)=>Object['prototype']['hasOwnProperty']['call'](_0x4d4eed,_0x2b5cd3),((()=>{'use strict';function _0x3521ed(_0x4332f4){return _0x3521ed='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(_0x260d5f){return typeof _0x260d5f;}:function(_0x1e8ba9){return _0x1e8ba9&&'function'==typeof Symbol&&_0x1e8ba9['constructor']===Symbol&&_0x1e8ba9!==Symbol['prototype']?'symbol':typeof _0x1e8ba9;},_0x3521ed(_0x4332f4);}function _0x212e39(_0x382aa2,_0x735f87,_0x7a4b53,_0x2c1a03,_0x50d4d6,_0xc89b03,_0x2639f4){try{var _0x80af12=_0x382aa2[_0xc89b03](_0x2639f4),_0x177927=_0x80af12['value'];}catch(_0xa8c61c){return void _0x7a4b53(_0xa8c61c);}_0x80af12['done']?_0x735f87(_0x177927):Promise['resolve'](_0x177927)['then'](_0x2c1a03,_0x50d4d6);}function _0x465afd(_0x179677){return function(){var _0x3e4ac0=this,_0x54de1c=arguments;return new Promise(function(_0x482368,_0xe0cafc){var _0x318482=_0x179677['apply'](_0x3e4ac0,_0x54de1c);function _0x2f4abf(_0x4076a2){_0x212e39(_0x318482,_0x482368,_0xe0cafc,_0x2f4abf,_0x47637d,'next',_0x4076a2);}function _0x47637d(_0x21aa5d){_0x212e39(_0x318482,_0x482368,_0xe0cafc,_0x2f4abf,_0x47637d,'throw',_0x21aa5d);}_0x2f4abf(void 0x0);});};}function _0x1d88b2(_0x4c6274,_0x87413a){if(!(_0x4c6274 instanceof _0x87413a))throw new TypeError('Cannot\\x20call\\x20a\\x20class\\x20as\\x20a\\x20function');}function _0x7cc4f5(_0x5eda3f,_0x409999){for(var _0x59b295=0x0;_0x59b295<_0x409999['length'];_0x59b295++){var _0x2b7690=_0x409999[_0x59b295];_0x2b7690['enumerable']=_0x2b7690['enumerable']||!0x1,_0x2b7690['configurable']=!0x0,'value'in _0x2b7690&&(_0x2b7690['writable']=!0x0),Object['defineProperty'](_0x5eda3f,_0x2b7690['key'],_0x2b7690);}}function _0x4e686c(_0x347506,_0x337fe4,_0x185e36){return _0x337fe4&&_0x7cc4f5(_0x347506['prototype'],_0x337fe4),_0x185e36&&_0x7cc4f5(_0x347506,_0x185e36),Object['defineProperty'](_0x347506,'prototype',{'writable':!0x1}),_0x347506;}var _0x3328a3=_0x78e9a5(0x2af),_0x171d88=_0x78e9a5['n'](_0x3328a3),_0x1e1231=0x501,_0x421a67=0x502,_0x42e372=0x505,_0xd0cb66=0x507,_0x4c9d86=0x508,_0x36522d=0x509,_0x1dae8d=0x512,_0x604e00=0x516,_0x10787f=0x1,_0x1adf2b=0x2,_0x5904b1=0x3,_0xf6e73b=0x0,_0x2bd62a=0x100,_0x340cf3=0x200,_0x3c6685=0x300,_0x56a1c6=0x400,_0xefb8fa=0x500,_0x39a314=0x600,_0xe75a42=0x700,_0x102fcd=0x800,_0x1f9056=0x900,_0x406210=0xa00,_0x11584b=0x1,_0x587f78=0x2,_0x5ceb2d=0x4,_0x4b7d75=0x8,_0x58b6d9=0x10,_0xab921a=0x20,_0xf6b282=0x15000001,_0x3c737d=0x1f000001,_0x596305=0x1f800000;function _0x416216(_0x4d5991,_0x450719){(null==_0x450719||_0x450719>_0x4d5991['length'])&&(_0x450719=_0x4d5991['length']);for(var _0x37a460=0x0,_0x53ccf0=new Array(_0x450719);_0x37a460<_0x450719;_0x37a460++)_0x53ccf0[_0x37a460]=_0x4d5991[_0x37a460];return _0x53ccf0;}function _0x195f37(_0xff8d1d){return function(_0x43a5b5){if(Array['isArray'](_0x43a5b5))return _0x416216(_0x43a5b5);}(_0xff8d1d)||function(_0x5ebfdf){if('undefined'!=typeof Symbol&&null!=_0x5ebfdf[Symbol['iterator']]||null!=_0x5ebfdf['@@iterator'])return Array['from'](_0x5ebfdf);}(_0xff8d1d)||function(_0x4cd1f8,_0x1a17a1){if(_0x4cd1f8){if('string'==typeof _0x4cd1f8)return _0x416216(_0x4cd1f8,_0x1a17a1);var _0x4bb830=Object['prototype']['toString']['call'](_0x4cd1f8)['slice'](0x8,-0x1);return'Object'===_0x4bb830&&_0x4cd1f8['constructor']&&(_0x4bb830=_0x4cd1f8['constructor']['name']),'Map'===_0x4bb830||'Set'===_0x4bb830?Array['from'](_0x4cd1f8):'Arguments'===_0x4bb830||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x4bb830)?_0x416216(_0x4cd1f8,_0x1a17a1):void 0x0;}}(_0xff8d1d)||(function(){throw new TypeError('Invalid\\x20attempt\\x20to\\x20spread\\x20non-iterable\\x20instance.\\x0aIn\\x20order\\x20to\\x20be\\x20iterable,\\x20non-array\\x20objects\\x20must\\x20have\\x20a\\x20[Symbol.iterator]()\\x20method.');}());}var _0x5bde94=(function(){function _0x23d860(){_0x1d88b2(this,_0x23d860),this['startTime']=0x0,this['curTime']=0x0,this['timeWalk']=0x0,this['preTimerStamp']=0x0;}return _0x4e686c(_0x23d860,[{'key':'Init','value':function(){this['startTime']=this['GetCurTime']();}},{'key':'GetCurTime','value':function(){return this['curTime']=0x18*new Date()['getDate']()*0x3c*0x3c*0x3e8+0x3c*new Date()['getHours']()*0x3c*0x3e8+0x3c*new Date()['getMinutes']()*0x3e8+0x3e8*new Date()['getSeconds']()+new Date()['getMilliseconds'](),this['curTime'];}},{'key':'GetTimerWalk','value':function(){return this['timeWalk']=this['GetCurTime']()-this['startTime'],this['timeWalk']<0x0&&(this['timeWalk']=0x0),this['timeWalk'];}},{'key':'timerReset','value':function(){this['startTime']=0x0,this['curTime']=0x0,this['timeWalk']=0x0,this['preTimerStamp']=0x0;}}]),_0x23d860;}());function _0x121715(_0x1bfab1,_0x3e5bd5){var _0x1729fa='undefined'!=typeof Symbol&&_0x1bfab1[Symbol['iterator']]||_0x1bfab1['@@iterator'];if(!_0x1729fa){if(Array['isArray'](_0x1bfab1)||(_0x1729fa=function(_0xa814fc,_0x115214){if(!_0xa814fc)return;if('string'==typeof _0xa814fc)return _0x44c961(_0xa814fc,_0x115214);var _0x4e2124=Object['prototype']['toString']['call'](_0xa814fc)['slice'](0x8,-0x1);'Object'===_0x4e2124&&_0xa814fc['constructor']&&(_0x4e2124=_0xa814fc['constructor']['name']);if('Map'===_0x4e2124||'Set'===_0x4e2124)return Array['from'](_0xa814fc);if('Arguments'===_0x4e2124||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x4e2124))return _0x44c961(_0xa814fc,_0x115214);}(_0x1bfab1))||_0x3e5bd5&&_0x1bfab1&&'number'==typeof _0x1bfab1['length']){_0x1729fa&&(_0x1bfab1=_0x1729fa);var _0xb5d472=0x0,_0x143383=function(){};return{'s':_0x143383,'n':function(){return _0xb5d472>=_0x1bfab1['length']?{'done':!0x0}:{'done':!0x1,'value':_0x1bfab1[_0xb5d472++]};},'e':function(_0x5c5771){throw _0x5c5771;},'f':_0x143383};}throw new TypeError('Invalid\\x20attempt\\x20to\\x20iterate\\x20non-iterable\\x20instance.\\x0aIn\\x20order\\x20to\\x20be\\x20iterable,\\x20non-array\\x20objects\\x20must\\x20have\\x20a\\x20[Symbol.iterator]()\\x20method.');}var _0x3a9f06,_0x411176=!0x0,_0xc4c754=!0x1;return{'s':function(){_0x1729fa=_0x1729fa['call'](_0x1bfab1);},'n':function(){var _0x18efbe=_0x1729fa['next']();return _0x411176=_0x18efbe['done'],_0x18efbe;},'e':function(_0x12a5b4){_0xc4c754=!0x0,_0x3a9f06=_0x12a5b4;},'f':function(){try{_0x411176||null==_0x1729fa['return']||_0x1729fa['return']();}finally{if(_0xc4c754)throw _0x3a9f06;}}};}function _0x44c961(_0x52eab2,_0x28e4c6){(null==_0x28e4c6||_0x28e4c6>_0x52eab2['length'])&&(_0x28e4c6=_0x52eab2['length']);for(var _0x4d9b9c=0x0,_0x338639=new Array(_0x28e4c6);_0x4d9b9c<_0x28e4c6;_0x4d9b9c++)_0x338639[_0x4d9b9c]=_0x52eab2[_0x4d9b9c];return _0x338639;}var _0xd61466=(function(){function _0x532c69(_0x4cd3fa,_0x1980c3,_0x169b64,_0x286588){_0x1d88b2(this,_0x532c69),this['width']=0x0,this['height']=0x0,this['decoderObj']=null,this['FirstFrame']=!0x0,this['ready_frames']=[],this['underflow']=!0x0,this['sab']=_0x4cd3fa,this['frameRate']=0x1e,this['needSetPreSoft']=!0x1,this['decoderCurStatus']=0x2,this['decoderOutSuccess']=!0x1,this['decoderObjNeedReset']=!0x1,this['oVideoRenderHandle']=_0x1980c3,this['output']=this['output']['bind'](this),this['reportError']=this['reportError']['bind'](this),this['player']=null,null!=_0x169b64&&(this['player']=_0x169b64),this['curFrame']=null,this['printfFlag']=this['oVideoRenderHandle']['printfFlag'],this['nGetTotalFrameNum']=0x0,this['nAverageDecodeTime']=0x0,this['oDecodeTimer']=null,this['runtimeInfoCBFun']=null,this['pstRuntimeInfo']={'nRunTimeModule':0x0,'nStrVersion':0x0,'nFrameTimeStamp':0x0,'nFrameNum':0x0,'nErrorCode':0x0,'nInputDataInterval':0x0,'nFrameNumInterval':0x0,'nAverageDecodeTime':0x0,'nSystemFormat':0x0,'nDetectRes':0x0,'nMp4FileTime':0x0,'nMp4TotalFrameNum':0x0,'AbsTimeYear':0x0,'AbsTimeMonth':0x0,'AbsTimeDay':0x0,'AbsTimeHour':0x0,'AbsTimeMinute':0x0,'AbsTimeSecond':0x0,'AbsTimeMilliseconds':0x0},this['HardDecFrameCount']=0x0,this['canvas']=_0x286588,this['bSetStreamEnd']=!0x1,this['bVisibility']=!0x0,this['back_ready_frames']=[],this['StartFrameTime']=0x0,this['WaitForFrameFlag']=0x0;}return _0x4e686c(_0x532c69,[{'key':'initDecoder','value':function(){if(null==this['decoderObj'])try{var _0x5ecddb={'output':this['output'],'error':this['reportError']};this['decoderObj']=new VideoDecoder(_0x5ecddb);}catch(_0x37ecd1){0x0==this['oVideoRenderHandle']['firstFrame']?this['decoderObjNeedReset']=!0x0:(this['oVideoRenderHandle']['HardDecodeError'](),console['log']('%cswitch\\x20hardVideoDecoder\\x20to\\x20softVideoDecoder','color:\\x20red'));}''!=this['canvas']&&null!=this['canvas']&&(this['underflow']&&(this['underflow']=!0x1,this['oVideoRenderHandle']['RenderFrame']()['then'](function(){})),this['oVideoRenderHandle']['displayRunning']=!0x0),this['decoderCurStatus']=0x2,this['FirstFrame']=!0x0;}},{'key':'inputData','value':function(_0x307751,_0x5b00e5){null!=this['decoderObj']&&(this['printfFlag']>0x0&&console['log']('VideoDecoder.js\\x20inputData\\x20videoInfo.timeStamp:'+_0x5b00e5['timeStamp']+',decodeQueueSize:'+this['decoderObj']['decodeQueueSize']+',frameLength:'+this['ready_frames']['length']),('configured'==this['decoderObj']['state']||this['FirstFrame'])&&this['decodeProcess'](_0x307751,_0x5b00e5),(this['ready_frames']['length']>0x64||this['decoderObj']['decodeQueueSize']>0x64)&&(this['player']?this['player']['JSPlayM4_GetDecodeBufferSize'](this['decoderObj']['decodeQueueSize'],this['ready_frames']['length']):postMessage({'function':'GetDecodeBufferSize','rawSize':this['decoderObj']['decodeQueueSize'],'frameSize':this['ready_frames']['length']})),_0x5b00e5['nStreamEnd']&&this['SetStreamEnd']());}},{'key':'concatenate','value':function(_0x2600ac){for(var _0x1570b6=0x0,_0x4879b5=arguments['length'],_0x293716=new Array(_0x4879b5>0x1?_0x4879b5-0x1:0x0),_0x4cd4d4=0x1;_0x4cd4d4<_0x4879b5;_0x4cd4d4++)_0x293716[_0x4cd4d4-0x1]=arguments[_0x4cd4d4];for(var _0x360417=0x0,_0x4c7801=_0x293716;_0x360417<_0x4c7801['length'];_0x360417++){var _0x64f6ca=_0x4c7801[_0x360417];_0x1570b6+=_0x64f6ca['length'];}for(var _0x33482a=new _0x2600ac(_0x1570b6),_0x188275=0x0,_0x197b8a=0x0,_0x182c5a=_0x293716;_0x197b8a<_0x182c5a['length'];_0x197b8a++){var _0x3762ec=_0x182c5a[_0x197b8a];_0x33482a['set'](_0x3762ec,_0x188275),_0x188275+=_0x3762ec['length'];}return _0x33482a;}},{'key':'processData','value':function(_0x53c931){for(var _0x41c443=null,_0x1e6e4c=null,_0x1696f2=null,_0x2a722a=!0x1,_0x4825f9=!0x1,_0xb8d808=0x0,_0x47eebd=0x0;_0x47eebd<_0x53c931['length']-0x4;_0x47eebd++){if(0x0!=_0x53c931[_0x47eebd]||0x0!=_0x53c931[_0x47eebd+0x1]||0x0!=_0x53c931[_0x47eebd+0x2]||0x1!=_0x53c931[_0x47eebd+0x3]||0x67!=_0x53c931[_0x47eebd+0x4]&&0x27!=_0x53c931[_0x47eebd+0x4]||(0x0!=_0x47eebd?(_0x4825f9=!0x0,_0x41c443=_0x53c931['slice'](_0x47eebd),_0xb8d808=_0x47eebd):_0x41c443=_0x53c931),0x0==_0x53c931[_0x47eebd]&&0x0==_0x53c931[_0x47eebd+0x1]&&0x0==_0x53c931[_0x47eebd+0x2]&&0x1==_0x53c931[_0x47eebd+0x3]&&(0x9==_0x53c931[_0x47eebd+0x4]||0x6==_0x53c931[_0x47eebd+0x4])){if(null==_0x41c443)continue;null==_0x1e6e4c&&(_0x1e6e4c=_0x53c931['slice'](_0xb8d808,_0x47eebd),_0x2a722a=!0x0);}if(0x0==_0x53c931[_0x47eebd]&&0x0==_0x53c931[_0x47eebd+0x1]&&0x0==_0x53c931[_0x47eebd+0x2]&&0x1==_0x53c931[_0x47eebd+0x3]&&(0x65==_0x53c931[_0x47eebd+0x4]||0x25==_0x53c931[_0x47eebd+0x4])){_0x2a722a&&(_0x1696f2=_0x53c931['slice'](_0x47eebd));break;}}return _0x2a722a?this['concatenate'](Uint8Array,_0x1e6e4c,_0x1696f2):_0x4825f9?_0x41c443:_0x53c931;}},{'key':'processData1','value':function(_0x3ad75c){return 0x0!=_0x3ad75c[0x0]||0x0!=_0x3ad75c[0x1]||0x0!=_0x3ad75c[0x2]||0x1!=_0x3ad75c[0x3]||0x9!=_0x3ad75c[0x4]&&0x6!=_0x3ad75c[0x4]?_0x3ad75c:_0x3ad75c['slice'](0x5);}},{'key':'formatVideoDecoderConfigure','value':function(_0x3af474,_0x45520a,_0x232798,_0x1bb198){var _0x369a8c='';0x5==_0x45520a?(_0x369a8c='hvc1.1.6.L123.00',this['printfFlag']>=0x0&&console['log']('265\\x20hard\\x20decoder')):0x100==_0x45520a?(_0x369a8c='avc1.42001f',this['printfFlag']>=0x0&&console['log']('264\\x20hard\\x20decoder')):console['log']('Support\\x20Error:\\x20hard\\x20decoder\\x20only\\x20support\\x20264\\x20and\\x20265\\x20!!!');var _0x164a51={'codec':_0x369a8c,'hardwareAcceleration':'prefer-hardware','optimizeForLatency':0x1};return 0x5!=_0x45520a&&this['needSetPreSoft']&&(_0x164a51['hardwareAcceleration']='prefer-software'),_0x164a51;}},{'key':'decodeProcess','value':function(_0x169710,_0x34a7f5){this['frameRate']!=_0x34a7f5['frameRate']&&(this['frameRate']=_0x34a7f5['frameRate']),this['width']!=_0x34a7f5['width']&&(this['width']=_0x34a7f5['width']),this['height']!=_0x34a7f5['height']&&(this['height']=_0x34a7f5['height']),_0x34a7f5['needSetPreSoft']&&(this['needSetPreSoft']=_0x34a7f5['needSetPreSoft']);var _0x54435e=_0x169710;if(0x4!=this['decoderCurStatus']&&null!=this['decoderObj']){if(this['printfFlag']>0x0&&console['log']('VideoDecoder.js\\x20Decoder\\x20this.decoderObj.state:'+this['decoderObj']['state']),'configured'==this['decoderObj']['state']){var _0x4c2218=new EncodedVideoChunk({'data':_0x54435e,'timestamp':_0x34a7f5['timeStamp'],'type':_0x34a7f5['isKeyFrame']?'key':'delta'});try{this['decoderObj']['decode'](_0x4c2218);}catch(_0x429a6a){0x0==this['oVideoRenderHandle']['firstFrame']?this['decoderObjNeedReset']=!0x0:(this['oVideoRenderHandle']['HardDecodeError'](),console['log']('%cswitch\\x20hardVideoDecoder\\x20to\\x20softVideoDecoder','color:\\x20red'));}_0x54435e=null,_0x169710=null,_0x4c2218=null,_0x34a7f5['frameType'];}else{if(_0x34a7f5['isKeyFrame']&&'unconfigured'==this['decoderObj']['state']){var _0xdad05f=this['formatVideoDecoderConfigure'](_0x169710,_0x34a7f5['codecType'],_0x34a7f5['width'],_0x34a7f5['height']);if(''==_0xdad05f['codec'])return-0x1;if(null!==this['decoderObj']){try{this['decoderObj']['configure'](_0xdad05f);}catch(_0x5bd8be){0x0==this['oVideoRenderHandle']['firstFrame']?this['decoderObjNeedReset']=!0x0:(this['oVideoRenderHandle']['HardDecodeError'](),console['log']('%cswitch\\x20hardVideoDecoder\\x20to\\x20softVideoDecoder','color:\\x20red'));}_0x54435e=this['processData'](_0x169710),this['FirstFrame']=!0x1;var _0x33ca53=new EncodedVideoChunk({'data':_0x54435e,'timestamp':_0x34a7f5['timeStamp'],'type':_0x34a7f5['isKeyFrame']?'key':'delta'});try{this['decoderObj']['decode'](_0x33ca53);}catch(_0xf91d9f){0x0==this['oVideoRenderHandle']['firstFrame']?this['decoderObjNeedReset']=!0x0:(this['oVideoRenderHandle']['HardDecodeError'](),console['log']('%cswitch\\x20hardVideoDecoder\\x20to\\x20softVideoDecoder','color:\\x20red'));}_0xdad05f=null,_0x54435e=null,_0x169710=null;}}}}}},{'key':'checkY','value':function(_0x216d96,_0x308777,_0x54d169){Uint8Array['prototype']['compare']=function(_0xc4dbdf,_0x38dbd1,_0x435992){for(var _0x2c7944=0x0;_0x2c7944<_0x435992;_0x2c7944++)if(this[_0xc4dbdf+_0x2c7944]!==this[_0x38dbd1+_0x2c7944])return-0x1;return 0x0;};for(var _0xebda2f=0x0,_0xbac383=new Uint8Array(_0x216d96),_0x2bf315=(_0x54d169-0x8)*_0x308777,_0x340f45=0x0;_0x340f45<0x8;_0x340f45++)for(var _0x42990c=_0x2bf315+_0x340f45*_0x308777,_0x181715=0x0;_0x181715<_0x308777-0x10;_0x181715+=0x18){var _0x584859=_0xbac383['compare'](_0x42990c+_0x181715,_0x42990c+_0x181715+0x8,0x8),_0x581cc7=_0xbac383['compare'](_0x42990c+_0x181715+0x8,_0x42990c+_0x181715+0x10,0x8);0x0===_0x584859&&0x0===_0x581cc7&&(_0xbac383[_0x42990c+_0x181715]>0x7a&&_0xbac383[_0x42990c+_0x181715]<=0x80||0x0===_0xbac383[_0x42990c+_0x181715])&&_0xebda2f++;}return!(_0xebda2f>0x64);}},{'key':'output','value':function(_0x184d9d){var _0x4e8aab=this;if(this['printfFlag']>0x0&&console['log']('VideoDecoder.js\\x20output\\x20timestamp:'+_0x184d9d['timestamp']+',decodeQueueSize:'+this['decoderObj']['decodeQueueSize']+',length:'+this['ready_frames']['length']),null!==this['decoderObj']){if('configured'==this['decoderObj']['state']&&this['bVisibility']){var _0x533424=_0x184d9d['timestamp'];if(this['oVideoRenderHandle']['VideoPrivateInfoMap']['size']>0x0){var _0x403922=this['oVideoRenderHandle']['VideoPrivateInfoMap']['get'](_0x533424);if(null!=_0x403922){for(;_0x403922['linesInfo']['length']>0x0||_0x403922['fontInfo']['length']>0x0||_0x403922['imageInfo']['length']>0x0;)this['oVideoRenderHandle']['oVideoRender']['InputPrivateInfo'](_0x403922['linesInfo']['shift'](),_0x403922['fontInfo']['shift'](),_0x403922['imageInfo']['shift']());this['oVideoRenderHandle']['VideoPrivateInfoMap']['delete'](_0x533424);}}if(this['printfFlag']>0x0&&console['log']('output1\\x20cb\\x20decodeQueueSize:'+this['decoderObj']['decodeQueueSize']+',length:'+this['ready_frames']['length']+',timestamp:'+_0x533424+',systime:'+new Date()['getHours']()+':'+new Date()['getMinutes']()+':'+new Date()['getSeconds']()+'.'+new Date()['getMilliseconds']()),this['oVideoRenderHandle']['DecodeTypeFlagMap']['size']>0x0){var _0xb619a4,_0x15898d=_0x121715(this['oVideoRenderHandle']['DecodeTypeFlagMap']['keys']());try{for(_0x15898d['s']();!(_0xb619a4=_0x15898d['n']())['done'];){var _0x3ec28c=_0xb619a4['value'];if(_0x3ec28c==_0xf6b282){if(0x1==this['oVideoRenderHandle']['DecodeTypeFlagMap']['get'](_0x3ec28c)&&null!=this['runtimeInfoCBFun']&&null!=this['oDecodeTimer']){var _0x645ed9=this['oDecodeTimer']['GetTimerWalk']();_0x645ed9<=0x0||_0x645ed9>0x989680||this['nGetTotalFrameNum']>0x186a0?(this['nGetTotalFrameNum']=0x0,this['oDecodeTimer']['Init']()):(this['nGetTotalFrameNum']++,this['nAverageDecodeTime']=_0x645ed9/this['nGetTotalFrameNum'],null!=this['runtimeInfoCBFun']&&(this['pstRuntimeInfo']['nRunTimeModule']=0x2,this['pstRuntimeInfo']['nStrVersion']=0x1,this['pstRuntimeInfo']['nFrameTimeStamp']=_0x533424,this['pstRuntimeInfo']['nFrameNum']=0x0,this['pstRuntimeInfo']['nErrorCode']=_0xf6b282,this['pstRuntimeInfo']['nInputDataInterval']=0x0,this['pstRuntimeInfo']['nFrameNumInterval']=0x0,this['pstRuntimeInfo']['nAverageDecodeTime']=this['nAverageDecodeTime'],this['runtimeInfoCBFun'](this['pstRuntimeInfo'])));}}}}catch(_0x296b56){_0x15898d['e'](_0x296b56);}finally{_0x15898d['f']();}}if(null!=this['player']&&null!=this['player']['HardDecToJpegCBFun']){++this['HardDecFrameCount'];var _0x4c52ce=_0x184d9d['displayWidth'],_0x46b3d2=_0x184d9d['displayHeight'];(this['HardDecFrameCount']-0x1)%this['player']['HardDecToJpegInterval']==0x0&&createImageBitmap(_0x184d9d)['then'](function(_0x2227e1){_0x4e8aab['player']?_0x4e8aab['player']['_GetImage'](_0x2227e1,'jpeg',0x0,0x0,_0x4c52ce,_0x46b3d2,_0x4e8aab['HardDecFrameCount']):postMessage({'function':'bitmap','value':_0x2227e1,'type':'jpeg','sx':0x0,'sy':0x0,'sw':_0x184d9d['displayWidth'],'sh':_0x184d9d['displayHeight'],'framenum':_0x4e8aab['HardDecFrameCount']});});}if(''!=this['canvas']&&null!=this['canvas']){if(this['printfFlag']>0x0&&console['log']('VideoDecoder.js\\x20WaitForFrameFlag:'+this['WaitForFrameFlag']+',frame.timestamp:'+_0x184d9d['timestamp']+',StartFrameTime:'+this['StartFrameTime']),0x2==this['WaitForFrameFlag']&&_0x184d9d['timestamp']>this['StartFrameTime']&&0x0!=this['StartFrameTime'])return _0x184d9d['close'](),0x1;if(0x1==this['WaitForFrameFlag']&&_0x184d9d['timestamp']0xc8)_0x184d9d['close']();else{var _0x32a0d8;new Object();if(this['oVideoRenderHandle']['findFramebyTime'](_0x184d9d['timestamp'],0x0)['isKeyFrame'])this['back_ready_frames']['reverse'](),(_0x32a0d8=this['ready_frames'])['push']['apply'](_0x32a0d8,_0x195f37(this['back_ready_frames'])),this['back_ready_frames']['splice'](0x0,this['back_ready_frames']['length']),createImageBitmap(_0x184d9d)['then'](function(_0x7170ae){_0x4e8aab['back_ready_frames']['push']({'image':_0x7170ae,'timestamp':_0x184d9d['timestamp'],'displayWidth':_0x184d9d['displayWidth'],'displayHeight':_0x184d9d['displayHeight']}),_0x184d9d['close']();});else createImageBitmap(_0x184d9d)['then'](function(_0x27e32b){_0x4e8aab['back_ready_frames']['push']({'image':_0x27e32b,'timestamp':_0x184d9d['timestamp'],'displayWidth':_0x184d9d['displayWidth'],'displayHeight':_0x184d9d['displayHeight']}),_0x184d9d['close']();}),this['decoderOutSuccess']||(this['decoderOutSuccess']=!0x0),this['decoderObj']['decodeQueueSize']<=0x1&&this['back_ready_frames']['length']<=0x1&&(this['player']?this['player']['JSPlayM4_GetRawData']():postMessage({'function':'GetRawData'}));}}else this['ready_frames']['length']>0x64?_0x184d9d['close']():(this['ready_frames']['push'](_0x184d9d),this['decoderOutSuccess']||(this['decoderOutSuccess']=!0x0),this['decoderObj']['decodeQueueSize']<=0x1&&this['ready_frames']['length']<=0x1&&(this['player']?this['player']['JSPlayM4_GetRawData']():postMessage({'function':'GetRawData'})));}else{if(_0x184d9d['close'](),null!=this['player']&&null!=this['player']['runtimeCBFun']&&0x1==this['GetStreamEnd']()&&0x1==this['bSetStreamEnd']){var _0xadba0f={'nRunTimeModule':0x0,'nStrVersion':0x0,'nFrameTimeStamp':0x0,'nFrameNum':0x0,'nErrorCode':0x9};this['player']['runtimeCBFun'](_0xadba0f),this['bSetStreamEnd']=!0x1;}}}else _0x184d9d['close']();}}},{'key':'output2','value':function(_0x3fba78){var _0x3749d5=this;_0x3fba78['timestamp'],createImageBitmap(_0x3fba78)['then'](function(_0xce44bf){_0x3fba78['close'](),_0x3749d5['ready_frames']['push'](_0xce44bf);});}},{'key':'reportError','value':function(_0x3302d4){if(this['oVideoRenderHandle']['DecodeTypeFlagMap']['size']>0x0){var _0x3307ad,_0x143d54=_0x121715(this['oVideoRenderHandle']['DecodeTypeFlagMap']['keys']());try{for(_0x143d54['s']();!(_0x3307ad=_0x143d54['n']())['done'];){var _0x49cb4a=_0x3307ad['value'];if(0x80==_0x49cb4a)0x1==this['oVideoRenderHandle']['DecodeTypeFlagMap']['get'](_0x49cb4a)&&null!=this['runtimeInfoCBFun']&&(this['pstRuntimeInfo']['nRunTimeModule']=0x2,this['pstRuntimeInfo']['nStrVersion']=0x1,this['pstRuntimeInfo']['nFrameTimeStamp']=timestamp,this['pstRuntimeInfo']['nFrameNum']=0x0,this['pstRuntimeInfo']['nErrorCode']=0x80,this['runtimeInfoCBFun'](this['pstRuntimeInfo']));}}catch(_0x8f5814){_0x143d54['e'](_0x8f5814);}finally{_0x143d54['f']();}}console['log']('hardDecode\\x20reportError:'+_0x3302d4['message']+',state:'+this['decoderObj']['state']+',frameRate:'+this['frameRate']+'this.ready_frames.length:'+this['ready_frames']['length']),0x0==this['oVideoRenderHandle']['firstFrame']?this['decoderObjNeedReset']=!0x0:(this['oVideoRenderHandle']['HardDecodeError'](),console['log']('%cswitch\\x20hardVideoDecoder\\x20to\\x20softVideoDecoder','color:\\x20red'));}},{'key':'destroyDecoder','value':function(){var _0x51717b=this;return new Promise(function(_0x25fcb1,_0x43d69b){_0x51717b['clearDecoderObjBuffer'](),null!=_0x51717b['decoderObj']&&('closed'!=_0x51717b['decoderObj']['state']&&_0x51717b['decoderObj']['close'](),_0x51717b['printfFlag']>=0x0&&console['log']('>>>JS\\x2001\\x20destroy\\x20decoderObj'),_0x51717b['decoderObj']=null),_0x51717b['decoderCurStatus']=0x4,_0x51717b['decoderOutSuccess']=!0x1,_0x51717b['FirstFrame']=!0x0,_0x51717b['needSetPreSoft']=!0x1,_0x51717b['decoderObjNeedReset']=!0x1,_0x51717b['curFrame']=null,null!==_0x51717b['oDecodeTimer']&&(_0x51717b['oDecodeTimer']['timerReset'](),_0x51717b['oDecodeTimer']=null),_0x25fcb1();});}},{'key':'resetDecoder','value':function(){var _0x5a7b6a=this;return new Promise(function(_0x4f47de,_0x2c4fbf){_0x5a7b6a['destroyDecoder']()['then'](function(){_0x5a7b6a['initDecoder'](),console['log']('%c\\x20reset\\x20hard\\x20decoder','color:red'),_0x4f47de();},function(){_0x2c4fbf();});});}},{'key':'clearDecoderObjBuffer','value':function(){if(0x6==this['decoderCurStatus']){for(var _0x5e2d5a=this['ready_frames']['length'],_0x502451=0x0;_0x502451<_0x5e2d5a;_0x502451++){var _0x2ca1dc=this['ready_frames']['shift']();null!=_0x2ca1dc['image']&&null!=_0x2ca1dc['image']&&_0x2ca1dc['image']['close']();}this['ready_frames']['splice'](0x0,this['ready_frames']['length']);for(var _0xdd54=this['back_ready_frames']['length'],_0x24fdd3=0x0;_0x24fdd3<_0xdd54;_0x24fdd3++){var _0x479d9a=this['back_ready_frames']['shift']();null!=_0x479d9a['image']&&null!=_0x479d9a['image']&&_0x479d9a['image']['close']();}this['back_ready_frames']['splice'](0x0,this['back_ready_frames']['length']);}else{for(var _0x33bb83=this['ready_frames']['length'],_0x3bfadc=0x0;_0x3bfadc<_0x33bb83;_0x3bfadc++){this['ready_frames']['shift']()['close']();}this['ready_frames']['splice'](0x0,this['ready_frames']['length']);}this['resetDecoderObj']();}},{'key':'resetDecoderObj','value':function(){null!=this['decoderObj']&&'configured'==this['decoderObj']['state']&&(this['decoderObj']['reset'](),this['FirstFrame']=!0x0);}},{'key':'SetStreamEnd','value':function(){return null!=this['decoderObj']&&0x0==this['decoderObj']['decodeQueueSize']&&0x0==this['ready_frames']['length']&&(this['decoderObj']['flush'](),console['log']('flush')),this['bSetStreamEnd']=!0x0,0x1;}},{'key':'GetStreamEnd','value':function(){return null!=this['decoderObj']&&(0x0==this['decoderObj']['decodeQueueSize']&&0x0==this['ready_frames']['length']||void 0x0);}},{'key':'NotifyBackPlay','value':function(_0x1a5b13,_0x2e29f7,_0x23ac9d){var _0x5237b6=this;return 0x0!=_0x2e29f7?this['resetDecoder']()['then'](function(){_0x5237b6['decoderCurStatus']=_0x1a5b13?0x6:0x2,_0x5237b6['StartFrameTime']=_0x2e29f7,_0x5237b6['WaitForFrameFlag']=_0x23ac9d;}):(this['decoderCurStatus']=_0x1a5b13?0x6:0x2,this['StartFrameTime']=_0x2e29f7,this['WaitForFrameFlag']=_0x23ac9d),0x1;}},{'key':'GetFrame','value':function(){var _0x5b147d=this;return new Promise(function(_0x1d2460,_0x927731){if(null!=_0x5b147d['curFrame']){var _0x2d8e54=_0x5b147d['ready_frames']['shift']();0x6==_0x5b147d['decoderCurStatus']?null!=_0x2d8e54['image']&&null!=_0x2d8e54['image']&&_0x2d8e54['image']['close']():_0x2d8e54['close'](),_0x2d8e54=null,_0x5b147d['curFrame']=null;}0x0!=_0x5b147d['ready_frames']['length']?(_0x5b147d['curFrame']=_0x5b147d['ready_frames'][0x0],_0x1d2460(_0x5b147d['curFrame'])):(_0x5b147d['curFrame']=null,_0x1d2460(null));});}},{'key':'GetFrameBufferLength','value':function(){return this['ready_frames']['length'];}},{'key':'GetImageYUV','value':function(_0x1b5770,_0x30347b,_0x23c1a4,_0x1f21b9,_0x2ccba6){var _0x1b2d42=this;return new Promise(function(_0xe96363,_0x45cac1){var _0x42c732=null;if(null!=_0x1b2d42['curFrame']?_0x42c732=_0x1b2d42['curFrame']:0x0!=_0x1b2d42['ready_frames']['length']&&(_0x42c732=_0x1b2d42['ready_frames'][0x0]),null!=_0x42c732){var _0x533c60=_0x42c732['displayWidth'],_0x27b020=_0x42c732['displayHeight'],_0x231c6c=_0x42c732;0x6==_0x1b2d42['decoderCurStatus']&&(_0x231c6c=_0x42c732['image']),0x0==_0x30347b&&0x0==_0x23c1a4&&0x0==_0x1f21b9&&0x0==_0x2ccba6&&(_0x1f21b9=_0x533c60,_0x2ccba6=_0x27b020),createImageBitmap(_0x231c6c)['then'](function(_0x13a46b){_0x1b2d42['player']?_0x1b2d42['player']['_GetImage'](_0x13a46b,_0x1b5770,_0x30347b,_0x23c1a4,_0x1f21b9,_0x2ccba6,0x0):postMessage({'function':'bitmap','value':_0x13a46b,'type':_0x1b5770,'sx':_0x30347b,'sy':_0x23c1a4,'sw':_0x1f21b9,'sh':_0x2ccba6,'framenum':0x0});}),_0x45cac1();}else _0xe96363({'yuvFrameBuffer':-0x1,'yuvLength':-0x1,'displayWidth':-0x1,'displayHeight':-0x1,'yuvType':-0x1});});}},{'key':'SetPrintLogFlag','value':function(_0x3214d7){return this['printfFlag']=_0x3214d7,0x1;}},{'key':'SetRunTimeInfoCallBackFun','value':function(_0x56a51d,_0x4b51a6){return this['runtimeInfoCBFun']=_0x4b51a6,0x1;}},{'key':'SetRunTimeInfoCallbackType','value':function(_0x27f920,_0x68d1b6,_0x239f65){return _0x68d1b6==_0xf6b282&&(this['nGetTotalFrameNum']=0x0,_0x239f65?null==this['oDecodeTimer']&&(this['oDecodeTimer']=new _0x5bde94(),this['oDecodeTimer']['Init']()):null!==this['oDecodeTimer']&&(this['oDecodeTimer']['timerReset'](),this['oDecodeTimer']=null)),0x1;}},{'key':'IsVisible','value':function(_0x157b66){return this['bVisibility']=_0x157b66,0x1;}}]),_0x532c69;}());function _0x5ba299(_0x1d3b2f,_0x1c7a23,_0x4a7fa6){return _0x1c7a23 in _0x1d3b2f?Object['defineProperty'](_0x1d3b2f,_0x1c7a23,{'value':_0x4a7fa6,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):_0x1d3b2f[_0x1c7a23]=_0x4a7fa6,_0x1d3b2f;}var _0x43f926={'d':function(_0x2c46ed,_0x24455f){for(var _0x543a9d in _0x24455f)_0x43f926['o'](_0x24455f,_0x543a9d)&&!_0x43f926['o'](_0x2c46ed,_0x543a9d)&&Object['defineProperty'](_0x2c46ed,_0x543a9d,{'enumerable':!0x0,'get':_0x24455f[_0x543a9d]});},'o':function(_0x3337f0,_0x5d376b){return Object['prototype']['hasOwnProperty']['call'](_0x3337f0,_0x5d376b);},'r':function(_0x1966fd){'undefined'!=typeof Symbol&&Symbol['toStringTag']&&Object['defineProperty'](_0x1966fd,Symbol['toStringTag'],{'value':'Module'}),Object['defineProperty'](_0x1966fd,'__esModule',{'value':!0x0});}},_0x39fedc={};_0x43f926['d'](_0x39fedc,{'Dv':function(){return _0x5b51cb;},'CF':function(){return _0x25eff0;},'bC':function(){return _0x47b7bd;}});var _0x47b7bd={};function _0x3a92c7(_0xc50662,_0x42ca23){if(!(_0xc50662 instanceof _0x42ca23))throw new TypeError('Cannot\\x20call\\x20a\\x20class\\x20as\\x20a\\x20function');}function _0x8b359d(_0x6f4c84,_0x47ca05){for(var _0x17d324=0x0;_0x17d324<_0x47ca05['length'];_0x17d324++){var _0xe38cf9=_0x47ca05[_0x17d324];_0xe38cf9['enumerable']=_0xe38cf9['enumerable']||!0x1,_0xe38cf9['configurable']=!0x0,'value'in _0xe38cf9&&(_0xe38cf9['writable']=!0x0),Object['defineProperty'](_0x6f4c84,_0xe38cf9['key'],_0xe38cf9);}}function _0x30be4b(_0x8a864e,_0x479941,_0x18ca8d){return _0x479941&&_0x8b359d(_0x8a864e['prototype'],_0x479941),_0x18ca8d&&_0x8b359d(_0x8a864e,_0x18ca8d),Object['defineProperty'](_0x8a864e,'prototype',{'writable':!0x1}),_0x8a864e;}_0x43f926['r'](_0x47b7bd),_0x43f926['d'](_0x47b7bd,{'ERRCODE':function(){return _0x12eada;},'SRCALLBACKTYPE':function(){return _0x1386af;},'SRDISPLAYEFFECT':function(){return _0x4d466f;},'SRFISHPARAMTYPE':function(){return _0x1a6379;},'SRIMAGEROTATEANGLE':function(){return _0x1dca5a;},'SRPIXELFORMAT':function(){return _0x459b97;},'SRPOSTPROCTYPE':function(){return _0x22a3de;},'SRPTZDISPLAYMODE':function(){return _0x3b7ab3;},'SRRENDERSTATETYPE':function(){return _0x23df7b;},'SRSETRECTTYPE':function(){return _0x2a07c0;},'SRVIEWTYPE':function(){return _0x3bfb8f;}});var _0x645d1a=3.1415926,_0x3b2c52=0.78539815,_0x12eada={'SR_OK':0x1,'SR_ERR_NOT_SUPPORT':0x80000001,'SR_ERR_SUBPORT':0x80000002,'SR_ERR_ALLOC_MEMORY':0x80000003,'SR_ERR_CALL_ORDER':0x80000004,'SR_ERR_PARAM':0x80000005,'SR_ERR_CAPTURE':0x80000006,'SR_ERR_SUBPORT_FULL':0x80000007,'SR_ERR_SHADER':0x80000008,'SR_ERR_3D_MODEL':0x80000009,'SR_ERR_FONT':0x8000000a,'SR_ERR_MEMORY_LIMIT':0x8000000b,'SR_ERR_WEBGPU_RESOURCE':0x8000000c,'SR_ERR_WEBGL_RESOURCE':0x8000000d,'SR_ERR_CANVAS':0x8000000e},_0x2a07c0={'SR_SRT_NULL':0x0,'SR_SRT_SRC':0x1,'SR_SRT_DST':0x2},_0x4d466f={'SR_DE_NULL':0x0,'SR_DE_FISH_ORIGINAL':0x1,'SR_DE_FISH_PTZ_CEILING':0x2,'SR_DE_FISH_PTZ_FLOOR':0x3,'SR_DE_FISH_PTZ_WALL':0x4,'SR_DE_FISH_PANORAMA_CEILING_360':0x5,'SR_DE_FISH_PANORAMA_CEILING_180':0x6,'SR_DE_FISH_PANORAMA_FLOOR_360':0x7,'SR_DE_FISH_PANORAMA_FLOOR_180':0x8,'SR_DE_FISH_PANORAMA_WALL':0x9,'SR_DE_FISH_SEMISPHERE':0xa,'SR_DE_EAGLEEYE_SEMISPHERE':0xb,'SR_DE_EAGLEEYE_PLANE':0xc,'SR_DE_FISH_CYLINDER_CEILING':0xd,'SR_DE_FISH_CYLINDER_FLOOR':0xe,'SR_DE_FISH_CYLINDER_SPLIT_CEILING':0xf,'SR_DE_FISH_CYLINDER_SPLIT_FLOOR':0x10,'SR_DE_FISH_PLANET':0x11,'SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL':0x12,'SR_DE_FISH_ARCSPHERE_VERTICAL_WALL':0x13,'SR_DE_FISH_ANIMATION_SWITCH_CEILING':0x14,'SR_DE_FISH_ANIMATION_SWITCH_FLOOR':0x15,'SR_DE_PANORAMA_SPHERE':0x16,'SR_DE_PANORAMA_PLANET':0x17},_0x459b97={'SR_PF_NULL':0x0,'SR_PF_YV12':0x1,'SR_PF_NV12':0x2,'SR_PF_I420':0x3,'SR_PF_RGB565':0x4,'SR_PF_RGBA32':0x5,'SR_PF_NV21':0x6,'SR_PF_SURFACE':0x100},_0x1a6379={'SR_FPT_NULL':0x0,'SR_FPT_CENTER':0x1,'SR_FPT_ANGLE':0x2,'SR_FPT_ZOOM':0x3,'SR_FPT_PTZ':0x4},_0x3b7ab3={'SR_DM_NULL':0x0,'SR_DM_RECT':0x1,'SR_DM_RANGE':0x2},_0x3bfb8f={'SR_VT_NULL':0x0,'SR_VT_ROTATION_X':0x1,'SR_VT_ROTATION_Y':0x2,'SR_VT_SCALE':0x3},_0x1386af={'SR_CBT_NULL':0x0,'SR_CBT_OUT':0x1},_0x23df7b={'SR_RST_NULL':0x0,'SR_RST_VERTICALFLIP':0x1,'SR_RST_BACK_CULL':0x2,'SR_RST_IMAGE_ROTATE':0x3},_0x22a3de={'SR_PPT_NULL':0x0,'SR_PPT_BRIGHTNESS':0x1,'SR_PPT_HUE':0x2,'SR_PPT_SATURATION':0x3,'SR_PPT_CONTRAST':0x4,'SR_PPT_SHARPNESS':0x5},_0x1dca5a={'SR_IRA_0':0x1,'SR_IRA_90':0x2,'SR_IRA_180':0x3,'SR_IRA_270':0x4},_0x377384=0.000001,_0x224f7f='undefined'!=typeof Float32Array?Float32Array:Array;function _0x43ac42(){var _0x77e497=new _0x224f7f(0x10);return _0x224f7f!=Float32Array&&(_0x77e497[0x1]=0x0,_0x77e497[0x2]=0x0,_0x77e497[0x3]=0x0,_0x77e497[0x4]=0x0,_0x77e497[0x6]=0x0,_0x77e497[0x7]=0x0,_0x77e497[0x8]=0x0,_0x77e497[0x9]=0x0,_0x77e497[0xb]=0x0,_0x77e497[0xc]=0x0,_0x77e497[0xd]=0x0,_0x77e497[0xe]=0x0),_0x77e497[0x0]=0x1,_0x77e497[0x5]=0x1,_0x77e497[0xa]=0x1,_0x77e497[0xf]=0x1,_0x77e497;}function _0x52b8d2(_0x1b9258){return _0x1b9258[0x0]=0x1,_0x1b9258[0x1]=0x0,_0x1b9258[0x2]=0x0,_0x1b9258[0x3]=0x0,_0x1b9258[0x4]=0x0,_0x1b9258[0x5]=0x1,_0x1b9258[0x6]=0x0,_0x1b9258[0x7]=0x0,_0x1b9258[0x8]=0x0,_0x1b9258[0x9]=0x0,_0x1b9258[0xa]=0x1,_0x1b9258[0xb]=0x0,_0x1b9258[0xc]=0x0,_0x1b9258[0xd]=0x0,_0x1b9258[0xe]=0x0,_0x1b9258[0xf]=0x1,_0x1b9258;}function _0x1bc788(_0x32e5bc,_0x5c2673,_0x24afb3){var _0x46f587=_0x5c2673[0x0],_0x395a90=_0x5c2673[0x1],_0x2ac5f3=_0x5c2673[0x2],_0x5449b1=_0x5c2673[0x3],_0x3c2d0c=_0x5c2673[0x4],_0x106d46=_0x5c2673[0x5],_0x227a14=_0x5c2673[0x6],_0xf72eb4=_0x5c2673[0x7],_0x3c002c=_0x5c2673[0x8],_0x37232f=_0x5c2673[0x9],_0x452af9=_0x5c2673[0xa],_0x335e9b=_0x5c2673[0xb],_0x440948=_0x5c2673[0xc],_0x4f341e=_0x5c2673[0xd],_0x182496=_0x5c2673[0xe],_0x35b9de=_0x5c2673[0xf],_0x57b7c6=_0x24afb3[0x0],_0x53d0ed=_0x24afb3[0x1],_0x19773e=_0x24afb3[0x2],_0x1fa7f8=_0x24afb3[0x3];return _0x32e5bc[0x0]=_0x57b7c6*_0x46f587+_0x53d0ed*_0x3c2d0c+_0x19773e*_0x3c002c+_0x1fa7f8*_0x440948,_0x32e5bc[0x1]=_0x57b7c6*_0x395a90+_0x53d0ed*_0x106d46+_0x19773e*_0x37232f+_0x1fa7f8*_0x4f341e,_0x32e5bc[0x2]=_0x57b7c6*_0x2ac5f3+_0x53d0ed*_0x227a14+_0x19773e*_0x452af9+_0x1fa7f8*_0x182496,_0x32e5bc[0x3]=_0x57b7c6*_0x5449b1+_0x53d0ed*_0xf72eb4+_0x19773e*_0x335e9b+_0x1fa7f8*_0x35b9de,_0x57b7c6=_0x24afb3[0x4],_0x53d0ed=_0x24afb3[0x5],_0x19773e=_0x24afb3[0x6],_0x1fa7f8=_0x24afb3[0x7],_0x32e5bc[0x4]=_0x57b7c6*_0x46f587+_0x53d0ed*_0x3c2d0c+_0x19773e*_0x3c002c+_0x1fa7f8*_0x440948,_0x32e5bc[0x5]=_0x57b7c6*_0x395a90+_0x53d0ed*_0x106d46+_0x19773e*_0x37232f+_0x1fa7f8*_0x4f341e,_0x32e5bc[0x6]=_0x57b7c6*_0x2ac5f3+_0x53d0ed*_0x227a14+_0x19773e*_0x452af9+_0x1fa7f8*_0x182496,_0x32e5bc[0x7]=_0x57b7c6*_0x5449b1+_0x53d0ed*_0xf72eb4+_0x19773e*_0x335e9b+_0x1fa7f8*_0x35b9de,_0x57b7c6=_0x24afb3[0x8],_0x53d0ed=_0x24afb3[0x9],_0x19773e=_0x24afb3[0xa],_0x1fa7f8=_0x24afb3[0xb],_0x32e5bc[0x8]=_0x57b7c6*_0x46f587+_0x53d0ed*_0x3c2d0c+_0x19773e*_0x3c002c+_0x1fa7f8*_0x440948,_0x32e5bc[0x9]=_0x57b7c6*_0x395a90+_0x53d0ed*_0x106d46+_0x19773e*_0x37232f+_0x1fa7f8*_0x4f341e,_0x32e5bc[0xa]=_0x57b7c6*_0x2ac5f3+_0x53d0ed*_0x227a14+_0x19773e*_0x452af9+_0x1fa7f8*_0x182496,_0x32e5bc[0xb]=_0x57b7c6*_0x5449b1+_0x53d0ed*_0xf72eb4+_0x19773e*_0x335e9b+_0x1fa7f8*_0x35b9de,_0x57b7c6=_0x24afb3[0xc],_0x53d0ed=_0x24afb3[0xd],_0x19773e=_0x24afb3[0xe],_0x1fa7f8=_0x24afb3[0xf],_0x32e5bc[0xc]=_0x57b7c6*_0x46f587+_0x53d0ed*_0x3c2d0c+_0x19773e*_0x3c002c+_0x1fa7f8*_0x440948,_0x32e5bc[0xd]=_0x57b7c6*_0x395a90+_0x53d0ed*_0x106d46+_0x19773e*_0x37232f+_0x1fa7f8*_0x4f341e,_0x32e5bc[0xe]=_0x57b7c6*_0x2ac5f3+_0x53d0ed*_0x227a14+_0x19773e*_0x452af9+_0x1fa7f8*_0x182496,_0x32e5bc[0xf]=_0x57b7c6*_0x5449b1+_0x53d0ed*_0xf72eb4+_0x19773e*_0x335e9b+_0x1fa7f8*_0x35b9de,_0x32e5bc;}function _0x4ddcd0(_0x49c1e4,_0x1afe5b,_0x15d48e,_0x3cadec){var _0x18eda6,_0x4dd95b,_0x1f5039,_0x1f4e73,_0x5e0eed,_0x2b9b33,_0x1f3b35,_0x498bb1,_0x1c5982,_0x26cccf,_0x1e224c,_0x846956,_0x398329,_0x4301f2,_0x135e4f,_0x35e622,_0x99e92a,_0x433e56,_0x3669af,_0x4af837,_0x50f0bb,_0x5ce1c8,_0x1a388f,_0x5c0e5e,_0x52e323=_0x3cadec[0x0],_0x239486=_0x3cadec[0x1],_0xf06f77=_0x3cadec[0x2],_0x519cd4=Math['hypot'](_0x52e323,_0x239486,_0xf06f77);return _0x519cd4<_0x377384?null:(_0x52e323*=_0x519cd4=0x1/_0x519cd4,_0x239486*=_0x519cd4,_0xf06f77*=_0x519cd4,_0x18eda6=Math['sin'](_0x15d48e),_0x1f5039=0x1-(_0x4dd95b=Math['cos'](_0x15d48e)),_0x1f4e73=_0x1afe5b[0x0],_0x5e0eed=_0x1afe5b[0x1],_0x2b9b33=_0x1afe5b[0x2],_0x1f3b35=_0x1afe5b[0x3],_0x498bb1=_0x1afe5b[0x4],_0x1c5982=_0x1afe5b[0x5],_0x26cccf=_0x1afe5b[0x6],_0x1e224c=_0x1afe5b[0x7],_0x846956=_0x1afe5b[0x8],_0x398329=_0x1afe5b[0x9],_0x4301f2=_0x1afe5b[0xa],_0x135e4f=_0x1afe5b[0xb],_0x35e622=_0x52e323*_0x52e323*_0x1f5039+_0x4dd95b,_0x99e92a=_0x239486*_0x52e323*_0x1f5039+_0xf06f77*_0x18eda6,_0x433e56=_0xf06f77*_0x52e323*_0x1f5039-_0x239486*_0x18eda6,_0x3669af=_0x52e323*_0x239486*_0x1f5039-_0xf06f77*_0x18eda6,_0x4af837=_0x239486*_0x239486*_0x1f5039+_0x4dd95b,_0x50f0bb=_0xf06f77*_0x239486*_0x1f5039+_0x52e323*_0x18eda6,_0x5ce1c8=_0x52e323*_0xf06f77*_0x1f5039+_0x239486*_0x18eda6,_0x1a388f=_0x239486*_0xf06f77*_0x1f5039-_0x52e323*_0x18eda6,_0x5c0e5e=_0xf06f77*_0xf06f77*_0x1f5039+_0x4dd95b,_0x49c1e4[0x0]=_0x1f4e73*_0x35e622+_0x498bb1*_0x99e92a+_0x846956*_0x433e56,_0x49c1e4[0x1]=_0x5e0eed*_0x35e622+_0x1c5982*_0x99e92a+_0x398329*_0x433e56,_0x49c1e4[0x2]=_0x2b9b33*_0x35e622+_0x26cccf*_0x99e92a+_0x4301f2*_0x433e56,_0x49c1e4[0x3]=_0x1f3b35*_0x35e622+_0x1e224c*_0x99e92a+_0x135e4f*_0x433e56,_0x49c1e4[0x4]=_0x1f4e73*_0x3669af+_0x498bb1*_0x4af837+_0x846956*_0x50f0bb,_0x49c1e4[0x5]=_0x5e0eed*_0x3669af+_0x1c5982*_0x4af837+_0x398329*_0x50f0bb,_0x49c1e4[0x6]=_0x2b9b33*_0x3669af+_0x26cccf*_0x4af837+_0x4301f2*_0x50f0bb,_0x49c1e4[0x7]=_0x1f3b35*_0x3669af+_0x1e224c*_0x4af837+_0x135e4f*_0x50f0bb,_0x49c1e4[0x8]=_0x1f4e73*_0x5ce1c8+_0x498bb1*_0x1a388f+_0x846956*_0x5c0e5e,_0x49c1e4[0x9]=_0x5e0eed*_0x5ce1c8+_0x1c5982*_0x1a388f+_0x398329*_0x5c0e5e,_0x49c1e4[0xa]=_0x2b9b33*_0x5ce1c8+_0x26cccf*_0x1a388f+_0x4301f2*_0x5c0e5e,_0x49c1e4[0xb]=_0x1f3b35*_0x5ce1c8+_0x1e224c*_0x1a388f+_0x135e4f*_0x5c0e5e,_0x1afe5b!==_0x49c1e4&&(_0x49c1e4[0xc]=_0x1afe5b[0xc],_0x49c1e4[0xd]=_0x1afe5b[0xd],_0x49c1e4[0xe]=_0x1afe5b[0xe],_0x49c1e4[0xf]=_0x1afe5b[0xf]),_0x49c1e4);}Math['random'],Math['PI'],Math['hypot']||(Math['hypot']=function(){for(var _0xbc71ce=0x0,_0x54875a=arguments['length'];_0x54875a--;)_0xbc71ce+=arguments[_0x54875a]*arguments[_0x54875a];return Math['sqrt'](_0xbc71ce);});var _0x3374fb=function(_0x44e30c,_0x3fb675,_0x47cd74,_0x2e0c53,_0x57925d){var _0x5d0920=0x1/Math['tan'](_0x3fb675/0x2);if(_0x44e30c[0x0]=_0x5d0920/_0x47cd74,_0x44e30c[0x1]=0x0,_0x44e30c[0x2]=0x0,_0x44e30c[0x3]=0x0,_0x44e30c[0x4]=0x0,_0x44e30c[0x5]=_0x5d0920,_0x44e30c[0x6]=0x0,_0x44e30c[0x7]=0x0,_0x44e30c[0x8]=0x0,_0x44e30c[0x9]=0x0,_0x44e30c[0xb]=-0x1,_0x44e30c[0xc]=0x0,_0x44e30c[0xd]=0x0,_0x44e30c[0xf]=0x0,null!=_0x57925d&&_0x57925d!==0x1/0x0){var _0x38aee6=0x1/(_0x2e0c53-_0x57925d);_0x44e30c[0xa]=(_0x57925d+_0x2e0c53)*_0x38aee6,_0x44e30c[0xe]=0x2*_0x57925d*_0x2e0c53*_0x38aee6;}else _0x44e30c[0xa]=-0x1,_0x44e30c[0xe]=-0x2*_0x2e0c53;return _0x44e30c;};function _0x40630e(_0x4510c3,_0x145019,_0x3a0013,_0x39a6f8){var _0x47c170,_0x5c9f96,_0x42fc8e,_0x2abc9b,_0xa153a3,_0x314e95,_0x318512,_0x5985a1,_0x533f7e,_0x378889,_0x59284f=_0x145019[0x0],_0x526542=_0x145019[0x1],_0x4e4736=_0x145019[0x2],_0x232e16=_0x39a6f8[0x0],_0x4db26a=_0x39a6f8[0x1],_0x3b3f42=_0x39a6f8[0x2],_0x2ca9fc=_0x3a0013[0x0],_0xda532f=_0x3a0013[0x1],_0x34e580=_0x3a0013[0x2];return Math['abs'](_0x59284f-_0x2ca9fc)<_0x377384&&Math['abs'](_0x526542-_0xda532f)<_0x377384&&Math['abs'](_0x4e4736-_0x34e580)<_0x377384?_0x52b8d2(_0x4510c3):(_0x318512=_0x59284f-_0x2ca9fc,_0x5985a1=_0x526542-_0xda532f,_0x533f7e=_0x4e4736-_0x34e580,_0x47c170=_0x4db26a*(_0x533f7e*=_0x378889=0x1/Math['hypot'](_0x318512,_0x5985a1,_0x533f7e))-_0x3b3f42*(_0x5985a1*=_0x378889),_0x5c9f96=_0x3b3f42*(_0x318512*=_0x378889)-_0x232e16*_0x533f7e,_0x42fc8e=_0x232e16*_0x5985a1-_0x4db26a*_0x318512,(_0x378889=Math['hypot'](_0x47c170,_0x5c9f96,_0x42fc8e))?(_0x47c170*=_0x378889=0x1/_0x378889,_0x5c9f96*=_0x378889,_0x42fc8e*=_0x378889):(_0x47c170=0x0,_0x5c9f96=0x0,_0x42fc8e=0x0),_0x2abc9b=_0x5985a1*_0x42fc8e-_0x533f7e*_0x5c9f96,_0xa153a3=_0x533f7e*_0x47c170-_0x318512*_0x42fc8e,_0x314e95=_0x318512*_0x5c9f96-_0x5985a1*_0x47c170,(_0x378889=Math['hypot'](_0x2abc9b,_0xa153a3,_0x314e95))?(_0x2abc9b*=_0x378889=0x1/_0x378889,_0xa153a3*=_0x378889,_0x314e95*=_0x378889):(_0x2abc9b=0x0,_0xa153a3=0x0,_0x314e95=0x0),_0x4510c3[0x0]=_0x47c170,_0x4510c3[0x1]=_0x2abc9b,_0x4510c3[0x2]=_0x318512,_0x4510c3[0x3]=0x0,_0x4510c3[0x4]=_0x5c9f96,_0x4510c3[0x5]=_0xa153a3,_0x4510c3[0x6]=_0x5985a1,_0x4510c3[0x7]=0x0,_0x4510c3[0x8]=_0x42fc8e,_0x4510c3[0x9]=_0x314e95,_0x4510c3[0xa]=_0x533f7e,_0x4510c3[0xb]=0x0,_0x4510c3[0xc]=-(_0x47c170*_0x59284f+_0x5c9f96*_0x526542+_0x42fc8e*_0x4e4736),_0x4510c3[0xd]=-(_0x2abc9b*_0x59284f+_0xa153a3*_0x526542+_0x314e95*_0x4e4736),_0x4510c3[0xe]=-(_0x318512*_0x59284f+_0x5985a1*_0x526542+_0x533f7e*_0x4e4736),_0x4510c3[0xf]=0x1,_0x4510c3);}function _0x1a03b4(){var _0x3c25a0=new _0x224f7f(0x3);return _0x224f7f!=Float32Array&&(_0x3c25a0[0x0]=0x0,_0x3c25a0[0x1]=0x0,_0x3c25a0[0x2]=0x0),_0x3c25a0;}function _0x2ba13b(_0x109330,_0x4473aa,_0x50446a){var _0x59a550=new _0x224f7f(0x3);return _0x59a550[0x0]=_0x109330,_0x59a550[0x1]=_0x4473aa,_0x59a550[0x2]=_0x50446a,_0x59a550;}function _0x565b46(){var _0x37452d=new _0x224f7f(0x4);return _0x224f7f!=Float32Array&&(_0x37452d[0x0]=0x0,_0x37452d[0x1]=0x0,_0x37452d[0x2]=0x0),_0x37452d[0x3]=0x1,_0x37452d;}_0x1a03b4(),(function(){var _0x51501e;_0x51501e=new _0x224f7f(0x4),_0x224f7f!=Float32Array&&(_0x51501e[0x0]=0x0,_0x51501e[0x1]=0x0,_0x51501e[0x2]=0x0,_0x51501e[0x3]=0x0);}());var _0x275653;_0x1a03b4(),_0x2ba13b(0x1,0x0,0x0),_0x2ba13b(0x0,0x1,0x0),_0x565b46(),_0x565b46(),_0x275653=new _0x224f7f(0x9),_0x224f7f!=Float32Array&&(_0x275653[0x1]=0x0,_0x275653[0x2]=0x0,_0x275653[0x3]=0x0,_0x275653[0x5]=0x0,_0x275653[0x6]=0x0,_0x275653[0x7]=0x0),_0x275653[0x0]=0x1,_0x275653[0x4]=0x1,_0x275653[0x8]=0x1,(function(){var _0x4d61c6=new _0x224f7f(0x2);_0x224f7f!=Float32Array&&(_0x4d61c6[0x0]=0x0,_0x4d61c6[0x1]=0x0);}());var _0x359c6e='\\x0aattribute\\x20vec4\\x20position;\\x20\\x0aattribute\\x20vec4\\x20texCoord;\\x20\\x0avarying\\x20vec4\\x20pp;\\x20\\x0auniform\\x20int\\x20bCapture;\\x20\\x0a\\x0avoid\\x20main(void)\\x20{\\x0a\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20position;\\x0a\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20-position.y;\\x0a\\x20\\x20}\\x0a\\x20\\x20else\\x0a\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20position;\\x0a\\x20\\x20}\\x0a\\x20\\x20pp\\x20=\\x20texCoord;\\x0a}\\x0a',_0x1cafd1='\\x0aprecision\\x20mediump\\x20float;\\x0avarying\\x20vec4\\x20pp;\\x0auniform\\x20sampler2D\\x20Ytexture;\\x0auniform\\x20sampler2D\\x20Utexture;\\x0auniform\\x20sampler2D\\x20Vtexture;\\x0auniform\\x20int\\x20bDataFormat;\\x0auniform\\x20float\\x20fAlpha;\\x0auniform\\x20int\\x20bDrawImage;\\x0a\\x0avoid\\x20main(void)\\x0a{\\x0a\\x20\\x20\\x20\\x20float\\x20r,g,b,y,u,v;\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20pp.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20pp.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20pp.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor=vec4(r,\\x20g,\\x20b,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20texture2D(Ytexture,\\x20pp.st);\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20if(bDrawImage\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor.a\\x20*=\\x20fAlpha;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a}\\x0a',_0x46ffab='\\x0a\\x20\\x20\\x20\\x20varying\\x20\\x20mediump\\x20float\\x20pp;\\x0a\\x20\\x20\\x20\\x20varying\\x20\\x20lowp\\x20vec4\\x20\\x20colorOut;\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20colorOut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20mediump\\x20float\\x20fx\\x20=\\x20abs(pp);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if\\x20(fx\\x20>\\x200.2)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor.a\\x20=\\x20colorOut.a*(1.25\\x20-\\x201.25*fx);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x20\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a',_0x1e683e='\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20position;\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20texCoord;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20\\x20\\x20mat4\\x20\\x20\\x20matRotate;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.x\\x20\\x20=\\x20position.x;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20\\x20=\\x20position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20-position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.z\\x20\\x20=\\x200.1;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.w\\x20\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp\\x20=\\x20matRotate\\x20*\\x20texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a',_0x3bc606='\\x0a\\x20\\x20\\x20\\x20varying\\x20lowp\\x20vec4\\x20pp;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20texture;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main(void)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20texture2D(texture,\\x20pp.st);\\x0a\\x20\\x20\\x20\\x20}\\x0a',_0x235883='\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20position;\\x20\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20\\x20\\x20mat4\\x20\\x20\\x20matRotate;\\x20\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x20\\x0a\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20position\\x20*\\x20matRotate;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20\\x20-gl_Position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp\\x20=\\x20texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a',_0x30cc3b='\\x0a\\x20\\x20\\x20\\x20precision\\x20mediump\\x20float;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20texture;\\x0a\\x20\\x20\\x20\\x20varying\\x20lowp\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fAlpha;\\x0a\\x20\\x20\\x20\\x20void\\x20main(void)\\x20\\x0a\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20texture2D(texture,\\x20pp.st);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor.a\\x20*=\\x20fAlpha;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a',_0x3298a7=(function(){function _0x17b4ee(){_0x3a92c7(this,_0x17b4ee),this['fFov']=1.57,this['fAspect']=0x1,this['fNear']=0.1,this['fFar']=0x3e8,this['fTheta']=0x0,this['fAlpha']=0x0,this['fBeta']=0x0,this['fScale']=0x1,this['bOrtho']=!0x1,this['matView']=_0x43ac42(),this['matProj']=_0x43ac42(),this['vecEye']=_0x2ba13b(0x0,0x0,0x0),this['vecCenter']=_0x2ba13b(0x0,0x0,0x64),this['vecUp']=_0x2ba13b(0x0,0x1,0x0);}return _0x30be4b(_0x17b4ee,[{'key':'SetYaw','value':function(_0x329c84){this['fTheta']=_0x329c84;}},{'key':'GetYaw','value':function(){return this['fTheta'];}},{'key':'SetPitch','value':function(_0x479400){this['fAlpha']=_0x479400;}},{'key':'GetPitch','value':function(){return this['fAlpha'];}},{'key':'SetRoll','value':function(_0x3dba84){this['fBeta']=_0x3dba84;}},{'key':'GetRoll','value':function(){return this['fBeta'];}},{'key':'SetScale','value':function(_0x586fe4){this['fScale']=_0x586fe4;}},{'key':'GetScale','value':function(){return this['fScale'];}},{'key':'SetFov','value':function(_0x32eff3){this['fFov']=_0x32eff3;}},{'key':'SetAspect','value':function(_0x1e6675){this['fAspect']=_0x1e6675;}},{'key':'SetNear','value':function(_0x266cef){this['fNear']=_0x266cef;}},{'key':'SetFar','value':function(_0x4a5850){this['fFar']=_0x4a5850;}},{'key':'SetOrtho','value':function(_0x41cf36){this['bOrtho']=_0x41cf36;}},{'key':'UpdateCamera','value':function(_0x2144f3,_0x1fba58){if(!(_0x2144f3<=0x0||_0x1fba58<=0x0)){0x1==this['bOrtho']?(function(_0x3970b5,_0x430332,_0x5a2080,_0x3b9b20,_0x4f2d0f,_0xf44c4f,_0x5da3cf){var _0x2dfb71=0x1/(_0x430332-_0x5a2080),_0x455787=0x1/(_0x3b9b20-_0x4f2d0f),_0x45ff1e=0x1/(_0xf44c4f-_0x5da3cf);_0x3970b5[0x0]=-0x2*_0x2dfb71,_0x3970b5[0x1]=0x0,_0x3970b5[0x2]=0x0,_0x3970b5[0x3]=0x0,_0x3970b5[0x4]=0x0,_0x3970b5[0x5]=-0x2*_0x455787,_0x3970b5[0x6]=0x0,_0x3970b5[0x7]=0x0,_0x3970b5[0x8]=0x0,_0x3970b5[0x9]=0x0,_0x3970b5[0xa]=0x2*_0x45ff1e,_0x3970b5[0xb]=0x0,_0x3970b5[0xc]=(_0x430332+_0x5a2080)*_0x2dfb71,_0x3970b5[0xd]=(_0x4f2d0f+_0x3b9b20)*_0x455787,_0x3970b5[0xe]=(_0x5da3cf+_0xf44c4f)*_0x45ff1e,_0x3970b5[0xf]=0x1;}(this['matProj'],0x0,(0x2-1.5*this['fAlpha'])*(_0x2144f3/_0x1fba58),0x0,0x2-1.5*this['fAlpha'],this['fNear'],this['fFar']),this['matProj'][0xc]=0x0,this['matProj'][0xd]=0x0):_0x3374fb(this['matProj'],this['fFov'],_0x2144f3/_0x1fba58,this['fNear'],this['fFar']),this['vecEye']=_0x2ba13b(0x0,0x0,this['fScale']),this['vecCenter']=_0x2ba13b(0x0,0x0,-0x64),this['vecUp']=_0x2ba13b(0x0,0x1,0x0);var _0x4c68a5=_0x2ba13b(0x1,0x0,0x0),_0x14ac75=_0x2ba13b(0x0,0x1,0x0),_0x6a4eb3=_0x2ba13b(0x0,0x0,0x1),_0x7d4ff5=_0x43ac42();_0x40630e(_0x7d4ff5,this['vecEye'],this['vecCenter'],this['vecUp']);var _0x5b2085=_0x43ac42(),_0x3b05b0=_0x43ac42(),_0xb19f01=_0x43ac42(),_0x16cd12=_0x43ac42();_0x4ddcd0(_0x3b05b0,_0x5b2085,-this['fAlpha'],_0x4c68a5),_0x4ddcd0(_0xb19f01,_0x3b05b0,-this['fTheta'],_0x14ac75),_0x4ddcd0(_0x16cd12,_0xb19f01,-this['fBeta'],_0x6a4eb3),_0x1bc788(this['matView'],_0x7d4ff5,_0x16cd12);}}},{'key':'GetView','value':function(){return this['matView'];}},{'key':'GetProj','value':function(){return this['matProj'];}}]),_0x17b4ee;}()),_0x5e5ca3=(function(){function _0x3edebc(){_0x3a92c7(this,_0x3edebc),this['fFov']=1.57,this['fAspect']=0x1,this['fNear']=0.1,this['fFar']=0x3e8,this['fAlpha']=0x0,this['fTheta']=0x0,this['fScale']=0x1,this['bPano']=!0x1,this['matView']=_0x43ac42(),this['matProj']=_0x43ac42(),this['vecEye']=_0x2ba13b(0x0,0x0,0.99),this['vecCenter']=_0x2ba13b(0x0,0x0,-0x64),this['vecUp']=_0x2ba13b(0x0,0x1,0x0);}return _0x30be4b(_0x3edebc,[{'key':'SetPitch','value':function(_0x198537){this['fAlpha']=_0x198537;}},{'key':'GetPitch','value':function(){return this['fAlpha'];}},{'key':'SetYaw','value':function(_0x3bdcaf){this['fTheta']=_0x3bdcaf;}},{'key':'GetYaw','value':function(){return this['fTheta'];}},{'key':'SetScale','value':function(_0x2c3e81){this['fScale']=_0x2c3e81;}},{'key':'GetScale','value':function(){return this['fScale'];}},{'key':'SetFov','value':function(_0x2ea7cf){this['fFov']=_0x2ea7cf;}},{'key':'SetAspect','value':function(_0x2b7ed7){this['fAspect']=_0x2b7ed7;}},{'key':'SetNear','value':function(_0x2f5727){this['fNear']=_0x2f5727;}},{'key':'SetPano','value':function(_0x55c034){this['bPano']=_0x55c034;}},{'key':'SetFar','value':function(_0x49b492){this['fFar']=_0x49b492;}},{'key':'UpdateCamera','value':function(_0x20101c,_0x2cbed6){if(!(_0x20101c<=0x0||_0x2cbed6<=0x0)){var _0x293dff=_0x20101c/_0x2cbed6;0x1==this['bPano']?(_0x3374fb(this['matProj'],this['fScale'],_0x293dff,this['fNear'],this['fFar']),this['matProj'][0x0]=-0x1*this['matProj'][0x0],this['matProj'][0x5]*=-0x1):(_0x3374fb(this['matProj'],this['fFov']+this['fScale']-0x1,_0x293dff,this['fNear'],this['fFar']),this['matProj'][0x0]=this['matProj'][0x0]*((this['fAlpha']- -1.57)/_0x645d1a*0.5-0x1),this['matProj'][0x5]=this['matProj'][0x0]*_0x293dff);var _0x539f00=_0x2ba13b(0x1,0x0,0x0),_0x13eee6=_0x2ba13b(0x0,0x1,0x0),_0x35581e=_0x43ac42();_0x40630e(_0x35581e,this['vecEye'],this['vecCenter'],this['vecUp']);var _0x3f2442=_0x43ac42(),_0x3de062=_0x43ac42(),_0x33528c=_0x43ac42();_0x4ddcd0(_0x3de062,_0x3f2442,-this['fAlpha'],_0x539f00),_0x4ddcd0(_0x33528c,_0x3de062,-this['fTheta'],_0x13eee6),_0x1bc788(this['matView'],_0x35581e,_0x33528c);}}},{'key':'GetView','value':function(){return this['matView'];}},{'key':'GetProj','value':function(){return this['matProj'];}}]),_0x3edebc;}()),_0x2779f7=(function(){function _0x408baa(){_0x3a92c7(this,_0x408baa),this['onlySupportedWebGL1']=!0x1,this['videoShaderProgram']=0x0,this['vertexPosBuffer']=0x0,this['texturePosBuffer']=0x0,this['indicesPosBuffer']=0x0,this['ctx']=null,this['enPixelFormat']=_0x459b97['SR_PF_NULL'],this['nTextureNum']=0x0,this['nSurfaceTexture']=[],this['nSurfaceTexture'][0x0]=0x0,this['nSurfaceTexture'][0x1]=0x0,this['nSurfaceTexture'][0x2]=0x0,this['frameDisplayWidth']=0x0,this['frameDisplayHeight']=0x0,this['bSrcRect']=!0x1,this['fSrcUseLeft']=0x0,this['fSrcUseRight']=0x1,this['fSrcUseTop']=0x0,this['fSrcUseBottom']=0x1,this['fDstUseLeft']=0x0,this['fDstUseRight']=0x1,this['fDstUseTop']=0x0,this['fDstUseBottom']=0x1,this['nPostProc']=0x0,this['fBrightness']=0x0,this['fHue']=0x0,this['fSaturation']=0x0,this['fContrast']=0x0,this['fSharpness']=0x0,this['nWndWidth']=0x0,this['nWndHeight']=0x0,this['bCullBack']=!0x1,this['nImageRotateAngle']=_0x1dca5a['SR_IRA_0'],this['matRotate']=_0x43ac42(),this['bIsCapturing']=!0x1,this['nCaptureWidth']=0x0,this['nCaptureHeight']=0x0,this['nCaptureRTTex']=0x0,this['nCaptureFBO']=0x0,this['nCaptureFBOWidth']=0x0,this['nCaptureFBOHeight']=0x0,this['nCaptureDepthbuffer']=0x0,this['bCaptureResInit']=!0x1,this['pFishParamManager']=null,this['nFECPort']=-0x1,this['pstFishParam']=[],this['fRX1']=0x0,this['fRX2']=0x1,this['fRY1']=0x0,this['fRY2']=0x1,this['b3DPort']=!0x1,this['pCamera']=null,this['fRotateX']=0x0,this['fRotateY']=0x0,this['fScale']=0x0,this['fRotateLimitX']=0x0,this['fRotateLimitY']=0x0,this['pSemiSpherePos']=null,this['pSemiSphereTex']=null,this['nSemiSpherePosNum']=0x0,this['nSemiSpherePosSize']=0x0,this['nSemiSphereTexSize']=0x0,this['pSpherePos']=null,this['pSphereTex']=null,this['pSphereInd']=null,this['nSpherePosNum']=0x0,this['nSpherePosSize']=0x0,this['nSphereTexSize']=0x0,this['pCylinderPos']=null,this['pCylinderTex']=null,this['nCylinderPosNum']=0x0,this['nCylinderPosSize']=0x0,this['nCylinderTexSize']=0x0,this['fCylinderHeight']=0x0,this['fCylinderRadius']=0x0,this['pArcSpherePos']=null,this['pArcSphereTex']=null,this['nArcSpherePosNum']=0x0,this['nArcSpherePosSize']=0x0,this['nArcSphereTexSize']=0x0,this['fImageWidth']=0x1,this['fImageHeight']=0x1,this['fTexCenterX']=0.5,this['fTexCenterY']=0.5,this['fTexRadius']=0.5,this['pfuncCBIn']=null,this['pUserIn']=null,this['pfuncCBOut']=null,this['pUserOut']=null,this['nMosaicShaderProgram']=0x0,this['nLineShaderProgram']=0x0,this['nMaxPointNum']=0x0,this['pLinePosVertices']=null,this['pLineClrVertices']=null,this['glLinePosBuffer']=0x0,this['glLineClrBuffer']=0x0,this['nLineTriangleNum']=0x0,this['pFillBlockPosVertices']=null,this['pFillBlockClrVertices']=null,this['nMaxFillBlockTriNum']=0x0,this['glBlockPosBuffer']=0x0,this['glBlockClrBuffer']=0x0,this['nBlockShaderProgram']=0x0,this['textCanvas']=null,this['textCanvasCtx']=null,this['nDrawFontWidth']=0x0,this['nDrawFontHeight']=0x0,this['nFontColorTexture']=0x0,this['pFontColorBuffer']=0x0,this['nFontShaderProgram']=0x0,this['nFontBGNum']=0x0,this['pstFontBGLines']=[],this['pFontPosVertices']=null,this['glFontVertexPosBuffer']=0x0,this['glFontTexturePosBuffer']=0x0,this['nImageShaderProgram']=0x0,this['pImagePosVertices']=null,this['pImageClrVertices']=null,this['glImagePosBuffer']=0x0,this['glImageClrBuffer']=0x0,this['nImageColorTexture']=null,this['nDrawImageWidth']=0x0,this['nDrawImageHeight']=0x0,this['nImageColorTextures']=[],this['nImageColorTextures'][0x0]=0x0,this['nImageColorTextures'][0x1]=0x0,this['nImageColorTextures'][0x2]=0x0,this['bFirstDrawImage']=!0x0,this['bAntialias']=!0x1,this['bRenderToTex']=!0x1,this['msaaFrameBuffer']=0x0,this['renderBuffer']=0x0,this['stOriginalDisplayRect']={},this['bCaptureOriginal']=!0x1;}return _0x30be4b(_0x408baa,[{'key':'SetCanvasSize','value':function(_0x2d2e1c,_0x503221){return _0x2d2e1c<=0x0||_0x503221<=0x0?_0x12eada['SR_ERR_PARAM']:(this['nWndWidth']=_0x2d2e1c,this['nWndHeight']=_0x503221,_0x12eada['SR_OK']);}},{'key':'Init','value':function(_0x4f175e,_0x1a66e6,_0x1acdd3,_0x5176ce){if(null==_0x4f175e)return _0x12eada['SR_ERR_PARAM'];if(null==this['ctx']&&(this['ctx']=_0x4f175e),_0x1a66e6==_0x459b97['SR_PF_NULL'])return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x297464=_0x12eada['SR_OK'];return _0x1acdd3!=_0x4d466f['SR_DE_FISH_SEMISPHERE']&&_0x1acdd3!=_0x4d466f['SR_DE_PANORAMA_SPHERE']&&_0x1acdd3!=_0x4d466f['SR_DE_PANORAMA_PLANET']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_PLANET']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']||(this['b3DPort']=!0x0,this['ctx']['enable'](this['ctx']['DEPTH_TEST']),this['ctx']['depthFunc'](this['ctx']['LESS']),this['ctx']['depthMask'](!0x0)),_0x297464=this['_InitVideoVertex'](_0x1a66e6,_0x1acdd3,_0x5176ce),_0x12eada['SR_OK']!=_0x297464?_0x297464:(_0x297464=this['_InitVideoShader'](_0x1a66e6,_0x1acdd3),_0x12eada['SR_OK']!=_0x297464?_0x297464:(_0x297464=this['_InitCamera'](_0x1acdd3),_0x12eada['SR_OK']!=_0x297464?_0x297464:(this['enPixelFormat']=_0x1a66e6,this['enDisplayEffect']=_0x1acdd3,_0x1acdd3!=_0x4d466f['SR_DE_FISH_SEMISPHERE']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']||this['ctx']['enable'](this['ctx']['CULL_FACE']),_0x12eada['SR_OK'])));}},{'key':'DeInit','value':function(){}},{'key':'SetTextureNum','value':function(_0x52fba6){return this['nTextureNum']=_0x52fba6,_0x12eada['SR_OK'];}},{'key':'SetTextures','value':function(_0x359e22,_0x1d1d24){return this['nSurfaceTexture'][_0x359e22]=_0x1d1d24,_0x12eada['SR_OK'];}},{'key':'SetWndResolution','value':function(_0x599388,_0x487e39){return _0x599388<=0x0||_0x487e39<=0x0?_0x12eada['SR_ERR_PARAM']:(this['nWndWidth']=_0x599388,this['nWndHeight']=_0x487e39,_0x12eada['SR_OK']);}},{'key':'GetWndResolution','value':function(_0x544d78){return _0x544d78['nWndWidth']=this['nWndWidth'],_0x544d78['nWndHeight']=this['nWndHeight'],_0x12eada['SR_OK'];}},{'key':'SetDisplayRect','value':function(_0x45c2ae,_0x2d168a,_0x297c8b,_0x29210a,_0x38c8a7){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(this['b3DPort'])return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x50a311=_0x45c2ae,_0x22e436=_0x2d168a,_0x182917=_0x45c2ae+_0x297c8b,_0x25e8e3=_0x2d168a+_0x29210a,_0x2ebc1a=null,_0x2ea016=null;switch(_0x38c8a7){case _0x2a07c0['SR_SRT_SRC']:if(this['frameDisplayWidth']>0x0&&this['frameDisplayHeight']>0x0){if(this['fSrcUseLeft']=_0x50a311/this['frameDisplayWidth'],this['fSrcUseLeft']<0x0?this['fSrcUseLeft']=0x0:this['fSrcUseLeft']>0x1&&(this['fSrcUseLeft']=0x1),this['fSrcUseTop']=_0x22e436/this['frameDisplayHeight'],this['fSrcUseTop']<0x0?this['fSrcUseTop']=0x0:this['fSrcUseTop']>0x1&&(this['fSrcUseTop']=0x1),this['fSrcUseRight']=_0x182917/this['frameDisplayWidth'],this['fSrcUseRight']<0x0?this['fSrcUseRight']=0x0:this['fSrcUseRight']>0x1&&(this['fSrcUseRight']=0x1),this['fSrcUseBottom']=_0x25e8e3/this['frameDisplayHeight'],this['fSrcUseBottom']<0x0?this['fSrcUseBottom']=0x0:this['fSrcUseBottom']>0x1&&(this['fSrcUseBottom']=0x1),this['fSrcUseLeft']>=this['fSrcUseRight']||this['fSrcUseTop']>=this['fSrcUseBottom'])return _0x12eada['SR_ERR_PARAM'];if(_0x1dca5a['SR_IRA_0']==this['nImageRotateAngle'])_0x2ebc1a=new Float32Array([this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom']]);else{if(_0x1dca5a['SR_IRA_90']==this['nImageRotateAngle']){var _0x1821a8=this['fSrcUseTop'],_0x393d23=this['fSrcUseBottom'],_0x176c8c=0x1-this['fSrcUseRight'],_0xb5c9c6=0x1-this['fSrcUseLeft'];this['fSrcUseLeft']=_0x1821a8,this['fSrcUseRight']=_0x393d23,this['fSrcUseTop']=_0x176c8c,this['fSrcUseBottom']=_0xb5c9c6,_0x2ebc1a=new Float32Array([this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop']]);}else{if(_0x1dca5a['SR_IRA_180']==this['nImageRotateAngle']){var _0x28c681=0x1-this['fSrcUseRight'],_0x1d98eb=0x1-this['fSrcUseLeft'],_0x5a865f=0x1-this['fSrcUseBottom'],_0x10d4d6=0x1-this['fSrcUseTop'];this['fSrcUseLeft']=_0x28c681,this['fSrcUseRight']=_0x1d98eb,this['fSrcUseTop']=_0x5a865f,this['fSrcUseBottom']=_0x10d4d6,_0x2ebc1a=new Float32Array([this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseTop']]);}else{if(_0x1dca5a['SR_IRA_270']==this['nImageRotateAngle']){var _0x5b2922=0x1-this['fSrcUseBottom'],_0x3663cf=0x1-this['fSrcUseTop'],_0x370b1a=this['fSrcUseLeft'],_0x2a1bc5=this['fSrcUseRight'];this['fSrcUseLeft']=_0x5b2922,this['fSrcUseRight']=_0x3663cf,this['fSrcUseTop']=_0x370b1a,this['fSrcUseBottom']=_0x2a1bc5,_0x2ebc1a=new Float32Array([this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom']]);}}}}this['bSrcRect']=!0x0;}else _0x2ebc1a=new Float32Array([this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom']]),this['bSrcRect']=!0x1;this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['texturePosBuffer']),this['ctx']['bufferSubData'](this['ctx']['ARRAY_BUFFER'],0x0,_0x2ebc1a),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),_0x2ebc1a=null;break;case _0x2a07c0['SR_SRT_DST']:if(this['frameDisplayWidth']>0x0&&this['frameDisplayHeight']>0x0){if(this['fDstUseLeft']=_0x50a311/this['frameDisplayWidth'],this['fDstUseLeft']<0x0?this['fDstUseLeft']=0x0:this['fDstUseLeft']>0x1&&(this['fDstUseLeft']=0x1),this['fDstUseTop']=_0x22e436/this['frameDisplayHeight'],this['fDstUseTop']<0x0?this['fDstUseTop']=0x0:this['fDstUseTop']>0x1&&(this['fDstUseTop']=0x1),this['fDstUseRight']=_0x182917/this['frameDisplayWidth'],this['fDstUseRight']<0x0?this['fDstUseRight']=0x0:this['fDstUseRight']>0x1&&(this['fDstUseRight']=0x1),this['fDstUseBottom']=_0x25e8e3/this['frameDisplayHeight'],this['fDstUseBottom']<0x0?this['fDstUseBottom']=0x0:this['fDstUseBottom']>0x1&&(this['fDstUseBottom']=0x1),this['fDstUseLeft']>=this['fDstUseRight']||this['fDstUseTop']>=this['fDstUseBottom'])return _0x12eada['SR_ERR_PARAM'];(_0x2ea016=new Float32Array(0xc))[0x0]=0x2*this['fDstUseLeft']-0x1,_0x2ea016[0x1]=0x1-0x2*this['fDstUseTop'],_0x2ea016[0x2]=0x2*this['fDstUseLeft']-0x1,_0x2ea016[0x3]=0x1-0x2*this['fDstUseBottom'],_0x2ea016[0x4]=0x2*this['fDstUseRight']-0x1,_0x2ea016[0x5]=0x1-0x2*this['fDstUseTop'],_0x2ea016[0x6]=0x2*this['fDstUseRight']-0x1,_0x2ea016[0x7]=0x1-0x2*this['fDstUseTop'],_0x2ea016[0x8]=0x2*this['fDstUseLeft']-0x1,_0x2ea016[0x9]=0x1-0x2*this['fDstUseBottom'],_0x2ea016[0xa]=0x2*this['fDstUseRight']-0x1,_0x2ea016[0xb]=0x1-0x2*this['fDstUseBottom'],this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['vertexPosBuffer']),this['ctx']['bufferSubData'](this['ctx']['ARRAY_BUFFER'],0x0,_0x2ea016),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),_0x2ea016=null;}break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_OK'];}},{'key':'SetImagePostProcess','value':function(_0x1b9b32,_0x1c7b8d){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(_0x22a3de['SR_PPT_SHARPNESS']==_0x1b9b32||_0x22a3de['SR_PPT_HUE']==_0x1b9b32){if(0x0-_0x1c7b8d>0.000001||_0x1c7b8d-0x1>0.000001)return _0x12eada['SR_ERR_PARAM'];}else{if((_0x22a3de['SR_PPT_BRIGHTNESS']==_0x1b9b32||_0x22a3de['SR_PPT_SATURATION']==_0x1b9b32||_0x22a3de['SR_PPT_CONTRAST']==_0x1b9b32)&&(-0x1-_0x1c7b8d>0.000001||_0x1c7b8d-0x1>0.000001))return _0x12eada['SR_ERR_PARAM'];}switch(_0x1b9b32){case _0x22a3de['SR_PPT_BRIGHTNESS']:this['fBrightness']=_0x1c7b8d;break;case _0x22a3de['SR_PPT_HUE']:this['fHue']=_0x1c7b8d;break;case _0x22a3de['SR_PPT_SATURATION']:this['fSaturation']=_0x1c7b8d;break;case _0x22a3de['SR_PPT_CONTRAST']:this['fContrast']=_0x1c7b8d;break;case _0x22a3de['SR_PPT_SHARPNESS']:this['fSharpness']=_0x1c7b8d;break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return Math['abs'](this['fBrightness']-0x0)<0.000001&&Math['abs'](this['fHue']-0x0)<0.000001&&Math['abs'](this['fSaturation']-0x0)<0.000001&&Math['abs'](this['fContrast']-0x0)<0.000001&&Math['abs'](this['fSharpness']-0x0)<0.000001?this['nPostProc']=0x0:this['nPostProc']=0x1,_0x12eada['SR_OK'];}},{'key':'SetRenderState','value':function(_0x69797,_0x51232e){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];switch(_0x69797){case _0x23df7b['SR_RST_VERTICALFLIP']:if(this['b3DPort'])return _0x12eada['SR_ERR_NOT_SUPPORT'];break;case _0x23df7b['SR_RST_BACK_CULL']:if(!this['b3DPort'])return _0x12eada['SR_ERR_NOT_SUPPORT'];Math['abs'](_0x51232e-0x0)<0.000001?this['bCullBack']=!0x1:this['bCullBack']=!0x0;break;case _0x23df7b['SR_RST_IMAGE_ROTATE']:if(this['b3DPort'])return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x33ca69=null,_0x123071=_0x1dca5a['SR_IRA_0'],_0x183f2c=_0x2ba13b(0x0,0x0,0x1),_0x4db1e1=_0x43ac42();if(Math['abs'](_0x51232e-0x0)<0.000001){if(this['nImageRotateAngle']==_0x123071)break;_0x33ca69=this['bSrcRect']?new Float32Array([this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom']]):new Float32Array([0x0,0x0,0x0,0x1,0x1,0x0,0x1,0x0,0x0,0x1,0x1,0x1]),_0x52b8d2(this['matRotate']);}else{if(Math['abs'](_0x51232e-0x5a)<0.000001){if(_0x123071=_0x1dca5a['SR_IRA_90'],this['nImageRotateAngle']==_0x123071)break;_0x33ca69=this['bSrcRect']?new Float32Array([this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop']]):new Float32Array([0x0,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x1,0x1,0x1,0x0]),_0x4ddcd0(this['matRotate'],_0x4db1e1,1.5707963,_0x183f2c);}else{if(Math['abs'](_0x51232e-0xb4)<0.000001){if(_0x123071=_0x1dca5a['SR_IRA_180'],this['nImageRotateAngle']==_0x123071)break;_0x33ca69=this['bSrcRect']?new Float32Array([this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseTop']]):new Float32Array([0x1,0x1,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x0,0x0]),_0x4ddcd0(this['matRotate'],_0x4db1e1,_0x645d1a,_0x183f2c);}else{if(!(Math['abs'](_0x51232e-0x10e)<0.000001))return _0x12eada['SR_ERR_PARAM'];if(_0x123071=_0x1dca5a['SR_IRA_270'],this['nImageRotateAngle']==_0x123071)break;_0x33ca69=this['bSrcRect']?new Float32Array([this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom']]):new Float32Array([0x1,0x0,0x0,0x0,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x1]),_0x4ddcd0(this['matRotate'],_0x4db1e1,0x3*_0x645d1a/0x2,_0x183f2c);}}}if(null==_0x33ca69)return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x487c88=this['ctx']['createBuffer']();this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x487c88),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0x33ca69,this['ctx']['STATIC_DRAW']),this['texturePosBuffer']=_0x487c88,this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['nImageRotateAngle']=_0x123071;break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_OK'];}},{'key':'SetVideoResolution','value':function(_0x3dac97,_0x24e06a){return null==this['ctx']||_0x3dac97<=0x0||_0x24e06a<=0x0?_0x12eada['SR_ERR_CALL_ORDER']:(this['frameDisplayWidth']=_0x3dac97,this['frameDisplayHeight']=_0x24e06a,_0x12eada['SR_OK']);}},{'key':'GetCaptureSize','value':function(_0x4563e5){var _0x331ce8=arguments['length']>0x1&&void 0x0!==arguments[0x1]&&arguments[0x1];if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x4563e5['nWidth']||null==_0x4563e5['nWidth']||null==_0x4563e5['nHeight']||null==_0x4563e5['nHeight'])return _0x12eada['SR_ERR_PARAM'];if(0x1==_0x331ce8&&this['b3DPort'])return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x2e6760=0x0,_0x58fbcb=0x0;if(0x0==_0x4563e5['nWidth']&&0x0==_0x4563e5['nHeight'])switch(this['enDisplayEffect']){case _0x4d466f['SR_DE_FISH_PTZ_WALL']:case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:_0x2e6760=Math['round'](0x5*this['frameDisplayHeight']/0x8),_0x58fbcb=Math['round'](0x3*_0x2e6760/0x4);break;case _0x4d466f['SR_DE_NULL']:_0x331ce8?(_0x2e6760=Math['round'](this['frameDisplayWidth']),_0x58fbcb=Math['round'](this['frameDisplayHeight'])):(_0x2e6760=Math['round']((this['fSrcUseRight']-this['fSrcUseLeft'])*this['frameDisplayWidth']),_0x58fbcb=Math['round']((this['fSrcUseBottom']-this['fSrcUseTop'])*this['frameDisplayHeight']));break;case _0x4d466f['SR_DE_FISH_ORIGINAL']:case _0x4d466f['SR_DE_FISH_SEMISPHERE']:case _0x4d466f['SR_DE_PANORAMA_SPHERE']:case _0x4d466f['SR_DE_PANORAMA_PLANET']:case _0x4d466f['SR_DE_FISH_CYLINDER_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']:case _0x4d466f['SR_DE_FISH_PLANET']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']:_0x2e6760=Math['round'](this['frameDisplayWidth']),_0x58fbcb=Math['round'](this['frameDisplayHeight']);break;case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:this['frameDisplayHeight']>=0x800?(_0x2e6760=0x1800,_0x58fbcb=0x360):this['frameDisplayHeight']>=0x600&&0x800>this['frameDisplayHeight']?(_0x2e6760=0x1000,_0x58fbcb=0x240):(_0x2e6760=Math['round'](3.14*this['frameDisplayHeight']/1.6),_0x58fbcb=Math['round'](0x9*this['frameDisplayWidth']/0x10),_0x2e6760=Math['round'](0x2*_0x2e6760),_0x58fbcb=Math['round'](_0x58fbcb/0x2));break;case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']:this['frameDisplayHeight']>=0xc00?(_0x2e6760=0x1000,_0x58fbcb=0x900):this['frameDisplayHeight']>=0x800&&0xc00>this['frameDisplayHeight']?(_0x2e6760=0xc00,_0x58fbcb=0x6c0):this['frameDisplayHeight']>=0x600&&0x800>this['frameDisplayHeight']?(_0x2e6760=0x800,_0x58fbcb=0x480):(_0x2e6760=Math['round'](3.14*this['frameDisplayHeight']/1.6),_0x58fbcb=Math['round'](0x9*_0x2e6760/0x10));break;case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:_0x2e6760=Math['round'](this['frameDisplayHeight']),_0x58fbcb=Math['round'](0x9*_0x2e6760/0x10);break;default:return _0x12eada['SR_ERR_PARAM'];}else _0x2e6760=Math['round'](_0x4563e5['nWidth']),_0x58fbcb=Math['round'](_0x4563e5['nHeight']);return _0x2e6760<0x10||_0x58fbcb<0x10?_0x12eada['SR_ERR_PARAM']:(this['nCaptureWidth']=0x4*Math['round'](_0x2e6760/0x4),this['nCaptureHeight']=Math['round'](_0x58fbcb),_0x4563e5['nWidth']=this['nCaptureWidth'],_0x4563e5['nHeight']=this['nCaptureHeight'],_0x4563e5['nBufferLen']=this['nCaptureWidth']*this['nCaptureHeight']*0x4,this['bCaptureOriginal']=_0x331ce8,_0x12eada['SR_OK']);}},{'key':'CaptureScreen','value':function(_0x24b43b,_0x331e7a){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x137f26=_0x12eada['SR_OK'];if(_0x137f26=this['_BeginCapture'](),_0x12eada['SR_OK']!=_0x137f26)return this['bIsCapturing']=!0x1,_0x137f26;if(0x1==this['bCaptureOriginal']&&(this['stOriginalDisplayRect']['fLeft']=this['fSrcUseLeft']*this['frameDisplayWidth'],this['stOriginalDisplayRect']['fTop']=this['fSrcUseTop']*this['frameDisplayHeight'],this['stOriginalDisplayRect']['fWidth']=(this['fSrcUseRight']-this['fSrcUseLeft'])*this['frameDisplayWidth'],this['stOriginalDisplayRect']['fHeight']=(this['fSrcUseBottom']-this['fSrcUseTop'])*this['frameDisplayHeight'],_0x137f26=this['SetDisplayRect'](0x0,0x0,this['frameDisplayWidth'],this['frameDisplayHeight'],_0x2a07c0['SR_SRT_SRC']),_0x12eada['SR_OK']!=_0x137f26))return this['bIsCapturing']=!0x1,_0x137f26;if(0x0==this['videoShaderProgram']||0x0==this['vertexPosBuffer']||0x0==this['texturePosBuffer'])return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['useProgram'](this['videoShaderProgram']),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['vertexPosBuffer']);var _0x5687e2=this['ctx']['getAttribLocation'](this['videoShaderProgram'],'position');if(_0x5687e2<0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['b3DPort']?this['ctx']['vertexAttribPointer'](_0x5687e2,0x3,this['ctx']['FLOAT'],!0x1,0x0,0x0):this['ctx']['vertexAttribPointer'](_0x5687e2,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x5687e2),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['texturePosBuffer']);var _0x417458=this['ctx']['getAttribLocation'](this['videoShaderProgram'],'texCoord');if(_0x417458<0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['vertexAttribPointer'](_0x417458,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x417458),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null);var _0x5b79f1=this['enDisplayEffect'],_0xefe088=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bCapture');if(_0xefe088<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0xefe088,0x1);var _0x266632=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bDataFormat');if(_0x266632<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];switch(this['enPixelFormat']){case _0x459b97['SR_PF_YV12']:case _0x459b97['SR_PF_I420']:this['ctx']['uniform1i'](_0x266632,0x0);break;case _0x459b97['SR_PF_NV12']:break;case _0x459b97['SR_PF_RGBA32']:case _0x459b97['SR_PF_SURFACE']:this['ctx']['uniform1i'](_0x266632,0x1);break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}var _0x158ae0=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bDrawImage');this['ctx']['uniform1i'](_0x158ae0,0x0);var _0x40e944=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fAlpha');switch(this['ctx']['uniform1f'](_0x40e944,0x0),_0x5b79f1){case _0x4d466f['SR_DE_NULL']:break;case _0x4d466f['SR_DE_FISH_ORIGINAL']:case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:case _0x4d466f['SR_DE_FISH_PTZ_WALL']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:if(null==this['pFishParamManager'])return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];var _0x5a516d={},_0x48b558=_0x12eada['SR_OK'];if(_0x48b558=this['pFishParamManager']['GetRenderParam'](this['nFECPort'],_0x5a516d),_0x12eada['SR_OK']!=_0x48b558)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x48b558;if(_0x4d466f['SR_DE_FISH_ORIGINAL']==_0x5b79f1){var _0x9f7f66=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bBlack');if(_0x9f7f66<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0x9f7f66,_0x5a516d['bBlack']);var _0x962731=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bCut');if(_0x962731<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0x962731,_0x5a516d['bCut']);}if(_0x4d466f['SR_DE_FISH_PTZ_CEILING']==_0x5b79f1||_0x4d466f['SR_DE_FISH_PTZ_FLOOR']==_0x5b79f1||_0x4d466f['SR_DE_FISH_PTZ_WALL']==_0x5b79f1){var _0x3ecb7e=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fHAngleCos');if(_0x3ecb7e<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3ecb7e,_0x5a516d['fCosH']);var _0x53a12a=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fHAngleSin');if(_0x53a12a<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x53a12a,_0x5a516d['fSinH']);var _0x56e34e=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fVAngleCos');if(_0x56e34e<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x56e34e,_0x5a516d['fCosV']);var _0x241f38=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fVAngleSin');if(_0x241f38<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x241f38,_0x5a516d['fSinV']);var _0x25722a=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fZoom');if(_0x25722a<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x25722a,_0x5a516d['fZoom']);}if(_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']==_0x5b79f1||_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']==_0x5b79f1||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']==_0x5b79f1||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']==_0x5b79f1){var _0x19678f=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fAngle');if(_0x19678f<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x19678f,_0x5a516d['fAngle']);}var _0x77260d=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX1');if(_0x77260d<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x77260d,_0x5a516d['fRXLeft']);var _0x5812d6=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX2');if(_0x5812d6<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x5812d6,_0x5a516d['fRXRight']);var _0x41a20c=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY1');if(_0x41a20c<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x41a20c,_0x5a516d['fRYTop']);var _0x151b8a=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY2');if(_0x151b8a<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x151b8a,_0x5a516d['fRYBottom']);break;case _0x4d466f['SR_DE_FISH_SEMISPHERE']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](3.14-this['fRotateX']),this['pCamera']['SetYaw'](-this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x5f0f44=this['pCamera']['GetView'](),_0x44f8c6=this['pCamera']['GetProj'](),_0x38c608=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x38c608<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x38c608,!0x1,_0x5f0f44);var _0x3623f5=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x3623f5<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x3623f5,!0x1,_0x44f8c6);break;case _0x4d466f['SR_DE_PANORAMA_SPHERE']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](3.14-this['fRotateX']),this['pCamera']['SetYaw'](this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x104085=this['pCamera']['GetView'](),_0x5e7f20=this['pCamera']['GetProj'](),_0x132449=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x132449<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x132449,!0x1,_0x104085);var _0x141854=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x141854<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x141854,!0x1,_0x5e7f20);break;case _0x4d466f['SR_DE_FISH_CYLINDER_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](-this['fRotateX']),this['pCamera']['SetYaw'](-this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x5e4244=this['pCamera']['GetView'](),_0x244edc=this['pCamera']['GetProj'](),_0x581bcc=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x581bcc<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x581bcc,!0x1,_0x5e4244);var _0x4bebe7=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x4bebe7<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x4bebe7,!0x1,_0x244edc);break;case _0x4d466f['SR_DE_FISH_PLANET']:case _0x4d466f['SR_DE_PANORAMA_PLANET']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](this['fRotateX']),this['pCamera']['SetYaw'](3.14+this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x3d95e8=this['pCamera']['GetView'](),_0x23ba6e=this['pCamera']['GetProj'](),_0x2f7700=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x2f7700<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x2f7700,!0x1,_0x3d95e8);var _0xfd45d9=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0xfd45d9<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0xfd45d9,!0x1,_0x23ba6e);break;case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']:if(null==this['pFishParamManager'])return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];var _0x1cb0b6={},_0x7158af=_0x12eada['SR_OK'];if(_0x7158af=this['pFishParamManager']['GetRenderParam'](this['nFECPort'],_0x1cb0b6),_0x12eada['SR_OK']!=_0x7158af)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x7158af;this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](-this['fRotateX']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x34f807=this['pCamera']['GetView'](),_0xda7be2=this['pCamera']['GetProj'](),_0x427b83=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x427b83<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x427b83,!0x1,_0x34f807);var _0x89734f=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x89734f<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x89734f,!0x1,_0xda7be2);var _0x36f1ae;_0x36f1ae=Math['abs'](0.785-this['fRotateX'])<0.0025?0.785:this['fRotateX'];var _0xaec049=new Float32Array([0x0,0x1,0x0,0x2*-_0x36f1ae]),_0x5e2d7b=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'vecCylinderParam');if(_0x5e2d7b<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['uniform4f'](_0x5e2d7b,_0xaec049[0x0],_0xaec049[0x1],_0xaec049[0x2],_0xaec049[0x3]),_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']==this['enDisplayEffect']){var _0x1b95f3=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fTextureOffset');if(_0x1b95f3<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x1b95f3,this['fRotateY']);}else{var _0x5b2361=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fTextureOffset');if(_0x5b2361<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x5b2361,-this['fRotateY']);}var _0x6b2648=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX1');if(_0x6b2648<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x6b2648,_0x1cb0b6['fRXLeft']);var _0x4f661d=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX2');if(_0x4f661d<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x4f661d,_0x1cb0b6['fRXRight']);var _0x1eeb07=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY1');if(_0x1eeb07<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x1eeb07,_0x1cb0b6['fRYTop']);var _0x36c605=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY2');if(_0x36c605<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x36c605,_0x1cb0b6['fRYBottom']);break;default:return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_NOT_SUPPORT'];}if(this['nCaptureWidth']<=0x0||this['nCaptureHeight']<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CANVAS'];if(this['ctx']['viewport'](0x0,0x0,this['nCaptureWidth'],this['nCaptureHeight']),this['ctx']['clearColor'](0x0,0x0,0x0,0x1),this['ctx']['clear'](this['ctx']['COLOR_BUFFER_BIT']|this['ctx']['DEPTH_BUFFER_BIT']),this['b3DPort']&&(this['ctx']['enable'](this['ctx']['DEPTH_TEST']),this['ctx']['depthFunc'](this['ctx']['LESS']),this['ctx']['depthMask'](!0x0),0x1==this['bCullBack']?this['ctx']['enable'](this['ctx']['CULL_FACE']):this['ctx']['disable'](this['ctx']['CULL_FACE'])),this['enPixelFormat']==_0x459b97['SR_PF_RGBA32']||this['enPixelFormat']==_0x459b97['SR_PF_SURFACE']){this['ctx']['activeTexture'](this['ctx']['TEXTURE0']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x0]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x4eb782=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Ytexture');this['ctx']['uniform1i'](_0x4eb782,0x0);}else{if(this['enPixelFormat']!=_0x459b97['SR_PF_YV12']&&this['enPixelFormat']!=_0x459b97['SR_PF_I420'])return _0x12eada['SR_ERR_NOT_SUPPORT'];this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x0]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x27c73c=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Ytexture');this['ctx']['uniform1i'](_0x27c73c,0x0),this['ctx']['activeTexture'](this['ctx']['TEXTURE1']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x1]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x213b33=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Utexture');this['ctx']['uniform1i'](_0x213b33,0x1),this['ctx']['activeTexture'](this['ctx']['TEXTURE2']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x2]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x26e1c6=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Vtexture');this['ctx']['uniform1i'](_0x26e1c6,0x2);}if(this['onlySupportedWebGL1']||this['ctx']['clearBufferfi'](this['ctx']['DEPTH_STENCIL'],0x0,0x1,0x0),0x0==this['b3DPort'])this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x6);else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_SEMISPHERE']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_PLANET']){if(this['nSemiSpherePosNum']<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,this['nSemiSpherePosNum']);}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_SPHERE']||this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_PLANET']){if(this['nSpherePosNum']<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['bindBuffer'](this['ctx']['ELEMENT_ARRAY_BUFFER'],this['indicesPosBuffer']),this['ctx']['drawElements'](this['ctx']['TRIANGLES'],0x6*this['nSpherePosNum'],this['ctx']['UNSIGNED_SHORT'],0x0),this['ctx']['bindBuffer'](this['ctx']['ELEMENT_ARRAY_BUFFER'],null);}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']){if(this['nCylinderPosNum']<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,this['nCylinderPosNum']);}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']){if(this['nArcSpherePosNum']<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,this['nArcSpherePosNum']);}}}}}if(this['ctx']['useProgram'](null),_0x331e7a||this['DoCallBack'](),0x1==this['bCaptureOriginal']){var _0x4b44a6=this['nImageRotateAngle'];if(this['bSrcRect']=!0x1,_0x137f26=this['SetRenderState'](_0x23df7b['SR_RST_IMAGE_ROTATE'],0x0),_0x12eada['SR_OK']!=_0x137f26)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x137f26;if(_0x137f26=this['SetDisplayRect'](this['stOriginalDisplayRect']['fLeft'],this['stOriginalDisplayRect']['fTop'],this['stOriginalDisplayRect']['fWidth'],this['stOriginalDisplayRect']['fHeight'],_0x2a07c0['SR_SRT_SRC']),_0x12eada['SR_OK']!=_0x137f26)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x137f26;switch(this['bSrcRect']=!0x0,_0x4b44a6){case _0x1dca5a['SR_IRA_0']:_0x137f26=this['SetRenderState'](_0x23df7b['SR_RST_IMAGE_ROTATE'],0x0);break;case _0x1dca5a['SR_IRA_90']:_0x137f26=this['SetRenderState'](_0x23df7b['SR_RST_IMAGE_ROTATE'],0x5a);break;case _0x1dca5a['SR_IRA_180']:_0x137f26=this['SetRenderState'](_0x23df7b['SR_RST_IMAGE_ROTATE'],0xb4);break;case _0x1dca5a['SR_IRA_270']:_0x137f26=this['SetRenderState'](_0x23df7b['SR_RST_IMAGE_ROTATE'],0x10e);break;default:return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_NOT_SUPPORT'];}if(_0x12eada['SR_OK']!=_0x137f26)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x137f26;}return _0x137f26=this['_EndCapture'](_0x24b43b),_0x12eada['SR_OK']!=_0x137f26?_0x137f26:_0x12eada['SR_OK'];}},{'key':'SetWebGL2Support','value':function(_0x10ebdd){return this['onlySupportedWebGL1']=_0x10ebdd,_0x12eada['SR_OK'];}},{'key':'SetFishParamManager','value':function(_0x52508e){return this['pFishParamManager']=_0x52508e,_0x12eada['SR_OK'];}},{'key':'SetFECPort','value':function(_0x3b02c0){return this['nFECPort']=_0x3b02c0,_0x12eada['SR_OK'];}},{'key':'Render','value':function(_0x21128d){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];switch(this['ctx']['useProgram'](this['videoShaderProgram']),this['enPixelFormat']){case _0x459b97['SR_PF_YV12']:case _0x459b97['SR_PF_I420']:this['ctx']['activeTexture'](this['ctx']['TEXTURE0']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x0]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0xe611a2=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Ytexture');this['ctx']['uniform1i'](_0xe611a2,0x0),this['ctx']['activeTexture'](this['ctx']['TEXTURE1']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x1]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x30b299=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Utexture');this['ctx']['uniform1i'](_0x30b299,0x1),this['ctx']['activeTexture'](this['ctx']['TEXTURE2']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x2]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x259dbe=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Vtexture');this['ctx']['uniform1i'](_0x259dbe,0x2);break;case _0x459b97['SR_PF_SURFACE']:this['ctx']['activeTexture'](this['ctx']['TEXTURE0']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x0]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x1822e0=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Ytexture');this['ctx']['uniform1i'](_0x1822e0,0x0);break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}var _0x210c5a=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bCapture');if(_0x210c5a<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0x210c5a,0x0);var _0x2f292e=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bDataFormat');if(_0x2f292e<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];switch(this['enPixelFormat']){case _0x459b97['SR_PF_YV12']:case _0x459b97['SR_PF_I420']:this['ctx']['uniform1i'](_0x2f292e,0x0);break;case _0x459b97['SR_PF_NV12']:break;case _0x459b97['SR_PF_RGBA32']:case _0x459b97['SR_PF_SURFACE']:this['ctx']['uniform1i'](_0x2f292e,0x1);}switch(this['enDisplayEffect']){case _0x4d466f['SR_DE_NULL']:if(this['nPostProc']){var _0x2570c4=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fBrightness');if(_0x2570c4<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x2570c4,this['fBrightness']);var _0x27329a=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fHue');if(_0x27329a<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x27329a,this['fHue']);var _0x1ee1ba=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fSaturation');if(_0x1ee1ba<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x1ee1ba,this['fSaturation']);var _0x16b2c7=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fContrast');if(_0x16b2c7<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x16b2c7,this['fContrast']);var _0x191a57=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fSharpness');if(_0x191a57<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x191a57,this['fSharpness']);var _0x2c3dbe=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fWndWidth');if(_0x2c3dbe<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x2c3dbe,this['nWndWidth']);var _0x2b974a=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fWndHeight');if(_0x2b974a<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x2b974a,this['nWndHeight']);}var _0x142b85=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'nPostProc');this['ctx']['uniform1i'](_0x142b85,this['nPostProc']);break;case _0x4d466f['SR_DE_FISH_ORIGINAL']:case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:case _0x4d466f['SR_DE_FISH_PTZ_WALL']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:if(_0x4d466f['SR_DE_FISH_ORIGINAL']==this['enDisplayEffect']){var _0xe26e5=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bBlack');if(_0xe26e5<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0xe26e5,this['pstFishParam']['bBlack']);var _0x4a1d91=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bCut');if(_0x4a1d91<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0x4a1d91,this['pstFishParam']['bCut']);}if(_0x4d466f['SR_DE_FISH_PTZ_CEILING']==this['enDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_FLOOR']==this['enDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_WALL']==this['enDisplayEffect']){var _0xe50053=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fHAngleCos');if(_0xe50053<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0xe50053,this['pstFishParam']['fCosH']);var _0x4341b9=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fHAngleSin');if(_0x4341b9<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x4341b9,this['pstFishParam']['fSinH']);var _0x1d2619=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fVAngleCos');if(_0x1d2619<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x1d2619,this['pstFishParam']['fCosV']);var _0x4502d1=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fVAngleSin');if(_0x4502d1<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x4502d1,this['pstFishParam']['fSinV']);var _0x125719=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fZoom');if(_0x125719<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x125719,this['pstFishParam']['fZoom']);}if(_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']==this['enDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']==this['enDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']==this['enDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']==this['enDisplayEffect']){var _0x5e80d3=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fAngle');if(_0x5e80d3<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x5e80d3,this['pstFishParam']['fAngle']);}var _0x3637f2=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX1');if(_0x3637f2<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3637f2,this['pstFishParam']['fRXLeft']);var _0x29b4a3=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX2');if(_0x29b4a3<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x29b4a3,this['pstFishParam']['fRXRight']);var _0x31e983=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY1');if(_0x31e983<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x31e983,this['pstFishParam']['fRYTop']);var _0x59aa03=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY2');if(_0x59aa03<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x59aa03,this['pstFishParam']['fRYBottom']);break;case _0x4d466f['SR_DE_FISH_SEMISPHERE']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](3.14-this['fRotateX']),this['pCamera']['SetYaw'](-this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x500208=this['pCamera']['GetView'](),_0x35ccfe=this['pCamera']['GetProj'](),_0x54fef9=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x54fef9<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x54fef9,!0x1,_0x500208);var _0x31eff9=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x31eff9<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x31eff9,!0x1,_0x35ccfe);break;case _0x4d466f['SR_DE_PANORAMA_SPHERE']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](3.14-this['fRotateX']),this['pCamera']['SetYaw'](this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x1a0751=this['pCamera']['GetView'](),_0xf39081=this['pCamera']['GetProj'](),_0x1b143b=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x1b143b<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x1b143b,!0x1,_0x1a0751);var _0x564a69=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x564a69<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x564a69,!0x1,_0xf39081);break;case _0x4d466f['SR_DE_FISH_CYLINDER_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](-this['fRotateX']),this['pCamera']['SetYaw'](-this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x134e36=this['pCamera']['GetView'](),_0x7c5d2=this['pCamera']['GetProj'](),_0x597e66=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x597e66<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x597e66,!0x1,_0x134e36);var _0x57d14e=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x57d14e<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x57d14e,!0x1,_0x7c5d2);break;case _0x4d466f['SR_DE_FISH_PLANET']:case _0x4d466f['SR_DE_PANORAMA_PLANET']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](this['fRotateX']),this['pCamera']['SetYaw'](3.14+this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x148bf6=this['pCamera']['GetView'](),_0x4589c8=this['pCamera']['GetProj'](),_0x35218d=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x35218d<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x35218d,!0x1,_0x148bf6);var _0x3b7b4f=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x3b7b4f<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x3b7b4f,!0x1,_0x4589c8);var _0xeb4987=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bDrawImage');if(_0xeb4987<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0xeb4987,0x0);var _0xb3cfa6=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fAlpha');if(_0xb3cfa6<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0xb3cfa6,0x0);break;case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']:if(null==this['pFishParamManager'])return _0x12eada['SR_ERR_CALL_ORDER'];this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](-this['fRotateX']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x315cf5=this['pCamera']['GetView'](),_0x1069fa=this['pCamera']['GetProj'](),_0x5c6434=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x5c6434<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x5c6434,!0x1,_0x315cf5);var _0x5c7721=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x5c7721<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x5c7721,!0x1,_0x1069fa);var _0x6641d0;_0x6641d0=Math['abs'](0.785-this['fRotateX'])<0.0025?0.785:this['fRotateX'];var _0x5e17af=new Float32Array([0x0,0x1,0x0,0x2*-_0x6641d0]),_0x33e14d=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'vecCylinderParam');if(_0x33e14d<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['uniform4f'](_0x33e14d,_0x5e17af[0x0],_0x5e17af[0x1],_0x5e17af[0x2],_0x5e17af[0x3]),_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']==this['enDisplayEffect']){var _0x3a1dd2=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fTextureOffset');if(_0x3a1dd2<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3a1dd2,this['fRotateY']);}else{var _0x5554c4=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fTextureOffset');if(_0x5554c4<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x5554c4,-this['fRotateY']);}var _0x25432b={},_0x529f55=_0x12eada['SR_OK'];if(_0x529f55=this['pFishParamManager']['GetRenderParam'](this['nFECPort'],_0x25432b),_0x12eada['SR_OK']!=_0x529f55)return _0x529f55;var _0x52a871=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX1');if(_0x52a871<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x52a871,_0x25432b['fRXLeft']);var _0xed745e=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX2');if(_0xed745e<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0xed745e,_0x25432b['fRXRight']);var _0x27398d=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY1');if(_0x27398d<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x27398d,_0x25432b['fRYTop']);var _0x3176cd=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY2');if(_0x3176cd<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3176cd,_0x25432b['fRYBottom']);var _0x23adfe=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bDrawImage');if(_0x23adfe<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0x23adfe,0x0);var _0x39a0d7=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fAlpha');if(_0x39a0d7<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x39a0d7,0x0);break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['vertexPosBuffer']);var _0x3a6244=this['ctx']['getAttribLocation'](this['videoShaderProgram'],'position');if(_0x3a6244<0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['b3DPort']?this['ctx']['vertexAttribPointer'](_0x3a6244,0x3,this['ctx']['FLOAT'],!0x1,0x0,0x0):this['ctx']['vertexAttribPointer'](_0x3a6244,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x3a6244),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['texturePosBuffer']);var _0x97e6c9=this['ctx']['getAttribLocation'](this['videoShaderProgram'],'texCoord');if(_0x97e6c9<0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['vertexAttribPointer'](_0x97e6c9,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x97e6c9),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['viewport'](0x0,0x0,this['nWndWidth'],this['nWndHeight']),this['onlySupportedWebGL1']||this['ctx']['clearBufferfi'](this['ctx']['DEPTH_STENCIL'],0x0,0x1,0x0),this['ctx']['clearColor'](0x0,0x0,0x0,0x1),this['ctx']['clear'](this['ctx']['COLOR_BUFFER_BIT']|this['ctx']['DEPTH_BUFFER_BIT']),this['b3DPort']&&(this['ctx']['enable'](this['ctx']['DEPTH_TEST']),this['ctx']['depthFunc'](this['ctx']['LESS']),this['ctx']['depthMask'](!0x0),0x1==this['bCullBack']?this['ctx']['enable'](this['ctx']['CULL_FACE']):this['ctx']['disable'](this['ctx']['CULL_FACE'])),0x0==this['b3DPort'])this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x6);else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_SEMISPHERE']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_PLANET']){if(this['nSemiSpherePosNum']<=0x0)return _0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,this['nSemiSpherePosNum']);}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_SPHERE']||this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_PLANET']){if(this['nSpherePosNum']<=0x0)return _0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['bindBuffer'](this['ctx']['ELEMENT_ARRAY_BUFFER'],this['indicesPosBuffer']),this['ctx']['drawElements'](this['ctx']['TRIANGLES'],0x6*this['nSpherePosNum'],this['ctx']['UNSIGNED_SHORT'],0x0),this['ctx']['bindBuffer'](this['ctx']['ELEMENT_ARRAY_BUFFER'],null);}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']){if(this['nCylinderPosNum']<=0x0)return _0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,this['nCylinderPosNum']);}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']){if(this['nArcSpherePosNum']<=0x0)return _0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,this['nArcSpherePosNum']);}}}}}return this['ctx']['useProgram'](null),_0x12eada['SR_OK'];}},{'key':'SetAntialias','value':function(_0x7fb285){return null==this['ctx']?_0x12eada['SR_ERR_CALL_ORDER']:(this['bAntialias']=_0x7fb285,_0x12eada['SR_OK']);}},{'key':'DelSubPort','value':function(){return null==this['ctx']?_0x12eada['SR_ERR_CALL_ORDER']:(0x0!=this['videoShaderProgram']&&null!=this['ctx']&&(this['ctx']['deleteProgram'](this['videoShaderProgram']),this['videoShaderProgram']=0x0),0x0!=this['vertexPosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['vertexPosBuffer']),this['vertexPosBuffer']=0x0),0x0!=this['texturePosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['texturePosBuffer']),this['texturePosBuffer']=0x0),0x0!=this['indicesPosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['indicesPosBuffer']),this['indicesPosBuffer']=0x0),this['nMaxPointNum']=0x0,this['pLinePosVertices']=null,this['pLineClrVertices']=null,0x0!=this['glLinePosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['glLinePosBuffer']),this['glLinePosBuffer']=0x0),this['nLineTriangleNum']=0x0,0x0!=this['nLineShaderProgram']&&null!=this['ctx']&&(this['ctx']['deleteProgram'](this['nLineShaderProgram']),this['nLineShaderProgram']=0x0),this['pFillBlockPosVertices']=null,this['pFillBlockClrVertices']=null,this['nMaxFillBlockTriNum']=0x0,0x0!=this['glBlockPosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['glBlockPosBuffer']),this['glBlockPosBuffer']=0x0),0x0!=this['glBlockClrBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['glBlockClrBuffer']),this['glBlockClrBuffer']=0x0),0x0!=this['nBlockShaderProgram']&&null!=this['ctx']&&(this['ctx']['deleteProgram'](this['nBlockShaderProgram']),this['nBlockShaderProgram']=0x0),this['nDrawFontWidth']=0x0,this['nDrawFontHeight']=0x0,0x0!=this['nFontColorTexture']&&null!=this['ctx']&&(this['ctx']['deleteTexture'](this['nFontColorTexture']),this['nFontColorTexture']=0x0),this['pFontColorBuffer']=0x0,0x0!=this['nFontShaderProgram']&&null!=this['ctx']&&(this['ctx']['deleteProgram'](this['nFontShaderProgram']),this['nFontShaderProgram']=0x0),this['pFontPosVertices']=null,0x0!=this['glFontTexturePosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['glFontTexturePosBuffer']),this['glFontTexturePosBuffer']=0x0),0x0!=this['glFontVertexPosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['glFontVertexPosBuffer']),this['glFontVertexPosBuffer']=0x0),0x0!=this['nCaptureRTTex']&&(this['ctx']['deleteTexture'](this['nCaptureRTTex']),this['nCaptureRTTex']=0x0),0x0!=this['nCaptureFBO']&&(this['ctx']['deleteFramebuffer'](this['nCaptureFBO']),this['nCaptureFBO']=0x0),0x0!=this['nCaptureDepthbuffer']&&(this['ctx']['deleteRenderbuffer'](this['nCaptureDepthbuffer']),this['nCaptureDepthbuffer']=0x0),this['bCaptureResInit']=!0x1,this['pSemiSpherePos']=null,this['pSemiSphereTex']=null,this['nSemiSpherePosNum']=0x0,this['nSemiSpherePosSize']=0x0,this['nSemiSphereTexSize']=0x0,this['pSpherePos']=null,this['pSphereTex']=null,this['pSphereInd']=null,this['nSpherePosNum']=0x0,this['nSpherePosSize']=0x0,this['nSphereTexSize']=0x0,this['pCylinderPos']=null,this['pCylinderTex']=null,this['nCylinderPosNum']=0x0,this['nCylinderPosSize']=0x0,this['nCylinderTexSize']=0x0,this['fCylinderHeight']=0x0,this['fCylinderRadius']=0x0,this['pArcSpherePos']=null,this['pArcSphereTex']=null,this['nArcSpherePosNum']=0x0,this['nArcSpherePosSize']=0x0,this['nArcSphereTexSize']=0x0,this['b3DPort']=!0x1,this['pCamera']=null,this['fRotateX']=0x0,this['fRotateY']=0x0,this['fScale']=0x0,this['pfuncCBIn']=null,this['pfuncCBOut']=null,this['pUserIn']=null,this['pUserOut']=null,this['ctx']['disable'](this['ctx']['CULL_FACE']),this['ctx']['disable'](this['ctx']['DEPTH_TEST']),_0x12eada['SR_OK']);}},{'key':'SetFishParam','value':function(_0x1cd8bd){return null==_0x1cd8bd?_0x12eada['SR_ERR_PARAM']:(this['pstFishParam']=_0x1cd8bd,_0x12eada['SR_OK']);}},{'key':'DrawLines','value':function(_0x2d40ca,_0x1958b9,_0x431e5c,_0x4855dd,_0x3bae21,_0x583b72){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x232d85=[],_0x25a849={};return _0x25a849['pstPoints']=_0x2d40ca,_0x25a849['nPointNum']=_0x1958b9,_0x25a849['bLoop']=_0x431e5c,_0x25a849['pstColor']=_0x4855dd,_0x25a849['nLineWidth']=_0x3bae21,_0x232d85['push'](_0x25a849),this['DrawLinesEx'](_0x232d85,0x1,_0x1958b9,_0x583b72);}},{'key':'DrawLinesEx','value':function(_0x3bf92b,_0x16dff8,_0x6802f5,_0x523b92){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x3bf92b||_0x16dff8<0x1||_0x6802f5<0x2)return _0x12eada['SR_ERR_PARAM'];if(0x0==this['nLineShaderProgram']){var _0x321f8e=this['CompileProgram']('\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec3\\x20position;\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20\\x20color;\\x0a\\x20\\x20\\x20\\x20varying\\x20\\x20\\x20float\\x20\\x20pp;\\x0a\\x20\\x20\\x20\\x20varying\\x20\\x20\\x20vec4\\x20\\x20colorOut;\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20\\x20\\x20mat4\\x20\\x20\\x20matRotate;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20vec4(position.x,\\x20position.y,\\x200.0,\\x201.0)\\x20*\\x20matRotate;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20-gl_Position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20vec4(position.x,\\x20position.y,\\x200.0,\\x201.0)\\x20*\\x20matRotate;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp\\x20=\\x20position.z;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20colorOut\\x20=\\x20color;\\x0a\\x20\\x20\\x20\\x20}\\x0a',_0x46ffab);if(_0x321f8e<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['nLineShaderProgram']=_0x321f8e;}if(0x1==_0x523b92)return this['DrawFillBlock'](_0x3bf92b,_0x16dff8,_0x6802f5);for(var _0x3bafb4=0x0,_0x5e3297=0x0;_0x5e3297<_0x16dff8;++_0x5e3297){if(null==_0x3bf92b[_0x5e3297]['pstPoints']||_0x3bf92b[_0x5e3297]['nPointNum']<=0x1||_0x3bf92b[_0x5e3297]['nPointNum']>=0x400||_0x3bf92b[_0x5e3297]['nLineWidth']<=0x0||null==_0x3bf92b[_0x5e3297]['pstColor'])return _0x12eada['SR_ERR_PARAM'];_0x3bafb4+=_0x3bf92b[_0x5e3297]['nPointNum'];}if(_0x3bafb4!=_0x6802f5)return _0x12eada['SR_ERR_PARAM'];if((_0x3bafb4+=_0x16dff8)>this['nMaxPointNum']&&(this['nMaxPointNum']=_0x3bafb4,this['pLinePosVertices']=null,this['pLineClrVertices']=null),null==this['pLinePosVertices']&&(this['pLinePosVertices']=new Float32Array(0x6*this['nMaxPointNum']*0x3),null==this['pLinePosVertices']))return _0x12eada['SR_ERR_ALLOC_MEMORY'];if(this['pLinePosVertices']['fill'](0x0),null==this['pLineClrVertices']&&(this['pLineClrVertices']=new Float32Array(0x6*this['nMaxPointNum']*0x4),null==this['pLineClrVertices']))return _0x12eada['SR_ERR_ALLOC_MEMORY'];if(this['pLineClrVertices']['fill'](0x0),0x0==this['glLinePosBuffer']&&(this['glLinePosBuffer']=this['ctx']['createBuffer'](),0x0==this['glLinePosBuffer']))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(0x0==this['glLineClrBuffer']&&(this['glLineClrBuffer']=this['ctx']['createBuffer'](),0x0==this['glLineClrBuffer']))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];var _0x2fdffd=this['ComputeLinePoint'](_0x3bf92b,_0x16dff8);if(_0x12eada['SR_OK']!=_0x2fdffd)return _0x2fdffd;this['ctx']['enable'](this['ctx']['BLEND']),this['ctx']['blendFuncSeparate'](this['ctx']['SRC_ALPHA'],this['ctx']['ONE_MINUS_SRC_ALPHA'],this['ctx']['ONE'],this['ctx']['ONE_MINUS_SRC_ALPHA']);var _0x38c59d=this['nLineShaderProgram'];this['ctx']['useProgram'](_0x38c59d);var _0x36a456=this['ctx']['getUniformLocation'](this['nLineShaderProgram'],'bCapture');if(_0x36a456<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];0x1==this['bIsCapturing']?this['ctx']['uniform1i'](_0x36a456,0x1):this['ctx']['uniform1i'](_0x36a456,0x0);var _0x201606=this['glLinePosBuffer'],_0x1dd040=this['glLineClrBuffer'],_0x4e6665=this['nLineTriangleNum'],_0xd932=this['pLinePosVertices'],_0x4abcf7=this['pLineClrVertices'];this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x201606),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0xd932,this['ctx']['STATIC_DRAW']);var _0x5de6d1=this['ctx']['getAttribLocation'](_0x38c59d,'position');this['ctx']['enableVertexAttribArray'](_0x5de6d1),this['ctx']['vertexAttribPointer'](_0x5de6d1,0x3,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x1dd040),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0x4abcf7,this['ctx']['STATIC_DRAW']);var _0x2c4f3f=this['ctx']['getAttribLocation'](_0x38c59d,'color');this['ctx']['enableVertexAttribArray'](_0x2c4f3f),this['ctx']['vertexAttribPointer'](_0x2c4f3f,0x4,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null);var _0x5a40e6=this['ctx']['getUniformLocation'](_0x38c59d,'matRotate');return _0x5a40e6<=0x0?_0x12eada['SR_ERR_WEBGL_RESOURCE']:(this['ctx']['uniformMatrix4fv'](_0x5a40e6,!0x1,this['matRotate']),0x1==this['bIsCapturing']?this['ctx']['viewport'](0x0,0x0,this['nCaptureWidth'],this['nCaptureHeight']):this['ctx']['viewport'](0x0,0x0,this['nWndWidth'],this['nWndHeight']),this['ctx']['disable'](this['ctx']['DEPTH_TEST']),this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x3*_0x4e6665),this['ctx']['useProgram'](null),this['ctx']['disable'](this['ctx']['BLEND']),this['b3DPort']&&(this['ctx']['enable'](this['ctx']['DEPTH_TEST']),this['ctx']['depthFunc'](this['ctx']['LESS']),this['ctx']['depthMask'](!0x0),0x1==this['bCullBack']?this['ctx']['enable'](this['ctx']['CULL_FACE']):this['ctx']['disable'](this['ctx']['CULL_FACE'])),_0x12eada['SR_OK']);}},{'key':'DrawFillBlock','value':function(_0x2b5d53,_0x18cf58,_0x1d355c){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x2b5d53||_0x18cf58<0x1||_0x1d355c<0x2)return _0x12eada['SR_ERR_PARAM'];for(var _0x3d520c=0x0,_0x3dd075=0x0;_0x3dd075<_0x18cf58;++_0x3dd075){if(null==_0x2b5d53[_0x3dd075]['pstPoints']||_0x2b5d53[_0x3dd075]['nPointNum']<0x3||0x1!=_0x2b5d53[_0x3dd075]['bLoop']||null==_0x2b5d53[_0x3dd075]['pstColor'])return _0x12eada['SR_ERR_PARAM'];_0x3d520c+=_0x2b5d53[_0x3dd075]['nPointNum'];}if(_0x3d520c!==_0x1d355c)return _0x12eada['SR_ERR_PARAM'];var _0x495f52=_0x1d355c-0x2*_0x18cf58;if(_0x495f52>this['nMaxFillBlockTriNum']&&(this['pFillBlockPosVertices']=null,this['pFillBlockClrVertices']=null,this['nMaxFillBlockTriNum']=_0x495f52),0x0==this['glBlockPosBuffer']&&(this['glBlockPosBuffer']=this['ctx']['createBuffer'](),0x0==this['glBlockPosBuffer']))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(0x0==this['glBlockClrBuffer']&&(this['glBlockClrBuffer']=this['ctx']['createBuffer'](),0x0==this['glBlockClrBuffer']))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(null==this['pFillBlockPosVertices']){var _0x171602=this['nMaxFillBlockTriNum'];if(this['pFillBlockPosVertices']=new Float32Array(0x3*_0x171602*0x3),null==this['pFillBlockPosVertices'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];}if(this['pFillBlockPosVertices']['fill'](0x0),null==this['pFillBlockClrVertices']){var _0x2fcc7a=this['nMaxFillBlockTriNum'];if(this['pFillBlockClrVertices']=new Float32Array(0x4*_0x2fcc7a*0x3),null==this['pFillBlockClrVertices'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];}this['pFillBlockClrVertices']['fill'](0x0);for(var _0x526c1f=0x0,_0x16bf06=0x0,_0x215378=0x0,_0x2d96b0=null,_0x3b7e34=null,_0x48f5bb={},_0x4b65a1={},_0x35a9e2={},_0x174620=0x0;_0x174620<_0x18cf58;++_0x174620){_0x215378=_0x2b5d53[_0x174620]['nPointNum'],_0x2d96b0=_0x2b5d53[_0x174620]['pstPoints'],_0x3b7e34=_0x2b5d53[_0x174620]['pstColor'],_0x48f5bb['fX']=(_0x2d96b0[0x0]['fX']-this['fSrcUseLeft'])/(this['fSrcUseRight']-this['fSrcUseLeft']),_0x48f5bb['fX']=this['fDstUseLeft']+_0x48f5bb['fX']*(this['fDstUseRight']-this['fDstUseLeft']),_0x48f5bb['fX']=0x2*_0x48f5bb['fX']-0x1,_0x48f5bb['fY']=(_0x2d96b0[0x0]['fY']-this['fSrcUseTop'])/(this['fSrcUseBottom']-this['fSrcUseTop']),_0x48f5bb['fY']=this['fDstUseTop']+_0x48f5bb['fY']*(this['fDstUseBottom']-this['fDstUseTop']),_0x48f5bb['fY']=0x1-0x2*_0x48f5bb['fY'];for(var _0x5974ba=0x1;_0x5974ba<_0x215378-0x1;_0x5974ba++)_0x4b65a1['fX']=(_0x2d96b0[_0x5974ba]['fX']-this['fSrcUseLeft'])/(this['fSrcUseRight']-this['fSrcUseLeft']),_0x4b65a1['fX']=this['fDstUseLeft']+_0x4b65a1['fX']*(this['fDstUseRight']-this['fDstUseLeft']),_0x4b65a1['fX']=0x2*_0x4b65a1['fX']-0x1,_0x4b65a1['fY']=(_0x2d96b0[_0x5974ba]['fY']-this['fSrcUseTop'])/(this['fSrcUseBottom']-this['fSrcUseTop']),_0x4b65a1['fY']=this['fDstUseTop']+_0x4b65a1['fY']*(this['fDstUseBottom']-this['fDstUseTop']),_0x4b65a1['fY']=0x1-0x2*_0x4b65a1['fY'],_0x35a9e2['fX']=(_0x2d96b0[_0x5974ba+0x1]['fX']-this['fSrcUseLeft'])/(this['fSrcUseRight']-this['fSrcUseLeft']),_0x35a9e2['fX']=this['fDstUseLeft']+_0x35a9e2['fX']*(this['fDstUseRight']-this['fDstUseLeft']),_0x35a9e2['fX']=0x2*_0x35a9e2['fX']-0x1,_0x35a9e2['fY']=(_0x2d96b0[_0x5974ba+0x1]['fY']-this['fSrcUseTop'])/(this['fSrcUseBottom']-this['fSrcUseTop']),_0x35a9e2['fY']=this['fDstUseTop']+_0x35a9e2['fY']*(this['fDstUseBottom']-this['fDstUseTop']),_0x35a9e2['fY']=0x1-0x2*_0x35a9e2['fY'],this['pFillBlockPosVertices'][_0x526c1f++]=_0x48f5bb['fX'],this['pFillBlockPosVertices'][_0x526c1f++]=_0x48f5bb['fY'],this['pFillBlockPosVertices'][_0x526c1f++]=0x0,this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fR'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fG'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fB'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fA'],this['pFillBlockPosVertices'][_0x526c1f++]=_0x4b65a1['fX'],this['pFillBlockPosVertices'][_0x526c1f++]=_0x4b65a1['fY'],this['pFillBlockPosVertices'][_0x526c1f++]=0x0,this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fR'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fG'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fB'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fA'],this['pFillBlockPosVertices'][_0x526c1f++]=_0x35a9e2['fX'],this['pFillBlockPosVertices'][_0x526c1f++]=_0x35a9e2['fY'],this['pFillBlockPosVertices'][_0x526c1f++]=0x0,this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fR'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fG'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fB'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fA'];}if(0x0==this['nBlockShaderProgram']&&(this['nBlockShaderProgram']=this['CompileProgram']('\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec3\\x20position;\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20\\x20color;\\x0a\\x20\\x20\\x20\\x20varying\\x20\\x20\\x20float\\x20\\x20pp;\\x0a\\x20\\x20\\x20\\x20varying\\x20\\x20\\x20vec4\\x20\\x20colorOut;\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20vec4(position.x,\\x20position.y,\\x200.0,\\x201.0);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20-gl_Position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20vec4(position.x,\\x20position.y,\\x200.0,\\x201.0);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp\\x20=\\x20position.z;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20colorOut\\x20=\\x20color;\\x0a\\x20\\x20\\x20\\x20}\\x0a',_0x46ffab),this['nBlockShaderProgram']<=0x0))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['enable'](this['ctx']['BLEND']),this['ctx']['blendFuncSeparate'](this['ctx']['SRC_ALPHA'],this['ctx']['ONE_MINUS_SRC_ALPHA'],this['ctx']['ONE'],this['ctx']['ONE_MINUS_SRC_ALPHA']),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glBlockPosBuffer']),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],this['pFillBlockPosVertices'],this['ctx']['STATIC_DRAW']),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glBlockClrBuffer']),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],this['pFillBlockClrVertices'],this['ctx']['STATIC_DRAW']),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['useProgram'](this['nBlockShaderProgram']);var _0x1d1398=this['ctx']['getUniformLocation'](this['nBlockShaderProgram'],'bCapture');if(_0x1d1398<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];0x1==this['bIsCapturing']?this['ctx']['uniform1i'](_0x1d1398,0x1):this['ctx']['uniform1i'](_0x1d1398,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glBlockPosBuffer']);var _0x2b28b1=this['ctx']['getAttribLocation'](this['nBlockShaderProgram'],'position');this['ctx']['enableVertexAttribArray'](_0x2b28b1),this['ctx']['vertexAttribPointer'](_0x2b28b1,0x3,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glBlockClrBuffer']);var _0x102c03=this['ctx']['getAttribLocation'](this['nBlockShaderProgram'],'color');return this['ctx']['enableVertexAttribArray'](_0x102c03),this['ctx']['vertexAttribPointer'](_0x102c03,0x4,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x3*_0x495f52),this['ctx']['useProgram'](null),this['ctx']['disable'](this['ctx']['BLEND']),_0x12eada['SR_OK'];}},{'key':'ComputeLinePoint','value':function(_0x73c080,_0x589195){if(null==_0x73c080||_0x589195<0x1)return _0x12eada['SR_ERR_PARAM'];if(null==this['pLinePosVertices']||null==this['pLineClrVertices'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x4599bb=0x0,_0x3f165=0x0;0x1==this['bIsCapturing']?(_0x4599bb=(this['fDstUseRight']-this['fDstUseLeft'])*this['nCaptureWidth'],_0x3f165=(this['fDstUseBottom']-this['fDstUseTop'])*this['nCaptureHeight']):(_0x4599bb=(this['fDstUseRight']-this['fDstUseLeft'])*this['nWndWidth'],_0x3f165=(this['fDstUseBottom']-this['fDstUseTop'])*this['nWndHeight']);for(var _0x205895=0x0,_0x3dd7fe=0x0,_0x285ae6=0x0,_0x2d828c=0x0,_0x18b7ea=0x0,_0x571d74=0x0,_0x12d40b=0x0,_0x294edf=0x0,_0x1da81e=0x0,_0x45ce60=0x0,_0x1498be=0x0,_0x1bccef=0x0;_0x1bccef<_0x589195;++_0x1bccef){var _0x3122e7=[];if(!((_0x1498be=_0x73c080[_0x1bccef]['nPointNum'])<=0x0)){for(var _0x114d02=0x0;_0x114d02<_0x1498be;++_0x114d02){var _0x3c13a6={};_0x3c13a6['fX']=(_0x73c080[_0x1bccef]['pstPoints'][_0x114d02]['fX']-this['fSrcUseLeft'])/(this['fSrcUseRight']-this['fSrcUseLeft']),_0x3c13a6['fX']=this['fDstUseLeft']+_0x3c13a6['fX']*(this['fDstUseRight']-this['fDstUseLeft']),_0x3c13a6['fX']=0x2*_0x3c13a6['fX']-0x1,_0x3c13a6['fY']=(_0x73c080[_0x1bccef]['pstPoints'][_0x114d02]['fY']-this['fSrcUseTop'])/(this['fSrcUseBottom']-this['fSrcUseTop']),_0x3c13a6['fY']=this['fDstUseTop']+_0x3c13a6['fY']*(this['fDstUseBottom']-this['fDstUseTop']),_0x3c13a6['fY']=0x1-0x2*_0x3c13a6['fY'],_0x3122e7['push'](_0x3c13a6);}if(this['nWndWidth']<=0x0||this['nWndHeight']<=0x0)return _0x12eada['SR_ERR_CANVAS'];if(_0x571d74=3.5*_0x73c080[_0x1bccef]['nLineWidth']/_0x4599bb,_0x12d40b=3.5*_0x73c080[_0x1bccef]['nLineWidth']/_0x3f165,_0x571d74<=0x0||_0x12d40b<=0x0)return _0x12eada['SR_ERR_PARAM'];var _0xad0d2d=_0x73c080[_0x1bccef]['pstColor'];if(null==_0xad0d2d||null==_0xad0d2d)return _0x12eada['SR_ERR_PARAM'];for(var _0x591b45=0x0;_0x591b45<_0x1498be-0x1;++_0x591b45)_0x3dd7fe=_0x3122e7[_0x591b45+0x1]['fX']-_0x3122e7[_0x591b45]['fX'],_0x285ae6=_0x3122e7[_0x591b45+0x1]['fY']-_0x3122e7[_0x591b45]['fY'],_0x205895=Math['sqrt'](_0x3dd7fe*_0x3dd7fe+_0x285ae6*_0x285ae6),Math['abs'](_0x205895-0x0)<0.000001||(_0x2d828c=-_0x571d74*_0x285ae6/_0x205895/0x2,_0x18b7ea=_0x12d40b*_0x3dd7fe/_0x205895/0x2,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45]['fX']+_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45]['fY']+_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=-0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45+0x1]['fX']-_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45+0x1]['fY']-_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45]['fX']-_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45]['fY']-_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45]['fX']+_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45]['fY']+_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=-0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45+0x1]['fX']+_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45+0x1]['fY']+_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=-0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45+0x1]['fX']-_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45+0x1]['fY']-_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],_0x294edf+=0x2);0x1==_0x73c080[_0x1bccef]['bLoop']&&0x2<_0x1498be&&(_0x3dd7fe=_0x3122e7[_0x1498be-0x1]['fX']-_0x3122e7[0x0]['fX'],_0x285ae6=_0x3122e7[_0x1498be-0x1]['fY']-_0x3122e7[0x0]['fY'],_0x205895=Math['sqrt'](_0x3dd7fe*_0x3dd7fe+_0x285ae6*_0x285ae6),Math['abs'](_0x205895-0x0)>0.000001&&(_0x2d828c=-_0x571d74*_0x285ae6/_0x205895/0x2,_0x18b7ea=_0x12d40b*_0x3dd7fe/_0x205895/0x2,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[0x0]['fX']+_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[0x0]['fY']+_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=-0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x1498be-0x1]['fX']-_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x1498be-0x1]['fY']-_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[0x0]['fX']-_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[0x0]['fY']-_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[0x0]['fX']+_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[0x0]['fY']+_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=-0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x1498be-0x1]['fX']+_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x1498be-0x1]['fY']+_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=-0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x1498be-0x1]['fX']-_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x1498be-0x1]['fY']-_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],_0x294edf+=0x2));}}return 0x0==_0x294edf?_0x12eada['SR_ERR_PARAM']:(this['nLineTriangleNum']=_0x294edf,_0x12eada['SR_OK']);}},{'key':'DrawFont','value':function(_0xf4791f,_0x2f32a7,_0x15b1a8,_0x2f6797,_0x1f2b5a,_0x42046f,_0x296904,_0x2a8f6a,_0x462b69,_0xe1ec99,_0x46cf09){return _0x12eada['SR_ERR_NOT_SUPPORT'];}},{'key':'DrawFontEx','value':function(_0x7f2828,_0x4c0be0){var _0x4e9245=arguments['length']>0x2&&void 0x0!==arguments[0x2]?arguments[0x2]:0x0,_0xbfb534=arguments['length']>0x3?arguments[0x3]:void 0x0;if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(0x0>_0x4c0be0||null==_0x7f2828)return _0x12eada['SR_ERR_PARAM'];var _0x2fdfcc,_0x1a6f3a,_0x2ac3e8=0x0,_0x6bba28=0x0;if(0x1==this['bIsCapturing']){if(0x0==this['nCaptureWidth']||0x0==this['nCaptureHeight'])return _0x12eada['SR_ERR_CALL_ORDER'];_0x2ac3e8=Math['round']((this['fDstUseRight']-this['fDstUseLeft'])*this['nCaptureWidth']),_0x6bba28=Math['round']((this['fDstUseBottom']-this['fDstUseTop'])*this['nCaptureHeight']);}else _0x2ac3e8=Math['round']((this['fDstUseRight']-this['fDstUseLeft'])*this['nWndWidth']),_0x6bba28=Math['round']((this['fDstUseBottom']-this['fDstUseTop'])*this['nWndHeight']);if(this['nDrawFontWidth']==_0x2ac3e8&&this['nDrawFontHeight']==_0x6bba28||(this['pFontColorBuffer']=null,this['nFontColorTexture']=0x0,this['nDrawFontWidth']=_0x2ac3e8,this['nDrawFontHeight']=_0x6bba28),0x0==this['nFontColorTexture']){if(this['nFontColorTexture']=this['ctx']['createTexture'](),0x0==this['nFontColorTexture'])return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nFontColorTexture']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']);}if(null==this['textCanvas']){if(this['textCanvas']=_0xbfb534,null==this['textCanvas'])return _0x12eada['SR_ERR_FONT'];if(this['textCanvasCtx']=this['textCanvas']['getContext']('2d'),null==this['textCanvasCtx'])return _0x12eada['SR_ERR_FONT'];}this['textCanvasCtx']['canvas']['width']=this['nDrawFontWidth'],this['textCanvasCtx']['canvas']['height']=this['nDrawFontHeight'],this['textCanvasCtx']['clearRect'](0x0,0x0,this['nDrawFontWidth'],this['nDrawFontHeight']);for(var _0x4a6391=0x0;_0x4a6391<_0x4c0be0;++_0x4a6391){var _0x56289a=_0x7f2828[_0x4a6391]['nFontWidth'],_0x3b453b=_0x7f2828[_0x4a6391]['nFontHeight'];0x1==this['bIsCapturing']&&(_0x56289a=Math['round'](this['nCaptureWidth']/this['nWndWidth']*_0x56289a),_0x3b453b=Math['round'](this['nCaptureHeight']/this['nWndHeight']*_0x3b453b));var _0x46fa07=_0x56289a<_0x3b453b?_0x56289a:_0x3b453b;this['textCanvasCtx']['font']=''['concat'](_0x46fa07,'px\\x20')['concat'](_0x7f2828[_0x4a6391]['pFontFamily']),this['textCanvasCtx']['textAlign']=_0x7f2828[_0x4a6391]['textAlign']||'left',this['textCanvasCtx']['textBaseline']=_0x7f2828[_0x4a6391]['textBaseline']||'top',this['textCanvasCtx']['save']();var _0x4db746=_0x7f2828[_0x4a6391]['pstStartPos']['fX']*this['nDrawFontWidth'],_0x3e6b14=_0x7f2828[_0x4a6391]['pstStartPos']['fY']*this['nDrawFontHeight'];if(this['textCanvasCtx']['translate'](_0x4db746,_0x3e6b14),this['textCanvasCtx']['rotate'](_0x7f2828[_0x4a6391]['fRotateAngle']*Math['PI']/0xb4),_0x7f2828[_0x4a6391]['bBackGround']){var _0xfdf62c=_0x7f2828[_0x4a6391]['pstStartPos']['fX'],_0x5b8269=_0x7f2828[_0x4a6391]['pstStartPos']['fY'],_0x5bd070=this['textCanvasCtx']['measureText'](_0x7f2828[_0x4a6391]['pString'])['width'],_0x38aec1=_0x46fa07;switch(this['textCanvasCtx']['textAlign']){case'center':_0xfdf62c-=_0x5bd070/0x2;break;case'right':case'end':_0xfdf62c-=_0x5bd070;}switch(this['textCanvasCtx']['textBaseline']){case'top':case'hanging':break;case'middle':_0x5b8269-=_0x38aec1/0x2;break;default:_0x5b8269-=_0x38aec1;}var _0x1580ee=_0x7f2828[_0x4a6391]['pstBGColor'];this['textCanvasCtx']['fillStyle']='rgb('['concat'](0xff*_0x1580ee['fR'],',\\x20')['concat'](0xff*_0x1580ee['fG'],',\\x20')['concat'](0xff*_0x1580ee['fB'],')'),this['textCanvasCtx']['globalAlpha']=_0x1580ee['fA'],this['textCanvasCtx']['fillRect'](_0xfdf62c,_0x5b8269,_0x5bd070,_0x38aec1);}var _0x14605a=_0x7f2828[_0x4a6391]['pstFontColor'];this['textCanvasCtx']['fillStyle']='rgb('['concat'](0xff*_0x14605a['fR'],',\\x20')['concat'](0xff*_0x14605a['fG'],',\\x20')['concat'](0xff*_0x14605a['fB'],')'),this['textCanvasCtx']['globalAlpha']=_0x7f2828[_0x4a6391]['pstFontColor']['fA'],this['textCanvasCtx']['fillText'](_0x7f2828[_0x4a6391]['pString'],0x0,0x0),this['textCanvasCtx']['restore']();}if(this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nFontColorTexture']),this['ctx']['texImage2D'](this['ctx']['TEXTURE_2D'],0x0,this['ctx']['RGBA'],this['ctx']['RGBA'],this['ctx']['UNSIGNED_BYTE'],this['textCanvasCtx']['canvas']),0x0==this['nFontShaderProgram']&&(this['nFontShaderProgram']=this['CompileProgram'](_0x1e683e,_0x3bc606),this['nFontShaderProgram']<=0x0))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(0x1==this['bIsCapturing']?(_0x2fdfcc=this['nCaptureWidth'],_0x1a6f3a=this['nCaptureHeight']):(_0x2fdfcc=this['nWndWidth'],_0x1a6f3a=this['nWndHeight']),0x1==_0x4e9245){if(0x0==this['glFontVertexPosBuffer']){var _0x234ec6=new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0]),_0x497915=this['ctx']['createBuffer']();this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x497915),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0x234ec6,this['ctx']['STATIC_DRAW']),this['glFontVertexPosBuffer']=_0x497915,_0x234ec6=0x0;}if(0x0==this['glFontTexturePosBuffer']){var _0x40bc9d=new Float32Array([0x0,0x1,0x1,0x1,0x1,0x0,0x0,0x0]),_0x877652=this['ctx']['createBuffer']();this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x877652),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0x40bc9d,this['ctx']['STATIC_DRAW']),this['glFontTexturePosBuffer']=_0x877652,_0x40bc9d=0x0;}}this['ctx']['viewport'](0x0,0x0,_0x2fdfcc,_0x1a6f3a),this['ctx']['enable'](this['ctx']['BLEND']),this['ctx']['blendFuncSeparate'](this['ctx']['SRC_ALPHA'],this['ctx']['ONE_MINUS_SRC_ALPHA'],this['ctx']['ONE'],this['ctx']['ONE_MINUS_SRC_ALPHA']),this['ctx']['useProgram'](this['nFontShaderProgram']);var _0x4f76ad=this['ctx']['getUniformLocation'](this['nFontShaderProgram'],'bCapture');if(_0x4f76ad<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];0x1==this['bIsCapturing']?this['ctx']['uniform1i'](_0x4f76ad,0x1):this['ctx']['uniform1i'](_0x4f76ad,0x0),this['ctx']['activeTexture'](this['ctx']['TEXTURE0']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nFontColorTexture']);var _0x3937f8=this['ctx']['getUniformLocation'](this['nFontShaderProgram'],'texture');this['ctx']['uniform1i'](_0x3937f8,0x0);var _0x5b6488=_0x43ac42(),_0x32e7ab=_0x43ac42(),_0x2ec702=_0x43ac42();_0x1bc788(_0x2ec702,_0x5b6488,_0x32e7ab);var _0x5ad99f=this['ctx']['getUniformLocation'](this['nFontShaderProgram'],'matRotate');if(_0x5ad99f<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x5ad99f,!0x1,_0x2ec702),0x1==_0x4e9245?this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glFontVertexPosBuffer']):this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['vertexPosBuffer']);var _0x27b001=this['ctx']['getAttribLocation'](this['nFontShaderProgram'],'position');this['ctx']['enableVertexAttribArray'](_0x27b001),0x1==_0x4e9245?this['ctx']['vertexAttribPointer'](_0x27b001,0x3,this['ctx']['FLOAT'],!0x1,0x0,0x0):this['ctx']['vertexAttribPointer'](_0x27b001,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),0x1==_0x4e9245?this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glFontTexturePosBuffer']):this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['texturePosBuffer']);var _0x52d814=this['ctx']['getAttribLocation'](this['nFontShaderProgram'],'texCoord');return this['ctx']['enableVertexAttribArray'](_0x52d814),this['ctx']['vertexAttribPointer'](_0x52d814,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['disable'](this['ctx']['DEPTH_TEST']),0x1==_0x4e9245?this['ctx']['drawArrays'](this['ctx']['TRIANGLE_FAN'],0x0,0x4):this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x6),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],null),this['ctx']['useProgram'](null),this['ctx']['disable'](this['ctx']['BLEND']),this['b3DPort']&&(this['ctx']['enable'](this['ctx']['DEPTH_TEST']),this['ctx']['depthFunc'](this['ctx']['LESS']),this['ctx']['depthMask'](!0x0),0x1==this['bCullBack']?this['ctx']['enable'](this['ctx']['CULL_FACE']):this['ctx']['disable'](this['ctx']['CULL_FACE'])),_0x12eada['SR_OK'];}},{'key':'DrawImage','value':function(_0x2482df,_0x31dc92,_0x3f2762,_0x1c0520,_0x3f795d,_0x2eef72){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x2482df||_0x31dc92<=0x0||_0x3f2762<=0x0||null==_0x1c0520||_0x2eef72<0x0||_0x2eef72>0x1)return _0x12eada['SR_ERR_PARAM'];if(this['nDrawImageWidth']=_0x31dc92,this['nDrawImageHeight']=_0x3f2762,0x0==this['glImagePosBuffer']&&(this['glImagePosBuffer']=this['ctx']['createBuffer'](),0x0==this['glImagePosBuffer']))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(0x0==this['glImageClrBuffer']&&(this['glImageClrBuffer']=this['ctx']['createBuffer'](),0x0==this['glImageClrBuffer']))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(null==this['pImageClrVertices']){if(this['pImageClrVertices']=new Float32Array(0xc),null==this['pImageClrVertices'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pImageClrVertices'][0x0]=0x0,this['pImageClrVertices'][0x1]=0x0,this['pImageClrVertices'][0x2]=0x0,this['pImageClrVertices'][0x3]=0x1,this['pImageClrVertices'][0x4]=0x1,this['pImageClrVertices'][0x5]=0x0,this['pImageClrVertices'][0x6]=0x1,this['pImageClrVertices'][0x7]=0x0,this['pImageClrVertices'][0x8]=0x0,this['pImageClrVertices'][0x9]=0x1,this['pImageClrVertices'][0xa]=0x1,this['pImageClrVertices'][0xb]=0x1;}var _0x41f48b={},_0x24645a={};if(_0x41f48b['fLeft']=(_0x1c0520['fLeft']-this['fSrcUseLeft'])/(this['fSrcUseRight']-this['fSrcUseLeft']),_0x41f48b['fRight']=(_0x1c0520['fRight']-this['fSrcUseLeft'])/(this['fSrcUseRight']-this['fSrcUseLeft']),_0x41f48b['fTop']=(_0x1c0520['fTop']-this['fSrcUseTop'])/(this['fSrcUseBottom']-this['fSrcUseTop']),_0x41f48b['fBottom']=(_0x1c0520['fBottom']-this['fSrcUseTop'])/(this['fSrcUseBottom']-this['fSrcUseTop']),_0x24645a['fLeft']=this['fDstUseLeft']+_0x41f48b['fLeft']*(this['fDstUseRight']-this['fDstUseLeft']),_0x24645a['fRight']=this['fDstUseLeft']+_0x41f48b['fRight']*(this['fDstUseRight']-this['fDstUseLeft']),_0x24645a['fTop']=this['fDstUseTop']+_0x41f48b['fTop']*(this['fDstUseBottom']-this['fDstUseTop']),_0x24645a['fBottom']=this['fDstUseTop']+_0x41f48b['fBottom']*(this['fDstUseBottom']-this['fDstUseTop']),null==this['pImagePosVertices']&&(this['pImagePosVertices']=new Float32Array(0xc),null==this['pImagePosVertices']))return _0x12eada['SR_ERR_ALLOC_MEMORY'];switch(this['pImagePosVertices']['fill'](0x0),this['pImagePosVertices'][0x0]=0x2*_0x24645a['fLeft']-0x1,this['pImagePosVertices'][0x1]=0x1-0x2*_0x24645a['fTop'],this['pImagePosVertices'][0x2]=0x2*_0x24645a['fLeft']-0x1,this['pImagePosVertices'][0x3]=0x1-0x2*_0x24645a['fBottom'],this['pImagePosVertices'][0x4]=0x2*_0x24645a['fRight']-0x1,this['pImagePosVertices'][0x5]=0x1-0x2*_0x24645a['fTop'],this['pImagePosVertices'][0x6]=0x2*_0x24645a['fRight']-0x1,this['pImagePosVertices'][0x7]=0x1-0x2*_0x24645a['fTop'],this['pImagePosVertices'][0x8]=0x2*_0x24645a['fLeft']-0x1,this['pImagePosVertices'][0x9]=0x1-0x2*_0x24645a['fBottom'],this['pImagePosVertices'][0xa]=0x2*_0x24645a['fRight']-0x1,this['pImagePosVertices'][0xb]=0x1-0x2*_0x24645a['fBottom'],0x1==this['bIsCapturing']?this['ctx']['viewport'](0x0,0x0,this['nCaptureWidth'],this['nCaptureHeight']):this['ctx']['viewport'](0x0,0x0,this['nWndWidth'],this['nWndHeight']),this['ctx']['enable'](this['ctx']['BLEND']),this['ctx']['blendFuncSeparate'](this['ctx']['SRC_ALPHA'],this['ctx']['ONE_MINUS_SRC_ALPHA'],this['ctx']['ONE'],this['ctx']['ONE_MINUS_SRC_ALPHA']),_0x3f795d){case _0x459b97['SR_PF_SURFACE']:if(null==this['nImageColorTexture']){if(this['nImageColorTexture']=this['ctx']['createTexture'](),0x0==this['nImageColorTexture'])return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']);}this['ctx']['useProgram'](this['videoShaderProgram']),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['vertexPosBuffer']);var _0x29ee90=this['ctx']['getAttribLocation'](this['videoShaderProgram'],'position');if(_0x29ee90<0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['vertexAttribPointer'](_0x29ee90,0x3,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x29ee90),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['texturePosBuffer']);var _0x4043ed=this['ctx']['getAttribLocation'](this['videoShaderProgram'],'texCoord');if(_0x4043ed<0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['vertexAttribPointer'](_0x4043ed,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x4043ed),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['useProgram'](null),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']),this['ctx']['texImage2D'](this['ctx']['TEXTURE_2D'],0x0,this['ctx']['RGBA'],this['nDrawImageWidth'],this['nDrawImageHeight'],0x0,this['ctx']['RGBA'],this['ctx']['UNSIGNED_BYTE'],_0x2482df),0x0==this['nImageShaderProgram']){var _0x18fbe3=this['CompileProgram'](_0x235883,_0x30cc3b);if(_0x18fbe3<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['nImageShaderProgram']=_0x18fbe3;}break;case _0x459b97['SR_PF_RGBA32']:if(null==this['nImageColorTexture']){if(this['nImageColorTexture']=this['ctx']['createTexture'](),0x0==this['nImageColorTexture'])return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']);}if(this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']),this['ctx']['texImage2D'](this['ctx']['TEXTURE_2D'],0x0,this['ctx']['RGBA'],this['nDrawImageWidth'],this['nDrawImageHeight'],0x0,this['ctx']['RGBA'],this['ctx']['UNSIGNED_BYTE'],_0x2482df),0x0==this['nImageShaderProgram']){var _0x41a230=this['CompileProgram'](_0x235883,_0x30cc3b);if(_0x41a230<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['nImageShaderProgram']=_0x41a230;}break;case _0x459b97['SR_PF_RGB565']:if(null==this['nImageColorTexture']){if(this['nImageColorTexture']=this['ctx']['createTexture'](),0x0==this['nImageColorTexture'])return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']);}if(this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']),this['ctx']['texImage2D'](this['ctx']['TEXTURE_2D'],0x0,this['ctx']['RGB'],this['nDrawImageWidth'],this['nDrawImageHeight'],0x0,this['ctx']['RGB'],this['ctx']['UNSIGNED_SHORT_5_6_5'],_0x2482df),0x0==this['nImageShaderProgram']){var _0x531ab9=this['CompileProgram'](_0x235883,'\\x0a\\x20\\x20\\x20\\x20precision\\x20mediump\\x20float;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20texture;\\x20\\x0a\\x20\\x20\\x20\\x20varying\\x20lowp\\x20vec4\\x20pp;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fAlpha;\\x0a\\x20\\x20\\x20\\x20void\\x20main(void)\\x20\\x0a\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20texture2D(texture,\\x20pp.st);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor.a\\x20*=\\x20fAlpha;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a');if(_0x531ab9<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['nImageShaderProgram']=_0x531ab9;}break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}var _0xc3f37a=this['nImageShaderProgram'];this['ctx']['useProgram'](_0xc3f37a);var _0x331fca=this['ctx']['getUniformLocation'](this['nImageShaderProgram'],'bCapture');if(_0x331fca<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];0x1==this['bIsCapturing']?this['ctx']['uniform1i'](_0x331fca,0x1):this['ctx']['uniform1i'](_0x331fca,0x0),this['ctx']['activeTexture'](this['ctx']['TEXTURE0']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']);var _0x40744e=this['ctx']['getUniformLocation'](this['nImageShaderProgram'],'texture');this['ctx']['uniform1i'](_0x40744e,0x0),_0x40744e=this['ctx']['getUniformLocation'](this['nImageShaderProgram'],'fAlpha'),this['ctx']['uniform1f'](_0x40744e,_0x2eef72);var _0xa01475=this['ctx']['getUniformLocation'](this['nImageShaderProgram'],'matRotate');if(_0xa01475<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0xa01475,!0x1,this['matRotate']),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glImagePosBuffer']),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],this['pImagePosVertices'],this['ctx']['STATIC_DRAW']);var _0x4956be=this['ctx']['getAttribLocation'](this['nImageShaderProgram'],'position');this['ctx']['enableVertexAttribArray'](_0x4956be),this['ctx']['vertexAttribPointer'](_0x4956be,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glImageClrBuffer']),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],this['pImageClrVertices'],this['ctx']['STATIC_DRAW']);var _0x33705e=this['ctx']['getAttribLocation'](this['nImageShaderProgram'],'texCoord');return this['ctx']['enableVertexAttribArray'](_0x33705e),this['ctx']['vertexAttribPointer'](_0x33705e,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['disable'](this['ctx']['DEPTH_TEST']),this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x6),this['ctx']['useProgram'](null),this['ctx']['disable'](this['ctx']['BLEND']),this['b3DPort']&&(this['ctx']['enable'](this['ctx']['DEPTH_TEST']),this['ctx']['depthFunc'](this['ctx']['LESS']),this['ctx']['depthMask'](!0x0),0x1==this['bCullBack']?this['ctx']['enable'](this['ctx']['CULL_FACE']):this['ctx']['disable'](this['ctx']['CULL_FACE'])),_0x12eada['SR_OK'];}},{'key':'DrawMosaic','value':function(_0x34ae85,_0x3f3513,_0x41acb8,_0x1f4a27,_0x3e0865){if(_0x34ae85<0x0||_0x3f3513<0x0||_0x41acb8<0x0||_0x1f4a27<0x0||_0x34ae85>0x1||_0x3f3513>0x1||_0x41acb8>0x1||_0x1f4a27>0x1||_0x3e0865<=0x0)return _0x12eada['SR_ERR_PARAM'];if(0x0==this['nMosaicShaderProgram']){var _0x389a31=this['CompileProgram']('\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20position;\\x20\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20\\x20out_texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x20\\x0a\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20\\x20=\\x20position;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20\\x20-gl_Position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20out_texCoord\\x20=\\x20texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a','\\x0a\\x20\\x20\\x20\\x20varying\\x20lowp\\x20vec4\\x20out_texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20texture;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20videoWidth;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20videoHeight;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20mosaicSize;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20left;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20right;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20top;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20bottom;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main(void)\\x20\\x0a\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20lowp\\x20vec2\\x20uv;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv.x\\x20=\\x20floor(out_texCoord.x\\x20*\\x20videoWidth\\x20/\\x20mosaicSize)\\x20*\\x20mosaicSize\\x20/\\x20videoWidth;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv.y\\x20=\\x20floor(out_texCoord.y\\x20*\\x20videoHeight\\x20/\\x20mosaicSize)\\x20*\\x20mosaicSize\\x20/\\x20videoHeight;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20texture2D(texture,\\x20uv);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(out_texCoord.x\\x20<\\x20left\\x20||\\x20out_texCoord.x\\x20>\\x20right\\x20||\\x20out_texCoord.y\\x20<\\x20top\\x20||\\x20out_texCoord.y\\x20>\\x20bottom)\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor.a\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor.a\\x20=\\x201.0;\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x20\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a');if(_0x389a31<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['nMosaicShaderProgram']=_0x389a31;}this['ctx']['viewport'](0x0,0x0,this['nWndWidth'],this['nWndHeight']),this['ctx']['enable'](this['ctx']['BLEND']),this['ctx']['blendFuncSeparate'](this['ctx']['SRC_ALPHA'],this['ctx']['ONE_MINUS_SRC_ALPHA'],this['ctx']['ONE'],this['ctx']['ONE_MINUS_SRC_ALPHA']);var _0x4fe7db=this['nMosaicShaderProgram'];this['ctx']['useProgram'](_0x4fe7db);var _0x19aeb7=this['ctx']['getUniformLocation'](_0x4fe7db,'bCapture');if(_0x19aeb7<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];0x1==this['bIsCapturing']?this['ctx']['uniform1i'](_0x19aeb7,0x1):this['ctx']['uniform1i'](_0x19aeb7,0x0),this['ctx']['activeTexture'](this['ctx']['TEXTURE0']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x0]);var _0x2cfb55=this['ctx']['getUniformLocation'](_0x4fe7db,'texture');this['ctx']['uniform1i'](_0x2cfb55,0x0);var _0x4602bb=this['ctx']['getUniformLocation'](_0x4fe7db,'videoWidth');if(_0x4602bb<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x4602bb,this['frameDisplayWidth']);var _0x4c7178=this['ctx']['getUniformLocation'](_0x4fe7db,'videoHeight');if(_0x4c7178<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x4c7178,this['frameDisplayHeight']);var _0x3159b5=this['ctx']['getUniformLocation'](_0x4fe7db,'mosaicSize');if(_0x3159b5<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3159b5,_0x3e0865);var _0x3f5d62=this['ctx']['getUniformLocation'](_0x4fe7db,'left');if(_0x3f5d62<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3f5d62,_0x34ae85);var _0x52b4ff=this['ctx']['getUniformLocation'](_0x4fe7db,'right');if(_0x52b4ff<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x52b4ff,_0x3f3513);var _0x4a8f57=this['ctx']['getUniformLocation'](_0x4fe7db,'top');if(_0x4a8f57<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x4a8f57,_0x41acb8);var _0x3e7490=this['ctx']['getUniformLocation'](_0x4fe7db,'bottom');if(_0x3e7490<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3e7490,_0x1f4a27);var _0x7acde2=this['ctx']['getAttribLocation'](_0x4fe7db,'position');this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['vertexPosBuffer']),this['ctx']['vertexAttribPointer'](_0x7acde2,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x7acde2);var _0x266c88=this['ctx']['getAttribLocation'](_0x4fe7db,'texCoord');return this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['texturePosBuffer']),this['ctx']['vertexAttribPointer'](_0x266c88,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x266c88),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x6),this['ctx']['useProgram'](null),this['ctx']['disable'](this['ctx']['BLEND']),_0x12eada['SR_OK'];}},{'key':'SetCallBack','value':function(_0x3a9e85,_0x113ec0,_0xe3a15){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];switch(_0xe3a15){case _0x1386af['SR_CBT_NULL']:this['pfuncCBIn']=_0x3a9e85,this['pUserIn']=_0x113ec0;break;case _0x1386af['SR_CBT_OUT']:this['pfuncCBOut']=_0x3a9e85,this['pUserOut']=_0x113ec0;break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_OK'];}},{'key':'DoCallBack','value':function(){return null==this['ctx']?_0x12eada['SR_ERR_CALL_ORDER']:(null!=this['pfuncCBIn']&&this['pfuncCBIn'](this['pUserIn']),null!=this['pfuncCBOut']&&this['pfuncCBOut'](this['pUserOut']),_0x12eada['SR_OK']);}},{'key':'SetViewParam','value':function(_0xa7b9a4,_0x46b520){if(!this['b3DPort'])return _0x12eada['SR_ERR_NOT_SUPPORT'];switch(_0xa7b9a4){case _0x3bfb8f['SR_VT_ROTATION_X']:if((this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_PLANET']||this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_PLANET'])&&(_0x46b520>1.57||_0x46b520<-1.57))return _0x12eada['SR_ERR_PARAM'];if((this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR'])&&(_0x46b520>0.78539815||_0x46b520<0x0))return _0x12eada['SR_ERR_PARAM'];if((this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL'])&&(_0x46b520>this['fRotateLimitX']||_0x46b520<-this['fRotateLimitX']))return _0x12eada['SR_ERR_PARAM'];this['fRotateX']=_0x46b520;break;case _0x3bfb8f['SR_VT_ROTATION_Y']:if((this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL'])&&(_0x46b520>this['fRotateLimitY']||_0x46b520<-this['fRotateLimitY']))return _0x12eada['SR_ERR_PARAM'];this['fRotateY']=_0x46b520;break;case _0x3bfb8f['SR_VT_SCALE']:if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_PLANET']&&(_0x46b520>1.2||_0x46b520<-0.3))return _0x12eada['SR_ERR_PARAM'];if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_SEMISPHERE']){if(_0x46b520<-0.8||_0x46b520>0x384)return _0x12eada['SR_ERR_PARAM'];}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_SPHERE']){if(_0x46b520<-0.95||_0x46b520>0.95)return _0x12eada['SR_ERR_PARAM'];}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_PLANET']){if(_0x46b520<0.1||_0x46b520>2.6)return _0x12eada['SR_ERR_PARAM'];}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']){if(_0x46b520<0x0||_0x46b520>0x384)return _0x12eada['SR_ERR_PARAM'];}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']){if(_0x46b520<-0.3||_0x46b520>0x5)return _0x12eada['SR_ERR_PARAM'];this['_ComputeRotateLimits']();}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR'])return _0x12eada['SR_ERR_NOT_SUPPORT'];}}}}}this['fScale']=_0x46b520;break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_OK'];}},{'key':'GetViewParam','value':function(_0x3ade87,_0x351b47){if(!this['b3DPort'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x28b2b5=0x0;switch(_0x3ade87){case _0x3bfb8f['SR_VT_ROTATION_X']:_0x28b2b5=this['fRotateX'];break;case _0x3bfb8f['SR_VT_ROTATION_Y']:_0x28b2b5=this['fRotateY'];break;case _0x3bfb8f['SR_VT_SCALE']:_0x28b2b5=this['fScale'];break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x351b47['fValue']=_0x28b2b5,_0x12eada['SR_OK'];}},{'key':'SetRenderMode','value':function(_0x205345){return this['bRenderToTex']=_0x205345,_0x12eada['SR_OK'];}},{'key':'_InitVideoShader','value':function(_0x4547cf,_0x4ae4b7){var _0xc61149,_0x12adee;switch(_0x4ae4b7){case _0x4d466f['SR_DE_NULL']:_0xc61149=_0x359c6e,_0x12adee='\\x0aprecision\\x20mediump\\x20float;\\x0avarying\\x20highp\\x20vec4\\x20pp;\\x0auniform\\x20sampler2D\\x20Ytexture;\\x0auniform\\x20sampler2D\\x20Utexture;\\x0auniform\\x20sampler2D\\x20Vtexture;\\x0auniform\\x20float\\x20fWndWidth;\\x0auniform\\x20float\\x20fWndHeight;\\x0auniform\\x20float\\x20fBrightness;\\x0auniform\\x20float\\x20fHue;\\x0auniform\\x20float\\x20fSaturation;\\x0auniform\\x20float\\x20fContrast;\\x0auniform\\x20float\\x20fSharpness;\\x0auniform\\x20int\\x20nPostProc;\\x0auniform\\x20int\\x20bDataFormat;\\x0a\\x0avec3\\x20rgb;\\x0avec3\\x20yuv2rgb(float\\x20y,\\x20float\\x20u,\\x20float\\x20v)\\x0a{\\x0a\\x20\\x20\\x20\\x20float\\x20r,g,b;\\x20\\x0a\\x20\\x20\\x20\\x20y\\x20=\\x201.1643\\x20*\\x20(y\\x20-\\x200.0625);\\x20\\x0a\\x20\\x20\\x20\\x20u\\x20=\\x20u\\x20-\\x200.5;\\x20\\x0a\\x20\\x20\\x20\\x20v\\x20=\\x20v\\x20-\\x200.5;\\x20\\x0a\\x20\\x20\\x20\\x20r\\x20=\\x20y\\x20+\\x201.5958\\x20*\\x20v;\\x20\\x0a\\x20\\x20\\x20\\x20g\\x20=\\x20y\\x20-\\x200.39173\\x20*\\x20u\\x20-\\x200.81290\\x20*\\x20v;\\x20\\x0a\\x20\\x20\\x20\\x20b\\x20=\\x20y\\x20+\\x202.017\\x20*\\x20u;\\x20\\x0a\\x20\\x20\\x20\\x20return\\x20vec3(r,\\x20g,\\x20b);\\x0a}\\x0avec3\\x20rgb2hsv(vec3\\x20c)\\x20\\x0a{\\x20\\x0a\\x20\\x20\\x20\\x20vec4\\x20K\\x20=\\x20vec4(0.0,\\x20-1.0\\x20/\\x203.0,\\x202.0\\x20/\\x203.0,\\x20-1.0);\\x20\\x0a\\x20\\x20\\x20\\x20vec4\\x20p\\x20=\\x20c.g\\x20<\\x20c.b\\x20?\\x20vec4(c.bg,\\x20K.wz)\\x20:\\x20vec4(c.gb,\\x20K.xy);\\x20\\x0a\\x20\\x20\\x20\\x20vec4\\x20q\\x20=\\x20c.r\\x20<\\x20p.x\\x20?\\x20vec4(p.xyw,\\x20c.r)\\x20:\\x20vec4(c.r,\\x20p.yzx);\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20float\\x20d\\x20=\\x20q.x\\x20-\\x20min(q.w,\\x20q.y);\\x20\\x0a\\x20\\x20\\x20\\x20float\\x20e\\x20=\\x201.0e-10;\\x20\\x0a\\x20\\x20\\x20\\x20return\\x20vec3(abs(q.z\\x20+\\x20(q.w\\x20-\\x20q.y)\\x20/\\x20(6.0\\x20*\\x20d\\x20+\\x20e)),\\x20d\\x20/\\x20(q.x\\x20+\\x20e),\\x20q.x);\\x20\\x0a}\\x20\\x0a\\x0avec3\\x20hsv2rgb(vec3\\x20c)\\x20\\x0a{\\x20\\x0a\\x20\\x20\\x20\\x20vec4\\x20K\\x20=\\x20vec4(1.0,\\x202.0\\x20/\\x203.0,\\x201.0\\x20/\\x203.0,\\x203.0);\\x20\\x0a\\x20\\x20\\x20\\x20vec3\\x20p\\x20=\\x20abs(fract(c.xxx\\x20+\\x20K.xyz)\\x20*\\x206.0\\x20-\\x20K.www);\\x20\\x0a\\x20\\x20\\x20\\x20return\\x20c.z\\x20*\\x20mix(K.xxx,\\x20clamp(p\\x20-\\x20K.xxx,\\x200.0,\\x201.0),\\x20c.y);\\x20\\x0a}\\x20\\x0a\\x0avec3\\x20sharpen(vec3\\x20c)\\x20\\x0a{\\x20\\x0a\\x20\\x20\\x20\\x20vec3\\x20sharpenColor;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20sharpenColorY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20sharpenColorU;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20sharpenColorV;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20offWidth\\x20\\x20=\\x201.0\\x20/\\x20fWndWidth;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20offHeight\\x20=\\x201.0\\x20/\\x20fWndHeight;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tempSharpness\\x20=\\x20fSharpness\\x20*\\x20100.0;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColor\\x20=\\x20(1.0\\x20+\\x204.0\\x20*\\x20tempSharpness)\\x20*\\x20c;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec2\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(offWidth,\\x200);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20=\\x20texture2D(Ytexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorU\\x20=\\x20texture2D(Utexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorV\\x20=\\x20texture2D(Vtexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColor\\x20-=\\x20tempSharpness\\x20*\\x20yuv2rgb(sharpenColorY,\\x20sharpenColorU,\\x20sharpenColorV);\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(-offWidth,\\x200);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20=\\x20texture2D(Ytexture,\\x20uv).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorU\\x20=\\x20texture2D(Utexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorV\\x20=\\x20texture2D(Vtexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColor\\x20-=\\x20tempSharpness\\x20*\\x20yuv2rgb(sharpenColorY,\\x20sharpenColorU,\\x20sharpenColorV);\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(0,\\x20offHeight);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20=\\x20texture2D(Ytexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorU\\x20=\\x20texture2D(Utexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorV\\x20=\\x20texture2D(Vtexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColor\\x20-=\\x20tempSharpness\\x20*\\x20yuv2rgb(sharpenColorY,\\x20sharpenColorU,\\x20sharpenColorV);\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(0,\\x20-offHeight);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20=\\x20texture2D(Ytexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorU\\x20=\\x20texture2D(Utexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorV\\x20=\\x20texture2D(Vtexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColor\\x20-=\\x20tempSharpness\\x20*\\x20yuv2rgb(sharpenColorY,\\x20sharpenColorU,\\x20sharpenColorV);\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec3\\x20sharpenColorY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20offWidth\\x20\\x20=\\x201.0\\x20/\\x20fWndWidth;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20offHeight\\x20=\\x201.0\\x20/\\x20fWndHeight;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tempSharpness\\x20=\\x20fSharpness\\x20*\\x20100.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec2\\x20uv\\x20=\\x20pp.st;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20=\\x20(1.0\\x20+\\x204.0\\x20*\\x20tempSharpness)\\x20*\\x20texture2D(Ytexture,\\x20uv).rgb;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(offWidth,\\x200);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20-=\\x20tempSharpness\\x20*\\x20texture2D(Ytexture,\\x20uv).rgb;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(-offWidth,\\x200);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20-=\\x20tempSharpness\\x20*\\x20texture2D(Ytexture,\\x20uv).rgb;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(0,\\x20offHeight);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20-=\\x20tempSharpness\\x20*\\x20texture2D(Ytexture,\\x20uv).rgb;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(0,\\x20-offHeight);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20-=\\x20tempSharpness\\x20*\\x20texture2D(Ytexture,\\x20uv).rgb;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColor\\x20=\\x20sharpenColorY;\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20return\\x20sharpenColor;\\x20\\x0a}\\x20\\x0avoid\\x20main(void)\\x0a{\\x0a\\x20\\x20\\x20\\x20float\\x20r,\\x20g,\\x20b,\\x20y,\\x20u,\\x20v;\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20pp.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20pp.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20pp.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20rgb\\x20=\\x20vec3(r,\\x20g,\\x20b);\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20pp.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20pp.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20pp.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20rgb\\x20=\\x20yuv2rgb(y,\\x20u,\\x20v);\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20if(1\\x20==\\x20nPostProc)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec3\\x20fragRGB\\x20=\\x20sharpen(rgb);\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20//sharpen\\x20锐度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec3\\x20fragHSV\\x20=\\x20rgb2hsv(fragRGB);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fragHSV.x\\x20=\\x20fragHSV.x\\x20+\\x20fHue;\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20//hue\\x20色度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fragHSV.y\\x20=\\x20fragHSV.y\\x20*\\x20(fSaturation\\x20+\\x201.0);\\x20\\x20\\x20\\x20//saturation\\x20饱和度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fragRGB\\x20=\\x20hsv2rgb(fragHSV);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if\\x20(fBrightness\\x20>\\x200.0)\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20//brightness\\x20亮度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fragRGB\\x20=\\x20fragRGB\\x20+\\x20(1.0\\x20-\\x20fragRGB)\\x20*\\x20fBrightness;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fragRGB\\x20=\\x20fragRGB\\x20+\\x20fragRGB\\x20*\\x20fBrightness;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tempContrast\\x20=\\x20fContrast\\x20>\\x200.0\\x20?\\x20fContrast\\x20*\\x2010.0\\x20:\\x20fContrast;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fragRGB\\x20=\\x20((fragRGB\\x20-\\x200.5)\\x20*\\x20max(tempContrast\\x20+\\x201.0,\\x200.0))\\x20+\\x200.5;\\x20\\x20\\x20\\x20\\x20\\x20//contrast\\x20对比度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(fragRGB,\\x201.0);\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(rgb,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x0a}\\x0a';break;case _0x4d466f['SR_DE_FISH_ORIGINAL']:_0xc61149=_0x359c6e,_0x12adee='\\x0aprecision\\x20mediump\\x20float;\\x0avarying\\x20vec4\\x20pp;\\x0auniform\\x20sampler2D\\x20Ytexture;\\x0auniform\\x20sampler2D\\x20Utexture;\\x0auniform\\x20sampler2D\\x20Vtexture;\\x0auniform\\x20float\\x20fRX1;\\x0auniform\\x20float\\x20fRX2;\\x0auniform\\x20float\\x20fRY1;\\x0auniform\\x20float\\x20fRY2;\\x0auniform\\x20int\\x20bBlack;\\x20\\x0auniform\\x20int\\x20bCut;\\x0auniform\\x20int\\x20bDataFormat;\\x0a\\x0avoid\\x20main()\\x0a{\\x20\\x0a\\x09float\\x20r,g,b,y,u,v;\\x0a\\x09vec4\\x20origin;\\x0a\\x0a\\x09float\\x20\\x20w;\\x0a\\x09float\\x20\\x20h;\\x0a\\x09float\\x20\\x20fCenterX;\\x0a\\x09float\\x20\\x20fCenterY;\\x0a\\x09float\\x20\\x20fRadius;\\x0a\\x09w\\x20=\\x201.0;\\x0a\\x09h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x09fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20///<圆心实际坐标\\x0a\\x09fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x09fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x20///<半径实际长度\\x0a\\x09float\\x20\\x20leftCut\\x20=\\x200.0;\\x0a\\x09float\\x20\\x20rightCut\\x20=\\x201.0;\\x0a\\x09float\\x20\\x20topCut\\x20=\\x200.0;\\x0a\\x09float\\x20\\x20bottomCut\\x20=\\x201.0;\\x0a\\x09if(bCut\\x20==\\x201)\\x0a\\x09{\\x0a\\x09\\x09if(fRX1\\x20>\\x200.0)\\x0a\\x09\\x09{\\x0a\\x09\\x09\\x09leftCut\\x20=\\x20fRX1;\\x0a\\x09\\x09}\\x0a\\x09\\x09if(fRX2\\x20<\\x201.0)\\x0a\\x09\\x09{\\x0a\\x09\\x09\\x09rightCut\\x20=\\x20fRX2;\\x0a\\x09\\x09}\\x0a\\x09\\x09if(fRY1\\x20>\\x200.0)\\x0a\\x09\\x09{\\x0a\\x09\\x09\\x09topCut\\x20=\\x20fRY1;\\x0a\\x09\\x09}\\x0a\\x09\\x09if(fRY2\\x20<\\x201.0)\\x0a\\x09\\x09{\\x0a\\x09\\x09\\x09bottomCut\\x20=\\x20fRY2;\\x0a\\x09\\x09}\\x0a\\x09}\\x0a\\x09origin.s\\x20=\\x20pp.s\\x20*\\x20(rightCut-leftCut)\\x20+\\x20leftCut;\\x0a\\x09origin.t\\x20=\\x20pp.t\\x20*\\x20(bottomCut-topCut)\\x20+\\x20topCut;\\x0a\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20origin.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20origin.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20origin.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20origin.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20origin.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20origin.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x09if(bBlack\\x20==\\x201)\\x0a\\x09{\\x0a\\x09\\x09float\\x20tmpX,\\x20tmpY;\\x0a\\x09\\x09tmpX\\x20=\\x20origin.s\\x20*\\x20w;\\x20\\x0a\\x09\\x09tmpY\\x20=\\x20origin.t\\x20*\\x20h;\\x20\\x0a\\x09\\x09float\\x20d2\\x20=\\x20(tmpX-fCenterX)*(tmpX-fCenterX)\\x20+\\x20(tmpY-fCenterY)*(tmpY-fCenterY);\\x0a\\x09\\x09if(d2\\x20>\\x20fRadius*fRadius)\\x0a\\x09\\x09{\\x0a\\x09\\x09\\x09r\\x20=\\x200.0;\\x20\\x0a\\x09\\x09\\x09g\\x20=\\x200.0;\\x20\\x0a\\x09\\x09\\x09b\\x20=\\x200.0;\\x20\\x0a\\x09\\x09}\\x0a\\x09}\\x0a\\x0a\\x09gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a}\\x0a';break;case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:_0xc61149=_0x359c6e,_0x12adee='\\x0aprecision\\x20mediump\\x20float;\\x0avarying\\x20vec4\\x20pp;\\x20\\x0auniform\\x20sampler2D\\x20Ytexture;\\x0auniform\\x20sampler2D\\x20Utexture;\\x0auniform\\x20sampler2D\\x20Vtexture;\\x0auniform\\x20float\\x20fHAngleCos;\\x0auniform\\x20float\\x20fHAngleSin;\\x0auniform\\x20float\\x20fVAngleCos;\\x0auniform\\x20float\\x20fVAngleSin;\\x0auniform\\x20float\\x20fZoom;\\x0auniform\\x20float\\x20fRX1;\\x20\\x0auniform\\x20float\\x20fRX2;\\x20\\x0auniform\\x20float\\x20fRY1;\\x20\\x0auniform\\x20float\\x20fRY2;\\x20\\x0auniform\\x20int\\x20bDataFormat;\\x0a\\x0avoid\\x20main()\\x0a{\\x0a\\x09float\\x20r,g,b,y,u,v;\\x0a\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin1;\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin2;\\x0a\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z1;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z2;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20dnew;\\x0a\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20origin1.s\\x20=\\x20pp.s\\x20-\\x200.5;\\x0a\\x20\\x20\\x20\\x20origin1.t\\x20=\\x200.5\\x20-\\x20pp.t;\\x0a\\x20\\x20\\x20\\x20z1\\x20=\\x20fZoom\\x20;\\x0a\\x0a\\x20\\x20\\x20\\x20origin2.s\\x20=\\x20origin1.s\\x20;\\x0a\\x20\\x20\\x20\\x20origin2.t\\x20=\\x20(origin1.t*fVAngleCos\\x20+\\x20z1*fVAngleSin);\\x0a\\x20\\x20\\x20\\x20z2\\x20=\\x20z1*fVAngleCos\\x20-\\x20origin1.t*fVAngleSin;\\x0a\\x0a\\x20\\x20\\x20\\x20dnew\\x20=\\x20sqrt(origin2.s*origin2.s\\x20+\\x20origin2.t*origin2.t)\\x20;\\x0a\\x20\\x20\\x20\\x20float\\x20d\\x20=\\x20sqrt(origin2.s*origin2.s\\x20+\\x20origin2.t*origin2.t\\x20+\\x20z2*z2);\\x0a\\x20\\x20\\x20\\x20float\\x20theta\\x20=\\x20asin(dnew/d);\\x0a\\x20\\x20\\x20\\x20float\\x20tmp\\x20=\\x20theta\\x20/\\x201.5707963\\x20*\\x200.5;\\x0a\\x20\\x20\\x20\\x20origin2.s\\x20=\\x20tmp*origin2.s\\x20/\\x20dnew\\x20;\\x0a\\x20\\x20\\x20\\x20origin2.t\\x20=\\x20tmp*origin2.t\\x20/\\x20dnew\\x20;\\x0a\\x0a\\x20\\x20\\x20\\x20result.s\\x20=\\x20((origin2.s*fHAngleCos\\x20-\\x20origin2.t*fHAngleSin)*fRadius*2.0+fCenterX)/w;\\x0a\\x20\\x20\\x20\\x20result.t\\x20=\\x20(-(origin2.s*fHAngleSin\\x20+\\x20origin2.t*fHAngleCos)*fRadius*2.0+fCenterY)/h;\\x0a\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a}\\x20\\x0a';break;case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:_0xc61149=_0x359c6e,_0x12adee='\\x0aprecision\\x20mediump\\x20float;\\x0avarying\\x20vec4\\x20pp;\\x20\\x0auniform\\x20sampler2D\\x20Ytexture;\\x0auniform\\x20sampler2D\\x20Utexture;\\x0auniform\\x20sampler2D\\x20Vtexture;\\x0auniform\\x20float\\x20fHAngleCos;\\x20\\x20\\x0auniform\\x20float\\x20fHAngleSin;\\x20\\x0auniform\\x20float\\x20fVAngleCos;\\x20\\x20\\x0auniform\\x20float\\x20fVAngleSin;\\x20\\x20\\x0auniform\\x20float\\x20fZoom;\\x0auniform\\x20float\\x20fRX1;\\x20\\x0auniform\\x20float\\x20fRX2;\\x20\\x0auniform\\x20float\\x20fRY1;\\x20\\x0auniform\\x20float\\x20fRY2;\\x20\\x0auniform\\x20int\\x20bDataFormat;\\x0a\\x0avoid\\x20main()\\x0a{\\x0a\\x09float\\x20r,g,b,y,u,v;\\x0a\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin1;\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin2;\\x0a\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z1;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z2;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20dnew;\\x0a\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x0a\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x0a\\x20\\x20\\x20\\x20origin1.s\\x20=\\x20pp.s\\x20-\\x200.5;\\x0a\\x20\\x20\\x20\\x20origin1.t\\x20=\\x20pp.t\\x20-\\x200.5;\\x0a\\x20\\x20\\x20\\x20z1\\x20=\\x20fZoom\\x20;\\x0a\\x0a\\x20\\x20\\x20\\x20origin2.s\\x20=\\x20origin1.s\\x20;\\x0a\\x20\\x20\\x20\\x20origin2.t\\x20=\\x20(origin1.t*fVAngleCos\\x20+\\x20z1*fVAngleSin);\\x0a\\x20\\x20\\x20\\x20z2\\x20=\\x20z1*fVAngleCos\\x20-\\x20origin1.t*fVAngleSin;\\x0a\\x0a\\x20\\x20\\x20\\x20dnew\\x20=\\x20sqrt(origin2.s*origin2.s\\x20+\\x20origin2.t*origin2.t)\\x20;\\x0a\\x20\\x20\\x20\\x20float\\x20d\\x20=\\x20sqrt(origin2.s*origin2.s\\x20+\\x20origin2.t*origin2.t\\x20+\\x20z2*z2);\\x0a\\x20\\x20\\x20\\x20float\\x20theta\\x20=\\x20asin(dnew/d);\\x0a\\x20\\x20\\x20\\x20float\\x20tmp\\x20=\\x20theta\\x20/\\x201.5707963\\x20*\\x200.5;\\x0a\\x20\\x20\\x20\\x20origin2.s\\x20=\\x20tmp*origin2.s\\x20/\\x20dnew\\x20;\\x0a\\x20\\x20\\x20\\x20origin2.t\\x20=\\x20tmp*origin2.t\\x20/\\x20dnew\\x20;\\x0a\\x0a\\x20\\x20\\x20\\x20result.s\\x20=\\x20((origin2.s*fHAngleCos\\x20-\\x20origin2.t*fHAngleSin)*fRadius*2.0+fCenterX)/w;\\x0a\\x20\\x20\\x20\\x20result.t\\x20=\\x20((origin2.s*fHAngleSin\\x20+\\x20origin2.t*fHAngleCos)*fRadius*2.0+fCenterY)/h;\\x0a\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a}\\x20\\x0a';break;case _0x4d466f['SR_DE_FISH_PTZ_WALL']:_0xc61149=_0x359c6e,_0x12adee='\\x0aprecision\\x20mediump\\x20float;\\x0avarying\\x20vec4\\x20pp;\\x20\\x0auniform\\x20sampler2D\\x20Ytexture;\\x0auniform\\x20sampler2D\\x20Utexture;\\x0auniform\\x20sampler2D\\x20Vtexture;\\x0auniform\\x20float\\x20fHAngleCos;\\x0auniform\\x20float\\x20fHAngleSin;\\x20\\x20\\x0auniform\\x20float\\x20fVAngleCos;\\x20\\x20\\x0auniform\\x20float\\x20fVAngleSin;\\x20\\x20\\x0auniform\\x20float\\x20fZoom;\\x0auniform\\x20float\\x20fRX1;\\x20\\x0auniform\\x20float\\x20fRX2;\\x20\\x0auniform\\x20float\\x20fRY1;\\x20\\x0auniform\\x20float\\x20fRY2;\\x20\\x0auniform\\x20int\\x20bDataFormat;\\x0a\\x0avoid\\x20main()\\x0a{\\x0a\\x09float\\x20r,g,b,y,u,v;\\x0a\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin1;\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin2;\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin3;\\x0a\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z1;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z2;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z3;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20dnew;\\x0a\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x0a\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x0a\\x0a\\x20\\x20\\x20\\x20origin1.s\\x20=\\x20pp.s\\x20-\\x200.5;\\x0a\\x20\\x20\\x20\\x20origin1.t\\x20=\\x20pp.t\\x20-\\x200.5;\\x0a\\x20\\x20\\x20\\x20z1\\x20=\\x20fZoom\\x20;\\x0a\\x0a\\x20\\x20\\x20\\x20origin2.s\\x20=\\x20origin1.s\\x20;\\x0a\\x20\\x20\\x20\\x20origin2.t\\x20=\\x20(origin1.t*fVAngleCos\\x20+\\x20z1*fVAngleSin);\\x0a\\x20\\x20\\x20\\x20z2\\x20=\\x20z1*fVAngleCos\\x20-\\x20origin1.t*fVAngleSin;\\x0a\\x0a\\x20\\x20\\x20\\x20origin3.s\\x20=\\x20origin2.s*fHAngleCos\\x20+\\x20z2*fHAngleSin\\x20;\\x0a\\x20\\x20\\x20\\x20origin3.t\\x20=\\x20origin2.y;\\x0a\\x20\\x20\\x20\\x20z3\\x20=\\x20z2*fHAngleCos\\x20-\\x20origin2.x*fHAngleSin;\\x0a\\x0a\\x20\\x20\\x20\\x20dnew\\x20=\\x20sqrt(origin3.s*origin3.s\\x20+\\x20origin3.t*origin3.t)\\x20;\\x0a\\x20\\x20\\x20\\x20float\\x20d\\x20=\\x20sqrt(origin3.s*origin3.s\\x20+\\x20origin3.t*origin3.t\\x20+\\x20z3*z3);\\x0a\\x20\\x20\\x20\\x20float\\x20theta\\x20=\\x20asin(dnew/d);\\x0a\\x20\\x20\\x20\\x20float\\x20tmp\\x20=\\x20theta\\x20/\\x201.5707963\\x20*\\x200.5;\\x0a\\x20\\x20\\x20\\x20result.s\\x20=\\x20(tmp*origin3.s\\x20/\\x20dnew\\x20*\\x20fRadius\\x20*\\x202.0\\x20+\\x20fCenterX)/w;\\x0a\\x20\\x20\\x20\\x20result.t\\x20=\\x20(tmp*origin3.t\\x20/\\x20dnew\\x20*\\x20fRadius\\x20*\\x202.0\\x20+\\x20fCenterY)/h;\\x0a\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a}\\x20\\x0a';break;case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:_0xc61149=_0x359c6e,_0x12adee='\\x0a\\x20\\x20\\x20\\x20precision\\x20highp\\x20float;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Ytexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Utexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Vtexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bDataFormat;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20r,g,b,y,u,v;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20origin;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20thetabase;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20d;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20///<圆心实际坐标\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20///<半径实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20fMax\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0\\x20||\\x20fRY2\\x20>\\x201.0\\x20||\\x20fRX1\\x20<\\x200.0\\x20||\\x20fRY1\\x20<\\x200.0)\\x20///<如果不是一个完整的圆\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRX1\\x20*\\x20w;\\x20///<左边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRX2\\x20-\\x201.0)\\x20*\\x20w;\\x20///<右边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRY1\\x20*\\x20h;\\x20///<上边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRY2\\x20-\\x201.0)\\x20*\\x20h;\\x20///<下边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20topCut\\x20=\\x20fMax\\x20/\\x20fRadius;\\x20\\x20///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20bottomCut\\x20=\\x200.8;\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20///<为矫正效果,最终矫正图固定切掉下面一部分\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.s\\x20=\\x20pp.s;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.t\\x20=\\x20(bottomCut\\x20-\\x20topCut)\\x20*\\x20pp.t\\x20+\\x20topCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20thetabase\\x20=\\x206.2831853\\x20*\\x20origin.s\\x20+\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20d\\x20=\\x20fRadius\\x20*\\x20(1.0\\x20-\\x20origin.t);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.s\\x20=\\x20(fCenterX\\x20-\\x20d*sin(thetabase))\\x20/\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.t\\x20=\\x20(fCenterY\\x20+\\x20d*cos(thetabase))\\x20/\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r,\\x20g,\\x20b,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x0a';break;case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']:_0xc61149=_0x359c6e,_0x12adee='\\x0a\\x20\\x20\\x20\\x20precision\\x20highp\\x20float;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Ytexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Utexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Vtexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX1;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX2;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY1;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY2;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bDataFormat;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20r,g,b,y,u,v;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20origin;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20thetabase;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20d;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20newpp;\\x20\\x20///<180矫正pp纹理坐标的点对应360矫正newpp纹理坐标对应的点\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if\\x20(pp.t\\x20\\x20<=\\x200.5)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.s\\x20=\\x20\\x20pp.s\\x20/\\x202.0\\x20+\\x200.5;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.t\\x20=\\x20\\x20pp.t\\x20*\\x202.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.s\\x20=\\x20\\x20pp.s\\x20/\\x202.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.t\\x20=\\x20\\x20(pp.t\\x20-\\x200.5)\\x20*\\x202.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x20///<圆心实际坐标\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x20///<半径实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20fMax\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0\\x20||\\x20fRY2\\x20>\\x201.0\\x20||\\x20fRX1\\x20<\\x200.0\\x20||\\x20fRY1\\x20<\\x200.0)\\x20///<如果不是一个完整的圆\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRX1\\x20*\\x20w;\\x20///<左边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRX2\\x20-\\x201.0)\\x20*\\x20w;\\x20///<右边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRY1\\x20*\\x20h;\\x20///<上边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRY2\\x20-\\x201.0)\\x20*\\x20h;\\x20///<下边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20topCut\\x20=\\x20fMax\\x20/\\x20fRadius;\\x20\\x20\\x20///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20bottomCut\\x20=\\x200.8;\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20///<为矫正效果,最终矫正图固定切掉下面一部分\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.s\\x20=\\x20newpp.s;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.t\\x20=\\x20(bottomCut\\x20-\\x20topCut)\\x20*\\x20newpp.t\\x20+\\x20topCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20thetabase\\x20=\\x206.2831853\\x20*\\x20origin.s\\x20+\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20d\\x20=\\x20fRadius\\x20*\\x20(1.0\\x20-\\x20origin.t);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.s\\x20=\\x20(fCenterX\\x20-\\x20d*sin(thetabase))\\x20/\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.t\\x20=\\x20(fCenterY\\x20+\\x20d*cos(thetabase))\\x20/\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x0a';break;case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:_0xc61149=_0x359c6e,_0x12adee='\\x0a\\x20\\x20\\x20\\x20precision\\x20highp\\x20float;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Ytexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Utexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Vtexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bDataFormat;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20r,g,b,y,u,v;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20origin;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20thetabase;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20d;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20///<圆心实际坐标\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20///<半径实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20fMax\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0\\x20||\\x20fRY2\\x20>\\x201.0\\x20||\\x20fRX1\\x20<\\x200.0\\x20||\\x20fRY1\\x20<\\x200.0)\\x20///<如果不是一个完整的圆\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRX1\\x20*\\x20w;\\x20///<左边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRX2\\x20-\\x201.0)\\x20*\\x20w;\\x20///<右边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRY1\\x20*\\x20h;\\x20///<上边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRY2\\x20-\\x201.0)\\x20*\\x20h;\\x20///<下边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20topCut\\x20=\\x20fMax\\x20/\\x20fRadius;\\x20\\x20\\x20///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20bottomCut\\x20=\\x200.8;\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20///<为矫正效果,最终矫正图固定切掉下面一部分\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.s\\x20=\\x201.0\\x20-\\x20pp.s;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.t\\x20=\\x20(bottomCut\\x20-\\x20topCut)\\x20*\\x20(1.0\\x20-\\x20pp.t)\\x20+\\x20topCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20thetabase\\x20=\\x206.2831853\\x20*\\x20origin.s\\x20+\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20d\\x20=\\x20fRadius\\x20*\\x20(1.0\\x20-\\x20origin.t);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.s\\x20=\\x20(fCenterX\\x20-\\x20d*sin(thetabase))\\x20/\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.t\\x20=\\x20(fCenterY\\x20+\\x20d*cos(thetabase))\\x20/\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x0a';break;case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']:_0xc61149=_0x359c6e,_0x12adee='\\x0a\\x20\\x20\\x20\\x20precision\\x20highp\\x20float;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Ytexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Utexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Vtexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bDataFormat;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20r,g,b,y,u,v;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20origin;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20thetabase;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20d;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20newpp;\\x20\\x20///<180矫正pp纹理坐标的点对应360矫正newpp纹理坐标对应的点\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if\\x20(pp.t\\x20\\x20<=\\x200.5)\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.s\\x20=\\x20\\x20pp.s\\x20/\\x202.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.t\\x20=\\x20\\x20pp.t\\x20*\\x202.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.s\\x20=\\x20\\x20pp.s\\x20/\\x202.0\\x20+\\x200.5;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.t\\x20=\\x20\\x20(pp.t\\x20-\\x200.5)\\x20*\\x202.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20///<圆心实际坐标\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x20///<半径实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20fMax\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0\\x20||\\x20fRY2\\x20>\\x201.0\\x20||\\x20fRX1\\x20<\\x200.0\\x20||\\x20fRY1\\x20<\\x200.0)\\x20///<如果不是一个完整的圆\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRX1\\x20*\\x20w;\\x20///<左边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRX2\\x20-\\x201.0)\\x20*\\x20w;\\x20///<右边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRY1\\x20*\\x20h;\\x20///<上边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRY2\\x20-\\x201.0)\\x20*\\x20h;\\x20///<下边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20topCut\\x20=\\x20fMax\\x20/\\x20fRadius;\\x20\\x20\\x20///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20bottomCut\\x20=\\x200.8;\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20///<为矫正效果,最终矫正图固定切掉下面一部分\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.s\\x20=\\x201.0\\x20-\\x20newpp.s;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.t\\x20=\\x20(bottomCut\\x20-\\x20topCut)\\x20*\\x20(1.0\\x20-\\x20newpp.t)\\x20+\\x20topCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20thetabase\\x20=\\x206.2831853\\x20*\\x20origin.s\\x20+\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20d\\x20=\\x20fRadius\\x20*\\x20(1.0\\x20-\\x20origin.t);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.s\\x20=\\x20(fCenterX\\x20-\\x20d*sin(thetabase))\\x20/\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.t\\x20=\\x20(fCenterY\\x20+\\x20d*cos(thetabase))\\x20/\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a';break;case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:_0xc61149=_0x359c6e,_0x12adee='\\x0a\\x20\\x20\\x20\\x20precision\\x20highp\\x20float;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Ytexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Utexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Vtexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY1;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY2;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bDataFormat;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20r,g,b,y,u,v;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20origin;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20d;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x20///<圆心实际坐标\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x20///<半径实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20defaultTopCut\\x20=\\x200.1;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20defaultBottomCut\\x20=\\x200.9;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20leftCut\\x20=\\x200.0;\\x20\\x20\\x20\\x20///<当图像中圆不完整时需要切掉无图像部分,即使图像完整,为了效果,也要切掉上下固定的一部分\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20rightCut\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20topCut\\x20=\\x20defaultTopCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20bottomCut\\x20=\\x20defaultBottomCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRX1\\x20*\\x20w;\\x20///<左边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20tmp\\x20/\\x20(2.0*fRadius);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20leftCut\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRX2\\x20-\\x201.0)\\x20*\\x20w;\\x20///<右边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20tmp\\x20/\\x20(2.0*fRadius);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20rightCut\\x20=\\x201.0\\x20-\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRY1\\x20*\\x20h;\\x20///<上边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20tmp\\x20/\\x20(2.0*fRadius);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20defaultTopCut)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20topCut\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20topCut\\x20=\\x20defaultTopCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRY2\\x20-\\x201.0)\\x20*\\x20h;\\x20///<下边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20tmp\\x20/\\x20(2.0*fRadius);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x201.0\\x20-\\x20defaultBottomCut)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20bottomCut\\x20=\\x201.0\\x20-\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20bottomCut\\x20=\\x20defaultBottomCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.s\\x20=\\x20pp.s\\x20*\\x20(rightCut-leftCut)\\x20+\\x20leftCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.t\\x20=\\x20pp.t\\x20*\\x20(bottomCut-topCut)\\x20+\\x20topCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmpx\\x20=\\x20origin.s\\x20*\\x202.0\\x20*\\x20fRadius\\x20+\\x20fCenterX\\x20-\\x20fRadius;\\x20///<纹理坐标转化为原图上的实际坐标\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmpy\\x20=\\x20origin.t\\x20*\\x202.0\\x20*\\x20fRadius\\x20+\\x20fCenterY\\x20-\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20d\\x20=\\x20sqrt(fRadius*fRadius\\x20-\\x20(tmpy-fCenterY)*(tmpy-fCenterY));\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.s\\x20=\\x20((tmpx-fCenterX)\\x20*\\x20d\\x20/\\x20fRadius\\x20+\\x20fCenterX)\\x20/\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.t\\x20=\\x20tmpy\\x20/\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x0a';break;case _0x4d466f['SR_DE_FISH_SEMISPHERE']:case _0x4d466f['SR_DE_PANORAMA_SPHERE']:case _0x4d466f['SR_DE_PANORAMA_PLANET']:case _0x4d466f['SR_DE_FISH_CYLINDER_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']:case _0x4d466f['SR_DE_FISH_PLANET']:_0xc61149='\\x0a\\x20\\x20\\x20\\x20precision\\x20lowp\\x20\\x20float;\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20position;\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20texCoord;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20\\x20\\x20\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x0a\\x0a\\x20\\x20\\x20\\x20uniform\\x20mat4\\x20matProj;\\x0a\\x20\\x20\\x20\\x20uniform\\x20mat4\\x20matView;\\x0a\\x20\\x20\\x20\\x20void\\x20main(void)\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20matProj\\x20*\\x20matView\\x20*\\x20position;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp\\x20=\\x20texCoord;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20-\\x20gl_Position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20}\\x0a',_0x12adee=_0x1cafd1;break;case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']:_0xc61149='\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20position;\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20texCoord;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20\\x20\\x20\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x0a\\x0a\\x20\\x20\\x20\\x20uniform\\x20mat4\\x20matProj;\\x0a\\x20\\x20\\x20\\x20uniform\\x20mat4\\x20matView;\\x0a\\x20\\x20\\x20\\x20uniform\\x20highp\\x20vec4\\x20\\x20\\x20\\x20vecCylinderParam;\\x0a\\x20\\x20\\x20\\x20uniform\\x20highp\\x20float\\x20\\x20\\x20fTextureOffset;\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20fRX1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20fRX2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20fRY1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20fRY2;\\x0a\\x20\\x20\\x20\\x20void\\x20main(void)\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20dx\\x20\\x20\\x20\\x20\\x20=\\x20position.x\\x20-\\x20vecCylinderParam.x;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20dz\\x20\\x20\\x20\\x20\\x20=\\x20position.z\\x20-\\x20(vecCylinderParam.z\\x20+\\x20vecCylinderParam.y);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20theta\\x20\\x20=\\x20atan(abs(dx/dz));\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20fDis\\x20\\x20\\x20=\\x20(3.1415926\\x20-\\x202.0\\x20*\\x20theta)\\x20*\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20fdx\\x20\\x20\\x20\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if\\x20(dx\\x20>\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fdx\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fdx\\x20=\\x20-1.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fDis\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20fdx\\x20*\\x20fDis;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20lx\\x20\\x20\\x20\\x20\\x20=\\x20fDis;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20lz\\x20\\x20\\x20\\x20\\x20=\\x20vecCylinderParam.z\\x20+\\x20vecCylinderParam.y;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20fRate\\x20\\x20=\\x20(3.1415926\\x20/\\x202.0\\x20+\\x20vecCylinderParam.w)\\x20/\\x203.1415926\\x20*\\x202.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20vec4\\x20newPos\\x20\\x20=\\x20position;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newPos.x\\x20\\x20\\x20\\x20\\x20=\\x20fRate\\x20*\\x20(lx\\x20-\\x20newPos.x)\\x20+\\x20newPos.x;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newPos.z\\x20\\x20\\x20\\x20\\x20=\\x20fRate\\x20*\\x20(lz\\x20-\\x20newPos.z)\\x20+\\x20newPos.z;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20\\x20=\\x20matProj\\x20*\\x20matView\\x20*\\x20newPos;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20-\\x20gl_Position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20s\\x20=\\x20texCoord.s\\x20*\\x20w\\x20-\\x20fCenterX;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20t\\x20=\\x20fCenterY\\x20-\\x20texCoord.t\\x20*\\x20h;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp.s\\x20=\\x20(s*cos(fTextureOffset)\\x20-\\x20t*sin(fTextureOffset)\\x20+\\x20fCenterX)\\x20/\\x20w;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp.t\\x20=\\x20(fCenterY\\x20-\\x20(s*sin(fTextureOffset)\\x20+\\x20t*cos(fTextureOffset)))\\x20/\\x20h;\\x0a\\x20\\x20\\x20\\x20}\\x0a',_0x12adee=_0x1cafd1;break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}var _0x4cd638=this['CompileProgram'](_0xc61149,_0x12adee);return _0x4cd638<=0x0?_0x12eada['SR_ERR_WEBGL_RESOURCE']:(this['videoShaderProgram']=_0x4cd638,_0x12eada['SR_OK']);}},{'key':'_InitVideoVertex','value':function(_0x572e41,_0x1e0b5f,_0x2f008f){var _0xd1a05a=null,_0x401742=null,_0x4d2d8d=null,_0x519998=_0x12eada['SR_OK'];if(0x0==this['b3DPort'])_0xd1a05a=new Float32Array([-0x1,0x1,-0x1,-0x1,0x1,0x1,0x1,0x1,-0x1,-0x1,0x1,-0x1]),_0x401742=new Float32Array([0x0,0x0,0x0,0x1,0x1,0x0,0x1,0x0,0x0,0x1,0x1,0x1]);else{if(this['fRX1']=_0x2f008f['fRXLeft'],this['fRX2']=_0x2f008f['fRXRight'],this['fRY1']=_0x2f008f['fRYTop'],this['fRY2']=_0x2f008f['fRYBottom'],_0x1e0b5f==_0x4d466f['SR_DE_FISH_SEMISPHERE']||_0x1e0b5f==_0x4d466f['SR_DE_FISH_PLANET'])_0x519998=this['_CreateSemiSphere'](this['fRX1'],this['fRX2'],this['fRY1'],this['fRY2']),_0xd1a05a=this['pSemiSpherePos'],_0x401742=this['pSemiSphereTex'];else{if(_0x1e0b5f==_0x4d466f['SR_DE_PANORAMA_SPHERE']||_0x1e0b5f==_0x4d466f['SR_DE_PANORAMA_PLANET'])_0x519998=this['_CreateSphere'](this['fRX1'],this['fRX2'],this['fRY1'],this['fRY2']),_0xd1a05a=this['pSpherePos'],_0x401742=this['pSphereTex'],_0x4d2d8d=this['pSphereInd'];else{if(_0x1e0b5f==_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']||_0x1e0b5f==_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']||_0x1e0b5f==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']||_0x1e0b5f==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR'])_0x519998=this['_CreateCylinder'](_0x1e0b5f,this['fRX1'],this['fRX2'],this['fRY1'],this['fRY2'],0x0,0x0),_0xd1a05a=this['pCylinderPos'],_0x401742=this['pCylinderTex'];else{if(_0x1e0b5f!=_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']&&_0x1e0b5f!=_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL'])return _0x12eada['SR_ERR_NOT_SUPPORT'];_0x519998=_0x1e0b5f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_CreateArcSphere'](_0x1e0b5f,0.05,0.95,-0.3,1.3):this['_CreateArcSphere'](_0x1e0b5f,-0.16,1.16,0.005,0.995),_0xd1a05a=this['pArcSpherePos'],_0x401742=this['pArcSphereTex'];}}}if(_0x519998!=_0x12eada['SR_OK'])return _0x519998;}if(null==_0xd1a05a||null==_0x401742)return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x4abc2b=this['ctx']['createBuffer']();if(this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x4abc2b),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0xd1a05a,this['ctx']['STATIC_DRAW']),this['vertexPosBuffer']=_0x4abc2b,_0x1e0b5f==_0x4d466f['SR_DE_PANORAMA_SPHERE']||_0x1e0b5f==_0x4d466f['SR_DE_PANORAMA_PLANET']){var _0x34bfaa=this['ctx']['createBuffer']();this['ctx']['bindBuffer'](this['ctx']['ELEMENT_ARRAY_BUFFER'],_0x34bfaa),this['ctx']['bufferData'](this['ctx']['ELEMENT_ARRAY_BUFFER'],_0x4d2d8d,this['ctx']['STATIC_DRAW']),this['indicesPosBuffer']=_0x34bfaa;}var _0x4b7b5c=this['ctx']['createBuffer']();return this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x4b7b5c),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0x401742,this['ctx']['STATIC_DRAW']),this['texturePosBuffer']=_0x4b7b5c,this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),_0xd1a05a=null,_0x401742=null,_0x12eada['SR_OK'];}},{'key':'_InitCamera','value':function(_0x5971ab){if(null!=this['pCamera'])return _0x12eada['SR_ERR_CALL_ORDER'];switch(_0x5971ab){case _0x4d466f['SR_DE_NULL']:case _0x4d466f['SR_DE_FISH_ORIGINAL']:case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:case _0x4d466f['SR_DE_FISH_PTZ_WALL']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:return _0x12eada['SR_OK'];case _0x4d466f['SR_DE_FISH_SEMISPHERE']:if(this['pCamera']=new _0x3298a7(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetFov'](_0x3b2c52),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fRotateX']=4.71,this['pCamera']['SetPitch'](3.14-this['fRotateX']),this['fScale']=0x3,this['pCamera']['SetScale'](this['fScale']);break;case _0x4d466f['SR_DE_PANORAMA_SPHERE']:if(this['pCamera']=new _0x3298a7(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetFov'](_0x3b2c52),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fRotateX']=0x0,this['pCamera']['SetPitch'](3.14-this['fRotateX']),this['fScale']=0x0,this['pCamera']['SetScale'](this['fScale']);break;case _0x4d466f['SR_DE_FISH_CYLINDER_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']:if(this['pCamera']=new _0x3298a7(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetFov'](_0x3b2c52),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fRotateX']=0.785,this['pCamera']['SetPitch'](-this['fRotateX']),this['fScale']=0x6,this['pCamera']['SetScale'](this['fScale']);break;case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']:if(this['pCamera']=new _0x3298a7(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetOrtho'](!0x0),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fScale']=0x3,this['pCamera']['SetScale'](this['fScale']);break;case _0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']:if(this['pCamera']=new _0x3298a7(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetFov'](1.25663704),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fScale']=0x2,this['pCamera']['SetScale'](this['fScale']),_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']==_0x5971ab?(this['fRotateLimitX']=0.17453292222222222,this['fRotateLimitY']=1.0471975333333334):(this['fRotateLimitX']=0.5235987666666667,this['fRotateLimitY']=0.34906584444444444);break;case _0x4d466f['SR_DE_FISH_PLANET']:if(this['pCamera']=new _0x5e5ca3(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetFov'](2.16),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fRotateX']=1.57,this['pCamera']['SetPitch'](this['fRotateX']),this['pCamera']['SetYaw'](_0x645d1a+this['fRotateY']),this['fScale']=0x1,this['pCamera']['SetScale'](this['fScale']);break;case _0x4d466f['SR_DE_PANORAMA_PLANET']:if(this['pCamera']=new _0x5e5ca3(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetPano'](!0x0),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fRotateX']=1.57,this['pCamera']['SetPitch'](this['fRotateX']),this['fRotateY']=-1.57,this['pCamera']['SetYaw'](_0x645d1a+this['fRotateY']),this['fScale']=2.6,this['pCamera']['SetScale'](this['fScale']);break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_OK'];}},{'key':'CompileProgram','value':function(_0x2ffadc,_0x2556cb){var _0xfb8dc1=this['ctx'];if(null==_0xfb8dc1||null==_0x2ffadc||null==_0x2556cb)return-0x1;var _0xb71e0f=_0xfb8dc1['createShader'](_0xfb8dc1['VERTEX_SHADER']);if(_0xfb8dc1['shaderSource'](_0xb71e0f,_0x2ffadc),_0xfb8dc1['compileShader'](_0xb71e0f),!_0xfb8dc1['getShaderParameter'](_0xb71e0f,_0xfb8dc1['COMPILE_STATUS']))return-0x1;var _0x4b08a8=_0xfb8dc1['createShader'](_0xfb8dc1['FRAGMENT_SHADER']);if(_0xfb8dc1['shaderSource'](_0x4b08a8,_0x2556cb),_0xfb8dc1['compileShader'](_0x4b08a8),!_0xfb8dc1['getShaderParameter'](_0x4b08a8,_0xfb8dc1['COMPILE_STATUS']))return-0x1;var _0x40b2bb=_0xfb8dc1['createProgram']();return _0xfb8dc1['attachShader'](_0x40b2bb,_0xb71e0f),_0xfb8dc1['attachShader'](_0x40b2bb,_0x4b08a8),_0xfb8dc1['linkProgram'](_0x40b2bb),_0xfb8dc1['getProgramParameter'](_0x40b2bb,_0xfb8dc1['LINK_STATUS'])?(_0xfb8dc1['deleteShader'](_0xb71e0f),_0xfb8dc1['deleteShader'](_0x4b08a8),_0x40b2bb):-0x1;}},{'key':'_CreateSemiSphere','value':function(_0x302666,_0x5d0182,_0xba0759,_0x4a6b5a){if(null!=this['pSemiSpherePos']||null!=this['pSemiSphereTex'])return _0x12eada['SR_ERR_CALL_ORDER'];this['pSemiSpherePos']=new Float32Array(0xa8c0),this['pSemiSphereTex']=new Float32Array(0x7080);for(var _0x52200a=(_0x5d0182-_0x302666)/(_0x4a6b5a-_0xba0759),_0x4901a8=(_0x5d0182-_0x302666)/0x2*0x1,_0x564fe7=6.2831852/0x3c,_0x1d330d=0.0392699075,_0x363aae=0x0,_0x4c1f56=0x0,_0x4ed384=0x0,_0x33eeef=0x0;_0x33eeef<0x3c;++_0x33eeef)for(var _0x5ad86c=0x0;_0x5ad86c<0x28;++_0x5ad86c){var _0x1a5ba4=_0x33eeef*_0x564fe7;0x0==_0x33eeef&&(_0x363aae=_0x1a5ba4);var _0x49d8af=0x3b==_0x33eeef?_0x363aae:(_0x33eeef+0x1)*_0x564fe7,_0x537dfe=-_0x5ad86c*_0x1d330d,_0x596b70=-(_0x5ad86c+0x1)*_0x1d330d,_0x297c96=void 0x0,_0xbdd002=void 0x0;this['pSemiSpherePos'][_0x4c1f56]=-0x1*Math['cos'](_0x537dfe)*Math['cos'](_0x1a5ba4),this['pSemiSpherePos'][_0x4c1f56+0x1]=0x1*Math['sin'](_0x537dfe),this['pSemiSpherePos'][_0x4c1f56+0x2]=-0x1*Math['cos'](_0x537dfe)*Math['sin'](_0x1a5ba4),_0xbdd002=0.5-0.5*(0x1+_0x537dfe/1.5707963)*Math['sin'](_0x1a5ba4),_0x297c96=0.5-0.5*(0x1+_0x537dfe/1.5707963)*Math['cos'](_0x1a5ba4),this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0x297c96*_0x4901a8+0x1*_0x302666)/0x1,this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0xbdd002*_0x4901a8+_0xba0759*_0x52200a)/_0x52200a,_0x4c1f56+=0x3,this['pSemiSpherePos'][_0x4c1f56]=-0x1*Math['cos'](_0x596b70)*Math['cos'](_0x1a5ba4),this['pSemiSpherePos'][_0x4c1f56+0x1]=0x1*Math['sin'](_0x596b70),this['pSemiSpherePos'][_0x4c1f56+0x2]=-0x1*Math['cos'](_0x596b70)*Math['sin'](_0x1a5ba4),_0xbdd002=0.5-0.5*(0x1+_0x596b70/1.5707963)*Math['sin'](_0x1a5ba4),_0x297c96=0.5-0.5*(0x1+_0x596b70/1.5707963)*Math['cos'](_0x1a5ba4),this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0x297c96*_0x4901a8+0x1*_0x302666)/0x1,this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0xbdd002*_0x4901a8+_0xba0759*_0x52200a)/_0x52200a,_0x4c1f56+=0x3,this['pSemiSpherePos'][_0x4c1f56]=-0x1*Math['cos'](_0x537dfe)*Math['cos'](_0x49d8af),this['pSemiSpherePos'][_0x4c1f56+0x1]=0x1*Math['sin'](_0x537dfe),this['pSemiSpherePos'][_0x4c1f56+0x2]=-0x1*Math['cos'](_0x537dfe)*Math['sin'](_0x49d8af),_0xbdd002=0.5-0.5*(0x1+_0x537dfe/1.5707963)*Math['sin'](_0x49d8af),_0x297c96=0.5-0.5*(0x1+_0x537dfe/1.5707963)*Math['cos'](_0x49d8af),this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0x297c96*_0x4901a8+0x1*_0x302666)/0x1,this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0xbdd002*_0x4901a8+_0xba0759*_0x52200a)/_0x52200a,_0x4c1f56+=0x3,this['pSemiSpherePos'][_0x4c1f56]=-0x1*Math['cos'](_0x537dfe)*Math['cos'](_0x49d8af),this['pSemiSpherePos'][_0x4c1f56+0x1]=0x1*Math['sin'](_0x537dfe),this['pSemiSpherePos'][_0x4c1f56+0x2]=-0x1*Math['cos'](_0x537dfe)*Math['sin'](_0x49d8af),_0xbdd002=0.5-0.5*(0x1+_0x537dfe/1.5707963)*Math['sin'](_0x49d8af),_0x297c96=0.5-0.5*(0x1+_0x537dfe/1.5707963)*Math['cos'](_0x49d8af),this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0x297c96*_0x4901a8+0x1*_0x302666)/0x1,this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0xbdd002*_0x4901a8+_0xba0759*_0x52200a)/_0x52200a,_0x4c1f56+=0x3,this['pSemiSpherePos'][_0x4c1f56]=-0x1*Math['cos'](_0x596b70)*Math['cos'](_0x1a5ba4),this['pSemiSpherePos'][_0x4c1f56+0x1]=0x1*Math['sin'](_0x596b70),this['pSemiSpherePos'][_0x4c1f56+0x2]=-0x1*Math['cos'](_0x596b70)*Math['sin'](_0x1a5ba4),_0xbdd002=0.5-0.5*(0x1+_0x596b70/1.5707963)*Math['sin'](_0x1a5ba4),_0x297c96=0.5-0.5*(0x1+_0x596b70/1.5707963)*Math['cos'](_0x1a5ba4),this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0x297c96*_0x4901a8+0x1*_0x302666)/0x1,this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0xbdd002*_0x4901a8+_0xba0759*_0x52200a)/_0x52200a,_0x4c1f56+=0x3,this['pSemiSpherePos'][_0x4c1f56]=-0x1*Math['cos'](_0x596b70)*Math['cos'](_0x49d8af),this['pSemiSpherePos'][_0x4c1f56+0x1]=0x1*Math['sin'](_0x596b70),this['pSemiSpherePos'][_0x4c1f56+0x2]=-0x1*Math['cos'](_0x596b70)*Math['sin'](_0x49d8af),_0xbdd002=0.5-0.5*(0x1+_0x596b70/1.5707963)*Math['sin'](_0x49d8af),_0x297c96=0.5-0.5*(0x1+_0x596b70/1.5707963)*Math['cos'](_0x49d8af),this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0x297c96*_0x4901a8+0x1*_0x302666)/0x1,this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0xbdd002*_0x4901a8+_0xba0759*_0x52200a)/_0x52200a,_0x4c1f56+=0x3;}return this['nSemiSpherePosNum']=_0x4c1f56/0x3,this['nSemiSpherePosSize']=0x3,this['nSemiSphereTexSize']=0x2,_0x12eada['SR_OK'];}},{'key':'_CreateSphere','value':function(){if(null!=this['pSpherePos']||null!=this['pSphereTex'])return _0x12eada['SR_ERR_CALL_ORDER'];this['pSpherePos']=new Float32Array(0x1e7b),this['pSphereTex']=new Float32Array(0x1452),this['pSphereInd']=new Uint16Array(0x3a98);for(var _0x14a043=0x0,_0x55bdbb=0x0,_0x293e77=0x0;_0x293e77<=0x32;++_0x293e77)for(var _0x1651dd=_0x293e77*_0x645d1a/0x32-1.5707963,_0xf2a45b=Math['sin'](_0x1651dd),_0x31648e=Math['cos'](_0x1651dd),_0x4ebf86=0x0;_0x4ebf86<=0x32;++_0x4ebf86){var _0x10524b=0x2*_0x4ebf86*_0x645d1a/0x32-_0x645d1a,_0x2c25b0=Math['sin'](_0x10524b),_0x33701f=0x1*_0x31648e*Math['cos'](_0x10524b),_0x4c3d3b=0x1*_0xf2a45b,_0x4e5e99=0x1*_0x31648e*_0x2c25b0;this['pSpherePos'][_0x14a043]=-_0x33701f,this['pSpherePos'][_0x14a043+0x1]=_0x4c3d3b,this['pSpherePos'][_0x14a043+0x2]=_0x4e5e99;var _0x277de9=_0x4ebf86/0x32,_0x1bd6b7=_0x293e77/0x32;this['pSphereTex'][_0x55bdbb++]=_0x277de9,this['pSphereTex'][_0x55bdbb++]=_0x1bd6b7,_0x14a043+=0x3;}for(var _0x471614=0x0,_0x4336a6=0x0;_0x4336a6<0x32;++_0x4336a6)for(var _0x4b6683=0x0;_0x4b6683<0x32;++_0x4b6683){var _0x54b3df=0x33*_0x4336a6+_0x4b6683,_0x1a6807=_0x54b3df+0x32+0x1;this['pSphereInd'][_0x471614+0x0]=_0x54b3df,this['pSphereInd'][_0x471614+0x1]=_0x1a6807,this['pSphereInd'][_0x471614+0x2]=_0x54b3df+0x1,this['pSphereInd'][_0x471614+0x3]=_0x1a6807,this['pSphereInd'][_0x471614+0x4]=_0x1a6807+0x1,this['pSphereInd'][_0x471614+0x5]=_0x54b3df+0x1,_0x471614+=0x6;}return this['nSpherePosNum']=0x9c4,this['nSpherePosSize']=0x3,this['nSphereTexSize']=0x2,_0x12eada['SR_OK'];}},{'key':'_CreateCylinder','value':function(_0x3f62e3,_0x5e8168,_0x25a99e,_0x343752,_0x5c44e2,_0x183a45,_0x3e70d7){if(null!=this['pCylinderPos']||null!=this['pCylinderTex'])return _0x12eada['SR_ERR_CALL_ORDER'];if(Math['abs'](_0x183a45-0x0)<0.000001)this['fCylinderHeight']=0x2;else{if(_0x183a45<0.5||_0x183a45>0x6)return _0x12eada['SR_ERR_PARAM'];this['fCylinderHeight']=_0x183a45;}if(Math['abs'](_0x3e70d7-0x0)<0.000001)_0x3f62e3==_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']||_0x3f62e3==_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']?this['fCylinderRadius']=0x2:this['fCylinderRadius']=0x1;else{if(_0x3e70d7<0.5||_0x3e70d7>0x4)return _0x12eada['SR_ERR_PARAM'];this['fCylinderRadius']=_0x3e70d7;}if(this['pCylinderPos']=new Float32Array(0xa8c0),this['pCylinderTex']=new Float32Array(0x7080),null==this['pCylinderPos']||null==this['pCylinderTex'])return this['pCylinderPos']=null,this['pCylinderTex']=null,_0x12eada['SR_ERR_ALLOC_MEMORY'];for(var _0x232913=(_0x25a99e-_0x5e8168)/(_0x5c44e2-_0x343752),_0x5db5a8=(_0x25a99e-_0x5e8168)/0x2*0x1,_0x479218=6.2831852/0x3c,_0x520ccb=this['fCylinderHeight']/0x28,_0x20f702=0x0,_0x504f58=0x0,_0x53421b=0x0;_0x53421b<0x3c;++_0x53421b)for(var _0x1b4378=0x0;_0x1b4378<0x28;++_0x1b4378){var _0x5680b2=_0x53421b*_0x479218,_0x3f0453=(_0x53421b+0x1)*_0x479218,_0x119670=void 0x0,_0x212eca=void 0x0;this['pCylinderPos'][_0x20f702]=-this['fCylinderRadius']*Math['sin'](_0x5680b2),this['pCylinderPos'][_0x20f702+0x1]=this['fCylinderHeight']/0x2-_0x1b4378*_0x520ccb,this['pCylinderPos'][_0x20f702+0x2]=-this['fCylinderRadius']*Math['cos'](_0x5680b2),_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==_0x3f62e3||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==_0x3f62e3?(_0x119670=0.5+(0.1+0.01*_0x1b4378)*Math['sin'](_0x5680b2),_0x212eca=0.5+(0.1+0.01*_0x1b4378)*Math['cos'](_0x5680b2)):(_0x119670=0.5-(0.5-0.01*_0x1b4378)*Math['sin'](_0x5680b2),_0x212eca=0.5+(0.5-0.01*_0x1b4378)*Math['cos'](_0x5680b2)),this['pCylinderTex'][_0x504f58++]=(0x2*_0x119670*_0x5db5a8+0x1*_0x5e8168)/0x1,this['pCylinderTex'][_0x504f58++]=(0x2*_0x212eca*_0x5db5a8+_0x343752*_0x232913)/_0x232913,_0x20f702+=0x3,this['pCylinderPos'][_0x20f702]=-this['fCylinderRadius']*Math['sin'](_0x5680b2),this['pCylinderPos'][_0x20f702+0x1]=this['fCylinderHeight']/0x2-(_0x1b4378+0x1)*_0x520ccb,this['pCylinderPos'][_0x20f702+0x2]=-this['fCylinderRadius']*Math['cos'](_0x5680b2),_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==_0x3f62e3||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==_0x3f62e3?(_0x119670=0.5+(0.1+0.01*(_0x1b4378+0x1))*Math['sin'](_0x5680b2),_0x212eca=0.5+(0.1+0.01*(_0x1b4378+0x1))*Math['cos'](_0x5680b2)):(_0x119670=0.5-(0.5-0.01*(_0x1b4378+0x1))*Math['sin'](_0x5680b2),_0x212eca=0.5+(0.5-0.01*(_0x1b4378+0x1))*Math['cos'](_0x5680b2)),this['pCylinderTex'][_0x504f58++]=(0x2*_0x119670*_0x5db5a8+0x1*_0x5e8168)/0x1,this['pCylinderTex'][_0x504f58++]=(0x2*_0x212eca*_0x5db5a8+_0x343752*_0x232913)/_0x232913,_0x20f702+=0x3,this['pCylinderPos'][_0x20f702]=-this['fCylinderRadius']*Math['sin'](_0x3f0453),this['pCylinderPos'][_0x20f702+0x1]=this['fCylinderHeight']/0x2-_0x1b4378*_0x520ccb,this['pCylinderPos'][_0x20f702+0x2]=-this['fCylinderRadius']*Math['cos'](_0x3f0453),_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==_0x3f62e3||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==_0x3f62e3?(_0x119670=0.5+(0.1+0.01*_0x1b4378)*Math['sin'](_0x3f0453),_0x212eca=0.5+(0.1+0.01*_0x1b4378)*Math['cos'](_0x3f0453)):(_0x119670=0.5-(0.5-0.01*_0x1b4378)*Math['sin'](_0x3f0453),_0x212eca=0.5+(0.5-0.01*_0x1b4378)*Math['cos'](_0x3f0453)),this['pCylinderTex'][_0x504f58++]=(0x2*_0x119670*_0x5db5a8+0x1*_0x5e8168)/0x1,this['pCylinderTex'][_0x504f58++]=(0x2*_0x212eca*_0x5db5a8+_0x343752*_0x232913)/_0x232913,_0x20f702+=0x3,this['pCylinderPos'][_0x20f702]=-this['fCylinderRadius']*Math['sin'](_0x3f0453),this['pCylinderPos'][_0x20f702+0x1]=this['fCylinderHeight']/0x2-_0x1b4378*_0x520ccb,this['pCylinderPos'][_0x20f702+0x2]=-this['fCylinderRadius']*Math['cos'](_0x3f0453),_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==_0x3f62e3||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==_0x3f62e3?(_0x119670=0.5+(0.1+0.01*_0x1b4378)*Math['sin'](_0x3f0453),_0x212eca=0.5+(0.1+0.01*_0x1b4378)*Math['cos'](_0x3f0453)):(_0x119670=0.5-(0.5-0.01*_0x1b4378)*Math['sin'](_0x3f0453),_0x212eca=0.5+(0.5-0.01*_0x1b4378)*Math['cos'](_0x3f0453)),this['pCylinderTex'][_0x504f58++]=(0x2*_0x119670*_0x5db5a8+0x1*_0x5e8168)/0x1,this['pCylinderTex'][_0x504f58++]=(0x2*_0x212eca*_0x5db5a8+_0x343752*_0x232913)/_0x232913,_0x20f702+=0x3,this['pCylinderPos'][_0x20f702]=-this['fCylinderRadius']*Math['sin'](_0x5680b2),this['pCylinderPos'][_0x20f702+0x1]=this['fCylinderHeight']/0x2-(_0x1b4378+0x1)*_0x520ccb,this['pCylinderPos'][_0x20f702+0x2]=-this['fCylinderRadius']*Math['cos'](_0x5680b2),_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==_0x3f62e3||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==_0x3f62e3?(_0x119670=0.5+(0.1+0.01*(_0x1b4378+0x1))*Math['sin'](_0x5680b2),_0x212eca=0.5+(0.1+0.01*(_0x1b4378+0x1))*Math['cos'](_0x5680b2)):(_0x119670=0.5-(0.5-0.01*(_0x1b4378+0x1))*Math['sin'](_0x5680b2),_0x212eca=0.5+(0.5-0.01*(_0x1b4378+0x1))*Math['cos'](_0x5680b2)),this['pCylinderTex'][_0x504f58++]=(0x2*_0x119670*_0x5db5a8+0x1*_0x5e8168)/0x1,this['pCylinderTex'][_0x504f58++]=(0x2*_0x212eca*_0x5db5a8+_0x343752*_0x232913)/_0x232913,_0x20f702+=0x3,this['pCylinderPos'][_0x20f702]=-this['fCylinderRadius']*Math['sin'](_0x3f0453),this['pCylinderPos'][_0x20f702+0x1]=this['fCylinderHeight']/0x2-(_0x1b4378+0x1)*_0x520ccb,this['pCylinderPos'][_0x20f702+0x2]=-this['fCylinderRadius']*Math['cos'](_0x3f0453),_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==_0x3f62e3||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==_0x3f62e3?(_0x119670=0.5+(0.1+0.01*(_0x1b4378+0x1))*Math['sin'](_0x3f0453),_0x212eca=0.5+(0.1+0.01*(_0x1b4378+0x1))*Math['cos'](_0x3f0453)):(_0x119670=0.5-(0.5-0.01*(_0x1b4378+0x1))*Math['sin'](_0x3f0453),_0x212eca=0.5+(0.5-0.01*(_0x1b4378+0x1))*Math['cos'](_0x3f0453)),this['pCylinderTex'][_0x504f58++]=(0x2*_0x119670*_0x5db5a8+0x1*_0x5e8168)/0x1,this['pCylinderTex'][_0x504f58++]=(0x2*_0x212eca*_0x5db5a8+_0x343752*_0x232913)/_0x232913,_0x20f702+=0x3;}return this['nCylinderPosNum']=_0x20f702/0x3,this['nCylinderPosSize']=0x3,this['nCylinderTexSize']=0x2,_0x12eada['SR_OK'];}},{'key':'_CreateArcSphere','value':function(_0x13f05f,_0x1bf08a,_0x2f6006,_0x3b9e2e,_0x5d5669){if(null!=this['pArcSpherePos']||null!=this['pArcSphereTex'])return _0x12eada['SR_ERR_CALL_ORDER'];if(_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']){if(_0x3b9e2e>0x0||_0x5d5669<0x1)return _0x12eada['SR_ERR_PARAM'];}else{if(_0x13f05f!=_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL'])return _0x12eada['SR_ERR_NOT_SUPPORT'];if(_0x1bf08a>0x0||_0x2f6006<0x1)return _0x12eada['SR_ERR_PARAM'];}this['fImageWidth']=0x1,this['fImageHeight']=(_0x2f6006-_0x1bf08a)/(_0x5d5669-_0x3b9e2e),this['fTexCenterX']=(_0x1bf08a+_0x2f6006)/0x2*this['fImageWidth'],this['fTexCenterY']=(_0x3b9e2e+_0x5d5669)/0x2*this['fImageHeight'],this['fTexRadius']=(_0x2f6006-_0x1bf08a)/0x2*this['fImageWidth'];if(null==this['pArcSphereTex']&&(this['pArcSphereTex']=new Float32Array(0x3960),null==this['pArcSphereTex']))return _0x12eada['SR_ERR_ALLOC_MEMORY'];if(null==this['pArcSpherePos']&&(this['pArcSpherePos']=new Float32Array(0x5610),null==this['pArcSpherePos']))return _0x12eada['SR_ERR_ALLOC_MEMORY'];var _0x2e0344=new Float32Array(0x40);if(null==_0x2e0344)return _0x12eada['SR_ERR_ALLOC_MEMORY'];var _0xb50cf=_0x12eada['SR_OK'];if(_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?_0xb50cf=this['_ComputeLatitudeHorizontal'](_0x2e0344,0x19,0x28,0x1):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&(_0xb50cf=this['_ComputeLatitudeVertical'](_0x2e0344,0x19,0x28,0x1)),_0x12eada['SR_OK']!=_0xb50cf)return this['pArcSpherePos']=null,this['pArcSphereTex']=null,_0xb50cf;this['fFirstLatitude']=_0x2e0344[0xc],this['fLastLatitude']=_0x2e0344[0x33];var _0x50ac0f=0x0,_0x2e2286=0x0,_0x2e8f58=new Float32Array(0x5);if(null==_0x2e8f58)return this['pArcSpherePos']=null,this['pArcSphereTex']=null,_0x12eada['SR_ERR_ALLOC_MEMORY'];for(var _0x5c5c1f=_0x645d1a/0x18,_0x2d7113=-0xc;_0x2d7113<0xc;++_0x2d7113)for(var _0x19edb8=_0x2d7113<0x0?-_0x2d7113:_0x2d7113,_0x2cd72e=_0x2d7113<0x0?_0x19edb8:_0x19edb8+0x1,_0x9c630d=_0x2d7113<0x0?0x40-0x2*(_0x19edb8-0x1)-0x2:0x40-0x2*_0x19edb8-0x2,_0x400fb7=0x0;_0x400fb7<_0x9c630d;++_0x400fb7,++_0x2cd72e)_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e],_0x2e8f58),this['pArcSpherePos'][_0x50ac0f]=_0x2e8f58[0x0],this['pArcSpherePos'][_0x50ac0f+0x1]=_0x2e8f58[0x1],this['pArcSpherePos'][_0x50ac0f+0x2]=_0x2e8f58[0x2],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x3],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x4],_0x50ac0f+=0x3,_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e],_0x2e8f58),this['pArcSpherePos'][_0x50ac0f]=_0x2e8f58[0x0],this['pArcSpherePos'][_0x50ac0f+0x1]=_0x2e8f58[0x1],this['pArcSpherePos'][_0x50ac0f+0x2]=_0x2e8f58[0x2],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x3],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x4],_0x50ac0f+=0x3,_0x2d7113>=0x0&&0x0==_0x400fb7?_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e-0x1],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e-0x1],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e-0x1],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e-0x1],_0x2e8f58),this['pArcSpherePos'][_0x50ac0f]=_0x2e8f58[0x0],this['pArcSpherePos'][_0x50ac0f+0x1]=_0x2e8f58[0x1],this['pArcSpherePos'][_0x50ac0f+0x2]=_0x2e8f58[0x2],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x3],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x4],_0x50ac0f+=0x3,_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e],_0x2e8f58),this['pArcSpherePos'][_0x50ac0f]=_0x2e8f58[0x0],this['pArcSpherePos'][_0x50ac0f+0x1]=_0x2e8f58[0x1],this['pArcSpherePos'][_0x50ac0f+0x2]=_0x2e8f58[0x2],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x3],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x4],_0x50ac0f+=0x3,_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e],_0x2e8f58),this['pArcSpherePos'][_0x50ac0f]=_0x2e8f58[0x0],this['pArcSpherePos'][_0x50ac0f+0x1]=_0x2e8f58[0x1],this['pArcSpherePos'][_0x50ac0f+0x2]=_0x2e8f58[0x2],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x3],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x4],_0x50ac0f+=0x3,_0x2d7113<0x0&&_0x400fb7==_0x9c630d-0x1?_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e+0x1],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e+0x1],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e+0x1],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e+0x1],_0x2e8f58),this['pArcSpherePos'][_0x50ac0f]=_0x2e8f58[0x0],this['pArcSpherePos'][_0x50ac0f+0x1]=_0x2e8f58[0x1],this['pArcSpherePos'][_0x50ac0f+0x2]=_0x2e8f58[0x2],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x3],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x4],_0x50ac0f+=0x3;return this['nArcSpherePosNum']=_0x50ac0f/0x3,this['nArcSpherePosSize']=0x3,this['nArcSphereTexSize']=0x2,_0x2e0344=null,_0x2e8f58=null,_0x12eada['SR_OK'];}},{'key':'_ComputeIntersectionOfPlaneAndLongtitude','value':function(_0x1f69de,_0x33645b,_0x214c6a){if(null==_0x1f69de)return _0x12eada['SR_ERR_PARAM'];var _0x43cb74,_0x3d75aa=_0x1f69de[0x1]*_0x214c6a,_0x4d5809=_0x1f69de[0x2]*_0x214c6a*Math['sin'](_0x33645b),_0x104ec5=-_0x1f69de[0x3],_0x22b167=0x0;if(_0x1f69de[0x1]>0x0){var _0x3208f2=_0x3d75aa*_0x3d75aa*_0x104ec5*_0x104ec5-(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809)*(_0x104ec5*_0x104ec5-_0x4d5809*_0x4d5809);_0x22b167=(-_0x3d75aa*_0x104ec5-Math['sqrt'](_0x3208f2))/(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809),_0x3208f2=_0x4d5809*_0x4d5809*_0x104ec5*_0x104ec5-(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809)*(_0x104ec5*_0x104ec5-_0x3d75aa*_0x3d75aa),(-_0x4d5809*_0x104ec5+Math['sqrt'](_0x3208f2))/(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809);}if(_0x1f69de[0x1]<0x0){var _0x6bd83f=_0x3d75aa*_0x3d75aa*_0x104ec5*_0x104ec5-(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809)*(_0x104ec5*_0x104ec5-_0x4d5809*_0x4d5809);_0x22b167=(-_0x3d75aa*_0x104ec5+Math['sqrt'](_0x6bd83f))/(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809),_0x6bd83f=_0x4d5809*_0x4d5809*_0x104ec5*_0x104ec5-(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809)*(_0x104ec5*_0x104ec5-_0x3d75aa*_0x3d75aa),(-_0x4d5809*_0x104ec5+Math['sqrt'](_0x6bd83f))/(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809);}return Math['cos'](_0x33645b),_0x43cb74=-_0x214c6a*_0x22b167,Math['sin'](_0x33645b),Math['asin'](_0x43cb74/_0x214c6a);}},{'key':'_ComputeLatitudeHorizontal','value':function(_0x299774,_0x328a29,_0x59c4b8,_0x535463){if(null==_0x299774)return _0x12eada['SR_ERR_PARAM'];var _0x369620=0x0,_0x2638d7=(this['fTexCenterY'],_0x645d1a/(_0x328a29-0x1)),_0x20ba8d=_0x645d1a*this['fTexCenterY']/(0x2*this['fTexRadius']),_0x1ffb13=Math['asin'](this['fTexCenterY']/this['fTexRadius']),_0x421099=Math['atan'](Math['cos'](_0x20ba8d)/(Math['sin'](_0x20ba8d)-Math['sin'](_0x1ffb13))),_0x200138=new Float32Array(0x4);_0x200138[0x0]=0x0,_0x200138[0x1]=Math['sin'](_0x421099),_0x200138[0x2]=Math['cos'](_0x421099),_0x200138[0x3]=-_0x535463*Math['sin'](_0x421099)*Math['sin'](_0x1ffb13),_0x299774[_0x369620++]=_0x20ba8d;for(var _0x4e45e9=0x1;_0x4e45e9<=(_0x328a29-0x3)/0x2;++_0x4e45e9){var _0x4623e0=this['_ComputeIntersectionOfPlaneAndLongtitude'](_0x200138,1.5707963-_0x2638d7*_0x4e45e9,_0x535463);_0x299774[_0x369620++]=_0x4623e0;}for(var _0x2bd513=-Math['asin']((this['fImageHeight']-this['fTexCenterY'])/this['fTexRadius']),_0x403d42=_0x1ffb13,_0x30ec4e=(_0x403d42-_0x2bd513)/(_0x59c4b8-0x1),_0x30f562=0x0;_0x30f562<_0x59c4b8;++_0x30f562)_0x299774[_0x369620++]=_0x403d42-_0x30f562*_0x30ec4e;var _0x3261c7=_0x2bd513,_0x15ecb6=_0x645d1a*(this['fTexCenterY']-this['fImageHeight'])/(0x2*this['fTexRadius']);_0x421099=Math['atan'](Math['cos'](_0x15ecb6)/(Math['sin'](_0x3261c7)-Math['sin'](_0x15ecb6)));var _0x3ca821=new Float32Array(0x4);_0x3ca821[0x0]=0x0,_0x3ca821[0x1]=-Math['sin'](_0x421099),_0x3ca821[0x2]=Math['cos'](_0x421099),_0x3ca821[0x3]=_0x535463*Math['sin'](_0x421099)*Math['sin'](_0x3261c7);for(var _0x33e4a6=0x1;_0x33e4a6<=(_0x328a29-0x3)/0x2;++_0x33e4a6){var _0x2e8b2a=this['_ComputeIntersectionOfPlaneAndLongtitude'](_0x3ca821,_0x2638d7*_0x33e4a6,_0x535463);_0x299774[_0x369620++]=_0x2e8b2a;}return _0x299774[_0x369620++]=_0x15ecb6,_0x200138=null,_0x3ca821=null,_0x12eada['SR_OK'];}},{'key':'_ComputeVertexAndTexturePosHorizontal','value':function(_0x1bdbaf,_0x4a6e49,_0x23e9c8,_0x24914c){if(null==_0x24914c)return _0x12eada['SR_ERR_PARAM'];_0x24914c[0x2]=-_0x1bdbaf*Math['cos'](_0x23e9c8)*Math['sin'](_0x4a6e49),_0x24914c[0x0]=_0x1bdbaf*Math['cos'](_0x23e9c8)*Math['cos'](_0x4a6e49),_0x24914c[0x1]=_0x1bdbaf*Math['sin'](_0x23e9c8);var _0x4a8de3,_0x4fc9d6=-Math['asin'](-_0x24914c[0x2]/_0x1bdbaf)/_0x645d1a;_0x4a8de3=_0x23e9c8>=0x0?Math['acos'](_0x24914c[0x0]/Math['sqrt'](_0x24914c[0x0]*_0x24914c[0x0]+_0x24914c[0x1]*_0x24914c[0x1])):6.2831852-Math['acos'](_0x24914c[0x0]/Math['sqrt'](_0x24914c[0x0]*_0x24914c[0x0]+_0x24914c[0x1]*_0x24914c[0x1]));var _0x33b830=this['fTexCenterX']-this['fTexRadius'],_0x332f11=this['fTexRadius']-this['fTexCenterY'];return _0x24914c[0x3]=(Math['cos'](_0x4a8de3)*this['fTexRadius']*(0x1+0x2*_0x4fc9d6)+this['fTexRadius']+_0x33b830)/this['fImageWidth'],_0x24914c[0x4]=(Math['sin'](_0x4a8de3)*this['fTexRadius']*(-0x1-0x2*_0x4fc9d6)+this['fTexRadius']-_0x332f11)/this['fImageHeight'],_0x12eada['SR_OK'];}},{'key':'_ComputeLatitudeVertical','value':function(_0x334375,_0x1d1888,_0x391144,_0x2c3e4f){if(null==_0x334375)return _0x12eada['SR_ERR_PARAM'];var _0x5031d4=0x0,_0x41d833=_0x645d1a/(_0x1d1888-0x1),_0x578f90=_0x645d1a*this['fTexCenterX']/(0x2*this['fTexRadius']),_0x1481a0=Math['asin'](this['fTexCenterX']/this['fTexRadius']),_0x521fb7=Math['atan'](Math['cos'](_0x578f90)/(Math['sin'](_0x578f90)-Math['sin'](_0x1481a0))),_0xef2275=new Float32Array(0x4);_0xef2275[0x0]=0x0,_0xef2275[0x1]=Math['sin'](_0x521fb7),_0xef2275[0x2]=Math['cos'](_0x521fb7),_0xef2275[0x3]=-_0x2c3e4f*Math['sin'](_0x521fb7)*Math['sin'](_0x1481a0),_0x334375[_0x5031d4++]=_0x578f90;for(var _0x4973fd=0x1;_0x4973fd<=(_0x1d1888-0x3)/0x2;++_0x4973fd){var _0x3f8b33=this['_ComputeIntersectionOfPlaneAndLongtitude'](_0xef2275,1.5707963-_0x41d833*_0x4973fd,_0x2c3e4f);_0x334375[_0x5031d4++]=_0x3f8b33;}for(var _0xb9a95d=-Math['asin']((this['fImageWidth']-this['fTexCenterX'])/this['fTexRadius']),_0x1b3fc0=_0x1481a0,_0x19e4be=(_0x1b3fc0-_0xb9a95d)/(_0x391144-0x1),_0x427c5b=0x0;_0x427c5b<_0x391144;++_0x427c5b)_0x334375[_0x5031d4++]=_0x1b3fc0-_0x427c5b*_0x19e4be;var _0x32fe25=_0xb9a95d,_0x223d9c=_0x645d1a*(this['fTexCenterX']-this['fImageWidth'])/(0x2*this['fTexRadius']);_0x521fb7=Math['atan'](Math['cos'](_0x223d9c)/(Math['sin'](_0x32fe25)-Math['sin'](_0x223d9c)));var _0x5ed7df=new Float32Array(0x4);_0x5ed7df[0x0]=0x0,_0x5ed7df[0x1]=-Math['sin'](_0x521fb7),_0x5ed7df[0x2]=Math['cos'](_0x521fb7),_0x5ed7df[0x3]=_0x2c3e4f*Math['sin'](_0x521fb7)*Math['sin'](_0x32fe25);for(var _0x95f005=0x1;_0x95f005<=(_0x1d1888-0x3)/0x2;++_0x95f005){var _0x4431a8=this['_ComputeIntersectionOfPlaneAndLongtitude'](_0x5ed7df,_0x41d833*_0x95f005,_0x2c3e4f);_0x334375[_0x5031d4++]=_0x4431a8;}return _0x334375[_0x5031d4++]=_0x223d9c,_0xef2275=null,_0x5ed7df=null,_0x12eada['SR_OK'];}},{'key':'_ComputeVertexAndTexturePosVertical','value':function(_0x22a75b,_0x4c6386,_0x494418,_0x4556a7){if(null==_0x4556a7)return _0x12eada['SR_ERR_PARAM'];_0x4556a7[0x2]=-_0x22a75b*Math['cos'](_0x494418)*Math['sin'](_0x4c6386),_0x4556a7[0x1]=_0x22a75b*Math['cos'](_0x494418)*Math['cos'](_0x4c6386),_0x4556a7[0x0]=-_0x22a75b*Math['sin'](_0x494418);var _0xb4bff9,_0x4aef4a=-Math['asin'](-_0x4556a7[0x2]/_0x22a75b)/_0x645d1a;_0xb4bff9=_0x4c6386<=1.5707963?Math['acos'](_0x4556a7[0x0]/Math['sqrt'](_0x4556a7[0x0]*_0x4556a7[0x0]+_0x4556a7[0x1]*_0x4556a7[0x1])):6.2831852-Math['acos'](_0x4556a7[0x0]/Math['sqrt'](_0x4556a7[0x0]*_0x4556a7[0x0]+_0x4556a7[0x1]*_0x4556a7[0x1]));var _0x2b1108=this['fTexCenterX']-this['fTexRadius'],_0x1551be=this['fTexRadius']-this['fTexCenterY'];return _0x4556a7[0x3]=(Math['cos'](_0xb4bff9)*this['fTexRadius']*(0x1+0x2*_0x4aef4a)+this['fTexRadius']+_0x2b1108)/this['fImageWidth'],_0x4556a7[0x4]=(Math['sin'](_0xb4bff9)*this['fTexRadius']*(-0x1-0x2*_0x4aef4a)+this['fTexRadius']-_0x1551be)/this['fImageHeight'],_0x12eada['SR_OK'];}},{'key':'_BeginCapture','value':function(){var _0x14ce3b=_0x12eada['SR_OK'];return 0x0==this['bCaptureResInit']&&(_0x14ce3b=this['_InitRenderTarget'](this['nWndWidth'],this['nWndHeight'],!0x1,!0x0),_0x12eada['SR_OK']!=_0x14ce3b)?_0x14ce3b:(_0x14ce3b=this['_Resize'](this['nWndWidth'],this['nWndHeight'],!0x1,!0x0),_0x12eada['SR_OK']!=_0x14ce3b?_0x14ce3b:(this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],this['nCaptureFBO']),this['bIsCapturing']=!0x0,_0x12eada['SR_OK']));}},{'key':'_InitRenderTarget','value':function(_0x1c7258,_0x4de7fe,_0x8bafe2,_0x598966){if(0x0!=this['nCaptureRTTex']||0x0!=this['nCaptureFBO'])return _0x12eada['SR_ERR_CALL_ORDER'];if(_0x1c7258<=0x0||_0x4de7fe<=0x0)return _0x12eada['SR_ERR_PARAM'];if(this['nCaptureRTTex']=this['ctx']['createTexture'](),this['nCaptureRTTex']<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nCaptureRTTex']),this['bAntialias']?this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR_MINMAP_LINEAR']):this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texImage2D'](this['ctx']['TEXTURE_2D'],0x0,this['ctx']['RGBA'],_0x1c7258,_0x4de7fe,0x0,this['ctx']['RGBA'],this['ctx']['UNSIGNED_BYTE'],null),0x0==this['nCaptureFBO']&&(this['nCaptureFBO']=this['ctx']['createFramebuffer'](),this['nCaptureFBO']<=0x0))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],this['nCaptureFBO']),this['ctx']['framebufferTexture2D'](this['ctx']['FRAMEBUFFER'],this['ctx']['COLOR_ATTACHMENT0'],this['ctx']['TEXTURE_2D'],this['nCaptureRTTex'],0x0),0x1==_0x598966&&0x0==this['nCaptureDepthbuffer']){if(this['nCaptureDepthbuffer']=this['ctx']['createRenderbuffer'](),this['nCaptureDepthbuffer']<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindRenderbuffer'](this['ctx']['RENDERBUFFER'],this['nCaptureDepthbuffer']),this['ctx']['renderbufferStorage'](this['ctx']['RENDERBUFFER'],this['ctx']['DEPTH_COMPONENT16'],_0x1c7258,_0x4de7fe),this['ctx']['framebufferRenderbuffer'](this['ctx']['FRAMEBUFFER'],this['ctx']['DEPTH_ATTACHMENT'],this['ctx']['RENDERBUFFER'],this['nCaptureDepthbuffer']);}return this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),this['nCaptureFBOWidth']=_0x1c7258,this['nCaptureFBOHeight']=_0x4de7fe,this['bCaptureResInit']=!0x0,_0x12eada['SR_OK'];}},{'key':'_Resize','value':function(_0x398ac4,_0x4e4305,_0x14cbed,_0x3ebde8){if(this['nCaptureFBOWidth']!=_0x398ac4||this['nCaptureFBOHeight']!=_0x4e4305){if(this['nCaptureFBOWidth']=_0x398ac4,this['nCaptureFBOHeight']=_0x4e4305,0x0!=this['nCaptureRTTex']&&(this['ctx']['deleteTexture'](this['nCaptureRTTex']),this['nCaptureRTTex']=0x0),0x0!=this['nCaptureDepthbuffer']&&(this['ctx']['deleteRenderbuffer'](this['nCaptureDepthbuffer']),this['nCaptureDepthbuffer']=0x0),0x0==this['nCaptureRTTex']&&(this['nCaptureRTTex']=this['ctx']['createTexture'](),this['nCaptureRTTex']<=0x0))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nCaptureRTTex']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['bAntialias']?this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR_MINMAP_LINEAR']):this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texImage2D'](this['ctx']['TEXTURE_2D'],0x0,this['ctx']['RGBA'],this['nCaptureFBOWidth'],this['nCaptureFBOHeight'],0x0,this['ctx']['RGBA'],this['ctx']['UNSIGNED_BYTE'],null),this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],this['nCaptureFBO']),this['ctx']['framebufferTexture2D'](this['ctx']['FRAMEBUFFER'],this['ctx']['COLOR_ATTACHMENT0'],this['ctx']['TEXTURE_2D'],this['nCaptureRTTex'],0x0),0x1==_0x3ebde8&&0x0==this['nCaptureDepthbuffer']){if(this['nCaptureDepthbuffer']=this['ctx']['createRenderbuffer'](),this['nCaptureDepthbuffer']<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindRenderbuffer'](this['ctx']['RENDERBUFFER'],this['nCaptureDepthbuffer']),this['ctx']['renderbufferStorage'](this['ctx']['RENDERBUFFER'],this['ctx']['DEPTH_COMPONENT16'],_0x398ac4,_0x4e4305),this['ctx']['framebufferRenderbuffer'](this['ctx']['FRAMEBUFFER'],this['ctx']['DEPTH_ATTACHMENT'],this['ctx']['RENDERBUFFER'],this['nCaptureDepthbuffer']);}this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null);}return _0x12eada['SR_OK'];}},{'key':'_EndCapture','value':function(_0x390593){return null==this['ctx']?(this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER']):null==_0x390593['pBuffer']||null==_0x390593['pBuffer']?(this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_PARAM']):(this['ctx']['readPixels'](0x0,0x0,this['nCaptureWidth'],this['nCaptureHeight'],this['ctx']['RGBA'],this['ctx']['UNSIGNED_BYTE'],_0x390593['pBuffer']),this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),this['bIsCapturing']=!0x1,_0x12eada['SR_OK']);}},{'key':'_ComputeRotateLimits','value':function(){if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']){var _0x654f63,_0x4714ff;if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?(_0x654f63=0.17453292222222222,_0x4714ff=1.0471975333333334):(_0x654f63=0.5235987666666667,_0x4714ff=0.34906584444444444),0x0==this['nWndWidth']||0x0==this['nWndHeight'])this['fRotateLimitX']=_0x654f63,this['fRotateLimitY']=_0x4714ff;else{var _0x11cdf2=Math['tan'](2.748893525);if(Math['abs'](_0x11cdf2*this['fScale'])<0x1){var _0x59b4cd=_0x11cdf2*_0x11cdf2+0x1,_0x2bae9d=-0x2*_0x11cdf2*_0x11cdf2*this['fScale'],_0x3ca976=_0x11cdf2*_0x11cdf2*this['fScale']*this['fScale']-0x1,_0x288d52=(-_0x2bae9d-Math['sqrt'](_0x2bae9d*_0x2bae9d-0x4*_0x59b4cd*_0x3ca976))/(0x2*_0x59b4cd),_0x5c358b=_0x11cdf2*(_0x288d52-this['fScale']);this['fRotateLimitX']=Math['acos'](_0x5c358b/Math['sqrt'](_0x288d52*_0x288d52+_0x5c358b*_0x5c358b)),this['fRotateLimitX']<_0x654f63&&(this['fRotateLimitX']=_0x654f63);}else this['fRotateLimitX']=_0x654f63;var _0x2a6500=Math['atan'](this['nWndWidth']/this['nWndHeight']*Math['tan'](_0x3b2c52/0x2));if(_0x11cdf2=Math['tan'](_0x645d1a-_0x2a6500),Math['abs'](_0x11cdf2*this['fScale'])<0x1){var _0x3e18f8=_0x11cdf2*_0x11cdf2+0x1,_0x5a0452=-0x2*_0x11cdf2*_0x11cdf2*this['fScale'],_0x3da698=_0x11cdf2*_0x11cdf2*this['fScale']*this['fScale']-0x1,_0x2bd8ae=(-_0x5a0452-Math['sqrt'](_0x5a0452*_0x5a0452-0x4*_0x3e18f8*_0x3da698))/(0x2*_0x3e18f8),_0x4be32a=_0x11cdf2*(_0x2bd8ae-this['fScale']);this['fRotateLimitY']=Math['acos'](_0x4be32a/Math['sqrt'](_0x2bd8ae*_0x2bd8ae+_0x4be32a*_0x4be32a)),this['fRotateLimitY']<_0x4714ff&&(this['fRotateLimitY']=_0x4714ff);}else this['fRotateLimitY']=_0x4714ff;}this['fRotateX']>this['fRotateLimitX']&&(this['fRotateX']=this['fRotateLimitX']),this['fRotateX']<-this['fRotateLimitX']&&(this['fRotateX']=-this['fRotateLimitX']),this['fRotateY']>this['fRotateLimitY']&&(this['fRotateY']=this['fRotateLimitX']),this['fRotateY']<-this['fRotateLimitX']&&(this['fRotateY']=-this['fRotateLimitX']);}return _0x12eada['SR_OK'];}},{'key':'SetMSAACache','value':function(_0x46baaf,_0x41bb63){return this['msaaFrameBuffer']=_0x46baaf,this['renderBuffer']=_0x41bb63,_0x12eada['SR_OK'];}}]),_0x408baa;}()),_0x25eff0=(function(){function _0xc00ba7(){_0x3a92c7(this,_0xc00ba7),this['canvas']=null,this['ctx']=null,this['pFrameData']=null,this['frameDisplayWidth']=0x0,this['frameDisplayHeight']=0x0,this['onlySupportedWebGL1']=!0x1,this['bAntialias']=!0x1,this['bAntialiasStateNeedChange']=!0x1,this['bRecreateTex']=!0x0,this['nSurfaceTexture']=[],this['nSurfaceTexture'][0x0]=0x0,this['nSurfaceTexture'][0x1]=0x0,this['nSurfaceTexture'][0x2]=0x0,this['bOpenMsaa']=!0x1,this['nMsaaFBO']=0x0,this['nResolveFBO']=0x0,this['nMsaaColorBuffer']=0x0,this['nResolveTexture']=0x0,this['nMsaaSample']=0x0,this['pFishParamManager']=null,this['enDisplayEffect']=_0x4d466f['SR_DE_NULL'],this['nFECPort']=-0x1,this['enPixelFormat']=_0x459b97['SR_PF_NULL'],this['nTextureNum']=0x0,this['nCaptureWidth']=0x0,this['nCaptureHeight']=0x0,this['pSubDisplay']=null,this['nRTWidth']=0x0,this['nRTHeight']=0x0,this['pRenderToTex']=null,this['bRenderToTex']=!0x1,this['b3DPort']=!0x1,this['preDisplayRectnX']=0x0,this['preDisplayRectnY']=0x0,this['preDisplayRectnW']=0x0,this['preDisplayRectnH']=0x0,this['preImageRotateValue']=0x0;}return _0x30be4b(_0xc00ba7,[{'key':'SR_Init','value':function(_0x57f11e,_0x4b5479){if(null==_0x57f11e)return _0x12eada['SR_ERR_PARAM'];if(this['canvas']=_0x57f11e,this['ctx']=this['canvas']['getContext']('webgl2'),!this['ctx']){if(this['ctx']=this['canvas']['getContext']('webgl')||this['canvas']['getContext']('experimental-webgl'),!this['ctx'])return _0x12eada['SR_ERR_CANVAS'];this['onlySupportedWebGL1']=!0x0;}if(_0x4b5479==_0x459b97['SR_PF_NV12']||_0x4b5479==_0x459b97['SR_PF_NV21'])return _0x12eada['SR_ERR_NOT_SUPPORT'];switch(_0x4b5479){case _0x459b97['SR_PF_YV12']:case _0x459b97['SR_PF_I420']:this['nTextureNum']=0x3;break;case _0x459b97['SR_PF_SURFACE']:this['nTextureNum']=0x1;break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return this['enPixelFormat']=_0x4b5479,_0x12eada['SR_OK'];}},{'key':'SR_AddSubPort','value':function(_0x1f0648){var _0x5377c9=-0x1;if(null==this['ctx'])return _0x5377c9;if(null!=this['pFishParamManager']?(_0x5377c9=this['pFishParamManager']['GetFECPort'](_0x1f0648),this['b3DPort']=!0x0):_0x1f0648==_0x4d466f['SR_DE_NULL']&&(_0x5377c9=0x0),-0x1==_0x5377c9)return-0x1;this['nFECPort']=_0x5377c9;var _0x48aac0=_0x12eada['SR_OK'];if(null==this['pSubDisplay']&&(this['pSubDisplay']=new _0x2779f7(),null==this['pSubDisplay']))return _0x12eada['SR_ERR_ALLOC_MEMORY'];if((_0x48aac0=this['pSubDisplay']['SetCanvasSize'](this['canvas']['width'],this['canvas']['height']))!=_0x12eada['SR_OK'])return _0x48aac0;if((_0x48aac0=this['pSubDisplay']['SetWebGL2Support'](this['onlySupportedWebGL1']))!=_0x12eada['SR_OK'])return _0x48aac0;var _0x39a87e={};if(null!=this['pFishParamManager']){this['pSubDisplay']['SetFishParamManager'](this['pFishParamManager']),this['pSubDisplay']['SetFECPort'](this['nFECPort']);for(var _0x3c1e51=0x0;_0x3c1e51<0x20&&_0x12eada['SR_OK']!=this['pFishParamManager']['GetRenderParam'](_0x3c1e51,_0x39a87e);++_0x3c1e51);}if((_0x48aac0=this['pSubDisplay']['Init'](this['ctx'],this['enPixelFormat'],_0x1f0648,_0x39a87e))!=_0x12eada['SR_OK'])return _0x48aac0;if(_0x4d466f['SR_DE_NULL']!=_0x1f0648){_0x48aac0=this['pFishParamManager']['SetPTZDisplayMode'](_0x3b7ab3['SR_DM_NULL']);var _0x6a4c62={};if((_0x48aac0=this['pFishParamManager']['GetFishParam'](this['nFECPort'],_0x6a4c62))!=_0x12eada['SR_OK'])return _0x48aac0;if(_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']==_0x1f0648){if(_0x6a4c62['nFishParamType']=_0x1a6379['SR_FPT_CENTER'],_0x6a4c62['fRXLeft']=0.05,_0x6a4c62['fRXRight']=0.95,_0x6a4c62['fRYTop']=-0.3,_0x6a4c62['fRYBottom']=1.3,(_0x48aac0=this['pFishParamManager']['SetFishParam'](this['nFECPort'],_0x6a4c62))!=_0x12eada['SR_OK'])return _0x48aac0;}else{if(_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']==_0x1f0648&&(_0x6a4c62['nFishParamType']=_0x1a6379['SR_FPT_CENTER'],_0x6a4c62['fRXLeft']=-0.16,_0x6a4c62['fRXRight']=1.16,_0x6a4c62['fRYTop']=0.005,_0x6a4c62['fRYBottom']=0.995,(_0x48aac0=this['pFishParamManager']['SetFishParam'](this['nFECPort'],_0x6a4c62))!=_0x12eada['SR_OK']))return _0x48aac0;}}return null!=this['pFishParamManager']&&this['pFishParamManager']['ComputePTZPoints'](),this['enDisplayEffect']=_0x1f0648,this['nFECPort'];}},{'key':'SR_UpdateFrameData','value':function(_0x261677,_0x3456b8,_0x30dbdb,_0x2bedf0,_0x2f02fa){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x261677||_0x3456b8<=0x0||_0x30dbdb<=0x0)return _0x12eada['SR_ERR_PARAM'];this['frameDisplayWidth']==_0x3456b8&&this['frameDisplayHeight']==_0x30dbdb||(this['bRecreateTex']=!0x0);var _0x37e5f2=_0x12eada['SR_OK'];if(_0x459b97['SR_PF_SURFACE']==this['enPixelFormat'])this['frameDisplayWidth']=_0x3456b8,this['frameDisplayHeight']=_0x30dbdb;else{if(_0x37e5f2=this['_ResizeFrameData'](_0x261677,_0x3456b8,_0x30dbdb,_0x2bedf0),_0x12eada['SR_OK']!=_0x37e5f2)return _0x37e5f2;}if(0x1==this['bRecreateTex']){if(this['enPixelFormat']==_0x459b97['SR_PF_SURFACE']){if(0x0!=this['nSurfaceTexture'][0x0]){var _0x14709b=this['nSurfaceTexture'][0x0];this['ctx']['deleteTexture'](_0x14709b),this['nSurfaceTexture'][0x0]=0x0;}var _0x1dc4a2=this['ctx']['createTexture']();if(_0x1dc4a2<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],_0x1dc4a2),this['onlySupportedWebGL1']||0x1!=this['bAntialias']?this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']):this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR_MIPMAP_NEAREST']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],null),this['nSurfaceTexture'][0x0]=_0x1dc4a2;}else{if(this['enPixelFormat']==_0x459b97['SR_PF_YV12']||this['enPixelFormat']==_0x459b97['SR_PF_I420'])for(var _0x429960=0x0;_0x4299600x1&&void 0x0!==arguments[0x1]&&arguments[0x1];if(null==_0x13318e)return _0x12eada['SR_ERR_PARAM'];if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pSubDisplay'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0xafd946=_0x12eada['SR_OK'];return(_0xafd946=this['pSubDisplay']['GetCaptureSize'](_0x13318e,_0x44d764))!=_0x12eada['SR_OK']?_0xafd946:(this['nCaptureWidth']=_0x13318e['nWidth'],this['nCaptureHeight']=_0x13318e['nHeight'],_0x12eada['SR_OK']);}},{'key':'SR_CaptureScreen','value':function(_0x4c6d42){var _0x3d1999=arguments['length']>0x1&&void 0x0!==arguments[0x1]&&arguments[0x1];if(0x0==this['nSurfaceTexture'][0x0])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pSubDisplay'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x1fe153={'nWndWidth':0x0,'nWndHeight':0x0};this['pSubDisplay']['GetWndResolution'](_0x1fe153),this['pSubDisplay']['SetWndResolution'](this['nCaptureWidth'],this['nCaptureHeight']);var _0x18fc3f=_0x12eada['SR_OK'];return(_0x18fc3f=this['pSubDisplay']['CaptureScreen'](_0x4c6d42,_0x3d1999))!=_0x12eada['SR_OK']?_0x18fc3f:(this['pSubDisplay']['SetWndResolution'](_0x1fe153['nWndWidth'],_0x1fe153['nWndHeight']),_0x12eada['SR_OK']);}},{'key':'SR_DrawMosaic','value':function(_0x3a20ff,_0x2d8532,_0x5244c1,_0x5b8112,_0x37b5d8){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pSubDisplay'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x20ec59=_0x12eada['SR_OK'];return(_0x20ec59=this['pSubDisplay']['DrawMosaic'](_0x3a20ff,_0x2d8532,_0x5244c1,_0x5b8112,_0x37b5d8))!=_0x12eada['SR_OK']?_0x20ec59:_0x12eada['SR_OK'];}},{'key':'DrawPTZLines','value':function(){if(null==this['pFishParamManager'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x24ed17=this['pFishParamManager']['GetPTZDisplayMode']();if(_0x24ed17==_0x3b7ab3['SR_DM_RANGE']||_0x24ed17==_0x3b7ab3['SR_DM_RECT']){for(var _0xe91fe2=0x0,_0x19f617={'fR':0x0,'fG':0x0,'fB':0x0,'fA':0x0},_0x4dc0d4=_0x12eada['SR_OK'],_0x542d75=0x0;_0x542d75<0x20;++_0x542d75)if(0x0!=this['pFishParamManager']['IsPortAllocated'](_0x542d75)&&(_0xe91fe2=0x2,_0x4dc0d4=this['pFishParamManager']['GetPTZColor'](_0x542d75,_0x19f617),_0x12eada['SR_OK']==_0x4dc0d4)){0x1==this['pFishParamManager']['IsPTZSelected'](_0x542d75)&&(_0xe91fe2+=0x1);var _0x368fc0=this['pFishParamManager']['GetWndPort']();if(_0x542d75!=_0x368fc0&&_0x3b7ab3['SR_DM_RANGE']==_0x24ed17){if(_0x4d466f['SR_DE_FISH_ORIGINAL']==this['pFishParamManager']['GetDisplayEffect'](_0x368fc0)){var _0x4dcdcf={};if(_0x4dc0d4=this['pFishParamManager']['GetPTZPoints'](_0x542d75,_0x4dcdcf,_0x3b7ab3['SR_DM_RANGE']),_0x12eada['SR_OK']!=_0x4dc0d4)continue;if(null!=_0x4dcdcf['pstPoints']&&0x0!=_0x4dcdcf['nPointNum']&&(_0x4dc0d4=this['SR_DrawLines'](_0x4dcdcf['pstPoints'],_0x4dcdcf['nPointNum'],!0x0,_0x19f617,_0xe91fe2,!0x1),_0x12eada['SR_OK']!=_0x4dc0d4))continue;}else{var _0x1de167;if((_0x1de167=this['pFishParamManager']['GetPTZFragmentNum'](_0x542d75))<=0x0)continue;for(var _0x204b73=0x0;_0x204b73<_0x1de167;_0x204b73++){var _0x3ca363={};this['pFishParamManager']['GetPTZFragmentPoints'](_0x542d75,_0x3ca363,_0x204b73),null!=_0x3ca363['pstPoints']&&0x0!=_0x3ca363['nPointNum']&&this['SR_DrawLines'](_0x3ca363['pstPoints'],_0x3ca363['nPointNum'],!0x1,_0x19f617,_0xe91fe2,!0x1);}}}else{if(_0x542d75!=_0x368fc0&&_0x3b7ab3['SR_DM_RECT']==_0x24ed17){var _0x18747e={};if(_0x4dc0d4=this['pFishParamManager']['GetPTZPoints'](_0x542d75,_0x18747e,_0x3b7ab3['SR_DM_RECT']),_0x12eada['SR_OK']!=_0x4dc0d4)continue;if(null!=_0x18747e['pstPoints']&&0x0!=_0x18747e['nPointNum']&&(_0x4dc0d4=this['SR_DrawLines'](_0x18747e['pstPoints'],_0x18747e['nPointNum'],!0x0,_0x19f617,_0xe91fe2,!0x1),_0x12eada['SR_OK']!=_0x4dc0d4))continue;}}}}return _0x12eada['SR_OK'];}},{'key':'SR_DrawLines','value':function(_0x1d3b22,_0x33a381,_0x46d226,_0x4c199e,_0xe244d5,_0x799edd){return null==this['ctx']||null==this['pSubDisplay']?_0x12eada['SR_ERR_CALL_ORDER']:this['pSubDisplay']['DrawLines'](_0x1d3b22,_0x33a381,_0x46d226,_0x4c199e,_0xe244d5,_0x799edd);}},{'key':'SR_DrawLinesEx','value':function(_0x5802b7,_0x39eefc,_0x86af79,_0x2519a5){return null==this['ctx']||null==this['pSubDisplay']?_0x12eada['SR_ERR_CALL_ORDER']:this['pSubDisplay']['DrawLinesEx'](_0x5802b7,_0x39eefc,_0x86af79,_0x2519a5);}},{'key':'SR_DrawFont','value':function(_0x3b04df,_0x25be85,_0x47c3ee,_0x4d5053,_0x539bb7,_0x477210,_0x13feac,_0x260f7d,_0x5b389e,_0x42b409,_0x52b067){return _0x12eada['SR_ERR_NOT_SUPPORT'];}},{'key':'SR_DrawFontEx','value':function(_0x255f19,_0x1d8b43){var _0x474a6f=arguments['length']>0x2&&void 0x0!==arguments[0x2]?arguments[0x2]:0x0,_0x428115=arguments['length']>0x3?arguments[0x3]:void 0x0;if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pSubDisplay'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x5e8ca7=this['pSubDisplay']['DrawFontEx'](_0x255f19,_0x1d8b43,_0x474a6f,_0x428115);return _0x5e8ca7;}},{'key':'SR_DrawImage','value':function(_0x57400d,_0x190fbc,_0x5699f4,_0x9cf368,_0x14de32,_0x5b30c4){return null==this['ctx']||null==this['pSubDisplay']?_0x12eada['SR_ERR_CALL_ORDER']:this['pSubDisplay']['DrawImage'](_0x57400d,_0x190fbc,_0x5699f4,_0x9cf368,_0x14de32,_0x5b30c4);}},{'key':'SR_DelSubPort','value':function(_0x5f2fda){return null==this['ctx']||null==this['pSubDisplay']?_0x12eada['SR_ERR_CALL_ORDER']:(this['pSubDisplay']['DelSubPort'](),null!=this['pFishParamManager']&&this['nFECPort']==_0x5f2fda&&this['pFishParamManager']['FreeFECPort'](this['nFECPort']),this['enDisplayEffect']=_0x4d466f['SR_DE_NULL'],this['pSubDisplay']=null,_0x12eada['SR_OK']);}},{'key':'SR_GetFishParam','value':function(_0x38dae9){return null==_0x38dae9?_0x12eada['SR_ERR_PARAM']:null==this['pFishParamManager']?_0x12eada['SR_ERR_CALL_ORDER']:this['pFishParamManager']['GetFishParam'](this['nFECPort'],_0x38dae9);}},{'key':'SR_SetFishParam','value':function(_0x5a8877){return null==_0x5a8877?_0x12eada['SR_ERR_PARAM']:null==this['pFishParamManager']?_0x12eada['SR_ERR_CALL_ORDER']:this['pFishParamManager']['SetFishParam'](this['nFECPort'],_0x5a8877);}},{'key':'SR_Destroy','value':function(){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];this['frameDisplayWidth']=0x0,this['frameDisplayHeight']=0x0,this['pFrameData']=null;for(var _0x58ffef=0x0;_0x58ffef=0x20)return _0x12eada['SR_ERR_PARAM'];this['nWndPort']==_0x39846b&&(this['nWndPort']=-0x1),null!=this['pRenderParam'][_0x39846b]&&(this['pRenderParam'][_0x39846b]['fCosH']=0x1,this['pRenderParam'][_0x39846b]['fSinH']=0x0,this['pRenderParam'][_0x39846b]['fCosV']=0x1,this['pRenderParam'][_0x39846b]['fSinV']=0x0,this['pRenderParam'][_0x39846b]['fAngle']=0x0,this['pRenderParam'][_0x39846b]['fZoom']=0x0,this['pRenderParam'][_0x39846b]['fRX1']=0x0,this['pRenderParam'][_0x39846b]['fRX2']=0x1,this['pRenderParam'][_0x39846b]['fRY1']=0x0,this['pRenderParam'][_0x39846b]['fRY2']=0x1,this['pRenderParam'][_0x39846b]['nDisplayEffect']=0x0,this['pRenderParam'][_0x39846b]['bBlack']=!0x1,this['pRenderParam'][_0x39846b]['bCut']=!0x1),null!=this['pFishParam'][_0x39846b]&&(this['pFishParam'][_0x39846b]['nFishParamType']=0x0,this['pFishParam'][_0x39846b]['fRXLeft']=0x0,this['pFishParam'][_0x39846b]['fRXRight']=0x1,this['pFishParam'][_0x39846b]['fRYTop']=0x0,this['pFishParam'][_0x39846b]['fRYBottom']=0x1,this['pFishParam'][_0x39846b]['bBlack']=!0x1,this['pFishParam'][_0x39846b]['bCut']=!0x1,this['pFishParam'][_0x39846b]['fAngle']=0x0,this['pFishParam'][_0x39846b]['fZoom']=0x0,this['pFishParam'][_0x39846b]['fPTZX']=0.5,this['pFishParam'][_0x39846b]['fPTZY']=0.5),this['nBasePTZPointNum'][_0x39846b]=0x0,this['nOriPTZPointNum'][_0x39846b]=0x0,this['nPanoPTZPointNum'][_0x39846b]=0x0,this['nPTZRectNum'][_0x39846b]=0x0;for(var _0x52b9db=0x0;_0x52b9db<0x4;++_0x52b9db)this['pRectPoints'][_0x39846b][_0x52b9db]['fX']=0x0,this['pRectPoints'][_0x39846b][_0x52b9db]['fY']=0x0;for(var _0x15900e=0x0;_0x15900e<0x400;++_0x15900e)this['pBasePTZPoints'][_0x39846b][_0x15900e]['fX']=0x0,this['pBasePTZPoints'][_0x39846b][_0x15900e]['fY']=0x0,this['pOriPTZPoints'][_0x39846b][_0x15900e]['fX']=0x0,this['pOriPTZPoints'][_0x39846b][_0x15900e]['fY']=0x0,this['pPanoPTZPoints'][_0x39846b][_0x15900e]['fX']=0x0,this['pPanoPTZPoints'][_0x39846b][_0x15900e]['fY']=0x0;if(this['pPTZSetColor'][_0x39846b]['bSetColor']&&(this['pPTZSetColor'][_0x39846b]['fA']=0x0,this['pPTZSetColor'][_0x39846b]['fR']=0x0,this['pPTZSetColor'][_0x39846b]['fG']=0x0,this['pPTZSetColor'][_0x39846b]['fB']=0x0,this['pPTZSetColor'][_0x39846b]['bSetColor']=!0x1),this['bPTZSelected'][_0x39846b]=!0x1,0x0!=this['nPlaceType']){for(var _0x5e1cd1=!0x1,_0x2f8358=0x0;_0x2f8358<0x20;++_0x2f8358)if(null!=this['pRenderParam'][_0x2f8358]&&(_0x4d466f['SR_DE_FISH_PTZ_CEILING']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_FLOOR']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_WALL']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_WALL']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']==this['pRenderParam'][_0x2f8358]['nDisplayEffect'])){_0x5e1cd1=!0x0;break;}_0x5e1cd1||(this['nPlaceType']=0x0);}for(var _0x1ec290=!0x1,_0x401d8c=0x0;_0x401d8c<0x20;++_0x401d8c)if(null!=this['pRenderParam'][_0x401d8c]){_0x1ec290=!0x0;break;}_0x1ec290||(this['fRX1']=0x0,this['fRX2']=0x1,this['fRY1']=0x0,this['fRY2']=0x1,this['bBlack']=!0x1),this['nPTZFragmentNum'][_0x39846b]=0x0;for(var _0x427559=0x0;_0x427559<0x64;++_0x427559)this['nPTZFragmentNode'][_0x39846b][_0x427559]=0x0;return this['bPortAllocated'][_0x39846b]=!0x1,_0x12eada['SR_OK'];}},{'key':'DeInit','value':function(){for(var _0x1332ba=0x0;_0x1332ba<0x20;++_0x1332ba){for(var _0x224e60=0x0;_0x224e60<0x4;++_0x224e60)this['pRectPoints'][_0x1332ba][_0x224e60]=null;for(var _0x2411b5=0x0;_0x2411b5<0x400;++_0x2411b5)this['pBasePTZPoints'][_0x1332ba][_0x2411b5]=null,this['pOriPTZPoints'][_0x1332ba][_0x2411b5]=null,this['pPanoPTZPoints'][_0x1332ba][_0x2411b5]=null;this['nPTZFragmentNum'][_0x1332ba]=0x0,this['nPTZFragmentNode'][_0x1332ba]=null,this['bPortAllocated'][_0x1332ba]=!0x1,this['bPTZSelected'][_0x1332ba]=!0x1,this['pRenderParam'][_0x1332ba]=null,this['pFishParam'][_0x1332ba]=null,this['stPTZColor'][_0x1332ba]=null,this['nBasePTZPointNum'][_0x1332ba]=0x0,this['nOriPTZPointNum'][_0x1332ba]=0x0,this['nPanoPTZPointNum'][_0x1332ba]=0x0,this['nPTZRectNum'][_0x1332ba]=0x0,this['pPanoPTZPoints'][_0x1332ba]=null,this['pRectPoints'][_0x1332ba]=null,this['pBasePTZPoints'][_0x1332ba]=null,this['pOriPTZPoints'][_0x1332ba]=null;}return this['bPortAllocated']=null,this['pRenderParam']=null,this['pFishParam']=null,this['stPTZColor']=null,this['nBasePTZPointNum']=null,this['nOriPTZPointNum']=null,this['nPanoPTZPointNum']=null,this['nPTZFragmentNum']=null,this['pBasePTZPoints']=null,this['pPanoPTZPoints']=null,this['pRectPoints']=null,this['nPTZRectNum']=null,this['nPTZDisplayMode']=_0x3b7ab3['SR_DM_NULL'],this['fRX1']=0x0,this['fRX2']=0x1,this['fRY1']=0x0,this['fRY2']=0x1,this['bBlack']=!0x1,this['pOriPTZPoints']=null,this['pBasePTZPoints']=null,this['nWndPort']=-0x1,this['nPlaceType']=0x0,this['nPTZFragmentNode']=null,this['bPTZSelected']=null,this['nPTZDisplayMode']=_0x3b7ab3['SR_DM_RANGE'],_0x12eada['SR_OK'];}},{'key':'InitColorList','value':function(){this['stPTZColor'][0x0]['fR']=0.5,this['stPTZColor'][0x0]['fG']=0.5,this['stPTZColor'][0x0]['fB']=0x0,this['stPTZColor'][0x0]['fA']=0x1,this['stPTZColor'][0x1]['fR']=0x1,this['stPTZColor'][0x1]['fG']=0x0,this['stPTZColor'][0x1]['fB']=0x0,this['stPTZColor'][0x1]['fA']=0x1,this['stPTZColor'][0x2]['fR']=0x0,this['stPTZColor'][0x2]['fG']=0x1,this['stPTZColor'][0x2]['fB']=0x0,this['stPTZColor'][0x2]['fA']=0x1,this['stPTZColor'][0x3]['fR']=0x0,this['stPTZColor'][0x3]['fG']=0x0,this['stPTZColor'][0x3]['fB']=0x1,this['stPTZColor'][0x3]['fA']=0x1,this['stPTZColor'][0x4]['fR']=0x1,this['stPTZColor'][0x4]['fG']=0x1,this['stPTZColor'][0x4]['fB']=0x0,this['stPTZColor'][0x4]['fA']=0x1,this['stPTZColor'][0x5]['fR']=0.5,this['stPTZColor'][0x5]['fG']=0x0,this['stPTZColor'][0x5]['fB']=0x1,this['stPTZColor'][0x5]['fA']=0x1,this['stPTZColor'][0x6]['fR']=0x0,this['stPTZColor'][0x6]['fG']=0x1,this['stPTZColor'][0x6]['fB']=0x1,this['stPTZColor'][0x6]['fA']=0x1,this['stPTZColor'][0x7]['fR']=0x1,this['stPTZColor'][0x7]['fG']=0.5,this['stPTZColor'][0x7]['fB']=0x0,this['stPTZColor'][0x7]['fA']=0x1,this['stPTZColor'][0x8]['fR']=0x0,this['stPTZColor'][0x8]['fG']=0.5,this['stPTZColor'][0x8]['fB']=0.5,this['stPTZColor'][0x8]['fA']=0x1;for(var _0x1e6e85=0x9;_0x1e6e85<0x20;_0x1e6e85++)this['stPTZColor'][_0x1e6e85]['fR']=0x1*_0x1e6e85/0x20,this['stPTZColor'][_0x1e6e85]['fG']=0x1*_0x1e6e85/0x20,this['stPTZColor'][_0x1e6e85]['fB']=0x1*_0x1e6e85/0x20,this['stPTZColor'][_0x1e6e85]['fA']=0x1;return _0x12eada['SR_OK'];}},{'key':'GetRangePoints','value':function(_0x268d19){if(_0x268d19<0x0||_0x268d19>=0x20)return _0x12eada['SR_ERR_PARAM'];if(null==this['pRenderParam'][_0x268d19])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x4b35b4=0x0,_0x47818f=0x0;switch(this['nOriPTZPointNum'][_0x268d19]=0x0,this['nBasePTZPointNum'][_0x268d19]=0x0,this['pRenderParam'][_0x268d19]['nDisplayEffect']){case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:for(_0x47818f=0x0;_0x47818f<0x1;_0x47818f+=0.01)this['GetFishPTZCeiling'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x47818f=0.9995,_0x4b35b4=0x0;_0x4b35b4<0x1;_0x4b35b4+=0.02)this['GetFishPTZCeiling'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x4b35b4=0.999,_0x47818f=0.9995;_0x47818f>=0x0;_0x47818f-=0.01)this['GetFishPTZCeiling'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x47818f=0x0,_0x4b35b4=0.999;_0x4b35b4>=0x0;_0x4b35b4-=0.02)this['GetFishPTZCeiling'](_0x4b35b4,_0x47818f,_0x268d19);break;case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:for(_0x47818f=0x0;_0x47818f<0x1;_0x47818f+=0.01)this['GetFishPTZFloor'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x47818f=0.9995,_0x4b35b4=0x0;_0x4b35b4<0x1;_0x4b35b4+=0.02)this['GetFishPTZFloor'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x4b35b4=0.999,_0x47818f=0.9995;_0x47818f>=0x0;_0x47818f-=0.01)this['GetFishPTZFloor'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x47818f=0x0,_0x4b35b4=0.999;_0x4b35b4>=0x0;_0x4b35b4-=0.02)this['GetFishPTZFloor'](_0x4b35b4,_0x47818f,_0x268d19);break;case _0x4d466f['SR_DE_FISH_PTZ_WALL']:for(_0x47818f=0x0;_0x47818f<0x1;_0x47818f+=0.01)this['GetFishPTZWALL'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x47818f=0.9995,_0x4b35b4=0x0;_0x4b35b4<0x1;_0x4b35b4+=0.02)this['GetFishPTZWALL'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x4b35b4=0.999,_0x47818f=0.9995;_0x47818f>=0x0;_0x47818f-=0.01)this['GetFishPTZWALL'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x47818f=0x0,_0x4b35b4=0.999;_0x4b35b4>=0x0;_0x4b35b4-=0.02)this['GetFishPTZWALL'](_0x4b35b4,_0x47818f,_0x268d19);break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_OK'];}},{'key':'TransformPTZRangePoints','value':function(_0x461ec6){if(-0x1==this['nWndPort'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pBasePTZPoints'][_0x461ec6]||null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];this['nPanoPTZPointNum'][_0x461ec6]=0x0;var _0x5b6c8d=_0x12eada['SR_OK'],_0x3bf1f2=this['nWndPort'];switch(this['pRenderParam'][_0x3bf1f2]['nDisplayEffect']){case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:if(_0x5b6c8d=this['GetPanoPTZWall'](_0x461ec6),_0x12eada['SR_OK']!=_0x5b6c8d)return _0x5b6c8d;break;case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:if(_0x5b6c8d=this['GetPanoPTZFloor'](_0x461ec6),_0x12eada['SR_OK']!=_0x5b6c8d)return _0x5b6c8d;break;case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:if(_0x5b6c8d=this['GetPanoPTZCeiling'](_0x461ec6),_0x12eada['SR_OK']!=_0x5b6c8d)return _0x5b6c8d;}return this['CalcPTZFragmentPoints'](_0x461ec6),_0x12eada['SR_OK'];}},{'key':'GetRectPoints','value':function(_0x40142e){if(_0x40142e<0x0||_0x40142e>=0x20)return _0x12eada['SR_ERR_PARAM'];if(-0x1==this['nWndPort'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pRenderParam'][this['nWndPort']]||null==this['pFishParam'][_0x40142e])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x1271cd=this['pRenderParam'][this['nWndPort']]['nDisplayEffect'],_0x18c34c=_0x12eada['SR_OK'],_0x228598={'fX':0x0,'fY':0x0};switch(_0x1271cd){case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:if(_0x18c34c=this['GetPointFish2PanoWall'](_0x228598,this['pFishParam'][_0x40142e]['fPTZX'],this['pFishParam'][_0x40142e]['fPTZY']),_0x12eada['SR_OK']!=_0x18c34c)return _0x18c34c;break;case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:if(_0x18c34c=this['GetPointFish2PanoFloor'](_0x228598,this['pFishParam'][_0x40142e]['fPTZX'],this['pFishParam'][_0x40142e]['fPTZY']),_0x12eada['SR_OK']!=_0x18c34c)return _0x12eada['SR_ERR_NOT_SUPPORT']==_0x18c34c&&(this['pRectPoints'][_0x40142e]=null),_0x18c34c;break;case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:if(_0x18c34c=this['GetPointFish2PanoCeiling'](_0x228598,this['pFishParam'][_0x40142e]['fPTZX'],this['pFishParam'][_0x40142e]['fPTZY']),_0x12eada['SR_OK']!=_0x18c34c)return _0x12eada['SR_ERR_NOT_SUPPORT']==_0x18c34c&&(this['pRectPoints'][_0x40142e]=null),_0x18c34c;break;case _0x4d466f['SR_DE_FISH_ORIGINAL']:_0x228598['fX']=this['pFishParam'][_0x40142e]['fPTZX'],_0x228598['fY']=this['pFishParam'][_0x40142e]['fPTZY'];}if(null==this['pRectPoints'][_0x40142e]){this['pRectPoints'][_0x40142e]=[];for(var _0x43a2f2=0x0;_0x43a2f2<0x4;++_0x43a2f2)this['pRectPoints'][_0x40142e][_0x43a2f2]={},this['pRectPoints'][_0x40142e][_0x43a2f2]['fX']=0x0,this['pRectPoints'][_0x40142e][_0x43a2f2]['fY']=0x0;}return this['pRectPoints'][_0x40142e][0x0]['fX']=_0x228598['fX']-0.05,this['pRectPoints'][_0x40142e][0x0]['fY']=_0x228598['fY']-0.05,this['pRectPoints'][_0x40142e][0x1]['fX']=_0x228598['fX']+0.05,this['pRectPoints'][_0x40142e][0x1]['fY']=_0x228598['fY']-0.05,this['pRectPoints'][_0x40142e][0x2]['fX']=_0x228598['fX']+0.05,this['pRectPoints'][_0x40142e][0x2]['fY']=_0x228598['fY']+0.05,this['pRectPoints'][_0x40142e][0x3]['fX']=_0x228598['fX']-0.05,this['pRectPoints'][_0x40142e][0x3]['fY']=_0x228598['fY']+0.05,this['nPTZRectNum'][_0x40142e]=0x4,_0x12eada['SR_OK'];}},{'key':'GetFishPTZCeiling','value':function(_0x11b779,_0x1a2032,_0x3159ea){var _0x55b88e,_0x3ca13c,_0x4b8635,_0x523e75,_0x358dea,_0x410f67,_0x3a63c2,_0x45683a={'fX':0x0,'fY':0x0},_0x5022f9={'fX':0x0,'fY':0x0},_0x11d473={'fX':0x0,'fY':0x0},_0x2f4aa5={};_0x523e75=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x358dea=(this['fRX1']+this['fRX2'])/0x2*0x1,_0x410f67=(this['fRY1']+this['fRY2'])/0x2*_0x523e75,_0x3a63c2=(this['fRX2']-this['fRX1'])/0x2*0x1,_0x45683a['fX']=_0x1a2032-0.5,_0x45683a['fY']=0.5-_0x11b779,_0x55b88e=this['pRenderParam'][_0x3159ea]['fZoom'],_0x5022f9['fX']=_0x45683a['fX'],_0x5022f9['fY']=_0x45683a['fY']*this['pRenderParam'][_0x3159ea]['fCosV']+_0x55b88e*this['pRenderParam'][_0x3159ea]['fSinV'],_0x3ca13c=_0x55b88e*this['pRenderParam'][_0x3159ea]['fCosV']-_0x45683a['fY']*this['pRenderParam'][_0x3159ea]['fSinV'],_0x4b8635=Math['sqrt'](_0x5022f9['fX']*_0x5022f9['fX']+_0x5022f9['fY']*_0x5022f9['fY']);var _0x38a4e3=Math['sqrt'](_0x5022f9['fX']*_0x5022f9['fX']+_0x5022f9['fY']*_0x5022f9['fY']+_0x3ca13c*_0x3ca13c),_0x3bddbe=Math['asin'](_0x4b8635/_0x38a4e3)/1.5707963*0.5;_0x5022f9['fX']=_0x3bddbe*_0x5022f9['fX']/_0x4b8635,_0x5022f9['fY']=_0x3bddbe*_0x5022f9['fY']/_0x4b8635,_0x11d473['fX']=_0x5022f9['fX']*this['pRenderParam'][_0x3159ea]['fCosH']-_0x5022f9['fY']*this['pRenderParam'][_0x3159ea]['fSinH'],_0x11d473['fY']=_0x5022f9['fX']*this['pRenderParam'][_0x3159ea]['fSinH']+_0x5022f9['fY']*this['pRenderParam'][_0x3159ea]['fCosH'],_0x2f4aa5['fX']=0x2*_0x11d473['fX']*_0x3a63c2+_0x358dea,_0x2f4aa5['fY']=0x2*-_0x11d473['fY']*_0x3a63c2+_0x410f67;var _0x2ebd4d=this['nBasePTZPointNum'][_0x3159ea];this['pBasePTZPoints'][_0x3159ea][_0x2ebd4d]['fX']=_0x11d473['fX']+0.5,this['pBasePTZPoints'][_0x3159ea][_0x2ebd4d]['fY']=0.5-_0x11d473['fY'],this['nBasePTZPointNum'][_0x3159ea]=this['nBasePTZPointNum'][_0x3159ea]+0x1;var _0x298f4e=this['fRX1']<=0x0?0x0:0x1*this['fRX1'],_0x80356e=this['fRY1']<=0x0?0x0:this['fRY1']*_0x523e75,_0xcc0b83=this['fRX2']>=0x1?0x1-_0x298f4e:0x1*this['fRX2']-_0x298f4e,_0x26526c=this['fRY2']>=0x1?_0x523e75-_0x80356e:this['fRY2']*_0x523e75-_0x80356e;if(_0x2f4aa5['fX']=(_0x2f4aa5['fX']-_0x298f4e)/_0xcc0b83,_0x2f4aa5['fY']=(_0x2f4aa5['fY']-_0x80356e)/_0x26526c,_0x2f4aa5['fX']<=0x1&&_0x2f4aa5['fY']<=0x1&&_0x2f4aa5['fX']>=0x0&&_0x2f4aa5['fY']>=0x0){var _0x171b27=this['nOriPTZPointNum'][_0x3159ea];this['pOriPTZPoints'][_0x3159ea][_0x171b27]['fX']=_0x2f4aa5['fX'],this['pOriPTZPoints'][_0x3159ea][_0x171b27]['fY']=_0x2f4aa5['fY'],this['nOriPTZPointNum'][_0x3159ea]=this['nOriPTZPointNum'][_0x3159ea]+0x1;}return _0x12eada['SR_OK'];}},{'key':'GetFishPTZFloor','value':function(_0x337438,_0x3d462e,_0x1f10c3){var _0x15418f,_0x3b1a2c,_0x129f64,_0x27e225,_0xc57d36,_0x3f05aa,_0x48764f,_0x17df7b={'fX':0x0,'fY':0x0},_0x596cbe={'fX':0x0,'fY':0x0},_0x3bc426={'fX':0x0,'fY':0x0},_0x29bc7e={};_0x27e225=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0xc57d36=(this['fRX1']+this['fRX2'])/0x2*0x1,_0x3f05aa=(this['fRY1']+this['fRY2'])/0x2*_0x27e225,_0x48764f=(this['fRX2']-this['fRX1'])/0x2*0x1,_0x17df7b['fX']=_0x337438-0.5,_0x17df7b['fY']=_0x3d462e-0.5,_0x15418f=this['pRenderParam'][_0x1f10c3]['fZoom'],_0x596cbe['fX']=_0x17df7b['fX'],_0x596cbe['fY']=_0x17df7b['fY']*this['pRenderParam'][_0x1f10c3]['fCosV']+_0x15418f*this['pRenderParam'][_0x1f10c3]['fSinV'],_0x3b1a2c=_0x15418f*this['pRenderParam'][_0x1f10c3]['fCosV']-_0x17df7b['fY']*this['pRenderParam'][_0x1f10c3]['fSinV'],_0x129f64=Math['sqrt'](_0x596cbe['fX']*_0x596cbe['fX']+_0x596cbe['fY']*_0x596cbe['fY']);var _0x2994f9=Math['sqrt'](_0x596cbe['fX']*_0x596cbe['fX']+_0x596cbe['fY']*_0x596cbe['fY']+_0x3b1a2c*_0x3b1a2c),_0x2e4d70=Math['asin'](_0x129f64/_0x2994f9)/1.5707963*0.5;_0x596cbe['fX']=_0x2e4d70*_0x596cbe['fX']/_0x129f64,_0x596cbe['fY']=_0x2e4d70*_0x596cbe['fY']/_0x129f64,_0x3bc426['fX']=_0x596cbe['fX']*this['pRenderParam'][_0x1f10c3]['fCosH']-_0x596cbe['fY']*this['pRenderParam'][_0x1f10c3]['fSinH'],_0x3bc426['fY']=_0x596cbe['fX']*this['pRenderParam'][_0x1f10c3]['fSinH']+_0x596cbe['fY']*this['pRenderParam'][_0x1f10c3]['fCosH'],_0x29bc7e['fX']=0x2*_0x3bc426['fX']*_0x48764f+_0xc57d36,_0x29bc7e['fY']=0x2*_0x3bc426['fY']*_0x48764f+_0x3f05aa;var _0x35e2a0=this['nBasePTZPointNum'][_0x1f10c3];this['pBasePTZPoints'][_0x1f10c3][_0x35e2a0]['fX']=_0x3bc426['fX']+0.5,this['pBasePTZPoints'][_0x1f10c3][_0x35e2a0]['fY']=_0x3bc426['fY']+0.5,this['nBasePTZPointNum'][_0x1f10c3]=this['nBasePTZPointNum'][_0x1f10c3]+0x1;var _0x4eef18=this['fRX1']<=0x0?0x0:0x1*this['fRX1'],_0x381751=this['fRY1']<=0x0?0x0:this['fRY1']*_0x27e225,_0x26bfa1=this['fRX2']>=0x1?0x1-_0x4eef18:0x1*this['fRX2']-_0x4eef18,_0x5d1acc=this['fRY2']>=0x1?_0x27e225-_0x381751:this['fRY2']*_0x27e225-_0x381751;if(_0x29bc7e['fX']=(_0x29bc7e['fX']-_0x4eef18)/_0x26bfa1,_0x29bc7e['fY']=(_0x29bc7e['fY']-_0x381751)/_0x5d1acc,_0x29bc7e['fX']<=0x1&&_0x29bc7e['fY']<=0x1&&_0x29bc7e['fX']>=0x0&&_0x29bc7e['fY']>=0x0){var _0xddb2f1=this['nOriPTZPointNum'][_0x1f10c3];this['pOriPTZPoints'][_0x1f10c3][_0xddb2f1]['fX']=_0x29bc7e['fX'],this['pOriPTZPoints'][_0x1f10c3][_0xddb2f1]['fY']=_0x29bc7e['fY'],this['nOriPTZPointNum'][_0x1f10c3]=this['nOriPTZPointNum'][_0x1f10c3]+0x1;}return _0x12eada['SR_OK'];}},{'key':'GetFishPTZWALL','value':function(_0x49f343,_0x3d0f33,_0x2cfea0){var _0x3a8be9,_0x5091c4,_0x1208c8,_0x4cb7e3,_0x367d55,_0x2f5770,_0x5ed625,_0x1938c0,_0x1ecee4={'fX':0x0,'fY':0x0},_0x9b5143={'fX':0x0,'fY':0x0},_0x57763d={'fX':0x0,'fY':0x0},_0x178214={};_0x367d55=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x2f5770=(this['fRX1']+this['fRX2'])/0x2*0x1,_0x5ed625=(this['fRY1']+this['fRY2'])/0x2*_0x367d55,_0x1938c0=(this['fRX2']-this['fRX1'])/0x2*0x1,_0x1ecee4['fX']=_0x3d0f33-0.5,_0x1ecee4['fY']=_0x49f343-0.5,_0x3a8be9=this['pRenderParam'][_0x2cfea0]['fZoom'],_0x9b5143['fX']=_0x1ecee4['fX'],_0x9b5143['fY']=_0x1ecee4['fY']*this['pRenderParam'][_0x2cfea0]['fCosV']+_0x3a8be9*this['pRenderParam'][_0x2cfea0]['fSinV'],_0x5091c4=_0x3a8be9*this['pRenderParam'][_0x2cfea0]['fCosV']-_0x1ecee4['fY']*this['pRenderParam'][_0x2cfea0]['fSinV'],_0x57763d['fX']=_0x9b5143['fX']*this['pRenderParam'][_0x2cfea0]['fCosH']+_0x5091c4*this['pRenderParam'][_0x2cfea0]['fSinH'],_0x57763d['fY']=_0x9b5143['fY'],_0x1208c8=_0x5091c4*this['pRenderParam'][_0x2cfea0]['fCosH']-_0x9b5143['fX']*this['pRenderParam'][_0x2cfea0]['fSinH'],_0x4cb7e3=Math['sqrt'](_0x57763d['fX']*_0x57763d['fX']+_0x57763d['fY']*_0x57763d['fY']);var _0x533530=Math['sqrt'](_0x57763d['fX']*_0x57763d['fX']+_0x57763d['fY']*_0x57763d['fY']+_0x1208c8*_0x1208c8),_0x8b7bc1=Math['asin'](_0x4cb7e3/_0x533530)/1.5707963*0.5;_0x178214['fX']=_0x8b7bc1*_0x57763d['fX']/_0x4cb7e3*_0x1938c0*0x2+_0x2f5770,_0x178214['fY']=_0x8b7bc1*_0x57763d['fY']/_0x4cb7e3*_0x1938c0*0x2+_0x5ed625;var _0x507c3a=this['nBasePTZPointNum'][_0x2cfea0];this['pBasePTZPoints'][_0x2cfea0][_0x507c3a]['fX']=_0x8b7bc1*_0x57763d['fX']/_0x4cb7e3+0.5,this['pBasePTZPoints'][_0x2cfea0][_0x507c3a]['fY']=_0x8b7bc1*_0x57763d['fY']/_0x4cb7e3+0.5,this['nBasePTZPointNum'][_0x2cfea0]=this['nBasePTZPointNum'][_0x2cfea0]+0x1;var _0x30ccb3=this['fRX1']<=0x0?0x0:0x1*this['fRX1'],_0x2980f2=this['fRY1']<=0x0?0x0:this['fRY1']*_0x367d55,_0x53c399=this['fRX2']>=0x1?0x1-_0x30ccb3:0x1*this['fRX2']-_0x30ccb3,_0x49a153=this['fRY2']>=0x1?_0x367d55-_0x2980f2:this['fRY2']*_0x367d55-_0x2980f2;if(_0x178214['fX']=(_0x178214['fX']-_0x30ccb3)/_0x53c399,_0x178214['fY']=(_0x178214['fY']-_0x2980f2)/_0x49a153,_0x178214['fX']<=0x1&&_0x178214['fY']<=0x1&&_0x178214['fX']>=0x0&&_0x178214['fY']>=0x0){var _0x439951=this['nOriPTZPointNum'][_0x2cfea0];this['pOriPTZPoints'][_0x2cfea0][_0x439951]['fX']=_0x178214['fX'],this['pOriPTZPoints'][_0x2cfea0][_0x439951]['fY']=_0x178214['fY'],this['nOriPTZPointNum'][_0x2cfea0]=this['nOriPTZPointNum'][_0x2cfea0]+0x1;}return _0x12eada['SR_OK'];}},{'key':'GetPanoPTZCeiling','value':function(_0x1bdce8){if(null==this['pRenderParam'][_0x1bdce8]||null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pBasePTZPoints'][_0x1bdce8])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x1e0204,_0x218418,_0x39d8fd=this['nBasePTZPointNum'][_0x1bdce8];_0x1e0204=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x218418=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x146cd8,_0xba3e6b=0x0;(this['fRX2']>0x1||this['fRY2']>0x1||this['fRY1']<0x0||this['fRX1']<0x0)&&(this['fRX1']<0x0&&(_0x146cd8=0x1*-this['fRX1'])>_0xba3e6b&&(_0xba3e6b=_0x146cd8),this['fRX2']>0x1&&(_0x146cd8=0x1*(this['fRX2']-0x1))>_0xba3e6b&&(_0xba3e6b=_0x146cd8),this['fRY1']<0x0&&(_0x146cd8=-this['fRY1']*_0x1e0204)>_0xba3e6b&&(_0xba3e6b=_0x146cd8),this['fRY2']>0x1&&(_0x146cd8=(this['fRY2']-0x1)*_0x1e0204)>_0xba3e6b&&(_0xba3e6b=_0x146cd8));for(var _0x5319c3,_0x3f3a91=_0xba3e6b/_0x218418,_0x5bb31b={'fX':0x0,'fY':0x0},_0x188d27={'fX':0x0,'fY':0x0},_0x52cadb=0x0;_0x52cadb<_0x39d8fd;++_0x52cadb)if(_0x188d27['fX']=this['pBasePTZPoints'][_0x1bdce8][_0x52cadb]['fX'],_0x188d27['fY']=this['pBasePTZPoints'][_0x1bdce8][_0x52cadb]['fY'],!(Math['abs'](_0x188d27['fX']-0.5)<0.000001&&Math['abs'](_0x188d27['fY']-0.5)<0.000001)){var _0x111bd3={'fX':0x0,'fY':0x0},_0x32543b={'fX':0x0,'fY':0x0};_0x111bd3['fX']=_0x188d27['fX']-0.5,_0x111bd3['fY']=_0x188d27['fY']-0.5,_0x32543b['fX']=-0.5*Math['sin'](this['pRenderParam'][this['nWndPort']]['fAngle']),_0x32543b['fY']=0.5*Math['cos'](this['pRenderParam'][this['nWndPort']]['fAngle']);var _0x4c8680=Math['sqrt'](_0x111bd3['fX']*_0x111bd3['fX']+_0x111bd3['fY']*_0x111bd3['fY']),_0x507a63=Math['sqrt'](_0x32543b['fX']*_0x32543b['fX']+_0x32543b['fY']*_0x32543b['fY']);if(_0x5319c3=Math['acos']((_0x111bd3['fX']*_0x32543b['fX']+_0x111bd3['fY']*_0x32543b['fY'])/(_0x4c8680*_0x507a63)),_0x111bd3['fX']*_0x32543b['fY']-_0x111bd3['fY']*_0x32543b['fX']>0x0&&(_0x5319c3=6.2831852-_0x5319c3),_0x5bb31b['fX']=_0x5319c3/6.2831853,_0x5bb31b['fY']=(0x2*(0.5-_0x4c8680)-_0x3f3a91)/(0.8-_0x3f3a91),_0x5bb31b['fY']>=0x0&&_0x5bb31b['fX']>=0x0&&_0x5bb31b['fY']<=0x1&&_0x5bb31b['fX']<=0x1){var _0x19a2e6=this['nPanoPTZPointNum'][_0x1bdce8];this['pPanoPTZPoints'][_0x1bdce8][_0x19a2e6]['fX']=_0x5bb31b['fX'],this['pPanoPTZPoints'][_0x1bdce8][_0x19a2e6]['fY']=_0x5bb31b['fY'],this['nPanoPTZPointNum'][_0x1bdce8]=this['nPanoPTZPointNum'][_0x1bdce8]+0x1;}}return _0x12eada['SR_OK'];}},{'key':'GetPanoPTZFloor','value':function(_0x4dbda6){if(null==this['pRenderParam'][_0x4dbda6]||null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pBasePTZPoints'][_0x4dbda6])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x2b6ecc,_0x300bf3,_0x48b9cb=this['nBasePTZPointNum'][_0x4dbda6];_0x2b6ecc=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x300bf3=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x51aa45,_0x5887b1=0x0;(this['fRX2']>0x1||this['fRY2']>0x1||this['fRY1']<0x0||this['fRX1']<0x0)&&(this['fRX1']<0x0&&(_0x51aa45=0x1*-this['fRX1'])>_0x5887b1&&(_0x5887b1=_0x51aa45),this['fRX2']>0x1&&(_0x51aa45=0x1*(this['fRX2']-0x1))>_0x5887b1&&(_0x5887b1=_0x51aa45),this['fRY1']<0x0&&(_0x51aa45=-this['fRY1']*_0x2b6ecc)>_0x5887b1&&(_0x5887b1=_0x51aa45),this['fRY2']>0x1&&(_0x51aa45=(this['fRY2']-0x1)*_0x2b6ecc)>_0x5887b1&&(_0x5887b1=_0x51aa45));for(var _0x310877,_0x17a31e=_0x5887b1/_0x300bf3,_0x4f0557={'fX':0x0,'fY':0x0},_0x5af560={'fX':0x0,'fY':0x0},_0x4f7bbf=0x0;_0x4f7bbf<_0x48b9cb;++_0x4f7bbf)if(_0x5af560['fX']=this['pBasePTZPoints'][_0x4dbda6][_0x4f7bbf]['fX'],_0x5af560['fY']=this['pBasePTZPoints'][_0x4dbda6][_0x4f7bbf]['fY'],!(Math['abs'](_0x5af560['fX']-0.5)<0.000001&&Math['abs'](_0x5af560['fY']-0.5)<0.000001)){var _0x1241a8={'fX':0x0,'fY':0x0},_0x1136eb={'fX':0x0,'fY':0x0};_0x1241a8['fX']=_0x5af560['fX']-0.5,_0x1241a8['fY']=_0x5af560['fY']-0.5,_0x1136eb['fX']=-0.5*Math['sin'](this['pRenderParam'][this['nWndPort']]['fAngle']),_0x1136eb['fY']=0.5*Math['cos'](this['pRenderParam'][this['nWndPort']]['fAngle']);var _0x18f0d7=Math['sqrt'](_0x1241a8['fX']*_0x1241a8['fX']+_0x1241a8['fY']*_0x1241a8['fY']),_0x2614a4=Math['sqrt'](_0x1136eb['fX']*_0x1136eb['fX']+_0x1136eb['fY']*_0x1136eb['fY']);if(_0x310877=Math['acos']((_0x1241a8['fX']*_0x1136eb['fX']+_0x1241a8['fY']*_0x1136eb['fY'])/(_0x18f0d7*_0x2614a4)),_0x1241a8['fX']*_0x1136eb['fY']-_0x1241a8['fY']*_0x1136eb['fX']>0x0&&(_0x310877=6.2831852-_0x310877),_0x4f0557['fX']=0x1-_0x310877/6.2831853,_0x4f0557['fY']=0x1-(0x2*(0.5-_0x18f0d7)-_0x17a31e)/(0.8-_0x17a31e),_0x4f0557['fY']>=0x0&&_0x4f0557['fX']>=0x0&&_0x4f0557['fY']<=0x1&&_0x4f0557['fX']<=0x1){var _0x3ce9b4=this['nPanoPTZPointNum'][_0x4dbda6];this['pPanoPTZPoints'][_0x4dbda6][_0x3ce9b4]['fX']=_0x4f0557['fX'],this['pPanoPTZPoints'][_0x4dbda6][_0x3ce9b4]['fY']=_0x4f0557['fY'],this['nPanoPTZPointNum'][_0x4dbda6]=this['nPanoPTZPointNum'][_0x4dbda6]+0x1;}}return _0x12eada['SR_OK'];}},{'key':'GetPanoPTZWall','value':function(_0x25c3c8){if(null==this['pRenderParam'][_0x25c3c8]||null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pBasePTZPoints'][_0x25c3c8])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x4b3314,_0x55ff12,_0x218a32=this['nBasePTZPointNum'][_0x25c3c8];_0x4b3314=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x55ff12=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x2c7a39,_0x429b2c,_0x56aa54,_0x3d3e5a,_0x2447c8,_0x29d0a4=0x0,_0x406710=0x1,_0x5595cf=0.1,_0x338379=0.9;this['fRX1']<0x0&&(_0x2c7a39=0x1*-this['fRX1'],_0x29d0a4=_0x2c7a39/=0x2*_0x55ff12),this['fRX2']>0x1&&(_0x429b2c=0x1*(this['fRX2']-0x1),_0x406710=0x1-(_0x429b2c/=0x2*_0x55ff12)),this['fRY1']<0x0&&(_0x56aa54=-this['fRY1']*_0x4b3314,_0x5595cf=(_0x56aa54/=0x2*_0x55ff12)>0.1?_0x56aa54:0.1),this['fRY2']>0x1&&(_0x3d3e5a=(this['fRY2']-0x1)*_0x4b3314,_0x338379=(_0x3d3e5a/=0x2*_0x55ff12)>0x1-0.9?0x1-_0x3d3e5a:0.9);for(var _0x3b0545={'fX':0x0,'fY':0x0},_0x585b69={'fX':0x0,'fY':0x0},_0x13db1c=0x0;_0x13db1c<_0x218a32;++_0x13db1c){_0x585b69['fX']=this['pBasePTZPoints'][_0x25c3c8][_0x13db1c]['fX'],_0x585b69['fY']=this['pBasePTZPoints'][_0x25c3c8][_0x13db1c]['fY'];var _0x5cb97a=0x2*_0x585b69['fX']*_0x55ff12,_0x860f56=0x2*_0x585b69['fY']*_0x55ff12;if(_0x2447c8=Math['sqrt'](_0x55ff12*_0x55ff12-(_0x860f56-_0x55ff12)*(_0x860f56-_0x55ff12)),!(Math['abs'](_0x2447c8)<0.000001)&&(_0x585b69['fX']=_0x55ff12*(_0x5cb97a-_0x55ff12)/_0x2447c8+_0x55ff12,_0x585b69['fY']=_0x860f56,_0x3b0545['fX']=(_0x585b69['fX']-0x2*_0x29d0a4*_0x55ff12)/(0x2*(_0x406710-_0x29d0a4)*_0x55ff12),_0x3b0545['fY']=(_0x585b69['fY']-0x2*_0x5595cf*_0x55ff12)/(0x2*(_0x338379-_0x5595cf)*_0x55ff12),_0x3b0545['fY']>=0x0&&_0x3b0545['fX']>=0x0&&_0x3b0545['fY']<=0x1&&_0x3b0545['fX']<=0x1)){var _0x52279d=this['nPanoPTZPointNum'][_0x25c3c8];this['pPanoPTZPoints'][_0x25c3c8][_0x52279d]['fX']=_0x3b0545['fX'],this['pPanoPTZPoints'][_0x25c3c8][_0x52279d]['fY']=_0x3b0545['fY'],this['nPanoPTZPointNum'][_0x25c3c8]=this['nPanoPTZPointNum'][_0x25c3c8]+0x1;}}return _0x12eada['SR_OK'];}},{'key':'GetPointPano2FishCeiling','value':function(_0x3ca737,_0x1c348b,_0xff65ff){if(null==_0x3ca737||null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x2d1869,_0x5529dd;_0x2d1869=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x5529dd=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x2662f8,_0x488e4c=0x0,_0x5850c5=0x1,_0x5f397f=0x0,_0x3bd430=0x1,_0x140f06=0x0;(this['fRX2']>0x1||this['fRY2']>0x1||this['fRX1']<0x0||this['fRY1']<0x0)&&(this['fRX1']<0x0&&((_0x2662f8=0x1*-this['fRX1'])>_0x140f06&&(_0x140f06=_0x2662f8),_0x488e4c=_0x2662f8/=0x2*_0x5529dd),this['fRX2']>0x1&&((_0x2662f8=0x1*(this['fRX2']-0x1))>_0x140f06&&(_0x140f06=_0x2662f8),_0x5850c5=0x1-(_0x2662f8/=0x2*_0x5529dd)),this['fRY1']<0x0&&((_0x2662f8=-this['fRY1']*_0x2d1869)>_0x140f06&&(_0x140f06=_0x2662f8),_0x5f397f=_0x2662f8/=0x2*_0x5529dd),this['fRY2']>0x1&&((_0x2662f8=(this['fRY2']-0x1)*_0x2d1869)>_0x140f06&&(_0x140f06=_0x2662f8),_0x3bd430=0x1-(_0x2662f8/=0x2*_0x5529dd)));var _0x554697,_0x53d02d,_0x5e14ce=_0x140f06/_0x5529dd,_0x407593={},_0x59ef16={};return _0x407593['fX']=_0x1c348b,_0x407593['fY']=(0.8-_0x5e14ce)*_0xff65ff+_0x5e14ce,_0x554697=6.2831853*_0x407593['fX']+this['pRenderParam'][this['nWndPort']]['fAngle'],_0x53d02d=0.5*(0x1-_0x407593['fY']),_0x59ef16['fX']=0.5-_0x53d02d*Math['sin'](_0x554697),_0x59ef16['fY']=0.5+_0x53d02d*Math['cos'](_0x554697),_0x59ef16['fX']=(_0x59ef16['fX']-_0x488e4c)/(_0x5850c5-_0x488e4c),_0x59ef16['fY']=(_0x59ef16['fY']-_0x5f397f)/(_0x3bd430-_0x5f397f),_0x3ca737['fX']=_0x59ef16['fX'],_0x3ca737['fY']=_0x59ef16['fY'],_0x12eada['SR_OK'];}},{'key':'GetPointPano2FishFloor','value':function(_0x3403f7,_0x1309e3,_0x3ae759){if(null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x3403f7)return _0x12eada['SR_ERR_PARAM'];var _0x159bbe,_0x1fb0ed;_0x159bbe=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x1fb0ed=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x277c1c,_0x1b95e3=0x0,_0x5d1e70=0x1,_0x50efdd=0x0,_0x153b63=0x1,_0x35f246=0x0;(this['fRX2']>0x1||this['fRY2']>0x1||this['fRX1']<0x0||this['fRY1']<0x0)&&(this['fRX1']<0x0&&((_0x277c1c=0x1*-this['fRX1'])>_0x35f246&&(_0x35f246=_0x277c1c),_0x1b95e3=_0x277c1c/=0x2*_0x1fb0ed),this['fRX2']>0x1&&((_0x277c1c=0x1*(this['fRX2']-0x1))>_0x35f246&&(_0x35f246=_0x277c1c),_0x5d1e70=0x1-(_0x277c1c/=0x2*_0x1fb0ed)),this['fRY1']<0x0&&((_0x277c1c=-this['fRY1']*_0x159bbe)>_0x35f246&&(_0x35f246=_0x277c1c),_0x50efdd=_0x277c1c/=0x2*_0x1fb0ed),this['fRY2']>0x1&&((_0x277c1c=(this['fRY2']-0x1)*_0x159bbe)>_0x35f246&&(_0x35f246=_0x277c1c),_0x153b63=0x1-(_0x277c1c/=0x2*_0x1fb0ed)));var _0x95af29,_0x501488,_0x33fd35=_0x35f246/_0x1fb0ed,_0x3fea72={},_0x9d045d={};return _0x3fea72['fX']=0x1-_0x1309e3,_0x3fea72['fY']=(0.8-_0x33fd35)*(0x1-_0x3ae759)+_0x33fd35,_0x95af29=6.2831853*_0x3fea72['fX']+this['pRenderParam'][this['nWndPort']]['fAngle'],_0x501488=0.5*(0x1-_0x3fea72['fY']),_0x9d045d['fX']=0.5-_0x501488*Math['sin'](_0x95af29),_0x9d045d['fY']=0.5+_0x501488*Math['cos'](_0x95af29),_0x9d045d['fX']=(_0x9d045d['fX']-_0x1b95e3)/(_0x5d1e70-_0x1b95e3),_0x9d045d['fY']=(_0x9d045d['fY']-_0x50efdd)/(_0x153b63-_0x50efdd),_0x3403f7['fX']=_0x9d045d['fX'],_0x3403f7['fY']=_0x9d045d['fY'],_0x12eada['SR_OK'];}},{'key':'GetPointPano2FishWall','value':function(_0x5e97cc,_0x13f165,_0x546fa4){if(null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x5e97cc)return _0x12eada['SR_ERR_PARAM'];var _0x5b42ad,_0x97a6e6;_0x5b42ad=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x97a6e6=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x270df4,_0x511c2e,_0x299837,_0x550b45,_0x31e7b7=0x0,_0x518bba=0x1,_0x5e878f=0.1,_0x5803fe=0.9,_0x5584d6=0x0,_0x1daf58=0x1,_0x1519a8=0x0,_0x3721c0=0x1;this['fRX1']<0x0&&(_0x270df4=0x1*-this['fRX1'],_0x31e7b7=_0x270df4/=0x2*_0x97a6e6,_0x5584d6=_0x270df4),this['fRX2']>0x1&&(_0x511c2e=0x1*(this['fRX2']-0x1),_0x518bba=0x1-(_0x511c2e/=0x2*_0x97a6e6),_0x1daf58=0x1-_0x511c2e),this['fRY1']<0x0&&(_0x299837=-this['fRY1']*_0x5b42ad,_0x5e878f=(_0x299837/=0x2*_0x97a6e6)>0.1?_0x299837:0.1,_0x1519a8=_0x299837),this['fRY2']>0x1&&(_0x550b45=(this['fRY2']-0x1)*_0x5b42ad,_0x5803fe=(_0x550b45/=0x2*_0x97a6e6)>0x1-0.9?0x1-_0x550b45:0.9,_0x3721c0=0x1-_0x550b45);var _0x304871={},_0x166890={};_0x304871['fX']=_0x13f165*(_0x518bba-_0x31e7b7)+_0x31e7b7,_0x304871['fY']=_0x546fa4*(_0x5803fe-_0x5e878f)+_0x5e878f;var _0x49ee13=Math['sqrt'](0.25-(_0x304871['fY']-0.5)*(_0x304871['fY']-0.5));return _0x166890['fX']=(_0x304871['fX']-0.5)*_0x49ee13/0.5+0.5,_0x166890['fY']=_0x304871['fY'],_0x166890['fX']=(_0x166890['fX']-_0x5584d6)/(_0x1daf58-_0x5584d6),_0x166890['fY']=(_0x166890['fY']-_0x1519a8)/(_0x3721c0-_0x1519a8),_0x5e97cc['fX']=_0x166890['fX'],_0x5e97cc['fY']=_0x166890['fY'],_0x12eada['SR_OK'];}},{'key':'UpdatePTZPosition','value':function(_0x344005,_0x489379,_0xc348c7){if(null==this['pRenderParam'][_0x344005])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x5a24e8={'fHAngleSin':0x0,'fHAngleCos':0x0,'fVAngleSin':0x0,'fVAngleCos':0x0},_0x3e1ec1=_0x12eada['SR_OK'];if(_0x4d466f['SR_DE_FISH_PTZ_FLOOR']==this['pRenderParam'][_0x344005]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_CEILING']==this['pRenderParam'][_0x344005]['nDisplayEffect']){if((_0x3e1ec1=this['ComputeAngleVertical'](_0x489379,_0xc348c7,_0x5a24e8,this['pRenderParam'][_0x344005]['nDisplayEffect']))!=_0x12eada['SR_OK'])return _0x3e1ec1;}else{if(_0x4d466f['SR_DE_FISH_PTZ_WALL']!=this['pRenderParam'][_0x344005]['nDisplayEffect'])return _0x12eada['SR_ERR_NOT_SUPPORT'];if((_0x3e1ec1=this['ComputeAngleHorizontal'](_0x489379,_0xc348c7,_0x5a24e8))!=_0x12eada['SR_OK'])return _0x3e1ec1;}return 0x0==this['IsInImage'](this['fRX1'],this['fRX2'],this['fRY1'],this['fRY2'],_0x5a24e8,this['pRenderParam'][_0x344005]['fZoom'],this['pRenderParam'][_0x344005]['nDisplayEffect'])?_0x12eada['SR_ERR_PARAM']:(this['pRenderParam'][_0x344005]['fCosH']=_0x5a24e8['fHAngleCos'],this['pRenderParam'][_0x344005]['fSinH']=_0x5a24e8['fHAngleSin'],this['pRenderParam'][_0x344005]['fCosV']=_0x5a24e8['fVAngleCos'],this['pRenderParam'][_0x344005]['fSinV']=_0x5a24e8['fVAngleSin'],_0x12eada['SR_OK']);}},{'key':'JudgeDisplayEffect','value':function(_0x1513e5){var _0x37660e=0x0;switch(_0x37660e){case 0x0:return _0x37660e=this['GetPlaceType'](_0x1513e5),0x4==this['nPlaceType']&&(this['nPlaceType']=0x0),_0x12eada['SR_OK'];case 0x3:return(_0x37660e=this['GetPlaceType'](_0x1513e5))==this['nPlaceType']||0x4==this['nPlaceType']?_0x12eada['SR_OK']:_0x12eada['SR_ERR_NOT_SUPPORT'];case 0x2:case 0x1:return(_0x37660e=this['GetPlaceType'](_0x1513e5))==this['nPlaceType']||0x4==_0x37660e?_0x12eada['SR_OK']:_0x12eada['SR_ERR_NOT_SUPPORT'];default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_ERR_NOT_SUPPORT'];}},{'key':'GetPlaceType','value':function(_0x3cf74e){switch(_0x3cf74e){case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']:case _0x4d466f['SR_DE_FISH_CYLINDER_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']:return 0x3;case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:case _0x4d466f['SR_DE_FISH_PANARAMA_FLOOR_180']:case _0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']:return 0x2;case _0x4d466f['SR_DE_FISH_PTZ_WALL']:case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']:return 0x1;case _0x4d466f['SR_DE_FISH_SEMISPHERE']:case _0x4d466f['SR_DE_FISH_ORIGINAL']:case _0x4d466f['SR_DE_FISH_PLANET']:case _0x4d466f['SR_DE_PANORAMA_SPHERE']:case _0x4d466f['SR_DE_PANORAMA_PLANET']:return 0x4;default:return 0x0;}return 0x0;}},{'key':'SetFishParam','value':function(_0x57e48a,_0x1e44a5){if(_0x57e48a<0x0||_0x57e48a>=0x20)return _0x12eada['SR_ERR_PARAM'];if(null==_0x1e44a5)return _0x12eada['SR_ERR_PARAM'];if(null==this['pRenderParam'][_0x57e48a])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x198ee8=_0x12eada['SR_OK'];switch(_0x1e44a5['nFishParamType']){case _0x1a6379['SR_FPT_CENTER']:if((_0x198ee8=this['UpdateCircyeParam'](_0x1e44a5['fRXLeft'],_0x1e44a5['fRXRight'],_0x1e44a5['fRYTop'],_0x1e44a5['fRYBottom']))!=_0x12eada['SR_OK'])return _0x198ee8;this['pRenderParam'][_0x57e48a]['bCut']=_0x1e44a5['bCut'],this['bBlack']=_0x1e44a5['bBlack'];break;case _0x1a6379['SR_FPT_ANGLE']:if(_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect'])return _0x12eada['SR_ERR_NOT_SUPPORT'];if((_0x198ee8=this['UpdateWideScanAngle'](_0x57e48a,_0x1e44a5['fAngle']))!=_0x12eada['SR_OK'])return _0x198ee8;this['pFishParam'][_0x57e48a]['fAngle']=_0x1e44a5['fAngle'];break;case _0x1a6379['SR_FPT_ZOOM']:if(_0x4d466f['SR_DE_FISH_PTZ_WALL']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PTZ_CEILING']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PTZ_FLOOR']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect'])return _0x12eada['SR_ERR_NOT_SUPPORT'];if((_0x198ee8=this['UpdateRangeParam'](_0x57e48a,_0x1e44a5['fZoom']))!=_0x12eada['SR_OK'])return _0x198ee8;this['pFishParam'][_0x57e48a]['fZoom']=_0x1e44a5['fZoom'];break;case _0x1a6379['SR_FPT_PTZ']:if(_0x4d466f['SR_DE_FISH_PTZ_WALL']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PTZ_CEILING']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PTZ_FLOOR']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect'])return _0x12eada['SR_ERR_NOT_SUPPORT'];if((_0x198ee8=this['UpdatePTZPosition'](_0x57e48a,_0x1e44a5['fPTZX'],_0x1e44a5['fPTZY'],this['pRenderParam'][_0x57e48a]['fZoom'],!0x0))!=_0x12eada['SR_OK'])return _0x198ee8;this['pFishParam'][_0x57e48a]['fPTZX']=_0x1e44a5['fPTZX'],this['pFishParam'][_0x57e48a]['fPTZY']=_0x1e44a5['fPTZY'];break;case _0x1a6379['SR_FPT_NULL']:default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return this['ComputePTZPoints'](),_0x12eada['SR_OK'];}},{'key':'GetFishParam','value':function(_0x157bfb,_0x583e23){return _0x157bfb<0x0||_0x157bfb>=0x20||null==_0x583e23||null==this['pFishParam'][_0x157bfb]?_0x12eada['SR_ERR_PARAM']:(_0x583e23['fRXLeft']=this['fRX1'],_0x583e23['fRXRight']=this['fRX2'],_0x583e23['fRYTop']=this['fRY1'],_0x583e23['fRYBottom']=this['fRY2'],_0x583e23['bBlack']=this['bBlack'],_0x583e23['bCut']=this['pRenderParam'][_0x157bfb]['bCut'],_0x583e23['nFishParamType']=this['pFishParam'][_0x157bfb]['nFishParamType'],_0x583e23['fAngle']=this['pFishParam'][_0x157bfb]['fAngle'],_0x583e23['fZoom']=this['pFishParam'][_0x157bfb]['fZoom'],_0x583e23['fPTZX']=this['pFishParam'][_0x157bfb]['fPTZX'],_0x583e23['fPTZY']=this['pFishParam'][_0x157bfb]['fPTZY'],_0x12eada['SR_OK']);}},{'key':'GetRenderParam','value':function(_0x3d11e1,_0x34a1af){return _0x3d11e1<0x0||_0x3d11e1>=0x20||null==_0x34a1af||null==this['pRenderParam'][_0x3d11e1]?_0x12eada['SR_ERR_PARAM']:(_0x34a1af['fRXLeft']=this['fRX1'],_0x34a1af['fRXRight']=this['fRX2'],_0x34a1af['fRYTop']=this['fRY1'],_0x34a1af['fRYBottom']=this['fRY2'],_0x34a1af['bBlack']=this['bBlack'],_0x34a1af['fCosH']=this['pRenderParam'][_0x3d11e1]['fCosH'],_0x34a1af['fSinH']=this['pRenderParam'][_0x3d11e1]['fSinH'],_0x34a1af['fCosV']=this['pRenderParam'][_0x3d11e1]['fCosV'],_0x34a1af['fSinV']=this['pRenderParam'][_0x3d11e1]['fSinV'],_0x34a1af['fAngle']=this['pRenderParam'][_0x3d11e1]['fAngle'],_0x34a1af['fZoom']=this['pRenderParam'][_0x3d11e1]['fZoom'],_0x34a1af['nDisplayEffect']=this['pRenderParam'][_0x3d11e1]['nDisplayEffect'],_0x34a1af['bCut']=this['pRenderParam'][_0x3d11e1]['bCut'],_0x12eada['SR_OK']);}},{'key':'UpdateCircyeParam','value':function(_0x2eac63,_0x1906e0,_0x235deb,_0x428641){if(_0x2eac63<=-0.5||_0x2eac63>=0.4||_0x1906e0<=0.6||_0x1906e0>=1.5||_0x235deb<=-0.5||_0x235deb>=0.4||_0x428641<=0.6||_0x428641>=1.5||_0x2eac63+_0x1906e0<=0.8||_0x2eac63+_0x1906e0>=1.2||_0x235deb+_0x428641<=0.8||_0x235deb+_0x428641>=1.2)return _0x12eada['SR_ERR_PARAM'];if(_0x2eac63<0x0||_0x1906e0>0x1||_0x235deb<0x0||_0x428641>0x1){for(var _0x64a2d3=0x0;_0x64a2d3<0x20;++_0x64a2d3)if(null!=this['pRenderParam'][_0x64a2d3]&&(_0x4d466f['SR_DE_FISH_PTZ_CEILING']==this['pRenderParam'][_0x64a2d3]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_FLOOR']==this['pRenderParam'][_0x64a2d3]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_WALL']==this['pRenderParam'][_0x64a2d3]['nDisplayEffect'])){var _0x2fd367={};if(_0x2fd367['fHAngleCos']=this['pRenderParam'][_0x64a2d3]['fCosH'],_0x2fd367['fHAngleSin']=this['pRenderParam'][_0x64a2d3]['fSinH'],_0x2fd367['fVAngleCos']=this['pRenderParam'][_0x64a2d3]['fCosV'],_0x2fd367['fVAngleSin']=this['pRenderParam'][_0x64a2d3]['fSinV'],0x0==this['IsInImage'](_0x2eac63,_0x1906e0,_0x235deb,_0x428641,_0x2fd367,this['pRenderParam'][_0x64a2d3]['fZoom'],this['pRenderParam'][_0x64a2d3]['nDisplayEffect']))return _0x12eada['SR_ERR_PARAM'];}}return this['fRX1']=_0x2eac63,this['fRX2']=_0x1906e0,this['fRY1']=_0x235deb,this['fRY2']=_0x428641,_0x12eada['SR_OK'];}},{'key':'UpdateWideScanAngle','value':function(_0xe12a61,_0x281c10){return null==this['pRenderParam'][_0xe12a61]?_0x12eada['SR_ERR_CALL_ORDER']:(_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']==this['pRenderParam'][_0xe12a61]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']==this['pRenderParam'][_0xe12a61]['nDisplayEffect']?this['pRenderParam'][_0xe12a61]['fAngle']=_0x281c10:_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']!=this['pRenderParam'][_0xe12a61]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']!=this['pRenderParam'][_0xe12a61]['nDisplayEffect']||(this['pRenderParam'][_0xe12a61]['fAngle']=-_0x281c10),_0x12eada['SR_OK']);}},{'key':'ComputeAngleVertical','value':function(_0x315676,_0x40db32,_0x4c4380,_0x91345a){var _0x1cce3b=_0x315676,_0xd7b4a3=_0x40db32,_0x105075=Math['sqrt']((_0xd7b4a3-0.5)*(_0xd7b4a3-0.5)+(_0x1cce3b-0.5)*(_0x1cce3b-0.5));if(_0x105075>0.5)return _0x12eada['SR_ERR_PARAM'];if(_0x105075<0.001)return _0x4c4380['fVAngleCos']=0x1,_0x4c4380['fVAngleSin']=0x0,_0x4c4380['fHAngleCos']=0x1,_0x4c4380['fHAngleSin']=0x0,_0x12eada['SR_OK'];if(_0x91345a==_0x4d466f['SR_DE_FISH_PTZ_CEILING']){_0x4c4380['fHAngleCos']=(0.5-_0xd7b4a3)/_0x105075,_0x4c4380['fHAngleSin']=(0.5-_0x1cce3b)/_0x105075;var _0x312cf1=_0x105075*_0x645d1a;_0x4c4380['fVAngleCos']=Math['cos'](_0x312cf1),_0x4c4380['fVAngleSin']=Math['sin'](_0x312cf1);}else{if(_0x91345a!=_0x4d466f['SR_DE_FISH_PTZ_FLOOR'])return _0x12eada['SR_ERR_PARAM'];_0x4c4380['fHAngleCos']=(_0xd7b4a3-0.5)/_0x105075,_0x4c4380['fHAngleSin']=(0.5-_0x1cce3b)/_0x105075;var _0x3190a1=_0x105075*_0x645d1a;_0x4c4380['fVAngleCos']=Math['cos'](_0x3190a1),_0x4c4380['fVAngleSin']=Math['sin'](_0x3190a1);}return _0x12eada['SR_OK'];}},{'key':'ComputeAngleHorizontal','value':function(_0xa3366a,_0x45f8a7,_0x293b99){var _0x383236,_0x52ddbd,_0x28961f,_0x5da65d,_0x146f66,_0x3e91bd,_0xbb4266,_0x19eb91=_0xa3366a,_0x392f32=_0x45f8a7;return(_0x392f32-(_0x146f66=0.5))*(_0x392f32-_0x146f66)+(_0x19eb91-_0x146f66)*(_0x19eb91-_0x146f66)>0.25?_0x12eada['SR_ERR_PARAM']:(_0x3e91bd=(_0x392f32-_0x146f66)/_0x146f66*_0x645d1a/0x2,_0x383236=Math['cos'](_0x3e91bd),_0x52ddbd=Math['sin'](_0x3e91bd),(_0x19eb91-_0x146f66)/_0x146f66/_0x383236>0x1||(_0x19eb91-_0x146f66)/_0x146f66/_0x383236<-0x1?_0x12eada['SR_ERR_PARAM']:(_0xbb4266=(_0x19eb91-_0x146f66)/_0x146f66/_0x383236*_0x645d1a/0x2,_0x28961f=Math['cos'](_0xbb4266),_0x5da65d=Math['sin'](_0xbb4266),_0x293b99['fVAngleCos']=_0x383236,_0x293b99['fVAngleSin']=_0x52ddbd,_0x293b99['fHAngleCos']=_0x28961f,_0x293b99['fHAngleSin']=_0x5da65d,_0x12eada['SR_OK']));}},{'key':'IsInImage','value':function(_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda,_0x2720ee,_0x5f2b8b){return 0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0x1,0.5,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0x0,0.5,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0.5,0x1,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0.5,0x0,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0x0,0x0,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0x0,0x1,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0x1,0x1,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0x1,0x0,_0x5f2b8b);}},{'key':'IsOutofImage','value':function(_0x3ca651,_0x5c3e74,_0x34e499,_0x4a3a30,_0x3be4bb,_0x33a0b9,_0x2f645a,_0x649a62,_0x4f2000,_0x9fcda8,_0x4224f1,_0x4935a4){var _0x3c96ee,_0x4e07a1,_0x385611,_0x1785f8,_0x4771c6,_0x459190,_0x5d12f9,_0x529bc4,_0x174913,_0x89433d,_0x4dff67,_0x58f062,_0x280aca;if(_0x4dff67=(_0x3ca651+_0x5c3e74)/0x2*0x1,_0x58f062=(_0x34e499+_0x4a3a30)/0x2*(_0x89433d=(_0x5c3e74-_0x3ca651)/(_0x4a3a30-_0x34e499)),_0x280aca=(_0x5c3e74-_0x3ca651)/0x2*0x1,_0x4935a4==_0x4d466f['SR_DE_FISH_PTZ_CEILING']){if(_0x4e07a1=_0x9fcda8-0.5,_0x385611=(_0x3c96ee=0.5-_0x4224f1)*_0x2f645a+(_0x459190=_0x4f2000)*_0x649a62,(_0x5d12f9=_0x459190*_0x2f645a-_0x3c96ee*_0x649a62)<=0x0)return!0x0;_0x174913=Math['sqrt'](_0x4e07a1*_0x4e07a1+_0x385611*_0x385611);var _0x4b9483=Math['sqrt'](_0x4e07a1*_0x4e07a1+_0x385611*_0x385611+_0x5d12f9*_0x5d12f9),_0x452069=Math['asin'](_0x174913/_0x4b9483)/1.5707963*0.5;if(_0x4771c6=(-((_0x4e07a1=_0x452069*_0x4e07a1/_0x174913)*_0x33a0b9+(_0x385611=_0x452069*_0x385611/_0x174913)*_0x3be4bb)*_0x280aca*0x2+_0x58f062)/_0x89433d,(_0x1785f8=((_0x4e07a1*_0x3be4bb-_0x385611*_0x33a0b9)*_0x280aca*0x2+_0x4dff67)/0x1)<0x0||_0x1785f8>0x1||_0x4771c6<0x0||_0x4771c6>0x1)return!0x0;}if(_0x4935a4==_0x4d466f['SR_DE_FISH_PTZ_FLOOR']){if(_0x4e07a1=_0x9fcda8-0.5,_0x385611=(_0x3c96ee=_0x4224f1-0.5)*_0x2f645a+(_0x459190=_0x4f2000)*_0x649a62,(_0x5d12f9=_0x459190*_0x2f645a-_0x3c96ee*_0x649a62)<=0x0)return!0x0;_0x174913=Math['sqrt'](_0x4e07a1*_0x4e07a1+_0x385611*_0x385611);var _0x462bae=Math['sqrt'](_0x4e07a1*_0x4e07a1+_0x385611*_0x385611+_0x5d12f9*_0x5d12f9),_0x330f04=Math['asin'](_0x174913/_0x462bae)/1.5707963*0.5;if(_0x4771c6=(((_0x4e07a1=_0x330f04*_0x4e07a1/_0x174913)*_0x33a0b9+(_0x385611=_0x330f04*_0x385611/_0x174913)*_0x3be4bb)*_0x280aca*0x2+_0x58f062)/_0x89433d,(_0x1785f8=((_0x4e07a1*_0x3be4bb-_0x385611*_0x33a0b9)*_0x280aca*0x2+_0x4dff67)/0x1)<0x0||_0x1785f8>0x1||_0x4771c6<0x0||_0x4771c6>0x1)return!0x0;}if(_0x4935a4==_0x4d466f['SR_DE_FISH_PTZ_WALL']){if(_0x1785f8=(_0x4e07a1=_0x9fcda8-0.5)*_0x3be4bb+(_0x5d12f9=(_0x459190=_0x4f2000)*_0x2f645a-(_0x3c96ee=_0x4224f1-0.5)*_0x649a62)*_0x33a0b9,_0x4771c6=_0x385611=_0x3c96ee*_0x2f645a+_0x459190*_0x649a62,(_0x529bc4=_0x5d12f9*_0x3be4bb-_0x4e07a1*_0x33a0b9)<=0x0)return!0x0;_0x174913=Math['sqrt'](_0x1785f8*_0x1785f8+_0x4771c6*_0x4771c6);var _0x567958=Math['sqrt'](_0x1785f8*_0x1785f8+_0x4771c6*_0x4771c6+_0x529bc4*_0x529bc4),_0x452d95=Math['asin'](_0x174913/_0x567958)/1.5707963*0.5;if(_0x4771c6=(_0x452d95*_0x4771c6/_0x174913*_0x280aca*0x2+_0x58f062)/_0x89433d,(_0x1785f8=(_0x452d95*_0x1785f8/_0x174913*_0x280aca*0x2+_0x4dff67)/0x1)<0x0||_0x1785f8>0x1||_0x4771c6<0x0||_0x4771c6>0x1)return!0x0;}return!0x1;}},{'key':'ComputePTZPoints','value':function(){if(-0x1==this['nWndPort'])return _0x12eada['SR_ERR_CALL_ORDER'];for(var _0x42f881=0x0;_0x42f881<0x20;++_0x42f881)if(null!=this['pRenderParam'][_0x42f881]&&(_0x4d466f['SR_DE_FISH_PTZ_CEILING']==this['pRenderParam'][_0x42f881]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_FLOOR']==this['pRenderParam'][_0x42f881]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_WALL']==this['pRenderParam'][_0x42f881]['nDisplayEffect'])){var _0x1b6b49=_0x12eada['SR_OK'];if(this['nPTZDisplayMode']==_0x3b7ab3['SR_DM_RANGE']){if(_0x1b6b49=this['GetRangePoints'](_0x42f881),_0x12eada['SR_OK']!=_0x1b6b49)continue;if(_0x1b6b49=this['TransformPTZRangePoints'](_0x42f881),_0x12eada['SR_OK']!=_0x1b6b49)continue;}else{if(this['nPTZDisplayMode']==_0x3b7ab3['SR_DM_RECT']&&(_0x1b6b49=this['GetRectPoints'](_0x42f881),_0x12eada['SR_OK']!=_0x1b6b49))continue;}}return _0x12eada['SR_OK'];}},{'key':'GetWndPort','value':function(){return this['nWndPort'];}},{'key':'GetPTZDisplayMode','value':function(){return this['nPTZDisplayMode'];}},{'key':'GetPTZColor','value':function(_0x492712,_0x14241f){return _0x492712<0x0||_0x492712>=0x20||null==_0x14241f?_0x12eada['SR_ERR_PARAM']:(_0x14241f['fA']=this['stPTZColor'][_0x492712]['fA'],_0x14241f['fR']=this['stPTZColor'][_0x492712]['fR'],_0x14241f['fG']=this['stPTZColor'][_0x492712]['fG'],_0x14241f['fB']=this['stPTZColor'][_0x492712]['fB'],this['pPTZSetColor'][_0x492712]['bSetColor']&&(Math['abs'](this['pPTZSetColor'][_0x492712]['fA'])<0.000001||Math['abs'](this['pPTZSetColor'][_0x492712]['fR'])<0.000001||Math['abs'](this['pPTZSetColor'][_0x492712]['fG'])<0.000001||Math['abs'](this['pPTZSetColor'][_0x492712]['fB'])<0.000001)&&(_0x14241f['fA']=this['pPTZSetColor'][_0x492712]['fA'],_0x14241f['fR']=this['pPTZSetColor'][_0x492712]['fR'],_0x14241f['fG']=this['pPTZSetColor'][_0x492712]['fG'],_0x14241f['fB']=this['pPTZSetColor'][_0x492712]['fB']),_0x12eada['SR_OK']);}},{'key':'SetPTZColor','value':function(_0x42ca48,_0x4dfeda){return _0x42ca48<0x0||_0x42ca48>=0x20||null==_0x4dfeda?_0x12eada['SR_ERR_PARAM']:(this['pPTZSetColor'][_0x42ca48]['fR']=_0x4dfeda['fR'],this['pPTZSetColor'][_0x42ca48]['fG']=_0x4dfeda['fG'],this['pPTZSetColor'][_0x42ca48]['fB']=_0x4dfeda['fB'],this['pPTZSetColor'][_0x42ca48]['fA']=_0x4dfeda['fA'],this['pPTZSetColor'][_0x42ca48]['bSetColor']=!0x0,_0x12eada['SR_OK']);}},{'key':'IsPTZSelected','value':function(_0x4dd3c5){return!(_0x4dd3c5<0x0||_0x4dd3c5>=0x20)&&this['bPTZSelected'][_0x4dd3c5];}},{'key':'GetPTZPort','value':function(_0x48991a,_0x9261d7,_0x4f0396){if(-0x1==this['nWndPort'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x22f136=0x20,_0x36548e={};_0x36548e['fX']=_0x48991a,_0x36548e['fY']=_0x9261d7;for(var _0x26b42d=0x0;_0x26b42d<0x20;++_0x26b42d)this['bPTZSelected'][_0x26b42d]=!0x1;if(this['nPTZDisplayMode']==_0x3b7ab3['SR_DM_RANGE']){switch(this['pRenderParam'][this['nWndPort']]['nDisplayEffect']){case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:this['GetPointPano2FishFloor'](_0x36548e,_0x48991a,_0x9261d7);break;case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:this['GetPointPano2FishCeiling'](_0x36548e,_0x48991a,_0x9261d7);break;case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:this['GetPointPano2FishWall'](_0x36548e,_0x48991a,_0x9261d7);}for(var _0x453c20=0x0;_0x453c20<0x20;++_0x453c20)if(0x0!=this['nOriPTZPointNum'][_0x453c20]){var _0x1421c7={};_0x1421c7['fX']=this['pOriPTZPoints'][_0x453c20][0x0]['fX'],_0x1421c7['fY']=this['pOriPTZPoints'][_0x453c20][0x0]['fY'];var _0x29aa63={};_0x29aa63['fX']=this['pOriPTZPoints'][_0x453c20][0x0]['fX'],_0x29aa63['fY']=this['pOriPTZPoints'][_0x453c20][0x0]['fY'];for(var _0x2a6e48=0x1;_0x2a6e48=_0x29aa63['fX']&&_0x36548e['fY']>=_0x29aa63['fY']&&_0x36548e['fY']<=_0x1421c7['fY']){_0x22f136=_0x453c20;break;}}}else{if(this['nPTZDisplayMode']!=_0x3b7ab3['SR_DM_RECT'])return _0x12eada['SR_ERR_NOT_SUPPORT'];for(var _0x103486=0x0;_0x103486<0x20;++_0x103486)if(_0x36548e['fX']<=this['pRectPoints'][_0x103486][0x2]['fX']&&_0x36548e['fX']>=this['pRectPoints'][_0x103486][0x0]['fX']&&_0x36548e['fY']>=this['pRectPoints'][_0x103486][0x0]['fY']&&_0x36548e['fY']<=this['pRectPoints'][_0x103486][0x2]['fY']){_0x22f136=_0x103486;break;}}return _0x22f136<0x20?(this['bPTZSelected'][_0x22f136]=!0x0,_0x4f0396['nPTZPort']=_0x22f136,_0x12eada['SR_OK']):_0x12eada['SR_ERR_NOT_SUPPORT'];}},{'key':'SetPTZPort','value':function(_0xfeb96b){if(_0xfeb96b<0x0||_0xfeb96b>=0x20)return _0x12eada['SR_ERR_PARAM'];for(var _0x25952d=0x0;_0x25952d<0x20;++_0x25952d)this['bPTZSelected'][_0x25952d]=!0x1;if(this['nPTZDisplayMode']==_0x3b7ab3['SR_DM_RANGE']){if(0x0==this['nOriPTZPointNum'][_0xfeb96b])return _0x12eada['SR_ERR_PARAM'];this['bPTZSelected'][_0xfeb96b]=!0x0;}else{if(0x0==this['nPTZRectNum'][_0xfeb96b])return _0x12eada['SR_ERR_PARAM'];this['bPTZSelected'][_0xfeb96b]=!0x0;}return _0x12eada['SR_OK'];}},{'key':'GetPTZRectange','value':function(_0x52669e,_0x4d7842,_0x5c704d){return _0x5c704d['fX']<_0x4d7842['fX']&&(_0x4d7842['fX']=_0x5c704d['fX']),_0x5c704d['fY']<_0x4d7842['fY']&&(_0x4d7842['fY']=_0x5c704d['fY']),_0x5c704d['fX']>_0x52669e['fX']&&(_0x52669e['fX']=_0x5c704d['fX']),_0x5c704d['fY']>_0x52669e['fY']&&(_0x52669e['fY']=_0x5c704d['fY']),_0x12eada['SR_OK'];}},{'key':'GetPTZPoints','value':function(_0x212538,_0x33abed,_0x5f4a94){return _0x212538<0x0||_0x212538>=0x20?_0x12eada['SR_ERR_PARAM']:null==this['pRenderParam'][this['nWndPort']]?_0x12eada['SR_ERR_CALL_ORDER']:(_0x3b7ab3['SR_DM_RANGE']==_0x5f4a94?null!=this['pOriPTZPoints'][_0x212538]&&0x0!=this['nOriPTZPointNum'][_0x212538]&&(_0x33abed['pstPoints']=this['pOriPTZPoints'][_0x212538],_0x33abed['nPointNum']=this['nOriPTZPointNum'][_0x212538]):_0x3b7ab3['SR_DM_RECT']==_0x5f4a94&&null!=this['pRectPoints'][_0x212538]&&(_0x33abed['pstPoints']=this['pRectPoints'][_0x212538],_0x33abed['nPointNum']=0x4),_0x12eada['SR_OK']);}},{'key':'SetPTZDisplayMode','value':function(_0x5aec81){return this['nPTZDisplayMode']=_0x5aec81,this['ComputePTZPoints']();}},{'key':'GetDisplayEffect','value':function(_0x1b645a){return _0x1b645a<0x0||_0x1b645a>=0x20||null==this['pRenderParam']?_0x4d466f['SR_DE_NULL']:this['pRenderParam'][_0x1b645a]['nDisplayEffect'];}},{'key':'GetPTZFragmentPoints','value':function(_0x594db9,_0x295f28,_0x126286){if(_0x594db9<0x0||_0x594db9>=0x20)return _0x12eada['SR_ERR_PARAM'];if(null==this['pPanoPTZPoints'][_0x594db9]||0x0==this['nPanoPTZPointNum'][_0x594db9])return _0x12eada['SR_ERR_PARAM'];var _0x22e68a=this['nPTZFragmentNode'][_0x594db9][_0x126286];if(_0x295f28['nPointNum']=this['nPTZFragmentNode'][_0x594db9][_0x126286+0x1]-this['nPTZFragmentNode'][_0x594db9][_0x126286],_0x295f28['nPointNum']<0x0)return _0x12eada['SR_ERR_CALL_ORDER'];_0x295f28['pstPoints']=[];for(var _0x38bc61=0x0;_0x38bc61<_0x295f28['nPointNum'];++_0x38bc61){var _0x160e8e={};_0x160e8e['fX']=this['pPanoPTZPoints'][_0x594db9][_0x22e68a+_0x38bc61]['fX'],_0x160e8e['fY']=this['pPanoPTZPoints'][_0x594db9][_0x22e68a+_0x38bc61]['fY'],_0x295f28['pstPoints']['push'](_0x160e8e);}return _0x12eada['SR_OK'];}},{'key':'GetPTZFragmentNum','value':function(_0x565f8d){return _0x565f8d<0x0||_0x565f8d>=0x20||0x0==this['nPTZFragmentNum'][_0x565f8d]?0x0:this['nPTZFragmentNum'][_0x565f8d];}},{'key':'CalcPTZFragmentPoints','value':function(_0x34bde8){if(_0x34bde8<0x0||_0x34bde8>=0x20)return _0x12eada['SR_ERR_PARAM'];if(null==this['pPanoPTZPoints'][_0x34bde8]||0x0==this['nPanoPTZPointNum'][_0x34bde8])return _0x12eada['SR_ERR_CALL_ORDER'];this['nPTZFragmentNode'][_0x34bde8][0x0]=0x0,this['nPTZFragmentNum'][_0x34bde8]=0x1;for(var _0x38a102=0x0,_0x1d1160=0x0;_0x1d11600.5&&(_0x38a102=this['nPTZFragmentNum'][_0x34bde8],this['nPTZFragmentNode'][_0x34bde8][_0x38a102]=_0x1d1160+0x1,this['nPTZFragmentNum'][_0x34bde8]=this['nPTZFragmentNum'][_0x34bde8]+0x1);var _0x154b61=this['nPanoPTZPointNum'][_0x34bde8];return Math['abs'](this['pPanoPTZPoints'][_0x34bde8][0x0]['fX']-this['pPanoPTZPoints'][_0x34bde8][_0x154b61-0x1]['fX'])<0.5&&(this['pPanoPTZPoints'][_0x34bde8][_0x154b61]['fX']=this['pPanoPTZPoints'][_0x34bde8][0x0]['fX'],this['pPanoPTZPoints'][_0x34bde8][_0x154b61]['fY']=this['pPanoPTZPoints'][_0x34bde8][0x0]['fY'],this['nPanoPTZPointNum'][_0x34bde8]=this['nPanoPTZPointNum'][_0x34bde8]+0x1),_0x38a102=this['nPTZFragmentNum'][_0x34bde8],this['nPTZFragmentNode'][_0x34bde8][_0x38a102]=this['nPanoPTZPointNum'][_0x34bde8],_0x12eada['SR_OK'];}},{'key':'IsPortAllocated','value':function(_0x2faf88){return this['bPortAllocated'][_0x2faf88];}},{'key':'GetPointFish2PanoCeiling','value':function(_0x3e56ee,_0x149fb3,_0x3a81d7){if(null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x3e56ee)return _0x12eada['SR_ERR_PARAM'];var _0x1f58c4,_0x40c6db;_0x1f58c4=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x40c6db=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x161f34,_0x523231=0x0;(this['fRX2']>0x1||this['fRY2']>0x1||this['fRX1']<0x0||this['fRY1']<0x0)&&(this['fRX1']<0x0&&(_0x161f34=0x1*-this['fRX1'])>_0x523231&&(_0x523231=_0x161f34),this['fRX2']>0x1&&(_0x161f34=0x1*(this['fRX2']-0x1))>_0x523231&&(_0x523231=_0x161f34),this['fRY1']<0x0&&(_0x161f34=-this['fRY1']*_0x1f58c4)>_0x523231&&(_0x523231=_0x161f34),this['fRY2']>0x1&&(_0x161f34=(this['fRY2']-0x1)*_0x1f58c4)>_0x523231&&(_0x523231=_0x161f34));var _0x5d70ae,_0x865977=_0x523231/_0x40c6db,_0xa30fe1={'fX':0x0,'fY':0x0};if(Math['abs'](_0x149fb3-0.5)<0.000001&&Math['abs'](_0x3a81d7-0.5)<0.000001)return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x1864b5={},_0x525b9e={};_0x1864b5['fX']=_0x149fb3-0.5,_0x1864b5['fY']=_0x3a81d7-0.5,_0x525b9e['fX']=-0.5*Math['sin'](this['pRenderParam'][this['nWndPort']]['fAngle']),_0x525b9e['fY']=0.5*Math['cos'](this['pRenderParam'][this['nWndPort']]['fAngle']);var _0x102baf=Math['sqrt'](_0x1864b5['fX']*_0x1864b5['fX']+_0x1864b5['fY']*_0x1864b5['fY']),_0x8bbbd7=Math['sqrt'](_0x525b9e['fX']*_0x525b9e['fX']+_0x525b9e['fY']*_0x525b9e['fY']);return _0x5d70ae=Math['acos']((_0x1864b5['fX']*_0x525b9e['fX']+_0x1864b5['fY']*_0x525b9e['fY'])/(_0x102baf*_0x8bbbd7)),_0x1864b5['fX']*_0x525b9e['fY']-_0x1864b5['fY']*_0x525b9e['fX']>0x0&&(_0x5d70ae=6.2831852-_0x5d70ae),_0xa30fe1['fX']=_0x5d70ae/6.2831853,_0xa30fe1['fY']=(0x2*(0.5-_0x102baf)-_0x865977)/(0.8-_0x865977),_0xa30fe1['fY']>=0x0&&_0xa30fe1['fX']>=0x0&&_0xa30fe1['fY']<=0x1&&_0xa30fe1['fX']<=0x1?(_0x3e56ee['fX']=_0xa30fe1['fX'],_0x3e56ee['fY']=_0xa30fe1['fY'],_0x12eada['SR_OK']):_0x12eada['SR_ERR_PARAM'];}},{'key':'GetPointFish2PanoFloor','value':function(_0x5b776a,_0x2cf49e,_0x3fd881){if(null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x5b776a)return _0x12eada['SR_ERR_PARAM'];var _0x2efaf9,_0x17910b;_0x2efaf9=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x17910b=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x23e98d,_0xb74cd8=0x0;(this['fRX2']>0x1||this['fRY2']>0x1||this['fRX1']<0x0||this['fRY1']<0x0)&&(this['fRX1']<0x0&&(_0x23e98d=0x1*-this['fRX1'])>_0xb74cd8&&(_0xb74cd8=_0x23e98d),this['fRX2']>0x1&&(_0x23e98d=0x1*(this['fRX2']-0x1))>_0xb74cd8&&(_0xb74cd8=_0x23e98d),this['fRY1']<0x0&&(_0x23e98d=-this['fRY1']*_0x2efaf9)>_0xb74cd8&&(_0xb74cd8=_0x23e98d),this['fRY2']>0x1&&(_0x23e98d=(this['fRY2']-0x1)*_0x2efaf9)>_0xb74cd8&&(_0xb74cd8=_0x23e98d));var _0x4bdebb,_0x19ef37=_0xb74cd8/_0x17910b,_0x5e2482={'fX':0x0,'fY':0x0};if(Math['abs'](_0x2cf49e-0.5)<0.000001&&Math['abs'](_0x3fd881-0.5)<0.000001)return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x31065c={},_0x508a28={};_0x31065c['fX']=_0x2cf49e-0.5,_0x31065c['fY']=_0x3fd881-0.5,_0x508a28['fX']=-0.5*Math['sin'](this['pRenderParam'][this['nWndPort']]['fAngle']),_0x508a28['fY']=0.5*Math['cos'](this['pRenderParam'][this['nWndPort']]['fAngle']);var _0x13aa5d=Math['sqrt'](_0x31065c['fX']*_0x31065c['fX']+_0x31065c['fY']*_0x31065c['fY']),_0x1c9ee2=Math['sqrt'](_0x508a28['fX']*_0x508a28['fX']+_0x508a28['fY']*_0x508a28['fY']);return _0x4bdebb=Math['acos']((_0x31065c['fX']*_0x508a28['fX']+_0x31065c['fY']*_0x508a28['fY'])/(_0x13aa5d*_0x1c9ee2)),_0x31065c['fX']*_0x508a28['fY']-_0x31065c['fY']*_0x508a28['fX']>0x0&&(_0x4bdebb=6.2831852-_0x4bdebb),_0x5e2482['fX']=0x1-_0x4bdebb/6.2831853,_0x5e2482['fY']=0x1-(0x2*(0.5-_0x13aa5d)-_0x19ef37)/(0.8-_0x19ef37),_0x5e2482['fY']>=0x0&&_0x5e2482['fX']>=0x0&&_0x5e2482['fY']<=0x1&&_0x5e2482['fX']<=0x1?(_0x5b776a['fX']=_0x5e2482['fX'],_0x5b776a['fY']=_0x5e2482['fY'],_0x12eada['SR_OK']):_0x12eada['SR_ERR_PARAM'];}},{'key':'GetPointFish2PanoWall','value':function(_0x37cb2a,_0x3ba453,_0x3f6191){if(null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x37cb2a)return _0x12eada['SR_ERR_PARAM'];var _0x5056e5,_0x4e41d3;_0x5056e5=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x4e41d3=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x2b07a0,_0x458ec3,_0x296e70,_0x48688d,_0x3a75a8,_0x3bbad3=0x0,_0x4c1503=0x1,_0x249f84=0.1,_0x5016eb=0.9;this['fRX1']<0x0&&(_0x2b07a0=0x1*-this['fRX1'],_0x3bbad3=_0x2b07a0/=0x2*_0x4e41d3),this['fRX2']>0x1&&(_0x458ec3=0x1*(this['fRX2']-0x1),_0x4c1503=0x1-(_0x458ec3/=0x2*_0x4e41d3)),this['fRY1']<0x0&&(_0x296e70=-this['fRY1']*_0x5056e5,_0x249f84=(_0x296e70/=0x2*_0x4e41d3)>0.1?_0x296e70:0.1),this['fRY2']>0x1&&(_0x48688d=(this['fRY2']-0x1)*_0x5056e5,_0x5016eb=(_0x48688d/=0x2*_0x4e41d3)>0x1-0.9?0x1-_0x48688d:0.9);var _0xbd1d6c={'fX':0x0,'fY':0x0},_0x42697b=0x2*_0x3ba453*_0x4e41d3,_0x40476e=0x2*_0x3f6191*_0x4e41d3;return _0x3a75a8=Math['sqrt'](_0x4e41d3*_0x4e41d3-(_0x40476e-_0x4e41d3)*(_0x40476e-_0x4e41d3)),Math['abs'](_0x3a75a8)<0.000001?_0x12eada['SR_ERR_PARAM']:(_0x3ba453=_0x4e41d3*(_0x42697b-_0x4e41d3)/_0x3a75a8+_0x4e41d3,_0x3f6191=_0x40476e,_0xbd1d6c['fX']=(_0x3ba453-0x2*_0x3bbad3*_0x4e41d3)/(0x2*(_0x4c1503-_0x3bbad3)*_0x4e41d3),_0xbd1d6c['fY']=(_0x3f6191-0x2*_0x249f84*_0x4e41d3)/(0x2*(_0x5016eb-_0x249f84)*_0x4e41d3),_0xbd1d6c['fY']>=0x0&&_0xbd1d6c['fX']>=0x0&&_0xbd1d6c['fY']<=0x1&&_0xbd1d6c['fX']<=0x1?(_0x37cb2a['fX']=_0xbd1d6c['fX'],_0x37cb2a['fY']=_0xbd1d6c['fY'],_0x12eada['SR_OK']):_0x12eada['SR_ERR_PARAM']);}},{'key':'UpdateRangeParam','value':function(_0x5e6296,_0x2f9cda){if(null==this['pRenderParam'][_0x5e6296])return _0x12eada['SR_ERR_CALL_ORDER'];if(_0x2f9cda<0.00001||_0x2f9cda>0.6)return _0x12eada['SR_ERR_PARAM'];var _0xbe8853=0x0;return _0x4d466f['SR_DE_FISH_PTZ_WALL']!=this['pRenderParam'][_0x5e6296]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PTZ_CEILING']!=this['pRenderParam'][_0x5e6296]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PTZ_FLOOR']!=this['pRenderParam'][_0x5e6296]['nDisplayEffect']||(_0xbe8853=0x7*_0x2f9cda+0.8,this['IsInImage'](this['fRX1'],this['fRX2'],this['fRY1'],this['fRY2'],this['pRenderParam'][_0x5e6296]['fCosH'],this['pRenderParam'][_0x5e6296]['fSinH'],this['pRenderParam'][_0x5e6296]['fCosV'],this['pRenderParam'][_0x5e6296]['fSinV'],_0xbe8853,this['pRenderParam'][_0x5e6296]['nDisplayEffect']))?(this['pRenderParam'][_0x5e6296]['fZoom']=_0xbe8853,_0x12eada['SR_OK']):_0x12eada['SR_ERR_PARAM'];}}]),_0x2b7417;}()),_0x28ed38=_0x39fedc['Dv'],_0x506212=_0x39fedc['CF'],_0x21dfba=_0x39fedc['bC'],_0x15f25d=(function(){function _0x1cfefa(){_0x1d88b2(this,_0x1cfefa),this['canvas']=null,this['ctx']=null,this['regionSx']=0x0,this['regionSy']=0x0,this['regionSw']=0x0,this['regionSh']=0x0,this['needRect']=!0x1,this['bAntialias']=!0x1,this['bRecreateAntia']=!0x1,this['pfuncCBIn']=null,this['pUserIn']=null,this['pfuncCBOut']=null,this['pUserOut']=null;}return _0x4e686c(_0x1cfefa,[{'key':'SR_Init','value':function(_0x358a92){this['canvas']=_0x358a92,this['ctx']=this['canvas']['getContext']('2d'),console['log']('2d\\x20render\\x20init'),this['ctx']||console['log']('your\\x20browser\\x20does\\x20not\\x20support\\x202d\\x20render');}},{'key':'SR_Draw','value':function(_0x79c56b){return this['needRect']?this['ctx']['drawImage'](_0x79c56b,this['regionSx'],this['regionSy'],this['regionSw'],this['regionSh'],0x0,0x0,this['canvas']['width'],this['canvas']['height']):this['ctx']['drawImage'](_0x79c56b,0x0,0x0,_0x79c56b['displayWidth'],_0x79c56b['displayHeight'],0x0,0x0,this['canvas']['width'],this['canvas']['height']),null!=this['pfuncCBIn']&&this['pfuncCBIn'](this['pUserIn']),0x1;}},{'key':'SR_UpdateFrameData','value':function(_0x1ff803,_0x59d645,_0x460199,_0x19174c,_0x1c5dce){return this['needRect']?this['ctx']['drawImage'](_0x1ff803,this['regionSx'],this['regionSy'],this['regionSw'],this['regionSh'],0x0,0x0,this['canvas']['width'],this['canvas']['height']):this['ctx']['drawImage'](_0x1ff803,0x0,0x0,_0x59d645,_0x460199,0x0,0x0,this['canvas']['width'],this['canvas']['height']),null!=this['pfuncCBIn']&&this['pfuncCBIn'](this['pUserIn']),0x1;}},{'key':'SR_Display','value':function(_0x182f5c){return 0x1;}},{'key':'SR_GetCaptureSize','value':function(){return 0x0;}},{'key':'GetCanvasData','value':function(_0x50427){console['log']('%c\\x20start\\x20time:'+new Date()['getMinutes']()+':'+new Date()['getSeconds']()+'.'+new Date()['getMilliseconds'](),'color:\\x20blue');var _0x4d933a=this['ctx']['getImageData'](0x0,0x0,this['canvas']['width'],this['canvas']['height']);console['log']('%c\\x202\\x20time:'+new Date()['getMinutes']()+':'+new Date()['getSeconds']()+'.'+new Date()['getMilliseconds'](),'color:\\x20blue');var _0x22251e='jpeg',_0x59b849='image/jpeg',_0x1ed1b3=document['createElement']('canvas'),_0x32c2ac=_0x1ed1b3['getContext']('2d');_0x1ed1b3['width']=this['canvas']['width'],_0x1ed1b3['height']=this['canvas']['height'],_0x32c2ac['putImageData'](_0x4d933a,0x0,0x0);var _0x14eddf=_0x1ed1b3['toDataURL'](),_0x3b459b=document['createElement']('a');_0x3b459b['download']=new Date()['getTime']()+'.'+_0x22251e,_0x3b459b['href']=_0x14eddf,_0x3b459b['dataset']['downloadurl']=[_0x59b849,_0x3b459b['download'],_0x3b459b['href']]['join'](':'),document['body']['appendChild'](_0x3b459b),_0x3b459b['click'](),document['body']['removeChild'](_0x3b459b),console['log']('%c\\x20end\\x20time:'+new Date()['getMinutes']()+':'+new Date()['getSeconds']()+'.'+new Date()['getMilliseconds'](),'color:\\x20blue');}},{'key':'SR_DelSubPort','value':function(_0x1717a6){return 0x0;}},{'key':'SR_AddSubPort','value':function(_0x104f19){return 0x0;}},{'key':'SR_SetDisplayRect','value':function(_0x2ae66e,_0x28a416,_0x538311,_0x5e8228){this['regionSx']=_0x2ae66e,this['regionSy']=_0x28a416,this['regionSw']=_0x538311,this['regionSh']=_0x5e8228,this['needRect']=!0x0;}},{'key':'SR_Destroy','value':function(){this['canvas']=null,this['ctx']=null,this['regionSx']=0x0,this['regionSy']=0x0,this['regionSw']=0x0,this['regionSh']=0x0,this['needRect']=!0x1;}},{'key':'SR_SetCanvasSize','value':function(_0x21a0f8,_0x2ac8ae){this['canvas']['width']=_0x21a0f8,this['canvas']['height']=_0x2ac8ae;}},{'key':'SR_GetCanvasSize','value':function(){console['log']('canvas\\x20width:'+this['canvas']['width']+',height:'+this['canvas']['height']);}},{'key':'SR_SetAntialias','value':function(_0x487ba9){return _0x487ba9!=this['bAntialias']?(this['bAntialias']=_0x487ba9,this['bRecreateAntia']=!0x0):this['bRecreateAntia']=!0x1,this['bRecreateAntia']&&(this['bAntialias']?(this['canvas']['width']=0x5*this['canvas']['width'],this['canvas']['height']=0x5*this['canvas']['height'],this['canvas']['style']['transform']='scale(0.2)',this['canvas']['style']['transformOrigin']='0\\x200'):(this['canvas']['width']=this['canvas']['width']/0x5,this['canvas']['height']=this['canvas']['height']/0x5,this['canvas']['style']['transform']='scale(1)',this['canvas']['style']['transformOrigin']='0\\x200')),0x1;}},{'key':'SR_SetCallBack','value':function(_0x16be5f,_0xecfc1f,_0x37f010){switch(_0x37f010){case _0x21dfba['SRCALLBACKTYPE']['SR_CBT_NULL']:this['pfuncCBIn']=_0x16be5f,this['pUserIn']=_0xecfc1f;break;case _0x21dfba['SRCALLBACKTYPE']['SR_CBT_OUT']:this['pfuncCBOut']=_0x16be5f,this['pUserOut']=_0xecfc1f;break;default:return 0x0;}return 0x1;}},{'key':'SR_DrawFont','value':function(_0x1c8a72,_0x208110,_0x44506c,_0x5196f1,_0x4d49f8,_0x427321,_0x2c334a,_0x105a70,_0x1b2891){var _0x4f3eef=[],_0x14e462={};return _0x14e462['bBackground']=_0x427321,_0x14e462['nFontWidth']=_0x5196f1,_0x14e462['nFontHeight']=_0x4d49f8,_0x14e462['pstBGColor']=_0x2c334a,_0x14e462['pstFontColor']=_0x44506c,_0x14e462['pString']=_0x1c8a72,_0x14e462['pstStartPos']=_0x208110,_0x14e462['fRotateAngle']=_0x105a70,_0x14e462['pFontFamily']=_0x1b2891,_0x4f3eef['push'](_0x14e462),this['SR_DrawFontEx'](_0x4f3eef,0x1),0x1;}},{'key':'SR_DrawFontEx','value':function(_0x34d803,_0x1c9fc5){for(var _0x314ff8=0x0;_0x314ff8<_0x1c9fc5;_0x314ff8++){this['ctx']['textBaseline']='top';var _0x14264c=_0x34d803[_0x314ff8]['nFontWidth'],_0x5356cb=_0x34d803[_0x314ff8]['nFontHeight'],_0x301a48=(_0x14264c=Math['round'](_0x14264c))<(_0x5356cb=Math['round'](_0x5356cb))?_0x14264c:_0x5356cb;this['ctx']['font']=_0x301a48['toString']()+'px\\x20'+_0x34d803[_0x314ff8]['pFontFamily'];var _0x40c5b0=parseInt(0xff*_0x34d803[_0x314ff8]['pstFontColor']['fR']),_0x314e75=parseInt(0xff*_0x34d803[_0x314ff8]['pstFontColor']['fG']),_0x4c21f7=parseInt(0xff*_0x34d803[_0x314ff8]['pstFontColor']['fB']),_0x8c9602=_0x40c5b0<0x10?'0'+_0x40c5b0['toString'](0x10):_0x40c5b0['toString'](0x10),_0x391129=_0x314e75<0x10?'0'+_0x314e75['toString'](0x10):_0x314e75['toString'](0x10),_0x54beb7=_0x4c21f7<0x10?'0'+_0x4c21f7['toString'](0x10):_0x4c21f7['toString'](0x10);this['ctx']['fillStyle']='#'+_0x8c9602+_0x391129+_0x54beb7,this['ctx']['globalAlpha']=_0x34d803[_0x314ff8]['pstFontColor']['fA'],this['ctx']['fillText'](_0x34d803[_0x314ff8]['pString'],_0x34d803[_0x314ff8]['pstStartPos']['fX']*this['canvas']['width'],_0x34d803[_0x314ff8]['pstStartPos']['fY']*this['canvas']['height']);}return 0x1;}},{'key':'SR_DrawImage','value':function(_0x30b25a,_0x86640c,_0x485603,_0x5422e4,_0x35d238,_0x2690de){return 0x1;}},{'key':'SR_DrawLinesEx','value':function(_0x49e3aa,_0x57d217,_0x3c5063,_0x4826ce){return 0x1;}}]),_0x1cfefa;}());function _0x9a07a6(_0x122da1,_0x50435f){var _0x413141=Object['keys'](_0x122da1);if(Object['getOwnPropertySymbols']){var _0x1f1c83=Object['getOwnPropertySymbols'](_0x122da1);_0x50435f&&(_0x1f1c83=_0x1f1c83['filter'](function(_0x329e28){return Object['getOwnPropertyDescriptor'](_0x122da1,_0x329e28)['enumerable'];})),_0x413141['push']['apply'](_0x413141,_0x1f1c83);}return _0x413141;}function _0x4c50a5(_0x17ae60){for(var _0x502bdd=0x1;_0x502bdd=0x0&&console['log']('2d\\x20render');else{if(this['oVideoHandle']=new _0x506212(),this['mainFECCorrect']!=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_NULL'])null==this['pFishParamManager']&&(this['pFishParamManager']=new _0x28ed38()),this['oVideoHandle']['SR_SetFishParamManager'](this['pFishParamManager']),this['hasSetFECParamManager']=!0x0;else{null==this['pFishParamManager']&&(this['pFishParamManager']=new _0x28ed38()),this['oVideoHandle']['SR_SetFishParamManager'](this['pFishParamManager']),this['hasSetFECParamManager']=!0x0;var _0x3f7be7=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_NULL'];_0x3f7be7=0x1==this['panoramaDisplayEffect']?_0x21dfba['SRDISPLAYEFFECT']['SR_DE_PANORAMA_SPHERE']:0x3==this['panoramaDisplayEffect']?_0x21dfba['SRDISPLAYEFFECT']['SR_DE_PANORAMA_PLANET']:_0x21dfba['SRDISPLAYEFFECT']['SR_DE_NULL'],this['mainFECCorrect']=_0x3f7be7;}this['printfFlag']>=0x0&&console['log']('webgl\\x20render\\x20this.printfFlag:'+this['printfFlag']);}return this['enPixelFormat']=_0x3ec2cd,this['oVideoHandle']['SR_Init'](_0x5f1e2a,_0x3ec2cd),this['mainVaildSubPort']=this['oVideoHandle']['SR_AddSubPort'](this['mainFECCorrect']),-0x1==this['mainVaildSubPort']?(console['info']('%c\\x20InitDisplay\\x20SR_AddSubPort\\x20error\\x20subport:%d','color:\\x20red',this['mainVaildSubPort']),0x0):(this['mainFECCorrect']==_0x21dfba['SRDISPLAYEFFECT']['SR_DE_PANORAMA_SPHERE']&&this['oVideoHandle']['SR_SetViewParam'](this['viewParamType'],this['viewParamValue']),0x1);}},{'key':'ReleaseDisplay','value':function(){if(null!=this['oVideoHandle']&&(this['oVideoHandle']['SR_DelSubPort'](this['mainVaildSubPort']),this['oVideoHandle']['SR_Destroy'](),this['oVideoHandle']=null),this['subPortNum']>0x0){for(var _0x42d98a=0x1;_0x42d98a<_0x3e91af;_0x42d98a++)0x0!=this['stFishEyeManager'][_0x42d98a]['nSubPort']&&null!=this['stFishEyeManager'][_0x42d98a]['sCanvasID']&&0x0!=this['stFishEyeManager'][_0x42d98a]['bInited']&&(this['FEC_Disable'](_0x42d98a),this['FEC_DelPort'](_0x42d98a));}for(var _0x50c8a1=0x0;_0x50c8a1<_0x3e91af;_0x50c8a1++)this['stFishEyeManager'][_0x50c8a1]['pRender']=null;return this['stFishEyeManager']['splice'](0x0,this['stFishEyeManager']['length']),this['stFishParam']['splice'](0x0,this['stFishParam']['length']),null!=this['pFishParamManager']&&(this['pFishParamManager']['DeInit'](),this['pFishParamManager']=null),this['FECShowMode']=_0x21dfba['SRPTZDISPLAYMODE']['SR_DM_RANGE'],this['DeInitPrivateParam'](),0x1;}},{'key':'DeInitPrivateParam','value':function(){this['privateNormalLinesInfo']['splice'](0x0,this['privateNormalLinesInfo']['length']),this['curNormalLinesInfo']=null,this['privateThermalLinesInfo']['splice'](0x0,this['privateThermalLinesInfo']['length']),this['curThermalLinesInfo']=null,this['privateTemLinesInfo']['splice'](0x0,this['privateTemLinesInfo']['length']),this['curTemLinesInfo']=null,this['privateTargetLinesInfo']['splice'](0x0,this['privateTargetLinesInfo']['length']),this['curTargetLinesInfo']=null,this['privateMDLinesInfo']['splice'](0x0,this['privateMDLinesInfo']['length']),this['curMDLinesInfo']=null,this['privateExactLinesInfo']['splice'](0x0,this['privateExactLinesInfo']['length']),this['curExactLinesInfo']=null,this['privateExactRuleLinesInfo']['splice'](0x0,this['privateExactRuleLinesInfo']['length']),this['curExactRuleLinesInfo']=null,this['privateNormalFontsInfo']['splice'](0x0,this['privateNormalFontsInfo']['length']),this['curNormalFontsInfo']=null,this['curNormalPOSFontsInfo']=null,this['privateTemFontsInfo']['splice'](0x0,this['privateTemFontsInfo']['length']),this['curTemFontsInfo']=null,this['privateTargetFontsInfo']['splice'](0x0,this['privateTargetFontsInfo']['length']),this['curTargetFontsInfo']=null,this['privateExactPOSFontsInfo']['splice'](0x0,this['privateExactPOSFontsInfo']['length']),this['curExactPOSFontsInfo']=null,this['privateExactFontsInfo']['splice'](0x0,this['privateExactFontsInfo']['length']),this['curExactFontsInfo']=null,this['privateImageInfo']['splice'](0x0,this['privateImageInfo']['length']),this['curImagesInfo']=null,this['privatePNGImageInfo']['splice'](0x0,this['privatePNGImageInfo']['length']),this['DrawlinesParamArray']['splice'](0x0,this['DrawlinesParamArray']['length']),this['DrawTargetlinesParamArray']['splice'](0x0,this['DrawTargetlinesParamArray']['length']),this['DrawMosaiclinesParamArray']['splice'](0x0,this['DrawMosaiclinesParamArray']['length']),this['DrawPOSFontsParamArray']['splice'](0x0,this['DrawPOSFontsParamArray']['length']),this['DrawTargetEventIDList']['splice'](0x0,this['DrawTargetEventIDList']['length']),this['DrawFontParamArray']['splice'](0x0,this['DrawFontParamArray']['length']);for(var _0xb73e99=0x0;_0xb73e99<_0x3e91af;_0xb73e99++)this['pstWaterFontParamArray'][_0xb73e99]['splice'](0x0,this['pstWaterFontParamArray'][_0xb73e99]['length']);this['pWaterImageParam']['splice'](0x0,this['pWaterImageParam']['length']),this['bSRCallBackFlag']=!0x1,this['textCanvas']=null,this['curLinesInfo']=null,this['pstWaterFontParam']=null;}},{'key':'DisplayFrame','value':function(_0x5901af,_0x6ac278,_0x58a285,_0x26d976,_0xd14010,_0x198991,_0x4f22a1,_0x522fb1){var _0x312389=this;return new Promise(function(_0xfcae69){null!=_0x5901af&&(_0x312389['curTimestamp']=_0x26d976),_0x312389['bSRCallBackFlag']||(null!=_0x312389['oVideoHandle']&&_0x312389['oVideoHandle']['SR_SetCallBack'](_0x312389['WebGLDisplayCallBack'],_0x312389,_0x21dfba['SRCALLBACKTYPE']['SR_CBT_NULL']),_0x312389['bSRCallBackFlag']=!0x0);var _0x20ae3e=0x1;if(0x2==_0x312389['panoramaDisplayEffect']&&(_0x6ac278==0x2*_0x58a285?_0x312389['SetPanoramaDisplayEffect'](0x1):_0x312389['SetPanoramaDisplayEffect'](0x0)),null!=_0x5901af&&(_0x312389['nFrameRate']=_0x4f22a1,_0x312389['nTimePerFrame']=0x3e8/_0x4f22a1,0x0==_0x522fb1&&(_0x312389['FindIntelNodefromList'](_0x312389['curTimestamp']),_0x312389['CheckLinesInfo'](),_0x312389['CheckFontsInfo']()),null!=_0x312389['oVideoHandle']&&0x1==(_0x20ae3e=_0x312389['oVideoHandle']['SR_UpdateFrameData'](_0x5901af,_0x6ac278,_0x58a285,_0xd14010,_0x198991))&&(_0x20ae3e=_0x312389['oVideoHandle']['SR_Display'](!0x1)),_0x312389['subPortNum']>0x0)){for(var _0x520cfe=0x1;_0x520cfe<_0x3e91af;_0x520cfe++)0x0!=_0x312389['stFishEyeManager'][_0x520cfe]['nSubPort']&&null!=_0x312389['stFishEyeManager'][_0x520cfe]['sCanvasID']&&0x0!=_0x312389['stFishEyeManager'][_0x520cfe]['bInited']&&null!=_0x312389['stFishEyeManager'][_0x520cfe]['pRender']&&0x1==(_0x20ae3e=_0x312389['stFishEyeManager'][_0x520cfe]['pRender']['SR_UpdateFrameData'](_0x5901af,_0x6ac278,_0x58a285,null,null))&&(_0x20ae3e=_0x312389['stFishEyeManager'][_0x520cfe]['pRender']['SR_Display'](!0x1));}_0xfcae69({'timestamp':_0x312389['curTimestamp'],'DrawRet':_0x20ae3e});});}},{'key':'SetDisplayRect','value':function(_0x225d8f,_0x2062f7,_0x1d632d,_0x37cec9){return null!=this['oVideoHandle']&&(this['oVideoHandle']['SR_SetDisplayRect'](_0x225d8f,_0x2062f7,_0x1d632d,_0x37cec9,_0x21dfba['SRSETRECTTYPE']['SR_SRT_SRC']),null!=this['pstWaterFontParam']&&this['pstWaterFontParam']['nColorAdapt']&&(this['pstWaterFontParamArray'][0x0]['splice'](0x0,this['pstWaterFontParamArray'][0x0]['length']),this['CalculateWaterMarkParam'](this['oVideoHandle'],0x0,this['pstWaterFontParam']))),0x1;}},{'key':'SetCanvasSize','value':function(_0x5f601c,_0x5618aa,_0xcaaff0){var _0x142703=this['oVideoHandle'];if(_0xcaaff0>0x0&&(_0x142703=this['stFishEyeManager'][_0xcaaff0]['pRender']),null!=_0x142703){if(_0x142703['SR_SetCanvasSize'](_0x5f601c,_0x5618aa),0x0!=this['pstWaterFontParamArray'][_0xcaaff0]['length']&&null!=this['pstWaterFontParam']){if(0x1==this['pstWaterFontParam']['pstCanvasAdapt']['nCanvasAdaptMode'])this['pstWaterFontParamArray'][_0xcaaff0]['splice'](0x0,this['pstWaterFontParamArray'][_0xcaaff0]['length']),this['CalculateWaterMarkParam'](_0x142703,_0xcaaff0,this['pstWaterFontParam']);else{if(0x2==this['pstWaterFontParam']['pstCanvasAdapt']['nCanvasAdaptMode']){var _0x55fa76=this['mainCanvasID']['width'],_0x3ecd86=this['mainCanvasID']['height'];_0xcaaff0>0x0&&(_0x55fa76=this['stFishEyeManager'][_0xcaaff0]['sCanvasID']['width'],_0x3ecd86=this['stFishEyeManager'][_0xcaaff0]['sCanvasID']['height']);for(var _0x1c9ed0=0x0;_0x1c9ed0>>VideoRender.js\\x20SR_SetRenderState\\x20failed\\x20ret:%08x\\x0a',_0x463908);}}return this['FECShowMode']>0x0&&null!=this['stFishEyeManager'][_0x446521]['pRender']&&this['stFishEyeManager'][_0x446521]['pRender']['SR_SetPTZDisplayMode'](this['FECShowMode']),0x0==_0x446521&&(this['mainVaildSubPort']=this['stFishEyeManager'][_0x446521]['nValidSubPort']),0x1;}},{'key':'FEC_GetPort','value':function(_0x3ce985,_0x102b6f){if(_0x102b6f!=_0xf6e73b&&_0x102b6f!=_0x340cf3&&_0x102b6f!=_0x3c6685&&_0x102b6f!=_0xefb8fa&&_0x102b6f!=_0x2bd62a&&_0x102b6f!=_0x56a1c6&&_0x102b6f!=_0x39a314&&_0x102b6f!=_0x1f9056&&_0x102b6f!=_0x406210)return console['log']('%c\\x2020231112\\x20hardDecoder\\x20not\\x20support\\x20emCorrectType:%d','color:red',_0x102b6f),this['FECErrorCode']=0x10,-0x1;var _0x123d52;if(0x1!=this['FECParamJudge'](-0x1,_0x3ce985,_0x102b6f))return console['log']('VideoRender.js\\x20FEC_GetPort\\x20FECParamJudge\\x20Get\\x20error'),-0x1;var _0x963676=0x0;for(_0x123d52=0x1;_0x123d52<_0x3e91af;_0x123d52++)if(0x0==this['stFishEyeManager'][_0x123d52]['nSubPort']&&0x0==this['stFishEyeManager'][_0x123d52]['bUsed']){this['stFishEyeManager'][_0x123d52]['nSubPort']=_0x123d52,this['stFishEyeManager'][_0x123d52]['nValidSubPort']=-0x1,this['stFishEyeManager'][_0x123d52]['bUsed']=0x1,this['stFishEyeManager'][_0x123d52]['emPlaceType']=_0x3ce985,this['stFishEyeManager'][_0x123d52]['emCorrectType']=_0x102b6f,_0x963676=_0x123d52;break;}if(_0x3e91af==_0x123d52)return console['info']('%c\\x20FEC_GetPort-12\\x20fish\\x20subport\\x20max','color:\\x20red'),this['FECErrorCode']=0x504,-0x1;var _0x4f33e1=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_FISH_ORIGINAL'];return _0x4f33e1=this['_ConvertDisplayEffect'](this['stFishEyeManager'][_0x963676]['emPlaceType'],this['stFishEyeManager'][_0x963676]['emCorrectType']),_0x21dfba['SRDISPLAYEFFECT']['SR_DE_FISH_ORIGINAL']!=_0x4f33e1?(0x0==this['stFishEyeManager'][_0x963676]['bInited']&&(this['stFishEyeManager'][_0x963676]['emEffect']=_0x4f33e1,this['stFishEyeManager'][_0x963676]['bInited']=0x0,this['stFishParam'][_0x963676]['fZoom']=0.005,this['stFishParam'][_0x963676]['stPTZParam']['fPTZPositionX']=0.5,this['stFishParam'][_0x963676]['stPTZParam']['fPTZPositionY']=0.5,this['stFishParam'][_0x963676]['fWideScanOffset']=0x0),this['FECErrorCode']=0x0,this['subPortNum']++,_0x963676):_0x963676<_0x3e91af&&0x0==this['stFishEyeManager'][_0x963676]['bInited']?(this['stFishEyeManager'][_0x963676]['emEffect']=_0x4f33e1,this['stFishEyeManager'][_0x963676]['bInited']=0x0,this['stFishParam'][_0x963676]['fZoom']=0x0,this['stFishParam'][_0x963676]['stPTZParam']['fPTZPositionX']=0x0,this['stFishParam'][_0x963676]['stPTZParam']['fPTZPositionY']=0x0,this['stFishParam'][_0x963676]['fWideScanOffset']=0x0,this['FECErrorCode']=0x0,this['subPortNum']++,_0x963676):(this['stFishEyeManager'][_0x123d52]['pRender']=null,this['stFishEyeManager'][_0x123d52]['nSubPort']=0x0,this['stFishEyeManager'][_0x123d52]['sCanvasID']=null,this['stFishEyeManager'][_0x123d52]['bUsed']=0x0,this['stFishEyeManager'][_0x123d52]['bInited']=0x0,this['stFishEyeManager'][_0x123d52]['nValidSubPort']=0x0,this['stFishEyeManager'][_0x123d52]['emPlaceType']=_0x5904b1,this['stFishEyeManager'][_0x123d52]['emCorrectType']=_0xf6e73b,this['stFishEyeManager'][_0x123d52]['emEffect']=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_FISH_ORIGINAL'],this['FECErrorCode']=_0x42e372,-0x1);}},{'key':'FECParamJudge','value':function(_0x1b302a,_0x4bc610,_0x3ef46b){if(0x0!=_0x1b302a){if(_0x3ef46b==_0xf6e73b||_0x3ef46b==_0x340cf3||_0x3ef46b==_0x3c6685||_0x3ef46b==_0x56a1c6||_0x3ef46b==_0x102fcd||_0x3ef46b==_0x1f9056||_0x3ef46b==_0x406210)return console['log']('VideoRender.js\\x20FECParamJudge\\x201\\x20emCorrectType:'+_0x3ef46b),this['FECErrorCode']=_0x42e372,0x0;if(this['stFishEyeManager'][0x0]['emCorrectType']==_0x406210||this['stFishEyeManager'][0x0]['emCorrectType']==_0x1f9056)return this['FECErrorCode']=_0x42e372,console['log']('VideoRender.js\\x20FECParamJudge\\x202\\x20emCorrectType:'+_0x3ef46b),0x0;}if(0x0==_0x1b302a&&(_0x1f9056==_0x3ef46b||_0x406210==_0x3ef46b)){for(var _0x2b474e=0x1;_0x2b474e<_0x3e91af;_0x2b474e++)if(this['stFishEyeManager'][_0x2b474e]['bUsed'])return this['FECErrorCode']=_0x42e372,console['log']('VideoRender.js\\x20FECParamJudge\\x203\\x20subPort:'+_0x1b302a+',emCorrectType:'+_0x3ef46b),0x0;}if(!(_0x1adf2b!=_0x4bc610&&_0x5904b1!=_0x4bc610||_0x56a1c6!=_0x3ef46b&&_0x1f9056!=_0x3ef46b&&_0x406210!=_0x3ef46b))return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x204\\x20floor\\x20and\\x20ceiling\\x20not\\x20support\\x20lat','color:\\x20red'),this['FECErrorCode']=_0x42e372,0x0;if(_0x10787f==_0x4bc610&&(_0x39a314==_0x3ef46b||_0xe75a42==_0x3ef46b||_0x340cf3==_0x3ef46b))return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x205\\x20wall\\x20not\\x20support\\x20cylinger','color:\\x20red'),this['FECErrorCode']=_0x42e372,0x0;if(_0x10787f!=_0x4bc610&&_0x1adf2b!=_0x4bc610&&_0x5904b1!=_0x4bc610)return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x206\\x20emPlaceType\\x20only\\x20support\\x20floor,\\x20ceiling\\x20and\\x20wall','color:\\x20red'),this['FECErrorCode']=MP_E_SUPPORT,0x0;if(0x0!=_0x3ef46b&&_0x3ef46b!=_0x2bd62a&&_0x3ef46b!=_0x340cf3&&_0x3ef46b!=_0x3c6685&&_0x3ef46b!=_0x56a1c6&&_0x3ef46b!=_0xefb8fa&&_0x3ef46b!=_0x39a314&&_0x3ef46b!=_0xe75a42&&_0x3ef46b!=_0x102fcd&&_0x3ef46b!=_0x1f9056&&_0x3ef46b!=_0x406210)return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x207\\x20emCorrectType\\x20error','color:\\x20red'),this['FECErrorCode']=MP_E_SUPPORT,0x0;for(var _0xda5976=0x0;_0xda5976<_0x3e91af;_0xda5976++){if(this['stFishEyeManager'][_0xda5976]['bUsed']&&this['stFishEyeManager'][_0xda5976]['emPlaceType']!=_0x4bc610)return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x208\\x20emPlaceType\\x20changed','color:\\x20red'),this['FECErrorCode']=0x517,0x0;if(_0xda5976!=_0x1b302a){if(this['stFishEyeManager'][_0xda5976]['bUsed']&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0x2bd62a&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0xefb8fa&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0x39a314&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0xe75a42&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0x102fcd&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0x1f9056&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0x406210&&_0x3ef46b!=_0x2bd62a&&_0x3ef46b!=_0xefb8fa&&_0x3ef46b!=_0x39a314&&_0x3ef46b!=_0xe75a42&&_0x3ef46b!=_0x102fcd&&_0x3ef46b!=_0x1f9056&&_0x3ef46b!=_0x406210)return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x209\\x20origin/180/360/lat\\x20only\\x20display\\x20one\\x20port','color:\\x20red'),this['FECErrorCode']=0x518,0x0;if(this['stFishEyeManager'][_0xda5976]['bUsed']&&(this['stFishEyeManager'][_0xda5976]['emCorrectType']==_0x2bd62a&&_0x3ef46b==_0x340cf3||this['stFishEyeManager'][_0xda5976]['emCorrectType']==_0x340cf3&&_0x3ef46b==_0x2bd62a))return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x2010\\x20180\\x20cannot\\x20support\\x20ptz','color:\\x20red'),this['FECErrorCode']=0x518,0x0;}}return 0x1;}},{'key':'FEC_Enable','value':function(_0x47ace0){return _0x47ace0<0x1||_0x47ace0>0x1f||null==_0x47ace0?(console['info']('%c\\x20FEC_Enable-1\\x20nSubPort:%d','color:\\x20red',_0x47ace0),this['FECErrorCode']=_0x1dae8d,0x0):null!==this['stFishEyeManager'][_0x47ace0]['pRender']?(console['info']('%c\\x20FEC_Enable-2\\x20nSubPort:%d','color:\\x20red',_0x47ace0),this['FECErrorCode']=0x515,0x0):(null==this['stFishEyeManager'][_0x47ace0]['pRender']&&(this['stFishEyeManager'][_0x47ace0]['pRender']=new _0x506212(),null==this['pFishParamManager']&&(this['pFishParamManager']=new _0x28ed38()),this['stFishEyeManager'][_0x47ace0]['pRender']['SR_SetFishParamManager'](this['pFishParamManager'])),0x1);}},{'key':'FEC_SetWnd','value':function(_0x478496,_0x287564){if(_0x478496<0x1||_0x478496>0x1f||null==_0x478496)return console['info']('%c\\x20FEC_SetWnd-1\\x20nSubPort:%d','color:\\x20red',_0x478496),this['FECErrorCode']=_0x1dae8d,0x0;if(null==this['stFishEyeManager'][_0x478496]['pRender'])return console['info']('%c\\x20FEC_SetWnd-2\\x20nSubPort:%d\\x20pRender\\x20is\\x20null','color:\\x20red',_0x478496),this['FECErrorCode']=_0x1e1231,0x0;if(0x0==this['stFishEyeManager'][_0x478496]['bUsed'])return console['info']('%c\\x20FEC_SetWnd-3\\x20nSubPort:%d\\x20bUsed:%d','color:\\x20red',_0x478496,this['stFishEyeManager'][_0x478496]['bUsed']),this['FECErrorCode']=_0x421a67,0x0;if(null==_0x287564)return console['info']('%c\\x20FEC_SetWnd-4\\x20nSubPort:%d\\x20sCanvasID:%s','color:\\x20red',_0x478496,_0x287564),this['FECErrorCode']=0x519,0x0;if(0x0!=this['stFishEyeManager'][_0x478496]['nSubPort']&&0x0!=this['stFishEyeManager'][_0x478496]['bUsed']){if(0x0!=this['stFishEyeManager'][_0x478496]['bInited']&&null!=this['stFishEyeManager'][_0x478496]['sCanvasID'])return _0x287564!=this['stFishEyeManager'][_0x478496]['sCanvasID']?(console['info']('%c\\x20FEC_SetWnd-5\\x20nSubPort:%d\\x20sCanvasID:%s\\x20already\\x20init','color:\\x20red',_0x478496,_0x287564),this['FECErrorCode']=0x506,0x0):0x1;var _0x2d1723=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_FISH_ORIGINAL'];_0x2d1723=this['_ConvertDisplayEffect'](this['stFishEyeManager'][_0x478496]['emPlaceType'],this['stFishEyeManager'][_0x478496]['emCorrectType']);var _0x270e11=this['stFishEyeManager'][_0x478496]['pRender']['SR_Init'](_0x287564,this['enPixelFormat']),_0x20222d=this['stFishEyeManager'][_0x478496]['pRender']['SR_AddSubPort'](_0x2d1723);if(-0x1==_0x20222d)return console['info']('%c\\x20FEC_SetWnd\\x20SR_AddSubPort\\x20error\\x20subport:%d','color:\\x20red',_0x478496),0x0;if(this['stFishEyeManager'][_0x478496]['nValidSubPort']=_0x20222d,_0x21dfba['ERRCODE']['SR_OK']!=_0x270e11)return this['stFishEyeManager'][_0x478496]['bInited']=0x0,this['stFishEyeManager'][_0x478496]['sCanvasID']=null,this['FECErrorCode']=_0x421a67,0x0;if(this['stFishEyeManager'][_0x478496]['bInited']=0x1,this['stFishEyeManager'][_0x478496]['sCanvasID']=_0x287564,_0xefb8fa<=this['stFishEyeManager'][_0x478496]['emCorrectType']){var _0x3fe257=this['stFishEyeManager'][_0x478496]['pRender']['SR_SetRenderState'](_0x21dfba['SRRENDERSTATETYPE']['SR_RST_BACK_CULL'],0x0);_0x21dfba['ERRCODE']['SR_OK']!=_0x3fe257&&console['log']('>>>VideoRender.js\\x20SR_SetRenderState\\x20failed\\x20ret:%08x\\x0a',_0x3fe257);}return this['stFishEyeManager'][_0x478496]['pRender']['SR_SetCallBack'](this['WebGLDisplaySubCallBack'],{'nUser':this,'handle':this['stFishEyeManager'][_0x478496]['pRender'],'nSubPort':_0x478496},_0x21dfba['SRCALLBACKTYPE']['SR_CBT_NULL']),null!=this['pstWaterFontParam']&&this['SetWaterMarkFont'](this['pstWaterFontParam']),this['FECShowMode']>0x0&&this['stFishEyeManager'][_0x478496]['pRender']['SR_SetPTZDisplayMode'](this['FECShowMode']),0x1;}return this['FECErrorCode']=_0x421a67,0x0;}},{'key':'FEC_Disable','value':function(_0x28f472,_0x5e6f84,_0x19789b){if(_0x28f472<0x1||_0x28f472>0x1f||null==_0x28f472)return console['info']('%c\\x20FEC_Disable-1\\x20nSubPort:%d','color:\\x20red',_0x28f472),this['FECErrorCode']=_0x1dae8d,0x0;if(0x1==this['stFishEyeManager'][_0x28f472]['bInited']&&null!=this['stFishEyeManager'][_0x28f472]['pRender']){if(_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x28f472]['pRender']['SR_DelSubPort'](this['stFishEyeManager'][_0x28f472]['nValidSubPort']))return console['info']('%c\\x20FEC_Disable-2\\x20SR_DelSubPort\\x20error\\x20nSubPort:%d','color:\\x20red',_0x28f472),0x0;this['stFishEyeManager'][_0x28f472]['bInited']=0x0,this['stFishEyeManager'][_0x28f472]['nValidSubPort']=-0x1,this['stFishEyeManager'][_0x28f472]['pRender']['SR_Destroy'](),this['stFishEyeManager'][_0x28f472]['pRender']=null;}return 0x1;}},{'key':'FEC_DelPort','value':function(_0x37888a){return _0x37888a<0x1||_0x37888a>0x1f||null==_0x37888a?(console['info']('%c\\x20FEC_DelPort-1\\x20nSubPort:%d','color:\\x20red',_0x37888a),this['FECErrorCode']=_0x1dae8d,0x0):0x0==this['stFishEyeManager'][_0x37888a]['bUsed']?(console['info']('%c\\x20FEC_DelPort-2\\x20nSubPort:%d\\x20bUsed:%d','color:\\x20red',_0x37888a,this['stFishEyeManager'][_0x37888a]['bUsed']),this['FECErrorCode']=_0x421a67,0x0):(this['stFishEyeManager'][_0x37888a]['nSubPort']=0x0,this['stFishEyeManager'][_0x37888a]['sCanvasID']=null,this['stFishEyeManager'][_0x37888a]['bUsed']=0x0,this['stFishEyeManager'][_0x37888a]['bInited']=0x0,this['stFishEyeManager'][_0x37888a]['nValidSubPort']=0x0,this['stFishEyeManager'][_0x37888a]['emPlaceType']=_0x5904b1,this['stFishEyeManager'][_0x37888a]['emCorrectType']=_0xf6e73b,this['stFishEyeManager'][_0x37888a]['emEffect']=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_FISH_ORIGINAL'],this['stFishParam'][_0x37888a]['stCycleParam']['fRadiusLeft']=0x0,this['stFishParam'][_0x37888a]['stCycleParam']['fRadiusRight']=0x1,this['stFishParam'][_0x37888a]['stCycleParam']['fRadiusTop']=0x0,this['stFishParam'][_0x37888a]['stCycleParam']['fRadiusBottom']=0x1,this['subPortNum']>0x0&&this['subPortNum']--,0x1);}},{'key':'FEC_SetParam','value':function(_0x1c8587,_0x3333c2){if(this['FECErrorCode']=0x0,_0x1c8587<0x0||_0x1c8587>0x1f||null==_0x1c8587)return console['info']('%c\\x20FEC_SetParam-1\\x20nSubPort:%d','color:\\x20red',_0x1c8587),this['FECErrorCode']=_0x1dae8d,0x0;if(null==this['stFishEyeManager'][_0x1c8587]['pRender'])return console['info']('%c\\x20FEC_SetParam-2\\x20nSubPort:%d\\x20pRender:%d','color:\\x20red',_0x1c8587,this['stFishEyeManager'][_0x1c8587]['pRender']),this['FECErrorCode']=_0x1e1231,0x0;if(0x0==this['stFishEyeManager'][_0x1c8587]['bUsed'])return console['info']('%c\\x20FEC_SetParam-3\\x20nSubPort:%d\\x20bUsed:%d','color:\\x20red',_0x1c8587,this['stFishEyeManager'][_0x1c8587]['bUsed']),this['FECErrorCode']=_0x421a67,0x0;if(this['stFishEyeManager'][_0x1c8587]['emCorrectType']>=_0xefb8fa&&this['stFishEyeManager'][_0x1c8587]['emCorrectType']<=_0x406210&&0x1e&_0x3333c2['upDateType'])return console['info']('%c\\x20FEC_SetParam-4\\x20nSubPort:%d\\x20not\\x203D','color:\\x20red',_0x1c8587),this['FECErrorCode']=_0x36522d,0x0;if(_0x11584b&_0x3333c2['upDateType']){if(null==_0x3333c2['stCycleParam'])return this['FECErrorCode']=_0x4c9d86,0x0;for(var _0x2f6d7a=0x1;_0x2f6d7a<_0x3e91af;_0x2f6d7a++){if(this['stFishEyeManager'][_0x2f6d7a]['bUsed']&&this['stFishEyeManager'][_0x2f6d7a]['nSubPort']&&_0x1f9056==this['stFishEyeManager'][_0x2f6d7a]['emCorrectType']&&(_0x3333c2['stCycleParam']['fRadiusLeft']<=-0.5||_0x3333c2['stCycleParam']['fRadiusLeft']>=0.4||_0x3333c2['stCycleParam']['fRadiusRight']<=0.6||_0x3333c2['stCycleParam']['fRadiusRight']>=1.5||_0x3333c2['stCycleParam']['fRadiusTop']<=-0.5||_0x3333c2['stCycleParam']['fRadiusTop']>0x0||_0x3333c2['stCycleParam']['fRadiusBottom']<0x1||_0x3333c2['stCycleParam']['fRadiusBottom']>=1.5||_0x3333c2['stCycleParam']['fRadiusLeft']+_0x3333c2['stCycleParam']['fRadiusRight']<=0.8||_0x3333c2['stCycleParam']['fRadiusLeft']+_0x3333c2['stCycleParam']['fRadiusRight']>=1.2||_0x3333c2['stCycleParam']['fRadiusTop']+_0x3333c2['stCycleParam']['fRadiusBottom']<=0.8||_0x3333c2['stCycleParam']['fRadiusTop']+_0x3333c2['stCycleParam']['fRadiusBottom']>=1.2))return this['FECErrorCode']=_0x4c9d86,0x0;if(this['stFishEyeManager'][_0x2f6d7a]['bUsed']&&this['stFishEyeManager'][_0x2f6d7a]['nSubPort']&&_0x406210==this['stFishEyeManager'][_0x2f6d7a]['emCorrectType']&&(_0x3333c2['stCycleParam']['fRadiusLeft']<=-0.5||_0x3333c2['stCycleParam']['fRadiusLeft']>0x0||_0x3333c2['stCycleParam']['fRadiusRight']<0x1||_0x3333c2['stCycleParam']['fRadiusRight']>=1.5||_0x3333c2['stCycleParam']['fRadiusTop']<=-0.5||_0x3333c2['stCycleParam']['fRadiusTop']>=0.4||_0x3333c2['stCycleParam']['fRadiusBottom']<=0.6||_0x3333c2['stCycleParam']['fRadiusBottom']>=1.5||_0x3333c2['stCycleParam']['fRadiusLeft']+_0x3333c2['stCycleParam']['fRadiusRight']<=0.8||_0x3333c2['stCycleParam']['fRadiusLeft']+_0x3333c2['stCycleParam']['fRadiusRight']>=1.2||_0x3333c2['stCycleParam']['fRadiusTop']+_0x3333c2['stCycleParam']['fRadiusBottom']<=0.8||_0x3333c2['stCycleParam']['fRadiusTop']+_0x3333c2['stCycleParam']['fRadiusBottom']>=1.2))return this['FECErrorCode']=_0x4c9d86,0x0;}}if(0x0==this['stFishEyeManager'][_0x1c8587]['bInited']){if(_0x5ceb2d&_0x3333c2['upDateType']){if(_0x340cf3!=this['stFishEyeManager'][_0x1c8587]['emCorrectType']&&_0x3c6685!=this['stFishEyeManager'][_0x1c8587]['emCorrectType']||_0x10787f==this['stFishEyeManager'][_0x1c8587]['emPlaceType'])return this['FECErrorCode']=_0x36522d,0x0;for(var _0x44e8d4=0x1;_0x44e8d4<_0x3e91af;_0x44e8d4++)if(this['stFishEyeManager'][_0x44e8d4]['nSubPort']&&this['stFishEyeManager'][_0x44e8d4]['bUsed']&&this['stFishEyeManager'][_0x44e8d4]['emCorrectType']==_0x2bd62a)return this['FECErrorCode']=_0xd0cb66,0x0;this['stFishParam'][_0x1c8587]['fWideScanOffset']=_0x3333c2['fValue'];}if(_0x58b6d9&_0x3333c2['upDateType']){if(null==_0x3333c2['stPTZColor'])return this['FECErrorCode']=_0x4c9d86,0x0;if(_0x3333c2['stPTZColor']['nR']>0xff||_0x3333c2['stPTZColor']['nG']>0xff||_0x3333c2['stPTZColor']['nB']>0xff||_0x3333c2['stPTZColor']['nAlpha']>0xff)return this['FECErrorCode']=_0x36522d,0x0;this['stFishParam'][_0x1c8587]['stPTZColor']['nR']=_0x3333c2['stPTZColor']['nR'],this['stFishParam'][_0x1c8587]['stPTZColor']['nG']=_0x3333c2['stPTZColor']['nG'],this['stFishParam'][_0x1c8587]['stPTZColor']['nB']=_0x3333c2['stPTZColor']['nB'],this['stFishParam'][_0x1c8587]['stPTZColor']['nAlpha']=_0x3333c2['stPTZColor']['nAlpha'];}if(_0x4b7d75&_0x3333c2['upDateType']){if(_0x2bd62a!=this['stFishEyeManager'][_0x1c8587]['emCorrectType'])return this['FECErrorCode']=_0x36522d,0x0;this['stFishParam'][_0x1c8587]['stPTZParam']['fPTZPositionX']=_0x3333c2['fPTZParam']['fPTZPositionX'],this['stFishParam'][_0x1c8587]['stPTZParam']['fPTZPositionY']=_0x3333c2['fPTZParam']['fPTZPositionY'];}if(_0x587f78&_0x3333c2['upDateType']){if(_0x2bd62a!=this['stFishEyeManager'][_0x1c8587]['emCorrectType'])return this['FECErrorCode']=_0x36522d,0x0;this['stFishParam'][_0x1c8587]['fZoom']=_0x3333c2['fPTZZoom'];}if(_0xab921a&_0x3333c2['upDateType']){if(null==this['stFishParam']['stPTZSelect'])return 0x0;if(_0x2bd62a!=this['stFishEyeManager'][_0x1c8587]['emCorrectType'])return this['FECErrorCode']=_0x36522d,0x0;this['stFishParam']['stPTZSelect']['fTop']=_0x3333c2['stPTZSelect']['fTop'],this['stFishParam']['stPTZSelect']['fBottom']=_0x3333c2['stPTZSelect']['fBottom'],this['stFishParam']['stPTZSelect']['fLeft']=_0x3333c2['stPTZSelect']['fLeft'],this['stFishParam']['stPTZSelect']['fRight']=_0x3333c2['stPTZSelect']['fRight'];}if(_0x11584b&_0x3333c2['upDateType']){if(null==_0x3333c2['stCycleParam'])return this['FECErrorCode']=_0x4c9d86,0x0;if(0x0==this['_IsValidRadiusParam'](_0x3333c2['stCycleParam']))return this['FECErrorCode']=_0x4c9d86,0x0;this['stFishParam'][0x0]['stCycleParam']['fRadiusLeft']=_0x3333c2['stCycleParam']['fRadiusLeft'],this['stFishParam'][0x0]['stCycleParam']['fRadiusRight']=_0x3333c2['stCycleParam']['fRadiusRight'],this['stFishParam'][0x0]['stCycleParam']['fRadiusTop']=_0x3333c2['stCycleParam']['fRadiusTop'],this['stFishParam'][0x0]['stCycleParam']['fRadiusBottom']=_0x3333c2['stCycleParam']['fRadiusBottom'];}return 0x1;}if(_0x5ceb2d&_0x3333c2['upDateType']){if(_0x340cf3!=this['stFishEyeManager'][_0x1c8587]['emCorrectType']&&_0x3c6685!=this['stFishEyeManager'][_0x1c8587]['emCorrectType']||_0x10787f==this['stFishEyeManager'][_0x1c8587]['emPlaceType'])return this['FECErrorCode']=_0x36522d,0x0;for(var _0x554377=0x1;_0x554377<_0x3e91af;_0x554377++)if(this['stFishEyeManager'][_0x554377]['nSubPort']&&this['stFishEyeManager'][_0x554377]['bUsed']&&this['stFishEyeManager'][_0x554377]['emCorrectType']==_0x2bd62a)return this['FECErrorCode']=_0xd0cb66,0x0;var _0x4fea8c={};if(_0x4fea8c['nFishParamType']=_0x21dfba['SRFISHPARAMTYPE']['SR_FPT_ANGLE'],_0x4fea8c['bBlack']=0x0,_0x4fea8c['fAngle']=_0x3333c2['fValue'],_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x1c8587]['pRender']['SR_SetFishParam'](_0x4fea8c))return this['FECErrorCode']=_0xd0cb66,0x0;this['stFishParam'][_0x1c8587]['fWideScanOffset']=_0x3333c2['fValue'];}if(_0x58b6d9&_0x3333c2['upDateType']){if(null==_0x3333c2['stPTZColor'])return this['FECErrorCode']=_0x36522d,0x0;if(_0x3333c2['stPTZColor']['nR']>0xff||_0x3333c2['stPTZColor']['nG']>0xff||_0x3333c2['stPTZColor']['nB']>0xff||_0x3333c2['stPTZColor']['nAlpha']>0xff)return this['FECErrorCode']=_0x36522d,0x0;var _0x476351={};if(_0x476351['fR']=_0x3333c2['stPTZColor']['nR']/0xff,_0x476351['fG']=_0x3333c2['stPTZColor']['nG']/0xff,_0x476351['fB']=_0x3333c2['stPTZColor']['nB']/0xff,_0x476351['fA']=_0x3333c2['stPTZColor']['nAlpha']/0xff,_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x1c8587]['pRender']['SR_SetPTZColor'](_0x1c8587,_0x476351))return this['FECErrorCode']=_0xd0cb66,_0xd0cb66;this['stFishParam'][_0x1c8587]['stPTZColor']['nR']=_0x3333c2['stPTZColor']['nR'],this['stFishParam'][_0x1c8587]['stPTZColor']['nG']=_0x3333c2['stPTZColor']['nG'],this['stFishParam'][_0x1c8587]['stPTZColor']['nB']=_0x3333c2['stPTZColor']['nB'],this['stFishParam'][_0x1c8587]['stPTZColor']['nAlpha']=_0x3333c2['stPTZColor']['nAlpha'];}if(_0x4b7d75&_0x3333c2['upDateType']){if(_0x2bd62a!=this['stFishEyeManager'][_0x1c8587]['emCorrectType'])return this['FECErrorCode']=_0x36522d,0x0;var _0xdffcc7={};_0xdffcc7['nFishParamType']=_0x21dfba['SRFISHPARAMTYPE']['SR_FPT_PTZ'],_0xdffcc7['bBlack']=0x0,_0xdffcc7['fPTZX']=_0x3333c2['fPTZParam']['fPTZPositionX'],_0xdffcc7['fPTZY']=_0x3333c2['fPTZParam']['fPTZPositionY'];var _0x51307d=this['stFishEyeManager'][_0x1c8587]['pRender']['SR_SetFishParam'](_0xdffcc7);if(_0x21dfba['ERRCODE']['SR_OK']!=_0x51307d)return this['FECErrorCode']=_0xd0cb66,0x0;this['stFishParam'][_0x1c8587]['stPTZParam']['fPTZPositionX']=_0x3333c2['fPTZParam']['fPTZPositionX'],this['stFishParam'][_0x1c8587]['stPTZParam']['fPTZPositionY']=_0x3333c2['fPTZParam']['fPTZPositionY'];}if(_0x587f78&_0x3333c2['upDateType']){if(_0x2bd62a!=this['stFishEyeManager'][_0x1c8587]['emCorrectType'])return this['FECErrorCode']=_0x36522d,0x0;var _0x126b64={};if(_0x126b64['nFishParamType']=_0x21dfba['SRFISHPARAMTYPE']['SR_FPT_ZOOM'],_0x126b64['bBlack']=0x0,_0x126b64['fZoom']=_0x3333c2['fPTZZoom'],_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x1c8587]['pRender']['SR_SetFishParam'](_0x126b64))return this['FECErrorCode']=_0xd0cb66,0x0;this['stFishParam'][_0x1c8587]['fZoom']=_0x3333c2['fPTZZoom'];}if(_0x11584b&_0x3333c2['upDateType']){if(0x0==this['_IsValidRadiusParam'](_0x3333c2['stCycleParam']))return this['FECErrorCode']=_0x4c9d86,0x0;var _0x540999={};if(_0x540999['nFishParamType']=_0x21dfba['SRFISHPARAMTYPE']['SR_FPT_CENTER'],_0x540999['bBlack']=0x1,_0x540999['fRXLeft']=_0x3333c2['stCycleParam']['fRadiusLeft'],_0x540999['fRXRight']=_0x3333c2['stCycleParam']['fRadiusRight'],_0x540999['fRYTop']=_0x3333c2['stCycleParam']['fRadiusTop'],_0x540999['fRYBottom']=_0x3333c2['stCycleParam']['fRadiusBottom'],_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x1c8587]['pRender']['SR_SetFishParam'](this['stFishEyeManager'][_0x1c8587]['nValidSubPort'],_0x540999))return this['FECErrorCode']=_0x4c9d86,0x0;this['stFishParam'][0x0]['stCycleParam']['fRadiusLeft']=_0x3333c2['stCycleParam']['fRadiusLeft'],this['stFishParam'][0x0]['stCycleParam']['fRadiusRight']=_0x3333c2['stCycleParam']['fRadiusRight'],this['stFishParam'][0x0]['stCycleParam']['fRadiusTop']=_0x3333c2['stCycleParam']['fRadiusTop'],this['stFishParam'][0x0]['stCycleParam']['fRadiusBottom']=_0x3333c2['stCycleParam']['fRadiusBottom'];}return _0xab921a&_0x3333c2['upDateType']&&_0x2bd62a==this['stFishEyeManager'][_0x1c8587]['emCorrectType']&&_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x1c8587]['pRender']['SR_SetFishParam'](this['stFishEyeManager'][_0x1c8587]['stPTZSelect'])?(this['FECErrorCode']=0x513,0x0):(null!=this['pstWaterFontParam']&&this['pstWaterFontParam']['nColorAdapt']&&(this['pstWaterFontParamArray'][_0x1c8587]['splice'](_0x1c8587,this['pstWaterFontParamArray'][_0x1c8587]['length']),this['CalculateWaterMarkParam'](this['stFishEyeManager'][_0x1c8587]['pRender'],_0x1c8587,this['pstWaterFontParam'])),0x1);}},{'key':'FEC_GetParam','value':function(_0x72d663,_0x4d8453){return _0x72d663<0x0||_0x72d663>0x1f||null==_0x72d663?(console['info']('%c\\x20FEC_GetParam-1\\x20nSubPort:%d','color:\\x20red',_0x72d663),this['FECErrorCode']=_0x1dae8d,0x0):null==this['stFishEyeManager'][_0x72d663]['pRender']?(console['info']('%c\\x20FEC_GetParam-2\\x20pRender:%d','color:\\x20red',this['stFishEyeManager'][_0x72d663]['pRender']),this['FECErrorCode']=_0x1e1231,0x0):(this['stFishEyeManager'][_0x72d663]['pRender']['SR_GetFishParam'](_0x4d8453),_0x4d8453['emCorrectType']=this['stFishEyeManager'][_0x72d663]['emCorrectType'],0x1);}},{'key':'_IsValidRadiusParam','value':function(_0x5d6b34){return _0x5d6b34['fRadiusBottom']<=_0x5d6b34['fRadiusTop']||_0x5d6b34['fRadiusRight']<=_0x5d6b34['fRadiusLeft']?0x0:0x1;}},{'key':'FEC_SetViewParam','value':function(_0x41c1be,_0x43fabb,_0x21c2b0){return _0x41c1be<0x0||_0x41c1be>0x1f||null==_0x41c1be?(console['info']('%c\\x20FEC_SetViewParam-1\\x20nSubPort:%d','color:\\x20red',_0x41c1be),this['FECErrorCode']=_0x1dae8d,0x0):null==this['stFishEyeManager'][_0x41c1be]['pRender']?(console['info']('%c\\x20FEC_SetViewParam-2\\x20pRender:%d','color:\\x20red',this['stFishEyeManager'][_0x41c1be]['pRender']),this['FECErrorCode']=_0x1e1231,0x0):_0x43fabb<_0x21dfba['SRVIEWTYPE']['SR_VT_ROTATION_X']||_0x43fabb>_0x21dfba['SRVIEWTYPE']['SR_VT_SCALE']?(this['FECErrorCode']=_0x604e00,0x0):(this['FECErrorCode']=0x0,0x0==this['stFishEyeManager'][_0x41c1be]['bInited']?(this['FECErrorCode']=_0x421a67,0x0):_0xefb8fa<=this['stFishEyeManager'][_0x41c1be]['emCorrectType']?_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x41c1be]['pRender']['SR_SetViewParam'](_0x43fabb,_0x21c2b0)?(this['FECErrorCode']=_0x604e00,0x0):(null!=this['pstWaterFontParam']&&this['pstWaterFontParam']['nColorAdapt']&&(this['pstWaterFontParamArray'][_0x41c1be]['splice'](0x0,this['pstWaterFontParamArray'][_0x41c1be]['length']),this['CalculateWaterMarkParam'](this['stFishEyeManager'][_0x41c1be]['pRender'],_0x41c1be,this['pstWaterFontParam'])),0x1):(this['FECErrorCode']=_0x36522d,0x0));}},{'key':'FEC_GetViewParam','value':function(_0x438482,_0x2d4949,_0x1a6b2e){if(_0x1a6b2e['fValue']=-0x1,_0x438482<0x0||_0x438482>0x1f||null==_0x438482)return console['info']('%c\\x20FEC_GetViewParam-1\\x20nSubPort:%d','color:\\x20red',_0x438482),this['FECErrorCode']=_0x1dae8d,0x0;if(null==this['stFishEyeManager'][_0x438482]['pRender'])return console['info']('%c\\x20FEC_GetViewParam-2\\x20pRender:%d','color:\\x20red',this['stFishEyeManager'][_0x438482]['pRender']),this['FECErrorCode']=_0x1e1231,0x0;if(_0x2d4949<0x1||_0x2d4949>0x3||0x0==this['stFishEyeManager'][_0x438482]['bInited'])return 0x0;if(_0xefb8fa<=this['stFishEyeManager'][_0x438482]['emCorrectType'])this['stFishEyeManager'][_0x438482]['pRender']['SR_GetViewParam'](_0x2d4949,_0x1a6b2e);return 0x1;}},{'key':'FEC_SetDisplayRegion','value':function(_0x48ac53,_0x4fd4de,_0x401161,_0x10285e,_0x3967a7,_0x34bc5b,_0x5b2b99){return _0x48ac53<0x0||_0x48ac53>0x1f||null==_0x48ac53?(console['info']('%c\\x20FEC_SetDisplayRegion-1\\x20nSubPort:%d','color:\\x20red',_0x48ac53),this['FECErrorCode']=_0x1dae8d,0x0):null==this['stFishEyeManager'][_0x48ac53]['pRender']?(console['info']('%c\\x20FEC_SetDisplayRegion-2\\x20pRender:%d','color:\\x20red',this['stFishEyeManager'][_0x48ac53]['pRender']),this['FECErrorCode']=_0x1e1231,0x0):0x0!=_0x4fd4de||0x0!=_0x401161?(this['FECErrorCode']=_0x604e00,0x0):this['stFishEyeManager'][_0x48ac53]['emCorrectType']!=_0xf6e73b&&this['stFishEyeManager'][_0x48ac53]['emCorrectType']!=_0x340cf3&&this['stFishEyeManager'][_0x48ac53]['emCorrectType']!=_0x3c6685&&this['stFishEyeManager'][_0x48ac53]['emCorrectType']!=_0x56a1c6?(this['FECErrorCode']=_0x42e372,0x0):0x0==this['stFishEyeManager'][_0x48ac53]['bInited']?(this['FECErrorCode']=_0x421a67,0x0):_0x10285e<0x0||_0x3967a7<0x0||_0x34bc5b<0x0||_0x5b2b99<0x0?(this['FECErrorCode']=_0x604e00,0x0):_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x48ac53]['pRender']['SR_SetDisplayRect'](_0x10285e,_0x3967a7,_0x34bc5b,_0x5b2b99,_0x21dfba['SRSETRECTTYPE']['SR_SRT_SRC'])?(this['FECErrorCode']=0x511,0x0):(null!=this['pstWaterFontParam']&&this['pstWaterFontParam']['nColorAdapt']&&(this['pstWaterFontParamArray'][_0x48ac53]['splice'](0x0,this['pstWaterFontParamArray'][_0x48ac53]['length']),this['CalculateWaterMarkParam'](this['stFishEyeManager'][_0x48ac53]['pRender'],_0x48ac53,this['pstWaterFontParam'])),0x1);}},{'key':'FEC_SetBackCilling','value':function(_0x467a9a,_0x4da968){return _0x467a9a<0x0||_0x467a9a>0x1f||null==_0x467a9a?(this['FECErrorCode']=_0x1dae8d,0x0):null==this['stFishEyeManager'][_0x467a9a]['pRender']?(this['FECErrorCode']=_0x1e1231,0x0):0x0==this['stFishEyeManager'][_0x467a9a]['bInited']?(this['FECErrorCode']=_0x421a67,0x0):_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x467a9a]['pRender']['SR_SetRenderState'](_0x21dfba['SRRENDERSTATETYPE']['SR_RST_BACK_CULL'],_0x4da968)?(this['FECErrorCode']=0x511,0x0):(null!=this['pstWaterFontParam']&&this['pstWaterFontParam']['nColorAdapt']&&(this['pstWaterFontParamArray'][_0x467a9a]['splice'](0x0,this['pstWaterFontParamArray'][_0x467a9a]['length']),this['CalculateWaterMarkParam'](this['stFishEyeManager'][_0x467a9a]['pRender'],_0x467a9a,this['pstWaterFontParam'])),0x1);}},{'key':'FEC_GetPTZPort','value':function(_0x567f38,_0x3740bf,_0x5d297e){if(null!=this['stFishEyeManager'][_0x567f38]['pRender']){var _0x4d312b={'nPTZPort':-0x1};if(this['stFishEyeManager'][_0x567f38]['pRender']['SR_GetPTZPort'](_0x3740bf,_0x5d297e,_0x4d312b)==_0x21dfba['ERRCODE']['SR_OK'])return _0x4d312b['nPTZPort'];}return-0x1;}},{'key':'FEC_SetPTZDisplayMode','value':function(_0x200355){return _0x200355>=0x0&&_0x200355<=0x2?(null!=this['stFishEyeManager'][0x0]['pRender']&&this['stFishEyeManager'][0x0]['pRender']['SR_SetPTZDisplayMode'](_0x200355),this['FECShowMode']=_0x200355,0x1):(console['info']('%c\\x20FEC_SetPTZDisplayMode\\x20ptzMode:%d','color:\\x20red',_0x200355),0x0);}},{'key':'FEC_Capture','value':function(_0x2b878f,_0x5b5a3c){if(null!=this['stFishEyeManager'][_0x2b878f]['pRender']){var _0xfd80d1={'nWidth':0x0,'nHeight':0x0,'nBufferLen':0x0},_0x1b3f8d=this['stFishEyeManager'][_0x2b878f]['pRender']['SR_GetCaptureSize'](_0xfd80d1);if(_0x21dfba['ERRCODE']['SR_OK']!=_0x1b3f8d||_0xfd80d1['nBufferLen']<=0x0)return _0x5b5a3c(null,0x0,0x0,_0x2b878f),0x0;var _0x4f1ade=new Uint8Array(_0xfd80d1['nBufferLen']);if(null==_0x4f1ade)return _0x5b5a3c(null,0x0,0x0,_0x2b878f),0x0;var _0x16828f={};return _0x16828f['pBuffer']=_0x4f1ade,this['stFishEyeManager'][_0x2b878f]['pRender']['SR_CaptureScreen'](_0x16828f),_0x5b5a3c(_0x4f1ade,_0xfd80d1['nWidth'],_0xfd80d1['nHeight'],_0x2b878f),_0x4f1ade=null,0x1;}return _0x5b5a3c(null,0x0,0x0,_0x2b878f),0x0;}},{'key':'CheckFrameRGB','value':function(_0x3396b2,_0x310c5e,_0x1f24e5,_0x1447a2,_0x1e1836,_0x117450){if(null==_0x3396b2||null==_0x3396b2['width']||null==_0x3396b2['height']||null==_0x3396b2['pBuffer']||_0x3396b2['width']<=0x0||_0x3396b2['height']<=0x0||_0x3396b2['pBuffer']['length']<=0x0)return 0x0;for(var _0x1c7bfc=_0x3396b2['width']/(_0x1447a2-0x1),_0x4090e3=_0x3396b2['height']/(_0x1f24e5-0x1),_0x168d5e=0x0,_0x4eb92e=0x0,_0x3a63dc=[],_0x59e88c=0x0;_0x59e88c<_0x1f24e5*_0x1447a2;_0x59e88c++)_0x3a63dc[_0x59e88c]=0x0,this['aPOSAdaptBuf'][_0x59e88c]=0x0;if(_0x310c5e){for(var _0x97e0f9=0x0,_0x28e1b8=0x0;_0x28e1b8<_0x3396b2['height'];_0x28e1b8++)for(var _0x40afd1=0x0;_0x40afd1<_0x3396b2['width'];_0x40afd1++){_0x168d5e=(_0x168d5e=Math['round'](_0x40afd1/(_0x1c7bfc/0x2)/0x2))<_0x1447a2?_0x168d5e:_0x1447a2-0x1,_0x4eb92e=(_0x4eb92e=Math['round'](_0x28e1b8/(_0x4090e3/0x2)/0x2))<_0x1f24e5?_0x4eb92e:_0x1f24e5-0x1;var _0x460a4a=_0x3396b2['pBuffer'][_0x97e0f9],_0x552772=_0x3396b2['pBuffer'][_0x97e0f9+0x1],_0x49cd13=_0x3396b2['pBuffer'][_0x97e0f9+0x2],_0x222950=Math['round'](0.299*_0x460a4a+0.587*_0x552772+0.114*_0x49cd13);this['aPOSAdaptBuf'][_0x168d5e+_0x4eb92e*_0x1447a2]+=_0x222950,_0x3a63dc[_0x168d5e+_0x4eb92e*_0x1447a2]++,_0x97e0f9+=0x4;}for(var _0x3c55e4=0x0,_0x1479e5=0x0;_0x1479e5<_0x1f24e5*_0x1447a2;_0x1479e5++)_0x3c55e4=this['aPOSAdaptBuf'][_0x1479e5]/_0x3a63dc[_0x1479e5],this['aPOSAdaptBuf'][_0x1479e5]=_0x3c55e4>0x80?0x0:0x1;}else{var _0x869a9c=Math['round'](_0x1e1836*_0x3396b2['width']),_0x5141d2=Math['round'](_0x117450*_0x3396b2['height']),_0x54d952=_0x869a9c-0x2;_0x54d952=(_0x54d952=_0x54d952>0x0?_0x54d952:0x0)<_0x3396b2['width']?_0x54d952:_0x3396b2['width']-0x1;var _0x171aa7=_0x869a9c+0x2;_0x171aa7=(_0x171aa7=_0x171aa7>0x0?_0x171aa7:0x0)<_0x3396b2['width']?_0x171aa7:_0x3396b2['width']-0x1;var _0x150895=_0x5141d2-0x2;_0x150895=(_0x150895=_0x150895>0x0?_0x150895:0x0)<_0x3396b2['height']?_0x150895:_0x3396b2['height']-0x1;var _0x6d4a9b=_0x5141d2+0x2;_0x6d4a9b=(_0x6d4a9b=_0x6d4a9b>0x0?_0x6d4a9b:0x0)<_0x3396b2['height']?_0x6d4a9b:_0x3396b2['height']-0x1;for(var _0x3115b2=_0x150895;_0x3115b2<_0x6d4a9b;_0x3115b2++)for(var _0x4d1548=_0x54d952;_0x4d1548<_0x171aa7;_0x4d1548++){var _0x3ede9b=0x4*Math['floor']((0x4*_0x4d1548+_0x3115b2*_0x3396b2['width']*0x4)/0x4),_0x36dcb9=_0x3396b2['pBuffer'][_0x3ede9b],_0x1817f0=_0x3396b2['pBuffer'][_0x3ede9b+0x1],_0x4e2ee1=_0x3396b2['pBuffer'][_0x3ede9b+0x2],_0x3d104a=Math['round'](0.299*_0x36dcb9+0.587*_0x1817f0+0.114*_0x4e2ee1);this['aPOSAdaptBuf'][0x0]+=_0x3d104a,_0x3a63dc[0x0]++;}this['aPOSAdaptBuf'][0x0]=this['aPOSAdaptBuf'][0x0]/_0x3a63dc[0x0]>0x80?0x0:0x1;}return 0x1;}},{'key':'GetWaterFontParam','value':function(_0x26cbf6,_0x3d3f8b,_0x252318,_0x396eda,_0x2684e2,_0x3816aa,_0x20c319){var _0x316822=_0x252318['pFontString']['length'],_0x588fe6=_0x252318['pstFontRotate']['fRotateAngle']%0x168/0x168*0x2*Math['PI'],_0x39f42f=Math['min'](_0x252318['pstFontSize']['nFontWidth'],_0x252318['pstFontSize']['nFontHeight']);if(0x2==_0x252318['pstCanvasAdapt']['nCanvasAdaptMode']){var _0x562dcd=_0x252318['pstFontSize']['nFontWidth']*_0x396eda/_0x252318['pstCanvasAdapt']['nBaseCanvasWidth'],_0x899366=_0x252318['pstFontSize']['nFontHeight']*_0x2684e2/_0x252318['pstCanvasAdapt']['nBaseCanvasHeight'];_0x39f42f=Math['min'](_0x562dcd,_0x899366);}var _0x3e0aa9=_0x39f42f/_0x396eda,_0x5a785b=_0x39f42f/_0x2684e2,_0x24cc79=_0x3e0aa9*Math['cos'](Math['PI']/0x2-_0x588fe6)*_0x252318['pSpace'],_0x162ffe=_0x5a785b*Math['sin'](Math['PI']/0x2-_0x588fe6)*_0x252318['pSpace'],_0x5d27c0=[],_0x34931c=[],_0x4efef6=[];if(_0x252318['nFontAlign']){for(var _0x47e108=0x0;_0x47e108<_0x316822;_0x47e108++)_0x5d27c0[_0x47e108]=_0x252318['pFontString'][0x0]['length']*_0x3e0aa9/0x6,_0x34931c[_0x47e108]=Math['atan2'](_0x5d27c0[0x0],_0x162ffe),_0x4efef6[_0x47e108]=Math['sqrt'](_0x5d27c0[0x0]*_0x5d27c0[0x0],_0x162ffe*_0x162ffe);}else{for(var _0x249af4=0x0;_0x249af4<_0x316822;_0x249af4++)_0x5d27c0[_0x249af4]=0x0,_0x34931c[_0x249af4]=0x0,_0x4efef6[_0x249af4]=0x0;}var _0x347eba={};if(this['pstWaterFontParam']['nColorAdapt']){var _0x56e2ef={'nWidth':0x10,'nHeight':0x10,'nBufferLen':0x0},_0x30523f=_0x26cbf6['SR_GetCaptureSize'](_0x56e2ef);if(_0x21dfba['ERRCODE']['SR_OK']==_0x30523f){var _0x24b047=new Uint8Array(_0x56e2ef['nBufferLen']);_0x347eba['pBuffer']=_0x24b047,_0x26cbf6['SR_CaptureScreen'](_0x347eba,!0x0),_0x347eba['width']=_0x56e2ef['nWidth'],_0x347eba['height']=_0x56e2ef['nHeight'],_0x24b047=null;}}var _0x3aacd6=_0x3816aa*_0x20c319;if(_0x252318['pstFontRotate']['fFillFullScreen']){var _0x26bda2=[],_0x260c95=[];if(0x1==_0x252318['pstCanvasAdapt']['nCanvasAdaptMode']){if(_0x20c319<_0x5e47b7){for(var _0x315704=0x0;_0x315704*_0x252318['pstCanvasAdapt']['ntotalColSpace']<=_0x396eda;_0x315704++)_0x260c95[_0x315704]=(_0x315704*_0x252318['pstCanvasAdapt']['ntotalColSpace']+_0x252318['pstCanvasAdapt']['nColSpace']/0x2)/_0x396eda;}else{for(var _0x5e0fd8=0x1/(_0x20c319-0x1),_0x1d7f1a=0x0;_0x1d7f1a<_0x20c319;_0x1d7f1a++)_0x260c95[_0x1d7f1a]=_0x5e0fd8*_0x1d7f1a+_0x24cc79*((_0x316822-0x1)/0x2);}if(_0x3816aa<_0x5e47b7){for(var _0x803eb2=0x0;_0x803eb2*_0x252318['pstCanvasAdapt']['ntotalRowSpace']<=_0x2684e2;_0x803eb2++)_0x26bda2[_0x803eb2]=(_0x803eb2*_0x252318['pstCanvasAdapt']['ntotalRowSpace']+_0x252318['pstCanvasAdapt']['nRowSpace']/0x2)/_0x2684e2;}else{for(var _0x4e0b75=0x1/(_0x3816aa-0x1),_0x21f907=0x0;_0x21f907<_0x3816aa;_0x21f907++)_0x26bda2[_0x21f907]=_0x4e0b75*_0x21f907-_0x162ffe*((_0x316822-0x1)/0x2);}for(var _0xcbe00=0x0;_0xcbe00<_0x316822;_0xcbe00++)_0x5d27c0[_0xcbe00]=0x0,_0x34931c[_0xcbe00]=0x0,_0x4efef6[_0xcbe00]=0x0;}else{if(0x1==_0x3816aa)_0x26bda2[0x0]=0.5;else{for(var _0x2a15ce=0x1/(_0x3816aa-0x1),_0x5deaf5=0x0;_0x5deaf5<_0x3816aa;_0x5deaf5++)_0x26bda2[_0x5deaf5]=_0x2a15ce*_0x5deaf5-_0x162ffe*((_0x316822-0x1)/0x2);}if(0x1==_0x20c319)_0x260c95[0x0]=0.5;else{for(var _0x4c1bab=0x1/(_0x20c319-0x1),_0x6ff991=0x0;_0x6ff991<_0x20c319;_0x6ff991++)_0x260c95[_0x6ff991]=_0x4c1bab*_0x6ff991+_0x24cc79*((_0x316822-0x1)/0x2);}}this['pstWaterFontParamArray'][_0x3d3f8b]=[];for(var _0x334122=0x0;_0x334122<_0x3aacd6;++_0x334122)for(var _0x30c764=0x0;_0x30c764<_0x316822;_0x30c764++){this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]={},this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pString']=_0x252318['pFontString'][_0x30c764],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['nFontWidth']=_0x39f42f,this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['nFontHeight']=_0x39f42f,this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstStartPos']={};var _0x3cd387=_0x334122%_0x20c319,_0x1aed67=Math['floor'](_0x334122/_0x20c319),_0x3699ec=Math['PI']/0x2-_0x588fe6+_0x34931c[_0x30c764];this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstStartPos']['fX']=_0x260c95[_0x3cd387]-_0x30c764*_0x24cc79+_0x4efef6[_0x30c764]*Math['cos'](_0x3699ec),this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstStartPos']['fY']=_0x26bda2[_0x1aed67]+_0x30c764*_0x162ffe-_0x4efef6[_0x30c764]*Math['sin'](_0x3699ec),_0x252318['nColorAdapt']?(0x0==_0x30c764&&this['CheckFrameRGB'](_0x347eba,0x0,0x1,0x1,this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstStartPos']['fX'],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstStartPos']['fY']),this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstFontColor']={},this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstFontColor']['fR']=this['aPOSAdaptBuf'][0x0],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstFontColor']['fG']=this['aPOSAdaptBuf'][0x0],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstFontColor']['fB']=this['aPOSAdaptBuf'][0x0],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstFontColor']['fA']=_0x252318['pstFontColor']['fA']):this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstFontColor']=_0x252318['pstFontColor'],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['bBackGround']=!0x1,this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstBGColor']=null,this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['fRotateAngle']=_0x252318['pstFontRotate']['fRotateAngle'],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pFontFamily']=_0x252318['pFontFamily'],_0x252318['nFontAlign']?(this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['textAlign']='left',this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['textBaseline']='top'):(this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['textAlign']='center',this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['textBaseline']='middle');}}else{for(var _0x44ed11=0x0;_0x44ed11<_0x252318['pFontString']['length'];_0x44ed11++)this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]={},this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pString']=_0x252318['pFontString'][_0x44ed11],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['nFontWidth']=_0x39f42f,this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['nFontHeight']=_0x39f42f,this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstStartPos']={},this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstStartPos']['fX']=_0x252318['pstStartPos']['fX']-_0x44ed11*_0x24cc79,this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstStartPos']['fY']=_0x252318['pstStartPos']['fY']+_0x44ed11*_0x162ffe,_0x252318['nColorAdapt']?(this['CheckFrameRGB'](_0x347eba,0x0,0x1,0x1,this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstStartPos']['fX'],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstStartPos']['fY']),this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstFontColor']={},this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstFontColor']['fR']=this['aPOSAdaptBuf'][0x0],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstFontColor']['fG']=this['aPOSAdaptBuf'][0x0],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstFontColor']['fB']=this['aPOSAdaptBuf'][0x0],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstFontColor']['fA']=_0x252318['pstFontColor']['fA']):this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstFontColor']=_0x252318['pstFontColor'],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['bBackGround']=!0x1,this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstBGColor']=null,this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['fRotateAngle']=_0x252318['pstFontRotate']['fRotateAngle'],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pFontFamily']=_0x252318['pFontFamily'],_0x252318['nFontAlign']?(this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['textAlign']='left',this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['textBaseline']='top'):(this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['textAlign']='center',this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['textBaseline']='middle');}return 0x1;}},{'key':'CalculateWaterMarkParam','value':function(_0x469db2,_0x2e7d93,_0x57cc78){var _0x335aa9=this['mainCanvasID']['width'],_0x5f2d2b=this['mainCanvasID']['height'];_0x2e7d93>0x0&&(_0x335aa9=this['stFishEyeManager'][_0x2e7d93]['sCanvasID']['width'],_0x5f2d2b=this['stFishEyeManager'][_0x2e7d93]['sCanvasID']['height']);var _0x4b459f=Math['floor'](_0x57cc78['pstFontNumber']['nRowNumber']),_0x227c84=Math['floor'](_0x57cc78['pstFontNumber']['nColNumber']);0x1==_0x57cc78['pstCanvasAdapt']['nCanvasAdaptMode']&&(_0x4b459f=(_0x4b459f=(_0x4b459f=Math['floor'](_0x5f2d2b/_0x57cc78['pstCanvasAdapt']['ntotalRowSpace']+0x1))<0x1?0x1:_0x4b459f)>_0x5e47b7?_0x5e47b7:_0x4b459f,_0x227c84=(_0x227c84=(_0x227c84=Math['floor'](_0x335aa9/_0x57cc78['pstCanvasAdapt']['ntotalColSpace']+0x1))<0x1?0x1:_0x227c84)>_0x5e47b7?_0x5e47b7:_0x227c84),this['GetWaterFontParam'](_0x469db2,_0x2e7d93,_0x57cc78,_0x335aa9,_0x5f2d2b,_0x4b459f,_0x227c84);}},{'key':'SetWaterMarkFont','value':function(_0x7f97f7){if(0x0!=this['pstWaterFontParamArray']['length']){for(var _0x32bef9=0x0;_0x32bef9<_0x3e91af;_0x32bef9++)this['pstWaterFontParamArray'][_0x32bef9]['splice'](0x0,this['pstWaterFontParamArray'][_0x32bef9]['length']);}if(this['pstWaterFontParam']=_0x7f97f7,null===_0x7f97f7)return 0x1;this['CalculateWaterMarkParam'](this['oVideoHandle'],0x0,_0x7f97f7);for(var _0x7f48cf=0x1;_0x7f48cf<_0x3e91af;_0x7f48cf++)null!=this['stFishEyeManager'][_0x7f48cf]['pRender']&&this['CalculateWaterMarkParam'](this['stFishEyeManager'][_0x7f48cf]['pRender'],_0x7f48cf,_0x7f97f7);return 0x1;}},{'key':'SetMosaicType','value':function(_0x3dfecb){return this['MosaicType']=_0x3dfecb['nMosaicType'],this['MosaicSize']=_0x3dfecb['nMosaicSize'],this['MosaicColorR']=_0x3dfecb['pstMosaicColor']['fMosaicColorR']/0xff,this['MosaicColorG']=_0x3dfecb['pstMosaicColor']['fMosaicColorG']/0xff,this['MosaicColorB']=_0x3dfecb['pstMosaicColor']['fMosaicColorB']/0xff,this['MosaicColorA']=_0x3dfecb['pstMosaicColor']['fMosaicColorA']/0x64,0x1;}},{'key':'SetTextCanvas','value':function(_0x3f1e12){return this['textCanvas']=_0x3f1e12,0x1;}},{'key':'SetPrintLogFlag','value':function(_0xf2eb82){return this['printfFlag']=_0xf2eb82,0x1;}},{'key':'SetRotateAngle','value':function(_0x2a19c3){if(null!=this['oVideoHandle']){var _0x39678b;if(_0x39678b=this['oVideoHandle']['SR_SetRenderState'](_0x21dfba['SRRENDERSTATETYPE']['SR_RST_IMAGE_ROTATE'],_0x2a19c3),null!=this['pstWaterFontParam']&&this['pstWaterFontParam']['nColorAdapt']&&(this['pstWaterFontParamArray'][0x0]['splice'](0x0,this['pstWaterFontParamArray'][0x0]['length']),this['CalculateWaterMarkParam'](this['oVideoHandle'],0x0,this['pstWaterFontParam'])),_0x39678b==_0x21dfba['ERRCODE']['SR_OK'])return 0x1;}return 0x0;}},{'key':'ImageDecoder','value':function(_0xc519d,_0x1d4ce4,_0xcab272){var _0x55584f=this;_0xc519d['decode']({'frameIndex':_0xcab272})['then'](function(_0x21aadd){_0x55584f['pWaterImageParam'][_0xcab272]={},_0x55584f['pWaterImageParam'][_0xcab272]['videoStream']=_0x21aadd['image'],_0x55584f['pWaterImageParam'][_0xcab272]['nImageWidth']=_0x21aadd['image']['displayWidth'],_0x55584f['pWaterImageParam'][_0xcab272]['nImageHeight']=_0x21aadd['image']['displayHeight'],_0x55584f['pWaterImageParam'][_0xcab272]['timeStamp']=_0x21aadd['image']['timestamp']/0x3e8,_0x55584f['pWaterImageParam'][_0xcab272]['duration']=_0x21aadd['image']['duration']/0x3e8,null!=_0x1d4ce4['pstRectPos']?_0x55584f['pWaterImageParam'][_0xcab272]['pstRectPos']=_0x1d4ce4['pstRectPos']:_0x55584f['pWaterImageParam'][_0xcab272]['pstRectPos']={'fLeft':0x0,'fRight':0.1,'fTop':0x0,'fBottom':0.1},null!=_0x1d4ce4['fAlpha']&&_0x1d4ce4['fAlpha']<=0x1&&_0x1d4ce4['fAlpha']>=0x0?_0x55584f['pWaterImageParam'][_0xcab272]['fAlpha']=_0x1d4ce4['fAlpha']:_0x55584f['pWaterImageParam'][_0xcab272]['fAlpha']=0x1,_0x55584f['waterMarkImageMax']=_0xc519d['tracks']['selectedTrack']['frameCount'],_0xcab272<_0xc519d['tracks']['selectedTrack']['frameCount']-0x1?_0x55584f['ImageDecoder'](_0xc519d,_0x1d4ce4,_0xcab272+0x1):(_0x55584f['baseWaterMarkImageTime']=_0x55584f['curTimestamp'],_0x55584f['finishDecodeImage']=!0x0);});}},{'key':'SetWaterMarkImage','value':function(_0x12637a){var _0x420c25=this;if(this['pWaterImageParam']['splice'](0x0,this['pWaterImageParam']['length']),null===_0x12637a)return 0x1;if(null!=_0x12637a['pImageData']){var _0x1c6ae7=new ImageDecoder({'data':_0x12637a['pImageData'],'type':'image/'+_0x12637a['pImageType']});_0x1c6ae7['tracks']['ready']['then'](function(){_0x1c6ae7['completed']['then'](function(){_0x420c25['ImageDecoder'](_0x1c6ae7,_0x12637a,0x0);});});}return this['waterMarkImageIndex']=0x0,0x1;}},{'key':'SelectIntelInfoFeatureToDraw','value':function(_0x1a5385){if(this['DrawTargetEventIDList']['splice'](0x0,this['DrawTargetEventIDList']['length']),null===_0x1a5385)return 0x0;if(pImageParam['NodeNumber']>0x0){for(var _0x32561c=0x0;_0x32561c0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:0x0,_0xc49009=arguments['length']>0x2&&void 0x0!==arguments[0x2]?arguments[0x2]:0x0,_0x1a7128=arguments['length']>0x3&&void 0x0!==arguments[0x3]?arguments[0x3]:0x0,_0x53f5c9={};_0x53f5c9['nWidth']=_0x3a9a71,_0x53f5c9['nHeight']=_0xc49009,_0x53f5c9['nBufferLen']=0x0;var _0x1a1cd5=this['oVideoHandle']['SR_GetCaptureSize'](_0x53f5c9,_0x1a7128);if(_0x21dfba['ERRCODE']['SR_OK']!=_0x1a1cd5||_0x53f5c9['nBufferLen']<=0x0)_0x48e3b0(null);else{var _0x135475=new Uint8Array(_0x53f5c9['nBufferLen']);if(null!=_0x135475){var _0x3bf884={};_0x3bf884['pBuffer']=_0x135475,this['oVideoHandle']['SR_CaptureScreen'](_0x3bf884),_0x48e3b0(_0x135475,_0x53f5c9['nWidth'],_0x53f5c9['nHeight']);}else _0x48e3b0(null);}}},{'key':'FindIntelNodefromList','value':function(_0x2375e1){if(0x0!=this['privateNormalLinesInfo']['length']){for(var _0x190f88=!0x1,_0x805ebd=0x0,_0x39cbde=!0x1,_0x2dd2fd=0x0,_0x4c94e9=0x0,_0xf19116=0x5f5e100,_0x5323b3=0x0;_0x5323b30x0){var _0x2836b6={'linesNum':0x0};_0x2836b6['absTimeStamp']=_0x247233['absTimeStamp'],_0x2836b6['stDrawLinesArray']=[];var _0x21311e={'linesNum':0x0};_0x21311e['absTimeStamp']=_0x247233['absTimeStamp'],_0x21311e['stDrawLinesArray']=[];var _0x29620e={'linesNum':0x0};_0x29620e['absTimeStamp']=_0x247233['absTimeStamp'],_0x29620e['stDrawLinesArray']=[];var _0x1a9f88={'linesNum':0x0};_0x1a9f88['absTimeStamp']=_0x247233['absTimeStamp'],_0x1a9f88['stDrawLinesArray']=[];var _0x11893f={'linesNum':0x0};_0x11893f['absTimeStamp']=_0x247233['absTimeStamp'],_0x11893f['stDrawLinesArray']=[];var _0x56d362={'linesNum':0x0};_0x56d362['absTimeStamp']=_0x247233['absTimeStamp'],_0x56d362['stDrawLinesArray']=[];var _0xf6c7da={'linesNum':0x0};_0xf6c7da['absTimeStamp']=_0x247233['absTimeStamp'],_0xf6c7da['stDrawLinesArray']=[];for(var _0x522e96=0x0;_0x522e96<_0x247233['linesNum'];_0x522e96++)0x1==_0x247233['stDrawLinesArray'][_0x522e96]['dwMatchType']?0x2==_0x247233['stDrawLinesArray'][_0x522e96]['dwIntelFlag']?(_0x56d362['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0x56d362['linesNum']):(_0x11893f['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0x11893f['linesNum']):0x1==_0x247233['stDrawLinesArray'][_0x522e96]['dwIntelFlag']?(_0x2836b6['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0x2836b6['linesNum']):0x4==_0x247233['stDrawLinesArray'][_0x522e96]['dwIntelFlag']?(this['m_nTEMDrawLinescount']=0x0,_0x21311e['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0x21311e['linesNum']):0x6==_0x247233['stDrawLinesArray'][_0x522e96]['dwIntelFlag']?(_0x29620e['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0x29620e['linesNum']):0x8!=_0x247233['stDrawLinesArray'][_0x522e96]['dwIntelFlag']||0x1!=_0x247233['stDrawLinesArray'][_0x522e96]['dwSubIntelFlag']&&0x2!=_0x247233['stDrawLinesArray'][_0x522e96]['dwSubIntelFlag']?(_0x1a9f88['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0x1a9f88['linesNum']):(_0xf6c7da['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0xf6c7da['linesNum']);if(_0x11893f['linesNum']>0x0){if(_0x11893f['absTimeStamp']<=this['maxExactPrivateLineTimeStamp']){var _0x267207=0x0;for(_0x267207=0x0;_0x2672070x0){if(this['privateNormalLinesInfo']['length']>=_0x1eb546&&this['privateNormalLinesInfo']['shift'](),_0x1a9f88['absTimeStamp']<=this['maxNormalPrivateLineTimeStamp']){var _0x49a13b=0x0;for(_0x49a13b=0x0;_0x49a13b0x0){if(this['privateThermalLinesInfo']['length']>=_0x1eb546&&this['privateThermalLinesInfo']['shift'](),0x0!=this['privateThermalLinesInfo']['length']){this['privateThermalLinesInfo'][0x0]['linesNum']=_0xf6c7da['linesNum'];for(var _0xd9f3d=0x0;_0xd9f3d<_0xf6c7da['linesNum'];_0xd9f3d++){this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]={},this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['vertex_num']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['vertex_num'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['lineWidth']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['lineWidth'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['bFill']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['bFill'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['bLoop']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['bLoop'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['dwMatchType']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['dwMatchType'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['dwIntelFlag']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['dwIntelFlag'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['dwSubIntelFlag']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['dwSubIntelFlag'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['color']={},this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['color']['R']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['color']['R'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['color']['G']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['color']['G'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['color']['B']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['color']['B'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['color']['A']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['color']['A'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['stPoint']=[];for(var _0x449248=0x0;_0x449248<_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['vertex_num'];_0x449248++)this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['stPoint'][_0x449248]={},this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['stPoint'][_0x449248]['x']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['stPoint'][_0x449248]['x'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['stPoint'][_0x449248]['y']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['stPoint'][_0x449248]['y'];}}else this['privateThermalLinesInfo']['push'](_0xf6c7da);}if(_0x59e36b=!0x1,_0x34ae10=0x0,_0x56d362['linesNum']>0x0){if(_0x56d362['absTimeStamp']<=this['maxExactRulePrivateLineTimeStamp']){var _0x45e6f0=0x0;for(_0x45e6f0=0x0;_0x45e6f00x0){if(_0x2836b6['absTimeStamp']<=this['maxTargetPrivateLineTimeStamp']){var _0x1388cd=0x0;for(_0x1388cd=0x0;_0x1388cd0x0){if(this['privateMDLinesInfo']['length']>=_0x1eb546&&this['privateMDLinesInfo']['shift'](),_0x29620e['absTimeStamp']<=this['maxMDPrivateLineTimeStamp']){var _0xa0c4d0=0x0;for(_0xa0c4d0=0x0;_0xa0c4d00x0){if(this['privateTemLinesInfo']['length']>=_0x1eb546&&this['privateTemLinesInfo']['shift'](),_0x21311e['absTimeStamp']<=this['maxTemPrivateLineTimeStamp']){var _0x5c8f9d=0x0;for(_0x5c8f9d=0x0;_0x5c8f9d0x0){var _0x40a540={'nFontsNum':0x0};_0x40a540['absTimeStamp']=_0x4edfac['absTimeStamp'],_0x40a540['stDrawFontsArray']=[];var _0x206f21={'nFontsNum':0x0};_0x206f21['absTimeStamp']=_0x4edfac['absTimeStamp'],_0x206f21['stDrawFontsArray']=[];var _0x19c569={'nFontsNum':0x0};_0x19c569['absTimeStamp']=_0x4edfac['absTimeStamp'],_0x19c569['stDrawFontsArray']=[];var _0x402f2f={'nFontsNum':0x0};_0x402f2f['absTimeStamp']=_0x4edfac['absTimeStamp'],_0x402f2f['stDrawFontsArray']=[];var _0x13cf6d={'nFontsNum':0x0};_0x13cf6d['absTimeStamp']=_0x4edfac['absTimeStamp'],_0x13cf6d['stDrawFontsArray']=[];var _0x38ad54={'nFontsNum':0x0};_0x38ad54['absTimeStamp']=_0x4edfac['absTimeStamp'],_0x38ad54['stDrawFontsArray']=[];for(var _0x2f9f20=0x0;_0x2f9f20<_0x4edfac['nFontsNum'];_0x2f9f20++)0x1==_0x4edfac['stDrawFontsArray'][_0x2f9f20]['dwMatchType']?0x1==_0x4edfac['stDrawFontsArray'][_0x2f9f20]['dwIntelFlag']?(_0x13cf6d['stDrawFontsArray']['push'](_0x4edfac['stDrawFontsArray'][_0x2f9f20]),++_0x13cf6d['nFontsNum']):0x3==_0x4edfac['stDrawFontsArray'][_0x2f9f20]['dwIntelFlag']&&(_0x38ad54['stDrawFontsArray']['push'](_0x4edfac['stDrawFontsArray'][_0x2f9f20]),++_0x38ad54['nFontsNum']):0x1==_0x4edfac['stDrawFontsArray'][_0x2f9f20]['dwIntelFlag']?(_0x40a540['stDrawFontsArray']['push'](_0x4edfac['stDrawFontsArray'][_0x2f9f20]),++_0x40a540['nFontsNum']):0x4==_0x4edfac['stDrawFontsArray'][_0x2f9f20]['dwIntelFlag']?(this['m_nTEMDrawFontscount']=0x0,_0x206f21['stDrawFontsArray']['push'](_0x4edfac['stDrawFontsArray'][_0x2f9f20]),++_0x206f21['nFontsNum']):0x3==_0x4edfac['stDrawFontsArray'][_0x2f9f20]['dwIntelFlag']?_0x4edfac['stDrawFontsArray'][_0x2f9f20]['NeedClearNormalPos']?this['curNormalPOSFontsInfo']=null:(_0x402f2f['stDrawFontsArray']['push'](_0x4edfac['stDrawFontsArray'][_0x2f9f20]),++_0x402f2f['nFontsNum']):(_0x19c569['stDrawFontsArray']['push'](_0x4edfac['stDrawFontsArray'][_0x2f9f20]),++_0x19c569['nFontsNum']);if(_0x59e36b=!0x1,_0x34ae10=0x0,_0x38ad54['nFontsNum']>0x0){if(this['privateExactPOSFontsInfo']['length']>=_0x1eb546&&this['privateExactPOSFontsInfo']['shift'](),_0x38ad54['absTimeStamp']<=this['maxExactPOSPrivateFontTimeStamp']){var _0x48b0a3=0x0;for(_0x48b0a3=0x0;_0x48b0a30x0){if(this['privateExactFontsInfo']['length']>=_0x1eb546&&this['privateExactFontsInfo']['shift'](),_0x13cf6d['absTimeStamp']<=this['maxExactPrivateFontTimeStamp']){var _0x33b1b7=0x0;for(_0x33b1b7=0x0;_0x33b1b70x0){if(this['privateNormalFontsInfo']['length']>=_0x1eb546&&this['privateNormalFontsInfo']['shift'](),_0x19c569['absTimeStamp']<=this['maxNormalPrivateFontTimeStamp']){var _0x145457=0x0;for(_0x145457=0x0;_0x1454570x0){if(null==this['curNormalPOSFontsInfo'])this['curNormalPOSFontsInfo']=_0x402f2f;else{this['curNormalPOSFontsInfo']['nFontsNum']=_0x402f2f['nFontsNum'],this['curNormalPOSFontsInfo']['absTimeStamp']=_0x402f2f['absTimeStamp'];for(var _0x1c6f38=0x0;_0x1c6f38<_0x402f2f['nFontsNum'];_0x1c6f38++)this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]={},this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['nFontSizeW']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['nFontSizeW'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['nFontSizeH']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['nFontSizeH'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['dwMatchType']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['dwMatchType'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['dwIntelFlag']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['dwIntelFlag'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['dwSubIntelFlag']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['dwSubIntelFlag'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['color']={},this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['color']['R']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['color']['R'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['color']['G']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['color']['G'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['color']['B']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['color']['B'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['color']['A']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['color']['A'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['stPoint']={},this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['stPoint']['x']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['stPoint']['x'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['stPoint']['y']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['stPoint']['y'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['fontString']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['fontString'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['BGcolor']={},this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['BGcolor']['R']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['BGcolor']['R'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['BGcolor']['G']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['BGcolor']['G'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['BGcolor']['B']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['BGcolor']['B'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['BGcolor']['A']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['BGcolor']['A'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['bBackGround']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['bBackGround'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['EventID']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['dwEventID'];}}if(_0x59e36b=!0x1,_0x34ae10=0x0,_0x40a540['nFontsNum']>0x0){if(this['privateTargetFontsInfo']['length']>=_0x1eb546&&this['privateTargetFontsInfo']['shift'](),_0x40a540['absTimeStamp']<=this['maxTargetPrivateFontTimeStamp']){var _0x478941=0x0;for(_0x478941=0x0;_0x4789410x0){if(this['privateTemFontsInfo']['length']>=_0x1eb546&&this['privateTemFontsInfo']['shift'](),_0x206f21['absTimeStamp']<=this['maxTemPrivateFontTimeStamp']){var _0xfd100f=0x0;for(_0xfd100f=0x0;_0xfd100f=_0x1eb546&&this['privateImageInfo']['shift'](),_0x5d0e9d['absTimeStamp']<=this['maxPrivateImageTimeStamp']){var _0x44b7d1=0x0;for(_0x44b7d1=0x0;_0x44b7d1=0x14&&_0x3dd4bf['privatePNGImageInfo']['shift']();var _0x30df27=_0x3dd4bf['privatePNGImageInfo']['findIndex'](function(_0x2baec4){return _0x2baec4['PicID']===_0x5d0e9d['PicID'];});-0x1!==_0x30df27?_0x3dd4bf['privatePNGImageInfo'][_0x30df27]=_0x4c50a5(_0x4c50a5({},_0x3dd4bf['privatePNGImageInfo'][_0x30df27]),{},{'PicID':_0x5d0e9d['PicID'],'videoStream':_0x296e5d['image'],'nImageWidth':_0x296e5d['image']['displayWidth'],'nImageHeight':_0x296e5d['image']['displayHeight'],'pstRectPos':{'fTop':_0x5d0e9d['pstRect']['fTop'],'fBottom':_0x5d0e9d['pstRect']['fBottom'],'fLeft':_0x5d0e9d['pstRect']['fLeft'],'fRight':_0x5d0e9d['pstRect']['fRight']},'nPixelFormat':_0x5d0e9d['nPixelFormat'],'fAlpha':_0x5d0e9d['fAlpha']}):_0x3dd4bf['privatePNGImageInfo']['push']({'PicID':_0x5d0e9d['PicID'],'videoStream':_0x296e5d['image'],'nImageWidth':_0x296e5d['image']['displayWidth'],'nImageHeight':_0x296e5d['image']['displayHeight'],'pstRectPos':{'fTop':_0x5d0e9d['pstRect']['fTop'],'fBottom':_0x5d0e9d['pstRect']['fBottom'],'fLeft':_0x5d0e9d['pstRect']['fLeft'],'fRight':_0x5d0e9d['pstRect']['fRight']},'nPixelFormat':_0x5d0e9d['nPixelFormat'],'fAlpha':_0x5d0e9d['fAlpha']});})['catch'](function(_0x266080){console['error']('Image\\x20processing\\x20failed:',_0x266080);});}catch(_0x3090d4){console['error']('ImageDecoder\\x20initialization\\x20failed:',_0x3090d4);}}return 0x1;}},{'key':'CheckLinesInfo','value':function(){if(this['DrawlinesParamArray']['splice'](0x0,this['DrawlinesParamArray']['length']),this['DrawlinesParamArrayAllPointNum']=0x0,this['bDrawlinesParamArrayFill']=0x0,this['DrawMosaiclinesParamArray']['splice'](0x0,this['DrawMosaiclinesParamArray']['length']),this['DrawTargetlinesParamArray']['splice'](0x0,this['DrawTargetlinesParamArray']['length']),null!=this['curNormalLinesInfo']){for(var _0x4d8ab0=[],_0x1debcd=0x0,_0x27817d=0x0;_0x27817d0x0&&-0x1!=_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['dwFillPicID']){for(var _0x2d6707=-0x1,_0x4d1c39=0x0,_0x52af7a=0x0;_0x52af7a<_0x41a26e['privatePNGImageInfo']['length'];_0x52af7a++)if(_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['dwFillPicID']==_0x41a26e['privatePNGImageInfo'][_0x52af7a]['PicID']){if(_0x2d6707=_0x52af7a,_0x41a26e['DrawTargetEventIDList']['length']>0x0){for(var _0x4d5bbf=0x0;_0x4d5bbf<_0x41a26e['DrawTargetEventIDList']['length'];_0x4d5bbf++)if(_0x41a26e['DrawTargetEventIDList'][_0x4d5bbf]['nID']==_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['eventid']){_0x4d1c39=0x1;break;}}else _0x4d1c39=0x1;break;}-0x1!=_0x2d6707&&0x1==_0x4d1c39&&(_0x41a26e['privatePNGImageInfo'][_0x2d6707]['pstRectPos']['fTop']=_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['pstPoints'][0x0]['fY'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['pstRectPos']['fBottom']=_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['pstPoints'][0x2]['fY'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['pstRectPos']['fLeft']=_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['pstPoints'][0x0]['fX'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['pstRectPos']['fRight']=_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['pstPoints'][0x2]['fX'],_0x41a26e['oVideoHandle']['SR_DrawImage'](_0x41a26e['privatePNGImageInfo'][_0x2d6707]['videoStream'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['nImageWidth'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['nImageHeight'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['pstRectPos'],_0x21dfba['SRPIXELFORMAT']['SR_PF_SURFACE'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['fAlpha']));}else _0x41a26e['oVideoHandle']['SR_DrawLines'](_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['pstPoints'],_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['nPointNum'],_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['bLoop'],_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['pstColor'],_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['nLineWidth'],_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['bFill']);0x0!=_0x41a26e['DrawFontParamArray']['length']&&_0x41a26e['oVideoHandle']['SR_DrawFontEx'](_0x41a26e['DrawFontParamArray'],_0x41a26e['DrawFontParamArray']['length'],0x0,_0x41a26e['textCanvas']);for(var _0x599aad=_0x41a26e['DrawPOSFontsParamArray']['length']-0x1;_0x599aad>=0x0;_0x599aad--){var _0x3e15e1=0x0;if(-0x1!=_0x41a26e['DrawPOSFontsParamArray'][_0x599aad]['EventID']&&_0x41a26e['DrawTargetEventIDList']['length']>0x0){for(var _0xf36f5c=0x0;_0xf36f5c<_0x41a26e['DrawTargetEventIDList']['length'];_0xf36f5c++)if(_0x41a26e['DrawTargetEventIDList'][_0xf36f5c]['nID']==_0x41a26e['DrawPOSFontsParamArray'][_0x599aad]['EventID']){_0x3e15e1=0x1;break;}}else _0x3e15e1=0x1;0x1!=_0x3e15e1&&_0x41a26e['DrawPOSFontsParamArray']['splice'](_0x599aad,0x1);}if(0x0!=_0x41a26e['DrawPOSFontsParamArray']['length']&&_0x41a26e['oVideoHandle']['SR_DrawFontEx'](_0x41a26e['DrawPOSFontsParamArray'],_0x41a26e['DrawPOSFontsParamArray']['length'],0x0,_0x41a26e['textCanvas']),null!=_0x41a26e['curImagesInfo']&&0x0!=_0x41a26e['curImagesInfo']['nWidth']&&0x0!=_0x41a26e['curImagesInfo']['nHeight']&&0x1==_0x41a26e['m_bEnablePICEx']){var _0x8365cd=null;null!=_0x41a26e['curImagesInfo']&&null!=_0x41a26e['curImagesInfo']&&null!=_0x41a26e['curImagesInfo']['picImageData']&&null!=_0x41a26e['curImagesInfo']['picImageData']&&(_0x8365cd=new Uint16Array(_0x41a26e['curImagesInfo']['picImageData']['buffer'])),null!=_0x41a26e['curImagesInfo']&&_0x41a26e['curImagesInfo']['nPixelFormat']>0x0&&_0x41a26e['oVideoHandle']['SR_DrawImage'](_0x8365cd,_0x41a26e['curImagesInfo']['nWidth'],_0x41a26e['curImagesInfo']['nHeight'],_0x41a26e['curImagesInfo']['pstRect'],_0x41a26e['curImagesInfo']['nPixelFormat'],_0x41a26e['curImagesInfo']['fAlpha']);}if(0x0!==_0x41a26e['pstWaterFontParamArray'][0x0]['length']&&null!=_0x41a26e['pstWaterFontParam']&&_0x41a26e['oVideoHandle']['SR_DrawFontEx'](_0x41a26e['pstWaterFontParamArray'][0x0],_0x41a26e['pstWaterFontParamArray'][0x0]['length'],0x1,_0x41a26e['textCanvas']),0x0!==_0x41a26e['pWaterImageParam']['length']&&_0x41a26e['finishDecodeImage']){_0x41a26e['baseWaterMarkImageTime']<=0x0&&(_0x41a26e['baseWaterMarkImageTime']=_0x41a26e['curTimestamp']);var _0x140bc9=_0x41a26e['curTimestamp']-_0x41a26e['baseWaterMarkImageTime'];_0x140bc9<0x0&&(_0x41a26e['baseWaterMarkImageTime']=_0x41a26e['curTimestamp'],_0x140bc9=0x0,_0x41a26e['waterMarkImageIndex']=0x0),_0x140bc9>=_0x41a26e['pWaterImageParam'][_0x41a26e['waterMarkImageIndex']]['timeStamp']-_0x41a26e['pWaterImageParam'][0x0]['timeStamp']&&_0x41a26e['waterMarkImageIndex']++,_0x41a26e['waterMarkImageIndex']>=_0x41a26e['waterMarkImageMax']&&(_0x41a26e['waterMarkImageIndex']=0x0,_0x41a26e['baseWaterMarkImageTime']=_0x41a26e['curTimestamp']);var _0x4666b3=_0x41a26e['waterMarkImageIndex'];_0x41a26e['oVideoHandle']['SR_DrawImage'](_0x41a26e['pWaterImageParam'][_0x4666b3]['videoStream'],_0x41a26e['pWaterImageParam'][_0x4666b3]['nImageWidth'],_0x41a26e['pWaterImageParam'][_0x4666b3]['nImageHeight'],_0x41a26e['pWaterImageParam'][_0x4666b3]['pstRectPos'],_0x21dfba['SRPIXELFORMAT']['SR_PF_SURFACE'],_0x41a26e['pWaterImageParam'][_0x4666b3]['fAlpha']);}}},{'key':'SetPanoramaDisplayEffect','value':function(_0x42b3a0){if('2d'===this['renderEngine']||'2D'===this['renderEngine'])return 0x0;if(null!=this['oVideoHandle']){if(_0x42b3a0!=this['panoramaDisplayEffect']){this['panoramaDisplayEffect']=_0x42b3a0,this['oVideoHandle']['SR_DelSubPort'](this['mainVaildSubPort']),this['oVideoHandle']['SR_Destroy'](),this['oVideoHandle']=null,this['oVideoHandle']=new _0x506212(),null==this['pFishParamManager']&&(this['pFishParamManager']=new _0x28ed38()),this['oVideoHandle']['SR_SetFishParamManager'](this['pFishParamManager']),this['hasSetFECParamManager']=!0x0;var _0xa99e8e=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_NULL'];if(_0xa99e8e=0x1==this['panoramaDisplayEffect']?_0x21dfba['SRDISPLAYEFFECT']['SR_DE_PANORAMA_SPHERE']:0x3==this['panoramaDisplayEffect']?_0x21dfba['SRDISPLAYEFFECT']['SR_DE_PANORAMA_PLANET']:_0x21dfba['SRDISPLAYEFFECT']['SR_DE_NULL'],this['oVideoHandle']['SR_Init'](this['mainCanvasID'],this['enPixelFormat']),this['mainVaildSubPort']=this['oVideoHandle']['SR_AddSubPort'](_0xa99e8e),-0x1==this['mainVaildSubPort'])return console['info']('%c\\x20InitDisplay\\x20SR_AddSubPort\\x20error\\x20subport:%d','color:\\x20red',this['mainVaildSubPort']),0x0;}}else this['panoramaDisplayEffect']=_0x42b3a0;return 0x1;}},{'key':'SetPanoramaSphereViewParam','value':function(_0x42bc0e,_0x1e77a0){return'2d'===this['renderEngine']||'2D'===this['renderEngine']||null==_0x1e77a0||null==_0x1e77a0||_0x42bc0e<0x1||_0x42bc0e>0x3?0x0:(this['viewParamType']=_0x42bc0e,this['viewParamValue']=_0x1e77a0,null!=this['oVideoHandle']?(0x1!=this['panoramaDisplayEffect']&&this['panoramaDisplayEffect'],this['oVideoHandle']['SR_SetViewParam'](_0x42bc0e,_0x1e77a0)!=_0x21dfba['ERRCODE']['SR_OK']?0x0:0x1):0x0);}},{'key':'GetPanoramaSphereViewParam','value':function(_0x5ec10a,_0x514cc8){return'2d'===this['renderEngine']||'2D'===this['renderEngine']||null==_0x514cc8||null==_0x514cc8||_0x5ec10a<0x1||_0x5ec10a>0x3?0x0:null!=this['oVideoHandle']?(0x1!=this['panoramaDisplayEffect']&&this['panoramaDisplayEffect'],_0x514cc8['fValue']=-0x1,this['oVideoHandle']['SR_GetViewParam'](_0x5ec10a,_0x514cc8)!=_0x21dfba['ERRCODE']['SR_OK']?0x0:0x1):0x0;}}]),_0x3ed76e;}()),_0x218390=(function(){function _0xe61299(_0x4dcce6,_0x14ac0e){_0x1d88b2(this,_0xe61299),this['EncoderObj']=null,this['FirstFrame']=!0x0,this['frameRate']=0x19,this['EncoderCurStatus']=0x2,this['frameCounter']=0x0,this['frameNum']=0x0,this['stopEncodflag']=!0x1,this['encodeFrameGlobalTime']=[],this['oPlayCtrlHandle']=null,null!=_0x4dcce6&&(this['oPlayCtrlHandle']=_0x4dcce6),this['player']=null,null!=_0x14ac0e&&(this['player']=_0x14ac0e),this['output']=this['output']['bind'](this),this['reportError']=this['reportError']['bind'](this),this['userAgent']=0x0,this['bWriteData']=!0x1,this['aTotalBuffer']=[],this['iFrameNum']=0x0;}return _0x4e686c(_0xe61299,[{'key':'initEncoder','value':function(_0x4df1b5,_0x285709,_0x49afdc){if(this['codecString']=_0x4df1b5,this['encodeWidth']=_0x285709['encodeWidth'],this['encodeHeight']=_0x285709['encodeHeight'],this['bitrate']=_0x285709['bitrate'],this['frameRate']=_0x285709['frameRate'],0x0==_0x285709['bitrateMode']?this['bitrateMode']='variable':this['bitrateMode']='constant',0x0==_0x285709['latencyMode']?this['latencyMode']='realtime':this['latencyMode']='quality',this['rawDataCB']=_0x49afdc,this['FirstFrame']=!0x0,this['EncoderCurStatus']=0x2,this['frameCounter']=0x0,this['frameNum']=0x0,this['stopEncodflag']=!0x1,null==this['EncoderObj']){var _0x189471={'output':this['output'],'error':this['reportError']};this['EncoderObj']=new VideoEncoder(_0x189471);}this['format']='annexb';var _0x3fbdf7=navigator['userAgent']||navigator['vendor']||window['opera'];_0x3fbdf7['indexOf']('Windows\\x20NT')>-0x1?this['userAgent']=0x0:_0x3fbdf7['indexOf']('Linux')>-0x1?this['userAgent']=0x1:_0x3fbdf7['indexOf']('Mac\\x20OS\\x20X')>-0x1?(this['userAgent']=0x2,this['format']='avc'):/Android/['test'](_0x3fbdf7)?this['userAgent']=0x3:/like Mac OS X/['test'](_0x3fbdf7)?this['userAgent']=0x4:this['userAgent']=0x0;var _0x3d8f98={'codec':_0x4df1b5,'width':this['encodeWidth'],'height':this['encodeHeight'],'displayWidth':this['encodeWidth'],'displayHeight':this['encodeHeight'],'bitrate':this['bitrate'],'framerate':this['frameRate'],'bitrateMode':this['bitrateMode'],'latencyMode':this['latencyMode'],'avc':{'format':this['format']}};console['log']('1videoEncode\\x20config\\x20width:'+this['encodeWidth']+',height:'+this['encodeHeight']+',bitrate:'+this['bitrate']+',framerate:'+this['frameRate']+',bitrateMode:'+this['bitrateMode']+',latencMode:'+this['latencyMode']),this['EncoderObj']['configure'](_0x3d8f98);}},{'key':'inputData','value':function(_0x42bedd,_0x23b641){null==this['EncoderObj']||this['stopEncodflag']||('configured'==this['EncoderObj']['state']||this['FirstFrame'])&&this['EncodeProcess'](_0x42bedd,_0x23b641);}},{'key':'EncodeProcess','value':function(_0x1c3121,_0x21e1ab){if(0x4!=this['EncoderCurStatus']&&null!=this['EncoderObj']&&'configured'==this['EncoderObj']['state']&&this['EncoderObj']['encodeQueueSize']<0xa){var _0x38ebee=this['frameCounter']%0x32==0x0;0x1==_0x38ebee&&this['encodeFrameGlobalTime']['push'](_0x21e1ab),this['EncoderObj']['encode'](_0x1c3121,{'keyFrame':_0x38ebee}),this['frameCounter']++;}}},{'key':'output','value':function(_0x468177,_0x3e25cc){if('configured'==this['EncoderObj']['state']){_0x3e25cc['decoderConfig'],_0x3e25cc['svc'],_0x3e25cc['alphaSideData'],_0x468177['type'];var _0x17f30d=_0x468177['timestamp'];_0x468177['byteLength'];if(!this['stopEncodflag']){var _0x5695a0=new Uint8Array(_0x468177['byteLength']);_0x468177['copyTo'](_0x5695a0);var _0x5cb827={'dataType':0x1};if(_0x5cb827['width']=this['encodeWidth'],_0x5cb827['height']=this['encodeHeight'],_0x5cb827['frameRate']=this['frameRate'],_0x5cb827['timeStamp']=_0x17f30d/0x3e8,_0x5cb827['frameNum']=this['frameNum'],_0x5cb827['bitrate']=0x0,_0x5cb827['globalTime']={},'key'==_0x468177['type']){var _0x2d0d1b=this['encodeFrameGlobalTime']['shift']();'year'in _0x2d0d1b?(_0x5cb827['globalTime']['year']=_0x2d0d1b['year'],_0x5cb827['globalTime']['month']=_0x2d0d1b['month'],_0x5cb827['globalTime']['day']=_0x2d0d1b['day'],_0x5cb827['globalTime']['hour']=_0x2d0d1b['hour'],_0x5cb827['globalTime']['minute']=_0x2d0d1b['minute'],_0x5cb827['globalTime']['second']=_0x2d0d1b['second'],_0x5cb827['globalTime']['milliseconds']=_0x2d0d1b['milliseconds']):(_0x5cb827['globalTime']['year']=0x7e8,_0x5cb827['globalTime']['month']=0x0,_0x5cb827['globalTime']['day']=0x0,_0x5cb827['globalTime']['hour']=0x0,_0x5cb827['globalTime']['minute']=0x0,_0x5cb827['globalTime']['second']=0x0,_0x5cb827['globalTime']['milliseconds']=0x0);}var _0x47735e=null,_0x3c07dc=new Uint8Array(0x4);_0x3c07dc[0x0]=0x0,_0x3c07dc[0x1]=0x0,_0x3c07dc[0x2]=0x0,_0x3c07dc[0x3]=0x1;var _0x4f92e6=null,_0x34d165=0x0,_0x23ff36=null,_0x1a0bd0=0x0,_0x3a888e=null,_0x37d884=null,_0x323a51=0x0,_0x3b8d7a=0x0,_0x196b0f=0x0;if('key'==_0x468177['type']){if('decoderConfig'in _0x3e25cc&&'description'in _0x3e25cc['decoderConfig']&&(_0x37d884=new Uint8Array(_0x3e25cc['decoderConfig']['description'])),0x2==this['userAgent']){for(null!=_0x37d884&&(_0x34d165=0x100*(_0x4f92e6=_0x37d884['slice'](0x6,_0x37d884['length']))[0x0]+_0x4f92e6[0x1],_0x23ff36=_0x4f92e6['slice'](0x2,0x2+_0x34d165),_0x1a0bd0=0x100*_0x4f92e6[0x3+_0x34d165]+_0x4f92e6[0x4+_0x34d165],_0x3a888e=_0x4f92e6['slice'](0x5+_0x34d165,0x5+_0x34d165+_0x1a0bd0),_0x34d165+=0x4,_0x1a0bd0+=0x4);_0x3b8d7a<_0x5695a0['length'];)_0x196b0f=0x100*_0x5695a0[_0x3b8d7a]*0x100*0x100+0x100*_0x5695a0[_0x3b8d7a+0x1]*0x100+0x100*_0x5695a0[_0x3b8d7a+0x2]+_0x5695a0[_0x3b8d7a+0x3],_0x5695a0[_0x3b8d7a]=0x0,_0x5695a0[_0x3b8d7a+0x1]=0x0,_0x5695a0[_0x3b8d7a+0x2]=0x0,_0x5695a0[_0x3b8d7a+0x3]=0x1,_0x3b8d7a=_0x3b8d7a+0x4+_0x196b0f;_0x323a51=_0x34d165+_0x1a0bd0+_0x5695a0['length'],_0x47735e=new Uint8Array(_0x323a51);var _0x779b1f=0x0;null!=_0x23ff36&&(_0x47735e['set'](_0x3c07dc,0x0),_0x47735e['set'](_0x23ff36,_0x3c07dc['length']),_0x779b1f=_0x3c07dc['length']+_0x23ff36['length']),null!=_0x3a888e&&(_0x47735e['set'](_0x3c07dc,_0x779b1f),_0x47735e['set'](_0x3a888e,_0x779b1f+_0x3c07dc['length']),_0x779b1f=_0x3c07dc['length']+_0x23ff36['length']+_0x3c07dc['length']+_0x3a888e['length']),_0x47735e['set'](_0x5695a0,_0x779b1f),_0x5cb827['rawData']=_0x47735e;}else{for(var _0x2610c2=_0x5695a0['slice'](0x6,_0x5695a0['length']),_0x1bd71e=0x0;_0x1bd71e<_0x2610c2['length']&&(0x0!=_0x2610c2[_0x1bd71e]||0x0!=_0x2610c2[_0x1bd71e+0x1]||0x1!=_0x2610c2[_0x1bd71e+0x2]||0x6e!=_0x2610c2[_0x1bd71e+0x3]);_0x1bd71e++);_0x4f92e6=_0x2610c2['slice'](0x0,_0x1bd71e);for(var _0x4e4ba0=_0x2610c2['slice'](_0x1bd71e,_0x2610c2['length']),_0x4fd81a=0x0;_0x4fd81a<_0x4e4ba0['length']&&(0x0!=_0x4e4ba0[_0x4fd81a]||0x0!=_0x4e4ba0[_0x4fd81a+0x1]||0x1!=_0x4e4ba0[_0x4fd81a+0x2]||0x65!=_0x4e4ba0[_0x4fd81a+0x3]);_0x4fd81a++);var _0x3c558c=_0x4e4ba0['slice'](_0x4fd81a-0x1,_0x4e4ba0['length']);_0x3c558c[0x0]=0x0,_0x323a51=_0x4f92e6['length']+_0x3c558c['length'],(_0x47735e=new Uint8Array(_0x323a51))['set'](_0x4f92e6,0x0),_0x47735e['set'](_0x3c558c,_0x4f92e6['length']),_0x2610c2=null,_0x4e4ba0=null,_0x3c558c=null;}_0x5cb827['rawData']=_0x47735e,this['player']?this['rawDataCB']&&this['rawDataCB'](_0x5cb827):postMessage({'function':'VideoRecoderInfo','videoInfo':_0x5cb827},[_0x5cb827['rawData']['buffer']]);}else{if(0x2==this['userAgent']){for(;_0x3b8d7a<_0x5695a0['length'];)_0x196b0f=0x100*_0x5695a0[_0x3b8d7a]*0x100*0x100+0x100*_0x5695a0[_0x3b8d7a+0x1]*0x100+0x100*_0x5695a0[_0x3b8d7a+0x2]+_0x5695a0[_0x3b8d7a+0x3],_0x5695a0[_0x3b8d7a]=0x0,_0x5695a0[_0x3b8d7a+0x1]=0x0,_0x5695a0[_0x3b8d7a+0x2]=0x0,_0x5695a0[_0x3b8d7a+0x3]=0x1,_0x3b8d7a=_0x3b8d7a+0x4+_0x196b0f;_0x5cb827['rawData']=_0x5695a0;}else _0x5cb827['rawData']=_0x5695a0;this['player']?this['rawDataCB']&&this['rawDataCB'](_0x5cb827):postMessage({'function':'VideoRecoderInfo','videoInfo':_0x5cb827},[_0x5cb827['rawData']['buffer']]);}_0x5695a0=null,_0x47735e=null,_0x3c07dc=null,_0x4f92e6=null,_0x23ff36=null,_0x3a888e=null,_0x37d884=null,this['frameNum']++;}}}},{'key':'_downloadFile','value':function(_0x4a312e,_0x5112d4){var _0x369142=_0x4a312e;_0x4a312e instanceof Blob||_0x4a312e instanceof File||(_0x369142=new Blob([_0x4a312e]));var _0xb6cb63=window['URL']['createObjectURL'](_0x369142),_0x4a4742=window['document']['createElement']('a');_0x4a4742['href']=_0xb6cb63,_0x4a4742['download']=_0x5112d4;var _0x18de62=document['createEvent']('MouseEvents');_0x18de62['initEvent']('click',!0x0,!0x0),_0x4a4742['dispatchEvent'](_0x18de62);}},{'key':'downloadData','value':function(_0x5c0eae){if(this['bWriteData']){for(var _0x44f640=_0x5c0eae,_0x28671a=this['aTotalBuffer']['length'],_0x201f7c=0x0,_0x560d75=_0x44f640['length'];_0x201f7c<_0x560d75;_0x201f7c++)this['aTotalBuffer'][_0x28671a+_0x201f7c]=_0x44f640[_0x201f7c];this['iFrameNum']++,_0x44f640=null,console['log']('downloadEncodedata\\x20iFrameNum:'+this['iFrameNum']);}if(this['bWriteData']&&(this['iFrameNum']>=0x258||this['stopEncodflag'])){console['log']('download600encodeData');var _0x1ba3a5=new Uint8Array(this['aTotalBuffer']);this['_downloadFile'](_0x1ba3a5,'Encode600.data'),this['aTotalBuffer']['splice'](0x0,this['aTotalBuffer']['length']),this['bWriteData']=!0x1,this['iFrameNum']=0x0,_0x1ba3a5=null;}}},{'key':'stopEncode','value':function(){if(this['EncoderCurStatus']=0x4,this['frameCounter']=0x0,this['frameNum']=0x0,this['stopEncodflag']=!0x0,this['destroyEncoder'](),this['bWriteData']&&this['stopEncodflag']){console['log']('download600encodeData');var _0x161246=new Uint8Array(this['aTotalBuffer']);this['_downloadFile'](_0x161246,'Encode600.data'),this['aTotalBuffer']['splice'](0x0,this['aTotalBuffer']['length']),this['bWriteData']=!0x1,this['iFrameNum']=0x0,_0x161246=null;}}},{'key':'reportError','value':function(_0x383fdc){console['log']('hardEncode\\x20reportError:'+_0x383fdc['message']+',state:'+this['EncoderObj']['state']+',frameRate:'+this['frameRate']);}},{'key':'destroyEncoder','value':function(){var _0x1bf844=this;return new Promise(function(_0x9014d0,_0x2589ea){_0x1bf844['clearEncoderObjBuffer']()['then'](function(){null!=_0x1bf844['EncoderObj']&&('closed'!=_0x1bf844['EncoderObj']['state']&&_0x1bf844['EncoderObj']['close'](),console['log']('>>>JS\\x2011\\x20destroy\\x20VideoEncoderObj'),_0x1bf844['EncoderObj']=null),_0x1bf844['EncoderCurStatus']=0x4,_0x1bf844['FirstFrame']=!0x0,_0x9014d0();},function(){_0x2589ea();});});}},{'key':'resetEncoder','value':function(){var _0x9556c=this;return new Promise(function(_0x4d0ac0,_0x4426b9){_0x9556c['destroyEncoder']()['then'](function(){var _0x4a9c83={'encodeWidth':_0x9556c['encodeWidth'],'encodeHeight':_0x9556c['encodeHeight'],'bitrate':_0x9556c['bitrate'],'frameRate':_0x9556c['frameRate'],'bitrateMode':_0x9556c['bitrateMode'],'latencyMode':_0x9556c['latencyMode']};_0x9556c['initEncoder'](_0x9556c['codecString'],_0x4a9c83,_0x9556c['rawDataCB']),console['log']('%c\\x20reset\\x20hard\\x20Encoder','color:red'),_0x4d0ac0();},function(){_0x4426b9();});});}},{'key':'clearEncoderObjBuffer','value':function(){var _0x43e84e=this;return new Promise(function(_0x93e164,_0x2834b6){null!=_0x43e84e['EncoderObj']&&'configured'==_0x43e84e['EncoderObj']['state']&&_0x43e84e['EncoderObj']['reset'](),_0x93e164();});}}]),_0xe61299;}()),_0x566a63=(function(){function _0x424de8(_0x1095c3,_0x1ad59a){_0x1d88b2(this,_0x424de8),this['AudioEncoderObj']=null,this['FirstFrame']=!0x0,this['EncoderCurStatus']=0x2,this['stopEncodflag']=!0x1,this['aTimeStamp']=0x0,this['oPlayCtrlHandle']=null,null!=_0x1095c3&&(this['oPlayCtrlHandle']=_0x1095c3),this['player']=null,null!=_0x1ad59a&&(this['player']=_0x1ad59a),this['output']=this['output']['bind'](this),this['reportError']=this['reportError']['bind'](this);}var _0xe9fe78;return _0x4e686c(_0x424de8,[{'key':'initEncoder','value':(_0xe9fe78=_0x465afd(_0x171d88()['mark'](function _0x57c544(_0x5ab25f,_0x3401c0,_0x220d3d){var _0x592688,_0x417520;return _0x171d88()['wrap'](function(_0x5f0fe4){for(;;)switch(_0x5f0fe4['prev']=_0x5f0fe4['next']){case 0x0:this['codecString']=_0x5ab25f,this['sampleRate']=_0x3401c0['sampleRate'],this['numberOfChannels']=_0x3401c0['numberOfChannels'],this['bitrate']=_0x3401c0['bitrate'],this['AudioDataCB']=_0x220d3d,this['FirstFrame']=!0x0,this['EncoderCurStatus']=0x2,this['stopEncodflag']=!0x1,this['aTimeStamp']=0x0,null==this['AudioEncoderObj']&&(_0x592688={'output':this['output'],'error':this['reportError']},this['AudioEncoderObj']=new AudioEncoder(_0x592688)),this['format']='adts',_0x417520={'codec':_0x5ab25f,'sampleRate':this['sampleRate'],'numberOfChannels':this['numberOfChannels'],'bitrate':this['bitrate'],'aac':{'format':this['format']}},console['log']('2audioEncode\\x20config\\x20sampleRate:'+this['sampleRate']+',numberOfChannels:'+this['numberOfChannels']+',bitrate:'+this['bitrate']),this['AudioEncoderObj']['configure'](_0x417520);case 0xe:case'end':return _0x5f0fe4['stop']();}},_0x57c544,this);})),function(_0x5c4c63,_0x5f4cb5,_0x4b23f1){return _0xe9fe78['apply'](this,arguments);})},{'key':'inputData','value':function(_0x381b64){null!=this['AudioEncoderObj']&&('configured'==this['AudioEncoderObj']['state']||this['FirstFrame'])&&this['EncodeProcess'](_0x381b64),this['FirstFrame']&&(0x1==this['oPlayCtrlHandle']['recoderBaseTimestampMode']?this['audioBaseTimeStamp']=_0x381b64['timestamp']:0x0==this['oPlayCtrlHandle']['recoderBaseTimestampMode']&&(this['audioBaseTimeStamp']=0x0),this['FirstFrame']=!0x1);}},{'key':'EncodeProcess','value':function(_0x139a9a){0x4!=this['EncoderCurStatus']&&null!=this['AudioEncoderObj']&&'configured'==this['AudioEncoderObj']['state']&&this['AudioEncoderObj']['encode'](_0x139a9a);}},{'key':'output','value':function(_0x4b982f,_0x41cd9d){if('configured'==this['AudioEncoderObj']['state']){_0x4b982f['type'],_0x4b982f['timestamp'],_0x4b982f['byteLength'];if(!this['stopEncodflag']){this['aTimeStamp']+=_0x4b982f['duration']/0x3e8;var _0x1c787f={'dataType':0x2,'width':0x1,'height':0x10,'frameRate':0xbb80};_0x1c787f['timeStamp']=this['aTimeStamp']+this['audioBaseTimeStamp'],_0x1c787f['frameNum']=0x0,_0x1c787f['bitrate']=0x1f400,_0x1c787f['globalTime']={};var _0x12fe8b=new Uint8Array(_0x4b982f['byteLength']);_0x4b982f['copyTo'](_0x12fe8b),_0x1c787f['rawData']=_0x12fe8b,this['player']?null!=this['AudioDataCB']&&this['AudioDataCB'](_0x1c787f):postMessage({'function':'AudioRecoderInfo','audioInfo':_0x1c787f},[_0x1c787f['rawData']['buffer']]),_0x12fe8b=null;}}}},{'key':'stopEncode','value':function(){this['stopEncodflag']=!0x0,this['destroyEncoder']();}},{'key':'reportError','value':function(_0x4bacd0){console['log']('hardEncode\\x20reportError:'+_0x4bacd0['message']+',state:'+this['AudioEncoderObj']['state']);}},{'key':'destroyEncoder','value':function(){var _0x279dba=this;return new Promise(function(_0x32be85,_0x2c066b){_0x279dba['clearEncoderObjBuffer']()['then'](function(){null!=_0x279dba['AudioEncoderObj']&&('closed'!=_0x279dba['AudioEncoderObj']['state']&&_0x279dba['AudioEncoderObj']['close'](),console['log']('>>>JS\\x2012\\x20destroy\\x20AudioEncoderObj'),_0x279dba['AudioEncoderObj']=null),_0x279dba['EncoderCurStatus']=0x4,_0x279dba['FirstFrame']=!0x0,_0x32be85();},function(){_0x2c066b();});});}},{'key':'resetEncoder','value':function(){var _0x430fe5=this;return new Promise(function(_0x259685,_0x32ff36){_0x430fe5['destroyEncoder']()['then'](function(){var _0x23e7f1={'sampleRate':_0x430fe5['sampleRate'],'numberOfChannels':_0x430fe5['numberOfChannels'],'bitrate':_0x430fe5['bitrate']};_0x430fe5['initEncoder'](_0x430fe5['codecString'],_0x23e7f1,_0x430fe5['AudioDataCB']),console['log']('%c\\x20reset\\x20hard\\x20Encoder','color:red'),_0x259685();},function(){_0x32ff36();});});}},{'key':'clearEncoderObjBuffer','value':function(){var _0x48aebd=this;return new Promise(function(_0x5e119a,_0x3e601e){null!=_0x48aebd['AudioEncoderObj']&&'configured'==_0x48aebd['AudioEncoderObj']['state']&&_0x48aebd['AudioEncoderObj']['reset'](),_0x5e119a();});}}]),_0x424de8;}());function _0x5e0274(_0xdd7376,_0x4cea47){var _0x16e0a2='undefined'!=typeof Symbol&&_0xdd7376[Symbol['iterator']]||_0xdd7376['@@iterator'];if(!_0x16e0a2){if(Array['isArray'](_0xdd7376)||(_0x16e0a2=function(_0x48b6a6,_0x565c52){if(!_0x48b6a6)return;if('string'==typeof _0x48b6a6)return _0x1babdd(_0x48b6a6,_0x565c52);var _0x3584b2=Object['prototype']['toString']['call'](_0x48b6a6)['slice'](0x8,-0x1);'Object'===_0x3584b2&&_0x48b6a6['constructor']&&(_0x3584b2=_0x48b6a6['constructor']['name']);if('Map'===_0x3584b2||'Set'===_0x3584b2)return Array['from'](_0x48b6a6);if('Arguments'===_0x3584b2||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x3584b2))return _0x1babdd(_0x48b6a6,_0x565c52);}(_0xdd7376))||_0x4cea47&&_0xdd7376&&'number'==typeof _0xdd7376['length']){_0x16e0a2&&(_0xdd7376=_0x16e0a2);var _0x496de5=0x0,_0x4abe58=function(){};return{'s':_0x4abe58,'n':function(){return _0x496de5>=_0xdd7376['length']?{'done':!0x0}:{'done':!0x1,'value':_0xdd7376[_0x496de5++]};},'e':function(_0x3ad157){throw _0x3ad157;},'f':_0x4abe58};}throw new TypeError('Invalid\\x20attempt\\x20to\\x20iterate\\x20non-iterable\\x20instance.\\x0aIn\\x20order\\x20to\\x20be\\x20iterable,\\x20non-array\\x20objects\\x20must\\x20have\\x20a\\x20[Symbol.iterator]()\\x20method.');}var _0x4e6716,_0x5ff8a5=!0x0,_0x5ad8cd=!0x1;return{'s':function(){_0x16e0a2=_0x16e0a2['call'](_0xdd7376);},'n':function(){var _0x3c7f3f=_0x16e0a2['next']();return _0x5ff8a5=_0x3c7f3f['done'],_0x3c7f3f;},'e':function(_0x571b56){_0x5ad8cd=!0x0,_0x4e6716=_0x571b56;},'f':function(){try{_0x5ff8a5||null==_0x16e0a2['return']||_0x16e0a2['return']();}finally{if(_0x5ad8cd)throw _0x4e6716;}}};}function _0x1babdd(_0x6f21a6,_0x45ec4c){(null==_0x45ec4c||_0x45ec4c>_0x6f21a6['length'])&&(_0x45ec4c=_0x6f21a6['length']);for(var _0x39e1f8=0x0,_0x4763b3=new Array(_0x45ec4c);_0x39e1f8<_0x45ec4c;_0x39e1f8++)_0x4763b3[_0x39e1f8]=_0x6f21a6[_0x39e1f8];return _0x4763b3;}var _0x2b52fd=(function(){function _0x14d12f(){var _0x5e0bb4=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:null;_0x1d88b2(this,_0x14d12f),this['canvas']=null,this['streamOpenMode']=0x0,this['context']=null,this['oVideoDecoder']=null,this['frameBuffers']=[],this['initTimer']=!0x1,this['preTimeStamp']=0x0,this['baseTimeStamp']=0x0,this['resetTimer']=!0x0,this['RenderFrame']=this['RenderFrame']['bind'](this),this['renderCurStatus']=0x2,this['renderLastStatus']=0x2,this['playSpeed']=0x1,this['nplaySpeed']=0x1,this['displayBuf']=0xe,this['needForward']=!0x1,this['firstFrame']=!0x0,this['LatcyTime']=0x32,this['nFrameRate']=0x0,this['needSaveFrameInfo']=!0x1,this['displayFrameInfoCB']=null,this['displayFrameInfo']=[],this['curFrameInfo']={},this['curFrameInfo']['timeStamp']=0x0,this['bResetdisplayFrameInfoCB']=!0x0,this['sx']=0x0,this['sy']=0x0,this['sw']=0x0,this['sh']=0x0,this['displayRunning']=!0x1,this['oRenderTimer']=null,this['waitIFrameTimestamp']=0x0,this['curFrame']=null,this['player']=null,null!=_0x5e0bb4&&(this['player']=_0x5e0bb4),this['renderEngine']='webgl',this['oVideoRender']=null,this['FECCanvasID']='',this['oVideoRender']=new _0x3651d0(this),this['bSetStreamEnd']=!0x1,this['printfFlag']=0x0,this['oVideoEncoder']=null,this['oAudioEncoder']=null,this['startRecoderFlag']=!0x1,this['stopRecoderFlag']=!0x1,this['recoderFrameNum']=0x0,this['vBaseTimeStamp']=0x0,this['encodeVideoInfo']={'encodeVideoType':'avc','encodeWidth':0x500,'encodeHeight':0x2d0,'bitrate':0xf4240,'frameRate':0x19,'bitrateMode':0x0,'latencyMode':0x0},this['encodeAudioInfo']={'encodeAudioType':'aac','sampleRate':0xbb80,'numberOfChannels':0x1,'bitrate':0x1f400},this['recoderBaseTimestampMode']=0x0,this['recoderGetOriginData']=0x0,this['nstreamEndloopNum']=0x0,this['runtimeCBFun']=null,this['nTargetRelativePos']=0x0,this['ProcessPositionflag']=!0x1,this['nMPPlayMode']=0x0,this['nMPPosType']=0x0,this['VideoPrivateInfoMap']=new Map(),this['curPrivateInfo']={},this['curPrivateInfo']['linesInfo']=[],this['curPrivateInfo']['fontInfo']=[],this['curPrivateInfo']['imageInfo']=[],this['StretchPlayTime']=0x0,this['StretchPlayedTime']=0x0,this['StretchPlaySpeed']=0x1,this['StretchPlayFlag']=!0x1,this['Prevideowidth']=0x0,this['Prevideoheight']=0x0,this['PrecodecType']=0x0,this['PlayOrBackMode']=0x1,this['pstRuntimeInfo']={'nRunTimeModule':0x0,'nStrVersion':0x0,'nFrameTimeStamp':0x0,'nFrameNum':0x0,'nErrorCode':0x0,'nInputDataInterval':0x0,'nFrameNumInterval':0x0,'nAverageDecodeTime':0x0,'nSystemFormat':0x0,'nDetectRes':0x0,'nMp4FileTime':0x0,'nMp4TotalFrameNum':0x0,'AbsTimeYear':0x0,'AbsTimeMonth':0x0,'AbsTimeDay':0x0,'AbsTimeHour':0x0,'AbsTimeMinute':0x0,'AbsTimeSecond':0x0,'AbsTimeMilliseconds':0x0},this['firstRenderBegin']=!0x0,this['DecodeTypeFlagMap']=new Map(),this['RenderTypeFlagMap']=new Map();}var _0x2efc64,_0x284eed;return _0x4e686c(_0x14d12f,[{'key':'init','value':function(_0x2ab0d4,_0x11cb25,_0x30af22,_0x250920,_0x444528){if(this['canvas']=_0x2ab0d4,this['streamOpenMode']=_0x11cb25,this['renderEngine']=_0x250920,this['printfFlag']=_0x444528,this['SetCurStatus'](0x2),null==this['oVideoDecoder']&&(this['oVideoDecoder']=new _0xd61466(_0x30af22,this,this['player'],this['canvas']),null!==this['oVideoDecoder']&&this['oVideoDecoder']['initDecoder'](),null!=this['runtimeCBFun']&&this['oVideoDecoder']['SetRunTimeInfoCallBackFun'](0x2,this['runtimeCBFun']),this['DecodeTypeFlagMap']['size']>0x0)){var _0x118d1e,_0x1cb2a6=_0x5e0274(this['DecodeTypeFlagMap']['keys']());try{for(_0x1cb2a6['s']();!(_0x118d1e=_0x1cb2a6['n']())['done'];){var _0x590187=_0x118d1e['value'],_0x7a5407=this['DecodeTypeFlagMap']['get'](_0x590187);0x1==_0x7a5407&&this['oVideoDecoder']['SetRunTimeInfoCallbackType'](0x2,_0x590187,_0x7a5407);}}catch(_0x4f7c8f){_0x1cb2a6['e'](_0x4f7c8f);}finally{_0x1cb2a6['f']();}}''!=this['canvas']&&null!=this['canvas']&&(this['frameBuffers']=this['oVideoDecoder']['ready_frames'],null!=this['oVideoRender']&&this['oVideoRender']['InitDisplay'](this['canvas'],this['renderEngine'],0x100),null==this['oRenderTimer']&&(this['oRenderTimer']=new _0x5bde94()));}},{'key':'HardDecodeError','value':function(){return this['player']['_switchHardToSoft'](),0x1;}},{'key':'inputData','value':function(_0x32dbcc,_0x33481c){if(this['curPrivateInfo']['linesInfo']['length']>0x0||this['curPrivateInfo']['fontInfo']['length']>0x0||this['curPrivateInfo']['imageInfo']['length']>0x0){var _0x33a69f=this['deepClone'](this['curPrivateInfo']);this['VideoPrivateInfoMap']['set'](_0x33481c['timeStamp'],_0x33a69f),this['curPrivateInfo']['linesInfo']['splice'](0x0,this['curPrivateInfo']['linesInfo']['length']),this['curPrivateInfo']['fontInfo']['splice'](0x0,this['curPrivateInfo']['fontInfo']['length']),this['curPrivateInfo']['imageInfo']['splice'](0x0,this['curPrivateInfo']['imageInfo']['length']);}if(0x0!=this['PrecodecType']&&this['PrecodecType']!=_0x33481c['codecType']&&(this['firstFrame']=!0x0,this['oVideoDecoder']['resetDecoderObj']()),this['needSaveFrameInfo']){var _0x51845f=new Object();_0x51845f['port']=_0x33481c['port'],_0x51845f['codecType']=_0x33481c['codecType'],_0x51845f['frameType']=_0x33481c['frameType'],_0x51845f['frameSize']=_0x33481c['frameSize'],_0x51845f['width']=_0x33481c['width'],_0x51845f['height']=_0x33481c['height'],_0x51845f['timeStamp']=_0x33481c['timeStamp'],_0x51845f['frameRate']=_0x33481c['frameRate'],_0x51845f['frameNum']=_0x33481c['frameNum'],_0x51845f['interlace']=_0x33481c['interlace'],_0x51845f['streamEnd']=_0x33481c['streamEnd'],_0x51845f['cropLeft']=_0x33481c['cropLeft'],_0x51845f['cropRight']=_0x33481c['cropRight'],_0x51845f['cropTop']=_0x33481c['cropTop'],_0x51845f['cropBottom']=_0x33481c['cropBottom'],_0x51845f['year']=_0x33481c['year'],_0x51845f['month']=_0x33481c['month'],_0x51845f['week']=_0x33481c['week'],_0x51845f['day']=_0x33481c['day'],_0x51845f['hour']=_0x33481c['hour'],_0x51845f['minute']=_0x33481c['minute'],_0x51845f['second']=_0x33481c['second'],_0x51845f['milliseconds']=_0x33481c['milliseconds'],_0x51845f['isKeyFrame']=_0x33481c['isKeyFrame'],this['nFrameRate']=_0x51845f['frameRate'],this['Prevideowidth']=_0x33481c['width'],this['Prevideoheight']=_0x33481c['height'],this['PrecodecType']=_0x33481c['codecType'],this['displayFrameInfo']['push'](_0x51845f),_0x51845f=null;}else this['displayFrameInfo']['splice'](0x0,this['displayFrameInfo']['length']);null!=this['oVideoDecoder']&&this['oVideoDecoder']['inputData'](_0x32dbcc,_0x33481c);}},{'key':'_resetDecoder','value':function(){var _0x5df498=this;return new Promise(function(_0x152715,_0x317654){_0x5df498['oVideoDecoder']['resetDecoder']()['then'](function(){_0x5df498['displayFrameInfo']['splice'](0x0,_0x5df498['displayFrameInfo']['length']),_0x5df498['curFrameInfo']={},_0x5df498['oVideoRender']['DeInitPrivateParam'](),_0x5df498['VideoPrivateInfoMap']['clear'](),_0x5df498['curPrivateInfo']['linesInfo']['splice'](0x0,_0x5df498['curPrivateInfo']['linesInfo']['length']),_0x5df498['curPrivateInfo']['fontInfo']['splice'](0x0,_0x5df498['curPrivateInfo']['fontInfo']['length']),_0x5df498['curPrivateInfo']['imageInfo']['splice'](0x0,_0x5df498['curPrivateInfo']['imageInfo']['length']),_0x5df498['renderCurStatus']=0x2,_0x5df498['renderLastStatus']=0x2,_0x5df498['player']?_0x5df498['player']['JSPlayM4_ResetEnd']():postMessage({'function':'resetEnd'}),_0x152715();},function(){_0x317654();});});}},{'key':'_resetRenderTimer','value':function(){this['initTimer']=!0x1,this['preTimeStamp']=0x0,this['baseTimeStamp']=0x0,this['resetTimer']=!0x0,null!=this['oRenderTimer']&&this['oRenderTimer']['timerReset'](),this['RenderFrame']=this['RenderFrame']['bind'](this),this['renderCurStatus']=0x2,this['renderLastStatus']=0x2,this['curTimeStamp']=0x0,this['getImageJPEG']=!0x1,this['getImageBMP']=!0x1,this['getCropImageJPEG']=!0x1,this['getCropImageBMP']=!0x1,0x1==this['bResetdisplayFrameInfoCB']&&(this['displayFrameInfoCB']=null),this['displayFrameInfo']['splice'](0x0,this['displayFrameInfo']['length']),this['VideoPrivateInfoMap']['clear'](),this['curPrivateInfo']['linesInfo']['splice'](0x0,this['curPrivateInfo']['linesInfo']['length']),this['curPrivateInfo']['fontInfo']['splice'](0x0,this['curPrivateInfo']['fontInfo']['length']),this['curPrivateInfo']['imageInfo']['splice'](0x0,this['curPrivateInfo']['imageInfo']['length']),this['curFrameInfo']={},this['DecodeTypeFlagMap']['clear'](),this['RenderTypeFlagMap']['clear']();}},{'key':'_destroyPlayCtrl','value':function(){var _0x62ee48=this;this['oVideoDecoder']['destroyDecoder']()['then'](function(){_0x62ee48['oVideoDecoder']=null,null!=_0x62ee48['oVideoRender']&&(_0x62ee48['oVideoRender']['ReleaseDisplay'](),_0x62ee48['oVideoRender']=null),_0x62ee48['_resetRenderTimer'](),_0x62ee48['oRenderTimer']=null,_0x62ee48['displayRunning']=!0x1,_0x62ee48['runtimeCBFun']=null,_0x62ee48['printfFlag']>=0x0&&console['log']('>>>JS\\x2002\\x20destroy\\x20oVideoDecoder/oVideoRender'),null!=_0x62ee48['oVideoEncoder']&&(_0x62ee48['oVideoEncoder']['destroyEncoder'](),_0x62ee48['oVideoEncoder']=null),null!=_0x62ee48['oAudioEncoder']&&(_0x62ee48['oAudioEncoder']['destroyEncoder'](),_0x62ee48['oAudioEncoder']=null);},function(){_0x62ee48['printfFlag']>=0x0&&console['log']('stop\\x20failed\\x20');});}},{'key':'Sleep','value':(_0x284eed=_0x465afd(_0x171d88()['mark'](function _0x24748d(_0x258431){var _0xc93da9;return _0x171d88()['wrap'](function(_0x3bdd2f){for(;;)switch(_0x3bdd2f['prev']=_0x3bdd2f['next']){case 0x0:return _0xc93da9=(_0xc93da9=_0x258431>0xea60?0xea60:_0x258431)<0x0?0x0:_0xc93da9,_0x3bdd2f['abrupt']('return',new Promise(function(_0x1a0447){setTimeout(_0x1a0447,_0xc93da9);}));case 0x3:case'end':return _0x3bdd2f['stop']();}},_0x24748d);})),function(_0x63203e){return _0x284eed['apply'](this,arguments);})},{'key':'RenderFrame','value':(_0x2efc64=_0x465afd(_0x171d88()['mark'](function _0x376dea(){var _0x4de556,_0xe669f4=this;return _0x171d88()['wrap'](function(_0x346edc){for(;;)switch(_0x346edc['prev']=_0x346edc['next']){case 0x0:_0x4de556=this['renderCurStatus'],null!=this['oVideoDecoder']&&null!=this['oVideoDecoder']['decoderObj']&&(this['player']?this['player']['JSPlayM4_GetDecodeBufferSize'](this['oVideoDecoder']['decoderObj']['decodeQueueSize'],this['oVideoDecoder']['ready_frames']['length']):postMessage({'function':'GetDecodeBufferSize','rawSize':this['oVideoDecoder']['decoderObj']['decodeQueueSize'],'frameSize':this['oVideoDecoder']['ready_frames']['length']}),this['oVideoDecoder']['decoderObj']['decodeQueueSize']<=0x3&&this['oVideoDecoder']['ready_frames']['length']<=0x3&&(this['player']?this['player']['JSPlayM4_GetRawData']():postMessage({'function':'GetRawData'})),this['printfFlag']>0x0&&console['log']('VideoPlayCtrl.js\\x20output1\\x20cb\\x20decodeQueueSize:'+this['oVideoDecoder']['decoderObj']['decodeQueueSize']+',length:'+this['oVideoDecoder']['ready_frames']['length'])),_0x346edc['t0']=_0x4de556,_0x346edc['next']=0x0===_0x346edc['t0']?0x5:0x2===_0x346edc['t0']||0x6===_0x346edc['t0']?0x8:0x3===_0x346edc['t0']?0xa:0x5===_0x346edc['t0']?0xd:0x4===_0x346edc['t0']?0xf:0x11;break;case 0x5:return this['_resetRenderTimer'](),this['_resetDecoder']()['then'](function(){requestAnimationFrame(_0xe669f4['RenderFrame']);},function(){}),_0x346edc['abrupt']('break',0x12);case 0x8:return this['displayRunning']?(this['printfFlag']>0x0&&console['log']('displayBuf:'+this['displayBuf']+',this.streamOpenMode:'+this['streamOpenMode']+',LatcyTime:'+this['LatcyTime']),this['chooseFrame']()['then'](function(_0x553062){if(_0xe669f4['curFrame']=_0x553062,0x1==_0xe669f4['ProcessPositionflag']){if(null!=_0xe669f4['curFrame']){new Object();var _0x31ffe5=0x0;if(0x1==_0xe669f4['nMPPosType']&&(_0x31ffe5=_0xe669f4['findFramebyTime'](_0xe669f4['curFrame']['timestamp'],0x0)['frameNum']),0x0==_0xe669f4['nMPPosType']&&_0xe669f4['curFrame']['timestamp']<_0xe669f4['nTargetRelativePos']||0x1==_0xe669f4['nMPPosType']&&_0x31ffe5<_0xe669f4['nTargetRelativePos'])requestAnimationFrame(_0xe669f4['RenderFrame']);else{if(_0xe669f4['ProcessPositionflag']=!0x1,_0xe669f4['player']['needPlaySound']&&_0xe669f4['player']['JSPlayM4_PlaySound'](),_0xe669f4['paint'](_0xe669f4['curFrame']),_0xe669f4['curTimeStamp']=_0xe669f4['curFrame']['timestamp'],null!=_0xe669f4['player']){var _0x4690af={'nRes':0x1};_0x4690af['nRelativePos']=_0xe669f4['nTargetRelativePos'],null!=_0xe669f4['player']['SetPlayPosCBFun']?_0xe669f4['player']['SetPlayPosCBFun'](_0x4690af):postMessage({'function':'SetPlayPosCB','value':_0xe669f4['nTargetRelativePos']});}0x1==_0xe669f4['nMPPlayMode']&&_0xe669f4['SetCurStatus'](0x3),_0xe669f4['RenderFrame']();}}else requestAnimationFrame(_0xe669f4['RenderFrame']);}else{if(-0x1==_0xe669f4['displayBuf']||0x0==_0xe669f4['streamOpenMode']&&0x0==_0xe669f4['LatcyTime'])null!=_0xe669f4['curFrame']&&(_0xe669f4['curTimeStamp']=_0xe669f4['curFrame']['timestamp'],_0xe669f4['paint'](_0xe669f4['curFrame'])),requestAnimationFrame(_0xe669f4['RenderFrame']);else{if(null!=_0xe669f4['curFrame']){_0xe669f4['initTimer']&&!_0xe669f4['resetTimer']||(_0xe669f4['oRenderTimer']['Init'](),_0xe669f4['initTimer']=!0x0,_0xe669f4['resetTimer']=!0x1,_0xe669f4['preTimeStamp']=_0xe669f4['curFrame']['timestamp'],_0xe669f4['baseTimeStamp']=_0xe669f4['curFrame']['timestamp'],0x1==_0xe669f4['streamOpenMode']&&(_0xe669f4['LatcyTime']=0x0)),_0xe669f4['curTimeStamp']=_0xe669f4['curFrame']['timestamp'];var _0x21f1c0=0x0,_0x2b345c=0x0;0x6==_0x4de556?(_0x21f1c0=_0xe669f4['preTimeStamp']-_0xe669f4['curTimeStamp'],_0x2b345c=_0xe669f4['baseTimeStamp']-_0xe669f4['curTimeStamp']):(_0x21f1c0=_0xe669f4['curTimeStamp']-_0xe669f4['preTimeStamp'],_0x2b345c=_0xe669f4['curTimeStamp']-_0xe669f4['baseTimeStamp']);var _0x1c77bd=_0xe669f4['oRenderTimer']['GetTimerWalk']();(_0x21f1c0>0x1388||_0x21f1c0<0x0||_0x2b345c<0x0||_0x1c77bd<=0x0)&&(_0xe669f4['oRenderTimer']['Init'](),_0xe669f4['preTimeStamp']=_0xe669f4['curFrame']['timestamp'],_0xe669f4['baseTimeStamp']=_0xe669f4['curTimeStamp'],_0x2b345c=0x6==_0x4de556?_0xe669f4['baseTimeStamp']-_0xe669f4['curTimeStamp']:_0xe669f4['curTimeStamp']-_0xe669f4['baseTimeStamp'],_0x1c77bd=_0xe669f4['oRenderTimer']['GetTimerWalk']());var _0x473e8a=0x0;_0x473e8a=_0xe669f4['StretchPlayFlag']?_0xe669f4['StretchPlaySpeed']:_0xe669f4['playSpeed'];var _0x14467b=(_0x2b345c+_0xe669f4['LatcyTime'])/_0x473e8a-_0x1c77bd;_0xe669f4['printfFlag']>0x0&&console['log']('baseTimerWalk:'+_0x1c77bd+',lDeta:'+_0x14467b+',Date\\x20:'+new Date()['getFullYear']()+'/'+(new Date()['getMonth']()+0x1)+'/'+new Date()['getDate']()+'\\x20'+new Date()['getHours']()+'-'+new Date()['getMinutes']()+'-'+new Date()['getSeconds']()+'-'+new Date()['getMilliseconds']()),_0x14467b<0xf&&_0x14467b>-0xf||_0x14467b<0x0?(_0xe669f4['StretchPlayFlag']&&_0xe669f4['VideoStretchProcess'](_0xe669f4['curTimeStamp']),_0xe669f4['paint'](_0xe669f4['curFrame']),_0xe669f4['preTimeStamp']=_0xe669f4['curTimeStamp'],_0xe669f4['RenderFrame']()):_0xe669f4['Sleep'](_0x14467b-0x5)['then'](function(){0x2!=_0xe669f4['renderCurStatus']&&0x6!=_0xe669f4['renderCurStatus']||(_0xe669f4['StretchPlayFlag']&&_0xe669f4['VideoStretchProcess'](_0xe669f4['curTimeStamp']),_0xe669f4['paint'](_0xe669f4['curFrame']),_0xe669f4['preTimeStamp']=_0xe669f4['curTimeStamp']),_0xe669f4['RenderFrame']();});}else requestAnimationFrame(_0xe669f4['RenderFrame']);}}})):requestAnimationFrame(this['RenderFrame']),_0x346edc['abrupt']('break',0x12);case 0xa:return this['_refresh'](),requestAnimationFrame(this['RenderFrame']),_0x346edc['abrupt']('break',0x12);case 0xd:return this['needForward']?this['chooseFrame']()['then'](function(_0x5a9518){_0xe669f4['curFrame']=_0x5a9518,null!=_0xe669f4['curFrame']&&(_0xe669f4['curTimeStamp']=_0xe669f4['curFrame']['timestamp'],_0xe669f4['paint'](_0xe669f4['curFrame']),_0xe669f4['needForward']=!0x1),requestAnimationFrame(_0xe669f4['RenderFrame']);}):(this['_refresh'](),requestAnimationFrame(this['RenderFrame'])),_0x346edc['abrupt']('break',0x12);case 0xf:return this['_destroyPlayCtrl'](),_0x346edc['abrupt']('return');case 0x11:return _0x346edc['abrupt']('return');case 0x12:case'end':return _0x346edc['stop']();}},_0x376dea,this);})),function(){return _0x2efc64['apply'](this,arguments);})},{'key':'paint','value':function(_0x13d343){var _0x27bc5a=this,_0x1614d8=arguments['length']>0x1&&void 0x0!==arguments[0x1]&&arguments[0x1];return new Promise(function(_0x701d04,_0x33b050){if(0x4==_0x27bc5a['renderCurStatus']||null==_0x13d343||null==_0x27bc5a['oVideoRender']||0x1==_0x27bc5a['ProcessPositionflag']||null==_0x13d343['timestamp'])_0x701d04();else{_0x27bc5a['waitIFrameTimestamp']===_0x13d343['timestamp']&&(_0x27bc5a['resetTimer']=!0x0);var _0x2fb524={},_0x5adfd9=null;_0x5adfd9=null!=_0x13d343['image']&&null!=_0x13d343['image']?_0x13d343['image']:_0x13d343,_0x2fb524['nCropLeft']=0x0,_0x2fb524['nCropRight']=0x0,_0x2fb524['nCropTop']=0x0,_0x2fb524['nCropBottom']=0x0,_0x2fb524['nCodeWidth']=_0x13d343['displayWidth'],_0x2fb524['nCodeHeight']=_0x13d343['displayHeight'];var _0x4d245e={'x':0x0,'y':0x0};if(_0x4d245e['width']=_0x13d343['displayWidth'],_0x4d245e['height']=_0x13d343['displayHeight'],_0x27bc5a['RenderTypeFlagMap']['size']>0x0){var _0x325f26,_0x52258=_0x5e0274(_0x27bc5a['RenderTypeFlagMap']['keys']());try{for(_0x52258['s']();!(_0x325f26=_0x52258['n']())['done'];){var _0x1b9aa3=_0x325f26['value'];if(_0x1b9aa3==_0x3c737d){if(0x1==_0x27bc5a['RenderTypeFlagMap']['get'](_0x1b9aa3)&&null!=_0x27bc5a['runtimeCBFun']&&0x1==_0x27bc5a['firstRenderBegin']){if(_0x27bc5a['pstRuntimeInfo']['nRunTimeModule']=0x3,_0x27bc5a['pstRuntimeInfo']['nStrVersion']=0x1,_0x27bc5a['pstRuntimeInfo']['nFrameTimeStamp']=_0x13d343['timestamp'],_0x27bc5a['pstRuntimeInfo']['nFrameNum']=0x0,_0x27bc5a['pstRuntimeInfo']['nErrorCode']=_0x3c737d,_0x27bc5a['pstRuntimeInfo']['nInputDataInterval']=0x0,_0x27bc5a['pstRuntimeInfo']['nFrameNumInterval']=0x0,_0x27bc5a['pstRuntimeInfo']['nAverageDecodeTime']=0x0,0x1==_0x1614d8)_0x27bc5a['pstRuntimeInfo']['AbsTimeYear']=_0x27bc5a['curFrameInfo']['year'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMonth']=_0x27bc5a['curFrameInfo']['month'],_0x27bc5a['pstRuntimeInfo']['AbsTimeDay']=_0x27bc5a['curFrameInfo']['day'],_0x27bc5a['pstRuntimeInfo']['AbsTimeHour']=_0x27bc5a['curFrameInfo']['hour'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMinute']=_0x27bc5a['curFrameInfo']['minute'],_0x27bc5a['pstRuntimeInfo']['AbsTimeSecond']=_0x27bc5a['curFrameInfo']['second'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMilliseconds']=_0x27bc5a['curFrameInfo']['milliseconds'];else{var _0x29f594=new Object();_0x29f594=_0x27bc5a['findFramebyTime'](_0x13d343['timestamp'],0x0),_0x27bc5a['pstRuntimeInfo']['AbsTimeYear']=_0x29f594['year'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMonth']=_0x29f594['month'],_0x27bc5a['pstRuntimeInfo']['AbsTimeDay']=_0x29f594['day'],_0x27bc5a['pstRuntimeInfo']['AbsTimeHour']=_0x29f594['hour'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMinute']=_0x29f594['minute'],_0x27bc5a['pstRuntimeInfo']['AbsTimeSecond']=_0x29f594['second'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMilliseconds']=_0x29f594['milliseconds'];}_0x27bc5a['runtimeCBFun'](_0x27bc5a['pstRuntimeInfo']),_0x27bc5a['firstRenderBegin']=!0x1;}}}}catch(_0x5293df){_0x52258['e'](_0x5293df);}finally{_0x52258['f']();}}_0x27bc5a['oVideoRender']['DisplayFrame'](_0x5adfd9,_0x13d343['displayWidth'],_0x13d343['displayHeight'],_0x13d343['timestamp'],_0x2fb524,null,_0x27bc5a['nFrameRate'],_0x1614d8)['then'](function(_0x65c468){var _0x1f153d=_0x65c468['timestamp'],_0x2b101b=_0x65c468['DrawRet'];if(_0x27bc5a['RenderTypeFlagMap']['size']>0x0&&0x1!=_0x2b101b){var _0x7451a4,_0xab1a35=_0x5e0274(_0x27bc5a['RenderTypeFlagMap']['keys']());try{for(_0xab1a35['s']();!(_0x7451a4=_0xab1a35['n']())['done'];){var _0x4833c7=_0x7451a4['value'];if(0x10==_0x4833c7)0x1==_0x27bc5a['RenderTypeFlagMap']['get'](_0x4833c7)&&null!=_0x27bc5a['runtimeCBFun']&&(_0x27bc5a['pstRuntimeInfo']['nRunTimeModule']=0x3,_0x27bc5a['pstRuntimeInfo']['nStrVersion']=0x1,_0x27bc5a['pstRuntimeInfo']['nFrameTimeStamp']=_0x1f153d,_0x27bc5a['pstRuntimeInfo']['nFrameNum']=0x0,_0x27bc5a['pstRuntimeInfo']['nErrorCode']=0x10,_0x27bc5a['runtimeCBFun'](_0x27bc5a['pstRuntimeInfo']));}}catch(_0x3f6928){_0xab1a35['e'](_0x3f6928);}finally{_0xab1a35['f']();}}if(null!==_0x27bc5a['displayFrameInfoCB']&&_0x27bc5a['respondFrameInfoCB'](_0x1f153d),_0x27bc5a['RenderTypeFlagMap']['size']>0x0){var _0x1070ca,_0x57d61f=_0x5e0274(_0x27bc5a['RenderTypeFlagMap']['keys']());try{for(_0x57d61f['s']();!(_0x1070ca=_0x57d61f['n']())['done'];){var _0x875779=_0x1070ca['value'];if(_0x875779==_0x596305)0x1==_0x27bc5a['RenderTypeFlagMap']['get'](_0x875779)&&null!=_0x27bc5a['runtimeCBFun']&&(_0x27bc5a['pstRuntimeInfo']['nRunTimeModule']=0x3,_0x27bc5a['pstRuntimeInfo']['nStrVersion']=0x1,_0x27bc5a['pstRuntimeInfo']['nFrameTimeStamp']=_0x1f153d,_0x27bc5a['pstRuntimeInfo']['nFrameNum']=0x0,_0x27bc5a['pstRuntimeInfo']['nErrorCode']=_0x596305,_0x27bc5a['pstRuntimeInfo']['nInputDataInterval']=0x0,_0x27bc5a['pstRuntimeInfo']['nFrameNumInterval']=0x0,_0x27bc5a['pstRuntimeInfo']['nAverageDecodeTime']=0x0,_0x27bc5a['pstRuntimeInfo']['AbsTimeYear']=_0x27bc5a['curFrameInfo']['year'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMonth']=_0x27bc5a['curFrameInfo']['month'],_0x27bc5a['pstRuntimeInfo']['AbsTimeDay']=_0x27bc5a['curFrameInfo']['day'],_0x27bc5a['pstRuntimeInfo']['AbsTimeHour']=_0x27bc5a['curFrameInfo']['hour'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMinute']=_0x27bc5a['curFrameInfo']['minute'],_0x27bc5a['pstRuntimeInfo']['AbsTimeSecond']=_0x27bc5a['curFrameInfo']['second'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMilliseconds']=_0x27bc5a['curFrameInfo']['milliseconds'],_0x27bc5a['runtimeCBFun'](_0x27bc5a['pstRuntimeInfo']));}}catch(_0x14437e){_0x57d61f['e'](_0x14437e);}finally{_0x57d61f['f']();}}if(_0x27bc5a['firstFrame']){_0x27bc5a['firstFrame']=!0x1;var _0x18a2af=_0x27bc5a;_0x27bc5a['oVideoRender']['GetCanvasData'](function(_0x3d1026,_0x476e31,_0x1a7c2a){if(null!=_0x3d1026){var _0x4d83cc=_0x18a2af['checkColorAnomaly'](_0x3d1026,_0x476e31,_0x1a7c2a);console['log']('checkColorAnomaly\\x20resC:'+_0x4d83cc),_0x4d83cc&&_0x18a2af['HardDecodeError']();}}),null!=_0x27bc5a['player']?null!=_0x27bc5a['player']['FFCallBackFun']&&_0x27bc5a['player']['FFCallBackFun']({'decodeEngine':0x1}):postMessage({'function':'firstFrameCB','value':!0x0});}_0x27bc5a['startRecoderFlag']&&0x0==_0x27bc5a['stopRecoderFlag']&&_0x27bc5a['oVideoRender']['GetCanvasData'](function(_0x50bd4b,_0x1dc7c1,_0xfc4209){if(null!=_0x50bd4b){if(0x0==_0x27bc5a['recoderBaseTimestampMode']){0x0==_0x27bc5a['vBaseTimeStamp']&&(_0x27bc5a['vBaseTimeStamp']=0x3c*new Date()['getHours']()*0x3c*0x3e8+0x3c*new Date()['getMinutes']()*0x3e8+0x3e8*new Date()['getSeconds']()+new Date()['getMilliseconds']());var _0x3aa8d8=0x3c*new Date()['getHours']()*0x3c*0x3e8+0x3c*new Date()['getMinutes']()*0x3e8+0x3e8*new Date()['getSeconds']()+new Date()['getMilliseconds']();_0x27bc5a['recoderFrameTimeStamp']=_0x3aa8d8-_0x27bc5a['vBaseTimeStamp'];}else 0x1==_0x27bc5a['recoderBaseTimestampMode']||(_0x27bc5a['recoderBaseTimestampMode']=0x1),_0x27bc5a['recoderFrameTimeStamp']=_0x1f153d;var _0x346312={'timestamp':0x3e8*_0x27bc5a['recoderFrameTimeStamp'],'codedWidth':_0x27bc5a['encodeVideoInfo']['encodeWidth'],'codedHeight':_0x27bc5a['encodeVideoInfo']['encodeHeight'],'format':'RGBA'},_0x4cf282=new VideoFrame(_0x50bd4b,_0x346312),_0xedbad6={};_0xedbad6['year']=_0x27bc5a['curFrameInfo']['year'],_0xedbad6['month']=_0x27bc5a['curFrameInfo']['month'],_0xedbad6['day']=_0x27bc5a['curFrameInfo']['day'],_0xedbad6['hour']=_0x27bc5a['curFrameInfo']['hour'],_0xedbad6['minute']=_0x27bc5a['curFrameInfo']['minute'],_0xedbad6['second']=_0x27bc5a['curFrameInfo']['second'],_0xedbad6['milliseconds']=_0x27bc5a['curFrameInfo']['milliseconds'],_0x27bc5a['oVideoEncoder']['inputData'](_0x4cf282,_0xedbad6),_0x4cf282['close'](),_0x50bd4b=null,_0x27bc5a['recoderFrameNum']++;}_0x701d04();},_0x27bc5a['encodeVideoInfo']['encodeWidth'],_0x27bc5a['encodeVideoInfo']['encodeHeight'],_0x27bc5a['recoderGetOriginData']);});}});}},{'key':'checkColorAnomaly','value':function(_0x12879f,_0x1a3bf6,_0x5a2a8f){for(var _0x3b7342=0x0,_0x1d23f8=_0x1a3bf6*_0x5a2a8f,_0x310650=0x0;_0x310650<_0x12879f['length'];_0x310650+=0x4){var _0x302a4c=_0x12879f[_0x310650],_0x2925ee=_0x12879f[_0x310650+0x1],_0x2794c0=_0x12879f[_0x310650+0x2];_0x2925ee>1.5*_0x302a4c&&_0x2925ee>1.5*_0x2794c0&&_0x3b7342++;}return _0x3b7342/_0x1d23f8>0.05;}},{'key':'respondFrameInfoCB','value':function(_0x465065){if(0x0!=this['displayFrameInfo']['length']&&(this['curFrameInfo']['timeStamp']!==_0x465065||0x0==_0x465065&&0x0==this['curFrameInfo']['timeStamp'])){var _0x3cf0d3=this['findFramebyTime'](_0x465065,0x1);this['curFrameInfo']['port']=_0x3cf0d3['port'],this['curFrameInfo']['codecType']=_0x3cf0d3['codecType'],this['curFrameInfo']['frameType']=_0x3cf0d3['frameType'],this['curFrameInfo']['frameSize']=_0x3cf0d3['frameSize'],this['curFrameInfo']['width']=_0x3cf0d3['width']-(_0x3cf0d3['cropLeft']+_0x3cf0d3['cropRight']),this['curFrameInfo']['height']=_0x3cf0d3['height']-(_0x3cf0d3['cropTop']+_0x3cf0d3['cropBottom']),this['curFrameInfo']['timeStamp']=_0x3cf0d3['timeStamp'],this['curFrameInfo']['frameRate']=_0x3cf0d3['frameRate'],this['curFrameInfo']['frameNum']=_0x3cf0d3['frameNum'],this['curFrameInfo']['interlace']=_0x3cf0d3['interlace'],this['curFrameInfo']['streamEnd']=_0x3cf0d3['streamEnd'],this['curFrameInfo']['cropLeft']=_0x3cf0d3['cropLeft'],this['curFrameInfo']['cropRight']=_0x3cf0d3['cropRight'],this['curFrameInfo']['cropTop']=_0x3cf0d3['cropTop'],this['curFrameInfo']['cropBottom']=_0x3cf0d3['cropBottom'],this['curFrameInfo']['year']=_0x3cf0d3['year'],this['curFrameInfo']['month']=_0x3cf0d3['month'],this['curFrameInfo']['week']=_0x3cf0d3['week'],this['curFrameInfo']['day']=_0x3cf0d3['day'],this['curFrameInfo']['hour']=_0x3cf0d3['hour'],this['curFrameInfo']['minute']=_0x3cf0d3['minute'],this['curFrameInfo']['second']=_0x3cf0d3['second'],this['curFrameInfo']['milliseconds']=_0x3cf0d3['milliseconds'],_0x3cf0d3=null,null!=this['displayFrameInfoCB']&&this['displayFrameInfoCB'](this['curFrameInfo']);}}},{'key':'findFramebyTime','value':function(_0x477a65,_0x377035){var _0x2c9732=new Object();if(_0x2c9732=this['displayFrameInfo']['find'](function(_0xad904a){return _0xad904a['timeStamp']==_0x477a65;}),0x1==_0x377035){var _0x2fe6a5=this['displayFrameInfo']['findIndex'](function(_0x48be14){return _0x48be14['timeStamp']==_0x477a65;});this['displayFrameInfo']['splice'](_0x2fe6a5,0x1);}return _0x2c9732;}},{'key':'chooseFrame','value':function(){var _0x5c700e=this;return new Promise(function(_0x476fb4,_0x1d8e89){if(null==_0x5c700e['oVideoRender']||null==_0x5c700e['oVideoDecoder'])_0x476fb4(null);else{if(_0x5c700e['oVideoDecoder']['decoderObjNeedReset'])_0x5c700e['oVideoDecoder']['resetDecoder']()['then'](function(){_0x5c700e['oVideoDecoder']['decoderObjNeedReset']=!0x1,_0x476fb4(null);},function(){_0x1d8e89();});else{var _0x43a1db=_0x5c700e['oVideoDecoder']['GetFrameBufferLength']();if(-0x1!=_0x5c700e['displayBuf']){if(_0x43a1db<0x3){if(0x1==_0x5c700e['bSetStreamEnd']&&(_0x5c700e['nstreamEndloopNum']++,_0x5c700e['nstreamEndloopNum']>=0x32&&null!=_0x5c700e['player']&&null!=_0x5c700e['player']['runtimeCBFun'])){var _0x1db392={'nRunTimeModule':0x0,'nStrVersion':0x0,'nFrameTimeStamp':0x0,'nFrameNum':0x0,'nErrorCode':0x9};_0x5c700e['player']['runtimeCBFun'](_0x1db392),_0x5c700e['bSetStreamEnd']=!0x1,_0x5c700e['nstreamEndloopNum']=0x0;}_0x476fb4(null);}else 0x1==_0x5c700e['bSetStreamEnd']&&(_0x5c700e['nstreamEndloopNum']=0x0),_0x5c700e['oVideoDecoder']['GetFrame']()['then'](function(_0x4b8dca){_0x476fb4(_0x4b8dca);},function(){});}else{if(0x0==_0x43a1db){if(0x1==_0x5c700e['bSetStreamEnd']&&(_0x5c700e['nstreamEndloopNum']++,_0x5c700e['nstreamEndloopNum']>=0x32&&null!=_0x5c700e['player']&&null!=_0x5c700e['player']['runtimeCBFun'])){var _0x22b247={'nRunTimeModule':0x0,'nStrVersion':0x0,'nFrameTimeStamp':0x0,'nFrameNum':0x0,'nErrorCode':0x9};_0x5c700e['player']['runtimeCBFun'](_0x22b247),_0x5c700e['bSetStreamEnd']=!0x1,_0x5c700e['nstreamEndloopNum']=0x0;}_0x476fb4(null);}else 0x1==_0x5c700e['bSetStreamEnd']&&(_0x5c700e['nstreamEndloopNum']=0x0),_0x5c700e['oVideoDecoder']['GetFrame']()['then'](function(_0x5eb215){_0x476fb4(_0x5eb215);},function(){});}}}});}},{'key':'SetDisplayRegion','value':function(_0x58c468,_0x165813,_0x2f203e,_0x55f3d3){return null==this['oVideoRender']?0x0:(this['sx']=_0x58c468,this['sy']=_0x165813,this['sw']=_0x2f203e,this['sh']=_0x55f3d3,this['oVideoRender']['SetDisplayRect'](_0x58c468,_0x165813,_0x2f203e,_0x55f3d3));}},{'key':'SetCurStatus','value':function(_0x3273b5){var _0x98a93f=!(arguments['length']>0x1&&void 0x0!==arguments[0x1])||arguments[0x1];return this['bResetdisplayFrameInfoCB']=_0x98a93f,this['renderCurStatus']=_0x3273b5,0x1;}},{'key':'fast','value':function(){var _0x9e6184=this['_GetFastSpeed'](this['nplaySpeed']);return this['_SetPlaySpeed'](_0x9e6184);}},{'key':'slow','value':function(){var _0x34ab58=this['_GetSlowSpeed'](this['nplaySpeed']);return this['_SetPlaySpeed'](_0x34ab58);}},{'key':'Pause','value':function(_0x411398){if(_0x411398)0x2!=this['renderCurStatus']&&0x6!=this['renderCurStatus']||(this['renderLastStatus']=this['renderCurStatus']),this['SetCurStatus'](0x3);else{if(0x3!==this['renderCurStatus'])return 0x0;0x2===this['renderLastStatus']?this['SetCurStatus'](0x2):0x6===this['renderLastStatus']&&this['SetCurStatus'](0x6),this['resetTimer']=!0x0;}return 0x1;}},{'key':'NotifyBackPlay','value':function(_0x51d4a1){if(_0x51d4a1?this['SetCurStatus'](0x6):this['SetCurStatus'](0x2),null!=this['oVideoDecoder']){if(0x2==this['PlayOrBackMode'])this['oVideoDecoder']['NotifyBackPlay'](_0x51d4a1,this['preTimeStamp'],0x0);else{var _0x5c4693=0x1==_0x51d4a1?0x2:0x1;this['oVideoDecoder']['NotifyBackPlay'](_0x51d4a1,this['preTimeStamp'],_0x5c4693);}}return this['resetTimer']=!0x0,0x1;}},{'key':'SetPlayOrBackSwitchMode','value':function(_0x6c1d47){return this['PlayOrBackMode']=_0x6c1d47,0x1;}},{'key':'SetStretchPlay','value':function(_0xd9db04,_0x5b098e){return 0x2!=this['renderCurStatus']||this['playSpeed']>1.1||this['playSpeed']<0.9?0x0:(this['StretchPlayTime']=_0xd9db04,this['StretchPlayedTime']=0x0,this['StretchPlaySpeed']=_0x5b098e,this['StretchPlayFlag']=!0x0,this['resetTimer']=!0x0,0x1);}},{'key':'VideoStretchProcess','value':function(_0xaaae00){return this['StretchPlayFlag']&&(this['printfFlag']>0x0&&console['log']('StretchPlayedTime:'+this['StretchPlayedTime']+',StretchPlayTime:'+this['StretchPlayTime']),this['StretchPlayedTime']0x0?_0xbe0b51:-0x1/_0xbe0b51,console['log']('playSpeed:'+this['playSpeed']),this['resetTimer']=!0x0,this['needForward']=!0x1,0x2!=this['renderCurStatus']&&0x6!=this['renderCurStatus']&&(0x2===this['renderLastStatus']?this['SetCurStatus'](0x2):0x6===this['renderLastStatus']&&this['SetCurStatus'](0x6))),0x1;}},{'key':'_GetFastSpeed','value':function(_0x32f4a4){var _0x2db323=0x0;switch(_0x32f4a4){case-0x10:_0x2db323=-0x8;break;case-0x8:_0x2db323=-0x4;break;case-0x4:_0x2db323=-0x2;break;case-0x2:_0x2db323=0x1;break;case 0x1:_0x2db323=0x2;break;case 0x2:_0x2db323=0x4;break;case 0x4:_0x2db323=0x8;break;case 0x8:_0x2db323=0x10;break;case 0x10:_0x2db323=0x20;break;case 0x20:_0x2db323=0x40;break;default:_0x2db323=0x0;}return _0x2db323;}},{'key':'_GetSlowSpeed','value':function(_0x5d7e23){var _0x2b4977=0x0;switch(_0x5d7e23){case-0x8:_0x2b4977=-0x10;break;case-0x4:_0x2b4977=-0x8;break;case-0x2:_0x2b4977=-0x4;break;case 0x1:_0x2b4977=-0x2;break;case 0x2:_0x2b4977=0x1;break;case 0x4:_0x2b4977=0x2;break;case 0x8:_0x2b4977=0x4;break;case 0x10:_0x2b4977=0x8;break;case 0x20:_0x2b4977=0x10;break;case 0x40:_0x2b4977=0x20;break;default:_0x2b4977=0x0;}return _0x2b4977;}},{'key':'SetDisplayBuf','value':function(_0x423a50){return this['displayBuf']=_0x423a50,this['LatcyTime']=0x1==_0x423a50?0x0:0xf==_0x423a50?0x2bc:0x2d==_0x423a50?0x76c:_0x423a50>0x6&&_0x423a50<0x2d?0x28*_0x423a50+0x64:-0x1==_0x423a50?0x0:0x32,0x1;}},{'key':'GetJPEG','value':function(){var _0x29e5ea=this;null!=this['oVideoDecoder']&&this['oVideoDecoder']['GetImageYUV']('jpeg',0x0,0x0,0x0,0x0)['then'](function(_0x30d9d8){var _0x403e6d=_0x30d9d8['yuvFrameBuffer'],_0x391478=_0x30d9d8['yuvLength'],_0x3262d5=_0x30d9d8['displayWidth'],_0x47eb60=_0x30d9d8['displayHeight'],_0x12cec3=_0x30d9d8['yuvType'];-0x1!=_0x403e6d&&(_0x29e5ea['player']?_0x29e5ea['player']['_GetImage2'](_0x403e6d,_0x391478,_0x3262d5,_0x47eb60,'jpeg',_0x12cec3,0x0,0x0,0x0,0x0):postMessage({'function':'imageYUV','value':_0x403e6d['buffer'],'size':_0x391478,'width':_0x3262d5,'height':_0x47eb60,'type':'jpeg','yuvType':_0x12cec3,'sx':0x0,'sy':0x0,'sw':0x0,'sh':0x0},[_0x403e6d['buffer']]));},function(){});}},{'key':'GetBMP','value':function(){var _0x19114c=this;null!=this['oVideoDecoder']&&this['oVideoDecoder']['GetImageYUV']('bmp',0x0,0x0,0x0,0x0)['then'](function(_0x15dd44){var _0x29e66c=_0x15dd44['yuvFrameBuffer'],_0x3f7cbb=_0x15dd44['yuvLength'],_0x108497=_0x15dd44['displayWidth'],_0x3a0923=_0x15dd44['displayHeight'],_0x3bb03d=_0x15dd44['yuvType'];-0x1!=_0x29e66c&&(_0x19114c['player']?_0x19114c['player']['_GetImage2'](_0x29e66c,_0x3f7cbb,_0x108497,_0x3a0923,'bmp',_0x3bb03d,0x0,0x0,0x0,0x0):postMessage({'function':'imageYUV','value':_0x29e66c['buffer'],'size':_0x3f7cbb,'width':_0x108497,'height':_0x3a0923,'type':'bmp','yuvType':_0x3bb03d,'sx':0x0,'sy':0x0,'sw':0x0,'sh':0x0},[_0x29e66c['buffer']]));},function(){});}},{'key':'GetCropJPEG','value':function(){var _0x28cedd=this;null!=this['oVideoDecoder']&&this['oVideoDecoder']['GetImageYUV']('jpeg',this['sx'],this['sy'],this['sw'],this['sh'])['then'](function(_0x3bc3e0){var _0x1fdf4b=_0x3bc3e0['yuvFrameBuffer'],_0x4f18a3=_0x3bc3e0['yuvLength'],_0x5f1596=_0x3bc3e0['displayWidth'],_0x50f266=_0x3bc3e0['displayHeight'],_0x1085e7=_0x3bc3e0['yuvType'];-0x1!=_0x1fdf4b&&(_0x28cedd['player']?_0x28cedd['player']['_GetImage2'](_0x1fdf4b,_0x4f18a3,_0x5f1596,_0x50f266,'jpeg',_0x1085e7,_0x28cedd['sx'],_0x28cedd['sy'],_0x28cedd['sw'],_0x28cedd['sh']):postMessage({'function':'imageYUV','value':_0x1fdf4b['buffer'],'size':_0x4f18a3,'width':_0x5f1596,'height':_0x50f266,'type':'jpeg','yuvType':_0x1085e7,'sx':_0x28cedd['sx'],'sy':_0x28cedd['sy'],'sw':_0x28cedd['sw'],'sh':_0x28cedd['sh']},[_0x1fdf4b['buffer']]));},function(){});}},{'key':'GetCropBMP','value':function(){var _0x2d5af0=this;null!=this['oVideoDecoder']&&this['oVideoDecoder']['GetImageYUV']('bmp',this['sx'],this['sy'],this['sw'],this['sh'])['then'](function(_0x22d9a4){var _0x33add2=_0x22d9a4['yuvFrameBuffer'],_0x3f366f=_0x22d9a4['yuvLength'],_0x2a09e6=_0x22d9a4['displayWidth'],_0x581243=_0x22d9a4['displayHeight'],_0x3d5812=_0x22d9a4['yuvType'];-0x1!=_0x33add2&&(_0x2d5af0['player']?_0x2d5af0['player']['_GetImage2'](_0x33add2,_0x3f366f,_0x2a09e6,_0x581243,'bmp',_0x3d5812,_0x2d5af0['sx'],_0x2d5af0['sy'],_0x2d5af0['sw'],_0x2d5af0['sh']):postMessage({'function':'imageYUV','value':_0x33add2['buffer'],'size':_0x3f366f,'width':_0x2a09e6,'height':_0x581243,'type':'bmp','yuvType':_0x3d5812,'sx':_0x2d5af0['sx'],'sy':_0x2d5af0['sy'],'sw':_0x2d5af0['sw'],'sh':_0x2d5af0['sh']},[_0x33add2['buffer']]));},function(){});}},{'key':'GetCanvasCapture','value':function(_0x55a38f,_0x5a8a12,_0x3caad2){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20GetCanvasCapture','color:red'),0x0):(this['oVideoRender']['GetCanvasData'](_0x55a38f,_0x5a8a12,_0x3caad2),0x1);}},{'key':'SetDecodeFrameType','value':function(_0x1dfee3){return this['waitIFrameTimestamp']=_0x1dfee3,0x1;}},{'key':'SetStreamEnd','value':function(_0x2b1468){return this['bSetStreamEnd']=_0x2b1468,this['oVideoDecoder']['SetStreamEnd'](),0x1;}},{'key':'SetAntialias','value':function(_0x2f3f14){return null!=this['oVideoRender']?this['oVideoRender']['SetAntialias'](_0x2f3f14):0x0;}},{'key':'SetFrameInfoCallBack','value':function(_0x491d9f,_0x1af5a6){return _0x1af5a6?(this['needSaveFrameInfo']=!0x0,this['displayFrameInfoCB']=_0x491d9f):(this['needSaveFrameInfo']=!0x1,this['displayFrameInfoCB']=null),0x1;}},{'key':'FEC_SetCanvasID','value':function(_0x367def){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetCanvasID'](_0x367def):(this['FECCanvasID']=_0x367def,0x0);}},{'key':'FEC_ResetCorrectType','value':function(_0x1c6e4a,_0x1c7f8f,_0x20e2dc){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_ResetCorrectType'](_0x1c6e4a,_0x1c7f8f,_0x20e2dc):0x0;}},{'key':'FEC_GetPort','value':function(_0x598ae7,_0x3b509d){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),-0x1):null!=this['oVideoRender']?this['oVideoRender']['FEC_GetPort'](_0x598ae7,_0x3b509d):-0x1;}},{'key':'FEC_Enable','value':function(_0x3eeb93){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_Enable'](_0x3eeb93):0x0;}},{'key':'FEC_SetParam','value':function(_0x4471e9,_0x53c6f0){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetParam'](_0x4471e9,_0x53c6f0):0x0;}},{'key':'FEC_GetParam','value':function(_0x4bb46b,_0x4e043d){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_GetParam'](_0x4bb46b,_0x4e043d):0x0;}},{'key':'FEC_SetViewParam','value':function(_0x3e4ab1,_0x4ec360,_0x110cba){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetViewParam'](_0x3e4ab1,_0x4ec360,_0x110cba):0x0;}},{'key':'FEC_GetViewParam','value':function(_0x305d1e,_0x46865a,_0x42e4c3){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_GetViewParam'](_0x305d1e,_0x46865a,_0x42e4c3):0x0;}},{'key':'FEC_SetWnd','value':function(_0x3a69ae,_0x59558f){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetWnd'](_0x3a69ae,_0x59558f):0x0;}},{'key':'FEC_Disable','value':function(_0x6a9a26,_0x2c3a5d,_0x43cd9b){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_Disable'](_0x6a9a26,_0x2c3a5d,_0x43cd9b):0x0;}},{'key':'FEC_DelPort','value':function(_0x8d4e2){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_DelPort'](_0x8d4e2):0x0;}},{'key':'FEC_SetDisplayRegion','value':function(_0x3eb3f7,_0x1c05a4,_0x4c2909,_0x4ba815,_0x56df49,_0x36cdda,_0x27491f){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetDisplayRegion'](_0x3eb3f7,_0x1c05a4,_0x4c2909,_0x4ba815,_0x56df49,_0x36cdda,_0x27491f):0x0;}},{'key':'FEC_SetBackCilling','value':function(_0x4ebb87,_0x4252bb){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetBackCilling'](_0x4ebb87,_0x4252bb):0x0;}},{'key':'FEC_GetPTZPort','value':function(_0x494eef,_0x4f47c2,_0x3df6a7){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),-0x1):null!=this['oVideoRender']?this['oVideoRender']['FEC_GetPTZPort'](_0x494eef,_0x4f47c2,_0x3df6a7):-0x1;}},{'key':'FEC_SetPTZDisplayMode','value':function(_0x429696){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetPTZDisplayMode'](_0x429696):0x0;}},{'key':'FEC_Capture','value':function(_0x27737a,_0xd598e7){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC_Capture','color:red'),0x0):this['oVideoRender']['FEC_Capture'](_0x27737a,_0xd598e7);}},{'key':'InputPrivateInfo','value':function(_0x18eba1,_0x1c4582,_0x39dfea){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20PrivateInfo','color:red'),0x0):((null!=_0x18eba1&&_0x18eba1['linesNum']>0x0||null!=_0x1c4582&&_0x1c4582['nFontsNum']>0x0)&&0x0==this['firstFrame']&&(this['LatcyTime']=0x64),this['curPrivateInfo']['linesInfo']['push'](_0x18eba1),this['curPrivateInfo']['fontInfo']['push'](_0x1c4582),this['curPrivateInfo']['imageInfo']['push'](_0x39dfea),0x1);}},{'key':'deepClone','value':function(_0x5ae503){if(null===_0x5ae503||'object'!==_0x3521ed(_0x5ae503))return _0x5ae503;if(Array['isArray'](_0x5ae503)){for(var _0x162e8c=[],_0x3443d4=0x0;_0x3443d4<_0x5ae503['length'];_0x3443d4++)_0x162e8c[_0x3443d4]=this['deepClone'](_0x5ae503[_0x3443d4]);return _0x162e8c;}if(ArrayBuffer['isView'](_0x5ae503)){var _0x443790=new Uint8Array(_0x5ae503['length']);return _0x443790['set'](_0x5ae503),_0x443790;}var _0x3a0f6e={};for(var _0x4095f5 in _0x5ae503)_0x5ae503['hasOwnProperty'](_0x4095f5)&&(_0x3a0f6e[_0x4095f5]=this['deepClone'](_0x5ae503[_0x4095f5]));return _0x3a0f6e;}},{'key':'RenderPrivateData','value':function(_0x4907fd,_0xaadae1){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20PrivateInfo','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['RenderPrivateData'](_0x4907fd,_0xaadae1):0x0;}},{'key':'RenderPrivateDataEx','value':function(_0x244735,_0x1760a6,_0x3881bc){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20PrivateInfo','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['RenderPrivateDataEx'](_0x244735,_0x1760a6,_0x3881bc):0x0;}},{'key':'SetWaterMarkFont','value':function(_0x1296a1){return'2d'===this['renderEngine']||'2D'===this['renderEngine']||null==this['oVideoRender']?(console['log']('%c\\x20param\\x20error\\x20this.renderEngine:%d,this.oVideoRender:%d','color:red',this['renderEngine'],this['oVideoRender']),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetWaterMarkFont'](_0x1296a1):0x0;}},{'key':'SetWaterMarkImage','value':function(_0x8bf7f2){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetWaterMarkImage','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetWaterMarkImage'](_0x8bf7f2):0x0;}},{'key':'SetMosaicType','value':function(_0x66e072){return'2d'===this['renderEngine']||'2D'===this['renderEngine']||null==this['oVideoRender']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetMosaicType','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetMosaicType'](_0x66e072):0x0;}},{'key':'SelectIntelInfoFeatureToDraw','value':function(_0x16c21b){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SelectIntelInfoFeatureToDraw','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SelectIntelInfoFeatureToDraw'](_0x16c21b):0x0;}},{'key':'SetD3DPostProcess','value':function(_0x41f8c7,_0xae3344){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetD3DPostProcess','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetD3DPostProcess'](_0x41f8c7,_0xae3344):0x0;}},{'key':'SetTextCanvas','value':function(_0x32c648){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetD3DPostProcess','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetTextCanvas'](_0x32c648):0x0;}},{'key':'SetPrintLogFlag','value':function(_0x12c556){return this['printfFlag']=_0x12c556,null!=this['oVideoDecoder']&&this['oVideoDecoder']['SetPrintLogFlag'](_0x12c556),null!=this['oVideoRender']&&this['oVideoRender']['SetPrintLogFlag'](_0x12c556),0x1;}},{'key':'SetRotateAngle','value':function(_0x305896){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetRotateAngle','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetRotateAngle'](_0x305896):0x0;}},{'key':'InitEncoder','value':function(_0x4c65d6,_0x2e1306){return _0x4c65d6['encodeWidth']>0x0||_0x4c65d6['encodeHeight']>0x0?(this['encodeVideoInfo']['encodeWidth']=_0x4c65d6['encodeWidth'],this['encodeVideoInfo']['encodeHeight']=_0x4c65d6['encodeHeight']):null!=this['curFrameInfo']['width']&&this['curFrameInfo']['width']>0x0&&this['curFrameInfo']['width']<=0x578&&null!=this['curFrameInfo']['height']&&this['curFrameInfo']['height']>0x0&&this['curFrameInfo']['height']<=0x320?(this['encodeVideoInfo']['encodeWidth']=this['curFrameInfo']['width'],this['encodeVideoInfo']['encodeHeight']=this['curFrameInfo']['height']):(this['encodeVideoInfo']['encodeWidth']=0x500,this['encodeVideoInfo']['encodeHeight']=0x2d0),_0x4c65d6['bitrate']>0x0?this['encodeVideoInfo']['bitrate']=_0x4c65d6['bitrate']:this['encodeVideoInfo']['encodeWidth']>0x62c?this['encodeVideoInfo']['bitrate']=0x3d0900:this['encodeVideoInfo']['encodeWidth']>0x320?this['encodeVideoInfo']['bitrate']=0x1e8480:this['encodeVideoInfo']['bitrate']=0xf4240,_0x4c65d6['frameRate']>0x0?this['encodeVideoInfo']['frameRate']=_0x4c65d6['frameRate']:'frameRate'in this['curFrameInfo']&&(this['encodeVideoInfo']['frameRate']=this['curFrameInfo']['frameRate']),_0x4c65d6['bitrateMode']>0x0?this['encodeVideoInfo']['bitrateMode']=_0x4c65d6['bitrateMode']:this['encodeVideoInfo']['bitrateMode']=0x0,_0x4c65d6['latencyMode']>0x0?this['encodeVideoInfo']['latencyMode']=_0x4c65d6['latencyMode']:this['encodeVideoInfo']['latencyMode']=0x0,0x0==_0x4c65d6['encodeType']&&(this['encodeVideoInfo']['encodeVideoType']='avc'),this['recoderBaseTimestampMode']=_0x4c65d6['baseTimeStampMode'],this['recoderGetOriginData']=_0x4c65d6['getOriginData'],null==this['oVideoEncoder']&&(this['oVideoEncoder']=new _0x218390(this,this['player'])),_0x2e1306['sampleRate']>0x0?this['encodeAudioInfo']['sampleRate']=_0x2e1306['sampleRate']:this['encodeAudioInfo']['sampleRate']=0xbb80,_0x2e1306['numberOfChannels']>0x0?this['encodeAudioInfo']['numberOfChannels']=_0x2e1306['numberOfChannels']:this['encodeAudioInfo']['numberOfChannels']=0x1,_0x2e1306['bitrate']>0x0?this['encodeAudioInfo']['bitrate']=_0x2e1306['bitrate']:this['encodeAudioInfo']['bitrate']=0x1f400,0x0==_0x2e1306['encodeType']&&(this['encodeAudioInfo']['encodeAudioType']='aac'),null==this['oAudioEncoder']&&(this['oAudioEncoder']=new _0x566a63(this,this['player'])),0x1;}},{'key':'StartVideoEncode','value':function(_0x393a91){return null!=this['oVideoEncoder']&&(this['oVideoEncoder']['initEncoder']('avc1.4d4032',this['encodeVideoInfo'],_0x393a91),this['startRecoderFlag']=!0x0,this['stopRecoderFlag']=!0x1),0x1;}},{'key':'StartAudioEncode','value':function(_0x10934c){return null!=this['oAudioEncoder']&&this['oAudioEncoder']['initEncoder']('mp4a.40.2',this['encodeAudioInfo'],_0x10934c),0x1;}},{'key':'InputPCMToEncode','value':function(_0x1d2527,_0x1f32d1){if(null!=this['oAudioEncoder']&&0x0==this['stopRecoderFlag']){var _0x1c69c6={'format':'s16','sampleRate':this['encodeAudioInfo']['sampleRate'],'numberOfFrames':_0x1d2527['length']/0x2,'numberOfChannels':0x1,'timestamp':_0x1f32d1,'data':_0x1d2527},_0x79f394=new AudioData(_0x1c69c6);this['oAudioEncoder']['inputData'](_0x79f394),_0x79f394['close']();}return 0x1;}},{'key':'StopEncode','value':function(){return this['startRecoderFlag']=!0x1,this['stopRecoderFlag']=!0x0,this['recoderFrameNum']=0x0,null!=this['oAudioEncoder']&&(this['oAudioEncoder']['stopEncode'](),this['oAudioEncoder']=null),null!=this['oVideoEncoder']&&(this['oVideoEncoder']['stopEncode'](),this['oVideoEncoder']=null),this['recoderBaseTimestampMode']=0x0,this['recoderGetOriginData']=0x0,0x1;}},{'key':'SetRunTimeInfoCallBack','value':function(_0xd49366,_0x2bc63f){return this['runtimeCBFun']=_0x2bc63f,null!=this['oVideoDecoder']&&this['oVideoDecoder']['SetRunTimeInfoCallBackFun'](_0xd49366,_0x2bc63f),0x1;}},{'key':'SetRunTimeInfoCallbackType','value':function(_0x33bf1e,_0x270548,_0xe28b20){return 0x2==_0x33bf1e?_0xe28b20?this['DecodeTypeFlagMap']['set'](_0x270548,0x1):this['DecodeTypeFlagMap']['delete'](_0x270548):0x3==_0x33bf1e&&(_0xe28b20?this['RenderTypeFlagMap']['set'](_0x270548,0x1):this['RenderTypeFlagMap']['delete'](_0x270548)),null!=this['oVideoDecoder']&&0x2==_0x33bf1e&&this['oVideoDecoder']['SetRunTimeInfoCallbackType'](_0x33bf1e,_0x270548,_0xe28b20),0x1;}},{'key':'IsVisible','value':function(_0x4df508){return null!=this['oVideoDecoder']&&this['oVideoDecoder']['IsVisible'](_0x4df508),0x1;}},{'key':'SetPanoramaDisplayEffect','value':function(_0x328ec9){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetPanoramaDisplayEffect','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetPanoramaDisplayEffect'](_0x328ec9):0x0;}},{'key':'SetPanoramaSphereViewParam','value':function(_0x2a1f4b,_0x22eaa0){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetPanoramaSphereViewParam','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetPanoramaSphereViewParam'](_0x2a1f4b,_0x22eaa0):0x0;}},{'key':'GetPanoramaSphereViewParam','value':function(_0x262758,_0x461dde){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20GetPanoramaSphereViewParam','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['GetPanoramaSphereViewParam'](_0x262758,_0x461dde):0x0;}},{'key':'ResetBuffer','value':function(){return this['resetTimer']=!0x0,this['oVideoDecoder']['clearDecoderObjBuffer'](),0x1;}}]),_0x14d12f;}());!function(_0x3b85a5){let _0x4161e8=new _0x2b52fd(),_0x31f1cc=0x0;self['onmessage']=function(_0x466db3){let _0x3d1df3=_0x466db3['data'];switch(_0x3d1df3['command']){case'init':_0x31f1cc=_0x3d1df3['printfLog'],_0x4161e8['init'](_0x3d1df3['canvas'],_0x3d1df3['streamOpenMode'],_0x3d1df3['sab'],_0x3d1df3['renderEngine'],_0x3d1df3['printfLog']);break;case'inputData':let _0xc03708=new Uint8Array(_0x3d1df3['rawData']),_0x55fdf1=_0x3d1df3['rawDataFrameInfo'];_0x4161e8['inputData'](_0xc03708,_0x55fdf1),_0xc03708=null;break;case'SetDisplayRegion':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),_0x4161e8['SetDisplayRegion'](_0x3d1df3['sx'],_0x3d1df3['sy'],_0x3d1df3['sw'],_0x3d1df3['sh']);break;case'stop':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),_0x4161e8['SetCurStatus'](0x4);let _0x5f29fb=setInterval(()=>{_0x4161e8['displayRunning']||(_0x4161e8=null,self['postMessage']({'function':'stop'}),clearInterval(_0x5f29fb),_0x5f29fb=null,self['close'](),_0x31f1cc>=0x0&&console['log']('>>>JS\\x2003\\x20destroy\\x20oVideoPlayCtrl\\x20and\\x20worker'));},0x2);break;case'fast':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['fast']()&&self['postMessage']({'function':'paraError'});break;case'slow':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['slow']()&&self['postMessage']({'function':'paraError'});break;case'SetDisplayBuf':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['SetDisplayBuf'](_0x3d1df3['value'])&&self['postMessage']({'function':'paraError'});break;case'Pause':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['Pause'](_0x3d1df3['value'])&&self['postMessage']({'function':'paraError'});break;case'OneByOne':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['OneByOne'](_0x3d1df3['value'])&&self['postMessage']({'function':'paraError'});break;case'NotifyBackPlay':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['NotifyBackPlay'](_0x3d1df3['flag'])&&self['postMessage']({'function':'paraError'});break;case'SetPlayOrBackSwitchMode':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['SetPlayOrBackSwitchMode'](_0x3d1df3['PlayOrBackMode'])&&self['postMessage']({'function':'paraError'});break;case'SetStretchPlay':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['SetStretchPlay'](_0x3d1df3['Stretchtime'],_0x3d1df3['Stretchspeed'])&&self['postMessage']({'function':'paraError'});break;case'SetCanvasSize':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['SetCanvasSize'](_0x3d1df3['width'],_0x3d1df3['height'],_0x3d1df3['FECSubPort'])&&self['postMessage']({'function':'paraError'});break;case'GetCanvasSize':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['GetCanvasSize']()&&self['postMessage']({'function':'paraError'});break;case'GetPlayedTime':null===_0x4161e8&&self['postMessage']({'function':'OrderError'});let _0x4f72ed=_0x4161e8['GetPlayedTime']();0x0!==_0x4f72ed&&self['postMessage']({'function':'GetPlayedTime','value':_0x4f72ed});break;case'needReset':_0x4161e8['SetCurStatus'](0x0,_0x3d1df3['bTrue']);break;case'GetJPEG':_0x4161e8['GetJPEG']();break;case'GetBMP':_0x4161e8['GetBMP']();break;case'GetCropJPEG':_0x4161e8['GetCropJPEG']();break;case'GetCropBMP':_0x4161e8['GetCropBMP']();break;case'SetDecodeFrameType':_0x4161e8['SetDecodeFrameType'](_0x3d1df3['timestamp']);break;case'SetStreamEnd':_0x4161e8['SetStreamEnd'](_0x3d1df3['bTrue']);break;case'SetAntialias':_0x4161e8['SetAntialias'](_0x3d1df3['value']);break;case'SetFrameInfoCallBack':_0x4161e8['SetFrameInfoCallBack'](_0x55c61e=>{self['postMessage']({'function':'SetFrameInfoCallBack','curFrameInfo':_0x55c61e});},_0x3d1df3['value']);break;case'SetTargetRelativePos':_0x4161e8['SetTargetRelativePos'](_0x3d1df3['nRelativePos'],_0x3d1df3['nPosType'],_0x3d1df3['nPlayMode']);break;case'ResetBuffer':_0x4161e8['ResetBuffer']();break;case'FEC_SetCanvasID':_0x4161e8['FEC_SetCanvasID'](_0x3d1df3['canvasID']);break;case'FECResetCorrectType':_0x4161e8['FEC_ResetCorrectType'](_0x3d1df3['fishSubPort'],_0x3d1df3['placeType'],_0x3d1df3['correctType']);break;case'FECGetPort':let _0x5bc2dd=_0x4161e8['FEC_GetPort'](_0x3d1df3['placeType'],_0x3d1df3['correctType']);(_0x5bc2dd<0x1||_0x5bc2dd>0x1f||null==_0x5bc2dd)&&(_0x5bc2dd=-0x1),self['postMessage']({'function':'FECGetPort','fishSubPort':_0x5bc2dd});break;case'FECEnable':_0x4161e8['FEC_Enable'](_0x3d1df3['fishSubPort']);break;case'FECSetParam':_0x4161e8['FEC_SetParam'](_0x3d1df3['fishSubPort'],_0x3d1df3['param2d']);break;case'FECGetParam':let _0xc4fb5b={};_0x4161e8['FEC_GetParam'](_0x3d1df3['fishSubPort'],_0xc4fb5b),self['postMessage']({'function':'FECGetParam','param2d':_0xc4fb5b});break;case'FECSetViewParam':_0x4161e8['FEC_SetViewParam'](_0x3d1df3['fishSubPort'],_0x3d1df3['upDateType'],_0x3d1df3['fValue']);break;case'FECGetViewParam':let _0x40771f={};_0x4161e8['FEC_GetViewParam'](_0x3d1df3['fishSubPort'],_0x3d1df3['upDateType'],_0x40771f),self['postMessage']({'function':'FECGetViewParam','Param3D':_0x40771f});break;case'FECSetWnd':_0x4161e8['FEC_SetWnd'](_0x3d1df3['fishSubPort'],_0x3d1df3['offscrrenCnv']);break;case'FECDisable':_0x4161e8['FEC_Disable'](_0x3d1df3['fishSubPort'],_0x3d1df3['clearFECCanvas'],_0x3d1df3['clearContext']);break;case'FECDelPort':_0x4161e8['FEC_DelPort'](_0x3d1df3['fishSubPort']);break;case'FECSetDisplayRegion':_0x4161e8['FEC_SetDisplayRegion'](_0x3d1df3['fishSubPort'],_0x3d1df3['type'],_0x3d1df3['regionNum'],_0x3d1df3['sx'],_0x3d1df3['sy'],_0x3d1df3['sw'],_0x3d1df3['sh']);break;case'FECSetBackCilling':_0x4161e8['FEC_SetBackCilling'](_0x3d1df3['fishSubPort'],_0x3d1df3['bValue']);break;case'FECGetPTZPort':let _0x4d417b=_0x4161e8['FEC_GetPTZPort'](_0x3d1df3['subport'],_0x3d1df3['fPositionX'],_0x3d1df3['fPositionY']);(_0x4d417b<0x1||_0x4d417b>0x1f||null==_0x4d417b)&&(_0x4d417b=-0x1,console['info']('%c\\x20hardDecoderWorker\\x20FECGetPTZPort\\x20error\\x20','color:\\x20red')),self['postMessage']({'function':'FECGetPTZPort','fishSubPort':_0x4d417b});break;case'FECCapture':_0x4161e8['FEC_Capture'](_0x3d1df3['subport'],(_0x47e85d,_0x1dc162,_0x5d3914,_0x101191)=>{self['postMessage']({'function':'FECCapture','frameData':_0x47e85d['buffer'],'width':_0x1dc162,'height':_0x5d3914,'fishSubPort':_0x101191},[_0x47e85d['buffer']]);});break;case'FECSetPTZDisplayMode':_0x4161e8['FEC_SetPTZDisplayMode'](_0x3d1df3['ptzMode']);break;case'RenderPrivateData':_0x4161e8['RenderPrivateData'](_0x3d1df3['intelType'],_0x3d1df3['bTrue']);break;case'RenderPrivateDataEx':_0x4161e8['RenderPrivateDataEx'](_0x3d1df3['intelType'],_0x3d1df3['subType'],_0x3d1df3['bTrue']);break;case'InputPrivateInfo':_0x4161e8['InputPrivateInfo'](_0x3d1df3['linesInfo'],_0x3d1df3['fontInfo'],_0x3d1df3['ImageInfo']);break;case'GetCanvasCapture':_0x4161e8['GetCanvasCapture']((_0xc6727b,_0x4409e3,_0x1647f6)=>{self['postMessage']({'function':'GetCanvasCapture','frameData':_0xc6727b['buffer'],'width':_0x4409e3,'height':_0x1647f6},[_0xc6727b['buffer']]);},_0x3d1df3['capWidth'],_0x3d1df3['capHeight']);break;case'SetWaterMarkFont':_0x4161e8['SetWaterMarkFont'](_0x3d1df3['fontParam']);break;case'SetMosaicType':_0x4161e8['SetWaterMarkFont'](_0x3d1df3['MosaicParam']);break;case'SetWaterMarkImage':let _0x2b1d3f=new Uint8Array(_0x3d1df3['pImageData']),_0x324efa={};_0x324efa['pImageData']=_0x2b1d3f,_0x324efa['pImageType']=_0x3d1df3['pImageType'],_0x324efa['pstRectPos']=_0x3d1df3['pstRectPos'],_0x324efa['fAlpha']=_0x3d1df3['fAlpha'],_0x4161e8['SetWaterMarkImage'](_0x324efa),_0x2b1d3f=null;break;case'SelectIntelInfoFeatureToDraw':_0x4161e8['SelectIntelInfoFeatureToDraw'](_0x3d1df3['IntelInfoParam']);break;case'SetD3DPostProcess':_0x4161e8['SetD3DPostProcess'](_0x3d1df3['ProcessType'],_0x3d1df3['ProcessValue']);break;case'SetTextCanvas':_0x4161e8['SetTextCanvas'](_0x3d1df3['textoffscreenCanvas']);break;case'SetPrintLogFlag':_0x4161e8['SetPrintLogFlag'](_0x3d1df3['printfFlag']);break;case'SetPanoramaDisplayEffect':_0x4161e8['SetPanoramaDisplayEffect'](_0x3d1df3['DisplayEffect']);break;case'SetPanoramaSphereViewParam':_0x4161e8['SetPanoramaSphereViewParam'](_0x3d1df3['ViewParamType'],_0x3d1df3['fValue']);break;case'GetPanoramaSphereViewParam':let _0x5626d7={};_0x4161e8['GetPanoramaSphereViewParam'](_0x3d1df3['ViewParamType'],_0x5626d7),self['postMessage']({'function':'GetPanoramaSphereViewParam','ParamVR':_0x5626d7});break;case'SetRotateAngle':_0x4161e8['SetRotateAngle'](_0x3d1df3['rotateValue']);break;case'InitEncoder':_0x4161e8['InitEncoder'](_0x3d1df3['videoInfo'],_0x3d1df3['audioInfo']);break;case'StartVideoEncode':_0x4161e8['StartVideoEncode'](null);break;case'StartAudioEncode':_0x4161e8['StartAudioEncode'](null);break;case'InputPCMToEncode':let _0x56e1d1=new Uint8Array(_0x3d1df3['PCMData']);_0x4161e8['InputPCMToEncode'](_0x56e1d1,_0x3d1df3['timeStamp']);break;case'StopEncode':_0x4161e8['StopEncode']();break;case'SetRunTimeInfoCallBack':_0x4161e8['SetRunTimeInfoCallBack'](_0x3d1df3['module'],_0x4ba5fb=>{self['postMessage']({'function':'runtimeInfo','pstRuntimeInfo':_0x4ba5fb});});break;case'SetRunTimeInfoCallbackType':_0x4161e8['SetRunTimeInfoCallbackType'](_0x3d1df3['module'],_0x3d1df3['type'],_0x3d1df3['flag']);break;case'IsVisible':_0x4161e8['IsVisible'](_0x3d1df3['visibility']);}};}();})());})());","Worker",void 0,void 0)},l=function(A,e){(null==e||e>A.length)&&(e=A.length);for(var t=0,i=new Array(e);t=A.length?{done:!0}:{done:!1,value:A[i++]}},e:function(A){throw A},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,n=!0,o=!1;return{s:function(){t=t.call(A)},n:function(){var A=t.next();return n=A.done,A},e:function(A){o=!0,r=A},f:function(){try{n||null==t.return||t.return()}finally{if(o)throw r}}}},I=function(A,e){(null==e||e>A.length)&&(e=A.length);for(var t=0,i=new Array(e);t=A.length?{done:!0}:{done:!1,value:A[i++]}},e:function(A){throw A},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,n=!0,o=!1;return{s:function(){t=t.call(A)},n:function(){var A=t.next();return n=A.done,A},e:function(A){o=!0,r=A},f:function(){try{n||null==t.return||t.return()}finally{if(o)throw r}}}},S=function(A,e){(null==e||e>A.length)&&(e=A.length);for(var t=0,i=new Array(e);t=A.length?{done:!0}:{done:!1,value:A[i++]}},e:function(A){throw A},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,n=!0,o=!1;return{s:function(){t=t.call(A)},n:function(){var A=t.next();return n=A.done,A},e:function(A){o=!0,r=A},f:function(){try{n||null==t.return||t.return()}finally{if(o)throw r}}}},R=function(A,e){(null==e||e>A.length)&&(e=A.length);for(var t=0,i=new Array(e);t=A.length?{done:!0}:{done:!1,value:A[i++]}},e:function(A){throw A},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,n=!0,o=!1;return{s:function(){t=t.call(A)},n:function(){var A=t.next();return n=A.done,A},e:function(A){o=!0,r=A},f:function(){try{n||null==t.return||t.return()}finally{if(o)throw r}}}},w=function(A,e){(null==e||e>A.length)&&(e=A.length);for(var t=0,i=new Array(e);t=A.length?{done:!0}:{done:!1,value:A[i++]}},e:function(A){throw A},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,n=!0,o=!1;return{s:function(){t=t.call(A)},n:function(){var A=t.next();return n=A.done,A},e:function(A){o=!0,r=A},f:function(){try{n||null==t.return||t.return()}finally{if(o)throw r}}}},v=function(A,e){(null==e||e>A.length)&&(e=A.length);for(var t=0,i=new Array(e);t0&&console.log("VideoDecoder.js inputData videoInfo.timeStamp:"+e.timeStamp+",decodeQueueSize:"+this.decoderObj.decodeQueueSize+",frameLength:"+this.ready_frames.length),("configured"==this.decoderObj.state||this.FirstFrame)&&this.decodeProcess(A,e),(this.ready_frames.length>100||this.decoderObj.decodeQueueSize>100)&&(this.player?this.player.JSPlayM4_GetDecodeBufferSize(this.decoderObj.decodeQueueSize,this.ready_frames.length):postMessage({function:"GetDecodeBufferSize",rawSize:this.decoderObj.decodeQueueSize,frameSize:this.ready_frames.length})),e.nStreamEnd&&this.SetStreamEnd())}},{key:"concatenate",value:function(A){for(var e=0,t=arguments.length,i=new Array(t>1?t-1:0),a=1;a=0&&console.log("265 hard decoder")):256==e?(a="avc1.42001f",this.printfFlag>=0&&console.log("264 hard decoder")):console.log("Support Error: hard decoder only support 264 and 265 !!!");var r={codec:a,hardwareAcceleration:"prefer-hardware",optimizeForLatency:1};return 5!=e&&this.needSetPreSoft&&(r.hardwareAcceleration="prefer-software"),r}},{key:"decodeProcess",value:function(A,e){this.frameRate!=e.frameRate&&(this.frameRate=e.frameRate),this.width!=e.width&&(this.width=e.width),this.height!=e.height&&(this.height=e.height),e.needSetPreSoft&&(this.needSetPreSoft=e.needSetPreSoft);var t=A;if(4!=this.decoderCurStatus&&null!=this.decoderObj)if(this.printfFlag>0&&console.log("VideoDecoder.js Decoder this.decoderObj.state:"+this.decoderObj.state),"configured"==this.decoderObj.state){var i=new EncodedVideoChunk({data:t,timestamp:e.timeStamp,type:e.isKeyFrame?"key":"delta"});try{this.decoderObj.decode(i)}catch(A){0==this.oVideoRenderHandle.firstFrame?this.decoderObjNeedReset=!0:(this.oVideoRenderHandle.HardDecodeError(),console.log("%cswitch hardVideoDecoder to softVideoDecoder","color: red"))}t=null,A=null,i=null,e.frameType}else if(e.isKeyFrame&&"unconfigured"==this.decoderObj.state){var a=this.formatVideoDecoderConfigure(A,e.codecType,e.width,e.height);if(""==a.codec)return-1;if(null!==this.decoderObj){try{this.decoderObj.configure(a)}catch(A){0==this.oVideoRenderHandle.firstFrame?this.decoderObjNeedReset=!0:(this.oVideoRenderHandle.HardDecodeError(),console.log("%cswitch hardVideoDecoder to softVideoDecoder","color: red"))}t=this.processData(A),this.FirstFrame=!1;var r=new EncodedVideoChunk({data:t,timestamp:e.timeStamp,type:e.isKeyFrame?"key":"delta"});try{this.decoderObj.decode(r)}catch(A){0==this.oVideoRenderHandle.firstFrame?this.decoderObjNeedReset=!0:(this.oVideoRenderHandle.HardDecodeError(),console.log("%cswitch hardVideoDecoder to softVideoDecoder","color: red"))}a=null,t=null,A=null}}}},{key:"checkY",value:function(A,e,t){Uint8Array.prototype.compare=function(A,e,t){for(var i=0;i122&&a[o+s]<=128||0===a[o+s])&&i++}return!(i>100)}},{key:"output",value:function(A){var e,t=this;if(this.printfFlag>0&&console.log("VideoDecoder.js output timestamp:"+A.timestamp+",decodeQueueSize:"+this.decoderObj.decodeQueueSize+",length:"+this.ready_frames.length),null!==this.decoderObj)if("configured"==this.decoderObj.state&&this.bVisibility){var i=A.timestamp;if(this.oVideoRenderHandle.VideoPrivateInfoMap.size>0){var a=this.oVideoRenderHandle.VideoPrivateInfoMap.get(i);if(null!=a){for(;a.linesInfo.length>0||a.fontInfo.length>0||a.imageInfo.length>0;)this.oVideoRenderHandle.oVideoRender.InputPrivateInfo(a.linesInfo.shift(),a.fontInfo.shift(),a.imageInfo.shift());this.oVideoRenderHandle.VideoPrivateInfoMap.delete(i)}}if(this.printfFlag>0&&console.log("output1 cb decodeQueueSize:"+this.decoderObj.decodeQueueSize+",length:"+this.ready_frames.length+",timestamp:"+i+",systime:"+(new Date).getHours()+":"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds()),this.oVideoRenderHandle.DecodeTypeFlagMap.size>0){var r,n=C(this.oVideoRenderHandle.DecodeTypeFlagMap.keys());try{for(n.s();!(r=n.n()).done;){var o=r.value;if(o==$&&1==this.oVideoRenderHandle.DecodeTypeFlagMap.get(o)&&null!=this.runtimeInfoCBFun&&null!=this.oDecodeTimer){var s=this.oDecodeTimer.GetTimerWalk();s<=0||s>1e7||this.nGetTotalFrameNum>1e5?(this.nGetTotalFrameNum=0,this.oDecodeTimer.Init()):(this.nGetTotalFrameNum++,this.nAverageDecodeTime=s/this.nGetTotalFrameNum,null!=this.runtimeInfoCBFun&&(this.pstRuntimeInfo.nRunTimeModule=2,this.pstRuntimeInfo.nStrVersion=1,this.pstRuntimeInfo.nFrameTimeStamp=i,this.pstRuntimeInfo.nFrameNum=0,this.pstRuntimeInfo.nErrorCode=$,this.pstRuntimeInfo.nInputDataInterval=0,this.pstRuntimeInfo.nFrameNumInterval=0,this.pstRuntimeInfo.nAverageDecodeTime=this.nAverageDecodeTime,this.runtimeInfoCBFun(this.pstRuntimeInfo)))}}}catch(A){n.e(A)}finally{n.f()}}if(null!=this.player&&null!=this.player.HardDecToJpegCBFun){++this.HardDecFrameCount;var g=A.displayWidth,I=A.displayHeight;(this.HardDecFrameCount-1)%this.player.HardDecToJpegInterval==0&&createImageBitmap(A).then((function(e){t.player?t.player._GetImage(e,"jpeg",0,0,g,I,t.HardDecFrameCount):postMessage({function:"bitmap",value:e,type:"jpeg",sx:0,sy:0,sw:A.displayWidth,sh:A.displayHeight,framenum:t.HardDecFrameCount})}))}if(""!=this.canvas&&null!=this.canvas){if(this.printfFlag>0&&console.log("VideoDecoder.js WaitForFrameFlag:"+this.WaitForFrameFlag+",frame.timestamp:"+A.timestamp+",StartFrameTime:"+this.StartFrameTime),2==this.WaitForFrameFlag&&A.timestamp>this.StartFrameTime&&0!=this.StartFrameTime)return A.close(),1;if(1==this.WaitForFrameFlag&&A.timestamp200?A.close():this.oVideoRenderHandle.findFramebyTime(A.timestamp,0).isKeyFrame?(this.back_ready_frames.reverse(),(c=this.ready_frames).push.apply(c,function(A){if(Array.isArray(A))return l(A)}(e=this.back_ready_frames)||function(A){if("undefined"!=typeof Symbol&&null!=A[Symbol.iterator]||null!=A["@@iterator"])return Array.from(A)}(e)||function(A,e){if(A){if("string"==typeof A)return l(A,e);var t=Object.prototype.toString.call(A).slice(8,-1);return"Object"===t&&A.constructor&&(t=A.constructor.name),"Map"===t||"Set"===t?Array.from(A):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?l(A,e):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),this.back_ready_frames.splice(0,this.back_ready_frames.length),createImageBitmap(A).then((function(e){t.back_ready_frames.push({image:e,timestamp:A.timestamp,displayWidth:A.displayWidth,displayHeight:A.displayHeight}),A.close()}))):(createImageBitmap(A).then((function(e){t.back_ready_frames.push({image:e,timestamp:A.timestamp,displayWidth:A.displayWidth,displayHeight:A.displayHeight}),A.close()})),this.decoderOutSuccess||(this.decoderOutSuccess=!0),this.decoderObj.decodeQueueSize<=1&&this.back_ready_frames.length<=1&&(this.player?this.player.JSPlayM4_GetRawData():postMessage({function:"GetRawData"}))):this.ready_frames.length>100?A.close():(this.ready_frames.push(A),this.decoderOutSuccess||(this.decoderOutSuccess=!0),this.decoderObj.decodeQueueSize<=1&&this.ready_frames.length<=1&&(this.player?this.player.JSPlayM4_GetRawData():postMessage({function:"GetRawData"})))}else A.close(),null!=this.player&&null!=this.player.runtimeCBFun&&1==this.GetStreamEnd()&&1==this.bSetStreamEnd&&(this.player.runtimeCBFun({nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:9}),this.bSetStreamEnd=!1)}else A.close()}},{key:"output2",value:function(A){var e=this;A.timestamp,createImageBitmap(A).then((function(t){A.close(),e.ready_frames.push(t)}))}},{key:"reportError",value:function(A){if(this.oVideoRenderHandle.DecodeTypeFlagMap.size>0){var e,t=C(this.oVideoRenderHandle.DecodeTypeFlagMap.keys());try{for(t.s();!(e=t.n()).done;){var i=e.value;128==i&&1==this.oVideoRenderHandle.DecodeTypeFlagMap.get(i)&&null!=this.runtimeInfoCBFun&&(this.pstRuntimeInfo.nRunTimeModule=2,this.pstRuntimeInfo.nStrVersion=1,this.pstRuntimeInfo.nFrameTimeStamp=timestamp,this.pstRuntimeInfo.nFrameNum=0,this.pstRuntimeInfo.nErrorCode=128,this.runtimeInfoCBFun(this.pstRuntimeInfo))}}catch(A){t.e(A)}finally{t.f()}}console.log("hardDecode reportError:"+A.message+",state:"+this.decoderObj.state+",frameRate:"+this.frameRate+"this.ready_frames.length:"+this.ready_frames.length),0==this.oVideoRenderHandle.firstFrame?this.decoderObjNeedReset=!0:(this.oVideoRenderHandle.HardDecodeError(),console.log("%cswitch hardVideoDecoder to softVideoDecoder","color: red"))}},{key:"destroyDecoder",value:function(){var A=this;return new Promise((function(e,t){A.clearDecoderObjBuffer(),null!=A.decoderObj&&("closed"!=A.decoderObj.state&&A.decoderObj.close(),A.printfFlag>=0&&console.log(">>>JS 01 destroy decoderObj"),A.decoderObj=null),A.decoderCurStatus=4,A.decoderOutSuccess=!1,A.FirstFrame=!0,A.needSetPreSoft=!1,A.decoderObjNeedReset=!1,A.curFrame=null,null!==A.oDecodeTimer&&(A.oDecodeTimer.timerReset(),A.oDecodeTimer=null),e()}))}},{key:"resetDecoder",value:function(){var A=this;return new Promise((function(e,t){A.destroyDecoder().then((function(){A.initDecoder(),console.log("%c reset hard decoder","color:red"),e()}),(function(){t()}))}))}},{key:"clearDecoderObjBuffer",value:function(){if(6==this.decoderCurStatus){for(var A=this.ready_frames.length,e=0;e0&&this.frameDisplayHeight>0){if(this.fSrcUseLeft=r/this.frameDisplayWidth,this.fSrcUseLeft<0?this.fSrcUseLeft=0:this.fSrcUseLeft>1&&(this.fSrcUseLeft=1),this.fSrcUseTop=n/this.frameDisplayHeight,this.fSrcUseTop<0?this.fSrcUseTop=0:this.fSrcUseTop>1&&(this.fSrcUseTop=1),this.fSrcUseRight=o/this.frameDisplayWidth,this.fSrcUseRight<0?this.fSrcUseRight=0:this.fSrcUseRight>1&&(this.fSrcUseRight=1),this.fSrcUseBottom=s/this.frameDisplayHeight,this.fSrcUseBottom<0?this.fSrcUseBottom=0:this.fSrcUseBottom>1&&(this.fSrcUseBottom=1),this.fSrcUseLeft>=this.fSrcUseRight||this.fSrcUseTop>=this.fSrcUseBottom)return BA.SR_ERR_PARAM;if(yA.SR_IRA_0==this.nImageRotateAngle)g=new Float32Array([this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom]);else if(yA.SR_IRA_90==this.nImageRotateAngle){var C=this.fSrcUseTop,I=this.fSrcUseBottom,c=1-this.fSrcUseRight,h=1-this.fSrcUseLeft;this.fSrcUseLeft=C,this.fSrcUseRight=I,this.fSrcUseTop=c,this.fSrcUseBottom=h,g=new Float32Array([this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop])}else if(yA.SR_IRA_180==this.nImageRotateAngle){var B=1-this.fSrcUseRight,E=1-this.fSrcUseLeft,x=1-this.fSrcUseBottom,d=1-this.fSrcUseTop;this.fSrcUseLeft=B,this.fSrcUseRight=E,this.fSrcUseTop=x,this.fSrcUseBottom=d,g=new Float32Array([this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseTop])}else if(yA.SR_IRA_270==this.nImageRotateAngle){var Q=1-this.fSrcUseBottom,f=1-this.fSrcUseTop,u=this.fSrcUseLeft,p=this.fSrcUseRight;this.fSrcUseLeft=Q,this.fSrcUseRight=f,this.fSrcUseTop=u,this.fSrcUseBottom=p,g=new Float32Array([this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom])}this.bSrcRect=!0}else g=new Float32Array([this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom]),this.bSrcRect=!1;this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.texturePosBuffer),this.ctx.bufferSubData(this.ctx.ARRAY_BUFFER,0,g),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),g=null;break;case EA.SR_SRT_DST:if(this.frameDisplayWidth>0&&this.frameDisplayHeight>0){if(this.fDstUseLeft=r/this.frameDisplayWidth,this.fDstUseLeft<0?this.fDstUseLeft=0:this.fDstUseLeft>1&&(this.fDstUseLeft=1),this.fDstUseTop=n/this.frameDisplayHeight,this.fDstUseTop<0?this.fDstUseTop=0:this.fDstUseTop>1&&(this.fDstUseTop=1),this.fDstUseRight=o/this.frameDisplayWidth,this.fDstUseRight<0?this.fDstUseRight=0:this.fDstUseRight>1&&(this.fDstUseRight=1),this.fDstUseBottom=s/this.frameDisplayHeight,this.fDstUseBottom<0?this.fDstUseBottom=0:this.fDstUseBottom>1&&(this.fDstUseBottom=1),this.fDstUseLeft>=this.fDstUseRight||this.fDstUseTop>=this.fDstUseBottom)return BA.SR_ERR_PARAM;(l=new Float32Array(12))[0]=2*this.fDstUseLeft-1,l[1]=1-2*this.fDstUseTop,l[2]=2*this.fDstUseLeft-1,l[3]=1-2*this.fDstUseBottom,l[4]=2*this.fDstUseRight-1,l[5]=1-2*this.fDstUseTop,l[6]=2*this.fDstUseRight-1,l[7]=1-2*this.fDstUseTop,l[8]=2*this.fDstUseLeft-1,l[9]=1-2*this.fDstUseBottom,l[10]=2*this.fDstUseRight-1,l[11]=1-2*this.fDstUseBottom,this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.vertexPosBuffer),this.ctx.bufferSubData(this.ctx.ARRAY_BUFFER,0,l),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),l=null}break;default:return BA.SR_ERR_NOT_SUPPORT}return BA.SR_OK}},{key:"SetImagePostProcess",value:function(A,e){if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;if(_A.SR_PPT_SHARPNESS==A||_A.SR_PPT_HUE==A){if(0-e>1e-6||e-1>1e-6)return BA.SR_ERR_PARAM}else if((_A.SR_PPT_BRIGHTNESS==A||_A.SR_PPT_SATURATION==A||_A.SR_PPT_CONTRAST==A)&&(-1-e>1e-6||e-1>1e-6))return BA.SR_ERR_PARAM;switch(A){case _A.SR_PPT_BRIGHTNESS:this.fBrightness=e;break;case _A.SR_PPT_HUE:this.fHue=e;break;case _A.SR_PPT_SATURATION:this.fSaturation=e;break;case _A.SR_PPT_CONTRAST:this.fContrast=e;break;case _A.SR_PPT_SHARPNESS:this.fSharpness=e;break;default:return BA.SR_ERR_NOT_SUPPORT}return Math.abs(this.fBrightness-0)<1e-6&&Math.abs(this.fHue-0)<1e-6&&Math.abs(this.fSaturation-0)<1e-6&&Math.abs(this.fContrast-0)<1e-6&&Math.abs(this.fSharpness-0)<1e-6?this.nPostProc=0:this.nPostProc=1,BA.SR_OK}},{key:"SetRenderState",value:function(A,e){if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;switch(A){case mA.SR_RST_VERTICALFLIP:if(this.b3DPort)return BA.SR_ERR_NOT_SUPPORT;break;case mA.SR_RST_BACK_CULL:if(!this.b3DPort)return BA.SR_ERR_NOT_SUPPORT;Math.abs(e-0)<1e-6?this.bCullBack=!1:this.bCullBack=!0;break;case mA.SR_RST_IMAGE_ROTATE:if(this.b3DPort)return BA.SR_ERR_NOT_SUPPORT;var t=null,i=yA.SR_IRA_0,a=u(0,0,1),r=B();if(Math.abs(e-0)<1e-6){if(this.nImageRotateAngle==i)break;t=this.bSrcRect?new Float32Array([this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom]):new Float32Array([0,0,0,1,1,0,1,0,0,1,1,1]),E(this.matRotate)}else if(Math.abs(e-90)<1e-6){if(i=yA.SR_IRA_90,this.nImageRotateAngle==i)break;t=this.bSrcRect?new Float32Array([this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop]):new Float32Array([0,1,1,1,0,0,0,0,1,1,1,0]),d(this.matRotate,r,1.5707963,a)}else if(Math.abs(e-180)<1e-6){if(i=yA.SR_IRA_180,this.nImageRotateAngle==i)break;t=this.bSrcRect?new Float32Array([this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseTop]):new Float32Array([1,1,1,0,0,1,0,1,1,0,0,0]),d(this.matRotate,r,cA,a)}else{if(!(Math.abs(e-270)<1e-6))return BA.SR_ERR_PARAM;if(i=yA.SR_IRA_270,this.nImageRotateAngle==i)break;t=this.bSrcRect?new Float32Array([this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom]):new Float32Array([1,0,0,0,1,1,1,1,0,0,0,1]),d(this.matRotate,r,3*cA/2,a)}if(null==t)return BA.SR_ERR_NOT_SUPPORT;var n=this.ctx.createBuffer();this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,n),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,t,this.ctx.STATIC_DRAW),this.texturePosBuffer=n,this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.nImageRotateAngle=i;break;default:return BA.SR_ERR_NOT_SUPPORT}return BA.SR_OK}},{key:"SetVideoResolution",value:function(A,e){return null==this.ctx||A<=0||e<=0?BA.SR_ERR_CALL_ORDER:(this.frameDisplayWidth=A,this.frameDisplayHeight=e,BA.SR_OK)}},{key:"GetCaptureSize",value:function(A){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;if(null==A.nWidth||null==A.nWidth||null==A.nHeight||null==A.nHeight)return BA.SR_ERR_PARAM;if(1==e&&this.b3DPort)return BA.SR_ERR_NOT_SUPPORT;var t=0,i=0;if(0==A.nWidth&&0==A.nHeight)switch(this.enDisplayEffect){case xA.SR_DE_FISH_PTZ_WALL:case xA.SR_DE_FISH_PTZ_CEILING:case xA.SR_DE_FISH_PTZ_FLOOR:t=Math.round(5*this.frameDisplayHeight/8),i=Math.round(3*t/4);break;case xA.SR_DE_NULL:e?(t=Math.round(this.frameDisplayWidth),i=Math.round(this.frameDisplayHeight)):(t=Math.round((this.fSrcUseRight-this.fSrcUseLeft)*this.frameDisplayWidth),i=Math.round((this.fSrcUseBottom-this.fSrcUseTop)*this.frameDisplayHeight));break;case xA.SR_DE_FISH_ORIGINAL:case xA.SR_DE_FISH_SEMISPHERE:case xA.SR_DE_PANORAMA_SPHERE:case xA.SR_DE_PANORAMA_PLANET:case xA.SR_DE_FISH_CYLINDER_CEILING:case xA.SR_DE_FISH_CYLINDER_FLOOR:case xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:case xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:case xA.SR_DE_FISH_PLANET:case xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING:case xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR:t=Math.round(this.frameDisplayWidth),i=Math.round(this.frameDisplayHeight);break;case xA.SR_DE_FISH_PANORAMA_FLOOR_360:case xA.SR_DE_FISH_PANORAMA_CEILING_360:this.frameDisplayHeight>=2048?(t=6144,i=864):this.frameDisplayHeight>=1536&&2048>this.frameDisplayHeight?(t=4096,i=576):(t=Math.round(3.14*this.frameDisplayHeight/1.6),i=Math.round(9*this.frameDisplayWidth/16),t=Math.round(2*t),i=Math.round(i/2));break;case xA.SR_DE_FISH_PANORAMA_FLOOR_180:case xA.SR_DE_FISH_PANORAMA_CEILING_180:this.frameDisplayHeight>=3072?(t=4096,i=2304):this.frameDisplayHeight>=2048&&3072>this.frameDisplayHeight?(t=3072,i=1728):this.frameDisplayHeight>=1536&&2048>this.frameDisplayHeight?(t=2048,i=1152):(t=Math.round(3.14*this.frameDisplayHeight/1.6),i=Math.round(9*t/16));break;case xA.SR_DE_FISH_PANORAMA_WALL:t=Math.round(this.frameDisplayHeight),i=Math.round(9*t/16);break;default:return BA.SR_ERR_PARAM}else t=Math.round(A.nWidth),i=Math.round(A.nHeight);return t<16||i<16?BA.SR_ERR_PARAM:(this.nCaptureWidth=4*Math.round(t/4),this.nCaptureHeight=Math.round(i),A.nWidth=this.nCaptureWidth,A.nHeight=this.nCaptureHeight,A.nBufferLen=this.nCaptureWidth*this.nCaptureHeight*4,this.bCaptureOriginal=e,BA.SR_OK)}},{key:"CaptureScreen",value:function(A,e){if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;var t=BA.SR_OK;if(t=this._BeginCapture(),BA.SR_OK!=t)return this.bIsCapturing=!1,t;if(1==this.bCaptureOriginal&&(this.stOriginalDisplayRect.fLeft=this.fSrcUseLeft*this.frameDisplayWidth,this.stOriginalDisplayRect.fTop=this.fSrcUseTop*this.frameDisplayHeight,this.stOriginalDisplayRect.fWidth=(this.fSrcUseRight-this.fSrcUseLeft)*this.frameDisplayWidth,this.stOriginalDisplayRect.fHeight=(this.fSrcUseBottom-this.fSrcUseTop)*this.frameDisplayHeight,t=this.SetDisplayRect(0,0,this.frameDisplayWidth,this.frameDisplayHeight,EA.SR_SRT_SRC),BA.SR_OK!=t))return this.bIsCapturing=!1,t;if(0==this.videoShaderProgram||0==this.vertexPosBuffer||0==this.texturePosBuffer)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_CALL_ORDER;this.ctx.useProgram(this.videoShaderProgram),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.vertexPosBuffer);var i=this.ctx.getAttribLocation(this.videoShaderProgram,"position");if(i<0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.b3DPort?this.ctx.vertexAttribPointer(i,3,this.ctx.FLOAT,!1,0,0):this.ctx.vertexAttribPointer(i,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(i),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.texturePosBuffer);var a=this.ctx.getAttribLocation(this.videoShaderProgram,"texCoord");if(a<0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.vertexAttribPointer(a,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(a),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null);var r=this.enDisplayEffect,n=this.ctx.getUniformLocation(this.videoShaderProgram,"bCapture");if(n<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(n,1);var o=this.ctx.getUniformLocation(this.videoShaderProgram,"bDataFormat");if(o<=0)return BA.SR_ERR_WEBGL_RESOURCE;switch(this.enPixelFormat){case dA.SR_PF_YV12:case dA.SR_PF_I420:this.ctx.uniform1i(o,0);break;case dA.SR_PF_NV12:break;case dA.SR_PF_RGBA32:case dA.SR_PF_SURFACE:this.ctx.uniform1i(o,1);break;default:return BA.SR_ERR_NOT_SUPPORT}var s=this.ctx.getUniformLocation(this.videoShaderProgram,"bDrawImage");this.ctx.uniform1i(s,0);var g=this.ctx.getUniformLocation(this.videoShaderProgram,"fAlpha");switch(this.ctx.uniform1f(g,0),r){case xA.SR_DE_NULL:break;case xA.SR_DE_FISH_ORIGINAL:case xA.SR_DE_FISH_PTZ_CEILING:case xA.SR_DE_FISH_PTZ_FLOOR:case xA.SR_DE_FISH_PTZ_WALL:case xA.SR_DE_FISH_PANORAMA_CEILING_360:case xA.SR_DE_FISH_PANORAMA_CEILING_180:case xA.SR_DE_FISH_PANORAMA_FLOOR_360:case xA.SR_DE_FISH_PANORAMA_FLOOR_180:case xA.SR_DE_FISH_PANORAMA_WALL:if(null==this.pFishParamManager)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_CALL_ORDER;var l={},C=BA.SR_OK;if(C=this.pFishParamManager.GetRenderParam(this.nFECPort,l),BA.SR_OK!=C)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),C;if(xA.SR_DE_FISH_ORIGINAL==r){var I=this.ctx.getUniformLocation(this.videoShaderProgram,"bBlack");if(I<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(I,l.bBlack);var c=this.ctx.getUniformLocation(this.videoShaderProgram,"bCut");if(c<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(c,l.bCut)}if(xA.SR_DE_FISH_PTZ_CEILING==r||xA.SR_DE_FISH_PTZ_FLOOR==r||xA.SR_DE_FISH_PTZ_WALL==r){var h=this.ctx.getUniformLocation(this.videoShaderProgram,"fHAngleCos");if(h<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(h,l.fCosH);var B=this.ctx.getUniformLocation(this.videoShaderProgram,"fHAngleSin");if(B<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(B,l.fSinH);var E=this.ctx.getUniformLocation(this.videoShaderProgram,"fVAngleCos");if(E<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(E,l.fCosV);var x=this.ctx.getUniformLocation(this.videoShaderProgram,"fVAngleSin");if(x<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(x,l.fSinV);var d=this.ctx.getUniformLocation(this.videoShaderProgram,"fZoom");if(d<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(d,l.fZoom)}if(xA.SR_DE_FISH_PANORAMA_CEILING_360==r||xA.SR_DE_FISH_PANORAMA_CEILING_180==r||xA.SR_DE_FISH_PANORAMA_FLOOR_360==r||xA.SR_DE_FISH_PANORAMA_FLOOR_180==r){var Q=this.ctx.getUniformLocation(this.videoShaderProgram,"fAngle");if(Q<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(Q,l.fAngle)}var f=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX1");if(f<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(f,l.fRXLeft);var u=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX2");if(u<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(u,l.fRXRight);var p=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY1");if(p<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(p,l.fRYTop);var m=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY2");if(m<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(m,l.fRYBottom);break;case xA.SR_DE_FISH_SEMISPHERE:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(3.14-this.fRotateX),this.pCamera.SetYaw(-this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var _=this.pCamera.GetView(),y=this.pCamera.GetProj(),S=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(S<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(S,!1,_);var D=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(D<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(D,!1,y);break;case xA.SR_DE_PANORAMA_SPHERE:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(3.14-this.fRotateX),this.pCamera.SetYaw(this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var R=this.pCamera.GetView(),F=this.pCamera.GetProj(),w=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(w<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(w,!1,R);var b=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(b<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(b,!1,F);break;case xA.SR_DE_FISH_CYLINDER_CEILING:case xA.SR_DE_FISH_CYLINDER_FLOOR:case xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:case xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(-this.fRotateX),this.pCamera.SetYaw(-this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var v=this.pCamera.GetView(),P=this.pCamera.GetProj(),k=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(k<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(k,!1,v);var N=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(N<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(N,!1,P);break;case xA.SR_DE_FISH_PLANET:case xA.SR_DE_PANORAMA_PLANET:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(this.fRotateX),this.pCamera.SetYaw(3.14+this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var T=this.pCamera.GetView(),M=this.pCamera.GetProj(),L=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(L<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(L,!1,T);var Y=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(Y<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(Y,!1,M);break;case xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING:case xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR:if(null==this.pFishParamManager)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_CALL_ORDER;var G={},U=BA.SR_OK;if(U=this.pFishParamManager.GetRenderParam(this.nFECPort,G),BA.SR_OK!=U)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),U;this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(-this.fRotateX),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var J=this.pCamera.GetView(),H=this.pCamera.GetProj(),O=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(O<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(O,!1,J);var K,V=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(V<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(V,!1,H),K=Math.abs(.785-this.fRotateX)<.0025?.785:this.fRotateX;var W=new Float32Array([0,1,0,2*-K]),Z=this.ctx.getUniformLocation(this.videoShaderProgram,"vecCylinderParam");if(Z<=0)return BA.SR_ERR_WEBGL_RESOURCE;if(this.ctx.uniform4f(Z,W[0],W[1],W[2],W[3]),xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING==this.enDisplayEffect){var X=this.ctx.getUniformLocation(this.videoShaderProgram,"fTextureOffset");if(X<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(X,this.fRotateY)}else{var q=this.ctx.getUniformLocation(this.videoShaderProgram,"fTextureOffset");if(q<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(q,-this.fRotateY)}var j=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX1");if(j<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(j,G.fRXLeft);var z=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX2");if(z<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(z,G.fRXRight);var $=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY1");if($<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f($,G.fRYTop);var AA=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY2");if(AA<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(AA,G.fRYBottom);break;default:return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_NOT_SUPPORT}if(this.nCaptureWidth<=0||this.nCaptureHeight<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_CANVAS;if(this.ctx.viewport(0,0,this.nCaptureWidth,this.nCaptureHeight),this.ctx.clearColor(0,0,0,1),this.ctx.clear(this.ctx.COLOR_BUFFER_BIT|this.ctx.DEPTH_BUFFER_BIT),this.b3DPort&&(this.ctx.enable(this.ctx.DEPTH_TEST),this.ctx.depthFunc(this.ctx.LESS),this.ctx.depthMask(!0),1==this.bCullBack?this.ctx.enable(this.ctx.CULL_FACE):this.ctx.disable(this.ctx.CULL_FACE)),this.enPixelFormat==dA.SR_PF_RGBA32||this.enPixelFormat==dA.SR_PF_SURFACE){this.ctx.activeTexture(this.ctx.TEXTURE0),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[0]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var eA=this.ctx.getUniformLocation(this.videoShaderProgram,"Ytexture");this.ctx.uniform1i(eA,0)}else{if(this.enPixelFormat!=dA.SR_PF_YV12&&this.enPixelFormat!=dA.SR_PF_I420)return BA.SR_ERR_NOT_SUPPORT;this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[0]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var tA=this.ctx.getUniformLocation(this.videoShaderProgram,"Ytexture");this.ctx.uniform1i(tA,0),this.ctx.activeTexture(this.ctx.TEXTURE1),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[1]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var iA=this.ctx.getUniformLocation(this.videoShaderProgram,"Utexture");this.ctx.uniform1i(iA,1),this.ctx.activeTexture(this.ctx.TEXTURE2),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[2]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var aA=this.ctx.getUniformLocation(this.videoShaderProgram,"Vtexture");this.ctx.uniform1i(aA,2)}if(this.onlySupportedWebGL1||this.ctx.clearBufferfi(this.ctx.DEPTH_STENCIL,0,1,0),0==this.b3DPort)this.ctx.drawArrays(this.ctx.TRIANGLES,0,6);else if(this.enDisplayEffect==xA.SR_DE_FISH_SEMISPHERE||this.enDisplayEffect==xA.SR_DE_FISH_PLANET){if(this.nSemiSpherePosNum<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_CALL_ORDER;this.ctx.drawArrays(this.ctx.TRIANGLES,0,this.nSemiSpherePosNum)}else if(this.enDisplayEffect==xA.SR_DE_PANORAMA_SPHERE||this.enDisplayEffect==xA.SR_DE_PANORAMA_PLANET){if(this.nSpherePosNum<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_CALL_ORDER;this.ctx.bindBuffer(this.ctx.ELEMENT_ARRAY_BUFFER,this.indicesPosBuffer),this.ctx.drawElements(this.ctx.TRIANGLES,6*this.nSpherePosNum,this.ctx.UNSIGNED_SHORT,0),this.ctx.bindBuffer(this.ctx.ELEMENT_ARRAY_BUFFER,null)}else if(this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_CEILING||this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_FLOOR||this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING||this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR){if(this.nCylinderPosNum<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_CALL_ORDER;this.ctx.drawArrays(this.ctx.TRIANGLES,0,this.nCylinderPosNum)}else if(this.enDisplayEffect==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL||this.enDisplayEffect==xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL){if(this.nArcSpherePosNum<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_CALL_ORDER;this.ctx.drawArrays(this.ctx.TRIANGLES,0,this.nArcSpherePosNum)}if(this.ctx.useProgram(null),e||this.DoCallBack(),1==this.bCaptureOriginal){var rA=this.nImageRotateAngle;if(this.bSrcRect=!1,t=this.SetRenderState(mA.SR_RST_IMAGE_ROTATE,0),BA.SR_OK!=t)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),t;if(t=this.SetDisplayRect(this.stOriginalDisplayRect.fLeft,this.stOriginalDisplayRect.fTop,this.stOriginalDisplayRect.fWidth,this.stOriginalDisplayRect.fHeight,EA.SR_SRT_SRC),BA.SR_OK!=t)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),t;switch(this.bSrcRect=!0,rA){case yA.SR_IRA_0:t=this.SetRenderState(mA.SR_RST_IMAGE_ROTATE,0);break;case yA.SR_IRA_90:t=this.SetRenderState(mA.SR_RST_IMAGE_ROTATE,90);break;case yA.SR_IRA_180:t=this.SetRenderState(mA.SR_RST_IMAGE_ROTATE,180);break;case yA.SR_IRA_270:t=this.SetRenderState(mA.SR_RST_IMAGE_ROTATE,270);break;default:return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),BA.SR_ERR_NOT_SUPPORT}if(BA.SR_OK!=t)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),t}return t=this._EndCapture(A),BA.SR_OK!=t?t:BA.SR_OK}},{key:"SetWebGL2Support",value:function(A){return this.onlySupportedWebGL1=A,BA.SR_OK}},{key:"SetFishParamManager",value:function(A){return this.pFishParamManager=A,BA.SR_OK}},{key:"SetFECPort",value:function(A){return this.nFECPort=A,BA.SR_OK}},{key:"Render",value:function(A){if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;switch(this.ctx.useProgram(this.videoShaderProgram),this.enPixelFormat){case dA.SR_PF_YV12:case dA.SR_PF_I420:this.ctx.activeTexture(this.ctx.TEXTURE0),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[0]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var e=this.ctx.getUniformLocation(this.videoShaderProgram,"Ytexture");this.ctx.uniform1i(e,0),this.ctx.activeTexture(this.ctx.TEXTURE1),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[1]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var t=this.ctx.getUniformLocation(this.videoShaderProgram,"Utexture");this.ctx.uniform1i(t,1),this.ctx.activeTexture(this.ctx.TEXTURE2),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[2]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var i=this.ctx.getUniformLocation(this.videoShaderProgram,"Vtexture");this.ctx.uniform1i(i,2);break;case dA.SR_PF_SURFACE:this.ctx.activeTexture(this.ctx.TEXTURE0),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[0]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var a=this.ctx.getUniformLocation(this.videoShaderProgram,"Ytexture");this.ctx.uniform1i(a,0);break;default:return BA.SR_ERR_NOT_SUPPORT}var r=this.ctx.getUniformLocation(this.videoShaderProgram,"bCapture");if(r<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(r,0);var n=this.ctx.getUniformLocation(this.videoShaderProgram,"bDataFormat");if(n<=0)return BA.SR_ERR_WEBGL_RESOURCE;switch(this.enPixelFormat){case dA.SR_PF_YV12:case dA.SR_PF_I420:this.ctx.uniform1i(n,0);break;case dA.SR_PF_NV12:break;case dA.SR_PF_RGBA32:case dA.SR_PF_SURFACE:this.ctx.uniform1i(n,1)}switch(this.enDisplayEffect){case xA.SR_DE_NULL:if(this.nPostProc){var o=this.ctx.getUniformLocation(this.videoShaderProgram,"fBrightness");if(o<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(o,this.fBrightness);var s=this.ctx.getUniformLocation(this.videoShaderProgram,"fHue");if(s<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(s,this.fHue);var g=this.ctx.getUniformLocation(this.videoShaderProgram,"fSaturation");if(g<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(g,this.fSaturation);var l=this.ctx.getUniformLocation(this.videoShaderProgram,"fContrast");if(l<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(l,this.fContrast);var C=this.ctx.getUniformLocation(this.videoShaderProgram,"fSharpness");if(C<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(C,this.fSharpness);var I=this.ctx.getUniformLocation(this.videoShaderProgram,"fWndWidth");if(I<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(I,this.nWndWidth);var c=this.ctx.getUniformLocation(this.videoShaderProgram,"fWndHeight");if(c<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(c,this.nWndHeight)}var h=this.ctx.getUniformLocation(this.videoShaderProgram,"nPostProc");this.ctx.uniform1i(h,this.nPostProc);break;case xA.SR_DE_FISH_ORIGINAL:case xA.SR_DE_FISH_PTZ_CEILING:case xA.SR_DE_FISH_PTZ_FLOOR:case xA.SR_DE_FISH_PTZ_WALL:case xA.SR_DE_FISH_PANORAMA_CEILING_360:case xA.SR_DE_FISH_PANORAMA_CEILING_180:case xA.SR_DE_FISH_PANORAMA_FLOOR_360:case xA.SR_DE_FISH_PANORAMA_FLOOR_180:case xA.SR_DE_FISH_PANORAMA_WALL:if(xA.SR_DE_FISH_ORIGINAL==this.enDisplayEffect){var B=this.ctx.getUniformLocation(this.videoShaderProgram,"bBlack");if(B<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(B,this.pstFishParam.bBlack);var E=this.ctx.getUniformLocation(this.videoShaderProgram,"bCut");if(E<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(E,this.pstFishParam.bCut)}if(xA.SR_DE_FISH_PTZ_CEILING==this.enDisplayEffect||xA.SR_DE_FISH_PTZ_FLOOR==this.enDisplayEffect||xA.SR_DE_FISH_PTZ_WALL==this.enDisplayEffect){var x=this.ctx.getUniformLocation(this.videoShaderProgram,"fHAngleCos");if(x<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(x,this.pstFishParam.fCosH);var d=this.ctx.getUniformLocation(this.videoShaderProgram,"fHAngleSin");if(d<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(d,this.pstFishParam.fSinH);var Q=this.ctx.getUniformLocation(this.videoShaderProgram,"fVAngleCos");if(Q<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(Q,this.pstFishParam.fCosV);var f=this.ctx.getUniformLocation(this.videoShaderProgram,"fVAngleSin");if(f<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(f,this.pstFishParam.fSinV);var u=this.ctx.getUniformLocation(this.videoShaderProgram,"fZoom");if(u<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(u,this.pstFishParam.fZoom)}if(xA.SR_DE_FISH_PANORAMA_CEILING_360==this.enDisplayEffect||xA.SR_DE_FISH_PANORAMA_CEILING_180==this.enDisplayEffect||xA.SR_DE_FISH_PANORAMA_FLOOR_360==this.enDisplayEffect||xA.SR_DE_FISH_PANORAMA_FLOOR_180==this.enDisplayEffect){var p=this.ctx.getUniformLocation(this.videoShaderProgram,"fAngle");if(p<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(p,this.pstFishParam.fAngle)}var m=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX1");if(m<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(m,this.pstFishParam.fRXLeft);var _=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX2");if(_<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_,this.pstFishParam.fRXRight);var y=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY1");if(y<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(y,this.pstFishParam.fRYTop);var S=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY2");if(S<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(S,this.pstFishParam.fRYBottom);break;case xA.SR_DE_FISH_SEMISPHERE:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(3.14-this.fRotateX),this.pCamera.SetYaw(-this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var D=this.pCamera.GetView(),R=this.pCamera.GetProj(),F=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(F<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(F,!1,D);var w=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(w<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(w,!1,R);break;case xA.SR_DE_PANORAMA_SPHERE:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(3.14-this.fRotateX),this.pCamera.SetYaw(this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var b=this.pCamera.GetView(),v=this.pCamera.GetProj(),P=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(P<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(P,!1,b);var k=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(k<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(k,!1,v);break;case xA.SR_DE_FISH_CYLINDER_CEILING:case xA.SR_DE_FISH_CYLINDER_FLOOR:case xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:case xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(-this.fRotateX),this.pCamera.SetYaw(-this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var N=this.pCamera.GetView(),T=this.pCamera.GetProj(),M=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(M<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(M,!1,N);var L=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(L<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(L,!1,T);break;case xA.SR_DE_FISH_PLANET:case xA.SR_DE_PANORAMA_PLANET:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(this.fRotateX),this.pCamera.SetYaw(3.14+this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var Y=this.pCamera.GetView(),G=this.pCamera.GetProj(),U=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(U<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(U,!1,Y);var J=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(J<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(J,!1,G);var H=this.ctx.getUniformLocation(this.videoShaderProgram,"bDrawImage");if(H<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(H,0);var O=this.ctx.getUniformLocation(this.videoShaderProgram,"fAlpha");if(O<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(O,0);break;case xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING:case xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR:if(null==this.pFishParamManager)return BA.SR_ERR_CALL_ORDER;this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(-this.fRotateX),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var K=this.pCamera.GetView(),V=this.pCamera.GetProj(),W=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(W<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(W,!1,K);var Z,X=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(X<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(X,!1,V),Z=Math.abs(.785-this.fRotateX)<.0025?.785:this.fRotateX;var q=new Float32Array([0,1,0,2*-Z]),j=this.ctx.getUniformLocation(this.videoShaderProgram,"vecCylinderParam");if(j<=0)return BA.SR_ERR_WEBGL_RESOURCE;if(this.ctx.uniform4f(j,q[0],q[1],q[2],q[3]),xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING==this.enDisplayEffect){var z=this.ctx.getUniformLocation(this.videoShaderProgram,"fTextureOffset");if(z<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(z,this.fRotateY)}else{var $=this.ctx.getUniformLocation(this.videoShaderProgram,"fTextureOffset");if($<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f($,-this.fRotateY)}var AA={},eA=BA.SR_OK;if(eA=this.pFishParamManager.GetRenderParam(this.nFECPort,AA),BA.SR_OK!=eA)return eA;var tA=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX1");if(tA<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(tA,AA.fRXLeft);var iA=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX2");if(iA<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(iA,AA.fRXRight);var aA=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY1");if(aA<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(aA,AA.fRYTop);var rA=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY2");if(rA<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(rA,AA.fRYBottom);var nA=this.ctx.getUniformLocation(this.videoShaderProgram,"bDrawImage");if(nA<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(nA,0);var oA=this.ctx.getUniformLocation(this.videoShaderProgram,"fAlpha");if(oA<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(oA,0);break;default:return BA.SR_ERR_NOT_SUPPORT}this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.vertexPosBuffer);var sA=this.ctx.getAttribLocation(this.videoShaderProgram,"position");if(sA<0)return BA.SR_ERR_WEBGL_RESOURCE;this.b3DPort?this.ctx.vertexAttribPointer(sA,3,this.ctx.FLOAT,!1,0,0):this.ctx.vertexAttribPointer(sA,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(sA),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.texturePosBuffer);var gA=this.ctx.getAttribLocation(this.videoShaderProgram,"texCoord");if(gA<0)return BA.SR_ERR_WEBGL_RESOURCE;if(this.ctx.vertexAttribPointer(gA,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(gA),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.viewport(0,0,this.nWndWidth,this.nWndHeight),this.onlySupportedWebGL1||this.ctx.clearBufferfi(this.ctx.DEPTH_STENCIL,0,1,0),this.ctx.clearColor(0,0,0,1),this.ctx.clear(this.ctx.COLOR_BUFFER_BIT|this.ctx.DEPTH_BUFFER_BIT),this.b3DPort&&(this.ctx.enable(this.ctx.DEPTH_TEST),this.ctx.depthFunc(this.ctx.LESS),this.ctx.depthMask(!0),1==this.bCullBack?this.ctx.enable(this.ctx.CULL_FACE):this.ctx.disable(this.ctx.CULL_FACE)),0==this.b3DPort)this.ctx.drawArrays(this.ctx.TRIANGLES,0,6);else if(this.enDisplayEffect==xA.SR_DE_FISH_SEMISPHERE||this.enDisplayEffect==xA.SR_DE_FISH_PLANET){if(this.nSemiSpherePosNum<=0)return BA.SR_ERR_CALL_ORDER;this.ctx.drawArrays(this.ctx.TRIANGLES,0,this.nSemiSpherePosNum)}else if(this.enDisplayEffect==xA.SR_DE_PANORAMA_SPHERE||this.enDisplayEffect==xA.SR_DE_PANORAMA_PLANET){if(this.nSpherePosNum<=0)return BA.SR_ERR_CALL_ORDER;this.ctx.bindBuffer(this.ctx.ELEMENT_ARRAY_BUFFER,this.indicesPosBuffer),this.ctx.drawElements(this.ctx.TRIANGLES,6*this.nSpherePosNum,this.ctx.UNSIGNED_SHORT,0),this.ctx.bindBuffer(this.ctx.ELEMENT_ARRAY_BUFFER,null)}else if(this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_CEILING||this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_FLOOR||this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING||this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR){if(this.nCylinderPosNum<=0)return BA.SR_ERR_CALL_ORDER;this.ctx.drawArrays(this.ctx.TRIANGLES,0,this.nCylinderPosNum)}else if(this.enDisplayEffect==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL||this.enDisplayEffect==xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL){if(this.nArcSpherePosNum<=0)return BA.SR_ERR_CALL_ORDER;this.ctx.drawArrays(this.ctx.TRIANGLES,0,this.nArcSpherePosNum)}return this.ctx.useProgram(null),BA.SR_OK}},{key:"SetAntialias",value:function(A){return null==this.ctx?BA.SR_ERR_CALL_ORDER:(this.bAntialias=A,BA.SR_OK)}},{key:"DelSubPort",value:function(){return null==this.ctx?BA.SR_ERR_CALL_ORDER:(0!=this.videoShaderProgram&&null!=this.ctx&&(this.ctx.deleteProgram(this.videoShaderProgram),this.videoShaderProgram=0),0!=this.vertexPosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.vertexPosBuffer),this.vertexPosBuffer=0),0!=this.texturePosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.texturePosBuffer),this.texturePosBuffer=0),0!=this.indicesPosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.indicesPosBuffer),this.indicesPosBuffer=0),this.nMaxPointNum=0,this.pLinePosVertices=null,this.pLineClrVertices=null,0!=this.glLinePosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.glLinePosBuffer),this.glLinePosBuffer=0),this.nLineTriangleNum=0,0!=this.nLineShaderProgram&&null!=this.ctx&&(this.ctx.deleteProgram(this.nLineShaderProgram),this.nLineShaderProgram=0),this.pFillBlockPosVertices=null,this.pFillBlockClrVertices=null,this.nMaxFillBlockTriNum=0,0!=this.glBlockPosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.glBlockPosBuffer),this.glBlockPosBuffer=0),0!=this.glBlockClrBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.glBlockClrBuffer),this.glBlockClrBuffer=0),0!=this.nBlockShaderProgram&&null!=this.ctx&&(this.ctx.deleteProgram(this.nBlockShaderProgram),this.nBlockShaderProgram=0),this.nDrawFontWidth=0,this.nDrawFontHeight=0,0!=this.nFontColorTexture&&null!=this.ctx&&(this.ctx.deleteTexture(this.nFontColorTexture),this.nFontColorTexture=0),this.pFontColorBuffer=0,0!=this.nFontShaderProgram&&null!=this.ctx&&(this.ctx.deleteProgram(this.nFontShaderProgram),this.nFontShaderProgram=0),this.pFontPosVertices=null,0!=this.glFontTexturePosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.glFontTexturePosBuffer),this.glFontTexturePosBuffer=0),0!=this.glFontVertexPosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.glFontVertexPosBuffer),this.glFontVertexPosBuffer=0),0!=this.nCaptureRTTex&&(this.ctx.deleteTexture(this.nCaptureRTTex),this.nCaptureRTTex=0),0!=this.nCaptureFBO&&(this.ctx.deleteFramebuffer(this.nCaptureFBO),this.nCaptureFBO=0),0!=this.nCaptureDepthbuffer&&(this.ctx.deleteRenderbuffer(this.nCaptureDepthbuffer),this.nCaptureDepthbuffer=0),this.bCaptureResInit=!1,this.pSemiSpherePos=null,this.pSemiSphereTex=null,this.nSemiSpherePosNum=0,this.nSemiSpherePosSize=0,this.nSemiSphereTexSize=0,this.pSpherePos=null,this.pSphereTex=null,this.pSphereInd=null,this.nSpherePosNum=0,this.nSpherePosSize=0,this.nSphereTexSize=0,this.pCylinderPos=null,this.pCylinderTex=null,this.nCylinderPosNum=0,this.nCylinderPosSize=0,this.nCylinderTexSize=0,this.fCylinderHeight=0,this.fCylinderRadius=0,this.pArcSpherePos=null,this.pArcSphereTex=null,this.nArcSpherePosNum=0,this.nArcSpherePosSize=0,this.nArcSphereTexSize=0,this.b3DPort=!1,this.pCamera=null,this.fRotateX=0,this.fRotateY=0,this.fScale=0,this.pfuncCBIn=null,this.pfuncCBOut=null,this.pUserIn=null,this.pUserOut=null,this.ctx.disable(this.ctx.CULL_FACE),this.ctx.disable(this.ctx.DEPTH_TEST),BA.SR_OK)}},{key:"SetFishParam",value:function(A){return null==A?BA.SR_ERR_PARAM:(this.pstFishParam=A,BA.SR_OK)}},{key:"DrawLines",value:function(A,e,t,i,a,r){if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;var n=[],o={};return o.pstPoints=A,o.nPointNum=e,o.bLoop=t,o.pstColor=i,o.nLineWidth=a,n.push(o),this.DrawLinesEx(n,1,e,r)}},{key:"DrawLinesEx",value:function(A,e,t,i){if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;if(null==A||e<1||t<2)return BA.SR_ERR_PARAM;if(0==this.nLineShaderProgram){var a=this.CompileProgram("\n attribute vec3 position;\n attribute vec4 color;\n varying float pp;\n varying vec4 colorOut;\n uniform int bCapture; \n uniform mat4 matRotate;\n\n void main()\n {\n if(bCapture == 1)\n {\n gl_Position = vec4(position.x, position.y, 0.0, 1.0) * matRotate;\n gl_Position.y = -gl_Position.y;\n }\n else\n {\n gl_Position = vec4(position.x, position.y, 0.0, 1.0) * matRotate;\n }\n pp = position.z;\n colorOut = color;\n }\n",kA);if(a<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.nLineShaderProgram=a}if(1==i)return this.DrawFillBlock(A,e,t);for(var r=0,n=0;n=1024||A[n].nLineWidth<=0||null==A[n].pstColor)return BA.SR_ERR_PARAM;r+=A[n].nPointNum}if(r!=t)return BA.SR_ERR_PARAM;if((r+=e)>this.nMaxPointNum&&(this.nMaxPointNum=r,this.pLinePosVertices=null,this.pLineClrVertices=null),null==this.pLinePosVertices&&(this.pLinePosVertices=new Float32Array(6*this.nMaxPointNum*3),null==this.pLinePosVertices))return BA.SR_ERR_ALLOC_MEMORY;if(this.pLinePosVertices.fill(0),null==this.pLineClrVertices&&(this.pLineClrVertices=new Float32Array(6*this.nMaxPointNum*4),null==this.pLineClrVertices))return BA.SR_ERR_ALLOC_MEMORY;if(this.pLineClrVertices.fill(0),0==this.glLinePosBuffer&&(this.glLinePosBuffer=this.ctx.createBuffer(),0==this.glLinePosBuffer))return BA.SR_ERR_WEBGL_RESOURCE;if(0==this.glLineClrBuffer&&(this.glLineClrBuffer=this.ctx.createBuffer(),0==this.glLineClrBuffer))return BA.SR_ERR_WEBGL_RESOURCE;var o=this.ComputeLinePoint(A,e);if(BA.SR_OK!=o)return o;this.ctx.enable(this.ctx.BLEND),this.ctx.blendFuncSeparate(this.ctx.SRC_ALPHA,this.ctx.ONE_MINUS_SRC_ALPHA,this.ctx.ONE,this.ctx.ONE_MINUS_SRC_ALPHA);var s=this.nLineShaderProgram;this.ctx.useProgram(s);var g=this.ctx.getUniformLocation(this.nLineShaderProgram,"bCapture");if(g<=0)return BA.SR_ERR_WEBGL_RESOURCE;1==this.bIsCapturing?this.ctx.uniform1i(g,1):this.ctx.uniform1i(g,0);var l=this.glLinePosBuffer,C=this.glLineClrBuffer,I=this.nLineTriangleNum,c=this.pLinePosVertices,h=this.pLineClrVertices;this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,l),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,c,this.ctx.STATIC_DRAW);var B=this.ctx.getAttribLocation(s,"position");this.ctx.enableVertexAttribArray(B),this.ctx.vertexAttribPointer(B,3,this.ctx.FLOAT,!1,0,0),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,C),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,h,this.ctx.STATIC_DRAW);var E=this.ctx.getAttribLocation(s,"color");this.ctx.enableVertexAttribArray(E),this.ctx.vertexAttribPointer(E,4,this.ctx.FLOAT,!1,0,0),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null);var x=this.ctx.getUniformLocation(s,"matRotate");return x<=0?BA.SR_ERR_WEBGL_RESOURCE:(this.ctx.uniformMatrix4fv(x,!1,this.matRotate),1==this.bIsCapturing?this.ctx.viewport(0,0,this.nCaptureWidth,this.nCaptureHeight):this.ctx.viewport(0,0,this.nWndWidth,this.nWndHeight),this.ctx.disable(this.ctx.DEPTH_TEST),this.ctx.drawArrays(this.ctx.TRIANGLES,0,3*I),this.ctx.useProgram(null),this.ctx.disable(this.ctx.BLEND),this.b3DPort&&(this.ctx.enable(this.ctx.DEPTH_TEST),this.ctx.depthFunc(this.ctx.LESS),this.ctx.depthMask(!0),1==this.bCullBack?this.ctx.enable(this.ctx.CULL_FACE):this.ctx.disable(this.ctx.CULL_FACE)),BA.SR_OK)}},{key:"DrawFillBlock",value:function(A,e,t){if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;if(null==A||e<1||t<2)return BA.SR_ERR_PARAM;for(var i=0,a=0;athis.nMaxFillBlockTriNum&&(this.pFillBlockPosVertices=null,this.pFillBlockClrVertices=null,this.nMaxFillBlockTriNum=r),0==this.glBlockPosBuffer&&(this.glBlockPosBuffer=this.ctx.createBuffer(),0==this.glBlockPosBuffer))return BA.SR_ERR_WEBGL_RESOURCE;if(0==this.glBlockClrBuffer&&(this.glBlockClrBuffer=this.ctx.createBuffer(),0==this.glBlockClrBuffer))return BA.SR_ERR_WEBGL_RESOURCE;if(null==this.pFillBlockPosVertices){var n=this.nMaxFillBlockTriNum;if(this.pFillBlockPosVertices=new Float32Array(3*n*3),null==this.pFillBlockPosVertices)return BA.SR_ERR_ALLOC_MEMORY}if(this.pFillBlockPosVertices.fill(0),null==this.pFillBlockClrVertices){var o=this.nMaxFillBlockTriNum;if(this.pFillBlockClrVertices=new Float32Array(4*o*3),null==this.pFillBlockClrVertices)return BA.SR_ERR_ALLOC_MEMORY}this.pFillBlockClrVertices.fill(0);for(var s=0,g=0,l=0,C=null,I=null,c={},h={},B={},E=0;E1e-6&&(o=-g*n/a/2,s=l*r/a/2,this.pLinePosVertices[I++]=E[0].fX+o,this.pLinePosVertices[I++]=E[0].fY+s,this.pLinePosVertices[I++]=-1,this.pLineClrVertices[c++]=Q.fR,this.pLineClrVertices[c++]=Q.fG,this.pLineClrVertices[c++]=Q.fB,this.pLineClrVertices[c++]=Q.fA,this.pLinePosVertices[I++]=E[h-1].fX-o,this.pLinePosVertices[I++]=E[h-1].fY-s,this.pLinePosVertices[I++]=1,this.pLineClrVertices[c++]=Q.fR,this.pLineClrVertices[c++]=Q.fG,this.pLineClrVertices[c++]=Q.fB,this.pLineClrVertices[c++]=Q.fA,this.pLinePosVertices[I++]=E[0].fX-o,this.pLinePosVertices[I++]=E[0].fY-s,this.pLinePosVertices[I++]=1,this.pLineClrVertices[c++]=Q.fR,this.pLineClrVertices[c++]=Q.fG,this.pLineClrVertices[c++]=Q.fB,this.pLineClrVertices[c++]=Q.fA,this.pLinePosVertices[I++]=E[0].fX+o,this.pLinePosVertices[I++]=E[0].fY+s,this.pLinePosVertices[I++]=-1,this.pLineClrVertices[c++]=Q.fR,this.pLineClrVertices[c++]=Q.fG,this.pLineClrVertices[c++]=Q.fB,this.pLineClrVertices[c++]=Q.fA,this.pLinePosVertices[I++]=E[h-1].fX+o,this.pLinePosVertices[I++]=E[h-1].fY+s,this.pLinePosVertices[I++]=-1,this.pLineClrVertices[c++]=Q.fR,this.pLineClrVertices[c++]=Q.fG,this.pLineClrVertices[c++]=Q.fB,this.pLineClrVertices[c++]=Q.fA,this.pLinePosVertices[I++]=E[h-1].fX-o,this.pLinePosVertices[I++]=E[h-1].fY-s,this.pLinePosVertices[I++]=1,this.pLineClrVertices[c++]=Q.fR,this.pLineClrVertices[c++]=Q.fG,this.pLineClrVertices[c++]=Q.fB,this.pLineClrVertices[c++]=Q.fA,C+=2))}}return 0==C?BA.SR_ERR_PARAM:(this.nLineTriangleNum=C,BA.SR_OK)}},{key:"DrawFont",value:function(A,e,t,i,a,r,n,o,s,g,l){return BA.SR_ERR_NOT_SUPPORT}},{key:"DrawFontEx",value:function(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;if(0>e||null==A)return BA.SR_ERR_PARAM;var a,r,n=0,o=0;if(1==this.bIsCapturing){if(0==this.nCaptureWidth||0==this.nCaptureHeight)return BA.SR_ERR_CALL_ORDER;n=Math.round((this.fDstUseRight-this.fDstUseLeft)*this.nCaptureWidth),o=Math.round((this.fDstUseBottom-this.fDstUseTop)*this.nCaptureHeight)}else n=Math.round((this.fDstUseRight-this.fDstUseLeft)*this.nWndWidth),o=Math.round((this.fDstUseBottom-this.fDstUseTop)*this.nWndHeight);if(this.nDrawFontWidth==n&&this.nDrawFontHeight==o||(this.pFontColorBuffer=null,this.nFontColorTexture=0,this.nDrawFontWidth=n,this.nDrawFontHeight=o),0==this.nFontColorTexture){if(this.nFontColorTexture=this.ctx.createTexture(),0==this.nFontColorTexture)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nFontColorTexture),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MAG_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_S,this.ctx.CLAMP_TO_EDGE),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_T,this.ctx.CLAMP_TO_EDGE)}if(null==this.textCanvas){if(this.textCanvas=i,null==this.textCanvas)return BA.SR_ERR_FONT;if(this.textCanvasCtx=this.textCanvas.getContext("2d"),null==this.textCanvasCtx)return BA.SR_ERR_FONT}this.textCanvasCtx.canvas.width=this.nDrawFontWidth,this.textCanvasCtx.canvas.height=this.nDrawFontHeight,this.textCanvasCtx.clearRect(0,0,this.nDrawFontWidth,this.nDrawFontHeight);for(var s=0;s1)return BA.SR_ERR_PARAM;if(this.nDrawImageWidth=e,this.nDrawImageHeight=t,0==this.glImagePosBuffer&&(this.glImagePosBuffer=this.ctx.createBuffer(),0==this.glImagePosBuffer))return BA.SR_ERR_WEBGL_RESOURCE;if(0==this.glImageClrBuffer&&(this.glImageClrBuffer=this.ctx.createBuffer(),0==this.glImageClrBuffer))return BA.SR_ERR_WEBGL_RESOURCE;if(null==this.pImageClrVertices){if(this.pImageClrVertices=new Float32Array(12),null==this.pImageClrVertices)return BA.SR_ERR_ALLOC_MEMORY;this.pImageClrVertices[0]=0,this.pImageClrVertices[1]=0,this.pImageClrVertices[2]=0,this.pImageClrVertices[3]=1,this.pImageClrVertices[4]=1,this.pImageClrVertices[5]=0,this.pImageClrVertices[6]=1,this.pImageClrVertices[7]=0,this.pImageClrVertices[8]=0,this.pImageClrVertices[9]=1,this.pImageClrVertices[10]=1,this.pImageClrVertices[11]=1}var n={},o={};if(n.fLeft=(i.fLeft-this.fSrcUseLeft)/(this.fSrcUseRight-this.fSrcUseLeft),n.fRight=(i.fRight-this.fSrcUseLeft)/(this.fSrcUseRight-this.fSrcUseLeft),n.fTop=(i.fTop-this.fSrcUseTop)/(this.fSrcUseBottom-this.fSrcUseTop),n.fBottom=(i.fBottom-this.fSrcUseTop)/(this.fSrcUseBottom-this.fSrcUseTop),o.fLeft=this.fDstUseLeft+n.fLeft*(this.fDstUseRight-this.fDstUseLeft),o.fRight=this.fDstUseLeft+n.fRight*(this.fDstUseRight-this.fDstUseLeft),o.fTop=this.fDstUseTop+n.fTop*(this.fDstUseBottom-this.fDstUseTop),o.fBottom=this.fDstUseTop+n.fBottom*(this.fDstUseBottom-this.fDstUseTop),null==this.pImagePosVertices&&(this.pImagePosVertices=new Float32Array(12),null==this.pImagePosVertices))return BA.SR_ERR_ALLOC_MEMORY;switch(this.pImagePosVertices.fill(0),this.pImagePosVertices[0]=2*o.fLeft-1,this.pImagePosVertices[1]=1-2*o.fTop,this.pImagePosVertices[2]=2*o.fLeft-1,this.pImagePosVertices[3]=1-2*o.fBottom,this.pImagePosVertices[4]=2*o.fRight-1,this.pImagePosVertices[5]=1-2*o.fTop,this.pImagePosVertices[6]=2*o.fRight-1,this.pImagePosVertices[7]=1-2*o.fTop,this.pImagePosVertices[8]=2*o.fLeft-1,this.pImagePosVertices[9]=1-2*o.fBottom,this.pImagePosVertices[10]=2*o.fRight-1,this.pImagePosVertices[11]=1-2*o.fBottom,1==this.bIsCapturing?this.ctx.viewport(0,0,this.nCaptureWidth,this.nCaptureHeight):this.ctx.viewport(0,0,this.nWndWidth,this.nWndHeight),this.ctx.enable(this.ctx.BLEND),this.ctx.blendFuncSeparate(this.ctx.SRC_ALPHA,this.ctx.ONE_MINUS_SRC_ALPHA,this.ctx.ONE,this.ctx.ONE_MINUS_SRC_ALPHA),a){case dA.SR_PF_SURFACE:if(null==this.nImageColorTexture){if(this.nImageColorTexture=this.ctx.createTexture(),0==this.nImageColorTexture)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MAG_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_S,this.ctx.CLAMP_TO_EDGE),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_T,this.ctx.CLAMP_TO_EDGE)}this.ctx.useProgram(this.videoShaderProgram),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.vertexPosBuffer);var s=this.ctx.getAttribLocation(this.videoShaderProgram,"position");if(s<0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.vertexAttribPointer(s,3,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(s),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.texturePosBuffer);var g=this.ctx.getAttribLocation(this.videoShaderProgram,"texCoord");if(g<0)return BA.SR_ERR_WEBGL_RESOURCE;if(this.ctx.vertexAttribPointer(g,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(g),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.useProgram(null),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture),this.ctx.texImage2D(this.ctx.TEXTURE_2D,0,this.ctx.RGBA,this.nDrawImageWidth,this.nDrawImageHeight,0,this.ctx.RGBA,this.ctx.UNSIGNED_BYTE,A),0==this.nImageShaderProgram){var l=this.CompileProgram(NA,TA);if(l<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.nImageShaderProgram=l}break;case dA.SR_PF_RGBA32:if(null==this.nImageColorTexture){if(this.nImageColorTexture=this.ctx.createTexture(),0==this.nImageColorTexture)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MAG_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_S,this.ctx.CLAMP_TO_EDGE),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_T,this.ctx.CLAMP_TO_EDGE)}if(this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture),this.ctx.texImage2D(this.ctx.TEXTURE_2D,0,this.ctx.RGBA,this.nDrawImageWidth,this.nDrawImageHeight,0,this.ctx.RGBA,this.ctx.UNSIGNED_BYTE,A),0==this.nImageShaderProgram){var C=this.CompileProgram(NA,TA);if(C<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.nImageShaderProgram=C}break;case dA.SR_PF_RGB565:if(null==this.nImageColorTexture){if(this.nImageColorTexture=this.ctx.createTexture(),0==this.nImageColorTexture)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MAG_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_S,this.ctx.CLAMP_TO_EDGE),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_T,this.ctx.CLAMP_TO_EDGE)}if(this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture),this.ctx.texImage2D(this.ctx.TEXTURE_2D,0,this.ctx.RGB,this.nDrawImageWidth,this.nDrawImageHeight,0,this.ctx.RGB,this.ctx.UNSIGNED_SHORT_5_6_5,A),0==this.nImageShaderProgram){var I=this.CompileProgram(NA,"\n precision mediump float; \n uniform sampler2D texture; \n varying lowp vec4 pp;\n uniform float fAlpha;\n void main(void) \n { \n gl_FragColor = texture2D(texture, pp.st); \n gl_FragColor.a *= fAlpha; \n } \n");if(I<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.nImageShaderProgram=I}break;default:return BA.SR_ERR_NOT_SUPPORT}var c=this.nImageShaderProgram;this.ctx.useProgram(c);var h=this.ctx.getUniformLocation(this.nImageShaderProgram,"bCapture");if(h<=0)return BA.SR_ERR_WEBGL_RESOURCE;1==this.bIsCapturing?this.ctx.uniform1i(h,1):this.ctx.uniform1i(h,0),this.ctx.activeTexture(this.ctx.TEXTURE0),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture);var B=this.ctx.getUniformLocation(this.nImageShaderProgram,"texture");this.ctx.uniform1i(B,0),B=this.ctx.getUniformLocation(this.nImageShaderProgram,"fAlpha"),this.ctx.uniform1f(B,r);var E=this.ctx.getUniformLocation(this.nImageShaderProgram,"matRotate");if(E<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(E,!1,this.matRotate),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.glImagePosBuffer),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,this.pImagePosVertices,this.ctx.STATIC_DRAW);var x=this.ctx.getAttribLocation(this.nImageShaderProgram,"position");this.ctx.enableVertexAttribArray(x),this.ctx.vertexAttribPointer(x,2,this.ctx.FLOAT,!1,0,0),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.glImageClrBuffer),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,this.pImageClrVertices,this.ctx.STATIC_DRAW);var d=this.ctx.getAttribLocation(this.nImageShaderProgram,"texCoord");return this.ctx.enableVertexAttribArray(d),this.ctx.vertexAttribPointer(d,2,this.ctx.FLOAT,!1,0,0),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.disable(this.ctx.DEPTH_TEST),this.ctx.drawArrays(this.ctx.TRIANGLES,0,6),this.ctx.useProgram(null),this.ctx.disable(this.ctx.BLEND),this.b3DPort&&(this.ctx.enable(this.ctx.DEPTH_TEST),this.ctx.depthFunc(this.ctx.LESS),this.ctx.depthMask(!0),1==this.bCullBack?this.ctx.enable(this.ctx.CULL_FACE):this.ctx.disable(this.ctx.CULL_FACE)),BA.SR_OK}},{key:"DrawMosaic",value:function(A,e,t,i,a){if(A<0||e<0||t<0||i<0||A>1||e>1||t>1||i>1||a<=0)return BA.SR_ERR_PARAM;if(0==this.nMosaicShaderProgram){var r=this.CompileProgram("\n attribute vec4 position; \n attribute vec4 texCoord; \n varying vec4 out_texCoord; \n uniform int bCapture;\n \n void main() \n { \n gl_Position = position; \n if(bCapture == 1)\n {\n gl_Position.y = -gl_Position.y;\n }\n out_texCoord = texCoord; \n } \n","\n varying lowp vec4 out_texCoord; \n uniform sampler2D texture; \n uniform mediump float videoWidth; \n uniform mediump float videoHeight; \n uniform mediump float mosaicSize; \n uniform mediump float left; \n uniform mediump float right; \n uniform mediump float top; \n uniform mediump float bottom; \n\n void main(void) \n { \n lowp vec2 uv; \n uv.x = floor(out_texCoord.x * videoWidth / mosaicSize) * mosaicSize / videoWidth; \n uv.y = floor(out_texCoord.y * videoHeight / mosaicSize) * mosaicSize / videoHeight; \n gl_FragColor = texture2D(texture, uv); \n if(out_texCoord.x < left || out_texCoord.x > right || out_texCoord.y < top || out_texCoord.y > bottom) \n { \n gl_FragColor.a = 0.0; \n } \n else \n { \n gl_FragColor.a = 1.0; \n } \n } \n");if(r<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.nMosaicShaderProgram=r}this.ctx.viewport(0,0,this.nWndWidth,this.nWndHeight),this.ctx.enable(this.ctx.BLEND),this.ctx.blendFuncSeparate(this.ctx.SRC_ALPHA,this.ctx.ONE_MINUS_SRC_ALPHA,this.ctx.ONE,this.ctx.ONE_MINUS_SRC_ALPHA);var n=this.nMosaicShaderProgram;this.ctx.useProgram(n);var o=this.ctx.getUniformLocation(n,"bCapture");if(o<=0)return BA.SR_ERR_WEBGL_RESOURCE;1==this.bIsCapturing?this.ctx.uniform1i(o,1):this.ctx.uniform1i(o,0),this.ctx.activeTexture(this.ctx.TEXTURE0),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[0]);var s=this.ctx.getUniformLocation(n,"texture");this.ctx.uniform1i(s,0);var g=this.ctx.getUniformLocation(n,"videoWidth");if(g<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(g,this.frameDisplayWidth);var l=this.ctx.getUniformLocation(n,"videoHeight");if(l<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(l,this.frameDisplayHeight);var C=this.ctx.getUniformLocation(n,"mosaicSize");if(C<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(C,a);var I=this.ctx.getUniformLocation(n,"left");if(I<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(I,A);var c=this.ctx.getUniformLocation(n,"right");if(c<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(c,e);var h=this.ctx.getUniformLocation(n,"top");if(h<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(h,t);var B=this.ctx.getUniformLocation(n,"bottom");if(B<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(B,i);var E=this.ctx.getAttribLocation(n,"position");this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.vertexPosBuffer),this.ctx.vertexAttribPointer(E,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(E);var x=this.ctx.getAttribLocation(n,"texCoord");return this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.texturePosBuffer),this.ctx.vertexAttribPointer(x,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(x),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.drawArrays(this.ctx.TRIANGLES,0,6),this.ctx.useProgram(null),this.ctx.disable(this.ctx.BLEND),BA.SR_OK}},{key:"SetCallBack",value:function(A,e,t){if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;switch(t){case pA.SR_CBT_NULL:this.pfuncCBIn=A,this.pUserIn=e;break;case pA.SR_CBT_OUT:this.pfuncCBOut=A,this.pUserOut=e;break;default:return BA.SR_ERR_NOT_SUPPORT}return BA.SR_OK}},{key:"DoCallBack",value:function(){return null==this.ctx?BA.SR_ERR_CALL_ORDER:(null!=this.pfuncCBIn&&this.pfuncCBIn(this.pUserIn),null!=this.pfuncCBOut&&this.pfuncCBOut(this.pUserOut),BA.SR_OK)}},{key:"SetViewParam",value:function(A,e){if(!this.b3DPort)return BA.SR_ERR_NOT_SUPPORT;switch(A){case uA.SR_VT_ROTATION_X:if((this.enDisplayEffect==xA.SR_DE_FISH_PLANET||this.enDisplayEffect==xA.SR_DE_PANORAMA_PLANET)&&(e>1.57||e<-1.57))return BA.SR_ERR_PARAM;if((this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING||this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR)&&(e>.78539815||e<0))return BA.SR_ERR_PARAM;if((this.enDisplayEffect==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL||this.enDisplayEffect==xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL)&&(e>this.fRotateLimitX||e<-this.fRotateLimitX))return BA.SR_ERR_PARAM;this.fRotateX=e;break;case uA.SR_VT_ROTATION_Y:if((this.enDisplayEffect==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL||this.enDisplayEffect==xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL)&&(e>this.fRotateLimitY||e<-this.fRotateLimitY))return BA.SR_ERR_PARAM;this.fRotateY=e;break;case uA.SR_VT_SCALE:if(this.enDisplayEffect==xA.SR_DE_FISH_PLANET&&(e>1.2||e<-.3))return BA.SR_ERR_PARAM;if(this.enDisplayEffect==xA.SR_DE_FISH_SEMISPHERE){if(e<-.8||e>900)return BA.SR_ERR_PARAM}else if(this.enDisplayEffect==xA.SR_DE_PANORAMA_SPHERE){if(e<-.95||e>.95)return BA.SR_ERR_PARAM}else if(this.enDisplayEffect==xA.SR_DE_PANORAMA_PLANET){if(e<.1||e>2.6)return BA.SR_ERR_PARAM}else if(this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_FLOOR||this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_CEILING){if(e<0||e>900)return BA.SR_ERR_PARAM}else if(this.enDisplayEffect==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL||this.enDisplayEffect==xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL){if(e<-.3||e>5)return BA.SR_ERR_PARAM;this._ComputeRotateLimits()}else if(this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING||this.enDisplayEffect==xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR)return BA.SR_ERR_NOT_SUPPORT;this.fScale=e;break;default:return BA.SR_ERR_NOT_SUPPORT}return BA.SR_OK}},{key:"GetViewParam",value:function(A,e){if(!this.b3DPort)return BA.SR_ERR_CALL_ORDER;var t=0;switch(A){case uA.SR_VT_ROTATION_X:t=this.fRotateX;break;case uA.SR_VT_ROTATION_Y:t=this.fRotateY;break;case uA.SR_VT_SCALE:t=this.fScale;break;default:return BA.SR_ERR_NOT_SUPPORT}return e.fValue=t,BA.SR_OK}},{key:"SetRenderMode",value:function(A){return this.bRenderToTex=A,BA.SR_OK}},{key:"_InitVideoShader",value:function(A,e){var t,i;switch(e){case xA.SR_DE_NULL:t=vA,i="\nprecision mediump float;\nvarying highp vec4 pp;\nuniform sampler2D Ytexture;\nuniform sampler2D Utexture;\nuniform sampler2D Vtexture;\nuniform float fWndWidth;\nuniform float fWndHeight;\nuniform float fBrightness;\nuniform float fHue;\nuniform float fSaturation;\nuniform float fContrast;\nuniform float fSharpness;\nuniform int nPostProc;\nuniform int bDataFormat;\n\nvec3 rgb;\nvec3 yuv2rgb(float y, float u, float v)\n{\n float r,g,b; \n y = 1.1643 * (y - 0.0625); \n u = u - 0.5; \n v = v - 0.5; \n r = y + 1.5958 * v; \n g = y - 0.39173 * u - 0.81290 * v; \n b = y + 2.017 * u; \n return vec3(r, g, b);\n}\nvec3 rgb2hsv(vec3 c) \n{ \n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); \n vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy); \n vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx); \n\n float d = q.x - min(q.w, q.y); \n float e = 1.0e-10; \n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); \n} \n\nvec3 hsv2rgb(vec3 c) \n{ \n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); \n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); \n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); \n} \n\nvec3 sharpen(vec3 c) \n{ \n vec3 sharpenColor; \n\n if(bDataFormat == 0)\n {\n float sharpenColorY;\n float sharpenColorU;\n float sharpenColorV;\n float offWidth = 1.0 / fWndWidth; \n float offHeight = 1.0 / fWndHeight; \n float tempSharpness = fSharpness * 100.0; \n\n sharpenColor = (1.0 + 4.0 * tempSharpness) * c;\n\n vec2 uv = pp.st + vec2(offWidth, 0); \n sharpenColorY = texture2D(Ytexture, uv).r; \n sharpenColorU = texture2D(Utexture, uv).r; \n sharpenColorV = texture2D(Vtexture, uv).r; \n sharpenColor -= tempSharpness * yuv2rgb(sharpenColorY, sharpenColorU, sharpenColorV);\n\n uv = pp.st + vec2(-offWidth, 0); \n sharpenColorY = texture2D(Ytexture, uv).r;\n sharpenColorU = texture2D(Utexture, uv).r; \n sharpenColorV = texture2D(Vtexture, uv).r; \n sharpenColor -= tempSharpness * yuv2rgb(sharpenColorY, sharpenColorU, sharpenColorV);\n\n uv = pp.st + vec2(0, offHeight);\n sharpenColorY = texture2D(Ytexture, uv).r; \n sharpenColorU = texture2D(Utexture, uv).r; \n sharpenColorV = texture2D(Vtexture, uv).r; \n sharpenColor -= tempSharpness * yuv2rgb(sharpenColorY, sharpenColorU, sharpenColorV);\n\n uv = pp.st + vec2(0, -offHeight); \n sharpenColorY = texture2D(Ytexture, uv).r; \n sharpenColorU = texture2D(Utexture, uv).r; \n sharpenColorV = texture2D(Vtexture, uv).r; \n sharpenColor -= tempSharpness * yuv2rgb(sharpenColorY, sharpenColorU, sharpenColorV);\n }\n else if(bDataFormat == 1)\n {\n vec3 sharpenColorY;\n float offWidth = 1.0 / fWndWidth; \n float offHeight = 1.0 / fWndHeight; \n float tempSharpness = fSharpness * 100.0;\n vec2 uv = pp.st;\n sharpenColorY = (1.0 + 4.0 * tempSharpness) * texture2D(Ytexture, uv).rgb;\n\n uv = pp.st + vec2(offWidth, 0); \n sharpenColorY -= tempSharpness * texture2D(Ytexture, uv).rgb;\n\n uv = pp.st + vec2(-offWidth, 0); \n sharpenColorY -= tempSharpness * texture2D(Ytexture, uv).rgb;\n\n uv = pp.st + vec2(0, offHeight);\n sharpenColorY -= tempSharpness * texture2D(Ytexture, uv).rgb;\n\n uv = pp.st + vec2(0, -offHeight); \n sharpenColorY -= tempSharpness * texture2D(Ytexture, uv).rgb;\n\n sharpenColor = sharpenColorY;\n }\n\n return sharpenColor; \n} \nvoid main(void)\n{\n float r, g, b, y, u, v;\n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, pp.st).r; \n g = texture2D(Ytexture, pp.st).g; \n b = texture2D(Ytexture, pp.st).b; \n rgb = vec3(r, g, b);\n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, pp.st).r;\n u = texture2D(Utexture, pp.st).r;\n v = texture2D(Vtexture, pp.st).r;\n rgb = yuv2rgb(y, u, v);\n }\n\n if(1 == nPostProc)\n {\n vec3 fragRGB = sharpen(rgb); //sharpen 锐度\n vec3 fragHSV = rgb2hsv(fragRGB); \n fragHSV.x = fragHSV.x + fHue; //hue 色度\n fragHSV.y = fragHSV.y * (fSaturation + 1.0); //saturation 饱和度\n fragRGB = hsv2rgb(fragHSV); \n if (fBrightness > 0.0) //brightness 亮度\n { \n fragRGB = fragRGB + (1.0 - fragRGB) * fBrightness; \n } \n else \n { \n fragRGB = fragRGB + fragRGB * fBrightness; \n } \n\n float tempContrast = fContrast > 0.0 ? fContrast * 10.0 : fContrast; \n fragRGB = ((fragRGB - 0.5) * max(tempContrast + 1.0, 0.0)) + 0.5; //contrast 对比度\n gl_FragColor = vec4(fragRGB, 1.0); \n }\n else\n {\n gl_FragColor = vec4(rgb, 1.0);\n }\n}\n";break;case xA.SR_DE_FISH_ORIGINAL:t=vA,i="\nprecision mediump float;\nvarying vec4 pp;\nuniform sampler2D Ytexture;\nuniform sampler2D Utexture;\nuniform sampler2D Vtexture;\nuniform float fRX1;\nuniform float fRX2;\nuniform float fRY1;\nuniform float fRY2;\nuniform int bBlack; \nuniform int bCut;\nuniform int bDataFormat;\n\nvoid main()\n{ \n\tfloat r,g,b,y,u,v;\n\tvec4 origin;\n\n\tfloat w;\n\tfloat h;\n\tfloat fCenterX;\n\tfloat fCenterY;\n\tfloat fRadius;\n\tw = 1.0;\n\th = (fRX2 - fRX1) / (fRY2 - fRY1);\n\tfCenterX = (fRX1 + fRX2) / 2.0 * w; ///<圆心实际坐标\n\tfCenterY = (fRY1 + fRY2) / 2.0 * h;\n\tfRadius = (fRX2 - fRX1) / 2.0 * w; ///<半径实际长度\n\tfloat leftCut = 0.0;\n\tfloat rightCut = 1.0;\n\tfloat topCut = 0.0;\n\tfloat bottomCut = 1.0;\n\tif(bCut == 1)\n\t{\n\t\tif(fRX1 > 0.0)\n\t\t{\n\t\t\tleftCut = fRX1;\n\t\t}\n\t\tif(fRX2 < 1.0)\n\t\t{\n\t\t\trightCut = fRX2;\n\t\t}\n\t\tif(fRY1 > 0.0)\n\t\t{\n\t\t\ttopCut = fRY1;\n\t\t}\n\t\tif(fRY2 < 1.0)\n\t\t{\n\t\t\tbottomCut = fRY2;\n\t\t}\n\t}\n\torigin.s = pp.s * (rightCut-leftCut) + leftCut;\n\torigin.t = pp.t * (bottomCut-topCut) + topCut;\n\n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, origin.st).r; \n g = texture2D(Ytexture, origin.st).g; \n b = texture2D(Ytexture, origin.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, origin.st).r;\n u = texture2D(Utexture, origin.st).r;\n v = texture2D(Vtexture, origin.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n\tif(bBlack == 1)\n\t{\n\t\tfloat tmpX, tmpY;\n\t\ttmpX = origin.s * w; \n\t\ttmpY = origin.t * h; \n\t\tfloat d2 = (tmpX-fCenterX)*(tmpX-fCenterX) + (tmpY-fCenterY)*(tmpY-fCenterY);\n\t\tif(d2 > fRadius*fRadius)\n\t\t{\n\t\t\tr = 0.0; \n\t\t\tg = 0.0; \n\t\t\tb = 0.0; \n\t\t}\n\t}\n\n\tgl_FragColor = vec4(r ,g ,b , 1.0);\n}\n";break;case xA.SR_DE_FISH_PTZ_CEILING:t=vA,i="\nprecision mediump float;\nvarying vec4 pp; \nuniform sampler2D Ytexture;\nuniform sampler2D Utexture;\nuniform sampler2D Vtexture;\nuniform float fHAngleCos;\nuniform float fHAngleSin;\nuniform float fVAngleCos;\nuniform float fVAngleSin;\nuniform float fZoom;\nuniform float fRX1; \nuniform float fRX2; \nuniform float fRY1; \nuniform float fRY2; \nuniform int bDataFormat;\n\nvoid main()\n{\n\tfloat r,g,b,y,u,v;\n\n vec4 origin1;\n vec4 origin2;\n vec4 result;\n float z1;\n float z2;\n float dnew;\n\n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w; \n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w; \n\n origin1.s = pp.s - 0.5;\n origin1.t = 0.5 - pp.t;\n z1 = fZoom ;\n\n origin2.s = origin1.s ;\n origin2.t = (origin1.t*fVAngleCos + z1*fVAngleSin);\n z2 = z1*fVAngleCos - origin1.t*fVAngleSin;\n\n dnew = sqrt(origin2.s*origin2.s + origin2.t*origin2.t) ;\n float d = sqrt(origin2.s*origin2.s + origin2.t*origin2.t + z2*z2);\n float theta = asin(dnew/d);\n float tmp = theta / 1.5707963 * 0.5;\n origin2.s = tmp*origin2.s / dnew ;\n origin2.t = tmp*origin2.t / dnew ;\n\n result.s = ((origin2.s*fHAngleCos - origin2.t*fHAngleSin)*fRadius*2.0+fCenterX)/w;\n result.t = (-(origin2.s*fHAngleSin + origin2.t*fHAngleCos)*fRadius*2.0+fCenterY)/h;\n\n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0; \n g = 0.0; \n b = 0.0; \n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n} \n";break;case xA.SR_DE_FISH_PTZ_FLOOR:t=vA,i="\nprecision mediump float;\nvarying vec4 pp; \nuniform sampler2D Ytexture;\nuniform sampler2D Utexture;\nuniform sampler2D Vtexture;\nuniform float fHAngleCos; \nuniform float fHAngleSin; \nuniform float fVAngleCos; \nuniform float fVAngleSin; \nuniform float fZoom;\nuniform float fRX1; \nuniform float fRX2; \nuniform float fRY1; \nuniform float fRY2; \nuniform int bDataFormat;\n\nvoid main()\n{\n\tfloat r,g,b,y,u,v;\n\n vec4 origin1;\n vec4 origin2;\n vec4 result;\n float z1;\n float z2;\n float dnew;\n\n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w;\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w;\n origin1.s = pp.s - 0.5;\n origin1.t = pp.t - 0.5;\n z1 = fZoom ;\n\n origin2.s = origin1.s ;\n origin2.t = (origin1.t*fVAngleCos + z1*fVAngleSin);\n z2 = z1*fVAngleCos - origin1.t*fVAngleSin;\n\n dnew = sqrt(origin2.s*origin2.s + origin2.t*origin2.t) ;\n float d = sqrt(origin2.s*origin2.s + origin2.t*origin2.t + z2*z2);\n float theta = asin(dnew/d);\n float tmp = theta / 1.5707963 * 0.5;\n origin2.s = tmp*origin2.s / dnew ;\n origin2.t = tmp*origin2.t / dnew ;\n\n result.s = ((origin2.s*fHAngleCos - origin2.t*fHAngleSin)*fRadius*2.0+fCenterX)/w;\n result.t = ((origin2.s*fHAngleSin + origin2.t*fHAngleCos)*fRadius*2.0+fCenterY)/h;\n\n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0;\n g = 0.0; \n b = 0.0; \n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n} \n";break;case xA.SR_DE_FISH_PTZ_WALL:t=vA,i="\nprecision mediump float;\nvarying vec4 pp; \nuniform sampler2D Ytexture;\nuniform sampler2D Utexture;\nuniform sampler2D Vtexture;\nuniform float fHAngleCos;\nuniform float fHAngleSin; \nuniform float fVAngleCos; \nuniform float fVAngleSin; \nuniform float fZoom;\nuniform float fRX1; \nuniform float fRX2; \nuniform float fRY1; \nuniform float fRY2; \nuniform int bDataFormat;\n\nvoid main()\n{\n\tfloat r,g,b,y,u,v;\n\n vec4 origin1;\n vec4 origin2;\n vec4 origin3;\n vec4 result;\n float z1;\n float z2;\n float z3;\n float dnew;\n\n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w;\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w;\n\n origin1.s = pp.s - 0.5;\n origin1.t = pp.t - 0.5;\n z1 = fZoom ;\n\n origin2.s = origin1.s ;\n origin2.t = (origin1.t*fVAngleCos + z1*fVAngleSin);\n z2 = z1*fVAngleCos - origin1.t*fVAngleSin;\n\n origin3.s = origin2.s*fHAngleCos + z2*fHAngleSin ;\n origin3.t = origin2.y;\n z3 = z2*fHAngleCos - origin2.x*fHAngleSin;\n\n dnew = sqrt(origin3.s*origin3.s + origin3.t*origin3.t) ;\n float d = sqrt(origin3.s*origin3.s + origin3.t*origin3.t + z3*z3);\n float theta = asin(dnew/d);\n float tmp = theta / 1.5707963 * 0.5;\n result.s = (tmp*origin3.s / dnew * fRadius * 2.0 + fCenterX)/w;\n result.t = (tmp*origin3.t / dnew * fRadius * 2.0 + fCenterY)/h;\n\n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0; \n g = 0.0; \n b = 0.0; \n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n} \n";break;case xA.SR_DE_FISH_PANORAMA_CEILING_360:t=vA,i="\n precision highp float;\n varying vec4 pp; \n uniform sampler2D Ytexture;\n uniform sampler2D Utexture;\n uniform sampler2D Vtexture;\n uniform float fAngle;\n uniform float fRX1;\n uniform float fRX2;\n uniform float fRY1;\n uniform float fRY2;\n uniform int bDataFormat;\n \n void main()\n {\n \n float r,g,b,y,u,v;\n \n vec4 origin;\n vec4 result;\n float thetabase;\n float d;\n \n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w; ///<圆心实际坐标\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w; ///<半径实际长度\n float fMax = 0.0;\n if(fRX2 > 1.0 || fRY2 > 1.0 || fRX1 < 0.0 || fRY1 < 0.0) ///<如果不是一个完整的圆\n {\n float tmp;\n if(fRX1 < 0.0)\n {\n tmp = -fRX1 * w; ///<左边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRX2 > 1.0)\n {\n tmp = (fRX2 - 1.0) * w; ///<右边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY1 < 0.0)\n {\n tmp = -fRY1 * h; ///<上边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY2 > 1.0)\n {\n tmp = (fRY2 - 1.0) * h; ///<下边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n }\n float topCut = fMax / fRadius; ///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\n float bottomCut = 0.8; ///<为矫正效果,最终矫正图固定切掉下面一部分\n origin.s = pp.s;\n origin.t = (bottomCut - topCut) * pp.t + topCut;\n thetabase = 6.2831853 * origin.s + fAngle;\n d = fRadius * (1.0 - origin.t);\n result.s = (fCenterX - d*sin(thetabase)) / w;\n result.t = (fCenterY + d*cos(thetabase)) / h;\n \n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0; \n g = 0.0; \n b = 0.0;\n }\n gl_FragColor = vec4(r, g, b, 1.0);\n }\n";break;case xA.SR_DE_FISH_PANORAMA_CEILING_180:t=vA,i="\n precision highp float;\n varying vec4 pp; \n uniform sampler2D Ytexture;\n uniform sampler2D Utexture;\n uniform sampler2D Vtexture;\n uniform float fAngle;\n uniform float fRX1; \n uniform float fRX2; \n uniform float fRY1; \n uniform float fRY2; \n uniform int bDataFormat;\n \n void main()\n {\n float r,g,b,y,u,v;\n \n vec4 origin;\n vec4 result;\n float thetabase;\n float d;\n \n vec4 newpp; ///<180矫正pp纹理坐标的点对应360矫正newpp纹理坐标对应的点\n if (pp.t <= 0.5)\n {\n newpp.s = pp.s / 2.0 + 0.5;\n newpp.t = pp.t * 2.0;\n }\n else\n {\n newpp.s = pp.s / 2.0;\n newpp.t = (pp.t - 0.5) * 2.0;\n }\n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w; ///<圆心实际坐标\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w; ///<半径实际长度\n float fMax = 0.0;\n if(fRX2 > 1.0 || fRY2 > 1.0 || fRX1 < 0.0 || fRY1 < 0.0) ///<如果不是一个完整的圆\n {\n float tmp;\n if(fRX1 < 0.0)\n {\n tmp = -fRX1 * w; ///<左边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRX2 > 1.0)\n {\n tmp = (fRX2 - 1.0) * w; ///<右边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY1 < 0.0)\n {\n tmp = -fRY1 * h; ///<上边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY2 > 1.0)\n {\n tmp = (fRY2 - 1.0) * h; ///<下边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n }\n float topCut = fMax / fRadius; ///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\n float bottomCut = 0.8; ///<为矫正效果,最终矫正图固定切掉下面一部分\n origin.s = newpp.s;\n origin.t = (bottomCut - topCut) * newpp.t + topCut;\n thetabase = 6.2831853 * origin.s + fAngle;\n d = fRadius * (1.0 - origin.t);\n result.s = (fCenterX - d*sin(thetabase)) / w;\n result.t = (fCenterY + d*cos(thetabase)) / h;\n \n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0;\n g = 0.0;\n b = 0.0;\n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n }\n";break;case xA.SR_DE_FISH_PANORAMA_FLOOR_360:t=vA,i="\n precision highp float;\n varying vec4 pp; \n uniform sampler2D Ytexture;\n uniform sampler2D Utexture;\n uniform sampler2D Vtexture;\n uniform float fAngle;\n uniform float fRX1;\n uniform float fRX2;\n uniform float fRY1;\n uniform float fRY2;\n uniform int bDataFormat;\n\n void main()\n {\n float r,g,b,y,u,v;\n \n vec4 origin;\n vec4 result;\n float thetabase;\n float d;\n \n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w; ///<圆心实际坐标\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w; ///<半径实际长度\n float fMax = 0.0;\n if(fRX2 > 1.0 || fRY2 > 1.0 || fRX1 < 0.0 || fRY1 < 0.0) ///<如果不是一个完整的圆\n {\n float tmp;\n if(fRX1 < 0.0)\n {\n tmp = -fRX1 * w; ///<左边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRX2 > 1.0)\n {\n tmp = (fRX2 - 1.0) * w; ///<右边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY1 < 0.0)\n {\n tmp = -fRY1 * h; ///<上边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY2 > 1.0)\n {\n tmp = (fRY2 - 1.0) * h; ///<下边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n }\n float topCut = fMax / fRadius; ///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\n float bottomCut = 0.8; ///<为矫正效果,最终矫正图固定切掉下面一部分\n origin.s = 1.0 - pp.s;\n origin.t = (bottomCut - topCut) * (1.0 - pp.t) + topCut;\n thetabase = 6.2831853 * origin.s + fAngle;\n d = fRadius * (1.0 - origin.t);\n result.s = (fCenterX - d*sin(thetabase)) / w;\n result.t = (fCenterY + d*cos(thetabase)) / h;\n \n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0; \n g = 0.0; \n b = 0.0; \n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n }\n";break;case xA.SR_DE_FISH_PANORAMA_FLOOR_180:t=vA,i="\n precision highp float;\n varying vec4 pp; \n uniform sampler2D Ytexture;\n uniform sampler2D Utexture;\n uniform sampler2D Vtexture;\n uniform float fAngle;\n uniform float fRX1;\n uniform float fRX2;\n uniform float fRY1;\n uniform float fRY2;\n uniform int bDataFormat;\n\n void main()\n {\n float r,g,b,y,u,v;\n\n vec4 origin;\n vec4 result;\n float thetabase;\n float d;\n \n vec4 newpp; ///<180矫正pp纹理坐标的点对应360矫正newpp纹理坐标对应的点\n if (pp.t <= 0.5) \n {\n newpp.s = pp.s / 2.0;\n newpp.t = pp.t * 2.0;\n }\n else\n {\n newpp.s = pp.s / 2.0 + 0.5;\n newpp.t = (pp.t - 0.5) * 2.0;\n }\n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w; ///<圆心实际坐标\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w; ///<半径实际长度\n float fMax = 0.0;\n if(fRX2 > 1.0 || fRY2 > 1.0 || fRX1 < 0.0 || fRY1 < 0.0) ///<如果不是一个完整的圆\n {\n float tmp;\n if(fRX1 < 0.0)\n {\n tmp = -fRX1 * w; ///<左边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRX2 > 1.0)\n {\n tmp = (fRX2 - 1.0) * w; ///<右边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY1 < 0.0)\n {\n tmp = -fRY1 * h; ///<上边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY2 > 1.0)\n {\n tmp = (fRY2 - 1.0) * h; ///<下边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n }\n float topCut = fMax / fRadius; ///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\n float bottomCut = 0.8; ///<为矫正效果,最终矫正图固定切掉下面一部分\n origin.s = 1.0 - newpp.s;\n origin.t = (bottomCut - topCut) * (1.0 - newpp.t) + topCut;\n thetabase = 6.2831853 * origin.s + fAngle;\n d = fRadius * (1.0 - origin.t);\n result.s = (fCenterX - d*sin(thetabase)) / w;\n result.t = (fCenterY + d*cos(thetabase)) / h;\n \n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0; \n g = 0.0; \n b = 0.0; \n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n } \n";break;case xA.SR_DE_FISH_PANORAMA_WALL:t=vA,i="\n precision highp float;\n varying vec4 pp; \n uniform sampler2D Ytexture;\n uniform sampler2D Utexture;\n uniform sampler2D Vtexture;\n uniform float fRX1;\n uniform float fRX2;\n uniform float fRY1; \n uniform float fRY2; \n uniform int bDataFormat;\n\n void main()\n {\n float r,g,b,y,u,v;\n \n vec4 origin;\n vec4 result;\n float d;\n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w; ///<圆心实际坐标\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w; ///<半径实际长度\n float defaultTopCut = 0.1;\n float defaultBottomCut = 0.9;\n float leftCut = 0.0; ///<当图像中圆不完整时需要切掉无图像部分,即使图像完整,为了效果,也要切掉上下固定的一部分\n float rightCut = 1.0;\n float topCut = defaultTopCut;\n float bottomCut = defaultBottomCut;\n if(fRX1 < 0.0)\n {\n float tmp;\n tmp = -fRX1 * w; ///<左边超出图像部分最大实际长度\n tmp = tmp / (2.0*fRadius);\n leftCut = tmp;\n }\n if(fRX2 > 1.0)\n {\n float tmp;\n tmp = (fRX2 - 1.0) * w; ///<右边超出图像部分最大实际长度\n tmp = tmp / (2.0*fRadius);\n rightCut = 1.0 - tmp;\n }\n if(fRY1 < 0.0)\n {\n float tmp;\n tmp = -fRY1 * h; ///<上边超出图像部分最大实际长度\n tmp = tmp / (2.0*fRadius);\n if(tmp > defaultTopCut)\n topCut = tmp;\n else\n topCut = defaultTopCut;\n }\n if(fRY2 > 1.0)\n {\n float tmp;\n tmp = (fRY2 - 1.0) * h; ///<下边超出图像部分最大实际长度\n tmp = tmp / (2.0*fRadius);\n if(tmp > 1.0 - defaultBottomCut)\n bottomCut = 1.0 - tmp;\n else\n bottomCut = defaultBottomCut;\n }\n origin.s = pp.s * (rightCut-leftCut) + leftCut;\n origin.t = pp.t * (bottomCut-topCut) + topCut;\n float tmpx = origin.s * 2.0 * fRadius + fCenterX - fRadius; ///<纹理坐标转化为原图上的实际坐标\n float tmpy = origin.t * 2.0 * fRadius + fCenterY - fRadius;\n d = sqrt(fRadius*fRadius - (tmpy-fCenterY)*(tmpy-fCenterY));\n result.s = ((tmpx-fCenterX) * d / fRadius + fCenterX) / w;\n result.t = tmpy / h;\n \n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0; \n g = 0.0; \n b = 0.0; \n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n }\n";break;case xA.SR_DE_FISH_SEMISPHERE:case xA.SR_DE_PANORAMA_SPHERE:case xA.SR_DE_PANORAMA_PLANET:case xA.SR_DE_FISH_CYLINDER_CEILING:case xA.SR_DE_FISH_CYLINDER_FLOOR:case xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:case xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:case xA.SR_DE_FISH_PLANET:t="\n precision lowp float;\n attribute vec4 position;\n attribute vec4 texCoord;\n varying vec4 pp; \n uniform int bCapture;\n\n uniform mat4 matProj;\n uniform mat4 matView;\n void main(void) {\n gl_Position = matProj * matView * position;\n pp = texCoord;\n if(bCapture == 1)\n {\n gl_Position.y = - gl_Position.y;\n }\n }\n",i=PA;break;case xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING:case xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR:t="\n attribute vec4 position;\n attribute vec4 texCoord;\n varying vec4 pp; \n uniform int bCapture;\n\n uniform mat4 matProj;\n uniform mat4 matView;\n uniform highp vec4 vecCylinderParam;\n uniform highp float fTextureOffset;\n uniform mediump float fRX1;\n uniform mediump float fRX2;\n uniform mediump float fRY1;\n uniform mediump float fRY2;\n void main(void) {\n highp float w;\n highp float h;\n highp float fCenterX;\n highp float fCenterY;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w;\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n\n highp float dx = position.x - vecCylinderParam.x;\n highp float dz = position.z - (vecCylinderParam.z + vecCylinderParam.y); \n highp float theta = atan(abs(dx/dz));\n highp float fDis = (3.1415926 - 2.0 * theta) * 1.0;\n highp float fdx = 0.0;\n if (dx > 0.0)\n {\n fdx = 1.0;\n }\n else\n {\n fdx = -1.0;\n }\n fDis = fdx * fDis; \n highp float lx = fDis; \n highp float lz = vecCylinderParam.z + vecCylinderParam.y; \n highp float fRate = (3.1415926 / 2.0 + vecCylinderParam.w) / 3.1415926 * 2.0; \n highp vec4 newPos = position; \n newPos.x = fRate * (lx - newPos.x) + newPos.x; \n newPos.z = fRate * (lz - newPos.z) + newPos.z; \n gl_Position = matProj * matView * newPos; \n if(bCapture == 1)\n {\n gl_Position.y = - gl_Position.y;\n }\n\n highp float s = texCoord.s * w - fCenterX; \n highp float t = fCenterY - texCoord.t * h; \n pp.s = (s*cos(fTextureOffset) - t*sin(fTextureOffset) + fCenterX) / w; \n pp.t = (fCenterY - (s*sin(fTextureOffset) + t*cos(fTextureOffset))) / h;\n }\n",i=PA;break;default:return BA.SR_ERR_NOT_SUPPORT}var a=this.CompileProgram(t,i);return a<=0?BA.SR_ERR_WEBGL_RESOURCE:(this.videoShaderProgram=a,BA.SR_OK)}},{key:"_InitVideoVertex",value:function(A,e,t){var i=null,a=null,r=null,n=BA.SR_OK;if(0==this.b3DPort)i=new Float32Array([-1,1,-1,-1,1,1,1,1,-1,-1,1,-1]),a=new Float32Array([0,0,0,1,1,0,1,0,0,1,1,1]);else{if(this.fRX1=t.fRXLeft,this.fRX2=t.fRXRight,this.fRY1=t.fRYTop,this.fRY2=t.fRYBottom,e==xA.SR_DE_FISH_SEMISPHERE||e==xA.SR_DE_FISH_PLANET)n=this._CreateSemiSphere(this.fRX1,this.fRX2,this.fRY1,this.fRY2),i=this.pSemiSpherePos,a=this.pSemiSphereTex;else if(e==xA.SR_DE_PANORAMA_SPHERE||e==xA.SR_DE_PANORAMA_PLANET)n=this._CreateSphere(this.fRX1,this.fRX2,this.fRY1,this.fRY2),i=this.pSpherePos,a=this.pSphereTex,r=this.pSphereInd;else if(e==xA.SR_DE_FISH_CYLINDER_CEILING||e==xA.SR_DE_FISH_CYLINDER_FLOOR||e==xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING||e==xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR)n=this._CreateCylinder(e,this.fRX1,this.fRX2,this.fRY1,this.fRY2,0,0),i=this.pCylinderPos,a=this.pCylinderTex;else{if(e!=xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL&&e!=xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL)return BA.SR_ERR_NOT_SUPPORT;n=e==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._CreateArcSphere(e,.05,.95,-.3,1.3):this._CreateArcSphere(e,-.16,1.16,.005,.995),i=this.pArcSpherePos,a=this.pArcSphereTex}if(n!=BA.SR_OK)return n}if(null==i||null==a)return BA.SR_ERR_NOT_SUPPORT;var o=this.ctx.createBuffer();if(this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,o),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,i,this.ctx.STATIC_DRAW),this.vertexPosBuffer=o,e==xA.SR_DE_PANORAMA_SPHERE||e==xA.SR_DE_PANORAMA_PLANET){var s=this.ctx.createBuffer();this.ctx.bindBuffer(this.ctx.ELEMENT_ARRAY_BUFFER,s),this.ctx.bufferData(this.ctx.ELEMENT_ARRAY_BUFFER,r,this.ctx.STATIC_DRAW),this.indicesPosBuffer=s}var g=this.ctx.createBuffer();return this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,g),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,a,this.ctx.STATIC_DRAW),this.texturePosBuffer=g,this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),i=null,a=null,BA.SR_OK}},{key:"_InitCamera",value:function(A){if(null!=this.pCamera)return BA.SR_ERR_CALL_ORDER;switch(A){case xA.SR_DE_NULL:case xA.SR_DE_FISH_ORIGINAL:case xA.SR_DE_FISH_PTZ_CEILING:case xA.SR_DE_FISH_PTZ_FLOOR:case xA.SR_DE_FISH_PTZ_WALL:case xA.SR_DE_FISH_PANORAMA_CEILING_360:case xA.SR_DE_FISH_PANORAMA_CEILING_180:case xA.SR_DE_FISH_PANORAMA_FLOOR_360:case xA.SR_DE_FISH_PANORAMA_FLOOR_180:case xA.SR_DE_FISH_PANORAMA_WALL:return BA.SR_OK;case xA.SR_DE_FISH_SEMISPHERE:if(this.pCamera=new MA,null==this.pCamera)return BA.SR_ERR_ALLOC_MEMORY;this.pCamera.SetFov(hA),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fRotateX=4.71,this.pCamera.SetPitch(3.14-this.fRotateX),this.fScale=3,this.pCamera.SetScale(this.fScale);break;case xA.SR_DE_PANORAMA_SPHERE:if(this.pCamera=new MA,null==this.pCamera)return BA.SR_ERR_ALLOC_MEMORY;this.pCamera.SetFov(hA),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fRotateX=0,this.pCamera.SetPitch(3.14-this.fRotateX),this.fScale=0,this.pCamera.SetScale(this.fScale);break;case xA.SR_DE_FISH_CYLINDER_CEILING:case xA.SR_DE_FISH_CYLINDER_FLOOR:if(this.pCamera=new MA,null==this.pCamera)return BA.SR_ERR_ALLOC_MEMORY;this.pCamera.SetFov(hA),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fRotateX=.785,this.pCamera.SetPitch(-this.fRotateX),this.fScale=6,this.pCamera.SetScale(this.fScale);break;case xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING:case xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR:if(this.pCamera=new MA,null==this.pCamera)return BA.SR_ERR_ALLOC_MEMORY;this.pCamera.SetOrtho(!0),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fScale=3,this.pCamera.SetScale(this.fScale);break;case xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:case xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:if(this.pCamera=new MA,null==this.pCamera)return BA.SR_ERR_ALLOC_MEMORY;this.pCamera.SetFov(1.25663704),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fScale=2,this.pCamera.SetScale(this.fScale),xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL==A?(this.fRotateLimitX=.17453292222222222,this.fRotateLimitY=1.0471975333333334):(this.fRotateLimitX=.5235987666666667,this.fRotateLimitY=.34906584444444444);break;case xA.SR_DE_FISH_PLANET:if(this.pCamera=new LA,null==this.pCamera)return BA.SR_ERR_ALLOC_MEMORY;this.pCamera.SetFov(2.16),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fRotateX=1.57,this.pCamera.SetPitch(this.fRotateX),this.pCamera.SetYaw(cA+this.fRotateY),this.fScale=1,this.pCamera.SetScale(this.fScale);break;case xA.SR_DE_PANORAMA_PLANET:if(this.pCamera=new LA,null==this.pCamera)return BA.SR_ERR_ALLOC_MEMORY;this.pCamera.SetPano(!0),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fRotateX=1.57,this.pCamera.SetPitch(this.fRotateX),this.fRotateY=-1.57,this.pCamera.SetYaw(cA+this.fRotateY),this.fScale=2.6,this.pCamera.SetScale(this.fScale);break;default:return BA.SR_ERR_NOT_SUPPORT}return BA.SR_OK}},{key:"CompileProgram",value:function(A,e){var t=this.ctx;if(null==t||null==A||null==e)return-1;var i=t.createShader(t.VERTEX_SHADER);if(t.shaderSource(i,A),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS))return-1;var a=t.createShader(t.FRAGMENT_SHADER);if(t.shaderSource(a,e),t.compileShader(a),!t.getShaderParameter(a,t.COMPILE_STATUS))return-1;var r=t.createProgram();return t.attachShader(r,i),t.attachShader(r,a),t.linkProgram(r),t.getProgramParameter(r,t.LINK_STATUS)?(t.deleteShader(i),t.deleteShader(a),r):-1}},{key:"_CreateSemiSphere",value:function(A,e,t,i){if(null!=this.pSemiSpherePos||null!=this.pSemiSphereTex)return BA.SR_ERR_CALL_ORDER;this.pSemiSpherePos=new Float32Array(43200),this.pSemiSphereTex=new Float32Array(28800);for(var a=(e-A)/(i-t),r=(e-A)/2*1,n=6.2831852/60,o=.0392699075,s=0,g=0,l=0,C=0;C<60;++C)for(var I=0;I<40;++I){var c=C*n;0==C&&(s=c);var h=59==C?s:(C+1)*n,B=-I*o,E=-(I+1)*o,x=void 0,d=void 0;this.pSemiSpherePos[g]=-1*Math.cos(B)*Math.cos(c),this.pSemiSpherePos[g+1]=1*Math.sin(B),this.pSemiSpherePos[g+2]=-1*Math.cos(B)*Math.sin(c),d=.5-.5*(1+B/1.5707963)*Math.sin(c),x=.5-.5*(1+B/1.5707963)*Math.cos(c),this.pSemiSphereTex[l++]=(2*x*r+1*A)/1,this.pSemiSphereTex[l++]=(2*d*r+t*a)/a,g+=3,this.pSemiSpherePos[g]=-1*Math.cos(E)*Math.cos(c),this.pSemiSpherePos[g+1]=1*Math.sin(E),this.pSemiSpherePos[g+2]=-1*Math.cos(E)*Math.sin(c),d=.5-.5*(1+E/1.5707963)*Math.sin(c),x=.5-.5*(1+E/1.5707963)*Math.cos(c),this.pSemiSphereTex[l++]=(2*x*r+1*A)/1,this.pSemiSphereTex[l++]=(2*d*r+t*a)/a,g+=3,this.pSemiSpherePos[g]=-1*Math.cos(B)*Math.cos(h),this.pSemiSpherePos[g+1]=1*Math.sin(B),this.pSemiSpherePos[g+2]=-1*Math.cos(B)*Math.sin(h),d=.5-.5*(1+B/1.5707963)*Math.sin(h),x=.5-.5*(1+B/1.5707963)*Math.cos(h),this.pSemiSphereTex[l++]=(2*x*r+1*A)/1,this.pSemiSphereTex[l++]=(2*d*r+t*a)/a,g+=3,this.pSemiSpherePos[g]=-1*Math.cos(B)*Math.cos(h),this.pSemiSpherePos[g+1]=1*Math.sin(B),this.pSemiSpherePos[g+2]=-1*Math.cos(B)*Math.sin(h),d=.5-.5*(1+B/1.5707963)*Math.sin(h),x=.5-.5*(1+B/1.5707963)*Math.cos(h),this.pSemiSphereTex[l++]=(2*x*r+1*A)/1,this.pSemiSphereTex[l++]=(2*d*r+t*a)/a,g+=3,this.pSemiSpherePos[g]=-1*Math.cos(E)*Math.cos(c),this.pSemiSpherePos[g+1]=1*Math.sin(E),this.pSemiSpherePos[g+2]=-1*Math.cos(E)*Math.sin(c),d=.5-.5*(1+E/1.5707963)*Math.sin(c),x=.5-.5*(1+E/1.5707963)*Math.cos(c),this.pSemiSphereTex[l++]=(2*x*r+1*A)/1,this.pSemiSphereTex[l++]=(2*d*r+t*a)/a,g+=3,this.pSemiSpherePos[g]=-1*Math.cos(E)*Math.cos(h),this.pSemiSpherePos[g+1]=1*Math.sin(E),this.pSemiSpherePos[g+2]=-1*Math.cos(E)*Math.sin(h),d=.5-.5*(1+E/1.5707963)*Math.sin(h),x=.5-.5*(1+E/1.5707963)*Math.cos(h),this.pSemiSphereTex[l++]=(2*x*r+1*A)/1,this.pSemiSphereTex[l++]=(2*d*r+t*a)/a,g+=3}return this.nSemiSpherePosNum=g/3,this.nSemiSpherePosSize=3,this.nSemiSphereTexSize=2,BA.SR_OK}},{key:"_CreateSphere",value:function(){if(null!=this.pSpherePos||null!=this.pSphereTex)return BA.SR_ERR_CALL_ORDER;this.pSpherePos=new Float32Array(7803),this.pSphereTex=new Float32Array(5202),this.pSphereInd=new Uint16Array(15e3);for(var A=0,e=0,t=0;t<=50;++t)for(var i=t*cA/50-1.5707963,a=Math.sin(i),r=Math.cos(i),n=0;n<=50;++n){var o=2*n*cA/50-cA,s=Math.sin(o),g=1*r*Math.cos(o),l=1*a,C=1*r*s;this.pSpherePos[A]=-g,this.pSpherePos[A+1]=l,this.pSpherePos[A+2]=C;var I=n/50,c=t/50;this.pSphereTex[e++]=I,this.pSphereTex[e++]=c,A+=3}for(var h=0,B=0;B<50;++B)for(var E=0;E<50;++E){var x=51*B+E,d=x+50+1;this.pSphereInd[h+0]=x,this.pSphereInd[h+1]=d,this.pSphereInd[h+2]=x+1,this.pSphereInd[h+3]=d,this.pSphereInd[h+4]=d+1,this.pSphereInd[h+5]=x+1,h+=6}return this.nSpherePosNum=2500,this.nSpherePosSize=3,this.nSphereTexSize=2,BA.SR_OK}},{key:"_CreateCylinder",value:function(A,e,t,i,a,r,n){if(null!=this.pCylinderPos||null!=this.pCylinderTex)return BA.SR_ERR_CALL_ORDER;if(Math.abs(r-0)<1e-6)this.fCylinderHeight=2;else{if(r<.5||r>6)return BA.SR_ERR_PARAM;this.fCylinderHeight=r}if(Math.abs(n-0)<1e-6)A==xA.SR_DE_FISH_CYLINDER_FLOOR||A==xA.SR_DE_FISH_CYLINDER_CEILING?this.fCylinderRadius=2:this.fCylinderRadius=1;else{if(n<.5||n>4)return BA.SR_ERR_PARAM;this.fCylinderRadius=n}if(this.pCylinderPos=new Float32Array(43200),this.pCylinderTex=new Float32Array(28800),null==this.pCylinderPos||null==this.pCylinderTex)return this.pCylinderPos=null,this.pCylinderTex=null,BA.SR_ERR_ALLOC_MEMORY;for(var o=(t-e)/(a-i),s=(t-e)/2*1,g=6.2831852/60,l=this.fCylinderHeight/40,C=0,I=0,c=0;c<60;++c)for(var h=0;h<40;++h){var B=c*g,E=(c+1)*g,x=void 0,d=void 0;this.pCylinderPos[C]=-this.fCylinderRadius*Math.sin(B),this.pCylinderPos[C+1]=this.fCylinderHeight/2-h*l,this.pCylinderPos[C+2]=-this.fCylinderRadius*Math.cos(B),xA.SR_DE_FISH_CYLINDER_FLOOR==A||xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==A?(x=.5+(.1+.01*h)*Math.sin(B),d=.5+(.1+.01*h)*Math.cos(B)):(x=.5-(.5-.01*h)*Math.sin(B),d=.5+(.5-.01*h)*Math.cos(B)),this.pCylinderTex[I++]=(2*x*s+1*e)/1,this.pCylinderTex[I++]=(2*d*s+i*o)/o,C+=3,this.pCylinderPos[C]=-this.fCylinderRadius*Math.sin(B),this.pCylinderPos[C+1]=this.fCylinderHeight/2-(h+1)*l,this.pCylinderPos[C+2]=-this.fCylinderRadius*Math.cos(B),xA.SR_DE_FISH_CYLINDER_FLOOR==A||xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==A?(x=.5+(.1+.01*(h+1))*Math.sin(B),d=.5+(.1+.01*(h+1))*Math.cos(B)):(x=.5-(.5-.01*(h+1))*Math.sin(B),d=.5+(.5-.01*(h+1))*Math.cos(B)),this.pCylinderTex[I++]=(2*x*s+1*e)/1,this.pCylinderTex[I++]=(2*d*s+i*o)/o,C+=3,this.pCylinderPos[C]=-this.fCylinderRadius*Math.sin(E),this.pCylinderPos[C+1]=this.fCylinderHeight/2-h*l,this.pCylinderPos[C+2]=-this.fCylinderRadius*Math.cos(E),xA.SR_DE_FISH_CYLINDER_FLOOR==A||xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==A?(x=.5+(.1+.01*h)*Math.sin(E),d=.5+(.1+.01*h)*Math.cos(E)):(x=.5-(.5-.01*h)*Math.sin(E),d=.5+(.5-.01*h)*Math.cos(E)),this.pCylinderTex[I++]=(2*x*s+1*e)/1,this.pCylinderTex[I++]=(2*d*s+i*o)/o,C+=3,this.pCylinderPos[C]=-this.fCylinderRadius*Math.sin(E),this.pCylinderPos[C+1]=this.fCylinderHeight/2-h*l,this.pCylinderPos[C+2]=-this.fCylinderRadius*Math.cos(E),xA.SR_DE_FISH_CYLINDER_FLOOR==A||xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==A?(x=.5+(.1+.01*h)*Math.sin(E),d=.5+(.1+.01*h)*Math.cos(E)):(x=.5-(.5-.01*h)*Math.sin(E),d=.5+(.5-.01*h)*Math.cos(E)),this.pCylinderTex[I++]=(2*x*s+1*e)/1,this.pCylinderTex[I++]=(2*d*s+i*o)/o,C+=3,this.pCylinderPos[C]=-this.fCylinderRadius*Math.sin(B),this.pCylinderPos[C+1]=this.fCylinderHeight/2-(h+1)*l,this.pCylinderPos[C+2]=-this.fCylinderRadius*Math.cos(B),xA.SR_DE_FISH_CYLINDER_FLOOR==A||xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==A?(x=.5+(.1+.01*(h+1))*Math.sin(B),d=.5+(.1+.01*(h+1))*Math.cos(B)):(x=.5-(.5-.01*(h+1))*Math.sin(B),d=.5+(.5-.01*(h+1))*Math.cos(B)),this.pCylinderTex[I++]=(2*x*s+1*e)/1,this.pCylinderTex[I++]=(2*d*s+i*o)/o,C+=3,this.pCylinderPos[C]=-this.fCylinderRadius*Math.sin(E),this.pCylinderPos[C+1]=this.fCylinderHeight/2-(h+1)*l,this.pCylinderPos[C+2]=-this.fCylinderRadius*Math.cos(E),xA.SR_DE_FISH_CYLINDER_FLOOR==A||xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==A?(x=.5+(.1+.01*(h+1))*Math.sin(E),d=.5+(.1+.01*(h+1))*Math.cos(E)):(x=.5-(.5-.01*(h+1))*Math.sin(E),d=.5+(.5-.01*(h+1))*Math.cos(E)),this.pCylinderTex[I++]=(2*x*s+1*e)/1,this.pCylinderTex[I++]=(2*d*s+i*o)/o,C+=3}return this.nCylinderPosNum=C/3,this.nCylinderPosSize=3,this.nCylinderTexSize=2,BA.SR_OK}},{key:"_CreateArcSphere",value:function(A,e,t,i,a){if(null!=this.pArcSpherePos||null!=this.pArcSphereTex)return BA.SR_ERR_CALL_ORDER;if(A==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL){if(i>0||a<1)return BA.SR_ERR_PARAM}else{if(A!=xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL)return BA.SR_ERR_NOT_SUPPORT;if(e>0||t<1)return BA.SR_ERR_PARAM}if(this.fImageWidth=1,this.fImageHeight=(t-e)/(a-i),this.fTexCenterX=(e+t)/2*this.fImageWidth,this.fTexCenterY=(i+a)/2*this.fImageHeight,this.fTexRadius=(t-e)/2*this.fImageWidth,null==this.pArcSphereTex&&(this.pArcSphereTex=new Float32Array(14688),null==this.pArcSphereTex))return BA.SR_ERR_ALLOC_MEMORY;if(null==this.pArcSpherePos&&(this.pArcSpherePos=new Float32Array(22032),null==this.pArcSpherePos))return BA.SR_ERR_ALLOC_MEMORY;var r=new Float32Array(64);if(null==r)return BA.SR_ERR_ALLOC_MEMORY;var n=BA.SR_OK;if(A==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?n=this._ComputeLatitudeHorizontal(r,25,40,1):A==xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&(n=this._ComputeLatitudeVertical(r,25,40,1)),BA.SR_OK!=n)return this.pArcSpherePos=null,this.pArcSphereTex=null,n;this.fFirstLatitude=r[12],this.fLastLatitude=r[51];var o=0,s=0,g=new Float32Array(5);if(null==g)return this.pArcSpherePos=null,this.pArcSphereTex=null,BA.SR_ERR_ALLOC_MEMORY;for(var l=cA/24,C=-12;C<12;++C)for(var I=C<0?-C:C,c=C<0?I:I+1,h=C<0?64-2*(I-1)-2:64-2*I-2,B=0;B=0&&0==B?A==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-l*C,r[c-1],g):A==xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-l*C,r[c-1],g):A==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-l*(C+1),r[c-1],g):A==xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-l*(C+1),r[c-1],g),this.pArcSpherePos[o]=g[0],this.pArcSpherePos[o+1]=g[1],this.pArcSpherePos[o+2]=g[2],this.pArcSphereTex[s++]=g[3],this.pArcSphereTex[s++]=g[4],o+=3,A==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-l*(C+1),r[c],g):A==xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-l*(C+1),r[c],g),this.pArcSpherePos[o]=g[0],this.pArcSpherePos[o+1]=g[1],this.pArcSpherePos[o+2]=g[2],this.pArcSphereTex[s++]=g[3],this.pArcSphereTex[s++]=g[4],o+=3,A==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-l*C,r[c],g):A==xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-l*C,r[c],g),this.pArcSpherePos[o]=g[0],this.pArcSpherePos[o+1]=g[1],this.pArcSpherePos[o+2]=g[2],this.pArcSphereTex[s++]=g[3],this.pArcSphereTex[s++]=g[4],o+=3,C<0&&B==h-1?A==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-l*(C+1),r[c+1],g):A==xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-l*(C+1),r[c+1],g):A==xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-l*C,r[c+1],g):A==xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-l*C,r[c+1],g),this.pArcSpherePos[o]=g[0],this.pArcSpherePos[o+1]=g[1],this.pArcSpherePos[o+2]=g[2],this.pArcSphereTex[s++]=g[3],this.pArcSphereTex[s++]=g[4],o+=3;return this.nArcSpherePosNum=o/3,this.nArcSpherePosSize=3,this.nArcSphereTexSize=2,r=null,g=null,BA.SR_OK}},{key:"_ComputeIntersectionOfPlaneAndLongtitude",value:function(A,e,t){if(null==A)return BA.SR_ERR_PARAM;var i,a=A[1]*t,r=A[2]*t*Math.sin(e),n=-A[3],o=0;if(A[1]>0){var s=a*a*n*n-(a*a+r*r)*(n*n-r*r);o=(-a*n-Math.sqrt(s))/(a*a+r*r),s=r*r*n*n-(a*a+r*r)*(n*n-a*a)}if(A[1]<0){var g=a*a*n*n-(a*a+r*r)*(n*n-r*r);o=(-a*n+Math.sqrt(g))/(a*a+r*r),g=r*r*n*n-(a*a+r*r)*(n*n-a*a)}return i=-t*o,Math.asin(i/t)}},{key:"_ComputeLatitudeHorizontal",value:function(A,e,t,i){if(null==A)return BA.SR_ERR_PARAM;var a=0,r=(this.fTexCenterY,cA/(e-1)),n=cA*this.fTexCenterY/(2*this.fTexRadius),o=Math.asin(this.fTexCenterY/this.fTexRadius),s=Math.atan(Math.cos(n)/(Math.sin(n)-Math.sin(o))),g=new Float32Array(4);g[0]=0,g[1]=Math.sin(s),g[2]=Math.cos(s),g[3]=-i*Math.sin(s)*Math.sin(o),A[a++]=n;for(var l=1;l<=(e-3)/2;++l){var C=this._ComputeIntersectionOfPlaneAndLongtitude(g,1.5707963-r*l,i);A[a++]=C}for(var I=-Math.asin((this.fImageHeight-this.fTexCenterY)/this.fTexRadius),c=o,h=(c-I)/(t-1),B=0;B=0?Math.acos(i[0]/Math.sqrt(i[0]*i[0]+i[1]*i[1])):6.2831852-Math.acos(i[0]/Math.sqrt(i[0]*i[0]+i[1]*i[1]));var n=this.fTexCenterX-this.fTexRadius,o=this.fTexRadius-this.fTexCenterY;return i[3]=(Math.cos(a)*this.fTexRadius*(1+2*r)+this.fTexRadius+n)/this.fImageWidth,i[4]=(Math.sin(a)*this.fTexRadius*(-1-2*r)+this.fTexRadius-o)/this.fImageHeight,BA.SR_OK}},{key:"_ComputeLatitudeVertical",value:function(A,e,t,i){if(null==A)return BA.SR_ERR_PARAM;var a=0,r=cA/(e-1),n=cA*this.fTexCenterX/(2*this.fTexRadius),o=Math.asin(this.fTexCenterX/this.fTexRadius),s=Math.atan(Math.cos(n)/(Math.sin(n)-Math.sin(o))),g=new Float32Array(4);g[0]=0,g[1]=Math.sin(s),g[2]=Math.cos(s),g[3]=-i*Math.sin(s)*Math.sin(o),A[a++]=n;for(var l=1;l<=(e-3)/2;++l){var C=this._ComputeIntersectionOfPlaneAndLongtitude(g,1.5707963-r*l,i);A[a++]=C}for(var I=-Math.asin((this.fImageWidth-this.fTexCenterX)/this.fTexRadius),c=o,h=(c-I)/(t-1),B=0;Bthis.fRotateLimitX&&(this.fRotateX=this.fRotateLimitX),this.fRotateX<-this.fRotateLimitX&&(this.fRotateX=-this.fRotateLimitX),this.fRotateY>this.fRotateLimitY&&(this.fRotateY=this.fRotateLimitX),this.fRotateY<-this.fRotateLimitX&&(this.fRotateY=-this.fRotateLimitX)}return BA.SR_OK}},{key:"SetMSAACache",value:function(A,e){return this.msaaFrameBuffer=A,this.renderBuffer=e,BA.SR_OK}}]),A}(),GA=function(){function A(){c(this,A),this.canvas=null,this.ctx=null,this.pFrameData=null,this.frameDisplayWidth=0,this.frameDisplayHeight=0,this.onlySupportedWebGL1=!1,this.bAntialias=!1,this.bAntialiasStateNeedChange=!1,this.bRecreateTex=!0,this.nSurfaceTexture=[],this.nSurfaceTexture[0]=0,this.nSurfaceTexture[1]=0,this.nSurfaceTexture[2]=0,this.bOpenMsaa=!1,this.nMsaaFBO=0,this.nResolveFBO=0,this.nMsaaColorBuffer=0,this.nResolveTexture=0,this.nMsaaSample=0,this.pFishParamManager=null,this.enDisplayEffect=xA.SR_DE_NULL,this.nFECPort=-1,this.enPixelFormat=dA.SR_PF_NULL,this.nTextureNum=0,this.nCaptureWidth=0,this.nCaptureHeight=0,this.pSubDisplay=null,this.nRTWidth=0,this.nRTHeight=0,this.pRenderToTex=null,this.bRenderToTex=!1,this.b3DPort=!1,this.preDisplayRectnX=0,this.preDisplayRectnY=0,this.preDisplayRectnW=0,this.preDisplayRectnH=0,this.preImageRotateValue=0}return h(A,[{key:"SR_Init",value:function(A,e){if(null==A)return BA.SR_ERR_PARAM;if(this.canvas=A,this.ctx=this.canvas.getContext("webgl2"),!this.ctx){if(this.ctx=this.canvas.getContext("webgl")||this.canvas.getContext("experimental-webgl"),!this.ctx)return BA.SR_ERR_CANVAS;this.onlySupportedWebGL1=!0}if(e==dA.SR_PF_NV12||e==dA.SR_PF_NV21)return BA.SR_ERR_NOT_SUPPORT;switch(e){case dA.SR_PF_YV12:case dA.SR_PF_I420:this.nTextureNum=3;break;case dA.SR_PF_SURFACE:this.nTextureNum=1;break;default:return BA.SR_ERR_NOT_SUPPORT}return this.enPixelFormat=e,BA.SR_OK}},{key:"SR_AddSubPort",value:function(A){var e=-1;if(null==this.ctx)return e;if(null!=this.pFishParamManager?(e=this.pFishParamManager.GetFECPort(A),this.b3DPort=!0):A==xA.SR_DE_NULL&&(e=0),-1==e)return-1;this.nFECPort=e;var t=BA.SR_OK;if(null==this.pSubDisplay&&(this.pSubDisplay=new YA,null==this.pSubDisplay))return BA.SR_ERR_ALLOC_MEMORY;if((t=this.pSubDisplay.SetCanvasSize(this.canvas.width,this.canvas.height))!=BA.SR_OK)return t;if((t=this.pSubDisplay.SetWebGL2Support(this.onlySupportedWebGL1))!=BA.SR_OK)return t;var i={};if(null!=this.pFishParamManager){this.pSubDisplay.SetFishParamManager(this.pFishParamManager),this.pSubDisplay.SetFECPort(this.nFECPort);for(var a=0;a<32&&BA.SR_OK!=this.pFishParamManager.GetRenderParam(a,i);++a);}if((t=this.pSubDisplay.Init(this.ctx,this.enPixelFormat,A,i))!=BA.SR_OK)return t;if(xA.SR_DE_NULL!=A){t=this.pFishParamManager.SetPTZDisplayMode(fA.SR_DM_NULL);var r={};if((t=this.pFishParamManager.GetFishParam(this.nFECPort,r))!=BA.SR_OK)return t;if(xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL==A){if(r.nFishParamType=QA.SR_FPT_CENTER,r.fRXLeft=.05,r.fRXRight=.95,r.fRYTop=-.3,r.fRYBottom=1.3,(t=this.pFishParamManager.SetFishParam(this.nFECPort,r))!=BA.SR_OK)return t}else if(xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL==A&&(r.nFishParamType=QA.SR_FPT_CENTER,r.fRXLeft=-.16,r.fRXRight=1.16,r.fRYTop=.005,r.fRYBottom=.995,(t=this.pFishParamManager.SetFishParam(this.nFECPort,r))!=BA.SR_OK))return t}return null!=this.pFishParamManager&&this.pFishParamManager.ComputePTZPoints(),this.enDisplayEffect=A,this.nFECPort}},{key:"SR_UpdateFrameData",value:function(A,e,t,i,a){if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;if(null==A||e<=0||t<=0)return BA.SR_ERR_PARAM;this.frameDisplayWidth==e&&this.frameDisplayHeight==t||(this.bRecreateTex=!0);var r=BA.SR_OK;if(dA.SR_PF_SURFACE==this.enPixelFormat)this.frameDisplayWidth=e,this.frameDisplayHeight=t;else if(r=this._ResizeFrameData(A,e,t,i),BA.SR_OK!=r)return r;if(1==this.bRecreateTex){if(this.enPixelFormat==dA.SR_PF_SURFACE){if(0!=this.nSurfaceTexture[0]){var n=this.nSurfaceTexture[0];this.ctx.deleteTexture(n),this.nSurfaceTexture[0]=0}var o=this.ctx.createTexture();if(o<=0)return BA.SR_ERR_WEBGL_RESOURCE;this.ctx.bindTexture(this.ctx.TEXTURE_2D,o),this.onlySupportedWebGL1||1!=this.bAntialias?this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR):this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR_MIPMAP_NEAREST),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MAG_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_S,this.ctx.CLAMP_TO_EDGE),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_T,this.ctx.CLAMP_TO_EDGE),this.ctx.bindTexture(this.ctx.TEXTURE_2D,null),this.nSurfaceTexture[0]=o}else if(this.enPixelFormat==dA.SR_PF_YV12||this.enPixelFormat==dA.SR_PF_I420)for(var s=0;s1&&void 0!==arguments[1]&&arguments[1];if(null==A)return BA.SR_ERR_PARAM;if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;if(null==this.pSubDisplay)return BA.SR_ERR_CALL_ORDER;var t=BA.SR_OK;return(t=this.pSubDisplay.GetCaptureSize(A,e))!=BA.SR_OK?t:(this.nCaptureWidth=A.nWidth,this.nCaptureHeight=A.nHeight,BA.SR_OK)}},{key:"SR_CaptureScreen",value:function(A){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(0==this.nSurfaceTexture[0])return BA.SR_ERR_CALL_ORDER;if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;if(null==this.pSubDisplay)return BA.SR_ERR_CALL_ORDER;var t={nWndWidth:0,nWndHeight:0};this.pSubDisplay.GetWndResolution(t),this.pSubDisplay.SetWndResolution(this.nCaptureWidth,this.nCaptureHeight);var i=BA.SR_OK;return(i=this.pSubDisplay.CaptureScreen(A,e))!=BA.SR_OK?i:(this.pSubDisplay.SetWndResolution(t.nWndWidth,t.nWndHeight),BA.SR_OK)}},{key:"SR_DrawMosaic",value:function(A,e,t,i,a){if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;if(null==this.pSubDisplay)return BA.SR_ERR_CALL_ORDER;var r=BA.SR_OK;return(r=this.pSubDisplay.DrawMosaic(A,e,t,i,a))!=BA.SR_OK?r:BA.SR_OK}},{key:"DrawPTZLines",value:function(){if(null==this.pFishParamManager)return BA.SR_ERR_CALL_ORDER;var A=this.pFishParamManager.GetPTZDisplayMode();if(A==fA.SR_DM_RANGE||A==fA.SR_DM_RECT)for(var e=0,t={fR:0,fG:0,fB:0,fA:0},i=BA.SR_OK,a=0;a<32;++a)if(0!=this.pFishParamManager.IsPortAllocated(a)&&(e=2,i=this.pFishParamManager.GetPTZColor(a,t),BA.SR_OK==i)){1==this.pFishParamManager.IsPTZSelected(a)&&(e+=1);var r=this.pFishParamManager.GetWndPort();if(a!=r&&fA.SR_DM_RANGE==A)if(xA.SR_DE_FISH_ORIGINAL==this.pFishParamManager.GetDisplayEffect(r)){var n={};if(i=this.pFishParamManager.GetPTZPoints(a,n,fA.SR_DM_RANGE),BA.SR_OK!=i)continue;if(null!=n.pstPoints&&0!=n.nPointNum&&(i=this.SR_DrawLines(n.pstPoints,n.nPointNum,!0,t,e,!1),BA.SR_OK!=i))continue}else{var o;if((o=this.pFishParamManager.GetPTZFragmentNum(a))<=0)continue;for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;return null==this.ctx||null==this.pSubDisplay?BA.SR_ERR_CALL_ORDER:this.pSubDisplay.DrawFontEx(A,e,t,i)}},{key:"SR_DrawImage",value:function(A,e,t,i,a,r){return null==this.ctx||null==this.pSubDisplay?BA.SR_ERR_CALL_ORDER:this.pSubDisplay.DrawImage(A,e,t,i,a,r)}},{key:"SR_DelSubPort",value:function(A){return null==this.ctx||null==this.pSubDisplay?BA.SR_ERR_CALL_ORDER:(this.pSubDisplay.DelSubPort(),null!=this.pFishParamManager&&this.nFECPort==A&&this.pFishParamManager.FreeFECPort(this.nFECPort),this.enDisplayEffect=xA.SR_DE_NULL,this.pSubDisplay=null,BA.SR_OK)}},{key:"SR_GetFishParam",value:function(A){return null==A?BA.SR_ERR_PARAM:null==this.pFishParamManager?BA.SR_ERR_CALL_ORDER:this.pFishParamManager.GetFishParam(this.nFECPort,A)}},{key:"SR_SetFishParam",value:function(A){return null==A?BA.SR_ERR_PARAM:null==this.pFishParamManager?BA.SR_ERR_CALL_ORDER:this.pFishParamManager.SetFishParam(this.nFECPort,A)}},{key:"SR_Destroy",value:function(){if(null==this.ctx)return BA.SR_ERR_CALL_ORDER;this.frameDisplayWidth=0,this.frameDisplayHeight=0,this.pFrameData=null;for(var A=0;A=32)return BA.SR_ERR_PARAM;this.nWndPort==A&&(this.nWndPort=-1),null!=this.pRenderParam[A]&&(this.pRenderParam[A].fCosH=1,this.pRenderParam[A].fSinH=0,this.pRenderParam[A].fCosV=1,this.pRenderParam[A].fSinV=0,this.pRenderParam[A].fAngle=0,this.pRenderParam[A].fZoom=0,this.pRenderParam[A].fRX1=0,this.pRenderParam[A].fRX2=1,this.pRenderParam[A].fRY1=0,this.pRenderParam[A].fRY2=1,this.pRenderParam[A].nDisplayEffect=0,this.pRenderParam[A].bBlack=!1,this.pRenderParam[A].bCut=!1),null!=this.pFishParam[A]&&(this.pFishParam[A].nFishParamType=0,this.pFishParam[A].fRXLeft=0,this.pFishParam[A].fRXRight=1,this.pFishParam[A].fRYTop=0,this.pFishParam[A].fRYBottom=1,this.pFishParam[A].bBlack=!1,this.pFishParam[A].bCut=!1,this.pFishParam[A].fAngle=0,this.pFishParam[A].fZoom=0,this.pFishParam[A].fPTZX=.5,this.pFishParam[A].fPTZY=.5),this.nBasePTZPointNum[A]=0,this.nOriPTZPointNum[A]=0,this.nPanoPTZPointNum[A]=0,this.nPTZRectNum[A]=0;for(var e=0;e<4;++e)this.pRectPoints[A][e].fX=0,this.pRectPoints[A][e].fY=0;for(var t=0;t<1024;++t)this.pBasePTZPoints[A][t].fX=0,this.pBasePTZPoints[A][t].fY=0,this.pOriPTZPoints[A][t].fX=0,this.pOriPTZPoints[A][t].fY=0,this.pPanoPTZPoints[A][t].fX=0,this.pPanoPTZPoints[A][t].fY=0;if(this.pPTZSetColor[A].bSetColor&&(this.pPTZSetColor[A].fA=0,this.pPTZSetColor[A].fR=0,this.pPTZSetColor[A].fG=0,this.pPTZSetColor[A].fB=0,this.pPTZSetColor[A].bSetColor=!1),this.bPTZSelected[A]=!1,0!=this.nPlaceType){for(var i=!1,a=0;a<32;++a)if(null!=this.pRenderParam[a]&&(xA.SR_DE_FISH_PTZ_CEILING==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_PTZ_FLOOR==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_PTZ_WALL==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_PANORAMA_CEILING_360==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_PANORAMA_CEILING_180==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_PANORAMA_FLOOR_360==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_PANORAMA_FLOOR_180==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_PANORAMA_WALL==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_CYLINDER_CEILING==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_CYLINDER_FLOOR==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL==this.pRenderParam[a].nDisplayEffect)){i=!0;break}i||(this.nPlaceType=0)}for(var r=!1,n=0;n<32;++n)if(null!=this.pRenderParam[n]){r=!0;break}r||(this.fRX1=0,this.fRX2=1,this.fRY1=0,this.fRY2=1,this.bBlack=!1),this.nPTZFragmentNum[A]=0;for(var o=0;o<100;++o)this.nPTZFragmentNode[A][o]=0;return this.bPortAllocated[A]=!1,BA.SR_OK}},{key:"DeInit",value:function(){for(var A=0;A<32;++A){for(var e=0;e<4;++e)this.pRectPoints[A][e]=null;for(var t=0;t<1024;++t)this.pBasePTZPoints[A][t]=null,this.pOriPTZPoints[A][t]=null,this.pPanoPTZPoints[A][t]=null;this.nPTZFragmentNum[A]=0,this.nPTZFragmentNode[A]=null,this.bPortAllocated[A]=!1,this.bPTZSelected[A]=!1,this.pRenderParam[A]=null,this.pFishParam[A]=null,this.stPTZColor[A]=null,this.nBasePTZPointNum[A]=0,this.nOriPTZPointNum[A]=0,this.nPanoPTZPointNum[A]=0,this.nPTZRectNum[A]=0,this.pPanoPTZPoints[A]=null,this.pRectPoints[A]=null,this.pBasePTZPoints[A]=null,this.pOriPTZPoints[A]=null}return this.bPortAllocated=null,this.pRenderParam=null,this.pFishParam=null,this.stPTZColor=null,this.nBasePTZPointNum=null,this.nOriPTZPointNum=null,this.nPanoPTZPointNum=null,this.nPTZFragmentNum=null,this.pBasePTZPoints=null,this.pPanoPTZPoints=null,this.pRectPoints=null,this.nPTZRectNum=null,this.nPTZDisplayMode=fA.SR_DM_NULL,this.fRX1=0,this.fRX2=1,this.fRY1=0,this.fRY2=1,this.bBlack=!1,this.pOriPTZPoints=null,this.pBasePTZPoints=null,this.nWndPort=-1,this.nPlaceType=0,this.nPTZFragmentNode=null,this.bPTZSelected=null,this.nPTZDisplayMode=fA.SR_DM_RANGE,BA.SR_OK}},{key:"InitColorList",value:function(){this.stPTZColor[0].fR=.5,this.stPTZColor[0].fG=.5,this.stPTZColor[0].fB=0,this.stPTZColor[0].fA=1,this.stPTZColor[1].fR=1,this.stPTZColor[1].fG=0,this.stPTZColor[1].fB=0,this.stPTZColor[1].fA=1,this.stPTZColor[2].fR=0,this.stPTZColor[2].fG=1,this.stPTZColor[2].fB=0,this.stPTZColor[2].fA=1,this.stPTZColor[3].fR=0,this.stPTZColor[3].fG=0,this.stPTZColor[3].fB=1,this.stPTZColor[3].fA=1,this.stPTZColor[4].fR=1,this.stPTZColor[4].fG=1,this.stPTZColor[4].fB=0,this.stPTZColor[4].fA=1,this.stPTZColor[5].fR=.5,this.stPTZColor[5].fG=0,this.stPTZColor[5].fB=1,this.stPTZColor[5].fA=1,this.stPTZColor[6].fR=0,this.stPTZColor[6].fG=1,this.stPTZColor[6].fB=1,this.stPTZColor[6].fA=1,this.stPTZColor[7].fR=1,this.stPTZColor[7].fG=.5,this.stPTZColor[7].fB=0,this.stPTZColor[7].fA=1,this.stPTZColor[8].fR=0,this.stPTZColor[8].fG=.5,this.stPTZColor[8].fB=.5,this.stPTZColor[8].fA=1;for(var A=9;A<32;A++)this.stPTZColor[A].fR=1*A/32,this.stPTZColor[A].fG=1*A/32,this.stPTZColor[A].fB=1*A/32,this.stPTZColor[A].fA=1;return BA.SR_OK}},{key:"GetRangePoints",value:function(A){if(A<0||A>=32)return BA.SR_ERR_PARAM;if(null==this.pRenderParam[A])return BA.SR_ERR_CALL_ORDER;var e=0,t=0;switch(this.nOriPTZPointNum[A]=0,this.nBasePTZPointNum[A]=0,this.pRenderParam[A].nDisplayEffect){case xA.SR_DE_FISH_PTZ_CEILING:for(t=0;t<1;t+=.01)this.GetFishPTZCeiling(e,t,A);for(t=.9995,e=0;e<1;e+=.02)this.GetFishPTZCeiling(e,t,A);for(e=.999,t=.9995;t>=0;t-=.01)this.GetFishPTZCeiling(e,t,A);for(t=0,e=.999;e>=0;e-=.02)this.GetFishPTZCeiling(e,t,A);break;case xA.SR_DE_FISH_PTZ_FLOOR:for(t=0;t<1;t+=.01)this.GetFishPTZFloor(e,t,A);for(t=.9995,e=0;e<1;e+=.02)this.GetFishPTZFloor(e,t,A);for(e=.999,t=.9995;t>=0;t-=.01)this.GetFishPTZFloor(e,t,A);for(t=0,e=.999;e>=0;e-=.02)this.GetFishPTZFloor(e,t,A);break;case xA.SR_DE_FISH_PTZ_WALL:for(t=0;t<1;t+=.01)this.GetFishPTZWALL(e,t,A);for(t=.9995,e=0;e<1;e+=.02)this.GetFishPTZWALL(e,t,A);for(e=.999,t=.9995;t>=0;t-=.01)this.GetFishPTZWALL(e,t,A);for(t=0,e=.999;e>=0;e-=.02)this.GetFishPTZWALL(e,t,A);break;default:return BA.SR_ERR_NOT_SUPPORT}return BA.SR_OK}},{key:"TransformPTZRangePoints",value:function(A){if(-1==this.nWndPort)return BA.SR_ERR_CALL_ORDER;if(null==this.pBasePTZPoints[A]||null==this.pRenderParam[this.nWndPort])return BA.SR_ERR_CALL_ORDER;this.nPanoPTZPointNum[A]=0;var e=BA.SR_OK,t=this.nWndPort;switch(this.pRenderParam[t].nDisplayEffect){case xA.SR_DE_FISH_PANORAMA_WALL:if(e=this.GetPanoPTZWall(A),BA.SR_OK!=e)return e;break;case xA.SR_DE_FISH_PANORAMA_FLOOR_360:if(e=this.GetPanoPTZFloor(A),BA.SR_OK!=e)return e;break;case xA.SR_DE_FISH_PANORAMA_CEILING_360:if(e=this.GetPanoPTZCeiling(A),BA.SR_OK!=e)return e}return this.CalcPTZFragmentPoints(A),BA.SR_OK}},{key:"GetRectPoints",value:function(A){if(A<0||A>=32)return BA.SR_ERR_PARAM;if(-1==this.nWndPort)return BA.SR_ERR_CALL_ORDER;if(null==this.pRenderParam[this.nWndPort]||null==this.pFishParam[A])return BA.SR_ERR_CALL_ORDER;var e=this.pRenderParam[this.nWndPort].nDisplayEffect,t=BA.SR_OK,i={fX:0,fY:0};switch(e){case xA.SR_DE_FISH_PANORAMA_WALL:if(t=this.GetPointFish2PanoWall(i,this.pFishParam[A].fPTZX,this.pFishParam[A].fPTZY),BA.SR_OK!=t)return t;break;case xA.SR_DE_FISH_PANORAMA_FLOOR_360:if(t=this.GetPointFish2PanoFloor(i,this.pFishParam[A].fPTZX,this.pFishParam[A].fPTZY),BA.SR_OK!=t)return BA.SR_ERR_NOT_SUPPORT==t&&(this.pRectPoints[A]=null),t;break;case xA.SR_DE_FISH_PANORAMA_CEILING_360:if(t=this.GetPointFish2PanoCeiling(i,this.pFishParam[A].fPTZX,this.pFishParam[A].fPTZY),BA.SR_OK!=t)return BA.SR_ERR_NOT_SUPPORT==t&&(this.pRectPoints[A]=null),t;break;case xA.SR_DE_FISH_ORIGINAL:i.fX=this.pFishParam[A].fPTZX,i.fY=this.pFishParam[A].fPTZY}if(null==this.pRectPoints[A]){this.pRectPoints[A]=[];for(var a=0;a<4;++a)this.pRectPoints[A][a]={},this.pRectPoints[A][a].fX=0,this.pRectPoints[A][a].fY=0}return this.pRectPoints[A][0].fX=i.fX-.05,this.pRectPoints[A][0].fY=i.fY-.05,this.pRectPoints[A][1].fX=i.fX+.05,this.pRectPoints[A][1].fY=i.fY-.05,this.pRectPoints[A][2].fX=i.fX+.05,this.pRectPoints[A][2].fY=i.fY+.05,this.pRectPoints[A][3].fX=i.fX-.05,this.pRectPoints[A][3].fY=i.fY+.05,this.nPTZRectNum[A]=4,BA.SR_OK}},{key:"GetFishPTZCeiling",value:function(A,e,t){var i,a,r,n,o,s,g,l={fX:0,fY:0},C={fX:0,fY:0},I={fX:0,fY:0},c={};n=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),o=(this.fRX1+this.fRX2)/2*1,s=(this.fRY1+this.fRY2)/2*n,g=(this.fRX2-this.fRX1)/2*1,l.fX=e-.5,l.fY=.5-A,i=this.pRenderParam[t].fZoom,C.fX=l.fX,C.fY=l.fY*this.pRenderParam[t].fCosV+i*this.pRenderParam[t].fSinV,a=i*this.pRenderParam[t].fCosV-l.fY*this.pRenderParam[t].fSinV,r=Math.sqrt(C.fX*C.fX+C.fY*C.fY);var h=Math.sqrt(C.fX*C.fX+C.fY*C.fY+a*a),B=Math.asin(r/h)/1.5707963*.5;C.fX=B*C.fX/r,C.fY=B*C.fY/r,I.fX=C.fX*this.pRenderParam[t].fCosH-C.fY*this.pRenderParam[t].fSinH,I.fY=C.fX*this.pRenderParam[t].fSinH+C.fY*this.pRenderParam[t].fCosH,c.fX=2*I.fX*g+o,c.fY=2*-I.fY*g+s;var E=this.nBasePTZPointNum[t];this.pBasePTZPoints[t][E].fX=I.fX+.5,this.pBasePTZPoints[t][E].fY=.5-I.fY,this.nBasePTZPointNum[t]=this.nBasePTZPointNum[t]+1;var x=this.fRX1<=0?0:1*this.fRX1,d=this.fRY1<=0?0:this.fRY1*n,Q=this.fRX2>=1?1-x:1*this.fRX2-x,f=this.fRY2>=1?n-d:this.fRY2*n-d;if(c.fX=(c.fX-x)/Q,c.fY=(c.fY-d)/f,c.fX<=1&&c.fY<=1&&c.fX>=0&&c.fY>=0){var u=this.nOriPTZPointNum[t];this.pOriPTZPoints[t][u].fX=c.fX,this.pOriPTZPoints[t][u].fY=c.fY,this.nOriPTZPointNum[t]=this.nOriPTZPointNum[t]+1}return BA.SR_OK}},{key:"GetFishPTZFloor",value:function(A,e,t){var i,a,r,n,o,s,g,l={fX:0,fY:0},C={fX:0,fY:0},I={fX:0,fY:0},c={};n=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),o=(this.fRX1+this.fRX2)/2*1,s=(this.fRY1+this.fRY2)/2*n,g=(this.fRX2-this.fRX1)/2*1,l.fX=A-.5,l.fY=e-.5,i=this.pRenderParam[t].fZoom,C.fX=l.fX,C.fY=l.fY*this.pRenderParam[t].fCosV+i*this.pRenderParam[t].fSinV,a=i*this.pRenderParam[t].fCosV-l.fY*this.pRenderParam[t].fSinV,r=Math.sqrt(C.fX*C.fX+C.fY*C.fY);var h=Math.sqrt(C.fX*C.fX+C.fY*C.fY+a*a),B=Math.asin(r/h)/1.5707963*.5;C.fX=B*C.fX/r,C.fY=B*C.fY/r,I.fX=C.fX*this.pRenderParam[t].fCosH-C.fY*this.pRenderParam[t].fSinH,I.fY=C.fX*this.pRenderParam[t].fSinH+C.fY*this.pRenderParam[t].fCosH,c.fX=2*I.fX*g+o,c.fY=2*I.fY*g+s;var E=this.nBasePTZPointNum[t];this.pBasePTZPoints[t][E].fX=I.fX+.5,this.pBasePTZPoints[t][E].fY=I.fY+.5,this.nBasePTZPointNum[t]=this.nBasePTZPointNum[t]+1;var x=this.fRX1<=0?0:1*this.fRX1,d=this.fRY1<=0?0:this.fRY1*n,Q=this.fRX2>=1?1-x:1*this.fRX2-x,f=this.fRY2>=1?n-d:this.fRY2*n-d;if(c.fX=(c.fX-x)/Q,c.fY=(c.fY-d)/f,c.fX<=1&&c.fY<=1&&c.fX>=0&&c.fY>=0){var u=this.nOriPTZPointNum[t];this.pOriPTZPoints[t][u].fX=c.fX,this.pOriPTZPoints[t][u].fY=c.fY,this.nOriPTZPointNum[t]=this.nOriPTZPointNum[t]+1}return BA.SR_OK}},{key:"GetFishPTZWALL",value:function(A,e,t){var i,a,r,n,o,s,g,l,C={fX:0,fY:0},I={fX:0,fY:0},c={fX:0,fY:0},h={};o=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),s=(this.fRX1+this.fRX2)/2*1,g=(this.fRY1+this.fRY2)/2*o,l=(this.fRX2-this.fRX1)/2*1,C.fX=e-.5,C.fY=A-.5,i=this.pRenderParam[t].fZoom,I.fX=C.fX,I.fY=C.fY*this.pRenderParam[t].fCosV+i*this.pRenderParam[t].fSinV,a=i*this.pRenderParam[t].fCosV-C.fY*this.pRenderParam[t].fSinV,c.fX=I.fX*this.pRenderParam[t].fCosH+a*this.pRenderParam[t].fSinH,c.fY=I.fY,r=a*this.pRenderParam[t].fCosH-I.fX*this.pRenderParam[t].fSinH,n=Math.sqrt(c.fX*c.fX+c.fY*c.fY);var B=Math.sqrt(c.fX*c.fX+c.fY*c.fY+r*r),E=Math.asin(n/B)/1.5707963*.5;h.fX=E*c.fX/n*l*2+s,h.fY=E*c.fY/n*l*2+g;var x=this.nBasePTZPointNum[t];this.pBasePTZPoints[t][x].fX=E*c.fX/n+.5,this.pBasePTZPoints[t][x].fY=E*c.fY/n+.5,this.nBasePTZPointNum[t]=this.nBasePTZPointNum[t]+1;var d=this.fRX1<=0?0:1*this.fRX1,Q=this.fRY1<=0?0:this.fRY1*o,f=this.fRX2>=1?1-d:1*this.fRX2-d,u=this.fRY2>=1?o-Q:this.fRY2*o-Q;if(h.fX=(h.fX-d)/f,h.fY=(h.fY-Q)/u,h.fX<=1&&h.fY<=1&&h.fX>=0&&h.fY>=0){var p=this.nOriPTZPointNum[t];this.pOriPTZPoints[t][p].fX=h.fX,this.pOriPTZPoints[t][p].fY=h.fY,this.nOriPTZPointNum[t]=this.nOriPTZPointNum[t]+1}return BA.SR_OK}},{key:"GetPanoPTZCeiling",value:function(A){if(null==this.pRenderParam[A]||null==this.pRenderParam[this.nWndPort])return BA.SR_ERR_CALL_ORDER;if(null==this.pBasePTZPoints[A])return BA.SR_ERR_CALL_ORDER;var e,t,i=this.nBasePTZPointNum[A];e=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),t=(this.fRX2-this.fRX1)/2*1;var a,r=0;(this.fRX2>1||this.fRY2>1||this.fRY1<0||this.fRX1<0)&&(this.fRX1<0&&(a=1*-this.fRX1)>r&&(r=a),this.fRX2>1&&(a=1*(this.fRX2-1))>r&&(r=a),this.fRY1<0&&(a=-this.fRY1*e)>r&&(r=a),this.fRY2>1&&(a=(this.fRY2-1)*e)>r&&(r=a));for(var n,o=r/t,s={fX:0,fY:0},g={fX:0,fY:0},l=0;l0&&(n=6.2831852-n),s.fX=n/6.2831853,s.fY=(2*(.5-c)-o)/(.8-o),s.fY>=0&&s.fX>=0&&s.fY<=1&&s.fX<=1){var B=this.nPanoPTZPointNum[A];this.pPanoPTZPoints[A][B].fX=s.fX,this.pPanoPTZPoints[A][B].fY=s.fY,this.nPanoPTZPointNum[A]=this.nPanoPTZPointNum[A]+1}}return BA.SR_OK}},{key:"GetPanoPTZFloor",value:function(A){if(null==this.pRenderParam[A]||null==this.pRenderParam[this.nWndPort])return BA.SR_ERR_CALL_ORDER;if(null==this.pBasePTZPoints[A])return BA.SR_ERR_CALL_ORDER;var e,t,i=this.nBasePTZPointNum[A];e=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),t=(this.fRX2-this.fRX1)/2*1;var a,r=0;(this.fRX2>1||this.fRY2>1||this.fRY1<0||this.fRX1<0)&&(this.fRX1<0&&(a=1*-this.fRX1)>r&&(r=a),this.fRX2>1&&(a=1*(this.fRX2-1))>r&&(r=a),this.fRY1<0&&(a=-this.fRY1*e)>r&&(r=a),this.fRY2>1&&(a=(this.fRY2-1)*e)>r&&(r=a));for(var n,o=r/t,s={fX:0,fY:0},g={fX:0,fY:0},l=0;l0&&(n=6.2831852-n),s.fX=1-n/6.2831853,s.fY=1-(2*(.5-c)-o)/(.8-o),s.fY>=0&&s.fX>=0&&s.fY<=1&&s.fX<=1){var B=this.nPanoPTZPointNum[A];this.pPanoPTZPoints[A][B].fX=s.fX,this.pPanoPTZPoints[A][B].fY=s.fY,this.nPanoPTZPointNum[A]=this.nPanoPTZPointNum[A]+1}}return BA.SR_OK}},{key:"GetPanoPTZWall",value:function(A){if(null==this.pRenderParam[A]||null==this.pRenderParam[this.nWndPort])return BA.SR_ERR_CALL_ORDER;if(null==this.pBasePTZPoints[A])return BA.SR_ERR_CALL_ORDER;var e,t,i=this.nBasePTZPointNum[A];e=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),t=(this.fRX2-this.fRX1)/2*1;var a,r,n,o,s,g=0,l=1,C=.1,I=.9;this.fRX1<0&&(a=1*-this.fRX1,g=a/=2*t),this.fRX2>1&&(r=1*(this.fRX2-1),l=1-(r/=2*t)),this.fRY1<0&&(n=-this.fRY1*e,C=(n/=2*t)>.1?n:.1),this.fRY2>1&&(o=(this.fRY2-1)*e,I=(o/=2*t)>1-.9?1-o:.9);for(var c={fX:0,fY:0},h={fX:0,fY:0},B=0;B=0&&c.fX>=0&&c.fY<=1&&c.fX<=1)){var d=this.nPanoPTZPointNum[A];this.pPanoPTZPoints[A][d].fX=c.fX,this.pPanoPTZPoints[A][d].fY=c.fY,this.nPanoPTZPointNum[A]=this.nPanoPTZPointNum[A]+1}}return BA.SR_OK}},{key:"GetPointPano2FishCeiling",value:function(A,e,t){if(null==A||null==this.pRenderParam[this.nWndPort])return BA.SR_ERR_CALL_ORDER;var i,a;i=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),a=(this.fRX2-this.fRX1)/2*1;var r,n=0,o=1,s=0,g=1,l=0;(this.fRX2>1||this.fRY2>1||this.fRX1<0||this.fRY1<0)&&(this.fRX1<0&&((r=1*-this.fRX1)>l&&(l=r),n=r/=2*a),this.fRX2>1&&((r=1*(this.fRX2-1))>l&&(l=r),o=1-(r/=2*a)),this.fRY1<0&&((r=-this.fRY1*i)>l&&(l=r),s=r/=2*a),this.fRY2>1&&((r=(this.fRY2-1)*i)>l&&(l=r),g=1-(r/=2*a)));var C,I,c=l/a,h={},B={};return h.fX=e,h.fY=(.8-c)*t+c,C=6.2831853*h.fX+this.pRenderParam[this.nWndPort].fAngle,I=.5*(1-h.fY),B.fX=.5-I*Math.sin(C),B.fY=.5+I*Math.cos(C),B.fX=(B.fX-n)/(o-n),B.fY=(B.fY-s)/(g-s),A.fX=B.fX,A.fY=B.fY,BA.SR_OK}},{key:"GetPointPano2FishFloor",value:function(A,e,t){if(null==this.pRenderParam[this.nWndPort])return BA.SR_ERR_CALL_ORDER;if(null==A)return BA.SR_ERR_PARAM;var i,a;i=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),a=(this.fRX2-this.fRX1)/2*1;var r,n=0,o=1,s=0,g=1,l=0;(this.fRX2>1||this.fRY2>1||this.fRX1<0||this.fRY1<0)&&(this.fRX1<0&&((r=1*-this.fRX1)>l&&(l=r),n=r/=2*a),this.fRX2>1&&((r=1*(this.fRX2-1))>l&&(l=r),o=1-(r/=2*a)),this.fRY1<0&&((r=-this.fRY1*i)>l&&(l=r),s=r/=2*a),this.fRY2>1&&((r=(this.fRY2-1)*i)>l&&(l=r),g=1-(r/=2*a)));var C,I,c=l/a,h={},B={};return h.fX=1-e,h.fY=(.8-c)*(1-t)+c,C=6.2831853*h.fX+this.pRenderParam[this.nWndPort].fAngle,I=.5*(1-h.fY),B.fX=.5-I*Math.sin(C),B.fY=.5+I*Math.cos(C),B.fX=(B.fX-n)/(o-n),B.fY=(B.fY-s)/(g-s),A.fX=B.fX,A.fY=B.fY,BA.SR_OK}},{key:"GetPointPano2FishWall",value:function(A,e,t){if(null==this.pRenderParam[this.nWndPort])return BA.SR_ERR_CALL_ORDER;if(null==A)return BA.SR_ERR_PARAM;var i,a;i=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),a=(this.fRX2-this.fRX1)/2*1;var r,n,o,s,g=0,l=1,C=.1,I=.9,c=0,h=1,B=0,E=1;this.fRX1<0&&(r=1*-this.fRX1,g=r/=2*a,c=r),this.fRX2>1&&(n=1*(this.fRX2-1),l=1-(n/=2*a),h=1-n),this.fRY1<0&&(o=-this.fRY1*i,C=(o/=2*a)>.1?o:.1,B=o),this.fRY2>1&&(s=(this.fRY2-1)*i,I=(s/=2*a)>1-.9?1-s:.9,E=1-s);var x={},d={};x.fX=e*(l-g)+g,x.fY=t*(I-C)+C;var Q=Math.sqrt(.25-(x.fY-.5)*(x.fY-.5));return d.fX=(x.fX-.5)*Q/.5+.5,d.fY=x.fY,d.fX=(d.fX-c)/(h-c),d.fY=(d.fY-B)/(E-B),A.fX=d.fX,A.fY=d.fY,BA.SR_OK}},{key:"UpdatePTZPosition",value:function(A,e,t){if(null==this.pRenderParam[A])return BA.SR_ERR_CALL_ORDER;var i={fHAngleSin:0,fHAngleCos:0,fVAngleSin:0,fVAngleCos:0},a=BA.SR_OK;if(xA.SR_DE_FISH_PTZ_FLOOR==this.pRenderParam[A].nDisplayEffect||xA.SR_DE_FISH_PTZ_CEILING==this.pRenderParam[A].nDisplayEffect){if((a=this.ComputeAngleVertical(e,t,i,this.pRenderParam[A].nDisplayEffect))!=BA.SR_OK)return a}else{if(xA.SR_DE_FISH_PTZ_WALL!=this.pRenderParam[A].nDisplayEffect)return BA.SR_ERR_NOT_SUPPORT;if((a=this.ComputeAngleHorizontal(e,t,i))!=BA.SR_OK)return a}return 0==this.IsInImage(this.fRX1,this.fRX2,this.fRY1,this.fRY2,i,this.pRenderParam[A].fZoom,this.pRenderParam[A].nDisplayEffect)?BA.SR_ERR_PARAM:(this.pRenderParam[A].fCosH=i.fHAngleCos,this.pRenderParam[A].fSinH=i.fHAngleSin,this.pRenderParam[A].fCosV=i.fVAngleCos,this.pRenderParam[A].fSinV=i.fVAngleSin,BA.SR_OK)}},{key:"JudgeDisplayEffect",value:function(A){var e=0;switch(e){case 0:return e=this.GetPlaceType(A),4==this.nPlaceType&&(this.nPlaceType=0),BA.SR_OK;case 3:return(e=this.GetPlaceType(A))==this.nPlaceType||4==this.nPlaceType?BA.SR_OK:BA.SR_ERR_NOT_SUPPORT;case 2:case 1:return(e=this.GetPlaceType(A))==this.nPlaceType||4==e?BA.SR_OK:BA.SR_ERR_NOT_SUPPORT;default:return BA.SR_ERR_NOT_SUPPORT}return BA.SR_ERR_NOT_SUPPORT}},{key:"GetPlaceType",value:function(A){switch(A){case xA.SR_DE_FISH_PTZ_CEILING:case xA.SR_DE_FISH_PANORAMA_CEILING_360:case xA.SR_DE_FISH_PANORAMA_CEILING_180:case xA.SR_DE_FISH_CYLINDER_CEILING:case xA.SR_DE_FISH_CYLINDER_SPLIT_CEILING:return 3;case xA.SR_DE_FISH_PTZ_FLOOR:case xA.SR_DE_FISH_PANORAMA_FLOOR_360:case xA.SR_DE_FISH_PANARAMA_FLOOR_180:case xA.SR_DE_FISH_CYLINDER_FLOOR:case xA.SR_DE_FISH_CYLINDER_SPLIT_FLOOR:return 2;case xA.SR_DE_FISH_PTZ_WALL:case xA.SR_DE_FISH_PANORAMA_WALL:case xA.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:case xA.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:return 1;case xA.SR_DE_FISH_SEMISPHERE:case xA.SR_DE_FISH_ORIGINAL:case xA.SR_DE_FISH_PLANET:case xA.SR_DE_PANORAMA_SPHERE:case xA.SR_DE_PANORAMA_PLANET:return 4;default:return 0}return 0}},{key:"SetFishParam",value:function(A,e){if(A<0||A>=32)return BA.SR_ERR_PARAM;if(null==e)return BA.SR_ERR_PARAM;if(null==this.pRenderParam[A])return BA.SR_ERR_CALL_ORDER;var t=BA.SR_OK;switch(e.nFishParamType){case QA.SR_FPT_CENTER:if((t=this.UpdateCircyeParam(e.fRXLeft,e.fRXRight,e.fRYTop,e.fRYBottom))!=BA.SR_OK)return t;this.pRenderParam[A].bCut=e.bCut,this.bBlack=e.bBlack;break;case QA.SR_FPT_ANGLE:if(xA.SR_DE_FISH_PANORAMA_CEILING_360!=this.pRenderParam[A].nDisplayEffect&&xA.SR_DE_FISH_PANORAMA_CEILING_180!=this.pRenderParam[A].nDisplayEffect&&xA.SR_DE_FISH_PANORAMA_FLOOR_360!=this.pRenderParam[A].nDisplayEffect&&xA.SR_DE_FISH_PANORAMA_FLOOR_180!=this.pRenderParam[A].nDisplayEffect)return BA.SR_ERR_NOT_SUPPORT;if((t=this.UpdateWideScanAngle(A,e.fAngle))!=BA.SR_OK)return t;this.pFishParam[A].fAngle=e.fAngle;break;case QA.SR_FPT_ZOOM:if(xA.SR_DE_FISH_PTZ_WALL!=this.pRenderParam[A].nDisplayEffect&&xA.SR_DE_FISH_PTZ_CEILING!=this.pRenderParam[A].nDisplayEffect&&xA.SR_DE_FISH_PTZ_FLOOR!=this.pRenderParam[A].nDisplayEffect)return BA.SR_ERR_NOT_SUPPORT;if((t=this.UpdateRangeParam(A,e.fZoom))!=BA.SR_OK)return t;this.pFishParam[A].fZoom=e.fZoom;break;case QA.SR_FPT_PTZ:if(xA.SR_DE_FISH_PTZ_WALL!=this.pRenderParam[A].nDisplayEffect&&xA.SR_DE_FISH_PTZ_CEILING!=this.pRenderParam[A].nDisplayEffect&&xA.SR_DE_FISH_PTZ_FLOOR!=this.pRenderParam[A].nDisplayEffect)return BA.SR_ERR_NOT_SUPPORT;if((t=this.UpdatePTZPosition(A,e.fPTZX,e.fPTZY,this.pRenderParam[A].fZoom,!0))!=BA.SR_OK)return t;this.pFishParam[A].fPTZX=e.fPTZX,this.pFishParam[A].fPTZY=e.fPTZY;break;case QA.SR_FPT_NULL:default:return BA.SR_ERR_NOT_SUPPORT}return this.ComputePTZPoints(),BA.SR_OK}},{key:"GetFishParam",value:function(A,e){return A<0||A>=32||null==e||null==this.pFishParam[A]?BA.SR_ERR_PARAM:(e.fRXLeft=this.fRX1,e.fRXRight=this.fRX2,e.fRYTop=this.fRY1,e.fRYBottom=this.fRY2,e.bBlack=this.bBlack,e.bCut=this.pRenderParam[A].bCut,e.nFishParamType=this.pFishParam[A].nFishParamType,e.fAngle=this.pFishParam[A].fAngle,e.fZoom=this.pFishParam[A].fZoom,e.fPTZX=this.pFishParam[A].fPTZX,e.fPTZY=this.pFishParam[A].fPTZY,BA.SR_OK)}},{key:"GetRenderParam",value:function(A,e){return A<0||A>=32||null==e||null==this.pRenderParam[A]?BA.SR_ERR_PARAM:(e.fRXLeft=this.fRX1,e.fRXRight=this.fRX2,e.fRYTop=this.fRY1,e.fRYBottom=this.fRY2,e.bBlack=this.bBlack,e.fCosH=this.pRenderParam[A].fCosH,e.fSinH=this.pRenderParam[A].fSinH,e.fCosV=this.pRenderParam[A].fCosV,e.fSinV=this.pRenderParam[A].fSinV,e.fAngle=this.pRenderParam[A].fAngle,e.fZoom=this.pRenderParam[A].fZoom,e.nDisplayEffect=this.pRenderParam[A].nDisplayEffect,e.bCut=this.pRenderParam[A].bCut,BA.SR_OK)}},{key:"UpdateCircyeParam",value:function(A,e,t,i){if(A<=-.5||A>=.4||e<=.6||e>=1.5||t<=-.5||t>=.4||i<=.6||i>=1.5||A+e<=.8||A+e>=1.2||t+i<=.8||t+i>=1.2)return BA.SR_ERR_PARAM;if(A<0||e>1||t<0||i>1)for(var a=0;a<32;++a)if(null!=this.pRenderParam[a]&&(xA.SR_DE_FISH_PTZ_CEILING==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_PTZ_FLOOR==this.pRenderParam[a].nDisplayEffect||xA.SR_DE_FISH_PTZ_WALL==this.pRenderParam[a].nDisplayEffect)){var r={};if(r.fHAngleCos=this.pRenderParam[a].fCosH,r.fHAngleSin=this.pRenderParam[a].fSinH,r.fVAngleCos=this.pRenderParam[a].fCosV,r.fVAngleSin=this.pRenderParam[a].fSinV,0==this.IsInImage(A,e,t,i,r,this.pRenderParam[a].fZoom,this.pRenderParam[a].nDisplayEffect))return BA.SR_ERR_PARAM}return this.fRX1=A,this.fRX2=e,this.fRY1=t,this.fRY2=i,BA.SR_OK}},{key:"UpdateWideScanAngle",value:function(A,e){return null==this.pRenderParam[A]?BA.SR_ERR_CALL_ORDER:(xA.SR_DE_FISH_PANORAMA_FLOOR_360==this.pRenderParam[A].nDisplayEffect||xA.SR_DE_FISH_PANORAMA_FLOOR_180==this.pRenderParam[A].nDisplayEffect?this.pRenderParam[A].fAngle=e:xA.SR_DE_FISH_PANORAMA_CEILING_360!=this.pRenderParam[A].nDisplayEffect&&xA.SR_DE_FISH_PANORAMA_CEILING_180!=this.pRenderParam[A].nDisplayEffect||(this.pRenderParam[A].fAngle=-e),BA.SR_OK)}},{key:"ComputeAngleVertical",value:function(A,e,t,i){var a=A,r=e,n=Math.sqrt((r-.5)*(r-.5)+(a-.5)*(a-.5));if(n>.5)return BA.SR_ERR_PARAM;if(n<.001)return t.fVAngleCos=1,t.fVAngleSin=0,t.fHAngleCos=1,t.fHAngleSin=0,BA.SR_OK;if(i==xA.SR_DE_FISH_PTZ_CEILING){t.fHAngleCos=(.5-r)/n,t.fHAngleSin=(.5-a)/n;var o=n*cA;t.fVAngleCos=Math.cos(o),t.fVAngleSin=Math.sin(o)}else{if(i!=xA.SR_DE_FISH_PTZ_FLOOR)return BA.SR_ERR_PARAM;t.fHAngleCos=(r-.5)/n,t.fHAngleSin=(.5-a)/n;var s=n*cA;t.fVAngleCos=Math.cos(s),t.fVAngleSin=Math.sin(s)}return BA.SR_OK}},{key:"ComputeAngleHorizontal",value:function(A,e,t){var i,a,r,n,o,s,g,l=A,C=e;return(C-(o=.5))*(C-o)+(l-o)*(l-o)>.25?BA.SR_ERR_PARAM:(s=(C-o)/o*cA/2,i=Math.cos(s),a=Math.sin(s),(l-o)/o/i>1||(l-o)/o/i<-1?BA.SR_ERR_PARAM:(g=(l-o)/o/i*cA/2,r=Math.cos(g),n=Math.sin(g),t.fVAngleCos=i,t.fVAngleSin=a,t.fHAngleCos=r,t.fHAngleSin=n,BA.SR_OK))}},{key:"IsInImage",value:function(A,e,t,i,a,r,n){return 1!=this.IsOutofImage(A,e,t,i,a.fHAngleCos,a.fHAngleSin,a.fVAngleCos,a.fVAngleSin,r,1,.5,n)&&1!=this.IsOutofImage(A,e,t,i,a.fHAngleCos,a.fHAngleSin,a.fVAngleCos,a.fVAngleSin,r,0,.5,n)&&1!=this.IsOutofImage(A,e,t,i,a.fHAngleCos,a.fHAngleSin,a.fVAngleCos,a.fVAngleSin,r,.5,1,n)&&1!=this.IsOutofImage(A,e,t,i,a.fHAngleCos,a.fHAngleSin,a.fVAngleCos,a.fVAngleSin,r,.5,0,n)&&1!=this.IsOutofImage(A,e,t,i,a.fHAngleCos,a.fHAngleSin,a.fVAngleCos,a.fVAngleSin,r,0,0,n)&&1!=this.IsOutofImage(A,e,t,i,a.fHAngleCos,a.fHAngleSin,a.fVAngleCos,a.fVAngleSin,r,0,1,n)&&1!=this.IsOutofImage(A,e,t,i,a.fHAngleCos,a.fHAngleSin,a.fVAngleCos,a.fVAngleSin,r,1,1,n)&&1!=this.IsOutofImage(A,e,t,i,a.fHAngleCos,a.fHAngleSin,a.fVAngleCos,a.fVAngleSin,r,1,0,n)}},{key:"IsOutofImage",value:function(A,e,t,i,a,r,n,o,s,g,l,C){var I,c,h,B,E,x,d,Q,f,u,p,m,_;if(p=(A+e)/2*1,m=(t+i)/2*(u=(e-A)/(i-t)),_=(e-A)/2*1,C==xA.SR_DE_FISH_PTZ_CEILING){if(c=g-.5,h=(I=.5-l)*n+(x=s)*o,(d=x*n-I*o)<=0)return!0;f=Math.sqrt(c*c+h*h);var y=Math.sqrt(c*c+h*h+d*d),S=Math.asin(f/y)/1.5707963*.5;if(E=(-((c=S*c/f)*r+(h=S*h/f)*a)*_*2+m)/u,(B=((c*a-h*r)*_*2+p)/1)<0||B>1||E<0||E>1)return!0}if(C==xA.SR_DE_FISH_PTZ_FLOOR){if(c=g-.5,h=(I=l-.5)*n+(x=s)*o,(d=x*n-I*o)<=0)return!0;f=Math.sqrt(c*c+h*h);var D=Math.sqrt(c*c+h*h+d*d),R=Math.asin(f/D)/1.5707963*.5;if(E=(((c=R*c/f)*r+(h=R*h/f)*a)*_*2+m)/u,(B=((c*a-h*r)*_*2+p)/1)<0||B>1||E<0||E>1)return!0}if(C==xA.SR_DE_FISH_PTZ_WALL){if(B=(c=g-.5)*a+(d=(x=s)*n-(I=l-.5)*o)*r,E=h=I*n+x*o,(Q=d*a-c*r)<=0)return!0;f=Math.sqrt(B*B+E*E);var F=Math.sqrt(B*B+E*E+Q*Q),w=Math.asin(f/F)/1.5707963*.5;if(E=(w*E/f*_*2+m)/u,(B=(w*B/f*_*2+p)/1)<0||B>1||E<0||E>1)return!0}return!1}},{key:"ComputePTZPoints",value:function(){if(-1==this.nWndPort)return BA.SR_ERR_CALL_ORDER;for(var A=0;A<32;++A)if(null!=this.pRenderParam[A]&&(xA.SR_DE_FISH_PTZ_CEILING==this.pRenderParam[A].nDisplayEffect||xA.SR_DE_FISH_PTZ_FLOOR==this.pRenderParam[A].nDisplayEffect||xA.SR_DE_FISH_PTZ_WALL==this.pRenderParam[A].nDisplayEffect)){var e=BA.SR_OK;if(this.nPTZDisplayMode==fA.SR_DM_RANGE){if(e=this.GetRangePoints(A),BA.SR_OK!=e)continue;if(e=this.TransformPTZRangePoints(A),BA.SR_OK!=e)continue}else if(this.nPTZDisplayMode==fA.SR_DM_RECT&&(e=this.GetRectPoints(A),BA.SR_OK!=e))continue}return BA.SR_OK}},{key:"GetWndPort",value:function(){return this.nWndPort}},{key:"GetPTZDisplayMode",value:function(){return this.nPTZDisplayMode}},{key:"GetPTZColor",value:function(A,e){return A<0||A>=32||null==e?BA.SR_ERR_PARAM:(e.fA=this.stPTZColor[A].fA,e.fR=this.stPTZColor[A].fR,e.fG=this.stPTZColor[A].fG,e.fB=this.stPTZColor[A].fB,this.pPTZSetColor[A].bSetColor&&(Math.abs(this.pPTZSetColor[A].fA)<1e-6||Math.abs(this.pPTZSetColor[A].fR)<1e-6||Math.abs(this.pPTZSetColor[A].fG)<1e-6||Math.abs(this.pPTZSetColor[A].fB)<1e-6)&&(e.fA=this.pPTZSetColor[A].fA,e.fR=this.pPTZSetColor[A].fR,e.fG=this.pPTZSetColor[A].fG,e.fB=this.pPTZSetColor[A].fB),BA.SR_OK)}},{key:"SetPTZColor",value:function(A,e){return A<0||A>=32||null==e?BA.SR_ERR_PARAM:(this.pPTZSetColor[A].fR=e.fR,this.pPTZSetColor[A].fG=e.fG,this.pPTZSetColor[A].fB=e.fB,this.pPTZSetColor[A].fA=e.fA,this.pPTZSetColor[A].bSetColor=!0,BA.SR_OK)}},{key:"IsPTZSelected",value:function(A){return!(A<0||A>=32)&&this.bPTZSelected[A]}},{key:"GetPTZPort",value:function(A,e,t){if(-1==this.nWndPort)return BA.SR_ERR_CALL_ORDER;if(null==this.pRenderParam[this.nWndPort])return BA.SR_ERR_CALL_ORDER;var i=32,a={};a.fX=A,a.fY=e;for(var r=0;r<32;++r)this.bPTZSelected[r]=!1;if(this.nPTZDisplayMode==fA.SR_DM_RANGE){switch(this.pRenderParam[this.nWndPort].nDisplayEffect){case xA.SR_DE_FISH_PANORAMA_FLOOR_360:this.GetPointPano2FishFloor(a,A,e);break;case xA.SR_DE_FISH_PANORAMA_CEILING_360:this.GetPointPano2FishCeiling(a,A,e);break;case xA.SR_DE_FISH_PANORAMA_WALL:this.GetPointPano2FishWall(a,A,e)}for(var n=0;n<32;++n)if(0!=this.nOriPTZPointNum[n]){var o={};o.fX=this.pOriPTZPoints[n][0].fX,o.fY=this.pOriPTZPoints[n][0].fY;var s={};s.fX=this.pOriPTZPoints[n][0].fX,s.fY=this.pOriPTZPoints[n][0].fY;for(var g=1;g=s.fX&&a.fY>=s.fY&&a.fY<=o.fY){i=n;break}}}else{if(this.nPTZDisplayMode!=fA.SR_DM_RECT)return BA.SR_ERR_NOT_SUPPORT;for(var l=0;l<32;++l)if(a.fX<=this.pRectPoints[l][2].fX&&a.fX>=this.pRectPoints[l][0].fX&&a.fY>=this.pRectPoints[l][0].fY&&a.fY<=this.pRectPoints[l][2].fY){i=l;break}}return i<32?(this.bPTZSelected[i]=!0,t.nPTZPort=i,BA.SR_OK):BA.SR_ERR_NOT_SUPPORT}},{key:"SetPTZPort",value:function(A){if(A<0||A>=32)return BA.SR_ERR_PARAM;for(var e=0;e<32;++e)this.bPTZSelected[e]=!1;if(this.nPTZDisplayMode==fA.SR_DM_RANGE){if(0==this.nOriPTZPointNum[A])return BA.SR_ERR_PARAM;this.bPTZSelected[A]=!0}else{if(0==this.nPTZRectNum[A])return BA.SR_ERR_PARAM;this.bPTZSelected[A]=!0}return BA.SR_OK}},{key:"GetPTZRectange",value:function(A,e,t){return t.fXA.fX&&(A.fX=t.fX),t.fY>A.fY&&(A.fY=t.fY),BA.SR_OK}},{key:"GetPTZPoints",value:function(A,e,t){return A<0||A>=32?BA.SR_ERR_PARAM:null==this.pRenderParam[this.nWndPort]?BA.SR_ERR_CALL_ORDER:(fA.SR_DM_RANGE==t?null!=this.pOriPTZPoints[A]&&0!=this.nOriPTZPointNum[A]&&(e.pstPoints=this.pOriPTZPoints[A],e.nPointNum=this.nOriPTZPointNum[A]):fA.SR_DM_RECT==t&&null!=this.pRectPoints[A]&&(e.pstPoints=this.pRectPoints[A],e.nPointNum=4),BA.SR_OK)}},{key:"SetPTZDisplayMode",value:function(A){return this.nPTZDisplayMode=A,this.ComputePTZPoints()}},{key:"GetDisplayEffect",value:function(A){return A<0||A>=32||null==this.pRenderParam?xA.SR_DE_NULL:this.pRenderParam[A].nDisplayEffect}},{key:"GetPTZFragmentPoints",value:function(A,e,t){if(A<0||A>=32)return BA.SR_ERR_PARAM;if(null==this.pPanoPTZPoints[A]||0==this.nPanoPTZPointNum[A])return BA.SR_ERR_PARAM;var i=this.nPTZFragmentNode[A][t];if(e.nPointNum=this.nPTZFragmentNode[A][t+1]-this.nPTZFragmentNode[A][t],e.nPointNum<0)return BA.SR_ERR_CALL_ORDER;e.pstPoints=[];for(var a=0;a=32||0==this.nPTZFragmentNum[A]?0:this.nPTZFragmentNum[A]}},{key:"CalcPTZFragmentPoints",value:function(A){if(A<0||A>=32)return BA.SR_ERR_PARAM;if(null==this.pPanoPTZPoints[A]||0==this.nPanoPTZPointNum[A])return BA.SR_ERR_CALL_ORDER;this.nPTZFragmentNode[A][0]=0,this.nPTZFragmentNum[A]=1;for(var e=0,t=0;t.5&&(e=this.nPTZFragmentNum[A],this.nPTZFragmentNode[A][e]=t+1,this.nPTZFragmentNum[A]=this.nPTZFragmentNum[A]+1);var i=this.nPanoPTZPointNum[A];return Math.abs(this.pPanoPTZPoints[A][0].fX-this.pPanoPTZPoints[A][i-1].fX)<.5&&(this.pPanoPTZPoints[A][i].fX=this.pPanoPTZPoints[A][0].fX,this.pPanoPTZPoints[A][i].fY=this.pPanoPTZPoints[A][0].fY,this.nPanoPTZPointNum[A]=this.nPanoPTZPointNum[A]+1),e=this.nPTZFragmentNum[A],this.nPTZFragmentNode[A][e]=this.nPanoPTZPointNum[A],BA.SR_OK}},{key:"IsPortAllocated",value:function(A){return this.bPortAllocated[A]}},{key:"GetPointFish2PanoCeiling",value:function(A,e,t){if(null==this.pRenderParam[this.nWndPort])return BA.SR_ERR_CALL_ORDER;if(null==A)return BA.SR_ERR_PARAM;var i,a;i=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),a=(this.fRX2-this.fRX1)/2*1;var r,n=0;(this.fRX2>1||this.fRY2>1||this.fRX1<0||this.fRY1<0)&&(this.fRX1<0&&(r=1*-this.fRX1)>n&&(n=r),this.fRX2>1&&(r=1*(this.fRX2-1))>n&&(n=r),this.fRY1<0&&(r=-this.fRY1*i)>n&&(n=r),this.fRY2>1&&(r=(this.fRY2-1)*i)>n&&(n=r));var o,s=n/a,g={fX:0,fY:0};if(Math.abs(e-.5)<1e-6&&Math.abs(t-.5)<1e-6)return BA.SR_ERR_NOT_SUPPORT;var l={},C={};l.fX=e-.5,l.fY=t-.5,C.fX=-.5*Math.sin(this.pRenderParam[this.nWndPort].fAngle),C.fY=.5*Math.cos(this.pRenderParam[this.nWndPort].fAngle);var I=Math.sqrt(l.fX*l.fX+l.fY*l.fY),c=Math.sqrt(C.fX*C.fX+C.fY*C.fY);return o=Math.acos((l.fX*C.fX+l.fY*C.fY)/(I*c)),l.fX*C.fY-l.fY*C.fX>0&&(o=6.2831852-o),g.fX=o/6.2831853,g.fY=(2*(.5-I)-s)/(.8-s),g.fY>=0&&g.fX>=0&&g.fY<=1&&g.fX<=1?(A.fX=g.fX,A.fY=g.fY,BA.SR_OK):BA.SR_ERR_PARAM}},{key:"GetPointFish2PanoFloor",value:function(A,e,t){if(null==this.pRenderParam[this.nWndPort])return BA.SR_ERR_CALL_ORDER;if(null==A)return BA.SR_ERR_PARAM;var i,a;i=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),a=(this.fRX2-this.fRX1)/2*1;var r,n=0;(this.fRX2>1||this.fRY2>1||this.fRX1<0||this.fRY1<0)&&(this.fRX1<0&&(r=1*-this.fRX1)>n&&(n=r),this.fRX2>1&&(r=1*(this.fRX2-1))>n&&(n=r),this.fRY1<0&&(r=-this.fRY1*i)>n&&(n=r),this.fRY2>1&&(r=(this.fRY2-1)*i)>n&&(n=r));var o,s=n/a,g={fX:0,fY:0};if(Math.abs(e-.5)<1e-6&&Math.abs(t-.5)<1e-6)return BA.SR_ERR_NOT_SUPPORT;var l={},C={};l.fX=e-.5,l.fY=t-.5,C.fX=-.5*Math.sin(this.pRenderParam[this.nWndPort].fAngle),C.fY=.5*Math.cos(this.pRenderParam[this.nWndPort].fAngle);var I=Math.sqrt(l.fX*l.fX+l.fY*l.fY),c=Math.sqrt(C.fX*C.fX+C.fY*C.fY);return o=Math.acos((l.fX*C.fX+l.fY*C.fY)/(I*c)),l.fX*C.fY-l.fY*C.fX>0&&(o=6.2831852-o),g.fX=1-o/6.2831853,g.fY=1-(2*(.5-I)-s)/(.8-s),g.fY>=0&&g.fX>=0&&g.fY<=1&&g.fX<=1?(A.fX=g.fX,A.fY=g.fY,BA.SR_OK):BA.SR_ERR_PARAM}},{key:"GetPointFish2PanoWall",value:function(A,e,t){if(null==this.pRenderParam[this.nWndPort])return BA.SR_ERR_CALL_ORDER;if(null==A)return BA.SR_ERR_PARAM;var i,a;i=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),a=(this.fRX2-this.fRX1)/2*1;var r,n,o,s,g,l=0,C=1,I=.1,c=.9;this.fRX1<0&&(r=1*-this.fRX1,l=r/=2*a),this.fRX2>1&&(n=1*(this.fRX2-1),C=1-(n/=2*a)),this.fRY1<0&&(o=-this.fRY1*i,I=(o/=2*a)>.1?o:.1),this.fRY2>1&&(s=(this.fRY2-1)*i,c=(s/=2*a)>1-.9?1-s:.9);var h={fX:0,fY:0},B=2*e*a,E=2*t*a;return g=Math.sqrt(a*a-(E-a)*(E-a)),Math.abs(g)<1e-6?BA.SR_ERR_PARAM:(e=a*(B-a)/g+a,t=E,h.fX=(e-2*l*a)/(2*(C-l)*a),h.fY=(t-2*I*a)/(2*(c-I)*a),h.fY>=0&&h.fX>=0&&h.fY<=1&&h.fX<=1?(A.fX=h.fX,A.fY=h.fY,BA.SR_OK):BA.SR_ERR_PARAM)}},{key:"UpdateRangeParam",value:function(A,e){if(null==this.pRenderParam[A])return BA.SR_ERR_CALL_ORDER;if(e<1e-5||e>.6)return BA.SR_ERR_PARAM;var t=0;return xA.SR_DE_FISH_PTZ_WALL!=this.pRenderParam[A].nDisplayEffect&&xA.SR_DE_FISH_PTZ_CEILING!=this.pRenderParam[A].nDisplayEffect&&xA.SR_DE_FISH_PTZ_FLOOR!=this.pRenderParam[A].nDisplayEffect||(t=7*e+.8,this.IsInImage(this.fRX1,this.fRX2,this.fRY1,this.fRY2,this.pRenderParam[A].fCosH,this.pRenderParam[A].fSinH,this.pRenderParam[A].fCosV,this.pRenderParam[A].fSinV,t,this.pRenderParam[A].nDisplayEffect))?(this.pRenderParam[A].fZoom=t,BA.SR_OK):BA.SR_ERR_PARAM}}]),A}(),JA=CA.Dv,HA=CA.CF,OA=CA.bC,KA=function(){function t(){A(this,t),this.canvas=null,this.ctx=null,this.regionSx=0,this.regionSy=0,this.regionSw=0,this.regionSh=0,this.needRect=!1,this.bAntialias=!1,this.bRecreateAntia=!1,this.pfuncCBIn=null,this.pUserIn=null,this.pfuncCBOut=null,this.pUserOut=null}return e(t,[{key:"SR_Init",value:function(A){this.canvas=A,this.ctx=this.canvas.getContext("2d"),console.log("2d render init"),this.ctx||console.log("your browser does not support 2d render")}},{key:"SR_Draw",value:function(A){return this.needRect?this.ctx.drawImage(A,this.regionSx,this.regionSy,this.regionSw,this.regionSh,0,0,this.canvas.width,this.canvas.height):this.ctx.drawImage(A,0,0,A.displayWidth,A.displayHeight,0,0,this.canvas.width,this.canvas.height),null!=this.pfuncCBIn&&this.pfuncCBIn(this.pUserIn),1}},{key:"SR_UpdateFrameData",value:function(A,e,t,i,a){return this.needRect?this.ctx.drawImage(A,this.regionSx,this.regionSy,this.regionSw,this.regionSh,0,0,this.canvas.width,this.canvas.height):this.ctx.drawImage(A,0,0,e,t,0,0,this.canvas.width,this.canvas.height),null!=this.pfuncCBIn&&this.pfuncCBIn(this.pUserIn),1}},{key:"SR_Display",value:function(A){return 1}},{key:"SR_GetCaptureSize",value:function(){return 0}},{key:"GetCanvasData",value:function(A){console.log("%c start time:"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds(),"color: blue");var e=this.ctx.getImageData(0,0,this.canvas.width,this.canvas.height);console.log("%c 2 time:"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds(),"color: blue");var t=document.createElement("canvas"),i=t.getContext("2d");t.width=this.canvas.width,t.height=this.canvas.height,i.putImageData(e,0,0);var a=t.toDataURL(),r=document.createElement("a");r.download=(new Date).getTime()+".jpeg",r.href=a,r.dataset.downloadurl=["image/jpeg",r.download,r.href].join(":"),document.body.appendChild(r),r.click(),document.body.removeChild(r),console.log("%c end time:"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds(),"color: blue")}},{key:"SR_DelSubPort",value:function(A){return 0}},{key:"SR_AddSubPort",value:function(A){return 0}},{key:"SR_SetDisplayRect",value:function(A,e,t,i){this.regionSx=A,this.regionSy=e,this.regionSw=t,this.regionSh=i,this.needRect=!0}},{key:"SR_Destroy",value:function(){this.canvas=null,this.ctx=null,this.regionSx=0,this.regionSy=0,this.regionSw=0,this.regionSh=0,this.needRect=!1}},{key:"SR_SetCanvasSize",value:function(A,e){this.canvas.width=A,this.canvas.height=e}},{key:"SR_GetCanvasSize",value:function(){console.log("canvas width:"+this.canvas.width+",height:"+this.canvas.height)}},{key:"SR_SetAntialias",value:function(A){return A!=this.bAntialias?(this.bAntialias=A,this.bRecreateAntia=!0):this.bRecreateAntia=!1,this.bRecreateAntia&&(this.bAntialias?(this.canvas.width=5*this.canvas.width,this.canvas.height=5*this.canvas.height,this.canvas.style.transform="scale(0.2)",this.canvas.style.transformOrigin="0 0"):(this.canvas.width=this.canvas.width/5,this.canvas.height=this.canvas.height/5,this.canvas.style.transform="scale(1)",this.canvas.style.transformOrigin="0 0")),1}},{key:"SR_SetCallBack",value:function(A,e,t){switch(t){case OA.SRCALLBACKTYPE.SR_CBT_NULL:this.pfuncCBIn=A,this.pUserIn=e;break;case OA.SRCALLBACKTYPE.SR_CBT_OUT:this.pfuncCBOut=A,this.pUserOut=e;break;default:return 0}return 1}},{key:"SR_DrawFont",value:function(A,e,t,i,a,r,n,o,s){var g=[],l={};return l.bBackground=r,l.nFontWidth=i,l.nFontHeight=a,l.pstBGColor=n,l.pstFontColor=t,l.pString=A,l.pstStartPos=e,l.fRotateAngle=o,l.pFontFamily=s,g.push(l),this.SR_DrawFontEx(g,1),1}},{key:"SR_DrawFontEx",value:function(A,e){for(var t=0;t=0&&console.log("2d render");else{if(this.oVideoHandle=new HA,this.mainFECCorrect!=OA.SRDISPLAYEFFECT.SR_DE_NULL)null==this.pFishParamManager&&(this.pFishParamManager=new JA),this.oVideoHandle.SR_SetFishParamManager(this.pFishParamManager),this.hasSetFECParamManager=!0;else{null==this.pFishParamManager&&(this.pFishParamManager=new JA),this.oVideoHandle.SR_SetFishParamManager(this.pFishParamManager),this.hasSetFECParamManager=!0;var i=OA.SRDISPLAYEFFECT.SR_DE_NULL;i=1==this.panoramaDisplayEffect?OA.SRDISPLAYEFFECT.SR_DE_PANORAMA_SPHERE:3==this.panoramaDisplayEffect?OA.SRDISPLAYEFFECT.SR_DE_PANORAMA_PLANET:OA.SRDISPLAYEFFECT.SR_DE_NULL,this.mainFECCorrect=i}this.printfFlag>=0&&console.log("webgl render this.printfFlag:"+this.printfFlag)}return this.enPixelFormat=t,this.oVideoHandle.SR_Init(A,t),this.mainVaildSubPort=this.oVideoHandle.SR_AddSubPort(this.mainFECCorrect),-1==this.mainVaildSubPort?(console.info("%c InitDisplay SR_AddSubPort error subport:%d","color: red",this.mainVaildSubPort),0):(this.mainFECCorrect==OA.SRDISPLAYEFFECT.SR_DE_PANORAMA_SPHERE&&this.oVideoHandle.SR_SetViewParam(this.viewParamType,this.viewParamValue),1)}},{key:"ReleaseDisplay",value:function(){if(null!=this.oVideoHandle&&(this.oVideoHandle.SR_DelSubPort(this.mainVaildSubPort),this.oVideoHandle.SR_Destroy(),this.oVideoHandle=null),this.subPortNum>0)for(var A=1;A0))for(var C=1;C0&&(i=this.stFishEyeManager[t].pRender),null!=i){if(i.SR_SetCanvasSize(A,e),0!=this.pstWaterFontParamArray[t].length&&null!=this.pstWaterFontParam)if(1==this.pstWaterFontParam.pstCanvasAdapt.nCanvasAdaptMode)this.pstWaterFontParamArray[t].splice(0,this.pstWaterFontParamArray[t].length),this.CalculateWaterMarkParam(i,t,this.pstWaterFontParam);else if(2==this.pstWaterFontParam.pstCanvasAdapt.nCanvasAdaptMode){var a=this.mainCanvasID.width,r=this.mainCanvasID.height;t>0&&(a=this.stFishEyeManager[t].sCanvasID.width,r=this.stFishEyeManager[t].sCanvasID.height);for(var n=0;n>>VideoRender.js SR_SetRenderState failed ret:%08x\n",r)}}return this.FECShowMode>0&&null!=this.stFishEyeManager[A].pRender&&this.stFishEyeManager[A].pRender.SR_SetPTZDisplayMode(this.FECShowMode),0==A&&(this.mainVaildSubPort=this.stFishEyeManager[A].nValidSubPort),1}},{key:"FEC_GetPort",value:function(A,e){if(0!=e&&e!=H&&e!=O&&e!=V&&e!=J&&e!=K&&e!=W&&e!=q&&e!=j)return console.log("%c 20231112 hardDecoder not support emCorrectType:%d","color:red",e),this.FECErrorCode=P,-1;var t;if(1!=this.FECParamJudge(-1,A,e))return console.log("VideoRender.js FEC_GetPort FECParamJudge Get error"),-1;var i=0;for(t=1;t31||null==A?(console.info("%c FEC_Enable-1 nSubPort:%d","color: red",A),this.FECErrorCode=G,0):null!==this.stFishEyeManager[A].pRender?(console.info("%c FEC_Enable-2 nSubPort:%d","color: red",A),this.FECErrorCode=1301,0):(null==this.stFishEyeManager[A].pRender&&(this.stFishEyeManager[A].pRender=new HA,null==this.pFishParamManager&&(this.pFishParamManager=new JA),this.stFishEyeManager[A].pRender.SR_SetFishParamManager(this.pFishParamManager)),1)}},{key:"FEC_SetWnd",value:function(A,e){if(A<1||A>31||null==A)return console.info("%c FEC_SetWnd-1 nSubPort:%d","color: red",A),this.FECErrorCode=G,0;if(null==this.stFishEyeManager[A].pRender)return console.info("%c FEC_SetWnd-2 nSubPort:%d pRender is null","color: red",A),this.FECErrorCode=k,0;if(0==this.stFishEyeManager[A].bUsed)return console.info("%c FEC_SetWnd-3 nSubPort:%d bUsed:%d","color: red",A,this.stFishEyeManager[A].bUsed),this.FECErrorCode=N,0;if(null==e)return console.info("%c FEC_SetWnd-4 nSubPort:%d sCanvasID:%s","color: red",A,e),this.FECErrorCode=1305,0;if(0!=this.stFishEyeManager[A].nSubPort&&0!=this.stFishEyeManager[A].bUsed){if(0!=this.stFishEyeManager[A].bInited&&null!=this.stFishEyeManager[A].sCanvasID)return e!=this.stFishEyeManager[A].sCanvasID?(console.info("%c FEC_SetWnd-5 nSubPort:%d sCanvasID:%s already init","color: red",A,e),this.FECErrorCode=1286,0):1;var t=OA.SRDISPLAYEFFECT.SR_DE_FISH_ORIGINAL;t=this._ConvertDisplayEffect(this.stFishEyeManager[A].emPlaceType,this.stFishEyeManager[A].emCorrectType);var i=this.stFishEyeManager[A].pRender.SR_Init(e,this.enPixelFormat),a=this.stFishEyeManager[A].pRender.SR_AddSubPort(t);if(-1==a)return console.info("%c FEC_SetWnd SR_AddSubPort error subport:%d","color: red",A),0;if(this.stFishEyeManager[A].nValidSubPort=a,OA.ERRCODE.SR_OK!=i)return this.stFishEyeManager[A].bInited=0,this.stFishEyeManager[A].sCanvasID=null,this.FECErrorCode=N,0;if(this.stFishEyeManager[A].bInited=1,this.stFishEyeManager[A].sCanvasID=e,V<=this.stFishEyeManager[A].emCorrectType){var r=this.stFishEyeManager[A].pRender.SR_SetRenderState(OA.SRRENDERSTATETYPE.SR_RST_BACK_CULL,0);OA.ERRCODE.SR_OK!=r&&console.log(">>>VideoRender.js SR_SetRenderState failed ret:%08x\n",r)}return this.stFishEyeManager[A].pRender.SR_SetCallBack(this.WebGLDisplaySubCallBack,{nUser:this,handle:this.stFishEyeManager[A].pRender,nSubPort:A},OA.SRCALLBACKTYPE.SR_CBT_NULL),null!=this.pstWaterFontParam&&this.SetWaterMarkFont(this.pstWaterFontParam),this.FECShowMode>0&&this.stFishEyeManager[A].pRender.SR_SetPTZDisplayMode(this.FECShowMode),1}return this.FECErrorCode=N,0}},{key:"FEC_Disable",value:function(A,e,t){if(A<1||A>31||null==A)return console.info("%c FEC_Disable-1 nSubPort:%d","color: red",A),this.FECErrorCode=G,0;if(1==this.stFishEyeManager[A].bInited&&null!=this.stFishEyeManager[A].pRender){if(OA.ERRCODE.SR_OK!=this.stFishEyeManager[A].pRender.SR_DelSubPort(this.stFishEyeManager[A].nValidSubPort))return console.info("%c FEC_Disable-2 SR_DelSubPort error nSubPort:%d","color: red",A),0;this.stFishEyeManager[A].bInited=0,this.stFishEyeManager[A].nValidSubPort=-1,this.stFishEyeManager[A].pRender.SR_Destroy(),this.stFishEyeManager[A].pRender=null}return 1}},{key:"FEC_DelPort",value:function(A){return A<1||A>31||null==A?(console.info("%c FEC_DelPort-1 nSubPort:%d","color: red",A),this.FECErrorCode=G,0):0==this.stFishEyeManager[A].bUsed?(console.info("%c FEC_DelPort-2 nSubPort:%d bUsed:%d","color: red",A,this.stFishEyeManager[A].bUsed),this.FECErrorCode=N,0):(this.stFishEyeManager[A].nSubPort=0,this.stFishEyeManager[A].sCanvasID=null,this.stFishEyeManager[A].bUsed=0,this.stFishEyeManager[A].bInited=0,this.stFishEyeManager[A].nValidSubPort=0,this.stFishEyeManager[A].emPlaceType=3,this.stFishEyeManager[A].emCorrectType=0,this.stFishEyeManager[A].emEffect=OA.SRDISPLAYEFFECT.SR_DE_FISH_ORIGINAL,this.stFishParam[A].stCycleParam.fRadiusLeft=0,this.stFishParam[A].stCycleParam.fRadiusRight=1,this.stFishParam[A].stCycleParam.fRadiusTop=0,this.stFishParam[A].stCycleParam.fRadiusBottom=1,this.subPortNum>0&&this.subPortNum--,1)}},{key:"FEC_SetParam",value:function(A,e){if(this.FECErrorCode=0,A<0||A>31||null==A)return console.info("%c FEC_SetParam-1 nSubPort:%d","color: red",A),this.FECErrorCode=G,0;if(null==this.stFishEyeManager[A].pRender)return console.info("%c FEC_SetParam-2 nSubPort:%d pRender:%d","color: red",A,this.stFishEyeManager[A].pRender),this.FECErrorCode=k,0;if(0==this.stFishEyeManager[A].bUsed)return console.info("%c FEC_SetParam-3 nSubPort:%d bUsed:%d","color: red",A,this.stFishEyeManager[A].bUsed),this.FECErrorCode=N,0;if(this.stFishEyeManager[A].emCorrectType>=V&&this.stFishEyeManager[A].emCorrectType<=j&&30&e.upDateType)return console.info("%c FEC_SetParam-4 nSubPort:%d not 3D","color: red",A),this.FECErrorCode=Y,0;if(1&e.upDateType){if(null==e.stCycleParam)return this.FECErrorCode=L,0;for(var t=1;t=.4||e.stCycleParam.fRadiusRight<=.6||e.stCycleParam.fRadiusRight>=1.5||e.stCycleParam.fRadiusTop<=-.5||e.stCycleParam.fRadiusTop>0||e.stCycleParam.fRadiusBottom<1||e.stCycleParam.fRadiusBottom>=1.5||e.stCycleParam.fRadiusLeft+e.stCycleParam.fRadiusRight<=.8||e.stCycleParam.fRadiusLeft+e.stCycleParam.fRadiusRight>=1.2||e.stCycleParam.fRadiusTop+e.stCycleParam.fRadiusBottom<=.8||e.stCycleParam.fRadiusTop+e.stCycleParam.fRadiusBottom>=1.2))return this.FECErrorCode=L,0;if(this.stFishEyeManager[t].bUsed&&this.stFishEyeManager[t].nSubPort&&j==this.stFishEyeManager[t].emCorrectType&&(e.stCycleParam.fRadiusLeft<=-.5||e.stCycleParam.fRadiusLeft>0||e.stCycleParam.fRadiusRight<1||e.stCycleParam.fRadiusRight>=1.5||e.stCycleParam.fRadiusTop<=-.5||e.stCycleParam.fRadiusTop>=.4||e.stCycleParam.fRadiusBottom<=.6||e.stCycleParam.fRadiusBottom>=1.5||e.stCycleParam.fRadiusLeft+e.stCycleParam.fRadiusRight<=.8||e.stCycleParam.fRadiusLeft+e.stCycleParam.fRadiusRight>=1.2||e.stCycleParam.fRadiusTop+e.stCycleParam.fRadiusBottom<=.8||e.stCycleParam.fRadiusTop+e.stCycleParam.fRadiusBottom>=1.2))return this.FECErrorCode=L,0}}if(0==this.stFishEyeManager[A].bInited){if(4&e.upDateType){if(H!=this.stFishEyeManager[A].emCorrectType&&O!=this.stFishEyeManager[A].emCorrectType||1==this.stFishEyeManager[A].emPlaceType)return this.FECErrorCode=Y,0;for(var i=1;i255||e.stPTZColor.nG>255||e.stPTZColor.nB>255||e.stPTZColor.nAlpha>255)return this.FECErrorCode=Y,0;this.stFishParam[A].stPTZColor.nR=e.stPTZColor.nR,this.stFishParam[A].stPTZColor.nG=e.stPTZColor.nG,this.stFishParam[A].stPTZColor.nB=e.stPTZColor.nB,this.stFishParam[A].stPTZColor.nAlpha=e.stPTZColor.nAlpha}if(8&e.upDateType){if(J!=this.stFishEyeManager[A].emCorrectType)return this.FECErrorCode=Y,0;this.stFishParam[A].stPTZParam.fPTZPositionX=e.fPTZParam.fPTZPositionX,this.stFishParam[A].stPTZParam.fPTZPositionY=e.fPTZParam.fPTZPositionY}if(2&e.upDateType){if(J!=this.stFishEyeManager[A].emCorrectType)return this.FECErrorCode=Y,0;this.stFishParam[A].fZoom=e.fPTZZoom}if(32&e.upDateType){if(null==this.stFishParam.stPTZSelect)return 0;if(J!=this.stFishEyeManager[A].emCorrectType)return this.FECErrorCode=Y,0;this.stFishParam.stPTZSelect.fTop=e.stPTZSelect.fTop,this.stFishParam.stPTZSelect.fBottom=e.stPTZSelect.fBottom,this.stFishParam.stPTZSelect.fLeft=e.stPTZSelect.fLeft,this.stFishParam.stPTZSelect.fRight=e.stPTZSelect.fRight}if(1&e.upDateType){if(null==e.stCycleParam)return this.FECErrorCode=L,0;if(0==this._IsValidRadiusParam(e.stCycleParam))return this.FECErrorCode=L,0;this.stFishParam[0].stCycleParam.fRadiusLeft=e.stCycleParam.fRadiusLeft,this.stFishParam[0].stCycleParam.fRadiusRight=e.stCycleParam.fRadiusRight,this.stFishParam[0].stCycleParam.fRadiusTop=e.stCycleParam.fRadiusTop,this.stFishParam[0].stCycleParam.fRadiusBottom=e.stCycleParam.fRadiusBottom}return 1}if(4&e.upDateType){if(H!=this.stFishEyeManager[A].emCorrectType&&O!=this.stFishEyeManager[A].emCorrectType||1==this.stFishEyeManager[A].emPlaceType)return this.FECErrorCode=Y,0;for(var a=1;a255||e.stPTZColor.nG>255||e.stPTZColor.nB>255||e.stPTZColor.nAlpha>255)return this.FECErrorCode=Y,0;var n={};if(n.fR=e.stPTZColor.nR/255,n.fG=e.stPTZColor.nG/255,n.fB=e.stPTZColor.nB/255,n.fA=e.stPTZColor.nAlpha/255,OA.ERRCODE.SR_OK!=this.stFishEyeManager[A].pRender.SR_SetPTZColor(A,n))return this.FECErrorCode=M,M;this.stFishParam[A].stPTZColor.nR=e.stPTZColor.nR,this.stFishParam[A].stPTZColor.nG=e.stPTZColor.nG,this.stFishParam[A].stPTZColor.nB=e.stPTZColor.nB,this.stFishParam[A].stPTZColor.nAlpha=e.stPTZColor.nAlpha}if(8&e.upDateType){if(J!=this.stFishEyeManager[A].emCorrectType)return this.FECErrorCode=Y,0;var o={};o.nFishParamType=OA.SRFISHPARAMTYPE.SR_FPT_PTZ,o.bBlack=0,o.fPTZX=e.fPTZParam.fPTZPositionX,o.fPTZY=e.fPTZParam.fPTZPositionY;var s=this.stFishEyeManager[A].pRender.SR_SetFishParam(o);if(OA.ERRCODE.SR_OK!=s)return this.FECErrorCode=M,0;this.stFishParam[A].stPTZParam.fPTZPositionX=e.fPTZParam.fPTZPositionX,this.stFishParam[A].stPTZParam.fPTZPositionY=e.fPTZParam.fPTZPositionY}if(2&e.upDateType){if(J!=this.stFishEyeManager[A].emCorrectType)return this.FECErrorCode=Y,0;var g={};if(g.nFishParamType=OA.SRFISHPARAMTYPE.SR_FPT_ZOOM,g.bBlack=0,g.fZoom=e.fPTZZoom,OA.ERRCODE.SR_OK!=this.stFishEyeManager[A].pRender.SR_SetFishParam(g))return this.FECErrorCode=M,0;this.stFishParam[A].fZoom=e.fPTZZoom}if(1&e.upDateType){if(0==this._IsValidRadiusParam(e.stCycleParam))return this.FECErrorCode=L,0;var l={};if(l.nFishParamType=OA.SRFISHPARAMTYPE.SR_FPT_CENTER,l.bBlack=1,l.fRXLeft=e.stCycleParam.fRadiusLeft,l.fRXRight=e.stCycleParam.fRadiusRight,l.fRYTop=e.stCycleParam.fRadiusTop,l.fRYBottom=e.stCycleParam.fRadiusBottom,OA.ERRCODE.SR_OK!=this.stFishEyeManager[A].pRender.SR_SetFishParam(this.stFishEyeManager[A].nValidSubPort,l))return this.FECErrorCode=L,0;this.stFishParam[0].stCycleParam.fRadiusLeft=e.stCycleParam.fRadiusLeft,this.stFishParam[0].stCycleParam.fRadiusRight=e.stCycleParam.fRadiusRight,this.stFishParam[0].stCycleParam.fRadiusTop=e.stCycleParam.fRadiusTop,this.stFishParam[0].stCycleParam.fRadiusBottom=e.stCycleParam.fRadiusBottom}return 32&e.upDateType&&J==this.stFishEyeManager[A].emCorrectType&&OA.ERRCODE.SR_OK!=this.stFishEyeManager[A].pRender.SR_SetFishParam(this.stFishEyeManager[A].stPTZSelect)?(this.FECErrorCode=1299,0):(null!=this.pstWaterFontParam&&this.pstWaterFontParam.nColorAdapt&&(this.pstWaterFontParamArray[A].splice(A,this.pstWaterFontParamArray[A].length),this.CalculateWaterMarkParam(this.stFishEyeManager[A].pRender,A,this.pstWaterFontParam)),1)}},{key:"FEC_GetParam",value:function(A,e){return A<0||A>31||null==A?(console.info("%c FEC_GetParam-1 nSubPort:%d","color: red",A),this.FECErrorCode=G,0):null==this.stFishEyeManager[A].pRender?(console.info("%c FEC_GetParam-2 pRender:%d","color: red",this.stFishEyeManager[A].pRender),this.FECErrorCode=k,0):(this.stFishEyeManager[A].pRender.SR_GetFishParam(e),e.emCorrectType=this.stFishEyeManager[A].emCorrectType,1)}},{key:"_IsValidRadiusParam",value:function(A){return A.fRadiusBottom<=A.fRadiusTop||A.fRadiusRight<=A.fRadiusLeft?0:1}},{key:"FEC_SetViewParam",value:function(A,e,t){return A<0||A>31||null==A?(console.info("%c FEC_SetViewParam-1 nSubPort:%d","color: red",A),this.FECErrorCode=G,0):null==this.stFishEyeManager[A].pRender?(console.info("%c FEC_SetViewParam-2 pRender:%d","color: red",this.stFishEyeManager[A].pRender),this.FECErrorCode=k,0):eOA.SRVIEWTYPE.SR_VT_SCALE?(this.FECErrorCode=U,0):(this.FECErrorCode=0,0==this.stFishEyeManager[A].bInited?(this.FECErrorCode=N,0):V<=this.stFishEyeManager[A].emCorrectType?OA.ERRCODE.SR_OK!=this.stFishEyeManager[A].pRender.SR_SetViewParam(e,t)?(this.FECErrorCode=U,0):(null!=this.pstWaterFontParam&&this.pstWaterFontParam.nColorAdapt&&(this.pstWaterFontParamArray[A].splice(0,this.pstWaterFontParamArray[A].length),this.CalculateWaterMarkParam(this.stFishEyeManager[A].pRender,A,this.pstWaterFontParam)),1):(this.FECErrorCode=Y,0))}},{key:"FEC_GetViewParam",value:function(A,e,t){return t.fValue=-1,A<0||A>31||null==A?(console.info("%c FEC_GetViewParam-1 nSubPort:%d","color: red",A),this.FECErrorCode=G,0):null==this.stFishEyeManager[A].pRender?(console.info("%c FEC_GetViewParam-2 pRender:%d","color: red",this.stFishEyeManager[A].pRender),this.FECErrorCode=k,0):e<1||e>3||0==this.stFishEyeManager[A].bInited?0:(V<=this.stFishEyeManager[A].emCorrectType&&this.stFishEyeManager[A].pRender.SR_GetViewParam(e,t),1)}},{key:"FEC_SetDisplayRegion",value:function(A,e,t,i,a,r,n){return A<0||A>31||null==A?(console.info("%c FEC_SetDisplayRegion-1 nSubPort:%d","color: red",A),this.FECErrorCode=G,0):null==this.stFishEyeManager[A].pRender?(console.info("%c FEC_SetDisplayRegion-2 pRender:%d","color: red",this.stFishEyeManager[A].pRender),this.FECErrorCode=k,0):0!=e||0!=t?(this.FECErrorCode=U,0):0!=this.stFishEyeManager[A].emCorrectType&&this.stFishEyeManager[A].emCorrectType!=H&&this.stFishEyeManager[A].emCorrectType!=O&&this.stFishEyeManager[A].emCorrectType!=K?(this.FECErrorCode=T,0):0==this.stFishEyeManager[A].bInited?(this.FECErrorCode=N,0):i<0||a<0||r<0||n<0?(this.FECErrorCode=U,0):OA.ERRCODE.SR_OK!=this.stFishEyeManager[A].pRender.SR_SetDisplayRect(i,a,r,n,OA.SRSETRECTTYPE.SR_SRT_SRC)?(this.FECErrorCode=1297,0):(null!=this.pstWaterFontParam&&this.pstWaterFontParam.nColorAdapt&&(this.pstWaterFontParamArray[A].splice(0,this.pstWaterFontParamArray[A].length),this.CalculateWaterMarkParam(this.stFishEyeManager[A].pRender,A,this.pstWaterFontParam)),1)}},{key:"FEC_SetBackCilling",value:function(A,e){return A<0||A>31||null==A?(this.FECErrorCode=G,0):null==this.stFishEyeManager[A].pRender?(this.FECErrorCode=k,0):0==this.stFishEyeManager[A].bInited?(this.FECErrorCode=N,0):OA.ERRCODE.SR_OK!=this.stFishEyeManager[A].pRender.SR_SetRenderState(OA.SRRENDERSTATETYPE.SR_RST_BACK_CULL,e)?(this.FECErrorCode=1297,0):(null!=this.pstWaterFontParam&&this.pstWaterFontParam.nColorAdapt&&(this.pstWaterFontParamArray[A].splice(0,this.pstWaterFontParamArray[A].length),this.CalculateWaterMarkParam(this.stFishEyeManager[A].pRender,A,this.pstWaterFontParam)),1)}},{key:"FEC_GetPTZPort",value:function(A,e,t){if(null!=this.stFishEyeManager[A].pRender){var i={nPTZPort:-1};if(this.stFishEyeManager[A].pRender.SR_GetPTZPort(e,t,i)==OA.ERRCODE.SR_OK)return i.nPTZPort}return-1}},{key:"FEC_SetPTZDisplayMode",value:function(A){return A>=0&&A<=2?(null!=this.stFishEyeManager[0].pRender&&this.stFishEyeManager[0].pRender.SR_SetPTZDisplayMode(A),this.FECShowMode=A,1):(console.info("%c FEC_SetPTZDisplayMode ptzMode:%d","color: red",A),0)}},{key:"FEC_Capture",value:function(A,e){if(null!=this.stFishEyeManager[A].pRender){var t={nWidth:0,nHeight:0,nBufferLen:0},i=this.stFishEyeManager[A].pRender.SR_GetCaptureSize(t);if(OA.ERRCODE.SR_OK!=i||t.nBufferLen<=0)return e(null,0,0,A),0;var a=new Uint8Array(t.nBufferLen);if(null==a)return e(null,0,0,A),0;var r={};return r.pBuffer=a,this.stFishEyeManager[A].pRender.SR_CaptureScreen(r),e(a,t.nWidth,t.nHeight,A),a=null,1}return e(null,0,0,A),0}},{key:"CheckFrameRGB",value:function(A,e,t,i,a,r){if(null==A||null==A.width||null==A.height||null==A.pBuffer||A.width<=0||A.height<=0||A.pBuffer.length<=0)return 0;for(var n=A.width/(i-1),o=A.height/(t-1),s=0,g=0,l=[],C=0;C128?0:1}else{var u=Math.round(a*A.width),p=Math.round(r*A.height),m=u-2;m=(m=m>0?m:0)0?_:0)0?y:0)0?S:0)128?0:1}return 1}},{key:"GetWaterFontParam",value:function(A,e,t,i,a,r,n){var o=t.pFontString.length,s=t.pstFontRotate.fRotateAngle%360/360*2*Math.PI,g=Math.min(t.pstFontSize.nFontWidth,t.pstFontSize.nFontHeight);if(2==t.pstCanvasAdapt.nCanvasAdaptMode){var l=t.pstFontSize.nFontWidth*i/t.pstCanvasAdapt.nBaseCanvasWidth,C=t.pstFontSize.nFontHeight*a/t.pstCanvasAdapt.nBaseCanvasHeight;g=Math.min(l,C)}var I=g/i,c=g/a,h=I*Math.cos(Math.PI/2-s)*t.pSpace,B=c*Math.sin(Math.PI/2-s)*t.pSpace,E=[],x=[],d=[];if(t.nFontAlign)for(var Q=0;Q0&&(i=this.stFishEyeManager[e].sCanvasID.width,a=this.stFishEyeManager[e].sCanvasID.height);var r=Math.floor(t.pstFontNumber.nRowNumber),n=Math.floor(t.pstFontNumber.nColNumber);1==t.pstCanvasAdapt.nCanvasAdaptMode&&(r=(r=(r=Math.floor(a/t.pstCanvasAdapt.ntotalRowSpace+1))<1?1:r)>WA?WA:r,n=(n=(n=Math.floor(i/t.pstCanvasAdapt.ntotalColSpace+1))<1?1:n)>WA?WA:n),this.GetWaterFontParam(A,e,t,i,a,r,n)}},{key:"SetWaterMarkFont",value:function(A){if(0!=this.pstWaterFontParamArray.length)for(var e=0;e=0?i.pWaterImageParam[t].fAlpha=e.fAlpha:i.pWaterImageParam[t].fAlpha=1,i.waterMarkImageMax=A.tracks.selectedTrack.frameCount,t0)for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a={};a.nWidth=e,a.nHeight=t,a.nBufferLen=0;var r=this.oVideoHandle.SR_GetCaptureSize(a,i);if(OA.ERRCODE.SR_OK!=r||a.nBufferLen<=0)A(null);else{var n=new Uint8Array(a.nBufferLen);if(null!=n){var o={};o.pBuffer=n,this.oVideoHandle.SR_CaptureScreen(o),A(n,a.nWidth,a.nHeight)}else A(null)}}},{key:"FindIntelNodefromList",value:function(A){if(0!=this.privateNormalLinesInfo.length){for(var e=!1,t=0,i=!1,a=0,r=0,n=1e8,o=0;o0){var n={linesNum:0};n.absTimeStamp=A.absTimeStamp,n.stDrawLinesArray=[];var o={linesNum:0};o.absTimeStamp=A.absTimeStamp,o.stDrawLinesArray=[];var s={linesNum:0};s.absTimeStamp=A.absTimeStamp,s.stDrawLinesArray=[];var g={linesNum:0};g.absTimeStamp=A.absTimeStamp,g.stDrawLinesArray=[];var l={linesNum:0};l.absTimeStamp=A.absTimeStamp,l.stDrawLinesArray=[];var C={linesNum:0};C.absTimeStamp=A.absTimeStamp,C.stDrawLinesArray=[];var I={linesNum:0};I.absTimeStamp=A.absTimeStamp,I.stDrawLinesArray=[];for(var c=0;c0){if(l.absTimeStamp<=this.maxExactPrivateLineTimeStamp){var h=0;for(h=0;h0){if(this.privateNormalLinesInfo.length>=ZA&&this.privateNormalLinesInfo.shift(),g.absTimeStamp<=this.maxNormalPrivateLineTimeStamp){var x=0;for(x=0;x0)if(this.privateThermalLinesInfo.length>=ZA&&this.privateThermalLinesInfo.shift(),0!=this.privateThermalLinesInfo.length){this.privateThermalLinesInfo[0].linesNum=I.linesNum;for(var Q=0;Q0){if(C.absTimeStamp<=this.maxExactRulePrivateLineTimeStamp){var u=0;for(u=0;u0){if(n.absTimeStamp<=this.maxTargetPrivateLineTimeStamp){var y=0;for(y=0;y0){if(this.privateMDLinesInfo.length>=ZA&&this.privateMDLinesInfo.shift(),s.absTimeStamp<=this.maxMDPrivateLineTimeStamp){var R=0;for(R=0;R0){if(this.privateTemLinesInfo.length>=ZA&&this.privateTemLinesInfo.shift(),o.absTimeStamp<=this.maxTemPrivateLineTimeStamp){var b=0;for(b=0;b0){var k={nFontsNum:0};k.absTimeStamp=e.absTimeStamp,k.stDrawFontsArray=[];var N={nFontsNum:0};N.absTimeStamp=e.absTimeStamp,N.stDrawFontsArray=[];var T={nFontsNum:0};T.absTimeStamp=e.absTimeStamp,T.stDrawFontsArray=[];var M={nFontsNum:0};M.absTimeStamp=e.absTimeStamp,M.stDrawFontsArray=[];var L={nFontsNum:0};L.absTimeStamp=e.absTimeStamp,L.stDrawFontsArray=[];var Y={nFontsNum:0};Y.absTimeStamp=e.absTimeStamp,Y.stDrawFontsArray=[];for(var G=0;G0){if(this.privateExactPOSFontsInfo.length>=ZA&&this.privateExactPOSFontsInfo.shift(),Y.absTimeStamp<=this.maxExactPOSPrivateFontTimeStamp){var U=0;for(U=0;U0){if(this.privateExactFontsInfo.length>=ZA&&this.privateExactFontsInfo.shift(),L.absTimeStamp<=this.maxExactPrivateFontTimeStamp){var H=0;for(H=0;H0){if(this.privateNormalFontsInfo.length>=ZA&&this.privateNormalFontsInfo.shift(),T.absTimeStamp<=this.maxNormalPrivateFontTimeStamp){var K=0;for(K=0;K0)if(null==this.curNormalPOSFontsInfo)this.curNormalPOSFontsInfo=M;else{this.curNormalPOSFontsInfo.nFontsNum=M.nFontsNum,this.curNormalPOSFontsInfo.absTimeStamp=M.absTimeStamp;for(var W=0;W0){if(this.privateTargetFontsInfo.length>=ZA&&this.privateTargetFontsInfo.shift(),k.absTimeStamp<=this.maxTargetPrivateFontTimeStamp){var Z=0;for(Z=0;Z0){if(this.privateTemFontsInfo.length>=ZA&&this.privateTemFontsInfo.shift(),N.absTimeStamp<=this.maxTemPrivateFontTimeStamp){var q=0;for(q=0;q=ZA&&this.privateImageInfo.shift(),t.absTimeStamp<=this.maxPrivateImageTimeStamp){var z=0;for(z=0;z=20&&i.privatePNGImageInfo.shift();var e=i.privatePNGImageInfo.findIndex((function(A){return A.PicID===t.PicID}));-1!==e?i.privatePNGImageInfo[e]=_(_({},i.privatePNGImageInfo[e]),{},{PicID:t.PicID,videoStream:A.image,nImageWidth:A.image.displayWidth,nImageHeight:A.image.displayHeight,pstRectPos:{fTop:t.pstRect.fTop,fBottom:t.pstRect.fBottom,fLeft:t.pstRect.fLeft,fRight:t.pstRect.fRight},nPixelFormat:t.nPixelFormat,fAlpha:t.fAlpha}):i.privatePNGImageInfo.push({PicID:t.PicID,videoStream:A.image,nImageWidth:A.image.displayWidth,nImageHeight:A.image.displayHeight,pstRectPos:{fTop:t.pstRect.fTop,fBottom:t.pstRect.fBottom,fLeft:t.pstRect.fLeft,fRight:t.pstRect.fRight},nPixelFormat:t.nPixelFormat,fAlpha:t.fAlpha})})).catch((function(A){console.error("Image processing failed:",A)}))}catch(A){console.error("ImageDecoder initialization failed:",A)}return 1}},{key:"CheckLinesInfo",value:function(){if(this.DrawlinesParamArray.splice(0,this.DrawlinesParamArray.length),this.DrawlinesParamArrayAllPointNum=0,this.bDrawlinesParamArrayFill=0,this.DrawMosaiclinesParamArray.splice(0,this.DrawMosaiclinesParamArray.length),this.DrawTargetlinesParamArray.splice(0,this.DrawTargetlinesParamArray.length),null!=this.curNormalLinesInfo)for(var A=[],e=0,t=0;t0&&-1!=A.DrawTargetlinesParamArray[r].dwFillPicID){for(var n=-1,o=0,s=0;s0){for(var g=0;g=0;l--){var C=0;if(-1!=A.DrawPOSFontsParamArray[l].EventID&&A.DrawTargetEventIDList.length>0){for(var I=0;I0&&A.oVideoHandle.SR_DrawImage(c,A.curImagesInfo.nWidth,A.curImagesInfo.nHeight,A.curImagesInfo.pstRect,A.curImagesInfo.nPixelFormat,A.curImagesInfo.fAlpha)}if(0!==A.pstWaterFontParamArray[0].length&&null!=A.pstWaterFontParam&&A.oVideoHandle.SR_DrawFontEx(A.pstWaterFontParamArray[0],A.pstWaterFontParamArray[0].length,1,A.textCanvas),0!==A.pWaterImageParam.length&&A.finishDecodeImage){A.baseWaterMarkImageTime<=0&&(A.baseWaterMarkImageTime=A.curTimestamp);var h=A.curTimestamp-A.baseWaterMarkImageTime;h<0&&(A.baseWaterMarkImageTime=A.curTimestamp,h=0,A.waterMarkImageIndex=0),h>=A.pWaterImageParam[A.waterMarkImageIndex].timeStamp-A.pWaterImageParam[0].timeStamp&&A.waterMarkImageIndex++,A.waterMarkImageIndex>=A.waterMarkImageMax&&(A.waterMarkImageIndex=0,A.baseWaterMarkImageTime=A.curTimestamp);var B=A.waterMarkImageIndex;A.oVideoHandle.SR_DrawImage(A.pWaterImageParam[B].videoStream,A.pWaterImageParam[B].nImageWidth,A.pWaterImageParam[B].nImageHeight,A.pWaterImageParam[B].pstRectPos,OA.SRPIXELFORMAT.SR_PF_SURFACE,A.pWaterImageParam[B].fAlpha)}}},{key:"SetPanoramaDisplayEffect",value:function(A){if("2d"===this.renderEngine||"2D"===this.renderEngine)return 0;if(null!=this.oVideoHandle){if(A!=this.panoramaDisplayEffect){this.panoramaDisplayEffect=A,this.oVideoHandle.SR_DelSubPort(this.mainVaildSubPort),this.oVideoHandle.SR_Destroy(),this.oVideoHandle=null,this.oVideoHandle=new HA,null==this.pFishParamManager&&(this.pFishParamManager=new JA),this.oVideoHandle.SR_SetFishParamManager(this.pFishParamManager),this.hasSetFECParamManager=!0;var e=OA.SRDISPLAYEFFECT.SR_DE_NULL;if(e=1==this.panoramaDisplayEffect?OA.SRDISPLAYEFFECT.SR_DE_PANORAMA_SPHERE:3==this.panoramaDisplayEffect?OA.SRDISPLAYEFFECT.SR_DE_PANORAMA_PLANET:OA.SRDISPLAYEFFECT.SR_DE_NULL,this.oVideoHandle.SR_Init(this.mainCanvasID,this.enPixelFormat),this.mainVaildSubPort=this.oVideoHandle.SR_AddSubPort(e),-1==this.mainVaildSubPort)return console.info("%c InitDisplay SR_AddSubPort error subport:%d","color: red",this.mainVaildSubPort),0}}else this.panoramaDisplayEffect=A;return 1}},{key:"SetPanoramaSphereViewParam",value:function(A,e){return"2d"===this.renderEngine||"2D"===this.renderEngine||null==e||null==e||A<1||A>3?0:(this.viewParamType=A,this.viewParamValue=e,null!=this.oVideoHandle?(1!=this.panoramaDisplayEffect&&this.panoramaDisplayEffect,this.oVideoHandle.SR_SetViewParam(A,e)!=OA.ERRCODE.SR_OK?0:1):0)}},{key:"GetPanoramaSphereViewParam",value:function(A,e){return"2d"===this.renderEngine||"2D"===this.renderEngine||null==e||null==e||A<1||A>3?0:null!=this.oVideoHandle?(1!=this.panoramaDisplayEffect&&this.panoramaDisplayEffect,e.fValue=-1,this.oVideoHandle.SR_GetViewParam(A,e)!=OA.ERRCODE.SR_OK?0:1):0}}]),t}(),qA=function(){function t(e,i){A(this,t),this.EncoderObj=null,this.FirstFrame=!0,this.frameRate=25,this.EncoderCurStatus=2,this.frameCounter=0,this.frameNum=0,this.stopEncodflag=!1,this.encodeFrameGlobalTime=[],this.oPlayCtrlHandle=null,null!=e&&(this.oPlayCtrlHandle=e),this.player=null,null!=i&&(this.player=i),this.output=this.output.bind(this),this.reportError=this.reportError.bind(this),this.userAgent=0,this.bWriteData=!1,this.aTotalBuffer=[],this.iFrameNum=0}return e(t,[{key:"initEncoder",value:function(A,e,t){if(this.codecString=A,this.encodeWidth=e.encodeWidth,this.encodeHeight=e.encodeHeight,this.bitrate=e.bitrate,this.frameRate=e.frameRate,0==e.bitrateMode?this.bitrateMode="variable":this.bitrateMode="constant",0==e.latencyMode?this.latencyMode="realtime":this.latencyMode="quality",this.rawDataCB=t,this.FirstFrame=!0,this.EncoderCurStatus=2,this.frameCounter=0,this.frameNum=0,this.stopEncodflag=!1,null==this.EncoderObj){var i={output:this.output,error:this.reportError};this.EncoderObj=new VideoEncoder(i)}this.format="annexb";var a=navigator.userAgent||navigator.vendor||window.opera;a.indexOf("Windows NT")>-1?this.userAgent=0:a.indexOf("Linux")>-1?this.userAgent=1:a.indexOf("Mac OS X")>-1?(this.userAgent=2,this.format="avc"):/Android/.test(a)?this.userAgent=3:/like Mac OS X/.test(a)?this.userAgent=4:this.userAgent=0;var r={codec:A,width:this.encodeWidth,height:this.encodeHeight,displayWidth:this.encodeWidth,displayHeight:this.encodeHeight,bitrate:this.bitrate,framerate:this.frameRate,bitrateMode:this.bitrateMode,latencyMode:this.latencyMode,avc:{format:this.format}};console.log("1videoEncode config width:"+this.encodeWidth+",height:"+this.encodeHeight+",bitrate:"+this.bitrate+",framerate:"+this.frameRate+",bitrateMode:"+this.bitrateMode+",latencMode:"+this.latencyMode),this.EncoderObj.configure(r)}},{key:"inputData",value:function(A,e){null==this.EncoderObj||this.stopEncodflag||("configured"==this.EncoderObj.state||this.FirstFrame)&&this.EncodeProcess(A,e)}},{key:"EncodeProcess",value:function(A,e){if(4!=this.EncoderCurStatus&&null!=this.EncoderObj&&"configured"==this.EncoderObj.state&&this.EncoderObj.encodeQueueSize<10){var t=this.frameCounter%50==0;1==t&&this.encodeFrameGlobalTime.push(e),this.EncoderObj.encode(A,{keyFrame:t}),this.frameCounter++}}},{key:"output",value:function(A,e){if("configured"==this.EncoderObj.state){e.decoderConfig,e.svc,e.alphaSideData,A.type;var t=A.timestamp;if(A.byteLength,!this.stopEncodflag){var i=new Uint8Array(A.byteLength);A.copyTo(i);var a={dataType:1};if(a.width=this.encodeWidth,a.height=this.encodeHeight,a.frameRate=this.frameRate,a.timeStamp=t/1e3,a.frameNum=this.frameNum,a.bitrate=0,a.globalTime={},"key"==A.type){var r=this.encodeFrameGlobalTime.shift();"year"in r?(a.globalTime.year=r.year,a.globalTime.month=r.month,a.globalTime.day=r.day,a.globalTime.hour=r.hour,a.globalTime.minute=r.minute,a.globalTime.second=r.second,a.globalTime.milliseconds=r.milliseconds):(a.globalTime.year=2024,a.globalTime.month=0,a.globalTime.day=0,a.globalTime.hour=0,a.globalTime.minute=0,a.globalTime.second=0,a.globalTime.milliseconds=0)}var n=null,o=new Uint8Array(4);o[0]=0,o[1]=0,o[2]=0,o[3]=1;var s=null,g=0,l=null,C=0,I=null,c=null,h=0,B=0,E=0;if("key"==A.type){if("decoderConfig"in e&&"description"in e.decoderConfig&&(c=new Uint8Array(e.decoderConfig.description)),2==this.userAgent){for(null!=c&&(g=256*(s=c.slice(6,c.length))[0]+s[1],l=s.slice(2,2+g),C=256*s[3+g]+s[4+g],I=s.slice(5+g,5+g+C),g+=4,C+=4);B=600||this.stopEncodflag)){console.log("download600encodeData");var r=new Uint8Array(this.aTotalBuffer);this._downloadFile(r,"Encode600.data"),this.aTotalBuffer.splice(0,this.aTotalBuffer.length),this.bWriteData=!1,this.iFrameNum=0,r=null}}},{key:"stopEncode",value:function(){if(this.EncoderCurStatus=4,this.frameCounter=0,this.frameNum=0,this.stopEncodflag=!0,this.destroyEncoder(),this.bWriteData&&this.stopEncodflag){console.log("download600encodeData");var A=new Uint8Array(this.aTotalBuffer);this._downloadFile(A,"Encode600.data"),this.aTotalBuffer.splice(0,this.aTotalBuffer.length),this.bWriteData=!1,this.iFrameNum=0,A=null}}},{key:"reportError",value:function(A){console.log("hardEncode reportError:"+A.message+",state:"+this.EncoderObj.state+",frameRate:"+this.frameRate)}},{key:"destroyEncoder",value:function(){var A=this;return new Promise((function(e,t){A.clearEncoderObjBuffer().then((function(){null!=A.EncoderObj&&("closed"!=A.EncoderObj.state&&A.EncoderObj.close(),console.log(">>>JS 11 destroy VideoEncoderObj"),A.EncoderObj=null),A.EncoderCurStatus=4,A.FirstFrame=!0,e()}),(function(){t()}))}))}},{key:"resetEncoder",value:function(){var A=this;return new Promise((function(e,t){A.destroyEncoder().then((function(){var t={encodeWidth:A.encodeWidth,encodeHeight:A.encodeHeight,bitrate:A.bitrate,frameRate:A.frameRate,bitrateMode:A.bitrateMode,latencyMode:A.latencyMode};A.initEncoder(A.codecString,t,A.rawDataCB),console.log("%c reset hard Encoder","color:red"),e()}),(function(){t()}))}))}},{key:"clearEncoderObjBuffer",value:function(){var A=this;return new Promise((function(e,t){null!=A.EncoderObj&&"configured"==A.EncoderObj.state&&A.EncoderObj.reset(),e()}))}}]),t}(),jA=function(){function t(e,i){A(this,t),this.AudioEncoderObj=null,this.FirstFrame=!0,this.EncoderCurStatus=2,this.stopEncodflag=!1,this.aTimeStamp=0,this.oPlayCtrlHandle=null,null!=e&&(this.oPlayCtrlHandle=e),this.player=null,null!=i&&(this.player=i),this.output=this.output.bind(this),this.reportError=this.reportError.bind(this)}var i;return e(t,[{key:"initEncoder",value:(i=s(aA().mark((function A(e,t,i){var a,r;return aA().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:this.codecString=e,this.sampleRate=t.sampleRate,this.numberOfChannels=t.numberOfChannels,this.bitrate=t.bitrate,this.AudioDataCB=i,this.FirstFrame=!0,this.EncoderCurStatus=2,this.stopEncodflag=!1,this.aTimeStamp=0,null==this.AudioEncoderObj&&(a={output:this.output,error:this.reportError},this.AudioEncoderObj=new AudioEncoder(a)),this.format="adts",r={codec:e,sampleRate:this.sampleRate,numberOfChannels:this.numberOfChannels,bitrate:this.bitrate,aac:{format:this.format}},console.log("2audioEncode config sampleRate:"+this.sampleRate+",numberOfChannels:"+this.numberOfChannels+",bitrate:"+this.bitrate),this.AudioEncoderObj.configure(r);case 14:case"end":return A.stop()}}),A,this)}))),function(A,e,t){return i.apply(this,arguments)})},{key:"inputData",value:function(A){null!=this.AudioEncoderObj&&("configured"==this.AudioEncoderObj.state||this.FirstFrame)&&this.EncodeProcess(A),this.FirstFrame&&(1==this.oPlayCtrlHandle.recoderBaseTimestampMode?this.audioBaseTimeStamp=A.timestamp:0==this.oPlayCtrlHandle.recoderBaseTimestampMode&&(this.audioBaseTimeStamp=0),this.FirstFrame=!1)}},{key:"EncodeProcess",value:function(A){4!=this.EncoderCurStatus&&null!=this.AudioEncoderObj&&"configured"==this.AudioEncoderObj.state&&this.AudioEncoderObj.encode(A)}},{key:"output",value:function(A,e){if("configured"==this.AudioEncoderObj.state&&(A.type,A.timestamp,A.byteLength,!this.stopEncodflag)){this.aTimeStamp+=A.duration/1e3;var t={dataType:2,width:1,height:16,frameRate:48e3};t.timeStamp=this.aTimeStamp+this.audioBaseTimeStamp,t.frameNum=0,t.bitrate=128e3,t.globalTime={};var i=new Uint8Array(A.byteLength);A.copyTo(i),t.rawData=i,this.player?null!=this.AudioDataCB&&this.AudioDataCB(t):postMessage({function:"AudioRecoderInfo",audioInfo:t},[t.rawData.buffer]),i=null}}},{key:"stopEncode",value:function(){this.stopEncodflag=!0,this.destroyEncoder()}},{key:"reportError",value:function(A){console.log("hardEncode reportError:"+A.message+",state:"+this.AudioEncoderObj.state)}},{key:"destroyEncoder",value:function(){var A=this;return new Promise((function(e,t){A.clearEncoderObjBuffer().then((function(){null!=A.AudioEncoderObj&&("closed"!=A.AudioEncoderObj.state&&A.AudioEncoderObj.close(),console.log(">>>JS 12 destroy AudioEncoderObj"),A.AudioEncoderObj=null),A.EncoderCurStatus=4,A.FirstFrame=!0,e()}),(function(){t()}))}))}},{key:"resetEncoder",value:function(){var A=this;return new Promise((function(e,t){A.destroyEncoder().then((function(){var t={sampleRate:A.sampleRate,numberOfChannels:A.numberOfChannels,bitrate:A.bitrate};A.initEncoder(A.codecString,t,A.AudioDataCB),console.log("%c reset hard Encoder","color:red"),e()}),(function(){t()}))}))}},{key:"clearEncoderObjBuffer",value:function(){var A=this;return new Promise((function(e,t){null!=A.AudioEncoderObj&&"configured"==A.AudioEncoderObj.state&&A.AudioEncoderObj.reset(),e()}))}}]),t}(),zA=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;A(this,t),this.canvas=null,this.streamOpenMode=0,this.context=null,this.oVideoDecoder=null,this.frameBuffers=[],this.initTimer=!1,this.preTimeStamp=0,this.baseTimeStamp=0,this.resetTimer=!0,this.RenderFrame=this.RenderFrame.bind(this),this.renderCurStatus=2,this.renderLastStatus=2,this.playSpeed=1,this.nplaySpeed=1,this.displayBuf=14,this.needForward=!1,this.firstFrame=!0,this.LatcyTime=50,this.nFrameRate=0,this.needSaveFrameInfo=!1,this.displayFrameInfoCB=null,this.displayFrameInfo=[],this.curFrameInfo={},this.curFrameInfo.timeStamp=0,this.bResetdisplayFrameInfoCB=!0,this.sx=0,this.sy=0,this.sw=0,this.sh=0,this.displayRunning=!1,this.oRenderTimer=null,this.waitIFrameTimestamp=0,this.curFrame=null,this.player=null,null!=e&&(this.player=e),this.renderEngine="webgl",this.oVideoRender=null,this.FECCanvasID="",this.oVideoRender=new XA(this),this.bSetStreamEnd=!1,this.printfFlag=0,this.oVideoEncoder=null,this.oAudioEncoder=null,this.startRecoderFlag=!1,this.stopRecoderFlag=!1,this.recoderFrameNum=0,this.vBaseTimeStamp=0,this.encodeVideoInfo={encodeVideoType:"avc",encodeWidth:1280,encodeHeight:720,bitrate:1e6,frameRate:25,bitrateMode:0,latencyMode:0},this.encodeAudioInfo={encodeAudioType:"aac",sampleRate:48e3,numberOfChannels:1,bitrate:128e3},this.recoderBaseTimestampMode=0,this.recoderGetOriginData=0,this.nstreamEndloopNum=0,this.runtimeCBFun=null,this.nTargetRelativePos=0,this.ProcessPositionflag=!1,this.nMPPlayMode=0,this.nMPPosType=0,this.VideoPrivateInfoMap=new Map,this.curPrivateInfo={},this.curPrivateInfo.linesInfo=[],this.curPrivateInfo.fontInfo=[],this.curPrivateInfo.imageInfo=[],this.StretchPlayTime=0,this.StretchPlayedTime=0,this.StretchPlaySpeed=1,this.StretchPlayFlag=!1,this.Prevideowidth=0,this.Prevideoheight=0,this.PrecodecType=0,this.PlayOrBackMode=1,this.pstRuntimeInfo={nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:0,nInputDataInterval:0,nFrameNumInterval:0,nAverageDecodeTime:0,nSystemFormat:0,nDetectRes:0,nMp4FileTime:0,nMp4TotalFrameNum:0,AbsTimeYear:0,AbsTimeMonth:0,AbsTimeDay:0,AbsTimeHour:0,AbsTimeMinute:0,AbsTimeSecond:0,AbsTimeMilliseconds:0},this.firstRenderBegin=!0,this.DecodeTypeFlagMap=new Map,this.RenderTypeFlagMap=new Map}var i,a;return e(t,[{key:"init",value:function(A,e,t,i,a){if(this.canvas=A,this.streamOpenMode=e,this.renderEngine=i,this.printfFlag=a,this.SetCurStatus(2),null==this.oVideoDecoder&&(this.oVideoDecoder=new gA(t,this,this.player,this.canvas),null!==this.oVideoDecoder&&this.oVideoDecoder.initDecoder(),null!=this.runtimeCBFun&&this.oVideoDecoder.SetRunTimeInfoCallBackFun(2,this.runtimeCBFun),this.DecodeTypeFlagMap.size>0)){var r,n=y(this.DecodeTypeFlagMap.keys());try{for(n.s();!(r=n.n()).done;){var o=r.value,s=this.DecodeTypeFlagMap.get(o);1==s&&this.oVideoDecoder.SetRunTimeInfoCallbackType(2,o,s)}}catch(A){n.e(A)}finally{n.f()}}""!=this.canvas&&null!=this.canvas&&(this.frameBuffers=this.oVideoDecoder.ready_frames,null!=this.oVideoRender&&this.oVideoRender.InitDisplay(this.canvas,this.renderEngine,256),null==this.oRenderTimer&&(this.oRenderTimer=new sA))}},{key:"HardDecodeError",value:function(){return this.player._switchHardToSoft(),1}},{key:"inputData",value:function(A,e){if(this.curPrivateInfo.linesInfo.length>0||this.curPrivateInfo.fontInfo.length>0||this.curPrivateInfo.imageInfo.length>0){var t=this.deepClone(this.curPrivateInfo);this.VideoPrivateInfoMap.set(e.timeStamp,t),this.curPrivateInfo.linesInfo.splice(0,this.curPrivateInfo.linesInfo.length),this.curPrivateInfo.fontInfo.splice(0,this.curPrivateInfo.fontInfo.length),this.curPrivateInfo.imageInfo.splice(0,this.curPrivateInfo.imageInfo.length)}if(0!=this.PrecodecType&&this.PrecodecType!=e.codecType&&(this.firstFrame=!0,this.oVideoDecoder.resetDecoderObj()),this.needSaveFrameInfo){var i=new Object;i.port=e.port,i.codecType=e.codecType,i.frameType=e.frameType,i.frameSize=e.frameSize,i.width=e.width,i.height=e.height,i.timeStamp=e.timeStamp,i.frameRate=e.frameRate,i.frameNum=e.frameNum,i.interlace=e.interlace,i.streamEnd=e.streamEnd,i.cropLeft=e.cropLeft,i.cropRight=e.cropRight,i.cropTop=e.cropTop,i.cropBottom=e.cropBottom,i.year=e.year,i.month=e.month,i.week=e.week,i.day=e.day,i.hour=e.hour,i.minute=e.minute,i.second=e.second,i.milliseconds=e.milliseconds,i.isKeyFrame=e.isKeyFrame,this.nFrameRate=i.frameRate,this.Prevideowidth=e.width,this.Prevideoheight=e.height,this.PrecodecType=e.codecType,this.displayFrameInfo.push(i),i=null}else this.displayFrameInfo.splice(0,this.displayFrameInfo.length);null!=this.oVideoDecoder&&this.oVideoDecoder.inputData(A,e)}},{key:"_resetDecoder",value:function(){var A=this;return new Promise((function(e,t){A.oVideoDecoder.resetDecoder().then((function(){A.displayFrameInfo.splice(0,A.displayFrameInfo.length),A.curFrameInfo={},A.oVideoRender.DeInitPrivateParam(),A.VideoPrivateInfoMap.clear(),A.curPrivateInfo.linesInfo.splice(0,A.curPrivateInfo.linesInfo.length),A.curPrivateInfo.fontInfo.splice(0,A.curPrivateInfo.fontInfo.length),A.curPrivateInfo.imageInfo.splice(0,A.curPrivateInfo.imageInfo.length),A.renderCurStatus=2,A.renderLastStatus=2,A.player?A.player.JSPlayM4_ResetEnd():postMessage({function:"resetEnd"}),e()}),(function(){t()}))}))}},{key:"_resetRenderTimer",value:function(){this.initTimer=!1,this.preTimeStamp=0,this.baseTimeStamp=0,this.resetTimer=!0,null!=this.oRenderTimer&&this.oRenderTimer.timerReset(),this.RenderFrame=this.RenderFrame.bind(this),this.renderCurStatus=2,this.renderLastStatus=2,this.curTimeStamp=0,this.getImageJPEG=!1,this.getImageBMP=!1,this.getCropImageJPEG=!1,this.getCropImageBMP=!1,1==this.bResetdisplayFrameInfoCB&&(this.displayFrameInfoCB=null),this.displayFrameInfo.splice(0,this.displayFrameInfo.length),this.VideoPrivateInfoMap.clear(),this.curPrivateInfo.linesInfo.splice(0,this.curPrivateInfo.linesInfo.length),this.curPrivateInfo.fontInfo.splice(0,this.curPrivateInfo.fontInfo.length),this.curPrivateInfo.imageInfo.splice(0,this.curPrivateInfo.imageInfo.length),this.curFrameInfo={},this.DecodeTypeFlagMap.clear(),this.RenderTypeFlagMap.clear()}},{key:"_destroyPlayCtrl",value:function(){var A=this;this.oVideoDecoder.destroyDecoder().then((function(){A.oVideoDecoder=null,null!=A.oVideoRender&&(A.oVideoRender.ReleaseDisplay(),A.oVideoRender=null),A._resetRenderTimer(),A.oRenderTimer=null,A.displayRunning=!1,A.runtimeCBFun=null,A.printfFlag>=0&&console.log(">>>JS 02 destroy oVideoDecoder/oVideoRender"),null!=A.oVideoEncoder&&(A.oVideoEncoder.destroyEncoder(),A.oVideoEncoder=null),null!=A.oAudioEncoder&&(A.oAudioEncoder.destroyEncoder(),A.oAudioEncoder=null)}),(function(){A.printfFlag>=0&&console.log("stop failed ")}))}},{key:"Sleep",value:(a=s(aA().mark((function A(e){var t;return aA().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return t=(t=e>6e4?6e4:e)<0?0:t,A.abrupt("return",new Promise((function(A){setTimeout(A,t)})));case 3:case"end":return A.stop()}}),A)}))),function(A){return a.apply(this,arguments)})},{key:"RenderFrame",value:(i=s(aA().mark((function A(){var e,t=this;return aA().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:e=this.renderCurStatus,null!=this.oVideoDecoder&&null!=this.oVideoDecoder.decoderObj&&(this.player?this.player.JSPlayM4_GetDecodeBufferSize(this.oVideoDecoder.decoderObj.decodeQueueSize,this.oVideoDecoder.ready_frames.length):postMessage({function:"GetDecodeBufferSize",rawSize:this.oVideoDecoder.decoderObj.decodeQueueSize,frameSize:this.oVideoDecoder.ready_frames.length}),this.oVideoDecoder.decoderObj.decodeQueueSize<=3&&this.oVideoDecoder.ready_frames.length<=3&&(this.player?this.player.JSPlayM4_GetRawData():postMessage({function:"GetRawData"})),this.printfFlag>0&&console.log("VideoPlayCtrl.js output1 cb decodeQueueSize:"+this.oVideoDecoder.decoderObj.decodeQueueSize+",length:"+this.oVideoDecoder.ready_frames.length)),A.t0=e,A.next=0===A.t0?5:2===A.t0||6===A.t0?8:3===A.t0?10:5===A.t0?13:4===A.t0?15:17;break;case 5:return this._resetRenderTimer(),this._resetDecoder().then((function(){requestAnimationFrame(t.RenderFrame)}),(function(){})),A.abrupt("break",18);case 8:return this.displayRunning?(this.printfFlag>0&&console.log("displayBuf:"+this.displayBuf+",this.streamOpenMode:"+this.streamOpenMode+",LatcyTime:"+this.LatcyTime),this.chooseFrame().then((function(A){if(t.curFrame=A,1==t.ProcessPositionflag)if(null!=t.curFrame){var i=0;if(1==t.nMPPosType&&(i=t.findFramebyTime(t.curFrame.timestamp,0).frameNum),0==t.nMPPosType&&t.curFrame.timestamp5e3||r<0||n<0||s<=0)&&(t.oRenderTimer.Init(),t.preTimeStamp=t.curFrame.timestamp,t.baseTimeStamp=t.curTimeStamp,n=6==e?t.baseTimeStamp-t.curTimeStamp:t.curTimeStamp-t.baseTimeStamp,s=t.oRenderTimer.GetTimerWalk()),o=t.StretchPlayFlag?t.StretchPlaySpeed:t.playSpeed;var g=(n+t.LatcyTime)/o-s;t.printfFlag>0&&console.log("baseTimerWalk:"+s+",lDeta:"+g+",Date :"+(new Date).getFullYear()+"/"+((new Date).getMonth()+1)+"/"+(new Date).getDate()+" "+(new Date).getHours()+"-"+(new Date).getMinutes()+"-"+(new Date).getSeconds()+"-"+(new Date).getMilliseconds()),g<15&&g>-15||g<0?(t.StretchPlayFlag&&t.VideoStretchProcess(t.curTimeStamp),t.paint(t.curFrame),t.preTimeStamp=t.curTimeStamp,t.RenderFrame()):t.Sleep(g-5).then((function(){2!=t.renderCurStatus&&6!=t.renderCurStatus||(t.StretchPlayFlag&&t.VideoStretchProcess(t.curTimeStamp),t.paint(t.curFrame),t.preTimeStamp=t.curTimeStamp),t.RenderFrame()}))}else requestAnimationFrame(t.RenderFrame)}))):requestAnimationFrame(this.RenderFrame),A.abrupt("break",18);case 10:return this._refresh(),requestAnimationFrame(this.RenderFrame),A.abrupt("break",18);case 13:return this.needForward?this.chooseFrame().then((function(A){t.curFrame=A,null!=t.curFrame&&(t.curTimeStamp=t.curFrame.timestamp,t.paint(t.curFrame),t.needForward=!1),requestAnimationFrame(t.RenderFrame)})):(this._refresh(),requestAnimationFrame(this.RenderFrame)),A.abrupt("break",18);case 15:return this._destroyPlayCtrl(),A.abrupt("return");case 17:return A.abrupt("return");case 18:case"end":return A.stop()}}),A,this)}))),function(){return i.apply(this,arguments)})},{key:"paint",value:function(A){var e=this,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Promise((function(i,a){if(4==e.renderCurStatus||null==A||null==e.oVideoRender||1==e.ProcessPositionflag||null==A.timestamp)i();else{e.waitIFrameTimestamp===A.timestamp&&(e.resetTimer=!0);var r,n={};r=null!=A.image&&null!=A.image?A.image:A,n.nCropLeft=0,n.nCropRight=0,n.nCropTop=0,n.nCropBottom=0,n.nCodeWidth=A.displayWidth,n.nCodeHeight=A.displayHeight;var o={x:0,y:0};if(o.width=A.displayWidth,o.height=A.displayHeight,e.RenderTypeFlagMap.size>0){var s,g=y(e.RenderTypeFlagMap.keys());try{for(g.s();!(s=g.n()).done;){var l=s.value;if(l==AA&&1==e.RenderTypeFlagMap.get(l)&&null!=e.runtimeCBFun&&1==e.firstRenderBegin){if(e.pstRuntimeInfo.nRunTimeModule=3,e.pstRuntimeInfo.nStrVersion=1,e.pstRuntimeInfo.nFrameTimeStamp=A.timestamp,e.pstRuntimeInfo.nFrameNum=0,e.pstRuntimeInfo.nErrorCode=AA,e.pstRuntimeInfo.nInputDataInterval=0,e.pstRuntimeInfo.nFrameNumInterval=0,e.pstRuntimeInfo.nAverageDecodeTime=0,1==t)e.pstRuntimeInfo.AbsTimeYear=e.curFrameInfo.year,e.pstRuntimeInfo.AbsTimeMonth=e.curFrameInfo.month,e.pstRuntimeInfo.AbsTimeDay=e.curFrameInfo.day,e.pstRuntimeInfo.AbsTimeHour=e.curFrameInfo.hour,e.pstRuntimeInfo.AbsTimeMinute=e.curFrameInfo.minute,e.pstRuntimeInfo.AbsTimeSecond=e.curFrameInfo.second,e.pstRuntimeInfo.AbsTimeMilliseconds=e.curFrameInfo.milliseconds;else{var C=new Object;C=e.findFramebyTime(A.timestamp,0),e.pstRuntimeInfo.AbsTimeYear=C.year,e.pstRuntimeInfo.AbsTimeMonth=C.month,e.pstRuntimeInfo.AbsTimeDay=C.day,e.pstRuntimeInfo.AbsTimeHour=C.hour,e.pstRuntimeInfo.AbsTimeMinute=C.minute,e.pstRuntimeInfo.AbsTimeSecond=C.second,e.pstRuntimeInfo.AbsTimeMilliseconds=C.milliseconds}e.runtimeCBFun(e.pstRuntimeInfo),e.firstRenderBegin=!1}}}catch(A){g.e(A)}finally{g.f()}}e.oVideoRender.DisplayFrame(r,A.displayWidth,A.displayHeight,A.timestamp,n,null,e.nFrameRate,t).then((function(A){var t=A.timestamp,a=A.DrawRet;if(e.RenderTypeFlagMap.size>0&&1!=a){var r,n=y(e.RenderTypeFlagMap.keys());try{for(n.s();!(r=n.n()).done;){var o=r.value;o==tA&&1==e.RenderTypeFlagMap.get(o)&&null!=e.runtimeCBFun&&(e.pstRuntimeInfo.nRunTimeModule=3,e.pstRuntimeInfo.nStrVersion=1,e.pstRuntimeInfo.nFrameTimeStamp=t,e.pstRuntimeInfo.nFrameNum=0,e.pstRuntimeInfo.nErrorCode=tA,e.runtimeCBFun(e.pstRuntimeInfo))}}catch(A){n.e(A)}finally{n.f()}}if(null!==e.displayFrameInfoCB&&e.respondFrameInfoCB(t),e.RenderTypeFlagMap.size>0){var s,g=y(e.RenderTypeFlagMap.keys());try{for(g.s();!(s=g.n()).done;){var l=s.value;l==eA&&1==e.RenderTypeFlagMap.get(l)&&null!=e.runtimeCBFun&&(e.pstRuntimeInfo.nRunTimeModule=3,e.pstRuntimeInfo.nStrVersion=1,e.pstRuntimeInfo.nFrameTimeStamp=t,e.pstRuntimeInfo.nFrameNum=0,e.pstRuntimeInfo.nErrorCode=eA,e.pstRuntimeInfo.nInputDataInterval=0,e.pstRuntimeInfo.nFrameNumInterval=0,e.pstRuntimeInfo.nAverageDecodeTime=0,e.pstRuntimeInfo.AbsTimeYear=e.curFrameInfo.year,e.pstRuntimeInfo.AbsTimeMonth=e.curFrameInfo.month,e.pstRuntimeInfo.AbsTimeDay=e.curFrameInfo.day,e.pstRuntimeInfo.AbsTimeHour=e.curFrameInfo.hour,e.pstRuntimeInfo.AbsTimeMinute=e.curFrameInfo.minute,e.pstRuntimeInfo.AbsTimeSecond=e.curFrameInfo.second,e.pstRuntimeInfo.AbsTimeMilliseconds=e.curFrameInfo.milliseconds,e.runtimeCBFun(e.pstRuntimeInfo))}}catch(A){g.e(A)}finally{g.f()}}if(e.firstFrame){e.firstFrame=!1;var C=e;e.oVideoRender.GetCanvasData((function(A,e,t){if(null!=A){var i=C.checkColorAnomaly(A,e,t);console.log("checkColorAnomaly resC:"+i),i&&C.HardDecodeError()}})),null!=e.player?null!=e.player.FFCallBackFun&&e.player.FFCallBackFun({decodeEngine:1}):postMessage({function:"firstFrameCB",value:!0})}e.startRecoderFlag&&0==e.stopRecoderFlag&&e.oVideoRender.GetCanvasData((function(A,a,r){if(null!=A){if(0==e.recoderBaseTimestampMode){0==e.vBaseTimeStamp&&(e.vBaseTimeStamp=60*(new Date).getHours()*60*1e3+60*(new Date).getMinutes()*1e3+1e3*(new Date).getSeconds()+(new Date).getMilliseconds());var n=60*(new Date).getHours()*60*1e3+60*(new Date).getMinutes()*1e3+1e3*(new Date).getSeconds()+(new Date).getMilliseconds();e.recoderFrameTimeStamp=n-e.vBaseTimeStamp}else 1==e.recoderBaseTimestampMode||(e.recoderBaseTimestampMode=1),e.recoderFrameTimeStamp=t;var o={timestamp:1e3*e.recoderFrameTimeStamp,codedWidth:e.encodeVideoInfo.encodeWidth,codedHeight:e.encodeVideoInfo.encodeHeight,format:"RGBA"},s=new VideoFrame(A,o),g={};g.year=e.curFrameInfo.year,g.month=e.curFrameInfo.month,g.day=e.curFrameInfo.day,g.hour=e.curFrameInfo.hour,g.minute=e.curFrameInfo.minute,g.second=e.curFrameInfo.second,g.milliseconds=e.curFrameInfo.milliseconds,e.oVideoEncoder.inputData(s,g),s.close(),A=null,e.recoderFrameNum++}i()}),e.encodeVideoInfo.encodeWidth,e.encodeVideoInfo.encodeHeight,e.recoderGetOriginData)}))}}))}},{key:"checkColorAnomaly",value:function(A,e,t){for(var i=0,a=e*t,r=0;r1.5*n&&o>1.5*s&&i++}return i/a>.05}},{key:"respondFrameInfoCB",value:function(A){if(0!=this.displayFrameInfo.length&&(this.curFrameInfo.timeStamp!==A||0==A&&0==this.curFrameInfo.timeStamp)){var e=this.findFramebyTime(A,1);this.curFrameInfo.port=e.port,this.curFrameInfo.codecType=e.codecType,this.curFrameInfo.frameType=e.frameType,this.curFrameInfo.frameSize=e.frameSize,this.curFrameInfo.width=e.width-(e.cropLeft+e.cropRight),this.curFrameInfo.height=e.height-(e.cropTop+e.cropBottom),this.curFrameInfo.timeStamp=e.timeStamp,this.curFrameInfo.frameRate=e.frameRate,this.curFrameInfo.frameNum=e.frameNum,this.curFrameInfo.interlace=e.interlace,this.curFrameInfo.streamEnd=e.streamEnd,this.curFrameInfo.cropLeft=e.cropLeft,this.curFrameInfo.cropRight=e.cropRight,this.curFrameInfo.cropTop=e.cropTop,this.curFrameInfo.cropBottom=e.cropBottom,this.curFrameInfo.year=e.year,this.curFrameInfo.month=e.month,this.curFrameInfo.week=e.week,this.curFrameInfo.day=e.day,this.curFrameInfo.hour=e.hour,this.curFrameInfo.minute=e.minute,this.curFrameInfo.second=e.second,this.curFrameInfo.milliseconds=e.milliseconds,e=null,null!=this.displayFrameInfoCB&&this.displayFrameInfoCB(this.curFrameInfo)}}},{key:"findFramebyTime",value:function(A,e){var t=new Object;if(t=this.displayFrameInfo.find((function(e){return e.timeStamp==A})),1==e){var i=this.displayFrameInfo.findIndex((function(e){return e.timeStamp==A}));this.displayFrameInfo.splice(i,1)}return t}},{key:"chooseFrame",value:function(){var A=this;return new Promise((function(e,t){if(null==A.oVideoRender||null==A.oVideoDecoder)e(null);else if(A.oVideoDecoder.decoderObjNeedReset)A.oVideoDecoder.resetDecoder().then((function(){A.oVideoDecoder.decoderObjNeedReset=!1,e(null)}),(function(){t()}));else{var i=A.oVideoDecoder.GetFrameBufferLength();-1!=A.displayBuf?i<3?(1==A.bSetStreamEnd&&(A.nstreamEndloopNum++,A.nstreamEndloopNum>=50&&null!=A.player&&null!=A.player.runtimeCBFun)&&(A.player.runtimeCBFun({nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:9}),A.bSetStreamEnd=!1,A.nstreamEndloopNum=0),e(null)):(1==A.bSetStreamEnd&&(A.nstreamEndloopNum=0),A.oVideoDecoder.GetFrame().then((function(A){e(A)}),(function(){}))):0==i?(1==A.bSetStreamEnd&&(A.nstreamEndloopNum++,A.nstreamEndloopNum>=50&&null!=A.player&&null!=A.player.runtimeCBFun)&&(A.player.runtimeCBFun({nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:9}),A.bSetStreamEnd=!1,A.nstreamEndloopNum=0),e(null)):(1==A.bSetStreamEnd&&(A.nstreamEndloopNum=0),A.oVideoDecoder.GetFrame().then((function(A){e(A)}),(function(){})))}}))}},{key:"SetDisplayRegion",value:function(A,e,t,i){return null==this.oVideoRender?0:(this.sx=A,this.sy=e,this.sw=t,this.sh=i,this.oVideoRender.SetDisplayRect(A,e,t,i))}},{key:"SetCurStatus",value:function(A){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.bResetdisplayFrameInfoCB=e,this.renderCurStatus=A,1}},{key:"fast",value:function(){var A=this._GetFastSpeed(this.nplaySpeed);return this._SetPlaySpeed(A)}},{key:"slow",value:function(){var A=this._GetSlowSpeed(this.nplaySpeed);return this._SetPlaySpeed(A)}},{key:"Pause",value:function(A){if(A)2!=this.renderCurStatus&&6!=this.renderCurStatus||(this.renderLastStatus=this.renderCurStatus),this.SetCurStatus(3);else{if(3!==this.renderCurStatus)return 0;2===this.renderLastStatus?this.SetCurStatus(2):6===this.renderLastStatus&&this.SetCurStatus(6),this.resetTimer=!0}return 1}},{key:"NotifyBackPlay",value:function(A){if(A?this.SetCurStatus(6):this.SetCurStatus(2),null!=this.oVideoDecoder)if(2==this.PlayOrBackMode)this.oVideoDecoder.NotifyBackPlay(A,this.preTimeStamp,0);else{var e=1==A?2:1;this.oVideoDecoder.NotifyBackPlay(A,this.preTimeStamp,e)}return this.resetTimer=!0,1}},{key:"SetPlayOrBackSwitchMode",value:function(A){return this.PlayOrBackMode=A,1}},{key:"SetStretchPlay",value:function(A,e){return 2!=this.renderCurStatus||this.playSpeed>1.1||this.playSpeed<.9?0:(this.StretchPlayTime=A,this.StretchPlayedTime=0,this.StretchPlaySpeed=e,this.StretchPlayFlag=!0,this.resetTimer=!0,1)}},{key:"VideoStretchProcess",value:function(A){return this.StretchPlayFlag&&(this.printfFlag>0&&console.log("StretchPlayedTime:"+this.StretchPlayedTime+",StretchPlayTime:"+this.StretchPlayTime),this.StretchPlayedTime0?A:-1/A,console.log("playSpeed:"+this.playSpeed),this.resetTimer=!0,this.needForward=!1,2!=this.renderCurStatus&&6!=this.renderCurStatus&&(2===this.renderLastStatus?this.SetCurStatus(2):6===this.renderLastStatus&&this.SetCurStatus(6))),1}},{key:"_GetFastSpeed",value:function(A){var e=0;switch(A){case-16:e=-8;break;case-8:e=-4;break;case-4:e=-2;break;case-2:e=1;break;case 1:e=2;break;case 2:e=4;break;case 4:e=8;break;case 8:e=16;break;case 16:e=32;break;case 32:e=64;break;default:e=0}return e}},{key:"_GetSlowSpeed",value:function(A){var e=0;switch(A){case-8:e=-16;break;case-4:e=-8;break;case-2:e=-4;break;case 1:e=-2;break;case 2:e=1;break;case 4:e=2;break;case 8:e=4;break;case 16:e=8;break;case 32:e=16;break;case 64:e=32;break;default:e=0}return e}},{key:"SetDisplayBuf",value:function(A){return this.displayBuf=A,this.LatcyTime=1==A?0:15==A?700:45==A?1900:A>6&&A<45?40*A+100:-1==A?0:50,1}},{key:"GetJPEG",value:function(){var A=this;null!=this.oVideoDecoder&&this.oVideoDecoder.GetImageYUV("jpeg",0,0,0,0).then((function(e){var t=e.yuvFrameBuffer,i=e.yuvLength,a=e.displayWidth,r=e.displayHeight,n=e.yuvType;-1!=t&&(A.player?A.player._GetImage2(t,i,a,r,"jpeg",n,0,0,0,0):postMessage({function:"imageYUV",value:t.buffer,size:i,width:a,height:r,type:"jpeg",yuvType:n,sx:0,sy:0,sw:0,sh:0},[t.buffer]))}),(function(){}))}},{key:"GetBMP",value:function(){var A=this;null!=this.oVideoDecoder&&this.oVideoDecoder.GetImageYUV("bmp",0,0,0,0).then((function(e){var t=e.yuvFrameBuffer,i=e.yuvLength,a=e.displayWidth,r=e.displayHeight,n=e.yuvType;-1!=t&&(A.player?A.player._GetImage2(t,i,a,r,"bmp",n,0,0,0,0):postMessage({function:"imageYUV",value:t.buffer,size:i,width:a,height:r,type:"bmp",yuvType:n,sx:0,sy:0,sw:0,sh:0},[t.buffer]))}),(function(){}))}},{key:"GetCropJPEG",value:function(){var A=this;null!=this.oVideoDecoder&&this.oVideoDecoder.GetImageYUV("jpeg",this.sx,this.sy,this.sw,this.sh).then((function(e){var t=e.yuvFrameBuffer,i=e.yuvLength,a=e.displayWidth,r=e.displayHeight,n=e.yuvType;-1!=t&&(A.player?A.player._GetImage2(t,i,a,r,"jpeg",n,A.sx,A.sy,A.sw,A.sh):postMessage({function:"imageYUV",value:t.buffer,size:i,width:a,height:r,type:"jpeg",yuvType:n,sx:A.sx,sy:A.sy,sw:A.sw,sh:A.sh},[t.buffer]))}),(function(){}))}},{key:"GetCropBMP",value:function(){var A=this;null!=this.oVideoDecoder&&this.oVideoDecoder.GetImageYUV("bmp",this.sx,this.sy,this.sw,this.sh).then((function(e){var t=e.yuvFrameBuffer,i=e.yuvLength,a=e.displayWidth,r=e.displayHeight,n=e.yuvType;-1!=t&&(A.player?A.player._GetImage2(t,i,a,r,"bmp",n,A.sx,A.sy,A.sw,A.sh):postMessage({function:"imageYUV",value:t.buffer,size:i,width:a,height:r,type:"bmp",yuvType:n,sx:A.sx,sy:A.sy,sw:A.sw,sh:A.sh},[t.buffer]))}),(function(){}))}},{key:"GetCanvasCapture",value:function(A,e,t){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support GetCanvasCapture","color:red"),0):(this.oVideoRender.GetCanvasData(A,e,t),1)}},{key:"SetDecodeFrameType",value:function(A){return this.waitIFrameTimestamp=A,1}},{key:"SetStreamEnd",value:function(A){return this.bSetStreamEnd=A,this.oVideoDecoder.SetStreamEnd(),1}},{key:"SetAntialias",value:function(A){return null!=this.oVideoRender?this.oVideoRender.SetAntialias(A):0}},{key:"SetFrameInfoCallBack",value:function(A,e){return e?(this.needSaveFrameInfo=!0,this.displayFrameInfoCB=A):(this.needSaveFrameInfo=!1,this.displayFrameInfoCB=null),1}},{key:"FEC_SetCanvasID",value:function(A){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetCanvasID(A):(this.FECCanvasID=A,0)}},{key:"FEC_ResetCorrectType",value:function(A,e,t){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_ResetCorrectType(A,e,t):0}},{key:"FEC_GetPort",value:function(A,e){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),-1):null!=this.oVideoRender?this.oVideoRender.FEC_GetPort(A,e):-1}},{key:"FEC_Enable",value:function(A){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_Enable(A):0}},{key:"FEC_SetParam",value:function(A,e){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetParam(A,e):0}},{key:"FEC_GetParam",value:function(A,e){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_GetParam(A,e):0}},{key:"FEC_SetViewParam",value:function(A,e,t){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetViewParam(A,e,t):0}},{key:"FEC_GetViewParam",value:function(A,e,t){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_GetViewParam(A,e,t):0}},{key:"FEC_SetWnd",value:function(A,e){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetWnd(A,e):0}},{key:"FEC_Disable",value:function(A,e,t){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_Disable(A,e,t):0}},{key:"FEC_DelPort",value:function(A){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_DelPort(A):0}},{key:"FEC_SetDisplayRegion",value:function(A,e,t,i,a,r,n){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetDisplayRegion(A,e,t,i,a,r,n):0}},{key:"FEC_SetBackCilling",value:function(A,e){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetBackCilling(A,e):0}},{key:"FEC_GetPTZPort",value:function(A,e,t){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),-1):null!=this.oVideoRender?this.oVideoRender.FEC_GetPTZPort(A,e,t):-1}},{key:"FEC_SetPTZDisplayMode",value:function(A){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetPTZDisplayMode(A):0}},{key:"FEC_Capture",value:function(A,e){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC_Capture","color:red"),0):this.oVideoRender.FEC_Capture(A,e)}},{key:"InputPrivateInfo",value:function(A,e,t){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support PrivateInfo","color:red"),0):((null!=A&&A.linesNum>0||null!=e&&e.nFontsNum>0)&&0==this.firstFrame&&(this.LatcyTime=100),this.curPrivateInfo.linesInfo.push(A),this.curPrivateInfo.fontInfo.push(e),this.curPrivateInfo.imageInfo.push(t),1)}},{key:"deepClone",value:function(A){if(null===A||"object"!==oA(A))return A;if(Array.isArray(A)){for(var e=[],t=0;t0||A.encodeHeight>0?(this.encodeVideoInfo.encodeWidth=A.encodeWidth,this.encodeVideoInfo.encodeHeight=A.encodeHeight):null!=this.curFrameInfo.width&&this.curFrameInfo.width>0&&this.curFrameInfo.width<=1400&&null!=this.curFrameInfo.height&&this.curFrameInfo.height>0&&this.curFrameInfo.height<=800?(this.encodeVideoInfo.encodeWidth=this.curFrameInfo.width,this.encodeVideoInfo.encodeHeight=this.curFrameInfo.height):(this.encodeVideoInfo.encodeWidth=1280,this.encodeVideoInfo.encodeHeight=720),A.bitrate>0?this.encodeVideoInfo.bitrate=A.bitrate:this.encodeVideoInfo.encodeWidth>1580?this.encodeVideoInfo.bitrate=4e6:this.encodeVideoInfo.encodeWidth>800?this.encodeVideoInfo.bitrate=2e6:this.encodeVideoInfo.bitrate=1e6,A.frameRate>0?this.encodeVideoInfo.frameRate=A.frameRate:"frameRate"in this.curFrameInfo&&(this.encodeVideoInfo.frameRate=this.curFrameInfo.frameRate),A.bitrateMode>0?this.encodeVideoInfo.bitrateMode=A.bitrateMode:this.encodeVideoInfo.bitrateMode=0,A.latencyMode>0?this.encodeVideoInfo.latencyMode=A.latencyMode:this.encodeVideoInfo.latencyMode=0,0==A.encodeType&&(this.encodeVideoInfo.encodeVideoType="avc"),this.recoderBaseTimestampMode=A.baseTimeStampMode,this.recoderGetOriginData=A.getOriginData,null==this.oVideoEncoder&&(this.oVideoEncoder=new qA(this,this.player)),e.sampleRate>0?this.encodeAudioInfo.sampleRate=e.sampleRate:this.encodeAudioInfo.sampleRate=48e3,e.numberOfChannels>0?this.encodeAudioInfo.numberOfChannels=e.numberOfChannels:this.encodeAudioInfo.numberOfChannels=1,e.bitrate>0?this.encodeAudioInfo.bitrate=e.bitrate:this.encodeAudioInfo.bitrate=128e3,0==e.encodeType&&(this.encodeAudioInfo.encodeAudioType="aac"),null==this.oAudioEncoder&&(this.oAudioEncoder=new jA(this,this.player)),1}},{key:"StartVideoEncode",value:function(A){return null!=this.oVideoEncoder&&(this.oVideoEncoder.initEncoder("avc1.4d4032",this.encodeVideoInfo,A),this.startRecoderFlag=!0,this.stopRecoderFlag=!1),1}},{key:"StartAudioEncode",value:function(A){return null!=this.oAudioEncoder&&this.oAudioEncoder.initEncoder("mp4a.40.2",this.encodeAudioInfo,A),1}},{key:"InputPCMToEncode",value:function(A,e){if(null!=this.oAudioEncoder&&0==this.stopRecoderFlag){var t={format:"s16",sampleRate:this.encodeAudioInfo.sampleRate,numberOfFrames:A.length/2,numberOfChannels:1,timestamp:e,data:A},i=new AudioData(t);this.oAudioEncoder.inputData(i),i.close()}return 1}},{key:"StopEncode",value:function(){return this.startRecoderFlag=!1,this.stopRecoderFlag=!0,this.recoderFrameNum=0,null!=this.oAudioEncoder&&(this.oAudioEncoder.stopEncode(),this.oAudioEncoder=null),null!=this.oVideoEncoder&&(this.oVideoEncoder.stopEncode(),this.oVideoEncoder=null),this.recoderBaseTimestampMode=0,this.recoderGetOriginData=0,1}},{key:"SetRunTimeInfoCallBack",value:function(A,e){return this.runtimeCBFun=e,null!=this.oVideoDecoder&&this.oVideoDecoder.SetRunTimeInfoCallBackFun(A,e),1}},{key:"SetRunTimeInfoCallbackType",value:function(A,e,t){return 2==A?t?this.DecodeTypeFlagMap.set(e,1):this.DecodeTypeFlagMap.delete(e):3==A&&(t?this.RenderTypeFlagMap.set(e,1):this.RenderTypeFlagMap.delete(e)),null!=this.oVideoDecoder&&2==A&&this.oVideoDecoder.SetRunTimeInfoCallbackType(A,e,t),1}},{key:"IsVisible",value:function(A){return null!=this.oVideoDecoder&&this.oVideoDecoder.IsVisible(A),1}},{key:"SetPanoramaDisplayEffect",value:function(A){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support SetPanoramaDisplayEffect","color:red"),0):null!=this.oVideoRender?this.oVideoRender.SetPanoramaDisplayEffect(A):0}},{key:"SetPanoramaSphereViewParam",value:function(A,e){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support SetPanoramaSphereViewParam","color:red"),0):null!=this.oVideoRender?this.oVideoRender.SetPanoramaSphereViewParam(A,e):0}},{key:"GetPanoramaSphereViewParam",value:function(A,e){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support GetPanoramaSphereViewParam","color:red"),0):null!=this.oVideoRender?this.oVideoRender.GetPanoramaSphereViewParam(A,e):0}},{key:"ResetBuffer",value:function(){return this.resetTimer=!0,this.oVideoDecoder.clearDecoderObjBuffer(),1}}]),t}(),$A=function(){function t(e){A(this,t),this.player=e,this.oVideoPlayCtrl=new zA(e)}return e(t,[{key:"init",value:function(A,e,t,i){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.init(A,e,t,i)}},{key:"inputData",value:function(A,e){null!=this.oVideoPlayCtrl&&this.oVideoPlayCtrl.inputData(A,e)}},{key:"SetDisplayRegion",value:function(A,e,t,i){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.SetDisplayRegion(A,e,t,i)}},{key:"stop",value:function(){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.SetCurStatus(4),this.oVideoPlayCtrl=null,window.g_printfFlag>=0&&console.log(">>>JS 03 destroy oVideoPlayCtrl")}},{key:"fast",value:function(){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.fast()?0:void 0}},{key:"slow",value:function(){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.slow()?0:void 0}},{key:"SetDisplayBuf",value:function(A){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.SetDisplayBuf(A)?0:void 0}},{key:"Pause",value:function(A){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.Pause(A)?0:void 0}},{key:"OneByOne",value:function(A){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.OneByOne(A)?0:void 0}},{key:"NotifyBackPlay",value:function(A){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.NotifyBackPlay(A)?0:void 0}},{key:"SetPlayOrBackSwitchMode",value:function(A){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.SetPlayOrBackSwitchMode(A)?0:void 0}},{key:"SetStretchPlay",value:function(A,e){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.SetStretchPlay(A,e)?0:void 0}},{key:"SetCanvasSize",value:function(A,e,t){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.SetCanvasSize(A,e,t)?0:void 0}},{key:"GetCanvasSize",value:function(){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.GetCanvasSize()?0:void 0}},{key:"GetPlayedTime",value:function(){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.GetPlayedTime()}},{key:"SetTargetRelativePos",value:function(A,e,t){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetTargetRelativePos(A,e,t)}},{key:"needReset",value:function(A){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.SetCurStatus(0,A)}},{key:"GetJPEG",value:function(){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.GetJPEG()}},{key:"GetBMP",value:function(){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.GetBMP()}},{key:"GetCropJPEG",value:function(){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.GetCropJPEG()}},{key:"GetCropBMP",value:function(){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.GetCropBMP()}},{key:"GetCanvasCapture",value:function(A,e,t){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.GetCanvasCapture(A,e,t)}},{key:"SetDecodeFrameType",value:function(A){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.SetDecodeFrameType(A)}},{key:"SetStreamEnd",value:function(A){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.SetStreamEnd(A)}},{key:"SetAntialias",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetAntialias(A)}},{key:"SetFrameInfoCallBack",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetFrameInfoCallBack(A,e)}},{key:"FEC_SetCanvasID",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetCanvasID(A)}},{key:"FEC_ResetCorrectType",value:function(A,e,t){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_ResetCorrectType(A,e,t)}},{key:"FEC_GetPort",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_GetPort(A,e)}},{key:"FEC_Enable",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_Enable(A)}},{key:"FEC_SetParam",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetParam(A,e)}},{key:"FEC_GetParam",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_GetParam(A,e)}},{key:"FEC_SetViewParam",value:function(A,e,t){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetViewParam(A,e,t)}},{key:"FEC_GetViewParam",value:function(A,e,t){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_GetViewParam(A,e,t)}},{key:"FEC_SetWnd",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetWnd(A,e)}},{key:"FEC_Disable",value:function(A,e,t){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_Disable(A,e,t)}},{key:"FEC_DelPort",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_DelPort(A)}},{key:"FEC_SetDisplayRegion",value:function(A,e,t,i,a,r,n){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetDisplayRegion(A,e,t,i,a,r,n)}},{key:"FEC_SetBackCilling",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetBackCilling(A,e)}},{key:"FEC_GetPTZPort",value:function(A,e,t){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_GetPTZPort(A,e,t)}},{key:"FEC_SetPTZDisplayMode",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetPTZDisplayMode(A)}},{key:"FEC_Capture",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_Capture(A,e)}},{key:"InputPrivateInfo",value:function(A,e,t){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.InputPrivateInfo(A,e,t)}},{key:"RenderPrivateData",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.RenderPrivateData(A,e)}},{key:"RenderPrivateDataEx",value:function(A,e,t){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.RenderPrivateDataEx(A,e,t)}},{key:"SetWaterMarkFont",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetWaterMarkFont(A)}},{key:"SetWaterMarkImage",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetWaterMarkImage(A)}},{key:"SetMosaicType",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetMosaicType(A)}},{key:"SelectIntelInfoFeatureToDraw",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SelectIntelInfoFeatureToDraw(A)}},{key:"SetD3DPostProcess",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetD3DPostProcess(A,e)}},{key:"SetTextCanvas",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetTextCanvas(A)}},{key:"SetPrintLogFlag",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetPrintLogFlag(A)}},{key:"SetRotateAngle",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetRotateAngle(A)}},{key:"InitEncoder",value:function(A,e){return null===this.oVideoPlayCtrl?0:(this.oVideoPlayCtrl.InitEncoder(A,e),1)}},{key:"StartVideoEncode",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.StartVideoEncode(A)}},{key:"StartAudioEncode",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.StartAudioEncode(A)}},{key:"InputPCMToEncode",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.InputPCMToEncode(A,e)}},{key:"StopEncode",value:function(){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.StopEncode()}},{key:"SetRunTimeInfoCallBack",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetRunTimeInfoCallBack(A,e)}},{key:"SetRunTimeInfoCallbackType",value:function(A,e,t){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetRunTimeInfoCallbackType(A,e,t)}},{key:"IsVisible",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.IsVisible(A)}},{key:"SetPanoramaDisplayEffect",value:function(A){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetPanoramaDisplayEffect(A)}},{key:"SetPanoramaSphereViewParam",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetPanoramaSphereViewParam(A,e)}},{key:"GetPanoramaSphereViewParam",value:function(A,e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.GetPanoramaSphereViewParam(A,e)}},{key:"ResetBuffer",value:function(){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.ResetBuffer()}}]),t}(),Ae=[];!function(){for(var A=0;A<8;A++){Ae[A]=[];for(var e=0;e<64;e++)Ae[A][e]=null}}();var ee=null,te=!1,ie=!1,ae=1,re=1,ne={bSupHardOrSoft:!0,bSupHardDecAVC:!0,bSupHardDecHEVC:!0,cmd:"unloaded",errorCode:0,status:0},oe=-1;window.JSPlayM4_RawDataCallBack=function(A,e,t,i){null!=Ae[i][A]&&Ae[i][A].__proto__.hasOwnProperty("JSPlayM4_InputRawData")&&Ae[i][A].JSPlayM4_InputRawData(A,e,t)},window.JSPlayM4_PrivateInfoCallBack=function(A,e,t,i,a){null!=Ae[a][A]&&Ae[a][A].__proto__.hasOwnProperty("JSPlayM4_InputPrivateInfo")&&Ae[a][A].JSPlayM4_InputPrivateInfo(e,t,i)};var se=function(){function t(e,i,a){var r=this,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"webgl",s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,g=arguments.length>6&&void 0!==arguments[6]?arguments[6]:-1;if(A(this,t),this.printfFlag=window.g_printfFlag,this.jsplayer=e,this.szBasePath=i,this.fn=a,this.nUser=n,this.renderEngine=o,this.hasWebWorker=s,this.setHasThread=g,this.oJSPlayerObj=this,this.port=-1,this.pcVideoManager=null,this.decodeWorker=null,this.offscreen=null,this.canvasID="",this.canvasCnv=null,this.rtpType=0,this.decodeEngine=1,this.FirstFrameCallBackflag=!1,this.inputDataBuffer=null,this.inputDataBufferSize=204800,this.canvasIDData=null,this._decoderLoaded=!1,this.streamOpenMode=0,this.width=0,this.height=0,this.rawDataFrameInfoBuffer=null,this.rawDataFrameInfo={},this.displayFrameInfo={},this.startTimeStamp=0,this.decodeFrameType=0,this.displayBuf=0,this.needSetDisplayBuf=!1,this.FirstFrame=!0,this.codecType=0,this.curStatus=0,this.lastStatus=0,this.playSpeed=1,this.needWaitIFrame=!1,this.sysType=0,this.SetDisRegionBottom=0,this.SetDisRegionLeft=0,this.SetDisRegionRight=0,this.SetDisRegionTop=0,this.cropBottom=0,this.cropLeft=0,this.cropRight=0,this.cropTop=0,this.canvasWidth=960,this.canvasHeight=480,this.enableCanvas=!0,this.needResetCanvasSize=!1,this.hasThread=0,this.aTotalBuffer=[],this.iFrameNum=0,this.bWriteData=!0,this.downloadFlag=!1,this.bWriteAudioPCMData=!0,this.audioPCMBuffer=[],this.iAudioPCMFrameNum=0,this.pBmpData=null,this.nBmpDataSize=0,this.pBmpSizeData=null,this.bmpDataCallback=null,this.bmpDownloadFlag=!1,this.pJpegData=null,this.nJpegDataSize=0,this.pJPEGSizeData=null,this.jpegDataCallback=null,this.jpegDownloadFlag=!1,this.CropjpegDataCallback=null,this.CropjpegDownloadFlag=!1,this.CropbmpDataCallback=null,this.CropbmpDownloadFlag=!1,this.imageCB=null,this.pFontParam=null,this.pWaterMarkFontData=null,this.nWaterMarkFontLen=0,this.textCanvas=null,this.setTextCanvasFlag=!1,this.rgbDataBuffer=null,this.recoderVideoDataCBFun=null,this.recoderAudioDataCBFun=null,this.recoderAudioAnyWhere=!1,this.pMosaicParam=null,this.stDisplayRect={top:0,left:0,right:0,bottom:0},this.iZoomNum=0,this.iRatio_x=1,this.iRatio_y=1,this.pFECTotalCanvasIDData=null,this.iFECCanvasIDLen=0,this.iFECZoomNum=0,this.iFECRatio_x=1,this.iFECRatio_y=1,this.stFECDisplayRect={top:0,left:0,right:0,bottom:0},this.FECcanvasIDArray=[],this.FECGetPortCB=null,this.FECGetPTZPortCB=null,this.FECParamCB=null,this.FECViewParamCB=null,this.GetPanoramaSphereViewParamCB=null,this.FECImageCB=null,this.FECRgbDataBuffer=null,this.FFCallBackFun=null,this.addtionCallBackFun=null,this.additionDataBuffer=null,this.additionDataBufferSize=0,this.displayCallBackFun=null,this.decCallBackFun=null,this.getPlayTimeCallBackFun=null,this.runtimeCBFun=null,this.callbackFlag=!1,this.runTimeModule=0,this.needSetRunTimeInfoCB=!1,this.decodeQueueSize=0,this.decodeFrameSize=0,this.streamInfoCBFun=null,this.streamInfoType=0,this.ResamplePCMCallBack=null,this.PostMpStreamOffsetCBFun=null,this.SetPlayPosCBFun=null,this.HardDecToJpegCBFun=null,this.HardDecToJpegQuality=1,this.HardDecToJpegInterval=2,this.HardToJpegZoomWidth=100,this.HardToJpegZoomHeight=100,this.HardToJpegZoomResolutionFlag=0,this.pstRuntimeInfo={nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:0,nInputDataInterval:0,nFrameNumInterval:0,nAverageDecodeTime:0,nSystemFormat:0,nDetectRes:0,nMp4FileTime:0,nMp4TotalFrameNum:0,AbsTimeYear:0,AbsTimeMonth:0,AbsTimeDay:0,AbsTimeHour:0,AbsTimeMinute:0,AbsTimeSecond:0,AbsTimeMilliseconds:0},this.needSetSecretKey=!1,this.SecretKeyData=null,this.keyType=1,this.pKeyDataLen=128,this.needPlaySound=!1,this.decInterval=-1,this.volumeValue=-1,this.renderPrivateInfo=new Map,this.renderIntelSubEx=new Map,this.renderIntelFlagEx=new Map,this.reversePlay=!1,this.decodeThreadNum=0,this.antialiasFlag=-1,this.decodeERCLevel=0,this.d3dPostProcessType=0,this.d3dPostProcessValue=0,this.needSetD3DPostProcess=!1,this.resetBufferType=-1,this.playOrBackSwitchMode=0,this.setStretchPlayTime=0,this.setStretchPlaySpeed=0,this.autoSmoothPlayModel=-1,this.keepPlaySpeed=-1,this.FECCanvasID="",this.FECPlaceType=0,this.FECCorrectType=0,this.anrParamFlag=!1,this.anrParamLevel=-1,this.resampleFlag=!1,this.resampleRate=48e3,this.globalBaseTime=null,this.needSetSkipErrorData=!1,this.skipErrorData=-1,this.needSetDemuxModel=!1,this.setDemuxModelType=-1,this.setDemuxModelFlag=!1,this.setAudioThreadModel=-1,this.syncToAudio=-1,this.twodRotateAngle=0,this.needSetRotateAngle=!1,this.additionDataType=0,this.additionFlag=0,this.addCBFun=null,this.needSetAdditionDataCB=!1,this.needPlaySoundShare=!1,this.needSetRunTimeInfoCBType=!1,this.HIK40Head=[],this.HIKHeadSize=40,this.HIKPoolSize=2097152,this.SDPInfoData=null,this.SDPInfoLen=0,this.SDPInfoPoolSize=4194304,this.SDPInfoProtocolType=1,this.SDPInfoSessionInfoType=1,this.wasmMemory=null,this.initialMemory=8192,this.maximumMemory=16368,this.OpenStreamMode=0,ne.cmd="unloaded",ne.errorCode=0,ne.status=0,this.supportWebCodecs=_getFSupportWebCodecs(),this.supportSab=!!window.SharedArrayBuffer,this.offscreen=!!window.OffscreenCanvas,this.supportOffscreen=!1,this.offscreen){var l=new OffscreenCanvas(1,1),C=l.getContext("webgl");C&&(this.supportOffscreen=!0,C.getExtension("WEBGL_lose_context").loseContext()),l=null,C=null}if(null!=ee||te)ne.cmd="loaded",new Promise((function(A,e){A()})).then((function(){if(null!==ee&&ie)r.fn(ne);else var A=setInterval((function(){null!==ee&&ie&&(clearInterval(A),A=null,r.fn(ne))}),10)}));else if(te=!0,oe=_getFExplore(),this.supportWebCodecs?(ne.bSupHardOrSoft=!0,ne.bSupHardDecAVC=!0,ne.bSupHardDecHEVC=!0):(this.printfFlag>=0&&console.info("%c1>your browser does not support hard Decoder ","color: red"),re=0,ae=0,ne.bSupHardDecAVC=!1,ne.bSupHardDecHEVC=!1,this.supportSab&&this.supportOffscreen?ne.bSupHardOrSoft=!0:ne.bSupHardOrSoft=!1),this.getwasmMemory(),ne.bSupHardOrSoft){this.printfFlag>=0&&console.log("%cstart load Decoder.js time:"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds(),"color: blue");var I=this.szBasePath,c=document.createElement("script");c.type="text/javascript",c.src=I,this.printfFlag>=0&&console.info("%c>>>>The Decoder.js path:%s","color: green",I),this.supportSab&&this.supportOffscreen?this.wasmMemory=new WebAssembly.Memory({initial:this.initialMemory,maximum:this.maximumMemory,shared:!0}):this.wasmMemory=new WebAssembly.Memory({initial:this.initialMemory,maximum:this.maximumMemory}),console.log("create wasmMemory this.initialMemory:"+this.initialMemory+",this.maximumMemory:"+this.maximumMemory),c.onload=function(){window.JSPlayerModule({wasmMemory:r.wasmMemory}).then((function(A){ee=A,r._decoderLoaded=!0,ne.cmd="loaded";var e=ee._JSPlayM4_GetSDKVersion(),t=ee._JSPlayM4_GetBuildDate();r.printfFlag>=0&&console.log("%cEnd load Decoder.js time:"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds()+",version:"+e.toString(16)+",buildDate:"+t.toString(16),"color: blue"),ee._JSPlayM4_SetPrintLogFlag(-1,r.printfFlag),r.supportWebCodecs?VideoDecoder.isConfigSupported({codec:"avc1.42001f",hardwareAcceleration:"prefer-hardware"}).then((function(A){"prefer-hardware"==A.config.hardwareAcceleration&&A.supported?(re=1,ne.bSupHardDecAVC=!0,r.printfFlag>=0&&console.info("%c1>your browser support 264 hard Decoder","color: green"),oe>97||-1===oe?VideoDecoder.isConfigSupported({codec:"hvc1.1.6.L123.00",hardwareAcceleration:"prefer-hardware"}).then((function(A){console.log("%c hevcConfigInfo.config.hardwareAcceleration:"+A.config.hardwareAcceleration,"color:red"),"prefer-hardware"==A.config.hardwareAcceleration&&A.supported?(ae=1,ne.bSupHardDecHEVC=!0,r.printfFlag>=0&&console.info("%c2>your browser support 265 hard Decoder","color: green")):(ae=0,ne.bSupHardDecHEVC=!1,r.printfFlag>=0&&console.info("%c2>your browser not support 265 hard Decoder","color: red")),r.callbackFlag||(r.callbackFlag=!0,r.fn(ne),ie=!0)})):(ae=0,ne.bSupHardDecHEVC=!1,r.printfFlag>=0&&console.info("%c2>your browser not support 265 hard Decoder chromeVersion:"+oe,"color: red"),r.callbackFlag||(r.callbackFlag=!0,r.fn(ne),ie=!0))):(re=0,ne.bSupHardDecAVC=!1,ae=0,ne.bSupHardDecHEVC=!1,r.printfFlag>=0&&console.info("%c1>your browser not support 264/265 hard Decoder","color: red"),r.supportSab&&r.supportOffscreen?ne.bSupHardOrSoft=!0:ne.bSupHardOrSoft=!1,r.callbackFlag||(r.callbackFlag=!0,r.fn(ne),ie=!0))})).catch((function(){r.supportSab&&r.supportOffscreen?ne.bSupHardOrSoft=!0:ne.bSupHardOrSoft=!1,re=0,ne.bSupHardDecAVC=!1,ae=0,ne.bSupHardDecHEVC=!1,r.printfFlag>=0&&console.log("%c2>hard decode supported error","color: red"),r.callbackFlag||(r.callbackFlag=!0,r.fn(ne),ie=!0)})):(r.supportSab&&r.supportOffscreen?ne.bSupHardOrSoft=!0:ne.bSupHardOrSoft=!1,r.callbackFlag||(r.callbackFlag=!0,r.fn(ne),ie=!0))}))},document.body.appendChild(c)}else this.printfFlag>=0&&console.log("%c not support hard or soft","color:red"),new Promise((function(A,e){A()})).then((function(){r.callbackFlag||(r.callbackFlag=!0,r.fn(ne),ie=!0)}))}return e(t,[{key:"startWorker",value:function(A){function e(e,t){return A.apply(this,arguments)}return e.toString=function(){return A.toString()},e}((function(A,e){if(window.Worker){if(null==e.decodeWorker){if(e.decodeWorker=new g,null==e.decodeWorker)return 0;this.printfFlag>=0&&console.log("decodeWorker create success!")}e.canvasCnv=document.getElementById(A),e.offscreen=e.canvasCnv.transferControlToOffscreen(),e.decodeWorker.postMessage({command:"init",streamOpenMode:e.streamOpenMode,canvas:e.offscreen,sab:e.supportSab,renderEngine:e.renderEngine,printfLog:e.printfFlag},[e.offscreen]),0!=e.displayBuf&&e.decodeWorker.postMessage({command:"SetDisplayBuf",value:e.displayBuf}),""!=e.FECCanvasID&&e.decodeWorker.postMessage({command:"SetCanvasID",canvasID:e.FECCanvasID}),e.decodeWorker.onmessage=function(A){var t=A.data;switch(t.function){case"error":startWorker(e.canvasID,e);break;case"GetFrameData":var i=new Uint8Array(t.data);e.downloadRTPData(i);break;case"GetRawData":e.JSPlayM4_GetRawData();break;case"OrderError":console.log(">>>JS OrderError");break;case"GetPlayedTime":var a=t.value;e.getPlayTimeCallBackFun&&e.getPlayTimeCallBackFun(a-e.startTimeStamp);break;case"resetEnd":e.JSPlayM4_ResetEnd();break;case"bitmap":var r=t.value,n=t.type,o=t.sx,s=t.sy,g=t.sw,l=t.sh,C=t.framenum;e._GetImage(r,n,o,s,g,l,C);break;case"imageYUV":var I=new Uint8Array(t.value),c=t.size,h=new Uint8Array(I),B=t.type,E=t.width,x=t.height,d=t.yuvType,Q=t.sx,f=t.sy,u=t.sw,p=t.sh;e._GetImage2(h,c,E,x,B,d,Q,f,u,p),I=null,h=null,t.value=null;break;case"stop":e.decodeWorker=null,e.printfFlag>=0&&console.log("HardWorker is null");break;case"firstFrameCB":null!=e.FFCallBackFun&&e.FFCallBackFun({decodeEngine:1});break;case"SetPlayPosCB":var m={nRes:1};m.nRelativePos=t.value,null!=e.SetPlayPosCBFun&&e.SetPlayPosCBFun(m);break;case"SetFrameInfoCallBack":e.displayFrameInfo.port=t.curFrameInfo.port,e.displayFrameInfo.codecType=t.curFrameInfo.codecType,e.displayFrameInfo.frameType=t.curFrameInfo.frameType,e.displayFrameInfo.frameSize=t.curFrameInfo.frameSize,e.displayFrameInfo.width=t.curFrameInfo.width,e.displayFrameInfo.height=t.curFrameInfo.height,e.displayFrameInfo.timeStamp=t.curFrameInfo.timeStamp,e.displayFrameInfo.frameRate=t.curFrameInfo.frameRate,e.displayFrameInfo.frameNum=t.curFrameInfo.frameNum,e.displayFrameInfo.interlace=t.curFrameInfo.interlace,e.displayFrameInfo.streamEnd=t.curFrameInfo.streamEnd,e.displayFrameInfo.cropLeft=t.curFrameInfo.cropLeft,e.displayFrameInfo.cropRight=t.curFrameInfo.cropRight,e.displayFrameInfo.cropTop=t.curFrameInfo.cropTop,e.displayFrameInfo.cropBottom=t.curFrameInfo.cropBottom,e.displayFrameInfo.year=t.curFrameInfo.year,e.displayFrameInfo.month=t.curFrameInfo.month,e.displayFrameInfo.week=t.curFrameInfo.week,e.displayFrameInfo.day=t.curFrameInfo.day,e.displayFrameInfo.hour=t.curFrameInfo.hour,e.displayFrameInfo.minute=t.curFrameInfo.minute,e.displayFrameInfo.second=t.curFrameInfo.second,e.displayFrameInfo.milliseconds=t.curFrameInfo.milliseconds;break;case"FECGetViewParam":null!=e.FECViewParamCB&&e.FECViewParamCB(t.Param3D);break;case"GetPanoramaSphereViewParam":null!=e.GetPanoramaSphereViewParamCB&&e.GetPanoramaSphereViewParamCB(t.ParamVR);break;case"FECGetParam":null!=e.FECParamCB&&e.FECParamCB(t.param2d);break;case"FECGetPort":null!=e.FECGetPortCB&&e.FECGetPortCB(t.fishSubPort);break;case"FECGetPTZPort":null!=e.FECGetPTZPortCB&&e.FECGetPTZPortCB(t.fishSubPort);break;case"GetDecodeBufferSize":null!=t.rawSize&&null!=t.frameSize&&(e.decodeQueueSize=t.rawSize,e.decodeFrameSize=t.frameSize);break;case"GetCanvasCapture":if(0!=t.width&&0!=t.height){var _=new Uint8Array(t.frameData);e.imageCB(_,t.width,t.height)}break;case"FECCapture":if(0!=t.width&&0!=t.height){var y=new Uint8Array(t.frameData);e.FECImageCB(y,t.width,t.height,t.fishSubPort)}break;case"VideoRecoderInfo":var S=new Uint8Array(t.videoInfo.rawData),D=t.videoInfo;D.rawData=S,null!=e.recoderVideoDataCBFun&&e.recoderVideoDataCBFun(D),S=null;break;case"AudioRecoderInfo":var R=new Uint8Array(t.audioInfo.rawData),F=t.audioInfo;F.rawData=R,null!=e.recoderAudioDataCBFun&&e.recoderAudioDataCBFun(F),R=null;break;case"runtimeInfo":null!=e.runtimeCBFun&&e.runtimeCBFun(t.pstRuntimeInfo)}},e.decodeWorker.addEventListener("error",(function(A){console.error(A)}))}}))},{key:"JSPlayM4_GetDecodeBufferSize",value:function(A,e){return null!=A&&null!=e&&(this.decodeQueueSize=A,this.decodeFrameSize=e),1}},{key:"JSPlayM4_SetStreamEnd",value:function(A){if(1===this.decodeEngine)if(this.hasWebWorker){if(null==this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetStreamEnd",bTrue:A})}else null!=this.pcVideoManager&&this.pcVideoManager.SetStreamEnd(A)}},{key:"JSPlayM4_GetPort",value:function(){return this.printfFlag>0&&console.log(">>>>>yff>>> JSPlayM4_GetPort 1 "),null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetPort","color: red"),0):(this.port=ee._JSPlayM4_GetPort(),Ae[this.nUser][this.port]=this.oJSPlayerObj,this.printfFlag>0&&console.log(">>>>>yff>>> JSPlayM4_GetPort 2 this.port:"+this.port),1)}},{key:"JSPlayM4_SetStreamOpenMode",value:function(A){return this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_SetStreamOpenMode 1 mode:"+A),null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetStreamOpenMode","color: red"),0):(this.streamOpenMode=A,this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_SetStreamOpenMode 2 mode:"+A),null==this.pcVideoManager&&(this.pcVideoManager=new $A(this)),ee._JSPlayM4_SetStreamOpenMode(this.port,A))}},{key:"JSPlayM4_OpenStream",value:function(A,e,t){if(this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_OpenStream 1 :"+A+",this.port:"+this.port),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_OpenStream","color: red"),0;var i=ee._malloc(e);if(null===i)return console.log("hikHeadBuffer malloc failed"),0;var a=new Uint8Array(A.buffer);if(5==A[10]&&0==A[11]){if(this.codecType=5,!ne.bSupHardDecHEVC&&!this.supportSab)return console.info("%c3>The codecType is VIDEO_AVC265,not support SharedArrayBuffer","color: red"),P}else 1==A[10]&&0==A[11]?this.codecType=1:0==A[10]&&1==A[11]?this.codecType=256:4==A[10]&&0==A[11]?this.codecType=4:this.codecType=0;ee.writeArrayToMemory(a,i);var r=ee._JSPlayM4_OpenStream(this.port,i,e,t);return null!==i&&(ee._free(i),i=null),a=null,this.HIK40Head=new Uint8Array(A),this.HIKHeadSize=e,this.HIKPoolSize=t,this.OpenStreamMode=0,r}},{key:"JSPlayM4_OpenStreamAdvanced",value:function(A,e,t,i,a){if(this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_OpenStreamAdvanced 1 :"+i+",this.port:"+this.port),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_OpenStreamAdvanced","color: red"),0;var r=this._stringToBytes(i),n=ee._malloc(t);if(null!==n){var o=ee.HEAPU8.subarray(n,n+t),s=new Uint8Array(t);o.set(s,0),o.set(new Uint8Array(r)),o=null,s=null;var g=ee._JSPlayM4_OpenStreamAdvanced(this.port,A,e,t,n,a);return null!==n&&(ee._free(n),n=null),this.SDPInfoData=i,this.SDPInfoLen=t,this.SDPInfoPoolSize=a,this.SDPInfoProtocolType=A,this.SDPInfoSessionInfoType=e,this.OpenStreamMode=1,g}}},{key:"JSPlayM4_SetDecodeEngine",value:function(A){return this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_SetDecodeEngine 1:"+A),0!=A&&1!=A?(console.log("0 is softDecode, 1 is hardDecoder,decodeEngine:"+A),0):0!==A||this.supportSab&&this.supportOffscreen?(this.decodeEngine=A,1):(this.jsplayer._switchV3ToV1(this.streamOpenMode,this.HIK40Head,this.HIKHeadSize,this.HIKPoolSize,!0),0)}},{key:"_switchHardToSoft",value:function(){return this.JSPlayM4_Stop(!0),this.JSPlayM4_CloseStream(),this.JSPlayM4_FreePort(),this.supportSab&&this.supportOffscreen?(this.JSPlayM4_SetDecodeEngine(0)&&(console.log("V3 switchHardToSoft this.szBasePath:"+this.szBasePath),this.JSPlayM4_GetPort(),this.JSPlayM4_SetStreamOpenMode(this.streamOpenMode),0==this.OpenStreamMode?this.JSPlayM4_OpenStream(this.HIK40Head,this.HIKHeadSize,this.HIKPoolSize):this.JSPlayM4_OpenStreamAdvanced(this.SDPInfoProtocolType,this.SDPInfoSessionInfoType,this.SDPInfoLen,this.SDPInfoData,this.SDPInfoPoolSize),this.JSPlayM4_Play(null,!0),null!=this.runtimeCBFun&&(this.pstRuntimeInfo.nRunTimeModule=2,this.pstRuntimeInfo.nStrVersion=1,this.pstRuntimeInfo.nFrameTimeStamp=0,this.pstRuntimeInfo.nFrameNum=0,this.pstRuntimeInfo.nErrorCode=3,this.pstRuntimeInfo.nInputDataInterval=0,this.pstRuntimeInfo.nFrameNumInterval=0,this.pstRuntimeInfo.nAverageDecodeTime=0,this.pstRuntimeInfo.nSystemFormat=this.sysType,this.runtimeCBFun(this.pstRuntimeInfo))),1):(this.jsplayer._switchV3ToV1(this.streamOpenMode,this.HIK40Head,this.HIKHeadSize,this.HIKPoolSize,!0),0)}},{key:"_HardToSoftNeedResetParam",value:function(){if(null!=this.FFCallBackFun&&ee._JSPlayM4_SetFirstFrameCallBack(this.port,this.FirstFrameCallBackflag,this.nUser),this.needSetSecretKey&&this.JSPlayM4_SetSecretKey(this.keyType,this.SecretKeyData,this.pKeyDataLen),null!=this.globalBaseTime&&this.globalBaseTime.month>0&&this.globalBaseTime.month<13&&this.JSPlayM4_SetGlobalBaseTime(this.globalBaseTime.year,this.globalBaseTime.month,this.globalBaseTime.day,this.globalBaseTime.hour,this.globalBaseTime.min,this.globalBaseTime.sec,this.globalBaseTime.ms),this.needSetSkipErrorData&&this.JSPlayM4_SkipErrorData(this.skipErrorData),this.needSetDemuxModel&&this.JSPlayM4_SetDemuxModel(this.setDemuxModelType,this.setDemuxModelFlag),this.needSetAdditionDataCB&&this.JSPlayM4_SetAdditionDataCallBack(this.additionDataType,this.additionFlag,this.addCBFun),this.JSPlayM4_SetDecodeFrameType(this.decodeFrameType),-1!=this.decInterval&&ee._JSPlayM4_SetIFrameDecInterval(this.port,nInterval),0!=this.decodeThreadNum&&ee._JSPlayM4_SetDecodeThreadNum(this.port,this.decodeThreadNum),0!=this.decodeERCLevel&&ee._JSPlayM4_SetDecodeERC(this.port,this.decodeERCLevel),-1!=this.resetBufferType&&ee._JSPlayM4_ResetBuffer(this.port,this.resetBufferType),this.needPlaySound&&this.JSPlayM4_PlaySound(),this.needPlaySoundShare&&this.JSPlayM4_PlaySoundShare(),-1!=this.setAudioThreadModel&&this.JSPlayM4_SetAudioThreadModel(this.setAudioThreadModel),-1!=this.syncToAudio&&this.JSPlayM4_SyncToAudio(this.syncToAudio),this.anrParamFlag&&-1!=this.anrParamLevel&&this.JSPlayM4_SetANRParam(this.anrParamFlag,this.anrParamLevel),this.resampleFlag&&this.JSPlayM4_SetResampleValue(this.resampleFlag,this.resampleRate),-1!=this.volumeValue&&this.JSPlayM4_SetVolume(this.volumeValue),this.needSetRunTimeInfoCB&&ee._JSPlayM4_SetRunTimeInfoCallBackEx(this.port,this.runTimeModule,this.nUser),this.needSetRunTimeInfoCBType){if(this.jsplayer.SourceTypeFlagMap.size>0){var A,e=D(this.jsplayer.SourceTypeFlagMap.keys());try{for(e.s();!(A=e.n()).done;){var t=A.value,i=this.jsplayer.SourceTypeFlagMap.get(t);1==i&&ee._JSPlayM4_SetRunTimeInfoCallbackType(this.port,0,t,i)}}catch(A){e.e(A)}finally{e.f()}}if(this.jsplayer.SplitterTypeFlagMap.size>0){var a,r=D(this.jsplayer.SplitterTypeFlagMap.keys());try{for(r.s();!(a=r.n()).done;){var n=a.value,o=this.jsplayer.SplitterTypeFlagMap.get(n);1==o&&ee._JSPlayM4_SetRunTimeInfoCallbackType(this.port,1,n,o)}}catch(A){r.e(A)}finally{r.f()}}if(this.jsplayer.DecodeTypeFlagMap.size>0){var s,g=D(this.jsplayer.DecodeTypeFlagMap.keys());try{for(g.s();!(s=g.n()).done;){var l=s.value,C=this.jsplayer.DecodeTypeFlagMap.get(l);1==C&&ee._JSPlayM4_SetRunTimeInfoCallbackType(this.port,2,l,C)}}catch(A){g.e(A)}finally{g.f()}}if(this.jsplayer.RenderTypeFlagMap.size>0){var I,c=D(this.jsplayer.RenderTypeFlagMap.keys());try{for(c.s();!(I=c.n()).done;){var h=I.value,B=this.jsplayer.RenderTypeFlagMap.get(h);1==B&&ee._JSPlayM4_SetRunTimeInfoCallbackType(this.port,3,h,B)}}catch(A){c.e(A)}finally{c.f()}}if(this.jsplayer.ManagerTypeFlagMap.size>0){var E,x=D(this.jsplayer.ManagerTypeFlagMap.keys());try{for(x.s();!(E=x.n()).done;){var d=E.value,Q=this.jsplayer.ManagerTypeFlagMap.get(d);1==Q&&ee._JSPlayM4_SetRunTimeInfoCallbackType(this.port,4,d,Q)}}catch(A){x.e(A)}finally{x.f()}}}null!=this.streamInfoCBFun&&ee._JSPlayM4_SetStreamInfoCallBack(this.port,this.streamInfoType,this.nUser),null!=this.PostMpStreamOffsetCBFun&&ee._JSPlayM4_SetPostMpStreamOffsetCallBack(this.port,this.nUser),0!=this.playOrBackSwitchMode&&ee._JSPlayM4_SetPlayOrBackSwitchMode(this.port,this.playOrBackSwitchMode);var f,u=D(this.renderPrivateInfo.keys());try{for(u.s();!(f=u.n()).done;){var p=f.value,m=this.renderPrivateInfo.get(p);ee._JSPlayM4_RenderPrivateData(this.port,p,m)}}catch(A){u.e(A)}finally{u.f()}var _,y=D(this.renderIntelSubEx.keys());try{for(y.s();!(_=y.n()).done;){var S=_.value,R=this.renderIntelSubEx.get(S),F=this.renderIntelFlagEx.get(S);ee._JSPlayM4_RenderPrivateDataEx(this.port,S,R,F)}}catch(A){y.e(A)}finally{y.f()}return this.needSetDisplayBuf&&ee._JSPlayM4_SetDisplayBuf(this.port,this.displayBuf),-1!=this.antialiasFlag&&ee._JSPlayM4_SetAntialias(this.port,this.antialiasFlag),this.needSetD3DPostProcess&&ee._JSPlayM4_SetD3DPostProcess(this.port,this.d3dPostProcessType,this.d3dPostProcessValue),null!=this.pFontParam&&this.JSPlayM4_SetWaterMarkFont(this.pFontParam),null!=this.pMosaicParam&&this.JSPlayM4_SetMosaicType(this.pMosaicParam),0!=this.setStretchPlaySpeed&&ee._JSPlayM4_SetStretchPlay(this.port,this.setStretchPlayTime,this.setStretchPlaySpeed),-1!=this.autoSmoothPlayModel&&ee._JSPlayM4_SetAutoSmoothPlay(this.port,this.autoSmoothPlayModel),-1!=this.keepPlaySpeed&&ee._JSPlayM4_KeepPlaySpeed(this.port,this.keepPlaySpeed),this.printfFlag>0&&this.JSPlayM4_SetPrintLogFlag(this.printfFlag),this.needSetRotateAngle&&ee._JSPlayM4_SetRotateAngle(this.port,this.twodRotateAngle),""!=this.FECCanvasID&&this.JSPlayM4_FEC_SetCanvasID(this.FECCanvasID,!0),0!=this.FECPlaceType&&ee._JSPlayM4_FEC_ResetCorrectType(this.port,0,this.FECPlaceType,this.FECCorrectType),1}},{key:"JSPlayM4_DownloadRawData",value:function(){return this.downloadFlag=!0,1}},{key:"JSPlayM4_InputRawData",value:function(A,e,t){if(this.rawDataFrameInfoBuffer=t,this.rawDataFrameInfo.port=A,this.rawDataFrameInfo.codecType=ee.HEAP32[this.rawDataFrameInfoBuffer+4>>2],this.rawDataFrameInfo.frameType=ee.HEAP32[this.rawDataFrameInfoBuffer+12>>2],this.rawDataFrameInfo.frameSize=ee.HEAP32[this.rawDataFrameInfoBuffer+16>>2],this.rawDataFrameInfo.width=ee.HEAP32[this.rawDataFrameInfoBuffer+20>>2],this.rawDataFrameInfo.height=ee.HEAP32[this.rawDataFrameInfoBuffer+24>>2],this.rawDataFrameInfo.timeStamp=ee.HEAP32[this.rawDataFrameInfoBuffer+28>>2],this.rawDataFrameInfo.frameRate=ee.HEAP32[this.rawDataFrameInfoBuffer+32>>2],this.rawDataFrameInfo.frameNum=ee.HEAP32[this.rawDataFrameInfoBuffer+36>>2],this.rawDataFrameInfo.isKeyFrame=ee.HEAP32[this.rawDataFrameInfoBuffer+40>>2],this.rawDataFrameInfo.interlace=ee.HEAP32[this.rawDataFrameInfoBuffer+44>>2],this.rawDataFrameInfo.streamEnd=ee.HEAP32[this.rawDataFrameInfoBuffer+48>>2],this.rawDataFrameInfo.cropLeft=ee.HEAP32[this.rawDataFrameInfoBuffer+52>>2],this.rawDataFrameInfo.cropRight=ee.HEAP32[this.rawDataFrameInfoBuffer+56>>2],this.rawDataFrameInfo.cropTop=ee.HEAP32[this.rawDataFrameInfoBuffer+60>>2],this.rawDataFrameInfo.cropBottom=ee.HEAP32[this.rawDataFrameInfoBuffer+64>>2],this.rawDataFrameInfo.year=ee.HEAP16[this.rawDataFrameInfoBuffer+68>>1],this.rawDataFrameInfo.month=ee.HEAP16[this.rawDataFrameInfoBuffer+70>>1],this.rawDataFrameInfo.week=ee.HEAP16[this.rawDataFrameInfoBuffer+72>>1],this.rawDataFrameInfo.day=ee.HEAP16[this.rawDataFrameInfoBuffer+74>>1],this.rawDataFrameInfo.hour=ee.HEAP16[this.rawDataFrameInfoBuffer+76>>1],this.rawDataFrameInfo.minute=ee.HEAP16[this.rawDataFrameInfoBuffer+78>>1],this.rawDataFrameInfo.second=ee.HEAP16[this.rawDataFrameInfoBuffer+80>>1],this.rawDataFrameInfo.milliseconds=ee.HEAP16[this.rawDataFrameInfoBuffer+82>>1],this.sysType=ee.HEAP32[this.rawDataFrameInfoBuffer+84>>2],this.rawDataFrameInfo.VRViewLimitRate=ee.HEAP32[this.rawDataFrameInfoBuffer+88>>2],this.rawDataFrameInfo.needSetPreSoft=!1,(this.rawDataFrameInfo.frameRate<1||1==this.rawDataFrameInfo.interlace)&&(this.rawDataFrameInfo.needSetPreSoft=!0),0!=this.width&&0!=this.height||(this.width=this.rawDataFrameInfo.width,this.height=this.rawDataFrameInfo.height,this.startTimeStamp=this.rawDataFrameInfo.timeStamp,this.FirstFrame=!1),0==this.rawDataFrameInfo.cropLeft&&0==this.rawDataFrameInfo.cropRight&&0==this.rawDataFrameInfo.cropTop&&0==this.rawDataFrameInfo.cropBottom||(this.cropBottom=this.rawDataFrameInfo.cropBottom,this.cropLeft=this.rawDataFrameInfo.cropLeft,this.cropRight=this.rawDataFrameInfo.cropRight,this.cropTop=this.rawDataFrameInfo.cropTop),1==this.decodeFrameType){if(1!==this.rawDataFrameInfo.isKeyFrame)return 1;this.needWaitIFrame&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"SetDecodeFrameType",timestamp:this.rawDataFrameInfo.timeStamp}):this.pcVideoManager.SetDecodeFrameType(this.rawDataFrameInfo.timeStamp),this.needWaitIFrame=!1)}if(0==this.decodeFrameType&&1==this.needWaitIFrame){if(1!==this.rawDataFrameInfo.isKeyFrame)return 1;this.needWaitIFrame=!1}var i=new Uint8Array(this.rawDataFrameInfo.frameSize);if(i.set(ee.HEAPU8.subarray(ee.HEAP32[this.rawDataFrameInfoBuffer>>2],ee.HEAP32[this.rawDataFrameInfoBuffer>>2]+this.rawDataFrameInfo.frameSize)),this.downloadFlag&&this.downloadRTPData(i),this.hasWebWorker){if(null===this.decodeWorker)return i=null,0;this.decodeWorker.postMessage({command:"inputData",rawData:i.buffer,rawDataFrameInfo:this.rawDataFrameInfo},[i.buffer])}else null!==this.pcVideoManager&&this.pcVideoManager.inputData(i,this.rawDataFrameInfo);i=null}},{key:"JSPlayM4_GetRawData",value:function(){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetRawData","color: red"),0;ee._JSPlayM4_SetHardQueueSize(this.port,this.decodeQueueSize,this.decodeFrameSize),ee._JSPlayM4_GetRawData(this.port)}},{key:"JSPlayM4_ResetEnd",value:function(){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_ResetEnd","color: red"),0):ee._JSPlayM4_ResetEnd(this.port)}},{key:"JSPlayM4_NeedReset",value:function(A,e,t){return this.hasWebWorker?null!=Ae[t][A].decodeWorker&&Ae[t][A].decodeWorker.postMessage({command:"needReset",bTrue:!0}):this.pcVideoManager.needReset(!0),1}},{key:"JSPlayM4_SetAudioDisplayBuf",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetAudioDisplayBuf","color: red"),0):ee._JSPlayM4_SetAudioDisplayBuf(this.port,A)}},{key:"JSPlayM4_Play",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_Play 1 this.canvasID:"+this.canvasID+",this.supportSab:"+this.supportSab),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_Play","color: red"),0;if(this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_Play 2:"+this.decodeEngine),6==this.curStatus){if(1==this.decodeEngine){if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"NotifyBackPlay",flag:0})}else null!=this.pcVideoManager&&this.pcVideoManager.NotifyBackPlay(0);ee._JSPlayM4_ResetBuffer(this.port,1),this.needPlaySound&&ee._JSPlayM4_PlaySound(this.port),this.needPlaySoundShare&&ee._JSPlayM4_PlaySoundShare(this.port)}else ee._JSPlayM4_Play(this.port,this.canvasIDData);return this.curStatus=2,1}if(null!=A&&(this.canvasID=A,this.canvasWidth=document.getElementById(this.canvasID).width,this.canvasHeight=document.getElementById(this.canvasID).height),0===ae&&5===this.codecType?(this.decodeEngine=0,console.info("%c2>there will decode 265 by softDecoder","color: green")):0!==re||256!==this.codecType&&1!==this.codecType?4==this.codecType&&(this.decodeEngine=0,console.info("%c2>there will decode MJPEG by softDecoder(only V3-soft support MJPEG)","color: green")):(this.decodeEngine=0,console.info("%c2>there will decode 264 by softDecoder","color: green")),0==re&&0==ae&&(this.decodeEngine=0),!(this.supportSab&&this.supportOffscreen||0!==this.decodeEngine))return console.info("%c3>SharedArrayBuffer or Offscreen Error , does not support Soft Decdoe!!!!!","color: red"),this.jsplayer._switchV3ToV1(this.streamOpenMode,this.HIK40Head,this.HIKHeadSize,this.HIKPoolSize,!0),1;if(-1!=this.setHasThread&&(this.hasThread=this.setHasThread),ee._JSPlayM4_SetDecodeEngine(this.port,this.decodeEngine,this.hasThread),this.printfFlag>=0&&console.log("%cThe final decodeEngine is %d (0 is soft,1 is hard),codecType:%d","color: green",this.decodeEngine,this.codecType),0===this.decodeEngine&&e&&null!=this.canvasID){var t=document.getElementById(this.canvasID);t&&(this.clonedCanvas=t.cloneNode(!0),this.clonedCanvasParentNode=t.parentNode,this.clonedCanvasParentNode.replaceChild(this.clonedCanvas,t))}this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_Play 2 this.canvasID:"+this.canvasID+",this.supportSab:"+this.supportSab+",this.decodeEngine:"+this.decodeEngine);var i=1;if(1===this.decodeEngine){this.hasWebWorker?this.startWorker(this.canvasID,this):(this.canvasCnv=document.getElementById(this.canvasID),this.pcVideoManager.init(this.canvasCnv,this.streamOpenMode,this.supportSab,this.renderEngine),this.needSetDisplayBuf&&this.pcVideoManager.SetDisplayBuf(this.displayBuf)),ee._JSPlayM4_SetVideoRawDataCallBack(this.port,this.nUser);var a=ee.addFunction(this.JSPlayM4_NeedReset,"viii");ee._JSPlayM4_SetResetCallBack(this.port,a,this.nUser),ee._JSPlayM4_SetPrivateInfoCallBack(this.port,this.nUser),this.JSPlayM4_SetCanvasSize(this.canvasWidth,this.canvasHeight),1==(i=ee._JSPlayM4_Play(this.port,null))&&(this.curStatus=2)}else if(0===this.decodeEngine){if(""!=this.canvasID&&null!=this.canvasID){var r=this._stringToBytes("#"+this.canvasID),n=2*(this.canvasID.length+1);if(this.canvasIDData=ee._malloc(n),null===this.canvasIDData)return 0;var o=ee.HEAPU8.subarray(this.canvasIDData,this.canvasIDData+n),s=new Uint8Array(n);o.set(s,0),o.set(new Uint8Array(r)),o=null,s=null}this._HardToSoftNeedResetParam(),1==(i=ee._JSPlayM4_Play(this.port,this.canvasIDData))&&(this.curStatus=2)}if(this.JSPlayM4_SetFrameInfoCallBack(1),1===this.decodeEngine)if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetPrintLogFlag",printfFlag:this.printfFlag})}else null!=this.pcVideoManager&&this.pcVideoManager.SetPrintLogFlag(this.printfFlag);return i}},{key:"JSPlayM4_InputData",value:function(A,e){if(this.inputDataBufferSize0&&console.log(">>>>>yff>>>>> JSPlayM4_InputData 2 res:"+n+",inputSize:"+e),r=null,1!=n&&ee._JSPlayM4_GetLastError(this.port)==P&&this._switchHardToSoft(),n}},{key:"JSPlayM4_Stop",value:function(){var A=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_Stop","color: red"),0;if(this.JSPlayM4_StopEncode(),this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"stop"}):null!=this.pcVideoManager&&this.pcVideoManager.stop(),this.bWriteData&&this.iFrameNum>0){console.log("download"+this.iFrameNum+"Psdata");var e=new Uint8Array(this.aTotalBuffer);this._downloadFile(e,"RTPRaw.data"),this.aTotalBuffer.splice(0,this.aTotalBuffer.length),this.bWriteData=!1,this.iFrameNum=0,e=null}var t=1;if((2==this.curStatus||5==this.curStatus||6==this.curStatus)&&(1==(t=ee._JSPlayM4_Stop(this.port))&&(this.curStatus=4),1==t&&A)){var i=document.getElementById(this.canvasID);if(i&&(this.clonedCanvas=i.cloneNode(!0),this.clonedCanvasParentNode=i.parentNode,this.clonedCanvasParentNode.replaceChild(this.clonedCanvas,i)),0!=this.FECcanvasIDArray.length)for(var a=0;aa?a:this.HardToJpegZoomWidth,I=this.HardToJpegZoomHeight>r?r:this.HardToJpegZoomHeight):(C=a,I=r),g.width=C,g.height=I,l.drawImage(A,t,i,a,r,0,0,C,I),0==this.jpegDownloadFlag&&0==this.bmpDownloadFlag&&null==this.jpegDataCallback&&null==this.bmpDataCallback&&null==this.HardDecToJpegCBFun||g.toBlob((function(t){if(o.jpegDataCallback||o.bmpDataCallback||o.HardDecToJpegCBFun){var i=new FileReader;i.onload=function(){if(null!=this.jpegDataCallback&&(this.jpegDataCallback(new Uint8Array(i.result),i.result.byteLength),this.jpegDataCallback=null),null!=this.bmpDataCallback&&(this.bmpDataCallback(new Uint8Array(i.result),i.result.byteLength),this.bmpDataCallback=null),null!=this.HardDecToJpegCBFun){var A={};A.jpegData=new Uint8Array(i.result),A.jpegDataSize=i.result.byteLength,A.frameNum=n,this.HardDecToJpegCBFun(A)}}.bind(o),i.readAsArrayBuffer(t)}if(o.jpegDownloadFlag||o.bmpDownloadFlag){var a=window.URL.createObjectURL(t),r=document.createElement("a");r.download=(new Date).getTime()+"."+e,r.href=a,r.dataset.downloadurl=[s,r.download,r.href].join(":"),document.body.appendChild(r),r.click(),document.body.removeChild(r),A.close(),l=null,o.jpegDownloadFlag&&(o.jpegDownloadFlag=!1),o.bmpDownloadFlag&&(o.bmpDownloadFlag=!1)}}),s,this.HardDecToJpegQuality)}}},{key:"_GetImage2",value:function(A,e,t,i,a,r,n,o,s,g){var l=this;setTimeout((function(){if(0!=t&&0!=i){var C,I=ee._malloc(e);if(null===I)return;ee.writeArrayToMemory(new Uint8Array(A,0,e),I),C=704!=t||288!=i&&240!=i?t*i*4+60:t*i*8+60;var c=ee._malloc(C),h=ee._malloc(4);if(null===c||null===h)return ee._free(I),I=null,null!=c&&(ee._free(c),c=null),void(null!=h&&(ee._free(h),h=null));ee.setValue(h,C,"i32");var B=2;"nv12"===r?B=2:"I420"===r&&(B=3),"jpeg"==a?ee._JSPlayM4_VideoDataToJpeg(l.port,I,e,c,h,t,i,B,n,o,s,g):"bmp"==a&&ee._JSPlayM4_VideoDataToBMP(l.port,I,e,c,h,t,i,B,n,o,s,g);var E=ee.getValue(h,"i32"),x=new Uint8Array(E);x.set(ee.HEAPU8.subarray(c,c+E)),0==n&&0==o&&0==s&&0==g?"jpeg"==a?(null!=l.jpegDataCallback&&l.jpegDataCallback(x,E),l.jpegDownloadFlag&&l._downloadFile(x,"GetImage."+a),l.jpegDataCallback=null,l.jpegDownloadFlag=!1):"bmp"==a&&(null!=l.bmpDataCallback&&l.bmpDataCallback(x,E),l.bmpDownloadFlag&&l._downloadFile(x,"GetImage."+a),l.bmpDataCallback=null,l.bmpDownloadFlag=!1):"jpeg"==a?(null!=l.CropjpegDataCallback&&l.CropjpegDataCallback(x,E),l.CropjpegDownloadFlag&&l._downloadFile(x,"GetCropImage."+a),l.CropjpegDataCallback=null,l.CropjpegDownloadFlag=!1):"bmp"==a&&(null!=l.CropbmpDataCallback&&l.CropbmpDataCallback(x,E),l.CropbmpDownloadFlag&&l._downloadFile(x,"GetCropImage."+a),l.CropbmpDataCallback=null,l.CropbmpDownloadFlag=!1),x=null,null!=c&&(ee._free(c),c=null),null!=h&&(ee._free(h),h=null)}}),0)}},{key:"JSPlayM4_GetJPEG",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.jpegDataCallback=A,this.jpegDownloadFlag=e,1===this.decodeEngine)return this.hasWebWorker?this.decodeWorker.postMessage({command:"GetJPEG"}):null!=this.pcVideoManager&&this.pcVideoManager.GetJPEG(),1;if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetJPEG","color: red"),0;var t=ee._JSPlayM4_GetFrameInfo(this.port);if(this.width=ee.HEAP32[t+12>>2],this.height=ee.HEAP32[t+16>>2],0!=this.width&&0!=this.height){var i=this.width*this.height*4+60;if((null==this.pJpegData||this.nJPEGDataSize0&&void 0!==arguments[0]?arguments[0]:null,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.bmpDataCallback=A,this.bmpDownloadFlag=e,1===this.decodeEngine)return this.hasWebWorker?this.decodeWorker.postMessage({command:"GetBMP"}):null!=this.pcVideoManager&&this.pcVideoManager.GetBMP(),1;if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetBMP","color: red"),0;var t,i=ee._JSPlayM4_GetFrameInfo(this.port);if(this.width=ee.HEAP32[i+12>>2],this.height=ee.HEAP32[i+16>>2],0==this.width||0==this.height)return 0;if(t=704!=this.width||288!=this.height&&240!=this.height?this.width*this.height*4+60:this.width*this.height*8+60,!(null==this.pBmpData||this.nBmpDataSize0&&void 0!==arguments[0]?arguments[0]:null,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.CropjpegDataCallback=A,this.CropjpegDownloadFlag=e,1===this.decodeEngine)return this.hasWebWorker?this.decodeWorker.postMessage({command:"GetCropJPEG"}):null!=this.pcVideoManager&&this.pcVideoManager.GetCropJPEG(),1;if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetCropJPEG","color: red"),0;var t=ee._JSPlayM4_GetFrameInfo(this.port);if(this.width=ee.HEAP32[t+12>>2],this.height=ee.HEAP32[t+16>>2],0!=this.width&&0!=this.height){var i=this.width*this.height*4+60,a=ee._malloc(i),r=ee._malloc(4),n=this.SetDisRegionBottom,o=this.SetDisRegionLeft,s=this.SetDisRegionRight,g=this.SetDisRegionTop;if(null===a)return;var l=ee._JSPlayM4_GetCropJPEG(this.port,a,i,r,0,0,o,g,s,n);if(1!=l){var C=ee._JSPlayM4_GetLastError(this.port);console.log("errorcode:"+C)}if(1==l){var I=ee.getValue(r,"i32"),c=new Uint8Array(I);c.set(ee.HEAPU8.subarray(a,a+I)),null!=A&&A(c,I),e&&this._downloadFile(c,"GetCropJPEG.jpeg"),c=null,this.CropjpegDataCallback=null,this.CropjpegDownloadFlag=!1}return null!=a&&(ee._free(a),a=null),null!=r&&(ee._free(r),r=null),l}return 0}},{key:"JSPlayM4_GetCropBMP",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.CropbmpDataCallback=A,this.CropbmpDownloadFlag=e,1===this.decodeEngine)return this.hasWebWorker?this.decodeWorker.postMessage({command:"GetCropBMP"}):null!=this.pcVideoManager&&this.pcVideoManager.GetCropBMP(),1;if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetCropBMP","color: red"),0;var t=ee._JSPlayM4_GetFrameInfo(this.port);if(this.width=ee.HEAP32[t+12>>2],this.height=ee.HEAP32[t+16>>2],0==this.width||0==this.height)return 0;var i=this.width*this.height*4+60,a=ee._malloc(i),r=ee._malloc(4),n=this.SetDisRegionBottom,o=this.SetDisRegionLeft,s=this.SetDisRegionRight,g=this.SetDisRegionTop;if(null!==a){var l=ee._JSPlayM4_GetCropBMP(this.port,a,i,r,0,0,o,g,s,n);if(1!=l){var C=ee._JSPlayM4_GetLastError(this.port);console.log("errorcode:"+C)}if(1==l){var I=ee.getValue(r,"i32"),c=new Uint8Array(I);c.set(ee.HEAPU8.subarray(a,a+I)),null!=A&&A(c,I),e&&this._downloadFile(c,"GetCropBmp.bmp"),c=null,this.CropbmpDataCallback=null,this.CropbmpDownloadFlag=!1}return null!=a&&(ee._free(a),a=null),null!=r&&(ee._free(r),r=null),1}}},{key:"JSPlayM4_GetCanvasCapture",value:function(A,e,t){return this.imageCB=A,1===this.decodeEngine?(this.hasWebWorker?this.decodeWorker.postMessage({command:"GetCanvasCapture",capWidth:e,capHeight:t}):null!=this.pcVideoManager&&this.pcVideoManager.GetCanvasCapture(A,e,t),1):(i=0==e||0==t?0:1,ee._JSPlayM4_GetD3DCapture(this.port,i,e,t),1);var i}},{key:"JSPlayM4_StopSound",value:function(){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_StopSound","color: red"),0):(this.needPlaySound=!1,ee._JSPlayM4_StopSound())}},{key:"JSPlayM4_GetSDKVersion",value:function(){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetSDKVersion","color: red"),0):ee._JSPlayM4_GetSDKVersion()}},{key:"JSPlayM4_GetBuildDate",value:function(){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetBuildDate","color: red"),0):ee._JSPlayM4_GetBuildDate()}},{key:"JSPlayM4_GetLastError",value:function(){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetLastError","color: red"),0):ee._JSPlayM4_GetLastError(this.port)}},{key:"JSPlayM4_Fast",value:function(){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_Fast","color: red"),0;if(0===this.streamOpenMode)return 1;if(1===this.decodeEngine)if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"fast"})}else null!=this.pcVideoManager&&this.pcVideoManager.fast();var A=ee._JSPlayM4_Fast(this.port);return 1==A&&(this.playSpeed=2*this.playSpeed),A}},{key:"JSPlayM4_Slow",value:function(){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_Slow","color: red"),0;if(0===this.streamOpenMode)return 1;if(1===this.decodeEngine)if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"slow"})}else null!=this.pcVideoManager&&this.pcVideoManager.slow();var A=ee._JSPlayM4_Slow(this.port);return 1==A&&(this.playSpeed=this.playSpeed/2),console.log("this.playSpeed:"+this.playSpeed),A}},{key:"JSPlayM4_SetIFrameDecInterval",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetIFrameDecInterval","color: red"),0):1===this.decodeEngine?1:(this.decInterval=A,ee._JSPlayM4_SetIFrameDecInterval(this.port,A))}},{key:"JSPlayM4_Pause",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_Pause","color: red"),0):0===this.streamOpenMode?1:(1===this.decodeEngine&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"Pause",value:A}):null!=this.pcVideoManager&&this.pcVideoManager.Pause(A)),ee._JSPlayM4_Pause(this.port,A))}},{key:"JSPlayM4_OneByOne",value:function(){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_OneByOne","color: red"),0;if(0===this.streamOpenMode)return 0;ne.cmd="onebyone";var A=ee._JSPlayM4_GetSourceBufferRemain(this.port),e=ee._JSPlayM4_GetLastError(this.port);return A<1e3||31==e?(ne.errorCode=31,ne.status=!0,this.fn(ne)):(A>this.HIKPoolSize-1e3||11==e)&&(ne.errorCode=0,ne.status=!1,this.fn(ne)),2!=this.curStatus&&6!=this.curStatus||(this.lastStatus=this.curStatus),this.curStatus=5,1===this.decodeEngine&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"OneByOne",value:1}):null!=this.pcVideoManager&&this.pcVideoManager.OneByOne(1)),ee._JSPlayM4_OneByOne(this.port,this.decodeQueueSize,this.decodeFrameSize)}},{key:"JSPlayM4_OneByOneResume",value:function(){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_OneByOneResume","color: red"),0):(ne.cmd="play",0===this.streamOpenMode?1:(2===this.lastStatus?this.curStatus=2:6===this.lastStatus&&(this.curStatus=6),1===this.decodeEngine&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"OneByOne",value:0}):null!=this.pcVideoManager&&this.pcVideoManager.OneByOne(0)),ee._JSPlayM4_Play(this.port,this.canvasIDData)))}},{key:"JSPlayM4_SetVolume",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetVolume","color: red"),0):(this.volumeValue=A,ee._JSPlayM4_SetVolume(this.port,A))}},{key:"JSPlayM4_GetVolume",value:function(){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetVolume","color: red"),0):ee._JSPlayM4_GetVolume(this.port)}},{key:"JSPlayM4_SetDisplayRegion",value:function(A,e,t,i,a){var r=arguments.length>5&&void 0!==arguments[5]&&arguments[5],n=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDisplayRegion","color: red"),0;var o=1,s=e,g=i,l=t,C=a;if(r?(s=0,l=this.canvasWidth,g=0,C=this.canvasHeight,this.iZoomNum=0,this.iRatio_x=1,this.iRatio_y=1):n&&0!==this.iZoomNum&&(s=Math.round(s/this.iRatio_x)+this.stDisplayRect.left,g=Math.round(g/this.iRatio_y)+this.stDisplayRect.top,l=Math.round(l/this.iRatio_x)+this.stDisplayRect.left,C=Math.round(C/this.iRatio_y)+this.stDisplayRect.top),this.stDisplayRect={top:g,left:s,right:l,bottom:C},1===this.decodeEngine)if(this.SetDisRegionBottom=C/this.canvasHeight*this.height,this.SetDisRegionLeft=s/this.canvasWidth*this.width,this.SetDisRegionRight=l/this.canvasWidth*this.width,this.SetDisRegionTop=g/this.canvasHeight*this.height,this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetDisplayRegion",sx:this.SetDisRegionLeft,sy:this.SetDisRegionTop,sw:this.SetDisRegionRight-this.SetDisRegionLeft,sh:this.SetDisRegionBottom-this.SetDisRegionTop})}else null!=this.pcVideoManager&&this.pcVideoManager.SetDisplayRegion(this.SetDisRegionLeft,this.SetDisRegionTop,this.SetDisRegionRight-this.SetDisRegionLeft,this.SetDisRegionBottom-this.SetDisRegionTop);else{var I=ee._JSPlayM4_GetFrameInfo(this.port);this.width=ee.HEAP32[I+12>>2],this.height=ee.HEAP32[I+16>>2],this.SetDisRegionBottom=C/this.canvasHeight*this.height,this.SetDisRegionLeft=s/this.canvasWidth*this.width,this.SetDisRegionRight=l/this.canvasWidth*this.width,this.SetDisRegionTop=g/this.canvasHeight*this.height,o=ee._JSPlayM4_SetDisplayRegion(this.port,this.canvasID,this.SetDisRegionLeft,this.SetDisRegionRight,this.SetDisRegionTop,this.SetDisRegionBottom)}return n&&(this.iRatio_x=this.canvasWidth/(l-s),this.iRatio_y=this.canvasHeight/(C-g),this.iZoomNum++),o}},{key:"JSPlayM4_SetPrintLogFlag",value:function(A){if(this.printfFlag=Number(A),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetPrintLogFlag","color: red"),0;if(1===this.decodeEngine)if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetPrintLogFlag",printfFlag:this.printfFlag})}else null!=this.pcVideoManager&&this.pcVideoManager.SetPrintLogFlag(this.printfFlag);return ee._JSPlayM4_SetPrintLogFlag(this.port,A)}},{key:"JSPlayM4_RenderPrivateData",value:function(A,e){var t=1;if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_RenderPrivateData","color: red"),0;if(this.renderPrivateInfo.set(A,e),1===this.decodeEngine){if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"RenderPrivateData",intelType:A,bTrue:e})}else null!=this.pcVideoManager&&(t=this.pcVideoManager.RenderPrivateData(A,e));e&&(t=ee._JSPlayM4_RenderPrivateData(this.port,A,e))}else t=ee._JSPlayM4_RenderPrivateData(this.port,A,e);return t}},{key:"JSPlayM4_RenderPrivateDataEx",value:function(A,e,t){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_RenderPrivateDataEx","color: red"),0;if(this.renderIntelSubEx.set(A,e),this.renderIntelFlagEx.set(A,t),1===this.decodeEngine)if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"RenderPrivateDataEx",intelType:A,subType:e,bTrue:t})}else null!=this.pcVideoManager&&this.pcVideoManager.RenderPrivateDataEx(A,e,t);return ee._JSPlayM4_RenderPrivateDataEx(this.port,A,e,t)}},{key:"JSPlayM4_SetCanvasSize",value:function(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetCanvasSize","color: red"),0;if(A<16||e<16||null===this.canvasID)return 0;if(this.canvasWidth=A,this.canvasHeight=e,1===this.decodeEngine)if(this.hasWebWorker){if(null==this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetCanvasSize",width:A,height:e,FECSubPort:t})}else null!=this.pcVideoManager&&this.pcVideoManager.SetCanvasSize(A,e,t);return ee._JSPlayM4_SetCanvasSize(this.port,A,e,t)}},{key:"JSPlayM4_SetDisplayBuf",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDisplayBuf","color: red"),0):(this.displayBuf=A,this.needSetDisplayBuf=!0,1===this.decodeEngine&&(this.hasWebWorker?null===this.decodeWorker||this.decodeWorker.postMessage({command:"SetDisplayBuf",value:A}):null!=this.pcVideoManager&&this.pcVideoManager.SetDisplayBuf(A)),ee._JSPlayM4_SetDisplayBuf(this.port,A))}},{key:"JSPlayM4_GetSourceBufferRemain",value:function(){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetSourceBufferRemain","color: red"),0):ee._JSPlayM4_GetSourceBufferRemain(this.port)}},{key:"JSPlayM4_GetBufferValue",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetBufferValue","color: red"),0):ee._JSPlayM4_GetBufferValue(this.port,A)}},{key:"JSPlayM4_ReversePlay",value:function(){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_ReversePlay","color: red"),0;if(0===this.streamOpenMode)return 1;if(this.reversePlay=!0,1===this.decodeEngine){if(6==this.curStatus)return 1;if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"NotifyBackPlay",flag:1})}else null!=this.pcVideoManager&&this.pcVideoManager.NotifyBackPlay(1);return ee._JSPlayM4_ResetBuffer(this.port,1),this.needPlaySound&&ee._JSPlayM4_StopSound(),this.needPlaySoundShare&&ee._JSPlayM4_StopSoundShare(this.port),this.curStatus=6,1}var A=ee._JSPlayM4_ReversePlay(this.port);return 1==A&&(this.curStatus=6),A}},{key:"JSPlayM4_SetDecodeThreadNum",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDecodeThreadNum","color: red"),0):(this.decodeThreadNum=A,ee._JSPlayM4_SetDecodeThreadNum(this.port,A))}},{key:"JSPlayM4_GetCanvasSize",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetCanvasSize","color: red"),0):1===this.decodeEngine?(this.hasWebWorker?this.decodeWorker.postMessage({command:"GetCanvasSize"}):null!=this.pcVideoManager&&this.pcVideoManager.GetCanvasSize(),1):ee._JSPlayM4_GetCanvasSize(this.port,A)}},{key:"JSPlayM4_DisplayLostFrames",value:function(A,e,t){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_DisplayLostFrames","color: red"),0):ee._JSPlayM4_DisplayLostFrames(this.port,A,e,t)}},{key:"JSPlayM4_SetIVSContraBandDrawMode",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetIVSContraBandDrawMode","color: red"),0):ee._JSPlayM4_SetIVSContraBandDrawMode(this.port,A)}},{key:"JSPlayM4_SetANRParam",value:function(A,e){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetANRParam","color: red"),0):(this.anrParamFlag=A,this.anrParamLevel=e,ee._JSPlayM4_SetANRParam(this.port,A,e))}},{key:"JSPlayM4_SetResampleValue",value:function(A,e){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetResampleValue","color: red"),0):(this.resampleFlag=A,this.resampleRate=e,ee._JSPlayM4_SetResampleValue(this.port,A,e))}},{key:"JSPlayM4_SetAntialias",value:function(A){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetAntialias","color: red"),0;var e=1;return this.antialiasFlag=A,1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"SetAntialias",value:A}):null!=this.pcVideoManager&&(e=this.pcVideoManager.SetAntialias(A)):e=ee._JSPlayM4_SetAntialias(this.port,A),e}},{key:"JSPlayM4_SyncToAudio",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SyncToAudio","color: red"),0):(this.syncToAudio=SyncToAudio,ee._JSPlayM4_SyncToAudio(this.port,A))}},{key:"JSPlayM4_SetAudioThreadModel",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetAudioThreadModel","color: red"),0):(this.setAudioThreadModel=A,ee._JSPlayM4_SetAudioThreadModel(this.port,A))}},{key:"JSPlayM4_SetDecodeERC",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDecodeERC","color: red"),0):(this.decodeERCLevel=A,ee._JSPlayM4_SetDecodeERC(this.port,A))}},{key:"JSPlayM4_SkipErrorData",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SkipErrorData","color: red"),0):(this.needSetSkipErrorData=!0,this.skipErrorData=A,ee._JSPlayM4_SkipErrorData(this.port,A))}},{key:"JSPlayM4_SetDemuxModel",value:function(A,e){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDemuxModel","color: red"),0):(this.needSetDemuxModel=!0,this.setDemuxModelType=A,this.setDemuxModelFlag=e,ee._JSPlayM4_SetDemuxModel(this.port,A,e))}},{key:"JSPlayM4_SetD3DPostProcess",value:function(A,e){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetD3DPostProcess","color: red"),0;var t=1;return this.d3dPostProcessType=A,this.d3dPostProcessValue=e,this.needSetD3DPostProcess=!0,1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"SetD3DPostProcess",ProcessType:A,ProcessValue:e}):null!=this.pcVideoManager&&(t=this.pcVideoManager.SetD3DPostProcess(A,e)):t=ee._JSPlayM4_SetD3DPostProcess(this.port,A,e),t}},{key:"JSPlayM4_SetFirstFrameCallBack",value:function(A,e){if(!(e&&"function"==typeof e||null===e))return 0;if(this.FFCallBackFun=e,this.FirstFrameCallBackflag=A,null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetFirstFrameCallBack","color: red"),0;var t=1;return 0===this.decodeEngine&&(t=ee._JSPlayM4_SetFirstFrameCallBack(this.port,A,this.nUser)),t}},{key:"JSPlayM4_SetDecCallBack",value:function(A,e){return e&&"function"==typeof e||null===e?(this.decCallBackFun=e,null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDecCallBack","color: red"),0):ee._JSPlayM4_SetDecCallBack(this.port,A,this.nUser)):0}},{key:"JSPlayM4_SetHardDecToJepgCallBack",value:function(A,e){return e&&"function"==typeof e||null===e?(this.HardDecToJpegQuality=A.nHardToJpegQuality,this.HardDecToJpegInterval=A.nHardToJpegInterval,this.HardToJpegZoomWidth=A.nHardToJpegZoomWidth,this.HardToJpegZoomHeight=A.nHardToJpegZoomHeight,this.HardToJpegZoomResolutionFlag=A.nZoomResolutionFlag,this.HardDecToJpegCBFun=e,1):0}},{key:"JSPlayM4_SetDisplayCallBack",value:function(A,e){return e&&"function"==typeof e||null===e?(this.displayCallBackFun=e,null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDisplayCallBack","color: red"),0):(this.JSPlayM4_SetDecCBStream(1),ee._JSPlayM4_SetDisplayCallBack(this.port,A,this.nUser))):0}},{key:"JSPlayM4_SetFrameInfoCallBack",value:function(A){var e=this,t=1;if(1===this.decodeEngine)this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"SetFrameInfoCallBack",value:A}):null!=this.pcVideoManager&&(t=this.pcVideoManager.SetFrameInfoCallBack((function(A){e.displayFrameInfo.port=A.port,e.displayFrameInfo.codecType=A.codecType,e.displayFrameInfo.frameType=A.frameType,e.displayFrameInfo.frameSize=A.frameSize,e.displayFrameInfo.width=A.width,e.displayFrameInfo.height=A.height,e.displayFrameInfo.timeStamp=A.timeStamp,e.displayFrameInfo.frameRate=A.frameRate,e.displayFrameInfo.frameNum=A.frameNum,e.displayFrameInfo.interlace=A.interlace,e.displayFrameInfo.streamEnd=A.streamEnd,e.displayFrameInfo.cropLeft=A.cropLeft,e.displayFrameInfo.cropRight=A.cropRight,e.displayFrameInfo.cropTop=A.cropTop,e.displayFrameInfo.cropBottom=A.cropBottom,e.displayFrameInfo.year=A.year,e.displayFrameInfo.month=A.month,e.displayFrameInfo.week=A.week,e.displayFrameInfo.day=A.day,e.displayFrameInfo.hour=A.hour,e.displayFrameInfo.minute=A.minute,e.displayFrameInfo.second=A.second,e.displayFrameInfo.milliseconds=A.milliseconds}),A));else{if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetFrameInfoCallBack","color: red"),0;t=ee._JSPlayM4_SetFrameInfoCallBack(this.port,A)}return t}},{key:"JSPlayM4_SetDecCBStream",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDecCBStream","color: red"),0):ee._JSPlayM4_SetDecCBStream(this.port,A)}},{key:"JSPlayM4_GetFrameInfo",value:function(){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetFrameInfo","color: red"),0;var A={};if(0==this.decodeEngine){var e=ee._JSPlayM4_GetFrameInfo(this.port);A.port=ee.HEAP32[e>>2],A.frameType=ee.HEAP32[e+4>>2],A.frameSize=ee.HEAP32[e+8>>2],A.width=ee.HEAP32[e+12>>2],A.height=ee.HEAP32[e+16>>2],A.timeStamp=ee.HEAP32[e+20>>2],A.frameRate=ee.HEAP32[e+24>>2],A.bitPerSample=ee.HEAP32[e+28>>2],A.samplesPerSec=ee.HEAP32[e+32>>2],A.channel=ee.HEAP32[e+36>>2],A.frameNum=ee.HEAP32[e+40>>2],A.cropLeft=ee.HEAP32[e+44>>2],A.cropRight=ee.HEAP32[e+48>>2],A.cropTop=ee.HEAP32[e+52>>2],A.cropBottom=ee.HEAP32[e+56>>2],A.year=ee.HEAP16[e+60>>1],A.month=ee.HEAP16[e+62>>1],A.week=ee.HEAP16[e+64>>1],A.day=ee.HEAP16[e+66>>1],A.hour=ee.HEAP16[e+68>>1],A.minute=ee.HEAP16[e+70>>1],A.second=ee.HEAP16[e+72>>1],A.milliseconds=ee.HEAP16[e+74>>1],this.width=A.width,this.height=A.height}else A=this.displayFrameInfo;return A}},{key:"JSPlayM4_GetAdditionData",value:function(){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetAdditionData","color: red"),0;var A=null,e=ee._JSPlayM4_GetAdditionData(this.port);return A.dataType=ee.HEAP32[e>>2],A.dataStrVersion=ee.HEAP32[e+4>>2],A.dataTimeStamp=ee.HEAP32[e+8>>2],A.dataLength=ee.HEAP32[e+12>>2],A.pData=ee.HEAP32[e+16>>2],A.additionDataBuffer=new Uint8Array(dataLength),additionDataBuffer.set(ee.HEAPU8.subarray(pData,pData+dataLength)),A}},{key:"JSPlayM4_SetAdditionDataCallBack",value:function(A,e,t){return this.additionDataType=A,this.additionFlag=e,this.addCBFun=t,this.needSetAdditionDataCB=!0,null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetAdditionDataCallBack","color: red"),0):t&&"function"==typeof t||null===t?(this.addtionCallBackFun=t,ee._JSPlayM4_SetAdditionDataCallBack(this.port,A,e,this.nUser)):0}},{key:"JSPlayM4_GetPlayedTimeEx",value:function(A){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetPlayedTimeEx","color: red"),0;if(!(A&&"function"==typeof A||null===A))return 0;if(this.getPlayTimeCallBackFun=A,1===this.decodeEngine){if(this.hasWebWorker)this.decodeWorker.postMessage({command:"GetPlayedTime"});else if(null!=this.pcVideoManager){var e=this.pcVideoManager.GetPlayedTime();this.getPlayTimeCallBackFun&&this.getPlayTimeCallBackFun(e-this.startTimeStamp)}}else{var t=ee._JSPlayM4_GetPlayedTimeEx(this.port);this.getPlayTimeCallBackFun(t)}}},{key:"JSPlayM4_GetFileTime",value:function(){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetFileTime","color: red"),0):ee._JSPlayM4_GetFileTime(this.port)}},{key:"JSPlayM4_GetMpOffset",value:function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetMpOffset","color: red"),0;if(!(i&&"function"==typeof i||null===i))return 0;if(this.SetPlayPosCBFun=i,0==e&&A>1e3*this.JSPlayM4_GetFileTime())return-1;1===this.decodeEngine&&(this.hasWebWorker?(this.decodeWorker.postMessage({command:"needReset",bTrue:!1}),this.decodeWorker.postMessage({command:"SetTargetRelativePos",nRelativePos:A,nPosType:e,nPlayMode:t})):null!=this.pcVideoManager&&(this.pcVideoManager.needReset(!1),this.pcVideoManager.SetTargetRelativePos(A,e,t)));var a=0;return null!=i&&(a=1),ee._JSPlayM4_GetMpOffset(this.port,A,e,t,a,this.nUser)}},{key:"JSPlayM4_ResetBuffer",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_ResetBuffer","color: red"),0):(this.resetBufferType=A,1!==this.decodeEngine||1!=A&&3!=A&&7!=A&&8!=A||(this.hasWebWorker?this.decodeWorker.postMessage({command:"ResetBuffer"}):null!=this.pcVideoManager&&this.pcVideoManager.ResetBuffer()),ee._JSPlayM4_ResetBuffer(this.port,A))}},{key:"JSPlayM4_SetGlobalBaseTime",value:function(A,e,t,i,a,r,n){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetGlobalBaseTime","color: red"),0):(this.globalBaseTime={year:A,month:e,day:t,hour:i,min:a,sec:r,ms:n},ee._JSPlayM4_SetGlobalBaseTime(this.port,A,e,t,i,a,r,n))}},{key:"JSPlayM4_SetSecretKey",value:function(A,e,t){if(this.needSetSecretKey=!0,this.SecretKeyData=e,this.keyType=A,this.pKeyDataLen=t,null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetSecretKey","color: red"),0;this.printfFlag>0&&console.log(">>>>>yff>>> JSPlayM4_SetSecretKey keyType:"+A+",keyData:"+e+",this.port:"+this.port);var i=1;if(null==e||void 0===e||""===e)return 0;if(null!=e){var a=this._stringToBytes(e),r=ee._malloc(t);if(null===r)return;var n=ee.HEAPU8.subarray(r,r+t),o=new Uint8Array(t);n.set(o,0),n.set(new Uint8Array(a)),n=null,o=null,i=ee._JSPlayM4_SetSecretKey(this.port,A,r,t),null!==r&&(ee._free(r),r=null)}return i}},{key:"JSPlayM4_SetRunTimeInfoCallBackEx",value:function(A,e){return e&&"function"==typeof e||null===e?(this.runtimeCBFun=e,this.runTimeModule=A,this.needSetRunTimeInfoCB=!0,null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetRunTimeInfoCallBackEx","color: red"),0):(1===this.decodeEngine&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"SetRunTimeInfoCallBack",module:A}):null!=this.pcVideoManager&&this.pcVideoManager.SetRunTimeInfoCallBack(A,e)),ee._JSPlayM4_SetRunTimeInfoCallBackEx(this.port,A,this.nUser))):0}},{key:"JSPlayM4_SetRunTimeInfoCallbackType",value:function(A,e,t){return this.needSetRunTimeInfoCBType=!0,null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetRunTimeInfoCallbackType","color: red"),0):(1===this.decodeEngine&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"SetRunTimeInfoCallbackType",module:A,type:e,flag:t}):null!=this.pcVideoManager&&this.pcVideoManager.SetRunTimeInfoCallbackType(A,e,t)),ee._JSPlayM4_SetRunTimeInfoCallbackType(this.port,A,e,t))}},{key:"JSPlayM4_SetStreamInfoCallBack",value:function(A,e){return e&&"function"==typeof e||null===e?(this.streamInfoCBFun=e,this.streamInfoType=A,null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetStreamInfoCallBack","color: red"),0):ee._JSPlayM4_SetStreamInfoCallBack(this.port,A,this.nUser)):0}},{key:"JSPlayM4_SetPostMpStreamOffsetCallBack",value:function(A){return this.PostMpStreamOffsetCBFun=A,null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetPostMpStreamOffsetCallBack","color: red"),0):ee._JSPlayM4_SetPostMpStreamOffsetCallBack(this.port,this.nUser)}},{key:"JSPlayM4_SetPlayOrBackSwitchMode",value:function(A){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetPlayOrBackSwitchMode","color: red"),0;if(this.playOrBackSwitchMode=A,0==this.decodeEngine)return ee._JSPlayM4_SetPlayOrBackSwitchMode(this.port,A);if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetPlayOrBackSwitchMode",PlayOrBackMode:A})}else{if(null==this.pcVideoManager)return 0;this.pcVideoManager.SetPlayOrBackSwitchMode(A)}return 1}},{key:"JSPlayM4_SetStretchPlay",value:function(A,e){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetStretchPlay","color: red"),0;if(e<1||e>16)return 0;if(this.setStretchPlayTime=A,this.setStretchPlaySpeed=e,1==this.decodeEngine)if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetStretchPlay",Stretchtime:A,Stretchspeed:e})}else null!=this.pcVideoManager&&this.pcVideoManager.SetStretchPlay(A,e);return ee._JSPlayM4_SetStretchPlay(this.port,A,e)}},{key:"JSPlayM4_SetAutoSmoothPlay",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetAutoSmoothPlay","color: red"),0):(this.autoSmoothPlayModel=A,0==this.decodeEngine?ee._JSPlayM4_SetAutoSmoothPlay(this.port,A):0)}},{key:"JSPlayM4_KeepPlaySpeed",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_KeepPlaySpeed","color: red"),0):(this.keepPlaySpeed=A,0==this.decodeEngine?ee._JSPlayM4_KeepPlaySpeed(this.port,A):0)}},{key:"JSPlayM4_IgnoreHeaderAudioDefine",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_IgnoreHeaderAudioDefine","color: red"),0):ee._JSPlayM4_IgnoreHeaderAudioDefine(this.port,A)}},{key:"JSPlayM4_SetSycGroup",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetSycGroup","color: red"),0):ee._JSPlayM4_SetSycGroup(this.port,A)}},{key:"JSPlayM4_SetRotateAngle",value:function(A){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetRotateAngle","color: red"),0;var e=1;return this.twodRotateAngle=A,this.needSetRotateAngle=!0,1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"SetRotateAngle",rotateValue:A}):null!=this.pcVideoManager&&(e=this.pcVideoManager.SetRotateAngle(A)):e=ee._JSPlayM4_SetRotateAngle(this.port,A),e}},{key:"JSPlayM4_SetPanoramaDisplayEffect",value:function(A){var e=1;return 1!==this.decodeEngine?(console.info("%c softDecode not support JSPlayM4_SetPanoramaDisplayEffect","color: red"),0):(this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"SetPanoramaDisplayEffect",DisplayEffect:A}):e=0:e=null!=this.pcVideoManager?this.pcVideoManager.SetPanoramaDisplayEffect(A):0,e)}},{key:"JSPlayM4_SetPanoramaSphereViewParam",value:function(A,e){var t=1;return 1!==this.decodeEngine?(console.info("%c softDecode not support JSPlayM4_SetPanoramaSphereViewParam","color: red"),0):(this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"SetPanoramaSphereViewParam",ViewParamType:A,fValue:e}):t=0:t=null!=this.pcVideoManager?this.pcVideoManager.SetPanoramaSphereViewParam(A,e):0,t)}},{key:"JSPlayM4_GetPanoramaSphereViewParam",value:function(A,e){var t=1;this.GetPanoramaSphereViewParamCB=e;var i={fValue:-1};return 1!==this.decodeEngine?(console.info("%c softDecode not support JSPlayM4_GetPanoramaSphereViewParam","color: red"),0):(this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"GetPanoramaSphereViewParam",ViewParamType:A}):t=0:null!=this.pcVideoManager?(t=this.pcVideoManager.GetPanoramaSphereViewParam(A,i),null!=this.GetPanoramaSphereViewParamCB&&this.GetPanoramaSphereViewParamCB(i)):t=0,t)}},{key:"JSPlayM4_FEC_SetCanvasID",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(console.log(" JSPlayM4_FEC_SetCanvasID canvasID :"+A),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetCanvasID","color: red"),0;this.FECCanvasID=A;var t=1;if(null!=A&&""!=A)if(this.FECcanvasIDArray=A.split(","),1===this.decodeEngine)this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"SetCanvasID",canvasID:A}):null!=this.pcVideoManager?t=this.pcVideoManager.FEC_SetCanvasID(A):console.info("%c JSPlayM4_FEC_SetCanvasID this.pcVideoManager is null","color: red");else{for(var i="",a=0;a0&&console.log("JSPlayM4_FEC_ResetCorrectType 1 decodeEngine:"+this.decodeEngine+",hasWebWorker:"+this.hasWebWorker+",fishSubPort:"+A+",placeType:"+e+",correctType:"+t),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_ResetCorrectType","color: red"),0;this.FECPlaceType=e,this.FECCorrectType=t;var i=1;return 1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECResetCorrectType",fishSubPort:A,placeType:e,correctType:t}):i=0:i=null!=this.pcVideoManager?this.pcVideoManager.FEC_ResetCorrectType(A,e,t):0:i=ee._JSPlayM4_FEC_ResetCorrectType(this.port,A,e,t),i}},{key:"JSPlayM4_FEC_GetPort",value:function(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_GetPort this.decodeEngine:"+this.decodeEngine+",placeType:"+A+",correctType:"+e),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_GetPort","color: red"),0;var i=-1;return this.FECGetPortCB=t,1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECGetPort",placeType:A,correctType:e}):i=-1:(null!=this.pcVideoManager?((i=this.pcVideoManager.FEC_GetPort(A,e))<1||i>16||null==i)&&(i=-1):i=-1,null!=this.FECGetPortCB&&this.FECGetPortCB(i)):(((i=ee._JSPlayM4_FEC_GetPort(this.port,A,e))<1||i>16||null==i)&&(i=-1),""!=self.FECCanvasID&&i>3&&oe>70&&(console.info("%cJSPlayM4_FEC_GetPort fishport max is 4","color: red"),i=-1),null!=this.FECGetPortCB&&this.FECGetPortCB(i)),i}},{key:"JSPlayM4_FEC_Enable",value:function(A){if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_Enable this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+A),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_Enable","color: red"),0;var e=1;return 0==A?console.log("fishPort is 0 ,main canvas doesn't need call FEC_Enable"):1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECEnable",fishSubPort:A}):e=0:e=null!=this.pcVideoManager?this.pcVideoManager.FEC_Enable(A):0:e=ee._JSPlayM4_FEC_Enable(this.port,A),e}},{key:"JSPlayM4_FEC_SetParam",value:function(A,e){if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_SetParam 1 this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+A+",upDateType:"+e.upDateType+",param2d.fPTZParam.fPTZPositionX:"+e.fPTZParam.fPTZPositionX+",param2d.fPTZParam.fPTZPositionY:"+e.fPTZParam.fPTZPositionY),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetParam","color: red"),0;var t=1;if(1===this.decodeEngine)this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECSetParam",fishSubPort:A,param2d:e}):t=0:t=null!=this.pcVideoManager?this.pcVideoManager.FEC_SetParam(A,e):0;else{var i=ee._JSPlayM4_GetFishEye2DParam();null!=e.upDateType&&(ee.HEAP32[i>>2]=e.upDateType),null!=e.fPTZParam&&null!=e.fPTZParam.fPTZPositionX&&null!=e.fPTZParam.fPTZPositionY&&(ee.HEAPF32[i+8>>2]=e.fPTZParam.fPTZPositionX,ee.HEAPF32[i+12>>2]=e.fPTZParam.fPTZPositionY),null!=e.fPTZParam&&(ee.HEAPF32[i+32>>2]=e.fPTZZoom),null!=e.fValue&&(ee.HEAPF32[i+36>>2]=e.fValue),null!=e.stPTZColor&&(null!=e.stPTZColor.nR&&(ee.HEAP8[i+40>>1]=e.stPTZColor.nR),null!=e.stPTZColor.nG&&(ee.HEAP8[i+41>>1]=e.stPTZColor.nG),null!=e.stPTZColor.nB&&(ee.HEAP8[i+42>>1]=e.stPTZColor.nB),null!=e.stPTZColor.nAlpha&&(ee.HEAP8[i+43>>1]=e.stPTZColor.nAlpha)),t=ee._JSPlayM4_FEC_SetParam(this.port,A)}return t}},{key:"JSPlayM4_FEC_GetParam",value:function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_GetParam","color: red"),0;var t={fRXLeft:0,fRXRight:0,fRYTop:0,fRYBottom:0,bBlack:0,bCut:0,nFishParamType:0,fAngle:0,fZoom:0,fPTZX:0,fPTZY:0,emCorrectType:0};if(this.FECParamCB=e,1===this.decodeEngine)this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"FECGetParam",fishSubPort:A}):null!=this.pcVideoManager&&(this.pcVideoManager.FEC_GetParam(A,t),null!=this.FECParamCB&&this.FECParamCB(t));else{var i=ee._JSPlayM4_FEC_GetParam(this.port,A);t.bBlack=0,t.fPTZX=ee.HEAPF32[i+8>>2],t.fPTZY=ee.HEAPF32[i+12>>2],t.fRXLeft=ee.HEAPF32[i+16>>2],t.fRXRight=ee.HEAPF32[i+20>>2],t.fRYTop=ee.HEAPF32[i+24>>2],t.fRYBottom=ee.HEAPF32[i+28>>2],t.fZoom=ee.HEAPF32[i+32>>2],t.fAngle=ee.HEAPF32[i+36>>2],t.bCut=ee.HEAPF32[i+63>>2],t.nFishParamType=ee.HEAPF32[i+67>>2],null!=this.FECParamCB&&this.FECParamCB(t)}return 1}},{key:"JSPlayM4_FEC_SetViewParam",value:function(A,e,t){if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_SetViewParam this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+A+",upDateType:"+e+",fValue:"+t),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetViewParam","color: red"),0;var i=1;return 1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECSetViewParam",fishSubPort:A,upDateType:e,fValue:t}):i=0:i=null!=this.pcVideoManager?this.pcVideoManager.FEC_SetViewParam(A,e,t):0:i=ee._JSPlayM4_FEC_SetViewParam(this.port,A,e,t),i}},{key:"JSPlayM4_FEC_GetViewParam",value:function(A,e,t){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_GetViewParam","color: red"),0;var i=1;this.FECViewParamCB=t;var a={fValue:-1};if(1===this.decodeEngine)this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECGetViewParam",fishSubPort:A,upDateType:e}):i=0:null!=this.pcVideoManager?(i=this.pcVideoManager.FEC_GetViewParam(A,e,a),null!=this.FECViewParamCB&&this.FECViewParamCB(a)):i=0;else{var r=ee._JSPlayM4_GetViewParam(this.port,A,e);a.fValue=r,null!=this.FECViewParamCB&&this.FECViewParamCB(a)}return i}},{key:"JSPlayM4_FEC_SetWnd",value:function(A,e){if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_SetWnd this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+A+",hWnd:"+e),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetWnd","color: red"),0;var t=1;if(0==A)console.log("fishPort is 0 ,main canvas doesn't need call FEC_SetWnd");else if(null!=e)if(1===this.decodeEngine){var i=document.getElementById(e);if(this.hasWebWorker){var a=i.transferControlToOffscreen();null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECSetWnd",fishSubPort:A,offscrrenCnv:a},[a]):t=0}else t=null!=this.pcVideoManager?this.pcVideoManager.FEC_SetWnd(A,i):0}else{var r=null;if(null!=e){var n=this._stringToBytes("#"+e),o=2*(e.length+1);r=ee._malloc(o);var s=ee.HEAPU8.subarray(r,r+o),g=new Uint8Array(o);s.set(g,0),s.set(new Uint8Array(n)),s=null,g=null}t=ee._JSPlayM4_FEC_SetWnd(this.port,A,r),null!=r&&(ee._free(r),r=null)}else console.log(">>>JS JSPlayM4_FEC_SetWnd hwnd error this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+A+",hWnd:"+e),t=0;return t}},{key:"JSPlayM4_FEC_Disable",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=1;return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_Disable","color: red"),0):(0==A?console.log("fishPort is 0 ,main canvas doesn't need call FEC_Disable"):1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECDisable",fishSubPort:A,clearFECCanvas:e,clearContext:t}):i=0:i=null!=this.pcVideoManager?this.pcVideoManager.FEC_Disable(A,e,t):0:i=ee._JSPlayM4_FEC_Disable(this.port,A,e,t),i)}},{key:"JSPlayM4_FEC_DelPort",value:function(A){if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_DelPort this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+A),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_DelPort","color: red"),0;var e=1;return 1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECDelPort",fishSubPort:A}):e=0:e=null!=this.pcVideoManager?this.pcVideoManager.FEC_DelPort(A):0:e=ee._JSPlayM4_FEC_DelPort(this.port,A),e}},{key:"JSPlayM4_FEC_SetDisplayRegion",value:function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,r=arguments.length>5?arguments[5]:void 0,n=arguments.length>6?arguments[6]:void 0;if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_SetDisplayRegion this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+A+",left:"+i.left+",right:"+i.right+",top:"+i.top+",bottom:"+i.bottom),null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetDisplayRegion","color: red"),0;var o=1,s=i.left,g=i.right,l=i.top,C=i.bottom;if("number"!=typeof s||"number"!=typeof g||"number"!=typeof C||"number"!=typeof l)return console.log("param is not number"),0;if(r){if(s<0||g<0||l<0||C<0)return 0;if(g-s<16||C-l<16||g-s>this.canvasWidth||C-l>this.canvasHeight)return 0;n&&0!==this.iFECZoomNum&&(s=Math.round(s/this.iFECRatio_x)+this.stFECDisplayRect.left,l=Math.round(l/this.iFECRatio_y)+this.stFECDisplayRect.top,g=Math.round(g/this.iFECRatio_x)+this.stFECDisplayRect.left,C=Math.round(C/this.iFECRatio_y)+this.stFECDisplayRect.top)}else s=0,g=this.canvasWidth,l=0,C=this.canvasHeight,this.iFECZoomNum=0,this.iFECRatio_x=1,this.iFECRatio_y=1;if(this.stFECDisplayRect={top:l,left:s,right:g,bottom:C},1===this.decodeEngine){var I=s/this.canvasWidth*this.width,c=g/this.canvasWidth*this.width,h=l/this.canvasHeight*this.height,B=C/this.canvasHeight*this.height;this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECSetDisplayRegion",fishSubPort:A,type:e,regionNum:t,sx:I,sy:h,sw:c-I,sh:B-h}):o=0:o=null!=this.pcVideoManager?this.pcVideoManager.FEC_SetDisplayRegion(A,e,t,I,h,c-I,B-h):0}else if(null!==ee){var E=s/this.canvasWidth*1e3,x=g/this.canvasWidth*1e3,d=l/this.canvasHeight*1e3,Q=C/this.canvasHeight*1e3;o=r?ee._JSPlayM4_FEC_SetDisplayRegion(this.port,A,e,t,E,x,d,Q,a,r):ee._JSPlayM4_FEC_SetDisplayRegion(this.port,A,0,0,0,0,0,0,null,r)}else o=0;return n&&(this.iFECRatio_x=this.canvasWidth/(g-s),this.iFECRatio_y=this.canvasHeight/(C-l),this.iFECZoomNum++),o}},{key:"JSPlayM4_FEC_SetBackCilling",value:function(A,e){var t=1;return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetBackCilling","color: red"),0):(1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECSetBackCilling",fishSubPort:A,bValue:e}):t=0:t=null!=this.pcVideoManager?this.pcVideoManager.FEC_SetBackCilling(A,e):0:t=ee._JSPlayM4_FEC_SetBackCilling(this.port,A,e),t)}},{key:"JSPlayM4_FEC_GetPTZPort",value:function(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_GetPTZPort","color: red"),0;var i=-1;return this.FECGetPTZPortCB=t,1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECGetPTZPort",subport:0,fPositionX:A,fPositionY:e}):i=0:null!=this.pcVideoManager?(((i=this.pcVideoManager.FEC_GetPTZPort(0,A,e))<0||i>31||null==i)&&(i=-1),null!=this.FECGetPTZPortCB&&this.FECGetPTZPortCB(i)):i=-1:console.info("%c softDecoder not support JSPlayM4_FEC_GetPTZPort","color: red"),i}},{key:"JSPlayM4_FEC_SetPTZDisplayMode",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetPTZDisplayMode","color: red"),0):(1===this.decodeEngine&&(this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"FECSetPTZDisplayMode",ptzMode:A}):null!=this.pcVideoManager&&this.pcVideoManager.FEC_SetPTZDisplayMode(A)),1)}},{key:"JSPlayM4_FEC_Capture",value:function(A,e){return this.FECImageCB=e,1===this.decodeEngine?(this.hasWebWorker?this.decodeWorker.postMessage({command:"FECCapture",subport:A}):null!=this.pcVideoManager&&this.pcVideoManager.FEC_Capture(A,e),1):(ee._JSPlayM4_FEC_Capture(this.port,A),1)}},{key:"JSPlayM4_FEC_PTZ2Window",value:function(A,e,t,i){return 1}},{key:"JSPlayM4_FEC_PTZ2Window2",value:function(A,e,t){return 1}},{key:"_SetTextCanvas",value:function(){if(1===this.decodeEngine){if(null!=this.textCanvas&&(this.textCanvas.remove(),this.textCanvas=null),null==this.textCanvas&&(this.textCanvas=document.createElement("canvas")),this.hasWebWorker){var A=this.textCanvas.transferControlToOffscreen();this.decodeWorker.postMessage({command:"SetTextCanvas",textoffscreenCanvas:A},[A])}else null!=this.pcVideoManager&&this.pcVideoManager.SetTextCanvas(this.textCanvas);this.setTextCanvasFlag=!0}return 1}},{key:"JSPlayM4_InputPrivateInfo",value:function(A,e,t){this.setTextCanvasFlag||this._SetTextCanvas();var i={};i.linesNum=ee.HEAP32[A>>2],i.absTimeStamp=ee.HEAP32[A+4>>2],i.stDrawLinesArray=[];for(var a=0;a>2],i.stDrawLinesArray[a].lineWidth=ee.HEAP32[A+12+136*a>>2],i.stDrawLinesArray[a].bFill=ee.HEAP32[A+16+136*a>>2],i.stDrawLinesArray[a].bLoop=ee.HEAP32[A+20+136*a>>2],i.stDrawLinesArray[a].dwMatchType=ee.HEAP32[A+24+136*a>>2],i.stDrawLinesArray[a].dwIntelFlag=ee.HEAP32[A+28+136*a>>2],i.stDrawLinesArray[a].dwSubIntelFlag=ee.HEAP32[A+32+136*a>>2],i.stDrawLinesArray[a].color={},i.stDrawLinesArray[a].color.R=ee.HEAPF32[A+36+136*a>>2],i.stDrawLinesArray[a].color.G=ee.HEAPF32[A+40+136*a>>2],i.stDrawLinesArray[a].color.B=ee.HEAPF32[A+44+136*a>>2],i.stDrawLinesArray[a].color.A=ee.HEAPF32[A+48+136*a>>2],i.stDrawLinesArray[a].stPoint=[];for(var r=0;r>2],i.stDrawLinesArray[a].stPoint[r].y=ee.HEAPF32[A+56+136*a+8*r>>2];i.stDrawLinesArray[a].dwFillPicID=ee.HEAP32[A+132+136*a>>2],i.stDrawLinesArray[a].dwEventID=ee.HEAP32[A+136+136*a>>2],i.stDrawLinesArray[a].dwMosaictype=ee.HEAP32[A+140+136*a>>2]}var n={};n.nFontsNum=ee.HEAP32[e>>2],n.absTimeStamp=ee.HEAP32[e+4>>2],n.stDrawFontsArray=[];for(var o=0;o>2],n.stDrawFontsArray[o].nFontSizeH=ee.HEAP32[e+12+80*o>>2],n.stDrawFontsArray[o].dwMatchType=ee.HEAP32[e+16+80*o>>2],n.stDrawFontsArray[o].dwIntelFlag=ee.HEAP32[e+20+80*o>>2],n.stDrawFontsArray[o].dwSubIntelFlag=ee.HEAP32[e+24+80*o>>2],n.stDrawFontsArray[o].color={},n.stDrawFontsArray[o].color.R=ee.HEAPF32[e+28+80*o>>2],n.stDrawFontsArray[o].color.G=ee.HEAPF32[e+32+80*o>>2],n.stDrawFontsArray[o].color.B=ee.HEAPF32[e+36+80*o>>2],n.stDrawFontsArray[o].color.A=ee.HEAPF32[e+40+80*o>>2],n.stDrawFontsArray[o].stPoint={},n.stDrawFontsArray[o].stPoint.x=ee.HEAPF32[e+44+80*o>>2],n.stDrawFontsArray[o].stPoint.y=ee.HEAPF32[e+48+80*o>>2],n.stDrawFontsArray[o].NeedClearNormalPos=ee.HEAP32[e+60+80*o>>2],n.stDrawFontsArray[o].bBackGround=ee.HEAP32[e+64+80*o>>2],n.stDrawFontsArray[o].BGcolor={},n.stDrawFontsArray[o].BGcolor.R=ee.HEAPF32[e+68+80*o>>2],n.stDrawFontsArray[o].BGcolor.G=ee.HEAPF32[e+72+80*o>>2],n.stDrawFontsArray[o].BGcolor.B=ee.HEAPF32[e+76+80*o>>2],n.stDrawFontsArray[o].BGcolor.A=ee.HEAPF32[e+80+80*o>>2],n.stDrawFontsArray[o].dwEventID=ee.HEAP32[e+84+80*o>>2];var s=ee.HEAP32[e+52+80*o>>2],g=ee.HEAP32[e+56+80*o>>2],l=new Uint8Array(4*g);l.set(ee.HEAP8.subarray(s,s+4*g));for(var C=new Uint32Array(g),I=0;I>2],B.nWidth=ee.HEAP32[t+4>>2],B.nHeight=ee.HEAP32[t+8>>2],B.pstRect={},B.pstRect.fTop=ee.HEAPF32[t+12>>2],B.pstRect.fBottom=ee.HEAPF32[t+16>>2],B.pstRect.fLeft=ee.HEAPF32[t+20>>2],B.pstRect.fRight=ee.HEAPF32[t+24>>2],B.nPixelFormat=ee.HEAP32[t+28>>2],B.fAlpha=ee.HEAPF32[t+32>>2],B.nPixelFormat;var E=ee.HEAP32[t+36>>2],x=ee.HEAP32[t+40>>2],d=new Uint8Array(x);return d.set(ee.HEAPU8.subarray(E,E+x)),B.picImageData=d,B.PicID=ee.HEAP32[t+44>>2],1===this.decodeEngine&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"InputPrivateInfo",linesInfo:i,fontInfo:n,ImageInfo:B}):null!=this.pcVideoManager&&this.pcVideoManager.InputPrivateInfo(i,n,B)),1}},{key:"JSPlayM4_SelectIntelInfoFeatureToDraw",value:function(A){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SelectIntelInfoFeatureToDraw","color: red"),0;if(null==A)return 0;var e=1;if(2==A.nMode){if(1!==this.decodeEngine)return 0;this.hasWebWorker?this.decodeWorker.postMessage({command:"SelectIntelInfoFeatureToDraw",IntelInfoParam:A}):null!=this.pcVideoManager&&this.pcVideoManager.SelectIntelInfoFeatureToDraw(A)}else{var t=ee._JSPlayM4_GetNeedDrawIntelInfoStruct();ee.HEAP32[t+3840>>2]=A.NodeNumber;for(var i=0;i>2]=A.pIntelInfoNode[i].nID,ee.HEAPU8[t+4+24*i]=A.pIntelInfoNode[i].nType;e=ee._JSPlayM4_SelectIntelInfoFeatureToDraw(this.port,A.bTrue,A.nMode)}return e}},{key:"JSPlayM4_SetMosaicType",value:function(A){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetMosaicType","color: red"),0;var e=1;if(this.pMosaicParam=A,1===this.decodeEngine)this.hasWebWorker?this.decodeWorker.postMessage({command:"SetMosaicType",MosaicParam:A}):null!=this.pcVideoManager&&this.pcVideoManager.SetMosaicType(A);else{var t=ee._JSPlayM4_GetMosaicTypeConfigStruct();ee.HEAPU8[t]=A.nMosaicType,ee.HEAPU8[t+1]=A.pstMosaicColor.fMosaicColorR,ee.HEAPU8[t+2]=A.pstMosaicColor.fMosaicColorG,ee.HEAPU8[t+3]=A.pstMosaicColor.fMosaicColorB,ee.HEAPU8[t+4]=A.pstMosaicColor.fMosaicColorA,ee.HEAPU8[t+5]=A.nMosaicSize,e=ee._JSPlayM4_SetMosaicType(this.port)}return e}},{key:"JSPlayM4_SetWaterMarkFont",value:function(A){if(null===ee)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetWaterMarkFont","color: red"),0;if(this.printfFlag>0){console.log("%cJSPlayerInterfaceV3.js JSPlayM4_SetWaterMarkFont: port:"+this.port+",string:"+A.pFontString+",fontcolr,fR:"+A.pstFontColor.fR+",fG:"+A.pstFontColor.fG+",fB:"+A.pstFontColor.fB+",fA:"+A.pstFontColor.fA+",fontSizeWidth:"+A.pstFontSize.nFontWidth+",fontSizeHeight:"+A.pstFontSize.nFontHeight+",rotateAngle:"+A.pstFontRotate.fRotateAngle+",fontFamily:"+A.pFontFamily,"color:red");var e=document.getElementById(this.canvasID).width,t=document.getElementById(this.canvasID).height;console.log("canvasWidht:"+e+",canvasHeight:"+t),console.log("fullScreen:"+A.pstFontRotate.fFillFullScreen+",rowNum:"+A.pstFontNumber.nRowNumber+",colNum:"+A.pstFontNumber.nColNumber+",space:"+A.pSpace+",fontAlign:"+A.nFontAlign+",colorAdapt:"+A.nColorAdapt),console.log("adaptMode:"+A.pstCanvasAdapt.nCanvasAdaptMode+",baseWidth:"+A.pstCanvasAdapt.nBaseCanvasWidth+",baseHeight:"+A.pstCanvasAdapt.nBaseCanvasHeight+",rowSpace:"+A.pstCanvasAdapt.nRowSpace+",colSpace:"+A.pstCanvasAdapt.nColSpace+",ntotalColSpace:"+A.pstCanvasAdapt.ntotalColSpace+",ntotalRowSpace:"+A.pstCanvasAdapt.ntotalRowSpace)}var i=1;if(this.pFontParam=A,1===this.decodeEngine)this.setTextCanvasFlag||this._SetTextCanvas(),this.hasWebWorker?this.decodeWorker.postMessage({command:"SetWaterMarkFont",fontParam:A}):null!=this.pcVideoManager&&this.pcVideoManager.SetWaterMarkFont(A);else if(null==A){var a=ee._JSPlayM4_GetWaterMarkFontStruct();ee.HEAP32[a+1800-4+44>>2]=0,ee.HEAP32[a+1800-4+48>>2]=0,ee._JSPlayM4_SetWaterMarkFontString(0,null),i=ee._JSPlayM4_SetWaterMarkFont(this.port)}else{for(var r=0;rthis.nWaterMarkFontLen)&&(null!==this.pWaterMarkFontData&&(ee._free(this.pWaterMarkFontData),this.pWaterMarkFontData=null),this.pWaterMarkFontData=ee._malloc(o),this.nWaterMarkFontLen=o),null===this.pWaterMarkFontData)return;var s=ee.HEAPU8.subarray(this.pWaterMarkFontData,this.pWaterMarkFontData+o),g=new Uint8Array(o);s.set(g,0),s.set(new Uint8Array(n)),s=null,g=null,ee._JSPlayM4_SetWaterMarkFontString(r,this.pWaterMarkFontData)}var l=ee._JSPlayM4_GetWaterMarkFontStruct();ee.HEAPF32[l+1800-4+4>>2]=A.pSpace,ee.HEAPU32[l+1800-4+8>>2]=A.pFontString.length,ee.HEAPU32[l+1800-4+12>>2]=A.nFontAlign,ee.HEAPU32[l+1800-4+16>>2]=A.nColorAdapt,ee.HEAPF32[l+1800-4+20>>2]=A.pstStartPos.fX,ee.HEAPF32[l+1800-4+24>>2]=A.pstStartPos.fY,ee.HEAPF32[l+1800-4+28>>2]=A.pstFontColor.fR,ee.HEAPF32[l+1800-4+32>>2]=A.pstFontColor.fG,ee.HEAPF32[l+1800-4+36>>2]=A.pstFontColor.fB,ee.HEAPF32[l+1800-4+40>>2]=A.pstFontColor.fA,ee.HEAP32[l+1800-4+44>>2]=A.pstFontSize.nFontWidth,ee.HEAP32[l+1800-4+48>>2]=A.pstFontSize.nFontHeight,ee.HEAPF32[l+1800-4+52>>2]=A.pstFontRotate.fRotateAngle,ee.HEAP32[l+1800-4+56>>2]=A.pstFontRotate.fFillFullScreen,ee.HEAP32[l+1800-4+60>>2]=A.pstFontNumber.nRowNumber,ee.HEAP32[l+1800-4+64>>2]=A.pstFontNumber.nColNumber,ee.HEAP32[l+1800-4+68>>2]=A.pstCanvasAdapt.nCanvasAdaptMode,ee.HEAP32[l+1800-4+72>>2]=A.pstCanvasAdapt.nRowSpace,ee.HEAP32[l+1800-4+76>>2]=A.pstCanvasAdapt.nColSpace,ee.HEAP32[l+1800-4+80>>2]=A.pstCanvasAdapt.nBaseCanvasWidth,ee.HEAP32[l+1800-4+84>>2]=A.pstCanvasAdapt.nBaseCanvasHeight,i=ee._JSPlayM4_SetWaterMarkFont(this.port)}return i}},{key:"JSPlayM4_SetWaterMarkImage",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetWaterMarkImage","color: red"),0):(1===this.decodeEngine?this.hasWebWorker?this.decodeWorker.postMessage({command:"SetWaterMarkImage",pImageData:A.pImageData,pImageType:A.pImageType,pstRectPos:A.pstRectPos,fAlpha:A.fAlpha},[A.pImageData]):null!=this.pcVideoManager&&this.pcVideoManager.SetWaterMarkImage(A):console.log("%c1>soft decode not support SetWaterMarkImage,","color: red"),1)}},{key:"JSPlayM4_InitEncoder",value:function(A,e){if(1!==this.decodeEngine)return console.log("%conly hard decoder support recoder,soft decoder not support (20240801)","color: red"),0;if(e.recoderAudioAnyWhere?(this.recoderAudioAnyWhere=!0,ee._JSPlayM4_SetRecoderAudio(this.port,1)):ee._JSPlayM4_SetRecoderAudio(this.port,0),this.needPlaySound||this.recoderAudioAnyWhere){var t=48e3;44100==e.sampleRate&&(t=e.sampleRate),this.JSPlayM4_SetResampleValue(!0,t)}return this.hasWebWorker?this.decodeWorker.postMessage({command:"InitEncoder",videoInfo:A,audioInfo:e}):null!=this.pcVideoManager&&this.pcVideoManager.InitEncoder(A,e),1}},{key:"JSPlayM4_StartEncode",value:function(A,e){var t=this;return 1!==this.decodeEngine?(console.log("%conly hard decoder support recoder,soft decoder not support (20240801)","color: red"),0):(this.recoderVideoDataCBFun=A,this.recoderAudioDataCBFun=e,"undefined"==typeof VideoEncoder?(console.log("%cbrowser or Graphics car not support videoEncode ","color: red"),0):(this.hasWebWorker?this.decodeWorker.postMessage({command:"StartVideoEncode"}):null!=this.pcVideoManager&&this.pcVideoManager.StartVideoEncode(A),(this.needPlaySound||this.recoderAudioAnyWhere)&&("undefined"==typeof AudioEncoder?console.log("%cbrowser or Graphics car not support audioEncode ","color: red"):(this.JSPlayM4_SetDecCBStream(2),ee._JSPlayM4_SetDecOrDisplayCallbackType(this.port,2,1),ee._JSPlayM4_SetDisplayCallBack(this.port,1,this.nUser),this.hasWebWorker?this.decodeWorker.postMessage({command:"StartAudioEncode"}):null!=this.pcVideoManager&&this.pcVideoManager.StartAudioEncode(e),this.ResamplePCMCallBack=function(A){101==A.type&&(t.hasWebWorker?t.decodeWorker.postMessage({command:"InputPCMToEncode",PCMData:A.yuvData,timeStamp:A.timeStamp},[A.yuvData.buffer]):null!=t.pcVideoManager&&t.pcVideoManager.InputPCMToEncode(A.yuvData,A.timeStamp))})),1))}},{key:"JSPlayM4_StopEncode",value:function(){return 1!==this.decodeEngine?(console.log("%conly hard decoder support recoder,soft decoder not support (20240801)","color: red"),0):(this.recoderVideoDataCBFun=null,this.recoderAudioDataCBFun=null,this.ResamplePCMCallBack=null,this.recoderAudioAnyWhere=!1,ee._JSPlayM4_SetRecoderAudio(this.port,0),ee._JSPlayM4_SetDisplayCallBack(this.port,0,this.nUser),this.hasWebWorker?this.decodeWorker.postMessage({command:"StopEncode"}):null!=this.pcVideoManager&&this.pcVideoManager.StopEncode(),1)}},{key:"JSPlayM4_IsVisible",value:function(A){return null===ee?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_IsVisible","color: red"),0):(1===this.decodeEngine?this.hasWebWorker?this.decodeWorker.postMessage({command:"IsVisible",visibility:A}):null!=this.pcVideoManager&&this.pcVideoManager.IsVisible(A):ee._JSPlayM4_IsVisible(this.port,A),1)}},{key:"_stringToBytes",value:function(A){if("string"!=typeof A||null==A)return console.log("%c_stringToBytes str:"+A,"color: red"),0;for(var e,t,i=[],a=0;a>=8}while(e);i=i.concat(t.reverse())}return i}},{key:"_downloadFile",value:function(A,e){var t=A;a(A,Blob)||a(A,File)||(t=new Blob([A]));var i=window.URL.createObjectURL(t),r=window.document.createElement("a");r.href=i,r.download=e;var n=document.createEvent("MouseEvents");n.initEvent("click",!0,!0),r.dispatchEvent(n)}},{key:"downloadRTPData",value:function(A){if(this.bWriteData){var e=A,t=this.aTotalBuffer.length;console.log("totalLength:"+t);for(var i=0,a=e.length;i=600){console.log("download600RawData");var r=new Uint8Array(this.aTotalBuffer);this._downloadFile(r,"Raw600.data"),this.aTotalBuffer.splice(0,this.aTotalBuffer.length),this.bWriteData=!1,this.iFrameNum=0,r=null}}},{key:"downloadAudioPCMData",value:function(A){if(this.bWriteAudioPCMData){for(var e=A,t=this.audioPCMBuffer.length,i=0,a=e.length;i=WRITE_PCM_NUM){console.log("download"+WRITE_PCM_NUM+"this.audioPCMBuffer");var r=new Uint8Array(this.audioPCMBuffer);this._downloadFile(r,"AudioANR.data"),this.audioPCMBuffer.splice(0,this.audioPCMBuffer.length),this.bWriteAudioPCMData=!1,this.iAudioPCMFrameNum=0,r=null}}},{key:"IsChromeVersion64Bit",value:function(){var A=navigator.userAgent;if(A.indexOf("Chrome")>-1){var e=A.match(/Chrome\/(\d+)/);if(e&&e[1]){var t=e[1];return A.indexOf("Mac")>-1?A.indexOf("Intel")>-1||t>61:A.indexOf("Windows")>-1?A.indexOf("Win64")>-1||A.indexOf("x64")>-1||(A.indexOf("x86"),!1):A.indexOf("Linux")>-1&&(A.indexOf("x86_64")>-1||A.indexOf("x64")>-1||(A.indexOf("i686")>-1||A.indexOf("x86"),!1))}return!1}return!1}},{key:"getwasmMemory",value:function(){var A,e={},t=navigator.userAgent.toLowerCase();if((A=t.match(/rv:([\d.]+)\) like gecko/))||(A=t.match(/msie ([\d\.]+)/))?e.ie=A[1]:(A=t.match(/edge\/([\d\.]+)/))?e.edge=A[1]:(A=t.match(/firefox\/([\d\.]+)/))?e.firefox=A[1]:(A=t.match(/(?:opera|opr).([\d\.]+)/))?e.opera=A[1]:(A=t.match(/chrome\/([\d\.]+)/))?e.chrome=A[1]:(A=t.match(/version\/([\d\.]+).*safari/))&&(e.safari=A[1]),this.initialMemory=8192,e.chrome){var i=this.IsChromeVersion64Bit();this.maximumMemory=1==i?32768:16368}else if(e.safari){var a=e.safari,r=a.indexOf(".");Number(a.substring(0,r)),this.maximumMemory=16368,console.info("%c1>your safaribrowserbit maximumMemory:%d","color: green",64*this.maximumMemory/1024)}else this.maximumMemory=16368,console.info("%c1>your browserbit is 32 and maximumMemory:%d","color: green",64*this.maximumMemory/1024);return this.isMobileDevice()&&(this.initialMemory=2048,this.maximumMemory=4096,console.info("%c1>your browser is mobileDevice maximumMemory:%d","color: green",64*this.maximumMemory/1024)),-1}},{key:"isMobileDevice",value:function(){var A=navigator.userAgent,e=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(A),t=window.innerWidth<=768,i="ontouchstart"in window||navigator.maxTouchPoints>0;return e||t&&i}}]),t}();window.JSPlayM4_AdditionDataCBFun=function(A,e,t){if(null!=Ae[t][A]){var i={};i.dataType=ee.HEAP32[e>>2],i.dataStrVersion=ee.HEAP32[e+4>>2],i.dataTimeStamp=ee.HEAP32[e+8>>2],i.dataLength=ee.HEAP32[e+12>>2],i.pData=ee.HEAP32[e+16>>2],Ae[t][A].additionDataBufferSize>2],a.nStrVersion=ee.HEAP32[e+4>>2],a.nFrameTimeStamp=ee.HEAP32[e+8>>2],a.nFrameNum=ee.HEAP32[e+12>>2],a.nErrorCode=t,t==z){var r=ee.HEAP32[e+20>>2];a.nInputDataInterval=r}if(1024==t){var n=ee.HEAP32[e+20>>2];a.nFrameNumInterval=n}if(t==$){var o=ee.HEAPF64[e+20>>3];a.nAverageDecodeTime=o}if(687865857==t){var s=ee.HEAPU8[e+20],g=ee.HEAPU8[e+21];a.nSystemFormat=g,a.nDetectRes=s,a.nMp4FileTime=a.nFrameTimeStamp,a.nMp4TotalFrameNum=a.nFrameNum}if(t==AA||t==eA){var l=ee.HEAPU8[e+21],C=ee.HEAPU8[e+22]<<8|l,I=ee.HEAPU8[e+23],c=ee.HEAPU8[e+24],h=ee.HEAPU8[e+25],B=ee.HEAPU8[e+26],E=ee.HEAPU8[e+27],x=ee.HEAPU8[e+28],d=ee.HEAPU8[e+29]<<8|x;a.AbsTimeYear=C,a.AbsTimeMonth=I,a.AbsTimeDay=c,a.AbsTimeHour=h,a.AbsTimeMinute=B,a.AbsTimeSecond=E,a.AbsTimeMilliseconds=d}if(9==t&&1==Ae[i][A].decodeEngine)return void Ae[i][A].JSPlayM4_SetStreamEnd(!0);Ae[i][A].hasOwnProperty("runtimeCBFun")&&null!=Ae[i][A].runtimeCBFun&&Ae[i][A].runtimeCBFun(a)}},window.JSPlayM4_StreamInfoCallBack=function(A,e,t){if(null!=Ae[t][A]){var i={};i.nSystemformat=ee.HEAP16[e>>1],i.nVideoformat=ee.HEAP16[e+2>>1],i.nAudioformat=ee.HEAP16[e+4>>1],i.nAudiochannels=ee.HEAP16[e+6>>1],i.nAudiobitspersample=ee.HEAP32[e+8>>2],i.nAudiosamplesrate=ee.HEAP32[e+12>>2],i.nAudiobitrate=ee.HEAP32[e+16>>2],i.nWidth=ee.HEAP32[e+20>>2],i.nHeight=ee.HEAP32[e+24>>2],i.fFrameRate=ee.HEAPF32[e+28>>2],i.nIntervalOfIFrame=ee.HEAP32[e+32>>2],Ae[t][A].hasOwnProperty("streamInfoCBFun")&&null!=Ae[t][A].streamInfoCBFun&&Ae[t][A].streamInfoCBFun(i)}},window.JSPlayM4_PostMpStreamOffsetCBFun=function(A,e,t){if(null!=Ae[t][A]){var i={};i.nStreamOffset=e,Ae[t][A].hasOwnProperty("streamInfoCBFun")&&null!=Ae[t][A].PostMpStreamOffsetCBFun&&Ae[t][A].PostMpStreamOffsetCBFun(i)}},window.JSPlayM4_FirstFrameCallBack=function(A,e){null!=Ae[e][A]&&Ae[e][A].hasOwnProperty("FFCallBackFun")&&null!=Ae[e][A].FFCallBackFun&&null!=Ae[e][A].FFCallBackFun&&Ae[e][A].FFCallBackFun({decodeEngine:0})},window.JSPlayM4_AudioPCMCallBack=function(A,e,t,i){null!=Ae[i][A]&&Ae[i][A].__proto__.hasOwnProperty("downloadAudioPCMData")&&Ae[i][A].downloadAudioPCMData(e)},window.JSPlayM4_RTPRawDataCallBack=function(A,e,t){null!=Ae[t][port]&&Ae[t][port].__proto__.hasOwnProperty("downloadRTPData")&&Ae[t][port].downloadRTPData(A)},window.JSPlayM4_CaptrueRGBDataCallBack=function(A,e,t,i,a,r){null!=Ae[r][A]&&Ae[r][A].hasOwnProperty("imageCB")&&null!=Ae[r][A].imageCB&&(null==Ae[r][A].rgbDataBuffer&&(Ae[r][A].rgbDataBuffer=new Uint8Array(a)),Ae[r][A].rgbDataBuffer.set(ee.HEAPU8.subarray(e,e+a)),Ae[r][A].imageCB(Ae[r][A].rgbDataBuffer,t,i),Ae[r][A].rgbDataBuffer=null)},window.JSPlayM4_SetPlayPosSucCallBack=function(A,e,t){if(null!=Ae[t][A]){var i={nRes:1};i.nRelativePos=e,Ae[t][A].hasOwnProperty("SetPlayPosCBFun")&&null!=Ae[t][A].SetPlayPosCBFun&&Ae[t][A].SetPlayPosCBFun(i)}},window.JSPlayM4_FishCaptrueRGBDataCallBack=function(A,e,t,i,a,r,n){null!=Ae[n][A]&&Ae[n][A].hasOwnProperty("FECImageCB")&&null!=Ae[n][A].FECImageCB&&(null==Ae[n][A].FECRgbDataBuffer&&(Ae[n][A].FECRgbDataBuffer=new Uint8Array(r)),Ae[n][A].FECRgbDataBuffer.set(ee.HEAPU8.subarray(t,t+r)),Ae[n][A].FECImageCB(Ae[n][A].FECRgbDataBuffer,i,a,e),Ae[n][A].FECRgbDataBuffer=null)};var ge,le=function(){function A(A,e){for(var t=0;t=0&&console.info("%c1>there will play by V1","color: green"),this.needWaitMpOffset=!1,this.setCallBack=function(A,e,t,i,a){var n=fe;n.id=r,n.cmd=e,n.data=t,n.errorCode=i,n.status=a,A.errorCode=i,A.fnCallBack(n)},this.convertErrorCode=function(A){switch(A){case 1:return 1;case 98:return 0;default:return A}},this.arrayBufferCopy=function(A){var e=A.byteLength,t=new Uint8Array(e),i=new Uint8Array(A),a=0;for(a=0;a0&&!((e+=n.aInputDataLens.shift())>n.iInputDataLen););A=n.aInputDataBuffer.splice(0,e);var i={command:"InputData",data:new Uint8Array(A).buffer,dataSize:e};n.decodeWorker.postMessage(i,[i.data])}A=null},this.getPic=function(A,e){if(null==this.decodeWorker||null==this.oSuperRender)return 2;if(!this.bPlay)return 2;if(!A||"function"!=typeof A)return 0;if(this.dataCallBackFun=A,0===this.iZoomNum)this.stYUVRect.left=0,this.stYUVRect.top=0,this.stYUVRect.right=0,this.stYUVRect.bottom=0;else{if(0===this.iCanvasWidth||0===this.iCanvasHeight)this.stYUVRect.left=0,this.stYUVRect.top=0,this.stYUVRect.right=0,this.stYUVRect.bottom=0;else{var t=this.nWidth/this.iCanvasWidth,i=this.nHeight/this.iCanvasHeight;this.stYUVRect.left=Math.round(this.stDisplayRect.left*t),this.stYUVRect.top=Math.round(this.stDisplayRect.top*i),this.stYUVRect.right=Math.round(this.stDisplayRect.right*t),this.stYUVRect.bottom=Math.round(this.stDisplayRect.bottom*i)}if(this.stYUVRect.right-this.stYUVRect.left<32||this.stYUVRect.bottom-this.stYUVRect.top<32)return 0}if(null==this.aDisplayBuf)return 2;var a={command:e,data:this.arrayBufferCopy(this.aDisplayBuf).buffer,width:this.nWidth,height:this.nHeight,rect:this.stYUVRect};return this.decodeWorker.postMessage(a,[a.data]),1},this.createWorker=function(A){if(window.Worker){if(null==A.decodeWorker){var e=new Blob([(i=A.szBasePath,"\n(function (event) {\n const AUDIO_TYPE = 0;\t// 音频\n const VIDEO_TYPE = 1; // 视频\n const PRIVT_TYPE = 2; // 私有帧\n\n const PLAYM4_AUDIO_FRAME = 100; // 音频帧\n const PLAYM4_VIDEO_FRAME = 101; // 视频帧\n\n const PLAYM4_OK = 1;\n const PLAYM4_ORDER_ERROR = 2;\n const PLAYM4_DECODE_ERROR = 44 \t// 解码失败\n const PLAYM4_NOT_KEYFRAME = 48; \t// 非关键帧\n const PLAYM4_NEED_MORE_DATA = 31; // 需要更多数据才能解析\n const PLAYM4_NEED_NEET_LOOP = 35; //丢帧需要下个循环\n const PLAYM4_SYS_NOT_SUPPORT = 16; \t// 不支持\n\n importScripts('".concat(i,'\');\n Module.addOnPostRun(function () {\n postMessage({ \'function\': "loaded" });\n });\n\n var iStreamMode = 0; // 流模式\n\n var bOpenMode = false;\n var bOpenStream = false;\n\n var funGetFrameData = null;\n var funGetAudFrameData = null;\n\n var bWorkerPrintLog = 0;//worker层log开关\n\n var g_nPort = -1;\n var pInputData = null;\n var inputBufferSize = 40960;\n\n const MP_RTINFO_SOURCE_DATA_INTERVAL = 0x40000; ///<实时流送帧时间间隔\n const MP_RTINFO_IDMX_RTP_HEADER_SEQ_ERROR = 0x400;///> 2];\n runtimeInfo.nStrVersion = Module.HEAP32[pstRunTimeInfo + 4 >> 2];\n runtimeInfo.nFrameTimeStamp = Module.HEAP32[pstRunTimeInfo + 8 >> 2];\n runtimeInfo.nFrameNum = Module.HEAP32[pstRunTimeInfo + 12 >> 2];\n runtimeInfo.nErrorCode = Module.HEAP32[pstRunTimeInfo + 16 >> 2];\n if (runtimeInfo.nErrorCode == MP_RTINFO_SOURCE_DATA_INTERVAL) {\n let nTimeInterval = Module.HEAP32[pstRunTimeInfo + 20 >> 2]; //reserved[12]保留数组的前4字节 表示帧之间的送流延迟\n runtimeInfo.nInputDataInterval = nTimeInterval; //送流间隔实时信息回调\n }\n if (runtimeInfo.nErrorCode == MP_RTINFO_IDMX_RTP_HEADER_SEQ_ERROR) {\n let nFrameNumInterval = Module.HEAP32[pstRunTimeInfo + 20 >> 2]; //reserved[12]保留数组的前4字节 表示帧之间的送流延迟\n runtimeInfo.nFrameNumInterval = nFrameNumInterval; //PS帧号不连续差值;RTP丢包为1\n }\n // console.log("nRunTimeModule:"+nRunTimeModule+",nFrameNum:"+nFrameNum+",nErrorCode:"+nErrorCode);\n postMessage({ \'function\': "RunTimeInfoCallBack", \'runtimeInfo\': runtimeInfo});\n }\n\tself.JSPlayM4_StreamInfoCallBack = function (nPort, pstStreamInfo, pUser)\n\t{\n\t\tlet port = nPort;\n let user = pUser;\n let nSystemformat = Module.HEAP16[pstStreamInfo >> 1]; //封装类型\n let nVideoformat = Module.HEAP16[pstStreamInfo + 2 >> 1];//视频编码类型\n let nAudioformat = Module.HEAP16[pstStreamInfo + 4 >> 1];//音频编码类型\n let nAudiochannels = Module.HEAP16[pstStreamInfo + 6 >> 1]; //音频通道数\n let nAudiobitspersample = Module.HEAP32[pstStreamInfo + 8 >> 2];//音频样位率\n let nAudiosamplesrate = Module.HEAP32[pstStreamInfo + 12 >> 2];//音频采样率\n let nAudiobitrate = Module.HEAP32[pstStreamInfo + 16 >> 2];//音频比特率,单位:bit\n\t\tlet nWidth = Module.HEAP32[pstStreamInfo + 20 >> 2];//视频宽\n let nHeight = Module.HEAP32[pstStreamInfo + 24 >> 2];//视频高\n let fFrameRate = Module.HEAPF32[pstStreamInfo + 28 >> 2];//视频帧率\n let nIntervalOfIFrame = Module.HEAP32[pstStreamInfo + 32 >> 2];//视频GOP大小(统计最近5个GOP的平均大小)\n\t\t//console.log("nSystemformat:" + nSystemformat + ",nVideoformat:" + nVideoformat + ",nAudioformat:" + nAudioformat + ",nAudiochannels:" + nAudiochannels + ",nAudiobitspersample:" + nAudiobitspersample + ",nAudiosamplesrate:" + nAudiosamplesrate + ",nAudiobitrate:" + nAudiobitrate);\n postMessage({ \'function\': "StreamInfoCallBack", \'nSystemformat\': nSystemformat, \'nVideoformat\': nVideoformat, \'nAudioformat\': nAudioformat, \'nAudiochannels\': nAudiochannels, \'nAudiobitspersample\': nAudiobitspersample, \'nAudiosamplesrate\': nAudiosamplesrate, \'nAudiobitrate\': nAudiobitrate\n , \'nWidth\': nWidth, \'nHeight\': nHeight, \'fFrameRate\': fFrameRate, \'nIntervalOfIFrame\': nIntervalOfIFrame});\n }\n self.JSPlayM4_AdditionDataCBFun = function (port, addDataInfo, nUser) {\n let dataType = Module.HEAP32[addDataInfo >> 2];\n let dataStrVersion = Module.HEAP32[addDataInfo + 4 >> 2];\n let dataTimeStamp = Module.HEAP32[addDataInfo + 8 >> 2];\n let dataLength = Module.HEAP32[addDataInfo + 12 >> 2];\n let pData = Module.HEAP32[addDataInfo + 16 >> 2];\n let additionDataBuffer = new Uint8Array(dataLength);\n additionDataBuffer.set(Module.HEAPU8.subarray(pData, pData + dataLength));\n postMessage({ \'function\': "AdditionDataCallBack", \'dataType\': dataType, \'dataStrVersion\': dataStrVersion, \'dataTimeStamp\': dataTimeStamp, \'dataLength\': dataLength, \'pData\':pData,\'additionDataBuffer\': additionDataBuffer},[additionDataBuffer.buffer]);\n }\n self.JSPlayM4_PostMpStreamOffsetCallBack = function (nPort, pstPostMpStreamOffsetInfo, pUser)\n\t{\n\t\tlet port = nPort;\n let user = pUser;\n let nStreamOffset = Module.HEAP32[pstPostMpStreamOffsetInfo >> 2];\n\t\tpostMessage({ \'function\': "PostMpStreamOffsetCallBack", \'nStreamOffset\': nStreamOffset});\n }\n\n onmessage = function (event) {\n var eventData = event.data;\n var res = 0;\n switch (eventData.command) {\n case "printLog":\n let downloadFlag = eventData.data;\n bWorkerPrintLog = downloadFlag;\n res = Module._SetPrintLogFlag(g_nPort, downloadFlag);\n if (res !== PLAYM4_OK) {\n if(bWorkerPrintLog >= 0 ){\n console.log("DecodeWorker.js: PlayerSDK print log failed,res" + res);\n }\n postMessage({ \'function\': "printLog", \'errorCode\': res });\n }\n break;\n case "SetPlayPosition":\n let nFrameNumOrTime = eventData.data;\n let enPosType = eventData.type;\n // res = Module._SetPlayPosition(nFrameNumOrTime,enPosType);\n // if (res !== PLAYM4_OK)\n // {\n // postMessage({\'function\': "SetPlayPosition", \'errorCode\': res});\n // return;\n // }\n // //有没有buffer需要清除\n\n break;\n case "SetStreamOpenMode":\n //获取版本信息\n let version = Module._GetSDKVersion();\n let buildDate = Module._GetBuildDate();\n console.log("%cV1Decoder.js version:" + version.toString(16) + ",buildDate:" + buildDate.toString(16), \'color: blue\');\n //获取端口号\n g_nPort = Module._GetPort();\n //设置流打开模式\n iStreamMode = eventData.data;\n res = Module._SetStreamOpenMode(g_nPort, iStreamMode);\n if (res !== PLAYM4_OK) {\n postMessage({ \'function\': "SetStreamOpenMode", \'errorCode\': res });\n return;\n }\n bOpenMode = true;\n break;\n\n case "OpenStream":\n // 接收到的数据\n var iHeadLen = eventData.dataSize;\n var pHead = Module._malloc(iHeadLen + 4);\n if (pHead === null) {\n return;\n }\n var aHead = Module.HEAPU8.subarray(pHead, pHead + iHeadLen);\n aHead.set(new Uint8Array(eventData.data));\n res = Module._OpenStream(g_nPort, pHead, iHeadLen, eventData.bufPoolSize);\n postMessage({ \'function\': "OpenStream", \'errorCode\': res });\n if (res !== PLAYM4_OK) {\n //释放内存\n Module._free(pHead);\n pHead = null;\n return;\n }\n bOpenStream = true;\n break;\n case "Play":\n let resP = Module._Play(g_nPort);\n if (resP !== PLAYM4_OK) {\n return;\n }\n break;\n case "InputData":\n // 接收到的数据\n var iLen = eventData.dataSize;\n if (iLen > 0) {\n if (pInputData == null || iLen > inputBufferSize) {\n if (pInputData != null) {\n Module._free(pInputData);\n pInputData = null;\n }\n if (iLen > inputBufferSize) {\n inputBufferSize = iLen;\n }\n\n pInputData = Module._malloc(inputBufferSize);\n if (pInputData === null) {\n return;\n }\n }\n\n var inputData = new Uint8Array(eventData.data);\n // var aInputData = Module.HEAPU8.subarray(pInputData, pInputData + iLen);\n // aInputData.set(inputData);\n Module.writeArrayToMemory(inputData, pInputData);\n inputData = null;\n res = Module._InputData(g_nPort, pInputData, iLen);\n if (res !== PLAYM4_OK) {\n let errorCode = Module._GetLastError(g_nPort);\n let sourceRemain = Module._GetSourceBufferRemain(g_nPort);\n postMessage({ \'function\': "InputData", \'errorCode\': errorCode, "sourceRemain": sourceRemain });\n }\n //Module._free(pInputData);\n //pInputData = null;\n } else {\n let sourceRemain = Module._GetSourceBufferRemain(g_nPort);\n if (sourceRemain == 0) {\n postMessage({ \'function\': "InputData", \'errorCode\': PLAYM4_NEED_MORE_DATA });\n return;\n }\n }\n\n /////////////////////\n // if (funGetFrameData === null) {\n // funGetFrameData = Module.cwrap(\'GetFrameData\', \'number\');\n // }\n\n while (bOpenMode && bOpenStream) {\n\n var ret = getFrameData();\n // 直到获取视频帧或数据不足为止\n if (PLAYM4_VIDEO_FRAME === ret || PLAYM4_NEED_MORE_DATA === ret || PLAYM4_ORDER_ERROR === ret)//PLAYM4_VIDEO_FRAME === ret || || PLAYM4_NEED_NEET_LOOP === ret\n {\n break;\n }\n }\n break;\n\n case "SetSecretKey":\n var keyLen = eventData.nKeyLen;\n var pKeyData = Module._malloc(keyLen);\n if (pKeyData === null) {\n return;\n }\n var nKeySize = eventData.data.length\n var bufData = stringToBytes(eventData.data);\n var aKeyData = Module.HEAPU8.subarray(pKeyData, pKeyData + keyLen);\n let u8array = new Uint8Array(keyLen);\n aKeyData.set(u8array, 0);\n aKeyData.set(new Uint8Array(bufData));\n aKeyData = null;\n u8array = null;\n\n res = Module._SetSecretKey(g_nPort, eventData.nKeyType, pKeyData, keyLen);//, nKeySize\n if (res !== PLAYM4_OK) {\n postMessage({ \'function\': "SetSecretKey", \'errorCode\': res });\n Module._free(pKeyData);\n pKeyData = null;\n return;\n }\n\n Module._free(pKeyData);\n pKeyData = null;\n break;\n\n case "GetBMP":\n var nBMPWidth = eventData.width;\n var nBMPHeight = eventData.height;\n var pYUVData = eventData.data;\n var nYUVSize = nBMPWidth * nBMPHeight * 3 / 2;\n var oBMPCropRect = eventData.rect;\n\n var pDataYUV = Module._malloc(nYUVSize);\n if (pDataYUV === null) {\n return;\n }\n\n Module.writeArrayToMemory(new Uint8Array(pYUVData, 0, nYUVSize), pDataYUV);\n\n // 分配BMP空间\n var nBmpSize = nBMPWidth * nBMPHeight * 4 + 60;\n var pBmpData = Module._malloc(nBmpSize);\n var pBmpSize = Module._malloc(4);\n if (pBmpData === null || pBmpSize === null) {\n Module._free(pDataYUV);\n pDataYUV = null;\n\n if (pBmpData != null) {\n Module._free(pBmpData);\n pBmpData = null;\n }\n\n if (pBmpSize != null) {\n Module._free(pBmpSize);\n pBmpSize = null;\n }\n return;\n }\n\n //Module._memset(pBmpSize, nBmpSize, 4); // 防止bmp截图出现输入数据过大的错误码\n Module.setValue(pBmpSize, nBmpSize, "i32");\n res = Module._GetBMP(g_nPort, pDataYUV, nYUVSize, pBmpData, pBmpSize,\n oBMPCropRect.left, oBMPCropRect.top, oBMPCropRect.right, oBMPCropRect.bottom);\n if (res !== PLAYM4_OK) {\n postMessage({ \'function\': "GetBMP", \'errorCode\': res });\n Module._free(pDataYUV);\n pDataYUV = null;\n Module._free(pBmpData);\n pBmpData = null;\n Module._free(pBmpSize);\n pBmpSize = null;\n return;\n }\n\n // 获取BMP图片大小\n var nBmpDataSize = Module.getValue(pBmpSize, "i32");\n\n // 获取BMP图片数据\n var aBmpData = new Uint8Array(nBmpDataSize);\n aBmpData.set(Module.HEAPU8.subarray(pBmpData, pBmpData + nBmpDataSize));\n\n postMessage({ \'function\': "GetBMP", \'data\': aBmpData, \'errorCode\': res }, [aBmpData.buffer]);\n aBmpData = null;\n if (pDataYUV != null) {\n Module._free(pDataYUV);\n pDataYUV = null;\n }\n if (pBmpData != null) {\n Module._free(pBmpData);\n pBmpData = null;\n }\n if (pBmpSize != null) {\n Module._free(pBmpSize);\n pBmpSize = null;\n }\n break;\n\n case "GetJPEG":\n var nJpegWidth = eventData.width;\n var nJpegHeight = eventData.height;\n var pYUVData1 = eventData.data;\n var nYUVSize1 = nJpegWidth * nJpegHeight * 3 / 2;\n var oJpegCropRect = eventData.rect;\n\n var pDataYUV1 = Module._malloc(nYUVSize1);\n if (pDataYUV1 === null) {\n return;\n }\n\n Module.writeArrayToMemory(new Uint8Array(pYUVData1, 0, nYUVSize1), pDataYUV1);\n\n // 分配JPEG空间\n var pJpegData = Module._malloc(nYUVSize1);\n var pJpegSize = Module._malloc(4);\n if (pJpegData === null || pJpegSize === null) {\n if (pJpegData != null) {\n Module._free(pJpegData);\n pJpegData = null;\n }\n\n if (pJpegSize != null) {\n Module._free(pJpegSize);\n pJpegSize = null;\n }\n\n if (pDataYUV1 != null) {\n Module._free(pDataYUV1);\n pDataYUV1 = null;\n }\n return;\n }\n\n Module.setValue(pJpegSize, nJpegWidth * nJpegHeight * 2, "i32"); // JPEG抓图,输入缓冲长度不小于当前帧YUV大小\n\n res = Module._GetJPEG(g_nPort, pDataYUV1, nYUVSize1, pJpegData, pJpegSize,\n oJpegCropRect.left, oJpegCropRect.top, oJpegCropRect.right, oJpegCropRect.bottom);\n if (res !== PLAYM4_OK) {\n postMessage({ \'function\': "GetJPEG", \'errorCode\': res });\n if (pJpegData != null) {\n Module._free(pJpegData);\n pJpegData = null;\n }\n\n if (pJpegSize != null) {\n Module._free(pJpegSize);\n pJpegSize = null;\n }\n\n if (pDataYUV1 != null) {\n Module._free(pDataYUV1);\n pDataYUV1 = null;\n }\n return;\n }\n\n // 获取JPEG图片大小\n var nJpegSize = Module.getValue(pJpegSize, "i32");\n\n // 获取JPEG图片数据\n var aJpegData = new Uint8Array(nJpegSize);\n aJpegData.set(Module.HEAPU8.subarray(pJpegData, pJpegData + nJpegSize));\n\n postMessage({ \'function\': "GetJPEG", \'data\': aJpegData, \'errorCode\': res }, [aJpegData.buffer]);\n\n nJpegSize = null;\n aJpegData = null;\n\n if (pDataYUV1 != null) {\n Module._free(pDataYUV1);\n pDataYUV1 = null;\n }\n if (pJpegData != null) {\n Module._free(pJpegData);\n pJpegData = null;\n }\n if (pJpegSize != null) {\n Module._free(pJpegSize);\n pJpegSize = null;\n }\n break;\n\n case "SetDecodeFrameType":\n var nFrameType = eventData.data;\n res = Module._SetDecodeFrameType(g_nPort, nFrameType);\n if (res !== PLAYM4_OK) {\n postMessage({ \'function\': "SetDecodeFrameType", \'errorCode\': res });\n return;\n }\n break;\n case "CloseStream":\n //stop\n let resS = Module._Stop(g_nPort);\n if (resS !== PLAYM4_OK) {\n postMessage({ \'function\': "Stop", \'errorCode\': res });\n return;\n }\n //closeStream\n res = Module._CloseStream(g_nPort);\n if (res !== PLAYM4_OK) {\n postMessage({ \'function\': "CloseStream", \'errorCode\': res });\n return;\n }\n //freePort\n let resF = Module._FreePort(g_nPort);\n if (resF !== PLAYM4_OK) {\n postMessage({ \'function\': "FreePort", \'errorCode\': res });\n return;\n }\n if (pInputData != null) {\n Module._free(pInputData);\n pInputData = null;\n }\n break;\n case "PlaySound":\n let resPS = Module._PlaySound(g_nPort);\n if (resPS !== PLAYM4_OK) {\n console.log("PlaySound failed");\n return;\n }\n break;\n case "StopSound":\n let resSS = Module._StopSound();\n if (resSS !== PLAYM4_OK) {\n console.log("StopSound failed");\n return;\n }\n break;\n case "SetVolume":\n let resSV = Module._SetVolume(g_nPort, eventData.volume);\n if (resSV !== PLAYM4_OK) {\n console.log("Audio SetVolume failed");\n return;\n }\n break;\n case "GetVolume":\n let volume = Module._GetVolume();\n if (volume > 0) {\n postMessage({ \'function\': "GetVolume", \'volume\': volume });\n }\n else {\n console.log("Audio GetVolume failed");\n return;\n }\n break;\n case "OnlyPlaySound":\n let resOPS = Module._OnlyPlaySound(g_nPort);\n if (resOPS !== PLAYM4_OK) {\n console.log("OnlyPlaySound failed");\n return;\n }\n break;\n case "Pause":\n let resPa = Module._Pause(g_nPort, eventData.bPlay);\n if (resPa !== PLAYM4_OK) {\n console.log("Pause failed");\n return;\n }\n case "PlayRate":\n Module._SetPlayRate(g_nPort, eventData.playRate);\n break;\n case "SetIFrameDecInterval":\n Module._SetIFrameDecInterval(g_nPort, eventData.data);\n break;\n case "SetLostFrameMode":\n Module._SetLostFrameMode(g_nPort, eventData.data, 0);\n break;\n case "SetDemuxModel":\n let resSDM = Module._SetDemuxModel(g_nPort, eventData.nIdemuxType, eventData.bTrue);\n break;\n case "SkipErrorData":\n Module._SkipErrorData(g_nPort, eventData.bSkip);\n break;\n case "SetDecodeERC":\n Module._SetDecodeERC(g_nPort, eventData.nLevel);\n break;\n case "SetANRParam":\n Module._SetANRParam(g_nPort, eventData.nEnable, eventData.nANRLevel);\n break;\n case "SetResampleValue":\n Module._SetResampleValue(g_nPort, eventData.nEnable, eventData.resampleValue);\n break;\n case "GetLastError":\n let errorCode = Module._GetLastError(g_nPort);\n postMessage({ \'function\': "GetLastError", \'errorCode\': errorCode });\n break;\n case "SetGlobalBaseTime":\n Module._SetGlobalBaseTime(g_nPort, eventData.year, eventData.month, eventData.day, eventData.hour, eventData.min, eventData.sec, eventData.ms);\n break;\n case "SetRunTimeInfoCB":\n Module._SetRunTimeInfoCallBackEx(g_nPort, eventData.nModuleType, 0);\n break;\n\t\t\tcase "SetStreamInfoCB":\n Module._SetStreamInfoCallBack(g_nPort, eventData.nType, 0);\n break;\n\t\t\tcase "GetFileTime":\n let FileTime = Module._JSPlayM4_GetFileTime(g_nPort);\n\t\t\t\tpostMessage({ \'function\': "GetFileTime", \'FileTime\': FileTime });\n break;\n\t\t\tcase "GetMpOffset":\n let Offset = Module._JSPlayM4_GetMpOffset(g_nPort,eventData.FrameTime);\n\t\t\t\tpostMessage({ \'function\': "GetMpOffset", \'Offset\': Offset });\n break;\n\t\t\tcase "ResetBuffer":\n Module._JSPlayM4_ResetBuffer(g_nPort, eventData.type);\n break;\n case "SetAdditionDataCallBack":\n Module._SetAdditionDataCallBack(g_nPort,eventData.additionDataType,eventData.nFlag,0);\n break;\n case "SetRunTimeInfoCallbackType":\n Module._SetRunTimeInfoCallbackType(g_nPort,eventData.module,eventData.Type,eventData.Flag);\n break;\n case "SetPostMpStreamOffsetCB":\n Module._SetPostMpStreamOffsetCallBack(g_nPort, 0);\n break;\n default:\n break;\n }\n };\n\n function getOSDTime(oFrameInfo) {\n var iYear = oFrameInfo.year;\n var iMonth = oFrameInfo.month;\n var iDay = oFrameInfo.day;\n var iHour = oFrameInfo.hour;\n var iMinute = oFrameInfo.minute;\n var iSecond = oFrameInfo.second;\n var iMiSecond = oFrameInfo.misecond\n\n if (iMonth < 10) {\n iMonth = "0" + iMonth;\n }\n if (iDay < 10) {\n iDay = "0" + iDay;\n }\n if (iHour < 10) {\n iHour = "0" + iHour;\n }\n if (iMinute < 10) {\n iMinute = "0" + iMinute;\n }\n if (iSecond < 10) {\n iSecond = "0" + iSecond;\n }\n let osdTime = {};\n\n osdTime.year = iYear;\n osdTime.month = iMonth;\n osdTime.week = 0;\n osdTime.day = iDay;\n osdTime.hour = iHour;\n osdTime.minute = iMinute;\n osdTime.second = iSecond;\n osdTime.milliseconds = iMiSecond;\n return osdTime;\n //return iYear + "-" + iMonth + "-" + iDay + " " + iHour + ":" + iMinute + ":" + iSecond;\n }\n // 获取帧数据\n function getFrameData() {\n // function getFrameData() {\n // 获取帧数据\n var res = Module._GetFrameData();\n //var res = fun();\n if (res === PLAYM4_OK) {\n var iFrameInfo = Module._GetFrameInfo();\n let oFrameInfo = {};\n oFrameInfo.frameType = Module.HEAP32[iFrameInfo >> 2];\n oFrameInfo.frameSize = Module.HEAP32[iFrameInfo + 4 >> 2];\n oFrameInfo.width = Module.HEAP32[iFrameInfo + 8 >> 2];\n oFrameInfo.height = Module.HEAP32[iFrameInfo + 12 >> 2];\n oFrameInfo.timeStamp = Module.HEAP32[iFrameInfo + 16 >> 2];\n oFrameInfo.frameRate = Module.HEAP32[iFrameInfo + 20 >> 2];\n oFrameInfo.bitsPerSample = Module.HEAP32[iFrameInfo + 24 >> 2];\n oFrameInfo.samplesPerSec = Module.HEAP32[iFrameInfo + 28 >> 2];\n oFrameInfo.channels = Module.HEAP32[iFrameInfo + 32 >> 2];\n oFrameInfo.frameNum = Module.HEAP32[iFrameInfo + 36 >> 2];\n\n oFrameInfo.cropLeft = Module.HEAP32[iFrameInfo + 40 >> 2];\n oFrameInfo.cropRight = Module.HEAP32[iFrameInfo + 44 >> 2];\n oFrameInfo.cropTop = Module.HEAP32[iFrameInfo + 48 >> 2];\n oFrameInfo.cropBottom = Module.HEAP32[iFrameInfo + 52 >> 2];\n\t\t\toFrameInfo.relframeNum = Module.HEAP32[iFrameInfo + 56 >> 2];\n\t\t\toFrameInfo.relframeTime = Module.HEAP32[iFrameInfo + 60 >> 2];\n\n oFrameInfo.year = Module.HEAP16[iFrameInfo + 64 >> 1];\n oFrameInfo.month = Module.HEAP16[iFrameInfo + 66 >> 1];\n oFrameInfo.day = Module.HEAP16[iFrameInfo + 68 >> 1];\n oFrameInfo.hour = Module.HEAP16[iFrameInfo + 70 >> 1];\n oFrameInfo.minute = Module.HEAP16[iFrameInfo + 72 >> 1];\n oFrameInfo.second = Module.HEAP16[iFrameInfo + 74 >> 1];\n oFrameInfo.misecond = Module.HEAP16[iFrameInfo + 76 >> 1];\n switch (oFrameInfo.frameType) {\n case AUDIO_TYPE:\n var iSize = oFrameInfo.frameSize;\n if (0 === iSize) {\n return -1;\n }\n var pPCM = Module._GetFrameBuffer();\n // var audioBuf = new ArrayBuffer(iSize);\n var aPCMData = new Uint8Array(iSize);\n aPCMData.set(Module.HEAPU8.subarray(pPCM, pPCM + iSize));\n if (bWorkerPrintLog > 0 ) {\n console.log("<< 0) {\n console.log("<<> 8; // shift value down by 1 byte\n }\n while (ch);\n // add stack contents to result\n // done because chars have "wrong" endianness\n re = re.concat(st.reverse());\n }\n // return an array of bytes\n return re;\n }\n})();\n'))]),t=URL.createObjectURL(e);if(this.decodeWorker=new Worker(t),A.bJSPrintLog>0&&console.log(">>>JSPlayV1.1 createWorker success!"),null==A.decodeWorker)return 60}A.decodeWorker.onmessage=function(e){var t=null,i=e.data;switch(A.errorCode=i.errorCode,i.function){case"printLog":A.bJSPrintLog>=0&&console.log("print JSPlayerSDK log failed");break;case"loaded":t="loaded",A.decodeWorker.postMessage({command:"printLog",data:A.bJSPrintLog}),A.bJSPrintLog>=0&&console.log("V1 Decoder.js loaded path:"+A.szBasePath),A.setCallBack(A,"loaded",0,0,!0);break;case"SetStreamOpenMode":t="SetStreamOpenMode";break;case"OpenStream":if(t="OpenStream",1===i.errorCode)return n.bOpenStream=!0,void(n.nCurStatus=1);break;case"InputData":t="InputData",11===i.errorCode&&(n.bIsInputBufOver=!0,A.bJSPrintLog>=0&&console.log("yff inputBuffer over set key frame \n"),1!=n.nDecFrameType&&n.PlayM4_SetDecodeFrameType(1)),36===i.errorCode&&(n.bIsInputBufWillOver=!0),i.errorCode===he&&(n.bIsInputBufOver=!1,n.bIsInputBufWillOver=!1,n.aInputDataLens.length>0&&n.bIsInput?(n.inputDataFun(),n.bIsInput=!1):n.bIsGetYUV=!0);break;case"GetFrameData":if(t="GetFrameData",!n.bOnlyPlaySound){if(null!=i.data&&null!=i.frameInfo&&(i.frameInfo.width,i.frameInfo.height),!n.bPlay)return;if(n.errorCode=i.errorCode,!(n.bIsFirstFrame||i.errorCode!==he&&35!==i.errorCode)){i.errorCode===he&&(n.bIsInputBufOver=!1,n.bIsInputBufWillOver=!1),n.loopNum>5?(n.bIsGetYUV=!0,n.loopNum=0):(n.inputDataFun(),n.loopNum++);break}n.bIsInputBufOver||n.bIsInputBufWillOver?n.inputDataFun():"videoType"===i.type&&(n.aInputDataLens.length>0&&n.bIsInput?(n.inputDataFun(),n.bIsInput=!1):n.bIsGetYUV=!0,n.bIsFirstFrame=!1)}if(n.bVisibility&&1===i.errorCode)switch(i.type){case"videoType":if(null==i.data||null==i.frameInfo)return 0;null!=n.DecCallBackFun&&(n.DecInfoYUV.port=0,n.DecInfoYUV.iDataType=3,n.DecInfoYUV.height=i.frameInfo.height,n.DecInfoYUV.width=i.frameInfo.width,n.DecInfoYUV.isize=i.frameInfo.width*i.frameInfo.height*3/2,n.DecInfoYUV.Data=new Uint8Array(i.data),n.DecCallBackFun(n.DecInfoYUV)),n.bIsFirstFrame=!1,A.nWidth=i.frameInfo.width,A.nHeight=i.frameInfo.height,A.nSPSCropLeft=i.frameInfo.cropLeft,A.nSPSCropRight=i.frameInfo.cropRight,A.nSPSCropTop=i.frameInfo.cropTop,A.nSPSCropBottom=i.frameInfo.cropBottom,A.timeStamp=i.frameInfo.timeStamp;var a=new Object;if(a.data=i.data,a.osdTime=i.frameInfo,a.nWidth=i.frameInfo.width,a.nHeight=i.frameInfo.height,a.frameNum=i.frameInfo.frameNum,a.timeStamp=i.frameInfo.timeStamp,a.relframeNum=i.frameInfo.relframeNum,a.relframeTime=i.frameInfo.relframeTime,A.jsplayer.DecodeTypeFlagMap.size>0){var r,o=F(A.jsplayer.DecodeTypeFlagMap.keys());try{for(o.s();!(r=o.n()).done;){var s=r.value;if(s&$&&1==A.jsplayer.DecodeTypeFlagMap.get(s)&&null!=A.runtimeInfoCBFun&&null!=A.oDecodeTimer){var g=A.oDecodeTimer.GetTimerWalk();g<=0||g>1e7||A.nGetTotalFrameNum>1e5?(A.nGetTotalFrameNum=0,A.oDecodeTimer.Init()):(A.nGetTotalFrameNum++,A.nAverageDecodeTime=g/A.nGetTotalFrameNum,null!=A.runtimeInfoCBFun&&(A.pstRuntimeInfo.nRunTimeModule=2,A.pstRuntimeInfo.nStrVersion=1,A.pstRuntimeInfo.nFrameTimeStamp=a.timeStamp,A.pstRuntimeInfo.nFrameNum=a.frameNum,A.pstRuntimeInfo.nErrorCode=$,A.pstRuntimeInfo.nInputDataInterval=0,A.pstRuntimeInfo.nFrameNumInterval=0,A.pstRuntimeInfo.nAverageDecodeTime=A.nAverageDecodeTime,A.runtimeInfoCBFun(A.pstRuntimeInfo)))}}}catch(A){o.e(A)}finally{o.f()}}if(A.bWriteYUVData){for(var l=new Uint8Array(i.data),C=A.aVideoYUVBuffer.length,I=0,c=l.length;I=20){var h=new Uint8Array(A.aVideoYUVBuffer);A.downloadFile(h,"videoYUV.data"),A.aVideoYUVBuffer.splice(0,A.aVideoYUVBuffer.length),A.bWriteYUVData=!1,A.iYUV10size=0,h=null}if(A.aVideoFrameBuffer.push(a),a=null,A.aVideoFrameBuffer.length>5&&(A.bOnebyOne||6==A.nCurStatus||A.aVideoFrameBuffer.splice(0,2)),(A.bOnebyOne||6==A.nCurStatus)&&(A.aVideoFrameBuffer.length>=15||A.aInputDataBuffer.length>=.8*A.iInputMaxBufSize)){A.setCallBack(A,"OnebyOne",0,0,!1),A.bIsFirstFrame=!0;break}break;case"audioType":if(0==A.bHIKHeadValue&&(A.bFileHeadAudioFormat=!0),A.bPlaySound&&!A.bPlayRateChange||n.bOnlyPlaySound){null!=n.PCMCallBackFun&&(n.DecInfoPCM.port=0,n.DecInfoPCM.SampleRate=i.frameInfo.samplesPerSec,n.DecInfoPCM.channel=i.frameInfo.channels,n.DecInfoPCM.bitsPerSample=i.frameInfo.bitsPerSample,n.DecInfoPCM.iDataType=101,n.DecInfoPCM.Data=new Uint8Array(i.data),n.DecInfoPCM.isize=n.DecInfoPCM.Data.length,n.PCMCallBackFun(n.DecInfoPCM));for(var B=new Uint8Array(i.data),E=A.aAudioBuffer.length,x=0,d=B.length;x=0&&console.log("audio_type num:"+A.iAudioBuffer500Size+", len:"+Q.length),A.iAudioBuffer500Size++,Q=null}if(A.bWritePCMData&&A.iAudioBuffer500Size>=100){var m=new Uint8Array(A.aAudioPCMBuffer);A.downloadFile(m,"audioPCM.data"),A.aAudioPCMBuffer.splice(0,A.aAudioPCMBuffer.length),A.bWritePCMData=!1,A.iAudioBuffer500Size=0,m=null}A.iAudioBufferSize>=Be&&(A.audioRenderer.Play(A.aAudioBuffer,A.aAudioBuffer.length,i.frameInfo),A.aAudioBuffer.splice(0,A.aAudioBuffer.length),A.aAudioBuffer.length=0,A.iAudioBufferSize=0)}}break;case"GetRawData":if(t="GetRawData",A.bWriteRawData){for(var _=new Uint8Array(i.data),y=A.aRawDataBuffer.length,S=0,D=_.length;S=100){var R=new Uint8Array(A.aRawDataBuffer);A.downloadFile(R,"rawBuffer.data"),A.aRawDataBuffer.splice(0,A.aRawDataBuffer.length),A.bWriteRawData=!1,A.iRawDataSize=0,R=null}break;case"PlaySound":t="PlaySound";break;case"GetJPEG":if(t="GetJPEG",1!==i.errorCode)return void(A.bJSPrintLog>=0&&console.log("GetJPEG ErrorParam"));var w=i.data;A.jpegDownloadFlag&&(A.downloadFile(w,"GetJPEG.jpeg"),A.jpegDownloadFlag=!1),A.dataCallBackFun(w,w.length);break;case"GetBMP":if(t="GetBMP",1!==i.errorCode)return void(A.bJSPrintLog>=0&&console.log("GetBMP ErrorParam"));var b=i.data;A.bmpDownloadFlag&&(A.downloadFile(b,"GetBmp.bmp"),A.bmpDownloadFlag=!1),A.dataCallBackFun(b,b.length);break;case"RunTimeInfoCallBack":t="RunTimeInfoCallBack",null!=A.runtimeInfoCBFun&&(A.pstRuntimeInfo.nRunTimeModule=i.runtimeInfo.nRunTimeModule,A.pstRuntimeInfo.nStrVersion=i.runtimeInfo.nStrVersion,A.pstRuntimeInfo.nFrameTimeStamp=i.runtimeInfo.nFrameTimeStamp,A.pstRuntimeInfo.nFrameNum=i.runtimeInfo.nFrameNum,A.pstRuntimeInfo.nErrorCode=i.runtimeInfo.nErrorCode,A.pstRuntimeInfo.nInputDataInterval=i.runtimeInfo.nInputDataInterval,A.pstRuntimeInfo.nFrameNumInterval=i.runtimeInfo.nFrameNumInterval,A.runtimeInfoCBFun(A.pstRuntimeInfo));break;case"StreamInfoCallBack":t="StreamInfoCallBack";var v={};v.nSystemformat=i.nSystemformat,v.nVideoformat=i.nVideoformat,v.nAudioformat=i.nAudioformat,v.nAudiochannels=i.nAudiochannels,v.nAudiobitspersample=i.nAudiobitspersample,v.nAudiosamplesrate=i.nAudiosamplesrate,v.nAudiobitrate=i.nAudiobitrate,v.nWidth=i.nWidth,v.nHeight=i.nHeight,v.fFrameRate=i.fFrameRate,v.nIntervalOfIFrame=i.nIntervalOfIFrame,null!=A.streamInfoCBFun&&A.streamInfoCBFun(v);break;case"PostMpStreamOffsetCallBack":t="PostMpStreamOffsetCallBack";var P={};P.nStreamOffset=i.nStreamOffset,null!=A.PostMpStreamOffsetCBFun&&A.PostMpStreamOffsetCBFun(P);break;case"GetFileTime":t="GetFileTime";var k=i.FileTime;null!=A.GetFileTimeCBFun&&A.GetFileTimeCBFun(k);break;case"GetMpOffset":t="GetMpOffset";var N=i.Offset;null!=A.GetMpOffsetCBFun&&(A.GetMpOffsetCBFun(N),n.needWaitMpOffset=!1);break;case"AdditionDataCallBack":var T={};T.dataType=i.dataType,T.dataStrVersion=i.dataStrVersion,T.dataTimeStamp=i.dataTimeStamp,T.dataLength=i.dataLength,T.pData=i.pData,T.additionDataBuffer=new Uint8Array(i.additionDataBuffer),null!=A.addtionCallBackFun&&A.addtionCallBackFun(T)}"GetFrameData"!==t&&"loaded"!==t?A.setCallBack(A,t,0,A.convertErrorCode(i.errorCode),!0):ce!==i.errorCode&&101!==i.errorCode&&100!==i.errorCode&&48!==i.errorCode||A.setCallBack(A,t,0,A.convertErrorCode(i.errorCode),!0)}}var i},this.createWorker(n),this.draw=function(){if(n.bPlay){if(!n.bPause||n.bOnebyOne){requestAnimationFrame(n.draw);var A=n.aVideoFrameBuffer.length;if(null!=n.YUVBufSizeCBFun&&n.YUVBufSizeCBFun(A),n.bOnebyOne){if(A<=8&&n.setCallBack(n,"OnebyOne",0,he,!0),A<=n.FrameForwardLen+1)return void n.setCallBack(n,"OnebyOne",0,he,!0);for(var e=n.FrameForwardLen;e>1;)n.aVideoFrameBuffer.shift(),e--;n.bOnebyOne=!1}if(1==n.bstreamEnd&&(A<=0?(n.nstreamEndloopNum++,n.nstreamEndloopNum>=5&&(n.nstreamEndloopNum=0,n.bstreamEnd=!1,null!=n.runtimeInfoCBFun&&(n.pstRuntimeInfo.nRunTimeModule=0,n.pstRuntimeInfo.nStrVersion=0,n.pstRuntimeInfo.nFrameTimeStamp=0,n.pstRuntimeInfo.nFrameNum=0,n.pstRuntimeInfo.nErrorCode=9,n.pstRuntimeInfo.nInputDataInterval=0,n.pstRuntimeInfo.nFrameNumInterval=0,n.runtimeInfoCBFun(n.pstRuntimeInfo)))):n.nstreamEndloopNum=0),A>0){var t=n.aVideoFrameBuffer.shift(),i={};i.nCropLeft=n.nSPSCropLeft,i.nCropRight=n.nSPSCropRight,i.nCropTop=n.nSPSCropTop,i.nCropBottom=n.nSPSCropBottom,i.nCodeWidth=t.nWidth,i.nCodeHeight=t.nHeight,n.aDisplayBuf=t.data;var a=new Uint8Array(n.aDisplayBuf);if(n.jsplayer.RenderTypeFlagMap.size>0){var r,o=F(n.jsplayer.RenderTypeFlagMap.keys());try{for(o.s();!(r=o.n()).done;){var s=r.value;s==AA&&1==n.jsplayer.RenderTypeFlagMap.get(s)&&null!=n.runtimeInfoCBFun&&1==n.firstRenderBegin&&(n.pstRuntimeInfo.nRunTimeModule=3,n.pstRuntimeInfo.nStrVersion=1,n.pstRuntimeInfo.nFrameTimeStamp=t.timeStamp,n.pstRuntimeInfo.nFrameNum=0,n.pstRuntimeInfo.nErrorCode=AA,n.pstRuntimeInfo.nInputDataInterval=0,n.pstRuntimeInfo.nFrameNumInterval=0,n.pstRuntimeInfo.nAverageDecodeTime=0,n.pstRuntimeInfo.AbsTimeYear=t.osdTime.year,n.pstRuntimeInfo.AbsTimeMonth=t.osdTime.month,n.pstRuntimeInfo.AbsTimeDay=t.osdTime.day,n.pstRuntimeInfo.AbsTimeHour=t.osdTime.hour,n.pstRuntimeInfo.AbsTimeMinute=t.osdTime.minute,n.pstRuntimeInfo.AbsTimeSecond=t.osdTime.second,n.pstRuntimeInfo.AbsTimeMilliseconds=t.osdTime.misecond,n.runtimeInfoCBFun(n.pstRuntimeInfo),n.firstRenderBegin=!1)}}catch(A){o.e(A)}finally{o.f()}}if(n.bVideoCropInfo?n.oSuperRender.DisplayFrame(a,t.nWidth-n.nSPSCropLeft-n.nSPSCropRight,t.nHeight-n.nSPSCropTop-n.nSPSCropBottom,t.timeStamp,i,null).then((function(A){A.timestamp;var e=A.DrawRet;if(n.jsplayer.RenderTypeFlagMap.size>0&&1!=e){var i,a=F(n.jsplayer.RenderTypeFlagMap.keys());try{for(a.s();!(i=a.n()).done;){var r=i.value;r==tA&&1==n.jsplayer.RenderTypeFlagMap.get(r)&&null!=n.runtimeInfoCBFun&&(n.pstRuntimeInfo.nRunTimeModule=3,n.pstRuntimeInfo.nStrVersion=1,n.pstRuntimeInfo.nFrameTimeStamp=t.timeStamp,n.pstRuntimeInfo.nFrameNum=0,n.pstRuntimeInfo.nErrorCode=tA,n.runtimeInfoCBFun(n.pstRuntimeInfo))}}catch(A){a.e(A)}finally{a.f()}}})):n.oSuperRender.DisplayFrame(a,t.nWidth,t.nHeight,t.timeStamp,i,null).then((function(A){A.timestamp;var e=A.DrawRet;if(n.jsplayer.RenderTypeFlagMap.size>0&&1!=e){var i,a=F(n.jsplayer.RenderTypeFlagMap.keys());try{for(a.s();!(i=a.n()).done;){var r=i.value;r==tA&&1==n.jsplayer.RenderTypeFlagMap.get(r)&&null!=n.runtimeInfoCBFun&&(n.pstRuntimeInfo.nRunTimeModule=3,n.pstRuntimeInfo.nStrVersion=1,n.pstRuntimeInfo.nFrameTimeStamp=t.timeStamp,n.pstRuntimeInfo.nFrameNum=0,n.pstRuntimeInfo.nErrorCode=tA,n.runtimeInfoCBFun(n.pstRuntimeInfo))}}catch(A){a.e(A)}finally{a.f()}}})),n.jsplayer.RenderTypeFlagMap.size>0){var g,l=F(n.jsplayer.RenderTypeFlagMap.keys());try{for(l.s();!(g=l.n()).done;){var C=g.value;C==eA&&1==n.jsplayer.RenderTypeFlagMap.get(C)&&null!=n.runtimeInfoCBFun&&(n.pstRuntimeInfo.nRunTimeModule=3,n.pstRuntimeInfo.nStrVersion=1,n.pstRuntimeInfo.nFrameTimeStamp=t.timeStamp,n.pstRuntimeInfo.nFrameNum=0,n.pstRuntimeInfo.nErrorCode=eA,n.pstRuntimeInfo.nInputDataInterval=0,n.pstRuntimeInfo.nFrameNumInterval=0,n.pstRuntimeInfo.nAverageDecodeTime=0,n.pstRuntimeInfo.AbsTimeYear=t.osdTime.year,n.pstRuntimeInfo.AbsTimeMonth=t.osdTime.month,n.pstRuntimeInfo.AbsTimeDay=t.osdTime.day,n.pstRuntimeInfo.AbsTimeHour=t.osdTime.hour,n.pstRuntimeInfo.AbsTimeMinute=t.osdTime.minute,n.pstRuntimeInfo.AbsTimeSecond=t.osdTime.second,n.pstRuntimeInfo.AbsTimeMilliseconds=t.osdTime.misecond,n.runtimeInfoCBFun(n.pstRuntimeInfo))}}catch(A){l.e(A)}finally{l.f()}}null!=n.DisplayCallBackFun&&(n.DisplayInfoYUV.height=t.nHeight,n.DisplayInfoYUV.width=t.nWidth,n.DisplayInfoYUV.iSize=n.DisplayInfoYUV.height*n.DisplayInfoYUV.width*3/2,n.DisplayInfoYUV.frameNum=t.frameNum,n.DisplayInfoYUV.timeStamp=t.timeStamp,n.DisplayInfoYUV.yuvData=new Uint8Array(a),n.DisplayCallBackFun(n.DisplayInfoYUV)),n.frameInfoFlag&&(n.displayFrameInfo.codecType=0,n.displayFrameInfo.frameType=0,n.displayFrameInfo.frameSize=0,n.displayFrameInfo.width=t.nWidth-n.nSPSCropLeft-n.nSPSCropRight,n.displayFrameInfo.height=t.nHeight-n.nSPSCropTop-n.nSPSCropBottom,n.displayFrameInfo.timeStamp=t.timeStamp,n.displayFrameInfo.frameRate=0,n.displayFrameInfo.frameNum=t.frameNum,n.displayFrameInfo.interlace=0,n.displayFrameInfo.streamEnd=0,n.displayFrameInfo.cropLeft=n.nSPSCropLeft,n.displayFrameInfo.cropRight=n.nSPSCropRight,n.displayFrameInfo.cropTop=n.nSPSCropTop,n.displayFrameInfo.cropBottom=n.nSPSCropBottom,n.displayFrameInfo.year=t.osdTime.year,n.displayFrameInfo.month=t.osdTime.month,n.displayFrameInfo.week=0,n.displayFrameInfo.day=t.osdTime.day,n.displayFrameInfo.hour=t.osdTime.hour,n.displayFrameInfo.minute=t.osdTime.minute,n.displayFrameInfo.second=t.osdTime.second,n.displayFrameInfo.milliseconds=t.osdTime.misecond),0==n.startTimeStamp&&(n.startTimeStamp=t.timeStamp),a=null;var I=t.osdTime.year,c=t.osdTime.month,h=t.osdTime.day,B=t.osdTime.hour,E=t.osdTime.minute,x=t.osdTime.second;n.szOSDTime=I+"-"+c+"-"+h+" "+B+":"+E+":"+x,t=null,n.needFirstFrameCB&&null!=n.firstFrameCB&&(n.firstFrameCB({decodeEngine:2}),n.needFirstFrameCB=!1)}else n.setCallBack(n,"Play",0,he,!0)}}else n.bPlay||(n.aVideoFrameBuffer.splice(0,n.aVideoFrameBuffer.length),n.aAudioBuffer.splice(0,n.aAudioBuffer.length))}}return e(t,[{key:"PlayM4_SetCurrentFrameNum",value:function(A,e){return ce}},{key:"PlayM4_OpenPlayerSDKPrintLog",value:function(A){return this.bJSPrintLog=A,this.decodeWorker.postMessage({command:"printLog",data:A}),1}},{key:"PlayM4_DownloadYUVdata",value:function(){return this.bWriteYUVData=!0,1}},{key:"PlayM4_DownloadPCMdata",value:function(){return this.bWritePCMData=!0,1}},{key:"PlayM4_SetDecCallBack",value:function(A,e){return A?(1==this.decCBStream&&(this.DecCallBackFun=e),2==this.decCBStream&&(this.PCMCallBackFun=e),3==this.decCBStream&&(this.PCMCallBackFun=e,this.DecCallBackFun=e)):(1==this.decCBStream&&(this.DecCallBackFun=null),2==this.decCBStream&&(this.PCMCallBackFun=null),3==this.decCBStream&&(this.PCMCallBackFun=null,this.DecCallBackFun=null)),1}},{key:"PlayM4_SetDisplayCallBack",value:function(A){return A&&"function"==typeof A?(this.DisplayCallBackFun=A,1):0}},{key:"PlayM4_SetPCMCallBack",value:function(A){return A&&"function"==typeof A?(this.PCMCallBackFun=A,1):0}},{key:"PlayM4_SetStreamOpenMode",value:function(A){return null==A||void 0===A||0!==A&&1!==A?0:(this.streamOpenMode=A,1)}},{key:"PlayM4_DownloadRTPData",value:function(A){this.downloadRTP=A}},{key:"PlayM4_SetVideoCropInfo",value:function(A){return null==A||void 0===A||"boolean"!=typeof A?0:(this.bVideoCropInfo=A,1)}},{key:"PlayM4_OpenStream",value:function(A,e,t){return this.bJSPrintLog>0&&console.log(">>>JS PlayM4_OpenStream nSysTime:"+((new Date).getMonth()+1)+"-"+(new Date).getDate()+" "+(new Date).getHours()+":"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds()),null==this.decodeWorker?2:null==A||e<=0||t<=0?0:(73==A[0]&&77==A[1]&&75==A[2]&&72==A[3]?this.bHIKHeadValue=!0:this.bHIKHeadValue=!1,0==A[12]&&0==A[13]?this.bFileHeadAudioFormat=!1:this.bFileHeadAudioFormat=!0,this.bPlay=!1,this.bPause=!1,this.bOnebyOne=!1,this.bIsFirstFrame=!0,this.bIsGetYUV=!1,this.bIsInput=!1,4===A[8]&&0===A[9]?this.streamOpenMode=0:this.streamOpenMode=1,this.SystemFormat=A[8]+(A[9]<<8),this.decodeWorker.postMessage({command:"SetStreamOpenMode",data:this.streamOpenMode}),this.decodeWorker.postMessage({command:"OpenStream",data:A,dataSize:e,bufPoolSize:t}),this.bOpenStream=!0,1)}},{key:"PlayM4_CloseStream",value:function(){return null===this.decodeWorker?1:null===this.decodeWorker||!1===this.bOpenStream?2:(this.bOnlyPlaySound=!1,this.decodeWorker.postMessage({command:"CloseStream"}),null!==this.oSuperRender&&(this.oSuperRender.ReleaseDisplay(),this.oSuperRender=null),null!==this.audioRenderer&&(this.audioRenderer.Stop(),this.audioRenderer=null),this.aAudioBuffer.splice(0,this.aAudioBuffer.length),this.aVideoFrameBuffer.splice(0,this.aVideoFrameBuffer.length),this.aInputDataBuffer.splice(0,this.aInputDataBuffer.length),this.aInputDataLens.splice(0,this.aInputDataLens.length),this.aVideoYUVBuffer.splice(0,this.aVideoYUVBuffer.length),this.aAudioPCMBuffer.splice(0,this.aAudioPCMBuffer.length),this.aRawDataBuffer.splice(0,this.aRawDataBuffer.length),this.bOpenStream=!1,this.iAudioBufferSize=0,this.szOSDTime=null,this.startTimeStamp,this.nCurStatus=2,null!=this.textCanvas&&(this.textCanvas.remove(),this.textCanvas=null),this.setTextCanvasFlag=!1,null!=this.oInputTimer&&(this.oInputTimer.timerReset(),this.oInputTimer=null),null!=this.oDecodeTimer&&(this.oDecodeTimer.timerReset(),this.oDecodeTimer=null),1)}},{key:"PlayM4_Destroy",value:function(){return null===this.decodeWorker||(this.PlayM4_CloseStream(),this.decodeWorker.terminate(),this.decodeWorker=null),1}},{key:"PlayM4_FreePort",value:function(){return this.decodeWorker.terminate(),this.decodeWorker=null,1}},{key:"PlayM4_InputData",value:function(A,e){var t=this.aInputDataBuffer.length;if(-1===e)return this.bIsFirstFrame||this.bIsGetYUV?this.inputDataFun():this.bIsInput=!0,this.bstreamEnd=!0,1;if(t+e>this.iInputMaxBufSize)return this.bJSPrintLog>=0&&console.log("input over"),this.bIsGetYUV?this.inputDataFun():this.bIsInput=!0,11;var i=null,a=e;switch(this.streamOpenMode){case 1:if(i=new Uint8Array(A.buffer),this.jsplayer.ManagerTypeFlagMap.size>0){var r,n=F(this.jsplayer.ManagerTypeFlagMap.keys());try{for(n.s();!(r=n.n()).done;){var o=r.value;if(o&z&&1==this.jsplayer.ManagerTypeFlagMap.get(o)&&null!=this.runtimeInfoCBFun&&(2==this.SystemFormat||3==this.SystemFormat||32769==this.SystemFormat)){var s=this.SearchPtsInPes(i,e);if(s>=0&&e-s>=14&&0==i[s+0]&&0==i[s+1]&&1==i[s+2]&&(224==i[s+3]||192==i[s+3]||189==i[s+3]||191==i[s+3])&&128==(192&i[s+6])&&128&i[s+7]&&(32==(240&i[s+9])||48==(240&i[s+9]))&&!(1&~i[s+9])&&!(1&~i[s+11])&&!(1&~i[s+13])){var g=(((14&i[s+9])<<28)+(i[s+10]<<21)+((254&i[s+11])<<13)+(i[s+12]<<6)+((252&i[s+13])>>2))/45;this.SourceDataInterval(g)}}}}catch(A){n.e(A)}finally{n.f()}}this.aInputDataLens.push(e);break;case 0:a=e+4;var l=new Uint32Array([e]),C=new Uint8Array(l.buffer);if((i=new Uint8Array(a)).set(C,0),i.set(A,4),this.jsplayer.ManagerTypeFlagMap.size>0){var I,c=F(this.jsplayer.ManagerTypeFlagMap.keys());try{for(c.s();!(I=c.n()).done;){var h=I.value;h&z&&1==this.jsplayer.ManagerTypeFlagMap.get(h)&&null!=this.runtimeInfoCBFun&&(4==this.SystemFormat||13==this.SystemFormat||260==this.SystemFormat)&&e>12&&(224==(255&i[5])||154==(255&i[5])||160==(255&i[5]))&&(g=((i[8]<<24)+(i[9]<<16)+(i[10]<<8)+i[11])/90,this.SourceDataInterval(g))}}catch(A){c.e(A)}finally{c.f()}}l=null,C=null,this.aInputDataLens.push(e+4);break;default:return ce}for(var B=0;B0&&console.log(">>>JS PlayM4_Play canvasID: "+A),this.nCurStatus=3,this.decodeWorker.postMessage({command:"SetLostFrameMode",data:this.nLostFrameFlag}),null===A)this.bOnlyPlaySound=!0,this.decodeWorker.postMessage({command:"OnlyPlaySound"}),this.sCanvasId=null;else{if("string"!=typeof A)return 0;if(this.bOnebyOne&&(this.bPlayRateChange=!1,this.bOnebyOne=!1,this.bPause=!1,this.draw()),this.bPlay)return 1;if(null==this.oSuperRender&&(this.canvasCnv=document.getElementById(A),this.oSuperRender=new XA(this),this.oSuperRender.InitDisplay(this.canvasCnv,"webgl",1),null==this.oSuperRender))return 61;this.sCanvasId=A,this.bPlay=!0,this.bPause=!1,this.bOnebyOne=!1,this.bPlayRateChange=!1,this.bOnlyPlaySound=!1,this.draw()}return null==this.audioRenderer&&(this.audioRenderer=new Ie,null==this.audioRenderer)?61:(this.decodeWorker.postMessage({command:"Play"}),1)}},{key:"PlayM4_Stop",value:function(A){if(this.bJSPrintLog>0&&console.log(">>>>yff1020>>>>> V1 PlayM4_Stop"),null==this.decodeWorker||null==this.oSuperRender)return 2;if(!this.bPlay)return 2;this.bPlaySound&&(this.PlayM4_StopSound(),this.bPlaySound=!0),this.nCurStatus=5,this.bPlay=!1,this.bOnebyOne=!1,this.bPause=!1,this.oSuperRender.SetDisplayRect(0,0,this.nWidth,this.nHeight),this.iZoomNum=0,this.bDisRect=!1;var e={};e.nCropLeft=this.nSPSCropLeft,e.nCropRight=this.nSPSCropRight,e.nCropTop=this.nSPSCropTop,e.nCropBottom=this.nSPSCropBottom,e.nCodeWidth=this.nWidth,e.nCodeHeight=this.nHeight,this.bVideoCropInfo?this.oSuperRender.DisplayFrame(null,this.nWidth-this.nSPSCropLeft-this.nSPSCropRight,this.nHeight-this.nSPSCropTop-this.nSPSCropBottom,this.timeStamp,e,null):this.oSuperRender.DisplayFrame(null,this.nWidth,this.nHeight,this.timeStamp,e,null);var t=document.getElementById(this.sCanvasId);return t&&(this.clonedCanvas=t.cloneNode(!0),this.clonedCanvasParentNode=t.parentNode,this.clonedCanvasParentNode.replaceChild(this.clonedCanvas,t)),1}},{key:"PlayM4_PlayRate",value:function(A){return null==this.decodeWorker?2:(this.bPlayRateChange=1!==A,A<1&&(A=1),this.iInputDataLen=A*Ee,this.decodeWorker.postMessage({command:"PlayRate",playRate:A}),1)}},{key:"PlayM4_Pause",value:function(A){return null==this.decodeWorker||null==this.oSuperRender?2:this.bPlay?this.bOnebyOne||this.bPause==A?2:(this.bPause=A,this.bIsFirstFrame=!0,A?(this.bPlaySound&&(this.PlayM4_StopSound(),this.bPlaySound=!0),this.nCurStatus=4):(this.bPlaySound&&this.PlayM4_PlaySound(),this.nCurStatus=3,this.decodeWorker.postMessage({command:"SetLostFrameMode",data:this.nLostFrameFlag}),this.draw()),1):2}},{key:"PlayM4_OneByOne",value:function(A){return null==this.decodeWorker||null==this.oSuperRender?2:this.bPlay?A>10||A<=0?0:(A||(A=1),this.iInputDataLen=Ee,this.FrameForwardLen=A,this.bPause=!0,this.bOnebyOne=!0,this.bIsFirstFrame=!0,this.nCurStatus=6,this.draw(),this.decodeWorker.postMessage({command:"SetLostFrameMode",data:0}),1):2}},{key:"PlayM4_PlaySound",value:function(A){return null===this.decodeWorker||!1===this.bOpenStream?2:A<0||A>16?0:null==this.audioRenderer&&(this.audioRenderer=new Ie,null==this.audioRenderer)?61:(this.decodeWorker.postMessage({command:"PlaySound"}),this.audioRenderer.SetWndNum(A),0!==this.Volume&&this.audioRenderer.SetVolume(this.Volume),this.audioRenderer.oAudioContext.resume(),0==this.nIgnoreHeaderAudioDefine&&0==this.bFileHeadAudioFormat?ce:(this.bPlaySound=!0,1))}},{key:"PlayM4_StopSound",value:function(){return null==this.decodeWorker||null==this.audioRenderer?2:this.bPlaySound?(this.decodeWorker.postMessage({command:"StopSound"}),this.bPlaySound=!1,1):2}},{key:"PlayM4_SetDisplayBuf",value:function(A){return null==this.decodeWorker?2:A<=0?0:(this.YUVBufferSize=A,1)}},{key:"PlayM4_SetSecretKey",value:function(A,e,t){if(null==this.decodeWorker||!1===this.bOpenStream)return 2;if(null==e)return 0;if(1===A){if(128!==t)return 0;if(null==e||void 0===e)return 0}else if(2===A){if(256!==t)return 0;if(null==e||void 0===e)return 0}else if(0!==A)return 0;return this.decodeWorker.postMessage({command:"SetSecretKey",data:e,nKeyType:A,nKeyLen:t}),1}},{key:"PlayM4_SetDecodeFrameType",value:function(A){return this.bJSPrintLog>0&&console.log("PlayM4_SetDecodeFrameType nFrameType:"+A),null==this.decodeWorker||null==this.oSuperRender?2:0!==A&&1!==A?0:(this.bJSPrintLog>0&&console.log(">>>JS PlayM4_SetDecodeFrameType :"+A),this.nDecFrameType=A,this.decodeWorker.postMessage({command:"SetDecodeFrameType",data:A}),1)}},{key:"PlayM4_SetIFrameDecInterval",value:function(A){return 1!==this.nDecFrameType?2:A<0?0:(this.decodeWorker.postMessage({command:"SetIFrameDecInterval",data:A}),1)}},{key:"PlayM4_SetLostFrameMode",value:function(A){return A<0||A>1?0:(this.nLostFrameFlag=A,this.decodeWorker.postMessage({command:"SetLostFrameMode",data:A}),1)}},{key:"PlayM4_SetDisplayRegion",value:function(A,e,t){if(this.bJSPrintLog>0&&console.log(">>>>yff1020>>>>> PlayM4_SetDisplayRegion left:"+A.left+",top:"+A.top+",right:"+A.right+",bottom:"+A.bottom),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender)return 2;if(null===this.canvasId)return 2;if(!0===e){if(null==A)return 0;if("number"!=typeof A.left||"number"!=typeof A.top||"number"!=typeof A.right||"number"!=typeof A.bottom)return 0;var i=A.left,a=A.right,r=A.top,n=A.bottom,o=document.getElementById(this.sCanvasId).getBoundingClientRect();this.iCanvasWidth=o.width,this.iCanvasHeight=o.height,0!==this.iZoomNum&&(i=Math.round(i/this.iRatio_x)+this.stDisplayRect.left,r=Math.round(r/this.iRatio_y)+this.stDisplayRect.top,a=Math.round(a/this.iRatio_x)+this.stDisplayRect.left,n=Math.round(n/this.iRatio_y)+this.stDisplayRect.top),this.stDisplayRect={top:r,left:i,right:a,bottom:n};var s=n/this.iCanvasHeight*this.nHeight,g=i/this.iCanvasWidth*this.nWidth,l=a/this.iCanvasWidth*this.nWidth,C=r/this.iCanvasHeight*this.nHeight;this.oSuperRender.SetDisplayRect(g,C,l-g,s-C),this.bDisRect=!0;var I=a-i,c=n-r;this.iRatio_x=this.iCanvasWidth/I,this.iRatio_y=this.iCanvasHeight/c,t&&this.iZoomNum++}else this.oSuperRender.SetDisplayRect(0,0,this.nWidth,this.nHeight),this.iZoomNum=0,this.bDisRect=!1;if(this.bPause||this.bOnebyOne||this.bPlayRateChange){var h={};h.nCropLeft=this.nSPSCropLeft,h.nCropRight=this.nSPSCropRight,h.nCropTop=this.nSPSCropTop,h.nCropBottom=this.nSPSCropBottom,h.nCodeWidth=this.nWidth,h.nCodeHeight=this.nHeight,this.bVideoCropInfo?this.oSuperRender.DisplayFrame(new Uint8Array(this.aDisplayBuf),this.nWidth-this.nSPSCropLeft-this.nSPSCropRight,this.nHeight-this.nSPSCropTop-this.nSPSCropBottom,this.timeStamp,h,null):this.oSuperRender.DisplayFrame(new Uint8Array(this.aDisplayBuf),this.nWidth,this.nHeight,this.timeStamp,h,null)}return 1}},{key:"PlayM4_FEC_GetPort",value:function(A,e){var t,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return this.printfFlag&&console.log(">>>JS PlayM4_FEC_GetPort placeType:"+A+",correctType:"+e+",fecGetPortCB:"+i),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender||null===this.canvasId?2:1280!=e&&0!=e?ce:(this.FECGetPortCB=i,t=null!=this.oSuperRender?this.oSuperRender.FEC_GetPort(A,e):-1,null!=this.FECGetPortCB&&this.FECGetPortCB(t),t)}},{key:"PlayM4_FEC_Enable",value:function(A){if(this.printfFlag&&console.log(">>>JS PlayM4_FEC_Enable fishSubPort:"+A),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender)return 2;var e=1;return 0==A?console.log("fishPort is 0 ,main canvas doesn't need call FEC_Enable"):e=null!=this.oSuperRender?this.oSuperRender.FEC_Enable(A):0,e}},{key:"PlayM4_FEC_SetWnd",value:function(A,e){if(this.printfFlag&&console.log(">>>JS PlayM4_FEC_SetWnd fishSubPort:"+A+",hWnd:"+e),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender)return 2;var t=1;if(0==A)console.log("fishPort is 0 ,main canvas doesn't need call FEC_SetWnd");else if(null!=e){var i=document.getElementById(e);if(null!=this.oSuperRender)return this.oSuperRender.FEC_SetWnd(A,i);t=0}else console.log(">>>JS PlayM4_FEC_SetWnd hwnd error fishSubPort:"+A+",hWnd:"+e),t=0;return t}},{key:"PlayM4_FEC_SetParam",value:function(A,e){return this.printfFlag&&console.log(">>>JS PlayM4_FEC_SetParam 1 this.fishSubPort:"+A+",upDateType:"+e.upDateType+",param2d.fPTZParam.fPTZPositionX:"+e.fPTZParam.fPTZPositionX+",param2d.fPTZParam.fPTZPositionY:"+e.fPTZParam.fPTZPositionY),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender?2:null!=this.oSuperRender?this.oSuperRender.FEC_SetParam(A,e):0}},{key:"PlayM4_FEC_SetViewParam",value:function(A,e,t){return this.printfFlag&&console.log(">>>JS PlayM4_FEC_SetViewParam fishSubPort:"+A+",upDateType:"+e+",fValue:"+t),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender?2:null!=this.oSuperRender?this.oSuperRender.FEC_SetViewParam(A,e,t):0}},{key:"PlayM4_FEC_GetViewParam",value:function(A,e,t){if(this.printfFlag&&console.log(">>>JS PlayM4_FEC_GetViewParam fishSubPort:"+A+",upDateType:"+e+",viewParamCB:"+t),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender)return 2;var i=1;this.FECViewParamCB=t;var a={fValue:-1};return null!=this.oSuperRender?(i=this.oSuperRender.FEC_GetViewParam(A,e,a),null!=this.FECViewParamCB&&this.FECViewParamCB(a)):i=0,i}},{key:"PlayM4_FEC_ResetCorrectType",value:function(A,e,t){return this.printfFlag&&console.log("PlayM4_FEC_ResetCorrectType 1 fishSubPort:"+A+",placeType:"+e+",correctType:"+t),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender?2:1280!=t&&0!=t?ce:null!=this.oSuperRender?this.oSuperRender.FEC_ResetCorrectType(A,e,t):0}},{key:"PlayM4_FEC_Capture",value:function(A,e){return this.printfFlag&&console.log("PlayM4_FEC_Capture 1 fishSubPort:"+A+",FECImageCB:"+e),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender?2:null!=this.oSuperRender?this.oSuperRender.FEC_Capture(A,e):0}},{key:"PlayM4_FEC_SetBackCilling",value:function(A,e){return this.printfFlag&&console.log("PlayM4_FEC_SetBackCilling 1 fishSubPort:"+A+",bValue:"+e),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender?2:null!=this.oSuperRender?this.oSuperRender.FEC_SetBackCilling(A,e):0}},{key:"PlayM4_GetBMP",value:function(A,e){return this.bmpDownloadFlag=e,this.getPic(A,"GetBMP")}},{key:"PlayM4_GetJPEG",value:function(A,e){return this.jpegDownloadFlag=e,this.getPic(A,"GetJPEG")}},{key:"PlayM4_SetVolume",value:function(A){return null==this.decodeWorker||null==this.audioRenderer?2:A<0||A>100||""===A?0:(this.Volume=A,this.audioRenderer.SetVolume(A),1)}},{key:"PlayM4_GetVolume",value:function(A){if(null==this.decodeWorker)return 2;if(null==this.audioRenderer)return 2;if(A&&"function"==typeof A){var e=this.audioRenderer.GetVolume();return null===e?63:(A(e),1)}return 0}},{key:"PlayM4_GetOSDTime",value:function(A){return null==this.decodeWorker?2:this.bPlay?A&&"function"==typeof A?(A(this.szOSDTime),1):0:2}},{key:"PlayM4_SetFrameInfoCallBack",value:function(A){return this.frameInfoFlag=!!A,1}},{key:"PlayM4_GetFrameInfo",value:function(){return this.displayFrameInfo}},{key:"PlayM4_IsVisible",value:function(A){return this.bVisibility=A,1}},{key:"PlayM4_GetSdkVersion",value:function(){return"07040007"}},{key:"PlayM4_GetBuildDate",value:function(){return"20231219"}},{key:"PlayM4_GetInputBufSize",value:function(){return this.aInputDataBuffer.length}},{key:"PlayM4_SetInputBufSize",value:function(A){return A>0?(this.iInputMaxBufSize=A,this.bJSPrintLog>0&&console.log(">>JSBufferSize SetInputBufSize:"+this.iInputMaxBufSize),1):0}},{key:"PlayM4_GetYUVBufSize",value:function(){return this.aVideoFrameBuffer.length}},{key:"PlayM4_GetFrameResolution",value:function(A){return null==this.decodeWorker?2:A&&"function"==typeof A?(A(this.nWidth,this.nHeight),1):0}},{key:"PlayM4_RegisterYUVBufSizeCB",value:function(A){return A&&"function"==typeof A?(this.YUVBufSizeCBFun=A,1):0}},{key:"PlayM4_GetFileTime",value:function(A){return A&&"function"==typeof A?(this.GetFileTimeCBFun=A,this.decodeWorker.postMessage({command:"GetFileTime"}),1):0}},{key:"PlayM4_GetMpOffset",value:function(A,e){return this.needWaitMpOffset=!0,A&&"function"==typeof A?(this.GetMpOffsetCBFun=A,this.decodeWorker.postMessage({command:"GetMpOffset",FrameTime:e}),1):0}},{key:"PlayM4_UnRegisterYUVBufSizeCB",value:function(){return null!=this.YUVBufSizeCBFun&&(this.YUVBufSizeCBFun=null),1}},{key:"PlayM4_ClearCanvas",value:function(){if(null==this.oSuperRender)return 2;var A={};return A.nCropLeft=this.nSPSCropLeft,A.nCropRight=this.nSPSCropRight,A.nCropTop=this.nSPSCropTop,A.nCropBottom=this.nSPSCropBottom,A.nCodeWidth=this.nWidth,A.nCodeHeight=this.nHeight,this.bVideoCropInfo?this.oSuperRender.DisplayFrame(null,this.nWidth-this.nSPSCropLeft-this.nSPSCropRight,this.nHeight-this.nSPSCropTop-this.nSPSCropBottom,this.timeStamp,A,null):this.oSuperRender.DisplayFrame(null,this.nWidth,this.nHeight,this.timeStamp,A,null),1}},{key:"PlayM4_ReleaseInputBuffer",value:function(){return null===this.aInputDataBuffer?2:(this.aInputDataBuffer.splice(0,this.aInputDataBuffer.length),this.aInputDataLens.splice(0,this.aInputDataLens.length),this.bIsGetYUV=!1,this.bIsFirstFrame=!0,this.bIsInput=!1,1)}},{key:"PlayM4_ResetBuffer",value:function(A){return null===this.aInputDataBuffer?2:(this.decodeWorker.postMessage({command:"ResetBuffer",type:A}),1)}},{key:"PlayM4_GetDecodeFrameType",value:function(){return this.nDecFrameType}},{key:"PlayM4_SetRunTimeInfoCallBackEx",value:function(A,e){return this.runtimeInfoCBFun=e,null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SetRunTimeInfoCB",nModuleType:A}),1)}},{key:"PlayM4_SetRunTimeInfoCallbackType",value:function(A,e,t){return e==$&&(this.nGetTotalFrameNum=0,t?null==this.oDecodeTimer&&(this.oDecodeTimer=new sA,this.oDecodeTimer.Init()):null!==this.oDecodeTimer&&(this.oDecodeTimer.timerReset(),this.oDecodeTimer=null)),null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SetRunTimeInfoCallbackType",module:A,Type:e,Flag:t}),1)}},{key:"PlayM4_SetStreamInfoCallBack",value:function(A,e){return this.streamInfoCBFun=e,this.decodeWorker.postMessage({command:"SetStreamInfoCB",nType:A}),1}},{key:"PlayM4_SetPostMpStreamOffsetCallBack",value:function(A){return this.PostMpStreamOffsetCBFun=A,this.decodeWorker.postMessage({command:"SetPostMpStreamOffsetCB"}),1}},{key:"PlayM4_SetDemuxModel",value:function(A,e){return null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SetDemuxModel",nIdemuxType:A,bTrue:e}),1)}},{key:"PlayM4_SkipErrorData",value:function(A){return null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SkipErrorData",bSkip:A}),1)}},{key:"PlayM4_SetDecodeERC",value:function(A){return null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SetDecodeERC",nLevel:A}),1)}},{key:"PlayM4_SetANRParam",value:function(A,e){return null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SetANRParam",nEnable:A,nANRLevel:e}),1)}},{key:"PlayM4_SetResampleValue",value:function(A,e){return null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SetResampleValue",nEnable:A,resampleValue:e}),1)}},{key:"PlayM4_SetGlobalBaseTime",value:function(A,e,t,i,a,r,n){return null==this.decodeWorker?2:A<2e3||A>3e3||e<1||e>12||A<0||e<0||t<0||i<0||a<0||r<0||n<0?ce:(this.decodeWorker.postMessage({command:"SetGlobalBaseTime",year:A,month:e,day:t,hour:i,min:a,sec:r,ms:n}),1)}},{key:"PlayM4_SetAudioDisplayBuf",value:function(A){return Be=A,1}},{key:"PlayM4_GetCanvasCapture",value:function(A,e,t){return null!=this.oSuperRender?this.oSuperRender.GetCanvasData(A,e,t):1}},{key:"PlayM4_SetFirstFrameCallBack",value:function(A,e){return null!=e&&"function"!=typeof e?0:(A&&(this.firstFrameCB=e),this.needFirstFrameCB=!0,1)}},{key:"PlayM4_SetDecCBStream",value:function(A){return this.decCBStream=A,1}},{key:"PlayM4_SetCanvasSize",value:function(A,e){return A<16||e<16?0:null!=this.oSuperRender&&this.oSuperRender.SetCanvasSize(A,e,0)}},{key:"PlayM4_GetCanvasSize",value:function(){return null!=this.oSuperRender&&this.oSuperRender.GetCanvasSize()}},{key:"PlayM4_GetBufferValue",value:function(){return this.iInputMaxBufSize}},{key:"PlayM4_GetLastError",value:function(){return this.errorCode}},{key:"PlayM4_GetPlayedTimeEx",value:function(A){A(this.timeStamp-this.startTimeStamp)}},{key:"PlayM4_SetAntialias",value:function(A){return null!=this.oSuperRender?this.oSuperRender.SetAntialias(A):0}},{key:"_SetTextCanvas",value:function(){return null!=this.textCanvas&&(this.textCanvas.remove(),this.textCanvas=null),null==this.textCanvas&&(this.textCanvas=document.createElement("canvas")),null!=this.oSuperRender&&this.oSuperRender.SetTextCanvas(this.textCanvas),this.setTextCanvasFlag=!0,1}},{key:"PlayM4_SetWaterMarkFont",value:function(A){return null!=this.oSuperRender?(this.setTextCanvasFlag||this._SetTextCanvas(),this.oSuperRender.SetWaterMarkFont(A)):0}},{key:"PlayM4_SetWaterMarkImage",value:function(A){return null!=this.oSuperRender?this.oSuperRender.SetWaterMarkImage(A):0}},{key:"PlayM4_SetD3DPostProcess",value:function(A,e){return null!=this.oSuperRender?this.oSuperRender.SetD3DPostProcess(A,e):0}},{key:"PlayM4_SetRotateAngle",value:function(A){return null!=this.oSuperRender?this.oSuperRender.SetRotateAngle(A):0}},{key:"PlayM4_IgnoreHeaderAudioDefine",value:function(A){return this.nIgnoreHeaderAudioDefine=A,1}},{key:"getScriptDirectory",value:function(){var A=self.location.href;return A.substr(0,A.lastIndexOf("/")+1)}},{key:"PlayM4_SetAdditionDataCallBack",value:function(A,e,t){return t&&"function"==typeof t||null===t?(this.addtionCallBackFun=t,this.decodeWorker.postMessage({command:"SetAdditionDataCallBack",additionDataType:A,nFlag:e}),1):0}},{key:"downloadFile",value:function(A,e){var t=A;a(A,Blob)||a(A,File)||(t=new Blob([A]));var i=window.URL.createObjectURL(t),r=window.document.createElement("a");r.href=i,r.download=e;var n=document.createEvent("MouseEvents");n.initEvent("click",!0,!0),r.dispatchEvent(n)}},{key:"SourceDataInterval",value:function(A){var e,t=0;return null==this.oInputTimer&&(this.oInputTimer=new sA,this.oInputTimer.Init()),-1==this.nLastSourceTimeStamp&&(this.nLastSourceTimeStamp=A),e=this.oInputTimer.GetTimerWalk(),-1==this.nLastClockTimeStamp?(this.nLastClockTimeStamp=e,1):e>=this.nLastClockTimeStamp?(t=e-this.nLastClockTimeStamp,A!=this.nLastSourceTimeStamp&&this.nLastSourceTimeStamp,null!=this.runtimeInfoCBFun&&(this.pstRuntimeInfo.nRunTimeModule=4,this.pstRuntimeInfo.nStrVersion=1,this.pstRuntimeInfo.nFrameTimeStamp=A,this.pstRuntimeInfo.nFrameNum=0,this.pstRuntimeInfo.nErrorCode=z,this.pstRuntimeInfo.nInputDataInterval=t,this.pstRuntimeInfo.nFrameNumInterval=0,this.runtimeInfoCBFun(this.pstRuntimeInfo)),this.nLastSourceTimeStamp=A,this.nLastClockTimeStamp=e,1):(null!=this.oInputTimer&&this.oInputTimer.Init(),this.nLastClockTimeStamp=-1,1)}},{key:"SearchPtsInPes",value:function(A,e){if(e<8)return-1;var t=new Uint8Array(A),i=0;for(i=0;ie)return-1;if(0==t[i]&&0==t[i+1]&&1==t[i+2]){if(i+3>e)return-1;switch(t[i+3]){case 189:case 191:if(i+5>e)return-1;var a=6+(t[i+4]<<8)+t[i+5];if(!(i+ae)return-1;if(128&t[i+7])return i}}}return-1}}]),t}(),pe=i((function(){return function(A,e){var t,i,a,r,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return r={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function o(r){return function(o){return function(r){if(t)throw new TypeError("Generator is already executing.");for(;n;)try{if(t=1,i&&(a=2&r[0]?i.return:r[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,r[1])).done)return a;switch(i=0,a&&(r=[2&r[0],a.value]),r[0]){case 0:case 1:a=r;break;case 4:return n.label++,{value:r[1],done:!1};case 5:n.label++,i=r[1],r=[0];continue;case 7:r=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==r[0]&&2!==r[0])){n=0;continue}if(3===r[0]&&(!a||r[1]>a[0]&&r[1]3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"webgl",s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,g=arguments.length>6&&void 0!==arguments[6]?arguments[6]:-1;if(A(this,t),this.printfFlag=window.g_printfFlag,this.printfFlag>=0&&console.log("%c>>>JSPlayerInterface wasmPathV3:%s, wasmPathV1:%s, chromeVersion:%d,renderEngine:%s,webworker:%d,setHasThread:%d","color: red",e,i,_getFExplore(),o,s,g),this.szBasePathV3=e,this.szBasePathV1=i,this.fnCallBack=a,this.nUser=n,this.renderEngine=o,this.hasWebWorker=s,this.setHasThread=g,this.decodeEngine=1,this.streamOpenMode=0,this.canvasID="",this.FECcanvasIDArray=[],this.aTotalBuffer=[],this.iFrameNum=0,this.bWriteData=!0,this.downloadInputDataFlag=!1,this.rtpDataNeedAdd4Size=!1,this.aInputDataBuffer=[],this.iInputMaxBufSize=2097152,this.switchingV3toV1=!1,this.audioDisplayBufSize=0,this.decodeFrameType=0,this.decInterval=-1,this.volume=0,this.displayBuf=0,this.anrParamLevel=0,this.anrParamFlag=0,this.resampleRate=0,this.resampleFlag=0,this.decodeERCLevel=0,this.skipErrorData=0,this.demuxModelType=0,this.demuxModeFlag=0,this.needResetBuffer=0,this.globalBaseTime={},this.globalBaseTime.year=0,this.inputBufSize=0,this.needSetRotateAngle=!1,this.twodRotateAngle=0,this.frameInfoCBFlag=!1,this.waterFontParam=null,this.waterImageParam=null,this.waterCanvas=null,this.waterCanvasCtx=null,this.textCanvas=null,this.needSetFFCB=!1,this.FFCBFlag=0,this.firstFrameCB=null,this.needSetSecretKey=!1,this.keyData=null,this.keyType=1,this.runtimeModule=0,this.runtimeCBFun=null,this.streamInfoType=0,this.streamInfoCBFun=null,this.additionDataType=0,this.additionFlag=0,this.addCBFun=null,this.needSetRunTimeInfoCB=!1,this.needSetstreamInfoCB=!1,this.needPlaySound=!1,this.needSetAdditionDataCB=!1,this.needSetRunTimeInfoCBType=!1,this.PostMpStreamOffsetCBFun=null,this.needPostMpStreamOffsetCB=!1,this.CanvasSubPortMap=new Map,this.SourceTypeFlagMap=new Map,this.SplitterTypeFlagMap=new Map,this.DecodeTypeFlagMap=new Map,this.RenderTypeFlagMap=new Map,this.ManagerTypeFlagMap=new Map,this.oJSPlayerObj=null,this.supportWebCodecs=window._getFSupportWebCodecs(),this.supportSab=!!window.SharedArrayBuffer,this.offscreen=!!window.OffscreenCanvas,this.supportOffscreen=!1,this.offscreen){var l=new OffscreenCanvas(1,1),C=l.getContext("webgl");C&&(this.supportOffscreen=!0,C.getExtension("WEBGL_lose_context").loseContext()),l=null,C=null}var I=this.JSPlayM4_GetSDKVersion(),c=this.JSPlayM4_GetBuildDate();this.printfFlag>=0&&console.log("%c wasmplayer.min.js version:%s,buildDate:%s","color: blue",I,c),this.supportSIMD=!1,this.callBackParameter=me,this.jsplayerVersion=3,this.supportWebCodecs?this.jsplayerVersion=3:this.supportSab&&this.supportOffscreen?this.jsplayerVersion=2:this.jsplayerVersion=1,this.jsplayerVersion<3&&(this.callBackParameter.bSupHardDecAVC=!1,this.callBackParameter.bSupHardDecHEVC=!1,this.callBackParameter.bSupHardOrSoft=!1),null===this.szBasePathV3&&null!=this.szBasePathV1?this.jsplayerVersion=1:null!=this.szBasePathV3&&null===this.szBasePathV1?(this.printfFlag>=0&&console.info("%c>>>> szBasePathV1 is null ","color: red"),this.jsplayerVersion=3):null===this.szBasePathV3&&null===this.szBasePathV1&&(this.printfFlag>=0&&console.info("%c>>>> szBasePathV3 and szBasePathV1 are null ","color: red"),this.fnCallBack(this.callBackParameter)),pe().then(function(A){A?(this.supportSIMD=!0,this.printfFlag>=0&&console.log("%c>>>>your browser protocol is %s, hostname:%s, WebCodecs:%s,Sab:%s,Offscreen:%s,SIMD:%s,jsplayerVersion:%d","color: red",window.location.protocol,location.hostname,this.supportWebCodecs,this.supportSab,this.supportOffscreen,this.supportSIMD,this.jsplayerVersion)):(this.supportSIMD=!1,this.printfFlag>=0&&console.log("%c>>>>your browser protocol is %s, hostname:%s, WebCodecs:%s,Sab:%s,Offscreen:%s,SIMD:%s,jsplayerVersion:%d","color: red",window.location.protocol,location.hostname,this.supportWebCodecs,this.supportSab,this.supportOffscreen,this.supportSIMD,this.jsplayerVersion))}.bind(this)),this.wasmloaded=!1,this.jsplayerVersion>1?this.oJSPlayerObj=new se(this,this.szBasePathV3,(function(A){var e=A.bSupHardOrSoft,t=A.bSupHardDecAVC,i=A.bSupHardDecHEVC,a=A.cmd,n=A.errorCode,o=A.status;e?(r.callBackParameter.bSupHardDecAVC=t,r.callBackParameter.bSupHardDecHEVC=i,r.callBackParameter.bSupHardOrSoft=e,r.callBackParameter.cmd=a,r.callBackParameter.errorCode=n,r.callBackParameter.status=o,r.wasmloaded=!0,r.fnCallBack(r.callBackParameter)):(r.printfFlag>=0&&console.log("%c5>not support V3hard and V3Soft ,switch V3 to V1 ","color: red"),r.jsplayerVersion=1,r.oJSPlayerObj=new ue(r,r.szBasePathV1,(function(A){A.instance;var e=A.cmd,t=A.errorCode,i=A.status;r.callBackParameter.bSupHardDecAVC=!1,r.callBackParameter.bSupHardDecHEVC=!1,r.callBackParameter.bSupHardOrSoft=!1,r.callBackParameter.cmd=e,r.callBackParameter.errorCode=t,r.callBackParameter.status=i,r.wasmloaded=!0,r.fnCallBack(r.callBackParameter)}),0))}),this.nUser,this.renderEngine,this.hasWebWorker,this.setHasThread,this.jsplayerVersion):this.oJSPlayerObj=new ue(this,this.szBasePathV1,(function(A){A.instance;var e=A.cmd,t=A.errorCode,i=A.status;r.callBackParameter.bSupHardDecAVC=!1,r.callBackParameter.bSupHardDecHEVC=!1,r.callBackParameter.bSupHardOrSoft=!1,r.callBackParameter.cmd=e,r.callBackParameter.errorCode=t,r.callBackParameter.status=i,r.wasmloaded=!0,r.fnCallBack(r.callBackParameter)}),0)}return e(t,[{key:"JSPlayM4_SetStreamEnd",value:function(){return 0}},{key:"JSPlayM4_GetPort",value:function(){return this.printfFlag>0&&console.log(">>>>>yff>>> JSPlayM4_GetPort 1"),this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetPort this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1&&this.oJSPlayerObj.JSPlayM4_GetPort(),1)}},{key:"JSPlayM4_SetStreamOpenMode",value:function(A){return this.printfFlag>0&&console.log(">>>>>yff20230817>>>>> JSPlayM4_SetStreamOpenMode 1 mode:"+A),this.streamOpenMode=A,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetStreamOpenMode this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetStreamOpenMode(A):this.oJSPlayerObj.PlayM4_SetStreamOpenMode(A),1)}},{key:"JSPlayM4_OpenStream",value:function(A,e,t){if(this.printfFlag>0&&console.log(">>>>>yff20230817>>>>> JSPlayM4_OpenStream 1 :"+A),40!==e&&console.info("%cJSPlayM4_OpenStream nSize is not 40","color: red"),4===A[8]&&0===A[9]&&(this.rtpDataNeedAdd4Size=!0),this.downloadInputDataFlag){var i=new Uint8Array(A.buffer);this.downloadRTPData(i),console.log("write 40 hik head")}if(this.HIK40Head=A,this.HIKHeadSize=e,this.HIKPoolSize=t,this.switchingV3toV1)return 1;var a=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_OpenStream this.oJSPlayerObj is null"),0):((a=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_OpenStream(A,e,t):this.oJSPlayerObj.PlayM4_OpenStream(A,e,t))===P&&this._switchV3ToV1(this.streamOpenMode,A,e,t,this.needPlay),this.switchingV3toV1?1:a)}},{key:"JSPlayM4_OpenStreamAdvanced",value:function(A,e,t,i,a){if(this.printfFlag>0&&console.log(">>>>>yff20230817>>>>> JSPlayM4_OpenStreamAdvanced 1 :"+i),1!=A||1!=e||t<0||i.length<0||a<1048576)return console.log("%c JSPlayM4_OpenStreamAdvanced input param error nProtocolType:"+A+",nSessionInfoType:"+e+",nSessionInfoLen:"+t+",pSessionInfoData:"+i+",nBufPoolSize:"+a,"color: red"),0;if(this.downloadInputDataFlag){var r=new Uint8Array(i.buffer);this.downloadRTPData(r),console.log("write sdpinfo")}var n=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_OpenStreamAdvanced this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?n=this.oJSPlayerObj.JSPlayM4_OpenStreamAdvanced(A,e,t,i,a):console.log("20240223 V1 not support sdp openstream "),n)}},{key:"_switchV3ToV1",value:function(A,e,t,i,a){var r=this;console.log("%c5>switch V3 to V1","color: red"),this.switchingV3toV1=!0,this.jsplayerVersion=1,this.oJSPlayerObj.JSPlayM4_Stop(),this.oJSPlayerObj.JSPlayM4_CloseStream(),this.oJSPlayerObj.JSPlayM4_FreePort(),this.oJSPlayerObj=null;var n=new ue(this,this.szBasePathV1,(function(o){o.instance;var s=o.cmd,g=o.errorCode,l=o.status;"loaded"===s&&(r.oJSPlayerObj=n,r.switchingV3toV1=!1,r.callBackParameter.cmd=s,r.callBackParameter.errorCode=g,r.callBackParameter.status=l,r.JSPlayM4_SetStreamOpenMode(A),r.JSPlayM4_OpenStream(e,t,i),(a||r.needPlay)&&r.JSPlayM4_Play(r.canvasID),r._switchV3ToV1ResetParam())}),0)}},{key:"_switchV3ToV1ResetParam",value:function(){if(this.needSetSecretKey&&this.JSPlayM4_SetSecretKey(this.keyData,this.keyType),this.needSetFFCB&&this.JSPlayM4_SetFirstFrameCallBack(this.FFCBFlag,this.firstFrameCB),this.needSetRunTimeInfoCB&&this.JSPlayM4_SetRunTimeInfoCallBackEx(this.runtimeModule,this.runtimeCBFun),this.needSetRunTimeInfoCBType){if(this.SourceTypeFlagMap.size>0){var A,e=b(this.SourceTypeFlagMap.keys());try{for(e.s();!(A=e.n()).done;){var t=A.value,i=this.SourceTypeFlagMap.get(t);1==i&&this.JSPlayM4_SetRunTimeInfoCallbackType(0,t,i)}}catch(A){e.e(A)}finally{e.f()}}if(this.SplitterTypeFlagMap.size>0){var a,r=b(this.SplitterTypeFlagMap.keys());try{for(r.s();!(a=r.n()).done;){var n=a.value,o=this.SplitterTypeFlagMap.get(n);1==o&&this.JSPlayM4_SetRunTimeInfoCallbackType(1,n,o)}}catch(A){r.e(A)}finally{r.f()}}if(this.DecodeTypeFlagMap.size>0){var s,g=b(this.DecodeTypeFlagMap.keys());try{for(g.s();!(s=g.n()).done;){var l=s.value,C=this.DecodeTypeFlagMap.get(l);1==C&&this.JSPlayM4_SetRunTimeInfoCallbackType(2,l,C)}}catch(A){g.e(A)}finally{g.f()}}if(this.RenderTypeFlagMap.size>0){var I,c=b(this.RenderTypeFlagMap.keys());try{for(c.s();!(I=c.n()).done;){var h=I.value,B=this.RenderTypeFlagMap.get(h);1==B&&this.JSPlayM4_SetRunTimeInfoCallbackType(3,h,B)}}catch(A){c.e(A)}finally{c.f()}}if(this.ManagerTypeFlagMap.size>0){var E,x=b(this.ManagerTypeFlagMap.keys());try{for(x.s();!(E=x.n()).done;){var d=E.value,Q=this.ManagerTypeFlagMap.get(d);1==Q&&this.JSPlayM4_SetRunTimeInfoCallbackType(4,d,Q)}}catch(A){x.e(A)}finally{x.f()}}}return this.needSetAdditionDataCB&&this.JSPlayM4_SetAdditionDataCallBack(this.additionDataType,this.additionFlag,this.addCBFun),this.needSetstreamInfoCB&&this.JSPlayM4_SetStreamInfoCallBack(this.streamInfoType,this.streamInfoCBFun),this.needPostMpStreamOffsetCB&&this.JSPlayM4_SetPostMpStreamOffsetCallBack(this.PostMpStreamOffsetCBFun),this.needPlaySound&&this.JSPlayM4_PlaySound(),0!=this.skipErrorData&&this.oJSPlayerObj.PlayM4_SkipErrorData(this.skipErrorData),0!=this.demuxModeFlag&&this.oJSPlayerObj.PlayM4_SetDemuxModel(this.demuxModelType,this.demuxModeFlag),0!=this.globalBaseTime.year&&this.oJSPlayerObj.PlayM4_SetGlobalBaseTime(this.globalBaseTime.year,this.globalBaseTime.month,this.globalBaseTime.day,this.globalBaseTime.hour,this.globalBaseTime.min,this.globalBaseTime.sec,this.globalBaseTime.ms),-1!=this.decInterval&&this.oJSPlayerObj.PlayM4_SetIFrameDecInterval(this.decInterval),0!=this.decodeERCLevel&&this.oJSPlayerObj.PlayM4_SetDecodeERC(this.decodeERCLevel),0!=this.volume&&this.JSPlayM4_SetVolume(this.volume),0!=this.anrParamFlag&&this.oJSPlayerObj.PlayM4_SetANRParam(this.anrParamFlag,this.anrParamLevel),0!=this.resampleFlag&&this.oJSPlayerObj.PlayM4_SetResampleValue(this.resampleFlag,this.resampleRate),0!=this.displayBuf&&this.oJSPlayerObj.PlayM4_SetDisplayBuf(this.displayBuf),null!=this.waterFontParam&&this.oJSPlayerObj.PlayM4_SetWaterMarkFont(this.waterFontParam),null!=this.waterImageParam&&this.oJSPlayerObj.PlayM4_SetWaterMarkImage(this.waterImageParam),this.needSetRotateAngle&&oJSPlayerWasm._JSPlayM4_SetRotateAngle(this.port,this.twodRotateAngle),0!=this.audioDisplayBufSize&&this.oJSPlayerObj.PlayM4_SetAudioDisplayBuf(this.audioDisplayBufSize),0!=this.decodeFrameType&&this.JSPlayM4_SetDecodeFrameType(this.decodeFrameType),0!=this.needResetBuffer&&this.oJSPlayerObj.PlayM4_ReleaseInputBuffer(),0!=this.inputBufSize&&this.oJSPlayerObj.PlayM4_SetInputBufSize(this.inputBufSize),this.oJSPlayerObj.PlayM4_SetFrameInfoCallBack(this.frameInfoCBFlag),1}},{key:"JSPlayM4_SetDecodeEngine",value:function(A){if(this.printfFlag>0&&console.log(">>>>>yff20230817>>>>> JSPlayM4_SetDecodeEngine 1:"+A),0!=A&&1!=A)return console.log("0 is V3softDecode, 1 is V3hardDecoder,decodeEngine:"+A),0;this.decodeEngine=A;var e=1;if(this.jsplayerVersion>1){if(!this.supportSab&&0==A)return console.info("%c3>JSPlayM4_SetDecodeEngine(0 is soft,1 is hard):%d,SharedArrayBuffer Error , does not support Soft Decdoe!!!!!","color: red",A),0;e=this.oJSPlayerObj.JSPlayM4_SetDecodeEngine(this.decodeEngine)}return this.switchingV3toV1?1:e}},{key:"JSPlayM4_DownloadData",value:function(){return this.downloadInputDataFlag=!0,1}},{key:"JSPlayM4_SetAudioDisplayBuf",value:function(A){return this.audioDisplayBufSize=A,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetAudioDisplayBuf this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetAudioDisplayBuf(A):this.oJSPlayerObj.PlayM4_SetAudioDisplayBuf(A)}},{key:"JSPlayM4_Play",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.canvasID=A;var e=1;return this.printfFlag>0&&console.log(">>>>>yff20230817>>>>> JSPlayM4_Play 1 this.supportSab:"+this.supportSab),this.needPlay=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_Play this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?(e=this.oJSPlayerObj.JSPlayM4_Play(A),0!=this.aInputDataBuffer.length&&(this.oJSPlayerObj.JSPlayM4_InputData(new Uint8Array(this.aInputDataBuffer),this.aInputDataBuffer.length),this.aInputDataBuffer.splice(0,this.aInputDataBuffer.length))):(e=this.oJSPlayerObj.PlayM4_Play(A),0!=this.aInputDataBuffer.length&&(this.oJSPlayerObj.PlayM4_InputData(new Uint8Array(this.aInputDataBuffer),this.aInputDataBuffer.length),this.aInputDataBuffer.splice(0,this.aInputDataBuffer.length))),this.switchingV3toV1?1:e)}},{key:"JSPlayM4_InputData",value:function(A,e){var t;if(null===this.oJSPlayerObj||!this.wasmloaded||1==this.jsplayerVersion&&null==this.oJSPlayerObj.streamOpenMode){var i=this.aInputDataBuffer.length;if(i+e>this.iInputMaxBufSize)return console.log("WasmPlayer input over"),0;for(var a=0;a1?this.oJSPlayerObj.JSPlayM4_InputData(A,e):this.oJSPlayerObj.PlayM4_InputData(A,e),this.downloadInputDataFlag&&e>0)if(this.rtpDataNeedAdd4Size){var r=null,n=e+4,o=new Uint32Array([e]),s=new Uint8Array(o.buffer);(r=new Uint8Array(n)).set(s,0),r.set(A,4),this.downloadRTPData(r),o=null,s=null,r=null}else this.downloadRTPData(A);return t}},{key:"JSPlayM4_Stop",value:function(){var A=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(null===this.oJSPlayerObj)return console.log(">>>>>yff>>> JSPlayM4_Stop this.oJSPlayerObj is null"),0;if(this.bWriteData&&this.iFrameNum>0){console.log("download"+this.iFrameNum+"Psdata");var e=new Uint8Array(this.aTotalBuffer);this._downloadFile(e,"RTPRaw.data"),this.aTotalBuffer.splice(0,this.aTotalBuffer.length),this.bWriteData=!1,this.iFrameNum=0,e=null}return this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_Stop(A):this.oJSPlayerObj.PlayM4_Stop(A)}},{key:"JSPlayM4_CloseStream",value:function(){var A=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_CloseStream this.oJSPlayerObj is null"),0):(A=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_CloseStream():this.oJSPlayerObj.PlayM4_CloseStream(),null!=this.waterCanvas&&(this.waterCanvas.remove(),this.waterCanvas=null),this.waterCanvasCtx=null,this.SourceTypeFlagMap.clear(),this.SplitterTypeFlagMap.clear(),this.DecodeTypeFlagMap.clear(),this.RenderTypeFlagMap.clear(),this.ManagerTypeFlagMap.clear(),A)}},{key:"JSPlayM4_FreePort",value:function(){var A=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FreePort this.oJSPlayerObj is null"),0):(A=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FreePort():this.oJSPlayerObj.PlayM4_FreePort(),this.oJSPlayerObj=null,A)}},{key:"JSPlayM4_SetDecodeFrameType",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetDecodeFrameType this.oJSPlayerObj is null"),0):(this.decodeFrameType=A,this.switchingV3toV1?1:(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_SetDecodeFrameType(A):7==A?e=this.oJSPlayerObj.PlayM4_SetLostFrameMode(1):(e=this.oJSPlayerObj.PlayM4_SetLostFrameMode(0),e=this.oJSPlayerObj.PlayM4_SetDecodeFrameType(A)),e))}},{key:"JSPlayM4_PlaySound",value:function(){var A=1;return this.needPlaySound=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_PlaySound this.oJSPlayerObj is null"),0):(this.SetDefaultSampleRate(),1!=(A=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_PlaySound():this.oJSPlayerObj.PlayM4_PlaySound(0))&&(A=0),A)}},{key:"JSPlayM4_PlaySoundShare",value:function(){var A=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_PlaySoundShare this.oJSPlayerObj is null"),0):(this.SetDefaultSampleRate(),1!=(A=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_PlaySoundShare():this.oJSPlayerObj.PlayM4_PlaySound(0))&&(A=0),A)}},{key:"SetDefaultSampleRate",value:function(){var A=1,e=new(window.AudioContext||window.webkitAudioContext),t=e.sampleRate;return e.close(),48e3!=t&&(console.log("浏览器默认采样率:",t+"Hz"),A=this.JSPlayM4_SetResampleValue(!0,t),console.log("JSPlayM4_SetResampleValue resSDSR:"+A)),A}},{key:"JSPlayM4_StopSoundShare",value:function(){var A=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_StopSoundShare this.oJSPlayerObj is null"),0):(1!=(A=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_StopSoundShare():this.oJSPlayerObj.PlayM4_StopSound())&&(A=0),A)}},{key:"JSPlayM4_GetJPEG",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetJPEG this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetJPEG(A,e):this.oJSPlayerObj.PlayM4_GetJPEG(A,e)}},{key:"JSPlayM4_GetBMP",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetBMP this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetBMP(A,e):this.oJSPlayerObj.PlayM4_GetBMP(A,e)}},{key:"JSPlayM4_GetCropJPEG",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetCropJPEG this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?t=this.oJSPlayerObj.JSPlayM4_GetCropJPEG(A,e):console.log("%c1>JSPlayerV1.X does not support GetCropJPEG","color: red"),t)}},{key:"JSPlayM4_GetCropBMP",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetCropBMP this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?t=this.oJSPlayerObj.JSPlayM4_GetCropBMP(A,e):console.log("%c1>JSPlayerV1.X does not support GetCropBMP","color: red"),t)}},{key:"JSPlayM4_GetCanvasCapture",value:function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetCanvasCapture this.oJSPlayerObj is null"),0):e<0||t<0?0:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetCanvasCapture(A,e,t):this.oJSPlayerObj.PlayM4_GetCanvasCapture(A,e,t)}},{key:"JSPlayM4_StopSound",value:function(){var A=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_StopSound this.oJSPlayerObj is null"),0):(1!=(A=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_StopSound():this.oJSPlayerObj.PlayM4_StopSound())&&(A=0),A)}},{key:"JSPlayM4_GetSDKVersion",value:function(){return"0801000B"}},{key:"JSPlayM4_GetBuildDate",value:function(){return"20251111-cropbottom"}},{key:"JSPlayM4_GetLastError",value:function(){return null===this.oJSPlayerObj?0:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetLastError():this.oJSPlayerObj.PlayM4_GetLastError()}},{key:"JSPlayM4_Fast",value:function(){var A=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_Fast this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1&&(A=this.oJSPlayerObj.JSPlayM4_Fast()),A)}},{key:"JSPlayM4_Slow",value:function(){var A=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_Slow this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1&&(A=this.oJSPlayerObj.JSPlayM4_Slow()),A)}},{key:"JSPlayM4_SetIFrameDecInterval",value:function(A){return this.decInterval=A,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetIFrameDecInterval this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetIFrameDecInterval(A):this.oJSPlayerObj.PlayM4_SetIFrameDecInterval(A)}},{key:"JSPlayM4_Pause",value:function(A){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_Pause this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_Pause(A):this.oJSPlayerObj.PlayM4_Pause(A)}},{key:"JSPlayM4_OneByOne",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_OneByOne this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_OneByOne():this.oJSPlayerObj.PlayM4_OneByOne(A)}},{key:"JSPlayM4_OneByOneResume",value:function(){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_OneByOneResume this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_OneByOneResume():this.oJSPlayerObj.PlayM4_Pause(!1)}},{key:"JSPlayM4_SetVolume",value:function(A){var e=1;if(this.volume=A,this.switchingV3toV1)return 1;if(null===this.oJSPlayerObj)return console.log(">>>>>yff>>> JSPlayM4_SetVolume this.oJSPlayerObj is null"),0;if(this.jsplayerVersion>1)e=this.oJSPlayerObj.JSPlayM4_SetVolume(A);else{var t=A/65535*100;e=this.oJSPlayerObj.PlayM4_SetVolume(t)}return e}},{key:"JSPlayM4_GetVolume",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetVolume this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?(e=this.oJSPlayerObj.JSPlayM4_GetVolume(),null!=A&&A(e)):e=this.oJSPlayerObj.PlayM4_GetVolume((function(e){null!=A&&A(e/100*65535)})),e)}},{key:"JSPlayM4_SetDisplayRegion",value:function(A,e,t,i,a){var r=arguments.length>5&&void 0!==arguments[5]&&arguments[5],n=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],o=1;if(null===this.oJSPlayerObj)return console.log(">>>>>yff>>> JSPlayM4_SetDisplayRegion this.oJSPlayerObj is null"),0;if("number"!=typeof e||"number"!=typeof i||"number"!=typeof t||"number"!=typeof a)return console.log("param is not number"),0;if(0!=r&&1!=r&&0!=r&&1!=r)return 0;if(0!=n&&1!=n&&0!=n&&1!=n)return 0;if(!r){var s=document.getElementById(this.canvasID).width,g=document.getElementById(this.canvasID).height;if(e<0||t<0||i<0||a<0||e>s||t>s||i>g||a>g)return 0;if(t-e<16||a-i<16||t-e>s||a-i>g)return console.log(">>>JS left:"+e+",right:"+t+",top:"+i+",bottom:"+a+",bClose:"+r+",bZoomEnable:"+n+",canvasWidth:"+s+",canvasHeight:"+g),0}if(this.jsplayerVersion>1)o=this.oJSPlayerObj.JSPlayM4_SetDisplayRegion(A,e,t,i,a,r,n);else{var l={};l.left=e,l.right=t,l.top=i,l.bottom=a,o=this.oJSPlayerObj.PlayM4_SetDisplayRegion(l,!r,n)}return o}},{key:"JSPlayM4_SetPrintLogFlag",value:function(A){return this.printfFlag=A,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetPrintLogFlag this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetPrintLogFlag(A):this.oJSPlayerObj.PlayM4_OpenPlayerSDKPrintLog(A)}},{key:"JSPlayM4_RenderPrivateData",value:function(A,e){var t=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateData this.oJSPlayerObj is null"),0):1!=A&&2!=A&&4!=A&&8!=A&&16!=A&&32!=A&&64!=A&&128!=A?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateDataEx intelType value error"),0):1!=e&&0!=e&&1!=e&&0!=e?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateDataEx bTrue value error"),0):(this.jsplayerVersion>1?t=this.oJSPlayerObj.JSPlayM4_RenderPrivateData(A,e):console.log("%c1>JSPlayerV1.X does not support RenderPrivateData","color: red"),t)}},{key:"JSPlayM4_RenderPrivateDataEx",value:function(A,e,t){var i=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateDataEx this.oJSPlayerObj is null"),0):1!=A&&2!=A&&4!=A&&8!=A&&16!=A&&32!=A&&64!=A&&128!=A?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateDataEx intelType value error"),0):16==A&&(e<1||e>15)||32==A&&(e<1||e>7)||64==A&&(e<1||e>3)||128==A&&(e<1||e>7)?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateDataEx subType value error"),0):1!=t&&0!=t&&1!=t&&0!=t?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateDataEx bTrue value error"),0):(this.jsplayerVersion>1?i=this.oJSPlayerObj.JSPlayM4_RenderPrivateDataEx(A,e,t):console.log("%c1>JSPlayerV1.X does not support RenderPrivateDataEx","color: red"),i)}},{key:"JSPlayM4_SetCanvasSize",value:function(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetCanvasSize this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetCanvasSize(A,e,t):this.oJSPlayerObj.PlayM4_SetCanvasSize(A,e)}},{key:"JSPlayM4_SetDisplayBuf",value:function(A){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetDisplayBuf this.oJSPlayerObj is null"),0):(this.displayBuf=A,this.switchingV3toV1?1:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetDisplayBuf(A):this.oJSPlayerObj.PlayM4_SetDisplayBuf(A))}},{key:"JSPlayM4_GetSourceBufferRemain",value:function(){return null===this.oJSPlayerObj?0:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetSourceBufferRemain():this.oJSPlayerObj.PlayM4_GetInputBufSize()}},{key:"JSPlayM4_GetBufferValue",value:function(A){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetBufferValue this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetBufferValue(A):this.oJSPlayerObj.PlayM4_GetBufferValue(A)}},{key:"JSPlayM4_ReversePlay",value:function(){var A=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_ReversePlay this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?A=this.oJSPlayerObj.JSPlayM4_ReversePlay():console.log("%c1>JSPlayerV1.X does not support ReversePlay","color: red"),A)}},{key:"JSPlayM4_SetDecodeThreadNum",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetDecodeThreadNum this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_SetDecodeThreadNum(A):console.log("%c1>JSPlayerV1.X does not support SetDecodeThreadNum, V1.X decocde only 1 thread","color: red"),e)}},{key:"JSPlayM4_GetCanvasSize",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetCanvasSize this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetCanvasSize(A):this.oJSPlayerObj.PlayM4_GetCanvasSize()}},{key:"JSPlayM4_DisplayLostFrames",value:function(A,e,t){var i=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_DisplayLostFrames this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?i=this.oJSPlayerObj.JSPlayM4_DisplayLostFrames(A,e,t):console.log("%c1>JSPlayerV1.X does not support DisplayLostFrames","color: red"),i)}},{key:"JSPlayM4_SetIVSContraBandDrawMode",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_DisplayLostFrames this.oJSPlayerObj is null"),0):0!=A&&1!=A?0:(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_SetIVSContraBandDrawMode(A):console.log("%c1>JSPlayerV1.X does not support SetIVSContraBandDrawMode","color: red"),e)}},{key:"JSPlayM4_SetANRParam",value:function(A,e){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetANRParam this.oJSPlayerObj is null"),0):(this.anrParamLevel=e,this.anrParamFlag=A,this.switchingV3toV1?1:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetANRParam(A,e):this.oJSPlayerObj.PlayM4_SetANRParam(A,e))}},{key:"JSPlayM4_SetResampleValue",value:function(A,e){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetResampleValue this.oJSPlayerObj is null"),0):(this.resampleRate=e,this.resampleFlag=A,this.switchingV3toV1?1:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetResampleValue(A,e):this.oJSPlayerObj.PlayM4_SetResampleValue(A,e))}},{key:"JSPlayM4_SetAntialias",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetAntialias this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?(e=this.oJSPlayerObj.JSPlayM4_SetAntialias(A),console.log("V3 JSPlayM4_SetAntialias resSA: ".concat(e))):(e=this.oJSPlayerObj.PlayM4_SetAntialias(A),console.log("V1 JSPlayM4_SetAntialias resSA: ".concat(e))),e)}},{key:"JSPlayM4_SyncToAudio",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SyncToAudio this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_SyncToAudio(A):console.log("%c1>JSPlayerV1.X does not support SyncToAudio","color: red"),e)}},{key:"JSPlayM4_SetAudioThreadModel",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetAudioThreadModel this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_SetAudioThreadModel(A):console.log("%c1>JSPlayerV1.X does not support SetAudioThreadModel","color: red"),e)}},{key:"JSPlayM4_SetDecodeERC",value:function(A){return this.decodeERCLevel=A,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetDecodeERC this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetDecodeERC(A):this.oJSPlayerObj.PlayM4_SetDecodeERC(A)}},{key:"JSPlayM4_SkipErrorData",value:function(A){return this.skipErrorData=A,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SkipErrorData this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SkipErrorData(A):this.oJSPlayerObj.PlayM4_SkipErrorData(A)}},{key:"JSPlayM4_SetDemuxModel",value:function(A,e){return this.demuxModelType=A,this.demuxModeFlag=e,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetDemuxModel this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetDemuxModel(A,e):this.oJSPlayerObj.PlayM4_SetDemuxModel(A,e)}},{key:"JSPlayM4_SetD3DPostProcess",value:function(A,e){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetD3DPostProcess this.oJSPlayerObj is null"),0):"number"!=typeof A||"number"!=typeof e?(console.log(">>>>>yff>>> JSPlayM4_SetD3DPostProcess nPostType or fValue is not number"),0):1!==A&&2!==A&&3!==A&&4!==A&&5!==A?(console.log(">>>>>yff>>> JSPlayM4_SetD3DPostProcess nPostType is 1~5"),0):1===A&&(e<-1||e>1)||2===A&&(e<0||e>1)||3===A&&(e<-1||e>1)||4===A&&(e<-1||e>1)||5===A&&(e<0||e>1)?(console.log(">>>>>yff>>> JSPlayM4_SetD3DPostProcess pFontParam f* is 0~1 or -1~1"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetD3DPostProcess(A,e):this.oJSPlayerObj.PlayM4_SetD3DPostProcess(A,e)}},{key:"JSPlayM4_SetFirstFrameCallBack",value:function(A,e){return this.needSetFFCB=!0,this.FFCBFlag=A,this.firstFrameCB=e,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetFirstFrameCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetFirstFrameCallBack(A,e):this.oJSPlayerObj.PlayM4_SetFirstFrameCallBack(A,e)}},{key:"JSPlayM4_SetDecCallBack",value:function(A,e){return null===this.oJSPlayerObj||"function"!=typeof e?(console.log(">>>>>yff>>> JSPlayM4_SetDecCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetDecCallBack(A,e):this.oJSPlayerObj.PlayM4_SetDecCallBack(A,e)}},{key:"JSPlayM4_SetHardDecToJepgCallBack",value:function(A,e){return null==A||null==A.nHardToJpegQuality||null==A.nHardToJpegInterval||null==A.nHardToJpegZoomWidth||null==A.nHardToJpegZoomHeight||null==A.nZoomResolutionFlag||A.nHardToJpegQuality<=0||A.nHardToJpegQuality>1||A.nHardToJpegInterval<1||A.nHardToJpegZoomWidth<1||A.nHardToJpegZoomHeight<1||0!=A.nZoomResolutionFlag&&1!=A.nZoomResolutionFlag?0:null===this.oJSPlayerObj||"function"!=typeof e?(console.log(">>>>>yff>>> JSPlayM4_SetHardDecToJepgCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetHardDecToJepgCallBack(A,e):(console.log("%c1>JSPlayerV1.X does not support SetHardDecToJepgCallBack","color: red"),0)}},{key:"JSPlayM4_SetDisplayCallBack",value:function(A,e){return null===this.oJSPlayerObj||"function"!=typeof e?(console.log(">>>>>yff>>> JSPlayM4_SetDisplayCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetDisplayCallBack(A,e):this.oJSPlayerObj.PlayM4_SetDisplayCallBack(e)}},{key:"JSPlayM4_SetFrameInfoCallBack",value:function(A){return this.frameInfoCBFlag=A,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetFrameInfoCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetFrameInfoCallBack(A):this.oJSPlayerObj.PlayM4_SetFrameInfoCallBack(A)}},{key:"JSPlayM4_SetDecCBStream",value:function(A){return null===this.oJSPlayerObj||A<1||A>3?(console.log(">>>>>yff>>> JSPlayM4_SetDecCBStream this.oJSPlayerObj is null stream:"+A),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetDecCBStream(A):this.oJSPlayerObj.PlayM4_SetDecCBStream(A)}},{key:"JSPlayM4_GetFrameInfo",value:function(){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetFrameInfo this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetFrameInfo():this.oJSPlayerObj.PlayM4_GetFrameInfo()}},{key:"JSPlayM4_GetAdditionData",value:function(){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetAdditionData this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetAdditionData():(console.log("%c1>JSPlayerV1.X does not support GetAdditionData","color: red"),0)}},{key:"JSPlayM4_SetAdditionDataCallBack",value:function(A,e,t){return this.additionDataType=A,this.additionFlag=e,this.addCBFun=t,this.needSetAdditionDataCB=!0,null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetAdditionDataCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetAdditionDataCallBack(A,e,t):this.oJSPlayerObj.PlayM4_SetAdditionDataCallBack(A,e,t)}},{key:"JSPlayM4_GetPlayedTimeEx",value:function(A){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetPlayedTimeEx this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetPlayedTimeEx(A):this.oJSPlayerObj.PlayM4_GetPlayedTimeEx(A)}},{key:"JSPlayM4_GetFileTime",value:function(A){var e=0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetFileTime this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?(e=this.oJSPlayerObj.JSPlayM4_GetFileTime(),null!=A&&A(e)):e=this.oJSPlayerObj.PlayM4_GetFileTime(A),1e3*e)}},{key:"JSPlayM4_GetMpOffset",value:function(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,r=-1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetMpOffset this.oJSPlayerObj is null"),-1):(this.jsplayerVersion>1?(r=this.oJSPlayerObj.JSPlayM4_GetMpOffset(e,t,i,a),null!=A&&A(r)):r=this.oJSPlayerObj.PlayM4_GetMpOffset(A,e),r)}},{key:"JSPlayM4_ResetBuffer",value:function(A){var e=1;return this.needResetBuffer=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_ResetBuffer this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_ResetBuffer(A):(e=this.oJSPlayerObj.PlayM4_ReleaseInputBuffer(),e=this.oJSPlayerObj.PlayM4_ResetBuffer(A)),e)}},{key:"JSPlayM4_SetGlobalBaseTime",value:function(A,e,t,i,a,r,n){return A<0||e<0||e>12||t<0||t>31||i<0||i>=24||a<0||a>=60||r<0||r>=60||n<0||n>=1e3?0:(this.globalBaseTime={year:A,month:e,day:t,hour:i,min:a,sec:r,ms:n},this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetGlobalBaseTime this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetGlobalBaseTime(A,e,t,i,a,r,n):this.oJSPlayerObj.PlayM4_SetGlobalBaseTime(A,e,t,i,a,r,n))}},{key:"JSPlayM4_SetSecretKey",value:function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(this.needSetSecretKey=!0,this.keyData=A,this.keyType=e,this.switchingV3toV1)return 1;if(null===this.oJSPlayerObj)return console.log(">>>>>yff>>> JSPlayM4_SetSecretKey this.oJSPlayerObj is null"),0;if(1!=e&&2!=e)return 0;var t=0;return 1==e?t=128:2==e&&(t=256),this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetSecretKey(e,A,t):this.oJSPlayerObj.PlayM4_SetSecretKey(e,A,t)}},{key:"JSPlayM4_SetRunTimeInfoCallBackEx",value:function(A,e){return this.runtimeModule=A,this.runtimeCBFun=e,this.needSetRunTimeInfoCB=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetRunTimeInfoCallBackEx this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetRunTimeInfoCallBackEx(A,e):this.oJSPlayerObj.PlayM4_SetRunTimeInfoCallBackEx(A,e)}},{key:"JSPlayM4_SetRunTimeInfoCallbackType",value:function(A,e,t){switch((A>4||A<0||e<0||0!=t&&1!=t)&&console.log(">>>>>yff>>> JSPlayM4_SetRunTimeInfoCallbackType param error nModule:"+A+",nType:"+e+",nFlag:"+t),A){case 0:t?this.SourceTypeFlagMap.set(e,1):this.SourceTypeFlagMap.delete(e);break;case 1:t?this.SplitterTypeFlagMap.set(e,1):this.SplitterTypeFlagMap.delete(e);break;case 2:t?this.DecodeTypeFlagMap.set(e,1):this.DecodeTypeFlagMap.delete(e);break;case 3:t?this.RenderTypeFlagMap.set(e,1):this.RenderTypeFlagMap.delete(e);break;case 4:t?this.ManagerTypeFlagMap.set(e,1):this.ManagerTypeFlagMap.delete(e);break;default:return 0}return this.needSetRunTimeInfoCBType=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetRunTimeInfoCallbackType this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetRunTimeInfoCallbackType(A,e,t):this.oJSPlayerObj.PlayM4_SetRunTimeInfoCallbackType(A,e,t)}},{key:"JSPlayM4_SetStreamInfoCallBack",value:function(A,e){return this.streamInfoCBFun=e,this.streamInfoType=A,this.needSetstreamInfoCB=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetStreamInfoCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetStreamInfoCallBack(A,e):this.oJSPlayerObj.PlayM4_SetStreamInfoCallBack(A,e)}},{key:"JSPlayM4_SetPostMpStreamOffsetCallBack",value:function(A){return A&&"function"==typeof A||null===A?(this.PostMpStreamOffsetCBFun=A,this.needPostMpStreamOffsetCB=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetPostMpStreamOffsetCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetPostMpStreamOffsetCallBack(A):this.oJSPlayerObj.PlayM4_SetPostMpStreamOffsetCallBack(A)):0}},{key:"JSPlayM4_SetPlayOrBackSwitchMode",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetPlayOrBackSwitchMode this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_SetPlayOrBackSwitchMode(A):console.log("%c1>JSPlayerV1.X does not support SetPlayOrBackSwitchMode","color: red"),e)}},{key:"JSPlayM4_SetStretchPlay",value:function(A,e){var t=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetStretchPlay this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?t=this.oJSPlayerObj.JSPlayM4_SetStretchPlay(A,e):console.log("%c1>JSPlayerV1.X does not support SetStretchPlay","color: red"),t)}},{key:"JSPlayM4_SetAutoSmoothPlay",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetAutoSmoothPlay this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_SetAutoSmoothPlay(A):console.log("%c1>JSPlayerV1.X does not support SetAutoSmoothPlay","color: red"),e)}},{key:"JSPlayM4_KeepPlaySpeed",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_KeepPlaySpeed this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_KeepPlaySpeed(A):console.log("%c1>JSPlayerV1.X does not support KeepPlaySpeed","color: red"),e)}},{key:"JSPlayM4_IgnoreHeaderAudioDefine",value:function(A){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_IgnoreHeaderAudioDefine this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_IgnoreHeaderAudioDefine(A):this.oJSPlayerObj.PlayM4_IgnoreHeaderAudioDefine(A)}},{key:"JSPlayM4_SetSycGroup",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetSycGroup this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_SetSycGroup(A):console.log("%c1>JSPlayerV1.X does not support SetSycGroup","color: red"),e)}},{key:"JSPlayM4_SetRotateAngle",value:function(A){return"number"!=typeof A?(console.log(">>>>>yff>>> JSPlayM4_SetRotateAngle nValue is not number"),0):0!=A&&90!=A&&180!=A&&270!=A?(console.log(">>>>>yff>>> JSPlayM4_SetRotateAngle only support 0/90/180/270"),0):(this.needSetRotateAngle=!0,this.twodRotateAngle=A,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetRotateAngle this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetRotateAngle(A):this.oJSPlayerObj.PlayM4_SetRotateAngle(A))}},{key:"JSPlayM4_SetPanoramaDisplayEffect",value:function(A){return"number"!=typeof A?(console.log(">>>>>yff>>> JSPlayM4_SetPanoramaDisplayEffect eDisplayEffect is not number"),0):0!=A&&1!=A&&2!=A&&3!=A?(console.log(">>>>>yff>>> JSPlayM4_SetPanoramaDisplayEffect only support 0/1/2/3"),0):this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetPanoramaDisplayEffect this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetPanoramaDisplayEffect(A):(console.log("%c1>JSPlayerV1.X does not support SetPanoramaDisplayEffect 20250910","color: red"),0)}},{key:"JSPlayM4_SetPanoramaSphereViewParam",value:function(A,e){var t=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetPanoramaSphereViewParam this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?t=this.oJSPlayerObj.JSPlayM4_SetPanoramaSphereViewParam(A,e):console.log("%c1>JSPlayerV1.X does not support JSPlayM4_SetPanoramaSphereViewParam 20250910","color: red"),t)}},{key:"JSPlayM4_GetPanoramaSphereViewParam",value:function(A,e){var t=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetPanoramaSphereViewParam this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?t=this.oJSPlayerObj.JSPlayM4_GetPanoramaSphereViewParam(A,e):console.log("%c1>JSPlayerV1.X does not support JSPlayM4_GetPanoramaSphereViewParam 20250910","color: red"),t)}},{key:"JSPlayM4_FEC_SetCanvasID",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=1;return this.FECcanvasIDArray=A.split(","),null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetCanvasID this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_FEC_SetCanvasID(A):console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red"),e)}},{key:"JSPlayM4_FEC_ResetCorrectType",value:function(A,e,t){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_ResetCorrectType this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_ResetCorrectType(A,e,t):this.oJSPlayerObj.PlayM4_FEC_ResetCorrectType(A,e,t)}},{key:"JSPlayM4_FEC_GetPort",value:function(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_GetPort this.oJSPlayerObj is null"),-1):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_GetPort(A,e,t):this.oJSPlayerObj.PlayM4_FEC_GetPort(A,e,t)}},{key:"JSPlayM4_FEC_Enable",value:function(A){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_Enable this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_Enable(A):this.oJSPlayerObj.PlayM4_FEC_Enable(A)}},{key:"JSPlayM4_FEC_SetParam",value:function(A,e){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetParam this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_SetParam(A,e):this.oJSPlayerObj.PlayM4_FEC_SetParam(A,e)}},{key:"JSPlayM4_FEC_GetParam",value:function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_GetParam this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_GetParam(A,e):(console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red"),1)}},{key:"JSPlayM4_FEC_SetViewParam",value:function(A,e,t){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetViewParam this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_SetViewParam(A,e,t):this.oJSPlayerObj.PlayM4_FEC_SetViewParam(A,e,t)}},{key:"JSPlayM4_FEC_GetViewParam",value:function(A,e,t){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_GetViewParam this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_GetViewParam(A,e,t):this.oJSPlayerObj.PlayM4_FEC_GetViewParam(A,e,t)}},{key:"JSPlayM4_FEC_SetWnd",value:function(A,e){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetWnd this.oJSPlayerObj is null"),0):(this.CanvasSubPortMap.set(A,e),this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_SetWnd(A,e):this.oJSPlayerObj.PlayM4_FEC_SetWnd(A,e))}},{key:"JSPlayM4_FEC_Disable",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_Disable this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?i=this.oJSPlayerObj.JSPlayM4_FEC_Disable(A,e,t):console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red"),i)}},{key:"JSPlayM4_FEC_DelPort",value:function(A){var e=1;if(null===this.oJSPlayerObj)return console.log(">>>>>yff>>> JSPlayM4_FEC_DelPort this.oJSPlayerObj is null"),0;var t=this.CanvasSubPortMap.get(A);this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_FEC_DelPort(A):console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red");var i=document.getElementById(t);if(i){var a=i.cloneNode(!0);i.parentNode.replaceChild(a,i)}return this.CanvasSubPortMap.delete(A),e}},{key:"JSPlayM4_FEC_SetDisplayRegion",value:function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,r=arguments.length>5?arguments[5]:void 0,n=arguments.length>6?arguments[6]:void 0,o=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetDisplayRegion this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?o=this.oJSPlayerObj.JSPlayM4_FEC_SetDisplayRegion(A,e,t,i,a,r,n):console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red"),o)}},{key:"JSPlayM4_FEC_SetBackCilling",value:function(A,e){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetBackCilling this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_SetBackCilling(A,e):this.oJSPlayerObj.PlayM4_FEC_SetBackCilling(A,e)}},{key:"JSPlayM4_FEC_GetPTZPort",value:function(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=-1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_GetPTZPort this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?a=this.oJSPlayerObj.JSPlayM4_FEC_GetPTZPort(A,e,t,i):console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red"),a)}},{key:"JSPlayM4_FEC_SetPTZDisplayMode",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetPTZDisplayMode this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_FEC_SetPTZDisplayMode(A):console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red"),e)}},{key:"JSPlayM4_FEC_Capture",value:function(A,e){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_Capture this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_Capture(A,e):this.oJSPlayerObj.PlayM4_FEC_Capture(A,e)}},{key:"JSPlayM4_SetVideoCropInfo",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetVideoCropInfo this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?console.log("%c1>JSPlayerV3.X does not support SetVideoCropInfo,","color: red"):e=this.oJSPlayerObj.PlayM4_SetVideoCropInfo(A),e)}},{key:"JSPlayM4_IsVisible",value:function(A){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_IsVisible this.oJSPlayerObj is null"),0):1!=A&&0!=A?0:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_IsVisible(A):this.oJSPlayerObj.PlayM4_IsVisible(A)}},{key:"JSPlayM4_SetInputBufSize",value:function(A){var e=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetInputBufSize this.oJSPlayerObj is null"),0):(this.inputBufSize=A,this.jsplayerVersion>1?console.log("%c1>JSPlayerV3.X does not support SetInputBufSize,","color: red"):e=this.oJSPlayerObj.PlayM4_SetInputBufSize(A),e)}},{key:"JSPlayM4_GetYUVBufSize",value:function(){var A=0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetYUVBufSize this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?console.log("%c1>JSPlayerV3.X does not support GetYUVBufSize,","color: red"):A=this.oJSPlayerObj.PlayM4_GetYUVBufSize(),A)}},{key:"JSPlayM4_ClearCanvas",value:function(){var A=0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_ClearCanvas this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?console.log("%c1>JSPlayerV3.X does not support ClearCanvas,","color: red"):A=this.oJSPlayerObj.PlayM4_ClearCanvas(),A)}},{key:"JSPlayM4_ReleaseInputBuffer",value:function(){var A=0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_ReleaseInputBuffer this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?console.log("%c1>JSPlayerV3.X does not support ReleaseInputBuffer,","color: red"):A=this.oJSPlayerObj.PlayM4_ReleaseInputBuffer(),A)}},{key:"JSPlayM4_GetDecodeFrameType",value:function(){var A=0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetDecodeFrameType this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?console.log("%c1>JSPlayerV3.X does not support GetDecodeFrameType,","color: red"):A=this.oJSPlayerObj.PlayM4_GetDecodeFrameType(),A)}},{key:"JSPlayM4_SetMosaicType",value:function(A){var e=0;return null==A||null==A||null==A.pstMosaicColor||null==A.pstMosaicColor.fMosaicColorR||null==A.pstMosaicColor.fMosaicColorG||null==A.pstMosaicColor.fMosaicColorB||null==A.pstMosaicColor.fMosaicColorA||null==A.nMosaicSize||null==A.nMosaicType||A.pstMosaicColor.fMosaicColorR<0||A.pstMosaicColor.fMosaicColorR>255||A.pstMosaicColor.fMosaicColorG<0||A.pstMosaicColor.fMosaicColorG>255||A.pstMosaicColor.fMosaicColorB<0||A.pstMosaicColor.fMosaicColorB>255||A.pstMosaicColor.fMosaicColorA<0||A.pstMosaicColor.fMosaicColorA>100||A.nMosaicSize<1||A.nMosaicSize>100||1!=A.nMosaicType&&3!=A.nMosaicType&&5!=A.nMosaicType?0:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetMosaicType this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_SetMosaicType(A):console.log("%c1>JSPlayerV1.X does not support SetMosaicType,","color: red"),e)}},{key:"JSPlayM4_SelectIntelInfoFeatureToDraw",value:function(A){var e=0;if(null==A||null==A)return 0;if(0!=A.bTrue&&1!=A.bTrue)return 0;if(0!=A.nMode&&1!=A.nMode&&2!=A.nMode)return 0;if(A.NodeNumber<0||A.NodeNumber>160)return 0;if(A.NodeNumber!=A.pIntelInfoNode.length)return 0;for(var t=0;t>>>>yff>>> JSPlayM4_SelectIntelInfoFeatureToDraw this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?e=this.oJSPlayerObj.JSPlayM4_SelectIntelInfoFeatureToDraw(A):console.log("%cJSPlayM4_SelectIntelInfoFeatureToDraw V1 not support","color: red"),e)}},{key:"JSPlayM4_SetWaterMarkFont",value:function(A){if(null!=A){if(null!=A.nFontAlign&&null!=A.nFontAlign||(A.nFontAlign=0),null!=A.nColorAdapt&&null!=A.nColorAdapt||(A.nColorAdapt=0),null==A.pstCanvasAdapt&&(A.pstCanvasAdapt={},A.pstCanvasAdapt.nCanvasAdaptMode=0,A.pstCanvasAdapt.ntotalRowSpace=0,A.pstCanvasAdapt.ntotalColSpace=0,A.pstCanvasAdapt.nBaseCanvasWidth=0,A.pstCanvasAdapt.nBaseCanvasHeight=0),this.printfFlag>0){console.log("%cJSPlayerInterface.js JSPlayM4_SetWaterMarkFont:string:"+A.pFontString+",fontcolr,fR:"+A.pstFontColor.fR+",fG:"+A.pstFontColor.fG+",fB:"+A.pstFontColor.fB+",fA:"+A.pstFontColor.fA+",fontSizeWidth:"+A.pstFontSize.nFontWidth+",fontSizeHeight:"+A.pstFontSize.nFontHeight+",rotateAngle:"+A.pstFontRotate.fRotateAngle+",fontFamily:"+A.pFontFamily,"color:red");var e=document.getElementById(this.canvasID).width,t=document.getElementById(this.canvasID).height;console.log("canvasWidht:"+e+",canvasHeight:"+t),console.log("fullScreen:"+A.pstFontRotate.fFillFullScreen+",rowNum:"+A.pstFontNumber.nRowNumber+",colNum:"+A.pstFontNumber.nColNumber+",space:"+A.pSpace+",fontAlign:"+A.nFontAlign+",colorAdapt:"+A.nColorAdapt),console.log("adaptMode:"+A.pstCanvasAdapt.nCanvasAdaptMode+",baseWidth:"+A.pstCanvasAdapt.nBaseCanvasWidth+",baseHeight:"+A.pstCanvasAdapt.nBaseCanvasHeight+",rowSpace:"+A.pstCanvasAdapt.nRowSpace+",colSpace:"+A.pstCanvasAdapt.nColSpace)}if(void 0===A.pFontString||null==A.pstStartPos||null==A.pstFontColor||null==A.pstFontSize||null==A.pstFontRotate||null==A.pFontFamily||null==A.pstStartPos.fX||null==A.pstStartPos.fY||null==A.pstFontColor.fR||null==A.pstFontColor.fG||null==A.pstFontColor.fB||null==A.pstFontColor.fA||null==A.pstFontSize.nFontWidth||null==A.pstFontSize.nFontHeight||null==A.pstFontRotate.fRotateAngle||null==A.pstFontRotate.fFillFullScreen||null==A.pSpace)return console.log(">>>>>yff>>> JSPlayM4_SetWaterMarkFont pFontParam undefined"),0;if(A.pstStartPos.fX>1||A.pstStartPos.fX<0||A.pstStartPos.fY>1||A.pstStartPos.fY<0||A.pstFontColor.fR>1||A.pstFontColor.fR<0||A.pstFontColor.fG>1||A.pstFontColor.fG<0||A.pstFontColor.fB>1||A.pstFontColor.fB<0||A.pstFontColor.fA>1||A.pstFontColor.fA<0)return console.log(">>>>>yff>>> JSPlayM4_SetWaterMarkFont pFontParam f* is 0~1"),0;if(1!=A.pstFontRotate.fFillFullScreen&&0!=A.pstFontRotate.fFillFullScreen&&1!=A.pstFontRotate.fFillFullScreen&&0!=A.pstFontRotate.fFillFullScreen)return console.log(">>>>>yff>>> pFontParam.pstFontRotate.fFillFullScreen is true or false"),0;if(0==A.pstCanvasAdapt.nCanvasAdaptMode&&A.pstFontRotate.fFillFullScreen&&(A.pstFontNumber.nRowNumber<1||A.pstFontNumber.nColNumber<1||null==A.pstFontNumber.nRowNumber||null==A.pstFontNumber.nColNumber||A.pstFontNumber.nRowNumber>16||A.pstFontNumber.nColNumber>16))return console.log(">>>>>yff>>> pFontParam.pstFontNumber row/col num should be greater than 1 and les than 16"),0;if("string"!=typeof A.pFontFamily)return console.log(">>>>>yff>>> pFontParam.pFontFamily is not string"),0;if(!Array.isArray(A.pFontString)||A.pFontString.length>9)return console.log(">>>>>yff>>> pFontParam.pFontString is not array, pFontParam.pFontString.length:"+A.pFontString.length),0;if(0!=A.pstCanvasAdapt.nCanvasAdaptMode&&1!=A.pstCanvasAdapt.nCanvasAdaptMode&&2!=A.pstCanvasAdapt.nCanvasAdaptMode)return console.log(">>>>>yff>>> pFontParam.pstCanvasAdapt.nCanvasAdaptMode:(0,1,2)"+A.pstCanvasAdapt.nCanvasAdaptMode),0;if(1==A.pstCanvasAdapt.nCanvasAdaptMode&&(null==A.pstCanvasAdapt.nRowSpace||null==A.pstCanvasAdapt.nColSpace||A.pstCanvasAdapt.nRowSpace<0||A.pstCanvasAdapt.nColSpace<0))return console.log(">>>>>yff>>> nCanvasAdaptMode is 1, nRowSpace:"+A.pstCanvasAdapt.nRowSpace+",pFontParam.pstCanvasAdapt.nColSpace:"+A.pstCanvasAdapt.nColSpace),0;if(2==A.pstCanvasAdapt.nCanvasAdaptMode&&(null==A.pstCanvasAdapt.nBaseCanvasWidth||null==A.pstCanvasAdapt.nBaseCanvasHeight||A.pstCanvasAdapt.nBaseCanvasWidth<0||A.pstCanvasAdapt.nBaseCanvasHeight<0))return console.log(">>>>>yff>>> nCanvasAdaptMode is 2, nBaseCanvasWidth:"+A.pstCanvasAdapt.nBaseCanvasWidth+",pFontParam.pstCanvasAdapt.nBaseCanvasHeight:"+A.pstCanvasAdapt.nBaseCanvasHeight),0;if(0==A.pstCanvasAdapt.nCanvasAdaptMode&&(A.pstCanvasAdapt.ntotalColSpace=0,A.pstCanvasAdapt.ntotalRowSpace=0),1==A.pstCanvasAdapt.nCanvasAdaptMode){var i=A.pstFontRotate.fRotateAngle%360/360*2*Math.PI;if(null==this.waterCanvas&&(this.waterCanvas=document.createElement("canvas"),null!=this.waterCanvas&&(this.waterCanvasCtx=this.waterCanvas.getContext("2d"))),null!=this.waterCanvasCtx){var a=Math.min(A.pstFontSize.nFontHeight,A.pstFontSize.nFontWidth);this.waterCanvasCtx.font=a.toString()+"px "+A.pFontFamily;for(var r=0,n=0;no?r:o}var s=A.pSpace*parseInt(this.waterCanvasCtx.font)*A.pFontString.length;A.pstCanvasAdapt.ntotalColSpace=A.pstCanvasAdapt.nColSpace+Math.abs(r*Math.cos(i))+Math.abs(s*Math.sin(i)),A.pstCanvasAdapt.ntotalRowSpace=A.pstCanvasAdapt.nRowSpace+Math.abs(s*Math.cos(i))+Math.abs(r*Math.sin(i)),(A.pstCanvasAdapt.ntotalColSpace<0||A.pstCanvasAdapt.ntotalRowSpace<0)&&(A.pstCanvasAdapt.nCanvasAdaptMode=0)}}2==A.pstCanvasAdapt.nCanvasAdaptMode&&(A.pstCanvasAdapt.ntotalRowSpace=0,A.pstCanvasAdapt.ntotalColSpace=0),(A.pstFontSize.nFontHeight<=0||A.pstFontSize.nFontWidth<=0)&&(A=null)}return this.waterFontParam=A,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetWaterMarkFont this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetWaterMarkFont(A):this.oJSPlayerObj.PlayM4_SetWaterMarkFont(A)}},{key:"JSPlayM4_SetWaterMarkImage",value:function(A){if(!("ImageDecoder"in window))return console.log(">>>>>yff>>> window not support ImageDecoder"),P;if(null!=A){if(void 0===A.pImageData)return console.log(">>>>>yff>>> JSPlayM4_SetWaterMarkImage pImageParam.pImageData undefined"),0;if(void 0===A.pImageType||"jpg"!=A.pImageType&&"jpeg"!=A.pImageType&&"png"!=A.pImageType&&"gif"!=A.pImageType&&"bmp"!=A.pImageType&&"webp"!=A.pImageType&&"avif"!=A.pImageType)return console.log(">>>>>yff>>> JSPlayM4_SetWaterMarkImage pImageParam.pImageType:"+A.pImageType+" error"),0;(void 0===A.pstRectPos||A.pstRectPos.fLeft<0||A.pstRectPos.fLeft>1||A.pstRectPos.fRight<0||A.pstRectPos.fRight>1||A.pstRectPos.fTop<0||A.pstRectPos.fTop>1||A.pstRectPos.fBottom<0||A.pstRectPos.fBottom>1)&&(A.pstRectPos={fLeft:0,fRight:.1,fTop:0,fBottom:.1}),(void 0===A.fAlpha||A.fAlpha<0||A.fAlpha>1)&&(A.fAlpha=1)}return this.waterImageParam=A,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetWaterMarkImage this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetWaterMarkImage(A):this.oJSPlayerObj.PlayM4_SetWaterMarkImage(A)}},{key:"JSPlayM4_InitEncoder",value:function(A,e){return null==A||null==A?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo:"+A+",encodeAudioInfo:"+e,"color:red"),0):0!==A.encodeType?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.encodeType(only support 0(H264)):"+A.encodeType,"color:red"),0):0!=A.baseTimeStampMode&&1!=A.baseTimeStampMode?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.baseTimeStampMode(only support 0(start from 0),1(old)):"+A.baseTimeStampMode,"color:red"),0):0!=A.encodeWidth&&(A.encodeWidth>1920||A.encodeWidth<32)?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.encodeWidth(32x32 to 1920x1088 pixels):"+A.encodeWidth,"color:red"),0):0!=A.encodeHeight&&(A.encodeHeight>1088||A.encodeHeight<32)?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.encodeWidth(32x32 to 1920x1088 pixels encodeVideoInfo.encodeHeight:"+A.encodeHeight,"color:red"),0):0!=A.bitrate&&A.bitrate<0?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder ncodeVideoInfo.bitrate( need largger than 0):"+A.bitrate,"color:red"),0):0!=A.framerate&&A.framerate<0?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.framerate( need largger than 0):"+A.framerate,"color:red"),0):0!=A.bitrateMode&&1!=A.bitrateMode?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.bitrateMode only support 0(variable) and 1(constant)","color:red"),0):0!=A.latencyMode&&1!=A.latencyMode?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.latencyMode only support 0(realtime) and 1(quality)","color:red"),0):(null==A.getOriginData&&(A.getOriginData=0),0!=A.getOriginData&&1!=A.getOriginData?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.getOriginData only support 0(crop) and 1(origin)","color:red"),0):null==e||null==e?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeAudioInfo:"+e,"color:red"),0):0!=e.encodeType?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeAudioInfo.encodeType(only support 0(aac)):"+e.encodeType,"color:red"),0):0!=e.sampleRate&&48e3!=e.sampleRate&&44100!=e.sampleRate?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeAudioInfo.sampleRate(only support 48k and 44.1k):"+e.sampleRate,"color:red"),0):0!=e.numberOfChannels&&1!=e.numberOfChannels?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeAudioInfo.numberOfChannels (only support single channel):"+e.numberOfChannels,"color:red"),0):0!=e.bitrate&&128e3!=e.bitrate?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeAudioInfo.bitrate(only support 128000):"+e.bitrate,"color:red"),0):(null==e.recoderAudioAnyWhere&&(e.recoderAudioAnyWhere=0),0!=e.recoderAudioAnyWhere&&1!=e.recoderAudioAnyWhere?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeAudioInfo.recoderAudioAnyWhere(only support 0 and 1):"+e.recoderAudioAnyWhere,"color:red"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_InitEncoder(A,e):(console.log("%conly hard decoder support recoder,V1 not support (20240801)","color: red"),0)))}},{key:"JSPlayM4_StartEncode",value:function(A,e){return 1===window.g_recorderFlag?(console.log("%conly support one recorder at the same time!","color: red"),0):(window.g_recorderFlag=1,"function"!=typeof A||"function"!=typeof e?(console.log("%cJSPlayM4_StartEncode param need CBfunction videoRawDataFunCB:"+A+",audioRawDataFunCB:"+e,"color: red"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_StartEncode(A,e):(console.log("%cJSPlayM4_StartEncode only hard decoder support recoder,V1 not support (20240801)","color: red"),0))}},{key:"JSPlayM4_StopEncode",value:function(){return window.g_recorderFlag=0,this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_StopEncode():(console.log("%c JSPlayM4_StopEncode only hard decoder support recoder,V1 not support (20240801)","color: red"),0)}},{key:"_downloadFile",value:function(A,e){var t=A;a(A,Blob)||a(A,File)||(t=new Blob([A]));var i=window.URL.createObjectURL(t),r=window.document.createElement("a");r.href=i,r.download=e;var n=document.createEvent("MouseEvents");n.initEvent("click",!0,!0),r.dispatchEvent(n)}},{key:"downloadRTPData",value:function(A){if(this.bWriteData){var e=A,t=this.aTotalBuffer.length;console.log("totalLength:"+t);for(var i=0,a=e.length;iyour browser is IE ,it does not support play without plugin","color: red"):e.safari?console.log("%c1>your browser is safari ","color: red"):e.firefox?console.log("%c1>your browser is Firefox ","color: red"):console.log("%c1>your browser does not support play without plugin","color: red"),-1},window._getFSupportWebCodecs=function(){return"undefined"!=typeof VideoDecoder},window._getFSupportSIMD=function(){return new Promise((function(A,e){pe().then((function(t){t?A():e()}))}))},window.gSetWasmPlayerPrintf=function(A){return window.g_printfFlag=A,!0}}(),n}()}))}(Os,Os.exports);var Ks=Os.exports.JSPlayCtrl;function Vs(A,e,t){return Vs=Zs()?Reflect.construct:function(A,e,t){var i=[null];i.push.apply(i,e);var a=new(Function.bind.apply(A,i));return t&&Ws(a,t.prototype),a},Vs.apply(null,arguments)}function Ws(A,e){return Ws=Object.setPrototypeOf||function(A,e){return A.__proto__=e,A},Ws(A,e)}function Zs(){try{var A=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(A){}return(Zs=function(){return!!A})()}function Xs(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(e&&e.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),e&&qs(A,e)}function qs(A,e){return qs=Object.setPrototypeOf||function(A,e){return A.__proto__=e,A},qs(A,e)}var js=null,zs=Symbol("CANVAS"),$s=Symbol("CONTEXT"),Ag=Symbol("SHAPES"),eg=Symbol("DRAWSTATUS"),tg=Symbol("SHAPETYPE"),ig=Symbol("MAXSHAPENUMSUPPORT"),ag=Symbol("SHAPESTYLE"),rg=Symbol("POLYGONDRAWING"),ng=Symbol("CURRENTSHAPEINFO"),og=Symbol("DRAWSHAPEMULTIONETIME"),sg=Symbol("EVENTCALLBACK");function gg(){js[$s].clearRect(0,0,js.m_iCanvasWidth,js.m_iCanvasHeight);for(var A=0,e=js[Ag].length;A=E.m_iMinClosed&&(E.m_bClosed=!0,js[rg]=!1,E.setPointInfo(E.m_aPoint),lg(E),gg(),o=!1,js[og]||(js[eg]=!1),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,E.m_szType,"onDrawEnd",E.m_szId));else if(0===A.button){if(o){if(Math.abs(A.offsetX-g)>2&&Math.abs(A.offsetY-l)>2&&(lg(E),js[og]||(js[eg]=!1)),js[sg]){var e,t={startPos:[],endPos:[]};t.startPos=[g,l],t.endPos=[A.offsetX,A.offsetY],null==(e=js[sg])||e.call(js,t),js.clearAllShape()}return E=null,void(o=!1)}if(g=A.offsetX,l=A.offsetY,B="draw",!js[rg]){var i=x();if(-1!==i&&js[Ag][i].inArc(A.offsetX,A.offsetY,5)&&(B="stretch"),"stretch"!==B)for(var a=0,r=js[Ag].length;a-1?o&&("drag"===B?(js[Ag][e].drag(A.offsetX,A.offsetY),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,js[Ag][e].m_szType,"onDrag",js[Ag][e].m_szId)):"stretch"===B&&(js[Ag][e].stretch(A.offsetX,A.offsetY),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,js[Ag][e].m_szType,"onStretch",js[Ag][e].m_szId))):js[eg]&&o&&s.isIn&&("Rect"===js[tg]?E.move([[g,l],[A.offsetX,A.offsetY]]):"Grid"===js[tg]&&js[Ag][0].move(g,l,A.offsetX,A.offsetY))}},null==(i=js[zs])||i.addEventListener("mousemove",js.ON_MOUSEMOVE),js.ON_MOUSEUP=function(A){if(js[zs].style.cursor="default",null!=E&&"draw"===B)if("Rect"===js[tg]){if(Math.abs(A.offsetX-g)>2&&Math.abs(A.offsetY-l)>2&&(lg(E),js[og]||(js[eg]=!1)),js[sg]){var e,t={startPos:[],endPos:[]};t.startPos=[g,l],t.endPos=[A.offsetX,A.offsetY],null==(e=js[sg])||e.call(js,t),js.clearAllShape()}E=null}else"Polygon"===js[tg]&&0===E.m_iPolygonType&&js[rg]&&Math.abs(A.offsetX-g)>2&&Math.abs(A.offsetY-l)>2&&(lg(E),js[rg]=!1,js[og]||(js[eg]=!1),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,E.m_szType,"onDrawEnd",E.m_szId));o=!!js[rg],js[rg]||gg()},null==(a=js[zs])||a.addEventListener("mouseup",js.ON_MOUSEUP),js.ON_DBLCLICK=function(){js[eg]&&"Grid"===js[tg]&&(js[Ag][0].m_szGridMap="fffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffc",gg())},js[zs].addEventListener("dblclick",js.ON_DBLCLICK),js.ON_TOUCHSTART=function(A){var e,t=A.target.getBoundingClientRect();if(null==(e=A.touches)?void 0:e[0]){if(C=parseInt(A.touches[0].clientX-t.x)>0?parseInt(A.touches[0].clientX-t.x):0,I=parseInt(A.touches[0].clientY-t.y)>0?parseInt(A.touches[0].clientY-t.y):0,B="draw",js[eg]){if(js[ig]<=js[Ag].length&&"Grid"!==js[tg]&&"Point"!==js[tg])return;"Rect"===js[tg]?(E=new hg).m_szTips=js[ng].szTips||"":"Grid"===js[tg]?0===js[Ag].length&&lg(E=new Eg):"Polygon"===js[tg]?(js[rg]||(js[rg]=!0,(E=new dg).m_szId=js[ng].szId||"",E.m_szTips=js[ng].szTips||"",E.m_iMinClosed=js[ng].iMinClosed||3,E.m_iMaxPointNum=js[ng].iMaxPointNum||11,E.m_iPolygonType=js[ng].iPolygonType,E.m_szDrawColor=js[ng].szDrawColor,E.m_szFillColor=js[ng].szFillColor,E.m_iTranslucent=js[ng].iTranslucent,E.m_iRedrawMode=js[ng].iRedrawMode),1===E.m_iPolygonType&&(E.addPoint(C,I),E.m_aPoint.length===E.m_iMaxPointNum&&(E.m_bClosed=!0,js[rg]=!1,lg(E),gg(),o=!1,js[og]||(js[eg]=!1),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,E.m_szType,"onDrawEnd",E.m_szId)))):"Point"===js[tg]&&(js.clearShapeByType("Point"),(E=new Qg).m_szId=js[ng].szId||"",E.m_szDrawColor=js[ng].szDrawColor,E.setPointInfo([[C,I]]),lg(E),gg())}o=!0}},null==(r=js[zs])||r.addEventListener("touchstart",js.ON_TOUCHSTART),js.ON_TOUCHMOVE=function(A){var e,t=A.target.getBoundingClientRect();if(null==(e=A.touches)?void 0:e[0])if(c=parseInt(A.touches[0].clientX-t.x)>0?parseInt(A.touches[0].clientX-t.x):0,h=parseInt(A.touches[0].clientY-t.y)>0?parseInt(A.touches[0].clientY-t.y):0,js[rg])js[eg]&&o&&("Polygon"===js[tg]&&0===E.m_iPolygonType&&(E.m_bClosed=!0),gg(),E.move(A.touches[0].offsetX,A.touches[0].offsetY,C,I));else{var i=x();i>-1?o&&("drag"===B?(js[Ag][i].drag(c,h),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,js[Ag][i].m_szType,"onDrag",js[Ag][i].m_szId)):"stretch"===B&&(js[Ag][i].stretch(c,h),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,js[Ag][i].m_szType,"onStretch",js[Ag][i].m_szId))):js[eg]&&o&&("Rect"===js[tg]?E.move([[2*C,2*I],[2*c,2*h]]):"Grid"===js[tg]&&js[Ag][0].move(C,I,c,h))}},null==(n=js[zs])||n.addEventListener("touchmove",js.ON_TOUCHMOVE),js.ON_TOUCHEND=function(A){if(C!=c||I!=h){if(js[zs].style.cursor="default",null!=E&&"draw"===B)if("Rect"===js[tg]){if(Math.abs(c-C)>2&&Math.abs(h-I)>2&&(lg(E),js[og]||(js[eg]=!1)),js[sg]&&Math.abs(c-C)>15&&Math.abs(h-I)>15){var e,t={startPos:[],endPos:[]};t.startPos=[C,I],t.endPos=[c,h],null==(e=js[sg])||e.call(js,t)}js.clearAllShape(),E=null}else"Polygon"===js[tg]&&0===E.m_iPolygonType&&js[rg]&&Math.abs(c-C)>2&&Math.abs(h-I)>2&&(lg(E),js[rg]=!1,js[og]||(js[eg]=!1),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,E.m_szType,"onDrawEnd",E.m_szId));o=!!js[rg],js[rg]||gg()}},js[zs].addEventListener("touchend",js.ON_TOUCHEND)}function Ig(){var A,e,t,i,a,r,n,o,s;js.ON_MOUSEDOWN&&(null==(A=js[zs])||A.removeEventListener("mousedown",js.ON_MOUSEDOWN),js.ON_MOUSEDOWN=null),js.ON_MOUSEENTER&&(null==(e=js[zs])||e.removeEventListener("mouseenter",js.ON_MOUSEENTER),js.ON_MOUSEENTER=null),js.ON_MOUSELEAVE&&(null==(t=js[zs])||t.removeEventListener("mouseleave",js.ON_MOUSELEAVE),js.ON_MOUSELEAVE=null),js.ON_MOUSEMOVE&&(null==(i=js[zs])||i.removeEventListener("mousemove",js.ON_MOUSEMOVE),js.ON_MOUSEMOVE=null),js.ON_MOUSEUP&&(null==(a=js[zs])||a.removeEventListener("mouseup",js.ON_MOUSEUP),js.ON_MOUSEUP=null),js.ON_DBLCLICK&&(null==(r=js[zs])||r.removeEventListener("dblclick",js.ON_DBLCLICK),js.ON_DBLCLICK=null),js.ON_TOUCHSTART&&(null==(n=js[zs])||n.removeEventListener("touchstart",js.ON_TOUCHSTART),js.ON_TOUCHSTART=null),js.ON_TOUCHMOVE&&(null==(o=js[zs])||o.removeEventListener("touchmove",js.ON_TOUCHMOVE),js.ON_TOUCHMOVE=null),js.ON_TOUCHEND&&(null==(s=js[zs])||s.removeEventListener("touchend",js.ON_TOUCHEND),js.ON_TOUCHEND=null)}var cg=function(){function A(){this.m_szId="",this.m_aPoint=[],this.m_bChoosed=!1,this.m_szDrawColor=js[ag].szDrawColor,this.m_szFillColor=js[ag].szFillColor,this.m_iTranslucent=js[ag].iTranslucent,this.m_iIndexChoosePoint=-1,this.m_iDriftStartX=0,this.m_iDriftStartY=0,this.m_oEdgePoints={top:{x:0,y:0},left:{x:0,y:0},right:{x:0,y:0},bottom:{x:0,y:0}},this.m_szTips="",this.m_iEditType=0,this.m_iMinClosed=3,this.m_iMaxPointNum=11,this.m_bClosed=!1,this.m_iRedrawMode=0}var e=A.prototype;return e.draw=function(){},e.drag=function(A,e){if(2!==this.m_iEditType){var t=this.m_aPoint.length,i=0;for(i=0;ijs.m_iCanvasWidth||this.m_aPoint[i][1]+e-this.m_iDriftStartY>js.m_iCanvasHeight||this.m_aPoint[i][0]+A-this.m_iDriftStartX<0||this.m_aPoint[i][1]+e-this.m_iDriftStartY<0)return this.m_iDriftStartX=A,void(this.m_iDriftStartY=e);for(i=0;ie!=this.m_aPoint[r][1]>e&&A<(this.m_aPoint[r][0]-this.m_aPoint[a][0])*(e-this.m_aPoint[a][1])/(this.m_aPoint[r][1]-this.m_aPoint[a][1])+this.m_aPoint[a][0]&&(t=!t);return t},e.inArc=function(A,e,t){for(var i=!1,a=0,r=this.m_aPoint.length;a0&&(this.m_aPoint=A,this.setEdgePoints(A))},e.addPoint=function(A,e){this.m_aPoint.lengththis.m_oEdgePoints.right.x&&(this.m_oEdgePoints.right.x=A[e][0],this.m_oEdgePoints.right.y=A[e][1]),A[e][1]>this.m_oEdgePoints.bottom.y&&(this.m_oEdgePoints.bottom.x=A[e][0],this.m_oEdgePoints.bottom.y=A[e][1]),A[e][0]A[r][0]&&(e=A[r][0]),t>A[r][1]&&(t=A[r][1]),ithis.m_aPoint[3][0]&&ethis.m_aPoint[0][0]&&(this.m_aPoint[1][0]=A,this.m_aPoint[2][0]=A):5===this.m_iIndexChoosePoint?Athis.m_aPoint[1][1]&&(this.m_aPoint[3][0]=A,this.m_aPoint[3][1]=e,this.m_aPoint[0][0]=A,this.m_aPoint[2][1]=e):6===this.m_iIndexChoosePoint?e>this.m_aPoint[1][1]&&(this.m_aPoint[2][1]=e,this.m_aPoint[3][1]=e):7===this.m_iIndexChoosePoint&&A>this.m_aPoint[0][0]&&e>this.m_aPoint[0][1]&&(this.m_aPoint[2][0]=A,this.m_aPoint[2][1]=e,this.m_aPoint[1][0]=A,this.m_aPoint[3][1]=e),gg())},t.move=function(A){gg(),this.m_bChoosed=!0;var e=A[0][0],t=A[0][1],i=A[1][0],a=A[1][1];this.setPointInfo([[e,t],[i,t],[i,a],[e,a]]),this.draw()},t.inArc=function(A,e,t){for(var i=this.m_aPoint[0][0],a=this.m_aPoint[0][1],r=this.m_aPoint[2][0]-i,n=this.m_aPoint[2][1]-a,o=Math.round(r/2),s=Math.round(n/2),g=[i,i+o,i+r,i,i+r,i,i+o,i+r],l=[a,a,a,a+s,a+s,a+n,a+n,a+n],C=0;C<8;C++)if(Math.sqrt((A-g[C])*(A-g[C])+(e-l[C])*(e-l[C]))js.m_iCanvasHeight||this.m_aPoint[i][0]+A-this.m_iDriftStartX<0||this.m_aPoint[i][1]+e-this.m_iDriftStartY<0)return this.m_iDriftStartX=A,void(this.m_iDriftStartY=e);for(i=0;ijs.m_iCanvasHeight||this.m_aPoint[i][1]+e-this.m_iDriftStartY<0)return this.m_iDriftStartX=A,void(this.m_iDriftStartY=e);for(i=0;i0?1:-1,r=i-e>0?1:-1;for(var I=[],c=0;c=g&&c<=g+C&&h>=s&&h<=s+l?1:0:c<=g&&c>=g-C&&h>=s&&h<=s+l?1:0:1===r?c>=g&&c<=g+C&&h<=s&&h>=s-l?1:0:c<=g&&c>=g-C&&h<=s&&h>=s-l?1:0}this.m_aAddGridMap=I,this.draw()},e}(cg),xg=function(A){function e(){var e;return(e=A.call(this)||this).m_szType="Line",e.m_iLineType=0,e.m_iDirection=0,e.m_iArrowType=0,e.m_aCrossArrowPoint=[],e}Xs(e,A);var t=e.prototype;return t.draw=function(){0===this.m_iLineType?this.drawNormalLine():1===this.m_iLineType?this.drawArrowLine():3===this.m_iLineType?this.drawCrossLine():4===this.m_iLineType&&this.drawLineCount()},t.drawNormalLine=function(){if(js[$s].globalAlpha=1,this.m_aPoint.length>0){js[$s].beginPath(),js[$s].strokeStyle=this.m_szDrawColor,js[$s].lineWidth=2,js[$s].moveTo(this.m_aPoint[0][0],this.m_aPoint[0][1]);for(var A=1,e=this.m_aPoint.length;AA[r][0]&&(e=A[r][0]),t>A[r][1]&&(t=A[r][1]),i0){js[$s].fillStyle=this.m_szFillColor,js[$s].strokeStyle=this.m_szDrawColor,js[$s].globalAlpha=1;var A=0,e=0;if(this.m_bChoosed)for(A=0,e=this.m_aPoint.length;A0){js[$s].fillStyle=this.m_szFillColor,js[$s].strokeStyle=this.m_szDrawColor,js[$s].globalAlpha=1;var a=0,r=0;for(a=0,r=this.m_aPoint.length;athis.m_aPoint[3][0]&&ethis.m_aPoint[0][0]&&e>this.m_aPoint[0][1]&&(this.m_aPoint[2][0]=A,this.m_aPoint[2][1]=e,this.m_aPoint[1][0]=A,this.m_aPoint[3][1]=e):3===this.m_iIndexChoosePoint&&Athis.m_aPoint[1][1]&&(this.m_aPoint[3][0]=A,this.m_aPoint[3][1]=e,this.m_aPoint[0][0]=A,this.m_aPoint[2][1]=e),this.setPointInfo(this.m_aPoint),gg())},e}(cg),Qg=function(A){function e(){var e;return(e=A.call(this)||this).m_szType="Point",e.m_szId="",e}Xs(e,A);var t=e.prototype;return t.draw=function(){js[$s].beginPath(),js[$s].fillStyle=this.m_szDrawColor,js[$s].globalAlpha=1,js[$s].arc(this.m_aPoint[0][0],this.m_aPoint[0][1],10,0,2*Math.PI,!0),js[$s].closePath(),js[$s].fill()},t.drag=function(){},t.stretch=function(){},e}(cg),fg=function(){function A(A){js=this,this[zs]=document.createElement("canvas"),this[zs].width=A.clientWidth,this[zs].height=A.clientHeight,A.appendChild(this[zs]),this[zs].style.cssText="position: absolute; width: 100%; height: 100%; left: 0; top: 0;z-index: 1; border: 0; outline: none;",this[zs].classList.add("ezplayer-3d_draw"),this[$s]=this[zs].getContext("2d"),this[Ag]=[],this[eg]=!1,this[tg]="Rect",this[ig]=10,this[og]=!0,this[ng]={},this[sg]=null,this[ag]={szDrawColor:"#ff0000",szFillColor:"#343434",iTranslucent:.7},this[rg]=!1,this.m_iCanvasWidth=this[zs].clientWidth,this.m_iCanvasHeight=this[zs].clientHeight,this.m_iHorizontalResolution=0,this.m_iVerticalResolution=0,this.m_szDisplayMode="",this.m_szVideoFormat="",Cg(),this[Ag].length=0}var e=A.prototype;return e.setDrawMutiShapeOneTime=function(A){this[og]=A},e.setMaxShapeSupport=function(A){this[ig]=A},e.getMaxShapeSupport=function(){return this[ig]},e.setDrawStatus=function(A,e){this[eg]=A,e&&A&&(this[sg]=e),A||(this[sg]=null,Ig())},e.setShapeType=function(A){this[tg]=A,gg()},e.setCurrentShapeInfo=function(A){this[ng]=A||{szId:"",szTips:"",iMinClosed:3,iMaxPointNum:11,iPolygonType:1,iRedrawMode:0}},e.getShapeType=function(){return this[tg]},e.getAllShapesInfo=function(){for(var A=[],e=0,t=this[Ag].length;e0)for(var i=0;i0&&e>0&&(this.m_iCanvasWidth=A,this.m_iCanvasHeight=e,gg())},e.setDrawStyle=function(A,e,t){this[ag]={szDrawColor:A,szFillColor:e,iTranslucent:t}},e.clearAllShape=function(){this[Ag].length=0,js[rg]=!1,gg()},e.clearShapeByType=function(A){for(var e=this[Ag].length;e>0;e--)this[Ag][e-1].m_szType===A&&("Grid"===A?(this[Ag][e-1].m_szGridMap="",this[Ag][e-1].m_aAddGridMap=[]):this[Ag].splice(e-1,1));"Polygon"===A&&(js[rg]=!1),gg()},e.deleteShape=function(A){this[Ag].length>A&&this[Ag].splice(A,1),gg()},e.updateCanvas=function(A){this[zs]=document.getElementById(A),this[$s]=this[zs].getContext("2d"),this.m_iCanvasWidth=this[zs].clientWidth,this.m_iCanvasHeight=this[zs].clientHeight,Cg()},e.resizeCanvas=function(){this.m_iCanvasWidth=this[zs].clientWidth,this.m_iCanvasHeight=this[zs].clientHeight},e.canvasRedraw=function(){gg()},e.resize=function(A,e){this[zs].width=A,this[zs].height=e,this.resizeCanvas(A,e)},e.destroy=function(){this[zs]&&this[zs].remove(),this[zs]=null,this[$s]=null,this[Ag]=[],this[ag]={},this[rg]=!1,this.m_iCanvasWidth=0,this.m_iCanvasHeight=0},A}();function ug(A){return A.esCanvas&&(A.esCanvas.setDrawStatus(!1),A.esCanvas.destroy(),A.esCanvas=null,A.__fCallback=null,A.__b3DZoom=!1),0}function pg(A){return null==A||""===A}function mg(A){return A&&"undefined"!=typeof Symbol&&A.constructor===Symbol?"symbol":typeof A}var _g="object"===("undefined"==typeof window?"undefined":mg(window))&&window.window===window?window:"object"===("undefined"==typeof self?"undefined":mg(self))&&self.self===self?self:"object"===("undefined"==typeof global?"undefined":mg(global))&&global.global===global?global:void 0;function yg(A,e,t){var i=new XMLHttpRequest;i.open("GET",A),i.responseType="blob",i.onload=function(){Fg(i.response,e,t)},i.onerror=function(){},i.send()}function Sg(A){var e=new XMLHttpRequest;e.open("HEAD",A,!1);try{e.send()}catch(A){}return e.status>=200&&e.status<=299}function Dg(A){try{A.dispatchEvent(new MouseEvent("click"))}catch(t){var e=document.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),A.dispatchEvent(e)}}var Rg=_g.navigator&&navigator.userAgent.includes("Macintosh")&&navigator.userAgent.includes("AppleWebKit")&&!navigator.userAgent.includes("Safari"),Fg="object"!==("undefined"==typeof window?"undefined":mg(window))||window!==_g?function(){}:"download"in HTMLAnchorElement.prototype&&!Rg?function(A,e,t){var i=_g.URL||_g.webkitURL,a=document.createElementNS("http://www.w3.org/1999/xhtml","a");e=e||A.name||"download",a.download=e,a.rel="noopener","string"==typeof A?(a.href=A,a.origin!==location.origin?Sg(a.href)?yg(A,e,t):Dg(a,a.target="_blank"):Dg(a)):(a.href=i.createObjectURL(A),setTimeout((function(){i.revokeObjectURL(a.href)}),4e4),setTimeout((function(){Dg(a)}),0))}:"msSaveOrOpenBlob"in navigator?function(A,e,t){if(e=e||A.name||"download","string"==typeof A)if(Sg(A))yg(A,e,t);else{var i=document.createElement("a");i.href=A,i.target="_blank",setTimeout((function(){Dg(i)}))}else navigator.msSaveOrOpenBlob(function(A,e){return void 0===e?e={autoBom:!1}:"object"!==(void 0===e?"undefined":mg(e))&&(e={autoBom:!e}),e.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(A.type)?new Blob([String.fromCharCode(65279),A],{type:A.type}):A}(A,t),e)}:function(A,e,t,i){if((i=i||open("","_blank"))&&(i.document.title=i.document.body.innerText="downloading..."),"string"==typeof A)return yg(A,e,t);var a="application/octet-stream"===A.type,r=/constructor/i.test(_g.HTMLElement)||_g.safari,n=/CriOS\/[\d]+/.test(navigator.userAgent);if((n||a&&r||Rg)&&"undefined"!=typeof FileReader){var o=new FileReader;o.onloadend=function(){var A=o.result;A=n?A:A.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=A:location=A,i=null},o.readAsDataURL(A)}else{var s=_g.URL||_g.webkitURL,g=s.createObjectURL(A);i?i.location=g:location.href=g,i=null,setTimeout((function(){s.revokeObjectURL(g)}),4e4)}};function wg(A,e,t,i,a,r,n){return void 0===t&&(t="jpeg"),void 0===r&&(r=!0),void 0===n&&(n=!1),t="jpeg",e=(pg(e)?(new Date).getTime():e)+"."+t,new Promise((function(i,o){var s=function(t){if(t){var n=function(A){for(var e=new Uint8Array(A),t="",i=0;i0&&(i[0].startTime=e.valueOf(),i[i.length-1].endTime=t.valueOf()),i}function Lg(A){var e=A.wasmplayer;e&&e.JSPlayM4_CloseStream(),A.playing=!1}function Yg(){return Yg=Object.assign||function(A){for(var e=1;e-24?o=Math.round(o):(o=0,A.logger.warn("timeZone时区参数错误,取值范围为-23~23"));var s=yn(a).add(o,"hour"),g=n?yn(r).add(o,"hour"):yn(yn(s).format("YYYYMMDD 23:59:59"));s>=g&&(g=yn(yn(s).format("YYYYMMDD 23:59:59")),A.logger.warn("End time greater than or equal to start time"));var l,C="YYYYMMDDTHHmmss";return e=(e=e.replace("&begin="+kg("begin",e),""))+"&begin="+s.format(C)+"Z",function(A,e){var t=yn(A).startOf("day"),i=yn(e).startOf("day");return!t.isSame(i)}(s,g)&&"cloud"===A.urlInfo.recType&&(g=yn(yn(s).format("YYYYMMDD 23:59:59")),A.logger.warn("The start and end times have crossed days")),e=(e=e.replace("&end="+kg("end",e),""))+"&end="+g.format(C)+"Z",kg("stream",e)||(e=e.replace("stream","&stream")),"cloud"===A.urlInfo.recType&&"7"===(null==(i=A.urlInfo.searchParams)?void 0:i.busType)?function(A,e){return new Promise((function(t,i){A.service.getRecordCloudVideoByTime(e).then((function(e){A.emit(Qo.NETWORK.videoFragmentFiles,ho(e.data||[],"云录制录像信息查询","RecordCloud")),t(e)})).catch((function(e){A.emit(Qo.NETWORK.error.error,ho(e)),A.emit(Qo.NETWORK.error.videoFragmentFiles,ho(e)),i(e)}))}))}(A,{channelNo:A.urlInfo.channelNo,startTime:yn(yn(s).format("YYYY-MM-DD 00:00:00")).valueOf(),endTime:yn(yn(g).format("YYYY-MM-DD 23:59:59")).valueOf(),spaceId:null==(l=A.urlInfo.searchParams)?void 0:l.spaceId}).then((function(A){var t=g;A.data.length>0&&yn(A.data[A.data.length-1].endTime)0&&yn(A.data[A.data.length-1].endTime)0&&(e.nFrameNumInterval&&(s+=e.nFrameNumInterval),h-C>=3e3&&(A.emit(Eo,ho({type:xo.stutterDetectedCallback,data:{type:1,frameNumInterval:e.nFrameNum-g,frameLossNum:s}})),g=e.nFrameNum,C=h,s=0),A.emit(Eo,ho({type:xo.stutterDetectedCallback,data:{type:1,pstRuntimeInfo:e,errorTime:yn(a||(null==A||null==(i=A.urlInfo)||null==(t=i.searchParams)?void 0:t.begin)||yn().format("YYYYMMDD000000"))}}))),352321537===e.nErrorCode&&(r>0&&e.nAverageDecodeTime&&(o+=Math.floor(e.nAverageDecodeTime),n++),h-l>=1e3&&(r>0?(A.emit(Eo,ho({type:xo.stutterDetectedCallback,data:{type:2,runtimeInfo:e,averageDecodeTime:o,account:n}})),o=0,n=0):r++,l=h)),262144===e.nErrorCode&&A.emit(Eo,ho({type:xo.stutterDetectedCallback,data:{type:4,pstRuntimeInfo:e,errorTime:yn(a||(null==A||null==(c=A.urlInfo)||null==(I=c.searchParams)?void 0:I.begin)||yn().format("YYYYMMDD000000"))}})),A){var B,E,x=A.getOSDTime();a=a||(Number.isNaN(x)?0:1e3*x),A.emit(Eo,ho({type:xo.setRunTimeInfoCallBack,data:{pstRuntimeInfo:e,errorTime:yn(a||(null==A||null==(E=A.urlInfo)||null==(B=E.searchParams)?void 0:B.begin)||yn().format("YYYYMMDD000000"))}})),a=0}}));var r=-3,n=0,o=0,s=0,g=0,l=0,C=0;function I(A){var e={};if(A)for(var t=48,i=0;i<1500&&!(t+28>A.additionDataBuffer.length);i++){var a={id:-1,x:0,y:0,type:0,viewAngleH:0,viewAngleV:0,r:0,r_max:0,north:0,res0:0,res1:0,res2:0};a.id=parseInt(A.additionDataBuffer[t])>244?parseInt(A.additionDataBuffer[t])+256:parseInt(A.additionDataBuffer[t]),a.x=A.additionDataBuffer[t+2],a.y=A.additionDataBuffer[t+4],a.type=A.additionDataBuffer[t+6],a.viewAngleH=A.additionDataBuffer[t+8],a.viewAngleV=A.additionDataBuffer[t+10],a.r=A.additionDataBuffer[t+12],a.r_max=A.additionDataBuffer[t+14],a.res0=A.additionDataBuffer[t+7],t+=28,e[a.id]=a}return e}t.JSPlayM4_SetAdditionDataCallBack(2052,1,(function(e){A&&A.emit(Eo,ho({type:xo.setAdditionDataCallBack,data:{additionInfo:Yg({},e,{additionDataBufferView:new Int32Array(e.additionDataBuffer)}),labelMap:I(e)}}))})),A.logger.log("3.打开流 resO:"+i)}(A,n.buf),A._aHead=new Uint8Array(n.buf),(null==A||null==(o=A.urlInfo)?void 0:o.validateCode)||A._secretKey){var s,g,l,C=(null==A||null==(s=A.urlInfo)?void 0:s.validateCode)||A._secretKey;1==+(null==(g=A.wasmplayer)?void 0:g.JSPlayM4_SetSecretKey(C))?null==(l=A.logger)||l.log("set secretKey success, ",C):A.logger.error("set secretKey fail, ",C)}if("resume"!==e){try{var I,c=function(A){var e=parseInt(A.slice(13,15));return e+3<60&&(e+=3),{year:parseInt(A.slice(0,4)),month:parseInt(A.slice(4,6)),day:parseInt(A.slice(6,8)),hour:parseInt(A.slice(9,11)),min:parseInt(A.slice(11,13)),second:e}}(kg("begin",null==(I=A._wss_info.oParams)?void 0:I.playURL));if(!isNaN(c.year)){A.logger.log("SetGlobalBaseTime",JSON.stringify(c));var h=A.wasmplayer.JSPlayM4_SetGlobalBaseTime(c.year,c.month,c.day,c.hour,c.min,c.second,0);A.logger.log("设置OSD时间res:",h)}}catch(e){A.logger.error("JSPlayM4_SetGlobalBaseTime:",e)}if(A.playing=!0,1!=+A.wasmplayer.JSPlayM4_SetFrameInfoCallBack(1)){var B=A.wasmplayer.JSPlayM4_GetLastError();A.logger.error("resFrameInfoError:",B)}t=!0,i=!0,A.emit("JSPlayM4_Play_Before",ho(void 0));var E,x=A.wasmplayer.JSPlayM4_Play(A._playerWindow.canvasId);A._options.disableRenderPrivateData?(A.wasmplayer.JSPlayM4_RenderPrivateData(1,!1),A.wasmplayer.JSPlayM4_RenderPrivateData(2,!1),A.wasmplayer.JSPlayM4_RenderPrivateData(4,!1),A.wasmplayer.JSPlayM4_RenderPrivateData(8,!1),A.wasmplayer.JSPlayM4_RenderPrivateData(16,!1),A.wasmplayer.JSPlayM4_RenderPrivateData(32,!1),A.wasmplayer.JSPlayM4_RenderPrivateData(64,!1),A.wasmplayer.JSPlayM4_RenderPrivateData(128,!1),null==(E=A.logger)||E.log("disable render private data")):(A.wasmplayer.JSPlayM4_RenderPrivateData(4,1),A.wasmplayer.JSPlayM4_RenderPrivateData(8,1),A.wasmplayer.JSPlayM4_RenderPrivateData(32,1),A.wasmplayer.JSPlayM4_RenderPrivateData(64,1),A.wasmplayer.JSPlayM4_RenderPrivateData(128,1)),A.emit("JSPlayM4_Play_After",ho(void 0)),A.logger.log("4.开始播放 resP:"+x,A._playerWindow.canvasId),r(x)}}else{if(i&&n.buf&&(i=!1,A.emit(Eo,ho({type:xo.getVideoStreamCallback}))),t&&n.buf){var d=A.getFrameInfo();(null==d?void 0:d.width)&&(A.emit(Eo,ho({type:xo.appearFirstFrameCallback})),A.emit(Eo,ho({type:xo.averageStreamSuccessCallback})),t=!1)}var Q=new Uint8Array(n.buf);n.statusString?A.emit(Eo,ho({type:xo.pluginErrorHandler,iWndIndex:0,code:1001,data:n})):n.type&&"exception"===n.type&&A.emit(Eo,ho({type:xo.pluginErrorHandler,iWndIndex:0,code:1002,data:n})),a+=Q.length,A.wasmplayer.JSPlayM4_InputData(Q,Q.length),Q=null}"resume"!==e&&(A.playing=!0),A.emit("recordInputData",ho(n.buf))}),(function(e){Jg===e&&A&&(A.emit(Eo,ho({type:xo.pluginErrorHandler,iWndIndex:0,code:1003})),A.emit(Qo.SOCKET.close)),A.playing=!1,Kg(A),n()}),(function(e,t){A&&(null==A||A.emit(Eo,ho({type:xo.pluginErrorHandler,iWndIndex:0,code:1004,msg:t})),null==A||A.emit(Qo.SOCKET.error))})).then((function(t){Jg=t,A._oStreamClient.startPlay().then((function(){var t;if("resume"===e){var i,a,o=null==(a=A.wasmplayer)||null==(i=a.JSPlayM4_Pause)?void 0:i.call(a,0);o?(A.playing=!0,A._tempPauseDate=null,r(o)):(A.logger.error("startPlay pause error"),n())}else{var s,g,l=null==(g=A.wasmplayer)||null==(s=g.JSPlayM4_SetStreamOpenMode)?void 0:s.call(g,1);A.logger.log("2.设置流模式 resSSOM:"+l)}A.emit(Qo.API.play),(null==A||null==(t=A._options)?void 0:t.url.includes(".rec"))&&(null==A?void 0:A._playbackRate)>0&&setTimeout((function(){A.setPlaybackRate(A._playbackRate||1)}),1e3)})).catch((function(e){A.playing=!1,A.logger.error("startPlay error:",e),Kg(A),n(e.oError)})),A._detectTimer=setInterval((function(){A.emit(Eo,ho({type:xo.stutterDetectedCallback,data:{type:5,codeRate:(8*a/1e3).toFixed(2)}})),a=0}),1e3)}),(function(e){Kg(A),A.playing=!1,A.logger.error("openStream error:",e),Lg(A),n(e)}))}))}function Kg(A){A._detectTimer&&(clearInterval(A._detectTimer),A._detectTimer=null)}function Vg(A,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](A):A instanceof e}function Wg(A){return(A=+A)<10&&(A="0"+A),A+""}var Zg={startPos:{fX:.1,fY:.1},fontColor:{fR:0,fG:0,fB:0,fA:1},fontSize:{nFontWidth:20,nFontHeight:20},fontRotate:{fRotateAngle:0,fFillFullScreen:!1},fontFamily:"Arial",fontNumber:{nRowNumber:5,nColNumber:5},space:1,fontAlign:0,pstCanvasAdapt:{nCanvasAdaptMode:2,nRowSpace:0,nColSpace:0,nBaseCanvasWidth:0,nBaseCanvasHeight:0}};function Xg(){return Xg=Object.assign||function(A){for(var e=1;e1?(A.logger.warn("audio volume ("+e+") is invalid!"),0):(0===e?1===(t=A.wasmplayer.JSPlayM4_StopSoundShare())&&(A.volume=0):1===(t=A.wasmplayer.JSPlayM4_PlaySoundShare())&&(A.volume=e),A.emit(Qo.volumeChange,ho(e)),t)}(this,A)},t.use=function(A){this.pluginManager.use(A)},t.setFECCorrectType=function(A,e){return this.fECCorrect.setFECCorrectType(A,e)},t.setFEC2DParam=function(A,e){return this.fECCorrect.setFEC2DParam(A,e)},t.setFEC3DViewParam=function(A){return this.fECCorrect.setFEC3DViewParam(A)},t.get3DViewParam=function(A){return this.fECCorrect.get3DViewParam(A)},t.setPoster=function(A){},t.setPlaybackRate=function(A){!function(A,e){var t,i;if(e=+e,Number.isNaN(e))throw new Error("rate is error, only support 0.5 | 1 | 2 | 4 | 8 | 16");if(![.5,1,2,4,8,16].includes(e))throw new Error("rate is error, only support 0.5 | 1 | 2 | 4 | 8 | 16");null==(i=A._oStreamClient)||null==(t=i.setPlayRate)||t.call(i,Pg[e]);var a,r,n=A.playbackRate;if(n>e)for(var o=e;o=4&&(null==(r=A.wasmplayer)||null==(a=r.JSPlayM4_SetDecodeThreadNum)||a.call(r,4)),A.emit(Qo.API.rateChange,ho(e)),A.playbackRate=e,A._playbackRate=e}(this,A)},t.seek=function(A,e){return function(A,e,t){return A.wasmplayer.JSPlayM4_ResetBuffer(1),A.emit(Qo.API.seek,ho({startTime:e,endTime:t})),A._oStreamClient.seek(e,t).then((function(e){A._waterMarkParams&&A.setWaterMark(A._waterMarkParams)})),Promise.resolve()}(this,A,e)},t._setOptions=function(A){!function(A,e){if(A._options=u.all([{},oo,A._options||{},e],{clone:!1}),!A._options.id)throw new Error("id is required");if(!document.getElementById(A._options.id))throw new Error("#"+A._options.id+" node does not exist");if(A.pluginManager||(A.pluginManager=new Io(A)),"string"!=typeof A._options.id)throw new Error("id is required and only support string");if(A.$container=A._options.container||document.getElementById(A._options.id),A._options.width){var t="";/\d/.test(A._options.width+"")?t+=";width: "+A._options.width+"px;":t+=";width: "+A._options.width+";",A.$container&&(A.$container.style.cssText+=t)}if(A._options.height){var i="";/\d/.test(A._options.height+"")?i+=";height: "+A._options.height+"px;":i+=";height: "+A._options.height+";",A.$container&&(A.$container.style.cssText+=i)}if(A.$container.style.cssText+=";position: relative;",A._width=A.$container.clientWidth,A._height=A.$container.clientHeight,A._oStreamClient||(A._oStreamClient=new ws(A)),A.logger||(A.logger=Y(A._options.logger)),A.logger.log("[version] ",zg.version),A.logger.log("[Browser Info] ",JSON.stringify(Ls)),A.logger.log("[options] ",JSON.stringify(A._options)),A.i18n||(A.i18n=new N({en:ao,zh:ro})),A.fECCorrect||(A.fECCorrect=new Ms(A)),A._options.accessToken&&no(A._options.url)){var a,r,n,o=null==(a=A.urlInfo)?void 0:a.deviceSerial;if(A.urlInfo=_.parseEzopenUrl(A._options.url),!A.urlInfo.deviceSerial||!A._options.accessToken)throw new Error("deviceSerial is required!");A.service=new vn({deviceSerial:A.urlInfo.deviceSerial,accessToken:A._options.accessToken,domain:null==(n=A._options)||null==(r=n.env)?void 0:r.domain,extraParams:A._options.extraParams}),o!==A.urlInfo.deviceSerial&&(function(A){A.service.getDeviceCapacity().then((function(e){200==+e.code?(A.deviceCapacity=e.data,A.emit(Qo.NETWORK.deviceCapacity,ho(e.data))):A.logger.error("getDeviceCapacity error: ",e)})).catch((function(e){A.emit(Qo.NETWORK.error.error,ho(e)),A.emit(Qo.NETWORK.error.deviceCapacity,ho(e)),A.logger.error("getDeviceCapacity error: ",e)}))}(A),function(A){A.emit(Qo.NETWORK.deviceInfo,ho({})),A.service.getDeviceInfo().then((function(e){200==+e.code?(A.deviceInfo=e.data,A.emit(Qo.NETWORK.deviceInfo,ho(e.data))):A.logger.error("deviceInfo error: ",e)})).catch((function(e){A.emit(Qo.NETWORK.error.error,ho(e)),A.emit(Qo.NETWORK.error.deviceInfo,ho(e)),A.logger.error("deviceInfo error: ",e)}))}(A)),A&&o&&(A.logger.log("play url change "+A._options.url),A.emit(Qo.urlChange,ho(A._options.url)))}}(this,A)},t.enable3DZoom=function(A){return function(A,e){if(!A.playing)return-1;var t=A.wasmplayer,i=null==t.JSPlayM4_GetFrameInfo?void 0:t.JSPlayM4_GetFrameInfo.call(t);return new Promise((function(e,a){e({code:0,data:null==t.JSPlayM4_SetDisplayRegion?void 0:t.JSPlayM4_SetDisplayRegion.call(t,A._playerWindow.canvasId,0,i.width,0,i.height,!1,!0)})})),A.__fCallback=e,A.esCanvas=new fg(A.$container),A.esCanvas.setShapeType("Rect"),A.esCanvas.setDrawStyle("#ff0000","",0),A.esCanvas.setDrawStatus(!0,(function(A){"function"==typeof e&&e(A)})),A.__b3DZoom=!0,0}(this,A)},t.disable3DZoom=function(){return ug(this)},t.getOSDTime=function(){var A=this.getFrameInfo();return(null==A?void 0:A.year)?new Date((null==A?void 0:A.year)+"/"+(null==A?void 0:A.month)+"/"+(null==A?void 0:A.day)+" "+(null==A?void 0:A.hour)+":"+(null==A?void 0:A.minute)+":"+(null==A?void 0:A.second)).getTime()/1e3:0},t.getFrameInfo=function(){var A,e,t,i,a,r=null==(e=this.wasmplayer)||null==(A=e.JSPlayM4_GetFrameInfo)?void 0:A.call(e);if(!r)return null==(a=this.logger)||a.warn("[getFrameInfo] error",r),{};var n=Gs[null==r?void 0:r.codecType];return r.videoFormatName=n,(null==r?void 0:r.width)>0&&(null==r?void 0:r.height)>0&&((null==(t=this.__videoInfo)?void 0:t.width)!==(null==r?void 0:r.width)||(null==(i=this.__videoInfo)?void 0:i.height)!==(null==r?void 0:r.height))&&(r.videoFormatName||(r.videoFormatName=this.__videoInfo.videoFormatName),r.frameRate||(r.frameRate=this.__videoInfo.frameRate),this.__videoInfo=qg({},this.__videoInfo,r),this.emit(Qo.videoInfo,ho(this.__videoInfo))),r},t.setDisplayRegion=function(A,e,t,i,a,r){void 0===a&&(a=!0),void 0===r&&(r=!1);var n=function(A,e,t,i,a,r,n){void 0===r&&(r=!0),void 0===n&&(n=!1);var o=A.wasmplayer,s=A.getFrameInfo(),g=A._playerWindow.canvasId,l=document.getElementById(g);if(l){var C=function(A){return{width:(null==A?void 0:A.style.width)?+(null==A?void 0:A.style.width.replace("px","")):A.width||A.offsetWidth,height:(null==A?void 0:A.style.height)?+(null==A?void 0:A.style.height.replace("px","")):A.height||A.offsetHeight}}(l);A._options.dpr;var I=C.width,c=C.height;return n&&(c=C.width,I=C.height),null==A||A.emit("setDisplayRegion",ho({left:e,right:t,top:i,bottom:a,flag:r,isFullscreen:n})),o.JSPlayM4_SetDisplayRegion(g,I*e/s.width,I*t/s.width,c*i/s.height,c*a/s.height,!r,!1)}}(this,A,e,t,i,a,r);return 1===n},t.setSecretKey=function(A){null!=A&&""!==A&&(this._secretKey=A)},t.getOptions=function(){return this._options},t.setLogger=function(A){var e,t;this._options=u(this._options,{logger:A},{clone:!1}),null==(t=this.logger)||null==(e=t.setOptions)||e.call(t,A)},t.getVersion=function(){var A=this.wasmplayer.JSPlayM4_GetSDKVersion();return{version:"8.2.2-beta.3",decoder:this._wasmDecoderInfo.bSupHardOrSoft?"V3":"V1",decoderVersion:A.toString(16)}},t.setWaterMark=function(A){return this._waterMarkParams=A,function(A,e){var t=A.wasmplayer,i=A.$container.getBoundingClientRect(),a=i.width,r=i.height,n={nCanvasAdaptMode:2,nRowSpace:0,nColSpace:0,nBaseCanvasWidth:Math.floor(a),nBaseCanvasHeight:Math.floor(r)};return e=u.all([{},Zg,e||{},{pstCanvasAdapt:n}],{clone:!1}),new Promise((function(A,i){var a;1===(a=e&&e.fontString?t.JSPlayM4_SetWaterMarkFont({pFontString:e.fontString,pstStartPos:e.startPos,pstFontColor:e.fontColor,pstFontSize:e.fontSize,pstFontRotate:e.fontRotate,pstFontNumber:e.fontNumber,pFontFamily:e.fontFamily,pSpace:e.space,pstCanvasAdapt:e.pstCanvasAdapt}):t.JSPlayM4_SetWaterMarkFont(null))?A({code:0,msg:"水印设置成功"}):i({code:-1,msg:a})}))}(this,A)},t.setMirrorFlip=function(A){return function(A,e){var t;return A.service.setMirrorFlip({command:e,channelNo:null==(t=A.urlInfo)?void 0:t.channelNo})}(this,A)},t.setStreamInfoCallBackType=function(A,e){!function(A,e,t){var i,a,r,n;[0,1].includes(e)?A.wasmplayer?A.wasmplayer.JSPlayM4_SetStreamInfoCallBack(e,(function(e){null==t||t(e),A.emit(Qo.streamInfoCB,ho({systemFormat:e.nSystemformat,videoFormat:e.nVideoformat,videoFormatName:Gs[e.nVideoformat],audioFormat:e.nAudioformat,audioFormatName:Us[e.nAudioformat],audioChannels:e.nAudiochannels,audioBitsPerSample:e.nAudiobitspersample,audioSamplesRate:e.nAudiosamplesrate,audioBitRate:e.nAudiobitrate,width:e.nWidth,height:e.nHeight,frameRate:e.fFrameRate,intervalOfIFrame:e.nIntervalOfIFrame})),A.__videoInfo.width===e.nWidth&&A.__videoInfo.height===e.nHeight&&A.__videoInfo.frameRate===e.fFrameRate&&A.__videoInfo.videoFormatName===Gs[e.nVideoformat]||(A.__videoInfo={videoFormat:e.nVideoformat,videoFormatName:Gs[e.nVideoformat],width:e.nWidth,height:e.nHeight,frameRate:e.fFrameRate,intervalOfIFrame:e.nIntervalOfIFrame},A.emit(Qo.videoInfo,ho(Xg({},A.__videoInfo,{from:"setStreamInfoCallBack"})))),A.__audioInfo.audioFormat===e.nAudioformat&&A.__audioInfo.audioChannels===e.nAudiochannels&&A.__audioInfo.audioBitsPerSample===e.nAudiobitspersample&&A.__audioInfo.audioSamplesRate===e.nAudiosamplesrate&&A.__audioInfo.audioBitRate===e.nAudiobitrate||(A.__audioInfo={audioFormat:e.nAudioformat,audioFormatName:Us[e.nAudioformat],audioChannels:e.nAudiochannels,audioBitsPerSample:e.nAudiobitspersample,audioSamplesRate:e.nAudiosamplesrate,audioBitRate:e.nAudiobitrate},A.emit(Qo.audioInfo,ho(A.__audioInfo)))})):null==(a=A.logger)||null==(i=a.warn)||i.call(a,"player.wasmplayer is not defined"):null==(n=A.logger)||null==(r=n.warn)||r.call(n,"type "+e+" not supported")}(this,A,e)},t._addEventListener=function(){var A,e,t,i=this;this.on(Qo.videoInfo,(A=function(A){A.data.width&&A.data.height&&i._playerWindow.resize(A.data.width,A.data.height)},e=null,t=0,function(){for(var i=this,a=arguments.length,r=new Array(a),n=0;n{var a,r;gl={params:A};const n=_.parseEzopenUrl(A.url);let o={},s="";const g=new Qr({sdkType:e,baseURL:A.env?A.env.domain:Za,accessToken:A.accessToken,deviceSerial:n.deviceSerial,channelNo:n.channelNo,token:A.token||{},ezopenParams:(null==(a=A.extraParams)?void 0:a.ezopenParams)||{},timeZone:null==(r=n.searchParams)?void 0:r.timeZone}),l=[g.getEzopenUrl(A.url),g.getDeviceSupportQuality(A),g.getDeviceList(A)];if(A.url.indexOf(".rec")>-1){var C;if("rec"===n.type)o=Pr(n.searchParams.begin,n.searchParams.end,null==(C=n.searchParams)?void 0:C.timeZone,n.searchParams.busType),gl.timeZone=o.timeZone,s="&begin="+tr.formate(o.originBegin,"YYYYMMDDThhmmssZ")+"&end="+tr.formate(o.originEnd,"YYYYMMDDThhmmssZ")+"&timeZone="+o.timeZone;A.isCloudRec&&-1!==A.url.indexOf(".cloud")&&"7"===n.searchParams.busType?l.push(g.getCloudRecordTimes({begin:o.begin,end:o.end,spaceId:n.searchParams.spaceId})):-1!==A.url.indexOf(".cloud")&&"7"!==n.searchParams.busType||"base"!==e?l.push(g.getCloudTimes({begin:o.begin,end:o.end,url:A.url})):l.push(g.getLocalRecTimes({begin:o.begin,end:o.end}))}Promise.all(l).then((a=>{void 0!==a[0].code&&200!=a[0].code&&i(a[0]),gl.getEzopenUrlRes=a[0],gl.getDeviceSupportQualityRes=a[1],gl.getDeviceListRes=a[2];const r=a[3];if(A.url.indexOf(".rec")>-1&&r)if(A.isCloudRec&&-1!==A.url.indexOf(".cloud")&&"7"===n.searchParams.busType){if(gl.cloudRecordRecList=r||[],r.length){const A=Tr(r,["downloadPath","ownerId","iStorageVersion","spaceId","startTime","endTime","videoType","busType"],o.originBegin,o.originEnd);0===A.length&&(gl.getRecTimesRes="",t(gl));const e=JSON.stringify(A).replace("\\","");gl.getRecTimesRes=s+"&recSlice="+e.replace("\\","")+"&r="+Math.random(),t(gl)}else gl.getRecTimesRes="",t(gl);const A=JSON.stringify(playbackSlices).replace("\\","");gl.getRecTimesRes=s+"&recSlice="+A.replace("\\","")+"&r="+Math.random(),t(gl)}else gl.getRecTimesRes="",t(gl);else if(-1!==A.url.indexOf(".cloud")&&"7"!==n.searchParams.busType||"base"!==e)if(gl.cloudRecList=r||[],r.length){0===Tr(r,["downloadPath","ownerId","iStorageVersion","startTime","endTime","videoType"],o.originBegin,o.originEnd).length&&(gl.getRecTimesRes="",t(gl))}else-1!==A.url.indexOf(".rec")?(gl.localRecList=r||[],gl.getRecTimesRes=s,t(gl)):t(gl);else t(gl)})).catch((A=>{i(A)}))}))}_init(){this.logger.log("_init()");const A=this;this.videoInitTime=Date.now(),this.videoPlayState=1;let e=Object.assign({},this.params);const t=Date.now();Promise.all([this._initGetDeviceSupportQuality(),this._initEZUIKitPlayer(this.params),this._getRealUrlServices(this.params.url)]).then((A=>{if(A[2]&&this.autoplay){var i;const a=A[2].split("?")[0].replace("/live","").replace("/playback","");null==(i=this._collect)||i.report(1,{logInfo:{domain:a,params:e,preInit:null!==gl}}),$r(this,A[2],0,t).then((A=>{var e,t;0===A.code&&(this.options.muted||(null==(t=this.options)||null==(e=t.volumeOptions)?void 0:e.muted)||setTimeout((()=>{this.openSound()}),100));(null==gl?void 0:gl.cloudRecordRecList)?null==this.emit||this.emit.call(this,er.setAllDayRecTimes,{type:"cloudRecordTimes",list:gl.cloudRecordRecList}):(null==gl?void 0:gl.cloudRecList)?null==this.emit||this.emit.call(this,er.setAllDayRecTimes,{type:"cloudRecTimes",list:gl.cloudRecList}):(null==gl?void 0:gl.localRecList)&&(null==this.emit||this.emit.call(this,er.setAllDayRecTimes,{type:"localTimes",list:gl.localRecList}))})).catch((A=>{var e,t,i;if(this.playing=!1,1===this.videoPlayState||4===this.videoPlayState){var r;this.videoPlayState=3;const e=Date.now();null==(r=this._collect)||r.report(3,{logInfo:{domain:a,loadTime:e-this.videoInitTime,err:A},errorCode:Oa(A),loadTime:e-this.videoInitTime})}this.isInspect||this.emit("message",A&&A.msg||(null==(i=this.i18n)||null==(t=i.t)?void 0:t.call(i,"GET_PLAYURL_FAILED")),"fetchError");null==(e=this.logger)||e.error(A)}))}})).catch((e=>{var t,i,a;if(this.playing=!1,1===A.videoPlayState||4===A.videoPlayState){var r;A.videoPlayState=3;const t=Date.now();null==(r=A._collect)||r.report(3,{logInfo:{loadTime:t-A.videoInitTime,err:e},errorCode:Oa(e),loadTime:t-A.videoInitTime})}A.isInspect||this.emit("message",e&&e.msg||(null==(a=this.i18n)||null==(i=a.t)?void 0:i.call(a,"GET_PLAYURL_FAILED")),"fetchError");null==(t=this.logger)||t.error(e)})).finally((()=>{this.playing&&this._deviceSerialChangeServices(),setTimeout((()=>{gl=null}),5e3),A._initTime=(new Date).getTime()-A.videoInitTime})),Hr.createInstance(this.id,{rejection:!1,play:!1,pantile:!1,recordvideo:!1,talk:!1,expend:!1,webExpend:!1,zoom:!1,sound:!1,isEditing:!1,rec:!1,cloudRec:!1}),this.initSuccessTime=(new Date).getTime(),this.Talk=new Ja({deviceSerial:this.urlInfo.deviceSerial,accessToken:this.params.accessToken,capacity:this.capacity,channelNo:this.params.talkChannelNo||"0",env:this.env}),this.Talk&&this.Talk.eventEmitter.on("handleTalkError",(e=>{var t;this.logger.warn("talk error:",e),this.emit("talkingChange",!1),(null==e?void 0:e.message)&&"Permission denied"===e.message?this.emit("message",A.i18n.t("TALK_PERMISSION_DENIED"),"talkError"):this.emit("message",A.i18n.t("TALK_ERROR"),"talkError"),(null==(t=this.controls)?void 0:t.volumeControl)&&(this.controls.volumeControl.disabled=!1);try{this.Talk.stopTalk()}catch(A){}this.__talk_muted__&&(null==this.openSound||this.openSound.call(this)),this.__talk_muted__=!1,this._talking=!1;const i=Hr.getGlobalState(),a=Hr.getInstance(this.id);i.talk&&Hr.setGlobalState({talk:!1}),a.getState().talk&&a.setState({talk:!1})}))}_initEZUIKitPlayer(A){var e;return null==(e=this.logger)||e.log("_initEZUIKitPlayer()"),function(A){var e,t,i,a;null==(e=A.logger)||e.log("initDecoder()"),A.emit(er.decoderLoad);const r=A.url.includes("busType=7")?"v1":A.params.decoderType;A.jSPlugin=new Al({szId:A.params.id,container:A.contentControl.$video,width:A.width,height:A.height,szBasePath:"",staticPath:A.staticPath,downloadRecord:A.downloadRecord,env:A.env,decoderType:r,decodeEngine:void 0!==A.params.decodeEngine?A.params.decodeEngine:1,autoPlay:!1,dpr:A.params.dpr,url:A.params.url,debugDownloadData:A.params.debugDownloadData,disableRenderPrivateData:A.disableRenderPrivateData,logger:{level:A.params.loggerOptions.level,showTime:!!A.params.loggerOptions.showTime},streamInfoCBType:A.params.streamInfoCBType});let n=!1,o=0,s=0;const g=A;return A.jSPlugin.EventCallback={openStreamCallback:()=>{A._openStreamTime=(new Date).getTime(),n=!1},getStreamHeaderCallback:()=>{n=!1},getVideoStreamCallback:()=>{A.getVideoStreamTime=(new Date).getTime(),A.isCall},firstFrameCallback:e=>{switch(e){case 0:A.decodeEngine="v3-soft";break;case 1:A.decodeEngine="v3-hard";break;case 2:A.decodeEngine="v1-soft"}try{const e=JSON.parse(window.localStorage.getItem(Xa)||"{}");Array.isArray(e[g.deviceSerial+"_"+g.channelNo])&&(A.maxReloadTime=e[g.deviceSerial+"_"+g.channelNo].length)}catch(A){}A.startPlayTime&&((new Date).valueOf(),A.startPlayTime=null);const t=A.jSPlugin._JSPlayM4_GetFrameInfo(0);t.frameRate&&(A.frameDecordTime=Math.round(1e3/t.frameRate).toFixed(2)),A.displayStreamInfo(A.showStreamInfo)},appearFirstFrameCallback:()=>{var e;A.appearFirstFrameTime=(new Date).getTime(),document.getElementById(`${A.id}-player`)&&(document.getElementById(`${A.id}-player`).style.display="block"),"function"==typeof A.params.handleFirstFrameDisplay&&A.params.handleFirstFrameDisplay({retcode:0,id:A.params.id,type:"handleFirstFrameDisplay"}),null==A||A.emit(er.firstFrameDisplay),"function"==typeof A.params.handleSuccess&&A.params.handleSuccess({retcode:0,id:A.id,type:"handleSuccess"}),A.recType&&(A._recOSDTimer&&(clearInterval(A._recOSDTimer),A._recOSDTimer=null),A._recOSDTimer=setInterval(tl((function*(){null==A.getOSDTime||A.getOSDTime.call(A)})),1e3)),A.muted||A.openSound(),A.loading=!1,null==(e=A.posterControl)||e.hide()},averageStreamSuccessCallback:()=>{A.averageStreamSuccessTime=A.initSuccessTime-A._initTime+(A._gotWsUrlTime-A._startGetWsUrlTime)+(A.appearFirstFrameTime-A._openStreamTime)},loadEventHandler:function(){},pluginErrorHandler:(e,t,i)=>{if(1003===t);else if(1!=(null==i?void 0:i.errorCode)){var a;const e=()=>{const e=Date.now();if(1===A.videoPlayState||2===A.videoPlayState||4===A.videoPlayState){var t;const a=A.wsUrl.split("?")[0].replace("/live","").replace("/playback","");null==(t=g._collect)||t.report(3,{domain:a,logInfo:{err:i,loadTime:e-A.videoInitTime},errorCode:Oa(i),loadTime:e-A.videoInitTime})}1===A.videoPlayState||4===A.videoPlayState?A.videoPlayState=3:2===A.videoPlayState&&(A.videoPlayState=5);let a=A.i18n.t("DISCONNECT");a=A.i18n.t("39"+i.errorCode),A.Theme&&A.Theme.setDecoderState({play:!1}),A.isCall||A.isInspect||A.emit("message",a,"socketError"),"function"==typeof A.params.handleError&&A.params.handleError({msg:a,retcode:i.errorCode,id:A.id,type:"handleError"})};(null==(a=A.reloadCodeBalckList)?void 0:a.indexOf(i.errorCode))>-1&&"1004"!=i.errorCode?e():A._reload(i).catch((A=>{-3==A.code&&"1004"!=i.errorCode&&e()}))}},setRunTimeInfoCallBack:({pstRuntimeInfo:e})=>{if(5===e.nErrorCode&&(g.isInspect||A.playing&&(g.emit("message",A.i18n.t("DEVICE_ENCRYPTED"),"validateCodeError"),A.stop())),!n&&9!==e.nErrorCode&&1024!==e.nErrorCode&&352321537!==e.nErrorCode&&262144!==e.nErrorCode){var t;Or(A.id);const a=-1,r=e,n=(null==(t=A.urlInfo.searchParams)?void 0:t.begin)||tr.formate(new Date,"YYYYMMDD")+"000000",o=e=>{var t;const i=null==(t=A.urlInfo.searchParams)?void 0:t.begin;"function"==typeof A.params.handleError&&A.params.handleError({retcode:a,data:il({},r,{time:/\d{10}/.test(e)?tr.formate(e,"YYYYMMDDhhmmss"):i||tr.formate(new Date,"YYYYMMDD")+"000000"}),id:g.params.id,type:"handleRunTimeInfoError"})};var i;A._tempSeekTime?o(null==(i=A._tempSeekTime)?void 0:i.getTime()):A.getOSDTime().then((e=>{"rec"===A.urlInfo.type&&(A._seekDate=/\d{10}/.test((null==e?void 0:e.data)+"")?tr.strToDate(null==e?void 0:e.data):n?tr.strToDate(n):new Date(tr.formate(new Date,"YYYY-MM-DD")+" 00:00:00")),o(null==e?void 0:e.data)})),setTimeout((()=>{A.stop()}),1e3)}n=!0},setAdditionDataCallBack:function(e){"function"==typeof A.params.handleAdditionData&&A.params.handleAdditionData({retcode:0,data:e,id:A.id,type:"handleAdditionData"})},stutterDetectedCallback:e=>{if(5===e.type&&(A.streamInfo.codeRate=e.codeRate+"/Kbps",A._updateStreamInfo({codeRate:A.streamInfo.codeRate})),1===e.type&&(A.streamInfo.frameLostRate=(100*e.frameLossNum/e.frameNumInterval).toFixed(2)+"%",A._updateStreamInfo({frameLostRate:A.streamInfo.frameLostRate})),2===e.type){const r=(e.runtimeInfo||e.pstRuntimeInfo||{}).nAverageDecodeTime*e.account-A.frameDecordTime*e.account;if(r>0&&(r>=150&&r<250&&(s+=10),r>=250&&r<400&&(s+=20),r>=400&&r<650&&(s+=30),r>=650&&(s+=40)),o===A.lagRateCycle){const e=parseFloat((s/A.lagRateCycle).toFixed(2));var t;if(A.streamInfo.lagRate=e+"%",A._updateStreamInfo({lagRate:A.streamInfo.lagRate}),A.autoVideoLevel)if(e>15)null==(t=A.eventEmitter)||t.emit(er.autoVideoLevel,{code:1,lagRate:e});else if(e>1.5&&e<=15){var i;null==(i=A.eventEmitter)||i.emit(er.autoVideoLevel,{code:0,lagRate:e})}else{var a;null==(a=A.eventEmitter)||a.emit(er.autoVideoLevel,{code:2,lagRate:e})}o=0,s=0}else o++}}},void 0!==A.params.handleTalkSuccess&&(A.handleTalkSuccess=A.params.handleTalkSuccess),void 0!==A.params.handleTalkError&&(A.handleTalkError=A.params.handleTalkError),null==(t=A.jSPlugin.player)||t.event.on(er.streamInfoCB,(e=>{var t;const i={videoFormat:(e.data.videoFormatName+"").indexOf("5")>-1?"H265":"H264",frameRate:e.data.frameRate+"FPS",systemFormat:4==e.data.systemFormat?"RTP":2==e.data.systemFormat?"PS":3==e.data.systemFormat?"TS":"other",resolution:Kr(e.data.height)};A.streamInfo=il({},A.streamInfo,i),A._updateStreamInfo(i),null==(t=A.eventEmitter)||t.emit(er.streamInfoCB,e.data)})),null==(i=A.jSPlugin.player)||i.event.on(er.videoInfo,(e=>{null==A||A.emit(er.videoInfo,e.data),A.videoInfo=e.data})),null==(a=A.jSPlugin.player)||a.event.on(er.audioInfo,(e=>{null==A||A.emit(er.audioInfo,e.data),A.audioInfo=e.data})),new Promise((e=>{var t;null==(t=A.jSPlugin.player)||t.event.on("initializing",(t=>{var i;"function"==typeof A.params.handleInitSuccess&&A.params.handleInitSuccess({retcode:0,id:A.params.id,type:"handleInitSuccess"}),"loaded"===(null==t||null==(i=t.data)?void 0:i.cmd)&&(null==A||A.emit(er.decoderLoaded),e())}))}))}(this)}_reload(A){const e=this;return new Promise((function(t,i){try{let g=JSON.parse(localStorage.getItem(Xa));const l=e.deviceSerial+"_"+e.channelNo;if(Array.isArray(g[l])&&g[l].length>0){e.maxReloadTime-=1;let s=g[l].shift();if(g[l].push(s),localStorage.setItem(Xa,JSON.stringify(g)),e.maxReloadTime>0){var a,r,n;const o=e.wsUrl.split("?")[0].replace("/live","").replace("/playback","");if(null==(a=e._collect)||a.report(6,{logInfo:{wsUrl:e.wsUrl,domain:o,error:Oa(A)}}),!/^wss\:\/\//.test(e.wsUrl))return void i({code:-4,msg:"地址不可用"});if((null==(r=g[l])?void 0:r[0].domain)&&(null==(n=g[l])?void 0:n[0].port)){const A=e.wsUrl.split("?")[0];e.wsUrl=e.wsUrl.replace(A,A.replace(/(wss:\/\/)[^\/]+/,`$1${g[l][0].domain}:${g[l][0].port}`))}e.url.indexOf("rec")>-1&&e._seekDate&&(e.wsUrl=e.wsUrl.replace(/&begin=\d{8}T\d{6}Z/,"&begin="+e._seekDate.Format("yyyyMMddThhmmssZ")));const s=Date.now();e.stop((()=>{}),!0).then((A=>{$r(e,e.wsUrl,0,s).then((A=>{if(0===A.code){var i,a;const A=(null==(i=g[e.deviceSerial+"_"+e.channelNo])?void 0:i[0].domain)||"",r=e.wsUrl.split("?")[0].replace("/live","").replace("/playback","");null==(a=e._collect)||a.report(7,{logInfo:{wsUrl:A,domain:r,reloadRes:{code:1,msg:"发起重试成功"}}});Hr.getInstance(e.id).getState().sound&&setTimeout((()=>{e.openSound()}),2e3),t({code:1,msg:"发起重试成功"})}}))})).catch((A=>{var t,a;const r=(null==(t=g[e.deviceSerial+"_"+e.channelNo])?void 0:t[0].domain)||"",n=r.split("?")[0].replace("/live","").replace("/playback","");null==(a=e._collect)||a.report(8,{logInfo:{wsUrl:r,domain:n,reloadRes:{code:-1,msg:"发起重试失败",stopError:A}}}),i({code:-1,msg:"发起重试失败",stopError:A})}))}else{var o;null==(o=e._collect)||o.report(8,{logInfo:{reloadRes:{code:-2,msg:"所有备用机房地址取流失败"}}}),i({code:-2,msg:"所有备用机房地址取流失败"}),e.emit("message",e.i18n.t("PLAY_FAILED"),"reloadError")}}else{var s;null==(s=e._collect)||s.report(8,{logInfo:{reloadRes:{code:-3,msg:"无可用的备用机房地址"}}}),i({code:-3,msg:"无可用的备用机房地址"})}}catch(A){var g;null==(g=e._collect)||g.report(8,{logInfo:{reloadRes:{code:-4,msg:"备用机房地址重试中断",error:A}}}),i({code:-4,msg:"备用机房地址重试中断"})}}))}_getRealUrlServices(A){var e=this;return ol((function*(){var t,i;null==(i=e.logger)||null==(t=i.log)||t.call(i,"_getRealUrlServices()");const a=e;e.urlInfo=_.parseEzopenUrl(A);const r=-1!==A.indexOf(".cloud");return e._startGetWsUrlTime=(new Date).getTime(),new Promise(((t,i)=>{e._beforeGetRealUrlServices(A).then((A=>{let n="";if(""!==A[0]&&"string"==typeof A[0])n=A[0],"rec"===e.urlInfo.type&&(n=n.replace(/begin=\w+/gi,"").replace(/end=\w+/gi,"").replace(/timeZone=\w+/gi,""),n+=A[1]),n=n.replace(/&&/gi,"&"),r&&""===A[1]&&("7"===e.urlInfo.searchParams.busType?i({retcode:"420004",msg:a.i18n.t("NO_CLOUD_RECORD")}):i({retcode:"420003",msg:a.i18n.t("NO_RECORD")})),n.replace(/&&/gi,"&"),t(a._handleRealUrl(n));else{var o;const r=JSON.parse(localStorage.getItem(Xa)),n=r&&r[a.deviceSerial+"_"+a.channelNo]||[];n.length>0&&n[0].wsUrl&&!["10002","10001","10031"].includes(null==(o=A[0])?void 0:o.code)?t(n[0].wsUrl):(e.messageControl.hide(),i(sl({},A[0],{type:"fail"})))}})).catch((A=>{}))}))}))()}_beforeGetRealUrlServices(A){if(gl&&gl.getEzopenUrlRes)return A.indexOf(".rec")>-1&&void 0!==gl.getRecTimesRes?Promise.resolve([gl.getEzopenUrlRes,gl.getRecTimesRes]):Promise.resolve([gl.getEzopenUrlRes]);"rec"===this.urlInfo.type&&"cloud"===this.urlInfo.recType&&A.indexOf("busType=7")>-1&&this._spaceId&&(A=/spaceId=\d*/.test(A)?A.replace(/spaceId=\d*/,`spaceId=${this._spaceId}`):(A+"&spaceId="+this._spaceId).replace("?&","?").replace("&&","&"));let e=[this._services.getEzopenUrl(A)];return A.indexOf(".rec")>-1&&e.push(function(A){return Zr.apply(this,arguments)}(this)),Promise.all(e)}_play(A){return function(A,e){return null==A.emit||A.emit.call(A,er.play),A._playStartTime=(new Date).getTime(),"string"==typeof e&&(e={url:e}),e&&!e.unSaveUrl&&("string"==typeof e.url&&(A.url=e.url),A.urlInfo=_.parseEzopenUrl(A.url),A.deviceSerial=A.urlInfo.deviceSerial,A.channelNo=A.urlInfo.channelNo),A.playing=!0,A.loading=!0,A._getRecType((null==e?void 0:e.url)||A.url),new Promise(((t,i)=>{var a;A.isStoping=!0,null==(a=A.jSPlugin)||a.JS_Stop("string"!=typeof e&&(null==e?void 0:e.showPoster)?e.showPoster:0).then((()=>{Or(A.id),A.stopTime=Date.now();const a=Date.now();A._getRealUrlServices("string"!=typeof e&&(null==e?void 0:e.url)?e.url:A.url,e&&"string"!=typeof e&&!!e.url).then((e=>{$r(A,e,A.stopTime-A._playStartTime,a).then((e=>{A.muted||setTimeout((()=>{A.openSound()}),500),t({code:0})})).catch((A=>{i(A)}))})).catch((e=>{var t,a,r;let n=e.msg?e.msg:null==(t=A.i18n)?void 0:t.t("PLAY_FAILED");A.playing=!1,A.isCall||A.isInspect,null==(r=A.params)||null==(a=r.handleError)||a.call(r,{code:e.oError?e.oError.errorCode:e.code||-1,msg:n,id:A.params.id,type:"handleError"}),A.emit("message",n,"playError"),i({code:e.oError?e.oError.errorCode:e.code||-1,msg:n,id:A.id,type:"handleError"})}))}))}))}(this,A)}stop(A=()=>{},e){return function(A,e=()=>{},t){var i;return A.playing=!1,A.autoVideoLevelResume=A.autoVideoLevel,null==(i=A.jSPlugin)?void 0:i.JS_Stop(t).then((()=>{null==A.emit||A.emit.call(A,er.stop,{eventType:er.stop,code:0,msg:A.i18n.t("STOP_SUCCESS")}),e()}))}(this,A,e)}pause(A){return function(A,e){return A.playing=!1,new Promise(((t,i)=>{var a,r;null==(a=A.jSPlugin)||a.JS_CloseSound(0),null==(r=A.jSPlugin)||r.JS_Pause(0,e).then((e=>{null==A.emit||A.emit.call(A,er.pause,{eventType:er.pause,code:0,msg:A.i18n.t("PAUSE")}),t()})).catch((e=>{null==A.emit||A.emit.call(A,er.pause,{eventType:er.pause,code:-1,msg:e||A.i18n.t("PAUSE_FAILED")}),i(e)}))}))}(this,A)}_resume(A){return function(A,e){return new Promise(((t,i)=>{var a;if(A.validateCode&&""!=A.validateCode&&(null==(a=A.jSPlugin)||a.JS_SetSecretKey(0,A.validateCode)),!zr)return A.play().then((()=>{t({})})).catch((A=>{i(A)}));A.jSPlugin.JS_Resume(e).then((e=>{var i;A.playing=!0,setTimeout((()=>{var e;-1!==A.url.indexOf(".rec")&&1!=A.speed&&(null==(e=A.jSPlugin)||e.JS_Speed(A._speed))}),500),null==A.emit||A.emit.call(A,er.resume,{eventType:er.resume,code:0,msg:null==(i=A.i18n)?void 0:i.t("RESUME")}),t(e)})).catch((e=>{var t;null==A.emit||A.emit.call(A,er.resume,{eventType:er.resume,code:-1,msg:e||(null==(t=A.i18n)?void 0:t.t("RESUME_FAILED"))}),i(e)}))}))}(this,A)}changeVideoLevel(A){return function(A,e){if("object"==typeof e?"auto"===e.level:"auto"===e)return A.autoVideoLevel=!0,null==A.emit||A.emit.call(A,er.currentVideoLevel,"auto",A.videoLevel),null==A.emit||A.emit.call(A,er.changeVideoLevel,{eventType:er.changeVideoLevel,code:0,data:"auto",msg:A.i18n.t("CHANGE_VIDEO_LEVEL")}),Promise.resolve({code:1,data:e});const t=(A.videoLevelList||[]).find((A=>+A.level==+("object"==typeof e?e.level:e)));var i;return t?(A.videoLevel=t.level,A.streamTypeIn=t.streamTypeIn,A.autoVideoLevel=!1,null==A||A.emit(er.currentVideoLevel,t,A.videoLevel),new Promise(an((function*(i){let a=A.url;if("compatible"===(null==t?void 0:t.type))a.indexOf(".hd.live")>=0?a=a.replace(".hd.live",".live"):a.indexOf(".live")>=0&&(a=a.replace(".live",".hd.live"));else try{var r,n,o,s;null==(n=A.logger)||null==(r=n.log)||r.call(n,"[https request] setVideoLevel()","videoLevel",JSON.stringify(e));const t=yield null==(o=A._services)?void 0:o.setVideoLevel(A.videoLevel);null==A||null==(s=A.emit)||s.call(A,er.http.setVideoLevel,t)}catch(A){}A.changePlayUrl({url:A.url},(()=>{}),!1).then((t=>{null==A||A.emit(er.changeVideoLevel,{eventType:er.changeVideoLevel,code:0,data:e,msg:A.i18n.t("CHANGE_VIDEO_LEVEL")}),i({code:0,data:e,msg:A.i18n.t("CHANGE_VIDEO_LEVEL")})})).catch((()=>{null==A||A.emit(er.changeVideoLevel,{eventType:er.changeVideoLevel,code:-1,data:e,msg:A.i18n.t("CHANGE_VIDEO_LEVEL_FAIL")}),i({code:-1,data:e,msg:A.i18n.t("CHANGE_VIDEO_LEVEL_FAIL")})}))})))):(null==A.emit||A.emit.call(A,er.changeVideoLevel,{eventType:er.changeVideoLevel,code:-2,data:e,msg:A.i18n.t("VIDEO_LEVEL_NOT_SUPPORT")+":"+JSON.stringify(e)}),null==(i=A.logger)||i.warn("video level does not exist!"),Promise.resolve({code:-2,data:e}))}(this,A)}_setVideoLevel(A){return Mr(this,A)}reSetTheme(A=[]){}_changePlayUrl(A,e=()=>{},t=!0){return An(this,A,e)}getOSDTime(){return A=this,new Promise(((e,t)=>{var i;null==(i=A.jSPlugin)||i.JS_GetOSDTime(0).then((t=>{A.__noSyncOSD||(null==A||A.emit(er.getOSDTime,{eventType:er.getOSDTime,code:0,data:t,msg:A.i18n.t("GET_OSD_TIME")}),t&&t>0&&(A._seekDate=new Date(1e3*t))),e({code:0,retcode:0,data:t})})).catch((e=>{null==A||A.emit(er.getOSDTime,{eventType:er.getOSDTime,code:-1,msg:e||A.i18n.t("GET_OSD_TIME")}),t({code:-1,retcode:-1,data:e})}))}));var A}capturePicture(A,e=!1,t,i=!0){return function(A,e,t=!1,i=!0,a=!0){var r;e=e||(new Date).getTime()+"";var n=null==(r=A.jSPlugin)?void 0:r.JS_CapturePicture(0,e,"JPEG",t,!!i);return new Promise(((t,i)=>{n.then((i=>{const r={id:A.id,code:0,data:i.data,type:"handleCapturePicture"};null==A||A.emit(er.capturePicture,{eventType:er.capturePicture,code:0,data:i.data,msg:A.i18n.t("CAPTURE_SUCCESS")}),"function"==typeof A.params.handleCapturePicture&&A.params.handleCapturePicture(r),-1!==A.url.indexOf(".cloud")&&-1!==A.url.indexOf("busType=7")&&!1!==a&&fetch(A.env.domain+"/api/service/cloud/upload/url"+`?fileName=${e}&fileType=pic&expireDays=-1&urlExpireTime=1&bizType=ezuikit&accessToken=${A.accessToken||A.token.httpToken.url}`,{method:"GET"}).then((A=>A.json())).then((e=>{if(e.data&&e.data[0]){let t=new FormData;Object.keys(e.data[0].fields).map((A=>{t.append(A,e.data[0].fields[A])}));let a=atob(i.data.base64.split(",")[1]),r=[];for(let A=0;A{var t;e.response&&e.response.meta&&200==e.response.meta.code&&(null==(t=A.logger)||t.log(`${i.data.fileName} upload to cloud storage completed`))}});o.upload()}else{var t;null==(t=A.logger)||t.error("Cloud recording file upload address acquisition failed",e.meta.message)}})).catch((e=>{var t;null==(t=A.logger)||t.error("Cloud recording file upload failed: ",e)})),t(r)})).catch((e=>{null==A||A.emit(er.capturePicture,{eventType:er.capturePicture,code:-1,msg:e||A.i18n.t("CAPTURE_FAILED")});const t=Object.assign({id:A.id,type:"handleCapturePicture",code:-1},e);"function"==typeof A.params.handleCapturePicture&&A.params.handleCapturePicture(t),i(t)}))}))}(this,A,e,t,i)}startSave(A,e){return this.recording||!this.playing?Promise.resolve():(this.autoVideoLevelResume=this.autoVideoLevel,this.autoVideoLevel=!1,function(A,e,t){var i;return A._playing?(null==(i=A.jSPlugin)?void 0:i.JS_StartSave(e,((e,t)=>{A.recordRes={url:e,file:t}}),t||A.urlInfo.validateCode)).then((()=>{null==A.emit||A.emit.call(A,er.startSave,{eventType:er.startSave,code:0,msg:A.i18n.t("START_RECORD_SUCCESS")}),null==A.emit||A.emit.call(A,da.EVENTS.recordingChange,!0),Hr.getInstance(A.id).setState({recordvideo:!0}),A._recording=!0})).catch((()=>{null==A.emit||A.emit.call(A,er.startSave,{eventType:er.startSave,code:-1,msg:A.i18n.t("START_RECORD_FAILED")}),null==A.emit||A.emit.call(A,da.EVENTS.recordingChange,!1)})):Promise.resolve()}(this,A,e||this.urlInfo.validateCode))}startRecord(A,e){return this.startSave(A,e)}stopSave(){return this.recording?(this.autoVideoLevel=this.autoVideoLevelResume,function(A){var e,t;const i=Hr.getInstance(A.id);return(null==i?void 0:i.getState().recordvideo)?(null==(t=A.Theme)||null==(e=t.setDecoderState)||e.call(t,{recordvideo:!1}),new Promise(((e,t)=>{var a;return null==(a=A.jSPlugin)?void 0:a.JS_StopSave().then((()=>{setTimeout((()=>{null==A||A.emit(er.stopSave,{eventType:er.stopSave,code:0,data:A.recordRes,msg:A.i18n.t("STOP_RECORD_SUCCESS")}),null==A.emit||A.emit.call(A,da.EVENTS.recordingChange,!1),i.setState({recordvideo:!1}),setTimeout((()=>{A.recordRes=null}),50),A._recording=!1,e(rn({},A.recordRes||{}))}),200)})).catch((()=>{null==A||A.emit(er.stopSave,{eventType:er.stopSave,code:-1,msg:A.i18n.t("STOP_RECORD_FAILED")}),A.recordRes=null,t()}))}))):Promise.resolve()}(this)):Promise.resolve()}stopRecord(){return this.stopSave()}openSound(){return function(A){if(A._talking)return Promise.resolve();A.__muted=!1;const e=Hr.getInstance(A.id);var t=null==A.jSPlugin.JS_OpenSound?void 0:A.jSPlugin.JS_OpenSound.call(A.jSPlugin,0);return null==A.emit||A.emit.call(A,er.openSound,{eventType:er.openSound,code:t,msg:A.i18n.t("OPEN_SOUND")}),Hr.setGlobalState({sound:!0}),e.setState({sound:!0}),Array.isArray(Hr.listInstances())&&Hr.listInstances().map((e=>{e.state.sound&&e.id!=A.id&&Hr.getInstance(e.id).setState({sound:!1})})),A.muted=!1,Promise.resolve(t)}(this)}closeSound(){return function(A){if(A._talking)return Promise.resolve();A.__muted=!0;var e=A.jSPlugin.JS_CloseSound(0);return null==A||A.emit(er.closeSound,{eventType:er.closeSound,code:e,msg:A.i18n.t("CLOSE_SOUND")}),Hr.getInstance(A.id).setState({sound:!1}),Hr.setGlobalState({sound:!1}),A.muted=!0,Promise.resolve(e)}(this)}enableZoom(){var A;(A=this).use3DZoom||A.zooming||(A.zooming=!0,null==A||A.emit(er.zoom.openZoom))}closeZoom(){var A;!(A=this).use3DZoom&&A.zooming&&(A.zooming=!1,null==A.emit||A.emit.call(A,er.zoom.closeZoom))}zoomAdd(A){!function(A,e){const t=A.zoom+(e||1);!A.use3DZoom&&A.zooming&&(A.zoom=t)}(this,A)}zoomSub(A){!function(A,e){const t=A.zoom-(e||1);!A.use3DZoom&&A.zooming&&(A.zoom=t)}(this,A)}enable3DZoom(){return sn(this)}close3DZoom(){return function(A){if(!A.use3DZoom)return new Promise((function(e,t){var i,a;null==A.emit||A.emit.call(A,er.close3DZoom,{eventType:er.close3DZoom,code:-1,msg:null==(i=A.i18n)?void 0:i.t("3D_ZOOM_NOT_ACTIVED")}),e({code:-1,msg:null==(a=A.i18n)?void 0:a.t("3D_ZOOM_NOT_ACTIVED")})}));if(A.is3DZooming){var e;A.Theme&&A.Theme.setDecoderState({zoom:!1});const t=A.jSPlugin.JS_Disable3DZoom(0);return A.is3DZooming=!1,null==A.emit||A.emit.call(A,er.close3DZoom,{eventType:er.close3DZoom,code:t,msg:null==(e=A.i18n)?void 0:e.t("CLOSE_3D_ZOOM")}),Promise.resolve({code:t})}return new Promise((function(e,t){var i,a;null==A.emit||A.emit.call(A,er.close3DZoom,{eventType:er.close3DZoom,code:0,msg:null==(i=A.i18n)?void 0:i.t("3D_ZOOM_CLOSED")}),e({code:0,msg:null==(a=A.i18n)?void 0:a.t("3D_ZOOM_CLOSED")})}))}(this)}changeZoomType(A){return function(A,e){var t;if(e&&A.capacity&&!A.support3DZoom)return null==A.emit||A.emit.call(A,er.changeZoomType,{eventType:er.changeZoomType,code:-1,msg:null==(t=A.i18n)?void 0:t.t("DEVICE_NOT_SUPPORT_3D_ZOOM")}),Promise.resolve({code:-1,msg:A.i18n.t("DEVICE_NOT_SUPPORT_3D_ZOOM")});if(A.is3DZooming)A.close3DZoom();else if(A.Theme&&A.Theme.decoderState.state.zoom){var i,a;null==(a=A.Zoom)||null==(i=a.stopZoom)||i.call(a)}return A.Theme&&A.Theme.setDecoderState({zoom:!1}),A.use3DZoom=e,new Promise((t=>{setTimeout((()=>{var i,a;const r=document.getElementById(`${A.id}-zoom-content`);e?r&&(r.title=A.i18n.t("3D_ZOOM")):r&&(r.title=A.i18n.t("ZOOM")),A.isMobile&&e&&A.enable3DZoom(),null==A.emit||A.emit.call(A,er.changeZoomType,{eventType:er.changeZoomType,code:0,msg:null==(i=A.i18n)?void 0:i.t("CHANGE_ZOOM_TYPE")}),t({code:0,msg:null==(a=A.i18n)?void 0:a.t("CHANGE_ZOOM_TYPE")})}),500)}))}(this,A)}reSize(A,e){this.resize(A,e)}fast(A){return function(A,e){if(e)en(A,e);else{const e=za.findIndex((e=>e===A.speed));var t;if(!(e>0&&e<=za.length-1))return null==(t=A.logger)||t.warn("it is already the maximum speed!"),"function"==typeof A.params.handleError&&A.params.handleError({msg:A.i18n.t("MAX_SPEED_LIMIT"),retcode:1003,code:-1,id:A.id,type:"fast"}),Promise.resolve({code:-1,data:{speed:A.speed,msg:A.i18n.t("MAX_SPEED_LIMIT")}});en(A,za[e-1])}return new Promise((e=>{null==A.emit||A.emit.call(A,er.fast,{eventType:er.fast,code:0,data:A.speed,msg:A.i18n.t("SPEED")}),e({code:0,data:{speed:A.speed}})}))}(this,A)}slow(A){return function(A,e){if(e)en(A,e);else{const e=za.findIndex((e=>e===A.speed));var t;if(!(e>=0&&e{null==A.emit||A.emit.call(A,er.slow,{eventType:er.slow,code:0,data:A.speed,msg:A.i18n.t("SPEED")}),e({code:0,data:{speed:A.speed}})}))}(this,A)}seek(A,e){return function(A,e,t){var i,a;if(A.loading=!0,e=e.replace(/T|Z|\/|-/gi,"").replace(/ /gi,"").replace(/:/gi,""),t=(t||"").replace(/T|Z|\/|-/gi,"").replace(/ /gi,"").replace(/:/gi,""),!/^(\d{14}|\d{6})$/.test(e)||t&&!/^(\d{14}|\d{6})$/.test(t)){var r,n,o;return"function"==typeof A.params.handleError&&A.params.handleError({msg:null==(o=A.i18n)?void 0:o.t("SEEK_TIMEFORMAT_ERROR"),retcode:-1,id:A.id,type:"handleError"}),null==A.emit||A.emit.call(A,er.seek,{eventType:er.seek,code:-2,msg:A.i18n.t("SEEK_TIMEFORMAT_ERROR")}),null==(n=A.logger)||n.error(null==(r=A.i18n)?void 0:r.t("SEEK_TIMEFORMAT_ERROR")),Promise.resolve(!1)}if(e=(A.urlInfo.searchParams.begin||tr.formate(new Date,"YYYYMMDD")+"000000").slice(0,14-e.length)+e,t=t||e.replace(/\d{6}$/,"235959"),t=e.slice(0,14-t.length)+t,e.slice(0,8)!==t.slice(0,8)){var s,g,l;return"function"==typeof A.params.handleError&&A.params.handleError({msg:null==(l=A.i18n)?void 0:l.t("SEEK_CANNOT_CROSS_DAYS"),retcode:-1,code:-1,id:A.id,type:"handleError"}),null==A.emit||A.emit.call(A,er.seek,{eventType:er.seek,code:-1,msg:A.i18n.t("SEEK_CANNOT_CROSS_DAYS")}),null==(g=A.logger)||g.error(null==(s=A.i18n)?void 0:s.t("SEEK_CANNOT_CROSS_DAYS")),Promise.resolve(!1)}return tr.strToDate(e).getTime()>=tr.strToDate(t).getTime()?("function"==typeof A.params.handleError&&A.params.handleError({msg:"start time is greater than the end time",retcode:-1,code:-1,id:A.id,type:"handleError"}),null==A.emit||A.emit.call(A,er.seek,{eventType:er.seek,code:-1,msg:"start time is greater than the end time"}),null==(a=A.logger)||a.error("start time is greater than the end time"),Promise.resolve(!1)):(null==(i=A.jSPlugin)||i.JS_Seek(0,tr.formate(e,"YYYYMMDDThhmmssZ"),tr.formate(t,"YYYYMMDDThhmmssZ")),null==A.emit||A.emit.call(A,er.seek,{eventType:er.seek,seekTime:tr.strToDate(e).getTime(),data:{begin:tr.strToDate(e).getTime(),end:tr.strToDate(t).getTime()}}),Promise.resolve(!0))}(this,A,e)}get isCurrentBrowserFullscreen(){return this.isCurrentFullscreen}startTalk(){!function(A){var e;if(!A._playing)return;const t=Hr.getGlobalState(),i=Hr.getInstance(A.id);var a,r,n,o;if(window.__CURRENT_PLAYER_TALK_ID=A.id,t.talk)return null==(r=A.logger)||r.warn(null==A||null==(a=A.i18n)?void 0:a.t("TALK_TALKING")),null==A||A.emit(er.startTalk,{eventType:er.startTalk,code:430005,msg:null==A||null==(n=A.i18n)?void 0:n.t("TALK_TALKING")}),null==A||A.emit("message",null==A||null==(o=A.i18n)?void 0:o.t("TALK_TALKING"),"warn"),void(null==A||A.emit(da.EVENTS.talkingChange,!1));null==(e=A.Talk)||e.startTalk((e=>{var t,a,r,n;A.muted||e||(A.closeSound(),A.__talk_muted__=!0),(null==(t=A.controls)?void 0:t.volumeControl)&&(A.controls.volumeControl.disabled=!0),null==(n=A.Talk)||null==(r=n.eventEmitter)||null==(a=r.once)||a.call(r,"startTalk",(e=>{var t;null==A||null==(t=A.eventEmitter)||t.emit(er.startTalk,e)})),A._talking=!0,null==A||A.emit(da.EVENTS.talkingChange,!0),Hr.setGlobalState({talk:!0}),i.setState({talk:!0})}))}(this)}stopTalk(){!function(A){var e,t,i;const a=Hr.getGlobalState(),r=Hr.getInstance(A.id);window.__CURRENT_PLAYER_TALK_ID="",a.talk?(null==(t=A.Talk)||null==(e=t.stopTalk)||e.call(t),null==A.emit||A.emit.call(A,er.stopTalk,{eventType:er.stopTalk,code:0,msg:"success"}),A._talking=!1,null==A||A.emit(da.EVENTS.talkingChange,!1),(null==(i=A.controls)?void 0:i.volumeControl)&&A._playing&&(A.controls.volumeControl.disabled=!1),A.__talk_muted__&&(null==A.openSound||A.openSound.call(A)),A.__talk_muted__=!1,a.talk&&Hr.setGlobalState({talk:!1}),r.getState().talk&&r.setState({talk:!1})):null==A.emit||A.emit.call(A,er.stopTalk,{eventType:er.stopTalk,code:-1,msg:"设备未发起对讲"})}(this)}setVolumeGain(A){return function(A,e){var t;return null==(t=A.Talk)?void 0:t.setVolumeGain(e)}(this,A)}getMicrophonePermission(){return null==(A=this.Talk)?void 0:A.getMicrophonePermission();var A}getMicrophonesList(){return null==(e=this.Talk)||null==(A=e.getMicrophonesList)?void 0:A.call(e);var A,e}setProfile(A){!function(A,e){var t,i;null==(i=A.Talk)||null==(t=i.setProfile)||t.call(i,e)}(this,A)}destroy(){var A=this,e=()=>super.destroy;return ol((function*(){return gl=null,function(A){dn.apply(this,arguments)}(A),e().call(A),0}))()}getDeviceCapacity(){var A,e;(A=this).capacity={},null==(e=A.logger)||e.log("[https request] getDeviceCapacity()"),A._services.getDeviceCapacity().then((e=>{var t,i;A.capacity=e,A.support3DZoom=!1,A.capacity&&"1"==A.capacity.support_3d_position&&A.url.indexOf(".live")>-1&&(A.support3DZoom=!0,A.params.use3DZoom&&(A.use3DZoom=!0)),A.capacity&&"1"==A.capacity.support_device_auto_video_level&&(A.videoLevelList.push({level:"auto",name:"VIDEO_LEVEL_AUTO",streamTypeIn:1}),null==A.emit||A.emit.call(A,er.setVideoLevelList,A.videoLevelList),null==A.on||A.on.call(A,er.autoVideoLevel,(e=>{const t=A.videoLevelList.findIndex((e=>e.level===A.videoLevel));switch(e.code){case 0:break;case 1:const o=A.videoLevelList[t-1];var i,a;o&&"auto"!==o.level&&A.videoLevelList[t].streamTypeIn===o.streamTypeIn&&(null==(a=A.logger)||null==(i=a.log)||i.call(a,`卡顿比:${e.lagRate}%,降低清晰度至${o.level}`),A._setVideoLevel(o.level).then((()=>{var e;A.videoLevel=o.level,null==A||null==(e=A.emit)||e.call(A,er.currentVideoLevel,"auto",A.videoLevel),setTimeout((()=>{const e=A.jSPlugin._JSPlayM4_GetFrameInfo(0);A._updateStreamInfo({resolution:Kr(e.height)})}),5e3)})));break;case 2:const s=A.videoLevelList[t+1];var r,n;s&&"auto"!==s.level&&A.videoLevelList[t].streamTypeIn===s.streamTypeIn&&(null==(n=A.logger)||null==(r=n.log)||r.call(n,`卡顿比:${e.lagRate}%,提升清晰度至${s.level}`),A._setVideoLevel(s.level).then((()=>{A.videoLevel=s.level,null==A.emit||A.emit.call(A,er.currentVideoLevel,"auto",A.videoLevel),setTimeout((()=>{const e=A.jSPlugin._JSPlayM4_GetFrameInfo(0);A._updateStreamInfo({resolution:Kr(e.height)})}),5e3)})))}}))),null==A.emit||A.emit.call(A,er.getDeviceCapacity,{eventType:er.getDeviceCapacity,code:0,data:e,msg:null==(i=A.i18n)||null==(t=i.t)?void 0:t.call(i,"GET_CAPACITY")})}))}getVideoLevelList(){return function(A){var e,t;let i=[];return i=(null==(e=A.params.videoLevelList)?void 0:e.length)>=0?A.params.videoLevelList:A.videoLevelList,null==A.emit||A.emit.call(A,er.getVideoLevelList,{eventType:er.getVideoLevelList,code:0,data:i,msg:null==(t=A.i18n)?void 0:t.t("GET_VIDEO_LEVEL_LIST")}),i}(this)}getVideoLevel(){return null==(A=this)||A.emit(er.getVideoLevel,{eventType:er.getVideoLevel,code:0,data:A.videoLevel}),A.videoLevel;var A}getPtzStatus(){return(null==(e=(A=this).controls)?void 0:e.ptzControl)?(null==A.emit||A.emit.call(A,er.getPtzStatus,{eventType:er.getPtzStatus,code:0,data:A.controls.ptzControl.active,msg:A.i18n.t("GET_PTZ_STATUS")}),A.controls.ptzControl.active):(null==A.emit||A.emit.call(A,er.getPtzStatus,{eventType:er.getPtzStatus,code:-1,data:!1,msg:A.i18n.t("GET_PTZ_STATUS_FAILED")}),!1);var A,e}openPtz(){var A,e;if(null==(A=this.controls)?void 0:A.ptzControl)return(e=this).controls.ptzControl?(e.isMobile?e.isCurrentFullscreen?e.controls.ptzControl.active=!0:null==e.emit||e.emit.call(e,er.ptz.openPtz,{eventType:er.ptz.openPtz,code:-1,msg:e.i18n.t("MOBILE_HIDE_PTZ")}):e.controls.ptzControl.active=!0,{code:0}):(null==e.emit||e.emit.call(e,er.ptz.openPtz,{eventType:er.ptz.openPtz,code:-1,msg:e.i18n.t("OPTION_PTZ_FAILED")}),{code:-1,msg:e.i18n.t("OPTION_PTZ_FAILED")});this.logger.warn(this.i18n.t("OPTION_PTZ_FAILED"))}closePtz(){var A,e,t;if(null==(A=this.controls)?void 0:A.ptzControl)return(null==(t=(e=this).controls)?void 0:t.ptzControl)?(e.controls.ptzControl.active=!1,{code:0}):{code:-1,msg:e.i18n.t("OPTION_PTZ_FAILED")};this.logger.warn(this.i18n.t("OPTION_PTZ_FAILED"))}getPlayRate(){return null==this.emit||this.emit.call(this,er.getPlayRate,{eventType:er.getPlayRate,code:0,data:this.speed,target:this,msg:this.i18n.t("GET_SPEED")}),this.speed}setMirrorFlip(A){var e,t;return"number"!=typeof A?(null==this.emit||this.emit.call(this,er.setMirrorFlip,{eventType:er.setMirrorFlip,code:-1,target:this,msg:this.i18n.t("MIRROR_TYPE_ERROR")}),Promise.reject({code:-1,msg:this.i18n.t("MIRROR_TYPE_ERROR")})):(null==this.emit||this.emit.call(this,er.setMirrorFlip,{eventType:er.setMirrorFlip,code:0,target:this,msg:this.i18n.t("MIRROR")}),null==(t=this.logger)||null==(e=t.log)||e.call(t,"[https request] postDevicePtzMirror() command",A),this._services.postDevicePtzMirror(A))}setFECCorrectType(A,e){return gn(this,A)}setFEC3DViewParam(A){return function(A,e){var t,i,a;return!A._FECCorrectType||((null==(t=A.jSPlugin)?void 0:t.isHardH264)||(null==(i=A.jSPlugin)?void 0:i.isHardH265))&&(null==(a=A.jSPlugin)?void 0:a.useHardDev)?(null==A.emit||A.emit.call(A,er.setFEC3DViewParam,{eventType:er.setFEC3DViewParam,code:-1,msg:A.i18n.t("FEC.FEC_SUPPORT_VERSION")}),Promise.resolve({code:-1,msg:A.i18n.t("FEC.FEC_SUPPORT_VERSION")})):A.jSPlugin.FEC_Set3DViewParam&&A._FECCorrectType&&(3===A._FECCorrectType.place&&1536===A._FECCorrectType.correctType||1===A._FECCorrectType.place&&2304===A._FECCorrectType.correctType)?A.jSPlugin.FEC_Set3DViewParam(e).then((()=>(null==A.emit||A.emit.call(A,er.setFEC3DViewParam,{eventType:er.setFEC3DViewParam,code:0,msg:A.i18n.t("FEC.SET_FEC_PARAMS")}),{code:0}))).catch((()=>(null==A.emit||A.emit.call(A,er.setFEC3DViewParam,{eventType:er.setFEC3DViewParam,code:-1}),{code:-1}))):(null==A.emit||A.emit.call(A,er.setFEC3DViewParam,{eventType:er.setFEC3DViewParam,code:-1,msg:A.i18n.t("FEC.SET_FEC_PARAMS_FAILED")}),Promise.resolve({code:-1,msg:A.i18n.t("FEC.SET_FEC_PARAMS_FAILED")}))}(this,A)}getFEC3DViewParam(A){return gn(this,A)}setWaterMarkFont(A){return function(A,e){return null==A.emit||A.emit.call(A,er.setWaterMarkFont,{eventType:er.setWaterMarkFont,code:0,data:e,msg:A.i18n.t("SET_WATERMARK")}),A.waterMark_JSPlugin=e,A.jSPlugin.JS_SetWaterMarkFont(e)}(this,A)}setTimeLineClickable(A){this.timeLineClickable=A,this.Theme&&this.Theme.Rec&&this.Theme.Rec.timeLine&&this.Theme.Rec.timeLine.setTimeLineClickable(A)}setLoggerOptions(A={}){var e,t;super.setLoggerOptions(A),null==(t=this.jSPlugin)||null==(e=t.player)||e.setLogger({level:A.level,showTime:A.showTime})}setDisplayRegion(A,e,t,i){var a,r;null==this.emit||this.emit.call(this,er.setDisplayRegion,{left:A,right:e,top:t,bottom:i}),null==(r=this.jSPlugin)||null==(a=r.player)||a.setDisplayRegion(A,e,t,i)}_initGetDeviceSupportQuality(){return this.url.indexOf(".live")>-1?new Promise((A=>{this._beforeInitGetDeviceSupportQuality().then((e=>{if(["0","1","2","3","4","5","6","pp","qp"].includes(this._quality+"")||this._quality<0){const e=this.params.videoLevelList||this.videoLevelList;let i={};if("pp"===this._quality)i=e[0];else if("qp"===this._quality)try{i=e[e.length-1]}catch(A){}else i=e.find((A=>A.level===+this._quality));var t;if(i)Mr(this,i.level).then((()=>{A()})),this.videoLevel=i.level,this.streamTypeIn=i.streamTypeIn,null==this.emit||this.emit.call(this,er.currentVideoLevel,i,i.level);else null==(t=this.logger)||t.warn(`quality(${this._quality}) does not exist!`),A()}else A()}))})):Promise.resolve()}_beforeInitGetDeviceSupportQuality(){if(gl&&gl.getDeviceSupportQualityRes&&gl.getDeviceListRes){var A,e;const t=gl.getDeviceListRes.find((A=>A.channelNo===+this.urlInfo.channelNo));this._setVideoLevelList(this.params.videoLevelList?this.params.videoLevelList:gl.getDeviceSupportQualityRes);let i={};return i="compatible"===(null==(A=this.videoLevelList[0])?void 0:A.type)?this.url.indexOf(".hd.live")>0?this.videoLevelList[1]:this.videoLevelList[0]:this.videoLevelList.find((A=>A.level==(null==t?void 0:t.videoLevel)))||{},(null==i?void 0:i.streamTypeIn)?(this.videoLevel=i.level,this.streamTypeIn=i.streamTypeIn):(null==(e=this.videoLevelList)?void 0:e.length)>0&&(this.videoLevel=this.videoLevelList[0].level,this.streamTypeIn=this.videoLevelList[0].streamTypeIn,i=this.videoLevelList[0]),Promise.resolve([[gl.getDeviceSupportQualityRes,gl.getDeviceListRes]])}let t=[Xr(this)];return Promise.all(t)}_deviceSerialChangeServices(){var A=this;return ol((function*(){var e,t,i,a;return Promise.all([null==(e=A._services)?void 0:e.getAppKey().then((e=>{var t,i,a,r,n,o;200===(null==e||null==(t=e.meta)?void 0:t.code)?(null==(r=A.logger)||null==(a=r.log)||a.call(r,"[https response] getAppKey()",JSON.stringify(e.data)),null==(n=A._collect)||n.updateAppKey(e.data.appKey)):null==(o=A._collect)||o.updateAppKey("test");return(null==e||null==(i=e.data)?void 0:i.appKey)||""})),(t=A,null==(i=t.logger)||i.log("[https request] getDeviceInfo()"),null==(a=t._services)?void 0:a.getDeviceInfo().then((A=>{var e,i;return t.deviceInfo=A,null==t.emit||t.emit.call(t,er.http.getDeviceInfo,A),null==(i=t.controls)||null==(e=i.deviceControl)||e.update(null==A?void 0:A.deviceName,null==A?void 0:A.deviceSerial,""),A}))),A.getDeviceCapacity(),qr(A)])}))()}supportSeek(){var A,e,t;return("cloud"===(null==(A=this.urlInfo)?void 0:A.recType)||this.options.useSeek&&"1"===(null==(e=this.capacity)?void 0:e.support_seek_playback))&&!(null==(t=this.urlInfo)?void 0:t.deviceSerial.includes(":"))}_isLive(){return this.url.indexOf(".live")>=0}_updateStreamInfo(A){this.showStreamInfo&&Object.keys(A).length>0&&Object.keys(A).map((e=>{const t=this.$container.querySelector(`.ezplayer-streamInfo-${e}-value`);t&&(t.innerHTML=A[e])}))}displayStreamInfo(A){this.showStreamInfo=A;const e="ezplayer-streamInfo";if(A&&this.$container){var t,i;null==(i=this.jSPlugin)||null==(t=i.player)||t.setStreamInfoCallBackType(0);const A=`\n
${this.i18n.t("videoFormat")}: ${this.streamInfo.videoFormat}
\n
${this.i18n.t("frameRate")}: ${this.streamInfo.frameRate}
\n
${this.i18n.t("systemFormat")}: ${this.streamInfo.systemFormat}
\n
${this.i18n.t("resolution")}: ${this.streamInfo.resolution}
\n
${this.i18n.t("bitrate")}: ${this.streamInfo.codeRate}
\n
${this.i18n.t("frameLostRate")}: ${this.streamInfo.frameLostRate}
\n
${this.i18n.t("lagRate")}: ${this.streamInfo.lagRate}
\n `;var a;if(this._$streamInfo||(this._$streamInfo=document.createElement("div"),this._$streamInfo.classList.add(`${e}`),this._$streamInfo.style.cssText=`\n position: absolute;\n ${this.isMobile?"top:32px;":"top: 48px;"}\n ${this.isMobile?"font-size:12px;":"font-size:14px;"}\n right: 10px; color: #52C41A; width: 170px; background-color: rgba(0,0,0,0.6);\n user-select: none;\n pointer-events: none;\n padding: 10px;\n z-index:2;\n `),this._$streamInfo)this._$streamInfo.innerHTML=A,null==(a=this.$container)||a.appendChild(this._$streamInfo)}else{var r,n;this._$streamInfo&&(this._$streamInfo.remove(),this._$streamInfo=null),null==(n=this.jSPlugin)||null==(r=n.player)||r.setStreamInfoCallBackType(1)}}constructor(A){var e,t,i,a,r,n,o,s,g,l,C,I,c,h;if(super(sl({},u(ja,A,{clone:!1}),(null==(e=A.videoLevelList)?void 0:e.length)||(null==A||null==(i=A.definitionOptions)||null==(t=i.list)?void 0:t.length)?{definitionOptions:{value:null==A||null==(a=A.definitionOptions)?void 0:a.value,list:(null==A||null==(r=A.definitionOptions)?void 0:r.list)||A.videoLevelList}}:{},{capturePictureOptions:sl({type:0!=A.download?"download":"base64"},A.capturePictureOptions||{}),staticPath:(null==(n=A.staticPath)?void 0:n.startsWith("http"))?A.staticPath:_.getStaticPath(A.staticPath||"https://openstatic.ys7.com/ezuikit_js/v8.2.2/ezuikit_static"),autoPlay:u(ja,A,{clone:!1}).autoplay,container:document.getElementById(A.id),type:"ezopen"})),this._services=null,this._recOSDTimer=null,this.videoInfo={},this.audioInfo={},this.urlInfo={},this._$streamInfo=null,this._handleRealUrl=A=>A,this.params=u(ja,sl({},A,{videoLevelList:(null==A||null==(o=A.definitionOptions)?void 0:o.list)||A.videoLevelList}),{clone:!1}),!A.id)throw new Error("id param is required!");if(!document.getElementById(A.id))throw new Error(`#${this.params.id} node does not exist`);this.i18n.appendTranslations({zh:Da,en:Ra}),this.eventEmitter={on:this.on.bind(this),emit:this.emit.bind(this),off:this.off.bind(this),once:this.once.bind(this),removeAllListeners:this.removeAllListeners.bind(this)},this.params.autoplay&&(this.loading=!0),this.autoplay=this.params.autoplay,this.logger.setOptions({name:(this.params.loggerOptions.name+" #"+A.id).replace(/^ /,"")}),this.logger.log("[version]",ll.version),this.isStoping=!1,this.sdkType=void 0!==this.params.sdkType?this.params.sdkType:"base",this.talkChannelNo=A.talkChannelNo||null,fn(this),this.emit(er.init),this.timeZone=0,this.ptzSpeed=A.ptzSpeed||2,this.download=void 0===A.download||A.download,this.downloadRecord=void 0===A.downloadRecord||A.downloadRecord,this.timeLineClickable=void 0!==A.timeLineClickable&&A.timeLineClickable,this.onTimeLineClick=void 0!==A.onTimeLineClick?A.onTimeLineClick:null,this.recordRes={},this.disableRenderPrivateData=void 0===A.disableRenderPrivateData||A.disableRenderPrivateData,this.ptzSpeedOptions={slow:1,mid:2,fast:3},window.EZUIKit[A.id]={state:{EZUIKitPlayer:{talkInit:window.EZUIKit[A.id]&&window.EZUIKit[A.id].state&&window.EZUIKit[A.id].state.EZUIKitPlayer.talkInit||!1}}},this.urlInfo=_.parseEzopenUrl(A.url),this._services=new Qr({sdkType:this.sdkType,baseURL:this.params.env?this.params.env.domain:Za,accessToken:A.accessToken,deviceSerial:this.urlInfo.deviceSerial,channelNo:this.urlInfo.channelNo,token:A.token||{},ezopenParams:(null==(s=A.extraParams)?void 0:s.ezopenParams)||{},timeZone:null==(g=this.urlInfo.searchParams)?void 0:g.timeZone}),this.logger.log("[Services] init"),new Yr(this.params.env?this.params.env.domain:null),this.id=A.id,this.isCall=A.isCall||!1,this.callTime=A.callTime||null,this.hangUpCallback=A.hangUpCallback||null,this.isNeedBellRing=!1!==A.isNeedBellRing,this.url=A.url,this.accessToken=A.accessToken,this.deviceSerial=this.urlInfo.deviceSerial,this.channelNo=this.urlInfo.channelNo,this.poster=A.poster,this.disabledTimeLine=!1,this.disabledPTZ=!1,this.capacity=null,this.playTimer=null,this.env={domain:Za},void 0!==A.env&&(this.env=Object.assign(this.env,A.env)),this.isMobile=_.isMobile(),this.support3DZoom=!1,this.use3DZoom=!1,this.is3DZooming=!1,this.useHardDev=void 0!==A.useHardDev&&A.useHardDev,this._spaceId=ma("spaceId",this.url)||this.options.spaceId,this.waterMark_JSPlugin=!1,this.useSeek=A.useSeek,this.dpr=A.dpr||1,this.decoderType=A.decoderType||"auto",this.videoLevel=1,this.streamTypeIn=1,this.autoVideoLevel=!1,this.autoVideoLevelResume=!1,this.lagRateCycle=A.lagRateCycle||30,this.showStreamInfo=void 0!==A.showStreamInfo&&A.showStreamInfo,this.streamInfo={videoFormat:"",frameRate:"0FPS",systemFormat:"",resolution:"",codeRate:"0Kbps",frameLostRate:"0%",lagRate:"0%"},this.frameDecordTime=0,this.language=A.language||"zh",this.languageList=A.languageList||["zh","en"],-1===this.languageList.indexOf(this.language)&&(this.logger.warn(`language [${this.language}] is currently not supported and has been switched to zh`),this.language="zh"),this.token=A.token||{},this.deviceInfo={},this._quality=A.quality,this.isInspect=A.isInspect||!1,this.inspectRecordingDuration=A.inspectRecordingDuration||144e5,this.inspectVideoWidth=A.inspectVideoWidth||290,this.inspectVideoHeight=A.inspectVideoHeight||170,this._FECCorrectType=null,this._FECSplitIds="",this.initSuccessTime=0,this._initTime=0,this._gotWsUrlTime=0,this._startGetWsUrlTime=0,this.appearFirstFrameTime=0,this._openStreamTime=0,this.maxReloadTime=0,this.maxAddressAccount=A.maxAddressAccount||1e3,this.reloadCodeBalckList=A.reloadCodeBalckList||[5402,5406,5411,5507,5546,9048,9049,5451,5558,6701];const B=!this.useHardDev&&Ha()||this.useHardDev&&!Va()&&!Wa()&&Ha()||this.useHardDev&&(Va()||Wa()||Ha());this.isV3=B,void 0!==A.isMobile&&(this.isMobile=A.isMobile),this._monitorReport=!1!==A.dataReport&&("https:"===(null==(C=window)||null==(l=C.location)?void 0:l.protocol)&&!function(A){const e=A.split(".").map((function(A){return!Number.isNaN(A)}));return 4===e.length&&e.every(Boolean)}(null==(c=window)||null==(I=c.location)?void 0:I.hostname)),this._collect=new vr({domain:null==(h=this.env)?void 0:h.domain,monitorReport:this._monitorReport,pluginVersion:this.isV3?"v3":"v1",extendsInfo:{v:"8.2.2",getDynamic:()=>{var A;return{protocol:"ezopen",url:this.url,serial:this.urlInfo.deviceSerial,no:this.urlInfo.channelNo,env:null==(A=this.env)?void 0:A.domain,type:this.urlInfo.type}}}}),this.logger.log("[Collect] init");let E=JSON.parse(localStorage.getItem(Xa))||{},x=Object.keys(E);x.length>this.maxAddressAccount&&x.map(((A,e)=>{ex.length-this.maxAddressAccount||delete E[A]}));try{const A=this.deviceSerial+"_"+this.channelNo;E[A]||(E=sl({},E,{[A]:[]}),localStorage.setItem(Xa,JSON.stringify(E))),localStorage.getItem(qa)&&localStorage.removeItem(qa)}catch(A){}var d;this.logger.log("[options]",JSON.stringify(this.params)),this.startPlayTime=(new Date).valueOf(),this._init(),this.play=fa((A=>this._play(A)),500,!0),this.resume=fa((A=>this._resume(A)),500,!0),this.changePlayUrl=fa(((A,e,t)=>this._changePlayUrl(A,e,t)),500),window.addEventListener("beforeunload",(()=>{if(!this.destroyed)try{Hr.removeInstance(this.id),this.stop()}catch(A){}})),null==(d=this)||d.on(er.talkSuccess,(A=>{d.Theme&&!d.Theme.decoderState.state.talk&&d.id===A.id&&d.Theme.setDecoderState({talk:!0});const e=Hr.getGlobalState(),t=Hr.getInstance(d.id);e.talk||Hr.setGlobalState({talk:!0}),t.getState().talk||t.setState({talk:!0})})),null==d||d.on(er.talkError,(()=>{var A,e;null==(e=d.Theme)||null==(A=e.setDecoderState)||A.call(e,{talk:!1});const t=Hr.getGlobalState(),i=Hr.getInstance(d.id);t.talk&&Hr.setGlobalState({talk:!1}),i.getState().talk&&i.setState({talk:!1})})),null==d||d.on(er.stop,(()=>{d.stopSave()})),null==d||d.on(er.pause,(()=>{d.stopSave()})),function(A){var e,t;A.on(da.EVENTS.changeTheme,(()=>{A.recording&&A.stopRecord()})),A.on(da.EVENTS.control.play,(e=>{e?A.recType&&A._recOSDTimer?A.resume():A.play():A.pause()})),A.on(da.EVENTS.control.capturePicture,(e=>{const t="download"===e.type;A.capturePicture(void 0,!1,t,e.cloudRecUpload).then((e=>{var t,i;null==(i=A.controls)||null==(t=i.capturePictureControl)||t.emit(da.EVENTS.control.capturePictureResult,e)}))})),A.on(da.EVENTS.volumechange,((e,t)=>{t!==A.__muted&&(t?A.closeSound():A.openSound())})),A.on(da.EVENTS.control.recordingChange,(e=>{e?A.startSave():A.stopSave()})),A.on(da.EVENTS.control.talkingChange,(e=>{e?A.startTalk():A.stopTalk()})),null==(t=A.Talk)||null==(e=t.eventEmitter)||e.on("talkVolumeChange",(({data:e})=>{A.emit(da.EVENTS.talkVolumeChange,e)})),A.on(da.EVENTS.control.definitionChange,(e=>{A.resetControl(),A.changeVideoLevel(e)})),A.on(da.EVENTS.control.speedChange,(e=>{A.fast(e)})),A.on(da.EVENTS.control.recTypeChange,(e=>{var t,i;A.resetControl(),A._recOSDTimer&&(clearInterval(A._recOSDTimer),A._recOSDTimer=null),A._seekIntervaltimer&&(clearInterval(A._seekIntervaltimer),A._seekIntervaltimer=null);const a=(null==(i=A.urlInfo)||null==(t=i.searchParams)?void 0:t.spaceId)||A.options.spaceId,r=_.switchEzopenUrl(A.url,{type:"rec",recType:"rec"===e?"":"cloud",search:"cloudRecord"===e?"busType=7"+(a?`&spaceId=${a}`:""):"busType="+(a?"&spaceId=":"")});A._speed=1,A.changePlayUrl({url:r})})),A.on(da.EVENTS.control.dateChange,(e=>{const t=tr.formate(e,"YYYYMMDD");A.resetControl(),A._recOSDTimer&&(clearInterval(A._recOSDTimer),A._recOSDTimer=null),A._seekIntervaltimer&&(clearInterval(A._seekIntervaltimer),A._seekIntervaltimer=null);const i=_.switchEzopenUrl(A.url,{search:`begin=${t+"000000"}&end=${t+"235959"}`});A._speed=1,A.changePlayUrl({url:i})})),A.on(da.EVENTS.control.timeLineChange,(e=>{var t;A.recording&&A.stopSave();let i="";var a,r,n,o;if("string"==typeof e?i=tr.formate((null==(r=A.urlInfo)||null==(a=r.searchParams)?void 0:a.begin)?tr.strToDate(null==(o=A.urlInfo)||null==(n=o.searchParams)?void 0:n.begin):new Date,"YYYYMMDD")+`${e.replace(/:/gi,"")}`:e instanceof Date&&(i=tr.formate(e,"YYYYMMDDhhmmss")),null==(t=A.recordList)?void 0:t.length){const e=tr.strToDate(A.recordList[A.recordList.length-1].endTime).getTime();if(tr.strToDate(i).getTime()>=e)return void A.logger.warn("seek time is greater than the last record end time")}if(A._recOSDTimer&&(clearInterval(A._recOSDTimer),A._recOSDTimer=null),A._seekIntervaltimer&&(clearInterval(A._seekIntervaltimer),A._seekIntervaltimer=null),A.supportSeek()&&A.playing){var s;A.__noSyncOSD=!0;const e=tr.strToDate(i).getTime()>(null==(s=A._seekDate)?void 0:s.getTime());A._seekDate=tr.strToDate(i),A.seek(i.substr(8,6),"235959").then((()=>{A.__noSyncOSD=!0,A._seekIntervaltimer=setInterval((()=>{A.getOSDTime().then((t=>{t.data&&(e&&1e3*t.data>=tr.strToDate(i).getTime()||!e&&1e3*t.data-2e3>=tr.strToDate(i).getTime())&&(A.loading=!1,clearInterval(A._seekIntervaltimer),A.__noSyncOSD=!1,A._seekIntervaltimer=null,A.loading=!1,A._recOSDTimer=setInterval(rl((function*(){null==A.getOSDTime||A.getOSDTime.call(A)})),1e3))}))}),1e3)}))}else{const e=_.switchEzopenUrl(A.url,{search:`begin=${i}`});A.play({url:e,unSaveUrl:!0,showPoster:!0})}})),A.on("Control.contentRerender",(e=>{var t,i,a;null==(a=A.jSPlugin)||null==(i=a.player)||null==(t=i.emit)||t.call(i,"Control.contentRerender",e)}))}(this)}}ll.Talk=Ja,ll.provider=Hr,ll.LOCALES={zh:Da,en:Ra},ll.EVENTS=er,ll.version="8.2.2",ll.prototype.tokenSchema={streamToken:{live:{actionType:"PREVIEW",resourceCategory:"global"},rec:{actionType:"PLAYBACK",resourceCategory:"global"},talk:{actionType:"TALK",resourceCategory:"global"}},deviceToken:{video:{action:"*",resourceCategory:"video"},global:{action:"*",resourceCategory:"global"}},httpToken:{url:{urlPattern:"/**"}}},ll.prototype.deepCheck=(A,e,t=1)=>{if(t<0)return{};let i={};for(const a in A)if(void 0!==A[a]&&void 0===e[a])i[a]=A[a];else if("object"==typeof A[a]&&!Array.isArray(A[a])){const r=ll.prototype.deepCheck(A[a],e[a],t-1);Object.keys(r).length>0&&(i[a]=r)}return i},ll.prototype.checkToken=A=>ll.prototype.deepCheck(ll.prototype.tokenSchema,A);class Cl{on(A,e){A&&e&&(this.events[A]=this.events[A]||[],this.events[A].push(e))}emit(A,e){A&&this.events[A]&&this.events[A].forEach((A=>A(e)))}off(A,e){A&&e&&this.events[A]&&this.events[A].splice(this.events[A].indexOf(e),1)}once(A,e){const t=this;this.on(A,(function i(){const a=Array.prototype.slice.call(arguments);e.apply(null,a),t.off(A,i)}))}removeAllListener(){this.events={}}constructor(){this.events={}}}function Il(){return Il=Object.assign||function(A){for(var e=1;e{},onPageChange:()=>{}};class hl{_initScreen(A){const e=this.status.list[A];if(e&&"container"in e&&e.container)return e.container;const t=document.createElement("div");var i;if(t.id=this.container.id+"-screen-"+A,t.style.cssText=null!=(i=this.status.screenStyle)?i:`\n width: ${this.status.list[A]&&this.status.list[A].width?this.status.list[A].width:600}px;\n height: ${this.status.list[A]&&this.status.list[A].height?this.status.list[A].height:400}px;\n position: relative;\n overflow: hidden;\n background-color: #000;\n background-image: url('${this.status.imgUrl}');\n background-size: 100% 100%;\n `,this.status.text){const e=document.createElement("span");var a;e.style.cssText=null!=(a=this.status.textStyle)?a:"\n color: #fff;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n ",e.innerText=this.status.text,t.appendChild(e);const i=this.container.children[A];i?this.container.insertBefore(t,i):this.container.appendChild(t)}return t}_destroyScreen(A){const e=document.getElementById(`${this.container.id}-screen-${A}`);e&&this.container.removeChild(e)}constructor(A,e){if(this.destroyScreen=(A,e)=>{this.screenList[A].destroy(),delete this.screenList[A],this._destroyScreen(A),!e&&this._initScreen(A)},this._emitInitPlayerResult=(A,e)=>{const t={eventType:"initPlayer",code:A,msg:e};this.eventEmitter.emit("initPlayer",t)},this.initPlayer=(A,e,t)=>{const i=this.status.pageIndex,a=this.status.pageSize,r=this.status.list;let n;if(void 0!==t){const A=void 0!==e?e:this.status.selectScreen;this.screenList[A]?(this.screenList[A].player&&this.screenList[A].player.destroy().then((()=>{this._destroyScreen(A),this._initScreen(A)})),n=new ll(t),this.screenList[A].options=t,this.screenList[A].player=n):(n=new ll(t),this.screenList.push({options:t,player:n})),this.status.list.push(t),this._emitInitPlayerResult(0,"初始化成功")}else if(r.length>0)if(void 0!==A)if(A>=0&&A{this._destroyScreen(t),this._initScreen(t)})),n=new ll(Il({id:this.container.id+"-screen-"+t,audioOnly:!1},r[A],{handleInitSuccess:()=>{this.screenSelect(this.status.selectScreen)}})),this.screenList[t].options=r[A],this.screenList[t].player=n,this._emitInitPlayerResult(0,"初始化成功")}else this._emitInitPlayerResult(-1,"当前下标超出范围");else r.map(((A,e)=>{e>=i*a&&e<(i+1)*a&&(n=new ll(Il({id:this.container.id+"-screen-"+e,audioOnly:!1},A)),this.screenList[e]={options:A,player:n})})),this._emitInitPlayerResult(0,"初始化成功");return n},this._emitPageResult=(A,e,t)=>{const i={eventType:A,code:e,msg:t,data:{pageSize:this.status.pageSize,pageIndex:this.status.pageIndex}};this.eventEmitter.emit(A,i),this.options.onPageChange&&this.options.onPageChange(i)},this.setList=A=>{this.status.list=A},this.getList=()=>this.status.list,this.nextPage=()=>{const{pageSize:A,loop:e,list:t}=this.status,i=this.status.pageIndex+1,a=i*A{this.screenList[e].player&&this.screenList[e].player.destroy().then((()=>{this._destroyScreen(e),this._initScreen(e)})),this.status.autoPlay?(this.screenList[e].options=A,this.screenList[e].player=new ll(Il({id:`${this.container.id}-screen-${e}`,audioOnly:!1},A))):delete this.screenList[e].player})),n.lengthn.length)for(let A=n.length;A{const{pageSize:A,loop:e,list:t}=this.status;let i=this.status.pageIndex-1;const a=i>=0;if(!a&&e){const e=Math.floor(t.length/A),a=t.length%A==0;i=a?e-1:e;let r=i*A,n=r+A;const o=t.slice(r,n);if(!a)for(let A=o.length;A{this.screenList[e].player&&this.screenList[e].player.destroy().then((()=>{this._destroyScreen(e),this._initScreen(e)})),this.status.autoPlay?(this.screenList[e].options=A,this.screenList[e].player=new ll(Il({id:`${this.container.id}-screen-${e}`,audioOnly:!1},A))):delete this.screenList[e].player})),this.status.pageIndex=i,this._emitPageResult("lastPage",1,"翻至最后一页")}else if(a){const e=i*A,a=e+A;t.slice(e,a).forEach(((A,e)=>{this.screenList[e].player&&this.screenList[e].player.destroy().then((()=>{this._destroyScreen(e),this._initScreen(e)})),this.status.autoPlay?(this.screenList[e].options=A,this.screenList[e].player=new ll(Il({id:`${this.container.id}-screen-${e}`,audioOnly:!1},A))):delete this.screenList[e].player})),this.status.pageIndex=i,this._emitPageResult("lastPage",0,"上翻页成功")}else this._emitPageResult("lastPage",-1,"已到第一页")},this.pageTo=A=>{const e=this.status.pageSize,t=this.status.list,i=Math.ceil(t.length/e);if(A>=0&&A{this.screenList[e].player&&this.screenList[e].player.destroy().then((()=>{this._destroyScreen(e),this._initScreen(e)})),this.status.autoPlay?(this.screenList[e].options=A,this.screenList[e].player=new ll(Il({id:`${this.container.id}-screen-${e}`,audioOnly:!1},A))):delete this.screenList[e].player}));const i={eventType:"pageTo",code:0,msg:"跳转成功",data:{pageSize:e,pageIndex:A}};this.eventEmitter.emit("pageTo",i),this.options.onPageChange&&this.options.onPageChange(e,A)}else{const A={eventType:"pageTo",code:-1,msg:"目标页码超出范围",data:{pageSize:e,pageIndex:this.status.pageIndex}};this.eventEmitter.emit("pageTo",A),this.options.onPageChange&&this.options.onPageChange(A)}},this.startTurn=()=>{const A=this.status.delay;this.status.autoTurn=!0,this.turnInterval=setInterval((()=>{this.nextPage()}),A)},this.stopTurn=()=>{this.status.autoTurn=!1,clearInterval(this.turnInterval)},this.setDelay=A=>{this.stopTurn(),this.status.delay=A,this.startTurn()},this.setLoop=A=>{this.status.loop=A,this.status.pageSize>=this.status.list.length&&(this.status.loop=!1)},this.changePageSize=A=>{const e=this.status.pageIndex,t=this.screenList;let i=this.status.list.slice(e*A);if(At.length)for(let e=t.length;e{this.status.selectScreen=A;const e=this.screenList;return this.options.onScreenSelect&&this.options.onScreenSelect(A,e[A]),e[A]},this.setText=A=>{this.status.text=A},this.setBackground=A=>{this.status.imgUrl=A,this.screenList.map(((e,t)=>{const i=document.getElementById(`${this.container.id}-screen-${t}`);i&&(i.style.backgroundImage=`url(${A})`)}))},this.destroy=(A=!1)=>{let e=[];this.screenList.map(((A,t)=>{A.player&&(e.push(A.player.destroy()),delete A.player)})),Promise.all(e).then((()=>{const e=document.getElementById(this.container.id);if(e&&(e.innerHTML="",e.id=this.container.id+"-destroyed"),A){const A=document.querySelector('style[innerHTML*=".screen-select"]');A&&document.head.removeChild(A),this.screenList=[]}else if(this.status.pageSize>0)for(let A=0;A{const e=void 0!==A?A:this.status.selectScreen;return this.screenList[e]},this.getScreenList=()=>this.screenList,this.getDeviceList=()=>this.status.list,this.container=A,this.options=Object.assign({},cl,e||{}),this.status=Object.assign({},cl,e||{}),this.status.pageSize>=this.status.list.length&&(this.status.loop=!1),this.screenList=[],this.turnInterval=-1,this.eventEmitter=new Cl,this.status.pageSize>0){const A=document.getElementById(this.container.id);A&&(A.innerHTML="");for(let A=0;A{const A=document.getElementById(this.options.id+"-destroyed");var e;A&&(null==(e=A.parentNode)||e.removeChild(A));const t=document.createElement("div");t.id=this.options.id,t.style.cssText="\n position: relative;\n overflow: hidden;\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n height: 100%;\n ",this.container.append(t),this.$inspection=t,this.inspection=new hl(this.$inspection,ul({},this.options,{onScreenSelect:(A,e)=>{if(this.inspection){for(let A=0;A{this.screenSelect(A)}));this.screenSelect(this.options.defaultSelect)},this.initPlayer=(A,e,t)=>{this.inspection&&this.inspection.initPlayer(A,e,t)},this.destroy=(A=!1)=>{this.inspection&&this.inspection.destroy(A)},this.nextPage=()=>{var A;null==(A=this.inspection)||A.nextPage()},this.lastPage=()=>{var A;null==(A=this.inspection)||A.lastPage()},this.startTurn=()=>{var A;null==(A=this.inspection)||A.startTurn()},this.stopTurn=()=>{var A;null==(A=this.inspection)||A.stopTurn()},this.setDelay=A=>{var e;null==(e=this.inspection)||e.setDelay(A)},this.setLoop=A=>{var e;null==(e=this.inspection)||e.setLoop(A)},this.changePageSize=A=>{var e;null==(e=this.inspection)||e.changePageSize(A)},this.pageTo=A=>{var e;null==(e=this.inspection)||e.pageTo(A)},this.screenSelect=A=>{var e;if(this.inspection)return null==(e=this.inspection)?void 0:e.screenSelect(A)},this.setText=A=>{var e;return null==(e=this.inspection)?void 0:e.setText(A)},this.setBackground=A=>{var e;return null==(e=this.inspection)?void 0:e.setBackground(A)},this.getScreen=A=>{var e;return null==(e=this.inspection)?void 0:e.getScreen(A)},this.getScreenList=()=>{var A;return null==(A=this.inspection)?void 0:A.getScreenList()},this.destroyScreen=A=>{var e;return null==(e=this.inspection)?void 0:e.destroyScreen(A)},this.getDeviceList=()=>{var A;return null==(A=this.inspection)?void 0:A.getDeviceList()},this.stopAll=()=>{var A;const e=null==(A=this.inspection)?void 0:A.getScreenList();if(e)for(let A=0;A0?e[A].player.stop((()=>{}),!0):e[A].player.pause())},this.playAll=()=>{var A;const e=null==(A=this.inspection)?void 0:A.getScreenList();if(e)for(let A=0;A0?e[A].player.play():e[A].player.resume())},this.muteAll=()=>{var A;const e=null==(A=this.inspection)?void 0:A.getScreenList();if(e)for(let A=0;A{var A;const e=null==(A=this.inspection)?void 0:A.getScreenList();if(e)for(let A=0;A{let t=this;this.switchVideo=parseInt(A),yl&&yl.JS_RequestInterface({funcName:"ChangeModel",arguments:encodeURI(JSON.stringify({model:A}))}).then((function(i){0==A?t.play({deviceSerial:e.deviceSerial,channelNo:e.channelNo,validateCode:e.validateCode}):t.play({deviceSerial:e.deviceSerial,channelNo:e.channelNo,validateCode:e.validateCode,startTime:e.startTime,endTime:e.endTime})}))},this.init=A=>{let e=this;if(!A.appKey||!A.accessToken)return void e.showTips(!1,"请输入appkey和token");void 0!==A.appKey&&(this.appKey=A.appKey),void 0!==A.accessToken&&(this.accessToken=A.accessToken),void 0!==A.platformId&&(this.platformId=A.platformId);let t={layout:+e.layout,userName:"",waterMark:"",waterMark:"1",iWndType:0,intelligenceEnable:1,isRecord:1,isSetPos:1,motionDetectEnable:0,playBackAlarmOverlyingEnable:0,response:{code:0,message:null,data:{appKey:A.appKey,ezvizToken:A.accessToken,videoLevel:0,logLevel:3,showMainTool:1,showSubTool:1,waterMark:"1",userName:"openteam",platformId:A.platformId}}};yl.JS_RequestInterface({funcName:"Init",arguments:encodeURI(JSON.stringify(t))}).then((function(A){e.showTips(!0,"视频初始化成功!")}))},this.play=A=>{let e=this;if(!A.deviceSerial||!A.channelNo)return;void 0!==A.deviceSerial&&(this.deviceSerial=A.deviceSerial),void 0!==A.channelNo&&(this.channelNo=A.channelNo),void 0!==A.startTime&&A.startTime&&(this.startTime=A.startTime+" 00:00:00"),void 0!==A.endTime&&A.endTime&&(this.endTime=A.endTime+" 23:59:59"),void 0!==A.validateCode&&A.validateCode&&(this.validateCode=A.validateCode);let t={response:{code:0,message:null,data:{deviceSerial:A.deviceSerial,channelCode:A.channelNo,channelNo:+A.channelNo,codeIsEncrypt:0,validateCode:A.validateCode,deviceClass:e.deviceClass,deviceType:"10222",channelId:"2222222222",channelName:"channelNameTest",storeName:"storeName",storeId:"storeid",startTime:this.startTime,endTime:this.endTime}}};"1"===e.deviceClass?(t.response.data.channelCode=e.channelNo,t.response.data.platformId=e.platformId):t.response.data.channelNo=+e.channelNo,1===this.switchVideo&&(this.startTime&&(t.response.data.startTime=this.startTime),this.endTime&&(t.response.data.endTime=this.endTime)),yl.JS_RequestInterface({funcName:0===this.switchVideo?"StartPreview":"StartPlayback",arguments:encodeURI(JSON.stringify(t))}).then((function(A){e.showTips(!0,"预览/回放成功!")})).catch((A=>{}))},this.showCBInfo=A=>{this.callbackMessage=this.callbackMessage+JSON.stringify(A)+"\n\n"},this.showTips=(A,e)=>{},this.hideVideo=()=>{yl.JS_HideWnd()},this.showVideo=()=>{yl.JS_ShowWnd()},this.GetLayout=()=>{yl.JS_RequestInterface({funcName:"GetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:null}}))}).then((function(A){}))},this.capturePicture=A=>{yl.JS_RequestInterface({funcName:"CaptureJPGEx",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:null}}))}).then((function(A){}))},this.stop=(A=-1)=>{yl.JS_RequestInterface({funcName:"StopPlay",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(A)}}}))}).then((function(A){}))},this.setLayout=A=>{let e=parseInt(A);isNaN(e)||0==e||e>=13||(this.layout=e,yl.JS_RequestInterface({funcName:"SetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{layout:e}}}))}).then((function(A){})))},this.setSoundVolumn=(A=-1,e)=>{yl.JS_RequestInterface({funcName:"SoundVolumn",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(A),volumn:parseInt(e)}}}))}).then((function(A){}))},this.testMute=()=>{var A=parseInt(prompt("请输入窗口ID"));yl.JS_RequestInterface({funcName:"MuteOnOff",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:A}}}))}).then((function(A){}))},this.testSelectWnd=()=>{var A=parseInt(prompt("请输入窗口ID"));yl.JS_RequestInterface({funcName:"SelectPlayWnd",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:A}}}))}).then((function(A){}))},this.setVideoLevel=(A,e)=>{yl.JS_RequestInterface({funcName:"SetVideoLevel",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:1==this.switchVideo?0:parseInt(A),level:parseInt(e,10)}}}))}).then((function(A){}))},this.startTalk=A=>{yl.JS_RequestInterface({funcName:"StartTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(A)}}}))}).then((function(A){}))},this.stopTalk=A=>{yl.JS_RequestInterface({funcName:"StopTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(A)}}}))}).then((function(A){}))},this.startSave=A=>{yl.JS_RequestInterface({funcName:"StartRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(A)}}}))}).then((function(A){}))},this.stopSave=A=>{yl.JS_RequestInterface({funcName:"StopRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(A)}}}))}).then((function(A){}))},this.appKey="b9a3ad6e8026410095d8252169fa430a",this.accessToken="at.2vtum8873rrcwbrv431qb6pn94dkbv23-8dw2twn355-1u3x014-wrthellzk",this.deviceSerial="C33368372",this.channelNo="1",this.validateCode="",this.deviceClass="0",this.platformId="",this.startTime="",this.endTime="",this.layout=2,this.switchVideo=0,this.tips="调用成功",this.successTip=!1,this.tipsShow=!1,yl=function(A,e,t,i){return new WebControl({szPluginContainer:A,iServicePortStart:14510,iServicePortEnd:14519,cbConnectSuccess:e,cbConnectError:t,cbConnectClose:i})}("playWnd",Dl,Rl,Fl),function(A,e){if(!Object.prototype.hasOwnProperty.call(A,e))throw new TypeError("attempted to use private field on non-instance");return A}(this,wl)[wl]()}}};return window.EZUIKit=vl,vl})); + */var adapterExports=function(){if(hasRequiredAdapter)return adapter$1;hasRequiredAdapter=1;var deepmerge=requireCjs(),Logger=requireDist$6(),I18n=requireDist$7(),utilsTools=requireDist$8(),Service=requireDist(),UAParser=(hasRequiredUaParser||(hasRequiredUaParser=1,function(module,exports){!function(window){var MODEL="model",NAME="name",TYPE="type",VENDOR="vendor",VERSION="version",MOBILE="mobile",TABLET="tablet",SMARTTV="smarttv",enumerize=function(arr){for(var enums={},i=0;i0?2===q.length?"function"==typeof q[1]?this[q[0]]=q[1].call(this,match):this[q[0]]=q[1]:3===q.length?"function"!=typeof q[1]||q[1].exec&&q[1].test?this[q[0]]=match?match.replace(q[1],q[2]):void 0:this[q[0]]=match?q[1].call(this,match,q[2]):void 0:4===q.length&&(this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):void 0):this[q]=match||void 0;i+=2}},strMapper=function(str,map){for(var i in map)if("object"==typeof map[i]&&map[i].length>0){for(var j=0;j2&&(_device[MODEL]="iPad",_device[TYPE]=TABLET),_device},this.getEngine=function(){var _engine={};return _engine[NAME]=void 0,_engine[VERSION]=void 0,rgxMapper.call(_engine,_ua,_rgxmap.engine),_engine},this.getOS=function(){var _os={};return _os[NAME]=void 0,_os[VERSION]=void 0,rgxMapper.call(_os,_ua,_rgxmap.os),_isSelfNav&&!_os[NAME]&&_uach&&"Unknown"!=_uach.platform&&(_os[NAME]=_uach.platform.replace(/chrome os/i,"Chromium OS").replace(/macos/i,"Mac OS")),_os},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return _ua},this.setUA=function(ua){return _ua="string"==typeof ua&&ua.length>500?trim(ua,500):ua,this},this.setUA(_ua),this};UAParser.VERSION="1.0.37",UAParser.BROWSER=enumerize([NAME,VERSION,"major"]),UAParser.CPU=enumerize(["architecture"]),UAParser.DEVICE=enumerize([MODEL,VENDOR,TYPE,"console",MOBILE,SMARTTV,TABLET,"wearable","embedded"]),UAParser.ENGINE=UAParser.OS=enumerize([NAME,VERSION]),module.exports&&(exports=module.exports=UAParser),exports.UAParser=UAParser;var $=void 0!==window&&(window.jQuery||window.Zepto);if($&&!$.ua){var parser=new UAParser;$.ua=parser.getResult(),$.ua.get=function(){return parser.getUA()},$.ua.set=function(ua){parser.setUA(ua);var result=parser.getResult();for(var prop in result)$.ua[prop]=result[prop]}}}("object"==typeof window?window:uaParser)}(uaParser$1,uaParser$1.exports)),uaParser$1.exports),EventEmitter=requireEventemitter3(),dayjs=requireDayjs_min(),PlayerRecordPlugin=requireIndex_umd();window.SuperRender=function(){var vertexYUVShader=["attribute vec4 vertexPos;","attribute vec2 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos;","}"].join("\n"),fragmentYUVShader=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");function RenderManager(canvas){this.canvasElement=document.getElementById(canvas),this.initContextGL(),this.contextGL&&(this.YUVProgram=this.initProgram(vertexYUVShader,fragmentYUVShader),this.initBuffers(),this.initTextures())}return RenderManager.prototype.initContextGL=function(){var canvas=this.canvasElement,gl=null;try{gl=canvas.getContext("webgl")||canvas.getContext("experimental-webgl")}catch(e){gl=null}gl&&"function"==typeof gl.getParameter||(gl=null),this.contextGL=gl},RenderManager.prototype.initProgram=function(vertexShaderScript,fragmentShaderScript){var gl=this.contextGL,vertexShader=gl.createShader(gl.VERTEX_SHADER);gl.shaderSource(vertexShader,vertexShaderScript),gl.compileShader(vertexShader),gl.getShaderParameter(vertexShader,gl.COMPILE_STATUS);var fragmentShader=gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(fragmentShader,fragmentShaderScript),gl.compileShader(fragmentShader),gl.getShaderParameter(fragmentShader,gl.COMPILE_STATUS);var program=gl.createProgram();return gl.attachShader(program,vertexShader),gl.attachShader(program,fragmentShader),gl.linkProgram(program),gl.getProgramParameter(program,gl.LINK_STATUS),gl.deleteShader(vertexShader),gl.deleteShader(fragmentShader),program},RenderManager.prototype.initBuffers=function(){var gl=this.contextGL,vertexPosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,vertexPosBuffer),gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW),gl.bindBuffer(gl.ARRAY_BUFFER,null);var texturePosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer),gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),gl.DYNAMIC_DRAW),gl.bindBuffer(gl.ARRAY_BUFFER,null),this.vertexPosBuffer=vertexPosBuffer,this.texturePosBuffer=texturePosBuffer},RenderManager.prototype.initTexture=function(){var gl=this.contextGL,textureRef=gl.createTexture();return gl.bindTexture(gl.TEXTURE_2D,textureRef),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE),gl.bindTexture(gl.TEXTURE_2D,null),textureRef},RenderManager.prototype.initTextures=function(){var gl=this.contextGL,program=this.YUVProgram;gl.useProgram(program);var yTextureRef=this.initTexture(),ySamplerRef=gl.getUniformLocation(program,"ySampler");gl.uniform1i(ySamplerRef,0),this.yTextureRef=yTextureRef;var uTextureRef=this.initTexture(),uSamplerRef=gl.getUniformLocation(program,"uSampler");gl.uniform1i(uSamplerRef,1),this.uTextureRef=uTextureRef;var vTextureRef=this.initTexture(),vSamplerRef=gl.getUniformLocation(program,"vSampler");gl.uniform1i(vSamplerRef,2),this.vTextureRef=vTextureRef,gl.useProgram(null)},RenderManager.prototype.SR_DisplayFrameData=function(nWidth,nHeight,pData,dWidth,dHeight){if(!(nWidth<=0||nHeight<=0)){var gl=this.contextGL;if(null==pData)return gl.clearColor(0,0,0,0),void gl.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT);var canvas=this.canvasElement;this.nWindowWidth=canvas.width,this.nWindowHeight=canvas.height;var nWindowWidth=this.nWindowWidth,nWindowHeight=this.nWindowHeight;gl.clearColor(.8,.8,1,1),gl.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT),gl.viewport(0,0,nWindowWidth,nWindowHeight),this.updateFrameData(nWidth,nHeight,pData,dWidth,dHeight);var program=this.YUVProgram;gl.useProgram(program);var vertexPosBuffer=this.vertexPosBuffer;gl.bindBuffer(gl.ARRAY_BUFFER,vertexPosBuffer);var vertexPosRef=gl.getAttribLocation(program,"vertexPos");gl.enableVertexAttribArray(vertexPosRef),gl.vertexAttribPointer(vertexPosRef,2,gl.FLOAT,!1,0,0),gl.bindBuffer(gl.ARRAY_BUFFER,null);var texturePosBuffer=this.texturePosBuffer;gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);var texturePosRef=gl.getAttribLocation(program,"texturePos");gl.enableVertexAttribArray(texturePosRef),gl.vertexAttribPointer(texturePosRef,2,gl.FLOAT,!1,0,0),gl.bindBuffer(gl.ARRAY_BUFFER,null),gl.drawArrays(gl.TRIANGLE_STRIP,0,4),gl.disableVertexAttribArray(vertexPosRef),gl.disableVertexAttribArray(texturePosRef),gl.useProgram(null)}},RenderManager.prototype.updateFrameData=function(width,height,data,dWidth,dHeight){var gl=this.contextGL,yTextureRef=this.yTextureRef,uTextureRef=this.uTextureRef,vTextureRef=this.vTextureRef,i420Data=data;if(width==dWidth&&height==dHeight){var yDataLength=width*height,yData=i420Data.subarray(0,yDataLength);gl.activeTexture(gl.TEXTURE0),gl.bindTexture(gl.TEXTURE_2D,yTextureRef),gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width,height,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,yData);var cbDataLength=width/2*height/2,cbData=i420Data.subarray(width*height,width*height+cbDataLength);gl.activeTexture(gl.TEXTURE2),gl.bindTexture(gl.TEXTURE_2D,vTextureRef),gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,cbData);var crDataLength=cbDataLength,crData=i420Data.subarray(width*height+width*height/4,width*height+width*height/4+crDataLength);gl.activeTexture(gl.TEXTURE1),gl.bindTexture(gl.TEXTURE_2D,uTextureRef),gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,crData)}else{yDataLength=dWidth*dHeight,yData=new Uint8Array(yDataLength);for(var i=0;i0&&nWindowHeight>0){var fLeft=stDisplayRect.left/nWindowWidth,fTop=stDisplayRect.top/nWindowHeight,fRight=stDisplayRect.right/nWindowWidth,fBottom=stDisplayRect.bottom/nWindowHeight;texturePosValues=new Float32Array([fRight,fTop,fLeft,fTop,fRight,fBottom,fLeft,fBottom])}else texturePosValues=new Float32Array([1,0,0,0,1,1,0,1]);var texturePosBuffer=this.texturePosBuffer;gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer),gl.bufferSubData(gl.ARRAY_BUFFER,0,texturePosValues),gl.bindBuffer(gl.ARRAY_BUFFER,null)},RenderManager.prototype.SR_Destroy=function(){var gl=this.contextGL,YUVProgram=this.YUVProgram;gl.deleteProgram(YUVProgram);var vertexPosBuffer=this.vertexPosBuffer,texturePosBuffer=this.texturePosBuffer;gl.deleteBuffer(vertexPosBuffer),gl.deleteBuffer(texturePosBuffer);var yTextureRef=this.yTextureRef,uTextureRef=this.uTextureRef,vTextureRef=this.vTextureRef;gl.deleteTexture(yTextureRef),gl.deleteTexture(uTextureRef),gl.deleteTexture(vTextureRef)},RenderManager}(),function(){var _createClass=function(){function defineProperties(target,props){for(var i=0;iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]=o.length?{done:!0}:{done:!1,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(plugins),_state.label=1;case 1:return(_step=_iterator()).done?[3,4]:(plugin=_step.value,[4,_this.use(plugin)]);case 2:_state.sent(),_state.label=3;case 3:return[3,1];case 4:return[2]}}))}))()},_proto.use=function(plugin){var _this=this;return _async_to_generator((function(){var shouldLoad;return _ts_generator(this,(function(_state){switch(_state.label){case 0:return plugin.name?("function"==typeof(null==plugin?void 0:plugin.init)&&(null==plugin||plugin.init()),shouldLoad=!0,(null==plugin?void 0:plugin.beforeExec)?[4,plugin.beforeExec(_this.context)]:[3,2]):[3,3];case 1:shouldLoad=_state.sent(),_state.label=2;case 2:return shouldLoad&&plugin.exec(_this.context),"function"==typeof(null==plugin?void 0:plugin.afterExec)&&(null==plugin||plugin.afterExec(_this.context)),_this.plugins.set(plugin.name.toLowerCase(),plugin),[3,4];case 3:_state.label=4;case 4:return[2]}}))}))()},_proto.destroyByName=function(name){var plugin=this.plugins.get(name.toLowerCase());plugin&&"function"==typeof(null==plugin?void 0:plugin.destroy)&&plugin.destroy(),this.plugins.delete(name)},_proto.destroy=function(){var _this=this;(this.plugins||[]).forEach((function(_,name){_this.destroyByName(name)})),this.plugins=null},PluginManager}();function __ReturnResult(data,code,msg){return{code:null!=code?code:0,data:data,msg:msg}}function __ReturnEventResult(data,msg,source,target){return{data:data,msg:msg,source:source,target:target}}var EVENT_CALLBACK="EVENT_CALLBACK",EVENT_CALLBACK_TYPE={pluginErrorHandler:"pluginErrorHandler",getStreamHeaderCallback:"getStreamHeaderCallback",getVideoStreamCallback:"getVideoStreamCallback",appearFirstFrameCallback:"appearFirstFrameCallback",firstFrameCallback:"firstFrameCallback",averageStreamSuccessCallback:"averageStreamSuccessCallback",setRunTimeInfoCallBack:"setRunTimeInfoCallBack",setAdditionDataCallBack:"setAdditionDataCallBack",openStreamCallback:"openStreamCallback",stutterDetectedCallback:"stutterDetectedCallback"},EVENT_TYPE={initializing:"initializing",loadstart:"loadstart",abort:"abort",waiting:"waiting",canplay:"canplay",rateChange:"ratechange",volumeChange:"volumechange",debug:"debug",error:"error",videoInfo:"videoInfo",audioInfo:"audioInfo",decoder:"decoder",urlChange:"urlChange",API:{play:"play",pause:"pause",rateChange:"ratechange",volumeChange:"volumechange",destroy:"destroy",snapshot:"snapshot",fullscreen:"fullscreen",exitFullscreen:"exitFullscreen",resize:"resize",seek:"seek",resume:"resume"},NETWORK:{deviceCapacity:"network.deviceCapacity",deviceInfo:"network.deviceInfo",videoFragmentFiles:"network.videoFragmentFiles",error:{error:"network.error",deviceCapacity:"network.error.deviceCapacity",deviceInfo:"network.error.deviceInfo",realPlayUrl:"network.error.realPlayUrl",videoFragmentFiles:"network.error.videoFragmentFiles"}},SOCKET:{autoClose:"StreamClient.autoClose",openStream:"StreamClient.openStream",startPlay:"StreamClient.startPlay",stopAll:"StreamClient.stopAll",setPlayRate:"StreamClient.setPlayRate",seek:"StreamClient.seek",close:"StreamClient.close",error:"StreamClient.error"},CALLBACK:EVENT_CALLBACK_TYPE,FECCorrect:{setFEC2DParam:"setFEC2DParam"},streamInfoCB:"streamInfoCB"},getRandomValues="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),rnds8=new Uint8Array(16);function rng(){if(!getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return getRandomValues(rnds8)}for(var REGEX=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,byteToHex=[],i$1=0;i$1<256;++i$1)byteToHex.push((i$1+256).toString(16).substr(1));function v4(options,buf,offset){var rnds=(options=options||{}).random||(options.rng||rng)();return rnds[6]=15&rnds[6]|64,rnds[8]=63&rnds[8]|128,function(arr){var offset=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,uuid=(byteToHex[arr[offset+0]]+byteToHex[arr[offset+1]]+byteToHex[arr[offset+2]]+byteToHex[arr[offset+3]]+"-"+byteToHex[arr[offset+4]]+byteToHex[arr[offset+5]]+"-"+byteToHex[arr[offset+6]]+byteToHex[arr[offset+7]]+"-"+byteToHex[arr[offset+8]]+byteToHex[arr[offset+9]]+"-"+byteToHex[arr[offset+10]]+byteToHex[arr[offset+11]]+byteToHex[arr[offset+12]]+byteToHex[arr[offset+13]]+byteToHex[arr[offset+14]]+byteToHex[arr[offset+15]]).toLowerCase();if(!function(uuid){return"string"==typeof uuid&®EX.test(uuid)}(uuid))throw TypeError("Stringified UUID is invalid");return uuid}(rnds)}var DirectDeviceCustom=function(){function DirectDeviceCustom(){}var _proto=DirectDeviceCustom.prototype;return _proto.createClientObject=function(oWebsocket,szId,iCurChannel,iCurStream){return{socket:oWebsocket,id:szId,iCurChannel:iCurChannel,iCurStream:iCurStream,resolve:null,reject:null}},_proto.zeroPlayCmd=function(iCurChannel,iCurStream){return new Uint8Array([0,0,0,44,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,iCurChannel+1,0,0,0,iCurStream,0,0,4,0])},_proto.playCmd=function(iCurChannel,iCurStream){return new Uint8Array([0,0,0,44,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,iCurChannel,0,0,0,iCurStream,0,0,4,0])},_proto.playbackCmd=function(szStartTime,szStopTime,iCurChannel,iCurStream){var szStartDayMonthYear=szStartTime.split("T")[0],szStartHourMinSec=szStartTime.split("T")[1],szStartYear="0"+parseInt(szStartDayMonthYear.substring(0,4),10).toString(16),iStartMonth=parseInt(szStartDayMonthYear.substring(4,6),10),iStartDay=parseInt(szStartDayMonthYear.substring(6),10),iStartHour=parseInt(szStartHourMinSec.substring(0,2),10),iStartMin=parseInt(szStartHourMinSec.substring(2,4),10),iStartSec=parseInt(szStartHourMinSec.substring(4,6),10),szStopDayMonthYear=szStopTime.split("T")[0],szStopHourMinSec=szStopTime.split("T")[1],szStopYear="0"+parseInt(szStopDayMonthYear.substring(0,4),10).toString(16),iStopMonth=parseInt(szStopDayMonthYear.substring(4,6),10),iStopHour=parseInt(szStopHourMinSec.substring(0,2),10),iStopMin=parseInt(szStopHourMinSec.substring(2,4),10),iStopSec=parseInt(szStopHourMinSec.substring(4,6),10),aCmd=[0,0,0,96,0,0,0,0,0,0,0,0,0,3,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,iCurChannel,0,0,parseInt(szStartYear.substring(0,2),16),parseInt(szStartYear.substring(2,4),16),0,0,0,iStartMonth,0,0,0,iStartDay,0,0,0,iStartHour,0,0,0,iStartMin,0,0,0,iStartSec,0,0,parseInt(szStopYear.substring(0,2),16),parseInt(szStopYear.substring(2,4),16),0,0,0,iStopMonth,0,0,0,iStartDay,0,0,0,iStopHour,0,0,0,iStopMin,0,0,0,iStopSec,0,0,0,0,0,0,0,0,iCurStream,0,0,0];return new Uint8Array(aCmd)},_proto.playRateCmd=function(iRate){for(var szHex=(parseInt(iRate,10)>>>0).toString(16).toLocaleUpperCase().toString(16),j=szHex.length;j<8;j++)szHex="0"+szHex;for(var aRate=[0,0,0,0],j1=0,iLenRate=szHex.length;j1>=14;--g>=0;){var f=16383&this[a],o=this[a++]>>14,p=b*f+o*h;e=((f=h*f+((16383&p)<<14)+c[d]+e)>>28)+(p>>14)+b*o,c[d++]=268435455&f}return e},BigInteger.prototype.DB=28,BigInteger.prototype.DM=268435455,BigInteger.prototype.DV=1<<28,BigInteger.prototype.FV=Math.pow(2,52),BigInteger.prototype.F1=24,BigInteger.prototype.F2=4;var rr,vv,BI_RC=[];for(rr="0".charCodeAt(0),vv=0;vv<=9;++vv)BI_RC[rr++]=vv;for(rr="a".charCodeAt(0),vv=10;vv<36;++vv)BI_RC[rr++]=vv;for(rr="A".charCodeAt(0),vv=10;vv<36;++vv)BI_RC[rr++]=vv;function int2char(a){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(a)}function intAt(a,b){var c=BI_RC[a.charCodeAt(b)];return null==c?-1:c}function nbv(a){var b=nbi();return b.fromInt(a),b}function nbits(a){var c,b=1;return 0!=(c=a>>>16)&&(a=c,b+=16),0!=(c=a>>8)&&(a=c,b+=8),0!=(c=a>>4)&&(a=c,b+=4),0!=(c=a>>2)&&(a=c,b+=2),a>>1&&(b+=1),b}function Classic(a){this.m=a}function Montgomery(a){this.m=a,this.mp=a.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,b+=16),!(255&a)&&(a>>=8,b+=8),!(15&a)&&(a>>=4,b+=4),!(3&a)&&(a>>=2,b+=2),!(1&a)&&++b,b}function cbit(a){for(var b=0;0!=a;)a&=a-1,++b;return b}function NullExp(){}function nNop(a){return a}function Barrett(a){this.r2=nbi(),this.q3=nbi(),BigInteger.ONE.dlShiftTo(2*a.t,this.r2),this.mu=this.r2.divide(a),this.m=a}Classic.prototype.convert=function(a){return a.s<0||a.compareTo(this.m)>=0?a.mod(this.m):a},Classic.prototype.revert=function(a){return a},Classic.prototype.reduce=function(a){a.divRemTo(this.m,null,a)},Classic.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c),this.reduce(c)},Classic.prototype.sqrTo=function(a,b){a.squareTo(b),this.reduce(b)},Montgomery.prototype.convert=function(a){var b=nbi();return a.abs().dlShiftTo(this.m.t,b),b.divRemTo(this.m,null,b),a.s<0&&b.compareTo(BigInteger.ZERO)>0&&this.m.subTo(b,b),b},Montgomery.prototype.revert=function(a){var b=nbi();return a.copyTo(b),this.reduce(b),b},Montgomery.prototype.reduce=function(a){for(;a.t<=this.mt2;)a[a.t++]=0;for(var b=0;b>15)*this.mpl&this.um)<<15)&a.DM;for(a[c=b+this.m.t]+=this.m.am(0,d,a,b,0,this.m.t);a[c]>=a.DV;)a[c]-=a.DV,a[++c]++}a.clamp(),a.drShiftTo(this.m.t,a),a.compareTo(this.m)>=0&&a.subTo(this.m,a)},Montgomery.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c),this.reduce(c)},Montgomery.prototype.sqrTo=function(a,b){a.squareTo(b),this.reduce(b)},BigInteger.prototype.copyTo=function(a){for(var b=this.t-1;b>=0;--b)a[b]=this[b];a.t=this.t,a.s=this.s},BigInteger.prototype.fromInt=function(a){this.t=1,this.s=a<0?-1:0,a>0?this[0]=a:a<-1?this[0]=a+DV:this.t=0},BigInteger.prototype.fromString=function(a,b){var c;if(16==b)c=4;else if(8==b)c=3;else if(256==b)c=8;else if(2==b)c=1;else if(32==b)c=5;else{if(4!=b)return void this.fromRadix(a,b);c=2}this.s=this.t=0;for(var d=a.length,e=!1,g=0;--d>=0;){var h=8==c?255&a[d]:intAt(a,d);h<0?"-"==a.charAt(d)&&(e=!0):(e=!1,0==g?this[this.t++]=h:g+c>this.DB?(this[this.t-1]|=(h&(1<>this.DB-g):this[this.t-1]|=h<=this.DB&&(g-=this.DB))}8==c&&128&a[0]&&(this.s=-1,g>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==a;)--this.t},BigInteger.prototype.dlShiftTo=function(a,b){var c;for(c=this.t-1;c>=0;--c)b[c+a]=this[c];for(c=a-1;c>=0;--c)b[c]=0;b.t=this.t+a,b.s=this.s},BigInteger.prototype.drShiftTo=function(a,b){for(var c=a;c=0;--f)b[f+g+1]=this[f]>>d|h,h=(this[f]&e)<=0;--f)b[f]=0;b[g]=h,b.t=this.t+g+1,b.s=this.s,b.clamp()},BigInteger.prototype.rShiftTo=function(a,b){b.s=this.s;var c=Math.floor(a/this.DB);if(c>=this.t)b.t=0;else{var d=a%this.DB,e=this.DB-d,g=(1<>d;for(var h=c+1;h>d;d>0&&(b[this.t-c-1]|=(this.s&g)<>=this.DB;if(a.t>=this.DB;d+=this.s}else{for(d+=this.s;c>=this.DB;d-=a.s}b.s=d<0?-1:0,d<-1?b[c++]=this.DV+d:d>0&&(b[c++]=d),b.t=c,b.clamp()},BigInteger.prototype.multiplyTo=function(a,b){var c=this.abs(),d=a.abs(),e=c.t;for(b.t=e+d.t;--e>=0;)b[e]=0;for(e=0;e=0;)a[c]=0;for(c=0;c=b.DV&&(a[c+b.t]-=b.DV,a[c+b.t+1]=1)}a.t>0&&(a[a.t-1]+=b.am(c,b[c],a,2*c,0,1)),a.s=0,a.clamp()},BigInteger.prototype.divRemTo=function(a,b,c){var d=a.abs();if(!(d.t<=0)){var e=this.abs();if(e.t0?(d.lShiftTo(f,g),e.lShiftTo(f,c)):(d.copyTo(g),e.copyTo(c)),0!=(e=g[(d=g.t)-1])){var o=e*(1<1?g[d-2]>>this.F2:0),p=this.FV/o,q=(o=(1<=0&&(c[c.t++]=1,c.subTo(j,c)),BigInteger.ONE.dlShiftTo(d,j),j.subTo(g,g);g.t=0;){var l=c[--n]==e?this.DM:Math.floor(c[n]*p+(c[n-1]+q)*o);if((c[n]+=g.am(0,l,c,k,0,d))0&&c.rShiftTo(f,c),h<0&&BigInteger.ZERO.subTo(c,c)}}}},BigInteger.prototype.invDigit=function(){if(this.t<1)return 0;var b,a=this[0];return 1&a?(b=(b=(b=(b=(b=3&a)*(2-(15&a)*b)&15)*(2-(255&a)*b)&255)*(2-((65535&a)*b&65535))&65535)*(2-a*b%this.DV)%this.DV)>0?this.DV-b:-b:0},BigInteger.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},BigInteger.prototype.exp=function(a,b){if(a>4294967295||a<1)return BigInteger.ONE;var c=nbi(),d=nbi(),e=b.convert(this),g=nbits(a)-1;for(e.copyTo(c);--g>=0;)if(b.sqrTo(c,d),(a&1<0)b.mulTo(d,e,c);else{var h=c;c=d,d=h}return b.revert(c)},BigInteger.prototype.toString=function(a){if(this.s<0)return"-"+this.negate().toString(a);if(16==a)a=4;else if(8==a)a=3;else if(2==a)a=1;else if(32==a)a=5;else if(64==a)a=6;else{if(4!=a)return this.toRadix(a);a=2}var c,b=(1<0)for(h>h)>0&&(d=!0,e=int2char(c));g>=0;)h>(h+=this.DB-a)):(c=this[g]>>(h-=a)&b,h<=0&&(h+=this.DB,--g)),c>0&&(d=!0),d&&(e+=int2char(c));return d?e:"0"},BigInteger.prototype.negate=function(){var a=nbi();return BigInteger.ZERO.subTo(this,a),a},BigInteger.prototype.abs=function(){return this.s<0?this.negate():this},BigInteger.prototype.compareTo=function(a){if(0!=(b=this.s-a.s))return b;var b,c=this.t;if(0!=(b=c-a.t))return b;for(;--c>=0;)if(0!=(b=this[c]-a[c]))return b;return 0},BigInteger.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)},BigInteger.prototype.mod=function(a){var b=nbi();return this.abs().divRemTo(a,null,b),this.s<0&&b.compareTo(BigInteger.ZERO)>0&&a.subTo(b,b),b},BigInteger.prototype.modPowInt=function(a,b){var c;return c=a<256||b.isEven()?new Classic(b):new Montgomery(b),this.exp(a,c)},BigInteger.ZERO=nbv(0),BigInteger.ONE=nbv(1),NullExp.prototype.convert=nNop,NullExp.prototype.revert=nNop,NullExp.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c)},NullExp.prototype.sqrTo=function(a,b){a.squareTo(b)},Barrett.prototype.convert=function(a){if(a.s<0||a.t>2*this.m.t)return a.mod(this.m);if(a.compareTo(this.m)<0)return a;var b=nbi();return a.copyTo(b),this.reduce(b),b},Barrett.prototype.revert=function(a){return a},Barrett.prototype.reduce=function(a){for(a.drShiftTo(this.m.t-1,this.r2),a.t>this.m.t+1&&(a.t=this.m.t+1,a.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);a.compareTo(this.r2)<0;)a.dAddOffset(1,this.m.t+1);for(a.subTo(this.r2,a);a.compareTo(this.m)>=0;)a.subTo(this.m,a)},Barrett.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c),this.reduce(c)},Barrett.prototype.sqrTo=function(a,b){a.squareTo(b),this.reduce(b)};var rng_state,rng_pool,rng_pptr,lowprimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],lplim=67108864/lowprimes[lowprimes.length-1];function SeededRandom(){}function Arcfour(){this.j=this.i=0,this.S=[]}function rng_seed_time(){var a;a=(new Date).getTime(),rng_pool[rng_pptr++]^=255&a,rng_pool[rng_pptr++]^=a>>8&255,rng_pool[rng_pptr++]^=a>>16&255,rng_pool[rng_pptr++]^=a>>24&255,rng_pptr>=256&&(rng_pptr-=256)}if(BigInteger.prototype.chunkSize=function(a){return Math.floor(Math.LN2*this.DB/Math.log(a))},BigInteger.prototype.toRadix=function(a){if(null==a&&(a=10),0==this.signum()||a<2||a>36)return"0";var b=this.chunkSize(a),c=nbv(b=Math.pow(a,b)),d=nbi(),e=nbi(),g="";for(this.divRemTo(c,d,e);d.signum()>0;)g=(b+e.intValue()).toString(a).substr(1)+g,d.divRemTo(c,d,e);return e.intValue().toString(a)+g},BigInteger.prototype.fromRadix=function(a,b){this.fromInt(0),null==b&&(b=10);for(var c=this.chunkSize(b),d=Math.pow(b,c),e=!1,g=0,h=0,f=0;f=c&&(this.dMultiply(d),this.dAddOffset(h,0),h=g=0))}g>0&&(this.dMultiply(Math.pow(b,g)),this.dAddOffset(h,0)),e&&BigInteger.ZERO.subTo(this,this)},BigInteger.prototype.fromNumber=function(a,b,c){if("number"==typeof b)if(a<2)this.fromInt(1);else for(this.fromNumber(a,c),this.testBit(a-1)||this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(b);)this.dAddOffset(2,0),this.bitLength()>a&&this.subTo(BigInteger.ONE.shiftLeft(a-1),this);else{var d=7&a;(c=[]).length=1+(a>>3),b.nextBytes(c),d>0?c[0]&=(1<>=this.DB;if(a.t>=this.DB;d+=this.s}else{for(d+=this.s;c>=this.DB;d+=a.s}b.s=d<0?-1:0,d>0?b[c++]=d:d<-1&&(b[c++]=this.DV+d),b.t=c,b.clamp()},BigInteger.prototype.dMultiply=function(a){this[this.t]=this.am(0,a-1,this,0,0,this.t),++this.t,this.clamp()},BigInteger.prototype.dAddOffset=function(a,b){if(0!=a){for(;this.t<=b;)this[this.t++]=0;for(this[b]+=a;this[b]>=this.DV;)this[b]-=this.DV,++b>=this.t&&(this[this.t++]=0),++this[b]}},BigInteger.prototype.multiplyLowerTo=function(a,b,c){var e,d=Math.min(this.t+a.t,b);for(c.s=0,c.t=d;d>0;)c[--d]=0;for(e=c.t-this.t;d=0;)c[d]=0;for(d=Math.max(b-this.t,0);d0)if(0==b)c=this[0]%a;else for(var d=this.t-1;d>=0;--d)c=(b*c+this[d])%a;return c},BigInteger.prototype.millerRabin=function(a){var b=this.subtract(BigInteger.ONE),c=b.getLowestSetBit();if(c<=0)return!1;var d=b.shiftRight(c);(a=a+1>>1)>lowprimes.length&&(a=lowprimes.length);for(var e=nbi(),g=0;g>24},BigInteger.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},BigInteger.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},BigInteger.prototype.toByteArray=function(){var a=this.t,b=[];b[0]=this.s;var d,c=this.DB-a*this.DB%8,e=0;if(a-- >0)for(c>c)!=(this.s&this.DM)>>c&&(b[e++]=d|this.s<=0;)c<8?(d=(this[a]&(1<>(c+=this.DB-8)):(d=this[a]>>(c-=8)&255,c<=0&&(c+=this.DB,--a)),!!(128&d)&&(d|=-256),0==e&&(128&this.s)!=(128&d)&&++e,(e>0||d!=this.s)&&(b[e++]=d);return b},BigInteger.prototype.equals=function(a){return 0==this.compareTo(a)},BigInteger.prototype.min=function(a){return this.compareTo(a)<0?this:a},BigInteger.prototype.max=function(a){return this.compareTo(a)>0?this:a},BigInteger.prototype.and=function(a){var b=nbi();return this.bitwiseTo(a,op_and,b),b},BigInteger.prototype.or=function(a){var b=nbi();return this.bitwiseTo(a,op_or,b),b},BigInteger.prototype.xor=function(a){var b=nbi();return this.bitwiseTo(a,op_xor,b),b},BigInteger.prototype.andNot=function(a){var b=nbi();return this.bitwiseTo(a,op_andnot,b),b},BigInteger.prototype.not=function(){for(var a=nbi(),b=0;b=this.t?0!=this.s:!!(this[b]&1<1)for(c=nbi(),g.sqrTo(h[1],c);f<=p;)h[f]=nbi(),g.mulTo(c,h[f-2],h[f]),f+=2;var n,q=a.t-1,k=!0,j=nbi();for(c=nbits(a[q])-1;q>=0;){for(c>=o?n=a[q]>>c-o&p:(n=(a[q]&(1<0&&(n|=a[q-1]>>this.DB+c-o)),f=d;!(1&n);)n>>=1,--f;if((c-=f)<0&&(c+=this.DB,--q),k)h[n].copyTo(e),k=!1;else{for(;f>1;)g.sqrTo(e,j),g.sqrTo(j,e),f-=2;f>0?g.sqrTo(e,j):(f=e,e=j,j=f),g.mulTo(j,h[n],e)}for(;q>=0&&!(a[q]&1<=0?(c.subTo(d,c),b&&e.subTo(h,e),g.subTo(f,g)):(d.subTo(c,d),b&&h.subTo(e,h),f.subTo(g,f))}return 0!=d.compareTo(BigInteger.ONE)?BigInteger.ZERO:f.compareTo(a)>=0?f.subtract(a):f.signum()<0?(f.addTo(a,f),f.signum()<0?f.add(a):f):f},BigInteger.prototype.pow=function(a){return this.exp(a,new NullExp)},BigInteger.prototype.gcd=function(a){var b=this.s<0?this.negate():this.clone();if(a=a.s<0?a.negate():a.clone(),b.compareTo(a)<0){var c=b;b=a,a=c}c=b.getLowestSetBit();var d=a.getLowestSetBit();if(d<0)return b;for(c0&&(b.rShiftTo(d,b),a.rShiftTo(d,a));b.signum()>0;)(c=b.getLowestSetBit())>0&&b.rShiftTo(c,b),(c=a.getLowestSetBit())>0&&a.rShiftTo(c,a),b.compareTo(a)>=0?(b.subTo(a,b),b.rShiftTo(1,b)):(a.subTo(b,a),a.rShiftTo(1,a));return d>0&&a.lShiftTo(d,a),a},BigInteger.prototype.isProbablePrime=function(a){var b,c=this.abs();if(1==c.t&&c[0]<=lowprimes[lowprimes.length-1]){for(b=0;b=g;)_$a/=2,_$b/=2,_$f>>>=1;return(_$a+_$f)/_$b},q},h=b.pow(c,6),e=b.pow(2,e),g=2*e,p(b.random(),a)}([],Math,256,0,52),SeededRandom.prototype.nextBytes=function(a){var b;for(b=0;b>>8,rng_pool[rng_pptr++]=255&t;rng_pptr=0,rng_seed_time()}function rng_get_byte(){if(null==rng_state){for(rng_seed_time(),(rng_state=new Arcfour).init(rng_pool),rng_pptr=0;rng_pptr>16)+(b>>16)+(c>>16)<<16|65535&c}function c(a,b){return a>>>b|a<<32-b}return a=function(_$a){_$a=_$a.replace(/\r\n/g,"\n");for(var b="",c=0;c<_$a.length;c++){var h=_$a.charCodeAt(c);h<128?b+=String.fromCharCode(h):(h>127&&h<2048?b+=String.fromCharCode(h>>6|192):(b+=String.fromCharCode(h>>12|224),b+=String.fromCharCode(h>>6&63|128)),b+=String.fromCharCode(63&h|128))}return b}(a),function(a){for(var b="",c=0;c<4*a.length;c++)b+="0123456789abcdef".charAt(a[c>>2]>>8*(3-c%4)+4&15)+"0123456789abcdef".charAt(a[c>>2]>>8*(3-c%4)&15);return b}(function(a,e){var o,p,q,n,k,j,l,m,s,r,u,w,g=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],f=Array(64);for(a[e>>5]|=128<<24-e%32,a[15+(e+64>>9<<4)]=e,s=0;s>>10,f[r-7]),c(f[r-15],7)^c(f[r-15],18)^f[r-15]>>>3),f[r-16]),u=b(b(b(b(m,c(k,6)^c(k,11)^c(k,25)),k&j^~k&l),g[r]),f[r]),w=b(c(o,2)^c(o,13)^c(o,22),o&p^o&q^p&q),m=l,l=j,j=k,k=b(n,u),n=q,q=p,p=o,o=b(u,w);h[0]=b(o,h[0]),h[1]=b(p,h[1]),h[2]=b(q,h[2]),h[3]=b(n,h[3]),h[4]=b(k,h[4]),h[5]=b(j,h[5]),h[6]=b(l,h[6]),h[7]=b(m,h[7])}return h}(function(a){for(var b=[],c=0;c<8*a.length;c+=8)b[c>>5]|=(255&a.charCodeAt(c/8))<<24-c%32;return b}(a),8*a.length))}(a)};function parseBigInt(a,b){return new BigInteger(a,b)}function RSAKey(){this.n=null,this.e=0,this.coeff=this.dmq1=this.dmp1=this.q=this.p=this.d=null}RSAKey.prototype.doPublic=function(a){return a.modPowInt(this.e,this.n)},RSAKey.prototype.setPublic=function(a,b){null!=a&&null!=b&&a.length>0&&b.length>0?(this.n=parseBigInt(a,16),this.e=parseInt(b,16)):alert("Invalid RSA public key")},RSAKey.prototype.encrypt=function(a){return null==(a=function(a,b){if(b=0&&b>0;){var e=a.charCodeAt(d--);e<128?c[--b]=e:e>127&&e<2048?(c[--b]=63&e|128,c[--b]=e>>6|192):(c[--b]=63&e|128,c[--b]=e>>6&63|128,c[--b]=e>>12|224)}for(c[--b]=0,d=new SecureRandom,e=[];b>2;){for(e[0]=0;0==e[0];)d.nextBytes(e);c[--b]=e[0]}return c[--b]=2,c[--b]=0,new BigInteger(c)}(a,this.n.bitLength()+7>>3))||null==(a=this.doPublic(a))?null:1&(a=a.toString(16)).length?"0"+a:a},RSAKey.prototype.doPrivate=function(a){if(null==this.p||null==this.q)return a.modPow(this.d,this.n);var b=a.mod(this.p).modPow(this.dmp1,this.p);for(a=a.mod(this.q).modPow(this.dmq1,this.q);b.compareTo(a)<0;)b=b.add(this.p);return b.subtract(a).multiply(this.coeff).mod(this.p).multiply(this.q).add(a)},RSAKey.prototype.setPrivate=function(a,b,c){null!=a&&null!=b&&a.length>0&&b.length>0?(this.n=parseBigInt(a,16),this.e=parseInt(b,16),this.d=parseBigInt(c,16)):alert("Invalid RSA private key")},RSAKey.prototype.setPrivateEx=function(a,b,c,d,e,g,h,f){null!=a&&null!=b&&a.length>0&&b.length>0?(this.n=parseBigInt(a,16),this.e=parseInt(b,16),this.d=parseBigInt(c,16),this.p=parseBigInt(d,16),this.q=parseBigInt(e,16),this.dmp1=parseBigInt(g,16),this.dmq1=parseBigInt(h,16),this.coeff=parseBigInt(f,16)):alert("Invalid RSA private key")},RSAKey.prototype.generate=function(a,b){var c=new SeededRandom,d=a>>1;this.e=parseInt(b,16);for(var e=new BigInteger(b,16);;){for(;this.p=new BigInteger(a-d,1,c),0!=this.p.subtract(BigInteger.ONE).gcd(e).compareTo(BigInteger.ONE)||!this.p.isProbablePrime(10););for(;this.q=new BigInteger(d,1,c),0!=this.q.subtract(BigInteger.ONE).gcd(e).compareTo(BigInteger.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var g=this.p;this.p=this.q,this.q=g}g=this.p.subtract(BigInteger.ONE);var h=this.q.subtract(BigInteger.ONE),f=g.multiply(h);if(0==f.gcd(e).compareTo(BigInteger.ONE)){this.n=this.p.multiply(this.q),this.d=e.modInverse(f),this.dmp1=this.d.mod(g),this.dmq1=this.d.mod(h),this.coeff=this.q.modInverse(this.p);break}}},RSAKey.prototype.decrypt=function(a){return null==(a=this.doPrivate(parseBigInt(a,16)))?null:function(a,b){for(var c=a.toByteArray(),d=0;d=c.length)return null;for(var e="";++d191&&g<224?(e+=String.fromCharCode((31&g)<<6|63&c[d+1]),++d):(e+=String.fromCharCode((15&g)<<12|(63&c[d+1])<<6|63&c[d+2]),d+=2)}return e}(a,this.n.bitLength()+7>>3)};var _RSASIGN_DIHEAD=[];_RSASIGN_DIHEAD.sha1="3021300906052b0e03021a05000414",_RSASIGN_DIHEAD.sha256="3031300d060960864801650304020105000420";var _RSASIGN_HASHHEXFUNC=[];function _rsasign_getHexPaddedDigestInfoForString(a,b,c){b/=4,a=(0,_RSASIGN_HASHHEXFUNC[c])(a),c="00"+_RSASIGN_DIHEAD[c]+a,a="",b=b-4-c.length;for(var d=0;d>>32-b}function c(a){var _$c,_$b="";for(_$c=7;_$c>=0;_$c--)_$b+=(a>>>4*_$c&15).toString(16);return _$b}var d,e,n,k,j,l,m,g=Array(80),h=1732584193,f=4023233417,o=2562383102,p=271733878,q=3285377520;a=function(a){a=a.replace(/\r\n/g,"\n");for(var _$b="",_$c=0;_$c127&&d<2048?_$b+=String.fromCharCode(d>>6|192):(_$b+=String.fromCharCode(d>>12|224),_$b+=String.fromCharCode(d>>6&63|128)),_$b+=String.fromCharCode(63&d|128))}return _$b}(a),n=a.length;var s=[];for(d=0;d>>29),s.push(n<<3&4294967295),a=0;a=256&&(e^=283)):c>24&&g%c==16&&(h=[a.Sbox[h[0]],a.Sbox[h[1]],a.Sbox[h[2]],a.Sbox[h[3]]]);for(var f=0;f<4;f++)b[g+f]=b[g+f-c]^h[f]}},Encrypt:function(b,c){var d=c.length;a.AddRoundKey(b,c.slice(0,16));for(var e=16;e=16;d-=16)a.AddRoundKey(b,c.slice(d,d+16)),a.MixColumns_Inv(b),a.ShiftRows(b,a.ShiftRowTab_Inv),a.SubBytes(b,a.Sbox_Inv);a.AddRoundKey(b,c.slice(0,16))},SubBytes:function(a,c){for(var d=0;d<16;d++)a[d]=c[a[d]]},AddRoundKey:function(a,c){for(var d=0;d<16;d++)a[d]^=c[d]},ShiftRows:function(a,c){for(var d=[].concat(a),e=0;e<16;e++)a[e]=d[c[e]]},MixColumns:function(b){for(var c=0;c<16;c+=4){var d=b[c+0],e=b[c+1],g=b[c+2],h=b[c+3],f=d^e^g^h;b[c+0]^=f^a.xtime[d^e],b[c+1]^=f^a.xtime[e^g],b[c+2]^=f^a.xtime[g^h],b[c+3]^=f^a.xtime[h^d]}},MixColumns_Inv:function(b){for(var c=0;c<16;c+=4){var d=b[c+0],e=b[c+1],g=b[c+2],h=b[c+3],f=d^e^g^h,o=a.xtime[f],p=a.xtime[a.xtime[o^d^g]]^f;f^=a.xtime[a.xtime[o^e^h]],b[c+0]^=p^a.xtime[d^e],b[c+1]^=f^a.xtime[e^g],b[c+2]^=p^a.xtime[g^h],b[c+3]^=f^a.xtime[h^d]}}},a),cryptico=function(){var a={};return aes.Init(),a.b256to64=function(a){var c,d,e,g="",f=0,o=a.length;for(e=0;e>2&63),c=(3&d)<<4):1==f?(g+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(c|d>>4&15),c=(15&d)<<2):2==f&&(g+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(c|d>>6&3),g+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(63&d)),3==(f+=1)&&(f=0);return f>0&&(g+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(c),g+="="),1==f&&(g+="="),g},a.b64to256=function(a){var c,d,e="",g=0,h=0,f=a.length;for(d=0;d=0&&(g&&(e+=String.fromCharCode(h|c>>6-g&255)),h=c<<(g=g+2&7)&255);return e},a.b16to64=function(a){var c,d,e="";for(a.length%2==1&&(a="0"+a),c=0;c+3<=a.length;c+=3)d=parseInt(a.substring(c,c+3),16),e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>6)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(63&d);for(c+1==a.length?(d=parseInt(a.substring(c,c+1),16),e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d<<2)):c+2==a.length&&(d=parseInt(a.substring(c,c+2),16),e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((3&d)<<4));(3&e.length)>0;)e+="=";return e},a.b64to16=function(a){var d,g,c="",e=0;for(d=0;d>2),g=3&v,e=1):1==e?(c+=int2char(g<<2|v>>4),g=15&v,e=2):2==e?(c+=int2char(g),c+=int2char(v>>2),g=3&v,e=3):(c+=int2char(g<<2|v>>4),c+=int2char(15&v),e=0));return 1==e&&(c+=int2char(g<<2)),c},a.string2bytes=function(a){for(var c=[],d=0;d>>32-g,c)}function d(a,c,d,e,f,g,h){return a=b(a,b(b(c&e|d&~e,f),h)),b(a<>>32-g,c)}function e(a,c,d,e,f,g,h){return a=b(a,b(b(c^d^e,f),h)),b(a<>>32-g,c)}function g(a,c,d,e,f,g,h){return a=b(a,b(b(d^(c|~e),f),h)),b(a<>>32-g,c)}function h(a){var _$d,_$b="",_$c="";for(_$d=0;_$d<=3;_$d++)_$b+=(_$c="0"+(_$c=a>>>8*_$d&255).toString(16)).substr(_$c.length-2,2);return _$b}var o,p,q,n,k,j,l,m,f=function(a){for(var _$b,_$c=a.length,_$d=16*(((_$b=_$c+8)-_$b%64)/64+1),_$e=Array(_$d-1),f=0,_$g=0;_$g<_$c;)f=_$g%4*8,_$e[_$b=(_$g-_$g%4)/4]|=a.charCodeAt(_$g)<>>29,_$e}(a=function(a){a=a.replace(/\r\n/g,"\n");for(var _$b="",_$c=0;_$c127&&_$d<2048?_$b+=String.fromCharCode(_$d>>6|192):(_$b+=String.fromCharCode(_$d>>12|224),_$b+=String.fromCharCode(_$d>>6&63|128)),_$b+=String.fromCharCode(63&_$d|128))}return _$b}(a));for(k=1732584193,j=4023233417,l=2562383102,m=271733878,a=0;a>>2]|=(e[k>>>2]>>>24-k%4*8&255)<<24-(j+k)%4*8;else if(65535>>2]=e[k>>>2];else c.push.apply(c,e);return this.sigBytes+=a,this},clamp:function(){var a=this.words,c=this.sigBytes;a[c>>>2]&=4294967295<<32-c%4*8,a.length=u.ceil(c/4)},clone:function(){var a=t.clone.call(this);return a.words=this.words.slice(0),a},random:function(a){for(var c=[],e=0;e>>2]>>>24-j%4*8&255;e.push((k>>>4).toString(16)),e.push((15&k).toString(16))}return e.join("")},parse:function(a){for(var c=a.length,e=[],j=0;j>>3]|=parseInt(a.substr(j,2),16)<<24-j%8*4;return new r.init(e,c/2)}},b=w.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var e=[],j=0;j>>2]>>>24-j%4*8&255));return e.join("")},parse:function(a){for(var c=a.length,e=[],j=0;j>>2]|=(255&a.charCodeAt(j))<<24-j%4*8;return new r.init(e,c)}},x=w.Utf8={stringify:function(a){try{return decodeURIComponent(escape(b.stringify(a)))}catch(c){throw Error("Malformed UTF-8 data")}},parse:function(a){return b.parse(unescape(encodeURIComponent(a)))}},q=l.BufferedBlockAlgorithm=t.extend({reset:function(){this._data=new r.init,this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=x.parse(a)),this._data.concat(a),this._nDataBytes+=a.sigBytes},_process:function(a){var c=this._data,e=c.words,j=c.sigBytes,k=this.blockSize,b=j/(4*k);if(a=(b=a?u.ceil(b):u.max((0|b)-this._minBufferSize,0))*k,j=u.min(4*a,j),a){for(var q=0;q>>2]>>>24-r%4*8&255)<<16|(l[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|l[r+2>>>2]>>>24-(r+2)%4*8&255,v1=0;4>v1&&r+.75*v1>>6*(3-v1)&63));if(l=t.charAt(64))for(;d.length%4;)d.push(l);return d.join("")},parse:function(d){var l=d.length,s=this._map;(t=s.charAt(64))&&-1!=(t=d.indexOf(t))&&(l=t);for(var t=[],r=0,w=0;w>>6-w%4*2;t[r>>>2]|=(v1|b)<<24-r%4*8,r++}return p.create(t,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(u){function p(b,n,a,c,e,j,k){return((b=b+(n&a|~n&c)+e+k)<>>32-j)+n}function d(b,n,a,c,e,j,k){return((b=b+(n&c|a&~c)+e+k)<>>32-j)+n}function l(b,n,a,c,e,j,k){return((b=b+(n^a^c)+e+k)<>>32-j)+n}function s(b,n,a,c,e,j,k){return((b=b+(a^(n|~c))+e+k)<>>32-j)+n}for(var t=CryptoJS,w=(r=t.lib).WordArray,v1=r.Hasher,r=t.algo,b=[],x=0;64>x;x++)b[x]=4294967296*u.abs(u.sin(x+1))|0;r=r.MD5=v1.extend({_doReset:function(){this._hash=new w.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(q,n){for(var a=0;16>a;a++){var e=q[c=n+a];q[c]=16711935&(e<<8|e>>>24)|4278255360&(e<<24|e>>>8)}a=this._hash.words;var c=q[n+0],j=(e=q[n+1],q[n+2]),k=q[n+3],z=q[n+4],r=q[n+5],t=q[n+6],w=q[n+7],v1=q[n+8],A=q[n+9],B=q[n+10],C=q[n+11],_$u=q[n+12],D=q[n+13],E=q[n+14],x=q[n+15],f=p(f=a[0],m=a[1],g=a[2],h=a[3],c,7,b[0]),h=p(h,f,m,g,e,12,b[1]),g=p(g,h,f,m,j,17,b[2]),m=p(m,g,h,f,k,22,b[3]);f=p(f,m,g,h,z,7,b[4]),h=p(h,f,m,g,r,12,b[5]),g=p(g,h,f,m,t,17,b[6]),m=p(m,g,h,f,w,22,b[7]),f=p(f,m,g,h,v1,7,b[8]),h=p(h,f,m,g,A,12,b[9]),g=p(g,h,f,m,B,17,b[10]),m=p(m,g,h,f,C,22,b[11]),f=p(f,m,g,h,_$u,7,b[12]),h=p(h,f,m,g,D,12,b[13]),g=p(g,h,f,m,E,17,b[14]),f=d(f,m=p(m,g,h,f,x,22,b[15]),g,h,e,5,b[16]),h=d(h,f,m,g,t,9,b[17]),g=d(g,h,f,m,C,14,b[18]),m=d(m,g,h,f,c,20,b[19]),f=d(f,m,g,h,r,5,b[20]),h=d(h,f,m,g,B,9,b[21]),g=d(g,h,f,m,x,14,b[22]),m=d(m,g,h,f,z,20,b[23]),f=d(f,m,g,h,A,5,b[24]),h=d(h,f,m,g,E,9,b[25]),g=d(g,h,f,m,k,14,b[26]),m=d(m,g,h,f,v1,20,b[27]),f=d(f,m,g,h,D,5,b[28]),h=d(h,f,m,g,j,9,b[29]),g=d(g,h,f,m,w,14,b[30]),f=l(f,m=d(m,g,h,f,_$u,20,b[31]),g,h,r,4,b[32]),h=l(h,f,m,g,v1,11,b[33]),g=l(g,h,f,m,C,16,b[34]),m=l(m,g,h,f,E,23,b[35]),f=l(f,m,g,h,e,4,b[36]),h=l(h,f,m,g,z,11,b[37]),g=l(g,h,f,m,w,16,b[38]),m=l(m,g,h,f,B,23,b[39]),f=l(f,m,g,h,D,4,b[40]),h=l(h,f,m,g,c,11,b[41]),g=l(g,h,f,m,k,16,b[42]),m=l(m,g,h,f,t,23,b[43]),f=l(f,m,g,h,A,4,b[44]),h=l(h,f,m,g,_$u,11,b[45]),g=l(g,h,f,m,x,16,b[46]),f=s(f,m=l(m,g,h,f,j,23,b[47]),g,h,c,6,b[48]),h=s(h,f,m,g,w,10,b[49]),g=s(g,h,f,m,E,15,b[50]),m=s(m,g,h,f,r,21,b[51]),f=s(f,m,g,h,_$u,6,b[52]),h=s(h,f,m,g,k,10,b[53]),g=s(g,h,f,m,B,15,b[54]),m=s(m,g,h,f,e,21,b[55]),f=s(f,m,g,h,v1,6,b[56]),h=s(h,f,m,g,x,10,b[57]),g=s(g,h,f,m,t,15,b[58]),m=s(m,g,h,f,D,21,b[59]),f=s(f,m,g,h,z,6,b[60]),h=s(h,f,m,g,C,10,b[61]),g=s(g,h,f,m,j,15,b[62]),m=s(m,g,h,f,A,21,b[63]),a[0]=a[0]+f|0,a[1]=a[1]+m|0,a[2]=a[2]+g|0,a[3]=a[3]+h|0},_doFinalize:function(){var b=this._data,n=b.words,a=8*this._nDataBytes,c=8*b.sigBytes;n[c>>>5]|=128<<24-c%32;var e=u.floor(a/4294967296);for(n[15+(c+64>>>9<<4)]=16711935&(e<<8|e>>>24)|4278255360&(e<<24|e>>>8),n[14+(c+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),b.sigBytes=4*(n.length+1),this._process(),n=(b=this._hash).words,a=0;4>a;a++)c=n[a],n[a]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8);return b},clone:function(){var b=v1.clone.call(this);return b._hash=this._hash.clone(),b}}),t.MD5=v1._createHelper(r),t.HmacMD5=v1._createHmacHelper(r)}(Math),function(){var p,u=CryptoJS,d=(p=u.lib).Base,l=p.WordArray,s=(p=u.algo).EvpKDF=d.extend({cfg:d.extend({keySize:4,hasher:p.MD5,iterations:1}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,r){for(var s=(p=this.cfg).hasher.create(),b=l.create(),u=b.words,q=p.keySize,p=p.iterations;u.length>>2]}},d.BlockCipher=v1.extend({cfg:v1.cfg.extend({mode:b,padding:q}),reset:function(){v1.reset.call(this);var b=(a=this.cfg).iv,a=a.mode;if(this._xformMode==this._ENC_XFORM_MODE)var c=a.createEncryptor;else c=a.createDecryptor,this._minBufferSize=1;this._mode=c.call(a,this,b&&b.words)},_doProcessBlock:function(a,b){this._mode.processBlock(a,b)},_doFinalize:function(){var a=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){a.pad(this._data,this.blockSize);var b=this._process(!0)}else b=this._process(!0),a.unpad(b);return b},blockSize:4});var n=d.CipherParams=l.extend({init:function(a){this.mixIn(a)},toString:function(a){return(a||this.formatter).stringify(this)}}),a=(b=(p.format={}).OpenSSL={stringify:function(a){var b=a.ciphertext;return((a=a.salt)?s.create([1398893684,1701076831]).concat(a).concat(b):b).toString(r)},parse:function(a){var b=(a=r.parse(a)).words;if(1398893684==b[0]&&1701076831==b[1]){var c=s.create(b.slice(2,4));b.splice(0,4),a.sigBytes-=16}return n.create({ciphertext:a,salt:c})}},d.SerializableCipher=l.extend({cfg:l.extend({format:b}),encrypt:function(a,b,c,d){d=this.cfg.extend(d);var l=a.createEncryptor(c,d);return b=l.finalize(b),l=l.cfg,n.create({ciphertext:b,key:c,iv:l.iv,algorithm:a,mode:l.mode,padding:l.padding,blockSize:a.blockSize,formatter:d.format})},decrypt:function(a,b,c,d){return d=this.cfg.extend(d),b=this._parse(b,d.format),a.createDecryptor(c,d).finalize(b.ciphertext)},_parse:function(a,b){return"string"==typeof a?b.parse(a,this):a}})),p=(p.kdf={}).OpenSSL={execute:function(a,b,c,d){return d||(d=s.random(8)),a=w.create({keySize:b+c}).compute(a,d),c=s.create(a.words.slice(b),4*c),a.sigBytes=4*b,n.create({key:a,iv:c,salt:d})}},c=d.PasswordBasedCipher=a.extend({cfg:a.cfg.extend({kdf:p}),encrypt:function(b,c,d,l){return d=(l=this.cfg.extend(l)).kdf.execute(d,b.keySize,b.ivSize),l.iv=d.iv,(b=a.encrypt.call(this,b,c,d.key,l)).mixIn(d),b},decrypt:function(b,c,d,l){return l=this.cfg.extend(l),c=this._parse(c,l.format),d=l.kdf.execute(d,b.keySize,b.ivSize,c.salt),l.iv=d.iv,a.decrypt.call(this,b,c,d.key,l)}})}(),function(){for(var u=CryptoJS,p=u.lib.BlockCipher,d=u.algo,l=[],s=[],t=[],r=[],w=[],v1=[],b=[],x=[],q=[],n=[],a=[],c=0;256>c;c++)a[c]=128>c?c<<1:c<<1^283;var e=0,j=0;for(c=0;256>c;c++){var k=(k=j^j<<1^j<<2^j<<3^j<<4)>>>8^255&k^99;l[e]=k,s[k]=e;var z=a[e],F=a[z],G=a[F],y=257*a[k]^16843008*k;t[e]=y<<24|y>>>8,r[e]=y<<16|y>>>16,w[e]=y<<8|y>>>24,v1[e]=y,y=16843009*G^65537*F^257*z^16843008*e,b[k]=y<<24|y>>>8,x[k]=y<<16|y>>>16,q[k]=y<<8|y>>>24,n[k]=y,e?(e=z^a[a[a[G^z]]],j^=a[a[j]]):e=j=1}var H=[0,1,2,4,8,16,32,64,128,27,54];d=d.AES=p.extend({_doReset:function(){for(var c=(a=this._key).words,d=a.sigBytes/4,a=4*((this._nRounds=d+6)+1),e=this._keySchedule=[],j=0;j>>24]<<24|l[k>>>16&255]<<16|l[k>>>8&255]<<8|l[255&k]):(k=l[(k=k<<8|k>>>24)>>>24]<<24|l[k>>>16&255]<<16|l[k>>>8&255]<<8|l[255&k],k^=H[j/d|0]<<24),e[j]=e[j-d]^k}for(c=this._invKeySchedule=[],d=0;dd||4>=j?k:b[l[k>>>24]]^x[l[k>>>16&255]]^q[l[k>>>8&255]]^n[l[255&k]]},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._keySchedule,t,r,w,v1,l)},decryptBlock:function(a,c){var d=a[c+1];a[c+1]=a[c+3],a[c+3]=d,this._doCryptBlock(a,c,this._invKeySchedule,b,x,q,n,s),d=a[c+1],a[c+1]=a[c+3],a[c+3]=d},_doCryptBlock:function(a,b,c,d,e,j,l,f){for(var m=this._nRounds,g=a[b]^c[0],h=a[b+1]^c[1],k=a[b+2]^c[2],n=a[b+3]^c[3],p=4,r=1;r>>24]^e[h>>>16&255]^j[k>>>8&255]^l[255&n]^c[p++],s=d[h>>>24]^e[k>>>16&255]^j[n>>>8&255]^l[255&g]^c[p++],t=d[k>>>24]^e[n>>>16&255]^j[g>>>8&255]^l[255&h]^c[p++];n=d[n>>>24]^e[g>>>16&255]^j[h>>>8&255]^l[255&k]^c[p++],g=q,h=s,k=t}q=(f[g>>>24]<<24|f[h>>>16&255]<<16|f[k>>>8&255]<<8|f[255&n])^c[p++],s=(f[h>>>24]<<24|f[k>>>16&255]<<16|f[n>>>8&255]<<8|f[255&g])^c[p++],t=(f[k>>>24]<<24|f[n>>>16&255]<<16|f[g>>>8&255]<<8|f[255&h])^c[p++],n=(f[n>>>24]<<24|f[g>>>16&255]<<16|f[h>>>8&255]<<8|f[255&k])^c[p++],a[b]=q,a[b+1]=s,a[b+2]=t,a[b+3]=n},keySize:8}),u.AES=p._createHelper(d)}();var LiveMedia=function(){function LiveMedia(){}var _proto=LiveMedia.prototype;return _proto.createClientObject=function(oWebsocket,szId,szPKD,szRand,oParams){var key=CryptoJS.AES.encrypt((new Date).getTime().toString(),CryptoJS.enc.Hex.parse("1234567891234567123456789123456712345678912345671234567891234567"),{mode:CryptoJS.mode.CBC,iv:CryptoJS.enc.Hex.parse("12345678912345671234567891234567"),padding:CryptoJS.pad.Pkcs7}).ciphertext.toString();key.length<64&&(key+=key);var iv=CryptoJS.AES.encrypt((new Date).getTime().toString(),CryptoJS.enc.Hex.parse("12345678912345671234567891234567"),{mode:CryptoJS.mode.CBC,iv:CryptoJS.enc.Hex.parse("12345678912345671234567891234567"),padding:CryptoJS.pad.Pkcs7}).ciphertext.toString();return{socket:oWebsocket,id:szId,PKD:szPKD,rand:szRand,playURL:oParams.playURL||"",auth:oParams.auth||"",token:oParams.token||"",key:key,iv:iv,resolve:null,reject:null}},_proto.playCmd=function(oWebsocket){var oCmd={sequence:0,cmd:"realplay",url:oWebsocket.playURL,key:cryptico.encrypt(oWebsocket.iv+":"+oWebsocket.key,oWebsocket.PKD).cipher.split("?")[0],authorization:CryptoJS.AES.encrypt(oWebsocket.rand+":"+oWebsocket.auth,CryptoJS.enc.Hex.parse(oWebsocket.key),{mode:CryptoJS.mode.CBC,iv:CryptoJS.enc.Hex.parse(oWebsocket.iv),padding:CryptoJS.pad.Pkcs7}).ciphertext.toString(),token:CryptoJS.AES.encrypt(oWebsocket.token,CryptoJS.enc.Hex.parse(oWebsocket.key),{mode:CryptoJS.mode.CBC,iv:CryptoJS.enc.Hex.parse(oWebsocket.iv),padding:CryptoJS.pad.Pkcs7}).ciphertext.toString()};return JSON.stringify(oCmd)},_proto.playbackCmd=function(oWebsocket,szStartTime,szStopTime){var oCmd={sequence:0,cmd:"playback",url:oWebsocket.playURL,key:cryptico.encrypt(oWebsocket.iv+":"+oWebsocket.key,oWebsocket.PKD).cipher.split("?")[0],authorization:CryptoJS.AES.encrypt(oWebsocket.rand+":"+oWebsocket.auth,CryptoJS.enc.Hex.parse(oWebsocket.key),{mode:CryptoJS.mode.CBC,iv:CryptoJS.enc.Hex.parse(oWebsocket.iv),padding:CryptoJS.pad.Pkcs7}).ciphertext.toString(),token:CryptoJS.AES.encrypt(oWebsocket.token,CryptoJS.enc.Hex.parse(oWebsocket.key),{mode:CryptoJS.mode.CBC,iv:CryptoJS.enc.Hex.parse(oWebsocket.iv),padding:CryptoJS.pad.Pkcs7}).ciphertext.toString(),startTime:szStartTime,endTime:szStopTime};return JSON.stringify(oCmd)},_proto.seekCmd=function(szStartTime,szStopTime){var oCmd={sequence:0,cmd:"seek",startTime:szStartTime,endTime:szStopTime};return JSON.stringify(oCmd)},LiveMedia}(),LocalService=function(){function LocalService(){}var _proto=LocalService.prototype;return _proto.createClientObject=function(oWebsocket,szId,szPlayURL,oParams){return{socket:oWebsocket,id:szId,playURL:szPlayURL,deviceSerial:oParams.deviceSerial||"",verificationCode:oParams.verificationCode||"",resolve:null,reject:null}},_proto.playCmd=function(oWebsocket){var oCmd={sequence:0,cmd:"realplay",deviceSerial:oWebsocket.deviceSerial,verificationCode:oWebsocket.verificationCode,url:oWebsocket.playURL};return JSON.stringify(oCmd)},_proto.playbackCmd=function(oWebsocket,szStartTime,szStopTime){var oCmd={sequence:0,cmd:"playback",deviceSerial:oWebsocket.deviceSerial,verificationCode:oWebsocket.verificationCode,url:oWebsocket.playURL,startTime:szStartTime,endTime:szStopTime};return JSON.stringify(oCmd)},LocalService}(),WEBSOCKET=Symbol("WEBSOCKET"),GETINDEX=Symbol("GETINDEX"),PROTOCOLVERSION=Symbol("PROTOCOLVERSION"),CIPHERSUITES=Symbol("CIPHERSUITES"),oDirectDeviceCustom=new DirectDeviceCustom,oDirectDevice=new DirectDevice,oLiveMedia=new LiveMedia,oLocalService=new LocalService,WebsocketClient=function(){function WebsocketClient(){this[PROTOCOLVERSION]="0.1",this[CIPHERSUITES]=0,this[WEBSOCKET]=[],this.ERRORS={},this[GETINDEX]=function(id){for(var iIndex=-1,i1=0,iLen=this[WEBSOCKET].length;i1-1&&(bIpv6=!0);var that=this,aUrl=szUrl.split("://"),szProtocol=aUrl[0],szHostname="",iPort=7681,iCurChannel=1,iCurStream=0,bWebSocketVideoCtrlProxy=!1;if(bIpv6)szHostname=aUrl[1].split("]:")[0]+"]",iPort=Math.floor(aUrl[1].split("]:")[1].split("/")[0]),iCurChannel=Math.floor(aUrl[1].split("]:")[1].split("/")[1]/100),iCurStream=Math.floor(aUrl[1].split("]:")[1].split("/")[1]%100)-1;else{szHostname=aUrl[1].split(":")[0],iPort=Math.floor(aUrl[1].split(":")[1].split("/")[0]),iCurChannel=Math.floor(aUrl[1].split(":")[1].split("/")[1]/100),iCurStream=Math.floor(aUrl[1].split(":")[1].split("/")[1]%100)-1;var szProxyFlag=aUrl[1].split(":")[1].split("/")[2];""!==szProxyFlag&&"webSocketVideoCtrlProxy"===szProxyFlag&&(bWebSocketVideoCtrlProxy=!0)}0===iCurChannel&&(iCurStream=0);var szAuthType="&sessionID=";(oParams=oParams||{}).token&&!oParams.playURL&&(szAuthType="&token=");var szSessionID=oParams.sessionID||oParams.session||(oParams.playURL?"":oParams.token)||"",oWebsocket=new window.WebSocket(szProtocol+"://"+szHostname+":"+iPort+(oParams.mode?"/"+oParams.mode:"")+(bWebSocketVideoCtrlProxy?"/webSocketVideoCtrlProxy":"")+"?version="+that[PROTOCOLVERSION]+"&cipherSuites="+that[CIPHERSUITES]+szAuthType+szSessionID+(oParams.proxy?"&proxy="+oParams.proxy:""));oWebsocket.binaryType="arraybuffer";var szId=v4(),iDataIndex=-1;return new Promise((function(resolve,reject){oWebsocket.onopen=function(){oParams.playURL||oParams.sessionID||oParams.deviceSerial||oParams.token||(that[WEBSOCKET].push(oDirectDeviceCustom.createClientObject(oWebsocket,szId,iCurChannel,iCurStream)),resolve(szId))},oWebsocket.onmessage=function(e){if("string"==typeof e.data){var oJSON=JSON.parse(e.data),iWebsocketIndex=that[GETINDEX](szId);if(oJSON&&oJSON.version&&oJSON.cipherSuite){if(that[PROTOCOLVERSION]=oJSON.version,that[CIPHERSUITES]=parseInt(oJSON.cipherSuite,10),oJSON&&oJSON.PKD&&oJSON.rand)that[WEBSOCKET].push(oLiveMedia.createClientObject(oWebsocket,szId,oJSON.PKD,oJSON.rand,oParams));else{var szPlayURL="live://"+szHostname+":"+iPort+"/"+iCurChannel+"/"+iCurStream;-1===that[CIPHERSUITES]?that[WEBSOCKET].push(oLocalService.createClientObject(oWebsocket,szId,szPlayURL,oParams)):that[WEBSOCKET].push(oDirectDevice.createClientObject(oWebsocket,szId,szPlayURL))}return void resolve(szId)}if(oJSON&&oJSON.sdp){var aSadpHeadBuf=oDirectDevice.getMediaFromSdp(oJSON.sdp);cbMessage({bHead:!0,buf:aSadpHeadBuf})}if(oJSON&&oJSON.cmd&&"end"===oJSON.cmd&&cbMessage({type:"exception",cmd:oJSON.cmd}),oJSON&&oJSON.statusString&&("ok"===oJSON.statusString.toLowerCase()&&that[WEBSOCKET][iWebsocketIndex].resolve&&that[WEBSOCKET][iWebsocketIndex].resolve(oJSON),"ok"!==oJSON.statusString.toLowerCase())){var oError=oDirectDevice.getError(oJSON);iWebsocketIndex>-1?that[WEBSOCKET][iWebsocketIndex].reject&&that[WEBSOCKET][iWebsocketIndex].reject(oError):reject(oError)}oJSON&&oJSON.errorCode&&cbMessage(oJSON)}else{var dataObj={},dataBuf=new Uint8Array(e.data);if(iDataIndex++,64===dataBuf.byteLength||40===dataBuf.byteLength){for(var iMediaHeadIndex=-1,iLen=dataBuf.byteLength,i1=0;i10&&cbMessage(dataObj={bHead:!1,buf:dataBuf});dataBuf=null,dataObj=null,e=null}},oWebsocket.onclose=function(){for(var i1=0,iLen=that[WEBSOCKET].length;i1-1){that[WEBSOCKET][iWebsocketIndex].resolve=resolve,that[WEBSOCKET][iWebsocketIndex].reject=reject;var uIntCmd=null;szStartTime&&szStopTime?"0.1"!==that[PROTOCOLVERSION]?0===that[CIPHERSUITES]?uIntCmd=oLiveMedia.playbackCmd(that[WEBSOCKET][iWebsocketIndex],szStartTime,szStopTime):1===that[CIPHERSUITES]?uIntCmd=oDirectDevice.playbackCmd(szStartTime,szStopTime,that[WEBSOCKET][iWebsocketIndex].playURL):-1===that[CIPHERSUITES]&&(uIntCmd=oLocalService.playbackCmd(that[WEBSOCKET][iWebsocketIndex],szStartTime,szStopTime)):uIntCmd=oDirectDeviceCustom.playbackCmd(szStartTime,szStopTime,that[WEBSOCKET][iWebsocketIndex].iCurChannel,that[WEBSOCKET][iWebsocketIndex].iCurStream):0===that[WEBSOCKET][iWebsocketIndex].iCurChannel&&"0.1"===that[PROTOCOLVERSION]?uIntCmd=oDirectDeviceCustom.zeroPlayCmd(that[WEBSOCKET][iWebsocketIndex].iCurChannel,that[WEBSOCKET][iWebsocketIndex].iCurStream):"0.1"!==that[PROTOCOLVERSION]?0===that[CIPHERSUITES]?uIntCmd=oLiveMedia.playCmd(that[WEBSOCKET][iWebsocketIndex]):1===that[CIPHERSUITES]?uIntCmd=oDirectDevice.playCmd(that[WEBSOCKET][iWebsocketIndex].playURL):-1===that[CIPHERSUITES]&&(uIntCmd=oLocalService.playCmd(that[WEBSOCKET][iWebsocketIndex])):uIntCmd=oDirectDeviceCustom.playCmd(that[WEBSOCKET][iWebsocketIndex].iCurChannel,that[WEBSOCKET][iWebsocketIndex].iCurStream),that[WEBSOCKET][iWebsocketIndex].socket.send(uIntCmd),"0.1"===that[PROTOCOLVERSION]&&resolve()}else"0.1"===that[PROTOCOLVERSION]&&reject()}))},_proto.singleFrame=function(){},_proto.setPlayRate=function(id,iRate){var that=this;return new Promise((function(resolve,reject){for(var i1=0,iLen=that[WEBSOCKET].length;i1arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i0){for(var i=0;i.4)return}coords.param2d.fValue=inputXValue,coords.param2d.fPTZParam.fPTZPositionX=PTZPositionX,coords.param2d.fPTZParam.fPTZPositionY=PTZPositionY,wasmplayer.JSPlayM4_FEC_SetParam(coords.port,coords.param2d)}else 1536===type.correctType&&(wasmplayer.JSPlayM4_FEC_SetViewParam(coords.port,2,inputXValue),wasmplayer.JSPlayM4_FEC_SetViewParam(coords.port,1,inputYValue))}(e)},canvas.addEventListener("mousemove",_moveFn)}));var removeMoveEvent=function(){null!==_moveFn&&(canvas.removeEventListener("mousemove",_moveFn),_moveFn=null,coords.total.x+=coords.diff.x,coords.total.y+=coords.diff.y)};canvas.addEventListener("mouseup",removeMoveEvent),canvas.addEventListener("mouseleave",removeMoveEvent),canvas.addEventListener("mouseout",removeMoveEvent)}}}},_proto._closeFECAllSubWnd=function(){if(this._FECSplitIds&&this._canvasFECSubPort&&this._supportFEC())for(var _step,_iterator=function(o,allowArrayLike){var it="undefined"!=typeof Symbol&&o[Symbol.iterator]||o["@@iterator"];if(it)return(it=it.call(o)).next.bind(it);if(Array.isArray(o)||(it=function(o){if(o){if("string"==typeof o)return _array_like_to_array(o,void 0);var n=Object.prototype.toString.call(o).slice(8,-1);return"Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_array_like_to_array(o,void 0):void 0}}(o))||allowArrayLike){it&&(o=it);var i=0;return function(){return i>=o.length?{done:!0}:{done:!1,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(this._FECSplitIds.split(","));!(_step=_iterator()).done;){var id=_step.value;if(id){var canvasFECSubPortItem=this._canvasFECSubPort.get(id);if(void 0===canvasFECSubPortItem||void 0===canvasFECSubPortItem.port)continue;this._canvasFECSubPort.delete(id);var wasmplayer=this._player.wasmplayer;wasmplayer.JSPlayM4_FEC_Disable(canvasFECSubPortItem.port,!0),wasmplayer.JSPlayM4_FEC_DelPort(canvasFECSubPortItem.port)}}},FECCorrect}(),uaParserResult=(null==(_this=new UAParser)||null==(_getResult=_this.getResult)?void 0:_getResult.call(_this))||{};function _getVideoByTime(player,body){return new Promise((function(resolve,reject){player.service.getVideoByTime(body).then((function(res){player.emit(EVENT_TYPE.NETWORK.videoFragmentFiles,__ReturnEventResult(res.data||[],"根据时间获取存储文件信息",body.recType+"")),resolve(res)})).catch((function(err){player.emit(EVENT_TYPE.NETWORK.error.error,__ReturnEventResult(err)),player.emit(EVENT_TYPE.NETWORK.error.videoFragmentFiles,__ReturnEventResult(err)),reject(err)}))}))}function __setOptions(player,options){if(player._options=deepmerge.all([{},defaultOptions,player._options||{},options],{clone:!1}),!player._options.id)throw new Error("id is required");if(!document.getElementById(player._options.id))throw new Error("#"+player._options.id+" node does not exist");if(player.pluginManager||(player.pluginManager=new PluginManager(player)),"string"!=typeof player._options.id)throw new Error("id is required and only support string");if(player.$container=player._options.container||document.getElementById(player._options.id),player._options.width){var cssText="";/\d/.test(player._options.width+"")?cssText+=";width: "+player._options.width+"px;":cssText+=";width: "+player._options.width+";",player.$container&&(player.$container.style.cssText+=cssText)}if(player._options.height){var cssText1="";/\d/.test(player._options.height+"")?cssText1+=";height: "+player._options.height+"px;":cssText1+=";height: "+player._options.height+";",player.$container&&(player.$container.style.cssText+=cssText1)}if(player.$container.style.cssText+=";position: relative;",player._width=player.$container.clientWidth,player._height=player.$container.clientHeight,player._oStreamClient||(player._oStreamClient=new StreamClient(player)),player.logger||(player.logger=Logger(player._options.logger)),player.logger.log("[version] ",EZopenPlayer.version),player.logger.log("[Browser Info] ",JSON.stringify(uaParserResult)),player.logger.log("[options] ",JSON.stringify(player._options)),player.i18n||(player.i18n=new I18n({en:en,zh:zh})),player.fECCorrect||(player.fECCorrect=new FECCorrect(player)),player._options.accessToken&&isEzopen(player._options.url)){var _player_urlInfo,_player__options_env,_player__options,preDeviceSerial=null==(_player_urlInfo=player.urlInfo)?void 0:_player_urlInfo.deviceSerial;if(player.urlInfo=utilsTools.parseEzopenUrl(player._options.url),!player.urlInfo.deviceSerial||!player._options.accessToken)throw new Error("deviceSerial is required!");player.service=new Service({deviceSerial:player.urlInfo.deviceSerial,accessToken:player._options.accessToken,domain:null==(_player__options=player._options)||null==(_player__options_env=_player__options.env)?void 0:_player__options_env.domain,extraParams:player._options.extraParams}),preDeviceSerial!==player.urlInfo.deviceSerial&&(function(player){player.service.getDeviceCapacity().then((function(res){200==+res.code?(player.deviceCapacity=res.data,player.emit(EVENT_TYPE.NETWORK.deviceCapacity,__ReturnEventResult(res.data))):player.logger.error("getDeviceCapacity error: ",res)})).catch((function(err){player.emit(EVENT_TYPE.NETWORK.error.error,__ReturnEventResult(err)),player.emit(EVENT_TYPE.NETWORK.error.deviceCapacity,__ReturnEventResult(err)),player.logger.error("getDeviceCapacity error: ",err)}))}(player),function(player){player.emit(EVENT_TYPE.NETWORK.deviceInfo,__ReturnEventResult({})),player.service.getDeviceInfo().then((function(res){200==+res.code?(player.deviceInfo=res.data,player.emit(EVENT_TYPE.NETWORK.deviceInfo,__ReturnEventResult(res.data))):player.logger.error("deviceInfo error: ",res)})).catch((function(err){player.emit(EVENT_TYPE.NETWORK.error.error,__ReturnEventResult(err)),player.emit(EVENT_TYPE.NETWORK.error.deviceInfo,__ReturnEventResult(err)),player.logger.error("deviceInfo error: ",err)}))}(player)),player&&preDeviceSerial&&(player.logger.log("play url change "+player._options.url),player.emit(EVENT_TYPE.urlChange,__ReturnEventResult(player._options.url)))}}var VIDEO_FORMAT_MAP={0:void 0,1:"H264",2:"MPEG2",3:"MPEG4",4:"MotionJpeg",5:"H265",256:"H264"},AUDIO_FORMAT_MAP={0:void 0,4096:"ADPCM",8192:"MPEG",8193:"AAC",8194:"AACLD",12290:"OPUS",28944:"G711U",28945:"G711A",29217:"G722.1",29233:"G723.1",29280:"G726U",29281:"G726A",29328:"G729"},DEFAULT_STYLE={dpr:1},PlayerWindow=function(){function PlayerWindow(options){this._options=deepmerge(DEFAULT_STYLE,options,{clone:!1}),this._$container=options.container,this.dpr=this._options.dpr||1,this._player=this._options.player,this._canvasWidth=Math.floor(this._$container.clientWidth),this._canvasHeight=Math.floor(this._$container.clientHeight)}var _proto=PlayerWindow.prototype;return _proto._render=function(){var _this__$container;this._removeCanvas(),this.canvasId=this._options.id+"-player",this.$canvas=document.createElement("canvas"),this.$canvas.classList.add("ezplayer-canvas"),this.$canvas.style.cssText+="width: 100%; height: 100%; pointer-events: none; user-select: none;",this.$canvas.setAttribute("id",this.canvasId),this.$canvas.setAttribute("width",this._canvasWidth*this.dpr+"px"),this.$canvas.setAttribute("height",this._canvasHeight*this.dpr+"px"),null==(_this__$container=this._$container)||_this__$container.appendChild(this.$canvas)},_proto.hide=function(){var _this__$container,$canvas=null==(_this__$container=this._$container)?void 0:_this__$container.querySelector("#"+this.canvasId);$canvas&&($canvas.style.display="none")},_proto.destroy=function(){this._removeCanvas(),this.width=0,this.height=0},_proto._removeCanvas=function(){var $canvas=this._$container.querySelector("#"+this.canvasId);$canvas&&($canvas.remove(),$canvas=null,this.$canvas.remove(),this.$canvas=null)},_proto.resize=function(width,height){var $canvas=this._$container.querySelector("#"+this.canvasId);if($canvas&&(this._canvasWidth!==width||this._canvasHeight!==height)){var _this__player,_this__player_wasmplayer_JSPlayM4_SetCanvasSize,_this__player_wasmplayer,_this__player1;this._canvasWidth=width,this._canvasHeight=height;try{$canvas.width=this._canvasWidth*this.dpr,$canvas.height=this._canvasHeight*this.dpr}catch(error){}(null==(_this__player=this._player)?void 0:_this__player.wasmplayer)&&(null==(_this__player1=this._player)||null==(_this__player_wasmplayer=_this__player1.wasmplayer)||null==(_this__player_wasmplayer_JSPlayM4_SetCanvasSize=_this__player_wasmplayer.JSPlayM4_SetCanvasSize)||_this__player_wasmplayer_JSPlayM4_SetCanvasSize.call(_this__player_wasmplayer,this._canvasWidth*this.dpr,this._canvasHeight*this.dpr))}},_proto.reRenderCanvas=function(remove){remove&&this._render()},PlayerWindow}(),wasmplayer_min={exports:{}};!function(module,exports){function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _instanceof(left,right){return null!=right&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?!!right[Symbol.hasInstance](left):left instanceof right}function _type_of(obj){return obj&&"undefined"!=typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj}!function(_0x550d64,_0x25eb0f){if("object"==_type_of(exports)&&"object"==_type_of(module))module.exports=_0x25eb0f();else{var _0x1cde64=_0x25eb0f();for(var _0x276b06 in _0x1cde64)("object"==_type_of(exports)?exports:_0x550d64)[_0x276b06]=_0x1cde64[_0x276b06]}}(self,(function(){return function(){var _0x417e0e={477:function(_0x12ea7d){_0x12ea7d.exports=function(_0x3baaca,_0x4a8a56,_0x185944,_0x5e15a3){var _0x595365=self||window;try{try{var _0x318f7a;try{_0x318f7a=new _0x595365.Blob([_0x3baaca])}catch(_0x133e76){(_0x318f7a=new(_0x595365.BlobBuilder||_0x595365.WebKitBlobBuilder||_0x595365.MozBlobBuilder||_0x595365.MSBlobBuilder)).append(_0x3baaca),_0x318f7a=_0x318f7a.getBlob()}var _0x15445b=_0x595365.URL||_0x595365.webkitURL,_0x5f5b2e=_0x15445b.createObjectURL(_0x318f7a),_0x1d11b7=new _0x595365[_0x4a8a56](_0x5f5b2e,_0x185944);return _0x15445b.revokeObjectURL(_0x5f5b2e),_0x1d11b7}catch(_0x17ca2f){return new _0x595365[_0x4a8a56]("data:application/javascript,".concat(encodeURIComponent(_0x3baaca)),_0x185944)}}catch(_0x17861d){if(!_0x5e15a3)throw Error("Inline worker is not supported");return new _0x595365[_0x4a8a56](_0x5e15a3,_0x185944)}}},61:function(_0x420336,_0x9c6ebb,_0x140cbe){var _0x23a4c3=_0x140cbe(698).default;function _0x210b7f(){_0x420336.exports=_0x210b7f=function(){return _0x5cf012},_0x420336.exports.__esModule=!0,_0x420336.exports.default=_0x420336.exports;var _0x5cf012={},_0x2d16fa=Object.prototype,_0x32ba39=_0x2d16fa.hasOwnProperty,_0x50ec09="function"==typeof Symbol?Symbol:{},_0x139f9e=_0x50ec09.iterator||"@@iterator",_0x5e0658=_0x50ec09.asyncIterator||"@@asyncIterator",_0x4b8fad=_0x50ec09.toStringTag||"@@toStringTag";function _0x2d990e(_0x506af7,_0x224727,_0x2c5745){return Object.defineProperty(_0x506af7,_0x224727,{value:_0x2c5745,enumerable:!0,configurable:!0,writable:!0}),_0x506af7[_0x224727]}try{_0x2d990e({},"")}catch(_0x4fcb6c){_0x2d990e=function(_0x528cad,_0x2d752f,_0x7f6b0f){return _0x528cad[_0x2d752f]=_0x7f6b0f}}function _0x16b300(_0x5d5a74,_0x44e203,_0x3f6524,_0xfe6570){var _0x2e867b,_0x290b26,_0x9401c9,_0x2b238d,_0x1fb16f=_0x44e203&&_instanceof(_0x44e203.prototype,_0x5d2ad6)?_0x44e203:_0x5d2ad6,_0x6b756d=Object.create(_0x1fb16f.prototype),_0x5dbb7c=new _0x2cee18(_0xfe6570||[]);return _0x6b756d._invoke=(_0x2e867b=_0x5d5a74,_0x290b26=_0x3f6524,_0x9401c9=_0x5dbb7c,_0x2b238d="suspendedStart",function(_0x3e9ed9,_0x59cbcf){if("executing"===_0x2b238d)throw new Error("Generator is already running");if("completed"===_0x2b238d){if("throw"===_0x3e9ed9)throw _0x59cbcf;return{value:void 0,done:!0}}for(_0x9401c9.method=_0x3e9ed9,_0x9401c9.arg=_0x59cbcf;;){var _0x3c625f=_0x9401c9.delegate;if(_0x3c625f){var _0x1bbd52=_0xe2c9a0(_0x3c625f,_0x9401c9);if(_0x1bbd52){if(_0x1bbd52===_0x2643ad)continue;return _0x1bbd52}}if("next"===_0x9401c9.method)_0x9401c9.sent=_0x9401c9._sent=_0x9401c9.arg;else if("throw"===_0x9401c9.method){if("suspendedStart"===_0x2b238d)throw _0x2b238d="completed",_0x9401c9.arg;_0x9401c9.dispatchException(_0x9401c9.arg)}else"return"===_0x9401c9.method&&_0x9401c9.abrupt("return",_0x9401c9.arg);_0x2b238d="executing";var _0x48b201=_0x28ec7d(_0x2e867b,_0x290b26,_0x9401c9);if("normal"===_0x48b201.type){if(_0x2b238d=_0x9401c9.done?"completed":"suspendedYield",_0x48b201.arg===_0x2643ad)continue;return{value:_0x48b201.arg,done:_0x9401c9.done}}"throw"===_0x48b201.type&&(_0x2b238d="completed",_0x9401c9.method="throw",_0x9401c9.arg=_0x48b201.arg)}}),_0x6b756d}function _0x28ec7d(_0x32f6a2,_0x1c43d8,_0x570f3a){try{return{type:"normal",arg:_0x32f6a2.call(_0x1c43d8,_0x570f3a)}}catch(_0x32c0f9){return{type:"throw",arg:_0x32c0f9}}}_0x5cf012.wrap=_0x16b300;var _0x2643ad={};function _0x5d2ad6(){}function _0x2b030f(){}function _0xab86fe(){}var _0x5965db={};_0x2d990e(_0x5965db,_0x139f9e,(function(){return this}));var _0x141d30=Object.getPrototypeOf,_0x32b070=_0x141d30&&_0x141d30(_0x141d30(_0x289565([])));_0x32b070&&_0x32b070!==_0x2d16fa&&_0x32ba39.call(_0x32b070,_0x139f9e)&&(_0x5965db=_0x32b070);var _0x38232a=_0xab86fe.prototype=_0x5d2ad6.prototype=Object.create(_0x5965db);function _0x5e8c36(_0x35beaa){["next","throw","return"].forEach((function(_0x3b56aa){_0x2d990e(_0x35beaa,_0x3b56aa,(function(_0x55c01e){return this._invoke(_0x3b56aa,_0x55c01e)}))}))}function _0x5c45f1(_0x4347f5,_0x19361a){function _0x30aa0e(_0x478c2b,_0x26c2b1,_0xdbff50,_0xdc1782){var _0x4b2921=_0x28ec7d(_0x4347f5[_0x478c2b],_0x4347f5,_0x26c2b1);if("throw"!==_0x4b2921.type){var _0x1a1c6f=_0x4b2921.arg,_0x38079e=_0x1a1c6f.value;return _0x38079e&&"object"==_0x23a4c3(_0x38079e)&&_0x32ba39.call(_0x38079e,"__await")?_0x19361a.resolve(_0x38079e.__await).then((function(_0x3b2c58){_0x30aa0e("next",_0x3b2c58,_0xdbff50,_0xdc1782)}),(function(_0x1052e9){_0x30aa0e("throw",_0x1052e9,_0xdbff50,_0xdc1782)})):_0x19361a.resolve(_0x38079e).then((function(_0x1f68d9){_0x1a1c6f.value=_0x1f68d9,_0xdbff50(_0x1a1c6f)}),(function(_0x2c94df){return _0x30aa0e("throw",_0x2c94df,_0xdbff50,_0xdc1782)}))}_0xdc1782(_0x4b2921.arg)}var _0x25cc77;this._invoke=function(_0x4bd1ba,_0x2e2341){function _0x14605d(){return new _0x19361a((function(_0x8aed14,_0x4895bd){_0x30aa0e(_0x4bd1ba,_0x2e2341,_0x8aed14,_0x4895bd)}))}return _0x25cc77=_0x25cc77?_0x25cc77.then(_0x14605d,_0x14605d):_0x14605d()}}function _0xe2c9a0(_0x5688a2,_0x390b4e){var _0x5d80bc=_0x5688a2.iterator[_0x390b4e.method];if(void 0===_0x5d80bc){if(_0x390b4e.delegate=null,"throw"===_0x390b4e.method){if(_0x5688a2.iterator.return&&(_0x390b4e.method="return",_0x390b4e.arg=void 0,_0xe2c9a0(_0x5688a2,_0x390b4e),"throw"===_0x390b4e.method))return _0x2643ad;_0x390b4e.method="throw",_0x390b4e.arg=new TypeError("The iterator does not provide a 'throw' method")}return _0x2643ad}var _0x1fb8ad=_0x28ec7d(_0x5d80bc,_0x5688a2.iterator,_0x390b4e.arg);if("throw"===_0x1fb8ad.type)return _0x390b4e.method="throw",_0x390b4e.arg=_0x1fb8ad.arg,_0x390b4e.delegate=null,_0x2643ad;var _0x45e000=_0x1fb8ad.arg;return _0x45e000?_0x45e000.done?(_0x390b4e[_0x5688a2.resultName]=_0x45e000.value,_0x390b4e.next=_0x5688a2.nextLoc,"return"!==_0x390b4e.method&&(_0x390b4e.method="next",_0x390b4e.arg=void 0),_0x390b4e.delegate=null,_0x2643ad):_0x45e000:(_0x390b4e.method="throw",_0x390b4e.arg=new TypeError("iterator result is not an object"),_0x390b4e.delegate=null,_0x2643ad)}function _0x296609(_0x14fb9a){var _0x46e2a3={tryLoc:_0x14fb9a[0]};1 in _0x14fb9a&&(_0x46e2a3.catchLoc=_0x14fb9a[1]),2 in _0x14fb9a&&(_0x46e2a3.finallyLoc=_0x14fb9a[2],_0x46e2a3.afterLoc=_0x14fb9a[3]),this.tryEntries.push(_0x46e2a3)}function _0x5570ff(_0x3eb3cb){var _0x269951=_0x3eb3cb.completion||{};_0x269951.type="normal",delete _0x269951.arg,_0x3eb3cb.completion=_0x269951}function _0x2cee18(_0x39d18b){this.tryEntries=[{tryLoc:"root"}],_0x39d18b.forEach(_0x296609,this),this.reset(!0)}function _0x289565(_0x378866){if(_0x378866){var _0x1681f9=_0x378866[_0x139f9e];if(_0x1681f9)return _0x1681f9.call(_0x378866);if("function"==typeof _0x378866.next)return _0x378866;if(!isNaN(_0x378866.length)){var _0xfafd=-1,_0x6b30da=function _0x40e913(){for(;++_0xfafd<_0x378866.length;)if(_0x32ba39.call(_0x378866,_0xfafd))return _0x40e913.value=_0x378866[_0xfafd],_0x40e913.done=!1,_0x40e913;return _0x40e913.value=void 0,_0x40e913.done=!0,_0x40e913};return _0x6b30da.next=_0x6b30da}}return{next:_0x3dfae3}}function _0x3dfae3(){return{value:void 0,done:!0}}return _0x2b030f.prototype=_0xab86fe,_0x2d990e(_0x38232a,"constructor",_0xab86fe),_0x2d990e(_0xab86fe,"constructor",_0x2b030f),_0x2b030f.displayName=_0x2d990e(_0xab86fe,_0x4b8fad,"GeneratorFunction"),_0x5cf012.isGeneratorFunction=function(_0x59594b){var _0x60c26f="function"==typeof _0x59594b&&_0x59594b.constructor;return!!_0x60c26f&&(_0x60c26f===_0x2b030f||"GeneratorFunction"===(_0x60c26f.displayName||_0x60c26f.name))},_0x5cf012.mark=function(_0x12a508){return Object.setPrototypeOf?Object.setPrototypeOf(_0x12a508,_0xab86fe):(_0x12a508.__proto__=_0xab86fe,_0x2d990e(_0x12a508,_0x4b8fad,"GeneratorFunction")),_0x12a508.prototype=Object.create(_0x38232a),_0x12a508},_0x5cf012.awrap=function(_0x4dfada){return{__await:_0x4dfada}},_0x5e8c36(_0x5c45f1.prototype),_0x2d990e(_0x5c45f1.prototype,_0x5e0658,(function(){return this})),_0x5cf012.AsyncIterator=_0x5c45f1,_0x5cf012.async=function(_0x5518bb,_0x2fe6cd,_0x58a73a,_0x335bfc,_0x301927){void 0===_0x301927&&(_0x301927=Promise);var _0x1b4c1b=new _0x5c45f1(_0x16b300(_0x5518bb,_0x2fe6cd,_0x58a73a,_0x335bfc),_0x301927);return _0x5cf012.isGeneratorFunction(_0x2fe6cd)?_0x1b4c1b:_0x1b4c1b.next().then((function(_0x21bd9e){return _0x21bd9e.done?_0x21bd9e.value:_0x1b4c1b.next()}))},_0x5e8c36(_0x38232a),_0x2d990e(_0x38232a,_0x4b8fad,"Generator"),_0x2d990e(_0x38232a,_0x139f9e,(function(){return this})),_0x2d990e(_0x38232a,"toString",(function(){return"[object Generator]"})),_0x5cf012.keys=function(_0x38676b){var _0x19f7ac=[];for(var _0x5bf3e2 in _0x38676b)_0x19f7ac.push(_0x5bf3e2);return _0x19f7ac.reverse(),function _0xc1867f(){for(;_0x19f7ac.length;){var _0x4c3da9=_0x19f7ac.pop();if(_0x4c3da9 in _0x38676b)return _0xc1867f.value=_0x4c3da9,_0xc1867f.done=!1,_0xc1867f}return _0xc1867f.done=!0,_0xc1867f}},_0x5cf012.values=_0x289565,_0x2cee18.prototype={constructor:_0x2cee18,reset:function(_0x21dbe6){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_0x5570ff),!_0x21dbe6)for(var _0x2e189d in this)"t"===_0x2e189d.charAt(0)&&_0x32ba39.call(this,_0x2e189d)&&!isNaN(+_0x2e189d.slice(1))&&(this[_0x2e189d]=void 0)},stop:function(){this.done=!0;var _0x43a8a2=this.tryEntries[0].completion;if("throw"===_0x43a8a2.type)throw _0x43a8a2.arg;return this.rval},dispatchException:function(_0x1c78dc){if(this.done)throw _0x1c78dc;var _0x40551b=this;function _0x47561a(_0xf661b1,_0x29c7b9){return _0x1e24cc.type="throw",_0x1e24cc.arg=_0x1c78dc,_0x40551b.next=_0xf661b1,_0x29c7b9&&(_0x40551b.method="next",_0x40551b.arg=void 0),!!_0x29c7b9}for(var _0x3c41dc=this.tryEntries.length-1;_0x3c41dc>=0;--_0x3c41dc){var _0x3e8764=this.tryEntries[_0x3c41dc],_0x1e24cc=_0x3e8764.completion;if("root"===_0x3e8764.tryLoc)return _0x47561a("end");if(_0x3e8764.tryLoc<=this.prev){var _0x536748=_0x32ba39.call(_0x3e8764,"catchLoc"),_0x4e821a=_0x32ba39.call(_0x3e8764,"finallyLoc");if(_0x536748&&_0x4e821a){if(this.prev<_0x3e8764.catchLoc)return _0x47561a(_0x3e8764.catchLoc,!0);if(this.prev<_0x3e8764.finallyLoc)return _0x47561a(_0x3e8764.finallyLoc)}else if(_0x536748){if(this.prev<_0x3e8764.catchLoc)return _0x47561a(_0x3e8764.catchLoc,!0)}else{if(!_0x4e821a)throw new Error("try statement without catch or finally");if(this.prev<_0x3e8764.finallyLoc)return _0x47561a(_0x3e8764.finallyLoc)}}}},abrupt:function(_0x20e9cc,_0x540a3f){for(var _0x1f88b9=this.tryEntries.length-1;_0x1f88b9>=0;--_0x1f88b9){var _0x2ed2ed=this.tryEntries[_0x1f88b9];if(_0x2ed2ed.tryLoc<=this.prev&&_0x32ba39.call(_0x2ed2ed,"finallyLoc")&&this.prev<_0x2ed2ed.finallyLoc){var _0x1514f7=_0x2ed2ed;break}}_0x1514f7&&("break"===_0x20e9cc||"continue"===_0x20e9cc)&&_0x1514f7.tryLoc<=_0x540a3f&&_0x540a3f<=_0x1514f7.finallyLoc&&(_0x1514f7=null);var _0x4d7b64=_0x1514f7?_0x1514f7.completion:{};return _0x4d7b64.type=_0x20e9cc,_0x4d7b64.arg=_0x540a3f,_0x1514f7?(this.method="next",this.next=_0x1514f7.finallyLoc,_0x2643ad):this.complete(_0x4d7b64)},complete:function(_0x4b1fcc,_0x48a151){if("throw"===_0x4b1fcc.type)throw _0x4b1fcc.arg;return"break"===_0x4b1fcc.type||"continue"===_0x4b1fcc.type?this.next=_0x4b1fcc.arg:"return"===_0x4b1fcc.type?(this.rval=this.arg=_0x4b1fcc.arg,this.method="return",this.next="end"):"normal"===_0x4b1fcc.type&&_0x48a151&&(this.next=_0x48a151),_0x2643ad},finish:function(_0x16e705){for(var _0x368e08=this.tryEntries.length-1;_0x368e08>=0;--_0x368e08){var _0x4d651e=this.tryEntries[_0x368e08];if(_0x4d651e.finallyLoc===_0x16e705)return this.complete(_0x4d651e.completion,_0x4d651e.afterLoc),_0x5570ff(_0x4d651e),_0x2643ad}},catch:function(_0xeb2d9){for(var _0xc1dbfd=this.tryEntries.length-1;_0xc1dbfd>=0;--_0xc1dbfd){var _0x298855=this.tryEntries[_0xc1dbfd];if(_0x298855.tryLoc===_0xeb2d9){var _0xb78b0c=_0x298855.completion;if("throw"===_0xb78b0c.type){var _0x164b3a=_0xb78b0c.arg;_0x5570ff(_0x298855)}return _0x164b3a}}throw new Error("illegal catch attempt")},delegateYield:function(_0x3bd102,_0xebb20c,_0x3d768a){return this.delegate={iterator:_0x289565(_0x3bd102),resultName:_0xebb20c,nextLoc:_0x3d768a},"next"===this.method&&(this.arg=void 0),_0x2643ad}},_0x5cf012}_0x420336.exports=_0x210b7f,_0x420336.exports.__esModule=!0,_0x420336.exports.default=_0x420336.exports},698:function(_0xafd48c){function _0x585af7(_0x23d0a7){return _0xafd48c.exports=_0x585af7="function"==typeof Symbol&&"symbol"==_type_of(Symbol.iterator)?function(_0x1cba91){return void 0===_0x1cba91?"undefined":_type_of(_0x1cba91)}:function(_0x2d1bb4){return _0x2d1bb4&&"function"==typeof Symbol&&_0x2d1bb4.constructor===Symbol&&_0x2d1bb4!==Symbol.prototype?"symbol":void 0===_0x2d1bb4?"undefined":_type_of(_0x2d1bb4)},_0xafd48c.exports.__esModule=!0,_0xafd48c.exports.default=_0xafd48c.exports,_0x585af7(_0x23d0a7)}_0xafd48c.exports=_0x585af7,_0xafd48c.exports.__esModule=!0,_0xafd48c.exports.default=_0xafd48c.exports},687:function(_0x35359d,_0x9206cb,_0x1ee1e2){var _0xbcc179=_0x1ee1e2(61)();_0x35359d.exports=_0xbcc179;try{regeneratorRuntime=_0xbcc179}catch(_0x782aef){"object"==("undefined"==typeof globalThis?"undefined":_type_of(globalThis))?globalThis.regeneratorRuntime=_0xbcc179:Function("r","regeneratorRuntime = r")(_0xbcc179)}}},_0x66d846={};function _0x377307(_0x46f176){var _0x36f243=_0x66d846[_0x46f176];if(void 0!==_0x36f243)return _0x36f243.exports;var _0x2049e8=_0x66d846[_0x46f176]={exports:{}};return _0x417e0e[_0x46f176](_0x2049e8,_0x2049e8.exports,_0x377307),_0x2049e8.exports}_0x377307.n=function(_0x3dc537){var _0x2eb52e=_0x3dc537&&_0x3dc537.__esModule?function(){return _0x3dc537.default}:function(){return _0x3dc537};return _0x377307.d(_0x2eb52e,{a:_0x2eb52e}),_0x2eb52e},_0x377307.d=function(_0x2cf9ef,_0x334aee){for(var _0x250105 in _0x334aee)_0x377307.o(_0x334aee,_0x250105)&&!_0x377307.o(_0x2cf9ef,_0x250105)&&Object.defineProperty(_0x2cf9ef,_0x250105,{enumerable:!0,get:_0x334aee[_0x250105]})},_0x377307.o=function(_0x3d2857,_0xe9071){return Object.prototype.hasOwnProperty.call(_0x3d2857,_0xe9071)},_0x377307.r=function(_0x48bab8){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(_0x48bab8,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(_0x48bab8,"__esModule",{value:!0})};var _0x9ccfc9={};return function(){var _0x3d26fc=function(_0x9854c1,_0x2a4fe7){if(!_instanceof(_0x9854c1,_0x2a4fe7))throw new TypeError("Cannot call a class as a function")},_0x49990c=function(_0x2be1db,_0x2c6e16,_0x3c04dc){return _0x2c6e16&&function(_0x67cb91,_0x5a5c97){for(var _0x2b1445=0;_0x2b1445<_0x5a5c97.length;_0x2b1445++){var _0x26aea6=_0x5a5c97[_0x2b1445];_0x26aea6.enumerable=_0x26aea6.enumerable||!1,_0x26aea6.configurable=!0,"value"in _0x26aea6&&(_0x26aea6.writable=!0),Object.defineProperty(_0x67cb91,_0x26aea6.key,_0x26aea6)}}(_0x2be1db.prototype,_0x2c6e16),Object.defineProperty(_0x2be1db,"prototype",{writable:!1}),_0x2be1db},_0x6e37d8=function(_0x50c6b1,_0x2669ce,_0xfc299,_0x2b43da,_0x1bb5a1,_0x33a5ae,_0x5a91d2){try{var _0x497306=_0x50c6b1[_0x33a5ae](_0x5a91d2),_0x5ef070=_0x497306.value}catch(_0x215d28){return void _0xfc299(_0x215d28)}_0x497306.done?_0x2669ce(_0x5ef070):Promise.resolve(_0x5ef070).then(_0x2b43da,_0x1bb5a1)},_0x2ac013=function(_0xa7b9e9){return function(){var _0x53591f=this,_0x457b5c=arguments;return new Promise((function(_0x3ae4a8,_0x584ffc){var _0x4e8da5=_0xa7b9e9.apply(_0x53591f,_0x457b5c);function _0x1572b1(_0x27b787){_0x6e37d8(_0x4e8da5,_0x3ae4a8,_0x584ffc,_0x1572b1,_0x528020,"next",_0x27b787)}function _0x528020(_0x4a79a1){_0x6e37d8(_0x4e8da5,_0x3ae4a8,_0x584ffc,_0x1572b1,_0x528020,"throw",_0x4a79a1)}_0x1572b1(void 0)}))}},_0x243945=function(){return _0x1c05b3()("((()=>{var _0xae8de9={0x3d:(_0x42db72,_0x34a747,_0x4dff4d)=>{var _0x5f25ea=_0x4dff4d(0x2ba)['default'];function _0x281627(){'use strict';_0x42db72['exports']=_0x281627=function(){return _0x33c0e0;},_0x42db72['exports']['__esModule']=!0x0,_0x42db72['exports']['default']=_0x42db72['exports'];var _0x33c0e0={},_0x5c6bc7=Object['prototype'],_0x2c9f95=_0x5c6bc7['hasOwnProperty'],_0x524493='function'==typeof Symbol?Symbol:{},_0x2e8c72=_0x524493['iterator']||'@@iterator',_0x58cf55=_0x524493['asyncIterator']||'@@asyncIterator',_0x5d9c15=_0x524493['toStringTag']||'@@toStringTag';function _0x4c10ff(_0x55e696,_0x2ceaa9,_0x588bf0){return Object['defineProperty'](_0x55e696,_0x2ceaa9,{'value':_0x588bf0,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}),_0x55e696[_0x2ceaa9];}try{_0x4c10ff({},'');}catch(_0x5cbfd9){_0x4c10ff=function(_0x289600,_0xe320b1,_0xcb940a){return _0x289600[_0xe320b1]=_0xcb940a;};}function _0x4f57d6(_0x380518,_0x187ab0,_0x36019c,_0x7e713c){var _0x9f7960=_0x187ab0&&_0x187ab0['prototype']instanceof _0x475d69?_0x187ab0:_0x475d69,_0x1b4d88=Object['create'](_0x9f7960['prototype']),_0x3e7c4a=new _0x46a438(_0x7e713c||[]);return _0x1b4d88['_invoke']=function(_0x40b051,_0x4f5c69,_0x5336b8){var _0x5930e3='suspendedStart';return function(_0x1cf3d5,_0x27ffc0){if('executing'===_0x5930e3)throw new Error('Generator\\x20is\\x20already\\x20running');if('completed'===_0x5930e3){if('throw'===_0x1cf3d5)throw _0x27ffc0;return _0x8ce3e2();}for(_0x5336b8['method']=_0x1cf3d5,_0x5336b8['arg']=_0x27ffc0;;){var _0x1eecea=_0x5336b8['delegate'];if(_0x1eecea){var _0x240791=_0x14e9c3(_0x1eecea,_0x5336b8);if(_0x240791){if(_0x240791===_0x4257e9)continue;return _0x240791;}}if('next'===_0x5336b8['method'])_0x5336b8['sent']=_0x5336b8['_sent']=_0x5336b8['arg'];else{if('throw'===_0x5336b8['method']){if('suspendedStart'===_0x5930e3)throw _0x5930e3='completed',_0x5336b8['arg'];_0x5336b8['dispatchException'](_0x5336b8['arg']);}else'return'===_0x5336b8['method']&&_0x5336b8['abrupt']('return',_0x5336b8['arg']);}_0x5930e3='executing';var _0x1a57ab=_0x2c9e85(_0x40b051,_0x4f5c69,_0x5336b8);if('normal'===_0x1a57ab['type']){if(_0x5930e3=_0x5336b8['done']?'completed':'suspendedYield',_0x1a57ab['arg']===_0x4257e9)continue;return{'value':_0x1a57ab['arg'],'done':_0x5336b8['done']};}'throw'===_0x1a57ab['type']&&(_0x5930e3='completed',_0x5336b8['method']='throw',_0x5336b8['arg']=_0x1a57ab['arg']);}};}(_0x380518,_0x36019c,_0x3e7c4a),_0x1b4d88;}function _0x2c9e85(_0x304583,_0x302904,_0x20ddb0){try{return{'type':'normal','arg':_0x304583['call'](_0x302904,_0x20ddb0)};}catch(_0x3eb53b){return{'type':'throw','arg':_0x3eb53b};}}_0x33c0e0['wrap']=_0x4f57d6;var _0x4257e9={};function _0x475d69(){}function _0x4e18ee(){}function _0x294087(){}var _0xf5cb63={};_0x4c10ff(_0xf5cb63,_0x2e8c72,function(){return this;});var _0x31b349=Object['getPrototypeOf'],_0x148be7=_0x31b349&&_0x31b349(_0x31b349(_0x4e4794([])));_0x148be7&&_0x148be7!==_0x5c6bc7&&_0x2c9f95['call'](_0x148be7,_0x2e8c72)&&(_0xf5cb63=_0x148be7);var _0x593b9b=_0x294087['prototype']=_0x475d69['prototype']=Object['create'](_0xf5cb63);function _0x426189(_0x18e276){['next','throw','return']['forEach'](function(_0x589f3b){_0x4c10ff(_0x18e276,_0x589f3b,function(_0x5c0715){return this['_invoke'](_0x589f3b,_0x5c0715);});});}function _0x863369(_0x15643e,_0x2c1956){function _0x1beac9(_0x3ea7ff,_0x587ad9,_0x31f7e6,_0x4a14e2){var _0x5693e7=_0x2c9e85(_0x15643e[_0x3ea7ff],_0x15643e,_0x587ad9);if('throw'!==_0x5693e7['type']){var _0x74cc92=_0x5693e7['arg'],_0x14aa66=_0x74cc92['value'];return _0x14aa66&&'object'==_0x5f25ea(_0x14aa66)&&_0x2c9f95['call'](_0x14aa66,'__await')?_0x2c1956['resolve'](_0x14aa66['__await'])['then'](function(_0x4d3a78){_0x1beac9('next',_0x4d3a78,_0x31f7e6,_0x4a14e2);},function(_0x183340){_0x1beac9('throw',_0x183340,_0x31f7e6,_0x4a14e2);}):_0x2c1956['resolve'](_0x14aa66)['then'](function(_0x308fe3){_0x74cc92['value']=_0x308fe3,_0x31f7e6(_0x74cc92);},function(_0x42da61){return _0x1beac9('throw',_0x42da61,_0x31f7e6,_0x4a14e2);});}_0x4a14e2(_0x5693e7['arg']);}var _0x244136;this['_invoke']=function(_0x2ae764,_0x1a1935){function _0x4c1534(){return new _0x2c1956(function(_0x15cce1,_0x578aa4){_0x1beac9(_0x2ae764,_0x1a1935,_0x15cce1,_0x578aa4);});}return _0x244136=_0x244136?_0x244136['then'](_0x4c1534,_0x4c1534):_0x4c1534();};}function _0x14e9c3(_0x559ec6,_0xfb0fca){var _0x4e9bde=_0x559ec6['iterator'][_0xfb0fca['method']];if(void 0x0===_0x4e9bde){if(_0xfb0fca['delegate']=null,'throw'===_0xfb0fca['method']){if(_0x559ec6['iterator']['return']&&(_0xfb0fca['method']='return',_0xfb0fca['arg']=void 0x0,_0x14e9c3(_0x559ec6,_0xfb0fca),'throw'===_0xfb0fca['method']))return _0x4257e9;_0xfb0fca['method']='throw',_0xfb0fca['arg']=new TypeError('The\\x20iterator\\x20does\\x20not\\x20provide\\x20a\\x20\\x27throw\\x27\\x20method');}return _0x4257e9;}var _0x526e36=_0x2c9e85(_0x4e9bde,_0x559ec6['iterator'],_0xfb0fca['arg']);if('throw'===_0x526e36['type'])return _0xfb0fca['method']='throw',_0xfb0fca['arg']=_0x526e36['arg'],_0xfb0fca['delegate']=null,_0x4257e9;var _0x4fa001=_0x526e36['arg'];return _0x4fa001?_0x4fa001['done']?(_0xfb0fca[_0x559ec6['resultName']]=_0x4fa001['value'],_0xfb0fca['next']=_0x559ec6['nextLoc'],'return'!==_0xfb0fca['method']&&(_0xfb0fca['method']='next',_0xfb0fca['arg']=void 0x0),_0xfb0fca['delegate']=null,_0x4257e9):_0x4fa001:(_0xfb0fca['method']='throw',_0xfb0fca['arg']=new TypeError('iterator\\x20result\\x20is\\x20not\\x20an\\x20object'),_0xfb0fca['delegate']=null,_0x4257e9);}function _0xafc5bd(_0x5c596c){var _0x13378e={'tryLoc':_0x5c596c[0x0]};0x1 in _0x5c596c&&(_0x13378e['catchLoc']=_0x5c596c[0x1]),0x2 in _0x5c596c&&(_0x13378e['finallyLoc']=_0x5c596c[0x2],_0x13378e['afterLoc']=_0x5c596c[0x3]),this['tryEntries']['push'](_0x13378e);}function _0x3f32b7(_0x5509d9){var _0x800a06=_0x5509d9['completion']||{};_0x800a06['type']='normal',delete _0x800a06['arg'],_0x5509d9['completion']=_0x800a06;}function _0x46a438(_0x3247a2){this['tryEntries']=[{'tryLoc':'root'}],_0x3247a2['forEach'](_0xafc5bd,this),this['reset'](!0x0);}function _0x4e4794(_0x289aeb){if(_0x289aeb){var _0xbf0627=_0x289aeb[_0x2e8c72];if(_0xbf0627)return _0xbf0627['call'](_0x289aeb);if('function'==typeof _0x289aeb['next'])return _0x289aeb;if(!isNaN(_0x289aeb['length'])){var _0x3297d8=-0x1,_0x3a95f9=function _0x257c4b(){for(;++_0x3297d8<_0x289aeb['length'];)if(_0x2c9f95['call'](_0x289aeb,_0x3297d8))return _0x257c4b['value']=_0x289aeb[_0x3297d8],_0x257c4b['done']=!0x1,_0x257c4b;return _0x257c4b['value']=void 0x0,_0x257c4b['done']=!0x0,_0x257c4b;};return _0x3a95f9['next']=_0x3a95f9;}}return{'next':_0x8ce3e2};}function _0x8ce3e2(){return{'value':void 0x0,'done':!0x0};}return _0x4e18ee['prototype']=_0x294087,_0x4c10ff(_0x593b9b,'constructor',_0x294087),_0x4c10ff(_0x294087,'constructor',_0x4e18ee),_0x4e18ee['displayName']=_0x4c10ff(_0x294087,_0x5d9c15,'GeneratorFunction'),_0x33c0e0['isGeneratorFunction']=function(_0x5898c3){var _0x3832d6='function'==typeof _0x5898c3&&_0x5898c3['constructor'];return!!_0x3832d6&&(_0x3832d6===_0x4e18ee||'GeneratorFunction'===(_0x3832d6['displayName']||_0x3832d6['name']));},_0x33c0e0['mark']=function(_0x586769){return Object['setPrototypeOf']?Object['setPrototypeOf'](_0x586769,_0x294087):(_0x586769['__proto__']=_0x294087,_0x4c10ff(_0x586769,_0x5d9c15,'GeneratorFunction')),_0x586769['prototype']=Object['create'](_0x593b9b),_0x586769;},_0x33c0e0['awrap']=function(_0x3c9094){return{'__await':_0x3c9094};},_0x426189(_0x863369['prototype']),_0x4c10ff(_0x863369['prototype'],_0x58cf55,function(){return this;}),_0x33c0e0['AsyncIterator']=_0x863369,_0x33c0e0['async']=function(_0x531f20,_0x301564,_0x2bb297,_0x4e84d7,_0x36b86f){void 0x0===_0x36b86f&&(_0x36b86f=Promise);var _0x9ff135=new _0x863369(_0x4f57d6(_0x531f20,_0x301564,_0x2bb297,_0x4e84d7),_0x36b86f);return _0x33c0e0['isGeneratorFunction'](_0x301564)?_0x9ff135:_0x9ff135['next']()['then'](function(_0x422a4f){return _0x422a4f['done']?_0x422a4f['value']:_0x9ff135['next']();});},_0x426189(_0x593b9b),_0x4c10ff(_0x593b9b,_0x5d9c15,'Generator'),_0x4c10ff(_0x593b9b,_0x2e8c72,function(){return this;}),_0x4c10ff(_0x593b9b,'toString',function(){return'[object\\x20Generator]';}),_0x33c0e0['keys']=function(_0x224dbb){var _0x209f3a=[];for(var _0x2213d2 in _0x224dbb)_0x209f3a['push'](_0x2213d2);return _0x209f3a['reverse'](),function _0x35c9fe(){for(;_0x209f3a['length'];){var _0x528983=_0x209f3a['pop']();if(_0x528983 in _0x224dbb)return _0x35c9fe['value']=_0x528983,_0x35c9fe['done']=!0x1,_0x35c9fe;}return _0x35c9fe['done']=!0x0,_0x35c9fe;};},_0x33c0e0['values']=_0x4e4794,_0x46a438['prototype']={'constructor':_0x46a438,'reset':function(_0xc02ed4){if(this['prev']=0x0,this['next']=0x0,this['sent']=this['_sent']=void 0x0,this['done']=!0x1,this['delegate']=null,this['method']='next',this['arg']=void 0x0,this['tryEntries']['forEach'](_0x3f32b7),!_0xc02ed4){for(var _0x5c538d in this)'t'===_0x5c538d['charAt'](0x0)&&_0x2c9f95['call'](this,_0x5c538d)&&!isNaN(+_0x5c538d['slice'](0x1))&&(this[_0x5c538d]=void 0x0);}},'stop':function(){this['done']=!0x0;var _0x527989=this['tryEntries'][0x0]['completion'];if('throw'===_0x527989['type'])throw _0x527989['arg'];return this['rval'];},'dispatchException':function(_0x403fdf){if(this['done'])throw _0x403fdf;var _0x1cbe8c=this;function _0xa852ea(_0x117e55,_0x59b7ab){return _0x20c169['type']='throw',_0x20c169['arg']=_0x403fdf,_0x1cbe8c['next']=_0x117e55,_0x59b7ab&&(_0x1cbe8c['method']='next',_0x1cbe8c['arg']=void 0x0),!!_0x59b7ab;}for(var _0x448a73=this['tryEntries']['length']-0x1;_0x448a73>=0x0;--_0x448a73){var _0x1fc3f3=this['tryEntries'][_0x448a73],_0x20c169=_0x1fc3f3['completion'];if('root'===_0x1fc3f3['tryLoc'])return _0xa852ea('end');if(_0x1fc3f3['tryLoc']<=this['prev']){var _0x3cd4b6=_0x2c9f95['call'](_0x1fc3f3,'catchLoc'),_0x4ab950=_0x2c9f95['call'](_0x1fc3f3,'finallyLoc');if(_0x3cd4b6&&_0x4ab950){if(this['prev']<_0x1fc3f3['catchLoc'])return _0xa852ea(_0x1fc3f3['catchLoc'],!0x0);if(this['prev']<_0x1fc3f3['finallyLoc'])return _0xa852ea(_0x1fc3f3['finallyLoc']);}else{if(_0x3cd4b6){if(this['prev']<_0x1fc3f3['catchLoc'])return _0xa852ea(_0x1fc3f3['catchLoc'],!0x0);}else{if(!_0x4ab950)throw new Error('try\\x20statement\\x20without\\x20catch\\x20or\\x20finally');if(this['prev']<_0x1fc3f3['finallyLoc'])return _0xa852ea(_0x1fc3f3['finallyLoc']);}}}}},'abrupt':function(_0xcb1d36,_0x5b6e6e){for(var _0xdc17a5=this['tryEntries']['length']-0x1;_0xdc17a5>=0x0;--_0xdc17a5){var _0xbfcf0a=this['tryEntries'][_0xdc17a5];if(_0xbfcf0a['tryLoc']<=this['prev']&&_0x2c9f95['call'](_0xbfcf0a,'finallyLoc')&&this['prev']<_0xbfcf0a['finallyLoc']){var _0x2d64a0=_0xbfcf0a;break;}}_0x2d64a0&&('break'===_0xcb1d36||'continue'===_0xcb1d36)&&_0x2d64a0['tryLoc']<=_0x5b6e6e&&_0x5b6e6e<=_0x2d64a0['finallyLoc']&&(_0x2d64a0=null);var _0x55964f=_0x2d64a0?_0x2d64a0['completion']:{};return _0x55964f['type']=_0xcb1d36,_0x55964f['arg']=_0x5b6e6e,_0x2d64a0?(this['method']='next',this['next']=_0x2d64a0['finallyLoc'],_0x4257e9):this['complete'](_0x55964f);},'complete':function(_0x4275e3,_0x4b1e00){if('throw'===_0x4275e3['type'])throw _0x4275e3['arg'];return'break'===_0x4275e3['type']||'continue'===_0x4275e3['type']?this['next']=_0x4275e3['arg']:'return'===_0x4275e3['type']?(this['rval']=this['arg']=_0x4275e3['arg'],this['method']='return',this['next']='end'):'normal'===_0x4275e3['type']&&_0x4b1e00&&(this['next']=_0x4b1e00),_0x4257e9;},'finish':function(_0x40eb66){for(var _0x5d058f=this['tryEntries']['length']-0x1;_0x5d058f>=0x0;--_0x5d058f){var _0x546907=this['tryEntries'][_0x5d058f];if(_0x546907['finallyLoc']===_0x40eb66)return this['complete'](_0x546907['completion'],_0x546907['afterLoc']),_0x3f32b7(_0x546907),_0x4257e9;}},'catch':function(_0x19c03a){for(var _0x92497c=this['tryEntries']['length']-0x1;_0x92497c>=0x0;--_0x92497c){var _0x3728e2=this['tryEntries'][_0x92497c];if(_0x3728e2['tryLoc']===_0x19c03a){var _0x5e5db0=_0x3728e2['completion'];if('throw'===_0x5e5db0['type']){var _0x308208=_0x5e5db0['arg'];_0x3f32b7(_0x3728e2);}return _0x308208;}}throw new Error('illegal\\x20catch\\x20attempt');},'delegateYield':function(_0x8dccb1,_0x20d0bf,_0x123639){return this['delegate']={'iterator':_0x4e4794(_0x8dccb1),'resultName':_0x20d0bf,'nextLoc':_0x123639},'next'===this['method']&&(this['arg']=void 0x0),_0x4257e9;}},_0x33c0e0;}_0x42db72['exports']=_0x281627,_0x42db72['exports']['__esModule']=!0x0,_0x42db72['exports']['default']=_0x42db72['exports'];},0x2ba:_0x2f8669=>{function _0x4cafda(_0x814e18){return _0x2f8669['exports']=_0x4cafda='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(_0x83d824){return typeof _0x83d824;}:function(_0x1320d7){return _0x1320d7&&'function'==typeof Symbol&&_0x1320d7['constructor']===Symbol&&_0x1320d7!==Symbol['prototype']?'symbol':typeof _0x1320d7;},_0x2f8669['exports']['__esModule']=!0x0,_0x2f8669['exports']['default']=_0x2f8669['exports'],_0x4cafda(_0x814e18);}_0x2f8669['exports']=_0x4cafda,_0x2f8669['exports']['__esModule']=!0x0,_0x2f8669['exports']['default']=_0x2f8669['exports'];},0x2af:(_0x5e1c4f,_0xf64df6,_0x423f35)=>{var _0xc1bb=_0x423f35(0x3d)();_0x5e1c4f['exports']=_0xc1bb;try{regeneratorRuntime=_0xc1bb;}catch(_0xd376ef){'object'==typeof globalThis?globalThis['regeneratorRuntime']=_0xc1bb:Function('r','regeneratorRuntime\\x20=\\x20r')(_0xc1bb);}}},_0x24ab1e={};function _0x78e9a5(_0x1a6218){var _0x4ce8aa=_0x24ab1e[_0x1a6218];if(void 0x0!==_0x4ce8aa)return _0x4ce8aa['exports'];var _0x567fa5=_0x24ab1e[_0x1a6218]={'exports':{}};return _0xae8de9[_0x1a6218](_0x567fa5,_0x567fa5['exports'],_0x78e9a5),_0x567fa5['exports'];}_0x78e9a5['n']=_0x245ed7=>{var _0x1118a1=_0x245ed7&&_0x245ed7['__esModule']?()=>_0x245ed7['default']:()=>_0x245ed7;return _0x78e9a5['d'](_0x1118a1,{'a':_0x1118a1}),_0x1118a1;},_0x78e9a5['d']=(_0x20deab,_0x12594e)=>{for(var _0x263047 in _0x12594e)_0x78e9a5['o'](_0x12594e,_0x263047)&&!_0x78e9a5['o'](_0x20deab,_0x263047)&&Object['defineProperty'](_0x20deab,_0x263047,{'enumerable':!0x0,'get':_0x12594e[_0x263047]});},_0x78e9a5['o']=(_0x4d4eed,_0x2b5cd3)=>Object['prototype']['hasOwnProperty']['call'](_0x4d4eed,_0x2b5cd3),((()=>{'use strict';function _0x3521ed(_0x4332f4){return _0x3521ed='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(_0x260d5f){return typeof _0x260d5f;}:function(_0x1e8ba9){return _0x1e8ba9&&'function'==typeof Symbol&&_0x1e8ba9['constructor']===Symbol&&_0x1e8ba9!==Symbol['prototype']?'symbol':typeof _0x1e8ba9;},_0x3521ed(_0x4332f4);}function _0x212e39(_0x382aa2,_0x735f87,_0x7a4b53,_0x2c1a03,_0x50d4d6,_0xc89b03,_0x2639f4){try{var _0x80af12=_0x382aa2[_0xc89b03](_0x2639f4),_0x177927=_0x80af12['value'];}catch(_0xa8c61c){return void _0x7a4b53(_0xa8c61c);}_0x80af12['done']?_0x735f87(_0x177927):Promise['resolve'](_0x177927)['then'](_0x2c1a03,_0x50d4d6);}function _0x465afd(_0x179677){return function(){var _0x3e4ac0=this,_0x54de1c=arguments;return new Promise(function(_0x482368,_0xe0cafc){var _0x318482=_0x179677['apply'](_0x3e4ac0,_0x54de1c);function _0x2f4abf(_0x4076a2){_0x212e39(_0x318482,_0x482368,_0xe0cafc,_0x2f4abf,_0x47637d,'next',_0x4076a2);}function _0x47637d(_0x21aa5d){_0x212e39(_0x318482,_0x482368,_0xe0cafc,_0x2f4abf,_0x47637d,'throw',_0x21aa5d);}_0x2f4abf(void 0x0);});};}function _0x1d88b2(_0x4c6274,_0x87413a){if(!(_0x4c6274 instanceof _0x87413a))throw new TypeError('Cannot\\x20call\\x20a\\x20class\\x20as\\x20a\\x20function');}function _0x7cc4f5(_0x5eda3f,_0x409999){for(var _0x59b295=0x0;_0x59b295<_0x409999['length'];_0x59b295++){var _0x2b7690=_0x409999[_0x59b295];_0x2b7690['enumerable']=_0x2b7690['enumerable']||!0x1,_0x2b7690['configurable']=!0x0,'value'in _0x2b7690&&(_0x2b7690['writable']=!0x0),Object['defineProperty'](_0x5eda3f,_0x2b7690['key'],_0x2b7690);}}function _0x4e686c(_0x347506,_0x337fe4,_0x185e36){return _0x337fe4&&_0x7cc4f5(_0x347506['prototype'],_0x337fe4),_0x185e36&&_0x7cc4f5(_0x347506,_0x185e36),Object['defineProperty'](_0x347506,'prototype',{'writable':!0x1}),_0x347506;}var _0x3328a3=_0x78e9a5(0x2af),_0x171d88=_0x78e9a5['n'](_0x3328a3),_0x1e1231=0x501,_0x421a67=0x502,_0x42e372=0x505,_0xd0cb66=0x507,_0x4c9d86=0x508,_0x36522d=0x509,_0x1dae8d=0x512,_0x604e00=0x516,_0x10787f=0x1,_0x1adf2b=0x2,_0x5904b1=0x3,_0xf6e73b=0x0,_0x2bd62a=0x100,_0x340cf3=0x200,_0x3c6685=0x300,_0x56a1c6=0x400,_0xefb8fa=0x500,_0x39a314=0x600,_0xe75a42=0x700,_0x102fcd=0x800,_0x1f9056=0x900,_0x406210=0xa00,_0x11584b=0x1,_0x587f78=0x2,_0x5ceb2d=0x4,_0x4b7d75=0x8,_0x58b6d9=0x10,_0xab921a=0x20,_0xf6b282=0x15000001,_0x3c737d=0x1f000001,_0x596305=0x1f800000;function _0x416216(_0x4d5991,_0x450719){(null==_0x450719||_0x450719>_0x4d5991['length'])&&(_0x450719=_0x4d5991['length']);for(var _0x37a460=0x0,_0x53ccf0=new Array(_0x450719);_0x37a460<_0x450719;_0x37a460++)_0x53ccf0[_0x37a460]=_0x4d5991[_0x37a460];return _0x53ccf0;}function _0x195f37(_0xff8d1d){return function(_0x43a5b5){if(Array['isArray'](_0x43a5b5))return _0x416216(_0x43a5b5);}(_0xff8d1d)||function(_0x5ebfdf){if('undefined'!=typeof Symbol&&null!=_0x5ebfdf[Symbol['iterator']]||null!=_0x5ebfdf['@@iterator'])return Array['from'](_0x5ebfdf);}(_0xff8d1d)||function(_0x4cd1f8,_0x1a17a1){if(_0x4cd1f8){if('string'==typeof _0x4cd1f8)return _0x416216(_0x4cd1f8,_0x1a17a1);var _0x4bb830=Object['prototype']['toString']['call'](_0x4cd1f8)['slice'](0x8,-0x1);return'Object'===_0x4bb830&&_0x4cd1f8['constructor']&&(_0x4bb830=_0x4cd1f8['constructor']['name']),'Map'===_0x4bb830||'Set'===_0x4bb830?Array['from'](_0x4cd1f8):'Arguments'===_0x4bb830||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x4bb830)?_0x416216(_0x4cd1f8,_0x1a17a1):void 0x0;}}(_0xff8d1d)||(function(){throw new TypeError('Invalid\\x20attempt\\x20to\\x20spread\\x20non-iterable\\x20instance.\\x0aIn\\x20order\\x20to\\x20be\\x20iterable,\\x20non-array\\x20objects\\x20must\\x20have\\x20a\\x20[Symbol.iterator]()\\x20method.');}());}var _0x5bde94=(function(){function _0x23d860(){_0x1d88b2(this,_0x23d860),this['startTime']=0x0,this['curTime']=0x0,this['timeWalk']=0x0,this['preTimerStamp']=0x0;}return _0x4e686c(_0x23d860,[{'key':'Init','value':function(){this['startTime']=this['GetCurTime']();}},{'key':'GetCurTime','value':function(){return this['curTime']=0x18*new Date()['getDate']()*0x3c*0x3c*0x3e8+0x3c*new Date()['getHours']()*0x3c*0x3e8+0x3c*new Date()['getMinutes']()*0x3e8+0x3e8*new Date()['getSeconds']()+new Date()['getMilliseconds'](),this['curTime'];}},{'key':'GetTimerWalk','value':function(){return this['timeWalk']=this['GetCurTime']()-this['startTime'],this['timeWalk']<0x0&&(this['timeWalk']=0x0),this['timeWalk'];}},{'key':'timerReset','value':function(){this['startTime']=0x0,this['curTime']=0x0,this['timeWalk']=0x0,this['preTimerStamp']=0x0;}}]),_0x23d860;}());function _0x121715(_0x1bfab1,_0x3e5bd5){var _0x1729fa='undefined'!=typeof Symbol&&_0x1bfab1[Symbol['iterator']]||_0x1bfab1['@@iterator'];if(!_0x1729fa){if(Array['isArray'](_0x1bfab1)||(_0x1729fa=function(_0xa814fc,_0x115214){if(!_0xa814fc)return;if('string'==typeof _0xa814fc)return _0x44c961(_0xa814fc,_0x115214);var _0x4e2124=Object['prototype']['toString']['call'](_0xa814fc)['slice'](0x8,-0x1);'Object'===_0x4e2124&&_0xa814fc['constructor']&&(_0x4e2124=_0xa814fc['constructor']['name']);if('Map'===_0x4e2124||'Set'===_0x4e2124)return Array['from'](_0xa814fc);if('Arguments'===_0x4e2124||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x4e2124))return _0x44c961(_0xa814fc,_0x115214);}(_0x1bfab1))||_0x3e5bd5&&_0x1bfab1&&'number'==typeof _0x1bfab1['length']){_0x1729fa&&(_0x1bfab1=_0x1729fa);var _0xb5d472=0x0,_0x143383=function(){};return{'s':_0x143383,'n':function(){return _0xb5d472>=_0x1bfab1['length']?{'done':!0x0}:{'done':!0x1,'value':_0x1bfab1[_0xb5d472++]};},'e':function(_0x5c5771){throw _0x5c5771;},'f':_0x143383};}throw new TypeError('Invalid\\x20attempt\\x20to\\x20iterate\\x20non-iterable\\x20instance.\\x0aIn\\x20order\\x20to\\x20be\\x20iterable,\\x20non-array\\x20objects\\x20must\\x20have\\x20a\\x20[Symbol.iterator]()\\x20method.');}var _0x3a9f06,_0x411176=!0x0,_0xc4c754=!0x1;return{'s':function(){_0x1729fa=_0x1729fa['call'](_0x1bfab1);},'n':function(){var _0x18efbe=_0x1729fa['next']();return _0x411176=_0x18efbe['done'],_0x18efbe;},'e':function(_0x12a5b4){_0xc4c754=!0x0,_0x3a9f06=_0x12a5b4;},'f':function(){try{_0x411176||null==_0x1729fa['return']||_0x1729fa['return']();}finally{if(_0xc4c754)throw _0x3a9f06;}}};}function _0x44c961(_0x52eab2,_0x28e4c6){(null==_0x28e4c6||_0x28e4c6>_0x52eab2['length'])&&(_0x28e4c6=_0x52eab2['length']);for(var _0x4d9b9c=0x0,_0x338639=new Array(_0x28e4c6);_0x4d9b9c<_0x28e4c6;_0x4d9b9c++)_0x338639[_0x4d9b9c]=_0x52eab2[_0x4d9b9c];return _0x338639;}var _0xd61466=(function(){function _0x532c69(_0x4cd3fa,_0x1980c3,_0x169b64,_0x286588){_0x1d88b2(this,_0x532c69),this['width']=0x0,this['height']=0x0,this['decoderObj']=null,this['FirstFrame']=!0x0,this['ready_frames']=[],this['underflow']=!0x0,this['sab']=_0x4cd3fa,this['frameRate']=0x1e,this['needSetPreSoft']=!0x1,this['decoderCurStatus']=0x2,this['decoderOutSuccess']=!0x1,this['decoderObjNeedReset']=!0x1,this['oVideoRenderHandle']=_0x1980c3,this['output']=this['output']['bind'](this),this['reportError']=this['reportError']['bind'](this),this['player']=null,null!=_0x169b64&&(this['player']=_0x169b64),this['curFrame']=null,this['printfFlag']=this['oVideoRenderHandle']['printfFlag'],this['nGetTotalFrameNum']=0x0,this['nAverageDecodeTime']=0x0,this['oDecodeTimer']=null,this['runtimeInfoCBFun']=null,this['pstRuntimeInfo']={'nRunTimeModule':0x0,'nStrVersion':0x0,'nFrameTimeStamp':0x0,'nFrameNum':0x0,'nErrorCode':0x0,'nInputDataInterval':0x0,'nFrameNumInterval':0x0,'nAverageDecodeTime':0x0,'nSystemFormat':0x0,'nDetectRes':0x0,'nMp4FileTime':0x0,'nMp4TotalFrameNum':0x0,'AbsTimeYear':0x0,'AbsTimeMonth':0x0,'AbsTimeDay':0x0,'AbsTimeHour':0x0,'AbsTimeMinute':0x0,'AbsTimeSecond':0x0,'AbsTimeMilliseconds':0x0},this['HardDecFrameCount']=0x0,this['canvas']=_0x286588,this['bSetStreamEnd']=!0x1,this['bVisibility']=!0x0,this['back_ready_frames']=[],this['StartFrameTime']=0x0,this['WaitForFrameFlag']=0x0;}return _0x4e686c(_0x532c69,[{'key':'initDecoder','value':function(){if(null==this['decoderObj'])try{var _0x5ecddb={'output':this['output'],'error':this['reportError']};this['decoderObj']=new VideoDecoder(_0x5ecddb);}catch(_0x37ecd1){0x0==this['oVideoRenderHandle']['firstFrame']?this['decoderObjNeedReset']=!0x0:(this['oVideoRenderHandle']['HardDecodeError'](),console['log']('%cswitch\\x20hardVideoDecoder\\x20to\\x20softVideoDecoder','color:\\x20red'));}''!=this['canvas']&&null!=this['canvas']&&(this['underflow']&&(this['underflow']=!0x1,this['oVideoRenderHandle']['RenderFrame']()['then'](function(){})),this['oVideoRenderHandle']['displayRunning']=!0x0),this['decoderCurStatus']=0x2,this['FirstFrame']=!0x0;}},{'key':'inputData','value':function(_0x307751,_0x5b00e5){null!=this['decoderObj']&&(this['printfFlag']>0x0&&console['log']('VideoDecoder.js\\x20inputData\\x20videoInfo.timeStamp:'+_0x5b00e5['timeStamp']+',decodeQueueSize:'+this['decoderObj']['decodeQueueSize']+',frameLength:'+this['ready_frames']['length']),('configured'==this['decoderObj']['state']||this['FirstFrame'])&&this['decodeProcess'](_0x307751,_0x5b00e5),(this['ready_frames']['length']>0x64||this['decoderObj']['decodeQueueSize']>0x64)&&(this['player']?this['player']['JSPlayM4_GetDecodeBufferSize'](this['decoderObj']['decodeQueueSize'],this['ready_frames']['length']):postMessage({'function':'GetDecodeBufferSize','rawSize':this['decoderObj']['decodeQueueSize'],'frameSize':this['ready_frames']['length']})),_0x5b00e5['nStreamEnd']&&this['SetStreamEnd']());}},{'key':'concatenate','value':function(_0x2600ac){for(var _0x1570b6=0x0,_0x4879b5=arguments['length'],_0x293716=new Array(_0x4879b5>0x1?_0x4879b5-0x1:0x0),_0x4cd4d4=0x1;_0x4cd4d4<_0x4879b5;_0x4cd4d4++)_0x293716[_0x4cd4d4-0x1]=arguments[_0x4cd4d4];for(var _0x360417=0x0,_0x4c7801=_0x293716;_0x360417<_0x4c7801['length'];_0x360417++){var _0x64f6ca=_0x4c7801[_0x360417];_0x1570b6+=_0x64f6ca['length'];}for(var _0x33482a=new _0x2600ac(_0x1570b6),_0x188275=0x0,_0x197b8a=0x0,_0x182c5a=_0x293716;_0x197b8a<_0x182c5a['length'];_0x197b8a++){var _0x3762ec=_0x182c5a[_0x197b8a];_0x33482a['set'](_0x3762ec,_0x188275),_0x188275+=_0x3762ec['length'];}return _0x33482a;}},{'key':'processData','value':function(_0x53c931){for(var _0x41c443=null,_0x1e6e4c=null,_0x1696f2=null,_0x2a722a=!0x1,_0x4825f9=!0x1,_0xb8d808=0x0,_0x47eebd=0x0;_0x47eebd<_0x53c931['length']-0x4;_0x47eebd++){if(0x0!=_0x53c931[_0x47eebd]||0x0!=_0x53c931[_0x47eebd+0x1]||0x0!=_0x53c931[_0x47eebd+0x2]||0x1!=_0x53c931[_0x47eebd+0x3]||0x67!=_0x53c931[_0x47eebd+0x4]&&0x27!=_0x53c931[_0x47eebd+0x4]||(0x0!=_0x47eebd?(_0x4825f9=!0x0,_0x41c443=_0x53c931['slice'](_0x47eebd),_0xb8d808=_0x47eebd):_0x41c443=_0x53c931),0x0==_0x53c931[_0x47eebd]&&0x0==_0x53c931[_0x47eebd+0x1]&&0x0==_0x53c931[_0x47eebd+0x2]&&0x1==_0x53c931[_0x47eebd+0x3]&&(0x9==_0x53c931[_0x47eebd+0x4]||0x6==_0x53c931[_0x47eebd+0x4])){if(null==_0x41c443)continue;null==_0x1e6e4c&&(_0x1e6e4c=_0x53c931['slice'](_0xb8d808,_0x47eebd),_0x2a722a=!0x0);}if(0x0==_0x53c931[_0x47eebd]&&0x0==_0x53c931[_0x47eebd+0x1]&&0x0==_0x53c931[_0x47eebd+0x2]&&0x1==_0x53c931[_0x47eebd+0x3]&&(0x65==_0x53c931[_0x47eebd+0x4]||0x25==_0x53c931[_0x47eebd+0x4])){_0x2a722a&&(_0x1696f2=_0x53c931['slice'](_0x47eebd));break;}}return _0x2a722a?this['concatenate'](Uint8Array,_0x1e6e4c,_0x1696f2):_0x4825f9?_0x41c443:_0x53c931;}},{'key':'processData1','value':function(_0x3ad75c){return 0x0!=_0x3ad75c[0x0]||0x0!=_0x3ad75c[0x1]||0x0!=_0x3ad75c[0x2]||0x1!=_0x3ad75c[0x3]||0x9!=_0x3ad75c[0x4]&&0x6!=_0x3ad75c[0x4]?_0x3ad75c:_0x3ad75c['slice'](0x5);}},{'key':'formatVideoDecoderConfigure','value':function(_0x3af474,_0x45520a,_0x232798,_0x1bb198){var _0x369a8c='';0x5==_0x45520a?(_0x369a8c='hvc1.1.6.L123.00',this['printfFlag']>=0x0&&console['log']('265\\x20hard\\x20decoder')):0x100==_0x45520a?(_0x369a8c='avc1.42001f',this['printfFlag']>=0x0&&console['log']('264\\x20hard\\x20decoder')):console['log']('Support\\x20Error:\\x20hard\\x20decoder\\x20only\\x20support\\x20264\\x20and\\x20265\\x20!!!');var _0x164a51={'codec':_0x369a8c,'hardwareAcceleration':'prefer-hardware','optimizeForLatency':0x1};return 0x5!=_0x45520a&&this['needSetPreSoft']&&(_0x164a51['hardwareAcceleration']='prefer-software'),_0x164a51;}},{'key':'decodeProcess','value':function(_0x169710,_0x34a7f5){this['frameRate']!=_0x34a7f5['frameRate']&&(this['frameRate']=_0x34a7f5['frameRate']),this['width']!=_0x34a7f5['width']&&(this['width']=_0x34a7f5['width']),this['height']!=_0x34a7f5['height']&&(this['height']=_0x34a7f5['height']),_0x34a7f5['needSetPreSoft']&&(this['needSetPreSoft']=_0x34a7f5['needSetPreSoft']);var _0x54435e=_0x169710;if(0x4!=this['decoderCurStatus']&&null!=this['decoderObj']){if(this['printfFlag']>0x0&&console['log']('VideoDecoder.js\\x20Decoder\\x20this.decoderObj.state:'+this['decoderObj']['state']),'configured'==this['decoderObj']['state']){var _0x4c2218=new EncodedVideoChunk({'data':_0x54435e,'timestamp':_0x34a7f5['timeStamp'],'type':_0x34a7f5['isKeyFrame']?'key':'delta'});try{this['decoderObj']['decode'](_0x4c2218);}catch(_0x429a6a){0x0==this['oVideoRenderHandle']['firstFrame']?this['decoderObjNeedReset']=!0x0:(this['oVideoRenderHandle']['HardDecodeError'](),console['log']('%cswitch\\x20hardVideoDecoder\\x20to\\x20softVideoDecoder','color:\\x20red'));}_0x54435e=null,_0x169710=null,_0x4c2218=null,_0x34a7f5['frameType'];}else{if(_0x34a7f5['isKeyFrame']&&'unconfigured'==this['decoderObj']['state']){var _0xdad05f=this['formatVideoDecoderConfigure'](_0x169710,_0x34a7f5['codecType'],_0x34a7f5['width'],_0x34a7f5['height']);if(''==_0xdad05f['codec'])return-0x1;if(null!==this['decoderObj']){try{this['decoderObj']['configure'](_0xdad05f);}catch(_0x5bd8be){0x0==this['oVideoRenderHandle']['firstFrame']?this['decoderObjNeedReset']=!0x0:(this['oVideoRenderHandle']['HardDecodeError'](),console['log']('%cswitch\\x20hardVideoDecoder\\x20to\\x20softVideoDecoder','color:\\x20red'));}_0x54435e=this['processData'](_0x169710),this['FirstFrame']=!0x1;var _0x33ca53=new EncodedVideoChunk({'data':_0x54435e,'timestamp':_0x34a7f5['timeStamp'],'type':_0x34a7f5['isKeyFrame']?'key':'delta'});try{this['decoderObj']['decode'](_0x33ca53);}catch(_0xf91d9f){0x0==this['oVideoRenderHandle']['firstFrame']?this['decoderObjNeedReset']=!0x0:(this['oVideoRenderHandle']['HardDecodeError'](),console['log']('%cswitch\\x20hardVideoDecoder\\x20to\\x20softVideoDecoder','color:\\x20red'));}_0xdad05f=null,_0x54435e=null,_0x169710=null;}}}}}},{'key':'checkY','value':function(_0x216d96,_0x308777,_0x54d169){Uint8Array['prototype']['compare']=function(_0xc4dbdf,_0x38dbd1,_0x435992){for(var _0x2c7944=0x0;_0x2c7944<_0x435992;_0x2c7944++)if(this[_0xc4dbdf+_0x2c7944]!==this[_0x38dbd1+_0x2c7944])return-0x1;return 0x0;};for(var _0xebda2f=0x0,_0xbac383=new Uint8Array(_0x216d96),_0x2bf315=(_0x54d169-0x8)*_0x308777,_0x340f45=0x0;_0x340f45<0x8;_0x340f45++)for(var _0x42990c=_0x2bf315+_0x340f45*_0x308777,_0x181715=0x0;_0x181715<_0x308777-0x10;_0x181715+=0x18){var _0x584859=_0xbac383['compare'](_0x42990c+_0x181715,_0x42990c+_0x181715+0x8,0x8),_0x581cc7=_0xbac383['compare'](_0x42990c+_0x181715+0x8,_0x42990c+_0x181715+0x10,0x8);0x0===_0x584859&&0x0===_0x581cc7&&(_0xbac383[_0x42990c+_0x181715]>0x7a&&_0xbac383[_0x42990c+_0x181715]<=0x80||0x0===_0xbac383[_0x42990c+_0x181715])&&_0xebda2f++;}return!(_0xebda2f>0x64);}},{'key':'output','value':function(_0x184d9d){var _0x4e8aab=this;if(this['printfFlag']>0x0&&console['log']('VideoDecoder.js\\x20output\\x20timestamp:'+_0x184d9d['timestamp']+',decodeQueueSize:'+this['decoderObj']['decodeQueueSize']+',length:'+this['ready_frames']['length']),null!==this['decoderObj']){if('configured'==this['decoderObj']['state']&&this['bVisibility']){var _0x533424=_0x184d9d['timestamp'];if(this['oVideoRenderHandle']['VideoPrivateInfoMap']['size']>0x0){var _0x403922=this['oVideoRenderHandle']['VideoPrivateInfoMap']['get'](_0x533424);if(null!=_0x403922){for(;_0x403922['linesInfo']['length']>0x0||_0x403922['fontInfo']['length']>0x0||_0x403922['imageInfo']['length']>0x0;)this['oVideoRenderHandle']['oVideoRender']['InputPrivateInfo'](_0x403922['linesInfo']['shift'](),_0x403922['fontInfo']['shift'](),_0x403922['imageInfo']['shift']());this['oVideoRenderHandle']['VideoPrivateInfoMap']['delete'](_0x533424);}}if(this['printfFlag']>0x0&&console['log']('output1\\x20cb\\x20decodeQueueSize:'+this['decoderObj']['decodeQueueSize']+',length:'+this['ready_frames']['length']+',timestamp:'+_0x533424+',systime:'+new Date()['getHours']()+':'+new Date()['getMinutes']()+':'+new Date()['getSeconds']()+'.'+new Date()['getMilliseconds']()),this['oVideoRenderHandle']['DecodeTypeFlagMap']['size']>0x0){var _0xb619a4,_0x15898d=_0x121715(this['oVideoRenderHandle']['DecodeTypeFlagMap']['keys']());try{for(_0x15898d['s']();!(_0xb619a4=_0x15898d['n']())['done'];){var _0x3ec28c=_0xb619a4['value'];if(_0x3ec28c==_0xf6b282){if(0x1==this['oVideoRenderHandle']['DecodeTypeFlagMap']['get'](_0x3ec28c)&&null!=this['runtimeInfoCBFun']&&null!=this['oDecodeTimer']){var _0x645ed9=this['oDecodeTimer']['GetTimerWalk']();_0x645ed9<=0x0||_0x645ed9>0x989680||this['nGetTotalFrameNum']>0x186a0?(this['nGetTotalFrameNum']=0x0,this['oDecodeTimer']['Init']()):(this['nGetTotalFrameNum']++,this['nAverageDecodeTime']=_0x645ed9/this['nGetTotalFrameNum'],null!=this['runtimeInfoCBFun']&&(this['pstRuntimeInfo']['nRunTimeModule']=0x2,this['pstRuntimeInfo']['nStrVersion']=0x1,this['pstRuntimeInfo']['nFrameTimeStamp']=_0x533424,this['pstRuntimeInfo']['nFrameNum']=0x0,this['pstRuntimeInfo']['nErrorCode']=_0xf6b282,this['pstRuntimeInfo']['nInputDataInterval']=0x0,this['pstRuntimeInfo']['nFrameNumInterval']=0x0,this['pstRuntimeInfo']['nAverageDecodeTime']=this['nAverageDecodeTime'],this['runtimeInfoCBFun'](this['pstRuntimeInfo'])));}}}}catch(_0x296b56){_0x15898d['e'](_0x296b56);}finally{_0x15898d['f']();}}if(null!=this['player']&&null!=this['player']['HardDecToJpegCBFun']){++this['HardDecFrameCount'];var _0x4c52ce=_0x184d9d['displayWidth'],_0x46b3d2=_0x184d9d['displayHeight'];(this['HardDecFrameCount']-0x1)%this['player']['HardDecToJpegInterval']==0x0&&createImageBitmap(_0x184d9d)['then'](function(_0x2227e1){_0x4e8aab['player']?_0x4e8aab['player']['_GetImage'](_0x2227e1,'jpeg',0x0,0x0,_0x4c52ce,_0x46b3d2,_0x4e8aab['HardDecFrameCount']):postMessage({'function':'bitmap','value':_0x2227e1,'type':'jpeg','sx':0x0,'sy':0x0,'sw':_0x184d9d['displayWidth'],'sh':_0x184d9d['displayHeight'],'framenum':_0x4e8aab['HardDecFrameCount']});});}if(''!=this['canvas']&&null!=this['canvas']){if(this['printfFlag']>0x0&&console['log']('VideoDecoder.js\\x20WaitForFrameFlag:'+this['WaitForFrameFlag']+',frame.timestamp:'+_0x184d9d['timestamp']+',StartFrameTime:'+this['StartFrameTime']),0x2==this['WaitForFrameFlag']&&_0x184d9d['timestamp']>this['StartFrameTime']&&0x0!=this['StartFrameTime'])return _0x184d9d['close'](),0x1;if(0x1==this['WaitForFrameFlag']&&_0x184d9d['timestamp']0xc8)_0x184d9d['close']();else{var _0x32a0d8;new Object();if(this['oVideoRenderHandle']['findFramebyTime'](_0x184d9d['timestamp'],0x0)['isKeyFrame'])this['back_ready_frames']['reverse'](),(_0x32a0d8=this['ready_frames'])['push']['apply'](_0x32a0d8,_0x195f37(this['back_ready_frames'])),this['back_ready_frames']['splice'](0x0,this['back_ready_frames']['length']),createImageBitmap(_0x184d9d)['then'](function(_0x7170ae){_0x4e8aab['back_ready_frames']['push']({'image':_0x7170ae,'timestamp':_0x184d9d['timestamp'],'displayWidth':_0x184d9d['displayWidth'],'displayHeight':_0x184d9d['displayHeight']}),_0x184d9d['close']();});else createImageBitmap(_0x184d9d)['then'](function(_0x27e32b){_0x4e8aab['back_ready_frames']['push']({'image':_0x27e32b,'timestamp':_0x184d9d['timestamp'],'displayWidth':_0x184d9d['displayWidth'],'displayHeight':_0x184d9d['displayHeight']}),_0x184d9d['close']();}),this['decoderOutSuccess']||(this['decoderOutSuccess']=!0x0),this['decoderObj']['decodeQueueSize']<=0x1&&this['back_ready_frames']['length']<=0x1&&(this['player']?this['player']['JSPlayM4_GetRawData']():postMessage({'function':'GetRawData'}));}}else this['ready_frames']['length']>0x64?_0x184d9d['close']():(this['ready_frames']['push'](_0x184d9d),this['decoderOutSuccess']||(this['decoderOutSuccess']=!0x0),this['decoderObj']['decodeQueueSize']<=0x1&&this['ready_frames']['length']<=0x1&&(this['player']?this['player']['JSPlayM4_GetRawData']():postMessage({'function':'GetRawData'})));}else{if(_0x184d9d['close'](),null!=this['player']&&null!=this['player']['runtimeCBFun']&&0x1==this['GetStreamEnd']()&&0x1==this['bSetStreamEnd']){var _0xadba0f={'nRunTimeModule':0x0,'nStrVersion':0x0,'nFrameTimeStamp':0x0,'nFrameNum':0x0,'nErrorCode':0x9};this['player']['runtimeCBFun'](_0xadba0f),this['bSetStreamEnd']=!0x1;}}}else _0x184d9d['close']();}}},{'key':'output2','value':function(_0x3fba78){var _0x3749d5=this;_0x3fba78['timestamp'],createImageBitmap(_0x3fba78)['then'](function(_0xce44bf){_0x3fba78['close'](),_0x3749d5['ready_frames']['push'](_0xce44bf);});}},{'key':'reportError','value':function(_0x3302d4){if(this['oVideoRenderHandle']['DecodeTypeFlagMap']['size']>0x0){var _0x3307ad,_0x143d54=_0x121715(this['oVideoRenderHandle']['DecodeTypeFlagMap']['keys']());try{for(_0x143d54['s']();!(_0x3307ad=_0x143d54['n']())['done'];){var _0x49cb4a=_0x3307ad['value'];if(0x80==_0x49cb4a)0x1==this['oVideoRenderHandle']['DecodeTypeFlagMap']['get'](_0x49cb4a)&&null!=this['runtimeInfoCBFun']&&(this['pstRuntimeInfo']['nRunTimeModule']=0x2,this['pstRuntimeInfo']['nStrVersion']=0x1,this['pstRuntimeInfo']['nFrameTimeStamp']=timestamp,this['pstRuntimeInfo']['nFrameNum']=0x0,this['pstRuntimeInfo']['nErrorCode']=0x80,this['runtimeInfoCBFun'](this['pstRuntimeInfo']));}}catch(_0x8f5814){_0x143d54['e'](_0x8f5814);}finally{_0x143d54['f']();}}console['log']('hardDecode\\x20reportError:'+_0x3302d4['message']+',state:'+this['decoderObj']['state']+',frameRate:'+this['frameRate']+'this.ready_frames.length:'+this['ready_frames']['length']),0x0==this['oVideoRenderHandle']['firstFrame']?this['decoderObjNeedReset']=!0x0:(this['oVideoRenderHandle']['HardDecodeError'](),console['log']('%cswitch\\x20hardVideoDecoder\\x20to\\x20softVideoDecoder','color:\\x20red'));}},{'key':'destroyDecoder','value':function(){var _0x51717b=this;return new Promise(function(_0x25fcb1,_0x43d69b){_0x51717b['clearDecoderObjBuffer'](),null!=_0x51717b['decoderObj']&&('closed'!=_0x51717b['decoderObj']['state']&&_0x51717b['decoderObj']['close'](),_0x51717b['printfFlag']>=0x0&&console['log']('>>>JS\\x2001\\x20destroy\\x20decoderObj'),_0x51717b['decoderObj']=null),_0x51717b['decoderCurStatus']=0x4,_0x51717b['decoderOutSuccess']=!0x1,_0x51717b['FirstFrame']=!0x0,_0x51717b['needSetPreSoft']=!0x1,_0x51717b['decoderObjNeedReset']=!0x1,_0x51717b['curFrame']=null,null!==_0x51717b['oDecodeTimer']&&(_0x51717b['oDecodeTimer']['timerReset'](),_0x51717b['oDecodeTimer']=null),_0x25fcb1();});}},{'key':'resetDecoder','value':function(){var _0x5a7b6a=this;return new Promise(function(_0x4f47de,_0x2c4fbf){_0x5a7b6a['destroyDecoder']()['then'](function(){_0x5a7b6a['initDecoder'](),console['log']('%c\\x20reset\\x20hard\\x20decoder','color:red'),_0x4f47de();},function(){_0x2c4fbf();});});}},{'key':'clearDecoderObjBuffer','value':function(){if(0x6==this['decoderCurStatus']){for(var _0x5e2d5a=this['ready_frames']['length'],_0x502451=0x0;_0x502451<_0x5e2d5a;_0x502451++){var _0x2ca1dc=this['ready_frames']['shift']();null!=_0x2ca1dc['image']&&null!=_0x2ca1dc['image']&&_0x2ca1dc['image']['close']();}this['ready_frames']['splice'](0x0,this['ready_frames']['length']);for(var _0xdd54=this['back_ready_frames']['length'],_0x24fdd3=0x0;_0x24fdd3<_0xdd54;_0x24fdd3++){var _0x479d9a=this['back_ready_frames']['shift']();null!=_0x479d9a['image']&&null!=_0x479d9a['image']&&_0x479d9a['image']['close']();}this['back_ready_frames']['splice'](0x0,this['back_ready_frames']['length']);}else{for(var _0x33bb83=this['ready_frames']['length'],_0x3bfadc=0x0;_0x3bfadc<_0x33bb83;_0x3bfadc++){this['ready_frames']['shift']()['close']();}this['ready_frames']['splice'](0x0,this['ready_frames']['length']);}this['resetDecoderObj']();}},{'key':'resetDecoderObj','value':function(){null!=this['decoderObj']&&'configured'==this['decoderObj']['state']&&(this['decoderObj']['reset'](),this['FirstFrame']=!0x0);}},{'key':'SetStreamEnd','value':function(){return null!=this['decoderObj']&&0x0==this['decoderObj']['decodeQueueSize']&&0x0==this['ready_frames']['length']&&(this['decoderObj']['flush'](),console['log']('flush')),this['bSetStreamEnd']=!0x0,0x1;}},{'key':'GetStreamEnd','value':function(){return null!=this['decoderObj']&&(0x0==this['decoderObj']['decodeQueueSize']&&0x0==this['ready_frames']['length']||void 0x0);}},{'key':'NotifyBackPlay','value':function(_0x1a5b13,_0x2e29f7,_0x23ac9d){var _0x5237b6=this;return 0x0!=_0x2e29f7?this['resetDecoder']()['then'](function(){_0x5237b6['decoderCurStatus']=_0x1a5b13?0x6:0x2,_0x5237b6['StartFrameTime']=_0x2e29f7,_0x5237b6['WaitForFrameFlag']=_0x23ac9d;}):(this['decoderCurStatus']=_0x1a5b13?0x6:0x2,this['StartFrameTime']=_0x2e29f7,this['WaitForFrameFlag']=_0x23ac9d),0x1;}},{'key':'GetFrame','value':function(){var _0x5b147d=this;return new Promise(function(_0x1d2460,_0x927731){if(null!=_0x5b147d['curFrame']){var _0x2d8e54=_0x5b147d['ready_frames']['shift']();0x6==_0x5b147d['decoderCurStatus']?null!=_0x2d8e54['image']&&null!=_0x2d8e54['image']&&_0x2d8e54['image']['close']():_0x2d8e54['close'](),_0x2d8e54=null,_0x5b147d['curFrame']=null;}0x0!=_0x5b147d['ready_frames']['length']?(_0x5b147d['curFrame']=_0x5b147d['ready_frames'][0x0],_0x1d2460(_0x5b147d['curFrame'])):(_0x5b147d['curFrame']=null,_0x1d2460(null));});}},{'key':'GetFrameBufferLength','value':function(){return this['ready_frames']['length'];}},{'key':'GetImageYUV','value':function(_0x1b5770,_0x30347b,_0x23c1a4,_0x1f21b9,_0x2ccba6){var _0x1b2d42=this;return new Promise(function(_0xe96363,_0x45cac1){var _0x42c732=null;if(null!=_0x1b2d42['curFrame']?_0x42c732=_0x1b2d42['curFrame']:0x0!=_0x1b2d42['ready_frames']['length']&&(_0x42c732=_0x1b2d42['ready_frames'][0x0]),null!=_0x42c732){var _0x533c60=_0x42c732['displayWidth'],_0x27b020=_0x42c732['displayHeight'],_0x231c6c=_0x42c732;0x6==_0x1b2d42['decoderCurStatus']&&(_0x231c6c=_0x42c732['image']),0x0==_0x30347b&&0x0==_0x23c1a4&&0x0==_0x1f21b9&&0x0==_0x2ccba6&&(_0x1f21b9=_0x533c60,_0x2ccba6=_0x27b020),createImageBitmap(_0x231c6c)['then'](function(_0x13a46b){_0x1b2d42['player']?_0x1b2d42['player']['_GetImage'](_0x13a46b,_0x1b5770,_0x30347b,_0x23c1a4,_0x1f21b9,_0x2ccba6,0x0):postMessage({'function':'bitmap','value':_0x13a46b,'type':_0x1b5770,'sx':_0x30347b,'sy':_0x23c1a4,'sw':_0x1f21b9,'sh':_0x2ccba6,'framenum':0x0});}),_0x45cac1();}else _0xe96363({'yuvFrameBuffer':-0x1,'yuvLength':-0x1,'displayWidth':-0x1,'displayHeight':-0x1,'yuvType':-0x1});});}},{'key':'SetPrintLogFlag','value':function(_0x3214d7){return this['printfFlag']=_0x3214d7,0x1;}},{'key':'SetRunTimeInfoCallBackFun','value':function(_0x56a51d,_0x4b51a6){return this['runtimeInfoCBFun']=_0x4b51a6,0x1;}},{'key':'SetRunTimeInfoCallbackType','value':function(_0x27f920,_0x68d1b6,_0x239f65){return _0x68d1b6==_0xf6b282&&(this['nGetTotalFrameNum']=0x0,_0x239f65?null==this['oDecodeTimer']&&(this['oDecodeTimer']=new _0x5bde94(),this['oDecodeTimer']['Init']()):null!==this['oDecodeTimer']&&(this['oDecodeTimer']['timerReset'](),this['oDecodeTimer']=null)),0x1;}},{'key':'IsVisible','value':function(_0x157b66){return this['bVisibility']=_0x157b66,0x1;}}]),_0x532c69;}());function _0x5ba299(_0x1d3b2f,_0x1c7a23,_0x4a7fa6){return _0x1c7a23 in _0x1d3b2f?Object['defineProperty'](_0x1d3b2f,_0x1c7a23,{'value':_0x4a7fa6,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):_0x1d3b2f[_0x1c7a23]=_0x4a7fa6,_0x1d3b2f;}var _0x43f926={'d':function(_0x2c46ed,_0x24455f){for(var _0x543a9d in _0x24455f)_0x43f926['o'](_0x24455f,_0x543a9d)&&!_0x43f926['o'](_0x2c46ed,_0x543a9d)&&Object['defineProperty'](_0x2c46ed,_0x543a9d,{'enumerable':!0x0,'get':_0x24455f[_0x543a9d]});},'o':function(_0x3337f0,_0x5d376b){return Object['prototype']['hasOwnProperty']['call'](_0x3337f0,_0x5d376b);},'r':function(_0x1966fd){'undefined'!=typeof Symbol&&Symbol['toStringTag']&&Object['defineProperty'](_0x1966fd,Symbol['toStringTag'],{'value':'Module'}),Object['defineProperty'](_0x1966fd,'__esModule',{'value':!0x0});}},_0x39fedc={};_0x43f926['d'](_0x39fedc,{'Dv':function(){return _0x5b51cb;},'CF':function(){return _0x25eff0;},'bC':function(){return _0x47b7bd;}});var _0x47b7bd={};function _0x3a92c7(_0xc50662,_0x42ca23){if(!(_0xc50662 instanceof _0x42ca23))throw new TypeError('Cannot\\x20call\\x20a\\x20class\\x20as\\x20a\\x20function');}function _0x8b359d(_0x6f4c84,_0x47ca05){for(var _0x17d324=0x0;_0x17d324<_0x47ca05['length'];_0x17d324++){var _0xe38cf9=_0x47ca05[_0x17d324];_0xe38cf9['enumerable']=_0xe38cf9['enumerable']||!0x1,_0xe38cf9['configurable']=!0x0,'value'in _0xe38cf9&&(_0xe38cf9['writable']=!0x0),Object['defineProperty'](_0x6f4c84,_0xe38cf9['key'],_0xe38cf9);}}function _0x30be4b(_0x8a864e,_0x479941,_0x18ca8d){return _0x479941&&_0x8b359d(_0x8a864e['prototype'],_0x479941),_0x18ca8d&&_0x8b359d(_0x8a864e,_0x18ca8d),Object['defineProperty'](_0x8a864e,'prototype',{'writable':!0x1}),_0x8a864e;}_0x43f926['r'](_0x47b7bd),_0x43f926['d'](_0x47b7bd,{'ERRCODE':function(){return _0x12eada;},'SRCALLBACKTYPE':function(){return _0x1386af;},'SRDISPLAYEFFECT':function(){return _0x4d466f;},'SRFISHPARAMTYPE':function(){return _0x1a6379;},'SRIMAGEROTATEANGLE':function(){return _0x1dca5a;},'SRPIXELFORMAT':function(){return _0x459b97;},'SRPOSTPROCTYPE':function(){return _0x22a3de;},'SRPTZDISPLAYMODE':function(){return _0x3b7ab3;},'SRRENDERSTATETYPE':function(){return _0x23df7b;},'SRSETRECTTYPE':function(){return _0x2a07c0;},'SRVIEWTYPE':function(){return _0x3bfb8f;}});var _0x645d1a=3.1415926,_0x3b2c52=0.78539815,_0x12eada={'SR_OK':0x1,'SR_ERR_NOT_SUPPORT':0x80000001,'SR_ERR_SUBPORT':0x80000002,'SR_ERR_ALLOC_MEMORY':0x80000003,'SR_ERR_CALL_ORDER':0x80000004,'SR_ERR_PARAM':0x80000005,'SR_ERR_CAPTURE':0x80000006,'SR_ERR_SUBPORT_FULL':0x80000007,'SR_ERR_SHADER':0x80000008,'SR_ERR_3D_MODEL':0x80000009,'SR_ERR_FONT':0x8000000a,'SR_ERR_MEMORY_LIMIT':0x8000000b,'SR_ERR_WEBGPU_RESOURCE':0x8000000c,'SR_ERR_WEBGL_RESOURCE':0x8000000d,'SR_ERR_CANVAS':0x8000000e},_0x2a07c0={'SR_SRT_NULL':0x0,'SR_SRT_SRC':0x1,'SR_SRT_DST':0x2},_0x4d466f={'SR_DE_NULL':0x0,'SR_DE_FISH_ORIGINAL':0x1,'SR_DE_FISH_PTZ_CEILING':0x2,'SR_DE_FISH_PTZ_FLOOR':0x3,'SR_DE_FISH_PTZ_WALL':0x4,'SR_DE_FISH_PANORAMA_CEILING_360':0x5,'SR_DE_FISH_PANORAMA_CEILING_180':0x6,'SR_DE_FISH_PANORAMA_FLOOR_360':0x7,'SR_DE_FISH_PANORAMA_FLOOR_180':0x8,'SR_DE_FISH_PANORAMA_WALL':0x9,'SR_DE_FISH_SEMISPHERE':0xa,'SR_DE_EAGLEEYE_SEMISPHERE':0xb,'SR_DE_EAGLEEYE_PLANE':0xc,'SR_DE_FISH_CYLINDER_CEILING':0xd,'SR_DE_FISH_CYLINDER_FLOOR':0xe,'SR_DE_FISH_CYLINDER_SPLIT_CEILING':0xf,'SR_DE_FISH_CYLINDER_SPLIT_FLOOR':0x10,'SR_DE_FISH_PLANET':0x11,'SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL':0x12,'SR_DE_FISH_ARCSPHERE_VERTICAL_WALL':0x13,'SR_DE_FISH_ANIMATION_SWITCH_CEILING':0x14,'SR_DE_FISH_ANIMATION_SWITCH_FLOOR':0x15,'SR_DE_PANORAMA_SPHERE':0x16,'SR_DE_PANORAMA_PLANET':0x17},_0x459b97={'SR_PF_NULL':0x0,'SR_PF_YV12':0x1,'SR_PF_NV12':0x2,'SR_PF_I420':0x3,'SR_PF_RGB565':0x4,'SR_PF_RGBA32':0x5,'SR_PF_NV21':0x6,'SR_PF_SURFACE':0x100},_0x1a6379={'SR_FPT_NULL':0x0,'SR_FPT_CENTER':0x1,'SR_FPT_ANGLE':0x2,'SR_FPT_ZOOM':0x3,'SR_FPT_PTZ':0x4},_0x3b7ab3={'SR_DM_NULL':0x0,'SR_DM_RECT':0x1,'SR_DM_RANGE':0x2},_0x3bfb8f={'SR_VT_NULL':0x0,'SR_VT_ROTATION_X':0x1,'SR_VT_ROTATION_Y':0x2,'SR_VT_SCALE':0x3},_0x1386af={'SR_CBT_NULL':0x0,'SR_CBT_OUT':0x1},_0x23df7b={'SR_RST_NULL':0x0,'SR_RST_VERTICALFLIP':0x1,'SR_RST_BACK_CULL':0x2,'SR_RST_IMAGE_ROTATE':0x3},_0x22a3de={'SR_PPT_NULL':0x0,'SR_PPT_BRIGHTNESS':0x1,'SR_PPT_HUE':0x2,'SR_PPT_SATURATION':0x3,'SR_PPT_CONTRAST':0x4,'SR_PPT_SHARPNESS':0x5},_0x1dca5a={'SR_IRA_0':0x1,'SR_IRA_90':0x2,'SR_IRA_180':0x3,'SR_IRA_270':0x4},_0x377384=0.000001,_0x224f7f='undefined'!=typeof Float32Array?Float32Array:Array;function _0x43ac42(){var _0x77e497=new _0x224f7f(0x10);return _0x224f7f!=Float32Array&&(_0x77e497[0x1]=0x0,_0x77e497[0x2]=0x0,_0x77e497[0x3]=0x0,_0x77e497[0x4]=0x0,_0x77e497[0x6]=0x0,_0x77e497[0x7]=0x0,_0x77e497[0x8]=0x0,_0x77e497[0x9]=0x0,_0x77e497[0xb]=0x0,_0x77e497[0xc]=0x0,_0x77e497[0xd]=0x0,_0x77e497[0xe]=0x0),_0x77e497[0x0]=0x1,_0x77e497[0x5]=0x1,_0x77e497[0xa]=0x1,_0x77e497[0xf]=0x1,_0x77e497;}function _0x52b8d2(_0x1b9258){return _0x1b9258[0x0]=0x1,_0x1b9258[0x1]=0x0,_0x1b9258[0x2]=0x0,_0x1b9258[0x3]=0x0,_0x1b9258[0x4]=0x0,_0x1b9258[0x5]=0x1,_0x1b9258[0x6]=0x0,_0x1b9258[0x7]=0x0,_0x1b9258[0x8]=0x0,_0x1b9258[0x9]=0x0,_0x1b9258[0xa]=0x1,_0x1b9258[0xb]=0x0,_0x1b9258[0xc]=0x0,_0x1b9258[0xd]=0x0,_0x1b9258[0xe]=0x0,_0x1b9258[0xf]=0x1,_0x1b9258;}function _0x1bc788(_0x32e5bc,_0x5c2673,_0x24afb3){var _0x46f587=_0x5c2673[0x0],_0x395a90=_0x5c2673[0x1],_0x2ac5f3=_0x5c2673[0x2],_0x5449b1=_0x5c2673[0x3],_0x3c2d0c=_0x5c2673[0x4],_0x106d46=_0x5c2673[0x5],_0x227a14=_0x5c2673[0x6],_0xf72eb4=_0x5c2673[0x7],_0x3c002c=_0x5c2673[0x8],_0x37232f=_0x5c2673[0x9],_0x452af9=_0x5c2673[0xa],_0x335e9b=_0x5c2673[0xb],_0x440948=_0x5c2673[0xc],_0x4f341e=_0x5c2673[0xd],_0x182496=_0x5c2673[0xe],_0x35b9de=_0x5c2673[0xf],_0x57b7c6=_0x24afb3[0x0],_0x53d0ed=_0x24afb3[0x1],_0x19773e=_0x24afb3[0x2],_0x1fa7f8=_0x24afb3[0x3];return _0x32e5bc[0x0]=_0x57b7c6*_0x46f587+_0x53d0ed*_0x3c2d0c+_0x19773e*_0x3c002c+_0x1fa7f8*_0x440948,_0x32e5bc[0x1]=_0x57b7c6*_0x395a90+_0x53d0ed*_0x106d46+_0x19773e*_0x37232f+_0x1fa7f8*_0x4f341e,_0x32e5bc[0x2]=_0x57b7c6*_0x2ac5f3+_0x53d0ed*_0x227a14+_0x19773e*_0x452af9+_0x1fa7f8*_0x182496,_0x32e5bc[0x3]=_0x57b7c6*_0x5449b1+_0x53d0ed*_0xf72eb4+_0x19773e*_0x335e9b+_0x1fa7f8*_0x35b9de,_0x57b7c6=_0x24afb3[0x4],_0x53d0ed=_0x24afb3[0x5],_0x19773e=_0x24afb3[0x6],_0x1fa7f8=_0x24afb3[0x7],_0x32e5bc[0x4]=_0x57b7c6*_0x46f587+_0x53d0ed*_0x3c2d0c+_0x19773e*_0x3c002c+_0x1fa7f8*_0x440948,_0x32e5bc[0x5]=_0x57b7c6*_0x395a90+_0x53d0ed*_0x106d46+_0x19773e*_0x37232f+_0x1fa7f8*_0x4f341e,_0x32e5bc[0x6]=_0x57b7c6*_0x2ac5f3+_0x53d0ed*_0x227a14+_0x19773e*_0x452af9+_0x1fa7f8*_0x182496,_0x32e5bc[0x7]=_0x57b7c6*_0x5449b1+_0x53d0ed*_0xf72eb4+_0x19773e*_0x335e9b+_0x1fa7f8*_0x35b9de,_0x57b7c6=_0x24afb3[0x8],_0x53d0ed=_0x24afb3[0x9],_0x19773e=_0x24afb3[0xa],_0x1fa7f8=_0x24afb3[0xb],_0x32e5bc[0x8]=_0x57b7c6*_0x46f587+_0x53d0ed*_0x3c2d0c+_0x19773e*_0x3c002c+_0x1fa7f8*_0x440948,_0x32e5bc[0x9]=_0x57b7c6*_0x395a90+_0x53d0ed*_0x106d46+_0x19773e*_0x37232f+_0x1fa7f8*_0x4f341e,_0x32e5bc[0xa]=_0x57b7c6*_0x2ac5f3+_0x53d0ed*_0x227a14+_0x19773e*_0x452af9+_0x1fa7f8*_0x182496,_0x32e5bc[0xb]=_0x57b7c6*_0x5449b1+_0x53d0ed*_0xf72eb4+_0x19773e*_0x335e9b+_0x1fa7f8*_0x35b9de,_0x57b7c6=_0x24afb3[0xc],_0x53d0ed=_0x24afb3[0xd],_0x19773e=_0x24afb3[0xe],_0x1fa7f8=_0x24afb3[0xf],_0x32e5bc[0xc]=_0x57b7c6*_0x46f587+_0x53d0ed*_0x3c2d0c+_0x19773e*_0x3c002c+_0x1fa7f8*_0x440948,_0x32e5bc[0xd]=_0x57b7c6*_0x395a90+_0x53d0ed*_0x106d46+_0x19773e*_0x37232f+_0x1fa7f8*_0x4f341e,_0x32e5bc[0xe]=_0x57b7c6*_0x2ac5f3+_0x53d0ed*_0x227a14+_0x19773e*_0x452af9+_0x1fa7f8*_0x182496,_0x32e5bc[0xf]=_0x57b7c6*_0x5449b1+_0x53d0ed*_0xf72eb4+_0x19773e*_0x335e9b+_0x1fa7f8*_0x35b9de,_0x32e5bc;}function _0x4ddcd0(_0x49c1e4,_0x1afe5b,_0x15d48e,_0x3cadec){var _0x18eda6,_0x4dd95b,_0x1f5039,_0x1f4e73,_0x5e0eed,_0x2b9b33,_0x1f3b35,_0x498bb1,_0x1c5982,_0x26cccf,_0x1e224c,_0x846956,_0x398329,_0x4301f2,_0x135e4f,_0x35e622,_0x99e92a,_0x433e56,_0x3669af,_0x4af837,_0x50f0bb,_0x5ce1c8,_0x1a388f,_0x5c0e5e,_0x52e323=_0x3cadec[0x0],_0x239486=_0x3cadec[0x1],_0xf06f77=_0x3cadec[0x2],_0x519cd4=Math['hypot'](_0x52e323,_0x239486,_0xf06f77);return _0x519cd4<_0x377384?null:(_0x52e323*=_0x519cd4=0x1/_0x519cd4,_0x239486*=_0x519cd4,_0xf06f77*=_0x519cd4,_0x18eda6=Math['sin'](_0x15d48e),_0x1f5039=0x1-(_0x4dd95b=Math['cos'](_0x15d48e)),_0x1f4e73=_0x1afe5b[0x0],_0x5e0eed=_0x1afe5b[0x1],_0x2b9b33=_0x1afe5b[0x2],_0x1f3b35=_0x1afe5b[0x3],_0x498bb1=_0x1afe5b[0x4],_0x1c5982=_0x1afe5b[0x5],_0x26cccf=_0x1afe5b[0x6],_0x1e224c=_0x1afe5b[0x7],_0x846956=_0x1afe5b[0x8],_0x398329=_0x1afe5b[0x9],_0x4301f2=_0x1afe5b[0xa],_0x135e4f=_0x1afe5b[0xb],_0x35e622=_0x52e323*_0x52e323*_0x1f5039+_0x4dd95b,_0x99e92a=_0x239486*_0x52e323*_0x1f5039+_0xf06f77*_0x18eda6,_0x433e56=_0xf06f77*_0x52e323*_0x1f5039-_0x239486*_0x18eda6,_0x3669af=_0x52e323*_0x239486*_0x1f5039-_0xf06f77*_0x18eda6,_0x4af837=_0x239486*_0x239486*_0x1f5039+_0x4dd95b,_0x50f0bb=_0xf06f77*_0x239486*_0x1f5039+_0x52e323*_0x18eda6,_0x5ce1c8=_0x52e323*_0xf06f77*_0x1f5039+_0x239486*_0x18eda6,_0x1a388f=_0x239486*_0xf06f77*_0x1f5039-_0x52e323*_0x18eda6,_0x5c0e5e=_0xf06f77*_0xf06f77*_0x1f5039+_0x4dd95b,_0x49c1e4[0x0]=_0x1f4e73*_0x35e622+_0x498bb1*_0x99e92a+_0x846956*_0x433e56,_0x49c1e4[0x1]=_0x5e0eed*_0x35e622+_0x1c5982*_0x99e92a+_0x398329*_0x433e56,_0x49c1e4[0x2]=_0x2b9b33*_0x35e622+_0x26cccf*_0x99e92a+_0x4301f2*_0x433e56,_0x49c1e4[0x3]=_0x1f3b35*_0x35e622+_0x1e224c*_0x99e92a+_0x135e4f*_0x433e56,_0x49c1e4[0x4]=_0x1f4e73*_0x3669af+_0x498bb1*_0x4af837+_0x846956*_0x50f0bb,_0x49c1e4[0x5]=_0x5e0eed*_0x3669af+_0x1c5982*_0x4af837+_0x398329*_0x50f0bb,_0x49c1e4[0x6]=_0x2b9b33*_0x3669af+_0x26cccf*_0x4af837+_0x4301f2*_0x50f0bb,_0x49c1e4[0x7]=_0x1f3b35*_0x3669af+_0x1e224c*_0x4af837+_0x135e4f*_0x50f0bb,_0x49c1e4[0x8]=_0x1f4e73*_0x5ce1c8+_0x498bb1*_0x1a388f+_0x846956*_0x5c0e5e,_0x49c1e4[0x9]=_0x5e0eed*_0x5ce1c8+_0x1c5982*_0x1a388f+_0x398329*_0x5c0e5e,_0x49c1e4[0xa]=_0x2b9b33*_0x5ce1c8+_0x26cccf*_0x1a388f+_0x4301f2*_0x5c0e5e,_0x49c1e4[0xb]=_0x1f3b35*_0x5ce1c8+_0x1e224c*_0x1a388f+_0x135e4f*_0x5c0e5e,_0x1afe5b!==_0x49c1e4&&(_0x49c1e4[0xc]=_0x1afe5b[0xc],_0x49c1e4[0xd]=_0x1afe5b[0xd],_0x49c1e4[0xe]=_0x1afe5b[0xe],_0x49c1e4[0xf]=_0x1afe5b[0xf]),_0x49c1e4);}Math['random'],Math['PI'],Math['hypot']||(Math['hypot']=function(){for(var _0xbc71ce=0x0,_0x54875a=arguments['length'];_0x54875a--;)_0xbc71ce+=arguments[_0x54875a]*arguments[_0x54875a];return Math['sqrt'](_0xbc71ce);});var _0x3374fb=function(_0x44e30c,_0x3fb675,_0x47cd74,_0x2e0c53,_0x57925d){var _0x5d0920=0x1/Math['tan'](_0x3fb675/0x2);if(_0x44e30c[0x0]=_0x5d0920/_0x47cd74,_0x44e30c[0x1]=0x0,_0x44e30c[0x2]=0x0,_0x44e30c[0x3]=0x0,_0x44e30c[0x4]=0x0,_0x44e30c[0x5]=_0x5d0920,_0x44e30c[0x6]=0x0,_0x44e30c[0x7]=0x0,_0x44e30c[0x8]=0x0,_0x44e30c[0x9]=0x0,_0x44e30c[0xb]=-0x1,_0x44e30c[0xc]=0x0,_0x44e30c[0xd]=0x0,_0x44e30c[0xf]=0x0,null!=_0x57925d&&_0x57925d!==0x1/0x0){var _0x38aee6=0x1/(_0x2e0c53-_0x57925d);_0x44e30c[0xa]=(_0x57925d+_0x2e0c53)*_0x38aee6,_0x44e30c[0xe]=0x2*_0x57925d*_0x2e0c53*_0x38aee6;}else _0x44e30c[0xa]=-0x1,_0x44e30c[0xe]=-0x2*_0x2e0c53;return _0x44e30c;};function _0x40630e(_0x4510c3,_0x145019,_0x3a0013,_0x39a6f8){var _0x47c170,_0x5c9f96,_0x42fc8e,_0x2abc9b,_0xa153a3,_0x314e95,_0x318512,_0x5985a1,_0x533f7e,_0x378889,_0x59284f=_0x145019[0x0],_0x526542=_0x145019[0x1],_0x4e4736=_0x145019[0x2],_0x232e16=_0x39a6f8[0x0],_0x4db26a=_0x39a6f8[0x1],_0x3b3f42=_0x39a6f8[0x2],_0x2ca9fc=_0x3a0013[0x0],_0xda532f=_0x3a0013[0x1],_0x34e580=_0x3a0013[0x2];return Math['abs'](_0x59284f-_0x2ca9fc)<_0x377384&&Math['abs'](_0x526542-_0xda532f)<_0x377384&&Math['abs'](_0x4e4736-_0x34e580)<_0x377384?_0x52b8d2(_0x4510c3):(_0x318512=_0x59284f-_0x2ca9fc,_0x5985a1=_0x526542-_0xda532f,_0x533f7e=_0x4e4736-_0x34e580,_0x47c170=_0x4db26a*(_0x533f7e*=_0x378889=0x1/Math['hypot'](_0x318512,_0x5985a1,_0x533f7e))-_0x3b3f42*(_0x5985a1*=_0x378889),_0x5c9f96=_0x3b3f42*(_0x318512*=_0x378889)-_0x232e16*_0x533f7e,_0x42fc8e=_0x232e16*_0x5985a1-_0x4db26a*_0x318512,(_0x378889=Math['hypot'](_0x47c170,_0x5c9f96,_0x42fc8e))?(_0x47c170*=_0x378889=0x1/_0x378889,_0x5c9f96*=_0x378889,_0x42fc8e*=_0x378889):(_0x47c170=0x0,_0x5c9f96=0x0,_0x42fc8e=0x0),_0x2abc9b=_0x5985a1*_0x42fc8e-_0x533f7e*_0x5c9f96,_0xa153a3=_0x533f7e*_0x47c170-_0x318512*_0x42fc8e,_0x314e95=_0x318512*_0x5c9f96-_0x5985a1*_0x47c170,(_0x378889=Math['hypot'](_0x2abc9b,_0xa153a3,_0x314e95))?(_0x2abc9b*=_0x378889=0x1/_0x378889,_0xa153a3*=_0x378889,_0x314e95*=_0x378889):(_0x2abc9b=0x0,_0xa153a3=0x0,_0x314e95=0x0),_0x4510c3[0x0]=_0x47c170,_0x4510c3[0x1]=_0x2abc9b,_0x4510c3[0x2]=_0x318512,_0x4510c3[0x3]=0x0,_0x4510c3[0x4]=_0x5c9f96,_0x4510c3[0x5]=_0xa153a3,_0x4510c3[0x6]=_0x5985a1,_0x4510c3[0x7]=0x0,_0x4510c3[0x8]=_0x42fc8e,_0x4510c3[0x9]=_0x314e95,_0x4510c3[0xa]=_0x533f7e,_0x4510c3[0xb]=0x0,_0x4510c3[0xc]=-(_0x47c170*_0x59284f+_0x5c9f96*_0x526542+_0x42fc8e*_0x4e4736),_0x4510c3[0xd]=-(_0x2abc9b*_0x59284f+_0xa153a3*_0x526542+_0x314e95*_0x4e4736),_0x4510c3[0xe]=-(_0x318512*_0x59284f+_0x5985a1*_0x526542+_0x533f7e*_0x4e4736),_0x4510c3[0xf]=0x1,_0x4510c3);}function _0x1a03b4(){var _0x3c25a0=new _0x224f7f(0x3);return _0x224f7f!=Float32Array&&(_0x3c25a0[0x0]=0x0,_0x3c25a0[0x1]=0x0,_0x3c25a0[0x2]=0x0),_0x3c25a0;}function _0x2ba13b(_0x109330,_0x4473aa,_0x50446a){var _0x59a550=new _0x224f7f(0x3);return _0x59a550[0x0]=_0x109330,_0x59a550[0x1]=_0x4473aa,_0x59a550[0x2]=_0x50446a,_0x59a550;}function _0x565b46(){var _0x37452d=new _0x224f7f(0x4);return _0x224f7f!=Float32Array&&(_0x37452d[0x0]=0x0,_0x37452d[0x1]=0x0,_0x37452d[0x2]=0x0),_0x37452d[0x3]=0x1,_0x37452d;}_0x1a03b4(),(function(){var _0x51501e;_0x51501e=new _0x224f7f(0x4),_0x224f7f!=Float32Array&&(_0x51501e[0x0]=0x0,_0x51501e[0x1]=0x0,_0x51501e[0x2]=0x0,_0x51501e[0x3]=0x0);}());var _0x275653;_0x1a03b4(),_0x2ba13b(0x1,0x0,0x0),_0x2ba13b(0x0,0x1,0x0),_0x565b46(),_0x565b46(),_0x275653=new _0x224f7f(0x9),_0x224f7f!=Float32Array&&(_0x275653[0x1]=0x0,_0x275653[0x2]=0x0,_0x275653[0x3]=0x0,_0x275653[0x5]=0x0,_0x275653[0x6]=0x0,_0x275653[0x7]=0x0),_0x275653[0x0]=0x1,_0x275653[0x4]=0x1,_0x275653[0x8]=0x1,(function(){var _0x4d61c6=new _0x224f7f(0x2);_0x224f7f!=Float32Array&&(_0x4d61c6[0x0]=0x0,_0x4d61c6[0x1]=0x0);}());var _0x359c6e='\\x0aattribute\\x20vec4\\x20position;\\x20\\x0aattribute\\x20vec4\\x20texCoord;\\x20\\x0avarying\\x20vec4\\x20pp;\\x20\\x0auniform\\x20int\\x20bCapture;\\x20\\x0a\\x0avoid\\x20main(void)\\x20{\\x0a\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20position;\\x0a\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20-position.y;\\x0a\\x20\\x20}\\x0a\\x20\\x20else\\x0a\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20position;\\x0a\\x20\\x20}\\x0a\\x20\\x20pp\\x20=\\x20texCoord;\\x0a}\\x0a',_0x1cafd1='\\x0aprecision\\x20mediump\\x20float;\\x0avarying\\x20vec4\\x20pp;\\x0auniform\\x20sampler2D\\x20Ytexture;\\x0auniform\\x20sampler2D\\x20Utexture;\\x0auniform\\x20sampler2D\\x20Vtexture;\\x0auniform\\x20int\\x20bDataFormat;\\x0auniform\\x20float\\x20fAlpha;\\x0auniform\\x20int\\x20bDrawImage;\\x0a\\x0avoid\\x20main(void)\\x0a{\\x0a\\x20\\x20\\x20\\x20float\\x20r,g,b,y,u,v;\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20pp.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20pp.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20pp.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor=vec4(r,\\x20g,\\x20b,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20texture2D(Ytexture,\\x20pp.st);\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20if(bDrawImage\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor.a\\x20*=\\x20fAlpha;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a}\\x0a',_0x46ffab='\\x0a\\x20\\x20\\x20\\x20varying\\x20\\x20mediump\\x20float\\x20pp;\\x0a\\x20\\x20\\x20\\x20varying\\x20\\x20lowp\\x20vec4\\x20\\x20colorOut;\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20colorOut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20mediump\\x20float\\x20fx\\x20=\\x20abs(pp);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if\\x20(fx\\x20>\\x200.2)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor.a\\x20=\\x20colorOut.a*(1.25\\x20-\\x201.25*fx);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x20\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a',_0x1e683e='\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20position;\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20texCoord;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20\\x20\\x20mat4\\x20\\x20\\x20matRotate;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.x\\x20\\x20=\\x20position.x;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20\\x20=\\x20position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20-position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.z\\x20\\x20=\\x200.1;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.w\\x20\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp\\x20=\\x20matRotate\\x20*\\x20texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a',_0x3bc606='\\x0a\\x20\\x20\\x20\\x20varying\\x20lowp\\x20vec4\\x20pp;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20texture;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main(void)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20texture2D(texture,\\x20pp.st);\\x0a\\x20\\x20\\x20\\x20}\\x0a',_0x235883='\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20position;\\x20\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20\\x20\\x20mat4\\x20\\x20\\x20matRotate;\\x20\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x20\\x0a\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20position\\x20*\\x20matRotate;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20\\x20-gl_Position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp\\x20=\\x20texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a',_0x30cc3b='\\x0a\\x20\\x20\\x20\\x20precision\\x20mediump\\x20float;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20texture;\\x0a\\x20\\x20\\x20\\x20varying\\x20lowp\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fAlpha;\\x0a\\x20\\x20\\x20\\x20void\\x20main(void)\\x20\\x0a\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20texture2D(texture,\\x20pp.st);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor.a\\x20*=\\x20fAlpha;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a',_0x3298a7=(function(){function _0x17b4ee(){_0x3a92c7(this,_0x17b4ee),this['fFov']=1.57,this['fAspect']=0x1,this['fNear']=0.1,this['fFar']=0x3e8,this['fTheta']=0x0,this['fAlpha']=0x0,this['fBeta']=0x0,this['fScale']=0x1,this['bOrtho']=!0x1,this['matView']=_0x43ac42(),this['matProj']=_0x43ac42(),this['vecEye']=_0x2ba13b(0x0,0x0,0x0),this['vecCenter']=_0x2ba13b(0x0,0x0,0x64),this['vecUp']=_0x2ba13b(0x0,0x1,0x0);}return _0x30be4b(_0x17b4ee,[{'key':'SetYaw','value':function(_0x329c84){this['fTheta']=_0x329c84;}},{'key':'GetYaw','value':function(){return this['fTheta'];}},{'key':'SetPitch','value':function(_0x479400){this['fAlpha']=_0x479400;}},{'key':'GetPitch','value':function(){return this['fAlpha'];}},{'key':'SetRoll','value':function(_0x3dba84){this['fBeta']=_0x3dba84;}},{'key':'GetRoll','value':function(){return this['fBeta'];}},{'key':'SetScale','value':function(_0x586fe4){this['fScale']=_0x586fe4;}},{'key':'GetScale','value':function(){return this['fScale'];}},{'key':'SetFov','value':function(_0x32eff3){this['fFov']=_0x32eff3;}},{'key':'SetAspect','value':function(_0x1e6675){this['fAspect']=_0x1e6675;}},{'key':'SetNear','value':function(_0x266cef){this['fNear']=_0x266cef;}},{'key':'SetFar','value':function(_0x4a5850){this['fFar']=_0x4a5850;}},{'key':'SetOrtho','value':function(_0x41cf36){this['bOrtho']=_0x41cf36;}},{'key':'UpdateCamera','value':function(_0x2144f3,_0x1fba58){if(!(_0x2144f3<=0x0||_0x1fba58<=0x0)){0x1==this['bOrtho']?(function(_0x3970b5,_0x430332,_0x5a2080,_0x3b9b20,_0x4f2d0f,_0xf44c4f,_0x5da3cf){var _0x2dfb71=0x1/(_0x430332-_0x5a2080),_0x455787=0x1/(_0x3b9b20-_0x4f2d0f),_0x45ff1e=0x1/(_0xf44c4f-_0x5da3cf);_0x3970b5[0x0]=-0x2*_0x2dfb71,_0x3970b5[0x1]=0x0,_0x3970b5[0x2]=0x0,_0x3970b5[0x3]=0x0,_0x3970b5[0x4]=0x0,_0x3970b5[0x5]=-0x2*_0x455787,_0x3970b5[0x6]=0x0,_0x3970b5[0x7]=0x0,_0x3970b5[0x8]=0x0,_0x3970b5[0x9]=0x0,_0x3970b5[0xa]=0x2*_0x45ff1e,_0x3970b5[0xb]=0x0,_0x3970b5[0xc]=(_0x430332+_0x5a2080)*_0x2dfb71,_0x3970b5[0xd]=(_0x4f2d0f+_0x3b9b20)*_0x455787,_0x3970b5[0xe]=(_0x5da3cf+_0xf44c4f)*_0x45ff1e,_0x3970b5[0xf]=0x1;}(this['matProj'],0x0,(0x2-1.5*this['fAlpha'])*(_0x2144f3/_0x1fba58),0x0,0x2-1.5*this['fAlpha'],this['fNear'],this['fFar']),this['matProj'][0xc]=0x0,this['matProj'][0xd]=0x0):_0x3374fb(this['matProj'],this['fFov'],_0x2144f3/_0x1fba58,this['fNear'],this['fFar']),this['vecEye']=_0x2ba13b(0x0,0x0,this['fScale']),this['vecCenter']=_0x2ba13b(0x0,0x0,-0x64),this['vecUp']=_0x2ba13b(0x0,0x1,0x0);var _0x4c68a5=_0x2ba13b(0x1,0x0,0x0),_0x14ac75=_0x2ba13b(0x0,0x1,0x0),_0x6a4eb3=_0x2ba13b(0x0,0x0,0x1),_0x7d4ff5=_0x43ac42();_0x40630e(_0x7d4ff5,this['vecEye'],this['vecCenter'],this['vecUp']);var _0x5b2085=_0x43ac42(),_0x3b05b0=_0x43ac42(),_0xb19f01=_0x43ac42(),_0x16cd12=_0x43ac42();_0x4ddcd0(_0x3b05b0,_0x5b2085,-this['fAlpha'],_0x4c68a5),_0x4ddcd0(_0xb19f01,_0x3b05b0,-this['fTheta'],_0x14ac75),_0x4ddcd0(_0x16cd12,_0xb19f01,-this['fBeta'],_0x6a4eb3),_0x1bc788(this['matView'],_0x7d4ff5,_0x16cd12);}}},{'key':'GetView','value':function(){return this['matView'];}},{'key':'GetProj','value':function(){return this['matProj'];}}]),_0x17b4ee;}()),_0x5e5ca3=(function(){function _0x3edebc(){_0x3a92c7(this,_0x3edebc),this['fFov']=1.57,this['fAspect']=0x1,this['fNear']=0.1,this['fFar']=0x3e8,this['fAlpha']=0x0,this['fTheta']=0x0,this['fScale']=0x1,this['bPano']=!0x1,this['matView']=_0x43ac42(),this['matProj']=_0x43ac42(),this['vecEye']=_0x2ba13b(0x0,0x0,0.99),this['vecCenter']=_0x2ba13b(0x0,0x0,-0x64),this['vecUp']=_0x2ba13b(0x0,0x1,0x0);}return _0x30be4b(_0x3edebc,[{'key':'SetPitch','value':function(_0x198537){this['fAlpha']=_0x198537;}},{'key':'GetPitch','value':function(){return this['fAlpha'];}},{'key':'SetYaw','value':function(_0x3bdcaf){this['fTheta']=_0x3bdcaf;}},{'key':'GetYaw','value':function(){return this['fTheta'];}},{'key':'SetScale','value':function(_0x2c3e81){this['fScale']=_0x2c3e81;}},{'key':'GetScale','value':function(){return this['fScale'];}},{'key':'SetFov','value':function(_0x2ea7cf){this['fFov']=_0x2ea7cf;}},{'key':'SetAspect','value':function(_0x2b7ed7){this['fAspect']=_0x2b7ed7;}},{'key':'SetNear','value':function(_0x2f5727){this['fNear']=_0x2f5727;}},{'key':'SetPano','value':function(_0x55c034){this['bPano']=_0x55c034;}},{'key':'SetFar','value':function(_0x49b492){this['fFar']=_0x49b492;}},{'key':'UpdateCamera','value':function(_0x20101c,_0x2cbed6){if(!(_0x20101c<=0x0||_0x2cbed6<=0x0)){var _0x293dff=_0x20101c/_0x2cbed6;0x1==this['bPano']?(_0x3374fb(this['matProj'],this['fScale'],_0x293dff,this['fNear'],this['fFar']),this['matProj'][0x0]=-0x1*this['matProj'][0x0],this['matProj'][0x5]*=-0x1):(_0x3374fb(this['matProj'],this['fFov']+this['fScale']-0x1,_0x293dff,this['fNear'],this['fFar']),this['matProj'][0x0]=this['matProj'][0x0]*((this['fAlpha']- -1.57)/_0x645d1a*0.5-0x1),this['matProj'][0x5]=this['matProj'][0x0]*_0x293dff);var _0x539f00=_0x2ba13b(0x1,0x0,0x0),_0x13eee6=_0x2ba13b(0x0,0x1,0x0),_0x35581e=_0x43ac42();_0x40630e(_0x35581e,this['vecEye'],this['vecCenter'],this['vecUp']);var _0x3f2442=_0x43ac42(),_0x3de062=_0x43ac42(),_0x33528c=_0x43ac42();_0x4ddcd0(_0x3de062,_0x3f2442,-this['fAlpha'],_0x539f00),_0x4ddcd0(_0x33528c,_0x3de062,-this['fTheta'],_0x13eee6),_0x1bc788(this['matView'],_0x35581e,_0x33528c);}}},{'key':'GetView','value':function(){return this['matView'];}},{'key':'GetProj','value':function(){return this['matProj'];}}]),_0x3edebc;}()),_0x2779f7=(function(){function _0x408baa(){_0x3a92c7(this,_0x408baa),this['onlySupportedWebGL1']=!0x1,this['videoShaderProgram']=0x0,this['vertexPosBuffer']=0x0,this['texturePosBuffer']=0x0,this['indicesPosBuffer']=0x0,this['ctx']=null,this['enPixelFormat']=_0x459b97['SR_PF_NULL'],this['nTextureNum']=0x0,this['nSurfaceTexture']=[],this['nSurfaceTexture'][0x0]=0x0,this['nSurfaceTexture'][0x1]=0x0,this['nSurfaceTexture'][0x2]=0x0,this['frameDisplayWidth']=0x0,this['frameDisplayHeight']=0x0,this['bSrcRect']=!0x1,this['fSrcUseLeft']=0x0,this['fSrcUseRight']=0x1,this['fSrcUseTop']=0x0,this['fSrcUseBottom']=0x1,this['fDstUseLeft']=0x0,this['fDstUseRight']=0x1,this['fDstUseTop']=0x0,this['fDstUseBottom']=0x1,this['nPostProc']=0x0,this['fBrightness']=0x0,this['fHue']=0x0,this['fSaturation']=0x0,this['fContrast']=0x0,this['fSharpness']=0x0,this['nWndWidth']=0x0,this['nWndHeight']=0x0,this['bCullBack']=!0x1,this['nImageRotateAngle']=_0x1dca5a['SR_IRA_0'],this['matRotate']=_0x43ac42(),this['bIsCapturing']=!0x1,this['nCaptureWidth']=0x0,this['nCaptureHeight']=0x0,this['nCaptureRTTex']=0x0,this['nCaptureFBO']=0x0,this['nCaptureFBOWidth']=0x0,this['nCaptureFBOHeight']=0x0,this['nCaptureDepthbuffer']=0x0,this['bCaptureResInit']=!0x1,this['pFishParamManager']=null,this['nFECPort']=-0x1,this['pstFishParam']=[],this['fRX1']=0x0,this['fRX2']=0x1,this['fRY1']=0x0,this['fRY2']=0x1,this['b3DPort']=!0x1,this['pCamera']=null,this['fRotateX']=0x0,this['fRotateY']=0x0,this['fScale']=0x0,this['fRotateLimitX']=0x0,this['fRotateLimitY']=0x0,this['pSemiSpherePos']=null,this['pSemiSphereTex']=null,this['nSemiSpherePosNum']=0x0,this['nSemiSpherePosSize']=0x0,this['nSemiSphereTexSize']=0x0,this['pSpherePos']=null,this['pSphereTex']=null,this['pSphereInd']=null,this['nSpherePosNum']=0x0,this['nSpherePosSize']=0x0,this['nSphereTexSize']=0x0,this['pCylinderPos']=null,this['pCylinderTex']=null,this['nCylinderPosNum']=0x0,this['nCylinderPosSize']=0x0,this['nCylinderTexSize']=0x0,this['fCylinderHeight']=0x0,this['fCylinderRadius']=0x0,this['pArcSpherePos']=null,this['pArcSphereTex']=null,this['nArcSpherePosNum']=0x0,this['nArcSpherePosSize']=0x0,this['nArcSphereTexSize']=0x0,this['fImageWidth']=0x1,this['fImageHeight']=0x1,this['fTexCenterX']=0.5,this['fTexCenterY']=0.5,this['fTexRadius']=0.5,this['pfuncCBIn']=null,this['pUserIn']=null,this['pfuncCBOut']=null,this['pUserOut']=null,this['nMosaicShaderProgram']=0x0,this['nLineShaderProgram']=0x0,this['nMaxPointNum']=0x0,this['pLinePosVertices']=null,this['pLineClrVertices']=null,this['glLinePosBuffer']=0x0,this['glLineClrBuffer']=0x0,this['nLineTriangleNum']=0x0,this['pFillBlockPosVertices']=null,this['pFillBlockClrVertices']=null,this['nMaxFillBlockTriNum']=0x0,this['glBlockPosBuffer']=0x0,this['glBlockClrBuffer']=0x0,this['nBlockShaderProgram']=0x0,this['textCanvas']=null,this['textCanvasCtx']=null,this['nDrawFontWidth']=0x0,this['nDrawFontHeight']=0x0,this['nFontColorTexture']=0x0,this['pFontColorBuffer']=0x0,this['nFontShaderProgram']=0x0,this['nFontBGNum']=0x0,this['pstFontBGLines']=[],this['pFontPosVertices']=null,this['glFontVertexPosBuffer']=0x0,this['glFontTexturePosBuffer']=0x0,this['nImageShaderProgram']=0x0,this['pImagePosVertices']=null,this['pImageClrVertices']=null,this['glImagePosBuffer']=0x0,this['glImageClrBuffer']=0x0,this['nImageColorTexture']=null,this['nDrawImageWidth']=0x0,this['nDrawImageHeight']=0x0,this['nImageColorTextures']=[],this['nImageColorTextures'][0x0]=0x0,this['nImageColorTextures'][0x1]=0x0,this['nImageColorTextures'][0x2]=0x0,this['bFirstDrawImage']=!0x0,this['bAntialias']=!0x1,this['bRenderToTex']=!0x1,this['msaaFrameBuffer']=0x0,this['renderBuffer']=0x0,this['stOriginalDisplayRect']={},this['bCaptureOriginal']=!0x1;}return _0x30be4b(_0x408baa,[{'key':'SetCanvasSize','value':function(_0x2d2e1c,_0x503221){return _0x2d2e1c<=0x0||_0x503221<=0x0?_0x12eada['SR_ERR_PARAM']:(this['nWndWidth']=_0x2d2e1c,this['nWndHeight']=_0x503221,_0x12eada['SR_OK']);}},{'key':'Init','value':function(_0x4f175e,_0x1a66e6,_0x1acdd3,_0x5176ce){if(null==_0x4f175e)return _0x12eada['SR_ERR_PARAM'];if(null==this['ctx']&&(this['ctx']=_0x4f175e),_0x1a66e6==_0x459b97['SR_PF_NULL'])return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x297464=_0x12eada['SR_OK'];return _0x1acdd3!=_0x4d466f['SR_DE_FISH_SEMISPHERE']&&_0x1acdd3!=_0x4d466f['SR_DE_PANORAMA_SPHERE']&&_0x1acdd3!=_0x4d466f['SR_DE_PANORAMA_PLANET']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_PLANET']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']||(this['b3DPort']=!0x0,this['ctx']['enable'](this['ctx']['DEPTH_TEST']),this['ctx']['depthFunc'](this['ctx']['LESS']),this['ctx']['depthMask'](!0x0)),_0x297464=this['_InitVideoVertex'](_0x1a66e6,_0x1acdd3,_0x5176ce),_0x12eada['SR_OK']!=_0x297464?_0x297464:(_0x297464=this['_InitVideoShader'](_0x1a66e6,_0x1acdd3),_0x12eada['SR_OK']!=_0x297464?_0x297464:(_0x297464=this['_InitCamera'](_0x1acdd3),_0x12eada['SR_OK']!=_0x297464?_0x297464:(this['enPixelFormat']=_0x1a66e6,this['enDisplayEffect']=_0x1acdd3,_0x1acdd3!=_0x4d466f['SR_DE_FISH_SEMISPHERE']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']&&_0x1acdd3!=_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']||this['ctx']['enable'](this['ctx']['CULL_FACE']),_0x12eada['SR_OK'])));}},{'key':'DeInit','value':function(){}},{'key':'SetTextureNum','value':function(_0x52fba6){return this['nTextureNum']=_0x52fba6,_0x12eada['SR_OK'];}},{'key':'SetTextures','value':function(_0x359e22,_0x1d1d24){return this['nSurfaceTexture'][_0x359e22]=_0x1d1d24,_0x12eada['SR_OK'];}},{'key':'SetWndResolution','value':function(_0x599388,_0x487e39){return _0x599388<=0x0||_0x487e39<=0x0?_0x12eada['SR_ERR_PARAM']:(this['nWndWidth']=_0x599388,this['nWndHeight']=_0x487e39,_0x12eada['SR_OK']);}},{'key':'GetWndResolution','value':function(_0x544d78){return _0x544d78['nWndWidth']=this['nWndWidth'],_0x544d78['nWndHeight']=this['nWndHeight'],_0x12eada['SR_OK'];}},{'key':'SetDisplayRect','value':function(_0x45c2ae,_0x2d168a,_0x297c8b,_0x29210a,_0x38c8a7){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(this['b3DPort'])return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x50a311=_0x45c2ae,_0x22e436=_0x2d168a,_0x182917=_0x45c2ae+_0x297c8b,_0x25e8e3=_0x2d168a+_0x29210a,_0x2ebc1a=null,_0x2ea016=null;switch(_0x38c8a7){case _0x2a07c0['SR_SRT_SRC']:if(this['frameDisplayWidth']>0x0&&this['frameDisplayHeight']>0x0){if(this['fSrcUseLeft']=_0x50a311/this['frameDisplayWidth'],this['fSrcUseLeft']<0x0?this['fSrcUseLeft']=0x0:this['fSrcUseLeft']>0x1&&(this['fSrcUseLeft']=0x1),this['fSrcUseTop']=_0x22e436/this['frameDisplayHeight'],this['fSrcUseTop']<0x0?this['fSrcUseTop']=0x0:this['fSrcUseTop']>0x1&&(this['fSrcUseTop']=0x1),this['fSrcUseRight']=_0x182917/this['frameDisplayWidth'],this['fSrcUseRight']<0x0?this['fSrcUseRight']=0x0:this['fSrcUseRight']>0x1&&(this['fSrcUseRight']=0x1),this['fSrcUseBottom']=_0x25e8e3/this['frameDisplayHeight'],this['fSrcUseBottom']<0x0?this['fSrcUseBottom']=0x0:this['fSrcUseBottom']>0x1&&(this['fSrcUseBottom']=0x1),this['fSrcUseLeft']>=this['fSrcUseRight']||this['fSrcUseTop']>=this['fSrcUseBottom'])return _0x12eada['SR_ERR_PARAM'];if(_0x1dca5a['SR_IRA_0']==this['nImageRotateAngle'])_0x2ebc1a=new Float32Array([this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom']]);else{if(_0x1dca5a['SR_IRA_90']==this['nImageRotateAngle']){var _0x1821a8=this['fSrcUseTop'],_0x393d23=this['fSrcUseBottom'],_0x176c8c=0x1-this['fSrcUseRight'],_0xb5c9c6=0x1-this['fSrcUseLeft'];this['fSrcUseLeft']=_0x1821a8,this['fSrcUseRight']=_0x393d23,this['fSrcUseTop']=_0x176c8c,this['fSrcUseBottom']=_0xb5c9c6,_0x2ebc1a=new Float32Array([this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop']]);}else{if(_0x1dca5a['SR_IRA_180']==this['nImageRotateAngle']){var _0x28c681=0x1-this['fSrcUseRight'],_0x1d98eb=0x1-this['fSrcUseLeft'],_0x5a865f=0x1-this['fSrcUseBottom'],_0x10d4d6=0x1-this['fSrcUseTop'];this['fSrcUseLeft']=_0x28c681,this['fSrcUseRight']=_0x1d98eb,this['fSrcUseTop']=_0x5a865f,this['fSrcUseBottom']=_0x10d4d6,_0x2ebc1a=new Float32Array([this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseTop']]);}else{if(_0x1dca5a['SR_IRA_270']==this['nImageRotateAngle']){var _0x5b2922=0x1-this['fSrcUseBottom'],_0x3663cf=0x1-this['fSrcUseTop'],_0x370b1a=this['fSrcUseLeft'],_0x2a1bc5=this['fSrcUseRight'];this['fSrcUseLeft']=_0x5b2922,this['fSrcUseRight']=_0x3663cf,this['fSrcUseTop']=_0x370b1a,this['fSrcUseBottom']=_0x2a1bc5,_0x2ebc1a=new Float32Array([this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom']]);}}}}this['bSrcRect']=!0x0;}else _0x2ebc1a=new Float32Array([this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom']]),this['bSrcRect']=!0x1;this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['texturePosBuffer']),this['ctx']['bufferSubData'](this['ctx']['ARRAY_BUFFER'],0x0,_0x2ebc1a),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),_0x2ebc1a=null;break;case _0x2a07c0['SR_SRT_DST']:if(this['frameDisplayWidth']>0x0&&this['frameDisplayHeight']>0x0){if(this['fDstUseLeft']=_0x50a311/this['frameDisplayWidth'],this['fDstUseLeft']<0x0?this['fDstUseLeft']=0x0:this['fDstUseLeft']>0x1&&(this['fDstUseLeft']=0x1),this['fDstUseTop']=_0x22e436/this['frameDisplayHeight'],this['fDstUseTop']<0x0?this['fDstUseTop']=0x0:this['fDstUseTop']>0x1&&(this['fDstUseTop']=0x1),this['fDstUseRight']=_0x182917/this['frameDisplayWidth'],this['fDstUseRight']<0x0?this['fDstUseRight']=0x0:this['fDstUseRight']>0x1&&(this['fDstUseRight']=0x1),this['fDstUseBottom']=_0x25e8e3/this['frameDisplayHeight'],this['fDstUseBottom']<0x0?this['fDstUseBottom']=0x0:this['fDstUseBottom']>0x1&&(this['fDstUseBottom']=0x1),this['fDstUseLeft']>=this['fDstUseRight']||this['fDstUseTop']>=this['fDstUseBottom'])return _0x12eada['SR_ERR_PARAM'];(_0x2ea016=new Float32Array(0xc))[0x0]=0x2*this['fDstUseLeft']-0x1,_0x2ea016[0x1]=0x1-0x2*this['fDstUseTop'],_0x2ea016[0x2]=0x2*this['fDstUseLeft']-0x1,_0x2ea016[0x3]=0x1-0x2*this['fDstUseBottom'],_0x2ea016[0x4]=0x2*this['fDstUseRight']-0x1,_0x2ea016[0x5]=0x1-0x2*this['fDstUseTop'],_0x2ea016[0x6]=0x2*this['fDstUseRight']-0x1,_0x2ea016[0x7]=0x1-0x2*this['fDstUseTop'],_0x2ea016[0x8]=0x2*this['fDstUseLeft']-0x1,_0x2ea016[0x9]=0x1-0x2*this['fDstUseBottom'],_0x2ea016[0xa]=0x2*this['fDstUseRight']-0x1,_0x2ea016[0xb]=0x1-0x2*this['fDstUseBottom'],this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['vertexPosBuffer']),this['ctx']['bufferSubData'](this['ctx']['ARRAY_BUFFER'],0x0,_0x2ea016),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),_0x2ea016=null;}break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_OK'];}},{'key':'SetImagePostProcess','value':function(_0x1b9b32,_0x1c7b8d){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(_0x22a3de['SR_PPT_SHARPNESS']==_0x1b9b32||_0x22a3de['SR_PPT_HUE']==_0x1b9b32){if(0x0-_0x1c7b8d>0.000001||_0x1c7b8d-0x1>0.000001)return _0x12eada['SR_ERR_PARAM'];}else{if((_0x22a3de['SR_PPT_BRIGHTNESS']==_0x1b9b32||_0x22a3de['SR_PPT_SATURATION']==_0x1b9b32||_0x22a3de['SR_PPT_CONTRAST']==_0x1b9b32)&&(-0x1-_0x1c7b8d>0.000001||_0x1c7b8d-0x1>0.000001))return _0x12eada['SR_ERR_PARAM'];}switch(_0x1b9b32){case _0x22a3de['SR_PPT_BRIGHTNESS']:this['fBrightness']=_0x1c7b8d;break;case _0x22a3de['SR_PPT_HUE']:this['fHue']=_0x1c7b8d;break;case _0x22a3de['SR_PPT_SATURATION']:this['fSaturation']=_0x1c7b8d;break;case _0x22a3de['SR_PPT_CONTRAST']:this['fContrast']=_0x1c7b8d;break;case _0x22a3de['SR_PPT_SHARPNESS']:this['fSharpness']=_0x1c7b8d;break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return Math['abs'](this['fBrightness']-0x0)<0.000001&&Math['abs'](this['fHue']-0x0)<0.000001&&Math['abs'](this['fSaturation']-0x0)<0.000001&&Math['abs'](this['fContrast']-0x0)<0.000001&&Math['abs'](this['fSharpness']-0x0)<0.000001?this['nPostProc']=0x0:this['nPostProc']=0x1,_0x12eada['SR_OK'];}},{'key':'SetRenderState','value':function(_0x69797,_0x51232e){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];switch(_0x69797){case _0x23df7b['SR_RST_VERTICALFLIP']:if(this['b3DPort'])return _0x12eada['SR_ERR_NOT_SUPPORT'];break;case _0x23df7b['SR_RST_BACK_CULL']:if(!this['b3DPort'])return _0x12eada['SR_ERR_NOT_SUPPORT'];Math['abs'](_0x51232e-0x0)<0.000001?this['bCullBack']=!0x1:this['bCullBack']=!0x0;break;case _0x23df7b['SR_RST_IMAGE_ROTATE']:if(this['b3DPort'])return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x33ca69=null,_0x123071=_0x1dca5a['SR_IRA_0'],_0x183f2c=_0x2ba13b(0x0,0x0,0x1),_0x4db1e1=_0x43ac42();if(Math['abs'](_0x51232e-0x0)<0.000001){if(this['nImageRotateAngle']==_0x123071)break;_0x33ca69=this['bSrcRect']?new Float32Array([this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom']]):new Float32Array([0x0,0x0,0x0,0x1,0x1,0x0,0x1,0x0,0x0,0x1,0x1,0x1]),_0x52b8d2(this['matRotate']);}else{if(Math['abs'](_0x51232e-0x5a)<0.000001){if(_0x123071=_0x1dca5a['SR_IRA_90'],this['nImageRotateAngle']==_0x123071)break;_0x33ca69=this['bSrcRect']?new Float32Array([this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop']]):new Float32Array([0x0,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x1,0x1,0x1,0x0]),_0x4ddcd0(this['matRotate'],_0x4db1e1,1.5707963,_0x183f2c);}else{if(Math['abs'](_0x51232e-0xb4)<0.000001){if(_0x123071=_0x1dca5a['SR_IRA_180'],this['nImageRotateAngle']==_0x123071)break;_0x33ca69=this['bSrcRect']?new Float32Array([this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseLeft'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseTop']]):new Float32Array([0x1,0x1,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x0,0x0]),_0x4ddcd0(this['matRotate'],_0x4db1e1,_0x645d1a,_0x183f2c);}else{if(!(Math['abs'](_0x51232e-0x10e)<0.000001))return _0x12eada['SR_ERR_PARAM'];if(_0x123071=_0x1dca5a['SR_IRA_270'],this['nImageRotateAngle']==_0x123071)break;_0x33ca69=this['bSrcRect']?new Float32Array([this['fSrcUseRight'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseRight'],this['fSrcUseBottom'],this['fSrcUseLeft'],this['fSrcUseTop'],this['fSrcUseLeft'],this['fSrcUseBottom']]):new Float32Array([0x1,0x0,0x0,0x0,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x1]),_0x4ddcd0(this['matRotate'],_0x4db1e1,0x3*_0x645d1a/0x2,_0x183f2c);}}}if(null==_0x33ca69)return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x487c88=this['ctx']['createBuffer']();this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x487c88),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0x33ca69,this['ctx']['STATIC_DRAW']),this['texturePosBuffer']=_0x487c88,this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['nImageRotateAngle']=_0x123071;break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_OK'];}},{'key':'SetVideoResolution','value':function(_0x3dac97,_0x24e06a){return null==this['ctx']||_0x3dac97<=0x0||_0x24e06a<=0x0?_0x12eada['SR_ERR_CALL_ORDER']:(this['frameDisplayWidth']=_0x3dac97,this['frameDisplayHeight']=_0x24e06a,_0x12eada['SR_OK']);}},{'key':'GetCaptureSize','value':function(_0x4563e5){var _0x331ce8=arguments['length']>0x1&&void 0x0!==arguments[0x1]&&arguments[0x1];if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x4563e5['nWidth']||null==_0x4563e5['nWidth']||null==_0x4563e5['nHeight']||null==_0x4563e5['nHeight'])return _0x12eada['SR_ERR_PARAM'];if(0x1==_0x331ce8&&this['b3DPort'])return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x2e6760=0x0,_0x58fbcb=0x0;if(0x0==_0x4563e5['nWidth']&&0x0==_0x4563e5['nHeight'])switch(this['enDisplayEffect']){case _0x4d466f['SR_DE_FISH_PTZ_WALL']:case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:_0x2e6760=Math['round'](0x5*this['frameDisplayHeight']/0x8),_0x58fbcb=Math['round'](0x3*_0x2e6760/0x4);break;case _0x4d466f['SR_DE_NULL']:_0x331ce8?(_0x2e6760=Math['round'](this['frameDisplayWidth']),_0x58fbcb=Math['round'](this['frameDisplayHeight'])):(_0x2e6760=Math['round']((this['fSrcUseRight']-this['fSrcUseLeft'])*this['frameDisplayWidth']),_0x58fbcb=Math['round']((this['fSrcUseBottom']-this['fSrcUseTop'])*this['frameDisplayHeight']));break;case _0x4d466f['SR_DE_FISH_ORIGINAL']:case _0x4d466f['SR_DE_FISH_SEMISPHERE']:case _0x4d466f['SR_DE_PANORAMA_SPHERE']:case _0x4d466f['SR_DE_PANORAMA_PLANET']:case _0x4d466f['SR_DE_FISH_CYLINDER_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']:case _0x4d466f['SR_DE_FISH_PLANET']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']:_0x2e6760=Math['round'](this['frameDisplayWidth']),_0x58fbcb=Math['round'](this['frameDisplayHeight']);break;case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:this['frameDisplayHeight']>=0x800?(_0x2e6760=0x1800,_0x58fbcb=0x360):this['frameDisplayHeight']>=0x600&&0x800>this['frameDisplayHeight']?(_0x2e6760=0x1000,_0x58fbcb=0x240):(_0x2e6760=Math['round'](3.14*this['frameDisplayHeight']/1.6),_0x58fbcb=Math['round'](0x9*this['frameDisplayWidth']/0x10),_0x2e6760=Math['round'](0x2*_0x2e6760),_0x58fbcb=Math['round'](_0x58fbcb/0x2));break;case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']:this['frameDisplayHeight']>=0xc00?(_0x2e6760=0x1000,_0x58fbcb=0x900):this['frameDisplayHeight']>=0x800&&0xc00>this['frameDisplayHeight']?(_0x2e6760=0xc00,_0x58fbcb=0x6c0):this['frameDisplayHeight']>=0x600&&0x800>this['frameDisplayHeight']?(_0x2e6760=0x800,_0x58fbcb=0x480):(_0x2e6760=Math['round'](3.14*this['frameDisplayHeight']/1.6),_0x58fbcb=Math['round'](0x9*_0x2e6760/0x10));break;case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:_0x2e6760=Math['round'](this['frameDisplayHeight']),_0x58fbcb=Math['round'](0x9*_0x2e6760/0x10);break;default:return _0x12eada['SR_ERR_PARAM'];}else _0x2e6760=Math['round'](_0x4563e5['nWidth']),_0x58fbcb=Math['round'](_0x4563e5['nHeight']);return _0x2e6760<0x10||_0x58fbcb<0x10?_0x12eada['SR_ERR_PARAM']:(this['nCaptureWidth']=0x4*Math['round'](_0x2e6760/0x4),this['nCaptureHeight']=Math['round'](_0x58fbcb),_0x4563e5['nWidth']=this['nCaptureWidth'],_0x4563e5['nHeight']=this['nCaptureHeight'],_0x4563e5['nBufferLen']=this['nCaptureWidth']*this['nCaptureHeight']*0x4,this['bCaptureOriginal']=_0x331ce8,_0x12eada['SR_OK']);}},{'key':'CaptureScreen','value':function(_0x24b43b,_0x331e7a){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x137f26=_0x12eada['SR_OK'];if(_0x137f26=this['_BeginCapture'](),_0x12eada['SR_OK']!=_0x137f26)return this['bIsCapturing']=!0x1,_0x137f26;if(0x1==this['bCaptureOriginal']&&(this['stOriginalDisplayRect']['fLeft']=this['fSrcUseLeft']*this['frameDisplayWidth'],this['stOriginalDisplayRect']['fTop']=this['fSrcUseTop']*this['frameDisplayHeight'],this['stOriginalDisplayRect']['fWidth']=(this['fSrcUseRight']-this['fSrcUseLeft'])*this['frameDisplayWidth'],this['stOriginalDisplayRect']['fHeight']=(this['fSrcUseBottom']-this['fSrcUseTop'])*this['frameDisplayHeight'],_0x137f26=this['SetDisplayRect'](0x0,0x0,this['frameDisplayWidth'],this['frameDisplayHeight'],_0x2a07c0['SR_SRT_SRC']),_0x12eada['SR_OK']!=_0x137f26))return this['bIsCapturing']=!0x1,_0x137f26;if(0x0==this['videoShaderProgram']||0x0==this['vertexPosBuffer']||0x0==this['texturePosBuffer'])return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['useProgram'](this['videoShaderProgram']),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['vertexPosBuffer']);var _0x5687e2=this['ctx']['getAttribLocation'](this['videoShaderProgram'],'position');if(_0x5687e2<0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['b3DPort']?this['ctx']['vertexAttribPointer'](_0x5687e2,0x3,this['ctx']['FLOAT'],!0x1,0x0,0x0):this['ctx']['vertexAttribPointer'](_0x5687e2,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x5687e2),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['texturePosBuffer']);var _0x417458=this['ctx']['getAttribLocation'](this['videoShaderProgram'],'texCoord');if(_0x417458<0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['vertexAttribPointer'](_0x417458,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x417458),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null);var _0x5b79f1=this['enDisplayEffect'],_0xefe088=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bCapture');if(_0xefe088<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0xefe088,0x1);var _0x266632=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bDataFormat');if(_0x266632<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];switch(this['enPixelFormat']){case _0x459b97['SR_PF_YV12']:case _0x459b97['SR_PF_I420']:this['ctx']['uniform1i'](_0x266632,0x0);break;case _0x459b97['SR_PF_NV12']:break;case _0x459b97['SR_PF_RGBA32']:case _0x459b97['SR_PF_SURFACE']:this['ctx']['uniform1i'](_0x266632,0x1);break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}var _0x158ae0=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bDrawImage');this['ctx']['uniform1i'](_0x158ae0,0x0);var _0x40e944=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fAlpha');switch(this['ctx']['uniform1f'](_0x40e944,0x0),_0x5b79f1){case _0x4d466f['SR_DE_NULL']:break;case _0x4d466f['SR_DE_FISH_ORIGINAL']:case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:case _0x4d466f['SR_DE_FISH_PTZ_WALL']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:if(null==this['pFishParamManager'])return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];var _0x5a516d={},_0x48b558=_0x12eada['SR_OK'];if(_0x48b558=this['pFishParamManager']['GetRenderParam'](this['nFECPort'],_0x5a516d),_0x12eada['SR_OK']!=_0x48b558)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x48b558;if(_0x4d466f['SR_DE_FISH_ORIGINAL']==_0x5b79f1){var _0x9f7f66=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bBlack');if(_0x9f7f66<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0x9f7f66,_0x5a516d['bBlack']);var _0x962731=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bCut');if(_0x962731<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0x962731,_0x5a516d['bCut']);}if(_0x4d466f['SR_DE_FISH_PTZ_CEILING']==_0x5b79f1||_0x4d466f['SR_DE_FISH_PTZ_FLOOR']==_0x5b79f1||_0x4d466f['SR_DE_FISH_PTZ_WALL']==_0x5b79f1){var _0x3ecb7e=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fHAngleCos');if(_0x3ecb7e<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3ecb7e,_0x5a516d['fCosH']);var _0x53a12a=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fHAngleSin');if(_0x53a12a<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x53a12a,_0x5a516d['fSinH']);var _0x56e34e=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fVAngleCos');if(_0x56e34e<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x56e34e,_0x5a516d['fCosV']);var _0x241f38=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fVAngleSin');if(_0x241f38<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x241f38,_0x5a516d['fSinV']);var _0x25722a=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fZoom');if(_0x25722a<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x25722a,_0x5a516d['fZoom']);}if(_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']==_0x5b79f1||_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']==_0x5b79f1||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']==_0x5b79f1||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']==_0x5b79f1){var _0x19678f=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fAngle');if(_0x19678f<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x19678f,_0x5a516d['fAngle']);}var _0x77260d=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX1');if(_0x77260d<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x77260d,_0x5a516d['fRXLeft']);var _0x5812d6=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX2');if(_0x5812d6<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x5812d6,_0x5a516d['fRXRight']);var _0x41a20c=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY1');if(_0x41a20c<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x41a20c,_0x5a516d['fRYTop']);var _0x151b8a=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY2');if(_0x151b8a<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x151b8a,_0x5a516d['fRYBottom']);break;case _0x4d466f['SR_DE_FISH_SEMISPHERE']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](3.14-this['fRotateX']),this['pCamera']['SetYaw'](-this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x5f0f44=this['pCamera']['GetView'](),_0x44f8c6=this['pCamera']['GetProj'](),_0x38c608=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x38c608<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x38c608,!0x1,_0x5f0f44);var _0x3623f5=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x3623f5<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x3623f5,!0x1,_0x44f8c6);break;case _0x4d466f['SR_DE_PANORAMA_SPHERE']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](3.14-this['fRotateX']),this['pCamera']['SetYaw'](this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x104085=this['pCamera']['GetView'](),_0x5e7f20=this['pCamera']['GetProj'](),_0x132449=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x132449<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x132449,!0x1,_0x104085);var _0x141854=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x141854<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x141854,!0x1,_0x5e7f20);break;case _0x4d466f['SR_DE_FISH_CYLINDER_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](-this['fRotateX']),this['pCamera']['SetYaw'](-this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x5e4244=this['pCamera']['GetView'](),_0x244edc=this['pCamera']['GetProj'](),_0x581bcc=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x581bcc<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x581bcc,!0x1,_0x5e4244);var _0x4bebe7=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x4bebe7<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x4bebe7,!0x1,_0x244edc);break;case _0x4d466f['SR_DE_FISH_PLANET']:case _0x4d466f['SR_DE_PANORAMA_PLANET']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](this['fRotateX']),this['pCamera']['SetYaw'](3.14+this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x3d95e8=this['pCamera']['GetView'](),_0x23ba6e=this['pCamera']['GetProj'](),_0x2f7700=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x2f7700<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x2f7700,!0x1,_0x3d95e8);var _0xfd45d9=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0xfd45d9<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0xfd45d9,!0x1,_0x23ba6e);break;case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']:if(null==this['pFishParamManager'])return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];var _0x1cb0b6={},_0x7158af=_0x12eada['SR_OK'];if(_0x7158af=this['pFishParamManager']['GetRenderParam'](this['nFECPort'],_0x1cb0b6),_0x12eada['SR_OK']!=_0x7158af)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x7158af;this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](-this['fRotateX']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x34f807=this['pCamera']['GetView'](),_0xda7be2=this['pCamera']['GetProj'](),_0x427b83=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x427b83<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x427b83,!0x1,_0x34f807);var _0x89734f=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x89734f<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x89734f,!0x1,_0xda7be2);var _0x36f1ae;_0x36f1ae=Math['abs'](0.785-this['fRotateX'])<0.0025?0.785:this['fRotateX'];var _0xaec049=new Float32Array([0x0,0x1,0x0,0x2*-_0x36f1ae]),_0x5e2d7b=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'vecCylinderParam');if(_0x5e2d7b<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['uniform4f'](_0x5e2d7b,_0xaec049[0x0],_0xaec049[0x1],_0xaec049[0x2],_0xaec049[0x3]),_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']==this['enDisplayEffect']){var _0x1b95f3=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fTextureOffset');if(_0x1b95f3<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x1b95f3,this['fRotateY']);}else{var _0x5b2361=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fTextureOffset');if(_0x5b2361<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x5b2361,-this['fRotateY']);}var _0x6b2648=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX1');if(_0x6b2648<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x6b2648,_0x1cb0b6['fRXLeft']);var _0x4f661d=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX2');if(_0x4f661d<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x4f661d,_0x1cb0b6['fRXRight']);var _0x1eeb07=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY1');if(_0x1eeb07<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x1eeb07,_0x1cb0b6['fRYTop']);var _0x36c605=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY2');if(_0x36c605<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x36c605,_0x1cb0b6['fRYBottom']);break;default:return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_NOT_SUPPORT'];}if(this['nCaptureWidth']<=0x0||this['nCaptureHeight']<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CANVAS'];if(this['ctx']['viewport'](0x0,0x0,this['nCaptureWidth'],this['nCaptureHeight']),this['ctx']['clearColor'](0x0,0x0,0x0,0x1),this['ctx']['clear'](this['ctx']['COLOR_BUFFER_BIT']|this['ctx']['DEPTH_BUFFER_BIT']),this['b3DPort']&&(this['ctx']['enable'](this['ctx']['DEPTH_TEST']),this['ctx']['depthFunc'](this['ctx']['LESS']),this['ctx']['depthMask'](!0x0),0x1==this['bCullBack']?this['ctx']['enable'](this['ctx']['CULL_FACE']):this['ctx']['disable'](this['ctx']['CULL_FACE'])),this['enPixelFormat']==_0x459b97['SR_PF_RGBA32']||this['enPixelFormat']==_0x459b97['SR_PF_SURFACE']){this['ctx']['activeTexture'](this['ctx']['TEXTURE0']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x0]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x4eb782=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Ytexture');this['ctx']['uniform1i'](_0x4eb782,0x0);}else{if(this['enPixelFormat']!=_0x459b97['SR_PF_YV12']&&this['enPixelFormat']!=_0x459b97['SR_PF_I420'])return _0x12eada['SR_ERR_NOT_SUPPORT'];this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x0]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x27c73c=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Ytexture');this['ctx']['uniform1i'](_0x27c73c,0x0),this['ctx']['activeTexture'](this['ctx']['TEXTURE1']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x1]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x213b33=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Utexture');this['ctx']['uniform1i'](_0x213b33,0x1),this['ctx']['activeTexture'](this['ctx']['TEXTURE2']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x2]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x26e1c6=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Vtexture');this['ctx']['uniform1i'](_0x26e1c6,0x2);}if(this['onlySupportedWebGL1']||this['ctx']['clearBufferfi'](this['ctx']['DEPTH_STENCIL'],0x0,0x1,0x0),0x0==this['b3DPort'])this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x6);else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_SEMISPHERE']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_PLANET']){if(this['nSemiSpherePosNum']<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,this['nSemiSpherePosNum']);}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_SPHERE']||this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_PLANET']){if(this['nSpherePosNum']<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['bindBuffer'](this['ctx']['ELEMENT_ARRAY_BUFFER'],this['indicesPosBuffer']),this['ctx']['drawElements'](this['ctx']['TRIANGLES'],0x6*this['nSpherePosNum'],this['ctx']['UNSIGNED_SHORT'],0x0),this['ctx']['bindBuffer'](this['ctx']['ELEMENT_ARRAY_BUFFER'],null);}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']){if(this['nCylinderPosNum']<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,this['nCylinderPosNum']);}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']){if(this['nArcSpherePosNum']<=0x0)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,this['nArcSpherePosNum']);}}}}}if(this['ctx']['useProgram'](null),_0x331e7a||this['DoCallBack'](),0x1==this['bCaptureOriginal']){var _0x4b44a6=this['nImageRotateAngle'];if(this['bSrcRect']=!0x1,_0x137f26=this['SetRenderState'](_0x23df7b['SR_RST_IMAGE_ROTATE'],0x0),_0x12eada['SR_OK']!=_0x137f26)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x137f26;if(_0x137f26=this['SetDisplayRect'](this['stOriginalDisplayRect']['fLeft'],this['stOriginalDisplayRect']['fTop'],this['stOriginalDisplayRect']['fWidth'],this['stOriginalDisplayRect']['fHeight'],_0x2a07c0['SR_SRT_SRC']),_0x12eada['SR_OK']!=_0x137f26)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x137f26;switch(this['bSrcRect']=!0x0,_0x4b44a6){case _0x1dca5a['SR_IRA_0']:_0x137f26=this['SetRenderState'](_0x23df7b['SR_RST_IMAGE_ROTATE'],0x0);break;case _0x1dca5a['SR_IRA_90']:_0x137f26=this['SetRenderState'](_0x23df7b['SR_RST_IMAGE_ROTATE'],0x5a);break;case _0x1dca5a['SR_IRA_180']:_0x137f26=this['SetRenderState'](_0x23df7b['SR_RST_IMAGE_ROTATE'],0xb4);break;case _0x1dca5a['SR_IRA_270']:_0x137f26=this['SetRenderState'](_0x23df7b['SR_RST_IMAGE_ROTATE'],0x10e);break;default:return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_NOT_SUPPORT'];}if(_0x12eada['SR_OK']!=_0x137f26)return this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x137f26;}return _0x137f26=this['_EndCapture'](_0x24b43b),_0x12eada['SR_OK']!=_0x137f26?_0x137f26:_0x12eada['SR_OK'];}},{'key':'SetWebGL2Support','value':function(_0x10ebdd){return this['onlySupportedWebGL1']=_0x10ebdd,_0x12eada['SR_OK'];}},{'key':'SetFishParamManager','value':function(_0x52508e){return this['pFishParamManager']=_0x52508e,_0x12eada['SR_OK'];}},{'key':'SetFECPort','value':function(_0x3b02c0){return this['nFECPort']=_0x3b02c0,_0x12eada['SR_OK'];}},{'key':'Render','value':function(_0x21128d){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];switch(this['ctx']['useProgram'](this['videoShaderProgram']),this['enPixelFormat']){case _0x459b97['SR_PF_YV12']:case _0x459b97['SR_PF_I420']:this['ctx']['activeTexture'](this['ctx']['TEXTURE0']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x0]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0xe611a2=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Ytexture');this['ctx']['uniform1i'](_0xe611a2,0x0),this['ctx']['activeTexture'](this['ctx']['TEXTURE1']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x1]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x30b299=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Utexture');this['ctx']['uniform1i'](_0x30b299,0x1),this['ctx']['activeTexture'](this['ctx']['TEXTURE2']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x2]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x259dbe=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Vtexture');this['ctx']['uniform1i'](_0x259dbe,0x2);break;case _0x459b97['SR_PF_SURFACE']:this['ctx']['activeTexture'](this['ctx']['TEXTURE0']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x0]),!this['onlySupportedWebGL1']&&this['bAntialias']&&this['ctx']['generateMipmap'](this['ctx']['TEXTURE_2D']);var _0x1822e0=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'Ytexture');this['ctx']['uniform1i'](_0x1822e0,0x0);break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}var _0x210c5a=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bCapture');if(_0x210c5a<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0x210c5a,0x0);var _0x2f292e=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bDataFormat');if(_0x2f292e<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];switch(this['enPixelFormat']){case _0x459b97['SR_PF_YV12']:case _0x459b97['SR_PF_I420']:this['ctx']['uniform1i'](_0x2f292e,0x0);break;case _0x459b97['SR_PF_NV12']:break;case _0x459b97['SR_PF_RGBA32']:case _0x459b97['SR_PF_SURFACE']:this['ctx']['uniform1i'](_0x2f292e,0x1);}switch(this['enDisplayEffect']){case _0x4d466f['SR_DE_NULL']:if(this['nPostProc']){var _0x2570c4=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fBrightness');if(_0x2570c4<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x2570c4,this['fBrightness']);var _0x27329a=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fHue');if(_0x27329a<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x27329a,this['fHue']);var _0x1ee1ba=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fSaturation');if(_0x1ee1ba<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x1ee1ba,this['fSaturation']);var _0x16b2c7=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fContrast');if(_0x16b2c7<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x16b2c7,this['fContrast']);var _0x191a57=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fSharpness');if(_0x191a57<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x191a57,this['fSharpness']);var _0x2c3dbe=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fWndWidth');if(_0x2c3dbe<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x2c3dbe,this['nWndWidth']);var _0x2b974a=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fWndHeight');if(_0x2b974a<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x2b974a,this['nWndHeight']);}var _0x142b85=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'nPostProc');this['ctx']['uniform1i'](_0x142b85,this['nPostProc']);break;case _0x4d466f['SR_DE_FISH_ORIGINAL']:case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:case _0x4d466f['SR_DE_FISH_PTZ_WALL']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:if(_0x4d466f['SR_DE_FISH_ORIGINAL']==this['enDisplayEffect']){var _0xe26e5=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bBlack');if(_0xe26e5<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0xe26e5,this['pstFishParam']['bBlack']);var _0x4a1d91=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bCut');if(_0x4a1d91<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0x4a1d91,this['pstFishParam']['bCut']);}if(_0x4d466f['SR_DE_FISH_PTZ_CEILING']==this['enDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_FLOOR']==this['enDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_WALL']==this['enDisplayEffect']){var _0xe50053=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fHAngleCos');if(_0xe50053<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0xe50053,this['pstFishParam']['fCosH']);var _0x4341b9=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fHAngleSin');if(_0x4341b9<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x4341b9,this['pstFishParam']['fSinH']);var _0x1d2619=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fVAngleCos');if(_0x1d2619<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x1d2619,this['pstFishParam']['fCosV']);var _0x4502d1=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fVAngleSin');if(_0x4502d1<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x4502d1,this['pstFishParam']['fSinV']);var _0x125719=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fZoom');if(_0x125719<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x125719,this['pstFishParam']['fZoom']);}if(_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']==this['enDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']==this['enDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']==this['enDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']==this['enDisplayEffect']){var _0x5e80d3=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fAngle');if(_0x5e80d3<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x5e80d3,this['pstFishParam']['fAngle']);}var _0x3637f2=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX1');if(_0x3637f2<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3637f2,this['pstFishParam']['fRXLeft']);var _0x29b4a3=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX2');if(_0x29b4a3<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x29b4a3,this['pstFishParam']['fRXRight']);var _0x31e983=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY1');if(_0x31e983<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x31e983,this['pstFishParam']['fRYTop']);var _0x59aa03=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY2');if(_0x59aa03<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x59aa03,this['pstFishParam']['fRYBottom']);break;case _0x4d466f['SR_DE_FISH_SEMISPHERE']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](3.14-this['fRotateX']),this['pCamera']['SetYaw'](-this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x500208=this['pCamera']['GetView'](),_0x35ccfe=this['pCamera']['GetProj'](),_0x54fef9=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x54fef9<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x54fef9,!0x1,_0x500208);var _0x31eff9=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x31eff9<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x31eff9,!0x1,_0x35ccfe);break;case _0x4d466f['SR_DE_PANORAMA_SPHERE']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](3.14-this['fRotateX']),this['pCamera']['SetYaw'](this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x1a0751=this['pCamera']['GetView'](),_0xf39081=this['pCamera']['GetProj'](),_0x1b143b=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x1b143b<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x1b143b,!0x1,_0x1a0751);var _0x564a69=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x564a69<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x564a69,!0x1,_0xf39081);break;case _0x4d466f['SR_DE_FISH_CYLINDER_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](-this['fRotateX']),this['pCamera']['SetYaw'](-this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x134e36=this['pCamera']['GetView'](),_0x7c5d2=this['pCamera']['GetProj'](),_0x597e66=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x597e66<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x597e66,!0x1,_0x134e36);var _0x57d14e=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x57d14e<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x57d14e,!0x1,_0x7c5d2);break;case _0x4d466f['SR_DE_FISH_PLANET']:case _0x4d466f['SR_DE_PANORAMA_PLANET']:this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](this['fRotateX']),this['pCamera']['SetYaw'](3.14+this['fRotateY']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x148bf6=this['pCamera']['GetView'](),_0x4589c8=this['pCamera']['GetProj'](),_0x35218d=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x35218d<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x35218d,!0x1,_0x148bf6);var _0x3b7b4f=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x3b7b4f<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x3b7b4f,!0x1,_0x4589c8);var _0xeb4987=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bDrawImage');if(_0xeb4987<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0xeb4987,0x0);var _0xb3cfa6=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fAlpha');if(_0xb3cfa6<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0xb3cfa6,0x0);break;case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']:if(null==this['pFishParamManager'])return _0x12eada['SR_ERR_CALL_ORDER'];this['pCamera']['SetScale'](this['fScale']),this['pCamera']['SetPitch'](-this['fRotateX']),this['pCamera']['UpdateCamera'](this['nWndWidth'],this['nWndHeight']);var _0x315cf5=this['pCamera']['GetView'](),_0x1069fa=this['pCamera']['GetProj'](),_0x5c6434=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matView');if(_0x5c6434<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x5c6434,!0x1,_0x315cf5);var _0x5c7721=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'matProj');if(_0x5c7721<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x5c7721,!0x1,_0x1069fa);var _0x6641d0;_0x6641d0=Math['abs'](0.785-this['fRotateX'])<0.0025?0.785:this['fRotateX'];var _0x5e17af=new Float32Array([0x0,0x1,0x0,0x2*-_0x6641d0]),_0x33e14d=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'vecCylinderParam');if(_0x33e14d<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['uniform4f'](_0x33e14d,_0x5e17af[0x0],_0x5e17af[0x1],_0x5e17af[0x2],_0x5e17af[0x3]),_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']==this['enDisplayEffect']){var _0x3a1dd2=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fTextureOffset');if(_0x3a1dd2<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3a1dd2,this['fRotateY']);}else{var _0x5554c4=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fTextureOffset');if(_0x5554c4<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x5554c4,-this['fRotateY']);}var _0x25432b={},_0x529f55=_0x12eada['SR_OK'];if(_0x529f55=this['pFishParamManager']['GetRenderParam'](this['nFECPort'],_0x25432b),_0x12eada['SR_OK']!=_0x529f55)return _0x529f55;var _0x52a871=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX1');if(_0x52a871<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x52a871,_0x25432b['fRXLeft']);var _0xed745e=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRX2');if(_0xed745e<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0xed745e,_0x25432b['fRXRight']);var _0x27398d=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY1');if(_0x27398d<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x27398d,_0x25432b['fRYTop']);var _0x3176cd=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fRY2');if(_0x3176cd<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3176cd,_0x25432b['fRYBottom']);var _0x23adfe=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'bDrawImage');if(_0x23adfe<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1i'](_0x23adfe,0x0);var _0x39a0d7=this['ctx']['getUniformLocation'](this['videoShaderProgram'],'fAlpha');if(_0x39a0d7<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x39a0d7,0x0);break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['vertexPosBuffer']);var _0x3a6244=this['ctx']['getAttribLocation'](this['videoShaderProgram'],'position');if(_0x3a6244<0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['b3DPort']?this['ctx']['vertexAttribPointer'](_0x3a6244,0x3,this['ctx']['FLOAT'],!0x1,0x0,0x0):this['ctx']['vertexAttribPointer'](_0x3a6244,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x3a6244),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['texturePosBuffer']);var _0x97e6c9=this['ctx']['getAttribLocation'](this['videoShaderProgram'],'texCoord');if(_0x97e6c9<0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['vertexAttribPointer'](_0x97e6c9,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x97e6c9),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['viewport'](0x0,0x0,this['nWndWidth'],this['nWndHeight']),this['onlySupportedWebGL1']||this['ctx']['clearBufferfi'](this['ctx']['DEPTH_STENCIL'],0x0,0x1,0x0),this['ctx']['clearColor'](0x0,0x0,0x0,0x1),this['ctx']['clear'](this['ctx']['COLOR_BUFFER_BIT']|this['ctx']['DEPTH_BUFFER_BIT']),this['b3DPort']&&(this['ctx']['enable'](this['ctx']['DEPTH_TEST']),this['ctx']['depthFunc'](this['ctx']['LESS']),this['ctx']['depthMask'](!0x0),0x1==this['bCullBack']?this['ctx']['enable'](this['ctx']['CULL_FACE']):this['ctx']['disable'](this['ctx']['CULL_FACE'])),0x0==this['b3DPort'])this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x6);else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_SEMISPHERE']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_PLANET']){if(this['nSemiSpherePosNum']<=0x0)return _0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,this['nSemiSpherePosNum']);}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_SPHERE']||this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_PLANET']){if(this['nSpherePosNum']<=0x0)return _0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['bindBuffer'](this['ctx']['ELEMENT_ARRAY_BUFFER'],this['indicesPosBuffer']),this['ctx']['drawElements'](this['ctx']['TRIANGLES'],0x6*this['nSpherePosNum'],this['ctx']['UNSIGNED_SHORT'],0x0),this['ctx']['bindBuffer'](this['ctx']['ELEMENT_ARRAY_BUFFER'],null);}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']){if(this['nCylinderPosNum']<=0x0)return _0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,this['nCylinderPosNum']);}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']){if(this['nArcSpherePosNum']<=0x0)return _0x12eada['SR_ERR_CALL_ORDER'];this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,this['nArcSpherePosNum']);}}}}}return this['ctx']['useProgram'](null),_0x12eada['SR_OK'];}},{'key':'SetAntialias','value':function(_0x7fb285){return null==this['ctx']?_0x12eada['SR_ERR_CALL_ORDER']:(this['bAntialias']=_0x7fb285,_0x12eada['SR_OK']);}},{'key':'DelSubPort','value':function(){return null==this['ctx']?_0x12eada['SR_ERR_CALL_ORDER']:(0x0!=this['videoShaderProgram']&&null!=this['ctx']&&(this['ctx']['deleteProgram'](this['videoShaderProgram']),this['videoShaderProgram']=0x0),0x0!=this['vertexPosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['vertexPosBuffer']),this['vertexPosBuffer']=0x0),0x0!=this['texturePosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['texturePosBuffer']),this['texturePosBuffer']=0x0),0x0!=this['indicesPosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['indicesPosBuffer']),this['indicesPosBuffer']=0x0),this['nMaxPointNum']=0x0,this['pLinePosVertices']=null,this['pLineClrVertices']=null,0x0!=this['glLinePosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['glLinePosBuffer']),this['glLinePosBuffer']=0x0),this['nLineTriangleNum']=0x0,0x0!=this['nLineShaderProgram']&&null!=this['ctx']&&(this['ctx']['deleteProgram'](this['nLineShaderProgram']),this['nLineShaderProgram']=0x0),this['pFillBlockPosVertices']=null,this['pFillBlockClrVertices']=null,this['nMaxFillBlockTriNum']=0x0,0x0!=this['glBlockPosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['glBlockPosBuffer']),this['glBlockPosBuffer']=0x0),0x0!=this['glBlockClrBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['glBlockClrBuffer']),this['glBlockClrBuffer']=0x0),0x0!=this['nBlockShaderProgram']&&null!=this['ctx']&&(this['ctx']['deleteProgram'](this['nBlockShaderProgram']),this['nBlockShaderProgram']=0x0),this['nDrawFontWidth']=0x0,this['nDrawFontHeight']=0x0,0x0!=this['nFontColorTexture']&&null!=this['ctx']&&(this['ctx']['deleteTexture'](this['nFontColorTexture']),this['nFontColorTexture']=0x0),this['pFontColorBuffer']=0x0,0x0!=this['nFontShaderProgram']&&null!=this['ctx']&&(this['ctx']['deleteProgram'](this['nFontShaderProgram']),this['nFontShaderProgram']=0x0),this['pFontPosVertices']=null,0x0!=this['glFontTexturePosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['glFontTexturePosBuffer']),this['glFontTexturePosBuffer']=0x0),0x0!=this['glFontVertexPosBuffer']&&null!=this['ctx']&&(this['ctx']['deleteBuffer'](this['glFontVertexPosBuffer']),this['glFontVertexPosBuffer']=0x0),0x0!=this['nCaptureRTTex']&&(this['ctx']['deleteTexture'](this['nCaptureRTTex']),this['nCaptureRTTex']=0x0),0x0!=this['nCaptureFBO']&&(this['ctx']['deleteFramebuffer'](this['nCaptureFBO']),this['nCaptureFBO']=0x0),0x0!=this['nCaptureDepthbuffer']&&(this['ctx']['deleteRenderbuffer'](this['nCaptureDepthbuffer']),this['nCaptureDepthbuffer']=0x0),this['bCaptureResInit']=!0x1,this['pSemiSpherePos']=null,this['pSemiSphereTex']=null,this['nSemiSpherePosNum']=0x0,this['nSemiSpherePosSize']=0x0,this['nSemiSphereTexSize']=0x0,this['pSpherePos']=null,this['pSphereTex']=null,this['pSphereInd']=null,this['nSpherePosNum']=0x0,this['nSpherePosSize']=0x0,this['nSphereTexSize']=0x0,this['pCylinderPos']=null,this['pCylinderTex']=null,this['nCylinderPosNum']=0x0,this['nCylinderPosSize']=0x0,this['nCylinderTexSize']=0x0,this['fCylinderHeight']=0x0,this['fCylinderRadius']=0x0,this['pArcSpherePos']=null,this['pArcSphereTex']=null,this['nArcSpherePosNum']=0x0,this['nArcSpherePosSize']=0x0,this['nArcSphereTexSize']=0x0,this['b3DPort']=!0x1,this['pCamera']=null,this['fRotateX']=0x0,this['fRotateY']=0x0,this['fScale']=0x0,this['pfuncCBIn']=null,this['pfuncCBOut']=null,this['pUserIn']=null,this['pUserOut']=null,this['ctx']['disable'](this['ctx']['CULL_FACE']),this['ctx']['disable'](this['ctx']['DEPTH_TEST']),_0x12eada['SR_OK']);}},{'key':'SetFishParam','value':function(_0x1cd8bd){return null==_0x1cd8bd?_0x12eada['SR_ERR_PARAM']:(this['pstFishParam']=_0x1cd8bd,_0x12eada['SR_OK']);}},{'key':'DrawLines','value':function(_0x2d40ca,_0x1958b9,_0x431e5c,_0x4855dd,_0x3bae21,_0x583b72){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x232d85=[],_0x25a849={};return _0x25a849['pstPoints']=_0x2d40ca,_0x25a849['nPointNum']=_0x1958b9,_0x25a849['bLoop']=_0x431e5c,_0x25a849['pstColor']=_0x4855dd,_0x25a849['nLineWidth']=_0x3bae21,_0x232d85['push'](_0x25a849),this['DrawLinesEx'](_0x232d85,0x1,_0x1958b9,_0x583b72);}},{'key':'DrawLinesEx','value':function(_0x3bf92b,_0x16dff8,_0x6802f5,_0x523b92){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x3bf92b||_0x16dff8<0x1||_0x6802f5<0x2)return _0x12eada['SR_ERR_PARAM'];if(0x0==this['nLineShaderProgram']){var _0x321f8e=this['CompileProgram']('\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec3\\x20position;\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20\\x20color;\\x0a\\x20\\x20\\x20\\x20varying\\x20\\x20\\x20float\\x20\\x20pp;\\x0a\\x20\\x20\\x20\\x20varying\\x20\\x20\\x20vec4\\x20\\x20colorOut;\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20\\x20\\x20mat4\\x20\\x20\\x20matRotate;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20vec4(position.x,\\x20position.y,\\x200.0,\\x201.0)\\x20*\\x20matRotate;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20-gl_Position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20vec4(position.x,\\x20position.y,\\x200.0,\\x201.0)\\x20*\\x20matRotate;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp\\x20=\\x20position.z;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20colorOut\\x20=\\x20color;\\x0a\\x20\\x20\\x20\\x20}\\x0a',_0x46ffab);if(_0x321f8e<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['nLineShaderProgram']=_0x321f8e;}if(0x1==_0x523b92)return this['DrawFillBlock'](_0x3bf92b,_0x16dff8,_0x6802f5);for(var _0x3bafb4=0x0,_0x5e3297=0x0;_0x5e3297<_0x16dff8;++_0x5e3297){if(null==_0x3bf92b[_0x5e3297]['pstPoints']||_0x3bf92b[_0x5e3297]['nPointNum']<=0x1||_0x3bf92b[_0x5e3297]['nPointNum']>=0x400||_0x3bf92b[_0x5e3297]['nLineWidth']<=0x0||null==_0x3bf92b[_0x5e3297]['pstColor'])return _0x12eada['SR_ERR_PARAM'];_0x3bafb4+=_0x3bf92b[_0x5e3297]['nPointNum'];}if(_0x3bafb4!=_0x6802f5)return _0x12eada['SR_ERR_PARAM'];if((_0x3bafb4+=_0x16dff8)>this['nMaxPointNum']&&(this['nMaxPointNum']=_0x3bafb4,this['pLinePosVertices']=null,this['pLineClrVertices']=null),null==this['pLinePosVertices']&&(this['pLinePosVertices']=new Float32Array(0x6*this['nMaxPointNum']*0x3),null==this['pLinePosVertices']))return _0x12eada['SR_ERR_ALLOC_MEMORY'];if(this['pLinePosVertices']['fill'](0x0),null==this['pLineClrVertices']&&(this['pLineClrVertices']=new Float32Array(0x6*this['nMaxPointNum']*0x4),null==this['pLineClrVertices']))return _0x12eada['SR_ERR_ALLOC_MEMORY'];if(this['pLineClrVertices']['fill'](0x0),0x0==this['glLinePosBuffer']&&(this['glLinePosBuffer']=this['ctx']['createBuffer'](),0x0==this['glLinePosBuffer']))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(0x0==this['glLineClrBuffer']&&(this['glLineClrBuffer']=this['ctx']['createBuffer'](),0x0==this['glLineClrBuffer']))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];var _0x2fdffd=this['ComputeLinePoint'](_0x3bf92b,_0x16dff8);if(_0x12eada['SR_OK']!=_0x2fdffd)return _0x2fdffd;this['ctx']['enable'](this['ctx']['BLEND']),this['ctx']['blendFuncSeparate'](this['ctx']['SRC_ALPHA'],this['ctx']['ONE_MINUS_SRC_ALPHA'],this['ctx']['ONE'],this['ctx']['ONE_MINUS_SRC_ALPHA']);var _0x38c59d=this['nLineShaderProgram'];this['ctx']['useProgram'](_0x38c59d);var _0x36a456=this['ctx']['getUniformLocation'](this['nLineShaderProgram'],'bCapture');if(_0x36a456<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];0x1==this['bIsCapturing']?this['ctx']['uniform1i'](_0x36a456,0x1):this['ctx']['uniform1i'](_0x36a456,0x0);var _0x201606=this['glLinePosBuffer'],_0x1dd040=this['glLineClrBuffer'],_0x4e6665=this['nLineTriangleNum'],_0xd932=this['pLinePosVertices'],_0x4abcf7=this['pLineClrVertices'];this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x201606),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0xd932,this['ctx']['STATIC_DRAW']);var _0x5de6d1=this['ctx']['getAttribLocation'](_0x38c59d,'position');this['ctx']['enableVertexAttribArray'](_0x5de6d1),this['ctx']['vertexAttribPointer'](_0x5de6d1,0x3,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x1dd040),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0x4abcf7,this['ctx']['STATIC_DRAW']);var _0x2c4f3f=this['ctx']['getAttribLocation'](_0x38c59d,'color');this['ctx']['enableVertexAttribArray'](_0x2c4f3f),this['ctx']['vertexAttribPointer'](_0x2c4f3f,0x4,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null);var _0x5a40e6=this['ctx']['getUniformLocation'](_0x38c59d,'matRotate');return _0x5a40e6<=0x0?_0x12eada['SR_ERR_WEBGL_RESOURCE']:(this['ctx']['uniformMatrix4fv'](_0x5a40e6,!0x1,this['matRotate']),0x1==this['bIsCapturing']?this['ctx']['viewport'](0x0,0x0,this['nCaptureWidth'],this['nCaptureHeight']):this['ctx']['viewport'](0x0,0x0,this['nWndWidth'],this['nWndHeight']),this['ctx']['disable'](this['ctx']['DEPTH_TEST']),this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x3*_0x4e6665),this['ctx']['useProgram'](null),this['ctx']['disable'](this['ctx']['BLEND']),this['b3DPort']&&(this['ctx']['enable'](this['ctx']['DEPTH_TEST']),this['ctx']['depthFunc'](this['ctx']['LESS']),this['ctx']['depthMask'](!0x0),0x1==this['bCullBack']?this['ctx']['enable'](this['ctx']['CULL_FACE']):this['ctx']['disable'](this['ctx']['CULL_FACE'])),_0x12eada['SR_OK']);}},{'key':'DrawFillBlock','value':function(_0x2b5d53,_0x18cf58,_0x1d355c){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x2b5d53||_0x18cf58<0x1||_0x1d355c<0x2)return _0x12eada['SR_ERR_PARAM'];for(var _0x3d520c=0x0,_0x3dd075=0x0;_0x3dd075<_0x18cf58;++_0x3dd075){if(null==_0x2b5d53[_0x3dd075]['pstPoints']||_0x2b5d53[_0x3dd075]['nPointNum']<0x3||0x1!=_0x2b5d53[_0x3dd075]['bLoop']||null==_0x2b5d53[_0x3dd075]['pstColor'])return _0x12eada['SR_ERR_PARAM'];_0x3d520c+=_0x2b5d53[_0x3dd075]['nPointNum'];}if(_0x3d520c!==_0x1d355c)return _0x12eada['SR_ERR_PARAM'];var _0x495f52=_0x1d355c-0x2*_0x18cf58;if(_0x495f52>this['nMaxFillBlockTriNum']&&(this['pFillBlockPosVertices']=null,this['pFillBlockClrVertices']=null,this['nMaxFillBlockTriNum']=_0x495f52),0x0==this['glBlockPosBuffer']&&(this['glBlockPosBuffer']=this['ctx']['createBuffer'](),0x0==this['glBlockPosBuffer']))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(0x0==this['glBlockClrBuffer']&&(this['glBlockClrBuffer']=this['ctx']['createBuffer'](),0x0==this['glBlockClrBuffer']))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(null==this['pFillBlockPosVertices']){var _0x171602=this['nMaxFillBlockTriNum'];if(this['pFillBlockPosVertices']=new Float32Array(0x3*_0x171602*0x3),null==this['pFillBlockPosVertices'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];}if(this['pFillBlockPosVertices']['fill'](0x0),null==this['pFillBlockClrVertices']){var _0x2fcc7a=this['nMaxFillBlockTriNum'];if(this['pFillBlockClrVertices']=new Float32Array(0x4*_0x2fcc7a*0x3),null==this['pFillBlockClrVertices'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];}this['pFillBlockClrVertices']['fill'](0x0);for(var _0x526c1f=0x0,_0x16bf06=0x0,_0x215378=0x0,_0x2d96b0=null,_0x3b7e34=null,_0x48f5bb={},_0x4b65a1={},_0x35a9e2={},_0x174620=0x0;_0x174620<_0x18cf58;++_0x174620){_0x215378=_0x2b5d53[_0x174620]['nPointNum'],_0x2d96b0=_0x2b5d53[_0x174620]['pstPoints'],_0x3b7e34=_0x2b5d53[_0x174620]['pstColor'],_0x48f5bb['fX']=(_0x2d96b0[0x0]['fX']-this['fSrcUseLeft'])/(this['fSrcUseRight']-this['fSrcUseLeft']),_0x48f5bb['fX']=this['fDstUseLeft']+_0x48f5bb['fX']*(this['fDstUseRight']-this['fDstUseLeft']),_0x48f5bb['fX']=0x2*_0x48f5bb['fX']-0x1,_0x48f5bb['fY']=(_0x2d96b0[0x0]['fY']-this['fSrcUseTop'])/(this['fSrcUseBottom']-this['fSrcUseTop']),_0x48f5bb['fY']=this['fDstUseTop']+_0x48f5bb['fY']*(this['fDstUseBottom']-this['fDstUseTop']),_0x48f5bb['fY']=0x1-0x2*_0x48f5bb['fY'];for(var _0x5974ba=0x1;_0x5974ba<_0x215378-0x1;_0x5974ba++)_0x4b65a1['fX']=(_0x2d96b0[_0x5974ba]['fX']-this['fSrcUseLeft'])/(this['fSrcUseRight']-this['fSrcUseLeft']),_0x4b65a1['fX']=this['fDstUseLeft']+_0x4b65a1['fX']*(this['fDstUseRight']-this['fDstUseLeft']),_0x4b65a1['fX']=0x2*_0x4b65a1['fX']-0x1,_0x4b65a1['fY']=(_0x2d96b0[_0x5974ba]['fY']-this['fSrcUseTop'])/(this['fSrcUseBottom']-this['fSrcUseTop']),_0x4b65a1['fY']=this['fDstUseTop']+_0x4b65a1['fY']*(this['fDstUseBottom']-this['fDstUseTop']),_0x4b65a1['fY']=0x1-0x2*_0x4b65a1['fY'],_0x35a9e2['fX']=(_0x2d96b0[_0x5974ba+0x1]['fX']-this['fSrcUseLeft'])/(this['fSrcUseRight']-this['fSrcUseLeft']),_0x35a9e2['fX']=this['fDstUseLeft']+_0x35a9e2['fX']*(this['fDstUseRight']-this['fDstUseLeft']),_0x35a9e2['fX']=0x2*_0x35a9e2['fX']-0x1,_0x35a9e2['fY']=(_0x2d96b0[_0x5974ba+0x1]['fY']-this['fSrcUseTop'])/(this['fSrcUseBottom']-this['fSrcUseTop']),_0x35a9e2['fY']=this['fDstUseTop']+_0x35a9e2['fY']*(this['fDstUseBottom']-this['fDstUseTop']),_0x35a9e2['fY']=0x1-0x2*_0x35a9e2['fY'],this['pFillBlockPosVertices'][_0x526c1f++]=_0x48f5bb['fX'],this['pFillBlockPosVertices'][_0x526c1f++]=_0x48f5bb['fY'],this['pFillBlockPosVertices'][_0x526c1f++]=0x0,this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fR'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fG'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fB'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fA'],this['pFillBlockPosVertices'][_0x526c1f++]=_0x4b65a1['fX'],this['pFillBlockPosVertices'][_0x526c1f++]=_0x4b65a1['fY'],this['pFillBlockPosVertices'][_0x526c1f++]=0x0,this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fR'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fG'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fB'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fA'],this['pFillBlockPosVertices'][_0x526c1f++]=_0x35a9e2['fX'],this['pFillBlockPosVertices'][_0x526c1f++]=_0x35a9e2['fY'],this['pFillBlockPosVertices'][_0x526c1f++]=0x0,this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fR'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fG'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fB'],this['pFillBlockClrVertices'][_0x16bf06++]=_0x3b7e34['fA'];}if(0x0==this['nBlockShaderProgram']&&(this['nBlockShaderProgram']=this['CompileProgram']('\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec3\\x20position;\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20\\x20color;\\x0a\\x20\\x20\\x20\\x20varying\\x20\\x20\\x20float\\x20\\x20pp;\\x0a\\x20\\x20\\x20\\x20varying\\x20\\x20\\x20vec4\\x20\\x20colorOut;\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20vec4(position.x,\\x20position.y,\\x200.0,\\x201.0);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20-gl_Position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20vec4(position.x,\\x20position.y,\\x200.0,\\x201.0);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp\\x20=\\x20position.z;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20colorOut\\x20=\\x20color;\\x0a\\x20\\x20\\x20\\x20}\\x0a',_0x46ffab),this['nBlockShaderProgram']<=0x0))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['enable'](this['ctx']['BLEND']),this['ctx']['blendFuncSeparate'](this['ctx']['SRC_ALPHA'],this['ctx']['ONE_MINUS_SRC_ALPHA'],this['ctx']['ONE'],this['ctx']['ONE_MINUS_SRC_ALPHA']),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glBlockPosBuffer']),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],this['pFillBlockPosVertices'],this['ctx']['STATIC_DRAW']),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glBlockClrBuffer']),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],this['pFillBlockClrVertices'],this['ctx']['STATIC_DRAW']),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['useProgram'](this['nBlockShaderProgram']);var _0x1d1398=this['ctx']['getUniformLocation'](this['nBlockShaderProgram'],'bCapture');if(_0x1d1398<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];0x1==this['bIsCapturing']?this['ctx']['uniform1i'](_0x1d1398,0x1):this['ctx']['uniform1i'](_0x1d1398,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glBlockPosBuffer']);var _0x2b28b1=this['ctx']['getAttribLocation'](this['nBlockShaderProgram'],'position');this['ctx']['enableVertexAttribArray'](_0x2b28b1),this['ctx']['vertexAttribPointer'](_0x2b28b1,0x3,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glBlockClrBuffer']);var _0x102c03=this['ctx']['getAttribLocation'](this['nBlockShaderProgram'],'color');return this['ctx']['enableVertexAttribArray'](_0x102c03),this['ctx']['vertexAttribPointer'](_0x102c03,0x4,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x3*_0x495f52),this['ctx']['useProgram'](null),this['ctx']['disable'](this['ctx']['BLEND']),_0x12eada['SR_OK'];}},{'key':'ComputeLinePoint','value':function(_0x73c080,_0x589195){if(null==_0x73c080||_0x589195<0x1)return _0x12eada['SR_ERR_PARAM'];if(null==this['pLinePosVertices']||null==this['pLineClrVertices'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x4599bb=0x0,_0x3f165=0x0;0x1==this['bIsCapturing']?(_0x4599bb=(this['fDstUseRight']-this['fDstUseLeft'])*this['nCaptureWidth'],_0x3f165=(this['fDstUseBottom']-this['fDstUseTop'])*this['nCaptureHeight']):(_0x4599bb=(this['fDstUseRight']-this['fDstUseLeft'])*this['nWndWidth'],_0x3f165=(this['fDstUseBottom']-this['fDstUseTop'])*this['nWndHeight']);for(var _0x205895=0x0,_0x3dd7fe=0x0,_0x285ae6=0x0,_0x2d828c=0x0,_0x18b7ea=0x0,_0x571d74=0x0,_0x12d40b=0x0,_0x294edf=0x0,_0x1da81e=0x0,_0x45ce60=0x0,_0x1498be=0x0,_0x1bccef=0x0;_0x1bccef<_0x589195;++_0x1bccef){var _0x3122e7=[];if(!((_0x1498be=_0x73c080[_0x1bccef]['nPointNum'])<=0x0)){for(var _0x114d02=0x0;_0x114d02<_0x1498be;++_0x114d02){var _0x3c13a6={};_0x3c13a6['fX']=(_0x73c080[_0x1bccef]['pstPoints'][_0x114d02]['fX']-this['fSrcUseLeft'])/(this['fSrcUseRight']-this['fSrcUseLeft']),_0x3c13a6['fX']=this['fDstUseLeft']+_0x3c13a6['fX']*(this['fDstUseRight']-this['fDstUseLeft']),_0x3c13a6['fX']=0x2*_0x3c13a6['fX']-0x1,_0x3c13a6['fY']=(_0x73c080[_0x1bccef]['pstPoints'][_0x114d02]['fY']-this['fSrcUseTop'])/(this['fSrcUseBottom']-this['fSrcUseTop']),_0x3c13a6['fY']=this['fDstUseTop']+_0x3c13a6['fY']*(this['fDstUseBottom']-this['fDstUseTop']),_0x3c13a6['fY']=0x1-0x2*_0x3c13a6['fY'],_0x3122e7['push'](_0x3c13a6);}if(this['nWndWidth']<=0x0||this['nWndHeight']<=0x0)return _0x12eada['SR_ERR_CANVAS'];if(_0x571d74=3.5*_0x73c080[_0x1bccef]['nLineWidth']/_0x4599bb,_0x12d40b=3.5*_0x73c080[_0x1bccef]['nLineWidth']/_0x3f165,_0x571d74<=0x0||_0x12d40b<=0x0)return _0x12eada['SR_ERR_PARAM'];var _0xad0d2d=_0x73c080[_0x1bccef]['pstColor'];if(null==_0xad0d2d||null==_0xad0d2d)return _0x12eada['SR_ERR_PARAM'];for(var _0x591b45=0x0;_0x591b45<_0x1498be-0x1;++_0x591b45)_0x3dd7fe=_0x3122e7[_0x591b45+0x1]['fX']-_0x3122e7[_0x591b45]['fX'],_0x285ae6=_0x3122e7[_0x591b45+0x1]['fY']-_0x3122e7[_0x591b45]['fY'],_0x205895=Math['sqrt'](_0x3dd7fe*_0x3dd7fe+_0x285ae6*_0x285ae6),Math['abs'](_0x205895-0x0)<0.000001||(_0x2d828c=-_0x571d74*_0x285ae6/_0x205895/0x2,_0x18b7ea=_0x12d40b*_0x3dd7fe/_0x205895/0x2,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45]['fX']+_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45]['fY']+_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=-0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45+0x1]['fX']-_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45+0x1]['fY']-_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45]['fX']-_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45]['fY']-_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45]['fX']+_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45]['fY']+_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=-0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45+0x1]['fX']+_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45+0x1]['fY']+_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=-0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45+0x1]['fX']-_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x591b45+0x1]['fY']-_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],_0x294edf+=0x2);0x1==_0x73c080[_0x1bccef]['bLoop']&&0x2<_0x1498be&&(_0x3dd7fe=_0x3122e7[_0x1498be-0x1]['fX']-_0x3122e7[0x0]['fX'],_0x285ae6=_0x3122e7[_0x1498be-0x1]['fY']-_0x3122e7[0x0]['fY'],_0x205895=Math['sqrt'](_0x3dd7fe*_0x3dd7fe+_0x285ae6*_0x285ae6),Math['abs'](_0x205895-0x0)>0.000001&&(_0x2d828c=-_0x571d74*_0x285ae6/_0x205895/0x2,_0x18b7ea=_0x12d40b*_0x3dd7fe/_0x205895/0x2,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[0x0]['fX']+_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[0x0]['fY']+_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=-0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x1498be-0x1]['fX']-_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x1498be-0x1]['fY']-_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[0x0]['fX']-_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[0x0]['fY']-_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[0x0]['fX']+_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[0x0]['fY']+_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=-0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x1498be-0x1]['fX']+_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x1498be-0x1]['fY']+_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=-0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x1498be-0x1]['fX']-_0x2d828c,this['pLinePosVertices'][_0x1da81e++]=_0x3122e7[_0x1498be-0x1]['fY']-_0x18b7ea,this['pLinePosVertices'][_0x1da81e++]=0x1,this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fR'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fG'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fB'],this['pLineClrVertices'][_0x45ce60++]=_0xad0d2d['fA'],_0x294edf+=0x2));}}return 0x0==_0x294edf?_0x12eada['SR_ERR_PARAM']:(this['nLineTriangleNum']=_0x294edf,_0x12eada['SR_OK']);}},{'key':'DrawFont','value':function(_0xf4791f,_0x2f32a7,_0x15b1a8,_0x2f6797,_0x1f2b5a,_0x42046f,_0x296904,_0x2a8f6a,_0x462b69,_0xe1ec99,_0x46cf09){return _0x12eada['SR_ERR_NOT_SUPPORT'];}},{'key':'DrawFontEx','value':function(_0x7f2828,_0x4c0be0){var _0x4e9245=arguments['length']>0x2&&void 0x0!==arguments[0x2]?arguments[0x2]:0x0,_0xbfb534=arguments['length']>0x3?arguments[0x3]:void 0x0;if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(0x0>_0x4c0be0||null==_0x7f2828)return _0x12eada['SR_ERR_PARAM'];var _0x2fdfcc,_0x1a6f3a,_0x2ac3e8=0x0,_0x6bba28=0x0;if(0x1==this['bIsCapturing']){if(0x0==this['nCaptureWidth']||0x0==this['nCaptureHeight'])return _0x12eada['SR_ERR_CALL_ORDER'];_0x2ac3e8=Math['round']((this['fDstUseRight']-this['fDstUseLeft'])*this['nCaptureWidth']),_0x6bba28=Math['round']((this['fDstUseBottom']-this['fDstUseTop'])*this['nCaptureHeight']);}else _0x2ac3e8=Math['round']((this['fDstUseRight']-this['fDstUseLeft'])*this['nWndWidth']),_0x6bba28=Math['round']((this['fDstUseBottom']-this['fDstUseTop'])*this['nWndHeight']);if(this['nDrawFontWidth']==_0x2ac3e8&&this['nDrawFontHeight']==_0x6bba28||(this['pFontColorBuffer']=null,this['nFontColorTexture']=0x0,this['nDrawFontWidth']=_0x2ac3e8,this['nDrawFontHeight']=_0x6bba28),0x0==this['nFontColorTexture']){if(this['nFontColorTexture']=this['ctx']['createTexture'](),0x0==this['nFontColorTexture'])return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nFontColorTexture']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']);}if(null==this['textCanvas']){if(this['textCanvas']=_0xbfb534,null==this['textCanvas'])return _0x12eada['SR_ERR_FONT'];if(this['textCanvasCtx']=this['textCanvas']['getContext']('2d'),null==this['textCanvasCtx'])return _0x12eada['SR_ERR_FONT'];}this['textCanvasCtx']['canvas']['width']=this['nDrawFontWidth'],this['textCanvasCtx']['canvas']['height']=this['nDrawFontHeight'],this['textCanvasCtx']['clearRect'](0x0,0x0,this['nDrawFontWidth'],this['nDrawFontHeight']);for(var _0x4a6391=0x0;_0x4a6391<_0x4c0be0;++_0x4a6391){var _0x56289a=_0x7f2828[_0x4a6391]['nFontWidth'],_0x3b453b=_0x7f2828[_0x4a6391]['nFontHeight'];0x1==this['bIsCapturing']&&(_0x56289a=Math['round'](this['nCaptureWidth']/this['nWndWidth']*_0x56289a),_0x3b453b=Math['round'](this['nCaptureHeight']/this['nWndHeight']*_0x3b453b));var _0x46fa07=_0x56289a<_0x3b453b?_0x56289a:_0x3b453b;this['textCanvasCtx']['font']=''['concat'](_0x46fa07,'px\\x20')['concat'](_0x7f2828[_0x4a6391]['pFontFamily']),this['textCanvasCtx']['textAlign']=_0x7f2828[_0x4a6391]['textAlign']||'left',this['textCanvasCtx']['textBaseline']=_0x7f2828[_0x4a6391]['textBaseline']||'top',this['textCanvasCtx']['save']();var _0x4db746=_0x7f2828[_0x4a6391]['pstStartPos']['fX']*this['nDrawFontWidth'],_0x3e6b14=_0x7f2828[_0x4a6391]['pstStartPos']['fY']*this['nDrawFontHeight'];if(this['textCanvasCtx']['translate'](_0x4db746,_0x3e6b14),this['textCanvasCtx']['rotate'](_0x7f2828[_0x4a6391]['fRotateAngle']*Math['PI']/0xb4),_0x7f2828[_0x4a6391]['bBackGround']){var _0xfdf62c=_0x7f2828[_0x4a6391]['pstStartPos']['fX'],_0x5b8269=_0x7f2828[_0x4a6391]['pstStartPos']['fY'],_0x5bd070=this['textCanvasCtx']['measureText'](_0x7f2828[_0x4a6391]['pString'])['width'],_0x38aec1=_0x46fa07;switch(this['textCanvasCtx']['textAlign']){case'center':_0xfdf62c-=_0x5bd070/0x2;break;case'right':case'end':_0xfdf62c-=_0x5bd070;}switch(this['textCanvasCtx']['textBaseline']){case'top':case'hanging':break;case'middle':_0x5b8269-=_0x38aec1/0x2;break;default:_0x5b8269-=_0x38aec1;}var _0x1580ee=_0x7f2828[_0x4a6391]['pstBGColor'];this['textCanvasCtx']['fillStyle']='rgb('['concat'](0xff*_0x1580ee['fR'],',\\x20')['concat'](0xff*_0x1580ee['fG'],',\\x20')['concat'](0xff*_0x1580ee['fB'],')'),this['textCanvasCtx']['globalAlpha']=_0x1580ee['fA'],this['textCanvasCtx']['fillRect'](_0xfdf62c,_0x5b8269,_0x5bd070,_0x38aec1);}var _0x14605a=_0x7f2828[_0x4a6391]['pstFontColor'];this['textCanvasCtx']['fillStyle']='rgb('['concat'](0xff*_0x14605a['fR'],',\\x20')['concat'](0xff*_0x14605a['fG'],',\\x20')['concat'](0xff*_0x14605a['fB'],')'),this['textCanvasCtx']['globalAlpha']=_0x7f2828[_0x4a6391]['pstFontColor']['fA'],this['textCanvasCtx']['fillText'](_0x7f2828[_0x4a6391]['pString'],0x0,0x0),this['textCanvasCtx']['restore']();}if(this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nFontColorTexture']),this['ctx']['texImage2D'](this['ctx']['TEXTURE_2D'],0x0,this['ctx']['RGBA'],this['ctx']['RGBA'],this['ctx']['UNSIGNED_BYTE'],this['textCanvasCtx']['canvas']),0x0==this['nFontShaderProgram']&&(this['nFontShaderProgram']=this['CompileProgram'](_0x1e683e,_0x3bc606),this['nFontShaderProgram']<=0x0))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(0x1==this['bIsCapturing']?(_0x2fdfcc=this['nCaptureWidth'],_0x1a6f3a=this['nCaptureHeight']):(_0x2fdfcc=this['nWndWidth'],_0x1a6f3a=this['nWndHeight']),0x1==_0x4e9245){if(0x0==this['glFontVertexPosBuffer']){var _0x234ec6=new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0]),_0x497915=this['ctx']['createBuffer']();this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x497915),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0x234ec6,this['ctx']['STATIC_DRAW']),this['glFontVertexPosBuffer']=_0x497915,_0x234ec6=0x0;}if(0x0==this['glFontTexturePosBuffer']){var _0x40bc9d=new Float32Array([0x0,0x1,0x1,0x1,0x1,0x0,0x0,0x0]),_0x877652=this['ctx']['createBuffer']();this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x877652),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0x40bc9d,this['ctx']['STATIC_DRAW']),this['glFontTexturePosBuffer']=_0x877652,_0x40bc9d=0x0;}}this['ctx']['viewport'](0x0,0x0,_0x2fdfcc,_0x1a6f3a),this['ctx']['enable'](this['ctx']['BLEND']),this['ctx']['blendFuncSeparate'](this['ctx']['SRC_ALPHA'],this['ctx']['ONE_MINUS_SRC_ALPHA'],this['ctx']['ONE'],this['ctx']['ONE_MINUS_SRC_ALPHA']),this['ctx']['useProgram'](this['nFontShaderProgram']);var _0x4f76ad=this['ctx']['getUniformLocation'](this['nFontShaderProgram'],'bCapture');if(_0x4f76ad<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];0x1==this['bIsCapturing']?this['ctx']['uniform1i'](_0x4f76ad,0x1):this['ctx']['uniform1i'](_0x4f76ad,0x0),this['ctx']['activeTexture'](this['ctx']['TEXTURE0']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nFontColorTexture']);var _0x3937f8=this['ctx']['getUniformLocation'](this['nFontShaderProgram'],'texture');this['ctx']['uniform1i'](_0x3937f8,0x0);var _0x5b6488=_0x43ac42(),_0x32e7ab=_0x43ac42(),_0x2ec702=_0x43ac42();_0x1bc788(_0x2ec702,_0x5b6488,_0x32e7ab);var _0x5ad99f=this['ctx']['getUniformLocation'](this['nFontShaderProgram'],'matRotate');if(_0x5ad99f<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0x5ad99f,!0x1,_0x2ec702),0x1==_0x4e9245?this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glFontVertexPosBuffer']):this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['vertexPosBuffer']);var _0x27b001=this['ctx']['getAttribLocation'](this['nFontShaderProgram'],'position');this['ctx']['enableVertexAttribArray'](_0x27b001),0x1==_0x4e9245?this['ctx']['vertexAttribPointer'](_0x27b001,0x3,this['ctx']['FLOAT'],!0x1,0x0,0x0):this['ctx']['vertexAttribPointer'](_0x27b001,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),0x1==_0x4e9245?this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glFontTexturePosBuffer']):this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['texturePosBuffer']);var _0x52d814=this['ctx']['getAttribLocation'](this['nFontShaderProgram'],'texCoord');return this['ctx']['enableVertexAttribArray'](_0x52d814),this['ctx']['vertexAttribPointer'](_0x52d814,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['disable'](this['ctx']['DEPTH_TEST']),0x1==_0x4e9245?this['ctx']['drawArrays'](this['ctx']['TRIANGLE_FAN'],0x0,0x4):this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x6),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],null),this['ctx']['useProgram'](null),this['ctx']['disable'](this['ctx']['BLEND']),this['b3DPort']&&(this['ctx']['enable'](this['ctx']['DEPTH_TEST']),this['ctx']['depthFunc'](this['ctx']['LESS']),this['ctx']['depthMask'](!0x0),0x1==this['bCullBack']?this['ctx']['enable'](this['ctx']['CULL_FACE']):this['ctx']['disable'](this['ctx']['CULL_FACE'])),_0x12eada['SR_OK'];}},{'key':'DrawImage','value':function(_0x2482df,_0x31dc92,_0x3f2762,_0x1c0520,_0x3f795d,_0x2eef72){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x2482df||_0x31dc92<=0x0||_0x3f2762<=0x0||null==_0x1c0520||_0x2eef72<0x0||_0x2eef72>0x1)return _0x12eada['SR_ERR_PARAM'];if(this['nDrawImageWidth']=_0x31dc92,this['nDrawImageHeight']=_0x3f2762,0x0==this['glImagePosBuffer']&&(this['glImagePosBuffer']=this['ctx']['createBuffer'](),0x0==this['glImagePosBuffer']))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(0x0==this['glImageClrBuffer']&&(this['glImageClrBuffer']=this['ctx']['createBuffer'](),0x0==this['glImageClrBuffer']))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(null==this['pImageClrVertices']){if(this['pImageClrVertices']=new Float32Array(0xc),null==this['pImageClrVertices'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pImageClrVertices'][0x0]=0x0,this['pImageClrVertices'][0x1]=0x0,this['pImageClrVertices'][0x2]=0x0,this['pImageClrVertices'][0x3]=0x1,this['pImageClrVertices'][0x4]=0x1,this['pImageClrVertices'][0x5]=0x0,this['pImageClrVertices'][0x6]=0x1,this['pImageClrVertices'][0x7]=0x0,this['pImageClrVertices'][0x8]=0x0,this['pImageClrVertices'][0x9]=0x1,this['pImageClrVertices'][0xa]=0x1,this['pImageClrVertices'][0xb]=0x1;}var _0x41f48b={},_0x24645a={};if(_0x41f48b['fLeft']=(_0x1c0520['fLeft']-this['fSrcUseLeft'])/(this['fSrcUseRight']-this['fSrcUseLeft']),_0x41f48b['fRight']=(_0x1c0520['fRight']-this['fSrcUseLeft'])/(this['fSrcUseRight']-this['fSrcUseLeft']),_0x41f48b['fTop']=(_0x1c0520['fTop']-this['fSrcUseTop'])/(this['fSrcUseBottom']-this['fSrcUseTop']),_0x41f48b['fBottom']=(_0x1c0520['fBottom']-this['fSrcUseTop'])/(this['fSrcUseBottom']-this['fSrcUseTop']),_0x24645a['fLeft']=this['fDstUseLeft']+_0x41f48b['fLeft']*(this['fDstUseRight']-this['fDstUseLeft']),_0x24645a['fRight']=this['fDstUseLeft']+_0x41f48b['fRight']*(this['fDstUseRight']-this['fDstUseLeft']),_0x24645a['fTop']=this['fDstUseTop']+_0x41f48b['fTop']*(this['fDstUseBottom']-this['fDstUseTop']),_0x24645a['fBottom']=this['fDstUseTop']+_0x41f48b['fBottom']*(this['fDstUseBottom']-this['fDstUseTop']),null==this['pImagePosVertices']&&(this['pImagePosVertices']=new Float32Array(0xc),null==this['pImagePosVertices']))return _0x12eada['SR_ERR_ALLOC_MEMORY'];switch(this['pImagePosVertices']['fill'](0x0),this['pImagePosVertices'][0x0]=0x2*_0x24645a['fLeft']-0x1,this['pImagePosVertices'][0x1]=0x1-0x2*_0x24645a['fTop'],this['pImagePosVertices'][0x2]=0x2*_0x24645a['fLeft']-0x1,this['pImagePosVertices'][0x3]=0x1-0x2*_0x24645a['fBottom'],this['pImagePosVertices'][0x4]=0x2*_0x24645a['fRight']-0x1,this['pImagePosVertices'][0x5]=0x1-0x2*_0x24645a['fTop'],this['pImagePosVertices'][0x6]=0x2*_0x24645a['fRight']-0x1,this['pImagePosVertices'][0x7]=0x1-0x2*_0x24645a['fTop'],this['pImagePosVertices'][0x8]=0x2*_0x24645a['fLeft']-0x1,this['pImagePosVertices'][0x9]=0x1-0x2*_0x24645a['fBottom'],this['pImagePosVertices'][0xa]=0x2*_0x24645a['fRight']-0x1,this['pImagePosVertices'][0xb]=0x1-0x2*_0x24645a['fBottom'],0x1==this['bIsCapturing']?this['ctx']['viewport'](0x0,0x0,this['nCaptureWidth'],this['nCaptureHeight']):this['ctx']['viewport'](0x0,0x0,this['nWndWidth'],this['nWndHeight']),this['ctx']['enable'](this['ctx']['BLEND']),this['ctx']['blendFuncSeparate'](this['ctx']['SRC_ALPHA'],this['ctx']['ONE_MINUS_SRC_ALPHA'],this['ctx']['ONE'],this['ctx']['ONE_MINUS_SRC_ALPHA']),_0x3f795d){case _0x459b97['SR_PF_SURFACE']:if(null==this['nImageColorTexture']){if(this['nImageColorTexture']=this['ctx']['createTexture'](),0x0==this['nImageColorTexture'])return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']);}this['ctx']['useProgram'](this['videoShaderProgram']),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['vertexPosBuffer']);var _0x29ee90=this['ctx']['getAttribLocation'](this['videoShaderProgram'],'position');if(_0x29ee90<0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['vertexAttribPointer'](_0x29ee90,0x3,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x29ee90),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['texturePosBuffer']);var _0x4043ed=this['ctx']['getAttribLocation'](this['videoShaderProgram'],'texCoord');if(_0x4043ed<0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['vertexAttribPointer'](_0x4043ed,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x4043ed),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['useProgram'](null),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']),this['ctx']['texImage2D'](this['ctx']['TEXTURE_2D'],0x0,this['ctx']['RGBA'],this['nDrawImageWidth'],this['nDrawImageHeight'],0x0,this['ctx']['RGBA'],this['ctx']['UNSIGNED_BYTE'],_0x2482df),0x0==this['nImageShaderProgram']){var _0x18fbe3=this['CompileProgram'](_0x235883,_0x30cc3b);if(_0x18fbe3<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['nImageShaderProgram']=_0x18fbe3;}break;case _0x459b97['SR_PF_RGBA32']:if(null==this['nImageColorTexture']){if(this['nImageColorTexture']=this['ctx']['createTexture'](),0x0==this['nImageColorTexture'])return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']);}if(this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']),this['ctx']['texImage2D'](this['ctx']['TEXTURE_2D'],0x0,this['ctx']['RGBA'],this['nDrawImageWidth'],this['nDrawImageHeight'],0x0,this['ctx']['RGBA'],this['ctx']['UNSIGNED_BYTE'],_0x2482df),0x0==this['nImageShaderProgram']){var _0x41a230=this['CompileProgram'](_0x235883,_0x30cc3b);if(_0x41a230<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['nImageShaderProgram']=_0x41a230;}break;case _0x459b97['SR_PF_RGB565']:if(null==this['nImageColorTexture']){if(this['nImageColorTexture']=this['ctx']['createTexture'](),0x0==this['nImageColorTexture'])return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']);}if(this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']),this['ctx']['texImage2D'](this['ctx']['TEXTURE_2D'],0x0,this['ctx']['RGB'],this['nDrawImageWidth'],this['nDrawImageHeight'],0x0,this['ctx']['RGB'],this['ctx']['UNSIGNED_SHORT_5_6_5'],_0x2482df),0x0==this['nImageShaderProgram']){var _0x531ab9=this['CompileProgram'](_0x235883,'\\x0a\\x20\\x20\\x20\\x20precision\\x20mediump\\x20float;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20texture;\\x20\\x0a\\x20\\x20\\x20\\x20varying\\x20lowp\\x20vec4\\x20pp;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fAlpha;\\x0a\\x20\\x20\\x20\\x20void\\x20main(void)\\x20\\x0a\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20texture2D(texture,\\x20pp.st);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor.a\\x20*=\\x20fAlpha;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a');if(_0x531ab9<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['nImageShaderProgram']=_0x531ab9;}break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}var _0xc3f37a=this['nImageShaderProgram'];this['ctx']['useProgram'](_0xc3f37a);var _0x331fca=this['ctx']['getUniformLocation'](this['nImageShaderProgram'],'bCapture');if(_0x331fca<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];0x1==this['bIsCapturing']?this['ctx']['uniform1i'](_0x331fca,0x1):this['ctx']['uniform1i'](_0x331fca,0x0),this['ctx']['activeTexture'](this['ctx']['TEXTURE0']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nImageColorTexture']);var _0x40744e=this['ctx']['getUniformLocation'](this['nImageShaderProgram'],'texture');this['ctx']['uniform1i'](_0x40744e,0x0),_0x40744e=this['ctx']['getUniformLocation'](this['nImageShaderProgram'],'fAlpha'),this['ctx']['uniform1f'](_0x40744e,_0x2eef72);var _0xa01475=this['ctx']['getUniformLocation'](this['nImageShaderProgram'],'matRotate');if(_0xa01475<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniformMatrix4fv'](_0xa01475,!0x1,this['matRotate']),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glImagePosBuffer']),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],this['pImagePosVertices'],this['ctx']['STATIC_DRAW']);var _0x4956be=this['ctx']['getAttribLocation'](this['nImageShaderProgram'],'position');this['ctx']['enableVertexAttribArray'](_0x4956be),this['ctx']['vertexAttribPointer'](_0x4956be,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['glImageClrBuffer']),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],this['pImageClrVertices'],this['ctx']['STATIC_DRAW']);var _0x33705e=this['ctx']['getAttribLocation'](this['nImageShaderProgram'],'texCoord');return this['ctx']['enableVertexAttribArray'](_0x33705e),this['ctx']['vertexAttribPointer'](_0x33705e,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['disable'](this['ctx']['DEPTH_TEST']),this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x6),this['ctx']['useProgram'](null),this['ctx']['disable'](this['ctx']['BLEND']),this['b3DPort']&&(this['ctx']['enable'](this['ctx']['DEPTH_TEST']),this['ctx']['depthFunc'](this['ctx']['LESS']),this['ctx']['depthMask'](!0x0),0x1==this['bCullBack']?this['ctx']['enable'](this['ctx']['CULL_FACE']):this['ctx']['disable'](this['ctx']['CULL_FACE'])),_0x12eada['SR_OK'];}},{'key':'DrawMosaic','value':function(_0x34ae85,_0x3f3513,_0x41acb8,_0x1f4a27,_0x3e0865){if(_0x34ae85<0x0||_0x3f3513<0x0||_0x41acb8<0x0||_0x1f4a27<0x0||_0x34ae85>0x1||_0x3f3513>0x1||_0x41acb8>0x1||_0x1f4a27>0x1||_0x3e0865<=0x0)return _0x12eada['SR_ERR_PARAM'];if(0x0==this['nMosaicShaderProgram']){var _0x389a31=this['CompileProgram']('\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20position;\\x20\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20\\x20out_texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x20\\x0a\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20\\x20=\\x20position;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20\\x20-gl_Position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20out_texCoord\\x20=\\x20texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a','\\x0a\\x20\\x20\\x20\\x20varying\\x20lowp\\x20vec4\\x20out_texCoord;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20texture;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20videoWidth;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20videoHeight;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20mosaicSize;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20left;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20right;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20top;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20bottom;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main(void)\\x20\\x0a\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20lowp\\x20vec2\\x20uv;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv.x\\x20=\\x20floor(out_texCoord.x\\x20*\\x20videoWidth\\x20/\\x20mosaicSize)\\x20*\\x20mosaicSize\\x20/\\x20videoWidth;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv.y\\x20=\\x20floor(out_texCoord.y\\x20*\\x20videoHeight\\x20/\\x20mosaicSize)\\x20*\\x20mosaicSize\\x20/\\x20videoHeight;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20texture2D(texture,\\x20uv);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(out_texCoord.x\\x20<\\x20left\\x20||\\x20out_texCoord.x\\x20>\\x20right\\x20||\\x20out_texCoord.y\\x20<\\x20top\\x20||\\x20out_texCoord.y\\x20>\\x20bottom)\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor.a\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor.a\\x20=\\x201.0;\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x20\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a');if(_0x389a31<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['nMosaicShaderProgram']=_0x389a31;}this['ctx']['viewport'](0x0,0x0,this['nWndWidth'],this['nWndHeight']),this['ctx']['enable'](this['ctx']['BLEND']),this['ctx']['blendFuncSeparate'](this['ctx']['SRC_ALPHA'],this['ctx']['ONE_MINUS_SRC_ALPHA'],this['ctx']['ONE'],this['ctx']['ONE_MINUS_SRC_ALPHA']);var _0x4fe7db=this['nMosaicShaderProgram'];this['ctx']['useProgram'](_0x4fe7db);var _0x19aeb7=this['ctx']['getUniformLocation'](_0x4fe7db,'bCapture');if(_0x19aeb7<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];0x1==this['bIsCapturing']?this['ctx']['uniform1i'](_0x19aeb7,0x1):this['ctx']['uniform1i'](_0x19aeb7,0x0),this['ctx']['activeTexture'](this['ctx']['TEXTURE0']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nSurfaceTexture'][0x0]);var _0x2cfb55=this['ctx']['getUniformLocation'](_0x4fe7db,'texture');this['ctx']['uniform1i'](_0x2cfb55,0x0);var _0x4602bb=this['ctx']['getUniformLocation'](_0x4fe7db,'videoWidth');if(_0x4602bb<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x4602bb,this['frameDisplayWidth']);var _0x4c7178=this['ctx']['getUniformLocation'](_0x4fe7db,'videoHeight');if(_0x4c7178<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x4c7178,this['frameDisplayHeight']);var _0x3159b5=this['ctx']['getUniformLocation'](_0x4fe7db,'mosaicSize');if(_0x3159b5<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3159b5,_0x3e0865);var _0x3f5d62=this['ctx']['getUniformLocation'](_0x4fe7db,'left');if(_0x3f5d62<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3f5d62,_0x34ae85);var _0x52b4ff=this['ctx']['getUniformLocation'](_0x4fe7db,'right');if(_0x52b4ff<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x52b4ff,_0x3f3513);var _0x4a8f57=this['ctx']['getUniformLocation'](_0x4fe7db,'top');if(_0x4a8f57<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x4a8f57,_0x41acb8);var _0x3e7490=this['ctx']['getUniformLocation'](_0x4fe7db,'bottom');if(_0x3e7490<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['uniform1f'](_0x3e7490,_0x1f4a27);var _0x7acde2=this['ctx']['getAttribLocation'](_0x4fe7db,'position');this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['vertexPosBuffer']),this['ctx']['vertexAttribPointer'](_0x7acde2,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x7acde2);var _0x266c88=this['ctx']['getAttribLocation'](_0x4fe7db,'texCoord');return this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],this['texturePosBuffer']),this['ctx']['vertexAttribPointer'](_0x266c88,0x2,this['ctx']['FLOAT'],!0x1,0x0,0x0),this['ctx']['enableVertexAttribArray'](_0x266c88),this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),this['ctx']['drawArrays'](this['ctx']['TRIANGLES'],0x0,0x6),this['ctx']['useProgram'](null),this['ctx']['disable'](this['ctx']['BLEND']),_0x12eada['SR_OK'];}},{'key':'SetCallBack','value':function(_0x3a9e85,_0x113ec0,_0xe3a15){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];switch(_0xe3a15){case _0x1386af['SR_CBT_NULL']:this['pfuncCBIn']=_0x3a9e85,this['pUserIn']=_0x113ec0;break;case _0x1386af['SR_CBT_OUT']:this['pfuncCBOut']=_0x3a9e85,this['pUserOut']=_0x113ec0;break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_OK'];}},{'key':'DoCallBack','value':function(){return null==this['ctx']?_0x12eada['SR_ERR_CALL_ORDER']:(null!=this['pfuncCBIn']&&this['pfuncCBIn'](this['pUserIn']),null!=this['pfuncCBOut']&&this['pfuncCBOut'](this['pUserOut']),_0x12eada['SR_OK']);}},{'key':'SetViewParam','value':function(_0xa7b9a4,_0x46b520){if(!this['b3DPort'])return _0x12eada['SR_ERR_NOT_SUPPORT'];switch(_0xa7b9a4){case _0x3bfb8f['SR_VT_ROTATION_X']:if((this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_PLANET']||this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_PLANET'])&&(_0x46b520>1.57||_0x46b520<-1.57))return _0x12eada['SR_ERR_PARAM'];if((this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR'])&&(_0x46b520>0.78539815||_0x46b520<0x0))return _0x12eada['SR_ERR_PARAM'];if((this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL'])&&(_0x46b520>this['fRotateLimitX']||_0x46b520<-this['fRotateLimitX']))return _0x12eada['SR_ERR_PARAM'];this['fRotateX']=_0x46b520;break;case _0x3bfb8f['SR_VT_ROTATION_Y']:if((this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL'])&&(_0x46b520>this['fRotateLimitY']||_0x46b520<-this['fRotateLimitY']))return _0x12eada['SR_ERR_PARAM'];this['fRotateY']=_0x46b520;break;case _0x3bfb8f['SR_VT_SCALE']:if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_PLANET']&&(_0x46b520>1.2||_0x46b520<-0.3))return _0x12eada['SR_ERR_PARAM'];if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_SEMISPHERE']){if(_0x46b520<-0.8||_0x46b520>0x384)return _0x12eada['SR_ERR_PARAM'];}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_SPHERE']){if(_0x46b520<-0.95||_0x46b520>0.95)return _0x12eada['SR_ERR_PARAM'];}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_PANORAMA_PLANET']){if(_0x46b520<0.1||_0x46b520>2.6)return _0x12eada['SR_ERR_PARAM'];}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']){if(_0x46b520<0x0||_0x46b520>0x384)return _0x12eada['SR_ERR_PARAM'];}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']){if(_0x46b520<-0.3||_0x46b520>0x5)return _0x12eada['SR_ERR_PARAM'];this['_ComputeRotateLimits']();}else{if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR'])return _0x12eada['SR_ERR_NOT_SUPPORT'];}}}}}this['fScale']=_0x46b520;break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_OK'];}},{'key':'GetViewParam','value':function(_0x3ade87,_0x351b47){if(!this['b3DPort'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x28b2b5=0x0;switch(_0x3ade87){case _0x3bfb8f['SR_VT_ROTATION_X']:_0x28b2b5=this['fRotateX'];break;case _0x3bfb8f['SR_VT_ROTATION_Y']:_0x28b2b5=this['fRotateY'];break;case _0x3bfb8f['SR_VT_SCALE']:_0x28b2b5=this['fScale'];break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x351b47['fValue']=_0x28b2b5,_0x12eada['SR_OK'];}},{'key':'SetRenderMode','value':function(_0x205345){return this['bRenderToTex']=_0x205345,_0x12eada['SR_OK'];}},{'key':'_InitVideoShader','value':function(_0x4547cf,_0x4ae4b7){var _0xc61149,_0x12adee;switch(_0x4ae4b7){case _0x4d466f['SR_DE_NULL']:_0xc61149=_0x359c6e,_0x12adee='\\x0aprecision\\x20mediump\\x20float;\\x0avarying\\x20highp\\x20vec4\\x20pp;\\x0auniform\\x20sampler2D\\x20Ytexture;\\x0auniform\\x20sampler2D\\x20Utexture;\\x0auniform\\x20sampler2D\\x20Vtexture;\\x0auniform\\x20float\\x20fWndWidth;\\x0auniform\\x20float\\x20fWndHeight;\\x0auniform\\x20float\\x20fBrightness;\\x0auniform\\x20float\\x20fHue;\\x0auniform\\x20float\\x20fSaturation;\\x0auniform\\x20float\\x20fContrast;\\x0auniform\\x20float\\x20fSharpness;\\x0auniform\\x20int\\x20nPostProc;\\x0auniform\\x20int\\x20bDataFormat;\\x0a\\x0avec3\\x20rgb;\\x0avec3\\x20yuv2rgb(float\\x20y,\\x20float\\x20u,\\x20float\\x20v)\\x0a{\\x0a\\x20\\x20\\x20\\x20float\\x20r,g,b;\\x20\\x0a\\x20\\x20\\x20\\x20y\\x20=\\x201.1643\\x20*\\x20(y\\x20-\\x200.0625);\\x20\\x0a\\x20\\x20\\x20\\x20u\\x20=\\x20u\\x20-\\x200.5;\\x20\\x0a\\x20\\x20\\x20\\x20v\\x20=\\x20v\\x20-\\x200.5;\\x20\\x0a\\x20\\x20\\x20\\x20r\\x20=\\x20y\\x20+\\x201.5958\\x20*\\x20v;\\x20\\x0a\\x20\\x20\\x20\\x20g\\x20=\\x20y\\x20-\\x200.39173\\x20*\\x20u\\x20-\\x200.81290\\x20*\\x20v;\\x20\\x0a\\x20\\x20\\x20\\x20b\\x20=\\x20y\\x20+\\x202.017\\x20*\\x20u;\\x20\\x0a\\x20\\x20\\x20\\x20return\\x20vec3(r,\\x20g,\\x20b);\\x0a}\\x0avec3\\x20rgb2hsv(vec3\\x20c)\\x20\\x0a{\\x20\\x0a\\x20\\x20\\x20\\x20vec4\\x20K\\x20=\\x20vec4(0.0,\\x20-1.0\\x20/\\x203.0,\\x202.0\\x20/\\x203.0,\\x20-1.0);\\x20\\x0a\\x20\\x20\\x20\\x20vec4\\x20p\\x20=\\x20c.g\\x20<\\x20c.b\\x20?\\x20vec4(c.bg,\\x20K.wz)\\x20:\\x20vec4(c.gb,\\x20K.xy);\\x20\\x0a\\x20\\x20\\x20\\x20vec4\\x20q\\x20=\\x20c.r\\x20<\\x20p.x\\x20?\\x20vec4(p.xyw,\\x20c.r)\\x20:\\x20vec4(c.r,\\x20p.yzx);\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20float\\x20d\\x20=\\x20q.x\\x20-\\x20min(q.w,\\x20q.y);\\x20\\x0a\\x20\\x20\\x20\\x20float\\x20e\\x20=\\x201.0e-10;\\x20\\x0a\\x20\\x20\\x20\\x20return\\x20vec3(abs(q.z\\x20+\\x20(q.w\\x20-\\x20q.y)\\x20/\\x20(6.0\\x20*\\x20d\\x20+\\x20e)),\\x20d\\x20/\\x20(q.x\\x20+\\x20e),\\x20q.x);\\x20\\x0a}\\x20\\x0a\\x0avec3\\x20hsv2rgb(vec3\\x20c)\\x20\\x0a{\\x20\\x0a\\x20\\x20\\x20\\x20vec4\\x20K\\x20=\\x20vec4(1.0,\\x202.0\\x20/\\x203.0,\\x201.0\\x20/\\x203.0,\\x203.0);\\x20\\x0a\\x20\\x20\\x20\\x20vec3\\x20p\\x20=\\x20abs(fract(c.xxx\\x20+\\x20K.xyz)\\x20*\\x206.0\\x20-\\x20K.www);\\x20\\x0a\\x20\\x20\\x20\\x20return\\x20c.z\\x20*\\x20mix(K.xxx,\\x20clamp(p\\x20-\\x20K.xxx,\\x200.0,\\x201.0),\\x20c.y);\\x20\\x0a}\\x20\\x0a\\x0avec3\\x20sharpen(vec3\\x20c)\\x20\\x0a{\\x20\\x0a\\x20\\x20\\x20\\x20vec3\\x20sharpenColor;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20sharpenColorY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20sharpenColorU;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20sharpenColorV;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20offWidth\\x20\\x20=\\x201.0\\x20/\\x20fWndWidth;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20offHeight\\x20=\\x201.0\\x20/\\x20fWndHeight;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tempSharpness\\x20=\\x20fSharpness\\x20*\\x20100.0;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColor\\x20=\\x20(1.0\\x20+\\x204.0\\x20*\\x20tempSharpness)\\x20*\\x20c;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec2\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(offWidth,\\x200);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20=\\x20texture2D(Ytexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorU\\x20=\\x20texture2D(Utexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorV\\x20=\\x20texture2D(Vtexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColor\\x20-=\\x20tempSharpness\\x20*\\x20yuv2rgb(sharpenColorY,\\x20sharpenColorU,\\x20sharpenColorV);\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(-offWidth,\\x200);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20=\\x20texture2D(Ytexture,\\x20uv).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorU\\x20=\\x20texture2D(Utexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorV\\x20=\\x20texture2D(Vtexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColor\\x20-=\\x20tempSharpness\\x20*\\x20yuv2rgb(sharpenColorY,\\x20sharpenColorU,\\x20sharpenColorV);\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(0,\\x20offHeight);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20=\\x20texture2D(Ytexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorU\\x20=\\x20texture2D(Utexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorV\\x20=\\x20texture2D(Vtexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColor\\x20-=\\x20tempSharpness\\x20*\\x20yuv2rgb(sharpenColorY,\\x20sharpenColorU,\\x20sharpenColorV);\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(0,\\x20-offHeight);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20=\\x20texture2D(Ytexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorU\\x20=\\x20texture2D(Utexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorV\\x20=\\x20texture2D(Vtexture,\\x20uv).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColor\\x20-=\\x20tempSharpness\\x20*\\x20yuv2rgb(sharpenColorY,\\x20sharpenColorU,\\x20sharpenColorV);\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec3\\x20sharpenColorY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20offWidth\\x20\\x20=\\x201.0\\x20/\\x20fWndWidth;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20offHeight\\x20=\\x201.0\\x20/\\x20fWndHeight;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tempSharpness\\x20=\\x20fSharpness\\x20*\\x20100.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec2\\x20uv\\x20=\\x20pp.st;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20=\\x20(1.0\\x20+\\x204.0\\x20*\\x20tempSharpness)\\x20*\\x20texture2D(Ytexture,\\x20uv).rgb;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(offWidth,\\x200);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20-=\\x20tempSharpness\\x20*\\x20texture2D(Ytexture,\\x20uv).rgb;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(-offWidth,\\x200);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20-=\\x20tempSharpness\\x20*\\x20texture2D(Ytexture,\\x20uv).rgb;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(0,\\x20offHeight);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20-=\\x20tempSharpness\\x20*\\x20texture2D(Ytexture,\\x20uv).rgb;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20uv\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20pp.st\\x20+\\x20vec2(0,\\x20-offHeight);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColorY\\x20-=\\x20tempSharpness\\x20*\\x20texture2D(Ytexture,\\x20uv).rgb;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20sharpenColor\\x20=\\x20sharpenColorY;\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20return\\x20sharpenColor;\\x20\\x0a}\\x20\\x0avoid\\x20main(void)\\x0a{\\x0a\\x20\\x20\\x20\\x20float\\x20r,\\x20g,\\x20b,\\x20y,\\x20u,\\x20v;\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20pp.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20pp.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20pp.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20rgb\\x20=\\x20vec3(r,\\x20g,\\x20b);\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20pp.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20pp.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20pp.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20rgb\\x20=\\x20yuv2rgb(y,\\x20u,\\x20v);\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20if(1\\x20==\\x20nPostProc)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec3\\x20fragRGB\\x20=\\x20sharpen(rgb);\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20//sharpen\\x20锐度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec3\\x20fragHSV\\x20=\\x20rgb2hsv(fragRGB);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fragHSV.x\\x20=\\x20fragHSV.x\\x20+\\x20fHue;\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20//hue\\x20色度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fragHSV.y\\x20=\\x20fragHSV.y\\x20*\\x20(fSaturation\\x20+\\x201.0);\\x20\\x20\\x20\\x20//saturation\\x20饱和度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fragRGB\\x20=\\x20hsv2rgb(fragHSV);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if\\x20(fBrightness\\x20>\\x200.0)\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20//brightness\\x20亮度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fragRGB\\x20=\\x20fragRGB\\x20+\\x20(1.0\\x20-\\x20fragRGB)\\x20*\\x20fBrightness;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fragRGB\\x20=\\x20fragRGB\\x20+\\x20fragRGB\\x20*\\x20fBrightness;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tempContrast\\x20=\\x20fContrast\\x20>\\x200.0\\x20?\\x20fContrast\\x20*\\x2010.0\\x20:\\x20fContrast;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fragRGB\\x20=\\x20((fragRGB\\x20-\\x200.5)\\x20*\\x20max(tempContrast\\x20+\\x201.0,\\x200.0))\\x20+\\x200.5;\\x20\\x20\\x20\\x20\\x20\\x20//contrast\\x20对比度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(fragRGB,\\x201.0);\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(rgb,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x0a}\\x0a';break;case _0x4d466f['SR_DE_FISH_ORIGINAL']:_0xc61149=_0x359c6e,_0x12adee='\\x0aprecision\\x20mediump\\x20float;\\x0avarying\\x20vec4\\x20pp;\\x0auniform\\x20sampler2D\\x20Ytexture;\\x0auniform\\x20sampler2D\\x20Utexture;\\x0auniform\\x20sampler2D\\x20Vtexture;\\x0auniform\\x20float\\x20fRX1;\\x0auniform\\x20float\\x20fRX2;\\x0auniform\\x20float\\x20fRY1;\\x0auniform\\x20float\\x20fRY2;\\x0auniform\\x20int\\x20bBlack;\\x20\\x0auniform\\x20int\\x20bCut;\\x0auniform\\x20int\\x20bDataFormat;\\x0a\\x0avoid\\x20main()\\x0a{\\x20\\x0a\\x09float\\x20r,g,b,y,u,v;\\x0a\\x09vec4\\x20origin;\\x0a\\x0a\\x09float\\x20\\x20w;\\x0a\\x09float\\x20\\x20h;\\x0a\\x09float\\x20\\x20fCenterX;\\x0a\\x09float\\x20\\x20fCenterY;\\x0a\\x09float\\x20\\x20fRadius;\\x0a\\x09w\\x20=\\x201.0;\\x0a\\x09h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x09fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20///<圆心实际坐标\\x0a\\x09fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x09fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x20///<半径实际长度\\x0a\\x09float\\x20\\x20leftCut\\x20=\\x200.0;\\x0a\\x09float\\x20\\x20rightCut\\x20=\\x201.0;\\x0a\\x09float\\x20\\x20topCut\\x20=\\x200.0;\\x0a\\x09float\\x20\\x20bottomCut\\x20=\\x201.0;\\x0a\\x09if(bCut\\x20==\\x201)\\x0a\\x09{\\x0a\\x09\\x09if(fRX1\\x20>\\x200.0)\\x0a\\x09\\x09{\\x0a\\x09\\x09\\x09leftCut\\x20=\\x20fRX1;\\x0a\\x09\\x09}\\x0a\\x09\\x09if(fRX2\\x20<\\x201.0)\\x0a\\x09\\x09{\\x0a\\x09\\x09\\x09rightCut\\x20=\\x20fRX2;\\x0a\\x09\\x09}\\x0a\\x09\\x09if(fRY1\\x20>\\x200.0)\\x0a\\x09\\x09{\\x0a\\x09\\x09\\x09topCut\\x20=\\x20fRY1;\\x0a\\x09\\x09}\\x0a\\x09\\x09if(fRY2\\x20<\\x201.0)\\x0a\\x09\\x09{\\x0a\\x09\\x09\\x09bottomCut\\x20=\\x20fRY2;\\x0a\\x09\\x09}\\x0a\\x09}\\x0a\\x09origin.s\\x20=\\x20pp.s\\x20*\\x20(rightCut-leftCut)\\x20+\\x20leftCut;\\x0a\\x09origin.t\\x20=\\x20pp.t\\x20*\\x20(bottomCut-topCut)\\x20+\\x20topCut;\\x0a\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20origin.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20origin.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20origin.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20origin.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20origin.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20origin.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x09if(bBlack\\x20==\\x201)\\x0a\\x09{\\x0a\\x09\\x09float\\x20tmpX,\\x20tmpY;\\x0a\\x09\\x09tmpX\\x20=\\x20origin.s\\x20*\\x20w;\\x20\\x0a\\x09\\x09tmpY\\x20=\\x20origin.t\\x20*\\x20h;\\x20\\x0a\\x09\\x09float\\x20d2\\x20=\\x20(tmpX-fCenterX)*(tmpX-fCenterX)\\x20+\\x20(tmpY-fCenterY)*(tmpY-fCenterY);\\x0a\\x09\\x09if(d2\\x20>\\x20fRadius*fRadius)\\x0a\\x09\\x09{\\x0a\\x09\\x09\\x09r\\x20=\\x200.0;\\x20\\x0a\\x09\\x09\\x09g\\x20=\\x200.0;\\x20\\x0a\\x09\\x09\\x09b\\x20=\\x200.0;\\x20\\x0a\\x09\\x09}\\x0a\\x09}\\x0a\\x0a\\x09gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a}\\x0a';break;case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:_0xc61149=_0x359c6e,_0x12adee='\\x0aprecision\\x20mediump\\x20float;\\x0avarying\\x20vec4\\x20pp;\\x20\\x0auniform\\x20sampler2D\\x20Ytexture;\\x0auniform\\x20sampler2D\\x20Utexture;\\x0auniform\\x20sampler2D\\x20Vtexture;\\x0auniform\\x20float\\x20fHAngleCos;\\x0auniform\\x20float\\x20fHAngleSin;\\x0auniform\\x20float\\x20fVAngleCos;\\x0auniform\\x20float\\x20fVAngleSin;\\x0auniform\\x20float\\x20fZoom;\\x0auniform\\x20float\\x20fRX1;\\x20\\x0auniform\\x20float\\x20fRX2;\\x20\\x0auniform\\x20float\\x20fRY1;\\x20\\x0auniform\\x20float\\x20fRY2;\\x20\\x0auniform\\x20int\\x20bDataFormat;\\x0a\\x0avoid\\x20main()\\x0a{\\x0a\\x09float\\x20r,g,b,y,u,v;\\x0a\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin1;\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin2;\\x0a\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z1;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z2;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20dnew;\\x0a\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20origin1.s\\x20=\\x20pp.s\\x20-\\x200.5;\\x0a\\x20\\x20\\x20\\x20origin1.t\\x20=\\x200.5\\x20-\\x20pp.t;\\x0a\\x20\\x20\\x20\\x20z1\\x20=\\x20fZoom\\x20;\\x0a\\x0a\\x20\\x20\\x20\\x20origin2.s\\x20=\\x20origin1.s\\x20;\\x0a\\x20\\x20\\x20\\x20origin2.t\\x20=\\x20(origin1.t*fVAngleCos\\x20+\\x20z1*fVAngleSin);\\x0a\\x20\\x20\\x20\\x20z2\\x20=\\x20z1*fVAngleCos\\x20-\\x20origin1.t*fVAngleSin;\\x0a\\x0a\\x20\\x20\\x20\\x20dnew\\x20=\\x20sqrt(origin2.s*origin2.s\\x20+\\x20origin2.t*origin2.t)\\x20;\\x0a\\x20\\x20\\x20\\x20float\\x20d\\x20=\\x20sqrt(origin2.s*origin2.s\\x20+\\x20origin2.t*origin2.t\\x20+\\x20z2*z2);\\x0a\\x20\\x20\\x20\\x20float\\x20theta\\x20=\\x20asin(dnew/d);\\x0a\\x20\\x20\\x20\\x20float\\x20tmp\\x20=\\x20theta\\x20/\\x201.5707963\\x20*\\x200.5;\\x0a\\x20\\x20\\x20\\x20origin2.s\\x20=\\x20tmp*origin2.s\\x20/\\x20dnew\\x20;\\x0a\\x20\\x20\\x20\\x20origin2.t\\x20=\\x20tmp*origin2.t\\x20/\\x20dnew\\x20;\\x0a\\x0a\\x20\\x20\\x20\\x20result.s\\x20=\\x20((origin2.s*fHAngleCos\\x20-\\x20origin2.t*fHAngleSin)*fRadius*2.0+fCenterX)/w;\\x0a\\x20\\x20\\x20\\x20result.t\\x20=\\x20(-(origin2.s*fHAngleSin\\x20+\\x20origin2.t*fHAngleCos)*fRadius*2.0+fCenterY)/h;\\x0a\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a}\\x20\\x0a';break;case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:_0xc61149=_0x359c6e,_0x12adee='\\x0aprecision\\x20mediump\\x20float;\\x0avarying\\x20vec4\\x20pp;\\x20\\x0auniform\\x20sampler2D\\x20Ytexture;\\x0auniform\\x20sampler2D\\x20Utexture;\\x0auniform\\x20sampler2D\\x20Vtexture;\\x0auniform\\x20float\\x20fHAngleCos;\\x20\\x20\\x0auniform\\x20float\\x20fHAngleSin;\\x20\\x0auniform\\x20float\\x20fVAngleCos;\\x20\\x20\\x0auniform\\x20float\\x20fVAngleSin;\\x20\\x20\\x0auniform\\x20float\\x20fZoom;\\x0auniform\\x20float\\x20fRX1;\\x20\\x0auniform\\x20float\\x20fRX2;\\x20\\x0auniform\\x20float\\x20fRY1;\\x20\\x0auniform\\x20float\\x20fRY2;\\x20\\x0auniform\\x20int\\x20bDataFormat;\\x0a\\x0avoid\\x20main()\\x0a{\\x0a\\x09float\\x20r,g,b,y,u,v;\\x0a\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin1;\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin2;\\x0a\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z1;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z2;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20dnew;\\x0a\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x0a\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x0a\\x20\\x20\\x20\\x20origin1.s\\x20=\\x20pp.s\\x20-\\x200.5;\\x0a\\x20\\x20\\x20\\x20origin1.t\\x20=\\x20pp.t\\x20-\\x200.5;\\x0a\\x20\\x20\\x20\\x20z1\\x20=\\x20fZoom\\x20;\\x0a\\x0a\\x20\\x20\\x20\\x20origin2.s\\x20=\\x20origin1.s\\x20;\\x0a\\x20\\x20\\x20\\x20origin2.t\\x20=\\x20(origin1.t*fVAngleCos\\x20+\\x20z1*fVAngleSin);\\x0a\\x20\\x20\\x20\\x20z2\\x20=\\x20z1*fVAngleCos\\x20-\\x20origin1.t*fVAngleSin;\\x0a\\x0a\\x20\\x20\\x20\\x20dnew\\x20=\\x20sqrt(origin2.s*origin2.s\\x20+\\x20origin2.t*origin2.t)\\x20;\\x0a\\x20\\x20\\x20\\x20float\\x20d\\x20=\\x20sqrt(origin2.s*origin2.s\\x20+\\x20origin2.t*origin2.t\\x20+\\x20z2*z2);\\x0a\\x20\\x20\\x20\\x20float\\x20theta\\x20=\\x20asin(dnew/d);\\x0a\\x20\\x20\\x20\\x20float\\x20tmp\\x20=\\x20theta\\x20/\\x201.5707963\\x20*\\x200.5;\\x0a\\x20\\x20\\x20\\x20origin2.s\\x20=\\x20tmp*origin2.s\\x20/\\x20dnew\\x20;\\x0a\\x20\\x20\\x20\\x20origin2.t\\x20=\\x20tmp*origin2.t\\x20/\\x20dnew\\x20;\\x0a\\x0a\\x20\\x20\\x20\\x20result.s\\x20=\\x20((origin2.s*fHAngleCos\\x20-\\x20origin2.t*fHAngleSin)*fRadius*2.0+fCenterX)/w;\\x0a\\x20\\x20\\x20\\x20result.t\\x20=\\x20((origin2.s*fHAngleSin\\x20+\\x20origin2.t*fHAngleCos)*fRadius*2.0+fCenterY)/h;\\x0a\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a}\\x20\\x0a';break;case _0x4d466f['SR_DE_FISH_PTZ_WALL']:_0xc61149=_0x359c6e,_0x12adee='\\x0aprecision\\x20mediump\\x20float;\\x0avarying\\x20vec4\\x20pp;\\x20\\x0auniform\\x20sampler2D\\x20Ytexture;\\x0auniform\\x20sampler2D\\x20Utexture;\\x0auniform\\x20sampler2D\\x20Vtexture;\\x0auniform\\x20float\\x20fHAngleCos;\\x0auniform\\x20float\\x20fHAngleSin;\\x20\\x20\\x0auniform\\x20float\\x20fVAngleCos;\\x20\\x20\\x0auniform\\x20float\\x20fVAngleSin;\\x20\\x20\\x0auniform\\x20float\\x20fZoom;\\x0auniform\\x20float\\x20fRX1;\\x20\\x0auniform\\x20float\\x20fRX2;\\x20\\x0auniform\\x20float\\x20fRY1;\\x20\\x0auniform\\x20float\\x20fRY2;\\x20\\x0auniform\\x20int\\x20bDataFormat;\\x0a\\x0avoid\\x20main()\\x0a{\\x0a\\x09float\\x20r,g,b,y,u,v;\\x0a\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin1;\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin2;\\x0a\\x20\\x20\\x20\\x20vec4\\x20origin3;\\x0a\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z1;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z2;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20z3;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20dnew;\\x0a\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x0a\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x0a\\x0a\\x20\\x20\\x20\\x20origin1.s\\x20=\\x20pp.s\\x20-\\x200.5;\\x0a\\x20\\x20\\x20\\x20origin1.t\\x20=\\x20pp.t\\x20-\\x200.5;\\x0a\\x20\\x20\\x20\\x20z1\\x20=\\x20fZoom\\x20;\\x0a\\x0a\\x20\\x20\\x20\\x20origin2.s\\x20=\\x20origin1.s\\x20;\\x0a\\x20\\x20\\x20\\x20origin2.t\\x20=\\x20(origin1.t*fVAngleCos\\x20+\\x20z1*fVAngleSin);\\x0a\\x20\\x20\\x20\\x20z2\\x20=\\x20z1*fVAngleCos\\x20-\\x20origin1.t*fVAngleSin;\\x0a\\x0a\\x20\\x20\\x20\\x20origin3.s\\x20=\\x20origin2.s*fHAngleCos\\x20+\\x20z2*fHAngleSin\\x20;\\x0a\\x20\\x20\\x20\\x20origin3.t\\x20=\\x20origin2.y;\\x0a\\x20\\x20\\x20\\x20z3\\x20=\\x20z2*fHAngleCos\\x20-\\x20origin2.x*fHAngleSin;\\x0a\\x0a\\x20\\x20\\x20\\x20dnew\\x20=\\x20sqrt(origin3.s*origin3.s\\x20+\\x20origin3.t*origin3.t)\\x20;\\x0a\\x20\\x20\\x20\\x20float\\x20d\\x20=\\x20sqrt(origin3.s*origin3.s\\x20+\\x20origin3.t*origin3.t\\x20+\\x20z3*z3);\\x0a\\x20\\x20\\x20\\x20float\\x20theta\\x20=\\x20asin(dnew/d);\\x0a\\x20\\x20\\x20\\x20float\\x20tmp\\x20=\\x20theta\\x20/\\x201.5707963\\x20*\\x200.5;\\x0a\\x20\\x20\\x20\\x20result.s\\x20=\\x20(tmp*origin3.s\\x20/\\x20dnew\\x20*\\x20fRadius\\x20*\\x202.0\\x20+\\x20fCenterX)/w;\\x0a\\x20\\x20\\x20\\x20result.t\\x20=\\x20(tmp*origin3.t\\x20/\\x20dnew\\x20*\\x20fRadius\\x20*\\x202.0\\x20+\\x20fCenterY)/h;\\x0a\\x0a\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a}\\x20\\x0a';break;case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:_0xc61149=_0x359c6e,_0x12adee='\\x0a\\x20\\x20\\x20\\x20precision\\x20highp\\x20float;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Ytexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Utexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Vtexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bDataFormat;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20r,g,b,y,u,v;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20origin;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20thetabase;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20d;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20///<圆心实际坐标\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20///<半径实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20fMax\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0\\x20||\\x20fRY2\\x20>\\x201.0\\x20||\\x20fRX1\\x20<\\x200.0\\x20||\\x20fRY1\\x20<\\x200.0)\\x20///<如果不是一个完整的圆\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRX1\\x20*\\x20w;\\x20///<左边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRX2\\x20-\\x201.0)\\x20*\\x20w;\\x20///<右边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRY1\\x20*\\x20h;\\x20///<上边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRY2\\x20-\\x201.0)\\x20*\\x20h;\\x20///<下边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20topCut\\x20=\\x20fMax\\x20/\\x20fRadius;\\x20\\x20///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20bottomCut\\x20=\\x200.8;\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20///<为矫正效果,最终矫正图固定切掉下面一部分\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.s\\x20=\\x20pp.s;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.t\\x20=\\x20(bottomCut\\x20-\\x20topCut)\\x20*\\x20pp.t\\x20+\\x20topCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20thetabase\\x20=\\x206.2831853\\x20*\\x20origin.s\\x20+\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20d\\x20=\\x20fRadius\\x20*\\x20(1.0\\x20-\\x20origin.t);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.s\\x20=\\x20(fCenterX\\x20-\\x20d*sin(thetabase))\\x20/\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.t\\x20=\\x20(fCenterY\\x20+\\x20d*cos(thetabase))\\x20/\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r,\\x20g,\\x20b,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x0a';break;case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']:_0xc61149=_0x359c6e,_0x12adee='\\x0a\\x20\\x20\\x20\\x20precision\\x20highp\\x20float;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Ytexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Utexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Vtexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX1;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX2;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY1;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY2;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bDataFormat;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20r,g,b,y,u,v;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20origin;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20thetabase;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20d;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20newpp;\\x20\\x20///<180矫正pp纹理坐标的点对应360矫正newpp纹理坐标对应的点\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if\\x20(pp.t\\x20\\x20<=\\x200.5)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.s\\x20=\\x20\\x20pp.s\\x20/\\x202.0\\x20+\\x200.5;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.t\\x20=\\x20\\x20pp.t\\x20*\\x202.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.s\\x20=\\x20\\x20pp.s\\x20/\\x202.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.t\\x20=\\x20\\x20(pp.t\\x20-\\x200.5)\\x20*\\x202.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x20///<圆心实际坐标\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x20///<半径实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20fMax\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0\\x20||\\x20fRY2\\x20>\\x201.0\\x20||\\x20fRX1\\x20<\\x200.0\\x20||\\x20fRY1\\x20<\\x200.0)\\x20///<如果不是一个完整的圆\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRX1\\x20*\\x20w;\\x20///<左边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRX2\\x20-\\x201.0)\\x20*\\x20w;\\x20///<右边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRY1\\x20*\\x20h;\\x20///<上边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRY2\\x20-\\x201.0)\\x20*\\x20h;\\x20///<下边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20topCut\\x20=\\x20fMax\\x20/\\x20fRadius;\\x20\\x20\\x20///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20bottomCut\\x20=\\x200.8;\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20///<为矫正效果,最终矫正图固定切掉下面一部分\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.s\\x20=\\x20newpp.s;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.t\\x20=\\x20(bottomCut\\x20-\\x20topCut)\\x20*\\x20newpp.t\\x20+\\x20topCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20thetabase\\x20=\\x206.2831853\\x20*\\x20origin.s\\x20+\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20d\\x20=\\x20fRadius\\x20*\\x20(1.0\\x20-\\x20origin.t);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.s\\x20=\\x20(fCenterX\\x20-\\x20d*sin(thetabase))\\x20/\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.t\\x20=\\x20(fCenterY\\x20+\\x20d*cos(thetabase))\\x20/\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x0a';break;case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:_0xc61149=_0x359c6e,_0x12adee='\\x0a\\x20\\x20\\x20\\x20precision\\x20highp\\x20float;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Ytexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Utexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Vtexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bDataFormat;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20r,g,b,y,u,v;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20origin;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20thetabase;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20d;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20///<圆心实际坐标\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20///<半径实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20fMax\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0\\x20||\\x20fRY2\\x20>\\x201.0\\x20||\\x20fRX1\\x20<\\x200.0\\x20||\\x20fRY1\\x20<\\x200.0)\\x20///<如果不是一个完整的圆\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRX1\\x20*\\x20w;\\x20///<左边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRX2\\x20-\\x201.0)\\x20*\\x20w;\\x20///<右边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRY1\\x20*\\x20h;\\x20///<上边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRY2\\x20-\\x201.0)\\x20*\\x20h;\\x20///<下边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20topCut\\x20=\\x20fMax\\x20/\\x20fRadius;\\x20\\x20\\x20///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20bottomCut\\x20=\\x200.8;\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20///<为矫正效果,最终矫正图固定切掉下面一部分\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.s\\x20=\\x201.0\\x20-\\x20pp.s;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.t\\x20=\\x20(bottomCut\\x20-\\x20topCut)\\x20*\\x20(1.0\\x20-\\x20pp.t)\\x20+\\x20topCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20thetabase\\x20=\\x206.2831853\\x20*\\x20origin.s\\x20+\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20d\\x20=\\x20fRadius\\x20*\\x20(1.0\\x20-\\x20origin.t);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.s\\x20=\\x20(fCenterX\\x20-\\x20d*sin(thetabase))\\x20/\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.t\\x20=\\x20(fCenterY\\x20+\\x20d*cos(thetabase))\\x20/\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x0a';break;case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']:_0xc61149=_0x359c6e,_0x12adee='\\x0a\\x20\\x20\\x20\\x20precision\\x20highp\\x20float;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Ytexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Utexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Vtexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bDataFormat;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20r,g,b,y,u,v;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20origin;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20thetabase;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20d;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20newpp;\\x20\\x20///<180矫正pp纹理坐标的点对应360矫正newpp纹理坐标对应的点\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if\\x20(pp.t\\x20\\x20<=\\x200.5)\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.s\\x20=\\x20\\x20pp.s\\x20/\\x202.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.t\\x20=\\x20\\x20pp.t\\x20*\\x202.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.s\\x20=\\x20\\x20pp.s\\x20/\\x202.0\\x20+\\x200.5;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newpp.t\\x20=\\x20\\x20(pp.t\\x20-\\x200.5)\\x20*\\x202.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20///<圆心实际坐标\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x20///<半径实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20fMax\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0\\x20||\\x20fRY2\\x20>\\x201.0\\x20||\\x20fRX1\\x20<\\x200.0\\x20||\\x20fRY1\\x20<\\x200.0)\\x20///<如果不是一个完整的圆\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRX1\\x20*\\x20w;\\x20///<左边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRX2\\x20-\\x201.0)\\x20*\\x20w;\\x20///<右边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRY1\\x20*\\x20h;\\x20///<上边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRY2\\x20-\\x201.0)\\x20*\\x20h;\\x20///<下边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20fMax)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fMax\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20topCut\\x20=\\x20fMax\\x20/\\x20fRadius;\\x20\\x20\\x20///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20bottomCut\\x20=\\x200.8;\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20///<为矫正效果,最终矫正图固定切掉下面一部分\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.s\\x20=\\x201.0\\x20-\\x20newpp.s;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.t\\x20=\\x20(bottomCut\\x20-\\x20topCut)\\x20*\\x20(1.0\\x20-\\x20newpp.t)\\x20+\\x20topCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20thetabase\\x20=\\x206.2831853\\x20*\\x20origin.s\\x20+\\x20fAngle;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20d\\x20=\\x20fRadius\\x20*\\x20(1.0\\x20-\\x20origin.t);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.s\\x20=\\x20(fCenterX\\x20-\\x20d*sin(thetabase))\\x20/\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.t\\x20=\\x20(fCenterY\\x20+\\x20d*cos(thetabase))\\x20/\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x20\\x0a';break;case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:_0xc61149=_0x359c6e,_0x12adee='\\x0a\\x20\\x20\\x20\\x20precision\\x20highp\\x20float;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Ytexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Utexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20sampler2D\\x20Vtexture;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRX2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY1;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20float\\x20fRY2;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bDataFormat;\\x0a\\x0a\\x20\\x20\\x20\\x20void\\x20main()\\x0a\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20r,g,b,y,u,v;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20origin;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20vec4\\x20result;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20d;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x20///<圆心实际坐标\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fRadius\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x202.0\\x20*\\x20w;\\x20\\x20\\x20\\x20\\x20///<半径实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20defaultTopCut\\x20=\\x200.1;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20defaultBottomCut\\x20=\\x200.9;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20leftCut\\x20=\\x200.0;\\x20\\x20\\x20\\x20///<当图像中圆不完整时需要切掉无图像部分,即使图像完整,为了效果,也要切掉上下固定的一部分\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20rightCut\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20topCut\\x20=\\x20defaultTopCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20\\x20bottomCut\\x20=\\x20defaultBottomCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRX1\\x20*\\x20w;\\x20///<左边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20tmp\\x20/\\x20(2.0*fRadius);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20leftCut\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRX2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRX2\\x20-\\x201.0)\\x20*\\x20w;\\x20///<右边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20tmp\\x20/\\x20(2.0*fRadius);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20rightCut\\x20=\\x201.0\\x20-\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY1\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20-fRY1\\x20*\\x20h;\\x20///<上边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20tmp\\x20/\\x20(2.0*fRadius);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x20defaultTopCut)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20topCut\\x20=\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20topCut\\x20=\\x20defaultTopCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(fRY2\\x20>\\x201.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20(fRY2\\x20-\\x201.0)\\x20*\\x20h;\\x20///<下边超出图像部分最大实际长度\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20tmp\\x20=\\x20tmp\\x20/\\x20(2.0*fRadius);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(tmp\\x20>\\x201.0\\x20-\\x20defaultBottomCut)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20bottomCut\\x20=\\x201.0\\x20-\\x20tmp;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20bottomCut\\x20=\\x20defaultBottomCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.s\\x20=\\x20pp.s\\x20*\\x20(rightCut-leftCut)\\x20+\\x20leftCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20origin.t\\x20=\\x20pp.t\\x20*\\x20(bottomCut-topCut)\\x20+\\x20topCut;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmpx\\x20=\\x20origin.s\\x20*\\x202.0\\x20*\\x20fRadius\\x20+\\x20fCenterX\\x20-\\x20fRadius;\\x20///<纹理坐标转化为原图上的实际坐标\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20float\\x20tmpy\\x20=\\x20origin.t\\x20*\\x202.0\\x20*\\x20fRadius\\x20+\\x20fCenterY\\x20-\\x20fRadius;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20d\\x20=\\x20sqrt(fRadius*fRadius\\x20-\\x20(tmpy-fCenterY)*(tmpy-fCenterY));\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.s\\x20=\\x20((tmpx-fCenterX)\\x20*\\x20d\\x20/\\x20fRadius\\x20+\\x20fCenterX)\\x20/\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20result.t\\x20=\\x20tmpy\\x20/\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bDataFormat\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x20texture2D(Ytexture,\\x20result.st).g;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x20texture2D(Ytexture,\\x20result.st).b;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x20if(bDataFormat\\x20==\\x200)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y\\x20=\\x20texture2D(Ytexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u\\x20=\\x20texture2D(Utexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v\\x20=\\x20texture2D(Vtexture,\\x20result.st).r;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20y=1.1643*(y-0.0625);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20u=u-0.5;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20v=v-0.5;\\x20\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r=y+1.5958*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g=y-0.39173*u-0.81290*v;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b=y+2.017*u;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(result.s\\x20>\\x201.0\\x20||\\x20result.t\\x20>\\x201.0\\x20||\\x20result.s\\x20<\\x200.0\\x20||\\x20result.t\\x20<\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20r\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20g\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20b\\x20=\\x200.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_FragColor\\x20=\\x20vec4(r\\x20,g\\x20,b\\x20,\\x201.0);\\x0a\\x20\\x20\\x20\\x20}\\x0a';break;case _0x4d466f['SR_DE_FISH_SEMISPHERE']:case _0x4d466f['SR_DE_PANORAMA_SPHERE']:case _0x4d466f['SR_DE_PANORAMA_PLANET']:case _0x4d466f['SR_DE_FISH_CYLINDER_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']:case _0x4d466f['SR_DE_FISH_PLANET']:_0xc61149='\\x0a\\x20\\x20\\x20\\x20precision\\x20lowp\\x20\\x20float;\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20position;\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20texCoord;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20\\x20\\x20\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x0a\\x0a\\x20\\x20\\x20\\x20uniform\\x20mat4\\x20matProj;\\x0a\\x20\\x20\\x20\\x20uniform\\x20mat4\\x20matView;\\x0a\\x20\\x20\\x20\\x20void\\x20main(void)\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20=\\x20matProj\\x20*\\x20matView\\x20*\\x20position;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp\\x20=\\x20texCoord;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20-\\x20gl_Position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20}\\x0a',_0x12adee=_0x1cafd1;break;case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']:_0xc61149='\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20position;\\x0a\\x20\\x20\\x20\\x20attribute\\x20vec4\\x20\\x20texCoord;\\x0a\\x20\\x20\\x20\\x20varying\\x20vec4\\x20\\x20\\x20\\x20pp;\\x20\\x0a\\x20\\x20\\x20\\x20uniform\\x20int\\x20bCapture;\\x0a\\x0a\\x20\\x20\\x20\\x20uniform\\x20mat4\\x20matProj;\\x0a\\x20\\x20\\x20\\x20uniform\\x20mat4\\x20matView;\\x0a\\x20\\x20\\x20\\x20uniform\\x20highp\\x20vec4\\x20\\x20\\x20\\x20vecCylinderParam;\\x0a\\x20\\x20\\x20\\x20uniform\\x20highp\\x20float\\x20\\x20\\x20fTextureOffset;\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20fRX1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20fRX2;\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20fRY1;\\x0a\\x20\\x20\\x20\\x20uniform\\x20mediump\\x20float\\x20fRY2;\\x0a\\x20\\x20\\x20\\x20void\\x20main(void)\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20\\x20h;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20\\x20fCenterX;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20\\x20fCenterY;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20w\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20h\\x20=\\x20(fRX2\\x20-\\x20fRX1)\\x20/\\x20(fRY2\\x20-\\x20fRY1);\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterX\\x20=\\x20(fRX1\\x20+\\x20fRX2)\\x20/\\x202.0\\x20*\\x20w;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fCenterY\\x20=\\x20(fRY1\\x20+\\x20fRY2)\\x20/\\x202.0\\x20*\\x20h;\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20dx\\x20\\x20\\x20\\x20\\x20=\\x20position.x\\x20-\\x20vecCylinderParam.x;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20dz\\x20\\x20\\x20\\x20\\x20=\\x20position.z\\x20-\\x20(vecCylinderParam.z\\x20+\\x20vecCylinderParam.y);\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20theta\\x20\\x20=\\x20atan(abs(dx/dz));\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20fDis\\x20\\x20\\x20=\\x20(3.1415926\\x20-\\x202.0\\x20*\\x20theta)\\x20*\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20fdx\\x20\\x20\\x20\\x20=\\x200.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if\\x20(dx\\x20>\\x200.0)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fdx\\x20=\\x201.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20else\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fdx\\x20=\\x20-1.0;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20fDis\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20=\\x20fdx\\x20*\\x20fDis;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20lx\\x20\\x20\\x20\\x20\\x20=\\x20fDis;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20lz\\x20\\x20\\x20\\x20\\x20=\\x20vecCylinderParam.z\\x20+\\x20vecCylinderParam.y;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20fRate\\x20\\x20=\\x20(3.1415926\\x20/\\x202.0\\x20+\\x20vecCylinderParam.w)\\x20/\\x203.1415926\\x20*\\x202.0;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20vec4\\x20newPos\\x20\\x20=\\x20position;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newPos.x\\x20\\x20\\x20\\x20\\x20=\\x20fRate\\x20*\\x20(lx\\x20-\\x20newPos.x)\\x20+\\x20newPos.x;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20newPos.z\\x20\\x20\\x20\\x20\\x20=\\x20fRate\\x20*\\x20(lz\\x20-\\x20newPos.z)\\x20+\\x20newPos.z;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position\\x20\\x20=\\x20matProj\\x20*\\x20matView\\x20*\\x20newPos;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20if(bCapture\\x20==\\x201)\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20{\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20gl_Position.y\\x20=\\x20-\\x20gl_Position.y;\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20}\\x0a\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20s\\x20=\\x20texCoord.s\\x20*\\x20w\\x20-\\x20fCenterX;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20highp\\x20float\\x20t\\x20=\\x20fCenterY\\x20-\\x20texCoord.t\\x20*\\x20h;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp.s\\x20=\\x20(s*cos(fTextureOffset)\\x20-\\x20t*sin(fTextureOffset)\\x20+\\x20fCenterX)\\x20/\\x20w;\\x20\\x0a\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20pp.t\\x20=\\x20(fCenterY\\x20-\\x20(s*sin(fTextureOffset)\\x20+\\x20t*cos(fTextureOffset)))\\x20/\\x20h;\\x0a\\x20\\x20\\x20\\x20}\\x0a',_0x12adee=_0x1cafd1;break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}var _0x4cd638=this['CompileProgram'](_0xc61149,_0x12adee);return _0x4cd638<=0x0?_0x12eada['SR_ERR_WEBGL_RESOURCE']:(this['videoShaderProgram']=_0x4cd638,_0x12eada['SR_OK']);}},{'key':'_InitVideoVertex','value':function(_0x572e41,_0x1e0b5f,_0x2f008f){var _0xd1a05a=null,_0x401742=null,_0x4d2d8d=null,_0x519998=_0x12eada['SR_OK'];if(0x0==this['b3DPort'])_0xd1a05a=new Float32Array([-0x1,0x1,-0x1,-0x1,0x1,0x1,0x1,0x1,-0x1,-0x1,0x1,-0x1]),_0x401742=new Float32Array([0x0,0x0,0x0,0x1,0x1,0x0,0x1,0x0,0x0,0x1,0x1,0x1]);else{if(this['fRX1']=_0x2f008f['fRXLeft'],this['fRX2']=_0x2f008f['fRXRight'],this['fRY1']=_0x2f008f['fRYTop'],this['fRY2']=_0x2f008f['fRYBottom'],_0x1e0b5f==_0x4d466f['SR_DE_FISH_SEMISPHERE']||_0x1e0b5f==_0x4d466f['SR_DE_FISH_PLANET'])_0x519998=this['_CreateSemiSphere'](this['fRX1'],this['fRX2'],this['fRY1'],this['fRY2']),_0xd1a05a=this['pSemiSpherePos'],_0x401742=this['pSemiSphereTex'];else{if(_0x1e0b5f==_0x4d466f['SR_DE_PANORAMA_SPHERE']||_0x1e0b5f==_0x4d466f['SR_DE_PANORAMA_PLANET'])_0x519998=this['_CreateSphere'](this['fRX1'],this['fRX2'],this['fRY1'],this['fRY2']),_0xd1a05a=this['pSpherePos'],_0x401742=this['pSphereTex'],_0x4d2d8d=this['pSphereInd'];else{if(_0x1e0b5f==_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']||_0x1e0b5f==_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']||_0x1e0b5f==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']||_0x1e0b5f==_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR'])_0x519998=this['_CreateCylinder'](_0x1e0b5f,this['fRX1'],this['fRX2'],this['fRY1'],this['fRY2'],0x0,0x0),_0xd1a05a=this['pCylinderPos'],_0x401742=this['pCylinderTex'];else{if(_0x1e0b5f!=_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']&&_0x1e0b5f!=_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL'])return _0x12eada['SR_ERR_NOT_SUPPORT'];_0x519998=_0x1e0b5f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_CreateArcSphere'](_0x1e0b5f,0.05,0.95,-0.3,1.3):this['_CreateArcSphere'](_0x1e0b5f,-0.16,1.16,0.005,0.995),_0xd1a05a=this['pArcSpherePos'],_0x401742=this['pArcSphereTex'];}}}if(_0x519998!=_0x12eada['SR_OK'])return _0x519998;}if(null==_0xd1a05a||null==_0x401742)return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x4abc2b=this['ctx']['createBuffer']();if(this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x4abc2b),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0xd1a05a,this['ctx']['STATIC_DRAW']),this['vertexPosBuffer']=_0x4abc2b,_0x1e0b5f==_0x4d466f['SR_DE_PANORAMA_SPHERE']||_0x1e0b5f==_0x4d466f['SR_DE_PANORAMA_PLANET']){var _0x34bfaa=this['ctx']['createBuffer']();this['ctx']['bindBuffer'](this['ctx']['ELEMENT_ARRAY_BUFFER'],_0x34bfaa),this['ctx']['bufferData'](this['ctx']['ELEMENT_ARRAY_BUFFER'],_0x4d2d8d,this['ctx']['STATIC_DRAW']),this['indicesPosBuffer']=_0x34bfaa;}var _0x4b7b5c=this['ctx']['createBuffer']();return this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],_0x4b7b5c),this['ctx']['bufferData'](this['ctx']['ARRAY_BUFFER'],_0x401742,this['ctx']['STATIC_DRAW']),this['texturePosBuffer']=_0x4b7b5c,this['ctx']['bindBuffer'](this['ctx']['ARRAY_BUFFER'],null),_0xd1a05a=null,_0x401742=null,_0x12eada['SR_OK'];}},{'key':'_InitCamera','value':function(_0x5971ab){if(null!=this['pCamera'])return _0x12eada['SR_ERR_CALL_ORDER'];switch(_0x5971ab){case _0x4d466f['SR_DE_NULL']:case _0x4d466f['SR_DE_FISH_ORIGINAL']:case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:case _0x4d466f['SR_DE_FISH_PTZ_WALL']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']:case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:return _0x12eada['SR_OK'];case _0x4d466f['SR_DE_FISH_SEMISPHERE']:if(this['pCamera']=new _0x3298a7(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetFov'](_0x3b2c52),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fRotateX']=4.71,this['pCamera']['SetPitch'](3.14-this['fRotateX']),this['fScale']=0x3,this['pCamera']['SetScale'](this['fScale']);break;case _0x4d466f['SR_DE_PANORAMA_SPHERE']:if(this['pCamera']=new _0x3298a7(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetFov'](_0x3b2c52),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fRotateX']=0x0,this['pCamera']['SetPitch'](3.14-this['fRotateX']),this['fScale']=0x0,this['pCamera']['SetScale'](this['fScale']);break;case _0x4d466f['SR_DE_FISH_CYLINDER_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']:if(this['pCamera']=new _0x3298a7(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetFov'](_0x3b2c52),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fRotateX']=0.785,this['pCamera']['SetPitch'](-this['fRotateX']),this['fScale']=0x6,this['pCamera']['SetScale'](this['fScale']);break;case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']:if(this['pCamera']=new _0x3298a7(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetOrtho'](!0x0),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fScale']=0x3,this['pCamera']['SetScale'](this['fScale']);break;case _0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']:if(this['pCamera']=new _0x3298a7(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetFov'](1.25663704),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fScale']=0x2,this['pCamera']['SetScale'](this['fScale']),_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']==_0x5971ab?(this['fRotateLimitX']=0.17453292222222222,this['fRotateLimitY']=1.0471975333333334):(this['fRotateLimitX']=0.5235987666666667,this['fRotateLimitY']=0.34906584444444444);break;case _0x4d466f['SR_DE_FISH_PLANET']:if(this['pCamera']=new _0x5e5ca3(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetFov'](2.16),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fRotateX']=1.57,this['pCamera']['SetPitch'](this['fRotateX']),this['pCamera']['SetYaw'](_0x645d1a+this['fRotateY']),this['fScale']=0x1,this['pCamera']['SetScale'](this['fScale']);break;case _0x4d466f['SR_DE_PANORAMA_PLANET']:if(this['pCamera']=new _0x5e5ca3(),null==this['pCamera'])return _0x12eada['SR_ERR_ALLOC_MEMORY'];this['pCamera']['SetPano'](!0x0),this['pCamera']['SetNear'](0.02),this['pCamera']['SetFar'](0x3e8),this['fRotateX']=1.57,this['pCamera']['SetPitch'](this['fRotateX']),this['fRotateY']=-1.57,this['pCamera']['SetYaw'](_0x645d1a+this['fRotateY']),this['fScale']=2.6,this['pCamera']['SetScale'](this['fScale']);break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_OK'];}},{'key':'CompileProgram','value':function(_0x2ffadc,_0x2556cb){var _0xfb8dc1=this['ctx'];if(null==_0xfb8dc1||null==_0x2ffadc||null==_0x2556cb)return-0x1;var _0xb71e0f=_0xfb8dc1['createShader'](_0xfb8dc1['VERTEX_SHADER']);if(_0xfb8dc1['shaderSource'](_0xb71e0f,_0x2ffadc),_0xfb8dc1['compileShader'](_0xb71e0f),!_0xfb8dc1['getShaderParameter'](_0xb71e0f,_0xfb8dc1['COMPILE_STATUS']))return-0x1;var _0x4b08a8=_0xfb8dc1['createShader'](_0xfb8dc1['FRAGMENT_SHADER']);if(_0xfb8dc1['shaderSource'](_0x4b08a8,_0x2556cb),_0xfb8dc1['compileShader'](_0x4b08a8),!_0xfb8dc1['getShaderParameter'](_0x4b08a8,_0xfb8dc1['COMPILE_STATUS']))return-0x1;var _0x40b2bb=_0xfb8dc1['createProgram']();return _0xfb8dc1['attachShader'](_0x40b2bb,_0xb71e0f),_0xfb8dc1['attachShader'](_0x40b2bb,_0x4b08a8),_0xfb8dc1['linkProgram'](_0x40b2bb),_0xfb8dc1['getProgramParameter'](_0x40b2bb,_0xfb8dc1['LINK_STATUS'])?(_0xfb8dc1['deleteShader'](_0xb71e0f),_0xfb8dc1['deleteShader'](_0x4b08a8),_0x40b2bb):-0x1;}},{'key':'_CreateSemiSphere','value':function(_0x302666,_0x5d0182,_0xba0759,_0x4a6b5a){if(null!=this['pSemiSpherePos']||null!=this['pSemiSphereTex'])return _0x12eada['SR_ERR_CALL_ORDER'];this['pSemiSpherePos']=new Float32Array(0xa8c0),this['pSemiSphereTex']=new Float32Array(0x7080);for(var _0x52200a=(_0x5d0182-_0x302666)/(_0x4a6b5a-_0xba0759),_0x4901a8=(_0x5d0182-_0x302666)/0x2*0x1,_0x564fe7=6.2831852/0x3c,_0x1d330d=0.0392699075,_0x363aae=0x0,_0x4c1f56=0x0,_0x4ed384=0x0,_0x33eeef=0x0;_0x33eeef<0x3c;++_0x33eeef)for(var _0x5ad86c=0x0;_0x5ad86c<0x28;++_0x5ad86c){var _0x1a5ba4=_0x33eeef*_0x564fe7;0x0==_0x33eeef&&(_0x363aae=_0x1a5ba4);var _0x49d8af=0x3b==_0x33eeef?_0x363aae:(_0x33eeef+0x1)*_0x564fe7,_0x537dfe=-_0x5ad86c*_0x1d330d,_0x596b70=-(_0x5ad86c+0x1)*_0x1d330d,_0x297c96=void 0x0,_0xbdd002=void 0x0;this['pSemiSpherePos'][_0x4c1f56]=-0x1*Math['cos'](_0x537dfe)*Math['cos'](_0x1a5ba4),this['pSemiSpherePos'][_0x4c1f56+0x1]=0x1*Math['sin'](_0x537dfe),this['pSemiSpherePos'][_0x4c1f56+0x2]=-0x1*Math['cos'](_0x537dfe)*Math['sin'](_0x1a5ba4),_0xbdd002=0.5-0.5*(0x1+_0x537dfe/1.5707963)*Math['sin'](_0x1a5ba4),_0x297c96=0.5-0.5*(0x1+_0x537dfe/1.5707963)*Math['cos'](_0x1a5ba4),this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0x297c96*_0x4901a8+0x1*_0x302666)/0x1,this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0xbdd002*_0x4901a8+_0xba0759*_0x52200a)/_0x52200a,_0x4c1f56+=0x3,this['pSemiSpherePos'][_0x4c1f56]=-0x1*Math['cos'](_0x596b70)*Math['cos'](_0x1a5ba4),this['pSemiSpherePos'][_0x4c1f56+0x1]=0x1*Math['sin'](_0x596b70),this['pSemiSpherePos'][_0x4c1f56+0x2]=-0x1*Math['cos'](_0x596b70)*Math['sin'](_0x1a5ba4),_0xbdd002=0.5-0.5*(0x1+_0x596b70/1.5707963)*Math['sin'](_0x1a5ba4),_0x297c96=0.5-0.5*(0x1+_0x596b70/1.5707963)*Math['cos'](_0x1a5ba4),this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0x297c96*_0x4901a8+0x1*_0x302666)/0x1,this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0xbdd002*_0x4901a8+_0xba0759*_0x52200a)/_0x52200a,_0x4c1f56+=0x3,this['pSemiSpherePos'][_0x4c1f56]=-0x1*Math['cos'](_0x537dfe)*Math['cos'](_0x49d8af),this['pSemiSpherePos'][_0x4c1f56+0x1]=0x1*Math['sin'](_0x537dfe),this['pSemiSpherePos'][_0x4c1f56+0x2]=-0x1*Math['cos'](_0x537dfe)*Math['sin'](_0x49d8af),_0xbdd002=0.5-0.5*(0x1+_0x537dfe/1.5707963)*Math['sin'](_0x49d8af),_0x297c96=0.5-0.5*(0x1+_0x537dfe/1.5707963)*Math['cos'](_0x49d8af),this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0x297c96*_0x4901a8+0x1*_0x302666)/0x1,this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0xbdd002*_0x4901a8+_0xba0759*_0x52200a)/_0x52200a,_0x4c1f56+=0x3,this['pSemiSpherePos'][_0x4c1f56]=-0x1*Math['cos'](_0x537dfe)*Math['cos'](_0x49d8af),this['pSemiSpherePos'][_0x4c1f56+0x1]=0x1*Math['sin'](_0x537dfe),this['pSemiSpherePos'][_0x4c1f56+0x2]=-0x1*Math['cos'](_0x537dfe)*Math['sin'](_0x49d8af),_0xbdd002=0.5-0.5*(0x1+_0x537dfe/1.5707963)*Math['sin'](_0x49d8af),_0x297c96=0.5-0.5*(0x1+_0x537dfe/1.5707963)*Math['cos'](_0x49d8af),this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0x297c96*_0x4901a8+0x1*_0x302666)/0x1,this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0xbdd002*_0x4901a8+_0xba0759*_0x52200a)/_0x52200a,_0x4c1f56+=0x3,this['pSemiSpherePos'][_0x4c1f56]=-0x1*Math['cos'](_0x596b70)*Math['cos'](_0x1a5ba4),this['pSemiSpherePos'][_0x4c1f56+0x1]=0x1*Math['sin'](_0x596b70),this['pSemiSpherePos'][_0x4c1f56+0x2]=-0x1*Math['cos'](_0x596b70)*Math['sin'](_0x1a5ba4),_0xbdd002=0.5-0.5*(0x1+_0x596b70/1.5707963)*Math['sin'](_0x1a5ba4),_0x297c96=0.5-0.5*(0x1+_0x596b70/1.5707963)*Math['cos'](_0x1a5ba4),this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0x297c96*_0x4901a8+0x1*_0x302666)/0x1,this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0xbdd002*_0x4901a8+_0xba0759*_0x52200a)/_0x52200a,_0x4c1f56+=0x3,this['pSemiSpherePos'][_0x4c1f56]=-0x1*Math['cos'](_0x596b70)*Math['cos'](_0x49d8af),this['pSemiSpherePos'][_0x4c1f56+0x1]=0x1*Math['sin'](_0x596b70),this['pSemiSpherePos'][_0x4c1f56+0x2]=-0x1*Math['cos'](_0x596b70)*Math['sin'](_0x49d8af),_0xbdd002=0.5-0.5*(0x1+_0x596b70/1.5707963)*Math['sin'](_0x49d8af),_0x297c96=0.5-0.5*(0x1+_0x596b70/1.5707963)*Math['cos'](_0x49d8af),this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0x297c96*_0x4901a8+0x1*_0x302666)/0x1,this['pSemiSphereTex'][_0x4ed384++]=(0x2*_0xbdd002*_0x4901a8+_0xba0759*_0x52200a)/_0x52200a,_0x4c1f56+=0x3;}return this['nSemiSpherePosNum']=_0x4c1f56/0x3,this['nSemiSpherePosSize']=0x3,this['nSemiSphereTexSize']=0x2,_0x12eada['SR_OK'];}},{'key':'_CreateSphere','value':function(){if(null!=this['pSpherePos']||null!=this['pSphereTex'])return _0x12eada['SR_ERR_CALL_ORDER'];this['pSpherePos']=new Float32Array(0x1e7b),this['pSphereTex']=new Float32Array(0x1452),this['pSphereInd']=new Uint16Array(0x3a98);for(var _0x14a043=0x0,_0x55bdbb=0x0,_0x293e77=0x0;_0x293e77<=0x32;++_0x293e77)for(var _0x1651dd=_0x293e77*_0x645d1a/0x32-1.5707963,_0xf2a45b=Math['sin'](_0x1651dd),_0x31648e=Math['cos'](_0x1651dd),_0x4ebf86=0x0;_0x4ebf86<=0x32;++_0x4ebf86){var _0x10524b=0x2*_0x4ebf86*_0x645d1a/0x32-_0x645d1a,_0x2c25b0=Math['sin'](_0x10524b),_0x33701f=0x1*_0x31648e*Math['cos'](_0x10524b),_0x4c3d3b=0x1*_0xf2a45b,_0x4e5e99=0x1*_0x31648e*_0x2c25b0;this['pSpherePos'][_0x14a043]=-_0x33701f,this['pSpherePos'][_0x14a043+0x1]=_0x4c3d3b,this['pSpherePos'][_0x14a043+0x2]=_0x4e5e99;var _0x277de9=_0x4ebf86/0x32,_0x1bd6b7=_0x293e77/0x32;this['pSphereTex'][_0x55bdbb++]=_0x277de9,this['pSphereTex'][_0x55bdbb++]=_0x1bd6b7,_0x14a043+=0x3;}for(var _0x471614=0x0,_0x4336a6=0x0;_0x4336a6<0x32;++_0x4336a6)for(var _0x4b6683=0x0;_0x4b6683<0x32;++_0x4b6683){var _0x54b3df=0x33*_0x4336a6+_0x4b6683,_0x1a6807=_0x54b3df+0x32+0x1;this['pSphereInd'][_0x471614+0x0]=_0x54b3df,this['pSphereInd'][_0x471614+0x1]=_0x1a6807,this['pSphereInd'][_0x471614+0x2]=_0x54b3df+0x1,this['pSphereInd'][_0x471614+0x3]=_0x1a6807,this['pSphereInd'][_0x471614+0x4]=_0x1a6807+0x1,this['pSphereInd'][_0x471614+0x5]=_0x54b3df+0x1,_0x471614+=0x6;}return this['nSpherePosNum']=0x9c4,this['nSpherePosSize']=0x3,this['nSphereTexSize']=0x2,_0x12eada['SR_OK'];}},{'key':'_CreateCylinder','value':function(_0x3f62e3,_0x5e8168,_0x25a99e,_0x343752,_0x5c44e2,_0x183a45,_0x3e70d7){if(null!=this['pCylinderPos']||null!=this['pCylinderTex'])return _0x12eada['SR_ERR_CALL_ORDER'];if(Math['abs'](_0x183a45-0x0)<0.000001)this['fCylinderHeight']=0x2;else{if(_0x183a45<0.5||_0x183a45>0x6)return _0x12eada['SR_ERR_PARAM'];this['fCylinderHeight']=_0x183a45;}if(Math['abs'](_0x3e70d7-0x0)<0.000001)_0x3f62e3==_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']||_0x3f62e3==_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']?this['fCylinderRadius']=0x2:this['fCylinderRadius']=0x1;else{if(_0x3e70d7<0.5||_0x3e70d7>0x4)return _0x12eada['SR_ERR_PARAM'];this['fCylinderRadius']=_0x3e70d7;}if(this['pCylinderPos']=new Float32Array(0xa8c0),this['pCylinderTex']=new Float32Array(0x7080),null==this['pCylinderPos']||null==this['pCylinderTex'])return this['pCylinderPos']=null,this['pCylinderTex']=null,_0x12eada['SR_ERR_ALLOC_MEMORY'];for(var _0x232913=(_0x25a99e-_0x5e8168)/(_0x5c44e2-_0x343752),_0x5db5a8=(_0x25a99e-_0x5e8168)/0x2*0x1,_0x479218=6.2831852/0x3c,_0x520ccb=this['fCylinderHeight']/0x28,_0x20f702=0x0,_0x504f58=0x0,_0x53421b=0x0;_0x53421b<0x3c;++_0x53421b)for(var _0x1b4378=0x0;_0x1b4378<0x28;++_0x1b4378){var _0x5680b2=_0x53421b*_0x479218,_0x3f0453=(_0x53421b+0x1)*_0x479218,_0x119670=void 0x0,_0x212eca=void 0x0;this['pCylinderPos'][_0x20f702]=-this['fCylinderRadius']*Math['sin'](_0x5680b2),this['pCylinderPos'][_0x20f702+0x1]=this['fCylinderHeight']/0x2-_0x1b4378*_0x520ccb,this['pCylinderPos'][_0x20f702+0x2]=-this['fCylinderRadius']*Math['cos'](_0x5680b2),_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==_0x3f62e3||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==_0x3f62e3?(_0x119670=0.5+(0.1+0.01*_0x1b4378)*Math['sin'](_0x5680b2),_0x212eca=0.5+(0.1+0.01*_0x1b4378)*Math['cos'](_0x5680b2)):(_0x119670=0.5-(0.5-0.01*_0x1b4378)*Math['sin'](_0x5680b2),_0x212eca=0.5+(0.5-0.01*_0x1b4378)*Math['cos'](_0x5680b2)),this['pCylinderTex'][_0x504f58++]=(0x2*_0x119670*_0x5db5a8+0x1*_0x5e8168)/0x1,this['pCylinderTex'][_0x504f58++]=(0x2*_0x212eca*_0x5db5a8+_0x343752*_0x232913)/_0x232913,_0x20f702+=0x3,this['pCylinderPos'][_0x20f702]=-this['fCylinderRadius']*Math['sin'](_0x5680b2),this['pCylinderPos'][_0x20f702+0x1]=this['fCylinderHeight']/0x2-(_0x1b4378+0x1)*_0x520ccb,this['pCylinderPos'][_0x20f702+0x2]=-this['fCylinderRadius']*Math['cos'](_0x5680b2),_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==_0x3f62e3||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==_0x3f62e3?(_0x119670=0.5+(0.1+0.01*(_0x1b4378+0x1))*Math['sin'](_0x5680b2),_0x212eca=0.5+(0.1+0.01*(_0x1b4378+0x1))*Math['cos'](_0x5680b2)):(_0x119670=0.5-(0.5-0.01*(_0x1b4378+0x1))*Math['sin'](_0x5680b2),_0x212eca=0.5+(0.5-0.01*(_0x1b4378+0x1))*Math['cos'](_0x5680b2)),this['pCylinderTex'][_0x504f58++]=(0x2*_0x119670*_0x5db5a8+0x1*_0x5e8168)/0x1,this['pCylinderTex'][_0x504f58++]=(0x2*_0x212eca*_0x5db5a8+_0x343752*_0x232913)/_0x232913,_0x20f702+=0x3,this['pCylinderPos'][_0x20f702]=-this['fCylinderRadius']*Math['sin'](_0x3f0453),this['pCylinderPos'][_0x20f702+0x1]=this['fCylinderHeight']/0x2-_0x1b4378*_0x520ccb,this['pCylinderPos'][_0x20f702+0x2]=-this['fCylinderRadius']*Math['cos'](_0x3f0453),_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==_0x3f62e3||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==_0x3f62e3?(_0x119670=0.5+(0.1+0.01*_0x1b4378)*Math['sin'](_0x3f0453),_0x212eca=0.5+(0.1+0.01*_0x1b4378)*Math['cos'](_0x3f0453)):(_0x119670=0.5-(0.5-0.01*_0x1b4378)*Math['sin'](_0x3f0453),_0x212eca=0.5+(0.5-0.01*_0x1b4378)*Math['cos'](_0x3f0453)),this['pCylinderTex'][_0x504f58++]=(0x2*_0x119670*_0x5db5a8+0x1*_0x5e8168)/0x1,this['pCylinderTex'][_0x504f58++]=(0x2*_0x212eca*_0x5db5a8+_0x343752*_0x232913)/_0x232913,_0x20f702+=0x3,this['pCylinderPos'][_0x20f702]=-this['fCylinderRadius']*Math['sin'](_0x3f0453),this['pCylinderPos'][_0x20f702+0x1]=this['fCylinderHeight']/0x2-_0x1b4378*_0x520ccb,this['pCylinderPos'][_0x20f702+0x2]=-this['fCylinderRadius']*Math['cos'](_0x3f0453),_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==_0x3f62e3||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==_0x3f62e3?(_0x119670=0.5+(0.1+0.01*_0x1b4378)*Math['sin'](_0x3f0453),_0x212eca=0.5+(0.1+0.01*_0x1b4378)*Math['cos'](_0x3f0453)):(_0x119670=0.5-(0.5-0.01*_0x1b4378)*Math['sin'](_0x3f0453),_0x212eca=0.5+(0.5-0.01*_0x1b4378)*Math['cos'](_0x3f0453)),this['pCylinderTex'][_0x504f58++]=(0x2*_0x119670*_0x5db5a8+0x1*_0x5e8168)/0x1,this['pCylinderTex'][_0x504f58++]=(0x2*_0x212eca*_0x5db5a8+_0x343752*_0x232913)/_0x232913,_0x20f702+=0x3,this['pCylinderPos'][_0x20f702]=-this['fCylinderRadius']*Math['sin'](_0x5680b2),this['pCylinderPos'][_0x20f702+0x1]=this['fCylinderHeight']/0x2-(_0x1b4378+0x1)*_0x520ccb,this['pCylinderPos'][_0x20f702+0x2]=-this['fCylinderRadius']*Math['cos'](_0x5680b2),_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==_0x3f62e3||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==_0x3f62e3?(_0x119670=0.5+(0.1+0.01*(_0x1b4378+0x1))*Math['sin'](_0x5680b2),_0x212eca=0.5+(0.1+0.01*(_0x1b4378+0x1))*Math['cos'](_0x5680b2)):(_0x119670=0.5-(0.5-0.01*(_0x1b4378+0x1))*Math['sin'](_0x5680b2),_0x212eca=0.5+(0.5-0.01*(_0x1b4378+0x1))*Math['cos'](_0x5680b2)),this['pCylinderTex'][_0x504f58++]=(0x2*_0x119670*_0x5db5a8+0x1*_0x5e8168)/0x1,this['pCylinderTex'][_0x504f58++]=(0x2*_0x212eca*_0x5db5a8+_0x343752*_0x232913)/_0x232913,_0x20f702+=0x3,this['pCylinderPos'][_0x20f702]=-this['fCylinderRadius']*Math['sin'](_0x3f0453),this['pCylinderPos'][_0x20f702+0x1]=this['fCylinderHeight']/0x2-(_0x1b4378+0x1)*_0x520ccb,this['pCylinderPos'][_0x20f702+0x2]=-this['fCylinderRadius']*Math['cos'](_0x3f0453),_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==_0x3f62e3||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==_0x3f62e3?(_0x119670=0.5+(0.1+0.01*(_0x1b4378+0x1))*Math['sin'](_0x3f0453),_0x212eca=0.5+(0.1+0.01*(_0x1b4378+0x1))*Math['cos'](_0x3f0453)):(_0x119670=0.5-(0.5-0.01*(_0x1b4378+0x1))*Math['sin'](_0x3f0453),_0x212eca=0.5+(0.5-0.01*(_0x1b4378+0x1))*Math['cos'](_0x3f0453)),this['pCylinderTex'][_0x504f58++]=(0x2*_0x119670*_0x5db5a8+0x1*_0x5e8168)/0x1,this['pCylinderTex'][_0x504f58++]=(0x2*_0x212eca*_0x5db5a8+_0x343752*_0x232913)/_0x232913,_0x20f702+=0x3;}return this['nCylinderPosNum']=_0x20f702/0x3,this['nCylinderPosSize']=0x3,this['nCylinderTexSize']=0x2,_0x12eada['SR_OK'];}},{'key':'_CreateArcSphere','value':function(_0x13f05f,_0x1bf08a,_0x2f6006,_0x3b9e2e,_0x5d5669){if(null!=this['pArcSpherePos']||null!=this['pArcSphereTex'])return _0x12eada['SR_ERR_CALL_ORDER'];if(_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']){if(_0x3b9e2e>0x0||_0x5d5669<0x1)return _0x12eada['SR_ERR_PARAM'];}else{if(_0x13f05f!=_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL'])return _0x12eada['SR_ERR_NOT_SUPPORT'];if(_0x1bf08a>0x0||_0x2f6006<0x1)return _0x12eada['SR_ERR_PARAM'];}this['fImageWidth']=0x1,this['fImageHeight']=(_0x2f6006-_0x1bf08a)/(_0x5d5669-_0x3b9e2e),this['fTexCenterX']=(_0x1bf08a+_0x2f6006)/0x2*this['fImageWidth'],this['fTexCenterY']=(_0x3b9e2e+_0x5d5669)/0x2*this['fImageHeight'],this['fTexRadius']=(_0x2f6006-_0x1bf08a)/0x2*this['fImageWidth'];if(null==this['pArcSphereTex']&&(this['pArcSphereTex']=new Float32Array(0x3960),null==this['pArcSphereTex']))return _0x12eada['SR_ERR_ALLOC_MEMORY'];if(null==this['pArcSpherePos']&&(this['pArcSpherePos']=new Float32Array(0x5610),null==this['pArcSpherePos']))return _0x12eada['SR_ERR_ALLOC_MEMORY'];var _0x2e0344=new Float32Array(0x40);if(null==_0x2e0344)return _0x12eada['SR_ERR_ALLOC_MEMORY'];var _0xb50cf=_0x12eada['SR_OK'];if(_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?_0xb50cf=this['_ComputeLatitudeHorizontal'](_0x2e0344,0x19,0x28,0x1):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&(_0xb50cf=this['_ComputeLatitudeVertical'](_0x2e0344,0x19,0x28,0x1)),_0x12eada['SR_OK']!=_0xb50cf)return this['pArcSpherePos']=null,this['pArcSphereTex']=null,_0xb50cf;this['fFirstLatitude']=_0x2e0344[0xc],this['fLastLatitude']=_0x2e0344[0x33];var _0x50ac0f=0x0,_0x2e2286=0x0,_0x2e8f58=new Float32Array(0x5);if(null==_0x2e8f58)return this['pArcSpherePos']=null,this['pArcSphereTex']=null,_0x12eada['SR_ERR_ALLOC_MEMORY'];for(var _0x5c5c1f=_0x645d1a/0x18,_0x2d7113=-0xc;_0x2d7113<0xc;++_0x2d7113)for(var _0x19edb8=_0x2d7113<0x0?-_0x2d7113:_0x2d7113,_0x2cd72e=_0x2d7113<0x0?_0x19edb8:_0x19edb8+0x1,_0x9c630d=_0x2d7113<0x0?0x40-0x2*(_0x19edb8-0x1)-0x2:0x40-0x2*_0x19edb8-0x2,_0x400fb7=0x0;_0x400fb7<_0x9c630d;++_0x400fb7,++_0x2cd72e)_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e],_0x2e8f58),this['pArcSpherePos'][_0x50ac0f]=_0x2e8f58[0x0],this['pArcSpherePos'][_0x50ac0f+0x1]=_0x2e8f58[0x1],this['pArcSpherePos'][_0x50ac0f+0x2]=_0x2e8f58[0x2],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x3],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x4],_0x50ac0f+=0x3,_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e],_0x2e8f58),this['pArcSpherePos'][_0x50ac0f]=_0x2e8f58[0x0],this['pArcSpherePos'][_0x50ac0f+0x1]=_0x2e8f58[0x1],this['pArcSpherePos'][_0x50ac0f+0x2]=_0x2e8f58[0x2],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x3],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x4],_0x50ac0f+=0x3,_0x2d7113>=0x0&&0x0==_0x400fb7?_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e-0x1],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e-0x1],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e-0x1],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e-0x1],_0x2e8f58),this['pArcSpherePos'][_0x50ac0f]=_0x2e8f58[0x0],this['pArcSpherePos'][_0x50ac0f+0x1]=_0x2e8f58[0x1],this['pArcSpherePos'][_0x50ac0f+0x2]=_0x2e8f58[0x2],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x3],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x4],_0x50ac0f+=0x3,_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e],_0x2e8f58),this['pArcSpherePos'][_0x50ac0f]=_0x2e8f58[0x0],this['pArcSpherePos'][_0x50ac0f+0x1]=_0x2e8f58[0x1],this['pArcSpherePos'][_0x50ac0f+0x2]=_0x2e8f58[0x2],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x3],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x4],_0x50ac0f+=0x3,_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e],_0x2e8f58),this['pArcSpherePos'][_0x50ac0f]=_0x2e8f58[0x0],this['pArcSpherePos'][_0x50ac0f+0x1]=_0x2e8f58[0x1],this['pArcSpherePos'][_0x50ac0f+0x2]=_0x2e8f58[0x2],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x3],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x4],_0x50ac0f+=0x3,_0x2d7113<0x0&&_0x400fb7==_0x9c630d-0x1?_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e+0x1],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*(_0x2d7113+0x1),_0x2e0344[_0x2cd72e+0x1],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?this['_ComputeVertexAndTexturePosHorizontal'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e+0x1],_0x2e8f58):_0x13f05f==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']&&this['_ComputeVertexAndTexturePosVertical'](0x1,1.5707963-_0x5c5c1f*_0x2d7113,_0x2e0344[_0x2cd72e+0x1],_0x2e8f58),this['pArcSpherePos'][_0x50ac0f]=_0x2e8f58[0x0],this['pArcSpherePos'][_0x50ac0f+0x1]=_0x2e8f58[0x1],this['pArcSpherePos'][_0x50ac0f+0x2]=_0x2e8f58[0x2],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x3],this['pArcSphereTex'][_0x2e2286++]=_0x2e8f58[0x4],_0x50ac0f+=0x3;return this['nArcSpherePosNum']=_0x50ac0f/0x3,this['nArcSpherePosSize']=0x3,this['nArcSphereTexSize']=0x2,_0x2e0344=null,_0x2e8f58=null,_0x12eada['SR_OK'];}},{'key':'_ComputeIntersectionOfPlaneAndLongtitude','value':function(_0x1f69de,_0x33645b,_0x214c6a){if(null==_0x1f69de)return _0x12eada['SR_ERR_PARAM'];var _0x43cb74,_0x3d75aa=_0x1f69de[0x1]*_0x214c6a,_0x4d5809=_0x1f69de[0x2]*_0x214c6a*Math['sin'](_0x33645b),_0x104ec5=-_0x1f69de[0x3],_0x22b167=0x0;if(_0x1f69de[0x1]>0x0){var _0x3208f2=_0x3d75aa*_0x3d75aa*_0x104ec5*_0x104ec5-(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809)*(_0x104ec5*_0x104ec5-_0x4d5809*_0x4d5809);_0x22b167=(-_0x3d75aa*_0x104ec5-Math['sqrt'](_0x3208f2))/(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809),_0x3208f2=_0x4d5809*_0x4d5809*_0x104ec5*_0x104ec5-(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809)*(_0x104ec5*_0x104ec5-_0x3d75aa*_0x3d75aa),(-_0x4d5809*_0x104ec5+Math['sqrt'](_0x3208f2))/(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809);}if(_0x1f69de[0x1]<0x0){var _0x6bd83f=_0x3d75aa*_0x3d75aa*_0x104ec5*_0x104ec5-(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809)*(_0x104ec5*_0x104ec5-_0x4d5809*_0x4d5809);_0x22b167=(-_0x3d75aa*_0x104ec5+Math['sqrt'](_0x6bd83f))/(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809),_0x6bd83f=_0x4d5809*_0x4d5809*_0x104ec5*_0x104ec5-(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809)*(_0x104ec5*_0x104ec5-_0x3d75aa*_0x3d75aa),(-_0x4d5809*_0x104ec5+Math['sqrt'](_0x6bd83f))/(_0x3d75aa*_0x3d75aa+_0x4d5809*_0x4d5809);}return Math['cos'](_0x33645b),_0x43cb74=-_0x214c6a*_0x22b167,Math['sin'](_0x33645b),Math['asin'](_0x43cb74/_0x214c6a);}},{'key':'_ComputeLatitudeHorizontal','value':function(_0x299774,_0x328a29,_0x59c4b8,_0x535463){if(null==_0x299774)return _0x12eada['SR_ERR_PARAM'];var _0x369620=0x0,_0x2638d7=(this['fTexCenterY'],_0x645d1a/(_0x328a29-0x1)),_0x20ba8d=_0x645d1a*this['fTexCenterY']/(0x2*this['fTexRadius']),_0x1ffb13=Math['asin'](this['fTexCenterY']/this['fTexRadius']),_0x421099=Math['atan'](Math['cos'](_0x20ba8d)/(Math['sin'](_0x20ba8d)-Math['sin'](_0x1ffb13))),_0x200138=new Float32Array(0x4);_0x200138[0x0]=0x0,_0x200138[0x1]=Math['sin'](_0x421099),_0x200138[0x2]=Math['cos'](_0x421099),_0x200138[0x3]=-_0x535463*Math['sin'](_0x421099)*Math['sin'](_0x1ffb13),_0x299774[_0x369620++]=_0x20ba8d;for(var _0x4e45e9=0x1;_0x4e45e9<=(_0x328a29-0x3)/0x2;++_0x4e45e9){var _0x4623e0=this['_ComputeIntersectionOfPlaneAndLongtitude'](_0x200138,1.5707963-_0x2638d7*_0x4e45e9,_0x535463);_0x299774[_0x369620++]=_0x4623e0;}for(var _0x2bd513=-Math['asin']((this['fImageHeight']-this['fTexCenterY'])/this['fTexRadius']),_0x403d42=_0x1ffb13,_0x30ec4e=(_0x403d42-_0x2bd513)/(_0x59c4b8-0x1),_0x30f562=0x0;_0x30f562<_0x59c4b8;++_0x30f562)_0x299774[_0x369620++]=_0x403d42-_0x30f562*_0x30ec4e;var _0x3261c7=_0x2bd513,_0x15ecb6=_0x645d1a*(this['fTexCenterY']-this['fImageHeight'])/(0x2*this['fTexRadius']);_0x421099=Math['atan'](Math['cos'](_0x15ecb6)/(Math['sin'](_0x3261c7)-Math['sin'](_0x15ecb6)));var _0x3ca821=new Float32Array(0x4);_0x3ca821[0x0]=0x0,_0x3ca821[0x1]=-Math['sin'](_0x421099),_0x3ca821[0x2]=Math['cos'](_0x421099),_0x3ca821[0x3]=_0x535463*Math['sin'](_0x421099)*Math['sin'](_0x3261c7);for(var _0x33e4a6=0x1;_0x33e4a6<=(_0x328a29-0x3)/0x2;++_0x33e4a6){var _0x2e8b2a=this['_ComputeIntersectionOfPlaneAndLongtitude'](_0x3ca821,_0x2638d7*_0x33e4a6,_0x535463);_0x299774[_0x369620++]=_0x2e8b2a;}return _0x299774[_0x369620++]=_0x15ecb6,_0x200138=null,_0x3ca821=null,_0x12eada['SR_OK'];}},{'key':'_ComputeVertexAndTexturePosHorizontal','value':function(_0x1bdbaf,_0x4a6e49,_0x23e9c8,_0x24914c){if(null==_0x24914c)return _0x12eada['SR_ERR_PARAM'];_0x24914c[0x2]=-_0x1bdbaf*Math['cos'](_0x23e9c8)*Math['sin'](_0x4a6e49),_0x24914c[0x0]=_0x1bdbaf*Math['cos'](_0x23e9c8)*Math['cos'](_0x4a6e49),_0x24914c[0x1]=_0x1bdbaf*Math['sin'](_0x23e9c8);var _0x4a8de3,_0x4fc9d6=-Math['asin'](-_0x24914c[0x2]/_0x1bdbaf)/_0x645d1a;_0x4a8de3=_0x23e9c8>=0x0?Math['acos'](_0x24914c[0x0]/Math['sqrt'](_0x24914c[0x0]*_0x24914c[0x0]+_0x24914c[0x1]*_0x24914c[0x1])):6.2831852-Math['acos'](_0x24914c[0x0]/Math['sqrt'](_0x24914c[0x0]*_0x24914c[0x0]+_0x24914c[0x1]*_0x24914c[0x1]));var _0x33b830=this['fTexCenterX']-this['fTexRadius'],_0x332f11=this['fTexRadius']-this['fTexCenterY'];return _0x24914c[0x3]=(Math['cos'](_0x4a8de3)*this['fTexRadius']*(0x1+0x2*_0x4fc9d6)+this['fTexRadius']+_0x33b830)/this['fImageWidth'],_0x24914c[0x4]=(Math['sin'](_0x4a8de3)*this['fTexRadius']*(-0x1-0x2*_0x4fc9d6)+this['fTexRadius']-_0x332f11)/this['fImageHeight'],_0x12eada['SR_OK'];}},{'key':'_ComputeLatitudeVertical','value':function(_0x334375,_0x1d1888,_0x391144,_0x2c3e4f){if(null==_0x334375)return _0x12eada['SR_ERR_PARAM'];var _0x5031d4=0x0,_0x41d833=_0x645d1a/(_0x1d1888-0x1),_0x578f90=_0x645d1a*this['fTexCenterX']/(0x2*this['fTexRadius']),_0x1481a0=Math['asin'](this['fTexCenterX']/this['fTexRadius']),_0x521fb7=Math['atan'](Math['cos'](_0x578f90)/(Math['sin'](_0x578f90)-Math['sin'](_0x1481a0))),_0xef2275=new Float32Array(0x4);_0xef2275[0x0]=0x0,_0xef2275[0x1]=Math['sin'](_0x521fb7),_0xef2275[0x2]=Math['cos'](_0x521fb7),_0xef2275[0x3]=-_0x2c3e4f*Math['sin'](_0x521fb7)*Math['sin'](_0x1481a0),_0x334375[_0x5031d4++]=_0x578f90;for(var _0x4973fd=0x1;_0x4973fd<=(_0x1d1888-0x3)/0x2;++_0x4973fd){var _0x3f8b33=this['_ComputeIntersectionOfPlaneAndLongtitude'](_0xef2275,1.5707963-_0x41d833*_0x4973fd,_0x2c3e4f);_0x334375[_0x5031d4++]=_0x3f8b33;}for(var _0xb9a95d=-Math['asin']((this['fImageWidth']-this['fTexCenterX'])/this['fTexRadius']),_0x1b3fc0=_0x1481a0,_0x19e4be=(_0x1b3fc0-_0xb9a95d)/(_0x391144-0x1),_0x427c5b=0x0;_0x427c5b<_0x391144;++_0x427c5b)_0x334375[_0x5031d4++]=_0x1b3fc0-_0x427c5b*_0x19e4be;var _0x32fe25=_0xb9a95d,_0x223d9c=_0x645d1a*(this['fTexCenterX']-this['fImageWidth'])/(0x2*this['fTexRadius']);_0x521fb7=Math['atan'](Math['cos'](_0x223d9c)/(Math['sin'](_0x32fe25)-Math['sin'](_0x223d9c)));var _0x5ed7df=new Float32Array(0x4);_0x5ed7df[0x0]=0x0,_0x5ed7df[0x1]=-Math['sin'](_0x521fb7),_0x5ed7df[0x2]=Math['cos'](_0x521fb7),_0x5ed7df[0x3]=_0x2c3e4f*Math['sin'](_0x521fb7)*Math['sin'](_0x32fe25);for(var _0x95f005=0x1;_0x95f005<=(_0x1d1888-0x3)/0x2;++_0x95f005){var _0x4431a8=this['_ComputeIntersectionOfPlaneAndLongtitude'](_0x5ed7df,_0x41d833*_0x95f005,_0x2c3e4f);_0x334375[_0x5031d4++]=_0x4431a8;}return _0x334375[_0x5031d4++]=_0x223d9c,_0xef2275=null,_0x5ed7df=null,_0x12eada['SR_OK'];}},{'key':'_ComputeVertexAndTexturePosVertical','value':function(_0x22a75b,_0x4c6386,_0x494418,_0x4556a7){if(null==_0x4556a7)return _0x12eada['SR_ERR_PARAM'];_0x4556a7[0x2]=-_0x22a75b*Math['cos'](_0x494418)*Math['sin'](_0x4c6386),_0x4556a7[0x1]=_0x22a75b*Math['cos'](_0x494418)*Math['cos'](_0x4c6386),_0x4556a7[0x0]=-_0x22a75b*Math['sin'](_0x494418);var _0xb4bff9,_0x4aef4a=-Math['asin'](-_0x4556a7[0x2]/_0x22a75b)/_0x645d1a;_0xb4bff9=_0x4c6386<=1.5707963?Math['acos'](_0x4556a7[0x0]/Math['sqrt'](_0x4556a7[0x0]*_0x4556a7[0x0]+_0x4556a7[0x1]*_0x4556a7[0x1])):6.2831852-Math['acos'](_0x4556a7[0x0]/Math['sqrt'](_0x4556a7[0x0]*_0x4556a7[0x0]+_0x4556a7[0x1]*_0x4556a7[0x1]));var _0x2b1108=this['fTexCenterX']-this['fTexRadius'],_0x1551be=this['fTexRadius']-this['fTexCenterY'];return _0x4556a7[0x3]=(Math['cos'](_0xb4bff9)*this['fTexRadius']*(0x1+0x2*_0x4aef4a)+this['fTexRadius']+_0x2b1108)/this['fImageWidth'],_0x4556a7[0x4]=(Math['sin'](_0xb4bff9)*this['fTexRadius']*(-0x1-0x2*_0x4aef4a)+this['fTexRadius']-_0x1551be)/this['fImageHeight'],_0x12eada['SR_OK'];}},{'key':'_BeginCapture','value':function(){var _0x14ce3b=_0x12eada['SR_OK'];return 0x0==this['bCaptureResInit']&&(_0x14ce3b=this['_InitRenderTarget'](this['nWndWidth'],this['nWndHeight'],!0x1,!0x0),_0x12eada['SR_OK']!=_0x14ce3b)?_0x14ce3b:(_0x14ce3b=this['_Resize'](this['nWndWidth'],this['nWndHeight'],!0x1,!0x0),_0x12eada['SR_OK']!=_0x14ce3b?_0x14ce3b:(this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],this['nCaptureFBO']),this['bIsCapturing']=!0x0,_0x12eada['SR_OK']));}},{'key':'_InitRenderTarget','value':function(_0x1c7258,_0x4de7fe,_0x8bafe2,_0x598966){if(0x0!=this['nCaptureRTTex']||0x0!=this['nCaptureFBO'])return _0x12eada['SR_ERR_CALL_ORDER'];if(_0x1c7258<=0x0||_0x4de7fe<=0x0)return _0x12eada['SR_ERR_PARAM'];if(this['nCaptureRTTex']=this['ctx']['createTexture'](),this['nCaptureRTTex']<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nCaptureRTTex']),this['bAntialias']?this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR_MINMAP_LINEAR']):this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texImage2D'](this['ctx']['TEXTURE_2D'],0x0,this['ctx']['RGBA'],_0x1c7258,_0x4de7fe,0x0,this['ctx']['RGBA'],this['ctx']['UNSIGNED_BYTE'],null),0x0==this['nCaptureFBO']&&(this['nCaptureFBO']=this['ctx']['createFramebuffer'](),this['nCaptureFBO']<=0x0))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],this['nCaptureFBO']),this['ctx']['framebufferTexture2D'](this['ctx']['FRAMEBUFFER'],this['ctx']['COLOR_ATTACHMENT0'],this['ctx']['TEXTURE_2D'],this['nCaptureRTTex'],0x0),0x1==_0x598966&&0x0==this['nCaptureDepthbuffer']){if(this['nCaptureDepthbuffer']=this['ctx']['createRenderbuffer'](),this['nCaptureDepthbuffer']<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindRenderbuffer'](this['ctx']['RENDERBUFFER'],this['nCaptureDepthbuffer']),this['ctx']['renderbufferStorage'](this['ctx']['RENDERBUFFER'],this['ctx']['DEPTH_COMPONENT16'],_0x1c7258,_0x4de7fe),this['ctx']['framebufferRenderbuffer'](this['ctx']['FRAMEBUFFER'],this['ctx']['DEPTH_ATTACHMENT'],this['ctx']['RENDERBUFFER'],this['nCaptureDepthbuffer']);}return this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),this['nCaptureFBOWidth']=_0x1c7258,this['nCaptureFBOHeight']=_0x4de7fe,this['bCaptureResInit']=!0x0,_0x12eada['SR_OK'];}},{'key':'_Resize','value':function(_0x398ac4,_0x4e4305,_0x14cbed,_0x3ebde8){if(this['nCaptureFBOWidth']!=_0x398ac4||this['nCaptureFBOHeight']!=_0x4e4305){if(this['nCaptureFBOWidth']=_0x398ac4,this['nCaptureFBOHeight']=_0x4e4305,0x0!=this['nCaptureRTTex']&&(this['ctx']['deleteTexture'](this['nCaptureRTTex']),this['nCaptureRTTex']=0x0),0x0!=this['nCaptureDepthbuffer']&&(this['ctx']['deleteRenderbuffer'](this['nCaptureDepthbuffer']),this['nCaptureDepthbuffer']=0x0),0x0==this['nCaptureRTTex']&&(this['nCaptureRTTex']=this['ctx']['createTexture'](),this['nCaptureRTTex']<=0x0))return _0x12eada['SR_ERR_WEBGL_RESOURCE'];if(this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],this['nCaptureRTTex']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['bAntialias']?this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR_MINMAP_LINEAR']):this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texImage2D'](this['ctx']['TEXTURE_2D'],0x0,this['ctx']['RGBA'],this['nCaptureFBOWidth'],this['nCaptureFBOHeight'],0x0,this['ctx']['RGBA'],this['ctx']['UNSIGNED_BYTE'],null),this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],this['nCaptureFBO']),this['ctx']['framebufferTexture2D'](this['ctx']['FRAMEBUFFER'],this['ctx']['COLOR_ATTACHMENT0'],this['ctx']['TEXTURE_2D'],this['nCaptureRTTex'],0x0),0x1==_0x3ebde8&&0x0==this['nCaptureDepthbuffer']){if(this['nCaptureDepthbuffer']=this['ctx']['createRenderbuffer'](),this['nCaptureDepthbuffer']<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindRenderbuffer'](this['ctx']['RENDERBUFFER'],this['nCaptureDepthbuffer']),this['ctx']['renderbufferStorage'](this['ctx']['RENDERBUFFER'],this['ctx']['DEPTH_COMPONENT16'],_0x398ac4,_0x4e4305),this['ctx']['framebufferRenderbuffer'](this['ctx']['FRAMEBUFFER'],this['ctx']['DEPTH_ATTACHMENT'],this['ctx']['RENDERBUFFER'],this['nCaptureDepthbuffer']);}this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null);}return _0x12eada['SR_OK'];}},{'key':'_EndCapture','value':function(_0x390593){return null==this['ctx']?(this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_CALL_ORDER']):null==_0x390593['pBuffer']||null==_0x390593['pBuffer']?(this['bIsCapturing']=!0x1,this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),_0x12eada['SR_ERR_PARAM']):(this['ctx']['readPixels'](0x0,0x0,this['nCaptureWidth'],this['nCaptureHeight'],this['ctx']['RGBA'],this['ctx']['UNSIGNED_BYTE'],_0x390593['pBuffer']),this['ctx']['bindFramebuffer'](this['ctx']['FRAMEBUFFER'],null),this['bIsCapturing']=!0x1,_0x12eada['SR_OK']);}},{'key':'_ComputeRotateLimits','value':function(){if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']||this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']){var _0x654f63,_0x4714ff;if(this['enDisplayEffect']==_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']?(_0x654f63=0.17453292222222222,_0x4714ff=1.0471975333333334):(_0x654f63=0.5235987666666667,_0x4714ff=0.34906584444444444),0x0==this['nWndWidth']||0x0==this['nWndHeight'])this['fRotateLimitX']=_0x654f63,this['fRotateLimitY']=_0x4714ff;else{var _0x11cdf2=Math['tan'](2.748893525);if(Math['abs'](_0x11cdf2*this['fScale'])<0x1){var _0x59b4cd=_0x11cdf2*_0x11cdf2+0x1,_0x2bae9d=-0x2*_0x11cdf2*_0x11cdf2*this['fScale'],_0x3ca976=_0x11cdf2*_0x11cdf2*this['fScale']*this['fScale']-0x1,_0x288d52=(-_0x2bae9d-Math['sqrt'](_0x2bae9d*_0x2bae9d-0x4*_0x59b4cd*_0x3ca976))/(0x2*_0x59b4cd),_0x5c358b=_0x11cdf2*(_0x288d52-this['fScale']);this['fRotateLimitX']=Math['acos'](_0x5c358b/Math['sqrt'](_0x288d52*_0x288d52+_0x5c358b*_0x5c358b)),this['fRotateLimitX']<_0x654f63&&(this['fRotateLimitX']=_0x654f63);}else this['fRotateLimitX']=_0x654f63;var _0x2a6500=Math['atan'](this['nWndWidth']/this['nWndHeight']*Math['tan'](_0x3b2c52/0x2));if(_0x11cdf2=Math['tan'](_0x645d1a-_0x2a6500),Math['abs'](_0x11cdf2*this['fScale'])<0x1){var _0x3e18f8=_0x11cdf2*_0x11cdf2+0x1,_0x5a0452=-0x2*_0x11cdf2*_0x11cdf2*this['fScale'],_0x3da698=_0x11cdf2*_0x11cdf2*this['fScale']*this['fScale']-0x1,_0x2bd8ae=(-_0x5a0452-Math['sqrt'](_0x5a0452*_0x5a0452-0x4*_0x3e18f8*_0x3da698))/(0x2*_0x3e18f8),_0x4be32a=_0x11cdf2*(_0x2bd8ae-this['fScale']);this['fRotateLimitY']=Math['acos'](_0x4be32a/Math['sqrt'](_0x2bd8ae*_0x2bd8ae+_0x4be32a*_0x4be32a)),this['fRotateLimitY']<_0x4714ff&&(this['fRotateLimitY']=_0x4714ff);}else this['fRotateLimitY']=_0x4714ff;}this['fRotateX']>this['fRotateLimitX']&&(this['fRotateX']=this['fRotateLimitX']),this['fRotateX']<-this['fRotateLimitX']&&(this['fRotateX']=-this['fRotateLimitX']),this['fRotateY']>this['fRotateLimitY']&&(this['fRotateY']=this['fRotateLimitX']),this['fRotateY']<-this['fRotateLimitX']&&(this['fRotateY']=-this['fRotateLimitX']);}return _0x12eada['SR_OK'];}},{'key':'SetMSAACache','value':function(_0x46baaf,_0x41bb63){return this['msaaFrameBuffer']=_0x46baaf,this['renderBuffer']=_0x41bb63,_0x12eada['SR_OK'];}}]),_0x408baa;}()),_0x25eff0=(function(){function _0xc00ba7(){_0x3a92c7(this,_0xc00ba7),this['canvas']=null,this['ctx']=null,this['pFrameData']=null,this['frameDisplayWidth']=0x0,this['frameDisplayHeight']=0x0,this['onlySupportedWebGL1']=!0x1,this['bAntialias']=!0x1,this['bAntialiasStateNeedChange']=!0x1,this['bRecreateTex']=!0x0,this['nSurfaceTexture']=[],this['nSurfaceTexture'][0x0]=0x0,this['nSurfaceTexture'][0x1]=0x0,this['nSurfaceTexture'][0x2]=0x0,this['bOpenMsaa']=!0x1,this['nMsaaFBO']=0x0,this['nResolveFBO']=0x0,this['nMsaaColorBuffer']=0x0,this['nResolveTexture']=0x0,this['nMsaaSample']=0x0,this['pFishParamManager']=null,this['enDisplayEffect']=_0x4d466f['SR_DE_NULL'],this['nFECPort']=-0x1,this['enPixelFormat']=_0x459b97['SR_PF_NULL'],this['nTextureNum']=0x0,this['nCaptureWidth']=0x0,this['nCaptureHeight']=0x0,this['pSubDisplay']=null,this['nRTWidth']=0x0,this['nRTHeight']=0x0,this['pRenderToTex']=null,this['bRenderToTex']=!0x1,this['b3DPort']=!0x1,this['preDisplayRectnX']=0x0,this['preDisplayRectnY']=0x0,this['preDisplayRectnW']=0x0,this['preDisplayRectnH']=0x0,this['preImageRotateValue']=0x0;}return _0x30be4b(_0xc00ba7,[{'key':'SR_Init','value':function(_0x57f11e,_0x4b5479){if(null==_0x57f11e)return _0x12eada['SR_ERR_PARAM'];if(this['canvas']=_0x57f11e,this['ctx']=this['canvas']['getContext']('webgl2'),!this['ctx']){if(this['ctx']=this['canvas']['getContext']('webgl')||this['canvas']['getContext']('experimental-webgl'),!this['ctx'])return _0x12eada['SR_ERR_CANVAS'];this['onlySupportedWebGL1']=!0x0;}if(_0x4b5479==_0x459b97['SR_PF_NV12']||_0x4b5479==_0x459b97['SR_PF_NV21'])return _0x12eada['SR_ERR_NOT_SUPPORT'];switch(_0x4b5479){case _0x459b97['SR_PF_YV12']:case _0x459b97['SR_PF_I420']:this['nTextureNum']=0x3;break;case _0x459b97['SR_PF_SURFACE']:this['nTextureNum']=0x1;break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return this['enPixelFormat']=_0x4b5479,_0x12eada['SR_OK'];}},{'key':'SR_AddSubPort','value':function(_0x1f0648){var _0x5377c9=-0x1;if(null==this['ctx'])return _0x5377c9;if(null!=this['pFishParamManager']?(_0x5377c9=this['pFishParamManager']['GetFECPort'](_0x1f0648),this['b3DPort']=!0x0):_0x1f0648==_0x4d466f['SR_DE_NULL']&&(_0x5377c9=0x0),-0x1==_0x5377c9)return-0x1;this['nFECPort']=_0x5377c9;var _0x48aac0=_0x12eada['SR_OK'];if(null==this['pSubDisplay']&&(this['pSubDisplay']=new _0x2779f7(),null==this['pSubDisplay']))return _0x12eada['SR_ERR_ALLOC_MEMORY'];if((_0x48aac0=this['pSubDisplay']['SetCanvasSize'](this['canvas']['width'],this['canvas']['height']))!=_0x12eada['SR_OK'])return _0x48aac0;if((_0x48aac0=this['pSubDisplay']['SetWebGL2Support'](this['onlySupportedWebGL1']))!=_0x12eada['SR_OK'])return _0x48aac0;var _0x39a87e={};if(null!=this['pFishParamManager']){this['pSubDisplay']['SetFishParamManager'](this['pFishParamManager']),this['pSubDisplay']['SetFECPort'](this['nFECPort']);for(var _0x3c1e51=0x0;_0x3c1e51<0x20&&_0x12eada['SR_OK']!=this['pFishParamManager']['GetRenderParam'](_0x3c1e51,_0x39a87e);++_0x3c1e51);}if((_0x48aac0=this['pSubDisplay']['Init'](this['ctx'],this['enPixelFormat'],_0x1f0648,_0x39a87e))!=_0x12eada['SR_OK'])return _0x48aac0;if(_0x4d466f['SR_DE_NULL']!=_0x1f0648){_0x48aac0=this['pFishParamManager']['SetPTZDisplayMode'](_0x3b7ab3['SR_DM_NULL']);var _0x6a4c62={};if((_0x48aac0=this['pFishParamManager']['GetFishParam'](this['nFECPort'],_0x6a4c62))!=_0x12eada['SR_OK'])return _0x48aac0;if(_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']==_0x1f0648){if(_0x6a4c62['nFishParamType']=_0x1a6379['SR_FPT_CENTER'],_0x6a4c62['fRXLeft']=0.05,_0x6a4c62['fRXRight']=0.95,_0x6a4c62['fRYTop']=-0.3,_0x6a4c62['fRYBottom']=1.3,(_0x48aac0=this['pFishParamManager']['SetFishParam'](this['nFECPort'],_0x6a4c62))!=_0x12eada['SR_OK'])return _0x48aac0;}else{if(_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']==_0x1f0648&&(_0x6a4c62['nFishParamType']=_0x1a6379['SR_FPT_CENTER'],_0x6a4c62['fRXLeft']=-0.16,_0x6a4c62['fRXRight']=1.16,_0x6a4c62['fRYTop']=0.005,_0x6a4c62['fRYBottom']=0.995,(_0x48aac0=this['pFishParamManager']['SetFishParam'](this['nFECPort'],_0x6a4c62))!=_0x12eada['SR_OK']))return _0x48aac0;}}return null!=this['pFishParamManager']&&this['pFishParamManager']['ComputePTZPoints'](),this['enDisplayEffect']=_0x1f0648,this['nFECPort'];}},{'key':'SR_UpdateFrameData','value':function(_0x261677,_0x3456b8,_0x30dbdb,_0x2bedf0,_0x2f02fa){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x261677||_0x3456b8<=0x0||_0x30dbdb<=0x0)return _0x12eada['SR_ERR_PARAM'];this['frameDisplayWidth']==_0x3456b8&&this['frameDisplayHeight']==_0x30dbdb||(this['bRecreateTex']=!0x0);var _0x37e5f2=_0x12eada['SR_OK'];if(_0x459b97['SR_PF_SURFACE']==this['enPixelFormat'])this['frameDisplayWidth']=_0x3456b8,this['frameDisplayHeight']=_0x30dbdb;else{if(_0x37e5f2=this['_ResizeFrameData'](_0x261677,_0x3456b8,_0x30dbdb,_0x2bedf0),_0x12eada['SR_OK']!=_0x37e5f2)return _0x37e5f2;}if(0x1==this['bRecreateTex']){if(this['enPixelFormat']==_0x459b97['SR_PF_SURFACE']){if(0x0!=this['nSurfaceTexture'][0x0]){var _0x14709b=this['nSurfaceTexture'][0x0];this['ctx']['deleteTexture'](_0x14709b),this['nSurfaceTexture'][0x0]=0x0;}var _0x1dc4a2=this['ctx']['createTexture']();if(_0x1dc4a2<=0x0)return _0x12eada['SR_ERR_WEBGL_RESOURCE'];this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],_0x1dc4a2),this['onlySupportedWebGL1']||0x1!=this['bAntialias']?this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR']):this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MIN_FILTER'],this['ctx']['LINEAR_MIPMAP_NEAREST']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_MAG_FILTER'],this['ctx']['LINEAR']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_S'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this['ctx']['TEXTURE_WRAP_T'],this['ctx']['CLAMP_TO_EDGE']),this['ctx']['bindTexture'](this['ctx']['TEXTURE_2D'],null),this['nSurfaceTexture'][0x0]=_0x1dc4a2;}else{if(this['enPixelFormat']==_0x459b97['SR_PF_YV12']||this['enPixelFormat']==_0x459b97['SR_PF_I420'])for(var _0x429960=0x0;_0x4299600x1&&void 0x0!==arguments[0x1]&&arguments[0x1];if(null==_0x13318e)return _0x12eada['SR_ERR_PARAM'];if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pSubDisplay'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0xafd946=_0x12eada['SR_OK'];return(_0xafd946=this['pSubDisplay']['GetCaptureSize'](_0x13318e,_0x44d764))!=_0x12eada['SR_OK']?_0xafd946:(this['nCaptureWidth']=_0x13318e['nWidth'],this['nCaptureHeight']=_0x13318e['nHeight'],_0x12eada['SR_OK']);}},{'key':'SR_CaptureScreen','value':function(_0x4c6d42){var _0x3d1999=arguments['length']>0x1&&void 0x0!==arguments[0x1]&&arguments[0x1];if(0x0==this['nSurfaceTexture'][0x0])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pSubDisplay'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x1fe153={'nWndWidth':0x0,'nWndHeight':0x0};this['pSubDisplay']['GetWndResolution'](_0x1fe153),this['pSubDisplay']['SetWndResolution'](this['nCaptureWidth'],this['nCaptureHeight']);var _0x18fc3f=_0x12eada['SR_OK'];return(_0x18fc3f=this['pSubDisplay']['CaptureScreen'](_0x4c6d42,_0x3d1999))!=_0x12eada['SR_OK']?_0x18fc3f:(this['pSubDisplay']['SetWndResolution'](_0x1fe153['nWndWidth'],_0x1fe153['nWndHeight']),_0x12eada['SR_OK']);}},{'key':'SR_DrawMosaic','value':function(_0x3a20ff,_0x2d8532,_0x5244c1,_0x5b8112,_0x37b5d8){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pSubDisplay'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x20ec59=_0x12eada['SR_OK'];return(_0x20ec59=this['pSubDisplay']['DrawMosaic'](_0x3a20ff,_0x2d8532,_0x5244c1,_0x5b8112,_0x37b5d8))!=_0x12eada['SR_OK']?_0x20ec59:_0x12eada['SR_OK'];}},{'key':'DrawPTZLines','value':function(){if(null==this['pFishParamManager'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x24ed17=this['pFishParamManager']['GetPTZDisplayMode']();if(_0x24ed17==_0x3b7ab3['SR_DM_RANGE']||_0x24ed17==_0x3b7ab3['SR_DM_RECT']){for(var _0xe91fe2=0x0,_0x19f617={'fR':0x0,'fG':0x0,'fB':0x0,'fA':0x0},_0x4dc0d4=_0x12eada['SR_OK'],_0x542d75=0x0;_0x542d75<0x20;++_0x542d75)if(0x0!=this['pFishParamManager']['IsPortAllocated'](_0x542d75)&&(_0xe91fe2=0x2,_0x4dc0d4=this['pFishParamManager']['GetPTZColor'](_0x542d75,_0x19f617),_0x12eada['SR_OK']==_0x4dc0d4)){0x1==this['pFishParamManager']['IsPTZSelected'](_0x542d75)&&(_0xe91fe2+=0x1);var _0x368fc0=this['pFishParamManager']['GetWndPort']();if(_0x542d75!=_0x368fc0&&_0x3b7ab3['SR_DM_RANGE']==_0x24ed17){if(_0x4d466f['SR_DE_FISH_ORIGINAL']==this['pFishParamManager']['GetDisplayEffect'](_0x368fc0)){var _0x4dcdcf={};if(_0x4dc0d4=this['pFishParamManager']['GetPTZPoints'](_0x542d75,_0x4dcdcf,_0x3b7ab3['SR_DM_RANGE']),_0x12eada['SR_OK']!=_0x4dc0d4)continue;if(null!=_0x4dcdcf['pstPoints']&&0x0!=_0x4dcdcf['nPointNum']&&(_0x4dc0d4=this['SR_DrawLines'](_0x4dcdcf['pstPoints'],_0x4dcdcf['nPointNum'],!0x0,_0x19f617,_0xe91fe2,!0x1),_0x12eada['SR_OK']!=_0x4dc0d4))continue;}else{var _0x1de167;if((_0x1de167=this['pFishParamManager']['GetPTZFragmentNum'](_0x542d75))<=0x0)continue;for(var _0x204b73=0x0;_0x204b73<_0x1de167;_0x204b73++){var _0x3ca363={};this['pFishParamManager']['GetPTZFragmentPoints'](_0x542d75,_0x3ca363,_0x204b73),null!=_0x3ca363['pstPoints']&&0x0!=_0x3ca363['nPointNum']&&this['SR_DrawLines'](_0x3ca363['pstPoints'],_0x3ca363['nPointNum'],!0x1,_0x19f617,_0xe91fe2,!0x1);}}}else{if(_0x542d75!=_0x368fc0&&_0x3b7ab3['SR_DM_RECT']==_0x24ed17){var _0x18747e={};if(_0x4dc0d4=this['pFishParamManager']['GetPTZPoints'](_0x542d75,_0x18747e,_0x3b7ab3['SR_DM_RECT']),_0x12eada['SR_OK']!=_0x4dc0d4)continue;if(null!=_0x18747e['pstPoints']&&0x0!=_0x18747e['nPointNum']&&(_0x4dc0d4=this['SR_DrawLines'](_0x18747e['pstPoints'],_0x18747e['nPointNum'],!0x0,_0x19f617,_0xe91fe2,!0x1),_0x12eada['SR_OK']!=_0x4dc0d4))continue;}}}}return _0x12eada['SR_OK'];}},{'key':'SR_DrawLines','value':function(_0x1d3b22,_0x33a381,_0x46d226,_0x4c199e,_0xe244d5,_0x799edd){return null==this['ctx']||null==this['pSubDisplay']?_0x12eada['SR_ERR_CALL_ORDER']:this['pSubDisplay']['DrawLines'](_0x1d3b22,_0x33a381,_0x46d226,_0x4c199e,_0xe244d5,_0x799edd);}},{'key':'SR_DrawLinesEx','value':function(_0x5802b7,_0x39eefc,_0x86af79,_0x2519a5){return null==this['ctx']||null==this['pSubDisplay']?_0x12eada['SR_ERR_CALL_ORDER']:this['pSubDisplay']['DrawLinesEx'](_0x5802b7,_0x39eefc,_0x86af79,_0x2519a5);}},{'key':'SR_DrawFont','value':function(_0x3b04df,_0x25be85,_0x47c3ee,_0x4d5053,_0x539bb7,_0x477210,_0x13feac,_0x260f7d,_0x5b389e,_0x42b409,_0x52b067){return _0x12eada['SR_ERR_NOT_SUPPORT'];}},{'key':'SR_DrawFontEx','value':function(_0x255f19,_0x1d8b43){var _0x474a6f=arguments['length']>0x2&&void 0x0!==arguments[0x2]?arguments[0x2]:0x0,_0x428115=arguments['length']>0x3?arguments[0x3]:void 0x0;if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pSubDisplay'])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x5e8ca7=this['pSubDisplay']['DrawFontEx'](_0x255f19,_0x1d8b43,_0x474a6f,_0x428115);return _0x5e8ca7;}},{'key':'SR_DrawImage','value':function(_0x57400d,_0x190fbc,_0x5699f4,_0x9cf368,_0x14de32,_0x5b30c4){return null==this['ctx']||null==this['pSubDisplay']?_0x12eada['SR_ERR_CALL_ORDER']:this['pSubDisplay']['DrawImage'](_0x57400d,_0x190fbc,_0x5699f4,_0x9cf368,_0x14de32,_0x5b30c4);}},{'key':'SR_DelSubPort','value':function(_0x5f2fda){return null==this['ctx']||null==this['pSubDisplay']?_0x12eada['SR_ERR_CALL_ORDER']:(this['pSubDisplay']['DelSubPort'](),null!=this['pFishParamManager']&&this['nFECPort']==_0x5f2fda&&this['pFishParamManager']['FreeFECPort'](this['nFECPort']),this['enDisplayEffect']=_0x4d466f['SR_DE_NULL'],this['pSubDisplay']=null,_0x12eada['SR_OK']);}},{'key':'SR_GetFishParam','value':function(_0x38dae9){return null==_0x38dae9?_0x12eada['SR_ERR_PARAM']:null==this['pFishParamManager']?_0x12eada['SR_ERR_CALL_ORDER']:this['pFishParamManager']['GetFishParam'](this['nFECPort'],_0x38dae9);}},{'key':'SR_SetFishParam','value':function(_0x5a8877){return null==_0x5a8877?_0x12eada['SR_ERR_PARAM']:null==this['pFishParamManager']?_0x12eada['SR_ERR_CALL_ORDER']:this['pFishParamManager']['SetFishParam'](this['nFECPort'],_0x5a8877);}},{'key':'SR_Destroy','value':function(){if(null==this['ctx'])return _0x12eada['SR_ERR_CALL_ORDER'];this['frameDisplayWidth']=0x0,this['frameDisplayHeight']=0x0,this['pFrameData']=null;for(var _0x58ffef=0x0;_0x58ffef=0x20)return _0x12eada['SR_ERR_PARAM'];this['nWndPort']==_0x39846b&&(this['nWndPort']=-0x1),null!=this['pRenderParam'][_0x39846b]&&(this['pRenderParam'][_0x39846b]['fCosH']=0x1,this['pRenderParam'][_0x39846b]['fSinH']=0x0,this['pRenderParam'][_0x39846b]['fCosV']=0x1,this['pRenderParam'][_0x39846b]['fSinV']=0x0,this['pRenderParam'][_0x39846b]['fAngle']=0x0,this['pRenderParam'][_0x39846b]['fZoom']=0x0,this['pRenderParam'][_0x39846b]['fRX1']=0x0,this['pRenderParam'][_0x39846b]['fRX2']=0x1,this['pRenderParam'][_0x39846b]['fRY1']=0x0,this['pRenderParam'][_0x39846b]['fRY2']=0x1,this['pRenderParam'][_0x39846b]['nDisplayEffect']=0x0,this['pRenderParam'][_0x39846b]['bBlack']=!0x1,this['pRenderParam'][_0x39846b]['bCut']=!0x1),null!=this['pFishParam'][_0x39846b]&&(this['pFishParam'][_0x39846b]['nFishParamType']=0x0,this['pFishParam'][_0x39846b]['fRXLeft']=0x0,this['pFishParam'][_0x39846b]['fRXRight']=0x1,this['pFishParam'][_0x39846b]['fRYTop']=0x0,this['pFishParam'][_0x39846b]['fRYBottom']=0x1,this['pFishParam'][_0x39846b]['bBlack']=!0x1,this['pFishParam'][_0x39846b]['bCut']=!0x1,this['pFishParam'][_0x39846b]['fAngle']=0x0,this['pFishParam'][_0x39846b]['fZoom']=0x0,this['pFishParam'][_0x39846b]['fPTZX']=0.5,this['pFishParam'][_0x39846b]['fPTZY']=0.5),this['nBasePTZPointNum'][_0x39846b]=0x0,this['nOriPTZPointNum'][_0x39846b]=0x0,this['nPanoPTZPointNum'][_0x39846b]=0x0,this['nPTZRectNum'][_0x39846b]=0x0;for(var _0x52b9db=0x0;_0x52b9db<0x4;++_0x52b9db)this['pRectPoints'][_0x39846b][_0x52b9db]['fX']=0x0,this['pRectPoints'][_0x39846b][_0x52b9db]['fY']=0x0;for(var _0x15900e=0x0;_0x15900e<0x400;++_0x15900e)this['pBasePTZPoints'][_0x39846b][_0x15900e]['fX']=0x0,this['pBasePTZPoints'][_0x39846b][_0x15900e]['fY']=0x0,this['pOriPTZPoints'][_0x39846b][_0x15900e]['fX']=0x0,this['pOriPTZPoints'][_0x39846b][_0x15900e]['fY']=0x0,this['pPanoPTZPoints'][_0x39846b][_0x15900e]['fX']=0x0,this['pPanoPTZPoints'][_0x39846b][_0x15900e]['fY']=0x0;if(this['pPTZSetColor'][_0x39846b]['bSetColor']&&(this['pPTZSetColor'][_0x39846b]['fA']=0x0,this['pPTZSetColor'][_0x39846b]['fR']=0x0,this['pPTZSetColor'][_0x39846b]['fG']=0x0,this['pPTZSetColor'][_0x39846b]['fB']=0x0,this['pPTZSetColor'][_0x39846b]['bSetColor']=!0x1),this['bPTZSelected'][_0x39846b]=!0x1,0x0!=this['nPlaceType']){for(var _0x5e1cd1=!0x1,_0x2f8358=0x0;_0x2f8358<0x20;++_0x2f8358)if(null!=this['pRenderParam'][_0x2f8358]&&(_0x4d466f['SR_DE_FISH_PTZ_CEILING']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_FLOOR']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_WALL']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_WALL']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_CYLINDER_CEILING']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']==this['pRenderParam'][_0x2f8358]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']==this['pRenderParam'][_0x2f8358]['nDisplayEffect'])){_0x5e1cd1=!0x0;break;}_0x5e1cd1||(this['nPlaceType']=0x0);}for(var _0x1ec290=!0x1,_0x401d8c=0x0;_0x401d8c<0x20;++_0x401d8c)if(null!=this['pRenderParam'][_0x401d8c]){_0x1ec290=!0x0;break;}_0x1ec290||(this['fRX1']=0x0,this['fRX2']=0x1,this['fRY1']=0x0,this['fRY2']=0x1,this['bBlack']=!0x1),this['nPTZFragmentNum'][_0x39846b]=0x0;for(var _0x427559=0x0;_0x427559<0x64;++_0x427559)this['nPTZFragmentNode'][_0x39846b][_0x427559]=0x0;return this['bPortAllocated'][_0x39846b]=!0x1,_0x12eada['SR_OK'];}},{'key':'DeInit','value':function(){for(var _0x1332ba=0x0;_0x1332ba<0x20;++_0x1332ba){for(var _0x224e60=0x0;_0x224e60<0x4;++_0x224e60)this['pRectPoints'][_0x1332ba][_0x224e60]=null;for(var _0x2411b5=0x0;_0x2411b5<0x400;++_0x2411b5)this['pBasePTZPoints'][_0x1332ba][_0x2411b5]=null,this['pOriPTZPoints'][_0x1332ba][_0x2411b5]=null,this['pPanoPTZPoints'][_0x1332ba][_0x2411b5]=null;this['nPTZFragmentNum'][_0x1332ba]=0x0,this['nPTZFragmentNode'][_0x1332ba]=null,this['bPortAllocated'][_0x1332ba]=!0x1,this['bPTZSelected'][_0x1332ba]=!0x1,this['pRenderParam'][_0x1332ba]=null,this['pFishParam'][_0x1332ba]=null,this['stPTZColor'][_0x1332ba]=null,this['nBasePTZPointNum'][_0x1332ba]=0x0,this['nOriPTZPointNum'][_0x1332ba]=0x0,this['nPanoPTZPointNum'][_0x1332ba]=0x0,this['nPTZRectNum'][_0x1332ba]=0x0,this['pPanoPTZPoints'][_0x1332ba]=null,this['pRectPoints'][_0x1332ba]=null,this['pBasePTZPoints'][_0x1332ba]=null,this['pOriPTZPoints'][_0x1332ba]=null;}return this['bPortAllocated']=null,this['pRenderParam']=null,this['pFishParam']=null,this['stPTZColor']=null,this['nBasePTZPointNum']=null,this['nOriPTZPointNum']=null,this['nPanoPTZPointNum']=null,this['nPTZFragmentNum']=null,this['pBasePTZPoints']=null,this['pPanoPTZPoints']=null,this['pRectPoints']=null,this['nPTZRectNum']=null,this['nPTZDisplayMode']=_0x3b7ab3['SR_DM_NULL'],this['fRX1']=0x0,this['fRX2']=0x1,this['fRY1']=0x0,this['fRY2']=0x1,this['bBlack']=!0x1,this['pOriPTZPoints']=null,this['pBasePTZPoints']=null,this['nWndPort']=-0x1,this['nPlaceType']=0x0,this['nPTZFragmentNode']=null,this['bPTZSelected']=null,this['nPTZDisplayMode']=_0x3b7ab3['SR_DM_RANGE'],_0x12eada['SR_OK'];}},{'key':'InitColorList','value':function(){this['stPTZColor'][0x0]['fR']=0.5,this['stPTZColor'][0x0]['fG']=0.5,this['stPTZColor'][0x0]['fB']=0x0,this['stPTZColor'][0x0]['fA']=0x1,this['stPTZColor'][0x1]['fR']=0x1,this['stPTZColor'][0x1]['fG']=0x0,this['stPTZColor'][0x1]['fB']=0x0,this['stPTZColor'][0x1]['fA']=0x1,this['stPTZColor'][0x2]['fR']=0x0,this['stPTZColor'][0x2]['fG']=0x1,this['stPTZColor'][0x2]['fB']=0x0,this['stPTZColor'][0x2]['fA']=0x1,this['stPTZColor'][0x3]['fR']=0x0,this['stPTZColor'][0x3]['fG']=0x0,this['stPTZColor'][0x3]['fB']=0x1,this['stPTZColor'][0x3]['fA']=0x1,this['stPTZColor'][0x4]['fR']=0x1,this['stPTZColor'][0x4]['fG']=0x1,this['stPTZColor'][0x4]['fB']=0x0,this['stPTZColor'][0x4]['fA']=0x1,this['stPTZColor'][0x5]['fR']=0.5,this['stPTZColor'][0x5]['fG']=0x0,this['stPTZColor'][0x5]['fB']=0x1,this['stPTZColor'][0x5]['fA']=0x1,this['stPTZColor'][0x6]['fR']=0x0,this['stPTZColor'][0x6]['fG']=0x1,this['stPTZColor'][0x6]['fB']=0x1,this['stPTZColor'][0x6]['fA']=0x1,this['stPTZColor'][0x7]['fR']=0x1,this['stPTZColor'][0x7]['fG']=0.5,this['stPTZColor'][0x7]['fB']=0x0,this['stPTZColor'][0x7]['fA']=0x1,this['stPTZColor'][0x8]['fR']=0x0,this['stPTZColor'][0x8]['fG']=0.5,this['stPTZColor'][0x8]['fB']=0.5,this['stPTZColor'][0x8]['fA']=0x1;for(var _0x1e6e85=0x9;_0x1e6e85<0x20;_0x1e6e85++)this['stPTZColor'][_0x1e6e85]['fR']=0x1*_0x1e6e85/0x20,this['stPTZColor'][_0x1e6e85]['fG']=0x1*_0x1e6e85/0x20,this['stPTZColor'][_0x1e6e85]['fB']=0x1*_0x1e6e85/0x20,this['stPTZColor'][_0x1e6e85]['fA']=0x1;return _0x12eada['SR_OK'];}},{'key':'GetRangePoints','value':function(_0x268d19){if(_0x268d19<0x0||_0x268d19>=0x20)return _0x12eada['SR_ERR_PARAM'];if(null==this['pRenderParam'][_0x268d19])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x4b35b4=0x0,_0x47818f=0x0;switch(this['nOriPTZPointNum'][_0x268d19]=0x0,this['nBasePTZPointNum'][_0x268d19]=0x0,this['pRenderParam'][_0x268d19]['nDisplayEffect']){case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:for(_0x47818f=0x0;_0x47818f<0x1;_0x47818f+=0.01)this['GetFishPTZCeiling'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x47818f=0.9995,_0x4b35b4=0x0;_0x4b35b4<0x1;_0x4b35b4+=0.02)this['GetFishPTZCeiling'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x4b35b4=0.999,_0x47818f=0.9995;_0x47818f>=0x0;_0x47818f-=0.01)this['GetFishPTZCeiling'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x47818f=0x0,_0x4b35b4=0.999;_0x4b35b4>=0x0;_0x4b35b4-=0.02)this['GetFishPTZCeiling'](_0x4b35b4,_0x47818f,_0x268d19);break;case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:for(_0x47818f=0x0;_0x47818f<0x1;_0x47818f+=0.01)this['GetFishPTZFloor'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x47818f=0.9995,_0x4b35b4=0x0;_0x4b35b4<0x1;_0x4b35b4+=0.02)this['GetFishPTZFloor'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x4b35b4=0.999,_0x47818f=0.9995;_0x47818f>=0x0;_0x47818f-=0.01)this['GetFishPTZFloor'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x47818f=0x0,_0x4b35b4=0.999;_0x4b35b4>=0x0;_0x4b35b4-=0.02)this['GetFishPTZFloor'](_0x4b35b4,_0x47818f,_0x268d19);break;case _0x4d466f['SR_DE_FISH_PTZ_WALL']:for(_0x47818f=0x0;_0x47818f<0x1;_0x47818f+=0.01)this['GetFishPTZWALL'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x47818f=0.9995,_0x4b35b4=0x0;_0x4b35b4<0x1;_0x4b35b4+=0.02)this['GetFishPTZWALL'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x4b35b4=0.999,_0x47818f=0.9995;_0x47818f>=0x0;_0x47818f-=0.01)this['GetFishPTZWALL'](_0x4b35b4,_0x47818f,_0x268d19);for(_0x47818f=0x0,_0x4b35b4=0.999;_0x4b35b4>=0x0;_0x4b35b4-=0.02)this['GetFishPTZWALL'](_0x4b35b4,_0x47818f,_0x268d19);break;default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_OK'];}},{'key':'TransformPTZRangePoints','value':function(_0x461ec6){if(-0x1==this['nWndPort'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pBasePTZPoints'][_0x461ec6]||null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];this['nPanoPTZPointNum'][_0x461ec6]=0x0;var _0x5b6c8d=_0x12eada['SR_OK'],_0x3bf1f2=this['nWndPort'];switch(this['pRenderParam'][_0x3bf1f2]['nDisplayEffect']){case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:if(_0x5b6c8d=this['GetPanoPTZWall'](_0x461ec6),_0x12eada['SR_OK']!=_0x5b6c8d)return _0x5b6c8d;break;case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:if(_0x5b6c8d=this['GetPanoPTZFloor'](_0x461ec6),_0x12eada['SR_OK']!=_0x5b6c8d)return _0x5b6c8d;break;case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:if(_0x5b6c8d=this['GetPanoPTZCeiling'](_0x461ec6),_0x12eada['SR_OK']!=_0x5b6c8d)return _0x5b6c8d;}return this['CalcPTZFragmentPoints'](_0x461ec6),_0x12eada['SR_OK'];}},{'key':'GetRectPoints','value':function(_0x40142e){if(_0x40142e<0x0||_0x40142e>=0x20)return _0x12eada['SR_ERR_PARAM'];if(-0x1==this['nWndPort'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pRenderParam'][this['nWndPort']]||null==this['pFishParam'][_0x40142e])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x1271cd=this['pRenderParam'][this['nWndPort']]['nDisplayEffect'],_0x18c34c=_0x12eada['SR_OK'],_0x228598={'fX':0x0,'fY':0x0};switch(_0x1271cd){case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:if(_0x18c34c=this['GetPointFish2PanoWall'](_0x228598,this['pFishParam'][_0x40142e]['fPTZX'],this['pFishParam'][_0x40142e]['fPTZY']),_0x12eada['SR_OK']!=_0x18c34c)return _0x18c34c;break;case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:if(_0x18c34c=this['GetPointFish2PanoFloor'](_0x228598,this['pFishParam'][_0x40142e]['fPTZX'],this['pFishParam'][_0x40142e]['fPTZY']),_0x12eada['SR_OK']!=_0x18c34c)return _0x12eada['SR_ERR_NOT_SUPPORT']==_0x18c34c&&(this['pRectPoints'][_0x40142e]=null),_0x18c34c;break;case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:if(_0x18c34c=this['GetPointFish2PanoCeiling'](_0x228598,this['pFishParam'][_0x40142e]['fPTZX'],this['pFishParam'][_0x40142e]['fPTZY']),_0x12eada['SR_OK']!=_0x18c34c)return _0x12eada['SR_ERR_NOT_SUPPORT']==_0x18c34c&&(this['pRectPoints'][_0x40142e]=null),_0x18c34c;break;case _0x4d466f['SR_DE_FISH_ORIGINAL']:_0x228598['fX']=this['pFishParam'][_0x40142e]['fPTZX'],_0x228598['fY']=this['pFishParam'][_0x40142e]['fPTZY'];}if(null==this['pRectPoints'][_0x40142e]){this['pRectPoints'][_0x40142e]=[];for(var _0x43a2f2=0x0;_0x43a2f2<0x4;++_0x43a2f2)this['pRectPoints'][_0x40142e][_0x43a2f2]={},this['pRectPoints'][_0x40142e][_0x43a2f2]['fX']=0x0,this['pRectPoints'][_0x40142e][_0x43a2f2]['fY']=0x0;}return this['pRectPoints'][_0x40142e][0x0]['fX']=_0x228598['fX']-0.05,this['pRectPoints'][_0x40142e][0x0]['fY']=_0x228598['fY']-0.05,this['pRectPoints'][_0x40142e][0x1]['fX']=_0x228598['fX']+0.05,this['pRectPoints'][_0x40142e][0x1]['fY']=_0x228598['fY']-0.05,this['pRectPoints'][_0x40142e][0x2]['fX']=_0x228598['fX']+0.05,this['pRectPoints'][_0x40142e][0x2]['fY']=_0x228598['fY']+0.05,this['pRectPoints'][_0x40142e][0x3]['fX']=_0x228598['fX']-0.05,this['pRectPoints'][_0x40142e][0x3]['fY']=_0x228598['fY']+0.05,this['nPTZRectNum'][_0x40142e]=0x4,_0x12eada['SR_OK'];}},{'key':'GetFishPTZCeiling','value':function(_0x11b779,_0x1a2032,_0x3159ea){var _0x55b88e,_0x3ca13c,_0x4b8635,_0x523e75,_0x358dea,_0x410f67,_0x3a63c2,_0x45683a={'fX':0x0,'fY':0x0},_0x5022f9={'fX':0x0,'fY':0x0},_0x11d473={'fX':0x0,'fY':0x0},_0x2f4aa5={};_0x523e75=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x358dea=(this['fRX1']+this['fRX2'])/0x2*0x1,_0x410f67=(this['fRY1']+this['fRY2'])/0x2*_0x523e75,_0x3a63c2=(this['fRX2']-this['fRX1'])/0x2*0x1,_0x45683a['fX']=_0x1a2032-0.5,_0x45683a['fY']=0.5-_0x11b779,_0x55b88e=this['pRenderParam'][_0x3159ea]['fZoom'],_0x5022f9['fX']=_0x45683a['fX'],_0x5022f9['fY']=_0x45683a['fY']*this['pRenderParam'][_0x3159ea]['fCosV']+_0x55b88e*this['pRenderParam'][_0x3159ea]['fSinV'],_0x3ca13c=_0x55b88e*this['pRenderParam'][_0x3159ea]['fCosV']-_0x45683a['fY']*this['pRenderParam'][_0x3159ea]['fSinV'],_0x4b8635=Math['sqrt'](_0x5022f9['fX']*_0x5022f9['fX']+_0x5022f9['fY']*_0x5022f9['fY']);var _0x38a4e3=Math['sqrt'](_0x5022f9['fX']*_0x5022f9['fX']+_0x5022f9['fY']*_0x5022f9['fY']+_0x3ca13c*_0x3ca13c),_0x3bddbe=Math['asin'](_0x4b8635/_0x38a4e3)/1.5707963*0.5;_0x5022f9['fX']=_0x3bddbe*_0x5022f9['fX']/_0x4b8635,_0x5022f9['fY']=_0x3bddbe*_0x5022f9['fY']/_0x4b8635,_0x11d473['fX']=_0x5022f9['fX']*this['pRenderParam'][_0x3159ea]['fCosH']-_0x5022f9['fY']*this['pRenderParam'][_0x3159ea]['fSinH'],_0x11d473['fY']=_0x5022f9['fX']*this['pRenderParam'][_0x3159ea]['fSinH']+_0x5022f9['fY']*this['pRenderParam'][_0x3159ea]['fCosH'],_0x2f4aa5['fX']=0x2*_0x11d473['fX']*_0x3a63c2+_0x358dea,_0x2f4aa5['fY']=0x2*-_0x11d473['fY']*_0x3a63c2+_0x410f67;var _0x2ebd4d=this['nBasePTZPointNum'][_0x3159ea];this['pBasePTZPoints'][_0x3159ea][_0x2ebd4d]['fX']=_0x11d473['fX']+0.5,this['pBasePTZPoints'][_0x3159ea][_0x2ebd4d]['fY']=0.5-_0x11d473['fY'],this['nBasePTZPointNum'][_0x3159ea]=this['nBasePTZPointNum'][_0x3159ea]+0x1;var _0x298f4e=this['fRX1']<=0x0?0x0:0x1*this['fRX1'],_0x80356e=this['fRY1']<=0x0?0x0:this['fRY1']*_0x523e75,_0xcc0b83=this['fRX2']>=0x1?0x1-_0x298f4e:0x1*this['fRX2']-_0x298f4e,_0x26526c=this['fRY2']>=0x1?_0x523e75-_0x80356e:this['fRY2']*_0x523e75-_0x80356e;if(_0x2f4aa5['fX']=(_0x2f4aa5['fX']-_0x298f4e)/_0xcc0b83,_0x2f4aa5['fY']=(_0x2f4aa5['fY']-_0x80356e)/_0x26526c,_0x2f4aa5['fX']<=0x1&&_0x2f4aa5['fY']<=0x1&&_0x2f4aa5['fX']>=0x0&&_0x2f4aa5['fY']>=0x0){var _0x171b27=this['nOriPTZPointNum'][_0x3159ea];this['pOriPTZPoints'][_0x3159ea][_0x171b27]['fX']=_0x2f4aa5['fX'],this['pOriPTZPoints'][_0x3159ea][_0x171b27]['fY']=_0x2f4aa5['fY'],this['nOriPTZPointNum'][_0x3159ea]=this['nOriPTZPointNum'][_0x3159ea]+0x1;}return _0x12eada['SR_OK'];}},{'key':'GetFishPTZFloor','value':function(_0x337438,_0x3d462e,_0x1f10c3){var _0x15418f,_0x3b1a2c,_0x129f64,_0x27e225,_0xc57d36,_0x3f05aa,_0x48764f,_0x17df7b={'fX':0x0,'fY':0x0},_0x596cbe={'fX':0x0,'fY':0x0},_0x3bc426={'fX':0x0,'fY':0x0},_0x29bc7e={};_0x27e225=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0xc57d36=(this['fRX1']+this['fRX2'])/0x2*0x1,_0x3f05aa=(this['fRY1']+this['fRY2'])/0x2*_0x27e225,_0x48764f=(this['fRX2']-this['fRX1'])/0x2*0x1,_0x17df7b['fX']=_0x337438-0.5,_0x17df7b['fY']=_0x3d462e-0.5,_0x15418f=this['pRenderParam'][_0x1f10c3]['fZoom'],_0x596cbe['fX']=_0x17df7b['fX'],_0x596cbe['fY']=_0x17df7b['fY']*this['pRenderParam'][_0x1f10c3]['fCosV']+_0x15418f*this['pRenderParam'][_0x1f10c3]['fSinV'],_0x3b1a2c=_0x15418f*this['pRenderParam'][_0x1f10c3]['fCosV']-_0x17df7b['fY']*this['pRenderParam'][_0x1f10c3]['fSinV'],_0x129f64=Math['sqrt'](_0x596cbe['fX']*_0x596cbe['fX']+_0x596cbe['fY']*_0x596cbe['fY']);var _0x2994f9=Math['sqrt'](_0x596cbe['fX']*_0x596cbe['fX']+_0x596cbe['fY']*_0x596cbe['fY']+_0x3b1a2c*_0x3b1a2c),_0x2e4d70=Math['asin'](_0x129f64/_0x2994f9)/1.5707963*0.5;_0x596cbe['fX']=_0x2e4d70*_0x596cbe['fX']/_0x129f64,_0x596cbe['fY']=_0x2e4d70*_0x596cbe['fY']/_0x129f64,_0x3bc426['fX']=_0x596cbe['fX']*this['pRenderParam'][_0x1f10c3]['fCosH']-_0x596cbe['fY']*this['pRenderParam'][_0x1f10c3]['fSinH'],_0x3bc426['fY']=_0x596cbe['fX']*this['pRenderParam'][_0x1f10c3]['fSinH']+_0x596cbe['fY']*this['pRenderParam'][_0x1f10c3]['fCosH'],_0x29bc7e['fX']=0x2*_0x3bc426['fX']*_0x48764f+_0xc57d36,_0x29bc7e['fY']=0x2*_0x3bc426['fY']*_0x48764f+_0x3f05aa;var _0x35e2a0=this['nBasePTZPointNum'][_0x1f10c3];this['pBasePTZPoints'][_0x1f10c3][_0x35e2a0]['fX']=_0x3bc426['fX']+0.5,this['pBasePTZPoints'][_0x1f10c3][_0x35e2a0]['fY']=_0x3bc426['fY']+0.5,this['nBasePTZPointNum'][_0x1f10c3]=this['nBasePTZPointNum'][_0x1f10c3]+0x1;var _0x4eef18=this['fRX1']<=0x0?0x0:0x1*this['fRX1'],_0x381751=this['fRY1']<=0x0?0x0:this['fRY1']*_0x27e225,_0x26bfa1=this['fRX2']>=0x1?0x1-_0x4eef18:0x1*this['fRX2']-_0x4eef18,_0x5d1acc=this['fRY2']>=0x1?_0x27e225-_0x381751:this['fRY2']*_0x27e225-_0x381751;if(_0x29bc7e['fX']=(_0x29bc7e['fX']-_0x4eef18)/_0x26bfa1,_0x29bc7e['fY']=(_0x29bc7e['fY']-_0x381751)/_0x5d1acc,_0x29bc7e['fX']<=0x1&&_0x29bc7e['fY']<=0x1&&_0x29bc7e['fX']>=0x0&&_0x29bc7e['fY']>=0x0){var _0xddb2f1=this['nOriPTZPointNum'][_0x1f10c3];this['pOriPTZPoints'][_0x1f10c3][_0xddb2f1]['fX']=_0x29bc7e['fX'],this['pOriPTZPoints'][_0x1f10c3][_0xddb2f1]['fY']=_0x29bc7e['fY'],this['nOriPTZPointNum'][_0x1f10c3]=this['nOriPTZPointNum'][_0x1f10c3]+0x1;}return _0x12eada['SR_OK'];}},{'key':'GetFishPTZWALL','value':function(_0x49f343,_0x3d0f33,_0x2cfea0){var _0x3a8be9,_0x5091c4,_0x1208c8,_0x4cb7e3,_0x367d55,_0x2f5770,_0x5ed625,_0x1938c0,_0x1ecee4={'fX':0x0,'fY':0x0},_0x9b5143={'fX':0x0,'fY':0x0},_0x57763d={'fX':0x0,'fY':0x0},_0x178214={};_0x367d55=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x2f5770=(this['fRX1']+this['fRX2'])/0x2*0x1,_0x5ed625=(this['fRY1']+this['fRY2'])/0x2*_0x367d55,_0x1938c0=(this['fRX2']-this['fRX1'])/0x2*0x1,_0x1ecee4['fX']=_0x3d0f33-0.5,_0x1ecee4['fY']=_0x49f343-0.5,_0x3a8be9=this['pRenderParam'][_0x2cfea0]['fZoom'],_0x9b5143['fX']=_0x1ecee4['fX'],_0x9b5143['fY']=_0x1ecee4['fY']*this['pRenderParam'][_0x2cfea0]['fCosV']+_0x3a8be9*this['pRenderParam'][_0x2cfea0]['fSinV'],_0x5091c4=_0x3a8be9*this['pRenderParam'][_0x2cfea0]['fCosV']-_0x1ecee4['fY']*this['pRenderParam'][_0x2cfea0]['fSinV'],_0x57763d['fX']=_0x9b5143['fX']*this['pRenderParam'][_0x2cfea0]['fCosH']+_0x5091c4*this['pRenderParam'][_0x2cfea0]['fSinH'],_0x57763d['fY']=_0x9b5143['fY'],_0x1208c8=_0x5091c4*this['pRenderParam'][_0x2cfea0]['fCosH']-_0x9b5143['fX']*this['pRenderParam'][_0x2cfea0]['fSinH'],_0x4cb7e3=Math['sqrt'](_0x57763d['fX']*_0x57763d['fX']+_0x57763d['fY']*_0x57763d['fY']);var _0x533530=Math['sqrt'](_0x57763d['fX']*_0x57763d['fX']+_0x57763d['fY']*_0x57763d['fY']+_0x1208c8*_0x1208c8),_0x8b7bc1=Math['asin'](_0x4cb7e3/_0x533530)/1.5707963*0.5;_0x178214['fX']=_0x8b7bc1*_0x57763d['fX']/_0x4cb7e3*_0x1938c0*0x2+_0x2f5770,_0x178214['fY']=_0x8b7bc1*_0x57763d['fY']/_0x4cb7e3*_0x1938c0*0x2+_0x5ed625;var _0x507c3a=this['nBasePTZPointNum'][_0x2cfea0];this['pBasePTZPoints'][_0x2cfea0][_0x507c3a]['fX']=_0x8b7bc1*_0x57763d['fX']/_0x4cb7e3+0.5,this['pBasePTZPoints'][_0x2cfea0][_0x507c3a]['fY']=_0x8b7bc1*_0x57763d['fY']/_0x4cb7e3+0.5,this['nBasePTZPointNum'][_0x2cfea0]=this['nBasePTZPointNum'][_0x2cfea0]+0x1;var _0x30ccb3=this['fRX1']<=0x0?0x0:0x1*this['fRX1'],_0x2980f2=this['fRY1']<=0x0?0x0:this['fRY1']*_0x367d55,_0x53c399=this['fRX2']>=0x1?0x1-_0x30ccb3:0x1*this['fRX2']-_0x30ccb3,_0x49a153=this['fRY2']>=0x1?_0x367d55-_0x2980f2:this['fRY2']*_0x367d55-_0x2980f2;if(_0x178214['fX']=(_0x178214['fX']-_0x30ccb3)/_0x53c399,_0x178214['fY']=(_0x178214['fY']-_0x2980f2)/_0x49a153,_0x178214['fX']<=0x1&&_0x178214['fY']<=0x1&&_0x178214['fX']>=0x0&&_0x178214['fY']>=0x0){var _0x439951=this['nOriPTZPointNum'][_0x2cfea0];this['pOriPTZPoints'][_0x2cfea0][_0x439951]['fX']=_0x178214['fX'],this['pOriPTZPoints'][_0x2cfea0][_0x439951]['fY']=_0x178214['fY'],this['nOriPTZPointNum'][_0x2cfea0]=this['nOriPTZPointNum'][_0x2cfea0]+0x1;}return _0x12eada['SR_OK'];}},{'key':'GetPanoPTZCeiling','value':function(_0x1bdce8){if(null==this['pRenderParam'][_0x1bdce8]||null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pBasePTZPoints'][_0x1bdce8])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x1e0204,_0x218418,_0x39d8fd=this['nBasePTZPointNum'][_0x1bdce8];_0x1e0204=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x218418=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x146cd8,_0xba3e6b=0x0;(this['fRX2']>0x1||this['fRY2']>0x1||this['fRY1']<0x0||this['fRX1']<0x0)&&(this['fRX1']<0x0&&(_0x146cd8=0x1*-this['fRX1'])>_0xba3e6b&&(_0xba3e6b=_0x146cd8),this['fRX2']>0x1&&(_0x146cd8=0x1*(this['fRX2']-0x1))>_0xba3e6b&&(_0xba3e6b=_0x146cd8),this['fRY1']<0x0&&(_0x146cd8=-this['fRY1']*_0x1e0204)>_0xba3e6b&&(_0xba3e6b=_0x146cd8),this['fRY2']>0x1&&(_0x146cd8=(this['fRY2']-0x1)*_0x1e0204)>_0xba3e6b&&(_0xba3e6b=_0x146cd8));for(var _0x5319c3,_0x3f3a91=_0xba3e6b/_0x218418,_0x5bb31b={'fX':0x0,'fY':0x0},_0x188d27={'fX':0x0,'fY':0x0},_0x52cadb=0x0;_0x52cadb<_0x39d8fd;++_0x52cadb)if(_0x188d27['fX']=this['pBasePTZPoints'][_0x1bdce8][_0x52cadb]['fX'],_0x188d27['fY']=this['pBasePTZPoints'][_0x1bdce8][_0x52cadb]['fY'],!(Math['abs'](_0x188d27['fX']-0.5)<0.000001&&Math['abs'](_0x188d27['fY']-0.5)<0.000001)){var _0x111bd3={'fX':0x0,'fY':0x0},_0x32543b={'fX':0x0,'fY':0x0};_0x111bd3['fX']=_0x188d27['fX']-0.5,_0x111bd3['fY']=_0x188d27['fY']-0.5,_0x32543b['fX']=-0.5*Math['sin'](this['pRenderParam'][this['nWndPort']]['fAngle']),_0x32543b['fY']=0.5*Math['cos'](this['pRenderParam'][this['nWndPort']]['fAngle']);var _0x4c8680=Math['sqrt'](_0x111bd3['fX']*_0x111bd3['fX']+_0x111bd3['fY']*_0x111bd3['fY']),_0x507a63=Math['sqrt'](_0x32543b['fX']*_0x32543b['fX']+_0x32543b['fY']*_0x32543b['fY']);if(_0x5319c3=Math['acos']((_0x111bd3['fX']*_0x32543b['fX']+_0x111bd3['fY']*_0x32543b['fY'])/(_0x4c8680*_0x507a63)),_0x111bd3['fX']*_0x32543b['fY']-_0x111bd3['fY']*_0x32543b['fX']>0x0&&(_0x5319c3=6.2831852-_0x5319c3),_0x5bb31b['fX']=_0x5319c3/6.2831853,_0x5bb31b['fY']=(0x2*(0.5-_0x4c8680)-_0x3f3a91)/(0.8-_0x3f3a91),_0x5bb31b['fY']>=0x0&&_0x5bb31b['fX']>=0x0&&_0x5bb31b['fY']<=0x1&&_0x5bb31b['fX']<=0x1){var _0x19a2e6=this['nPanoPTZPointNum'][_0x1bdce8];this['pPanoPTZPoints'][_0x1bdce8][_0x19a2e6]['fX']=_0x5bb31b['fX'],this['pPanoPTZPoints'][_0x1bdce8][_0x19a2e6]['fY']=_0x5bb31b['fY'],this['nPanoPTZPointNum'][_0x1bdce8]=this['nPanoPTZPointNum'][_0x1bdce8]+0x1;}}return _0x12eada['SR_OK'];}},{'key':'GetPanoPTZFloor','value':function(_0x4dbda6){if(null==this['pRenderParam'][_0x4dbda6]||null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pBasePTZPoints'][_0x4dbda6])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x2b6ecc,_0x300bf3,_0x48b9cb=this['nBasePTZPointNum'][_0x4dbda6];_0x2b6ecc=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x300bf3=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x51aa45,_0x5887b1=0x0;(this['fRX2']>0x1||this['fRY2']>0x1||this['fRY1']<0x0||this['fRX1']<0x0)&&(this['fRX1']<0x0&&(_0x51aa45=0x1*-this['fRX1'])>_0x5887b1&&(_0x5887b1=_0x51aa45),this['fRX2']>0x1&&(_0x51aa45=0x1*(this['fRX2']-0x1))>_0x5887b1&&(_0x5887b1=_0x51aa45),this['fRY1']<0x0&&(_0x51aa45=-this['fRY1']*_0x2b6ecc)>_0x5887b1&&(_0x5887b1=_0x51aa45),this['fRY2']>0x1&&(_0x51aa45=(this['fRY2']-0x1)*_0x2b6ecc)>_0x5887b1&&(_0x5887b1=_0x51aa45));for(var _0x310877,_0x17a31e=_0x5887b1/_0x300bf3,_0x4f0557={'fX':0x0,'fY':0x0},_0x5af560={'fX':0x0,'fY':0x0},_0x4f7bbf=0x0;_0x4f7bbf<_0x48b9cb;++_0x4f7bbf)if(_0x5af560['fX']=this['pBasePTZPoints'][_0x4dbda6][_0x4f7bbf]['fX'],_0x5af560['fY']=this['pBasePTZPoints'][_0x4dbda6][_0x4f7bbf]['fY'],!(Math['abs'](_0x5af560['fX']-0.5)<0.000001&&Math['abs'](_0x5af560['fY']-0.5)<0.000001)){var _0x1241a8={'fX':0x0,'fY':0x0},_0x1136eb={'fX':0x0,'fY':0x0};_0x1241a8['fX']=_0x5af560['fX']-0.5,_0x1241a8['fY']=_0x5af560['fY']-0.5,_0x1136eb['fX']=-0.5*Math['sin'](this['pRenderParam'][this['nWndPort']]['fAngle']),_0x1136eb['fY']=0.5*Math['cos'](this['pRenderParam'][this['nWndPort']]['fAngle']);var _0x18f0d7=Math['sqrt'](_0x1241a8['fX']*_0x1241a8['fX']+_0x1241a8['fY']*_0x1241a8['fY']),_0x2614a4=Math['sqrt'](_0x1136eb['fX']*_0x1136eb['fX']+_0x1136eb['fY']*_0x1136eb['fY']);if(_0x310877=Math['acos']((_0x1241a8['fX']*_0x1136eb['fX']+_0x1241a8['fY']*_0x1136eb['fY'])/(_0x18f0d7*_0x2614a4)),_0x1241a8['fX']*_0x1136eb['fY']-_0x1241a8['fY']*_0x1136eb['fX']>0x0&&(_0x310877=6.2831852-_0x310877),_0x4f0557['fX']=0x1-_0x310877/6.2831853,_0x4f0557['fY']=0x1-(0x2*(0.5-_0x18f0d7)-_0x17a31e)/(0.8-_0x17a31e),_0x4f0557['fY']>=0x0&&_0x4f0557['fX']>=0x0&&_0x4f0557['fY']<=0x1&&_0x4f0557['fX']<=0x1){var _0x3ce9b4=this['nPanoPTZPointNum'][_0x4dbda6];this['pPanoPTZPoints'][_0x4dbda6][_0x3ce9b4]['fX']=_0x4f0557['fX'],this['pPanoPTZPoints'][_0x4dbda6][_0x3ce9b4]['fY']=_0x4f0557['fY'],this['nPanoPTZPointNum'][_0x4dbda6]=this['nPanoPTZPointNum'][_0x4dbda6]+0x1;}}return _0x12eada['SR_OK'];}},{'key':'GetPanoPTZWall','value':function(_0x25c3c8){if(null==this['pRenderParam'][_0x25c3c8]||null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pBasePTZPoints'][_0x25c3c8])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x4b3314,_0x55ff12,_0x218a32=this['nBasePTZPointNum'][_0x25c3c8];_0x4b3314=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x55ff12=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x2c7a39,_0x429b2c,_0x56aa54,_0x3d3e5a,_0x2447c8,_0x29d0a4=0x0,_0x406710=0x1,_0x5595cf=0.1,_0x338379=0.9;this['fRX1']<0x0&&(_0x2c7a39=0x1*-this['fRX1'],_0x29d0a4=_0x2c7a39/=0x2*_0x55ff12),this['fRX2']>0x1&&(_0x429b2c=0x1*(this['fRX2']-0x1),_0x406710=0x1-(_0x429b2c/=0x2*_0x55ff12)),this['fRY1']<0x0&&(_0x56aa54=-this['fRY1']*_0x4b3314,_0x5595cf=(_0x56aa54/=0x2*_0x55ff12)>0.1?_0x56aa54:0.1),this['fRY2']>0x1&&(_0x3d3e5a=(this['fRY2']-0x1)*_0x4b3314,_0x338379=(_0x3d3e5a/=0x2*_0x55ff12)>0x1-0.9?0x1-_0x3d3e5a:0.9);for(var _0x3b0545={'fX':0x0,'fY':0x0},_0x585b69={'fX':0x0,'fY':0x0},_0x13db1c=0x0;_0x13db1c<_0x218a32;++_0x13db1c){_0x585b69['fX']=this['pBasePTZPoints'][_0x25c3c8][_0x13db1c]['fX'],_0x585b69['fY']=this['pBasePTZPoints'][_0x25c3c8][_0x13db1c]['fY'];var _0x5cb97a=0x2*_0x585b69['fX']*_0x55ff12,_0x860f56=0x2*_0x585b69['fY']*_0x55ff12;if(_0x2447c8=Math['sqrt'](_0x55ff12*_0x55ff12-(_0x860f56-_0x55ff12)*(_0x860f56-_0x55ff12)),!(Math['abs'](_0x2447c8)<0.000001)&&(_0x585b69['fX']=_0x55ff12*(_0x5cb97a-_0x55ff12)/_0x2447c8+_0x55ff12,_0x585b69['fY']=_0x860f56,_0x3b0545['fX']=(_0x585b69['fX']-0x2*_0x29d0a4*_0x55ff12)/(0x2*(_0x406710-_0x29d0a4)*_0x55ff12),_0x3b0545['fY']=(_0x585b69['fY']-0x2*_0x5595cf*_0x55ff12)/(0x2*(_0x338379-_0x5595cf)*_0x55ff12),_0x3b0545['fY']>=0x0&&_0x3b0545['fX']>=0x0&&_0x3b0545['fY']<=0x1&&_0x3b0545['fX']<=0x1)){var _0x52279d=this['nPanoPTZPointNum'][_0x25c3c8];this['pPanoPTZPoints'][_0x25c3c8][_0x52279d]['fX']=_0x3b0545['fX'],this['pPanoPTZPoints'][_0x25c3c8][_0x52279d]['fY']=_0x3b0545['fY'],this['nPanoPTZPointNum'][_0x25c3c8]=this['nPanoPTZPointNum'][_0x25c3c8]+0x1;}}return _0x12eada['SR_OK'];}},{'key':'GetPointPano2FishCeiling','value':function(_0x3ca737,_0x1c348b,_0xff65ff){if(null==_0x3ca737||null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x2d1869,_0x5529dd;_0x2d1869=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x5529dd=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x2662f8,_0x488e4c=0x0,_0x5850c5=0x1,_0x5f397f=0x0,_0x3bd430=0x1,_0x140f06=0x0;(this['fRX2']>0x1||this['fRY2']>0x1||this['fRX1']<0x0||this['fRY1']<0x0)&&(this['fRX1']<0x0&&((_0x2662f8=0x1*-this['fRX1'])>_0x140f06&&(_0x140f06=_0x2662f8),_0x488e4c=_0x2662f8/=0x2*_0x5529dd),this['fRX2']>0x1&&((_0x2662f8=0x1*(this['fRX2']-0x1))>_0x140f06&&(_0x140f06=_0x2662f8),_0x5850c5=0x1-(_0x2662f8/=0x2*_0x5529dd)),this['fRY1']<0x0&&((_0x2662f8=-this['fRY1']*_0x2d1869)>_0x140f06&&(_0x140f06=_0x2662f8),_0x5f397f=_0x2662f8/=0x2*_0x5529dd),this['fRY2']>0x1&&((_0x2662f8=(this['fRY2']-0x1)*_0x2d1869)>_0x140f06&&(_0x140f06=_0x2662f8),_0x3bd430=0x1-(_0x2662f8/=0x2*_0x5529dd)));var _0x554697,_0x53d02d,_0x5e14ce=_0x140f06/_0x5529dd,_0x407593={},_0x59ef16={};return _0x407593['fX']=_0x1c348b,_0x407593['fY']=(0.8-_0x5e14ce)*_0xff65ff+_0x5e14ce,_0x554697=6.2831853*_0x407593['fX']+this['pRenderParam'][this['nWndPort']]['fAngle'],_0x53d02d=0.5*(0x1-_0x407593['fY']),_0x59ef16['fX']=0.5-_0x53d02d*Math['sin'](_0x554697),_0x59ef16['fY']=0.5+_0x53d02d*Math['cos'](_0x554697),_0x59ef16['fX']=(_0x59ef16['fX']-_0x488e4c)/(_0x5850c5-_0x488e4c),_0x59ef16['fY']=(_0x59ef16['fY']-_0x5f397f)/(_0x3bd430-_0x5f397f),_0x3ca737['fX']=_0x59ef16['fX'],_0x3ca737['fY']=_0x59ef16['fY'],_0x12eada['SR_OK'];}},{'key':'GetPointPano2FishFloor','value':function(_0x3403f7,_0x1309e3,_0x3ae759){if(null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x3403f7)return _0x12eada['SR_ERR_PARAM'];var _0x159bbe,_0x1fb0ed;_0x159bbe=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x1fb0ed=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x277c1c,_0x1b95e3=0x0,_0x5d1e70=0x1,_0x50efdd=0x0,_0x153b63=0x1,_0x35f246=0x0;(this['fRX2']>0x1||this['fRY2']>0x1||this['fRX1']<0x0||this['fRY1']<0x0)&&(this['fRX1']<0x0&&((_0x277c1c=0x1*-this['fRX1'])>_0x35f246&&(_0x35f246=_0x277c1c),_0x1b95e3=_0x277c1c/=0x2*_0x1fb0ed),this['fRX2']>0x1&&((_0x277c1c=0x1*(this['fRX2']-0x1))>_0x35f246&&(_0x35f246=_0x277c1c),_0x5d1e70=0x1-(_0x277c1c/=0x2*_0x1fb0ed)),this['fRY1']<0x0&&((_0x277c1c=-this['fRY1']*_0x159bbe)>_0x35f246&&(_0x35f246=_0x277c1c),_0x50efdd=_0x277c1c/=0x2*_0x1fb0ed),this['fRY2']>0x1&&((_0x277c1c=(this['fRY2']-0x1)*_0x159bbe)>_0x35f246&&(_0x35f246=_0x277c1c),_0x153b63=0x1-(_0x277c1c/=0x2*_0x1fb0ed)));var _0x95af29,_0x501488,_0x33fd35=_0x35f246/_0x1fb0ed,_0x3fea72={},_0x9d045d={};return _0x3fea72['fX']=0x1-_0x1309e3,_0x3fea72['fY']=(0.8-_0x33fd35)*(0x1-_0x3ae759)+_0x33fd35,_0x95af29=6.2831853*_0x3fea72['fX']+this['pRenderParam'][this['nWndPort']]['fAngle'],_0x501488=0.5*(0x1-_0x3fea72['fY']),_0x9d045d['fX']=0.5-_0x501488*Math['sin'](_0x95af29),_0x9d045d['fY']=0.5+_0x501488*Math['cos'](_0x95af29),_0x9d045d['fX']=(_0x9d045d['fX']-_0x1b95e3)/(_0x5d1e70-_0x1b95e3),_0x9d045d['fY']=(_0x9d045d['fY']-_0x50efdd)/(_0x153b63-_0x50efdd),_0x3403f7['fX']=_0x9d045d['fX'],_0x3403f7['fY']=_0x9d045d['fY'],_0x12eada['SR_OK'];}},{'key':'GetPointPano2FishWall','value':function(_0x5e97cc,_0x13f165,_0x546fa4){if(null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x5e97cc)return _0x12eada['SR_ERR_PARAM'];var _0x5b42ad,_0x97a6e6;_0x5b42ad=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x97a6e6=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x270df4,_0x511c2e,_0x299837,_0x550b45,_0x31e7b7=0x0,_0x518bba=0x1,_0x5e878f=0.1,_0x5803fe=0.9,_0x5584d6=0x0,_0x1daf58=0x1,_0x1519a8=0x0,_0x3721c0=0x1;this['fRX1']<0x0&&(_0x270df4=0x1*-this['fRX1'],_0x31e7b7=_0x270df4/=0x2*_0x97a6e6,_0x5584d6=_0x270df4),this['fRX2']>0x1&&(_0x511c2e=0x1*(this['fRX2']-0x1),_0x518bba=0x1-(_0x511c2e/=0x2*_0x97a6e6),_0x1daf58=0x1-_0x511c2e),this['fRY1']<0x0&&(_0x299837=-this['fRY1']*_0x5b42ad,_0x5e878f=(_0x299837/=0x2*_0x97a6e6)>0.1?_0x299837:0.1,_0x1519a8=_0x299837),this['fRY2']>0x1&&(_0x550b45=(this['fRY2']-0x1)*_0x5b42ad,_0x5803fe=(_0x550b45/=0x2*_0x97a6e6)>0x1-0.9?0x1-_0x550b45:0.9,_0x3721c0=0x1-_0x550b45);var _0x304871={},_0x166890={};_0x304871['fX']=_0x13f165*(_0x518bba-_0x31e7b7)+_0x31e7b7,_0x304871['fY']=_0x546fa4*(_0x5803fe-_0x5e878f)+_0x5e878f;var _0x49ee13=Math['sqrt'](0.25-(_0x304871['fY']-0.5)*(_0x304871['fY']-0.5));return _0x166890['fX']=(_0x304871['fX']-0.5)*_0x49ee13/0.5+0.5,_0x166890['fY']=_0x304871['fY'],_0x166890['fX']=(_0x166890['fX']-_0x5584d6)/(_0x1daf58-_0x5584d6),_0x166890['fY']=(_0x166890['fY']-_0x1519a8)/(_0x3721c0-_0x1519a8),_0x5e97cc['fX']=_0x166890['fX'],_0x5e97cc['fY']=_0x166890['fY'],_0x12eada['SR_OK'];}},{'key':'UpdatePTZPosition','value':function(_0x344005,_0x489379,_0xc348c7){if(null==this['pRenderParam'][_0x344005])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x5a24e8={'fHAngleSin':0x0,'fHAngleCos':0x0,'fVAngleSin':0x0,'fVAngleCos':0x0},_0x3e1ec1=_0x12eada['SR_OK'];if(_0x4d466f['SR_DE_FISH_PTZ_FLOOR']==this['pRenderParam'][_0x344005]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_CEILING']==this['pRenderParam'][_0x344005]['nDisplayEffect']){if((_0x3e1ec1=this['ComputeAngleVertical'](_0x489379,_0xc348c7,_0x5a24e8,this['pRenderParam'][_0x344005]['nDisplayEffect']))!=_0x12eada['SR_OK'])return _0x3e1ec1;}else{if(_0x4d466f['SR_DE_FISH_PTZ_WALL']!=this['pRenderParam'][_0x344005]['nDisplayEffect'])return _0x12eada['SR_ERR_NOT_SUPPORT'];if((_0x3e1ec1=this['ComputeAngleHorizontal'](_0x489379,_0xc348c7,_0x5a24e8))!=_0x12eada['SR_OK'])return _0x3e1ec1;}return 0x0==this['IsInImage'](this['fRX1'],this['fRX2'],this['fRY1'],this['fRY2'],_0x5a24e8,this['pRenderParam'][_0x344005]['fZoom'],this['pRenderParam'][_0x344005]['nDisplayEffect'])?_0x12eada['SR_ERR_PARAM']:(this['pRenderParam'][_0x344005]['fCosH']=_0x5a24e8['fHAngleCos'],this['pRenderParam'][_0x344005]['fSinH']=_0x5a24e8['fHAngleSin'],this['pRenderParam'][_0x344005]['fCosV']=_0x5a24e8['fVAngleCos'],this['pRenderParam'][_0x344005]['fSinV']=_0x5a24e8['fVAngleSin'],_0x12eada['SR_OK']);}},{'key':'JudgeDisplayEffect','value':function(_0x1513e5){var _0x37660e=0x0;switch(_0x37660e){case 0x0:return _0x37660e=this['GetPlaceType'](_0x1513e5),0x4==this['nPlaceType']&&(this['nPlaceType']=0x0),_0x12eada['SR_OK'];case 0x3:return(_0x37660e=this['GetPlaceType'](_0x1513e5))==this['nPlaceType']||0x4==this['nPlaceType']?_0x12eada['SR_OK']:_0x12eada['SR_ERR_NOT_SUPPORT'];case 0x2:case 0x1:return(_0x37660e=this['GetPlaceType'](_0x1513e5))==this['nPlaceType']||0x4==_0x37660e?_0x12eada['SR_OK']:_0x12eada['SR_ERR_NOT_SUPPORT'];default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return _0x12eada['SR_ERR_NOT_SUPPORT'];}},{'key':'GetPlaceType','value':function(_0x3cf74e){switch(_0x3cf74e){case _0x4d466f['SR_DE_FISH_PTZ_CEILING']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']:case _0x4d466f['SR_DE_FISH_CYLINDER_CEILING']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_CEILING']:return 0x3;case _0x4d466f['SR_DE_FISH_PTZ_FLOOR']:case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:case _0x4d466f['SR_DE_FISH_PANARAMA_FLOOR_180']:case _0x4d466f['SR_DE_FISH_CYLINDER_FLOOR']:case _0x4d466f['SR_DE_FISH_CYLINDER_SPLIT_FLOOR']:return 0x2;case _0x4d466f['SR_DE_FISH_PTZ_WALL']:case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL']:case _0x4d466f['SR_DE_FISH_ARCSPHERE_VERTICAL_WALL']:return 0x1;case _0x4d466f['SR_DE_FISH_SEMISPHERE']:case _0x4d466f['SR_DE_FISH_ORIGINAL']:case _0x4d466f['SR_DE_FISH_PLANET']:case _0x4d466f['SR_DE_PANORAMA_SPHERE']:case _0x4d466f['SR_DE_PANORAMA_PLANET']:return 0x4;default:return 0x0;}return 0x0;}},{'key':'SetFishParam','value':function(_0x57e48a,_0x1e44a5){if(_0x57e48a<0x0||_0x57e48a>=0x20)return _0x12eada['SR_ERR_PARAM'];if(null==_0x1e44a5)return _0x12eada['SR_ERR_PARAM'];if(null==this['pRenderParam'][_0x57e48a])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x198ee8=_0x12eada['SR_OK'];switch(_0x1e44a5['nFishParamType']){case _0x1a6379['SR_FPT_CENTER']:if((_0x198ee8=this['UpdateCircyeParam'](_0x1e44a5['fRXLeft'],_0x1e44a5['fRXRight'],_0x1e44a5['fRYTop'],_0x1e44a5['fRYBottom']))!=_0x12eada['SR_OK'])return _0x198ee8;this['pRenderParam'][_0x57e48a]['bCut']=_0x1e44a5['bCut'],this['bBlack']=_0x1e44a5['bBlack'];break;case _0x1a6379['SR_FPT_ANGLE']:if(_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect'])return _0x12eada['SR_ERR_NOT_SUPPORT'];if((_0x198ee8=this['UpdateWideScanAngle'](_0x57e48a,_0x1e44a5['fAngle']))!=_0x12eada['SR_OK'])return _0x198ee8;this['pFishParam'][_0x57e48a]['fAngle']=_0x1e44a5['fAngle'];break;case _0x1a6379['SR_FPT_ZOOM']:if(_0x4d466f['SR_DE_FISH_PTZ_WALL']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PTZ_CEILING']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PTZ_FLOOR']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect'])return _0x12eada['SR_ERR_NOT_SUPPORT'];if((_0x198ee8=this['UpdateRangeParam'](_0x57e48a,_0x1e44a5['fZoom']))!=_0x12eada['SR_OK'])return _0x198ee8;this['pFishParam'][_0x57e48a]['fZoom']=_0x1e44a5['fZoom'];break;case _0x1a6379['SR_FPT_PTZ']:if(_0x4d466f['SR_DE_FISH_PTZ_WALL']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PTZ_CEILING']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PTZ_FLOOR']!=this['pRenderParam'][_0x57e48a]['nDisplayEffect'])return _0x12eada['SR_ERR_NOT_SUPPORT'];if((_0x198ee8=this['UpdatePTZPosition'](_0x57e48a,_0x1e44a5['fPTZX'],_0x1e44a5['fPTZY'],this['pRenderParam'][_0x57e48a]['fZoom'],!0x0))!=_0x12eada['SR_OK'])return _0x198ee8;this['pFishParam'][_0x57e48a]['fPTZX']=_0x1e44a5['fPTZX'],this['pFishParam'][_0x57e48a]['fPTZY']=_0x1e44a5['fPTZY'];break;case _0x1a6379['SR_FPT_NULL']:default:return _0x12eada['SR_ERR_NOT_SUPPORT'];}return this['ComputePTZPoints'](),_0x12eada['SR_OK'];}},{'key':'GetFishParam','value':function(_0x157bfb,_0x583e23){return _0x157bfb<0x0||_0x157bfb>=0x20||null==_0x583e23||null==this['pFishParam'][_0x157bfb]?_0x12eada['SR_ERR_PARAM']:(_0x583e23['fRXLeft']=this['fRX1'],_0x583e23['fRXRight']=this['fRX2'],_0x583e23['fRYTop']=this['fRY1'],_0x583e23['fRYBottom']=this['fRY2'],_0x583e23['bBlack']=this['bBlack'],_0x583e23['bCut']=this['pRenderParam'][_0x157bfb]['bCut'],_0x583e23['nFishParamType']=this['pFishParam'][_0x157bfb]['nFishParamType'],_0x583e23['fAngle']=this['pFishParam'][_0x157bfb]['fAngle'],_0x583e23['fZoom']=this['pFishParam'][_0x157bfb]['fZoom'],_0x583e23['fPTZX']=this['pFishParam'][_0x157bfb]['fPTZX'],_0x583e23['fPTZY']=this['pFishParam'][_0x157bfb]['fPTZY'],_0x12eada['SR_OK']);}},{'key':'GetRenderParam','value':function(_0x3d11e1,_0x34a1af){return _0x3d11e1<0x0||_0x3d11e1>=0x20||null==_0x34a1af||null==this['pRenderParam'][_0x3d11e1]?_0x12eada['SR_ERR_PARAM']:(_0x34a1af['fRXLeft']=this['fRX1'],_0x34a1af['fRXRight']=this['fRX2'],_0x34a1af['fRYTop']=this['fRY1'],_0x34a1af['fRYBottom']=this['fRY2'],_0x34a1af['bBlack']=this['bBlack'],_0x34a1af['fCosH']=this['pRenderParam'][_0x3d11e1]['fCosH'],_0x34a1af['fSinH']=this['pRenderParam'][_0x3d11e1]['fSinH'],_0x34a1af['fCosV']=this['pRenderParam'][_0x3d11e1]['fCosV'],_0x34a1af['fSinV']=this['pRenderParam'][_0x3d11e1]['fSinV'],_0x34a1af['fAngle']=this['pRenderParam'][_0x3d11e1]['fAngle'],_0x34a1af['fZoom']=this['pRenderParam'][_0x3d11e1]['fZoom'],_0x34a1af['nDisplayEffect']=this['pRenderParam'][_0x3d11e1]['nDisplayEffect'],_0x34a1af['bCut']=this['pRenderParam'][_0x3d11e1]['bCut'],_0x12eada['SR_OK']);}},{'key':'UpdateCircyeParam','value':function(_0x2eac63,_0x1906e0,_0x235deb,_0x428641){if(_0x2eac63<=-0.5||_0x2eac63>=0.4||_0x1906e0<=0.6||_0x1906e0>=1.5||_0x235deb<=-0.5||_0x235deb>=0.4||_0x428641<=0.6||_0x428641>=1.5||_0x2eac63+_0x1906e0<=0.8||_0x2eac63+_0x1906e0>=1.2||_0x235deb+_0x428641<=0.8||_0x235deb+_0x428641>=1.2)return _0x12eada['SR_ERR_PARAM'];if(_0x2eac63<0x0||_0x1906e0>0x1||_0x235deb<0x0||_0x428641>0x1){for(var _0x64a2d3=0x0;_0x64a2d3<0x20;++_0x64a2d3)if(null!=this['pRenderParam'][_0x64a2d3]&&(_0x4d466f['SR_DE_FISH_PTZ_CEILING']==this['pRenderParam'][_0x64a2d3]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_FLOOR']==this['pRenderParam'][_0x64a2d3]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_WALL']==this['pRenderParam'][_0x64a2d3]['nDisplayEffect'])){var _0x2fd367={};if(_0x2fd367['fHAngleCos']=this['pRenderParam'][_0x64a2d3]['fCosH'],_0x2fd367['fHAngleSin']=this['pRenderParam'][_0x64a2d3]['fSinH'],_0x2fd367['fVAngleCos']=this['pRenderParam'][_0x64a2d3]['fCosV'],_0x2fd367['fVAngleSin']=this['pRenderParam'][_0x64a2d3]['fSinV'],0x0==this['IsInImage'](_0x2eac63,_0x1906e0,_0x235deb,_0x428641,_0x2fd367,this['pRenderParam'][_0x64a2d3]['fZoom'],this['pRenderParam'][_0x64a2d3]['nDisplayEffect']))return _0x12eada['SR_ERR_PARAM'];}}return this['fRX1']=_0x2eac63,this['fRX2']=_0x1906e0,this['fRY1']=_0x235deb,this['fRY2']=_0x428641,_0x12eada['SR_OK'];}},{'key':'UpdateWideScanAngle','value':function(_0xe12a61,_0x281c10){return null==this['pRenderParam'][_0xe12a61]?_0x12eada['SR_ERR_CALL_ORDER']:(_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']==this['pRenderParam'][_0xe12a61]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_180']==this['pRenderParam'][_0xe12a61]['nDisplayEffect']?this['pRenderParam'][_0xe12a61]['fAngle']=_0x281c10:_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']!=this['pRenderParam'][_0xe12a61]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PANORAMA_CEILING_180']!=this['pRenderParam'][_0xe12a61]['nDisplayEffect']||(this['pRenderParam'][_0xe12a61]['fAngle']=-_0x281c10),_0x12eada['SR_OK']);}},{'key':'ComputeAngleVertical','value':function(_0x315676,_0x40db32,_0x4c4380,_0x91345a){var _0x1cce3b=_0x315676,_0xd7b4a3=_0x40db32,_0x105075=Math['sqrt']((_0xd7b4a3-0.5)*(_0xd7b4a3-0.5)+(_0x1cce3b-0.5)*(_0x1cce3b-0.5));if(_0x105075>0.5)return _0x12eada['SR_ERR_PARAM'];if(_0x105075<0.001)return _0x4c4380['fVAngleCos']=0x1,_0x4c4380['fVAngleSin']=0x0,_0x4c4380['fHAngleCos']=0x1,_0x4c4380['fHAngleSin']=0x0,_0x12eada['SR_OK'];if(_0x91345a==_0x4d466f['SR_DE_FISH_PTZ_CEILING']){_0x4c4380['fHAngleCos']=(0.5-_0xd7b4a3)/_0x105075,_0x4c4380['fHAngleSin']=(0.5-_0x1cce3b)/_0x105075;var _0x312cf1=_0x105075*_0x645d1a;_0x4c4380['fVAngleCos']=Math['cos'](_0x312cf1),_0x4c4380['fVAngleSin']=Math['sin'](_0x312cf1);}else{if(_0x91345a!=_0x4d466f['SR_DE_FISH_PTZ_FLOOR'])return _0x12eada['SR_ERR_PARAM'];_0x4c4380['fHAngleCos']=(_0xd7b4a3-0.5)/_0x105075,_0x4c4380['fHAngleSin']=(0.5-_0x1cce3b)/_0x105075;var _0x3190a1=_0x105075*_0x645d1a;_0x4c4380['fVAngleCos']=Math['cos'](_0x3190a1),_0x4c4380['fVAngleSin']=Math['sin'](_0x3190a1);}return _0x12eada['SR_OK'];}},{'key':'ComputeAngleHorizontal','value':function(_0xa3366a,_0x45f8a7,_0x293b99){var _0x383236,_0x52ddbd,_0x28961f,_0x5da65d,_0x146f66,_0x3e91bd,_0xbb4266,_0x19eb91=_0xa3366a,_0x392f32=_0x45f8a7;return(_0x392f32-(_0x146f66=0.5))*(_0x392f32-_0x146f66)+(_0x19eb91-_0x146f66)*(_0x19eb91-_0x146f66)>0.25?_0x12eada['SR_ERR_PARAM']:(_0x3e91bd=(_0x392f32-_0x146f66)/_0x146f66*_0x645d1a/0x2,_0x383236=Math['cos'](_0x3e91bd),_0x52ddbd=Math['sin'](_0x3e91bd),(_0x19eb91-_0x146f66)/_0x146f66/_0x383236>0x1||(_0x19eb91-_0x146f66)/_0x146f66/_0x383236<-0x1?_0x12eada['SR_ERR_PARAM']:(_0xbb4266=(_0x19eb91-_0x146f66)/_0x146f66/_0x383236*_0x645d1a/0x2,_0x28961f=Math['cos'](_0xbb4266),_0x5da65d=Math['sin'](_0xbb4266),_0x293b99['fVAngleCos']=_0x383236,_0x293b99['fVAngleSin']=_0x52ddbd,_0x293b99['fHAngleCos']=_0x28961f,_0x293b99['fHAngleSin']=_0x5da65d,_0x12eada['SR_OK']));}},{'key':'IsInImage','value':function(_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda,_0x2720ee,_0x5f2b8b){return 0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0x1,0.5,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0x0,0.5,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0.5,0x1,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0.5,0x0,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0x0,0x0,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0x0,0x1,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0x1,0x1,_0x5f2b8b)&&0x1!=this['IsOutofImage'](_0x57e9bc,_0x57eb99,_0x54fa57,_0x59c7e2,_0x671cda['fHAngleCos'],_0x671cda['fHAngleSin'],_0x671cda['fVAngleCos'],_0x671cda['fVAngleSin'],_0x2720ee,0x1,0x0,_0x5f2b8b);}},{'key':'IsOutofImage','value':function(_0x3ca651,_0x5c3e74,_0x34e499,_0x4a3a30,_0x3be4bb,_0x33a0b9,_0x2f645a,_0x649a62,_0x4f2000,_0x9fcda8,_0x4224f1,_0x4935a4){var _0x3c96ee,_0x4e07a1,_0x385611,_0x1785f8,_0x4771c6,_0x459190,_0x5d12f9,_0x529bc4,_0x174913,_0x89433d,_0x4dff67,_0x58f062,_0x280aca;if(_0x4dff67=(_0x3ca651+_0x5c3e74)/0x2*0x1,_0x58f062=(_0x34e499+_0x4a3a30)/0x2*(_0x89433d=(_0x5c3e74-_0x3ca651)/(_0x4a3a30-_0x34e499)),_0x280aca=(_0x5c3e74-_0x3ca651)/0x2*0x1,_0x4935a4==_0x4d466f['SR_DE_FISH_PTZ_CEILING']){if(_0x4e07a1=_0x9fcda8-0.5,_0x385611=(_0x3c96ee=0.5-_0x4224f1)*_0x2f645a+(_0x459190=_0x4f2000)*_0x649a62,(_0x5d12f9=_0x459190*_0x2f645a-_0x3c96ee*_0x649a62)<=0x0)return!0x0;_0x174913=Math['sqrt'](_0x4e07a1*_0x4e07a1+_0x385611*_0x385611);var _0x4b9483=Math['sqrt'](_0x4e07a1*_0x4e07a1+_0x385611*_0x385611+_0x5d12f9*_0x5d12f9),_0x452069=Math['asin'](_0x174913/_0x4b9483)/1.5707963*0.5;if(_0x4771c6=(-((_0x4e07a1=_0x452069*_0x4e07a1/_0x174913)*_0x33a0b9+(_0x385611=_0x452069*_0x385611/_0x174913)*_0x3be4bb)*_0x280aca*0x2+_0x58f062)/_0x89433d,(_0x1785f8=((_0x4e07a1*_0x3be4bb-_0x385611*_0x33a0b9)*_0x280aca*0x2+_0x4dff67)/0x1)<0x0||_0x1785f8>0x1||_0x4771c6<0x0||_0x4771c6>0x1)return!0x0;}if(_0x4935a4==_0x4d466f['SR_DE_FISH_PTZ_FLOOR']){if(_0x4e07a1=_0x9fcda8-0.5,_0x385611=(_0x3c96ee=_0x4224f1-0.5)*_0x2f645a+(_0x459190=_0x4f2000)*_0x649a62,(_0x5d12f9=_0x459190*_0x2f645a-_0x3c96ee*_0x649a62)<=0x0)return!0x0;_0x174913=Math['sqrt'](_0x4e07a1*_0x4e07a1+_0x385611*_0x385611);var _0x462bae=Math['sqrt'](_0x4e07a1*_0x4e07a1+_0x385611*_0x385611+_0x5d12f9*_0x5d12f9),_0x330f04=Math['asin'](_0x174913/_0x462bae)/1.5707963*0.5;if(_0x4771c6=(((_0x4e07a1=_0x330f04*_0x4e07a1/_0x174913)*_0x33a0b9+(_0x385611=_0x330f04*_0x385611/_0x174913)*_0x3be4bb)*_0x280aca*0x2+_0x58f062)/_0x89433d,(_0x1785f8=((_0x4e07a1*_0x3be4bb-_0x385611*_0x33a0b9)*_0x280aca*0x2+_0x4dff67)/0x1)<0x0||_0x1785f8>0x1||_0x4771c6<0x0||_0x4771c6>0x1)return!0x0;}if(_0x4935a4==_0x4d466f['SR_DE_FISH_PTZ_WALL']){if(_0x1785f8=(_0x4e07a1=_0x9fcda8-0.5)*_0x3be4bb+(_0x5d12f9=(_0x459190=_0x4f2000)*_0x2f645a-(_0x3c96ee=_0x4224f1-0.5)*_0x649a62)*_0x33a0b9,_0x4771c6=_0x385611=_0x3c96ee*_0x2f645a+_0x459190*_0x649a62,(_0x529bc4=_0x5d12f9*_0x3be4bb-_0x4e07a1*_0x33a0b9)<=0x0)return!0x0;_0x174913=Math['sqrt'](_0x1785f8*_0x1785f8+_0x4771c6*_0x4771c6);var _0x567958=Math['sqrt'](_0x1785f8*_0x1785f8+_0x4771c6*_0x4771c6+_0x529bc4*_0x529bc4),_0x452d95=Math['asin'](_0x174913/_0x567958)/1.5707963*0.5;if(_0x4771c6=(_0x452d95*_0x4771c6/_0x174913*_0x280aca*0x2+_0x58f062)/_0x89433d,(_0x1785f8=(_0x452d95*_0x1785f8/_0x174913*_0x280aca*0x2+_0x4dff67)/0x1)<0x0||_0x1785f8>0x1||_0x4771c6<0x0||_0x4771c6>0x1)return!0x0;}return!0x1;}},{'key':'ComputePTZPoints','value':function(){if(-0x1==this['nWndPort'])return _0x12eada['SR_ERR_CALL_ORDER'];for(var _0x42f881=0x0;_0x42f881<0x20;++_0x42f881)if(null!=this['pRenderParam'][_0x42f881]&&(_0x4d466f['SR_DE_FISH_PTZ_CEILING']==this['pRenderParam'][_0x42f881]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_FLOOR']==this['pRenderParam'][_0x42f881]['nDisplayEffect']||_0x4d466f['SR_DE_FISH_PTZ_WALL']==this['pRenderParam'][_0x42f881]['nDisplayEffect'])){var _0x1b6b49=_0x12eada['SR_OK'];if(this['nPTZDisplayMode']==_0x3b7ab3['SR_DM_RANGE']){if(_0x1b6b49=this['GetRangePoints'](_0x42f881),_0x12eada['SR_OK']!=_0x1b6b49)continue;if(_0x1b6b49=this['TransformPTZRangePoints'](_0x42f881),_0x12eada['SR_OK']!=_0x1b6b49)continue;}else{if(this['nPTZDisplayMode']==_0x3b7ab3['SR_DM_RECT']&&(_0x1b6b49=this['GetRectPoints'](_0x42f881),_0x12eada['SR_OK']!=_0x1b6b49))continue;}}return _0x12eada['SR_OK'];}},{'key':'GetWndPort','value':function(){return this['nWndPort'];}},{'key':'GetPTZDisplayMode','value':function(){return this['nPTZDisplayMode'];}},{'key':'GetPTZColor','value':function(_0x492712,_0x14241f){return _0x492712<0x0||_0x492712>=0x20||null==_0x14241f?_0x12eada['SR_ERR_PARAM']:(_0x14241f['fA']=this['stPTZColor'][_0x492712]['fA'],_0x14241f['fR']=this['stPTZColor'][_0x492712]['fR'],_0x14241f['fG']=this['stPTZColor'][_0x492712]['fG'],_0x14241f['fB']=this['stPTZColor'][_0x492712]['fB'],this['pPTZSetColor'][_0x492712]['bSetColor']&&(Math['abs'](this['pPTZSetColor'][_0x492712]['fA'])<0.000001||Math['abs'](this['pPTZSetColor'][_0x492712]['fR'])<0.000001||Math['abs'](this['pPTZSetColor'][_0x492712]['fG'])<0.000001||Math['abs'](this['pPTZSetColor'][_0x492712]['fB'])<0.000001)&&(_0x14241f['fA']=this['pPTZSetColor'][_0x492712]['fA'],_0x14241f['fR']=this['pPTZSetColor'][_0x492712]['fR'],_0x14241f['fG']=this['pPTZSetColor'][_0x492712]['fG'],_0x14241f['fB']=this['pPTZSetColor'][_0x492712]['fB']),_0x12eada['SR_OK']);}},{'key':'SetPTZColor','value':function(_0x42ca48,_0x4dfeda){return _0x42ca48<0x0||_0x42ca48>=0x20||null==_0x4dfeda?_0x12eada['SR_ERR_PARAM']:(this['pPTZSetColor'][_0x42ca48]['fR']=_0x4dfeda['fR'],this['pPTZSetColor'][_0x42ca48]['fG']=_0x4dfeda['fG'],this['pPTZSetColor'][_0x42ca48]['fB']=_0x4dfeda['fB'],this['pPTZSetColor'][_0x42ca48]['fA']=_0x4dfeda['fA'],this['pPTZSetColor'][_0x42ca48]['bSetColor']=!0x0,_0x12eada['SR_OK']);}},{'key':'IsPTZSelected','value':function(_0x4dd3c5){return!(_0x4dd3c5<0x0||_0x4dd3c5>=0x20)&&this['bPTZSelected'][_0x4dd3c5];}},{'key':'GetPTZPort','value':function(_0x48991a,_0x9261d7,_0x4f0396){if(-0x1==this['nWndPort'])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];var _0x22f136=0x20,_0x36548e={};_0x36548e['fX']=_0x48991a,_0x36548e['fY']=_0x9261d7;for(var _0x26b42d=0x0;_0x26b42d<0x20;++_0x26b42d)this['bPTZSelected'][_0x26b42d]=!0x1;if(this['nPTZDisplayMode']==_0x3b7ab3['SR_DM_RANGE']){switch(this['pRenderParam'][this['nWndPort']]['nDisplayEffect']){case _0x4d466f['SR_DE_FISH_PANORAMA_FLOOR_360']:this['GetPointPano2FishFloor'](_0x36548e,_0x48991a,_0x9261d7);break;case _0x4d466f['SR_DE_FISH_PANORAMA_CEILING_360']:this['GetPointPano2FishCeiling'](_0x36548e,_0x48991a,_0x9261d7);break;case _0x4d466f['SR_DE_FISH_PANORAMA_WALL']:this['GetPointPano2FishWall'](_0x36548e,_0x48991a,_0x9261d7);}for(var _0x453c20=0x0;_0x453c20<0x20;++_0x453c20)if(0x0!=this['nOriPTZPointNum'][_0x453c20]){var _0x1421c7={};_0x1421c7['fX']=this['pOriPTZPoints'][_0x453c20][0x0]['fX'],_0x1421c7['fY']=this['pOriPTZPoints'][_0x453c20][0x0]['fY'];var _0x29aa63={};_0x29aa63['fX']=this['pOriPTZPoints'][_0x453c20][0x0]['fX'],_0x29aa63['fY']=this['pOriPTZPoints'][_0x453c20][0x0]['fY'];for(var _0x2a6e48=0x1;_0x2a6e48=_0x29aa63['fX']&&_0x36548e['fY']>=_0x29aa63['fY']&&_0x36548e['fY']<=_0x1421c7['fY']){_0x22f136=_0x453c20;break;}}}else{if(this['nPTZDisplayMode']!=_0x3b7ab3['SR_DM_RECT'])return _0x12eada['SR_ERR_NOT_SUPPORT'];for(var _0x103486=0x0;_0x103486<0x20;++_0x103486)if(_0x36548e['fX']<=this['pRectPoints'][_0x103486][0x2]['fX']&&_0x36548e['fX']>=this['pRectPoints'][_0x103486][0x0]['fX']&&_0x36548e['fY']>=this['pRectPoints'][_0x103486][0x0]['fY']&&_0x36548e['fY']<=this['pRectPoints'][_0x103486][0x2]['fY']){_0x22f136=_0x103486;break;}}return _0x22f136<0x20?(this['bPTZSelected'][_0x22f136]=!0x0,_0x4f0396['nPTZPort']=_0x22f136,_0x12eada['SR_OK']):_0x12eada['SR_ERR_NOT_SUPPORT'];}},{'key':'SetPTZPort','value':function(_0xfeb96b){if(_0xfeb96b<0x0||_0xfeb96b>=0x20)return _0x12eada['SR_ERR_PARAM'];for(var _0x25952d=0x0;_0x25952d<0x20;++_0x25952d)this['bPTZSelected'][_0x25952d]=!0x1;if(this['nPTZDisplayMode']==_0x3b7ab3['SR_DM_RANGE']){if(0x0==this['nOriPTZPointNum'][_0xfeb96b])return _0x12eada['SR_ERR_PARAM'];this['bPTZSelected'][_0xfeb96b]=!0x0;}else{if(0x0==this['nPTZRectNum'][_0xfeb96b])return _0x12eada['SR_ERR_PARAM'];this['bPTZSelected'][_0xfeb96b]=!0x0;}return _0x12eada['SR_OK'];}},{'key':'GetPTZRectange','value':function(_0x52669e,_0x4d7842,_0x5c704d){return _0x5c704d['fX']<_0x4d7842['fX']&&(_0x4d7842['fX']=_0x5c704d['fX']),_0x5c704d['fY']<_0x4d7842['fY']&&(_0x4d7842['fY']=_0x5c704d['fY']),_0x5c704d['fX']>_0x52669e['fX']&&(_0x52669e['fX']=_0x5c704d['fX']),_0x5c704d['fY']>_0x52669e['fY']&&(_0x52669e['fY']=_0x5c704d['fY']),_0x12eada['SR_OK'];}},{'key':'GetPTZPoints','value':function(_0x212538,_0x33abed,_0x5f4a94){return _0x212538<0x0||_0x212538>=0x20?_0x12eada['SR_ERR_PARAM']:null==this['pRenderParam'][this['nWndPort']]?_0x12eada['SR_ERR_CALL_ORDER']:(_0x3b7ab3['SR_DM_RANGE']==_0x5f4a94?null!=this['pOriPTZPoints'][_0x212538]&&0x0!=this['nOriPTZPointNum'][_0x212538]&&(_0x33abed['pstPoints']=this['pOriPTZPoints'][_0x212538],_0x33abed['nPointNum']=this['nOriPTZPointNum'][_0x212538]):_0x3b7ab3['SR_DM_RECT']==_0x5f4a94&&null!=this['pRectPoints'][_0x212538]&&(_0x33abed['pstPoints']=this['pRectPoints'][_0x212538],_0x33abed['nPointNum']=0x4),_0x12eada['SR_OK']);}},{'key':'SetPTZDisplayMode','value':function(_0x5aec81){return this['nPTZDisplayMode']=_0x5aec81,this['ComputePTZPoints']();}},{'key':'GetDisplayEffect','value':function(_0x1b645a){return _0x1b645a<0x0||_0x1b645a>=0x20||null==this['pRenderParam']?_0x4d466f['SR_DE_NULL']:this['pRenderParam'][_0x1b645a]['nDisplayEffect'];}},{'key':'GetPTZFragmentPoints','value':function(_0x594db9,_0x295f28,_0x126286){if(_0x594db9<0x0||_0x594db9>=0x20)return _0x12eada['SR_ERR_PARAM'];if(null==this['pPanoPTZPoints'][_0x594db9]||0x0==this['nPanoPTZPointNum'][_0x594db9])return _0x12eada['SR_ERR_PARAM'];var _0x22e68a=this['nPTZFragmentNode'][_0x594db9][_0x126286];if(_0x295f28['nPointNum']=this['nPTZFragmentNode'][_0x594db9][_0x126286+0x1]-this['nPTZFragmentNode'][_0x594db9][_0x126286],_0x295f28['nPointNum']<0x0)return _0x12eada['SR_ERR_CALL_ORDER'];_0x295f28['pstPoints']=[];for(var _0x38bc61=0x0;_0x38bc61<_0x295f28['nPointNum'];++_0x38bc61){var _0x160e8e={};_0x160e8e['fX']=this['pPanoPTZPoints'][_0x594db9][_0x22e68a+_0x38bc61]['fX'],_0x160e8e['fY']=this['pPanoPTZPoints'][_0x594db9][_0x22e68a+_0x38bc61]['fY'],_0x295f28['pstPoints']['push'](_0x160e8e);}return _0x12eada['SR_OK'];}},{'key':'GetPTZFragmentNum','value':function(_0x565f8d){return _0x565f8d<0x0||_0x565f8d>=0x20||0x0==this['nPTZFragmentNum'][_0x565f8d]?0x0:this['nPTZFragmentNum'][_0x565f8d];}},{'key':'CalcPTZFragmentPoints','value':function(_0x34bde8){if(_0x34bde8<0x0||_0x34bde8>=0x20)return _0x12eada['SR_ERR_PARAM'];if(null==this['pPanoPTZPoints'][_0x34bde8]||0x0==this['nPanoPTZPointNum'][_0x34bde8])return _0x12eada['SR_ERR_CALL_ORDER'];this['nPTZFragmentNode'][_0x34bde8][0x0]=0x0,this['nPTZFragmentNum'][_0x34bde8]=0x1;for(var _0x38a102=0x0,_0x1d1160=0x0;_0x1d11600.5&&(_0x38a102=this['nPTZFragmentNum'][_0x34bde8],this['nPTZFragmentNode'][_0x34bde8][_0x38a102]=_0x1d1160+0x1,this['nPTZFragmentNum'][_0x34bde8]=this['nPTZFragmentNum'][_0x34bde8]+0x1);var _0x154b61=this['nPanoPTZPointNum'][_0x34bde8];return Math['abs'](this['pPanoPTZPoints'][_0x34bde8][0x0]['fX']-this['pPanoPTZPoints'][_0x34bde8][_0x154b61-0x1]['fX'])<0.5&&(this['pPanoPTZPoints'][_0x34bde8][_0x154b61]['fX']=this['pPanoPTZPoints'][_0x34bde8][0x0]['fX'],this['pPanoPTZPoints'][_0x34bde8][_0x154b61]['fY']=this['pPanoPTZPoints'][_0x34bde8][0x0]['fY'],this['nPanoPTZPointNum'][_0x34bde8]=this['nPanoPTZPointNum'][_0x34bde8]+0x1),_0x38a102=this['nPTZFragmentNum'][_0x34bde8],this['nPTZFragmentNode'][_0x34bde8][_0x38a102]=this['nPanoPTZPointNum'][_0x34bde8],_0x12eada['SR_OK'];}},{'key':'IsPortAllocated','value':function(_0x2faf88){return this['bPortAllocated'][_0x2faf88];}},{'key':'GetPointFish2PanoCeiling','value':function(_0x3e56ee,_0x149fb3,_0x3a81d7){if(null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x3e56ee)return _0x12eada['SR_ERR_PARAM'];var _0x1f58c4,_0x40c6db;_0x1f58c4=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x40c6db=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x161f34,_0x523231=0x0;(this['fRX2']>0x1||this['fRY2']>0x1||this['fRX1']<0x0||this['fRY1']<0x0)&&(this['fRX1']<0x0&&(_0x161f34=0x1*-this['fRX1'])>_0x523231&&(_0x523231=_0x161f34),this['fRX2']>0x1&&(_0x161f34=0x1*(this['fRX2']-0x1))>_0x523231&&(_0x523231=_0x161f34),this['fRY1']<0x0&&(_0x161f34=-this['fRY1']*_0x1f58c4)>_0x523231&&(_0x523231=_0x161f34),this['fRY2']>0x1&&(_0x161f34=(this['fRY2']-0x1)*_0x1f58c4)>_0x523231&&(_0x523231=_0x161f34));var _0x5d70ae,_0x865977=_0x523231/_0x40c6db,_0xa30fe1={'fX':0x0,'fY':0x0};if(Math['abs'](_0x149fb3-0.5)<0.000001&&Math['abs'](_0x3a81d7-0.5)<0.000001)return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x1864b5={},_0x525b9e={};_0x1864b5['fX']=_0x149fb3-0.5,_0x1864b5['fY']=_0x3a81d7-0.5,_0x525b9e['fX']=-0.5*Math['sin'](this['pRenderParam'][this['nWndPort']]['fAngle']),_0x525b9e['fY']=0.5*Math['cos'](this['pRenderParam'][this['nWndPort']]['fAngle']);var _0x102baf=Math['sqrt'](_0x1864b5['fX']*_0x1864b5['fX']+_0x1864b5['fY']*_0x1864b5['fY']),_0x8bbbd7=Math['sqrt'](_0x525b9e['fX']*_0x525b9e['fX']+_0x525b9e['fY']*_0x525b9e['fY']);return _0x5d70ae=Math['acos']((_0x1864b5['fX']*_0x525b9e['fX']+_0x1864b5['fY']*_0x525b9e['fY'])/(_0x102baf*_0x8bbbd7)),_0x1864b5['fX']*_0x525b9e['fY']-_0x1864b5['fY']*_0x525b9e['fX']>0x0&&(_0x5d70ae=6.2831852-_0x5d70ae),_0xa30fe1['fX']=_0x5d70ae/6.2831853,_0xa30fe1['fY']=(0x2*(0.5-_0x102baf)-_0x865977)/(0.8-_0x865977),_0xa30fe1['fY']>=0x0&&_0xa30fe1['fX']>=0x0&&_0xa30fe1['fY']<=0x1&&_0xa30fe1['fX']<=0x1?(_0x3e56ee['fX']=_0xa30fe1['fX'],_0x3e56ee['fY']=_0xa30fe1['fY'],_0x12eada['SR_OK']):_0x12eada['SR_ERR_PARAM'];}},{'key':'GetPointFish2PanoFloor','value':function(_0x5b776a,_0x2cf49e,_0x3fd881){if(null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x5b776a)return _0x12eada['SR_ERR_PARAM'];var _0x2efaf9,_0x17910b;_0x2efaf9=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x17910b=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x23e98d,_0xb74cd8=0x0;(this['fRX2']>0x1||this['fRY2']>0x1||this['fRX1']<0x0||this['fRY1']<0x0)&&(this['fRX1']<0x0&&(_0x23e98d=0x1*-this['fRX1'])>_0xb74cd8&&(_0xb74cd8=_0x23e98d),this['fRX2']>0x1&&(_0x23e98d=0x1*(this['fRX2']-0x1))>_0xb74cd8&&(_0xb74cd8=_0x23e98d),this['fRY1']<0x0&&(_0x23e98d=-this['fRY1']*_0x2efaf9)>_0xb74cd8&&(_0xb74cd8=_0x23e98d),this['fRY2']>0x1&&(_0x23e98d=(this['fRY2']-0x1)*_0x2efaf9)>_0xb74cd8&&(_0xb74cd8=_0x23e98d));var _0x4bdebb,_0x19ef37=_0xb74cd8/_0x17910b,_0x5e2482={'fX':0x0,'fY':0x0};if(Math['abs'](_0x2cf49e-0.5)<0.000001&&Math['abs'](_0x3fd881-0.5)<0.000001)return _0x12eada['SR_ERR_NOT_SUPPORT'];var _0x31065c={},_0x508a28={};_0x31065c['fX']=_0x2cf49e-0.5,_0x31065c['fY']=_0x3fd881-0.5,_0x508a28['fX']=-0.5*Math['sin'](this['pRenderParam'][this['nWndPort']]['fAngle']),_0x508a28['fY']=0.5*Math['cos'](this['pRenderParam'][this['nWndPort']]['fAngle']);var _0x13aa5d=Math['sqrt'](_0x31065c['fX']*_0x31065c['fX']+_0x31065c['fY']*_0x31065c['fY']),_0x1c9ee2=Math['sqrt'](_0x508a28['fX']*_0x508a28['fX']+_0x508a28['fY']*_0x508a28['fY']);return _0x4bdebb=Math['acos']((_0x31065c['fX']*_0x508a28['fX']+_0x31065c['fY']*_0x508a28['fY'])/(_0x13aa5d*_0x1c9ee2)),_0x31065c['fX']*_0x508a28['fY']-_0x31065c['fY']*_0x508a28['fX']>0x0&&(_0x4bdebb=6.2831852-_0x4bdebb),_0x5e2482['fX']=0x1-_0x4bdebb/6.2831853,_0x5e2482['fY']=0x1-(0x2*(0.5-_0x13aa5d)-_0x19ef37)/(0.8-_0x19ef37),_0x5e2482['fY']>=0x0&&_0x5e2482['fX']>=0x0&&_0x5e2482['fY']<=0x1&&_0x5e2482['fX']<=0x1?(_0x5b776a['fX']=_0x5e2482['fX'],_0x5b776a['fY']=_0x5e2482['fY'],_0x12eada['SR_OK']):_0x12eada['SR_ERR_PARAM'];}},{'key':'GetPointFish2PanoWall','value':function(_0x37cb2a,_0x3ba453,_0x3f6191){if(null==this['pRenderParam'][this['nWndPort']])return _0x12eada['SR_ERR_CALL_ORDER'];if(null==_0x37cb2a)return _0x12eada['SR_ERR_PARAM'];var _0x5056e5,_0x4e41d3;_0x5056e5=(this['fRX2']-this['fRX1'])/(this['fRY2']-this['fRY1']),_0x4e41d3=(this['fRX2']-this['fRX1'])/0x2*0x1;var _0x2b07a0,_0x458ec3,_0x296e70,_0x48688d,_0x3a75a8,_0x3bbad3=0x0,_0x4c1503=0x1,_0x249f84=0.1,_0x5016eb=0.9;this['fRX1']<0x0&&(_0x2b07a0=0x1*-this['fRX1'],_0x3bbad3=_0x2b07a0/=0x2*_0x4e41d3),this['fRX2']>0x1&&(_0x458ec3=0x1*(this['fRX2']-0x1),_0x4c1503=0x1-(_0x458ec3/=0x2*_0x4e41d3)),this['fRY1']<0x0&&(_0x296e70=-this['fRY1']*_0x5056e5,_0x249f84=(_0x296e70/=0x2*_0x4e41d3)>0.1?_0x296e70:0.1),this['fRY2']>0x1&&(_0x48688d=(this['fRY2']-0x1)*_0x5056e5,_0x5016eb=(_0x48688d/=0x2*_0x4e41d3)>0x1-0.9?0x1-_0x48688d:0.9);var _0xbd1d6c={'fX':0x0,'fY':0x0},_0x42697b=0x2*_0x3ba453*_0x4e41d3,_0x40476e=0x2*_0x3f6191*_0x4e41d3;return _0x3a75a8=Math['sqrt'](_0x4e41d3*_0x4e41d3-(_0x40476e-_0x4e41d3)*(_0x40476e-_0x4e41d3)),Math['abs'](_0x3a75a8)<0.000001?_0x12eada['SR_ERR_PARAM']:(_0x3ba453=_0x4e41d3*(_0x42697b-_0x4e41d3)/_0x3a75a8+_0x4e41d3,_0x3f6191=_0x40476e,_0xbd1d6c['fX']=(_0x3ba453-0x2*_0x3bbad3*_0x4e41d3)/(0x2*(_0x4c1503-_0x3bbad3)*_0x4e41d3),_0xbd1d6c['fY']=(_0x3f6191-0x2*_0x249f84*_0x4e41d3)/(0x2*(_0x5016eb-_0x249f84)*_0x4e41d3),_0xbd1d6c['fY']>=0x0&&_0xbd1d6c['fX']>=0x0&&_0xbd1d6c['fY']<=0x1&&_0xbd1d6c['fX']<=0x1?(_0x37cb2a['fX']=_0xbd1d6c['fX'],_0x37cb2a['fY']=_0xbd1d6c['fY'],_0x12eada['SR_OK']):_0x12eada['SR_ERR_PARAM']);}},{'key':'UpdateRangeParam','value':function(_0x5e6296,_0x2f9cda){if(null==this['pRenderParam'][_0x5e6296])return _0x12eada['SR_ERR_CALL_ORDER'];if(_0x2f9cda<0.00001||_0x2f9cda>0.6)return _0x12eada['SR_ERR_PARAM'];var _0xbe8853=0x0;return _0x4d466f['SR_DE_FISH_PTZ_WALL']!=this['pRenderParam'][_0x5e6296]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PTZ_CEILING']!=this['pRenderParam'][_0x5e6296]['nDisplayEffect']&&_0x4d466f['SR_DE_FISH_PTZ_FLOOR']!=this['pRenderParam'][_0x5e6296]['nDisplayEffect']||(_0xbe8853=0x7*_0x2f9cda+0.8,this['IsInImage'](this['fRX1'],this['fRX2'],this['fRY1'],this['fRY2'],this['pRenderParam'][_0x5e6296]['fCosH'],this['pRenderParam'][_0x5e6296]['fSinH'],this['pRenderParam'][_0x5e6296]['fCosV'],this['pRenderParam'][_0x5e6296]['fSinV'],_0xbe8853,this['pRenderParam'][_0x5e6296]['nDisplayEffect']))?(this['pRenderParam'][_0x5e6296]['fZoom']=_0xbe8853,_0x12eada['SR_OK']):_0x12eada['SR_ERR_PARAM'];}}]),_0x2b7417;}()),_0x28ed38=_0x39fedc['Dv'],_0x506212=_0x39fedc['CF'],_0x21dfba=_0x39fedc['bC'],_0x15f25d=(function(){function _0x1cfefa(){_0x1d88b2(this,_0x1cfefa),this['canvas']=null,this['ctx']=null,this['regionSx']=0x0,this['regionSy']=0x0,this['regionSw']=0x0,this['regionSh']=0x0,this['needRect']=!0x1,this['bAntialias']=!0x1,this['bRecreateAntia']=!0x1,this['pfuncCBIn']=null,this['pUserIn']=null,this['pfuncCBOut']=null,this['pUserOut']=null;}return _0x4e686c(_0x1cfefa,[{'key':'SR_Init','value':function(_0x358a92){this['canvas']=_0x358a92,this['ctx']=this['canvas']['getContext']('2d'),console['log']('2d\\x20render\\x20init'),this['ctx']||console['log']('your\\x20browser\\x20does\\x20not\\x20support\\x202d\\x20render');}},{'key':'SR_Draw','value':function(_0x79c56b){return this['needRect']?this['ctx']['drawImage'](_0x79c56b,this['regionSx'],this['regionSy'],this['regionSw'],this['regionSh'],0x0,0x0,this['canvas']['width'],this['canvas']['height']):this['ctx']['drawImage'](_0x79c56b,0x0,0x0,_0x79c56b['displayWidth'],_0x79c56b['displayHeight'],0x0,0x0,this['canvas']['width'],this['canvas']['height']),null!=this['pfuncCBIn']&&this['pfuncCBIn'](this['pUserIn']),0x1;}},{'key':'SR_UpdateFrameData','value':function(_0x1ff803,_0x59d645,_0x460199,_0x19174c,_0x1c5dce){return this['needRect']?this['ctx']['drawImage'](_0x1ff803,this['regionSx'],this['regionSy'],this['regionSw'],this['regionSh'],0x0,0x0,this['canvas']['width'],this['canvas']['height']):this['ctx']['drawImage'](_0x1ff803,0x0,0x0,_0x59d645,_0x460199,0x0,0x0,this['canvas']['width'],this['canvas']['height']),null!=this['pfuncCBIn']&&this['pfuncCBIn'](this['pUserIn']),0x1;}},{'key':'SR_Display','value':function(_0x182f5c){return 0x1;}},{'key':'SR_GetCaptureSize','value':function(){return 0x0;}},{'key':'GetCanvasData','value':function(_0x50427){console['log']('%c\\x20start\\x20time:'+new Date()['getMinutes']()+':'+new Date()['getSeconds']()+'.'+new Date()['getMilliseconds'](),'color:\\x20blue');var _0x4d933a=this['ctx']['getImageData'](0x0,0x0,this['canvas']['width'],this['canvas']['height']);console['log']('%c\\x202\\x20time:'+new Date()['getMinutes']()+':'+new Date()['getSeconds']()+'.'+new Date()['getMilliseconds'](),'color:\\x20blue');var _0x22251e='jpeg',_0x59b849='image/jpeg',_0x1ed1b3=document['createElement']('canvas'),_0x32c2ac=_0x1ed1b3['getContext']('2d');_0x1ed1b3['width']=this['canvas']['width'],_0x1ed1b3['height']=this['canvas']['height'],_0x32c2ac['putImageData'](_0x4d933a,0x0,0x0);var _0x14eddf=_0x1ed1b3['toDataURL'](),_0x3b459b=document['createElement']('a');_0x3b459b['download']=new Date()['getTime']()+'.'+_0x22251e,_0x3b459b['href']=_0x14eddf,_0x3b459b['dataset']['downloadurl']=[_0x59b849,_0x3b459b['download'],_0x3b459b['href']]['join'](':'),document['body']['appendChild'](_0x3b459b),_0x3b459b['click'](),document['body']['removeChild'](_0x3b459b),console['log']('%c\\x20end\\x20time:'+new Date()['getMinutes']()+':'+new Date()['getSeconds']()+'.'+new Date()['getMilliseconds'](),'color:\\x20blue');}},{'key':'SR_DelSubPort','value':function(_0x1717a6){return 0x0;}},{'key':'SR_AddSubPort','value':function(_0x104f19){return 0x0;}},{'key':'SR_SetDisplayRect','value':function(_0x2ae66e,_0x28a416,_0x538311,_0x5e8228){this['regionSx']=_0x2ae66e,this['regionSy']=_0x28a416,this['regionSw']=_0x538311,this['regionSh']=_0x5e8228,this['needRect']=!0x0;}},{'key':'SR_Destroy','value':function(){this['canvas']=null,this['ctx']=null,this['regionSx']=0x0,this['regionSy']=0x0,this['regionSw']=0x0,this['regionSh']=0x0,this['needRect']=!0x1;}},{'key':'SR_SetCanvasSize','value':function(_0x21a0f8,_0x2ac8ae){this['canvas']['width']=_0x21a0f8,this['canvas']['height']=_0x2ac8ae;}},{'key':'SR_GetCanvasSize','value':function(){console['log']('canvas\\x20width:'+this['canvas']['width']+',height:'+this['canvas']['height']);}},{'key':'SR_SetAntialias','value':function(_0x487ba9){return _0x487ba9!=this['bAntialias']?(this['bAntialias']=_0x487ba9,this['bRecreateAntia']=!0x0):this['bRecreateAntia']=!0x1,this['bRecreateAntia']&&(this['bAntialias']?(this['canvas']['width']=0x5*this['canvas']['width'],this['canvas']['height']=0x5*this['canvas']['height'],this['canvas']['style']['transform']='scale(0.2)',this['canvas']['style']['transformOrigin']='0\\x200'):(this['canvas']['width']=this['canvas']['width']/0x5,this['canvas']['height']=this['canvas']['height']/0x5,this['canvas']['style']['transform']='scale(1)',this['canvas']['style']['transformOrigin']='0\\x200')),0x1;}},{'key':'SR_SetCallBack','value':function(_0x16be5f,_0xecfc1f,_0x37f010){switch(_0x37f010){case _0x21dfba['SRCALLBACKTYPE']['SR_CBT_NULL']:this['pfuncCBIn']=_0x16be5f,this['pUserIn']=_0xecfc1f;break;case _0x21dfba['SRCALLBACKTYPE']['SR_CBT_OUT']:this['pfuncCBOut']=_0x16be5f,this['pUserOut']=_0xecfc1f;break;default:return 0x0;}return 0x1;}},{'key':'SR_DrawFont','value':function(_0x1c8a72,_0x208110,_0x44506c,_0x5196f1,_0x4d49f8,_0x427321,_0x2c334a,_0x105a70,_0x1b2891){var _0x4f3eef=[],_0x14e462={};return _0x14e462['bBackground']=_0x427321,_0x14e462['nFontWidth']=_0x5196f1,_0x14e462['nFontHeight']=_0x4d49f8,_0x14e462['pstBGColor']=_0x2c334a,_0x14e462['pstFontColor']=_0x44506c,_0x14e462['pString']=_0x1c8a72,_0x14e462['pstStartPos']=_0x208110,_0x14e462['fRotateAngle']=_0x105a70,_0x14e462['pFontFamily']=_0x1b2891,_0x4f3eef['push'](_0x14e462),this['SR_DrawFontEx'](_0x4f3eef,0x1),0x1;}},{'key':'SR_DrawFontEx','value':function(_0x34d803,_0x1c9fc5){for(var _0x314ff8=0x0;_0x314ff8<_0x1c9fc5;_0x314ff8++){this['ctx']['textBaseline']='top';var _0x14264c=_0x34d803[_0x314ff8]['nFontWidth'],_0x5356cb=_0x34d803[_0x314ff8]['nFontHeight'],_0x301a48=(_0x14264c=Math['round'](_0x14264c))<(_0x5356cb=Math['round'](_0x5356cb))?_0x14264c:_0x5356cb;this['ctx']['font']=_0x301a48['toString']()+'px\\x20'+_0x34d803[_0x314ff8]['pFontFamily'];var _0x40c5b0=parseInt(0xff*_0x34d803[_0x314ff8]['pstFontColor']['fR']),_0x314e75=parseInt(0xff*_0x34d803[_0x314ff8]['pstFontColor']['fG']),_0x4c21f7=parseInt(0xff*_0x34d803[_0x314ff8]['pstFontColor']['fB']),_0x8c9602=_0x40c5b0<0x10?'0'+_0x40c5b0['toString'](0x10):_0x40c5b0['toString'](0x10),_0x391129=_0x314e75<0x10?'0'+_0x314e75['toString'](0x10):_0x314e75['toString'](0x10),_0x54beb7=_0x4c21f7<0x10?'0'+_0x4c21f7['toString'](0x10):_0x4c21f7['toString'](0x10);this['ctx']['fillStyle']='#'+_0x8c9602+_0x391129+_0x54beb7,this['ctx']['globalAlpha']=_0x34d803[_0x314ff8]['pstFontColor']['fA'],this['ctx']['fillText'](_0x34d803[_0x314ff8]['pString'],_0x34d803[_0x314ff8]['pstStartPos']['fX']*this['canvas']['width'],_0x34d803[_0x314ff8]['pstStartPos']['fY']*this['canvas']['height']);}return 0x1;}},{'key':'SR_DrawImage','value':function(_0x30b25a,_0x86640c,_0x485603,_0x5422e4,_0x35d238,_0x2690de){return 0x1;}},{'key':'SR_DrawLinesEx','value':function(_0x49e3aa,_0x57d217,_0x3c5063,_0x4826ce){return 0x1;}}]),_0x1cfefa;}());function _0x9a07a6(_0x122da1,_0x50435f){var _0x413141=Object['keys'](_0x122da1);if(Object['getOwnPropertySymbols']){var _0x1f1c83=Object['getOwnPropertySymbols'](_0x122da1);_0x50435f&&(_0x1f1c83=_0x1f1c83['filter'](function(_0x329e28){return Object['getOwnPropertyDescriptor'](_0x122da1,_0x329e28)['enumerable'];})),_0x413141['push']['apply'](_0x413141,_0x1f1c83);}return _0x413141;}function _0x4c50a5(_0x17ae60){for(var _0x502bdd=0x1;_0x502bdd=0x0&&console['log']('2d\\x20render');else{if(this['oVideoHandle']=new _0x506212(),this['mainFECCorrect']!=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_NULL'])null==this['pFishParamManager']&&(this['pFishParamManager']=new _0x28ed38()),this['oVideoHandle']['SR_SetFishParamManager'](this['pFishParamManager']),this['hasSetFECParamManager']=!0x0;else{null==this['pFishParamManager']&&(this['pFishParamManager']=new _0x28ed38()),this['oVideoHandle']['SR_SetFishParamManager'](this['pFishParamManager']),this['hasSetFECParamManager']=!0x0;var _0x3f7be7=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_NULL'];_0x3f7be7=0x1==this['panoramaDisplayEffect']?_0x21dfba['SRDISPLAYEFFECT']['SR_DE_PANORAMA_SPHERE']:0x3==this['panoramaDisplayEffect']?_0x21dfba['SRDISPLAYEFFECT']['SR_DE_PANORAMA_PLANET']:_0x21dfba['SRDISPLAYEFFECT']['SR_DE_NULL'],this['mainFECCorrect']=_0x3f7be7;}this['printfFlag']>=0x0&&console['log']('webgl\\x20render\\x20this.printfFlag:'+this['printfFlag']);}return this['enPixelFormat']=_0x3ec2cd,this['oVideoHandle']['SR_Init'](_0x5f1e2a,_0x3ec2cd),this['mainVaildSubPort']=this['oVideoHandle']['SR_AddSubPort'](this['mainFECCorrect']),-0x1==this['mainVaildSubPort']?(console['info']('%c\\x20InitDisplay\\x20SR_AddSubPort\\x20error\\x20subport:%d','color:\\x20red',this['mainVaildSubPort']),0x0):(this['mainFECCorrect']==_0x21dfba['SRDISPLAYEFFECT']['SR_DE_PANORAMA_SPHERE']&&this['oVideoHandle']['SR_SetViewParam'](this['viewParamType'],this['viewParamValue']),0x1);}},{'key':'ReleaseDisplay','value':function(){if(null!=this['oVideoHandle']&&(this['oVideoHandle']['SR_DelSubPort'](this['mainVaildSubPort']),this['oVideoHandle']['SR_Destroy'](),this['oVideoHandle']=null),this['subPortNum']>0x0){for(var _0x42d98a=0x1;_0x42d98a<_0x3e91af;_0x42d98a++)0x0!=this['stFishEyeManager'][_0x42d98a]['nSubPort']&&null!=this['stFishEyeManager'][_0x42d98a]['sCanvasID']&&0x0!=this['stFishEyeManager'][_0x42d98a]['bInited']&&(this['FEC_Disable'](_0x42d98a),this['FEC_DelPort'](_0x42d98a));}for(var _0x50c8a1=0x0;_0x50c8a1<_0x3e91af;_0x50c8a1++)this['stFishEyeManager'][_0x50c8a1]['pRender']=null;return this['stFishEyeManager']['splice'](0x0,this['stFishEyeManager']['length']),this['stFishParam']['splice'](0x0,this['stFishParam']['length']),null!=this['pFishParamManager']&&(this['pFishParamManager']['DeInit'](),this['pFishParamManager']=null),this['FECShowMode']=_0x21dfba['SRPTZDISPLAYMODE']['SR_DM_RANGE'],this['DeInitPrivateParam'](),0x1;}},{'key':'DeInitPrivateParam','value':function(){this['privateNormalLinesInfo']['splice'](0x0,this['privateNormalLinesInfo']['length']),this['curNormalLinesInfo']=null,this['privateThermalLinesInfo']['splice'](0x0,this['privateThermalLinesInfo']['length']),this['curThermalLinesInfo']=null,this['privateTemLinesInfo']['splice'](0x0,this['privateTemLinesInfo']['length']),this['curTemLinesInfo']=null,this['privateTargetLinesInfo']['splice'](0x0,this['privateTargetLinesInfo']['length']),this['curTargetLinesInfo']=null,this['privateMDLinesInfo']['splice'](0x0,this['privateMDLinesInfo']['length']),this['curMDLinesInfo']=null,this['privateExactLinesInfo']['splice'](0x0,this['privateExactLinesInfo']['length']),this['curExactLinesInfo']=null,this['privateExactRuleLinesInfo']['splice'](0x0,this['privateExactRuleLinesInfo']['length']),this['curExactRuleLinesInfo']=null,this['privateNormalFontsInfo']['splice'](0x0,this['privateNormalFontsInfo']['length']),this['curNormalFontsInfo']=null,this['curNormalPOSFontsInfo']=null,this['privateTemFontsInfo']['splice'](0x0,this['privateTemFontsInfo']['length']),this['curTemFontsInfo']=null,this['privateTargetFontsInfo']['splice'](0x0,this['privateTargetFontsInfo']['length']),this['curTargetFontsInfo']=null,this['privateExactPOSFontsInfo']['splice'](0x0,this['privateExactPOSFontsInfo']['length']),this['curExactPOSFontsInfo']=null,this['privateExactFontsInfo']['splice'](0x0,this['privateExactFontsInfo']['length']),this['curExactFontsInfo']=null,this['privateImageInfo']['splice'](0x0,this['privateImageInfo']['length']),this['curImagesInfo']=null,this['privatePNGImageInfo']['splice'](0x0,this['privatePNGImageInfo']['length']),this['DrawlinesParamArray']['splice'](0x0,this['DrawlinesParamArray']['length']),this['DrawTargetlinesParamArray']['splice'](0x0,this['DrawTargetlinesParamArray']['length']),this['DrawMosaiclinesParamArray']['splice'](0x0,this['DrawMosaiclinesParamArray']['length']),this['DrawPOSFontsParamArray']['splice'](0x0,this['DrawPOSFontsParamArray']['length']),this['DrawTargetEventIDList']['splice'](0x0,this['DrawTargetEventIDList']['length']),this['DrawFontParamArray']['splice'](0x0,this['DrawFontParamArray']['length']);for(var _0xb73e99=0x0;_0xb73e99<_0x3e91af;_0xb73e99++)this['pstWaterFontParamArray'][_0xb73e99]['splice'](0x0,this['pstWaterFontParamArray'][_0xb73e99]['length']);this['pWaterImageParam']['splice'](0x0,this['pWaterImageParam']['length']),this['bSRCallBackFlag']=!0x1,this['textCanvas']=null,this['curLinesInfo']=null,this['pstWaterFontParam']=null;}},{'key':'DisplayFrame','value':function(_0x5901af,_0x6ac278,_0x58a285,_0x26d976,_0xd14010,_0x198991,_0x4f22a1,_0x522fb1){var _0x312389=this;return new Promise(function(_0xfcae69){null!=_0x5901af&&(_0x312389['curTimestamp']=_0x26d976),_0x312389['bSRCallBackFlag']||(null!=_0x312389['oVideoHandle']&&_0x312389['oVideoHandle']['SR_SetCallBack'](_0x312389['WebGLDisplayCallBack'],_0x312389,_0x21dfba['SRCALLBACKTYPE']['SR_CBT_NULL']),_0x312389['bSRCallBackFlag']=!0x0);var _0x20ae3e=0x1;if(0x2==_0x312389['panoramaDisplayEffect']&&(_0x6ac278==0x2*_0x58a285?_0x312389['SetPanoramaDisplayEffect'](0x1):_0x312389['SetPanoramaDisplayEffect'](0x0)),null!=_0x5901af&&(_0x312389['nFrameRate']=_0x4f22a1,_0x312389['nTimePerFrame']=0x3e8/_0x4f22a1,0x0==_0x522fb1&&(_0x312389['FindIntelNodefromList'](_0x312389['curTimestamp']),_0x312389['CheckLinesInfo'](),_0x312389['CheckFontsInfo']()),null!=_0x312389['oVideoHandle']&&0x1==(_0x20ae3e=_0x312389['oVideoHandle']['SR_UpdateFrameData'](_0x5901af,_0x6ac278,_0x58a285,_0xd14010,_0x198991))&&(_0x20ae3e=_0x312389['oVideoHandle']['SR_Display'](!0x1)),_0x312389['subPortNum']>0x0)){for(var _0x520cfe=0x1;_0x520cfe<_0x3e91af;_0x520cfe++)0x0!=_0x312389['stFishEyeManager'][_0x520cfe]['nSubPort']&&null!=_0x312389['stFishEyeManager'][_0x520cfe]['sCanvasID']&&0x0!=_0x312389['stFishEyeManager'][_0x520cfe]['bInited']&&null!=_0x312389['stFishEyeManager'][_0x520cfe]['pRender']&&0x1==(_0x20ae3e=_0x312389['stFishEyeManager'][_0x520cfe]['pRender']['SR_UpdateFrameData'](_0x5901af,_0x6ac278,_0x58a285,null,null))&&(_0x20ae3e=_0x312389['stFishEyeManager'][_0x520cfe]['pRender']['SR_Display'](!0x1));}_0xfcae69({'timestamp':_0x312389['curTimestamp'],'DrawRet':_0x20ae3e});});}},{'key':'SetDisplayRect','value':function(_0x225d8f,_0x2062f7,_0x1d632d,_0x37cec9){return null!=this['oVideoHandle']&&(this['oVideoHandle']['SR_SetDisplayRect'](_0x225d8f,_0x2062f7,_0x1d632d,_0x37cec9,_0x21dfba['SRSETRECTTYPE']['SR_SRT_SRC']),null!=this['pstWaterFontParam']&&this['pstWaterFontParam']['nColorAdapt']&&(this['pstWaterFontParamArray'][0x0]['splice'](0x0,this['pstWaterFontParamArray'][0x0]['length']),this['CalculateWaterMarkParam'](this['oVideoHandle'],0x0,this['pstWaterFontParam']))),0x1;}},{'key':'SetCanvasSize','value':function(_0x5f601c,_0x5618aa,_0xcaaff0){var _0x142703=this['oVideoHandle'];if(_0xcaaff0>0x0&&(_0x142703=this['stFishEyeManager'][_0xcaaff0]['pRender']),null!=_0x142703){if(_0x142703['SR_SetCanvasSize'](_0x5f601c,_0x5618aa),0x0!=this['pstWaterFontParamArray'][_0xcaaff0]['length']&&null!=this['pstWaterFontParam']){if(0x1==this['pstWaterFontParam']['pstCanvasAdapt']['nCanvasAdaptMode'])this['pstWaterFontParamArray'][_0xcaaff0]['splice'](0x0,this['pstWaterFontParamArray'][_0xcaaff0]['length']),this['CalculateWaterMarkParam'](_0x142703,_0xcaaff0,this['pstWaterFontParam']);else{if(0x2==this['pstWaterFontParam']['pstCanvasAdapt']['nCanvasAdaptMode']){var _0x55fa76=this['mainCanvasID']['width'],_0x3ecd86=this['mainCanvasID']['height'];_0xcaaff0>0x0&&(_0x55fa76=this['stFishEyeManager'][_0xcaaff0]['sCanvasID']['width'],_0x3ecd86=this['stFishEyeManager'][_0xcaaff0]['sCanvasID']['height']);for(var _0x1c9ed0=0x0;_0x1c9ed0>>VideoRender.js\\x20SR_SetRenderState\\x20failed\\x20ret:%08x\\x0a',_0x463908);}}return this['FECShowMode']>0x0&&null!=this['stFishEyeManager'][_0x446521]['pRender']&&this['stFishEyeManager'][_0x446521]['pRender']['SR_SetPTZDisplayMode'](this['FECShowMode']),0x0==_0x446521&&(this['mainVaildSubPort']=this['stFishEyeManager'][_0x446521]['nValidSubPort']),0x1;}},{'key':'FEC_GetPort','value':function(_0x3ce985,_0x102b6f){if(_0x102b6f!=_0xf6e73b&&_0x102b6f!=_0x340cf3&&_0x102b6f!=_0x3c6685&&_0x102b6f!=_0xefb8fa&&_0x102b6f!=_0x2bd62a&&_0x102b6f!=_0x56a1c6&&_0x102b6f!=_0x39a314&&_0x102b6f!=_0x1f9056&&_0x102b6f!=_0x406210)return console['log']('%c\\x2020231112\\x20hardDecoder\\x20not\\x20support\\x20emCorrectType:%d','color:red',_0x102b6f),this['FECErrorCode']=0x10,-0x1;var _0x123d52;if(0x1!=this['FECParamJudge'](-0x1,_0x3ce985,_0x102b6f))return console['log']('VideoRender.js\\x20FEC_GetPort\\x20FECParamJudge\\x20Get\\x20error'),-0x1;var _0x963676=0x0;for(_0x123d52=0x1;_0x123d52<_0x3e91af;_0x123d52++)if(0x0==this['stFishEyeManager'][_0x123d52]['nSubPort']&&0x0==this['stFishEyeManager'][_0x123d52]['bUsed']){this['stFishEyeManager'][_0x123d52]['nSubPort']=_0x123d52,this['stFishEyeManager'][_0x123d52]['nValidSubPort']=-0x1,this['stFishEyeManager'][_0x123d52]['bUsed']=0x1,this['stFishEyeManager'][_0x123d52]['emPlaceType']=_0x3ce985,this['stFishEyeManager'][_0x123d52]['emCorrectType']=_0x102b6f,_0x963676=_0x123d52;break;}if(_0x3e91af==_0x123d52)return console['info']('%c\\x20FEC_GetPort-12\\x20fish\\x20subport\\x20max','color:\\x20red'),this['FECErrorCode']=0x504,-0x1;var _0x4f33e1=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_FISH_ORIGINAL'];return _0x4f33e1=this['_ConvertDisplayEffect'](this['stFishEyeManager'][_0x963676]['emPlaceType'],this['stFishEyeManager'][_0x963676]['emCorrectType']),_0x21dfba['SRDISPLAYEFFECT']['SR_DE_FISH_ORIGINAL']!=_0x4f33e1?(0x0==this['stFishEyeManager'][_0x963676]['bInited']&&(this['stFishEyeManager'][_0x963676]['emEffect']=_0x4f33e1,this['stFishEyeManager'][_0x963676]['bInited']=0x0,this['stFishParam'][_0x963676]['fZoom']=0.005,this['stFishParam'][_0x963676]['stPTZParam']['fPTZPositionX']=0.5,this['stFishParam'][_0x963676]['stPTZParam']['fPTZPositionY']=0.5,this['stFishParam'][_0x963676]['fWideScanOffset']=0x0),this['FECErrorCode']=0x0,this['subPortNum']++,_0x963676):_0x963676<_0x3e91af&&0x0==this['stFishEyeManager'][_0x963676]['bInited']?(this['stFishEyeManager'][_0x963676]['emEffect']=_0x4f33e1,this['stFishEyeManager'][_0x963676]['bInited']=0x0,this['stFishParam'][_0x963676]['fZoom']=0x0,this['stFishParam'][_0x963676]['stPTZParam']['fPTZPositionX']=0x0,this['stFishParam'][_0x963676]['stPTZParam']['fPTZPositionY']=0x0,this['stFishParam'][_0x963676]['fWideScanOffset']=0x0,this['FECErrorCode']=0x0,this['subPortNum']++,_0x963676):(this['stFishEyeManager'][_0x123d52]['pRender']=null,this['stFishEyeManager'][_0x123d52]['nSubPort']=0x0,this['stFishEyeManager'][_0x123d52]['sCanvasID']=null,this['stFishEyeManager'][_0x123d52]['bUsed']=0x0,this['stFishEyeManager'][_0x123d52]['bInited']=0x0,this['stFishEyeManager'][_0x123d52]['nValidSubPort']=0x0,this['stFishEyeManager'][_0x123d52]['emPlaceType']=_0x5904b1,this['stFishEyeManager'][_0x123d52]['emCorrectType']=_0xf6e73b,this['stFishEyeManager'][_0x123d52]['emEffect']=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_FISH_ORIGINAL'],this['FECErrorCode']=_0x42e372,-0x1);}},{'key':'FECParamJudge','value':function(_0x1b302a,_0x4bc610,_0x3ef46b){if(0x0!=_0x1b302a){if(_0x3ef46b==_0xf6e73b||_0x3ef46b==_0x340cf3||_0x3ef46b==_0x3c6685||_0x3ef46b==_0x56a1c6||_0x3ef46b==_0x102fcd||_0x3ef46b==_0x1f9056||_0x3ef46b==_0x406210)return console['log']('VideoRender.js\\x20FECParamJudge\\x201\\x20emCorrectType:'+_0x3ef46b),this['FECErrorCode']=_0x42e372,0x0;if(this['stFishEyeManager'][0x0]['emCorrectType']==_0x406210||this['stFishEyeManager'][0x0]['emCorrectType']==_0x1f9056)return this['FECErrorCode']=_0x42e372,console['log']('VideoRender.js\\x20FECParamJudge\\x202\\x20emCorrectType:'+_0x3ef46b),0x0;}if(0x0==_0x1b302a&&(_0x1f9056==_0x3ef46b||_0x406210==_0x3ef46b)){for(var _0x2b474e=0x1;_0x2b474e<_0x3e91af;_0x2b474e++)if(this['stFishEyeManager'][_0x2b474e]['bUsed'])return this['FECErrorCode']=_0x42e372,console['log']('VideoRender.js\\x20FECParamJudge\\x203\\x20subPort:'+_0x1b302a+',emCorrectType:'+_0x3ef46b),0x0;}if(!(_0x1adf2b!=_0x4bc610&&_0x5904b1!=_0x4bc610||_0x56a1c6!=_0x3ef46b&&_0x1f9056!=_0x3ef46b&&_0x406210!=_0x3ef46b))return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x204\\x20floor\\x20and\\x20ceiling\\x20not\\x20support\\x20lat','color:\\x20red'),this['FECErrorCode']=_0x42e372,0x0;if(_0x10787f==_0x4bc610&&(_0x39a314==_0x3ef46b||_0xe75a42==_0x3ef46b||_0x340cf3==_0x3ef46b))return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x205\\x20wall\\x20not\\x20support\\x20cylinger','color:\\x20red'),this['FECErrorCode']=_0x42e372,0x0;if(_0x10787f!=_0x4bc610&&_0x1adf2b!=_0x4bc610&&_0x5904b1!=_0x4bc610)return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x206\\x20emPlaceType\\x20only\\x20support\\x20floor,\\x20ceiling\\x20and\\x20wall','color:\\x20red'),this['FECErrorCode']=MP_E_SUPPORT,0x0;if(0x0!=_0x3ef46b&&_0x3ef46b!=_0x2bd62a&&_0x3ef46b!=_0x340cf3&&_0x3ef46b!=_0x3c6685&&_0x3ef46b!=_0x56a1c6&&_0x3ef46b!=_0xefb8fa&&_0x3ef46b!=_0x39a314&&_0x3ef46b!=_0xe75a42&&_0x3ef46b!=_0x102fcd&&_0x3ef46b!=_0x1f9056&&_0x3ef46b!=_0x406210)return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x207\\x20emCorrectType\\x20error','color:\\x20red'),this['FECErrorCode']=MP_E_SUPPORT,0x0;for(var _0xda5976=0x0;_0xda5976<_0x3e91af;_0xda5976++){if(this['stFishEyeManager'][_0xda5976]['bUsed']&&this['stFishEyeManager'][_0xda5976]['emPlaceType']!=_0x4bc610)return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x208\\x20emPlaceType\\x20changed','color:\\x20red'),this['FECErrorCode']=0x517,0x0;if(_0xda5976!=_0x1b302a){if(this['stFishEyeManager'][_0xda5976]['bUsed']&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0x2bd62a&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0xefb8fa&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0x39a314&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0xe75a42&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0x102fcd&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0x1f9056&&this['stFishEyeManager'][_0xda5976]['emCorrectType']!=_0x406210&&_0x3ef46b!=_0x2bd62a&&_0x3ef46b!=_0xefb8fa&&_0x3ef46b!=_0x39a314&&_0x3ef46b!=_0xe75a42&&_0x3ef46b!=_0x102fcd&&_0x3ef46b!=_0x1f9056&&_0x3ef46b!=_0x406210)return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x209\\x20origin/180/360/lat\\x20only\\x20display\\x20one\\x20port','color:\\x20red'),this['FECErrorCode']=0x518,0x0;if(this['stFishEyeManager'][_0xda5976]['bUsed']&&(this['stFishEyeManager'][_0xda5976]['emCorrectType']==_0x2bd62a&&_0x3ef46b==_0x340cf3||this['stFishEyeManager'][_0xda5976]['emCorrectType']==_0x340cf3&&_0x3ef46b==_0x2bd62a))return console['info']('%c\\x20VideoRender.js\\x20FECParamJudge\\x2010\\x20180\\x20cannot\\x20support\\x20ptz','color:\\x20red'),this['FECErrorCode']=0x518,0x0;}}return 0x1;}},{'key':'FEC_Enable','value':function(_0x47ace0){return _0x47ace0<0x1||_0x47ace0>0x1f||null==_0x47ace0?(console['info']('%c\\x20FEC_Enable-1\\x20nSubPort:%d','color:\\x20red',_0x47ace0),this['FECErrorCode']=_0x1dae8d,0x0):null!==this['stFishEyeManager'][_0x47ace0]['pRender']?(console['info']('%c\\x20FEC_Enable-2\\x20nSubPort:%d','color:\\x20red',_0x47ace0),this['FECErrorCode']=0x515,0x0):(null==this['stFishEyeManager'][_0x47ace0]['pRender']&&(this['stFishEyeManager'][_0x47ace0]['pRender']=new _0x506212(),null==this['pFishParamManager']&&(this['pFishParamManager']=new _0x28ed38()),this['stFishEyeManager'][_0x47ace0]['pRender']['SR_SetFishParamManager'](this['pFishParamManager'])),0x1);}},{'key':'FEC_SetWnd','value':function(_0x478496,_0x287564){if(_0x478496<0x1||_0x478496>0x1f||null==_0x478496)return console['info']('%c\\x20FEC_SetWnd-1\\x20nSubPort:%d','color:\\x20red',_0x478496),this['FECErrorCode']=_0x1dae8d,0x0;if(null==this['stFishEyeManager'][_0x478496]['pRender'])return console['info']('%c\\x20FEC_SetWnd-2\\x20nSubPort:%d\\x20pRender\\x20is\\x20null','color:\\x20red',_0x478496),this['FECErrorCode']=_0x1e1231,0x0;if(0x0==this['stFishEyeManager'][_0x478496]['bUsed'])return console['info']('%c\\x20FEC_SetWnd-3\\x20nSubPort:%d\\x20bUsed:%d','color:\\x20red',_0x478496,this['stFishEyeManager'][_0x478496]['bUsed']),this['FECErrorCode']=_0x421a67,0x0;if(null==_0x287564)return console['info']('%c\\x20FEC_SetWnd-4\\x20nSubPort:%d\\x20sCanvasID:%s','color:\\x20red',_0x478496,_0x287564),this['FECErrorCode']=0x519,0x0;if(0x0!=this['stFishEyeManager'][_0x478496]['nSubPort']&&0x0!=this['stFishEyeManager'][_0x478496]['bUsed']){if(0x0!=this['stFishEyeManager'][_0x478496]['bInited']&&null!=this['stFishEyeManager'][_0x478496]['sCanvasID'])return _0x287564!=this['stFishEyeManager'][_0x478496]['sCanvasID']?(console['info']('%c\\x20FEC_SetWnd-5\\x20nSubPort:%d\\x20sCanvasID:%s\\x20already\\x20init','color:\\x20red',_0x478496,_0x287564),this['FECErrorCode']=0x506,0x0):0x1;var _0x2d1723=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_FISH_ORIGINAL'];_0x2d1723=this['_ConvertDisplayEffect'](this['stFishEyeManager'][_0x478496]['emPlaceType'],this['stFishEyeManager'][_0x478496]['emCorrectType']);var _0x270e11=this['stFishEyeManager'][_0x478496]['pRender']['SR_Init'](_0x287564,this['enPixelFormat']),_0x20222d=this['stFishEyeManager'][_0x478496]['pRender']['SR_AddSubPort'](_0x2d1723);if(-0x1==_0x20222d)return console['info']('%c\\x20FEC_SetWnd\\x20SR_AddSubPort\\x20error\\x20subport:%d','color:\\x20red',_0x478496),0x0;if(this['stFishEyeManager'][_0x478496]['nValidSubPort']=_0x20222d,_0x21dfba['ERRCODE']['SR_OK']!=_0x270e11)return this['stFishEyeManager'][_0x478496]['bInited']=0x0,this['stFishEyeManager'][_0x478496]['sCanvasID']=null,this['FECErrorCode']=_0x421a67,0x0;if(this['stFishEyeManager'][_0x478496]['bInited']=0x1,this['stFishEyeManager'][_0x478496]['sCanvasID']=_0x287564,_0xefb8fa<=this['stFishEyeManager'][_0x478496]['emCorrectType']){var _0x3fe257=this['stFishEyeManager'][_0x478496]['pRender']['SR_SetRenderState'](_0x21dfba['SRRENDERSTATETYPE']['SR_RST_BACK_CULL'],0x0);_0x21dfba['ERRCODE']['SR_OK']!=_0x3fe257&&console['log']('>>>VideoRender.js\\x20SR_SetRenderState\\x20failed\\x20ret:%08x\\x0a',_0x3fe257);}return this['stFishEyeManager'][_0x478496]['pRender']['SR_SetCallBack'](this['WebGLDisplaySubCallBack'],{'nUser':this,'handle':this['stFishEyeManager'][_0x478496]['pRender'],'nSubPort':_0x478496},_0x21dfba['SRCALLBACKTYPE']['SR_CBT_NULL']),null!=this['pstWaterFontParam']&&this['SetWaterMarkFont'](this['pstWaterFontParam']),this['FECShowMode']>0x0&&this['stFishEyeManager'][_0x478496]['pRender']['SR_SetPTZDisplayMode'](this['FECShowMode']),0x1;}return this['FECErrorCode']=_0x421a67,0x0;}},{'key':'FEC_Disable','value':function(_0x28f472,_0x5e6f84,_0x19789b){if(_0x28f472<0x1||_0x28f472>0x1f||null==_0x28f472)return console['info']('%c\\x20FEC_Disable-1\\x20nSubPort:%d','color:\\x20red',_0x28f472),this['FECErrorCode']=_0x1dae8d,0x0;if(0x1==this['stFishEyeManager'][_0x28f472]['bInited']&&null!=this['stFishEyeManager'][_0x28f472]['pRender']){if(_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x28f472]['pRender']['SR_DelSubPort'](this['stFishEyeManager'][_0x28f472]['nValidSubPort']))return console['info']('%c\\x20FEC_Disable-2\\x20SR_DelSubPort\\x20error\\x20nSubPort:%d','color:\\x20red',_0x28f472),0x0;this['stFishEyeManager'][_0x28f472]['bInited']=0x0,this['stFishEyeManager'][_0x28f472]['nValidSubPort']=-0x1,this['stFishEyeManager'][_0x28f472]['pRender']['SR_Destroy'](),this['stFishEyeManager'][_0x28f472]['pRender']=null;}return 0x1;}},{'key':'FEC_DelPort','value':function(_0x37888a){return _0x37888a<0x1||_0x37888a>0x1f||null==_0x37888a?(console['info']('%c\\x20FEC_DelPort-1\\x20nSubPort:%d','color:\\x20red',_0x37888a),this['FECErrorCode']=_0x1dae8d,0x0):0x0==this['stFishEyeManager'][_0x37888a]['bUsed']?(console['info']('%c\\x20FEC_DelPort-2\\x20nSubPort:%d\\x20bUsed:%d','color:\\x20red',_0x37888a,this['stFishEyeManager'][_0x37888a]['bUsed']),this['FECErrorCode']=_0x421a67,0x0):(this['stFishEyeManager'][_0x37888a]['nSubPort']=0x0,this['stFishEyeManager'][_0x37888a]['sCanvasID']=null,this['stFishEyeManager'][_0x37888a]['bUsed']=0x0,this['stFishEyeManager'][_0x37888a]['bInited']=0x0,this['stFishEyeManager'][_0x37888a]['nValidSubPort']=0x0,this['stFishEyeManager'][_0x37888a]['emPlaceType']=_0x5904b1,this['stFishEyeManager'][_0x37888a]['emCorrectType']=_0xf6e73b,this['stFishEyeManager'][_0x37888a]['emEffect']=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_FISH_ORIGINAL'],this['stFishParam'][_0x37888a]['stCycleParam']['fRadiusLeft']=0x0,this['stFishParam'][_0x37888a]['stCycleParam']['fRadiusRight']=0x1,this['stFishParam'][_0x37888a]['stCycleParam']['fRadiusTop']=0x0,this['stFishParam'][_0x37888a]['stCycleParam']['fRadiusBottom']=0x1,this['subPortNum']>0x0&&this['subPortNum']--,0x1);}},{'key':'FEC_SetParam','value':function(_0x1c8587,_0x3333c2){if(this['FECErrorCode']=0x0,_0x1c8587<0x0||_0x1c8587>0x1f||null==_0x1c8587)return console['info']('%c\\x20FEC_SetParam-1\\x20nSubPort:%d','color:\\x20red',_0x1c8587),this['FECErrorCode']=_0x1dae8d,0x0;if(null==this['stFishEyeManager'][_0x1c8587]['pRender'])return console['info']('%c\\x20FEC_SetParam-2\\x20nSubPort:%d\\x20pRender:%d','color:\\x20red',_0x1c8587,this['stFishEyeManager'][_0x1c8587]['pRender']),this['FECErrorCode']=_0x1e1231,0x0;if(0x0==this['stFishEyeManager'][_0x1c8587]['bUsed'])return console['info']('%c\\x20FEC_SetParam-3\\x20nSubPort:%d\\x20bUsed:%d','color:\\x20red',_0x1c8587,this['stFishEyeManager'][_0x1c8587]['bUsed']),this['FECErrorCode']=_0x421a67,0x0;if(this['stFishEyeManager'][_0x1c8587]['emCorrectType']>=_0xefb8fa&&this['stFishEyeManager'][_0x1c8587]['emCorrectType']<=_0x406210&&0x1e&_0x3333c2['upDateType'])return console['info']('%c\\x20FEC_SetParam-4\\x20nSubPort:%d\\x20not\\x203D','color:\\x20red',_0x1c8587),this['FECErrorCode']=_0x36522d,0x0;if(_0x11584b&_0x3333c2['upDateType']){if(null==_0x3333c2['stCycleParam'])return this['FECErrorCode']=_0x4c9d86,0x0;for(var _0x2f6d7a=0x1;_0x2f6d7a<_0x3e91af;_0x2f6d7a++){if(this['stFishEyeManager'][_0x2f6d7a]['bUsed']&&this['stFishEyeManager'][_0x2f6d7a]['nSubPort']&&_0x1f9056==this['stFishEyeManager'][_0x2f6d7a]['emCorrectType']&&(_0x3333c2['stCycleParam']['fRadiusLeft']<=-0.5||_0x3333c2['stCycleParam']['fRadiusLeft']>=0.4||_0x3333c2['stCycleParam']['fRadiusRight']<=0.6||_0x3333c2['stCycleParam']['fRadiusRight']>=1.5||_0x3333c2['stCycleParam']['fRadiusTop']<=-0.5||_0x3333c2['stCycleParam']['fRadiusTop']>0x0||_0x3333c2['stCycleParam']['fRadiusBottom']<0x1||_0x3333c2['stCycleParam']['fRadiusBottom']>=1.5||_0x3333c2['stCycleParam']['fRadiusLeft']+_0x3333c2['stCycleParam']['fRadiusRight']<=0.8||_0x3333c2['stCycleParam']['fRadiusLeft']+_0x3333c2['stCycleParam']['fRadiusRight']>=1.2||_0x3333c2['stCycleParam']['fRadiusTop']+_0x3333c2['stCycleParam']['fRadiusBottom']<=0.8||_0x3333c2['stCycleParam']['fRadiusTop']+_0x3333c2['stCycleParam']['fRadiusBottom']>=1.2))return this['FECErrorCode']=_0x4c9d86,0x0;if(this['stFishEyeManager'][_0x2f6d7a]['bUsed']&&this['stFishEyeManager'][_0x2f6d7a]['nSubPort']&&_0x406210==this['stFishEyeManager'][_0x2f6d7a]['emCorrectType']&&(_0x3333c2['stCycleParam']['fRadiusLeft']<=-0.5||_0x3333c2['stCycleParam']['fRadiusLeft']>0x0||_0x3333c2['stCycleParam']['fRadiusRight']<0x1||_0x3333c2['stCycleParam']['fRadiusRight']>=1.5||_0x3333c2['stCycleParam']['fRadiusTop']<=-0.5||_0x3333c2['stCycleParam']['fRadiusTop']>=0.4||_0x3333c2['stCycleParam']['fRadiusBottom']<=0.6||_0x3333c2['stCycleParam']['fRadiusBottom']>=1.5||_0x3333c2['stCycleParam']['fRadiusLeft']+_0x3333c2['stCycleParam']['fRadiusRight']<=0.8||_0x3333c2['stCycleParam']['fRadiusLeft']+_0x3333c2['stCycleParam']['fRadiusRight']>=1.2||_0x3333c2['stCycleParam']['fRadiusTop']+_0x3333c2['stCycleParam']['fRadiusBottom']<=0.8||_0x3333c2['stCycleParam']['fRadiusTop']+_0x3333c2['stCycleParam']['fRadiusBottom']>=1.2))return this['FECErrorCode']=_0x4c9d86,0x0;}}if(0x0==this['stFishEyeManager'][_0x1c8587]['bInited']){if(_0x5ceb2d&_0x3333c2['upDateType']){if(_0x340cf3!=this['stFishEyeManager'][_0x1c8587]['emCorrectType']&&_0x3c6685!=this['stFishEyeManager'][_0x1c8587]['emCorrectType']||_0x10787f==this['stFishEyeManager'][_0x1c8587]['emPlaceType'])return this['FECErrorCode']=_0x36522d,0x0;for(var _0x44e8d4=0x1;_0x44e8d4<_0x3e91af;_0x44e8d4++)if(this['stFishEyeManager'][_0x44e8d4]['nSubPort']&&this['stFishEyeManager'][_0x44e8d4]['bUsed']&&this['stFishEyeManager'][_0x44e8d4]['emCorrectType']==_0x2bd62a)return this['FECErrorCode']=_0xd0cb66,0x0;this['stFishParam'][_0x1c8587]['fWideScanOffset']=_0x3333c2['fValue'];}if(_0x58b6d9&_0x3333c2['upDateType']){if(null==_0x3333c2['stPTZColor'])return this['FECErrorCode']=_0x4c9d86,0x0;if(_0x3333c2['stPTZColor']['nR']>0xff||_0x3333c2['stPTZColor']['nG']>0xff||_0x3333c2['stPTZColor']['nB']>0xff||_0x3333c2['stPTZColor']['nAlpha']>0xff)return this['FECErrorCode']=_0x36522d,0x0;this['stFishParam'][_0x1c8587]['stPTZColor']['nR']=_0x3333c2['stPTZColor']['nR'],this['stFishParam'][_0x1c8587]['stPTZColor']['nG']=_0x3333c2['stPTZColor']['nG'],this['stFishParam'][_0x1c8587]['stPTZColor']['nB']=_0x3333c2['stPTZColor']['nB'],this['stFishParam'][_0x1c8587]['stPTZColor']['nAlpha']=_0x3333c2['stPTZColor']['nAlpha'];}if(_0x4b7d75&_0x3333c2['upDateType']){if(_0x2bd62a!=this['stFishEyeManager'][_0x1c8587]['emCorrectType'])return this['FECErrorCode']=_0x36522d,0x0;this['stFishParam'][_0x1c8587]['stPTZParam']['fPTZPositionX']=_0x3333c2['fPTZParam']['fPTZPositionX'],this['stFishParam'][_0x1c8587]['stPTZParam']['fPTZPositionY']=_0x3333c2['fPTZParam']['fPTZPositionY'];}if(_0x587f78&_0x3333c2['upDateType']){if(_0x2bd62a!=this['stFishEyeManager'][_0x1c8587]['emCorrectType'])return this['FECErrorCode']=_0x36522d,0x0;this['stFishParam'][_0x1c8587]['fZoom']=_0x3333c2['fPTZZoom'];}if(_0xab921a&_0x3333c2['upDateType']){if(null==this['stFishParam']['stPTZSelect'])return 0x0;if(_0x2bd62a!=this['stFishEyeManager'][_0x1c8587]['emCorrectType'])return this['FECErrorCode']=_0x36522d,0x0;this['stFishParam']['stPTZSelect']['fTop']=_0x3333c2['stPTZSelect']['fTop'],this['stFishParam']['stPTZSelect']['fBottom']=_0x3333c2['stPTZSelect']['fBottom'],this['stFishParam']['stPTZSelect']['fLeft']=_0x3333c2['stPTZSelect']['fLeft'],this['stFishParam']['stPTZSelect']['fRight']=_0x3333c2['stPTZSelect']['fRight'];}if(_0x11584b&_0x3333c2['upDateType']){if(null==_0x3333c2['stCycleParam'])return this['FECErrorCode']=_0x4c9d86,0x0;if(0x0==this['_IsValidRadiusParam'](_0x3333c2['stCycleParam']))return this['FECErrorCode']=_0x4c9d86,0x0;this['stFishParam'][0x0]['stCycleParam']['fRadiusLeft']=_0x3333c2['stCycleParam']['fRadiusLeft'],this['stFishParam'][0x0]['stCycleParam']['fRadiusRight']=_0x3333c2['stCycleParam']['fRadiusRight'],this['stFishParam'][0x0]['stCycleParam']['fRadiusTop']=_0x3333c2['stCycleParam']['fRadiusTop'],this['stFishParam'][0x0]['stCycleParam']['fRadiusBottom']=_0x3333c2['stCycleParam']['fRadiusBottom'];}return 0x1;}if(_0x5ceb2d&_0x3333c2['upDateType']){if(_0x340cf3!=this['stFishEyeManager'][_0x1c8587]['emCorrectType']&&_0x3c6685!=this['stFishEyeManager'][_0x1c8587]['emCorrectType']||_0x10787f==this['stFishEyeManager'][_0x1c8587]['emPlaceType'])return this['FECErrorCode']=_0x36522d,0x0;for(var _0x554377=0x1;_0x554377<_0x3e91af;_0x554377++)if(this['stFishEyeManager'][_0x554377]['nSubPort']&&this['stFishEyeManager'][_0x554377]['bUsed']&&this['stFishEyeManager'][_0x554377]['emCorrectType']==_0x2bd62a)return this['FECErrorCode']=_0xd0cb66,0x0;var _0x4fea8c={};if(_0x4fea8c['nFishParamType']=_0x21dfba['SRFISHPARAMTYPE']['SR_FPT_ANGLE'],_0x4fea8c['bBlack']=0x0,_0x4fea8c['fAngle']=_0x3333c2['fValue'],_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x1c8587]['pRender']['SR_SetFishParam'](_0x4fea8c))return this['FECErrorCode']=_0xd0cb66,0x0;this['stFishParam'][_0x1c8587]['fWideScanOffset']=_0x3333c2['fValue'];}if(_0x58b6d9&_0x3333c2['upDateType']){if(null==_0x3333c2['stPTZColor'])return this['FECErrorCode']=_0x36522d,0x0;if(_0x3333c2['stPTZColor']['nR']>0xff||_0x3333c2['stPTZColor']['nG']>0xff||_0x3333c2['stPTZColor']['nB']>0xff||_0x3333c2['stPTZColor']['nAlpha']>0xff)return this['FECErrorCode']=_0x36522d,0x0;var _0x476351={};if(_0x476351['fR']=_0x3333c2['stPTZColor']['nR']/0xff,_0x476351['fG']=_0x3333c2['stPTZColor']['nG']/0xff,_0x476351['fB']=_0x3333c2['stPTZColor']['nB']/0xff,_0x476351['fA']=_0x3333c2['stPTZColor']['nAlpha']/0xff,_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x1c8587]['pRender']['SR_SetPTZColor'](_0x1c8587,_0x476351))return this['FECErrorCode']=_0xd0cb66,_0xd0cb66;this['stFishParam'][_0x1c8587]['stPTZColor']['nR']=_0x3333c2['stPTZColor']['nR'],this['stFishParam'][_0x1c8587]['stPTZColor']['nG']=_0x3333c2['stPTZColor']['nG'],this['stFishParam'][_0x1c8587]['stPTZColor']['nB']=_0x3333c2['stPTZColor']['nB'],this['stFishParam'][_0x1c8587]['stPTZColor']['nAlpha']=_0x3333c2['stPTZColor']['nAlpha'];}if(_0x4b7d75&_0x3333c2['upDateType']){if(_0x2bd62a!=this['stFishEyeManager'][_0x1c8587]['emCorrectType'])return this['FECErrorCode']=_0x36522d,0x0;var _0xdffcc7={};_0xdffcc7['nFishParamType']=_0x21dfba['SRFISHPARAMTYPE']['SR_FPT_PTZ'],_0xdffcc7['bBlack']=0x0,_0xdffcc7['fPTZX']=_0x3333c2['fPTZParam']['fPTZPositionX'],_0xdffcc7['fPTZY']=_0x3333c2['fPTZParam']['fPTZPositionY'];var _0x51307d=this['stFishEyeManager'][_0x1c8587]['pRender']['SR_SetFishParam'](_0xdffcc7);if(_0x21dfba['ERRCODE']['SR_OK']!=_0x51307d)return this['FECErrorCode']=_0xd0cb66,0x0;this['stFishParam'][_0x1c8587]['stPTZParam']['fPTZPositionX']=_0x3333c2['fPTZParam']['fPTZPositionX'],this['stFishParam'][_0x1c8587]['stPTZParam']['fPTZPositionY']=_0x3333c2['fPTZParam']['fPTZPositionY'];}if(_0x587f78&_0x3333c2['upDateType']){if(_0x2bd62a!=this['stFishEyeManager'][_0x1c8587]['emCorrectType'])return this['FECErrorCode']=_0x36522d,0x0;var _0x126b64={};if(_0x126b64['nFishParamType']=_0x21dfba['SRFISHPARAMTYPE']['SR_FPT_ZOOM'],_0x126b64['bBlack']=0x0,_0x126b64['fZoom']=_0x3333c2['fPTZZoom'],_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x1c8587]['pRender']['SR_SetFishParam'](_0x126b64))return this['FECErrorCode']=_0xd0cb66,0x0;this['stFishParam'][_0x1c8587]['fZoom']=_0x3333c2['fPTZZoom'];}if(_0x11584b&_0x3333c2['upDateType']){if(0x0==this['_IsValidRadiusParam'](_0x3333c2['stCycleParam']))return this['FECErrorCode']=_0x4c9d86,0x0;var _0x540999={};if(_0x540999['nFishParamType']=_0x21dfba['SRFISHPARAMTYPE']['SR_FPT_CENTER'],_0x540999['bBlack']=0x1,_0x540999['fRXLeft']=_0x3333c2['stCycleParam']['fRadiusLeft'],_0x540999['fRXRight']=_0x3333c2['stCycleParam']['fRadiusRight'],_0x540999['fRYTop']=_0x3333c2['stCycleParam']['fRadiusTop'],_0x540999['fRYBottom']=_0x3333c2['stCycleParam']['fRadiusBottom'],_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x1c8587]['pRender']['SR_SetFishParam'](this['stFishEyeManager'][_0x1c8587]['nValidSubPort'],_0x540999))return this['FECErrorCode']=_0x4c9d86,0x0;this['stFishParam'][0x0]['stCycleParam']['fRadiusLeft']=_0x3333c2['stCycleParam']['fRadiusLeft'],this['stFishParam'][0x0]['stCycleParam']['fRadiusRight']=_0x3333c2['stCycleParam']['fRadiusRight'],this['stFishParam'][0x0]['stCycleParam']['fRadiusTop']=_0x3333c2['stCycleParam']['fRadiusTop'],this['stFishParam'][0x0]['stCycleParam']['fRadiusBottom']=_0x3333c2['stCycleParam']['fRadiusBottom'];}return _0xab921a&_0x3333c2['upDateType']&&_0x2bd62a==this['stFishEyeManager'][_0x1c8587]['emCorrectType']&&_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x1c8587]['pRender']['SR_SetFishParam'](this['stFishEyeManager'][_0x1c8587]['stPTZSelect'])?(this['FECErrorCode']=0x513,0x0):(null!=this['pstWaterFontParam']&&this['pstWaterFontParam']['nColorAdapt']&&(this['pstWaterFontParamArray'][_0x1c8587]['splice'](_0x1c8587,this['pstWaterFontParamArray'][_0x1c8587]['length']),this['CalculateWaterMarkParam'](this['stFishEyeManager'][_0x1c8587]['pRender'],_0x1c8587,this['pstWaterFontParam'])),0x1);}},{'key':'FEC_GetParam','value':function(_0x72d663,_0x4d8453){return _0x72d663<0x0||_0x72d663>0x1f||null==_0x72d663?(console['info']('%c\\x20FEC_GetParam-1\\x20nSubPort:%d','color:\\x20red',_0x72d663),this['FECErrorCode']=_0x1dae8d,0x0):null==this['stFishEyeManager'][_0x72d663]['pRender']?(console['info']('%c\\x20FEC_GetParam-2\\x20pRender:%d','color:\\x20red',this['stFishEyeManager'][_0x72d663]['pRender']),this['FECErrorCode']=_0x1e1231,0x0):(this['stFishEyeManager'][_0x72d663]['pRender']['SR_GetFishParam'](_0x4d8453),_0x4d8453['emCorrectType']=this['stFishEyeManager'][_0x72d663]['emCorrectType'],0x1);}},{'key':'_IsValidRadiusParam','value':function(_0x5d6b34){return _0x5d6b34['fRadiusBottom']<=_0x5d6b34['fRadiusTop']||_0x5d6b34['fRadiusRight']<=_0x5d6b34['fRadiusLeft']?0x0:0x1;}},{'key':'FEC_SetViewParam','value':function(_0x41c1be,_0x43fabb,_0x21c2b0){return _0x41c1be<0x0||_0x41c1be>0x1f||null==_0x41c1be?(console['info']('%c\\x20FEC_SetViewParam-1\\x20nSubPort:%d','color:\\x20red',_0x41c1be),this['FECErrorCode']=_0x1dae8d,0x0):null==this['stFishEyeManager'][_0x41c1be]['pRender']?(console['info']('%c\\x20FEC_SetViewParam-2\\x20pRender:%d','color:\\x20red',this['stFishEyeManager'][_0x41c1be]['pRender']),this['FECErrorCode']=_0x1e1231,0x0):_0x43fabb<_0x21dfba['SRVIEWTYPE']['SR_VT_ROTATION_X']||_0x43fabb>_0x21dfba['SRVIEWTYPE']['SR_VT_SCALE']?(this['FECErrorCode']=_0x604e00,0x0):(this['FECErrorCode']=0x0,0x0==this['stFishEyeManager'][_0x41c1be]['bInited']?(this['FECErrorCode']=_0x421a67,0x0):_0xefb8fa<=this['stFishEyeManager'][_0x41c1be]['emCorrectType']?_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x41c1be]['pRender']['SR_SetViewParam'](_0x43fabb,_0x21c2b0)?(this['FECErrorCode']=_0x604e00,0x0):(null!=this['pstWaterFontParam']&&this['pstWaterFontParam']['nColorAdapt']&&(this['pstWaterFontParamArray'][_0x41c1be]['splice'](0x0,this['pstWaterFontParamArray'][_0x41c1be]['length']),this['CalculateWaterMarkParam'](this['stFishEyeManager'][_0x41c1be]['pRender'],_0x41c1be,this['pstWaterFontParam'])),0x1):(this['FECErrorCode']=_0x36522d,0x0));}},{'key':'FEC_GetViewParam','value':function(_0x438482,_0x2d4949,_0x1a6b2e){if(_0x1a6b2e['fValue']=-0x1,_0x438482<0x0||_0x438482>0x1f||null==_0x438482)return console['info']('%c\\x20FEC_GetViewParam-1\\x20nSubPort:%d','color:\\x20red',_0x438482),this['FECErrorCode']=_0x1dae8d,0x0;if(null==this['stFishEyeManager'][_0x438482]['pRender'])return console['info']('%c\\x20FEC_GetViewParam-2\\x20pRender:%d','color:\\x20red',this['stFishEyeManager'][_0x438482]['pRender']),this['FECErrorCode']=_0x1e1231,0x0;if(_0x2d4949<0x1||_0x2d4949>0x3||0x0==this['stFishEyeManager'][_0x438482]['bInited'])return 0x0;if(_0xefb8fa<=this['stFishEyeManager'][_0x438482]['emCorrectType'])this['stFishEyeManager'][_0x438482]['pRender']['SR_GetViewParam'](_0x2d4949,_0x1a6b2e);return 0x1;}},{'key':'FEC_SetDisplayRegion','value':function(_0x48ac53,_0x4fd4de,_0x401161,_0x10285e,_0x3967a7,_0x34bc5b,_0x5b2b99){return _0x48ac53<0x0||_0x48ac53>0x1f||null==_0x48ac53?(console['info']('%c\\x20FEC_SetDisplayRegion-1\\x20nSubPort:%d','color:\\x20red',_0x48ac53),this['FECErrorCode']=_0x1dae8d,0x0):null==this['stFishEyeManager'][_0x48ac53]['pRender']?(console['info']('%c\\x20FEC_SetDisplayRegion-2\\x20pRender:%d','color:\\x20red',this['stFishEyeManager'][_0x48ac53]['pRender']),this['FECErrorCode']=_0x1e1231,0x0):0x0!=_0x4fd4de||0x0!=_0x401161?(this['FECErrorCode']=_0x604e00,0x0):this['stFishEyeManager'][_0x48ac53]['emCorrectType']!=_0xf6e73b&&this['stFishEyeManager'][_0x48ac53]['emCorrectType']!=_0x340cf3&&this['stFishEyeManager'][_0x48ac53]['emCorrectType']!=_0x3c6685&&this['stFishEyeManager'][_0x48ac53]['emCorrectType']!=_0x56a1c6?(this['FECErrorCode']=_0x42e372,0x0):0x0==this['stFishEyeManager'][_0x48ac53]['bInited']?(this['FECErrorCode']=_0x421a67,0x0):_0x10285e<0x0||_0x3967a7<0x0||_0x34bc5b<0x0||_0x5b2b99<0x0?(this['FECErrorCode']=_0x604e00,0x0):_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x48ac53]['pRender']['SR_SetDisplayRect'](_0x10285e,_0x3967a7,_0x34bc5b,_0x5b2b99,_0x21dfba['SRSETRECTTYPE']['SR_SRT_SRC'])?(this['FECErrorCode']=0x511,0x0):(null!=this['pstWaterFontParam']&&this['pstWaterFontParam']['nColorAdapt']&&(this['pstWaterFontParamArray'][_0x48ac53]['splice'](0x0,this['pstWaterFontParamArray'][_0x48ac53]['length']),this['CalculateWaterMarkParam'](this['stFishEyeManager'][_0x48ac53]['pRender'],_0x48ac53,this['pstWaterFontParam'])),0x1);}},{'key':'FEC_SetBackCilling','value':function(_0x467a9a,_0x4da968){return _0x467a9a<0x0||_0x467a9a>0x1f||null==_0x467a9a?(this['FECErrorCode']=_0x1dae8d,0x0):null==this['stFishEyeManager'][_0x467a9a]['pRender']?(this['FECErrorCode']=_0x1e1231,0x0):0x0==this['stFishEyeManager'][_0x467a9a]['bInited']?(this['FECErrorCode']=_0x421a67,0x0):_0x21dfba['ERRCODE']['SR_OK']!=this['stFishEyeManager'][_0x467a9a]['pRender']['SR_SetRenderState'](_0x21dfba['SRRENDERSTATETYPE']['SR_RST_BACK_CULL'],_0x4da968)?(this['FECErrorCode']=0x511,0x0):(null!=this['pstWaterFontParam']&&this['pstWaterFontParam']['nColorAdapt']&&(this['pstWaterFontParamArray'][_0x467a9a]['splice'](0x0,this['pstWaterFontParamArray'][_0x467a9a]['length']),this['CalculateWaterMarkParam'](this['stFishEyeManager'][_0x467a9a]['pRender'],_0x467a9a,this['pstWaterFontParam'])),0x1);}},{'key':'FEC_GetPTZPort','value':function(_0x567f38,_0x3740bf,_0x5d297e){if(null!=this['stFishEyeManager'][_0x567f38]['pRender']){var _0x4d312b={'nPTZPort':-0x1};if(this['stFishEyeManager'][_0x567f38]['pRender']['SR_GetPTZPort'](_0x3740bf,_0x5d297e,_0x4d312b)==_0x21dfba['ERRCODE']['SR_OK'])return _0x4d312b['nPTZPort'];}return-0x1;}},{'key':'FEC_SetPTZDisplayMode','value':function(_0x200355){return _0x200355>=0x0&&_0x200355<=0x2?(null!=this['stFishEyeManager'][0x0]['pRender']&&this['stFishEyeManager'][0x0]['pRender']['SR_SetPTZDisplayMode'](_0x200355),this['FECShowMode']=_0x200355,0x1):(console['info']('%c\\x20FEC_SetPTZDisplayMode\\x20ptzMode:%d','color:\\x20red',_0x200355),0x0);}},{'key':'FEC_Capture','value':function(_0x2b878f,_0x5b5a3c){if(null!=this['stFishEyeManager'][_0x2b878f]['pRender']){var _0xfd80d1={'nWidth':0x0,'nHeight':0x0,'nBufferLen':0x0},_0x1b3f8d=this['stFishEyeManager'][_0x2b878f]['pRender']['SR_GetCaptureSize'](_0xfd80d1);if(_0x21dfba['ERRCODE']['SR_OK']!=_0x1b3f8d||_0xfd80d1['nBufferLen']<=0x0)return _0x5b5a3c(null,0x0,0x0,_0x2b878f),0x0;var _0x4f1ade=new Uint8Array(_0xfd80d1['nBufferLen']);if(null==_0x4f1ade)return _0x5b5a3c(null,0x0,0x0,_0x2b878f),0x0;var _0x16828f={};return _0x16828f['pBuffer']=_0x4f1ade,this['stFishEyeManager'][_0x2b878f]['pRender']['SR_CaptureScreen'](_0x16828f),_0x5b5a3c(_0x4f1ade,_0xfd80d1['nWidth'],_0xfd80d1['nHeight'],_0x2b878f),_0x4f1ade=null,0x1;}return _0x5b5a3c(null,0x0,0x0,_0x2b878f),0x0;}},{'key':'CheckFrameRGB','value':function(_0x3396b2,_0x310c5e,_0x1f24e5,_0x1447a2,_0x1e1836,_0x117450){if(null==_0x3396b2||null==_0x3396b2['width']||null==_0x3396b2['height']||null==_0x3396b2['pBuffer']||_0x3396b2['width']<=0x0||_0x3396b2['height']<=0x0||_0x3396b2['pBuffer']['length']<=0x0)return 0x0;for(var _0x1c7bfc=_0x3396b2['width']/(_0x1447a2-0x1),_0x4090e3=_0x3396b2['height']/(_0x1f24e5-0x1),_0x168d5e=0x0,_0x4eb92e=0x0,_0x3a63dc=[],_0x59e88c=0x0;_0x59e88c<_0x1f24e5*_0x1447a2;_0x59e88c++)_0x3a63dc[_0x59e88c]=0x0,this['aPOSAdaptBuf'][_0x59e88c]=0x0;if(_0x310c5e){for(var _0x97e0f9=0x0,_0x28e1b8=0x0;_0x28e1b8<_0x3396b2['height'];_0x28e1b8++)for(var _0x40afd1=0x0;_0x40afd1<_0x3396b2['width'];_0x40afd1++){_0x168d5e=(_0x168d5e=Math['round'](_0x40afd1/(_0x1c7bfc/0x2)/0x2))<_0x1447a2?_0x168d5e:_0x1447a2-0x1,_0x4eb92e=(_0x4eb92e=Math['round'](_0x28e1b8/(_0x4090e3/0x2)/0x2))<_0x1f24e5?_0x4eb92e:_0x1f24e5-0x1;var _0x460a4a=_0x3396b2['pBuffer'][_0x97e0f9],_0x552772=_0x3396b2['pBuffer'][_0x97e0f9+0x1],_0x49cd13=_0x3396b2['pBuffer'][_0x97e0f9+0x2],_0x222950=Math['round'](0.299*_0x460a4a+0.587*_0x552772+0.114*_0x49cd13);this['aPOSAdaptBuf'][_0x168d5e+_0x4eb92e*_0x1447a2]+=_0x222950,_0x3a63dc[_0x168d5e+_0x4eb92e*_0x1447a2]++,_0x97e0f9+=0x4;}for(var _0x3c55e4=0x0,_0x1479e5=0x0;_0x1479e5<_0x1f24e5*_0x1447a2;_0x1479e5++)_0x3c55e4=this['aPOSAdaptBuf'][_0x1479e5]/_0x3a63dc[_0x1479e5],this['aPOSAdaptBuf'][_0x1479e5]=_0x3c55e4>0x80?0x0:0x1;}else{var _0x869a9c=Math['round'](_0x1e1836*_0x3396b2['width']),_0x5141d2=Math['round'](_0x117450*_0x3396b2['height']),_0x54d952=_0x869a9c-0x2;_0x54d952=(_0x54d952=_0x54d952>0x0?_0x54d952:0x0)<_0x3396b2['width']?_0x54d952:_0x3396b2['width']-0x1;var _0x171aa7=_0x869a9c+0x2;_0x171aa7=(_0x171aa7=_0x171aa7>0x0?_0x171aa7:0x0)<_0x3396b2['width']?_0x171aa7:_0x3396b2['width']-0x1;var _0x150895=_0x5141d2-0x2;_0x150895=(_0x150895=_0x150895>0x0?_0x150895:0x0)<_0x3396b2['height']?_0x150895:_0x3396b2['height']-0x1;var _0x6d4a9b=_0x5141d2+0x2;_0x6d4a9b=(_0x6d4a9b=_0x6d4a9b>0x0?_0x6d4a9b:0x0)<_0x3396b2['height']?_0x6d4a9b:_0x3396b2['height']-0x1;for(var _0x3115b2=_0x150895;_0x3115b2<_0x6d4a9b;_0x3115b2++)for(var _0x4d1548=_0x54d952;_0x4d1548<_0x171aa7;_0x4d1548++){var _0x3ede9b=0x4*Math['floor']((0x4*_0x4d1548+_0x3115b2*_0x3396b2['width']*0x4)/0x4),_0x36dcb9=_0x3396b2['pBuffer'][_0x3ede9b],_0x1817f0=_0x3396b2['pBuffer'][_0x3ede9b+0x1],_0x4e2ee1=_0x3396b2['pBuffer'][_0x3ede9b+0x2],_0x3d104a=Math['round'](0.299*_0x36dcb9+0.587*_0x1817f0+0.114*_0x4e2ee1);this['aPOSAdaptBuf'][0x0]+=_0x3d104a,_0x3a63dc[0x0]++;}this['aPOSAdaptBuf'][0x0]=this['aPOSAdaptBuf'][0x0]/_0x3a63dc[0x0]>0x80?0x0:0x1;}return 0x1;}},{'key':'GetWaterFontParam','value':function(_0x26cbf6,_0x3d3f8b,_0x252318,_0x396eda,_0x2684e2,_0x3816aa,_0x20c319){var _0x316822=_0x252318['pFontString']['length'],_0x588fe6=_0x252318['pstFontRotate']['fRotateAngle']%0x168/0x168*0x2*Math['PI'],_0x39f42f=Math['min'](_0x252318['pstFontSize']['nFontWidth'],_0x252318['pstFontSize']['nFontHeight']);if(0x2==_0x252318['pstCanvasAdapt']['nCanvasAdaptMode']){var _0x562dcd=_0x252318['pstFontSize']['nFontWidth']*_0x396eda/_0x252318['pstCanvasAdapt']['nBaseCanvasWidth'],_0x899366=_0x252318['pstFontSize']['nFontHeight']*_0x2684e2/_0x252318['pstCanvasAdapt']['nBaseCanvasHeight'];_0x39f42f=Math['min'](_0x562dcd,_0x899366);}var _0x3e0aa9=_0x39f42f/_0x396eda,_0x5a785b=_0x39f42f/_0x2684e2,_0x24cc79=_0x3e0aa9*Math['cos'](Math['PI']/0x2-_0x588fe6)*_0x252318['pSpace'],_0x162ffe=_0x5a785b*Math['sin'](Math['PI']/0x2-_0x588fe6)*_0x252318['pSpace'],_0x5d27c0=[],_0x34931c=[],_0x4efef6=[];if(_0x252318['nFontAlign']){for(var _0x47e108=0x0;_0x47e108<_0x316822;_0x47e108++)_0x5d27c0[_0x47e108]=_0x252318['pFontString'][0x0]['length']*_0x3e0aa9/0x6,_0x34931c[_0x47e108]=Math['atan2'](_0x5d27c0[0x0],_0x162ffe),_0x4efef6[_0x47e108]=Math['sqrt'](_0x5d27c0[0x0]*_0x5d27c0[0x0],_0x162ffe*_0x162ffe);}else{for(var _0x249af4=0x0;_0x249af4<_0x316822;_0x249af4++)_0x5d27c0[_0x249af4]=0x0,_0x34931c[_0x249af4]=0x0,_0x4efef6[_0x249af4]=0x0;}var _0x347eba={};if(this['pstWaterFontParam']['nColorAdapt']){var _0x56e2ef={'nWidth':0x10,'nHeight':0x10,'nBufferLen':0x0},_0x30523f=_0x26cbf6['SR_GetCaptureSize'](_0x56e2ef);if(_0x21dfba['ERRCODE']['SR_OK']==_0x30523f){var _0x24b047=new Uint8Array(_0x56e2ef['nBufferLen']);_0x347eba['pBuffer']=_0x24b047,_0x26cbf6['SR_CaptureScreen'](_0x347eba,!0x0),_0x347eba['width']=_0x56e2ef['nWidth'],_0x347eba['height']=_0x56e2ef['nHeight'],_0x24b047=null;}}var _0x3aacd6=_0x3816aa*_0x20c319;if(_0x252318['pstFontRotate']['fFillFullScreen']){var _0x26bda2=[],_0x260c95=[];if(0x1==_0x252318['pstCanvasAdapt']['nCanvasAdaptMode']){if(_0x20c319<_0x5e47b7){for(var _0x315704=0x0;_0x315704*_0x252318['pstCanvasAdapt']['ntotalColSpace']<=_0x396eda;_0x315704++)_0x260c95[_0x315704]=(_0x315704*_0x252318['pstCanvasAdapt']['ntotalColSpace']+_0x252318['pstCanvasAdapt']['nColSpace']/0x2)/_0x396eda;}else{for(var _0x5e0fd8=0x1/(_0x20c319-0x1),_0x1d7f1a=0x0;_0x1d7f1a<_0x20c319;_0x1d7f1a++)_0x260c95[_0x1d7f1a]=_0x5e0fd8*_0x1d7f1a+_0x24cc79*((_0x316822-0x1)/0x2);}if(_0x3816aa<_0x5e47b7){for(var _0x803eb2=0x0;_0x803eb2*_0x252318['pstCanvasAdapt']['ntotalRowSpace']<=_0x2684e2;_0x803eb2++)_0x26bda2[_0x803eb2]=(_0x803eb2*_0x252318['pstCanvasAdapt']['ntotalRowSpace']+_0x252318['pstCanvasAdapt']['nRowSpace']/0x2)/_0x2684e2;}else{for(var _0x4e0b75=0x1/(_0x3816aa-0x1),_0x21f907=0x0;_0x21f907<_0x3816aa;_0x21f907++)_0x26bda2[_0x21f907]=_0x4e0b75*_0x21f907-_0x162ffe*((_0x316822-0x1)/0x2);}for(var _0xcbe00=0x0;_0xcbe00<_0x316822;_0xcbe00++)_0x5d27c0[_0xcbe00]=0x0,_0x34931c[_0xcbe00]=0x0,_0x4efef6[_0xcbe00]=0x0;}else{if(0x1==_0x3816aa)_0x26bda2[0x0]=0.5;else{for(var _0x2a15ce=0x1/(_0x3816aa-0x1),_0x5deaf5=0x0;_0x5deaf5<_0x3816aa;_0x5deaf5++)_0x26bda2[_0x5deaf5]=_0x2a15ce*_0x5deaf5-_0x162ffe*((_0x316822-0x1)/0x2);}if(0x1==_0x20c319)_0x260c95[0x0]=0.5;else{for(var _0x4c1bab=0x1/(_0x20c319-0x1),_0x6ff991=0x0;_0x6ff991<_0x20c319;_0x6ff991++)_0x260c95[_0x6ff991]=_0x4c1bab*_0x6ff991+_0x24cc79*((_0x316822-0x1)/0x2);}}this['pstWaterFontParamArray'][_0x3d3f8b]=[];for(var _0x334122=0x0;_0x334122<_0x3aacd6;++_0x334122)for(var _0x30c764=0x0;_0x30c764<_0x316822;_0x30c764++){this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]={},this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pString']=_0x252318['pFontString'][_0x30c764],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['nFontWidth']=_0x39f42f,this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['nFontHeight']=_0x39f42f,this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstStartPos']={};var _0x3cd387=_0x334122%_0x20c319,_0x1aed67=Math['floor'](_0x334122/_0x20c319),_0x3699ec=Math['PI']/0x2-_0x588fe6+_0x34931c[_0x30c764];this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstStartPos']['fX']=_0x260c95[_0x3cd387]-_0x30c764*_0x24cc79+_0x4efef6[_0x30c764]*Math['cos'](_0x3699ec),this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstStartPos']['fY']=_0x26bda2[_0x1aed67]+_0x30c764*_0x162ffe-_0x4efef6[_0x30c764]*Math['sin'](_0x3699ec),_0x252318['nColorAdapt']?(0x0==_0x30c764&&this['CheckFrameRGB'](_0x347eba,0x0,0x1,0x1,this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstStartPos']['fX'],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstStartPos']['fY']),this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstFontColor']={},this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstFontColor']['fR']=this['aPOSAdaptBuf'][0x0],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstFontColor']['fG']=this['aPOSAdaptBuf'][0x0],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstFontColor']['fB']=this['aPOSAdaptBuf'][0x0],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstFontColor']['fA']=_0x252318['pstFontColor']['fA']):this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstFontColor']=_0x252318['pstFontColor'],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['bBackGround']=!0x1,this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pstBGColor']=null,this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['fRotateAngle']=_0x252318['pstFontRotate']['fRotateAngle'],this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['pFontFamily']=_0x252318['pFontFamily'],_0x252318['nFontAlign']?(this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['textAlign']='left',this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['textBaseline']='top'):(this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['textAlign']='center',this['pstWaterFontParamArray'][_0x3d3f8b][_0x316822*_0x334122+_0x30c764]['textBaseline']='middle');}}else{for(var _0x44ed11=0x0;_0x44ed11<_0x252318['pFontString']['length'];_0x44ed11++)this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]={},this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pString']=_0x252318['pFontString'][_0x44ed11],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['nFontWidth']=_0x39f42f,this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['nFontHeight']=_0x39f42f,this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstStartPos']={},this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstStartPos']['fX']=_0x252318['pstStartPos']['fX']-_0x44ed11*_0x24cc79,this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstStartPos']['fY']=_0x252318['pstStartPos']['fY']+_0x44ed11*_0x162ffe,_0x252318['nColorAdapt']?(this['CheckFrameRGB'](_0x347eba,0x0,0x1,0x1,this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstStartPos']['fX'],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstStartPos']['fY']),this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstFontColor']={},this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstFontColor']['fR']=this['aPOSAdaptBuf'][0x0],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstFontColor']['fG']=this['aPOSAdaptBuf'][0x0],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstFontColor']['fB']=this['aPOSAdaptBuf'][0x0],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstFontColor']['fA']=_0x252318['pstFontColor']['fA']):this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstFontColor']=_0x252318['pstFontColor'],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['bBackGround']=!0x1,this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pstBGColor']=null,this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['fRotateAngle']=_0x252318['pstFontRotate']['fRotateAngle'],this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['pFontFamily']=_0x252318['pFontFamily'],_0x252318['nFontAlign']?(this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['textAlign']='left',this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['textBaseline']='top'):(this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['textAlign']='center',this['pstWaterFontParamArray'][_0x3d3f8b][_0x44ed11]['textBaseline']='middle');}return 0x1;}},{'key':'CalculateWaterMarkParam','value':function(_0x469db2,_0x2e7d93,_0x57cc78){var _0x335aa9=this['mainCanvasID']['width'],_0x5f2d2b=this['mainCanvasID']['height'];_0x2e7d93>0x0&&(_0x335aa9=this['stFishEyeManager'][_0x2e7d93]['sCanvasID']['width'],_0x5f2d2b=this['stFishEyeManager'][_0x2e7d93]['sCanvasID']['height']);var _0x4b459f=Math['floor'](_0x57cc78['pstFontNumber']['nRowNumber']),_0x227c84=Math['floor'](_0x57cc78['pstFontNumber']['nColNumber']);0x1==_0x57cc78['pstCanvasAdapt']['nCanvasAdaptMode']&&(_0x4b459f=(_0x4b459f=(_0x4b459f=Math['floor'](_0x5f2d2b/_0x57cc78['pstCanvasAdapt']['ntotalRowSpace']+0x1))<0x1?0x1:_0x4b459f)>_0x5e47b7?_0x5e47b7:_0x4b459f,_0x227c84=(_0x227c84=(_0x227c84=Math['floor'](_0x335aa9/_0x57cc78['pstCanvasAdapt']['ntotalColSpace']+0x1))<0x1?0x1:_0x227c84)>_0x5e47b7?_0x5e47b7:_0x227c84),this['GetWaterFontParam'](_0x469db2,_0x2e7d93,_0x57cc78,_0x335aa9,_0x5f2d2b,_0x4b459f,_0x227c84);}},{'key':'SetWaterMarkFont','value':function(_0x7f97f7){if(0x0!=this['pstWaterFontParamArray']['length']){for(var _0x32bef9=0x0;_0x32bef9<_0x3e91af;_0x32bef9++)this['pstWaterFontParamArray'][_0x32bef9]['splice'](0x0,this['pstWaterFontParamArray'][_0x32bef9]['length']);}if(this['pstWaterFontParam']=_0x7f97f7,null===_0x7f97f7)return 0x1;this['CalculateWaterMarkParam'](this['oVideoHandle'],0x0,_0x7f97f7);for(var _0x7f48cf=0x1;_0x7f48cf<_0x3e91af;_0x7f48cf++)null!=this['stFishEyeManager'][_0x7f48cf]['pRender']&&this['CalculateWaterMarkParam'](this['stFishEyeManager'][_0x7f48cf]['pRender'],_0x7f48cf,_0x7f97f7);return 0x1;}},{'key':'SetMosaicType','value':function(_0x3dfecb){return this['MosaicType']=_0x3dfecb['nMosaicType'],this['MosaicSize']=_0x3dfecb['nMosaicSize'],this['MosaicColorR']=_0x3dfecb['pstMosaicColor']['fMosaicColorR']/0xff,this['MosaicColorG']=_0x3dfecb['pstMosaicColor']['fMosaicColorG']/0xff,this['MosaicColorB']=_0x3dfecb['pstMosaicColor']['fMosaicColorB']/0xff,this['MosaicColorA']=_0x3dfecb['pstMosaicColor']['fMosaicColorA']/0x64,0x1;}},{'key':'SetTextCanvas','value':function(_0x3f1e12){return this['textCanvas']=_0x3f1e12,0x1;}},{'key':'SetPrintLogFlag','value':function(_0xf2eb82){return this['printfFlag']=_0xf2eb82,0x1;}},{'key':'SetRotateAngle','value':function(_0x2a19c3){if(null!=this['oVideoHandle']){var _0x39678b;if(_0x39678b=this['oVideoHandle']['SR_SetRenderState'](_0x21dfba['SRRENDERSTATETYPE']['SR_RST_IMAGE_ROTATE'],_0x2a19c3),null!=this['pstWaterFontParam']&&this['pstWaterFontParam']['nColorAdapt']&&(this['pstWaterFontParamArray'][0x0]['splice'](0x0,this['pstWaterFontParamArray'][0x0]['length']),this['CalculateWaterMarkParam'](this['oVideoHandle'],0x0,this['pstWaterFontParam'])),_0x39678b==_0x21dfba['ERRCODE']['SR_OK'])return 0x1;}return 0x0;}},{'key':'ImageDecoder','value':function(_0xc519d,_0x1d4ce4,_0xcab272){var _0x55584f=this;_0xc519d['decode']({'frameIndex':_0xcab272})['then'](function(_0x21aadd){_0x55584f['pWaterImageParam'][_0xcab272]={},_0x55584f['pWaterImageParam'][_0xcab272]['videoStream']=_0x21aadd['image'],_0x55584f['pWaterImageParam'][_0xcab272]['nImageWidth']=_0x21aadd['image']['displayWidth'],_0x55584f['pWaterImageParam'][_0xcab272]['nImageHeight']=_0x21aadd['image']['displayHeight'],_0x55584f['pWaterImageParam'][_0xcab272]['timeStamp']=_0x21aadd['image']['timestamp']/0x3e8,_0x55584f['pWaterImageParam'][_0xcab272]['duration']=_0x21aadd['image']['duration']/0x3e8,null!=_0x1d4ce4['pstRectPos']?_0x55584f['pWaterImageParam'][_0xcab272]['pstRectPos']=_0x1d4ce4['pstRectPos']:_0x55584f['pWaterImageParam'][_0xcab272]['pstRectPos']={'fLeft':0x0,'fRight':0.1,'fTop':0x0,'fBottom':0.1},null!=_0x1d4ce4['fAlpha']&&_0x1d4ce4['fAlpha']<=0x1&&_0x1d4ce4['fAlpha']>=0x0?_0x55584f['pWaterImageParam'][_0xcab272]['fAlpha']=_0x1d4ce4['fAlpha']:_0x55584f['pWaterImageParam'][_0xcab272]['fAlpha']=0x1,_0x55584f['waterMarkImageMax']=_0xc519d['tracks']['selectedTrack']['frameCount'],_0xcab272<_0xc519d['tracks']['selectedTrack']['frameCount']-0x1?_0x55584f['ImageDecoder'](_0xc519d,_0x1d4ce4,_0xcab272+0x1):(_0x55584f['baseWaterMarkImageTime']=_0x55584f['curTimestamp'],_0x55584f['finishDecodeImage']=!0x0);});}},{'key':'SetWaterMarkImage','value':function(_0x12637a){var _0x420c25=this;if(this['pWaterImageParam']['splice'](0x0,this['pWaterImageParam']['length']),null===_0x12637a)return 0x1;if(null!=_0x12637a['pImageData']){var _0x1c6ae7=new ImageDecoder({'data':_0x12637a['pImageData'],'type':'image/'+_0x12637a['pImageType']});_0x1c6ae7['tracks']['ready']['then'](function(){_0x1c6ae7['completed']['then'](function(){_0x420c25['ImageDecoder'](_0x1c6ae7,_0x12637a,0x0);});});}return this['waterMarkImageIndex']=0x0,0x1;}},{'key':'SelectIntelInfoFeatureToDraw','value':function(_0x1a5385){if(this['DrawTargetEventIDList']['splice'](0x0,this['DrawTargetEventIDList']['length']),null===_0x1a5385)return 0x0;if(pImageParam['NodeNumber']>0x0){for(var _0x32561c=0x0;_0x32561c0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:0x0,_0xc49009=arguments['length']>0x2&&void 0x0!==arguments[0x2]?arguments[0x2]:0x0,_0x1a7128=arguments['length']>0x3&&void 0x0!==arguments[0x3]?arguments[0x3]:0x0,_0x53f5c9={};_0x53f5c9['nWidth']=_0x3a9a71,_0x53f5c9['nHeight']=_0xc49009,_0x53f5c9['nBufferLen']=0x0;var _0x1a1cd5=this['oVideoHandle']['SR_GetCaptureSize'](_0x53f5c9,_0x1a7128);if(_0x21dfba['ERRCODE']['SR_OK']!=_0x1a1cd5||_0x53f5c9['nBufferLen']<=0x0)_0x48e3b0(null);else{var _0x135475=new Uint8Array(_0x53f5c9['nBufferLen']);if(null!=_0x135475){var _0x3bf884={};_0x3bf884['pBuffer']=_0x135475,this['oVideoHandle']['SR_CaptureScreen'](_0x3bf884),_0x48e3b0(_0x135475,_0x53f5c9['nWidth'],_0x53f5c9['nHeight']);}else _0x48e3b0(null);}}},{'key':'FindIntelNodefromList','value':function(_0x2375e1){if(0x0!=this['privateNormalLinesInfo']['length']){for(var _0x190f88=!0x1,_0x805ebd=0x0,_0x39cbde=!0x1,_0x2dd2fd=0x0,_0x4c94e9=0x0,_0xf19116=0x5f5e100,_0x5323b3=0x0;_0x5323b30x0){var _0x2836b6={'linesNum':0x0};_0x2836b6['absTimeStamp']=_0x247233['absTimeStamp'],_0x2836b6['stDrawLinesArray']=[];var _0x21311e={'linesNum':0x0};_0x21311e['absTimeStamp']=_0x247233['absTimeStamp'],_0x21311e['stDrawLinesArray']=[];var _0x29620e={'linesNum':0x0};_0x29620e['absTimeStamp']=_0x247233['absTimeStamp'],_0x29620e['stDrawLinesArray']=[];var _0x1a9f88={'linesNum':0x0};_0x1a9f88['absTimeStamp']=_0x247233['absTimeStamp'],_0x1a9f88['stDrawLinesArray']=[];var _0x11893f={'linesNum':0x0};_0x11893f['absTimeStamp']=_0x247233['absTimeStamp'],_0x11893f['stDrawLinesArray']=[];var _0x56d362={'linesNum':0x0};_0x56d362['absTimeStamp']=_0x247233['absTimeStamp'],_0x56d362['stDrawLinesArray']=[];var _0xf6c7da={'linesNum':0x0};_0xf6c7da['absTimeStamp']=_0x247233['absTimeStamp'],_0xf6c7da['stDrawLinesArray']=[];for(var _0x522e96=0x0;_0x522e96<_0x247233['linesNum'];_0x522e96++)0x1==_0x247233['stDrawLinesArray'][_0x522e96]['dwMatchType']?0x2==_0x247233['stDrawLinesArray'][_0x522e96]['dwIntelFlag']?(_0x56d362['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0x56d362['linesNum']):(_0x11893f['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0x11893f['linesNum']):0x1==_0x247233['stDrawLinesArray'][_0x522e96]['dwIntelFlag']?(_0x2836b6['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0x2836b6['linesNum']):0x4==_0x247233['stDrawLinesArray'][_0x522e96]['dwIntelFlag']?(this['m_nTEMDrawLinescount']=0x0,_0x21311e['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0x21311e['linesNum']):0x6==_0x247233['stDrawLinesArray'][_0x522e96]['dwIntelFlag']?(_0x29620e['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0x29620e['linesNum']):0x8!=_0x247233['stDrawLinesArray'][_0x522e96]['dwIntelFlag']||0x1!=_0x247233['stDrawLinesArray'][_0x522e96]['dwSubIntelFlag']&&0x2!=_0x247233['stDrawLinesArray'][_0x522e96]['dwSubIntelFlag']?(_0x1a9f88['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0x1a9f88['linesNum']):(_0xf6c7da['stDrawLinesArray']['push'](_0x247233['stDrawLinesArray'][_0x522e96]),++_0xf6c7da['linesNum']);if(_0x11893f['linesNum']>0x0){if(_0x11893f['absTimeStamp']<=this['maxExactPrivateLineTimeStamp']){var _0x267207=0x0;for(_0x267207=0x0;_0x2672070x0){if(this['privateNormalLinesInfo']['length']>=_0x1eb546&&this['privateNormalLinesInfo']['shift'](),_0x1a9f88['absTimeStamp']<=this['maxNormalPrivateLineTimeStamp']){var _0x49a13b=0x0;for(_0x49a13b=0x0;_0x49a13b0x0){if(this['privateThermalLinesInfo']['length']>=_0x1eb546&&this['privateThermalLinesInfo']['shift'](),0x0!=this['privateThermalLinesInfo']['length']){this['privateThermalLinesInfo'][0x0]['linesNum']=_0xf6c7da['linesNum'];for(var _0xd9f3d=0x0;_0xd9f3d<_0xf6c7da['linesNum'];_0xd9f3d++){this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]={},this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['vertex_num']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['vertex_num'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['lineWidth']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['lineWidth'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['bFill']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['bFill'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['bLoop']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['bLoop'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['dwMatchType']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['dwMatchType'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['dwIntelFlag']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['dwIntelFlag'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['dwSubIntelFlag']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['dwSubIntelFlag'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['color']={},this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['color']['R']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['color']['R'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['color']['G']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['color']['G'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['color']['B']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['color']['B'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['color']['A']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['color']['A'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['stPoint']=[];for(var _0x449248=0x0;_0x449248<_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['vertex_num'];_0x449248++)this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['stPoint'][_0x449248]={},this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['stPoint'][_0x449248]['x']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['stPoint'][_0x449248]['x'],this['privateThermalLinesInfo'][0x0]['stDrawLinesArray'][_0xd9f3d]['stPoint'][_0x449248]['y']=_0xf6c7da['stDrawLinesArray'][_0xd9f3d]['stPoint'][_0x449248]['y'];}}else this['privateThermalLinesInfo']['push'](_0xf6c7da);}if(_0x59e36b=!0x1,_0x34ae10=0x0,_0x56d362['linesNum']>0x0){if(_0x56d362['absTimeStamp']<=this['maxExactRulePrivateLineTimeStamp']){var _0x45e6f0=0x0;for(_0x45e6f0=0x0;_0x45e6f00x0){if(_0x2836b6['absTimeStamp']<=this['maxTargetPrivateLineTimeStamp']){var _0x1388cd=0x0;for(_0x1388cd=0x0;_0x1388cd0x0){if(this['privateMDLinesInfo']['length']>=_0x1eb546&&this['privateMDLinesInfo']['shift'](),_0x29620e['absTimeStamp']<=this['maxMDPrivateLineTimeStamp']){var _0xa0c4d0=0x0;for(_0xa0c4d0=0x0;_0xa0c4d00x0){if(this['privateTemLinesInfo']['length']>=_0x1eb546&&this['privateTemLinesInfo']['shift'](),_0x21311e['absTimeStamp']<=this['maxTemPrivateLineTimeStamp']){var _0x5c8f9d=0x0;for(_0x5c8f9d=0x0;_0x5c8f9d0x0){var _0x40a540={'nFontsNum':0x0};_0x40a540['absTimeStamp']=_0x4edfac['absTimeStamp'],_0x40a540['stDrawFontsArray']=[];var _0x206f21={'nFontsNum':0x0};_0x206f21['absTimeStamp']=_0x4edfac['absTimeStamp'],_0x206f21['stDrawFontsArray']=[];var _0x19c569={'nFontsNum':0x0};_0x19c569['absTimeStamp']=_0x4edfac['absTimeStamp'],_0x19c569['stDrawFontsArray']=[];var _0x402f2f={'nFontsNum':0x0};_0x402f2f['absTimeStamp']=_0x4edfac['absTimeStamp'],_0x402f2f['stDrawFontsArray']=[];var _0x13cf6d={'nFontsNum':0x0};_0x13cf6d['absTimeStamp']=_0x4edfac['absTimeStamp'],_0x13cf6d['stDrawFontsArray']=[];var _0x38ad54={'nFontsNum':0x0};_0x38ad54['absTimeStamp']=_0x4edfac['absTimeStamp'],_0x38ad54['stDrawFontsArray']=[];for(var _0x2f9f20=0x0;_0x2f9f20<_0x4edfac['nFontsNum'];_0x2f9f20++)0x1==_0x4edfac['stDrawFontsArray'][_0x2f9f20]['dwMatchType']?0x1==_0x4edfac['stDrawFontsArray'][_0x2f9f20]['dwIntelFlag']?(_0x13cf6d['stDrawFontsArray']['push'](_0x4edfac['stDrawFontsArray'][_0x2f9f20]),++_0x13cf6d['nFontsNum']):0x3==_0x4edfac['stDrawFontsArray'][_0x2f9f20]['dwIntelFlag']&&(_0x38ad54['stDrawFontsArray']['push'](_0x4edfac['stDrawFontsArray'][_0x2f9f20]),++_0x38ad54['nFontsNum']):0x1==_0x4edfac['stDrawFontsArray'][_0x2f9f20]['dwIntelFlag']?(_0x40a540['stDrawFontsArray']['push'](_0x4edfac['stDrawFontsArray'][_0x2f9f20]),++_0x40a540['nFontsNum']):0x4==_0x4edfac['stDrawFontsArray'][_0x2f9f20]['dwIntelFlag']?(this['m_nTEMDrawFontscount']=0x0,_0x206f21['stDrawFontsArray']['push'](_0x4edfac['stDrawFontsArray'][_0x2f9f20]),++_0x206f21['nFontsNum']):0x3==_0x4edfac['stDrawFontsArray'][_0x2f9f20]['dwIntelFlag']?_0x4edfac['stDrawFontsArray'][_0x2f9f20]['NeedClearNormalPos']?this['curNormalPOSFontsInfo']=null:(_0x402f2f['stDrawFontsArray']['push'](_0x4edfac['stDrawFontsArray'][_0x2f9f20]),++_0x402f2f['nFontsNum']):(_0x19c569['stDrawFontsArray']['push'](_0x4edfac['stDrawFontsArray'][_0x2f9f20]),++_0x19c569['nFontsNum']);if(_0x59e36b=!0x1,_0x34ae10=0x0,_0x38ad54['nFontsNum']>0x0){if(this['privateExactPOSFontsInfo']['length']>=_0x1eb546&&this['privateExactPOSFontsInfo']['shift'](),_0x38ad54['absTimeStamp']<=this['maxExactPOSPrivateFontTimeStamp']){var _0x48b0a3=0x0;for(_0x48b0a3=0x0;_0x48b0a30x0){if(this['privateExactFontsInfo']['length']>=_0x1eb546&&this['privateExactFontsInfo']['shift'](),_0x13cf6d['absTimeStamp']<=this['maxExactPrivateFontTimeStamp']){var _0x33b1b7=0x0;for(_0x33b1b7=0x0;_0x33b1b70x0){if(this['privateNormalFontsInfo']['length']>=_0x1eb546&&this['privateNormalFontsInfo']['shift'](),_0x19c569['absTimeStamp']<=this['maxNormalPrivateFontTimeStamp']){var _0x145457=0x0;for(_0x145457=0x0;_0x1454570x0){if(null==this['curNormalPOSFontsInfo'])this['curNormalPOSFontsInfo']=_0x402f2f;else{this['curNormalPOSFontsInfo']['nFontsNum']=_0x402f2f['nFontsNum'],this['curNormalPOSFontsInfo']['absTimeStamp']=_0x402f2f['absTimeStamp'];for(var _0x1c6f38=0x0;_0x1c6f38<_0x402f2f['nFontsNum'];_0x1c6f38++)this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]={},this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['nFontSizeW']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['nFontSizeW'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['nFontSizeH']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['nFontSizeH'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['dwMatchType']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['dwMatchType'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['dwIntelFlag']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['dwIntelFlag'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['dwSubIntelFlag']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['dwSubIntelFlag'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['color']={},this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['color']['R']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['color']['R'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['color']['G']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['color']['G'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['color']['B']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['color']['B'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['color']['A']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['color']['A'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['stPoint']={},this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['stPoint']['x']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['stPoint']['x'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['stPoint']['y']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['stPoint']['y'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['fontString']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['fontString'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['BGcolor']={},this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['BGcolor']['R']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['BGcolor']['R'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['BGcolor']['G']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['BGcolor']['G'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['BGcolor']['B']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['BGcolor']['B'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['BGcolor']['A']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['BGcolor']['A'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['bBackGround']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['bBackGround'],this['curNormalPOSFontsInfo']['stDrawFontsArray'][_0x1c6f38]['EventID']=_0x402f2f['stDrawFontsArray'][_0x1c6f38]['dwEventID'];}}if(_0x59e36b=!0x1,_0x34ae10=0x0,_0x40a540['nFontsNum']>0x0){if(this['privateTargetFontsInfo']['length']>=_0x1eb546&&this['privateTargetFontsInfo']['shift'](),_0x40a540['absTimeStamp']<=this['maxTargetPrivateFontTimeStamp']){var _0x478941=0x0;for(_0x478941=0x0;_0x4789410x0){if(this['privateTemFontsInfo']['length']>=_0x1eb546&&this['privateTemFontsInfo']['shift'](),_0x206f21['absTimeStamp']<=this['maxTemPrivateFontTimeStamp']){var _0xfd100f=0x0;for(_0xfd100f=0x0;_0xfd100f=_0x1eb546&&this['privateImageInfo']['shift'](),_0x5d0e9d['absTimeStamp']<=this['maxPrivateImageTimeStamp']){var _0x44b7d1=0x0;for(_0x44b7d1=0x0;_0x44b7d1=0x14&&_0x3dd4bf['privatePNGImageInfo']['shift']();var _0x30df27=_0x3dd4bf['privatePNGImageInfo']['findIndex'](function(_0x2baec4){return _0x2baec4['PicID']===_0x5d0e9d['PicID'];});-0x1!==_0x30df27?_0x3dd4bf['privatePNGImageInfo'][_0x30df27]=_0x4c50a5(_0x4c50a5({},_0x3dd4bf['privatePNGImageInfo'][_0x30df27]),{},{'PicID':_0x5d0e9d['PicID'],'videoStream':_0x296e5d['image'],'nImageWidth':_0x296e5d['image']['displayWidth'],'nImageHeight':_0x296e5d['image']['displayHeight'],'pstRectPos':{'fTop':_0x5d0e9d['pstRect']['fTop'],'fBottom':_0x5d0e9d['pstRect']['fBottom'],'fLeft':_0x5d0e9d['pstRect']['fLeft'],'fRight':_0x5d0e9d['pstRect']['fRight']},'nPixelFormat':_0x5d0e9d['nPixelFormat'],'fAlpha':_0x5d0e9d['fAlpha']}):_0x3dd4bf['privatePNGImageInfo']['push']({'PicID':_0x5d0e9d['PicID'],'videoStream':_0x296e5d['image'],'nImageWidth':_0x296e5d['image']['displayWidth'],'nImageHeight':_0x296e5d['image']['displayHeight'],'pstRectPos':{'fTop':_0x5d0e9d['pstRect']['fTop'],'fBottom':_0x5d0e9d['pstRect']['fBottom'],'fLeft':_0x5d0e9d['pstRect']['fLeft'],'fRight':_0x5d0e9d['pstRect']['fRight']},'nPixelFormat':_0x5d0e9d['nPixelFormat'],'fAlpha':_0x5d0e9d['fAlpha']});})['catch'](function(_0x266080){console['error']('Image\\x20processing\\x20failed:',_0x266080);});}catch(_0x3090d4){console['error']('ImageDecoder\\x20initialization\\x20failed:',_0x3090d4);}}return 0x1;}},{'key':'CheckLinesInfo','value':function(){if(this['DrawlinesParamArray']['splice'](0x0,this['DrawlinesParamArray']['length']),this['DrawlinesParamArrayAllPointNum']=0x0,this['bDrawlinesParamArrayFill']=0x0,this['DrawMosaiclinesParamArray']['splice'](0x0,this['DrawMosaiclinesParamArray']['length']),this['DrawTargetlinesParamArray']['splice'](0x0,this['DrawTargetlinesParamArray']['length']),null!=this['curNormalLinesInfo']){for(var _0x4d8ab0=[],_0x1debcd=0x0,_0x27817d=0x0;_0x27817d0x0&&-0x1!=_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['dwFillPicID']){for(var _0x2d6707=-0x1,_0x4d1c39=0x0,_0x52af7a=0x0;_0x52af7a<_0x41a26e['privatePNGImageInfo']['length'];_0x52af7a++)if(_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['dwFillPicID']==_0x41a26e['privatePNGImageInfo'][_0x52af7a]['PicID']){if(_0x2d6707=_0x52af7a,_0x41a26e['DrawTargetEventIDList']['length']>0x0){for(var _0x4d5bbf=0x0;_0x4d5bbf<_0x41a26e['DrawTargetEventIDList']['length'];_0x4d5bbf++)if(_0x41a26e['DrawTargetEventIDList'][_0x4d5bbf]['nID']==_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['eventid']){_0x4d1c39=0x1;break;}}else _0x4d1c39=0x1;break;}-0x1!=_0x2d6707&&0x1==_0x4d1c39&&(_0x41a26e['privatePNGImageInfo'][_0x2d6707]['pstRectPos']['fTop']=_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['pstPoints'][0x0]['fY'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['pstRectPos']['fBottom']=_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['pstPoints'][0x2]['fY'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['pstRectPos']['fLeft']=_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['pstPoints'][0x0]['fX'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['pstRectPos']['fRight']=_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['pstPoints'][0x2]['fX'],_0x41a26e['oVideoHandle']['SR_DrawImage'](_0x41a26e['privatePNGImageInfo'][_0x2d6707]['videoStream'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['nImageWidth'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['nImageHeight'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['pstRectPos'],_0x21dfba['SRPIXELFORMAT']['SR_PF_SURFACE'],_0x41a26e['privatePNGImageInfo'][_0x2d6707]['fAlpha']));}else _0x41a26e['oVideoHandle']['SR_DrawLines'](_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['pstPoints'],_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['nPointNum'],_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['bLoop'],_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['pstColor'],_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['nLineWidth'],_0x41a26e['DrawTargetlinesParamArray'][_0x1c13bc]['bFill']);0x0!=_0x41a26e['DrawFontParamArray']['length']&&_0x41a26e['oVideoHandle']['SR_DrawFontEx'](_0x41a26e['DrawFontParamArray'],_0x41a26e['DrawFontParamArray']['length'],0x0,_0x41a26e['textCanvas']);for(var _0x599aad=_0x41a26e['DrawPOSFontsParamArray']['length']-0x1;_0x599aad>=0x0;_0x599aad--){var _0x3e15e1=0x0;if(-0x1!=_0x41a26e['DrawPOSFontsParamArray'][_0x599aad]['EventID']&&_0x41a26e['DrawTargetEventIDList']['length']>0x0){for(var _0xf36f5c=0x0;_0xf36f5c<_0x41a26e['DrawTargetEventIDList']['length'];_0xf36f5c++)if(_0x41a26e['DrawTargetEventIDList'][_0xf36f5c]['nID']==_0x41a26e['DrawPOSFontsParamArray'][_0x599aad]['EventID']){_0x3e15e1=0x1;break;}}else _0x3e15e1=0x1;0x1!=_0x3e15e1&&_0x41a26e['DrawPOSFontsParamArray']['splice'](_0x599aad,0x1);}if(0x0!=_0x41a26e['DrawPOSFontsParamArray']['length']&&_0x41a26e['oVideoHandle']['SR_DrawFontEx'](_0x41a26e['DrawPOSFontsParamArray'],_0x41a26e['DrawPOSFontsParamArray']['length'],0x0,_0x41a26e['textCanvas']),null!=_0x41a26e['curImagesInfo']&&0x0!=_0x41a26e['curImagesInfo']['nWidth']&&0x0!=_0x41a26e['curImagesInfo']['nHeight']&&0x1==_0x41a26e['m_bEnablePICEx']){var _0x8365cd=null;null!=_0x41a26e['curImagesInfo']&&null!=_0x41a26e['curImagesInfo']&&null!=_0x41a26e['curImagesInfo']['picImageData']&&null!=_0x41a26e['curImagesInfo']['picImageData']&&(_0x8365cd=new Uint16Array(_0x41a26e['curImagesInfo']['picImageData']['buffer'])),null!=_0x41a26e['curImagesInfo']&&_0x41a26e['curImagesInfo']['nPixelFormat']>0x0&&_0x41a26e['oVideoHandle']['SR_DrawImage'](_0x8365cd,_0x41a26e['curImagesInfo']['nWidth'],_0x41a26e['curImagesInfo']['nHeight'],_0x41a26e['curImagesInfo']['pstRect'],_0x41a26e['curImagesInfo']['nPixelFormat'],_0x41a26e['curImagesInfo']['fAlpha']);}if(0x0!==_0x41a26e['pstWaterFontParamArray'][0x0]['length']&&null!=_0x41a26e['pstWaterFontParam']&&_0x41a26e['oVideoHandle']['SR_DrawFontEx'](_0x41a26e['pstWaterFontParamArray'][0x0],_0x41a26e['pstWaterFontParamArray'][0x0]['length'],0x1,_0x41a26e['textCanvas']),0x0!==_0x41a26e['pWaterImageParam']['length']&&_0x41a26e['finishDecodeImage']){_0x41a26e['baseWaterMarkImageTime']<=0x0&&(_0x41a26e['baseWaterMarkImageTime']=_0x41a26e['curTimestamp']);var _0x140bc9=_0x41a26e['curTimestamp']-_0x41a26e['baseWaterMarkImageTime'];_0x140bc9<0x0&&(_0x41a26e['baseWaterMarkImageTime']=_0x41a26e['curTimestamp'],_0x140bc9=0x0,_0x41a26e['waterMarkImageIndex']=0x0),_0x140bc9>=_0x41a26e['pWaterImageParam'][_0x41a26e['waterMarkImageIndex']]['timeStamp']-_0x41a26e['pWaterImageParam'][0x0]['timeStamp']&&_0x41a26e['waterMarkImageIndex']++,_0x41a26e['waterMarkImageIndex']>=_0x41a26e['waterMarkImageMax']&&(_0x41a26e['waterMarkImageIndex']=0x0,_0x41a26e['baseWaterMarkImageTime']=_0x41a26e['curTimestamp']);var _0x4666b3=_0x41a26e['waterMarkImageIndex'];_0x41a26e['oVideoHandle']['SR_DrawImage'](_0x41a26e['pWaterImageParam'][_0x4666b3]['videoStream'],_0x41a26e['pWaterImageParam'][_0x4666b3]['nImageWidth'],_0x41a26e['pWaterImageParam'][_0x4666b3]['nImageHeight'],_0x41a26e['pWaterImageParam'][_0x4666b3]['pstRectPos'],_0x21dfba['SRPIXELFORMAT']['SR_PF_SURFACE'],_0x41a26e['pWaterImageParam'][_0x4666b3]['fAlpha']);}}},{'key':'SetPanoramaDisplayEffect','value':function(_0x42b3a0){if('2d'===this['renderEngine']||'2D'===this['renderEngine'])return 0x0;if(null!=this['oVideoHandle']){if(_0x42b3a0!=this['panoramaDisplayEffect']){this['panoramaDisplayEffect']=_0x42b3a0,this['oVideoHandle']['SR_DelSubPort'](this['mainVaildSubPort']),this['oVideoHandle']['SR_Destroy'](),this['oVideoHandle']=null,this['oVideoHandle']=new _0x506212(),null==this['pFishParamManager']&&(this['pFishParamManager']=new _0x28ed38()),this['oVideoHandle']['SR_SetFishParamManager'](this['pFishParamManager']),this['hasSetFECParamManager']=!0x0;var _0xa99e8e=_0x21dfba['SRDISPLAYEFFECT']['SR_DE_NULL'];if(_0xa99e8e=0x1==this['panoramaDisplayEffect']?_0x21dfba['SRDISPLAYEFFECT']['SR_DE_PANORAMA_SPHERE']:0x3==this['panoramaDisplayEffect']?_0x21dfba['SRDISPLAYEFFECT']['SR_DE_PANORAMA_PLANET']:_0x21dfba['SRDISPLAYEFFECT']['SR_DE_NULL'],this['oVideoHandle']['SR_Init'](this['mainCanvasID'],this['enPixelFormat']),this['mainVaildSubPort']=this['oVideoHandle']['SR_AddSubPort'](_0xa99e8e),-0x1==this['mainVaildSubPort'])return console['info']('%c\\x20InitDisplay\\x20SR_AddSubPort\\x20error\\x20subport:%d','color:\\x20red',this['mainVaildSubPort']),0x0;}}else this['panoramaDisplayEffect']=_0x42b3a0;return 0x1;}},{'key':'SetPanoramaSphereViewParam','value':function(_0x42bc0e,_0x1e77a0){return'2d'===this['renderEngine']||'2D'===this['renderEngine']||null==_0x1e77a0||null==_0x1e77a0||_0x42bc0e<0x1||_0x42bc0e>0x3?0x0:(this['viewParamType']=_0x42bc0e,this['viewParamValue']=_0x1e77a0,null!=this['oVideoHandle']?(0x1!=this['panoramaDisplayEffect']&&this['panoramaDisplayEffect'],this['oVideoHandle']['SR_SetViewParam'](_0x42bc0e,_0x1e77a0)!=_0x21dfba['ERRCODE']['SR_OK']?0x0:0x1):0x0);}},{'key':'GetPanoramaSphereViewParam','value':function(_0x5ec10a,_0x514cc8){return'2d'===this['renderEngine']||'2D'===this['renderEngine']||null==_0x514cc8||null==_0x514cc8||_0x5ec10a<0x1||_0x5ec10a>0x3?0x0:null!=this['oVideoHandle']?(0x1!=this['panoramaDisplayEffect']&&this['panoramaDisplayEffect'],_0x514cc8['fValue']=-0x1,this['oVideoHandle']['SR_GetViewParam'](_0x5ec10a,_0x514cc8)!=_0x21dfba['ERRCODE']['SR_OK']?0x0:0x1):0x0;}}]),_0x3ed76e;}()),_0x218390=(function(){function _0xe61299(_0x4dcce6,_0x14ac0e){_0x1d88b2(this,_0xe61299),this['EncoderObj']=null,this['FirstFrame']=!0x0,this['frameRate']=0x19,this['EncoderCurStatus']=0x2,this['frameCounter']=0x0,this['frameNum']=0x0,this['stopEncodflag']=!0x1,this['encodeFrameGlobalTime']=[],this['oPlayCtrlHandle']=null,null!=_0x4dcce6&&(this['oPlayCtrlHandle']=_0x4dcce6),this['player']=null,null!=_0x14ac0e&&(this['player']=_0x14ac0e),this['output']=this['output']['bind'](this),this['reportError']=this['reportError']['bind'](this),this['userAgent']=0x0,this['bWriteData']=!0x1,this['aTotalBuffer']=[],this['iFrameNum']=0x0;}return _0x4e686c(_0xe61299,[{'key':'initEncoder','value':function(_0x4df1b5,_0x285709,_0x49afdc){if(this['codecString']=_0x4df1b5,this['encodeWidth']=_0x285709['encodeWidth'],this['encodeHeight']=_0x285709['encodeHeight'],this['bitrate']=_0x285709['bitrate'],this['frameRate']=_0x285709['frameRate'],0x0==_0x285709['bitrateMode']?this['bitrateMode']='variable':this['bitrateMode']='constant',0x0==_0x285709['latencyMode']?this['latencyMode']='realtime':this['latencyMode']='quality',this['rawDataCB']=_0x49afdc,this['FirstFrame']=!0x0,this['EncoderCurStatus']=0x2,this['frameCounter']=0x0,this['frameNum']=0x0,this['stopEncodflag']=!0x1,null==this['EncoderObj']){var _0x189471={'output':this['output'],'error':this['reportError']};this['EncoderObj']=new VideoEncoder(_0x189471);}this['format']='annexb';var _0x3fbdf7=navigator['userAgent']||navigator['vendor']||window['opera'];_0x3fbdf7['indexOf']('Windows\\x20NT')>-0x1?this['userAgent']=0x0:_0x3fbdf7['indexOf']('Linux')>-0x1?this['userAgent']=0x1:_0x3fbdf7['indexOf']('Mac\\x20OS\\x20X')>-0x1?(this['userAgent']=0x2,this['format']='avc'):/Android/['test'](_0x3fbdf7)?this['userAgent']=0x3:/like Mac OS X/['test'](_0x3fbdf7)?this['userAgent']=0x4:this['userAgent']=0x0;var _0x3d8f98={'codec':_0x4df1b5,'width':this['encodeWidth'],'height':this['encodeHeight'],'displayWidth':this['encodeWidth'],'displayHeight':this['encodeHeight'],'bitrate':this['bitrate'],'framerate':this['frameRate'],'bitrateMode':this['bitrateMode'],'latencyMode':this['latencyMode'],'avc':{'format':this['format']}};console['log']('1videoEncode\\x20config\\x20width:'+this['encodeWidth']+',height:'+this['encodeHeight']+',bitrate:'+this['bitrate']+',framerate:'+this['frameRate']+',bitrateMode:'+this['bitrateMode']+',latencMode:'+this['latencyMode']),this['EncoderObj']['configure'](_0x3d8f98);}},{'key':'inputData','value':function(_0x42bedd,_0x23b641){null==this['EncoderObj']||this['stopEncodflag']||('configured'==this['EncoderObj']['state']||this['FirstFrame'])&&this['EncodeProcess'](_0x42bedd,_0x23b641);}},{'key':'EncodeProcess','value':function(_0x1c3121,_0x21e1ab){if(0x4!=this['EncoderCurStatus']&&null!=this['EncoderObj']&&'configured'==this['EncoderObj']['state']&&this['EncoderObj']['encodeQueueSize']<0xa){var _0x38ebee=this['frameCounter']%0x32==0x0;0x1==_0x38ebee&&this['encodeFrameGlobalTime']['push'](_0x21e1ab),this['EncoderObj']['encode'](_0x1c3121,{'keyFrame':_0x38ebee}),this['frameCounter']++;}}},{'key':'output','value':function(_0x468177,_0x3e25cc){if('configured'==this['EncoderObj']['state']){_0x3e25cc['decoderConfig'],_0x3e25cc['svc'],_0x3e25cc['alphaSideData'],_0x468177['type'];var _0x17f30d=_0x468177['timestamp'];_0x468177['byteLength'];if(!this['stopEncodflag']){var _0x5695a0=new Uint8Array(_0x468177['byteLength']);_0x468177['copyTo'](_0x5695a0);var _0x5cb827={'dataType':0x1};if(_0x5cb827['width']=this['encodeWidth'],_0x5cb827['height']=this['encodeHeight'],_0x5cb827['frameRate']=this['frameRate'],_0x5cb827['timeStamp']=_0x17f30d/0x3e8,_0x5cb827['frameNum']=this['frameNum'],_0x5cb827['bitrate']=0x0,_0x5cb827['globalTime']={},'key'==_0x468177['type']){var _0x2d0d1b=this['encodeFrameGlobalTime']['shift']();'year'in _0x2d0d1b?(_0x5cb827['globalTime']['year']=_0x2d0d1b['year'],_0x5cb827['globalTime']['month']=_0x2d0d1b['month'],_0x5cb827['globalTime']['day']=_0x2d0d1b['day'],_0x5cb827['globalTime']['hour']=_0x2d0d1b['hour'],_0x5cb827['globalTime']['minute']=_0x2d0d1b['minute'],_0x5cb827['globalTime']['second']=_0x2d0d1b['second'],_0x5cb827['globalTime']['milliseconds']=_0x2d0d1b['milliseconds']):(_0x5cb827['globalTime']['year']=0x7e8,_0x5cb827['globalTime']['month']=0x0,_0x5cb827['globalTime']['day']=0x0,_0x5cb827['globalTime']['hour']=0x0,_0x5cb827['globalTime']['minute']=0x0,_0x5cb827['globalTime']['second']=0x0,_0x5cb827['globalTime']['milliseconds']=0x0);}var _0x47735e=null,_0x3c07dc=new Uint8Array(0x4);_0x3c07dc[0x0]=0x0,_0x3c07dc[0x1]=0x0,_0x3c07dc[0x2]=0x0,_0x3c07dc[0x3]=0x1;var _0x4f92e6=null,_0x34d165=0x0,_0x23ff36=null,_0x1a0bd0=0x0,_0x3a888e=null,_0x37d884=null,_0x323a51=0x0,_0x3b8d7a=0x0,_0x196b0f=0x0;if('key'==_0x468177['type']){if('decoderConfig'in _0x3e25cc&&'description'in _0x3e25cc['decoderConfig']&&(_0x37d884=new Uint8Array(_0x3e25cc['decoderConfig']['description'])),0x2==this['userAgent']){for(null!=_0x37d884&&(_0x34d165=0x100*(_0x4f92e6=_0x37d884['slice'](0x6,_0x37d884['length']))[0x0]+_0x4f92e6[0x1],_0x23ff36=_0x4f92e6['slice'](0x2,0x2+_0x34d165),_0x1a0bd0=0x100*_0x4f92e6[0x3+_0x34d165]+_0x4f92e6[0x4+_0x34d165],_0x3a888e=_0x4f92e6['slice'](0x5+_0x34d165,0x5+_0x34d165+_0x1a0bd0),_0x34d165+=0x4,_0x1a0bd0+=0x4);_0x3b8d7a<_0x5695a0['length'];)_0x196b0f=0x100*_0x5695a0[_0x3b8d7a]*0x100*0x100+0x100*_0x5695a0[_0x3b8d7a+0x1]*0x100+0x100*_0x5695a0[_0x3b8d7a+0x2]+_0x5695a0[_0x3b8d7a+0x3],_0x5695a0[_0x3b8d7a]=0x0,_0x5695a0[_0x3b8d7a+0x1]=0x0,_0x5695a0[_0x3b8d7a+0x2]=0x0,_0x5695a0[_0x3b8d7a+0x3]=0x1,_0x3b8d7a=_0x3b8d7a+0x4+_0x196b0f;_0x323a51=_0x34d165+_0x1a0bd0+_0x5695a0['length'],_0x47735e=new Uint8Array(_0x323a51);var _0x779b1f=0x0;null!=_0x23ff36&&(_0x47735e['set'](_0x3c07dc,0x0),_0x47735e['set'](_0x23ff36,_0x3c07dc['length']),_0x779b1f=_0x3c07dc['length']+_0x23ff36['length']),null!=_0x3a888e&&(_0x47735e['set'](_0x3c07dc,_0x779b1f),_0x47735e['set'](_0x3a888e,_0x779b1f+_0x3c07dc['length']),_0x779b1f=_0x3c07dc['length']+_0x23ff36['length']+_0x3c07dc['length']+_0x3a888e['length']),_0x47735e['set'](_0x5695a0,_0x779b1f),_0x5cb827['rawData']=_0x47735e;}else{for(var _0x2610c2=_0x5695a0['slice'](0x6,_0x5695a0['length']),_0x1bd71e=0x0;_0x1bd71e<_0x2610c2['length']&&(0x0!=_0x2610c2[_0x1bd71e]||0x0!=_0x2610c2[_0x1bd71e+0x1]||0x1!=_0x2610c2[_0x1bd71e+0x2]||0x6e!=_0x2610c2[_0x1bd71e+0x3]);_0x1bd71e++);_0x4f92e6=_0x2610c2['slice'](0x0,_0x1bd71e);for(var _0x4e4ba0=_0x2610c2['slice'](_0x1bd71e,_0x2610c2['length']),_0x4fd81a=0x0;_0x4fd81a<_0x4e4ba0['length']&&(0x0!=_0x4e4ba0[_0x4fd81a]||0x0!=_0x4e4ba0[_0x4fd81a+0x1]||0x1!=_0x4e4ba0[_0x4fd81a+0x2]||0x65!=_0x4e4ba0[_0x4fd81a+0x3]);_0x4fd81a++);var _0x3c558c=_0x4e4ba0['slice'](_0x4fd81a-0x1,_0x4e4ba0['length']);_0x3c558c[0x0]=0x0,_0x323a51=_0x4f92e6['length']+_0x3c558c['length'],(_0x47735e=new Uint8Array(_0x323a51))['set'](_0x4f92e6,0x0),_0x47735e['set'](_0x3c558c,_0x4f92e6['length']),_0x2610c2=null,_0x4e4ba0=null,_0x3c558c=null;}_0x5cb827['rawData']=_0x47735e,this['player']?this['rawDataCB']&&this['rawDataCB'](_0x5cb827):postMessage({'function':'VideoRecoderInfo','videoInfo':_0x5cb827},[_0x5cb827['rawData']['buffer']]);}else{if(0x2==this['userAgent']){for(;_0x3b8d7a<_0x5695a0['length'];)_0x196b0f=0x100*_0x5695a0[_0x3b8d7a]*0x100*0x100+0x100*_0x5695a0[_0x3b8d7a+0x1]*0x100+0x100*_0x5695a0[_0x3b8d7a+0x2]+_0x5695a0[_0x3b8d7a+0x3],_0x5695a0[_0x3b8d7a]=0x0,_0x5695a0[_0x3b8d7a+0x1]=0x0,_0x5695a0[_0x3b8d7a+0x2]=0x0,_0x5695a0[_0x3b8d7a+0x3]=0x1,_0x3b8d7a=_0x3b8d7a+0x4+_0x196b0f;_0x5cb827['rawData']=_0x5695a0;}else _0x5cb827['rawData']=_0x5695a0;this['player']?this['rawDataCB']&&this['rawDataCB'](_0x5cb827):postMessage({'function':'VideoRecoderInfo','videoInfo':_0x5cb827},[_0x5cb827['rawData']['buffer']]);}_0x5695a0=null,_0x47735e=null,_0x3c07dc=null,_0x4f92e6=null,_0x23ff36=null,_0x3a888e=null,_0x37d884=null,this['frameNum']++;}}}},{'key':'_downloadFile','value':function(_0x4a312e,_0x5112d4){var _0x369142=_0x4a312e;_0x4a312e instanceof Blob||_0x4a312e instanceof File||(_0x369142=new Blob([_0x4a312e]));var _0xb6cb63=window['URL']['createObjectURL'](_0x369142),_0x4a4742=window['document']['createElement']('a');_0x4a4742['href']=_0xb6cb63,_0x4a4742['download']=_0x5112d4;var _0x18de62=document['createEvent']('MouseEvents');_0x18de62['initEvent']('click',!0x0,!0x0),_0x4a4742['dispatchEvent'](_0x18de62);}},{'key':'downloadData','value':function(_0x5c0eae){if(this['bWriteData']){for(var _0x44f640=_0x5c0eae,_0x28671a=this['aTotalBuffer']['length'],_0x201f7c=0x0,_0x560d75=_0x44f640['length'];_0x201f7c<_0x560d75;_0x201f7c++)this['aTotalBuffer'][_0x28671a+_0x201f7c]=_0x44f640[_0x201f7c];this['iFrameNum']++,_0x44f640=null,console['log']('downloadEncodedata\\x20iFrameNum:'+this['iFrameNum']);}if(this['bWriteData']&&(this['iFrameNum']>=0x258||this['stopEncodflag'])){console['log']('download600encodeData');var _0x1ba3a5=new Uint8Array(this['aTotalBuffer']);this['_downloadFile'](_0x1ba3a5,'Encode600.data'),this['aTotalBuffer']['splice'](0x0,this['aTotalBuffer']['length']),this['bWriteData']=!0x1,this['iFrameNum']=0x0,_0x1ba3a5=null;}}},{'key':'stopEncode','value':function(){if(this['EncoderCurStatus']=0x4,this['frameCounter']=0x0,this['frameNum']=0x0,this['stopEncodflag']=!0x0,this['destroyEncoder'](),this['bWriteData']&&this['stopEncodflag']){console['log']('download600encodeData');var _0x161246=new Uint8Array(this['aTotalBuffer']);this['_downloadFile'](_0x161246,'Encode600.data'),this['aTotalBuffer']['splice'](0x0,this['aTotalBuffer']['length']),this['bWriteData']=!0x1,this['iFrameNum']=0x0,_0x161246=null;}}},{'key':'reportError','value':function(_0x383fdc){console['log']('hardEncode\\x20reportError:'+_0x383fdc['message']+',state:'+this['EncoderObj']['state']+',frameRate:'+this['frameRate']);}},{'key':'destroyEncoder','value':function(){var _0x1bf844=this;return new Promise(function(_0x9014d0,_0x2589ea){_0x1bf844['clearEncoderObjBuffer']()['then'](function(){null!=_0x1bf844['EncoderObj']&&('closed'!=_0x1bf844['EncoderObj']['state']&&_0x1bf844['EncoderObj']['close'](),console['log']('>>>JS\\x2011\\x20destroy\\x20VideoEncoderObj'),_0x1bf844['EncoderObj']=null),_0x1bf844['EncoderCurStatus']=0x4,_0x1bf844['FirstFrame']=!0x0,_0x9014d0();},function(){_0x2589ea();});});}},{'key':'resetEncoder','value':function(){var _0x9556c=this;return new Promise(function(_0x4d0ac0,_0x4426b9){_0x9556c['destroyEncoder']()['then'](function(){var _0x4a9c83={'encodeWidth':_0x9556c['encodeWidth'],'encodeHeight':_0x9556c['encodeHeight'],'bitrate':_0x9556c['bitrate'],'frameRate':_0x9556c['frameRate'],'bitrateMode':_0x9556c['bitrateMode'],'latencyMode':_0x9556c['latencyMode']};_0x9556c['initEncoder'](_0x9556c['codecString'],_0x4a9c83,_0x9556c['rawDataCB']),console['log']('%c\\x20reset\\x20hard\\x20Encoder','color:red'),_0x4d0ac0();},function(){_0x4426b9();});});}},{'key':'clearEncoderObjBuffer','value':function(){var _0x43e84e=this;return new Promise(function(_0x93e164,_0x2834b6){null!=_0x43e84e['EncoderObj']&&'configured'==_0x43e84e['EncoderObj']['state']&&_0x43e84e['EncoderObj']['reset'](),_0x93e164();});}}]),_0xe61299;}()),_0x566a63=(function(){function _0x424de8(_0x1095c3,_0x1ad59a){_0x1d88b2(this,_0x424de8),this['AudioEncoderObj']=null,this['FirstFrame']=!0x0,this['EncoderCurStatus']=0x2,this['stopEncodflag']=!0x1,this['aTimeStamp']=0x0,this['oPlayCtrlHandle']=null,null!=_0x1095c3&&(this['oPlayCtrlHandle']=_0x1095c3),this['player']=null,null!=_0x1ad59a&&(this['player']=_0x1ad59a),this['output']=this['output']['bind'](this),this['reportError']=this['reportError']['bind'](this);}var _0xe9fe78;return _0x4e686c(_0x424de8,[{'key':'initEncoder','value':(_0xe9fe78=_0x465afd(_0x171d88()['mark'](function _0x57c544(_0x5ab25f,_0x3401c0,_0x220d3d){var _0x592688,_0x417520;return _0x171d88()['wrap'](function(_0x5f0fe4){for(;;)switch(_0x5f0fe4['prev']=_0x5f0fe4['next']){case 0x0:this['codecString']=_0x5ab25f,this['sampleRate']=_0x3401c0['sampleRate'],this['numberOfChannels']=_0x3401c0['numberOfChannels'],this['bitrate']=_0x3401c0['bitrate'],this['AudioDataCB']=_0x220d3d,this['FirstFrame']=!0x0,this['EncoderCurStatus']=0x2,this['stopEncodflag']=!0x1,this['aTimeStamp']=0x0,null==this['AudioEncoderObj']&&(_0x592688={'output':this['output'],'error':this['reportError']},this['AudioEncoderObj']=new AudioEncoder(_0x592688)),this['format']='adts',_0x417520={'codec':_0x5ab25f,'sampleRate':this['sampleRate'],'numberOfChannels':this['numberOfChannels'],'bitrate':this['bitrate'],'aac':{'format':this['format']}},console['log']('2audioEncode\\x20config\\x20sampleRate:'+this['sampleRate']+',numberOfChannels:'+this['numberOfChannels']+',bitrate:'+this['bitrate']),this['AudioEncoderObj']['configure'](_0x417520);case 0xe:case'end':return _0x5f0fe4['stop']();}},_0x57c544,this);})),function(_0x5c4c63,_0x5f4cb5,_0x4b23f1){return _0xe9fe78['apply'](this,arguments);})},{'key':'inputData','value':function(_0x381b64){null!=this['AudioEncoderObj']&&('configured'==this['AudioEncoderObj']['state']||this['FirstFrame'])&&this['EncodeProcess'](_0x381b64),this['FirstFrame']&&(0x1==this['oPlayCtrlHandle']['recoderBaseTimestampMode']?this['audioBaseTimeStamp']=_0x381b64['timestamp']:0x0==this['oPlayCtrlHandle']['recoderBaseTimestampMode']&&(this['audioBaseTimeStamp']=0x0),this['FirstFrame']=!0x1);}},{'key':'EncodeProcess','value':function(_0x139a9a){0x4!=this['EncoderCurStatus']&&null!=this['AudioEncoderObj']&&'configured'==this['AudioEncoderObj']['state']&&this['AudioEncoderObj']['encode'](_0x139a9a);}},{'key':'output','value':function(_0x4b982f,_0x41cd9d){if('configured'==this['AudioEncoderObj']['state']){_0x4b982f['type'],_0x4b982f['timestamp'],_0x4b982f['byteLength'];if(!this['stopEncodflag']){this['aTimeStamp']+=_0x4b982f['duration']/0x3e8;var _0x1c787f={'dataType':0x2,'width':0x1,'height':0x10,'frameRate':0xbb80};_0x1c787f['timeStamp']=this['aTimeStamp']+this['audioBaseTimeStamp'],_0x1c787f['frameNum']=0x0,_0x1c787f['bitrate']=0x1f400,_0x1c787f['globalTime']={};var _0x12fe8b=new Uint8Array(_0x4b982f['byteLength']);_0x4b982f['copyTo'](_0x12fe8b),_0x1c787f['rawData']=_0x12fe8b,this['player']?null!=this['AudioDataCB']&&this['AudioDataCB'](_0x1c787f):postMessage({'function':'AudioRecoderInfo','audioInfo':_0x1c787f},[_0x1c787f['rawData']['buffer']]),_0x12fe8b=null;}}}},{'key':'stopEncode','value':function(){this['stopEncodflag']=!0x0,this['destroyEncoder']();}},{'key':'reportError','value':function(_0x4bacd0){console['log']('hardEncode\\x20reportError:'+_0x4bacd0['message']+',state:'+this['AudioEncoderObj']['state']);}},{'key':'destroyEncoder','value':function(){var _0x279dba=this;return new Promise(function(_0x32be85,_0x2c066b){_0x279dba['clearEncoderObjBuffer']()['then'](function(){null!=_0x279dba['AudioEncoderObj']&&('closed'!=_0x279dba['AudioEncoderObj']['state']&&_0x279dba['AudioEncoderObj']['close'](),console['log']('>>>JS\\x2012\\x20destroy\\x20AudioEncoderObj'),_0x279dba['AudioEncoderObj']=null),_0x279dba['EncoderCurStatus']=0x4,_0x279dba['FirstFrame']=!0x0,_0x32be85();},function(){_0x2c066b();});});}},{'key':'resetEncoder','value':function(){var _0x430fe5=this;return new Promise(function(_0x259685,_0x32ff36){_0x430fe5['destroyEncoder']()['then'](function(){var _0x23e7f1={'sampleRate':_0x430fe5['sampleRate'],'numberOfChannels':_0x430fe5['numberOfChannels'],'bitrate':_0x430fe5['bitrate']};_0x430fe5['initEncoder'](_0x430fe5['codecString'],_0x23e7f1,_0x430fe5['AudioDataCB']),console['log']('%c\\x20reset\\x20hard\\x20Encoder','color:red'),_0x259685();},function(){_0x32ff36();});});}},{'key':'clearEncoderObjBuffer','value':function(){var _0x48aebd=this;return new Promise(function(_0x5e119a,_0x3e601e){null!=_0x48aebd['AudioEncoderObj']&&'configured'==_0x48aebd['AudioEncoderObj']['state']&&_0x48aebd['AudioEncoderObj']['reset'](),_0x5e119a();});}}]),_0x424de8;}());function _0x5e0274(_0xdd7376,_0x4cea47){var _0x16e0a2='undefined'!=typeof Symbol&&_0xdd7376[Symbol['iterator']]||_0xdd7376['@@iterator'];if(!_0x16e0a2){if(Array['isArray'](_0xdd7376)||(_0x16e0a2=function(_0x48b6a6,_0x565c52){if(!_0x48b6a6)return;if('string'==typeof _0x48b6a6)return _0x1babdd(_0x48b6a6,_0x565c52);var _0x3584b2=Object['prototype']['toString']['call'](_0x48b6a6)['slice'](0x8,-0x1);'Object'===_0x3584b2&&_0x48b6a6['constructor']&&(_0x3584b2=_0x48b6a6['constructor']['name']);if('Map'===_0x3584b2||'Set'===_0x3584b2)return Array['from'](_0x48b6a6);if('Arguments'===_0x3584b2||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x3584b2))return _0x1babdd(_0x48b6a6,_0x565c52);}(_0xdd7376))||_0x4cea47&&_0xdd7376&&'number'==typeof _0xdd7376['length']){_0x16e0a2&&(_0xdd7376=_0x16e0a2);var _0x496de5=0x0,_0x4abe58=function(){};return{'s':_0x4abe58,'n':function(){return _0x496de5>=_0xdd7376['length']?{'done':!0x0}:{'done':!0x1,'value':_0xdd7376[_0x496de5++]};},'e':function(_0x3ad157){throw _0x3ad157;},'f':_0x4abe58};}throw new TypeError('Invalid\\x20attempt\\x20to\\x20iterate\\x20non-iterable\\x20instance.\\x0aIn\\x20order\\x20to\\x20be\\x20iterable,\\x20non-array\\x20objects\\x20must\\x20have\\x20a\\x20[Symbol.iterator]()\\x20method.');}var _0x4e6716,_0x5ff8a5=!0x0,_0x5ad8cd=!0x1;return{'s':function(){_0x16e0a2=_0x16e0a2['call'](_0xdd7376);},'n':function(){var _0x3c7f3f=_0x16e0a2['next']();return _0x5ff8a5=_0x3c7f3f['done'],_0x3c7f3f;},'e':function(_0x571b56){_0x5ad8cd=!0x0,_0x4e6716=_0x571b56;},'f':function(){try{_0x5ff8a5||null==_0x16e0a2['return']||_0x16e0a2['return']();}finally{if(_0x5ad8cd)throw _0x4e6716;}}};}function _0x1babdd(_0x6f21a6,_0x45ec4c){(null==_0x45ec4c||_0x45ec4c>_0x6f21a6['length'])&&(_0x45ec4c=_0x6f21a6['length']);for(var _0x39e1f8=0x0,_0x4763b3=new Array(_0x45ec4c);_0x39e1f8<_0x45ec4c;_0x39e1f8++)_0x4763b3[_0x39e1f8]=_0x6f21a6[_0x39e1f8];return _0x4763b3;}var _0x2b52fd=(function(){function _0x14d12f(){var _0x5e0bb4=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:null;_0x1d88b2(this,_0x14d12f),this['canvas']=null,this['streamOpenMode']=0x0,this['context']=null,this['oVideoDecoder']=null,this['frameBuffers']=[],this['initTimer']=!0x1,this['preTimeStamp']=0x0,this['baseTimeStamp']=0x0,this['resetTimer']=!0x0,this['RenderFrame']=this['RenderFrame']['bind'](this),this['renderCurStatus']=0x2,this['renderLastStatus']=0x2,this['playSpeed']=0x1,this['nplaySpeed']=0x1,this['displayBuf']=0xe,this['needForward']=!0x1,this['firstFrame']=!0x0,this['LatcyTime']=0x32,this['nFrameRate']=0x0,this['needSaveFrameInfo']=!0x1,this['displayFrameInfoCB']=null,this['displayFrameInfo']=[],this['curFrameInfo']={},this['curFrameInfo']['timeStamp']=0x0,this['bResetdisplayFrameInfoCB']=!0x0,this['sx']=0x0,this['sy']=0x0,this['sw']=0x0,this['sh']=0x0,this['displayRunning']=!0x1,this['oRenderTimer']=null,this['waitIFrameTimestamp']=0x0,this['curFrame']=null,this['player']=null,null!=_0x5e0bb4&&(this['player']=_0x5e0bb4),this['renderEngine']='webgl',this['oVideoRender']=null,this['FECCanvasID']='',this['oVideoRender']=new _0x3651d0(this),this['bSetStreamEnd']=!0x1,this['printfFlag']=0x0,this['oVideoEncoder']=null,this['oAudioEncoder']=null,this['startRecoderFlag']=!0x1,this['stopRecoderFlag']=!0x1,this['recoderFrameNum']=0x0,this['vBaseTimeStamp']=0x0,this['encodeVideoInfo']={'encodeVideoType':'avc','encodeWidth':0x500,'encodeHeight':0x2d0,'bitrate':0xf4240,'frameRate':0x19,'bitrateMode':0x0,'latencyMode':0x0},this['encodeAudioInfo']={'encodeAudioType':'aac','sampleRate':0xbb80,'numberOfChannels':0x1,'bitrate':0x1f400},this['recoderBaseTimestampMode']=0x0,this['recoderGetOriginData']=0x0,this['nstreamEndloopNum']=0x0,this['runtimeCBFun']=null,this['nTargetRelativePos']=0x0,this['ProcessPositionflag']=!0x1,this['nMPPlayMode']=0x0,this['nMPPosType']=0x0,this['VideoPrivateInfoMap']=new Map(),this['curPrivateInfo']={},this['curPrivateInfo']['linesInfo']=[],this['curPrivateInfo']['fontInfo']=[],this['curPrivateInfo']['imageInfo']=[],this['StretchPlayTime']=0x0,this['StretchPlayedTime']=0x0,this['StretchPlaySpeed']=0x1,this['StretchPlayFlag']=!0x1,this['Prevideowidth']=0x0,this['Prevideoheight']=0x0,this['PrecodecType']=0x0,this['PlayOrBackMode']=0x1,this['pstRuntimeInfo']={'nRunTimeModule':0x0,'nStrVersion':0x0,'nFrameTimeStamp':0x0,'nFrameNum':0x0,'nErrorCode':0x0,'nInputDataInterval':0x0,'nFrameNumInterval':0x0,'nAverageDecodeTime':0x0,'nSystemFormat':0x0,'nDetectRes':0x0,'nMp4FileTime':0x0,'nMp4TotalFrameNum':0x0,'AbsTimeYear':0x0,'AbsTimeMonth':0x0,'AbsTimeDay':0x0,'AbsTimeHour':0x0,'AbsTimeMinute':0x0,'AbsTimeSecond':0x0,'AbsTimeMilliseconds':0x0},this['firstRenderBegin']=!0x0,this['DecodeTypeFlagMap']=new Map(),this['RenderTypeFlagMap']=new Map();}var _0x2efc64,_0x284eed;return _0x4e686c(_0x14d12f,[{'key':'init','value':function(_0x2ab0d4,_0x11cb25,_0x30af22,_0x250920,_0x444528){if(this['canvas']=_0x2ab0d4,this['streamOpenMode']=_0x11cb25,this['renderEngine']=_0x250920,this['printfFlag']=_0x444528,this['SetCurStatus'](0x2),null==this['oVideoDecoder']&&(this['oVideoDecoder']=new _0xd61466(_0x30af22,this,this['player'],this['canvas']),null!==this['oVideoDecoder']&&this['oVideoDecoder']['initDecoder'](),null!=this['runtimeCBFun']&&this['oVideoDecoder']['SetRunTimeInfoCallBackFun'](0x2,this['runtimeCBFun']),this['DecodeTypeFlagMap']['size']>0x0)){var _0x118d1e,_0x1cb2a6=_0x5e0274(this['DecodeTypeFlagMap']['keys']());try{for(_0x1cb2a6['s']();!(_0x118d1e=_0x1cb2a6['n']())['done'];){var _0x590187=_0x118d1e['value'],_0x7a5407=this['DecodeTypeFlagMap']['get'](_0x590187);0x1==_0x7a5407&&this['oVideoDecoder']['SetRunTimeInfoCallbackType'](0x2,_0x590187,_0x7a5407);}}catch(_0x4f7c8f){_0x1cb2a6['e'](_0x4f7c8f);}finally{_0x1cb2a6['f']();}}''!=this['canvas']&&null!=this['canvas']&&(this['frameBuffers']=this['oVideoDecoder']['ready_frames'],null!=this['oVideoRender']&&this['oVideoRender']['InitDisplay'](this['canvas'],this['renderEngine'],0x100),null==this['oRenderTimer']&&(this['oRenderTimer']=new _0x5bde94()));}},{'key':'HardDecodeError','value':function(){return this['player']['_switchHardToSoft'](),0x1;}},{'key':'inputData','value':function(_0x32dbcc,_0x33481c){if(this['curPrivateInfo']['linesInfo']['length']>0x0||this['curPrivateInfo']['fontInfo']['length']>0x0||this['curPrivateInfo']['imageInfo']['length']>0x0){var _0x33a69f=this['deepClone'](this['curPrivateInfo']);this['VideoPrivateInfoMap']['set'](_0x33481c['timeStamp'],_0x33a69f),this['curPrivateInfo']['linesInfo']['splice'](0x0,this['curPrivateInfo']['linesInfo']['length']),this['curPrivateInfo']['fontInfo']['splice'](0x0,this['curPrivateInfo']['fontInfo']['length']),this['curPrivateInfo']['imageInfo']['splice'](0x0,this['curPrivateInfo']['imageInfo']['length']);}if(0x0!=this['PrecodecType']&&this['PrecodecType']!=_0x33481c['codecType']&&(this['firstFrame']=!0x0,this['oVideoDecoder']['resetDecoderObj']()),this['needSaveFrameInfo']){var _0x51845f=new Object();_0x51845f['port']=_0x33481c['port'],_0x51845f['codecType']=_0x33481c['codecType'],_0x51845f['frameType']=_0x33481c['frameType'],_0x51845f['frameSize']=_0x33481c['frameSize'],_0x51845f['width']=_0x33481c['width'],_0x51845f['height']=_0x33481c['height'],_0x51845f['timeStamp']=_0x33481c['timeStamp'],_0x51845f['frameRate']=_0x33481c['frameRate'],_0x51845f['frameNum']=_0x33481c['frameNum'],_0x51845f['interlace']=_0x33481c['interlace'],_0x51845f['streamEnd']=_0x33481c['streamEnd'],_0x51845f['cropLeft']=_0x33481c['cropLeft'],_0x51845f['cropRight']=_0x33481c['cropRight'],_0x51845f['cropTop']=_0x33481c['cropTop'],_0x51845f['cropBottom']=_0x33481c['cropBottom'],_0x51845f['year']=_0x33481c['year'],_0x51845f['month']=_0x33481c['month'],_0x51845f['week']=_0x33481c['week'],_0x51845f['day']=_0x33481c['day'],_0x51845f['hour']=_0x33481c['hour'],_0x51845f['minute']=_0x33481c['minute'],_0x51845f['second']=_0x33481c['second'],_0x51845f['milliseconds']=_0x33481c['milliseconds'],_0x51845f['isKeyFrame']=_0x33481c['isKeyFrame'],this['nFrameRate']=_0x51845f['frameRate'],this['Prevideowidth']=_0x33481c['width'],this['Prevideoheight']=_0x33481c['height'],this['PrecodecType']=_0x33481c['codecType'],this['displayFrameInfo']['push'](_0x51845f),_0x51845f=null;}else this['displayFrameInfo']['splice'](0x0,this['displayFrameInfo']['length']);null!=this['oVideoDecoder']&&this['oVideoDecoder']['inputData'](_0x32dbcc,_0x33481c);}},{'key':'_resetDecoder','value':function(){var _0x5df498=this;return new Promise(function(_0x152715,_0x317654){_0x5df498['oVideoDecoder']['resetDecoder']()['then'](function(){_0x5df498['displayFrameInfo']['splice'](0x0,_0x5df498['displayFrameInfo']['length']),_0x5df498['curFrameInfo']={},_0x5df498['oVideoRender']['DeInitPrivateParam'](),_0x5df498['VideoPrivateInfoMap']['clear'](),_0x5df498['curPrivateInfo']['linesInfo']['splice'](0x0,_0x5df498['curPrivateInfo']['linesInfo']['length']),_0x5df498['curPrivateInfo']['fontInfo']['splice'](0x0,_0x5df498['curPrivateInfo']['fontInfo']['length']),_0x5df498['curPrivateInfo']['imageInfo']['splice'](0x0,_0x5df498['curPrivateInfo']['imageInfo']['length']),_0x5df498['renderCurStatus']=0x2,_0x5df498['renderLastStatus']=0x2,_0x5df498['player']?_0x5df498['player']['JSPlayM4_ResetEnd']():postMessage({'function':'resetEnd'}),_0x152715();},function(){_0x317654();});});}},{'key':'_resetRenderTimer','value':function(){this['initTimer']=!0x1,this['preTimeStamp']=0x0,this['baseTimeStamp']=0x0,this['resetTimer']=!0x0,null!=this['oRenderTimer']&&this['oRenderTimer']['timerReset'](),this['RenderFrame']=this['RenderFrame']['bind'](this),this['renderCurStatus']=0x2,this['renderLastStatus']=0x2,this['curTimeStamp']=0x0,this['getImageJPEG']=!0x1,this['getImageBMP']=!0x1,this['getCropImageJPEG']=!0x1,this['getCropImageBMP']=!0x1,0x1==this['bResetdisplayFrameInfoCB']&&(this['displayFrameInfoCB']=null),this['displayFrameInfo']['splice'](0x0,this['displayFrameInfo']['length']),this['VideoPrivateInfoMap']['clear'](),this['curPrivateInfo']['linesInfo']['splice'](0x0,this['curPrivateInfo']['linesInfo']['length']),this['curPrivateInfo']['fontInfo']['splice'](0x0,this['curPrivateInfo']['fontInfo']['length']),this['curPrivateInfo']['imageInfo']['splice'](0x0,this['curPrivateInfo']['imageInfo']['length']),this['curFrameInfo']={},this['DecodeTypeFlagMap']['clear'](),this['RenderTypeFlagMap']['clear']();}},{'key':'_destroyPlayCtrl','value':function(){var _0x62ee48=this;this['oVideoDecoder']['destroyDecoder']()['then'](function(){_0x62ee48['oVideoDecoder']=null,null!=_0x62ee48['oVideoRender']&&(_0x62ee48['oVideoRender']['ReleaseDisplay'](),_0x62ee48['oVideoRender']=null),_0x62ee48['_resetRenderTimer'](),_0x62ee48['oRenderTimer']=null,_0x62ee48['displayRunning']=!0x1,_0x62ee48['runtimeCBFun']=null,_0x62ee48['printfFlag']>=0x0&&console['log']('>>>JS\\x2002\\x20destroy\\x20oVideoDecoder/oVideoRender'),null!=_0x62ee48['oVideoEncoder']&&(_0x62ee48['oVideoEncoder']['destroyEncoder'](),_0x62ee48['oVideoEncoder']=null),null!=_0x62ee48['oAudioEncoder']&&(_0x62ee48['oAudioEncoder']['destroyEncoder'](),_0x62ee48['oAudioEncoder']=null);},function(){_0x62ee48['printfFlag']>=0x0&&console['log']('stop\\x20failed\\x20');});}},{'key':'Sleep','value':(_0x284eed=_0x465afd(_0x171d88()['mark'](function _0x24748d(_0x258431){var _0xc93da9;return _0x171d88()['wrap'](function(_0x3bdd2f){for(;;)switch(_0x3bdd2f['prev']=_0x3bdd2f['next']){case 0x0:return _0xc93da9=(_0xc93da9=_0x258431>0xea60?0xea60:_0x258431)<0x0?0x0:_0xc93da9,_0x3bdd2f['abrupt']('return',new Promise(function(_0x1a0447){setTimeout(_0x1a0447,_0xc93da9);}));case 0x3:case'end':return _0x3bdd2f['stop']();}},_0x24748d);})),function(_0x63203e){return _0x284eed['apply'](this,arguments);})},{'key':'RenderFrame','value':(_0x2efc64=_0x465afd(_0x171d88()['mark'](function _0x376dea(){var _0x4de556,_0xe669f4=this;return _0x171d88()['wrap'](function(_0x346edc){for(;;)switch(_0x346edc['prev']=_0x346edc['next']){case 0x0:_0x4de556=this['renderCurStatus'],null!=this['oVideoDecoder']&&null!=this['oVideoDecoder']['decoderObj']&&(this['player']?this['player']['JSPlayM4_GetDecodeBufferSize'](this['oVideoDecoder']['decoderObj']['decodeQueueSize'],this['oVideoDecoder']['ready_frames']['length']):postMessage({'function':'GetDecodeBufferSize','rawSize':this['oVideoDecoder']['decoderObj']['decodeQueueSize'],'frameSize':this['oVideoDecoder']['ready_frames']['length']}),this['oVideoDecoder']['decoderObj']['decodeQueueSize']<=0x3&&this['oVideoDecoder']['ready_frames']['length']<=0x3&&(this['player']?this['player']['JSPlayM4_GetRawData']():postMessage({'function':'GetRawData'})),this['printfFlag']>0x0&&console['log']('VideoPlayCtrl.js\\x20output1\\x20cb\\x20decodeQueueSize:'+this['oVideoDecoder']['decoderObj']['decodeQueueSize']+',length:'+this['oVideoDecoder']['ready_frames']['length'])),_0x346edc['t0']=_0x4de556,_0x346edc['next']=0x0===_0x346edc['t0']?0x5:0x2===_0x346edc['t0']||0x6===_0x346edc['t0']?0x8:0x3===_0x346edc['t0']?0xa:0x5===_0x346edc['t0']?0xd:0x4===_0x346edc['t0']?0xf:0x11;break;case 0x5:return this['_resetRenderTimer'](),this['_resetDecoder']()['then'](function(){requestAnimationFrame(_0xe669f4['RenderFrame']);},function(){}),_0x346edc['abrupt']('break',0x12);case 0x8:return this['displayRunning']?(this['printfFlag']>0x0&&console['log']('displayBuf:'+this['displayBuf']+',this.streamOpenMode:'+this['streamOpenMode']+',LatcyTime:'+this['LatcyTime']),this['chooseFrame']()['then'](function(_0x553062){if(_0xe669f4['curFrame']=_0x553062,0x1==_0xe669f4['ProcessPositionflag']){if(null!=_0xe669f4['curFrame']){new Object();var _0x31ffe5=0x0;if(0x1==_0xe669f4['nMPPosType']&&(_0x31ffe5=_0xe669f4['findFramebyTime'](_0xe669f4['curFrame']['timestamp'],0x0)['frameNum']),0x0==_0xe669f4['nMPPosType']&&_0xe669f4['curFrame']['timestamp']<_0xe669f4['nTargetRelativePos']||0x1==_0xe669f4['nMPPosType']&&_0x31ffe5<_0xe669f4['nTargetRelativePos'])requestAnimationFrame(_0xe669f4['RenderFrame']);else{if(_0xe669f4['ProcessPositionflag']=!0x1,_0xe669f4['player']['needPlaySound']&&_0xe669f4['player']['JSPlayM4_PlaySound'](),_0xe669f4['paint'](_0xe669f4['curFrame']),_0xe669f4['curTimeStamp']=_0xe669f4['curFrame']['timestamp'],null!=_0xe669f4['player']){var _0x4690af={'nRes':0x1};_0x4690af['nRelativePos']=_0xe669f4['nTargetRelativePos'],null!=_0xe669f4['player']['SetPlayPosCBFun']?_0xe669f4['player']['SetPlayPosCBFun'](_0x4690af):postMessage({'function':'SetPlayPosCB','value':_0xe669f4['nTargetRelativePos']});}0x1==_0xe669f4['nMPPlayMode']&&_0xe669f4['SetCurStatus'](0x3),_0xe669f4['RenderFrame']();}}else requestAnimationFrame(_0xe669f4['RenderFrame']);}else{if(-0x1==_0xe669f4['displayBuf']||0x0==_0xe669f4['streamOpenMode']&&0x0==_0xe669f4['LatcyTime'])null!=_0xe669f4['curFrame']&&(_0xe669f4['curTimeStamp']=_0xe669f4['curFrame']['timestamp'],_0xe669f4['paint'](_0xe669f4['curFrame'])),requestAnimationFrame(_0xe669f4['RenderFrame']);else{if(null!=_0xe669f4['curFrame']){_0xe669f4['initTimer']&&!_0xe669f4['resetTimer']||(_0xe669f4['oRenderTimer']['Init'](),_0xe669f4['initTimer']=!0x0,_0xe669f4['resetTimer']=!0x1,_0xe669f4['preTimeStamp']=_0xe669f4['curFrame']['timestamp'],_0xe669f4['baseTimeStamp']=_0xe669f4['curFrame']['timestamp'],0x1==_0xe669f4['streamOpenMode']&&(_0xe669f4['LatcyTime']=0x0)),_0xe669f4['curTimeStamp']=_0xe669f4['curFrame']['timestamp'];var _0x21f1c0=0x0,_0x2b345c=0x0;0x6==_0x4de556?(_0x21f1c0=_0xe669f4['preTimeStamp']-_0xe669f4['curTimeStamp'],_0x2b345c=_0xe669f4['baseTimeStamp']-_0xe669f4['curTimeStamp']):(_0x21f1c0=_0xe669f4['curTimeStamp']-_0xe669f4['preTimeStamp'],_0x2b345c=_0xe669f4['curTimeStamp']-_0xe669f4['baseTimeStamp']);var _0x1c77bd=_0xe669f4['oRenderTimer']['GetTimerWalk']();(_0x21f1c0>0x1388||_0x21f1c0<0x0||_0x2b345c<0x0||_0x1c77bd<=0x0)&&(_0xe669f4['oRenderTimer']['Init'](),_0xe669f4['preTimeStamp']=_0xe669f4['curFrame']['timestamp'],_0xe669f4['baseTimeStamp']=_0xe669f4['curTimeStamp'],_0x2b345c=0x6==_0x4de556?_0xe669f4['baseTimeStamp']-_0xe669f4['curTimeStamp']:_0xe669f4['curTimeStamp']-_0xe669f4['baseTimeStamp'],_0x1c77bd=_0xe669f4['oRenderTimer']['GetTimerWalk']());var _0x473e8a=0x0;_0x473e8a=_0xe669f4['StretchPlayFlag']?_0xe669f4['StretchPlaySpeed']:_0xe669f4['playSpeed'];var _0x14467b=(_0x2b345c+_0xe669f4['LatcyTime'])/_0x473e8a-_0x1c77bd;_0xe669f4['printfFlag']>0x0&&console['log']('baseTimerWalk:'+_0x1c77bd+',lDeta:'+_0x14467b+',Date\\x20:'+new Date()['getFullYear']()+'/'+(new Date()['getMonth']()+0x1)+'/'+new Date()['getDate']()+'\\x20'+new Date()['getHours']()+'-'+new Date()['getMinutes']()+'-'+new Date()['getSeconds']()+'-'+new Date()['getMilliseconds']()),_0x14467b<0xf&&_0x14467b>-0xf||_0x14467b<0x0?(_0xe669f4['StretchPlayFlag']&&_0xe669f4['VideoStretchProcess'](_0xe669f4['curTimeStamp']),_0xe669f4['paint'](_0xe669f4['curFrame']),_0xe669f4['preTimeStamp']=_0xe669f4['curTimeStamp'],_0xe669f4['RenderFrame']()):_0xe669f4['Sleep'](_0x14467b-0x5)['then'](function(){0x2!=_0xe669f4['renderCurStatus']&&0x6!=_0xe669f4['renderCurStatus']||(_0xe669f4['StretchPlayFlag']&&_0xe669f4['VideoStretchProcess'](_0xe669f4['curTimeStamp']),_0xe669f4['paint'](_0xe669f4['curFrame']),_0xe669f4['preTimeStamp']=_0xe669f4['curTimeStamp']),_0xe669f4['RenderFrame']();});}else requestAnimationFrame(_0xe669f4['RenderFrame']);}}})):requestAnimationFrame(this['RenderFrame']),_0x346edc['abrupt']('break',0x12);case 0xa:return this['_refresh'](),requestAnimationFrame(this['RenderFrame']),_0x346edc['abrupt']('break',0x12);case 0xd:return this['needForward']?this['chooseFrame']()['then'](function(_0x5a9518){_0xe669f4['curFrame']=_0x5a9518,null!=_0xe669f4['curFrame']&&(_0xe669f4['curTimeStamp']=_0xe669f4['curFrame']['timestamp'],_0xe669f4['paint'](_0xe669f4['curFrame']),_0xe669f4['needForward']=!0x1),requestAnimationFrame(_0xe669f4['RenderFrame']);}):(this['_refresh'](),requestAnimationFrame(this['RenderFrame'])),_0x346edc['abrupt']('break',0x12);case 0xf:return this['_destroyPlayCtrl'](),_0x346edc['abrupt']('return');case 0x11:return _0x346edc['abrupt']('return');case 0x12:case'end':return _0x346edc['stop']();}},_0x376dea,this);})),function(){return _0x2efc64['apply'](this,arguments);})},{'key':'paint','value':function(_0x13d343){var _0x27bc5a=this,_0x1614d8=arguments['length']>0x1&&void 0x0!==arguments[0x1]&&arguments[0x1];return new Promise(function(_0x701d04,_0x33b050){if(0x4==_0x27bc5a['renderCurStatus']||null==_0x13d343||null==_0x27bc5a['oVideoRender']||0x1==_0x27bc5a['ProcessPositionflag']||null==_0x13d343['timestamp'])_0x701d04();else{_0x27bc5a['waitIFrameTimestamp']===_0x13d343['timestamp']&&(_0x27bc5a['resetTimer']=!0x0);var _0x2fb524={},_0x5adfd9=null;_0x5adfd9=null!=_0x13d343['image']&&null!=_0x13d343['image']?_0x13d343['image']:_0x13d343,_0x2fb524['nCropLeft']=0x0,_0x2fb524['nCropRight']=0x0,_0x2fb524['nCropTop']=0x0,_0x2fb524['nCropBottom']=0x0,_0x2fb524['nCodeWidth']=_0x13d343['displayWidth'],_0x2fb524['nCodeHeight']=_0x13d343['displayHeight'];var _0x4d245e={'x':0x0,'y':0x0};if(_0x4d245e['width']=_0x13d343['displayWidth'],_0x4d245e['height']=_0x13d343['displayHeight'],_0x27bc5a['RenderTypeFlagMap']['size']>0x0){var _0x325f26,_0x52258=_0x5e0274(_0x27bc5a['RenderTypeFlagMap']['keys']());try{for(_0x52258['s']();!(_0x325f26=_0x52258['n']())['done'];){var _0x1b9aa3=_0x325f26['value'];if(_0x1b9aa3==_0x3c737d){if(0x1==_0x27bc5a['RenderTypeFlagMap']['get'](_0x1b9aa3)&&null!=_0x27bc5a['runtimeCBFun']&&0x1==_0x27bc5a['firstRenderBegin']){if(_0x27bc5a['pstRuntimeInfo']['nRunTimeModule']=0x3,_0x27bc5a['pstRuntimeInfo']['nStrVersion']=0x1,_0x27bc5a['pstRuntimeInfo']['nFrameTimeStamp']=_0x13d343['timestamp'],_0x27bc5a['pstRuntimeInfo']['nFrameNum']=0x0,_0x27bc5a['pstRuntimeInfo']['nErrorCode']=_0x3c737d,_0x27bc5a['pstRuntimeInfo']['nInputDataInterval']=0x0,_0x27bc5a['pstRuntimeInfo']['nFrameNumInterval']=0x0,_0x27bc5a['pstRuntimeInfo']['nAverageDecodeTime']=0x0,0x1==_0x1614d8)_0x27bc5a['pstRuntimeInfo']['AbsTimeYear']=_0x27bc5a['curFrameInfo']['year'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMonth']=_0x27bc5a['curFrameInfo']['month'],_0x27bc5a['pstRuntimeInfo']['AbsTimeDay']=_0x27bc5a['curFrameInfo']['day'],_0x27bc5a['pstRuntimeInfo']['AbsTimeHour']=_0x27bc5a['curFrameInfo']['hour'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMinute']=_0x27bc5a['curFrameInfo']['minute'],_0x27bc5a['pstRuntimeInfo']['AbsTimeSecond']=_0x27bc5a['curFrameInfo']['second'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMilliseconds']=_0x27bc5a['curFrameInfo']['milliseconds'];else{var _0x29f594=new Object();_0x29f594=_0x27bc5a['findFramebyTime'](_0x13d343['timestamp'],0x0),_0x27bc5a['pstRuntimeInfo']['AbsTimeYear']=_0x29f594['year'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMonth']=_0x29f594['month'],_0x27bc5a['pstRuntimeInfo']['AbsTimeDay']=_0x29f594['day'],_0x27bc5a['pstRuntimeInfo']['AbsTimeHour']=_0x29f594['hour'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMinute']=_0x29f594['minute'],_0x27bc5a['pstRuntimeInfo']['AbsTimeSecond']=_0x29f594['second'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMilliseconds']=_0x29f594['milliseconds'];}_0x27bc5a['runtimeCBFun'](_0x27bc5a['pstRuntimeInfo']),_0x27bc5a['firstRenderBegin']=!0x1;}}}}catch(_0x5293df){_0x52258['e'](_0x5293df);}finally{_0x52258['f']();}}_0x27bc5a['oVideoRender']['DisplayFrame'](_0x5adfd9,_0x13d343['displayWidth'],_0x13d343['displayHeight'],_0x13d343['timestamp'],_0x2fb524,null,_0x27bc5a['nFrameRate'],_0x1614d8)['then'](function(_0x65c468){var _0x1f153d=_0x65c468['timestamp'],_0x2b101b=_0x65c468['DrawRet'];if(_0x27bc5a['RenderTypeFlagMap']['size']>0x0&&0x1!=_0x2b101b){var _0x7451a4,_0xab1a35=_0x5e0274(_0x27bc5a['RenderTypeFlagMap']['keys']());try{for(_0xab1a35['s']();!(_0x7451a4=_0xab1a35['n']())['done'];){var _0x4833c7=_0x7451a4['value'];if(0x10==_0x4833c7)0x1==_0x27bc5a['RenderTypeFlagMap']['get'](_0x4833c7)&&null!=_0x27bc5a['runtimeCBFun']&&(_0x27bc5a['pstRuntimeInfo']['nRunTimeModule']=0x3,_0x27bc5a['pstRuntimeInfo']['nStrVersion']=0x1,_0x27bc5a['pstRuntimeInfo']['nFrameTimeStamp']=_0x1f153d,_0x27bc5a['pstRuntimeInfo']['nFrameNum']=0x0,_0x27bc5a['pstRuntimeInfo']['nErrorCode']=0x10,_0x27bc5a['runtimeCBFun'](_0x27bc5a['pstRuntimeInfo']));}}catch(_0x3f6928){_0xab1a35['e'](_0x3f6928);}finally{_0xab1a35['f']();}}if(null!==_0x27bc5a['displayFrameInfoCB']&&_0x27bc5a['respondFrameInfoCB'](_0x1f153d),_0x27bc5a['RenderTypeFlagMap']['size']>0x0){var _0x1070ca,_0x57d61f=_0x5e0274(_0x27bc5a['RenderTypeFlagMap']['keys']());try{for(_0x57d61f['s']();!(_0x1070ca=_0x57d61f['n']())['done'];){var _0x875779=_0x1070ca['value'];if(_0x875779==_0x596305)0x1==_0x27bc5a['RenderTypeFlagMap']['get'](_0x875779)&&null!=_0x27bc5a['runtimeCBFun']&&(_0x27bc5a['pstRuntimeInfo']['nRunTimeModule']=0x3,_0x27bc5a['pstRuntimeInfo']['nStrVersion']=0x1,_0x27bc5a['pstRuntimeInfo']['nFrameTimeStamp']=_0x1f153d,_0x27bc5a['pstRuntimeInfo']['nFrameNum']=0x0,_0x27bc5a['pstRuntimeInfo']['nErrorCode']=_0x596305,_0x27bc5a['pstRuntimeInfo']['nInputDataInterval']=0x0,_0x27bc5a['pstRuntimeInfo']['nFrameNumInterval']=0x0,_0x27bc5a['pstRuntimeInfo']['nAverageDecodeTime']=0x0,_0x27bc5a['pstRuntimeInfo']['AbsTimeYear']=_0x27bc5a['curFrameInfo']['year'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMonth']=_0x27bc5a['curFrameInfo']['month'],_0x27bc5a['pstRuntimeInfo']['AbsTimeDay']=_0x27bc5a['curFrameInfo']['day'],_0x27bc5a['pstRuntimeInfo']['AbsTimeHour']=_0x27bc5a['curFrameInfo']['hour'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMinute']=_0x27bc5a['curFrameInfo']['minute'],_0x27bc5a['pstRuntimeInfo']['AbsTimeSecond']=_0x27bc5a['curFrameInfo']['second'],_0x27bc5a['pstRuntimeInfo']['AbsTimeMilliseconds']=_0x27bc5a['curFrameInfo']['milliseconds'],_0x27bc5a['runtimeCBFun'](_0x27bc5a['pstRuntimeInfo']));}}catch(_0x14437e){_0x57d61f['e'](_0x14437e);}finally{_0x57d61f['f']();}}if(_0x27bc5a['firstFrame']){_0x27bc5a['firstFrame']=!0x1;var _0x18a2af=_0x27bc5a;_0x27bc5a['oVideoRender']['GetCanvasData'](function(_0x3d1026,_0x476e31,_0x1a7c2a){if(null!=_0x3d1026){var _0x4d83cc=_0x18a2af['checkColorAnomaly'](_0x3d1026,_0x476e31,_0x1a7c2a);console['log']('checkColorAnomaly\\x20resC:'+_0x4d83cc),_0x4d83cc&&_0x18a2af['HardDecodeError']();}}),null!=_0x27bc5a['player']?null!=_0x27bc5a['player']['FFCallBackFun']&&_0x27bc5a['player']['FFCallBackFun']({'decodeEngine':0x1}):postMessage({'function':'firstFrameCB','value':!0x0});}_0x27bc5a['startRecoderFlag']&&0x0==_0x27bc5a['stopRecoderFlag']&&_0x27bc5a['oVideoRender']['GetCanvasData'](function(_0x50bd4b,_0x1dc7c1,_0xfc4209){if(null!=_0x50bd4b){if(0x0==_0x27bc5a['recoderBaseTimestampMode']){0x0==_0x27bc5a['vBaseTimeStamp']&&(_0x27bc5a['vBaseTimeStamp']=0x3c*new Date()['getHours']()*0x3c*0x3e8+0x3c*new Date()['getMinutes']()*0x3e8+0x3e8*new Date()['getSeconds']()+new Date()['getMilliseconds']());var _0x3aa8d8=0x3c*new Date()['getHours']()*0x3c*0x3e8+0x3c*new Date()['getMinutes']()*0x3e8+0x3e8*new Date()['getSeconds']()+new Date()['getMilliseconds']();_0x27bc5a['recoderFrameTimeStamp']=_0x3aa8d8-_0x27bc5a['vBaseTimeStamp'];}else 0x1==_0x27bc5a['recoderBaseTimestampMode']||(_0x27bc5a['recoderBaseTimestampMode']=0x1),_0x27bc5a['recoderFrameTimeStamp']=_0x1f153d;var _0x346312={'timestamp':0x3e8*_0x27bc5a['recoderFrameTimeStamp'],'codedWidth':_0x27bc5a['encodeVideoInfo']['encodeWidth'],'codedHeight':_0x27bc5a['encodeVideoInfo']['encodeHeight'],'format':'RGBA'},_0x4cf282=new VideoFrame(_0x50bd4b,_0x346312),_0xedbad6={};_0xedbad6['year']=_0x27bc5a['curFrameInfo']['year'],_0xedbad6['month']=_0x27bc5a['curFrameInfo']['month'],_0xedbad6['day']=_0x27bc5a['curFrameInfo']['day'],_0xedbad6['hour']=_0x27bc5a['curFrameInfo']['hour'],_0xedbad6['minute']=_0x27bc5a['curFrameInfo']['minute'],_0xedbad6['second']=_0x27bc5a['curFrameInfo']['second'],_0xedbad6['milliseconds']=_0x27bc5a['curFrameInfo']['milliseconds'],_0x27bc5a['oVideoEncoder']['inputData'](_0x4cf282,_0xedbad6),_0x4cf282['close'](),_0x50bd4b=null,_0x27bc5a['recoderFrameNum']++;}_0x701d04();},_0x27bc5a['encodeVideoInfo']['encodeWidth'],_0x27bc5a['encodeVideoInfo']['encodeHeight'],_0x27bc5a['recoderGetOriginData']);});}});}},{'key':'checkColorAnomaly','value':function(_0x12879f,_0x1a3bf6,_0x5a2a8f){for(var _0x3b7342=0x0,_0x1d23f8=_0x1a3bf6*_0x5a2a8f,_0x310650=0x0;_0x310650<_0x12879f['length'];_0x310650+=0x4){var _0x302a4c=_0x12879f[_0x310650],_0x2925ee=_0x12879f[_0x310650+0x1],_0x2794c0=_0x12879f[_0x310650+0x2];_0x2925ee>1.5*_0x302a4c&&_0x2925ee>1.5*_0x2794c0&&_0x3b7342++;}return _0x3b7342/_0x1d23f8>0.05;}},{'key':'respondFrameInfoCB','value':function(_0x465065){if(0x0!=this['displayFrameInfo']['length']&&(this['curFrameInfo']['timeStamp']!==_0x465065||0x0==_0x465065&&0x0==this['curFrameInfo']['timeStamp'])){var _0x3cf0d3=this['findFramebyTime'](_0x465065,0x1);this['curFrameInfo']['port']=_0x3cf0d3['port'],this['curFrameInfo']['codecType']=_0x3cf0d3['codecType'],this['curFrameInfo']['frameType']=_0x3cf0d3['frameType'],this['curFrameInfo']['frameSize']=_0x3cf0d3['frameSize'],this['curFrameInfo']['width']=_0x3cf0d3['width']-(_0x3cf0d3['cropLeft']+_0x3cf0d3['cropRight']),this['curFrameInfo']['height']=_0x3cf0d3['height']-(_0x3cf0d3['cropTop']+_0x3cf0d3['cropBottom']),this['curFrameInfo']['timeStamp']=_0x3cf0d3['timeStamp'],this['curFrameInfo']['frameRate']=_0x3cf0d3['frameRate'],this['curFrameInfo']['frameNum']=_0x3cf0d3['frameNum'],this['curFrameInfo']['interlace']=_0x3cf0d3['interlace'],this['curFrameInfo']['streamEnd']=_0x3cf0d3['streamEnd'],this['curFrameInfo']['cropLeft']=_0x3cf0d3['cropLeft'],this['curFrameInfo']['cropRight']=_0x3cf0d3['cropRight'],this['curFrameInfo']['cropTop']=_0x3cf0d3['cropTop'],this['curFrameInfo']['cropBottom']=_0x3cf0d3['cropBottom'],this['curFrameInfo']['year']=_0x3cf0d3['year'],this['curFrameInfo']['month']=_0x3cf0d3['month'],this['curFrameInfo']['week']=_0x3cf0d3['week'],this['curFrameInfo']['day']=_0x3cf0d3['day'],this['curFrameInfo']['hour']=_0x3cf0d3['hour'],this['curFrameInfo']['minute']=_0x3cf0d3['minute'],this['curFrameInfo']['second']=_0x3cf0d3['second'],this['curFrameInfo']['milliseconds']=_0x3cf0d3['milliseconds'],_0x3cf0d3=null,null!=this['displayFrameInfoCB']&&this['displayFrameInfoCB'](this['curFrameInfo']);}}},{'key':'findFramebyTime','value':function(_0x477a65,_0x377035){var _0x2c9732=new Object();if(_0x2c9732=this['displayFrameInfo']['find'](function(_0xad904a){return _0xad904a['timeStamp']==_0x477a65;}),0x1==_0x377035){var _0x2fe6a5=this['displayFrameInfo']['findIndex'](function(_0x48be14){return _0x48be14['timeStamp']==_0x477a65;});this['displayFrameInfo']['splice'](_0x2fe6a5,0x1);}return _0x2c9732;}},{'key':'chooseFrame','value':function(){var _0x5c700e=this;return new Promise(function(_0x476fb4,_0x1d8e89){if(null==_0x5c700e['oVideoRender']||null==_0x5c700e['oVideoDecoder'])_0x476fb4(null);else{if(_0x5c700e['oVideoDecoder']['decoderObjNeedReset'])_0x5c700e['oVideoDecoder']['resetDecoder']()['then'](function(){_0x5c700e['oVideoDecoder']['decoderObjNeedReset']=!0x1,_0x476fb4(null);},function(){_0x1d8e89();});else{var _0x43a1db=_0x5c700e['oVideoDecoder']['GetFrameBufferLength']();if(-0x1!=_0x5c700e['displayBuf']){if(_0x43a1db<0x3){if(0x1==_0x5c700e['bSetStreamEnd']&&(_0x5c700e['nstreamEndloopNum']++,_0x5c700e['nstreamEndloopNum']>=0x32&&null!=_0x5c700e['player']&&null!=_0x5c700e['player']['runtimeCBFun'])){var _0x1db392={'nRunTimeModule':0x0,'nStrVersion':0x0,'nFrameTimeStamp':0x0,'nFrameNum':0x0,'nErrorCode':0x9};_0x5c700e['player']['runtimeCBFun'](_0x1db392),_0x5c700e['bSetStreamEnd']=!0x1,_0x5c700e['nstreamEndloopNum']=0x0;}_0x476fb4(null);}else 0x1==_0x5c700e['bSetStreamEnd']&&(_0x5c700e['nstreamEndloopNum']=0x0),_0x5c700e['oVideoDecoder']['GetFrame']()['then'](function(_0x4b8dca){_0x476fb4(_0x4b8dca);},function(){});}else{if(0x0==_0x43a1db){if(0x1==_0x5c700e['bSetStreamEnd']&&(_0x5c700e['nstreamEndloopNum']++,_0x5c700e['nstreamEndloopNum']>=0x32&&null!=_0x5c700e['player']&&null!=_0x5c700e['player']['runtimeCBFun'])){var _0x22b247={'nRunTimeModule':0x0,'nStrVersion':0x0,'nFrameTimeStamp':0x0,'nFrameNum':0x0,'nErrorCode':0x9};_0x5c700e['player']['runtimeCBFun'](_0x22b247),_0x5c700e['bSetStreamEnd']=!0x1,_0x5c700e['nstreamEndloopNum']=0x0;}_0x476fb4(null);}else 0x1==_0x5c700e['bSetStreamEnd']&&(_0x5c700e['nstreamEndloopNum']=0x0),_0x5c700e['oVideoDecoder']['GetFrame']()['then'](function(_0x5eb215){_0x476fb4(_0x5eb215);},function(){});}}}});}},{'key':'SetDisplayRegion','value':function(_0x58c468,_0x165813,_0x2f203e,_0x55f3d3){return null==this['oVideoRender']?0x0:(this['sx']=_0x58c468,this['sy']=_0x165813,this['sw']=_0x2f203e,this['sh']=_0x55f3d3,this['oVideoRender']['SetDisplayRect'](_0x58c468,_0x165813,_0x2f203e,_0x55f3d3));}},{'key':'SetCurStatus','value':function(_0x3273b5){var _0x98a93f=!(arguments['length']>0x1&&void 0x0!==arguments[0x1])||arguments[0x1];return this['bResetdisplayFrameInfoCB']=_0x98a93f,this['renderCurStatus']=_0x3273b5,0x1;}},{'key':'fast','value':function(){var _0x9e6184=this['_GetFastSpeed'](this['nplaySpeed']);return this['_SetPlaySpeed'](_0x9e6184);}},{'key':'slow','value':function(){var _0x34ab58=this['_GetSlowSpeed'](this['nplaySpeed']);return this['_SetPlaySpeed'](_0x34ab58);}},{'key':'Pause','value':function(_0x411398){if(_0x411398)0x2!=this['renderCurStatus']&&0x6!=this['renderCurStatus']||(this['renderLastStatus']=this['renderCurStatus']),this['SetCurStatus'](0x3);else{if(0x3!==this['renderCurStatus'])return 0x0;0x2===this['renderLastStatus']?this['SetCurStatus'](0x2):0x6===this['renderLastStatus']&&this['SetCurStatus'](0x6),this['resetTimer']=!0x0;}return 0x1;}},{'key':'NotifyBackPlay','value':function(_0x51d4a1){if(_0x51d4a1?this['SetCurStatus'](0x6):this['SetCurStatus'](0x2),null!=this['oVideoDecoder']){if(0x2==this['PlayOrBackMode'])this['oVideoDecoder']['NotifyBackPlay'](_0x51d4a1,this['preTimeStamp'],0x0);else{var _0x5c4693=0x1==_0x51d4a1?0x2:0x1;this['oVideoDecoder']['NotifyBackPlay'](_0x51d4a1,this['preTimeStamp'],_0x5c4693);}}return this['resetTimer']=!0x0,0x1;}},{'key':'SetPlayOrBackSwitchMode','value':function(_0x6c1d47){return this['PlayOrBackMode']=_0x6c1d47,0x1;}},{'key':'SetStretchPlay','value':function(_0xd9db04,_0x5b098e){return 0x2!=this['renderCurStatus']||this['playSpeed']>1.1||this['playSpeed']<0.9?0x0:(this['StretchPlayTime']=_0xd9db04,this['StretchPlayedTime']=0x0,this['StretchPlaySpeed']=_0x5b098e,this['StretchPlayFlag']=!0x0,this['resetTimer']=!0x0,0x1);}},{'key':'VideoStretchProcess','value':function(_0xaaae00){return this['StretchPlayFlag']&&(this['printfFlag']>0x0&&console['log']('StretchPlayedTime:'+this['StretchPlayedTime']+',StretchPlayTime:'+this['StretchPlayTime']),this['StretchPlayedTime']0x0?_0xbe0b51:-0x1/_0xbe0b51,console['log']('playSpeed:'+this['playSpeed']),this['resetTimer']=!0x0,this['needForward']=!0x1,0x2!=this['renderCurStatus']&&0x6!=this['renderCurStatus']&&(0x2===this['renderLastStatus']?this['SetCurStatus'](0x2):0x6===this['renderLastStatus']&&this['SetCurStatus'](0x6))),0x1;}},{'key':'_GetFastSpeed','value':function(_0x32f4a4){var _0x2db323=0x0;switch(_0x32f4a4){case-0x10:_0x2db323=-0x8;break;case-0x8:_0x2db323=-0x4;break;case-0x4:_0x2db323=-0x2;break;case-0x2:_0x2db323=0x1;break;case 0x1:_0x2db323=0x2;break;case 0x2:_0x2db323=0x4;break;case 0x4:_0x2db323=0x8;break;case 0x8:_0x2db323=0x10;break;case 0x10:_0x2db323=0x20;break;case 0x20:_0x2db323=0x40;break;default:_0x2db323=0x0;}return _0x2db323;}},{'key':'_GetSlowSpeed','value':function(_0x5d7e23){var _0x2b4977=0x0;switch(_0x5d7e23){case-0x8:_0x2b4977=-0x10;break;case-0x4:_0x2b4977=-0x8;break;case-0x2:_0x2b4977=-0x4;break;case 0x1:_0x2b4977=-0x2;break;case 0x2:_0x2b4977=0x1;break;case 0x4:_0x2b4977=0x2;break;case 0x8:_0x2b4977=0x4;break;case 0x10:_0x2b4977=0x8;break;case 0x20:_0x2b4977=0x10;break;case 0x40:_0x2b4977=0x20;break;default:_0x2b4977=0x0;}return _0x2b4977;}},{'key':'SetDisplayBuf','value':function(_0x423a50){return this['displayBuf']=_0x423a50,this['LatcyTime']=0x1==_0x423a50?0x0:0xf==_0x423a50?0x2bc:0x2d==_0x423a50?0x76c:_0x423a50>0x6&&_0x423a50<0x2d?0x28*_0x423a50+0x64:-0x1==_0x423a50?0x0:0x32,0x1;}},{'key':'GetJPEG','value':function(){var _0x29e5ea=this;null!=this['oVideoDecoder']&&this['oVideoDecoder']['GetImageYUV']('jpeg',0x0,0x0,0x0,0x0)['then'](function(_0x30d9d8){var _0x403e6d=_0x30d9d8['yuvFrameBuffer'],_0x391478=_0x30d9d8['yuvLength'],_0x3262d5=_0x30d9d8['displayWidth'],_0x47eb60=_0x30d9d8['displayHeight'],_0x12cec3=_0x30d9d8['yuvType'];-0x1!=_0x403e6d&&(_0x29e5ea['player']?_0x29e5ea['player']['_GetImage2'](_0x403e6d,_0x391478,_0x3262d5,_0x47eb60,'jpeg',_0x12cec3,0x0,0x0,0x0,0x0):postMessage({'function':'imageYUV','value':_0x403e6d['buffer'],'size':_0x391478,'width':_0x3262d5,'height':_0x47eb60,'type':'jpeg','yuvType':_0x12cec3,'sx':0x0,'sy':0x0,'sw':0x0,'sh':0x0},[_0x403e6d['buffer']]));},function(){});}},{'key':'GetBMP','value':function(){var _0x19114c=this;null!=this['oVideoDecoder']&&this['oVideoDecoder']['GetImageYUV']('bmp',0x0,0x0,0x0,0x0)['then'](function(_0x15dd44){var _0x29e66c=_0x15dd44['yuvFrameBuffer'],_0x3f7cbb=_0x15dd44['yuvLength'],_0x108497=_0x15dd44['displayWidth'],_0x3a0923=_0x15dd44['displayHeight'],_0x3bb03d=_0x15dd44['yuvType'];-0x1!=_0x29e66c&&(_0x19114c['player']?_0x19114c['player']['_GetImage2'](_0x29e66c,_0x3f7cbb,_0x108497,_0x3a0923,'bmp',_0x3bb03d,0x0,0x0,0x0,0x0):postMessage({'function':'imageYUV','value':_0x29e66c['buffer'],'size':_0x3f7cbb,'width':_0x108497,'height':_0x3a0923,'type':'bmp','yuvType':_0x3bb03d,'sx':0x0,'sy':0x0,'sw':0x0,'sh':0x0},[_0x29e66c['buffer']]));},function(){});}},{'key':'GetCropJPEG','value':function(){var _0x28cedd=this;null!=this['oVideoDecoder']&&this['oVideoDecoder']['GetImageYUV']('jpeg',this['sx'],this['sy'],this['sw'],this['sh'])['then'](function(_0x3bc3e0){var _0x1fdf4b=_0x3bc3e0['yuvFrameBuffer'],_0x4f18a3=_0x3bc3e0['yuvLength'],_0x5f1596=_0x3bc3e0['displayWidth'],_0x50f266=_0x3bc3e0['displayHeight'],_0x1085e7=_0x3bc3e0['yuvType'];-0x1!=_0x1fdf4b&&(_0x28cedd['player']?_0x28cedd['player']['_GetImage2'](_0x1fdf4b,_0x4f18a3,_0x5f1596,_0x50f266,'jpeg',_0x1085e7,_0x28cedd['sx'],_0x28cedd['sy'],_0x28cedd['sw'],_0x28cedd['sh']):postMessage({'function':'imageYUV','value':_0x1fdf4b['buffer'],'size':_0x4f18a3,'width':_0x5f1596,'height':_0x50f266,'type':'jpeg','yuvType':_0x1085e7,'sx':_0x28cedd['sx'],'sy':_0x28cedd['sy'],'sw':_0x28cedd['sw'],'sh':_0x28cedd['sh']},[_0x1fdf4b['buffer']]));},function(){});}},{'key':'GetCropBMP','value':function(){var _0x2d5af0=this;null!=this['oVideoDecoder']&&this['oVideoDecoder']['GetImageYUV']('bmp',this['sx'],this['sy'],this['sw'],this['sh'])['then'](function(_0x22d9a4){var _0x33add2=_0x22d9a4['yuvFrameBuffer'],_0x3f366f=_0x22d9a4['yuvLength'],_0x2a09e6=_0x22d9a4['displayWidth'],_0x581243=_0x22d9a4['displayHeight'],_0x3d5812=_0x22d9a4['yuvType'];-0x1!=_0x33add2&&(_0x2d5af0['player']?_0x2d5af0['player']['_GetImage2'](_0x33add2,_0x3f366f,_0x2a09e6,_0x581243,'bmp',_0x3d5812,_0x2d5af0['sx'],_0x2d5af0['sy'],_0x2d5af0['sw'],_0x2d5af0['sh']):postMessage({'function':'imageYUV','value':_0x33add2['buffer'],'size':_0x3f366f,'width':_0x2a09e6,'height':_0x581243,'type':'bmp','yuvType':_0x3d5812,'sx':_0x2d5af0['sx'],'sy':_0x2d5af0['sy'],'sw':_0x2d5af0['sw'],'sh':_0x2d5af0['sh']},[_0x33add2['buffer']]));},function(){});}},{'key':'GetCanvasCapture','value':function(_0x55a38f,_0x5a8a12,_0x3caad2){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20GetCanvasCapture','color:red'),0x0):(this['oVideoRender']['GetCanvasData'](_0x55a38f,_0x5a8a12,_0x3caad2),0x1);}},{'key':'SetDecodeFrameType','value':function(_0x1dfee3){return this['waitIFrameTimestamp']=_0x1dfee3,0x1;}},{'key':'SetStreamEnd','value':function(_0x2b1468){return this['bSetStreamEnd']=_0x2b1468,this['oVideoDecoder']['SetStreamEnd'](),0x1;}},{'key':'SetAntialias','value':function(_0x2f3f14){return null!=this['oVideoRender']?this['oVideoRender']['SetAntialias'](_0x2f3f14):0x0;}},{'key':'SetFrameInfoCallBack','value':function(_0x491d9f,_0x1af5a6){return _0x1af5a6?(this['needSaveFrameInfo']=!0x0,this['displayFrameInfoCB']=_0x491d9f):(this['needSaveFrameInfo']=!0x1,this['displayFrameInfoCB']=null),0x1;}},{'key':'FEC_SetCanvasID','value':function(_0x367def){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetCanvasID'](_0x367def):(this['FECCanvasID']=_0x367def,0x0);}},{'key':'FEC_ResetCorrectType','value':function(_0x1c6e4a,_0x1c7f8f,_0x20e2dc){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_ResetCorrectType'](_0x1c6e4a,_0x1c7f8f,_0x20e2dc):0x0;}},{'key':'FEC_GetPort','value':function(_0x598ae7,_0x3b509d){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),-0x1):null!=this['oVideoRender']?this['oVideoRender']['FEC_GetPort'](_0x598ae7,_0x3b509d):-0x1;}},{'key':'FEC_Enable','value':function(_0x3eeb93){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_Enable'](_0x3eeb93):0x0;}},{'key':'FEC_SetParam','value':function(_0x4471e9,_0x53c6f0){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetParam'](_0x4471e9,_0x53c6f0):0x0;}},{'key':'FEC_GetParam','value':function(_0x4bb46b,_0x4e043d){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_GetParam'](_0x4bb46b,_0x4e043d):0x0;}},{'key':'FEC_SetViewParam','value':function(_0x3e4ab1,_0x4ec360,_0x110cba){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetViewParam'](_0x3e4ab1,_0x4ec360,_0x110cba):0x0;}},{'key':'FEC_GetViewParam','value':function(_0x305d1e,_0x46865a,_0x42e4c3){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_GetViewParam'](_0x305d1e,_0x46865a,_0x42e4c3):0x0;}},{'key':'FEC_SetWnd','value':function(_0x3a69ae,_0x59558f){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetWnd'](_0x3a69ae,_0x59558f):0x0;}},{'key':'FEC_Disable','value':function(_0x6a9a26,_0x2c3a5d,_0x43cd9b){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_Disable'](_0x6a9a26,_0x2c3a5d,_0x43cd9b):0x0;}},{'key':'FEC_DelPort','value':function(_0x8d4e2){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_DelPort'](_0x8d4e2):0x0;}},{'key':'FEC_SetDisplayRegion','value':function(_0x3eb3f7,_0x1c05a4,_0x4c2909,_0x4ba815,_0x56df49,_0x36cdda,_0x27491f){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetDisplayRegion'](_0x3eb3f7,_0x1c05a4,_0x4c2909,_0x4ba815,_0x56df49,_0x36cdda,_0x27491f):0x0;}},{'key':'FEC_SetBackCilling','value':function(_0x4ebb87,_0x4252bb){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetBackCilling'](_0x4ebb87,_0x4252bb):0x0;}},{'key':'FEC_GetPTZPort','value':function(_0x494eef,_0x4f47c2,_0x3df6a7){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),-0x1):null!=this['oVideoRender']?this['oVideoRender']['FEC_GetPTZPort'](_0x494eef,_0x4f47c2,_0x3df6a7):-0x1;}},{'key':'FEC_SetPTZDisplayMode','value':function(_0x429696){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC\\x20correct','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['FEC_SetPTZDisplayMode'](_0x429696):0x0;}},{'key':'FEC_Capture','value':function(_0x27737a,_0xd598e7){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20FEC_Capture','color:red'),0x0):this['oVideoRender']['FEC_Capture'](_0x27737a,_0xd598e7);}},{'key':'InputPrivateInfo','value':function(_0x18eba1,_0x1c4582,_0x39dfea){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20PrivateInfo','color:red'),0x0):((null!=_0x18eba1&&_0x18eba1['linesNum']>0x0||null!=_0x1c4582&&_0x1c4582['nFontsNum']>0x0)&&0x0==this['firstFrame']&&(this['LatcyTime']=0x64),this['curPrivateInfo']['linesInfo']['push'](_0x18eba1),this['curPrivateInfo']['fontInfo']['push'](_0x1c4582),this['curPrivateInfo']['imageInfo']['push'](_0x39dfea),0x1);}},{'key':'deepClone','value':function(_0x5ae503){if(null===_0x5ae503||'object'!==_0x3521ed(_0x5ae503))return _0x5ae503;if(Array['isArray'](_0x5ae503)){for(var _0x162e8c=[],_0x3443d4=0x0;_0x3443d4<_0x5ae503['length'];_0x3443d4++)_0x162e8c[_0x3443d4]=this['deepClone'](_0x5ae503[_0x3443d4]);return _0x162e8c;}if(ArrayBuffer['isView'](_0x5ae503)){var _0x443790=new Uint8Array(_0x5ae503['length']);return _0x443790['set'](_0x5ae503),_0x443790;}var _0x3a0f6e={};for(var _0x4095f5 in _0x5ae503)_0x5ae503['hasOwnProperty'](_0x4095f5)&&(_0x3a0f6e[_0x4095f5]=this['deepClone'](_0x5ae503[_0x4095f5]));return _0x3a0f6e;}},{'key':'RenderPrivateData','value':function(_0x4907fd,_0xaadae1){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20PrivateInfo','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['RenderPrivateData'](_0x4907fd,_0xaadae1):0x0;}},{'key':'RenderPrivateDataEx','value':function(_0x244735,_0x1760a6,_0x3881bc){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20PrivateInfo','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['RenderPrivateDataEx'](_0x244735,_0x1760a6,_0x3881bc):0x0;}},{'key':'SetWaterMarkFont','value':function(_0x1296a1){return'2d'===this['renderEngine']||'2D'===this['renderEngine']||null==this['oVideoRender']?(console['log']('%c\\x20param\\x20error\\x20this.renderEngine:%d,this.oVideoRender:%d','color:red',this['renderEngine'],this['oVideoRender']),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetWaterMarkFont'](_0x1296a1):0x0;}},{'key':'SetWaterMarkImage','value':function(_0x8bf7f2){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetWaterMarkImage','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetWaterMarkImage'](_0x8bf7f2):0x0;}},{'key':'SetMosaicType','value':function(_0x66e072){return'2d'===this['renderEngine']||'2D'===this['renderEngine']||null==this['oVideoRender']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetMosaicType','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetMosaicType'](_0x66e072):0x0;}},{'key':'SelectIntelInfoFeatureToDraw','value':function(_0x16c21b){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SelectIntelInfoFeatureToDraw','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SelectIntelInfoFeatureToDraw'](_0x16c21b):0x0;}},{'key':'SetD3DPostProcess','value':function(_0x41f8c7,_0xae3344){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetD3DPostProcess','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetD3DPostProcess'](_0x41f8c7,_0xae3344):0x0;}},{'key':'SetTextCanvas','value':function(_0x32c648){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetD3DPostProcess','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetTextCanvas'](_0x32c648):0x0;}},{'key':'SetPrintLogFlag','value':function(_0x12c556){return this['printfFlag']=_0x12c556,null!=this['oVideoDecoder']&&this['oVideoDecoder']['SetPrintLogFlag'](_0x12c556),null!=this['oVideoRender']&&this['oVideoRender']['SetPrintLogFlag'](_0x12c556),0x1;}},{'key':'SetRotateAngle','value':function(_0x305896){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetRotateAngle','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetRotateAngle'](_0x305896):0x0;}},{'key':'InitEncoder','value':function(_0x4c65d6,_0x2e1306){return _0x4c65d6['encodeWidth']>0x0||_0x4c65d6['encodeHeight']>0x0?(this['encodeVideoInfo']['encodeWidth']=_0x4c65d6['encodeWidth'],this['encodeVideoInfo']['encodeHeight']=_0x4c65d6['encodeHeight']):null!=this['curFrameInfo']['width']&&this['curFrameInfo']['width']>0x0&&this['curFrameInfo']['width']<=0x578&&null!=this['curFrameInfo']['height']&&this['curFrameInfo']['height']>0x0&&this['curFrameInfo']['height']<=0x320?(this['encodeVideoInfo']['encodeWidth']=this['curFrameInfo']['width'],this['encodeVideoInfo']['encodeHeight']=this['curFrameInfo']['height']):(this['encodeVideoInfo']['encodeWidth']=0x500,this['encodeVideoInfo']['encodeHeight']=0x2d0),_0x4c65d6['bitrate']>0x0?this['encodeVideoInfo']['bitrate']=_0x4c65d6['bitrate']:this['encodeVideoInfo']['encodeWidth']>0x62c?this['encodeVideoInfo']['bitrate']=0x3d0900:this['encodeVideoInfo']['encodeWidth']>0x320?this['encodeVideoInfo']['bitrate']=0x1e8480:this['encodeVideoInfo']['bitrate']=0xf4240,_0x4c65d6['frameRate']>0x0?this['encodeVideoInfo']['frameRate']=_0x4c65d6['frameRate']:'frameRate'in this['curFrameInfo']&&(this['encodeVideoInfo']['frameRate']=this['curFrameInfo']['frameRate']),_0x4c65d6['bitrateMode']>0x0?this['encodeVideoInfo']['bitrateMode']=_0x4c65d6['bitrateMode']:this['encodeVideoInfo']['bitrateMode']=0x0,_0x4c65d6['latencyMode']>0x0?this['encodeVideoInfo']['latencyMode']=_0x4c65d6['latencyMode']:this['encodeVideoInfo']['latencyMode']=0x0,0x0==_0x4c65d6['encodeType']&&(this['encodeVideoInfo']['encodeVideoType']='avc'),this['recoderBaseTimestampMode']=_0x4c65d6['baseTimeStampMode'],this['recoderGetOriginData']=_0x4c65d6['getOriginData'],null==this['oVideoEncoder']&&(this['oVideoEncoder']=new _0x218390(this,this['player'])),_0x2e1306['sampleRate']>0x0?this['encodeAudioInfo']['sampleRate']=_0x2e1306['sampleRate']:this['encodeAudioInfo']['sampleRate']=0xbb80,_0x2e1306['numberOfChannels']>0x0?this['encodeAudioInfo']['numberOfChannels']=_0x2e1306['numberOfChannels']:this['encodeAudioInfo']['numberOfChannels']=0x1,_0x2e1306['bitrate']>0x0?this['encodeAudioInfo']['bitrate']=_0x2e1306['bitrate']:this['encodeAudioInfo']['bitrate']=0x1f400,0x0==_0x2e1306['encodeType']&&(this['encodeAudioInfo']['encodeAudioType']='aac'),null==this['oAudioEncoder']&&(this['oAudioEncoder']=new _0x566a63(this,this['player'])),0x1;}},{'key':'StartVideoEncode','value':function(_0x393a91){return null!=this['oVideoEncoder']&&(this['oVideoEncoder']['initEncoder']('avc1.4d4032',this['encodeVideoInfo'],_0x393a91),this['startRecoderFlag']=!0x0,this['stopRecoderFlag']=!0x1),0x1;}},{'key':'StartAudioEncode','value':function(_0x10934c){return null!=this['oAudioEncoder']&&this['oAudioEncoder']['initEncoder']('mp4a.40.2',this['encodeAudioInfo'],_0x10934c),0x1;}},{'key':'InputPCMToEncode','value':function(_0x1d2527,_0x1f32d1){if(null!=this['oAudioEncoder']&&0x0==this['stopRecoderFlag']){var _0x1c69c6={'format':'s16','sampleRate':this['encodeAudioInfo']['sampleRate'],'numberOfFrames':_0x1d2527['length']/0x2,'numberOfChannels':0x1,'timestamp':_0x1f32d1,'data':_0x1d2527},_0x79f394=new AudioData(_0x1c69c6);this['oAudioEncoder']['inputData'](_0x79f394),_0x79f394['close']();}return 0x1;}},{'key':'StopEncode','value':function(){return this['startRecoderFlag']=!0x1,this['stopRecoderFlag']=!0x0,this['recoderFrameNum']=0x0,null!=this['oAudioEncoder']&&(this['oAudioEncoder']['stopEncode'](),this['oAudioEncoder']=null),null!=this['oVideoEncoder']&&(this['oVideoEncoder']['stopEncode'](),this['oVideoEncoder']=null),this['recoderBaseTimestampMode']=0x0,this['recoderGetOriginData']=0x0,0x1;}},{'key':'SetRunTimeInfoCallBack','value':function(_0xd49366,_0x2bc63f){return this['runtimeCBFun']=_0x2bc63f,null!=this['oVideoDecoder']&&this['oVideoDecoder']['SetRunTimeInfoCallBackFun'](_0xd49366,_0x2bc63f),0x1;}},{'key':'SetRunTimeInfoCallbackType','value':function(_0x33bf1e,_0x270548,_0xe28b20){return 0x2==_0x33bf1e?_0xe28b20?this['DecodeTypeFlagMap']['set'](_0x270548,0x1):this['DecodeTypeFlagMap']['delete'](_0x270548):0x3==_0x33bf1e&&(_0xe28b20?this['RenderTypeFlagMap']['set'](_0x270548,0x1):this['RenderTypeFlagMap']['delete'](_0x270548)),null!=this['oVideoDecoder']&&0x2==_0x33bf1e&&this['oVideoDecoder']['SetRunTimeInfoCallbackType'](_0x33bf1e,_0x270548,_0xe28b20),0x1;}},{'key':'IsVisible','value':function(_0x4df508){return null!=this['oVideoDecoder']&&this['oVideoDecoder']['IsVisible'](_0x4df508),0x1;}},{'key':'SetPanoramaDisplayEffect','value':function(_0x328ec9){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetPanoramaDisplayEffect','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetPanoramaDisplayEffect'](_0x328ec9):0x0;}},{'key':'SetPanoramaSphereViewParam','value':function(_0x2a1f4b,_0x22eaa0){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20SetPanoramaSphereViewParam','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['SetPanoramaSphereViewParam'](_0x2a1f4b,_0x22eaa0):0x0;}},{'key':'GetPanoramaSphereViewParam','value':function(_0x262758,_0x461dde){return'2d'===this['renderEngine']||'2D'===this['renderEngine']?(console['log']('%c\\x202D\\x20render\\x20not\\x20support\\x20GetPanoramaSphereViewParam','color:red'),0x0):null!=this['oVideoRender']?this['oVideoRender']['GetPanoramaSphereViewParam'](_0x262758,_0x461dde):0x0;}},{'key':'ResetBuffer','value':function(){return this['resetTimer']=!0x0,this['oVideoDecoder']['clearDecoderObjBuffer'](),0x1;}}]),_0x14d12f;}());!function(_0x3b85a5){let _0x4161e8=new _0x2b52fd(),_0x31f1cc=0x0;self['onmessage']=function(_0x466db3){let _0x3d1df3=_0x466db3['data'];switch(_0x3d1df3['command']){case'init':_0x31f1cc=_0x3d1df3['printfLog'],_0x4161e8['init'](_0x3d1df3['canvas'],_0x3d1df3['streamOpenMode'],_0x3d1df3['sab'],_0x3d1df3['renderEngine'],_0x3d1df3['printfLog']);break;case'inputData':let _0xc03708=new Uint8Array(_0x3d1df3['rawData']),_0x55fdf1=_0x3d1df3['rawDataFrameInfo'];_0x4161e8['inputData'](_0xc03708,_0x55fdf1),_0xc03708=null;break;case'SetDisplayRegion':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),_0x4161e8['SetDisplayRegion'](_0x3d1df3['sx'],_0x3d1df3['sy'],_0x3d1df3['sw'],_0x3d1df3['sh']);break;case'stop':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),_0x4161e8['SetCurStatus'](0x4);let _0x5f29fb=setInterval(()=>{_0x4161e8['displayRunning']||(_0x4161e8=null,self['postMessage']({'function':'stop'}),clearInterval(_0x5f29fb),_0x5f29fb=null,self['close'](),_0x31f1cc>=0x0&&console['log']('>>>JS\\x2003\\x20destroy\\x20oVideoPlayCtrl\\x20and\\x20worker'));},0x2);break;case'fast':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['fast']()&&self['postMessage']({'function':'paraError'});break;case'slow':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['slow']()&&self['postMessage']({'function':'paraError'});break;case'SetDisplayBuf':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['SetDisplayBuf'](_0x3d1df3['value'])&&self['postMessage']({'function':'paraError'});break;case'Pause':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['Pause'](_0x3d1df3['value'])&&self['postMessage']({'function':'paraError'});break;case'OneByOne':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['OneByOne'](_0x3d1df3['value'])&&self['postMessage']({'function':'paraError'});break;case'NotifyBackPlay':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['NotifyBackPlay'](_0x3d1df3['flag'])&&self['postMessage']({'function':'paraError'});break;case'SetPlayOrBackSwitchMode':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['SetPlayOrBackSwitchMode'](_0x3d1df3['PlayOrBackMode'])&&self['postMessage']({'function':'paraError'});break;case'SetStretchPlay':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['SetStretchPlay'](_0x3d1df3['Stretchtime'],_0x3d1df3['Stretchspeed'])&&self['postMessage']({'function':'paraError'});break;case'SetCanvasSize':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['SetCanvasSize'](_0x3d1df3['width'],_0x3d1df3['height'],_0x3d1df3['FECSubPort'])&&self['postMessage']({'function':'paraError'});break;case'GetCanvasSize':null===_0x4161e8&&self['postMessage']({'function':'OrderError'}),0x1!==_0x4161e8['GetCanvasSize']()&&self['postMessage']({'function':'paraError'});break;case'GetPlayedTime':null===_0x4161e8&&self['postMessage']({'function':'OrderError'});let _0x4f72ed=_0x4161e8['GetPlayedTime']();0x0!==_0x4f72ed&&self['postMessage']({'function':'GetPlayedTime','value':_0x4f72ed});break;case'needReset':_0x4161e8['SetCurStatus'](0x0,_0x3d1df3['bTrue']);break;case'GetJPEG':_0x4161e8['GetJPEG']();break;case'GetBMP':_0x4161e8['GetBMP']();break;case'GetCropJPEG':_0x4161e8['GetCropJPEG']();break;case'GetCropBMP':_0x4161e8['GetCropBMP']();break;case'SetDecodeFrameType':_0x4161e8['SetDecodeFrameType'](_0x3d1df3['timestamp']);break;case'SetStreamEnd':_0x4161e8['SetStreamEnd'](_0x3d1df3['bTrue']);break;case'SetAntialias':_0x4161e8['SetAntialias'](_0x3d1df3['value']);break;case'SetFrameInfoCallBack':_0x4161e8['SetFrameInfoCallBack'](_0x55c61e=>{self['postMessage']({'function':'SetFrameInfoCallBack','curFrameInfo':_0x55c61e});},_0x3d1df3['value']);break;case'SetTargetRelativePos':_0x4161e8['SetTargetRelativePos'](_0x3d1df3['nRelativePos'],_0x3d1df3['nPosType'],_0x3d1df3['nPlayMode']);break;case'ResetBuffer':_0x4161e8['ResetBuffer']();break;case'FEC_SetCanvasID':_0x4161e8['FEC_SetCanvasID'](_0x3d1df3['canvasID']);break;case'FECResetCorrectType':_0x4161e8['FEC_ResetCorrectType'](_0x3d1df3['fishSubPort'],_0x3d1df3['placeType'],_0x3d1df3['correctType']);break;case'FECGetPort':let _0x5bc2dd=_0x4161e8['FEC_GetPort'](_0x3d1df3['placeType'],_0x3d1df3['correctType']);(_0x5bc2dd<0x1||_0x5bc2dd>0x1f||null==_0x5bc2dd)&&(_0x5bc2dd=-0x1),self['postMessage']({'function':'FECGetPort','fishSubPort':_0x5bc2dd});break;case'FECEnable':_0x4161e8['FEC_Enable'](_0x3d1df3['fishSubPort']);break;case'FECSetParam':_0x4161e8['FEC_SetParam'](_0x3d1df3['fishSubPort'],_0x3d1df3['param2d']);break;case'FECGetParam':let _0xc4fb5b={};_0x4161e8['FEC_GetParam'](_0x3d1df3['fishSubPort'],_0xc4fb5b),self['postMessage']({'function':'FECGetParam','param2d':_0xc4fb5b});break;case'FECSetViewParam':_0x4161e8['FEC_SetViewParam'](_0x3d1df3['fishSubPort'],_0x3d1df3['upDateType'],_0x3d1df3['fValue']);break;case'FECGetViewParam':let _0x40771f={};_0x4161e8['FEC_GetViewParam'](_0x3d1df3['fishSubPort'],_0x3d1df3['upDateType'],_0x40771f),self['postMessage']({'function':'FECGetViewParam','Param3D':_0x40771f});break;case'FECSetWnd':_0x4161e8['FEC_SetWnd'](_0x3d1df3['fishSubPort'],_0x3d1df3['offscrrenCnv']);break;case'FECDisable':_0x4161e8['FEC_Disable'](_0x3d1df3['fishSubPort'],_0x3d1df3['clearFECCanvas'],_0x3d1df3['clearContext']);break;case'FECDelPort':_0x4161e8['FEC_DelPort'](_0x3d1df3['fishSubPort']);break;case'FECSetDisplayRegion':_0x4161e8['FEC_SetDisplayRegion'](_0x3d1df3['fishSubPort'],_0x3d1df3['type'],_0x3d1df3['regionNum'],_0x3d1df3['sx'],_0x3d1df3['sy'],_0x3d1df3['sw'],_0x3d1df3['sh']);break;case'FECSetBackCilling':_0x4161e8['FEC_SetBackCilling'](_0x3d1df3['fishSubPort'],_0x3d1df3['bValue']);break;case'FECGetPTZPort':let _0x4d417b=_0x4161e8['FEC_GetPTZPort'](_0x3d1df3['subport'],_0x3d1df3['fPositionX'],_0x3d1df3['fPositionY']);(_0x4d417b<0x1||_0x4d417b>0x1f||null==_0x4d417b)&&(_0x4d417b=-0x1,console['info']('%c\\x20hardDecoderWorker\\x20FECGetPTZPort\\x20error\\x20','color:\\x20red')),self['postMessage']({'function':'FECGetPTZPort','fishSubPort':_0x4d417b});break;case'FECCapture':_0x4161e8['FEC_Capture'](_0x3d1df3['subport'],(_0x47e85d,_0x1dc162,_0x5d3914,_0x101191)=>{self['postMessage']({'function':'FECCapture','frameData':_0x47e85d['buffer'],'width':_0x1dc162,'height':_0x5d3914,'fishSubPort':_0x101191},[_0x47e85d['buffer']]);});break;case'FECSetPTZDisplayMode':_0x4161e8['FEC_SetPTZDisplayMode'](_0x3d1df3['ptzMode']);break;case'RenderPrivateData':_0x4161e8['RenderPrivateData'](_0x3d1df3['intelType'],_0x3d1df3['bTrue']);break;case'RenderPrivateDataEx':_0x4161e8['RenderPrivateDataEx'](_0x3d1df3['intelType'],_0x3d1df3['subType'],_0x3d1df3['bTrue']);break;case'InputPrivateInfo':_0x4161e8['InputPrivateInfo'](_0x3d1df3['linesInfo'],_0x3d1df3['fontInfo'],_0x3d1df3['ImageInfo']);break;case'GetCanvasCapture':_0x4161e8['GetCanvasCapture']((_0xc6727b,_0x4409e3,_0x1647f6)=>{self['postMessage']({'function':'GetCanvasCapture','frameData':_0xc6727b['buffer'],'width':_0x4409e3,'height':_0x1647f6},[_0xc6727b['buffer']]);},_0x3d1df3['capWidth'],_0x3d1df3['capHeight']);break;case'SetWaterMarkFont':_0x4161e8['SetWaterMarkFont'](_0x3d1df3['fontParam']);break;case'SetMosaicType':_0x4161e8['SetWaterMarkFont'](_0x3d1df3['MosaicParam']);break;case'SetWaterMarkImage':let _0x2b1d3f=new Uint8Array(_0x3d1df3['pImageData']),_0x324efa={};_0x324efa['pImageData']=_0x2b1d3f,_0x324efa['pImageType']=_0x3d1df3['pImageType'],_0x324efa['pstRectPos']=_0x3d1df3['pstRectPos'],_0x324efa['fAlpha']=_0x3d1df3['fAlpha'],_0x4161e8['SetWaterMarkImage'](_0x324efa),_0x2b1d3f=null;break;case'SelectIntelInfoFeatureToDraw':_0x4161e8['SelectIntelInfoFeatureToDraw'](_0x3d1df3['IntelInfoParam']);break;case'SetD3DPostProcess':_0x4161e8['SetD3DPostProcess'](_0x3d1df3['ProcessType'],_0x3d1df3['ProcessValue']);break;case'SetTextCanvas':_0x4161e8['SetTextCanvas'](_0x3d1df3['textoffscreenCanvas']);break;case'SetPrintLogFlag':_0x4161e8['SetPrintLogFlag'](_0x3d1df3['printfFlag']);break;case'SetPanoramaDisplayEffect':_0x4161e8['SetPanoramaDisplayEffect'](_0x3d1df3['DisplayEffect']);break;case'SetPanoramaSphereViewParam':_0x4161e8['SetPanoramaSphereViewParam'](_0x3d1df3['ViewParamType'],_0x3d1df3['fValue']);break;case'GetPanoramaSphereViewParam':let _0x5626d7={};_0x4161e8['GetPanoramaSphereViewParam'](_0x3d1df3['ViewParamType'],_0x5626d7),self['postMessage']({'function':'GetPanoramaSphereViewParam','ParamVR':_0x5626d7});break;case'SetRotateAngle':_0x4161e8['SetRotateAngle'](_0x3d1df3['rotateValue']);break;case'InitEncoder':_0x4161e8['InitEncoder'](_0x3d1df3['videoInfo'],_0x3d1df3['audioInfo']);break;case'StartVideoEncode':_0x4161e8['StartVideoEncode'](null);break;case'StartAudioEncode':_0x4161e8['StartAudioEncode'](null);break;case'InputPCMToEncode':let _0x56e1d1=new Uint8Array(_0x3d1df3['PCMData']);_0x4161e8['InputPCMToEncode'](_0x56e1d1,_0x3d1df3['timeStamp']);break;case'StopEncode':_0x4161e8['StopEncode']();break;case'SetRunTimeInfoCallBack':_0x4161e8['SetRunTimeInfoCallBack'](_0x3d1df3['module'],_0x4ba5fb=>{self['postMessage']({'function':'runtimeInfo','pstRuntimeInfo':_0x4ba5fb});});break;case'SetRunTimeInfoCallbackType':_0x4161e8['SetRunTimeInfoCallbackType'](_0x3d1df3['module'],_0x3d1df3['type'],_0x3d1df3['flag']);break;case'IsVisible':_0x4161e8['IsVisible'](_0x3d1df3['visibility']);}};}();})());})());","Worker",void 0,void 0)},_0xef329d=function(_0x9cd370,_0x18b4e7){(null==_0x18b4e7||_0x18b4e7>_0x9cd370.length)&&(_0x18b4e7=_0x9cd370.length);for(var _0xa10af1=0,_0x5367b8=new Array(_0x18b4e7);_0xa10af1<_0x18b4e7;_0xa10af1++)_0x5367b8[_0xa10af1]=_0x9cd370[_0xa10af1];return _0x5367b8},_0xbf64e3=function(_0x56db36,_0x1069d5){var _0x601cc0="undefined"!=typeof Symbol&&_0x56db36[Symbol.iterator]||_0x56db36["@@iterator"];if(!_0x601cc0){if(Array.isArray(_0x56db36)||(_0x601cc0=function(_0x181507){if(_0x181507){if("string"==typeof _0x181507)return _0x19d628(_0x181507,void 0);var _0x30f703=Object.prototype.toString.call(_0x181507).slice(8,-1);return"Object"===_0x30f703&&_0x181507.constructor&&(_0x30f703=_0x181507.constructor.name),"Map"===_0x30f703||"Set"===_0x30f703?Array.from(_0x181507):"Arguments"===_0x30f703||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_0x30f703)?_0x19d628(_0x181507,void 0):void 0}}(_0x56db36))||_0x1069d5){_0x601cc0&&(_0x56db36=_0x601cc0);var _0xb80d8b=0,_0x1c2616=function(){};return{s:_0x1c2616,n:function(){return _0xb80d8b>=_0x56db36.length?{done:!0}:{done:!1,value:_0x56db36[_0xb80d8b++]}},e:function(_0x3a97a0){throw _0x3a97a0},f:_0x1c2616}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var _0x1ba0c1,_0x49db2d=!0,_0xcb2d8f=!1;return{s:function(){_0x601cc0=_0x601cc0.call(_0x56db36)},n:function(){var _0x1ad230=_0x601cc0.next();return _0x49db2d=_0x1ad230.done,_0x1ad230},e:function(_0x44c6a2){_0xcb2d8f=!0,_0x1ba0c1=_0x44c6a2},f:function(){try{_0x49db2d||null==_0x601cc0.return||_0x601cc0.return()}finally{if(_0xcb2d8f)throw _0x1ba0c1}}}},_0x19d628=function(_0x311de8,_0x15fc40){(null==_0x15fc40||_0x15fc40>_0x311de8.length)&&(_0x15fc40=_0x311de8.length);for(var _0x41d0d9=0,_0x5cb0a9=new Array(_0x15fc40);_0x41d0d9<_0x15fc40;_0x41d0d9++)_0x5cb0a9[_0x41d0d9]=_0x311de8[_0x41d0d9];return _0x5cb0a9},_0x5e6040=function(_0x305314,_0x1c213e){if(!_instanceof(_0x305314,_0x1c213e))throw new TypeError("Cannot call a class as a function")},_0x1af9be=function(_0x1e048a,_0x462960,_0x56fa76){return _0x462960&&function(_0x433dd0,_0x495cc0){for(var _0x471462=0;_0x471462<_0x495cc0.length;_0x471462++){var _0x4de6ce=_0x495cc0[_0x471462];_0x4de6ce.enumerable=_0x4de6ce.enumerable||!1,_0x4de6ce.configurable=!0,"value"in _0x4de6ce&&(_0x4de6ce.writable=!0),Object.defineProperty(_0x433dd0,_0x4de6ce.key,_0x4de6ce)}}(_0x1e048a.prototype,_0x462960),Object.defineProperty(_0x1e048a,"prototype",{writable:!1}),_0x1e048a},_0x3c3846=function(){var _0x23e05a=new _0x41d27f(16);return _0x41d27f!=Float32Array&&(_0x23e05a[1]=0,_0x23e05a[2]=0,_0x23e05a[3]=0,_0x23e05a[4]=0,_0x23e05a[6]=0,_0x23e05a[7]=0,_0x23e05a[8]=0,_0x23e05a[9]=0,_0x23e05a[11]=0,_0x23e05a[12]=0,_0x23e05a[13]=0,_0x23e05a[14]=0),_0x23e05a[0]=1,_0x23e05a[5]=1,_0x23e05a[10]=1,_0x23e05a[15]=1,_0x23e05a},_0x488335=function(_0x51706f){return _0x51706f[0]=1,_0x51706f[1]=0,_0x51706f[2]=0,_0x51706f[3]=0,_0x51706f[4]=0,_0x51706f[5]=1,_0x51706f[6]=0,_0x51706f[7]=0,_0x51706f[8]=0,_0x51706f[9]=0,_0x51706f[10]=1,_0x51706f[11]=0,_0x51706f[12]=0,_0x51706f[13]=0,_0x51706f[14]=0,_0x51706f[15]=1,_0x51706f},_0x561b4d=function(_0x46241e,_0x2d03c4,_0x19f037){var _0x1913a7=_0x2d03c4[0],_0x3d54b9=_0x2d03c4[1],_0x156edc=_0x2d03c4[2],_0x5666ba=_0x2d03c4[3],_0x75dfd8=_0x2d03c4[4],_0x3a2a04=_0x2d03c4[5],_0x42dfc6=_0x2d03c4[6],_0x380f3d=_0x2d03c4[7],_0x179579=_0x2d03c4[8],_0x2d1a56=_0x2d03c4[9],_0x10cc33=_0x2d03c4[10],_0xb18b6b=_0x2d03c4[11],_0x28bc97=_0x2d03c4[12],_0x2ba019=_0x2d03c4[13],_0x30f4fb=_0x2d03c4[14],_0x51f4f9=_0x2d03c4[15],_0x4cc878=_0x19f037[0],_0xf30de5=_0x19f037[1],_0x31b933=_0x19f037[2],_0x5d53c4=_0x19f037[3];return _0x46241e[0]=_0x4cc878*_0x1913a7+_0xf30de5*_0x75dfd8+_0x31b933*_0x179579+_0x5d53c4*_0x28bc97,_0x46241e[1]=_0x4cc878*_0x3d54b9+_0xf30de5*_0x3a2a04+_0x31b933*_0x2d1a56+_0x5d53c4*_0x2ba019,_0x46241e[2]=_0x4cc878*_0x156edc+_0xf30de5*_0x42dfc6+_0x31b933*_0x10cc33+_0x5d53c4*_0x30f4fb,_0x46241e[3]=_0x4cc878*_0x5666ba+_0xf30de5*_0x380f3d+_0x31b933*_0xb18b6b+_0x5d53c4*_0x51f4f9,_0x4cc878=_0x19f037[4],_0xf30de5=_0x19f037[5],_0x31b933=_0x19f037[6],_0x5d53c4=_0x19f037[7],_0x46241e[4]=_0x4cc878*_0x1913a7+_0xf30de5*_0x75dfd8+_0x31b933*_0x179579+_0x5d53c4*_0x28bc97,_0x46241e[5]=_0x4cc878*_0x3d54b9+_0xf30de5*_0x3a2a04+_0x31b933*_0x2d1a56+_0x5d53c4*_0x2ba019,_0x46241e[6]=_0x4cc878*_0x156edc+_0xf30de5*_0x42dfc6+_0x31b933*_0x10cc33+_0x5d53c4*_0x30f4fb,_0x46241e[7]=_0x4cc878*_0x5666ba+_0xf30de5*_0x380f3d+_0x31b933*_0xb18b6b+_0x5d53c4*_0x51f4f9,_0x4cc878=_0x19f037[8],_0xf30de5=_0x19f037[9],_0x31b933=_0x19f037[10],_0x5d53c4=_0x19f037[11],_0x46241e[8]=_0x4cc878*_0x1913a7+_0xf30de5*_0x75dfd8+_0x31b933*_0x179579+_0x5d53c4*_0x28bc97,_0x46241e[9]=_0x4cc878*_0x3d54b9+_0xf30de5*_0x3a2a04+_0x31b933*_0x2d1a56+_0x5d53c4*_0x2ba019,_0x46241e[10]=_0x4cc878*_0x156edc+_0xf30de5*_0x42dfc6+_0x31b933*_0x10cc33+_0x5d53c4*_0x30f4fb,_0x46241e[11]=_0x4cc878*_0x5666ba+_0xf30de5*_0x380f3d+_0x31b933*_0xb18b6b+_0x5d53c4*_0x51f4f9,_0x4cc878=_0x19f037[12],_0xf30de5=_0x19f037[13],_0x31b933=_0x19f037[14],_0x5d53c4=_0x19f037[15],_0x46241e[12]=_0x4cc878*_0x1913a7+_0xf30de5*_0x75dfd8+_0x31b933*_0x179579+_0x5d53c4*_0x28bc97,_0x46241e[13]=_0x4cc878*_0x3d54b9+_0xf30de5*_0x3a2a04+_0x31b933*_0x2d1a56+_0x5d53c4*_0x2ba019,_0x46241e[14]=_0x4cc878*_0x156edc+_0xf30de5*_0x42dfc6+_0x31b933*_0x10cc33+_0x5d53c4*_0x30f4fb,_0x46241e[15]=_0x4cc878*_0x5666ba+_0xf30de5*_0x380f3d+_0x31b933*_0xb18b6b+_0x5d53c4*_0x51f4f9,_0x46241e},_0x476940=function(_0x586a48,_0x3e8571,_0x2cd634,_0x3e3375){var _0x2e13c1,_0x1f144d,_0x3b938d,_0x33fa4c,_0x286e73,_0x487853,_0x27c476,_0x52a76f,_0x426c3a,_0x41ebb3,_0x2489b2,_0x288b44,_0x15d520,_0x157744,_0x5f17e9,_0x11fc21,_0x4da4c1,_0xe06d1a,_0x5e29ea,_0x8bade5,_0x178037,_0x58afe4,_0x3959fb,_0x2076b8,_0x529c4c=_0x3e3375[0],_0x55a8a7=_0x3e3375[1],_0x97d461=_0x3e3375[2],_0x3820e9=Math.hypot(_0x529c4c,_0x55a8a7,_0x97d461);return _0x3820e9<_0x5e7d1b?null:(_0x529c4c*=_0x3820e9=1/_0x3820e9,_0x55a8a7*=_0x3820e9,_0x97d461*=_0x3820e9,_0x2e13c1=Math.sin(_0x2cd634),_0x3b938d=1-(_0x1f144d=Math.cos(_0x2cd634)),_0x33fa4c=_0x3e8571[0],_0x286e73=_0x3e8571[1],_0x487853=_0x3e8571[2],_0x27c476=_0x3e8571[3],_0x52a76f=_0x3e8571[4],_0x426c3a=_0x3e8571[5],_0x41ebb3=_0x3e8571[6],_0x2489b2=_0x3e8571[7],_0x288b44=_0x3e8571[8],_0x15d520=_0x3e8571[9],_0x157744=_0x3e8571[10],_0x5f17e9=_0x3e8571[11],_0x11fc21=_0x529c4c*_0x529c4c*_0x3b938d+_0x1f144d,_0x4da4c1=_0x55a8a7*_0x529c4c*_0x3b938d+_0x97d461*_0x2e13c1,_0xe06d1a=_0x97d461*_0x529c4c*_0x3b938d-_0x55a8a7*_0x2e13c1,_0x5e29ea=_0x529c4c*_0x55a8a7*_0x3b938d-_0x97d461*_0x2e13c1,_0x8bade5=_0x55a8a7*_0x55a8a7*_0x3b938d+_0x1f144d,_0x178037=_0x97d461*_0x55a8a7*_0x3b938d+_0x529c4c*_0x2e13c1,_0x58afe4=_0x529c4c*_0x97d461*_0x3b938d+_0x55a8a7*_0x2e13c1,_0x3959fb=_0x55a8a7*_0x97d461*_0x3b938d-_0x529c4c*_0x2e13c1,_0x2076b8=_0x97d461*_0x97d461*_0x3b938d+_0x1f144d,_0x586a48[0]=_0x33fa4c*_0x11fc21+_0x52a76f*_0x4da4c1+_0x288b44*_0xe06d1a,_0x586a48[1]=_0x286e73*_0x11fc21+_0x426c3a*_0x4da4c1+_0x15d520*_0xe06d1a,_0x586a48[2]=_0x487853*_0x11fc21+_0x41ebb3*_0x4da4c1+_0x157744*_0xe06d1a,_0x586a48[3]=_0x27c476*_0x11fc21+_0x2489b2*_0x4da4c1+_0x5f17e9*_0xe06d1a,_0x586a48[4]=_0x33fa4c*_0x5e29ea+_0x52a76f*_0x8bade5+_0x288b44*_0x178037,_0x586a48[5]=_0x286e73*_0x5e29ea+_0x426c3a*_0x8bade5+_0x15d520*_0x178037,_0x586a48[6]=_0x487853*_0x5e29ea+_0x41ebb3*_0x8bade5+_0x157744*_0x178037,_0x586a48[7]=_0x27c476*_0x5e29ea+_0x2489b2*_0x8bade5+_0x5f17e9*_0x178037,_0x586a48[8]=_0x33fa4c*_0x58afe4+_0x52a76f*_0x3959fb+_0x288b44*_0x2076b8,_0x586a48[9]=_0x286e73*_0x58afe4+_0x426c3a*_0x3959fb+_0x15d520*_0x2076b8,_0x586a48[10]=_0x487853*_0x58afe4+_0x41ebb3*_0x3959fb+_0x157744*_0x2076b8,_0x586a48[11]=_0x27c476*_0x58afe4+_0x2489b2*_0x3959fb+_0x5f17e9*_0x2076b8,_0x3e8571!==_0x586a48&&(_0x586a48[12]=_0x3e8571[12],_0x586a48[13]=_0x3e8571[13],_0x586a48[14]=_0x3e8571[14],_0x586a48[15]=_0x3e8571[15]),_0x586a48)},_0x268367=function(_0x1d26fa,_0x3c008e,_0x4c99ef,_0x383966){var _0x18ceb0,_0x36440b,_0x25bb6a,_0x1b2bdd,_0x53e6ee,_0x4d7085,_0x1da52b,_0x2d1f41,_0x1565f1,_0x23a614,_0xd0f8a3=_0x3c008e[0],_0x4a3083=_0x3c008e[1],_0x5a7718=_0x3c008e[2],_0x27c3ac=_0x383966[0],_0x43bd53=_0x383966[1],_0x269c89=_0x383966[2],_0x47d94c=_0x4c99ef[0],_0x10e176=_0x4c99ef[1],_0xc146a2=_0x4c99ef[2];return Math.abs(_0xd0f8a3-_0x47d94c)<_0x5e7d1b&&Math.abs(_0x4a3083-_0x10e176)<_0x5e7d1b&&Math.abs(_0x5a7718-_0xc146a2)<_0x5e7d1b?_0x488335(_0x1d26fa):(_0x1da52b=_0xd0f8a3-_0x47d94c,_0x2d1f41=_0x4a3083-_0x10e176,_0x1565f1=_0x5a7718-_0xc146a2,_0x18ceb0=_0x43bd53*(_0x1565f1*=_0x23a614=1/Math.hypot(_0x1da52b,_0x2d1f41,_0x1565f1))-_0x269c89*(_0x2d1f41*=_0x23a614),_0x36440b=_0x269c89*(_0x1da52b*=_0x23a614)-_0x27c3ac*_0x1565f1,_0x25bb6a=_0x27c3ac*_0x2d1f41-_0x43bd53*_0x1da52b,(_0x23a614=Math.hypot(_0x18ceb0,_0x36440b,_0x25bb6a))?(_0x18ceb0*=_0x23a614=1/_0x23a614,_0x36440b*=_0x23a614,_0x25bb6a*=_0x23a614):(_0x18ceb0=0,_0x36440b=0,_0x25bb6a=0),_0x1b2bdd=_0x2d1f41*_0x25bb6a-_0x1565f1*_0x36440b,_0x53e6ee=_0x1565f1*_0x18ceb0-_0x1da52b*_0x25bb6a,_0x4d7085=_0x1da52b*_0x36440b-_0x2d1f41*_0x18ceb0,(_0x23a614=Math.hypot(_0x1b2bdd,_0x53e6ee,_0x4d7085))?(_0x1b2bdd*=_0x23a614=1/_0x23a614,_0x53e6ee*=_0x23a614,_0x4d7085*=_0x23a614):(_0x1b2bdd=0,_0x53e6ee=0,_0x4d7085=0),_0x1d26fa[0]=_0x18ceb0,_0x1d26fa[1]=_0x1b2bdd,_0x1d26fa[2]=_0x1da52b,_0x1d26fa[3]=0,_0x1d26fa[4]=_0x36440b,_0x1d26fa[5]=_0x53e6ee,_0x1d26fa[6]=_0x2d1f41,_0x1d26fa[7]=0,_0x1d26fa[8]=_0x25bb6a,_0x1d26fa[9]=_0x4d7085,_0x1d26fa[10]=_0x1565f1,_0x1d26fa[11]=0,_0x1d26fa[12]=-(_0x18ceb0*_0xd0f8a3+_0x36440b*_0x4a3083+_0x25bb6a*_0x5a7718),_0x1d26fa[13]=-(_0x1b2bdd*_0xd0f8a3+_0x53e6ee*_0x4a3083+_0x4d7085*_0x5a7718),_0x1d26fa[14]=-(_0x1da52b*_0xd0f8a3+_0x2d1f41*_0x4a3083+_0x1565f1*_0x5a7718),_0x1d26fa[15]=1,_0x1d26fa)},_0x499931=function(){var _0x9dd05d=new _0x41d27f(3);return _0x41d27f!=Float32Array&&(_0x9dd05d[0]=0,_0x9dd05d[1]=0,_0x9dd05d[2]=0),_0x9dd05d},_0x44d4fb=function(_0x2115b6,_0x3b641f,_0x17462f){var _0x1e62dc=new _0x41d27f(3);return _0x1e62dc[0]=_0x2115b6,_0x1e62dc[1]=_0x3b641f,_0x1e62dc[2]=_0x17462f,_0x1e62dc},_0x5bc276=function(){var _0x2b8543=new _0x41d27f(4);return _0x41d27f!=Float32Array&&(_0x2b8543[0]=0,_0x2b8543[1]=0,_0x2b8543[2]=0),_0x2b8543[3]=1,_0x2b8543},_0x1fe84c=function(_0x47213d,_0x380b8f){var _0x4da2e8=Object.keys(_0x47213d);if(Object.getOwnPropertySymbols){var _0x371861=Object.getOwnPropertySymbols(_0x47213d);_0x380b8f&&(_0x371861=_0x371861.filter((function(_0x381e28){return Object.getOwnPropertyDescriptor(_0x47213d,_0x381e28).enumerable}))),_0x4da2e8.push.apply(_0x4da2e8,_0x371861)}return _0x4da2e8},_0x675183=function(_0x467d9a){for(var _0x57b9c2=1;_0x57b9c2=_0x1a97d4.length?{done:!0}:{done:!1,value:_0x1a97d4[_0x2bdf0d++]}},e:function(_0x52aebd){throw _0x52aebd},f:_0x6e3ad8}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var _0x642081,_0x4cda9c=!0,_0x446248=!1;return{s:function(){_0x3ad650=_0x3ad650.call(_0x1a97d4)},n:function(){var _0x28d38f=_0x3ad650.next();return _0x4cda9c=_0x28d38f.done,_0x28d38f},e:function(_0x4052a6){_0x446248=!0,_0x642081=_0x4052a6},f:function(){try{_0x4cda9c||null==_0x3ad650.return||_0x3ad650.return()}finally{if(_0x446248)throw _0x642081}}}},_0x2e3ae8=function(_0x32bab1,_0x5df02e){(null==_0x5df02e||_0x5df02e>_0x32bab1.length)&&(_0x5df02e=_0x32bab1.length);for(var _0x54a58c=0,_0x3453d4=new Array(_0x5df02e);_0x54a58c<_0x5df02e;_0x54a58c++)_0x3453d4[_0x54a58c]=_0x32bab1[_0x54a58c];return _0x3453d4},_0x5f486a=function(_0x45ee03,_0x45b774){var _0x2eb6e3="undefined"!=typeof Symbol&&_0x45ee03[Symbol.iterator]||_0x45ee03["@@iterator"];if(!_0x2eb6e3){if(Array.isArray(_0x45ee03)||(_0x2eb6e3=function(_0x3465da){if(_0x3465da){if("string"==typeof _0x3465da)return _0x3f27ec(_0x3465da,void 0);var _0x14afad=Object.prototype.toString.call(_0x3465da).slice(8,-1);return"Object"===_0x14afad&&_0x3465da.constructor&&(_0x14afad=_0x3465da.constructor.name),"Map"===_0x14afad||"Set"===_0x14afad?Array.from(_0x3465da):"Arguments"===_0x14afad||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_0x14afad)?_0x3f27ec(_0x3465da,void 0):void 0}}(_0x45ee03))||_0x45b774){_0x2eb6e3&&(_0x45ee03=_0x2eb6e3);var _0x3e2b0e=0,_0x7c7ac9=function(){};return{s:_0x7c7ac9,n:function(){return _0x3e2b0e>=_0x45ee03.length?{done:!0}:{done:!1,value:_0x45ee03[_0x3e2b0e++]}},e:function(_0xbdb5b2){throw _0xbdb5b2},f:_0x7c7ac9}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var _0x3c5c3d,_0x11eb8a=!0,_0xcc6ab8=!1;return{s:function(){_0x2eb6e3=_0x2eb6e3.call(_0x45ee03)},n:function(){var _0x230c81=_0x2eb6e3.next();return _0x11eb8a=_0x230c81.done,_0x230c81},e:function(_0x2cdce7){_0xcc6ab8=!0,_0x3c5c3d=_0x2cdce7},f:function(){try{_0x11eb8a||null==_0x2eb6e3.return||_0x2eb6e3.return()}finally{if(_0xcc6ab8)throw _0x3c5c3d}}}},_0x3f27ec=function(_0xd374aa,_0x468ce3){(null==_0x468ce3||_0x468ce3>_0xd374aa.length)&&(_0x468ce3=_0xd374aa.length);for(var _0x4d73a8=0,_0x5c0f96=new Array(_0x468ce3);_0x4d73a8<_0x468ce3;_0x4d73a8++)_0x5c0f96[_0x4d73a8]=_0xd374aa[_0x4d73a8];return _0x5c0f96},_0x2da703=function(_0x2d0ea7,_0x6b7e70){var _0x41b943="undefined"!=typeof Symbol&&_0x2d0ea7[Symbol.iterator]||_0x2d0ea7["@@iterator"];if(!_0x41b943){if(Array.isArray(_0x2d0ea7)||(_0x41b943=function(_0x257ee8){if(_0x257ee8){if("string"==typeof _0x257ee8)return _0x43d59c(_0x257ee8,void 0);var _0x4bd60d=Object.prototype.toString.call(_0x257ee8).slice(8,-1);return"Object"===_0x4bd60d&&_0x257ee8.constructor&&(_0x4bd60d=_0x257ee8.constructor.name),"Map"===_0x4bd60d||"Set"===_0x4bd60d?Array.from(_0x257ee8):"Arguments"===_0x4bd60d||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_0x4bd60d)?_0x43d59c(_0x257ee8,void 0):void 0}}(_0x2d0ea7))||_0x6b7e70){_0x41b943&&(_0x2d0ea7=_0x41b943);var _0xdb4ca4=0,_0x842c6e=function(){};return{s:_0x842c6e,n:function(){return _0xdb4ca4>=_0x2d0ea7.length?{done:!0}:{done:!1,value:_0x2d0ea7[_0xdb4ca4++]}},e:function(_0x84167b){throw _0x84167b},f:_0x842c6e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var _0x5d4020,_0x16a1a8=!0,_0x306af3=!1;return{s:function(){_0x41b943=_0x41b943.call(_0x2d0ea7)},n:function(){var _0x5c16c0=_0x41b943.next();return _0x16a1a8=_0x5c16c0.done,_0x5c16c0},e:function(_0x3e4cfa){_0x306af3=!0,_0x5d4020=_0x3e4cfa},f:function(){try{_0x16a1a8||null==_0x41b943.return||_0x41b943.return()}finally{if(_0x306af3)throw _0x5d4020}}}},_0x43d59c=function(_0x1cd334,_0x3e2fca){(null==_0x3e2fca||_0x3e2fca>_0x1cd334.length)&&(_0x3e2fca=_0x1cd334.length);for(var _0x60d828=0,_0x4961bd=new Array(_0x3e2fca);_0x60d828<_0x3e2fca;_0x60d828++)_0x4961bd[_0x60d828]=_0x1cd334[_0x60d828];return _0x4961bd},_0x18cccf=function(_0x1b0789,_0x1ccbee){var _0x306226="undefined"!=typeof Symbol&&_0x1b0789[Symbol.iterator]||_0x1b0789["@@iterator"];if(!_0x306226){if(Array.isArray(_0x1b0789)||(_0x306226=function(_0xd33696){if(_0xd33696){if("string"==typeof _0xd33696)return _0x24af00(_0xd33696,void 0);var _0x4a086b=Object.prototype.toString.call(_0xd33696).slice(8,-1);return"Object"===_0x4a086b&&_0xd33696.constructor&&(_0x4a086b=_0xd33696.constructor.name),"Map"===_0x4a086b||"Set"===_0x4a086b?Array.from(_0xd33696):"Arguments"===_0x4a086b||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_0x4a086b)?_0x24af00(_0xd33696,void 0):void 0}}(_0x1b0789))||_0x1ccbee){_0x306226&&(_0x1b0789=_0x306226);var _0x1ce3ff=0,_0x43703a=function(){};return{s:_0x43703a,n:function(){return _0x1ce3ff>=_0x1b0789.length?{done:!0}:{done:!1,value:_0x1b0789[_0x1ce3ff++]}},e:function(_0x3c6def){throw _0x3c6def},f:_0x43703a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var _0x25bf78,_0x163728=!0,_0x22e191=!1;return{s:function(){_0x306226=_0x306226.call(_0x1b0789)},n:function(){var _0x386a91=_0x306226.next();return _0x163728=_0x386a91.done,_0x386a91},e:function(_0x1f2ff8){_0x22e191=!0,_0x25bf78=_0x1f2ff8},f:function(){try{_0x163728||null==_0x306226.return||_0x306226.return()}finally{if(_0x22e191)throw _0x25bf78}}}},_0x24af00=function(_0x13a925,_0xf61cb3){(null==_0xf61cb3||_0xf61cb3>_0x13a925.length)&&(_0xf61cb3=_0x13a925.length);for(var _0x2f4cd3=0,_0x5ad9f0=new Array(_0xf61cb3);_0x2f4cd3<_0xf61cb3;_0x2f4cd3++)_0x5ad9f0[_0x2f4cd3]=_0x13a925[_0x2f4cd3];return _0x5ad9f0};_0x377307.r(_0x9ccfc9),_0x377307.d(_0x9ccfc9,{JSPlayCtrl:function(){return _0x3aee67}});var _0x5abef3=_0x377307(687),_0x47759b=_0x377307.n(_0x5abef3),_0x2f4a7c=_0x377307(477),_0x1c05b3=_0x377307.n(_0x2f4a7c);function _0x431efc(_0x4d247c){return(_0x431efc="function"==typeof Symbol&&"symbol"==_type_of(Symbol.iterator)?function(_0x2fd11c){return void 0===_0x2fd11c?"undefined":_type_of(_0x2fd11c)}:function(_0x5631a8){return _0x5631a8&&"function"==typeof Symbol&&_0x5631a8.constructor===Symbol&&_0x5631a8!==Symbol.prototype?"symbol":void 0===_0x5631a8?"undefined":_type_of(_0x5631a8)})(_0x4d247c)}var _0x2b1931=function(){function _0x487465(){_0x3d26fc(this,_0x487465),this.startTime=0,this.curTime=0,this.timeWalk=0,this.preTimerStamp=0}return _0x49990c(_0x487465,[{key:"Init",value:function(){this.startTime=this.GetCurTime()}},{key:"GetCurTime",value:function(){return this.curTime=24*(new Date).getDate()*60*60*1e3+60*(new Date).getHours()*60*1e3+60*(new Date).getMinutes()*1e3+1e3*(new Date).getSeconds()+(new Date).getMilliseconds(),this.curTime}},{key:"GetTimerWalk",value:function(){return this.timeWalk=this.GetCurTime()-this.startTime,this.timeWalk<0&&(this.timeWalk=0),this.timeWalk}},{key:"timerReset",value:function(){this.startTime=0,this.curTime=0,this.timeWalk=0,this.preTimerStamp=0}}]),_0x487465}(),_0x34b0b9=function(){function _0x1e0b7d(_0x2a984a,_0xd7c3b7,_0xca2915,_0x71cc3b){_0x3d26fc(this,_0x1e0b7d),this.width=0,this.height=0,this.decoderObj=null,this.FirstFrame=!0,this.ready_frames=[],this.underflow=!0,this.sab=_0x2a984a,this.frameRate=30,this.needSetPreSoft=!1,this.decoderCurStatus=2,this.decoderOutSuccess=!1,this.decoderObjNeedReset=!1,this.oVideoRenderHandle=_0xd7c3b7,this.output=this.output.bind(this),this.reportError=this.reportError.bind(this),this.player=null,null!=_0xca2915&&(this.player=_0xca2915),this.curFrame=null,this.printfFlag=this.oVideoRenderHandle.printfFlag,this.nGetTotalFrameNum=0,this.nAverageDecodeTime=0,this.oDecodeTimer=null,this.runtimeInfoCBFun=null,this.pstRuntimeInfo={nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:0,nInputDataInterval:0,nFrameNumInterval:0,nAverageDecodeTime:0,nSystemFormat:0,nDetectRes:0,nMp4FileTime:0,nMp4TotalFrameNum:0,AbsTimeYear:0,AbsTimeMonth:0,AbsTimeDay:0,AbsTimeHour:0,AbsTimeMinute:0,AbsTimeSecond:0,AbsTimeMilliseconds:0},this.HardDecFrameCount=0,this.canvas=_0x71cc3b,this.bSetStreamEnd=!1,this.bVisibility=!0,this.back_ready_frames=[],this.StartFrameTime=0,this.WaitForFrameFlag=0}return _0x49990c(_0x1e0b7d,[{key:"initDecoder",value:function(){if(null==this.decoderObj)try{var _0x5a8f04={output:this.output,error:this.reportError};this.decoderObj=new VideoDecoder(_0x5a8f04)}catch(_0x54a28f){0==this.oVideoRenderHandle.firstFrame?this.decoderObjNeedReset=!0:(this.oVideoRenderHandle.HardDecodeError(),console.log("%cswitch hardVideoDecoder to softVideoDecoder","color: red"))}""!=this.canvas&&null!=this.canvas&&(this.underflow&&(this.underflow=!1,this.oVideoRenderHandle.RenderFrame().then((function(){}))),this.oVideoRenderHandle.displayRunning=!0),this.decoderCurStatus=2,this.FirstFrame=!0}},{key:"inputData",value:function(_0x1beac8,_0x1ce60d){null!=this.decoderObj&&(this.printfFlag>0&&console.log("VideoDecoder.js inputData videoInfo.timeStamp:"+_0x1ce60d.timeStamp+",decodeQueueSize:"+this.decoderObj.decodeQueueSize+",frameLength:"+this.ready_frames.length),("configured"==this.decoderObj.state||this.FirstFrame)&&this.decodeProcess(_0x1beac8,_0x1ce60d),(this.ready_frames.length>100||this.decoderObj.decodeQueueSize>100)&&(this.player?this.player.JSPlayM4_GetDecodeBufferSize(this.decoderObj.decodeQueueSize,this.ready_frames.length):postMessage({function:"GetDecodeBufferSize",rawSize:this.decoderObj.decodeQueueSize,frameSize:this.ready_frames.length})),_0x1ce60d.nStreamEnd&&this.SetStreamEnd())}},{key:"concatenate",value:function(_0x3f1493){for(var _0x54bdc5=0,_0x5784da=arguments.length,_0x1fc454=new Array(_0x5784da>1?_0x5784da-1:0),_0x33174c=1;_0x33174c<_0x5784da;_0x33174c++)_0x1fc454[_0x33174c-1]=arguments[_0x33174c];for(var _0x20af04=0,_0x2adb77=_0x1fc454;_0x20af04<_0x2adb77.length;_0x20af04++)_0x54bdc5+=_0x2adb77[_0x20af04].length;for(var _0x46ba8e=new _0x3f1493(_0x54bdc5),_0x1ee1b5=0,_0x5b6cf5=0,_0x3e6b78=_0x1fc454;_0x5b6cf5<_0x3e6b78.length;_0x5b6cf5++){var _0x48b84f=_0x3e6b78[_0x5b6cf5];_0x46ba8e.set(_0x48b84f,_0x1ee1b5),_0x1ee1b5+=_0x48b84f.length}return _0x46ba8e}},{key:"processData",value:function(_0x57165c){for(var _0xb684e1=null,_0x493b72=null,_0x7edb9=null,_0x16d104=!1,_0x418351=!1,_0x2335b5=0,_0x47186b=0;_0x47186b<_0x57165c.length-4;_0x47186b++){if(0!=_0x57165c[_0x47186b]||0!=_0x57165c[_0x47186b+1]||0!=_0x57165c[_0x47186b+2]||1!=_0x57165c[_0x47186b+3]||103!=_0x57165c[_0x47186b+4]&&39!=_0x57165c[_0x47186b+4]||(0!=_0x47186b?(_0x418351=!0,_0xb684e1=_0x57165c.slice(_0x47186b),_0x2335b5=_0x47186b):_0xb684e1=_0x57165c),0==_0x57165c[_0x47186b]&&0==_0x57165c[_0x47186b+1]&&0==_0x57165c[_0x47186b+2]&&1==_0x57165c[_0x47186b+3]&&(9==_0x57165c[_0x47186b+4]||6==_0x57165c[_0x47186b+4])){if(null==_0xb684e1)continue;null==_0x493b72&&(_0x493b72=_0x57165c.slice(_0x2335b5,_0x47186b),_0x16d104=!0)}if(0==_0x57165c[_0x47186b]&&0==_0x57165c[_0x47186b+1]&&0==_0x57165c[_0x47186b+2]&&1==_0x57165c[_0x47186b+3]&&(101==_0x57165c[_0x47186b+4]||37==_0x57165c[_0x47186b+4])){_0x16d104&&(_0x7edb9=_0x57165c.slice(_0x47186b));break}}return _0x16d104?this.concatenate(Uint8Array,_0x493b72,_0x7edb9):_0x418351?_0xb684e1:_0x57165c}},{key:"processData1",value:function(_0x34d999){return 0!=_0x34d999[0]||0!=_0x34d999[1]||0!=_0x34d999[2]||1!=_0x34d999[3]||9!=_0x34d999[4]&&6!=_0x34d999[4]?_0x34d999:_0x34d999.slice(5)}},{key:"formatVideoDecoderConfigure",value:function(_0x4bb26b,_0x69cfbc,_0x3ad84f,_0x126ad0){var _0xdecc07="";5==_0x69cfbc?(_0xdecc07="hvc1.1.6.L123.00",this.printfFlag>=0&&console.log("265 hard decoder")):256==_0x69cfbc?(_0xdecc07="avc1.42001f",this.printfFlag>=0&&console.log("264 hard decoder")):console.log("Support Error: hard decoder only support 264 and 265 !!!");var _0x551b66={codec:_0xdecc07,hardwareAcceleration:"prefer-hardware",optimizeForLatency:1};return 5!=_0x69cfbc&&this.needSetPreSoft&&(_0x551b66.hardwareAcceleration="prefer-software"),_0x551b66}},{key:"decodeProcess",value:function(_0x127869,_0x31788c){this.frameRate!=_0x31788c.frameRate&&(this.frameRate=_0x31788c.frameRate),this.width!=_0x31788c.width&&(this.width=_0x31788c.width),this.height!=_0x31788c.height&&(this.height=_0x31788c.height),_0x31788c.needSetPreSoft&&(this.needSetPreSoft=_0x31788c.needSetPreSoft);var _0x58de03=_0x127869;if(4!=this.decoderCurStatus&&null!=this.decoderObj)if(this.printfFlag>0&&console.log("VideoDecoder.js Decoder this.decoderObj.state:"+this.decoderObj.state),"configured"==this.decoderObj.state){var _0x11d17a=new EncodedVideoChunk({data:_0x58de03,timestamp:_0x31788c.timeStamp,type:_0x31788c.isKeyFrame?"key":"delta"});try{this.decoderObj.decode(_0x11d17a)}catch(_0x20fb42){0==this.oVideoRenderHandle.firstFrame?this.decoderObjNeedReset=!0:(this.oVideoRenderHandle.HardDecodeError(),console.log("%cswitch hardVideoDecoder to softVideoDecoder","color: red"))}_0x58de03=null,_0x127869=null,_0x11d17a=null,_0x31788c.frameType}else if(_0x31788c.isKeyFrame&&"unconfigured"==this.decoderObj.state){var _0x40f02c=this.formatVideoDecoderConfigure(_0x127869,_0x31788c.codecType,_0x31788c.width,_0x31788c.height);if(""==_0x40f02c.codec)return-1;if(null!==this.decoderObj){try{this.decoderObj.configure(_0x40f02c)}catch(_0x1d0a87){0==this.oVideoRenderHandle.firstFrame?this.decoderObjNeedReset=!0:(this.oVideoRenderHandle.HardDecodeError(),console.log("%cswitch hardVideoDecoder to softVideoDecoder","color: red"))}_0x58de03=this.processData(_0x127869),this.FirstFrame=!1;var _0x1c9d28=new EncodedVideoChunk({data:_0x58de03,timestamp:_0x31788c.timeStamp,type:_0x31788c.isKeyFrame?"key":"delta"});try{this.decoderObj.decode(_0x1c9d28)}catch(_0x1538b0){0==this.oVideoRenderHandle.firstFrame?this.decoderObjNeedReset=!0:(this.oVideoRenderHandle.HardDecodeError(),console.log("%cswitch hardVideoDecoder to softVideoDecoder","color: red"))}_0x40f02c=null,_0x58de03=null,_0x127869=null}}}},{key:"checkY",value:function(_0x54c2a9,_0x274d81,_0x1c0b71){Uint8Array.prototype.compare=function(_0x1f67ee,_0x33c3a0,_0x3719fc){for(var _0x220d5d=0;_0x220d5d<_0x3719fc;_0x220d5d++)if(this[_0x1f67ee+_0x220d5d]!==this[_0x33c3a0+_0x220d5d])return-1;return 0};for(var _0x1e3c6a=0,_0x438cb3=new Uint8Array(_0x54c2a9),_0x25d814=(_0x1c0b71-8)*_0x274d81,_0x4e2bd9=0;_0x4e2bd9<8;_0x4e2bd9++)for(var _0x3d9a75=_0x25d814+_0x4e2bd9*_0x274d81,_0x35e735=0;_0x35e735<_0x274d81-16;_0x35e735+=24){var _0x223884=_0x438cb3.compare(_0x3d9a75+_0x35e735,_0x3d9a75+_0x35e735+8,8),_0x4c66c9=_0x438cb3.compare(_0x3d9a75+_0x35e735+8,_0x3d9a75+_0x35e735+16,8);0===_0x223884&&0===_0x4c66c9&&(_0x438cb3[_0x3d9a75+_0x35e735]>122&&_0x438cb3[_0x3d9a75+_0x35e735]<=128||0===_0x438cb3[_0x3d9a75+_0x35e735])&&_0x1e3c6a++}return!(_0x1e3c6a>100)}},{key:"output",value:function(_0x15e265){var _0x15b9d4,_0x32733e=this;if(this.printfFlag>0&&console.log("VideoDecoder.js output timestamp:"+_0x15e265.timestamp+",decodeQueueSize:"+this.decoderObj.decodeQueueSize+",length:"+this.ready_frames.length),null!==this.decoderObj)if("configured"==this.decoderObj.state&&this.bVisibility){var _0x1a4448=_0x15e265.timestamp;if(this.oVideoRenderHandle.VideoPrivateInfoMap.size>0){var _0x4078fa=this.oVideoRenderHandle.VideoPrivateInfoMap.get(_0x1a4448);if(null!=_0x4078fa){for(;_0x4078fa.linesInfo.length>0||_0x4078fa.fontInfo.length>0||_0x4078fa.imageInfo.length>0;)this.oVideoRenderHandle.oVideoRender.InputPrivateInfo(_0x4078fa.linesInfo.shift(),_0x4078fa.fontInfo.shift(),_0x4078fa.imageInfo.shift());this.oVideoRenderHandle.VideoPrivateInfoMap.delete(_0x1a4448)}}if(this.printfFlag>0&&console.log("output1 cb decodeQueueSize:"+this.decoderObj.decodeQueueSize+",length:"+this.ready_frames.length+",timestamp:"+_0x1a4448+",systime:"+(new Date).getHours()+":"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds()),this.oVideoRenderHandle.DecodeTypeFlagMap.size>0){var _0xc3e718,_0x1650d4=_0xbf64e3(this.oVideoRenderHandle.DecodeTypeFlagMap.keys());try{for(_0x1650d4.s();!(_0xc3e718=_0x1650d4.n()).done;){var _0x94ad6e=_0xc3e718.value;if(352321537==_0x94ad6e&&1==this.oVideoRenderHandle.DecodeTypeFlagMap.get(_0x94ad6e)&&null!=this.runtimeInfoCBFun&&null!=this.oDecodeTimer){var _0x1139dc=this.oDecodeTimer.GetTimerWalk();_0x1139dc<=0||_0x1139dc>1e7||this.nGetTotalFrameNum>1e5?(this.nGetTotalFrameNum=0,this.oDecodeTimer.Init()):(this.nGetTotalFrameNum++,this.nAverageDecodeTime=_0x1139dc/this.nGetTotalFrameNum,null!=this.runtimeInfoCBFun&&(this.pstRuntimeInfo.nRunTimeModule=2,this.pstRuntimeInfo.nStrVersion=1,this.pstRuntimeInfo.nFrameTimeStamp=_0x1a4448,this.pstRuntimeInfo.nFrameNum=0,this.pstRuntimeInfo.nErrorCode=352321537,this.pstRuntimeInfo.nInputDataInterval=0,this.pstRuntimeInfo.nFrameNumInterval=0,this.pstRuntimeInfo.nAverageDecodeTime=this.nAverageDecodeTime,this.runtimeInfoCBFun(this.pstRuntimeInfo)))}}}catch(_0x8af6d1){_0x1650d4.e(_0x8af6d1)}finally{_0x1650d4.f()}}if(null!=this.player&&null!=this.player.HardDecToJpegCBFun){++this.HardDecFrameCount;var _0x3fec58=_0x15e265.displayWidth,_0x483f36=_0x15e265.displayHeight;(this.HardDecFrameCount-1)%this.player.HardDecToJpegInterval==0&&createImageBitmap(_0x15e265).then((function(_0x50bce3){_0x32733e.player?_0x32733e.player._GetImage(_0x50bce3,"jpeg",0,0,_0x3fec58,_0x483f36,_0x32733e.HardDecFrameCount):postMessage({function:"bitmap",value:_0x50bce3,type:"jpeg",sx:0,sy:0,sw:_0x15e265.displayWidth,sh:_0x15e265.displayHeight,framenum:_0x32733e.HardDecFrameCount})}))}if(""!=this.canvas&&null!=this.canvas){if(this.printfFlag>0&&console.log("VideoDecoder.js WaitForFrameFlag:"+this.WaitForFrameFlag+",frame.timestamp:"+_0x15e265.timestamp+",StartFrameTime:"+this.StartFrameTime),2==this.WaitForFrameFlag&&_0x15e265.timestamp>this.StartFrameTime&&0!=this.StartFrameTime)return _0x15e265.close(),1;if(1==this.WaitForFrameFlag&&_0x15e265.timestamp200?_0x15e265.close():this.oVideoRenderHandle.findFramebyTime(_0x15e265.timestamp,0).isKeyFrame?(this.back_ready_frames.reverse(),(_0x4fe2f2=this.ready_frames).push.apply(_0x4fe2f2,function(_0x5d970f){if(Array.isArray(_0x5d970f))return _0xef329d(_0x5d970f)}(_0x15b9d4=this.back_ready_frames)||function(_0x2a2924){if("undefined"!=typeof Symbol&&null!=_0x2a2924[Symbol.iterator]||null!=_0x2a2924["@@iterator"])return Array.from(_0x2a2924)}(_0x15b9d4)||function(_0x65a91b){if(_0x65a91b){if("string"==typeof _0x65a91b)return _0xef329d(_0x65a91b,void 0);var _0x53b114=Object.prototype.toString.call(_0x65a91b).slice(8,-1);return"Object"===_0x53b114&&_0x65a91b.constructor&&(_0x53b114=_0x65a91b.constructor.name),"Map"===_0x53b114||"Set"===_0x53b114?Array.from(_0x65a91b):"Arguments"===_0x53b114||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_0x53b114)?_0xef329d(_0x65a91b,void 0):void 0}}(_0x15b9d4)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),this.back_ready_frames.splice(0,this.back_ready_frames.length),createImageBitmap(_0x15e265).then((function(_0x5697af){_0x32733e.back_ready_frames.push({image:_0x5697af,timestamp:_0x15e265.timestamp,displayWidth:_0x15e265.displayWidth,displayHeight:_0x15e265.displayHeight}),_0x15e265.close()}))):(createImageBitmap(_0x15e265).then((function(_0xda3db1){_0x32733e.back_ready_frames.push({image:_0xda3db1,timestamp:_0x15e265.timestamp,displayWidth:_0x15e265.displayWidth,displayHeight:_0x15e265.displayHeight}),_0x15e265.close()})),this.decoderOutSuccess||(this.decoderOutSuccess=!0),this.decoderObj.decodeQueueSize<=1&&this.back_ready_frames.length<=1&&(this.player?this.player.JSPlayM4_GetRawData():postMessage({function:"GetRawData"}))):this.ready_frames.length>100?_0x15e265.close():(this.ready_frames.push(_0x15e265),this.decoderOutSuccess||(this.decoderOutSuccess=!0),this.decoderObj.decodeQueueSize<=1&&this.ready_frames.length<=1&&(this.player?this.player.JSPlayM4_GetRawData():postMessage({function:"GetRawData"})))}else _0x15e265.close(),null!=this.player&&null!=this.player.runtimeCBFun&&1==this.GetStreamEnd()&&1==this.bSetStreamEnd&&(this.player.runtimeCBFun({nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:9}),this.bSetStreamEnd=!1)}else _0x15e265.close()}},{key:"output2",value:function(_0x279698){var _0x2ff663=this;_0x279698.timestamp,createImageBitmap(_0x279698).then((function(_0xc30de8){_0x279698.close(),_0x2ff663.ready_frames.push(_0xc30de8)}))}},{key:"reportError",value:function(_0x2b5f5a){if(this.oVideoRenderHandle.DecodeTypeFlagMap.size>0){var _0xad479c,_0x11d86d=_0xbf64e3(this.oVideoRenderHandle.DecodeTypeFlagMap.keys());try{for(_0x11d86d.s();!(_0xad479c=_0x11d86d.n()).done;){var _0x45135f=_0xad479c.value;128==_0x45135f&&1==this.oVideoRenderHandle.DecodeTypeFlagMap.get(_0x45135f)&&null!=this.runtimeInfoCBFun&&(this.pstRuntimeInfo.nRunTimeModule=2,this.pstRuntimeInfo.nStrVersion=1,this.pstRuntimeInfo.nFrameTimeStamp=timestamp,this.pstRuntimeInfo.nFrameNum=0,this.pstRuntimeInfo.nErrorCode=128,this.runtimeInfoCBFun(this.pstRuntimeInfo))}}catch(_0x1326dc){_0x11d86d.e(_0x1326dc)}finally{_0x11d86d.f()}}console.log("hardDecode reportError:"+_0x2b5f5a.message+",state:"+this.decoderObj.state+",frameRate:"+this.frameRate+"this.ready_frames.length:"+this.ready_frames.length),0==this.oVideoRenderHandle.firstFrame?this.decoderObjNeedReset=!0:(this.oVideoRenderHandle.HardDecodeError(),console.log("%cswitch hardVideoDecoder to softVideoDecoder","color: red"))}},{key:"destroyDecoder",value:function(){var _0x1001e3=this;return new Promise((function(_0x4bab11,_0x17723a){_0x1001e3.clearDecoderObjBuffer(),null!=_0x1001e3.decoderObj&&("closed"!=_0x1001e3.decoderObj.state&&_0x1001e3.decoderObj.close(),_0x1001e3.printfFlag>=0&&console.log(">>>JS 01 destroy decoderObj"),_0x1001e3.decoderObj=null),_0x1001e3.decoderCurStatus=4,_0x1001e3.decoderOutSuccess=!1,_0x1001e3.FirstFrame=!0,_0x1001e3.needSetPreSoft=!1,_0x1001e3.decoderObjNeedReset=!1,_0x1001e3.curFrame=null,null!==_0x1001e3.oDecodeTimer&&(_0x1001e3.oDecodeTimer.timerReset(),_0x1001e3.oDecodeTimer=null),_0x4bab11()}))}},{key:"resetDecoder",value:function(){var _0x2819b5=this;return new Promise((function(_0x2c8534,_0x1c96b4){_0x2819b5.destroyDecoder().then((function(){_0x2819b5.initDecoder(),console.log("%c reset hard decoder","color:red"),_0x2c8534()}),(function(){_0x1c96b4()}))}))}},{key:"clearDecoderObjBuffer",value:function(){if(6==this.decoderCurStatus){for(var _0x2770e7=this.ready_frames.length,_0x7044a0=0;_0x7044a0<_0x2770e7;_0x7044a0++){var _0xe5aca8=this.ready_frames.shift();null!=_0xe5aca8.image&&null!=_0xe5aca8.image&&_0xe5aca8.image.close()}this.ready_frames.splice(0,this.ready_frames.length);for(var _0x55fdf7=this.back_ready_frames.length,_0x53e675=0;_0x53e675<_0x55fdf7;_0x53e675++){var _0x6598d8=this.back_ready_frames.shift();null!=_0x6598d8.image&&null!=_0x6598d8.image&&_0x6598d8.image.close()}this.back_ready_frames.splice(0,this.back_ready_frames.length)}else{for(var _0x4fd354=this.ready_frames.length,_0x899ec=0;_0x899ec<_0x4fd354;_0x899ec++)this.ready_frames.shift().close();this.ready_frames.splice(0,this.ready_frames.length)}this.resetDecoderObj()}},{key:"resetDecoderObj",value:function(){null!=this.decoderObj&&"configured"==this.decoderObj.state&&(this.decoderObj.reset(),this.FirstFrame=!0)}},{key:"SetStreamEnd",value:function(){return null!=this.decoderObj&&0==this.decoderObj.decodeQueueSize&&0==this.ready_frames.length&&(this.decoderObj.flush(),console.log("flush")),this.bSetStreamEnd=!0,1}},{key:"GetStreamEnd",value:function(){return null!=this.decoderObj&&(0==this.decoderObj.decodeQueueSize&&0==this.ready_frames.length||void 0)}},{key:"NotifyBackPlay",value:function(_0x51eb36,_0x45a870,_0x15a1d9){var _0x391368=this;return 0!=_0x45a870?this.resetDecoder().then((function(){_0x391368.decoderCurStatus=_0x51eb36?6:2,_0x391368.StartFrameTime=_0x45a870,_0x391368.WaitForFrameFlag=_0x15a1d9})):(this.decoderCurStatus=_0x51eb36?6:2,this.StartFrameTime=_0x45a870,this.WaitForFrameFlag=_0x15a1d9),1}},{key:"GetFrame",value:function(){var _0x3901d7=this;return new Promise((function(_0xc833bf,_0x51b48d){if(null!=_0x3901d7.curFrame){var _0x38ec01=_0x3901d7.ready_frames.shift();6==_0x3901d7.decoderCurStatus?null!=_0x38ec01.image&&null!=_0x38ec01.image&&_0x38ec01.image.close():_0x38ec01.close(),_0x38ec01=null,_0x3901d7.curFrame=null}0!=_0x3901d7.ready_frames.length?(_0x3901d7.curFrame=_0x3901d7.ready_frames[0],_0xc833bf(_0x3901d7.curFrame)):(_0x3901d7.curFrame=null,_0xc833bf(null))}))}},{key:"GetFrameBufferLength",value:function(){return this.ready_frames.length}},{key:"GetImageYUV",value:function(_0x54491a,_0x1337c,_0x262b07,_0x5c9a2e,_0x452439){var _0xc3ac5=this;return new Promise((function(_0x65b7e9,_0x33ba02){var _0x16d4ff=null;if(null!=_0xc3ac5.curFrame?_0x16d4ff=_0xc3ac5.curFrame:0!=_0xc3ac5.ready_frames.length&&(_0x16d4ff=_0xc3ac5.ready_frames[0]),null!=_0x16d4ff){var _0x1ebe70=_0x16d4ff.displayWidth,_0x5d8849=_0x16d4ff.displayHeight,_0x4f7291=_0x16d4ff;6==_0xc3ac5.decoderCurStatus&&(_0x4f7291=_0x16d4ff.image),0==_0x1337c&&0==_0x262b07&&0==_0x5c9a2e&&0==_0x452439&&(_0x5c9a2e=_0x1ebe70,_0x452439=_0x5d8849),createImageBitmap(_0x4f7291).then((function(_0x3d597f){_0xc3ac5.player?_0xc3ac5.player._GetImage(_0x3d597f,_0x54491a,_0x1337c,_0x262b07,_0x5c9a2e,_0x452439,0):postMessage({function:"bitmap",value:_0x3d597f,type:_0x54491a,sx:_0x1337c,sy:_0x262b07,sw:_0x5c9a2e,sh:_0x452439,framenum:0})})),_0x33ba02()}else _0x65b7e9({yuvFrameBuffer:-1,yuvLength:-1,displayWidth:-1,displayHeight:-1,yuvType:-1})}))}},{key:"SetPrintLogFlag",value:function(_0x4b30e2){return this.printfFlag=_0x4b30e2,1}},{key:"SetRunTimeInfoCallBackFun",value:function(_0x2ab820,_0x1a1f5c){return this.runtimeInfoCBFun=_0x1a1f5c,1}},{key:"SetRunTimeInfoCallbackType",value:function(_0x2a8c8f,_0x11ca99,_0x5780c0){return 352321537==_0x11ca99&&(this.nGetTotalFrameNum=0,_0x5780c0?null==this.oDecodeTimer&&(this.oDecodeTimer=new _0x2b1931,this.oDecodeTimer.Init()):null!==this.oDecodeTimer&&(this.oDecodeTimer.timerReset(),this.oDecodeTimer=null)),1}},{key:"IsVisible",value:function(_0x410a67){return this.bVisibility=_0x410a67,1}}]),_0x1e0b7d}(),_0xc968ca={d:function(_0x1fe693,_0x1609d5){for(var _0x55d73d in _0x1609d5)_0xc968ca.o(_0x1609d5,_0x55d73d)&&!_0xc968ca.o(_0x1fe693,_0x55d73d)&&Object.defineProperty(_0x1fe693,_0x55d73d,{enumerable:!0,get:_0x1609d5[_0x55d73d]})},o:function(_0xa89cfa,_0x119c96){return Object.prototype.hasOwnProperty.call(_0xa89cfa,_0x119c96)},r:function(_0xfcf029){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(_0xfcf029,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(_0xfcf029,"__esModule",{value:!0})}},_0x29f43={};_0xc968ca.d(_0x29f43,{Dv:function(){return _0x2f09c9},CF:function(){return _0x3d45ee},bC:function(){return _0x16c82f}});var _0x16c82f={};_0xc968ca.r(_0x16c82f),_0xc968ca.d(_0x16c82f,{ERRCODE:function(){return _0x13ebaa},SRCALLBACKTYPE:function(){return _0x2943c6},SRDISPLAYEFFECT:function(){return _0x2e016d},SRFISHPARAMTYPE:function(){return _0x2fbc55},SRIMAGEROTATEANGLE:function(){return _0x3166e4},SRPIXELFORMAT:function(){return _0x568e47},SRPOSTPROCTYPE:function(){return _0xf5a5d5},SRPTZDISPLAYMODE:function(){return _0x22db6c},SRRENDERSTATETYPE:function(){return _0x4f7506},SRSETRECTTYPE:function(){return _0x1ee49f},SRVIEWTYPE:function(){return _0x4817b1}});var _0x13ebaa={SR_OK:1,SR_ERR_NOT_SUPPORT:2147483649,SR_ERR_SUBPORT:2147483650,SR_ERR_ALLOC_MEMORY:2147483651,SR_ERR_CALL_ORDER:2147483652,SR_ERR_PARAM:2147483653,SR_ERR_CAPTURE:2147483654,SR_ERR_SUBPORT_FULL:2147483655,SR_ERR_SHADER:2147483656,SR_ERR_3D_MODEL:2147483657,SR_ERR_FONT:2147483658,SR_ERR_MEMORY_LIMIT:2147483659,SR_ERR_WEBGPU_RESOURCE:2147483660,SR_ERR_WEBGL_RESOURCE:2147483661,SR_ERR_CANVAS:2147483662},_0x1ee49f={SR_SRT_NULL:0,SR_SRT_SRC:1,SR_SRT_DST:2},_0x2e016d={SR_DE_NULL:0,SR_DE_FISH_ORIGINAL:1,SR_DE_FISH_PTZ_CEILING:2,SR_DE_FISH_PTZ_FLOOR:3,SR_DE_FISH_PTZ_WALL:4,SR_DE_FISH_PANORAMA_CEILING_360:5,SR_DE_FISH_PANORAMA_CEILING_180:6,SR_DE_FISH_PANORAMA_FLOOR_360:7,SR_DE_FISH_PANORAMA_FLOOR_180:8,SR_DE_FISH_PANORAMA_WALL:9,SR_DE_FISH_SEMISPHERE:10,SR_DE_EAGLEEYE_SEMISPHERE:11,SR_DE_EAGLEEYE_PLANE:12,SR_DE_FISH_CYLINDER_CEILING:13,SR_DE_FISH_CYLINDER_FLOOR:14,SR_DE_FISH_CYLINDER_SPLIT_CEILING:15,SR_DE_FISH_CYLINDER_SPLIT_FLOOR:16,SR_DE_FISH_PLANET:17,SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:18,SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:19,SR_DE_FISH_ANIMATION_SWITCH_CEILING:20,SR_DE_FISH_ANIMATION_SWITCH_FLOOR:21,SR_DE_PANORAMA_SPHERE:22,SR_DE_PANORAMA_PLANET:23},_0x568e47={SR_PF_NULL:0,SR_PF_YV12:1,SR_PF_NV12:2,SR_PF_I420:3,SR_PF_RGB565:4,SR_PF_RGBA32:5,SR_PF_NV21:6,SR_PF_SURFACE:256},_0x2fbc55={SR_FPT_NULL:0,SR_FPT_CENTER:1,SR_FPT_ANGLE:2,SR_FPT_ZOOM:3,SR_FPT_PTZ:4},_0x22db6c={SR_DM_NULL:0,SR_DM_RECT:1,SR_DM_RANGE:2},_0x4817b1={SR_VT_NULL:0,SR_VT_ROTATION_X:1,SR_VT_ROTATION_Y:2,SR_VT_SCALE:3},_0x2943c6={SR_CBT_NULL:0,SR_CBT_OUT:1},_0x4f7506={SR_RST_NULL:0,SR_RST_VERTICALFLIP:1,SR_RST_BACK_CULL:2,SR_RST_IMAGE_ROTATE:3},_0xf5a5d5={SR_PPT_NULL:0,SR_PPT_BRIGHTNESS:1,SR_PPT_HUE:2,SR_PPT_SATURATION:3,SR_PPT_CONTRAST:4,SR_PPT_SHARPNESS:5},_0x3166e4={SR_IRA_0:1,SR_IRA_90:2,SR_IRA_180:3,SR_IRA_270:4},_0x5e7d1b=1e-6,_0x41d27f="undefined"!=typeof Float32Array?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var _0x3e7131=0,_0x41a0dc=arguments.length;_0x41a0dc--;)_0x3e7131+=arguments[_0x41a0dc]*arguments[_0x41a0dc];return Math.sqrt(_0x3e7131)});var _0x69c8ce,_0x3b1eb9,_0x1464c3,_0x185e6a=function(_0x6d3c7d,_0x227759,_0x150012,_0x16bf1c,_0x1480e4){var _0x2ec347=1/Math.tan(_0x227759/2);if(_0x6d3c7d[0]=_0x2ec347/_0x150012,_0x6d3c7d[1]=0,_0x6d3c7d[2]=0,_0x6d3c7d[3]=0,_0x6d3c7d[4]=0,_0x6d3c7d[5]=_0x2ec347,_0x6d3c7d[6]=0,_0x6d3c7d[7]=0,_0x6d3c7d[8]=0,_0x6d3c7d[9]=0,_0x6d3c7d[11]=-1,_0x6d3c7d[12]=0,_0x6d3c7d[13]=0,_0x6d3c7d[15]=0,null!=_0x1480e4&&_0x1480e4!==1/0){var _0x48ff26=1/(_0x16bf1c-_0x1480e4);_0x6d3c7d[10]=(_0x1480e4+_0x16bf1c)*_0x48ff26,_0x6d3c7d[14]=2*_0x1480e4*_0x16bf1c*_0x48ff26}else _0x6d3c7d[10]=-1,_0x6d3c7d[14]=-2*_0x16bf1c;return _0x6d3c7d};_0x499931(),_0x69c8ce=new _0x41d27f(4),_0x41d27f!=Float32Array&&(_0x69c8ce[0]=0,_0x69c8ce[1]=0,_0x69c8ce[2]=0,_0x69c8ce[3]=0),_0x499931(),_0x44d4fb(1,0,0),_0x44d4fb(0,1,0),_0x5bc276(),_0x5bc276(),_0x3b1eb9=new _0x41d27f(9),_0x41d27f!=Float32Array&&(_0x3b1eb9[1]=0,_0x3b1eb9[2]=0,_0x3b1eb9[3]=0,_0x3b1eb9[5]=0,_0x3b1eb9[6]=0,_0x3b1eb9[7]=0),_0x3b1eb9[0]=1,_0x3b1eb9[4]=1,_0x3b1eb9[8]=1,_0x1464c3=new _0x41d27f(2),_0x41d27f!=Float32Array&&(_0x1464c3[0]=0,_0x1464c3[1]=0);var _0x3d8279="\nattribute vec4 position; \nattribute vec4 texCoord; \nvarying vec4 pp; \nuniform int bCapture; \n\nvoid main(void) {\n if(bCapture == 1)\n {\n gl_Position = position;\n gl_Position.y = -position.y;\n }\n else\n {\n gl_Position = position;\n }\n pp = texCoord;\n}\n",_0x3cb9f0="\nprecision mediump float;\nvarying vec4 pp;\nuniform sampler2D Ytexture;\nuniform sampler2D Utexture;\nuniform sampler2D Vtexture;\nuniform int bDataFormat;\nuniform float fAlpha;\nuniform int bDrawImage;\n\nvoid main(void)\n{\n float r,g,b,y,u,v;\n if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, pp.st).r;\n u = texture2D(Utexture, pp.st).r;\n v = texture2D(Vtexture, pp.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n\n gl_FragColor=vec4(r, g, b, 1.0);\n }\n else if(bDataFormat == 1)\n {\n gl_FragColor = texture2D(Ytexture, pp.st);\n }\n \n if(bDrawImage == 1)\n {\n gl_FragColor.a *= fAlpha; \n }\n}\n",_0x3886c1="\n varying mediump float pp;\n varying lowp vec4 colorOut;\n void main()\n {\n gl_FragColor = colorOut;\n mediump float fx = abs(pp);\n if (fx > 0.2)\n { \n gl_FragColor.a = colorOut.a*(1.25 - 1.25*fx);\n } \n } \n",_0x24f1c1="\n attribute vec4 position; \n attribute vec4 texCoord; \n uniform mat4 matRotate; \n varying vec4 pp; \n uniform int bCapture;\n\n void main() \n { \n gl_Position = position * matRotate; \n if(bCapture == 1)\n {\n gl_Position.y = -gl_Position.y;\n }\n pp = texCoord; \n } \n",_0x149759="\n precision mediump float; \n uniform sampler2D texture;\n varying lowp vec4 pp; \n uniform float fAlpha;\n void main(void) \n { \n gl_FragColor = texture2D(texture, pp.st); \n gl_FragColor.a *= fAlpha; \n } \n",_0x129758=function(){function _0x509287(){_0x5e6040(this,_0x509287),this.fFov=1.57,this.fAspect=1,this.fNear=.1,this.fFar=1e3,this.fTheta=0,this.fAlpha=0,this.fBeta=0,this.fScale=1,this.bOrtho=!1,this.matView=_0x3c3846(),this.matProj=_0x3c3846(),this.vecEye=_0x44d4fb(0,0,0),this.vecCenter=_0x44d4fb(0,0,100),this.vecUp=_0x44d4fb(0,1,0)}return _0x1af9be(_0x509287,[{key:"SetYaw",value:function(_0x39343d){this.fTheta=_0x39343d}},{key:"GetYaw",value:function(){return this.fTheta}},{key:"SetPitch",value:function(_0x47673e){this.fAlpha=_0x47673e}},{key:"GetPitch",value:function(){return this.fAlpha}},{key:"SetRoll",value:function(_0x4a0520){this.fBeta=_0x4a0520}},{key:"GetRoll",value:function(){return this.fBeta}},{key:"SetScale",value:function(_0x355772){this.fScale=_0x355772}},{key:"GetScale",value:function(){return this.fScale}},{key:"SetFov",value:function(_0x1b328d){this.fFov=_0x1b328d}},{key:"SetAspect",value:function(_0x4e006d){this.fAspect=_0x4e006d}},{key:"SetNear",value:function(_0x5af3ef){this.fNear=_0x5af3ef}},{key:"SetFar",value:function(_0x3b8f2c){this.fFar=_0x3b8f2c}},{key:"SetOrtho",value:function(_0x199a85){this.bOrtho=_0x199a85}},{key:"UpdateCamera",value:function(_0x2d988a,_0x1f59e3){if(!(_0x2d988a<=0||_0x1f59e3<=0)){1==this.bOrtho?(_0x3df632=this.matProj,_0x96ecf2=1/(0-(_0x32a0a5=(2-1.5*this.fAlpha)*(_0x2d988a/_0x1f59e3))),_0x46d60e=1/(0-(_0x795abf=2-1.5*this.fAlpha)),_0x1c6a24=1/((_0x1a74cd=this.fNear)-(_0x3375e1=this.fFar)),_0x3df632[0]=-2*_0x96ecf2,_0x3df632[1]=0,_0x3df632[2]=0,_0x3df632[3]=0,_0x3df632[4]=0,_0x3df632[5]=-2*_0x46d60e,_0x3df632[6]=0,_0x3df632[7]=0,_0x3df632[8]=0,_0x3df632[9]=0,_0x3df632[10]=2*_0x1c6a24,_0x3df632[11]=0,_0x3df632[12]=(0+_0x32a0a5)*_0x96ecf2,_0x3df632[13]=(_0x795abf+0)*_0x46d60e,_0x3df632[14]=(_0x3375e1+_0x1a74cd)*_0x1c6a24,_0x3df632[15]=1,this.matProj[12]=0,this.matProj[13]=0):_0x185e6a(this.matProj,this.fFov,_0x2d988a/_0x1f59e3,this.fNear,this.fFar),this.vecEye=_0x44d4fb(0,0,this.fScale),this.vecCenter=_0x44d4fb(0,0,-100),this.vecUp=_0x44d4fb(0,1,0);var _0x228fe1=_0x44d4fb(1,0,0),_0x503de9=_0x44d4fb(0,1,0),_0x38cdc8=_0x44d4fb(0,0,1),_0xfff066=_0x3c3846();_0x268367(_0xfff066,this.vecEye,this.vecCenter,this.vecUp);var _0x43d219=_0x3c3846(),_0x2ac5c7=_0x3c3846(),_0x2ad8d6=_0x3c3846(),_0x19823a=_0x3c3846();_0x476940(_0x2ac5c7,_0x43d219,-this.fAlpha,_0x228fe1),_0x476940(_0x2ad8d6,_0x2ac5c7,-this.fTheta,_0x503de9),_0x476940(_0x19823a,_0x2ad8d6,-this.fBeta,_0x38cdc8),_0x561b4d(this.matView,_0xfff066,_0x19823a)}var _0x3df632,_0x32a0a5,_0x795abf,_0x1a74cd,_0x3375e1,_0x96ecf2,_0x46d60e,_0x1c6a24}},{key:"GetView",value:function(){return this.matView}},{key:"GetProj",value:function(){return this.matProj}}]),_0x509287}(),_0x1d9cb6=function(){function _0x4a386e(){_0x5e6040(this,_0x4a386e),this.fFov=1.57,this.fAspect=1,this.fNear=.1,this.fFar=1e3,this.fAlpha=0,this.fTheta=0,this.fScale=1,this.bPano=!1,this.matView=_0x3c3846(),this.matProj=_0x3c3846(),this.vecEye=_0x44d4fb(0,0,.99),this.vecCenter=_0x44d4fb(0,0,-100),this.vecUp=_0x44d4fb(0,1,0)}return _0x1af9be(_0x4a386e,[{key:"SetPitch",value:function(_0x203a5b){this.fAlpha=_0x203a5b}},{key:"GetPitch",value:function(){return this.fAlpha}},{key:"SetYaw",value:function(_0xc35bb9){this.fTheta=_0xc35bb9}},{key:"GetYaw",value:function(){return this.fTheta}},{key:"SetScale",value:function(_0x3ff157){this.fScale=_0x3ff157}},{key:"GetScale",value:function(){return this.fScale}},{key:"SetFov",value:function(_0x361584){this.fFov=_0x361584}},{key:"SetAspect",value:function(_0x2de68e){this.fAspect=_0x2de68e}},{key:"SetNear",value:function(_0x3d78bc){this.fNear=_0x3d78bc}},{key:"SetPano",value:function(_0x287a33){this.bPano=_0x287a33}},{key:"SetFar",value:function(_0x207d48){this.fFar=_0x207d48}},{key:"UpdateCamera",value:function(_0x232ddf,_0x1cdd44){if(!(_0x232ddf<=0||_0x1cdd44<=0)){var _0xc638e4=_0x232ddf/_0x1cdd44;1==this.bPano?(_0x185e6a(this.matProj,this.fScale,_0xc638e4,this.fNear,this.fFar),this.matProj[0]=-1*this.matProj[0],this.matProj[5]*=-1):(_0x185e6a(this.matProj,this.fFov+this.fScale-1,_0xc638e4,this.fNear,this.fFar),this.matProj[0]=this.matProj[0]*((this.fAlpha- -1.57)/3.1415926*.5-1),this.matProj[5]=this.matProj[0]*_0xc638e4);var _0x2912b4=_0x44d4fb(1,0,0),_0x3fc047=_0x44d4fb(0,1,0),_0x492e17=_0x3c3846();_0x268367(_0x492e17,this.vecEye,this.vecCenter,this.vecUp);var _0x3f6e33=_0x3c3846(),_0x1443c6=_0x3c3846(),_0x574e42=_0x3c3846();_0x476940(_0x1443c6,_0x3f6e33,-this.fAlpha,_0x2912b4),_0x476940(_0x574e42,_0x1443c6,-this.fTheta,_0x3fc047),_0x561b4d(this.matView,_0x492e17,_0x574e42)}}},{key:"GetView",value:function(){return this.matView}},{key:"GetProj",value:function(){return this.matProj}}]),_0x4a386e}(),_0x5d30d5=function(){function _0x30fb6d(){_0x5e6040(this,_0x30fb6d),this.onlySupportedWebGL1=!1,this.videoShaderProgram=0,this.vertexPosBuffer=0,this.texturePosBuffer=0,this.indicesPosBuffer=0,this.ctx=null,this.enPixelFormat=_0x568e47.SR_PF_NULL,this.nTextureNum=0,this.nSurfaceTexture=[],this.nSurfaceTexture[0]=0,this.nSurfaceTexture[1]=0,this.nSurfaceTexture[2]=0,this.frameDisplayWidth=0,this.frameDisplayHeight=0,this.bSrcRect=!1,this.fSrcUseLeft=0,this.fSrcUseRight=1,this.fSrcUseTop=0,this.fSrcUseBottom=1,this.fDstUseLeft=0,this.fDstUseRight=1,this.fDstUseTop=0,this.fDstUseBottom=1,this.nPostProc=0,this.fBrightness=0,this.fHue=0,this.fSaturation=0,this.fContrast=0,this.fSharpness=0,this.nWndWidth=0,this.nWndHeight=0,this.bCullBack=!1,this.nImageRotateAngle=_0x3166e4.SR_IRA_0,this.matRotate=_0x3c3846(),this.bIsCapturing=!1,this.nCaptureWidth=0,this.nCaptureHeight=0,this.nCaptureRTTex=0,this.nCaptureFBO=0,this.nCaptureFBOWidth=0,this.nCaptureFBOHeight=0,this.nCaptureDepthbuffer=0,this.bCaptureResInit=!1,this.pFishParamManager=null,this.nFECPort=-1,this.pstFishParam=[],this.fRX1=0,this.fRX2=1,this.fRY1=0,this.fRY2=1,this.b3DPort=!1,this.pCamera=null,this.fRotateX=0,this.fRotateY=0,this.fScale=0,this.fRotateLimitX=0,this.fRotateLimitY=0,this.pSemiSpherePos=null,this.pSemiSphereTex=null,this.nSemiSpherePosNum=0,this.nSemiSpherePosSize=0,this.nSemiSphereTexSize=0,this.pSpherePos=null,this.pSphereTex=null,this.pSphereInd=null,this.nSpherePosNum=0,this.nSpherePosSize=0,this.nSphereTexSize=0,this.pCylinderPos=null,this.pCylinderTex=null,this.nCylinderPosNum=0,this.nCylinderPosSize=0,this.nCylinderTexSize=0,this.fCylinderHeight=0,this.fCylinderRadius=0,this.pArcSpherePos=null,this.pArcSphereTex=null,this.nArcSpherePosNum=0,this.nArcSpherePosSize=0,this.nArcSphereTexSize=0,this.fImageWidth=1,this.fImageHeight=1,this.fTexCenterX=.5,this.fTexCenterY=.5,this.fTexRadius=.5,this.pfuncCBIn=null,this.pUserIn=null,this.pfuncCBOut=null,this.pUserOut=null,this.nMosaicShaderProgram=0,this.nLineShaderProgram=0,this.nMaxPointNum=0,this.pLinePosVertices=null,this.pLineClrVertices=null,this.glLinePosBuffer=0,this.glLineClrBuffer=0,this.nLineTriangleNum=0,this.pFillBlockPosVertices=null,this.pFillBlockClrVertices=null,this.nMaxFillBlockTriNum=0,this.glBlockPosBuffer=0,this.glBlockClrBuffer=0,this.nBlockShaderProgram=0,this.textCanvas=null,this.textCanvasCtx=null,this.nDrawFontWidth=0,this.nDrawFontHeight=0,this.nFontColorTexture=0,this.pFontColorBuffer=0,this.nFontShaderProgram=0,this.nFontBGNum=0,this.pstFontBGLines=[],this.pFontPosVertices=null,this.glFontVertexPosBuffer=0,this.glFontTexturePosBuffer=0,this.nImageShaderProgram=0,this.pImagePosVertices=null,this.pImageClrVertices=null,this.glImagePosBuffer=0,this.glImageClrBuffer=0,this.nImageColorTexture=null,this.nDrawImageWidth=0,this.nDrawImageHeight=0,this.nImageColorTextures=[],this.nImageColorTextures[0]=0,this.nImageColorTextures[1]=0,this.nImageColorTextures[2]=0,this.bFirstDrawImage=!0,this.bAntialias=!1,this.bRenderToTex=!1,this.msaaFrameBuffer=0,this.renderBuffer=0,this.stOriginalDisplayRect={},this.bCaptureOriginal=!1}return _0x1af9be(_0x30fb6d,[{key:"SetCanvasSize",value:function(_0xc273e8,_0x41e541){return _0xc273e8<=0||_0x41e541<=0?_0x13ebaa.SR_ERR_PARAM:(this.nWndWidth=_0xc273e8,this.nWndHeight=_0x41e541,_0x13ebaa.SR_OK)}},{key:"Init",value:function(_0x395f43,_0x4738d3,_0x2e58d6,_0x4ae767){if(null==_0x395f43)return _0x13ebaa.SR_ERR_PARAM;if(null==this.ctx&&(this.ctx=_0x395f43),_0x4738d3==_0x568e47.SR_PF_NULL)return _0x13ebaa.SR_ERR_NOT_SUPPORT;var _0x4bbeae=_0x13ebaa.SR_OK;return _0x2e58d6!=_0x2e016d.SR_DE_FISH_SEMISPHERE&&_0x2e58d6!=_0x2e016d.SR_DE_PANORAMA_SPHERE&&_0x2e58d6!=_0x2e016d.SR_DE_PANORAMA_PLANET&&_0x2e58d6!=_0x2e016d.SR_DE_FISH_CYLINDER_CEILING&&_0x2e58d6!=_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR&&_0x2e58d6!=_0x2e016d.SR_DE_FISH_PLANET&&_0x2e58d6!=_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING&&_0x2e58d6!=_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR&&_0x2e58d6!=_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL&&_0x2e58d6!=_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL||(this.b3DPort=!0,this.ctx.enable(this.ctx.DEPTH_TEST),this.ctx.depthFunc(this.ctx.LESS),this.ctx.depthMask(!0)),_0x4bbeae=this._InitVideoVertex(_0x4738d3,_0x2e58d6,_0x4ae767),_0x13ebaa.SR_OK!=_0x4bbeae?_0x4bbeae:(_0x4bbeae=this._InitVideoShader(_0x4738d3,_0x2e58d6),_0x13ebaa.SR_OK!=_0x4bbeae?_0x4bbeae:(_0x4bbeae=this._InitCamera(_0x2e58d6),_0x13ebaa.SR_OK!=_0x4bbeae?_0x4bbeae:(this.enPixelFormat=_0x4738d3,this.enDisplayEffect=_0x2e58d6,_0x2e58d6!=_0x2e016d.SR_DE_FISH_SEMISPHERE&&_0x2e58d6!=_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL&&_0x2e58d6!=_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL||this.ctx.enable(this.ctx.CULL_FACE),_0x13ebaa.SR_OK)))}},{key:"DeInit",value:function(){}},{key:"SetTextureNum",value:function(_0x32783f){return this.nTextureNum=_0x32783f,_0x13ebaa.SR_OK}},{key:"SetTextures",value:function(_0x57a84b,_0x369dfc){return this.nSurfaceTexture[_0x57a84b]=_0x369dfc,_0x13ebaa.SR_OK}},{key:"SetWndResolution",value:function(_0x319238,_0x25b150){return _0x319238<=0||_0x25b150<=0?_0x13ebaa.SR_ERR_PARAM:(this.nWndWidth=_0x319238,this.nWndHeight=_0x25b150,_0x13ebaa.SR_OK)}},{key:"GetWndResolution",value:function(_0x37a5a9){return _0x37a5a9.nWndWidth=this.nWndWidth,_0x37a5a9.nWndHeight=this.nWndHeight,_0x13ebaa.SR_OK}},{key:"SetDisplayRect",value:function(_0x28d06a,_0x1067bf,_0x51a6c7,_0x5b4406,_0x5c2085){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;if(this.b3DPort)return _0x13ebaa.SR_ERR_NOT_SUPPORT;var _0x4ae6a7=_0x28d06a,_0x537be0=_0x1067bf,_0x205494=_0x28d06a+_0x51a6c7,_0x38711b=_0x1067bf+_0x5b4406,_0x5e74b8=null,_0x4daa0e=null;switch(_0x5c2085){case _0x1ee49f.SR_SRT_SRC:if(this.frameDisplayWidth>0&&this.frameDisplayHeight>0){if(this.fSrcUseLeft=_0x4ae6a7/this.frameDisplayWidth,this.fSrcUseLeft<0?this.fSrcUseLeft=0:this.fSrcUseLeft>1&&(this.fSrcUseLeft=1),this.fSrcUseTop=_0x537be0/this.frameDisplayHeight,this.fSrcUseTop<0?this.fSrcUseTop=0:this.fSrcUseTop>1&&(this.fSrcUseTop=1),this.fSrcUseRight=_0x205494/this.frameDisplayWidth,this.fSrcUseRight<0?this.fSrcUseRight=0:this.fSrcUseRight>1&&(this.fSrcUseRight=1),this.fSrcUseBottom=_0x38711b/this.frameDisplayHeight,this.fSrcUseBottom<0?this.fSrcUseBottom=0:this.fSrcUseBottom>1&&(this.fSrcUseBottom=1),this.fSrcUseLeft>=this.fSrcUseRight||this.fSrcUseTop>=this.fSrcUseBottom)return _0x13ebaa.SR_ERR_PARAM;if(_0x3166e4.SR_IRA_0==this.nImageRotateAngle)_0x5e74b8=new Float32Array([this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom]);else if(_0x3166e4.SR_IRA_90==this.nImageRotateAngle){var _0x5df830=this.fSrcUseTop,_0x3e1ddf=this.fSrcUseBottom,_0x506afc=1-this.fSrcUseRight,_0x3a91b8=1-this.fSrcUseLeft;this.fSrcUseLeft=_0x5df830,this.fSrcUseRight=_0x3e1ddf,this.fSrcUseTop=_0x506afc,this.fSrcUseBottom=_0x3a91b8,_0x5e74b8=new Float32Array([this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop])}else if(_0x3166e4.SR_IRA_180==this.nImageRotateAngle){var _0x19239a=1-this.fSrcUseRight,_0x2a445a=1-this.fSrcUseLeft,_0x1ae579=1-this.fSrcUseBottom,_0xa86f45=1-this.fSrcUseTop;this.fSrcUseLeft=_0x19239a,this.fSrcUseRight=_0x2a445a,this.fSrcUseTop=_0x1ae579,this.fSrcUseBottom=_0xa86f45,_0x5e74b8=new Float32Array([this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseTop])}else if(_0x3166e4.SR_IRA_270==this.nImageRotateAngle){var _0x10b888=1-this.fSrcUseBottom,_0x2fe437=1-this.fSrcUseTop,_0x2c2a9a=this.fSrcUseLeft,_0x16b374=this.fSrcUseRight;this.fSrcUseLeft=_0x10b888,this.fSrcUseRight=_0x2fe437,this.fSrcUseTop=_0x2c2a9a,this.fSrcUseBottom=_0x16b374,_0x5e74b8=new Float32Array([this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom])}this.bSrcRect=!0}else _0x5e74b8=new Float32Array([this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom]),this.bSrcRect=!1;this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.texturePosBuffer),this.ctx.bufferSubData(this.ctx.ARRAY_BUFFER,0,_0x5e74b8),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),_0x5e74b8=null;break;case _0x1ee49f.SR_SRT_DST:if(this.frameDisplayWidth>0&&this.frameDisplayHeight>0){if(this.fDstUseLeft=_0x4ae6a7/this.frameDisplayWidth,this.fDstUseLeft<0?this.fDstUseLeft=0:this.fDstUseLeft>1&&(this.fDstUseLeft=1),this.fDstUseTop=_0x537be0/this.frameDisplayHeight,this.fDstUseTop<0?this.fDstUseTop=0:this.fDstUseTop>1&&(this.fDstUseTop=1),this.fDstUseRight=_0x205494/this.frameDisplayWidth,this.fDstUseRight<0?this.fDstUseRight=0:this.fDstUseRight>1&&(this.fDstUseRight=1),this.fDstUseBottom=_0x38711b/this.frameDisplayHeight,this.fDstUseBottom<0?this.fDstUseBottom=0:this.fDstUseBottom>1&&(this.fDstUseBottom=1),this.fDstUseLeft>=this.fDstUseRight||this.fDstUseTop>=this.fDstUseBottom)return _0x13ebaa.SR_ERR_PARAM;(_0x4daa0e=new Float32Array(12))[0]=2*this.fDstUseLeft-1,_0x4daa0e[1]=1-2*this.fDstUseTop,_0x4daa0e[2]=2*this.fDstUseLeft-1,_0x4daa0e[3]=1-2*this.fDstUseBottom,_0x4daa0e[4]=2*this.fDstUseRight-1,_0x4daa0e[5]=1-2*this.fDstUseTop,_0x4daa0e[6]=2*this.fDstUseRight-1,_0x4daa0e[7]=1-2*this.fDstUseTop,_0x4daa0e[8]=2*this.fDstUseLeft-1,_0x4daa0e[9]=1-2*this.fDstUseBottom,_0x4daa0e[10]=2*this.fDstUseRight-1,_0x4daa0e[11]=1-2*this.fDstUseBottom,this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.vertexPosBuffer),this.ctx.bufferSubData(this.ctx.ARRAY_BUFFER,0,_0x4daa0e),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),_0x4daa0e=null}break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}return _0x13ebaa.SR_OK}},{key:"SetImagePostProcess",value:function(_0x2b423f,_0x2121ca){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;if(_0xf5a5d5.SR_PPT_SHARPNESS==_0x2b423f||_0xf5a5d5.SR_PPT_HUE==_0x2b423f){if(0-_0x2121ca>1e-6||_0x2121ca-1>1e-6)return _0x13ebaa.SR_ERR_PARAM}else if((_0xf5a5d5.SR_PPT_BRIGHTNESS==_0x2b423f||_0xf5a5d5.SR_PPT_SATURATION==_0x2b423f||_0xf5a5d5.SR_PPT_CONTRAST==_0x2b423f)&&(-1-_0x2121ca>1e-6||_0x2121ca-1>1e-6))return _0x13ebaa.SR_ERR_PARAM;switch(_0x2b423f){case _0xf5a5d5.SR_PPT_BRIGHTNESS:this.fBrightness=_0x2121ca;break;case _0xf5a5d5.SR_PPT_HUE:this.fHue=_0x2121ca;break;case _0xf5a5d5.SR_PPT_SATURATION:this.fSaturation=_0x2121ca;break;case _0xf5a5d5.SR_PPT_CONTRAST:this.fContrast=_0x2121ca;break;case _0xf5a5d5.SR_PPT_SHARPNESS:this.fSharpness=_0x2121ca;break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}return Math.abs(this.fBrightness-0)<1e-6&&Math.abs(this.fHue-0)<1e-6&&Math.abs(this.fSaturation-0)<1e-6&&Math.abs(this.fContrast-0)<1e-6&&Math.abs(this.fSharpness-0)<1e-6?this.nPostProc=0:this.nPostProc=1,_0x13ebaa.SR_OK}},{key:"SetRenderState",value:function(_0x56fa66,_0x1952ea){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;switch(_0x56fa66){case _0x4f7506.SR_RST_VERTICALFLIP:if(this.b3DPort)return _0x13ebaa.SR_ERR_NOT_SUPPORT;break;case _0x4f7506.SR_RST_BACK_CULL:if(!this.b3DPort)return _0x13ebaa.SR_ERR_NOT_SUPPORT;Math.abs(_0x1952ea-0)<1e-6?this.bCullBack=!1:this.bCullBack=!0;break;case _0x4f7506.SR_RST_IMAGE_ROTATE:if(this.b3DPort)return _0x13ebaa.SR_ERR_NOT_SUPPORT;var _0x2de978=null,_0x2feb9e=_0x3166e4.SR_IRA_0,_0x48bc95=_0x44d4fb(0,0,1),_0x2cd223=_0x3c3846();if(Math.abs(_0x1952ea-0)<1e-6){if(this.nImageRotateAngle==_0x2feb9e)break;_0x2de978=this.bSrcRect?new Float32Array([this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom]):new Float32Array([0,0,0,1,1,0,1,0,0,1,1,1]),_0x488335(this.matRotate)}else if(Math.abs(_0x1952ea-90)<1e-6){if(_0x2feb9e=_0x3166e4.SR_IRA_90,this.nImageRotateAngle==_0x2feb9e)break;_0x2de978=this.bSrcRect?new Float32Array([this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop]):new Float32Array([0,1,1,1,0,0,0,0,1,1,1,0]),_0x476940(this.matRotate,_0x2cd223,1.5707963,_0x48bc95)}else if(Math.abs(_0x1952ea-180)<1e-6){if(_0x2feb9e=_0x3166e4.SR_IRA_180,this.nImageRotateAngle==_0x2feb9e)break;_0x2de978=this.bSrcRect?new Float32Array([this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseLeft,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseTop]):new Float32Array([1,1,1,0,0,1,0,1,1,0,0,0]),_0x476940(this.matRotate,_0x2cd223,3.1415926,_0x48bc95)}else{if(!(Math.abs(_0x1952ea-270)<1e-6))return _0x13ebaa.SR_ERR_PARAM;if(_0x2feb9e=_0x3166e4.SR_IRA_270,this.nImageRotateAngle==_0x2feb9e)break;_0x2de978=this.bSrcRect?new Float32Array([this.fSrcUseRight,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseRight,this.fSrcUseBottom,this.fSrcUseLeft,this.fSrcUseTop,this.fSrcUseLeft,this.fSrcUseBottom]):new Float32Array([1,0,0,0,1,1,1,1,0,0,0,1]),_0x476940(this.matRotate,_0x2cd223,3*3.1415926/2,_0x48bc95)}if(null==_0x2de978)return _0x13ebaa.SR_ERR_NOT_SUPPORT;var _0x504a83=this.ctx.createBuffer();this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,_0x504a83),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,_0x2de978,this.ctx.STATIC_DRAW),this.texturePosBuffer=_0x504a83,this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.nImageRotateAngle=_0x2feb9e;break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}return _0x13ebaa.SR_OK}},{key:"SetVideoResolution",value:function(_0x1e17d1,_0x489439){return null==this.ctx||_0x1e17d1<=0||_0x489439<=0?_0x13ebaa.SR_ERR_CALL_ORDER:(this.frameDisplayWidth=_0x1e17d1,this.frameDisplayHeight=_0x489439,_0x13ebaa.SR_OK)}},{key:"GetCaptureSize",value:function(_0x2091f2){var _0x519d4c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==_0x2091f2.nWidth||null==_0x2091f2.nWidth||null==_0x2091f2.nHeight||null==_0x2091f2.nHeight)return _0x13ebaa.SR_ERR_PARAM;if(1==_0x519d4c&&this.b3DPort)return _0x13ebaa.SR_ERR_NOT_SUPPORT;var _0x502392=0,_0x1b34ca=0;if(0==_0x2091f2.nWidth&&0==_0x2091f2.nHeight)switch(this.enDisplayEffect){case _0x2e016d.SR_DE_FISH_PTZ_WALL:case _0x2e016d.SR_DE_FISH_PTZ_CEILING:case _0x2e016d.SR_DE_FISH_PTZ_FLOOR:_0x502392=Math.round(5*this.frameDisplayHeight/8),_0x1b34ca=Math.round(3*_0x502392/4);break;case _0x2e016d.SR_DE_NULL:_0x519d4c?(_0x502392=Math.round(this.frameDisplayWidth),_0x1b34ca=Math.round(this.frameDisplayHeight)):(_0x502392=Math.round((this.fSrcUseRight-this.fSrcUseLeft)*this.frameDisplayWidth),_0x1b34ca=Math.round((this.fSrcUseBottom-this.fSrcUseTop)*this.frameDisplayHeight));break;case _0x2e016d.SR_DE_FISH_ORIGINAL:case _0x2e016d.SR_DE_FISH_SEMISPHERE:case _0x2e016d.SR_DE_PANORAMA_SPHERE:case _0x2e016d.SR_DE_PANORAMA_PLANET:case _0x2e016d.SR_DE_FISH_CYLINDER_CEILING:case _0x2e016d.SR_DE_FISH_CYLINDER_FLOOR:case _0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:case _0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:case _0x2e016d.SR_DE_FISH_PLANET:case _0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING:case _0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR:_0x502392=Math.round(this.frameDisplayWidth),_0x1b34ca=Math.round(this.frameDisplayHeight);break;case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360:case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360:this.frameDisplayHeight>=2048?(_0x502392=6144,_0x1b34ca=864):this.frameDisplayHeight>=1536&&2048>this.frameDisplayHeight?(_0x502392=4096,_0x1b34ca=576):(_0x502392=Math.round(3.14*this.frameDisplayHeight/1.6),_0x1b34ca=Math.round(9*this.frameDisplayWidth/16),_0x502392=Math.round(2*_0x502392),_0x1b34ca=Math.round(_0x1b34ca/2));break;case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_180:case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_180:this.frameDisplayHeight>=3072?(_0x502392=4096,_0x1b34ca=2304):this.frameDisplayHeight>=2048&&3072>this.frameDisplayHeight?(_0x502392=3072,_0x1b34ca=1728):this.frameDisplayHeight>=1536&&2048>this.frameDisplayHeight?(_0x502392=2048,_0x1b34ca=1152):(_0x502392=Math.round(3.14*this.frameDisplayHeight/1.6),_0x1b34ca=Math.round(9*_0x502392/16));break;case _0x2e016d.SR_DE_FISH_PANORAMA_WALL:_0x502392=Math.round(this.frameDisplayHeight),_0x1b34ca=Math.round(9*_0x502392/16);break;default:return _0x13ebaa.SR_ERR_PARAM}else _0x502392=Math.round(_0x2091f2.nWidth),_0x1b34ca=Math.round(_0x2091f2.nHeight);return _0x502392<16||_0x1b34ca<16?_0x13ebaa.SR_ERR_PARAM:(this.nCaptureWidth=4*Math.round(_0x502392/4),this.nCaptureHeight=Math.round(_0x1b34ca),_0x2091f2.nWidth=this.nCaptureWidth,_0x2091f2.nHeight=this.nCaptureHeight,_0x2091f2.nBufferLen=this.nCaptureWidth*this.nCaptureHeight*4,this.bCaptureOriginal=_0x519d4c,_0x13ebaa.SR_OK)}},{key:"CaptureScreen",value:function(_0x2800f5,_0x25a558){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;var _0xdf1011=_0x13ebaa.SR_OK;if(_0xdf1011=this._BeginCapture(),_0x13ebaa.SR_OK!=_0xdf1011)return this.bIsCapturing=!1,_0xdf1011;if(1==this.bCaptureOriginal&&(this.stOriginalDisplayRect.fLeft=this.fSrcUseLeft*this.frameDisplayWidth,this.stOriginalDisplayRect.fTop=this.fSrcUseTop*this.frameDisplayHeight,this.stOriginalDisplayRect.fWidth=(this.fSrcUseRight-this.fSrcUseLeft)*this.frameDisplayWidth,this.stOriginalDisplayRect.fHeight=(this.fSrcUseBottom-this.fSrcUseTop)*this.frameDisplayHeight,_0xdf1011=this.SetDisplayRect(0,0,this.frameDisplayWidth,this.frameDisplayHeight,_0x1ee49f.SR_SRT_SRC),_0x13ebaa.SR_OK!=_0xdf1011))return this.bIsCapturing=!1,_0xdf1011;if(0==this.videoShaderProgram||0==this.vertexPosBuffer||0==this.texturePosBuffer)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_CALL_ORDER;this.ctx.useProgram(this.videoShaderProgram),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.vertexPosBuffer);var _0x2ed4a4=this.ctx.getAttribLocation(this.videoShaderProgram,"position");if(_0x2ed4a4<0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.b3DPort?this.ctx.vertexAttribPointer(_0x2ed4a4,3,this.ctx.FLOAT,!1,0,0):this.ctx.vertexAttribPointer(_0x2ed4a4,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(_0x2ed4a4),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.texturePosBuffer);var _0x1ada05=this.ctx.getAttribLocation(this.videoShaderProgram,"texCoord");if(_0x1ada05<0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.vertexAttribPointer(_0x1ada05,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(_0x1ada05),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null);var _0x4f3d6a=this.enDisplayEffect,_0xa892fc=this.ctx.getUniformLocation(this.videoShaderProgram,"bCapture");if(_0xa892fc<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(_0xa892fc,1);var _0x4f51d8=this.ctx.getUniformLocation(this.videoShaderProgram,"bDataFormat");if(_0x4f51d8<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;switch(this.enPixelFormat){case _0x568e47.SR_PF_YV12:case _0x568e47.SR_PF_I420:this.ctx.uniform1i(_0x4f51d8,0);break;case _0x568e47.SR_PF_NV12:break;case _0x568e47.SR_PF_RGBA32:case _0x568e47.SR_PF_SURFACE:this.ctx.uniform1i(_0x4f51d8,1);break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}var _0xa5cf3b=this.ctx.getUniformLocation(this.videoShaderProgram,"bDrawImage");this.ctx.uniform1i(_0xa5cf3b,0);var _0x2d6d6f=this.ctx.getUniformLocation(this.videoShaderProgram,"fAlpha");switch(this.ctx.uniform1f(_0x2d6d6f,0),_0x4f3d6a){case _0x2e016d.SR_DE_NULL:break;case _0x2e016d.SR_DE_FISH_ORIGINAL:case _0x2e016d.SR_DE_FISH_PTZ_CEILING:case _0x2e016d.SR_DE_FISH_PTZ_FLOOR:case _0x2e016d.SR_DE_FISH_PTZ_WALL:case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360:case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_180:case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360:case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_180:case _0x2e016d.SR_DE_FISH_PANORAMA_WALL:if(null==this.pFishParamManager)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_CALL_ORDER;var _0x38b005={},_0x4e5cd4=_0x13ebaa.SR_OK;if(_0x4e5cd4=this.pFishParamManager.GetRenderParam(this.nFECPort,_0x38b005),_0x13ebaa.SR_OK!=_0x4e5cd4)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x4e5cd4;if(_0x2e016d.SR_DE_FISH_ORIGINAL==_0x4f3d6a){var _0x4ac334=this.ctx.getUniformLocation(this.videoShaderProgram,"bBlack");if(_0x4ac334<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(_0x4ac334,_0x38b005.bBlack);var _0x21567=this.ctx.getUniformLocation(this.videoShaderProgram,"bCut");if(_0x21567<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(_0x21567,_0x38b005.bCut)}if(_0x2e016d.SR_DE_FISH_PTZ_CEILING==_0x4f3d6a||_0x2e016d.SR_DE_FISH_PTZ_FLOOR==_0x4f3d6a||_0x2e016d.SR_DE_FISH_PTZ_WALL==_0x4f3d6a){var _0x4e455a=this.ctx.getUniformLocation(this.videoShaderProgram,"fHAngleCos");if(_0x4e455a<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x4e455a,_0x38b005.fCosH);var _0x2fb924=this.ctx.getUniformLocation(this.videoShaderProgram,"fHAngleSin");if(_0x2fb924<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x2fb924,_0x38b005.fSinH);var _0x3bbdeb=this.ctx.getUniformLocation(this.videoShaderProgram,"fVAngleCos");if(_0x3bbdeb<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x3bbdeb,_0x38b005.fCosV);var _0xadeb09=this.ctx.getUniformLocation(this.videoShaderProgram,"fVAngleSin");if(_0xadeb09<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0xadeb09,_0x38b005.fSinV);var _0x4b3a90=this.ctx.getUniformLocation(this.videoShaderProgram,"fZoom");if(_0x4b3a90<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x4b3a90,_0x38b005.fZoom)}if(_0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360==_0x4f3d6a||_0x2e016d.SR_DE_FISH_PANORAMA_CEILING_180==_0x4f3d6a||_0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360==_0x4f3d6a||_0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_180==_0x4f3d6a){var _0x2bb1c9=this.ctx.getUniformLocation(this.videoShaderProgram,"fAngle");if(_0x2bb1c9<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x2bb1c9,_0x38b005.fAngle)}var _0x268443=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX1");if(_0x268443<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x268443,_0x38b005.fRXLeft);var _0x409c02=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX2");if(_0x409c02<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x409c02,_0x38b005.fRXRight);var _0x563fd1=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY1");if(_0x563fd1<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x563fd1,_0x38b005.fRYTop);var _0x567a4c=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY2");if(_0x567a4c<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x567a4c,_0x38b005.fRYBottom);break;case _0x2e016d.SR_DE_FISH_SEMISPHERE:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(3.14-this.fRotateX),this.pCamera.SetYaw(-this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var _0x17cb68=this.pCamera.GetView(),_0x5c003b=this.pCamera.GetProj(),_0x5000f=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(_0x5000f<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x5000f,!1,_0x17cb68);var _0x1a22d0=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(_0x1a22d0<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x1a22d0,!1,_0x5c003b);break;case _0x2e016d.SR_DE_PANORAMA_SPHERE:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(3.14-this.fRotateX),this.pCamera.SetYaw(this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var _0x4fb89c=this.pCamera.GetView(),_0x26062d=this.pCamera.GetProj(),_0x31dd0c=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(_0x31dd0c<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x31dd0c,!1,_0x4fb89c);var _0x39af51=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(_0x39af51<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x39af51,!1,_0x26062d);break;case _0x2e016d.SR_DE_FISH_CYLINDER_CEILING:case _0x2e016d.SR_DE_FISH_CYLINDER_FLOOR:case _0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:case _0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(-this.fRotateX),this.pCamera.SetYaw(-this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var _0x5b2f66=this.pCamera.GetView(),_0xfb34e0=this.pCamera.GetProj(),_0x545389=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(_0x545389<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x545389,!1,_0x5b2f66);var _0x257590=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(_0x257590<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x257590,!1,_0xfb34e0);break;case _0x2e016d.SR_DE_FISH_PLANET:case _0x2e016d.SR_DE_PANORAMA_PLANET:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(this.fRotateX),this.pCamera.SetYaw(3.14+this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var _0x315a54=this.pCamera.GetView(),_0x39400b=this.pCamera.GetProj(),_0xcdc213=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(_0xcdc213<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0xcdc213,!1,_0x315a54);var _0x38f510=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(_0x38f510<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x38f510,!1,_0x39400b);break;case _0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING:case _0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR:if(null==this.pFishParamManager)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_CALL_ORDER;var _0x1bed16={},_0x350d90=_0x13ebaa.SR_OK;if(_0x350d90=this.pFishParamManager.GetRenderParam(this.nFECPort,_0x1bed16),_0x13ebaa.SR_OK!=_0x350d90)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x350d90;this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(-this.fRotateX),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var _0x50693a=this.pCamera.GetView(),_0x6464a9=this.pCamera.GetProj(),_0x58fe39=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(_0x58fe39<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x58fe39,!1,_0x50693a);var _0x30aa1b,_0x3fa638=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(_0x3fa638<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x3fa638,!1,_0x6464a9),_0x30aa1b=Math.abs(.785-this.fRotateX)<.0025?.785:this.fRotateX;var _0x34f687=new Float32Array([0,1,0,2*-_0x30aa1b]),_0x2abd8a=this.ctx.getUniformLocation(this.videoShaderProgram,"vecCylinderParam");if(_0x2abd8a<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(this.ctx.uniform4f(_0x2abd8a,_0x34f687[0],_0x34f687[1],_0x34f687[2],_0x34f687[3]),_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING==this.enDisplayEffect){var _0x1f92b6=this.ctx.getUniformLocation(this.videoShaderProgram,"fTextureOffset");if(_0x1f92b6<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x1f92b6,this.fRotateY)}else{var _0x43d7f5=this.ctx.getUniformLocation(this.videoShaderProgram,"fTextureOffset");if(_0x43d7f5<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x43d7f5,-this.fRotateY)}var _0x4a6dc5=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX1");if(_0x4a6dc5<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x4a6dc5,_0x1bed16.fRXLeft);var _0x55a69c=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX2");if(_0x55a69c<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x55a69c,_0x1bed16.fRXRight);var _0x58be13=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY1");if(_0x58be13<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x58be13,_0x1bed16.fRYTop);var _0xeb61b=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY2");if(_0xeb61b<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0xeb61b,_0x1bed16.fRYBottom);break;default:return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_NOT_SUPPORT}if(this.nCaptureWidth<=0||this.nCaptureHeight<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_CANVAS;if(this.ctx.viewport(0,0,this.nCaptureWidth,this.nCaptureHeight),this.ctx.clearColor(0,0,0,1),this.ctx.clear(this.ctx.COLOR_BUFFER_BIT|this.ctx.DEPTH_BUFFER_BIT),this.b3DPort&&(this.ctx.enable(this.ctx.DEPTH_TEST),this.ctx.depthFunc(this.ctx.LESS),this.ctx.depthMask(!0),1==this.bCullBack?this.ctx.enable(this.ctx.CULL_FACE):this.ctx.disable(this.ctx.CULL_FACE)),this.enPixelFormat==_0x568e47.SR_PF_RGBA32||this.enPixelFormat==_0x568e47.SR_PF_SURFACE){this.ctx.activeTexture(this.ctx.TEXTURE0),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[0]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var _0x53044c=this.ctx.getUniformLocation(this.videoShaderProgram,"Ytexture");this.ctx.uniform1i(_0x53044c,0)}else{if(this.enPixelFormat!=_0x568e47.SR_PF_YV12&&this.enPixelFormat!=_0x568e47.SR_PF_I420)return _0x13ebaa.SR_ERR_NOT_SUPPORT;this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[0]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var _0xd53edb=this.ctx.getUniformLocation(this.videoShaderProgram,"Ytexture");this.ctx.uniform1i(_0xd53edb,0),this.ctx.activeTexture(this.ctx.TEXTURE1),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[1]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var _0x27a7fc=this.ctx.getUniformLocation(this.videoShaderProgram,"Utexture");this.ctx.uniform1i(_0x27a7fc,1),this.ctx.activeTexture(this.ctx.TEXTURE2),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[2]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var _0x8100e2=this.ctx.getUniformLocation(this.videoShaderProgram,"Vtexture");this.ctx.uniform1i(_0x8100e2,2)}if(this.onlySupportedWebGL1||this.ctx.clearBufferfi(this.ctx.DEPTH_STENCIL,0,1,0),0==this.b3DPort)this.ctx.drawArrays(this.ctx.TRIANGLES,0,6);else if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_SEMISPHERE||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_PLANET){if(this.nSemiSpherePosNum<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_CALL_ORDER;this.ctx.drawArrays(this.ctx.TRIANGLES,0,this.nSemiSpherePosNum)}else if(this.enDisplayEffect==_0x2e016d.SR_DE_PANORAMA_SPHERE||this.enDisplayEffect==_0x2e016d.SR_DE_PANORAMA_PLANET){if(this.nSpherePosNum<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_CALL_ORDER;this.ctx.bindBuffer(this.ctx.ELEMENT_ARRAY_BUFFER,this.indicesPosBuffer),this.ctx.drawElements(this.ctx.TRIANGLES,6*this.nSpherePosNum,this.ctx.UNSIGNED_SHORT,0),this.ctx.bindBuffer(this.ctx.ELEMENT_ARRAY_BUFFER,null)}else if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_CEILING||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR){if(this.nCylinderPosNum<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_CALL_ORDER;this.ctx.drawArrays(this.ctx.TRIANGLES,0,this.nCylinderPosNum)}else if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL){if(this.nArcSpherePosNum<=0)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_CALL_ORDER;this.ctx.drawArrays(this.ctx.TRIANGLES,0,this.nArcSpherePosNum)}if(this.ctx.useProgram(null),_0x25a558||this.DoCallBack(),1==this.bCaptureOriginal){var _0x37846e=this.nImageRotateAngle;if(this.bSrcRect=!1,_0xdf1011=this.SetRenderState(_0x4f7506.SR_RST_IMAGE_ROTATE,0),_0x13ebaa.SR_OK!=_0xdf1011)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0xdf1011;if(_0xdf1011=this.SetDisplayRect(this.stOriginalDisplayRect.fLeft,this.stOriginalDisplayRect.fTop,this.stOriginalDisplayRect.fWidth,this.stOriginalDisplayRect.fHeight,_0x1ee49f.SR_SRT_SRC),_0x13ebaa.SR_OK!=_0xdf1011)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0xdf1011;switch(this.bSrcRect=!0,_0x37846e){case _0x3166e4.SR_IRA_0:_0xdf1011=this.SetRenderState(_0x4f7506.SR_RST_IMAGE_ROTATE,0);break;case _0x3166e4.SR_IRA_90:_0xdf1011=this.SetRenderState(_0x4f7506.SR_RST_IMAGE_ROTATE,90);break;case _0x3166e4.SR_IRA_180:_0xdf1011=this.SetRenderState(_0x4f7506.SR_RST_IMAGE_ROTATE,180);break;case _0x3166e4.SR_IRA_270:_0xdf1011=this.SetRenderState(_0x4f7506.SR_RST_IMAGE_ROTATE,270);break;default:return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_NOT_SUPPORT}if(_0x13ebaa.SR_OK!=_0xdf1011)return this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0xdf1011}return _0xdf1011=this._EndCapture(_0x2800f5),_0x13ebaa.SR_OK!=_0xdf1011?_0xdf1011:_0x13ebaa.SR_OK}},{key:"SetWebGL2Support",value:function(_0x4fb781){return this.onlySupportedWebGL1=_0x4fb781,_0x13ebaa.SR_OK}},{key:"SetFishParamManager",value:function(_0x2596f6){return this.pFishParamManager=_0x2596f6,_0x13ebaa.SR_OK}},{key:"SetFECPort",value:function(_0x367ddd){return this.nFECPort=_0x367ddd,_0x13ebaa.SR_OK}},{key:"Render",value:function(_0x5ca29e){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;switch(this.ctx.useProgram(this.videoShaderProgram),this.enPixelFormat){case _0x568e47.SR_PF_YV12:case _0x568e47.SR_PF_I420:this.ctx.activeTexture(this.ctx.TEXTURE0),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[0]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var _0x49cfe2=this.ctx.getUniformLocation(this.videoShaderProgram,"Ytexture");this.ctx.uniform1i(_0x49cfe2,0),this.ctx.activeTexture(this.ctx.TEXTURE1),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[1]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var _0x17ce8d=this.ctx.getUniformLocation(this.videoShaderProgram,"Utexture");this.ctx.uniform1i(_0x17ce8d,1),this.ctx.activeTexture(this.ctx.TEXTURE2),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[2]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var _0x588902=this.ctx.getUniformLocation(this.videoShaderProgram,"Vtexture");this.ctx.uniform1i(_0x588902,2);break;case _0x568e47.SR_PF_SURFACE:this.ctx.activeTexture(this.ctx.TEXTURE0),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[0]),!this.onlySupportedWebGL1&&this.bAntialias&&this.ctx.generateMipmap(this.ctx.TEXTURE_2D);var _0x8b866c=this.ctx.getUniformLocation(this.videoShaderProgram,"Ytexture");this.ctx.uniform1i(_0x8b866c,0);break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}var _0x438fcf=this.ctx.getUniformLocation(this.videoShaderProgram,"bCapture");if(_0x438fcf<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(_0x438fcf,0);var _0x116a50=this.ctx.getUniformLocation(this.videoShaderProgram,"bDataFormat");if(_0x116a50<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;switch(this.enPixelFormat){case _0x568e47.SR_PF_YV12:case _0x568e47.SR_PF_I420:this.ctx.uniform1i(_0x116a50,0);break;case _0x568e47.SR_PF_NV12:break;case _0x568e47.SR_PF_RGBA32:case _0x568e47.SR_PF_SURFACE:this.ctx.uniform1i(_0x116a50,1)}switch(this.enDisplayEffect){case _0x2e016d.SR_DE_NULL:if(this.nPostProc){var _0x58753e=this.ctx.getUniformLocation(this.videoShaderProgram,"fBrightness");if(_0x58753e<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x58753e,this.fBrightness);var _0xc18b14=this.ctx.getUniformLocation(this.videoShaderProgram,"fHue");if(_0xc18b14<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0xc18b14,this.fHue);var _0x24522e=this.ctx.getUniformLocation(this.videoShaderProgram,"fSaturation");if(_0x24522e<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x24522e,this.fSaturation);var _0x5aa50b=this.ctx.getUniformLocation(this.videoShaderProgram,"fContrast");if(_0x5aa50b<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x5aa50b,this.fContrast);var _0x11e0d7=this.ctx.getUniformLocation(this.videoShaderProgram,"fSharpness");if(_0x11e0d7<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x11e0d7,this.fSharpness);var _0x559d29=this.ctx.getUniformLocation(this.videoShaderProgram,"fWndWidth");if(_0x559d29<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x559d29,this.nWndWidth);var _0x4761b0=this.ctx.getUniformLocation(this.videoShaderProgram,"fWndHeight");if(_0x4761b0<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x4761b0,this.nWndHeight)}var _0x17156e=this.ctx.getUniformLocation(this.videoShaderProgram,"nPostProc");this.ctx.uniform1i(_0x17156e,this.nPostProc);break;case _0x2e016d.SR_DE_FISH_ORIGINAL:case _0x2e016d.SR_DE_FISH_PTZ_CEILING:case _0x2e016d.SR_DE_FISH_PTZ_FLOOR:case _0x2e016d.SR_DE_FISH_PTZ_WALL:case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360:case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_180:case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360:case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_180:case _0x2e016d.SR_DE_FISH_PANORAMA_WALL:if(_0x2e016d.SR_DE_FISH_ORIGINAL==this.enDisplayEffect){var _0x4ece31=this.ctx.getUniformLocation(this.videoShaderProgram,"bBlack");if(_0x4ece31<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(_0x4ece31,this.pstFishParam.bBlack);var _0x119fac=this.ctx.getUniformLocation(this.videoShaderProgram,"bCut");if(_0x119fac<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(_0x119fac,this.pstFishParam.bCut)}if(_0x2e016d.SR_DE_FISH_PTZ_CEILING==this.enDisplayEffect||_0x2e016d.SR_DE_FISH_PTZ_FLOOR==this.enDisplayEffect||_0x2e016d.SR_DE_FISH_PTZ_WALL==this.enDisplayEffect){var _0x5e641a=this.ctx.getUniformLocation(this.videoShaderProgram,"fHAngleCos");if(_0x5e641a<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x5e641a,this.pstFishParam.fCosH);var _0x54cbcb=this.ctx.getUniformLocation(this.videoShaderProgram,"fHAngleSin");if(_0x54cbcb<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x54cbcb,this.pstFishParam.fSinH);var _0x214d19=this.ctx.getUniformLocation(this.videoShaderProgram,"fVAngleCos");if(_0x214d19<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x214d19,this.pstFishParam.fCosV);var _0x5c9578=this.ctx.getUniformLocation(this.videoShaderProgram,"fVAngleSin");if(_0x5c9578<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x5c9578,this.pstFishParam.fSinV);var _0x42d73d=this.ctx.getUniformLocation(this.videoShaderProgram,"fZoom");if(_0x42d73d<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x42d73d,this.pstFishParam.fZoom)}if(_0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360==this.enDisplayEffect||_0x2e016d.SR_DE_FISH_PANORAMA_CEILING_180==this.enDisplayEffect||_0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360==this.enDisplayEffect||_0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_180==this.enDisplayEffect){var _0x116df2=this.ctx.getUniformLocation(this.videoShaderProgram,"fAngle");if(_0x116df2<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x116df2,this.pstFishParam.fAngle)}var _0x3d10a5=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX1");if(_0x3d10a5<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x3d10a5,this.pstFishParam.fRXLeft);var _0x243165=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX2");if(_0x243165<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x243165,this.pstFishParam.fRXRight);var _0x36d154=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY1");if(_0x36d154<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x36d154,this.pstFishParam.fRYTop);var _0x3802e5=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY2");if(_0x3802e5<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x3802e5,this.pstFishParam.fRYBottom);break;case _0x2e016d.SR_DE_FISH_SEMISPHERE:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(3.14-this.fRotateX),this.pCamera.SetYaw(-this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var _0x763ce2=this.pCamera.GetView(),_0x162200=this.pCamera.GetProj(),_0x47c1be=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(_0x47c1be<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x47c1be,!1,_0x763ce2);var _0xbb3291=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(_0xbb3291<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0xbb3291,!1,_0x162200);break;case _0x2e016d.SR_DE_PANORAMA_SPHERE:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(3.14-this.fRotateX),this.pCamera.SetYaw(this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var _0x1c0d64=this.pCamera.GetView(),_0x5af12a=this.pCamera.GetProj(),_0x3f2e56=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(_0x3f2e56<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x3f2e56,!1,_0x1c0d64);var _0x4754f2=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(_0x4754f2<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x4754f2,!1,_0x5af12a);break;case _0x2e016d.SR_DE_FISH_CYLINDER_CEILING:case _0x2e016d.SR_DE_FISH_CYLINDER_FLOOR:case _0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:case _0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(-this.fRotateX),this.pCamera.SetYaw(-this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var _0x506024=this.pCamera.GetView(),_0x5cfad1=this.pCamera.GetProj(),_0x2d5536=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(_0x2d5536<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x2d5536,!1,_0x506024);var _0x4a441e=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(_0x4a441e<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x4a441e,!1,_0x5cfad1);break;case _0x2e016d.SR_DE_FISH_PLANET:case _0x2e016d.SR_DE_PANORAMA_PLANET:this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(this.fRotateX),this.pCamera.SetYaw(3.14+this.fRotateY),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var _0x5007a8=this.pCamera.GetView(),_0x22ac8a=this.pCamera.GetProj(),_0x455e79=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(_0x455e79<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x455e79,!1,_0x5007a8);var _0x245cd2=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(_0x245cd2<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x245cd2,!1,_0x22ac8a);var _0x2c2819=this.ctx.getUniformLocation(this.videoShaderProgram,"bDrawImage");if(_0x2c2819<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(_0x2c2819,0);var _0x12ff32=this.ctx.getUniformLocation(this.videoShaderProgram,"fAlpha");if(_0x12ff32<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x12ff32,0);break;case _0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING:case _0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR:if(null==this.pFishParamManager)return _0x13ebaa.SR_ERR_CALL_ORDER;this.pCamera.SetScale(this.fScale),this.pCamera.SetPitch(-this.fRotateX),this.pCamera.UpdateCamera(this.nWndWidth,this.nWndHeight);var _0x1b5efc=this.pCamera.GetView(),_0x585f10=this.pCamera.GetProj(),_0x584703=this.ctx.getUniformLocation(this.videoShaderProgram,"matView");if(_0x584703<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x584703,!1,_0x1b5efc);var _0x57df0a,_0x1fde01=this.ctx.getUniformLocation(this.videoShaderProgram,"matProj");if(_0x1fde01<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x1fde01,!1,_0x585f10),_0x57df0a=Math.abs(.785-this.fRotateX)<.0025?.785:this.fRotateX;var _0x58ae28=new Float32Array([0,1,0,2*-_0x57df0a]),_0x30b99c=this.ctx.getUniformLocation(this.videoShaderProgram,"vecCylinderParam");if(_0x30b99c<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(this.ctx.uniform4f(_0x30b99c,_0x58ae28[0],_0x58ae28[1],_0x58ae28[2],_0x58ae28[3]),_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING==this.enDisplayEffect){var _0x2785d0=this.ctx.getUniformLocation(this.videoShaderProgram,"fTextureOffset");if(_0x2785d0<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x2785d0,this.fRotateY)}else{var _0x31228f=this.ctx.getUniformLocation(this.videoShaderProgram,"fTextureOffset");if(_0x31228f<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x31228f,-this.fRotateY)}var _0x5dcf61={},_0x43ef76=_0x13ebaa.SR_OK;if(_0x43ef76=this.pFishParamManager.GetRenderParam(this.nFECPort,_0x5dcf61),_0x13ebaa.SR_OK!=_0x43ef76)return _0x43ef76;var _0x16fb05=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX1");if(_0x16fb05<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x16fb05,_0x5dcf61.fRXLeft);var _0x1c406e=this.ctx.getUniformLocation(this.videoShaderProgram,"fRX2");if(_0x1c406e<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x1c406e,_0x5dcf61.fRXRight);var _0x476614=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY1");if(_0x476614<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x476614,_0x5dcf61.fRYTop);var _0x2bbc71=this.ctx.getUniformLocation(this.videoShaderProgram,"fRY2");if(_0x2bbc71<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x2bbc71,_0x5dcf61.fRYBottom);var _0x4aee1c=this.ctx.getUniformLocation(this.videoShaderProgram,"bDrawImage");if(_0x4aee1c<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1i(_0x4aee1c,0);var _0x1d96e1=this.ctx.getUniformLocation(this.videoShaderProgram,"fAlpha");if(_0x1d96e1<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x1d96e1,0);break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.vertexPosBuffer);var _0x97936b=this.ctx.getAttribLocation(this.videoShaderProgram,"position");if(_0x97936b<0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.b3DPort?this.ctx.vertexAttribPointer(_0x97936b,3,this.ctx.FLOAT,!1,0,0):this.ctx.vertexAttribPointer(_0x97936b,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(_0x97936b),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.texturePosBuffer);var _0xe48da5=this.ctx.getAttribLocation(this.videoShaderProgram,"texCoord");if(_0xe48da5<0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(this.ctx.vertexAttribPointer(_0xe48da5,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(_0xe48da5),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.viewport(0,0,this.nWndWidth,this.nWndHeight),this.onlySupportedWebGL1||this.ctx.clearBufferfi(this.ctx.DEPTH_STENCIL,0,1,0),this.ctx.clearColor(0,0,0,1),this.ctx.clear(this.ctx.COLOR_BUFFER_BIT|this.ctx.DEPTH_BUFFER_BIT),this.b3DPort&&(this.ctx.enable(this.ctx.DEPTH_TEST),this.ctx.depthFunc(this.ctx.LESS),this.ctx.depthMask(!0),1==this.bCullBack?this.ctx.enable(this.ctx.CULL_FACE):this.ctx.disable(this.ctx.CULL_FACE)),0==this.b3DPort)this.ctx.drawArrays(this.ctx.TRIANGLES,0,6);else if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_SEMISPHERE||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_PLANET){if(this.nSemiSpherePosNum<=0)return _0x13ebaa.SR_ERR_CALL_ORDER;this.ctx.drawArrays(this.ctx.TRIANGLES,0,this.nSemiSpherePosNum)}else if(this.enDisplayEffect==_0x2e016d.SR_DE_PANORAMA_SPHERE||this.enDisplayEffect==_0x2e016d.SR_DE_PANORAMA_PLANET){if(this.nSpherePosNum<=0)return _0x13ebaa.SR_ERR_CALL_ORDER;this.ctx.bindBuffer(this.ctx.ELEMENT_ARRAY_BUFFER,this.indicesPosBuffer),this.ctx.drawElements(this.ctx.TRIANGLES,6*this.nSpherePosNum,this.ctx.UNSIGNED_SHORT,0),this.ctx.bindBuffer(this.ctx.ELEMENT_ARRAY_BUFFER,null)}else if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_CEILING||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR){if(this.nCylinderPosNum<=0)return _0x13ebaa.SR_ERR_CALL_ORDER;this.ctx.drawArrays(this.ctx.TRIANGLES,0,this.nCylinderPosNum)}else if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL){if(this.nArcSpherePosNum<=0)return _0x13ebaa.SR_ERR_CALL_ORDER;this.ctx.drawArrays(this.ctx.TRIANGLES,0,this.nArcSpherePosNum)}return this.ctx.useProgram(null),_0x13ebaa.SR_OK}},{key:"SetAntialias",value:function(_0x497261){return null==this.ctx?_0x13ebaa.SR_ERR_CALL_ORDER:(this.bAntialias=_0x497261,_0x13ebaa.SR_OK)}},{key:"DelSubPort",value:function(){return null==this.ctx?_0x13ebaa.SR_ERR_CALL_ORDER:(0!=this.videoShaderProgram&&null!=this.ctx&&(this.ctx.deleteProgram(this.videoShaderProgram),this.videoShaderProgram=0),0!=this.vertexPosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.vertexPosBuffer),this.vertexPosBuffer=0),0!=this.texturePosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.texturePosBuffer),this.texturePosBuffer=0),0!=this.indicesPosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.indicesPosBuffer),this.indicesPosBuffer=0),this.nMaxPointNum=0,this.pLinePosVertices=null,this.pLineClrVertices=null,0!=this.glLinePosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.glLinePosBuffer),this.glLinePosBuffer=0),this.nLineTriangleNum=0,0!=this.nLineShaderProgram&&null!=this.ctx&&(this.ctx.deleteProgram(this.nLineShaderProgram),this.nLineShaderProgram=0),this.pFillBlockPosVertices=null,this.pFillBlockClrVertices=null,this.nMaxFillBlockTriNum=0,0!=this.glBlockPosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.glBlockPosBuffer),this.glBlockPosBuffer=0),0!=this.glBlockClrBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.glBlockClrBuffer),this.glBlockClrBuffer=0),0!=this.nBlockShaderProgram&&null!=this.ctx&&(this.ctx.deleteProgram(this.nBlockShaderProgram),this.nBlockShaderProgram=0),this.nDrawFontWidth=0,this.nDrawFontHeight=0,0!=this.nFontColorTexture&&null!=this.ctx&&(this.ctx.deleteTexture(this.nFontColorTexture),this.nFontColorTexture=0),this.pFontColorBuffer=0,0!=this.nFontShaderProgram&&null!=this.ctx&&(this.ctx.deleteProgram(this.nFontShaderProgram),this.nFontShaderProgram=0),this.pFontPosVertices=null,0!=this.glFontTexturePosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.glFontTexturePosBuffer),this.glFontTexturePosBuffer=0),0!=this.glFontVertexPosBuffer&&null!=this.ctx&&(this.ctx.deleteBuffer(this.glFontVertexPosBuffer),this.glFontVertexPosBuffer=0),0!=this.nCaptureRTTex&&(this.ctx.deleteTexture(this.nCaptureRTTex),this.nCaptureRTTex=0),0!=this.nCaptureFBO&&(this.ctx.deleteFramebuffer(this.nCaptureFBO),this.nCaptureFBO=0),0!=this.nCaptureDepthbuffer&&(this.ctx.deleteRenderbuffer(this.nCaptureDepthbuffer),this.nCaptureDepthbuffer=0),this.bCaptureResInit=!1,this.pSemiSpherePos=null,this.pSemiSphereTex=null,this.nSemiSpherePosNum=0,this.nSemiSpherePosSize=0,this.nSemiSphereTexSize=0,this.pSpherePos=null,this.pSphereTex=null,this.pSphereInd=null,this.nSpherePosNum=0,this.nSpherePosSize=0,this.nSphereTexSize=0,this.pCylinderPos=null,this.pCylinderTex=null,this.nCylinderPosNum=0,this.nCylinderPosSize=0,this.nCylinderTexSize=0,this.fCylinderHeight=0,this.fCylinderRadius=0,this.pArcSpherePos=null,this.pArcSphereTex=null,this.nArcSpherePosNum=0,this.nArcSpherePosSize=0,this.nArcSphereTexSize=0,this.b3DPort=!1,this.pCamera=null,this.fRotateX=0,this.fRotateY=0,this.fScale=0,this.pfuncCBIn=null,this.pfuncCBOut=null,this.pUserIn=null,this.pUserOut=null,this.ctx.disable(this.ctx.CULL_FACE),this.ctx.disable(this.ctx.DEPTH_TEST),_0x13ebaa.SR_OK)}},{key:"SetFishParam",value:function(_0x3ab715){return null==_0x3ab715?_0x13ebaa.SR_ERR_PARAM:(this.pstFishParam=_0x3ab715,_0x13ebaa.SR_OK)}},{key:"DrawLines",value:function(_0x426f1c,_0x3e0358,_0x16a057,_0x58acdb,_0x3bd21b,_0xc8ca7){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;var _0xefe4a1=[],_0x1165c6={};return _0x1165c6.pstPoints=_0x426f1c,_0x1165c6.nPointNum=_0x3e0358,_0x1165c6.bLoop=_0x16a057,_0x1165c6.pstColor=_0x58acdb,_0x1165c6.nLineWidth=_0x3bd21b,_0xefe4a1.push(_0x1165c6),this.DrawLinesEx(_0xefe4a1,1,_0x3e0358,_0xc8ca7)}},{key:"DrawLinesEx",value:function(_0x45fa0f,_0x56178f,_0x22cd71,_0x93228e){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==_0x45fa0f||_0x56178f<1||_0x22cd71<2)return _0x13ebaa.SR_ERR_PARAM;if(0==this.nLineShaderProgram){var _0x1ea693=this.CompileProgram("\n attribute vec3 position;\n attribute vec4 color;\n varying float pp;\n varying vec4 colorOut;\n uniform int bCapture; \n uniform mat4 matRotate;\n\n void main()\n {\n if(bCapture == 1)\n {\n gl_Position = vec4(position.x, position.y, 0.0, 1.0) * matRotate;\n gl_Position.y = -gl_Position.y;\n }\n else\n {\n gl_Position = vec4(position.x, position.y, 0.0, 1.0) * matRotate;\n }\n pp = position.z;\n colorOut = color;\n }\n",_0x3886c1);if(_0x1ea693<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.nLineShaderProgram=_0x1ea693}if(1==_0x93228e)return this.DrawFillBlock(_0x45fa0f,_0x56178f,_0x22cd71);for(var _0x2662dd=0,_0x3e9061=0;_0x3e9061<_0x56178f;++_0x3e9061){if(null==_0x45fa0f[_0x3e9061].pstPoints||_0x45fa0f[_0x3e9061].nPointNum<=1||_0x45fa0f[_0x3e9061].nPointNum>=1024||_0x45fa0f[_0x3e9061].nLineWidth<=0||null==_0x45fa0f[_0x3e9061].pstColor)return _0x13ebaa.SR_ERR_PARAM;_0x2662dd+=_0x45fa0f[_0x3e9061].nPointNum}if(_0x2662dd!=_0x22cd71)return _0x13ebaa.SR_ERR_PARAM;if((_0x2662dd+=_0x56178f)>this.nMaxPointNum&&(this.nMaxPointNum=_0x2662dd,this.pLinePosVertices=null,this.pLineClrVertices=null),null==this.pLinePosVertices&&(this.pLinePosVertices=new Float32Array(6*this.nMaxPointNum*3),null==this.pLinePosVertices))return _0x13ebaa.SR_ERR_ALLOC_MEMORY;if(this.pLinePosVertices.fill(0),null==this.pLineClrVertices&&(this.pLineClrVertices=new Float32Array(6*this.nMaxPointNum*4),null==this.pLineClrVertices))return _0x13ebaa.SR_ERR_ALLOC_MEMORY;if(this.pLineClrVertices.fill(0),0==this.glLinePosBuffer&&(this.glLinePosBuffer=this.ctx.createBuffer(),0==this.glLinePosBuffer))return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(0==this.glLineClrBuffer&&(this.glLineClrBuffer=this.ctx.createBuffer(),0==this.glLineClrBuffer))return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;var _0x27542a=this.ComputeLinePoint(_0x45fa0f,_0x56178f);if(_0x13ebaa.SR_OK!=_0x27542a)return _0x27542a;this.ctx.enable(this.ctx.BLEND),this.ctx.blendFuncSeparate(this.ctx.SRC_ALPHA,this.ctx.ONE_MINUS_SRC_ALPHA,this.ctx.ONE,this.ctx.ONE_MINUS_SRC_ALPHA);var _0xed935b=this.nLineShaderProgram;this.ctx.useProgram(_0xed935b);var _0x4551bc=this.ctx.getUniformLocation(this.nLineShaderProgram,"bCapture");if(_0x4551bc<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;1==this.bIsCapturing?this.ctx.uniform1i(_0x4551bc,1):this.ctx.uniform1i(_0x4551bc,0);var _0x21aa0c=this.glLinePosBuffer,_0x22e7f3=this.glLineClrBuffer,_0x513323=this.nLineTriangleNum,_0x19dbac=this.pLinePosVertices,_0x30d513=this.pLineClrVertices;this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,_0x21aa0c),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,_0x19dbac,this.ctx.STATIC_DRAW);var _0x2de0d3=this.ctx.getAttribLocation(_0xed935b,"position");this.ctx.enableVertexAttribArray(_0x2de0d3),this.ctx.vertexAttribPointer(_0x2de0d3,3,this.ctx.FLOAT,!1,0,0),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,_0x22e7f3),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,_0x30d513,this.ctx.STATIC_DRAW);var _0x36df82=this.ctx.getAttribLocation(_0xed935b,"color");this.ctx.enableVertexAttribArray(_0x36df82),this.ctx.vertexAttribPointer(_0x36df82,4,this.ctx.FLOAT,!1,0,0),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null);var _0x1a5a9a=this.ctx.getUniformLocation(_0xed935b,"matRotate");return _0x1a5a9a<=0?_0x13ebaa.SR_ERR_WEBGL_RESOURCE:(this.ctx.uniformMatrix4fv(_0x1a5a9a,!1,this.matRotate),1==this.bIsCapturing?this.ctx.viewport(0,0,this.nCaptureWidth,this.nCaptureHeight):this.ctx.viewport(0,0,this.nWndWidth,this.nWndHeight),this.ctx.disable(this.ctx.DEPTH_TEST),this.ctx.drawArrays(this.ctx.TRIANGLES,0,3*_0x513323),this.ctx.useProgram(null),this.ctx.disable(this.ctx.BLEND),this.b3DPort&&(this.ctx.enable(this.ctx.DEPTH_TEST),this.ctx.depthFunc(this.ctx.LESS),this.ctx.depthMask(!0),1==this.bCullBack?this.ctx.enable(this.ctx.CULL_FACE):this.ctx.disable(this.ctx.CULL_FACE)),_0x13ebaa.SR_OK)}},{key:"DrawFillBlock",value:function(_0x1d9ee1,_0x32efd2,_0xefe6ae){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==_0x1d9ee1||_0x32efd2<1||_0xefe6ae<2)return _0x13ebaa.SR_ERR_PARAM;for(var _0x4382f3=0,_0x271e92=0;_0x271e92<_0x32efd2;++_0x271e92){if(null==_0x1d9ee1[_0x271e92].pstPoints||_0x1d9ee1[_0x271e92].nPointNum<3||1!=_0x1d9ee1[_0x271e92].bLoop||null==_0x1d9ee1[_0x271e92].pstColor)return _0x13ebaa.SR_ERR_PARAM;_0x4382f3+=_0x1d9ee1[_0x271e92].nPointNum}if(_0x4382f3!==_0xefe6ae)return _0x13ebaa.SR_ERR_PARAM;var _0x24004e=_0xefe6ae-2*_0x32efd2;if(_0x24004e>this.nMaxFillBlockTriNum&&(this.pFillBlockPosVertices=null,this.pFillBlockClrVertices=null,this.nMaxFillBlockTriNum=_0x24004e),0==this.glBlockPosBuffer&&(this.glBlockPosBuffer=this.ctx.createBuffer(),0==this.glBlockPosBuffer))return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(0==this.glBlockClrBuffer&&(this.glBlockClrBuffer=this.ctx.createBuffer(),0==this.glBlockClrBuffer))return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(null==this.pFillBlockPosVertices){var _0x52d6e0=this.nMaxFillBlockTriNum;if(this.pFillBlockPosVertices=new Float32Array(3*_0x52d6e0*3),null==this.pFillBlockPosVertices)return _0x13ebaa.SR_ERR_ALLOC_MEMORY}if(this.pFillBlockPosVertices.fill(0),null==this.pFillBlockClrVertices){var _0x20739d=this.nMaxFillBlockTriNum;if(this.pFillBlockClrVertices=new Float32Array(4*_0x20739d*3),null==this.pFillBlockClrVertices)return _0x13ebaa.SR_ERR_ALLOC_MEMORY}this.pFillBlockClrVertices.fill(0);for(var _0xc42c0e=0,_0xc34d6=0,_0x27afa4=0,_0x4826c4=null,_0x23f787=null,_0x571036={},_0x15e1e2={},_0x3f1420={},_0x3f6c1c=0;_0x3f6c1c<_0x32efd2;++_0x3f6c1c){_0x27afa4=_0x1d9ee1[_0x3f6c1c].nPointNum,_0x4826c4=_0x1d9ee1[_0x3f6c1c].pstPoints,_0x23f787=_0x1d9ee1[_0x3f6c1c].pstColor,_0x571036.fX=(_0x4826c4[0].fX-this.fSrcUseLeft)/(this.fSrcUseRight-this.fSrcUseLeft),_0x571036.fX=this.fDstUseLeft+_0x571036.fX*(this.fDstUseRight-this.fDstUseLeft),_0x571036.fX=2*_0x571036.fX-1,_0x571036.fY=(_0x4826c4[0].fY-this.fSrcUseTop)/(this.fSrcUseBottom-this.fSrcUseTop),_0x571036.fY=this.fDstUseTop+_0x571036.fY*(this.fDstUseBottom-this.fDstUseTop),_0x571036.fY=1-2*_0x571036.fY;for(var _0x257e4f=1;_0x257e4f<_0x27afa4-1;_0x257e4f++)_0x15e1e2.fX=(_0x4826c4[_0x257e4f].fX-this.fSrcUseLeft)/(this.fSrcUseRight-this.fSrcUseLeft),_0x15e1e2.fX=this.fDstUseLeft+_0x15e1e2.fX*(this.fDstUseRight-this.fDstUseLeft),_0x15e1e2.fX=2*_0x15e1e2.fX-1,_0x15e1e2.fY=(_0x4826c4[_0x257e4f].fY-this.fSrcUseTop)/(this.fSrcUseBottom-this.fSrcUseTop),_0x15e1e2.fY=this.fDstUseTop+_0x15e1e2.fY*(this.fDstUseBottom-this.fDstUseTop),_0x15e1e2.fY=1-2*_0x15e1e2.fY,_0x3f1420.fX=(_0x4826c4[_0x257e4f+1].fX-this.fSrcUseLeft)/(this.fSrcUseRight-this.fSrcUseLeft),_0x3f1420.fX=this.fDstUseLeft+_0x3f1420.fX*(this.fDstUseRight-this.fDstUseLeft),_0x3f1420.fX=2*_0x3f1420.fX-1,_0x3f1420.fY=(_0x4826c4[_0x257e4f+1].fY-this.fSrcUseTop)/(this.fSrcUseBottom-this.fSrcUseTop),_0x3f1420.fY=this.fDstUseTop+_0x3f1420.fY*(this.fDstUseBottom-this.fDstUseTop),_0x3f1420.fY=1-2*_0x3f1420.fY,this.pFillBlockPosVertices[_0xc42c0e++]=_0x571036.fX,this.pFillBlockPosVertices[_0xc42c0e++]=_0x571036.fY,this.pFillBlockPosVertices[_0xc42c0e++]=0,this.pFillBlockClrVertices[_0xc34d6++]=_0x23f787.fR,this.pFillBlockClrVertices[_0xc34d6++]=_0x23f787.fG,this.pFillBlockClrVertices[_0xc34d6++]=_0x23f787.fB,this.pFillBlockClrVertices[_0xc34d6++]=_0x23f787.fA,this.pFillBlockPosVertices[_0xc42c0e++]=_0x15e1e2.fX,this.pFillBlockPosVertices[_0xc42c0e++]=_0x15e1e2.fY,this.pFillBlockPosVertices[_0xc42c0e++]=0,this.pFillBlockClrVertices[_0xc34d6++]=_0x23f787.fR,this.pFillBlockClrVertices[_0xc34d6++]=_0x23f787.fG,this.pFillBlockClrVertices[_0xc34d6++]=_0x23f787.fB,this.pFillBlockClrVertices[_0xc34d6++]=_0x23f787.fA,this.pFillBlockPosVertices[_0xc42c0e++]=_0x3f1420.fX,this.pFillBlockPosVertices[_0xc42c0e++]=_0x3f1420.fY,this.pFillBlockPosVertices[_0xc42c0e++]=0,this.pFillBlockClrVertices[_0xc34d6++]=_0x23f787.fR,this.pFillBlockClrVertices[_0xc34d6++]=_0x23f787.fG,this.pFillBlockClrVertices[_0xc34d6++]=_0x23f787.fB,this.pFillBlockClrVertices[_0xc34d6++]=_0x23f787.fA}if(0==this.nBlockShaderProgram&&(this.nBlockShaderProgram=this.CompileProgram("\n attribute vec3 position;\n attribute vec4 color;\n varying float pp;\n varying vec4 colorOut;\n uniform int bCapture; \n\n void main()\n {\n if(bCapture == 1)\n {\n gl_Position = vec4(position.x, position.y, 0.0, 1.0);\n gl_Position.y = -gl_Position.y;\n }\n else\n {\n gl_Position = vec4(position.x, position.y, 0.0, 1.0);\n }\n pp = position.z;\n colorOut = color;\n }\n",_0x3886c1),this.nBlockShaderProgram<=0))return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.enable(this.ctx.BLEND),this.ctx.blendFuncSeparate(this.ctx.SRC_ALPHA,this.ctx.ONE_MINUS_SRC_ALPHA,this.ctx.ONE,this.ctx.ONE_MINUS_SRC_ALPHA),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.glBlockPosBuffer),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,this.pFillBlockPosVertices,this.ctx.STATIC_DRAW),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.glBlockClrBuffer),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,this.pFillBlockClrVertices,this.ctx.STATIC_DRAW),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.useProgram(this.nBlockShaderProgram);var _0x82a7b7=this.ctx.getUniformLocation(this.nBlockShaderProgram,"bCapture");if(_0x82a7b7<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;1==this.bIsCapturing?this.ctx.uniform1i(_0x82a7b7,1):this.ctx.uniform1i(_0x82a7b7,0),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.glBlockPosBuffer);var _0x2e459d=this.ctx.getAttribLocation(this.nBlockShaderProgram,"position");this.ctx.enableVertexAttribArray(_0x2e459d),this.ctx.vertexAttribPointer(_0x2e459d,3,this.ctx.FLOAT,!1,0,0),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.glBlockClrBuffer);var _0x229c42=this.ctx.getAttribLocation(this.nBlockShaderProgram,"color");return this.ctx.enableVertexAttribArray(_0x229c42),this.ctx.vertexAttribPointer(_0x229c42,4,this.ctx.FLOAT,!1,0,0),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.drawArrays(this.ctx.TRIANGLES,0,3*_0x24004e),this.ctx.useProgram(null),this.ctx.disable(this.ctx.BLEND),_0x13ebaa.SR_OK}},{key:"ComputeLinePoint",value:function(_0x5ed892,_0x410ea0){if(null==_0x5ed892||_0x410ea0<1)return _0x13ebaa.SR_ERR_PARAM;if(null==this.pLinePosVertices||null==this.pLineClrVertices)return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x53f14c=0,_0xcc86=0;1==this.bIsCapturing?(_0x53f14c=(this.fDstUseRight-this.fDstUseLeft)*this.nCaptureWidth,_0xcc86=(this.fDstUseBottom-this.fDstUseTop)*this.nCaptureHeight):(_0x53f14c=(this.fDstUseRight-this.fDstUseLeft)*this.nWndWidth,_0xcc86=(this.fDstUseBottom-this.fDstUseTop)*this.nWndHeight);for(var _0x616600=0,_0x2207b4=0,_0x364174=0,_0x3303ab=0,_0x11ca1d=0,_0x2832b0=0,_0x560161=0,_0x2ab4e4=0,_0xa4ea10=0,_0x302b70=0,_0x590f9f=0,_0x3bf574=0;_0x3bf574<_0x410ea0;++_0x3bf574){var _0x120749=[];if(!((_0x590f9f=_0x5ed892[_0x3bf574].nPointNum)<=0)){for(var _0x3c0ffa=0;_0x3c0ffa<_0x590f9f;++_0x3c0ffa){var _0x214545={};_0x214545.fX=(_0x5ed892[_0x3bf574].pstPoints[_0x3c0ffa].fX-this.fSrcUseLeft)/(this.fSrcUseRight-this.fSrcUseLeft),_0x214545.fX=this.fDstUseLeft+_0x214545.fX*(this.fDstUseRight-this.fDstUseLeft),_0x214545.fX=2*_0x214545.fX-1,_0x214545.fY=(_0x5ed892[_0x3bf574].pstPoints[_0x3c0ffa].fY-this.fSrcUseTop)/(this.fSrcUseBottom-this.fSrcUseTop),_0x214545.fY=this.fDstUseTop+_0x214545.fY*(this.fDstUseBottom-this.fDstUseTop),_0x214545.fY=1-2*_0x214545.fY,_0x120749.push(_0x214545)}if(this.nWndWidth<=0||this.nWndHeight<=0)return _0x13ebaa.SR_ERR_CANVAS;if(_0x2832b0=3.5*_0x5ed892[_0x3bf574].nLineWidth/_0x53f14c,_0x560161=3.5*_0x5ed892[_0x3bf574].nLineWidth/_0xcc86,_0x2832b0<=0||_0x560161<=0)return _0x13ebaa.SR_ERR_PARAM;var _0x5bc944=_0x5ed892[_0x3bf574].pstColor;if(null==_0x5bc944||null==_0x5bc944)return _0x13ebaa.SR_ERR_PARAM;for(var _0x86d5af=0;_0x86d5af<_0x590f9f-1;++_0x86d5af)_0x2207b4=_0x120749[_0x86d5af+1].fX-_0x120749[_0x86d5af].fX,_0x364174=_0x120749[_0x86d5af+1].fY-_0x120749[_0x86d5af].fY,_0x616600=Math.sqrt(_0x2207b4*_0x2207b4+_0x364174*_0x364174),Math.abs(_0x616600-0)<1e-6||(_0x3303ab=-_0x2832b0*_0x364174/_0x616600/2,_0x11ca1d=_0x560161*_0x2207b4/_0x616600/2,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x86d5af].fX+_0x3303ab,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x86d5af].fY+_0x11ca1d,this.pLinePosVertices[_0xa4ea10++]=-1,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fR,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fG,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fB,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fA,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x86d5af+1].fX-_0x3303ab,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x86d5af+1].fY-_0x11ca1d,this.pLinePosVertices[_0xa4ea10++]=1,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fR,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fG,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fB,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fA,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x86d5af].fX-_0x3303ab,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x86d5af].fY-_0x11ca1d,this.pLinePosVertices[_0xa4ea10++]=1,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fR,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fG,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fB,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fA,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x86d5af].fX+_0x3303ab,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x86d5af].fY+_0x11ca1d,this.pLinePosVertices[_0xa4ea10++]=-1,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fR,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fG,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fB,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fA,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x86d5af+1].fX+_0x3303ab,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x86d5af+1].fY+_0x11ca1d,this.pLinePosVertices[_0xa4ea10++]=-1,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fR,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fG,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fB,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fA,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x86d5af+1].fX-_0x3303ab,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x86d5af+1].fY-_0x11ca1d,this.pLinePosVertices[_0xa4ea10++]=1,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fR,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fG,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fB,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fA,_0x2ab4e4+=2);1==_0x5ed892[_0x3bf574].bLoop&&2<_0x590f9f&&(_0x2207b4=_0x120749[_0x590f9f-1].fX-_0x120749[0].fX,_0x364174=_0x120749[_0x590f9f-1].fY-_0x120749[0].fY,_0x616600=Math.sqrt(_0x2207b4*_0x2207b4+_0x364174*_0x364174),Math.abs(_0x616600-0)>1e-6&&(_0x3303ab=-_0x2832b0*_0x364174/_0x616600/2,_0x11ca1d=_0x560161*_0x2207b4/_0x616600/2,this.pLinePosVertices[_0xa4ea10++]=_0x120749[0].fX+_0x3303ab,this.pLinePosVertices[_0xa4ea10++]=_0x120749[0].fY+_0x11ca1d,this.pLinePosVertices[_0xa4ea10++]=-1,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fR,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fG,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fB,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fA,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x590f9f-1].fX-_0x3303ab,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x590f9f-1].fY-_0x11ca1d,this.pLinePosVertices[_0xa4ea10++]=1,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fR,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fG,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fB,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fA,this.pLinePosVertices[_0xa4ea10++]=_0x120749[0].fX-_0x3303ab,this.pLinePosVertices[_0xa4ea10++]=_0x120749[0].fY-_0x11ca1d,this.pLinePosVertices[_0xa4ea10++]=1,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fR,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fG,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fB,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fA,this.pLinePosVertices[_0xa4ea10++]=_0x120749[0].fX+_0x3303ab,this.pLinePosVertices[_0xa4ea10++]=_0x120749[0].fY+_0x11ca1d,this.pLinePosVertices[_0xa4ea10++]=-1,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fR,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fG,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fB,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fA,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x590f9f-1].fX+_0x3303ab,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x590f9f-1].fY+_0x11ca1d,this.pLinePosVertices[_0xa4ea10++]=-1,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fR,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fG,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fB,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fA,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x590f9f-1].fX-_0x3303ab,this.pLinePosVertices[_0xa4ea10++]=_0x120749[_0x590f9f-1].fY-_0x11ca1d,this.pLinePosVertices[_0xa4ea10++]=1,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fR,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fG,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fB,this.pLineClrVertices[_0x302b70++]=_0x5bc944.fA,_0x2ab4e4+=2))}}return 0==_0x2ab4e4?_0x13ebaa.SR_ERR_PARAM:(this.nLineTriangleNum=_0x2ab4e4,_0x13ebaa.SR_OK)}},{key:"DrawFont",value:function(_0x363717,_0x24dc13,_0x3b3eb6,_0x4dcdeb,_0x41b434,_0x446bd5,_0x273cc6,_0xc4a614,_0x1b889f,_0x3bac4a,_0x1e0d68){return _0x13ebaa.SR_ERR_NOT_SUPPORT}},{key:"DrawFontEx",value:function(_0x1d7621,_0x16b4bf){var _0x2c3738=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,_0x2fbe81=arguments.length>3?arguments[3]:void 0;if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;if(0>_0x16b4bf||null==_0x1d7621)return _0x13ebaa.SR_ERR_PARAM;var _0x45cc65,_0x4c86d2,_0x3ab7ab=0,_0x54688a=0;if(1==this.bIsCapturing){if(0==this.nCaptureWidth||0==this.nCaptureHeight)return _0x13ebaa.SR_ERR_CALL_ORDER;_0x3ab7ab=Math.round((this.fDstUseRight-this.fDstUseLeft)*this.nCaptureWidth),_0x54688a=Math.round((this.fDstUseBottom-this.fDstUseTop)*this.nCaptureHeight)}else _0x3ab7ab=Math.round((this.fDstUseRight-this.fDstUseLeft)*this.nWndWidth),_0x54688a=Math.round((this.fDstUseBottom-this.fDstUseTop)*this.nWndHeight);if(this.nDrawFontWidth==_0x3ab7ab&&this.nDrawFontHeight==_0x54688a||(this.pFontColorBuffer=null,this.nFontColorTexture=0,this.nDrawFontWidth=_0x3ab7ab,this.nDrawFontHeight=_0x54688a),0==this.nFontColorTexture){if(this.nFontColorTexture=this.ctx.createTexture(),0==this.nFontColorTexture)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nFontColorTexture),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MAG_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_S,this.ctx.CLAMP_TO_EDGE),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_T,this.ctx.CLAMP_TO_EDGE)}if(null==this.textCanvas){if(this.textCanvas=_0x2fbe81,null==this.textCanvas)return _0x13ebaa.SR_ERR_FONT;if(this.textCanvasCtx=this.textCanvas.getContext("2d"),null==this.textCanvasCtx)return _0x13ebaa.SR_ERR_FONT}this.textCanvasCtx.canvas.width=this.nDrawFontWidth,this.textCanvasCtx.canvas.height=this.nDrawFontHeight,this.textCanvasCtx.clearRect(0,0,this.nDrawFontWidth,this.nDrawFontHeight);for(var _0x595213=0;_0x595213<_0x16b4bf;++_0x595213){var _0x58e41a=_0x1d7621[_0x595213].nFontWidth,_0x4e2bb6=_0x1d7621[_0x595213].nFontHeight;1==this.bIsCapturing&&(_0x58e41a=Math.round(this.nCaptureWidth/this.nWndWidth*_0x58e41a),_0x4e2bb6=Math.round(this.nCaptureHeight/this.nWndHeight*_0x4e2bb6));var _0x11f4bc=_0x58e41a<_0x4e2bb6?_0x58e41a:_0x4e2bb6;this.textCanvasCtx.font="".concat(_0x11f4bc,"px ").concat(_0x1d7621[_0x595213].pFontFamily),this.textCanvasCtx.textAlign=_0x1d7621[_0x595213].textAlign||"left",this.textCanvasCtx.textBaseline=_0x1d7621[_0x595213].textBaseline||"top",this.textCanvasCtx.save();var _0x3f5bd9=_0x1d7621[_0x595213].pstStartPos.fX*this.nDrawFontWidth,_0x52a2d2=_0x1d7621[_0x595213].pstStartPos.fY*this.nDrawFontHeight;if(this.textCanvasCtx.translate(_0x3f5bd9,_0x52a2d2),this.textCanvasCtx.rotate(_0x1d7621[_0x595213].fRotateAngle*Math.PI/180),_0x1d7621[_0x595213].bBackGround){var _0x1d5e70=_0x1d7621[_0x595213].pstStartPos.fX,_0x4a8820=_0x1d7621[_0x595213].pstStartPos.fY,_0x114522=this.textCanvasCtx.measureText(_0x1d7621[_0x595213].pString).width,_0x9b532e=_0x11f4bc;switch(this.textCanvasCtx.textAlign){case"center":_0x1d5e70-=_0x114522/2;break;case"right":case"end":_0x1d5e70-=_0x114522}switch(this.textCanvasCtx.textBaseline){case"top":case"hanging":break;case"middle":_0x4a8820-=_0x9b532e/2;break;default:_0x4a8820-=_0x9b532e}var _0x276359=_0x1d7621[_0x595213].pstBGColor;this.textCanvasCtx.fillStyle="rgb(".concat(255*_0x276359.fR,", ").concat(255*_0x276359.fG,", ").concat(255*_0x276359.fB,")"),this.textCanvasCtx.globalAlpha=_0x276359.fA,this.textCanvasCtx.fillRect(_0x1d5e70,_0x4a8820,_0x114522,_0x9b532e)}var _0x8fbbf8=_0x1d7621[_0x595213].pstFontColor;this.textCanvasCtx.fillStyle="rgb(".concat(255*_0x8fbbf8.fR,", ").concat(255*_0x8fbbf8.fG,", ").concat(255*_0x8fbbf8.fB,")"),this.textCanvasCtx.globalAlpha=_0x1d7621[_0x595213].pstFontColor.fA,this.textCanvasCtx.fillText(_0x1d7621[_0x595213].pString,0,0),this.textCanvasCtx.restore()}if(this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nFontColorTexture),this.ctx.texImage2D(this.ctx.TEXTURE_2D,0,this.ctx.RGBA,this.ctx.RGBA,this.ctx.UNSIGNED_BYTE,this.textCanvasCtx.canvas),0==this.nFontShaderProgram&&(this.nFontShaderProgram=this.CompileProgram("\n attribute vec4 position;\n attribute vec4 texCoord;\n varying vec4 pp; \n uniform int bCapture;\n uniform mat4 matRotate;\n\n void main()\n { \n gl_Position.x = position.x;\n gl_Position.y = position.y;\n if(bCapture == 1)\n {\n gl_Position.y = -position.y;\n }\n gl_Position.z = 0.1;\n gl_Position.w = 1.0;\n pp = matRotate * texCoord; \n }\n","\n varying lowp vec4 pp;\n uniform sampler2D texture;\n\n void main(void)\n {\n gl_FragColor = texture2D(texture, pp.st);\n }\n"),this.nFontShaderProgram<=0))return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(1==this.bIsCapturing?(_0x45cc65=this.nCaptureWidth,_0x4c86d2=this.nCaptureHeight):(_0x45cc65=this.nWndWidth,_0x4c86d2=this.nWndHeight),1==_0x2c3738){if(0==this.glFontVertexPosBuffer){var _0x31ad2d=new Float32Array([-1,-1,0,1,-1,0,1,1,0,-1,1,0]),_0x24db33=this.ctx.createBuffer();this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,_0x24db33),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,_0x31ad2d,this.ctx.STATIC_DRAW),this.glFontVertexPosBuffer=_0x24db33,_0x31ad2d=0}if(0==this.glFontTexturePosBuffer){var _0xc3396=new Float32Array([0,1,1,1,1,0,0,0]),_0x5e095b=this.ctx.createBuffer();this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,_0x5e095b),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,_0xc3396,this.ctx.STATIC_DRAW),this.glFontTexturePosBuffer=_0x5e095b,_0xc3396=0}}this.ctx.viewport(0,0,_0x45cc65,_0x4c86d2),this.ctx.enable(this.ctx.BLEND),this.ctx.blendFuncSeparate(this.ctx.SRC_ALPHA,this.ctx.ONE_MINUS_SRC_ALPHA,this.ctx.ONE,this.ctx.ONE_MINUS_SRC_ALPHA),this.ctx.useProgram(this.nFontShaderProgram);var _0x34584d=this.ctx.getUniformLocation(this.nFontShaderProgram,"bCapture");if(_0x34584d<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;1==this.bIsCapturing?this.ctx.uniform1i(_0x34584d,1):this.ctx.uniform1i(_0x34584d,0),this.ctx.activeTexture(this.ctx.TEXTURE0),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nFontColorTexture);var _0x3dfe88=this.ctx.getUniformLocation(this.nFontShaderProgram,"texture");this.ctx.uniform1i(_0x3dfe88,0);var _0x29cc2b=_0x3c3846(),_0x18ab81=_0x3c3846(),_0x54bf07=_0x3c3846();_0x561b4d(_0x54bf07,_0x29cc2b,_0x18ab81);var _0x15e4f0=this.ctx.getUniformLocation(this.nFontShaderProgram,"matRotate");if(_0x15e4f0<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x15e4f0,!1,_0x54bf07),1==_0x2c3738?this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.glFontVertexPosBuffer):this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.vertexPosBuffer);var _0x575bf4=this.ctx.getAttribLocation(this.nFontShaderProgram,"position");this.ctx.enableVertexAttribArray(_0x575bf4),1==_0x2c3738?this.ctx.vertexAttribPointer(_0x575bf4,3,this.ctx.FLOAT,!1,0,0):this.ctx.vertexAttribPointer(_0x575bf4,2,this.ctx.FLOAT,!1,0,0),1==_0x2c3738?this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.glFontTexturePosBuffer):this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.texturePosBuffer);var _0x2de95c=this.ctx.getAttribLocation(this.nFontShaderProgram,"texCoord");return this.ctx.enableVertexAttribArray(_0x2de95c),this.ctx.vertexAttribPointer(_0x2de95c,2,this.ctx.FLOAT,!1,0,0),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.disable(this.ctx.DEPTH_TEST),1==_0x2c3738?this.ctx.drawArrays(this.ctx.TRIANGLE_FAN,0,4):this.ctx.drawArrays(this.ctx.TRIANGLES,0,6),this.ctx.bindTexture(this.ctx.TEXTURE_2D,null),this.ctx.useProgram(null),this.ctx.disable(this.ctx.BLEND),this.b3DPort&&(this.ctx.enable(this.ctx.DEPTH_TEST),this.ctx.depthFunc(this.ctx.LESS),this.ctx.depthMask(!0),1==this.bCullBack?this.ctx.enable(this.ctx.CULL_FACE):this.ctx.disable(this.ctx.CULL_FACE)),_0x13ebaa.SR_OK}},{key:"DrawImage",value:function(_0x5c1cd6,_0x4ee77c,_0x460925,_0x50a025,_0x1237e9,_0x46fb93){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==_0x5c1cd6||_0x4ee77c<=0||_0x460925<=0||null==_0x50a025||_0x46fb93<0||_0x46fb93>1)return _0x13ebaa.SR_ERR_PARAM;if(this.nDrawImageWidth=_0x4ee77c,this.nDrawImageHeight=_0x460925,0==this.glImagePosBuffer&&(this.glImagePosBuffer=this.ctx.createBuffer(),0==this.glImagePosBuffer))return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(0==this.glImageClrBuffer&&(this.glImageClrBuffer=this.ctx.createBuffer(),0==this.glImageClrBuffer))return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(null==this.pImageClrVertices){if(this.pImageClrVertices=new Float32Array(12),null==this.pImageClrVertices)return _0x13ebaa.SR_ERR_ALLOC_MEMORY;this.pImageClrVertices[0]=0,this.pImageClrVertices[1]=0,this.pImageClrVertices[2]=0,this.pImageClrVertices[3]=1,this.pImageClrVertices[4]=1,this.pImageClrVertices[5]=0,this.pImageClrVertices[6]=1,this.pImageClrVertices[7]=0,this.pImageClrVertices[8]=0,this.pImageClrVertices[9]=1,this.pImageClrVertices[10]=1,this.pImageClrVertices[11]=1}var _0x543534={},_0x47b144={};if(_0x543534.fLeft=(_0x50a025.fLeft-this.fSrcUseLeft)/(this.fSrcUseRight-this.fSrcUseLeft),_0x543534.fRight=(_0x50a025.fRight-this.fSrcUseLeft)/(this.fSrcUseRight-this.fSrcUseLeft),_0x543534.fTop=(_0x50a025.fTop-this.fSrcUseTop)/(this.fSrcUseBottom-this.fSrcUseTop),_0x543534.fBottom=(_0x50a025.fBottom-this.fSrcUseTop)/(this.fSrcUseBottom-this.fSrcUseTop),_0x47b144.fLeft=this.fDstUseLeft+_0x543534.fLeft*(this.fDstUseRight-this.fDstUseLeft),_0x47b144.fRight=this.fDstUseLeft+_0x543534.fRight*(this.fDstUseRight-this.fDstUseLeft),_0x47b144.fTop=this.fDstUseTop+_0x543534.fTop*(this.fDstUseBottom-this.fDstUseTop),_0x47b144.fBottom=this.fDstUseTop+_0x543534.fBottom*(this.fDstUseBottom-this.fDstUseTop),null==this.pImagePosVertices&&(this.pImagePosVertices=new Float32Array(12),null==this.pImagePosVertices))return _0x13ebaa.SR_ERR_ALLOC_MEMORY;switch(this.pImagePosVertices.fill(0),this.pImagePosVertices[0]=2*_0x47b144.fLeft-1,this.pImagePosVertices[1]=1-2*_0x47b144.fTop,this.pImagePosVertices[2]=2*_0x47b144.fLeft-1,this.pImagePosVertices[3]=1-2*_0x47b144.fBottom,this.pImagePosVertices[4]=2*_0x47b144.fRight-1,this.pImagePosVertices[5]=1-2*_0x47b144.fTop,this.pImagePosVertices[6]=2*_0x47b144.fRight-1,this.pImagePosVertices[7]=1-2*_0x47b144.fTop,this.pImagePosVertices[8]=2*_0x47b144.fLeft-1,this.pImagePosVertices[9]=1-2*_0x47b144.fBottom,this.pImagePosVertices[10]=2*_0x47b144.fRight-1,this.pImagePosVertices[11]=1-2*_0x47b144.fBottom,1==this.bIsCapturing?this.ctx.viewport(0,0,this.nCaptureWidth,this.nCaptureHeight):this.ctx.viewport(0,0,this.nWndWidth,this.nWndHeight),this.ctx.enable(this.ctx.BLEND),this.ctx.blendFuncSeparate(this.ctx.SRC_ALPHA,this.ctx.ONE_MINUS_SRC_ALPHA,this.ctx.ONE,this.ctx.ONE_MINUS_SRC_ALPHA),_0x1237e9){case _0x568e47.SR_PF_SURFACE:if(null==this.nImageColorTexture){if(this.nImageColorTexture=this.ctx.createTexture(),0==this.nImageColorTexture)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MAG_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_S,this.ctx.CLAMP_TO_EDGE),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_T,this.ctx.CLAMP_TO_EDGE)}this.ctx.useProgram(this.videoShaderProgram),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.vertexPosBuffer);var _0x3edf1e=this.ctx.getAttribLocation(this.videoShaderProgram,"position");if(_0x3edf1e<0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.vertexAttribPointer(_0x3edf1e,3,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(_0x3edf1e),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.texturePosBuffer);var _0x5a59df=this.ctx.getAttribLocation(this.videoShaderProgram,"texCoord");if(_0x5a59df<0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(this.ctx.vertexAttribPointer(_0x5a59df,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(_0x5a59df),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.useProgram(null),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture),this.ctx.texImage2D(this.ctx.TEXTURE_2D,0,this.ctx.RGBA,this.nDrawImageWidth,this.nDrawImageHeight,0,this.ctx.RGBA,this.ctx.UNSIGNED_BYTE,_0x5c1cd6),0==this.nImageShaderProgram){var _0x55c1e0=this.CompileProgram(_0x24f1c1,_0x149759);if(_0x55c1e0<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.nImageShaderProgram=_0x55c1e0}break;case _0x568e47.SR_PF_RGBA32:if(null==this.nImageColorTexture){if(this.nImageColorTexture=this.ctx.createTexture(),0==this.nImageColorTexture)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MAG_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_S,this.ctx.CLAMP_TO_EDGE),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_T,this.ctx.CLAMP_TO_EDGE)}if(this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture),this.ctx.texImage2D(this.ctx.TEXTURE_2D,0,this.ctx.RGBA,this.nDrawImageWidth,this.nDrawImageHeight,0,this.ctx.RGBA,this.ctx.UNSIGNED_BYTE,_0x5c1cd6),0==this.nImageShaderProgram){var _0x4130bf=this.CompileProgram(_0x24f1c1,_0x149759);if(_0x4130bf<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.nImageShaderProgram=_0x4130bf}break;case _0x568e47.SR_PF_RGB565:if(null==this.nImageColorTexture){if(this.nImageColorTexture=this.ctx.createTexture(),0==this.nImageColorTexture)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MAG_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_S,this.ctx.CLAMP_TO_EDGE),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_T,this.ctx.CLAMP_TO_EDGE)}if(this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture),this.ctx.texImage2D(this.ctx.TEXTURE_2D,0,this.ctx.RGB,this.nDrawImageWidth,this.nDrawImageHeight,0,this.ctx.RGB,this.ctx.UNSIGNED_SHORT_5_6_5,_0x5c1cd6),0==this.nImageShaderProgram){var _0x12d686=this.CompileProgram(_0x24f1c1,"\n precision mediump float; \n uniform sampler2D texture; \n varying lowp vec4 pp;\n uniform float fAlpha;\n void main(void) \n { \n gl_FragColor = texture2D(texture, pp.st); \n gl_FragColor.a *= fAlpha; \n } \n");if(_0x12d686<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.nImageShaderProgram=_0x12d686}break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}var _0x32e76c=this.nImageShaderProgram;this.ctx.useProgram(_0x32e76c);var _0x16ca4c=this.ctx.getUniformLocation(this.nImageShaderProgram,"bCapture");if(_0x16ca4c<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;1==this.bIsCapturing?this.ctx.uniform1i(_0x16ca4c,1):this.ctx.uniform1i(_0x16ca4c,0),this.ctx.activeTexture(this.ctx.TEXTURE0),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nImageColorTexture);var _0x186c75=this.ctx.getUniformLocation(this.nImageShaderProgram,"texture");this.ctx.uniform1i(_0x186c75,0),_0x186c75=this.ctx.getUniformLocation(this.nImageShaderProgram,"fAlpha"),this.ctx.uniform1f(_0x186c75,_0x46fb93);var _0x581bff=this.ctx.getUniformLocation(this.nImageShaderProgram,"matRotate");if(_0x581bff<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniformMatrix4fv(_0x581bff,!1,this.matRotate),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.glImagePosBuffer),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,this.pImagePosVertices,this.ctx.STATIC_DRAW);var _0x1f6ed6=this.ctx.getAttribLocation(this.nImageShaderProgram,"position");this.ctx.enableVertexAttribArray(_0x1f6ed6),this.ctx.vertexAttribPointer(_0x1f6ed6,2,this.ctx.FLOAT,!1,0,0),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.glImageClrBuffer),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,this.pImageClrVertices,this.ctx.STATIC_DRAW);var _0x21b89a=this.ctx.getAttribLocation(this.nImageShaderProgram,"texCoord");return this.ctx.enableVertexAttribArray(_0x21b89a),this.ctx.vertexAttribPointer(_0x21b89a,2,this.ctx.FLOAT,!1,0,0),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.disable(this.ctx.DEPTH_TEST),this.ctx.drawArrays(this.ctx.TRIANGLES,0,6),this.ctx.useProgram(null),this.ctx.disable(this.ctx.BLEND),this.b3DPort&&(this.ctx.enable(this.ctx.DEPTH_TEST),this.ctx.depthFunc(this.ctx.LESS),this.ctx.depthMask(!0),1==this.bCullBack?this.ctx.enable(this.ctx.CULL_FACE):this.ctx.disable(this.ctx.CULL_FACE)),_0x13ebaa.SR_OK}},{key:"DrawMosaic",value:function(_0x33813d,_0x1dd902,_0x5b430f,_0x1ba9ba,_0x2c2e6f){if(_0x33813d<0||_0x1dd902<0||_0x5b430f<0||_0x1ba9ba<0||_0x33813d>1||_0x1dd902>1||_0x5b430f>1||_0x1ba9ba>1||_0x2c2e6f<=0)return _0x13ebaa.SR_ERR_PARAM;if(0==this.nMosaicShaderProgram){var _0x1de0f7=this.CompileProgram("\n attribute vec4 position; \n attribute vec4 texCoord; \n varying vec4 out_texCoord; \n uniform int bCapture;\n \n void main() \n { \n gl_Position = position; \n if(bCapture == 1)\n {\n gl_Position.y = -gl_Position.y;\n }\n out_texCoord = texCoord; \n } \n","\n varying lowp vec4 out_texCoord; \n uniform sampler2D texture; \n uniform mediump float videoWidth; \n uniform mediump float videoHeight; \n uniform mediump float mosaicSize; \n uniform mediump float left; \n uniform mediump float right; \n uniform mediump float top; \n uniform mediump float bottom; \n\n void main(void) \n { \n lowp vec2 uv; \n uv.x = floor(out_texCoord.x * videoWidth / mosaicSize) * mosaicSize / videoWidth; \n uv.y = floor(out_texCoord.y * videoHeight / mosaicSize) * mosaicSize / videoHeight; \n gl_FragColor = texture2D(texture, uv); \n if(out_texCoord.x < left || out_texCoord.x > right || out_texCoord.y < top || out_texCoord.y > bottom) \n { \n gl_FragColor.a = 0.0; \n } \n else \n { \n gl_FragColor.a = 1.0; \n } \n } \n");if(_0x1de0f7<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.nMosaicShaderProgram=_0x1de0f7}this.ctx.viewport(0,0,this.nWndWidth,this.nWndHeight),this.ctx.enable(this.ctx.BLEND),this.ctx.blendFuncSeparate(this.ctx.SRC_ALPHA,this.ctx.ONE_MINUS_SRC_ALPHA,this.ctx.ONE,this.ctx.ONE_MINUS_SRC_ALPHA);var _0x4a4fcf=this.nMosaicShaderProgram;this.ctx.useProgram(_0x4a4fcf);var _0x330e05=this.ctx.getUniformLocation(_0x4a4fcf,"bCapture");if(_0x330e05<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;1==this.bIsCapturing?this.ctx.uniform1i(_0x330e05,1):this.ctx.uniform1i(_0x330e05,0),this.ctx.activeTexture(this.ctx.TEXTURE0),this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nSurfaceTexture[0]);var _0x277420=this.ctx.getUniformLocation(_0x4a4fcf,"texture");this.ctx.uniform1i(_0x277420,0);var _0x103238=this.ctx.getUniformLocation(_0x4a4fcf,"videoWidth");if(_0x103238<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x103238,this.frameDisplayWidth);var _0x558b6e=this.ctx.getUniformLocation(_0x4a4fcf,"videoHeight");if(_0x558b6e<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x558b6e,this.frameDisplayHeight);var _0x5eb685=this.ctx.getUniformLocation(_0x4a4fcf,"mosaicSize");if(_0x5eb685<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x5eb685,_0x2c2e6f);var _0x2c03a5=this.ctx.getUniformLocation(_0x4a4fcf,"left");if(_0x2c03a5<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x2c03a5,_0x33813d);var _0x4f01a0=this.ctx.getUniformLocation(_0x4a4fcf,"right");if(_0x4f01a0<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x4f01a0,_0x1dd902);var _0x5728e8=this.ctx.getUniformLocation(_0x4a4fcf,"top");if(_0x5728e8<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x5728e8,_0x5b430f);var _0x4997b8=this.ctx.getUniformLocation(_0x4a4fcf,"bottom");if(_0x4997b8<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.uniform1f(_0x4997b8,_0x1ba9ba);var _0x47e62b=this.ctx.getAttribLocation(_0x4a4fcf,"position");this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.vertexPosBuffer),this.ctx.vertexAttribPointer(_0x47e62b,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(_0x47e62b);var _0x3c0daf=this.ctx.getAttribLocation(_0x4a4fcf,"texCoord");return this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,this.texturePosBuffer),this.ctx.vertexAttribPointer(_0x3c0daf,2,this.ctx.FLOAT,!1,0,0),this.ctx.enableVertexAttribArray(_0x3c0daf),this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),this.ctx.drawArrays(this.ctx.TRIANGLES,0,6),this.ctx.useProgram(null),this.ctx.disable(this.ctx.BLEND),_0x13ebaa.SR_OK}},{key:"SetCallBack",value:function(_0x52b6d0,_0x4d830,_0x4c37fc){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;switch(_0x4c37fc){case _0x2943c6.SR_CBT_NULL:this.pfuncCBIn=_0x52b6d0,this.pUserIn=_0x4d830;break;case _0x2943c6.SR_CBT_OUT:this.pfuncCBOut=_0x52b6d0,this.pUserOut=_0x4d830;break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}return _0x13ebaa.SR_OK}},{key:"DoCallBack",value:function(){return null==this.ctx?_0x13ebaa.SR_ERR_CALL_ORDER:(null!=this.pfuncCBIn&&this.pfuncCBIn(this.pUserIn),null!=this.pfuncCBOut&&this.pfuncCBOut(this.pUserOut),_0x13ebaa.SR_OK)}},{key:"SetViewParam",value:function(_0x3d84c8,_0x1c9039){if(!this.b3DPort)return _0x13ebaa.SR_ERR_NOT_SUPPORT;switch(_0x3d84c8){case _0x4817b1.SR_VT_ROTATION_X:if((this.enDisplayEffect==_0x2e016d.SR_DE_FISH_PLANET||this.enDisplayEffect==_0x2e016d.SR_DE_PANORAMA_PLANET)&&(_0x1c9039>1.57||_0x1c9039<-1.57))return _0x13ebaa.SR_ERR_PARAM;if((this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR)&&(_0x1c9039>.78539815||_0x1c9039<0))return _0x13ebaa.SR_ERR_PARAM;if((this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL)&&(_0x1c9039>this.fRotateLimitX||_0x1c9039<-this.fRotateLimitX))return _0x13ebaa.SR_ERR_PARAM;this.fRotateX=_0x1c9039;break;case _0x4817b1.SR_VT_ROTATION_Y:if((this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL)&&(_0x1c9039>this.fRotateLimitY||_0x1c9039<-this.fRotateLimitY))return _0x13ebaa.SR_ERR_PARAM;this.fRotateY=_0x1c9039;break;case _0x4817b1.SR_VT_SCALE:if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_PLANET&&(_0x1c9039>1.2||_0x1c9039<-.3))return _0x13ebaa.SR_ERR_PARAM;if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_SEMISPHERE){if(_0x1c9039<-.8||_0x1c9039>900)return _0x13ebaa.SR_ERR_PARAM}else if(this.enDisplayEffect==_0x2e016d.SR_DE_PANORAMA_SPHERE){if(_0x1c9039<-.95||_0x1c9039>.95)return _0x13ebaa.SR_ERR_PARAM}else if(this.enDisplayEffect==_0x2e016d.SR_DE_PANORAMA_PLANET){if(_0x1c9039<.1||_0x1c9039>2.6)return _0x13ebaa.SR_ERR_PARAM}else if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_CEILING){if(_0x1c9039<0||_0x1c9039>900)return _0x13ebaa.SR_ERR_PARAM}else if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL){if(_0x1c9039<-.3||_0x1c9039>5)return _0x13ebaa.SR_ERR_PARAM;this._ComputeRotateLimits()}else if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR)return _0x13ebaa.SR_ERR_NOT_SUPPORT;this.fScale=_0x1c9039;break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}return _0x13ebaa.SR_OK}},{key:"GetViewParam",value:function(_0x238883,_0x513ed5){if(!this.b3DPort)return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x1ae612=0;switch(_0x238883){case _0x4817b1.SR_VT_ROTATION_X:_0x1ae612=this.fRotateX;break;case _0x4817b1.SR_VT_ROTATION_Y:_0x1ae612=this.fRotateY;break;case _0x4817b1.SR_VT_SCALE:_0x1ae612=this.fScale;break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}return _0x513ed5.fValue=_0x1ae612,_0x13ebaa.SR_OK}},{key:"SetRenderMode",value:function(_0x3b75ae){return this.bRenderToTex=_0x3b75ae,_0x13ebaa.SR_OK}},{key:"_InitVideoShader",value:function(_0x241bc2,_0x129089){var _0x513830,_0x447487;switch(_0x129089){case _0x2e016d.SR_DE_NULL:_0x513830=_0x3d8279,_0x447487="\nprecision mediump float;\nvarying highp vec4 pp;\nuniform sampler2D Ytexture;\nuniform sampler2D Utexture;\nuniform sampler2D Vtexture;\nuniform float fWndWidth;\nuniform float fWndHeight;\nuniform float fBrightness;\nuniform float fHue;\nuniform float fSaturation;\nuniform float fContrast;\nuniform float fSharpness;\nuniform int nPostProc;\nuniform int bDataFormat;\n\nvec3 rgb;\nvec3 yuv2rgb(float y, float u, float v)\n{\n float r,g,b; \n y = 1.1643 * (y - 0.0625); \n u = u - 0.5; \n v = v - 0.5; \n r = y + 1.5958 * v; \n g = y - 0.39173 * u - 0.81290 * v; \n b = y + 2.017 * u; \n return vec3(r, g, b);\n}\nvec3 rgb2hsv(vec3 c) \n{ \n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); \n vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy); \n vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx); \n\n float d = q.x - min(q.w, q.y); \n float e = 1.0e-10; \n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); \n} \n\nvec3 hsv2rgb(vec3 c) \n{ \n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); \n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); \n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); \n} \n\nvec3 sharpen(vec3 c) \n{ \n vec3 sharpenColor; \n\n if(bDataFormat == 0)\n {\n float sharpenColorY;\n float sharpenColorU;\n float sharpenColorV;\n float offWidth = 1.0 / fWndWidth; \n float offHeight = 1.0 / fWndHeight; \n float tempSharpness = fSharpness * 100.0; \n\n sharpenColor = (1.0 + 4.0 * tempSharpness) * c;\n\n vec2 uv = pp.st + vec2(offWidth, 0); \n sharpenColorY = texture2D(Ytexture, uv).r; \n sharpenColorU = texture2D(Utexture, uv).r; \n sharpenColorV = texture2D(Vtexture, uv).r; \n sharpenColor -= tempSharpness * yuv2rgb(sharpenColorY, sharpenColorU, sharpenColorV);\n\n uv = pp.st + vec2(-offWidth, 0); \n sharpenColorY = texture2D(Ytexture, uv).r;\n sharpenColorU = texture2D(Utexture, uv).r; \n sharpenColorV = texture2D(Vtexture, uv).r; \n sharpenColor -= tempSharpness * yuv2rgb(sharpenColorY, sharpenColorU, sharpenColorV);\n\n uv = pp.st + vec2(0, offHeight);\n sharpenColorY = texture2D(Ytexture, uv).r; \n sharpenColorU = texture2D(Utexture, uv).r; \n sharpenColorV = texture2D(Vtexture, uv).r; \n sharpenColor -= tempSharpness * yuv2rgb(sharpenColorY, sharpenColorU, sharpenColorV);\n\n uv = pp.st + vec2(0, -offHeight); \n sharpenColorY = texture2D(Ytexture, uv).r; \n sharpenColorU = texture2D(Utexture, uv).r; \n sharpenColorV = texture2D(Vtexture, uv).r; \n sharpenColor -= tempSharpness * yuv2rgb(sharpenColorY, sharpenColorU, sharpenColorV);\n }\n else if(bDataFormat == 1)\n {\n vec3 sharpenColorY;\n float offWidth = 1.0 / fWndWidth; \n float offHeight = 1.0 / fWndHeight; \n float tempSharpness = fSharpness * 100.0;\n vec2 uv = pp.st;\n sharpenColorY = (1.0 + 4.0 * tempSharpness) * texture2D(Ytexture, uv).rgb;\n\n uv = pp.st + vec2(offWidth, 0); \n sharpenColorY -= tempSharpness * texture2D(Ytexture, uv).rgb;\n\n uv = pp.st + vec2(-offWidth, 0); \n sharpenColorY -= tempSharpness * texture2D(Ytexture, uv).rgb;\n\n uv = pp.st + vec2(0, offHeight);\n sharpenColorY -= tempSharpness * texture2D(Ytexture, uv).rgb;\n\n uv = pp.st + vec2(0, -offHeight); \n sharpenColorY -= tempSharpness * texture2D(Ytexture, uv).rgb;\n\n sharpenColor = sharpenColorY;\n }\n\n return sharpenColor; \n} \nvoid main(void)\n{\n float r, g, b, y, u, v;\n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, pp.st).r; \n g = texture2D(Ytexture, pp.st).g; \n b = texture2D(Ytexture, pp.st).b; \n rgb = vec3(r, g, b);\n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, pp.st).r;\n u = texture2D(Utexture, pp.st).r;\n v = texture2D(Vtexture, pp.st).r;\n rgb = yuv2rgb(y, u, v);\n }\n\n if(1 == nPostProc)\n {\n vec3 fragRGB = sharpen(rgb); //sharpen 锐度\n vec3 fragHSV = rgb2hsv(fragRGB); \n fragHSV.x = fragHSV.x + fHue; //hue 色度\n fragHSV.y = fragHSV.y * (fSaturation + 1.0); //saturation 饱和度\n fragRGB = hsv2rgb(fragHSV); \n if (fBrightness > 0.0) //brightness 亮度\n { \n fragRGB = fragRGB + (1.0 - fragRGB) * fBrightness; \n } \n else \n { \n fragRGB = fragRGB + fragRGB * fBrightness; \n } \n\n float tempContrast = fContrast > 0.0 ? fContrast * 10.0 : fContrast; \n fragRGB = ((fragRGB - 0.5) * max(tempContrast + 1.0, 0.0)) + 0.5; //contrast 对比度\n gl_FragColor = vec4(fragRGB, 1.0); \n }\n else\n {\n gl_FragColor = vec4(rgb, 1.0);\n }\n}\n";break;case _0x2e016d.SR_DE_FISH_ORIGINAL:_0x513830=_0x3d8279,_0x447487="\nprecision mediump float;\nvarying vec4 pp;\nuniform sampler2D Ytexture;\nuniform sampler2D Utexture;\nuniform sampler2D Vtexture;\nuniform float fRX1;\nuniform float fRX2;\nuniform float fRY1;\nuniform float fRY2;\nuniform int bBlack; \nuniform int bCut;\nuniform int bDataFormat;\n\nvoid main()\n{ \n\tfloat r,g,b,y,u,v;\n\tvec4 origin;\n\n\tfloat w;\n\tfloat h;\n\tfloat fCenterX;\n\tfloat fCenterY;\n\tfloat fRadius;\n\tw = 1.0;\n\th = (fRX2 - fRX1) / (fRY2 - fRY1);\n\tfCenterX = (fRX1 + fRX2) / 2.0 * w; ///<圆心实际坐标\n\tfCenterY = (fRY1 + fRY2) / 2.0 * h;\n\tfRadius = (fRX2 - fRX1) / 2.0 * w; ///<半径实际长度\n\tfloat leftCut = 0.0;\n\tfloat rightCut = 1.0;\n\tfloat topCut = 0.0;\n\tfloat bottomCut = 1.0;\n\tif(bCut == 1)\n\t{\n\t\tif(fRX1 > 0.0)\n\t\t{\n\t\t\tleftCut = fRX1;\n\t\t}\n\t\tif(fRX2 < 1.0)\n\t\t{\n\t\t\trightCut = fRX2;\n\t\t}\n\t\tif(fRY1 > 0.0)\n\t\t{\n\t\t\ttopCut = fRY1;\n\t\t}\n\t\tif(fRY2 < 1.0)\n\t\t{\n\t\t\tbottomCut = fRY2;\n\t\t}\n\t}\n\torigin.s = pp.s * (rightCut-leftCut) + leftCut;\n\torigin.t = pp.t * (bottomCut-topCut) + topCut;\n\n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, origin.st).r; \n g = texture2D(Ytexture, origin.st).g; \n b = texture2D(Ytexture, origin.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, origin.st).r;\n u = texture2D(Utexture, origin.st).r;\n v = texture2D(Vtexture, origin.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n\tif(bBlack == 1)\n\t{\n\t\tfloat tmpX, tmpY;\n\t\ttmpX = origin.s * w; \n\t\ttmpY = origin.t * h; \n\t\tfloat d2 = (tmpX-fCenterX)*(tmpX-fCenterX) + (tmpY-fCenterY)*(tmpY-fCenterY);\n\t\tif(d2 > fRadius*fRadius)\n\t\t{\n\t\t\tr = 0.0; \n\t\t\tg = 0.0; \n\t\t\tb = 0.0; \n\t\t}\n\t}\n\n\tgl_FragColor = vec4(r ,g ,b , 1.0);\n}\n";break;case _0x2e016d.SR_DE_FISH_PTZ_CEILING:_0x513830=_0x3d8279,_0x447487="\nprecision mediump float;\nvarying vec4 pp; \nuniform sampler2D Ytexture;\nuniform sampler2D Utexture;\nuniform sampler2D Vtexture;\nuniform float fHAngleCos;\nuniform float fHAngleSin;\nuniform float fVAngleCos;\nuniform float fVAngleSin;\nuniform float fZoom;\nuniform float fRX1; \nuniform float fRX2; \nuniform float fRY1; \nuniform float fRY2; \nuniform int bDataFormat;\n\nvoid main()\n{\n\tfloat r,g,b,y,u,v;\n\n vec4 origin1;\n vec4 origin2;\n vec4 result;\n float z1;\n float z2;\n float dnew;\n\n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w; \n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w; \n\n origin1.s = pp.s - 0.5;\n origin1.t = 0.5 - pp.t;\n z1 = fZoom ;\n\n origin2.s = origin1.s ;\n origin2.t = (origin1.t*fVAngleCos + z1*fVAngleSin);\n z2 = z1*fVAngleCos - origin1.t*fVAngleSin;\n\n dnew = sqrt(origin2.s*origin2.s + origin2.t*origin2.t) ;\n float d = sqrt(origin2.s*origin2.s + origin2.t*origin2.t + z2*z2);\n float theta = asin(dnew/d);\n float tmp = theta / 1.5707963 * 0.5;\n origin2.s = tmp*origin2.s / dnew ;\n origin2.t = tmp*origin2.t / dnew ;\n\n result.s = ((origin2.s*fHAngleCos - origin2.t*fHAngleSin)*fRadius*2.0+fCenterX)/w;\n result.t = (-(origin2.s*fHAngleSin + origin2.t*fHAngleCos)*fRadius*2.0+fCenterY)/h;\n\n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0; \n g = 0.0; \n b = 0.0; \n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n} \n";break;case _0x2e016d.SR_DE_FISH_PTZ_FLOOR:_0x513830=_0x3d8279,_0x447487="\nprecision mediump float;\nvarying vec4 pp; \nuniform sampler2D Ytexture;\nuniform sampler2D Utexture;\nuniform sampler2D Vtexture;\nuniform float fHAngleCos; \nuniform float fHAngleSin; \nuniform float fVAngleCos; \nuniform float fVAngleSin; \nuniform float fZoom;\nuniform float fRX1; \nuniform float fRX2; \nuniform float fRY1; \nuniform float fRY2; \nuniform int bDataFormat;\n\nvoid main()\n{\n\tfloat r,g,b,y,u,v;\n\n vec4 origin1;\n vec4 origin2;\n vec4 result;\n float z1;\n float z2;\n float dnew;\n\n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w;\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w;\n origin1.s = pp.s - 0.5;\n origin1.t = pp.t - 0.5;\n z1 = fZoom ;\n\n origin2.s = origin1.s ;\n origin2.t = (origin1.t*fVAngleCos + z1*fVAngleSin);\n z2 = z1*fVAngleCos - origin1.t*fVAngleSin;\n\n dnew = sqrt(origin2.s*origin2.s + origin2.t*origin2.t) ;\n float d = sqrt(origin2.s*origin2.s + origin2.t*origin2.t + z2*z2);\n float theta = asin(dnew/d);\n float tmp = theta / 1.5707963 * 0.5;\n origin2.s = tmp*origin2.s / dnew ;\n origin2.t = tmp*origin2.t / dnew ;\n\n result.s = ((origin2.s*fHAngleCos - origin2.t*fHAngleSin)*fRadius*2.0+fCenterX)/w;\n result.t = ((origin2.s*fHAngleSin + origin2.t*fHAngleCos)*fRadius*2.0+fCenterY)/h;\n\n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0;\n g = 0.0; \n b = 0.0; \n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n} \n";break;case _0x2e016d.SR_DE_FISH_PTZ_WALL:_0x513830=_0x3d8279,_0x447487="\nprecision mediump float;\nvarying vec4 pp; \nuniform sampler2D Ytexture;\nuniform sampler2D Utexture;\nuniform sampler2D Vtexture;\nuniform float fHAngleCos;\nuniform float fHAngleSin; \nuniform float fVAngleCos; \nuniform float fVAngleSin; \nuniform float fZoom;\nuniform float fRX1; \nuniform float fRX2; \nuniform float fRY1; \nuniform float fRY2; \nuniform int bDataFormat;\n\nvoid main()\n{\n\tfloat r,g,b,y,u,v;\n\n vec4 origin1;\n vec4 origin2;\n vec4 origin3;\n vec4 result;\n float z1;\n float z2;\n float z3;\n float dnew;\n\n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w;\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w;\n\n origin1.s = pp.s - 0.5;\n origin1.t = pp.t - 0.5;\n z1 = fZoom ;\n\n origin2.s = origin1.s ;\n origin2.t = (origin1.t*fVAngleCos + z1*fVAngleSin);\n z2 = z1*fVAngleCos - origin1.t*fVAngleSin;\n\n origin3.s = origin2.s*fHAngleCos + z2*fHAngleSin ;\n origin3.t = origin2.y;\n z3 = z2*fHAngleCos - origin2.x*fHAngleSin;\n\n dnew = sqrt(origin3.s*origin3.s + origin3.t*origin3.t) ;\n float d = sqrt(origin3.s*origin3.s + origin3.t*origin3.t + z3*z3);\n float theta = asin(dnew/d);\n float tmp = theta / 1.5707963 * 0.5;\n result.s = (tmp*origin3.s / dnew * fRadius * 2.0 + fCenterX)/w;\n result.t = (tmp*origin3.t / dnew * fRadius * 2.0 + fCenterY)/h;\n\n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0; \n g = 0.0; \n b = 0.0; \n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n} \n";break;case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360:_0x513830=_0x3d8279,_0x447487="\n precision highp float;\n varying vec4 pp; \n uniform sampler2D Ytexture;\n uniform sampler2D Utexture;\n uniform sampler2D Vtexture;\n uniform float fAngle;\n uniform float fRX1;\n uniform float fRX2;\n uniform float fRY1;\n uniform float fRY2;\n uniform int bDataFormat;\n \n void main()\n {\n \n float r,g,b,y,u,v;\n \n vec4 origin;\n vec4 result;\n float thetabase;\n float d;\n \n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w; ///<圆心实际坐标\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w; ///<半径实际长度\n float fMax = 0.0;\n if(fRX2 > 1.0 || fRY2 > 1.0 || fRX1 < 0.0 || fRY1 < 0.0) ///<如果不是一个完整的圆\n {\n float tmp;\n if(fRX1 < 0.0)\n {\n tmp = -fRX1 * w; ///<左边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRX2 > 1.0)\n {\n tmp = (fRX2 - 1.0) * w; ///<右边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY1 < 0.0)\n {\n tmp = -fRY1 * h; ///<上边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY2 > 1.0)\n {\n tmp = (fRY2 - 1.0) * h; ///<下边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n }\n float topCut = fMax / fRadius; ///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\n float bottomCut = 0.8; ///<为矫正效果,最终矫正图固定切掉下面一部分\n origin.s = pp.s;\n origin.t = (bottomCut - topCut) * pp.t + topCut;\n thetabase = 6.2831853 * origin.s + fAngle;\n d = fRadius * (1.0 - origin.t);\n result.s = (fCenterX - d*sin(thetabase)) / w;\n result.t = (fCenterY + d*cos(thetabase)) / h;\n \n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0; \n g = 0.0; \n b = 0.0;\n }\n gl_FragColor = vec4(r, g, b, 1.0);\n }\n";break;case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_180:_0x513830=_0x3d8279,_0x447487="\n precision highp float;\n varying vec4 pp; \n uniform sampler2D Ytexture;\n uniform sampler2D Utexture;\n uniform sampler2D Vtexture;\n uniform float fAngle;\n uniform float fRX1; \n uniform float fRX2; \n uniform float fRY1; \n uniform float fRY2; \n uniform int bDataFormat;\n \n void main()\n {\n float r,g,b,y,u,v;\n \n vec4 origin;\n vec4 result;\n float thetabase;\n float d;\n \n vec4 newpp; ///<180矫正pp纹理坐标的点对应360矫正newpp纹理坐标对应的点\n if (pp.t <= 0.5)\n {\n newpp.s = pp.s / 2.0 + 0.5;\n newpp.t = pp.t * 2.0;\n }\n else\n {\n newpp.s = pp.s / 2.0;\n newpp.t = (pp.t - 0.5) * 2.0;\n }\n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w; ///<圆心实际坐标\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w; ///<半径实际长度\n float fMax = 0.0;\n if(fRX2 > 1.0 || fRY2 > 1.0 || fRX1 < 0.0 || fRY1 < 0.0) ///<如果不是一个完整的圆\n {\n float tmp;\n if(fRX1 < 0.0)\n {\n tmp = -fRX1 * w; ///<左边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRX2 > 1.0)\n {\n tmp = (fRX2 - 1.0) * w; ///<右边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY1 < 0.0)\n {\n tmp = -fRY1 * h; ///<上边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY2 > 1.0)\n {\n tmp = (fRY2 - 1.0) * h; ///<下边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n }\n float topCut = fMax / fRadius; ///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\n float bottomCut = 0.8; ///<为矫正效果,最终矫正图固定切掉下面一部分\n origin.s = newpp.s;\n origin.t = (bottomCut - topCut) * newpp.t + topCut;\n thetabase = 6.2831853 * origin.s + fAngle;\n d = fRadius * (1.0 - origin.t);\n result.s = (fCenterX - d*sin(thetabase)) / w;\n result.t = (fCenterY + d*cos(thetabase)) / h;\n \n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0;\n g = 0.0;\n b = 0.0;\n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n }\n";break;case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360:_0x513830=_0x3d8279,_0x447487="\n precision highp float;\n varying vec4 pp; \n uniform sampler2D Ytexture;\n uniform sampler2D Utexture;\n uniform sampler2D Vtexture;\n uniform float fAngle;\n uniform float fRX1;\n uniform float fRX2;\n uniform float fRY1;\n uniform float fRY2;\n uniform int bDataFormat;\n\n void main()\n {\n float r,g,b,y,u,v;\n \n vec4 origin;\n vec4 result;\n float thetabase;\n float d;\n \n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w; ///<圆心实际坐标\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w; ///<半径实际长度\n float fMax = 0.0;\n if(fRX2 > 1.0 || fRY2 > 1.0 || fRX1 < 0.0 || fRY1 < 0.0) ///<如果不是一个完整的圆\n {\n float tmp;\n if(fRX1 < 0.0)\n {\n tmp = -fRX1 * w; ///<左边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRX2 > 1.0)\n {\n tmp = (fRX2 - 1.0) * w; ///<右边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY1 < 0.0)\n {\n tmp = -fRY1 * h; ///<上边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY2 > 1.0)\n {\n tmp = (fRY2 - 1.0) * h; ///<下边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n }\n float topCut = fMax / fRadius; ///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\n float bottomCut = 0.8; ///<为矫正效果,最终矫正图固定切掉下面一部分\n origin.s = 1.0 - pp.s;\n origin.t = (bottomCut - topCut) * (1.0 - pp.t) + topCut;\n thetabase = 6.2831853 * origin.s + fAngle;\n d = fRadius * (1.0 - origin.t);\n result.s = (fCenterX - d*sin(thetabase)) / w;\n result.t = (fCenterY + d*cos(thetabase)) / h;\n \n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0; \n g = 0.0; \n b = 0.0; \n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n }\n";break;case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_180:_0x513830=_0x3d8279,_0x447487="\n precision highp float;\n varying vec4 pp; \n uniform sampler2D Ytexture;\n uniform sampler2D Utexture;\n uniform sampler2D Vtexture;\n uniform float fAngle;\n uniform float fRX1;\n uniform float fRX2;\n uniform float fRY1;\n uniform float fRY2;\n uniform int bDataFormat;\n\n void main()\n {\n float r,g,b,y,u,v;\n\n vec4 origin;\n vec4 result;\n float thetabase;\n float d;\n \n vec4 newpp; ///<180矫正pp纹理坐标的点对应360矫正newpp纹理坐标对应的点\n if (pp.t <= 0.5) \n {\n newpp.s = pp.s / 2.0;\n newpp.t = pp.t * 2.0;\n }\n else\n {\n newpp.s = pp.s / 2.0 + 0.5;\n newpp.t = (pp.t - 0.5) * 2.0;\n }\n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w; ///<圆心实际坐标\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w; ///<半径实际长度\n float fMax = 0.0;\n if(fRX2 > 1.0 || fRY2 > 1.0 || fRX1 < 0.0 || fRY1 < 0.0) ///<如果不是一个完整的圆\n {\n float tmp;\n if(fRX1 < 0.0)\n {\n tmp = -fRX1 * w; ///<左边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRX2 > 1.0)\n {\n tmp = (fRX2 - 1.0) * w; ///<右边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY1 < 0.0)\n {\n tmp = -fRY1 * h; ///<上边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n if(fRY2 > 1.0)\n {\n tmp = (fRY2 - 1.0) * h; ///<下边超出图像部分最大实际长度\n if(tmp > fMax)\n fMax = tmp;\n }\n }\n float topCut = fMax / fRadius; ///<如果不是一个完整的圆,最终矫正图需要切掉上面无图像部分,否则无需切\n float bottomCut = 0.8; ///<为矫正效果,最终矫正图固定切掉下面一部分\n origin.s = 1.0 - newpp.s;\n origin.t = (bottomCut - topCut) * (1.0 - newpp.t) + topCut;\n thetabase = 6.2831853 * origin.s + fAngle;\n d = fRadius * (1.0 - origin.t);\n result.s = (fCenterX - d*sin(thetabase)) / w;\n result.t = (fCenterY + d*cos(thetabase)) / h;\n \n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0; \n g = 0.0; \n b = 0.0; \n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n } \n";break;case _0x2e016d.SR_DE_FISH_PANORAMA_WALL:_0x513830=_0x3d8279,_0x447487="\n precision highp float;\n varying vec4 pp; \n uniform sampler2D Ytexture;\n uniform sampler2D Utexture;\n uniform sampler2D Vtexture;\n uniform float fRX1;\n uniform float fRX2;\n uniform float fRY1; \n uniform float fRY2; \n uniform int bDataFormat;\n\n void main()\n {\n float r,g,b,y,u,v;\n \n vec4 origin;\n vec4 result;\n float d;\n float w;\n float h;\n float fCenterX;\n float fCenterY;\n float fRadius;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w; ///<圆心实际坐标\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n fRadius = (fRX2 - fRX1) / 2.0 * w; ///<半径实际长度\n float defaultTopCut = 0.1;\n float defaultBottomCut = 0.9;\n float leftCut = 0.0; ///<当图像中圆不完整时需要切掉无图像部分,即使图像完整,为了效果,也要切掉上下固定的一部分\n float rightCut = 1.0;\n float topCut = defaultTopCut;\n float bottomCut = defaultBottomCut;\n if(fRX1 < 0.0)\n {\n float tmp;\n tmp = -fRX1 * w; ///<左边超出图像部分最大实际长度\n tmp = tmp / (2.0*fRadius);\n leftCut = tmp;\n }\n if(fRX2 > 1.0)\n {\n float tmp;\n tmp = (fRX2 - 1.0) * w; ///<右边超出图像部分最大实际长度\n tmp = tmp / (2.0*fRadius);\n rightCut = 1.0 - tmp;\n }\n if(fRY1 < 0.0)\n {\n float tmp;\n tmp = -fRY1 * h; ///<上边超出图像部分最大实际长度\n tmp = tmp / (2.0*fRadius);\n if(tmp > defaultTopCut)\n topCut = tmp;\n else\n topCut = defaultTopCut;\n }\n if(fRY2 > 1.0)\n {\n float tmp;\n tmp = (fRY2 - 1.0) * h; ///<下边超出图像部分最大实际长度\n tmp = tmp / (2.0*fRadius);\n if(tmp > 1.0 - defaultBottomCut)\n bottomCut = 1.0 - tmp;\n else\n bottomCut = defaultBottomCut;\n }\n origin.s = pp.s * (rightCut-leftCut) + leftCut;\n origin.t = pp.t * (bottomCut-topCut) + topCut;\n float tmpx = origin.s * 2.0 * fRadius + fCenterX - fRadius; ///<纹理坐标转化为原图上的实际坐标\n float tmpy = origin.t * 2.0 * fRadius + fCenterY - fRadius;\n d = sqrt(fRadius*fRadius - (tmpy-fCenterY)*(tmpy-fCenterY));\n result.s = ((tmpx-fCenterX) * d / fRadius + fCenterX) / w;\n result.t = tmpy / h;\n \n if(bDataFormat == 1)\n {\n r = texture2D(Ytexture, result.st).r; \n g = texture2D(Ytexture, result.st).g; \n b = texture2D(Ytexture, result.st).b; \n }\n else if(bDataFormat == 0)\n {\n y = texture2D(Ytexture, result.st).r;\n u = texture2D(Utexture, result.st).r;\n v = texture2D(Vtexture, result.st).r;\n \n y=1.1643*(y-0.0625);\n u=u-0.5; \n v=v-0.5; \n\n r=y+1.5958*v; \n g=y-0.39173*u-0.81290*v; \n b=y+2.017*u; \n }\n\n if(result.s > 1.0 || result.t > 1.0 || result.s < 0.0 || result.t < 0.0)\n {\n r = 0.0; \n g = 0.0; \n b = 0.0; \n }\n gl_FragColor = vec4(r ,g ,b , 1.0);\n }\n";break;case _0x2e016d.SR_DE_FISH_SEMISPHERE:case _0x2e016d.SR_DE_PANORAMA_SPHERE:case _0x2e016d.SR_DE_PANORAMA_PLANET:case _0x2e016d.SR_DE_FISH_CYLINDER_CEILING:case _0x2e016d.SR_DE_FISH_CYLINDER_FLOOR:case _0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:case _0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:case _0x2e016d.SR_DE_FISH_PLANET:_0x513830="\n precision lowp float;\n attribute vec4 position;\n attribute vec4 texCoord;\n varying vec4 pp; \n uniform int bCapture;\n\n uniform mat4 matProj;\n uniform mat4 matView;\n void main(void) {\n gl_Position = matProj * matView * position;\n pp = texCoord;\n if(bCapture == 1)\n {\n gl_Position.y = - gl_Position.y;\n }\n }\n",_0x447487=_0x3cb9f0;break;case _0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING:case _0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR:_0x513830="\n attribute vec4 position;\n attribute vec4 texCoord;\n varying vec4 pp; \n uniform int bCapture;\n\n uniform mat4 matProj;\n uniform mat4 matView;\n uniform highp vec4 vecCylinderParam;\n uniform highp float fTextureOffset;\n uniform mediump float fRX1;\n uniform mediump float fRX2;\n uniform mediump float fRY1;\n uniform mediump float fRY2;\n void main(void) {\n highp float w;\n highp float h;\n highp float fCenterX;\n highp float fCenterY;\n w = 1.0;\n h = (fRX2 - fRX1) / (fRY2 - fRY1);\n fCenterX = (fRX1 + fRX2) / 2.0 * w;\n fCenterY = (fRY1 + fRY2) / 2.0 * h;\n\n highp float dx = position.x - vecCylinderParam.x;\n highp float dz = position.z - (vecCylinderParam.z + vecCylinderParam.y); \n highp float theta = atan(abs(dx/dz));\n highp float fDis = (3.1415926 - 2.0 * theta) * 1.0;\n highp float fdx = 0.0;\n if (dx > 0.0)\n {\n fdx = 1.0;\n }\n else\n {\n fdx = -1.0;\n }\n fDis = fdx * fDis; \n highp float lx = fDis; \n highp float lz = vecCylinderParam.z + vecCylinderParam.y; \n highp float fRate = (3.1415926 / 2.0 + vecCylinderParam.w) / 3.1415926 * 2.0; \n highp vec4 newPos = position; \n newPos.x = fRate * (lx - newPos.x) + newPos.x; \n newPos.z = fRate * (lz - newPos.z) + newPos.z; \n gl_Position = matProj * matView * newPos; \n if(bCapture == 1)\n {\n gl_Position.y = - gl_Position.y;\n }\n\n highp float s = texCoord.s * w - fCenterX; \n highp float t = fCenterY - texCoord.t * h; \n pp.s = (s*cos(fTextureOffset) - t*sin(fTextureOffset) + fCenterX) / w; \n pp.t = (fCenterY - (s*sin(fTextureOffset) + t*cos(fTextureOffset))) / h;\n }\n",_0x447487=_0x3cb9f0;break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}var _0x258e04=this.CompileProgram(_0x513830,_0x447487);return _0x258e04<=0?_0x13ebaa.SR_ERR_WEBGL_RESOURCE:(this.videoShaderProgram=_0x258e04,_0x13ebaa.SR_OK)}},{key:"_InitVideoVertex",value:function(_0x5a42ea,_0x54a373,_0x495f2e){var _0x35c589=null,_0x2e0308=null,_0x4f8c29=null,_0x13d3a0=_0x13ebaa.SR_OK;if(0==this.b3DPort)_0x35c589=new Float32Array([-1,1,-1,-1,1,1,1,1,-1,-1,1,-1]),_0x2e0308=new Float32Array([0,0,0,1,1,0,1,0,0,1,1,1]);else{if(this.fRX1=_0x495f2e.fRXLeft,this.fRX2=_0x495f2e.fRXRight,this.fRY1=_0x495f2e.fRYTop,this.fRY2=_0x495f2e.fRYBottom,_0x54a373==_0x2e016d.SR_DE_FISH_SEMISPHERE||_0x54a373==_0x2e016d.SR_DE_FISH_PLANET)_0x13d3a0=this._CreateSemiSphere(this.fRX1,this.fRX2,this.fRY1,this.fRY2),_0x35c589=this.pSemiSpherePos,_0x2e0308=this.pSemiSphereTex;else if(_0x54a373==_0x2e016d.SR_DE_PANORAMA_SPHERE||_0x54a373==_0x2e016d.SR_DE_PANORAMA_PLANET)_0x13d3a0=this._CreateSphere(this.fRX1,this.fRX2,this.fRY1,this.fRY2),_0x35c589=this.pSpherePos,_0x2e0308=this.pSphereTex,_0x4f8c29=this.pSphereInd;else if(_0x54a373==_0x2e016d.SR_DE_FISH_CYLINDER_CEILING||_0x54a373==_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR||_0x54a373==_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING||_0x54a373==_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR)_0x13d3a0=this._CreateCylinder(_0x54a373,this.fRX1,this.fRX2,this.fRY1,this.fRY2,0,0),_0x35c589=this.pCylinderPos,_0x2e0308=this.pCylinderTex;else{if(_0x54a373!=_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL&&_0x54a373!=_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL)return _0x13ebaa.SR_ERR_NOT_SUPPORT;_0x13d3a0=_0x54a373==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._CreateArcSphere(_0x54a373,.05,.95,-.3,1.3):this._CreateArcSphere(_0x54a373,-.16,1.16,.005,.995),_0x35c589=this.pArcSpherePos,_0x2e0308=this.pArcSphereTex}if(_0x13d3a0!=_0x13ebaa.SR_OK)return _0x13d3a0}if(null==_0x35c589||null==_0x2e0308)return _0x13ebaa.SR_ERR_NOT_SUPPORT;var _0x9b6244=this.ctx.createBuffer();if(this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,_0x9b6244),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,_0x35c589,this.ctx.STATIC_DRAW),this.vertexPosBuffer=_0x9b6244,_0x54a373==_0x2e016d.SR_DE_PANORAMA_SPHERE||_0x54a373==_0x2e016d.SR_DE_PANORAMA_PLANET){var _0x60e945=this.ctx.createBuffer();this.ctx.bindBuffer(this.ctx.ELEMENT_ARRAY_BUFFER,_0x60e945),this.ctx.bufferData(this.ctx.ELEMENT_ARRAY_BUFFER,_0x4f8c29,this.ctx.STATIC_DRAW),this.indicesPosBuffer=_0x60e945}var _0x4d3946=this.ctx.createBuffer();return this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,_0x4d3946),this.ctx.bufferData(this.ctx.ARRAY_BUFFER,_0x2e0308,this.ctx.STATIC_DRAW),this.texturePosBuffer=_0x4d3946,this.ctx.bindBuffer(this.ctx.ARRAY_BUFFER,null),_0x35c589=null,_0x2e0308=null,_0x13ebaa.SR_OK}},{key:"_InitCamera",value:function(_0x1757fe){if(null!=this.pCamera)return _0x13ebaa.SR_ERR_CALL_ORDER;switch(_0x1757fe){case _0x2e016d.SR_DE_NULL:case _0x2e016d.SR_DE_FISH_ORIGINAL:case _0x2e016d.SR_DE_FISH_PTZ_CEILING:case _0x2e016d.SR_DE_FISH_PTZ_FLOOR:case _0x2e016d.SR_DE_FISH_PTZ_WALL:case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360:case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_180:case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360:case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_180:case _0x2e016d.SR_DE_FISH_PANORAMA_WALL:return _0x13ebaa.SR_OK;case _0x2e016d.SR_DE_FISH_SEMISPHERE:if(this.pCamera=new _0x129758,null==this.pCamera)return _0x13ebaa.SR_ERR_ALLOC_MEMORY;this.pCamera.SetFov(.78539815),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fRotateX=4.71,this.pCamera.SetPitch(3.14-this.fRotateX),this.fScale=3,this.pCamera.SetScale(this.fScale);break;case _0x2e016d.SR_DE_PANORAMA_SPHERE:if(this.pCamera=new _0x129758,null==this.pCamera)return _0x13ebaa.SR_ERR_ALLOC_MEMORY;this.pCamera.SetFov(.78539815),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fRotateX=0,this.pCamera.SetPitch(3.14-this.fRotateX),this.fScale=0,this.pCamera.SetScale(this.fScale);break;case _0x2e016d.SR_DE_FISH_CYLINDER_CEILING:case _0x2e016d.SR_DE_FISH_CYLINDER_FLOOR:if(this.pCamera=new _0x129758,null==this.pCamera)return _0x13ebaa.SR_ERR_ALLOC_MEMORY;this.pCamera.SetFov(.78539815),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fRotateX=.785,this.pCamera.SetPitch(-this.fRotateX),this.fScale=6,this.pCamera.SetScale(this.fScale);break;case _0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING:case _0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR:if(this.pCamera=new _0x129758,null==this.pCamera)return _0x13ebaa.SR_ERR_ALLOC_MEMORY;this.pCamera.SetOrtho(!0),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fScale=3,this.pCamera.SetScale(this.fScale);break;case _0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:case _0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:if(this.pCamera=new _0x129758,null==this.pCamera)return _0x13ebaa.SR_ERR_ALLOC_MEMORY;this.pCamera.SetFov(1.25663704),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fScale=2,this.pCamera.SetScale(this.fScale),_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL==_0x1757fe?(this.fRotateLimitX=.17453292222222222,this.fRotateLimitY=1.0471975333333334):(this.fRotateLimitX=.5235987666666667,this.fRotateLimitY=.34906584444444444);break;case _0x2e016d.SR_DE_FISH_PLANET:if(this.pCamera=new _0x1d9cb6,null==this.pCamera)return _0x13ebaa.SR_ERR_ALLOC_MEMORY;this.pCamera.SetFov(2.16),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fRotateX=1.57,this.pCamera.SetPitch(this.fRotateX),this.pCamera.SetYaw(3.1415926+this.fRotateY),this.fScale=1,this.pCamera.SetScale(this.fScale);break;case _0x2e016d.SR_DE_PANORAMA_PLANET:if(this.pCamera=new _0x1d9cb6,null==this.pCamera)return _0x13ebaa.SR_ERR_ALLOC_MEMORY;this.pCamera.SetPano(!0),this.pCamera.SetNear(.02),this.pCamera.SetFar(1e3),this.fRotateX=1.57,this.pCamera.SetPitch(this.fRotateX),this.fRotateY=-1.57,this.pCamera.SetYaw(3.1415926+this.fRotateY),this.fScale=2.6,this.pCamera.SetScale(this.fScale);break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}return _0x13ebaa.SR_OK}},{key:"CompileProgram",value:function(_0x3ce3ae,_0x272dd2){var _0x1b9ba5=this.ctx;if(null==_0x1b9ba5||null==_0x3ce3ae||null==_0x272dd2)return-1;var _0x50b16f=_0x1b9ba5.createShader(_0x1b9ba5.VERTEX_SHADER);if(_0x1b9ba5.shaderSource(_0x50b16f,_0x3ce3ae),_0x1b9ba5.compileShader(_0x50b16f),!_0x1b9ba5.getShaderParameter(_0x50b16f,_0x1b9ba5.COMPILE_STATUS))return-1;var _0x1f9bf9=_0x1b9ba5.createShader(_0x1b9ba5.FRAGMENT_SHADER);if(_0x1b9ba5.shaderSource(_0x1f9bf9,_0x272dd2),_0x1b9ba5.compileShader(_0x1f9bf9),!_0x1b9ba5.getShaderParameter(_0x1f9bf9,_0x1b9ba5.COMPILE_STATUS))return-1;var _0x1b8d04=_0x1b9ba5.createProgram();return _0x1b9ba5.attachShader(_0x1b8d04,_0x50b16f),_0x1b9ba5.attachShader(_0x1b8d04,_0x1f9bf9),_0x1b9ba5.linkProgram(_0x1b8d04),_0x1b9ba5.getProgramParameter(_0x1b8d04,_0x1b9ba5.LINK_STATUS)?(_0x1b9ba5.deleteShader(_0x50b16f),_0x1b9ba5.deleteShader(_0x1f9bf9),_0x1b8d04):-1}},{key:"_CreateSemiSphere",value:function(_0x364d06,_0x44a983,_0x1246e5,_0x2a726c){if(null!=this.pSemiSpherePos||null!=this.pSemiSphereTex)return _0x13ebaa.SR_ERR_CALL_ORDER;this.pSemiSpherePos=new Float32Array(43200),this.pSemiSphereTex=new Float32Array(28800);for(var _0x50c5fd=(_0x44a983-_0x364d06)/(_0x2a726c-_0x1246e5),_0x2cf42f=(_0x44a983-_0x364d06)/2*1,_0x5092b0=0,_0x5e312b=0,_0x1950ce=0,_0x5b4a43=0;_0x5b4a43<60;++_0x5b4a43)for(var _0x4e63fe=0;_0x4e63fe<40;++_0x4e63fe){var _0x4f2a4e=.10471975333333333*_0x5b4a43;0==_0x5b4a43&&(_0x5092b0=_0x4f2a4e);var _0x3c3302=59==_0x5b4a43?_0x5092b0:.10471975333333333*(_0x5b4a43+1),_0x2015b1=.0392699075*-_0x4e63fe,_0x3af50=.0392699075*-(_0x4e63fe+1),_0xfc5273=void 0,_0x3bba52=void 0;this.pSemiSpherePos[_0x5e312b]=-1*Math.cos(_0x2015b1)*Math.cos(_0x4f2a4e),this.pSemiSpherePos[_0x5e312b+1]=1*Math.sin(_0x2015b1),this.pSemiSpherePos[_0x5e312b+2]=-1*Math.cos(_0x2015b1)*Math.sin(_0x4f2a4e),_0x3bba52=.5-.5*(1+_0x2015b1/1.5707963)*Math.sin(_0x4f2a4e),_0xfc5273=.5-.5*(1+_0x2015b1/1.5707963)*Math.cos(_0x4f2a4e),this.pSemiSphereTex[_0x1950ce++]=(2*_0xfc5273*_0x2cf42f+1*_0x364d06)/1,this.pSemiSphereTex[_0x1950ce++]=(2*_0x3bba52*_0x2cf42f+_0x1246e5*_0x50c5fd)/_0x50c5fd,_0x5e312b+=3,this.pSemiSpherePos[_0x5e312b]=-1*Math.cos(_0x3af50)*Math.cos(_0x4f2a4e),this.pSemiSpherePos[_0x5e312b+1]=1*Math.sin(_0x3af50),this.pSemiSpherePos[_0x5e312b+2]=-1*Math.cos(_0x3af50)*Math.sin(_0x4f2a4e),_0x3bba52=.5-.5*(1+_0x3af50/1.5707963)*Math.sin(_0x4f2a4e),_0xfc5273=.5-.5*(1+_0x3af50/1.5707963)*Math.cos(_0x4f2a4e),this.pSemiSphereTex[_0x1950ce++]=(2*_0xfc5273*_0x2cf42f+1*_0x364d06)/1,this.pSemiSphereTex[_0x1950ce++]=(2*_0x3bba52*_0x2cf42f+_0x1246e5*_0x50c5fd)/_0x50c5fd,_0x5e312b+=3,this.pSemiSpherePos[_0x5e312b]=-1*Math.cos(_0x2015b1)*Math.cos(_0x3c3302),this.pSemiSpherePos[_0x5e312b+1]=1*Math.sin(_0x2015b1),this.pSemiSpherePos[_0x5e312b+2]=-1*Math.cos(_0x2015b1)*Math.sin(_0x3c3302),_0x3bba52=.5-.5*(1+_0x2015b1/1.5707963)*Math.sin(_0x3c3302),_0xfc5273=.5-.5*(1+_0x2015b1/1.5707963)*Math.cos(_0x3c3302),this.pSemiSphereTex[_0x1950ce++]=(2*_0xfc5273*_0x2cf42f+1*_0x364d06)/1,this.pSemiSphereTex[_0x1950ce++]=(2*_0x3bba52*_0x2cf42f+_0x1246e5*_0x50c5fd)/_0x50c5fd,_0x5e312b+=3,this.pSemiSpherePos[_0x5e312b]=-1*Math.cos(_0x2015b1)*Math.cos(_0x3c3302),this.pSemiSpherePos[_0x5e312b+1]=1*Math.sin(_0x2015b1),this.pSemiSpherePos[_0x5e312b+2]=-1*Math.cos(_0x2015b1)*Math.sin(_0x3c3302),_0x3bba52=.5-.5*(1+_0x2015b1/1.5707963)*Math.sin(_0x3c3302),_0xfc5273=.5-.5*(1+_0x2015b1/1.5707963)*Math.cos(_0x3c3302),this.pSemiSphereTex[_0x1950ce++]=(2*_0xfc5273*_0x2cf42f+1*_0x364d06)/1,this.pSemiSphereTex[_0x1950ce++]=(2*_0x3bba52*_0x2cf42f+_0x1246e5*_0x50c5fd)/_0x50c5fd,_0x5e312b+=3,this.pSemiSpherePos[_0x5e312b]=-1*Math.cos(_0x3af50)*Math.cos(_0x4f2a4e),this.pSemiSpherePos[_0x5e312b+1]=1*Math.sin(_0x3af50),this.pSemiSpherePos[_0x5e312b+2]=-1*Math.cos(_0x3af50)*Math.sin(_0x4f2a4e),_0x3bba52=.5-.5*(1+_0x3af50/1.5707963)*Math.sin(_0x4f2a4e),_0xfc5273=.5-.5*(1+_0x3af50/1.5707963)*Math.cos(_0x4f2a4e),this.pSemiSphereTex[_0x1950ce++]=(2*_0xfc5273*_0x2cf42f+1*_0x364d06)/1,this.pSemiSphereTex[_0x1950ce++]=(2*_0x3bba52*_0x2cf42f+_0x1246e5*_0x50c5fd)/_0x50c5fd,_0x5e312b+=3,this.pSemiSpherePos[_0x5e312b]=-1*Math.cos(_0x3af50)*Math.cos(_0x3c3302),this.pSemiSpherePos[_0x5e312b+1]=1*Math.sin(_0x3af50),this.pSemiSpherePos[_0x5e312b+2]=-1*Math.cos(_0x3af50)*Math.sin(_0x3c3302),_0x3bba52=.5-.5*(1+_0x3af50/1.5707963)*Math.sin(_0x3c3302),_0xfc5273=.5-.5*(1+_0x3af50/1.5707963)*Math.cos(_0x3c3302),this.pSemiSphereTex[_0x1950ce++]=(2*_0xfc5273*_0x2cf42f+1*_0x364d06)/1,this.pSemiSphereTex[_0x1950ce++]=(2*_0x3bba52*_0x2cf42f+_0x1246e5*_0x50c5fd)/_0x50c5fd,_0x5e312b+=3}return this.nSemiSpherePosNum=_0x5e312b/3,this.nSemiSpherePosSize=3,this.nSemiSphereTexSize=2,_0x13ebaa.SR_OK}},{key:"_CreateSphere",value:function(){if(null!=this.pSpherePos||null!=this.pSphereTex)return _0x13ebaa.SR_ERR_CALL_ORDER;this.pSpherePos=new Float32Array(7803),this.pSphereTex=new Float32Array(5202),this.pSphereInd=new Uint16Array(15e3);for(var _0x30c7b2=0,_0x4236ca=0,_0x349f72=0;_0x349f72<=50;++_0x349f72)for(var _0x1f0537=3.1415926*_0x349f72/50-1.5707963,_0x2313a4=Math.sin(_0x1f0537),_0x5c8810=Math.cos(_0x1f0537),_0x1a1604=0;_0x1a1604<=50;++_0x1a1604){var _0x9c2e96=2*_0x1a1604*3.1415926/50-3.1415926,_0x5a1721=Math.sin(_0x9c2e96),_0x8ba8f4=1*_0x5c8810*Math.cos(_0x9c2e96),_0x2394b9=1*_0x2313a4,_0xfd357a=1*_0x5c8810*_0x5a1721;this.pSpherePos[_0x30c7b2]=-_0x8ba8f4,this.pSpherePos[_0x30c7b2+1]=_0x2394b9,this.pSpherePos[_0x30c7b2+2]=_0xfd357a;var _0x2be5ab=_0x1a1604/50,_0x42b4d9=_0x349f72/50;this.pSphereTex[_0x4236ca++]=_0x2be5ab,this.pSphereTex[_0x4236ca++]=_0x42b4d9,_0x30c7b2+=3}for(var _0xe13a0b=0,_0x50cca1=0;_0x50cca1<50;++_0x50cca1)for(var _0x8ff296=0;_0x8ff296<50;++_0x8ff296){var _0x32f4a3=51*_0x50cca1+_0x8ff296,_0x2fcc39=_0x32f4a3+50+1;this.pSphereInd[_0xe13a0b+0]=_0x32f4a3,this.pSphereInd[_0xe13a0b+1]=_0x2fcc39,this.pSphereInd[_0xe13a0b+2]=_0x32f4a3+1,this.pSphereInd[_0xe13a0b+3]=_0x2fcc39,this.pSphereInd[_0xe13a0b+4]=_0x2fcc39+1,this.pSphereInd[_0xe13a0b+5]=_0x32f4a3+1,_0xe13a0b+=6}return this.nSpherePosNum=2500,this.nSpherePosSize=3,this.nSphereTexSize=2,_0x13ebaa.SR_OK}},{key:"_CreateCylinder",value:function(_0x20dc2e,_0x1e42a8,_0x3c90ef,_0x566bab,_0x12b26a,_0x2730f5,_0x67144b){if(null!=this.pCylinderPos||null!=this.pCylinderTex)return _0x13ebaa.SR_ERR_CALL_ORDER;if(Math.abs(_0x2730f5-0)<1e-6)this.fCylinderHeight=2;else{if(_0x2730f5<.5||_0x2730f5>6)return _0x13ebaa.SR_ERR_PARAM;this.fCylinderHeight=_0x2730f5}if(Math.abs(_0x67144b-0)<1e-6)_0x20dc2e==_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR||_0x20dc2e==_0x2e016d.SR_DE_FISH_CYLINDER_CEILING?this.fCylinderRadius=2:this.fCylinderRadius=1;else{if(_0x67144b<.5||_0x67144b>4)return _0x13ebaa.SR_ERR_PARAM;this.fCylinderRadius=_0x67144b}if(this.pCylinderPos=new Float32Array(43200),this.pCylinderTex=new Float32Array(28800),null==this.pCylinderPos||null==this.pCylinderTex)return this.pCylinderPos=null,this.pCylinderTex=null,_0x13ebaa.SR_ERR_ALLOC_MEMORY;for(var _0x514123=(_0x3c90ef-_0x1e42a8)/(_0x12b26a-_0x566bab),_0x560cac=(_0x3c90ef-_0x1e42a8)/2*1,_0x143de6=this.fCylinderHeight/40,_0x3d0743=0,_0x5e7916=0,_0x2fd1c=0;_0x2fd1c<60;++_0x2fd1c)for(var _0x57dc7a=0;_0x57dc7a<40;++_0x57dc7a){var _0x518ffa=.10471975333333333*_0x2fd1c,_0x2db654=.10471975333333333*(_0x2fd1c+1),_0x9d7908=void 0,_0x342ba1=void 0;this.pCylinderPos[_0x3d0743]=-this.fCylinderRadius*Math.sin(_0x518ffa),this.pCylinderPos[_0x3d0743+1]=this.fCylinderHeight/2-_0x57dc7a*_0x143de6,this.pCylinderPos[_0x3d0743+2]=-this.fCylinderRadius*Math.cos(_0x518ffa),_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR==_0x20dc2e||_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==_0x20dc2e?(_0x9d7908=.5+(.1+.01*_0x57dc7a)*Math.sin(_0x518ffa),_0x342ba1=.5+(.1+.01*_0x57dc7a)*Math.cos(_0x518ffa)):(_0x9d7908=.5-(.5-.01*_0x57dc7a)*Math.sin(_0x518ffa),_0x342ba1=.5+(.5-.01*_0x57dc7a)*Math.cos(_0x518ffa)),this.pCylinderTex[_0x5e7916++]=(2*_0x9d7908*_0x560cac+1*_0x1e42a8)/1,this.pCylinderTex[_0x5e7916++]=(2*_0x342ba1*_0x560cac+_0x566bab*_0x514123)/_0x514123,_0x3d0743+=3,this.pCylinderPos[_0x3d0743]=-this.fCylinderRadius*Math.sin(_0x518ffa),this.pCylinderPos[_0x3d0743+1]=this.fCylinderHeight/2-(_0x57dc7a+1)*_0x143de6,this.pCylinderPos[_0x3d0743+2]=-this.fCylinderRadius*Math.cos(_0x518ffa),_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR==_0x20dc2e||_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==_0x20dc2e?(_0x9d7908=.5+(.1+.01*(_0x57dc7a+1))*Math.sin(_0x518ffa),_0x342ba1=.5+(.1+.01*(_0x57dc7a+1))*Math.cos(_0x518ffa)):(_0x9d7908=.5-(.5-.01*(_0x57dc7a+1))*Math.sin(_0x518ffa),_0x342ba1=.5+(.5-.01*(_0x57dc7a+1))*Math.cos(_0x518ffa)),this.pCylinderTex[_0x5e7916++]=(2*_0x9d7908*_0x560cac+1*_0x1e42a8)/1,this.pCylinderTex[_0x5e7916++]=(2*_0x342ba1*_0x560cac+_0x566bab*_0x514123)/_0x514123,_0x3d0743+=3,this.pCylinderPos[_0x3d0743]=-this.fCylinderRadius*Math.sin(_0x2db654),this.pCylinderPos[_0x3d0743+1]=this.fCylinderHeight/2-_0x57dc7a*_0x143de6,this.pCylinderPos[_0x3d0743+2]=-this.fCylinderRadius*Math.cos(_0x2db654),_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR==_0x20dc2e||_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==_0x20dc2e?(_0x9d7908=.5+(.1+.01*_0x57dc7a)*Math.sin(_0x2db654),_0x342ba1=.5+(.1+.01*_0x57dc7a)*Math.cos(_0x2db654)):(_0x9d7908=.5-(.5-.01*_0x57dc7a)*Math.sin(_0x2db654),_0x342ba1=.5+(.5-.01*_0x57dc7a)*Math.cos(_0x2db654)),this.pCylinderTex[_0x5e7916++]=(2*_0x9d7908*_0x560cac+1*_0x1e42a8)/1,this.pCylinderTex[_0x5e7916++]=(2*_0x342ba1*_0x560cac+_0x566bab*_0x514123)/_0x514123,_0x3d0743+=3,this.pCylinderPos[_0x3d0743]=-this.fCylinderRadius*Math.sin(_0x2db654),this.pCylinderPos[_0x3d0743+1]=this.fCylinderHeight/2-_0x57dc7a*_0x143de6,this.pCylinderPos[_0x3d0743+2]=-this.fCylinderRadius*Math.cos(_0x2db654),_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR==_0x20dc2e||_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==_0x20dc2e?(_0x9d7908=.5+(.1+.01*_0x57dc7a)*Math.sin(_0x2db654),_0x342ba1=.5+(.1+.01*_0x57dc7a)*Math.cos(_0x2db654)):(_0x9d7908=.5-(.5-.01*_0x57dc7a)*Math.sin(_0x2db654),_0x342ba1=.5+(.5-.01*_0x57dc7a)*Math.cos(_0x2db654)),this.pCylinderTex[_0x5e7916++]=(2*_0x9d7908*_0x560cac+1*_0x1e42a8)/1,this.pCylinderTex[_0x5e7916++]=(2*_0x342ba1*_0x560cac+_0x566bab*_0x514123)/_0x514123,_0x3d0743+=3,this.pCylinderPos[_0x3d0743]=-this.fCylinderRadius*Math.sin(_0x518ffa),this.pCylinderPos[_0x3d0743+1]=this.fCylinderHeight/2-(_0x57dc7a+1)*_0x143de6,this.pCylinderPos[_0x3d0743+2]=-this.fCylinderRadius*Math.cos(_0x518ffa),_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR==_0x20dc2e||_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==_0x20dc2e?(_0x9d7908=.5+(.1+.01*(_0x57dc7a+1))*Math.sin(_0x518ffa),_0x342ba1=.5+(.1+.01*(_0x57dc7a+1))*Math.cos(_0x518ffa)):(_0x9d7908=.5-(.5-.01*(_0x57dc7a+1))*Math.sin(_0x518ffa),_0x342ba1=.5+(.5-.01*(_0x57dc7a+1))*Math.cos(_0x518ffa)),this.pCylinderTex[_0x5e7916++]=(2*_0x9d7908*_0x560cac+1*_0x1e42a8)/1,this.pCylinderTex[_0x5e7916++]=(2*_0x342ba1*_0x560cac+_0x566bab*_0x514123)/_0x514123,_0x3d0743+=3,this.pCylinderPos[_0x3d0743]=-this.fCylinderRadius*Math.sin(_0x2db654),this.pCylinderPos[_0x3d0743+1]=this.fCylinderHeight/2-(_0x57dc7a+1)*_0x143de6,this.pCylinderPos[_0x3d0743+2]=-this.fCylinderRadius*Math.cos(_0x2db654),_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR==_0x20dc2e||_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==_0x20dc2e?(_0x9d7908=.5+(.1+.01*(_0x57dc7a+1))*Math.sin(_0x2db654),_0x342ba1=.5+(.1+.01*(_0x57dc7a+1))*Math.cos(_0x2db654)):(_0x9d7908=.5-(.5-.01*(_0x57dc7a+1))*Math.sin(_0x2db654),_0x342ba1=.5+(.5-.01*(_0x57dc7a+1))*Math.cos(_0x2db654)),this.pCylinderTex[_0x5e7916++]=(2*_0x9d7908*_0x560cac+1*_0x1e42a8)/1,this.pCylinderTex[_0x5e7916++]=(2*_0x342ba1*_0x560cac+_0x566bab*_0x514123)/_0x514123,_0x3d0743+=3}return this.nCylinderPosNum=_0x3d0743/3,this.nCylinderPosSize=3,this.nCylinderTexSize=2,_0x13ebaa.SR_OK}},{key:"_CreateArcSphere",value:function(_0x2e8fa4,_0x102abe,_0x33a279,_0x53bb5c,_0x9841ce){if(null!=this.pArcSpherePos||null!=this.pArcSphereTex)return _0x13ebaa.SR_ERR_CALL_ORDER;if(_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL){if(_0x53bb5c>0||_0x9841ce<1)return _0x13ebaa.SR_ERR_PARAM}else{if(_0x2e8fa4!=_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL)return _0x13ebaa.SR_ERR_NOT_SUPPORT;if(_0x102abe>0||_0x33a279<1)return _0x13ebaa.SR_ERR_PARAM}if(this.fImageWidth=1,this.fImageHeight=(_0x33a279-_0x102abe)/(_0x9841ce-_0x53bb5c),this.fTexCenterX=(_0x102abe+_0x33a279)/2*this.fImageWidth,this.fTexCenterY=(_0x53bb5c+_0x9841ce)/2*this.fImageHeight,this.fTexRadius=(_0x33a279-_0x102abe)/2*this.fImageWidth,null==this.pArcSphereTex&&(this.pArcSphereTex=new Float32Array(14688),null==this.pArcSphereTex))return _0x13ebaa.SR_ERR_ALLOC_MEMORY;if(null==this.pArcSpherePos&&(this.pArcSpherePos=new Float32Array(22032),null==this.pArcSpherePos))return _0x13ebaa.SR_ERR_ALLOC_MEMORY;var _0x300ef4=new Float32Array(64);if(null==_0x300ef4)return _0x13ebaa.SR_ERR_ALLOC_MEMORY;var _0x1064e0=_0x13ebaa.SR_OK;if(_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?_0x1064e0=this._ComputeLatitudeHorizontal(_0x300ef4,25,40,1):_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&(_0x1064e0=this._ComputeLatitudeVertical(_0x300ef4,25,40,1)),_0x13ebaa.SR_OK!=_0x1064e0)return this.pArcSpherePos=null,this.pArcSphereTex=null,_0x1064e0;this.fFirstLatitude=_0x300ef4[12],this.fLastLatitude=_0x300ef4[51];var _0xd53dd2=0,_0x214d1e=0,_0x4c8362=new Float32Array(5);if(null==_0x4c8362)return this.pArcSpherePos=null,this.pArcSphereTex=null,_0x13ebaa.SR_ERR_ALLOC_MEMORY;for(var _0x46e20f=3.1415926/24,_0x2aa305=-12;_0x2aa305<12;++_0x2aa305)for(var _0x479ae1=_0x2aa305<0?-_0x2aa305:_0x2aa305,_0x55c536=_0x2aa305<0?_0x479ae1:_0x479ae1+1,_0x84bbc9=_0x2aa305<0?64-2*(_0x479ae1-1)-2:64-2*_0x479ae1-2,_0x532aa5=0;_0x532aa5<_0x84bbc9;++_0x532aa5,++_0x55c536)_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-_0x46e20f*_0x2aa305,_0x300ef4[_0x55c536],_0x4c8362):_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-_0x46e20f*_0x2aa305,_0x300ef4[_0x55c536],_0x4c8362),this.pArcSpherePos[_0xd53dd2]=_0x4c8362[0],this.pArcSpherePos[_0xd53dd2+1]=_0x4c8362[1],this.pArcSpherePos[_0xd53dd2+2]=_0x4c8362[2],this.pArcSphereTex[_0x214d1e++]=_0x4c8362[3],this.pArcSphereTex[_0x214d1e++]=_0x4c8362[4],_0xd53dd2+=3,_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-_0x46e20f*(_0x2aa305+1),_0x300ef4[_0x55c536],_0x4c8362):_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-_0x46e20f*(_0x2aa305+1),_0x300ef4[_0x55c536],_0x4c8362),this.pArcSpherePos[_0xd53dd2]=_0x4c8362[0],this.pArcSpherePos[_0xd53dd2+1]=_0x4c8362[1],this.pArcSpherePos[_0xd53dd2+2]=_0x4c8362[2],this.pArcSphereTex[_0x214d1e++]=_0x4c8362[3],this.pArcSphereTex[_0x214d1e++]=_0x4c8362[4],_0xd53dd2+=3,_0x2aa305>=0&&0==_0x532aa5?_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-_0x46e20f*_0x2aa305,_0x300ef4[_0x55c536-1],_0x4c8362):_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-_0x46e20f*_0x2aa305,_0x300ef4[_0x55c536-1],_0x4c8362):_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-_0x46e20f*(_0x2aa305+1),_0x300ef4[_0x55c536-1],_0x4c8362):_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-_0x46e20f*(_0x2aa305+1),_0x300ef4[_0x55c536-1],_0x4c8362),this.pArcSpherePos[_0xd53dd2]=_0x4c8362[0],this.pArcSpherePos[_0xd53dd2+1]=_0x4c8362[1],this.pArcSpherePos[_0xd53dd2+2]=_0x4c8362[2],this.pArcSphereTex[_0x214d1e++]=_0x4c8362[3],this.pArcSphereTex[_0x214d1e++]=_0x4c8362[4],_0xd53dd2+=3,_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-_0x46e20f*(_0x2aa305+1),_0x300ef4[_0x55c536],_0x4c8362):_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-_0x46e20f*(_0x2aa305+1),_0x300ef4[_0x55c536],_0x4c8362),this.pArcSpherePos[_0xd53dd2]=_0x4c8362[0],this.pArcSpherePos[_0xd53dd2+1]=_0x4c8362[1],this.pArcSpherePos[_0xd53dd2+2]=_0x4c8362[2],this.pArcSphereTex[_0x214d1e++]=_0x4c8362[3],this.pArcSphereTex[_0x214d1e++]=_0x4c8362[4],_0xd53dd2+=3,_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-_0x46e20f*_0x2aa305,_0x300ef4[_0x55c536],_0x4c8362):_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-_0x46e20f*_0x2aa305,_0x300ef4[_0x55c536],_0x4c8362),this.pArcSpherePos[_0xd53dd2]=_0x4c8362[0],this.pArcSpherePos[_0xd53dd2+1]=_0x4c8362[1],this.pArcSpherePos[_0xd53dd2+2]=_0x4c8362[2],this.pArcSphereTex[_0x214d1e++]=_0x4c8362[3],this.pArcSphereTex[_0x214d1e++]=_0x4c8362[4],_0xd53dd2+=3,_0x2aa305<0&&_0x532aa5==_0x84bbc9-1?_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-_0x46e20f*(_0x2aa305+1),_0x300ef4[_0x55c536+1],_0x4c8362):_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-_0x46e20f*(_0x2aa305+1),_0x300ef4[_0x55c536+1],_0x4c8362):_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?this._ComputeVertexAndTexturePosHorizontal(1,1.5707963-_0x46e20f*_0x2aa305,_0x300ef4[_0x55c536+1],_0x4c8362):_0x2e8fa4==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL&&this._ComputeVertexAndTexturePosVertical(1,1.5707963-_0x46e20f*_0x2aa305,_0x300ef4[_0x55c536+1],_0x4c8362),this.pArcSpherePos[_0xd53dd2]=_0x4c8362[0],this.pArcSpherePos[_0xd53dd2+1]=_0x4c8362[1],this.pArcSpherePos[_0xd53dd2+2]=_0x4c8362[2],this.pArcSphereTex[_0x214d1e++]=_0x4c8362[3],this.pArcSphereTex[_0x214d1e++]=_0x4c8362[4],_0xd53dd2+=3;return this.nArcSpherePosNum=_0xd53dd2/3,this.nArcSpherePosSize=3,this.nArcSphereTexSize=2,_0x300ef4=null,_0x4c8362=null,_0x13ebaa.SR_OK}},{key:"_ComputeIntersectionOfPlaneAndLongtitude",value:function(_0xf6a47c,_0x536c57,_0x3fdb1d){if(null==_0xf6a47c)return _0x13ebaa.SR_ERR_PARAM;var _0x483955,_0x59c34f=_0xf6a47c[1]*_0x3fdb1d,_0x5401d8=_0xf6a47c[2]*_0x3fdb1d*Math.sin(_0x536c57),_0x1c03b2=-_0xf6a47c[3],_0x403d92=0;if(_0xf6a47c[1]>0){var _0x7b9825=_0x59c34f*_0x59c34f*_0x1c03b2*_0x1c03b2-(_0x59c34f*_0x59c34f+_0x5401d8*_0x5401d8)*(_0x1c03b2*_0x1c03b2-_0x5401d8*_0x5401d8);_0x403d92=(-_0x59c34f*_0x1c03b2-Math.sqrt(_0x7b9825))/(_0x59c34f*_0x59c34f+_0x5401d8*_0x5401d8),_0x7b9825=_0x5401d8*_0x5401d8*_0x1c03b2*_0x1c03b2-(_0x59c34f*_0x59c34f+_0x5401d8*_0x5401d8)*(_0x1c03b2*_0x1c03b2-_0x59c34f*_0x59c34f)}if(_0xf6a47c[1]<0){var _0x1ae62a=_0x59c34f*_0x59c34f*_0x1c03b2*_0x1c03b2-(_0x59c34f*_0x59c34f+_0x5401d8*_0x5401d8)*(_0x1c03b2*_0x1c03b2-_0x5401d8*_0x5401d8);_0x403d92=(-_0x59c34f*_0x1c03b2+Math.sqrt(_0x1ae62a))/(_0x59c34f*_0x59c34f+_0x5401d8*_0x5401d8),_0x1ae62a=_0x5401d8*_0x5401d8*_0x1c03b2*_0x1c03b2-(_0x59c34f*_0x59c34f+_0x5401d8*_0x5401d8)*(_0x1c03b2*_0x1c03b2-_0x59c34f*_0x59c34f)}return _0x483955=-_0x3fdb1d*_0x403d92,Math.asin(_0x483955/_0x3fdb1d)}},{key:"_ComputeLatitudeHorizontal",value:function(_0x5bda97,_0xac201e,_0x3d470f,_0x24e3ea){if(null==_0x5bda97)return _0x13ebaa.SR_ERR_PARAM;var _0x3819d0=0,_0x55e553=(this.fTexCenterY,3.1415926/(_0xac201e-1)),_0x334b6e=3.1415926*this.fTexCenterY/(2*this.fTexRadius),_0x306c9d=Math.asin(this.fTexCenterY/this.fTexRadius),_0x4967e5=Math.atan(Math.cos(_0x334b6e)/(Math.sin(_0x334b6e)-Math.sin(_0x306c9d))),_0x9be225=new Float32Array(4);_0x9be225[0]=0,_0x9be225[1]=Math.sin(_0x4967e5),_0x9be225[2]=Math.cos(_0x4967e5),_0x9be225[3]=-_0x24e3ea*Math.sin(_0x4967e5)*Math.sin(_0x306c9d),_0x5bda97[_0x3819d0++]=_0x334b6e;for(var _0x2bc4c5=1;_0x2bc4c5<=(_0xac201e-3)/2;++_0x2bc4c5){var _0x2940fa=this._ComputeIntersectionOfPlaneAndLongtitude(_0x9be225,1.5707963-_0x55e553*_0x2bc4c5,_0x24e3ea);_0x5bda97[_0x3819d0++]=_0x2940fa}for(var _0x10702e=-Math.asin((this.fImageHeight-this.fTexCenterY)/this.fTexRadius),_0x51831a=_0x306c9d,_0x33c536=(_0x51831a-_0x10702e)/(_0x3d470f-1),_0x376df5=0;_0x376df5<_0x3d470f;++_0x376df5)_0x5bda97[_0x3819d0++]=_0x51831a-_0x376df5*_0x33c536;var _0x2ffa8f=_0x10702e,_0x143de0=3.1415926*(this.fTexCenterY-this.fImageHeight)/(2*this.fTexRadius);_0x4967e5=Math.atan(Math.cos(_0x143de0)/(Math.sin(_0x2ffa8f)-Math.sin(_0x143de0)));var _0xf99bab=new Float32Array(4);_0xf99bab[0]=0,_0xf99bab[1]=-Math.sin(_0x4967e5),_0xf99bab[2]=Math.cos(_0x4967e5),_0xf99bab[3]=_0x24e3ea*Math.sin(_0x4967e5)*Math.sin(_0x2ffa8f);for(var _0x1bbe58=1;_0x1bbe58<=(_0xac201e-3)/2;++_0x1bbe58){var _0x4892fe=this._ComputeIntersectionOfPlaneAndLongtitude(_0xf99bab,_0x55e553*_0x1bbe58,_0x24e3ea);_0x5bda97[_0x3819d0++]=_0x4892fe}return _0x5bda97[_0x3819d0++]=_0x143de0,_0x9be225=null,_0xf99bab=null,_0x13ebaa.SR_OK}},{key:"_ComputeVertexAndTexturePosHorizontal",value:function(_0xe228cd,_0x1b8677,_0x84d308,_0x58a9ec){if(null==_0x58a9ec)return _0x13ebaa.SR_ERR_PARAM;_0x58a9ec[2]=-_0xe228cd*Math.cos(_0x84d308)*Math.sin(_0x1b8677),_0x58a9ec[0]=_0xe228cd*Math.cos(_0x84d308)*Math.cos(_0x1b8677),_0x58a9ec[1]=_0xe228cd*Math.sin(_0x84d308);var _0x6ed1f1,_0x170f9c=-Math.asin(-_0x58a9ec[2]/_0xe228cd)/3.1415926;_0x6ed1f1=_0x84d308>=0?Math.acos(_0x58a9ec[0]/Math.sqrt(_0x58a9ec[0]*_0x58a9ec[0]+_0x58a9ec[1]*_0x58a9ec[1])):6.2831852-Math.acos(_0x58a9ec[0]/Math.sqrt(_0x58a9ec[0]*_0x58a9ec[0]+_0x58a9ec[1]*_0x58a9ec[1]));var _0x5b96e4=this.fTexCenterX-this.fTexRadius,_0x487bb4=this.fTexRadius-this.fTexCenterY;return _0x58a9ec[3]=(Math.cos(_0x6ed1f1)*this.fTexRadius*(1+2*_0x170f9c)+this.fTexRadius+_0x5b96e4)/this.fImageWidth,_0x58a9ec[4]=(Math.sin(_0x6ed1f1)*this.fTexRadius*(-1-2*_0x170f9c)+this.fTexRadius-_0x487bb4)/this.fImageHeight,_0x13ebaa.SR_OK}},{key:"_ComputeLatitudeVertical",value:function(_0x4e6fb1,_0x159ade,_0x2c43af,_0x259690){if(null==_0x4e6fb1)return _0x13ebaa.SR_ERR_PARAM;var _0x32dd5a=0,_0xecf607=3.1415926/(_0x159ade-1),_0x39e6b3=3.1415926*this.fTexCenterX/(2*this.fTexRadius),_0x231c7f=Math.asin(this.fTexCenterX/this.fTexRadius),_0x2eb02f=Math.atan(Math.cos(_0x39e6b3)/(Math.sin(_0x39e6b3)-Math.sin(_0x231c7f))),_0x3aa215=new Float32Array(4);_0x3aa215[0]=0,_0x3aa215[1]=Math.sin(_0x2eb02f),_0x3aa215[2]=Math.cos(_0x2eb02f),_0x3aa215[3]=-_0x259690*Math.sin(_0x2eb02f)*Math.sin(_0x231c7f),_0x4e6fb1[_0x32dd5a++]=_0x39e6b3;for(var _0x2d8327=1;_0x2d8327<=(_0x159ade-3)/2;++_0x2d8327){var _0x3050a1=this._ComputeIntersectionOfPlaneAndLongtitude(_0x3aa215,1.5707963-_0xecf607*_0x2d8327,_0x259690);_0x4e6fb1[_0x32dd5a++]=_0x3050a1}for(var _0x3890e6=-Math.asin((this.fImageWidth-this.fTexCenterX)/this.fTexRadius),_0xce1d35=_0x231c7f,_0x15bae1=(_0xce1d35-_0x3890e6)/(_0x2c43af-1),_0x2ebf14=0;_0x2ebf14<_0x2c43af;++_0x2ebf14)_0x4e6fb1[_0x32dd5a++]=_0xce1d35-_0x2ebf14*_0x15bae1;var _0x2b73b9=_0x3890e6,_0x1d0a80=3.1415926*(this.fTexCenterX-this.fImageWidth)/(2*this.fTexRadius);_0x2eb02f=Math.atan(Math.cos(_0x1d0a80)/(Math.sin(_0x2b73b9)-Math.sin(_0x1d0a80)));var _0xe1bee8=new Float32Array(4);_0xe1bee8[0]=0,_0xe1bee8[1]=-Math.sin(_0x2eb02f),_0xe1bee8[2]=Math.cos(_0x2eb02f),_0xe1bee8[3]=_0x259690*Math.sin(_0x2eb02f)*Math.sin(_0x2b73b9);for(var _0x4c29b6=1;_0x4c29b6<=(_0x159ade-3)/2;++_0x4c29b6){var _0x2c479b=this._ComputeIntersectionOfPlaneAndLongtitude(_0xe1bee8,_0xecf607*_0x4c29b6,_0x259690);_0x4e6fb1[_0x32dd5a++]=_0x2c479b}return _0x4e6fb1[_0x32dd5a++]=_0x1d0a80,_0x3aa215=null,_0xe1bee8=null,_0x13ebaa.SR_OK}},{key:"_ComputeVertexAndTexturePosVertical",value:function(_0x27dcfb,_0x3f5f8c,_0x480ef0,_0x20471e){if(null==_0x20471e)return _0x13ebaa.SR_ERR_PARAM;_0x20471e[2]=-_0x27dcfb*Math.cos(_0x480ef0)*Math.sin(_0x3f5f8c),_0x20471e[1]=_0x27dcfb*Math.cos(_0x480ef0)*Math.cos(_0x3f5f8c),_0x20471e[0]=-_0x27dcfb*Math.sin(_0x480ef0);var _0x3bc0e9,_0x4489ec=-Math.asin(-_0x20471e[2]/_0x27dcfb)/3.1415926;_0x3bc0e9=_0x3f5f8c<=1.5707963?Math.acos(_0x20471e[0]/Math.sqrt(_0x20471e[0]*_0x20471e[0]+_0x20471e[1]*_0x20471e[1])):6.2831852-Math.acos(_0x20471e[0]/Math.sqrt(_0x20471e[0]*_0x20471e[0]+_0x20471e[1]*_0x20471e[1]));var _0x1b951c=this.fTexCenterX-this.fTexRadius,_0x14b7f1=this.fTexRadius-this.fTexCenterY;return _0x20471e[3]=(Math.cos(_0x3bc0e9)*this.fTexRadius*(1+2*_0x4489ec)+this.fTexRadius+_0x1b951c)/this.fImageWidth,_0x20471e[4]=(Math.sin(_0x3bc0e9)*this.fTexRadius*(-1-2*_0x4489ec)+this.fTexRadius-_0x14b7f1)/this.fImageHeight,_0x13ebaa.SR_OK}},{key:"_BeginCapture",value:function(){var _0x865cdc=_0x13ebaa.SR_OK;return 0==this.bCaptureResInit&&(_0x865cdc=this._InitRenderTarget(this.nWndWidth,this.nWndHeight,!1,!0),_0x13ebaa.SR_OK!=_0x865cdc)?_0x865cdc:(_0x865cdc=this._Resize(this.nWndWidth,this.nWndHeight,!1,!0),_0x13ebaa.SR_OK!=_0x865cdc?_0x865cdc:(this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,this.nCaptureFBO),this.bIsCapturing=!0,_0x13ebaa.SR_OK))}},{key:"_InitRenderTarget",value:function(_0x4cd0ca,_0x4e57d8,_0x273fe1,_0x4a8e98){if(0!=this.nCaptureRTTex||0!=this.nCaptureFBO)return _0x13ebaa.SR_ERR_CALL_ORDER;if(_0x4cd0ca<=0||_0x4e57d8<=0)return _0x13ebaa.SR_ERR_PARAM;if(this.nCaptureRTTex=this.ctx.createTexture(),this.nCaptureRTTex<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nCaptureRTTex),this.bAntialias?this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR_MINMAP_LINEAR):this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MAG_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_S,this.ctx.CLAMP_TO_EDGE),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_T,this.ctx.CLAMP_TO_EDGE),this.ctx.texImage2D(this.ctx.TEXTURE_2D,0,this.ctx.RGBA,_0x4cd0ca,_0x4e57d8,0,this.ctx.RGBA,this.ctx.UNSIGNED_BYTE,null),0==this.nCaptureFBO&&(this.nCaptureFBO=this.ctx.createFramebuffer(),this.nCaptureFBO<=0))return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,this.nCaptureFBO),this.ctx.framebufferTexture2D(this.ctx.FRAMEBUFFER,this.ctx.COLOR_ATTACHMENT0,this.ctx.TEXTURE_2D,this.nCaptureRTTex,0),1==_0x4a8e98&&0==this.nCaptureDepthbuffer){if(this.nCaptureDepthbuffer=this.ctx.createRenderbuffer(),this.nCaptureDepthbuffer<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.bindRenderbuffer(this.ctx.RENDERBUFFER,this.nCaptureDepthbuffer),this.ctx.renderbufferStorage(this.ctx.RENDERBUFFER,this.ctx.DEPTH_COMPONENT16,_0x4cd0ca,_0x4e57d8),this.ctx.framebufferRenderbuffer(this.ctx.FRAMEBUFFER,this.ctx.DEPTH_ATTACHMENT,this.ctx.RENDERBUFFER,this.nCaptureDepthbuffer)}return this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),this.nCaptureFBOWidth=_0x4cd0ca,this.nCaptureFBOHeight=_0x4e57d8,this.bCaptureResInit=!0,_0x13ebaa.SR_OK}},{key:"_Resize",value:function(_0x441a7e,_0x411d3b,_0x2bd0f6,_0x15769f){if(this.nCaptureFBOWidth!=_0x441a7e||this.nCaptureFBOHeight!=_0x411d3b){if(this.nCaptureFBOWidth=_0x441a7e,this.nCaptureFBOHeight=_0x411d3b,0!=this.nCaptureRTTex&&(this.ctx.deleteTexture(this.nCaptureRTTex),this.nCaptureRTTex=0),0!=this.nCaptureDepthbuffer&&(this.ctx.deleteRenderbuffer(this.nCaptureDepthbuffer),this.nCaptureDepthbuffer=0),0==this.nCaptureRTTex&&(this.nCaptureRTTex=this.ctx.createTexture(),this.nCaptureRTTex<=0))return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;if(this.ctx.bindTexture(this.ctx.TEXTURE_2D,this.nCaptureRTTex),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MAG_FILTER,this.ctx.LINEAR),this.bAntialias?this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR_MINMAP_LINEAR):this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_S,this.ctx.CLAMP_TO_EDGE),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_T,this.ctx.CLAMP_TO_EDGE),this.ctx.texImage2D(this.ctx.TEXTURE_2D,0,this.ctx.RGBA,this.nCaptureFBOWidth,this.nCaptureFBOHeight,0,this.ctx.RGBA,this.ctx.UNSIGNED_BYTE,null),this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,this.nCaptureFBO),this.ctx.framebufferTexture2D(this.ctx.FRAMEBUFFER,this.ctx.COLOR_ATTACHMENT0,this.ctx.TEXTURE_2D,this.nCaptureRTTex,0),1==_0x15769f&&0==this.nCaptureDepthbuffer){if(this.nCaptureDepthbuffer=this.ctx.createRenderbuffer(),this.nCaptureDepthbuffer<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.bindRenderbuffer(this.ctx.RENDERBUFFER,this.nCaptureDepthbuffer),this.ctx.renderbufferStorage(this.ctx.RENDERBUFFER,this.ctx.DEPTH_COMPONENT16,_0x441a7e,_0x411d3b),this.ctx.framebufferRenderbuffer(this.ctx.FRAMEBUFFER,this.ctx.DEPTH_ATTACHMENT,this.ctx.RENDERBUFFER,this.nCaptureDepthbuffer)}this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null)}return _0x13ebaa.SR_OK}},{key:"_EndCapture",value:function(_0x573447){return null==this.ctx?(this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_CALL_ORDER):null==_0x573447.pBuffer||null==_0x573447.pBuffer?(this.bIsCapturing=!1,this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),_0x13ebaa.SR_ERR_PARAM):(this.ctx.readPixels(0,0,this.nCaptureWidth,this.nCaptureHeight,this.ctx.RGBA,this.ctx.UNSIGNED_BYTE,_0x573447.pBuffer),this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER,null),this.bIsCapturing=!1,_0x13ebaa.SR_OK)}},{key:"_ComputeRotateLimits",value:function(){if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL||this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL){var _0x109154,_0x464fcf;if(this.enDisplayEffect==_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL?(_0x109154=.17453292222222222,_0x464fcf=1.0471975333333334):(_0x109154=.5235987666666667,_0x464fcf=.34906584444444444),0==this.nWndWidth||0==this.nWndHeight)this.fRotateLimitX=_0x109154,this.fRotateLimitY=_0x464fcf;else{var _0x3b33c2=Math.tan(2.748893525);if(Math.abs(_0x3b33c2*this.fScale)<1){var _0xa32493=_0x3b33c2*_0x3b33c2+1,_0x208e61=-2*_0x3b33c2*_0x3b33c2*this.fScale,_0x3f7a9c=_0x3b33c2*_0x3b33c2*this.fScale*this.fScale-1,_0x272eec=(-_0x208e61-Math.sqrt(_0x208e61*_0x208e61-4*_0xa32493*_0x3f7a9c))/(2*_0xa32493),_0x5c2588=_0x3b33c2*(_0x272eec-this.fScale);this.fRotateLimitX=Math.acos(_0x5c2588/Math.sqrt(_0x272eec*_0x272eec+_0x5c2588*_0x5c2588)),this.fRotateLimitX<_0x109154&&(this.fRotateLimitX=_0x109154)}else this.fRotateLimitX=_0x109154;var _0x2b3322=Math.atan(this.nWndWidth/this.nWndHeight*Math.tan(.392699075));if(_0x3b33c2=Math.tan(3.1415926-_0x2b3322),Math.abs(_0x3b33c2*this.fScale)<1){var _0x5a92d0=_0x3b33c2*_0x3b33c2+1,_0x235f5e=-2*_0x3b33c2*_0x3b33c2*this.fScale,_0x5ac2e3=_0x3b33c2*_0x3b33c2*this.fScale*this.fScale-1,_0x1d54af=(-_0x235f5e-Math.sqrt(_0x235f5e*_0x235f5e-4*_0x5a92d0*_0x5ac2e3))/(2*_0x5a92d0),_0x48b9eb=_0x3b33c2*(_0x1d54af-this.fScale);this.fRotateLimitY=Math.acos(_0x48b9eb/Math.sqrt(_0x1d54af*_0x1d54af+_0x48b9eb*_0x48b9eb)),this.fRotateLimitY<_0x464fcf&&(this.fRotateLimitY=_0x464fcf)}else this.fRotateLimitY=_0x464fcf}this.fRotateX>this.fRotateLimitX&&(this.fRotateX=this.fRotateLimitX),this.fRotateX<-this.fRotateLimitX&&(this.fRotateX=-this.fRotateLimitX),this.fRotateY>this.fRotateLimitY&&(this.fRotateY=this.fRotateLimitX),this.fRotateY<-this.fRotateLimitX&&(this.fRotateY=-this.fRotateLimitX)}return _0x13ebaa.SR_OK}},{key:"SetMSAACache",value:function(_0x1e40c2,_0x50aa3d){return this.msaaFrameBuffer=_0x1e40c2,this.renderBuffer=_0x50aa3d,_0x13ebaa.SR_OK}}]),_0x30fb6d}(),_0x3d45ee=function(){function _0x34e9cd(){_0x5e6040(this,_0x34e9cd),this.canvas=null,this.ctx=null,this.pFrameData=null,this.frameDisplayWidth=0,this.frameDisplayHeight=0,this.onlySupportedWebGL1=!1,this.bAntialias=!1,this.bAntialiasStateNeedChange=!1,this.bRecreateTex=!0,this.nSurfaceTexture=[],this.nSurfaceTexture[0]=0,this.nSurfaceTexture[1]=0,this.nSurfaceTexture[2]=0,this.bOpenMsaa=!1,this.nMsaaFBO=0,this.nResolveFBO=0,this.nMsaaColorBuffer=0,this.nResolveTexture=0,this.nMsaaSample=0,this.pFishParamManager=null,this.enDisplayEffect=_0x2e016d.SR_DE_NULL,this.nFECPort=-1,this.enPixelFormat=_0x568e47.SR_PF_NULL,this.nTextureNum=0,this.nCaptureWidth=0,this.nCaptureHeight=0,this.pSubDisplay=null,this.nRTWidth=0,this.nRTHeight=0,this.pRenderToTex=null,this.bRenderToTex=!1,this.b3DPort=!1,this.preDisplayRectnX=0,this.preDisplayRectnY=0,this.preDisplayRectnW=0,this.preDisplayRectnH=0,this.preImageRotateValue=0}return _0x1af9be(_0x34e9cd,[{key:"SR_Init",value:function(_0x119262,_0x1d55dc){if(null==_0x119262)return _0x13ebaa.SR_ERR_PARAM;if(this.canvas=_0x119262,this.ctx=this.canvas.getContext("webgl2"),!this.ctx){if(this.ctx=this.canvas.getContext("webgl")||this.canvas.getContext("experimental-webgl"),!this.ctx)return _0x13ebaa.SR_ERR_CANVAS;this.onlySupportedWebGL1=!0}if(_0x1d55dc==_0x568e47.SR_PF_NV12||_0x1d55dc==_0x568e47.SR_PF_NV21)return _0x13ebaa.SR_ERR_NOT_SUPPORT;switch(_0x1d55dc){case _0x568e47.SR_PF_YV12:case _0x568e47.SR_PF_I420:this.nTextureNum=3;break;case _0x568e47.SR_PF_SURFACE:this.nTextureNum=1;break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}return this.enPixelFormat=_0x1d55dc,_0x13ebaa.SR_OK}},{key:"SR_AddSubPort",value:function(_0xfcb053){var _0x56cb36=-1;if(null==this.ctx)return _0x56cb36;if(null!=this.pFishParamManager?(_0x56cb36=this.pFishParamManager.GetFECPort(_0xfcb053),this.b3DPort=!0):_0xfcb053==_0x2e016d.SR_DE_NULL&&(_0x56cb36=0),-1==_0x56cb36)return-1;this.nFECPort=_0x56cb36;var _0x56c627=_0x13ebaa.SR_OK;if(null==this.pSubDisplay&&(this.pSubDisplay=new _0x5d30d5,null==this.pSubDisplay))return _0x13ebaa.SR_ERR_ALLOC_MEMORY;if((_0x56c627=this.pSubDisplay.SetCanvasSize(this.canvas.width,this.canvas.height))!=_0x13ebaa.SR_OK)return _0x56c627;if((_0x56c627=this.pSubDisplay.SetWebGL2Support(this.onlySupportedWebGL1))!=_0x13ebaa.SR_OK)return _0x56c627;var _0x43426f={};if(null!=this.pFishParamManager){this.pSubDisplay.SetFishParamManager(this.pFishParamManager),this.pSubDisplay.SetFECPort(this.nFECPort);for(var _0x182edf=0;_0x182edf<32&&_0x13ebaa.SR_OK!=this.pFishParamManager.GetRenderParam(_0x182edf,_0x43426f);++_0x182edf);}if((_0x56c627=this.pSubDisplay.Init(this.ctx,this.enPixelFormat,_0xfcb053,_0x43426f))!=_0x13ebaa.SR_OK)return _0x56c627;if(_0x2e016d.SR_DE_NULL!=_0xfcb053){_0x56c627=this.pFishParamManager.SetPTZDisplayMode(_0x22db6c.SR_DM_NULL);var _0xdfb885={};if((_0x56c627=this.pFishParamManager.GetFishParam(this.nFECPort,_0xdfb885))!=_0x13ebaa.SR_OK)return _0x56c627;if(_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL==_0xfcb053){if(_0xdfb885.nFishParamType=_0x2fbc55.SR_FPT_CENTER,_0xdfb885.fRXLeft=.05,_0xdfb885.fRXRight=.95,_0xdfb885.fRYTop=-.3,_0xdfb885.fRYBottom=1.3,(_0x56c627=this.pFishParamManager.SetFishParam(this.nFECPort,_0xdfb885))!=_0x13ebaa.SR_OK)return _0x56c627}else if(_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL==_0xfcb053&&(_0xdfb885.nFishParamType=_0x2fbc55.SR_FPT_CENTER,_0xdfb885.fRXLeft=-.16,_0xdfb885.fRXRight=1.16,_0xdfb885.fRYTop=.005,_0xdfb885.fRYBottom=.995,(_0x56c627=this.pFishParamManager.SetFishParam(this.nFECPort,_0xdfb885))!=_0x13ebaa.SR_OK))return _0x56c627}return null!=this.pFishParamManager&&this.pFishParamManager.ComputePTZPoints(),this.enDisplayEffect=_0xfcb053,this.nFECPort}},{key:"SR_UpdateFrameData",value:function(_0x3e268d,_0x11154a,_0xe5464b,_0x16b362,_0x54fc4d){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==_0x3e268d||_0x11154a<=0||_0xe5464b<=0)return _0x13ebaa.SR_ERR_PARAM;this.frameDisplayWidth==_0x11154a&&this.frameDisplayHeight==_0xe5464b||(this.bRecreateTex=!0);var _0x28f9a0=_0x13ebaa.SR_OK;if(_0x568e47.SR_PF_SURFACE==this.enPixelFormat)this.frameDisplayWidth=_0x11154a,this.frameDisplayHeight=_0xe5464b;else if(_0x28f9a0=this._ResizeFrameData(_0x3e268d,_0x11154a,_0xe5464b,_0x16b362),_0x13ebaa.SR_OK!=_0x28f9a0)return _0x28f9a0;if(1==this.bRecreateTex){if(this.enPixelFormat==_0x568e47.SR_PF_SURFACE){if(0!=this.nSurfaceTexture[0]){var _0x2ac014=this.nSurfaceTexture[0];this.ctx.deleteTexture(_0x2ac014),this.nSurfaceTexture[0]=0}var _0x1f5953=this.ctx.createTexture();if(_0x1f5953<=0)return _0x13ebaa.SR_ERR_WEBGL_RESOURCE;this.ctx.bindTexture(this.ctx.TEXTURE_2D,_0x1f5953),this.onlySupportedWebGL1||1!=this.bAntialias?this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR):this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MIN_FILTER,this.ctx.LINEAR_MIPMAP_NEAREST),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_MAG_FILTER,this.ctx.LINEAR),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_S,this.ctx.CLAMP_TO_EDGE),this.ctx.texParameteri(this.ctx.TEXTURE_2D,this.ctx.TEXTURE_WRAP_T,this.ctx.CLAMP_TO_EDGE),this.ctx.bindTexture(this.ctx.TEXTURE_2D,null),this.nSurfaceTexture[0]=_0x1f5953}else if(this.enPixelFormat==_0x568e47.SR_PF_YV12||this.enPixelFormat==_0x568e47.SR_PF_I420)for(var _0x787e68=0;_0x787e681&&void 0!==arguments[1]&&arguments[1];if(null==_0x482c55)return _0x13ebaa.SR_ERR_PARAM;if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==this.pSubDisplay)return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x16c074=_0x13ebaa.SR_OK;return(_0x16c074=this.pSubDisplay.GetCaptureSize(_0x482c55,_0x5eafb0))!=_0x13ebaa.SR_OK?_0x16c074:(this.nCaptureWidth=_0x482c55.nWidth,this.nCaptureHeight=_0x482c55.nHeight,_0x13ebaa.SR_OK)}},{key:"SR_CaptureScreen",value:function(_0x2fe536){var _0x5398a2=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(0==this.nSurfaceTexture[0])return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==this.pSubDisplay)return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x275138={nWndWidth:0,nWndHeight:0};this.pSubDisplay.GetWndResolution(_0x275138),this.pSubDisplay.SetWndResolution(this.nCaptureWidth,this.nCaptureHeight);var _0x591d40=_0x13ebaa.SR_OK;return(_0x591d40=this.pSubDisplay.CaptureScreen(_0x2fe536,_0x5398a2))!=_0x13ebaa.SR_OK?_0x591d40:(this.pSubDisplay.SetWndResolution(_0x275138.nWndWidth,_0x275138.nWndHeight),_0x13ebaa.SR_OK)}},{key:"SR_DrawMosaic",value:function(_0x4dc12b,_0x5b86ac,_0x247004,_0x4a43b6,_0x5267bd){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==this.pSubDisplay)return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x1fb712=_0x13ebaa.SR_OK;return(_0x1fb712=this.pSubDisplay.DrawMosaic(_0x4dc12b,_0x5b86ac,_0x247004,_0x4a43b6,_0x5267bd))!=_0x13ebaa.SR_OK?_0x1fb712:_0x13ebaa.SR_OK}},{key:"DrawPTZLines",value:function(){if(null==this.pFishParamManager)return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x2b1651=this.pFishParamManager.GetPTZDisplayMode();if(_0x2b1651==_0x22db6c.SR_DM_RANGE||_0x2b1651==_0x22db6c.SR_DM_RECT)for(var _0x50c37b=0,_0x280ad6={fR:0,fG:0,fB:0,fA:0},_0x52d00c=_0x13ebaa.SR_OK,_0x423a01=0;_0x423a01<32;++_0x423a01)if(0!=this.pFishParamManager.IsPortAllocated(_0x423a01)&&(_0x50c37b=2,_0x52d00c=this.pFishParamManager.GetPTZColor(_0x423a01,_0x280ad6),_0x13ebaa.SR_OK==_0x52d00c)){1==this.pFishParamManager.IsPTZSelected(_0x423a01)&&(_0x50c37b+=1);var _0x17eb7a=this.pFishParamManager.GetWndPort();if(_0x423a01!=_0x17eb7a&&_0x22db6c.SR_DM_RANGE==_0x2b1651)if(_0x2e016d.SR_DE_FISH_ORIGINAL==this.pFishParamManager.GetDisplayEffect(_0x17eb7a)){var _0x185303={};if(_0x52d00c=this.pFishParamManager.GetPTZPoints(_0x423a01,_0x185303,_0x22db6c.SR_DM_RANGE),_0x13ebaa.SR_OK!=_0x52d00c)continue;if(null!=_0x185303.pstPoints&&0!=_0x185303.nPointNum&&(_0x52d00c=this.SR_DrawLines(_0x185303.pstPoints,_0x185303.nPointNum,!0,_0x280ad6,_0x50c37b,!1),_0x13ebaa.SR_OK!=_0x52d00c))continue}else{var _0x422db4;if((_0x422db4=this.pFishParamManager.GetPTZFragmentNum(_0x423a01))<=0)continue;for(var _0x511505=0;_0x511505<_0x422db4;_0x511505++){var _0x333027={};this.pFishParamManager.GetPTZFragmentPoints(_0x423a01,_0x333027,_0x511505),null!=_0x333027.pstPoints&&0!=_0x333027.nPointNum&&this.SR_DrawLines(_0x333027.pstPoints,_0x333027.nPointNum,!1,_0x280ad6,_0x50c37b,!1)}}else if(_0x423a01!=_0x17eb7a&&_0x22db6c.SR_DM_RECT==_0x2b1651){var _0x3fe62f={};if(_0x52d00c=this.pFishParamManager.GetPTZPoints(_0x423a01,_0x3fe62f,_0x22db6c.SR_DM_RECT),_0x13ebaa.SR_OK!=_0x52d00c)continue;if(null!=_0x3fe62f.pstPoints&&0!=_0x3fe62f.nPointNum&&(_0x52d00c=this.SR_DrawLines(_0x3fe62f.pstPoints,_0x3fe62f.nPointNum,!0,_0x280ad6,_0x50c37b,!1),_0x13ebaa.SR_OK!=_0x52d00c))continue}}return _0x13ebaa.SR_OK}},{key:"SR_DrawLines",value:function(_0xe8d55d,_0x77e7a1,_0x5ec97f,_0x4c7cd9,_0x540c9b,_0x5419ea){return null==this.ctx||null==this.pSubDisplay?_0x13ebaa.SR_ERR_CALL_ORDER:this.pSubDisplay.DrawLines(_0xe8d55d,_0x77e7a1,_0x5ec97f,_0x4c7cd9,_0x540c9b,_0x5419ea)}},{key:"SR_DrawLinesEx",value:function(_0x200243,_0xf4c168,_0x273079,_0x589554){return null==this.ctx||null==this.pSubDisplay?_0x13ebaa.SR_ERR_CALL_ORDER:this.pSubDisplay.DrawLinesEx(_0x200243,_0xf4c168,_0x273079,_0x589554)}},{key:"SR_DrawFont",value:function(_0x1f408e,_0x5740ce,_0x392f94,_0x392b89,_0x588a25,_0x494838,_0x53cf83,_0x9e1362,_0x2a7392,_0x4c1fa6,_0xf35ce4){return _0x13ebaa.SR_ERR_NOT_SUPPORT}},{key:"SR_DrawFontEx",value:function(_0x2c6d95,_0x33eed9){var _0x1073fa=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,_0x3e05c3=arguments.length>3?arguments[3]:void 0;return null==this.ctx||null==this.pSubDisplay?_0x13ebaa.SR_ERR_CALL_ORDER:this.pSubDisplay.DrawFontEx(_0x2c6d95,_0x33eed9,_0x1073fa,_0x3e05c3)}},{key:"SR_DrawImage",value:function(_0x4e7e0b,_0x1ac1d5,_0x288e5d,_0x2cd969,_0x525654,_0x5f1e0b){return null==this.ctx||null==this.pSubDisplay?_0x13ebaa.SR_ERR_CALL_ORDER:this.pSubDisplay.DrawImage(_0x4e7e0b,_0x1ac1d5,_0x288e5d,_0x2cd969,_0x525654,_0x5f1e0b)}},{key:"SR_DelSubPort",value:function(_0x2d5a87){return null==this.ctx||null==this.pSubDisplay?_0x13ebaa.SR_ERR_CALL_ORDER:(this.pSubDisplay.DelSubPort(),null!=this.pFishParamManager&&this.nFECPort==_0x2d5a87&&this.pFishParamManager.FreeFECPort(this.nFECPort),this.enDisplayEffect=_0x2e016d.SR_DE_NULL,this.pSubDisplay=null,_0x13ebaa.SR_OK)}},{key:"SR_GetFishParam",value:function(_0x528aa5){return null==_0x528aa5?_0x13ebaa.SR_ERR_PARAM:null==this.pFishParamManager?_0x13ebaa.SR_ERR_CALL_ORDER:this.pFishParamManager.GetFishParam(this.nFECPort,_0x528aa5)}},{key:"SR_SetFishParam",value:function(_0xf642fa){return null==_0xf642fa?_0x13ebaa.SR_ERR_PARAM:null==this.pFishParamManager?_0x13ebaa.SR_ERR_CALL_ORDER:this.pFishParamManager.SetFishParam(this.nFECPort,_0xf642fa)}},{key:"SR_Destroy",value:function(){if(null==this.ctx)return _0x13ebaa.SR_ERR_CALL_ORDER;this.frameDisplayWidth=0,this.frameDisplayHeight=0,this.pFrameData=null;for(var _0x2f2ec9=0;_0x2f2ec9=32)return _0x13ebaa.SR_ERR_PARAM;this.nWndPort==_0x9b7f7c&&(this.nWndPort=-1),null!=this.pRenderParam[_0x9b7f7c]&&(this.pRenderParam[_0x9b7f7c].fCosH=1,this.pRenderParam[_0x9b7f7c].fSinH=0,this.pRenderParam[_0x9b7f7c].fCosV=1,this.pRenderParam[_0x9b7f7c].fSinV=0,this.pRenderParam[_0x9b7f7c].fAngle=0,this.pRenderParam[_0x9b7f7c].fZoom=0,this.pRenderParam[_0x9b7f7c].fRX1=0,this.pRenderParam[_0x9b7f7c].fRX2=1,this.pRenderParam[_0x9b7f7c].fRY1=0,this.pRenderParam[_0x9b7f7c].fRY2=1,this.pRenderParam[_0x9b7f7c].nDisplayEffect=0,this.pRenderParam[_0x9b7f7c].bBlack=!1,this.pRenderParam[_0x9b7f7c].bCut=!1),null!=this.pFishParam[_0x9b7f7c]&&(this.pFishParam[_0x9b7f7c].nFishParamType=0,this.pFishParam[_0x9b7f7c].fRXLeft=0,this.pFishParam[_0x9b7f7c].fRXRight=1,this.pFishParam[_0x9b7f7c].fRYTop=0,this.pFishParam[_0x9b7f7c].fRYBottom=1,this.pFishParam[_0x9b7f7c].bBlack=!1,this.pFishParam[_0x9b7f7c].bCut=!1,this.pFishParam[_0x9b7f7c].fAngle=0,this.pFishParam[_0x9b7f7c].fZoom=0,this.pFishParam[_0x9b7f7c].fPTZX=.5,this.pFishParam[_0x9b7f7c].fPTZY=.5),this.nBasePTZPointNum[_0x9b7f7c]=0,this.nOriPTZPointNum[_0x9b7f7c]=0,this.nPanoPTZPointNum[_0x9b7f7c]=0,this.nPTZRectNum[_0x9b7f7c]=0;for(var _0x29d6ed=0;_0x29d6ed<4;++_0x29d6ed)this.pRectPoints[_0x9b7f7c][_0x29d6ed].fX=0,this.pRectPoints[_0x9b7f7c][_0x29d6ed].fY=0;for(var _0xd7013b=0;_0xd7013b<1024;++_0xd7013b)this.pBasePTZPoints[_0x9b7f7c][_0xd7013b].fX=0,this.pBasePTZPoints[_0x9b7f7c][_0xd7013b].fY=0,this.pOriPTZPoints[_0x9b7f7c][_0xd7013b].fX=0,this.pOriPTZPoints[_0x9b7f7c][_0xd7013b].fY=0,this.pPanoPTZPoints[_0x9b7f7c][_0xd7013b].fX=0,this.pPanoPTZPoints[_0x9b7f7c][_0xd7013b].fY=0;if(this.pPTZSetColor[_0x9b7f7c].bSetColor&&(this.pPTZSetColor[_0x9b7f7c].fA=0,this.pPTZSetColor[_0x9b7f7c].fR=0,this.pPTZSetColor[_0x9b7f7c].fG=0,this.pPTZSetColor[_0x9b7f7c].fB=0,this.pPTZSetColor[_0x9b7f7c].bSetColor=!1),this.bPTZSelected[_0x9b7f7c]=!1,0!=this.nPlaceType){for(var _0x2071a=!1,_0x1f8982=0;_0x1f8982<32;++_0x1f8982)if(null!=this.pRenderParam[_0x1f8982]&&(_0x2e016d.SR_DE_FISH_PTZ_CEILING==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_PTZ_FLOOR==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_PTZ_WALL==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_PANORAMA_CEILING_180==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_180==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_PANORAMA_WALL==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_CYLINDER_CEILING==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_CYLINDER_FLOOR==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL==this.pRenderParam[_0x1f8982].nDisplayEffect||_0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL==this.pRenderParam[_0x1f8982].nDisplayEffect)){_0x2071a=!0;break}_0x2071a||(this.nPlaceType=0)}for(var _0x2bf307=!1,_0x3830e5=0;_0x3830e5<32;++_0x3830e5)if(null!=this.pRenderParam[_0x3830e5]){_0x2bf307=!0;break}_0x2bf307||(this.fRX1=0,this.fRX2=1,this.fRY1=0,this.fRY2=1,this.bBlack=!1),this.nPTZFragmentNum[_0x9b7f7c]=0;for(var _0x6430fc=0;_0x6430fc<100;++_0x6430fc)this.nPTZFragmentNode[_0x9b7f7c][_0x6430fc]=0;return this.bPortAllocated[_0x9b7f7c]=!1,_0x13ebaa.SR_OK}},{key:"DeInit",value:function(){for(var _0x413d9c=0;_0x413d9c<32;++_0x413d9c){for(var _0xb79d6a=0;_0xb79d6a<4;++_0xb79d6a)this.pRectPoints[_0x413d9c][_0xb79d6a]=null;for(var _0x412b1a=0;_0x412b1a<1024;++_0x412b1a)this.pBasePTZPoints[_0x413d9c][_0x412b1a]=null,this.pOriPTZPoints[_0x413d9c][_0x412b1a]=null,this.pPanoPTZPoints[_0x413d9c][_0x412b1a]=null;this.nPTZFragmentNum[_0x413d9c]=0,this.nPTZFragmentNode[_0x413d9c]=null,this.bPortAllocated[_0x413d9c]=!1,this.bPTZSelected[_0x413d9c]=!1,this.pRenderParam[_0x413d9c]=null,this.pFishParam[_0x413d9c]=null,this.stPTZColor[_0x413d9c]=null,this.nBasePTZPointNum[_0x413d9c]=0,this.nOriPTZPointNum[_0x413d9c]=0,this.nPanoPTZPointNum[_0x413d9c]=0,this.nPTZRectNum[_0x413d9c]=0,this.pPanoPTZPoints[_0x413d9c]=null,this.pRectPoints[_0x413d9c]=null,this.pBasePTZPoints[_0x413d9c]=null,this.pOriPTZPoints[_0x413d9c]=null}return this.bPortAllocated=null,this.pRenderParam=null,this.pFishParam=null,this.stPTZColor=null,this.nBasePTZPointNum=null,this.nOriPTZPointNum=null,this.nPanoPTZPointNum=null,this.nPTZFragmentNum=null,this.pBasePTZPoints=null,this.pPanoPTZPoints=null,this.pRectPoints=null,this.nPTZRectNum=null,this.nPTZDisplayMode=_0x22db6c.SR_DM_NULL,this.fRX1=0,this.fRX2=1,this.fRY1=0,this.fRY2=1,this.bBlack=!1,this.pOriPTZPoints=null,this.pBasePTZPoints=null,this.nWndPort=-1,this.nPlaceType=0,this.nPTZFragmentNode=null,this.bPTZSelected=null,this.nPTZDisplayMode=_0x22db6c.SR_DM_RANGE,_0x13ebaa.SR_OK}},{key:"InitColorList",value:function(){this.stPTZColor[0].fR=.5,this.stPTZColor[0].fG=.5,this.stPTZColor[0].fB=0,this.stPTZColor[0].fA=1,this.stPTZColor[1].fR=1,this.stPTZColor[1].fG=0,this.stPTZColor[1].fB=0,this.stPTZColor[1].fA=1,this.stPTZColor[2].fR=0,this.stPTZColor[2].fG=1,this.stPTZColor[2].fB=0,this.stPTZColor[2].fA=1,this.stPTZColor[3].fR=0,this.stPTZColor[3].fG=0,this.stPTZColor[3].fB=1,this.stPTZColor[3].fA=1,this.stPTZColor[4].fR=1,this.stPTZColor[4].fG=1,this.stPTZColor[4].fB=0,this.stPTZColor[4].fA=1,this.stPTZColor[5].fR=.5,this.stPTZColor[5].fG=0,this.stPTZColor[5].fB=1,this.stPTZColor[5].fA=1,this.stPTZColor[6].fR=0,this.stPTZColor[6].fG=1,this.stPTZColor[6].fB=1,this.stPTZColor[6].fA=1,this.stPTZColor[7].fR=1,this.stPTZColor[7].fG=.5,this.stPTZColor[7].fB=0,this.stPTZColor[7].fA=1,this.stPTZColor[8].fR=0,this.stPTZColor[8].fG=.5,this.stPTZColor[8].fB=.5,this.stPTZColor[8].fA=1;for(var _0x55648b=9;_0x55648b<32;_0x55648b++)this.stPTZColor[_0x55648b].fR=1*_0x55648b/32,this.stPTZColor[_0x55648b].fG=1*_0x55648b/32,this.stPTZColor[_0x55648b].fB=1*_0x55648b/32,this.stPTZColor[_0x55648b].fA=1;return _0x13ebaa.SR_OK}},{key:"GetRangePoints",value:function(_0x1fef63){if(_0x1fef63<0||_0x1fef63>=32)return _0x13ebaa.SR_ERR_PARAM;if(null==this.pRenderParam[_0x1fef63])return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x5bd95e=0,_0x216f52=0;switch(this.nOriPTZPointNum[_0x1fef63]=0,this.nBasePTZPointNum[_0x1fef63]=0,this.pRenderParam[_0x1fef63].nDisplayEffect){case _0x2e016d.SR_DE_FISH_PTZ_CEILING:for(_0x216f52=0;_0x216f52<1;_0x216f52+=.01)this.GetFishPTZCeiling(_0x5bd95e,_0x216f52,_0x1fef63);for(_0x216f52=.9995,_0x5bd95e=0;_0x5bd95e<1;_0x5bd95e+=.02)this.GetFishPTZCeiling(_0x5bd95e,_0x216f52,_0x1fef63);for(_0x5bd95e=.999,_0x216f52=.9995;_0x216f52>=0;_0x216f52-=.01)this.GetFishPTZCeiling(_0x5bd95e,_0x216f52,_0x1fef63);for(_0x216f52=0,_0x5bd95e=.999;_0x5bd95e>=0;_0x5bd95e-=.02)this.GetFishPTZCeiling(_0x5bd95e,_0x216f52,_0x1fef63);break;case _0x2e016d.SR_DE_FISH_PTZ_FLOOR:for(_0x216f52=0;_0x216f52<1;_0x216f52+=.01)this.GetFishPTZFloor(_0x5bd95e,_0x216f52,_0x1fef63);for(_0x216f52=.9995,_0x5bd95e=0;_0x5bd95e<1;_0x5bd95e+=.02)this.GetFishPTZFloor(_0x5bd95e,_0x216f52,_0x1fef63);for(_0x5bd95e=.999,_0x216f52=.9995;_0x216f52>=0;_0x216f52-=.01)this.GetFishPTZFloor(_0x5bd95e,_0x216f52,_0x1fef63);for(_0x216f52=0,_0x5bd95e=.999;_0x5bd95e>=0;_0x5bd95e-=.02)this.GetFishPTZFloor(_0x5bd95e,_0x216f52,_0x1fef63);break;case _0x2e016d.SR_DE_FISH_PTZ_WALL:for(_0x216f52=0;_0x216f52<1;_0x216f52+=.01)this.GetFishPTZWALL(_0x5bd95e,_0x216f52,_0x1fef63);for(_0x216f52=.9995,_0x5bd95e=0;_0x5bd95e<1;_0x5bd95e+=.02)this.GetFishPTZWALL(_0x5bd95e,_0x216f52,_0x1fef63);for(_0x5bd95e=.999,_0x216f52=.9995;_0x216f52>=0;_0x216f52-=.01)this.GetFishPTZWALL(_0x5bd95e,_0x216f52,_0x1fef63);for(_0x216f52=0,_0x5bd95e=.999;_0x5bd95e>=0;_0x5bd95e-=.02)this.GetFishPTZWALL(_0x5bd95e,_0x216f52,_0x1fef63);break;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}return _0x13ebaa.SR_OK}},{key:"TransformPTZRangePoints",value:function(_0x4742bb){if(-1==this.nWndPort)return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==this.pBasePTZPoints[_0x4742bb]||null==this.pRenderParam[this.nWndPort])return _0x13ebaa.SR_ERR_CALL_ORDER;this.nPanoPTZPointNum[_0x4742bb]=0;var _0x407a51=_0x13ebaa.SR_OK,_0x276a90=this.nWndPort;switch(this.pRenderParam[_0x276a90].nDisplayEffect){case _0x2e016d.SR_DE_FISH_PANORAMA_WALL:if(_0x407a51=this.GetPanoPTZWall(_0x4742bb),_0x13ebaa.SR_OK!=_0x407a51)return _0x407a51;break;case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360:if(_0x407a51=this.GetPanoPTZFloor(_0x4742bb),_0x13ebaa.SR_OK!=_0x407a51)return _0x407a51;break;case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360:if(_0x407a51=this.GetPanoPTZCeiling(_0x4742bb),_0x13ebaa.SR_OK!=_0x407a51)return _0x407a51}return this.CalcPTZFragmentPoints(_0x4742bb),_0x13ebaa.SR_OK}},{key:"GetRectPoints",value:function(_0x34dcfd){if(_0x34dcfd<0||_0x34dcfd>=32)return _0x13ebaa.SR_ERR_PARAM;if(-1==this.nWndPort)return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==this.pRenderParam[this.nWndPort]||null==this.pFishParam[_0x34dcfd])return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x138ef5=this.pRenderParam[this.nWndPort].nDisplayEffect,_0x574a93=_0x13ebaa.SR_OK,_0x2fb662={fX:0,fY:0};switch(_0x138ef5){case _0x2e016d.SR_DE_FISH_PANORAMA_WALL:if(_0x574a93=this.GetPointFish2PanoWall(_0x2fb662,this.pFishParam[_0x34dcfd].fPTZX,this.pFishParam[_0x34dcfd].fPTZY),_0x13ebaa.SR_OK!=_0x574a93)return _0x574a93;break;case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360:if(_0x574a93=this.GetPointFish2PanoFloor(_0x2fb662,this.pFishParam[_0x34dcfd].fPTZX,this.pFishParam[_0x34dcfd].fPTZY),_0x13ebaa.SR_OK!=_0x574a93)return _0x13ebaa.SR_ERR_NOT_SUPPORT==_0x574a93&&(this.pRectPoints[_0x34dcfd]=null),_0x574a93;break;case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360:if(_0x574a93=this.GetPointFish2PanoCeiling(_0x2fb662,this.pFishParam[_0x34dcfd].fPTZX,this.pFishParam[_0x34dcfd].fPTZY),_0x13ebaa.SR_OK!=_0x574a93)return _0x13ebaa.SR_ERR_NOT_SUPPORT==_0x574a93&&(this.pRectPoints[_0x34dcfd]=null),_0x574a93;break;case _0x2e016d.SR_DE_FISH_ORIGINAL:_0x2fb662.fX=this.pFishParam[_0x34dcfd].fPTZX,_0x2fb662.fY=this.pFishParam[_0x34dcfd].fPTZY}if(null==this.pRectPoints[_0x34dcfd]){this.pRectPoints[_0x34dcfd]=[];for(var _0x31f66c=0;_0x31f66c<4;++_0x31f66c)this.pRectPoints[_0x34dcfd][_0x31f66c]={},this.pRectPoints[_0x34dcfd][_0x31f66c].fX=0,this.pRectPoints[_0x34dcfd][_0x31f66c].fY=0}return this.pRectPoints[_0x34dcfd][0].fX=_0x2fb662.fX-.05,this.pRectPoints[_0x34dcfd][0].fY=_0x2fb662.fY-.05,this.pRectPoints[_0x34dcfd][1].fX=_0x2fb662.fX+.05,this.pRectPoints[_0x34dcfd][1].fY=_0x2fb662.fY-.05,this.pRectPoints[_0x34dcfd][2].fX=_0x2fb662.fX+.05,this.pRectPoints[_0x34dcfd][2].fY=_0x2fb662.fY+.05,this.pRectPoints[_0x34dcfd][3].fX=_0x2fb662.fX-.05,this.pRectPoints[_0x34dcfd][3].fY=_0x2fb662.fY+.05,this.nPTZRectNum[_0x34dcfd]=4,_0x13ebaa.SR_OK}},{key:"GetFishPTZCeiling",value:function(_0x3e6601,_0x773554,_0x3090bd){var _0x37799e,_0x27fb15,_0x226c0e,_0x38e727,_0x2f414a,_0x4a6404,_0x12c3e6,_0x49473a={fX:0,fY:0},_0x4657c7={fX:0,fY:0},_0x19265a={fX:0,fY:0},_0x1f0f7b={};_0x38e727=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),_0x2f414a=(this.fRX1+this.fRX2)/2*1,_0x4a6404=(this.fRY1+this.fRY2)/2*_0x38e727,_0x12c3e6=(this.fRX2-this.fRX1)/2*1,_0x49473a.fX=_0x773554-.5,_0x49473a.fY=.5-_0x3e6601,_0x37799e=this.pRenderParam[_0x3090bd].fZoom,_0x4657c7.fX=_0x49473a.fX,_0x4657c7.fY=_0x49473a.fY*this.pRenderParam[_0x3090bd].fCosV+_0x37799e*this.pRenderParam[_0x3090bd].fSinV,_0x27fb15=_0x37799e*this.pRenderParam[_0x3090bd].fCosV-_0x49473a.fY*this.pRenderParam[_0x3090bd].fSinV,_0x226c0e=Math.sqrt(_0x4657c7.fX*_0x4657c7.fX+_0x4657c7.fY*_0x4657c7.fY);var _0x850048=Math.sqrt(_0x4657c7.fX*_0x4657c7.fX+_0x4657c7.fY*_0x4657c7.fY+_0x27fb15*_0x27fb15),_0x3cdaee=Math.asin(_0x226c0e/_0x850048)/1.5707963*.5;_0x4657c7.fX=_0x3cdaee*_0x4657c7.fX/_0x226c0e,_0x4657c7.fY=_0x3cdaee*_0x4657c7.fY/_0x226c0e,_0x19265a.fX=_0x4657c7.fX*this.pRenderParam[_0x3090bd].fCosH-_0x4657c7.fY*this.pRenderParam[_0x3090bd].fSinH,_0x19265a.fY=_0x4657c7.fX*this.pRenderParam[_0x3090bd].fSinH+_0x4657c7.fY*this.pRenderParam[_0x3090bd].fCosH,_0x1f0f7b.fX=2*_0x19265a.fX*_0x12c3e6+_0x2f414a,_0x1f0f7b.fY=2*-_0x19265a.fY*_0x12c3e6+_0x4a6404;var _0x235786=this.nBasePTZPointNum[_0x3090bd];this.pBasePTZPoints[_0x3090bd][_0x235786].fX=_0x19265a.fX+.5,this.pBasePTZPoints[_0x3090bd][_0x235786].fY=.5-_0x19265a.fY,this.nBasePTZPointNum[_0x3090bd]=this.nBasePTZPointNum[_0x3090bd]+1;var _0x4ea765=this.fRX1<=0?0:1*this.fRX1,_0x468239=this.fRY1<=0?0:this.fRY1*_0x38e727,_0x3201b4=this.fRX2>=1?1-_0x4ea765:1*this.fRX2-_0x4ea765,_0x55cfaf=this.fRY2>=1?_0x38e727-_0x468239:this.fRY2*_0x38e727-_0x468239;if(_0x1f0f7b.fX=(_0x1f0f7b.fX-_0x4ea765)/_0x3201b4,_0x1f0f7b.fY=(_0x1f0f7b.fY-_0x468239)/_0x55cfaf,_0x1f0f7b.fX<=1&&_0x1f0f7b.fY<=1&&_0x1f0f7b.fX>=0&&_0x1f0f7b.fY>=0){var _0x2f0dc4=this.nOriPTZPointNum[_0x3090bd];this.pOriPTZPoints[_0x3090bd][_0x2f0dc4].fX=_0x1f0f7b.fX,this.pOriPTZPoints[_0x3090bd][_0x2f0dc4].fY=_0x1f0f7b.fY,this.nOriPTZPointNum[_0x3090bd]=this.nOriPTZPointNum[_0x3090bd]+1}return _0x13ebaa.SR_OK}},{key:"GetFishPTZFloor",value:function(_0xb6eb82,_0x2809c4,_0x487729){var _0x1075e4,_0x181a94,_0x1cc088,_0x5e9239,_0xf9b739,_0x2fb367,_0x1c48bc,_0x5ad4d8={fX:0,fY:0},_0x4806e2={fX:0,fY:0},_0x5befec={fX:0,fY:0},_0x5b6092={};_0x5e9239=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),_0xf9b739=(this.fRX1+this.fRX2)/2*1,_0x2fb367=(this.fRY1+this.fRY2)/2*_0x5e9239,_0x1c48bc=(this.fRX2-this.fRX1)/2*1,_0x5ad4d8.fX=_0xb6eb82-.5,_0x5ad4d8.fY=_0x2809c4-.5,_0x1075e4=this.pRenderParam[_0x487729].fZoom,_0x4806e2.fX=_0x5ad4d8.fX,_0x4806e2.fY=_0x5ad4d8.fY*this.pRenderParam[_0x487729].fCosV+_0x1075e4*this.pRenderParam[_0x487729].fSinV,_0x181a94=_0x1075e4*this.pRenderParam[_0x487729].fCosV-_0x5ad4d8.fY*this.pRenderParam[_0x487729].fSinV,_0x1cc088=Math.sqrt(_0x4806e2.fX*_0x4806e2.fX+_0x4806e2.fY*_0x4806e2.fY);var _0x12b984=Math.sqrt(_0x4806e2.fX*_0x4806e2.fX+_0x4806e2.fY*_0x4806e2.fY+_0x181a94*_0x181a94),_0x279a3f=Math.asin(_0x1cc088/_0x12b984)/1.5707963*.5;_0x4806e2.fX=_0x279a3f*_0x4806e2.fX/_0x1cc088,_0x4806e2.fY=_0x279a3f*_0x4806e2.fY/_0x1cc088,_0x5befec.fX=_0x4806e2.fX*this.pRenderParam[_0x487729].fCosH-_0x4806e2.fY*this.pRenderParam[_0x487729].fSinH,_0x5befec.fY=_0x4806e2.fX*this.pRenderParam[_0x487729].fSinH+_0x4806e2.fY*this.pRenderParam[_0x487729].fCosH,_0x5b6092.fX=2*_0x5befec.fX*_0x1c48bc+_0xf9b739,_0x5b6092.fY=2*_0x5befec.fY*_0x1c48bc+_0x2fb367;var _0x45d5e5=this.nBasePTZPointNum[_0x487729];this.pBasePTZPoints[_0x487729][_0x45d5e5].fX=_0x5befec.fX+.5,this.pBasePTZPoints[_0x487729][_0x45d5e5].fY=_0x5befec.fY+.5,this.nBasePTZPointNum[_0x487729]=this.nBasePTZPointNum[_0x487729]+1;var _0x2a01c2=this.fRX1<=0?0:1*this.fRX1,_0xd9c09f=this.fRY1<=0?0:this.fRY1*_0x5e9239,_0x452668=this.fRX2>=1?1-_0x2a01c2:1*this.fRX2-_0x2a01c2,_0x2d4820=this.fRY2>=1?_0x5e9239-_0xd9c09f:this.fRY2*_0x5e9239-_0xd9c09f;if(_0x5b6092.fX=(_0x5b6092.fX-_0x2a01c2)/_0x452668,_0x5b6092.fY=(_0x5b6092.fY-_0xd9c09f)/_0x2d4820,_0x5b6092.fX<=1&&_0x5b6092.fY<=1&&_0x5b6092.fX>=0&&_0x5b6092.fY>=0){var _0x28e6a1=this.nOriPTZPointNum[_0x487729];this.pOriPTZPoints[_0x487729][_0x28e6a1].fX=_0x5b6092.fX,this.pOriPTZPoints[_0x487729][_0x28e6a1].fY=_0x5b6092.fY,this.nOriPTZPointNum[_0x487729]=this.nOriPTZPointNum[_0x487729]+1}return _0x13ebaa.SR_OK}},{key:"GetFishPTZWALL",value:function(_0x2c62fb,_0x1954e4,_0x4a11bf){var _0x26b519,_0x2c93c7,_0x1aa177,_0x2c116e,_0x47e336,_0x49d19f,_0x3ee422,_0x27966e,_0x5e057b={fX:0,fY:0},_0x531bbb={fX:0,fY:0},_0x1878ed={fX:0,fY:0},_0x27a6b1={};_0x47e336=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),_0x49d19f=(this.fRX1+this.fRX2)/2*1,_0x3ee422=(this.fRY1+this.fRY2)/2*_0x47e336,_0x27966e=(this.fRX2-this.fRX1)/2*1,_0x5e057b.fX=_0x1954e4-.5,_0x5e057b.fY=_0x2c62fb-.5,_0x26b519=this.pRenderParam[_0x4a11bf].fZoom,_0x531bbb.fX=_0x5e057b.fX,_0x531bbb.fY=_0x5e057b.fY*this.pRenderParam[_0x4a11bf].fCosV+_0x26b519*this.pRenderParam[_0x4a11bf].fSinV,_0x2c93c7=_0x26b519*this.pRenderParam[_0x4a11bf].fCosV-_0x5e057b.fY*this.pRenderParam[_0x4a11bf].fSinV,_0x1878ed.fX=_0x531bbb.fX*this.pRenderParam[_0x4a11bf].fCosH+_0x2c93c7*this.pRenderParam[_0x4a11bf].fSinH,_0x1878ed.fY=_0x531bbb.fY,_0x1aa177=_0x2c93c7*this.pRenderParam[_0x4a11bf].fCosH-_0x531bbb.fX*this.pRenderParam[_0x4a11bf].fSinH,_0x2c116e=Math.sqrt(_0x1878ed.fX*_0x1878ed.fX+_0x1878ed.fY*_0x1878ed.fY);var _0x3d9b07=Math.sqrt(_0x1878ed.fX*_0x1878ed.fX+_0x1878ed.fY*_0x1878ed.fY+_0x1aa177*_0x1aa177),_0x58e412=Math.asin(_0x2c116e/_0x3d9b07)/1.5707963*.5;_0x27a6b1.fX=_0x58e412*_0x1878ed.fX/_0x2c116e*_0x27966e*2+_0x49d19f,_0x27a6b1.fY=_0x58e412*_0x1878ed.fY/_0x2c116e*_0x27966e*2+_0x3ee422;var _0x13f6b4=this.nBasePTZPointNum[_0x4a11bf];this.pBasePTZPoints[_0x4a11bf][_0x13f6b4].fX=_0x58e412*_0x1878ed.fX/_0x2c116e+.5,this.pBasePTZPoints[_0x4a11bf][_0x13f6b4].fY=_0x58e412*_0x1878ed.fY/_0x2c116e+.5,this.nBasePTZPointNum[_0x4a11bf]=this.nBasePTZPointNum[_0x4a11bf]+1;var _0x430495=this.fRX1<=0?0:1*this.fRX1,_0x16ed15=this.fRY1<=0?0:this.fRY1*_0x47e336,_0x8494c3=this.fRX2>=1?1-_0x430495:1*this.fRX2-_0x430495,_0x2d3c1c=this.fRY2>=1?_0x47e336-_0x16ed15:this.fRY2*_0x47e336-_0x16ed15;if(_0x27a6b1.fX=(_0x27a6b1.fX-_0x430495)/_0x8494c3,_0x27a6b1.fY=(_0x27a6b1.fY-_0x16ed15)/_0x2d3c1c,_0x27a6b1.fX<=1&&_0x27a6b1.fY<=1&&_0x27a6b1.fX>=0&&_0x27a6b1.fY>=0){var _0x199753=this.nOriPTZPointNum[_0x4a11bf];this.pOriPTZPoints[_0x4a11bf][_0x199753].fX=_0x27a6b1.fX,this.pOriPTZPoints[_0x4a11bf][_0x199753].fY=_0x27a6b1.fY,this.nOriPTZPointNum[_0x4a11bf]=this.nOriPTZPointNum[_0x4a11bf]+1}return _0x13ebaa.SR_OK}},{key:"GetPanoPTZCeiling",value:function(_0x464241){if(null==this.pRenderParam[_0x464241]||null==this.pRenderParam[this.nWndPort])return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==this.pBasePTZPoints[_0x464241])return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x4e6357,_0x13128e,_0xa70e77=this.nBasePTZPointNum[_0x464241];_0x4e6357=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),_0x13128e=(this.fRX2-this.fRX1)/2*1;var _0x40296d,_0x52e4fb=0;(this.fRX2>1||this.fRY2>1||this.fRY1<0||this.fRX1<0)&&(this.fRX1<0&&(_0x40296d=1*-this.fRX1)>_0x52e4fb&&(_0x52e4fb=_0x40296d),this.fRX2>1&&(_0x40296d=1*(this.fRX2-1))>_0x52e4fb&&(_0x52e4fb=_0x40296d),this.fRY1<0&&(_0x40296d=-this.fRY1*_0x4e6357)>_0x52e4fb&&(_0x52e4fb=_0x40296d),this.fRY2>1&&(_0x40296d=(this.fRY2-1)*_0x4e6357)>_0x52e4fb&&(_0x52e4fb=_0x40296d));for(var _0x3c96ab,_0x30adf7=_0x52e4fb/_0x13128e,_0x7e8b44={fX:0,fY:0},_0x1e4114={fX:0,fY:0},_0x2cfd0b=0;_0x2cfd0b<_0xa70e77;++_0x2cfd0b)if(_0x1e4114.fX=this.pBasePTZPoints[_0x464241][_0x2cfd0b].fX,_0x1e4114.fY=this.pBasePTZPoints[_0x464241][_0x2cfd0b].fY,!(Math.abs(_0x1e4114.fX-.5)<1e-6&&Math.abs(_0x1e4114.fY-.5)<1e-6)){var _0x2db65a={fX:0,fY:0},_0x5ba9e0={fX:0,fY:0};_0x2db65a.fX=_0x1e4114.fX-.5,_0x2db65a.fY=_0x1e4114.fY-.5,_0x5ba9e0.fX=-.5*Math.sin(this.pRenderParam[this.nWndPort].fAngle),_0x5ba9e0.fY=.5*Math.cos(this.pRenderParam[this.nWndPort].fAngle);var _0x9e0a3f=Math.sqrt(_0x2db65a.fX*_0x2db65a.fX+_0x2db65a.fY*_0x2db65a.fY),_0x480800=Math.sqrt(_0x5ba9e0.fX*_0x5ba9e0.fX+_0x5ba9e0.fY*_0x5ba9e0.fY);if(_0x3c96ab=Math.acos((_0x2db65a.fX*_0x5ba9e0.fX+_0x2db65a.fY*_0x5ba9e0.fY)/(_0x9e0a3f*_0x480800)),_0x2db65a.fX*_0x5ba9e0.fY-_0x2db65a.fY*_0x5ba9e0.fX>0&&(_0x3c96ab=6.2831852-_0x3c96ab),_0x7e8b44.fX=_0x3c96ab/6.2831853,_0x7e8b44.fY=(2*(.5-_0x9e0a3f)-_0x30adf7)/(.8-_0x30adf7),_0x7e8b44.fY>=0&&_0x7e8b44.fX>=0&&_0x7e8b44.fY<=1&&_0x7e8b44.fX<=1){var _0x3bd7a3=this.nPanoPTZPointNum[_0x464241];this.pPanoPTZPoints[_0x464241][_0x3bd7a3].fX=_0x7e8b44.fX,this.pPanoPTZPoints[_0x464241][_0x3bd7a3].fY=_0x7e8b44.fY,this.nPanoPTZPointNum[_0x464241]=this.nPanoPTZPointNum[_0x464241]+1}}return _0x13ebaa.SR_OK}},{key:"GetPanoPTZFloor",value:function(_0x30d3fa){if(null==this.pRenderParam[_0x30d3fa]||null==this.pRenderParam[this.nWndPort])return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==this.pBasePTZPoints[_0x30d3fa])return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x3ddb7d,_0xdb5d1c,_0x2d0aaa=this.nBasePTZPointNum[_0x30d3fa];_0x3ddb7d=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),_0xdb5d1c=(this.fRX2-this.fRX1)/2*1;var _0xd9ae55,_0x3d1d9d=0;(this.fRX2>1||this.fRY2>1||this.fRY1<0||this.fRX1<0)&&(this.fRX1<0&&(_0xd9ae55=1*-this.fRX1)>_0x3d1d9d&&(_0x3d1d9d=_0xd9ae55),this.fRX2>1&&(_0xd9ae55=1*(this.fRX2-1))>_0x3d1d9d&&(_0x3d1d9d=_0xd9ae55),this.fRY1<0&&(_0xd9ae55=-this.fRY1*_0x3ddb7d)>_0x3d1d9d&&(_0x3d1d9d=_0xd9ae55),this.fRY2>1&&(_0xd9ae55=(this.fRY2-1)*_0x3ddb7d)>_0x3d1d9d&&(_0x3d1d9d=_0xd9ae55));for(var _0x589f16,_0x43c117=_0x3d1d9d/_0xdb5d1c,_0x20b9d4={fX:0,fY:0},_0x46b559={fX:0,fY:0},_0x2e2db2=0;_0x2e2db2<_0x2d0aaa;++_0x2e2db2)if(_0x46b559.fX=this.pBasePTZPoints[_0x30d3fa][_0x2e2db2].fX,_0x46b559.fY=this.pBasePTZPoints[_0x30d3fa][_0x2e2db2].fY,!(Math.abs(_0x46b559.fX-.5)<1e-6&&Math.abs(_0x46b559.fY-.5)<1e-6)){var _0x3cb850={fX:0,fY:0},_0x3fbaea={fX:0,fY:0};_0x3cb850.fX=_0x46b559.fX-.5,_0x3cb850.fY=_0x46b559.fY-.5,_0x3fbaea.fX=-.5*Math.sin(this.pRenderParam[this.nWndPort].fAngle),_0x3fbaea.fY=.5*Math.cos(this.pRenderParam[this.nWndPort].fAngle);var _0xa43967=Math.sqrt(_0x3cb850.fX*_0x3cb850.fX+_0x3cb850.fY*_0x3cb850.fY),_0x471802=Math.sqrt(_0x3fbaea.fX*_0x3fbaea.fX+_0x3fbaea.fY*_0x3fbaea.fY);if(_0x589f16=Math.acos((_0x3cb850.fX*_0x3fbaea.fX+_0x3cb850.fY*_0x3fbaea.fY)/(_0xa43967*_0x471802)),_0x3cb850.fX*_0x3fbaea.fY-_0x3cb850.fY*_0x3fbaea.fX>0&&(_0x589f16=6.2831852-_0x589f16),_0x20b9d4.fX=1-_0x589f16/6.2831853,_0x20b9d4.fY=1-(2*(.5-_0xa43967)-_0x43c117)/(.8-_0x43c117),_0x20b9d4.fY>=0&&_0x20b9d4.fX>=0&&_0x20b9d4.fY<=1&&_0x20b9d4.fX<=1){var _0x317fa0=this.nPanoPTZPointNum[_0x30d3fa];this.pPanoPTZPoints[_0x30d3fa][_0x317fa0].fX=_0x20b9d4.fX,this.pPanoPTZPoints[_0x30d3fa][_0x317fa0].fY=_0x20b9d4.fY,this.nPanoPTZPointNum[_0x30d3fa]=this.nPanoPTZPointNum[_0x30d3fa]+1}}return _0x13ebaa.SR_OK}},{key:"GetPanoPTZWall",value:function(_0x5d7ff8){if(null==this.pRenderParam[_0x5d7ff8]||null==this.pRenderParam[this.nWndPort])return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==this.pBasePTZPoints[_0x5d7ff8])return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x4a6639,_0x4da681,_0x10758a=this.nBasePTZPointNum[_0x5d7ff8];_0x4a6639=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),_0x4da681=(this.fRX2-this.fRX1)/2*1;var _0x168d37,_0x5225f0,_0x5796d8,_0x2e2999,_0x217885,_0x9977a5=0,_0x2cf273=1,_0x3a4012=.1,_0x2df204=.9;this.fRX1<0&&(_0x168d37=1*-this.fRX1,_0x9977a5=_0x168d37/=2*_0x4da681),this.fRX2>1&&(_0x5225f0=1*(this.fRX2-1),_0x2cf273=1-(_0x5225f0/=2*_0x4da681)),this.fRY1<0&&(_0x5796d8=-this.fRY1*_0x4a6639,_0x3a4012=(_0x5796d8/=2*_0x4da681)>.1?_0x5796d8:.1),this.fRY2>1&&(_0x2e2999=(this.fRY2-1)*_0x4a6639,_0x2df204=(_0x2e2999/=2*_0x4da681)>1-.9?1-_0x2e2999:.9);for(var _0x2d95b9={fX:0,fY:0},_0x19e5c6={fX:0,fY:0},_0x418215=0;_0x418215<_0x10758a;++_0x418215){_0x19e5c6.fX=this.pBasePTZPoints[_0x5d7ff8][_0x418215].fX,_0x19e5c6.fY=this.pBasePTZPoints[_0x5d7ff8][_0x418215].fY;var _0x4b1a53=2*_0x19e5c6.fX*_0x4da681,_0x44beec=2*_0x19e5c6.fY*_0x4da681;if(_0x217885=Math.sqrt(_0x4da681*_0x4da681-(_0x44beec-_0x4da681)*(_0x44beec-_0x4da681)),!(Math.abs(_0x217885)<1e-6)&&(_0x19e5c6.fX=_0x4da681*(_0x4b1a53-_0x4da681)/_0x217885+_0x4da681,_0x19e5c6.fY=_0x44beec,_0x2d95b9.fX=(_0x19e5c6.fX-2*_0x9977a5*_0x4da681)/(2*(_0x2cf273-_0x9977a5)*_0x4da681),_0x2d95b9.fY=(_0x19e5c6.fY-2*_0x3a4012*_0x4da681)/(2*(_0x2df204-_0x3a4012)*_0x4da681),_0x2d95b9.fY>=0&&_0x2d95b9.fX>=0&&_0x2d95b9.fY<=1&&_0x2d95b9.fX<=1)){var _0x2c54a0=this.nPanoPTZPointNum[_0x5d7ff8];this.pPanoPTZPoints[_0x5d7ff8][_0x2c54a0].fX=_0x2d95b9.fX,this.pPanoPTZPoints[_0x5d7ff8][_0x2c54a0].fY=_0x2d95b9.fY,this.nPanoPTZPointNum[_0x5d7ff8]=this.nPanoPTZPointNum[_0x5d7ff8]+1}}return _0x13ebaa.SR_OK}},{key:"GetPointPano2FishCeiling",value:function(_0x416ae7,_0x277afe,_0x4ace8e){if(null==_0x416ae7||null==this.pRenderParam[this.nWndPort])return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x278d90,_0x19f408;_0x278d90=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),_0x19f408=(this.fRX2-this.fRX1)/2*1;var _0x394dc6,_0x13a824=0,_0x377fc3=1,_0x22e5dd=0,_0x43400b=1,_0x4eb9c8=0;(this.fRX2>1||this.fRY2>1||this.fRX1<0||this.fRY1<0)&&(this.fRX1<0&&((_0x394dc6=1*-this.fRX1)>_0x4eb9c8&&(_0x4eb9c8=_0x394dc6),_0x13a824=_0x394dc6/=2*_0x19f408),this.fRX2>1&&((_0x394dc6=1*(this.fRX2-1))>_0x4eb9c8&&(_0x4eb9c8=_0x394dc6),_0x377fc3=1-(_0x394dc6/=2*_0x19f408)),this.fRY1<0&&((_0x394dc6=-this.fRY1*_0x278d90)>_0x4eb9c8&&(_0x4eb9c8=_0x394dc6),_0x22e5dd=_0x394dc6/=2*_0x19f408),this.fRY2>1&&((_0x394dc6=(this.fRY2-1)*_0x278d90)>_0x4eb9c8&&(_0x4eb9c8=_0x394dc6),_0x43400b=1-(_0x394dc6/=2*_0x19f408)));var _0x5d6465,_0x4bcb45,_0x2d84d7=_0x4eb9c8/_0x19f408,_0x37b351={},_0x3125a0={};return _0x37b351.fX=_0x277afe,_0x37b351.fY=(.8-_0x2d84d7)*_0x4ace8e+_0x2d84d7,_0x5d6465=6.2831853*_0x37b351.fX+this.pRenderParam[this.nWndPort].fAngle,_0x4bcb45=.5*(1-_0x37b351.fY),_0x3125a0.fX=.5-_0x4bcb45*Math.sin(_0x5d6465),_0x3125a0.fY=.5+_0x4bcb45*Math.cos(_0x5d6465),_0x3125a0.fX=(_0x3125a0.fX-_0x13a824)/(_0x377fc3-_0x13a824),_0x3125a0.fY=(_0x3125a0.fY-_0x22e5dd)/(_0x43400b-_0x22e5dd),_0x416ae7.fX=_0x3125a0.fX,_0x416ae7.fY=_0x3125a0.fY,_0x13ebaa.SR_OK}},{key:"GetPointPano2FishFloor",value:function(_0x2ce723,_0x1721cf,_0x1f24dd){if(null==this.pRenderParam[this.nWndPort])return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==_0x2ce723)return _0x13ebaa.SR_ERR_PARAM;var _0x51d193,_0x48ba3c;_0x51d193=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),_0x48ba3c=(this.fRX2-this.fRX1)/2*1;var _0x18f680,_0x16b29c=0,_0x30fa0e=1,_0x2f3483=0,_0x691907=1,_0x349397=0;(this.fRX2>1||this.fRY2>1||this.fRX1<0||this.fRY1<0)&&(this.fRX1<0&&((_0x18f680=1*-this.fRX1)>_0x349397&&(_0x349397=_0x18f680),_0x16b29c=_0x18f680/=2*_0x48ba3c),this.fRX2>1&&((_0x18f680=1*(this.fRX2-1))>_0x349397&&(_0x349397=_0x18f680),_0x30fa0e=1-(_0x18f680/=2*_0x48ba3c)),this.fRY1<0&&((_0x18f680=-this.fRY1*_0x51d193)>_0x349397&&(_0x349397=_0x18f680),_0x2f3483=_0x18f680/=2*_0x48ba3c),this.fRY2>1&&((_0x18f680=(this.fRY2-1)*_0x51d193)>_0x349397&&(_0x349397=_0x18f680),_0x691907=1-(_0x18f680/=2*_0x48ba3c)));var _0x36810c,_0x3316cd,_0x34c74e=_0x349397/_0x48ba3c,_0x27b457={},_0x388173={};return _0x27b457.fX=1-_0x1721cf,_0x27b457.fY=(.8-_0x34c74e)*(1-_0x1f24dd)+_0x34c74e,_0x36810c=6.2831853*_0x27b457.fX+this.pRenderParam[this.nWndPort].fAngle,_0x3316cd=.5*(1-_0x27b457.fY),_0x388173.fX=.5-_0x3316cd*Math.sin(_0x36810c),_0x388173.fY=.5+_0x3316cd*Math.cos(_0x36810c),_0x388173.fX=(_0x388173.fX-_0x16b29c)/(_0x30fa0e-_0x16b29c),_0x388173.fY=(_0x388173.fY-_0x2f3483)/(_0x691907-_0x2f3483),_0x2ce723.fX=_0x388173.fX,_0x2ce723.fY=_0x388173.fY,_0x13ebaa.SR_OK}},{key:"GetPointPano2FishWall",value:function(_0x29714c,_0x1f4a88,_0x46a549){if(null==this.pRenderParam[this.nWndPort])return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==_0x29714c)return _0x13ebaa.SR_ERR_PARAM;var _0x133a78,_0xd5029;_0x133a78=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),_0xd5029=(this.fRX2-this.fRX1)/2*1;var _0x437206,_0x11e687,_0x58cb03,_0x19e224,_0x22d66f=0,_0x3a517c=1,_0x1bba53=.1,_0x3fbfdc=.9,_0x2cb6ad=0,_0x389149=1,_0x8fd5a=0,_0x922af6=1;this.fRX1<0&&(_0x437206=1*-this.fRX1,_0x22d66f=_0x437206/=2*_0xd5029,_0x2cb6ad=_0x437206),this.fRX2>1&&(_0x11e687=1*(this.fRX2-1),_0x3a517c=1-(_0x11e687/=2*_0xd5029),_0x389149=1-_0x11e687),this.fRY1<0&&(_0x58cb03=-this.fRY1*_0x133a78,_0x1bba53=(_0x58cb03/=2*_0xd5029)>.1?_0x58cb03:.1,_0x8fd5a=_0x58cb03),this.fRY2>1&&(_0x19e224=(this.fRY2-1)*_0x133a78,_0x3fbfdc=(_0x19e224/=2*_0xd5029)>1-.9?1-_0x19e224:.9,_0x922af6=1-_0x19e224);var _0x56469b={},_0x4305d8={};_0x56469b.fX=_0x1f4a88*(_0x3a517c-_0x22d66f)+_0x22d66f,_0x56469b.fY=_0x46a549*(_0x3fbfdc-_0x1bba53)+_0x1bba53;var _0x4c947c=Math.sqrt(.25-(_0x56469b.fY-.5)*(_0x56469b.fY-.5));return _0x4305d8.fX=(_0x56469b.fX-.5)*_0x4c947c/.5+.5,_0x4305d8.fY=_0x56469b.fY,_0x4305d8.fX=(_0x4305d8.fX-_0x2cb6ad)/(_0x389149-_0x2cb6ad),_0x4305d8.fY=(_0x4305d8.fY-_0x8fd5a)/(_0x922af6-_0x8fd5a),_0x29714c.fX=_0x4305d8.fX,_0x29714c.fY=_0x4305d8.fY,_0x13ebaa.SR_OK}},{key:"UpdatePTZPosition",value:function(_0x10e401,_0x42896c,_0x2a0136){if(null==this.pRenderParam[_0x10e401])return _0x13ebaa.SR_ERR_CALL_ORDER;var _0xe0cbae={fHAngleSin:0,fHAngleCos:0,fVAngleSin:0,fVAngleCos:0},_0x2596c4=_0x13ebaa.SR_OK;if(_0x2e016d.SR_DE_FISH_PTZ_FLOOR==this.pRenderParam[_0x10e401].nDisplayEffect||_0x2e016d.SR_DE_FISH_PTZ_CEILING==this.pRenderParam[_0x10e401].nDisplayEffect){if((_0x2596c4=this.ComputeAngleVertical(_0x42896c,_0x2a0136,_0xe0cbae,this.pRenderParam[_0x10e401].nDisplayEffect))!=_0x13ebaa.SR_OK)return _0x2596c4}else{if(_0x2e016d.SR_DE_FISH_PTZ_WALL!=this.pRenderParam[_0x10e401].nDisplayEffect)return _0x13ebaa.SR_ERR_NOT_SUPPORT;if((_0x2596c4=this.ComputeAngleHorizontal(_0x42896c,_0x2a0136,_0xe0cbae))!=_0x13ebaa.SR_OK)return _0x2596c4}return 0==this.IsInImage(this.fRX1,this.fRX2,this.fRY1,this.fRY2,_0xe0cbae,this.pRenderParam[_0x10e401].fZoom,this.pRenderParam[_0x10e401].nDisplayEffect)?_0x13ebaa.SR_ERR_PARAM:(this.pRenderParam[_0x10e401].fCosH=_0xe0cbae.fHAngleCos,this.pRenderParam[_0x10e401].fSinH=_0xe0cbae.fHAngleSin,this.pRenderParam[_0x10e401].fCosV=_0xe0cbae.fVAngleCos,this.pRenderParam[_0x10e401].fSinV=_0xe0cbae.fVAngleSin,_0x13ebaa.SR_OK)}},{key:"JudgeDisplayEffect",value:function(_0x5bee5d){var _0x4539bb=0;switch(_0x4539bb){case 0:return _0x4539bb=this.GetPlaceType(_0x5bee5d),4==this.nPlaceType&&(this.nPlaceType=0),_0x13ebaa.SR_OK;case 3:return(_0x4539bb=this.GetPlaceType(_0x5bee5d))==this.nPlaceType||4==this.nPlaceType?_0x13ebaa.SR_OK:_0x13ebaa.SR_ERR_NOT_SUPPORT;case 2:case 1:return(_0x4539bb=this.GetPlaceType(_0x5bee5d))==this.nPlaceType||4==_0x4539bb?_0x13ebaa.SR_OK:_0x13ebaa.SR_ERR_NOT_SUPPORT;default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}return _0x13ebaa.SR_ERR_NOT_SUPPORT}},{key:"GetPlaceType",value:function(_0x9358b2){switch(_0x9358b2){case _0x2e016d.SR_DE_FISH_PTZ_CEILING:case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360:case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_180:case _0x2e016d.SR_DE_FISH_CYLINDER_CEILING:case _0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_CEILING:return 3;case _0x2e016d.SR_DE_FISH_PTZ_FLOOR:case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360:case _0x2e016d.SR_DE_FISH_PANARAMA_FLOOR_180:case _0x2e016d.SR_DE_FISH_CYLINDER_FLOOR:case _0x2e016d.SR_DE_FISH_CYLINDER_SPLIT_FLOOR:return 2;case _0x2e016d.SR_DE_FISH_PTZ_WALL:case _0x2e016d.SR_DE_FISH_PANORAMA_WALL:case _0x2e016d.SR_DE_FISH_ARCSPHERE_HORIZONTAL_WALL:case _0x2e016d.SR_DE_FISH_ARCSPHERE_VERTICAL_WALL:return 1;case _0x2e016d.SR_DE_FISH_SEMISPHERE:case _0x2e016d.SR_DE_FISH_ORIGINAL:case _0x2e016d.SR_DE_FISH_PLANET:case _0x2e016d.SR_DE_PANORAMA_SPHERE:case _0x2e016d.SR_DE_PANORAMA_PLANET:return 4;default:return 0}return 0}},{key:"SetFishParam",value:function(_0x12f565,_0x49e56c){if(_0x12f565<0||_0x12f565>=32)return _0x13ebaa.SR_ERR_PARAM;if(null==_0x49e56c)return _0x13ebaa.SR_ERR_PARAM;if(null==this.pRenderParam[_0x12f565])return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x56ef85=_0x13ebaa.SR_OK;switch(_0x49e56c.nFishParamType){case _0x2fbc55.SR_FPT_CENTER:if((_0x56ef85=this.UpdateCircyeParam(_0x49e56c.fRXLeft,_0x49e56c.fRXRight,_0x49e56c.fRYTop,_0x49e56c.fRYBottom))!=_0x13ebaa.SR_OK)return _0x56ef85;this.pRenderParam[_0x12f565].bCut=_0x49e56c.bCut,this.bBlack=_0x49e56c.bBlack;break;case _0x2fbc55.SR_FPT_ANGLE:if(_0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360!=this.pRenderParam[_0x12f565].nDisplayEffect&&_0x2e016d.SR_DE_FISH_PANORAMA_CEILING_180!=this.pRenderParam[_0x12f565].nDisplayEffect&&_0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360!=this.pRenderParam[_0x12f565].nDisplayEffect&&_0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_180!=this.pRenderParam[_0x12f565].nDisplayEffect)return _0x13ebaa.SR_ERR_NOT_SUPPORT;if((_0x56ef85=this.UpdateWideScanAngle(_0x12f565,_0x49e56c.fAngle))!=_0x13ebaa.SR_OK)return _0x56ef85;this.pFishParam[_0x12f565].fAngle=_0x49e56c.fAngle;break;case _0x2fbc55.SR_FPT_ZOOM:if(_0x2e016d.SR_DE_FISH_PTZ_WALL!=this.pRenderParam[_0x12f565].nDisplayEffect&&_0x2e016d.SR_DE_FISH_PTZ_CEILING!=this.pRenderParam[_0x12f565].nDisplayEffect&&_0x2e016d.SR_DE_FISH_PTZ_FLOOR!=this.pRenderParam[_0x12f565].nDisplayEffect)return _0x13ebaa.SR_ERR_NOT_SUPPORT;if((_0x56ef85=this.UpdateRangeParam(_0x12f565,_0x49e56c.fZoom))!=_0x13ebaa.SR_OK)return _0x56ef85;this.pFishParam[_0x12f565].fZoom=_0x49e56c.fZoom;break;case _0x2fbc55.SR_FPT_PTZ:if(_0x2e016d.SR_DE_FISH_PTZ_WALL!=this.pRenderParam[_0x12f565].nDisplayEffect&&_0x2e016d.SR_DE_FISH_PTZ_CEILING!=this.pRenderParam[_0x12f565].nDisplayEffect&&_0x2e016d.SR_DE_FISH_PTZ_FLOOR!=this.pRenderParam[_0x12f565].nDisplayEffect)return _0x13ebaa.SR_ERR_NOT_SUPPORT;if((_0x56ef85=this.UpdatePTZPosition(_0x12f565,_0x49e56c.fPTZX,_0x49e56c.fPTZY,this.pRenderParam[_0x12f565].fZoom,!0))!=_0x13ebaa.SR_OK)return _0x56ef85;this.pFishParam[_0x12f565].fPTZX=_0x49e56c.fPTZX,this.pFishParam[_0x12f565].fPTZY=_0x49e56c.fPTZY;break;case _0x2fbc55.SR_FPT_NULL:default:return _0x13ebaa.SR_ERR_NOT_SUPPORT}return this.ComputePTZPoints(),_0x13ebaa.SR_OK}},{key:"GetFishParam",value:function(_0x57d655,_0x7f143b){return _0x57d655<0||_0x57d655>=32||null==_0x7f143b||null==this.pFishParam[_0x57d655]?_0x13ebaa.SR_ERR_PARAM:(_0x7f143b.fRXLeft=this.fRX1,_0x7f143b.fRXRight=this.fRX2,_0x7f143b.fRYTop=this.fRY1,_0x7f143b.fRYBottom=this.fRY2,_0x7f143b.bBlack=this.bBlack,_0x7f143b.bCut=this.pRenderParam[_0x57d655].bCut,_0x7f143b.nFishParamType=this.pFishParam[_0x57d655].nFishParamType,_0x7f143b.fAngle=this.pFishParam[_0x57d655].fAngle,_0x7f143b.fZoom=this.pFishParam[_0x57d655].fZoom,_0x7f143b.fPTZX=this.pFishParam[_0x57d655].fPTZX,_0x7f143b.fPTZY=this.pFishParam[_0x57d655].fPTZY,_0x13ebaa.SR_OK)}},{key:"GetRenderParam",value:function(_0x95ebd1,_0x5026e8){return _0x95ebd1<0||_0x95ebd1>=32||null==_0x5026e8||null==this.pRenderParam[_0x95ebd1]?_0x13ebaa.SR_ERR_PARAM:(_0x5026e8.fRXLeft=this.fRX1,_0x5026e8.fRXRight=this.fRX2,_0x5026e8.fRYTop=this.fRY1,_0x5026e8.fRYBottom=this.fRY2,_0x5026e8.bBlack=this.bBlack,_0x5026e8.fCosH=this.pRenderParam[_0x95ebd1].fCosH,_0x5026e8.fSinH=this.pRenderParam[_0x95ebd1].fSinH,_0x5026e8.fCosV=this.pRenderParam[_0x95ebd1].fCosV,_0x5026e8.fSinV=this.pRenderParam[_0x95ebd1].fSinV,_0x5026e8.fAngle=this.pRenderParam[_0x95ebd1].fAngle,_0x5026e8.fZoom=this.pRenderParam[_0x95ebd1].fZoom,_0x5026e8.nDisplayEffect=this.pRenderParam[_0x95ebd1].nDisplayEffect,_0x5026e8.bCut=this.pRenderParam[_0x95ebd1].bCut,_0x13ebaa.SR_OK)}},{key:"UpdateCircyeParam",value:function(_0x143e1f,_0x45c1e9,_0x20d91a,_0xd72bb4){if(_0x143e1f<=-.5||_0x143e1f>=.4||_0x45c1e9<=.6||_0x45c1e9>=1.5||_0x20d91a<=-.5||_0x20d91a>=.4||_0xd72bb4<=.6||_0xd72bb4>=1.5||_0x143e1f+_0x45c1e9<=.8||_0x143e1f+_0x45c1e9>=1.2||_0x20d91a+_0xd72bb4<=.8||_0x20d91a+_0xd72bb4>=1.2)return _0x13ebaa.SR_ERR_PARAM;if(_0x143e1f<0||_0x45c1e9>1||_0x20d91a<0||_0xd72bb4>1)for(var _0x559ba3=0;_0x559ba3<32;++_0x559ba3)if(null!=this.pRenderParam[_0x559ba3]&&(_0x2e016d.SR_DE_FISH_PTZ_CEILING==this.pRenderParam[_0x559ba3].nDisplayEffect||_0x2e016d.SR_DE_FISH_PTZ_FLOOR==this.pRenderParam[_0x559ba3].nDisplayEffect||_0x2e016d.SR_DE_FISH_PTZ_WALL==this.pRenderParam[_0x559ba3].nDisplayEffect)){var _0x15b933={};if(_0x15b933.fHAngleCos=this.pRenderParam[_0x559ba3].fCosH,_0x15b933.fHAngleSin=this.pRenderParam[_0x559ba3].fSinH,_0x15b933.fVAngleCos=this.pRenderParam[_0x559ba3].fCosV,_0x15b933.fVAngleSin=this.pRenderParam[_0x559ba3].fSinV,0==this.IsInImage(_0x143e1f,_0x45c1e9,_0x20d91a,_0xd72bb4,_0x15b933,this.pRenderParam[_0x559ba3].fZoom,this.pRenderParam[_0x559ba3].nDisplayEffect))return _0x13ebaa.SR_ERR_PARAM}return this.fRX1=_0x143e1f,this.fRX2=_0x45c1e9,this.fRY1=_0x20d91a,this.fRY2=_0xd72bb4,_0x13ebaa.SR_OK}},{key:"UpdateWideScanAngle",value:function(_0x5ae3cc,_0x2f6af5){return null==this.pRenderParam[_0x5ae3cc]?_0x13ebaa.SR_ERR_CALL_ORDER:(_0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360==this.pRenderParam[_0x5ae3cc].nDisplayEffect||_0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_180==this.pRenderParam[_0x5ae3cc].nDisplayEffect?this.pRenderParam[_0x5ae3cc].fAngle=_0x2f6af5:_0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360!=this.pRenderParam[_0x5ae3cc].nDisplayEffect&&_0x2e016d.SR_DE_FISH_PANORAMA_CEILING_180!=this.pRenderParam[_0x5ae3cc].nDisplayEffect||(this.pRenderParam[_0x5ae3cc].fAngle=-_0x2f6af5),_0x13ebaa.SR_OK)}},{key:"ComputeAngleVertical",value:function(_0x119ff9,_0x43afae,_0x534a05,_0x3a3466){var _0x4d0668=_0x119ff9,_0x483d69=_0x43afae,_0xaa93e0=Math.sqrt((_0x483d69-.5)*(_0x483d69-.5)+(_0x4d0668-.5)*(_0x4d0668-.5));if(_0xaa93e0>.5)return _0x13ebaa.SR_ERR_PARAM;if(_0xaa93e0<.001)return _0x534a05.fVAngleCos=1,_0x534a05.fVAngleSin=0,_0x534a05.fHAngleCos=1,_0x534a05.fHAngleSin=0,_0x13ebaa.SR_OK;if(_0x3a3466==_0x2e016d.SR_DE_FISH_PTZ_CEILING){_0x534a05.fHAngleCos=(.5-_0x483d69)/_0xaa93e0,_0x534a05.fHAngleSin=(.5-_0x4d0668)/_0xaa93e0;var _0x109952=3.1415926*_0xaa93e0;_0x534a05.fVAngleCos=Math.cos(_0x109952),_0x534a05.fVAngleSin=Math.sin(_0x109952)}else{if(_0x3a3466!=_0x2e016d.SR_DE_FISH_PTZ_FLOOR)return _0x13ebaa.SR_ERR_PARAM;_0x534a05.fHAngleCos=(_0x483d69-.5)/_0xaa93e0,_0x534a05.fHAngleSin=(.5-_0x4d0668)/_0xaa93e0;var _0x174978=3.1415926*_0xaa93e0;_0x534a05.fVAngleCos=Math.cos(_0x174978),_0x534a05.fVAngleSin=Math.sin(_0x174978)}return _0x13ebaa.SR_OK}},{key:"ComputeAngleHorizontal",value:function(_0x176bce,_0x12bca2,_0x752218){var _0x4551a8,_0x2d993e,_0x1def6e,_0xddbefd,_0x2e2583,_0x55cfcc,_0x42e67c=_0x176bce,_0x204425=_0x12bca2;return(_0x204425-.5)*(_0x204425-.5)+(_0x42e67c-.5)*(_0x42e67c-.5)>.25?_0x13ebaa.SR_ERR_PARAM:(_0x2e2583=(_0x204425-.5)/.5*3.1415926/2,_0x4551a8=Math.cos(_0x2e2583),_0x2d993e=Math.sin(_0x2e2583),(_0x42e67c-.5)/.5/_0x4551a8>1||(_0x42e67c-.5)/.5/_0x4551a8<-1?_0x13ebaa.SR_ERR_PARAM:(_0x55cfcc=(_0x42e67c-.5)/.5/_0x4551a8*3.1415926/2,_0x1def6e=Math.cos(_0x55cfcc),_0xddbefd=Math.sin(_0x55cfcc),_0x752218.fVAngleCos=_0x4551a8,_0x752218.fVAngleSin=_0x2d993e,_0x752218.fHAngleCos=_0x1def6e,_0x752218.fHAngleSin=_0xddbefd,_0x13ebaa.SR_OK))}},{key:"IsInImage",value:function(_0x17db77,_0x2fccaf,_0x46150f,_0x2c0f54,_0x1be22b,_0x2ce5c8,_0x213129){return 1!=this.IsOutofImage(_0x17db77,_0x2fccaf,_0x46150f,_0x2c0f54,_0x1be22b.fHAngleCos,_0x1be22b.fHAngleSin,_0x1be22b.fVAngleCos,_0x1be22b.fVAngleSin,_0x2ce5c8,1,.5,_0x213129)&&1!=this.IsOutofImage(_0x17db77,_0x2fccaf,_0x46150f,_0x2c0f54,_0x1be22b.fHAngleCos,_0x1be22b.fHAngleSin,_0x1be22b.fVAngleCos,_0x1be22b.fVAngleSin,_0x2ce5c8,0,.5,_0x213129)&&1!=this.IsOutofImage(_0x17db77,_0x2fccaf,_0x46150f,_0x2c0f54,_0x1be22b.fHAngleCos,_0x1be22b.fHAngleSin,_0x1be22b.fVAngleCos,_0x1be22b.fVAngleSin,_0x2ce5c8,.5,1,_0x213129)&&1!=this.IsOutofImage(_0x17db77,_0x2fccaf,_0x46150f,_0x2c0f54,_0x1be22b.fHAngleCos,_0x1be22b.fHAngleSin,_0x1be22b.fVAngleCos,_0x1be22b.fVAngleSin,_0x2ce5c8,.5,0,_0x213129)&&1!=this.IsOutofImage(_0x17db77,_0x2fccaf,_0x46150f,_0x2c0f54,_0x1be22b.fHAngleCos,_0x1be22b.fHAngleSin,_0x1be22b.fVAngleCos,_0x1be22b.fVAngleSin,_0x2ce5c8,0,0,_0x213129)&&1!=this.IsOutofImage(_0x17db77,_0x2fccaf,_0x46150f,_0x2c0f54,_0x1be22b.fHAngleCos,_0x1be22b.fHAngleSin,_0x1be22b.fVAngleCos,_0x1be22b.fVAngleSin,_0x2ce5c8,0,1,_0x213129)&&1!=this.IsOutofImage(_0x17db77,_0x2fccaf,_0x46150f,_0x2c0f54,_0x1be22b.fHAngleCos,_0x1be22b.fHAngleSin,_0x1be22b.fVAngleCos,_0x1be22b.fVAngleSin,_0x2ce5c8,1,1,_0x213129)&&1!=this.IsOutofImage(_0x17db77,_0x2fccaf,_0x46150f,_0x2c0f54,_0x1be22b.fHAngleCos,_0x1be22b.fHAngleSin,_0x1be22b.fVAngleCos,_0x1be22b.fVAngleSin,_0x2ce5c8,1,0,_0x213129)}},{key:"IsOutofImage",value:function(_0x22f9fb,_0x455a65,_0x3182de,_0x18a144,_0x313493,_0x1be0ef,_0x469495,_0x3f2057,_0x2ccd06,_0x14096e,_0x24bf68,_0x5a8542){var _0x3daf4d,_0xe0b3e6,_0x24abbc,_0x14f19b,_0x5688de,_0x3bcfe9,_0x2bf6d2,_0x1c501d,_0x1bb7f5,_0xd79984,_0x411002,_0x2fc820,_0x4b91f4;if(_0x411002=(_0x22f9fb+_0x455a65)/2*1,_0x2fc820=(_0x3182de+_0x18a144)/2*(_0xd79984=(_0x455a65-_0x22f9fb)/(_0x18a144-_0x3182de)),_0x4b91f4=(_0x455a65-_0x22f9fb)/2*1,_0x5a8542==_0x2e016d.SR_DE_FISH_PTZ_CEILING){if(_0xe0b3e6=_0x14096e-.5,_0x24abbc=(_0x3daf4d=.5-_0x24bf68)*_0x469495+(_0x3bcfe9=_0x2ccd06)*_0x3f2057,(_0x2bf6d2=_0x3bcfe9*_0x469495-_0x3daf4d*_0x3f2057)<=0)return!0;_0x1bb7f5=Math.sqrt(_0xe0b3e6*_0xe0b3e6+_0x24abbc*_0x24abbc);var _0x1eae5b=Math.sqrt(_0xe0b3e6*_0xe0b3e6+_0x24abbc*_0x24abbc+_0x2bf6d2*_0x2bf6d2),_0x3da6f7=Math.asin(_0x1bb7f5/_0x1eae5b)/1.5707963*.5;if(_0x5688de=(-((_0xe0b3e6=_0x3da6f7*_0xe0b3e6/_0x1bb7f5)*_0x1be0ef+(_0x24abbc=_0x3da6f7*_0x24abbc/_0x1bb7f5)*_0x313493)*_0x4b91f4*2+_0x2fc820)/_0xd79984,(_0x14f19b=((_0xe0b3e6*_0x313493-_0x24abbc*_0x1be0ef)*_0x4b91f4*2+_0x411002)/1)<0||_0x14f19b>1||_0x5688de<0||_0x5688de>1)return!0}if(_0x5a8542==_0x2e016d.SR_DE_FISH_PTZ_FLOOR){if(_0xe0b3e6=_0x14096e-.5,_0x24abbc=(_0x3daf4d=_0x24bf68-.5)*_0x469495+(_0x3bcfe9=_0x2ccd06)*_0x3f2057,(_0x2bf6d2=_0x3bcfe9*_0x469495-_0x3daf4d*_0x3f2057)<=0)return!0;_0x1bb7f5=Math.sqrt(_0xe0b3e6*_0xe0b3e6+_0x24abbc*_0x24abbc);var _0x3752d9=Math.sqrt(_0xe0b3e6*_0xe0b3e6+_0x24abbc*_0x24abbc+_0x2bf6d2*_0x2bf6d2),_0x54a97d=Math.asin(_0x1bb7f5/_0x3752d9)/1.5707963*.5;if(_0x5688de=(((_0xe0b3e6=_0x54a97d*_0xe0b3e6/_0x1bb7f5)*_0x1be0ef+(_0x24abbc=_0x54a97d*_0x24abbc/_0x1bb7f5)*_0x313493)*_0x4b91f4*2+_0x2fc820)/_0xd79984,(_0x14f19b=((_0xe0b3e6*_0x313493-_0x24abbc*_0x1be0ef)*_0x4b91f4*2+_0x411002)/1)<0||_0x14f19b>1||_0x5688de<0||_0x5688de>1)return!0}if(_0x5a8542==_0x2e016d.SR_DE_FISH_PTZ_WALL){if(_0x14f19b=(_0xe0b3e6=_0x14096e-.5)*_0x313493+(_0x2bf6d2=(_0x3bcfe9=_0x2ccd06)*_0x469495-(_0x3daf4d=_0x24bf68-.5)*_0x3f2057)*_0x1be0ef,_0x5688de=_0x24abbc=_0x3daf4d*_0x469495+_0x3bcfe9*_0x3f2057,(_0x1c501d=_0x2bf6d2*_0x313493-_0xe0b3e6*_0x1be0ef)<=0)return!0;_0x1bb7f5=Math.sqrt(_0x14f19b*_0x14f19b+_0x5688de*_0x5688de);var _0x5fe6d5=Math.sqrt(_0x14f19b*_0x14f19b+_0x5688de*_0x5688de+_0x1c501d*_0x1c501d),_0x2214d6=Math.asin(_0x1bb7f5/_0x5fe6d5)/1.5707963*.5;if(_0x5688de=(_0x2214d6*_0x5688de/_0x1bb7f5*_0x4b91f4*2+_0x2fc820)/_0xd79984,(_0x14f19b=(_0x2214d6*_0x14f19b/_0x1bb7f5*_0x4b91f4*2+_0x411002)/1)<0||_0x14f19b>1||_0x5688de<0||_0x5688de>1)return!0}return!1}},{key:"ComputePTZPoints",value:function(){if(-1==this.nWndPort)return _0x13ebaa.SR_ERR_CALL_ORDER;for(var _0x3eaf16=0;_0x3eaf16<32;++_0x3eaf16)if(null!=this.pRenderParam[_0x3eaf16]&&(_0x2e016d.SR_DE_FISH_PTZ_CEILING==this.pRenderParam[_0x3eaf16].nDisplayEffect||_0x2e016d.SR_DE_FISH_PTZ_FLOOR==this.pRenderParam[_0x3eaf16].nDisplayEffect||_0x2e016d.SR_DE_FISH_PTZ_WALL==this.pRenderParam[_0x3eaf16].nDisplayEffect)){var _0x2b3520=_0x13ebaa.SR_OK;if(this.nPTZDisplayMode==_0x22db6c.SR_DM_RANGE){if(_0x2b3520=this.GetRangePoints(_0x3eaf16),_0x13ebaa.SR_OK!=_0x2b3520)continue;if(_0x2b3520=this.TransformPTZRangePoints(_0x3eaf16),_0x13ebaa.SR_OK!=_0x2b3520)continue}else if(this.nPTZDisplayMode==_0x22db6c.SR_DM_RECT&&(_0x2b3520=this.GetRectPoints(_0x3eaf16),_0x13ebaa.SR_OK!=_0x2b3520))continue}return _0x13ebaa.SR_OK}},{key:"GetWndPort",value:function(){return this.nWndPort}},{key:"GetPTZDisplayMode",value:function(){return this.nPTZDisplayMode}},{key:"GetPTZColor",value:function(_0x4e0327,_0x35cc37){return _0x4e0327<0||_0x4e0327>=32||null==_0x35cc37?_0x13ebaa.SR_ERR_PARAM:(_0x35cc37.fA=this.stPTZColor[_0x4e0327].fA,_0x35cc37.fR=this.stPTZColor[_0x4e0327].fR,_0x35cc37.fG=this.stPTZColor[_0x4e0327].fG,_0x35cc37.fB=this.stPTZColor[_0x4e0327].fB,this.pPTZSetColor[_0x4e0327].bSetColor&&(Math.abs(this.pPTZSetColor[_0x4e0327].fA)<1e-6||Math.abs(this.pPTZSetColor[_0x4e0327].fR)<1e-6||Math.abs(this.pPTZSetColor[_0x4e0327].fG)<1e-6||Math.abs(this.pPTZSetColor[_0x4e0327].fB)<1e-6)&&(_0x35cc37.fA=this.pPTZSetColor[_0x4e0327].fA,_0x35cc37.fR=this.pPTZSetColor[_0x4e0327].fR,_0x35cc37.fG=this.pPTZSetColor[_0x4e0327].fG,_0x35cc37.fB=this.pPTZSetColor[_0x4e0327].fB),_0x13ebaa.SR_OK)}},{key:"SetPTZColor",value:function(_0x2f4373,_0x48d516){return _0x2f4373<0||_0x2f4373>=32||null==_0x48d516?_0x13ebaa.SR_ERR_PARAM:(this.pPTZSetColor[_0x2f4373].fR=_0x48d516.fR,this.pPTZSetColor[_0x2f4373].fG=_0x48d516.fG,this.pPTZSetColor[_0x2f4373].fB=_0x48d516.fB,this.pPTZSetColor[_0x2f4373].fA=_0x48d516.fA,this.pPTZSetColor[_0x2f4373].bSetColor=!0,_0x13ebaa.SR_OK)}},{key:"IsPTZSelected",value:function(_0x5cbb8b){return!(_0x5cbb8b<0||_0x5cbb8b>=32)&&this.bPTZSelected[_0x5cbb8b]}},{key:"GetPTZPort",value:function(_0x3ada35,_0xa6358e,_0x32f0b8){if(-1==this.nWndPort)return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==this.pRenderParam[this.nWndPort])return _0x13ebaa.SR_ERR_CALL_ORDER;var _0x4f26ea=32,_0xe82319={};_0xe82319.fX=_0x3ada35,_0xe82319.fY=_0xa6358e;for(var _0x4a5228=0;_0x4a5228<32;++_0x4a5228)this.bPTZSelected[_0x4a5228]=!1;if(this.nPTZDisplayMode==_0x22db6c.SR_DM_RANGE){switch(this.pRenderParam[this.nWndPort].nDisplayEffect){case _0x2e016d.SR_DE_FISH_PANORAMA_FLOOR_360:this.GetPointPano2FishFloor(_0xe82319,_0x3ada35,_0xa6358e);break;case _0x2e016d.SR_DE_FISH_PANORAMA_CEILING_360:this.GetPointPano2FishCeiling(_0xe82319,_0x3ada35,_0xa6358e);break;case _0x2e016d.SR_DE_FISH_PANORAMA_WALL:this.GetPointPano2FishWall(_0xe82319,_0x3ada35,_0xa6358e)}for(var _0x2797ed=0;_0x2797ed<32;++_0x2797ed)if(0!=this.nOriPTZPointNum[_0x2797ed]){var _0x38bcaf={};_0x38bcaf.fX=this.pOriPTZPoints[_0x2797ed][0].fX,_0x38bcaf.fY=this.pOriPTZPoints[_0x2797ed][0].fY;var _0x5cd7cd={};_0x5cd7cd.fX=this.pOriPTZPoints[_0x2797ed][0].fX,_0x5cd7cd.fY=this.pOriPTZPoints[_0x2797ed][0].fY;for(var _0x205a5d=1;_0x205a5d=_0x5cd7cd.fX&&_0xe82319.fY>=_0x5cd7cd.fY&&_0xe82319.fY<=_0x38bcaf.fY){_0x4f26ea=_0x2797ed;break}}}else{if(this.nPTZDisplayMode!=_0x22db6c.SR_DM_RECT)return _0x13ebaa.SR_ERR_NOT_SUPPORT;for(var _0x4a4be5=0;_0x4a4be5<32;++_0x4a4be5)if(_0xe82319.fX<=this.pRectPoints[_0x4a4be5][2].fX&&_0xe82319.fX>=this.pRectPoints[_0x4a4be5][0].fX&&_0xe82319.fY>=this.pRectPoints[_0x4a4be5][0].fY&&_0xe82319.fY<=this.pRectPoints[_0x4a4be5][2].fY){_0x4f26ea=_0x4a4be5;break}}return _0x4f26ea<32?(this.bPTZSelected[_0x4f26ea]=!0,_0x32f0b8.nPTZPort=_0x4f26ea,_0x13ebaa.SR_OK):_0x13ebaa.SR_ERR_NOT_SUPPORT}},{key:"SetPTZPort",value:function(_0x1c6ce9){if(_0x1c6ce9<0||_0x1c6ce9>=32)return _0x13ebaa.SR_ERR_PARAM;for(var _0x2ab46d=0;_0x2ab46d<32;++_0x2ab46d)this.bPTZSelected[_0x2ab46d]=!1;if(this.nPTZDisplayMode==_0x22db6c.SR_DM_RANGE){if(0==this.nOriPTZPointNum[_0x1c6ce9])return _0x13ebaa.SR_ERR_PARAM;this.bPTZSelected[_0x1c6ce9]=!0}else{if(0==this.nPTZRectNum[_0x1c6ce9])return _0x13ebaa.SR_ERR_PARAM;this.bPTZSelected[_0x1c6ce9]=!0}return _0x13ebaa.SR_OK}},{key:"GetPTZRectange",value:function(_0x4cc8ea,_0x36f37c,_0x406299){return _0x406299.fX<_0x36f37c.fX&&(_0x36f37c.fX=_0x406299.fX),_0x406299.fY<_0x36f37c.fY&&(_0x36f37c.fY=_0x406299.fY),_0x406299.fX>_0x4cc8ea.fX&&(_0x4cc8ea.fX=_0x406299.fX),_0x406299.fY>_0x4cc8ea.fY&&(_0x4cc8ea.fY=_0x406299.fY),_0x13ebaa.SR_OK}},{key:"GetPTZPoints",value:function(_0x2b62ff,_0x324207,_0x5b953a){return _0x2b62ff<0||_0x2b62ff>=32?_0x13ebaa.SR_ERR_PARAM:null==this.pRenderParam[this.nWndPort]?_0x13ebaa.SR_ERR_CALL_ORDER:(_0x22db6c.SR_DM_RANGE==_0x5b953a?null!=this.pOriPTZPoints[_0x2b62ff]&&0!=this.nOriPTZPointNum[_0x2b62ff]&&(_0x324207.pstPoints=this.pOriPTZPoints[_0x2b62ff],_0x324207.nPointNum=this.nOriPTZPointNum[_0x2b62ff]):_0x22db6c.SR_DM_RECT==_0x5b953a&&null!=this.pRectPoints[_0x2b62ff]&&(_0x324207.pstPoints=this.pRectPoints[_0x2b62ff],_0x324207.nPointNum=4),_0x13ebaa.SR_OK)}},{key:"SetPTZDisplayMode",value:function(_0x36d0c7){return this.nPTZDisplayMode=_0x36d0c7,this.ComputePTZPoints()}},{key:"GetDisplayEffect",value:function(_0x2af439){return _0x2af439<0||_0x2af439>=32||null==this.pRenderParam?_0x2e016d.SR_DE_NULL:this.pRenderParam[_0x2af439].nDisplayEffect}},{key:"GetPTZFragmentPoints",value:function(_0x35f3a6,_0x5d4a78,_0x2445a8){if(_0x35f3a6<0||_0x35f3a6>=32)return _0x13ebaa.SR_ERR_PARAM;if(null==this.pPanoPTZPoints[_0x35f3a6]||0==this.nPanoPTZPointNum[_0x35f3a6])return _0x13ebaa.SR_ERR_PARAM;var _0xb54d62=this.nPTZFragmentNode[_0x35f3a6][_0x2445a8];if(_0x5d4a78.nPointNum=this.nPTZFragmentNode[_0x35f3a6][_0x2445a8+1]-this.nPTZFragmentNode[_0x35f3a6][_0x2445a8],_0x5d4a78.nPointNum<0)return _0x13ebaa.SR_ERR_CALL_ORDER;_0x5d4a78.pstPoints=[];for(var _0x13219b=0;_0x13219b<_0x5d4a78.nPointNum;++_0x13219b){var _0x13ec13={};_0x13ec13.fX=this.pPanoPTZPoints[_0x35f3a6][_0xb54d62+_0x13219b].fX,_0x13ec13.fY=this.pPanoPTZPoints[_0x35f3a6][_0xb54d62+_0x13219b].fY,_0x5d4a78.pstPoints.push(_0x13ec13)}return _0x13ebaa.SR_OK}},{key:"GetPTZFragmentNum",value:function(_0x2d74d6){return _0x2d74d6<0||_0x2d74d6>=32||0==this.nPTZFragmentNum[_0x2d74d6]?0:this.nPTZFragmentNum[_0x2d74d6]}},{key:"CalcPTZFragmentPoints",value:function(_0x5a1879){if(_0x5a1879<0||_0x5a1879>=32)return _0x13ebaa.SR_ERR_PARAM;if(null==this.pPanoPTZPoints[_0x5a1879]||0==this.nPanoPTZPointNum[_0x5a1879])return _0x13ebaa.SR_ERR_CALL_ORDER;this.nPTZFragmentNode[_0x5a1879][0]=0,this.nPTZFragmentNum[_0x5a1879]=1;for(var _0xd10fbb=0,_0x30cb87=0;_0x30cb87.5&&(_0xd10fbb=this.nPTZFragmentNum[_0x5a1879],this.nPTZFragmentNode[_0x5a1879][_0xd10fbb]=_0x30cb87+1,this.nPTZFragmentNum[_0x5a1879]=this.nPTZFragmentNum[_0x5a1879]+1);var _0x44f3bf=this.nPanoPTZPointNum[_0x5a1879];return Math.abs(this.pPanoPTZPoints[_0x5a1879][0].fX-this.pPanoPTZPoints[_0x5a1879][_0x44f3bf-1].fX)<.5&&(this.pPanoPTZPoints[_0x5a1879][_0x44f3bf].fX=this.pPanoPTZPoints[_0x5a1879][0].fX,this.pPanoPTZPoints[_0x5a1879][_0x44f3bf].fY=this.pPanoPTZPoints[_0x5a1879][0].fY,this.nPanoPTZPointNum[_0x5a1879]=this.nPanoPTZPointNum[_0x5a1879]+1),_0xd10fbb=this.nPTZFragmentNum[_0x5a1879],this.nPTZFragmentNode[_0x5a1879][_0xd10fbb]=this.nPanoPTZPointNum[_0x5a1879],_0x13ebaa.SR_OK}},{key:"IsPortAllocated",value:function(_0xb16fcd){return this.bPortAllocated[_0xb16fcd]}},{key:"GetPointFish2PanoCeiling",value:function(_0x52e9a9,_0x3a2fcb,_0x1090d5){if(null==this.pRenderParam[this.nWndPort])return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==_0x52e9a9)return _0x13ebaa.SR_ERR_PARAM;var _0x10f531,_0x4fb47e;_0x10f531=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),_0x4fb47e=(this.fRX2-this.fRX1)/2*1;var _0xafc39a,_0x323fda=0;(this.fRX2>1||this.fRY2>1||this.fRX1<0||this.fRY1<0)&&(this.fRX1<0&&(_0xafc39a=1*-this.fRX1)>_0x323fda&&(_0x323fda=_0xafc39a),this.fRX2>1&&(_0xafc39a=1*(this.fRX2-1))>_0x323fda&&(_0x323fda=_0xafc39a),this.fRY1<0&&(_0xafc39a=-this.fRY1*_0x10f531)>_0x323fda&&(_0x323fda=_0xafc39a),this.fRY2>1&&(_0xafc39a=(this.fRY2-1)*_0x10f531)>_0x323fda&&(_0x323fda=_0xafc39a));var _0x2f6188,_0x18eb78=_0x323fda/_0x4fb47e,_0x4fef64={fX:0,fY:0};if(Math.abs(_0x3a2fcb-.5)<1e-6&&Math.abs(_0x1090d5-.5)<1e-6)return _0x13ebaa.SR_ERR_NOT_SUPPORT;var _0x11ab69={},_0xa79ebb={};_0x11ab69.fX=_0x3a2fcb-.5,_0x11ab69.fY=_0x1090d5-.5,_0xa79ebb.fX=-.5*Math.sin(this.pRenderParam[this.nWndPort].fAngle),_0xa79ebb.fY=.5*Math.cos(this.pRenderParam[this.nWndPort].fAngle);var _0x37db3f=Math.sqrt(_0x11ab69.fX*_0x11ab69.fX+_0x11ab69.fY*_0x11ab69.fY),_0x1e8305=Math.sqrt(_0xa79ebb.fX*_0xa79ebb.fX+_0xa79ebb.fY*_0xa79ebb.fY);return _0x2f6188=Math.acos((_0x11ab69.fX*_0xa79ebb.fX+_0x11ab69.fY*_0xa79ebb.fY)/(_0x37db3f*_0x1e8305)),_0x11ab69.fX*_0xa79ebb.fY-_0x11ab69.fY*_0xa79ebb.fX>0&&(_0x2f6188=6.2831852-_0x2f6188),_0x4fef64.fX=_0x2f6188/6.2831853,_0x4fef64.fY=(2*(.5-_0x37db3f)-_0x18eb78)/(.8-_0x18eb78),_0x4fef64.fY>=0&&_0x4fef64.fX>=0&&_0x4fef64.fY<=1&&_0x4fef64.fX<=1?(_0x52e9a9.fX=_0x4fef64.fX,_0x52e9a9.fY=_0x4fef64.fY,_0x13ebaa.SR_OK):_0x13ebaa.SR_ERR_PARAM}},{key:"GetPointFish2PanoFloor",value:function(_0x1705c3,_0x87496d,_0x292d93){if(null==this.pRenderParam[this.nWndPort])return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==_0x1705c3)return _0x13ebaa.SR_ERR_PARAM;var _0x2ea377,_0x1284c5;_0x2ea377=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),_0x1284c5=(this.fRX2-this.fRX1)/2*1;var _0x3dbfde,_0xa26f33=0;(this.fRX2>1||this.fRY2>1||this.fRX1<0||this.fRY1<0)&&(this.fRX1<0&&(_0x3dbfde=1*-this.fRX1)>_0xa26f33&&(_0xa26f33=_0x3dbfde),this.fRX2>1&&(_0x3dbfde=1*(this.fRX2-1))>_0xa26f33&&(_0xa26f33=_0x3dbfde),this.fRY1<0&&(_0x3dbfde=-this.fRY1*_0x2ea377)>_0xa26f33&&(_0xa26f33=_0x3dbfde),this.fRY2>1&&(_0x3dbfde=(this.fRY2-1)*_0x2ea377)>_0xa26f33&&(_0xa26f33=_0x3dbfde));var _0x825d09,_0x59e6db=_0xa26f33/_0x1284c5,_0x44ceb5={fX:0,fY:0};if(Math.abs(_0x87496d-.5)<1e-6&&Math.abs(_0x292d93-.5)<1e-6)return _0x13ebaa.SR_ERR_NOT_SUPPORT;var _0x560696={},_0x57bdd8={};_0x560696.fX=_0x87496d-.5,_0x560696.fY=_0x292d93-.5,_0x57bdd8.fX=-.5*Math.sin(this.pRenderParam[this.nWndPort].fAngle),_0x57bdd8.fY=.5*Math.cos(this.pRenderParam[this.nWndPort].fAngle);var _0x262d08=Math.sqrt(_0x560696.fX*_0x560696.fX+_0x560696.fY*_0x560696.fY),_0x1c482d=Math.sqrt(_0x57bdd8.fX*_0x57bdd8.fX+_0x57bdd8.fY*_0x57bdd8.fY);return _0x825d09=Math.acos((_0x560696.fX*_0x57bdd8.fX+_0x560696.fY*_0x57bdd8.fY)/(_0x262d08*_0x1c482d)),_0x560696.fX*_0x57bdd8.fY-_0x560696.fY*_0x57bdd8.fX>0&&(_0x825d09=6.2831852-_0x825d09),_0x44ceb5.fX=1-_0x825d09/6.2831853,_0x44ceb5.fY=1-(2*(.5-_0x262d08)-_0x59e6db)/(.8-_0x59e6db),_0x44ceb5.fY>=0&&_0x44ceb5.fX>=0&&_0x44ceb5.fY<=1&&_0x44ceb5.fX<=1?(_0x1705c3.fX=_0x44ceb5.fX,_0x1705c3.fY=_0x44ceb5.fY,_0x13ebaa.SR_OK):_0x13ebaa.SR_ERR_PARAM}},{key:"GetPointFish2PanoWall",value:function(_0x28e395,_0x5274a1,_0x38ad55){if(null==this.pRenderParam[this.nWndPort])return _0x13ebaa.SR_ERR_CALL_ORDER;if(null==_0x28e395)return _0x13ebaa.SR_ERR_PARAM;var _0x1bd8c2,_0x868ed9;_0x1bd8c2=(this.fRX2-this.fRX1)/(this.fRY2-this.fRY1),_0x868ed9=(this.fRX2-this.fRX1)/2*1;var _0x1d5cda,_0x4d407a,_0x567f34,_0x5738ca,_0x11419c,_0x540336=0,_0x3a6b89=1,_0x39be82=.1,_0x6bb3f8=.9;this.fRX1<0&&(_0x1d5cda=1*-this.fRX1,_0x540336=_0x1d5cda/=2*_0x868ed9),this.fRX2>1&&(_0x4d407a=1*(this.fRX2-1),_0x3a6b89=1-(_0x4d407a/=2*_0x868ed9)),this.fRY1<0&&(_0x567f34=-this.fRY1*_0x1bd8c2,_0x39be82=(_0x567f34/=2*_0x868ed9)>.1?_0x567f34:.1),this.fRY2>1&&(_0x5738ca=(this.fRY2-1)*_0x1bd8c2,_0x6bb3f8=(_0x5738ca/=2*_0x868ed9)>1-.9?1-_0x5738ca:.9);var _0x394066={fX:0,fY:0},_0x178b05=2*_0x5274a1*_0x868ed9,_0x300d9b=2*_0x38ad55*_0x868ed9;return _0x11419c=Math.sqrt(_0x868ed9*_0x868ed9-(_0x300d9b-_0x868ed9)*(_0x300d9b-_0x868ed9)),Math.abs(_0x11419c)<1e-6?_0x13ebaa.SR_ERR_PARAM:(_0x5274a1=_0x868ed9*(_0x178b05-_0x868ed9)/_0x11419c+_0x868ed9,_0x38ad55=_0x300d9b,_0x394066.fX=(_0x5274a1-2*_0x540336*_0x868ed9)/(2*(_0x3a6b89-_0x540336)*_0x868ed9),_0x394066.fY=(_0x38ad55-2*_0x39be82*_0x868ed9)/(2*(_0x6bb3f8-_0x39be82)*_0x868ed9),_0x394066.fY>=0&&_0x394066.fX>=0&&_0x394066.fY<=1&&_0x394066.fX<=1?(_0x28e395.fX=_0x394066.fX,_0x28e395.fY=_0x394066.fY,_0x13ebaa.SR_OK):_0x13ebaa.SR_ERR_PARAM)}},{key:"UpdateRangeParam",value:function(_0x36fdbc,_0x302c88){if(null==this.pRenderParam[_0x36fdbc])return _0x13ebaa.SR_ERR_CALL_ORDER;if(_0x302c88<1e-5||_0x302c88>.6)return _0x13ebaa.SR_ERR_PARAM;var _0x14b5cb=0;return _0x2e016d.SR_DE_FISH_PTZ_WALL!=this.pRenderParam[_0x36fdbc].nDisplayEffect&&_0x2e016d.SR_DE_FISH_PTZ_CEILING!=this.pRenderParam[_0x36fdbc].nDisplayEffect&&_0x2e016d.SR_DE_FISH_PTZ_FLOOR!=this.pRenderParam[_0x36fdbc].nDisplayEffect||(_0x14b5cb=7*_0x302c88+.8,this.IsInImage(this.fRX1,this.fRX2,this.fRY1,this.fRY2,this.pRenderParam[_0x36fdbc].fCosH,this.pRenderParam[_0x36fdbc].fSinH,this.pRenderParam[_0x36fdbc].fCosV,this.pRenderParam[_0x36fdbc].fSinV,_0x14b5cb,this.pRenderParam[_0x36fdbc].nDisplayEffect))?(this.pRenderParam[_0x36fdbc].fZoom=_0x14b5cb,_0x13ebaa.SR_OK):_0x13ebaa.SR_ERR_PARAM}}]),_0x12a3f6}(),_0x1b51fc=_0x29f43.Dv,_0x2f30ff=_0x29f43.CF,_0x35636d=_0x29f43.bC,_0x86d49f=function(){function _0x20a63b(){_0x3d26fc(this,_0x20a63b),this.canvas=null,this.ctx=null,this.regionSx=0,this.regionSy=0,this.regionSw=0,this.regionSh=0,this.needRect=!1,this.bAntialias=!1,this.bRecreateAntia=!1,this.pfuncCBIn=null,this.pUserIn=null,this.pfuncCBOut=null,this.pUserOut=null}return _0x49990c(_0x20a63b,[{key:"SR_Init",value:function(_0x963f3e){this.canvas=_0x963f3e,this.ctx=this.canvas.getContext("2d"),console.log("2d render init"),this.ctx||console.log("your browser does not support 2d render")}},{key:"SR_Draw",value:function(_0x380ff1){return this.needRect?this.ctx.drawImage(_0x380ff1,this.regionSx,this.regionSy,this.regionSw,this.regionSh,0,0,this.canvas.width,this.canvas.height):this.ctx.drawImage(_0x380ff1,0,0,_0x380ff1.displayWidth,_0x380ff1.displayHeight,0,0,this.canvas.width,this.canvas.height),null!=this.pfuncCBIn&&this.pfuncCBIn(this.pUserIn),1}},{key:"SR_UpdateFrameData",value:function(_0xefcf37,_0x3ab92e,_0x19e0df,_0x1e2112,_0x455397){return this.needRect?this.ctx.drawImage(_0xefcf37,this.regionSx,this.regionSy,this.regionSw,this.regionSh,0,0,this.canvas.width,this.canvas.height):this.ctx.drawImage(_0xefcf37,0,0,_0x3ab92e,_0x19e0df,0,0,this.canvas.width,this.canvas.height),null!=this.pfuncCBIn&&this.pfuncCBIn(this.pUserIn),1}},{key:"SR_Display",value:function(_0x3ce846){return 1}},{key:"SR_GetCaptureSize",value:function(){return 0}},{key:"GetCanvasData",value:function(_0xb20b2b){console.log("%c start time:"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds(),"color: blue");var _0x46bdd0=this.ctx.getImageData(0,0,this.canvas.width,this.canvas.height);console.log("%c 2 time:"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds(),"color: blue");var _0x30676e=document.createElement("canvas"),_0x84e10e=_0x30676e.getContext("2d");_0x30676e.width=this.canvas.width,_0x30676e.height=this.canvas.height,_0x84e10e.putImageData(_0x46bdd0,0,0);var _0x1a1419=_0x30676e.toDataURL(),_0xfc78c3=document.createElement("a");_0xfc78c3.download=(new Date).getTime()+".jpeg",_0xfc78c3.href=_0x1a1419,_0xfc78c3.dataset.downloadurl=["image/jpeg",_0xfc78c3.download,_0xfc78c3.href].join(":"),document.body.appendChild(_0xfc78c3),_0xfc78c3.click(),document.body.removeChild(_0xfc78c3),console.log("%c end time:"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds(),"color: blue")}},{key:"SR_DelSubPort",value:function(_0x12c076){return 0}},{key:"SR_AddSubPort",value:function(_0x786577){return 0}},{key:"SR_SetDisplayRect",value:function(_0x3ea023,_0x1b9840,_0x200f7c,_0x2d65e1){this.regionSx=_0x3ea023,this.regionSy=_0x1b9840,this.regionSw=_0x200f7c,this.regionSh=_0x2d65e1,this.needRect=!0}},{key:"SR_Destroy",value:function(){this.canvas=null,this.ctx=null,this.regionSx=0,this.regionSy=0,this.regionSw=0,this.regionSh=0,this.needRect=!1}},{key:"SR_SetCanvasSize",value:function(_0x3f6a26,_0x247dbe){this.canvas.width=_0x3f6a26,this.canvas.height=_0x247dbe}},{key:"SR_GetCanvasSize",value:function(){console.log("canvas width:"+this.canvas.width+",height:"+this.canvas.height)}},{key:"SR_SetAntialias",value:function(_0x488891){return _0x488891!=this.bAntialias?(this.bAntialias=_0x488891,this.bRecreateAntia=!0):this.bRecreateAntia=!1,this.bRecreateAntia&&(this.bAntialias?(this.canvas.width=5*this.canvas.width,this.canvas.height=5*this.canvas.height,this.canvas.style.transform="scale(0.2)",this.canvas.style.transformOrigin="0 0"):(this.canvas.width=this.canvas.width/5,this.canvas.height=this.canvas.height/5,this.canvas.style.transform="scale(1)",this.canvas.style.transformOrigin="0 0")),1}},{key:"SR_SetCallBack",value:function(_0x24fe71,_0x249df1,_0x1de86c){switch(_0x1de86c){case _0x35636d.SRCALLBACKTYPE.SR_CBT_NULL:this.pfuncCBIn=_0x24fe71,this.pUserIn=_0x249df1;break;case _0x35636d.SRCALLBACKTYPE.SR_CBT_OUT:this.pfuncCBOut=_0x24fe71,this.pUserOut=_0x249df1;break;default:return 0}return 1}},{key:"SR_DrawFont",value:function(_0x2c528e,_0x4141e7,_0xf9760a,_0x8d237f,_0x1e3dd7,_0x5a8334,_0x38ba18,_0x308b10,_0x5f389b){var _0x32db14=[],_0x1d9d05={};return _0x1d9d05.bBackground=_0x5a8334,_0x1d9d05.nFontWidth=_0x8d237f,_0x1d9d05.nFontHeight=_0x1e3dd7,_0x1d9d05.pstBGColor=_0x38ba18,_0x1d9d05.pstFontColor=_0xf9760a,_0x1d9d05.pString=_0x2c528e,_0x1d9d05.pstStartPos=_0x4141e7,_0x1d9d05.fRotateAngle=_0x308b10,_0x1d9d05.pFontFamily=_0x5f389b,_0x32db14.push(_0x1d9d05),this.SR_DrawFontEx(_0x32db14,1),1}},{key:"SR_DrawFontEx",value:function(_0x180aee,_0x3b9f06){for(var _0x474239=0;_0x474239<_0x3b9f06;_0x474239++){this.ctx.textBaseline="top";var _0x247a0b=_0x180aee[_0x474239].nFontWidth,_0xbec6df=_0x180aee[_0x474239].nFontHeight,_0x4f553f=(_0x247a0b=Math.round(_0x247a0b))<(_0xbec6df=Math.round(_0xbec6df))?_0x247a0b:_0xbec6df;this.ctx.font=_0x4f553f.toString()+"px "+_0x180aee[_0x474239].pFontFamily;var _0x2961d8=parseInt(255*_0x180aee[_0x474239].pstFontColor.fR),_0x24c943=parseInt(255*_0x180aee[_0x474239].pstFontColor.fG),_0x1bd8a0=parseInt(255*_0x180aee[_0x474239].pstFontColor.fB),_0x3d93a7=_0x2961d8<16?"0"+_0x2961d8.toString(16):_0x2961d8.toString(16),_0x408b79=_0x24c943<16?"0"+_0x24c943.toString(16):_0x24c943.toString(16),_0x48ff8c=_0x1bd8a0<16?"0"+_0x1bd8a0.toString(16):_0x1bd8a0.toString(16);this.ctx.fillStyle="#"+_0x3d93a7+_0x408b79+_0x48ff8c,this.ctx.globalAlpha=_0x180aee[_0x474239].pstFontColor.fA,this.ctx.fillText(_0x180aee[_0x474239].pString,_0x180aee[_0x474239].pstStartPos.fX*this.canvas.width,_0x180aee[_0x474239].pstStartPos.fY*this.canvas.height)}return 1}},{key:"SR_DrawImage",value:function(_0x2ace24,_0x57fee3,_0x378715,_0x4f9af1,_0x92d5f2,_0x82e05d){return 1}},{key:"SR_DrawLinesEx",value:function(_0x2e91cc,_0x17f353,_0x23e73c,_0xf892f7){return 1}}]),_0x20a63b}(),_0x204b07=function(){function _0x5cca11(_0x245b01){_0x3d26fc(this,_0x5cca11),this.oVideoRenderHandle=_0x245b01,this.renderEngine="webgl",this.oVideoHandle=null,this.mainCanvasID=null,this.curTimestamp=0,this.mainSubPort=0,this.mainVaildSubPort=0,this.mainFECCorrect=_0x35636d.SRDISPLAYEFFECT.SR_DE_NULL,this.FECErrorCode=0,this.subPortNum=0,this.FECShowMode=_0x35636d.SRPTZDISPLAYMODE.SR_DM_RANGE,this.pFishParamManager=null,this.enPixelFormat=_0x35636d.SRPIXELFORMAT.SR_PF_NULL,this.InitFECParam(),this.nTimePerFrame=0,this.nFrameRate=0,this.privateNormalLinesInfo=[],this.maxNormalPrivateLineTimeStamp=0,this.curNormalLinesInfo=null,this.privateThermalLinesInfo=[],this.curThermalLinesInfo=null,this.privateTemLinesInfo=[],this.maxTemPrivateLineTimeStamp=0,this.curTemLinesInfo=null,this.m_nTEMDrawLinescount=0,this.m_nTEMDrawFontscount=0,this.privateTargetLinesInfo=[],this.maxTargetPrivateLineTimeStamp=0,this.curTargetLinesInfo=null,this.privateMDLinesInfo=[],this.maxMDPrivateLineTimeStamp=0,this.curMDLinesInfo=null,this.privateExactLinesInfo=[],this.maxExactPrivateLineTimeStamp=0,this.curExactLinesInfo=null,this.privateExactRuleLinesInfo=[],this.maxExactRulePrivateLineTimeStamp=0,this.curExactRuleLinesInfo=null,this.DrawlinesParamArray=[],this.DrawlinesParamArrayAllPointNum=0,this.bDrawlinesParamArrayFill=0,this.DrawMosaiclinesParamArray=[],this.DrawTargetlinesParamArray=[],this.DrawPOSFontsParamArray=[],this.DrawTargetEventIDList=[],this.privateNormalFontsInfo=[],this.maxNormalPrivateFontTimeStamp=0,this.curNormalFontsInfo=null,this.curNormalPOSFontsInfo=null,this.privateTemFontsInfo=[],this.maxTemPrivateFontTimeStamp=0,this.curTemFontsInfo=null,this.privateTargetFontsInfo=[],this.maxTargetPrivateFontTimeStamp=0,this.curTargetFontsInfo=null,this.privateExactPOSFontsInfo=[],this.maxExactPOSPrivateFontTimeStamp=0,this.curExactPOSFontsInfo=null,this.privateExactFontsInfo=[],this.maxExactPrivateFontTimeStamp=0,this.curExactFontsInfo=null,this.DrawFontParamArray=[],this.privateImageInfo=[],this.maxPrivateImageTimeStamp=0,this.curImagesInfo={},this.privatePNGImageInfo=[],this.m_bEnableIVSEx=!0,this.m_bEnableMDEx=!0,this.m_bEnablePICEx=!1,this.m_bDisPos=!1,this.m_bEnableTEMEx=!1,this.m_bEnableTEMBox=!1,this.m_bEnableTEMLine=!1,this.m_bEnableTEMPoint=!1,this.m_bEnableTrackEx=!1,this.m_bEnableTrackPeople=!0,this.m_bEnableTrackVehicle=!0,this.m_bEnableThermal=!1,this.m_bEnableThermalFireMask=!1,this.m_bEnableThermalRuleGas=!1,this.m_bEnableThermalTargetGas=!1,this.m_bEnableFIREEx=!0,this.m_bEnableFireDis=!0,this.m_bEnableFireMax=!1,this.m_bEnableFireMaxPos=!0,this.m_bEnableFireDistance=!0,this.bSRCallBackFlag=!1,this.hasSetFECParamManager=!1,this.panoramaDisplayEffect=0,this.viewParamType=3,this.viewParamValue=.2,this.pstWaterFontParamArray=[];for(var _0x10fb24=0;_0x10fb24<16;_0x10fb24++)this.pstWaterFontParamArray[_0x10fb24]=[];this.pstWaterFontParam=null,this.pWaterImageParam=[],this.waterMarkImageIndex=0,this.waterMarkImageMax=1,this.baseWaterMarkImageTime=0,this.finishDecodeImage=!1,this.aPOSAdaptBuf=[],this.textCanvas=null,this.MosaicType=0,this.MosaicSize=0,this.MosaicColorR=0,this.MosaicColorG=0,this.MosaicColorB=0,this.MosaicColorA=0}return _0x49990c(_0x5cca11,[{key:"InitDisplay",value:function(_0x6f83e9,_0x1738e3,_0x354117){if(this.renderEngine=_0x1738e3,this.mainCanvasID=_0x6f83e9,this.printfFlag=this.oVideoRenderHandle.printfFlag,"2d"===this.renderEngine||"2D"===this.renderEngine)this.oVideoHandle=new _0x86d49f,this.printfFlag>=0&&console.log("2d render");else{if(this.oVideoHandle=new _0x2f30ff,this.mainFECCorrect!=_0x35636d.SRDISPLAYEFFECT.SR_DE_NULL)null==this.pFishParamManager&&(this.pFishParamManager=new _0x1b51fc),this.oVideoHandle.SR_SetFishParamManager(this.pFishParamManager),this.hasSetFECParamManager=!0;else{null==this.pFishParamManager&&(this.pFishParamManager=new _0x1b51fc),this.oVideoHandle.SR_SetFishParamManager(this.pFishParamManager),this.hasSetFECParamManager=!0;var _0x2db48=_0x35636d.SRDISPLAYEFFECT.SR_DE_NULL;_0x2db48=1==this.panoramaDisplayEffect?_0x35636d.SRDISPLAYEFFECT.SR_DE_PANORAMA_SPHERE:3==this.panoramaDisplayEffect?_0x35636d.SRDISPLAYEFFECT.SR_DE_PANORAMA_PLANET:_0x35636d.SRDISPLAYEFFECT.SR_DE_NULL,this.mainFECCorrect=_0x2db48}this.printfFlag>=0&&console.log("webgl render this.printfFlag:"+this.printfFlag)}return this.enPixelFormat=_0x354117,this.oVideoHandle.SR_Init(_0x6f83e9,_0x354117),this.mainVaildSubPort=this.oVideoHandle.SR_AddSubPort(this.mainFECCorrect),-1==this.mainVaildSubPort?(console.info("%c InitDisplay SR_AddSubPort error subport:%d","color: red",this.mainVaildSubPort),0):(this.mainFECCorrect==_0x35636d.SRDISPLAYEFFECT.SR_DE_PANORAMA_SPHERE&&this.oVideoHandle.SR_SetViewParam(this.viewParamType,this.viewParamValue),1)}},{key:"ReleaseDisplay",value:function(){if(null!=this.oVideoHandle&&(this.oVideoHandle.SR_DelSubPort(this.mainVaildSubPort),this.oVideoHandle.SR_Destroy(),this.oVideoHandle=null),this.subPortNum>0)for(var _0x583565=1;_0x583565<16;_0x583565++)0!=this.stFishEyeManager[_0x583565].nSubPort&&null!=this.stFishEyeManager[_0x583565].sCanvasID&&0!=this.stFishEyeManager[_0x583565].bInited&&(this.FEC_Disable(_0x583565),this.FEC_DelPort(_0x583565));for(var _0xf1d3d3=0;_0xf1d3d3<16;_0xf1d3d3++)this.stFishEyeManager[_0xf1d3d3].pRender=null;return this.stFishEyeManager.splice(0,this.stFishEyeManager.length),this.stFishParam.splice(0,this.stFishParam.length),null!=this.pFishParamManager&&(this.pFishParamManager.DeInit(),this.pFishParamManager=null),this.FECShowMode=_0x35636d.SRPTZDISPLAYMODE.SR_DM_RANGE,this.DeInitPrivateParam(),1}},{key:"DeInitPrivateParam",value:function(){this.privateNormalLinesInfo.splice(0,this.privateNormalLinesInfo.length),this.curNormalLinesInfo=null,this.privateThermalLinesInfo.splice(0,this.privateThermalLinesInfo.length),this.curThermalLinesInfo=null,this.privateTemLinesInfo.splice(0,this.privateTemLinesInfo.length),this.curTemLinesInfo=null,this.privateTargetLinesInfo.splice(0,this.privateTargetLinesInfo.length),this.curTargetLinesInfo=null,this.privateMDLinesInfo.splice(0,this.privateMDLinesInfo.length),this.curMDLinesInfo=null,this.privateExactLinesInfo.splice(0,this.privateExactLinesInfo.length),this.curExactLinesInfo=null,this.privateExactRuleLinesInfo.splice(0,this.privateExactRuleLinesInfo.length),this.curExactRuleLinesInfo=null,this.privateNormalFontsInfo.splice(0,this.privateNormalFontsInfo.length),this.curNormalFontsInfo=null,this.curNormalPOSFontsInfo=null,this.privateTemFontsInfo.splice(0,this.privateTemFontsInfo.length),this.curTemFontsInfo=null,this.privateTargetFontsInfo.splice(0,this.privateTargetFontsInfo.length),this.curTargetFontsInfo=null,this.privateExactPOSFontsInfo.splice(0,this.privateExactPOSFontsInfo.length),this.curExactPOSFontsInfo=null,this.privateExactFontsInfo.splice(0,this.privateExactFontsInfo.length),this.curExactFontsInfo=null,this.privateImageInfo.splice(0,this.privateImageInfo.length),this.curImagesInfo=null,this.privatePNGImageInfo.splice(0,this.privatePNGImageInfo.length),this.DrawlinesParamArray.splice(0,this.DrawlinesParamArray.length),this.DrawTargetlinesParamArray.splice(0,this.DrawTargetlinesParamArray.length),this.DrawMosaiclinesParamArray.splice(0,this.DrawMosaiclinesParamArray.length),this.DrawPOSFontsParamArray.splice(0,this.DrawPOSFontsParamArray.length),this.DrawTargetEventIDList.splice(0,this.DrawTargetEventIDList.length),this.DrawFontParamArray.splice(0,this.DrawFontParamArray.length);for(var _0x4842a2=0;_0x4842a2<16;_0x4842a2++)this.pstWaterFontParamArray[_0x4842a2].splice(0,this.pstWaterFontParamArray[_0x4842a2].length);this.pWaterImageParam.splice(0,this.pWaterImageParam.length),this.bSRCallBackFlag=!1,this.textCanvas=null,this.curLinesInfo=null,this.pstWaterFontParam=null}},{key:"DisplayFrame",value:function(_0x54f2ad,_0x43cc36,_0x35d29d,_0x5c30f0,_0x3724e1,_0x1393d8,_0x3b0204,_0x12b6a6){var _0x54f2da=this;return new Promise((function(_0x53ba1d){null!=_0x54f2ad&&(_0x54f2da.curTimestamp=_0x5c30f0),_0x54f2da.bSRCallBackFlag||(null!=_0x54f2da.oVideoHandle&&_0x54f2da.oVideoHandle.SR_SetCallBack(_0x54f2da.WebGLDisplayCallBack,_0x54f2da,_0x35636d.SRCALLBACKTYPE.SR_CBT_NULL),_0x54f2da.bSRCallBackFlag=!0);var _0x3b954b=1;if(2==_0x54f2da.panoramaDisplayEffect&&(_0x43cc36==2*_0x35d29d?_0x54f2da.SetPanoramaDisplayEffect(1):_0x54f2da.SetPanoramaDisplayEffect(0)),null!=_0x54f2ad&&(_0x54f2da.nFrameRate=_0x3b0204,_0x54f2da.nTimePerFrame=1e3/_0x3b0204,0==_0x12b6a6&&(_0x54f2da.FindIntelNodefromList(_0x54f2da.curTimestamp),_0x54f2da.CheckLinesInfo(),_0x54f2da.CheckFontsInfo()),null!=_0x54f2da.oVideoHandle&&1==(_0x3b954b=_0x54f2da.oVideoHandle.SR_UpdateFrameData(_0x54f2ad,_0x43cc36,_0x35d29d,_0x3724e1,_0x1393d8))&&(_0x3b954b=_0x54f2da.oVideoHandle.SR_Display(!1)),_0x54f2da.subPortNum>0))for(var _0x5c8fb0=1;_0x5c8fb0<16;_0x5c8fb0++)0!=_0x54f2da.stFishEyeManager[_0x5c8fb0].nSubPort&&null!=_0x54f2da.stFishEyeManager[_0x5c8fb0].sCanvasID&&0!=_0x54f2da.stFishEyeManager[_0x5c8fb0].bInited&&null!=_0x54f2da.stFishEyeManager[_0x5c8fb0].pRender&&1==(_0x3b954b=_0x54f2da.stFishEyeManager[_0x5c8fb0].pRender.SR_UpdateFrameData(_0x54f2ad,_0x43cc36,_0x35d29d,null,null))&&(_0x3b954b=_0x54f2da.stFishEyeManager[_0x5c8fb0].pRender.SR_Display(!1));_0x53ba1d({timestamp:_0x54f2da.curTimestamp,DrawRet:_0x3b954b})}))}},{key:"SetDisplayRect",value:function(_0x5cb85b,_0x441b71,_0x361037,_0x2ab127){return null!=this.oVideoHandle&&(this.oVideoHandle.SR_SetDisplayRect(_0x5cb85b,_0x441b71,_0x361037,_0x2ab127,_0x35636d.SRSETRECTTYPE.SR_SRT_SRC),null!=this.pstWaterFontParam&&this.pstWaterFontParam.nColorAdapt&&(this.pstWaterFontParamArray[0].splice(0,this.pstWaterFontParamArray[0].length),this.CalculateWaterMarkParam(this.oVideoHandle,0,this.pstWaterFontParam))),1}},{key:"SetCanvasSize",value:function(_0x36f4c2,_0x1272f7,_0x5efd8a){var _0x2913f2=this.oVideoHandle;if(_0x5efd8a>0&&(_0x2913f2=this.stFishEyeManager[_0x5efd8a].pRender),null!=_0x2913f2){if(_0x2913f2.SR_SetCanvasSize(_0x36f4c2,_0x1272f7),0!=this.pstWaterFontParamArray[_0x5efd8a].length&&null!=this.pstWaterFontParam)if(1==this.pstWaterFontParam.pstCanvasAdapt.nCanvasAdaptMode)this.pstWaterFontParamArray[_0x5efd8a].splice(0,this.pstWaterFontParamArray[_0x5efd8a].length),this.CalculateWaterMarkParam(_0x2913f2,_0x5efd8a,this.pstWaterFontParam);else if(2==this.pstWaterFontParam.pstCanvasAdapt.nCanvasAdaptMode){var _0x49411f=this.mainCanvasID.width,_0x298d86=this.mainCanvasID.height;_0x5efd8a>0&&(_0x49411f=this.stFishEyeManager[_0x5efd8a].sCanvasID.width,_0x298d86=this.stFishEyeManager[_0x5efd8a].sCanvasID.height);for(var _0x4b19be=0;_0x4b19be>>VideoRender.js SR_SetRenderState failed ret:%08x\n",_0x1c4306)}}return this.FECShowMode>0&&null!=this.stFishEyeManager[_0x21329e].pRender&&this.stFishEyeManager[_0x21329e].pRender.SR_SetPTZDisplayMode(this.FECShowMode),0==_0x21329e&&(this.mainVaildSubPort=this.stFishEyeManager[_0x21329e].nValidSubPort),1}},{key:"FEC_GetPort",value:function(_0x51f7ed,_0x547f87){if(0!=_0x547f87&&512!=_0x547f87&&768!=_0x547f87&&1280!=_0x547f87&&256!=_0x547f87&&1024!=_0x547f87&&1536!=_0x547f87&&2304!=_0x547f87&&2560!=_0x547f87)return console.log("%c 20231112 hardDecoder not support emCorrectType:%d","color:red",_0x547f87),this.FECErrorCode=16,-1;var _0x31afbb;if(1!=this.FECParamJudge(-1,_0x51f7ed,_0x547f87))return console.log("VideoRender.js FEC_GetPort FECParamJudge Get error"),-1;var _0x9a34d4=0;for(_0x31afbb=1;_0x31afbb<16;_0x31afbb++)if(0==this.stFishEyeManager[_0x31afbb].nSubPort&&0==this.stFishEyeManager[_0x31afbb].bUsed){this.stFishEyeManager[_0x31afbb].nSubPort=_0x31afbb,this.stFishEyeManager[_0x31afbb].nValidSubPort=-1,this.stFishEyeManager[_0x31afbb].bUsed=1,this.stFishEyeManager[_0x31afbb].emPlaceType=_0x51f7ed,this.stFishEyeManager[_0x31afbb].emCorrectType=_0x547f87,_0x9a34d4=_0x31afbb;break}if(16==_0x31afbb)return console.info("%c FEC_GetPort-12 fish subport max","color: red"),this.FECErrorCode=1284,-1;var _0x5385cf=_0x35636d.SRDISPLAYEFFECT.SR_DE_FISH_ORIGINAL;return _0x5385cf=this._ConvertDisplayEffect(this.stFishEyeManager[_0x9a34d4].emPlaceType,this.stFishEyeManager[_0x9a34d4].emCorrectType),_0x35636d.SRDISPLAYEFFECT.SR_DE_FISH_ORIGINAL!=_0x5385cf?(0==this.stFishEyeManager[_0x9a34d4].bInited&&(this.stFishEyeManager[_0x9a34d4].emEffect=_0x5385cf,this.stFishEyeManager[_0x9a34d4].bInited=0,this.stFishParam[_0x9a34d4].fZoom=.005,this.stFishParam[_0x9a34d4].stPTZParam.fPTZPositionX=.5,this.stFishParam[_0x9a34d4].stPTZParam.fPTZPositionY=.5,this.stFishParam[_0x9a34d4].fWideScanOffset=0),this.FECErrorCode=0,this.subPortNum++,_0x9a34d4):_0x9a34d4<16&&0==this.stFishEyeManager[_0x9a34d4].bInited?(this.stFishEyeManager[_0x9a34d4].emEffect=_0x5385cf,this.stFishEyeManager[_0x9a34d4].bInited=0,this.stFishParam[_0x9a34d4].fZoom=0,this.stFishParam[_0x9a34d4].stPTZParam.fPTZPositionX=0,this.stFishParam[_0x9a34d4].stPTZParam.fPTZPositionY=0,this.stFishParam[_0x9a34d4].fWideScanOffset=0,this.FECErrorCode=0,this.subPortNum++,_0x9a34d4):(this.stFishEyeManager[_0x31afbb].pRender=null,this.stFishEyeManager[_0x31afbb].nSubPort=0,this.stFishEyeManager[_0x31afbb].sCanvasID=null,this.stFishEyeManager[_0x31afbb].bUsed=0,this.stFishEyeManager[_0x31afbb].bInited=0,this.stFishEyeManager[_0x31afbb].nValidSubPort=0,this.stFishEyeManager[_0x31afbb].emPlaceType=3,this.stFishEyeManager[_0x31afbb].emCorrectType=0,this.stFishEyeManager[_0x31afbb].emEffect=_0x35636d.SRDISPLAYEFFECT.SR_DE_FISH_ORIGINAL,this.FECErrorCode=1285,-1)}},{key:"FECParamJudge",value:function(_0x5d81fd,_0x46f60e,_0x24c0a2){if(0!=_0x5d81fd){if(0==_0x24c0a2||512==_0x24c0a2||768==_0x24c0a2||1024==_0x24c0a2||2048==_0x24c0a2||2304==_0x24c0a2||2560==_0x24c0a2)return console.log("VideoRender.js FECParamJudge 1 emCorrectType:"+_0x24c0a2),this.FECErrorCode=1285,0;if(2560==this.stFishEyeManager[0].emCorrectType||2304==this.stFishEyeManager[0].emCorrectType)return this.FECErrorCode=1285,console.log("VideoRender.js FECParamJudge 2 emCorrectType:"+_0x24c0a2),0}if(0==_0x5d81fd&&(2304==_0x24c0a2||2560==_0x24c0a2))for(var _0x56f1c7=1;_0x56f1c7<16;_0x56f1c7++)if(this.stFishEyeManager[_0x56f1c7].bUsed)return this.FECErrorCode=1285,console.log("VideoRender.js FECParamJudge 3 subPort:"+_0x5d81fd+",emCorrectType:"+_0x24c0a2),0;if(!(2!=_0x46f60e&&3!=_0x46f60e||1024!=_0x24c0a2&&2304!=_0x24c0a2&&2560!=_0x24c0a2))return console.info("%c VideoRender.js FECParamJudge 4 floor and ceiling not support lat","color: red"),this.FECErrorCode=1285,0;if(1==_0x46f60e&&(1536==_0x24c0a2||1792==_0x24c0a2||512==_0x24c0a2))return console.info("%c VideoRender.js FECParamJudge 5 wall not support cylinger","color: red"),this.FECErrorCode=1285,0;if(1!=_0x46f60e&&2!=_0x46f60e&&3!=_0x46f60e)return console.info("%c VideoRender.js FECParamJudge 6 emPlaceType only support floor, ceiling and wall","color: red"),this.FECErrorCode=MP_E_SUPPORT,0;if(0!=_0x24c0a2&&256!=_0x24c0a2&&512!=_0x24c0a2&&768!=_0x24c0a2&&1024!=_0x24c0a2&&1280!=_0x24c0a2&&1536!=_0x24c0a2&&1792!=_0x24c0a2&&2048!=_0x24c0a2&&2304!=_0x24c0a2&&2560!=_0x24c0a2)return console.info("%c VideoRender.js FECParamJudge 7 emCorrectType error","color: red"),this.FECErrorCode=MP_E_SUPPORT,0;for(var _0x352ba0=0;_0x352ba0<16;_0x352ba0++){if(this.stFishEyeManager[_0x352ba0].bUsed&&this.stFishEyeManager[_0x352ba0].emPlaceType!=_0x46f60e)return console.info("%c VideoRender.js FECParamJudge 8 emPlaceType changed","color: red"),this.FECErrorCode=1303,0;if(_0x352ba0!=_0x5d81fd){if(this.stFishEyeManager[_0x352ba0].bUsed&&256!=this.stFishEyeManager[_0x352ba0].emCorrectType&&1280!=this.stFishEyeManager[_0x352ba0].emCorrectType&&1536!=this.stFishEyeManager[_0x352ba0].emCorrectType&&1792!=this.stFishEyeManager[_0x352ba0].emCorrectType&&2048!=this.stFishEyeManager[_0x352ba0].emCorrectType&&2304!=this.stFishEyeManager[_0x352ba0].emCorrectType&&2560!=this.stFishEyeManager[_0x352ba0].emCorrectType&&256!=_0x24c0a2&&1280!=_0x24c0a2&&1536!=_0x24c0a2&&1792!=_0x24c0a2&&2048!=_0x24c0a2&&2304!=_0x24c0a2&&2560!=_0x24c0a2)return console.info("%c VideoRender.js FECParamJudge 9 origin/180/360/lat only display one port","color: red"),this.FECErrorCode=1304,0;if(this.stFishEyeManager[_0x352ba0].bUsed&&(256==this.stFishEyeManager[_0x352ba0].emCorrectType&&512==_0x24c0a2||512==this.stFishEyeManager[_0x352ba0].emCorrectType&&256==_0x24c0a2))return console.info("%c VideoRender.js FECParamJudge 10 180 cannot support ptz","color: red"),this.FECErrorCode=1304,0}}return 1}},{key:"FEC_Enable",value:function(_0x269fb2){return _0x269fb2<1||_0x269fb2>31||null==_0x269fb2?(console.info("%c FEC_Enable-1 nSubPort:%d","color: red",_0x269fb2),this.FECErrorCode=1298,0):null!==this.stFishEyeManager[_0x269fb2].pRender?(console.info("%c FEC_Enable-2 nSubPort:%d","color: red",_0x269fb2),this.FECErrorCode=1301,0):(null==this.stFishEyeManager[_0x269fb2].pRender&&(this.stFishEyeManager[_0x269fb2].pRender=new _0x2f30ff,null==this.pFishParamManager&&(this.pFishParamManager=new _0x1b51fc),this.stFishEyeManager[_0x269fb2].pRender.SR_SetFishParamManager(this.pFishParamManager)),1)}},{key:"FEC_SetWnd",value:function(_0x1c3f75,_0x1a2fea){if(_0x1c3f75<1||_0x1c3f75>31||null==_0x1c3f75)return console.info("%c FEC_SetWnd-1 nSubPort:%d","color: red",_0x1c3f75),this.FECErrorCode=1298,0;if(null==this.stFishEyeManager[_0x1c3f75].pRender)return console.info("%c FEC_SetWnd-2 nSubPort:%d pRender is null","color: red",_0x1c3f75),this.FECErrorCode=1281,0;if(0==this.stFishEyeManager[_0x1c3f75].bUsed)return console.info("%c FEC_SetWnd-3 nSubPort:%d bUsed:%d","color: red",_0x1c3f75,this.stFishEyeManager[_0x1c3f75].bUsed),this.FECErrorCode=1282,0;if(null==_0x1a2fea)return console.info("%c FEC_SetWnd-4 nSubPort:%d sCanvasID:%s","color: red",_0x1c3f75,_0x1a2fea),this.FECErrorCode=1305,0;if(0!=this.stFishEyeManager[_0x1c3f75].nSubPort&&0!=this.stFishEyeManager[_0x1c3f75].bUsed){if(0!=this.stFishEyeManager[_0x1c3f75].bInited&&null!=this.stFishEyeManager[_0x1c3f75].sCanvasID)return _0x1a2fea!=this.stFishEyeManager[_0x1c3f75].sCanvasID?(console.info("%c FEC_SetWnd-5 nSubPort:%d sCanvasID:%s already init","color: red",_0x1c3f75,_0x1a2fea),this.FECErrorCode=1286,0):1;var _0x1904af=_0x35636d.SRDISPLAYEFFECT.SR_DE_FISH_ORIGINAL;_0x1904af=this._ConvertDisplayEffect(this.stFishEyeManager[_0x1c3f75].emPlaceType,this.stFishEyeManager[_0x1c3f75].emCorrectType);var _0x49f43e=this.stFishEyeManager[_0x1c3f75].pRender.SR_Init(_0x1a2fea,this.enPixelFormat),_0x2d989e=this.stFishEyeManager[_0x1c3f75].pRender.SR_AddSubPort(_0x1904af);if(-1==_0x2d989e)return console.info("%c FEC_SetWnd SR_AddSubPort error subport:%d","color: red",_0x1c3f75),0;if(this.stFishEyeManager[_0x1c3f75].nValidSubPort=_0x2d989e,_0x35636d.ERRCODE.SR_OK!=_0x49f43e)return this.stFishEyeManager[_0x1c3f75].bInited=0,this.stFishEyeManager[_0x1c3f75].sCanvasID=null,this.FECErrorCode=1282,0;if(this.stFishEyeManager[_0x1c3f75].bInited=1,this.stFishEyeManager[_0x1c3f75].sCanvasID=_0x1a2fea,1280<=this.stFishEyeManager[_0x1c3f75].emCorrectType){var _0x4471e0=this.stFishEyeManager[_0x1c3f75].pRender.SR_SetRenderState(_0x35636d.SRRENDERSTATETYPE.SR_RST_BACK_CULL,0);_0x35636d.ERRCODE.SR_OK!=_0x4471e0&&console.log(">>>VideoRender.js SR_SetRenderState failed ret:%08x\n",_0x4471e0)}return this.stFishEyeManager[_0x1c3f75].pRender.SR_SetCallBack(this.WebGLDisplaySubCallBack,{nUser:this,handle:this.stFishEyeManager[_0x1c3f75].pRender,nSubPort:_0x1c3f75},_0x35636d.SRCALLBACKTYPE.SR_CBT_NULL),null!=this.pstWaterFontParam&&this.SetWaterMarkFont(this.pstWaterFontParam),this.FECShowMode>0&&this.stFishEyeManager[_0x1c3f75].pRender.SR_SetPTZDisplayMode(this.FECShowMode),1}return this.FECErrorCode=1282,0}},{key:"FEC_Disable",value:function(_0x188de2,_0x1fda65,_0x53ea52){if(_0x188de2<1||_0x188de2>31||null==_0x188de2)return console.info("%c FEC_Disable-1 nSubPort:%d","color: red",_0x188de2),this.FECErrorCode=1298,0;if(1==this.stFishEyeManager[_0x188de2].bInited&&null!=this.stFishEyeManager[_0x188de2].pRender){if(_0x35636d.ERRCODE.SR_OK!=this.stFishEyeManager[_0x188de2].pRender.SR_DelSubPort(this.stFishEyeManager[_0x188de2].nValidSubPort))return console.info("%c FEC_Disable-2 SR_DelSubPort error nSubPort:%d","color: red",_0x188de2),0;this.stFishEyeManager[_0x188de2].bInited=0,this.stFishEyeManager[_0x188de2].nValidSubPort=-1,this.stFishEyeManager[_0x188de2].pRender.SR_Destroy(),this.stFishEyeManager[_0x188de2].pRender=null}return 1}},{key:"FEC_DelPort",value:function(_0x1ca14e){return _0x1ca14e<1||_0x1ca14e>31||null==_0x1ca14e?(console.info("%c FEC_DelPort-1 nSubPort:%d","color: red",_0x1ca14e),this.FECErrorCode=1298,0):0==this.stFishEyeManager[_0x1ca14e].bUsed?(console.info("%c FEC_DelPort-2 nSubPort:%d bUsed:%d","color: red",_0x1ca14e,this.stFishEyeManager[_0x1ca14e].bUsed),this.FECErrorCode=1282,0):(this.stFishEyeManager[_0x1ca14e].nSubPort=0,this.stFishEyeManager[_0x1ca14e].sCanvasID=null,this.stFishEyeManager[_0x1ca14e].bUsed=0,this.stFishEyeManager[_0x1ca14e].bInited=0,this.stFishEyeManager[_0x1ca14e].nValidSubPort=0,this.stFishEyeManager[_0x1ca14e].emPlaceType=3,this.stFishEyeManager[_0x1ca14e].emCorrectType=0,this.stFishEyeManager[_0x1ca14e].emEffect=_0x35636d.SRDISPLAYEFFECT.SR_DE_FISH_ORIGINAL,this.stFishParam[_0x1ca14e].stCycleParam.fRadiusLeft=0,this.stFishParam[_0x1ca14e].stCycleParam.fRadiusRight=1,this.stFishParam[_0x1ca14e].stCycleParam.fRadiusTop=0,this.stFishParam[_0x1ca14e].stCycleParam.fRadiusBottom=1,this.subPortNum>0&&this.subPortNum--,1)}},{key:"FEC_SetParam",value:function(_0x372db8,_0x1ba18d){if(this.FECErrorCode=0,_0x372db8<0||_0x372db8>31||null==_0x372db8)return console.info("%c FEC_SetParam-1 nSubPort:%d","color: red",_0x372db8),this.FECErrorCode=1298,0;if(null==this.stFishEyeManager[_0x372db8].pRender)return console.info("%c FEC_SetParam-2 nSubPort:%d pRender:%d","color: red",_0x372db8,this.stFishEyeManager[_0x372db8].pRender),this.FECErrorCode=1281,0;if(0==this.stFishEyeManager[_0x372db8].bUsed)return console.info("%c FEC_SetParam-3 nSubPort:%d bUsed:%d","color: red",_0x372db8,this.stFishEyeManager[_0x372db8].bUsed),this.FECErrorCode=1282,0;if(this.stFishEyeManager[_0x372db8].emCorrectType>=1280&&this.stFishEyeManager[_0x372db8].emCorrectType<=2560&&30&_0x1ba18d.upDateType)return console.info("%c FEC_SetParam-4 nSubPort:%d not 3D","color: red",_0x372db8),this.FECErrorCode=1289,0;if(1&_0x1ba18d.upDateType){if(null==_0x1ba18d.stCycleParam)return this.FECErrorCode=1288,0;for(var _0x1e9b40=1;_0x1e9b40<16;_0x1e9b40++){if(this.stFishEyeManager[_0x1e9b40].bUsed&&this.stFishEyeManager[_0x1e9b40].nSubPort&&2304==this.stFishEyeManager[_0x1e9b40].emCorrectType&&(_0x1ba18d.stCycleParam.fRadiusLeft<=-.5||_0x1ba18d.stCycleParam.fRadiusLeft>=.4||_0x1ba18d.stCycleParam.fRadiusRight<=.6||_0x1ba18d.stCycleParam.fRadiusRight>=1.5||_0x1ba18d.stCycleParam.fRadiusTop<=-.5||_0x1ba18d.stCycleParam.fRadiusTop>0||_0x1ba18d.stCycleParam.fRadiusBottom<1||_0x1ba18d.stCycleParam.fRadiusBottom>=1.5||_0x1ba18d.stCycleParam.fRadiusLeft+_0x1ba18d.stCycleParam.fRadiusRight<=.8||_0x1ba18d.stCycleParam.fRadiusLeft+_0x1ba18d.stCycleParam.fRadiusRight>=1.2||_0x1ba18d.stCycleParam.fRadiusTop+_0x1ba18d.stCycleParam.fRadiusBottom<=.8||_0x1ba18d.stCycleParam.fRadiusTop+_0x1ba18d.stCycleParam.fRadiusBottom>=1.2))return this.FECErrorCode=1288,0;if(this.stFishEyeManager[_0x1e9b40].bUsed&&this.stFishEyeManager[_0x1e9b40].nSubPort&&2560==this.stFishEyeManager[_0x1e9b40].emCorrectType&&(_0x1ba18d.stCycleParam.fRadiusLeft<=-.5||_0x1ba18d.stCycleParam.fRadiusLeft>0||_0x1ba18d.stCycleParam.fRadiusRight<1||_0x1ba18d.stCycleParam.fRadiusRight>=1.5||_0x1ba18d.stCycleParam.fRadiusTop<=-.5||_0x1ba18d.stCycleParam.fRadiusTop>=.4||_0x1ba18d.stCycleParam.fRadiusBottom<=.6||_0x1ba18d.stCycleParam.fRadiusBottom>=1.5||_0x1ba18d.stCycleParam.fRadiusLeft+_0x1ba18d.stCycleParam.fRadiusRight<=.8||_0x1ba18d.stCycleParam.fRadiusLeft+_0x1ba18d.stCycleParam.fRadiusRight>=1.2||_0x1ba18d.stCycleParam.fRadiusTop+_0x1ba18d.stCycleParam.fRadiusBottom<=.8||_0x1ba18d.stCycleParam.fRadiusTop+_0x1ba18d.stCycleParam.fRadiusBottom>=1.2))return this.FECErrorCode=1288,0}}if(0==this.stFishEyeManager[_0x372db8].bInited){if(4&_0x1ba18d.upDateType){if(512!=this.stFishEyeManager[_0x372db8].emCorrectType&&768!=this.stFishEyeManager[_0x372db8].emCorrectType||1==this.stFishEyeManager[_0x372db8].emPlaceType)return this.FECErrorCode=1289,0;for(var _0x249a98=1;_0x249a98<16;_0x249a98++)if(this.stFishEyeManager[_0x249a98].nSubPort&&this.stFishEyeManager[_0x249a98].bUsed&&256==this.stFishEyeManager[_0x249a98].emCorrectType)return this.FECErrorCode=1287,0;this.stFishParam[_0x372db8].fWideScanOffset=_0x1ba18d.fValue}if(16&_0x1ba18d.upDateType){if(null==_0x1ba18d.stPTZColor)return this.FECErrorCode=1288,0;if(_0x1ba18d.stPTZColor.nR>255||_0x1ba18d.stPTZColor.nG>255||_0x1ba18d.stPTZColor.nB>255||_0x1ba18d.stPTZColor.nAlpha>255)return this.FECErrorCode=1289,0;this.stFishParam[_0x372db8].stPTZColor.nR=_0x1ba18d.stPTZColor.nR,this.stFishParam[_0x372db8].stPTZColor.nG=_0x1ba18d.stPTZColor.nG,this.stFishParam[_0x372db8].stPTZColor.nB=_0x1ba18d.stPTZColor.nB,this.stFishParam[_0x372db8].stPTZColor.nAlpha=_0x1ba18d.stPTZColor.nAlpha}if(8&_0x1ba18d.upDateType){if(256!=this.stFishEyeManager[_0x372db8].emCorrectType)return this.FECErrorCode=1289,0;this.stFishParam[_0x372db8].stPTZParam.fPTZPositionX=_0x1ba18d.fPTZParam.fPTZPositionX,this.stFishParam[_0x372db8].stPTZParam.fPTZPositionY=_0x1ba18d.fPTZParam.fPTZPositionY}if(2&_0x1ba18d.upDateType){if(256!=this.stFishEyeManager[_0x372db8].emCorrectType)return this.FECErrorCode=1289,0;this.stFishParam[_0x372db8].fZoom=_0x1ba18d.fPTZZoom}if(32&_0x1ba18d.upDateType){if(null==this.stFishParam.stPTZSelect)return 0;if(256!=this.stFishEyeManager[_0x372db8].emCorrectType)return this.FECErrorCode=1289,0;this.stFishParam.stPTZSelect.fTop=_0x1ba18d.stPTZSelect.fTop,this.stFishParam.stPTZSelect.fBottom=_0x1ba18d.stPTZSelect.fBottom,this.stFishParam.stPTZSelect.fLeft=_0x1ba18d.stPTZSelect.fLeft,this.stFishParam.stPTZSelect.fRight=_0x1ba18d.stPTZSelect.fRight}if(1&_0x1ba18d.upDateType){if(null==_0x1ba18d.stCycleParam)return this.FECErrorCode=1288,0;if(0==this._IsValidRadiusParam(_0x1ba18d.stCycleParam))return this.FECErrorCode=1288,0;this.stFishParam[0].stCycleParam.fRadiusLeft=_0x1ba18d.stCycleParam.fRadiusLeft,this.stFishParam[0].stCycleParam.fRadiusRight=_0x1ba18d.stCycleParam.fRadiusRight,this.stFishParam[0].stCycleParam.fRadiusTop=_0x1ba18d.stCycleParam.fRadiusTop,this.stFishParam[0].stCycleParam.fRadiusBottom=_0x1ba18d.stCycleParam.fRadiusBottom}return 1}if(4&_0x1ba18d.upDateType){if(512!=this.stFishEyeManager[_0x372db8].emCorrectType&&768!=this.stFishEyeManager[_0x372db8].emCorrectType||1==this.stFishEyeManager[_0x372db8].emPlaceType)return this.FECErrorCode=1289,0;for(var _0x15aa00=1;_0x15aa00<16;_0x15aa00++)if(this.stFishEyeManager[_0x15aa00].nSubPort&&this.stFishEyeManager[_0x15aa00].bUsed&&256==this.stFishEyeManager[_0x15aa00].emCorrectType)return this.FECErrorCode=1287,0;var _0x1d03be={};if(_0x1d03be.nFishParamType=_0x35636d.SRFISHPARAMTYPE.SR_FPT_ANGLE,_0x1d03be.bBlack=0,_0x1d03be.fAngle=_0x1ba18d.fValue,_0x35636d.ERRCODE.SR_OK!=this.stFishEyeManager[_0x372db8].pRender.SR_SetFishParam(_0x1d03be))return this.FECErrorCode=1287,0;this.stFishParam[_0x372db8].fWideScanOffset=_0x1ba18d.fValue}if(16&_0x1ba18d.upDateType){if(null==_0x1ba18d.stPTZColor)return this.FECErrorCode=1289,0;if(_0x1ba18d.stPTZColor.nR>255||_0x1ba18d.stPTZColor.nG>255||_0x1ba18d.stPTZColor.nB>255||_0x1ba18d.stPTZColor.nAlpha>255)return this.FECErrorCode=1289,0;var _0xa483d3={};if(_0xa483d3.fR=_0x1ba18d.stPTZColor.nR/255,_0xa483d3.fG=_0x1ba18d.stPTZColor.nG/255,_0xa483d3.fB=_0x1ba18d.stPTZColor.nB/255,_0xa483d3.fA=_0x1ba18d.stPTZColor.nAlpha/255,_0x35636d.ERRCODE.SR_OK!=this.stFishEyeManager[_0x372db8].pRender.SR_SetPTZColor(_0x372db8,_0xa483d3))return this.FECErrorCode=1287,1287;this.stFishParam[_0x372db8].stPTZColor.nR=_0x1ba18d.stPTZColor.nR,this.stFishParam[_0x372db8].stPTZColor.nG=_0x1ba18d.stPTZColor.nG,this.stFishParam[_0x372db8].stPTZColor.nB=_0x1ba18d.stPTZColor.nB,this.stFishParam[_0x372db8].stPTZColor.nAlpha=_0x1ba18d.stPTZColor.nAlpha}if(8&_0x1ba18d.upDateType){if(256!=this.stFishEyeManager[_0x372db8].emCorrectType)return this.FECErrorCode=1289,0;var _0x451c7e={};_0x451c7e.nFishParamType=_0x35636d.SRFISHPARAMTYPE.SR_FPT_PTZ,_0x451c7e.bBlack=0,_0x451c7e.fPTZX=_0x1ba18d.fPTZParam.fPTZPositionX,_0x451c7e.fPTZY=_0x1ba18d.fPTZParam.fPTZPositionY;var _0x29769e=this.stFishEyeManager[_0x372db8].pRender.SR_SetFishParam(_0x451c7e);if(_0x35636d.ERRCODE.SR_OK!=_0x29769e)return this.FECErrorCode=1287,0;this.stFishParam[_0x372db8].stPTZParam.fPTZPositionX=_0x1ba18d.fPTZParam.fPTZPositionX,this.stFishParam[_0x372db8].stPTZParam.fPTZPositionY=_0x1ba18d.fPTZParam.fPTZPositionY}if(2&_0x1ba18d.upDateType){if(256!=this.stFishEyeManager[_0x372db8].emCorrectType)return this.FECErrorCode=1289,0;var _0x238045={};if(_0x238045.nFishParamType=_0x35636d.SRFISHPARAMTYPE.SR_FPT_ZOOM,_0x238045.bBlack=0,_0x238045.fZoom=_0x1ba18d.fPTZZoom,_0x35636d.ERRCODE.SR_OK!=this.stFishEyeManager[_0x372db8].pRender.SR_SetFishParam(_0x238045))return this.FECErrorCode=1287,0;this.stFishParam[_0x372db8].fZoom=_0x1ba18d.fPTZZoom}if(1&_0x1ba18d.upDateType){if(0==this._IsValidRadiusParam(_0x1ba18d.stCycleParam))return this.FECErrorCode=1288,0;var _0x4d60b8={};if(_0x4d60b8.nFishParamType=_0x35636d.SRFISHPARAMTYPE.SR_FPT_CENTER,_0x4d60b8.bBlack=1,_0x4d60b8.fRXLeft=_0x1ba18d.stCycleParam.fRadiusLeft,_0x4d60b8.fRXRight=_0x1ba18d.stCycleParam.fRadiusRight,_0x4d60b8.fRYTop=_0x1ba18d.stCycleParam.fRadiusTop,_0x4d60b8.fRYBottom=_0x1ba18d.stCycleParam.fRadiusBottom,_0x35636d.ERRCODE.SR_OK!=this.stFishEyeManager[_0x372db8].pRender.SR_SetFishParam(this.stFishEyeManager[_0x372db8].nValidSubPort,_0x4d60b8))return this.FECErrorCode=1288,0;this.stFishParam[0].stCycleParam.fRadiusLeft=_0x1ba18d.stCycleParam.fRadiusLeft,this.stFishParam[0].stCycleParam.fRadiusRight=_0x1ba18d.stCycleParam.fRadiusRight,this.stFishParam[0].stCycleParam.fRadiusTop=_0x1ba18d.stCycleParam.fRadiusTop,this.stFishParam[0].stCycleParam.fRadiusBottom=_0x1ba18d.stCycleParam.fRadiusBottom}return 32&_0x1ba18d.upDateType&&256==this.stFishEyeManager[_0x372db8].emCorrectType&&_0x35636d.ERRCODE.SR_OK!=this.stFishEyeManager[_0x372db8].pRender.SR_SetFishParam(this.stFishEyeManager[_0x372db8].stPTZSelect)?(this.FECErrorCode=1299,0):(null!=this.pstWaterFontParam&&this.pstWaterFontParam.nColorAdapt&&(this.pstWaterFontParamArray[_0x372db8].splice(_0x372db8,this.pstWaterFontParamArray[_0x372db8].length),this.CalculateWaterMarkParam(this.stFishEyeManager[_0x372db8].pRender,_0x372db8,this.pstWaterFontParam)),1)}},{key:"FEC_GetParam",value:function(_0x244403,_0x565efe){return _0x244403<0||_0x244403>31||null==_0x244403?(console.info("%c FEC_GetParam-1 nSubPort:%d","color: red",_0x244403),this.FECErrorCode=1298,0):null==this.stFishEyeManager[_0x244403].pRender?(console.info("%c FEC_GetParam-2 pRender:%d","color: red",this.stFishEyeManager[_0x244403].pRender),this.FECErrorCode=1281,0):(this.stFishEyeManager[_0x244403].pRender.SR_GetFishParam(_0x565efe),_0x565efe.emCorrectType=this.stFishEyeManager[_0x244403].emCorrectType,1)}},{key:"_IsValidRadiusParam",value:function(_0x1dd323){return _0x1dd323.fRadiusBottom<=_0x1dd323.fRadiusTop||_0x1dd323.fRadiusRight<=_0x1dd323.fRadiusLeft?0:1}},{key:"FEC_SetViewParam",value:function(_0x38153a,_0x18770e,_0x1aebde){return _0x38153a<0||_0x38153a>31||null==_0x38153a?(console.info("%c FEC_SetViewParam-1 nSubPort:%d","color: red",_0x38153a),this.FECErrorCode=1298,0):null==this.stFishEyeManager[_0x38153a].pRender?(console.info("%c FEC_SetViewParam-2 pRender:%d","color: red",this.stFishEyeManager[_0x38153a].pRender),this.FECErrorCode=1281,0):_0x18770e<_0x35636d.SRVIEWTYPE.SR_VT_ROTATION_X||_0x18770e>_0x35636d.SRVIEWTYPE.SR_VT_SCALE?(this.FECErrorCode=1302,0):(this.FECErrorCode=0,0==this.stFishEyeManager[_0x38153a].bInited?(this.FECErrorCode=1282,0):1280<=this.stFishEyeManager[_0x38153a].emCorrectType?_0x35636d.ERRCODE.SR_OK!=this.stFishEyeManager[_0x38153a].pRender.SR_SetViewParam(_0x18770e,_0x1aebde)?(this.FECErrorCode=1302,0):(null!=this.pstWaterFontParam&&this.pstWaterFontParam.nColorAdapt&&(this.pstWaterFontParamArray[_0x38153a].splice(0,this.pstWaterFontParamArray[_0x38153a].length),this.CalculateWaterMarkParam(this.stFishEyeManager[_0x38153a].pRender,_0x38153a,this.pstWaterFontParam)),1):(this.FECErrorCode=1289,0))}},{key:"FEC_GetViewParam",value:function(_0x217db2,_0x5a58c4,_0x622e36){return _0x622e36.fValue=-1,_0x217db2<0||_0x217db2>31||null==_0x217db2?(console.info("%c FEC_GetViewParam-1 nSubPort:%d","color: red",_0x217db2),this.FECErrorCode=1298,0):null==this.stFishEyeManager[_0x217db2].pRender?(console.info("%c FEC_GetViewParam-2 pRender:%d","color: red",this.stFishEyeManager[_0x217db2].pRender),this.FECErrorCode=1281,0):_0x5a58c4<1||_0x5a58c4>3||0==this.stFishEyeManager[_0x217db2].bInited?0:(1280<=this.stFishEyeManager[_0x217db2].emCorrectType&&this.stFishEyeManager[_0x217db2].pRender.SR_GetViewParam(_0x5a58c4,_0x622e36),1)}},{key:"FEC_SetDisplayRegion",value:function(_0x31e06e,_0x42177a,_0xdf8b03,_0x21d5ac,_0xee9cff,_0x14f4fe,_0x36bef5){return _0x31e06e<0||_0x31e06e>31||null==_0x31e06e?(console.info("%c FEC_SetDisplayRegion-1 nSubPort:%d","color: red",_0x31e06e),this.FECErrorCode=1298,0):null==this.stFishEyeManager[_0x31e06e].pRender?(console.info("%c FEC_SetDisplayRegion-2 pRender:%d","color: red",this.stFishEyeManager[_0x31e06e].pRender),this.FECErrorCode=1281,0):0!=_0x42177a||0!=_0xdf8b03?(this.FECErrorCode=1302,0):0!=this.stFishEyeManager[_0x31e06e].emCorrectType&&512!=this.stFishEyeManager[_0x31e06e].emCorrectType&&768!=this.stFishEyeManager[_0x31e06e].emCorrectType&&1024!=this.stFishEyeManager[_0x31e06e].emCorrectType?(this.FECErrorCode=1285,0):0==this.stFishEyeManager[_0x31e06e].bInited?(this.FECErrorCode=1282,0):_0x21d5ac<0||_0xee9cff<0||_0x14f4fe<0||_0x36bef5<0?(this.FECErrorCode=1302,0):_0x35636d.ERRCODE.SR_OK!=this.stFishEyeManager[_0x31e06e].pRender.SR_SetDisplayRect(_0x21d5ac,_0xee9cff,_0x14f4fe,_0x36bef5,_0x35636d.SRSETRECTTYPE.SR_SRT_SRC)?(this.FECErrorCode=1297,0):(null!=this.pstWaterFontParam&&this.pstWaterFontParam.nColorAdapt&&(this.pstWaterFontParamArray[_0x31e06e].splice(0,this.pstWaterFontParamArray[_0x31e06e].length),this.CalculateWaterMarkParam(this.stFishEyeManager[_0x31e06e].pRender,_0x31e06e,this.pstWaterFontParam)),1)}},{key:"FEC_SetBackCilling",value:function(_0x422a5e,_0x3d6a1d){return _0x422a5e<0||_0x422a5e>31||null==_0x422a5e?(this.FECErrorCode=1298,0):null==this.stFishEyeManager[_0x422a5e].pRender?(this.FECErrorCode=1281,0):0==this.stFishEyeManager[_0x422a5e].bInited?(this.FECErrorCode=1282,0):_0x35636d.ERRCODE.SR_OK!=this.stFishEyeManager[_0x422a5e].pRender.SR_SetRenderState(_0x35636d.SRRENDERSTATETYPE.SR_RST_BACK_CULL,_0x3d6a1d)?(this.FECErrorCode=1297,0):(null!=this.pstWaterFontParam&&this.pstWaterFontParam.nColorAdapt&&(this.pstWaterFontParamArray[_0x422a5e].splice(0,this.pstWaterFontParamArray[_0x422a5e].length),this.CalculateWaterMarkParam(this.stFishEyeManager[_0x422a5e].pRender,_0x422a5e,this.pstWaterFontParam)),1)}},{key:"FEC_GetPTZPort",value:function(_0x25c5aa,_0x437509,_0x475102){if(null!=this.stFishEyeManager[_0x25c5aa].pRender){var _0x3d1756={nPTZPort:-1};if(this.stFishEyeManager[_0x25c5aa].pRender.SR_GetPTZPort(_0x437509,_0x475102,_0x3d1756)==_0x35636d.ERRCODE.SR_OK)return _0x3d1756.nPTZPort}return-1}},{key:"FEC_SetPTZDisplayMode",value:function(_0x1fc9ea){return _0x1fc9ea>=0&&_0x1fc9ea<=2?(null!=this.stFishEyeManager[0].pRender&&this.stFishEyeManager[0].pRender.SR_SetPTZDisplayMode(_0x1fc9ea),this.FECShowMode=_0x1fc9ea,1):(console.info("%c FEC_SetPTZDisplayMode ptzMode:%d","color: red",_0x1fc9ea),0)}},{key:"FEC_Capture",value:function(_0x2ded2e,_0x32f600){if(null!=this.stFishEyeManager[_0x2ded2e].pRender){var _0x431ec1={nWidth:0,nHeight:0,nBufferLen:0},_0x3483cf=this.stFishEyeManager[_0x2ded2e].pRender.SR_GetCaptureSize(_0x431ec1);if(_0x35636d.ERRCODE.SR_OK!=_0x3483cf||_0x431ec1.nBufferLen<=0)return _0x32f600(null,0,0,_0x2ded2e),0;var _0x37889f=new Uint8Array(_0x431ec1.nBufferLen);if(null==_0x37889f)return _0x32f600(null,0,0,_0x2ded2e),0;var _0x3404a7={};return _0x3404a7.pBuffer=_0x37889f,this.stFishEyeManager[_0x2ded2e].pRender.SR_CaptureScreen(_0x3404a7),_0x32f600(_0x37889f,_0x431ec1.nWidth,_0x431ec1.nHeight,_0x2ded2e),_0x37889f=null,1}return _0x32f600(null,0,0,_0x2ded2e),0}},{key:"CheckFrameRGB",value:function(_0x428a09,_0x93a7c7,_0x1477ef,_0xb9ef10,_0x42df62,_0x1cbeb4){if(null==_0x428a09||null==_0x428a09.width||null==_0x428a09.height||null==_0x428a09.pBuffer||_0x428a09.width<=0||_0x428a09.height<=0||_0x428a09.pBuffer.length<=0)return 0;for(var _0x3924e3=_0x428a09.width/(_0xb9ef10-1),_0x302328=_0x428a09.height/(_0x1477ef-1),_0xa43a97=0,_0x4d904c=0,_0x4ec74a=[],_0x47888a=0;_0x47888a<_0x1477ef*_0xb9ef10;_0x47888a++)_0x4ec74a[_0x47888a]=0,this.aPOSAdaptBuf[_0x47888a]=0;if(_0x93a7c7){for(var _0x504bfe=0,_0x26ef3f=0;_0x26ef3f<_0x428a09.height;_0x26ef3f++)for(var _0x699263=0;_0x699263<_0x428a09.width;_0x699263++){_0xa43a97=(_0xa43a97=Math.round(_0x699263/(_0x3924e3/2)/2))<_0xb9ef10?_0xa43a97:_0xb9ef10-1,_0x4d904c=(_0x4d904c=Math.round(_0x26ef3f/(_0x302328/2)/2))<_0x1477ef?_0x4d904c:_0x1477ef-1;var _0x26c6f2=_0x428a09.pBuffer[_0x504bfe],_0x4ab769=_0x428a09.pBuffer[_0x504bfe+1],_0x5c6549=_0x428a09.pBuffer[_0x504bfe+2],_0x3b9dbf=Math.round(.299*_0x26c6f2+.587*_0x4ab769+.114*_0x5c6549);this.aPOSAdaptBuf[_0xa43a97+_0x4d904c*_0xb9ef10]+=_0x3b9dbf,_0x4ec74a[_0xa43a97+_0x4d904c*_0xb9ef10]++,_0x504bfe+=4}for(var _0x447ca6=0,_0x16e1a5=0;_0x16e1a5<_0x1477ef*_0xb9ef10;_0x16e1a5++)_0x447ca6=this.aPOSAdaptBuf[_0x16e1a5]/_0x4ec74a[_0x16e1a5],this.aPOSAdaptBuf[_0x16e1a5]=_0x447ca6>128?0:1}else{var _0x5e7570=Math.round(_0x42df62*_0x428a09.width),_0x22d99b=Math.round(_0x1cbeb4*_0x428a09.height),_0x3413a5=_0x5e7570-2;_0x3413a5=(_0x3413a5=_0x3413a5>0?_0x3413a5:0)<_0x428a09.width?_0x3413a5:_0x428a09.width-1;var _0x1ef306=_0x5e7570+2;_0x1ef306=(_0x1ef306=_0x1ef306>0?_0x1ef306:0)<_0x428a09.width?_0x1ef306:_0x428a09.width-1;var _0x2286d3=_0x22d99b-2;_0x2286d3=(_0x2286d3=_0x2286d3>0?_0x2286d3:0)<_0x428a09.height?_0x2286d3:_0x428a09.height-1;var _0x3140a4=_0x22d99b+2;_0x3140a4=(_0x3140a4=_0x3140a4>0?_0x3140a4:0)<_0x428a09.height?_0x3140a4:_0x428a09.height-1;for(var _0x270e85=_0x2286d3;_0x270e85<_0x3140a4;_0x270e85++)for(var _0x41397a=_0x3413a5;_0x41397a<_0x1ef306;_0x41397a++){var _0x134d76=4*Math.floor((4*_0x41397a+_0x270e85*_0x428a09.width*4)/4),_0x45768f=_0x428a09.pBuffer[_0x134d76],_0x4a7a7c=_0x428a09.pBuffer[_0x134d76+1],_0x5efe20=_0x428a09.pBuffer[_0x134d76+2],_0x374c19=Math.round(.299*_0x45768f+.587*_0x4a7a7c+.114*_0x5efe20);this.aPOSAdaptBuf[0]+=_0x374c19,_0x4ec74a[0]++}this.aPOSAdaptBuf[0]=this.aPOSAdaptBuf[0]/_0x4ec74a[0]>128?0:1}return 1}},{key:"GetWaterFontParam",value:function(_0x23a08e,_0x274a83,_0x586807,_0x1d710c,_0x3397a3,_0x161597,_0x31a560){var _0x210b7b=_0x586807.pFontString.length,_0xa25edb=_0x586807.pstFontRotate.fRotateAngle%360/360*2*Math.PI,_0x16c23f=Math.min(_0x586807.pstFontSize.nFontWidth,_0x586807.pstFontSize.nFontHeight);if(2==_0x586807.pstCanvasAdapt.nCanvasAdaptMode){var _0xfa9085=_0x586807.pstFontSize.nFontWidth*_0x1d710c/_0x586807.pstCanvasAdapt.nBaseCanvasWidth,_0x52151a=_0x586807.pstFontSize.nFontHeight*_0x3397a3/_0x586807.pstCanvasAdapt.nBaseCanvasHeight;_0x16c23f=Math.min(_0xfa9085,_0x52151a)}var _0x3ded95=_0x16c23f/_0x1d710c,_0x16556b=_0x16c23f/_0x3397a3,_0x47894c=_0x3ded95*Math.cos(Math.PI/2-_0xa25edb)*_0x586807.pSpace,_0x26fe4e=_0x16556b*Math.sin(Math.PI/2-_0xa25edb)*_0x586807.pSpace,_0x4daee7=[],_0xcfc6e4=[],_0x4e99ae=[];if(_0x586807.nFontAlign)for(var _0xef1cf4=0;_0xef1cf4<_0x210b7b;_0xef1cf4++)_0x4daee7[_0xef1cf4]=_0x586807.pFontString[0].length*_0x3ded95/6,_0xcfc6e4[_0xef1cf4]=Math.atan2(_0x4daee7[0],_0x26fe4e),_0x4e99ae[_0xef1cf4]=Math.sqrt(_0x4daee7[0]*_0x4daee7[0],_0x26fe4e*_0x26fe4e);else for(var _0x2e02e3=0;_0x2e02e3<_0x210b7b;_0x2e02e3++)_0x4daee7[_0x2e02e3]=0,_0xcfc6e4[_0x2e02e3]=0,_0x4e99ae[_0x2e02e3]=0;var _0x253bbc={};if(this.pstWaterFontParam.nColorAdapt){var _0x238992={nWidth:16,nHeight:16,nBufferLen:0},_0x4a0e64=_0x23a08e.SR_GetCaptureSize(_0x238992);if(_0x35636d.ERRCODE.SR_OK==_0x4a0e64){var _0x2726f9=new Uint8Array(_0x238992.nBufferLen);_0x253bbc.pBuffer=_0x2726f9,_0x23a08e.SR_CaptureScreen(_0x253bbc,!0),_0x253bbc.width=_0x238992.nWidth,_0x253bbc.height=_0x238992.nHeight,_0x2726f9=null}}var _0x1f3dc9=_0x161597*_0x31a560;if(_0x586807.pstFontRotate.fFillFullScreen){var _0x4ca845=[],_0x2e8041=[];if(1==_0x586807.pstCanvasAdapt.nCanvasAdaptMode){if(_0x31a560<16)for(var _0x51afdd=0;_0x51afdd*_0x586807.pstCanvasAdapt.ntotalColSpace<=_0x1d710c;_0x51afdd++)_0x2e8041[_0x51afdd]=(_0x51afdd*_0x586807.pstCanvasAdapt.ntotalColSpace+_0x586807.pstCanvasAdapt.nColSpace/2)/_0x1d710c;else for(var _0xc00f1=1/(_0x31a560-1),_0x125339=0;_0x125339<_0x31a560;_0x125339++)_0x2e8041[_0x125339]=_0xc00f1*_0x125339+_0x47894c*((_0x210b7b-1)/2);if(_0x161597<16)for(var _0x532c12=0;_0x532c12*_0x586807.pstCanvasAdapt.ntotalRowSpace<=_0x3397a3;_0x532c12++)_0x4ca845[_0x532c12]=(_0x532c12*_0x586807.pstCanvasAdapt.ntotalRowSpace+_0x586807.pstCanvasAdapt.nRowSpace/2)/_0x3397a3;else for(var _0xdc2e2a=1/(_0x161597-1),_0x49cce6=0;_0x49cce6<_0x161597;_0x49cce6++)_0x4ca845[_0x49cce6]=_0xdc2e2a*_0x49cce6-_0x26fe4e*((_0x210b7b-1)/2);for(var _0x200909=0;_0x200909<_0x210b7b;_0x200909++)_0x4daee7[_0x200909]=0,_0xcfc6e4[_0x200909]=0,_0x4e99ae[_0x200909]=0}else{if(1==_0x161597)_0x4ca845[0]=.5;else for(var _0x57c665=1/(_0x161597-1),_0xd06d86=0;_0xd06d86<_0x161597;_0xd06d86++)_0x4ca845[_0xd06d86]=_0x57c665*_0xd06d86-_0x26fe4e*((_0x210b7b-1)/2);if(1==_0x31a560)_0x2e8041[0]=.5;else for(var _0x262c28=1/(_0x31a560-1),_0x3106f1=0;_0x3106f1<_0x31a560;_0x3106f1++)_0x2e8041[_0x3106f1]=_0x262c28*_0x3106f1+_0x47894c*((_0x210b7b-1)/2)}this.pstWaterFontParamArray[_0x274a83]=[];for(var _0x3e4ecc=0;_0x3e4ecc<_0x1f3dc9;++_0x3e4ecc)for(var _0x374cef=0;_0x374cef<_0x210b7b;_0x374cef++){this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef]={},this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pString=_0x586807.pFontString[_0x374cef],this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].nFontWidth=_0x16c23f,this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].nFontHeight=_0x16c23f,this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pstStartPos={};var _0x2b3db3=_0x3e4ecc%_0x31a560,_0x5b4018=Math.floor(_0x3e4ecc/_0x31a560),_0x538f49=Math.PI/2-_0xa25edb+_0xcfc6e4[_0x374cef];this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pstStartPos.fX=_0x2e8041[_0x2b3db3]-_0x374cef*_0x47894c+_0x4e99ae[_0x374cef]*Math.cos(_0x538f49),this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pstStartPos.fY=_0x4ca845[_0x5b4018]+_0x374cef*_0x26fe4e-_0x4e99ae[_0x374cef]*Math.sin(_0x538f49),_0x586807.nColorAdapt?(0==_0x374cef&&this.CheckFrameRGB(_0x253bbc,0,1,1,this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pstStartPos.fX,this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pstStartPos.fY),this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pstFontColor={},this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pstFontColor.fR=this.aPOSAdaptBuf[0],this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pstFontColor.fG=this.aPOSAdaptBuf[0],this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pstFontColor.fB=this.aPOSAdaptBuf[0],this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pstFontColor.fA=_0x586807.pstFontColor.fA):this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pstFontColor=_0x586807.pstFontColor,this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].bBackGround=!1,this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pstBGColor=null,this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].fRotateAngle=_0x586807.pstFontRotate.fRotateAngle,this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].pFontFamily=_0x586807.pFontFamily,_0x586807.nFontAlign?(this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].textAlign="left",this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].textBaseline="top"):(this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].textAlign="center",this.pstWaterFontParamArray[_0x274a83][_0x210b7b*_0x3e4ecc+_0x374cef].textBaseline="middle")}}else for(var _0x54029c=0;_0x54029c<_0x586807.pFontString.length;_0x54029c++)this.pstWaterFontParamArray[_0x274a83][_0x54029c]={},this.pstWaterFontParamArray[_0x274a83][_0x54029c].pString=_0x586807.pFontString[_0x54029c],this.pstWaterFontParamArray[_0x274a83][_0x54029c].nFontWidth=_0x16c23f,this.pstWaterFontParamArray[_0x274a83][_0x54029c].nFontHeight=_0x16c23f,this.pstWaterFontParamArray[_0x274a83][_0x54029c].pstStartPos={},this.pstWaterFontParamArray[_0x274a83][_0x54029c].pstStartPos.fX=_0x586807.pstStartPos.fX-_0x54029c*_0x47894c,this.pstWaterFontParamArray[_0x274a83][_0x54029c].pstStartPos.fY=_0x586807.pstStartPos.fY+_0x54029c*_0x26fe4e,_0x586807.nColorAdapt?(this.CheckFrameRGB(_0x253bbc,0,1,1,this.pstWaterFontParamArray[_0x274a83][_0x54029c].pstStartPos.fX,this.pstWaterFontParamArray[_0x274a83][_0x54029c].pstStartPos.fY),this.pstWaterFontParamArray[_0x274a83][_0x54029c].pstFontColor={},this.pstWaterFontParamArray[_0x274a83][_0x54029c].pstFontColor.fR=this.aPOSAdaptBuf[0],this.pstWaterFontParamArray[_0x274a83][_0x54029c].pstFontColor.fG=this.aPOSAdaptBuf[0],this.pstWaterFontParamArray[_0x274a83][_0x54029c].pstFontColor.fB=this.aPOSAdaptBuf[0],this.pstWaterFontParamArray[_0x274a83][_0x54029c].pstFontColor.fA=_0x586807.pstFontColor.fA):this.pstWaterFontParamArray[_0x274a83][_0x54029c].pstFontColor=_0x586807.pstFontColor,this.pstWaterFontParamArray[_0x274a83][_0x54029c].bBackGround=!1,this.pstWaterFontParamArray[_0x274a83][_0x54029c].pstBGColor=null,this.pstWaterFontParamArray[_0x274a83][_0x54029c].fRotateAngle=_0x586807.pstFontRotate.fRotateAngle,this.pstWaterFontParamArray[_0x274a83][_0x54029c].pFontFamily=_0x586807.pFontFamily,_0x586807.nFontAlign?(this.pstWaterFontParamArray[_0x274a83][_0x54029c].textAlign="left",this.pstWaterFontParamArray[_0x274a83][_0x54029c].textBaseline="top"):(this.pstWaterFontParamArray[_0x274a83][_0x54029c].textAlign="center",this.pstWaterFontParamArray[_0x274a83][_0x54029c].textBaseline="middle");return 1}},{key:"CalculateWaterMarkParam",value:function(_0x16240f,_0x2cdb0d,_0x11e59c){var _0x3fda26=this.mainCanvasID.width,_0x2c9da6=this.mainCanvasID.height;_0x2cdb0d>0&&(_0x3fda26=this.stFishEyeManager[_0x2cdb0d].sCanvasID.width,_0x2c9da6=this.stFishEyeManager[_0x2cdb0d].sCanvasID.height);var _0x23be54=Math.floor(_0x11e59c.pstFontNumber.nRowNumber),_0x274ccc=Math.floor(_0x11e59c.pstFontNumber.nColNumber);1==_0x11e59c.pstCanvasAdapt.nCanvasAdaptMode&&(_0x23be54=(_0x23be54=(_0x23be54=Math.floor(_0x2c9da6/_0x11e59c.pstCanvasAdapt.ntotalRowSpace+1))<1?1:_0x23be54)>16?16:_0x23be54,_0x274ccc=(_0x274ccc=(_0x274ccc=Math.floor(_0x3fda26/_0x11e59c.pstCanvasAdapt.ntotalColSpace+1))<1?1:_0x274ccc)>16?16:_0x274ccc),this.GetWaterFontParam(_0x16240f,_0x2cdb0d,_0x11e59c,_0x3fda26,_0x2c9da6,_0x23be54,_0x274ccc)}},{key:"SetWaterMarkFont",value:function(_0x2fcedb){if(0!=this.pstWaterFontParamArray.length)for(var _0x48d441=0;_0x48d441<16;_0x48d441++)this.pstWaterFontParamArray[_0x48d441].splice(0,this.pstWaterFontParamArray[_0x48d441].length);if(this.pstWaterFontParam=_0x2fcedb,null===_0x2fcedb)return 1;this.CalculateWaterMarkParam(this.oVideoHandle,0,_0x2fcedb);for(var _0x3b40d2=1;_0x3b40d2<16;_0x3b40d2++)null!=this.stFishEyeManager[_0x3b40d2].pRender&&this.CalculateWaterMarkParam(this.stFishEyeManager[_0x3b40d2].pRender,_0x3b40d2,_0x2fcedb);return 1}},{key:"SetMosaicType",value:function(_0x13e3ac){return this.MosaicType=_0x13e3ac.nMosaicType,this.MosaicSize=_0x13e3ac.nMosaicSize,this.MosaicColorR=_0x13e3ac.pstMosaicColor.fMosaicColorR/255,this.MosaicColorG=_0x13e3ac.pstMosaicColor.fMosaicColorG/255,this.MosaicColorB=_0x13e3ac.pstMosaicColor.fMosaicColorB/255,this.MosaicColorA=_0x13e3ac.pstMosaicColor.fMosaicColorA/100,1}},{key:"SetTextCanvas",value:function(_0x35f626){return this.textCanvas=_0x35f626,1}},{key:"SetPrintLogFlag",value:function(_0xe7073f){return this.printfFlag=_0xe7073f,1}},{key:"SetRotateAngle",value:function(_0x5a62f8){var _0x1bfe80;return null!=this.oVideoHandle&&(_0x1bfe80=this.oVideoHandle.SR_SetRenderState(_0x35636d.SRRENDERSTATETYPE.SR_RST_IMAGE_ROTATE,_0x5a62f8),null!=this.pstWaterFontParam&&this.pstWaterFontParam.nColorAdapt&&(this.pstWaterFontParamArray[0].splice(0,this.pstWaterFontParamArray[0].length),this.CalculateWaterMarkParam(this.oVideoHandle,0,this.pstWaterFontParam)),_0x1bfe80==_0x35636d.ERRCODE.SR_OK)?1:0}},{key:"ImageDecoder",value:function(_0x612a6d,_0x4c1b32,_0x3f8d18){var _0x467a1d=this;_0x612a6d.decode({frameIndex:_0x3f8d18}).then((function(_0x3177ec){_0x467a1d.pWaterImageParam[_0x3f8d18]={},_0x467a1d.pWaterImageParam[_0x3f8d18].videoStream=_0x3177ec.image,_0x467a1d.pWaterImageParam[_0x3f8d18].nImageWidth=_0x3177ec.image.displayWidth,_0x467a1d.pWaterImageParam[_0x3f8d18].nImageHeight=_0x3177ec.image.displayHeight,_0x467a1d.pWaterImageParam[_0x3f8d18].timeStamp=_0x3177ec.image.timestamp/1e3,_0x467a1d.pWaterImageParam[_0x3f8d18].duration=_0x3177ec.image.duration/1e3,null!=_0x4c1b32.pstRectPos?_0x467a1d.pWaterImageParam[_0x3f8d18].pstRectPos=_0x4c1b32.pstRectPos:_0x467a1d.pWaterImageParam[_0x3f8d18].pstRectPos={fLeft:0,fRight:.1,fTop:0,fBottom:.1},null!=_0x4c1b32.fAlpha&&_0x4c1b32.fAlpha<=1&&_0x4c1b32.fAlpha>=0?_0x467a1d.pWaterImageParam[_0x3f8d18].fAlpha=_0x4c1b32.fAlpha:_0x467a1d.pWaterImageParam[_0x3f8d18].fAlpha=1,_0x467a1d.waterMarkImageMax=_0x612a6d.tracks.selectedTrack.frameCount,_0x3f8d18<_0x612a6d.tracks.selectedTrack.frameCount-1?_0x467a1d.ImageDecoder(_0x612a6d,_0x4c1b32,_0x3f8d18+1):(_0x467a1d.baseWaterMarkImageTime=_0x467a1d.curTimestamp,_0x467a1d.finishDecodeImage=!0)}))}},{key:"SetWaterMarkImage",value:function(_0x46f64b){var _0xf701c8=this;if(this.pWaterImageParam.splice(0,this.pWaterImageParam.length),null===_0x46f64b)return 1;if(null!=_0x46f64b.pImageData){var _0x1d9d45=new ImageDecoder({data:_0x46f64b.pImageData,type:"image/"+_0x46f64b.pImageType});_0x1d9d45.tracks.ready.then((function(){_0x1d9d45.completed.then((function(){_0xf701c8.ImageDecoder(_0x1d9d45,_0x46f64b,0)}))}))}return this.waterMarkImageIndex=0,1}},{key:"SelectIntelInfoFeatureToDraw",value:function(_0x3b6b84){if(this.DrawTargetEventIDList.splice(0,this.DrawTargetEventIDList.length),null===_0x3b6b84)return 0;if(pImageParam.NodeNumber>0)for(var _0x900ee4=0;_0x900ee41&&void 0!==arguments[1]?arguments[1]:0,_0x208e0a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,_0x51c824=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,_0x480b63={};_0x480b63.nWidth=_0x174919,_0x480b63.nHeight=_0x208e0a,_0x480b63.nBufferLen=0;var _0x5416ec=this.oVideoHandle.SR_GetCaptureSize(_0x480b63,_0x51c824);if(_0x35636d.ERRCODE.SR_OK!=_0x5416ec||_0x480b63.nBufferLen<=0)_0x323dc4(null);else{var _0x33f04a=new Uint8Array(_0x480b63.nBufferLen);if(null!=_0x33f04a){var _0x388365={};_0x388365.pBuffer=_0x33f04a,this.oVideoHandle.SR_CaptureScreen(_0x388365),_0x323dc4(_0x33f04a,_0x480b63.nWidth,_0x480b63.nHeight)}else _0x323dc4(null)}}},{key:"FindIntelNodefromList",value:function(_0x148e8d){if(0!=this.privateNormalLinesInfo.length){for(var _0x5264d3=!1,_0x45d655=0,_0x21c57d=!1,_0x24c3d0=0,_0x1179d9=0,_0x52a9f9=1e8,_0x490480=0;_0x4904800){var _0x56ffa0={linesNum:0};_0x56ffa0.absTimeStamp=_0x3ade96.absTimeStamp,_0x56ffa0.stDrawLinesArray=[];var _0x2aa5ab={linesNum:0};_0x2aa5ab.absTimeStamp=_0x3ade96.absTimeStamp,_0x2aa5ab.stDrawLinesArray=[];var _0x2773e9={linesNum:0};_0x2773e9.absTimeStamp=_0x3ade96.absTimeStamp,_0x2773e9.stDrawLinesArray=[];var _0xde0db1={linesNum:0};_0xde0db1.absTimeStamp=_0x3ade96.absTimeStamp,_0xde0db1.stDrawLinesArray=[];var _0x64b3f0={linesNum:0};_0x64b3f0.absTimeStamp=_0x3ade96.absTimeStamp,_0x64b3f0.stDrawLinesArray=[];var _0x2d881a={linesNum:0};_0x2d881a.absTimeStamp=_0x3ade96.absTimeStamp,_0x2d881a.stDrawLinesArray=[];var _0x40f3eb={linesNum:0};_0x40f3eb.absTimeStamp=_0x3ade96.absTimeStamp,_0x40f3eb.stDrawLinesArray=[];for(var _0x5c798f=0;_0x5c798f<_0x3ade96.linesNum;_0x5c798f++)1==_0x3ade96.stDrawLinesArray[_0x5c798f].dwMatchType?2==_0x3ade96.stDrawLinesArray[_0x5c798f].dwIntelFlag?(_0x2d881a.stDrawLinesArray.push(_0x3ade96.stDrawLinesArray[_0x5c798f]),++_0x2d881a.linesNum):(_0x64b3f0.stDrawLinesArray.push(_0x3ade96.stDrawLinesArray[_0x5c798f]),++_0x64b3f0.linesNum):1==_0x3ade96.stDrawLinesArray[_0x5c798f].dwIntelFlag?(_0x56ffa0.stDrawLinesArray.push(_0x3ade96.stDrawLinesArray[_0x5c798f]),++_0x56ffa0.linesNum):4==_0x3ade96.stDrawLinesArray[_0x5c798f].dwIntelFlag?(this.m_nTEMDrawLinescount=0,_0x2aa5ab.stDrawLinesArray.push(_0x3ade96.stDrawLinesArray[_0x5c798f]),++_0x2aa5ab.linesNum):6==_0x3ade96.stDrawLinesArray[_0x5c798f].dwIntelFlag?(_0x2773e9.stDrawLinesArray.push(_0x3ade96.stDrawLinesArray[_0x5c798f]),++_0x2773e9.linesNum):8!=_0x3ade96.stDrawLinesArray[_0x5c798f].dwIntelFlag||1!=_0x3ade96.stDrawLinesArray[_0x5c798f].dwSubIntelFlag&&2!=_0x3ade96.stDrawLinesArray[_0x5c798f].dwSubIntelFlag?(_0xde0db1.stDrawLinesArray.push(_0x3ade96.stDrawLinesArray[_0x5c798f]),++_0xde0db1.linesNum):(_0x40f3eb.stDrawLinesArray.push(_0x3ade96.stDrawLinesArray[_0x5c798f]),++_0x40f3eb.linesNum);if(_0x64b3f0.linesNum>0){if(_0x64b3f0.absTimeStamp<=this.maxExactPrivateLineTimeStamp){var _0x3d3f1d=0;for(_0x3d3f1d=0;_0x3d3f1d0){if(this.privateNormalLinesInfo.length>=30&&this.privateNormalLinesInfo.shift(),_0xde0db1.absTimeStamp<=this.maxNormalPrivateLineTimeStamp){var _0x275fc9=0;for(_0x275fc9=0;_0x275fc90)if(this.privateThermalLinesInfo.length>=30&&this.privateThermalLinesInfo.shift(),0!=this.privateThermalLinesInfo.length){this.privateThermalLinesInfo[0].linesNum=_0x40f3eb.linesNum;for(var _0xb99a70=0;_0xb99a70<_0x40f3eb.linesNum;_0xb99a70++){this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70]={},this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].vertex_num=_0x40f3eb.stDrawLinesArray[_0xb99a70].vertex_num,this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].lineWidth=_0x40f3eb.stDrawLinesArray[_0xb99a70].lineWidth,this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].bFill=_0x40f3eb.stDrawLinesArray[_0xb99a70].bFill,this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].bLoop=_0x40f3eb.stDrawLinesArray[_0xb99a70].bLoop,this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].dwMatchType=_0x40f3eb.stDrawLinesArray[_0xb99a70].dwMatchType,this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].dwIntelFlag=_0x40f3eb.stDrawLinesArray[_0xb99a70].dwIntelFlag,this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].dwSubIntelFlag=_0x40f3eb.stDrawLinesArray[_0xb99a70].dwSubIntelFlag,this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].color={},this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].color.R=_0x40f3eb.stDrawLinesArray[_0xb99a70].color.R,this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].color.G=_0x40f3eb.stDrawLinesArray[_0xb99a70].color.G,this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].color.B=_0x40f3eb.stDrawLinesArray[_0xb99a70].color.B,this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].color.A=_0x40f3eb.stDrawLinesArray[_0xb99a70].color.A,this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].stPoint=[];for(var _0x487abb=0;_0x487abb<_0x40f3eb.stDrawLinesArray[_0xb99a70].vertex_num;_0x487abb++)this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].stPoint[_0x487abb]={},this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].stPoint[_0x487abb].x=_0x40f3eb.stDrawLinesArray[_0xb99a70].stPoint[_0x487abb].x,this.privateThermalLinesInfo[0].stDrawLinesArray[_0xb99a70].stPoint[_0x487abb].y=_0x40f3eb.stDrawLinesArray[_0xb99a70].stPoint[_0x487abb].y}}else this.privateThermalLinesInfo.push(_0x40f3eb);if(_0x2ee950=!1,_0x171fe=0,_0x2d881a.linesNum>0){if(_0x2d881a.absTimeStamp<=this.maxExactRulePrivateLineTimeStamp){var _0xb81eb6=0;for(_0xb81eb6=0;_0xb81eb60){if(_0x56ffa0.absTimeStamp<=this.maxTargetPrivateLineTimeStamp){var _0x378dcb=0;for(_0x378dcb=0;_0x378dcb0){if(this.privateMDLinesInfo.length>=30&&this.privateMDLinesInfo.shift(),_0x2773e9.absTimeStamp<=this.maxMDPrivateLineTimeStamp){var _0xf1f2c=0;for(_0xf1f2c=0;_0xf1f2c0){if(this.privateTemLinesInfo.length>=30&&this.privateTemLinesInfo.shift(),_0x2aa5ab.absTimeStamp<=this.maxTemPrivateLineTimeStamp){var _0x61a6cf=0;for(_0x61a6cf=0;_0x61a6cf0){var _0x38e6af={nFontsNum:0};_0x38e6af.absTimeStamp=_0x294f11.absTimeStamp,_0x38e6af.stDrawFontsArray=[];var _0x408eb5={nFontsNum:0};_0x408eb5.absTimeStamp=_0x294f11.absTimeStamp,_0x408eb5.stDrawFontsArray=[];var _0x50d780={nFontsNum:0};_0x50d780.absTimeStamp=_0x294f11.absTimeStamp,_0x50d780.stDrawFontsArray=[];var _0x4493a3={nFontsNum:0};_0x4493a3.absTimeStamp=_0x294f11.absTimeStamp,_0x4493a3.stDrawFontsArray=[];var _0x377c0c={nFontsNum:0};_0x377c0c.absTimeStamp=_0x294f11.absTimeStamp,_0x377c0c.stDrawFontsArray=[];var _0xba1eeb={nFontsNum:0};_0xba1eeb.absTimeStamp=_0x294f11.absTimeStamp,_0xba1eeb.stDrawFontsArray=[];for(var _0x1e668f=0;_0x1e668f<_0x294f11.nFontsNum;_0x1e668f++)1==_0x294f11.stDrawFontsArray[_0x1e668f].dwMatchType?1==_0x294f11.stDrawFontsArray[_0x1e668f].dwIntelFlag?(_0x377c0c.stDrawFontsArray.push(_0x294f11.stDrawFontsArray[_0x1e668f]),++_0x377c0c.nFontsNum):3==_0x294f11.stDrawFontsArray[_0x1e668f].dwIntelFlag&&(_0xba1eeb.stDrawFontsArray.push(_0x294f11.stDrawFontsArray[_0x1e668f]),++_0xba1eeb.nFontsNum):1==_0x294f11.stDrawFontsArray[_0x1e668f].dwIntelFlag?(_0x38e6af.stDrawFontsArray.push(_0x294f11.stDrawFontsArray[_0x1e668f]),++_0x38e6af.nFontsNum):4==_0x294f11.stDrawFontsArray[_0x1e668f].dwIntelFlag?(this.m_nTEMDrawFontscount=0,_0x408eb5.stDrawFontsArray.push(_0x294f11.stDrawFontsArray[_0x1e668f]),++_0x408eb5.nFontsNum):3==_0x294f11.stDrawFontsArray[_0x1e668f].dwIntelFlag?_0x294f11.stDrawFontsArray[_0x1e668f].NeedClearNormalPos?this.curNormalPOSFontsInfo=null:(_0x4493a3.stDrawFontsArray.push(_0x294f11.stDrawFontsArray[_0x1e668f]),++_0x4493a3.nFontsNum):(_0x50d780.stDrawFontsArray.push(_0x294f11.stDrawFontsArray[_0x1e668f]),++_0x50d780.nFontsNum);if(_0x2ee950=!1,_0x171fe=0,_0xba1eeb.nFontsNum>0){if(this.privateExactPOSFontsInfo.length>=30&&this.privateExactPOSFontsInfo.shift(),_0xba1eeb.absTimeStamp<=this.maxExactPOSPrivateFontTimeStamp){var _0x5de7cc=0;for(_0x5de7cc=0;_0x5de7cc0){if(this.privateExactFontsInfo.length>=30&&this.privateExactFontsInfo.shift(),_0x377c0c.absTimeStamp<=this.maxExactPrivateFontTimeStamp){var _0x4e4ef0=0;for(_0x4e4ef0=0;_0x4e4ef00){if(this.privateNormalFontsInfo.length>=30&&this.privateNormalFontsInfo.shift(),_0x50d780.absTimeStamp<=this.maxNormalPrivateFontTimeStamp){var _0x6cf2ea=0;for(_0x6cf2ea=0;_0x6cf2ea0)if(null==this.curNormalPOSFontsInfo)this.curNormalPOSFontsInfo=_0x4493a3;else{this.curNormalPOSFontsInfo.nFontsNum=_0x4493a3.nFontsNum,this.curNormalPOSFontsInfo.absTimeStamp=_0x4493a3.absTimeStamp;for(var _0x4f634c=0;_0x4f634c<_0x4493a3.nFontsNum;_0x4f634c++)this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c]={},this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].nFontSizeW=_0x4493a3.stDrawFontsArray[_0x4f634c].nFontSizeW,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].nFontSizeH=_0x4493a3.stDrawFontsArray[_0x4f634c].nFontSizeH,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].dwMatchType=_0x4493a3.stDrawFontsArray[_0x4f634c].dwMatchType,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].dwIntelFlag=_0x4493a3.stDrawFontsArray[_0x4f634c].dwIntelFlag,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].dwSubIntelFlag=_0x4493a3.stDrawFontsArray[_0x4f634c].dwSubIntelFlag,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].color={},this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].color.R=_0x4493a3.stDrawFontsArray[_0x4f634c].color.R,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].color.G=_0x4493a3.stDrawFontsArray[_0x4f634c].color.G,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].color.B=_0x4493a3.stDrawFontsArray[_0x4f634c].color.B,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].color.A=_0x4493a3.stDrawFontsArray[_0x4f634c].color.A,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].stPoint={},this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].stPoint.x=_0x4493a3.stDrawFontsArray[_0x4f634c].stPoint.x,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].stPoint.y=_0x4493a3.stDrawFontsArray[_0x4f634c].stPoint.y,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].fontString=_0x4493a3.stDrawFontsArray[_0x4f634c].fontString,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].BGcolor={},this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].BGcolor.R=_0x4493a3.stDrawFontsArray[_0x4f634c].BGcolor.R,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].BGcolor.G=_0x4493a3.stDrawFontsArray[_0x4f634c].BGcolor.G,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].BGcolor.B=_0x4493a3.stDrawFontsArray[_0x4f634c].BGcolor.B,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].BGcolor.A=_0x4493a3.stDrawFontsArray[_0x4f634c].BGcolor.A,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].bBackGround=_0x4493a3.stDrawFontsArray[_0x4f634c].bBackGround,this.curNormalPOSFontsInfo.stDrawFontsArray[_0x4f634c].EventID=_0x4493a3.stDrawFontsArray[_0x4f634c].dwEventID}if(_0x2ee950=!1,_0x171fe=0,_0x38e6af.nFontsNum>0){if(this.privateTargetFontsInfo.length>=30&&this.privateTargetFontsInfo.shift(),_0x38e6af.absTimeStamp<=this.maxTargetPrivateFontTimeStamp){var _0x9f3759=0;for(_0x9f3759=0;_0x9f37590){if(this.privateTemFontsInfo.length>=30&&this.privateTemFontsInfo.shift(),_0x408eb5.absTimeStamp<=this.maxTemPrivateFontTimeStamp){var _0x2a68c3=0;for(_0x2a68c3=0;_0x2a68c3=30&&this.privateImageInfo.shift(),_0x591b0a.absTimeStamp<=this.maxPrivateImageTimeStamp){var _0x23615a=0;for(_0x23615a=0;_0x23615a=20&&_0x5b3c73.privatePNGImageInfo.shift();var _0x19904b=_0x5b3c73.privatePNGImageInfo.findIndex((function(_0x44a1d7){return _0x44a1d7.PicID===_0x591b0a.PicID}));-1!==_0x19904b?_0x5b3c73.privatePNGImageInfo[_0x19904b]=_0x675183(_0x675183({},_0x5b3c73.privatePNGImageInfo[_0x19904b]),{},{PicID:_0x591b0a.PicID,videoStream:_0x50d632.image,nImageWidth:_0x50d632.image.displayWidth,nImageHeight:_0x50d632.image.displayHeight,pstRectPos:{fTop:_0x591b0a.pstRect.fTop,fBottom:_0x591b0a.pstRect.fBottom,fLeft:_0x591b0a.pstRect.fLeft,fRight:_0x591b0a.pstRect.fRight},nPixelFormat:_0x591b0a.nPixelFormat,fAlpha:_0x591b0a.fAlpha}):_0x5b3c73.privatePNGImageInfo.push({PicID:_0x591b0a.PicID,videoStream:_0x50d632.image,nImageWidth:_0x50d632.image.displayWidth,nImageHeight:_0x50d632.image.displayHeight,pstRectPos:{fTop:_0x591b0a.pstRect.fTop,fBottom:_0x591b0a.pstRect.fBottom,fLeft:_0x591b0a.pstRect.fLeft,fRight:_0x591b0a.pstRect.fRight},nPixelFormat:_0x591b0a.nPixelFormat,fAlpha:_0x591b0a.fAlpha})})).catch((function(_0x1f3bbb){console.error("Image processing failed:",_0x1f3bbb)}))}catch(_0x210420){console.error("ImageDecoder initialization failed:",_0x210420)}return 1}},{key:"CheckLinesInfo",value:function(){if(this.DrawlinesParamArray.splice(0,this.DrawlinesParamArray.length),this.DrawlinesParamArrayAllPointNum=0,this.bDrawlinesParamArrayFill=0,this.DrawMosaiclinesParamArray.splice(0,this.DrawMosaiclinesParamArray.length),this.DrawTargetlinesParamArray.splice(0,this.DrawTargetlinesParamArray.length),null!=this.curNormalLinesInfo)for(var _0x4c7690=[],_0x51b124=0,_0x1b415c=0;_0x1b415c0&&-1!=_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].dwFillPicID){for(var _0x333dc0=-1,_0x76fda8=0,_0x554932=0;_0x554932<_0xfb0f1f.privatePNGImageInfo.length;_0x554932++)if(_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].dwFillPicID==_0xfb0f1f.privatePNGImageInfo[_0x554932].PicID){if(_0x333dc0=_0x554932,_0xfb0f1f.DrawTargetEventIDList.length>0){for(var _0x2268ad=0;_0x2268ad<_0xfb0f1f.DrawTargetEventIDList.length;_0x2268ad++)if(_0xfb0f1f.DrawTargetEventIDList[_0x2268ad].nID==_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].eventid){_0x76fda8=1;break}}else _0x76fda8=1;break}-1!=_0x333dc0&&1==_0x76fda8&&(_0xfb0f1f.privatePNGImageInfo[_0x333dc0].pstRectPos.fTop=_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].pstPoints[0].fY,_0xfb0f1f.privatePNGImageInfo[_0x333dc0].pstRectPos.fBottom=_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].pstPoints[2].fY,_0xfb0f1f.privatePNGImageInfo[_0x333dc0].pstRectPos.fLeft=_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].pstPoints[0].fX,_0xfb0f1f.privatePNGImageInfo[_0x333dc0].pstRectPos.fRight=_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].pstPoints[2].fX,_0xfb0f1f.oVideoHandle.SR_DrawImage(_0xfb0f1f.privatePNGImageInfo[_0x333dc0].videoStream,_0xfb0f1f.privatePNGImageInfo[_0x333dc0].nImageWidth,_0xfb0f1f.privatePNGImageInfo[_0x333dc0].nImageHeight,_0xfb0f1f.privatePNGImageInfo[_0x333dc0].pstRectPos,_0x35636d.SRPIXELFORMAT.SR_PF_SURFACE,_0xfb0f1f.privatePNGImageInfo[_0x333dc0].fAlpha))}else _0xfb0f1f.oVideoHandle.SR_DrawLines(_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].pstPoints,_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].nPointNum,_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].bLoop,_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].pstColor,_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].nLineWidth,_0xfb0f1f.DrawTargetlinesParamArray[_0xa5b026].bFill);0!=_0xfb0f1f.DrawFontParamArray.length&&_0xfb0f1f.oVideoHandle.SR_DrawFontEx(_0xfb0f1f.DrawFontParamArray,_0xfb0f1f.DrawFontParamArray.length,0,_0xfb0f1f.textCanvas);for(var _0x3ae959=_0xfb0f1f.DrawPOSFontsParamArray.length-1;_0x3ae959>=0;_0x3ae959--){var _0x43a6b0=0;if(-1!=_0xfb0f1f.DrawPOSFontsParamArray[_0x3ae959].EventID&&_0xfb0f1f.DrawTargetEventIDList.length>0){for(var _0x56374d=0;_0x56374d<_0xfb0f1f.DrawTargetEventIDList.length;_0x56374d++)if(_0xfb0f1f.DrawTargetEventIDList[_0x56374d].nID==_0xfb0f1f.DrawPOSFontsParamArray[_0x3ae959].EventID){_0x43a6b0=1;break}}else _0x43a6b0=1;1!=_0x43a6b0&&_0xfb0f1f.DrawPOSFontsParamArray.splice(_0x3ae959,1)}if(0!=_0xfb0f1f.DrawPOSFontsParamArray.length&&_0xfb0f1f.oVideoHandle.SR_DrawFontEx(_0xfb0f1f.DrawPOSFontsParamArray,_0xfb0f1f.DrawPOSFontsParamArray.length,0,_0xfb0f1f.textCanvas),null!=_0xfb0f1f.curImagesInfo&&0!=_0xfb0f1f.curImagesInfo.nWidth&&0!=_0xfb0f1f.curImagesInfo.nHeight&&1==_0xfb0f1f.m_bEnablePICEx){var _0x501ac7=null;null!=_0xfb0f1f.curImagesInfo&&null!=_0xfb0f1f.curImagesInfo&&null!=_0xfb0f1f.curImagesInfo.picImageData&&null!=_0xfb0f1f.curImagesInfo.picImageData&&(_0x501ac7=new Uint16Array(_0xfb0f1f.curImagesInfo.picImageData.buffer)),null!=_0xfb0f1f.curImagesInfo&&_0xfb0f1f.curImagesInfo.nPixelFormat>0&&_0xfb0f1f.oVideoHandle.SR_DrawImage(_0x501ac7,_0xfb0f1f.curImagesInfo.nWidth,_0xfb0f1f.curImagesInfo.nHeight,_0xfb0f1f.curImagesInfo.pstRect,_0xfb0f1f.curImagesInfo.nPixelFormat,_0xfb0f1f.curImagesInfo.fAlpha)}if(0!==_0xfb0f1f.pstWaterFontParamArray[0].length&&null!=_0xfb0f1f.pstWaterFontParam&&_0xfb0f1f.oVideoHandle.SR_DrawFontEx(_0xfb0f1f.pstWaterFontParamArray[0],_0xfb0f1f.pstWaterFontParamArray[0].length,1,_0xfb0f1f.textCanvas),0!==_0xfb0f1f.pWaterImageParam.length&&_0xfb0f1f.finishDecodeImage){_0xfb0f1f.baseWaterMarkImageTime<=0&&(_0xfb0f1f.baseWaterMarkImageTime=_0xfb0f1f.curTimestamp);var _0x1fd276=_0xfb0f1f.curTimestamp-_0xfb0f1f.baseWaterMarkImageTime;_0x1fd276<0&&(_0xfb0f1f.baseWaterMarkImageTime=_0xfb0f1f.curTimestamp,_0x1fd276=0,_0xfb0f1f.waterMarkImageIndex=0),_0x1fd276>=_0xfb0f1f.pWaterImageParam[_0xfb0f1f.waterMarkImageIndex].timeStamp-_0xfb0f1f.pWaterImageParam[0].timeStamp&&_0xfb0f1f.waterMarkImageIndex++,_0xfb0f1f.waterMarkImageIndex>=_0xfb0f1f.waterMarkImageMax&&(_0xfb0f1f.waterMarkImageIndex=0,_0xfb0f1f.baseWaterMarkImageTime=_0xfb0f1f.curTimestamp);var _0x2ed863=_0xfb0f1f.waterMarkImageIndex;_0xfb0f1f.oVideoHandle.SR_DrawImage(_0xfb0f1f.pWaterImageParam[_0x2ed863].videoStream,_0xfb0f1f.pWaterImageParam[_0x2ed863].nImageWidth,_0xfb0f1f.pWaterImageParam[_0x2ed863].nImageHeight,_0xfb0f1f.pWaterImageParam[_0x2ed863].pstRectPos,_0x35636d.SRPIXELFORMAT.SR_PF_SURFACE,_0xfb0f1f.pWaterImageParam[_0x2ed863].fAlpha)}}},{key:"SetPanoramaDisplayEffect",value:function(_0x53da8d){if("2d"===this.renderEngine||"2D"===this.renderEngine)return 0;if(null!=this.oVideoHandle){if(_0x53da8d!=this.panoramaDisplayEffect){this.panoramaDisplayEffect=_0x53da8d,this.oVideoHandle.SR_DelSubPort(this.mainVaildSubPort),this.oVideoHandle.SR_Destroy(),this.oVideoHandle=null,this.oVideoHandle=new _0x2f30ff,null==this.pFishParamManager&&(this.pFishParamManager=new _0x1b51fc),this.oVideoHandle.SR_SetFishParamManager(this.pFishParamManager),this.hasSetFECParamManager=!0;var _0x394dca=_0x35636d.SRDISPLAYEFFECT.SR_DE_NULL;if(_0x394dca=1==this.panoramaDisplayEffect?_0x35636d.SRDISPLAYEFFECT.SR_DE_PANORAMA_SPHERE:3==this.panoramaDisplayEffect?_0x35636d.SRDISPLAYEFFECT.SR_DE_PANORAMA_PLANET:_0x35636d.SRDISPLAYEFFECT.SR_DE_NULL,this.oVideoHandle.SR_Init(this.mainCanvasID,this.enPixelFormat),this.mainVaildSubPort=this.oVideoHandle.SR_AddSubPort(_0x394dca),-1==this.mainVaildSubPort)return console.info("%c InitDisplay SR_AddSubPort error subport:%d","color: red",this.mainVaildSubPort),0}}else this.panoramaDisplayEffect=_0x53da8d;return 1}},{key:"SetPanoramaSphereViewParam",value:function(_0x3012b3,_0x20dfa4){return"2d"===this.renderEngine||"2D"===this.renderEngine||null==_0x20dfa4||null==_0x20dfa4||_0x3012b3<1||_0x3012b3>3?0:(this.viewParamType=_0x3012b3,this.viewParamValue=_0x20dfa4,null!=this.oVideoHandle?(1!=this.panoramaDisplayEffect&&this.panoramaDisplayEffect,this.oVideoHandle.SR_SetViewParam(_0x3012b3,_0x20dfa4)!=_0x35636d.ERRCODE.SR_OK?0:1):0)}},{key:"GetPanoramaSphereViewParam",value:function(_0x5329bb,_0x2929f9){return"2d"===this.renderEngine||"2D"===this.renderEngine||null==_0x2929f9||null==_0x2929f9||_0x5329bb<1||_0x5329bb>3?0:null!=this.oVideoHandle?(1!=this.panoramaDisplayEffect&&this.panoramaDisplayEffect,_0x2929f9.fValue=-1,this.oVideoHandle.SR_GetViewParam(_0x5329bb,_0x2929f9)!=_0x35636d.ERRCODE.SR_OK?0:1):0}}]),_0x5cca11}(),_0x135987=function(){function _0x49373f(_0x427e4c,_0x1c4625){_0x3d26fc(this,_0x49373f),this.EncoderObj=null,this.FirstFrame=!0,this.frameRate=25,this.EncoderCurStatus=2,this.frameCounter=0,this.frameNum=0,this.stopEncodflag=!1,this.encodeFrameGlobalTime=[],this.oPlayCtrlHandle=null,null!=_0x427e4c&&(this.oPlayCtrlHandle=_0x427e4c),this.player=null,null!=_0x1c4625&&(this.player=_0x1c4625),this.output=this.output.bind(this),this.reportError=this.reportError.bind(this),this.userAgent=0,this.bWriteData=!1,this.aTotalBuffer=[],this.iFrameNum=0}return _0x49990c(_0x49373f,[{key:"initEncoder",value:function(_0x2486fc,_0x3f9a7f,_0x5d66ef){if(this.codecString=_0x2486fc,this.encodeWidth=_0x3f9a7f.encodeWidth,this.encodeHeight=_0x3f9a7f.encodeHeight,this.bitrate=_0x3f9a7f.bitrate,this.frameRate=_0x3f9a7f.frameRate,0==_0x3f9a7f.bitrateMode?this.bitrateMode="variable":this.bitrateMode="constant",0==_0x3f9a7f.latencyMode?this.latencyMode="realtime":this.latencyMode="quality",this.rawDataCB=_0x5d66ef,this.FirstFrame=!0,this.EncoderCurStatus=2,this.frameCounter=0,this.frameNum=0,this.stopEncodflag=!1,null==this.EncoderObj){var _0x38b753={output:this.output,error:this.reportError};this.EncoderObj=new VideoEncoder(_0x38b753)}this.format="annexb";var _0x1d5d32=navigator.userAgent||navigator.vendor||window.opera;_0x1d5d32.indexOf("Windows NT")>-1?this.userAgent=0:_0x1d5d32.indexOf("Linux")>-1?this.userAgent=1:_0x1d5d32.indexOf("Mac OS X")>-1?(this.userAgent=2,this.format="avc"):/Android/.test(_0x1d5d32)?this.userAgent=3:/like Mac OS X/.test(_0x1d5d32)?this.userAgent=4:this.userAgent=0;var _0x4a8891={codec:_0x2486fc,width:this.encodeWidth,height:this.encodeHeight,displayWidth:this.encodeWidth,displayHeight:this.encodeHeight,bitrate:this.bitrate,framerate:this.frameRate,bitrateMode:this.bitrateMode,latencyMode:this.latencyMode,avc:{format:this.format}};console.log("1videoEncode config width:"+this.encodeWidth+",height:"+this.encodeHeight+",bitrate:"+this.bitrate+",framerate:"+this.frameRate+",bitrateMode:"+this.bitrateMode+",latencMode:"+this.latencyMode),this.EncoderObj.configure(_0x4a8891)}},{key:"inputData",value:function(_0x558cb6,_0x690f52){null==this.EncoderObj||this.stopEncodflag||("configured"==this.EncoderObj.state||this.FirstFrame)&&this.EncodeProcess(_0x558cb6,_0x690f52)}},{key:"EncodeProcess",value:function(_0x360a6f,_0x3dd4d5){if(4!=this.EncoderCurStatus&&null!=this.EncoderObj&&"configured"==this.EncoderObj.state&&this.EncoderObj.encodeQueueSize<10){var _0x268eea=this.frameCounter%50==0;1==_0x268eea&&this.encodeFrameGlobalTime.push(_0x3dd4d5),this.EncoderObj.encode(_0x360a6f,{keyFrame:_0x268eea}),this.frameCounter++}}},{key:"output",value:function(_0x273c96,_0x57d356){if("configured"==this.EncoderObj.state){_0x57d356.decoderConfig,_0x57d356.svc,_0x57d356.alphaSideData,_0x273c96.type;var _0x54cc01=_0x273c96.timestamp;if(_0x273c96.byteLength,!this.stopEncodflag){var _0x4e8e34=new Uint8Array(_0x273c96.byteLength);_0x273c96.copyTo(_0x4e8e34);var _0x21bdf2={dataType:1};if(_0x21bdf2.width=this.encodeWidth,_0x21bdf2.height=this.encodeHeight,_0x21bdf2.frameRate=this.frameRate,_0x21bdf2.timeStamp=_0x54cc01/1e3,_0x21bdf2.frameNum=this.frameNum,_0x21bdf2.bitrate=0,_0x21bdf2.globalTime={},"key"==_0x273c96.type){var _0x43ab97=this.encodeFrameGlobalTime.shift();"year"in _0x43ab97?(_0x21bdf2.globalTime.year=_0x43ab97.year,_0x21bdf2.globalTime.month=_0x43ab97.month,_0x21bdf2.globalTime.day=_0x43ab97.day,_0x21bdf2.globalTime.hour=_0x43ab97.hour,_0x21bdf2.globalTime.minute=_0x43ab97.minute,_0x21bdf2.globalTime.second=_0x43ab97.second,_0x21bdf2.globalTime.milliseconds=_0x43ab97.milliseconds):(_0x21bdf2.globalTime.year=2024,_0x21bdf2.globalTime.month=0,_0x21bdf2.globalTime.day=0,_0x21bdf2.globalTime.hour=0,_0x21bdf2.globalTime.minute=0,_0x21bdf2.globalTime.second=0,_0x21bdf2.globalTime.milliseconds=0)}var _0x37400d=null,_0x398d3f=new Uint8Array(4);_0x398d3f[0]=0,_0x398d3f[1]=0,_0x398d3f[2]=0,_0x398d3f[3]=1;var _0x2a8329=null,_0x59fe0f=0,_0x1b9981=null,_0x597fba=0,_0xb5fb5c=null,_0x4232e8=null,_0x5cd3a0=0,_0x9921ff=0,_0x31d5af=0;if("key"==_0x273c96.type){if("decoderConfig"in _0x57d356&&"description"in _0x57d356.decoderConfig&&(_0x4232e8=new Uint8Array(_0x57d356.decoderConfig.description)),2==this.userAgent){for(null!=_0x4232e8&&(_0x59fe0f=256*(_0x2a8329=_0x4232e8.slice(6,_0x4232e8.length))[0]+_0x2a8329[1],_0x1b9981=_0x2a8329.slice(2,2+_0x59fe0f),_0x597fba=256*_0x2a8329[3+_0x59fe0f]+_0x2a8329[4+_0x59fe0f],_0xb5fb5c=_0x2a8329.slice(5+_0x59fe0f,5+_0x59fe0f+_0x597fba),_0x59fe0f+=4,_0x597fba+=4);_0x9921ff<_0x4e8e34.length;)_0x31d5af=256*_0x4e8e34[_0x9921ff]*256*256+256*_0x4e8e34[_0x9921ff+1]*256+256*_0x4e8e34[_0x9921ff+2]+_0x4e8e34[_0x9921ff+3],_0x4e8e34[_0x9921ff]=0,_0x4e8e34[_0x9921ff+1]=0,_0x4e8e34[_0x9921ff+2]=0,_0x4e8e34[_0x9921ff+3]=1,_0x9921ff=_0x9921ff+4+_0x31d5af;_0x5cd3a0=_0x59fe0f+_0x597fba+_0x4e8e34.length,_0x37400d=new Uint8Array(_0x5cd3a0);var _0xcc5d8c=0;null!=_0x1b9981&&(_0x37400d.set(_0x398d3f,0),_0x37400d.set(_0x1b9981,_0x398d3f.length),_0xcc5d8c=_0x398d3f.length+_0x1b9981.length),null!=_0xb5fb5c&&(_0x37400d.set(_0x398d3f,_0xcc5d8c),_0x37400d.set(_0xb5fb5c,_0xcc5d8c+_0x398d3f.length),_0xcc5d8c=_0x398d3f.length+_0x1b9981.length+_0x398d3f.length+_0xb5fb5c.length),_0x37400d.set(_0x4e8e34,_0xcc5d8c),_0x21bdf2.rawData=_0x37400d}else{for(var _0x15ed61=_0x4e8e34.slice(6,_0x4e8e34.length),_0x417e5d=0;_0x417e5d<_0x15ed61.length&&(0!=_0x15ed61[_0x417e5d]||0!=_0x15ed61[_0x417e5d+1]||1!=_0x15ed61[_0x417e5d+2]||110!=_0x15ed61[_0x417e5d+3]);_0x417e5d++);_0x2a8329=_0x15ed61.slice(0,_0x417e5d);for(var _0x560d2e=_0x15ed61.slice(_0x417e5d,_0x15ed61.length),_0x1a2a64=0;_0x1a2a64<_0x560d2e.length&&(0!=_0x560d2e[_0x1a2a64]||0!=_0x560d2e[_0x1a2a64+1]||1!=_0x560d2e[_0x1a2a64+2]||101!=_0x560d2e[_0x1a2a64+3]);_0x1a2a64++);var _0x5cbc00=_0x560d2e.slice(_0x1a2a64-1,_0x560d2e.length);_0x5cbc00[0]=0,_0x5cd3a0=_0x2a8329.length+_0x5cbc00.length,(_0x37400d=new Uint8Array(_0x5cd3a0)).set(_0x2a8329,0),_0x37400d.set(_0x5cbc00,_0x2a8329.length),_0x15ed61=null,_0x560d2e=null,_0x5cbc00=null}_0x21bdf2.rawData=_0x37400d,this.player?this.rawDataCB&&this.rawDataCB(_0x21bdf2):postMessage({function:"VideoRecoderInfo",videoInfo:_0x21bdf2},[_0x21bdf2.rawData.buffer])}else{if(2==this.userAgent){for(;_0x9921ff<_0x4e8e34.length;)_0x31d5af=256*_0x4e8e34[_0x9921ff]*256*256+256*_0x4e8e34[_0x9921ff+1]*256+256*_0x4e8e34[_0x9921ff+2]+_0x4e8e34[_0x9921ff+3],_0x4e8e34[_0x9921ff]=0,_0x4e8e34[_0x9921ff+1]=0,_0x4e8e34[_0x9921ff+2]=0,_0x4e8e34[_0x9921ff+3]=1,_0x9921ff=_0x9921ff+4+_0x31d5af;_0x21bdf2.rawData=_0x4e8e34}else _0x21bdf2.rawData=_0x4e8e34;this.player?this.rawDataCB&&this.rawDataCB(_0x21bdf2):postMessage({function:"VideoRecoderInfo",videoInfo:_0x21bdf2},[_0x21bdf2.rawData.buffer])}_0x4e8e34=null,_0x37400d=null,_0x398d3f=null,_0x2a8329=null,_0x1b9981=null,_0xb5fb5c=null,_0x4232e8=null,this.frameNum++}}}},{key:"_downloadFile",value:function(_0x2fa9d7,_0x4fd7cb){var _0x17882b=_0x2fa9d7;_instanceof(_0x2fa9d7,Blob)||_instanceof(_0x2fa9d7,File)||(_0x17882b=new Blob([_0x2fa9d7]));var _0x292936=window.URL.createObjectURL(_0x17882b),_0x4a1988=window.document.createElement("a");_0x4a1988.href=_0x292936,_0x4a1988.download=_0x4fd7cb;var _0x3b5c1c=document.createEvent("MouseEvents");_0x3b5c1c.initEvent("click",!0,!0),_0x4a1988.dispatchEvent(_0x3b5c1c)}},{key:"downloadData",value:function(_0x8f0505){if(this.bWriteData){for(var _0x30d3c4=_0x8f0505,_0x3318ca=this.aTotalBuffer.length,_0x2411e7=0,_0x2fdf4d=_0x30d3c4.length;_0x2411e7<_0x2fdf4d;_0x2411e7++)this.aTotalBuffer[_0x3318ca+_0x2411e7]=_0x30d3c4[_0x2411e7];this.iFrameNum++,_0x30d3c4=null,console.log("downloadEncodedata iFrameNum:"+this.iFrameNum)}if(this.bWriteData&&(this.iFrameNum>=600||this.stopEncodflag)){console.log("download600encodeData");var _0x4a264c=new Uint8Array(this.aTotalBuffer);this._downloadFile(_0x4a264c,"Encode600.data"),this.aTotalBuffer.splice(0,this.aTotalBuffer.length),this.bWriteData=!1,this.iFrameNum=0,_0x4a264c=null}}},{key:"stopEncode",value:function(){if(this.EncoderCurStatus=4,this.frameCounter=0,this.frameNum=0,this.stopEncodflag=!0,this.destroyEncoder(),this.bWriteData&&this.stopEncodflag){console.log("download600encodeData");var _0x4e5137=new Uint8Array(this.aTotalBuffer);this._downloadFile(_0x4e5137,"Encode600.data"),this.aTotalBuffer.splice(0,this.aTotalBuffer.length),this.bWriteData=!1,this.iFrameNum=0,_0x4e5137=null}}},{key:"reportError",value:function(_0x5b2be2){console.log("hardEncode reportError:"+_0x5b2be2.message+",state:"+this.EncoderObj.state+",frameRate:"+this.frameRate)}},{key:"destroyEncoder",value:function(){var _0x34a71f=this;return new Promise((function(_0x5874e6,_0x4fd676){_0x34a71f.clearEncoderObjBuffer().then((function(){null!=_0x34a71f.EncoderObj&&("closed"!=_0x34a71f.EncoderObj.state&&_0x34a71f.EncoderObj.close(),console.log(">>>JS 11 destroy VideoEncoderObj"),_0x34a71f.EncoderObj=null),_0x34a71f.EncoderCurStatus=4,_0x34a71f.FirstFrame=!0,_0x5874e6()}),(function(){_0x4fd676()}))}))}},{key:"resetEncoder",value:function(){var _0x99b542=this;return new Promise((function(_0x37266f,_0x6021a9){_0x99b542.destroyEncoder().then((function(){var _0x22ca5e={encodeWidth:_0x99b542.encodeWidth,encodeHeight:_0x99b542.encodeHeight,bitrate:_0x99b542.bitrate,frameRate:_0x99b542.frameRate,bitrateMode:_0x99b542.bitrateMode,latencyMode:_0x99b542.latencyMode};_0x99b542.initEncoder(_0x99b542.codecString,_0x22ca5e,_0x99b542.rawDataCB),console.log("%c reset hard Encoder","color:red"),_0x37266f()}),(function(){_0x6021a9()}))}))}},{key:"clearEncoderObjBuffer",value:function(){var _0x2312c7=this;return new Promise((function(_0x24ff25,_0x34fc2d){null!=_0x2312c7.EncoderObj&&"configured"==_0x2312c7.EncoderObj.state&&_0x2312c7.EncoderObj.reset(),_0x24ff25()}))}}]),_0x49373f}(),_0x554c2d=function(){function _0x50a479(_0x2e8e01,_0x4ce9a0){_0x3d26fc(this,_0x50a479),this.AudioEncoderObj=null,this.FirstFrame=!0,this.EncoderCurStatus=2,this.stopEncodflag=!1,this.aTimeStamp=0,this.oPlayCtrlHandle=null,null!=_0x2e8e01&&(this.oPlayCtrlHandle=_0x2e8e01),this.player=null,null!=_0x4ce9a0&&(this.player=_0x4ce9a0),this.output=this.output.bind(this),this.reportError=this.reportError.bind(this)}var _0x59e79a;return _0x49990c(_0x50a479,[{key:"initEncoder",value:(_0x59e79a=_0x2ac013(_0x47759b().mark((function _0x4e75d4(_0x426b10,_0x37f48b,_0x5a674f){var _0x212c60,_0x15bebc;return _0x47759b().wrap((function(_0x453753){for(;;)switch(_0x453753.prev=_0x453753.next){case 0:this.codecString=_0x426b10,this.sampleRate=_0x37f48b.sampleRate,this.numberOfChannels=_0x37f48b.numberOfChannels,this.bitrate=_0x37f48b.bitrate,this.AudioDataCB=_0x5a674f,this.FirstFrame=!0,this.EncoderCurStatus=2,this.stopEncodflag=!1,this.aTimeStamp=0,null==this.AudioEncoderObj&&(_0x212c60={output:this.output,error:this.reportError},this.AudioEncoderObj=new AudioEncoder(_0x212c60)),this.format="adts",_0x15bebc={codec:_0x426b10,sampleRate:this.sampleRate,numberOfChannels:this.numberOfChannels,bitrate:this.bitrate,aac:{format:this.format}},console.log("2audioEncode config sampleRate:"+this.sampleRate+",numberOfChannels:"+this.numberOfChannels+",bitrate:"+this.bitrate),this.AudioEncoderObj.configure(_0x15bebc);case 14:case"end":return _0x453753.stop()}}),_0x4e75d4,this)}))),function(_0x19996d,_0x1b3feb,_0x362bac){return _0x59e79a.apply(this,arguments)})},{key:"inputData",value:function(_0x306b55){null!=this.AudioEncoderObj&&("configured"==this.AudioEncoderObj.state||this.FirstFrame)&&this.EncodeProcess(_0x306b55),this.FirstFrame&&(1==this.oPlayCtrlHandle.recoderBaseTimestampMode?this.audioBaseTimeStamp=_0x306b55.timestamp:0==this.oPlayCtrlHandle.recoderBaseTimestampMode&&(this.audioBaseTimeStamp=0),this.FirstFrame=!1)}},{key:"EncodeProcess",value:function(_0x3d32a1){4!=this.EncoderCurStatus&&null!=this.AudioEncoderObj&&"configured"==this.AudioEncoderObj.state&&this.AudioEncoderObj.encode(_0x3d32a1)}},{key:"output",value:function(_0x213eab,_0x38319f){if("configured"==this.AudioEncoderObj.state&&(_0x213eab.type,_0x213eab.timestamp,_0x213eab.byteLength,!this.stopEncodflag)){this.aTimeStamp+=_0x213eab.duration/1e3;var _0x1b7801={dataType:2,width:1,height:16,frameRate:48e3};_0x1b7801.timeStamp=this.aTimeStamp+this.audioBaseTimeStamp,_0x1b7801.frameNum=0,_0x1b7801.bitrate=128e3,_0x1b7801.globalTime={};var _0xebdcff=new Uint8Array(_0x213eab.byteLength);_0x213eab.copyTo(_0xebdcff),_0x1b7801.rawData=_0xebdcff,this.player?null!=this.AudioDataCB&&this.AudioDataCB(_0x1b7801):postMessage({function:"AudioRecoderInfo",audioInfo:_0x1b7801},[_0x1b7801.rawData.buffer]),_0xebdcff=null}}},{key:"stopEncode",value:function(){this.stopEncodflag=!0,this.destroyEncoder()}},{key:"reportError",value:function(_0x399dd1){console.log("hardEncode reportError:"+_0x399dd1.message+",state:"+this.AudioEncoderObj.state)}},{key:"destroyEncoder",value:function(){var _0x144622=this;return new Promise((function(_0x81e760,_0x97a44){_0x144622.clearEncoderObjBuffer().then((function(){null!=_0x144622.AudioEncoderObj&&("closed"!=_0x144622.AudioEncoderObj.state&&_0x144622.AudioEncoderObj.close(),console.log(">>>JS 12 destroy AudioEncoderObj"),_0x144622.AudioEncoderObj=null),_0x144622.EncoderCurStatus=4,_0x144622.FirstFrame=!0,_0x81e760()}),(function(){_0x97a44()}))}))}},{key:"resetEncoder",value:function(){var _0x390009=this;return new Promise((function(_0x440948,_0x8a595){_0x390009.destroyEncoder().then((function(){var _0xcbc6bd={sampleRate:_0x390009.sampleRate,numberOfChannels:_0x390009.numberOfChannels,bitrate:_0x390009.bitrate};_0x390009.initEncoder(_0x390009.codecString,_0xcbc6bd,_0x390009.AudioDataCB),console.log("%c reset hard Encoder","color:red"),_0x440948()}),(function(){_0x8a595()}))}))}},{key:"clearEncoderObjBuffer",value:function(){var _0x5607bf=this;return new Promise((function(_0x43273d,_0x5869d6){null!=_0x5607bf.AudioEncoderObj&&"configured"==_0x5607bf.AudioEncoderObj.state&&_0x5607bf.AudioEncoderObj.reset(),_0x43273d()}))}}]),_0x50a479}(),_0x3efc8c=function(){function _0x2b7211(){var _0x5d9d90=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;_0x3d26fc(this,_0x2b7211),this.canvas=null,this.streamOpenMode=0,this.context=null,this.oVideoDecoder=null,this.frameBuffers=[],this.initTimer=!1,this.preTimeStamp=0,this.baseTimeStamp=0,this.resetTimer=!0,this.RenderFrame=this.RenderFrame.bind(this),this.renderCurStatus=2,this.renderLastStatus=2,this.playSpeed=1,this.nplaySpeed=1,this.displayBuf=14,this.needForward=!1,this.firstFrame=!0,this.LatcyTime=50,this.nFrameRate=0,this.needSaveFrameInfo=!1,this.displayFrameInfoCB=null,this.displayFrameInfo=[],this.curFrameInfo={},this.curFrameInfo.timeStamp=0,this.bResetdisplayFrameInfoCB=!0,this.sx=0,this.sy=0,this.sw=0,this.sh=0,this.displayRunning=!1,this.oRenderTimer=null,this.waitIFrameTimestamp=0,this.curFrame=null,this.player=null,null!=_0x5d9d90&&(this.player=_0x5d9d90),this.renderEngine="webgl",this.oVideoRender=null,this.FECCanvasID="",this.oVideoRender=new _0x204b07(this),this.bSetStreamEnd=!1,this.printfFlag=0,this.oVideoEncoder=null,this.oAudioEncoder=null,this.startRecoderFlag=!1,this.stopRecoderFlag=!1,this.recoderFrameNum=0,this.vBaseTimeStamp=0,this.encodeVideoInfo={encodeVideoType:"avc",encodeWidth:1280,encodeHeight:720,bitrate:1e6,frameRate:25,bitrateMode:0,latencyMode:0},this.encodeAudioInfo={encodeAudioType:"aac",sampleRate:48e3,numberOfChannels:1,bitrate:128e3},this.recoderBaseTimestampMode=0,this.recoderGetOriginData=0,this.nstreamEndloopNum=0,this.runtimeCBFun=null,this.nTargetRelativePos=0,this.ProcessPositionflag=!1,this.nMPPlayMode=0,this.nMPPosType=0,this.VideoPrivateInfoMap=new Map,this.curPrivateInfo={},this.curPrivateInfo.linesInfo=[],this.curPrivateInfo.fontInfo=[],this.curPrivateInfo.imageInfo=[],this.StretchPlayTime=0,this.StretchPlayedTime=0,this.StretchPlaySpeed=1,this.StretchPlayFlag=!1,this.Prevideowidth=0,this.Prevideoheight=0,this.PrecodecType=0,this.PlayOrBackMode=1,this.pstRuntimeInfo={nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:0,nInputDataInterval:0,nFrameNumInterval:0,nAverageDecodeTime:0,nSystemFormat:0,nDetectRes:0,nMp4FileTime:0,nMp4TotalFrameNum:0,AbsTimeYear:0,AbsTimeMonth:0,AbsTimeDay:0,AbsTimeHour:0,AbsTimeMinute:0,AbsTimeSecond:0,AbsTimeMilliseconds:0},this.firstRenderBegin=!0,this.DecodeTypeFlagMap=new Map,this.RenderTypeFlagMap=new Map}var _0x19949d,_0x224e76;return _0x49990c(_0x2b7211,[{key:"init",value:function(_0x141e9c,_0x5d0eb6,_0x445b9e,_0x46401d,_0xc15091){if(this.canvas=_0x141e9c,this.streamOpenMode=_0x5d0eb6,this.renderEngine=_0x46401d,this.printfFlag=_0xc15091,this.SetCurStatus(2),null==this.oVideoDecoder&&(this.oVideoDecoder=new _0x34b0b9(_0x445b9e,this,this.player,this.canvas),null!==this.oVideoDecoder&&this.oVideoDecoder.initDecoder(),null!=this.runtimeCBFun&&this.oVideoDecoder.SetRunTimeInfoCallBackFun(2,this.runtimeCBFun),this.DecodeTypeFlagMap.size>0)){var _0x2addd4,_0x559bfc=_0x152796(this.DecodeTypeFlagMap.keys());try{for(_0x559bfc.s();!(_0x2addd4=_0x559bfc.n()).done;){var _0x3972b7=_0x2addd4.value,_0x249f1b=this.DecodeTypeFlagMap.get(_0x3972b7);1==_0x249f1b&&this.oVideoDecoder.SetRunTimeInfoCallbackType(2,_0x3972b7,_0x249f1b)}}catch(_0x392a23){_0x559bfc.e(_0x392a23)}finally{_0x559bfc.f()}}""!=this.canvas&&null!=this.canvas&&(this.frameBuffers=this.oVideoDecoder.ready_frames,null!=this.oVideoRender&&this.oVideoRender.InitDisplay(this.canvas,this.renderEngine,256),null==this.oRenderTimer&&(this.oRenderTimer=new _0x2b1931))}},{key:"HardDecodeError",value:function(){return this.player._switchHardToSoft(),1}},{key:"inputData",value:function(_0xb349f6,_0x2ed6ec){if(this.curPrivateInfo.linesInfo.length>0||this.curPrivateInfo.fontInfo.length>0||this.curPrivateInfo.imageInfo.length>0){var _0x2f213a=this.deepClone(this.curPrivateInfo);this.VideoPrivateInfoMap.set(_0x2ed6ec.timeStamp,_0x2f213a),this.curPrivateInfo.linesInfo.splice(0,this.curPrivateInfo.linesInfo.length),this.curPrivateInfo.fontInfo.splice(0,this.curPrivateInfo.fontInfo.length),this.curPrivateInfo.imageInfo.splice(0,this.curPrivateInfo.imageInfo.length)}if(0!=this.PrecodecType&&this.PrecodecType!=_0x2ed6ec.codecType&&(this.firstFrame=!0,this.oVideoDecoder.resetDecoderObj()),this.needSaveFrameInfo){var _0x370620=new Object;_0x370620.port=_0x2ed6ec.port,_0x370620.codecType=_0x2ed6ec.codecType,_0x370620.frameType=_0x2ed6ec.frameType,_0x370620.frameSize=_0x2ed6ec.frameSize,_0x370620.width=_0x2ed6ec.width,_0x370620.height=_0x2ed6ec.height,_0x370620.timeStamp=_0x2ed6ec.timeStamp,_0x370620.frameRate=_0x2ed6ec.frameRate,_0x370620.frameNum=_0x2ed6ec.frameNum,_0x370620.interlace=_0x2ed6ec.interlace,_0x370620.streamEnd=_0x2ed6ec.streamEnd,_0x370620.cropLeft=_0x2ed6ec.cropLeft,_0x370620.cropRight=_0x2ed6ec.cropRight,_0x370620.cropTop=_0x2ed6ec.cropTop,_0x370620.cropBottom=_0x2ed6ec.cropBottom,_0x370620.year=_0x2ed6ec.year,_0x370620.month=_0x2ed6ec.month,_0x370620.week=_0x2ed6ec.week,_0x370620.day=_0x2ed6ec.day,_0x370620.hour=_0x2ed6ec.hour,_0x370620.minute=_0x2ed6ec.minute,_0x370620.second=_0x2ed6ec.second,_0x370620.milliseconds=_0x2ed6ec.milliseconds,_0x370620.isKeyFrame=_0x2ed6ec.isKeyFrame,this.nFrameRate=_0x370620.frameRate,this.Prevideowidth=_0x2ed6ec.width,this.Prevideoheight=_0x2ed6ec.height,this.PrecodecType=_0x2ed6ec.codecType,this.displayFrameInfo.push(_0x370620),_0x370620=null}else this.displayFrameInfo.splice(0,this.displayFrameInfo.length);null!=this.oVideoDecoder&&this.oVideoDecoder.inputData(_0xb349f6,_0x2ed6ec)}},{key:"_resetDecoder",value:function(){var _0x268d28=this;return new Promise((function(_0x8f2630,_0xc42981){_0x268d28.oVideoDecoder.resetDecoder().then((function(){_0x268d28.displayFrameInfo.splice(0,_0x268d28.displayFrameInfo.length),_0x268d28.curFrameInfo={},_0x268d28.oVideoRender.DeInitPrivateParam(),_0x268d28.VideoPrivateInfoMap.clear(),_0x268d28.curPrivateInfo.linesInfo.splice(0,_0x268d28.curPrivateInfo.linesInfo.length),_0x268d28.curPrivateInfo.fontInfo.splice(0,_0x268d28.curPrivateInfo.fontInfo.length),_0x268d28.curPrivateInfo.imageInfo.splice(0,_0x268d28.curPrivateInfo.imageInfo.length),_0x268d28.renderCurStatus=2,_0x268d28.renderLastStatus=2,_0x268d28.player?_0x268d28.player.JSPlayM4_ResetEnd():postMessage({function:"resetEnd"}),_0x8f2630()}),(function(){_0xc42981()}))}))}},{key:"_resetRenderTimer",value:function(){this.initTimer=!1,this.preTimeStamp=0,this.baseTimeStamp=0,this.resetTimer=!0,null!=this.oRenderTimer&&this.oRenderTimer.timerReset(),this.RenderFrame=this.RenderFrame.bind(this),this.renderCurStatus=2,this.renderLastStatus=2,this.curTimeStamp=0,this.getImageJPEG=!1,this.getImageBMP=!1,this.getCropImageJPEG=!1,this.getCropImageBMP=!1,1==this.bResetdisplayFrameInfoCB&&(this.displayFrameInfoCB=null),this.displayFrameInfo.splice(0,this.displayFrameInfo.length),this.VideoPrivateInfoMap.clear(),this.curPrivateInfo.linesInfo.splice(0,this.curPrivateInfo.linesInfo.length),this.curPrivateInfo.fontInfo.splice(0,this.curPrivateInfo.fontInfo.length),this.curPrivateInfo.imageInfo.splice(0,this.curPrivateInfo.imageInfo.length),this.curFrameInfo={},this.DecodeTypeFlagMap.clear(),this.RenderTypeFlagMap.clear()}},{key:"_destroyPlayCtrl",value:function(){var _0x8cd6f8=this;this.oVideoDecoder.destroyDecoder().then((function(){_0x8cd6f8.oVideoDecoder=null,null!=_0x8cd6f8.oVideoRender&&(_0x8cd6f8.oVideoRender.ReleaseDisplay(),_0x8cd6f8.oVideoRender=null),_0x8cd6f8._resetRenderTimer(),_0x8cd6f8.oRenderTimer=null,_0x8cd6f8.displayRunning=!1,_0x8cd6f8.runtimeCBFun=null,_0x8cd6f8.printfFlag>=0&&console.log(">>>JS 02 destroy oVideoDecoder/oVideoRender"),null!=_0x8cd6f8.oVideoEncoder&&(_0x8cd6f8.oVideoEncoder.destroyEncoder(),_0x8cd6f8.oVideoEncoder=null),null!=_0x8cd6f8.oAudioEncoder&&(_0x8cd6f8.oAudioEncoder.destroyEncoder(),_0x8cd6f8.oAudioEncoder=null)}),(function(){_0x8cd6f8.printfFlag>=0&&console.log("stop failed ")}))}},{key:"Sleep",value:(_0x224e76=_0x2ac013(_0x47759b().mark((function _0x4d31f9(_0x109f33){var _0x340e67;return _0x47759b().wrap((function(_0x54feb8){for(;;)switch(_0x54feb8.prev=_0x54feb8.next){case 0:return _0x340e67=(_0x340e67=_0x109f33>6e4?6e4:_0x109f33)<0?0:_0x340e67,_0x54feb8.abrupt("return",new Promise((function(_0x41dfb4){setTimeout(_0x41dfb4,_0x340e67)})));case 3:case"end":return _0x54feb8.stop()}}),_0x4d31f9)}))),function(_0x5911ce){return _0x224e76.apply(this,arguments)})},{key:"RenderFrame",value:(_0x19949d=_0x2ac013(_0x47759b().mark((function _0x1e4ddb(){var _0x1df0b0,_0x11345e=this;return _0x47759b().wrap((function(_0x1b39af){for(;;)switch(_0x1b39af.prev=_0x1b39af.next){case 0:_0x1df0b0=this.renderCurStatus,null!=this.oVideoDecoder&&null!=this.oVideoDecoder.decoderObj&&(this.player?this.player.JSPlayM4_GetDecodeBufferSize(this.oVideoDecoder.decoderObj.decodeQueueSize,this.oVideoDecoder.ready_frames.length):postMessage({function:"GetDecodeBufferSize",rawSize:this.oVideoDecoder.decoderObj.decodeQueueSize,frameSize:this.oVideoDecoder.ready_frames.length}),this.oVideoDecoder.decoderObj.decodeQueueSize<=3&&this.oVideoDecoder.ready_frames.length<=3&&(this.player?this.player.JSPlayM4_GetRawData():postMessage({function:"GetRawData"})),this.printfFlag>0&&console.log("VideoPlayCtrl.js output1 cb decodeQueueSize:"+this.oVideoDecoder.decoderObj.decodeQueueSize+",length:"+this.oVideoDecoder.ready_frames.length)),_0x1b39af.t0=_0x1df0b0,_0x1b39af.next=0===_0x1b39af.t0?5:2===_0x1b39af.t0||6===_0x1b39af.t0?8:3===_0x1b39af.t0?10:5===_0x1b39af.t0?13:4===_0x1b39af.t0?15:17;break;case 5:return this._resetRenderTimer(),this._resetDecoder().then((function(){requestAnimationFrame(_0x11345e.RenderFrame)}),(function(){})),_0x1b39af.abrupt("break",18);case 8:return this.displayRunning?(this.printfFlag>0&&console.log("displayBuf:"+this.displayBuf+",this.streamOpenMode:"+this.streamOpenMode+",LatcyTime:"+this.LatcyTime),this.chooseFrame().then((function(_0x5be9a0){if(_0x11345e.curFrame=_0x5be9a0,1==_0x11345e.ProcessPositionflag)if(null!=_0x11345e.curFrame){var _0x598d6d=0;if(1==_0x11345e.nMPPosType&&(_0x598d6d=_0x11345e.findFramebyTime(_0x11345e.curFrame.timestamp,0).frameNum),0==_0x11345e.nMPPosType&&_0x11345e.curFrame.timestamp<_0x11345e.nTargetRelativePos||1==_0x11345e.nMPPosType&&_0x598d6d<_0x11345e.nTargetRelativePos)requestAnimationFrame(_0x11345e.RenderFrame);else{if(_0x11345e.ProcessPositionflag=!1,_0x11345e.player.needPlaySound&&_0x11345e.player.JSPlayM4_PlaySound(),_0x11345e.paint(_0x11345e.curFrame),_0x11345e.curTimeStamp=_0x11345e.curFrame.timestamp,null!=_0x11345e.player){var _0x4ab410={nRes:1};_0x4ab410.nRelativePos=_0x11345e.nTargetRelativePos,null!=_0x11345e.player.SetPlayPosCBFun?_0x11345e.player.SetPlayPosCBFun(_0x4ab410):postMessage({function:"SetPlayPosCB",value:_0x11345e.nTargetRelativePos})}1==_0x11345e.nMPPlayMode&&_0x11345e.SetCurStatus(3),_0x11345e.RenderFrame()}}else requestAnimationFrame(_0x11345e.RenderFrame);else if(-1==_0x11345e.displayBuf||0==_0x11345e.streamOpenMode&&0==_0x11345e.LatcyTime)null!=_0x11345e.curFrame&&(_0x11345e.curTimeStamp=_0x11345e.curFrame.timestamp,_0x11345e.paint(_0x11345e.curFrame)),requestAnimationFrame(_0x11345e.RenderFrame);else if(null!=_0x11345e.curFrame){_0x11345e.initTimer&&!_0x11345e.resetTimer||(_0x11345e.oRenderTimer.Init(),_0x11345e.initTimer=!0,_0x11345e.resetTimer=!1,_0x11345e.preTimeStamp=_0x11345e.curFrame.timestamp,_0x11345e.baseTimeStamp=_0x11345e.curFrame.timestamp,1==_0x11345e.streamOpenMode&&(_0x11345e.LatcyTime=0)),_0x11345e.curTimeStamp=_0x11345e.curFrame.timestamp;var _0x59354e=0,_0x246c93=0;6==_0x1df0b0?(_0x59354e=_0x11345e.preTimeStamp-_0x11345e.curTimeStamp,_0x246c93=_0x11345e.baseTimeStamp-_0x11345e.curTimeStamp):(_0x59354e=_0x11345e.curTimeStamp-_0x11345e.preTimeStamp,_0x246c93=_0x11345e.curTimeStamp-_0x11345e.baseTimeStamp);var _0x8e9695,_0x2dea79=_0x11345e.oRenderTimer.GetTimerWalk();(_0x59354e>5e3||_0x59354e<0||_0x246c93<0||_0x2dea79<=0)&&(_0x11345e.oRenderTimer.Init(),_0x11345e.preTimeStamp=_0x11345e.curFrame.timestamp,_0x11345e.baseTimeStamp=_0x11345e.curTimeStamp,_0x246c93=6==_0x1df0b0?_0x11345e.baseTimeStamp-_0x11345e.curTimeStamp:_0x11345e.curTimeStamp-_0x11345e.baseTimeStamp,_0x2dea79=_0x11345e.oRenderTimer.GetTimerWalk()),_0x8e9695=_0x11345e.StretchPlayFlag?_0x11345e.StretchPlaySpeed:_0x11345e.playSpeed;var _0x2424ad=(_0x246c93+_0x11345e.LatcyTime)/_0x8e9695-_0x2dea79;_0x11345e.printfFlag>0&&console.log("baseTimerWalk:"+_0x2dea79+",lDeta:"+_0x2424ad+",Date :"+(new Date).getFullYear()+"/"+((new Date).getMonth()+1)+"/"+(new Date).getDate()+" "+(new Date).getHours()+"-"+(new Date).getMinutes()+"-"+(new Date).getSeconds()+"-"+(new Date).getMilliseconds()),_0x2424ad<15&&_0x2424ad>-15||_0x2424ad<0?(_0x11345e.StretchPlayFlag&&_0x11345e.VideoStretchProcess(_0x11345e.curTimeStamp),_0x11345e.paint(_0x11345e.curFrame),_0x11345e.preTimeStamp=_0x11345e.curTimeStamp,_0x11345e.RenderFrame()):_0x11345e.Sleep(_0x2424ad-5).then((function(){2!=_0x11345e.renderCurStatus&&6!=_0x11345e.renderCurStatus||(_0x11345e.StretchPlayFlag&&_0x11345e.VideoStretchProcess(_0x11345e.curTimeStamp),_0x11345e.paint(_0x11345e.curFrame),_0x11345e.preTimeStamp=_0x11345e.curTimeStamp),_0x11345e.RenderFrame()}))}else requestAnimationFrame(_0x11345e.RenderFrame)}))):requestAnimationFrame(this.RenderFrame),_0x1b39af.abrupt("break",18);case 10:return this._refresh(),requestAnimationFrame(this.RenderFrame),_0x1b39af.abrupt("break",18);case 13:return this.needForward?this.chooseFrame().then((function(_0x5b2af0){_0x11345e.curFrame=_0x5b2af0,null!=_0x11345e.curFrame&&(_0x11345e.curTimeStamp=_0x11345e.curFrame.timestamp,_0x11345e.paint(_0x11345e.curFrame),_0x11345e.needForward=!1),requestAnimationFrame(_0x11345e.RenderFrame)})):(this._refresh(),requestAnimationFrame(this.RenderFrame)),_0x1b39af.abrupt("break",18);case 15:return this._destroyPlayCtrl(),_0x1b39af.abrupt("return");case 17:return _0x1b39af.abrupt("return");case 18:case"end":return _0x1b39af.stop()}}),_0x1e4ddb,this)}))),function(){return _0x19949d.apply(this,arguments)})},{key:"paint",value:function(_0x172013){var _0x2850bd=this,_0x5a218d=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Promise((function(_0x183a6d,_0xbab242){if(4==_0x2850bd.renderCurStatus||null==_0x172013||null==_0x2850bd.oVideoRender||1==_0x2850bd.ProcessPositionflag||null==_0x172013.timestamp)_0x183a6d();else{_0x2850bd.waitIFrameTimestamp===_0x172013.timestamp&&(_0x2850bd.resetTimer=!0);var _0x20892b,_0x2402e5={};_0x20892b=null!=_0x172013.image&&null!=_0x172013.image?_0x172013.image:_0x172013,_0x2402e5.nCropLeft=0,_0x2402e5.nCropRight=0,_0x2402e5.nCropTop=0,_0x2402e5.nCropBottom=0,_0x2402e5.nCodeWidth=_0x172013.displayWidth,_0x2402e5.nCodeHeight=_0x172013.displayHeight;var _0x3f9040={x:0,y:0};if(_0x3f9040.width=_0x172013.displayWidth,_0x3f9040.height=_0x172013.displayHeight,_0x2850bd.RenderTypeFlagMap.size>0){var _0x3baebc,_0x364a35=_0x152796(_0x2850bd.RenderTypeFlagMap.keys());try{for(_0x364a35.s();!(_0x3baebc=_0x364a35.n()).done;){var _0x10a400=_0x3baebc.value;if(520093697==_0x10a400&&1==_0x2850bd.RenderTypeFlagMap.get(_0x10a400)&&null!=_0x2850bd.runtimeCBFun&&1==_0x2850bd.firstRenderBegin){if(_0x2850bd.pstRuntimeInfo.nRunTimeModule=3,_0x2850bd.pstRuntimeInfo.nStrVersion=1,_0x2850bd.pstRuntimeInfo.nFrameTimeStamp=_0x172013.timestamp,_0x2850bd.pstRuntimeInfo.nFrameNum=0,_0x2850bd.pstRuntimeInfo.nErrorCode=520093697,_0x2850bd.pstRuntimeInfo.nInputDataInterval=0,_0x2850bd.pstRuntimeInfo.nFrameNumInterval=0,_0x2850bd.pstRuntimeInfo.nAverageDecodeTime=0,1==_0x5a218d)_0x2850bd.pstRuntimeInfo.AbsTimeYear=_0x2850bd.curFrameInfo.year,_0x2850bd.pstRuntimeInfo.AbsTimeMonth=_0x2850bd.curFrameInfo.month,_0x2850bd.pstRuntimeInfo.AbsTimeDay=_0x2850bd.curFrameInfo.day,_0x2850bd.pstRuntimeInfo.AbsTimeHour=_0x2850bd.curFrameInfo.hour,_0x2850bd.pstRuntimeInfo.AbsTimeMinute=_0x2850bd.curFrameInfo.minute,_0x2850bd.pstRuntimeInfo.AbsTimeSecond=_0x2850bd.curFrameInfo.second,_0x2850bd.pstRuntimeInfo.AbsTimeMilliseconds=_0x2850bd.curFrameInfo.milliseconds;else{var _0x56da7d=new Object;_0x56da7d=_0x2850bd.findFramebyTime(_0x172013.timestamp,0),_0x2850bd.pstRuntimeInfo.AbsTimeYear=_0x56da7d.year,_0x2850bd.pstRuntimeInfo.AbsTimeMonth=_0x56da7d.month,_0x2850bd.pstRuntimeInfo.AbsTimeDay=_0x56da7d.day,_0x2850bd.pstRuntimeInfo.AbsTimeHour=_0x56da7d.hour,_0x2850bd.pstRuntimeInfo.AbsTimeMinute=_0x56da7d.minute,_0x2850bd.pstRuntimeInfo.AbsTimeSecond=_0x56da7d.second,_0x2850bd.pstRuntimeInfo.AbsTimeMilliseconds=_0x56da7d.milliseconds}_0x2850bd.runtimeCBFun(_0x2850bd.pstRuntimeInfo),_0x2850bd.firstRenderBegin=!1}}}catch(_0x3870c2){_0x364a35.e(_0x3870c2)}finally{_0x364a35.f()}}_0x2850bd.oVideoRender.DisplayFrame(_0x20892b,_0x172013.displayWidth,_0x172013.displayHeight,_0x172013.timestamp,_0x2402e5,null,_0x2850bd.nFrameRate,_0x5a218d).then((function(_0x38d0c7){var _0x3c8e27=_0x38d0c7.timestamp,_0xb446a9=_0x38d0c7.DrawRet;if(_0x2850bd.RenderTypeFlagMap.size>0&&1!=_0xb446a9){var _0x5a42bc,_0x2aa16d=_0x152796(_0x2850bd.RenderTypeFlagMap.keys());try{for(_0x2aa16d.s();!(_0x5a42bc=_0x2aa16d.n()).done;){var _0x454712=_0x5a42bc.value;16==_0x454712&&1==_0x2850bd.RenderTypeFlagMap.get(_0x454712)&&null!=_0x2850bd.runtimeCBFun&&(_0x2850bd.pstRuntimeInfo.nRunTimeModule=3,_0x2850bd.pstRuntimeInfo.nStrVersion=1,_0x2850bd.pstRuntimeInfo.nFrameTimeStamp=_0x3c8e27,_0x2850bd.pstRuntimeInfo.nFrameNum=0,_0x2850bd.pstRuntimeInfo.nErrorCode=16,_0x2850bd.runtimeCBFun(_0x2850bd.pstRuntimeInfo))}}catch(_0x44e707){_0x2aa16d.e(_0x44e707)}finally{_0x2aa16d.f()}}if(null!==_0x2850bd.displayFrameInfoCB&&_0x2850bd.respondFrameInfoCB(_0x3c8e27),_0x2850bd.RenderTypeFlagMap.size>0){var _0x4423cb,_0x7defb7=_0x152796(_0x2850bd.RenderTypeFlagMap.keys());try{for(_0x7defb7.s();!(_0x4423cb=_0x7defb7.n()).done;){var _0x572ab9=_0x4423cb.value;528482304==_0x572ab9&&1==_0x2850bd.RenderTypeFlagMap.get(_0x572ab9)&&null!=_0x2850bd.runtimeCBFun&&(_0x2850bd.pstRuntimeInfo.nRunTimeModule=3,_0x2850bd.pstRuntimeInfo.nStrVersion=1,_0x2850bd.pstRuntimeInfo.nFrameTimeStamp=_0x3c8e27,_0x2850bd.pstRuntimeInfo.nFrameNum=0,_0x2850bd.pstRuntimeInfo.nErrorCode=528482304,_0x2850bd.pstRuntimeInfo.nInputDataInterval=0,_0x2850bd.pstRuntimeInfo.nFrameNumInterval=0,_0x2850bd.pstRuntimeInfo.nAverageDecodeTime=0,_0x2850bd.pstRuntimeInfo.AbsTimeYear=_0x2850bd.curFrameInfo.year,_0x2850bd.pstRuntimeInfo.AbsTimeMonth=_0x2850bd.curFrameInfo.month,_0x2850bd.pstRuntimeInfo.AbsTimeDay=_0x2850bd.curFrameInfo.day,_0x2850bd.pstRuntimeInfo.AbsTimeHour=_0x2850bd.curFrameInfo.hour,_0x2850bd.pstRuntimeInfo.AbsTimeMinute=_0x2850bd.curFrameInfo.minute,_0x2850bd.pstRuntimeInfo.AbsTimeSecond=_0x2850bd.curFrameInfo.second,_0x2850bd.pstRuntimeInfo.AbsTimeMilliseconds=_0x2850bd.curFrameInfo.milliseconds,_0x2850bd.runtimeCBFun(_0x2850bd.pstRuntimeInfo))}}catch(_0x310298){_0x7defb7.e(_0x310298)}finally{_0x7defb7.f()}}if(_0x2850bd.firstFrame){_0x2850bd.firstFrame=!1;var _0x1ac255=_0x2850bd;_0x2850bd.oVideoRender.GetCanvasData((function(_0x118c22,_0x45b2b5,_0x591b92){if(null!=_0x118c22){var _0x2c7c7c=_0x1ac255.checkColorAnomaly(_0x118c22,_0x45b2b5,_0x591b92);console.log("checkColorAnomaly resC:"+_0x2c7c7c),_0x2c7c7c&&_0x1ac255.HardDecodeError()}})),null!=_0x2850bd.player?null!=_0x2850bd.player.FFCallBackFun&&_0x2850bd.player.FFCallBackFun({decodeEngine:1}):postMessage({function:"firstFrameCB",value:!0})}_0x2850bd.startRecoderFlag&&0==_0x2850bd.stopRecoderFlag&&_0x2850bd.oVideoRender.GetCanvasData((function(_0x3a8ebb,_0x5c296,_0x1a18d0){if(null!=_0x3a8ebb){if(0==_0x2850bd.recoderBaseTimestampMode){0==_0x2850bd.vBaseTimeStamp&&(_0x2850bd.vBaseTimeStamp=60*(new Date).getHours()*60*1e3+60*(new Date).getMinutes()*1e3+1e3*(new Date).getSeconds()+(new Date).getMilliseconds());var _0x2e13f4=60*(new Date).getHours()*60*1e3+60*(new Date).getMinutes()*1e3+1e3*(new Date).getSeconds()+(new Date).getMilliseconds();_0x2850bd.recoderFrameTimeStamp=_0x2e13f4-_0x2850bd.vBaseTimeStamp}else 1==_0x2850bd.recoderBaseTimestampMode||(_0x2850bd.recoderBaseTimestampMode=1),_0x2850bd.recoderFrameTimeStamp=_0x3c8e27;var _0x50b634={timestamp:1e3*_0x2850bd.recoderFrameTimeStamp,codedWidth:_0x2850bd.encodeVideoInfo.encodeWidth,codedHeight:_0x2850bd.encodeVideoInfo.encodeHeight,format:"RGBA"},_0x4a0d80=new VideoFrame(_0x3a8ebb,_0x50b634),_0xaf4569={};_0xaf4569.year=_0x2850bd.curFrameInfo.year,_0xaf4569.month=_0x2850bd.curFrameInfo.month,_0xaf4569.day=_0x2850bd.curFrameInfo.day,_0xaf4569.hour=_0x2850bd.curFrameInfo.hour,_0xaf4569.minute=_0x2850bd.curFrameInfo.minute,_0xaf4569.second=_0x2850bd.curFrameInfo.second,_0xaf4569.milliseconds=_0x2850bd.curFrameInfo.milliseconds,_0x2850bd.oVideoEncoder.inputData(_0x4a0d80,_0xaf4569),_0x4a0d80.close(),_0x3a8ebb=null,_0x2850bd.recoderFrameNum++}_0x183a6d()}),_0x2850bd.encodeVideoInfo.encodeWidth,_0x2850bd.encodeVideoInfo.encodeHeight,_0x2850bd.recoderGetOriginData)}))}}))}},{key:"checkColorAnomaly",value:function(_0x2e6da6,_0x2fc3fe,_0x363ab4){for(var _0x187fcd=0,_0xd0c5d0=_0x2fc3fe*_0x363ab4,_0x3a845d=0;_0x3a845d<_0x2e6da6.length;_0x3a845d+=4){var _0x29d54e=_0x2e6da6[_0x3a845d],_0x3bf326=_0x2e6da6[_0x3a845d+1],_0x10dc20=_0x2e6da6[_0x3a845d+2];_0x3bf326>1.5*_0x29d54e&&_0x3bf326>1.5*_0x10dc20&&_0x187fcd++}return _0x187fcd/_0xd0c5d0>.05}},{key:"respondFrameInfoCB",value:function(_0x31e4ad){if(0!=this.displayFrameInfo.length&&(this.curFrameInfo.timeStamp!==_0x31e4ad||0==_0x31e4ad&&0==this.curFrameInfo.timeStamp)){var _0x179c40=this.findFramebyTime(_0x31e4ad,1);this.curFrameInfo.port=_0x179c40.port,this.curFrameInfo.codecType=_0x179c40.codecType,this.curFrameInfo.frameType=_0x179c40.frameType,this.curFrameInfo.frameSize=_0x179c40.frameSize,this.curFrameInfo.width=_0x179c40.width-(_0x179c40.cropLeft+_0x179c40.cropRight),this.curFrameInfo.height=_0x179c40.height-(_0x179c40.cropTop+_0x179c40.cropBottom),this.curFrameInfo.timeStamp=_0x179c40.timeStamp,this.curFrameInfo.frameRate=_0x179c40.frameRate,this.curFrameInfo.frameNum=_0x179c40.frameNum,this.curFrameInfo.interlace=_0x179c40.interlace,this.curFrameInfo.streamEnd=_0x179c40.streamEnd,this.curFrameInfo.cropLeft=_0x179c40.cropLeft,this.curFrameInfo.cropRight=_0x179c40.cropRight,this.curFrameInfo.cropTop=_0x179c40.cropTop,this.curFrameInfo.cropBottom=_0x179c40.cropBottom,this.curFrameInfo.year=_0x179c40.year,this.curFrameInfo.month=_0x179c40.month,this.curFrameInfo.week=_0x179c40.week,this.curFrameInfo.day=_0x179c40.day,this.curFrameInfo.hour=_0x179c40.hour,this.curFrameInfo.minute=_0x179c40.minute,this.curFrameInfo.second=_0x179c40.second,this.curFrameInfo.milliseconds=_0x179c40.milliseconds,_0x179c40=null,null!=this.displayFrameInfoCB&&this.displayFrameInfoCB(this.curFrameInfo)}}},{key:"findFramebyTime",value:function(_0x4681ae,_0x128429){var _0x566b36=new Object;if(_0x566b36=this.displayFrameInfo.find((function(_0x3c4bb7){return _0x3c4bb7.timeStamp==_0x4681ae})),1==_0x128429){var _0x4520b9=this.displayFrameInfo.findIndex((function(_0x331400){return _0x331400.timeStamp==_0x4681ae}));this.displayFrameInfo.splice(_0x4520b9,1)}return _0x566b36}},{key:"chooseFrame",value:function(){var _0xd531fd=this;return new Promise((function(_0x56d5d6,_0x26b71a){if(null==_0xd531fd.oVideoRender||null==_0xd531fd.oVideoDecoder)_0x56d5d6(null);else if(_0xd531fd.oVideoDecoder.decoderObjNeedReset)_0xd531fd.oVideoDecoder.resetDecoder().then((function(){_0xd531fd.oVideoDecoder.decoderObjNeedReset=!1,_0x56d5d6(null)}),(function(){_0x26b71a()}));else{var _0x35d33d=_0xd531fd.oVideoDecoder.GetFrameBufferLength();-1!=_0xd531fd.displayBuf?_0x35d33d<3?(1==_0xd531fd.bSetStreamEnd&&(_0xd531fd.nstreamEndloopNum++,_0xd531fd.nstreamEndloopNum>=50&&null!=_0xd531fd.player&&null!=_0xd531fd.player.runtimeCBFun)&&(_0xd531fd.player.runtimeCBFun({nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:9}),_0xd531fd.bSetStreamEnd=!1,_0xd531fd.nstreamEndloopNum=0),_0x56d5d6(null)):(1==_0xd531fd.bSetStreamEnd&&(_0xd531fd.nstreamEndloopNum=0),_0xd531fd.oVideoDecoder.GetFrame().then((function(_0x4a2491){_0x56d5d6(_0x4a2491)}),(function(){}))):0==_0x35d33d?(1==_0xd531fd.bSetStreamEnd&&(_0xd531fd.nstreamEndloopNum++,_0xd531fd.nstreamEndloopNum>=50&&null!=_0xd531fd.player&&null!=_0xd531fd.player.runtimeCBFun)&&(_0xd531fd.player.runtimeCBFun({nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:9}),_0xd531fd.bSetStreamEnd=!1,_0xd531fd.nstreamEndloopNum=0),_0x56d5d6(null)):(1==_0xd531fd.bSetStreamEnd&&(_0xd531fd.nstreamEndloopNum=0),_0xd531fd.oVideoDecoder.GetFrame().then((function(_0x4781cc){_0x56d5d6(_0x4781cc)}),(function(){})))}}))}},{key:"SetDisplayRegion",value:function(_0x2c51a2,_0x487ffc,_0x24d2fc,_0x112c57){return null==this.oVideoRender?0:(this.sx=_0x2c51a2,this.sy=_0x487ffc,this.sw=_0x24d2fc,this.sh=_0x112c57,this.oVideoRender.SetDisplayRect(_0x2c51a2,_0x487ffc,_0x24d2fc,_0x112c57))}},{key:"SetCurStatus",value:function(_0x23f72e){var _0x3246bd=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.bResetdisplayFrameInfoCB=_0x3246bd,this.renderCurStatus=_0x23f72e,1}},{key:"fast",value:function(){var _0x9843d0=this._GetFastSpeed(this.nplaySpeed);return this._SetPlaySpeed(_0x9843d0)}},{key:"slow",value:function(){var _0x1dd73c=this._GetSlowSpeed(this.nplaySpeed);return this._SetPlaySpeed(_0x1dd73c)}},{key:"Pause",value:function(_0x197185){if(_0x197185)2!=this.renderCurStatus&&6!=this.renderCurStatus||(this.renderLastStatus=this.renderCurStatus),this.SetCurStatus(3);else{if(3!==this.renderCurStatus)return 0;2===this.renderLastStatus?this.SetCurStatus(2):6===this.renderLastStatus&&this.SetCurStatus(6),this.resetTimer=!0}return 1}},{key:"NotifyBackPlay",value:function(_0x1c3039){if(_0x1c3039?this.SetCurStatus(6):this.SetCurStatus(2),null!=this.oVideoDecoder)if(2==this.PlayOrBackMode)this.oVideoDecoder.NotifyBackPlay(_0x1c3039,this.preTimeStamp,0);else{var _0x5e6f19=1==_0x1c3039?2:1;this.oVideoDecoder.NotifyBackPlay(_0x1c3039,this.preTimeStamp,_0x5e6f19)}return this.resetTimer=!0,1}},{key:"SetPlayOrBackSwitchMode",value:function(_0x47bad0){return this.PlayOrBackMode=_0x47bad0,1}},{key:"SetStretchPlay",value:function(_0x5b17b4,_0x5f3ebf){return 2!=this.renderCurStatus||this.playSpeed>1.1||this.playSpeed<.9?0:(this.StretchPlayTime=_0x5b17b4,this.StretchPlayedTime=0,this.StretchPlaySpeed=_0x5f3ebf,this.StretchPlayFlag=!0,this.resetTimer=!0,1)}},{key:"VideoStretchProcess",value:function(_0x591e7c){return this.StretchPlayFlag&&(this.printfFlag>0&&console.log("StretchPlayedTime:"+this.StretchPlayedTime+",StretchPlayTime:"+this.StretchPlayTime),this.StretchPlayedTime0?_0x4907e9:-1/_0x4907e9,console.log("playSpeed:"+this.playSpeed),this.resetTimer=!0,this.needForward=!1,2!=this.renderCurStatus&&6!=this.renderCurStatus&&(2===this.renderLastStatus?this.SetCurStatus(2):6===this.renderLastStatus&&this.SetCurStatus(6))),1}},{key:"_GetFastSpeed",value:function(_0x36f494){var _0x3d2286=0;switch(_0x36f494){case-16:_0x3d2286=-8;break;case-8:_0x3d2286=-4;break;case-4:_0x3d2286=-2;break;case-2:_0x3d2286=1;break;case 1:_0x3d2286=2;break;case 2:_0x3d2286=4;break;case 4:_0x3d2286=8;break;case 8:_0x3d2286=16;break;case 16:_0x3d2286=32;break;case 32:_0x3d2286=64;break;default:_0x3d2286=0}return _0x3d2286}},{key:"_GetSlowSpeed",value:function(_0x329eab){var _0x42d558=0;switch(_0x329eab){case-8:_0x42d558=-16;break;case-4:_0x42d558=-8;break;case-2:_0x42d558=-4;break;case 1:_0x42d558=-2;break;case 2:_0x42d558=1;break;case 4:_0x42d558=2;break;case 8:_0x42d558=4;break;case 16:_0x42d558=8;break;case 32:_0x42d558=16;break;case 64:_0x42d558=32;break;default:_0x42d558=0}return _0x42d558}},{key:"SetDisplayBuf",value:function(_0x2d8fe8){return this.displayBuf=_0x2d8fe8,this.LatcyTime=1==_0x2d8fe8?0:15==_0x2d8fe8?700:45==_0x2d8fe8?1900:_0x2d8fe8>6&&_0x2d8fe8<45?40*_0x2d8fe8+100:-1==_0x2d8fe8?0:50,1}},{key:"GetJPEG",value:function(){var _0x2d8456=this;null!=this.oVideoDecoder&&this.oVideoDecoder.GetImageYUV("jpeg",0,0,0,0).then((function(_0x544873){var _0x3e5f03=_0x544873.yuvFrameBuffer,_0x160c4e=_0x544873.yuvLength,_0x12fc81=_0x544873.displayWidth,_0xa407d7=_0x544873.displayHeight,_0x55ddfe=_0x544873.yuvType;-1!=_0x3e5f03&&(_0x2d8456.player?_0x2d8456.player._GetImage2(_0x3e5f03,_0x160c4e,_0x12fc81,_0xa407d7,"jpeg",_0x55ddfe,0,0,0,0):postMessage({function:"imageYUV",value:_0x3e5f03.buffer,size:_0x160c4e,width:_0x12fc81,height:_0xa407d7,type:"jpeg",yuvType:_0x55ddfe,sx:0,sy:0,sw:0,sh:0},[_0x3e5f03.buffer]))}),(function(){}))}},{key:"GetBMP",value:function(){var _0x2bd3b8=this;null!=this.oVideoDecoder&&this.oVideoDecoder.GetImageYUV("bmp",0,0,0,0).then((function(_0x2f3a1c){var _0x16ad55=_0x2f3a1c.yuvFrameBuffer,_0x5a9f67=_0x2f3a1c.yuvLength,_0x219614=_0x2f3a1c.displayWidth,_0x457c42=_0x2f3a1c.displayHeight,_0x53d718=_0x2f3a1c.yuvType;-1!=_0x16ad55&&(_0x2bd3b8.player?_0x2bd3b8.player._GetImage2(_0x16ad55,_0x5a9f67,_0x219614,_0x457c42,"bmp",_0x53d718,0,0,0,0):postMessage({function:"imageYUV",value:_0x16ad55.buffer,size:_0x5a9f67,width:_0x219614,height:_0x457c42,type:"bmp",yuvType:_0x53d718,sx:0,sy:0,sw:0,sh:0},[_0x16ad55.buffer]))}),(function(){}))}},{key:"GetCropJPEG",value:function(){var _0x36bf4a=this;null!=this.oVideoDecoder&&this.oVideoDecoder.GetImageYUV("jpeg",this.sx,this.sy,this.sw,this.sh).then((function(_0x395dee){var _0xe65f5f=_0x395dee.yuvFrameBuffer,_0x355e8d=_0x395dee.yuvLength,_0x3a63f7=_0x395dee.displayWidth,_0x4234ec=_0x395dee.displayHeight,_0x50e5a8=_0x395dee.yuvType;-1!=_0xe65f5f&&(_0x36bf4a.player?_0x36bf4a.player._GetImage2(_0xe65f5f,_0x355e8d,_0x3a63f7,_0x4234ec,"jpeg",_0x50e5a8,_0x36bf4a.sx,_0x36bf4a.sy,_0x36bf4a.sw,_0x36bf4a.sh):postMessage({function:"imageYUV",value:_0xe65f5f.buffer,size:_0x355e8d,width:_0x3a63f7,height:_0x4234ec,type:"jpeg",yuvType:_0x50e5a8,sx:_0x36bf4a.sx,sy:_0x36bf4a.sy,sw:_0x36bf4a.sw,sh:_0x36bf4a.sh},[_0xe65f5f.buffer]))}),(function(){}))}},{key:"GetCropBMP",value:function(){var _0x351805=this;null!=this.oVideoDecoder&&this.oVideoDecoder.GetImageYUV("bmp",this.sx,this.sy,this.sw,this.sh).then((function(_0x4d8395){var _0x7bd2ba=_0x4d8395.yuvFrameBuffer,_0x4b6af=_0x4d8395.yuvLength,_0xa3a05=_0x4d8395.displayWidth,_0x2f7b40=_0x4d8395.displayHeight,_0x5d72f0=_0x4d8395.yuvType;-1!=_0x7bd2ba&&(_0x351805.player?_0x351805.player._GetImage2(_0x7bd2ba,_0x4b6af,_0xa3a05,_0x2f7b40,"bmp",_0x5d72f0,_0x351805.sx,_0x351805.sy,_0x351805.sw,_0x351805.sh):postMessage({function:"imageYUV",value:_0x7bd2ba.buffer,size:_0x4b6af,width:_0xa3a05,height:_0x2f7b40,type:"bmp",yuvType:_0x5d72f0,sx:_0x351805.sx,sy:_0x351805.sy,sw:_0x351805.sw,sh:_0x351805.sh},[_0x7bd2ba.buffer]))}),(function(){}))}},{key:"GetCanvasCapture",value:function(_0x5d4edc,_0x5673df,_0x5cadb9){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support GetCanvasCapture","color:red"),0):(this.oVideoRender.GetCanvasData(_0x5d4edc,_0x5673df,_0x5cadb9),1)}},{key:"SetDecodeFrameType",value:function(_0x561181){return this.waitIFrameTimestamp=_0x561181,1}},{key:"SetStreamEnd",value:function(_0x569b97){return this.bSetStreamEnd=_0x569b97,this.oVideoDecoder.SetStreamEnd(),1}},{key:"SetAntialias",value:function(_0x2353bb){return null!=this.oVideoRender?this.oVideoRender.SetAntialias(_0x2353bb):0}},{key:"SetFrameInfoCallBack",value:function(_0x2f4931,_0x4ed79b){return _0x4ed79b?(this.needSaveFrameInfo=!0,this.displayFrameInfoCB=_0x2f4931):(this.needSaveFrameInfo=!1,this.displayFrameInfoCB=null),1}},{key:"FEC_SetCanvasID",value:function(_0x13523b){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetCanvasID(_0x13523b):(this.FECCanvasID=_0x13523b,0)}},{key:"FEC_ResetCorrectType",value:function(_0x34d937,_0x49449c,_0x1b5c75){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_ResetCorrectType(_0x34d937,_0x49449c,_0x1b5c75):0}},{key:"FEC_GetPort",value:function(_0x2d9412,_0x27a1f4){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),-1):null!=this.oVideoRender?this.oVideoRender.FEC_GetPort(_0x2d9412,_0x27a1f4):-1}},{key:"FEC_Enable",value:function(_0x15466c){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_Enable(_0x15466c):0}},{key:"FEC_SetParam",value:function(_0x42cd89,_0x4bde0f){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetParam(_0x42cd89,_0x4bde0f):0}},{key:"FEC_GetParam",value:function(_0x44bfe6,_0x2d5b37){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_GetParam(_0x44bfe6,_0x2d5b37):0}},{key:"FEC_SetViewParam",value:function(_0xc3bea0,_0x3c21ae,_0x170005){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetViewParam(_0xc3bea0,_0x3c21ae,_0x170005):0}},{key:"FEC_GetViewParam",value:function(_0x48a651,_0x1ad374,_0x309e0f){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_GetViewParam(_0x48a651,_0x1ad374,_0x309e0f):0}},{key:"FEC_SetWnd",value:function(_0x2fb3,_0x2538e8){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetWnd(_0x2fb3,_0x2538e8):0}},{key:"FEC_Disable",value:function(_0x24db1f,_0x36f72c,_0xfe3d1c){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_Disable(_0x24db1f,_0x36f72c,_0xfe3d1c):0}},{key:"FEC_DelPort",value:function(_0xa740ad){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_DelPort(_0xa740ad):0}},{key:"FEC_SetDisplayRegion",value:function(_0x238c2c,_0x273d8b,_0x2ea8d6,_0x3ff84a,_0x5c127b,_0xe9aef0,_0x20767e){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetDisplayRegion(_0x238c2c,_0x273d8b,_0x2ea8d6,_0x3ff84a,_0x5c127b,_0xe9aef0,_0x20767e):0}},{key:"FEC_SetBackCilling",value:function(_0x58f7f1,_0x4ac331){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetBackCilling(_0x58f7f1,_0x4ac331):0}},{key:"FEC_GetPTZPort",value:function(_0x1a8771,_0x4655f9,_0x283cfb){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),-1):null!=this.oVideoRender?this.oVideoRender.FEC_GetPTZPort(_0x1a8771,_0x4655f9,_0x283cfb):-1}},{key:"FEC_SetPTZDisplayMode",value:function(_0x58ed67){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC correct","color:red"),0):null!=this.oVideoRender?this.oVideoRender.FEC_SetPTZDisplayMode(_0x58ed67):0}},{key:"FEC_Capture",value:function(_0x5a4b23,_0x4493c3){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support FEC_Capture","color:red"),0):this.oVideoRender.FEC_Capture(_0x5a4b23,_0x4493c3)}},{key:"InputPrivateInfo",value:function(_0x5698bf,_0x3d4512,_0x106866){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support PrivateInfo","color:red"),0):((null!=_0x5698bf&&_0x5698bf.linesNum>0||null!=_0x3d4512&&_0x3d4512.nFontsNum>0)&&0==this.firstFrame&&(this.LatcyTime=100),this.curPrivateInfo.linesInfo.push(_0x5698bf),this.curPrivateInfo.fontInfo.push(_0x3d4512),this.curPrivateInfo.imageInfo.push(_0x106866),1)}},{key:"deepClone",value:function(_0x1ef673){if(null===_0x1ef673||"object"!==_0x431efc(_0x1ef673))return _0x1ef673;if(Array.isArray(_0x1ef673)){for(var _0x218f81=[],_0x20d4b0=0;_0x20d4b0<_0x1ef673.length;_0x20d4b0++)_0x218f81[_0x20d4b0]=this.deepClone(_0x1ef673[_0x20d4b0]);return _0x218f81}if(ArrayBuffer.isView(_0x1ef673)){var _0x1f0693=new Uint8Array(_0x1ef673.length);return _0x1f0693.set(_0x1ef673),_0x1f0693}var _0x50d8ab={};for(var _0x399e33 in _0x1ef673)_0x1ef673.hasOwnProperty(_0x399e33)&&(_0x50d8ab[_0x399e33]=this.deepClone(_0x1ef673[_0x399e33]));return _0x50d8ab}},{key:"RenderPrivateData",value:function(_0x281ba2,_0x20e710){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support PrivateInfo","color:red"),0):null!=this.oVideoRender?this.oVideoRender.RenderPrivateData(_0x281ba2,_0x20e710):0}},{key:"RenderPrivateDataEx",value:function(_0x31153f,_0x673cd3,_0x31d391){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support PrivateInfo","color:red"),0):null!=this.oVideoRender?this.oVideoRender.RenderPrivateDataEx(_0x31153f,_0x673cd3,_0x31d391):0}},{key:"SetWaterMarkFont",value:function(_0x302750){return"2d"===this.renderEngine||"2D"===this.renderEngine||null==this.oVideoRender?(console.log("%c param error this.renderEngine:%d,this.oVideoRender:%d","color:red",this.renderEngine,this.oVideoRender),0):null!=this.oVideoRender?this.oVideoRender.SetWaterMarkFont(_0x302750):0}},{key:"SetWaterMarkImage",value:function(_0x4042b7){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support SetWaterMarkImage","color:red"),0):null!=this.oVideoRender?this.oVideoRender.SetWaterMarkImage(_0x4042b7):0}},{key:"SetMosaicType",value:function(_0x5e33f3){return"2d"===this.renderEngine||"2D"===this.renderEngine||null==this.oVideoRender?(console.log("%c 2D render not support SetMosaicType","color:red"),0):null!=this.oVideoRender?this.oVideoRender.SetMosaicType(_0x5e33f3):0}},{key:"SelectIntelInfoFeatureToDraw",value:function(_0x121159){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support SelectIntelInfoFeatureToDraw","color:red"),0):null!=this.oVideoRender?this.oVideoRender.SelectIntelInfoFeatureToDraw(_0x121159):0}},{key:"SetD3DPostProcess",value:function(_0x3d360e,_0x3322f9){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support SetD3DPostProcess","color:red"),0):null!=this.oVideoRender?this.oVideoRender.SetD3DPostProcess(_0x3d360e,_0x3322f9):0}},{key:"SetTextCanvas",value:function(_0x242d04){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support SetD3DPostProcess","color:red"),0):null!=this.oVideoRender?this.oVideoRender.SetTextCanvas(_0x242d04):0}},{key:"SetPrintLogFlag",value:function(_0x218eaa){return this.printfFlag=_0x218eaa,null!=this.oVideoDecoder&&this.oVideoDecoder.SetPrintLogFlag(_0x218eaa),null!=this.oVideoRender&&this.oVideoRender.SetPrintLogFlag(_0x218eaa),1}},{key:"SetRotateAngle",value:function(_0x2d2c52){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support SetRotateAngle","color:red"),0):null!=this.oVideoRender?this.oVideoRender.SetRotateAngle(_0x2d2c52):0}},{key:"InitEncoder",value:function(_0x57d5de,_0x5c49c7){return _0x57d5de.encodeWidth>0||_0x57d5de.encodeHeight>0?(this.encodeVideoInfo.encodeWidth=_0x57d5de.encodeWidth,this.encodeVideoInfo.encodeHeight=_0x57d5de.encodeHeight):null!=this.curFrameInfo.width&&this.curFrameInfo.width>0&&this.curFrameInfo.width<=1400&&null!=this.curFrameInfo.height&&this.curFrameInfo.height>0&&this.curFrameInfo.height<=800?(this.encodeVideoInfo.encodeWidth=this.curFrameInfo.width,this.encodeVideoInfo.encodeHeight=this.curFrameInfo.height):(this.encodeVideoInfo.encodeWidth=1280,this.encodeVideoInfo.encodeHeight=720),_0x57d5de.bitrate>0?this.encodeVideoInfo.bitrate=_0x57d5de.bitrate:this.encodeVideoInfo.encodeWidth>1580?this.encodeVideoInfo.bitrate=4e6:this.encodeVideoInfo.encodeWidth>800?this.encodeVideoInfo.bitrate=2e6:this.encodeVideoInfo.bitrate=1e6,_0x57d5de.frameRate>0?this.encodeVideoInfo.frameRate=_0x57d5de.frameRate:"frameRate"in this.curFrameInfo&&(this.encodeVideoInfo.frameRate=this.curFrameInfo.frameRate),_0x57d5de.bitrateMode>0?this.encodeVideoInfo.bitrateMode=_0x57d5de.bitrateMode:this.encodeVideoInfo.bitrateMode=0,_0x57d5de.latencyMode>0?this.encodeVideoInfo.latencyMode=_0x57d5de.latencyMode:this.encodeVideoInfo.latencyMode=0,0==_0x57d5de.encodeType&&(this.encodeVideoInfo.encodeVideoType="avc"),this.recoderBaseTimestampMode=_0x57d5de.baseTimeStampMode,this.recoderGetOriginData=_0x57d5de.getOriginData,null==this.oVideoEncoder&&(this.oVideoEncoder=new _0x135987(this,this.player)),_0x5c49c7.sampleRate>0?this.encodeAudioInfo.sampleRate=_0x5c49c7.sampleRate:this.encodeAudioInfo.sampleRate=48e3,_0x5c49c7.numberOfChannels>0?this.encodeAudioInfo.numberOfChannels=_0x5c49c7.numberOfChannels:this.encodeAudioInfo.numberOfChannels=1,_0x5c49c7.bitrate>0?this.encodeAudioInfo.bitrate=_0x5c49c7.bitrate:this.encodeAudioInfo.bitrate=128e3,0==_0x5c49c7.encodeType&&(this.encodeAudioInfo.encodeAudioType="aac"),null==this.oAudioEncoder&&(this.oAudioEncoder=new _0x554c2d(this,this.player)),1}},{key:"StartVideoEncode",value:function(_0x19c349){return null!=this.oVideoEncoder&&(this.oVideoEncoder.initEncoder("avc1.4d4032",this.encodeVideoInfo,_0x19c349),this.startRecoderFlag=!0,this.stopRecoderFlag=!1),1}},{key:"StartAudioEncode",value:function(_0x2b72b9){return null!=this.oAudioEncoder&&this.oAudioEncoder.initEncoder("mp4a.40.2",this.encodeAudioInfo,_0x2b72b9),1}},{key:"InputPCMToEncode",value:function(_0x4c188d,_0x2197a8){if(null!=this.oAudioEncoder&&0==this.stopRecoderFlag){var _0x29fed9={format:"s16",sampleRate:this.encodeAudioInfo.sampleRate,numberOfFrames:_0x4c188d.length/2,numberOfChannels:1,timestamp:_0x2197a8,data:_0x4c188d},_0x257df0=new AudioData(_0x29fed9);this.oAudioEncoder.inputData(_0x257df0),_0x257df0.close()}return 1}},{key:"StopEncode",value:function(){return this.startRecoderFlag=!1,this.stopRecoderFlag=!0,this.recoderFrameNum=0,null!=this.oAudioEncoder&&(this.oAudioEncoder.stopEncode(),this.oAudioEncoder=null),null!=this.oVideoEncoder&&(this.oVideoEncoder.stopEncode(),this.oVideoEncoder=null),this.recoderBaseTimestampMode=0,this.recoderGetOriginData=0,1}},{key:"SetRunTimeInfoCallBack",value:function(_0x2b35ee,_0x257529){return this.runtimeCBFun=_0x257529,null!=this.oVideoDecoder&&this.oVideoDecoder.SetRunTimeInfoCallBackFun(_0x2b35ee,_0x257529),1}},{key:"SetRunTimeInfoCallbackType",value:function(_0x3d8cab,_0xaef0e3,_0x20adc2){return 2==_0x3d8cab?_0x20adc2?this.DecodeTypeFlagMap.set(_0xaef0e3,1):this.DecodeTypeFlagMap.delete(_0xaef0e3):3==_0x3d8cab&&(_0x20adc2?this.RenderTypeFlagMap.set(_0xaef0e3,1):this.RenderTypeFlagMap.delete(_0xaef0e3)),null!=this.oVideoDecoder&&2==_0x3d8cab&&this.oVideoDecoder.SetRunTimeInfoCallbackType(_0x3d8cab,_0xaef0e3,_0x20adc2),1}},{key:"IsVisible",value:function(_0x4c495d){return null!=this.oVideoDecoder&&this.oVideoDecoder.IsVisible(_0x4c495d),1}},{key:"SetPanoramaDisplayEffect",value:function(_0x5acb26){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support SetPanoramaDisplayEffect","color:red"),0):null!=this.oVideoRender?this.oVideoRender.SetPanoramaDisplayEffect(_0x5acb26):0}},{key:"SetPanoramaSphereViewParam",value:function(_0x4ded67,_0x484f18){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support SetPanoramaSphereViewParam","color:red"),0):null!=this.oVideoRender?this.oVideoRender.SetPanoramaSphereViewParam(_0x4ded67,_0x484f18):0}},{key:"GetPanoramaSphereViewParam",value:function(_0x437a5c,_0xfad298){return"2d"===this.renderEngine||"2D"===this.renderEngine?(console.log("%c 2D render not support GetPanoramaSphereViewParam","color:red"),0):null!=this.oVideoRender?this.oVideoRender.GetPanoramaSphereViewParam(_0x437a5c,_0xfad298):0}},{key:"ResetBuffer",value:function(){return this.resetTimer=!0,this.oVideoDecoder.clearDecoderObjBuffer(),1}}]),_0x2b7211}(),_0x5b4e60=function(){function _0x85a16(_0x2b7f32){_0x3d26fc(this,_0x85a16),this.player=_0x2b7f32,this.oVideoPlayCtrl=new _0x3efc8c(_0x2b7f32)}return _0x49990c(_0x85a16,[{key:"init",value:function(_0x3b6cc8,_0x12e11d,_0x297ff2,_0x55a36d){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.init(_0x3b6cc8,_0x12e11d,_0x297ff2,_0x55a36d)}},{key:"inputData",value:function(_0x34595c,_0x5dbe22){null!=this.oVideoPlayCtrl&&this.oVideoPlayCtrl.inputData(_0x34595c,_0x5dbe22)}},{key:"SetDisplayRegion",value:function(_0x13f16e,_0x29809b,_0x3c6dd7,_0x2587ad){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.SetDisplayRegion(_0x13f16e,_0x29809b,_0x3c6dd7,_0x2587ad)}},{key:"stop",value:function(){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.SetCurStatus(4),this.oVideoPlayCtrl=null,window.g_printfFlag>=0&&console.log(">>>JS 03 destroy oVideoPlayCtrl")}},{key:"fast",value:function(){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.fast()?0:void 0}},{key:"slow",value:function(){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.slow()?0:void 0}},{key:"SetDisplayBuf",value:function(_0x5b0252){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.SetDisplayBuf(_0x5b0252)?0:void 0}},{key:"Pause",value:function(_0x3a912c){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.Pause(_0x3a912c)?0:void 0}},{key:"OneByOne",value:function(_0x195517){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.OneByOne(_0x195517)?0:void 0}},{key:"NotifyBackPlay",value:function(_0x36f67b){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.NotifyBackPlay(_0x36f67b)?0:void 0}},{key:"SetPlayOrBackSwitchMode",value:function(_0x5ce4f8){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.SetPlayOrBackSwitchMode(_0x5ce4f8)?0:void 0}},{key:"SetStretchPlay",value:function(_0x122752,_0x4504a5){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.SetStretchPlay(_0x122752,_0x4504a5)?0:void 0}},{key:"SetCanvasSize",value:function(_0xc94a9a,_0x3ec98b,_0x48ead2){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.SetCanvasSize(_0xc94a9a,_0x3ec98b,_0x48ead2)?0:void 0}},{key:"GetCanvasSize",value:function(){return null===this.oVideoPlayCtrl||1!==this.oVideoPlayCtrl.GetCanvasSize()?0:void 0}},{key:"GetPlayedTime",value:function(){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.GetPlayedTime()}},{key:"SetTargetRelativePos",value:function(_0x3ff55b,_0x2db20e,_0x886a29){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetTargetRelativePos(_0x3ff55b,_0x2db20e,_0x886a29)}},{key:"needReset",value:function(_0x592822){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.SetCurStatus(0,_0x592822)}},{key:"GetJPEG",value:function(){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.GetJPEG()}},{key:"GetBMP",value:function(){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.GetBMP()}},{key:"GetCropJPEG",value:function(){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.GetCropJPEG()}},{key:"GetCropBMP",value:function(){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.GetCropBMP()}},{key:"GetCanvasCapture",value:function(_0x138aa6,_0x384225,_0x6a598f){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.GetCanvasCapture(_0x138aa6,_0x384225,_0x6a598f)}},{key:"SetDecodeFrameType",value:function(_0x243f82){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.SetDecodeFrameType(_0x243f82)}},{key:"SetStreamEnd",value:function(_0x291e76){if(null===this.oVideoPlayCtrl)return 0;this.oVideoPlayCtrl.SetStreamEnd(_0x291e76)}},{key:"SetAntialias",value:function(_0x30d380){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetAntialias(_0x30d380)}},{key:"SetFrameInfoCallBack",value:function(_0x25d4b5,_0x5414cc){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetFrameInfoCallBack(_0x25d4b5,_0x5414cc)}},{key:"FEC_SetCanvasID",value:function(_0x12ec27){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetCanvasID(_0x12ec27)}},{key:"FEC_ResetCorrectType",value:function(_0x554788,_0x46e9e6,_0x523897){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_ResetCorrectType(_0x554788,_0x46e9e6,_0x523897)}},{key:"FEC_GetPort",value:function(_0x584ed1,_0x5b4729){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_GetPort(_0x584ed1,_0x5b4729)}},{key:"FEC_Enable",value:function(_0xe7c260){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_Enable(_0xe7c260)}},{key:"FEC_SetParam",value:function(_0x23071a,_0x17f034){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetParam(_0x23071a,_0x17f034)}},{key:"FEC_GetParam",value:function(_0x37c463,_0x58978e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_GetParam(_0x37c463,_0x58978e)}},{key:"FEC_SetViewParam",value:function(_0x42b031,_0x223c55,_0x221c6e){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetViewParam(_0x42b031,_0x223c55,_0x221c6e)}},{key:"FEC_GetViewParam",value:function(_0x1f2470,_0x53431b,_0x17fda1){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_GetViewParam(_0x1f2470,_0x53431b,_0x17fda1)}},{key:"FEC_SetWnd",value:function(_0x5058d1,_0x2632b4){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetWnd(_0x5058d1,_0x2632b4)}},{key:"FEC_Disable",value:function(_0x4b34dd,_0x374309,_0x37534a){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_Disable(_0x4b34dd,_0x374309,_0x37534a)}},{key:"FEC_DelPort",value:function(_0x6ae13f){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_DelPort(_0x6ae13f)}},{key:"FEC_SetDisplayRegion",value:function(_0x39d403,_0x34ef8b,_0x26ac16,_0x590ad7,_0x3c3c1e,_0x19af4b,_0x5c6a36){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetDisplayRegion(_0x39d403,_0x34ef8b,_0x26ac16,_0x590ad7,_0x3c3c1e,_0x19af4b,_0x5c6a36)}},{key:"FEC_SetBackCilling",value:function(_0x20679b,_0x6fdfce){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetBackCilling(_0x20679b,_0x6fdfce)}},{key:"FEC_GetPTZPort",value:function(_0x49ea41,_0x23642a,_0x2a2576){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_GetPTZPort(_0x49ea41,_0x23642a,_0x2a2576)}},{key:"FEC_SetPTZDisplayMode",value:function(_0x4d7fc9){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_SetPTZDisplayMode(_0x4d7fc9)}},{key:"FEC_Capture",value:function(_0x12b0ca,_0x69ec91){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.FEC_Capture(_0x12b0ca,_0x69ec91)}},{key:"InputPrivateInfo",value:function(_0x29bc90,_0xd072a,_0x1e8679){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.InputPrivateInfo(_0x29bc90,_0xd072a,_0x1e8679)}},{key:"RenderPrivateData",value:function(_0x403b21,_0x1ad4c5){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.RenderPrivateData(_0x403b21,_0x1ad4c5)}},{key:"RenderPrivateDataEx",value:function(_0x11443a,_0x21c6ee,_0x33f916){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.RenderPrivateDataEx(_0x11443a,_0x21c6ee,_0x33f916)}},{key:"SetWaterMarkFont",value:function(_0x13457d){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetWaterMarkFont(_0x13457d)}},{key:"SetWaterMarkImage",value:function(_0x56a5f5){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetWaterMarkImage(_0x56a5f5)}},{key:"SetMosaicType",value:function(_0x5251f5){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetMosaicType(_0x5251f5)}},{key:"SelectIntelInfoFeatureToDraw",value:function(_0x51cdc6){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SelectIntelInfoFeatureToDraw(_0x51cdc6)}},{key:"SetD3DPostProcess",value:function(_0x51157c,_0x2a10eb){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetD3DPostProcess(_0x51157c,_0x2a10eb)}},{key:"SetTextCanvas",value:function(_0x3aa4f8){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetTextCanvas(_0x3aa4f8)}},{key:"SetPrintLogFlag",value:function(_0x5eccda){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetPrintLogFlag(_0x5eccda)}},{key:"SetRotateAngle",value:function(_0x268f00){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetRotateAngle(_0x268f00)}},{key:"InitEncoder",value:function(_0x41e5fe,_0x151cb7){return null===this.oVideoPlayCtrl?0:(this.oVideoPlayCtrl.InitEncoder(_0x41e5fe,_0x151cb7),1)}},{key:"StartVideoEncode",value:function(_0x520c98){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.StartVideoEncode(_0x520c98)}},{key:"StartAudioEncode",value:function(_0x4346d9){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.StartAudioEncode(_0x4346d9)}},{key:"InputPCMToEncode",value:function(_0x123eaf,_0x53fbd4){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.InputPCMToEncode(_0x123eaf,_0x53fbd4)}},{key:"StopEncode",value:function(){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.StopEncode()}},{key:"SetRunTimeInfoCallBack",value:function(_0x189403,_0x4a6fe8){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetRunTimeInfoCallBack(_0x189403,_0x4a6fe8)}},{key:"SetRunTimeInfoCallbackType",value:function(_0x16fda3,_0x53e826,_0x2a9d9d){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetRunTimeInfoCallbackType(_0x16fda3,_0x53e826,_0x2a9d9d)}},{key:"IsVisible",value:function(_0x100f55){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.IsVisible(_0x100f55)}},{key:"SetPanoramaDisplayEffect",value:function(_0x231ef0){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetPanoramaDisplayEffect(_0x231ef0)}},{key:"SetPanoramaSphereViewParam",value:function(_0x474d47,_0x42e76d){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.SetPanoramaSphereViewParam(_0x474d47,_0x42e76d)}},{key:"GetPanoramaSphereViewParam",value:function(_0x420b5a,_0x4ca11f){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.GetPanoramaSphereViewParam(_0x420b5a,_0x4ca11f)}},{key:"ResetBuffer",value:function(){return null===this.oVideoPlayCtrl?0:this.oVideoPlayCtrl.ResetBuffer()}}]),_0x85a16}(),_0x12d497=[];!function(){for(var _0x117d80=0;_0x117d80<8;_0x117d80++){_0x12d497[_0x117d80]=[];for(var _0x4304c9=0;_0x4304c9<64;_0x4304c9++)_0x12d497[_0x117d80][_0x4304c9]=null}}();var _0x37dd52=null,_0x469675=!1,_0x1c53fe=!1,_0x7a4fc5=1,_0x1974de=1,_0x40de3a={bSupHardOrSoft:!0,bSupHardDecAVC:!0,bSupHardDecHEVC:!0,cmd:"unloaded",errorCode:0,status:0},_0x57af08=-1;window.JSPlayM4_RawDataCallBack=function(_0x950783,_0x1063d1,_0x3049ad,_0x1829db){null!=_0x12d497[_0x1829db][_0x950783]&&_0x12d497[_0x1829db][_0x950783].__proto__.hasOwnProperty("JSPlayM4_InputRawData")&&_0x12d497[_0x1829db][_0x950783].JSPlayM4_InputRawData(_0x950783,_0x1063d1,_0x3049ad)},window.JSPlayM4_PrivateInfoCallBack=function(_0x2f18c4,_0x89326a,_0x29916d,_0x57a357,_0x73e976){null!=_0x12d497[_0x73e976][_0x2f18c4]&&_0x12d497[_0x73e976][_0x2f18c4].__proto__.hasOwnProperty("JSPlayM4_InputPrivateInfo")&&_0x12d497[_0x73e976][_0x2f18c4].JSPlayM4_InputPrivateInfo(_0x89326a,_0x29916d,_0x57a357)};var _0x151fd0=function(){function _0x459b7a(_0x5709d1,_0x4fddd2,_0x34324f){var _0x386191=this,_0xbd12c8=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,_0x3a3025=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"webgl",_0x5cc6f4=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,_0x1298c9=arguments.length>6&&void 0!==arguments[6]?arguments[6]:-1;if(_0x3d26fc(this,_0x459b7a),this.printfFlag=window.g_printfFlag,this.jsplayer=_0x5709d1,this.szBasePath=_0x4fddd2,this.fn=_0x34324f,this.nUser=_0xbd12c8,this.renderEngine=_0x3a3025,this.hasWebWorker=_0x5cc6f4,this.setHasThread=_0x1298c9,this.oJSPlayerObj=this,this.port=-1,this.pcVideoManager=null,this.decodeWorker=null,this.offscreen=null,this.canvasID="",this.canvasCnv=null,this.rtpType=0,this.decodeEngine=1,this.FirstFrameCallBackflag=!1,this.inputDataBuffer=null,this.inputDataBufferSize=204800,this.canvasIDData=null,this._decoderLoaded=!1,this.streamOpenMode=0,this.width=0,this.height=0,this.rawDataFrameInfoBuffer=null,this.rawDataFrameInfo={},this.displayFrameInfo={},this.startTimeStamp=0,this.decodeFrameType=0,this.displayBuf=0,this.needSetDisplayBuf=!1,this.FirstFrame=!0,this.codecType=0,this.curStatus=0,this.lastStatus=0,this.playSpeed=1,this.needWaitIFrame=!1,this.sysType=0,this.SetDisRegionBottom=0,this.SetDisRegionLeft=0,this.SetDisRegionRight=0,this.SetDisRegionTop=0,this.cropBottom=0,this.cropLeft=0,this.cropRight=0,this.cropTop=0,this.canvasWidth=960,this.canvasHeight=480,this.enableCanvas=!0,this.needResetCanvasSize=!1,this.hasThread=0,this.aTotalBuffer=[],this.iFrameNum=0,this.bWriteData=!0,this.downloadFlag=!1,this.bWriteAudioPCMData=!0,this.audioPCMBuffer=[],this.iAudioPCMFrameNum=0,this.pBmpData=null,this.nBmpDataSize=0,this.pBmpSizeData=null,this.bmpDataCallback=null,this.bmpDownloadFlag=!1,this.pJpegData=null,this.nJpegDataSize=0,this.pJPEGSizeData=null,this.jpegDataCallback=null,this.jpegDownloadFlag=!1,this.CropjpegDataCallback=null,this.CropjpegDownloadFlag=!1,this.CropbmpDataCallback=null,this.CropbmpDownloadFlag=!1,this.imageCB=null,this.pFontParam=null,this.pWaterMarkFontData=null,this.nWaterMarkFontLen=0,this.textCanvas=null,this.setTextCanvasFlag=!1,this.rgbDataBuffer=null,this.recoderVideoDataCBFun=null,this.recoderAudioDataCBFun=null,this.recoderAudioAnyWhere=!1,this.pMosaicParam=null,this.stDisplayRect={top:0,left:0,right:0,bottom:0},this.iZoomNum=0,this.iRatio_x=1,this.iRatio_y=1,this.pFECTotalCanvasIDData=null,this.iFECCanvasIDLen=0,this.iFECZoomNum=0,this.iFECRatio_x=1,this.iFECRatio_y=1,this.stFECDisplayRect={top:0,left:0,right:0,bottom:0},this.FECcanvasIDArray=[],this.FECGetPortCB=null,this.FECGetPTZPortCB=null,this.FECParamCB=null,this.FECViewParamCB=null,this.GetPanoramaSphereViewParamCB=null,this.FECImageCB=null,this.FECRgbDataBuffer=null,this.FFCallBackFun=null,this.addtionCallBackFun=null,this.additionDataBuffer=null,this.additionDataBufferSize=0,this.displayCallBackFun=null,this.decCallBackFun=null,this.getPlayTimeCallBackFun=null,this.runtimeCBFun=null,this.callbackFlag=!1,this.runTimeModule=0,this.needSetRunTimeInfoCB=!1,this.decodeQueueSize=0,this.decodeFrameSize=0,this.streamInfoCBFun=null,this.streamInfoType=0,this.ResamplePCMCallBack=null,this.PostMpStreamOffsetCBFun=null,this.SetPlayPosCBFun=null,this.HardDecToJpegCBFun=null,this.HardDecToJpegQuality=1,this.HardDecToJpegInterval=2,this.HardToJpegZoomWidth=100,this.HardToJpegZoomHeight=100,this.HardToJpegZoomResolutionFlag=0,this.pstRuntimeInfo={nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:0,nInputDataInterval:0,nFrameNumInterval:0,nAverageDecodeTime:0,nSystemFormat:0,nDetectRes:0,nMp4FileTime:0,nMp4TotalFrameNum:0,AbsTimeYear:0,AbsTimeMonth:0,AbsTimeDay:0,AbsTimeHour:0,AbsTimeMinute:0,AbsTimeSecond:0,AbsTimeMilliseconds:0},this.needSetSecretKey=!1,this.SecretKeyData=null,this.keyType=1,this.pKeyDataLen=128,this.needPlaySound=!1,this.decInterval=-1,this.volumeValue=-1,this.renderPrivateInfo=new Map,this.renderIntelSubEx=new Map,this.renderIntelFlagEx=new Map,this.reversePlay=!1,this.decodeThreadNum=0,this.antialiasFlag=-1,this.decodeERCLevel=0,this.d3dPostProcessType=0,this.d3dPostProcessValue=0,this.needSetD3DPostProcess=!1,this.resetBufferType=-1,this.playOrBackSwitchMode=0,this.setStretchPlayTime=0,this.setStretchPlaySpeed=0,this.autoSmoothPlayModel=-1,this.keepPlaySpeed=-1,this.FECCanvasID="",this.FECPlaceType=0,this.FECCorrectType=0,this.anrParamFlag=!1,this.anrParamLevel=-1,this.resampleFlag=!1,this.resampleRate=48e3,this.globalBaseTime=null,this.needSetSkipErrorData=!1,this.skipErrorData=-1,this.needSetDemuxModel=!1,this.setDemuxModelType=-1,this.setDemuxModelFlag=!1,this.setAudioThreadModel=-1,this.syncToAudio=-1,this.twodRotateAngle=0,this.needSetRotateAngle=!1,this.additionDataType=0,this.additionFlag=0,this.addCBFun=null,this.needSetAdditionDataCB=!1,this.needPlaySoundShare=!1,this.needSetRunTimeInfoCBType=!1,this.HIK40Head=[],this.HIKHeadSize=40,this.HIKPoolSize=2097152,this.SDPInfoData=null,this.SDPInfoLen=0,this.SDPInfoPoolSize=4194304,this.SDPInfoProtocolType=1,this.SDPInfoSessionInfoType=1,this.wasmMemory=null,this.initialMemory=8192,this.maximumMemory=16368,this.OpenStreamMode=0,_0x40de3a.cmd="unloaded",_0x40de3a.errorCode=0,_0x40de3a.status=0,this.supportWebCodecs=_getFSupportWebCodecs(),this.supportSab=!!window.SharedArrayBuffer,this.offscreen=!!window.OffscreenCanvas,this.supportOffscreen=!1,this.offscreen){var _0x41dd1b=new OffscreenCanvas(1,1),_0xab764b=_0x41dd1b.getContext("webgl");_0xab764b&&(this.supportOffscreen=!0,_0xab764b.getExtension("WEBGL_lose_context").loseContext()),_0x41dd1b=null,_0xab764b=null}if(null!=_0x37dd52||_0x469675)_0x40de3a.cmd="loaded",new Promise((function(_0x53b7c3,_0x5f3303){_0x53b7c3()})).then((function(){if(null!==_0x37dd52&&_0x1c53fe)_0x386191.fn(_0x40de3a);else var _0x5a9520=setInterval((function(){null!==_0x37dd52&&_0x1c53fe&&(clearInterval(_0x5a9520),_0x5a9520=null,_0x386191.fn(_0x40de3a))}),10)}));else if(_0x469675=!0,_0x57af08=_getFExplore(),this.supportWebCodecs?(_0x40de3a.bSupHardOrSoft=!0,_0x40de3a.bSupHardDecAVC=!0,_0x40de3a.bSupHardDecHEVC=!0):(this.printfFlag>=0&&console.info("%c1>your browser does not support hard Decoder ","color: red"),_0x1974de=0,_0x7a4fc5=0,_0x40de3a.bSupHardDecAVC=!1,_0x40de3a.bSupHardDecHEVC=!1,this.supportSab&&this.supportOffscreen?_0x40de3a.bSupHardOrSoft=!0:_0x40de3a.bSupHardOrSoft=!1),this.getwasmMemory(),_0x40de3a.bSupHardOrSoft){this.printfFlag>=0&&console.log("%cstart load Decoder.js time:"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds(),"color: blue");var _0x705e9a=this.szBasePath,_0xd217cf=document.createElement("script");_0xd217cf.type="text/javascript",_0xd217cf.src=_0x705e9a,this.printfFlag>=0&&console.info("%c>>>>The Decoder.js path:%s","color: green",_0x705e9a),this.supportSab&&this.supportOffscreen?this.wasmMemory=new WebAssembly.Memory({initial:this.initialMemory,maximum:this.maximumMemory,shared:!0}):this.wasmMemory=new WebAssembly.Memory({initial:this.initialMemory,maximum:this.maximumMemory}),console.log("create wasmMemory this.initialMemory:"+this.initialMemory+",this.maximumMemory:"+this.maximumMemory),_0xd217cf.onload=function(){window.JSPlayerModule({wasmMemory:_0x386191.wasmMemory}).then((function(_0x2b1c01){_0x37dd52=_0x2b1c01,_0x386191._decoderLoaded=!0,_0x40de3a.cmd="loaded";var _0xeff216=_0x37dd52._JSPlayM4_GetSDKVersion(),_0x503f92=_0x37dd52._JSPlayM4_GetBuildDate();_0x386191.printfFlag>=0&&console.log("%cEnd load Decoder.js time:"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds()+",version:"+_0xeff216.toString(16)+",buildDate:"+_0x503f92.toString(16),"color: blue"),_0x37dd52._JSPlayM4_SetPrintLogFlag(-1,_0x386191.printfFlag),_0x386191.supportWebCodecs?VideoDecoder.isConfigSupported({codec:"avc1.42001f",hardwareAcceleration:"prefer-hardware"}).then((function(_0x4f6adc){"prefer-hardware"==_0x4f6adc.config.hardwareAcceleration&&_0x4f6adc.supported?(_0x1974de=1,_0x40de3a.bSupHardDecAVC=!0,_0x386191.printfFlag>=0&&console.info("%c1>your browser support 264 hard Decoder","color: green"),_0x57af08>97||-1===_0x57af08?VideoDecoder.isConfigSupported({codec:"hvc1.1.6.L123.00",hardwareAcceleration:"prefer-hardware"}).then((function(_0x557878){console.log("%c hevcConfigInfo.config.hardwareAcceleration:"+_0x557878.config.hardwareAcceleration,"color:red"),"prefer-hardware"==_0x557878.config.hardwareAcceleration&&_0x557878.supported?(_0x7a4fc5=1,_0x40de3a.bSupHardDecHEVC=!0,_0x386191.printfFlag>=0&&console.info("%c2>your browser support 265 hard Decoder","color: green")):(_0x7a4fc5=0,_0x40de3a.bSupHardDecHEVC=!1,_0x386191.printfFlag>=0&&console.info("%c2>your browser not support 265 hard Decoder","color: red")),_0x386191.callbackFlag||(_0x386191.callbackFlag=!0,_0x386191.fn(_0x40de3a),_0x1c53fe=!0)})):(_0x7a4fc5=0,_0x40de3a.bSupHardDecHEVC=!1,_0x386191.printfFlag>=0&&console.info("%c2>your browser not support 265 hard Decoder chromeVersion:"+_0x57af08,"color: red"),_0x386191.callbackFlag||(_0x386191.callbackFlag=!0,_0x386191.fn(_0x40de3a),_0x1c53fe=!0))):(_0x1974de=0,_0x40de3a.bSupHardDecAVC=!1,_0x7a4fc5=0,_0x40de3a.bSupHardDecHEVC=!1,_0x386191.printfFlag>=0&&console.info("%c1>your browser not support 264/265 hard Decoder","color: red"),_0x386191.supportSab&&_0x386191.supportOffscreen?_0x40de3a.bSupHardOrSoft=!0:_0x40de3a.bSupHardOrSoft=!1,_0x386191.callbackFlag||(_0x386191.callbackFlag=!0,_0x386191.fn(_0x40de3a),_0x1c53fe=!0))})).catch((function(){_0x386191.supportSab&&_0x386191.supportOffscreen?_0x40de3a.bSupHardOrSoft=!0:_0x40de3a.bSupHardOrSoft=!1,_0x1974de=0,_0x40de3a.bSupHardDecAVC=!1,_0x7a4fc5=0,_0x40de3a.bSupHardDecHEVC=!1,_0x386191.printfFlag>=0&&console.log("%c2>hard decode supported error","color: red"),_0x386191.callbackFlag||(_0x386191.callbackFlag=!0,_0x386191.fn(_0x40de3a),_0x1c53fe=!0)})):(_0x386191.supportSab&&_0x386191.supportOffscreen?_0x40de3a.bSupHardOrSoft=!0:_0x40de3a.bSupHardOrSoft=!1,_0x386191.callbackFlag||(_0x386191.callbackFlag=!0,_0x386191.fn(_0x40de3a),_0x1c53fe=!0))}))},document.body.appendChild(_0xd217cf)}else this.printfFlag>=0&&console.log("%c not support hard or soft","color:red"),new Promise((function(_0xd7abdc,_0x23da9e){_0xd7abdc()})).then((function(){_0x386191.callbackFlag||(_0x386191.callbackFlag=!0,_0x386191.fn(_0x40de3a),_0x1c53fe=!0)}))}return _0x49990c(_0x459b7a,[{key:"startWorker",value:function(_0xc18b6a){function _0x1ffdd4(_0x377cfa,_0x481f74){return _0xc18b6a.apply(this,arguments)}return _0x1ffdd4.toString=function(){return _0xc18b6a.toString()},_0x1ffdd4}((function(_0x1b6bed,_0xc5f98c){if(window.Worker){if(null==_0xc5f98c.decodeWorker){if(_0xc5f98c.decodeWorker=new _0x243945,null==_0xc5f98c.decodeWorker)return 0;this.printfFlag>=0&&console.log("decodeWorker create success!")}_0xc5f98c.canvasCnv=document.getElementById(_0x1b6bed),_0xc5f98c.offscreen=_0xc5f98c.canvasCnv.transferControlToOffscreen(),_0xc5f98c.decodeWorker.postMessage({command:"init",streamOpenMode:_0xc5f98c.streamOpenMode,canvas:_0xc5f98c.offscreen,sab:_0xc5f98c.supportSab,renderEngine:_0xc5f98c.renderEngine,printfLog:_0xc5f98c.printfFlag},[_0xc5f98c.offscreen]),0!=_0xc5f98c.displayBuf&&_0xc5f98c.decodeWorker.postMessage({command:"SetDisplayBuf",value:_0xc5f98c.displayBuf}),""!=_0xc5f98c.FECCanvasID&&_0xc5f98c.decodeWorker.postMessage({command:"SetCanvasID",canvasID:_0xc5f98c.FECCanvasID}),_0xc5f98c.decodeWorker.onmessage=function(_0x29ca99){var _0x56f557=_0x29ca99.data;switch(_0x56f557.function){case"error":startWorker(_0xc5f98c.canvasID,_0xc5f98c);break;case"GetFrameData":var _0x9749b4=new Uint8Array(_0x56f557.data);_0xc5f98c.downloadRTPData(_0x9749b4);break;case"GetRawData":_0xc5f98c.JSPlayM4_GetRawData();break;case"OrderError":console.log(">>>JS OrderError");break;case"GetPlayedTime":var _0x4d82a0=_0x56f557.value;_0xc5f98c.getPlayTimeCallBackFun&&_0xc5f98c.getPlayTimeCallBackFun(_0x4d82a0-_0xc5f98c.startTimeStamp);break;case"resetEnd":_0xc5f98c.JSPlayM4_ResetEnd();break;case"bitmap":var _0x535804=_0x56f557.value,_0x42ebee=_0x56f557.type,_0xe56551=_0x56f557.sx,_0x1673b5=_0x56f557.sy,_0xef12ef=_0x56f557.sw,_0x51c97f=_0x56f557.sh,_0x3ee217=_0x56f557.framenum;_0xc5f98c._GetImage(_0x535804,_0x42ebee,_0xe56551,_0x1673b5,_0xef12ef,_0x51c97f,_0x3ee217);break;case"imageYUV":var _0x43611b=new Uint8Array(_0x56f557.value),_0x532022=_0x56f557.size,_0x7b36ac=new Uint8Array(_0x43611b),_0x396908=_0x56f557.type,_0x2e7d00=_0x56f557.width,_0x582c08=_0x56f557.height,_0x32fe3e=_0x56f557.yuvType,_0x26a88c=_0x56f557.sx,_0x4a4aae=_0x56f557.sy,_0x38ad85=_0x56f557.sw,_0x10fd6b=_0x56f557.sh;_0xc5f98c._GetImage2(_0x7b36ac,_0x532022,_0x2e7d00,_0x582c08,_0x396908,_0x32fe3e,_0x26a88c,_0x4a4aae,_0x38ad85,_0x10fd6b),_0x43611b=null,_0x7b36ac=null,_0x56f557.value=null;break;case"stop":_0xc5f98c.decodeWorker=null,_0xc5f98c.printfFlag>=0&&console.log("HardWorker is null");break;case"firstFrameCB":null!=_0xc5f98c.FFCallBackFun&&_0xc5f98c.FFCallBackFun({decodeEngine:1});break;case"SetPlayPosCB":var _0x209d51={nRes:1};_0x209d51.nRelativePos=_0x56f557.value,null!=_0xc5f98c.SetPlayPosCBFun&&_0xc5f98c.SetPlayPosCBFun(_0x209d51);break;case"SetFrameInfoCallBack":_0xc5f98c.displayFrameInfo.port=_0x56f557.curFrameInfo.port,_0xc5f98c.displayFrameInfo.codecType=_0x56f557.curFrameInfo.codecType,_0xc5f98c.displayFrameInfo.frameType=_0x56f557.curFrameInfo.frameType,_0xc5f98c.displayFrameInfo.frameSize=_0x56f557.curFrameInfo.frameSize,_0xc5f98c.displayFrameInfo.width=_0x56f557.curFrameInfo.width,_0xc5f98c.displayFrameInfo.height=_0x56f557.curFrameInfo.height,_0xc5f98c.displayFrameInfo.timeStamp=_0x56f557.curFrameInfo.timeStamp,_0xc5f98c.displayFrameInfo.frameRate=_0x56f557.curFrameInfo.frameRate,_0xc5f98c.displayFrameInfo.frameNum=_0x56f557.curFrameInfo.frameNum,_0xc5f98c.displayFrameInfo.interlace=_0x56f557.curFrameInfo.interlace,_0xc5f98c.displayFrameInfo.streamEnd=_0x56f557.curFrameInfo.streamEnd,_0xc5f98c.displayFrameInfo.cropLeft=_0x56f557.curFrameInfo.cropLeft,_0xc5f98c.displayFrameInfo.cropRight=_0x56f557.curFrameInfo.cropRight,_0xc5f98c.displayFrameInfo.cropTop=_0x56f557.curFrameInfo.cropTop,_0xc5f98c.displayFrameInfo.cropBottom=_0x56f557.curFrameInfo.cropBottom,_0xc5f98c.displayFrameInfo.year=_0x56f557.curFrameInfo.year,_0xc5f98c.displayFrameInfo.month=_0x56f557.curFrameInfo.month,_0xc5f98c.displayFrameInfo.week=_0x56f557.curFrameInfo.week,_0xc5f98c.displayFrameInfo.day=_0x56f557.curFrameInfo.day,_0xc5f98c.displayFrameInfo.hour=_0x56f557.curFrameInfo.hour,_0xc5f98c.displayFrameInfo.minute=_0x56f557.curFrameInfo.minute,_0xc5f98c.displayFrameInfo.second=_0x56f557.curFrameInfo.second,_0xc5f98c.displayFrameInfo.milliseconds=_0x56f557.curFrameInfo.milliseconds;break;case"FECGetViewParam":null!=_0xc5f98c.FECViewParamCB&&_0xc5f98c.FECViewParamCB(_0x56f557.Param3D);break;case"GetPanoramaSphereViewParam":null!=_0xc5f98c.GetPanoramaSphereViewParamCB&&_0xc5f98c.GetPanoramaSphereViewParamCB(_0x56f557.ParamVR);break;case"FECGetParam":null!=_0xc5f98c.FECParamCB&&_0xc5f98c.FECParamCB(_0x56f557.param2d);break;case"FECGetPort":null!=_0xc5f98c.FECGetPortCB&&_0xc5f98c.FECGetPortCB(_0x56f557.fishSubPort);break;case"FECGetPTZPort":null!=_0xc5f98c.FECGetPTZPortCB&&_0xc5f98c.FECGetPTZPortCB(_0x56f557.fishSubPort);break;case"GetDecodeBufferSize":null!=_0x56f557.rawSize&&null!=_0x56f557.frameSize&&(_0xc5f98c.decodeQueueSize=_0x56f557.rawSize,_0xc5f98c.decodeFrameSize=_0x56f557.frameSize);break;case"GetCanvasCapture":if(0!=_0x56f557.width&&0!=_0x56f557.height){var _0x40c279=new Uint8Array(_0x56f557.frameData);_0xc5f98c.imageCB(_0x40c279,_0x56f557.width,_0x56f557.height)}break;case"FECCapture":if(0!=_0x56f557.width&&0!=_0x56f557.height){var _0x886f8e=new Uint8Array(_0x56f557.frameData);_0xc5f98c.FECImageCB(_0x886f8e,_0x56f557.width,_0x56f557.height,_0x56f557.fishSubPort)}break;case"VideoRecoderInfo":var _0x42d388=new Uint8Array(_0x56f557.videoInfo.rawData),_0x291cc1=_0x56f557.videoInfo;_0x291cc1.rawData=_0x42d388,null!=_0xc5f98c.recoderVideoDataCBFun&&_0xc5f98c.recoderVideoDataCBFun(_0x291cc1),_0x42d388=null;break;case"AudioRecoderInfo":var _0x4f524d=new Uint8Array(_0x56f557.audioInfo.rawData),_0x3d4e64=_0x56f557.audioInfo;_0x3d4e64.rawData=_0x4f524d,null!=_0xc5f98c.recoderAudioDataCBFun&&_0xc5f98c.recoderAudioDataCBFun(_0x3d4e64),_0x4f524d=null;break;case"runtimeInfo":null!=_0xc5f98c.runtimeCBFun&&_0xc5f98c.runtimeCBFun(_0x56f557.pstRuntimeInfo)}},_0xc5f98c.decodeWorker.addEventListener("error",(function(_0x305b5c){console.error(_0x305b5c)}))}}))},{key:"JSPlayM4_GetDecodeBufferSize",value:function(_0x2ce798,_0x28b719){return null!=_0x2ce798&&null!=_0x28b719&&(this.decodeQueueSize=_0x2ce798,this.decodeFrameSize=_0x28b719),1}},{key:"JSPlayM4_SetStreamEnd",value:function(_0x2077e8){if(1===this.decodeEngine)if(this.hasWebWorker){if(null==this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetStreamEnd",bTrue:_0x2077e8})}else null!=this.pcVideoManager&&this.pcVideoManager.SetStreamEnd(_0x2077e8)}},{key:"JSPlayM4_GetPort",value:function(){return this.printfFlag>0&&console.log(">>>>>yff>>> JSPlayM4_GetPort 1 "),null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetPort","color: red"),0):(this.port=_0x37dd52._JSPlayM4_GetPort(),_0x12d497[this.nUser][this.port]=this.oJSPlayerObj,this.printfFlag>0&&console.log(">>>>>yff>>> JSPlayM4_GetPort 2 this.port:"+this.port),1)}},{key:"JSPlayM4_SetStreamOpenMode",value:function(_0x50dbc9){return this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_SetStreamOpenMode 1 mode:"+_0x50dbc9),null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetStreamOpenMode","color: red"),0):(this.streamOpenMode=_0x50dbc9,this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_SetStreamOpenMode 2 mode:"+_0x50dbc9),null==this.pcVideoManager&&(this.pcVideoManager=new _0x5b4e60(this)),_0x37dd52._JSPlayM4_SetStreamOpenMode(this.port,_0x50dbc9))}},{key:"JSPlayM4_OpenStream",value:function(_0x281964,_0x2f450f,_0xd14311){if(this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_OpenStream 1 :"+_0x281964+",this.port:"+this.port),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_OpenStream","color: red"),0;var _0x5bccbb=_0x37dd52._malloc(_0x2f450f);if(null===_0x5bccbb)return console.log("hikHeadBuffer malloc failed"),0;var _0x126706=new Uint8Array(_0x281964.buffer);if(5==_0x281964[10]&&0==_0x281964[11]){if(this.codecType=5,!_0x40de3a.bSupHardDecHEVC&&!this.supportSab)return console.info("%c3>The codecType is VIDEO_AVC265,not support SharedArrayBuffer","color: red"),16}else 1==_0x281964[10]&&0==_0x281964[11]?this.codecType=1:0==_0x281964[10]&&1==_0x281964[11]?this.codecType=256:4==_0x281964[10]&&0==_0x281964[11]?this.codecType=4:this.codecType=0;_0x37dd52.writeArrayToMemory(_0x126706,_0x5bccbb);var _0x5d3615=_0x37dd52._JSPlayM4_OpenStream(this.port,_0x5bccbb,_0x2f450f,_0xd14311);return null!==_0x5bccbb&&(_0x37dd52._free(_0x5bccbb),_0x5bccbb=null),_0x126706=null,this.HIK40Head=new Uint8Array(_0x281964),this.HIKHeadSize=_0x2f450f,this.HIKPoolSize=_0xd14311,this.OpenStreamMode=0,_0x5d3615}},{key:"JSPlayM4_OpenStreamAdvanced",value:function(_0x4b58ce,_0x18af8e,_0x421332,_0x4fb747,_0x2427d8){if(this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_OpenStreamAdvanced 1 :"+_0x4fb747+",this.port:"+this.port),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_OpenStreamAdvanced","color: red"),0;var _0x30de0a=this._stringToBytes(_0x4fb747),_0xb0ce32=_0x37dd52._malloc(_0x421332);if(null!==_0xb0ce32){var _0x42df7d=_0x37dd52.HEAPU8.subarray(_0xb0ce32,_0xb0ce32+_0x421332),_0xb83ed=new Uint8Array(_0x421332);_0x42df7d.set(_0xb83ed,0),_0x42df7d.set(new Uint8Array(_0x30de0a)),_0x42df7d=null,_0xb83ed=null;var _0x50e0b1=_0x37dd52._JSPlayM4_OpenStreamAdvanced(this.port,_0x4b58ce,_0x18af8e,_0x421332,_0xb0ce32,_0x2427d8);return null!==_0xb0ce32&&(_0x37dd52._free(_0xb0ce32),_0xb0ce32=null),this.SDPInfoData=_0x4fb747,this.SDPInfoLen=_0x421332,this.SDPInfoPoolSize=_0x2427d8,this.SDPInfoProtocolType=_0x4b58ce,this.SDPInfoSessionInfoType=_0x18af8e,this.OpenStreamMode=1,_0x50e0b1}}},{key:"JSPlayM4_SetDecodeEngine",value:function(_0x30b700){return this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_SetDecodeEngine 1:"+_0x30b700),0!=_0x30b700&&1!=_0x30b700?(console.log("0 is softDecode, 1 is hardDecoder,decodeEngine:"+_0x30b700),0):0!==_0x30b700||this.supportSab&&this.supportOffscreen?(this.decodeEngine=_0x30b700,1):(this.jsplayer._switchV3ToV1(this.streamOpenMode,this.HIK40Head,this.HIKHeadSize,this.HIKPoolSize,!0),0)}},{key:"_switchHardToSoft",value:function(){return this.JSPlayM4_Stop(!0),this.JSPlayM4_CloseStream(),this.JSPlayM4_FreePort(),this.supportSab&&this.supportOffscreen?(this.JSPlayM4_SetDecodeEngine(0)&&(console.log("V3 switchHardToSoft this.szBasePath:"+this.szBasePath),this.JSPlayM4_GetPort(),this.JSPlayM4_SetStreamOpenMode(this.streamOpenMode),0==this.OpenStreamMode?this.JSPlayM4_OpenStream(this.HIK40Head,this.HIKHeadSize,this.HIKPoolSize):this.JSPlayM4_OpenStreamAdvanced(this.SDPInfoProtocolType,this.SDPInfoSessionInfoType,this.SDPInfoLen,this.SDPInfoData,this.SDPInfoPoolSize),this.JSPlayM4_Play(null,!0),null!=this.runtimeCBFun&&(this.pstRuntimeInfo.nRunTimeModule=2,this.pstRuntimeInfo.nStrVersion=1,this.pstRuntimeInfo.nFrameTimeStamp=0,this.pstRuntimeInfo.nFrameNum=0,this.pstRuntimeInfo.nErrorCode=3,this.pstRuntimeInfo.nInputDataInterval=0,this.pstRuntimeInfo.nFrameNumInterval=0,this.pstRuntimeInfo.nAverageDecodeTime=0,this.pstRuntimeInfo.nSystemFormat=this.sysType,this.runtimeCBFun(this.pstRuntimeInfo))),1):(this.jsplayer._switchV3ToV1(this.streamOpenMode,this.HIK40Head,this.HIKHeadSize,this.HIKPoolSize,!0),0)}},{key:"_HardToSoftNeedResetParam",value:function(){if(null!=this.FFCallBackFun&&_0x37dd52._JSPlayM4_SetFirstFrameCallBack(this.port,this.FirstFrameCallBackflag,this.nUser),this.needSetSecretKey&&this.JSPlayM4_SetSecretKey(this.keyType,this.SecretKeyData,this.pKeyDataLen),null!=this.globalBaseTime&&this.globalBaseTime.month>0&&this.globalBaseTime.month<13&&this.JSPlayM4_SetGlobalBaseTime(this.globalBaseTime.year,this.globalBaseTime.month,this.globalBaseTime.day,this.globalBaseTime.hour,this.globalBaseTime.min,this.globalBaseTime.sec,this.globalBaseTime.ms),this.needSetSkipErrorData&&this.JSPlayM4_SkipErrorData(this.skipErrorData),this.needSetDemuxModel&&this.JSPlayM4_SetDemuxModel(this.setDemuxModelType,this.setDemuxModelFlag),this.needSetAdditionDataCB&&this.JSPlayM4_SetAdditionDataCallBack(this.additionDataType,this.additionFlag,this.addCBFun),this.JSPlayM4_SetDecodeFrameType(this.decodeFrameType),-1!=this.decInterval&&_0x37dd52._JSPlayM4_SetIFrameDecInterval(this.port,nInterval),0!=this.decodeThreadNum&&_0x37dd52._JSPlayM4_SetDecodeThreadNum(this.port,this.decodeThreadNum),0!=this.decodeERCLevel&&_0x37dd52._JSPlayM4_SetDecodeERC(this.port,this.decodeERCLevel),-1!=this.resetBufferType&&_0x37dd52._JSPlayM4_ResetBuffer(this.port,this.resetBufferType),this.needPlaySound&&this.JSPlayM4_PlaySound(),this.needPlaySoundShare&&this.JSPlayM4_PlaySoundShare(),-1!=this.setAudioThreadModel&&this.JSPlayM4_SetAudioThreadModel(this.setAudioThreadModel),-1!=this.syncToAudio&&this.JSPlayM4_SyncToAudio(this.syncToAudio),this.anrParamFlag&&-1!=this.anrParamLevel&&this.JSPlayM4_SetANRParam(this.anrParamFlag,this.anrParamLevel),this.resampleFlag&&this.JSPlayM4_SetResampleValue(this.resampleFlag,this.resampleRate),-1!=this.volumeValue&&this.JSPlayM4_SetVolume(this.volumeValue),this.needSetRunTimeInfoCB&&_0x37dd52._JSPlayM4_SetRunTimeInfoCallBackEx(this.port,this.runTimeModule,this.nUser),this.needSetRunTimeInfoCBType){if(this.jsplayer.SourceTypeFlagMap.size>0){var _0x13d2d6,_0x928015=_0x5f486a(this.jsplayer.SourceTypeFlagMap.keys());try{for(_0x928015.s();!(_0x13d2d6=_0x928015.n()).done;){var _0x3dcdc1=_0x13d2d6.value,_0x5c3324=this.jsplayer.SourceTypeFlagMap.get(_0x3dcdc1);1==_0x5c3324&&_0x37dd52._JSPlayM4_SetRunTimeInfoCallbackType(this.port,0,_0x3dcdc1,_0x5c3324)}}catch(_0x104cad){_0x928015.e(_0x104cad)}finally{_0x928015.f()}}if(this.jsplayer.SplitterTypeFlagMap.size>0){var _0x31f914,_0x23d79c=_0x5f486a(this.jsplayer.SplitterTypeFlagMap.keys());try{for(_0x23d79c.s();!(_0x31f914=_0x23d79c.n()).done;){var _0x4d087a=_0x31f914.value,_0x5ed2c9=this.jsplayer.SplitterTypeFlagMap.get(_0x4d087a);1==_0x5ed2c9&&_0x37dd52._JSPlayM4_SetRunTimeInfoCallbackType(this.port,1,_0x4d087a,_0x5ed2c9)}}catch(_0x55fca1){_0x23d79c.e(_0x55fca1)}finally{_0x23d79c.f()}}if(this.jsplayer.DecodeTypeFlagMap.size>0){var _0xe666a0,_0x22e73a=_0x5f486a(this.jsplayer.DecodeTypeFlagMap.keys());try{for(_0x22e73a.s();!(_0xe666a0=_0x22e73a.n()).done;){var _0x1ab17b=_0xe666a0.value,_0x54058e=this.jsplayer.DecodeTypeFlagMap.get(_0x1ab17b);1==_0x54058e&&_0x37dd52._JSPlayM4_SetRunTimeInfoCallbackType(this.port,2,_0x1ab17b,_0x54058e)}}catch(_0x7210f1){_0x22e73a.e(_0x7210f1)}finally{_0x22e73a.f()}}if(this.jsplayer.RenderTypeFlagMap.size>0){var _0x331043,_0x3ea2f0=_0x5f486a(this.jsplayer.RenderTypeFlagMap.keys());try{for(_0x3ea2f0.s();!(_0x331043=_0x3ea2f0.n()).done;){var _0x2dc3e1=_0x331043.value,_0xdf707c=this.jsplayer.RenderTypeFlagMap.get(_0x2dc3e1);1==_0xdf707c&&_0x37dd52._JSPlayM4_SetRunTimeInfoCallbackType(this.port,3,_0x2dc3e1,_0xdf707c)}}catch(_0x36d4e0){_0x3ea2f0.e(_0x36d4e0)}finally{_0x3ea2f0.f()}}if(this.jsplayer.ManagerTypeFlagMap.size>0){var _0x548b87,_0x5439cb=_0x5f486a(this.jsplayer.ManagerTypeFlagMap.keys());try{for(_0x5439cb.s();!(_0x548b87=_0x5439cb.n()).done;){var _0x1441ab=_0x548b87.value,_0x285fb5=this.jsplayer.ManagerTypeFlagMap.get(_0x1441ab);1==_0x285fb5&&_0x37dd52._JSPlayM4_SetRunTimeInfoCallbackType(this.port,4,_0x1441ab,_0x285fb5)}}catch(_0x4f50b2){_0x5439cb.e(_0x4f50b2)}finally{_0x5439cb.f()}}}null!=this.streamInfoCBFun&&_0x37dd52._JSPlayM4_SetStreamInfoCallBack(this.port,this.streamInfoType,this.nUser),null!=this.PostMpStreamOffsetCBFun&&_0x37dd52._JSPlayM4_SetPostMpStreamOffsetCallBack(this.port,this.nUser),0!=this.playOrBackSwitchMode&&_0x37dd52._JSPlayM4_SetPlayOrBackSwitchMode(this.port,this.playOrBackSwitchMode);var _0x9e0994,_0x3bc9b6=_0x5f486a(this.renderPrivateInfo.keys());try{for(_0x3bc9b6.s();!(_0x9e0994=_0x3bc9b6.n()).done;){var _0x28d16b=_0x9e0994.value,_0x58d172=this.renderPrivateInfo.get(_0x28d16b);_0x37dd52._JSPlayM4_RenderPrivateData(this.port,_0x28d16b,_0x58d172)}}catch(_0x977da4){_0x3bc9b6.e(_0x977da4)}finally{_0x3bc9b6.f()}var _0x470bc5,_0x241aa0=_0x5f486a(this.renderIntelSubEx.keys());try{for(_0x241aa0.s();!(_0x470bc5=_0x241aa0.n()).done;){var _0x1faa34=_0x470bc5.value,_0x6104e5=this.renderIntelSubEx.get(_0x1faa34),_0x2cb86d=this.renderIntelFlagEx.get(_0x1faa34);_0x37dd52._JSPlayM4_RenderPrivateDataEx(this.port,_0x1faa34,_0x6104e5,_0x2cb86d)}}catch(_0x25402d){_0x241aa0.e(_0x25402d)}finally{_0x241aa0.f()}return this.needSetDisplayBuf&&_0x37dd52._JSPlayM4_SetDisplayBuf(this.port,this.displayBuf),-1!=this.antialiasFlag&&_0x37dd52._JSPlayM4_SetAntialias(this.port,this.antialiasFlag),this.needSetD3DPostProcess&&_0x37dd52._JSPlayM4_SetD3DPostProcess(this.port,this.d3dPostProcessType,this.d3dPostProcessValue),null!=this.pFontParam&&this.JSPlayM4_SetWaterMarkFont(this.pFontParam),null!=this.pMosaicParam&&this.JSPlayM4_SetMosaicType(this.pMosaicParam),0!=this.setStretchPlaySpeed&&_0x37dd52._JSPlayM4_SetStretchPlay(this.port,this.setStretchPlayTime,this.setStretchPlaySpeed),-1!=this.autoSmoothPlayModel&&_0x37dd52._JSPlayM4_SetAutoSmoothPlay(this.port,this.autoSmoothPlayModel),-1!=this.keepPlaySpeed&&_0x37dd52._JSPlayM4_KeepPlaySpeed(this.port,this.keepPlaySpeed),this.printfFlag>0&&this.JSPlayM4_SetPrintLogFlag(this.printfFlag),this.needSetRotateAngle&&_0x37dd52._JSPlayM4_SetRotateAngle(this.port,this.twodRotateAngle),""!=this.FECCanvasID&&this.JSPlayM4_FEC_SetCanvasID(this.FECCanvasID,!0),0!=this.FECPlaceType&&_0x37dd52._JSPlayM4_FEC_ResetCorrectType(this.port,0,this.FECPlaceType,this.FECCorrectType),1}},{key:"JSPlayM4_DownloadRawData",value:function(){return this.downloadFlag=!0,1}},{key:"JSPlayM4_InputRawData",value:function(_0x428200,_0x599591,_0x430901){if(this.rawDataFrameInfoBuffer=_0x430901,this.rawDataFrameInfo.port=_0x428200,this.rawDataFrameInfo.codecType=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+4>>2],this.rawDataFrameInfo.frameType=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+12>>2],this.rawDataFrameInfo.frameSize=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+16>>2],this.rawDataFrameInfo.width=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+20>>2],this.rawDataFrameInfo.height=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+24>>2],this.rawDataFrameInfo.timeStamp=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+28>>2],this.rawDataFrameInfo.frameRate=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+32>>2],this.rawDataFrameInfo.frameNum=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+36>>2],this.rawDataFrameInfo.isKeyFrame=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+40>>2],this.rawDataFrameInfo.interlace=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+44>>2],this.rawDataFrameInfo.streamEnd=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+48>>2],this.rawDataFrameInfo.cropLeft=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+52>>2],this.rawDataFrameInfo.cropRight=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+56>>2],this.rawDataFrameInfo.cropTop=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+60>>2],this.rawDataFrameInfo.cropBottom=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+64>>2],this.rawDataFrameInfo.year=_0x37dd52.HEAP16[this.rawDataFrameInfoBuffer+68>>1],this.rawDataFrameInfo.month=_0x37dd52.HEAP16[this.rawDataFrameInfoBuffer+70>>1],this.rawDataFrameInfo.week=_0x37dd52.HEAP16[this.rawDataFrameInfoBuffer+72>>1],this.rawDataFrameInfo.day=_0x37dd52.HEAP16[this.rawDataFrameInfoBuffer+74>>1],this.rawDataFrameInfo.hour=_0x37dd52.HEAP16[this.rawDataFrameInfoBuffer+76>>1],this.rawDataFrameInfo.minute=_0x37dd52.HEAP16[this.rawDataFrameInfoBuffer+78>>1],this.rawDataFrameInfo.second=_0x37dd52.HEAP16[this.rawDataFrameInfoBuffer+80>>1],this.rawDataFrameInfo.milliseconds=_0x37dd52.HEAP16[this.rawDataFrameInfoBuffer+82>>1],this.sysType=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+84>>2],this.rawDataFrameInfo.VRViewLimitRate=_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer+88>>2],this.rawDataFrameInfo.needSetPreSoft=!1,(this.rawDataFrameInfo.frameRate<1||1==this.rawDataFrameInfo.interlace)&&(this.rawDataFrameInfo.needSetPreSoft=!0),0!=this.width&&0!=this.height||(this.width=this.rawDataFrameInfo.width,this.height=this.rawDataFrameInfo.height,this.startTimeStamp=this.rawDataFrameInfo.timeStamp,this.FirstFrame=!1),0==this.rawDataFrameInfo.cropLeft&&0==this.rawDataFrameInfo.cropRight&&0==this.rawDataFrameInfo.cropTop&&0==this.rawDataFrameInfo.cropBottom||(this.cropBottom=this.rawDataFrameInfo.cropBottom,this.cropLeft=this.rawDataFrameInfo.cropLeft,this.cropRight=this.rawDataFrameInfo.cropRight,this.cropTop=this.rawDataFrameInfo.cropTop),1==this.decodeFrameType){if(1!==this.rawDataFrameInfo.isKeyFrame)return 1;this.needWaitIFrame&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"SetDecodeFrameType",timestamp:this.rawDataFrameInfo.timeStamp}):this.pcVideoManager.SetDecodeFrameType(this.rawDataFrameInfo.timeStamp),this.needWaitIFrame=!1)}if(0==this.decodeFrameType&&1==this.needWaitIFrame){if(1!==this.rawDataFrameInfo.isKeyFrame)return 1;this.needWaitIFrame=!1}var _0x100da1=new Uint8Array(this.rawDataFrameInfo.frameSize);if(_0x100da1.set(_0x37dd52.HEAPU8.subarray(_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer>>2],_0x37dd52.HEAP32[this.rawDataFrameInfoBuffer>>2]+this.rawDataFrameInfo.frameSize)),this.downloadFlag&&this.downloadRTPData(_0x100da1),this.hasWebWorker){if(null===this.decodeWorker)return _0x100da1=null,0;this.decodeWorker.postMessage({command:"inputData",rawData:_0x100da1.buffer,rawDataFrameInfo:this.rawDataFrameInfo},[_0x100da1.buffer])}else null!==this.pcVideoManager&&this.pcVideoManager.inputData(_0x100da1,this.rawDataFrameInfo);_0x100da1=null}},{key:"JSPlayM4_GetRawData",value:function(){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetRawData","color: red"),0;_0x37dd52._JSPlayM4_SetHardQueueSize(this.port,this.decodeQueueSize,this.decodeFrameSize),_0x37dd52._JSPlayM4_GetRawData(this.port)}},{key:"JSPlayM4_ResetEnd",value:function(){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_ResetEnd","color: red"),0):_0x37dd52._JSPlayM4_ResetEnd(this.port)}},{key:"JSPlayM4_NeedReset",value:function(_0x3ed550,_0xa35f65,_0x188ebe){return this.hasWebWorker?null!=_0x12d497[_0x188ebe][_0x3ed550].decodeWorker&&_0x12d497[_0x188ebe][_0x3ed550].decodeWorker.postMessage({command:"needReset",bTrue:!0}):this.pcVideoManager.needReset(!0),1}},{key:"JSPlayM4_SetAudioDisplayBuf",value:function(_0x2cc3cf){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetAudioDisplayBuf","color: red"),0):_0x37dd52._JSPlayM4_SetAudioDisplayBuf(this.port,_0x2cc3cf)}},{key:"JSPlayM4_Play",value:function(){var _0x322af9=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,_0x388778=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_Play 1 this.canvasID:"+this.canvasID+",this.supportSab:"+this.supportSab),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_Play","color: red"),0;if(this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_Play 2:"+this.decodeEngine),6==this.curStatus){if(1==this.decodeEngine){if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"NotifyBackPlay",flag:0})}else null!=this.pcVideoManager&&this.pcVideoManager.NotifyBackPlay(0);_0x37dd52._JSPlayM4_ResetBuffer(this.port,1),this.needPlaySound&&_0x37dd52._JSPlayM4_PlaySound(this.port),this.needPlaySoundShare&&_0x37dd52._JSPlayM4_PlaySoundShare(this.port)}else _0x37dd52._JSPlayM4_Play(this.port,this.canvasIDData);return this.curStatus=2,1}if(null!=_0x322af9&&(this.canvasID=_0x322af9,this.canvasWidth=document.getElementById(this.canvasID).width,this.canvasHeight=document.getElementById(this.canvasID).height),0===_0x7a4fc5&&5===this.codecType?(this.decodeEngine=0,console.info("%c2>there will decode 265 by softDecoder","color: green")):0!==_0x1974de||256!==this.codecType&&1!==this.codecType?4==this.codecType&&(this.decodeEngine=0,console.info("%c2>there will decode MJPEG by softDecoder(only V3-soft support MJPEG)","color: green")):(this.decodeEngine=0,console.info("%c2>there will decode 264 by softDecoder","color: green")),0==_0x1974de&&0==_0x7a4fc5&&(this.decodeEngine=0),!(this.supportSab&&this.supportOffscreen||0!==this.decodeEngine))return console.info("%c3>SharedArrayBuffer or Offscreen Error , does not support Soft Decdoe!!!!!","color: red"),this.jsplayer._switchV3ToV1(this.streamOpenMode,this.HIK40Head,this.HIKHeadSize,this.HIKPoolSize,!0),1;if(-1!=this.setHasThread&&(this.hasThread=this.setHasThread),_0x37dd52._JSPlayM4_SetDecodeEngine(this.port,this.decodeEngine,this.hasThread),this.printfFlag>=0&&console.log("%cThe final decodeEngine is %d (0 is soft,1 is hard),codecType:%d","color: green",this.decodeEngine,this.codecType),0===this.decodeEngine&&_0x388778&&null!=this.canvasID){var _0x163cff=document.getElementById(this.canvasID);_0x163cff&&(this.clonedCanvas=_0x163cff.cloneNode(!0),this.clonedCanvasParentNode=_0x163cff.parentNode,this.clonedCanvasParentNode.replaceChild(this.clonedCanvas,_0x163cff))}this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_Play 2 this.canvasID:"+this.canvasID+",this.supportSab:"+this.supportSab+",this.decodeEngine:"+this.decodeEngine);var _0x17c8b7=1;if(1===this.decodeEngine){this.hasWebWorker?this.startWorker(this.canvasID,this):(this.canvasCnv=document.getElementById(this.canvasID),this.pcVideoManager.init(this.canvasCnv,this.streamOpenMode,this.supportSab,this.renderEngine),this.needSetDisplayBuf&&this.pcVideoManager.SetDisplayBuf(this.displayBuf)),_0x37dd52._JSPlayM4_SetVideoRawDataCallBack(this.port,this.nUser);var _0x27726a=_0x37dd52.addFunction(this.JSPlayM4_NeedReset,"viii");_0x37dd52._JSPlayM4_SetResetCallBack(this.port,_0x27726a,this.nUser),_0x37dd52._JSPlayM4_SetPrivateInfoCallBack(this.port,this.nUser),this.JSPlayM4_SetCanvasSize(this.canvasWidth,this.canvasHeight),1==(_0x17c8b7=_0x37dd52._JSPlayM4_Play(this.port,null))&&(this.curStatus=2)}else if(0===this.decodeEngine){if(""!=this.canvasID&&null!=this.canvasID){var _0x5f07ed=this._stringToBytes("#"+this.canvasID),_0x2ee498=2*(this.canvasID.length+1);if(this.canvasIDData=_0x37dd52._malloc(_0x2ee498),null===this.canvasIDData)return 0;var _0x5876b3=_0x37dd52.HEAPU8.subarray(this.canvasIDData,this.canvasIDData+_0x2ee498),_0x18ac7e=new Uint8Array(_0x2ee498);_0x5876b3.set(_0x18ac7e,0),_0x5876b3.set(new Uint8Array(_0x5f07ed)),_0x5876b3=null,_0x18ac7e=null}this._HardToSoftNeedResetParam(),1==(_0x17c8b7=_0x37dd52._JSPlayM4_Play(this.port,this.canvasIDData))&&(this.curStatus=2)}if(this.JSPlayM4_SetFrameInfoCallBack(1),1===this.decodeEngine)if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetPrintLogFlag",printfFlag:this.printfFlag})}else null!=this.pcVideoManager&&this.pcVideoManager.SetPrintLogFlag(this.printfFlag);return _0x17c8b7}},{key:"JSPlayM4_InputData",value:function(_0x51f930,_0x45992c){if(this.inputDataBufferSize<_0x45992c&&(null!==this.inputDataBuffer&&(_0x37dd52._free(this.inputDataBuffer),this.inputDataBuffer=null),this.inputDataBufferSize=_0x45992c),null===this.inputDataBuffer&&(this.inputDataBuffer=_0x37dd52._malloc(this.inputDataBufferSize)),null===this.inputDataBuffer)return console.log("inputdata malloc failed!!!"),0;if(1==this.needResetCanvasSize&&(this.JSPlayM4_SetCanvasSize(this.canvasWidth,this.canvasHeight+1),this.needResetCanvasSize=!1),this.enableCanvas){var _0x149cfc=this.JSPlayM4_GetFrameInfo(),_0x415e19=_0x149cfc.width,_0x1673c8=_0x149cfc.height;_0x415e19&&_0x1673c8&&(this.JSPlayM4_SetCanvasSize(this.canvasWidth,this.canvasHeight-1),this.enableCanvas=!1,this.needResetCanvasSize=!0)}var _0x4a453e=new Uint8Array(_0x51f930.buffer);_0x37dd52.writeArrayToMemory(_0x4a453e,this.inputDataBuffer);var _0x3be105=_0x37dd52._JSPlayM4_InputData(this.port,this.inputDataBuffer,_0x45992c,this.decodeQueueSize,this.decodeFrameSize);return this.printfFlag>0&&console.log(">>>>>yff>>>>> JSPlayM4_InputData 2 res:"+_0x3be105+",inputSize:"+_0x45992c),_0x4a453e=null,1!=_0x3be105&&16==_0x37dd52._JSPlayM4_GetLastError(this.port)&&this._switchHardToSoft(),_0x3be105}},{key:"JSPlayM4_Stop",value:function(){var _0x2d74a6=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_Stop","color: red"),0;if(this.JSPlayM4_StopEncode(),this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"stop"}):null!=this.pcVideoManager&&this.pcVideoManager.stop(),this.bWriteData&&this.iFrameNum>0){console.log("download"+this.iFrameNum+"Psdata");var _0x21060b=new Uint8Array(this.aTotalBuffer);this._downloadFile(_0x21060b,"RTPRaw.data"),this.aTotalBuffer.splice(0,this.aTotalBuffer.length),this.bWriteData=!1,this.iFrameNum=0,_0x21060b=null}var _0x6c10ab=1;if((2==this.curStatus||5==this.curStatus||6==this.curStatus)&&(1==(_0x6c10ab=_0x37dd52._JSPlayM4_Stop(this.port))&&(this.curStatus=4),1==_0x6c10ab&&_0x2d74a6)){var _0x895f42=document.getElementById(this.canvasID);if(_0x895f42&&(this.clonedCanvas=_0x895f42.cloneNode(!0),this.clonedCanvasParentNode=_0x895f42.parentNode,this.clonedCanvasParentNode.replaceChild(this.clonedCanvas,_0x895f42)),0!=this.FECcanvasIDArray.length)for(var _0x324d21=0;_0x324d21_0x33ba31?_0x33ba31:this.HardToJpegZoomWidth,_0xff573a=this.HardToJpegZoomHeight>_0x28e4b3?_0x28e4b3:this.HardToJpegZoomHeight):(_0x1bbef0=_0x33ba31,_0xff573a=_0x28e4b3),_0x5708ca.width=_0x1bbef0,_0x5708ca.height=_0xff573a,_0x33c38c.drawImage(_0x59cb2e,_0x3bba5f,_0x636787,_0x33ba31,_0x28e4b3,0,0,_0x1bbef0,_0xff573a),0==this.jpegDownloadFlag&&0==this.bmpDownloadFlag&&null==this.jpegDataCallback&&null==this.bmpDataCallback&&null==this.HardDecToJpegCBFun||_0x5708ca.toBlob((function(_0x53f0ee){if(_0x446a9b.jpegDataCallback||_0x446a9b.bmpDataCallback||_0x446a9b.HardDecToJpegCBFun){var _0x118efe=new FileReader;_0x118efe.onload=function(){if(null!=this.jpegDataCallback&&(this.jpegDataCallback(new Uint8Array(_0x118efe.result),_0x118efe.result.byteLength),this.jpegDataCallback=null),null!=this.bmpDataCallback&&(this.bmpDataCallback(new Uint8Array(_0x118efe.result),_0x118efe.result.byteLength),this.bmpDataCallback=null),null!=this.HardDecToJpegCBFun){var _0x418a0f={};_0x418a0f.jpegData=new Uint8Array(_0x118efe.result),_0x418a0f.jpegDataSize=_0x118efe.result.byteLength,_0x418a0f.frameNum=_0x2aa440,this.HardDecToJpegCBFun(_0x418a0f)}}.bind(_0x446a9b),_0x118efe.readAsArrayBuffer(_0x53f0ee)}if(_0x446a9b.jpegDownloadFlag||_0x446a9b.bmpDownloadFlag){var _0x343a2a=window.URL.createObjectURL(_0x53f0ee),_0x6ec65e=document.createElement("a");_0x6ec65e.download=(new Date).getTime()+"."+_0xed3448,_0x6ec65e.href=_0x343a2a,_0x6ec65e.dataset.downloadurl=[_0xb3769c,_0x6ec65e.download,_0x6ec65e.href].join(":"),document.body.appendChild(_0x6ec65e),_0x6ec65e.click(),document.body.removeChild(_0x6ec65e),_0x59cb2e.close(),_0x33c38c=null,_0x446a9b.jpegDownloadFlag&&(_0x446a9b.jpegDownloadFlag=!1),_0x446a9b.bmpDownloadFlag&&(_0x446a9b.bmpDownloadFlag=!1)}}),_0xb3769c,this.HardDecToJpegQuality)}}},{key:"_GetImage2",value:function(_0x318fb3,_0x452135,_0x5dad89,_0x4e47f2,_0x4a62a2,_0x370c0c,_0x3047f4,_0x39352f,_0x26b055,_0x4f585f){var _0x417035=this;setTimeout((function(){if(0!=_0x5dad89&&0!=_0x4e47f2){var _0x2b835b,_0x7e32fc=_0x37dd52._malloc(_0x452135);if(null===_0x7e32fc)return;_0x37dd52.writeArrayToMemory(new Uint8Array(_0x318fb3,0,_0x452135),_0x7e32fc),_0x2b835b=704!=_0x5dad89||288!=_0x4e47f2&&240!=_0x4e47f2?_0x5dad89*_0x4e47f2*4+60:_0x5dad89*_0x4e47f2*8+60;var _0x1366d4=_0x37dd52._malloc(_0x2b835b),_0x303a03=_0x37dd52._malloc(4);if(null===_0x1366d4||null===_0x303a03)return _0x37dd52._free(_0x7e32fc),_0x7e32fc=null,null!=_0x1366d4&&(_0x37dd52._free(_0x1366d4),_0x1366d4=null),void(null!=_0x303a03&&(_0x37dd52._free(_0x303a03),_0x303a03=null));_0x37dd52.setValue(_0x303a03,_0x2b835b,"i32");var _0x3e5dce=2;"nv12"===_0x370c0c?_0x3e5dce=2:"I420"===_0x370c0c&&(_0x3e5dce=3),"jpeg"==_0x4a62a2?_0x37dd52._JSPlayM4_VideoDataToJpeg(_0x417035.port,_0x7e32fc,_0x452135,_0x1366d4,_0x303a03,_0x5dad89,_0x4e47f2,_0x3e5dce,_0x3047f4,_0x39352f,_0x26b055,_0x4f585f):"bmp"==_0x4a62a2&&_0x37dd52._JSPlayM4_VideoDataToBMP(_0x417035.port,_0x7e32fc,_0x452135,_0x1366d4,_0x303a03,_0x5dad89,_0x4e47f2,_0x3e5dce,_0x3047f4,_0x39352f,_0x26b055,_0x4f585f);var _0x530200=_0x37dd52.getValue(_0x303a03,"i32"),_0x436736=new Uint8Array(_0x530200);_0x436736.set(_0x37dd52.HEAPU8.subarray(_0x1366d4,_0x1366d4+_0x530200)),0==_0x3047f4&&0==_0x39352f&&0==_0x26b055&&0==_0x4f585f?"jpeg"==_0x4a62a2?(null!=_0x417035.jpegDataCallback&&_0x417035.jpegDataCallback(_0x436736,_0x530200),_0x417035.jpegDownloadFlag&&_0x417035._downloadFile(_0x436736,"GetImage."+_0x4a62a2),_0x417035.jpegDataCallback=null,_0x417035.jpegDownloadFlag=!1):"bmp"==_0x4a62a2&&(null!=_0x417035.bmpDataCallback&&_0x417035.bmpDataCallback(_0x436736,_0x530200),_0x417035.bmpDownloadFlag&&_0x417035._downloadFile(_0x436736,"GetImage."+_0x4a62a2),_0x417035.bmpDataCallback=null,_0x417035.bmpDownloadFlag=!1):"jpeg"==_0x4a62a2?(null!=_0x417035.CropjpegDataCallback&&_0x417035.CropjpegDataCallback(_0x436736,_0x530200),_0x417035.CropjpegDownloadFlag&&_0x417035._downloadFile(_0x436736,"GetCropImage."+_0x4a62a2),_0x417035.CropjpegDataCallback=null,_0x417035.CropjpegDownloadFlag=!1):"bmp"==_0x4a62a2&&(null!=_0x417035.CropbmpDataCallback&&_0x417035.CropbmpDataCallback(_0x436736,_0x530200),_0x417035.CropbmpDownloadFlag&&_0x417035._downloadFile(_0x436736,"GetCropImage."+_0x4a62a2),_0x417035.CropbmpDataCallback=null,_0x417035.CropbmpDownloadFlag=!1),_0x436736=null,null!=_0x1366d4&&(_0x37dd52._free(_0x1366d4),_0x1366d4=null),null!=_0x303a03&&(_0x37dd52._free(_0x303a03),_0x303a03=null)}}),0)}},{key:"JSPlayM4_GetJPEG",value:function(){var _0x4efc49=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,_0x2b7812=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.jpegDataCallback=_0x4efc49,this.jpegDownloadFlag=_0x2b7812,1===this.decodeEngine)return this.hasWebWorker?this.decodeWorker.postMessage({command:"GetJPEG"}):null!=this.pcVideoManager&&this.pcVideoManager.GetJPEG(),1;if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetJPEG","color: red"),0;var _0x54e60c=_0x37dd52._JSPlayM4_GetFrameInfo(this.port);if(this.width=_0x37dd52.HEAP32[_0x54e60c+12>>2],this.height=_0x37dd52.HEAP32[_0x54e60c+16>>2],0!=this.width&&0!=this.height){var _0x19e61b=this.width*this.height*4+60;if((null==this.pJpegData||this.nJPEGDataSize<_0x19e61b)&&(null!=this.pJpegData&&(_0x37dd52._free(this.pJpegData),this.pJpegData=null),this.nJPEGDataSize=_0x19e61b,this.pJpegData=_0x37dd52._malloc(this.nJPEGDataSize),null===this.pJpegData))return;null==this.pJPEGSizeData&&(this.pJPEGSizeData=_0x37dd52._malloc(4));var _0x5f25d6=_0x37dd52._JSPlayM4_GetJPEG(this.port,this.pJpegData,this.nJPEGDataSize,this.pJPEGSizeData);if(1!=_0x5f25d6){var _0x21a1a2=_0x37dd52._JSPlayM4_GetLastError(this.port);console.log("errorcode:"+_0x21a1a2)}if(1==_0x5f25d6){var _0x42858e=_0x37dd52.getValue(this.pJPEGSizeData,"i32"),_0x4f12db=new Uint8Array(_0x42858e);_0x4f12db.set(_0x37dd52.HEAPU8.subarray(this.pJpegData,this.pJpegData+_0x42858e)),null!=_0x4efc49&&_0x4efc49(_0x4f12db,_0x42858e),_0x2b7812&&this._downloadFile(_0x4f12db,"GetJPEG.jpeg"),_0x4f12db=null,this.jpegDataCallback=null,this.jpegDownloadFlag=!1}return _0x5f25d6}return 0}},{key:"JSPlayM4_GetBMP",value:function(){var _0x20d8a3=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,_0x72498b=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.bmpDataCallback=_0x20d8a3,this.bmpDownloadFlag=_0x72498b,1===this.decodeEngine)return this.hasWebWorker?this.decodeWorker.postMessage({command:"GetBMP"}):null!=this.pcVideoManager&&this.pcVideoManager.GetBMP(),1;if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetBMP","color: red"),0;var _0x4ac0bb,_0x419350=_0x37dd52._JSPlayM4_GetFrameInfo(this.port);if(this.width=_0x37dd52.HEAP32[_0x419350+12>>2],this.height=_0x37dd52.HEAP32[_0x419350+16>>2],0==this.width||0==this.height)return 0;if(_0x4ac0bb=704!=this.width||288!=this.height&&240!=this.height?this.width*this.height*4+60:this.width*this.height*8+60,!(null==this.pBmpData||this.nBmpDataSize<_0x4ac0bb)||(null!=this.pBmpData&&(_0x37dd52._free(this.pBmpData),this.pBmpData=null),this.nBmpDataSize=_0x4ac0bb,this.pBmpData=_0x37dd52._malloc(this.nBmpDataSize),null!==this.pBmpData)){null==this.pBmpSizeData&&(this.pBmpSizeData=_0x37dd52._malloc(4));var _0x14092f=_0x37dd52._JSPlayM4_GetBMP(this.port,this.pBmpData,this.nBmpDataSize,this.pBmpSizeData);if(1!=_0x14092f){var _0xeb2a15=_0x37dd52._JSPlayM4_GetLastError(this.port);console.log("errorcode:"+_0xeb2a15)}if(1==_0x14092f){var _0x434365=_0x37dd52.getValue(this.pBmpSizeData,"i32"),_0x3d47c6=new Uint8Array(_0x434365);_0x3d47c6.set(_0x37dd52.HEAPU8.subarray(this.pBmpData,this.pBmpData+_0x434365)),null!=_0x20d8a3&&_0x20d8a3(_0x3d47c6,_0x434365),_0x72498b&&this._downloadFile(_0x3d47c6,"GetBmp.bmp"),_0x3d47c6=null,this.bmpDataCallback=null,this.bmpDownloadFlag=!1}return 1}}},{key:"JSPlayM4_GetCropJPEG",value:function(){var _0x526944=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,_0x51d957=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.CropjpegDataCallback=_0x526944,this.CropjpegDownloadFlag=_0x51d957,1===this.decodeEngine)return this.hasWebWorker?this.decodeWorker.postMessage({command:"GetCropJPEG"}):null!=this.pcVideoManager&&this.pcVideoManager.GetCropJPEG(),1;if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetCropJPEG","color: red"),0;var _0x25fe60=_0x37dd52._JSPlayM4_GetFrameInfo(this.port);if(this.width=_0x37dd52.HEAP32[_0x25fe60+12>>2],this.height=_0x37dd52.HEAP32[_0x25fe60+16>>2],0!=this.width&&0!=this.height){var _0x38159c=this.width*this.height*4+60,_0x1f296b=_0x37dd52._malloc(_0x38159c),_0x81a526=_0x37dd52._malloc(4),_0x239b16=this.SetDisRegionBottom,_0x18477a=this.SetDisRegionLeft,_0x9ab4=this.SetDisRegionRight,_0x583d10=this.SetDisRegionTop;if(null===_0x1f296b)return;var _0x4ec471=_0x37dd52._JSPlayM4_GetCropJPEG(this.port,_0x1f296b,_0x38159c,_0x81a526,0,0,_0x18477a,_0x583d10,_0x9ab4,_0x239b16);if(1!=_0x4ec471){var _0x470a28=_0x37dd52._JSPlayM4_GetLastError(this.port);console.log("errorcode:"+_0x470a28)}if(1==_0x4ec471){var _0x54a5f3=_0x37dd52.getValue(_0x81a526,"i32"),_0x2275b4=new Uint8Array(_0x54a5f3);_0x2275b4.set(_0x37dd52.HEAPU8.subarray(_0x1f296b,_0x1f296b+_0x54a5f3)),null!=_0x526944&&_0x526944(_0x2275b4,_0x54a5f3),_0x51d957&&this._downloadFile(_0x2275b4,"GetCropJPEG.jpeg"),_0x2275b4=null,this.CropjpegDataCallback=null,this.CropjpegDownloadFlag=!1}return null!=_0x1f296b&&(_0x37dd52._free(_0x1f296b),_0x1f296b=null),null!=_0x81a526&&(_0x37dd52._free(_0x81a526),_0x81a526=null),_0x4ec471}return 0}},{key:"JSPlayM4_GetCropBMP",value:function(){var _0x143bc4=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,_0x1c95e1=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.CropbmpDataCallback=_0x143bc4,this.CropbmpDownloadFlag=_0x1c95e1,1===this.decodeEngine)return this.hasWebWorker?this.decodeWorker.postMessage({command:"GetCropBMP"}):null!=this.pcVideoManager&&this.pcVideoManager.GetCropBMP(),1;if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetCropBMP","color: red"),0;var _0x4ff6a3=_0x37dd52._JSPlayM4_GetFrameInfo(this.port);if(this.width=_0x37dd52.HEAP32[_0x4ff6a3+12>>2],this.height=_0x37dd52.HEAP32[_0x4ff6a3+16>>2],0==this.width||0==this.height)return 0;var _0x26dbc5=this.width*this.height*4+60,_0x179dd5=_0x37dd52._malloc(_0x26dbc5),_0x1ddafc=_0x37dd52._malloc(4),_0x5844eb=this.SetDisRegionBottom,_0x1dad13=this.SetDisRegionLeft,_0x49c1dd=this.SetDisRegionRight,_0x29e019=this.SetDisRegionTop;if(null!==_0x179dd5){var _0x5bfe01=_0x37dd52._JSPlayM4_GetCropBMP(this.port,_0x179dd5,_0x26dbc5,_0x1ddafc,0,0,_0x1dad13,_0x29e019,_0x49c1dd,_0x5844eb);if(1!=_0x5bfe01){var _0x134a61=_0x37dd52._JSPlayM4_GetLastError(this.port);console.log("errorcode:"+_0x134a61)}if(1==_0x5bfe01){var _0x5e73b4=_0x37dd52.getValue(_0x1ddafc,"i32"),_0x5d1cec=new Uint8Array(_0x5e73b4);_0x5d1cec.set(_0x37dd52.HEAPU8.subarray(_0x179dd5,_0x179dd5+_0x5e73b4)),null!=_0x143bc4&&_0x143bc4(_0x5d1cec,_0x5e73b4),_0x1c95e1&&this._downloadFile(_0x5d1cec,"GetCropBmp.bmp"),_0x5d1cec=null,this.CropbmpDataCallback=null,this.CropbmpDownloadFlag=!1}return null!=_0x179dd5&&(_0x37dd52._free(_0x179dd5),_0x179dd5=null),null!=_0x1ddafc&&(_0x37dd52._free(_0x1ddafc),_0x1ddafc=null),1}}},{key:"JSPlayM4_GetCanvasCapture",value:function(_0x3a51cb,_0x127960,_0x41b96d){return this.imageCB=_0x3a51cb,1===this.decodeEngine?(this.hasWebWorker?this.decodeWorker.postMessage({command:"GetCanvasCapture",capWidth:_0x127960,capHeight:_0x41b96d}):null!=this.pcVideoManager&&this.pcVideoManager.GetCanvasCapture(_0x3a51cb,_0x127960,_0x41b96d),1):(_0xcfcda=0==_0x127960||0==_0x41b96d?0:1,_0x37dd52._JSPlayM4_GetD3DCapture(this.port,_0xcfcda,_0x127960,_0x41b96d),1);var _0xcfcda}},{key:"JSPlayM4_StopSound",value:function(){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_StopSound","color: red"),0):(this.needPlaySound=!1,_0x37dd52._JSPlayM4_StopSound())}},{key:"JSPlayM4_GetSDKVersion",value:function(){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetSDKVersion","color: red"),0):_0x37dd52._JSPlayM4_GetSDKVersion()}},{key:"JSPlayM4_GetBuildDate",value:function(){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetBuildDate","color: red"),0):_0x37dd52._JSPlayM4_GetBuildDate()}},{key:"JSPlayM4_GetLastError",value:function(){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetLastError","color: red"),0):_0x37dd52._JSPlayM4_GetLastError(this.port)}},{key:"JSPlayM4_Fast",value:function(){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_Fast","color: red"),0;if(0===this.streamOpenMode)return 1;if(1===this.decodeEngine)if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"fast"})}else null!=this.pcVideoManager&&this.pcVideoManager.fast();var _0x4b2272=_0x37dd52._JSPlayM4_Fast(this.port);return 1==_0x4b2272&&(this.playSpeed=2*this.playSpeed),_0x4b2272}},{key:"JSPlayM4_Slow",value:function(){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_Slow","color: red"),0;if(0===this.streamOpenMode)return 1;if(1===this.decodeEngine)if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"slow"})}else null!=this.pcVideoManager&&this.pcVideoManager.slow();var _0x5dc584=_0x37dd52._JSPlayM4_Slow(this.port);return 1==_0x5dc584&&(this.playSpeed=this.playSpeed/2),console.log("this.playSpeed:"+this.playSpeed),_0x5dc584}},{key:"JSPlayM4_SetIFrameDecInterval",value:function(_0x4bded8){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetIFrameDecInterval","color: red"),0):1===this.decodeEngine?1:(this.decInterval=_0x4bded8,_0x37dd52._JSPlayM4_SetIFrameDecInterval(this.port,_0x4bded8))}},{key:"JSPlayM4_Pause",value:function(_0x5cc534){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_Pause","color: red"),0):0===this.streamOpenMode?1:(1===this.decodeEngine&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"Pause",value:_0x5cc534}):null!=this.pcVideoManager&&this.pcVideoManager.Pause(_0x5cc534)),_0x37dd52._JSPlayM4_Pause(this.port,_0x5cc534))}},{key:"JSPlayM4_OneByOne",value:function(){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_OneByOne","color: red"),0;if(0===this.streamOpenMode)return 0;_0x40de3a.cmd="onebyone";var _0x4ddc17=_0x37dd52._JSPlayM4_GetSourceBufferRemain(this.port),_0x10b5a5=_0x37dd52._JSPlayM4_GetLastError(this.port);return _0x4ddc17<1e3||31==_0x10b5a5?(_0x40de3a.errorCode=31,_0x40de3a.status=!0,this.fn(_0x40de3a)):(_0x4ddc17>this.HIKPoolSize-1e3||11==_0x10b5a5)&&(_0x40de3a.errorCode=0,_0x40de3a.status=!1,this.fn(_0x40de3a)),2!=this.curStatus&&6!=this.curStatus||(this.lastStatus=this.curStatus),this.curStatus=5,1===this.decodeEngine&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"OneByOne",value:1}):null!=this.pcVideoManager&&this.pcVideoManager.OneByOne(1)),_0x37dd52._JSPlayM4_OneByOne(this.port,this.decodeQueueSize,this.decodeFrameSize)}},{key:"JSPlayM4_OneByOneResume",value:function(){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_OneByOneResume","color: red"),0):(_0x40de3a.cmd="play",0===this.streamOpenMode?1:(2===this.lastStatus?this.curStatus=2:6===this.lastStatus&&(this.curStatus=6),1===this.decodeEngine&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"OneByOne",value:0}):null!=this.pcVideoManager&&this.pcVideoManager.OneByOne(0)),_0x37dd52._JSPlayM4_Play(this.port,this.canvasIDData)))}},{key:"JSPlayM4_SetVolume",value:function(_0x2c2779){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetVolume","color: red"),0):(this.volumeValue=_0x2c2779,_0x37dd52._JSPlayM4_SetVolume(this.port,_0x2c2779))}},{key:"JSPlayM4_GetVolume",value:function(){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetVolume","color: red"),0):_0x37dd52._JSPlayM4_GetVolume(this.port)}},{key:"JSPlayM4_SetDisplayRegion",value:function(_0x707fae,_0x504abb,_0x1a6b78,_0x44d976,_0xfa3097){var _0xa601d7=arguments.length>5&&void 0!==arguments[5]&&arguments[5],_0x4c07bc=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDisplayRegion","color: red"),0;var _0x2fb860=1,_0x2fbcc4=_0x504abb,_0x4f8cfe=_0x44d976,_0x4fb65c=_0x1a6b78,_0x35f0ac=_0xfa3097;if(_0xa601d7?(_0x2fbcc4=0,_0x4fb65c=this.canvasWidth,_0x4f8cfe=0,_0x35f0ac=this.canvasHeight,this.iZoomNum=0,this.iRatio_x=1,this.iRatio_y=1):_0x4c07bc&&0!==this.iZoomNum&&(_0x2fbcc4=Math.round(_0x2fbcc4/this.iRatio_x)+this.stDisplayRect.left,_0x4f8cfe=Math.round(_0x4f8cfe/this.iRatio_y)+this.stDisplayRect.top,_0x4fb65c=Math.round(_0x4fb65c/this.iRatio_x)+this.stDisplayRect.left,_0x35f0ac=Math.round(_0x35f0ac/this.iRatio_y)+this.stDisplayRect.top),this.stDisplayRect={top:_0x4f8cfe,left:_0x2fbcc4,right:_0x4fb65c,bottom:_0x35f0ac},1===this.decodeEngine)if(this.SetDisRegionBottom=_0x35f0ac/this.canvasHeight*this.height,this.SetDisRegionLeft=_0x2fbcc4/this.canvasWidth*this.width,this.SetDisRegionRight=_0x4fb65c/this.canvasWidth*this.width,this.SetDisRegionTop=_0x4f8cfe/this.canvasHeight*this.height,this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetDisplayRegion",sx:this.SetDisRegionLeft,sy:this.SetDisRegionTop,sw:this.SetDisRegionRight-this.SetDisRegionLeft,sh:this.SetDisRegionBottom-this.SetDisRegionTop})}else null!=this.pcVideoManager&&this.pcVideoManager.SetDisplayRegion(this.SetDisRegionLeft,this.SetDisRegionTop,this.SetDisRegionRight-this.SetDisRegionLeft,this.SetDisRegionBottom-this.SetDisRegionTop);else{var _0x63bb88=_0x37dd52._JSPlayM4_GetFrameInfo(this.port);this.width=_0x37dd52.HEAP32[_0x63bb88+12>>2],this.height=_0x37dd52.HEAP32[_0x63bb88+16>>2],this.SetDisRegionBottom=_0x35f0ac/this.canvasHeight*this.height,this.SetDisRegionLeft=_0x2fbcc4/this.canvasWidth*this.width,this.SetDisRegionRight=_0x4fb65c/this.canvasWidth*this.width,this.SetDisRegionTop=_0x4f8cfe/this.canvasHeight*this.height,_0x2fb860=_0x37dd52._JSPlayM4_SetDisplayRegion(this.port,this.canvasID,this.SetDisRegionLeft,this.SetDisRegionRight,this.SetDisRegionTop,this.SetDisRegionBottom)}return _0x4c07bc&&(this.iRatio_x=this.canvasWidth/(_0x4fb65c-_0x2fbcc4),this.iRatio_y=this.canvasHeight/(_0x35f0ac-_0x4f8cfe),this.iZoomNum++),_0x2fb860}},{key:"JSPlayM4_SetPrintLogFlag",value:function(_0x14dfb5){if(this.printfFlag=Number(_0x14dfb5),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetPrintLogFlag","color: red"),0;if(1===this.decodeEngine)if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetPrintLogFlag",printfFlag:this.printfFlag})}else null!=this.pcVideoManager&&this.pcVideoManager.SetPrintLogFlag(this.printfFlag);return _0x37dd52._JSPlayM4_SetPrintLogFlag(this.port,_0x14dfb5)}},{key:"JSPlayM4_RenderPrivateData",value:function(_0x497fe3,_0x4f209b){var _0x40036d=1;if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_RenderPrivateData","color: red"),0;if(this.renderPrivateInfo.set(_0x497fe3,_0x4f209b),1===this.decodeEngine){if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"RenderPrivateData",intelType:_0x497fe3,bTrue:_0x4f209b})}else null!=this.pcVideoManager&&(_0x40036d=this.pcVideoManager.RenderPrivateData(_0x497fe3,_0x4f209b));_0x4f209b&&(_0x40036d=_0x37dd52._JSPlayM4_RenderPrivateData(this.port,_0x497fe3,_0x4f209b))}else _0x40036d=_0x37dd52._JSPlayM4_RenderPrivateData(this.port,_0x497fe3,_0x4f209b);return _0x40036d}},{key:"JSPlayM4_RenderPrivateDataEx",value:function(_0x3108d8,_0x8040bb,_0x190cae){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_RenderPrivateDataEx","color: red"),0;if(this.renderIntelSubEx.set(_0x3108d8,_0x8040bb),this.renderIntelFlagEx.set(_0x3108d8,_0x190cae),1===this.decodeEngine)if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"RenderPrivateDataEx",intelType:_0x3108d8,subType:_0x8040bb,bTrue:_0x190cae})}else null!=this.pcVideoManager&&this.pcVideoManager.RenderPrivateDataEx(_0x3108d8,_0x8040bb,_0x190cae);return _0x37dd52._JSPlayM4_RenderPrivateDataEx(this.port,_0x3108d8,_0x8040bb,_0x190cae)}},{key:"JSPlayM4_SetCanvasSize",value:function(_0x470143,_0x1c0ca8){var _0x3aa0df=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetCanvasSize","color: red"),0;if(_0x470143<16||_0x1c0ca8<16||null===this.canvasID)return 0;if(this.canvasWidth=_0x470143,this.canvasHeight=_0x1c0ca8,1===this.decodeEngine)if(this.hasWebWorker){if(null==this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetCanvasSize",width:_0x470143,height:_0x1c0ca8,FECSubPort:_0x3aa0df})}else null!=this.pcVideoManager&&this.pcVideoManager.SetCanvasSize(_0x470143,_0x1c0ca8,_0x3aa0df);return _0x37dd52._JSPlayM4_SetCanvasSize(this.port,_0x470143,_0x1c0ca8,_0x3aa0df)}},{key:"JSPlayM4_SetDisplayBuf",value:function(_0x3aed26){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDisplayBuf","color: red"),0):(this.displayBuf=_0x3aed26,this.needSetDisplayBuf=!0,1===this.decodeEngine&&(this.hasWebWorker?null===this.decodeWorker||this.decodeWorker.postMessage({command:"SetDisplayBuf",value:_0x3aed26}):null!=this.pcVideoManager&&this.pcVideoManager.SetDisplayBuf(_0x3aed26)),_0x37dd52._JSPlayM4_SetDisplayBuf(this.port,_0x3aed26))}},{key:"JSPlayM4_GetSourceBufferRemain",value:function(){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetSourceBufferRemain","color: red"),0):_0x37dd52._JSPlayM4_GetSourceBufferRemain(this.port)}},{key:"JSPlayM4_GetBufferValue",value:function(_0xdd8763){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetBufferValue","color: red"),0):_0x37dd52._JSPlayM4_GetBufferValue(this.port,_0xdd8763)}},{key:"JSPlayM4_ReversePlay",value:function(){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_ReversePlay","color: red"),0;if(0===this.streamOpenMode)return 1;if(this.reversePlay=!0,1===this.decodeEngine){if(6==this.curStatus)return 1;if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"NotifyBackPlay",flag:1})}else null!=this.pcVideoManager&&this.pcVideoManager.NotifyBackPlay(1);return _0x37dd52._JSPlayM4_ResetBuffer(this.port,1),this.needPlaySound&&_0x37dd52._JSPlayM4_StopSound(),this.needPlaySoundShare&&_0x37dd52._JSPlayM4_StopSoundShare(this.port),this.curStatus=6,1}var _0x2aefff=_0x37dd52._JSPlayM4_ReversePlay(this.port);return 1==_0x2aefff&&(this.curStatus=6),_0x2aefff}},{key:"JSPlayM4_SetDecodeThreadNum",value:function(_0x439e7f){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDecodeThreadNum","color: red"),0):(this.decodeThreadNum=_0x439e7f,_0x37dd52._JSPlayM4_SetDecodeThreadNum(this.port,_0x439e7f))}},{key:"JSPlayM4_GetCanvasSize",value:function(){var _0x31ff70=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetCanvasSize","color: red"),0):1===this.decodeEngine?(this.hasWebWorker?this.decodeWorker.postMessage({command:"GetCanvasSize"}):null!=this.pcVideoManager&&this.pcVideoManager.GetCanvasSize(),1):_0x37dd52._JSPlayM4_GetCanvasSize(this.port,_0x31ff70)}},{key:"JSPlayM4_DisplayLostFrames",value:function(_0x4c0fb9,_0x378f50,_0x4a4d6a){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_DisplayLostFrames","color: red"),0):_0x37dd52._JSPlayM4_DisplayLostFrames(this.port,_0x4c0fb9,_0x378f50,_0x4a4d6a)}},{key:"JSPlayM4_SetIVSContraBandDrawMode",value:function(_0x258abe){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetIVSContraBandDrawMode","color: red"),0):_0x37dd52._JSPlayM4_SetIVSContraBandDrawMode(this.port,_0x258abe)}},{key:"JSPlayM4_SetANRParam",value:function(_0x3d27d9,_0x21a13b){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetANRParam","color: red"),0):(this.anrParamFlag=_0x3d27d9,this.anrParamLevel=_0x21a13b,_0x37dd52._JSPlayM4_SetANRParam(this.port,_0x3d27d9,_0x21a13b))}},{key:"JSPlayM4_SetResampleValue",value:function(_0xe7204b,_0x142a7c){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetResampleValue","color: red"),0):(this.resampleFlag=_0xe7204b,this.resampleRate=_0x142a7c,_0x37dd52._JSPlayM4_SetResampleValue(this.port,_0xe7204b,_0x142a7c))}},{key:"JSPlayM4_SetAntialias",value:function(_0x109d0a){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetAntialias","color: red"),0;var _0x15a357=1;return this.antialiasFlag=_0x109d0a,1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"SetAntialias",value:_0x109d0a}):null!=this.pcVideoManager&&(_0x15a357=this.pcVideoManager.SetAntialias(_0x109d0a)):_0x15a357=_0x37dd52._JSPlayM4_SetAntialias(this.port,_0x109d0a),_0x15a357}},{key:"JSPlayM4_SyncToAudio",value:function(_0xe1a38){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SyncToAudio","color: red"),0):(this.syncToAudio=SyncToAudio,_0x37dd52._JSPlayM4_SyncToAudio(this.port,_0xe1a38))}},{key:"JSPlayM4_SetAudioThreadModel",value:function(_0x50f11a){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetAudioThreadModel","color: red"),0):(this.setAudioThreadModel=_0x50f11a,_0x37dd52._JSPlayM4_SetAudioThreadModel(this.port,_0x50f11a))}},{key:"JSPlayM4_SetDecodeERC",value:function(_0x195d09){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDecodeERC","color: red"),0):(this.decodeERCLevel=_0x195d09,_0x37dd52._JSPlayM4_SetDecodeERC(this.port,_0x195d09))}},{key:"JSPlayM4_SkipErrorData",value:function(_0x1ae1d5){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SkipErrorData","color: red"),0):(this.needSetSkipErrorData=!0,this.skipErrorData=_0x1ae1d5,_0x37dd52._JSPlayM4_SkipErrorData(this.port,_0x1ae1d5))}},{key:"JSPlayM4_SetDemuxModel",value:function(_0xc2f0be,_0x34a172){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDemuxModel","color: red"),0):(this.needSetDemuxModel=!0,this.setDemuxModelType=_0xc2f0be,this.setDemuxModelFlag=_0x34a172,_0x37dd52._JSPlayM4_SetDemuxModel(this.port,_0xc2f0be,_0x34a172))}},{key:"JSPlayM4_SetD3DPostProcess",value:function(_0x410fc7,_0x59ef9b){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetD3DPostProcess","color: red"),0;var _0x2b6a26=1;return this.d3dPostProcessType=_0x410fc7,this.d3dPostProcessValue=_0x59ef9b,this.needSetD3DPostProcess=!0,1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"SetD3DPostProcess",ProcessType:_0x410fc7,ProcessValue:_0x59ef9b}):null!=this.pcVideoManager&&(_0x2b6a26=this.pcVideoManager.SetD3DPostProcess(_0x410fc7,_0x59ef9b)):_0x2b6a26=_0x37dd52._JSPlayM4_SetD3DPostProcess(this.port,_0x410fc7,_0x59ef9b),_0x2b6a26}},{key:"JSPlayM4_SetFirstFrameCallBack",value:function(_0xe85f3f,_0x301207){if(!(_0x301207&&"function"==typeof _0x301207||null===_0x301207))return 0;if(this.FFCallBackFun=_0x301207,this.FirstFrameCallBackflag=_0xe85f3f,null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetFirstFrameCallBack","color: red"),0;var _0x2d870b=1;return 0===this.decodeEngine&&(_0x2d870b=_0x37dd52._JSPlayM4_SetFirstFrameCallBack(this.port,_0xe85f3f,this.nUser)),_0x2d870b}},{key:"JSPlayM4_SetDecCallBack",value:function(_0x3f4c1e,_0x373941){return _0x373941&&"function"==typeof _0x373941||null===_0x373941?(this.decCallBackFun=_0x373941,null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDecCallBack","color: red"),0):_0x37dd52._JSPlayM4_SetDecCallBack(this.port,_0x3f4c1e,this.nUser)):0}},{key:"JSPlayM4_SetHardDecToJepgCallBack",value:function(_0xc1fda,_0x47f019){return _0x47f019&&"function"==typeof _0x47f019||null===_0x47f019?(this.HardDecToJpegQuality=_0xc1fda.nHardToJpegQuality,this.HardDecToJpegInterval=_0xc1fda.nHardToJpegInterval,this.HardToJpegZoomWidth=_0xc1fda.nHardToJpegZoomWidth,this.HardToJpegZoomHeight=_0xc1fda.nHardToJpegZoomHeight,this.HardToJpegZoomResolutionFlag=_0xc1fda.nZoomResolutionFlag,this.HardDecToJpegCBFun=_0x47f019,1):0}},{key:"JSPlayM4_SetDisplayCallBack",value:function(_0x39dd28,_0x560797){return _0x560797&&"function"==typeof _0x560797||null===_0x560797?(this.displayCallBackFun=_0x560797,null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDisplayCallBack","color: red"),0):(this.JSPlayM4_SetDecCBStream(1),_0x37dd52._JSPlayM4_SetDisplayCallBack(this.port,_0x39dd28,this.nUser))):0}},{key:"JSPlayM4_SetFrameInfoCallBack",value:function(_0x31fdce){var _0x4f8b54=this,_0x13aa27=1;if(1===this.decodeEngine)this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"SetFrameInfoCallBack",value:_0x31fdce}):null!=this.pcVideoManager&&(_0x13aa27=this.pcVideoManager.SetFrameInfoCallBack((function(_0x4bc421){_0x4f8b54.displayFrameInfo.port=_0x4bc421.port,_0x4f8b54.displayFrameInfo.codecType=_0x4bc421.codecType,_0x4f8b54.displayFrameInfo.frameType=_0x4bc421.frameType,_0x4f8b54.displayFrameInfo.frameSize=_0x4bc421.frameSize,_0x4f8b54.displayFrameInfo.width=_0x4bc421.width,_0x4f8b54.displayFrameInfo.height=_0x4bc421.height,_0x4f8b54.displayFrameInfo.timeStamp=_0x4bc421.timeStamp,_0x4f8b54.displayFrameInfo.frameRate=_0x4bc421.frameRate,_0x4f8b54.displayFrameInfo.frameNum=_0x4bc421.frameNum,_0x4f8b54.displayFrameInfo.interlace=_0x4bc421.interlace,_0x4f8b54.displayFrameInfo.streamEnd=_0x4bc421.streamEnd,_0x4f8b54.displayFrameInfo.cropLeft=_0x4bc421.cropLeft,_0x4f8b54.displayFrameInfo.cropRight=_0x4bc421.cropRight,_0x4f8b54.displayFrameInfo.cropTop=_0x4bc421.cropTop,_0x4f8b54.displayFrameInfo.cropBottom=_0x4bc421.cropBottom,_0x4f8b54.displayFrameInfo.year=_0x4bc421.year,_0x4f8b54.displayFrameInfo.month=_0x4bc421.month,_0x4f8b54.displayFrameInfo.week=_0x4bc421.week,_0x4f8b54.displayFrameInfo.day=_0x4bc421.day,_0x4f8b54.displayFrameInfo.hour=_0x4bc421.hour,_0x4f8b54.displayFrameInfo.minute=_0x4bc421.minute,_0x4f8b54.displayFrameInfo.second=_0x4bc421.second,_0x4f8b54.displayFrameInfo.milliseconds=_0x4bc421.milliseconds}),_0x31fdce));else{if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetFrameInfoCallBack","color: red"),0;_0x13aa27=_0x37dd52._JSPlayM4_SetFrameInfoCallBack(this.port,_0x31fdce)}return _0x13aa27}},{key:"JSPlayM4_SetDecCBStream",value:function(_0xefca8){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetDecCBStream","color: red"),0):_0x37dd52._JSPlayM4_SetDecCBStream(this.port,_0xefca8)}},{key:"JSPlayM4_GetFrameInfo",value:function(){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetFrameInfo","color: red"),0;var _0x48d1b9={};if(0==this.decodeEngine){var _0x25cfe9=_0x37dd52._JSPlayM4_GetFrameInfo(this.port);_0x48d1b9.port=_0x37dd52.HEAP32[_0x25cfe9>>2],_0x48d1b9.frameType=_0x37dd52.HEAP32[_0x25cfe9+4>>2],_0x48d1b9.frameSize=_0x37dd52.HEAP32[_0x25cfe9+8>>2],_0x48d1b9.width=_0x37dd52.HEAP32[_0x25cfe9+12>>2],_0x48d1b9.height=_0x37dd52.HEAP32[_0x25cfe9+16>>2],_0x48d1b9.timeStamp=_0x37dd52.HEAP32[_0x25cfe9+20>>2],_0x48d1b9.frameRate=_0x37dd52.HEAP32[_0x25cfe9+24>>2],_0x48d1b9.bitPerSample=_0x37dd52.HEAP32[_0x25cfe9+28>>2],_0x48d1b9.samplesPerSec=_0x37dd52.HEAP32[_0x25cfe9+32>>2],_0x48d1b9.channel=_0x37dd52.HEAP32[_0x25cfe9+36>>2],_0x48d1b9.frameNum=_0x37dd52.HEAP32[_0x25cfe9+40>>2],_0x48d1b9.cropLeft=_0x37dd52.HEAP32[_0x25cfe9+44>>2],_0x48d1b9.cropRight=_0x37dd52.HEAP32[_0x25cfe9+48>>2],_0x48d1b9.cropTop=_0x37dd52.HEAP32[_0x25cfe9+52>>2],_0x48d1b9.cropBottom=_0x37dd52.HEAP32[_0x25cfe9+56>>2],_0x48d1b9.year=_0x37dd52.HEAP16[_0x25cfe9+60>>1],_0x48d1b9.month=_0x37dd52.HEAP16[_0x25cfe9+62>>1],_0x48d1b9.week=_0x37dd52.HEAP16[_0x25cfe9+64>>1],_0x48d1b9.day=_0x37dd52.HEAP16[_0x25cfe9+66>>1],_0x48d1b9.hour=_0x37dd52.HEAP16[_0x25cfe9+68>>1],_0x48d1b9.minute=_0x37dd52.HEAP16[_0x25cfe9+70>>1],_0x48d1b9.second=_0x37dd52.HEAP16[_0x25cfe9+72>>1],_0x48d1b9.milliseconds=_0x37dd52.HEAP16[_0x25cfe9+74>>1],this.width=_0x48d1b9.width,this.height=_0x48d1b9.height}else _0x48d1b9=this.displayFrameInfo;return _0x48d1b9}},{key:"JSPlayM4_GetAdditionData",value:function(){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetAdditionData","color: red"),0;var _0x2a7d06=_0x37dd52._JSPlayM4_GetAdditionData(this.port);return null.dataType=_0x37dd52.HEAP32[_0x2a7d06>>2],null.dataStrVersion=_0x37dd52.HEAP32[_0x2a7d06+4>>2],null.dataTimeStamp=_0x37dd52.HEAP32[_0x2a7d06+8>>2],null.dataLength=_0x37dd52.HEAP32[_0x2a7d06+12>>2],null.pData=_0x37dd52.HEAP32[_0x2a7d06+16>>2],null.additionDataBuffer=new Uint8Array(dataLength),additionDataBuffer.set(_0x37dd52.HEAPU8.subarray(pData,pData+dataLength)),null}},{key:"JSPlayM4_SetAdditionDataCallBack",value:function(_0x41f4f1,_0x2e6e7b,_0x144395){return this.additionDataType=_0x41f4f1,this.additionFlag=_0x2e6e7b,this.addCBFun=_0x144395,this.needSetAdditionDataCB=!0,null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetAdditionDataCallBack","color: red"),0):_0x144395&&"function"==typeof _0x144395||null===_0x144395?(this.addtionCallBackFun=_0x144395,_0x37dd52._JSPlayM4_SetAdditionDataCallBack(this.port,_0x41f4f1,_0x2e6e7b,this.nUser)):0}},{key:"JSPlayM4_GetPlayedTimeEx",value:function(_0x432845){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetPlayedTimeEx","color: red"),0;if(!(_0x432845&&"function"==typeof _0x432845||null===_0x432845))return 0;if(this.getPlayTimeCallBackFun=_0x432845,1===this.decodeEngine){if(this.hasWebWorker)this.decodeWorker.postMessage({command:"GetPlayedTime"});else if(null!=this.pcVideoManager){var _0x205e3b=this.pcVideoManager.GetPlayedTime();this.getPlayTimeCallBackFun&&this.getPlayTimeCallBackFun(_0x205e3b-this.startTimeStamp)}}else{var _0x4ff77c=_0x37dd52._JSPlayM4_GetPlayedTimeEx(this.port);this.getPlayTimeCallBackFun(_0x4ff77c)}}},{key:"JSPlayM4_GetFileTime",value:function(){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetFileTime","color: red"),0):_0x37dd52._JSPlayM4_GetFileTime(this.port)}},{key:"JSPlayM4_GetMpOffset",value:function(_0x2ac455){var _0x3ac799=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,_0x36188d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,_0x475604=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_GetMpOffset","color: red"),0;if(!(_0x475604&&"function"==typeof _0x475604||null===_0x475604))return 0;if(this.SetPlayPosCBFun=_0x475604,0==_0x3ac799&&_0x2ac455>1e3*this.JSPlayM4_GetFileTime())return-1;1===this.decodeEngine&&(this.hasWebWorker?(this.decodeWorker.postMessage({command:"needReset",bTrue:!1}),this.decodeWorker.postMessage({command:"SetTargetRelativePos",nRelativePos:_0x2ac455,nPosType:_0x3ac799,nPlayMode:_0x36188d})):null!=this.pcVideoManager&&(this.pcVideoManager.needReset(!1),this.pcVideoManager.SetTargetRelativePos(_0x2ac455,_0x3ac799,_0x36188d)));var _0x536bbd=0;return null!=_0x475604&&(_0x536bbd=1),_0x37dd52._JSPlayM4_GetMpOffset(this.port,_0x2ac455,_0x3ac799,_0x36188d,_0x536bbd,this.nUser)}},{key:"JSPlayM4_ResetBuffer",value:function(_0x29fec6){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_ResetBuffer","color: red"),0):(this.resetBufferType=_0x29fec6,1!==this.decodeEngine||1!=_0x29fec6&&3!=_0x29fec6&&7!=_0x29fec6&&8!=_0x29fec6||(this.hasWebWorker?this.decodeWorker.postMessage({command:"ResetBuffer"}):null!=this.pcVideoManager&&this.pcVideoManager.ResetBuffer()),_0x37dd52._JSPlayM4_ResetBuffer(this.port,_0x29fec6))}},{key:"JSPlayM4_SetGlobalBaseTime",value:function(_0x34bc43,_0x1cec67,_0x2b3667,_0x2ada8b,_0x2eb2e8,_0x39528d,_0x2c8ca3){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetGlobalBaseTime","color: red"),0):(this.globalBaseTime={year:_0x34bc43,month:_0x1cec67,day:_0x2b3667,hour:_0x2ada8b,min:_0x2eb2e8,sec:_0x39528d,ms:_0x2c8ca3},_0x37dd52._JSPlayM4_SetGlobalBaseTime(this.port,_0x34bc43,_0x1cec67,_0x2b3667,_0x2ada8b,_0x2eb2e8,_0x39528d,_0x2c8ca3))}},{key:"JSPlayM4_SetSecretKey",value:function(_0x3d3fbf,_0x507ade,_0x4b71d2){if(this.needSetSecretKey=!0,this.SecretKeyData=_0x507ade,this.keyType=_0x3d3fbf,this.pKeyDataLen=_0x4b71d2,null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetSecretKey","color: red"),0;this.printfFlag>0&&console.log(">>>>>yff>>> JSPlayM4_SetSecretKey keyType:"+_0x3d3fbf+",keyData:"+_0x507ade+",this.port:"+this.port);var _0x2c0032=1;if(null==_0x507ade||void 0===_0x507ade||""===_0x507ade)return 0;if(null!=_0x507ade){var _0x14f0f1=this._stringToBytes(_0x507ade),_0x58eeab=_0x37dd52._malloc(_0x4b71d2);if(null===_0x58eeab)return;var _0x399dcd=_0x37dd52.HEAPU8.subarray(_0x58eeab,_0x58eeab+_0x4b71d2),_0x1e3282=new Uint8Array(_0x4b71d2);_0x399dcd.set(_0x1e3282,0),_0x399dcd.set(new Uint8Array(_0x14f0f1)),_0x399dcd=null,_0x1e3282=null,_0x2c0032=_0x37dd52._JSPlayM4_SetSecretKey(this.port,_0x3d3fbf,_0x58eeab,_0x4b71d2),null!==_0x58eeab&&(_0x37dd52._free(_0x58eeab),_0x58eeab=null)}return _0x2c0032}},{key:"JSPlayM4_SetRunTimeInfoCallBackEx",value:function(_0x56e434,_0x1d71ea){return _0x1d71ea&&"function"==typeof _0x1d71ea||null===_0x1d71ea?(this.runtimeCBFun=_0x1d71ea,this.runTimeModule=_0x56e434,this.needSetRunTimeInfoCB=!0,null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetRunTimeInfoCallBackEx","color: red"),0):(1===this.decodeEngine&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"SetRunTimeInfoCallBack",module:_0x56e434}):null!=this.pcVideoManager&&this.pcVideoManager.SetRunTimeInfoCallBack(_0x56e434,_0x1d71ea)),_0x37dd52._JSPlayM4_SetRunTimeInfoCallBackEx(this.port,_0x56e434,this.nUser))):0}},{key:"JSPlayM4_SetRunTimeInfoCallbackType",value:function(_0x5724fb,_0xafc478,_0x4a4060){return this.needSetRunTimeInfoCBType=!0,null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetRunTimeInfoCallbackType","color: red"),0):(1===this.decodeEngine&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"SetRunTimeInfoCallbackType",module:_0x5724fb,type:_0xafc478,flag:_0x4a4060}):null!=this.pcVideoManager&&this.pcVideoManager.SetRunTimeInfoCallbackType(_0x5724fb,_0xafc478,_0x4a4060)),_0x37dd52._JSPlayM4_SetRunTimeInfoCallbackType(this.port,_0x5724fb,_0xafc478,_0x4a4060))}},{key:"JSPlayM4_SetStreamInfoCallBack",value:function(_0x92f72f,_0x37217a){return _0x37217a&&"function"==typeof _0x37217a||null===_0x37217a?(this.streamInfoCBFun=_0x37217a,this.streamInfoType=_0x92f72f,null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetStreamInfoCallBack","color: red"),0):_0x37dd52._JSPlayM4_SetStreamInfoCallBack(this.port,_0x92f72f,this.nUser)):0}},{key:"JSPlayM4_SetPostMpStreamOffsetCallBack",value:function(_0x4a38b1){return this.PostMpStreamOffsetCBFun=_0x4a38b1,null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetPostMpStreamOffsetCallBack","color: red"),0):_0x37dd52._JSPlayM4_SetPostMpStreamOffsetCallBack(this.port,this.nUser)}},{key:"JSPlayM4_SetPlayOrBackSwitchMode",value:function(_0x22cbfe){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetPlayOrBackSwitchMode","color: red"),0;if(this.playOrBackSwitchMode=_0x22cbfe,0==this.decodeEngine)return _0x37dd52._JSPlayM4_SetPlayOrBackSwitchMode(this.port,_0x22cbfe);if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetPlayOrBackSwitchMode",PlayOrBackMode:_0x22cbfe})}else{if(null==this.pcVideoManager)return 0;this.pcVideoManager.SetPlayOrBackSwitchMode(_0x22cbfe)}return 1}},{key:"JSPlayM4_SetStretchPlay",value:function(_0x261b0e,_0x246f91){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetStretchPlay","color: red"),0;if(_0x246f91<1||_0x246f91>16)return 0;if(this.setStretchPlayTime=_0x261b0e,this.setStretchPlaySpeed=_0x246f91,1==this.decodeEngine)if(this.hasWebWorker){if(null===this.decodeWorker)return 0;this.decodeWorker.postMessage({command:"SetStretchPlay",Stretchtime:_0x261b0e,Stretchspeed:_0x246f91})}else null!=this.pcVideoManager&&this.pcVideoManager.SetStretchPlay(_0x261b0e,_0x246f91);return _0x37dd52._JSPlayM4_SetStretchPlay(this.port,_0x261b0e,_0x246f91)}},{key:"JSPlayM4_SetAutoSmoothPlay",value:function(_0x20fd84){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetAutoSmoothPlay","color: red"),0):(this.autoSmoothPlayModel=_0x20fd84,0==this.decodeEngine?_0x37dd52._JSPlayM4_SetAutoSmoothPlay(this.port,_0x20fd84):0)}},{key:"JSPlayM4_KeepPlaySpeed",value:function(_0x2d8d09){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_KeepPlaySpeed","color: red"),0):(this.keepPlaySpeed=_0x2d8d09,0==this.decodeEngine?_0x37dd52._JSPlayM4_KeepPlaySpeed(this.port,_0x2d8d09):0)}},{key:"JSPlayM4_IgnoreHeaderAudioDefine",value:function(_0x30843a){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_IgnoreHeaderAudioDefine","color: red"),0):_0x37dd52._JSPlayM4_IgnoreHeaderAudioDefine(this.port,_0x30843a)}},{key:"JSPlayM4_SetSycGroup",value:function(_0x1016fa){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetSycGroup","color: red"),0):_0x37dd52._JSPlayM4_SetSycGroup(this.port,_0x1016fa)}},{key:"JSPlayM4_SetRotateAngle",value:function(_0xf3efea){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetRotateAngle","color: red"),0;var _0x37d535=1;return this.twodRotateAngle=_0xf3efea,this.needSetRotateAngle=!0,1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"SetRotateAngle",rotateValue:_0xf3efea}):null!=this.pcVideoManager&&(_0x37d535=this.pcVideoManager.SetRotateAngle(_0xf3efea)):_0x37d535=_0x37dd52._JSPlayM4_SetRotateAngle(this.port,_0xf3efea),_0x37d535}},{key:"JSPlayM4_SetPanoramaDisplayEffect",value:function(_0x36f871){var _0x5a52b2=1;return 1!==this.decodeEngine?(console.info("%c softDecode not support JSPlayM4_SetPanoramaDisplayEffect","color: red"),0):(this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"SetPanoramaDisplayEffect",DisplayEffect:_0x36f871}):_0x5a52b2=0:_0x5a52b2=null!=this.pcVideoManager?this.pcVideoManager.SetPanoramaDisplayEffect(_0x36f871):0,_0x5a52b2)}},{key:"JSPlayM4_SetPanoramaSphereViewParam",value:function(_0x2eb971,_0x133d1c){var _0x1c26a5=1;return 1!==this.decodeEngine?(console.info("%c softDecode not support JSPlayM4_SetPanoramaSphereViewParam","color: red"),0):(this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"SetPanoramaSphereViewParam",ViewParamType:_0x2eb971,fValue:_0x133d1c}):_0x1c26a5=0:_0x1c26a5=null!=this.pcVideoManager?this.pcVideoManager.SetPanoramaSphereViewParam(_0x2eb971,_0x133d1c):0,_0x1c26a5)}},{key:"JSPlayM4_GetPanoramaSphereViewParam",value:function(_0xe30260,_0x53bd2f){var _0x25f7b6=1;this.GetPanoramaSphereViewParamCB=_0x53bd2f;var _0x2f5703={fValue:-1};return 1!==this.decodeEngine?(console.info("%c softDecode not support JSPlayM4_GetPanoramaSphereViewParam","color: red"),0):(this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"GetPanoramaSphereViewParam",ViewParamType:_0xe30260}):_0x25f7b6=0:null!=this.pcVideoManager?(_0x25f7b6=this.pcVideoManager.GetPanoramaSphereViewParam(_0xe30260,_0x2f5703),null!=this.GetPanoramaSphereViewParamCB&&this.GetPanoramaSphereViewParamCB(_0x2f5703)):_0x25f7b6=0,_0x25f7b6)}},{key:"JSPlayM4_FEC_SetCanvasID",value:function(){var _0x313023=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,_0x30055c=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(console.log(" JSPlayM4_FEC_SetCanvasID canvasID :"+_0x313023),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetCanvasID","color: red"),0;this.FECCanvasID=_0x313023;var _0x55e53b=1;if(null!=_0x313023&&""!=_0x313023)if(this.FECcanvasIDArray=_0x313023.split(","),1===this.decodeEngine)this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"SetCanvasID",canvasID:_0x313023}):null!=this.pcVideoManager?_0x55e53b=this.pcVideoManager.FEC_SetCanvasID(_0x313023):console.info("%c JSPlayM4_FEC_SetCanvasID this.pcVideoManager is null","color: red");else{for(var _0x1c8118="",_0x81ef47=0;_0x81ef470&&console.log("JSPlayM4_FEC_ResetCorrectType 1 decodeEngine:"+this.decodeEngine+",hasWebWorker:"+this.hasWebWorker+",fishSubPort:"+_0x250c87+",placeType:"+_0x5753ea+",correctType:"+_0xce4b78),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_ResetCorrectType","color: red"),0;this.FECPlaceType=_0x5753ea,this.FECCorrectType=_0xce4b78;var _0x366ec8=1;return 1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECResetCorrectType",fishSubPort:_0x250c87,placeType:_0x5753ea,correctType:_0xce4b78}):_0x366ec8=0:_0x366ec8=null!=this.pcVideoManager?this.pcVideoManager.FEC_ResetCorrectType(_0x250c87,_0x5753ea,_0xce4b78):0:_0x366ec8=_0x37dd52._JSPlayM4_FEC_ResetCorrectType(this.port,_0x250c87,_0x5753ea,_0xce4b78),_0x366ec8}},{key:"JSPlayM4_FEC_GetPort",value:function(_0x53c97c,_0x536beb){var _0x1e0638=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_GetPort this.decodeEngine:"+this.decodeEngine+",placeType:"+_0x53c97c+",correctType:"+_0x536beb),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_GetPort","color: red"),0;var _0x1a97e0=-1;return this.FECGetPortCB=_0x1e0638,1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECGetPort",placeType:_0x53c97c,correctType:_0x536beb}):_0x1a97e0=-1:(null!=this.pcVideoManager?((_0x1a97e0=this.pcVideoManager.FEC_GetPort(_0x53c97c,_0x536beb))<1||_0x1a97e0>16||null==_0x1a97e0)&&(_0x1a97e0=-1):_0x1a97e0=-1,null!=this.FECGetPortCB&&this.FECGetPortCB(_0x1a97e0)):(((_0x1a97e0=_0x37dd52._JSPlayM4_FEC_GetPort(this.port,_0x53c97c,_0x536beb))<1||_0x1a97e0>16||null==_0x1a97e0)&&(_0x1a97e0=-1),""!=self.FECCanvasID&&_0x1a97e0>3&&_0x57af08>70&&(console.info("%cJSPlayM4_FEC_GetPort fishport max is 4","color: red"),_0x1a97e0=-1),null!=this.FECGetPortCB&&this.FECGetPortCB(_0x1a97e0)),_0x1a97e0}},{key:"JSPlayM4_FEC_Enable",value:function(_0x59d202){if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_Enable this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+_0x59d202),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_Enable","color: red"),0;var _0x51a59=1;return 0==_0x59d202?console.log("fishPort is 0 ,main canvas doesn't need call FEC_Enable"):1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECEnable",fishSubPort:_0x59d202}):_0x51a59=0:_0x51a59=null!=this.pcVideoManager?this.pcVideoManager.FEC_Enable(_0x59d202):0:_0x51a59=_0x37dd52._JSPlayM4_FEC_Enable(this.port,_0x59d202),_0x51a59}},{key:"JSPlayM4_FEC_SetParam",value:function(_0x24469e,_0x15f86b){if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_SetParam 1 this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+_0x24469e+",upDateType:"+_0x15f86b.upDateType+",param2d.fPTZParam.fPTZPositionX:"+_0x15f86b.fPTZParam.fPTZPositionX+",param2d.fPTZParam.fPTZPositionY:"+_0x15f86b.fPTZParam.fPTZPositionY),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetParam","color: red"),0;var _0x46a0db=1;if(1===this.decodeEngine)this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECSetParam",fishSubPort:_0x24469e,param2d:_0x15f86b}):_0x46a0db=0:_0x46a0db=null!=this.pcVideoManager?this.pcVideoManager.FEC_SetParam(_0x24469e,_0x15f86b):0;else{var _0x12255f=_0x37dd52._JSPlayM4_GetFishEye2DParam();null!=_0x15f86b.upDateType&&(_0x37dd52.HEAP32[_0x12255f>>2]=_0x15f86b.upDateType),null!=_0x15f86b.fPTZParam&&null!=_0x15f86b.fPTZParam.fPTZPositionX&&null!=_0x15f86b.fPTZParam.fPTZPositionY&&(_0x37dd52.HEAPF32[_0x12255f+8>>2]=_0x15f86b.fPTZParam.fPTZPositionX,_0x37dd52.HEAPF32[_0x12255f+12>>2]=_0x15f86b.fPTZParam.fPTZPositionY),null!=_0x15f86b.fPTZParam&&(_0x37dd52.HEAPF32[_0x12255f+32>>2]=_0x15f86b.fPTZZoom),null!=_0x15f86b.fValue&&(_0x37dd52.HEAPF32[_0x12255f+36>>2]=_0x15f86b.fValue),null!=_0x15f86b.stPTZColor&&(null!=_0x15f86b.stPTZColor.nR&&(_0x37dd52.HEAP8[_0x12255f+40>>1]=_0x15f86b.stPTZColor.nR),null!=_0x15f86b.stPTZColor.nG&&(_0x37dd52.HEAP8[_0x12255f+41>>1]=_0x15f86b.stPTZColor.nG),null!=_0x15f86b.stPTZColor.nB&&(_0x37dd52.HEAP8[_0x12255f+42>>1]=_0x15f86b.stPTZColor.nB),null!=_0x15f86b.stPTZColor.nAlpha&&(_0x37dd52.HEAP8[_0x12255f+43>>1]=_0x15f86b.stPTZColor.nAlpha)),_0x46a0db=_0x37dd52._JSPlayM4_FEC_SetParam(this.port,_0x24469e)}return _0x46a0db}},{key:"JSPlayM4_FEC_GetParam",value:function(_0x3c7da4){var _0xab3779=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_GetParam","color: red"),0;var _0x18a593={fRXLeft:0,fRXRight:0,fRYTop:0,fRYBottom:0,bBlack:0,bCut:0,nFishParamType:0,fAngle:0,fZoom:0,fPTZX:0,fPTZY:0,emCorrectType:0};if(this.FECParamCB=_0xab3779,1===this.decodeEngine)this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"FECGetParam",fishSubPort:_0x3c7da4}):null!=this.pcVideoManager&&(this.pcVideoManager.FEC_GetParam(_0x3c7da4,_0x18a593),null!=this.FECParamCB&&this.FECParamCB(_0x18a593));else{var _0x500b68=_0x37dd52._JSPlayM4_FEC_GetParam(this.port,_0x3c7da4);_0x18a593.bBlack=0,_0x18a593.fPTZX=_0x37dd52.HEAPF32[_0x500b68+8>>2],_0x18a593.fPTZY=_0x37dd52.HEAPF32[_0x500b68+12>>2],_0x18a593.fRXLeft=_0x37dd52.HEAPF32[_0x500b68+16>>2],_0x18a593.fRXRight=_0x37dd52.HEAPF32[_0x500b68+20>>2],_0x18a593.fRYTop=_0x37dd52.HEAPF32[_0x500b68+24>>2],_0x18a593.fRYBottom=_0x37dd52.HEAPF32[_0x500b68+28>>2],_0x18a593.fZoom=_0x37dd52.HEAPF32[_0x500b68+32>>2],_0x18a593.fAngle=_0x37dd52.HEAPF32[_0x500b68+36>>2],_0x18a593.bCut=_0x37dd52.HEAPF32[_0x500b68+63>>2],_0x18a593.nFishParamType=_0x37dd52.HEAPF32[_0x500b68+67>>2],null!=this.FECParamCB&&this.FECParamCB(_0x18a593)}return 1}},{key:"JSPlayM4_FEC_SetViewParam",value:function(_0x396c99,_0x39a964,_0x201042){if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_SetViewParam this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+_0x396c99+",upDateType:"+_0x39a964+",fValue:"+_0x201042),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetViewParam","color: red"),0;var _0x8f96ba=1;return 1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECSetViewParam",fishSubPort:_0x396c99,upDateType:_0x39a964,fValue:_0x201042}):_0x8f96ba=0:_0x8f96ba=null!=this.pcVideoManager?this.pcVideoManager.FEC_SetViewParam(_0x396c99,_0x39a964,_0x201042):0:_0x8f96ba=_0x37dd52._JSPlayM4_FEC_SetViewParam(this.port,_0x396c99,_0x39a964,_0x201042),_0x8f96ba}},{key:"JSPlayM4_FEC_GetViewParam",value:function(_0x40fe1b,_0x232943,_0x3b53c2){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_GetViewParam","color: red"),0;var _0x358ec3=1;this.FECViewParamCB=_0x3b53c2;var _0x2760d6={fValue:-1};if(1===this.decodeEngine)this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECGetViewParam",fishSubPort:_0x40fe1b,upDateType:_0x232943}):_0x358ec3=0:null!=this.pcVideoManager?(_0x358ec3=this.pcVideoManager.FEC_GetViewParam(_0x40fe1b,_0x232943,_0x2760d6),null!=this.FECViewParamCB&&this.FECViewParamCB(_0x2760d6)):_0x358ec3=0;else{var _0x4cfd6d=_0x37dd52._JSPlayM4_GetViewParam(this.port,_0x40fe1b,_0x232943);_0x2760d6.fValue=_0x4cfd6d,null!=this.FECViewParamCB&&this.FECViewParamCB(_0x2760d6)}return _0x358ec3}},{key:"JSPlayM4_FEC_SetWnd",value:function(_0x341434,_0x1471f5){if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_SetWnd this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+_0x341434+",hWnd:"+_0x1471f5),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetWnd","color: red"),0;var _0x3fafc6=1;if(0==_0x341434)console.log("fishPort is 0 ,main canvas doesn't need call FEC_SetWnd");else if(null!=_0x1471f5)if(1===this.decodeEngine){var _0x36424b=document.getElementById(_0x1471f5);if(this.hasWebWorker){var _0x1b70e5=_0x36424b.transferControlToOffscreen();null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECSetWnd",fishSubPort:_0x341434,offscrrenCnv:_0x1b70e5},[_0x1b70e5]):_0x3fafc6=0}else _0x3fafc6=null!=this.pcVideoManager?this.pcVideoManager.FEC_SetWnd(_0x341434,_0x36424b):0}else{var _0x16775a=null;if(null!=_0x1471f5){var _0x3479fd=this._stringToBytes("#"+_0x1471f5),_0x536bbe=2*(_0x1471f5.length+1);_0x16775a=_0x37dd52._malloc(_0x536bbe);var _0x3eb972=_0x37dd52.HEAPU8.subarray(_0x16775a,_0x16775a+_0x536bbe),_0x3b0884=new Uint8Array(_0x536bbe);_0x3eb972.set(_0x3b0884,0),_0x3eb972.set(new Uint8Array(_0x3479fd)),_0x3eb972=null,_0x3b0884=null}_0x3fafc6=_0x37dd52._JSPlayM4_FEC_SetWnd(this.port,_0x341434,_0x16775a),null!=_0x16775a&&(_0x37dd52._free(_0x16775a),_0x16775a=null)}else console.log(">>>JS JSPlayM4_FEC_SetWnd hwnd error this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+_0x341434+",hWnd:"+_0x1471f5),_0x3fafc6=0;return _0x3fafc6}},{key:"JSPlayM4_FEC_Disable",value:function(){var _0x121040=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,_0x2e5f35=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],_0x2d22c8=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],_0x44bab3=1;return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_Disable","color: red"),0):(0==_0x121040?console.log("fishPort is 0 ,main canvas doesn't need call FEC_Disable"):1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECDisable",fishSubPort:_0x121040,clearFECCanvas:_0x2e5f35,clearContext:_0x2d22c8}):_0x44bab3=0:_0x44bab3=null!=this.pcVideoManager?this.pcVideoManager.FEC_Disable(_0x121040,_0x2e5f35,_0x2d22c8):0:_0x44bab3=_0x37dd52._JSPlayM4_FEC_Disable(this.port,_0x121040,_0x2e5f35,_0x2d22c8),_0x44bab3)}},{key:"JSPlayM4_FEC_DelPort",value:function(_0x56cedc){if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_DelPort this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+_0x56cedc),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_DelPort","color: red"),0;var _0xefc515=1;return 1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECDelPort",fishSubPort:_0x56cedc}):_0xefc515=0:_0xefc515=null!=this.pcVideoManager?this.pcVideoManager.FEC_DelPort(_0x56cedc):0:_0xefc515=_0x37dd52._JSPlayM4_FEC_DelPort(this.port,_0x56cedc),_0xefc515}},{key:"JSPlayM4_FEC_SetDisplayRegion",value:function(_0x45435){var _0x30f972=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,_0x37bc1d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,_0x1697b6=arguments.length>3?arguments[3]:void 0,_0x1bf6c8=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,_0x3127fd=arguments.length>5?arguments[5]:void 0,_0xad045=arguments.length>6?arguments[6]:void 0;if(this.printfFlag>0&&console.log(">>>JS JSPlayM4_FEC_SetDisplayRegion this.decodeEngine:"+this.decodeEngine+",fishSubPort:"+_0x45435+",left:"+_0x1697b6.left+",right:"+_0x1697b6.right+",top:"+_0x1697b6.top+",bottom:"+_0x1697b6.bottom),null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetDisplayRegion","color: red"),0;var _0x1d8c93=1,_0x42df12=_0x1697b6.left,_0xd3c433=_0x1697b6.right,_0x4c2cae=_0x1697b6.top,_0x527d4d=_0x1697b6.bottom;if("number"!=typeof _0x42df12||"number"!=typeof _0xd3c433||"number"!=typeof _0x527d4d||"number"!=typeof _0x4c2cae)return console.log("param is not number"),0;if(_0x3127fd){if(_0x42df12<0||_0xd3c433<0||_0x4c2cae<0||_0x527d4d<0)return 0;if(_0xd3c433-_0x42df12<16||_0x527d4d-_0x4c2cae<16||_0xd3c433-_0x42df12>this.canvasWidth||_0x527d4d-_0x4c2cae>this.canvasHeight)return 0;_0xad045&&0!==this.iFECZoomNum&&(_0x42df12=Math.round(_0x42df12/this.iFECRatio_x)+this.stFECDisplayRect.left,_0x4c2cae=Math.round(_0x4c2cae/this.iFECRatio_y)+this.stFECDisplayRect.top,_0xd3c433=Math.round(_0xd3c433/this.iFECRatio_x)+this.stFECDisplayRect.left,_0x527d4d=Math.round(_0x527d4d/this.iFECRatio_y)+this.stFECDisplayRect.top)}else _0x42df12=0,_0xd3c433=this.canvasWidth,_0x4c2cae=0,_0x527d4d=this.canvasHeight,this.iFECZoomNum=0,this.iFECRatio_x=1,this.iFECRatio_y=1;if(this.stFECDisplayRect={top:_0x4c2cae,left:_0x42df12,right:_0xd3c433,bottom:_0x527d4d},1===this.decodeEngine){var _0x2e05f2=_0x42df12/this.canvasWidth*this.width,_0x3b739e=_0xd3c433/this.canvasWidth*this.width,_0x21e1e1=_0x4c2cae/this.canvasHeight*this.height,_0xbd689d=_0x527d4d/this.canvasHeight*this.height;this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECSetDisplayRegion",fishSubPort:_0x45435,type:_0x30f972,regionNum:_0x37bc1d,sx:_0x2e05f2,sy:_0x21e1e1,sw:_0x3b739e-_0x2e05f2,sh:_0xbd689d-_0x21e1e1}):_0x1d8c93=0:_0x1d8c93=null!=this.pcVideoManager?this.pcVideoManager.FEC_SetDisplayRegion(_0x45435,_0x30f972,_0x37bc1d,_0x2e05f2,_0x21e1e1,_0x3b739e-_0x2e05f2,_0xbd689d-_0x21e1e1):0}else if(null!==_0x37dd52){var _0x6c0992=_0x42df12/this.canvasWidth*1e3,_0x3804de=_0xd3c433/this.canvasWidth*1e3,_0x3c57b8=_0x4c2cae/this.canvasHeight*1e3,_0x360c99=_0x527d4d/this.canvasHeight*1e3;_0x1d8c93=_0x3127fd?_0x37dd52._JSPlayM4_FEC_SetDisplayRegion(this.port,_0x45435,_0x30f972,_0x37bc1d,_0x6c0992,_0x3804de,_0x3c57b8,_0x360c99,_0x1bf6c8,_0x3127fd):_0x37dd52._JSPlayM4_FEC_SetDisplayRegion(this.port,_0x45435,0,0,0,0,0,0,null,_0x3127fd)}else _0x1d8c93=0;return _0xad045&&(this.iFECRatio_x=this.canvasWidth/(_0xd3c433-_0x42df12),this.iFECRatio_y=this.canvasHeight/(_0x527d4d-_0x4c2cae),this.iFECZoomNum++),_0x1d8c93}},{key:"JSPlayM4_FEC_SetBackCilling",value:function(_0xef7941,_0x36cd9b){var _0x5ec5d3=1;return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetBackCilling","color: red"),0):(1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECSetBackCilling",fishSubPort:_0xef7941,bValue:_0x36cd9b}):_0x5ec5d3=0:_0x5ec5d3=null!=this.pcVideoManager?this.pcVideoManager.FEC_SetBackCilling(_0xef7941,_0x36cd9b):0:_0x5ec5d3=_0x37dd52._JSPlayM4_FEC_SetBackCilling(this.port,_0xef7941,_0x36cd9b),_0x5ec5d3)}},{key:"JSPlayM4_FEC_GetPTZPort",value:function(_0x55dd25,_0x419d67){var _0x219870=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_GetPTZPort","color: red"),0;var _0x51ebbb=-1;return this.FECGetPTZPortCB=_0x219870,1===this.decodeEngine?this.hasWebWorker?null!=this.decodeWorker?this.decodeWorker.postMessage({command:"FECGetPTZPort",subport:0,fPositionX:_0x55dd25,fPositionY:_0x419d67}):_0x51ebbb=0:null!=this.pcVideoManager?(((_0x51ebbb=this.pcVideoManager.FEC_GetPTZPort(0,_0x55dd25,_0x419d67))<0||_0x51ebbb>31||null==_0x51ebbb)&&(_0x51ebbb=-1),null!=this.FECGetPTZPortCB&&this.FECGetPTZPortCB(_0x51ebbb)):_0x51ebbb=-1:console.info("%c softDecoder not support JSPlayM4_FEC_GetPTZPort","color: red"),_0x51ebbb}},{key:"JSPlayM4_FEC_SetPTZDisplayMode",value:function(_0x4e2a42){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_FEC_SetPTZDisplayMode","color: red"),0):(1===this.decodeEngine&&(this.hasWebWorker?null!=this.decodeWorker&&this.decodeWorker.postMessage({command:"FECSetPTZDisplayMode",ptzMode:_0x4e2a42}):null!=this.pcVideoManager&&this.pcVideoManager.FEC_SetPTZDisplayMode(_0x4e2a42)),1)}},{key:"JSPlayM4_FEC_Capture",value:function(_0x24287f,_0x211f43){return this.FECImageCB=_0x211f43,1===this.decodeEngine?(this.hasWebWorker?this.decodeWorker.postMessage({command:"FECCapture",subport:_0x24287f}):null!=this.pcVideoManager&&this.pcVideoManager.FEC_Capture(_0x24287f,_0x211f43),1):(_0x37dd52._JSPlayM4_FEC_Capture(this.port,_0x24287f),1)}},{key:"JSPlayM4_FEC_PTZ2Window",value:function(_0x1b9b91,_0x3c27e9,_0x26bf44,_0x1b56e8){return 1}},{key:"JSPlayM4_FEC_PTZ2Window2",value:function(_0x3c51bd,_0x3511d0,_0x56be26){return 1}},{key:"_SetTextCanvas",value:function(){if(1===this.decodeEngine){if(null!=this.textCanvas&&(this.textCanvas.remove(),this.textCanvas=null),null==this.textCanvas&&(this.textCanvas=document.createElement("canvas")),this.hasWebWorker){var _0x253363=this.textCanvas.transferControlToOffscreen();this.decodeWorker.postMessage({command:"SetTextCanvas",textoffscreenCanvas:_0x253363},[_0x253363])}else null!=this.pcVideoManager&&this.pcVideoManager.SetTextCanvas(this.textCanvas);this.setTextCanvasFlag=!0}return 1}},{key:"JSPlayM4_InputPrivateInfo",value:function(_0x2f1f7e,_0x158a57,_0x2c1118){this.setTextCanvasFlag||this._SetTextCanvas();var _0x3ae138={};_0x3ae138.linesNum=_0x37dd52.HEAP32[_0x2f1f7e>>2],_0x3ae138.absTimeStamp=_0x37dd52.HEAP32[_0x2f1f7e+4>>2],_0x3ae138.stDrawLinesArray=[];for(var _0x38b971=0;_0x38b971<_0x3ae138.linesNum;_0x38b971++){_0x3ae138.stDrawLinesArray[_0x38b971]={},_0x3ae138.stDrawLinesArray[_0x38b971].vertex_num=_0x37dd52.HEAP32[_0x2f1f7e+8+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].lineWidth=_0x37dd52.HEAP32[_0x2f1f7e+12+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].bFill=_0x37dd52.HEAP32[_0x2f1f7e+16+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].bLoop=_0x37dd52.HEAP32[_0x2f1f7e+20+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].dwMatchType=_0x37dd52.HEAP32[_0x2f1f7e+24+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].dwIntelFlag=_0x37dd52.HEAP32[_0x2f1f7e+28+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].dwSubIntelFlag=_0x37dd52.HEAP32[_0x2f1f7e+32+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].color={},_0x3ae138.stDrawLinesArray[_0x38b971].color.R=_0x37dd52.HEAPF32[_0x2f1f7e+36+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].color.G=_0x37dd52.HEAPF32[_0x2f1f7e+40+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].color.B=_0x37dd52.HEAPF32[_0x2f1f7e+44+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].color.A=_0x37dd52.HEAPF32[_0x2f1f7e+48+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].stPoint=[];for(var _0x54d0b3=0;_0x54d0b3<_0x3ae138.stDrawLinesArray[_0x38b971].vertex_num;_0x54d0b3++)_0x3ae138.stDrawLinesArray[_0x38b971].stPoint[_0x54d0b3]={},_0x3ae138.stDrawLinesArray[_0x38b971].stPoint[_0x54d0b3].x=_0x37dd52.HEAPF32[_0x2f1f7e+52+136*_0x38b971+8*_0x54d0b3>>2],_0x3ae138.stDrawLinesArray[_0x38b971].stPoint[_0x54d0b3].y=_0x37dd52.HEAPF32[_0x2f1f7e+56+136*_0x38b971+8*_0x54d0b3>>2];_0x3ae138.stDrawLinesArray[_0x38b971].dwFillPicID=_0x37dd52.HEAP32[_0x2f1f7e+132+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].dwEventID=_0x37dd52.HEAP32[_0x2f1f7e+136+136*_0x38b971>>2],_0x3ae138.stDrawLinesArray[_0x38b971].dwMosaictype=_0x37dd52.HEAP32[_0x2f1f7e+140+136*_0x38b971>>2]}var _0x39a3dc={};_0x39a3dc.nFontsNum=_0x37dd52.HEAP32[_0x158a57>>2],_0x39a3dc.absTimeStamp=_0x37dd52.HEAP32[_0x158a57+4>>2],_0x39a3dc.stDrawFontsArray=[];for(var _0x3f2153=0;_0x3f2153<_0x39a3dc.nFontsNum;_0x3f2153++){_0x39a3dc.stDrawFontsArray[_0x3f2153]={},_0x39a3dc.stDrawFontsArray[_0x3f2153].nFontSizeW=_0x37dd52.HEAP32[_0x158a57+8+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].nFontSizeH=_0x37dd52.HEAP32[_0x158a57+12+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].dwMatchType=_0x37dd52.HEAP32[_0x158a57+16+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].dwIntelFlag=_0x37dd52.HEAP32[_0x158a57+20+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].dwSubIntelFlag=_0x37dd52.HEAP32[_0x158a57+24+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].color={},_0x39a3dc.stDrawFontsArray[_0x3f2153].color.R=_0x37dd52.HEAPF32[_0x158a57+28+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].color.G=_0x37dd52.HEAPF32[_0x158a57+32+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].color.B=_0x37dd52.HEAPF32[_0x158a57+36+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].color.A=_0x37dd52.HEAPF32[_0x158a57+40+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].stPoint={},_0x39a3dc.stDrawFontsArray[_0x3f2153].stPoint.x=_0x37dd52.HEAPF32[_0x158a57+44+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].stPoint.y=_0x37dd52.HEAPF32[_0x158a57+48+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].NeedClearNormalPos=_0x37dd52.HEAP32[_0x158a57+60+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].bBackGround=_0x37dd52.HEAP32[_0x158a57+64+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].BGcolor={},_0x39a3dc.stDrawFontsArray[_0x3f2153].BGcolor.R=_0x37dd52.HEAPF32[_0x158a57+68+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].BGcolor.G=_0x37dd52.HEAPF32[_0x158a57+72+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].BGcolor.B=_0x37dd52.HEAPF32[_0x158a57+76+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].BGcolor.A=_0x37dd52.HEAPF32[_0x158a57+80+80*_0x3f2153>>2],_0x39a3dc.stDrawFontsArray[_0x3f2153].dwEventID=_0x37dd52.HEAP32[_0x158a57+84+80*_0x3f2153>>2];var _0x26bdea=_0x37dd52.HEAP32[_0x158a57+52+80*_0x3f2153>>2],_0x201127=_0x37dd52.HEAP32[_0x158a57+56+80*_0x3f2153>>2],_0x256a8c=new Uint8Array(4*_0x201127);_0x256a8c.set(_0x37dd52.HEAP8.subarray(_0x26bdea,_0x26bdea+4*_0x201127));for(var _0x1e9976=new Uint32Array(_0x201127),_0x281ec9=0;_0x281ec9<_0x201127;_0x281ec9++)_0x1e9976[_0x281ec9]=_0x256a8c[4*_0x281ec9]|_0x256a8c[4*_0x281ec9+1]<<8|_0x256a8c[4*_0x281ec9+2]<<16|_0x256a8c[4*_0x281ec9+3]<<24;for(var _0x4faae3="",_0x53b267=0;_0x53b267<_0x1e9976.length;_0x53b267++)0!==_0x1e9976[_0x53b267]&&(_0x4faae3+=String.fromCharCode(_0x1e9976[_0x53b267]));_0x39a3dc.stDrawFontsArray[_0x3f2153].fontString=_0x4faae3}var _0x81236d={};_0x81236d.absTimeStamp=_0x37dd52.HEAP32[_0x2c1118>>2],_0x81236d.nWidth=_0x37dd52.HEAP32[_0x2c1118+4>>2],_0x81236d.nHeight=_0x37dd52.HEAP32[_0x2c1118+8>>2],_0x81236d.pstRect={},_0x81236d.pstRect.fTop=_0x37dd52.HEAPF32[_0x2c1118+12>>2],_0x81236d.pstRect.fBottom=_0x37dd52.HEAPF32[_0x2c1118+16>>2],_0x81236d.pstRect.fLeft=_0x37dd52.HEAPF32[_0x2c1118+20>>2],_0x81236d.pstRect.fRight=_0x37dd52.HEAPF32[_0x2c1118+24>>2],_0x81236d.nPixelFormat=_0x37dd52.HEAP32[_0x2c1118+28>>2],_0x81236d.fAlpha=_0x37dd52.HEAPF32[_0x2c1118+32>>2],_0x81236d.nPixelFormat;var _0x4eb943=_0x37dd52.HEAP32[_0x2c1118+36>>2],_0x2e37e2=_0x37dd52.HEAP32[_0x2c1118+40>>2],_0x4124a7=new Uint8Array(_0x2e37e2);return _0x4124a7.set(_0x37dd52.HEAPU8.subarray(_0x4eb943,_0x4eb943+_0x2e37e2)),_0x81236d.picImageData=_0x4124a7,_0x81236d.PicID=_0x37dd52.HEAP32[_0x2c1118+44>>2],1===this.decodeEngine&&(this.hasWebWorker?this.decodeWorker.postMessage({command:"InputPrivateInfo",linesInfo:_0x3ae138,fontInfo:_0x39a3dc,ImageInfo:_0x81236d}):null!=this.pcVideoManager&&this.pcVideoManager.InputPrivateInfo(_0x3ae138,_0x39a3dc,_0x81236d)),1}},{key:"JSPlayM4_SelectIntelInfoFeatureToDraw",value:function(_0x5a9778){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SelectIntelInfoFeatureToDraw","color: red"),0;if(null==_0x5a9778)return 0;var _0x1191f9=1;if(2==_0x5a9778.nMode){if(1!==this.decodeEngine)return 0;this.hasWebWorker?this.decodeWorker.postMessage({command:"SelectIntelInfoFeatureToDraw",IntelInfoParam:_0x5a9778}):null!=this.pcVideoManager&&this.pcVideoManager.SelectIntelInfoFeatureToDraw(_0x5a9778)}else{var _0x3f2eca=_0x37dd52._JSPlayM4_GetNeedDrawIntelInfoStruct();_0x37dd52.HEAP32[_0x3f2eca+3840>>2]=_0x5a9778.NodeNumber;for(var _0x506512=0;_0x506512<_0x5a9778.NodeNumber;_0x506512++)_0x37dd52.HEAPU32[_0x3f2eca+24*_0x506512>>2]=_0x5a9778.pIntelInfoNode[_0x506512].nID,_0x37dd52.HEAPU8[_0x3f2eca+4+24*_0x506512]=_0x5a9778.pIntelInfoNode[_0x506512].nType;_0x1191f9=_0x37dd52._JSPlayM4_SelectIntelInfoFeatureToDraw(this.port,_0x5a9778.bTrue,_0x5a9778.nMode)}return _0x1191f9}},{key:"JSPlayM4_SetMosaicType",value:function(_0x465c6e){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetMosaicType","color: red"),0;var _0x124453=1;if(this.pMosaicParam=_0x465c6e,1===this.decodeEngine)this.hasWebWorker?this.decodeWorker.postMessage({command:"SetMosaicType",MosaicParam:_0x465c6e}):null!=this.pcVideoManager&&this.pcVideoManager.SetMosaicType(_0x465c6e);else{var _0x4804e2=_0x37dd52._JSPlayM4_GetMosaicTypeConfigStruct();_0x37dd52.HEAPU8[_0x4804e2]=_0x465c6e.nMosaicType,_0x37dd52.HEAPU8[_0x4804e2+1]=_0x465c6e.pstMosaicColor.fMosaicColorR,_0x37dd52.HEAPU8[_0x4804e2+2]=_0x465c6e.pstMosaicColor.fMosaicColorG,_0x37dd52.HEAPU8[_0x4804e2+3]=_0x465c6e.pstMosaicColor.fMosaicColorB,_0x37dd52.HEAPU8[_0x4804e2+4]=_0x465c6e.pstMosaicColor.fMosaicColorA,_0x37dd52.HEAPU8[_0x4804e2+5]=_0x465c6e.nMosaicSize,_0x124453=_0x37dd52._JSPlayM4_SetMosaicType(this.port)}return _0x124453}},{key:"JSPlayM4_SetWaterMarkFont",value:function(_0x11d0f6){if(null===_0x37dd52)return console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetWaterMarkFont","color: red"),0;if(this.printfFlag>0){console.log("%cJSPlayerInterfaceV3.js JSPlayM4_SetWaterMarkFont: port:"+this.port+",string:"+_0x11d0f6.pFontString+",fontcolr,fR:"+_0x11d0f6.pstFontColor.fR+",fG:"+_0x11d0f6.pstFontColor.fG+",fB:"+_0x11d0f6.pstFontColor.fB+",fA:"+_0x11d0f6.pstFontColor.fA+",fontSizeWidth:"+_0x11d0f6.pstFontSize.nFontWidth+",fontSizeHeight:"+_0x11d0f6.pstFontSize.nFontHeight+",rotateAngle:"+_0x11d0f6.pstFontRotate.fRotateAngle+",fontFamily:"+_0x11d0f6.pFontFamily,"color:red");var _0xb8ab1b=document.getElementById(this.canvasID).width,_0x1fa703=document.getElementById(this.canvasID).height;console.log("canvasWidht:"+_0xb8ab1b+",canvasHeight:"+_0x1fa703),console.log("fullScreen:"+_0x11d0f6.pstFontRotate.fFillFullScreen+",rowNum:"+_0x11d0f6.pstFontNumber.nRowNumber+",colNum:"+_0x11d0f6.pstFontNumber.nColNumber+",space:"+_0x11d0f6.pSpace+",fontAlign:"+_0x11d0f6.nFontAlign+",colorAdapt:"+_0x11d0f6.nColorAdapt),console.log("adaptMode:"+_0x11d0f6.pstCanvasAdapt.nCanvasAdaptMode+",baseWidth:"+_0x11d0f6.pstCanvasAdapt.nBaseCanvasWidth+",baseHeight:"+_0x11d0f6.pstCanvasAdapt.nBaseCanvasHeight+",rowSpace:"+_0x11d0f6.pstCanvasAdapt.nRowSpace+",colSpace:"+_0x11d0f6.pstCanvasAdapt.nColSpace+",ntotalColSpace:"+_0x11d0f6.pstCanvasAdapt.ntotalColSpace+",ntotalRowSpace:"+_0x11d0f6.pstCanvasAdapt.ntotalRowSpace)}var _0x5a9223=1;if(this.pFontParam=_0x11d0f6,1===this.decodeEngine)this.setTextCanvasFlag||this._SetTextCanvas(),this.hasWebWorker?this.decodeWorker.postMessage({command:"SetWaterMarkFont",fontParam:_0x11d0f6}):null!=this.pcVideoManager&&this.pcVideoManager.SetWaterMarkFont(_0x11d0f6);else if(null==_0x11d0f6){var _0x212bc8=_0x37dd52._JSPlayM4_GetWaterMarkFontStruct();_0x37dd52.HEAP32[_0x212bc8+1800-4+44>>2]=0,_0x37dd52.HEAP32[_0x212bc8+1800-4+48>>2]=0,_0x37dd52._JSPlayM4_SetWaterMarkFontString(0,null),_0x5a9223=_0x37dd52._JSPlayM4_SetWaterMarkFont(this.port)}else{for(var _0x5e086b=0;_0x5e086b<_0x11d0f6.pFontString.length;_0x5e086b++){var _0x1bb9db=this._stringToBytes(_0x11d0f6.pFontString[_0x5e086b]),_0x206539=2*_0x11d0f6.pFontString[_0x5e086b].length;if(0==_0x206539&&(_0x206539=1),(null==this.pWaterMarkFontData||_0x206539>this.nWaterMarkFontLen)&&(null!==this.pWaterMarkFontData&&(_0x37dd52._free(this.pWaterMarkFontData),this.pWaterMarkFontData=null),this.pWaterMarkFontData=_0x37dd52._malloc(_0x206539),this.nWaterMarkFontLen=_0x206539),null===this.pWaterMarkFontData)return;var _0x5c968c=_0x37dd52.HEAPU8.subarray(this.pWaterMarkFontData,this.pWaterMarkFontData+_0x206539),_0x59ec7c=new Uint8Array(_0x206539);_0x5c968c.set(_0x59ec7c,0),_0x5c968c.set(new Uint8Array(_0x1bb9db)),_0x5c968c=null,_0x59ec7c=null,_0x37dd52._JSPlayM4_SetWaterMarkFontString(_0x5e086b,this.pWaterMarkFontData)}var _0x40cf61=_0x37dd52._JSPlayM4_GetWaterMarkFontStruct();_0x37dd52.HEAPF32[_0x40cf61+1800-4+4>>2]=_0x11d0f6.pSpace,_0x37dd52.HEAPU32[_0x40cf61+1800-4+8>>2]=_0x11d0f6.pFontString.length,_0x37dd52.HEAPU32[_0x40cf61+1800-4+12>>2]=_0x11d0f6.nFontAlign,_0x37dd52.HEAPU32[_0x40cf61+1800-4+16>>2]=_0x11d0f6.nColorAdapt,_0x37dd52.HEAPF32[_0x40cf61+1800-4+20>>2]=_0x11d0f6.pstStartPos.fX,_0x37dd52.HEAPF32[_0x40cf61+1800-4+24>>2]=_0x11d0f6.pstStartPos.fY,_0x37dd52.HEAPF32[_0x40cf61+1800-4+28>>2]=_0x11d0f6.pstFontColor.fR,_0x37dd52.HEAPF32[_0x40cf61+1800-4+32>>2]=_0x11d0f6.pstFontColor.fG,_0x37dd52.HEAPF32[_0x40cf61+1800-4+36>>2]=_0x11d0f6.pstFontColor.fB,_0x37dd52.HEAPF32[_0x40cf61+1800-4+40>>2]=_0x11d0f6.pstFontColor.fA,_0x37dd52.HEAP32[_0x40cf61+1800-4+44>>2]=_0x11d0f6.pstFontSize.nFontWidth,_0x37dd52.HEAP32[_0x40cf61+1800-4+48>>2]=_0x11d0f6.pstFontSize.nFontHeight,_0x37dd52.HEAPF32[_0x40cf61+1800-4+52>>2]=_0x11d0f6.pstFontRotate.fRotateAngle,_0x37dd52.HEAP32[_0x40cf61+1800-4+56>>2]=_0x11d0f6.pstFontRotate.fFillFullScreen,_0x37dd52.HEAP32[_0x40cf61+1800-4+60>>2]=_0x11d0f6.pstFontNumber.nRowNumber,_0x37dd52.HEAP32[_0x40cf61+1800-4+64>>2]=_0x11d0f6.pstFontNumber.nColNumber,_0x37dd52.HEAP32[_0x40cf61+1800-4+68>>2]=_0x11d0f6.pstCanvasAdapt.nCanvasAdaptMode,_0x37dd52.HEAP32[_0x40cf61+1800-4+72>>2]=_0x11d0f6.pstCanvasAdapt.nRowSpace,_0x37dd52.HEAP32[_0x40cf61+1800-4+76>>2]=_0x11d0f6.pstCanvasAdapt.nColSpace,_0x37dd52.HEAP32[_0x40cf61+1800-4+80>>2]=_0x11d0f6.pstCanvasAdapt.nBaseCanvasWidth,_0x37dd52.HEAP32[_0x40cf61+1800-4+84>>2]=_0x11d0f6.pstCanvasAdapt.nBaseCanvasHeight,_0x5a9223=_0x37dd52._JSPlayM4_SetWaterMarkFont(this.port)}return _0x5a9223}},{key:"JSPlayM4_SetWaterMarkImage",value:function(_0x365756){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_SetWaterMarkImage","color: red"),0):(1===this.decodeEngine?this.hasWebWorker?this.decodeWorker.postMessage({command:"SetWaterMarkImage",pImageData:_0x365756.pImageData,pImageType:_0x365756.pImageType,pstRectPos:_0x365756.pstRectPos,fAlpha:_0x365756.fAlpha},[_0x365756.pImageData]):null!=this.pcVideoManager&&this.pcVideoManager.SetWaterMarkImage(_0x365756):console.log("%c1>soft decode not support SetWaterMarkImage,","color: red"),1)}},{key:"JSPlayM4_InitEncoder",value:function(_0x470f30,_0x14a314){if(1!==this.decodeEngine)return console.log("%conly hard decoder support recoder,soft decoder not support (20240801)","color: red"),0;if(_0x14a314.recoderAudioAnyWhere?(this.recoderAudioAnyWhere=!0,_0x37dd52._JSPlayM4_SetRecoderAudio(this.port,1)):_0x37dd52._JSPlayM4_SetRecoderAudio(this.port,0),this.needPlaySound||this.recoderAudioAnyWhere){var _0x351207=48e3;44100==_0x14a314.sampleRate&&(_0x351207=_0x14a314.sampleRate),this.JSPlayM4_SetResampleValue(!0,_0x351207)}return this.hasWebWorker?this.decodeWorker.postMessage({command:"InitEncoder",videoInfo:_0x470f30,audioInfo:_0x14a314}):null!=this.pcVideoManager&&this.pcVideoManager.InitEncoder(_0x470f30,_0x14a314),1}},{key:"JSPlayM4_StartEncode",value:function(_0xa27d1,_0x72a16e){var _0x5392d4=this;return 1!==this.decodeEngine?(console.log("%conly hard decoder support recoder,soft decoder not support (20240801)","color: red"),0):(this.recoderVideoDataCBFun=_0xa27d1,this.recoderAudioDataCBFun=_0x72a16e,"undefined"==typeof VideoEncoder?(console.log("%cbrowser or Graphics car not support videoEncode ","color: red"),0):(this.hasWebWorker?this.decodeWorker.postMessage({command:"StartVideoEncode"}):null!=this.pcVideoManager&&this.pcVideoManager.StartVideoEncode(_0xa27d1),(this.needPlaySound||this.recoderAudioAnyWhere)&&("undefined"==typeof AudioEncoder?console.log("%cbrowser or Graphics car not support audioEncode ","color: red"):(this.JSPlayM4_SetDecCBStream(2),_0x37dd52._JSPlayM4_SetDecOrDisplayCallbackType(this.port,2,1),_0x37dd52._JSPlayM4_SetDisplayCallBack(this.port,1,this.nUser),this.hasWebWorker?this.decodeWorker.postMessage({command:"StartAudioEncode"}):null!=this.pcVideoManager&&this.pcVideoManager.StartAudioEncode(_0x72a16e),this.ResamplePCMCallBack=function(_0x1d023c){101==_0x1d023c.type&&(_0x5392d4.hasWebWorker?_0x5392d4.decodeWorker.postMessage({command:"InputPCMToEncode",PCMData:_0x1d023c.yuvData,timeStamp:_0x1d023c.timeStamp},[_0x1d023c.yuvData.buffer]):null!=_0x5392d4.pcVideoManager&&_0x5392d4.pcVideoManager.InputPCMToEncode(_0x1d023c.yuvData,_0x1d023c.timeStamp))})),1))}},{key:"JSPlayM4_StopEncode",value:function(){return 1!==this.decodeEngine?(console.log("%conly hard decoder support recoder,soft decoder not support (20240801)","color: red"),0):(this.recoderVideoDataCBFun=null,this.recoderAudioDataCBFun=null,this.ResamplePCMCallBack=null,this.recoderAudioAnyWhere=!1,_0x37dd52._JSPlayM4_SetRecoderAudio(this.port,0),_0x37dd52._JSPlayM4_SetDisplayCallBack(this.port,0,this.nUser),this.hasWebWorker?this.decodeWorker.postMessage({command:"StopEncode"}):null!=this.pcVideoManager&&this.pcVideoManager.StopEncode(),1)}},{key:"JSPlayM4_IsVisible",value:function(_0x451d4b){return null===_0x37dd52?(console.info("%coJSPlayerWasm is null,can't JSPlayM4_IsVisible","color: red"),0):(1===this.decodeEngine?this.hasWebWorker?this.decodeWorker.postMessage({command:"IsVisible",visibility:_0x451d4b}):null!=this.pcVideoManager&&this.pcVideoManager.IsVisible(_0x451d4b):_0x37dd52._JSPlayM4_IsVisible(this.port,_0x451d4b),1)}},{key:"_stringToBytes",value:function(_0x3ac6d7){if("string"!=typeof _0x3ac6d7||null==_0x3ac6d7)return console.log("%c_stringToBytes str:"+_0x3ac6d7,"color: red"),0;for(var _0x5564b5,_0x20edae,_0x2653b7=[],_0x5c3591=0;_0x5c3591<_0x3ac6d7.length;_0x5c3591++){_0x5564b5=_0x3ac6d7.charCodeAt(_0x5c3591),_0x20edae=[];do{_0x20edae.push(255&_0x5564b5),_0x5564b5>>=8}while(_0x5564b5);_0x2653b7=_0x2653b7.concat(_0x20edae.reverse())}return _0x2653b7}},{key:"_downloadFile",value:function(_0x373eb6,_0x3cbec9){var _0x3d462d=_0x373eb6;_instanceof(_0x373eb6,Blob)||_instanceof(_0x373eb6,File)||(_0x3d462d=new Blob([_0x373eb6]));var _0x4bc0ed=window.URL.createObjectURL(_0x3d462d),_0x122127=window.document.createElement("a");_0x122127.href=_0x4bc0ed,_0x122127.download=_0x3cbec9;var _0x27ba47=document.createEvent("MouseEvents");_0x27ba47.initEvent("click",!0,!0),_0x122127.dispatchEvent(_0x27ba47)}},{key:"downloadRTPData",value:function(_0x152c6a){if(this.bWriteData){var _0x2125ff=_0x152c6a,_0x182c93=this.aTotalBuffer.length;console.log("totalLength:"+_0x182c93);for(var _0x1f5e4b=0,_0x5bb10b=_0x2125ff.length;_0x1f5e4b<_0x5bb10b;_0x1f5e4b++)this.aTotalBuffer[_0x182c93+_0x1f5e4b]=_0x2125ff[_0x1f5e4b];this.iFrameNum++,_0x2125ff=null,console.log("downloadRTPdata iFrameNum:"+this.iFrameNum)}if(this.bWriteData&&this.iFrameNum>=600){console.log("download600RawData");var _0x3af76c=new Uint8Array(this.aTotalBuffer);this._downloadFile(_0x3af76c,"Raw600.data"),this.aTotalBuffer.splice(0,this.aTotalBuffer.length),this.bWriteData=!1,this.iFrameNum=0,_0x3af76c=null}}},{key:"downloadAudioPCMData",value:function(_0x5c348e){if(this.bWriteAudioPCMData){for(var _0x4db1e8=_0x5c348e,_0x4a8f56=this.audioPCMBuffer.length,_0x6a5af=0,_0x435239=_0x4db1e8.length;_0x6a5af<_0x435239;_0x6a5af++)this.audioPCMBuffer[_0x4a8f56+_0x6a5af]=_0x4db1e8[_0x6a5af];this.iAudioPCMFrameNum++,_0x4db1e8=null,console.log("download ANR Decode AudioData FrameNum:"+this.iAudioPCMFrameNum)}if(this.bWriteAudioPCMData&&this.iAudioPCMFrameNum>=WRITE_PCM_NUM){console.log("download"+WRITE_PCM_NUM+"this.audioPCMBuffer");var _0x5ddc86=new Uint8Array(this.audioPCMBuffer);this._downloadFile(_0x5ddc86,"AudioANR.data"),this.audioPCMBuffer.splice(0,this.audioPCMBuffer.length),this.bWriteAudioPCMData=!1,this.iAudioPCMFrameNum=0,_0x5ddc86=null}}},{key:"IsChromeVersion64Bit",value:function(){var _0x3b1b63=navigator.userAgent;if(_0x3b1b63.indexOf("Chrome")>-1){var _0x4d3906=_0x3b1b63.match(/Chrome\/(\d+)/);if(_0x4d3906&&_0x4d3906[1]){var _0x1c15a4=_0x4d3906[1];return _0x3b1b63.indexOf("Mac")>-1?_0x3b1b63.indexOf("Intel")>-1||_0x1c15a4>61:_0x3b1b63.indexOf("Windows")>-1?_0x3b1b63.indexOf("Win64")>-1||_0x3b1b63.indexOf("x64")>-1||(_0x3b1b63.indexOf("x86"),!1):_0x3b1b63.indexOf("Linux")>-1&&(_0x3b1b63.indexOf("x86_64")>-1||_0x3b1b63.indexOf("x64")>-1||(_0x3b1b63.indexOf("i686")>-1||_0x3b1b63.indexOf("x86"),!1))}return!1}return!1}},{key:"getwasmMemory",value:function(){var _0x34c159,_0x4f5188={},_0x5b1a6a=navigator.userAgent.toLowerCase();if((_0x34c159=_0x5b1a6a.match(/rv:([\d.]+)\) like gecko/))||(_0x34c159=_0x5b1a6a.match(/msie ([\d\.]+)/))?_0x4f5188.ie=_0x34c159[1]:(_0x34c159=_0x5b1a6a.match(/edge\/([\d\.]+)/))?_0x4f5188.edge=_0x34c159[1]:(_0x34c159=_0x5b1a6a.match(/firefox\/([\d\.]+)/))?_0x4f5188.firefox=_0x34c159[1]:(_0x34c159=_0x5b1a6a.match(/(?:opera|opr).([\d\.]+)/))?_0x4f5188.opera=_0x34c159[1]:(_0x34c159=_0x5b1a6a.match(/chrome\/([\d\.]+)/))?_0x4f5188.chrome=_0x34c159[1]:(_0x34c159=_0x5b1a6a.match(/version\/([\d\.]+).*safari/))&&(_0x4f5188.safari=_0x34c159[1]),this.initialMemory=8192,_0x4f5188.chrome){var _0x313c82=this.IsChromeVersion64Bit();this.maximumMemory=1==_0x313c82?32768:16368}else if(_0x4f5188.safari){var _0x529a16=_0x4f5188.safari,_0x37242c=_0x529a16.indexOf(".");Number(_0x529a16.substring(0,_0x37242c)),this.maximumMemory=16368,console.info("%c1>your safaribrowserbit maximumMemory:%d","color: green",64*this.maximumMemory/1024)}else this.maximumMemory=16368,console.info("%c1>your browserbit is 32 and maximumMemory:%d","color: green",64*this.maximumMemory/1024);return this.isMobileDevice()&&(this.initialMemory=2048,this.maximumMemory=4096,console.info("%c1>your browser is mobileDevice maximumMemory:%d","color: green",64*this.maximumMemory/1024)),-1}},{key:"isMobileDevice",value:function(){var _0xa98dc0=navigator.userAgent,_0x308dfc=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(_0xa98dc0),_0x270cb2=window.innerWidth<=768,_0xb2e714="ontouchstart"in window||navigator.maxTouchPoints>0;return _0x308dfc||_0x270cb2&&_0xb2e714}}]),_0x459b7a}();window.JSPlayM4_AdditionDataCBFun=function(_0x25fd2e,_0x5e220b,_0x3060fd){if(null!=_0x12d497[_0x3060fd][_0x25fd2e]){var _0x435321={};_0x435321.dataType=_0x37dd52.HEAP32[_0x5e220b>>2],_0x435321.dataStrVersion=_0x37dd52.HEAP32[_0x5e220b+4>>2],_0x435321.dataTimeStamp=_0x37dd52.HEAP32[_0x5e220b+8>>2],_0x435321.dataLength=_0x37dd52.HEAP32[_0x5e220b+12>>2],_0x435321.pData=_0x37dd52.HEAP32[_0x5e220b+16>>2],_0x12d497[_0x3060fd][_0x25fd2e].additionDataBufferSize<_0x435321.dataLength&&(null!==_0x12d497[_0x3060fd][_0x25fd2e].additionDataBuffer&&(_0x37dd52._free(_0x12d497[_0x3060fd][_0x25fd2e].additionDataBuffer),_0x12d497[_0x3060fd][_0x25fd2e].additionDataBuffer=null),_0x12d497[_0x3060fd][_0x25fd2e].additionDataBufferSize=_0x435321.dataLength),null===_0x12d497[_0x3060fd][_0x25fd2e].additionDataBuffer&&(_0x12d497[_0x3060fd][_0x25fd2e].additionDataBuffer=_0x37dd52._malloc(_0x12d497[_0x3060fd][_0x25fd2e].additionDataBufferSize));var _0x5c195e=new Uint8Array(_0x435321.dataLength);_0x5c195e.set(_0x37dd52.HEAPU8.subarray(_0x435321.pData,_0x435321.pData+_0x435321.dataLength)),_0x37dd52.writeArrayToMemory(_0x5c195e,_0x12d497[_0x3060fd][_0x25fd2e].additionDataBuffer),_0x435321.additionDataBuffer=new Uint8Array(_0x37dd52.HEAPU8.buffer,_0x12d497[_0x3060fd][_0x25fd2e].additionDataBuffer,_0x12d497[_0x3060fd][_0x25fd2e].additionDataBufferSize),_0x12d497[_0x3060fd][_0x25fd2e].hasOwnProperty("addtionCallBackFun")&&null!=_0x12d497[_0x3060fd][_0x25fd2e].addtionCallBackFun&&null!=_0x12d497[_0x3060fd][_0x25fd2e].addtionCallBackFun&&(_0x12d497[_0x3060fd][_0x25fd2e].addtionCallBackFun(_0x435321),_0x5c195e=null,_0x435321.additionDataBuffer=null)}},window.JSPlayM4_DisplayCallBack=function(_0x46e480,_0x1bb379,_0x31a142,_0x163c50,_0x3d8357,_0x1a9ad8,_0x58a439,_0x50a1b6,_0x1d0ce9){if(null!=_0x12d497[_0x1d0ce9][_0x46e480]){var _0x10338b={};_0x10338b.yuvData=new Uint8Array(_0x31a142),_0x10338b.yuvData.set(_0x37dd52.HEAPU8.subarray(_0x1bb379,_0x1bb379+_0x31a142)),_0x10338b.isize=_0x31a142,_0x10338b.timeStamp=_0x58a439,_0x10338b.width=_0x163c50,_0x10338b.height=_0x3d8357,_0x10338b.frameRate=_0x1a9ad8,_0x10338b.type=_0x50a1b6,_0x12d497[_0x1d0ce9][_0x46e480].hasOwnProperty("displayCallBackFun")&&(null!=_0x12d497[_0x1d0ce9][_0x46e480].displayCallBackFun&&(_0x12d497[_0x1d0ce9][_0x46e480].displayCallBackFun(_0x10338b),_0x10338b.yuvData=null),null!=_0x12d497[_0x1d0ce9][_0x46e480].ResamplePCMCallBack&&(44100==_0x10338b.frameRate||48e3==_0x10338b.frameRate?_0x12d497[_0x1d0ce9][_0x46e480].ResamplePCMCallBack(_0x10338b):console.log("%cAudio encode only support 44.1k and 48k.ResamplePCMCallBack sampleRate:"+_0x10338b.frameRate,"color: red")))}},window.JSPlayM4_DecCallBack=function(_0x11a2a7,_0x2a79f6,_0x28901b,_0x51099c,_0x594bec,_0x1fe0ce,_0x5c5ad2,_0x3bb1e3,_0xfcf9c0){if(null!=_0x12d497[_0xfcf9c0][_0x11a2a7]){var _0x45da7c={};_0x45da7c.port=_0x11a2a7,_0x45da7c.Data=new Uint8Array(_0x28901b),_0x45da7c.Data.set(_0x37dd52.HEAPU8.subarray(_0x2a79f6,_0x2a79f6+_0x28901b)),_0x45da7c.isize=_0x28901b,_0x45da7c.iDataType=_0x51099c,_0x45da7c.SampleRate=_0x594bec,_0x45da7c.width=_0x1fe0ce,_0x45da7c.height=_0x5c5ad2,_0x45da7c.stampTime=_0x3bb1e3,_0x12d497[_0xfcf9c0][_0x11a2a7].hasOwnProperty("decCallBackFun")&&null!=_0x12d497[_0xfcf9c0][_0x11a2a7].decCallBackFun&&(_0x12d497[_0xfcf9c0][_0x11a2a7].decCallBackFun(_0x45da7c),_0x45da7c.Data=null)}},window.JSPlayM4_RunTimeInfoCallBack=function(_0x280b08,_0x4f14b7,_0x4bf09a,_0x475bcb){if(null!=_0x12d497[_0x475bcb][_0x280b08]){var _0xa27d90={nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:0,nInputDataInterval:0,nFrameNumInterval:0};if(_0xa27d90.nRunTimeModule=_0x37dd52.HEAP32[_0x4f14b7>>2],_0xa27d90.nStrVersion=_0x37dd52.HEAP32[_0x4f14b7+4>>2],_0xa27d90.nFrameTimeStamp=_0x37dd52.HEAP32[_0x4f14b7+8>>2],_0xa27d90.nFrameNum=_0x37dd52.HEAP32[_0x4f14b7+12>>2],_0xa27d90.nErrorCode=_0x4bf09a,262144==_0x4bf09a){var _0x5266c6=_0x37dd52.HEAP32[_0x4f14b7+20>>2];_0xa27d90.nInputDataInterval=_0x5266c6}if(1024==_0x4bf09a){var _0x4de6b9=_0x37dd52.HEAP32[_0x4f14b7+20>>2];_0xa27d90.nFrameNumInterval=_0x4de6b9}if(352321537==_0x4bf09a){var _0x22149d=_0x37dd52.HEAPF64[_0x4f14b7+20>>3];_0xa27d90.nAverageDecodeTime=_0x22149d}if(687865857==_0x4bf09a){var _0x23a923=_0x37dd52.HEAPU8[_0x4f14b7+20],_0xac7b12=_0x37dd52.HEAPU8[_0x4f14b7+21];_0xa27d90.nSystemFormat=_0xac7b12,_0xa27d90.nDetectRes=_0x23a923,_0xa27d90.nMp4FileTime=_0xa27d90.nFrameTimeStamp,_0xa27d90.nMp4TotalFrameNum=_0xa27d90.nFrameNum}if(520093697==_0x4bf09a||528482304==_0x4bf09a){var _0x4aca1d=_0x37dd52.HEAPU8[_0x4f14b7+21],_0x5bdaf0=_0x37dd52.HEAPU8[_0x4f14b7+22]<<8|_0x4aca1d,_0x2ff689=_0x37dd52.HEAPU8[_0x4f14b7+23],_0x58a4ca=_0x37dd52.HEAPU8[_0x4f14b7+24],_0x3df24b=_0x37dd52.HEAPU8[_0x4f14b7+25],_0x14d927=_0x37dd52.HEAPU8[_0x4f14b7+26],_0x3a7b31=_0x37dd52.HEAPU8[_0x4f14b7+27],_0x43a1ee=_0x37dd52.HEAPU8[_0x4f14b7+28],_0xdb4881=_0x37dd52.HEAPU8[_0x4f14b7+29]<<8|_0x43a1ee;_0xa27d90.AbsTimeYear=_0x5bdaf0,_0xa27d90.AbsTimeMonth=_0x2ff689,_0xa27d90.AbsTimeDay=_0x58a4ca,_0xa27d90.AbsTimeHour=_0x3df24b,_0xa27d90.AbsTimeMinute=_0x14d927,_0xa27d90.AbsTimeSecond=_0x3a7b31,_0xa27d90.AbsTimeMilliseconds=_0xdb4881}if(9==_0x4bf09a&&1==_0x12d497[_0x475bcb][_0x280b08].decodeEngine)return void _0x12d497[_0x475bcb][_0x280b08].JSPlayM4_SetStreamEnd(!0);_0x12d497[_0x475bcb][_0x280b08].hasOwnProperty("runtimeCBFun")&&null!=_0x12d497[_0x475bcb][_0x280b08].runtimeCBFun&&_0x12d497[_0x475bcb][_0x280b08].runtimeCBFun(_0xa27d90)}},window.JSPlayM4_StreamInfoCallBack=function(_0x463276,_0x2d93d4,_0x39040a){if(null!=_0x12d497[_0x39040a][_0x463276]){var _0x5140e7={};_0x5140e7.nSystemformat=_0x37dd52.HEAP16[_0x2d93d4>>1],_0x5140e7.nVideoformat=_0x37dd52.HEAP16[_0x2d93d4+2>>1],_0x5140e7.nAudioformat=_0x37dd52.HEAP16[_0x2d93d4+4>>1],_0x5140e7.nAudiochannels=_0x37dd52.HEAP16[_0x2d93d4+6>>1],_0x5140e7.nAudiobitspersample=_0x37dd52.HEAP32[_0x2d93d4+8>>2],_0x5140e7.nAudiosamplesrate=_0x37dd52.HEAP32[_0x2d93d4+12>>2],_0x5140e7.nAudiobitrate=_0x37dd52.HEAP32[_0x2d93d4+16>>2],_0x5140e7.nWidth=_0x37dd52.HEAP32[_0x2d93d4+20>>2],_0x5140e7.nHeight=_0x37dd52.HEAP32[_0x2d93d4+24>>2],_0x5140e7.fFrameRate=_0x37dd52.HEAPF32[_0x2d93d4+28>>2],_0x5140e7.nIntervalOfIFrame=_0x37dd52.HEAP32[_0x2d93d4+32>>2],_0x12d497[_0x39040a][_0x463276].hasOwnProperty("streamInfoCBFun")&&null!=_0x12d497[_0x39040a][_0x463276].streamInfoCBFun&&_0x12d497[_0x39040a][_0x463276].streamInfoCBFun(_0x5140e7)}},window.JSPlayM4_PostMpStreamOffsetCBFun=function(_0x3cb295,_0x296f56,_0x237d33){if(null!=_0x12d497[_0x237d33][_0x3cb295]){var _0x498df0={};_0x498df0.nStreamOffset=_0x296f56,_0x12d497[_0x237d33][_0x3cb295].hasOwnProperty("streamInfoCBFun")&&null!=_0x12d497[_0x237d33][_0x3cb295].PostMpStreamOffsetCBFun&&_0x12d497[_0x237d33][_0x3cb295].PostMpStreamOffsetCBFun(_0x498df0)}},window.JSPlayM4_FirstFrameCallBack=function(_0x40e253,_0x14f21a){null!=_0x12d497[_0x14f21a][_0x40e253]&&_0x12d497[_0x14f21a][_0x40e253].hasOwnProperty("FFCallBackFun")&&null!=_0x12d497[_0x14f21a][_0x40e253].FFCallBackFun&&null!=_0x12d497[_0x14f21a][_0x40e253].FFCallBackFun&&_0x12d497[_0x14f21a][_0x40e253].FFCallBackFun({decodeEngine:0})},window.JSPlayM4_AudioPCMCallBack=function(_0x416222,_0x2c40d6,_0x4c59a6,_0x45d23c){null!=_0x12d497[_0x45d23c][_0x416222]&&_0x12d497[_0x45d23c][_0x416222].__proto__.hasOwnProperty("downloadAudioPCMData")&&_0x12d497[_0x45d23c][_0x416222].downloadAudioPCMData(_0x2c40d6)},window.JSPlayM4_RTPRawDataCallBack=function(_0x41b382,_0x33393c,_0x4a372f){null!=_0x12d497[_0x4a372f][port]&&_0x12d497[_0x4a372f][port].__proto__.hasOwnProperty("downloadRTPData")&&_0x12d497[_0x4a372f][port].downloadRTPData(_0x41b382)},window.JSPlayM4_CaptrueRGBDataCallBack=function(_0x3380bb,_0xaf066a,_0x12fdb3,_0x4af616,_0x3d9e5c,_0x16dc79){null!=_0x12d497[_0x16dc79][_0x3380bb]&&_0x12d497[_0x16dc79][_0x3380bb].hasOwnProperty("imageCB")&&null!=_0x12d497[_0x16dc79][_0x3380bb].imageCB&&(null==_0x12d497[_0x16dc79][_0x3380bb].rgbDataBuffer&&(_0x12d497[_0x16dc79][_0x3380bb].rgbDataBuffer=new Uint8Array(_0x3d9e5c)),_0x12d497[_0x16dc79][_0x3380bb].rgbDataBuffer.set(_0x37dd52.HEAPU8.subarray(_0xaf066a,_0xaf066a+_0x3d9e5c)),_0x12d497[_0x16dc79][_0x3380bb].imageCB(_0x12d497[_0x16dc79][_0x3380bb].rgbDataBuffer,_0x12fdb3,_0x4af616),_0x12d497[_0x16dc79][_0x3380bb].rgbDataBuffer=null)},window.JSPlayM4_SetPlayPosSucCallBack=function(_0x84148,_0x4242e5,_0x282fa8){if(null!=_0x12d497[_0x282fa8][_0x84148]){var _0x5d9d45={nRes:1};_0x5d9d45.nRelativePos=_0x4242e5,_0x12d497[_0x282fa8][_0x84148].hasOwnProperty("SetPlayPosCBFun")&&null!=_0x12d497[_0x282fa8][_0x84148].SetPlayPosCBFun&&_0x12d497[_0x282fa8][_0x84148].SetPlayPosCBFun(_0x5d9d45)}},window.JSPlayM4_FishCaptrueRGBDataCallBack=function(_0x56d19b,_0x2c1723,_0x3fc589,_0xba3075,_0x42c013,_0x26e48a,_0x54b9be){null!=_0x12d497[_0x54b9be][_0x56d19b]&&_0x12d497[_0x54b9be][_0x56d19b].hasOwnProperty("FECImageCB")&&null!=_0x12d497[_0x54b9be][_0x56d19b].FECImageCB&&(null==_0x12d497[_0x54b9be][_0x56d19b].FECRgbDataBuffer&&(_0x12d497[_0x54b9be][_0x56d19b].FECRgbDataBuffer=new Uint8Array(_0x26e48a)),_0x12d497[_0x54b9be][_0x56d19b].FECRgbDataBuffer.set(_0x37dd52.HEAPU8.subarray(_0x3fc589,_0x3fc589+_0x26e48a)),_0x12d497[_0x54b9be][_0x56d19b].FECImageCB(_0x12d497[_0x54b9be][_0x56d19b].FECRgbDataBuffer,_0xba3075,_0x42c013,_0x2c1723),_0x12d497[_0x54b9be][_0x56d19b].FECRgbDataBuffer=null)};var _0x38248d,fn,_0xc076f1=function(){function _0x122b1b(_0x99e96b,_0x45fb9d){for(var _0x2e2bb1=0;_0x2e2bb1<_0x45fb9d.length;_0x2e2bb1++){var _0x154e81=_0x45fb9d[_0x2e2bb1];_0x154e81.enumerable=_0x154e81.enumerable||!1,_0x154e81.configurable=!0,"value"in _0x154e81&&(_0x154e81.writable=!0),Object.defineProperty(_0x99e96b,_0x154e81.key,_0x154e81)}}return function(_0x574ae4,_0x3c56f6,_0x17d3d9){return _0x3c56f6&&_0x122b1b(_0x574ae4.prototype,_0x3c56f6),_0x17d3d9&&_0x122b1b(_0x574ae4,_0x17d3d9),_0x574ae4}}(),_0x8fc1d9=(_0x38248d=void 0,function(_0x5c34e9){return _0x5c34e9&&(_0x38248d=_0x5c34e9),_0x38248d}),_0x38d058=function(){function _0x20629e(){if(function(_0x41d8d5,_0x42b6d4){if(!_instanceof(_0x41d8d5,_0x42b6d4))throw new TypeError("Cannot call a class as a function")}(this,_0x20629e),_0x8fc1d9())return _0x8fc1d9();if(void 0!==_0x20629e.unique)return _0x20629e.unique;_0x20629e.unique=this,this.oAudioContext=null,this.currentVolume=80,this.bSetVolume=!1,this.gainNode=null,this.iWndNum=-1,this.mVolumes=new Map;var _0x4cfede=window.AudioContext||window.webkitAudioContext;this.oAudioContext=new _0x4cfede,this.writeString=function(_0x4a07a2,_0x3bb896,_0xcdbaed){for(var _0x14c7a5=0;_0x14c7a5<_0xcdbaed.length;_0x14c7a5++)_0x4a07a2.setUint8(_0x3bb896+_0x14c7a5,_0xcdbaed.charCodeAt(_0x14c7a5))},this.setBufferToDataview=function(_0xc4b0dc,_0x124af7,_0x54a04b){for(var _0x25a8be=0;_0x25a8be<_0x54a04b.length;_0x25a8be++,_0x124af7++)_0xc4b0dc.setUint8(_0x124af7,_0x54a04b[_0x25a8be])},_0x8fc1d9(this)}return _0xc076f1(_0x20629e,[{key:"Play",value:function(_0x3d91d4,_0x346f84,_0x399051){var _0x36bc08=new ArrayBuffer(44+_0x346f84),_0x14cb30=new DataView(_0x36bc08),_0x2cf956=_0x399051.samplesPerSec,_0x597049=_0x399051.channels,_0x5ad384=_0x399051.bitsPerSample;this.writeString(_0x14cb30,0,"RIFF"),_0x14cb30.setUint32(4,32+2*_0x346f84,!0),this.writeString(_0x14cb30,8,"WAVE"),this.writeString(_0x14cb30,12,"fmt "),_0x14cb30.setUint32(16,16,!0),_0x14cb30.setUint16(20,1,!0),_0x14cb30.setUint16(22,_0x597049,!0),_0x14cb30.setUint32(24,_0x2cf956,!0),_0x14cb30.setUint32(28,2*_0x2cf956,!0),_0x14cb30.setUint16(32,_0x597049*_0x5ad384/8,!0),_0x14cb30.setUint16(34,_0x5ad384,!0),this.writeString(_0x14cb30,36,"data"),_0x14cb30.setUint32(40,_0x346f84,!0),this.setBufferToDataview(_0x14cb30,44,_0x3d91d4);var _0x10dedb=this;return this.oAudioContext.decodeAudioData(_0x14cb30.buffer,(function(_0x520592){var _0x250d8e=_0x10dedb.oAudioContext.createBufferSource();if(null==_0x250d8e)return-1;_0x250d8e.buffer=_0x520592,_0x250d8e.start(0),(null==_0x10dedb.gainNode||_0x10dedb.bSetVolume)&&(_0x10dedb.gainNode=_0x10dedb.oAudioContext.createGain(),_0x10dedb.bSetVolume=!1),_0x10dedb.gainNode.gain.value=_0x10dedb.currentVolume/100,_0x10dedb.gainNode.connect(_0x10dedb.oAudioContext.destination),_0x250d8e.connect(_0x10dedb.gainNode)}),(function(_0x26c92a){return console.log("decode error"),-1})),0}},{key:"Stop",value:function(){return null!=this.gainNode&&(this.gainNode.disconnect(),this.gainNode=null),!0}},{key:"SetVolume",value:function(_0x56745d){return this.bSetVolume=!0,this.currentVolume=_0x56745d,this.mVolumes.set(this.iWndNum,this.currentVolume),!0}},{key:"SetWndNum",value:function(_0x3aaf06){this.iWndNum=_0x3aaf06;var _0x4e5337=this.mVolumes.get(_0x3aaf06);return null==_0x4e5337&&(_0x4e5337=80),this.currentVolume=_0x4e5337,!0}},{key:"GetVolume",value:function(){var _0x41b88e=this.mVolumes.get(this.iWndNum);return null==_0x41b88e&&(_0x41b88e=80),_0x41b88e}}]),_0x20629e}(),_0x401d97=25,_0x25510a={width:0,height:0,frameNum:0,yuvData:null},_0x58ab47={width:0,height:0,frameNum:0,yuvData:null},_0x11ba2e={sampleRate:0,channel:0,bitsPerSample:0,length:0,pcmData:null},_0x135bf6={id:null,cmd:null,data:null,errorCode:0,status:null},_0xcc34c3=function(){function _0x3a15d8(_0x4508ae,_0x1fb19e,_0x4f6dbb,_0x469832){if(_0x3d26fc(this,_0x3a15d8),this.jsplayer=_0x4508ae,null==_0x1fb19e||void 0===_0x1fb19e||"string"!=typeof _0x1fb19e)return 0;if(this.szBasePath=_0x1fb19e,!_0x4f6dbb||"function"!=typeof _0x4f6dbb)return 0;this.fnCallBack=_0x4f6dbb,this.decodeWorker=null,this.streamOpenMode=null,this.bOpenStream=!1,this.SystemFormat=-1,this.bFileHeadAudioFormat=!0,this.bHIKHeadValue=!0,this.audioRenderer=null,this.aAudioBuffer=[],this.iAudioBufferSize=0,this.Volume=0,this.oSuperRender=null,this.aVideoFrameBuffer=[],this.YUVBufferSize=1,this.szOSDTime=null,this.bJSPrintLog=window.g_printfFlag,this.bWriteYUVData=!1,this.iYUV10size=0,this.aVideoYUVBuffer=[],this.bWritePCMData=!1,this.iAudioBuffer500Size=0,this.aAudioPCMBuffer=[],this.bWriteRawData=!1,this.iRawDataSize=0,this.aRawDataBuffer=[],this.bWriteRTPData=!0,this.iRTPDataSize=0,this.aRTPDataBuffer=[],this.downloadRTP=!1,this.rtpNum=0,this.jpegDownloadFlag=!1,this.bmpDownloadFlag=!1,this.bPlaySound=!1,this.bPlay=!1,this.bPause=!1,this.bOnebyOne=!1,this.bPlayRateChange=!1,this.audioNum=0,this.videoNum=0,this.nCurStatus=2,this.FrameForwardLen=1,this.bOnlyPlaySound=!1,this.bVideoCropInfo=!1,this.dataCallBackFun=null,this.YUVBufSizeCBFun=null,this.DecCallBackFun=null,this.DisplayCallBackFun=null,this.PCMCallBackFun=null,this.DecInfoYUV=_0x25510a,this.DisplayInfoYUV=_0x58ab47,this.DecInfoPCM=_0x11ba2e,this.displayFrameInfo={},this.frameInfoFlag=!0,this.startTimeStamp=0,this.GetFileTimeCBFun=null,this.GetMpOffsetCBFun=null,this.nWidth=0,this.nHeight=0,this.nSPSCropLeft=0,this.nSPSCropRight=0,this.nSPSCropTop=0,this.nSPSCropBottom=0,this.decCBStream=0,this.sCanvasId=null,this.aDisplayBuf=null,this.bVisibility=!0,this.nDecFrameType=0,this.runtimeInfoCBFun=null,this.pstRuntimeInfo={nRunTimeModule:0,nStrVersion:0,nFrameTimeStamp:0,nFrameNum:0,nErrorCode:0,nInputDataInterval:0,nFrameNumInterval:0,nAverageDecodeTime:0,nSystemFormat:0,nDetectRes:0,nMp4FileTime:0,nMp4TotalFrameNum:0,AbsTimeYear:0,AbsTimeMonth:0,AbsTimeDay:0,AbsTimeHour:0,AbsTimeMinute:0,AbsTimeSecond:0,AbsTimeMilliseconds:0},this.firstRenderBegin=!0,this.firstFrameCB=null,this.needFirstFrameCB=!1,this.bstreamEnd=!1,this.nstreamEndloopNum=0,this.streamInfoCBFun=null,this.PostMpStreamOffsetCBFun=null,this.addtionCallBackFun=null,this.textCanvas=null,this.setTextCanvasFlag=!1,this.FECGetPortCB=null,this.FECViewParamCB=null,this.oInputTimer=null,this.nLastSourceTimeStamp=-1,this.nLastClockTimeStamp=-1,this.nGetTotalFrameNum=0,this.nAverageDecodeTime=0,this.oDecodeTimer=null,this.iCanvasWidth=0,this.iCanvasHeight=0,this.iZoomNum=0,this.iRatio_x=1,this.iRatio_y=1,this.stDisplayRect={top:0,left:0,right:0,bottom:0},this.bDisRect=!1,this.stYUVRect={top:0,left:0,right:0,bottom:0},this.nLostFrameFlag=1,this.nIgnoreHeaderAudioDefine=0,this.aInputDataLens=[],this.aInputDataBuffer=[],this.bIsGetYUV=!1,this.bIsFirstFrame=!0,this.iInputMaxBufSize=5242880,this.bIsInput=!1,this.bIsInputBufOver=!1,this.bIsInputBufWillOver=!1,this.iInputDataLen=20480;var _0x304064=this;this.errorCode=1,this.loopNum=0,this.bJSPrintLog>=0&&console.info("%c1>there will play by V1","color: green"),this.needWaitMpOffset=!1,this.setCallBack=function(_0x2adc02,_0x3c81dc,_0x5588c2,_0xc776c3,_0x5dc4a8){var _0xb802b6=_0x135bf6;_0xb802b6.id=_0x469832,_0xb802b6.cmd=_0x3c81dc,_0xb802b6.data=_0x5588c2,_0xb802b6.errorCode=_0xc776c3,_0xb802b6.status=_0x5dc4a8,_0x2adc02.errorCode=_0xc776c3,_0x2adc02.fnCallBack(_0xb802b6)},this.convertErrorCode=function(_0x4a36b1){switch(_0x4a36b1){case 1:return 1;case 98:return 0;default:return _0x4a36b1}},this.arrayBufferCopy=function(_0x1f6cd0){var _0x36897f=_0x1f6cd0.byteLength,_0x3c08fe=new Uint8Array(_0x36897f),_0x345156=new Uint8Array(_0x1f6cd0),_0x535511=0;for(_0x535511=0;_0x535511<_0x36897f;_0x535511++)_0x3c08fe[_0x535511]=_0x345156[_0x535511];return _0x3c08fe},this.inputDataFun=function(){if(1==_0x304064.needWaitMpOffset)return 1;var _0x257fbd,_0x48c06b=0;if(_0x304064.bIsGetYUV=!1,_0x304064.bIsInputBufOver||_0x304064.bIsInputBufWillOver){_0x257fbd=new Uint8Array(1);var _0x1dddbe={command:"InputData",data:new Uint8Array(_0x257fbd).buffer,dataSize:0};_0x304064.decodeWorker.postMessage(_0x1dddbe,[_0x1dddbe.data])}else if(_0x304064.bPlay&&(!_0x304064.bPause||_0x304064.bOnebyOne||6==_0x304064.nCurStatus)||this.bOnlyPlaySound){for(;_0x304064.aInputDataLens.length>0&&!((_0x48c06b+=_0x304064.aInputDataLens.shift())>_0x304064.iInputDataLen););_0x257fbd=_0x304064.aInputDataBuffer.splice(0,_0x48c06b);var _0x2e8c82={command:"InputData",data:new Uint8Array(_0x257fbd).buffer,dataSize:_0x48c06b};_0x304064.decodeWorker.postMessage(_0x2e8c82,[_0x2e8c82.data])}_0x257fbd=null},this.getPic=function(_0xd3ae2a,_0x136d8c){if(null==this.decodeWorker||null==this.oSuperRender)return 2;if(!this.bPlay)return 2;if(!_0xd3ae2a||"function"!=typeof _0xd3ae2a)return 0;if(this.dataCallBackFun=_0xd3ae2a,0===this.iZoomNum)this.stYUVRect.left=0,this.stYUVRect.top=0,this.stYUVRect.right=0,this.stYUVRect.bottom=0;else{if(0===this.iCanvasWidth||0===this.iCanvasHeight)this.stYUVRect.left=0,this.stYUVRect.top=0,this.stYUVRect.right=0,this.stYUVRect.bottom=0;else{var _0x1f2ee0=this.nWidth/this.iCanvasWidth,_0xa1ec02=this.nHeight/this.iCanvasHeight;this.stYUVRect.left=Math.round(this.stDisplayRect.left*_0x1f2ee0),this.stYUVRect.top=Math.round(this.stDisplayRect.top*_0xa1ec02),this.stYUVRect.right=Math.round(this.stDisplayRect.right*_0x1f2ee0),this.stYUVRect.bottom=Math.round(this.stDisplayRect.bottom*_0xa1ec02)}if(this.stYUVRect.right-this.stYUVRect.left<32||this.stYUVRect.bottom-this.stYUVRect.top<32)return 0}if(null==this.aDisplayBuf)return 2;var _0x54ca7b={command:_0x136d8c,data:this.arrayBufferCopy(this.aDisplayBuf).buffer,width:this.nWidth,height:this.nHeight,rect:this.stYUVRect};return this.decodeWorker.postMessage(_0x54ca7b,[_0x54ca7b.data]),1},this.createWorker=function(_0xaa3f28){if(window.Worker){if(null==_0xaa3f28.decodeWorker){var _0x532367=new Blob([(_0x431a17=_0xaa3f28.szBasePath,"\n(function (event) {\n const AUDIO_TYPE = 0;\t// 音频\n const VIDEO_TYPE = 1; // 视频\n const PRIVT_TYPE = 2; // 私有帧\n\n const PLAYM4_AUDIO_FRAME = 100; // 音频帧\n const PLAYM4_VIDEO_FRAME = 101; // 视频帧\n\n const PLAYM4_OK = 1;\n const PLAYM4_ORDER_ERROR = 2;\n const PLAYM4_DECODE_ERROR = 44 \t// 解码失败\n const PLAYM4_NOT_KEYFRAME = 48; \t// 非关键帧\n const PLAYM4_NEED_MORE_DATA = 31; // 需要更多数据才能解析\n const PLAYM4_NEED_NEET_LOOP = 35; //丢帧需要下个循环\n const PLAYM4_SYS_NOT_SUPPORT = 16; \t// 不支持\n\n importScripts('".concat(_0x431a17,'\');\n Module.addOnPostRun(function () {\n postMessage({ \'function\': "loaded" });\n });\n\n var iStreamMode = 0; // 流模式\n\n var bOpenMode = false;\n var bOpenStream = false;\n\n var funGetFrameData = null;\n var funGetAudFrameData = null;\n\n var bWorkerPrintLog = 0;//worker层log开关\n\n var g_nPort = -1;\n var pInputData = null;\n var inputBufferSize = 40960;\n\n const MP_RTINFO_SOURCE_DATA_INTERVAL = 0x40000; ///<实时流送帧时间间隔\n const MP_RTINFO_IDMX_RTP_HEADER_SEQ_ERROR = 0x400;///> 2];\n runtimeInfo.nStrVersion = Module.HEAP32[pstRunTimeInfo + 4 >> 2];\n runtimeInfo.nFrameTimeStamp = Module.HEAP32[pstRunTimeInfo + 8 >> 2];\n runtimeInfo.nFrameNum = Module.HEAP32[pstRunTimeInfo + 12 >> 2];\n runtimeInfo.nErrorCode = Module.HEAP32[pstRunTimeInfo + 16 >> 2];\n if (runtimeInfo.nErrorCode == MP_RTINFO_SOURCE_DATA_INTERVAL) {\n let nTimeInterval = Module.HEAP32[pstRunTimeInfo + 20 >> 2]; //reserved[12]保留数组的前4字节 表示帧之间的送流延迟\n runtimeInfo.nInputDataInterval = nTimeInterval; //送流间隔实时信息回调\n }\n if (runtimeInfo.nErrorCode == MP_RTINFO_IDMX_RTP_HEADER_SEQ_ERROR) {\n let nFrameNumInterval = Module.HEAP32[pstRunTimeInfo + 20 >> 2]; //reserved[12]保留数组的前4字节 表示帧之间的送流延迟\n runtimeInfo.nFrameNumInterval = nFrameNumInterval; //PS帧号不连续差值;RTP丢包为1\n }\n // console.log("nRunTimeModule:"+nRunTimeModule+",nFrameNum:"+nFrameNum+",nErrorCode:"+nErrorCode);\n postMessage({ \'function\': "RunTimeInfoCallBack", \'runtimeInfo\': runtimeInfo});\n }\n\tself.JSPlayM4_StreamInfoCallBack = function (nPort, pstStreamInfo, pUser)\n\t{\n\t\tlet port = nPort;\n let user = pUser;\n let nSystemformat = Module.HEAP16[pstStreamInfo >> 1]; //封装类型\n let nVideoformat = Module.HEAP16[pstStreamInfo + 2 >> 1];//视频编码类型\n let nAudioformat = Module.HEAP16[pstStreamInfo + 4 >> 1];//音频编码类型\n let nAudiochannels = Module.HEAP16[pstStreamInfo + 6 >> 1]; //音频通道数\n let nAudiobitspersample = Module.HEAP32[pstStreamInfo + 8 >> 2];//音频样位率\n let nAudiosamplesrate = Module.HEAP32[pstStreamInfo + 12 >> 2];//音频采样率\n let nAudiobitrate = Module.HEAP32[pstStreamInfo + 16 >> 2];//音频比特率,单位:bit\n\t\tlet nWidth = Module.HEAP32[pstStreamInfo + 20 >> 2];//视频宽\n let nHeight = Module.HEAP32[pstStreamInfo + 24 >> 2];//视频高\n let fFrameRate = Module.HEAPF32[pstStreamInfo + 28 >> 2];//视频帧率\n let nIntervalOfIFrame = Module.HEAP32[pstStreamInfo + 32 >> 2];//视频GOP大小(统计最近5个GOP的平均大小)\n\t\t//console.log("nSystemformat:" + nSystemformat + ",nVideoformat:" + nVideoformat + ",nAudioformat:" + nAudioformat + ",nAudiochannels:" + nAudiochannels + ",nAudiobitspersample:" + nAudiobitspersample + ",nAudiosamplesrate:" + nAudiosamplesrate + ",nAudiobitrate:" + nAudiobitrate);\n postMessage({ \'function\': "StreamInfoCallBack", \'nSystemformat\': nSystemformat, \'nVideoformat\': nVideoformat, \'nAudioformat\': nAudioformat, \'nAudiochannels\': nAudiochannels, \'nAudiobitspersample\': nAudiobitspersample, \'nAudiosamplesrate\': nAudiosamplesrate, \'nAudiobitrate\': nAudiobitrate\n , \'nWidth\': nWidth, \'nHeight\': nHeight, \'fFrameRate\': fFrameRate, \'nIntervalOfIFrame\': nIntervalOfIFrame});\n }\n self.JSPlayM4_AdditionDataCBFun = function (port, addDataInfo, nUser) {\n let dataType = Module.HEAP32[addDataInfo >> 2];\n let dataStrVersion = Module.HEAP32[addDataInfo + 4 >> 2];\n let dataTimeStamp = Module.HEAP32[addDataInfo + 8 >> 2];\n let dataLength = Module.HEAP32[addDataInfo + 12 >> 2];\n let pData = Module.HEAP32[addDataInfo + 16 >> 2];\n let additionDataBuffer = new Uint8Array(dataLength);\n additionDataBuffer.set(Module.HEAPU8.subarray(pData, pData + dataLength));\n postMessage({ \'function\': "AdditionDataCallBack", \'dataType\': dataType, \'dataStrVersion\': dataStrVersion, \'dataTimeStamp\': dataTimeStamp, \'dataLength\': dataLength, \'pData\':pData,\'additionDataBuffer\': additionDataBuffer},[additionDataBuffer.buffer]);\n }\n self.JSPlayM4_PostMpStreamOffsetCallBack = function (nPort, pstPostMpStreamOffsetInfo, pUser)\n\t{\n\t\tlet port = nPort;\n let user = pUser;\n let nStreamOffset = Module.HEAP32[pstPostMpStreamOffsetInfo >> 2];\n\t\tpostMessage({ \'function\': "PostMpStreamOffsetCallBack", \'nStreamOffset\': nStreamOffset});\n }\n\n onmessage = function (event) {\n var eventData = event.data;\n var res = 0;\n switch (eventData.command) {\n case "printLog":\n let downloadFlag = eventData.data;\n bWorkerPrintLog = downloadFlag;\n res = Module._SetPrintLogFlag(g_nPort, downloadFlag);\n if (res !== PLAYM4_OK) {\n if(bWorkerPrintLog >= 0 ){\n console.log("DecodeWorker.js: PlayerSDK print log failed,res" + res);\n }\n postMessage({ \'function\': "printLog", \'errorCode\': res });\n }\n break;\n case "SetPlayPosition":\n let nFrameNumOrTime = eventData.data;\n let enPosType = eventData.type;\n // res = Module._SetPlayPosition(nFrameNumOrTime,enPosType);\n // if (res !== PLAYM4_OK)\n // {\n // postMessage({\'function\': "SetPlayPosition", \'errorCode\': res});\n // return;\n // }\n // //有没有buffer需要清除\n\n break;\n case "SetStreamOpenMode":\n //获取版本信息\n let version = Module._GetSDKVersion();\n let buildDate = Module._GetBuildDate();\n console.log("%cV1Decoder.js version:" + version.toString(16) + ",buildDate:" + buildDate.toString(16), \'color: blue\');\n //获取端口号\n g_nPort = Module._GetPort();\n //设置流打开模式\n iStreamMode = eventData.data;\n res = Module._SetStreamOpenMode(g_nPort, iStreamMode);\n if (res !== PLAYM4_OK) {\n postMessage({ \'function\': "SetStreamOpenMode", \'errorCode\': res });\n return;\n }\n bOpenMode = true;\n break;\n\n case "OpenStream":\n // 接收到的数据\n var iHeadLen = eventData.dataSize;\n var pHead = Module._malloc(iHeadLen + 4);\n if (pHead === null) {\n return;\n }\n var aHead = Module.HEAPU8.subarray(pHead, pHead + iHeadLen);\n aHead.set(new Uint8Array(eventData.data));\n res = Module._OpenStream(g_nPort, pHead, iHeadLen, eventData.bufPoolSize);\n postMessage({ \'function\': "OpenStream", \'errorCode\': res });\n if (res !== PLAYM4_OK) {\n //释放内存\n Module._free(pHead);\n pHead = null;\n return;\n }\n bOpenStream = true;\n break;\n case "Play":\n let resP = Module._Play(g_nPort);\n if (resP !== PLAYM4_OK) {\n return;\n }\n break;\n case "InputData":\n // 接收到的数据\n var iLen = eventData.dataSize;\n if (iLen > 0) {\n if (pInputData == null || iLen > inputBufferSize) {\n if (pInputData != null) {\n Module._free(pInputData);\n pInputData = null;\n }\n if (iLen > inputBufferSize) {\n inputBufferSize = iLen;\n }\n\n pInputData = Module._malloc(inputBufferSize);\n if (pInputData === null) {\n return;\n }\n }\n\n var inputData = new Uint8Array(eventData.data);\n // var aInputData = Module.HEAPU8.subarray(pInputData, pInputData + iLen);\n // aInputData.set(inputData);\n Module.writeArrayToMemory(inputData, pInputData);\n inputData = null;\n res = Module._InputData(g_nPort, pInputData, iLen);\n if (res !== PLAYM4_OK) {\n let errorCode = Module._GetLastError(g_nPort);\n let sourceRemain = Module._GetSourceBufferRemain(g_nPort);\n postMessage({ \'function\': "InputData", \'errorCode\': errorCode, "sourceRemain": sourceRemain });\n }\n //Module._free(pInputData);\n //pInputData = null;\n } else {\n let sourceRemain = Module._GetSourceBufferRemain(g_nPort);\n if (sourceRemain == 0) {\n postMessage({ \'function\': "InputData", \'errorCode\': PLAYM4_NEED_MORE_DATA });\n return;\n }\n }\n\n /////////////////////\n // if (funGetFrameData === null) {\n // funGetFrameData = Module.cwrap(\'GetFrameData\', \'number\');\n // }\n\n while (bOpenMode && bOpenStream) {\n\n var ret = getFrameData();\n // 直到获取视频帧或数据不足为止\n if (PLAYM4_VIDEO_FRAME === ret || PLAYM4_NEED_MORE_DATA === ret || PLAYM4_ORDER_ERROR === ret)//PLAYM4_VIDEO_FRAME === ret || || PLAYM4_NEED_NEET_LOOP === ret\n {\n break;\n }\n }\n break;\n\n case "SetSecretKey":\n var keyLen = eventData.nKeyLen;\n var pKeyData = Module._malloc(keyLen);\n if (pKeyData === null) {\n return;\n }\n var nKeySize = eventData.data.length\n var bufData = stringToBytes(eventData.data);\n var aKeyData = Module.HEAPU8.subarray(pKeyData, pKeyData + keyLen);\n let u8array = new Uint8Array(keyLen);\n aKeyData.set(u8array, 0);\n aKeyData.set(new Uint8Array(bufData));\n aKeyData = null;\n u8array = null;\n\n res = Module._SetSecretKey(g_nPort, eventData.nKeyType, pKeyData, keyLen);//, nKeySize\n if (res !== PLAYM4_OK) {\n postMessage({ \'function\': "SetSecretKey", \'errorCode\': res });\n Module._free(pKeyData);\n pKeyData = null;\n return;\n }\n\n Module._free(pKeyData);\n pKeyData = null;\n break;\n\n case "GetBMP":\n var nBMPWidth = eventData.width;\n var nBMPHeight = eventData.height;\n var pYUVData = eventData.data;\n var nYUVSize = nBMPWidth * nBMPHeight * 3 / 2;\n var oBMPCropRect = eventData.rect;\n\n var pDataYUV = Module._malloc(nYUVSize);\n if (pDataYUV === null) {\n return;\n }\n\n Module.writeArrayToMemory(new Uint8Array(pYUVData, 0, nYUVSize), pDataYUV);\n\n // 分配BMP空间\n var nBmpSize = nBMPWidth * nBMPHeight * 4 + 60;\n var pBmpData = Module._malloc(nBmpSize);\n var pBmpSize = Module._malloc(4);\n if (pBmpData === null || pBmpSize === null) {\n Module._free(pDataYUV);\n pDataYUV = null;\n\n if (pBmpData != null) {\n Module._free(pBmpData);\n pBmpData = null;\n }\n\n if (pBmpSize != null) {\n Module._free(pBmpSize);\n pBmpSize = null;\n }\n return;\n }\n\n //Module._memset(pBmpSize, nBmpSize, 4); // 防止bmp截图出现输入数据过大的错误码\n Module.setValue(pBmpSize, nBmpSize, "i32");\n res = Module._GetBMP(g_nPort, pDataYUV, nYUVSize, pBmpData, pBmpSize,\n oBMPCropRect.left, oBMPCropRect.top, oBMPCropRect.right, oBMPCropRect.bottom);\n if (res !== PLAYM4_OK) {\n postMessage({ \'function\': "GetBMP", \'errorCode\': res });\n Module._free(pDataYUV);\n pDataYUV = null;\n Module._free(pBmpData);\n pBmpData = null;\n Module._free(pBmpSize);\n pBmpSize = null;\n return;\n }\n\n // 获取BMP图片大小\n var nBmpDataSize = Module.getValue(pBmpSize, "i32");\n\n // 获取BMP图片数据\n var aBmpData = new Uint8Array(nBmpDataSize);\n aBmpData.set(Module.HEAPU8.subarray(pBmpData, pBmpData + nBmpDataSize));\n\n postMessage({ \'function\': "GetBMP", \'data\': aBmpData, \'errorCode\': res }, [aBmpData.buffer]);\n aBmpData = null;\n if (pDataYUV != null) {\n Module._free(pDataYUV);\n pDataYUV = null;\n }\n if (pBmpData != null) {\n Module._free(pBmpData);\n pBmpData = null;\n }\n if (pBmpSize != null) {\n Module._free(pBmpSize);\n pBmpSize = null;\n }\n break;\n\n case "GetJPEG":\n var nJpegWidth = eventData.width;\n var nJpegHeight = eventData.height;\n var pYUVData1 = eventData.data;\n var nYUVSize1 = nJpegWidth * nJpegHeight * 3 / 2;\n var oJpegCropRect = eventData.rect;\n\n var pDataYUV1 = Module._malloc(nYUVSize1);\n if (pDataYUV1 === null) {\n return;\n }\n\n Module.writeArrayToMemory(new Uint8Array(pYUVData1, 0, nYUVSize1), pDataYUV1);\n\n // 分配JPEG空间\n var pJpegData = Module._malloc(nYUVSize1);\n var pJpegSize = Module._malloc(4);\n if (pJpegData === null || pJpegSize === null) {\n if (pJpegData != null) {\n Module._free(pJpegData);\n pJpegData = null;\n }\n\n if (pJpegSize != null) {\n Module._free(pJpegSize);\n pJpegSize = null;\n }\n\n if (pDataYUV1 != null) {\n Module._free(pDataYUV1);\n pDataYUV1 = null;\n }\n return;\n }\n\n Module.setValue(pJpegSize, nJpegWidth * nJpegHeight * 2, "i32"); // JPEG抓图,输入缓冲长度不小于当前帧YUV大小\n\n res = Module._GetJPEG(g_nPort, pDataYUV1, nYUVSize1, pJpegData, pJpegSize,\n oJpegCropRect.left, oJpegCropRect.top, oJpegCropRect.right, oJpegCropRect.bottom);\n if (res !== PLAYM4_OK) {\n postMessage({ \'function\': "GetJPEG", \'errorCode\': res });\n if (pJpegData != null) {\n Module._free(pJpegData);\n pJpegData = null;\n }\n\n if (pJpegSize != null) {\n Module._free(pJpegSize);\n pJpegSize = null;\n }\n\n if (pDataYUV1 != null) {\n Module._free(pDataYUV1);\n pDataYUV1 = null;\n }\n return;\n }\n\n // 获取JPEG图片大小\n var nJpegSize = Module.getValue(pJpegSize, "i32");\n\n // 获取JPEG图片数据\n var aJpegData = new Uint8Array(nJpegSize);\n aJpegData.set(Module.HEAPU8.subarray(pJpegData, pJpegData + nJpegSize));\n\n postMessage({ \'function\': "GetJPEG", \'data\': aJpegData, \'errorCode\': res }, [aJpegData.buffer]);\n\n nJpegSize = null;\n aJpegData = null;\n\n if (pDataYUV1 != null) {\n Module._free(pDataYUV1);\n pDataYUV1 = null;\n }\n if (pJpegData != null) {\n Module._free(pJpegData);\n pJpegData = null;\n }\n if (pJpegSize != null) {\n Module._free(pJpegSize);\n pJpegSize = null;\n }\n break;\n\n case "SetDecodeFrameType":\n var nFrameType = eventData.data;\n res = Module._SetDecodeFrameType(g_nPort, nFrameType);\n if (res !== PLAYM4_OK) {\n postMessage({ \'function\': "SetDecodeFrameType", \'errorCode\': res });\n return;\n }\n break;\n case "CloseStream":\n //stop\n let resS = Module._Stop(g_nPort);\n if (resS !== PLAYM4_OK) {\n postMessage({ \'function\': "Stop", \'errorCode\': res });\n return;\n }\n //closeStream\n res = Module._CloseStream(g_nPort);\n if (res !== PLAYM4_OK) {\n postMessage({ \'function\': "CloseStream", \'errorCode\': res });\n return;\n }\n //freePort\n let resF = Module._FreePort(g_nPort);\n if (resF !== PLAYM4_OK) {\n postMessage({ \'function\': "FreePort", \'errorCode\': res });\n return;\n }\n if (pInputData != null) {\n Module._free(pInputData);\n pInputData = null;\n }\n break;\n case "PlaySound":\n let resPS = Module._PlaySound(g_nPort);\n if (resPS !== PLAYM4_OK) {\n console.log("PlaySound failed");\n return;\n }\n break;\n case "StopSound":\n let resSS = Module._StopSound();\n if (resSS !== PLAYM4_OK) {\n console.log("StopSound failed");\n return;\n }\n break;\n case "SetVolume":\n let resSV = Module._SetVolume(g_nPort, eventData.volume);\n if (resSV !== PLAYM4_OK) {\n console.log("Audio SetVolume failed");\n return;\n }\n break;\n case "GetVolume":\n let volume = Module._GetVolume();\n if (volume > 0) {\n postMessage({ \'function\': "GetVolume", \'volume\': volume });\n }\n else {\n console.log("Audio GetVolume failed");\n return;\n }\n break;\n case "OnlyPlaySound":\n let resOPS = Module._OnlyPlaySound(g_nPort);\n if (resOPS !== PLAYM4_OK) {\n console.log("OnlyPlaySound failed");\n return;\n }\n break;\n case "Pause":\n let resPa = Module._Pause(g_nPort, eventData.bPlay);\n if (resPa !== PLAYM4_OK) {\n console.log("Pause failed");\n return;\n }\n case "PlayRate":\n Module._SetPlayRate(g_nPort, eventData.playRate);\n break;\n case "SetIFrameDecInterval":\n Module._SetIFrameDecInterval(g_nPort, eventData.data);\n break;\n case "SetLostFrameMode":\n Module._SetLostFrameMode(g_nPort, eventData.data, 0);\n break;\n case "SetDemuxModel":\n let resSDM = Module._SetDemuxModel(g_nPort, eventData.nIdemuxType, eventData.bTrue);\n break;\n case "SkipErrorData":\n Module._SkipErrorData(g_nPort, eventData.bSkip);\n break;\n case "SetDecodeERC":\n Module._SetDecodeERC(g_nPort, eventData.nLevel);\n break;\n case "SetANRParam":\n Module._SetANRParam(g_nPort, eventData.nEnable, eventData.nANRLevel);\n break;\n case "SetResampleValue":\n Module._SetResampleValue(g_nPort, eventData.nEnable, eventData.resampleValue);\n break;\n case "GetLastError":\n let errorCode = Module._GetLastError(g_nPort);\n postMessage({ \'function\': "GetLastError", \'errorCode\': errorCode });\n break;\n case "SetGlobalBaseTime":\n Module._SetGlobalBaseTime(g_nPort, eventData.year, eventData.month, eventData.day, eventData.hour, eventData.min, eventData.sec, eventData.ms);\n break;\n case "SetRunTimeInfoCB":\n Module._SetRunTimeInfoCallBackEx(g_nPort, eventData.nModuleType, 0);\n break;\n\t\t\tcase "SetStreamInfoCB":\n Module._SetStreamInfoCallBack(g_nPort, eventData.nType, 0);\n break;\n\t\t\tcase "GetFileTime":\n let FileTime = Module._JSPlayM4_GetFileTime(g_nPort);\n\t\t\t\tpostMessage({ \'function\': "GetFileTime", \'FileTime\': FileTime });\n break;\n\t\t\tcase "GetMpOffset":\n let Offset = Module._JSPlayM4_GetMpOffset(g_nPort,eventData.FrameTime);\n\t\t\t\tpostMessage({ \'function\': "GetMpOffset", \'Offset\': Offset });\n break;\n\t\t\tcase "ResetBuffer":\n Module._JSPlayM4_ResetBuffer(g_nPort, eventData.type);\n break;\n case "SetAdditionDataCallBack":\n Module._SetAdditionDataCallBack(g_nPort,eventData.additionDataType,eventData.nFlag,0);\n break;\n case "SetRunTimeInfoCallbackType":\n Module._SetRunTimeInfoCallbackType(g_nPort,eventData.module,eventData.Type,eventData.Flag);\n break;\n case "SetPostMpStreamOffsetCB":\n Module._SetPostMpStreamOffsetCallBack(g_nPort, 0);\n break;\n default:\n break;\n }\n };\n\n function getOSDTime(oFrameInfo) {\n var iYear = oFrameInfo.year;\n var iMonth = oFrameInfo.month;\n var iDay = oFrameInfo.day;\n var iHour = oFrameInfo.hour;\n var iMinute = oFrameInfo.minute;\n var iSecond = oFrameInfo.second;\n var iMiSecond = oFrameInfo.misecond\n\n if (iMonth < 10) {\n iMonth = "0" + iMonth;\n }\n if (iDay < 10) {\n iDay = "0" + iDay;\n }\n if (iHour < 10) {\n iHour = "0" + iHour;\n }\n if (iMinute < 10) {\n iMinute = "0" + iMinute;\n }\n if (iSecond < 10) {\n iSecond = "0" + iSecond;\n }\n let osdTime = {};\n\n osdTime.year = iYear;\n osdTime.month = iMonth;\n osdTime.week = 0;\n osdTime.day = iDay;\n osdTime.hour = iHour;\n osdTime.minute = iMinute;\n osdTime.second = iSecond;\n osdTime.milliseconds = iMiSecond;\n return osdTime;\n //return iYear + "-" + iMonth + "-" + iDay + " " + iHour + ":" + iMinute + ":" + iSecond;\n }\n // 获取帧数据\n function getFrameData() {\n // function getFrameData() {\n // 获取帧数据\n var res = Module._GetFrameData();\n //var res = fun();\n if (res === PLAYM4_OK) {\n var iFrameInfo = Module._GetFrameInfo();\n let oFrameInfo = {};\n oFrameInfo.frameType = Module.HEAP32[iFrameInfo >> 2];\n oFrameInfo.frameSize = Module.HEAP32[iFrameInfo + 4 >> 2];\n oFrameInfo.width = Module.HEAP32[iFrameInfo + 8 >> 2];\n oFrameInfo.height = Module.HEAP32[iFrameInfo + 12 >> 2];\n oFrameInfo.timeStamp = Module.HEAP32[iFrameInfo + 16 >> 2];\n oFrameInfo.frameRate = Module.HEAP32[iFrameInfo + 20 >> 2];\n oFrameInfo.bitsPerSample = Module.HEAP32[iFrameInfo + 24 >> 2];\n oFrameInfo.samplesPerSec = Module.HEAP32[iFrameInfo + 28 >> 2];\n oFrameInfo.channels = Module.HEAP32[iFrameInfo + 32 >> 2];\n oFrameInfo.frameNum = Module.HEAP32[iFrameInfo + 36 >> 2];\n\n oFrameInfo.cropLeft = Module.HEAP32[iFrameInfo + 40 >> 2];\n oFrameInfo.cropRight = Module.HEAP32[iFrameInfo + 44 >> 2];\n oFrameInfo.cropTop = Module.HEAP32[iFrameInfo + 48 >> 2];\n oFrameInfo.cropBottom = Module.HEAP32[iFrameInfo + 52 >> 2];\n\t\t\toFrameInfo.relframeNum = Module.HEAP32[iFrameInfo + 56 >> 2];\n\t\t\toFrameInfo.relframeTime = Module.HEAP32[iFrameInfo + 60 >> 2];\n\n oFrameInfo.year = Module.HEAP16[iFrameInfo + 64 >> 1];\n oFrameInfo.month = Module.HEAP16[iFrameInfo + 66 >> 1];\n oFrameInfo.day = Module.HEAP16[iFrameInfo + 68 >> 1];\n oFrameInfo.hour = Module.HEAP16[iFrameInfo + 70 >> 1];\n oFrameInfo.minute = Module.HEAP16[iFrameInfo + 72 >> 1];\n oFrameInfo.second = Module.HEAP16[iFrameInfo + 74 >> 1];\n oFrameInfo.misecond = Module.HEAP16[iFrameInfo + 76 >> 1];\n switch (oFrameInfo.frameType) {\n case AUDIO_TYPE:\n var iSize = oFrameInfo.frameSize;\n if (0 === iSize) {\n return -1;\n }\n var pPCM = Module._GetFrameBuffer();\n // var audioBuf = new ArrayBuffer(iSize);\n var aPCMData = new Uint8Array(iSize);\n aPCMData.set(Module.HEAPU8.subarray(pPCM, pPCM + iSize));\n if (bWorkerPrintLog > 0 ) {\n console.log("<< 0) {\n console.log("<<> 8; // shift value down by 1 byte\n }\n while (ch);\n // add stack contents to result\n // done because chars have "wrong" endianness\n re = re.concat(st.reverse());\n }\n // return an array of bytes\n return re;\n }\n})();\n'))]),_0x306d49=URL.createObjectURL(_0x532367);if(this.decodeWorker=new Worker(_0x306d49),_0xaa3f28.bJSPrintLog>0&&console.log(">>>JSPlayV1.1 createWorker success!"),null==_0xaa3f28.decodeWorker)return 60}_0xaa3f28.decodeWorker.onmessage=function(_0x3ccb14){var _0x2a23c3=null,_0x1c5c01=_0x3ccb14.data;switch(_0xaa3f28.errorCode=_0x1c5c01.errorCode,_0x1c5c01.function){case"printLog":_0xaa3f28.bJSPrintLog>=0&&console.log("print JSPlayerSDK log failed");break;case"loaded":_0x2a23c3="loaded",_0xaa3f28.decodeWorker.postMessage({command:"printLog",data:_0xaa3f28.bJSPrintLog}),_0xaa3f28.bJSPrintLog>=0&&console.log("V1 Decoder.js loaded path:"+_0xaa3f28.szBasePath),_0xaa3f28.setCallBack(_0xaa3f28,"loaded",0,0,!0);break;case"SetStreamOpenMode":_0x2a23c3="SetStreamOpenMode";break;case"OpenStream":if(_0x2a23c3="OpenStream",1===_0x1c5c01.errorCode)return _0x304064.bOpenStream=!0,void(_0x304064.nCurStatus=1);break;case"InputData":_0x2a23c3="InputData",11===_0x1c5c01.errorCode&&(_0x304064.bIsInputBufOver=!0,_0xaa3f28.bJSPrintLog>=0&&console.log("yff inputBuffer over set key frame \n"),1!=_0x304064.nDecFrameType&&_0x304064.PlayM4_SetDecodeFrameType(1)),36===_0x1c5c01.errorCode&&(_0x304064.bIsInputBufWillOver=!0),31===_0x1c5c01.errorCode&&(_0x304064.bIsInputBufOver=!1,_0x304064.bIsInputBufWillOver=!1,_0x304064.aInputDataLens.length>0&&_0x304064.bIsInput?(_0x304064.inputDataFun(),_0x304064.bIsInput=!1):_0x304064.bIsGetYUV=!0);break;case"GetFrameData":if(_0x2a23c3="GetFrameData",!_0x304064.bOnlyPlaySound){if(null!=_0x1c5c01.data&&null!=_0x1c5c01.frameInfo&&(_0x1c5c01.frameInfo.width,_0x1c5c01.frameInfo.height),!_0x304064.bPlay)return;if(_0x304064.errorCode=_0x1c5c01.errorCode,!(_0x304064.bIsFirstFrame||31!==_0x1c5c01.errorCode&&35!==_0x1c5c01.errorCode)){31===_0x1c5c01.errorCode&&(_0x304064.bIsInputBufOver=!1,_0x304064.bIsInputBufWillOver=!1),_0x304064.loopNum>5?(_0x304064.bIsGetYUV=!0,_0x304064.loopNum=0):(_0x304064.inputDataFun(),_0x304064.loopNum++);break}_0x304064.bIsInputBufOver||_0x304064.bIsInputBufWillOver?_0x304064.inputDataFun():"videoType"===_0x1c5c01.type&&(_0x304064.aInputDataLens.length>0&&_0x304064.bIsInput?(_0x304064.inputDataFun(),_0x304064.bIsInput=!1):_0x304064.bIsGetYUV=!0,_0x304064.bIsFirstFrame=!1)}if(_0x304064.bVisibility&&1===_0x1c5c01.errorCode)switch(_0x1c5c01.type){case"videoType":if(null==_0x1c5c01.data||null==_0x1c5c01.frameInfo)return 0;null!=_0x304064.DecCallBackFun&&(_0x304064.DecInfoYUV.port=0,_0x304064.DecInfoYUV.iDataType=3,_0x304064.DecInfoYUV.height=_0x1c5c01.frameInfo.height,_0x304064.DecInfoYUV.width=_0x1c5c01.frameInfo.width,_0x304064.DecInfoYUV.isize=_0x1c5c01.frameInfo.width*_0x1c5c01.frameInfo.height*3/2,_0x304064.DecInfoYUV.Data=new Uint8Array(_0x1c5c01.data),_0x304064.DecCallBackFun(_0x304064.DecInfoYUV)),_0x304064.bIsFirstFrame=!1,_0xaa3f28.nWidth=_0x1c5c01.frameInfo.width,_0xaa3f28.nHeight=_0x1c5c01.frameInfo.height,_0xaa3f28.nSPSCropLeft=_0x1c5c01.frameInfo.cropLeft,_0xaa3f28.nSPSCropRight=_0x1c5c01.frameInfo.cropRight,_0xaa3f28.nSPSCropTop=_0x1c5c01.frameInfo.cropTop,_0xaa3f28.nSPSCropBottom=_0x1c5c01.frameInfo.cropBottom,_0xaa3f28.timeStamp=_0x1c5c01.frameInfo.timeStamp;var _0x10c9b6=new Object;if(_0x10c9b6.data=_0x1c5c01.data,_0x10c9b6.osdTime=_0x1c5c01.frameInfo,_0x10c9b6.nWidth=_0x1c5c01.frameInfo.width,_0x10c9b6.nHeight=_0x1c5c01.frameInfo.height,_0x10c9b6.frameNum=_0x1c5c01.frameInfo.frameNum,_0x10c9b6.timeStamp=_0x1c5c01.frameInfo.timeStamp,_0x10c9b6.relframeNum=_0x1c5c01.frameInfo.relframeNum,_0x10c9b6.relframeTime=_0x1c5c01.frameInfo.relframeTime,_0xaa3f28.jsplayer.DecodeTypeFlagMap.size>0){var _0x1ac6f1,_0x615f7e=_0x2da703(_0xaa3f28.jsplayer.DecodeTypeFlagMap.keys());try{for(_0x615f7e.s();!(_0x1ac6f1=_0x615f7e.n()).done;){var _0x465a98=_0x1ac6f1.value;if(352321537&_0x465a98&&1==_0xaa3f28.jsplayer.DecodeTypeFlagMap.get(_0x465a98)&&null!=_0xaa3f28.runtimeInfoCBFun&&null!=_0xaa3f28.oDecodeTimer){var _0x4f1007=_0xaa3f28.oDecodeTimer.GetTimerWalk();_0x4f1007<=0||_0x4f1007>1e7||_0xaa3f28.nGetTotalFrameNum>1e5?(_0xaa3f28.nGetTotalFrameNum=0,_0xaa3f28.oDecodeTimer.Init()):(_0xaa3f28.nGetTotalFrameNum++,_0xaa3f28.nAverageDecodeTime=_0x4f1007/_0xaa3f28.nGetTotalFrameNum,null!=_0xaa3f28.runtimeInfoCBFun&&(_0xaa3f28.pstRuntimeInfo.nRunTimeModule=2,_0xaa3f28.pstRuntimeInfo.nStrVersion=1,_0xaa3f28.pstRuntimeInfo.nFrameTimeStamp=_0x10c9b6.timeStamp,_0xaa3f28.pstRuntimeInfo.nFrameNum=_0x10c9b6.frameNum,_0xaa3f28.pstRuntimeInfo.nErrorCode=352321537,_0xaa3f28.pstRuntimeInfo.nInputDataInterval=0,_0xaa3f28.pstRuntimeInfo.nFrameNumInterval=0,_0xaa3f28.pstRuntimeInfo.nAverageDecodeTime=_0xaa3f28.nAverageDecodeTime,_0xaa3f28.runtimeInfoCBFun(_0xaa3f28.pstRuntimeInfo)))}}}catch(_0x2b7f65){_0x615f7e.e(_0x2b7f65)}finally{_0x615f7e.f()}}if(_0xaa3f28.bWriteYUVData){for(var _0x3465a=new Uint8Array(_0x1c5c01.data),_0x3faa1f=_0xaa3f28.aVideoYUVBuffer.length,_0x1eb423=0,_0x507229=_0x3465a.length;_0x1eb423<_0x507229;_0x1eb423++)_0xaa3f28.aVideoYUVBuffer[_0x3faa1f+_0x1eb423]=_0x3465a[_0x1eb423];_0xaa3f28.iYUV10size++,_0x3465a=null}if(_0xaa3f28.bWriteYUVData&&_0xaa3f28.iYUV10size>=20){var _0x219caf=new Uint8Array(_0xaa3f28.aVideoYUVBuffer);_0xaa3f28.downloadFile(_0x219caf,"videoYUV.data"),_0xaa3f28.aVideoYUVBuffer.splice(0,_0xaa3f28.aVideoYUVBuffer.length),_0xaa3f28.bWriteYUVData=!1,_0xaa3f28.iYUV10size=0,_0x219caf=null}if(_0xaa3f28.aVideoFrameBuffer.push(_0x10c9b6),_0x10c9b6=null,_0xaa3f28.aVideoFrameBuffer.length>5&&(_0xaa3f28.bOnebyOne||6==_0xaa3f28.nCurStatus||_0xaa3f28.aVideoFrameBuffer.splice(0,2)),(_0xaa3f28.bOnebyOne||6==_0xaa3f28.nCurStatus)&&(_0xaa3f28.aVideoFrameBuffer.length>=15||_0xaa3f28.aInputDataBuffer.length>=.8*_0xaa3f28.iInputMaxBufSize)){_0xaa3f28.setCallBack(_0xaa3f28,"OnebyOne",0,0,!1),_0xaa3f28.bIsFirstFrame=!0;break}break;case"audioType":if(0==_0xaa3f28.bHIKHeadValue&&(_0xaa3f28.bFileHeadAudioFormat=!0),_0xaa3f28.bPlaySound&&!_0xaa3f28.bPlayRateChange||_0x304064.bOnlyPlaySound){null!=_0x304064.PCMCallBackFun&&(_0x304064.DecInfoPCM.port=0,_0x304064.DecInfoPCM.SampleRate=_0x1c5c01.frameInfo.samplesPerSec,_0x304064.DecInfoPCM.channel=_0x1c5c01.frameInfo.channels,_0x304064.DecInfoPCM.bitsPerSample=_0x1c5c01.frameInfo.bitsPerSample,_0x304064.DecInfoPCM.iDataType=101,_0x304064.DecInfoPCM.Data=new Uint8Array(_0x1c5c01.data),_0x304064.DecInfoPCM.isize=_0x304064.DecInfoPCM.Data.length,_0x304064.PCMCallBackFun(_0x304064.DecInfoPCM));for(var _0x37e87b=new Uint8Array(_0x1c5c01.data),_0x292928=_0xaa3f28.aAudioBuffer.length,_0x45a0af=0,_0x59c5a1=_0x37e87b.length;_0x45a0af<_0x59c5a1;_0x45a0af++)_0xaa3f28.aAudioBuffer[_0x292928+_0x45a0af]=_0x37e87b[_0x45a0af];if(_0xaa3f28.iAudioBufferSize++,_0x37e87b=null,_0xaa3f28.bWritePCMData){for(var _0x101b27=new Uint8Array(_0x1c5c01.data),_0x958968=_0xaa3f28.aAudioPCMBuffer.length,_0x2d59ac=0,_0x4e2dd7=_0x101b27.length;_0x2d59ac<_0x4e2dd7;_0x2d59ac++)_0xaa3f28.aAudioPCMBuffer[_0x958968+_0x2d59ac]=_0x101b27[_0x2d59ac];_0xaa3f28.bJSPrintLog>=0&&console.log("audio_type num:"+_0xaa3f28.iAudioBuffer500Size+", len:"+_0x101b27.length),_0xaa3f28.iAudioBuffer500Size++,_0x101b27=null}if(_0xaa3f28.bWritePCMData&&_0xaa3f28.iAudioBuffer500Size>=100){var _0xe94bb6=new Uint8Array(_0xaa3f28.aAudioPCMBuffer);_0xaa3f28.downloadFile(_0xe94bb6,"audioPCM.data"),_0xaa3f28.aAudioPCMBuffer.splice(0,_0xaa3f28.aAudioPCMBuffer.length),_0xaa3f28.bWritePCMData=!1,_0xaa3f28.iAudioBuffer500Size=0,_0xe94bb6=null}_0xaa3f28.iAudioBufferSize>=_0x401d97&&(_0xaa3f28.audioRenderer.Play(_0xaa3f28.aAudioBuffer,_0xaa3f28.aAudioBuffer.length,_0x1c5c01.frameInfo),_0xaa3f28.aAudioBuffer.splice(0,_0xaa3f28.aAudioBuffer.length),_0xaa3f28.aAudioBuffer.length=0,_0xaa3f28.iAudioBufferSize=0)}}break;case"GetRawData":if(_0x2a23c3="GetRawData",_0xaa3f28.bWriteRawData){for(var _0x9a0633=new Uint8Array(_0x1c5c01.data),_0x7db3bc=_0xaa3f28.aRawDataBuffer.length,_0x4b8519=0,_0x208791=_0x9a0633.length;_0x4b8519<_0x208791;_0x4b8519++)_0xaa3f28.aRawDataBuffer[_0x7db3bc+_0x4b8519]=_0x9a0633[_0x4b8519];_0xaa3f28.iRawDataSize++,_0x9a0633=null}if(_0xaa3f28.bWriteRawData&&_0xaa3f28.iRawDataSize>=100){var _0x2f7d0d=new Uint8Array(_0xaa3f28.aRawDataBuffer);_0xaa3f28.downloadFile(_0x2f7d0d,"rawBuffer.data"),_0xaa3f28.aRawDataBuffer.splice(0,_0xaa3f28.aRawDataBuffer.length),_0xaa3f28.bWriteRawData=!1,_0xaa3f28.iRawDataSize=0,_0x2f7d0d=null}break;case"PlaySound":_0x2a23c3="PlaySound";break;case"GetJPEG":if(_0x2a23c3="GetJPEG",1!==_0x1c5c01.errorCode)return void(_0xaa3f28.bJSPrintLog>=0&&console.log("GetJPEG ErrorParam"));var _0x21d4db=_0x1c5c01.data;_0xaa3f28.jpegDownloadFlag&&(_0xaa3f28.downloadFile(_0x21d4db,"GetJPEG.jpeg"),_0xaa3f28.jpegDownloadFlag=!1),_0xaa3f28.dataCallBackFun(_0x21d4db,_0x21d4db.length);break;case"GetBMP":if(_0x2a23c3="GetBMP",1!==_0x1c5c01.errorCode)return void(_0xaa3f28.bJSPrintLog>=0&&console.log("GetBMP ErrorParam"));var _0x55cf67=_0x1c5c01.data;_0xaa3f28.bmpDownloadFlag&&(_0xaa3f28.downloadFile(_0x55cf67,"GetBmp.bmp"),_0xaa3f28.bmpDownloadFlag=!1),_0xaa3f28.dataCallBackFun(_0x55cf67,_0x55cf67.length);break;case"RunTimeInfoCallBack":_0x2a23c3="RunTimeInfoCallBack",null!=_0xaa3f28.runtimeInfoCBFun&&(_0xaa3f28.pstRuntimeInfo.nRunTimeModule=_0x1c5c01.runtimeInfo.nRunTimeModule,_0xaa3f28.pstRuntimeInfo.nStrVersion=_0x1c5c01.runtimeInfo.nStrVersion,_0xaa3f28.pstRuntimeInfo.nFrameTimeStamp=_0x1c5c01.runtimeInfo.nFrameTimeStamp,_0xaa3f28.pstRuntimeInfo.nFrameNum=_0x1c5c01.runtimeInfo.nFrameNum,_0xaa3f28.pstRuntimeInfo.nErrorCode=_0x1c5c01.runtimeInfo.nErrorCode,_0xaa3f28.pstRuntimeInfo.nInputDataInterval=_0x1c5c01.runtimeInfo.nInputDataInterval,_0xaa3f28.pstRuntimeInfo.nFrameNumInterval=_0x1c5c01.runtimeInfo.nFrameNumInterval,_0xaa3f28.runtimeInfoCBFun(_0xaa3f28.pstRuntimeInfo));break;case"StreamInfoCallBack":_0x2a23c3="StreamInfoCallBack";var _0x1eb523={};_0x1eb523.nSystemformat=_0x1c5c01.nSystemformat,_0x1eb523.nVideoformat=_0x1c5c01.nVideoformat,_0x1eb523.nAudioformat=_0x1c5c01.nAudioformat,_0x1eb523.nAudiochannels=_0x1c5c01.nAudiochannels,_0x1eb523.nAudiobitspersample=_0x1c5c01.nAudiobitspersample,_0x1eb523.nAudiosamplesrate=_0x1c5c01.nAudiosamplesrate,_0x1eb523.nAudiobitrate=_0x1c5c01.nAudiobitrate,_0x1eb523.nWidth=_0x1c5c01.nWidth,_0x1eb523.nHeight=_0x1c5c01.nHeight,_0x1eb523.fFrameRate=_0x1c5c01.fFrameRate,_0x1eb523.nIntervalOfIFrame=_0x1c5c01.nIntervalOfIFrame,null!=_0xaa3f28.streamInfoCBFun&&_0xaa3f28.streamInfoCBFun(_0x1eb523);break;case"PostMpStreamOffsetCallBack":_0x2a23c3="PostMpStreamOffsetCallBack";var _0x3c891d={};_0x3c891d.nStreamOffset=_0x1c5c01.nStreamOffset,null!=_0xaa3f28.PostMpStreamOffsetCBFun&&_0xaa3f28.PostMpStreamOffsetCBFun(_0x3c891d);break;case"GetFileTime":_0x2a23c3="GetFileTime";var _0x478c7c=_0x1c5c01.FileTime;null!=_0xaa3f28.GetFileTimeCBFun&&_0xaa3f28.GetFileTimeCBFun(_0x478c7c);break;case"GetMpOffset":_0x2a23c3="GetMpOffset";var _0x1d93d8=_0x1c5c01.Offset;null!=_0xaa3f28.GetMpOffsetCBFun&&(_0xaa3f28.GetMpOffsetCBFun(_0x1d93d8),_0x304064.needWaitMpOffset=!1);break;case"AdditionDataCallBack":var _0x551a6b={};_0x551a6b.dataType=_0x1c5c01.dataType,_0x551a6b.dataStrVersion=_0x1c5c01.dataStrVersion,_0x551a6b.dataTimeStamp=_0x1c5c01.dataTimeStamp,_0x551a6b.dataLength=_0x1c5c01.dataLength,_0x551a6b.pData=_0x1c5c01.pData,_0x551a6b.additionDataBuffer=new Uint8Array(_0x1c5c01.additionDataBuffer),null!=_0xaa3f28.addtionCallBackFun&&_0xaa3f28.addtionCallBackFun(_0x551a6b)}"GetFrameData"!==_0x2a23c3&&"loaded"!==_0x2a23c3?_0xaa3f28.setCallBack(_0xaa3f28,_0x2a23c3,0,_0xaa3f28.convertErrorCode(_0x1c5c01.errorCode),!0):16!==_0x1c5c01.errorCode&&101!==_0x1c5c01.errorCode&&100!==_0x1c5c01.errorCode&&48!==_0x1c5c01.errorCode||_0xaa3f28.setCallBack(_0xaa3f28,_0x2a23c3,0,_0xaa3f28.convertErrorCode(_0x1c5c01.errorCode),!0)}}var _0x431a17},this.createWorker(_0x304064),this.draw=function(){if(_0x304064.bPlay){if(!_0x304064.bPause||_0x304064.bOnebyOne){requestAnimationFrame(_0x304064.draw);var _0xb379f2=_0x304064.aVideoFrameBuffer.length;if(null!=_0x304064.YUVBufSizeCBFun&&_0x304064.YUVBufSizeCBFun(_0xb379f2),_0x304064.bOnebyOne){if(_0xb379f2<=8&&_0x304064.setCallBack(_0x304064,"OnebyOne",0,31,!0),_0xb379f2<=_0x304064.FrameForwardLen+1)return void _0x304064.setCallBack(_0x304064,"OnebyOne",0,31,!0);for(var _0x53347a=_0x304064.FrameForwardLen;_0x53347a>1;)_0x304064.aVideoFrameBuffer.shift(),_0x53347a--;_0x304064.bOnebyOne=!1}if(1==_0x304064.bstreamEnd&&(_0xb379f2<=0?(_0x304064.nstreamEndloopNum++,_0x304064.nstreamEndloopNum>=5&&(_0x304064.nstreamEndloopNum=0,_0x304064.bstreamEnd=!1,null!=_0x304064.runtimeInfoCBFun&&(_0x304064.pstRuntimeInfo.nRunTimeModule=0,_0x304064.pstRuntimeInfo.nStrVersion=0,_0x304064.pstRuntimeInfo.nFrameTimeStamp=0,_0x304064.pstRuntimeInfo.nFrameNum=0,_0x304064.pstRuntimeInfo.nErrorCode=9,_0x304064.pstRuntimeInfo.nInputDataInterval=0,_0x304064.pstRuntimeInfo.nFrameNumInterval=0,_0x304064.runtimeInfoCBFun(_0x304064.pstRuntimeInfo)))):_0x304064.nstreamEndloopNum=0),_0xb379f2>0){var _0x4fc3ba=_0x304064.aVideoFrameBuffer.shift(),_0x4c4c7e={};_0x4c4c7e.nCropLeft=_0x304064.nSPSCropLeft,_0x4c4c7e.nCropRight=_0x304064.nSPSCropRight,_0x4c4c7e.nCropTop=_0x304064.nSPSCropTop,_0x4c4c7e.nCropBottom=_0x304064.nSPSCropBottom,_0x4c4c7e.nCodeWidth=_0x4fc3ba.nWidth,_0x4c4c7e.nCodeHeight=_0x4fc3ba.nHeight,_0x304064.aDisplayBuf=_0x4fc3ba.data;var _0x243cc9=new Uint8Array(_0x304064.aDisplayBuf);if(_0x304064.jsplayer.RenderTypeFlagMap.size>0){var _0x3e7ef2,_0xecc596=_0x2da703(_0x304064.jsplayer.RenderTypeFlagMap.keys());try{for(_0xecc596.s();!(_0x3e7ef2=_0xecc596.n()).done;){var _0x5e5dac=_0x3e7ef2.value;520093697==_0x5e5dac&&1==_0x304064.jsplayer.RenderTypeFlagMap.get(_0x5e5dac)&&null!=_0x304064.runtimeInfoCBFun&&1==_0x304064.firstRenderBegin&&(_0x304064.pstRuntimeInfo.nRunTimeModule=3,_0x304064.pstRuntimeInfo.nStrVersion=1,_0x304064.pstRuntimeInfo.nFrameTimeStamp=_0x4fc3ba.timeStamp,_0x304064.pstRuntimeInfo.nFrameNum=0,_0x304064.pstRuntimeInfo.nErrorCode=520093697,_0x304064.pstRuntimeInfo.nInputDataInterval=0,_0x304064.pstRuntimeInfo.nFrameNumInterval=0,_0x304064.pstRuntimeInfo.nAverageDecodeTime=0,_0x304064.pstRuntimeInfo.AbsTimeYear=_0x4fc3ba.osdTime.year,_0x304064.pstRuntimeInfo.AbsTimeMonth=_0x4fc3ba.osdTime.month,_0x304064.pstRuntimeInfo.AbsTimeDay=_0x4fc3ba.osdTime.day,_0x304064.pstRuntimeInfo.AbsTimeHour=_0x4fc3ba.osdTime.hour,_0x304064.pstRuntimeInfo.AbsTimeMinute=_0x4fc3ba.osdTime.minute,_0x304064.pstRuntimeInfo.AbsTimeSecond=_0x4fc3ba.osdTime.second,_0x304064.pstRuntimeInfo.AbsTimeMilliseconds=_0x4fc3ba.osdTime.misecond,_0x304064.runtimeInfoCBFun(_0x304064.pstRuntimeInfo),_0x304064.firstRenderBegin=!1)}}catch(_0x1d6069){_0xecc596.e(_0x1d6069)}finally{_0xecc596.f()}}if(_0x304064.bVideoCropInfo?_0x304064.oSuperRender.DisplayFrame(_0x243cc9,_0x4fc3ba.nWidth-_0x304064.nSPSCropLeft-_0x304064.nSPSCropRight,_0x4fc3ba.nHeight-_0x304064.nSPSCropTop-_0x304064.nSPSCropBottom,_0x4fc3ba.timeStamp,_0x4c4c7e,null).then((function(_0x815784){_0x815784.timestamp;var _0x4c932a=_0x815784.DrawRet;if(_0x304064.jsplayer.RenderTypeFlagMap.size>0&&1!=_0x4c932a){var _0x27f6d6,_0x16202e=_0x2da703(_0x304064.jsplayer.RenderTypeFlagMap.keys());try{for(_0x16202e.s();!(_0x27f6d6=_0x16202e.n()).done;){var _0x490551=_0x27f6d6.value;16==_0x490551&&1==_0x304064.jsplayer.RenderTypeFlagMap.get(_0x490551)&&null!=_0x304064.runtimeInfoCBFun&&(_0x304064.pstRuntimeInfo.nRunTimeModule=3,_0x304064.pstRuntimeInfo.nStrVersion=1,_0x304064.pstRuntimeInfo.nFrameTimeStamp=_0x4fc3ba.timeStamp,_0x304064.pstRuntimeInfo.nFrameNum=0,_0x304064.pstRuntimeInfo.nErrorCode=16,_0x304064.runtimeInfoCBFun(_0x304064.pstRuntimeInfo))}}catch(_0x4fd43d){_0x16202e.e(_0x4fd43d)}finally{_0x16202e.f()}}})):_0x304064.oSuperRender.DisplayFrame(_0x243cc9,_0x4fc3ba.nWidth,_0x4fc3ba.nHeight,_0x4fc3ba.timeStamp,_0x4c4c7e,null).then((function(_0x209bc7){_0x209bc7.timestamp;var _0x94f1c7=_0x209bc7.DrawRet;if(_0x304064.jsplayer.RenderTypeFlagMap.size>0&&1!=_0x94f1c7){var _0x3126ca,_0x55a380=_0x2da703(_0x304064.jsplayer.RenderTypeFlagMap.keys());try{for(_0x55a380.s();!(_0x3126ca=_0x55a380.n()).done;){var _0x510e18=_0x3126ca.value;16==_0x510e18&&1==_0x304064.jsplayer.RenderTypeFlagMap.get(_0x510e18)&&null!=_0x304064.runtimeInfoCBFun&&(_0x304064.pstRuntimeInfo.nRunTimeModule=3,_0x304064.pstRuntimeInfo.nStrVersion=1,_0x304064.pstRuntimeInfo.nFrameTimeStamp=_0x4fc3ba.timeStamp,_0x304064.pstRuntimeInfo.nFrameNum=0,_0x304064.pstRuntimeInfo.nErrorCode=16,_0x304064.runtimeInfoCBFun(_0x304064.pstRuntimeInfo))}}catch(_0x1bf66f){_0x55a380.e(_0x1bf66f)}finally{_0x55a380.f()}}})),_0x304064.jsplayer.RenderTypeFlagMap.size>0){var _0x1dc84b,_0x37b9fc=_0x2da703(_0x304064.jsplayer.RenderTypeFlagMap.keys());try{for(_0x37b9fc.s();!(_0x1dc84b=_0x37b9fc.n()).done;){var _0x1fd05e=_0x1dc84b.value;528482304==_0x1fd05e&&1==_0x304064.jsplayer.RenderTypeFlagMap.get(_0x1fd05e)&&null!=_0x304064.runtimeInfoCBFun&&(_0x304064.pstRuntimeInfo.nRunTimeModule=3,_0x304064.pstRuntimeInfo.nStrVersion=1,_0x304064.pstRuntimeInfo.nFrameTimeStamp=_0x4fc3ba.timeStamp,_0x304064.pstRuntimeInfo.nFrameNum=0,_0x304064.pstRuntimeInfo.nErrorCode=528482304,_0x304064.pstRuntimeInfo.nInputDataInterval=0,_0x304064.pstRuntimeInfo.nFrameNumInterval=0,_0x304064.pstRuntimeInfo.nAverageDecodeTime=0,_0x304064.pstRuntimeInfo.AbsTimeYear=_0x4fc3ba.osdTime.year,_0x304064.pstRuntimeInfo.AbsTimeMonth=_0x4fc3ba.osdTime.month,_0x304064.pstRuntimeInfo.AbsTimeDay=_0x4fc3ba.osdTime.day,_0x304064.pstRuntimeInfo.AbsTimeHour=_0x4fc3ba.osdTime.hour,_0x304064.pstRuntimeInfo.AbsTimeMinute=_0x4fc3ba.osdTime.minute,_0x304064.pstRuntimeInfo.AbsTimeSecond=_0x4fc3ba.osdTime.second,_0x304064.pstRuntimeInfo.AbsTimeMilliseconds=_0x4fc3ba.osdTime.misecond,_0x304064.runtimeInfoCBFun(_0x304064.pstRuntimeInfo))}}catch(_0x145e88){_0x37b9fc.e(_0x145e88)}finally{_0x37b9fc.f()}}null!=_0x304064.DisplayCallBackFun&&(_0x304064.DisplayInfoYUV.height=_0x4fc3ba.nHeight,_0x304064.DisplayInfoYUV.width=_0x4fc3ba.nWidth,_0x304064.DisplayInfoYUV.iSize=_0x304064.DisplayInfoYUV.height*_0x304064.DisplayInfoYUV.width*3/2,_0x304064.DisplayInfoYUV.frameNum=_0x4fc3ba.frameNum,_0x304064.DisplayInfoYUV.timeStamp=_0x4fc3ba.timeStamp,_0x304064.DisplayInfoYUV.yuvData=new Uint8Array(_0x243cc9),_0x304064.DisplayCallBackFun(_0x304064.DisplayInfoYUV)),_0x304064.frameInfoFlag&&(_0x304064.displayFrameInfo.codecType=0,_0x304064.displayFrameInfo.frameType=0,_0x304064.displayFrameInfo.frameSize=0,_0x304064.displayFrameInfo.width=_0x4fc3ba.nWidth-_0x304064.nSPSCropLeft-_0x304064.nSPSCropRight,_0x304064.displayFrameInfo.height=_0x4fc3ba.nHeight-_0x304064.nSPSCropTop-_0x304064.nSPSCropBottom,_0x304064.displayFrameInfo.timeStamp=_0x4fc3ba.timeStamp,_0x304064.displayFrameInfo.frameRate=0,_0x304064.displayFrameInfo.frameNum=_0x4fc3ba.frameNum,_0x304064.displayFrameInfo.interlace=0,_0x304064.displayFrameInfo.streamEnd=0,_0x304064.displayFrameInfo.cropLeft=_0x304064.nSPSCropLeft,_0x304064.displayFrameInfo.cropRight=_0x304064.nSPSCropRight,_0x304064.displayFrameInfo.cropTop=_0x304064.nSPSCropTop,_0x304064.displayFrameInfo.cropBottom=_0x304064.nSPSCropBottom,_0x304064.displayFrameInfo.year=_0x4fc3ba.osdTime.year,_0x304064.displayFrameInfo.month=_0x4fc3ba.osdTime.month,_0x304064.displayFrameInfo.week=0,_0x304064.displayFrameInfo.day=_0x4fc3ba.osdTime.day,_0x304064.displayFrameInfo.hour=_0x4fc3ba.osdTime.hour,_0x304064.displayFrameInfo.minute=_0x4fc3ba.osdTime.minute,_0x304064.displayFrameInfo.second=_0x4fc3ba.osdTime.second,_0x304064.displayFrameInfo.milliseconds=_0x4fc3ba.osdTime.misecond),0==_0x304064.startTimeStamp&&(_0x304064.startTimeStamp=_0x4fc3ba.timeStamp),_0x243cc9=null;var _0x3d9e25=_0x4fc3ba.osdTime.year,_0x2581f6=_0x4fc3ba.osdTime.month,_0x1ef270=_0x4fc3ba.osdTime.day,_0x2dbcd2=_0x4fc3ba.osdTime.hour,_0x151c62=_0x4fc3ba.osdTime.minute,_0x1c81a1=_0x4fc3ba.osdTime.second;_0x304064.szOSDTime=_0x3d9e25+"-"+_0x2581f6+"-"+_0x1ef270+" "+_0x2dbcd2+":"+_0x151c62+":"+_0x1c81a1,_0x4fc3ba=null,_0x304064.needFirstFrameCB&&null!=_0x304064.firstFrameCB&&(_0x304064.firstFrameCB({decodeEngine:2}),_0x304064.needFirstFrameCB=!1)}else _0x304064.setCallBack(_0x304064,"Play",0,31,!0)}}else _0x304064.bPlay||(_0x304064.aVideoFrameBuffer.splice(0,_0x304064.aVideoFrameBuffer.length),_0x304064.aAudioBuffer.splice(0,_0x304064.aAudioBuffer.length))}}return _0x49990c(_0x3a15d8,[{key:"PlayM4_SetCurrentFrameNum",value:function(_0x5423ac,_0x1a257e){return 16}},{key:"PlayM4_OpenPlayerSDKPrintLog",value:function(_0x2a943e){return this.bJSPrintLog=_0x2a943e,this.decodeWorker.postMessage({command:"printLog",data:_0x2a943e}),1}},{key:"PlayM4_DownloadYUVdata",value:function(){return this.bWriteYUVData=!0,1}},{key:"PlayM4_DownloadPCMdata",value:function(){return this.bWritePCMData=!0,1}},{key:"PlayM4_SetDecCallBack",value:function(_0x4fc56d,_0x4cb001){return _0x4fc56d?(1==this.decCBStream&&(this.DecCallBackFun=_0x4cb001),2==this.decCBStream&&(this.PCMCallBackFun=_0x4cb001),3==this.decCBStream&&(this.PCMCallBackFun=_0x4cb001,this.DecCallBackFun=_0x4cb001)):(1==this.decCBStream&&(this.DecCallBackFun=null),2==this.decCBStream&&(this.PCMCallBackFun=null),3==this.decCBStream&&(this.PCMCallBackFun=null,this.DecCallBackFun=null)),1}},{key:"PlayM4_SetDisplayCallBack",value:function(_0x886e3){return _0x886e3&&"function"==typeof _0x886e3?(this.DisplayCallBackFun=_0x886e3,1):0}},{key:"PlayM4_SetPCMCallBack",value:function(_0x5025e5){return _0x5025e5&&"function"==typeof _0x5025e5?(this.PCMCallBackFun=_0x5025e5,1):0}},{key:"PlayM4_SetStreamOpenMode",value:function(_0x5bf041){return null==_0x5bf041||void 0===_0x5bf041||0!==_0x5bf041&&1!==_0x5bf041?0:(this.streamOpenMode=_0x5bf041,1)}},{key:"PlayM4_DownloadRTPData",value:function(_0x3847e6){this.downloadRTP=_0x3847e6}},{key:"PlayM4_SetVideoCropInfo",value:function(_0x35e1cb){return null==_0x35e1cb||void 0===_0x35e1cb||"boolean"!=typeof _0x35e1cb?0:(this.bVideoCropInfo=_0x35e1cb,1)}},{key:"PlayM4_OpenStream",value:function(_0x597d0e,_0x490c7f,_0x370341){return this.bJSPrintLog>0&&console.log(">>>JS PlayM4_OpenStream nSysTime:"+((new Date).getMonth()+1)+"-"+(new Date).getDate()+" "+(new Date).getHours()+":"+(new Date).getMinutes()+":"+(new Date).getSeconds()+"."+(new Date).getMilliseconds()),null==this.decodeWorker?2:null==_0x597d0e||_0x490c7f<=0||_0x370341<=0?0:(73==_0x597d0e[0]&&77==_0x597d0e[1]&&75==_0x597d0e[2]&&72==_0x597d0e[3]?this.bHIKHeadValue=!0:this.bHIKHeadValue=!1,0==_0x597d0e[12]&&0==_0x597d0e[13]?this.bFileHeadAudioFormat=!1:this.bFileHeadAudioFormat=!0,this.bPlay=!1,this.bPause=!1,this.bOnebyOne=!1,this.bIsFirstFrame=!0,this.bIsGetYUV=!1,this.bIsInput=!1,4===_0x597d0e[8]&&0===_0x597d0e[9]?this.streamOpenMode=0:this.streamOpenMode=1,this.SystemFormat=_0x597d0e[8]+(_0x597d0e[9]<<8),this.decodeWorker.postMessage({command:"SetStreamOpenMode",data:this.streamOpenMode}),this.decodeWorker.postMessage({command:"OpenStream",data:_0x597d0e,dataSize:_0x490c7f,bufPoolSize:_0x370341}),this.bOpenStream=!0,1)}},{key:"PlayM4_CloseStream",value:function(){return null===this.decodeWorker?1:null===this.decodeWorker||!1===this.bOpenStream?2:(this.bOnlyPlaySound=!1,this.decodeWorker.postMessage({command:"CloseStream"}),null!==this.oSuperRender&&(this.oSuperRender.ReleaseDisplay(),this.oSuperRender=null),null!==this.audioRenderer&&(this.audioRenderer.Stop(),this.audioRenderer=null),this.aAudioBuffer.splice(0,this.aAudioBuffer.length),this.aVideoFrameBuffer.splice(0,this.aVideoFrameBuffer.length),this.aInputDataBuffer.splice(0,this.aInputDataBuffer.length),this.aInputDataLens.splice(0,this.aInputDataLens.length),this.aVideoYUVBuffer.splice(0,this.aVideoYUVBuffer.length),this.aAudioPCMBuffer.splice(0,this.aAudioPCMBuffer.length),this.aRawDataBuffer.splice(0,this.aRawDataBuffer.length),this.bOpenStream=!1,this.iAudioBufferSize=0,this.szOSDTime=null,this.startTimeStamp,this.nCurStatus=2,null!=this.textCanvas&&(this.textCanvas.remove(),this.textCanvas=null),this.setTextCanvasFlag=!1,null!=this.oInputTimer&&(this.oInputTimer.timerReset(),this.oInputTimer=null),null!=this.oDecodeTimer&&(this.oDecodeTimer.timerReset(),this.oDecodeTimer=null),1)}},{key:"PlayM4_Destroy",value:function(){return null===this.decodeWorker||(this.PlayM4_CloseStream(),this.decodeWorker.terminate(),this.decodeWorker=null),1}},{key:"PlayM4_FreePort",value:function(){return this.decodeWorker.terminate(),this.decodeWorker=null,1}},{key:"PlayM4_InputData",value:function(_0x359278,_0x41d8a8){var _0x311599=this.aInputDataBuffer.length;if(-1===_0x41d8a8)return this.bIsFirstFrame||this.bIsGetYUV?this.inputDataFun():this.bIsInput=!0,this.bstreamEnd=!0,1;if(_0x311599+_0x41d8a8>this.iInputMaxBufSize)return this.bJSPrintLog>=0&&console.log("input over"),this.bIsGetYUV?this.inputDataFun():this.bIsInput=!0,11;var _0x384fcd=null,_0x116f02=_0x41d8a8;switch(this.streamOpenMode){case 1:if(_0x384fcd=new Uint8Array(_0x359278.buffer),this.jsplayer.ManagerTypeFlagMap.size>0){var _0x5446c3,_0x59378b=_0x2da703(this.jsplayer.ManagerTypeFlagMap.keys());try{for(_0x59378b.s();!(_0x5446c3=_0x59378b.n()).done;){var _0x272980=_0x5446c3.value;if(262144&_0x272980&&1==this.jsplayer.ManagerTypeFlagMap.get(_0x272980)&&null!=this.runtimeInfoCBFun&&(2==this.SystemFormat||3==this.SystemFormat||32769==this.SystemFormat)){var _0x19ffae=this.SearchPtsInPes(_0x384fcd,_0x41d8a8);if(_0x19ffae>=0&&_0x41d8a8-_0x19ffae>=14&&0==_0x384fcd[_0x19ffae+0]&&0==_0x384fcd[_0x19ffae+1]&&1==_0x384fcd[_0x19ffae+2]&&(224==_0x384fcd[_0x19ffae+3]||192==_0x384fcd[_0x19ffae+3]||189==_0x384fcd[_0x19ffae+3]||191==_0x384fcd[_0x19ffae+3])&&128==(192&_0x384fcd[_0x19ffae+6])&&128&_0x384fcd[_0x19ffae+7]&&(32==(240&_0x384fcd[_0x19ffae+9])||48==(240&_0x384fcd[_0x19ffae+9]))&&!(1&~_0x384fcd[_0x19ffae+9])&&!(1&~_0x384fcd[_0x19ffae+11])&&!(1&~_0x384fcd[_0x19ffae+13])){var _0x358f78=(((14&_0x384fcd[_0x19ffae+9])<<28)+(_0x384fcd[_0x19ffae+10]<<21)+((254&_0x384fcd[_0x19ffae+11])<<13)+(_0x384fcd[_0x19ffae+12]<<6)+((252&_0x384fcd[_0x19ffae+13])>>2))/45;this.SourceDataInterval(_0x358f78)}}}}catch(_0x3bad8d){_0x59378b.e(_0x3bad8d)}finally{_0x59378b.f()}}this.aInputDataLens.push(_0x41d8a8);break;case 0:_0x116f02=_0x41d8a8+4;var _0x1fde71=new Uint32Array([_0x41d8a8]),_0x1ddeac=new Uint8Array(_0x1fde71.buffer);if((_0x384fcd=new Uint8Array(_0x116f02)).set(_0x1ddeac,0),_0x384fcd.set(_0x359278,4),this.jsplayer.ManagerTypeFlagMap.size>0){var _0x558996,_0x473556=_0x2da703(this.jsplayer.ManagerTypeFlagMap.keys());try{for(_0x473556.s();!(_0x558996=_0x473556.n()).done;){var _0x54822b=_0x558996.value;262144&_0x54822b&&1==this.jsplayer.ManagerTypeFlagMap.get(_0x54822b)&&null!=this.runtimeInfoCBFun&&(4==this.SystemFormat||13==this.SystemFormat||260==this.SystemFormat)&&_0x41d8a8>12&&(224==(255&_0x384fcd[5])||154==(255&_0x384fcd[5])||160==(255&_0x384fcd[5]))&&(_0x358f78=((_0x384fcd[8]<<24)+(_0x384fcd[9]<<16)+(_0x384fcd[10]<<8)+_0x384fcd[11])/90,this.SourceDataInterval(_0x358f78))}}catch(_0x260e7c){_0x473556.e(_0x260e7c)}finally{_0x473556.f()}}_0x1fde71=null,_0x1ddeac=null,this.aInputDataLens.push(_0x41d8a8+4);break;default:return 16}for(var _0x3ba75a=0;_0x3ba75a<_0x116f02;_0x3ba75a++)this.aInputDataBuffer[_0x311599+_0x3ba75a]=_0x384fcd[_0x3ba75a];return!this.bPlay&&!this.bOnlyPlaySound||null===this.decodeWorker||!1===this.bOpenStream||(_0x384fcd=null,this.bOnlyPlaySound||this.bIsFirstFrame||this.bIsGetYUV?this.inputDataFun():this.bIsInput=!0),1}},{key:"PlayM4_Play",value:function(_0x5a3cda){if(null===this.decodeWorker)return 2;if(this.bJSPrintLog>0&&console.log(">>>JS PlayM4_Play canvasID: "+_0x5a3cda),this.nCurStatus=3,this.decodeWorker.postMessage({command:"SetLostFrameMode",data:this.nLostFrameFlag}),null===_0x5a3cda)this.bOnlyPlaySound=!0,this.decodeWorker.postMessage({command:"OnlyPlaySound"}),this.sCanvasId=null;else{if("string"!=typeof _0x5a3cda)return 0;if(this.bOnebyOne&&(this.bPlayRateChange=!1,this.bOnebyOne=!1,this.bPause=!1,this.draw()),this.bPlay)return 1;if(null==this.oSuperRender&&(this.canvasCnv=document.getElementById(_0x5a3cda),this.oSuperRender=new _0x204b07(this),this.oSuperRender.InitDisplay(this.canvasCnv,"webgl",1),null==this.oSuperRender))return 61;this.sCanvasId=_0x5a3cda,this.bPlay=!0,this.bPause=!1,this.bOnebyOne=!1,this.bPlayRateChange=!1,this.bOnlyPlaySound=!1,this.draw()}return null==this.audioRenderer&&(this.audioRenderer=new _0x38d058,null==this.audioRenderer)?61:(this.decodeWorker.postMessage({command:"Play"}),1)}},{key:"PlayM4_Stop",value:function(_0x1f8693){if(this.bJSPrintLog>0&&console.log(">>>>yff1020>>>>> V1 PlayM4_Stop"),null==this.decodeWorker||null==this.oSuperRender)return 2;if(!this.bPlay)return 2;this.bPlaySound&&(this.PlayM4_StopSound(),this.bPlaySound=!0),this.nCurStatus=5,this.bPlay=!1,this.bOnebyOne=!1,this.bPause=!1,this.oSuperRender.SetDisplayRect(0,0,this.nWidth,this.nHeight),this.iZoomNum=0,this.bDisRect=!1;var _0x2b9cd8={};_0x2b9cd8.nCropLeft=this.nSPSCropLeft,_0x2b9cd8.nCropRight=this.nSPSCropRight,_0x2b9cd8.nCropTop=this.nSPSCropTop,_0x2b9cd8.nCropBottom=this.nSPSCropBottom,_0x2b9cd8.nCodeWidth=this.nWidth,_0x2b9cd8.nCodeHeight=this.nHeight,this.bVideoCropInfo?this.oSuperRender.DisplayFrame(null,this.nWidth-this.nSPSCropLeft-this.nSPSCropRight,this.nHeight-this.nSPSCropTop-this.nSPSCropBottom,this.timeStamp,_0x2b9cd8,null):this.oSuperRender.DisplayFrame(null,this.nWidth,this.nHeight,this.timeStamp,_0x2b9cd8,null);var _0x289c26=document.getElementById(this.sCanvasId);return _0x289c26&&(this.clonedCanvas=_0x289c26.cloneNode(!0),this.clonedCanvasParentNode=_0x289c26.parentNode,this.clonedCanvasParentNode.replaceChild(this.clonedCanvas,_0x289c26)),1}},{key:"PlayM4_PlayRate",value:function(_0x338e0f){return null==this.decodeWorker?2:(this.bPlayRateChange=1!==_0x338e0f,_0x338e0f<1&&(_0x338e0f=1),this.iInputDataLen=20480*_0x338e0f,this.decodeWorker.postMessage({command:"PlayRate",playRate:_0x338e0f}),1)}},{key:"PlayM4_Pause",value:function(_0x3707ac){return null==this.decodeWorker||null==this.oSuperRender?2:this.bPlay?this.bOnebyOne||this.bPause==_0x3707ac?2:(this.bPause=_0x3707ac,this.bIsFirstFrame=!0,_0x3707ac?(this.bPlaySound&&(this.PlayM4_StopSound(),this.bPlaySound=!0),this.nCurStatus=4):(this.bPlaySound&&this.PlayM4_PlaySound(),this.nCurStatus=3,this.decodeWorker.postMessage({command:"SetLostFrameMode",data:this.nLostFrameFlag}),this.draw()),1):2}},{key:"PlayM4_OneByOne",value:function(_0x367ae9){return null==this.decodeWorker||null==this.oSuperRender?2:this.bPlay?_0x367ae9>10||_0x367ae9<=0?0:(_0x367ae9||(_0x367ae9=1),this.iInputDataLen=20480,this.FrameForwardLen=_0x367ae9,this.bPause=!0,this.bOnebyOne=!0,this.bIsFirstFrame=!0,this.nCurStatus=6,this.draw(),this.decodeWorker.postMessage({command:"SetLostFrameMode",data:0}),1):2}},{key:"PlayM4_PlaySound",value:function(_0x46fadf){return null===this.decodeWorker||!1===this.bOpenStream?2:_0x46fadf<0||_0x46fadf>16?0:null==this.audioRenderer&&(this.audioRenderer=new _0x38d058,null==this.audioRenderer)?61:(this.decodeWorker.postMessage({command:"PlaySound"}),this.audioRenderer.SetWndNum(_0x46fadf),0!==this.Volume&&this.audioRenderer.SetVolume(this.Volume),this.audioRenderer.oAudioContext.resume(),0==this.nIgnoreHeaderAudioDefine&&0==this.bFileHeadAudioFormat?16:(this.bPlaySound=!0,1))}},{key:"PlayM4_StopSound",value:function(){return null==this.decodeWorker||null==this.audioRenderer?2:this.bPlaySound?(this.decodeWorker.postMessage({command:"StopSound"}),this.bPlaySound=!1,1):2}},{key:"PlayM4_SetDisplayBuf",value:function(_0x38508c){return null==this.decodeWorker?2:_0x38508c<=0?0:(this.YUVBufferSize=_0x38508c,1)}},{key:"PlayM4_SetSecretKey",value:function(_0x1d70bf,_0xe1eb92,_0x142cfa){if(null==this.decodeWorker||!1===this.bOpenStream)return 2;if(null==_0xe1eb92)return 0;if(1===_0x1d70bf){if(128!==_0x142cfa)return 0;if(null==_0xe1eb92||void 0===_0xe1eb92)return 0}else if(2===_0x1d70bf){if(256!==_0x142cfa)return 0;if(null==_0xe1eb92||void 0===_0xe1eb92)return 0}else if(0!==_0x1d70bf)return 0;return this.decodeWorker.postMessage({command:"SetSecretKey",data:_0xe1eb92,nKeyType:_0x1d70bf,nKeyLen:_0x142cfa}),1}},{key:"PlayM4_SetDecodeFrameType",value:function(_0x6a1fb1){return this.bJSPrintLog>0&&console.log("PlayM4_SetDecodeFrameType nFrameType:"+_0x6a1fb1),null==this.decodeWorker||null==this.oSuperRender?2:0!==_0x6a1fb1&&1!==_0x6a1fb1?0:(this.bJSPrintLog>0&&console.log(">>>JS PlayM4_SetDecodeFrameType :"+_0x6a1fb1),this.nDecFrameType=_0x6a1fb1,this.decodeWorker.postMessage({command:"SetDecodeFrameType",data:_0x6a1fb1}),1)}},{key:"PlayM4_SetIFrameDecInterval",value:function(_0x56bbde){return 1!==this.nDecFrameType?2:_0x56bbde<0?0:(this.decodeWorker.postMessage({command:"SetIFrameDecInterval",data:_0x56bbde}),1)}},{key:"PlayM4_SetLostFrameMode",value:function(_0x209ad6){return _0x209ad6<0||_0x209ad6>1?0:(this.nLostFrameFlag=_0x209ad6,this.decodeWorker.postMessage({command:"SetLostFrameMode",data:_0x209ad6}),1)}},{key:"PlayM4_SetDisplayRegion",value:function(_0x5dd0ec,_0x105309,_0x23523a){if(this.bJSPrintLog>0&&console.log(">>>>yff1020>>>>> PlayM4_SetDisplayRegion left:"+_0x5dd0ec.left+",top:"+_0x5dd0ec.top+",right:"+_0x5dd0ec.right+",bottom:"+_0x5dd0ec.bottom),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender)return 2;if(null===this.canvasId)return 2;if(!0===_0x105309){if(null==_0x5dd0ec)return 0;if("number"!=typeof _0x5dd0ec.left||"number"!=typeof _0x5dd0ec.top||"number"!=typeof _0x5dd0ec.right||"number"!=typeof _0x5dd0ec.bottom)return 0;var _0x3b5c6a=_0x5dd0ec.left,_0x3c96ef=_0x5dd0ec.right,_0x5828f1=_0x5dd0ec.top,_0x384ae5=_0x5dd0ec.bottom,_0x535920=document.getElementById(this.sCanvasId).getBoundingClientRect();this.iCanvasWidth=_0x535920.width,this.iCanvasHeight=_0x535920.height,0!==this.iZoomNum&&(_0x3b5c6a=Math.round(_0x3b5c6a/this.iRatio_x)+this.stDisplayRect.left,_0x5828f1=Math.round(_0x5828f1/this.iRatio_y)+this.stDisplayRect.top,_0x3c96ef=Math.round(_0x3c96ef/this.iRatio_x)+this.stDisplayRect.left,_0x384ae5=Math.round(_0x384ae5/this.iRatio_y)+this.stDisplayRect.top),this.stDisplayRect={top:_0x5828f1,left:_0x3b5c6a,right:_0x3c96ef,bottom:_0x384ae5};var _0x3362a3=_0x384ae5/this.iCanvasHeight*this.nHeight,_0x496154=_0x3b5c6a/this.iCanvasWidth*this.nWidth,_0x2e8253=_0x3c96ef/this.iCanvasWidth*this.nWidth,_0xd89317=_0x5828f1/this.iCanvasHeight*this.nHeight;this.oSuperRender.SetDisplayRect(_0x496154,_0xd89317,_0x2e8253-_0x496154,_0x3362a3-_0xd89317),this.bDisRect=!0;var _0x22c32b=_0x3c96ef-_0x3b5c6a,_0x3fd24d=_0x384ae5-_0x5828f1;this.iRatio_x=this.iCanvasWidth/_0x22c32b,this.iRatio_y=this.iCanvasHeight/_0x3fd24d,_0x23523a&&this.iZoomNum++}else this.oSuperRender.SetDisplayRect(0,0,this.nWidth,this.nHeight),this.iZoomNum=0,this.bDisRect=!1;if(this.bPause||this.bOnebyOne||this.bPlayRateChange){var _0x26a0d1={};_0x26a0d1.nCropLeft=this.nSPSCropLeft,_0x26a0d1.nCropRight=this.nSPSCropRight,_0x26a0d1.nCropTop=this.nSPSCropTop,_0x26a0d1.nCropBottom=this.nSPSCropBottom,_0x26a0d1.nCodeWidth=this.nWidth,_0x26a0d1.nCodeHeight=this.nHeight,this.bVideoCropInfo?this.oSuperRender.DisplayFrame(new Uint8Array(this.aDisplayBuf),this.nWidth-this.nSPSCropLeft-this.nSPSCropRight,this.nHeight-this.nSPSCropTop-this.nSPSCropBottom,this.timeStamp,_0x26a0d1,null):this.oSuperRender.DisplayFrame(new Uint8Array(this.aDisplayBuf),this.nWidth,this.nHeight,this.timeStamp,_0x26a0d1,null)}return 1}},{key:"PlayM4_FEC_GetPort",value:function(_0x9a2d49,_0xd48823){var _0x44079a,_0x4cf8c2=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return this.printfFlag&&console.log(">>>JS PlayM4_FEC_GetPort placeType:"+_0x9a2d49+",correctType:"+_0xd48823+",fecGetPortCB:"+_0x4cf8c2),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender||null===this.canvasId?2:1280!=_0xd48823&&0!=_0xd48823?16:(this.FECGetPortCB=_0x4cf8c2,_0x44079a=null!=this.oSuperRender?this.oSuperRender.FEC_GetPort(_0x9a2d49,_0xd48823):-1,null!=this.FECGetPortCB&&this.FECGetPortCB(_0x44079a),_0x44079a)}},{key:"PlayM4_FEC_Enable",value:function(_0x28b09b){if(this.printfFlag&&console.log(">>>JS PlayM4_FEC_Enable fishSubPort:"+_0x28b09b),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender)return 2;var _0x17efc1=1;return 0==_0x28b09b?console.log("fishPort is 0 ,main canvas doesn't need call FEC_Enable"):_0x17efc1=null!=this.oSuperRender?this.oSuperRender.FEC_Enable(_0x28b09b):0,_0x17efc1}},{key:"PlayM4_FEC_SetWnd",value:function(_0x224c97,_0x1866e3){if(this.printfFlag&&console.log(">>>JS PlayM4_FEC_SetWnd fishSubPort:"+_0x224c97+",hWnd:"+_0x1866e3),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender)return 2;var _0x34b8ae=1;if(0==_0x224c97)console.log("fishPort is 0 ,main canvas doesn't need call FEC_SetWnd");else if(null!=_0x1866e3){var _0xc49c7c=document.getElementById(_0x1866e3);if(null!=this.oSuperRender)return this.oSuperRender.FEC_SetWnd(_0x224c97,_0xc49c7c);_0x34b8ae=0}else console.log(">>>JS PlayM4_FEC_SetWnd hwnd error fishSubPort:"+_0x224c97+",hWnd:"+_0x1866e3),_0x34b8ae=0;return _0x34b8ae}},{key:"PlayM4_FEC_SetParam",value:function(_0x2c753e,_0x9f465b){return this.printfFlag&&console.log(">>>JS PlayM4_FEC_SetParam 1 this.fishSubPort:"+_0x2c753e+",upDateType:"+_0x9f465b.upDateType+",param2d.fPTZParam.fPTZPositionX:"+_0x9f465b.fPTZParam.fPTZPositionX+",param2d.fPTZParam.fPTZPositionY:"+_0x9f465b.fPTZParam.fPTZPositionY),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender?2:null!=this.oSuperRender?this.oSuperRender.FEC_SetParam(_0x2c753e,_0x9f465b):0}},{key:"PlayM4_FEC_SetViewParam",value:function(_0x248f9f,_0x53d6cf,_0x7384d9){return this.printfFlag&&console.log(">>>JS PlayM4_FEC_SetViewParam fishSubPort:"+_0x248f9f+",upDateType:"+_0x53d6cf+",fValue:"+_0x7384d9),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender?2:null!=this.oSuperRender?this.oSuperRender.FEC_SetViewParam(_0x248f9f,_0x53d6cf,_0x7384d9):0}},{key:"PlayM4_FEC_GetViewParam",value:function(_0x15af43,_0x560911,_0x57136b){if(this.printfFlag&&console.log(">>>JS PlayM4_FEC_GetViewParam fishSubPort:"+_0x15af43+",upDateType:"+_0x560911+",viewParamCB:"+_0x57136b),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender)return 2;var _0x227ba3=1;this.FECViewParamCB=_0x57136b;var _0xa19a60={fValue:-1};return null!=this.oSuperRender?(_0x227ba3=this.oSuperRender.FEC_GetViewParam(_0x15af43,_0x560911,_0xa19a60),null!=this.FECViewParamCB&&this.FECViewParamCB(_0xa19a60)):_0x227ba3=0,_0x227ba3}},{key:"PlayM4_FEC_ResetCorrectType",value:function(_0x1f5215,_0x1c8147,_0x589111){return this.printfFlag&&console.log("PlayM4_FEC_ResetCorrectType 1 fishSubPort:"+_0x1f5215+",placeType:"+_0x1c8147+",correctType:"+_0x589111),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender?2:1280!=_0x589111&&0!=_0x589111?16:null!=this.oSuperRender?this.oSuperRender.FEC_ResetCorrectType(_0x1f5215,_0x1c8147,_0x589111):0}},{key:"PlayM4_FEC_Capture",value:function(_0x3bcbf7,_0x274ba2){return this.printfFlag&&console.log("PlayM4_FEC_Capture 1 fishSubPort:"+_0x3bcbf7+",FECImageCB:"+_0x274ba2),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender?2:null!=this.oSuperRender?this.oSuperRender.FEC_Capture(_0x3bcbf7,_0x274ba2):0}},{key:"PlayM4_FEC_SetBackCilling",value:function(_0x321560,_0x361283){return this.printfFlag&&console.log("PlayM4_FEC_SetBackCilling 1 fishSubPort:"+_0x321560+",bValue:"+_0x361283),null===this.decodeWorker||!1===this.bPlay||null===this.oSuperRender?2:null!=this.oSuperRender?this.oSuperRender.FEC_SetBackCilling(_0x321560,_0x361283):0}},{key:"PlayM4_GetBMP",value:function(_0x3f3b25,_0x44e031){return this.bmpDownloadFlag=_0x44e031,this.getPic(_0x3f3b25,"GetBMP")}},{key:"PlayM4_GetJPEG",value:function(_0x246ea0,_0x97373c){return this.jpegDownloadFlag=_0x97373c,this.getPic(_0x246ea0,"GetJPEG")}},{key:"PlayM4_SetVolume",value:function(_0x40a626){return null==this.decodeWorker||null==this.audioRenderer?2:_0x40a626<0||_0x40a626>100||""===_0x40a626?0:(this.Volume=_0x40a626,this.audioRenderer.SetVolume(_0x40a626),1)}},{key:"PlayM4_GetVolume",value:function(_0xaf97b6){if(null==this.decodeWorker)return 2;if(null==this.audioRenderer)return 2;if(_0xaf97b6&&"function"==typeof _0xaf97b6){var _0x337a77=this.audioRenderer.GetVolume();return null===_0x337a77?63:(_0xaf97b6(_0x337a77),1)}return 0}},{key:"PlayM4_GetOSDTime",value:function(_0x2f981b){return null==this.decodeWorker?2:this.bPlay?_0x2f981b&&"function"==typeof _0x2f981b?(_0x2f981b(this.szOSDTime),1):0:2}},{key:"PlayM4_SetFrameInfoCallBack",value:function(_0x2d2da4){return this.frameInfoFlag=!!_0x2d2da4,1}},{key:"PlayM4_GetFrameInfo",value:function(){return this.displayFrameInfo}},{key:"PlayM4_IsVisible",value:function(_0x2419d6){return this.bVisibility=_0x2419d6,1}},{key:"PlayM4_GetSdkVersion",value:function(){return"07040007"}},{key:"PlayM4_GetBuildDate",value:function(){return"20231219"}},{key:"PlayM4_GetInputBufSize",value:function(){return this.aInputDataBuffer.length}},{key:"PlayM4_SetInputBufSize",value:function(_0x506d25){return _0x506d25>0?(this.iInputMaxBufSize=_0x506d25,this.bJSPrintLog>0&&console.log(">>JSBufferSize SetInputBufSize:"+this.iInputMaxBufSize),1):0}},{key:"PlayM4_GetYUVBufSize",value:function(){return this.aVideoFrameBuffer.length}},{key:"PlayM4_GetFrameResolution",value:function(_0x219c2a){return null==this.decodeWorker?2:_0x219c2a&&"function"==typeof _0x219c2a?(_0x219c2a(this.nWidth,this.nHeight),1):0}},{key:"PlayM4_RegisterYUVBufSizeCB",value:function(_0x4bd966){return _0x4bd966&&"function"==typeof _0x4bd966?(this.YUVBufSizeCBFun=_0x4bd966,1):0}},{key:"PlayM4_GetFileTime",value:function(_0x756385){return _0x756385&&"function"==typeof _0x756385?(this.GetFileTimeCBFun=_0x756385,this.decodeWorker.postMessage({command:"GetFileTime"}),1):0}},{key:"PlayM4_GetMpOffset",value:function(_0x260218,_0x14c649){return this.needWaitMpOffset=!0,_0x260218&&"function"==typeof _0x260218?(this.GetMpOffsetCBFun=_0x260218,this.decodeWorker.postMessage({command:"GetMpOffset",FrameTime:_0x14c649}),1):0}},{key:"PlayM4_UnRegisterYUVBufSizeCB",value:function(){return null!=this.YUVBufSizeCBFun&&(this.YUVBufSizeCBFun=null),1}},{key:"PlayM4_ClearCanvas",value:function(){if(null==this.oSuperRender)return 2;var _0x48b3c5={};return _0x48b3c5.nCropLeft=this.nSPSCropLeft,_0x48b3c5.nCropRight=this.nSPSCropRight,_0x48b3c5.nCropTop=this.nSPSCropTop,_0x48b3c5.nCropBottom=this.nSPSCropBottom,_0x48b3c5.nCodeWidth=this.nWidth,_0x48b3c5.nCodeHeight=this.nHeight,this.bVideoCropInfo?this.oSuperRender.DisplayFrame(null,this.nWidth-this.nSPSCropLeft-this.nSPSCropRight,this.nHeight-this.nSPSCropTop-this.nSPSCropBottom,this.timeStamp,_0x48b3c5,null):this.oSuperRender.DisplayFrame(null,this.nWidth,this.nHeight,this.timeStamp,_0x48b3c5,null),1}},{key:"PlayM4_ReleaseInputBuffer",value:function(){return null===this.aInputDataBuffer?2:(this.aInputDataBuffer.splice(0,this.aInputDataBuffer.length),this.aInputDataLens.splice(0,this.aInputDataLens.length),this.bIsGetYUV=!1,this.bIsFirstFrame=!0,this.bIsInput=!1,1)}},{key:"PlayM4_ResetBuffer",value:function(_0x28aa9){return null===this.aInputDataBuffer?2:(this.decodeWorker.postMessage({command:"ResetBuffer",type:_0x28aa9}),1)}},{key:"PlayM4_GetDecodeFrameType",value:function(){return this.nDecFrameType}},{key:"PlayM4_SetRunTimeInfoCallBackEx",value:function(_0x5c6bc0,_0x3914d5){return this.runtimeInfoCBFun=_0x3914d5,null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SetRunTimeInfoCB",nModuleType:_0x5c6bc0}),1)}},{key:"PlayM4_SetRunTimeInfoCallbackType",value:function(_0x36a339,_0x1483da,_0x2c1ac0){return 352321537==_0x1483da&&(this.nGetTotalFrameNum=0,_0x2c1ac0?null==this.oDecodeTimer&&(this.oDecodeTimer=new _0x2b1931,this.oDecodeTimer.Init()):null!==this.oDecodeTimer&&(this.oDecodeTimer.timerReset(),this.oDecodeTimer=null)),null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SetRunTimeInfoCallbackType",module:_0x36a339,Type:_0x1483da,Flag:_0x2c1ac0}),1)}},{key:"PlayM4_SetStreamInfoCallBack",value:function(_0x2fab1a,_0x544d92){return this.streamInfoCBFun=_0x544d92,this.decodeWorker.postMessage({command:"SetStreamInfoCB",nType:_0x2fab1a}),1}},{key:"PlayM4_SetPostMpStreamOffsetCallBack",value:function(_0x55ac60){return this.PostMpStreamOffsetCBFun=_0x55ac60,this.decodeWorker.postMessage({command:"SetPostMpStreamOffsetCB"}),1}},{key:"PlayM4_SetDemuxModel",value:function(_0x18d41b,_0x269b90){return null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SetDemuxModel",nIdemuxType:_0x18d41b,bTrue:_0x269b90}),1)}},{key:"PlayM4_SkipErrorData",value:function(_0x436fae){return null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SkipErrorData",bSkip:_0x436fae}),1)}},{key:"PlayM4_SetDecodeERC",value:function(_0x3f3c60){return null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SetDecodeERC",nLevel:_0x3f3c60}),1)}},{key:"PlayM4_SetANRParam",value:function(_0x2f038f,_0x49313f){return null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SetANRParam",nEnable:_0x2f038f,nANRLevel:_0x49313f}),1)}},{key:"PlayM4_SetResampleValue",value:function(_0x4d245a,_0x577e11){return null==this.decodeWorker?2:(this.decodeWorker.postMessage({command:"SetResampleValue",nEnable:_0x4d245a,resampleValue:_0x577e11}),1)}},{key:"PlayM4_SetGlobalBaseTime",value:function(_0x1d69c5,_0x2955da,_0x247ae4,_0x1a100a,_0x4a5a3b,_0xf3320f,_0x2e14d5){return null==this.decodeWorker?2:_0x1d69c5<2e3||_0x1d69c5>3e3||_0x2955da<1||_0x2955da>12||_0x1d69c5<0||_0x2955da<0||_0x247ae4<0||_0x1a100a<0||_0x4a5a3b<0||_0xf3320f<0||_0x2e14d5<0?16:(this.decodeWorker.postMessage({command:"SetGlobalBaseTime",year:_0x1d69c5,month:_0x2955da,day:_0x247ae4,hour:_0x1a100a,min:_0x4a5a3b,sec:_0xf3320f,ms:_0x2e14d5}),1)}},{key:"PlayM4_SetAudioDisplayBuf",value:function(_0x122b2c){return _0x401d97=_0x122b2c,1}},{key:"PlayM4_GetCanvasCapture",value:function(_0x592d37,_0x3f98d1,_0x2e204b){return null!=this.oSuperRender?this.oSuperRender.GetCanvasData(_0x592d37,_0x3f98d1,_0x2e204b):1}},{key:"PlayM4_SetFirstFrameCallBack",value:function(_0x26f591,_0x145dfc){return null!=_0x145dfc&&"function"!=typeof _0x145dfc?0:(_0x26f591&&(this.firstFrameCB=_0x145dfc),this.needFirstFrameCB=!0,1)}},{key:"PlayM4_SetDecCBStream",value:function(_0x1d45e4){return this.decCBStream=_0x1d45e4,1}},{key:"PlayM4_SetCanvasSize",value:function(_0x14b364,_0x297d28){return _0x14b364<16||_0x297d28<16?0:null!=this.oSuperRender&&this.oSuperRender.SetCanvasSize(_0x14b364,_0x297d28,0)}},{key:"PlayM4_GetCanvasSize",value:function(){return null!=this.oSuperRender&&this.oSuperRender.GetCanvasSize()}},{key:"PlayM4_GetBufferValue",value:function(){return this.iInputMaxBufSize}},{key:"PlayM4_GetLastError",value:function(){return this.errorCode}},{key:"PlayM4_GetPlayedTimeEx",value:function(_0x4af24b){_0x4af24b(this.timeStamp-this.startTimeStamp)}},{key:"PlayM4_SetAntialias",value:function(_0x159fb3){return null!=this.oSuperRender?this.oSuperRender.SetAntialias(_0x159fb3):0}},{key:"_SetTextCanvas",value:function(){return null!=this.textCanvas&&(this.textCanvas.remove(),this.textCanvas=null),null==this.textCanvas&&(this.textCanvas=document.createElement("canvas")),null!=this.oSuperRender&&this.oSuperRender.SetTextCanvas(this.textCanvas),this.setTextCanvasFlag=!0,1}},{key:"PlayM4_SetWaterMarkFont",value:function(_0x3897be){return null!=this.oSuperRender?(this.setTextCanvasFlag||this._SetTextCanvas(),this.oSuperRender.SetWaterMarkFont(_0x3897be)):0}},{key:"PlayM4_SetWaterMarkImage",value:function(_0x41b566){return null!=this.oSuperRender?this.oSuperRender.SetWaterMarkImage(_0x41b566):0}},{key:"PlayM4_SetD3DPostProcess",value:function(_0xa56541,_0x21c0b8){return null!=this.oSuperRender?this.oSuperRender.SetD3DPostProcess(_0xa56541,_0x21c0b8):0}},{key:"PlayM4_SetRotateAngle",value:function(_0x114727){return null!=this.oSuperRender?this.oSuperRender.SetRotateAngle(_0x114727):0}},{key:"PlayM4_IgnoreHeaderAudioDefine",value:function(_0x11a7e4){return this.nIgnoreHeaderAudioDefine=_0x11a7e4,1}},{key:"getScriptDirectory",value:function(){var _0x10a315=self.location.href;return _0x10a315.substr(0,_0x10a315.lastIndexOf("/")+1)}},{key:"PlayM4_SetAdditionDataCallBack",value:function(_0x1ac5ad,_0x3b856a,_0x37d1e1){return _0x37d1e1&&"function"==typeof _0x37d1e1||null===_0x37d1e1?(this.addtionCallBackFun=_0x37d1e1,this.decodeWorker.postMessage({command:"SetAdditionDataCallBack",additionDataType:_0x1ac5ad,nFlag:_0x3b856a}),1):0}},{key:"downloadFile",value:function(_0x13ffc7,_0x274ba6){var _0x4ab88f=_0x13ffc7;_instanceof(_0x13ffc7,Blob)||_instanceof(_0x13ffc7,File)||(_0x4ab88f=new Blob([_0x13ffc7]));var _0x3dc776=window.URL.createObjectURL(_0x4ab88f),_0x273d15=window.document.createElement("a");_0x273d15.href=_0x3dc776,_0x273d15.download=_0x274ba6;var _0x2f3050=document.createEvent("MouseEvents");_0x2f3050.initEvent("click",!0,!0),_0x273d15.dispatchEvent(_0x2f3050)}},{key:"SourceDataInterval",value:function(_0x644ce1){var _0x3190ce,_0x1da9bc=0;return null==this.oInputTimer&&(this.oInputTimer=new _0x2b1931,this.oInputTimer.Init()),-1==this.nLastSourceTimeStamp&&(this.nLastSourceTimeStamp=_0x644ce1),_0x3190ce=this.oInputTimer.GetTimerWalk(),-1==this.nLastClockTimeStamp?(this.nLastClockTimeStamp=_0x3190ce,1):_0x3190ce>=this.nLastClockTimeStamp?(_0x1da9bc=_0x3190ce-this.nLastClockTimeStamp,_0x644ce1!=this.nLastSourceTimeStamp&&this.nLastSourceTimeStamp,null!=this.runtimeInfoCBFun&&(this.pstRuntimeInfo.nRunTimeModule=4,this.pstRuntimeInfo.nStrVersion=1,this.pstRuntimeInfo.nFrameTimeStamp=_0x644ce1,this.pstRuntimeInfo.nFrameNum=0,this.pstRuntimeInfo.nErrorCode=262144,this.pstRuntimeInfo.nInputDataInterval=_0x1da9bc,this.pstRuntimeInfo.nFrameNumInterval=0,this.runtimeInfoCBFun(this.pstRuntimeInfo)),this.nLastSourceTimeStamp=_0x644ce1,this.nLastClockTimeStamp=_0x3190ce,1):(null!=this.oInputTimer&&this.oInputTimer.Init(),this.nLastClockTimeStamp=-1,1)}},{key:"SearchPtsInPes",value:function(_0x23a39e,_0x3f9378){if(_0x3f9378<8)return-1;var _0x4bfd45=new Uint8Array(_0x23a39e),_0x14a5c8=0;for(_0x14a5c8=0;_0x14a5c8<_0x3f9378-7;_0x14a5c8++){if(_0x14a5c8+2>_0x3f9378)return-1;if(0==_0x4bfd45[_0x14a5c8]&&0==_0x4bfd45[_0x14a5c8+1]&&1==_0x4bfd45[_0x14a5c8+2]){if(_0x14a5c8+3>_0x3f9378)return-1;switch(_0x4bfd45[_0x14a5c8+3]){case 189:case 191:if(_0x14a5c8+5>_0x3f9378)return-1;var _0x322b3f=6+(_0x4bfd45[_0x14a5c8+4]<<8)+_0x4bfd45[_0x14a5c8+5];if(!(_0x14a5c8+_0x322b3f<_0x3f9378))return-1;_0x14a5c8+=_0x322b3f;break;case 224:if(_0x14a5c8+7>_0x3f9378)return-1;if(128&_0x4bfd45[_0x14a5c8+7])return _0x14a5c8}}}return-1}}]),_0x3a15d8}(),_0x2a0e43=(fn=function(){return function(thisArg,body){var f,y,t,g,_={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),throw:verb(1),return:verb(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return function(op){if(f)throw new TypeError("Generator is already executing.");for(;_;)try{if(f=1,y&&(t=2&op[0]?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;switch(y=0,t&&(op=[2&op[0],t.value]),op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if(!((t=(t=_.trys).length>0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]3&&void 0!==arguments[3]?arguments[3]:0,_0x19e46c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"webgl",_0x5dd81b=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,_0x171059=arguments.length>6&&void 0!==arguments[6]?arguments[6]:-1;if(_0x3d26fc(this,_0x2f0f01),this.printfFlag=window.g_printfFlag,this.printfFlag>=0&&console.log("%c>>>JSPlayerInterface wasmPathV3:%s, wasmPathV1:%s, chromeVersion:%d,renderEngine:%s,webworker:%d,setHasThread:%d","color: red",_0x4c3180,_0x94b42a,_getFExplore(),_0x19e46c,_0x5dd81b,_0x171059),this.szBasePathV3=_0x4c3180,this.szBasePathV1=_0x94b42a,this.fnCallBack=_0x201a67,this.nUser=_0x5d7f71,this.renderEngine=_0x19e46c,this.hasWebWorker=_0x5dd81b,this.setHasThread=_0x171059,this.decodeEngine=1,this.streamOpenMode=0,this.canvasID="",this.FECcanvasIDArray=[],this.aTotalBuffer=[],this.iFrameNum=0,this.bWriteData=!0,this.downloadInputDataFlag=!1,this.rtpDataNeedAdd4Size=!1,this.aInputDataBuffer=[],this.iInputMaxBufSize=2097152,this.switchingV3toV1=!1,this.audioDisplayBufSize=0,this.decodeFrameType=0,this.decInterval=-1,this.volume=0,this.displayBuf=0,this.anrParamLevel=0,this.anrParamFlag=0,this.resampleRate=0,this.resampleFlag=0,this.decodeERCLevel=0,this.skipErrorData=0,this.demuxModelType=0,this.demuxModeFlag=0,this.needResetBuffer=0,this.globalBaseTime={},this.globalBaseTime.year=0,this.inputBufSize=0,this.needSetRotateAngle=!1,this.twodRotateAngle=0,this.frameInfoCBFlag=!1,this.waterFontParam=null,this.waterImageParam=null,this.waterCanvas=null,this.waterCanvasCtx=null,this.textCanvas=null,this.needSetFFCB=!1,this.FFCBFlag=0,this.firstFrameCB=null,this.needSetSecretKey=!1,this.keyData=null,this.keyType=1,this.runtimeModule=0,this.runtimeCBFun=null,this.streamInfoType=0,this.streamInfoCBFun=null,this.additionDataType=0,this.additionFlag=0,this.addCBFun=null,this.needSetRunTimeInfoCB=!1,this.needSetstreamInfoCB=!1,this.needPlaySound=!1,this.needSetAdditionDataCB=!1,this.needSetRunTimeInfoCBType=!1,this.PostMpStreamOffsetCBFun=null,this.needPostMpStreamOffsetCB=!1,this.CanvasSubPortMap=new Map,this.SourceTypeFlagMap=new Map,this.SplitterTypeFlagMap=new Map,this.DecodeTypeFlagMap=new Map,this.RenderTypeFlagMap=new Map,this.ManagerTypeFlagMap=new Map,this.oJSPlayerObj=null,this.supportWebCodecs=window._getFSupportWebCodecs(),this.supportSab=!!window.SharedArrayBuffer,this.offscreen=!!window.OffscreenCanvas,this.supportOffscreen=!1,this.offscreen){var _0x219766=new OffscreenCanvas(1,1),_0x47f3eb=_0x219766.getContext("webgl");_0x47f3eb&&(this.supportOffscreen=!0,_0x47f3eb.getExtension("WEBGL_lose_context").loseContext()),_0x219766=null,_0x47f3eb=null}var _0x2e977a=this.JSPlayM4_GetSDKVersion(),_0x2f2004=this.JSPlayM4_GetBuildDate();this.printfFlag>=0&&console.log("%c wasmplayer.min.js version:%s,buildDate:%s","color: blue",_0x2e977a,_0x2f2004),this.supportSIMD=!1,this.callBackParameter=_0x304930,this.jsplayerVersion=3,this.supportWebCodecs?this.jsplayerVersion=3:this.supportSab&&this.supportOffscreen?this.jsplayerVersion=2:this.jsplayerVersion=1,this.jsplayerVersion<3&&(this.callBackParameter.bSupHardDecAVC=!1,this.callBackParameter.bSupHardDecHEVC=!1,this.callBackParameter.bSupHardOrSoft=!1),null===this.szBasePathV3&&null!=this.szBasePathV1?this.jsplayerVersion=1:null!=this.szBasePathV3&&null===this.szBasePathV1?(this.printfFlag>=0&&console.info("%c>>>> szBasePathV1 is null ","color: red"),this.jsplayerVersion=3):null===this.szBasePathV3&&null===this.szBasePathV1&&(this.printfFlag>=0&&console.info("%c>>>> szBasePathV3 and szBasePathV1 are null ","color: red"),this.fnCallBack(this.callBackParameter)),_0x2a0e43().then(function(_0x482f26){_0x482f26?(this.supportSIMD=!0,this.printfFlag>=0&&console.log("%c>>>>your browser protocol is %s, hostname:%s, WebCodecs:%s,Sab:%s,Offscreen:%s,SIMD:%s,jsplayerVersion:%d","color: red",window.location.protocol,location.hostname,this.supportWebCodecs,this.supportSab,this.supportOffscreen,this.supportSIMD,this.jsplayerVersion)):(this.supportSIMD=!1,this.printfFlag>=0&&console.log("%c>>>>your browser protocol is %s, hostname:%s, WebCodecs:%s,Sab:%s,Offscreen:%s,SIMD:%s,jsplayerVersion:%d","color: red",window.location.protocol,location.hostname,this.supportWebCodecs,this.supportSab,this.supportOffscreen,this.supportSIMD,this.jsplayerVersion))}.bind(this)),this.wasmloaded=!1,this.jsplayerVersion>1?this.oJSPlayerObj=new _0x151fd0(this,this.szBasePathV3,(function(_0x3ce02f){var _0x2da54b=_0x3ce02f.bSupHardOrSoft,_0x58b5f6=_0x3ce02f.bSupHardDecAVC,_0x600cf0=_0x3ce02f.bSupHardDecHEVC,_0xd11d81=_0x3ce02f.cmd,_0x2c5203=_0x3ce02f.errorCode,_0xca4dca=_0x3ce02f.status;_0x2da54b?(_0x2669c6.callBackParameter.bSupHardDecAVC=_0x58b5f6,_0x2669c6.callBackParameter.bSupHardDecHEVC=_0x600cf0,_0x2669c6.callBackParameter.bSupHardOrSoft=_0x2da54b,_0x2669c6.callBackParameter.cmd=_0xd11d81,_0x2669c6.callBackParameter.errorCode=_0x2c5203,_0x2669c6.callBackParameter.status=_0xca4dca,_0x2669c6.wasmloaded=!0,_0x2669c6.fnCallBack(_0x2669c6.callBackParameter)):(_0x2669c6.printfFlag>=0&&console.log("%c5>not support V3hard and V3Soft ,switch V3 to V1 ","color: red"),_0x2669c6.jsplayerVersion=1,_0x2669c6.oJSPlayerObj=new _0xcc34c3(_0x2669c6,_0x2669c6.szBasePathV1,(function(_0x403cfa){_0x403cfa.instance;var _0x4b2fce=_0x403cfa.cmd,_0x108805=_0x403cfa.errorCode,_0xc53141=_0x403cfa.status;_0x2669c6.callBackParameter.bSupHardDecAVC=!1,_0x2669c6.callBackParameter.bSupHardDecHEVC=!1,_0x2669c6.callBackParameter.bSupHardOrSoft=!1,_0x2669c6.callBackParameter.cmd=_0x4b2fce,_0x2669c6.callBackParameter.errorCode=_0x108805,_0x2669c6.callBackParameter.status=_0xc53141,_0x2669c6.wasmloaded=!0,_0x2669c6.fnCallBack(_0x2669c6.callBackParameter)}),0))}),this.nUser,this.renderEngine,this.hasWebWorker,this.setHasThread,this.jsplayerVersion):this.oJSPlayerObj=new _0xcc34c3(this,this.szBasePathV1,(function(_0x5d08f7){_0x5d08f7.instance;var _0x2afa6a=_0x5d08f7.cmd,_0x3d1eca=_0x5d08f7.errorCode,_0x330af3=_0x5d08f7.status;_0x2669c6.callBackParameter.bSupHardDecAVC=!1,_0x2669c6.callBackParameter.bSupHardDecHEVC=!1,_0x2669c6.callBackParameter.bSupHardOrSoft=!1,_0x2669c6.callBackParameter.cmd=_0x2afa6a,_0x2669c6.callBackParameter.errorCode=_0x3d1eca,_0x2669c6.callBackParameter.status=_0x330af3,_0x2669c6.wasmloaded=!0,_0x2669c6.fnCallBack(_0x2669c6.callBackParameter)}),0)}return _0x49990c(_0x2f0f01,[{key:"JSPlayM4_SetStreamEnd",value:function(){return 0}},{key:"JSPlayM4_GetPort",value:function(){return this.printfFlag>0&&console.log(">>>>>yff>>> JSPlayM4_GetPort 1"),this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetPort this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1&&this.oJSPlayerObj.JSPlayM4_GetPort(),1)}},{key:"JSPlayM4_SetStreamOpenMode",value:function(_0xa12259){return this.printfFlag>0&&console.log(">>>>>yff20230817>>>>> JSPlayM4_SetStreamOpenMode 1 mode:"+_0xa12259),this.streamOpenMode=_0xa12259,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetStreamOpenMode this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetStreamOpenMode(_0xa12259):this.oJSPlayerObj.PlayM4_SetStreamOpenMode(_0xa12259),1)}},{key:"JSPlayM4_OpenStream",value:function(_0x544c3e,_0x295bd2,_0x49e61e){if(this.printfFlag>0&&console.log(">>>>>yff20230817>>>>> JSPlayM4_OpenStream 1 :"+_0x544c3e),40!==_0x295bd2&&console.info("%cJSPlayM4_OpenStream nSize is not 40","color: red"),4===_0x544c3e[8]&&0===_0x544c3e[9]&&(this.rtpDataNeedAdd4Size=!0),this.downloadInputDataFlag){var _0x286cc7=new Uint8Array(_0x544c3e.buffer);this.downloadRTPData(_0x286cc7),console.log("write 40 hik head")}if(this.HIK40Head=_0x544c3e,this.HIKHeadSize=_0x295bd2,this.HIKPoolSize=_0x49e61e,this.switchingV3toV1)return 1;var _0x4dbc0c=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_OpenStream this.oJSPlayerObj is null"),0):(16===(_0x4dbc0c=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_OpenStream(_0x544c3e,_0x295bd2,_0x49e61e):this.oJSPlayerObj.PlayM4_OpenStream(_0x544c3e,_0x295bd2,_0x49e61e))&&this._switchV3ToV1(this.streamOpenMode,_0x544c3e,_0x295bd2,_0x49e61e,this.needPlay),this.switchingV3toV1?1:_0x4dbc0c)}},{key:"JSPlayM4_OpenStreamAdvanced",value:function(_0x508f4e,_0x36b478,_0x1e5c01,_0x4518de,_0x2c35ca){if(this.printfFlag>0&&console.log(">>>>>yff20230817>>>>> JSPlayM4_OpenStreamAdvanced 1 :"+_0x4518de),1!=_0x508f4e||1!=_0x36b478||_0x1e5c01<0||_0x4518de.length<0||_0x2c35ca<1048576)return console.log("%c JSPlayM4_OpenStreamAdvanced input param error nProtocolType:"+_0x508f4e+",nSessionInfoType:"+_0x36b478+",nSessionInfoLen:"+_0x1e5c01+",pSessionInfoData:"+_0x4518de+",nBufPoolSize:"+_0x2c35ca,"color: red"),0;if(this.downloadInputDataFlag){var _0xe60cd4=new Uint8Array(_0x4518de.buffer);this.downloadRTPData(_0xe60cd4),console.log("write sdpinfo")}var _0x120383=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_OpenStreamAdvanced this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x120383=this.oJSPlayerObj.JSPlayM4_OpenStreamAdvanced(_0x508f4e,_0x36b478,_0x1e5c01,_0x4518de,_0x2c35ca):console.log("20240223 V1 not support sdp openstream "),_0x120383)}},{key:"_switchV3ToV1",value:function(_0xd10ef1,_0x1977fc,_0x24f563,_0xa6e571,_0x4b39f2){var _0x3253d5=this;console.log("%c5>switch V3 to V1","color: red"),this.switchingV3toV1=!0,this.jsplayerVersion=1,this.oJSPlayerObj.JSPlayM4_Stop(),this.oJSPlayerObj.JSPlayM4_CloseStream(),this.oJSPlayerObj.JSPlayM4_FreePort(),this.oJSPlayerObj=null;var _0x28c7a4=new _0xcc34c3(this,this.szBasePathV1,(function(_0x318998){_0x318998.instance;var _0x22b3e4=_0x318998.cmd,_0x2994d0=_0x318998.errorCode,_0x295710=_0x318998.status;"loaded"===_0x22b3e4&&(_0x3253d5.oJSPlayerObj=_0x28c7a4,_0x3253d5.switchingV3toV1=!1,_0x3253d5.callBackParameter.cmd=_0x22b3e4,_0x3253d5.callBackParameter.errorCode=_0x2994d0,_0x3253d5.callBackParameter.status=_0x295710,_0x3253d5.JSPlayM4_SetStreamOpenMode(_0xd10ef1),_0x3253d5.JSPlayM4_OpenStream(_0x1977fc,_0x24f563,_0xa6e571),(_0x4b39f2||_0x3253d5.needPlay)&&_0x3253d5.JSPlayM4_Play(_0x3253d5.canvasID),_0x3253d5._switchV3ToV1ResetParam())}),0)}},{key:"_switchV3ToV1ResetParam",value:function(){if(this.needSetSecretKey&&this.JSPlayM4_SetSecretKey(this.keyData,this.keyType),this.needSetFFCB&&this.JSPlayM4_SetFirstFrameCallBack(this.FFCBFlag,this.firstFrameCB),this.needSetRunTimeInfoCB&&this.JSPlayM4_SetRunTimeInfoCallBackEx(this.runtimeModule,this.runtimeCBFun),this.needSetRunTimeInfoCBType){if(this.SourceTypeFlagMap.size>0){var _0x95a4fc,_0x56fbad=_0x18cccf(this.SourceTypeFlagMap.keys());try{for(_0x56fbad.s();!(_0x95a4fc=_0x56fbad.n()).done;){var _0x1da031=_0x95a4fc.value,_0x5668be=this.SourceTypeFlagMap.get(_0x1da031);1==_0x5668be&&this.JSPlayM4_SetRunTimeInfoCallbackType(0,_0x1da031,_0x5668be)}}catch(_0x31f536){_0x56fbad.e(_0x31f536)}finally{_0x56fbad.f()}}if(this.SplitterTypeFlagMap.size>0){var _0x5ee8f4,_0x475cea=_0x18cccf(this.SplitterTypeFlagMap.keys());try{for(_0x475cea.s();!(_0x5ee8f4=_0x475cea.n()).done;){var _0xee1c64=_0x5ee8f4.value,_0x2388eb=this.SplitterTypeFlagMap.get(_0xee1c64);1==_0x2388eb&&this.JSPlayM4_SetRunTimeInfoCallbackType(1,_0xee1c64,_0x2388eb)}}catch(_0x2967cc){_0x475cea.e(_0x2967cc)}finally{_0x475cea.f()}}if(this.DecodeTypeFlagMap.size>0){var _0x3b7ac6,_0x286ceb=_0x18cccf(this.DecodeTypeFlagMap.keys());try{for(_0x286ceb.s();!(_0x3b7ac6=_0x286ceb.n()).done;){var _0x5e507f=_0x3b7ac6.value,_0x238b92=this.DecodeTypeFlagMap.get(_0x5e507f);1==_0x238b92&&this.JSPlayM4_SetRunTimeInfoCallbackType(2,_0x5e507f,_0x238b92)}}catch(_0x39b406){_0x286ceb.e(_0x39b406)}finally{_0x286ceb.f()}}if(this.RenderTypeFlagMap.size>0){var _0x3574c6,_0x4c63d6=_0x18cccf(this.RenderTypeFlagMap.keys());try{for(_0x4c63d6.s();!(_0x3574c6=_0x4c63d6.n()).done;){var _0x3c4552=_0x3574c6.value,_0x21b3a9=this.RenderTypeFlagMap.get(_0x3c4552);1==_0x21b3a9&&this.JSPlayM4_SetRunTimeInfoCallbackType(3,_0x3c4552,_0x21b3a9)}}catch(_0x43cf80){_0x4c63d6.e(_0x43cf80)}finally{_0x4c63d6.f()}}if(this.ManagerTypeFlagMap.size>0){var _0x4b373e,_0x30b810=_0x18cccf(this.ManagerTypeFlagMap.keys());try{for(_0x30b810.s();!(_0x4b373e=_0x30b810.n()).done;){var _0x3e9b1d=_0x4b373e.value,_0x2a9465=this.ManagerTypeFlagMap.get(_0x3e9b1d);1==_0x2a9465&&this.JSPlayM4_SetRunTimeInfoCallbackType(4,_0x3e9b1d,_0x2a9465)}}catch(_0x7d5869){_0x30b810.e(_0x7d5869)}finally{_0x30b810.f()}}}return this.needSetAdditionDataCB&&this.JSPlayM4_SetAdditionDataCallBack(this.additionDataType,this.additionFlag,this.addCBFun),this.needSetstreamInfoCB&&this.JSPlayM4_SetStreamInfoCallBack(this.streamInfoType,this.streamInfoCBFun),this.needPostMpStreamOffsetCB&&this.JSPlayM4_SetPostMpStreamOffsetCallBack(this.PostMpStreamOffsetCBFun),this.needPlaySound&&this.JSPlayM4_PlaySound(),0!=this.skipErrorData&&this.oJSPlayerObj.PlayM4_SkipErrorData(this.skipErrorData),0!=this.demuxModeFlag&&this.oJSPlayerObj.PlayM4_SetDemuxModel(this.demuxModelType,this.demuxModeFlag),0!=this.globalBaseTime.year&&this.oJSPlayerObj.PlayM4_SetGlobalBaseTime(this.globalBaseTime.year,this.globalBaseTime.month,this.globalBaseTime.day,this.globalBaseTime.hour,this.globalBaseTime.min,this.globalBaseTime.sec,this.globalBaseTime.ms),-1!=this.decInterval&&this.oJSPlayerObj.PlayM4_SetIFrameDecInterval(this.decInterval),0!=this.decodeERCLevel&&this.oJSPlayerObj.PlayM4_SetDecodeERC(this.decodeERCLevel),0!=this.volume&&this.JSPlayM4_SetVolume(this.volume),0!=this.anrParamFlag&&this.oJSPlayerObj.PlayM4_SetANRParam(this.anrParamFlag,this.anrParamLevel),0!=this.resampleFlag&&this.oJSPlayerObj.PlayM4_SetResampleValue(this.resampleFlag,this.resampleRate),0!=this.displayBuf&&this.oJSPlayerObj.PlayM4_SetDisplayBuf(this.displayBuf),null!=this.waterFontParam&&this.oJSPlayerObj.PlayM4_SetWaterMarkFont(this.waterFontParam),null!=this.waterImageParam&&this.oJSPlayerObj.PlayM4_SetWaterMarkImage(this.waterImageParam),this.needSetRotateAngle&&oJSPlayerWasm._JSPlayM4_SetRotateAngle(this.port,this.twodRotateAngle),0!=this.audioDisplayBufSize&&this.oJSPlayerObj.PlayM4_SetAudioDisplayBuf(this.audioDisplayBufSize),0!=this.decodeFrameType&&this.JSPlayM4_SetDecodeFrameType(this.decodeFrameType),0!=this.needResetBuffer&&this.oJSPlayerObj.PlayM4_ReleaseInputBuffer(),0!=this.inputBufSize&&this.oJSPlayerObj.PlayM4_SetInputBufSize(this.inputBufSize),this.oJSPlayerObj.PlayM4_SetFrameInfoCallBack(this.frameInfoCBFlag),1}},{key:"JSPlayM4_SetDecodeEngine",value:function(_0x3713c1){if(this.printfFlag>0&&console.log(">>>>>yff20230817>>>>> JSPlayM4_SetDecodeEngine 1:"+_0x3713c1),0!=_0x3713c1&&1!=_0x3713c1)return console.log("0 is V3softDecode, 1 is V3hardDecoder,decodeEngine:"+_0x3713c1),0;this.decodeEngine=_0x3713c1;var _0x592447=1;if(this.jsplayerVersion>1){if(!this.supportSab&&0==_0x3713c1)return console.info("%c3>JSPlayM4_SetDecodeEngine(0 is soft,1 is hard):%d,SharedArrayBuffer Error , does not support Soft Decdoe!!!!!","color: red",_0x3713c1),0;_0x592447=this.oJSPlayerObj.JSPlayM4_SetDecodeEngine(this.decodeEngine)}return this.switchingV3toV1?1:_0x592447}},{key:"JSPlayM4_DownloadData",value:function(){return this.downloadInputDataFlag=!0,1}},{key:"JSPlayM4_SetAudioDisplayBuf",value:function(_0x4caf58){return this.audioDisplayBufSize=_0x4caf58,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetAudioDisplayBuf this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetAudioDisplayBuf(_0x4caf58):this.oJSPlayerObj.PlayM4_SetAudioDisplayBuf(_0x4caf58)}},{key:"JSPlayM4_Play",value:function(){var _0x56bba5=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.canvasID=_0x56bba5;var _0xd65fc0=1;return this.printfFlag>0&&console.log(">>>>>yff20230817>>>>> JSPlayM4_Play 1 this.supportSab:"+this.supportSab),this.needPlay=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_Play this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?(_0xd65fc0=this.oJSPlayerObj.JSPlayM4_Play(_0x56bba5),0!=this.aInputDataBuffer.length&&(this.oJSPlayerObj.JSPlayM4_InputData(new Uint8Array(this.aInputDataBuffer),this.aInputDataBuffer.length),this.aInputDataBuffer.splice(0,this.aInputDataBuffer.length))):(_0xd65fc0=this.oJSPlayerObj.PlayM4_Play(_0x56bba5),0!=this.aInputDataBuffer.length&&(this.oJSPlayerObj.PlayM4_InputData(new Uint8Array(this.aInputDataBuffer),this.aInputDataBuffer.length),this.aInputDataBuffer.splice(0,this.aInputDataBuffer.length))),this.switchingV3toV1?1:_0xd65fc0)}},{key:"JSPlayM4_InputData",value:function(_0x923fe9,_0x287d81){var _0x8596a5;if(null===this.oJSPlayerObj||!this.wasmloaded||1==this.jsplayerVersion&&null==this.oJSPlayerObj.streamOpenMode){var _0x4b30a4=this.aInputDataBuffer.length;if(_0x4b30a4+_0x287d81>this.iInputMaxBufSize)return console.log("WasmPlayer input over"),0;for(var _0x216292=0;_0x216292<_0x287d81;_0x216292++)this.aInputDataBuffer[_0x4b30a4+_0x216292]=_0x923fe9[_0x216292];return 1}if(_0x8596a5=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_InputData(_0x923fe9,_0x287d81):this.oJSPlayerObj.PlayM4_InputData(_0x923fe9,_0x287d81),this.downloadInputDataFlag&&_0x287d81>0)if(this.rtpDataNeedAdd4Size){var _0x5832c1=null,_0x24f553=_0x287d81+4,_0x348b43=new Uint32Array([_0x287d81]),_0x455c62=new Uint8Array(_0x348b43.buffer);(_0x5832c1=new Uint8Array(_0x24f553)).set(_0x455c62,0),_0x5832c1.set(_0x923fe9,4),this.downloadRTPData(_0x5832c1),_0x348b43=null,_0x455c62=null,_0x5832c1=null}else this.downloadRTPData(_0x923fe9);return _0x8596a5}},{key:"JSPlayM4_Stop",value:function(){var _0x3738fc=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(null===this.oJSPlayerObj)return console.log(">>>>>yff>>> JSPlayM4_Stop this.oJSPlayerObj is null"),0;if(this.bWriteData&&this.iFrameNum>0){console.log("download"+this.iFrameNum+"Psdata");var _0x15529c=new Uint8Array(this.aTotalBuffer);this._downloadFile(_0x15529c,"RTPRaw.data"),this.aTotalBuffer.splice(0,this.aTotalBuffer.length),this.bWriteData=!1,this.iFrameNum=0,_0x15529c=null}return this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_Stop(_0x3738fc):this.oJSPlayerObj.PlayM4_Stop(_0x3738fc)}},{key:"JSPlayM4_CloseStream",value:function(){var _0x4f92cb=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_CloseStream this.oJSPlayerObj is null"),0):(_0x4f92cb=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_CloseStream():this.oJSPlayerObj.PlayM4_CloseStream(),null!=this.waterCanvas&&(this.waterCanvas.remove(),this.waterCanvas=null),this.waterCanvasCtx=null,this.SourceTypeFlagMap.clear(),this.SplitterTypeFlagMap.clear(),this.DecodeTypeFlagMap.clear(),this.RenderTypeFlagMap.clear(),this.ManagerTypeFlagMap.clear(),_0x4f92cb)}},{key:"JSPlayM4_FreePort",value:function(){var _0x4db867=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FreePort this.oJSPlayerObj is null"),0):(_0x4db867=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FreePort():this.oJSPlayerObj.PlayM4_FreePort(),this.oJSPlayerObj=null,_0x4db867)}},{key:"JSPlayM4_SetDecodeFrameType",value:function(_0x3d8f5f){var _0x3199b5=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetDecodeFrameType this.oJSPlayerObj is null"),0):(this.decodeFrameType=_0x3d8f5f,this.switchingV3toV1?1:(this.jsplayerVersion>1?_0x3199b5=this.oJSPlayerObj.JSPlayM4_SetDecodeFrameType(_0x3d8f5f):7==_0x3d8f5f?_0x3199b5=this.oJSPlayerObj.PlayM4_SetLostFrameMode(1):(_0x3199b5=this.oJSPlayerObj.PlayM4_SetLostFrameMode(0),_0x3199b5=this.oJSPlayerObj.PlayM4_SetDecodeFrameType(_0x3d8f5f)),_0x3199b5))}},{key:"JSPlayM4_PlaySound",value:function(){var _0xb86832=1;return this.needPlaySound=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_PlaySound this.oJSPlayerObj is null"),0):(this.SetDefaultSampleRate(),1!=(_0xb86832=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_PlaySound():this.oJSPlayerObj.PlayM4_PlaySound(0))&&(_0xb86832=0),_0xb86832)}},{key:"JSPlayM4_PlaySoundShare",value:function(){var _0x216b87=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_PlaySoundShare this.oJSPlayerObj is null"),0):(this.SetDefaultSampleRate(),1!=(_0x216b87=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_PlaySoundShare():this.oJSPlayerObj.PlayM4_PlaySound(0))&&(_0x216b87=0),_0x216b87)}},{key:"SetDefaultSampleRate",value:function(){var _0x2bf37c=1,_0x925d27=new(window.AudioContext||window.webkitAudioContext),_0x46b9fa=_0x925d27.sampleRate;return _0x925d27.close(),48e3!=_0x46b9fa&&(console.log("浏览器默认采样率:",_0x46b9fa+"Hz"),_0x2bf37c=this.JSPlayM4_SetResampleValue(!0,_0x46b9fa),console.log("JSPlayM4_SetResampleValue resSDSR:"+_0x2bf37c)),_0x2bf37c}},{key:"JSPlayM4_StopSoundShare",value:function(){var _0x1fb225=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_StopSoundShare this.oJSPlayerObj is null"),0):(1!=(_0x1fb225=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_StopSoundShare():this.oJSPlayerObj.PlayM4_StopSound())&&(_0x1fb225=0),_0x1fb225)}},{key:"JSPlayM4_GetJPEG",value:function(){var _0x383378=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,_0x465799=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetJPEG this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetJPEG(_0x383378,_0x465799):this.oJSPlayerObj.PlayM4_GetJPEG(_0x383378,_0x465799)}},{key:"JSPlayM4_GetBMP",value:function(){var _0x2711a7=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,_0x1940ea=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetBMP this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetBMP(_0x2711a7,_0x1940ea):this.oJSPlayerObj.PlayM4_GetBMP(_0x2711a7,_0x1940ea)}},{key:"JSPlayM4_GetCropJPEG",value:function(){var _0x57f282=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,_0x35c422=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],_0x89ee3b=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetCropJPEG this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x89ee3b=this.oJSPlayerObj.JSPlayM4_GetCropJPEG(_0x57f282,_0x35c422):console.log("%c1>JSPlayerV1.X does not support GetCropJPEG","color: red"),_0x89ee3b)}},{key:"JSPlayM4_GetCropBMP",value:function(){var _0x572cf3=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,_0x52ecdf=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],_0x25ffd1=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetCropBMP this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x25ffd1=this.oJSPlayerObj.JSPlayM4_GetCropBMP(_0x572cf3,_0x52ecdf):console.log("%c1>JSPlayerV1.X does not support GetCropBMP","color: red"),_0x25ffd1)}},{key:"JSPlayM4_GetCanvasCapture",value:function(_0x4b36a0){var _0x24ecdb=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,_0x1d0b87=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetCanvasCapture this.oJSPlayerObj is null"),0):_0x24ecdb<0||_0x1d0b87<0?0:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetCanvasCapture(_0x4b36a0,_0x24ecdb,_0x1d0b87):this.oJSPlayerObj.PlayM4_GetCanvasCapture(_0x4b36a0,_0x24ecdb,_0x1d0b87)}},{key:"JSPlayM4_StopSound",value:function(){var _0x2725b2=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_StopSound this.oJSPlayerObj is null"),0):(1!=(_0x2725b2=this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_StopSound():this.oJSPlayerObj.PlayM4_StopSound())&&(_0x2725b2=0),_0x2725b2)}},{key:"JSPlayM4_GetSDKVersion",value:function(){return"0801000B"}},{key:"JSPlayM4_GetBuildDate",value:function(){return"20251111-cropbottom"}},{key:"JSPlayM4_GetLastError",value:function(){return null===this.oJSPlayerObj?0:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetLastError():this.oJSPlayerObj.PlayM4_GetLastError()}},{key:"JSPlayM4_Fast",value:function(){var _0x204bb0=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_Fast this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1&&(_0x204bb0=this.oJSPlayerObj.JSPlayM4_Fast()),_0x204bb0)}},{key:"JSPlayM4_Slow",value:function(){var _0x30c880=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_Slow this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1&&(_0x30c880=this.oJSPlayerObj.JSPlayM4_Slow()),_0x30c880)}},{key:"JSPlayM4_SetIFrameDecInterval",value:function(_0x234cec){return this.decInterval=_0x234cec,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetIFrameDecInterval this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetIFrameDecInterval(_0x234cec):this.oJSPlayerObj.PlayM4_SetIFrameDecInterval(_0x234cec)}},{key:"JSPlayM4_Pause",value:function(_0x4d3287){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_Pause this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_Pause(_0x4d3287):this.oJSPlayerObj.PlayM4_Pause(_0x4d3287)}},{key:"JSPlayM4_OneByOne",value:function(){var _0x4a4fc7=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_OneByOne this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_OneByOne():this.oJSPlayerObj.PlayM4_OneByOne(_0x4a4fc7)}},{key:"JSPlayM4_OneByOneResume",value:function(){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_OneByOneResume this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_OneByOneResume():this.oJSPlayerObj.PlayM4_Pause(!1)}},{key:"JSPlayM4_SetVolume",value:function(_0x49afe1){var _0x512167=1;if(this.volume=_0x49afe1,this.switchingV3toV1)return 1;if(null===this.oJSPlayerObj)return console.log(">>>>>yff>>> JSPlayM4_SetVolume this.oJSPlayerObj is null"),0;if(this.jsplayerVersion>1)_0x512167=this.oJSPlayerObj.JSPlayM4_SetVolume(_0x49afe1);else{var _0x247ae8=_0x49afe1/65535*100;_0x512167=this.oJSPlayerObj.PlayM4_SetVolume(_0x247ae8)}return _0x512167}},{key:"JSPlayM4_GetVolume",value:function(){var _0x4c1883=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,_0x50f594=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetVolume this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?(_0x50f594=this.oJSPlayerObj.JSPlayM4_GetVolume(),null!=_0x4c1883&&_0x4c1883(_0x50f594)):_0x50f594=this.oJSPlayerObj.PlayM4_GetVolume((function(_0x173181){null!=_0x4c1883&&_0x4c1883(_0x173181/100*65535)})),_0x50f594)}},{key:"JSPlayM4_SetDisplayRegion",value:function(_0x510761,_0x112c51,_0xa7463b,_0x4a03b6,_0x217891){var _0x41c44a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],_0x27a714=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],_0x2c26a3=1;if(null===this.oJSPlayerObj)return console.log(">>>>>yff>>> JSPlayM4_SetDisplayRegion this.oJSPlayerObj is null"),0;if("number"!=typeof _0x112c51||"number"!=typeof _0x4a03b6||"number"!=typeof _0xa7463b||"number"!=typeof _0x217891)return console.log("param is not number"),0;if(0!=_0x41c44a&&1!=_0x41c44a&&0!=_0x41c44a&&1!=_0x41c44a)return 0;if(0!=_0x27a714&&1!=_0x27a714&&0!=_0x27a714&&1!=_0x27a714)return 0;if(!_0x41c44a){var _0x331398=document.getElementById(this.canvasID).width,_0x476495=document.getElementById(this.canvasID).height;if(_0x112c51<0||_0xa7463b<0||_0x4a03b6<0||_0x217891<0||_0x112c51>_0x331398||_0xa7463b>_0x331398||_0x4a03b6>_0x476495||_0x217891>_0x476495)return 0;if(_0xa7463b-_0x112c51<16||_0x217891-_0x4a03b6<16||_0xa7463b-_0x112c51>_0x331398||_0x217891-_0x4a03b6>_0x476495)return console.log(">>>JS left:"+_0x112c51+",right:"+_0xa7463b+",top:"+_0x4a03b6+",bottom:"+_0x217891+",bClose:"+_0x41c44a+",bZoomEnable:"+_0x27a714+",canvasWidth:"+_0x331398+",canvasHeight:"+_0x476495),0}if(this.jsplayerVersion>1)_0x2c26a3=this.oJSPlayerObj.JSPlayM4_SetDisplayRegion(_0x510761,_0x112c51,_0xa7463b,_0x4a03b6,_0x217891,_0x41c44a,_0x27a714);else{var _0x4b5a03={};_0x4b5a03.left=_0x112c51,_0x4b5a03.right=_0xa7463b,_0x4b5a03.top=_0x4a03b6,_0x4b5a03.bottom=_0x217891,_0x2c26a3=this.oJSPlayerObj.PlayM4_SetDisplayRegion(_0x4b5a03,!_0x41c44a,_0x27a714)}return _0x2c26a3}},{key:"JSPlayM4_SetPrintLogFlag",value:function(_0x417ace){return this.printfFlag=_0x417ace,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetPrintLogFlag this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetPrintLogFlag(_0x417ace):this.oJSPlayerObj.PlayM4_OpenPlayerSDKPrintLog(_0x417ace)}},{key:"JSPlayM4_RenderPrivateData",value:function(_0x466e97,_0x5d9603){var _0x36fb2c=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateData this.oJSPlayerObj is null"),0):1!=_0x466e97&&2!=_0x466e97&&4!=_0x466e97&&8!=_0x466e97&&16!=_0x466e97&&32!=_0x466e97&&64!=_0x466e97&&128!=_0x466e97?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateDataEx intelType value error"),0):1!=_0x5d9603&&0!=_0x5d9603&&1!=_0x5d9603&&0!=_0x5d9603?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateDataEx bTrue value error"),0):(this.jsplayerVersion>1?_0x36fb2c=this.oJSPlayerObj.JSPlayM4_RenderPrivateData(_0x466e97,_0x5d9603):console.log("%c1>JSPlayerV1.X does not support RenderPrivateData","color: red"),_0x36fb2c)}},{key:"JSPlayM4_RenderPrivateDataEx",value:function(_0x21797f,_0x2bb362,_0x3e6da0){var _0x4c6524=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateDataEx this.oJSPlayerObj is null"),0):1!=_0x21797f&&2!=_0x21797f&&4!=_0x21797f&&8!=_0x21797f&&16!=_0x21797f&&32!=_0x21797f&&64!=_0x21797f&&128!=_0x21797f?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateDataEx intelType value error"),0):16==_0x21797f&&(_0x2bb362<1||_0x2bb362>15)||32==_0x21797f&&(_0x2bb362<1||_0x2bb362>7)||64==_0x21797f&&(_0x2bb362<1||_0x2bb362>3)||128==_0x21797f&&(_0x2bb362<1||_0x2bb362>7)?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateDataEx subType value error"),0):1!=_0x3e6da0&&0!=_0x3e6da0&&1!=_0x3e6da0&&0!=_0x3e6da0?(console.log(">>>>>yff>>> JSPlayM4_RenderPrivateDataEx bTrue value error"),0):(this.jsplayerVersion>1?_0x4c6524=this.oJSPlayerObj.JSPlayM4_RenderPrivateDataEx(_0x21797f,_0x2bb362,_0x3e6da0):console.log("%c1>JSPlayerV1.X does not support RenderPrivateDataEx","color: red"),_0x4c6524)}},{key:"JSPlayM4_SetCanvasSize",value:function(_0x3342df,_0x2826c7){var _0x441974=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetCanvasSize this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetCanvasSize(_0x3342df,_0x2826c7,_0x441974):this.oJSPlayerObj.PlayM4_SetCanvasSize(_0x3342df,_0x2826c7)}},{key:"JSPlayM4_SetDisplayBuf",value:function(_0x3530d2){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetDisplayBuf this.oJSPlayerObj is null"),0):(this.displayBuf=_0x3530d2,this.switchingV3toV1?1:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetDisplayBuf(_0x3530d2):this.oJSPlayerObj.PlayM4_SetDisplayBuf(_0x3530d2))}},{key:"JSPlayM4_GetSourceBufferRemain",value:function(){return null===this.oJSPlayerObj?0:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetSourceBufferRemain():this.oJSPlayerObj.PlayM4_GetInputBufSize()}},{key:"JSPlayM4_GetBufferValue",value:function(_0x73ce3a){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetBufferValue this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetBufferValue(_0x73ce3a):this.oJSPlayerObj.PlayM4_GetBufferValue(_0x73ce3a)}},{key:"JSPlayM4_ReversePlay",value:function(){var _0x191e61=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_ReversePlay this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x191e61=this.oJSPlayerObj.JSPlayM4_ReversePlay():console.log("%c1>JSPlayerV1.X does not support ReversePlay","color: red"),_0x191e61)}},{key:"JSPlayM4_SetDecodeThreadNum",value:function(_0x3b54e3){var _0x405610=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetDecodeThreadNum this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x405610=this.oJSPlayerObj.JSPlayM4_SetDecodeThreadNum(_0x3b54e3):console.log("%c1>JSPlayerV1.X does not support SetDecodeThreadNum, V1.X decocde only 1 thread","color: red"),_0x405610)}},{key:"JSPlayM4_GetCanvasSize",value:function(){var _0x3808f3=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetCanvasSize this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetCanvasSize(_0x3808f3):this.oJSPlayerObj.PlayM4_GetCanvasSize()}},{key:"JSPlayM4_DisplayLostFrames",value:function(_0x523583,_0x1cb323,_0x3fa71c){var _0x590b82=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_DisplayLostFrames this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x590b82=this.oJSPlayerObj.JSPlayM4_DisplayLostFrames(_0x523583,_0x1cb323,_0x3fa71c):console.log("%c1>JSPlayerV1.X does not support DisplayLostFrames","color: red"),_0x590b82)}},{key:"JSPlayM4_SetIVSContraBandDrawMode",value:function(_0x38a006){var _0x3415ed=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_DisplayLostFrames this.oJSPlayerObj is null"),0):0!=_0x38a006&&1!=_0x38a006?0:(this.jsplayerVersion>1?_0x3415ed=this.oJSPlayerObj.JSPlayM4_SetIVSContraBandDrawMode(_0x38a006):console.log("%c1>JSPlayerV1.X does not support SetIVSContraBandDrawMode","color: red"),_0x3415ed)}},{key:"JSPlayM4_SetANRParam",value:function(_0x5a0180,_0xf210d3){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetANRParam this.oJSPlayerObj is null"),0):(this.anrParamLevel=_0xf210d3,this.anrParamFlag=_0x5a0180,this.switchingV3toV1?1:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetANRParam(_0x5a0180,_0xf210d3):this.oJSPlayerObj.PlayM4_SetANRParam(_0x5a0180,_0xf210d3))}},{key:"JSPlayM4_SetResampleValue",value:function(_0x2b7818,_0xddff22){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetResampleValue this.oJSPlayerObj is null"),0):(this.resampleRate=_0xddff22,this.resampleFlag=_0x2b7818,this.switchingV3toV1?1:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetResampleValue(_0x2b7818,_0xddff22):this.oJSPlayerObj.PlayM4_SetResampleValue(_0x2b7818,_0xddff22))}},{key:"JSPlayM4_SetAntialias",value:function(_0x5bf111){var _0x4a0fd7=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetAntialias this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?(_0x4a0fd7=this.oJSPlayerObj.JSPlayM4_SetAntialias(_0x5bf111),console.log("V3 JSPlayM4_SetAntialias resSA: ".concat(_0x4a0fd7))):(_0x4a0fd7=this.oJSPlayerObj.PlayM4_SetAntialias(_0x5bf111),console.log("V1 JSPlayM4_SetAntialias resSA: ".concat(_0x4a0fd7))),_0x4a0fd7)}},{key:"JSPlayM4_SyncToAudio",value:function(_0xfa441a){var _0x24b892=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SyncToAudio this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x24b892=this.oJSPlayerObj.JSPlayM4_SyncToAudio(_0xfa441a):console.log("%c1>JSPlayerV1.X does not support SyncToAudio","color: red"),_0x24b892)}},{key:"JSPlayM4_SetAudioThreadModel",value:function(_0x124f40){var _0x11d6f6=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetAudioThreadModel this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x11d6f6=this.oJSPlayerObj.JSPlayM4_SetAudioThreadModel(_0x124f40):console.log("%c1>JSPlayerV1.X does not support SetAudioThreadModel","color: red"),_0x11d6f6)}},{key:"JSPlayM4_SetDecodeERC",value:function(_0x5a4284){return this.decodeERCLevel=_0x5a4284,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetDecodeERC this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetDecodeERC(_0x5a4284):this.oJSPlayerObj.PlayM4_SetDecodeERC(_0x5a4284)}},{key:"JSPlayM4_SkipErrorData",value:function(_0x192c15){return this.skipErrorData=_0x192c15,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SkipErrorData this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SkipErrorData(_0x192c15):this.oJSPlayerObj.PlayM4_SkipErrorData(_0x192c15)}},{key:"JSPlayM4_SetDemuxModel",value:function(_0x52636c,_0x3dd9c6){return this.demuxModelType=_0x52636c,this.demuxModeFlag=_0x3dd9c6,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetDemuxModel this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetDemuxModel(_0x52636c,_0x3dd9c6):this.oJSPlayerObj.PlayM4_SetDemuxModel(_0x52636c,_0x3dd9c6)}},{key:"JSPlayM4_SetD3DPostProcess",value:function(_0x2fdc0f,_0x39171c){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetD3DPostProcess this.oJSPlayerObj is null"),0):"number"!=typeof _0x2fdc0f||"number"!=typeof _0x39171c?(console.log(">>>>>yff>>> JSPlayM4_SetD3DPostProcess nPostType or fValue is not number"),0):1!==_0x2fdc0f&&2!==_0x2fdc0f&&3!==_0x2fdc0f&&4!==_0x2fdc0f&&5!==_0x2fdc0f?(console.log(">>>>>yff>>> JSPlayM4_SetD3DPostProcess nPostType is 1~5"),0):1===_0x2fdc0f&&(_0x39171c<-1||_0x39171c>1)||2===_0x2fdc0f&&(_0x39171c<0||_0x39171c>1)||3===_0x2fdc0f&&(_0x39171c<-1||_0x39171c>1)||4===_0x2fdc0f&&(_0x39171c<-1||_0x39171c>1)||5===_0x2fdc0f&&(_0x39171c<0||_0x39171c>1)?(console.log(">>>>>yff>>> JSPlayM4_SetD3DPostProcess pFontParam f* is 0~1 or -1~1"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetD3DPostProcess(_0x2fdc0f,_0x39171c):this.oJSPlayerObj.PlayM4_SetD3DPostProcess(_0x2fdc0f,_0x39171c)}},{key:"JSPlayM4_SetFirstFrameCallBack",value:function(_0x5a5231,_0x405f57){return this.needSetFFCB=!0,this.FFCBFlag=_0x5a5231,this.firstFrameCB=_0x405f57,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetFirstFrameCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetFirstFrameCallBack(_0x5a5231,_0x405f57):this.oJSPlayerObj.PlayM4_SetFirstFrameCallBack(_0x5a5231,_0x405f57)}},{key:"JSPlayM4_SetDecCallBack",value:function(_0x422cc1,_0x891588){return null===this.oJSPlayerObj||"function"!=typeof _0x891588?(console.log(">>>>>yff>>> JSPlayM4_SetDecCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetDecCallBack(_0x422cc1,_0x891588):this.oJSPlayerObj.PlayM4_SetDecCallBack(_0x422cc1,_0x891588)}},{key:"JSPlayM4_SetHardDecToJepgCallBack",value:function(_0x5af3fc,_0x301001){return null==_0x5af3fc||null==_0x5af3fc.nHardToJpegQuality||null==_0x5af3fc.nHardToJpegInterval||null==_0x5af3fc.nHardToJpegZoomWidth||null==_0x5af3fc.nHardToJpegZoomHeight||null==_0x5af3fc.nZoomResolutionFlag||_0x5af3fc.nHardToJpegQuality<=0||_0x5af3fc.nHardToJpegQuality>1||_0x5af3fc.nHardToJpegInterval<1||_0x5af3fc.nHardToJpegZoomWidth<1||_0x5af3fc.nHardToJpegZoomHeight<1||0!=_0x5af3fc.nZoomResolutionFlag&&1!=_0x5af3fc.nZoomResolutionFlag?0:null===this.oJSPlayerObj||"function"!=typeof _0x301001?(console.log(">>>>>yff>>> JSPlayM4_SetHardDecToJepgCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetHardDecToJepgCallBack(_0x5af3fc,_0x301001):(console.log("%c1>JSPlayerV1.X does not support SetHardDecToJepgCallBack","color: red"),0)}},{key:"JSPlayM4_SetDisplayCallBack",value:function(_0x1b0c68,_0x39d30b){return null===this.oJSPlayerObj||"function"!=typeof _0x39d30b?(console.log(">>>>>yff>>> JSPlayM4_SetDisplayCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetDisplayCallBack(_0x1b0c68,_0x39d30b):this.oJSPlayerObj.PlayM4_SetDisplayCallBack(_0x39d30b)}},{key:"JSPlayM4_SetFrameInfoCallBack",value:function(_0x111bc1){return this.frameInfoCBFlag=_0x111bc1,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetFrameInfoCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetFrameInfoCallBack(_0x111bc1):this.oJSPlayerObj.PlayM4_SetFrameInfoCallBack(_0x111bc1)}},{key:"JSPlayM4_SetDecCBStream",value:function(_0x5efc46){return null===this.oJSPlayerObj||_0x5efc46<1||_0x5efc46>3?(console.log(">>>>>yff>>> JSPlayM4_SetDecCBStream this.oJSPlayerObj is null stream:"+_0x5efc46),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetDecCBStream(_0x5efc46):this.oJSPlayerObj.PlayM4_SetDecCBStream(_0x5efc46)}},{key:"JSPlayM4_GetFrameInfo",value:function(){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetFrameInfo this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetFrameInfo():this.oJSPlayerObj.PlayM4_GetFrameInfo()}},{key:"JSPlayM4_GetAdditionData",value:function(){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetAdditionData this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetAdditionData():(console.log("%c1>JSPlayerV1.X does not support GetAdditionData","color: red"),0)}},{key:"JSPlayM4_SetAdditionDataCallBack",value:function(_0x5a76d6,_0x290c47,_0x31932f){return this.additionDataType=_0x5a76d6,this.additionFlag=_0x290c47,this.addCBFun=_0x31932f,this.needSetAdditionDataCB=!0,null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetAdditionDataCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetAdditionDataCallBack(_0x5a76d6,_0x290c47,_0x31932f):this.oJSPlayerObj.PlayM4_SetAdditionDataCallBack(_0x5a76d6,_0x290c47,_0x31932f)}},{key:"JSPlayM4_GetPlayedTimeEx",value:function(_0x12c796){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetPlayedTimeEx this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_GetPlayedTimeEx(_0x12c796):this.oJSPlayerObj.PlayM4_GetPlayedTimeEx(_0x12c796)}},{key:"JSPlayM4_GetFileTime",value:function(_0x35739f){var _0x24b884=0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetFileTime this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?(_0x24b884=this.oJSPlayerObj.JSPlayM4_GetFileTime(),null!=_0x35739f&&_0x35739f(_0x24b884)):_0x24b884=this.oJSPlayerObj.PlayM4_GetFileTime(_0x35739f),1e3*_0x24b884)}},{key:"JSPlayM4_GetMpOffset",value:function(_0x584874,_0x9aa446){var _0x585c16=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,_0x58a6fc=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,_0x148a4e=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,_0x986c5c=-1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetMpOffset this.oJSPlayerObj is null"),-1):(this.jsplayerVersion>1?(_0x986c5c=this.oJSPlayerObj.JSPlayM4_GetMpOffset(_0x9aa446,_0x585c16,_0x58a6fc,_0x148a4e),null!=_0x584874&&_0x584874(_0x986c5c)):_0x986c5c=this.oJSPlayerObj.PlayM4_GetMpOffset(_0x584874,_0x9aa446),_0x986c5c)}},{key:"JSPlayM4_ResetBuffer",value:function(_0x177c20){var _0x5b6633=1;return this.needResetBuffer=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_ResetBuffer this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x5b6633=this.oJSPlayerObj.JSPlayM4_ResetBuffer(_0x177c20):(_0x5b6633=this.oJSPlayerObj.PlayM4_ReleaseInputBuffer(),_0x5b6633=this.oJSPlayerObj.PlayM4_ResetBuffer(_0x177c20)),_0x5b6633)}},{key:"JSPlayM4_SetGlobalBaseTime",value:function(_0x1c15b7,_0x43d35a,_0x3435f9,_0xf91dd,_0xf852c2,_0x593d80,_0x1d6892){return _0x1c15b7<0||_0x43d35a<0||_0x43d35a>12||_0x3435f9<0||_0x3435f9>31||_0xf91dd<0||_0xf91dd>=24||_0xf852c2<0||_0xf852c2>=60||_0x593d80<0||_0x593d80>=60||_0x1d6892<0||_0x1d6892>=1e3?0:(this.globalBaseTime={year:_0x1c15b7,month:_0x43d35a,day:_0x3435f9,hour:_0xf91dd,min:_0xf852c2,sec:_0x593d80,ms:_0x1d6892},this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetGlobalBaseTime this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetGlobalBaseTime(_0x1c15b7,_0x43d35a,_0x3435f9,_0xf91dd,_0xf852c2,_0x593d80,_0x1d6892):this.oJSPlayerObj.PlayM4_SetGlobalBaseTime(_0x1c15b7,_0x43d35a,_0x3435f9,_0xf91dd,_0xf852c2,_0x593d80,_0x1d6892))}},{key:"JSPlayM4_SetSecretKey",value:function(_0x432d08){var _0x37731f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(this.needSetSecretKey=!0,this.keyData=_0x432d08,this.keyType=_0x37731f,this.switchingV3toV1)return 1;if(null===this.oJSPlayerObj)return console.log(">>>>>yff>>> JSPlayM4_SetSecretKey this.oJSPlayerObj is null"),0;if(1!=_0x37731f&&2!=_0x37731f)return 0;var _0x21b628=0;return 1==_0x37731f?_0x21b628=128:2==_0x37731f&&(_0x21b628=256),this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetSecretKey(_0x37731f,_0x432d08,_0x21b628):this.oJSPlayerObj.PlayM4_SetSecretKey(_0x37731f,_0x432d08,_0x21b628)}},{key:"JSPlayM4_SetRunTimeInfoCallBackEx",value:function(_0x20a681,_0x1db6e3){return this.runtimeModule=_0x20a681,this.runtimeCBFun=_0x1db6e3,this.needSetRunTimeInfoCB=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetRunTimeInfoCallBackEx this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetRunTimeInfoCallBackEx(_0x20a681,_0x1db6e3):this.oJSPlayerObj.PlayM4_SetRunTimeInfoCallBackEx(_0x20a681,_0x1db6e3)}},{key:"JSPlayM4_SetRunTimeInfoCallbackType",value:function(_0x2fe099,_0x1cde51,_0x25c9bd){switch((_0x2fe099>4||_0x2fe099<0||_0x1cde51<0||0!=_0x25c9bd&&1!=_0x25c9bd)&&console.log(">>>>>yff>>> JSPlayM4_SetRunTimeInfoCallbackType param error nModule:"+_0x2fe099+",nType:"+_0x1cde51+",nFlag:"+_0x25c9bd),_0x2fe099){case 0:_0x25c9bd?this.SourceTypeFlagMap.set(_0x1cde51,1):this.SourceTypeFlagMap.delete(_0x1cde51);break;case 1:_0x25c9bd?this.SplitterTypeFlagMap.set(_0x1cde51,1):this.SplitterTypeFlagMap.delete(_0x1cde51);break;case 2:_0x25c9bd?this.DecodeTypeFlagMap.set(_0x1cde51,1):this.DecodeTypeFlagMap.delete(_0x1cde51);break;case 3:_0x25c9bd?this.RenderTypeFlagMap.set(_0x1cde51,1):this.RenderTypeFlagMap.delete(_0x1cde51);break;case 4:_0x25c9bd?this.ManagerTypeFlagMap.set(_0x1cde51,1):this.ManagerTypeFlagMap.delete(_0x1cde51);break;default:return 0}return this.needSetRunTimeInfoCBType=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetRunTimeInfoCallbackType this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetRunTimeInfoCallbackType(_0x2fe099,_0x1cde51,_0x25c9bd):this.oJSPlayerObj.PlayM4_SetRunTimeInfoCallbackType(_0x2fe099,_0x1cde51,_0x25c9bd)}},{key:"JSPlayM4_SetStreamInfoCallBack",value:function(_0x4247b1,_0xdca4e7){return this.streamInfoCBFun=_0xdca4e7,this.streamInfoType=_0x4247b1,this.needSetstreamInfoCB=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetStreamInfoCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetStreamInfoCallBack(_0x4247b1,_0xdca4e7):this.oJSPlayerObj.PlayM4_SetStreamInfoCallBack(_0x4247b1,_0xdca4e7)}},{key:"JSPlayM4_SetPostMpStreamOffsetCallBack",value:function(_0x477c3d){return _0x477c3d&&"function"==typeof _0x477c3d||null===_0x477c3d?(this.PostMpStreamOffsetCBFun=_0x477c3d,this.needPostMpStreamOffsetCB=!0,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetPostMpStreamOffsetCallBack this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetPostMpStreamOffsetCallBack(_0x477c3d):this.oJSPlayerObj.PlayM4_SetPostMpStreamOffsetCallBack(_0x477c3d)):0}},{key:"JSPlayM4_SetPlayOrBackSwitchMode",value:function(_0x318209){var _0x577c8d=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetPlayOrBackSwitchMode this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x577c8d=this.oJSPlayerObj.JSPlayM4_SetPlayOrBackSwitchMode(_0x318209):console.log("%c1>JSPlayerV1.X does not support SetPlayOrBackSwitchMode","color: red"),_0x577c8d)}},{key:"JSPlayM4_SetStretchPlay",value:function(_0x1db148,_0x1a07a2){var _0x4e605f=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetStretchPlay this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x4e605f=this.oJSPlayerObj.JSPlayM4_SetStretchPlay(_0x1db148,_0x1a07a2):console.log("%c1>JSPlayerV1.X does not support SetStretchPlay","color: red"),_0x4e605f)}},{key:"JSPlayM4_SetAutoSmoothPlay",value:function(_0xd2dbc3){var _0x309339=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetAutoSmoothPlay this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x309339=this.oJSPlayerObj.JSPlayM4_SetAutoSmoothPlay(_0xd2dbc3):console.log("%c1>JSPlayerV1.X does not support SetAutoSmoothPlay","color: red"),_0x309339)}},{key:"JSPlayM4_KeepPlaySpeed",value:function(_0x309256){var _0x1182a3=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_KeepPlaySpeed this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x1182a3=this.oJSPlayerObj.JSPlayM4_KeepPlaySpeed(_0x309256):console.log("%c1>JSPlayerV1.X does not support KeepPlaySpeed","color: red"),_0x1182a3)}},{key:"JSPlayM4_IgnoreHeaderAudioDefine",value:function(_0x34b105){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_IgnoreHeaderAudioDefine this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_IgnoreHeaderAudioDefine(_0x34b105):this.oJSPlayerObj.PlayM4_IgnoreHeaderAudioDefine(_0x34b105)}},{key:"JSPlayM4_SetSycGroup",value:function(_0x4d2078){var _0x3cb2af=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetSycGroup this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x3cb2af=this.oJSPlayerObj.JSPlayM4_SetSycGroup(_0x4d2078):console.log("%c1>JSPlayerV1.X does not support SetSycGroup","color: red"),_0x3cb2af)}},{key:"JSPlayM4_SetRotateAngle",value:function(_0x436f52){return"number"!=typeof _0x436f52?(console.log(">>>>>yff>>> JSPlayM4_SetRotateAngle nValue is not number"),0):0!=_0x436f52&&90!=_0x436f52&&180!=_0x436f52&&270!=_0x436f52?(console.log(">>>>>yff>>> JSPlayM4_SetRotateAngle only support 0/90/180/270"),0):(this.needSetRotateAngle=!0,this.twodRotateAngle=_0x436f52,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetRotateAngle this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetRotateAngle(_0x436f52):this.oJSPlayerObj.PlayM4_SetRotateAngle(_0x436f52))}},{key:"JSPlayM4_SetPanoramaDisplayEffect",value:function(_0x155966){return"number"!=typeof _0x155966?(console.log(">>>>>yff>>> JSPlayM4_SetPanoramaDisplayEffect eDisplayEffect is not number"),0):0!=_0x155966&&1!=_0x155966&&2!=_0x155966&&3!=_0x155966?(console.log(">>>>>yff>>> JSPlayM4_SetPanoramaDisplayEffect only support 0/1/2/3"),0):this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetPanoramaDisplayEffect this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetPanoramaDisplayEffect(_0x155966):(console.log("%c1>JSPlayerV1.X does not support SetPanoramaDisplayEffect 20250910","color: red"),0)}},{key:"JSPlayM4_SetPanoramaSphereViewParam",value:function(_0x5d8201,_0x2ebb9a){var _0x3f45d4=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetPanoramaSphereViewParam this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x3f45d4=this.oJSPlayerObj.JSPlayM4_SetPanoramaSphereViewParam(_0x5d8201,_0x2ebb9a):console.log("%c1>JSPlayerV1.X does not support JSPlayM4_SetPanoramaSphereViewParam 20250910","color: red"),_0x3f45d4)}},{key:"JSPlayM4_GetPanoramaSphereViewParam",value:function(_0xa9a829,_0x1570af){var _0x11efc6=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetPanoramaSphereViewParam this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x11efc6=this.oJSPlayerObj.JSPlayM4_GetPanoramaSphereViewParam(_0xa9a829,_0x1570af):console.log("%c1>JSPlayerV1.X does not support JSPlayM4_GetPanoramaSphereViewParam 20250910","color: red"),_0x11efc6)}},{key:"JSPlayM4_FEC_SetCanvasID",value:function(){var _0x58b6d2=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,_0x452d9a=1;return this.FECcanvasIDArray=_0x58b6d2.split(","),null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetCanvasID this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x452d9a=this.oJSPlayerObj.JSPlayM4_FEC_SetCanvasID(_0x58b6d2):console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red"),_0x452d9a)}},{key:"JSPlayM4_FEC_ResetCorrectType",value:function(_0x2e160b,_0x3e6d33,_0x284372){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_ResetCorrectType this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_ResetCorrectType(_0x2e160b,_0x3e6d33,_0x284372):this.oJSPlayerObj.PlayM4_FEC_ResetCorrectType(_0x2e160b,_0x3e6d33,_0x284372)}},{key:"JSPlayM4_FEC_GetPort",value:function(_0x57f57a,_0x229929){var _0x2e6996=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_GetPort this.oJSPlayerObj is null"),-1):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_GetPort(_0x57f57a,_0x229929,_0x2e6996):this.oJSPlayerObj.PlayM4_FEC_GetPort(_0x57f57a,_0x229929,_0x2e6996)}},{key:"JSPlayM4_FEC_Enable",value:function(_0x181fb3){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_Enable this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_Enable(_0x181fb3):this.oJSPlayerObj.PlayM4_FEC_Enable(_0x181fb3)}},{key:"JSPlayM4_FEC_SetParam",value:function(_0x28c850,_0x17aa4a){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetParam this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_SetParam(_0x28c850,_0x17aa4a):this.oJSPlayerObj.PlayM4_FEC_SetParam(_0x28c850,_0x17aa4a)}},{key:"JSPlayM4_FEC_GetParam",value:function(_0x692e94){var _0x3d08de=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_GetParam this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_GetParam(_0x692e94,_0x3d08de):(console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red"),1)}},{key:"JSPlayM4_FEC_SetViewParam",value:function(_0x17e541,_0x34e5a8,_0x54615c){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetViewParam this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_SetViewParam(_0x17e541,_0x34e5a8,_0x54615c):this.oJSPlayerObj.PlayM4_FEC_SetViewParam(_0x17e541,_0x34e5a8,_0x54615c)}},{key:"JSPlayM4_FEC_GetViewParam",value:function(_0xeee28e,_0x98b37d,_0x554576){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_GetViewParam this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_GetViewParam(_0xeee28e,_0x98b37d,_0x554576):this.oJSPlayerObj.PlayM4_FEC_GetViewParam(_0xeee28e,_0x98b37d,_0x554576)}},{key:"JSPlayM4_FEC_SetWnd",value:function(_0x466815,_0x19b720){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetWnd this.oJSPlayerObj is null"),0):(this.CanvasSubPortMap.set(_0x466815,_0x19b720),this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_SetWnd(_0x466815,_0x19b720):this.oJSPlayerObj.PlayM4_FEC_SetWnd(_0x466815,_0x19b720))}},{key:"JSPlayM4_FEC_Disable",value:function(){var _0x35e662=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,_0x3b86ad=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],_0x4c7b93=arguments.length>2&&void 0!==arguments[2]&&arguments[2],_0x2697da=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_Disable this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x2697da=this.oJSPlayerObj.JSPlayM4_FEC_Disable(_0x35e662,_0x3b86ad,_0x4c7b93):console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red"),_0x2697da)}},{key:"JSPlayM4_FEC_DelPort",value:function(_0x4b004f){var _0x43bfa9=1;if(null===this.oJSPlayerObj)return console.log(">>>>>yff>>> JSPlayM4_FEC_DelPort this.oJSPlayerObj is null"),0;var _0x5e2c76=this.CanvasSubPortMap.get(_0x4b004f);this.jsplayerVersion>1?_0x43bfa9=this.oJSPlayerObj.JSPlayM4_FEC_DelPort(_0x4b004f):console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red");var _0x379293=document.getElementById(_0x5e2c76);if(_0x379293){var _0x3f99a8=_0x379293.cloneNode(!0);_0x379293.parentNode.replaceChild(_0x3f99a8,_0x379293)}return this.CanvasSubPortMap.delete(_0x4b004f),_0x43bfa9}},{key:"JSPlayM4_FEC_SetDisplayRegion",value:function(_0x140946){var _0x125b0b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,_0x375825=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,_0x4f4800=arguments.length>3?arguments[3]:void 0,_0x4d98da=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,_0x8d8b4a=arguments.length>5?arguments[5]:void 0,_0xa07757=arguments.length>6?arguments[6]:void 0,_0x38fda9=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetDisplayRegion this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x38fda9=this.oJSPlayerObj.JSPlayM4_FEC_SetDisplayRegion(_0x140946,_0x125b0b,_0x375825,_0x4f4800,_0x4d98da,_0x8d8b4a,_0xa07757):console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red"),_0x38fda9)}},{key:"JSPlayM4_FEC_SetBackCilling",value:function(_0x297b0c,_0x32c37a){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetBackCilling this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_SetBackCilling(_0x297b0c,_0x32c37a):this.oJSPlayerObj.PlayM4_FEC_SetBackCilling(_0x297b0c,_0x32c37a)}},{key:"JSPlayM4_FEC_GetPTZPort",value:function(_0x5d01d6,_0x227584){var _0xbfa98a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,_0x434902=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,_0x5480b2=-1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_GetPTZPort this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x5480b2=this.oJSPlayerObj.JSPlayM4_FEC_GetPTZPort(_0x5d01d6,_0x227584,_0xbfa98a,_0x434902):console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red"),_0x5480b2)}},{key:"JSPlayM4_FEC_SetPTZDisplayMode",value:function(_0x325b90){var _0x576c7d=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_SetPTZDisplayMode this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x576c7d=this.oJSPlayerObj.JSPlayM4_FEC_SetPTZDisplayMode(_0x325b90):console.log("%c1>JSPlayerV1.X does not support FEC 20230922","color: red"),_0x576c7d)}},{key:"JSPlayM4_FEC_Capture",value:function(_0x5aa935,_0x50889f){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_FEC_Capture this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_FEC_Capture(_0x5aa935,_0x50889f):this.oJSPlayerObj.PlayM4_FEC_Capture(_0x5aa935,_0x50889f)}},{key:"JSPlayM4_SetVideoCropInfo",value:function(_0x2daeba){var _0xbdb051=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetVideoCropInfo this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?console.log("%c1>JSPlayerV3.X does not support SetVideoCropInfo,","color: red"):_0xbdb051=this.oJSPlayerObj.PlayM4_SetVideoCropInfo(_0x2daeba),_0xbdb051)}},{key:"JSPlayM4_IsVisible",value:function(_0x4346ca){return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_IsVisible this.oJSPlayerObj is null"),0):1!=_0x4346ca&&0!=_0x4346ca?0:this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_IsVisible(_0x4346ca):this.oJSPlayerObj.PlayM4_IsVisible(_0x4346ca)}},{key:"JSPlayM4_SetInputBufSize",value:function(_0x1688b0){var _0x8d597d=1;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetInputBufSize this.oJSPlayerObj is null"),0):(this.inputBufSize=_0x1688b0,this.jsplayerVersion>1?console.log("%c1>JSPlayerV3.X does not support SetInputBufSize,","color: red"):_0x8d597d=this.oJSPlayerObj.PlayM4_SetInputBufSize(_0x1688b0),_0x8d597d)}},{key:"JSPlayM4_GetYUVBufSize",value:function(){var _0x5b6ca4=0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetYUVBufSize this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?console.log("%c1>JSPlayerV3.X does not support GetYUVBufSize,","color: red"):_0x5b6ca4=this.oJSPlayerObj.PlayM4_GetYUVBufSize(),_0x5b6ca4)}},{key:"JSPlayM4_ClearCanvas",value:function(){var _0x1f42d8=0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_ClearCanvas this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?console.log("%c1>JSPlayerV3.X does not support ClearCanvas,","color: red"):_0x1f42d8=this.oJSPlayerObj.PlayM4_ClearCanvas(),_0x1f42d8)}},{key:"JSPlayM4_ReleaseInputBuffer",value:function(){var _0x2f993f=0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_ReleaseInputBuffer this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?console.log("%c1>JSPlayerV3.X does not support ReleaseInputBuffer,","color: red"):_0x2f993f=this.oJSPlayerObj.PlayM4_ReleaseInputBuffer(),_0x2f993f)}},{key:"JSPlayM4_GetDecodeFrameType",value:function(){var _0x3fc4cc=0;return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_GetDecodeFrameType this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?console.log("%c1>JSPlayerV3.X does not support GetDecodeFrameType,","color: red"):_0x3fc4cc=this.oJSPlayerObj.PlayM4_GetDecodeFrameType(),_0x3fc4cc)}},{key:"JSPlayM4_SetMosaicType",value:function(_0x4ef0d7){var _0x57c916=0;return null==_0x4ef0d7||null==_0x4ef0d7||null==_0x4ef0d7.pstMosaicColor||null==_0x4ef0d7.pstMosaicColor.fMosaicColorR||null==_0x4ef0d7.pstMosaicColor.fMosaicColorG||null==_0x4ef0d7.pstMosaicColor.fMosaicColorB||null==_0x4ef0d7.pstMosaicColor.fMosaicColorA||null==_0x4ef0d7.nMosaicSize||null==_0x4ef0d7.nMosaicType||_0x4ef0d7.pstMosaicColor.fMosaicColorR<0||_0x4ef0d7.pstMosaicColor.fMosaicColorR>255||_0x4ef0d7.pstMosaicColor.fMosaicColorG<0||_0x4ef0d7.pstMosaicColor.fMosaicColorG>255||_0x4ef0d7.pstMosaicColor.fMosaicColorB<0||_0x4ef0d7.pstMosaicColor.fMosaicColorB>255||_0x4ef0d7.pstMosaicColor.fMosaicColorA<0||_0x4ef0d7.pstMosaicColor.fMosaicColorA>100||_0x4ef0d7.nMosaicSize<1||_0x4ef0d7.nMosaicSize>100||1!=_0x4ef0d7.nMosaicType&&3!=_0x4ef0d7.nMosaicType&&5!=_0x4ef0d7.nMosaicType?0:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetMosaicType this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x57c916=this.oJSPlayerObj.JSPlayM4_SetMosaicType(_0x4ef0d7):console.log("%c1>JSPlayerV1.X does not support SetMosaicType,","color: red"),_0x57c916)}},{key:"JSPlayM4_SelectIntelInfoFeatureToDraw",value:function(_0x57778b){var _0x5dd080=0;if(null==_0x57778b||null==_0x57778b)return 0;if(0!=_0x57778b.bTrue&&1!=_0x57778b.bTrue)return 0;if(0!=_0x57778b.nMode&&1!=_0x57778b.nMode&&2!=_0x57778b.nMode)return 0;if(_0x57778b.NodeNumber<0||_0x57778b.NodeNumber>160)return 0;if(_0x57778b.NodeNumber!=_0x57778b.pIntelInfoNode.length)return 0;for(var _0x10f4f5=0;_0x10f4f5<_0x57778b.NodeNumber;_0x10f4f5++){if(_0x57778b.pIntelInfoNode[_0x10f4f5].nID<0)return 0;if(1!=_0x57778b.pIntelInfoNode[_0x10f4f5].nType&&2!=_0x57778b.pIntelInfoNode[_0x10f4f5].nType&&4!=_0x57778b.pIntelInfoNode[_0x10f4f5].nType&&8!=_0x57778b.pIntelInfoNode[_0x10f4f5].nType)return 0}return null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SelectIntelInfoFeatureToDraw this.oJSPlayerObj is null"),0):(this.jsplayerVersion>1?_0x5dd080=this.oJSPlayerObj.JSPlayM4_SelectIntelInfoFeatureToDraw(_0x57778b):console.log("%cJSPlayM4_SelectIntelInfoFeatureToDraw V1 not support","color: red"),_0x5dd080)}},{key:"JSPlayM4_SetWaterMarkFont",value:function(_0x31f1db){if(null!=_0x31f1db){if(null!=_0x31f1db.nFontAlign&&null!=_0x31f1db.nFontAlign||(_0x31f1db.nFontAlign=0),null!=_0x31f1db.nColorAdapt&&null!=_0x31f1db.nColorAdapt||(_0x31f1db.nColorAdapt=0),null==_0x31f1db.pstCanvasAdapt&&(_0x31f1db.pstCanvasAdapt={},_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode=0,_0x31f1db.pstCanvasAdapt.ntotalRowSpace=0,_0x31f1db.pstCanvasAdapt.ntotalColSpace=0,_0x31f1db.pstCanvasAdapt.nBaseCanvasWidth=0,_0x31f1db.pstCanvasAdapt.nBaseCanvasHeight=0),this.printfFlag>0){console.log("%cJSPlayerInterface.js JSPlayM4_SetWaterMarkFont:string:"+_0x31f1db.pFontString+",fontcolr,fR:"+_0x31f1db.pstFontColor.fR+",fG:"+_0x31f1db.pstFontColor.fG+",fB:"+_0x31f1db.pstFontColor.fB+",fA:"+_0x31f1db.pstFontColor.fA+",fontSizeWidth:"+_0x31f1db.pstFontSize.nFontWidth+",fontSizeHeight:"+_0x31f1db.pstFontSize.nFontHeight+",rotateAngle:"+_0x31f1db.pstFontRotate.fRotateAngle+",fontFamily:"+_0x31f1db.pFontFamily,"color:red");var _0x1aca10=document.getElementById(this.canvasID).width,_0xcc0891=document.getElementById(this.canvasID).height;console.log("canvasWidht:"+_0x1aca10+",canvasHeight:"+_0xcc0891),console.log("fullScreen:"+_0x31f1db.pstFontRotate.fFillFullScreen+",rowNum:"+_0x31f1db.pstFontNumber.nRowNumber+",colNum:"+_0x31f1db.pstFontNumber.nColNumber+",space:"+_0x31f1db.pSpace+",fontAlign:"+_0x31f1db.nFontAlign+",colorAdapt:"+_0x31f1db.nColorAdapt),console.log("adaptMode:"+_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode+",baseWidth:"+_0x31f1db.pstCanvasAdapt.nBaseCanvasWidth+",baseHeight:"+_0x31f1db.pstCanvasAdapt.nBaseCanvasHeight+",rowSpace:"+_0x31f1db.pstCanvasAdapt.nRowSpace+",colSpace:"+_0x31f1db.pstCanvasAdapt.nColSpace)}if(void 0===_0x31f1db.pFontString||null==_0x31f1db.pstStartPos||null==_0x31f1db.pstFontColor||null==_0x31f1db.pstFontSize||null==_0x31f1db.pstFontRotate||null==_0x31f1db.pFontFamily||null==_0x31f1db.pstStartPos.fX||null==_0x31f1db.pstStartPos.fY||null==_0x31f1db.pstFontColor.fR||null==_0x31f1db.pstFontColor.fG||null==_0x31f1db.pstFontColor.fB||null==_0x31f1db.pstFontColor.fA||null==_0x31f1db.pstFontSize.nFontWidth||null==_0x31f1db.pstFontSize.nFontHeight||null==_0x31f1db.pstFontRotate.fRotateAngle||null==_0x31f1db.pstFontRotate.fFillFullScreen||null==_0x31f1db.pSpace)return console.log(">>>>>yff>>> JSPlayM4_SetWaterMarkFont pFontParam undefined"),0;if(_0x31f1db.pstStartPos.fX>1||_0x31f1db.pstStartPos.fX<0||_0x31f1db.pstStartPos.fY>1||_0x31f1db.pstStartPos.fY<0||_0x31f1db.pstFontColor.fR>1||_0x31f1db.pstFontColor.fR<0||_0x31f1db.pstFontColor.fG>1||_0x31f1db.pstFontColor.fG<0||_0x31f1db.pstFontColor.fB>1||_0x31f1db.pstFontColor.fB<0||_0x31f1db.pstFontColor.fA>1||_0x31f1db.pstFontColor.fA<0)return console.log(">>>>>yff>>> JSPlayM4_SetWaterMarkFont pFontParam f* is 0~1"),0;if(1!=_0x31f1db.pstFontRotate.fFillFullScreen&&0!=_0x31f1db.pstFontRotate.fFillFullScreen&&1!=_0x31f1db.pstFontRotate.fFillFullScreen&&0!=_0x31f1db.pstFontRotate.fFillFullScreen)return console.log(">>>>>yff>>> pFontParam.pstFontRotate.fFillFullScreen is true or false"),0;if(0==_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode&&_0x31f1db.pstFontRotate.fFillFullScreen&&(_0x31f1db.pstFontNumber.nRowNumber<1||_0x31f1db.pstFontNumber.nColNumber<1||null==_0x31f1db.pstFontNumber.nRowNumber||null==_0x31f1db.pstFontNumber.nColNumber||_0x31f1db.pstFontNumber.nRowNumber>16||_0x31f1db.pstFontNumber.nColNumber>16))return console.log(">>>>>yff>>> pFontParam.pstFontNumber row/col num should be greater than 1 and les than 16"),0;if("string"!=typeof _0x31f1db.pFontFamily)return console.log(">>>>>yff>>> pFontParam.pFontFamily is not string"),0;if(!Array.isArray(_0x31f1db.pFontString)||_0x31f1db.pFontString.length>9)return console.log(">>>>>yff>>> pFontParam.pFontString is not array, pFontParam.pFontString.length:"+_0x31f1db.pFontString.length),0;if(0!=_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode&&1!=_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode&&2!=_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode)return console.log(">>>>>yff>>> pFontParam.pstCanvasAdapt.nCanvasAdaptMode:(0,1,2)"+_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode),0;if(1==_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode&&(null==_0x31f1db.pstCanvasAdapt.nRowSpace||null==_0x31f1db.pstCanvasAdapt.nColSpace||_0x31f1db.pstCanvasAdapt.nRowSpace<0||_0x31f1db.pstCanvasAdapt.nColSpace<0))return console.log(">>>>>yff>>> nCanvasAdaptMode is 1, nRowSpace:"+_0x31f1db.pstCanvasAdapt.nRowSpace+",pFontParam.pstCanvasAdapt.nColSpace:"+_0x31f1db.pstCanvasAdapt.nColSpace),0;if(2==_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode&&(null==_0x31f1db.pstCanvasAdapt.nBaseCanvasWidth||null==_0x31f1db.pstCanvasAdapt.nBaseCanvasHeight||_0x31f1db.pstCanvasAdapt.nBaseCanvasWidth<0||_0x31f1db.pstCanvasAdapt.nBaseCanvasHeight<0))return console.log(">>>>>yff>>> nCanvasAdaptMode is 2, nBaseCanvasWidth:"+_0x31f1db.pstCanvasAdapt.nBaseCanvasWidth+",pFontParam.pstCanvasAdapt.nBaseCanvasHeight:"+_0x31f1db.pstCanvasAdapt.nBaseCanvasHeight),0;if(0==_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode&&(_0x31f1db.pstCanvasAdapt.ntotalColSpace=0,_0x31f1db.pstCanvasAdapt.ntotalRowSpace=0),1==_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode){var _0x5daf91=_0x31f1db.pstFontRotate.fRotateAngle%360/360*2*Math.PI;if(null==this.waterCanvas&&(this.waterCanvas=document.createElement("canvas"),null!=this.waterCanvas&&(this.waterCanvasCtx=this.waterCanvas.getContext("2d"))),null!=this.waterCanvasCtx){var _0x42293d=Math.min(_0x31f1db.pstFontSize.nFontHeight,_0x31f1db.pstFontSize.nFontWidth);this.waterCanvasCtx.font=_0x42293d.toString()+"px "+_0x31f1db.pFontFamily;for(var _0x1725f8=0,_0xe2c3e2=0;_0xe2c3e2<_0x31f1db.pFontString.length;_0xe2c3e2++){var _0x49602f=this.waterCanvasCtx.measureText(_0x31f1db.pFontString[_0xe2c3e2]).width;_0x1725f8=_0x1725f8>_0x49602f?_0x1725f8:_0x49602f}var _0x338b8e=_0x31f1db.pSpace*parseInt(this.waterCanvasCtx.font)*_0x31f1db.pFontString.length;_0x31f1db.pstCanvasAdapt.ntotalColSpace=_0x31f1db.pstCanvasAdapt.nColSpace+Math.abs(_0x1725f8*Math.cos(_0x5daf91))+Math.abs(_0x338b8e*Math.sin(_0x5daf91)),_0x31f1db.pstCanvasAdapt.ntotalRowSpace=_0x31f1db.pstCanvasAdapt.nRowSpace+Math.abs(_0x338b8e*Math.cos(_0x5daf91))+Math.abs(_0x1725f8*Math.sin(_0x5daf91)),(_0x31f1db.pstCanvasAdapt.ntotalColSpace<0||_0x31f1db.pstCanvasAdapt.ntotalRowSpace<0)&&(_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode=0)}}2==_0x31f1db.pstCanvasAdapt.nCanvasAdaptMode&&(_0x31f1db.pstCanvasAdapt.ntotalRowSpace=0,_0x31f1db.pstCanvasAdapt.ntotalColSpace=0),(_0x31f1db.pstFontSize.nFontHeight<=0||_0x31f1db.pstFontSize.nFontWidth<=0)&&(_0x31f1db=null)}return this.waterFontParam=_0x31f1db,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetWaterMarkFont this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetWaterMarkFont(_0x31f1db):this.oJSPlayerObj.PlayM4_SetWaterMarkFont(_0x31f1db)}},{key:"JSPlayM4_SetWaterMarkImage",value:function(_0x5b72c6){if(!("ImageDecoder"in window))return console.log(">>>>>yff>>> window not support ImageDecoder"),16;if(null!=_0x5b72c6){if(void 0===_0x5b72c6.pImageData)return console.log(">>>>>yff>>> JSPlayM4_SetWaterMarkImage pImageParam.pImageData undefined"),0;if(void 0===_0x5b72c6.pImageType||"jpg"!=_0x5b72c6.pImageType&&"jpeg"!=_0x5b72c6.pImageType&&"png"!=_0x5b72c6.pImageType&&"gif"!=_0x5b72c6.pImageType&&"bmp"!=_0x5b72c6.pImageType&&"webp"!=_0x5b72c6.pImageType&&"avif"!=_0x5b72c6.pImageType)return console.log(">>>>>yff>>> JSPlayM4_SetWaterMarkImage pImageParam.pImageType:"+_0x5b72c6.pImageType+" error"),0;(void 0===_0x5b72c6.pstRectPos||_0x5b72c6.pstRectPos.fLeft<0||_0x5b72c6.pstRectPos.fLeft>1||_0x5b72c6.pstRectPos.fRight<0||_0x5b72c6.pstRectPos.fRight>1||_0x5b72c6.pstRectPos.fTop<0||_0x5b72c6.pstRectPos.fTop>1||_0x5b72c6.pstRectPos.fBottom<0||_0x5b72c6.pstRectPos.fBottom>1)&&(_0x5b72c6.pstRectPos={fLeft:0,fRight:.1,fTop:0,fBottom:.1}),(void 0===_0x5b72c6.fAlpha||_0x5b72c6.fAlpha<0||_0x5b72c6.fAlpha>1)&&(_0x5b72c6.fAlpha=1)}return this.waterImageParam=_0x5b72c6,this.switchingV3toV1?1:null===this.oJSPlayerObj?(console.log(">>>>>yff>>> JSPlayM4_SetWaterMarkImage this.oJSPlayerObj is null"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_SetWaterMarkImage(_0x5b72c6):this.oJSPlayerObj.PlayM4_SetWaterMarkImage(_0x5b72c6)}},{key:"JSPlayM4_InitEncoder",value:function(_0x2e34fe,_0x30ce29){return null==_0x2e34fe||null==_0x2e34fe?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo:"+_0x2e34fe+",encodeAudioInfo:"+_0x30ce29,"color:red"),0):0!==_0x2e34fe.encodeType?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.encodeType(only support 0(H264)):"+_0x2e34fe.encodeType,"color:red"),0):0!=_0x2e34fe.baseTimeStampMode&&1!=_0x2e34fe.baseTimeStampMode?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.baseTimeStampMode(only support 0(start from 0),1(old)):"+_0x2e34fe.baseTimeStampMode,"color:red"),0):0!=_0x2e34fe.encodeWidth&&(_0x2e34fe.encodeWidth>1920||_0x2e34fe.encodeWidth<32)?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.encodeWidth(32x32 to 1920x1088 pixels):"+_0x2e34fe.encodeWidth,"color:red"),0):0!=_0x2e34fe.encodeHeight&&(_0x2e34fe.encodeHeight>1088||_0x2e34fe.encodeHeight<32)?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.encodeWidth(32x32 to 1920x1088 pixels encodeVideoInfo.encodeHeight:"+_0x2e34fe.encodeHeight,"color:red"),0):0!=_0x2e34fe.bitrate&&_0x2e34fe.bitrate<0?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder ncodeVideoInfo.bitrate( need largger than 0):"+_0x2e34fe.bitrate,"color:red"),0):0!=_0x2e34fe.framerate&&_0x2e34fe.framerate<0?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.framerate( need largger than 0):"+_0x2e34fe.framerate,"color:red"),0):0!=_0x2e34fe.bitrateMode&&1!=_0x2e34fe.bitrateMode?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.bitrateMode only support 0(variable) and 1(constant)","color:red"),0):0!=_0x2e34fe.latencyMode&&1!=_0x2e34fe.latencyMode?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.latencyMode only support 0(realtime) and 1(quality)","color:red"),0):(null==_0x2e34fe.getOriginData&&(_0x2e34fe.getOriginData=0),0!=_0x2e34fe.getOriginData&&1!=_0x2e34fe.getOriginData?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeVideoInfo.getOriginData only support 0(crop) and 1(origin)","color:red"),0):null==_0x30ce29||null==_0x30ce29?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeAudioInfo:"+_0x30ce29,"color:red"),0):0!=_0x30ce29.encodeType?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeAudioInfo.encodeType(only support 0(aac)):"+_0x30ce29.encodeType,"color:red"),0):0!=_0x30ce29.sampleRate&&48e3!=_0x30ce29.sampleRate&&44100!=_0x30ce29.sampleRate?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeAudioInfo.sampleRate(only support 48k and 44.1k):"+_0x30ce29.sampleRate,"color:red"),0):0!=_0x30ce29.numberOfChannels&&1!=_0x30ce29.numberOfChannels?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeAudioInfo.numberOfChannels (only support single channel):"+_0x30ce29.numberOfChannels,"color:red"),0):0!=_0x30ce29.bitrate&&128e3!=_0x30ce29.bitrate?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeAudioInfo.bitrate(only support 128000):"+_0x30ce29.bitrate,"color:red"),0):(null==_0x30ce29.recoderAudioAnyWhere&&(_0x30ce29.recoderAudioAnyWhere=0),0!=_0x30ce29.recoderAudioAnyWhere&&1!=_0x30ce29.recoderAudioAnyWhere?(console.log("%cJSPlayerInterface.js JSPlayM4_InitEncoder encodeAudioInfo.recoderAudioAnyWhere(only support 0 and 1):"+_0x30ce29.recoderAudioAnyWhere,"color:red"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_InitEncoder(_0x2e34fe,_0x30ce29):(console.log("%conly hard decoder support recoder,V1 not support (20240801)","color: red"),0)))}},{key:"JSPlayM4_StartEncode",value:function(_0x52c07b,_0x30db0b){return 1===window.g_recorderFlag?(console.log("%conly support one recorder at the same time!","color: red"),0):(window.g_recorderFlag=1,"function"!=typeof _0x52c07b||"function"!=typeof _0x30db0b?(console.log("%cJSPlayM4_StartEncode param need CBfunction videoRawDataFunCB:"+_0x52c07b+",audioRawDataFunCB:"+_0x30db0b,"color: red"),0):this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_StartEncode(_0x52c07b,_0x30db0b):(console.log("%cJSPlayM4_StartEncode only hard decoder support recoder,V1 not support (20240801)","color: red"),0))}},{key:"JSPlayM4_StopEncode",value:function(){return window.g_recorderFlag=0,this.jsplayerVersion>1?this.oJSPlayerObj.JSPlayM4_StopEncode():(console.log("%c JSPlayM4_StopEncode only hard decoder support recoder,V1 not support (20240801)","color: red"),0)}},{key:"_downloadFile",value:function(_0x143880,_0x2679d8){var _0x503eec=_0x143880;_instanceof(_0x143880,Blob)||_instanceof(_0x143880,File)||(_0x503eec=new Blob([_0x143880]));var _0x24feac=window.URL.createObjectURL(_0x503eec),_0x22dbad=window.document.createElement("a");_0x22dbad.href=_0x24feac,_0x22dbad.download=_0x2679d8;var _0x3ec0da=document.createEvent("MouseEvents");_0x3ec0da.initEvent("click",!0,!0),_0x22dbad.dispatchEvent(_0x3ec0da)}},{key:"downloadRTPData",value:function(_0x2d16ee){if(this.bWriteData){var _0x4f26fa=_0x2d16ee,_0x1ddf54=this.aTotalBuffer.length;console.log("totalLength:"+_0x1ddf54);for(var _0x4bc327=0,_0x46f139=_0x4f26fa.length;_0x4bc327<_0x46f139;_0x4bc327++)this.aTotalBuffer[_0x1ddf54+_0x4bc327]=_0x4f26fa[_0x4bc327];this.iFrameNum++,_0x4f26fa=null,console.log("download200RTPdata iFrameNum:"+this.iFrameNum)}}}]),_0x2f0f01}();window._getFExplore=function(){var _0x59b1fa,_0xe1c94e={},_0x1d37e6=navigator.userAgent.toLowerCase();if((_0x59b1fa=_0x1d37e6.match(/rv:([\d.]+)\) like gecko/))||(_0x59b1fa=_0x1d37e6.match(/msie ([\d\.]+)/))?_0xe1c94e.ie=_0x59b1fa[1]:(_0x59b1fa=_0x1d37e6.match(/edge\/([\d\.]+)/))?_0xe1c94e.edge=_0x59b1fa[1]:(_0x59b1fa=_0x1d37e6.match(/firefox\/([\d\.]+)/))?_0xe1c94e.firefox=_0x59b1fa[1]:(_0x59b1fa=_0x1d37e6.match(/(?:opera|opr).([\d\.]+)/))?_0xe1c94e.opera=_0x59b1fa[1]:(_0x59b1fa=_0x1d37e6.match(/chrome\/([\d\.]+)/))?_0xe1c94e.chrome=_0x59b1fa[1]:(_0x59b1fa=_0x1d37e6.match(/version\/([\d\.]+).*safari/))&&(_0xe1c94e.safari=_0x59b1fa[1]),_0xe1c94e.chrome){var _0x3d84aa=_0xe1c94e.chrome,_0xe25475=_0x3d84aa.indexOf(".");return Number(_0x3d84aa.substring(0,_0xe25475))}return _0xe1c94e.ie?console.log("%c1>your browser is IE ,it does not support play without plugin","color: red"):_0xe1c94e.safari?console.log("%c1>your browser is safari ","color: red"):_0xe1c94e.firefox?console.log("%c1>your browser is Firefox ","color: red"):console.log("%c1>your browser does not support play without plugin","color: red"),-1},window._getFSupportWebCodecs=function(){return"undefined"!=typeof VideoDecoder},window._getFSupportSIMD=function(){return new Promise((function(_0xa7fa00,_0x2dbe05){_0x2a0e43().then((function(_0x29ea2b){_0x29ea2b?_0xa7fa00():_0x2dbe05()}))}))},window.gSetWasmPlayerPrintf=function(_0x5e68a0){return window.g_printfFlag=_0x5e68a0,!0}}(),_0x9ccfc9}()}))}(wasmplayer_min,wasmplayer_min.exports);var JSPlayCtrl=wasmplayer_min.exports.JSPlayCtrl;function _construct(Parent,args,Class){return _construct=_is_native_reflect_construct()?Reflect.construct:function(Parent,args,Class){var a=[null];a.push.apply(a,args);var instance=new(Function.bind.apply(Parent,a));return Class&&_set_prototype_of$2(instance,Class.prototype),instance},_construct.apply(null,arguments)}function _set_prototype_of$2(o,p){return _set_prototype_of$2=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_set_prototype_of$2(o,p)}function _is_native_reflect_construct(){try{var result=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(_){}return(_is_native_reflect_construct=function(){return!!result})()}function _inherits$1(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_set_prototype_of$1(subClass,superClass)}function _set_prototype_of$1(o,p){return _set_prototype_of$1=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_set_prototype_of$1(o,p)}var self$1=null,CANVAS=Symbol("CANVAS"),CONTEXT=Symbol("CONTEXT"),SHAPES=Symbol("SHAPES"),DRAWSTATUS=Symbol("DRAWSTATUS"),SHAPETYPE=Symbol("SHAPETYPE"),MAXSHAPENUMSUPPORT=Symbol("MAXSHAPENUMSUPPORT"),SHAPESTYLE=Symbol("SHAPESTYLE"),POLYGONDRAWING=Symbol("POLYGONDRAWING"),CURRENTSHAPEINFO=Symbol("CURRENTSHAPEINFO"),DRAWSHAPEMULTIONETIME=Symbol("DRAWSHAPEMULTIONETIME"),EVENTCALLBACK=Symbol("EVENTCALLBACK");function redraw(){self$1[CONTEXT].clearRect(0,0,self$1.m_iCanvasWidth,self$1.m_iCanvasHeight);for(var i=0,len=self$1[SHAPES].length;i=oShape.m_iMinClosed&&(oShape.m_bClosed=!0,self$1[POLYGONDRAWING]=!1,oShape.setPointInfo(oShape.m_aPoint),addShape(oShape),redraw(),bPainting=!1,self$1[DRAWSHAPEMULTIONETIME]||(self$1[DRAWSTATUS]=!1),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,oShape.m_szType,"onDrawEnd",oShape.m_szId));else if(0===e.button){if(bPainting){if(Math.abs(e.offsetX-iMouseDownX)>2&&Math.abs(e.offsetY-iMouseDownY)>2&&(addShape(oShape),self$1[DRAWSHAPEMULTIONETIME]||(self$1[DRAWSTATUS]=!1)),self$1[EVENTCALLBACK]){var _self_EVENTCALLBACK,oRECT={startPos:[],endPos:[]};oRECT.startPos=[iMouseDownX,iMouseDownY],oRECT.endPos=[e.offsetX,e.offsetY],null==(_self_EVENTCALLBACK=self$1[EVENTCALLBACK])||_self_EVENTCALLBACK.call(self$1,oRECT),self$1.clearAllShape()}return oShape=null,void(bPainting=!1)}if(iMouseDownX=e.offsetX,iMouseDownY=e.offsetY,szStatus="draw",!self$1[POLYGONDRAWING]){var iBoxIndex=getChooseBoxIndex();if(-1!==iBoxIndex&&self$1[SHAPES][iBoxIndex].inArc(e.offsetX,e.offsetY,5)&&(szStatus="stretch"),"stretch"!==szStatus)for(var i=0,iLen=self$1[SHAPES].length;i-1?bPainting&&("drag"===szStatus?(self$1[SHAPES][iBoxIndex].drag(e.offsetX,e.offsetY),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,self$1[SHAPES][iBoxIndex].m_szType,"onDrag",self$1[SHAPES][iBoxIndex].m_szId)):"stretch"===szStatus&&(self$1[SHAPES][iBoxIndex].stretch(e.offsetX,e.offsetY),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,self$1[SHAPES][iBoxIndex].m_szType,"onStretch",self$1[SHAPES][iBoxIndex].m_szId))):self$1[DRAWSTATUS]&&bPainting&&inCanvas.isIn&&("Rect"===self$1[SHAPETYPE]?oShape.move([[iMouseDownX,iMouseDownY],[e.offsetX,e.offsetY]]):"Grid"===self$1[SHAPETYPE]&&self$1[SHAPES][0].move(iMouseDownX,iMouseDownY,e.offsetX,e.offsetY))}},null==(_self_CANVAS3=self$1[CANVAS])||_self_CANVAS3.addEventListener("mousemove",self$1.ON_MOUSEMOVE),self$1.ON_MOUSEUP=function(e){if(self$1[CANVAS].style.cursor="default",null!=oShape&&"draw"===szStatus)if("Rect"===self$1[SHAPETYPE]){if(Math.abs(e.offsetX-iMouseDownX)>2&&Math.abs(e.offsetY-iMouseDownY)>2&&(addShape(oShape),self$1[DRAWSHAPEMULTIONETIME]||(self$1[DRAWSTATUS]=!1)),self$1[EVENTCALLBACK]){var _self_EVENTCALLBACK,oRECT={startPos:[],endPos:[]};oRECT.startPos=[iMouseDownX,iMouseDownY],oRECT.endPos=[e.offsetX,e.offsetY],null==(_self_EVENTCALLBACK=self$1[EVENTCALLBACK])||_self_EVENTCALLBACK.call(self$1,oRECT),self$1.clearAllShape()}oShape=null}else"Polygon"===self$1[SHAPETYPE]&&0===oShape.m_iPolygonType&&self$1[POLYGONDRAWING]&&Math.abs(e.offsetX-iMouseDownX)>2&&Math.abs(e.offsetY-iMouseDownY)>2&&(addShape(oShape),self$1[POLYGONDRAWING]=!1,self$1[DRAWSHAPEMULTIONETIME]||(self$1[DRAWSTATUS]=!1),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,oShape.m_szType,"onDrawEnd",oShape.m_szId));bPainting=!!self$1[POLYGONDRAWING],self$1[POLYGONDRAWING]||redraw()},null==(_self_CANVAS4=self$1[CANVAS])||_self_CANVAS4.addEventListener("mouseup",self$1.ON_MOUSEUP),self$1.ON_DBLCLICK=function(){self$1[DRAWSTATUS]&&"Grid"===self$1[SHAPETYPE]&&(self$1[SHAPES][0].m_szGridMap="fffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffcfffffc",redraw())},self$1[CANVAS].addEventListener("dblclick",self$1.ON_DBLCLICK),self$1.ON_TOUCHSTART=function(e){var _e_touches,viewRect=e.target.getBoundingClientRect();if(null==(_e_touches=e.touches)?void 0:_e_touches[0]){if(iTouchDownX=parseInt(e.touches[0].clientX-viewRect.x)>0?parseInt(e.touches[0].clientX-viewRect.x):0,iTouchDownY=parseInt(e.touches[0].clientY-viewRect.y)>0?parseInt(e.touches[0].clientY-viewRect.y):0,szStatus="draw",self$1[DRAWSTATUS]){if(self$1[MAXSHAPENUMSUPPORT]<=self$1[SHAPES].length&&"Grid"!==self$1[SHAPETYPE]&&"Point"!==self$1[SHAPETYPE])return;"Rect"===self$1[SHAPETYPE]?(oShape=new Rect).m_szTips=self$1[CURRENTSHAPEINFO].szTips||"":"Grid"===self$1[SHAPETYPE]?0===self$1[SHAPES].length&&addShape(oShape=new MotionGrid):"Polygon"===self$1[SHAPETYPE]?(self$1[POLYGONDRAWING]||(self$1[POLYGONDRAWING]=!0,(oShape=new Polygon).m_szId=self$1[CURRENTSHAPEINFO].szId||"",oShape.m_szTips=self$1[CURRENTSHAPEINFO].szTips||"",oShape.m_iMinClosed=self$1[CURRENTSHAPEINFO].iMinClosed||3,oShape.m_iMaxPointNum=self$1[CURRENTSHAPEINFO].iMaxPointNum||11,oShape.m_iPolygonType=self$1[CURRENTSHAPEINFO].iPolygonType,oShape.m_szDrawColor=self$1[CURRENTSHAPEINFO].szDrawColor,oShape.m_szFillColor=self$1[CURRENTSHAPEINFO].szFillColor,oShape.m_iTranslucent=self$1[CURRENTSHAPEINFO].iTranslucent,oShape.m_iRedrawMode=self$1[CURRENTSHAPEINFO].iRedrawMode),1===oShape.m_iPolygonType&&(oShape.addPoint(iTouchDownX,iTouchDownY),oShape.m_aPoint.length===oShape.m_iMaxPointNum&&(oShape.m_bClosed=!0,self$1[POLYGONDRAWING]=!1,addShape(oShape),redraw(),bPainting=!1,self$1[DRAWSHAPEMULTIONETIME]||(self$1[DRAWSTATUS]=!1),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,oShape.m_szType,"onDrawEnd",oShape.m_szId)))):"Point"===self$1[SHAPETYPE]&&(self$1.clearShapeByType("Point"),(oShape=new Point).m_szId=self$1[CURRENTSHAPEINFO].szId||"",oShape.m_szDrawColor=self$1[CURRENTSHAPEINFO].szDrawColor,oShape.setPointInfo([[iTouchDownX,iTouchDownY]]),addShape(oShape),redraw())}bPainting=!0}},null==(_self_CANVAS5=self$1[CANVAS])||_self_CANVAS5.addEventListener("touchstart",self$1.ON_TOUCHSTART),self$1.ON_TOUCHMOVE=function(e){var _e_touches,viewRect=e.target.getBoundingClientRect();if(null==(_e_touches=e.touches)?void 0:_e_touches[0])if(iTouchUpX=parseInt(e.touches[0].clientX-viewRect.x)>0?parseInt(e.touches[0].clientX-viewRect.x):0,iTouchUpY=parseInt(e.touches[0].clientY-viewRect.y)>0?parseInt(e.touches[0].clientY-viewRect.y):0,self$1[POLYGONDRAWING])self$1[DRAWSTATUS]&&bPainting&&("Polygon"===self$1[SHAPETYPE]&&0===oShape.m_iPolygonType&&(oShape.m_bClosed=!0),redraw(),oShape.move(e.touches[0].offsetX,e.touches[0].offsetY,iTouchDownX,iTouchDownY));else{var iBoxIndex=getChooseBoxIndex();iBoxIndex>-1?bPainting&&("drag"===szStatus?(self$1[SHAPES][iBoxIndex].drag(iTouchUpX,iTouchUpY),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,self$1[SHAPES][iBoxIndex].m_szType,"onDrag",self$1[SHAPES][iBoxIndex].m_szId)):"stretch"===szStatus&&(self$1[SHAPES][iBoxIndex].stretch(iTouchUpX,iTouchUpY),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,self$1[SHAPES][iBoxIndex].m_szType,"onStretch",self$1[SHAPES][iBoxIndex].m_szId))):self$1[DRAWSTATUS]&&bPainting&&("Rect"===self$1[SHAPETYPE]?oShape.move([[2*iTouchDownX,2*iTouchDownY],[2*iTouchUpX,2*iTouchUpY]]):"Grid"===self$1[SHAPETYPE]&&self$1[SHAPES][0].move(iTouchDownX,iTouchDownY,iTouchUpX,iTouchUpY))}},null==(_self_CANVAS6=self$1[CANVAS])||_self_CANVAS6.addEventListener("touchmove",self$1.ON_TOUCHMOVE),self$1.ON_TOUCHEND=function(e){if(iTouchDownX!=iTouchUpX||iTouchDownY!=iTouchUpY){if(self$1[CANVAS].style.cursor="default",null!=oShape&&"draw"===szStatus)if("Rect"===self$1[SHAPETYPE]){if(Math.abs(iTouchUpX-iTouchDownX)>2&&Math.abs(iTouchUpY-iTouchDownY)>2&&(addShape(oShape),self$1[DRAWSHAPEMULTIONETIME]||(self$1[DRAWSTATUS]=!1)),self$1[EVENTCALLBACK]&&Math.abs(iTouchUpX-iTouchDownX)>15&&Math.abs(iTouchUpY-iTouchDownY)>15){var _self_EVENTCALLBACK,oRECT={startPos:[],endPos:[]};oRECT.startPos=[iTouchDownX,iTouchDownY],oRECT.endPos=[iTouchUpX,iTouchUpY],null==(_self_EVENTCALLBACK=self$1[EVENTCALLBACK])||_self_EVENTCALLBACK.call(self$1,oRECT)}self$1.clearAllShape(),oShape=null}else"Polygon"===self$1[SHAPETYPE]&&0===oShape.m_iPolygonType&&self$1[POLYGONDRAWING]&&Math.abs(iTouchUpX-iTouchDownX)>2&&Math.abs(iTouchUpY-iTouchDownY)>2&&(addShape(oShape),self$1[POLYGONDRAWING]=!1,self$1[DRAWSHAPEMULTIONETIME]||(self$1[DRAWSTATUS]=!1),null==window.onDrawShapeEvent||window.onDrawShapeEvent.call(window,oShape.m_szType,"onDrawEnd",oShape.m_szId));bPainting=!!self$1[POLYGONDRAWING],self$1[POLYGONDRAWING]||redraw()}},self$1[CANVAS].addEventListener("touchend",self$1.ON_TOUCHEND)}function removeEvent(){var _self_CANVAS,_self_CANVAS1,_self_CANVAS2,_self_CANVAS3,_self_CANVAS4,_self_CANVAS5,_self_CANVAS6,_self_CANVAS7,_self_CANVAS8;self$1.ON_MOUSEDOWN&&(null==(_self_CANVAS=self$1[CANVAS])||_self_CANVAS.removeEventListener("mousedown",self$1.ON_MOUSEDOWN),self$1.ON_MOUSEDOWN=null),self$1.ON_MOUSEENTER&&(null==(_self_CANVAS1=self$1[CANVAS])||_self_CANVAS1.removeEventListener("mouseenter",self$1.ON_MOUSEENTER),self$1.ON_MOUSEENTER=null),self$1.ON_MOUSELEAVE&&(null==(_self_CANVAS2=self$1[CANVAS])||_self_CANVAS2.removeEventListener("mouseleave",self$1.ON_MOUSELEAVE),self$1.ON_MOUSELEAVE=null),self$1.ON_MOUSEMOVE&&(null==(_self_CANVAS3=self$1[CANVAS])||_self_CANVAS3.removeEventListener("mousemove",self$1.ON_MOUSEMOVE),self$1.ON_MOUSEMOVE=null),self$1.ON_MOUSEUP&&(null==(_self_CANVAS4=self$1[CANVAS])||_self_CANVAS4.removeEventListener("mouseup",self$1.ON_MOUSEUP),self$1.ON_MOUSEUP=null),self$1.ON_DBLCLICK&&(null==(_self_CANVAS5=self$1[CANVAS])||_self_CANVAS5.removeEventListener("dblclick",self$1.ON_DBLCLICK),self$1.ON_DBLCLICK=null),self$1.ON_TOUCHSTART&&(null==(_self_CANVAS6=self$1[CANVAS])||_self_CANVAS6.removeEventListener("touchstart",self$1.ON_TOUCHSTART),self$1.ON_TOUCHSTART=null),self$1.ON_TOUCHMOVE&&(null==(_self_CANVAS7=self$1[CANVAS])||_self_CANVAS7.removeEventListener("touchmove",self$1.ON_TOUCHMOVE),self$1.ON_TOUCHMOVE=null),self$1.ON_TOUCHEND&&(null==(_self_CANVAS8=self$1[CANVAS])||_self_CANVAS8.removeEventListener("touchend",self$1.ON_TOUCHEND),self$1.ON_TOUCHEND=null)}var Shape=function(){function Shape(){this.m_szId="",this.m_aPoint=[],this.m_bChoosed=!1,this.m_szDrawColor=self$1[SHAPESTYLE].szDrawColor,this.m_szFillColor=self$1[SHAPESTYLE].szFillColor,this.m_iTranslucent=self$1[SHAPESTYLE].iTranslucent,this.m_iIndexChoosePoint=-1,this.m_iDriftStartX=0,this.m_iDriftStartY=0,this.m_oEdgePoints={top:{x:0,y:0},left:{x:0,y:0},right:{x:0,y:0},bottom:{x:0,y:0}},this.m_szTips="",this.m_iEditType=0,this.m_iMinClosed=3,this.m_iMaxPointNum=11,this.m_bClosed=!1,this.m_iRedrawMode=0}var _proto=Shape.prototype;return _proto.draw=function(){},_proto.drag=function(iPointX,iPointY){if(2!==this.m_iEditType){var iLength=this.m_aPoint.length,i=0;for(i=0;iself$1.m_iCanvasWidth||this.m_aPoint[i][1]+iPointY-this.m_iDriftStartY>self$1.m_iCanvasHeight||this.m_aPoint[i][0]+iPointX-this.m_iDriftStartX<0||this.m_aPoint[i][1]+iPointY-this.m_iDriftStartY<0)return this.m_iDriftStartX=iPointX,void(this.m_iDriftStartY=iPointY);for(i=0;iiPointY!=this.m_aPoint[j][1]>iPointY&&iPointX<(this.m_aPoint[j][0]-this.m_aPoint[i][0])*(iPointY-this.m_aPoint[i][1])/(this.m_aPoint[j][1]-this.m_aPoint[i][1])+this.m_aPoint[i][0]&&(bRet=!bRet);return bRet},_proto.inArc=function(iPointX,iPointY,iRadius){for(var bRet=!1,i=0,iLen=this.m_aPoint.length;i0&&(this.m_aPoint=aPoint,this.setEdgePoints(aPoint))},_proto.addPoint=function(iMouseDownX,iMouseDownY){this.m_aPoint.lengththis.m_oEdgePoints.right.x&&(this.m_oEdgePoints.right.x=aPoint[i][0],this.m_oEdgePoints.right.y=aPoint[i][1]),aPoint[i][1]>this.m_oEdgePoints.bottom.y&&(this.m_oEdgePoints.bottom.x=aPoint[i][0],this.m_oEdgePoints.bottom.y=aPoint[i][1]),aPoint[i][0]aPoint[i][0]&&(iStartX=aPoint[i][0]),iStartY>aPoint[i][1]&&(iStartY=aPoint[i][1]),iEndXthis.m_aPoint[3][0]&&iPointYthis.m_aPoint[0][0]&&(this.m_aPoint[1][0]=iPointX,this.m_aPoint[2][0]=iPointX):5===this.m_iIndexChoosePoint?iPointXthis.m_aPoint[1][1]&&(this.m_aPoint[3][0]=iPointX,this.m_aPoint[3][1]=iPointY,this.m_aPoint[0][0]=iPointX,this.m_aPoint[2][1]=iPointY):6===this.m_iIndexChoosePoint?iPointY>this.m_aPoint[1][1]&&(this.m_aPoint[2][1]=iPointY,this.m_aPoint[3][1]=iPointY):7===this.m_iIndexChoosePoint&&iPointX>this.m_aPoint[0][0]&&iPointY>this.m_aPoint[0][1]&&(this.m_aPoint[2][0]=iPointX,this.m_aPoint[2][1]=iPointY,this.m_aPoint[1][0]=iPointX,this.m_aPoint[3][1]=iPointY),redraw())},_proto.move=function(aPoint){redraw(),this.m_bChoosed=!0;var iStartX=aPoint[0][0],iStartY=aPoint[0][1],iEndX=aPoint[1][0],iEndY=aPoint[1][1];this.setPointInfo([[iStartX,iStartY],[iEndX,iStartY],[iEndX,iEndY],[iStartX,iEndY]]),this.draw()},_proto.inArc=function(iPointX,iPointY,iRadius){for(var iStartX=this.m_aPoint[0][0],iStartY=this.m_aPoint[0][1],iWidth=this.m_aPoint[2][0]-iStartX,iHeight=this.m_aPoint[2][1]-iStartY,iHalfWidth=Math.round(iWidth/2),iHalfHeight=Math.round(iHeight/2),aPointX=[iStartX,iStartX+iHalfWidth,iStartX+iWidth,iStartX,iStartX+iWidth,iStartX,iStartX+iHalfWidth,iStartX+iWidth],aPointY=[iStartY,iStartY,iStartY,iStartY+iHalfHeight,iStartY+iHalfHeight,iStartY+iHeight,iStartY+iHeight,iStartY+iHeight],i=0;i<8;i++)if(Math.sqrt((iPointX-aPointX[i])*(iPointX-aPointX[i])+(iPointY-aPointY[i])*(iPointY-aPointY[i]))self$1.m_iCanvasHeight||this.m_aPoint[i][0]+iPointX-this.m_iDriftStartX<0||this.m_aPoint[i][1]+iPointY-this.m_iDriftStartY<0)return this.m_iDriftStartX=iPointX,void(this.m_iDriftStartY=iPointY);for(i=0;iself$1.m_iCanvasHeight||this.m_aPoint[i][1]+iPointY-this.m_iDriftStartY<0)return this.m_iDriftStartX=iPointX,void(this.m_iDriftStartY=iPointY);for(i=0;i0?1:-1,iCoefficientY=iMouseMoveY-iMouseDownY>0?1:-1;for(var aAddGridMap=[],i=0;i=iStartY&&i<=iStartY+iRectRowNum&&j>=iStartX&&j<=iStartX+iRectColNum?1:0:i<=iStartY&&i>=iStartY-iRectRowNum&&j>=iStartX&&j<=iStartX+iRectColNum?1:0:1===iCoefficientY?i>=iStartY&&i<=iStartY+iRectRowNum&&j<=iStartX&&j>=iStartX-iRectColNum?1:0:i<=iStartY&&i>=iStartY-iRectRowNum&&j<=iStartX&&j>=iStartX-iRectColNum?1:0}this.m_aAddGridMap=aAddGridMap,this.draw()},MotionGrid}(Shape),Line=function(Shape){function Line(){var _this;return(_this=Shape.call(this)||this).m_szType="Line",_this.m_iLineType=0,_this.m_iDirection=0,_this.m_iArrowType=0,_this.m_aCrossArrowPoint=[],_this}_inherits$1(Line,Shape);var _proto=Line.prototype;return _proto.draw=function(){0===this.m_iLineType?this.drawNormalLine():1===this.m_iLineType?this.drawArrowLine():3===this.m_iLineType?this.drawCrossLine():4===this.m_iLineType&&this.drawLineCount()},_proto.drawNormalLine=function(){if(self$1[CONTEXT].globalAlpha=1,this.m_aPoint.length>0){self$1[CONTEXT].beginPath(),self$1[CONTEXT].strokeStyle=this.m_szDrawColor,self$1[CONTEXT].lineWidth=2,self$1[CONTEXT].moveTo(this.m_aPoint[0][0],this.m_aPoint[0][1]);for(var i=1,iLen=this.m_aPoint.length;iaPoint[i][0]&&(iStartX=aPoint[i][0]),iStartY>aPoint[i][1]&&(iStartY=aPoint[i][1]),iEndX0){self$1[CONTEXT].fillStyle=this.m_szFillColor,self$1[CONTEXT].strokeStyle=this.m_szDrawColor,self$1[CONTEXT].globalAlpha=1;var i=0,iLen=0;if(this.m_bChoosed)for(i=0,iLen=this.m_aPoint.length;i0){self$1[CONTEXT].fillStyle=this.m_szFillColor,self$1[CONTEXT].strokeStyle=this.m_szDrawColor,self$1[CONTEXT].globalAlpha=1;var i=0,iLen=0;for(i=0,iLen=this.m_aPoint.length;ithis.m_aPoint[3][0]&&iPointYthis.m_aPoint[0][0]&&iPointY>this.m_aPoint[0][1]&&(this.m_aPoint[2][0]=iPointX,this.m_aPoint[2][1]=iPointY,this.m_aPoint[1][0]=iPointX,this.m_aPoint[3][1]=iPointY):3===this.m_iIndexChoosePoint&&iPointXthis.m_aPoint[1][1]&&(this.m_aPoint[3][0]=iPointX,this.m_aPoint[3][1]=iPointY,this.m_aPoint[0][0]=iPointX,this.m_aPoint[2][1]=iPointY),this.setPointInfo(this.m_aPoint),redraw())},Polygon}(Shape),Point=function(Shape){function Point(){var _this;return(_this=Shape.call(this)||this).m_szType="Point",_this.m_szId="",_this}_inherits$1(Point,Shape);var _proto=Point.prototype;return _proto.draw=function(){self$1[CONTEXT].beginPath(),self$1[CONTEXT].fillStyle=this.m_szDrawColor,self$1[CONTEXT].globalAlpha=1,self$1[CONTEXT].arc(this.m_aPoint[0][0],this.m_aPoint[0][1],10,0,2*Math.PI,!0),self$1[CONTEXT].closePath(),self$1[CONTEXT].fill()},_proto.drag=function(){},_proto.stretch=function(){},Point}(Shape),ESCanvas=function(){function ESCanvas(container){self$1=this,this[CANVAS]=document.createElement("canvas"),this[CANVAS].width=container.clientWidth,this[CANVAS].height=container.clientHeight,container.appendChild(this[CANVAS]),this[CANVAS].style.cssText="position: absolute; width: 100%; height: 100%; left: 0; top: 0;z-index: 1; border: 0; outline: none;",this[CANVAS].classList.add("ezplayer-3d_draw"),this[CONTEXT]=this[CANVAS].getContext("2d"),this[SHAPES]=[],this[DRAWSTATUS]=!1,this[SHAPETYPE]="Rect",this[MAXSHAPENUMSUPPORT]=10,this[DRAWSHAPEMULTIONETIME]=!0,this[CURRENTSHAPEINFO]={},this[EVENTCALLBACK]=null,this[SHAPESTYLE]={szDrawColor:"#ff0000",szFillColor:"#343434",iTranslucent:.7},this[POLYGONDRAWING]=!1,this.m_iCanvasWidth=this[CANVAS].clientWidth,this.m_iCanvasHeight=this[CANVAS].clientHeight,this.m_iHorizontalResolution=0,this.m_iVerticalResolution=0,this.m_szDisplayMode="",this.m_szVideoFormat="",initEvent(),this[SHAPES].length=0}var _proto=ESCanvas.prototype;return _proto.setDrawMutiShapeOneTime=function(bDrawMuti){this[DRAWSHAPEMULTIONETIME]=bDrawMuti},_proto.setMaxShapeSupport=function(iMax){this[MAXSHAPENUMSUPPORT]=iMax},_proto.getMaxShapeSupport=function(){return this[MAXSHAPENUMSUPPORT]},_proto.setDrawStatus=function(bDrawStatus,cbCallback){this[DRAWSTATUS]=bDrawStatus,cbCallback&&bDrawStatus&&(this[EVENTCALLBACK]=cbCallback),bDrawStatus||(this[EVENTCALLBACK]=null,removeEvent())},_proto.setShapeType=function(szType){this[SHAPETYPE]=szType,redraw()},_proto.setCurrentShapeInfo=function(oShapeInfo){this[CURRENTSHAPEINFO]=oShapeInfo||{szId:"",szTips:"",iMinClosed:3,iMaxPointNum:11,iPolygonType:1,iRedrawMode:0}},_proto.getShapeType=function(){return this[SHAPETYPE]},_proto.getAllShapesInfo=function(){for(var aShape=[],i=0,iLen=this[SHAPES].length;i0)for(var i=0;i0&&iHeight>0&&(this.m_iCanvasWidth=iWidth,this.m_iCanvasHeight=iHeight,redraw())},_proto.setDrawStyle=function(szBorderColor,szFillColor,iTranslucent){this[SHAPESTYLE]={szDrawColor:szBorderColor,szFillColor:szFillColor,iTranslucent:iTranslucent}},_proto.clearAllShape=function(){this[SHAPES].length=0,self$1[POLYGONDRAWING]=!1,redraw()},_proto.clearShapeByType=function(szType){for(var i=this[SHAPES].length;i>0;i--)this[SHAPES][i-1].m_szType===szType&&("Grid"===szType?(this[SHAPES][i-1].m_szGridMap="",this[SHAPES][i-1].m_aAddGridMap=[]):this[SHAPES].splice(i-1,1));"Polygon"===szType&&(self$1[POLYGONDRAWING]=!1),redraw()},_proto.deleteShape=function(iShapeIndex){this[SHAPES].length>iShapeIndex&&this[SHAPES].splice(iShapeIndex,1),redraw()},_proto.updateCanvas=function(szCanvasId){this[CANVAS]=document.getElementById(szCanvasId),this[CONTEXT]=this[CANVAS].getContext("2d"),this.m_iCanvasWidth=this[CANVAS].clientWidth,this.m_iCanvasHeight=this[CANVAS].clientHeight,initEvent()},_proto.resizeCanvas=function(){this.m_iCanvasWidth=this[CANVAS].clientWidth,this.m_iCanvasHeight=this[CANVAS].clientHeight},_proto.canvasRedraw=function(){redraw()},_proto.resize=function(width,height){this[CANVAS].width=width,this[CANVAS].height=height,this.resizeCanvas(width,height)},_proto.destroy=function(){this[CANVAS]&&this[CANVAS].remove(),this[CANVAS]=null,this[CONTEXT]=null,this[SHAPES]=[],this[SHAPESTYLE]={},this[POLYGONDRAWING]=!1,this.m_iCanvasWidth=0,this.m_iCanvasHeight=0},ESCanvas}();function _disable3DZoom(player){return player.esCanvas&&(player.esCanvas.setDrawStatus(!1),player.esCanvas.destroy(),player.esCanvas=null,player.__fCallback=null,player.__b3DZoom=!1),0}function isEmpty(param){return null==param||""===param}function _type_of(obj){return obj&&"undefined"!=typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj}var _global="object"===("undefined"==typeof window?"undefined":_type_of(window))&&window.window===window?window:"object"===("undefined"==typeof self?"undefined":_type_of(self))&&self.self===self?self:"object"===(void 0===commonjsGlobal?"undefined":_type_of(commonjsGlobal))&&commonjsGlobal.global===commonjsGlobal?commonjsGlobal:void 0;function download(url,name,opts){var xhr=new XMLHttpRequest;xhr.open("GET",url),xhr.responseType="blob",xhr.onload=function(){saveAs(xhr.response,name,opts)},xhr.onerror=function(){},xhr.send()}function corsEnabled(url){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,!1);try{xhr.send()}catch(e){}return xhr.status>=200&&xhr.status<=299}function click(node){try{node.dispatchEvent(new MouseEvent("click"))}catch(e){var evt=document.createEvent("MouseEvents");evt.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),node.dispatchEvent(evt)}}var isMacOSWebView=_global.navigator&&navigator.userAgent.includes("Macintosh")&&navigator.userAgent.includes("AppleWebKit")&&!navigator.userAgent.includes("Safari"),saveAs="object"!==("undefined"==typeof window?"undefined":_type_of(window))||window!==_global?function(){}:"download"in HTMLAnchorElement.prototype&&!isMacOSWebView?function(blob,name,opts){var URL=_global.URL||_global.webkitURL,a=document.createElementNS("http://www.w3.org/1999/xhtml","a");name=name||blob.name||"download",a.download=name,a.rel="noopener","string"==typeof blob?(a.href=blob,a.origin!==location.origin?corsEnabled(a.href)?download(blob,name,opts):click(a,a.target="_blank"):click(a)):(a.href=URL.createObjectURL(blob),setTimeout((function(){URL.revokeObjectURL(a.href)}),4e4),setTimeout((function(){click(a)}),0))}:"msSaveOrOpenBlob"in navigator?function(blob,name,opts){if(name=name||blob.name||"download","string"==typeof blob)if(corsEnabled(blob))download(blob,name,opts);else{var a=document.createElement("a");a.href=blob,a.target="_blank",setTimeout((function(){click(a)}))}else navigator.msSaveOrOpenBlob(function(blob,opts){return void 0===opts?opts={autoBom:!1}:"object"!==(void 0===opts?"undefined":_type_of(opts))&&(opts={autoBom:!opts}),opts.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)?new Blob([String.fromCharCode(65279),blob],{type:blob.type}):blob}(blob,opts),name)}:function(blob,name,opts,popup){if((popup=popup||open("","_blank"))&&(popup.document.title=popup.document.body.innerText="downloading..."),"string"==typeof blob)return download(blob,name,opts);var force="application/octet-stream"===blob.type,isSafari=/constructor/i.test(_global.HTMLElement)||_global.safari,isChromeIOS=/CriOS\/[\d]+/.test(navigator.userAgent);if((isChromeIOS||force&&isSafari||isMacOSWebView)&&"undefined"!=typeof FileReader){var reader=new FileReader;reader.onloadend=function(){var url=reader.result;url=isChromeIOS?url:url.replace(/^data:[^;]*;/,"data:attachment/file;"),popup?popup.location.href=url:location=url,popup=null},reader.readAsDataURL(blob)}else{var URL=_global.URL||_global.webkitURL,url=URL.createObjectURL(blob);popup?popup.location=url:location.href=url,popup=null,setTimeout((function(){URL.revokeObjectURL(url)}),4e4)}};function _snapshot(player,name,fmt,type,download,emit,canCanvas){return void 0===fmt&&(fmt="jpeg"),void 0===emit&&(emit=!0),void 0===canCanvas&&(canCanvas=!1),fmt="jpeg",name=(isEmpty(name)?(new Date).getTime():name)+"."+fmt,new Promise((function(resolve,_reject){canCanvas?_snapshotByCanvas(player,name,fmt,download,emit).then((function(res){0===(null==res?void 0:res.code)&&resolve(res)})):1!=+player.wasmplayer.JSPlayM4_GetJPEG((function(jpegData){!function(jpegData){if(jpegData){var base64Str=function(buffer){for(var arr=new Uint8Array(buffer),str="",i=0;i0&&(list[0].startTime=start.valueOf(),list[list.length-1].endTime=end.valueOf()),list}function _doRelease(player){var wasmplayer=player.wasmplayer;wasmplayer&&wasmplayer.JSPlayM4_CloseStream(),player.playing=!1}function _extends$3(){return _extends$3=Object.assign||function(target){for(var i=1;i-24?timeZone=Math.round(timeZone):(timeZone=0,player.logger.warn("timeZone时区参数错误,取值范围为-23~23"));var startTime=dayjs(wsBegin).add(timeZone,"hour"),endTime=hasEndTime?dayjs(wsEnd).add(timeZone,"hour"):dayjs(dayjs(startTime).format("YYYYMMDD 23:59:59"));startTime>=endTime&&(endTime=dayjs(dayjs(startTime).format("YYYYMMDD 23:59:59")),player.logger.warn("End time greater than or equal to start time"));var _player_urlInfo_searchParams1,time2,day1,day2;return realUrl=(realUrl=realUrl.replace("&begin="+getQueryString("begin",realUrl),""))+"&begin="+startTime.format("YYYYMMDDTHHmmss")+"Z",time2=endTime,day1=dayjs(startTime).startOf("day"),day2=dayjs(time2).startOf("day"),!day1.isSame(day2)&&"cloud"===player.urlInfo.recType&&(endTime=dayjs(dayjs(startTime).format("YYYYMMDD 23:59:59")),player.logger.warn("The start and end times have crossed days")),realUrl=(realUrl=realUrl.replace("&end="+getQueryString("end",realUrl),""))+"&end="+endTime.format("YYYYMMDDTHHmmss")+"Z",getQueryString("stream",realUrl)||(realUrl=realUrl.replace("stream","&stream")),"cloud"===player.urlInfo.recType&&"7"===(null==(_player_urlInfo_searchParams=player.urlInfo.searchParams)?void 0:_player_urlInfo_searchParams.busType)?function(player,body){return new Promise((function(resolve,reject){player.service.getRecordCloudVideoByTime(body).then((function(res){player.emit(EVENT_TYPE.NETWORK.videoFragmentFiles,__ReturnEventResult(res.data||[],"云录制录像信息查询","RecordCloud")),resolve(res)})).catch((function(err){player.emit(EVENT_TYPE.NETWORK.error.error,__ReturnEventResult(err)),player.emit(EVENT_TYPE.NETWORK.error.videoFragmentFiles,__ReturnEventResult(err)),reject(err)}))}))}(player,{channelNo:player.urlInfo.channelNo,startTime:dayjs(dayjs(startTime).format("YYYY-MM-DD 00:00:00")).valueOf(),endTime:dayjs(dayjs(endTime).format("YYYY-MM-DD 23:59:59")).valueOf(),spaceId:null==(_player_urlInfo_searchParams1=player.urlInfo.searchParams)?void 0:_player_urlInfo_searchParams1.spaceId}).then((function(res){var wsEndTime=endTime;res.data.length>0&&dayjs(res.data[res.data.length-1].endTime)0&&dayjs(res.data[res.data.length-1].endTime)0&&(pstRuntimeInfo.nFrameNumInterval&&(frameLossNum+=pstRuntimeInfo.nFrameNumInterval),now-lastEmitTime_fra>=3e3&&(player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.stutterDetectedCallback,data:{type:1,frameNumInterval:pstRuntimeInfo.nFrameNum-indexFrameNum,frameLossNum:frameLossNum}})),indexFrameNum=pstRuntimeInfo.nFrameNum,lastEmitTime_fra=now,frameLossNum=0),player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.stutterDetectedCallback,data:{type:1,pstRuntimeInfo:pstRuntimeInfo,errorTime:dayjs(_errorTime||(null==player||null==(_player_urlInfo=player.urlInfo)||null==(_player_urlInfo_searchParams=_player_urlInfo.searchParams)?void 0:_player_urlInfo_searchParams.begin)||dayjs().format("YYYYMMDD000000"))}}))),352321537===pstRuntimeInfo.nErrorCode&&(flag>0&&pstRuntimeInfo.nAverageDecodeTime&&(averageDecodeTime+=Math.floor(pstRuntimeInfo.nAverageDecodeTime),account++),now-lastEmitTime_ave>=1e3&&(flag>0?(player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.stutterDetectedCallback,data:{type:2,runtimeInfo:pstRuntimeInfo,averageDecodeTime:averageDecodeTime,account:account}})),averageDecodeTime=0,account=0):flag++,lastEmitTime_ave=now)),262144===pstRuntimeInfo.nErrorCode&&player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.stutterDetectedCallback,data:{type:4,pstRuntimeInfo:pstRuntimeInfo,errorTime:dayjs(_errorTime||(null==player||null==(_player_urlInfo1=player.urlInfo)||null==(_player_urlInfo_searchParams1=_player_urlInfo1.searchParams)?void 0:_player_urlInfo_searchParams1.begin)||dayjs().format("YYYYMMDD000000"))}})),player){var _player_urlInfo_searchParams2,_player_urlInfo2,osdTime=player.getOSDTime();_errorTime=_errorTime||(Number.isNaN(osdTime)?0:1e3*osdTime),player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.setRunTimeInfoCallBack,data:{pstRuntimeInfo:pstRuntimeInfo,errorTime:dayjs(_errorTime||(null==player||null==(_player_urlInfo2=player.urlInfo)||null==(_player_urlInfo_searchParams2=_player_urlInfo2.searchParams)?void 0:_player_urlInfo_searchParams2.begin)||dayjs().format("YYYYMMDD000000"))}})),_errorTime=0}}));var flag=-3,account=0,averageDecodeTime=0,frameLossNum=0,indexFrameNum=0,lastEmitTime_ave=0,lastEmitTime_fra=0;function handleAdditionInfo(pstAddDataInfo){var labelMap={};if(pstAddDataInfo)for(var iCurrentIndex=48,index=0;index<1500&&!(iCurrentIndex+28>pstAddDataInfo.additionDataBuffer.length);index++){var label={id:-1,x:0,y:0,type:0,viewAngleH:0,viewAngleV:0,r:0,r_max:0,north:0,res0:0,res1:0,res2:0};label.id=parseInt(pstAddDataInfo.additionDataBuffer[iCurrentIndex])>244?parseInt(pstAddDataInfo.additionDataBuffer[iCurrentIndex])+256:parseInt(pstAddDataInfo.additionDataBuffer[iCurrentIndex]),label.x=pstAddDataInfo.additionDataBuffer[iCurrentIndex+2],label.y=pstAddDataInfo.additionDataBuffer[iCurrentIndex+4],label.type=pstAddDataInfo.additionDataBuffer[iCurrentIndex+6],label.viewAngleH=pstAddDataInfo.additionDataBuffer[iCurrentIndex+8],label.viewAngleV=pstAddDataInfo.additionDataBuffer[iCurrentIndex+10],label.r=pstAddDataInfo.additionDataBuffer[iCurrentIndex+12],label.r_max=pstAddDataInfo.additionDataBuffer[iCurrentIndex+14],label.res0=pstAddDataInfo.additionDataBuffer[iCurrentIndex+7],iCurrentIndex+=28,labelMap[label.id]=label}return labelMap}wasmplayer.JSPlayM4_SetAdditionDataCallBack(2052,1,(function(additionInfo){player&&player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.setAdditionDataCallBack,data:{additionInfo:_extends$3({},additionInfo,{additionDataBufferView:new Int32Array(additionInfo.additionDataBuffer)}),labelMap:handleAdditionInfo(additionInfo)}}))})),player.logger.log("3.打开流 resO:"+resO)}(player,data.buf),player._aHead=new Uint8Array(data.buf),(null==player||null==(_player_urlInfo=player.urlInfo)?void 0:_player_urlInfo.validateCode)||player._secretKey){var _player_urlInfo1,_player_wasmplayer,_player_logger,validateCode=(null==player||null==(_player_urlInfo1=player.urlInfo)?void 0:_player_urlInfo1.validateCode)||player._secretKey;1==+(null==(_player_wasmplayer=player.wasmplayer)?void 0:_player_wasmplayer.JSPlayM4_SetSecretKey(validateCode))?null==(_player_logger=player.logger)||_player_logger.log("set secretKey success, ",validateCode):player.logger.error("set secretKey fail, ",validateCode)}if("resume"!==type){try{var _player__wss_info_oParams,time=(date=getQueryString("begin",null==(_player__wss_info_oParams=player._wss_info.oParams)?void 0:_player__wss_info_oParams.playURL),(second=parseInt(date.slice(13,15)))+3<60&&(second+=3),{year:parseInt(date.slice(0,4)),month:parseInt(date.slice(4,6)),day:parseInt(date.slice(6,8)),hour:parseInt(date.slice(9,11)),min:parseInt(date.slice(11,13)),second:second});if(!isNaN(time.year)){player.logger.log("SetGlobalBaseTime",JSON.stringify(time));var setRes=player.wasmplayer.JSPlayM4_SetGlobalBaseTime(time.year,time.month,time.day,time.hour,time.min,time.second,0);player.logger.log("设置OSD时间res:",setRes)}}catch(error){player.logger.error("JSPlayM4_SetGlobalBaseTime:",error)}if(player.playing=!0,1!=+player.wasmplayer.JSPlayM4_SetFrameInfoCallBack(1)){var resFrameInfoError=player.wasmplayer.JSPlayM4_GetLastError();player.logger.error("resFrameInfoError:",resFrameInfoError)}firstFlag=!0,firstGetData=!0,player.emit("JSPlayM4_Play_Before",__ReturnEventResult(void 0));var _player_logger1,resP=player.wasmplayer.JSPlayM4_Play(player._playerWindow.canvasId);player._options.disableRenderPrivateData?(player.wasmplayer.JSPlayM4_RenderPrivateData(1,!1),player.wasmplayer.JSPlayM4_RenderPrivateData(2,!1),player.wasmplayer.JSPlayM4_RenderPrivateData(4,!1),player.wasmplayer.JSPlayM4_RenderPrivateData(8,!1),player.wasmplayer.JSPlayM4_RenderPrivateData(16,!1),player.wasmplayer.JSPlayM4_RenderPrivateData(32,!1),player.wasmplayer.JSPlayM4_RenderPrivateData(64,!1),player.wasmplayer.JSPlayM4_RenderPrivateData(128,!1),null==(_player_logger1=player.logger)||_player_logger1.log("disable render private data")):(player.wasmplayer.JSPlayM4_RenderPrivateData(4,1),player.wasmplayer.JSPlayM4_RenderPrivateData(8,1),player.wasmplayer.JSPlayM4_RenderPrivateData(32,1),player.wasmplayer.JSPlayM4_RenderPrivateData(64,1),player.wasmplayer.JSPlayM4_RenderPrivateData(128,1)),player.emit("JSPlayM4_Play_After",__ReturnEventResult(void 0)),player.logger.log("4.开始播放 resP:"+resP,player._playerWindow.canvasId),resolve(resP)}}else{if(firstGetData&&data.buf&&(firstGetData=!1,player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.getVideoStreamCallback}))),firstFlag&&data.buf){var oFrameInfo=player.getFrameInfo();(null==oFrameInfo?void 0:oFrameInfo.width)&&(player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.appearFirstFrameCallback})),player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.averageStreamSuccessCallback})),firstFlag=!1)}var aBuffer=new Uint8Array(data.buf);data.statusString?player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.pluginErrorHandler,iWndIndex:0,code:1001,data:data})):data.type&&"exception"===data.type&&player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.pluginErrorHandler,iWndIndex:0,code:1002,data:data})),bufferTotalSize+=aBuffer.length,player.wasmplayer.JSPlayM4_InputData(aBuffer,aBuffer.length),aBuffer=null}var date,second;"resume"!==type&&(player.playing=!0),player.emit("recordInputData",__ReturnEventResult(data.buf))}),(function(id){streamClientID===id&&player&&(player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.pluginErrorHandler,iWndIndex:0,code:1003})),player.emit(EVENT_TYPE.SOCKET.close)),player.playing=!1,__clearDetectTimer(player),reject()}),(function(id,msg){player&&(null==player||player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.pluginErrorHandler,iWndIndex:0,code:1004,msg:msg})),null==player||player.emit(EVENT_TYPE.SOCKET.error))})).then((function(id){streamClientID=id,player._oStreamClient.startPlay().then((function(){var _player__options;if("resume"===type){var _player_wasmplayer_JSPlayM4_Pause,_player_wasmplayer,res=null==(_player_wasmplayer=player.wasmplayer)||null==(_player_wasmplayer_JSPlayM4_Pause=_player_wasmplayer.JSPlayM4_Pause)?void 0:_player_wasmplayer_JSPlayM4_Pause.call(_player_wasmplayer,0);res?(player.playing=!0,player._tempPauseDate=null,resolve(res)):(player.logger.error("startPlay pause error"),reject())}else{var _player_wasmplayer_JSPlayM4_SetStreamOpenMode,_player_wasmplayer1,resSSOM=null==(_player_wasmplayer1=player.wasmplayer)||null==(_player_wasmplayer_JSPlayM4_SetStreamOpenMode=_player_wasmplayer1.JSPlayM4_SetStreamOpenMode)?void 0:_player_wasmplayer_JSPlayM4_SetStreamOpenMode.call(_player_wasmplayer1,1);player.logger.log("2.设置流模式 resSSOM:"+resSSOM)}player.emit(EVENT_TYPE.API.play),(null==player||null==(_player__options=player._options)?void 0:_player__options.url.includes(".rec"))&&(null==player?void 0:player._playbackRate)>0&&setTimeout((function(){player.setPlaybackRate(player._playbackRate||1)}),1e3)})).catch((function(err){player.playing=!1,player.logger.error("startPlay error:",err),__clearDetectTimer(player),reject(err.oError)})),player._detectTimer=setInterval((function(){player.emit(EVENT_CALLBACK,__ReturnEventResult({type:EVENT_CALLBACK_TYPE.stutterDetectedCallback,data:{type:5,codeRate:(8*bufferTotalSize/1e3).toFixed(2)}})),bufferTotalSize=0}),1e3)}),(function(oError){__clearDetectTimer(player),player.playing=!1,player.logger.error("openStream error:",oError),_doRelease(player),reject(oError)}))}))}function __clearDetectTimer(player){player._detectTimer&&(clearInterval(player._detectTimer),player._detectTimer=null)}function _instanceof(left,right){return null!=right&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?!!right[Symbol.hasInstance](left):left instanceof right}function fillTenPlaces(num){return(num=+num)<10&&(num="0"+num),num+""}var DEFAULT_WATER_MARK={startPos:{fX:.1,fY:.1},fontColor:{fR:0,fG:0,fB:0,fA:1},fontSize:{nFontWidth:20,nFontHeight:20},fontRotate:{fRotateAngle:0,fFillFullScreen:!1},fontFamily:"Arial",fontNumber:{nRowNumber:5,nColNumber:5},space:1,fontAlign:0,pstCanvasAdapt:{nCanvasAdaptMode:2,nRowSpace:0,nColSpace:0,nBaseCanvasWidth:0,nBaseCanvasHeight:0}};function _extends$2(){return _extends$2=Object.assign||function(target){for(var i=1;i1?(player.logger.warn("audio volume ("+volume+") is invalid!"),0):(0===volume?1===(resPS=player.wasmplayer.JSPlayM4_StopSoundShare())&&(player.volume=0):1===(resPS=player.wasmplayer.JSPlayM4_PlaySoundShare())&&(player.volume=volume),player.emit(EVENT_TYPE.volumeChange,__ReturnEventResult(volume)),resPS)}(this,volume)},_proto.use=function(plugin){this.pluginManager.use(plugin)},_proto.setFECCorrectType=function(type,ids){return this.fECCorrect.setFECCorrectType(type,ids)},_proto.setFEC2DParam=function(fishSubPort,param2d){return this.fECCorrect.setFEC2DParam(fishSubPort,param2d)},_proto.setFEC3DViewParam=function(param){return this.fECCorrect.setFEC3DViewParam(param)},_proto.get3DViewParam=function(param){return this.fECCorrect.get3DViewParam(param)},_proto.setPoster=function(poster){},_proto.setPlaybackRate=function(rate){!function(player,rate){var _player__oStreamClient_setPlayRate,_player__oStreamClient;if(rate=+rate,Number.isNaN(rate))throw new Error("rate is error, only support 0.5 | 1 | 2 | 4 | 8 | 16");if(![.5,1,2,4,8,16].includes(rate))throw new Error("rate is error, only support 0.5 | 1 | 2 | 4 | 8 | 16");null==(_player__oStreamClient=player._oStreamClient)||null==(_player__oStreamClient_setPlayRate=_player__oStreamClient.setPlayRate)||_player__oStreamClient_setPlayRate.call(_player__oStreamClient,rateEnum[rate]);var _player_wasmplayer_JSPlayM4_SetDecodeThreadNum,_player_wasmplayer2,currentRate=player.playbackRate;if(currentRate>rate)for(var i=rate;i=4&&(null==(_player_wasmplayer2=player.wasmplayer)||null==(_player_wasmplayer_JSPlayM4_SetDecodeThreadNum=_player_wasmplayer2.JSPlayM4_SetDecodeThreadNum)||_player_wasmplayer_JSPlayM4_SetDecodeThreadNum.call(_player_wasmplayer2,4)),player.emit(EVENT_TYPE.API.rateChange,__ReturnEventResult(rate)),player.playbackRate=rate,player._playbackRate=rate}(this,rate)},_proto.seek=function(startTime,stopTime){return function(player,startTime,endTime){return player.wasmplayer.JSPlayM4_ResetBuffer(1),player.emit(EVENT_TYPE.API.seek,__ReturnEventResult({startTime:startTime,endTime:endTime})),player._oStreamClient.seek(startTime,endTime).then((function(res){player._waterMarkParams&&player.setWaterMark(player._waterMarkParams)})),Promise.resolve()}(this,startTime,stopTime)},_proto._setOptions=function(options){__setOptions(this,options)},_proto.enable3DZoom=function(cb){return function(player,fCallback){if(!player.playing)return-1;var wasmplayer=player.wasmplayer,info=null==wasmplayer.JSPlayM4_GetFrameInfo?void 0:wasmplayer.JSPlayM4_GetFrameInfo.call(wasmplayer);return new Promise((function(resolve,reject){resolve({code:0,data:null==wasmplayer.JSPlayM4_SetDisplayRegion?void 0:wasmplayer.JSPlayM4_SetDisplayRegion.call(wasmplayer,player._playerWindow.canvasId,0,info.width,0,info.height,!1,!0)})})),player.__fCallback=fCallback,player.esCanvas=new ESCanvas(player.$container),player.esCanvas.setShapeType("Rect"),player.esCanvas.setDrawStyle("#ff0000","",0),player.esCanvas.setDrawStatus(!0,(function(oRECT){"function"==typeof fCallback&&fCallback(oRECT)})),player.__b3DZoom=!0,0}(this,cb)},_proto.disable3DZoom=function(){return _disable3DZoom(this)},_proto.getOSDTime=function(){var oFrameInfo=this.getFrameInfo();return(null==oFrameInfo?void 0:oFrameInfo.year)?new Date((null==oFrameInfo?void 0:oFrameInfo.year)+"/"+(null==oFrameInfo?void 0:oFrameInfo.month)+"/"+(null==oFrameInfo?void 0:oFrameInfo.day)+" "+(null==oFrameInfo?void 0:oFrameInfo.hour)+":"+(null==oFrameInfo?void 0:oFrameInfo.minute)+":"+(null==oFrameInfo?void 0:oFrameInfo.second)).getTime()/1e3:0},_proto.getFrameInfo=function(){var _this_wasmplayer_JSPlayM4_GetFrameInfo,_this_wasmplayer,_this___videoInfo,_this___videoInfo1,_this_logger,oFrameInfo=null==(_this_wasmplayer=this.wasmplayer)||null==(_this_wasmplayer_JSPlayM4_GetFrameInfo=_this_wasmplayer.JSPlayM4_GetFrameInfo)?void 0:_this_wasmplayer_JSPlayM4_GetFrameInfo.call(_this_wasmplayer);if(!oFrameInfo)return null==(_this_logger=this.logger)||_this_logger.warn("[getFrameInfo] error",oFrameInfo),{};var codecType=VIDEO_FORMAT_MAP[null==oFrameInfo?void 0:oFrameInfo.codecType];return oFrameInfo.videoFormatName=codecType,(null==oFrameInfo?void 0:oFrameInfo.width)>0&&(null==oFrameInfo?void 0:oFrameInfo.height)>0&&((null==(_this___videoInfo=this.__videoInfo)?void 0:_this___videoInfo.width)!==(null==oFrameInfo?void 0:oFrameInfo.width)||(null==(_this___videoInfo1=this.__videoInfo)?void 0:_this___videoInfo1.height)!==(null==oFrameInfo?void 0:oFrameInfo.height))&&(oFrameInfo.videoFormatName||(oFrameInfo.videoFormatName=this.__videoInfo.videoFormatName),oFrameInfo.frameRate||(oFrameInfo.frameRate=this.__videoInfo.frameRate),this.__videoInfo=_extends$1({},this.__videoInfo,oFrameInfo),this.emit(EVENT_TYPE.videoInfo,__ReturnEventResult(this.__videoInfo))),oFrameInfo},_proto.setDisplayRegion=function(left,right,top,bottom,flag,isFullscreen){void 0===flag&&(flag=!0),void 0===isFullscreen&&(isFullscreen=!1);var res=function(player,left,right,top,bottom,flag,isFullscreen){void 0===flag&&(flag=!0),void 0===isFullscreen&&(isFullscreen=!1);var wasmplayer=player.wasmplayer,oFrameInfo=player.getFrameInfo(),playerId=player._playerWindow.canvasId,$canvas=document.getElementById(playerId);if($canvas){var canvasSize=function($canvas){return{width:(null==$canvas?void 0:$canvas.style.width)?+(null==$canvas?void 0:$canvas.style.width.replace("px","")):$canvas.width||$canvas.offsetWidth,height:(null==$canvas?void 0:$canvas.style.height)?+(null==$canvas?void 0:$canvas.style.height.replace("px","")):$canvas.height||$canvas.offsetHeight}}($canvas);player._options.dpr;var width=canvasSize.width,height=canvasSize.height;return isFullscreen&&(height=canvasSize.width,width=canvasSize.height),null==player||player.emit("setDisplayRegion",__ReturnEventResult({left:left,right:right,top:top,bottom:bottom,flag:flag,isFullscreen:isFullscreen})),wasmplayer.JSPlayM4_SetDisplayRegion(playerId,width*left/oFrameInfo.width,width*right/oFrameInfo.width,height*top/oFrameInfo.height,height*bottom/oFrameInfo.height,!flag,!1)}}(this,left,right,top,bottom,flag,isFullscreen);return 1===res},_proto.setSecretKey=function(secretKey){null!=secretKey&&""!==secretKey&&(this._secretKey=secretKey)},_proto.getOptions=function(){return this._options},_proto.setLogger=function(options){var _this_logger_setOptions,_this_logger;this._options=deepmerge(this._options,{logger:options},{clone:!1}),null==(_this_logger=this.logger)||null==(_this_logger_setOptions=_this_logger.setOptions)||_this_logger_setOptions.call(_this_logger,options)},_proto.getVersion=function(){var res=this.wasmplayer.JSPlayM4_GetSDKVersion();return{version:"8.2.2-beta.5",decoder:this._wasmDecoderInfo.bSupHardOrSoft?"V3":"V1",decoderVersion:res.toString(16)}},_proto.setWaterMark=function(params){return this._waterMarkParams=params,function(player,params){var wasmplayer=player.wasmplayer,_player_$container_getBoundingClientRect=player.$container.getBoundingClientRect(),width=_player_$container_getBoundingClientRect.width,height=_player_$container_getBoundingClientRect.height,pstCanvasAdapt={nCanvasAdaptMode:2,nRowSpace:0,nColSpace:0,nBaseCanvasWidth:Math.floor(width),nBaseCanvasHeight:Math.floor(height)};return params=deepmerge.all([{},DEFAULT_WATER_MARK,params||{},{pstCanvasAdapt:pstCanvasAdapt}],{clone:!1}),new Promise((function(resolve,reject){var res;1===(res=params&¶ms.fontString?wasmplayer.JSPlayM4_SetWaterMarkFont({pFontString:params.fontString,pstStartPos:params.startPos,pstFontColor:params.fontColor,pstFontSize:params.fontSize,pstFontRotate:params.fontRotate,pstFontNumber:params.fontNumber,pFontFamily:params.fontFamily,pSpace:params.space,pstCanvasAdapt:params.pstCanvasAdapt}):wasmplayer.JSPlayM4_SetWaterMarkFont(null))?resolve({code:0,msg:"水印设置成功"}):reject({code:-1,msg:res})}))}(this,params)},_proto.setMirrorFlip=function(command){return function(player,command){var _player_urlInfo;return player.service.setMirrorFlip({command:command,channelNo:null==(_player_urlInfo=player.urlInfo)?void 0:_player_urlInfo.channelNo})}(this,command)},_proto.setStreamInfoCallBackType=function(type,cb){!function(player,type,cb){var _player_logger_warn,_player_logger,_player_logger_warn1,_player_logger1;[0,1].includes(type)?player.wasmplayer?player.wasmplayer.JSPlayM4_SetStreamInfoCallBack(type,(function(info){null==cb||cb(info),player.emit(EVENT_TYPE.streamInfoCB,__ReturnEventResult({systemFormat:info.nSystemformat,videoFormat:info.nVideoformat,videoFormatName:VIDEO_FORMAT_MAP[info.nVideoformat],audioFormat:info.nAudioformat,audioFormatName:AUDIO_FORMAT_MAP[info.nAudioformat],audioChannels:info.nAudiochannels,audioBitsPerSample:info.nAudiobitspersample,audioSamplesRate:info.nAudiosamplesrate,audioBitRate:info.nAudiobitrate,width:info.nWidth,height:info.nHeight,frameRate:info.fFrameRate,intervalOfIFrame:info.nIntervalOfIFrame})),player.__videoInfo.width===info.nWidth&&player.__videoInfo.height===info.nHeight&&player.__videoInfo.frameRate===info.fFrameRate&&player.__videoInfo.videoFormatName===VIDEO_FORMAT_MAP[info.nVideoformat]||(player.__videoInfo={videoFormat:info.nVideoformat,videoFormatName:VIDEO_FORMAT_MAP[info.nVideoformat],width:info.nWidth,height:info.nHeight,frameRate:info.fFrameRate,intervalOfIFrame:info.nIntervalOfIFrame},player.emit(EVENT_TYPE.videoInfo,__ReturnEventResult(_extends$2({},player.__videoInfo,{from:"setStreamInfoCallBack"})))),player.__audioInfo.audioFormat===info.nAudioformat&&player.__audioInfo.audioChannels===info.nAudiochannels&&player.__audioInfo.audioBitsPerSample===info.nAudiobitspersample&&player.__audioInfo.audioSamplesRate===info.nAudiosamplesrate&&player.__audioInfo.audioBitRate===info.nAudiobitrate||(player.__audioInfo={audioFormat:info.nAudioformat,audioFormatName:AUDIO_FORMAT_MAP[info.nAudioformat],audioChannels:info.nAudiochannels,audioBitsPerSample:info.nAudiobitspersample,audioSamplesRate:info.nAudiosamplesrate,audioBitRate:info.nAudiobitrate},player.emit(EVENT_TYPE.audioInfo,__ReturnEventResult(player.__audioInfo)))})):null==(_player_logger=player.logger)||null==(_player_logger_warn=_player_logger.warn)||_player_logger_warn.call(_player_logger,"player.wasmplayer is not defined"):null==(_player_logger1=player.logger)||null==(_player_logger_warn1=_player_logger1.warn)||_player_logger_warn1.call(_player_logger1,"type "+type+" not supported")}(this,type,cb)},_proto._addEventListener=function(){var func,timeout,lastCall,_this=this;this.on(EVENT_TYPE.videoInfo,(func=function(info){info.data.width&&info.data.height&&_this._playerWindow.resize(info.data.width,info.data.height)},timeout=null,lastCall=0,function(){for(var _this=this,_len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];var now=Date.now(),remaining=500-(now-lastCall);remaining<=0?(lastCall=now,func.apply(this,args)):timeout||(timeout=setTimeout((function(){lastCall=Date.now(),timeout=null,func.apply(_this,args)}),remaining))})),this.on("Control.contentRerender",(function(info){info.width&&info.height&&_this._waterMarkParams&&_this.setWaterMark(_this._waterMarkParams)}))},Constructor=EZopenPlayer,(protoProps=[{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}}])&&function(target,props){for(var i=0;i{var _params_extraParams,_urlInfo_searchParams;preInitParams={params:params};const urlInfo=distExports$7.parseEzopenUrl(params.url);let obj={},paramstring="";const _services=new Services({sdkType:sdkType,baseURL:params.env?params.env.domain:DOMAIN,accessToken:params.accessToken,deviceSerial:urlInfo.deviceSerial,channelNo:urlInfo.channelNo,token:params.token||{},ezopenParams:(null==(_params_extraParams=params.extraParams)?void 0:_params_extraParams.ezopenParams)||{},timeZone:null==(_urlInfo_searchParams=urlInfo.searchParams)?void 0:_urlInfo_searchParams.timeZone}),promiseList=[_services.getEzopenUrl(params.url),_services.getDeviceSupportQuality(params),_services.getDeviceList(params)];if(params.url.indexOf(".rec")>-1){var _urlInfo_searchParams1;if("rec"===urlInfo.type)obj=formatPlaybackBeginEndTimeZone(urlInfo.searchParams.begin,urlInfo.searchParams.end,null==(_urlInfo_searchParams1=urlInfo.searchParams)?void 0:_urlInfo_searchParams1.timeZone,urlInfo.searchParams.busType),preInitParams.timeZone=obj.timeZone,paramstring="&begin="+DateTime.formate(obj.originBegin,"YYYYMMDDThhmmssZ")+"&end="+DateTime.formate(obj.originEnd,"YYYYMMDDThhmmssZ")+"&timeZone="+obj.timeZone;params.isCloudRec&&-1!==params.url.indexOf(".cloud")&&"7"===urlInfo.searchParams.busType?promiseList.push(_services.getCloudRecordTimes({begin:obj.begin,end:obj.end,spaceId:urlInfo.searchParams.spaceId})):-1!==params.url.indexOf(".cloud")&&"7"!==urlInfo.searchParams.busType||"base"!==sdkType?promiseList.push(_services.getCloudTimes({begin:obj.begin,end:obj.end,url:params.url})):promiseList.push(_services.getLocalRecTimes({begin:obj.begin,end:obj.end}))}Promise.all(promiseList).then((res=>{void 0!==res[0].code&&200!=res[0].code&&reject(res[0]),preInitParams.getEzopenUrlRes=res[0],preInitParams.getDeviceSupportQualityRes=res[1],preInitParams.getDeviceListRes=res[2];const list=res[3];if(params.url.indexOf(".rec")>-1&&list)if(params.isCloudRec&&-1!==params.url.indexOf(".cloud")&&"7"===urlInfo.searchParams.busType){if(preInitParams.cloudRecordRecList=list||[],list.length){const playbackSlices1=mergeRecSliceByDownloadPath(list,["downloadPath","ownerId","iStorageVersion","spaceId","startTime","endTime","videoType","busType"],obj.originBegin,obj.originEnd);0===playbackSlices1.length&&(preInitParams.getRecTimesRes="",resolve(preInitParams));const recSliceArrJSON=JSON.stringify(playbackSlices1).replace("\\","");preInitParams.getRecTimesRes=paramstring+"&recSlice="+recSliceArrJSON.replace("\\","")+"&r="+Math.random(),resolve(preInitParams)}else preInitParams.getRecTimesRes="",resolve(preInitParams);const recSliceArrJSON=JSON.stringify(playbackSlices).replace("\\","");preInitParams.getRecTimesRes=paramstring+"&recSlice="+recSliceArrJSON.replace("\\","")+"&r="+Math.random(),resolve(preInitParams)}else preInitParams.getRecTimesRes="",resolve(preInitParams);else if(-1!==params.url.indexOf(".cloud")&&"7"!==urlInfo.searchParams.busType||"base"!==sdkType)if(preInitParams.cloudRecList=list||[],list.length){0===mergeRecSliceByDownloadPath(list,["downloadPath","ownerId","iStorageVersion","startTime","endTime","videoType"],obj.originBegin,obj.originEnd).length&&(preInitParams.getRecTimesRes="",resolve(preInitParams))}else-1!==params.url.indexOf(".rec")?(preInitParams.localRecList=list||[],preInitParams.getRecTimesRes=paramstring,resolve(preInitParams)):resolve(preInitParams);else resolve(preInitParams)})).catch((error=>{reject(error)}))}))}_init(){this.logger.log("_init()");const that=this;this.videoInitTime=Date.now(),this.videoPlayState=1;let tmpParams=Object.assign({},this.params);const getWsTimeStart=Date.now();Promise.all([this._initGetDeviceSupportQuality(),this._initEZUIKitPlayer(this.params),this._getRealUrlServices(this.params.url)]).then((res=>{if(res[2]&&this.autoplay){var _this__collect;const websocketConnectUrl=res[2].split("?")[0].replace("/live","").replace("/playback","");null==(_this__collect=this._collect)||_this__collect.report(1,{logInfo:{domain:websocketConnectUrl,params:tmpParams,preInit:null!==preInitParams}}),_pluginPlay(this,res[2],0,getWsTimeStart).then((res=>{var _this_options_volumeOptions,_this_options;0===res.code&&(this.options.muted||(null==(_this_options=this.options)||null==(_this_options_volumeOptions=_this_options.volumeOptions)?void 0:_this_options_volumeOptions.muted)||setTimeout((()=>{this.openSound()}),100));(null==preInitParams?void 0:preInitParams.cloudRecordRecList)?null==this.emit||this.emit.call(this,EVENTS.setAllDayRecTimes,{type:"cloudRecordTimes",list:preInitParams.cloudRecordRecList}):(null==preInitParams?void 0:preInitParams.cloudRecList)?null==this.emit||this.emit.call(this,EVENTS.setAllDayRecTimes,{type:"cloudRecTimes",list:preInitParams.cloudRecList}):(null==preInitParams?void 0:preInitParams.localRecList)&&(null==this.emit||this.emit.call(this,EVENTS.setAllDayRecTimes,{type:"localTimes",list:preInitParams.localRecList}))})).catch((err=>{var _this_logger,_this_i18n_t,_this_i18n;if(this.playing=!1,1===this.videoPlayState||4===this.videoPlayState){var _this__collect;this.videoPlayState=3;const now=Date.now();null==(_this__collect=this._collect)||_this__collect.report(3,{logInfo:{domain:websocketConnectUrl,loadTime:now-this.videoInitTime,err:err},errorCode:errorCodeTransform(err),loadTime:now-this.videoInitTime})}this.isInspect||this.emit("message",err&&err.msg||(null==(_this_i18n=this.i18n)||null==(_this_i18n_t=_this_i18n.t)?void 0:_this_i18n_t.call(_this_i18n,"GET_PLAYURL_FAILED")),"fetchError");null==(_this_logger=this.logger)||_this_logger.error(err)}))}})).catch((err=>{var _this_logger,_this_i18n_t,_this_i18n;if(this.playing=!1,1===that.videoPlayState||4===that.videoPlayState){var _that__collect;that.videoPlayState=3;const now=Date.now();null==(_that__collect=that._collect)||_that__collect.report(3,{logInfo:{loadTime:now-that.videoInitTime,err:err},errorCode:errorCodeTransform(err),loadTime:now-that.videoInitTime})}that.isInspect||this.emit("message",err&&err.msg||(null==(_this_i18n=this.i18n)||null==(_this_i18n_t=_this_i18n.t)?void 0:_this_i18n_t.call(_this_i18n,"GET_PLAYURL_FAILED")),"fetchError");null==(_this_logger=this.logger)||_this_logger.error(err)})).finally((()=>{this.playing&&this._deviceSerialChangeServices(),setTimeout((()=>{preInitParams=null}),5e3),that._initTime=(new Date).getTime()-that.videoInitTime})),p.createInstance(this.id,{rejection:!1,play:!1,pantile:!1,recordvideo:!1,talk:!1,expend:!1,webExpend:!1,zoom:!1,sound:!1,isEditing:!1,rec:!1,cloudRec:!1}),this.initSuccessTime=(new Date).getTime(),this.Talk=new v$1({deviceSerial:this.urlInfo.deviceSerial,accessToken:this.params.accessToken,capacity:this.capacity,channelNo:this.params.talkChannelNo||"0",env:this.env}),this.Talk&&this.Talk.eventEmitter.on("handleTalkError",(data=>{var _this_controls;this.logger.warn("talk error:",data),this.emit("talkingChange",!1),(null==data?void 0:data.message)&&"Permission denied"===data.message?this.emit("message",that.i18n.t("TALK_PERMISSION_DENIED"),"talkError"):this.emit("message",that.i18n.t("TALK_ERROR"),"talkError"),(null==(_this_controls=this.controls)?void 0:_this_controls.volumeControl)&&(this.controls.volumeControl.disabled=!1);try{this.Talk.stopTalk()}catch(error){}this.__talk_muted__&&(null==this.openSound||this.openSound.call(this)),this.__talk_muted__=!1,this._talking=!1;const globalState=p.getGlobalState(),instance=p.getInstance(this.id);globalState.talk&&p.setGlobalState({talk:!1}),instance.getState().talk&&instance.setState({talk:!1})}))}_initEZUIKitPlayer(params){var _this_logger;return null==(_this_logger=this.logger)||_this_logger.log("_initEZUIKitPlayer()"),function(player){var _player_logger,_player_jSPlugin_player,_player_jSPlugin_player1,_player_jSPlugin_player2;null==(_player_logger=player.logger)||_player_logger.log("initDecoder()"),player.emit(EVENTS.decoderLoad);const decoderType=player.url.includes("busType=7")?"v1":player.params.decoderType;player.jSPlugin=new JsPlugin({szId:player.params.id,container:player.contentControl.$video,width:player.width,height:player.height,szBasePath:"",staticPath:player.staticPath,downloadRecord:player.downloadRecord,env:player.env,decoderType:decoderType,decodeEngine:void 0!==player.params.decodeEngine?player.params.decodeEngine:1,autoPlay:!1,dpr:player.params.dpr,url:player.params.url,debugDownloadData:player.params.debugDownloadData,disableRenderPrivateData:player.disableRenderPrivateData,logger:{level:player.params.loggerOptions.level,showTime:!!player.params.loggerOptions.showTime},streamInfoCBType:player.params.streamInfoCBType});let RunTimeInfoFlag=!1,timer=0,lag=0;const that=player;return player.jSPlugin.EventCallback={openStreamCallback:()=>{player._openStreamTime=(new Date).getTime(),RunTimeInfoFlag=!1},getStreamHeaderCallback:()=>{RunTimeInfoFlag=!1},getVideoStreamCallback:()=>{player.getVideoStreamTime=(new Date).getTime(),player.isCall},firstFrameCallback:engine=>{switch(engine){case 0:player.decodeEngine="v3-soft";break;case 1:player.decodeEngine="v3-hard";break;case 2:player.decodeEngine="v1-soft"}try{const addressList=JSON.parse(window.localStorage.getItem("ezuikit_addressList")||"{}");Array.isArray(addressList[that.deviceSerial+"_"+that.channelNo])&&(player.maxReloadTime=addressList[that.deviceSerial+"_"+that.channelNo].length)}catch(error){}player.startPlayTime&&((new Date).valueOf(),player.startPlayTime=null);const frameInfo=player.jSPlugin._JSPlayM4_GetFrameInfo(0);frameInfo.frameRate&&(player.frameDecordTime=Math.round(1e3/frameInfo.frameRate).toFixed(2)),player.displayStreamInfo(player.showStreamInfo)},appearFirstFrameCallback:()=>{var _player_posterControl;player.appearFirstFrameTime=(new Date).getTime(),document.getElementById(`${player.id}-player`)&&(document.getElementById(`${player.id}-player`).style.display="block"),"function"==typeof player.params.handleFirstFrameDisplay&&player.params.handleFirstFrameDisplay({retcode:0,id:player.params.id,type:"handleFirstFrameDisplay"}),null==player||player.emit(EVENTS.firstFrameDisplay),"function"==typeof player.params.handleSuccess&&player.params.handleSuccess({retcode:0,id:player.id,type:"handleSuccess"}),player.recType&&(player._recOSDTimer&&(clearInterval(player._recOSDTimer),player._recOSDTimer=null),player._recOSDTimer=setInterval(_async_to_generator$2((function*(){null==player.getOSDTime||player.getOSDTime.call(player)})),1e3)),player.muted||player.openSound(),player.loading=!1,null==(_player_posterControl=player.posterControl)||_player_posterControl.hide()},averageStreamSuccessCallback:()=>{player.averageStreamSuccessTime=player.initSuccessTime-player._initTime+(player._gotWsUrlTime-player._startGetWsUrlTime)+(player.appearFirstFrameTime-player._openStreamTime)},loadEventHandler:function(){},pluginErrorHandler:(iWndIndex,iErrorCode,oError)=>{if(1003===iErrorCode);else if(1!=(null==oError?void 0:oError.errorCode)){var _player_reloadCodeBalckList;const errorCallback=()=>{const now=Date.now();if(1===player.videoPlayState||2===player.videoPlayState||4===player.videoPlayState){var _that__collect;const websocketConnectUrl=player.wsUrl.split("?")[0].replace("/live","").replace("/playback","");null==(_that__collect=that._collect)||_that__collect.report(3,{domain:websocketConnectUrl,logInfo:{err:oError,loadTime:now-player.videoInitTime},errorCode:errorCodeTransform(oError),loadTime:now-player.videoInitTime})}1===player.videoPlayState||4===player.videoPlayState?player.videoPlayState=3:2===player.videoPlayState&&(player.videoPlayState=5);let msg=player.i18n.t("DISCONNECT");msg=player.i18n.t("39"+oError.errorCode),player.Theme&&player.Theme.setDecoderState({play:!1}),player.isCall||player.isInspect||player.emit("message",msg,"socketError"),"function"==typeof player.params.handleError&&player.params.handleError({msg:msg,retcode:oError.errorCode,id:player.id,type:"handleError"})};(null==(_player_reloadCodeBalckList=player.reloadCodeBalckList)?void 0:_player_reloadCodeBalckList.indexOf(oError.errorCode))>-1&&"1004"!=oError.errorCode?errorCallback():player._reload(oError).catch((res=>{-3==res.code&&"1004"!=oError.errorCode&&errorCallback()}))}},setRunTimeInfoCallBack:({pstRuntimeInfo:pstRuntimeInfo})=>{if(5===pstRuntimeInfo.nErrorCode&&(that.isInspect||player.playing&&(that.emit("message",player.i18n.t("DEVICE_ENCRYPTED"),"validateCodeError"),player.stop())),!RunTimeInfoFlag&&9!==pstRuntimeInfo.nErrorCode&&1024!==pstRuntimeInfo.nErrorCode&&352321537!==pstRuntimeInfo.nErrorCode&&262144!==pstRuntimeInfo.nErrorCode){var _player_urlInfo_searchParams;removePlayerCanvas(player.id);const code=-1,param=pstRuntimeInfo,begin=(null==(_player_urlInfo_searchParams=player.urlInfo.searchParams)?void 0:_player_urlInfo_searchParams.begin)||DateTime.formate(new Date,"YYYYMMDD")+"000000",setHandleError=time=>{var _player_urlInfo_searchParams;const begin=null==(_player_urlInfo_searchParams=player.urlInfo.searchParams)?void 0:_player_urlInfo_searchParams.begin;"function"==typeof player.params.handleError&&player.params.handleError({retcode:code,data:_extends$3({},param,{time:/\d{10}/.test(time)?DateTime.formate(time,"YYYYMMDDhhmmss"):begin||DateTime.formate(new Date,"YYYYMMDD")+"000000"}),id:that.params.id,type:"handleRunTimeInfoError"})};var _player__tempSeekTime;player._tempSeekTime?setHandleError(null==(_player__tempSeekTime=player._tempSeekTime)?void 0:_player__tempSeekTime.getTime()):player.getOSDTime().then((res=>{"rec"===player.urlInfo.type&&(player._seekDate=/\d{10}/.test((null==res?void 0:res.data)+"")?DateTime.strToDate(null==res?void 0:res.data):begin?DateTime.strToDate(begin):new Date(DateTime.formate(new Date,"YYYY-MM-DD")+" 00:00:00")),setHandleError(null==res?void 0:res.data)})),setTimeout((()=>{player.stop()}),1e3)}RunTimeInfoFlag=!0},setAdditionDataCallBack:function(labelMap){"function"==typeof player.params.handleAdditionData&&player.params.handleAdditionData({retcode:0,data:labelMap,id:player.id,type:"handleAdditionData"})},stutterDetectedCallback:res=>{if(5===res.type&&(player.streamInfo.codeRate=res.codeRate+"/Kbps",player._updateStreamInfo({codeRate:player.streamInfo.codeRate})),1===res.type&&(player.streamInfo.frameLostRate=(100*res.frameLossNum/res.frameNumInterval).toFixed(2)+"%",player._updateStreamInfo({frameLostRate:player.streamInfo.frameLostRate})),2===res.type){const time=(res.runtimeInfo||res.pstRuntimeInfo||{}).nAverageDecodeTime*res.account-player.frameDecordTime*res.account;if(time>0&&(time>=150&&time<250&&(lag+=10),time>=250&&time<400&&(lag+=20),time>=400&&time<650&&(lag+=30),time>=650&&(lag+=40)),timer===player.lagRateCycle){const lagRate=parseFloat((lag/player.lagRateCycle).toFixed(2));var _player_eventEmitter;if(player.streamInfo.lagRate=lagRate+"%",player._updateStreamInfo({lagRate:player.streamInfo.lagRate}),player.autoVideoLevel)if(lagRate>15)null==(_player_eventEmitter=player.eventEmitter)||_player_eventEmitter.emit(EVENTS.autoVideoLevel,{code:1,lagRate:lagRate});else if(lagRate>1.5&&lagRate<=15){var _player_eventEmitter1;null==(_player_eventEmitter1=player.eventEmitter)||_player_eventEmitter1.emit(EVENTS.autoVideoLevel,{code:0,lagRate:lagRate})}else{var _player_eventEmitter2;null==(_player_eventEmitter2=player.eventEmitter)||_player_eventEmitter2.emit(EVENTS.autoVideoLevel,{code:2,lagRate:lagRate})}timer=0,lag=0}else timer++}}},void 0!==player.params.handleTalkSuccess&&(player.handleTalkSuccess=player.params.handleTalkSuccess),void 0!==player.params.handleTalkError&&(player.handleTalkError=player.params.handleTalkError),null==(_player_jSPlugin_player=player.jSPlugin.player)||_player_jSPlugin_player.event.on(EVENTS.streamInfoCB,(info=>{var _player_eventEmitter;const updateInfo={videoFormat:(info.data.videoFormatName+"").indexOf("5")>-1?"H265":"H264",frameRate:info.data.frameRate+"FPS",systemFormat:4==info.data.systemFormat?"RTP":2==info.data.systemFormat?"PS":3==info.data.systemFormat?"TS":"other",resolution:getResolutionCategory(info.data.height)};player.streamInfo=_extends$3({},player.streamInfo,updateInfo),player._updateStreamInfo(updateInfo),null==(_player_eventEmitter=player.eventEmitter)||_player_eventEmitter.emit(EVENTS.streamInfoCB,info.data)})),null==(_player_jSPlugin_player1=player.jSPlugin.player)||_player_jSPlugin_player1.event.on(EVENTS.videoInfo,(info=>{null==player||player.emit(EVENTS.videoInfo,info.data),player.videoInfo=info.data})),null==(_player_jSPlugin_player2=player.jSPlugin.player)||_player_jSPlugin_player2.event.on(EVENTS.audioInfo,(info=>{null==player||player.emit(EVENTS.audioInfo,info.data),player.audioInfo=info.data})),new Promise((resolve=>{var _player_jSPlugin_player;null==(_player_jSPlugin_player=player.jSPlugin.player)||_player_jSPlugin_player.event.on("initializing",(res=>{var _res_data;"function"==typeof player.params.handleInitSuccess&&player.params.handleInitSuccess({retcode:0,id:player.params.id,type:"handleInitSuccess"}),"loaded"===(null==res||null==(_res_data=res.data)?void 0:_res_data.cmd)&&(null==player||player.emit(EVENTS.decoderLoaded),resolve())}))}))}(this)}_reload(error){const that=this;return new Promise((function(resolve,reject){try{let addressList=JSON.parse(localStorage.getItem("ezuikit_addressList"));const ADDRESS_KEY=that.deviceSerial+"_"+that.channelNo;if(Array.isArray(addressList[ADDRESS_KEY])&&addressList[ADDRESS_KEY].length>0){that.maxReloadTime-=1;let firstElement=addressList[ADDRESS_KEY].shift();if(addressList[ADDRESS_KEY].push(firstElement),localStorage.setItem("ezuikit_addressList",JSON.stringify(addressList)),that.maxReloadTime>0){var _that__collect,_addressList_ADDRESS_KEY,_addressList_ADDRESS_KEY1;const websocketConnectUrl=that.wsUrl.split("?")[0].replace("/live","").replace("/playback","");if(null==(_that__collect=that._collect)||_that__collect.report(6,{logInfo:{wsUrl:that.wsUrl,domain:websocketConnectUrl,error:errorCodeTransform(error)}}),!/^wss\:\/\//.test(that.wsUrl))return void reject({code:-4,msg:"地址不可用"});if((null==(_addressList_ADDRESS_KEY=addressList[ADDRESS_KEY])?void 0:_addressList_ADDRESS_KEY[0].domain)&&(null==(_addressList_ADDRESS_KEY1=addressList[ADDRESS_KEY])?void 0:_addressList_ADDRESS_KEY1[0].port)){const domainPort=that.wsUrl.split("?")[0];that.wsUrl=that.wsUrl.replace(domainPort,domainPort.replace(/(wss:\/\/)[^\/]+/,`$1${addressList[ADDRESS_KEY][0].domain}:${addressList[ADDRESS_KEY][0].port}`))}that.url.indexOf("rec")>-1&&that._seekDate&&(that.wsUrl=that.wsUrl.replace(/&begin=\d{8}T\d{6}Z/,"&begin="+that._seekDate.Format("yyyyMMddThhmmssZ")));const getWsTimeStart=Date.now();that.stop((()=>{}),!0).then((res=>{_pluginPlay(that,that.wsUrl,0,getWsTimeStart).then((res=>{if(0===res.code){var _addressList_,_that__collect;const wsUrl=(null==(_addressList_=addressList[that.deviceSerial+"_"+that.channelNo])?void 0:_addressList_[0].domain)||"",websocketConnectUrl=that.wsUrl.split("?")[0].replace("/live","").replace("/playback","");null==(_that__collect=that._collect)||_that__collect.report(7,{logInfo:{wsUrl:wsUrl,domain:websocketConnectUrl,reloadRes:{code:1,msg:"发起重试成功"}}});p.getInstance(that.id).getState().sound&&setTimeout((()=>{that.openSound()}),2e3),resolve({code:1,msg:"发起重试成功"})}}))})).catch((stopError=>{var _addressList_,_that__collect;const wsUrl=(null==(_addressList_=addressList[that.deviceSerial+"_"+that.channelNo])?void 0:_addressList_[0].domain)||"",websocketConnectUrl=wsUrl.split("?")[0].replace("/live","").replace("/playback","");null==(_that__collect=that._collect)||_that__collect.report(8,{logInfo:{wsUrl:wsUrl,domain:websocketConnectUrl,reloadRes:{code:-1,msg:"发起重试失败",stopError:stopError}}}),reject({code:-1,msg:"发起重试失败",stopError:stopError})}))}else{var _that__collect1;null==(_that__collect1=that._collect)||_that__collect1.report(8,{logInfo:{reloadRes:{code:-2,msg:"所有备用机房地址取流失败"}}}),reject({code:-2,msg:"所有备用机房地址取流失败"}),that.emit("message",that.i18n.t("PLAY_FAILED"),"reloadError")}}else{var _that__collect2;null==(_that__collect2=that._collect)||_that__collect2.report(8,{logInfo:{reloadRes:{code:-3,msg:"无可用的备用机房地址"}}}),reject({code:-3,msg:"无可用的备用机房地址"})}}catch(error){var _that__collect3;null==(_that__collect3=that._collect)||_that__collect3.report(8,{logInfo:{reloadRes:{code:-4,msg:"备用机房地址重试中断",error:error}}}),reject({code:-4,msg:"备用机房地址重试中断"})}}))}_getRealUrlServices(url){var _this=this;return _async_to_generator((function*(){var _this_logger_log,_this_logger;null==(_this_logger=_this.logger)||null==(_this_logger_log=_this_logger.log)||_this_logger_log.call(_this_logger,"_getRealUrlServices()");const that=_this;_this.urlInfo=distExports$7.parseEzopenUrl(url);const isCloudRec=-1!==url.indexOf(".cloud");return _this._startGetWsUrlTime=(new Date).getTime(),new Promise(((resolve,reject)=>{_this._beforeGetRealUrlServices(url).then((res=>{let wssUrl="";if(""!==res[0]&&"string"==typeof res[0])wssUrl=res[0],"rec"===_this.urlInfo.type&&(wssUrl=wssUrl.replace(/begin=\w+/gi,"").replace(/end=\w+/gi,"").replace(/timeZone=\w+/gi,""),wssUrl+=res[1]),wssUrl=wssUrl.replace(/&&/gi,"&"),isCloudRec&&""===res[1]&&("7"===_this.urlInfo.searchParams.busType?reject({retcode:"420004",msg:that.i18n.t("NO_CLOUD_RECORD")}):reject({retcode:"420003",msg:that.i18n.t("NO_RECORD")})),wssUrl.replace(/&&/gi,"&"),resolve(that._handleRealUrl(wssUrl));else{var _res_;const addressList=JSON.parse(localStorage.getItem("ezuikit_addressList")),address=addressList&&addressList[that.deviceSerial+"_"+that.channelNo]||[];address.length>0&&address[0].wsUrl&&!["10002","10001","10031"].includes(null==(_res_=res[0])?void 0:_res_.code)?resolve(address[0].wsUrl):(_this.messageControl.hide(),reject(_extends$2({},res[0],{type:"fail"})))}})).catch((error=>{}))}))}))()}_beforeGetRealUrlServices(url){if(preInitParams&&preInitParams.getEzopenUrlRes)return url.indexOf(".rec")>-1&&void 0!==preInitParams.getRecTimesRes?Promise.resolve([preInitParams.getEzopenUrlRes,preInitParams.getRecTimesRes]):Promise.resolve([preInitParams.getEzopenUrlRes]);"rec"===this.urlInfo.type&&"cloud"===this.urlInfo.recType&&url.indexOf("busType=7")>-1&&this._spaceId&&(url=/spaceId=\d*/.test(url)?url.replace(/spaceId=\d*/,`spaceId=${this._spaceId}`):(url+"&spaceId="+this._spaceId).replace("?&","?").replace("&&","&"));let promises=[this._services.getEzopenUrl(url)];return url.indexOf(".rec")>-1&&promises.push(function(player){return __getRecTimesService.apply(this,arguments)}(this)),Promise.all(promises)}_play(options){return function(player,options){return null==player.emit||player.emit.call(player,EVENTS.play),player._playStartTime=(new Date).getTime(),"string"==typeof options&&(options={url:options}),options&&!options.unSaveUrl&&("string"==typeof options.url&&(player.url=options.url),player.urlInfo=distExports$7.parseEzopenUrl(player.url),player.deviceSerial=player.urlInfo.deviceSerial,player.channelNo=player.urlInfo.channelNo),player.playing=!0,player.loading=!0,player._getRecType((null==options?void 0:options.url)||player.url),new Promise(((resolve,reject)=>{var _player_jSPlugin;player.isStoping=!0,null==(_player_jSPlugin=player.jSPlugin)||_player_jSPlugin.JS_Stop("string"!=typeof options&&(null==options?void 0:options.showPoster)?options.showPoster:0).then((()=>{removePlayerCanvas(player.id),player.stopTime=Date.now();const getWsTimeStart=Date.now();player._getRealUrlServices("string"!=typeof options&&(null==options?void 0:options.url)?options.url:player.url,options&&"string"!=typeof options&&!!options.url).then((wssUrl=>{_pluginPlay(player,wssUrl,player.stopTime-player._playStartTime,getWsTimeStart).then((res=>{player.muted||setTimeout((()=>{player.openSound()}),500),resolve({code:0})})).catch((err=>{reject(err)}))})).catch((err=>{var _player_i18n,_player_params_handleError,_player_params;let msg=err.msg?err.msg:null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("PLAY_FAILED");player.playing=!1,player.isCall||player.isInspect,null==(_player_params=player.params)||null==(_player_params_handleError=_player_params.handleError)||_player_params_handleError.call(_player_params,{code:err.oError?err.oError.errorCode:err.code||-1,msg:msg,id:player.params.id,type:"handleError"}),player.emit("message",msg,"playError"),reject({code:err.oError?err.oError.errorCode:err.code||-1,msg:msg,id:player.id,type:"handleError"})}))}))}))}(this,options)}stop(callBack=()=>{},flag){return function(player,callBack=()=>{},flag){var _player_jSPlugin;return player.playing=!1,player.autoVideoLevelResume=player.autoVideoLevel,null==(_player_jSPlugin=player.jSPlugin)?void 0:_player_jSPlugin.JS_Stop(flag).then((()=>{null==player.emit||player.emit.call(player,EVENTS.stop,{eventType:EVENTS.stop,code:0,msg:player.i18n.t("STOP_SUCCESS")}),callBack()}))}(this,callBack,flag)}pause(bool){return function(player,bool){return player.playing=!1,new Promise(((resolve,reject)=>{var _player_jSPlugin,_player_jSPlugin1;null==(_player_jSPlugin=player.jSPlugin)||_player_jSPlugin.JS_CloseSound(0),null==(_player_jSPlugin1=player.jSPlugin)||_player_jSPlugin1.JS_Pause(0,bool).then((data=>{null==player.emit||player.emit.call(player,EVENTS.pause,{eventType:EVENTS.pause,code:0,msg:player.i18n.t("PAUSE")}),resolve()})).catch((err=>{null==player.emit||player.emit.call(player,EVENTS.pause,{eventType:EVENTS.pause,code:-1,msg:err||player.i18n.t("PAUSE_FAILED")}),reject(err)}))}))}(this,bool)}_resume(dateStr){return function(player,dateStr){return new Promise(((resolve,reject)=>{var _player_jSPlugin;if(player.validateCode&&""!=player.validateCode&&(null==(_player_jSPlugin=player.jSPlugin)||_player_jSPlugin.JS_SetSecretKey(0,player.validateCode)),!_recAlreadyFirstPlayed)return player.play().then((()=>{resolve({})})).catch((err=>{reject(err)}));player.jSPlugin.JS_Resume(dateStr).then((data=>{var _player_i18n;player.playing=!0,setTimeout((()=>{var _player_jSPlugin;-1!==player.url.indexOf(".rec")&&1!=player.speed&&(null==(_player_jSPlugin=player.jSPlugin)||_player_jSPlugin.JS_Speed(player._speed))}),500),null==player.emit||player.emit.call(player,EVENTS.resume,{eventType:EVENTS.resume,code:0,msg:null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("RESUME")}),resolve(data)})).catch((err=>{var _player_i18n;null==player.emit||player.emit.call(player,EVENTS.resume,{eventType:EVENTS.resume,code:-1,msg:err||(null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("RESUME_FAILED"))}),reject(err)}))}))}(this,dateStr)}changeVideoLevel(level){return function(player,videoLevel){if("object"==typeof videoLevel?"auto"===videoLevel.level:"auto"===videoLevel)return player.autoVideoLevel=!0,null==player.emit||player.emit.call(player,EVENTS.currentVideoLevel,"auto",player.videoLevel),null==player.emit||player.emit.call(player,EVENTS.changeVideoLevel,{eventType:EVENTS.changeVideoLevel,code:0,data:"auto",msg:player.i18n.t("CHANGE_VIDEO_LEVEL")}),Promise.resolve({code:1,data:videoLevel});const levelItem=(player.videoLevelList||[]).find((item=>+item.level==+("object"==typeof videoLevel?videoLevel.level:videoLevel)));var _player_logger;return levelItem?(player.videoLevel=levelItem.level,player.streamTypeIn=levelItem.streamTypeIn,player.autoVideoLevel=!1,null==player||player.emit(EVENTS.currentVideoLevel,levelItem,player.videoLevel),new Promise(_async_to_generator$4((function*(resolve){let url=player.url;if("compatible"===(null==levelItem?void 0:levelItem.type))url.indexOf(".hd.live")>=0?url=url.replace(".hd.live",".live"):url.indexOf(".live")>=0&&(url=url.replace(".live",".hd.live"));else try{var _player_logger_log,_player_logger,_player__services,_player_emit;null==(_player_logger=player.logger)||null==(_player_logger_log=_player_logger.log)||_player_logger_log.call(_player_logger,"[https request] setVideoLevel()","videoLevel",JSON.stringify(videoLevel));const result=yield null==(_player__services=player._services)?void 0:_player__services.setVideoLevel(player.videoLevel);null==player||null==(_player_emit=player.emit)||_player_emit.call(player,EVENTS.http.setVideoLevel,result)}catch(error){}player.changePlayUrl({url:player.url},(()=>{}),!1).then((res=>{null==player||player.emit(EVENTS.changeVideoLevel,{eventType:EVENTS.changeVideoLevel,code:0,data:videoLevel,msg:player.i18n.t("CHANGE_VIDEO_LEVEL")}),resolve({code:0,data:videoLevel,msg:player.i18n.t("CHANGE_VIDEO_LEVEL")})})).catch((()=>{null==player||player.emit(EVENTS.changeVideoLevel,{eventType:EVENTS.changeVideoLevel,code:-1,data:videoLevel,msg:player.i18n.t("CHANGE_VIDEO_LEVEL_FAIL")}),resolve({code:-1,data:videoLevel,msg:player.i18n.t("CHANGE_VIDEO_LEVEL_FAIL")})}))})))):(null==player.emit||player.emit.call(player,EVENTS.changeVideoLevel,{eventType:EVENTS.changeVideoLevel,code:-2,data:videoLevel,msg:player.i18n.t("VIDEO_LEVEL_NOT_SUPPORT")+":"+JSON.stringify(videoLevel)}),null==(_player_logger=player.logger)||_player_logger.warn("video level does not exist!"),Promise.resolve({code:-2,data:videoLevel}))}(this,level)}_setVideoLevel(level){return setVideoLevel(this,level)}reSetTheme(resetList=[]){}_changePlayUrl(options,callback=()=>{},reSetTheme=!0){return _changePlayUrl(this,options,callback)}getOSDTime(){return player=this,new Promise(((resolve,reject)=>{var _player_jSPlugin;null==(_player_jSPlugin=player.jSPlugin)||_player_jSPlugin.JS_GetOSDTime(0).then((data=>{player.__noSyncOSD||(null==player||player.emit(EVENTS.getOSDTime,{eventType:EVENTS.getOSDTime,code:0,data:data,msg:player.i18n.t("GET_OSD_TIME")}),data&&data>0&&(player._seekDate=new Date(1e3*data))),resolve({code:0,retcode:0,data:data})})).catch((err=>{null==player||player.emit(EVENTS.getOSDTime,{eventType:EVENTS.getOSDTime,code:-1,msg:err||player.i18n.t("GET_OSD_TIME")}),reject({code:-1,retcode:-1,data:err})}))}));var player}capturePicture(name,callback=!1,download,cloudRecUpload=!0){return function(player,name,callback=!1,download=!0,cloudRecUpload=!0){var _player_jSPlugin;name=name||(new Date).getTime()+"";var capturePictureRT=null==(_player_jSPlugin=player.jSPlugin)?void 0:_player_jSPlugin.JS_CapturePicture(0,name,"JPEG",callback,!!download);return new Promise(((resolve,reject)=>{capturePictureRT.then((res=>{const result={id:player.id,code:0,data:res.data,type:"handleCapturePicture"};null==player||player.emit(EVENTS.capturePicture,{eventType:EVENTS.capturePicture,code:0,data:res.data,msg:player.i18n.t("CAPTURE_SUCCESS")}),"function"==typeof player.params.handleCapturePicture&&player.params.handleCapturePicture(result),-1!==player.url.indexOf(".cloud")&&-1!==player.url.indexOf("busType=7")&&!1!==cloudRecUpload&&fetch(player.env.domain+"/api/service/cloud/upload/url"+`?fileName=${name}&fileType=pic&expireDays=-1&urlExpireTime=1&bizType=ezuikit&accessToken=${player.accessToken||player.token.httpToken.url}`,{method:"GET"}).then((response=>response.json())).then((getUrlRes=>{if(getUrlRes.data&&getUrlRes.data[0]){let formData=new FormData;Object.keys(getUrlRes.data[0].fields).map((key=>{formData.append(key,getUrlRes.data[0].fields[key])}));let binary=atob(res.data.base64.split(",")[1]),array=[];for(let i=0;i{var _player_logger;r.response&&r.response.meta&&200==r.response.meta.code&&(null==(_player_logger=player.logger)||_player_logger.log(`${res.data.fileName} upload to cloud storage completed`))}});uploader.upload()}else{var _player_logger;null==(_player_logger=player.logger)||_player_logger.error("Cloud recording file upload address acquisition failed",getUrlRes.meta.message)}})).catch((err=>{var _player_logger;null==(_player_logger=player.logger)||_player_logger.error("Cloud recording file upload failed: ",err)})),resolve(result)})).catch((err=>{null==player||player.emit(EVENTS.capturePicture,{eventType:EVENTS.capturePicture,code:-1,msg:err||player.i18n.t("CAPTURE_FAILED")});const result=Object.assign({id:player.id,type:"handleCapturePicture",code:-1},err);"function"==typeof player.params.handleCapturePicture&&player.params.handleCapturePicture(result),reject(result)}))}))}(this,name,callback,download,cloudRecUpload)}startSave(name,secretCode){return this.recording||!this.playing?Promise.resolve():(this.autoVideoLevelResume=this.autoVideoLevel,this.autoVideoLevel=!1,function(player,name,secretCode){var _player_jSPlugin;return player._playing?(null==(_player_jSPlugin=player.jSPlugin)?void 0:_player_jSPlugin.JS_StartSave(name,((url,file)=>{player.recordRes={url:url,file:file}}),secretCode||player.urlInfo.validateCode)).then((()=>{null==player.emit||player.emit.call(player,EVENTS.startSave,{eventType:EVENTS.startSave,code:0,msg:player.i18n.t("START_RECORD_SUCCESS")}),null==player.emit||player.emit.call(player,Theme.EVENTS.recordingChange,!0),p.getInstance(player.id).setState({recordvideo:!0}),player._recording=!0})).catch((()=>{null==player.emit||player.emit.call(player,EVENTS.startSave,{eventType:EVENTS.startSave,code:-1,msg:player.i18n.t("START_RECORD_FAILED")}),null==player.emit||player.emit.call(player,Theme.EVENTS.recordingChange,!1)})):Promise.resolve()}(this,name,secretCode||this.urlInfo.validateCode))}startRecord(name,secretCode){return this.startSave(name,secretCode)}stopSave(){return this.recording?(this.autoVideoLevel=this.autoVideoLevelResume,function(player){var _player_Theme_setDecoderState,_player_Theme;const instance=p.getInstance(player.id);return(null==instance?void 0:instance.getState().recordvideo)?(null==(_player_Theme=player.Theme)||null==(_player_Theme_setDecoderState=_player_Theme.setDecoderState)||_player_Theme_setDecoderState.call(_player_Theme,{recordvideo:!1}),new Promise(((resolve,reject)=>{var _player_jSPlugin;return null==(_player_jSPlugin=player.jSPlugin)?void 0:_player_jSPlugin.JS_StopSave().then((()=>{setTimeout((()=>{null==player||player.emit(EVENTS.stopSave,{eventType:EVENTS.stopSave,code:0,data:player.recordRes,msg:player.i18n.t("STOP_RECORD_SUCCESS")}),null==player.emit||player.emit.call(player,Theme.EVENTS.recordingChange,!1),instance.setState({recordvideo:!1}),setTimeout((()=>{player.recordRes=null}),50),player._recording=!1,resolve(_extends$5({},player.recordRes||{}))}),200)})).catch((()=>{null==player||player.emit(EVENTS.stopSave,{eventType:EVENTS.stopSave,code:-1,msg:player.i18n.t("STOP_RECORD_FAILED")}),player.recordRes=null,reject()}))}))):Promise.resolve()}(this)):Promise.resolve()}stopRecord(){return this.stopSave()}openSound(){return function(player){if(player._talking)return Promise.resolve();player.__muted=!1;const instance=p.getInstance(player.id);var openSoundRT=null==player.jSPlugin.JS_OpenSound?void 0:player.jSPlugin.JS_OpenSound.call(player.jSPlugin,0);return null==player.emit||player.emit.call(player,EVENTS.openSound,{eventType:EVENTS.openSound,code:openSoundRT,msg:player.i18n.t("OPEN_SOUND")}),p.setGlobalState({sound:!0}),instance.setState({sound:!0}),Array.isArray(p.listInstances())&&p.listInstances().map((item=>{item.state.sound&&item.id!=player.id&&p.getInstance(item.id).setState({sound:!1})})),player.muted=!1,Promise.resolve(openSoundRT)}(this)}closeSound(){return function(player){if(player._talking)return Promise.resolve();player.__muted=!0;var closeSoundRT=player.jSPlugin.JS_CloseSound(0);return null==player||player.emit(EVENTS.closeSound,{eventType:EVENTS.closeSound,code:closeSoundRT,msg:player.i18n.t("CLOSE_SOUND")}),p.getInstance(player.id).setState({sound:!1}),p.setGlobalState({sound:!1}),player.muted=!0,Promise.resolve(closeSoundRT)}(this)}enableZoom(){var player;(player=this).use3DZoom||player.zooming||(player.zooming=!0,null==player||player.emit(EVENTS.zoom.openZoom))}closeZoom(){var player;!(player=this).use3DZoom&&player.zooming&&(player.zooming=!1,null==player.emit||player.emit.call(player,EVENTS.zoom.closeZoom))}zoomAdd(scale){!function(player,scale){const zoom=player.zoom+(scale||1);!player.use3DZoom&&player.zooming&&(player.zoom=zoom)}(this,scale)}zoomSub(scale){!function(player,scale){const zoom=player.zoom-(scale||1);!player.use3DZoom&&player.zooming&&(player.zoom=zoom)}(this,scale)}enable3DZoom(){return _enable3DZoom(this)}close3DZoom(){return function(player){if(!player.use3DZoom)return new Promise((function(resolve,reject){var _player_i18n,_player_i18n1;null==player.emit||player.emit.call(player,EVENTS.close3DZoom,{eventType:EVENTS.close3DZoom,code:-1,msg:null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("3D_ZOOM_NOT_ACTIVED")}),resolve({code:-1,msg:null==(_player_i18n1=player.i18n)?void 0:_player_i18n1.t("3D_ZOOM_NOT_ACTIVED")})}));if(player.is3DZooming){var _player_i18n;player.Theme&&player.Theme.setDecoderState({zoom:!1});const close3DZoomRT=player.jSPlugin.JS_Disable3DZoom(0);return player.is3DZooming=!1,null==player.emit||player.emit.call(player,EVENTS.close3DZoom,{eventType:EVENTS.close3DZoom,code:close3DZoomRT,msg:null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("CLOSE_3D_ZOOM")}),Promise.resolve({code:close3DZoomRT})}return new Promise((function(resolve,reject){var _player_i18n,_player_i18n1;null==player.emit||player.emit.call(player,EVENTS.close3DZoom,{eventType:EVENTS.close3DZoom,code:0,msg:null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("3D_ZOOM_CLOSED")}),resolve({code:0,msg:null==(_player_i18n1=player.i18n)?void 0:_player_i18n1.t("3D_ZOOM_CLOSED")})}))}(this)}changeZoomType(flag){return function(player,flag){var _player_i18n;if(flag&&player.capacity&&!player.support3DZoom)return null==player.emit||player.emit.call(player,EVENTS.changeZoomType,{eventType:EVENTS.changeZoomType,code:-1,msg:null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("DEVICE_NOT_SUPPORT_3D_ZOOM")}),Promise.resolve({code:-1,msg:player.i18n.t("DEVICE_NOT_SUPPORT_3D_ZOOM")});if(player.is3DZooming)player.close3DZoom();else if(player.Theme&&player.Theme.decoderState.state.zoom){var _player_Zoom_stopZoom,_player_Zoom;null==(_player_Zoom=player.Zoom)||null==(_player_Zoom_stopZoom=_player_Zoom.stopZoom)||_player_Zoom_stopZoom.call(_player_Zoom)}return player.Theme&&player.Theme.setDecoderState({zoom:!1}),player.use3DZoom=flag,new Promise((resolve=>{setTimeout((()=>{var _player_i18n,_player_i18n1;const $zoomContent=document.getElementById(`${player.id}-zoom-content`);flag?$zoomContent&&($zoomContent.title=player.i18n.t("3D_ZOOM")):$zoomContent&&($zoomContent.title=player.i18n.t("ZOOM")),player.isMobile&&flag&&player.enable3DZoom(),null==player.emit||player.emit.call(player,EVENTS.changeZoomType,{eventType:EVENTS.changeZoomType,code:0,msg:null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("CHANGE_ZOOM_TYPE")}),resolve({code:0,msg:null==(_player_i18n1=player.i18n)?void 0:_player_i18n1.t("CHANGE_ZOOM_TYPE")})}),500)}))}(this,flag)}reSize(width,height){this.resize(width,height)}fast(speed){return function(player,speed){if(speed)_setSpeed(player,speed);else{const index=SPEED_LIST.findIndex((item=>item===player.speed));var _player_logger;if(!(index>0&&index<=SPEED_LIST.length-1))return null==(_player_logger=player.logger)||_player_logger.warn("it is already the maximum speed!"),"function"==typeof player.params.handleError&&player.params.handleError({msg:player.i18n.t("MAX_SPEED_LIMIT"),retcode:1003,code:-1,id:player.id,type:"fast"}),Promise.resolve({code:-1,data:{speed:player.speed,msg:player.i18n.t("MAX_SPEED_LIMIT")}});_setSpeed(player,SPEED_LIST[index-1])}return new Promise((resolve=>{null==player.emit||player.emit.call(player,EVENTS.fast,{eventType:EVENTS.fast,code:0,data:player.speed,msg:player.i18n.t("SPEED")}),resolve({code:0,data:{speed:player.speed}})}))}(this,speed)}slow(speed){return function(player,speed){if(speed)_setSpeed(player,speed);else{const index=SPEED_LIST.findIndex((item=>item===player.speed));var _player_logger;if(!(index>=0&&index{null==player.emit||player.emit.call(player,EVENTS.slow,{eventType:EVENTS.slow,code:0,data:player.speed,msg:player.i18n.t("SPEED")}),resolve({code:0,data:{speed:player.speed}})}))}(this,speed)}seek(startTime,endTime){return function(player,startTime,endTime){var _player_jSPlugin,_player_logger2;if(player.loading=!0,startTime=startTime.replace(/T|Z|\/|-/gi,"").replace(/ /gi,"").replace(/:/gi,""),endTime=(endTime||"").replace(/T|Z|\/|-/gi,"").replace(/ /gi,"").replace(/:/gi,""),!/^(\d{14}|\d{6})$/.test(startTime)||endTime&&!/^(\d{14}|\d{6})$/.test(endTime)){var _player_i18n,_player_logger,_player_i18n1;return"function"==typeof player.params.handleError&&player.params.handleError({msg:null==(_player_i18n1=player.i18n)?void 0:_player_i18n1.t("SEEK_TIMEFORMAT_ERROR"),retcode:-1,id:player.id,type:"handleError"}),null==player.emit||player.emit.call(player,EVENTS.seek,{eventType:EVENTS.seek,code:-2,msg:player.i18n.t("SEEK_TIMEFORMAT_ERROR")}),null==(_player_logger=player.logger)||_player_logger.error(null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("SEEK_TIMEFORMAT_ERROR")),Promise.resolve(!1)}if(startTime=(player.urlInfo.searchParams.begin||DateTime.formate(new Date,"YYYYMMDD")+"000000").slice(0,14-startTime.length)+startTime,endTime=endTime||startTime.replace(/\d{6}$/,"235959"),endTime=startTime.slice(0,14-endTime.length)+endTime,startTime.slice(0,8)!==endTime.slice(0,8)){var _player_i18n2,_player_logger1,_player_i18n3;return"function"==typeof player.params.handleError&&player.params.handleError({msg:null==(_player_i18n3=player.i18n)?void 0:_player_i18n3.t("SEEK_CANNOT_CROSS_DAYS"),retcode:-1,code:-1,id:player.id,type:"handleError"}),null==player.emit||player.emit.call(player,EVENTS.seek,{eventType:EVENTS.seek,code:-1,msg:player.i18n.t("SEEK_CANNOT_CROSS_DAYS")}),null==(_player_logger1=player.logger)||_player_logger1.error(null==(_player_i18n2=player.i18n)?void 0:_player_i18n2.t("SEEK_CANNOT_CROSS_DAYS")),Promise.resolve(!1)}return DateTime.strToDate(startTime).getTime()>=DateTime.strToDate(endTime).getTime()?("function"==typeof player.params.handleError&&player.params.handleError({msg:"start time is greater than the end time",retcode:-1,code:-1,id:player.id,type:"handleError"}),null==player.emit||player.emit.call(player,EVENTS.seek,{eventType:EVENTS.seek,code:-1,msg:"start time is greater than the end time"}),null==(_player_logger2=player.logger)||_player_logger2.error("start time is greater than the end time"),Promise.resolve(!1)):(null==(_player_jSPlugin=player.jSPlugin)||_player_jSPlugin.JS_Seek(0,DateTime.formate(startTime,"YYYYMMDDThhmmssZ"),DateTime.formate(endTime,"YYYYMMDDThhmmssZ")),null==player.emit||player.emit.call(player,EVENTS.seek,{eventType:EVENTS.seek,seekTime:DateTime.strToDate(startTime).getTime(),data:{begin:DateTime.strToDate(startTime).getTime(),end:DateTime.strToDate(endTime).getTime()}}),Promise.resolve(!0))}(this,startTime,endTime)}get isCurrentBrowserFullscreen(){return this.isCurrentFullscreen}startTalk(){!function(player){var _player_Talk;if(!player._playing)return;const globalState=p.getGlobalState(),instance=p.getInstance(player.id);var _player_i18n,_player_logger,_player_i18n1,_player_i18n2;if(window.__CURRENT_PLAYER_TALK_ID=player.id,globalState.talk)return null==(_player_logger=player.logger)||_player_logger.warn(null==player||null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("TALK_TALKING")),null==player||player.emit(EVENTS.startTalk,{eventType:EVENTS.startTalk,code:430005,msg:null==player||null==(_player_i18n1=player.i18n)?void 0:_player_i18n1.t("TALK_TALKING")}),null==player||player.emit("message",null==player||null==(_player_i18n2=player.i18n)?void 0:_player_i18n2.t("TALK_TALKING"),"warn"),void(null==player||player.emit(Theme.EVENTS.talkingChange,!1));null==(_player_Talk=player.Talk)||_player_Talk.startTalk((isGb=>{var _player_controls,_player_Talk_eventEmitter_once,_player_Talk_eventEmitter,_player_Talk;player.muted||isGb||(player.closeSound(),player.__talk_muted__=!0),(null==(_player_controls=player.controls)?void 0:_player_controls.volumeControl)&&(player.controls.volumeControl.disabled=!0),null==(_player_Talk=player.Talk)||null==(_player_Talk_eventEmitter=_player_Talk.eventEmitter)||null==(_player_Talk_eventEmitter_once=_player_Talk_eventEmitter.once)||_player_Talk_eventEmitter_once.call(_player_Talk_eventEmitter,"startTalk",(res=>{var _player_eventEmitter;null==player||null==(_player_eventEmitter=player.eventEmitter)||_player_eventEmitter.emit(EVENTS.startTalk,res)})),player._talking=!0,null==player||player.emit(Theme.EVENTS.talkingChange,!0),p.setGlobalState({talk:!0}),instance.setState({talk:!0})}))}(this)}stopTalk(){!function(player){var _player_Talk_stopTalk,_player_Talk,_player_controls;const globalState=p.getGlobalState(),instance=p.getInstance(player.id);window.__CURRENT_PLAYER_TALK_ID="",globalState.talk?(null==(_player_Talk=player.Talk)||null==(_player_Talk_stopTalk=_player_Talk.stopTalk)||_player_Talk_stopTalk.call(_player_Talk),null==player.emit||player.emit.call(player,EVENTS.stopTalk,{eventType:EVENTS.stopTalk,code:0,msg:"success"}),player._talking=!1,null==player||player.emit(Theme.EVENTS.talkingChange,!1),(null==(_player_controls=player.controls)?void 0:_player_controls.volumeControl)&&player._playing&&(player.controls.volumeControl.disabled=!1),player.__talk_muted__&&(null==player.openSound||player.openSound.call(player)),player.__talk_muted__=!1,globalState.talk&&p.setGlobalState({talk:!1}),instance.getState().talk&&instance.setState({talk:!1})):null==player.emit||player.emit.call(player,EVENTS.stopTalk,{eventType:EVENTS.stopTalk,code:-1,msg:"设备未发起对讲"})}(this)}setVolumeGain(value){return function(player,value){var _player_Talk;return null==(_player_Talk=player.Talk)?void 0:_player_Talk.setVolumeGain(value)}(this,value)}getMicrophonePermission(){return null==(_player_Talk=this.Talk)?void 0:_player_Talk.getMicrophonePermission();var _player_Talk}getMicrophonesList(){return null==(_player_Talk=this.Talk)||null==(_player_Talk_getMicrophonesList=_player_Talk.getMicrophonesList)?void 0:_player_Talk_getMicrophonesList.call(_player_Talk);var _player_Talk_getMicrophonesList,_player_Talk}setProfile(options){!function(player,options){var _player_Talk_setProfile,_player_Talk;null==(_player_Talk=player.Talk)||null==(_player_Talk_setProfile=_player_Talk.setProfile)||_player_Talk_setProfile.call(_player_Talk,options)}(this,options)}destroy(){var _this=this,_superprop_get_destroy=()=>super.destroy;return _async_to_generator((function*(){return preInitParams=null,function(player){__destroy.apply(this,arguments)}(_this),_superprop_get_destroy().call(_this),0}))()}getDeviceCapacity(){var player,_player_logger;(player=this).capacity={},null==(_player_logger=player.logger)||_player_logger.log("[https request] getDeviceCapacity()"),player._services.getDeviceCapacity().then((res=>{var _player_i18n_t,_player_i18n;player.capacity=res,player.support3DZoom=!1,player.capacity&&"1"==player.capacity.support_3d_position&&player.url.indexOf(".live")>-1&&(player.support3DZoom=!0,player.params.use3DZoom&&(player.use3DZoom=!0)),player.capacity&&"1"==player.capacity.support_device_auto_video_level&&(player.videoLevelList.push({level:"auto",name:"VIDEO_LEVEL_AUTO",streamTypeIn:1}),null==player.emit||player.emit.call(player,EVENTS.setVideoLevelList,player.videoLevelList),null==player.on||player.on.call(player,EVENTS.autoVideoLevel,(res=>{const index=player.videoLevelList.findIndex((item=>item.level===player.videoLevel));switch(res.code){case 0:break;case 1:const preLevel=player.videoLevelList[index-1];var _player_logger_log,_player_logger;preLevel&&"auto"!==preLevel.level&&player.videoLevelList[index].streamTypeIn===preLevel.streamTypeIn&&(null==(_player_logger=player.logger)||null==(_player_logger_log=_player_logger.log)||_player_logger_log.call(_player_logger,`卡顿比:${res.lagRate}%,降低清晰度至${preLevel.level}`),player._setVideoLevel(preLevel.level).then((()=>{var _player_emit;player.videoLevel=preLevel.level,null==player||null==(_player_emit=player.emit)||_player_emit.call(player,EVENTS.currentVideoLevel,"auto",player.videoLevel),setTimeout((()=>{const info=player.jSPlugin._JSPlayM4_GetFrameInfo(0);player._updateStreamInfo({resolution:getResolutionCategory(info.height)})}),5e3)})));break;case 2:const nextLevel=player.videoLevelList[index+1];var _player_logger_log1,_player_logger1;nextLevel&&"auto"!==nextLevel.level&&player.videoLevelList[index].streamTypeIn===nextLevel.streamTypeIn&&(null==(_player_logger1=player.logger)||null==(_player_logger_log1=_player_logger1.log)||_player_logger_log1.call(_player_logger1,`卡顿比:${res.lagRate}%,提升清晰度至${nextLevel.level}`),player._setVideoLevel(nextLevel.level).then((()=>{player.videoLevel=nextLevel.level,null==player.emit||player.emit.call(player,EVENTS.currentVideoLevel,"auto",player.videoLevel),setTimeout((()=>{const info=player.jSPlugin._JSPlayM4_GetFrameInfo(0);player._updateStreamInfo({resolution:getResolutionCategory(info.height)})}),5e3)})))}}))),null==player.emit||player.emit.call(player,EVENTS.getDeviceCapacity,{eventType:EVENTS.getDeviceCapacity,code:0,data:res,msg:null==(_player_i18n=player.i18n)||null==(_player_i18n_t=_player_i18n.t)?void 0:_player_i18n_t.call(_player_i18n,"GET_CAPACITY")})}))}getVideoLevelList(){return function(player){var _player_params_videoLevelList,_player_i18n;let videoLevelList=[];return videoLevelList=(null==(_player_params_videoLevelList=player.params.videoLevelList)?void 0:_player_params_videoLevelList.length)>=0?player.params.videoLevelList:player.videoLevelList,null==player.emit||player.emit.call(player,EVENTS.getVideoLevelList,{eventType:EVENTS.getVideoLevelList,code:0,data:videoLevelList,msg:null==(_player_i18n=player.i18n)?void 0:_player_i18n.t("GET_VIDEO_LEVEL_LIST")}),videoLevelList}(this)}getVideoLevel(){return null==(player=this)||player.emit(EVENTS.getVideoLevel,{eventType:EVENTS.getVideoLevel,code:0,data:player.videoLevel}),player.videoLevel;var player}getPtzStatus(){return(null==(_player_controls=(player=this).controls)?void 0:_player_controls.ptzControl)?(null==player.emit||player.emit.call(player,EVENTS.getPtzStatus,{eventType:EVENTS.getPtzStatus,code:0,data:player.controls.ptzControl.active,msg:player.i18n.t("GET_PTZ_STATUS")}),player.controls.ptzControl.active):(null==player.emit||player.emit.call(player,EVENTS.getPtzStatus,{eventType:EVENTS.getPtzStatus,code:-1,data:!1,msg:player.i18n.t("GET_PTZ_STATUS_FAILED")}),!1);var player,_player_controls}openPtz(){var _this_controls,player;if(null==(_this_controls=this.controls)?void 0:_this_controls.ptzControl)return(player=this).controls.ptzControl?(player.isMobile?player.isCurrentFullscreen?player.controls.ptzControl.active=!0:null==player.emit||player.emit.call(player,EVENTS.ptz.openPtz,{eventType:EVENTS.ptz.openPtz,code:-1,msg:player.i18n.t("MOBILE_HIDE_PTZ")}):player.controls.ptzControl.active=!0,{code:0}):(null==player.emit||player.emit.call(player,EVENTS.ptz.openPtz,{eventType:EVENTS.ptz.openPtz,code:-1,msg:player.i18n.t("OPTION_PTZ_FAILED")}),{code:-1,msg:player.i18n.t("OPTION_PTZ_FAILED")});this.logger.warn(this.i18n.t("OPTION_PTZ_FAILED"))}closePtz(){var _this_controls,player,_player_controls;if(null==(_this_controls=this.controls)?void 0:_this_controls.ptzControl)return(null==(_player_controls=(player=this).controls)?void 0:_player_controls.ptzControl)?(player.controls.ptzControl.active=!1,{code:0}):{code:-1,msg:player.i18n.t("OPTION_PTZ_FAILED")};this.logger.warn(this.i18n.t("OPTION_PTZ_FAILED"))}getPlayRate(){return null==this.emit||this.emit.call(this,EVENTS.getPlayRate,{eventType:EVENTS.getPlayRate,code:0,data:this.speed,target:this,msg:this.i18n.t("GET_SPEED")}),this.speed}setMirrorFlip(command){var _this_logger_log,_this_logger;return"number"!=typeof command?(null==this.emit||this.emit.call(this,EVENTS.setMirrorFlip,{eventType:EVENTS.setMirrorFlip,code:-1,target:this,msg:this.i18n.t("MIRROR_TYPE_ERROR")}),Promise.reject({code:-1,msg:this.i18n.t("MIRROR_TYPE_ERROR")})):(null==this.emit||this.emit.call(this,EVENTS.setMirrorFlip,{eventType:EVENTS.setMirrorFlip,code:0,target:this,msg:this.i18n.t("MIRROR")}),null==(_this_logger=this.logger)||null==(_this_logger_log=_this_logger.log)||_this_logger_log.call(_this_logger,"[https request] postDevicePtzMirror() command",command),this._services.postDevicePtzMirror(command))}setFECCorrectType(type,ids){return _getFEC3DViewParam(this,type)}setFEC3DViewParam(param){return function(player,param){var _player_jSPlugin,_player_jSPlugin1,_player_jSPlugin2;return!player._FECCorrectType||((null==(_player_jSPlugin=player.jSPlugin)?void 0:_player_jSPlugin.isHardH264)||(null==(_player_jSPlugin1=player.jSPlugin)?void 0:_player_jSPlugin1.isHardH265))&&(null==(_player_jSPlugin2=player.jSPlugin)?void 0:_player_jSPlugin2.useHardDev)?(null==player.emit||player.emit.call(player,EVENTS.setFEC3DViewParam,{eventType:EVENTS.setFEC3DViewParam,code:-1,msg:player.i18n.t("FEC.FEC_SUPPORT_VERSION")}),Promise.resolve({code:-1,msg:player.i18n.t("FEC.FEC_SUPPORT_VERSION")})):player.jSPlugin.FEC_Set3DViewParam&&player._FECCorrectType&&(3===player._FECCorrectType.place&&1536===player._FECCorrectType.correctType||1===player._FECCorrectType.place&&2304===player._FECCorrectType.correctType)?player.jSPlugin.FEC_Set3DViewParam(param).then((()=>(null==player.emit||player.emit.call(player,EVENTS.setFEC3DViewParam,{eventType:EVENTS.setFEC3DViewParam,code:0,msg:player.i18n.t("FEC.SET_FEC_PARAMS")}),{code:0}))).catch((()=>(null==player.emit||player.emit.call(player,EVENTS.setFEC3DViewParam,{eventType:EVENTS.setFEC3DViewParam,code:-1}),{code:-1}))):(null==player.emit||player.emit.call(player,EVENTS.setFEC3DViewParam,{eventType:EVENTS.setFEC3DViewParam,code:-1,msg:player.i18n.t("FEC.SET_FEC_PARAMS_FAILED")}),Promise.resolve({code:-1,msg:player.i18n.t("FEC.SET_FEC_PARAMS_FAILED")}))}(this,param)}getFEC3DViewParam(param){return _getFEC3DViewParam(this,param)}setWaterMarkFont(options){return function(player,options){return null==player.emit||player.emit.call(player,EVENTS.setWaterMarkFont,{eventType:EVENTS.setWaterMarkFont,code:0,data:options,msg:player.i18n.t("SET_WATERMARK")}),player.waterMark_JSPlugin=options,player.jSPlugin.JS_SetWaterMarkFont(options)}(this,options)}setTimeLineClickable(clickAble){this.timeLineClickable=clickAble,this.Theme&&this.Theme.Rec&&this.Theme.Rec.timeLine&&this.Theme.Rec.timeLine.setTimeLineClickable(clickAble)}setLoggerOptions(options={}){var _this_jSPlugin_player,_this_jSPlugin;super.setLoggerOptions(options),null==(_this_jSPlugin=this.jSPlugin)||null==(_this_jSPlugin_player=_this_jSPlugin.player)||_this_jSPlugin_player.setLogger({level:options.level,showTime:options.showTime})}setDisplayRegion(left,right,top,bottom){var _this_jSPlugin_player,_this_jSPlugin;null==this.emit||this.emit.call(this,EVENTS.setDisplayRegion,{left:left,right:right,top:top,bottom:bottom}),null==(_this_jSPlugin=this.jSPlugin)||null==(_this_jSPlugin_player=_this_jSPlugin.player)||_this_jSPlugin_player.setDisplayRegion(left,right,top,bottom)}_initGetDeviceSupportQuality(){return this.url.indexOf(".live")>-1?new Promise((resolve=>{this._beforeInitGetDeviceSupportQuality().then((res=>{if(["0","1","2","3","4","5","6","pp","qp"].includes(this._quality+"")||this._quality<0){const videoLevelList=this.params.videoLevelList||this.videoLevelList;let item={};if("pp"===this._quality)item=videoLevelList[0];else if("qp"===this._quality)try{item=videoLevelList[videoLevelList.length-1]}catch(error){}else item=videoLevelList.find((it=>it.level===+this._quality));var _this_logger;if(item)setVideoLevel(this,item.level).then((()=>{resolve()})),this.videoLevel=item.level,this.streamTypeIn=item.streamTypeIn,null==this.emit||this.emit.call(this,EVENTS.currentVideoLevel,item,item.level);else null==(_this_logger=this.logger)||_this_logger.warn(`quality(${this._quality}) does not exist!`),resolve()}else resolve()}))})):Promise.resolve()}_beforeInitGetDeviceSupportQuality(){if(preInitParams&&preInitParams.getDeviceSupportQualityRes&&preInitParams.getDeviceListRes){var _this_videoLevelList_,_this_videoLevelList;const currentChannelNoItem=preInitParams.getDeviceListRes.find((item=>item.channelNo===+this.urlInfo.channelNo));this._setVideoLevelList(this.params.videoLevelList?this.params.videoLevelList:preInitParams.getDeviceSupportQualityRes);let currentVideoLevel={};return currentVideoLevel="compatible"===(null==(_this_videoLevelList_=this.videoLevelList[0])?void 0:_this_videoLevelList_.type)?this.url.indexOf(".hd.live")>0?this.videoLevelList[1]:this.videoLevelList[0]:this.videoLevelList.find((item=>item.level==(null==currentChannelNoItem?void 0:currentChannelNoItem.videoLevel)))||{},(null==currentVideoLevel?void 0:currentVideoLevel.streamTypeIn)?(this.videoLevel=currentVideoLevel.level,this.streamTypeIn=currentVideoLevel.streamTypeIn):(null==(_this_videoLevelList=this.videoLevelList)?void 0:_this_videoLevelList.length)>0&&(this.videoLevel=this.videoLevelList[0].level,this.streamTypeIn=this.videoLevelList[0].streamTypeIn,currentVideoLevel=this.videoLevelList[0]),Promise.resolve([[preInitParams.getDeviceSupportQualityRes,preInitParams.getDeviceListRes]])}let promises=[_getDeviceSupportQualityServicesAndGetDeviceListServices(this)];return Promise.all(promises)}_deviceSerialChangeServices(){var _this=this;return _async_to_generator((function*(){var _this__services,player,_player_logger,_player__services;return Promise.all([null==(_this__services=_this._services)?void 0:_this__services.getAppKey().then((res=>{var _res_meta,_res_data,_this_logger_log,_this_logger,_this__collect,_this__collect1;200===(null==res||null==(_res_meta=res.meta)?void 0:_res_meta.code)?(null==(_this_logger=_this.logger)||null==(_this_logger_log=_this_logger.log)||_this_logger_log.call(_this_logger,"[https response] getAppKey()",JSON.stringify(res.data)),null==(_this__collect=_this._collect)||_this__collect.updateAppKey(res.data.appKey)):null==(_this__collect1=_this._collect)||_this__collect1.updateAppKey("test");return(null==res||null==(_res_data=res.data)?void 0:_res_data.appKey)||""})),(player=_this,null==(_player_logger=player.logger)||_player_logger.log("[https request] getDeviceInfo()"),null==(_player__services=player._services)?void 0:_player__services.getDeviceInfo().then((res=>{var _player_controls_deviceControl,_player_controls;return player.deviceInfo=res,null==player.emit||player.emit.call(player,EVENTS.http.getDeviceInfo,res),null==(_player_controls=player.controls)||null==(_player_controls_deviceControl=_player_controls.deviceControl)||_player_controls_deviceControl.update(null==res?void 0:res.deviceName,null==res?void 0:res.deviceSerial,""),res}))),_this.getDeviceCapacity(),_getStreamAddressListService(_this)])}))()}supportSeek(){var _this_urlInfo,_this_capacity,_this_urlInfo1;return("cloud"===(null==(_this_urlInfo=this.urlInfo)?void 0:_this_urlInfo.recType)||this.options.useSeek&&"1"===(null==(_this_capacity=this.capacity)?void 0:_this_capacity.support_seek_playback))&&!(null==(_this_urlInfo1=this.urlInfo)?void 0:_this_urlInfo1.deviceSerial.includes(":"))}_isLive(){return this.url.indexOf(".live")>=0}_updateStreamInfo(infos){this.showStreamInfo&&Object.keys(infos).length>0&&Object.keys(infos).map((key=>{const infoDom=this.$container.querySelector(`.ezplayer-streamInfo-${key}-value`);infoDom&&(infoDom.innerHTML=infos[key])}))}displayStreamInfo(flag){this.showStreamInfo=flag;const StreamInfoClass="ezplayer-streamInfo";if(flag&&this.$container){var _this_jSPlugin_player,_this_jSPlugin;null==(_this_jSPlugin=this.jSPlugin)||null==(_this_jSPlugin_player=_this_jSPlugin.player)||_this_jSPlugin_player.setStreamInfoCallBackType(0);const streamInfoText=`\n
${this.i18n.t("videoFormat")}: ${this.streamInfo.videoFormat}
\n
${this.i18n.t("frameRate")}: ${this.streamInfo.frameRate}
\n
${this.i18n.t("systemFormat")}: ${this.streamInfo.systemFormat}
\n
${this.i18n.t("resolution")}: ${this.streamInfo.resolution}
\n
${this.i18n.t("bitrate")}: ${this.streamInfo.codeRate}
\n
${this.i18n.t("frameLostRate")}: ${this.streamInfo.frameLostRate}
\n
${this.i18n.t("lagRate")}: ${this.streamInfo.lagRate}
\n `;var _this_$container;if(this._$streamInfo||(this._$streamInfo=document.createElement("div"),this._$streamInfo.classList.add(`${StreamInfoClass}`),this._$streamInfo.style.cssText=`\n position: absolute;\n ${this.isMobile?"top:32px;":"top: 48px;"}\n ${this.isMobile?"font-size:12px;":"font-size:14px;"}\n right: 10px; color: #52C41A; width: 170px; background-color: rgba(0,0,0,0.6);\n user-select: none;\n pointer-events: none;\n padding: 10px;\n z-index:2;\n `),this._$streamInfo)this._$streamInfo.innerHTML=streamInfoText,null==(_this_$container=this.$container)||_this_$container.appendChild(this._$streamInfo)}else{var _this_jSPlugin_player1,_this_jSPlugin1;this._$streamInfo&&(this._$streamInfo.remove(),this._$streamInfo=null),null==(_this_jSPlugin1=this.jSPlugin)||null==(_this_jSPlugin_player1=_this_jSPlugin1.player)||_this_jSPlugin_player1.setStreamInfoCallBackType(1)}}constructor(params){var _params_videoLevelList,_params_definitionOptions_list,_params_definitionOptions,_params_definitionOptions1,_params_definitionOptions2,_params_staticPath,_params_definitionOptions3,_params_extraParams,_this_urlInfo_searchParams,_window_location,_window,_window_location1,_window1,_this_env;if(super(_extends$2({},deepmerge(DEFAULT_OPTIONS,params,{clone:!1}),(null==(_params_videoLevelList=params.videoLevelList)?void 0:_params_videoLevelList.length)||(null==params||null==(_params_definitionOptions=params.definitionOptions)||null==(_params_definitionOptions_list=_params_definitionOptions.list)?void 0:_params_definitionOptions_list.length)?{definitionOptions:{value:null==params||null==(_params_definitionOptions1=params.definitionOptions)?void 0:_params_definitionOptions1.value,list:(null==params||null==(_params_definitionOptions2=params.definitionOptions)?void 0:_params_definitionOptions2.list)||params.videoLevelList}}:{},{capturePictureOptions:_extends$2({type:0!=params.download?"download":"base64"},params.capturePictureOptions||{}),staticPath:(null==(_params_staticPath=params.staticPath)?void 0:_params_staticPath.startsWith("http"))?params.staticPath:distExports$7.getStaticPath(params.staticPath||"https://openstatic.ys7.com/ezuikit_js/v8.2.2/ezuikit_static"),autoPlay:deepmerge(DEFAULT_OPTIONS,params,{clone:!1}).autoplay,container:document.getElementById(params.id),type:"ezopen"})),this._services=null,this._recOSDTimer=null,this.videoInfo={},this.audioInfo={},this.urlInfo={},this._$streamInfo=null,this._handleRealUrl=realUrl=>realUrl,this.params=deepmerge(DEFAULT_OPTIONS,_extends$2({},params,{videoLevelList:(null==params||null==(_params_definitionOptions3=params.definitionOptions)?void 0:_params_definitionOptions3.list)||params.videoLevelList}),{clone:!1}),!params.id)throw new Error("id param is required!");if(!document.getElementById(params.id))throw new Error(`#${this.params.id} node does not exist`);this.i18n.appendTranslations({zh:zh_CN,en:en_US}),this.eventEmitter={on:this.on.bind(this),emit:this.emit.bind(this),off:this.off.bind(this),once:this.once.bind(this),removeAllListeners:this.removeAllListeners.bind(this)},this.params.autoplay&&(this.loading=!0),this.autoplay=this.params.autoplay,this.logger.setOptions({name:(this.params.loggerOptions.name+" #"+params.id).replace(/^ /,"")}),this.logger.log("[version]",EZUIKitPlayer.version),this.isStoping=!1,this.sdkType=void 0!==this.params.sdkType?this.params.sdkType:"base",this.talkChannelNo=params.talkChannelNo||null,__eventsLogger(this),this.emit(EVENTS.init),this.timeZone=0,this.ptzSpeed=params.ptzSpeed||2,this.download=void 0===params.download||params.download,this.downloadRecord=void 0===params.downloadRecord||params.downloadRecord,this.timeLineClickable=void 0!==params.timeLineClickable&¶ms.timeLineClickable,this.onTimeLineClick=void 0!==params.onTimeLineClick?params.onTimeLineClick:null,this.recordRes={},this.disableRenderPrivateData=void 0===params.disableRenderPrivateData||params.disableRenderPrivateData,this.ptzSpeedOptions={slow:1,mid:2,fast:3},window.EZUIKit[params.id]={state:{EZUIKitPlayer:{talkInit:window.EZUIKit[params.id]&&window.EZUIKit[params.id].state&&window.EZUIKit[params.id].state.EZUIKitPlayer.talkInit||!1}}},this.urlInfo=distExports$7.parseEzopenUrl(params.url),this._services=new Services({sdkType:this.sdkType,baseURL:this.params.env?this.params.env.domain:DOMAIN,accessToken:params.accessToken,deviceSerial:this.urlInfo.deviceSerial,channelNo:this.urlInfo.channelNo,token:params.token||{},ezopenParams:(null==(_params_extraParams=params.extraParams)?void 0:_params_extraParams.ezopenParams)||{},timeZone:null==(_this_urlInfo_searchParams=this.urlInfo.searchParams)?void 0:_this_urlInfo_searchParams.timeZone}),this.logger.log("[Services] init"),new HttpFetch(this.params.env?this.params.env.domain:null),this.id=params.id,this.isCall=params.isCall||!1,this.callTime=params.callTime||null,this.hangUpCallback=params.hangUpCallback||null,this.isNeedBellRing=!1!==params.isNeedBellRing,this.url=params.url,this.accessToken=params.accessToken,this.deviceSerial=this.urlInfo.deviceSerial,this.channelNo=this.urlInfo.channelNo,this.poster=params.poster,this.disabledTimeLine=!1,this.disabledPTZ=!1,this.capacity=null,this.playTimer=null,this.env={domain:DOMAIN},void 0!==params.env&&(this.env=Object.assign(this.env,params.env)),this.isMobile=distExports$7.isMobile(),this.support3DZoom=!1,this.use3DZoom=!1,this.is3DZooming=!1,this.useHardDev=void 0!==params.useHardDev&¶ms.useHardDev,this._spaceId=getQueryString("spaceId",this.url)||this.options.spaceId,this.waterMark_JSPlugin=!1,this.useSeek=params.useSeek,this.dpr=params.dpr||1,this.decoderType=params.decoderType||"auto",this.videoLevel=1,this.streamTypeIn=1,this.autoVideoLevel=!1,this.autoVideoLevelResume=!1,this.lagRateCycle=params.lagRateCycle||30,this.showStreamInfo=void 0!==params.showStreamInfo&¶ms.showStreamInfo,this.streamInfo={videoFormat:"",frameRate:"0FPS",systemFormat:"",resolution:"",codeRate:"0Kbps",frameLostRate:"0%",lagRate:"0%"},this.frameDecordTime=0,this.language=params.language||"zh",this.languageList=params.languageList||["zh","en"],-1===this.languageList.indexOf(this.language)&&(this.logger.warn(`language [${this.language}] is currently not supported and has been switched to zh`),this.language="zh"),this.token=params.token||{},this.deviceInfo={},this._quality=params.quality,this.isInspect=params.isInspect||!1,this.inspectRecordingDuration=params.inspectRecordingDuration||144e5,this.inspectVideoWidth=params.inspectVideoWidth||290,this.inspectVideoHeight=params.inspectVideoHeight||170,this._FECCorrectType=null,this._FECSplitIds="",this.initSuccessTime=0,this._initTime=0,this._gotWsUrlTime=0,this._startGetWsUrlTime=0,this.appearFirstFrameTime=0,this._openStreamTime=0,this.maxReloadTime=0,this.maxAddressAccount=params.maxAddressAccount||1e3,this.reloadCodeBalckList=params.reloadCodeBalckList||[5402,5406,5411,5507,5546,9048,9049,5451,5558,6701];const isV3=!this.useHardDev&&isVersion2Available()||this.useHardDev&&!isSupHardDecAVC()&&!isSupHardDecHEVC()&&isVersion2Available()||this.useHardDev&&(isSupHardDecAVC()||isSupHardDecHEVC()||isVersion2Available());this.isV3=isV3,void 0!==params.isMobile&&(this.isMobile=params.isMobile),this._monitorReport=!1!==params.dataReport&&("https:"===(null==(_window=window)||null==(_window_location=_window.location)?void 0:_window_location.protocol)&&!function(hostname){const parts=hostname.split(".").map((function(part){return!Number.isNaN(part)}));return 4===parts.length&&parts.every(Boolean)}(null==(_window1=window)||null==(_window_location1=_window1.location)?void 0:_window_location1.hostname)),this._collect=new Collect({domain:null==(_this_env=this.env)?void 0:_this_env.domain,monitorReport:this._monitorReport,pluginVersion:this.isV3?"v3":"v1",extendsInfo:{v:"8.2.2",getDynamic:()=>{var _this_env;return{protocol:"ezopen",url:this.url,serial:this.urlInfo.deviceSerial,no:this.urlInfo.channelNo,env:null==(_this_env=this.env)?void 0:_this_env.domain,type:this.urlInfo.type}}}}),this.logger.log("[Collect] init");let addressList=JSON.parse(localStorage.getItem("ezuikit_addressList"))||{},keys=Object.keys(addressList);keys.length>this.maxAddressAccount&&keys.map(((key,index)=>{indexkeys.length-this.maxAddressAccount||delete addressList[key]}));try{const ADDRESS_KEY=this.deviceSerial+"_"+this.channelNo;addressList[ADDRESS_KEY]||(addressList=_extends$2({},addressList,{[ADDRESS_KEY]:[]}),localStorage.setItem("ezuikit_addressList",JSON.stringify(addressList))),localStorage.getItem("ezuikit_reloadAddressList")&&localStorage.removeItem("ezuikit_reloadAddressList")}catch(error){}var player;this.logger.log("[options]",JSON.stringify(this.params)),this.startPlayTime=(new Date).valueOf(),this._init(),this.play=debounce((options=>this._play(options)),500,!0),this.resume=debounce((time=>this._resume(time)),500,!0),this.changePlayUrl=debounce(((options,callback,reSetTheme)=>this._changePlayUrl(options,callback,reSetTheme)),500),window.addEventListener("beforeunload",(()=>{if(!this.destroyed)try{p.removeInstance(this.id),this.stop()}catch(err){}})),null==(player=this)||player.on(EVENTS.talkSuccess,(data=>{player.Theme&&!player.Theme.decoderState.state.talk&&player.id===data.id&&player.Theme.setDecoderState({talk:!0});const globalState=p.getGlobalState(),instance=p.getInstance(player.id);globalState.talk||p.setGlobalState({talk:!0}),instance.getState().talk||instance.setState({talk:!0})})),null==player||player.on(EVENTS.talkError,(()=>{var _player_Theme_setDecoderState,_player_Theme;null==(_player_Theme=player.Theme)||null==(_player_Theme_setDecoderState=_player_Theme.setDecoderState)||_player_Theme_setDecoderState.call(_player_Theme,{talk:!1});const globalState=p.getGlobalState(),instance=p.getInstance(player.id);globalState.talk&&p.setGlobalState({talk:!1}),instance.getState().talk&&instance.setState({talk:!1})})),null==player||player.on(EVENTS.stop,(()=>{player.stopSave()})),null==player||player.on(EVENTS.pause,(()=>{player.stopSave()})),function(player){var _player_Talk_eventEmitter,_player_Talk;player.on(Theme.EVENTS.changeTheme,(()=>{player.recording&&player.stopRecord()})),player.on(Theme.EVENTS.control.play,(playing=>{playing?player.recType&&player._recOSDTimer?player.resume():player.play():player.pause()})),player.on(Theme.EVENTS.control.capturePicture,(options=>{const download="download"===options.type;player.capturePicture(void 0,!1,download,options.cloudRecUpload).then((res=>{var _player_controls_capturePictureControl,_player_controls;null==(_player_controls=player.controls)||null==(_player_controls_capturePictureControl=_player_controls.capturePictureControl)||_player_controls_capturePictureControl.emit(Theme.EVENTS.control.capturePictureResult,res)}))})),player.on(Theme.EVENTS.volumechange,((_volume,muted)=>{muted!==player.__muted&&(muted?player.closeSound():player.openSound())})),player.on(Theme.EVENTS.control.recordingChange,(recording=>{recording?player.startSave():player.stopSave()})),player.on(Theme.EVENTS.control.talkingChange,(talking=>{talking?player.startTalk():player.stopTalk()})),null==(_player_Talk=player.Talk)||null==(_player_Talk_eventEmitter=_player_Talk.eventEmitter)||_player_Talk_eventEmitter.on("talkVolumeChange",(({data:data})=>{player.emit(Theme.EVENTS.talkVolumeChange,data)})),player.on(Theme.EVENTS.control.definitionChange,(value=>{player.resetControl(),player.changeVideoLevel(value)})),player.on(Theme.EVENTS.control.speedChange,(speed=>{player.fast(speed)})),player.on(Theme.EVENTS.control.recTypeChange,(type=>{var _player_urlInfo_searchParams,_player_urlInfo;player.resetControl(),player._recOSDTimer&&(clearInterval(player._recOSDTimer),player._recOSDTimer=null),player._seekIntervaltimer&&(clearInterval(player._seekIntervaltimer),player._seekIntervaltimer=null);const spaceId=(null==(_player_urlInfo=player.urlInfo)||null==(_player_urlInfo_searchParams=_player_urlInfo.searchParams)?void 0:_player_urlInfo_searchParams.spaceId)||player.options.spaceId,newUrl=distExports$7.switchEzopenUrl(player.url,{type:"rec",recType:"rec"===type?"":"cloud",search:"cloudRecord"===type?"busType=7"+(spaceId?`&spaceId=${spaceId}`:""):"busType="+(spaceId?"&spaceId=":"")});player._speed=1,player.changePlayUrl({url:newUrl})})),player.on(Theme.EVENTS.control.dateChange,(date=>{const day=DateTime.formate(date,"YYYYMMDD");player.resetControl(),player._recOSDTimer&&(clearInterval(player._recOSDTimer),player._recOSDTimer=null),player._seekIntervaltimer&&(clearInterval(player._seekIntervaltimer),player._seekIntervaltimer=null);const newUrl=distExports$7.switchEzopenUrl(player.url,{search:`begin=${day+"000000"}&end=${day+"235959"}`});player._speed=1,player.changePlayUrl({url:newUrl})})),player.on(Theme.EVENTS.control.timeLineChange,(date=>{var _player_recordList;player.recording&&player.stopSave();let begin="";var _player_urlInfo_searchParams,_player_urlInfo,_player_urlInfo_searchParams1,_player_urlInfo1;if("string"==typeof date?begin=DateTime.formate((null==(_player_urlInfo=player.urlInfo)||null==(_player_urlInfo_searchParams=_player_urlInfo.searchParams)?void 0:_player_urlInfo_searchParams.begin)?DateTime.strToDate(null==(_player_urlInfo1=player.urlInfo)||null==(_player_urlInfo_searchParams1=_player_urlInfo1.searchParams)?void 0:_player_urlInfo_searchParams1.begin):new Date,"YYYYMMDD")+`${date.replace(/:/gi,"")}`:date instanceof Date&&(begin=DateTime.formate(date,"YYYYMMDDhhmmss")),null==(_player_recordList=player.recordList)?void 0:_player_recordList.length){const second=DateTime.strToDate(player.recordList[player.recordList.length-1].endTime).getTime();if(DateTime.strToDate(begin).getTime()>=second)return void player.logger.warn("seek time is greater than the last record end time")}if(player._recOSDTimer&&(clearInterval(player._recOSDTimer),player._recOSDTimer=null),player._seekIntervaltimer&&(clearInterval(player._seekIntervaltimer),player._seekIntervaltimer=null),player.supportSeek()&&player.playing){var _player__seekDate;player.__noSyncOSD=!0;const isGtOsd=DateTime.strToDate(begin).getTime()>(null==(_player__seekDate=player._seekDate)?void 0:_player__seekDate.getTime());player._seekDate=DateTime.strToDate(begin),player.seek(begin.substr(8,6),"235959").then((()=>{player.__noSyncOSD=!0,player._seekIntervaltimer=setInterval((()=>{player.getOSDTime().then((res=>{res.data&&(isGtOsd&&1e3*res.data>=DateTime.strToDate(begin).getTime()||!isGtOsd&&1e3*res.data-2e3>=DateTime.strToDate(begin).getTime())&&(player.loading=!1,clearInterval(player._seekIntervaltimer),player.__noSyncOSD=!1,player._seekIntervaltimer=null,player.loading=!1,player._recOSDTimer=setInterval(_async_to_generator$1((function*(){null==player.getOSDTime||player.getOSDTime.call(player)})),1e3))}))}),1e3)}))}else{const newUrl=distExports$7.switchEzopenUrl(player.url,{search:`begin=${begin}`});player.play({url:newUrl,unSaveUrl:!0,showPoster:!0})}})),player.on("Control.contentRerender",(info=>{var _player_jSPlugin_player_emit,_player_jSPlugin_player,_player_jSPlugin;null==(_player_jSPlugin=player.jSPlugin)||null==(_player_jSPlugin_player=_player_jSPlugin.player)||null==(_player_jSPlugin_player_emit=_player_jSPlugin_player.emit)||_player_jSPlugin_player_emit.call(_player_jSPlugin_player,"Control.contentRerender",info)}))}(this)}}EZUIKitPlayer.Talk=v$1,EZUIKitPlayer.provider=p,EZUIKitPlayer.LOCALES={zh:zh_CN,en:en_US},EZUIKitPlayer.EVENTS=EVENTS,EZUIKitPlayer.version="8.2.2",EZUIKitPlayer.prototype.tokenSchema={streamToken:{live:{actionType:"PREVIEW",resourceCategory:"global"},rec:{actionType:"PLAYBACK",resourceCategory:"global"},talk:{actionType:"TALK",resourceCategory:"global"}},deviceToken:{video:{action:"*",resourceCategory:"video"},global:{action:"*",resourceCategory:"global"}},httpToken:{url:{urlPattern:"/**"}}},EZUIKitPlayer.prototype.deepCheck=(schema,data,depth=1)=>{if(depth<0)return{};let result={};for(const key in schema)if(void 0!==schema[key]&&void 0===data[key])result[key]=schema[key];else if("object"==typeof schema[key]&&!Array.isArray(schema[key])){const recursiveResult=EZUIKitPlayer.prototype.deepCheck(schema[key],data[key],depth-1);Object.keys(recursiveResult).length>0&&(result[key]=recursiveResult)}return result},EZUIKitPlayer.prototype.checkToken=tokenlist=>EZUIKitPlayer.prototype.deepCheck(EZUIKitPlayer.prototype.tokenSchema,tokenlist);class EventEmitter{on(type,listener){type&&listener&&(this.events[type]=this.events[type]||[],this.events[type].push(listener))}emit(type,arg){type&&this.events[type]&&this.events[type].forEach((listener=>listener(arg)))}off(type,listener){type&&listener&&this.events[type]&&this.events[type].splice(this.events[type].indexOf(listener),1)}once(type,listener){const self=this;this.on(type,(function fn(){const args=Array.prototype.slice.call(arguments);listener.apply(null,args),self.off(type,fn)}))}removeAllListener(){this.events={}}constructor(){this.events={}}}function _extends$1(){return _extends$1=Object.assign||function(target){for(var i=1;i{},onPageChange:()=>{}};class EZUIKitInspection{_initScreen(i){const item=this.status.list[i];if(item&&"container"in item&&item.container)return item.container;const $screen=document.createElement("div");var _this_status_screenStyle;if($screen.id=this.container.id+"-screen-"+i,$screen.style.cssText=null!=(_this_status_screenStyle=this.status.screenStyle)?_this_status_screenStyle:`\n width: ${this.status.list[i]&&this.status.list[i].width?this.status.list[i].width:600}px;\n height: ${this.status.list[i]&&this.status.list[i].height?this.status.list[i].height:400}px;\n position: relative;\n overflow: hidden;\n background-color: #000;\n background-image: url('${this.status.imgUrl}');\n background-size: 100% 100%;\n `,this.status.text){const $text=document.createElement("span");var _this_status_textStyle;$text.style.cssText=null!=(_this_status_textStyle=this.status.textStyle)?_this_status_textStyle:"\n color: #fff;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n ",$text.innerText=this.status.text,$screen.appendChild($text);const referenceNode=this.container.children[i];referenceNode?this.container.insertBefore($screen,referenceNode):this.container.appendChild($screen)}return $screen}_destroyScreen(i){const $screen=document.getElementById(`${this.container.id}-screen-${i}`);$screen&&this.container.removeChild($screen)}constructor(container,options){if(this.destroyScreen=(index,destroyAll)=>{this.screenList[index].destroy(),delete this.screenList[index],this._destroyScreen(index),!destroyAll&&this._initScreen(index)},this._emitInitPlayerResult=(code,msg)=>{const result={eventType:"initPlayer",code:code,msg:msg};this.eventEmitter.emit("initPlayer",result)},this.initPlayer=(initIndex,screenIndex,options)=>{const pageIndex=this.status.pageIndex,pageSize=this.status.pageSize,list=this.status.list;let player;if(void 0!==options){const index=void 0!==screenIndex?screenIndex:this.status.selectScreen;this.screenList[index]?(this.screenList[index].player&&this.screenList[index].player.destroy().then((()=>{this._destroyScreen(index),this._initScreen(index)})),player=new EZUIKitPlayer(options),this.screenList[index].options=options,this.screenList[index].player=player):(player=new EZUIKitPlayer(options),this.screenList.push({options:options,player:player})),this.status.list.push(options),this._emitInitPlayerResult(0,"初始化成功")}else if(list.length>0)if(void 0!==initIndex)if(initIndex>=0&&initIndex{this._destroyScreen(index),this._initScreen(index)})),player=new EZUIKitPlayer(_extends$1({id:this.container.id+"-screen-"+index,audioOnly:!1},list[initIndex],{handleInitSuccess:()=>{this.screenSelect(this.status.selectScreen)}})),this.screenList[index].options=list[initIndex],this.screenList[index].player=player,this._emitInitPlayerResult(0,"初始化成功")}else this._emitInitPlayerResult(-1,"当前下标超出范围");else list.map(((item,index)=>{index>=pageIndex*pageSize&&index<(pageIndex+1)*pageSize&&(player=new EZUIKitPlayer(_extends$1({id:this.container.id+"-screen-"+index,audioOnly:!1},item)),this.screenList[index]={options:item,player:player})})),this._emitInitPlayerResult(0,"初始化成功");return player},this._emitPageResult=(type,code,msg)=>{const result={eventType:type,code:code,msg:msg,data:{pageSize:this.status.pageSize,pageIndex:this.status.pageIndex}};this.eventEmitter.emit(type,result),this.options.onPageChange&&this.options.onPageChange(result)},this.setList=list=>{this.status.list=list},this.getList=()=>this.status.list,this.nextPage=()=>{const{pageSize:pageSize,loop:loop,list:list}=this.status,nextPageIndex=this.status.pageIndex+1,hasNextPage=nextPageIndex*pageSize{this.screenList[index].player&&this.screenList[index].player.destroy().then((()=>{this._destroyScreen(index),this._initScreen(index)})),this.status.autoPlay?(this.screenList[index].options=item,this.screenList[index].player=new EZUIKitPlayer(_extends$1({id:`${this.container.id}-screen-${index}`,audioOnly:!1},item))):delete this.screenList[index].player})),range.lengthrange.length)for(let i=range.length;i{const{pageSize:pageSize,loop:loop,list:list}=this.status;let prevPageIndex=this.status.pageIndex-1;const hasPrevPage=prevPageIndex>=0;if(!hasPrevPage&&loop){const lastPageNum=Math.floor(list.length/pageSize),isLastPageFull=list.length%pageSize==0;prevPageIndex=isLastPageFull?lastPageNum-1:lastPageNum;let startInd=prevPageIndex*pageSize,endInd=startInd+pageSize;const range=list.slice(startInd,endInd);if(!isLastPageFull)for(let i=range.length;i{this.screenList[index].player&&this.screenList[index].player.destroy().then((()=>{this._destroyScreen(index),this._initScreen(index)})),this.status.autoPlay?(this.screenList[index].options=item,this.screenList[index].player=new EZUIKitPlayer(_extends$1({id:`${this.container.id}-screen-${index}`,audioOnly:!1},item))):delete this.screenList[index].player})),this.status.pageIndex=prevPageIndex,this._emitPageResult("lastPage",1,"翻至最后一页")}else if(hasPrevPage){const startInd=prevPageIndex*pageSize,endInd=startInd+pageSize;list.slice(startInd,endInd).forEach(((item,index)=>{this.screenList[index].player&&this.screenList[index].player.destroy().then((()=>{this._destroyScreen(index),this._initScreen(index)})),this.status.autoPlay?(this.screenList[index].options=item,this.screenList[index].player=new EZUIKitPlayer(_extends$1({id:`${this.container.id}-screen-${index}`,audioOnly:!1},item))):delete this.screenList[index].player})),this.status.pageIndex=prevPageIndex,this._emitPageResult("lastPage",0,"上翻页成功")}else this._emitPageResult("lastPage",-1,"已到第一页")},this.pageTo=target=>{const pageSize=this.status.pageSize,list=this.status.list,totalPage=Math.ceil(list.length/pageSize);if(target>=0&&target{this.screenList[index].player&&this.screenList[index].player.destroy().then((()=>{this._destroyScreen(index),this._initScreen(index)})),this.status.autoPlay?(this.screenList[index].options=item,this.screenList[index].player=new EZUIKitPlayer(_extends$1({id:`${this.container.id}-screen-${index}`,audioOnly:!1},item))):delete this.screenList[index].player}));const result={eventType:"pageTo",code:0,msg:"跳转成功",data:{pageSize:pageSize,pageIndex:target}};this.eventEmitter.emit("pageTo",result),this.options.onPageChange&&this.options.onPageChange(pageSize,target)}else{const result={eventType:"pageTo",code:-1,msg:"目标页码超出范围",data:{pageSize:pageSize,pageIndex:this.status.pageIndex}};this.eventEmitter.emit("pageTo",result),this.options.onPageChange&&this.options.onPageChange(result)}},this.startTurn=()=>{const delay=this.status.delay;this.status.autoTurn=!0,this.turnInterval=setInterval((()=>{this.nextPage()}),delay)},this.stopTurn=()=>{this.status.autoTurn=!1,clearInterval(this.turnInterval)},this.setDelay=delay=>{this.stopTurn(),this.status.delay=delay,this.startTurn()},this.setLoop=loop=>{this.status.loop=loop,this.status.pageSize>=this.status.list.length&&(this.status.loop=!1)},this.changePageSize=size=>{const pageIndex=this.status.pageIndex,screenList=this.screenList;let availableItems=this.status.list.slice(pageIndex*size);if(sizescreenList.length)for(let i=screenList.length;i{this.status.selectScreen=index;const screenList=this.screenList;return this.options.onScreenSelect&&this.options.onScreenSelect(index,screenList[index]),screenList[index]},this.setText=text=>{this.status.text=text},this.setBackground=url=>{this.status.imgUrl=url,this.screenList.map(((item,index)=>{const $screenDOM=document.getElementById(`${this.container.id}-screen-${index}`);$screenDOM&&($screenDOM.style.backgroundImage=`url(${url})`)}))},this.destroy=(destroyAll=!1)=>{let destroyPromise=[];this.screenList.map(((item,index)=>{item.player&&(destroyPromise.push(item.player.destroy()),delete item.player)})),Promise.all(destroyPromise).then((()=>{const $container=document.getElementById(this.container.id);if($container&&($container.innerHTML="",$container.id=this.container.id+"-destroyed"),destroyAll){const style=document.querySelector('style[innerHTML*=".screen-select"]');style&&document.head.removeChild(style),this.screenList=[]}else if(this.status.pageSize>0)for(let i=0;i{const index=void 0!==target?target:this.status.selectScreen;return this.screenList[index]},this.getScreenList=()=>this.screenList,this.getDeviceList=()=>this.status.list,this.container=container,this.options=Object.assign({},defaultOptions$1,options||{}),this.status=Object.assign({},defaultOptions$1,options||{}),this.status.pageSize>=this.status.list.length&&(this.status.loop=!1),this.screenList=[],this.turnInterval=-1,this.eventEmitter=new EventEmitter,this.status.pageSize>0){const $container=document.getElementById(this.container.id);$container&&($container.innerHTML="");for(let i=0;i{const oldInspection=document.getElementById(this.options.id+"-destroyed");var _oldInspection_parentNode;oldInspection&&(null==(_oldInspection_parentNode=oldInspection.parentNode)||_oldInspection_parentNode.removeChild(oldInspection));const $inspection=document.createElement("div");$inspection.id=this.options.id,$inspection.style.cssText="\n position: relative;\n overflow: hidden;\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n height: 100%;\n ",this.container.append($inspection),this.$inspection=$inspection,this.inspection=new EZUIKitInspection(this.$inspection,_extends({},this.options,{onScreenSelect:(index,item)=>{if(this.inspection){for(let i=0;i{this.screenSelect(i)}));this.screenSelect(this.options.defaultSelect)},this.initPlayer=(initIndex,screenIndex,options)=>{this.inspection&&this.inspection.initPlayer(initIndex,screenIndex,options)},this.destroy=(destroyAll=!1)=>{this.inspection&&this.inspection.destroy(destroyAll)},this.nextPage=()=>{var _this_inspection;null==(_this_inspection=this.inspection)||_this_inspection.nextPage()},this.lastPage=()=>{var _this_inspection;null==(_this_inspection=this.inspection)||_this_inspection.lastPage()},this.startTurn=()=>{var _this_inspection;null==(_this_inspection=this.inspection)||_this_inspection.startTurn()},this.stopTurn=()=>{var _this_inspection;null==(_this_inspection=this.inspection)||_this_inspection.stopTurn()},this.setDelay=delay=>{var _this_inspection;null==(_this_inspection=this.inspection)||_this_inspection.setDelay(delay)},this.setLoop=loop=>{var _this_inspection;null==(_this_inspection=this.inspection)||_this_inspection.setLoop(loop)},this.changePageSize=size=>{var _this_inspection;null==(_this_inspection=this.inspection)||_this_inspection.changePageSize(size)},this.pageTo=index=>{var _this_inspection;null==(_this_inspection=this.inspection)||_this_inspection.pageTo(index)},this.screenSelect=index=>{var _this_inspection;if(this.inspection)return null==(_this_inspection=this.inspection)?void 0:_this_inspection.screenSelect(index)},this.setText=text=>{var _this_inspection;return null==(_this_inspection=this.inspection)?void 0:_this_inspection.setText(text)},this.setBackground=background=>{var _this_inspection;return null==(_this_inspection=this.inspection)?void 0:_this_inspection.setBackground(background)},this.getScreen=index=>{var _this_inspection;return null==(_this_inspection=this.inspection)?void 0:_this_inspection.getScreen(index)},this.getScreenList=()=>{var _this_inspection;return null==(_this_inspection=this.inspection)?void 0:_this_inspection.getScreenList()},this.destroyScreen=index=>{var _this_inspection;return null==(_this_inspection=this.inspection)?void 0:_this_inspection.destroyScreen(index)},this.getDeviceList=()=>{var _this_inspection;return null==(_this_inspection=this.inspection)?void 0:_this_inspection.getDeviceList()},this.stopAll=()=>{var _this_inspection;const list=null==(_this_inspection=this.inspection)?void 0:_this_inspection.getScreenList();if(list)for(let i=0;i0?list[i].player.stop((()=>{}),!0):list[i].player.pause())},this.playAll=()=>{var _this_inspection;const list=null==(_this_inspection=this.inspection)?void 0:_this_inspection.getScreenList();if(list)for(let i=0;i0?list[i].player.play():list[i].player.resume())},this.muteAll=()=>{var _this_inspection;const list=null==(_this_inspection=this.inspection)?void 0:_this_inspection.getScreenList();if(list)for(let i=0;i{var _this_inspection;const list=null==(_this_inspection=this.inspection)?void 0:_this_inspection.getScreenList();if(list)for(let i=0;i{let self=this;this.switchVideo=parseInt(num),oWebControl&&oWebControl.JS_RequestInterface({funcName:"ChangeModel",arguments:encodeURI(JSON.stringify({model:num}))}).then((function(oData){0==num?self.play({deviceSerial:playParams.deviceSerial,channelNo:playParams.channelNo,validateCode:playParams.validateCode}):self.play({deviceSerial:playParams.deviceSerial,channelNo:playParams.channelNo,validateCode:playParams.validateCode,startTime:playParams.startTime,endTime:playParams.endTime})}))},this.init=initParams=>{let self=this;if(!initParams.appKey||!initParams.accessToken)return void self.showTips(!1,"请输入appkey和token");void 0!==initParams.appKey&&(this.appKey=initParams.appKey),void 0!==initParams.accessToken&&(this.accessToken=initParams.accessToken),void 0!==initParams.platformId&&(this.platformId=initParams.platformId);let argumentsPram={layout:+self.layout,userName:"",waterMark:"",waterMark:"1",iWndType:0,intelligenceEnable:1,isRecord:1,isSetPos:1,motionDetectEnable:0,playBackAlarmOverlyingEnable:0,response:{code:0,message:null,data:{appKey:initParams.appKey,ezvizToken:initParams.accessToken,videoLevel:0,logLevel:3,showMainTool:1,showSubTool:1,waterMark:"1",userName:"openteam",platformId:initParams.platformId}}};oWebControl.JS_RequestInterface({funcName:"Init",arguments:encodeURI(JSON.stringify(argumentsPram))}).then((function(oData){self.showTips(!0,"视频初始化成功!")}))},this.play=playParams=>{let self=this;if(!playParams.deviceSerial||!playParams.channelNo)return;void 0!==playParams.deviceSerial&&(this.deviceSerial=playParams.deviceSerial),void 0!==playParams.channelNo&&(this.channelNo=playParams.channelNo),void 0!==playParams.startTime&&playParams.startTime&&(this.startTime=playParams.startTime+" 00:00:00"),void 0!==playParams.endTime&&playParams.endTime&&(this.endTime=playParams.endTime+" 23:59:59"),void 0!==playParams.validateCode&&playParams.validateCode&&(this.validateCode=playParams.validateCode);let argumentsPram={response:{code:0,message:null,data:{deviceSerial:playParams.deviceSerial,channelCode:playParams.channelNo,channelNo:+playParams.channelNo,codeIsEncrypt:0,validateCode:playParams.validateCode,deviceClass:self.deviceClass,deviceType:"10222",channelId:"2222222222",channelName:"channelNameTest",storeName:"storeName",storeId:"storeid",startTime:this.startTime,endTime:this.endTime}}};"1"===self.deviceClass?(argumentsPram.response.data.channelCode=self.channelNo,argumentsPram.response.data.platformId=self.platformId):argumentsPram.response.data.channelNo=+self.channelNo,1===this.switchVideo&&(this.startTime&&(argumentsPram.response.data.startTime=this.startTime),this.endTime&&(argumentsPram.response.data.endTime=this.endTime)),oWebControl.JS_RequestInterface({funcName:0===this.switchVideo?"StartPreview":"StartPlayback",arguments:encodeURI(JSON.stringify(argumentsPram))}).then((function(oData){self.showTips(!0,"预览/回放成功!")})).catch((res=>{}))},this.showCBInfo=message=>{this.callbackMessage=this.callbackMessage+JSON.stringify(message)+"\n\n"},this.showTips=(status,message)=>{},this.hideVideo=()=>{oWebControl.JS_HideWnd()},this.showVideo=()=>{oWebControl.JS_ShowWnd()},this.GetLayout=()=>{oWebControl.JS_RequestInterface({funcName:"GetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:null}}))}).then((function(oData){}))},this.capturePicture=wndId=>{oWebControl.JS_RequestInterface({funcName:"CaptureJPGEx",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:null}}))}).then((function(oData){}))},this.stop=(wndId=-1)=>{oWebControl.JS_RequestInterface({funcName:"StopPlay",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(wndId)}}}))}).then((function(oData){}))},this.setLayout=num=>{let layout=parseInt(num);isNaN(layout)||0==layout||layout>=13||(this.layout=layout,oWebControl.JS_RequestInterface({funcName:"SetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{layout:layout}}}))}).then((function(oData){})))},this.setSoundVolumn=(wndId=-1,num)=>{oWebControl.JS_RequestInterface({funcName:"SoundVolumn",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(wndId),volumn:parseInt(num)}}}))}).then((function(oData){}))},this.testMute=()=>{var num=parseInt(prompt("请输入窗口ID"));oWebControl.JS_RequestInterface({funcName:"MuteOnOff",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:num}}}))}).then((function(oData){}))},this.testSelectWnd=()=>{var num=parseInt(prompt("请输入窗口ID"));oWebControl.JS_RequestInterface({funcName:"SelectPlayWnd",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:num}}}))}).then((function(oData){}))},this.setVideoLevel=(wndId,level)=>{oWebControl.JS_RequestInterface({funcName:"SetVideoLevel",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:1==this.switchVideo?0:parseInt(wndId),level:parseInt(level,10)}}}))}).then((function(oData){}))},this.startTalk=wndId=>{oWebControl.JS_RequestInterface({funcName:"StartTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(wndId)}}}))}).then((function(oData){}))},this.stopTalk=wndId=>{oWebControl.JS_RequestInterface({funcName:"StopTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(wndId)}}}))}).then((function(oData){}))},this.startSave=wndId=>{oWebControl.JS_RequestInterface({funcName:"StartRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(wndId)}}}))}).then((function(oData){}))},this.stopSave=wndId=>{oWebControl.JS_RequestInterface({funcName:"StopRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(wndId)}}}))}).then((function(oData){}))},this.appKey="b9a3ad6e8026410095d8252169fa430a",this.accessToken="at.2vtum8873rrcwbrv431qb6pn94dkbv23-8dw2twn355-1u3x014-wrthellzk",this.deviceSerial="C33368372",this.channelNo="1",this.validateCode="",this.deviceClass="0",this.platformId="",this.startTime="",this.endTime="",this.layout=2,this.switchVideo=0,this.tips="调用成功",this.successTip=!1,this.tipsShow=!1,oWebControl=function(id,cbConnectSuccess,cbConnectError,cbConnectClose){return new WebControl({szPluginContainer:id,iServicePortStart:14510,iServicePortEnd:14519,cbConnectSuccess:cbConnectSuccess,cbConnectError:cbConnectError,cbConnectClose:cbConnectClose})}("playWnd",cbConnectSuccess,cbConnectError,cbConnectClose),function(receiver,privateKey){if(!Object.prototype.hasOwnProperty.call(receiver,privateKey))throw new TypeError("attempted to use private field on non-instance");return receiver}(this,__event)[__event]()}}};return window.EZUIKit=EZUIKit,EZUIKit})); diff --git a/demos/nginx-demo/README.md b/demos/nginx-demo/README.md deleted file mode 100644 index fc9d840..0000000 --- a/demos/nginx-demo/README.md +++ /dev/null @@ -1,35 +0,0 @@ -## 使用 - -1. 复制项目根目录下的 `ezuikit.js` 和 `ezuikit_static`到 当前目录的`html` 下 - -2. nginx 新增 `application/wasm` 支持,当前项目 `conf/mine.types` 中已更新 - -3. window 下启动当前目录下的`nginx.exe` - -```bash - -# 启动服务 -./nginx.exe - -``` - -3. 访问 `http://localhost` - - -## nginx 部署 - -该demo 默认开启同源策略, 配置在 `./conf/nginx.conf` 48 - 49行 - -备注: 同源仅支持 https - -## 同源说明 - -https://open.ys7.com/help/1772?h=Cross-Origin-Embedder-Policy - - -[Cross-Origin-Embedder-Policy](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy) - -[Cross-Origin-Opener-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy) - - -备注: 同源仅支持 https diff --git a/demos/nginx-demo/conf/fastcgi.conf b/demos/nginx-demo/conf/fastcgi.conf deleted file mode 100644 index 091738c..0000000 --- a/demos/nginx-demo/conf/fastcgi.conf +++ /dev/null @@ -1,26 +0,0 @@ - -fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; -fastcgi_param QUERY_STRING $query_string; -fastcgi_param REQUEST_METHOD $request_method; -fastcgi_param CONTENT_TYPE $content_type; -fastcgi_param CONTENT_LENGTH $content_length; - -fastcgi_param SCRIPT_NAME $fastcgi_script_name; -fastcgi_param REQUEST_URI $request_uri; -fastcgi_param DOCUMENT_URI $document_uri; -fastcgi_param DOCUMENT_ROOT $document_root; -fastcgi_param SERVER_PROTOCOL $server_protocol; -fastcgi_param REQUEST_SCHEME $scheme; -fastcgi_param HTTPS $https if_not_empty; - -fastcgi_param GATEWAY_INTERFACE CGI/1.1; -fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; - -fastcgi_param REMOTE_ADDR $remote_addr; -fastcgi_param REMOTE_PORT $remote_port; -fastcgi_param SERVER_ADDR $server_addr; -fastcgi_param SERVER_PORT $server_port; -fastcgi_param SERVER_NAME $server_name; - -# PHP only, required if PHP was built with --enable-force-cgi-redirect -fastcgi_param REDIRECT_STATUS 200; diff --git a/demos/nginx-demo/conf/fastcgi_params b/demos/nginx-demo/conf/fastcgi_params deleted file mode 100644 index 28decb9..0000000 --- a/demos/nginx-demo/conf/fastcgi_params +++ /dev/null @@ -1,25 +0,0 @@ - -fastcgi_param QUERY_STRING $query_string; -fastcgi_param REQUEST_METHOD $request_method; -fastcgi_param CONTENT_TYPE $content_type; -fastcgi_param CONTENT_LENGTH $content_length; - -fastcgi_param SCRIPT_NAME $fastcgi_script_name; -fastcgi_param REQUEST_URI $request_uri; -fastcgi_param DOCUMENT_URI $document_uri; -fastcgi_param DOCUMENT_ROOT $document_root; -fastcgi_param SERVER_PROTOCOL $server_protocol; -fastcgi_param REQUEST_SCHEME $scheme; -fastcgi_param HTTPS $https if_not_empty; - -fastcgi_param GATEWAY_INTERFACE CGI/1.1; -fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; - -fastcgi_param REMOTE_ADDR $remote_addr; -fastcgi_param REMOTE_PORT $remote_port; -fastcgi_param SERVER_ADDR $server_addr; -fastcgi_param SERVER_PORT $server_port; -fastcgi_param SERVER_NAME $server_name; - -# PHP only, required if PHP was built with --enable-force-cgi-redirect -fastcgi_param REDIRECT_STATUS 200; diff --git a/demos/nginx-demo/conf/koi-utf b/demos/nginx-demo/conf/koi-utf deleted file mode 100644 index e7974ff..0000000 --- a/demos/nginx-demo/conf/koi-utf +++ /dev/null @@ -1,109 +0,0 @@ - -# This map is not a full koi8-r <> utf8 map: it does not contain -# box-drawing and some other characters. Besides this map contains -# several koi8-u and Byelorussian letters which are not in koi8-r. -# If you need a full and standard map, use contrib/unicode2nginx/koi-utf -# map instead. - -charset_map koi8-r utf-8 { - - 80 E282AC ; # euro - - 95 E280A2 ; # bullet - - 9A C2A0 ; #   - - 9E C2B7 ; # · - - A3 D191 ; # small yo - A4 D194 ; # small Ukrainian ye - - A6 D196 ; # small Ukrainian i - A7 D197 ; # small Ukrainian yi - - AD D291 ; # small Ukrainian soft g - AE D19E ; # small Byelorussian short u - - B0 C2B0 ; # ° - - B3 D081 ; # capital YO - B4 D084 ; # capital Ukrainian YE - - B6 D086 ; # capital Ukrainian I - B7 D087 ; # capital Ukrainian YI - - B9 E28496 ; # numero sign - - BD D290 ; # capital Ukrainian soft G - BE D18E ; # capital Byelorussian short U - - BF C2A9 ; # (C) - - C0 D18E ; # small yu - C1 D0B0 ; # small a - C2 D0B1 ; # small b - C3 D186 ; # small ts - C4 D0B4 ; # small d - C5 D0B5 ; # small ye - C6 D184 ; # small f - C7 D0B3 ; # small g - C8 D185 ; # small kh - C9 D0B8 ; # small i - CA D0B9 ; # small j - CB D0BA ; # small k - CC D0BB ; # small l - CD D0BC ; # small m - CE D0BD ; # small n - CF D0BE ; # small o - - D0 D0BF ; # small p - D1 D18F ; # small ya - D2 D180 ; # small r - D3 D181 ; # small s - D4 D182 ; # small t - D5 D183 ; # small u - D6 D0B6 ; # small zh - D7 D0B2 ; # small v - D8 D18C ; # small soft sign - D9 D18B ; # small y - DA D0B7 ; # small z - DB D188 ; # small sh - DC D18D ; # small e - DD D189 ; # small shch - DE D187 ; # small ch - DF D18A ; # small hard sign - - E0 D0AE ; # capital YU - E1 D090 ; # capital A - E2 D091 ; # capital B - E3 D0A6 ; # capital TS - E4 D094 ; # capital D - E5 D095 ; # capital YE - E6 D0A4 ; # capital F - E7 D093 ; # capital G - E8 D0A5 ; # capital KH - E9 D098 ; # capital I - EA D099 ; # capital J - EB D09A ; # capital K - EC D09B ; # capital L - ED D09C ; # capital M - EE D09D ; # capital N - EF D09E ; # capital O - - F0 D09F ; # capital P - F1 D0AF ; # capital YA - F2 D0A0 ; # capital R - F3 D0A1 ; # capital S - F4 D0A2 ; # capital T - F5 D0A3 ; # capital U - F6 D096 ; # capital ZH - F7 D092 ; # capital V - F8 D0AC ; # capital soft sign - F9 D0AB ; # capital Y - FA D097 ; # capital Z - FB D0A8 ; # capital SH - FC D0AD ; # capital E - FD D0A9 ; # capital SHCH - FE D0A7 ; # capital CH - FF D0AA ; # capital hard sign -} diff --git a/demos/nginx-demo/conf/koi-win b/demos/nginx-demo/conf/koi-win deleted file mode 100644 index 72afabe..0000000 --- a/demos/nginx-demo/conf/koi-win +++ /dev/null @@ -1,103 +0,0 @@ - -charset_map koi8-r windows-1251 { - - 80 88 ; # euro - - 95 95 ; # bullet - - 9A A0 ; #   - - 9E B7 ; # · - - A3 B8 ; # small yo - A4 BA ; # small Ukrainian ye - - A6 B3 ; # small Ukrainian i - A7 BF ; # small Ukrainian yi - - AD B4 ; # small Ukrainian soft g - AE A2 ; # small Byelorussian short u - - B0 B0 ; # ° - - B3 A8 ; # capital YO - B4 AA ; # capital Ukrainian YE - - B6 B2 ; # capital Ukrainian I - B7 AF ; # capital Ukrainian YI - - B9 B9 ; # numero sign - - BD A5 ; # capital Ukrainian soft G - BE A1 ; # capital Byelorussian short U - - BF A9 ; # (C) - - C0 FE ; # small yu - C1 E0 ; # small a - C2 E1 ; # small b - C3 F6 ; # small ts - C4 E4 ; # small d - C5 E5 ; # small ye - C6 F4 ; # small f - C7 E3 ; # small g - C8 F5 ; # small kh - C9 E8 ; # small i - CA E9 ; # small j - CB EA ; # small k - CC EB ; # small l - CD EC ; # small m - CE ED ; # small n - CF EE ; # small o - - D0 EF ; # small p - D1 FF ; # small ya - D2 F0 ; # small r - D3 F1 ; # small s - D4 F2 ; # small t - D5 F3 ; # small u - D6 E6 ; # small zh - D7 E2 ; # small v - D8 FC ; # small soft sign - D9 FB ; # small y - DA E7 ; # small z - DB F8 ; # small sh - DC FD ; # small e - DD F9 ; # small shch - DE F7 ; # small ch - DF FA ; # small hard sign - - E0 DE ; # capital YU - E1 C0 ; # capital A - E2 C1 ; # capital B - E3 D6 ; # capital TS - E4 C4 ; # capital D - E5 C5 ; # capital YE - E6 D4 ; # capital F - E7 C3 ; # capital G - E8 D5 ; # capital KH - E9 C8 ; # capital I - EA C9 ; # capital J - EB CA ; # capital K - EC CB ; # capital L - ED CC ; # capital M - EE CD ; # capital N - EF CE ; # capital O - - F0 CF ; # capital P - F1 DF ; # capital YA - F2 D0 ; # capital R - F3 D1 ; # capital S - F4 D2 ; # capital T - F5 D3 ; # capital U - F6 C6 ; # capital ZH - F7 C2 ; # capital V - F8 DC ; # capital soft sign - F9 DB ; # capital Y - FA C7 ; # capital Z - FB D8 ; # capital SH - FC DD ; # capital E - FD D9 ; # capital SHCH - FE D7 ; # capital CH - FF DA ; # capital hard sign -} diff --git a/demos/nginx-demo/conf/mime.types b/demos/nginx-demo/conf/mime.types deleted file mode 100644 index 05041fa..0000000 --- a/demos/nginx-demo/conf/mime.types +++ /dev/null @@ -1,96 +0,0 @@ - -types { - text/html html htm shtml; - text/css css; - text/xml xml; - image/gif gif; - image/jpeg jpeg jpg; - application/javascript js; - application/atom+xml atom; - application/rss+xml rss; - - text/mathml mml; - text/plain txt; - text/vnd.sun.j2me.app-descriptor jad; - text/vnd.wap.wml wml; - text/x-component htc; - - image/png png; - image/svg+xml svg svgz; - image/tiff tif tiff; - image/vnd.wap.wbmp wbmp; - image/webp webp; - image/x-icon ico; - image/x-jng jng; - image/x-ms-bmp bmp; - - application/font-woff woff; - application/java-archive jar war ear; - application/json json; - application/mac-binhex40 hqx; - application/msword doc; - application/pdf pdf; - application/postscript ps eps ai; - application/rtf rtf; - application/vnd.apple.mpegurl m3u8; - application/vnd.google-earth.kml+xml kml; - application/vnd.google-earth.kmz kmz; - application/vnd.ms-excel xls; - application/vnd.ms-fontobject eot; - application/vnd.ms-powerpoint ppt; - application/vnd.oasis.opendocument.graphics odg; - application/vnd.oasis.opendocument.presentation odp; - application/vnd.oasis.opendocument.spreadsheet ods; - application/vnd.oasis.opendocument.text odt; - application/vnd.openxmlformats-officedocument.presentationml.presentation - pptx; - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - xlsx; - application/vnd.openxmlformats-officedocument.wordprocessingml.document - docx; - application/vnd.wap.wmlc wmlc; - application/x-7z-compressed 7z; - application/x-cocoa cco; - application/x-java-archive-diff jardiff; - application/x-java-jnlp-file jnlp; - application/x-makeself run; - application/x-perl pl pm; - application/x-pilot prc pdb; - application/x-rar-compressed rar; - application/x-redhat-package-manager rpm; - application/x-sea sea; - application/x-shockwave-flash swf; - application/x-stuffit sit; - application/x-tcl tcl tk; - application/x-x509-ca-cert der pem crt; - application/x-xpinstall xpi; - application/xhtml+xml xhtml; - application/xspf+xml xspf; - application/zip zip; - application/wasm wasm; - - application/octet-stream bin exe dll; - application/octet-stream deb; - application/octet-stream dmg; - application/octet-stream iso img; - application/octet-stream msi msp msm; - - audio/midi mid midi kar; - audio/mpeg mp3; - audio/ogg ogg; - audio/x-m4a m4a; - audio/x-realaudio ra; - - video/3gpp 3gpp 3gp; - video/mp2t ts; - video/mp4 mp4; - video/mpeg mpeg mpg; - video/quicktime mov; - video/webm webm; - video/x-flv flv; - video/x-m4v m4v; - video/x-mng mng; - video/x-ms-asf asx asf; - video/x-ms-wmv wmv; - video/x-msvideo avi; -} diff --git a/demos/nginx-demo/conf/nginx.conf b/demos/nginx-demo/conf/nginx.conf deleted file mode 100644 index 6d875ac..0000000 --- a/demos/nginx-demo/conf/nginx.conf +++ /dev/null @@ -1,121 +0,0 @@ - -#user nobody; -worker_processes 1; - -#error_log logs/error.log; -#error_log logs/error.log notice; -#error_log logs/error.log info; - -#pid logs/nginx.pid; - - -events { - worker_connections 1024; -} - - -http { - include mime.types; - default_type application/octet-stream; - - #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - # '$status $body_bytes_sent "$http_referer" ' - # '"$http_user_agent" "$http_x_forwarded_for"'; - - #access_log logs/access.log main; - - sendfile on; - #tcp_nopush on; - - #keepalive_timeout 0; - keepalive_timeout 65; - - #gzip on; - - server { - listen 80; - server_name localhost; - - #charset koi8-r; - - #access_log logs/host.access.log main; - - location / { - root html; - index index.html index.htm; - } - location ~/ezuikit5 { - add_header 'Cross-Origin-Embedder-Policy' 'require-corp'; - add_header 'Cross-Origin-Opener-Policy' 'same-origin'; - } - - #error_page 404 /404.html; - - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root html; - } - - # proxy the PHP scripts to Apache listening on 127.0.0.1:80 - # - #location ~ \.php$ { - # proxy_pass http://127.0.0.1; - #} - - # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 - # - #location ~ \.php$ { - # root html; - # fastcgi_pass 127.0.0.1:9000; - # fastcgi_index index.php; - # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; - # include fastcgi_params; - #} - - # deny access to .htaccess files, if Apache's document root - # concurs with nginx's one - # - #location ~ /\.ht { - # deny all; - #} - } - - - # another virtual host using mix of IP-, name-, and port-based configuration - # - #server { - # listen 8000; - # listen somename:8080; - # server_name somename alias another.alias; - - # location / { - # root html; - # index index.html index.htm; - # } - #} - - - # HTTPS server - # - #server { - # listen 443 ssl; - # server_name localhost; - - # ssl_certificate cert.pem; - # ssl_certificate_key cert.key; - - # ssl_session_cache shared:SSL:1m; - # ssl_session_timeout 5m; - - # ssl_ciphers HIGH:!aNULL:!MD5; - # ssl_prefer_server_ciphers on; - - # location / { - # root html; - # index index.html index.htm; - # } - #} - -} diff --git a/demos/nginx-demo/conf/scgi_params b/demos/nginx-demo/conf/scgi_params deleted file mode 100644 index 6d4ce4f..0000000 --- a/demos/nginx-demo/conf/scgi_params +++ /dev/null @@ -1,17 +0,0 @@ - -scgi_param REQUEST_METHOD $request_method; -scgi_param REQUEST_URI $request_uri; -scgi_param QUERY_STRING $query_string; -scgi_param CONTENT_TYPE $content_type; - -scgi_param DOCUMENT_URI $document_uri; -scgi_param DOCUMENT_ROOT $document_root; -scgi_param SCGI 1; -scgi_param SERVER_PROTOCOL $server_protocol; -scgi_param REQUEST_SCHEME $scheme; -scgi_param HTTPS $https if_not_empty; - -scgi_param REMOTE_ADDR $remote_addr; -scgi_param REMOTE_PORT $remote_port; -scgi_param SERVER_PORT $server_port; -scgi_param SERVER_NAME $server_name; diff --git a/demos/nginx-demo/conf/uwsgi_params b/demos/nginx-demo/conf/uwsgi_params deleted file mode 100644 index 09c732c..0000000 --- a/demos/nginx-demo/conf/uwsgi_params +++ /dev/null @@ -1,17 +0,0 @@ - -uwsgi_param QUERY_STRING $query_string; -uwsgi_param REQUEST_METHOD $request_method; -uwsgi_param CONTENT_TYPE $content_type; -uwsgi_param CONTENT_LENGTH $content_length; - -uwsgi_param REQUEST_URI $request_uri; -uwsgi_param PATH_INFO $document_uri; -uwsgi_param DOCUMENT_ROOT $document_root; -uwsgi_param SERVER_PROTOCOL $server_protocol; -uwsgi_param REQUEST_SCHEME $scheme; -uwsgi_param HTTPS $https if_not_empty; - -uwsgi_param REMOTE_ADDR $remote_addr; -uwsgi_param REMOTE_PORT $remote_port; -uwsgi_param SERVER_PORT $server_port; -uwsgi_param SERVER_NAME $server_name; diff --git a/demos/nginx-demo/conf/win-utf b/demos/nginx-demo/conf/win-utf deleted file mode 100644 index ed8bc00..0000000 --- a/demos/nginx-demo/conf/win-utf +++ /dev/null @@ -1,126 +0,0 @@ - -# This map is not a full windows-1251 <> utf8 map: it does not -# contain Serbian and Macedonian letters. If you need a full map, -# use contrib/unicode2nginx/win-utf map instead. - -charset_map windows-1251 utf-8 { - - 82 E2809A ; # single low-9 quotation mark - - 84 E2809E ; # double low-9 quotation mark - 85 E280A6 ; # ellipsis - 86 E280A0 ; # dagger - 87 E280A1 ; # double dagger - 88 E282AC ; # euro - 89 E280B0 ; # per mille - - 91 E28098 ; # left single quotation mark - 92 E28099 ; # right single quotation mark - 93 E2809C ; # left double quotation mark - 94 E2809D ; # right double quotation mark - 95 E280A2 ; # bullet - 96 E28093 ; # en dash - 97 E28094 ; # em dash - - 99 E284A2 ; # trade mark sign - - A0 C2A0 ; #   - A1 D18E ; # capital Byelorussian short U - A2 D19E ; # small Byelorussian short u - - A4 C2A4 ; # currency sign - A5 D290 ; # capital Ukrainian soft G - A6 C2A6 ; # borken bar - A7 C2A7 ; # section sign - A8 D081 ; # capital YO - A9 C2A9 ; # (C) - AA D084 ; # capital Ukrainian YE - AB C2AB ; # left-pointing double angle quotation mark - AC C2AC ; # not sign - AD C2AD ; # soft hypen - AE C2AE ; # (R) - AF D087 ; # capital Ukrainian YI - - B0 C2B0 ; # ° - B1 C2B1 ; # plus-minus sign - B2 D086 ; # capital Ukrainian I - B3 D196 ; # small Ukrainian i - B4 D291 ; # small Ukrainian soft g - B5 C2B5 ; # micro sign - B6 C2B6 ; # pilcrow sign - B7 C2B7 ; # · - B8 D191 ; # small yo - B9 E28496 ; # numero sign - BA D194 ; # small Ukrainian ye - BB C2BB ; # right-pointing double angle quotation mark - - BF D197 ; # small Ukrainian yi - - C0 D090 ; # capital A - C1 D091 ; # capital B - C2 D092 ; # capital V - C3 D093 ; # capital G - C4 D094 ; # capital D - C5 D095 ; # capital YE - C6 D096 ; # capital ZH - C7 D097 ; # capital Z - C8 D098 ; # capital I - C9 D099 ; # capital J - CA D09A ; # capital K - CB D09B ; # capital L - CC D09C ; # capital M - CD D09D ; # capital N - CE D09E ; # capital O - CF D09F ; # capital P - - D0 D0A0 ; # capital R - D1 D0A1 ; # capital S - D2 D0A2 ; # capital T - D3 D0A3 ; # capital U - D4 D0A4 ; # capital F - D5 D0A5 ; # capital KH - D6 D0A6 ; # capital TS - D7 D0A7 ; # capital CH - D8 D0A8 ; # capital SH - D9 D0A9 ; # capital SHCH - DA D0AA ; # capital hard sign - DB D0AB ; # capital Y - DC D0AC ; # capital soft sign - DD D0AD ; # capital E - DE D0AE ; # capital YU - DF D0AF ; # capital YA - - E0 D0B0 ; # small a - E1 D0B1 ; # small b - E2 D0B2 ; # small v - E3 D0B3 ; # small g - E4 D0B4 ; # small d - E5 D0B5 ; # small ye - E6 D0B6 ; # small zh - E7 D0B7 ; # small z - E8 D0B8 ; # small i - E9 D0B9 ; # small j - EA D0BA ; # small k - EB D0BB ; # small l - EC D0BC ; # small m - ED D0BD ; # small n - EE D0BE ; # small o - EF D0BF ; # small p - - F0 D180 ; # small r - F1 D181 ; # small s - F2 D182 ; # small t - F3 D183 ; # small u - F4 D184 ; # small f - F5 D185 ; # small kh - F6 D186 ; # small ts - F7 D187 ; # small ch - F8 D188 ; # small sh - F9 D189 ; # small shch - FA D18A ; # small hard sign - FB D18B ; # small y - FC D18C ; # small soft sign - FD D18D ; # small e - FE D18E ; # small yu - FF D18F ; # small ya -} diff --git a/demos/nginx-demo/contrib/README b/demos/nginx-demo/contrib/README deleted file mode 100644 index fec4b20..0000000 --- a/demos/nginx-demo/contrib/README +++ /dev/null @@ -1,21 +0,0 @@ - -geo2nginx.pl by Andrei Nigmatulin - - The perl script to convert CSV geoip database ( free download - at http://www.maxmind.com/app/geoip_country ) to format, suitable - for use by the ngx_http_geo_module. - - -unicode2nginx by Maxim Dounin - - The perl script to convert unicode mappings ( available - at http://www.unicode.org/Public/MAPPINGS/ ) to the nginx - configuration file format. - Two generated full maps for windows-1251 and koi8-r. - - -vim by Evan Miller - - Syntax highlighting of nginx configuration for vim, to be - placed into ~/.vim/. - diff --git a/demos/nginx-demo/contrib/geo2nginx.pl b/demos/nginx-demo/contrib/geo2nginx.pl deleted file mode 100644 index bc8af46..0000000 --- a/demos/nginx-demo/contrib/geo2nginx.pl +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/perl -w - -# (c) Andrei Nigmatulin, 2005 -# -# this script provided "as is", without any warranties. use it at your own risk. -# -# special thanx to Andrew Sitnikov for perl port -# -# this script converts CSV geoip database (free download at http://www.maxmind.com/app/geoip_country) -# to format, suitable for use with nginx_http_geo module (http://sysoev.ru/nginx) -# -# for example, line with ip range -# -# "62.16.68.0","62.16.127.255","1041253376","1041268735","RU","Russian Federation" -# -# will be converted to four subnetworks: -# -# 62.16.68.0/22 RU; -# 62.16.72.0/21 RU; -# 62.16.80.0/20 RU; -# 62.16.96.0/19 RU; - - -use warnings; -use strict; - -while( ){ - if (/"[^"]+","[^"]+","([^"]+)","([^"]+)","([^"]+)"/){ - print_subnets($1, $2, $3); - } -} - -sub print_subnets { - my ($a1, $a2, $c) = @_; - my $l; - while ($a1 <= $a2) { - for ($l = 0; ($a1 & (1 << $l)) == 0 && ($a1 + ((1 << ($l + 1)) - 1)) <= $a2; $l++){}; - print long2ip($a1) . "/" . (32 - $l) . " " . $c . ";\n"; - $a1 += (1 << $l); - } -} - -sub long2ip { - my $ip = shift; - - my $str = 0; - - $str = ($ip & 255); - - $ip >>= 8; - $str = ($ip & 255).".$str"; - - $ip >>= 8; - $str = ($ip & 255).".$str"; - - $ip >>= 8; - $str = ($ip & 255).".$str"; -} diff --git a/demos/nginx-demo/contrib/unicode2nginx/koi-utf b/demos/nginx-demo/contrib/unicode2nginx/koi-utf deleted file mode 100644 index 48853af..0000000 --- a/demos/nginx-demo/contrib/unicode2nginx/koi-utf +++ /dev/null @@ -1,131 +0,0 @@ -charset_map koi8-r utf-8 { - - 80 E29480 ; # BOX DRAWINGS LIGHT HORIZONTAL - 81 E29482 ; # BOX DRAWINGS LIGHT VERTICAL - 82 E2948C ; # BOX DRAWINGS LIGHT DOWN AND RIGHT - 83 E29490 ; # BOX DRAWINGS LIGHT DOWN AND LEFT - 84 E29494 ; # BOX DRAWINGS LIGHT UP AND RIGHT - 85 E29498 ; # BOX DRAWINGS LIGHT UP AND LEFT - 86 E2949C ; # BOX DRAWINGS LIGHT VERTICAL AND RIGHT - 87 E294A4 ; # BOX DRAWINGS LIGHT VERTICAL AND LEFT - 88 E294AC ; # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL - 89 E294B4 ; # BOX DRAWINGS LIGHT UP AND HORIZONTAL - 8A E294BC ; # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL - 8B E29680 ; # UPPER HALF BLOCK - 8C E29684 ; # LOWER HALF BLOCK - 8D E29688 ; # FULL BLOCK - 8E E2968C ; # LEFT HALF BLOCK - 8F E29690 ; # RIGHT HALF BLOCK - 90 E29691 ; # LIGHT SHADE - 91 E29692 ; # MEDIUM SHADE - 92 E29693 ; # DARK SHADE - 93 E28CA0 ; # TOP HALF INTEGRAL - 94 E296A0 ; # BLACK SQUARE - 95 E28899 ; # BULLET OPERATOR - 96 E2889A ; # SQUARE ROOT - 97 E28988 ; # ALMOST EQUAL TO - 98 E289A4 ; # LESS-THAN OR EQUAL TO - 99 E289A5 ; # GREATER-THAN OR EQUAL TO - 9A C2A0 ; # NO-BREAK SPACE - 9B E28CA1 ; # BOTTOM HALF INTEGRAL - 9C C2B0 ; # DEGREE SIGN - 9D C2B2 ; # SUPERSCRIPT TWO - 9E C2B7 ; # MIDDLE DOT - 9F C3B7 ; # DIVISION SIGN - A0 E29590 ; # BOX DRAWINGS DOUBLE HORIZONTAL - A1 E29591 ; # BOX DRAWINGS DOUBLE VERTICAL - A2 E29592 ; # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE - A3 D191 ; # CYRILLIC SMALL LETTER IO - A4 E29593 ; # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE - A5 E29594 ; # BOX DRAWINGS DOUBLE DOWN AND RIGHT - A6 E29595 ; # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE - A7 E29596 ; # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE - A8 E29597 ; # BOX DRAWINGS DOUBLE DOWN AND LEFT - A9 E29598 ; # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE - AA E29599 ; # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE - AB E2959A ; # BOX DRAWINGS DOUBLE UP AND RIGHT - AC E2959B ; # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE - AD E2959C ; # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE - AE E2959D ; # BOX DRAWINGS DOUBLE UP AND LEFT - AF E2959E ; # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE - B0 E2959F ; # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE - B1 E295A0 ; # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT - B2 E295A1 ; # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE - B3 D081 ; # CYRILLIC CAPITAL LETTER IO - B4 E295A2 ; # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE - B5 E295A3 ; # BOX DRAWINGS DOUBLE VERTICAL AND LEFT - B6 E295A4 ; # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE - B7 E295A5 ; # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE - B8 E295A6 ; # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL - B9 E295A7 ; # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE - BA E295A8 ; # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE - BB E295A9 ; # BOX DRAWINGS DOUBLE UP AND HORIZONTAL - BC E295AA ; # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE - BD E295AB ; # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE - BE E295AC ; # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL - BF C2A9 ; # COPYRIGHT SIGN - C0 D18E ; # CYRILLIC SMALL LETTER YU - C1 D0B0 ; # CYRILLIC SMALL LETTER A - C2 D0B1 ; # CYRILLIC SMALL LETTER BE - C3 D186 ; # CYRILLIC SMALL LETTER TSE - C4 D0B4 ; # CYRILLIC SMALL LETTER DE - C5 D0B5 ; # CYRILLIC SMALL LETTER IE - C6 D184 ; # CYRILLIC SMALL LETTER EF - C7 D0B3 ; # CYRILLIC SMALL LETTER GHE - C8 D185 ; # CYRILLIC SMALL LETTER HA - C9 D0B8 ; # CYRILLIC SMALL LETTER I - CA D0B9 ; # CYRILLIC SMALL LETTER SHORT I - CB D0BA ; # CYRILLIC SMALL LETTER KA - CC D0BB ; # CYRILLIC SMALL LETTER EL - CD D0BC ; # CYRILLIC SMALL LETTER EM - CE D0BD ; # CYRILLIC SMALL LETTER EN - CF D0BE ; # CYRILLIC SMALL LETTER O - D0 D0BF ; # CYRILLIC SMALL LETTER PE - D1 D18F ; # CYRILLIC SMALL LETTER YA - D2 D180 ; # CYRILLIC SMALL LETTER ER - D3 D181 ; # CYRILLIC SMALL LETTER ES - D4 D182 ; # CYRILLIC SMALL LETTER TE - D5 D183 ; # CYRILLIC SMALL LETTER U - D6 D0B6 ; # CYRILLIC SMALL LETTER ZHE - D7 D0B2 ; # CYRILLIC SMALL LETTER VE - D8 D18C ; # CYRILLIC SMALL LETTER SOFT SIGN - D9 D18B ; # CYRILLIC SMALL LETTER YERU - DA D0B7 ; # CYRILLIC SMALL LETTER ZE - DB D188 ; # CYRILLIC SMALL LETTER SHA - DC D18D ; # CYRILLIC SMALL LETTER E - DD D189 ; # CYRILLIC SMALL LETTER SHCHA - DE D187 ; # CYRILLIC SMALL LETTER CHE - DF D18A ; # CYRILLIC SMALL LETTER HARD SIGN - E0 D0AE ; # CYRILLIC CAPITAL LETTER YU - E1 D090 ; # CYRILLIC CAPITAL LETTER A - E2 D091 ; # CYRILLIC CAPITAL LETTER BE - E3 D0A6 ; # CYRILLIC CAPITAL LETTER TSE - E4 D094 ; # CYRILLIC CAPITAL LETTER DE - E5 D095 ; # CYRILLIC CAPITAL LETTER IE - E6 D0A4 ; # CYRILLIC CAPITAL LETTER EF - E7 D093 ; # CYRILLIC CAPITAL LETTER GHE - E8 D0A5 ; # CYRILLIC CAPITAL LETTER HA - E9 D098 ; # CYRILLIC CAPITAL LETTER I - EA D099 ; # CYRILLIC CAPITAL LETTER SHORT I - EB D09A ; # CYRILLIC CAPITAL LETTER KA - EC D09B ; # CYRILLIC CAPITAL LETTER EL - ED D09C ; # CYRILLIC CAPITAL LETTER EM - EE D09D ; # CYRILLIC CAPITAL LETTER EN - EF D09E ; # CYRILLIC CAPITAL LETTER O - F0 D09F ; # CYRILLIC CAPITAL LETTER PE - F1 D0AF ; # CYRILLIC CAPITAL LETTER YA - F2 D0A0 ; # CYRILLIC CAPITAL LETTER ER - F3 D0A1 ; # CYRILLIC CAPITAL LETTER ES - F4 D0A2 ; # CYRILLIC CAPITAL LETTER TE - F5 D0A3 ; # CYRILLIC CAPITAL LETTER U - F6 D096 ; # CYRILLIC CAPITAL LETTER ZHE - F7 D092 ; # CYRILLIC CAPITAL LETTER VE - F8 D0AC ; # CYRILLIC CAPITAL LETTER SOFT SIGN - F9 D0AB ; # CYRILLIC CAPITAL LETTER YERU - FA D097 ; # CYRILLIC CAPITAL LETTER ZE - FB D0A8 ; # CYRILLIC CAPITAL LETTER SHA - FC D0AD ; # CYRILLIC CAPITAL LETTER E - FD D0A9 ; # CYRILLIC CAPITAL LETTER SHCHA - FE D0A7 ; # CYRILLIC CAPITAL LETTER CHE - FF D0AA ; # CYRILLIC CAPITAL LETTER HARD SIGN -} diff --git a/demos/nginx-demo/contrib/unicode2nginx/unicode-to-nginx.pl b/demos/nginx-demo/contrib/unicode2nginx/unicode-to-nginx.pl deleted file mode 100644 index d113fed..0000000 --- a/demos/nginx-demo/contrib/unicode2nginx/unicode-to-nginx.pl +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/perl -w - -# Convert unicode mappings to nginx configuration file format. - -# You may find useful mappings in various places, including -# unicode.org official site: -# -# http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT -# http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT - -# Needs perl 5.6 or later. - -# Written by Maxim Dounin, mdounin@mdounin.ru - -############################################################################### - -require 5.006; - -while (<>) { - # Skip comments and empty lines - - next if /^#/; - next if /^\s*$/; - chomp; - - # Convert mappings - - if (/^\s*0x(..)\s*0x(....)\s*(#.*)/) { - # Mapping "#" - my $cs_code = $1; - my $un_code = $2; - my $un_name = $3; - - # Produce UTF-8 sequence from character code; - - my $un_utf8 = join('', - map { sprintf("%02X", $_) } - unpack("U0C*", pack("U", hex($un_code))) - ); - - print " $cs_code $un_utf8 ; $un_name\n"; - - } else { - warn "Unrecognized line: '$_'"; - } -} - -############################################################################### diff --git a/demos/nginx-demo/contrib/unicode2nginx/win-utf b/demos/nginx-demo/contrib/unicode2nginx/win-utf deleted file mode 100644 index af9f9aa..0000000 --- a/demos/nginx-demo/contrib/unicode2nginx/win-utf +++ /dev/null @@ -1,130 +0,0 @@ -charset_map windows-1251 utf-8 { - - 80 D082 ; #CYRILLIC CAPITAL LETTER DJE - 81 D083 ; #CYRILLIC CAPITAL LETTER GJE - 82 E2809A ; #SINGLE LOW-9 QUOTATION MARK - 83 D193 ; #CYRILLIC SMALL LETTER GJE - 84 E2809E ; #DOUBLE LOW-9 QUOTATION MARK - 85 E280A6 ; #HORIZONTAL ELLIPSIS - 86 E280A0 ; #DAGGER - 87 E280A1 ; #DOUBLE DAGGER - 88 E282AC ; #EURO SIGN - 89 E280B0 ; #PER MILLE SIGN - 8A D089 ; #CYRILLIC CAPITAL LETTER LJE - 8B E280B9 ; #SINGLE LEFT-POINTING ANGLE QUOTATION MARK - 8C D08A ; #CYRILLIC CAPITAL LETTER NJE - 8D D08C ; #CYRILLIC CAPITAL LETTER KJE - 8E D08B ; #CYRILLIC CAPITAL LETTER TSHE - 8F D08F ; #CYRILLIC CAPITAL LETTER DZHE - 90 D192 ; #CYRILLIC SMALL LETTER DJE - 91 E28098 ; #LEFT SINGLE QUOTATION MARK - 92 E28099 ; #RIGHT SINGLE QUOTATION MARK - 93 E2809C ; #LEFT DOUBLE QUOTATION MARK - 94 E2809D ; #RIGHT DOUBLE QUOTATION MARK - 95 E280A2 ; #BULLET - 96 E28093 ; #EN DASH - 97 E28094 ; #EM DASH - 99 E284A2 ; #TRADE MARK SIGN - 9A D199 ; #CYRILLIC SMALL LETTER LJE - 9B E280BA ; #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK - 9C D19A ; #CYRILLIC SMALL LETTER NJE - 9D D19C ; #CYRILLIC SMALL LETTER KJE - 9E D19B ; #CYRILLIC SMALL LETTER TSHE - 9F D19F ; #CYRILLIC SMALL LETTER DZHE - A0 C2A0 ; #NO-BREAK SPACE - A1 D08E ; #CYRILLIC CAPITAL LETTER SHORT U - A2 D19E ; #CYRILLIC SMALL LETTER SHORT U - A3 D088 ; #CYRILLIC CAPITAL LETTER JE - A4 C2A4 ; #CURRENCY SIGN - A5 D290 ; #CYRILLIC CAPITAL LETTER GHE WITH UPTURN - A6 C2A6 ; #BROKEN BAR - A7 C2A7 ; #SECTION SIGN - A8 D081 ; #CYRILLIC CAPITAL LETTER IO - A9 C2A9 ; #COPYRIGHT SIGN - AA D084 ; #CYRILLIC CAPITAL LETTER UKRAINIAN IE - AB C2AB ; #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK - AC C2AC ; #NOT SIGN - AD C2AD ; #SOFT HYPHEN - AE C2AE ; #REGISTERED SIGN - AF D087 ; #CYRILLIC CAPITAL LETTER YI - B0 C2B0 ; #DEGREE SIGN - B1 C2B1 ; #PLUS-MINUS SIGN - B2 D086 ; #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I - B3 D196 ; #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I - B4 D291 ; #CYRILLIC SMALL LETTER GHE WITH UPTURN - B5 C2B5 ; #MICRO SIGN - B6 C2B6 ; #PILCROW SIGN - B7 C2B7 ; #MIDDLE DOT - B8 D191 ; #CYRILLIC SMALL LETTER IO - B9 E28496 ; #NUMERO SIGN - BA D194 ; #CYRILLIC SMALL LETTER UKRAINIAN IE - BB C2BB ; #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK - BC D198 ; #CYRILLIC SMALL LETTER JE - BD D085 ; #CYRILLIC CAPITAL LETTER DZE - BE D195 ; #CYRILLIC SMALL LETTER DZE - BF D197 ; #CYRILLIC SMALL LETTER YI - C0 D090 ; #CYRILLIC CAPITAL LETTER A - C1 D091 ; #CYRILLIC CAPITAL LETTER BE - C2 D092 ; #CYRILLIC CAPITAL LETTER VE - C3 D093 ; #CYRILLIC CAPITAL LETTER GHE - C4 D094 ; #CYRILLIC CAPITAL LETTER DE - C5 D095 ; #CYRILLIC CAPITAL LETTER IE - C6 D096 ; #CYRILLIC CAPITAL LETTER ZHE - C7 D097 ; #CYRILLIC CAPITAL LETTER ZE - C8 D098 ; #CYRILLIC CAPITAL LETTER I - C9 D099 ; #CYRILLIC CAPITAL LETTER SHORT I - CA D09A ; #CYRILLIC CAPITAL LETTER KA - CB D09B ; #CYRILLIC CAPITAL LETTER EL - CC D09C ; #CYRILLIC CAPITAL LETTER EM - CD D09D ; #CYRILLIC CAPITAL LETTER EN - CE D09E ; #CYRILLIC CAPITAL LETTER O - CF D09F ; #CYRILLIC CAPITAL LETTER PE - D0 D0A0 ; #CYRILLIC CAPITAL LETTER ER - D1 D0A1 ; #CYRILLIC CAPITAL LETTER ES - D2 D0A2 ; #CYRILLIC CAPITAL LETTER TE - D3 D0A3 ; #CYRILLIC CAPITAL LETTER U - D4 D0A4 ; #CYRILLIC CAPITAL LETTER EF - D5 D0A5 ; #CYRILLIC CAPITAL LETTER HA - D6 D0A6 ; #CYRILLIC CAPITAL LETTER TSE - D7 D0A7 ; #CYRILLIC CAPITAL LETTER CHE - D8 D0A8 ; #CYRILLIC CAPITAL LETTER SHA - D9 D0A9 ; #CYRILLIC CAPITAL LETTER SHCHA - DA D0AA ; #CYRILLIC CAPITAL LETTER HARD SIGN - DB D0AB ; #CYRILLIC CAPITAL LETTER YERU - DC D0AC ; #CYRILLIC CAPITAL LETTER SOFT SIGN - DD D0AD ; #CYRILLIC CAPITAL LETTER E - DE D0AE ; #CYRILLIC CAPITAL LETTER YU - DF D0AF ; #CYRILLIC CAPITAL LETTER YA - E0 D0B0 ; #CYRILLIC SMALL LETTER A - E1 D0B1 ; #CYRILLIC SMALL LETTER BE - E2 D0B2 ; #CYRILLIC SMALL LETTER VE - E3 D0B3 ; #CYRILLIC SMALL LETTER GHE - E4 D0B4 ; #CYRILLIC SMALL LETTER DE - E5 D0B5 ; #CYRILLIC SMALL LETTER IE - E6 D0B6 ; #CYRILLIC SMALL LETTER ZHE - E7 D0B7 ; #CYRILLIC SMALL LETTER ZE - E8 D0B8 ; #CYRILLIC SMALL LETTER I - E9 D0B9 ; #CYRILLIC SMALL LETTER SHORT I - EA D0BA ; #CYRILLIC SMALL LETTER KA - EB D0BB ; #CYRILLIC SMALL LETTER EL - EC D0BC ; #CYRILLIC SMALL LETTER EM - ED D0BD ; #CYRILLIC SMALL LETTER EN - EE D0BE ; #CYRILLIC SMALL LETTER O - EF D0BF ; #CYRILLIC SMALL LETTER PE - F0 D180 ; #CYRILLIC SMALL LETTER ER - F1 D181 ; #CYRILLIC SMALL LETTER ES - F2 D182 ; #CYRILLIC SMALL LETTER TE - F3 D183 ; #CYRILLIC SMALL LETTER U - F4 D184 ; #CYRILLIC SMALL LETTER EF - F5 D185 ; #CYRILLIC SMALL LETTER HA - F6 D186 ; #CYRILLIC SMALL LETTER TSE - F7 D187 ; #CYRILLIC SMALL LETTER CHE - F8 D188 ; #CYRILLIC SMALL LETTER SHA - F9 D189 ; #CYRILLIC SMALL LETTER SHCHA - FA D18A ; #CYRILLIC SMALL LETTER HARD SIGN - FB D18B ; #CYRILLIC SMALL LETTER YERU - FC D18C ; #CYRILLIC SMALL LETTER SOFT SIGN - FD D18D ; #CYRILLIC SMALL LETTER E - FE D18E ; #CYRILLIC SMALL LETTER YU - FF D18F ; #CYRILLIC SMALL LETTER YA -} diff --git a/demos/nginx-demo/contrib/vim/ftdetect/nginx.vim b/demos/nginx-demo/contrib/vim/ftdetect/nginx.vim deleted file mode 100644 index 3ae470d..0000000 --- a/demos/nginx-demo/contrib/vim/ftdetect/nginx.vim +++ /dev/null @@ -1,4 +0,0 @@ -au BufRead,BufNewFile *.nginx set ft=nginx -au BufRead,BufNewFile */etc/nginx/* set ft=nginx -au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx -au BufRead,BufNewFile nginx.conf set ft=nginx diff --git a/demos/nginx-demo/contrib/vim/ftplugin/nginx.vim b/demos/nginx-demo/contrib/vim/ftplugin/nginx.vim deleted file mode 100644 index 463eea9..0000000 --- a/demos/nginx-demo/contrib/vim/ftplugin/nginx.vim +++ /dev/null @@ -1 +0,0 @@ -setlocal commentstring=#\ %s diff --git a/demos/nginx-demo/contrib/vim/indent/nginx.vim b/demos/nginx-demo/contrib/vim/indent/nginx.vim deleted file mode 100644 index 8601366..0000000 --- a/demos/nginx-demo/contrib/vim/indent/nginx.vim +++ /dev/null @@ -1,11 +0,0 @@ -if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -setlocal indentexpr= - -" cindent actually works for nginx' simple file structure -setlocal cindent -" Just make sure that the comments are not reset as defs would be. -setlocal cinkeys-=0# diff --git a/demos/nginx-demo/contrib/vim/syntax/nginx.vim b/demos/nginx-demo/contrib/vim/syntax/nginx.vim deleted file mode 100644 index 075b19a..0000000 --- a/demos/nginx-demo/contrib/vim/syntax/nginx.vim +++ /dev/null @@ -1,2268 +0,0 @@ -" Vim syntax file -" Language: nginx.conf - -if exists("b:current_syntax") - finish -end - -" general syntax - -if has("patch-7.4.1142") - " except control characters, ";", "{", and "}" - syn iskeyword 33-58,60-122,124,126-255 -endif - -syn match ngxName '\([^;{} \t\\]\|\\.\)\+' - \ contains=@ngxDirectives - \ nextgroup=@ngxParams skipwhite skipempty -syn match ngxParam '\(\${\|[^;{ \t\\]\|\\.\)\+' - \ contained - \ contains=ngxVariable - \ nextgroup=@ngxParams skipwhite skipempty -syn region ngxString start=+\z(["']\)+ end=+\z1+ skip=+\\\\\|\\\z1+ - \ contains=ngxVariableString - \ nextgroup=@ngxParams skipwhite skipempty -syn match ngxParamComment '#.*$' - \ nextgroup=@ngxParams skipwhite skipempty -syn match ngxSemicolon ';' contained -syn region ngxBlock start=+{+ end=+}+ contained - \ contains=@ngxTopLevel -syn match ngxComment '#.*$' - -syn match ngxVariable '\$\(\w\+\|{\w\+}\)' contained -syn match ngxVariableString '\$\(\w\+\|{\w\+}\)' contained - -syn cluster ngxTopLevel - \ contains=ngxName,ngxString,ngxComment -syn cluster ngxDirectives - \ contains=ngxDirective,ngxDirectiveBlock,ngxDirectiveImportant - \ add=ngxDirectiveControl,ngxDirectiveError,ngxDirectiveDeprecated - \ add=ngxDirectiveThirdParty,ngxDirectiveThirdPartyDeprecated -syn cluster ngxParams - \ contains=ngxParam,ngxString,ngxParamComment,ngxSemicolon,ngxBlock - -" boolean parameters - -syn keyword ngxBoolean contained on off - \ nextgroup=@ngxParams skipwhite skipempty -syn cluster ngxParams add=ngxBoolean - -" listen directive - -syn cluster ngxTopLevel add=ngxDirectiveListen -syn keyword ngxDirectiveListen listen - \ nextgroup=@ngxListenParams skipwhite skipempty -syn match ngxListenParam '\(\${\|[^;{ \t\\]\|\\.\)\+' - \ contained - \ nextgroup=@ngxListenParams skipwhite skipempty -syn region ngxListenString start=+\z(["']\)+ end=+\z1+ skip=+\\\\\|\\\z1+ - \ contained - \ nextgroup=@ngxListenParams skipwhite skipempty -syn match ngxListenComment '#.*$' - \ contained - \ nextgroup=@ngxListenParams skipwhite skipempty -syn keyword ngxListenOptions contained - \ default_server ssl http2 proxy_protocol - \ setfib fastopen backlog rcvbuf sndbuf accept_filter deferred bind - \ ipv6only reuseport so_keepalive - \ nextgroup=@ngxListenParams skipwhite skipempty -syn keyword ngxListenOptionsDeprecated contained - \ spdy - \ nextgroup=@ngxListenParams skipwhite skipempty -syn cluster ngxListenParams - \ contains=ngxListenParam,ngxListenString,ngxListenComment - \ add=ngxListenOptions,ngxListenOptionsDeprecated - -syn keyword ngxDirectiveBlock contained http -syn keyword ngxDirectiveBlock contained stream -syn keyword ngxDirectiveBlock contained mail -syn keyword ngxDirectiveBlock contained events -syn keyword ngxDirectiveBlock contained server -syn keyword ngxDirectiveBlock contained types -syn keyword ngxDirectiveBlock contained location -syn keyword ngxDirectiveBlock contained upstream -syn keyword ngxDirectiveBlock contained charset_map -syn keyword ngxDirectiveBlock contained limit_except -syn keyword ngxDirectiveBlock contained if -syn keyword ngxDirectiveBlock contained geo -syn keyword ngxDirectiveBlock contained map -syn keyword ngxDirectiveBlock contained split_clients -syn keyword ngxDirectiveBlock contained match - -syn keyword ngxDirectiveImportant contained include -syn keyword ngxDirectiveImportant contained root -syn keyword ngxDirectiveImportant contained server_name -syn keyword ngxDirectiveImportant contained internal -syn keyword ngxDirectiveImportant contained proxy_pass -syn keyword ngxDirectiveImportant contained memcached_pass -syn keyword ngxDirectiveImportant contained fastcgi_pass -syn keyword ngxDirectiveImportant contained scgi_pass -syn keyword ngxDirectiveImportant contained uwsgi_pass -syn keyword ngxDirectiveImportant contained try_files - -syn keyword ngxDirectiveControl contained break -syn keyword ngxDirectiveControl contained return -syn keyword ngxDirectiveControl contained rewrite -syn keyword ngxDirectiveControl contained set - -syn keyword ngxDirectiveError contained error_page -syn keyword ngxDirectiveError contained post_action - -syn keyword ngxDirectiveDeprecated contained proxy_downstream_buffer -syn keyword ngxDirectiveDeprecated contained proxy_upstream_buffer -syn keyword ngxDirectiveDeprecated contained spdy_chunk_size -syn keyword ngxDirectiveDeprecated contained spdy_headers_comp -syn keyword ngxDirectiveDeprecated contained spdy_keepalive_timeout -syn keyword ngxDirectiveDeprecated contained spdy_max_concurrent_streams -syn keyword ngxDirectiveDeprecated contained spdy_pool_size -syn keyword ngxDirectiveDeprecated contained spdy_recv_buffer_size -syn keyword ngxDirectiveDeprecated contained spdy_recv_timeout -syn keyword ngxDirectiveDeprecated contained spdy_streams_index_size -syn keyword ngxDirectiveDeprecated contained upstream_conf - -syn keyword ngxDirective contained absolute_redirect -syn keyword ngxDirective contained accept_mutex -syn keyword ngxDirective contained accept_mutex_delay -syn keyword ngxDirective contained acceptex_read -syn keyword ngxDirective contained access_log -syn keyword ngxDirective contained add_after_body -syn keyword ngxDirective contained add_before_body -syn keyword ngxDirective contained add_header -syn keyword ngxDirective contained add_trailer -syn keyword ngxDirective contained addition_types -syn keyword ngxDirective contained aio -syn keyword ngxDirective contained aio_write -syn keyword ngxDirective contained alias -syn keyword ngxDirective contained allow -syn keyword ngxDirective contained ancient_browser -syn keyword ngxDirective contained ancient_browser_value -syn keyword ngxDirective contained auth_basic -syn keyword ngxDirective contained auth_basic_user_file -syn keyword ngxDirective contained auth_http -syn keyword ngxDirective contained auth_http_header -syn keyword ngxDirective contained auth_http_pass_client_cert -syn keyword ngxDirective contained auth_http_timeout -syn keyword ngxDirective contained auth_jwt -syn keyword ngxDirective contained auth_jwt_key_file -syn keyword ngxDirective contained auth_request -syn keyword ngxDirective contained auth_request_set -syn keyword ngxDirective contained autoindex -syn keyword ngxDirective contained autoindex_exact_size -syn keyword ngxDirective contained autoindex_format -syn keyword ngxDirective contained autoindex_localtime -syn keyword ngxDirective contained charset -syn keyword ngxDirective contained charset_types -syn keyword ngxDirective contained chunked_transfer_encoding -syn keyword ngxDirective contained client_body_buffer_size -syn keyword ngxDirective contained client_body_in_file_only -syn keyword ngxDirective contained client_body_in_single_buffer -syn keyword ngxDirective contained client_body_temp_path -syn keyword ngxDirective contained client_body_timeout -syn keyword ngxDirective contained client_header_buffer_size -syn keyword ngxDirective contained client_header_timeout -syn keyword ngxDirective contained client_max_body_size -syn keyword ngxDirective contained connection_pool_size -syn keyword ngxDirective contained create_full_put_path -syn keyword ngxDirective contained daemon -syn keyword ngxDirective contained dav_access -syn keyword ngxDirective contained dav_methods -syn keyword ngxDirective contained debug_connection -syn keyword ngxDirective contained debug_points -syn keyword ngxDirective contained default_type -syn keyword ngxDirective contained degradation -syn keyword ngxDirective contained degrade -syn keyword ngxDirective contained deny -syn keyword ngxDirective contained devpoll_changes -syn keyword ngxDirective contained devpoll_events -syn keyword ngxDirective contained directio -syn keyword ngxDirective contained directio_alignment -syn keyword ngxDirective contained disable_symlinks -syn keyword ngxDirective contained empty_gif -syn keyword ngxDirective contained env -syn keyword ngxDirective contained epoll_events -syn keyword ngxDirective contained error_log -syn keyword ngxDirective contained etag -syn keyword ngxDirective contained eventport_events -syn keyword ngxDirective contained expires -syn keyword ngxDirective contained f4f -syn keyword ngxDirective contained f4f_buffer_size -syn keyword ngxDirective contained fastcgi_bind -syn keyword ngxDirective contained fastcgi_buffer_size -syn keyword ngxDirective contained fastcgi_buffering -syn keyword ngxDirective contained fastcgi_buffers -syn keyword ngxDirective contained fastcgi_busy_buffers_size -syn keyword ngxDirective contained fastcgi_cache -syn keyword ngxDirective contained fastcgi_cache_background_update -syn keyword ngxDirective contained fastcgi_cache_bypass -syn keyword ngxDirective contained fastcgi_cache_key -syn keyword ngxDirective contained fastcgi_cache_lock -syn keyword ngxDirective contained fastcgi_cache_lock_age -syn keyword ngxDirective contained fastcgi_cache_lock_timeout -syn keyword ngxDirective contained fastcgi_cache_max_range_offset -syn keyword ngxDirective contained fastcgi_cache_methods -syn keyword ngxDirective contained fastcgi_cache_min_uses -syn keyword ngxDirective contained fastcgi_cache_path -syn keyword ngxDirective contained fastcgi_cache_purge -syn keyword ngxDirective contained fastcgi_cache_revalidate -syn keyword ngxDirective contained fastcgi_cache_use_stale -syn keyword ngxDirective contained fastcgi_cache_valid -syn keyword ngxDirective contained fastcgi_catch_stderr -syn keyword ngxDirective contained fastcgi_connect_timeout -syn keyword ngxDirective contained fastcgi_force_ranges -syn keyword ngxDirective contained fastcgi_hide_header -syn keyword ngxDirective contained fastcgi_ignore_client_abort -syn keyword ngxDirective contained fastcgi_ignore_headers -syn keyword ngxDirective contained fastcgi_index -syn keyword ngxDirective contained fastcgi_intercept_errors -syn keyword ngxDirective contained fastcgi_keep_conn -syn keyword ngxDirective contained fastcgi_limit_rate -syn keyword ngxDirective contained fastcgi_max_temp_file_size -syn keyword ngxDirective contained fastcgi_next_upstream -syn keyword ngxDirective contained fastcgi_next_upstream_timeout -syn keyword ngxDirective contained fastcgi_next_upstream_tries -syn keyword ngxDirective contained fastcgi_no_cache -syn keyword ngxDirective contained fastcgi_param -syn keyword ngxDirective contained fastcgi_pass_header -syn keyword ngxDirective contained fastcgi_pass_request_body -syn keyword ngxDirective contained fastcgi_pass_request_headers -syn keyword ngxDirective contained fastcgi_read_timeout -syn keyword ngxDirective contained fastcgi_request_buffering -syn keyword ngxDirective contained fastcgi_send_lowat -syn keyword ngxDirective contained fastcgi_send_timeout -syn keyword ngxDirective contained fastcgi_split_path_info -syn keyword ngxDirective contained fastcgi_store -syn keyword ngxDirective contained fastcgi_store_access -syn keyword ngxDirective contained fastcgi_temp_file_write_size -syn keyword ngxDirective contained fastcgi_temp_path -syn keyword ngxDirective contained flv -syn keyword ngxDirective contained geoip_city -syn keyword ngxDirective contained geoip_country -syn keyword ngxDirective contained geoip_org -syn keyword ngxDirective contained geoip_proxy -syn keyword ngxDirective contained geoip_proxy_recursive -syn keyword ngxDirective contained google_perftools_profiles -syn keyword ngxDirective contained grpc_bind -syn keyword ngxDirective contained grpc_buffer_size -syn keyword ngxDirective contained grpc_connect_timeout -syn keyword ngxDirective contained grpc_hide_header -syn keyword ngxDirective contained grpc_ignore_headers -syn keyword ngxDirective contained grpc_intercept_errors -syn keyword ngxDirective contained grpc_next_upstream -syn keyword ngxDirective contained grpc_next_upstream_timeout -syn keyword ngxDirective contained grpc_next_upstream_tries -syn keyword ngxDirective contained grpc_pass -syn keyword ngxDirective contained grpc_pass_header -syn keyword ngxDirective contained grpc_read_timeout -syn keyword ngxDirective contained grpc_send_timeout -syn keyword ngxDirective contained grpc_set_header -syn keyword ngxDirective contained grpc_ssl_certificate -syn keyword ngxDirective contained grpc_ssl_certificate_key -syn keyword ngxDirective contained grpc_ssl_ciphers -syn keyword ngxDirective contained grpc_ssl_crl -syn keyword ngxDirective contained grpc_ssl_name -syn keyword ngxDirective contained grpc_ssl_password_file -syn keyword ngxDirective contained grpc_ssl_protocols -syn keyword ngxDirective contained grpc_ssl_server_name -syn keyword ngxDirective contained grpc_ssl_session_reuse -syn keyword ngxDirective contained grpc_ssl_trusted_certificate -syn keyword ngxDirective contained grpc_ssl_verify -syn keyword ngxDirective contained grpc_ssl_verify_depth -syn keyword ngxDirective contained gunzip -syn keyword ngxDirective contained gunzip_buffers -syn keyword ngxDirective contained gzip -syn keyword ngxDirective contained gzip_buffers -syn keyword ngxDirective contained gzip_comp_level -syn keyword ngxDirective contained gzip_disable -syn keyword ngxDirective contained gzip_hash -syn keyword ngxDirective contained gzip_http_version -syn keyword ngxDirective contained gzip_min_length -syn keyword ngxDirective contained gzip_no_buffer -syn keyword ngxDirective contained gzip_proxied -syn keyword ngxDirective contained gzip_static -syn keyword ngxDirective contained gzip_types -syn keyword ngxDirective contained gzip_vary -syn keyword ngxDirective contained gzip_window -syn keyword ngxDirective contained hash -syn keyword ngxDirective contained health_check -syn keyword ngxDirective contained health_check_timeout -syn keyword ngxDirective contained hls -syn keyword ngxDirective contained hls_buffers -syn keyword ngxDirective contained hls_forward_args -syn keyword ngxDirective contained hls_fragment -syn keyword ngxDirective contained hls_mp4_buffer_size -syn keyword ngxDirective contained hls_mp4_max_buffer_size -syn keyword ngxDirective contained http2_body_preread_size -syn keyword ngxDirective contained http2_chunk_size -syn keyword ngxDirective contained http2_idle_timeout -syn keyword ngxDirective contained http2_max_concurrent_pushes -syn keyword ngxDirective contained http2_max_concurrent_streams -syn keyword ngxDirective contained http2_max_field_size -syn keyword ngxDirective contained http2_max_header_size -syn keyword ngxDirective contained http2_max_requests -syn keyword ngxDirective contained http2_pool_size -syn keyword ngxDirective contained http2_push -syn keyword ngxDirective contained http2_push_preload -syn keyword ngxDirective contained http2_recv_buffer_size -syn keyword ngxDirective contained http2_recv_timeout -syn keyword ngxDirective contained http2_streams_index_size -syn keyword ngxDirective contained if_modified_since -syn keyword ngxDirective contained ignore_invalid_headers -syn keyword ngxDirective contained image_filter -syn keyword ngxDirective contained image_filter_buffer -syn keyword ngxDirective contained image_filter_interlace -syn keyword ngxDirective contained image_filter_jpeg_quality -syn keyword ngxDirective contained image_filter_sharpen -syn keyword ngxDirective contained image_filter_transparency -syn keyword ngxDirective contained image_filter_webp_quality -syn keyword ngxDirective contained imap_auth -syn keyword ngxDirective contained imap_capabilities -syn keyword ngxDirective contained imap_client_buffer -syn keyword ngxDirective contained index -syn keyword ngxDirective contained iocp_threads -syn keyword ngxDirective contained ip_hash -syn keyword ngxDirective contained js_access -syn keyword ngxDirective contained js_content -syn keyword ngxDirective contained js_filter -syn keyword ngxDirective contained js_include -syn keyword ngxDirective contained js_preread -syn keyword ngxDirective contained js_set -syn keyword ngxDirective contained keepalive -syn keyword ngxDirective contained keepalive_disable -syn keyword ngxDirective contained keepalive_requests -syn keyword ngxDirective contained keepalive_timeout -syn keyword ngxDirective contained kqueue_changes -syn keyword ngxDirective contained kqueue_events -syn keyword ngxDirective contained large_client_header_buffers -syn keyword ngxDirective contained least_conn -syn keyword ngxDirective contained least_time -syn keyword ngxDirective contained limit_conn -syn keyword ngxDirective contained limit_conn_log_level -syn keyword ngxDirective contained limit_conn_status -syn keyword ngxDirective contained limit_conn_zone -syn keyword ngxDirective contained limit_rate -syn keyword ngxDirective contained limit_rate_after -syn keyword ngxDirective contained limit_req -syn keyword ngxDirective contained limit_req_log_level -syn keyword ngxDirective contained limit_req_status -syn keyword ngxDirective contained limit_req_zone -syn keyword ngxDirective contained lingering_close -syn keyword ngxDirective contained lingering_time -syn keyword ngxDirective contained lingering_timeout -syn keyword ngxDirective contained load_module -syn keyword ngxDirective contained lock_file -syn keyword ngxDirective contained log_format -syn keyword ngxDirective contained log_not_found -syn keyword ngxDirective contained log_subrequest -syn keyword ngxDirective contained map_hash_bucket_size -syn keyword ngxDirective contained map_hash_max_size -syn keyword ngxDirective contained master_process -syn keyword ngxDirective contained max_ranges -syn keyword ngxDirective contained memcached_bind -syn keyword ngxDirective contained memcached_buffer_size -syn keyword ngxDirective contained memcached_connect_timeout -syn keyword ngxDirective contained memcached_force_ranges -syn keyword ngxDirective contained memcached_gzip_flag -syn keyword ngxDirective contained memcached_next_upstream -syn keyword ngxDirective contained memcached_next_upstream_timeout -syn keyword ngxDirective contained memcached_next_upstream_tries -syn keyword ngxDirective contained memcached_read_timeout -syn keyword ngxDirective contained memcached_send_timeout -syn keyword ngxDirective contained merge_slashes -syn keyword ngxDirective contained min_delete_depth -syn keyword ngxDirective contained mirror -syn keyword ngxDirective contained mirror_request_body -syn keyword ngxDirective contained modern_browser -syn keyword ngxDirective contained modern_browser_value -syn keyword ngxDirective contained mp4 -syn keyword ngxDirective contained mp4_buffer_size -syn keyword ngxDirective contained mp4_max_buffer_size -syn keyword ngxDirective contained mp4_limit_rate -syn keyword ngxDirective contained mp4_limit_rate_after -syn keyword ngxDirective contained msie_padding -syn keyword ngxDirective contained msie_refresh -syn keyword ngxDirective contained multi_accept -syn keyword ngxDirective contained ntlm -syn keyword ngxDirective contained open_file_cache -syn keyword ngxDirective contained open_file_cache_errors -syn keyword ngxDirective contained open_file_cache_events -syn keyword ngxDirective contained open_file_cache_min_uses -syn keyword ngxDirective contained open_file_cache_valid -syn keyword ngxDirective contained open_log_file_cache -syn keyword ngxDirective contained output_buffers -syn keyword ngxDirective contained override_charset -syn keyword ngxDirective contained pcre_jit -syn keyword ngxDirective contained perl -syn keyword ngxDirective contained perl_modules -syn keyword ngxDirective contained perl_require -syn keyword ngxDirective contained perl_set -syn keyword ngxDirective contained pid -syn keyword ngxDirective contained pop3_auth -syn keyword ngxDirective contained pop3_capabilities -syn keyword ngxDirective contained port_in_redirect -syn keyword ngxDirective contained post_acceptex -syn keyword ngxDirective contained postpone_gzipping -syn keyword ngxDirective contained postpone_output -syn keyword ngxDirective contained preread_buffer_size -syn keyword ngxDirective contained preread_timeout -syn keyword ngxDirective contained protocol -syn keyword ngxDirective contained proxy -syn keyword ngxDirective contained proxy_bind -syn keyword ngxDirective contained proxy_buffer -syn keyword ngxDirective contained proxy_buffer_size -syn keyword ngxDirective contained proxy_buffering -syn keyword ngxDirective contained proxy_buffers -syn keyword ngxDirective contained proxy_busy_buffers_size -syn keyword ngxDirective contained proxy_cache -syn keyword ngxDirective contained proxy_cache_background_update -syn keyword ngxDirective contained proxy_cache_bypass -syn keyword ngxDirective contained proxy_cache_convert_head -syn keyword ngxDirective contained proxy_cache_key -syn keyword ngxDirective contained proxy_cache_lock -syn keyword ngxDirective contained proxy_cache_lock_age -syn keyword ngxDirective contained proxy_cache_lock_timeout -syn keyword ngxDirective contained proxy_cache_max_range_offset -syn keyword ngxDirective contained proxy_cache_methods -syn keyword ngxDirective contained proxy_cache_min_uses -syn keyword ngxDirective contained proxy_cache_path -syn keyword ngxDirective contained proxy_cache_purge -syn keyword ngxDirective contained proxy_cache_revalidate -syn keyword ngxDirective contained proxy_cache_use_stale -syn keyword ngxDirective contained proxy_cache_valid -syn keyword ngxDirective contained proxy_connect_timeout -syn keyword ngxDirective contained proxy_cookie_domain -syn keyword ngxDirective contained proxy_cookie_path -syn keyword ngxDirective contained proxy_download_rate -syn keyword ngxDirective contained proxy_force_ranges -syn keyword ngxDirective contained proxy_headers_hash_bucket_size -syn keyword ngxDirective contained proxy_headers_hash_max_size -syn keyword ngxDirective contained proxy_hide_header -syn keyword ngxDirective contained proxy_http_version -syn keyword ngxDirective contained proxy_ignore_client_abort -syn keyword ngxDirective contained proxy_ignore_headers -syn keyword ngxDirective contained proxy_intercept_errors -syn keyword ngxDirective contained proxy_limit_rate -syn keyword ngxDirective contained proxy_max_temp_file_size -syn keyword ngxDirective contained proxy_method -syn keyword ngxDirective contained proxy_next_upstream -syn keyword ngxDirective contained proxy_next_upstream_timeout -syn keyword ngxDirective contained proxy_next_upstream_tries -syn keyword ngxDirective contained proxy_no_cache -syn keyword ngxDirective contained proxy_pass_error_message -syn keyword ngxDirective contained proxy_pass_header -syn keyword ngxDirective contained proxy_pass_request_body -syn keyword ngxDirective contained proxy_pass_request_headers -syn keyword ngxDirective contained proxy_protocol -syn keyword ngxDirective contained proxy_protocol_timeout -syn keyword ngxDirective contained proxy_read_timeout -syn keyword ngxDirective contained proxy_redirect -syn keyword ngxDirective contained proxy_request_buffering -syn keyword ngxDirective contained proxy_responses -syn keyword ngxDirective contained proxy_send_lowat -syn keyword ngxDirective contained proxy_send_timeout -syn keyword ngxDirective contained proxy_set_body -syn keyword ngxDirective contained proxy_set_header -syn keyword ngxDirective contained proxy_ssl -syn keyword ngxDirective contained proxy_ssl_certificate -syn keyword ngxDirective contained proxy_ssl_certificate_key -syn keyword ngxDirective contained proxy_ssl_ciphers -syn keyword ngxDirective contained proxy_ssl_crl -syn keyword ngxDirective contained proxy_ssl_name -syn keyword ngxDirective contained proxy_ssl_password_file -syn keyword ngxDirective contained proxy_ssl_protocols -syn keyword ngxDirective contained proxy_ssl_server_name -syn keyword ngxDirective contained proxy_ssl_session_reuse -syn keyword ngxDirective contained proxy_ssl_trusted_certificate -syn keyword ngxDirective contained proxy_ssl_verify -syn keyword ngxDirective contained proxy_ssl_verify_depth -syn keyword ngxDirective contained proxy_store -syn keyword ngxDirective contained proxy_store_access -syn keyword ngxDirective contained proxy_temp_file_write_size -syn keyword ngxDirective contained proxy_temp_path -syn keyword ngxDirective contained proxy_timeout -syn keyword ngxDirective contained proxy_upload_rate -syn keyword ngxDirective contained queue -syn keyword ngxDirective contained random_index -syn keyword ngxDirective contained read_ahead -syn keyword ngxDirective contained real_ip_header -syn keyword ngxDirective contained real_ip_recursive -syn keyword ngxDirective contained recursive_error_pages -syn keyword ngxDirective contained referer_hash_bucket_size -syn keyword ngxDirective contained referer_hash_max_size -syn keyword ngxDirective contained request_pool_size -syn keyword ngxDirective contained reset_timedout_connection -syn keyword ngxDirective contained resolver -syn keyword ngxDirective contained resolver_timeout -syn keyword ngxDirective contained rewrite_log -syn keyword ngxDirective contained satisfy -syn keyword ngxDirective contained scgi_bind -syn keyword ngxDirective contained scgi_buffer_size -syn keyword ngxDirective contained scgi_buffering -syn keyword ngxDirective contained scgi_buffers -syn keyword ngxDirective contained scgi_busy_buffers_size -syn keyword ngxDirective contained scgi_cache -syn keyword ngxDirective contained scgi_cache_background_update -syn keyword ngxDirective contained scgi_cache_bypass -syn keyword ngxDirective contained scgi_cache_key -syn keyword ngxDirective contained scgi_cache_lock -syn keyword ngxDirective contained scgi_cache_lock_age -syn keyword ngxDirective contained scgi_cache_lock_timeout -syn keyword ngxDirective contained scgi_cache_max_range_offset -syn keyword ngxDirective contained scgi_cache_methods -syn keyword ngxDirective contained scgi_cache_min_uses -syn keyword ngxDirective contained scgi_cache_path -syn keyword ngxDirective contained scgi_cache_purge -syn keyword ngxDirective contained scgi_cache_revalidate -syn keyword ngxDirective contained scgi_cache_use_stale -syn keyword ngxDirective contained scgi_cache_valid -syn keyword ngxDirective contained scgi_connect_timeout -syn keyword ngxDirective contained scgi_force_ranges -syn keyword ngxDirective contained scgi_hide_header -syn keyword ngxDirective contained scgi_ignore_client_abort -syn keyword ngxDirective contained scgi_ignore_headers -syn keyword ngxDirective contained scgi_intercept_errors -syn keyword ngxDirective contained scgi_limit_rate -syn keyword ngxDirective contained scgi_max_temp_file_size -syn keyword ngxDirective contained scgi_next_upstream -syn keyword ngxDirective contained scgi_next_upstream_timeout -syn keyword ngxDirective contained scgi_next_upstream_tries -syn keyword ngxDirective contained scgi_no_cache -syn keyword ngxDirective contained scgi_param -syn keyword ngxDirective contained scgi_pass_header -syn keyword ngxDirective contained scgi_pass_request_body -syn keyword ngxDirective contained scgi_pass_request_headers -syn keyword ngxDirective contained scgi_read_timeout -syn keyword ngxDirective contained scgi_request_buffering -syn keyword ngxDirective contained scgi_send_timeout -syn keyword ngxDirective contained scgi_store -syn keyword ngxDirective contained scgi_store_access -syn keyword ngxDirective contained scgi_temp_file_write_size -syn keyword ngxDirective contained scgi_temp_path -syn keyword ngxDirective contained secure_link -syn keyword ngxDirective contained secure_link_md5 -syn keyword ngxDirective contained secure_link_secret -syn keyword ngxDirective contained send_lowat -syn keyword ngxDirective contained send_timeout -syn keyword ngxDirective contained sendfile -syn keyword ngxDirective contained sendfile_max_chunk -syn keyword ngxDirective contained server_name_in_redirect -syn keyword ngxDirective contained server_names_hash_bucket_size -syn keyword ngxDirective contained server_names_hash_max_size -syn keyword ngxDirective contained server_tokens -syn keyword ngxDirective contained session_log -syn keyword ngxDirective contained session_log_format -syn keyword ngxDirective contained session_log_zone -syn keyword ngxDirective contained set_real_ip_from -syn keyword ngxDirective contained slice -syn keyword ngxDirective contained smtp_auth -syn keyword ngxDirective contained smtp_capabilities -syn keyword ngxDirective contained smtp_client_buffer -syn keyword ngxDirective contained smtp_greeting_delay -syn keyword ngxDirective contained source_charset -syn keyword ngxDirective contained ssi -syn keyword ngxDirective contained ssi_ignore_recycled_buffers -syn keyword ngxDirective contained ssi_last_modified -syn keyword ngxDirective contained ssi_min_file_chunk -syn keyword ngxDirective contained ssi_silent_errors -syn keyword ngxDirective contained ssi_types -syn keyword ngxDirective contained ssi_value_length -syn keyword ngxDirective contained ssl -syn keyword ngxDirective contained ssl_buffer_size -syn keyword ngxDirective contained ssl_certificate -syn keyword ngxDirective contained ssl_certificate_key -syn keyword ngxDirective contained ssl_ciphers -syn keyword ngxDirective contained ssl_client_certificate -syn keyword ngxDirective contained ssl_crl -syn keyword ngxDirective contained ssl_dhparam -syn keyword ngxDirective contained ssl_ecdh_curve -syn keyword ngxDirective contained ssl_engine -syn keyword ngxDirective contained ssl_handshake_timeout -syn keyword ngxDirective contained ssl_password_file -syn keyword ngxDirective contained ssl_prefer_server_ciphers -syn keyword ngxDirective contained ssl_preread -syn keyword ngxDirective contained ssl_protocols -syn keyword ngxDirective contained ssl_session_cache -syn keyword ngxDirective contained ssl_session_ticket_key -syn keyword ngxDirective contained ssl_session_tickets -syn keyword ngxDirective contained ssl_session_timeout -syn keyword ngxDirective contained ssl_stapling -syn keyword ngxDirective contained ssl_stapling_file -syn keyword ngxDirective contained ssl_stapling_responder -syn keyword ngxDirective contained ssl_stapling_verify -syn keyword ngxDirective contained ssl_trusted_certificate -syn keyword ngxDirective contained ssl_verify_client -syn keyword ngxDirective contained ssl_verify_depth -syn keyword ngxDirective contained starttls -syn keyword ngxDirective contained state -syn keyword ngxDirective contained status -syn keyword ngxDirective contained status_format -syn keyword ngxDirective contained status_zone -syn keyword ngxDirective contained sticky -syn keyword ngxDirective contained sticky_cookie_insert -syn keyword ngxDirective contained stub_status -syn keyword ngxDirective contained sub_filter -syn keyword ngxDirective contained sub_filter_last_modified -syn keyword ngxDirective contained sub_filter_once -syn keyword ngxDirective contained sub_filter_types -syn keyword ngxDirective contained subrequest_output_buffer_size -syn keyword ngxDirective contained tcp_nodelay -syn keyword ngxDirective contained tcp_nopush -syn keyword ngxDirective contained thread_pool -syn keyword ngxDirective contained timeout -syn keyword ngxDirective contained timer_resolution -syn keyword ngxDirective contained types_hash_bucket_size -syn keyword ngxDirective contained types_hash_max_size -syn keyword ngxDirective contained underscores_in_headers -syn keyword ngxDirective contained uninitialized_variable_warn -syn keyword ngxDirective contained use -syn keyword ngxDirective contained user -syn keyword ngxDirective contained userid -syn keyword ngxDirective contained userid_domain -syn keyword ngxDirective contained userid_expires -syn keyword ngxDirective contained userid_mark -syn keyword ngxDirective contained userid_name -syn keyword ngxDirective contained userid_p3p -syn keyword ngxDirective contained userid_path -syn keyword ngxDirective contained userid_service -syn keyword ngxDirective contained uwsgi_bind -syn keyword ngxDirective contained uwsgi_buffer_size -syn keyword ngxDirective contained uwsgi_buffering -syn keyword ngxDirective contained uwsgi_buffers -syn keyword ngxDirective contained uwsgi_busy_buffers_size -syn keyword ngxDirective contained uwsgi_cache -syn keyword ngxDirective contained uwsgi_cache_background_update -syn keyword ngxDirective contained uwsgi_cache_bypass -syn keyword ngxDirective contained uwsgi_cache_key -syn keyword ngxDirective contained uwsgi_cache_lock -syn keyword ngxDirective contained uwsgi_cache_lock_age -syn keyword ngxDirective contained uwsgi_cache_lock_timeout -syn keyword ngxDirective contained uwsgi_cache_max_range_offset -syn keyword ngxDirective contained uwsgi_cache_methods -syn keyword ngxDirective contained uwsgi_cache_min_uses -syn keyword ngxDirective contained uwsgi_cache_path -syn keyword ngxDirective contained uwsgi_cache_purge -syn keyword ngxDirective contained uwsgi_cache_revalidate -syn keyword ngxDirective contained uwsgi_cache_use_stale -syn keyword ngxDirective contained uwsgi_cache_valid -syn keyword ngxDirective contained uwsgi_connect_timeout -syn keyword ngxDirective contained uwsgi_force_ranges -syn keyword ngxDirective contained uwsgi_hide_header -syn keyword ngxDirective contained uwsgi_ignore_client_abort -syn keyword ngxDirective contained uwsgi_ignore_headers -syn keyword ngxDirective contained uwsgi_intercept_errors -syn keyword ngxDirective contained uwsgi_limit_rate -syn keyword ngxDirective contained uwsgi_max_temp_file_size -syn keyword ngxDirective contained uwsgi_modifier1 -syn keyword ngxDirective contained uwsgi_modifier2 -syn keyword ngxDirective contained uwsgi_next_upstream -syn keyword ngxDirective contained uwsgi_next_upstream_timeout -syn keyword ngxDirective contained uwsgi_next_upstream_tries -syn keyword ngxDirective contained uwsgi_no_cache -syn keyword ngxDirective contained uwsgi_param -syn keyword ngxDirective contained uwsgi_pass_header -syn keyword ngxDirective contained uwsgi_pass_request_body -syn keyword ngxDirective contained uwsgi_pass_request_headers -syn keyword ngxDirective contained uwsgi_read_timeout -syn keyword ngxDirective contained uwsgi_request_buffering -syn keyword ngxDirective contained uwsgi_send_timeout -syn keyword ngxDirective contained uwsgi_ssl_certificate -syn keyword ngxDirective contained uwsgi_ssl_certificate_key -syn keyword ngxDirective contained uwsgi_ssl_ciphers -syn keyword ngxDirective contained uwsgi_ssl_crl -syn keyword ngxDirective contained uwsgi_ssl_name -syn keyword ngxDirective contained uwsgi_ssl_password_file -syn keyword ngxDirective contained uwsgi_ssl_protocols -syn keyword ngxDirective contained uwsgi_ssl_server_name -syn keyword ngxDirective contained uwsgi_ssl_session_reuse -syn keyword ngxDirective contained uwsgi_ssl_trusted_certificate -syn keyword ngxDirective contained uwsgi_ssl_verify -syn keyword ngxDirective contained uwsgi_ssl_verify_depth -syn keyword ngxDirective contained uwsgi_store -syn keyword ngxDirective contained uwsgi_store_access -syn keyword ngxDirective contained uwsgi_string -syn keyword ngxDirective contained uwsgi_temp_file_write_size -syn keyword ngxDirective contained uwsgi_temp_path -syn keyword ngxDirective contained valid_referers -syn keyword ngxDirective contained variables_hash_bucket_size -syn keyword ngxDirective contained variables_hash_max_size -syn keyword ngxDirective contained worker_aio_requests -syn keyword ngxDirective contained worker_connections -syn keyword ngxDirective contained worker_cpu_affinity -syn keyword ngxDirective contained worker_priority -syn keyword ngxDirective contained worker_processes -syn keyword ngxDirective contained worker_rlimit_core -syn keyword ngxDirective contained worker_rlimit_nofile -syn keyword ngxDirective contained worker_shutdown_timeout -syn keyword ngxDirective contained working_directory -syn keyword ngxDirective contained xclient -syn keyword ngxDirective contained xml_entities -syn keyword ngxDirective contained xslt_last_modified -syn keyword ngxDirective contained xslt_param -syn keyword ngxDirective contained xslt_string_param -syn keyword ngxDirective contained xslt_stylesheet -syn keyword ngxDirective contained xslt_types -syn keyword ngxDirective contained zone - -" 3rd party modules list taken from -" https://github.com/freebsd/freebsd-ports/blob/master/www/nginx-devel/Makefile -" ----------------------------------------------------------------------------- - -" Accept Language -" https://github.com/giom/nginx_accept_language_module -syn keyword ngxDirectiveThirdParty contained set_from_accept_language - -" Digest Authentication -" https://github.com/atomx/nginx-http-auth-digest -syn keyword ngxDirectiveThirdParty contained auth_digest -syn keyword ngxDirectiveThirdParty contained auth_digest_drop_time -syn keyword ngxDirectiveThirdParty contained auth_digest_evasion_time -syn keyword ngxDirectiveThirdParty contained auth_digest_expires -syn keyword ngxDirectiveThirdParty contained auth_digest_maxtries -syn keyword ngxDirectiveThirdParty contained auth_digest_replays -syn keyword ngxDirectiveThirdParty contained auth_digest_shm_size -syn keyword ngxDirectiveThirdParty contained auth_digest_timeout -syn keyword ngxDirectiveThirdParty contained auth_digest_user_file - -" SPNEGO Authentication -" https://github.com/stnoonan/spnego-http-auth-nginx-module -syn keyword ngxDirectiveThirdParty contained auth_gss -syn keyword ngxDirectiveThirdParty contained auth_gss_allow_basic_fallback -syn keyword ngxDirectiveThirdParty contained auth_gss_authorized_principal -syn keyword ngxDirectiveThirdParty contained auth_gss_force_realm -syn keyword ngxDirectiveThirdParty contained auth_gss_format_full -syn keyword ngxDirectiveThirdParty contained auth_gss_keytab -syn keyword ngxDirectiveThirdParty contained auth_gss_realm -syn keyword ngxDirectiveThirdParty contained auth_gss_service_name - -" LDAP Authentication -" https://github.com/kvspb/nginx-auth-ldap -syn keyword ngxDirectiveThirdParty contained auth_ldap -syn keyword ngxDirectiveThirdParty contained auth_ldap_cache_enabled -syn keyword ngxDirectiveThirdParty contained auth_ldap_cache_expiration_time -syn keyword ngxDirectiveThirdParty contained auth_ldap_cache_size -syn keyword ngxDirectiveThirdParty contained auth_ldap_servers -syn keyword ngxDirectiveThirdParty contained auth_ldap_servers_size -syn keyword ngxDirectiveThirdParty contained ldap_server - -" PAM Authentication -" https://github.com/sto/ngx_http_auth_pam_module -syn keyword ngxDirectiveThirdParty contained auth_pam -syn keyword ngxDirectiveThirdParty contained auth_pam_service_name -syn keyword ngxDirectiveThirdParty contained auth_pam_set_pam_env - -" AJP protocol proxy -" https://github.com/yaoweibin/nginx_ajp_module -syn keyword ngxDirectiveThirdParty contained ajp_buffer_size -syn keyword ngxDirectiveThirdParty contained ajp_buffers -syn keyword ngxDirectiveThirdParty contained ajp_busy_buffers_size -syn keyword ngxDirectiveThirdParty contained ajp_cache -syn keyword ngxDirectiveThirdParty contained ajp_cache_key -syn keyword ngxDirectiveThirdParty contained ajp_cache_lock -syn keyword ngxDirectiveThirdParty contained ajp_cache_lock_timeout -syn keyword ngxDirectiveThirdParty contained ajp_cache_methods -syn keyword ngxDirectiveThirdParty contained ajp_cache_min_uses -syn keyword ngxDirectiveThirdParty contained ajp_cache_path -syn keyword ngxDirectiveThirdParty contained ajp_cache_use_stale -syn keyword ngxDirectiveThirdParty contained ajp_cache_valid -syn keyword ngxDirectiveThirdParty contained ajp_connect_timeout -syn keyword ngxDirectiveThirdParty contained ajp_header_packet_buffer_size -syn keyword ngxDirectiveThirdParty contained ajp_hide_header -syn keyword ngxDirectiveThirdParty contained ajp_ignore_client_abort -syn keyword ngxDirectiveThirdParty contained ajp_ignore_headers -syn keyword ngxDirectiveThirdParty contained ajp_intercept_errors -syn keyword ngxDirectiveThirdParty contained ajp_keep_conn -syn keyword ngxDirectiveThirdParty contained ajp_max_data_packet_size -syn keyword ngxDirectiveThirdParty contained ajp_max_temp_file_size -syn keyword ngxDirectiveThirdParty contained ajp_next_upstream -syn keyword ngxDirectiveThirdParty contained ajp_pass -syn keyword ngxDirectiveThirdParty contained ajp_pass_header -syn keyword ngxDirectiveThirdParty contained ajp_pass_request_body -syn keyword ngxDirectiveThirdParty contained ajp_pass_request_headers -syn keyword ngxDirectiveThirdParty contained ajp_read_timeout -syn keyword ngxDirectiveThirdParty contained ajp_send_lowat -syn keyword ngxDirectiveThirdParty contained ajp_send_timeout -syn keyword ngxDirectiveThirdParty contained ajp_store -syn keyword ngxDirectiveThirdParty contained ajp_store_access -syn keyword ngxDirectiveThirdParty contained ajp_temp_file_write_size -syn keyword ngxDirectiveThirdParty contained ajp_temp_path -syn keyword ngxDirectiveThirdParty contained ajp_upstream_fail_timeout -syn keyword ngxDirectiveThirdParty contained ajp_upstream_max_fails - -" AWS proxy -" https://github.com/anomalizer/ngx_aws_auth -syn keyword ngxDirectiveThirdParty contained aws_access_key -syn keyword ngxDirectiveThirdParty contained aws_endpoint -syn keyword ngxDirectiveThirdParty contained aws_key_scope -syn keyword ngxDirectiveThirdParty contained aws_s3_bucket -syn keyword ngxDirectiveThirdParty contained aws_sign -syn keyword ngxDirectiveThirdParty contained aws_signing_key - -" embedding Clojure or Java or Groovy programs -" https://github.com/nginx-clojure/nginx-clojure -syn keyword ngxDirectiveThirdParty contained access_handler_code -syn keyword ngxDirectiveThirdParty contained access_handler_name -syn keyword ngxDirectiveThirdParty contained access_handler_property -syn keyword ngxDirectiveThirdParty contained access_handler_type -syn keyword ngxDirectiveThirdParty contained always_read_body -syn keyword ngxDirectiveThirdParty contained auto_upgrade_ws -syn keyword ngxDirectiveThirdParty contained body_filter_code -syn keyword ngxDirectiveThirdParty contained body_filter_name -syn keyword ngxDirectiveThirdParty contained body_filter_property -syn keyword ngxDirectiveThirdParty contained body_filter_type -syn keyword ngxDirectiveThirdParty contained content_handler_code -syn keyword ngxDirectiveThirdParty contained content_handler_name -syn keyword ngxDirectiveThirdParty contained content_handler_property -syn keyword ngxDirectiveThirdParty contained content_handler_type -syn keyword ngxDirectiveThirdParty contained handler_code -syn keyword ngxDirectiveThirdParty contained handler_name -syn keyword ngxDirectiveThirdParty contained handler_type -syn keyword ngxDirectiveThirdParty contained handlers_lazy_init -syn keyword ngxDirectiveThirdParty contained header_filter_code -syn keyword ngxDirectiveThirdParty contained header_filter_name -syn keyword ngxDirectiveThirdParty contained header_filter_property -syn keyword ngxDirectiveThirdParty contained header_filter_type -syn keyword ngxDirectiveThirdParty contained jvm_classpath -syn keyword ngxDirectiveThirdParty contained jvm_classpath_check -syn keyword ngxDirectiveThirdParty contained jvm_exit_handler_code -syn keyword ngxDirectiveThirdParty contained jvm_exit_handler_name -syn keyword ngxDirectiveThirdParty contained jvm_handler_type -syn keyword ngxDirectiveThirdParty contained jvm_init_handler_code -syn keyword ngxDirectiveThirdParty contained jvm_init_handler_name -syn keyword ngxDirectiveThirdParty contained jvm_options -syn keyword ngxDirectiveThirdParty contained jvm_path -syn keyword ngxDirectiveThirdParty contained jvm_var -syn keyword ngxDirectiveThirdParty contained jvm_workers -syn keyword ngxDirectiveThirdParty contained max_balanced_tcp_connections -syn keyword ngxDirectiveThirdParty contained rewrite_handler_code -syn keyword ngxDirectiveThirdParty contained rewrite_handler_name -syn keyword ngxDirectiveThirdParty contained rewrite_handler_property -syn keyword ngxDirectiveThirdParty contained rewrite_handler_type -syn keyword ngxDirectiveThirdParty contained shared_map -syn keyword ngxDirectiveThirdParty contained write_page_size - -" Certificate Transparency -" https://github.com/grahamedgecombe/nginx-ct -syn keyword ngxDirectiveThirdParty contained ssl_ct -syn keyword ngxDirectiveThirdParty contained ssl_ct_static_scts - -" ngx_echo -" https://github.com/openresty/echo-nginx-module -syn keyword ngxDirectiveThirdParty contained echo_abort_parent -syn keyword ngxDirectiveThirdParty contained echo_after_body -syn keyword ngxDirectiveThirdParty contained echo_before_body -syn keyword ngxDirectiveThirdParty contained echo_blocking_sleep -syn keyword ngxDirectiveThirdParty contained echo_end -syn keyword ngxDirectiveThirdParty contained echo_exec -syn keyword ngxDirectiveThirdParty contained echo_flush -syn keyword ngxDirectiveThirdParty contained echo_foreach_split -syn keyword ngxDirectiveThirdParty contained echo_location -syn keyword ngxDirectiveThirdParty contained echo_location_async -syn keyword ngxDirectiveThirdParty contained echo_read_request_body -syn keyword ngxDirectiveThirdParty contained echo_request_body -syn keyword ngxDirectiveThirdParty contained echo_reset_timer -syn keyword ngxDirectiveThirdParty contained echo_status -syn keyword ngxDirectiveThirdParty contained echo_subrequest -syn keyword ngxDirectiveThirdParty contained echo_subrequest_async - -" FastDFS -" https://github.com/happyfish100/fastdfs-nginx-module -syn keyword ngxDirectiveThirdParty contained ngx_fastdfs_module - -" ngx_headers_more -" https://github.com/openresty/headers-more-nginx-module -syn keyword ngxDirectiveThirdParty contained more_clear_headers -syn keyword ngxDirectiveThirdParty contained more_clear_input_headers -syn keyword ngxDirectiveThirdParty contained more_set_headers -syn keyword ngxDirectiveThirdParty contained more_set_input_headers - -" NGINX WebDAV missing commands support (PROPFIND & OPTIONS) -" https://github.com/arut/nginx-dav-ext-module -syn keyword ngxDirectiveThirdParty contained dav_ext_methods - -" ngx_eval -" https://github.com/openresty/nginx-eval-module -syn keyword ngxDirectiveThirdParty contained eval -syn keyword ngxDirectiveThirdParty contained eval_buffer_size -syn keyword ngxDirectiveThirdParty contained eval_escalate -syn keyword ngxDirectiveThirdParty contained eval_override_content_type -syn keyword ngxDirectiveThirdParty contained eval_subrequest_in_memory - -" Fancy Index -" https://github.com/aperezdc/ngx-fancyindex -syn keyword ngxDirectiveThirdParty contained fancyindex -syn keyword ngxDirectiveThirdParty contained fancyindex_css_href -syn keyword ngxDirectiveThirdParty contained fancyindex_default_sort -syn keyword ngxDirectiveThirdParty contained fancyindex_directories_first -syn keyword ngxDirectiveThirdParty contained fancyindex_exact_size -syn keyword ngxDirectiveThirdParty contained fancyindex_footer -syn keyword ngxDirectiveThirdParty contained fancyindex_header -syn keyword ngxDirectiveThirdParty contained fancyindex_hide_symlinks -syn keyword ngxDirectiveThirdParty contained fancyindex_ignore -syn keyword ngxDirectiveThirdParty contained fancyindex_localtime -syn keyword ngxDirectiveThirdParty contained fancyindex_name_length -syn keyword ngxDirectiveThirdParty contained fancyindex_show_path -syn keyword ngxDirectiveThirdParty contained fancyindex_time_format - -" Footer filter -" https://github.com/alibaba/nginx-http-footer-filter -syn keyword ngxDirectiveThirdParty contained footer -syn keyword ngxDirectiveThirdParty contained footer_types - -" ngx_http_geoip2_module -" https://github.com/leev/ngx_http_geoip2_module -syn keyword ngxDirectiveThirdParty contained geoip2 -syn keyword ngxDirectiveThirdParty contained geoip2_proxy -syn keyword ngxDirectiveThirdParty contained geoip2_proxy_recursive - -" A version of the Nginx HTTP stub status module that outputs in JSON format -" https://github.com/nginx-modules/nginx-json-status-module -syn keyword ngxDirectiveThirdParty contained json_status -syn keyword ngxDirectiveThirdParty contained json_status_type - -" MogileFS client for nginx -" https://github.com/vkholodkov/nginx-mogilefs-module -syn keyword ngxDirectiveThirdParty contained mogilefs_class -syn keyword ngxDirectiveThirdParty contained mogilefs_connect_timeout -syn keyword ngxDirectiveThirdParty contained mogilefs_domain -syn keyword ngxDirectiveThirdParty contained mogilefs_methods -syn keyword ngxDirectiveThirdParty contained mogilefs_noverify -syn keyword ngxDirectiveThirdParty contained mogilefs_pass -syn keyword ngxDirectiveThirdParty contained mogilefs_read_timeout -syn keyword ngxDirectiveThirdParty contained mogilefs_send_timeout -syn keyword ngxDirectiveThirdParty contained mogilefs_tracker - -" Ancient nginx plugin; probably not useful to anyone -" https://github.com/kr/nginx-notice -syn keyword ngxDirectiveThirdParty contained notice -syn keyword ngxDirectiveThirdParty contained notice_type - -" nchan -" https://github.com/slact/nchan -syn keyword ngxDirectiveThirdParty contained nchan_access_control_allow_origin -syn keyword ngxDirectiveThirdParty contained nchan_authorize_request -syn keyword ngxDirectiveThirdParty contained nchan_channel_event_string -syn keyword ngxDirectiveThirdParty contained nchan_channel_events_channel_id -syn keyword ngxDirectiveThirdParty contained nchan_channel_group -syn keyword ngxDirectiveThirdParty contained nchan_channel_group_accounting -syn keyword ngxDirectiveThirdParty contained nchan_channel_id -syn keyword ngxDirectiveThirdParty contained nchan_channel_id_split_delimiter -syn keyword ngxDirectiveThirdParty contained nchan_channel_timeout -syn keyword ngxDirectiveThirdParty contained nchan_deflate_message_for_websocket -syn keyword ngxDirectiveThirdParty contained nchan_eventsource_event -syn keyword ngxDirectiveThirdParty contained nchan_group_location -syn keyword ngxDirectiveThirdParty contained nchan_group_max_channels -syn keyword ngxDirectiveThirdParty contained nchan_group_max_messages -syn keyword ngxDirectiveThirdParty contained nchan_group_max_messages_disk -syn keyword ngxDirectiveThirdParty contained nchan_group_max_messages_memory -syn keyword ngxDirectiveThirdParty contained nchan_group_max_subscribers -syn keyword ngxDirectiveThirdParty contained nchan_longpoll_multipart_response -syn keyword ngxDirectiveThirdParty contained nchan_max_channel_id_length -syn keyword ngxDirectiveThirdParty contained nchan_max_channel_subscribers -syn keyword ngxDirectiveThirdParty contained nchan_max_reserved_memory -syn keyword ngxDirectiveThirdParty contained nchan_message_buffer_length -syn keyword ngxDirectiveThirdParty contained nchan_message_max_buffer_length -syn keyword ngxDirectiveThirdParty contained nchan_message_temp_path -syn keyword ngxDirectiveThirdParty contained nchan_message_timeout -syn keyword ngxDirectiveThirdParty contained nchan_permessage_deflate_compression_level -syn keyword ngxDirectiveThirdParty contained nchan_permessage_deflate_compression_memlevel -syn keyword ngxDirectiveThirdParty contained nchan_permessage_deflate_compression_strategy -syn keyword ngxDirectiveThirdParty contained nchan_permessage_deflate_compression_window -syn keyword ngxDirectiveThirdParty contained nchan_pub_channel_id -syn keyword ngxDirectiveThirdParty contained nchan_publisher -syn keyword ngxDirectiveThirdParty contained nchan_publisher_channel_id -syn keyword ngxDirectiveThirdParty contained nchan_publisher_location -syn keyword ngxDirectiveThirdParty contained nchan_publisher_upstream_request -syn keyword ngxDirectiveThirdParty contained nchan_pubsub -syn keyword ngxDirectiveThirdParty contained nchan_pubsub_channel_id -syn keyword ngxDirectiveThirdParty contained nchan_pubsub_location -syn keyword ngxDirectiveThirdParty contained nchan_redis_fakesub_timer_interval -syn keyword ngxDirectiveThirdParty contained nchan_redis_idle_channel_cache_timeout -syn keyword ngxDirectiveThirdParty contained nchan_redis_namespace -syn keyword ngxDirectiveThirdParty contained nchan_redis_pass -syn keyword ngxDirectiveThirdParty contained nchan_redis_pass_inheritable -syn keyword ngxDirectiveThirdParty contained nchan_redis_ping_interval -syn keyword ngxDirectiveThirdParty contained nchan_redis_publish_msgpacked_max_size -syn keyword ngxDirectiveThirdParty contained nchan_redis_server -syn keyword ngxDirectiveThirdParty contained nchan_redis_storage_mode -syn keyword ngxDirectiveThirdParty contained nchan_redis_url -syn keyword ngxDirectiveThirdParty contained nchan_redis_wait_after_connecting -syn keyword ngxDirectiveThirdParty contained nchan_shared_memory_size -syn keyword ngxDirectiveThirdParty contained nchan_storage_engine -syn keyword ngxDirectiveThirdParty contained nchan_store_messages -syn keyword ngxDirectiveThirdParty contained nchan_stub_status -syn keyword ngxDirectiveThirdParty contained nchan_sub_channel_id -syn keyword ngxDirectiveThirdParty contained nchan_subscribe_existing_channels_only -syn keyword ngxDirectiveThirdParty contained nchan_subscribe_request -syn keyword ngxDirectiveThirdParty contained nchan_subscriber -syn keyword ngxDirectiveThirdParty contained nchan_subscriber_channel_id -syn keyword ngxDirectiveThirdParty contained nchan_subscriber_compound_etag_message_id -syn keyword ngxDirectiveThirdParty contained nchan_subscriber_first_message -syn keyword ngxDirectiveThirdParty contained nchan_subscriber_http_raw_stream_separator -syn keyword ngxDirectiveThirdParty contained nchan_subscriber_last_message_id -syn keyword ngxDirectiveThirdParty contained nchan_subscriber_location -syn keyword ngxDirectiveThirdParty contained nchan_subscriber_message_id_custom_etag_header -syn keyword ngxDirectiveThirdParty contained nchan_subscriber_timeout -syn keyword ngxDirectiveThirdParty contained nchan_unsubscribe_request -syn keyword ngxDirectiveThirdParty contained nchan_use_redis -syn keyword ngxDirectiveThirdParty contained nchan_websocket_client_heartbeat -syn keyword ngxDirectiveThirdParty contained nchan_websocket_ping_interval -syn keyword ngxDirectiveThirdParty contained push_authorized_channels_only -syn keyword ngxDirectiveThirdParty contained push_channel_group -syn keyword ngxDirectiveThirdParty contained push_channel_timeout -syn keyword ngxDirectiveThirdParty contained push_max_channel_id_length -syn keyword ngxDirectiveThirdParty contained push_max_channel_subscribers -syn keyword ngxDirectiveThirdParty contained push_max_message_buffer_length -syn keyword ngxDirectiveThirdParty contained push_max_reserved_memory -syn keyword ngxDirectiveThirdParty contained push_message_buffer_length -syn keyword ngxDirectiveThirdParty contained push_message_timeout -syn keyword ngxDirectiveThirdParty contained push_min_message_buffer_length -syn keyword ngxDirectiveThirdParty contained push_publisher -syn keyword ngxDirectiveThirdParty contained push_store_messages -syn keyword ngxDirectiveThirdParty contained push_subscriber -syn keyword ngxDirectiveThirdParty contained push_subscriber_concurrency -syn keyword ngxDirectiveThirdParty contained push_subscriber_timeout - -" Push Stream -" https://github.com/wandenberg/nginx-push-stream-module -syn keyword ngxDirectiveThirdParty contained push_stream_allow_connections_to_events_channel -syn keyword ngxDirectiveThirdParty contained push_stream_allowed_origins -syn keyword ngxDirectiveThirdParty contained push_stream_authorized_channels_only -syn keyword ngxDirectiveThirdParty contained push_stream_channel_deleted_message_text -syn keyword ngxDirectiveThirdParty contained push_stream_channel_inactivity_time -syn keyword ngxDirectiveThirdParty contained push_stream_channel_info_on_publish -syn keyword ngxDirectiveThirdParty contained push_stream_channels_path -syn keyword ngxDirectiveThirdParty contained push_stream_channels_statistics -syn keyword ngxDirectiveThirdParty contained push_stream_events_channel_id -syn keyword ngxDirectiveThirdParty contained push_stream_footer_template -syn keyword ngxDirectiveThirdParty contained push_stream_header_template -syn keyword ngxDirectiveThirdParty contained push_stream_header_template_file -syn keyword ngxDirectiveThirdParty contained push_stream_last_event_id -syn keyword ngxDirectiveThirdParty contained push_stream_last_received_message_tag -syn keyword ngxDirectiveThirdParty contained push_stream_last_received_message_time -syn keyword ngxDirectiveThirdParty contained push_stream_longpolling_connection_ttl -syn keyword ngxDirectiveThirdParty contained push_stream_max_channel_id_length -syn keyword ngxDirectiveThirdParty contained push_stream_max_messages_stored_per_channel -syn keyword ngxDirectiveThirdParty contained push_stream_max_number_of_channels -syn keyword ngxDirectiveThirdParty contained push_stream_max_number_of_wildcard_channels -syn keyword ngxDirectiveThirdParty contained push_stream_max_subscribers_per_channel -syn keyword ngxDirectiveThirdParty contained push_stream_message_template -syn keyword ngxDirectiveThirdParty contained push_stream_message_ttl -syn keyword ngxDirectiveThirdParty contained push_stream_padding_by_user_agent -syn keyword ngxDirectiveThirdParty contained push_stream_ping_message_interval -syn keyword ngxDirectiveThirdParty contained push_stream_ping_message_text -syn keyword ngxDirectiveThirdParty contained push_stream_publisher -syn keyword ngxDirectiveThirdParty contained push_stream_shared_memory_size -syn keyword ngxDirectiveThirdParty contained push_stream_store_messages -syn keyword ngxDirectiveThirdParty contained push_stream_subscriber -syn keyword ngxDirectiveThirdParty contained push_stream_subscriber_connection_ttl -syn keyword ngxDirectiveThirdParty contained push_stream_timeout_with_body -syn keyword ngxDirectiveThirdParty contained push_stream_user_agent -syn keyword ngxDirectiveThirdParty contained push_stream_websocket_allow_publish -syn keyword ngxDirectiveThirdParty contained push_stream_wildcard_channel_max_qtd -syn keyword ngxDirectiveThirdParty contained push_stream_wildcard_channel_prefix - -" redis module -" https://www.nginx.com/resources/wiki/modules/redis/ -syn keyword ngxDirectiveThirdParty contained redis_bind -syn keyword ngxDirectiveThirdParty contained redis_buffer_size -syn keyword ngxDirectiveThirdParty contained redis_connect_timeout -syn keyword ngxDirectiveThirdParty contained redis_gzip_flag -syn keyword ngxDirectiveThirdParty contained redis_next_upstream -syn keyword ngxDirectiveThirdParty contained redis_pass -syn keyword ngxDirectiveThirdParty contained redis_read_timeout -syn keyword ngxDirectiveThirdParty contained redis_send_timeout - -" ngx_http_response -" http://catap.ru/downloads/nginx/ -syn keyword ngxDirectiveThirdParty contained response -syn keyword ngxDirectiveThirdParty contained response_type - -" nginx_substitutions_filter -" https://github.com/yaoweibin/ngx_http_substitutions_filter_module -syn keyword ngxDirectiveThirdParty contained subs_buffers -syn keyword ngxDirectiveThirdParty contained subs_filter -syn keyword ngxDirectiveThirdParty contained subs_filter_bypass -syn keyword ngxDirectiveThirdParty contained subs_filter_types -syn keyword ngxDirectiveThirdParty contained subs_line_buffer_size - -" Tarantool nginx upstream module -" https://github.com/tarantool/nginx_upstream_module -syn keyword ngxDirectiveThirdParty contained tnt_allowed_indexes -syn keyword ngxDirectiveThirdParty contained tnt_allowed_spaces -syn keyword ngxDirectiveThirdParty contained tnt_buffer_size -syn keyword ngxDirectiveThirdParty contained tnt_connect_timeout -syn keyword ngxDirectiveThirdParty contained tnt_delete -syn keyword ngxDirectiveThirdParty contained tnt_http_methods -syn keyword ngxDirectiveThirdParty contained tnt_http_rest_methods -syn keyword ngxDirectiveThirdParty contained tnt_in_multiplier -syn keyword ngxDirectiveThirdParty contained tnt_insert -syn keyword ngxDirectiveThirdParty contained tnt_method -syn keyword ngxDirectiveThirdParty contained tnt_multireturn_skip_count -syn keyword ngxDirectiveThirdParty contained tnt_next_upstream -syn keyword ngxDirectiveThirdParty contained tnt_next_upstream_timeout -syn keyword ngxDirectiveThirdParty contained tnt_next_upstream_tries -syn keyword ngxDirectiveThirdParty contained tnt_out_multiplier -syn keyword ngxDirectiveThirdParty contained tnt_pass -syn keyword ngxDirectiveThirdParty contained tnt_pass_http_request -syn keyword ngxDirectiveThirdParty contained tnt_pass_http_request_buffer_size -syn keyword ngxDirectiveThirdParty contained tnt_pure_result -syn keyword ngxDirectiveThirdParty contained tnt_read_timeout -syn keyword ngxDirectiveThirdParty contained tnt_replace -syn keyword ngxDirectiveThirdParty contained tnt_select -syn keyword ngxDirectiveThirdParty contained tnt_select_limit_max -syn keyword ngxDirectiveThirdParty contained tnt_send_timeout -syn keyword ngxDirectiveThirdParty contained tnt_set_header -syn keyword ngxDirectiveThirdParty contained tnt_update -syn keyword ngxDirectiveThirdParty contained tnt_upsert - -" A module for nginx web server for handling file uploads using multipart/form-data encoding (RFC 1867) -" https://github.com/Austinb/nginx-upload-module -syn keyword ngxDirectiveThirdParty contained upload_aggregate_form_field -syn keyword ngxDirectiveThirdParty contained upload_archive_elm -syn keyword ngxDirectiveThirdParty contained upload_archive_elm_separator -syn keyword ngxDirectiveThirdParty contained upload_archive_path -syn keyword ngxDirectiveThirdParty contained upload_archive_path_separator -syn keyword ngxDirectiveThirdParty contained upload_buffer_size -syn keyword ngxDirectiveThirdParty contained upload_cleanup -syn keyword ngxDirectiveThirdParty contained upload_content_type -syn keyword ngxDirectiveThirdParty contained upload_discard -syn keyword ngxDirectiveThirdParty contained upload_field_name -syn keyword ngxDirectiveThirdParty contained upload_file_crc32 -syn keyword ngxDirectiveThirdParty contained upload_file_md5 -syn keyword ngxDirectiveThirdParty contained upload_file_md5_uc -syn keyword ngxDirectiveThirdParty contained upload_file_name -syn keyword ngxDirectiveThirdParty contained upload_file_sha1 -syn keyword ngxDirectiveThirdParty contained upload_file_sha1_uc -syn keyword ngxDirectiveThirdParty contained upload_file_size -syn keyword ngxDirectiveThirdParty contained upload_filter -syn keyword ngxDirectiveThirdParty contained upload_max_file_size -syn keyword ngxDirectiveThirdParty contained upload_max_output_body_len -syn keyword ngxDirectiveThirdParty contained upload_max_part_header_len -syn keyword ngxDirectiveThirdParty contained upload_pass -syn keyword ngxDirectiveThirdParty contained upload_pass_args -syn keyword ngxDirectiveThirdParty contained upload_pass_form_field -syn keyword ngxDirectiveThirdParty contained upload_set_form_field -syn keyword ngxDirectiveThirdParty contained upload_store -syn keyword ngxDirectiveThirdParty contained upload_store_access -syn keyword ngxDirectiveThirdParty contained upload_tmp_path -syn keyword ngxDirectiveThirdParty contained upload_unzip -syn keyword ngxDirectiveThirdParty contained upload_unzip_buffers -syn keyword ngxDirectiveThirdParty contained upload_unzip_hash -syn keyword ngxDirectiveThirdParty contained upload_unzip_max_file_name_len -syn keyword ngxDirectiveThirdParty contained upload_unzip_window -syn keyword ngxDirectiveThirdParty contained upload_void_content_type - -" nginx-upload-progress-module -" https://github.com/masterzen/nginx-upload-progress-module -syn keyword ngxDirectiveThirdParty contained report_uploads -syn keyword ngxDirectiveThirdParty contained track_uploads -syn keyword ngxDirectiveThirdParty contained upload_progress -syn keyword ngxDirectiveThirdParty contained upload_progress_content_type -syn keyword ngxDirectiveThirdParty contained upload_progress_header -syn keyword ngxDirectiveThirdParty contained upload_progress_java_output -syn keyword ngxDirectiveThirdParty contained upload_progress_json_output -syn keyword ngxDirectiveThirdParty contained upload_progress_jsonp_output -syn keyword ngxDirectiveThirdParty contained upload_progress_jsonp_parameter -syn keyword ngxDirectiveThirdParty contained upload_progress_template - -" Health checks upstreams for nginx -" https://github.com/yaoweibin/nginx_upstream_check_module -syn keyword ngxDirectiveThirdParty contained check -syn keyword ngxDirectiveThirdParty contained check_fastcgi_param -syn keyword ngxDirectiveThirdParty contained check_http_expect_alive -syn keyword ngxDirectiveThirdParty contained check_http_send -syn keyword ngxDirectiveThirdParty contained check_keepalive_requests -syn keyword ngxDirectiveThirdParty contained check_shm_size -syn keyword ngxDirectiveThirdParty contained check_status - -" The fair load balancer module for nginx -" https://github.com/cryptofuture/nginx-upstream-fair -syn keyword ngxDirectiveThirdParty contained fair -syn keyword ngxDirectiveThirdParty contained upstream_fair_shm_size - -" Nginx Video Thumb Extractor Module -" https://github.com/wandenberg/nginx-video-thumbextractor-module -syn keyword ngxDirectiveThirdParty contained video_thumbextractor -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_image_height -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_image_width -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_jpeg_baseline -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_jpeg_dpi -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_jpeg_optimize -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_jpeg_progressive_mode -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_jpeg_quality -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_jpeg_smooth -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_next_time -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_only_keyframe -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_processes_per_worker -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_threads -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_color -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_cols -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_margin -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_max_cols -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_max_rows -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_padding -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_rows -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_sample_interval -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_video_filename -syn keyword ngxDirectiveThirdParty contained video_thumbextractor_video_second - -" drizzle-nginx-module - Upstream module for talking to MySQL and Drizzle directly -" https://github.com/openresty/drizzle-nginx-module -syn keyword ngxDirectiveThirdParty contained drizzle_buffer_size -syn keyword ngxDirectiveThirdParty contained drizzle_connect_timeout -syn keyword ngxDirectiveThirdParty contained drizzle_dbname -syn keyword ngxDirectiveThirdParty contained drizzle_keepalive -syn keyword ngxDirectiveThirdParty contained drizzle_module_header -syn keyword ngxDirectiveThirdParty contained drizzle_pass -syn keyword ngxDirectiveThirdParty contained drizzle_query -syn keyword ngxDirectiveThirdParty contained drizzle_recv_cols_timeout -syn keyword ngxDirectiveThirdParty contained drizzle_recv_rows_timeout -syn keyword ngxDirectiveThirdParty contained drizzle_send_query_timeout -syn keyword ngxDirectiveThirdParty contained drizzle_server -syn keyword ngxDirectiveThirdParty contained drizzle_status - -" ngx_dynamic_upstream -" https://github.com/cubicdaiya/ngx_dynamic_upstream -syn keyword ngxDirectiveThirdParty contained dynamic_upstream - -" encrypt and decrypt nginx variable values -" https://github.com/openresty/encrypted-session-nginx-module -syn keyword ngxDirectiveThirdParty contained encrypted_session_expires -syn keyword ngxDirectiveThirdParty contained encrypted_session_iv -syn keyword ngxDirectiveThirdParty contained encrypted_session_key -syn keyword ngxDirectiveThirdParty contained set_decrypt_session -syn keyword ngxDirectiveThirdParty contained set_encrypt_session - -" serve content directly from MongoDB's GridFS -" https://github.com/mdirolf/nginx-gridfs -syn keyword ngxDirectiveThirdParty contained gridfs -syn keyword ngxDirectiveThirdParty contained mongo - -" Adds support for arithmetic operations to NGINX config -" https://github.com/arut/nginx-let-module -syn keyword ngxDirectiveThirdParty contained let - -" ngx_http_lua_module - Embed the power of Lua into Nginx HTTP Servers -" https://github.com/openresty/lua-nginx-module -syn keyword ngxDirectiveThirdParty contained access_by_lua -syn keyword ngxDirectiveThirdParty contained access_by_lua_block -syn keyword ngxDirectiveThirdParty contained access_by_lua_file -syn keyword ngxDirectiveThirdParty contained access_by_lua_no_postpone -syn keyword ngxDirectiveThirdParty contained balancer_by_lua_block -syn keyword ngxDirectiveThirdParty contained balancer_by_lua_file -syn keyword ngxDirectiveThirdParty contained body_filter_by_lua -syn keyword ngxDirectiveThirdParty contained body_filter_by_lua_block -syn keyword ngxDirectiveThirdParty contained body_filter_by_lua_file -syn keyword ngxDirectiveThirdParty contained content_by_lua -syn keyword ngxDirectiveThirdParty contained content_by_lua_block -syn keyword ngxDirectiveThirdParty contained content_by_lua_file -syn keyword ngxDirectiveThirdParty contained header_filter_by_lua -syn keyword ngxDirectiveThirdParty contained header_filter_by_lua_block -syn keyword ngxDirectiveThirdParty contained header_filter_by_lua_file -syn keyword ngxDirectiveThirdParty contained init_by_lua -syn keyword ngxDirectiveThirdParty contained init_by_lua_block -syn keyword ngxDirectiveThirdParty contained init_by_lua_file -syn keyword ngxDirectiveThirdParty contained init_worker_by_lua -syn keyword ngxDirectiveThirdParty contained init_worker_by_lua_block -syn keyword ngxDirectiveThirdParty contained init_worker_by_lua_file -syn keyword ngxDirectiveThirdParty contained log_by_lua -syn keyword ngxDirectiveThirdParty contained log_by_lua_block -syn keyword ngxDirectiveThirdParty contained log_by_lua_file -syn keyword ngxDirectiveThirdParty contained lua_capture_error_log -syn keyword ngxDirectiveThirdParty contained lua_check_client_abort -syn keyword ngxDirectiveThirdParty contained lua_code_cache -syn keyword ngxDirectiveThirdParty contained lua_fake_shm -syn keyword ngxDirectiveThirdParty contained lua_http10_buffering -syn keyword ngxDirectiveThirdParty contained lua_malloc_trim -syn keyword ngxDirectiveThirdParty contained lua_max_pending_timers -syn keyword ngxDirectiveThirdParty contained lua_max_running_timers -syn keyword ngxDirectiveThirdParty contained lua_need_request_body -syn keyword ngxDirectiveThirdParty contained lua_package_cpath -syn keyword ngxDirectiveThirdParty contained lua_package_path -syn keyword ngxDirectiveThirdParty contained lua_regex_cache_max_entries -syn keyword ngxDirectiveThirdParty contained lua_regex_match_limit -syn keyword ngxDirectiveThirdParty contained lua_shared_dict -syn keyword ngxDirectiveThirdParty contained lua_socket_buffer_size -syn keyword ngxDirectiveThirdParty contained lua_socket_connect_timeout -syn keyword ngxDirectiveThirdParty contained lua_socket_keepalive_timeout -syn keyword ngxDirectiveThirdParty contained lua_socket_log_errors -syn keyword ngxDirectiveThirdParty contained lua_socket_pool_size -syn keyword ngxDirectiveThirdParty contained lua_socket_read_timeout -syn keyword ngxDirectiveThirdParty contained lua_socket_send_lowat -syn keyword ngxDirectiveThirdParty contained lua_socket_send_timeout -syn keyword ngxDirectiveThirdParty contained lua_ssl_ciphers -syn keyword ngxDirectiveThirdParty contained lua_ssl_crl -syn keyword ngxDirectiveThirdParty contained lua_ssl_protocols -syn keyword ngxDirectiveThirdParty contained lua_ssl_trusted_certificate -syn keyword ngxDirectiveThirdParty contained lua_ssl_verify_depth -syn keyword ngxDirectiveThirdParty contained lua_transform_underscores_in_response_headers -syn keyword ngxDirectiveThirdParty contained lua_use_default_type -syn keyword ngxDirectiveThirdParty contained rewrite_by_lua -syn keyword ngxDirectiveThirdParty contained rewrite_by_lua_block -syn keyword ngxDirectiveThirdParty contained rewrite_by_lua_file -syn keyword ngxDirectiveThirdParty contained rewrite_by_lua_no_postpone -syn keyword ngxDirectiveThirdParty contained set_by_lua -syn keyword ngxDirectiveThirdParty contained set_by_lua_block -syn keyword ngxDirectiveThirdParty contained set_by_lua_file -syn keyword ngxDirectiveThirdParty contained ssl_certificate_by_lua_block -syn keyword ngxDirectiveThirdParty contained ssl_certificate_by_lua_file -syn keyword ngxDirectiveThirdParty contained ssl_session_fetch_by_lua_block -syn keyword ngxDirectiveThirdParty contained ssl_session_fetch_by_lua_file -syn keyword ngxDirectiveThirdParty contained ssl_session_store_by_lua_block -syn keyword ngxDirectiveThirdParty contained ssl_session_store_by_lua_file - -" ngx_memc - An extended version of the standard memcached module -" https://github.com/openresty/memc-nginx-module -syn keyword ngxDirectiveThirdParty contained memc_buffer_size -syn keyword ngxDirectiveThirdParty contained memc_cmds_allowed -syn keyword ngxDirectiveThirdParty contained memc_connect_timeout -syn keyword ngxDirectiveThirdParty contained memc_flags_to_last_modified -syn keyword ngxDirectiveThirdParty contained memc_ignore_client_abort -syn keyword ngxDirectiveThirdParty contained memc_next_upstream -syn keyword ngxDirectiveThirdParty contained memc_pass -syn keyword ngxDirectiveThirdParty contained memc_read_timeout -syn keyword ngxDirectiveThirdParty contained memc_send_timeout -syn keyword ngxDirectiveThirdParty contained memc_upstream_fail_timeout -syn keyword ngxDirectiveThirdParty contained memc_upstream_max_fails - -" ModSecurity web application firewall -" https://github.com/SpiderLabs/ModSecurity/tree/master -syn keyword ngxDirectiveThirdParty contained ModSecurityConfig -syn keyword ngxDirectiveThirdParty contained ModSecurityEnabled -syn keyword ngxDirectiveThirdParty contained pool_context_hash_size - -" NAXSI is an open-source, high performance, low rules maintenance WAF for NGINX -" https://github.com/nbs-system/naxsi -syn keyword ngxDirectiveThirdParty contained BasicRule -syn keyword ngxDirectiveThirdParty contained CheckRule -syn keyword ngxDirectiveThirdParty contained DeniedUrl -syn keyword ngxDirectiveThirdParty contained LearningMode -syn keyword ngxDirectiveThirdParty contained LibInjectionSql -syn keyword ngxDirectiveThirdParty contained LibInjectionXss -syn keyword ngxDirectiveThirdParty contained MainRule -syn keyword ngxDirectiveThirdParty contained SecRulesDisabled -syn keyword ngxDirectiveThirdParty contained SecRulesEnabled -syn keyword ngxDirectiveThirdParty contained basic_rule -syn keyword ngxDirectiveThirdParty contained check_rule -syn keyword ngxDirectiveThirdParty contained denied_url -syn keyword ngxDirectiveThirdParty contained learning_mode -syn keyword ngxDirectiveThirdParty contained libinjection_sql -syn keyword ngxDirectiveThirdParty contained libinjection_xss -syn keyword ngxDirectiveThirdParty contained main_rule -syn keyword ngxDirectiveThirdParty contained rules_disabled -syn keyword ngxDirectiveThirdParty contained rules_enabled - -" Phusion Passenger -" https://www.phusionpassenger.com/library/config/nginx/reference/ -syn keyword ngxDirectiveThirdParty contained passenger_abort_on_startup_error -syn keyword ngxDirectiveThirdParty contained passenger_abort_websockets_on_process_shutdown -syn keyword ngxDirectiveThirdParty contained passenger_app_env -syn keyword ngxDirectiveThirdParty contained passenger_app_file_descriptor_ulimit -syn keyword ngxDirectiveThirdParty contained passenger_app_group_name -syn keyword ngxDirectiveThirdParty contained passenger_app_rights -syn keyword ngxDirectiveThirdParty contained passenger_app_root -syn keyword ngxDirectiveThirdParty contained passenger_app_type -syn keyword ngxDirectiveThirdParty contained passenger_base_uri -syn keyword ngxDirectiveThirdParty contained passenger_buffer_response -syn keyword ngxDirectiveThirdParty contained passenger_buffer_size -syn keyword ngxDirectiveThirdParty contained passenger_buffers -syn keyword ngxDirectiveThirdParty contained passenger_busy_buffers_size -syn keyword ngxDirectiveThirdParty contained passenger_concurrency_model -syn keyword ngxDirectiveThirdParty contained passenger_core_file_descriptor_ulimit -syn keyword ngxDirectiveThirdParty contained passenger_ctl -syn keyword ngxDirectiveThirdParty contained passenger_data_buffer_dir -syn keyword ngxDirectiveThirdParty contained passenger_debugger -syn keyword ngxDirectiveThirdParty contained passenger_default_group -syn keyword ngxDirectiveThirdParty contained passenger_default_user -syn keyword ngxDirectiveThirdParty contained passenger_disable_security_update_check -syn keyword ngxDirectiveThirdParty contained passenger_document_root -syn keyword ngxDirectiveThirdParty contained passenger_enabled -syn keyword ngxDirectiveThirdParty contained passenger_env_var -syn keyword ngxDirectiveThirdParty contained passenger_file_descriptor_log_file -syn keyword ngxDirectiveThirdParty contained passenger_fly_with -syn keyword ngxDirectiveThirdParty contained passenger_force_max_concurrent_requests_per_process -syn keyword ngxDirectiveThirdParty contained passenger_friendly_error_pages -syn keyword ngxDirectiveThirdParty contained passenger_group -syn keyword ngxDirectiveThirdParty contained passenger_headers_hash_bucket_size -syn keyword ngxDirectiveThirdParty contained passenger_headers_hash_max_size -syn keyword ngxDirectiveThirdParty contained passenger_ignore_client_abort -syn keyword ngxDirectiveThirdParty contained passenger_ignore_headers -syn keyword ngxDirectiveThirdParty contained passenger_instance_registry_dir -syn keyword ngxDirectiveThirdParty contained passenger_intercept_errors -syn keyword ngxDirectiveThirdParty contained passenger_load_shell_envvars -syn keyword ngxDirectiveThirdParty contained passenger_log_file -syn keyword ngxDirectiveThirdParty contained passenger_log_level -syn keyword ngxDirectiveThirdParty contained passenger_max_instances -syn keyword ngxDirectiveThirdParty contained passenger_max_instances_per_app -syn keyword ngxDirectiveThirdParty contained passenger_max_pool_size -syn keyword ngxDirectiveThirdParty contained passenger_max_preloader_idle_time -syn keyword ngxDirectiveThirdParty contained passenger_max_request_queue_size -syn keyword ngxDirectiveThirdParty contained passenger_max_request_queue_time -syn keyword ngxDirectiveThirdParty contained passenger_max_request_time -syn keyword ngxDirectiveThirdParty contained passenger_max_requests -syn keyword ngxDirectiveThirdParty contained passenger_memory_limit -syn keyword ngxDirectiveThirdParty contained passenger_meteor_app_settings -syn keyword ngxDirectiveThirdParty contained passenger_min_instances -syn keyword ngxDirectiveThirdParty contained passenger_nodejs -syn keyword ngxDirectiveThirdParty contained passenger_pass_header -syn keyword ngxDirectiveThirdParty contained passenger_pool_idle_time -syn keyword ngxDirectiveThirdParty contained passenger_pre_start -syn keyword ngxDirectiveThirdParty contained passenger_python -syn keyword ngxDirectiveThirdParty contained passenger_read_timeout -syn keyword ngxDirectiveThirdParty contained passenger_request_queue_overflow_status_code -syn keyword ngxDirectiveThirdParty contained passenger_resist_deployment_errors -syn keyword ngxDirectiveThirdParty contained passenger_response_buffer_high_watermark -syn keyword ngxDirectiveThirdParty contained passenger_restart_dir -syn keyword ngxDirectiveThirdParty contained passenger_rolling_restarts -syn keyword ngxDirectiveThirdParty contained passenger_root -syn keyword ngxDirectiveThirdParty contained passenger_ruby -syn keyword ngxDirectiveThirdParty contained passenger_security_update_check_proxy -syn keyword ngxDirectiveThirdParty contained passenger_set_header -syn keyword ngxDirectiveThirdParty contained passenger_show_version_in_header -syn keyword ngxDirectiveThirdParty contained passenger_socket_backlog -syn keyword ngxDirectiveThirdParty contained passenger_spawn_method -syn keyword ngxDirectiveThirdParty contained passenger_start_timeout -syn keyword ngxDirectiveThirdParty contained passenger_startup_file -syn keyword ngxDirectiveThirdParty contained passenger_stat_throttle_rate -syn keyword ngxDirectiveThirdParty contained passenger_sticky_sessions -syn keyword ngxDirectiveThirdParty contained passenger_sticky_sessions_cookie_name -syn keyword ngxDirectiveThirdParty contained passenger_thread_count -syn keyword ngxDirectiveThirdParty contained passenger_turbocaching -syn keyword ngxDirectiveThirdParty contained passenger_user -syn keyword ngxDirectiveThirdParty contained passenger_user_switching -syn keyword ngxDirectiveThirdParty contained passenger_vary_turbocache_by_cookie -syn keyword ngxDirectiveThirdPartyDeprecated contained passenger_analytics_log_group -syn keyword ngxDirectiveThirdPartyDeprecated contained passenger_analytics_log_user -syn keyword ngxDirectiveThirdPartyDeprecated contained passenger_debug_log_file -syn keyword ngxDirectiveThirdPartyDeprecated contained passenger_use_global_queue -syn keyword ngxDirectiveThirdPartyDeprecated contained rack_env -syn keyword ngxDirectiveThirdPartyDeprecated contained rails_app_spawner_idle_time -syn keyword ngxDirectiveThirdPartyDeprecated contained rails_env -syn keyword ngxDirectiveThirdPartyDeprecated contained rails_framework_spawner_idle_time -syn keyword ngxDirectiveThirdPartyDeprecated contained rails_spawn_method -syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_filter -syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_gateway_address -syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_gateway_cert -syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_gateway_port -syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_key -syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_proxy_address -syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_support - -" ngx_postgres is an upstream module that allows nginx to communicate directly with PostgreSQL database -" https://github.com/FRiCKLE/ngx_postgres -syn keyword ngxDirectiveThirdParty contained postgres_connect_timeout -syn keyword ngxDirectiveThirdParty contained postgres_escape -syn keyword ngxDirectiveThirdParty contained postgres_keepalive -syn keyword ngxDirectiveThirdParty contained postgres_output -syn keyword ngxDirectiveThirdParty contained postgres_pass -syn keyword ngxDirectiveThirdParty contained postgres_query -syn keyword ngxDirectiveThirdParty contained postgres_result_timeout -syn keyword ngxDirectiveThirdParty contained postgres_rewrite -syn keyword ngxDirectiveThirdParty contained postgres_server -syn keyword ngxDirectiveThirdParty contained postgres_set - -" ngx_rds_csv - Nginx output filter module to convert Resty-DBD-Streams (RDS) to Comma-Separated Values (CSV) -" https://github.com/openresty/rds-csv-nginx-module -syn keyword ngxDirectiveThirdParty contained rds_csv -syn keyword ngxDirectiveThirdParty contained rds_csv_buffer_size -syn keyword ngxDirectiveThirdParty contained rds_csv_content_type -syn keyword ngxDirectiveThirdParty contained rds_csv_field_name_header -syn keyword ngxDirectiveThirdParty contained rds_csv_field_separator -syn keyword ngxDirectiveThirdParty contained rds_csv_row_terminator - -" ngx_rds_json - an output filter that formats Resty DBD Streams generated by ngx_drizzle and others to JSON -" https://github.com/openresty/rds-json-nginx-module -syn keyword ngxDirectiveThirdParty contained rds_json -syn keyword ngxDirectiveThirdParty contained rds_json_buffer_size -syn keyword ngxDirectiveThirdParty contained rds_json_content_type -syn keyword ngxDirectiveThirdParty contained rds_json_errcode_key -syn keyword ngxDirectiveThirdParty contained rds_json_errstr_key -syn keyword ngxDirectiveThirdParty contained rds_json_format -syn keyword ngxDirectiveThirdParty contained rds_json_ret -syn keyword ngxDirectiveThirdParty contained rds_json_root -syn keyword ngxDirectiveThirdParty contained rds_json_success_property -syn keyword ngxDirectiveThirdParty contained rds_json_user_property - -" ngx_redis2 - Nginx upstream module for the Redis 2.0 protocol -" https://github.com/openresty/redis2-nginx-module -syn keyword ngxDirectiveThirdParty contained redis2_bind -syn keyword ngxDirectiveThirdParty contained redis2_buffer_size -syn keyword ngxDirectiveThirdParty contained redis2_connect_timeout -syn keyword ngxDirectiveThirdParty contained redis2_literal_raw_query -syn keyword ngxDirectiveThirdParty contained redis2_next_upstream -syn keyword ngxDirectiveThirdParty contained redis2_pass -syn keyword ngxDirectiveThirdParty contained redis2_query -syn keyword ngxDirectiveThirdParty contained redis2_raw_queries -syn keyword ngxDirectiveThirdParty contained redis2_raw_query -syn keyword ngxDirectiveThirdParty contained redis2_read_timeout -syn keyword ngxDirectiveThirdParty contained redis2_send_timeout - -" NGINX-based Media Streaming Server -" https://github.com/arut/nginx-rtmp-module -syn keyword ngxDirectiveThirdParty contained ack_window -syn keyword ngxDirectiveThirdParty contained application -syn keyword ngxDirectiveThirdParty contained buffer -syn keyword ngxDirectiveThirdParty contained buflen -syn keyword ngxDirectiveThirdParty contained busy -syn keyword ngxDirectiveThirdParty contained chunk_size -syn keyword ngxDirectiveThirdParty contained dash -syn keyword ngxDirectiveThirdParty contained dash_cleanup -syn keyword ngxDirectiveThirdParty contained dash_fragment -syn keyword ngxDirectiveThirdParty contained dash_nested -syn keyword ngxDirectiveThirdParty contained dash_path -syn keyword ngxDirectiveThirdParty contained dash_playlist_length -syn keyword ngxDirectiveThirdParty contained drop_idle_publisher -syn keyword ngxDirectiveThirdParty contained exec -syn keyword ngxDirectiveThirdParty contained exec_block -syn keyword ngxDirectiveThirdParty contained exec_kill_signal -syn keyword ngxDirectiveThirdParty contained exec_options -syn keyword ngxDirectiveThirdParty contained exec_play -syn keyword ngxDirectiveThirdParty contained exec_play_done -syn keyword ngxDirectiveThirdParty contained exec_publish -syn keyword ngxDirectiveThirdParty contained exec_publish_done -syn keyword ngxDirectiveThirdParty contained exec_pull -syn keyword ngxDirectiveThirdParty contained exec_push -syn keyword ngxDirectiveThirdParty contained exec_record_done -syn keyword ngxDirectiveThirdParty contained exec_static -syn keyword ngxDirectiveThirdParty contained hls_audio_buffer_size -syn keyword ngxDirectiveThirdParty contained hls_base_url -syn keyword ngxDirectiveThirdParty contained hls_cleanup -syn keyword ngxDirectiveThirdParty contained hls_continuous -syn keyword ngxDirectiveThirdParty contained hls_fragment_naming -syn keyword ngxDirectiveThirdParty contained hls_fragment_naming_granularity -syn keyword ngxDirectiveThirdParty contained hls_fragment_slicing -syn keyword ngxDirectiveThirdParty contained hls_fragments_per_key -syn keyword ngxDirectiveThirdParty contained hls_key_path -syn keyword ngxDirectiveThirdParty contained hls_key_url -syn keyword ngxDirectiveThirdParty contained hls_keys -syn keyword ngxDirectiveThirdParty contained hls_max_audio_delay -syn keyword ngxDirectiveThirdParty contained hls_max_fragment -syn keyword ngxDirectiveThirdParty contained hls_muxdelay -syn keyword ngxDirectiveThirdParty contained hls_nested -syn keyword ngxDirectiveThirdParty contained hls_path -syn keyword ngxDirectiveThirdParty contained hls_playlist_length -syn keyword ngxDirectiveThirdParty contained hls_sync -syn keyword ngxDirectiveThirdParty contained hls_type -syn keyword ngxDirectiveThirdParty contained hls_variant -syn keyword ngxDirectiveThirdParty contained idle_streams -syn keyword ngxDirectiveThirdParty contained interleave -syn keyword ngxDirectiveThirdParty contained live -syn keyword ngxDirectiveThirdParty contained max_connections -syn keyword ngxDirectiveThirdParty contained max_message -syn keyword ngxDirectiveThirdParty contained max_streams -syn keyword ngxDirectiveThirdParty contained meta -syn keyword ngxDirectiveThirdParty contained netcall_buffer -syn keyword ngxDirectiveThirdParty contained netcall_timeout -syn keyword ngxDirectiveThirdParty contained notify_method -syn keyword ngxDirectiveThirdParty contained notify_relay_redirect -syn keyword ngxDirectiveThirdParty contained notify_update_strict -syn keyword ngxDirectiveThirdParty contained notify_update_timeout -syn keyword ngxDirectiveThirdParty contained on_connect -syn keyword ngxDirectiveThirdParty contained on_disconnect -syn keyword ngxDirectiveThirdParty contained on_done -syn keyword ngxDirectiveThirdParty contained on_play -syn keyword ngxDirectiveThirdParty contained on_play_done -syn keyword ngxDirectiveThirdParty contained on_publish -syn keyword ngxDirectiveThirdParty contained on_publish_done -syn keyword ngxDirectiveThirdParty contained on_record_done -syn keyword ngxDirectiveThirdParty contained on_update -syn keyword ngxDirectiveThirdParty contained out_cork -syn keyword ngxDirectiveThirdParty contained out_queue -syn keyword ngxDirectiveThirdParty contained ping -syn keyword ngxDirectiveThirdParty contained ping_timeout -syn keyword ngxDirectiveThirdParty contained play -syn keyword ngxDirectiveThirdParty contained play_local_path -syn keyword ngxDirectiveThirdParty contained play_restart -syn keyword ngxDirectiveThirdParty contained play_temp_path -syn keyword ngxDirectiveThirdParty contained play_time_fix -syn keyword ngxDirectiveThirdParty contained publish_notify -syn keyword ngxDirectiveThirdParty contained publish_time_fix -syn keyword ngxDirectiveThirdParty contained pull -syn keyword ngxDirectiveThirdParty contained pull_reconnect -syn keyword ngxDirectiveThirdParty contained push -syn keyword ngxDirectiveThirdParty contained push_reconnect -syn keyword ngxDirectiveThirdParty contained record -syn keyword ngxDirectiveThirdParty contained record_append -syn keyword ngxDirectiveThirdParty contained record_interval -syn keyword ngxDirectiveThirdParty contained record_lock -syn keyword ngxDirectiveThirdParty contained record_max_frames -syn keyword ngxDirectiveThirdParty contained record_max_size -syn keyword ngxDirectiveThirdParty contained record_notify -syn keyword ngxDirectiveThirdParty contained record_path -syn keyword ngxDirectiveThirdParty contained record_suffix -syn keyword ngxDirectiveThirdParty contained record_unique -syn keyword ngxDirectiveThirdParty contained recorder -syn keyword ngxDirectiveThirdParty contained relay_buffer -syn keyword ngxDirectiveThirdParty contained respawn -syn keyword ngxDirectiveThirdParty contained respawn_timeout -syn keyword ngxDirectiveThirdParty contained rtmp -syn keyword ngxDirectiveThirdParty contained rtmp_auto_push -syn keyword ngxDirectiveThirdParty contained rtmp_auto_push_reconnect -syn keyword ngxDirectiveThirdParty contained rtmp_control -syn keyword ngxDirectiveThirdParty contained rtmp_socket_dir -syn keyword ngxDirectiveThirdParty contained rtmp_stat -syn keyword ngxDirectiveThirdParty contained rtmp_stat_stylesheet -syn keyword ngxDirectiveThirdParty contained session_relay -syn keyword ngxDirectiveThirdParty contained so_keepalive -syn keyword ngxDirectiveThirdParty contained stream_buckets -syn keyword ngxDirectiveThirdParty contained sync -syn keyword ngxDirectiveThirdParty contained wait_key -syn keyword ngxDirectiveThirdParty contained wait_video - -" ngx_set_misc - Various set_xxx directives added to nginx's rewrite module (md5/sha1, sql/json quoting, and many more) -" https://github.com/openresty/set-misc-nginx-module -syn keyword ngxDirectiveThirdParty contained set_base32_alphabet -syn keyword ngxDirectiveThirdParty contained set_base32_padding -syn keyword ngxDirectiveThirdParty contained set_decode_base32 -syn keyword ngxDirectiveThirdParty contained set_decode_base64 -syn keyword ngxDirectiveThirdParty contained set_decode_hex -syn keyword ngxDirectiveThirdParty contained set_encode_base32 -syn keyword ngxDirectiveThirdParty contained set_encode_base64 -syn keyword ngxDirectiveThirdParty contained set_encode_hex -syn keyword ngxDirectiveThirdParty contained set_escape_uri -syn keyword ngxDirectiveThirdParty contained set_formatted_gmt_time -syn keyword ngxDirectiveThirdParty contained set_formatted_local_time -syn keyword ngxDirectiveThirdParty contained set_hashed_upstream -syn keyword ngxDirectiveThirdParty contained set_hmac_sha1 -syn keyword ngxDirectiveThirdParty contained set_if_empty -syn keyword ngxDirectiveThirdParty contained set_local_today -syn keyword ngxDirectiveThirdParty contained set_misc_base32_padding -syn keyword ngxDirectiveThirdParty contained set_quote_json_str -syn keyword ngxDirectiveThirdParty contained set_quote_pgsql_str -syn keyword ngxDirectiveThirdParty contained set_quote_sql_str -syn keyword ngxDirectiveThirdParty contained set_random -syn keyword ngxDirectiveThirdParty contained set_rotate -syn keyword ngxDirectiveThirdParty contained set_secure_random_alphanum -syn keyword ngxDirectiveThirdParty contained set_secure_random_lcalpha -syn keyword ngxDirectiveThirdParty contained set_unescape_uri - -" nginx-sflow-module -" https://github.com/sflow/nginx-sflow-module -syn keyword ngxDirectiveThirdParty contained sflow - -" Shibboleth auth request module for Nginx -" https://github.com/nginx-shib/nginx-http-shibboleth -syn keyword ngxDirectiveThirdParty contained shib_request -syn keyword ngxDirectiveThirdParty contained shib_request_set -syn keyword ngxDirectiveThirdParty contained shib_request_use_headers - -" nginx module which adds ability to cache static files -" https://github.com/FRiCKLE/ngx_slowfs_cache -syn keyword ngxDirectiveThirdParty contained slowfs_big_file_size -syn keyword ngxDirectiveThirdParty contained slowfs_cache -syn keyword ngxDirectiveThirdParty contained slowfs_cache_key -syn keyword ngxDirectiveThirdParty contained slowfs_cache_min_uses -syn keyword ngxDirectiveThirdParty contained slowfs_cache_path -syn keyword ngxDirectiveThirdParty contained slowfs_cache_purge -syn keyword ngxDirectiveThirdParty contained slowfs_cache_valid -syn keyword ngxDirectiveThirdParty contained slowfs_temp_path - -" Dynamic Image Transformation Module For nginx -" https://github.com/cubicdaiya/ngx_small_light -syn keyword ngxDirectiveThirdParty contained small_light -syn keyword ngxDirectiveThirdParty contained small_light_buffer -syn keyword ngxDirectiveThirdParty contained small_light_getparam_mode -syn keyword ngxDirectiveThirdParty contained small_light_imlib2_temp_dir -syn keyword ngxDirectiveThirdParty contained small_light_material_dir -syn keyword ngxDirectiveThirdParty contained small_light_pattern_define -syn keyword ngxDirectiveThirdParty contained small_light_radius_max -syn keyword ngxDirectiveThirdParty contained small_light_sigma_max - -" ngx_srcache - Transparent subrequest-based caching layout for arbitrary nginx locations -" https://github.com/openresty/srcache-nginx-module -syn keyword ngxDirectiveThirdParty contained srcache_buffer -syn keyword ngxDirectiveThirdParty contained srcache_default_expire -syn keyword ngxDirectiveThirdParty contained srcache_fetch -syn keyword ngxDirectiveThirdParty contained srcache_fetch_skip -syn keyword ngxDirectiveThirdParty contained srcache_header_buffer_size -syn keyword ngxDirectiveThirdParty contained srcache_ignore_content_encoding -syn keyword ngxDirectiveThirdParty contained srcache_max_expire -syn keyword ngxDirectiveThirdParty contained srcache_methods -syn keyword ngxDirectiveThirdParty contained srcache_request_cache_control -syn keyword ngxDirectiveThirdParty contained srcache_response_cache_control -syn keyword ngxDirectiveThirdParty contained srcache_store -syn keyword ngxDirectiveThirdParty contained srcache_store_hide_header -syn keyword ngxDirectiveThirdParty contained srcache_store_max_size -syn keyword ngxDirectiveThirdParty contained srcache_store_no_cache -syn keyword ngxDirectiveThirdParty contained srcache_store_no_store -syn keyword ngxDirectiveThirdParty contained srcache_store_pass_header -syn keyword ngxDirectiveThirdParty contained srcache_store_private -syn keyword ngxDirectiveThirdParty contained srcache_store_ranges -syn keyword ngxDirectiveThirdParty contained srcache_store_skip -syn keyword ngxDirectiveThirdParty contained srcache_store_statuses - -" NGINX-based VOD Packager -" https://github.com/kaltura/nginx-vod-module -syn keyword ngxDirectiveThirdParty contained vod -syn keyword ngxDirectiveThirdParty contained vod_align_segments_to_key_frames -syn keyword ngxDirectiveThirdParty contained vod_apply_dynamic_mapping -syn keyword ngxDirectiveThirdParty contained vod_base_url -syn keyword ngxDirectiveThirdParty contained vod_bootstrap_segment_durations -syn keyword ngxDirectiveThirdParty contained vod_cache_buffer_size -syn keyword ngxDirectiveThirdParty contained vod_clip_from_param_name -syn keyword ngxDirectiveThirdParty contained vod_clip_to_param_name -syn keyword ngxDirectiveThirdParty contained vod_drm_clear_lead_segment_count -syn keyword ngxDirectiveThirdParty contained vod_drm_enabled -syn keyword ngxDirectiveThirdParty contained vod_drm_info_cache -syn keyword ngxDirectiveThirdParty contained vod_drm_max_info_length -syn keyword ngxDirectiveThirdParty contained vod_drm_request_uri -syn keyword ngxDirectiveThirdParty contained vod_drm_single_key -syn keyword ngxDirectiveThirdParty contained vod_drm_upstream_location -syn keyword ngxDirectiveThirdParty contained vod_dynamic_clip_map_uri -syn keyword ngxDirectiveThirdParty contained vod_dynamic_mapping_cache -syn keyword ngxDirectiveThirdParty contained vod_encryption_iv_seed -syn keyword ngxDirectiveThirdParty contained vod_expires -syn keyword ngxDirectiveThirdParty contained vod_expires_live -syn keyword ngxDirectiveThirdParty contained vod_expires_live_time_dependent -syn keyword ngxDirectiveThirdParty contained vod_fallback_upstream_location -syn keyword ngxDirectiveThirdParty contained vod_force_continuous_timestamps -syn keyword ngxDirectiveThirdParty contained vod_force_playlist_type_vod -syn keyword ngxDirectiveThirdParty contained vod_gop_look_ahead -syn keyword ngxDirectiveThirdParty contained vod_gop_look_behind -syn keyword ngxDirectiveThirdParty contained vod_ignore_edit_list -syn keyword ngxDirectiveThirdParty contained vod_initial_read_size -syn keyword ngxDirectiveThirdParty contained vod_lang_param_name -syn keyword ngxDirectiveThirdParty contained vod_last_modified -syn keyword ngxDirectiveThirdParty contained vod_last_modified_types -syn keyword ngxDirectiveThirdParty contained vod_live_mapping_cache -syn keyword ngxDirectiveThirdParty contained vod_live_response_cache -syn keyword ngxDirectiveThirdParty contained vod_live_window_duration -syn keyword ngxDirectiveThirdParty contained vod_manifest_duration_policy -syn keyword ngxDirectiveThirdParty contained vod_manifest_segment_durations_mode -syn keyword ngxDirectiveThirdParty contained vod_mapping_cache -syn keyword ngxDirectiveThirdParty contained vod_max_frames_size -syn keyword ngxDirectiveThirdParty contained vod_max_mapping_response_size -syn keyword ngxDirectiveThirdParty contained vod_max_metadata_size -syn keyword ngxDirectiveThirdParty contained vod_max_upstream_headers_size -syn keyword ngxDirectiveThirdParty contained vod_media_set_map_uri -syn keyword ngxDirectiveThirdParty contained vod_media_set_override_json -syn keyword ngxDirectiveThirdParty contained vod_metadata_cache -syn keyword ngxDirectiveThirdParty contained vod_min_single_nalu_per_frame_segment -syn keyword ngxDirectiveThirdParty contained vod_mode -syn keyword ngxDirectiveThirdParty contained vod_multi_uri_suffix -syn keyword ngxDirectiveThirdParty contained vod_notification_uri -syn keyword ngxDirectiveThirdParty contained vod_open_file_thread_pool -syn keyword ngxDirectiveThirdParty contained vod_output_buffer_pool -syn keyword ngxDirectiveThirdParty contained vod_parse_hdlr_name -syn keyword ngxDirectiveThirdParty contained vod_path_response_postfix -syn keyword ngxDirectiveThirdParty contained vod_path_response_prefix -syn keyword ngxDirectiveThirdParty contained vod_performance_counters -syn keyword ngxDirectiveThirdParty contained vod_proxy_header_name -syn keyword ngxDirectiveThirdParty contained vod_proxy_header_value -syn keyword ngxDirectiveThirdParty contained vod_redirect_segments_url -syn keyword ngxDirectiveThirdParty contained vod_remote_upstream_location -syn keyword ngxDirectiveThirdParty contained vod_response_cache -syn keyword ngxDirectiveThirdParty contained vod_secret_key -syn keyword ngxDirectiveThirdParty contained vod_segment_count_policy -syn keyword ngxDirectiveThirdParty contained vod_segment_duration -syn keyword ngxDirectiveThirdParty contained vod_segments_base_url -syn keyword ngxDirectiveThirdParty contained vod_source_clip_map_uri -syn keyword ngxDirectiveThirdParty contained vod_speed_param_name -syn keyword ngxDirectiveThirdParty contained vod_status -syn keyword ngxDirectiveThirdParty contained vod_time_shift_param_name -syn keyword ngxDirectiveThirdParty contained vod_tracks_param_name -syn keyword ngxDirectiveThirdParty contained vod_upstream_extra_args -syn keyword ngxDirectiveThirdParty contained vod_upstream_location - -" Nginx virtual host traffic status module -" https://github.com/vozlt/nginx-module-vts -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_average_method -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_bypass_limit -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_bypass_stats -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_display -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_display_format -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_display_jsonp -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_display_sum_key -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_dump -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_filter -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_filter_by_host -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_filter_by_set_key -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_filter_check_duplicate -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_limit -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_limit_check_duplicate -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_limit_traffic -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_limit_traffic_by_set_key -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_set_by_filter -syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_zone - -" xss-nginx-module - Native cross-site scripting support in nginx -" https://github.com/openresty/xss-nginx-module -syn keyword ngxDirectiveThirdParty contained xss_callback_arg -syn keyword ngxDirectiveThirdParty contained xss_check_status -syn keyword ngxDirectiveThirdParty contained xss_get -syn keyword ngxDirectiveThirdParty contained xss_input_types -syn keyword ngxDirectiveThirdParty contained xss_output_type -syn keyword ngxDirectiveThirdParty contained xss_override_status - -" Add support for array-typed variables to nginx config files -" https://github.com/openresty/array-var-nginx-module -syn keyword ngxDirectiveThirdParty contained array_join -syn keyword ngxDirectiveThirdParty contained array_map -syn keyword ngxDirectiveThirdParty contained array_map_op -syn keyword ngxDirectiveThirdParty contained array_split - -" NGINX module for Brotli compression -" https://github.com/eustas/ngx_brotli -syn keyword ngxDirectiveThirdParty contained brotli -syn keyword ngxDirectiveThirdParty contained brotli_buffers -syn keyword ngxDirectiveThirdParty contained brotli_comp_level -syn keyword ngxDirectiveThirdParty contained brotli_min_length -syn keyword ngxDirectiveThirdParty contained brotli_static -syn keyword ngxDirectiveThirdParty contained brotli_types -syn keyword ngxDirectiveThirdParty contained brotli_window - -" form-input-nginx-module -" https://github.com/calio/form-input-nginx-module -syn keyword ngxDirectiveThirdParty contained set_form_input -syn keyword ngxDirectiveThirdParty contained set_form_input_multi - -" character conversion nginx module using libiconv -" https://github.com/calio/iconv-nginx-module -syn keyword ngxDirectiveThirdParty contained iconv_buffer_size -syn keyword ngxDirectiveThirdParty contained iconv_filter -syn keyword ngxDirectiveThirdParty contained set_iconv - -" 3rd party modules list taken from -" https://www.nginx.com/resources/wiki/modules/ -" --------------------------------------------- - -" Nginx Module for Authenticating Akamai G2O requests -" https://github.com/kaltura/nginx_mod_akamai_g2o -syn keyword ngxDirectiveThirdParty contained g2o -syn keyword ngxDirectiveThirdParty contained g2o_data_header -syn keyword ngxDirectiveThirdParty contained g2o_hash_function -syn keyword ngxDirectiveThirdParty contained g2o_key -syn keyword ngxDirectiveThirdParty contained g2o_log_level -syn keyword ngxDirectiveThirdParty contained g2o_nonce -syn keyword ngxDirectiveThirdParty contained g2o_sign_header -syn keyword ngxDirectiveThirdParty contained g2o_time_window -syn keyword ngxDirectiveThirdParty contained g2o_version - -" nginx_lua_module -" https://github.com/alacner/nginx_lua_module -syn keyword ngxDirectiveThirdParty contained lua_file - -" Nginx Audio Track for HTTP Live Streaming -" https://github.com/flavioribeiro/nginx-audio-track-for-hls-module -syn keyword ngxDirectiveThirdParty contained ngx_hls_audio_track -syn keyword ngxDirectiveThirdParty contained ngx_hls_audio_track_output_format -syn keyword ngxDirectiveThirdParty contained ngx_hls_audio_track_output_header -syn keyword ngxDirectiveThirdParty contained ngx_hls_audio_track_rootpath - -" A Nginx module to dump backtrace when a worker process exits abnormally -" https://github.com/alibaba/nginx-backtrace -syn keyword ngxDirectiveThirdParty contained backtrace_log -syn keyword ngxDirectiveThirdParty contained backtrace_max_stack_size - -" circle_gif module -" https://github.com/evanmiller/nginx_circle_gif -syn keyword ngxDirectiveThirdParty contained circle_gif -syn keyword ngxDirectiveThirdParty contained circle_gif_max_radius -syn keyword ngxDirectiveThirdParty contained circle_gif_min_radius -syn keyword ngxDirectiveThirdParty contained circle_gif_step_radius - -" Upstream Consistent Hash -" https://github.com/replay/ngx_http_consistent_hash -syn keyword ngxDirectiveThirdParty contained consistent_hash - -" Nginx module for etags on dynamic content -" https://github.com/kali/nginx-dynamic-etags -syn keyword ngxDirectiveThirdParty contained dynamic_etags - -" Enhanced Nginx Memcached Module -" https://github.com/bpaquet/ngx_http_enhanced_memcached_module -syn keyword ngxDirectiveThirdParty contained enhanced_memcached_allow_delete -syn keyword ngxDirectiveThirdParty contained enhanced_memcached_allow_put -syn keyword ngxDirectiveThirdParty contained enhanced_memcached_bind -syn keyword ngxDirectiveThirdParty contained enhanced_memcached_buffer_size -syn keyword ngxDirectiveThirdParty contained enhanced_memcached_connect_timeout -syn keyword ngxDirectiveThirdParty contained enhanced_memcached_flush -syn keyword ngxDirectiveThirdParty contained enhanced_memcached_flush_namespace -syn keyword ngxDirectiveThirdParty contained enhanced_memcached_hash_keys_with_md5 -syn keyword ngxDirectiveThirdParty contained enhanced_memcached_pass -syn keyword ngxDirectiveThirdParty contained enhanced_memcached_read_timeout -syn keyword ngxDirectiveThirdParty contained enhanced_memcached_send_timeout -syn keyword ngxDirectiveThirdParty contained enhanced_memcached_stats - -" nginx max connections queue -" https://github.com/ezmobius/nginx-ey-balancer -syn keyword ngxDirectiveThirdParty contained max_connections_max_queue_length -syn keyword ngxDirectiveThirdParty contained max_connections_queue_timeout - -" Nginx module for POST authentication and authorization -" https://github.com/veruu/ngx_form_auth -syn keyword ngxDirectiveThirdParty contained form_auth -syn keyword ngxDirectiveThirdParty contained form_auth_login -syn keyword ngxDirectiveThirdParty contained form_auth_pam_service -syn keyword ngxDirectiveThirdParty contained form_auth_password -syn keyword ngxDirectiveThirdParty contained form_auth_remote_user - -" ngx_http_accounting_module -" https://github.com/Lax/ngx_http_accounting_module -syn keyword ngxDirectiveThirdParty contained http_accounting -syn keyword ngxDirectiveThirdParty contained http_accounting_id -syn keyword ngxDirectiveThirdParty contained http_accounting_interval -syn keyword ngxDirectiveThirdParty contained http_accounting_log -syn keyword ngxDirectiveThirdParty contained http_accounting_perturb - -" concatenating files in a given context: CSS and JS files usually -" https://github.com/alibaba/nginx-http-concat -syn keyword ngxDirectiveThirdParty contained concat -syn keyword ngxDirectiveThirdParty contained concat_delimiter -syn keyword ngxDirectiveThirdParty contained concat_ignore_file_error -syn keyword ngxDirectiveThirdParty contained concat_max_files -syn keyword ngxDirectiveThirdParty contained concat_types -syn keyword ngxDirectiveThirdParty contained concat_unique - -" update upstreams' config by restful interface -" https://github.com/yzprofile/ngx_http_dyups_module -syn keyword ngxDirectiveThirdParty contained dyups_interface -syn keyword ngxDirectiveThirdParty contained dyups_read_msg_log -syn keyword ngxDirectiveThirdParty contained dyups_read_msg_timeout -syn keyword ngxDirectiveThirdParty contained dyups_shm_zone_size -syn keyword ngxDirectiveThirdParty contained dyups_trylock -syn keyword ngxDirectiveThirdParty contained dyups_upstream_conf - -" add given content to the end of the response according to the condition specified -" https://github.com/flygoast/ngx_http_footer_if_filter -syn keyword ngxDirectiveThirdParty contained footer_if - -" NGINX HTTP Internal Redirect Module -" https://github.com/flygoast/ngx_http_internal_redirect -syn keyword ngxDirectiveThirdParty contained internal_redirect_if -syn keyword ngxDirectiveThirdParty contained internal_redirect_if_no_postpone - -" nginx-ip-blocker -" https://github.com/tmthrgd/nginx-ip-blocker -syn keyword ngxDirectiveThirdParty contained ip_blocker - -" IP2Location Nginx -" https://github.com/chrislim2888/ip2location-nginx -syn keyword ngxDirectiveThirdParty contained ip2location_database - -" Limit upload rate -" https://github.com/cfsego/limit_upload_rate -syn keyword ngxDirectiveThirdParty contained limit_upload_rate -syn keyword ngxDirectiveThirdParty contained limit_upload_rate_after -syn keyword ngxDirectiveThirdParty contained limit_upload_rate_log_level - -" limit the number of connections to upstream -" https://github.com/cfsego/nginx-limit-upstream -syn keyword ngxDirectiveThirdParty contained limit_upstream_conn -syn keyword ngxDirectiveThirdParty contained limit_upstream_log_level -syn keyword ngxDirectiveThirdParty contained limit_upstream_zone - -" conditional accesslog for nginx -" https://github.com/cfsego/ngx_log_if -syn keyword ngxDirectiveThirdParty contained access_log_bypass_if - -" log messages over ZeroMQ -" https://github.com/alticelabs/nginx-log-zmq -syn keyword ngxDirectiveThirdParty contained log_zmq_endpoint -syn keyword ngxDirectiveThirdParty contained log_zmq_format -syn keyword ngxDirectiveThirdParty contained log_zmq_off -syn keyword ngxDirectiveThirdParty contained log_zmq_server - -" simple module to uppercase/lowercase strings in the nginx config -" https://github.com/replay/ngx_http_lower_upper_case -syn keyword ngxDirectiveThirdParty contained lower -syn keyword ngxDirectiveThirdParty contained upper - -" content filter for nginx, which returns the md5 hash of the content otherwise returned -" https://github.com/kainswor/nginx_md5_filter -syn keyword ngxDirectiveThirdParty contained md5_filter - -" Non-blocking upstream module for Nginx to connect to MongoDB -" https://github.com/simpl/ngx_mongo -syn keyword ngxDirectiveThirdParty contained mongo_auth -syn keyword ngxDirectiveThirdParty contained mongo_bind -syn keyword ngxDirectiveThirdParty contained mongo_buffer_size -syn keyword ngxDirectiveThirdParty contained mongo_buffering -syn keyword ngxDirectiveThirdParty contained mongo_buffers -syn keyword ngxDirectiveThirdParty contained mongo_busy_buffers_size -syn keyword ngxDirectiveThirdParty contained mongo_connect_timeout -syn keyword ngxDirectiveThirdParty contained mongo_json -syn keyword ngxDirectiveThirdParty contained mongo_next_upstream -syn keyword ngxDirectiveThirdParty contained mongo_pass -syn keyword ngxDirectiveThirdParty contained mongo_query -syn keyword ngxDirectiveThirdParty contained mongo_read_timeout -syn keyword ngxDirectiveThirdParty contained mongo_send_timeout - -" Nginx OCSP processing module designed for response caching -" https://github.com/kyprizel/nginx_ocsp_proxy-module -syn keyword ngxDirectiveThirdParty contained ocsp_cache_timeout -syn keyword ngxDirectiveThirdParty contained ocsp_proxy - -" Nginx OpenSSL version check at startup -" https://github.com/apcera/nginx-openssl-version -syn keyword ngxDirectiveThirdParty contained openssl_builddate_minimum -syn keyword ngxDirectiveThirdParty contained openssl_version_minimum - -" Automatic PageSpeed optimization module for Nginx -" https://github.com/pagespeed/ngx_pagespeed -syn keyword ngxDirectiveThirdParty contained pagespeed - -" PECL Memcache standard hashing compatible loadbalancer for Nginx -" https://github.com/replay/ngx_http_php_memcache_standard_balancer -syn keyword ngxDirectiveThirdParty contained hash_key - -" nginx module to parse php sessions -" https://github.com/replay/ngx_http_php_session -syn keyword ngxDirectiveThirdParty contained php_session_parse -syn keyword ngxDirectiveThirdParty contained php_session_strip_formatting - -" Nginx HTTP rDNS module -" https://github.com/flant/nginx-http-rdns -syn keyword ngxDirectiveThirdParty contained rdns -syn keyword ngxDirectiveThirdParty contained rdns_allow -syn keyword ngxDirectiveThirdParty contained rdns_deny - -" Streaming regular expression replacement in response bodies -" https://github.com/openresty/replace-filter-nginx-module -syn keyword ngxDirectiveThirdParty contained replace_filter -syn keyword ngxDirectiveThirdParty contained replace_filter_last_modified -syn keyword ngxDirectiveThirdParty contained replace_filter_max_buffered_size -syn keyword ngxDirectiveThirdParty contained replace_filter_skip -syn keyword ngxDirectiveThirdParty contained replace_filter_types - -" Link RRDtool's graphing facilities directly into nginx -" https://github.com/evanmiller/mod_rrd_graph -syn keyword ngxDirectiveThirdParty contained rrd_graph -syn keyword ngxDirectiveThirdParty contained rrd_graph_root - -" Module for nginx to proxy rtmp using http protocol -" https://github.com/kwojtek/nginx-rtmpt-proxy-module -syn keyword ngxDirectiveThirdParty contained rtmpt_proxy -syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_http_timeout -syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_rtmp_timeout -syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_stat -syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_stylesheet -syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_target - -" Syntactically Awesome NGINX Module -" https://github.com/mneudert/sass-nginx-module -syn keyword ngxDirectiveThirdParty contained sass_compile -syn keyword ngxDirectiveThirdParty contained sass_error_log -syn keyword ngxDirectiveThirdParty contained sass_include_path -syn keyword ngxDirectiveThirdParty contained sass_indent -syn keyword ngxDirectiveThirdParty contained sass_is_indented_syntax -syn keyword ngxDirectiveThirdParty contained sass_linefeed -syn keyword ngxDirectiveThirdParty contained sass_output_style -syn keyword ngxDirectiveThirdParty contained sass_precision -syn keyword ngxDirectiveThirdParty contained sass_source_comments -syn keyword ngxDirectiveThirdParty contained sass_source_map_embed - -" Nginx Selective Cache Purge Module -" https://github.com/wandenberg/nginx-selective-cache-purge-module -syn keyword ngxDirectiveThirdParty contained selective_cache_purge_query -syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_database -syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_host -syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_password -syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_port -syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_unix_socket - -" cconv nginx module -" https://github.com/liseen/set-cconv-nginx-module -syn keyword ngxDirectiveThirdParty contained set_cconv_to_simp -syn keyword ngxDirectiveThirdParty contained set_cconv_to_trad -syn keyword ngxDirectiveThirdParty contained set_pinyin_to_normal - -" Nginx module that allows the setting of variables to the value of a variety of hashes -" https://github.com/simpl/ngx_http_set_hash -syn keyword ngxDirectiveThirdParty contained set_md5 -syn keyword ngxDirectiveThirdParty contained set_md5_upper -syn keyword ngxDirectiveThirdParty contained set_murmur2 -syn keyword ngxDirectiveThirdParty contained set_murmur2_upper -syn keyword ngxDirectiveThirdParty contained set_sha1 -syn keyword ngxDirectiveThirdParty contained set_sha1_upper - -" Nginx module to set the language of a request based on a number of options -" https://github.com/simpl/ngx_http_set_lang -syn keyword ngxDirectiveThirdParty contained lang_cookie -syn keyword ngxDirectiveThirdParty contained lang_get_var -syn keyword ngxDirectiveThirdParty contained lang_host -syn keyword ngxDirectiveThirdParty contained lang_list -syn keyword ngxDirectiveThirdParty contained lang_post_var -syn keyword ngxDirectiveThirdParty contained lang_referer -syn keyword ngxDirectiveThirdParty contained set_lang -syn keyword ngxDirectiveThirdParty contained set_lang_method - -" Nginx Sorted Querystring Module -" https://github.com/wandenberg/nginx-sorted-querystring-module -syn keyword ngxDirectiveThirdParty contained sorted_querysting_filter_parameter - -" Nginx upstream module for Sphinx 2.x search daemon -" https://github.com/reeteshranjan/sphinx2-nginx-module -syn keyword ngxDirectiveThirdParty contained sphinx2_bind -syn keyword ngxDirectiveThirdParty contained sphinx2_buffer_size -syn keyword ngxDirectiveThirdParty contained sphinx2_connect_timeout -syn keyword ngxDirectiveThirdParty contained sphinx2_next_upstream -syn keyword ngxDirectiveThirdParty contained sphinx2_pass -syn keyword ngxDirectiveThirdParty contained sphinx2_read_timeout -syn keyword ngxDirectiveThirdParty contained sphinx2_send_timeout - -" Nginx module for retrieving user attributes and groups from SSSD -" https://github.com/veruu/ngx_sssd_info -syn keyword ngxDirectiveThirdParty contained sssd_info -syn keyword ngxDirectiveThirdParty contained sssd_info_attribute -syn keyword ngxDirectiveThirdParty contained sssd_info_attribute_separator -syn keyword ngxDirectiveThirdParty contained sssd_info_attributes -syn keyword ngxDirectiveThirdParty contained sssd_info_group -syn keyword ngxDirectiveThirdParty contained sssd_info_group_separator -syn keyword ngxDirectiveThirdParty contained sssd_info_groups -syn keyword ngxDirectiveThirdParty contained sssd_info_output_to - -" An nginx module for sending statistics to statsd -" https://github.com/zebrafishlabs/nginx-statsd -syn keyword ngxDirectiveThirdParty contained statsd_count -syn keyword ngxDirectiveThirdParty contained statsd_sample_rate -syn keyword ngxDirectiveThirdParty contained statsd_server -syn keyword ngxDirectiveThirdParty contained statsd_timing - -" ngx_stream_echo - TCP/stream echo module for NGINX (a port of the ngx_http_echo module) -" https://github.com/openresty/stream-echo-nginx-module -syn keyword ngxDirectiveThirdParty contained echo -syn keyword ngxDirectiveThirdParty contained echo_client_error_log_level -syn keyword ngxDirectiveThirdParty contained echo_discard_request -syn keyword ngxDirectiveThirdParty contained echo_duplicate -syn keyword ngxDirectiveThirdParty contained echo_flush_wait -syn keyword ngxDirectiveThirdParty contained echo_lingering_close -syn keyword ngxDirectiveThirdParty contained echo_lingering_time -syn keyword ngxDirectiveThirdParty contained echo_lingering_timeout -syn keyword ngxDirectiveThirdParty contained echo_read_buffer_size -syn keyword ngxDirectiveThirdParty contained echo_read_bytes -syn keyword ngxDirectiveThirdParty contained echo_read_line -syn keyword ngxDirectiveThirdParty contained echo_read_timeout -syn keyword ngxDirectiveThirdParty contained echo_request_data -syn keyword ngxDirectiveThirdParty contained echo_send_timeout -syn keyword ngxDirectiveThirdParty contained echo_sleep - -" Embed the power of Lua into NGINX TCP/UDP servers -" https://github.com/openresty/stream-lua-nginx-module -syn keyword ngxDirectiveThirdParty contained lua_add_variable -syn keyword ngxDirectiveThirdParty contained preread_by_lua_block -syn keyword ngxDirectiveThirdParty contained preread_by_lua_file -syn keyword ngxDirectiveThirdParty contained preread_by_lua_no_postpone - -" nginx-upsync-module -" https://github.com/weibocom/nginx-upsync-module -syn keyword ngxDirectiveThirdParty contained upstream_show -syn keyword ngxDirectiveThirdParty contained upsync -syn keyword ngxDirectiveThirdParty contained upsync_dump_path -syn keyword ngxDirectiveThirdParty contained upsync_lb - -" Whitespace stripper for nginx -" https://github.com/evanmiller/mod_strip -syn keyword ngxDirectiveThirdParty contained strip - -" Split one big HTTP/Range request to multiple subrange requesets -" https://github.com/Qihoo360/ngx_http_subrange_module -syn keyword ngxDirectiveThirdParty contained subrange - -" summarizer-nginx-module -" https://github.com/reeteshranjan/summarizer-nginx-module -syn keyword ngxDirectiveThirdParty contained summarizer_bind -syn keyword ngxDirectiveThirdParty contained summarizer_buffer_size -syn keyword ngxDirectiveThirdParty contained summarizer_connect_timeout -syn keyword ngxDirectiveThirdParty contained summarizer_next_upstream -syn keyword ngxDirectiveThirdParty contained summarizer_pass -syn keyword ngxDirectiveThirdParty contained summarizer_read_timeout -syn keyword ngxDirectiveThirdParty contained summarizer_send_timeout - -" nginx module providing API to communicate with supervisord and manage (start/stop) backends on-demand -" https://github.com/FRiCKLE/ngx_supervisord -syn keyword ngxDirectiveThirdParty contained supervisord -syn keyword ngxDirectiveThirdParty contained supervisord_inherit_backend_status -syn keyword ngxDirectiveThirdParty contained supervisord_name -syn keyword ngxDirectiveThirdParty contained supervisord_start -syn keyword ngxDirectiveThirdParty contained supervisord_stop - -" simple robot mitigation module using cookie based challenge/response technique. Not supported any more. -" https://github.com/kyprizel/testcookie-nginx-module -syn keyword ngxDirectiveThirdParty contained testcookie -syn keyword ngxDirectiveThirdParty contained testcookie_arg -syn keyword ngxDirectiveThirdParty contained testcookie_deny_keepalive -syn keyword ngxDirectiveThirdParty contained testcookie_domain -syn keyword ngxDirectiveThirdParty contained testcookie_expires -syn keyword ngxDirectiveThirdParty contained testcookie_fallback -syn keyword ngxDirectiveThirdParty contained testcookie_get_only -syn keyword ngxDirectiveThirdParty contained testcookie_httponly_flag -syn keyword ngxDirectiveThirdParty contained testcookie_https_location -syn keyword ngxDirectiveThirdParty contained testcookie_internal -syn keyword ngxDirectiveThirdParty contained testcookie_max_attempts -syn keyword ngxDirectiveThirdParty contained testcookie_name -syn keyword ngxDirectiveThirdParty contained testcookie_p3p -syn keyword ngxDirectiveThirdParty contained testcookie_pass -syn keyword ngxDirectiveThirdParty contained testcookie_path -syn keyword ngxDirectiveThirdParty contained testcookie_port_in_redirect -syn keyword ngxDirectiveThirdParty contained testcookie_redirect_via_refresh -syn keyword ngxDirectiveThirdParty contained testcookie_refresh_encrypt_cookie -syn keyword ngxDirectiveThirdParty contained testcookie_refresh_encrypt_cookie_iv -syn keyword ngxDirectiveThirdParty contained testcookie_refresh_encrypt_cookie_key -syn keyword ngxDirectiveThirdParty contained testcookie_refresh_status -syn keyword ngxDirectiveThirdParty contained testcookie_refresh_template -syn keyword ngxDirectiveThirdParty contained testcookie_secret -syn keyword ngxDirectiveThirdParty contained testcookie_secure_flag -syn keyword ngxDirectiveThirdParty contained testcookie_session -syn keyword ngxDirectiveThirdParty contained testcookie_whitelist - -" ngx_http_types_filter_module -" https://github.com/flygoast/ngx_http_types_filter -syn keyword ngxDirectiveThirdParty contained types_filter -syn keyword ngxDirectiveThirdParty contained types_filter_use_default - -" A module allowing the nginx to use files embedded in a zip file -" https://github.com/youzee/nginx-unzip-module -syn keyword ngxDirectiveThirdParty contained file_in_unzip -syn keyword ngxDirectiveThirdParty contained file_in_unzip_archivefile -syn keyword ngxDirectiveThirdParty contained file_in_unzip_extract - -" An asynchronous domain name resolve module for nginx upstream -" https://github.com/wdaike/ngx_upstream_jdomain -syn keyword ngxDirectiveThirdParty contained jdomain - -" Nginx url encoding converting module -" https://github.com/vozlt/nginx-module-url -syn keyword ngxDirectiveThirdParty contained url_encoding_convert -syn keyword ngxDirectiveThirdParty contained url_encoding_convert_alloc_size -syn keyword ngxDirectiveThirdParty contained url_encoding_convert_alloc_size_x -syn keyword ngxDirectiveThirdParty contained url_encoding_convert_from -syn keyword ngxDirectiveThirdParty contained url_encoding_convert_phase -syn keyword ngxDirectiveThirdParty contained url_encoding_convert_to - -" A nginx module to match browsers and crawlers -" https://github.com/alibaba/nginx-http-user-agent -syn keyword ngxDirectiveThirdParty contained user_agent - -" nginx load-balancer module implementing ketama consistent hashing -" https://github.com/flygoast/ngx_http_upstream_ketama_chash -syn keyword ngxDirectiveThirdParty contained ketama_chash - - - - -" highlight - -hi link ngxComment Comment -hi link ngxParamComment Comment -hi link ngxListenComment Comment -hi link ngxVariable Identifier -hi link ngxVariableString PreProc -hi link ngxString String -hi link ngxListenString String - -hi link ngxBoolean Boolean -hi link ngxDirectiveBlock Statement -hi link ngxDirectiveImportant Type -hi link ngxDirectiveListen Type -hi link ngxDirectiveControl Keyword -hi link ngxDirectiveError Constant -hi link ngxDirectiveDeprecated Error -hi link ngxDirective Identifier -hi link ngxDirectiveThirdParty Special -hi link ngxDirectiveThirdPartyDeprecated Error - -hi link ngxListenOptions Keyword -hi link ngxListenOptionsDeprecated Error - -let b:current_syntax = "nginx" diff --git a/demos/nginx-demo/docs/CHANGES b/demos/nginx-demo/docs/CHANGES deleted file mode 100644 index 597c270..0000000 --- a/demos/nginx-demo/docs/CHANGES +++ /dev/null @@ -1,8115 +0,0 @@ - -Changes with nginx 1.14.2 04 Dec 2018 - - *) Bugfix: nginx could not be built by gcc 8.1. - - *) Bugfix: nginx could not be built on Fedora 28 Linux. - - *) Bugfix: in handling of client addresses when using unix domain listen - sockets to work with datagrams on Linux. - - *) Change: the logging level of the "http request", "https proxy - request", "unsupported protocol", "version too low", "no suitable key - share", and "no suitable signature algorithm" SSL errors has been - lowered from "crit" to "info". - - *) Bugfix: when using OpenSSL 1.1.0 or newer it was not possible to - switch off "ssl_prefer_server_ciphers" in a virtual server if it was - switched on in the default server. - - *) Bugfix: nginx could not be built with LibreSSL 2.8.0. - - *) Bugfix: if nginx was built with OpenSSL 1.1.0 and used with OpenSSL - 1.1.1, the TLS 1.3 protocol was always enabled. - - *) Bugfix: sending a disk-buffered request body to a gRPC backend might - fail. - - *) Bugfix: connections with some gRPC backends might not be cached when - using the "keepalive" directive. - - *) Bugfix: a segmentation fault might occur in a worker process if the - ngx_http_mp4_module was used on 32-bit platforms. - - -Changes with nginx 1.14.1 06 Nov 2018 - - *) Security: when using HTTP/2 a client might cause excessive memory - consumption (CVE-2018-16843) and CPU usage (CVE-2018-16844). - - *) Security: processing of a specially crafted mp4 file with the - ngx_http_mp4_module might result in worker process memory disclosure - (CVE-2018-16845). - - *) Bugfix: working with gRPC backends might result in excessive memory - consumption. - - -Changes with nginx 1.14.0 17 Apr 2018 - - *) 1.14.x stable branch. - - -Changes with nginx 1.13.12 10 Apr 2018 - - *) Bugfix: connections with gRPC backends might be closed unexpectedly - when returning a large response. - - -Changes with nginx 1.13.11 03 Apr 2018 - - *) Feature: the "proxy_protocol" parameter of the "listen" directive now - supports the PROXY protocol version 2. - - *) Bugfix: nginx could not be built with OpenSSL 1.1.1 statically on - Linux. - - *) Bugfix: in the "http_404", "http_500", etc. parameters of the - "proxy_next_upstream" directive. - - -Changes with nginx 1.13.10 20 Mar 2018 - - *) Feature: the "set" parameter of the "include" SSI directive now - allows writing arbitrary responses to a variable; the - "subrequest_output_buffer_size" directive defines maximum response - size. - - *) Feature: now nginx uses clock_gettime(CLOCK_MONOTONIC) if available, - to avoid timeouts being incorrectly triggered on system time changes. - - *) Feature: the "escape=none" parameter of the "log_format" directive. - Thanks to Johannes Baiter and Calin Don. - - *) Feature: the $ssl_preread_alpn_protocols variable in the - ngx_stream_ssl_preread_module. - - *) Feature: the ngx_http_grpc_module. - - *) Bugfix: in memory allocation error handling in the "geo" directive. - - *) Bugfix: when using variables in the "auth_basic_user_file" directive - a null character might appear in logs. - Thanks to Vadim Filimonov. - - -Changes with nginx 1.13.9 20 Feb 2018 - - *) Feature: HTTP/2 server push support; the "http2_push" and - "http2_push_preload" directives. - - *) Bugfix: "header already sent" alerts might appear in logs when using - cache; the bug had appeared in 1.9.13. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "ssl_verify_client" directive was used and no SSL certificate was - specified in a virtual server. - - *) Bugfix: in the ngx_http_v2_module. - - *) Bugfix: in the ngx_http_dav_module. - - -Changes with nginx 1.13.8 26 Dec 2017 - - *) Feature: now nginx automatically preserves the CAP_NET_RAW capability - in worker processes when using the "transparent" parameter of the - "proxy_bind", "fastcgi_bind", "memcached_bind", "scgi_bind", and - "uwsgi_bind" directives. - - *) Feature: improved CPU cache line size detection. - Thanks to Debayan Ghosh. - - *) Feature: new directives in vim syntax highlighting scripts. - Thanks to Gena Makhomed. - - *) Bugfix: binary upgrade refused to work if nginx was re-parented to a - process with PID different from 1 after its parent process has - finished. - - *) Bugfix: the ngx_http_autoindex_module incorrectly handled requests - with bodies. - - *) Bugfix: in the "proxy_limit_rate" directive when used with the - "keepalive" directive. - - *) Bugfix: some parts of a response might be buffered when using - "proxy_buffering off" if the client connection used SSL. - Thanks to Patryk Lesiewicz. - - *) Bugfix: in the "proxy_cache_background_update" directive. - - *) Bugfix: it was not possible to start a parameter with a variable in - the "${name}" form with the name in curly brackets without enclosing - the parameter into single or double quotes. - - -Changes with nginx 1.13.7 21 Nov 2017 - - *) Bugfix: in the $upstream_status variable. - - *) Bugfix: a segmentation fault might occur in a worker process if a - backend returned a "101 Switching Protocols" response to a - subrequest. - - *) Bugfix: a segmentation fault occurred in a master process if a shared - memory zone size was changed during a reconfiguration and the - reconfiguration failed. - - *) Bugfix: in the ngx_http_fastcgi_module. - - *) Bugfix: nginx returned the 500 error if parameters without variables - were specified in the "xslt_stylesheet" directive. - - *) Workaround: "gzip filter failed to use preallocated memory" alerts - appeared in logs when using a zlib library variant from Intel. - - *) Bugfix: the "worker_shutdown_timeout" directive did not work when - using mail proxy and when proxying WebSocket connections. - - -Changes with nginx 1.13.6 10 Oct 2017 - - *) Bugfix: switching to the next upstream server in the stream module - did not work when using the "ssl_preread" directive. - - *) Bugfix: in the ngx_http_v2_module. - Thanks to Piotr Sikora. - - *) Bugfix: nginx did not support dates after the year 2038 on 32-bit - platforms with 64-bit time_t. - - *) Bugfix: in handling of dates prior to the year 1970 and after the - year 10000. - - *) Bugfix: in the stream module timeouts waiting for UDP datagrams from - upstream servers were not logged or logged at the "info" level - instead of "error". - - *) Bugfix: when using HTTP/2 nginx might return the 400 response without - logging the reason. - - *) Bugfix: in processing of corrupted cache files. - - *) Bugfix: cache control headers were ignored when caching errors - intercepted by error_page. - - *) Bugfix: when using HTTP/2 client request body might be corrupted. - - *) Bugfix: in handling of client addresses when using unix domain - sockets. - - *) Bugfix: nginx hogged CPU when using the "hash ... consistent" - directive in the upstream block if large weights were used and all or - most of the servers were unavailable. - - -Changes with nginx 1.13.5 05 Sep 2017 - - *) Feature: the $ssl_client_escaped_cert variable. - - *) Bugfix: the "ssl_session_ticket_key" directive and the "include" - parameter of the "geo" directive did not work on Windows. - - *) Bugfix: incorrect response length was returned on 32-bit platforms - when requesting more than 4 gigabytes with multiple ranges. - - *) Bugfix: the "expires modified" directive and processing of the - "If-Range" request header line did not use the response last - modification time if proxying without caching was used. - - -Changes with nginx 1.13.4 08 Aug 2017 - - *) Feature: the ngx_http_mirror_module. - - *) Bugfix: client connections might be dropped during configuration - testing when using the "reuseport" parameter of the "listen" - directive on Linux. - - *) Bugfix: request body might not be available in subrequests if it was - saved to a file and proxying was used. - - *) Bugfix: cleaning cache based on the "max_size" parameter did not work - on Windows. - - *) Bugfix: any shared memory allocation required 4096 bytes on Windows. - - *) Bugfix: nginx worker might be terminated abnormally when using the - "zone" directive inside the "upstream" block on Windows. - - -Changes with nginx 1.13.3 11 Jul 2017 - - *) Security: a specially crafted request might result in an integer - overflow and incorrect processing of ranges in the range filter, - potentially resulting in sensitive information leak (CVE-2017-7529). - - -Changes with nginx 1.13.2 27 Jun 2017 - - *) Change: nginx now returns 200 instead of 416 when a range starting - with 0 is requested from an empty file. - - *) Feature: the "add_trailer" directive. - Thanks to Piotr Sikora. - - *) Bugfix: nginx could not be built on Cygwin and NetBSD; the bug had - appeared in 1.13.0. - - *) Bugfix: nginx could not be built under MSYS2 / MinGW 64-bit. - Thanks to Orgad Shaneh. - - *) Bugfix: a segmentation fault might occur in a worker process when - using SSI with many includes and proxy_pass with variables. - - *) Bugfix: in the ngx_http_v2_module. - Thanks to Piotr Sikora. - - -Changes with nginx 1.13.1 30 May 2017 - - *) Feature: now a hostname can be used as the "set_real_ip_from" - directive parameter. - - *) Feature: vim syntax highlighting scripts improvements. - - *) Feature: the "worker_cpu_affinity" directive now works on DragonFly - BSD. - Thanks to Sepherosa Ziehau. - - *) Bugfix: SSL renegotiation on backend connections did not work when - using OpenSSL before 1.1.0. - - *) Workaround: nginx could not be built with Oracle Developer Studio - 12.5. - - *) Workaround: now cache manager ignores long locked cache entries when - cleaning cache based on the "max_size" parameter. - - *) Bugfix: client SSL connections were immediately closed if deferred - accept and the "proxy_protocol" parameter of the "listen" directive - were used. - - *) Bugfix: in the "proxy_cache_background_update" directive. - - *) Workaround: now the "tcp_nodelay" directive sets the TCP_NODELAY - option before an SSL handshake. - - -Changes with nginx 1.13.0 25 Apr 2017 - - *) Change: SSL renegotiation is now allowed on backend connections. - - *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen" - directives of the mail proxy and stream modules. - - *) Feature: the "return" and "error_page" directives can now be used to - return 308 redirections. - Thanks to Simon Leblanc. - - *) Feature: the "TLSv1.3" parameter of the "ssl_protocols" directive. - - *) Feature: when logging signals nginx now logs PID of the process which - sent the signal. - - *) Bugfix: in memory allocation error handling. - - *) Bugfix: if a server in the stream module listened on a wildcard - address, the source address of a response UDP datagram could differ - from the original datagram destination address. - - -Changes with nginx 1.11.13 04 Apr 2017 - - *) Feature: the "http_429" parameter of the "proxy_next_upstream", - "fastcgi_next_upstream", "scgi_next_upstream", and - "uwsgi_next_upstream" directives. - Thanks to Piotr Sikora. - - *) Bugfix: in memory allocation error handling. - - *) Bugfix: requests might hang when using the "sendfile" and - "timer_resolution" directives on Linux. - - *) Bugfix: requests might hang when using the "sendfile" and "aio_write" - directives with subrequests. - - *) Bugfix: in the ngx_http_v2_module. - Thanks to Piotr Sikora. - - *) Bugfix: a segmentation fault might occur in a worker process when - using HTTP/2. - - *) Bugfix: requests might hang when using the "limit_rate", - "sendfile_max_chunk", "limit_req" directives, or the $r->sleep() - embedded perl method with subrequests. - - *) Bugfix: in the ngx_http_slice_module. - - -Changes with nginx 1.11.12 24 Mar 2017 - - *) Bugfix: nginx might hog CPU; the bug had appeared in 1.11.11. - - -Changes with nginx 1.11.11 21 Mar 2017 - - *) Feature: the "worker_shutdown_timeout" directive. - - *) Feature: vim syntax highlighting scripts improvements. - Thanks to Wei-Ko Kao. - - *) Bugfix: a segmentation fault might occur in a worker process if the - $limit_rate variable was set to an empty string. - - *) Bugfix: the "proxy_cache_background_update", - "fastcgi_cache_background_update", "scgi_cache_background_update", - and "uwsgi_cache_background_update" directives might work incorrectly - if the "if" directive was used. - - *) Bugfix: a segmentation fault might occur in a worker process if - number of large_client_header_buffers in a virtual server was - different from the one in the default server. - - *) Bugfix: in the mail proxy server. - - -Changes with nginx 1.11.10 14 Feb 2017 - - *) Change: cache header format has been changed, previously cached - responses will be invalidated. - - *) Feature: support of "stale-while-revalidate" and "stale-if-error" - extensions in the "Cache-Control" backend response header line. - - *) Feature: the "proxy_cache_background_update", - "fastcgi_cache_background_update", "scgi_cache_background_update", - and "uwsgi_cache_background_update" directives. - - *) Feature: nginx is now able to cache responses with the "Vary" header - line up to 128 characters long (instead of 42 characters in previous - versions). - - *) Feature: the "build" parameter of the "server_tokens" directive. - Thanks to Tom Thorogood. - - *) Bugfix: "[crit] SSL_write() failed" messages might appear in logs - when handling requests with the "Expect: 100-continue" request header - line. - - *) Bugfix: the ngx_http_slice_module did not work in named locations. - - *) Bugfix: a segmentation fault might occur in a worker process when - using AIO after an "X-Accel-Redirect" redirection. - - *) Bugfix: reduced memory consumption for long-lived requests using - gzipping. - - -Changes with nginx 1.11.9 24 Jan 2017 - - *) Bugfix: nginx might hog CPU when using the stream module; the bug had - appeared in 1.11.5. - - *) Bugfix: EXTERNAL authentication mechanism in mail proxy was accepted - even if it was not enabled in the configuration. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "ssl_verify_client" directive of the stream module was used. - - *) Bugfix: the "ssl_verify_client" directive of the stream module might - not work. - - *) Bugfix: closing keepalive connections due to no free worker - connections might be too aggressive. - Thanks to Joel Cunningham. - - *) Bugfix: an incorrect response might be returned when using the - "sendfile" directive on FreeBSD and macOS; the bug had appeared in - 1.7.8. - - *) Bugfix: a truncated response might be stored in cache when using the - "aio_write" directive. - - *) Bugfix: a socket leak might occur when using the "aio_write" - directive. - - -Changes with nginx 1.11.8 27 Dec 2016 - - *) Feature: the "absolute_redirect" directive. - - *) Feature: the "escape" parameter of the "log_format" directive. - - *) Feature: client SSL certificates verification in the stream module. - - *) Feature: the "ssl_session_ticket_key" directive supports AES256 - encryption of TLS session tickets when used with 80-byte keys. - - *) Feature: vim-commentary support in vim scripts. - Thanks to Armin Grodon. - - *) Bugfix: recursion when evaluating variables was not limited. - - *) Bugfix: in the ngx_stream_ssl_preread_module. - - *) Bugfix: if a server in an upstream in the stream module failed, it - was considered alive only when a test connection sent to it after - fail_timeout was closed; now a successfully established connection is - enough. - - *) Bugfix: nginx/Windows could not be built with 64-bit Visual Studio. - - *) Bugfix: nginx/Windows could not be built with OpenSSL 1.1.0. - - -Changes with nginx 1.11.7 13 Dec 2016 - - *) Change: now in case of a client certificate verification error the - $ssl_client_verify variable contains a string with the failure - reason, for example, "FAILED:certificate has expired". - - *) Feature: the $ssl_ciphers, $ssl_curves, $ssl_client_v_start, - $ssl_client_v_end, and $ssl_client_v_remain variables. - - *) Feature: the "volatile" parameter of the "map" directive. - - *) Bugfix: dependencies specified for a module were ignored while - building dynamic modules. - - *) Bugfix: when using HTTP/2 and the "limit_req" or "auth_request" - directives client request body might be corrupted; the bug had - appeared in 1.11.0. - - *) Bugfix: a segmentation fault might occur in a worker process when - using HTTP/2; the bug had appeared in 1.11.3. - - *) Bugfix: in the ngx_http_mp4_module. - Thanks to Congcong Hu. - - *) Bugfix: in the ngx_http_perl_module. - - -Changes with nginx 1.11.6 15 Nov 2016 - - *) Change: format of the $ssl_client_s_dn and $ssl_client_i_dn variables - has been changed to follow RFC 2253 (RFC 4514); values in the old - format are available in the $ssl_client_s_dn_legacy and - $ssl_client_i_dn_legacy variables. - - *) Change: when storing temporary files in a cache directory they will - be stored in the same subdirectories as corresponding cache files - instead of a separate subdirectory for temporary files. - - *) Feature: EXTERNAL authentication mechanism support in mail proxy. - Thanks to Robert Norris. - - *) Feature: WebP support in the ngx_http_image_filter_module. - - *) Feature: variables support in the "proxy_method" directive. - Thanks to Dmitry Lazurkin. - - *) Feature: the "http2_max_requests" directive in the - ngx_http_v2_module. - - *) Feature: the "proxy_cache_max_range_offset", - "fastcgi_cache_max_range_offset", "scgi_cache_max_range_offset", and - "uwsgi_cache_max_range_offset" directives. - - *) Bugfix: graceful shutdown of old worker processes might require - infinite time when using HTTP/2. - - *) Bugfix: in the ngx_http_mp4_module. - - *) Bugfix: "ignore long locked inactive cache entry" alerts might appear - in logs when proxying WebSocket connections with caching enabled. - - *) Bugfix: nginx did not write anything to log and returned a response - with code 502 instead of 504 when a timeout occurred during an SSL - handshake to a backend. - - -Changes with nginx 1.11.5 11 Oct 2016 - - *) Change: the --with-ipv6 configure option was removed, now IPv6 - support is configured automatically. - - *) Change: now if there are no available servers in an upstream, nginx - will not reset number of failures of all servers as it previously - did, but will wait for fail_timeout to expire. - - *) Feature: the ngx_stream_ssl_preread_module. - - *) Feature: the "server" directive in the "upstream" context supports - the "max_conns" parameter. - - *) Feature: the --with-compat configure option. - - *) Feature: "manager_files", "manager_threshold", and "manager_sleep" - parameters of the "proxy_cache_path", "fastcgi_cache_path", - "scgi_cache_path", and "uwsgi_cache_path" directives. - - *) Bugfix: flags passed by the --with-ld-opt configure option were not - used while building perl module. - - *) Bugfix: in the "add_after_body" directive when used with the - "sub_filter" directive. - - *) Bugfix: in the $realip_remote_addr variable. - - *) Bugfix: the "dav_access", "proxy_store_access", - "fastcgi_store_access", "scgi_store_access", and "uwsgi_store_access" - directives ignored permissions specified for user. - - *) Bugfix: unix domain listen sockets might not be inherited during - binary upgrade on Linux. - - *) Bugfix: nginx returned the 400 response on requests with the "-" - character in the HTTP method. - - -Changes with nginx 1.11.4 13 Sep 2016 - - *) Feature: the $upstream_bytes_received variable. - - *) Feature: the $bytes_received, $session_time, $protocol, $status, - $upstream_addr, $upstream_bytes_sent, $upstream_bytes_received, - $upstream_connect_time, $upstream_first_byte_time, and - $upstream_session_time variables in the stream module. - - *) Feature: the ngx_stream_log_module. - - *) Feature: the "proxy_protocol" parameter of the "listen" directive, - the $proxy_protocol_addr and $proxy_protocol_port variables in the - stream module. - - *) Feature: the ngx_stream_realip_module. - - *) Bugfix: nginx could not be built with the stream module and the - ngx_http_ssl_module, but without ngx_stream_ssl_module; the bug had - appeared in 1.11.3. - - *) Feature: the IP_BIND_ADDRESS_NO_PORT socket option was not used; the - bug had appeared in 1.11.2. - - *) Bugfix: in the "ranges" parameter of the "geo" directive. - - *) Bugfix: an incorrect response might be returned when using the "aio - threads" and "sendfile" directives; the bug had appeared in 1.9.13. - - -Changes with nginx 1.11.3 26 Jul 2016 - - *) Change: now the "accept_mutex" directive is turned off by default. - - *) Feature: now nginx uses EPOLLEXCLUSIVE on Linux. - - *) Feature: the ngx_stream_geo_module. - - *) Feature: the ngx_stream_geoip_module. - - *) Feature: the ngx_stream_split_clients_module. - - *) Feature: variables support in the "proxy_pass" and "proxy_ssl_name" - directives in the stream module. - - *) Bugfix: socket leak when using HTTP/2. - - *) Bugfix: in configure tests. - Thanks to Piotr Sikora. - - -Changes with nginx 1.11.2 05 Jul 2016 - - *) Change: now nginx always uses internal MD5 and SHA1 implementations; - the --with-md5 and --with-sha1 configure options were canceled. - - *) Feature: variables support in the stream module. - - *) Feature: the ngx_stream_map_module. - - *) Feature: the ngx_stream_return_module. - - *) Feature: a port can be specified in the "proxy_bind", "fastcgi_bind", - "memcached_bind", "scgi_bind", and "uwsgi_bind" directives. - - *) Feature: now nginx uses the IP_BIND_ADDRESS_NO_PORT socket option - when available. - - *) Bugfix: a segmentation fault might occur in a worker process when - using HTTP/2 and the "proxy_request_buffering" directive. - - *) Bugfix: the "Content-Length" request header line was always added to - requests passed to backends, including requests without body, when - using HTTP/2. - - *) Bugfix: "http request count is zero" alerts might appear in logs when - using HTTP/2. - - *) Bugfix: unnecessary buffering might occur when using the "sub_filter" - directive; the issue had appeared in 1.9.4. - - -Changes with nginx 1.11.1 31 May 2016 - - *) Security: a segmentation fault might occur in a worker process while - writing a specially crafted request body to a temporary file - (CVE-2016-4450); the bug had appeared in 1.3.9. - - -Changes with nginx 1.11.0 24 May 2016 - - *) Feature: the "transparent" parameter of the "proxy_bind", - "fastcgi_bind", "memcached_bind", "scgi_bind", and "uwsgi_bind" - directives. - - *) Feature: the $request_id variable. - - *) Feature: the "map" directive supports combinations of multiple - variables as resulting values. - - *) Feature: now nginx checks if EPOLLRDHUP events are supported by - kernel, and optimizes connection handling accordingly if the "epoll" - method is used. - - *) Feature: the "ssl_certificate" and "ssl_certificate_key" directives - can be specified multiple times to load certificates of different - types (for example, RSA and ECDSA). - - *) Feature: the "ssl_ecdh_curve" directive now allows specifying a list - of curves when using OpenSSL 1.0.2 or newer; by default a list built - into OpenSSL is used. - - *) Change: to use DHE ciphers it is now required to specify parameters - using the "ssl_dhparam" directive. - - *) Feature: the $proxy_protocol_port variable. - - *) Feature: the $realip_remote_port variable in the - ngx_http_realip_module. - - *) Feature: the ngx_http_realip_module is now able to set the client - port in addition to the address. - - *) Change: the "421 Misdirected Request" response now used when - rejecting requests to a virtual server different from one negotiated - during an SSL handshake; this improves interoperability with some - HTTP/2 clients when using client certificates. - - *) Change: HTTP/2 clients can now start sending request body - immediately; the "http2_body_preread_size" directive controls size of - the buffer used before nginx will start reading client request body. - - *) Bugfix: cached error responses were not updated when using the - "proxy_cache_bypass" directive. - - -Changes with nginx 1.9.15 19 Apr 2016 - - *) Bugfix: "recv() failed" errors might occur when using HHVM as a - FastCGI server. - - *) Bugfix: when using HTTP/2 and the "limit_req" or "auth_request" - directives a timeout or a "client violated flow control" error might - occur while reading client request body; the bug had appeared in - 1.9.14. - - *) Workaround: a response might not be shown by some browsers if HTTP/2 - was used and client request body was not fully read; the bug had - appeared in 1.9.14. - - *) Bugfix: connections might hang when using the "aio threads" - directive. - Thanks to Mindaugas Rasiukevicius. - - -Changes with nginx 1.9.14 05 Apr 2016 - - *) Feature: OpenSSL 1.1.0 compatibility. - - *) Feature: the "proxy_request_buffering", "fastcgi_request_buffering", - "scgi_request_buffering", and "uwsgi_request_buffering" directives - now work with HTTP/2. - - *) Bugfix: "zero size buf in output" alerts might appear in logs when - using HTTP/2. - - *) Bugfix: the "client_max_body_size" directive might work incorrectly - when using HTTP/2. - - *) Bugfix: of minor bugs in logging. - - -Changes with nginx 1.9.13 29 Mar 2016 - - *) Change: non-idempotent requests (POST, LOCK, PATCH) are no longer - passed to the next server by default if a request has been sent to a - backend; the "non_idempotent" parameter of the "proxy_next_upstream" - directive explicitly allows retrying such requests. - - *) Feature: the ngx_http_perl_module can be built dynamically. - - *) Feature: UDP support in the stream module. - - *) Feature: the "aio_write" directive. - - *) Feature: now cache manager monitors number of elements in caches and - tries to avoid cache keys zone overflows. - - *) Bugfix: "task already active" and "second aio post" alerts might - appear in logs when using the "sendfile" and "aio" directives with - subrequests. - - *) Bugfix: "zero size buf in output" alerts might appear in logs if - caching was used and a client closed a connection prematurely. - - *) Bugfix: connections with clients might be closed needlessly if - caching was used. - Thanks to Justin Li. - - *) Bugfix: nginx might hog CPU if the "sendfile" directive was used on - Linux or Solaris and a file being sent was changed during sending. - - *) Bugfix: connections might hang when using the "sendfile" and "aio - threads" directives. - - *) Bugfix: in the "proxy_pass", "fastcgi_pass", "scgi_pass", and - "uwsgi_pass" directives when using variables. - Thanks to Piotr Sikora. - - *) Bugfix: in the ngx_http_sub_filter_module. - - *) Bugfix: if an error occurred in a cached backend connection, the - request was passed to the next server regardless of the - proxy_next_upstream directive. - - *) Bugfix: "CreateFile() failed" errors when creating temporary files on - Windows. - - -Changes with nginx 1.9.12 24 Feb 2016 - - *) Feature: Huffman encoding of response headers in HTTP/2. - Thanks to Vlad Krasnov. - - *) Feature: the "worker_cpu_affinity" directive now supports more than - 64 CPUs. - - *) Bugfix: compatibility with 3rd party C++ modules; the bug had - appeared in 1.9.11. - Thanks to Piotr Sikora. - - *) Bugfix: nginx could not be built statically with OpenSSL on Linux; - the bug had appeared in 1.9.11. - - *) Bugfix: the "add_header ... always" directive with an empty value did - not delete "Last-Modified" and "ETag" header lines from error - responses. - - *) Workaround: "called a function you should not call" and "shutdown - while in init" messages might appear in logs when using OpenSSL - 1.0.2f. - - *) Bugfix: invalid headers might be logged incorrectly. - - *) Bugfix: socket leak when using HTTP/2. - - *) Bugfix: in the ngx_http_v2_module. - - -Changes with nginx 1.9.11 09 Feb 2016 - - *) Feature: TCP support in resolver. - - *) Feature: dynamic modules. - - *) Bugfix: the $request_length variable did not include size of request - headers when using HTTP/2. - - *) Bugfix: in the ngx_http_v2_module. - - -Changes with nginx 1.9.10 26 Jan 2016 - - *) Security: invalid pointer dereference might occur during DNS server - response processing if the "resolver" directive was used, allowing an - attacker who is able to forge UDP packets from the DNS server to - cause segmentation fault in a worker process (CVE-2016-0742). - - *) Security: use-after-free condition might occur during CNAME response - processing if the "resolver" directive was used, allowing an attacker - who is able to trigger name resolution to cause segmentation fault in - a worker process, or might have potential other impact - (CVE-2016-0746). - - *) Security: CNAME resolution was insufficiently limited if the - "resolver" directive was used, allowing an attacker who is able to - trigger arbitrary name resolution to cause excessive resource - consumption in worker processes (CVE-2016-0747). - - *) Feature: the "auto" parameter of the "worker_cpu_affinity" directive. - - *) Bugfix: the "proxy_protocol" parameter of the "listen" directive did - not work with IPv6 listen sockets. - - *) Bugfix: connections to upstream servers might be cached incorrectly - when using the "keepalive" directive. - - *) Bugfix: proxying used the HTTP method of the original request after - an "X-Accel-Redirect" redirection. - - -Changes with nginx 1.9.9 09 Dec 2015 - - *) Bugfix: proxying to unix domain sockets did not work when using - variables; the bug had appeared in 1.9.8. - - -Changes with nginx 1.9.8 08 Dec 2015 - - *) Feature: pwritev() support. - - *) Feature: the "include" directive inside the "upstream" block. - - *) Feature: the ngx_http_slice_module. - - *) Bugfix: a segmentation fault might occur in a worker process when - using LibreSSL; the bug had appeared in 1.9.6. - - *) Bugfix: nginx could not be built on OS X in some cases. - - -Changes with nginx 1.9.7 17 Nov 2015 - - *) Feature: the "nohostname" parameter of logging to syslog. - - *) Feature: the "proxy_cache_convert_head" directive. - - *) Feature: the $realip_remote_addr variable in the - ngx_http_realip_module. - - *) Bugfix: the "expires" directive might not work when using variables. - - *) Bugfix: a segmentation fault might occur in a worker process when - using HTTP/2; the bug had appeared in 1.9.6. - - *) Bugfix: if nginx was built with the ngx_http_v2_module it was - possible to use the HTTP/2 protocol even if the "http2" parameter of - the "listen" directive was not specified. - - *) Bugfix: in the ngx_http_v2_module. - - -Changes with nginx 1.9.6 27 Oct 2015 - - *) Bugfix: a segmentation fault might occur in a worker process when - using HTTP/2. - Thanks to Piotr Sikora and Denis Andzakovic. - - *) Bugfix: the $server_protocol variable was empty when using HTTP/2. - - *) Bugfix: backend SSL connections in the stream module might be timed - out unexpectedly. - - *) Bugfix: a segmentation fault might occur in a worker process if - different ssl_session_cache settings were used in different virtual - servers. - - *) Bugfix: nginx/Windows could not be built with MinGW gcc; the bug had - appeared in 1.9.4. - Thanks to Kouhei Sutou. - - *) Bugfix: time was not updated when the timer_resolution directive was - used on Windows. - - *) Miscellaneous minor fixes and improvements. - Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora. - - -Changes with nginx 1.9.5 22 Sep 2015 - - *) Feature: the ngx_http_v2_module (replaces ngx_http_spdy_module). - Thanks to Dropbox and Automattic for sponsoring this work. - - *) Change: now the "output_buffers" directive uses two buffers by - default. - - *) Change: now nginx limits subrequests recursion, not simultaneous - subrequests. - - *) Change: now nginx checks the whole cache key when returning a - response from cache. - Thanks to Gena Makhomed and Sergey Brester. - - *) Bugfix: "header already sent" alerts might appear in logs when using - cache; the bug had appeared in 1.7.5. - - *) Bugfix: "writev() failed (4: Interrupted system call)" errors might - appear in logs when using CephFS and the "timer_resolution" directive - on Linux. - - *) Bugfix: in invalid configurations handling. - Thanks to Markus Linnala. - - *) Bugfix: a segmentation fault occurred in a worker process if the - "sub_filter" directive was used at http level; the bug had appeared - in 1.9.4. - - -Changes with nginx 1.9.4 18 Aug 2015 - - *) Change: the "proxy_downstream_buffer" and "proxy_upstream_buffer" - directives of the stream module are replaced with the - "proxy_buffer_size" directive. - - *) Feature: the "tcp_nodelay" directive in the stream module. - - *) Feature: multiple "sub_filter" directives can be used simultaneously. - - *) Feature: variables support in the search string of the "sub_filter" - directive. - - *) Workaround: configuration testing might fail under Linux OpenVZ. - Thanks to Gena Makhomed. - - *) Bugfix: old worker processes might hog CPU after reconfiguration with - a large number of worker_connections. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "try_files" and "alias" directives were used inside a location given - by a regular expression; the bug had appeared in 1.7.1. - - *) Bugfix: the "try_files" directive inside a nested location given by a - regular expression worked incorrectly if the "alias" directive was - used in the outer location. - - *) Bugfix: in hash table initialization error handling. - - *) Bugfix: nginx could not be built with Visual Studio 2015. - - -Changes with nginx 1.9.3 14 Jul 2015 - - *) Change: duplicate "http", "mail", and "stream" blocks are now - disallowed. - - *) Feature: connection limiting in the stream module. - - *) Feature: data rate limiting in the stream module. - - *) Bugfix: the "zone" directive inside the "upstream" block did not work - on Windows. - - *) Bugfix: compatibility with LibreSSL in the stream module. - Thanks to Piotr Sikora. - - *) Bugfix: in the "--builddir" configure parameter. - Thanks to Piotr Sikora. - - *) Bugfix: the "ssl_stapling_file" directive did not work; the bug had - appeared in 1.9.2. - Thanks to Faidon Liambotis and Brandon Black. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "ssl_stapling" directive was used; the bug had appeared in 1.9.2. - Thanks to Matthew Baldwin. - - -Changes with nginx 1.9.2 16 Jun 2015 - - *) Feature: the "backlog" parameter of the "listen" directives of the - mail proxy and stream modules. - - *) Feature: the "allow" and "deny" directives in the stream module. - - *) Feature: the "proxy_bind" directive in the stream module. - - *) Feature: the "proxy_protocol" directive in the stream module. - - *) Feature: the -T switch. - - *) Feature: the REQUEST_SCHEME parameter added to the fastcgi.conf, - fastcgi_params, scgi_params, and uwsgi_params standard configuration - files. - - *) Bugfix: the "reuseport" parameter of the "listen" directive of the - stream module did not work. - - *) Bugfix: OCSP stapling might return an expired OCSP response in some - cases. - - -Changes with nginx 1.9.1 26 May 2015 - - *) Change: now SSLv3 protocol is disabled by default. - - *) Change: some long deprecated directives are not supported anymore. - - *) Feature: the "reuseport" parameter of the "listen" directive. - Thanks to Yingqi Lu at Intel and Sepherosa Ziehau. - - *) Feature: the $upstream_connect_time variable. - - *) Bugfix: in the "hash" directive on big-endian platforms. - - *) Bugfix: nginx might fail to start on some old Linux variants; the bug - had appeared in 1.7.11. - - *) Bugfix: in IP address parsing. - Thanks to Sergey Polovko. - - -Changes with nginx 1.9.0 28 Apr 2015 - - *) Change: obsolete aio and rtsig event methods have been removed. - - *) Feature: the "zone" directive inside the "upstream" block. - - *) Feature: the stream module. - - *) Feature: byte ranges support in the ngx_http_memcached_module. - Thanks to Martin Mlynář. - - *) Feature: shared memory can now be used on Windows versions with - address space layout randomization. - Thanks to Sergey Brester. - - *) Feature: the "error_log" directive can now be used on mail and server - levels in mail proxy. - - *) Bugfix: the "proxy_protocol" parameter of the "listen" directive did - not work if not specified in the first "listen" directive for a - listen socket. - - -Changes with nginx 1.7.12 07 Apr 2015 - - *) Feature: now the "tcp_nodelay" directive works with backend SSL - connections. - - *) Feature: now thread pools can be used to read cache file headers. - - *) Bugfix: in the "proxy_request_buffering" directive. - - *) Bugfix: a segmentation fault might occur in a worker process when - using thread pools on Linux. - - *) Bugfix: in error handling when using the "ssl_stapling" directive. - Thanks to Filipe da Silva. - - *) Bugfix: in the ngx_http_spdy_module. - - -Changes with nginx 1.7.11 24 Mar 2015 - - *) Change: the "sendfile" parameter of the "aio" directive is - deprecated; now nginx automatically uses AIO to pre-load data for - sendfile if both "aio" and "sendfile" directives are used. - - *) Feature: experimental thread pools support. - - *) Feature: the "proxy_request_buffering", "fastcgi_request_buffering", - "scgi_request_buffering", and "uwsgi_request_buffering" directives. - - *) Feature: request body filters experimental API. - - *) Feature: client SSL certificates support in mail proxy. - Thanks to Sven Peter, Franck Levionnois, and Filipe Da Silva. - - *) Feature: startup speedup when using the "hash ... consistent" - directive in the upstream block. - Thanks to Wai Keen Woon. - - *) Feature: debug logging into a cyclic memory buffer. - - *) Bugfix: in hash table handling. - Thanks to Chris West. - - *) Bugfix: in the "proxy_cache_revalidate" directive. - - *) Bugfix: SSL connections might hang if deferred accept or the - "proxy_protocol" parameter of the "listen" directive were used. - Thanks to James Hamlin. - - *) Bugfix: the $upstream_response_time variable might contain a wrong - value if the "image_filter" directive was used. - - *) Bugfix: in integer overflow handling. - Thanks to Régis Leroy. - - *) Bugfix: it was not possible to enable SSLv3 with LibreSSL. - - *) Bugfix: the "ignoring stale global SSL error ... called a function - you should not call" alerts appeared in logs when using LibreSSL. - - *) Bugfix: certificates specified by the "ssl_client_certificate" and - "ssl_trusted_certificate" directives were inadvertently used to - automatically construct certificate chains. - - -Changes with nginx 1.7.10 10 Feb 2015 - - *) Feature: the "use_temp_path" parameter of the "proxy_cache_path", - "fastcgi_cache_path", "scgi_cache_path", and "uwsgi_cache_path" - directives. - - *) Feature: the $upstream_header_time variable. - - *) Workaround: now on disk overflow nginx tries to write error logs once - a second only. - - *) Bugfix: the "try_files" directive did not ignore normal files while - testing directories. - Thanks to Damien Tournoud. - - *) Bugfix: alerts "sendfile() failed" if the "sendfile" directive was - used on OS X; the bug had appeared in 1.7.8. - - *) Bugfix: alerts "sem_post() failed" might appear in logs. - - *) Bugfix: nginx could not be built with musl libc. - Thanks to James Taylor. - - *) Bugfix: nginx could not be built on Tru64 UNIX. - Thanks to Goetz T. Fischer. - - -Changes with nginx 1.7.9 23 Dec 2014 - - *) Feature: variables support in the "proxy_cache", "fastcgi_cache", - "scgi_cache", and "uwsgi_cache" directives. - - *) Feature: variables support in the "expires" directive. - - *) Feature: loading of secret keys from hardware tokens with OpenSSL - engines. - Thanks to Dmitrii Pichulin. - - *) Feature: the "autoindex_format" directive. - - *) Bugfix: cache revalidation is now only used for responses with 200 - and 206 status codes. - Thanks to Piotr Sikora. - - *) Bugfix: the "TE" client request header line was passed to backends - while proxying. - - *) Bugfix: the "proxy_pass", "fastcgi_pass", "scgi_pass", and - "uwsgi_pass" directives might not work correctly inside the "if" and - "limit_except" blocks. - - *) Bugfix: the "proxy_store" directive with the "on" parameter was - ignored if the "proxy_store" directive with an explicitly specified - file path was used on a previous level. - - *) Bugfix: nginx could not be built with BoringSSL. - Thanks to Lukas Tribus. - - -Changes with nginx 1.7.8 02 Dec 2014 - - *) Change: now the "If-Modified-Since", "If-Range", etc. client request - header lines are passed to a backend while caching if nginx knows in - advance that the response will not be cached (e.g., when using - proxy_cache_min_uses). - - *) Change: now after proxy_cache_lock_timeout nginx sends a request to a - backend with caching disabled; the new directives - "proxy_cache_lock_age", "fastcgi_cache_lock_age", - "scgi_cache_lock_age", and "uwsgi_cache_lock_age" specify a time - after which the lock will be released and another attempt to cache a - response will be made. - - *) Change: the "log_format" directive can now be used only at http - level. - - *) Feature: the "proxy_ssl_certificate", "proxy_ssl_certificate_key", - "proxy_ssl_password_file", "uwsgi_ssl_certificate", - "uwsgi_ssl_certificate_key", and "uwsgi_ssl_password_file" - directives. - Thanks to Piotr Sikora. - - *) Feature: it is now possible to switch to a named location using - "X-Accel-Redirect". - Thanks to Toshikuni Fukaya. - - *) Feature: now the "tcp_nodelay" directive works with SPDY connections. - - *) Feature: new directives in vim syntax highliting scripts. - Thanks to Peter Wu. - - *) Bugfix: nginx ignored the "s-maxage" value in the "Cache-Control" - backend response header line. - Thanks to Piotr Sikora. - - *) Bugfix: in the ngx_http_spdy_module. - Thanks to Piotr Sikora. - - *) Bugfix: in the "ssl_password_file" directive when using OpenSSL - 0.9.8zc, 1.0.0o, 1.0.1j. - - *) Bugfix: alerts "header already sent" appeared in logs if the - "post_action" directive was used; the bug had appeared in 1.5.4. - - *) Bugfix: alerts "the http output chain is empty" might appear in logs - if the "postpone_output 0" directive was used with SSI includes. - - *) Bugfix: in the "proxy_cache_lock" directive with SSI subrequests. - Thanks to Yichun Zhang. - - -Changes with nginx 1.7.7 28 Oct 2014 - - *) Change: now nginx takes into account the "Vary" header line in a - backend response while caching. - - *) Feature: the "proxy_force_ranges", "fastcgi_force_ranges", - "scgi_force_ranges", and "uwsgi_force_ranges" directives. - - *) Feature: the "proxy_limit_rate", "fastcgi_limit_rate", - "scgi_limit_rate", and "uwsgi_limit_rate" directives. - - *) Feature: the "Vary" parameter of the "proxy_ignore_headers", - "fastcgi_ignore_headers", "scgi_ignore_headers", and - "uwsgi_ignore_headers" directives. - - *) Bugfix: the last part of a response received from a backend with - unbufferred proxy might not be sent to a client if "gzip" or "gunzip" - directives were used. - - *) Bugfix: in the "proxy_cache_revalidate" directive. - Thanks to Piotr Sikora. - - *) Bugfix: in error handling. - Thanks to Yichun Zhang and Daniil Bondarev. - - *) Bugfix: in the "proxy_next_upstream_tries" and - "proxy_next_upstream_timeout" directives. - Thanks to Feng Gu. - - *) Bugfix: nginx/Windows could not be built with MinGW-w64 gcc. - Thanks to Kouhei Sutou. - - -Changes with nginx 1.7.6 30 Sep 2014 - - *) Change: the deprecated "limit_zone" directive is not supported - anymore. - - *) Feature: the "limit_conn_zone" and "limit_req_zone" directives now - can be used with combinations of multiple variables. - - *) Bugfix: request body might be transmitted incorrectly when retrying a - FastCGI request to the next upstream server. - - *) Bugfix: in logging to syslog. - - -Changes with nginx 1.7.5 16 Sep 2014 - - *) Security: it was possible to reuse SSL sessions in unrelated contexts - if a shared SSL session cache or the same TLS session ticket key was - used for multiple "server" blocks (CVE-2014-3616). - Thanks to Antoine Delignat-Lavaud. - - *) Change: now the "stub_status" directive does not require a parameter. - - *) Feature: the "always" parameter of the "add_header" directive. - - *) Feature: the "proxy_next_upstream_tries", - "proxy_next_upstream_timeout", "fastcgi_next_upstream_tries", - "fastcgi_next_upstream_timeout", "memcached_next_upstream_tries", - "memcached_next_upstream_timeout", "scgi_next_upstream_tries", - "scgi_next_upstream_timeout", "uwsgi_next_upstream_tries", and - "uwsgi_next_upstream_timeout" directives. - - *) Bugfix: in the "if" parameter of the "access_log" directive. - - *) Bugfix: in the ngx_http_perl_module. - Thanks to Piotr Sikora. - - *) Bugfix: the "listen" directive of the mail proxy module did not allow - to specify more than two parameters. - - *) Bugfix: the "sub_filter" directive did not work with a string to - replace consisting of a single character. - - *) Bugfix: requests might hang if resolver was used and a timeout - occurred during a DNS request. - - *) Bugfix: in the ngx_http_spdy_module when using with AIO. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "set" directive was used to change the "$http_...", "$sent_http_...", - or "$upstream_http_..." variables. - - *) Bugfix: in memory allocation error handling. - Thanks to Markus Linnala and Feng Gu. - - -Changes with nginx 1.7.4 05 Aug 2014 - - *) Security: pipelined commands were not discarded after STARTTLS - command in SMTP proxy (CVE-2014-3556); the bug had appeared in 1.5.6. - Thanks to Chris Boulton. - - *) Change: URI escaping now uses uppercase hexadecimal digits. - Thanks to Piotr Sikora. - - *) Feature: now nginx can be build with BoringSSL and LibreSSL. - Thanks to Piotr Sikora. - - *) Bugfix: requests might hang if resolver was used and a DNS server - returned a malformed response; the bug had appeared in 1.5.8. - - *) Bugfix: in the ngx_http_spdy_module. - Thanks to Piotr Sikora. - - *) Bugfix: the $uri variable might contain garbage when returning errors - with code 400. - Thanks to Sergey Bobrov. - - *) Bugfix: in error handling in the "proxy_store" directive and the - ngx_http_dav_module. - Thanks to Feng Gu. - - *) Bugfix: a segmentation fault might occur if logging of errors to - syslog was used; the bug had appeared in 1.7.1. - - *) Bugfix: the $geoip_latitude, $geoip_longitude, $geoip_dma_code, and - $geoip_area_code variables might not work. - Thanks to Yichun Zhang. - - *) Bugfix: in memory allocation error handling. - Thanks to Tatsuhiko Kubo and Piotr Sikora. - - -Changes with nginx 1.7.3 08 Jul 2014 - - *) Feature: weak entity tags are now preserved on response - modifications, and strong ones are changed to weak. - - *) Feature: cache revalidation now uses If-None-Match header if - possible. - - *) Feature: the "ssl_password_file" directive. - - *) Bugfix: the If-None-Match request header line was ignored if there - was no Last-Modified header in a response returned from cache. - - *) Bugfix: "peer closed connection in SSL handshake" messages were - logged at "info" level instead of "error" while connecting to - backends. - - *) Bugfix: in the ngx_http_dav_module module in nginx/Windows. - - *) Bugfix: SPDY connections might be closed prematurely if caching was - used. - - -Changes with nginx 1.7.2 17 Jun 2014 - - *) Feature: the "hash" directive inside the "upstream" block. - - *) Feature: defragmentation of free shared memory blocks. - Thanks to Wandenberg Peixoto and Yichun Zhang. - - *) Bugfix: a segmentation fault might occur in a worker process if the - default value of the "access_log" directive was used; the bug had - appeared in 1.7.0. - Thanks to Piotr Sikora. - - *) Bugfix: trailing slash was mistakenly removed from the last parameter - of the "try_files" directive. - - *) Bugfix: nginx could not be built on OS X in some cases. - - *) Bugfix: in the ngx_http_spdy_module. - - -Changes with nginx 1.7.1 27 May 2014 - - *) Feature: the "$upstream_cookie_..." variables. - - *) Feature: the $ssl_client_fingerprint variable. - - *) Feature: the "error_log" and "access_log" directives now support - logging to syslog. - - *) Feature: the mail proxy now logs client port on connect. - - *) Bugfix: memory leak if the "ssl_stapling" directive was used. - Thanks to Filipe da Silva. - - *) Bugfix: the "alias" directive used inside a location given by a - regular expression worked incorrectly if the "if" or "limit_except" - directives were used. - - *) Bugfix: the "charset" directive did not set a charset to encoded - backend responses. - - *) Bugfix: a "proxy_pass" directive without URI part might use original - request after the $args variable was set. - Thanks to Yichun Zhang. - - *) Bugfix: in the "none" parameter in the "smtp_auth" directive; the bug - had appeared in 1.5.6. - Thanks to Svyatoslav Nikolsky. - - *) Bugfix: if sub_filter and SSI were used together, then responses - might be transferred incorrectly. - - *) Bugfix: nginx could not be built with the --with-file-aio option on - Linux/aarch64. - - -Changes with nginx 1.7.0 24 Apr 2014 - - *) Feature: backend SSL certificate verification. - - *) Feature: support for SNI while working with SSL backends. - - *) Feature: the $ssl_server_name variable. - - *) Feature: the "if" parameter of the "access_log" directive. - - -Changes with nginx 1.5.13 08 Apr 2014 - - *) Change: improved hash table handling; the default values of the - "variables_hash_max_size" and "types_hash_bucket_size" were changed - to 1024 and 64 respectively. - - *) Feature: the ngx_http_mp4_module now supports the "end" argument. - - *) Feature: byte ranges support in the ngx_http_mp4_module and while - saving responses to cache. - - *) Bugfix: alerts "ngx_slab_alloc() failed: no memory" no longer logged - when using shared memory in the "ssl_session_cache" directive and in - the ngx_http_limit_req_module. - - *) Bugfix: the "underscores_in_headers" directive did not allow - underscore as a first character of a header. - Thanks to Piotr Sikora. - - *) Bugfix: cache manager might hog CPU on exit in nginx/Windows. - - *) Bugfix: nginx/Windows terminated abnormally if the - "ssl_session_cache" directive was used with the "shared" parameter. - - *) Bugfix: in the ngx_http_spdy_module. - - -Changes with nginx 1.5.12 18 Mar 2014 - - *) Security: a heap memory buffer overflow might occur in a worker - process while handling a specially crafted request by - ngx_http_spdy_module, potentially resulting in arbitrary code - execution (CVE-2014-0133). - Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. - Manuel Sadosky, Buenos Aires, Argentina. - - *) Feature: the "proxy_protocol" parameters of the "listen" and - "real_ip_header" directives, the $proxy_protocol_addr variable. - - *) Bugfix: in the "fastcgi_next_upstream" directive. - Thanks to Lucas Molas. - - -Changes with nginx 1.5.11 04 Mar 2014 - - *) Security: memory corruption might occur in a worker process on 32-bit - platforms while handling a specially crafted request by - ngx_http_spdy_module, potentially resulting in arbitrary code - execution (CVE-2014-0088); the bug had appeared in 1.5.10. - Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. - Manuel Sadosky, Buenos Aires, Argentina. - - *) Feature: the $ssl_session_reused variable. - - *) Bugfix: the "client_max_body_size" directive might not work when - reading a request body using chunked transfer encoding; the bug had - appeared in 1.3.9. - Thanks to Lucas Molas. - - *) Bugfix: a segmentation fault might occur in a worker process when - proxying WebSocket connections. - - *) Bugfix: a segmentation fault might occur in a worker process if the - ngx_http_spdy_module was used on 32-bit platforms; the bug had - appeared in 1.5.10. - - *) Bugfix: the $upstream_status variable might contain wrong data if the - "proxy_cache_use_stale" or "proxy_cache_revalidate" directives were - used. - Thanks to Piotr Sikora. - - *) Bugfix: a segmentation fault might occur in a worker process if - errors with code 400 were redirected to a named location using the - "error_page" directive. - - *) Bugfix: nginx/Windows could not be built with Visual Studio 2013. - - -Changes with nginx 1.5.10 04 Feb 2014 - - *) Feature: the ngx_http_spdy_module now uses SPDY 3.1 protocol. - Thanks to Automattic and MaxCDN for sponsoring this work. - - *) Feature: the ngx_http_mp4_module now skips tracks too short for a - seek requested. - - *) Bugfix: a segmentation fault might occur in a worker process if the - $ssl_session_id variable was used in logs; the bug had appeared in - 1.5.9. - - *) Bugfix: the $date_local and $date_gmt variables used wrong format - outside of the ngx_http_ssi_filter_module. - - *) Bugfix: client connections might be immediately closed if deferred - accept was used; the bug had appeared in 1.3.15. - - *) Bugfix: alerts "getsockopt(TCP_FASTOPEN) ... failed" appeared in logs - during binary upgrade on Linux; the bug had appeared in 1.5.8. - Thanks to Piotr Sikora. - - -Changes with nginx 1.5.9 22 Jan 2014 - - *) Change: now nginx expects escaped URIs in "X-Accel-Redirect" headers. - - *) Feature: the "ssl_buffer_size" directive. - - *) Feature: the "limit_rate" directive can now be used to rate limit - responses sent in SPDY connections. - - *) Feature: the "spdy_chunk_size" directive. - - *) Feature: the "ssl_session_tickets" directive. - Thanks to Dirkjan Bussink. - - *) Bugfix: the $ssl_session_id variable contained full session - serialized instead of just a session id. - Thanks to Ivan Ristić. - - *) Bugfix: nginx incorrectly handled escaped "?" character in the - "include" SSI command. - - *) Bugfix: the ngx_http_dav_module did not unescape destination URI of - the COPY and MOVE methods. - - *) Bugfix: resolver did not understand domain names with a trailing dot. - Thanks to Yichun Zhang. - - *) Bugfix: alerts "zero size buf in output" might appear in logs while - proxying; the bug had appeared in 1.3.9. - - *) Bugfix: a segmentation fault might occur in a worker process if the - ngx_http_spdy_module was used. - - *) Bugfix: proxied WebSocket connections might hang right after - handshake if the select, poll, or /dev/poll methods were used. - - *) Bugfix: the "xclient" directive of the mail proxy module incorrectly - handled IPv6 client addresses. - - -Changes with nginx 1.5.8 17 Dec 2013 - - *) Feature: IPv6 support in resolver. - - *) Feature: the "listen" directive supports the "fastopen" parameter. - Thanks to Mathew Rodley. - - *) Feature: SSL support in the ngx_http_uwsgi_module. - Thanks to Roberto De Ioris. - - *) Feature: vim syntax highlighting scripts were added to contrib. - Thanks to Evan Miller. - - *) Bugfix: a timeout might occur while reading client request body in an - SSL connection using chunked transfer encoding. - - *) Bugfix: the "master_process" directive did not work correctly in - nginx/Windows. - - *) Bugfix: the "setfib" parameter of the "listen" directive might not - work. - - *) Bugfix: in the ngx_http_spdy_module. - - -Changes with nginx 1.5.7 19 Nov 2013 - - *) Security: a character following an unescaped space in a request line - was handled incorrectly (CVE-2013-4547); the bug had appeared in - 0.8.41. - Thanks to Ivan Fratric of the Google Security Team. - - *) Change: a logging level of auth_basic errors about no user/password - provided has been lowered from "error" to "info". - - *) Feature: the "proxy_cache_revalidate", "fastcgi_cache_revalidate", - "scgi_cache_revalidate", and "uwsgi_cache_revalidate" directives. - - *) Feature: the "ssl_session_ticket_key" directive. - Thanks to Piotr Sikora. - - *) Bugfix: the directive "add_header Cache-Control ''" added a - "Cache-Control" response header line with an empty value. - - *) Bugfix: the "satisfy any" directive might return 403 error instead of - 401 if auth_request and auth_basic directives were used. - Thanks to Jan Marc Hoffmann. - - *) Bugfix: the "accept_filter" and "deferred" parameters of the "listen" - directive were ignored for listen sockets created during binary - upgrade. - Thanks to Piotr Sikora. - - *) Bugfix: some data received from a backend with unbufferred proxy - might not be sent to a client immediately if "gzip" or "gunzip" - directives were used. - Thanks to Yichun Zhang. - - *) Bugfix: in error handling in ngx_http_gunzip_filter_module. - - *) Bugfix: responses might hang if the ngx_http_spdy_module was used - with the "auth_request" directive. - - *) Bugfix: memory leak in nginx/Windows. - - -Changes with nginx 1.5.6 01 Oct 2013 - - *) Feature: the "fastcgi_buffering" directive. - - *) Feature: the "proxy_ssl_protocols" and "proxy_ssl_ciphers" - directives. - Thanks to Piotr Sikora. - - *) Feature: optimization of SSL handshakes when using long certificate - chains. - - *) Feature: the mail proxy supports SMTP pipelining. - - *) Bugfix: in the ngx_http_auth_basic_module when using "$apr1$" - password encryption method. - Thanks to Markus Linnala. - - *) Bugfix: in MacOSX, Cygwin, and nginx/Windows incorrect location might - be used to process a request if locations were given using characters - in different cases. - - *) Bugfix: automatic redirect with appended trailing slash for proxied - locations might not work. - - *) Bugfix: in the mail proxy server. - - *) Bugfix: in the ngx_http_spdy_module. - - -Changes with nginx 1.5.5 17 Sep 2013 - - *) Change: now nginx assumes HTTP/1.0 by default if it is not able to - detect protocol reliably. - - *) Feature: the "disable_symlinks" directive now uses O_PATH on Linux. - - *) Feature: now nginx uses EPOLLRDHUP events to detect premature - connection close by clients if the "epoll" method is used. - - *) Bugfix: in the "valid_referers" directive if the "server_names" - parameter was used. - - *) Bugfix: the $request_time variable did not work in nginx/Windows. - - *) Bugfix: in the "image_filter" directive. - Thanks to Lanshun Zhou. - - *) Bugfix: OpenSSL 1.0.1f compatibility. - Thanks to Piotr Sikora. - - -Changes with nginx 1.5.4 27 Aug 2013 - - *) Change: the "js" extension MIME type has been changed to - "application/javascript"; default value of the "charset_types" - directive was changed accordingly. - - *) Change: now the "image_filter" directive with the "size" parameter - returns responses with the "application/json" MIME type. - - *) Feature: the ngx_http_auth_request_module. - - *) Bugfix: a segmentation fault might occur on start or during - reconfiguration if the "try_files" directive was used with an empty - parameter. - - *) Bugfix: memory leak if relative paths were specified using variables - in the "root" or "auth_basic_user_file" directives. - - *) Bugfix: the "valid_referers" directive incorrectly executed regular - expressions if a "Referer" header started with "https://". - Thanks to Liangbin Li. - - *) Bugfix: responses might hang if subrequests were used and an SSL - handshake error happened during subrequest processing. - Thanks to Aviram Cohen. - - *) Bugfix: in the ngx_http_autoindex_module. - - *) Bugfix: in the ngx_http_spdy_module. - - -Changes with nginx 1.5.3 30 Jul 2013 - - *) Change in internal API: now u->length defaults to -1 if working with - backends in unbuffered mode. - - *) Change: now after receiving an incomplete response from a backend - server nginx tries to send an available part of the response to a - client, and then closes client connection. - - *) Bugfix: a segmentation fault might occur in a worker process if the - ngx_http_spdy_module was used with the "client_body_in_file_only" - directive. - - *) Bugfix: the "so_keepalive" parameter of the "listen" directive might - be handled incorrectly on DragonFlyBSD. - Thanks to Sepherosa Ziehau. - - *) Bugfix: in the ngx_http_xslt_filter_module. - - *) Bugfix: in the ngx_http_sub_filter_module. - - -Changes with nginx 1.5.2 02 Jul 2013 - - *) Feature: now several "error_log" directives can be used. - - *) Bugfix: the $r->header_in() embedded perl method did not return value - of the "Cookie" and "X-Forwarded-For" request header lines; the bug - had appeared in 1.3.14. - - *) Bugfix: in the ngx_http_spdy_module. - Thanks to Jim Radford. - - *) Bugfix: nginx could not be built on Linux with x32 ABI. - Thanks to Serguei Ivantsov. - - -Changes with nginx 1.5.1 04 Jun 2013 - - *) Feature: the "ssi_last_modified", "sub_filter_last_modified", and - "xslt_last_modified" directives. - Thanks to Alexey Kolpakov. - - *) Feature: the "http_403" parameter of the "proxy_next_upstream", - "fastcgi_next_upstream", "scgi_next_upstream", and - "uwsgi_next_upstream" directives. - - *) Feature: the "allow" and "deny" directives now support unix domain - sockets. - - *) Bugfix: nginx could not be built with the ngx_mail_ssl_module, but - without ngx_http_ssl_module; the bug had appeared in 1.3.14. - - *) Bugfix: in the "proxy_set_body" directive. - Thanks to Lanshun Zhou. - - *) Bugfix: in the "lingering_time" directive. - Thanks to Lanshun Zhou. - - *) Bugfix: the "fail_timeout" parameter of the "server" directive in the - "upstream" context might not work if "max_fails" parameter was used; - the bug had appeared in 1.3.0. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "ssl_stapling" directive was used. - Thanks to Piotr Sikora. - - *) Bugfix: in the mail proxy server. - Thanks to Filipe Da Silva. - - *) Bugfix: nginx/Windows might stop accepting connections if several - worker processes were used. - - -Changes with nginx 1.5.0 07 May 2013 - - *) Security: a stack-based buffer overflow might occur in a worker - process while handling a specially crafted request, potentially - resulting in arbitrary code execution (CVE-2013-2028); the bug had - appeared in 1.3.9. - Thanks to Greg MacManus, iSIGHT Partners Labs. - - -Changes with nginx 1.4.0 24 Apr 2013 - - *) Bugfix: nginx could not be built with the ngx_http_perl_module if the - --with-openssl option was used; the bug had appeared in 1.3.16. - - *) Bugfix: in a request body handling in the ngx_http_perl_module; the - bug had appeared in 1.3.9. - - -Changes with nginx 1.3.16 16 Apr 2013 - - *) Bugfix: a segmentation fault might occur in a worker process if - subrequests were used; the bug had appeared in 1.3.9. - - *) Bugfix: the "tcp_nodelay" directive caused an error if a WebSocket - connection was proxied into a unix domain socket. - - *) Bugfix: the $upstream_response_length variable has an incorrect value - "0" if buffering was not used. - Thanks to Piotr Sikora. - - *) Bugfix: in the eventport and /dev/poll methods. - - -Changes with nginx 1.3.15 26 Mar 2013 - - *) Change: opening and closing a connection without sending any data in - it is no longer logged to access_log with error code 400. - - *) Feature: the ngx_http_spdy_module. - Thanks to Automattic for sponsoring this work. - - *) Feature: the "limit_req_status" and "limit_conn_status" directives. - Thanks to Nick Marden. - - *) Feature: the "image_filter_interlace" directive. - Thanks to Ian Babrou. - - *) Feature: $connections_waiting variable in the - ngx_http_stub_status_module. - - *) Feature: the mail proxy module now supports IPv6 backends. - - *) Bugfix: request body might be transmitted incorrectly when retrying a - request to the next upstream server; the bug had appeared in 1.3.9. - Thanks to Piotr Sikora. - - *) Bugfix: in the "client_body_in_file_only" directive; the bug had - appeared in 1.3.9. - - *) Bugfix: responses might hang if subrequests were used and a DNS error - happened during subrequest processing. - Thanks to Lanshun Zhou. - - *) Bugfix: in backend usage accounting. - - -Changes with nginx 1.3.14 05 Mar 2013 - - *) Feature: $connections_active, $connections_reading, and - $connections_writing variables in the ngx_http_stub_status_module. - - *) Feature: support of WebSocket connections in the - ngx_http_uwsgi_module and ngx_http_scgi_module. - - *) Bugfix: in virtual servers handling with SNI. - - *) Bugfix: new sessions were not always stored if the "ssl_session_cache - shared" directive was used and there was no free space in shared - memory. - Thanks to Piotr Sikora. - - *) Bugfix: multiple X-Forwarded-For headers were handled incorrectly. - Thanks to Neal Poole for sponsoring this work. - - *) Bugfix: in the ngx_http_mp4_module. - Thanks to Gernot Vormayr. - - -Changes with nginx 1.3.13 19 Feb 2013 - - *) Change: a compiler with name "cc" is now used by default. - - *) Feature: support for proxying of WebSocket connections. - Thanks to Apcera and CloudBees for sponsoring this work. - - *) Feature: the "auth_basic_user_file" directive supports "{SHA}" - password encryption method. - Thanks to Louis Opter. - - -Changes with nginx 1.3.12 05 Feb 2013 - - *) Feature: variables support in the "proxy_bind", "fastcgi_bind", - "memcached_bind", "scgi_bind", and "uwsgi_bind" directives. - - *) Feature: the $pipe, $request_length, $time_iso8601, and $time_local - variables can now be used not only in the "log_format" directive. - Thanks to Kiril Kalchev. - - *) Feature: IPv6 support in the ngx_http_geoip_module. - Thanks to Gregor Kališnik. - - *) Bugfix: in the "proxy_method" directive. - - *) Bugfix: a segmentation fault might occur in a worker process if - resolver was used with the poll method. - - *) Bugfix: nginx might hog CPU during SSL handshake with a backend if - the select, poll, or /dev/poll methods were used. - - *) Bugfix: the "[crit] SSL_write() failed (SSL:)" error. - - *) Bugfix: in the "client_body_in_file_only" directive; the bug had - appeared in 1.3.9. - - *) Bugfix: in the "fastcgi_keep_conn" directive. - - -Changes with nginx 1.3.11 10 Jan 2013 - - *) Bugfix: a segmentation fault might occur if logging was used; the bug - had appeared in 1.3.10. - - *) Bugfix: the "proxy_pass" directive did not work with IP addresses - without port specified; the bug had appeared in 1.3.10. - - *) Bugfix: a segmentation fault occurred on start or during - reconfiguration if the "keepalive" directive was specified more than - once in a single upstream block. - - *) Bugfix: parameter "default" of the "geo" directive did not set - default value for IPv6 addresses. - - -Changes with nginx 1.3.10 25 Dec 2012 - - *) Change: domain names specified in configuration file are now resolved - to IPv6 addresses as well as IPv4 ones. - - *) Change: now if the "include" directive with mask is used on Unix - systems, included files are sorted in alphabetical order. - - *) Change: the "add_header" directive adds headers to 201 responses. - - *) Feature: the "geo" directive now supports IPv6 addresses in CIDR - notation. - - *) Feature: the "flush" and "gzip" parameters of the "access_log" - directive. - - *) Feature: variables support in the "auth_basic" directive. - - *) Bugfix: nginx could not be built with the ngx_http_perl_module in - some cases. - - *) Bugfix: a segmentation fault might occur in a worker process if the - ngx_http_xslt_module was used. - - *) Bugfix: nginx could not be built on MacOSX in some cases. - Thanks to Piotr Sikora. - - *) Bugfix: the "limit_rate" directive with high rates might result in - truncated responses on 32-bit platforms. - Thanks to Alexey Antropov. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "if" directive was used. - Thanks to Piotr Sikora. - - *) Bugfix: a "100 Continue" response was issued with "413 Request Entity - Too Large" responses. - - *) Bugfix: the "image_filter", "image_filter_jpeg_quality" and - "image_filter_sharpen" directives might be inherited incorrectly. - Thanks to Ian Babrou. - - *) Bugfix: "crypt_r() failed" errors might appear if the "auth_basic" - directive was used on Linux. - - *) Bugfix: in backup servers handling. - Thanks to Thomas Chen. - - *) Bugfix: proxied HEAD requests might return incorrect response if the - "gzip" directive was used. - - -Changes with nginx 1.3.9 27 Nov 2012 - - *) Feature: support for chunked transfer encoding while reading client - request body. - - *) Feature: the $request_time and $msec variables can now be used not - only in the "log_format" directive. - - *) Bugfix: cache manager and cache loader processes might not be able to - start if more than 512 listen sockets were used. - - *) Bugfix: in the ngx_http_dav_module. - - -Changes with nginx 1.3.8 30 Oct 2012 - - *) Feature: the "optional_no_ca" parameter of the "ssl_verify_client" - directive. - Thanks to Mike Kazantsev and Eric O'Connor. - - *) Feature: the $bytes_sent, $connection, and $connection_requests - variables can now be used not only in the "log_format" directive. - Thanks to Benjamin Grössing. - - *) Feature: the "auto" parameter of the "worker_processes" directive. - - *) Bugfix: "cache file ... has md5 collision" alert. - - *) Bugfix: in the ngx_http_gunzip_filter_module. - - *) Bugfix: in the "ssl_stapling" directive. - - -Changes with nginx 1.3.7 02 Oct 2012 - - *) Feature: OCSP stapling support. - Thanks to Comodo, DigiCert and GlobalSign for sponsoring this work. - - *) Feature: the "ssl_trusted_certificate" directive. - - *) Feature: resolver now randomly rotates addresses returned from cache. - Thanks to Anton Jouline. - - *) Bugfix: OpenSSL 0.9.7 compatibility. - - -Changes with nginx 1.3.6 12 Sep 2012 - - *) Feature: the ngx_http_gunzip_filter_module. - - *) Feature: the "memcached_gzip_flag" directive. - - *) Feature: the "always" parameter of the "gzip_static" directive. - - *) Bugfix: in the "limit_req" directive; the bug had appeared in 1.1.14. - Thanks to Charles Chen. - - *) Bugfix: nginx could not be built by gcc 4.7 with -O2 optimization if - the --with-ipv6 option was used. - - -Changes with nginx 1.3.5 21 Aug 2012 - - *) Change: the ngx_http_mp4_module module no longer skips tracks in - formats other than H.264 and AAC. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "map" directive was used with variables as values. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "geo" directive was used with the "ranges" parameter but without the - "default" parameter; the bug had appeared in 0.8.43. - Thanks to Zhen Chen and Weibin Yao. - - *) Bugfix: in the -p command-line parameter handling. - - *) Bugfix: in the mail proxy server. - - *) Bugfix: of minor potential bugs. - Thanks to Coverity. - - *) Bugfix: nginx/Windows could not be built with Visual Studio 2005 - Express. - Thanks to HAYASHI Kentaro. - - -Changes with nginx 1.3.4 31 Jul 2012 - - *) Change: the "ipv6only" parameter is now turned on by default for - listening IPv6 sockets. - - *) Feature: the Clang compiler support. - - *) Bugfix: extra listening sockets might be created. - Thanks to Roman Odaisky. - - *) Bugfix: nginx/Windows might hog CPU if a worker process failed to - start. - Thanks to Ricardo Villalobos Guevara. - - *) Bugfix: the "proxy_pass_header", "fastcgi_pass_header", - "scgi_pass_header", "uwsgi_pass_header", "proxy_hide_header", - "fastcgi_hide_header", "scgi_hide_header", and "uwsgi_hide_header" - directives might be inherited incorrectly. - - -Changes with nginx 1.3.3 10 Jul 2012 - - *) Feature: entity tags support and the "etag" directive. - - *) Bugfix: trailing dot in a source value was not ignored if the "map" - directive was used with the "hostnames" parameter. - - *) Bugfix: incorrect location might be used to process a request if a - URI was changed via a "rewrite" directive before an internal redirect - to a named location. - - -Changes with nginx 1.3.2 26 Jun 2012 - - *) Change: the "single" parameter of the "keepalive" directive is now - ignored. - - *) Change: SSL compression is now disabled when using all versions of - OpenSSL, including ones prior to 1.0.0. - - *) Feature: it is now possible to use the "ip_hash" directive to balance - IPv6 clients. - - *) Feature: the $status variable can now be used not only in the - "log_format" directive. - - *) Bugfix: a segmentation fault might occur in a worker process on - shutdown if the "resolver" directive was used. - - *) Bugfix: a segmentation fault might occur in a worker process if the - ngx_http_mp4_module was used. - - *) Bugfix: in the ngx_http_mp4_module. - - *) Bugfix: a segmentation fault might occur in a worker process if - conflicting wildcard server names were used. - - *) Bugfix: nginx might be terminated abnormally on a SIGBUS signal on - ARM platform. - - *) Bugfix: an alert "sendmsg() failed (9: Bad file number)" on HP-UX - while reconfiguration. - - -Changes with nginx 1.3.1 05 Jun 2012 - - *) Security: now nginx/Windows ignores trailing dot in URI path - component, and does not allow URIs with ":$" in it. - Thanks to Vladimir Kochetkov, Positive Research Center. - - *) Feature: the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass" - directives, and the "server" directive inside the "upstream" block, - now support IPv6 addresses. - - *) Feature: the "resolver" directive now supports IPv6 addresses and an - optional port specification. - - *) Feature: the "least_conn" directive inside the "upstream" block. - - *) Feature: it is now possible to specify a weight for servers while - using the "ip_hash" directive. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "image_filter" directive was used; the bug had appeared in 1.3.0. - - *) Bugfix: nginx could not be built with ngx_cpp_test_module; the bug - had appeared in 1.1.12. - - *) Bugfix: access to variables from SSI and embedded perl module might - not work after reconfiguration. - Thanks to Yichun Zhang. - - *) Bugfix: in the ngx_http_xslt_filter_module. - Thanks to Kuramoto Eiji. - - *) Bugfix: memory leak if $geoip_org variable was used. - Thanks to Denis F. Latypoff. - - *) Bugfix: in the "proxy_cookie_domain" and "proxy_cookie_path" - directives. - - -Changes with nginx 1.3.0 15 May 2012 - - *) Feature: the "debug_connection" directive now supports IPv6 addresses - and the "unix:" parameter. - - *) Feature: the "set_real_ip_from" directive and the "proxy" parameter - of the "geo" directive now support IPv6 addresses. - - *) Feature: the "real_ip_recursive", "geoip_proxy", and - "geoip_proxy_recursive" directives. - - *) Feature: the "proxy_recursive" parameter of the "geo" directive. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "resolver" directive was used. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used and - backend returned incorrect response. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "rewrite" directive was used and new request arguments in a - replacement used variables. - - *) Bugfix: nginx might hog CPU if the open file resource limit was - reached. - - *) Bugfix: nginx might loop infinitely over backends if the - "proxy_next_upstream" directive with the "http_404" parameter was - used and there were backup servers specified in an upstream block. - - *) Bugfix: adding the "down" parameter of the "server" directive might - cause unneeded client redistribution among backend servers if the - "ip_hash" directive was used. - - *) Bugfix: socket leak. - Thanks to Yichun Zhang. - - *) Bugfix: in the ngx_http_fastcgi_module. - - -Changes with nginx 1.2.0 23 Apr 2012 - - *) Bugfix: a segmentation fault might occur in a worker process if the - "try_files" directive was used; the bug had appeared in 1.1.19. - - *) Bugfix: response might be truncated if there were more than IOV_MAX - buffers used. - - *) Bugfix: in the "crop" parameter of the "image_filter" directive. - Thanks to Maxim Bublis. - - -Changes with nginx 1.1.19 12 Apr 2012 - - *) Security: specially crafted mp4 file might allow to overwrite memory - locations in a worker process if the ngx_http_mp4_module was used, - potentially resulting in arbitrary code execution (CVE-2012-2089). - Thanks to Matthew Daley. - - *) Bugfix: nginx/Windows might be terminated abnormally. - Thanks to Vincent Lee. - - *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as - "backup". - - *) Bugfix: the "allow" and "deny" directives might be inherited - incorrectly if they were used with IPv6 addresses. - - *) Bugfix: the "modern_browser" and "ancient_browser" directives might - be inherited incorrectly. - - *) Bugfix: timeouts might be handled incorrectly on Solaris/SPARC. - - *) Bugfix: in the ngx_http_mp4_module. - - -Changes with nginx 1.1.18 28 Mar 2012 - - *) Change: keepalive connections are no longer disabled for Safari by - default. - - *) Feature: the $connection_requests variable. - - *) Feature: $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and - $tcpinfo_rcv_space variables. - - *) Feature: the "worker_cpu_affinity" directive now works on FreeBSD. - - *) Feature: the "xslt_param" and "xslt_string_param" directives. - Thanks to Samuel Behan. - - *) Bugfix: in configure tests. - Thanks to Piotr Sikora. - - *) Bugfix: in the ngx_http_xslt_filter_module. - - *) Bugfix: nginx could not be built on Debian GNU/Hurd. - - -Changes with nginx 1.1.17 15 Mar 2012 - - *) Security: content of previously freed memory might be sent to a - client if backend returned specially crafted response. - Thanks to Matthew Daley. - - *) Bugfix: in the embedded perl module if used from SSI. - Thanks to Matthew Daley. - - *) Bugfix: in the ngx_http_uwsgi_module. - - -Changes with nginx 1.1.16 29 Feb 2012 - - *) Change: the simultaneous subrequest limit has been raised to 200. - - *) Feature: the "from" parameter of the "disable_symlinks" directive. - - *) Feature: the "return" and "error_page" directives can now be used to - return 307 redirections. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "resolver" directive was used and there was no "error_log" directive - specified at global level. - Thanks to Roman Arutyunyan. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "proxy_http_version 1.1" or "fastcgi_keep_conn on" directives were - used. - - *) Bugfix: memory leaks. - Thanks to Lanshun Zhou. - - *) Bugfix: in the "disable_symlinks" directive. - - *) Bugfix: on ZFS filesystem disk cache size might be calculated - incorrectly; the bug had appeared in 1.0.1. - - *) Bugfix: nginx could not be built by the icc 12.1 compiler. - - *) Bugfix: nginx could not be built by gcc on Solaris; the bug had - appeared in 1.1.15. - - -Changes with nginx 1.1.15 15 Feb 2012 - - *) Feature: the "disable_symlinks" directive. - - *) Feature: the "proxy_cookie_domain" and "proxy_cookie_path" - directives. - - *) Bugfix: nginx might log incorrect error "upstream prematurely closed - connection" instead of correct "upstream sent too big header" one. - Thanks to Feibo Li. - - *) Bugfix: nginx could not be built with the ngx_http_perl_module if the - --with-openssl option was used. - - *) Bugfix: the number of internal redirects to named locations was not - limited. - - *) Bugfix: calling $r->flush() multiple times might cause errors in the - ngx_http_gzip_filter_module. - - *) Bugfix: temporary files might be not removed if the "proxy_store" - directive was used with SSI includes. - - *) Bugfix: in some cases non-cacheable variables (such as the $args - variable) returned old empty cached value. - - *) Bugfix: a segmentation fault might occur in a worker process if too - many SSI subrequests were issued simultaneously; the bug had appeared - in 0.7.25. - - -Changes with nginx 1.1.14 30 Jan 2012 - - *) Feature: multiple "limit_req" limits may be used simultaneously. - - *) Bugfix: in error handling while connecting to a backend. - Thanks to Piotr Sikora. - - *) Bugfix: in AIO error handling on FreeBSD. - - *) Bugfix: in the OpenSSL library initialization. - - *) Bugfix: the "proxy_redirect" directives might be inherited - incorrectly. - - *) Bugfix: memory leak during reconfiguration if the "pcre_jit" - directive was used. - - -Changes with nginx 1.1.13 16 Jan 2012 - - *) Feature: the "TLSv1.1" and "TLSv1.2" parameters of the - "ssl_protocols" directive. - - *) Bugfix: the "limit_req" directive parameters were not inherited - correctly; the bug had appeared in 1.1.12. - - *) Bugfix: the "proxy_redirect" directive incorrectly processed - "Refresh" header if regular expression were used. - - *) Bugfix: the "proxy_cache_use_stale" directive with "error" parameter - did not return answer from cache if there were no live upstreams. - - *) Bugfix: the "worker_cpu_affinity" directive might not work. - - *) Bugfix: nginx could not be built on Solaris; the bug had appeared in - 1.1.12. - - *) Bugfix: in the ngx_http_mp4_module. - - -Changes with nginx 1.1.12 26 Dec 2011 - - *) Change: a "proxy_pass" directive without URI part now uses changed - URI after redirection with the "error_page" directive. - Thanks to Lanshun Zhou. - - *) Feature: the "proxy/fastcgi/scgi/uwsgi_cache_lock", - "proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives. - - *) Feature: the "pcre_jit" directive. - - *) Feature: the "if" SSI command supports captures in regular - expressions. - - *) Bugfix: the "if" SSI command did not work inside the "block" command. - - *) Bugfix: the "limit_conn_log_level" and "limit_req_log_level" - directives might not work. - - *) Bugfix: the "limit_rate" directive did not allow to use full - throughput, even if limit value was very high. - - *) Bugfix: the "sendfile_max_chunk" directive did not work, if the - "limit_rate" directive was used. - - *) Bugfix: a "proxy_pass" directive without URI part always used - original request URI if variables were used. - - *) Bugfix: a "proxy_pass" directive without URI part might use original - request after redirection with the "try_files" directive. - Thanks to Lanshun Zhou. - - *) Bugfix: in the ngx_http_scgi_module. - - *) Bugfix: in the ngx_http_mp4_module. - - *) Bugfix: nginx could not be built on Solaris; the bug had appeared in - 1.1.9. - - -Changes with nginx 1.1.11 12 Dec 2011 - - *) Feature: the "so_keepalive" parameter of the "listen" directive. - Thanks to Vsevolod Stakhov. - - *) Feature: the "if_not_empty" parameter of the - "fastcgi/scgi/uwsgi_param" directives. - - *) Feature: the $https variable. - - *) Feature: the "proxy_redirect" directive supports variables in the - first parameter. - - *) Feature: the "proxy_redirect" directive supports regular expressions. - - *) Bugfix: the $sent_http_cache_control variable might contain a wrong - value if the "expires" directive was used. - Thanks to Yichun Zhang. - - *) Bugfix: the "read_ahead" directive might not work combined with - "try_files" and "open_file_cache". - - *) Bugfix: a segmentation fault might occur in a worker process if small - time was used in the "inactive" parameter of the "proxy_cache_path" - directive. - - *) Bugfix: responses from cache might hang. - - -Changes with nginx 1.1.10 30 Nov 2011 - - *) Bugfix: a segmentation fault occurred in a worker process if AIO was - used on Linux; the bug had appeared in 1.1.9. - - -Changes with nginx 1.1.9 28 Nov 2011 - - *) Change: now double quotes are encoded in an "echo" SSI-command - output. - Thanks to Zaur Abasmirzoev. - - *) Feature: the "valid" parameter of the "resolver" directive. By - default TTL returned by a DNS server is used. - Thanks to Kirill A. Korinskiy. - - *) Bugfix: nginx might hang after a worker process abnormal termination. - - *) Bugfix: a segmentation fault might occur in a worker process if SNI - was used; the bug had appeared in 1.1.2. - - *) Bugfix: in the "keepalive_disable" directive; the bug had appeared in - 1.1.8. - Thanks to Alexander Usov. - - *) Bugfix: SIGWINCH signal did not work after first binary upgrade; the - bug had appeared in 1.1.1. - - *) Bugfix: backend responses with length not matching "Content-Length" - header line are no longer cached. - - *) Bugfix: in the "scgi_param" directive, if complex parameters were - used. - - *) Bugfix: in the "epoll" event method. - Thanks to Yichun Zhang. - - *) Bugfix: in the ngx_http_flv_module. - Thanks to Piotr Sikora. - - *) Bugfix: in the ngx_http_mp4_module. - - *) Bugfix: IPv6 addresses are now handled properly in a request line and - in a "Host" request header line. - - *) Bugfix: "add_header" and "expires" directives did not work if a - request was proxied and response status code was 206. - - *) Bugfix: nginx could not be built on FreeBSD 10. - - *) Bugfix: nginx could not be built on AIX. - - -Changes with nginx 1.1.8 14 Nov 2011 - - *) Change: the ngx_http_limit_zone_module was renamed to the - ngx_http_limit_conn_module. - - *) Change: the "limit_zone" directive was superseded by the - "limit_conn_zone" directive with a new syntax. - - *) Feature: support for multiple "limit_conn" limits on the same level. - - *) Feature: the "image_filter_sharpen" directive. - - *) Bugfix: a segmentation fault might occur in a worker process if - resolver got a big DNS response. - Thanks to Ben Hawkes. - - *) Bugfix: in cache key calculation if internal MD5 implementation was - used; the bug had appeared in 1.0.4. - - *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request - header lines might be passed to backend while caching; or not passed - without caching if caching was enabled in another part of the - configuration. - - *) Bugfix: the module ngx_http_mp4_module sent incorrect - "Content-Length" response header line if the "start" argument was - used. - Thanks to Piotr Sikora. - - -Changes with nginx 1.1.7 31 Oct 2011 - - *) Feature: support of several DNS servers in the "resolver" directive. - Thanks to Kirill A. Korinskiy. - - *) Bugfix: a segmentation fault occurred on start or during - reconfiguration if the "ssl" directive was used at http level and - there was no "ssl_certificate" defined. - - *) Bugfix: reduced memory consumption while proxying big files if they - were buffered to disk. - - *) Bugfix: a segmentation fault might occur in a worker process if - "proxy_http_version 1.1" directive was used. - - *) Bugfix: in the "expires @time" directive. - - -Changes with nginx 1.1.6 17 Oct 2011 - - *) Change in internal API: now module context data are cleared while - internal redirect to named location. - Requested by Yichun Zhang. - - *) Change: if a server in an upstream failed, only one request will be - sent to it after fail_timeout; the server will be considered alive if - it will successfully respond to the request. - - *) Change: now the 0x7F-0xFF characters are escaped as \xXX in an - access_log. - - *) Feature: "proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support - the following additional values: X-Accel-Limit-Rate, - X-Accel-Buffering, X-Accel-Charset. - - *) Feature: decrease of memory consumption if SSL is used. - - *) Bugfix: some UTF-8 characters were processed incorrectly. - Thanks to Alexey Kuts. - - *) Bugfix: the ngx_http_rewrite_module directives specified at "server" - level were executed twice if no matching locations were defined. - - *) Bugfix: a socket leak might occurred if "aio sendfile" was used. - - *) Bugfix: connections with fast clients might be closed after - send_timeout if file AIO was used. - - *) Bugfix: in the ngx_http_autoindex_module. - - *) Bugfix: the module ngx_http_mp4_module did not support seeking on - 32-bit platforms. - - -Changes with nginx 1.1.5 05 Oct 2011 - - *) Feature: the "uwsgi_buffering" and "scgi_buffering" directives. - Thanks to Peter Smit. - - *) Bugfix: non-cacheable responses might be cached if - "proxy_cache_bypass" directive was used. - Thanks to John Ferlito. - - *) Bugfix: in HTTP/1.1 support in the ngx_http_proxy_module. - - *) Bugfix: cached responses with an empty body were returned - incorrectly; the bug had appeared in 0.8.31. - - *) Bugfix: 201 responses of the ngx_http_dav_module were incorrect; the - bug had appeared in 0.8.32. - - *) Bugfix: in the "return" directive. - - *) Bugfix: the "ssl_session_cache builtin" directive caused segmentation - fault; the bug had appeared in 1.1.1. - - -Changes with nginx 1.1.4 20 Sep 2011 - - *) Feature: the ngx_http_upstream_keepalive module. - - *) Feature: the "proxy_http_version" directive. - - *) Feature: the "fastcgi_keep_conn" directive. - - *) Feature: the "worker_aio_requests" directive. - - *) Bugfix: if nginx was built --with-file-aio it could not be run on - Linux kernel which did not support AIO. - - *) Bugfix: in Linux AIO error processing. - Thanks to Hagai Avrahami. - - *) Bugfix: reduced memory consumption for long-lived requests. - - *) Bugfix: the module ngx_http_mp4_module did not support 64-bit MP4 - "co64" atom. - - -Changes with nginx 1.1.3 14 Sep 2011 - - *) Feature: the module ngx_http_mp4_module. - - *) Bugfix: in Linux AIO combined with open_file_cache. - - *) Bugfix: open_file_cache did not update file info on retest if file - was not atomically changed. - - *) Bugfix: nginx could not be built on MacOSX 10.7. - - -Changes with nginx 1.1.2 05 Sep 2011 - - *) Change: now if total size of all ranges is greater than source - response size, then nginx disables ranges and returns just the source - response. - - *) Feature: the "max_ranges" directive. - - *) Bugfix: the "ssl_verify_client", "ssl_verify_depth", and - "ssl_prefer_server_ciphers" directives might work incorrectly if SNI - was used. - - *) Bugfix: in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort" - directives. - - -Changes with nginx 1.1.1 22 Aug 2011 - - *) Change: now cache loader processes either as many files as specified - by "loader_files" parameter or works no longer than time specified by - the "loader_threshold" parameter during each iteration. - - *) Change: now SIGWINCH signal works only in daemon mode. - - *) Feature: now shared zones and caches use POSIX semaphores on Solaris. - Thanks to Den Ivanov. - - *) Feature: accept filters are now supported on NetBSD. - - *) Bugfix: nginx could not be built on Linux 3.0. - - *) Bugfix: nginx did not use gzipping in some cases; the bug had - appeared in 1.1.0. - - *) Bugfix: request body might be processed incorrectly if client used - pipelining. - - *) Bugfix: in the "request_body_in_single_buf" directive. - - *) Bugfix: in "proxy_set_body" and "proxy_pass_request_body" directives - if SSL connection to backend was used. - - *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as - "down". - - *) Bugfix: a segmentation fault might occur during reconfiguration if - ssl_session_cache was defined but not used in previous configuration. - - *) Bugfix: a segmentation fault might occur in a worker process if many - backup servers were used in an upstream. - - *) Bugfix: a segmentation fault might occur in a worker process if - "fastcgi/scgi/uwsgi_param" directives were used with values starting - with "HTTP_"; the bug had appeared in 0.8.40. - - -Changes with nginx 1.1.0 01 Aug 2011 - - *) Feature: cache loader run time decrease. - - *) Feature: "loader_files", "loader_sleep", and "loader_threshold" - options of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives. - - *) Feature: loading time decrease of configuration with large number of - HTTPS sites. - - *) Feature: now nginx supports ECDHE key exchange ciphers. - Thanks to Adrian Kotelba. - - *) Feature: the "lingering_close" directive. - Thanks to Maxim Dounin. - - *) Bugfix: in closing connection for pipelined requests. - Thanks to Maxim Dounin. - - *) Bugfix: nginx did not disable gzipping if client sent "gzip;q=0" in - "Accept-Encoding" request header line. - - *) Bugfix: in timeout in unbuffered proxied mode. - Thanks to Maxim Dounin. - - *) Bugfix: memory leaks when a "proxy_pass" directive contains variables - and proxies to an HTTPS backend. - Thanks to Maxim Dounin. - - *) Bugfix: in parameter validation of a "proxy_pass" directive with - variables. - Thanks to Lanshun Zhou. - - *) Bugfix: SSL did not work on QNX. - Thanks to Maxim Dounin. - - *) Bugfix: SSL modules could not be built by gcc 4.6 without - --with-debug option. - - -Changes with nginx 1.0.5 19 Jul 2011 - - *) Change: now default SSL ciphers are "HIGH:!aNULL:!MD5". - Thanks to Rob Stradling. - - *) Feature: the "referer_hash_max_size" and "referer_hash_bucket_size" - directives. - Thanks to Witold Filipczyk. - - *) Feature: $uid_reset variable. - - *) Bugfix: a segmentation fault might occur in a worker process, if a - caching was used. - Thanks to Lanshun Zhou. - - *) Bugfix: worker processes may got caught in an endless loop during - reconfiguration, if a caching was used; the bug had appeared in - 0.8.48. - Thanks to Maxim Dounin. - - *) Bugfix: "stalled cache updating" alert. - Thanks to Maxim Dounin. - - -Changes with nginx 1.0.4 01 Jun 2011 - - *) Change: now regular expressions case sensitivity in the "map" - directive is given by prefixes "~" or "~*". - - *) Feature: now shared zones and caches use POSIX semaphores on Linux. - Thanks to Denis F. Latypoff. - - *) Bugfix: "stalled cache updating" alert. - - *) Bugfix: nginx could not be built --without-http_auth_basic_module; - the bug had appeared in 1.0.3. - - -Changes with nginx 1.0.3 25 May 2011 - - *) Feature: the "auth_basic_user_file" directive supports "$apr1", - "{PLAIN}", and "{SSHA}" password encryption methods. - Thanks to Maxim Dounin. - - *) Feature: the "geoip_org" directive and $geoip_org variable. - Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff. - - *) Feature: ngx_http_geo_module and ngx_http_geoip_module support IPv4 - addresses mapped to IPv6 addresses. - - *) Bugfix: a segmentation fault occurred in a worker process during - testing IPv4 address mapped to IPv6 address, if access or deny rules - were defined only for IPv6; the bug had appeared in 0.8.22. - - *) Bugfix: a cached response may be broken if "proxy/fastcgi/scgi/ - uwsgi_cache_bypass" and "proxy/fastcgi/scgi/uwsgi_no_cache" directive - values were different; the bug had appeared in 0.8.46. - - -Changes with nginx 1.0.2 10 May 2011 - - *) Feature: now shared zones and caches use POSIX semaphores. - - *) Bugfix: in the "rotate" parameter of the "image_filter" directive. - Thanks to Adam Bocim. - - *) Bugfix: nginx could not be built on Solaris; the bug had appeared in - 1.0.1. - - -Changes with nginx 1.0.1 03 May 2011 - - *) Change: now the "split_clients" directive uses MurmurHash2 algorithm - because of better distribution. - Thanks to Oleg Mamontov. - - *) Change: now long strings starting with zero are not considered as - false values. - Thanks to Maxim Dounin. - - *) Change: now nginx uses a default listen backlog value 511 on Linux. - - *) Feature: the $upstream_... variables may be used in the SSI and perl - modules. - - *) Bugfix: now nginx limits better disk cache size. - Thanks to Oleg Mamontov. - - *) Bugfix: a segmentation fault might occur while parsing incorrect IPv4 - address; the bug had appeared in 0.9.3. - Thanks to Maxim Dounin. - - *) Bugfix: nginx could not be built by gcc 4.6 without --with-debug - option. - - *) Bugfix: nginx could not be built on Solaris 9 and earlier; the bug - had appeared in 0.9.3. - Thanks to Dagobert Michelsen. - - *) Bugfix: $request_time variable had invalid values if subrequests were - used; the bug had appeared in 0.8.47. - Thanks to Igor A. Valcov. - - -Changes with nginx 1.0.0 12 Apr 2011 - - *) Bugfix: a cache manager might hog CPU after reload. - Thanks to Maxim Dounin. - - *) Bugfix: an "image_filter crop" directive worked incorrectly coupled - with an "image_filter rotate 180" directive. - - *) Bugfix: a "satisfy any" directive disabled custom 401 error page. - - -Changes with nginx 0.9.7 04 Apr 2011 - - *) Feature: now keepalive connections may be closed premature, if there - are no free worker connections. - Thanks to Maxim Dounin. - - *) Feature: the "rotate" parameter of the "image_filter" directive. - Thanks to Adam Bocim. - - *) Bugfix: a case when a backend in "fastcgi_pass", "scgi_pass", or - "uwsgi_pass" directives is given by expression and refers to a - defined upstream. - - -Changes with nginx 0.9.6 21 Mar 2011 - - *) Feature: the "map" directive supports regular expressions as value of - the first parameter. - - *) Feature: $time_iso8601 access_log variable. - Thanks to Michael Lustfield. - - -Changes with nginx 0.9.5 21 Feb 2011 - - *) Change: now nginx uses a default listen backlog value -1 on Linux. - Thanks to Andrei Nigmatulin. - - *) Feature: the "utf8" parameter of "geoip_country" and "geoip_city" - directives. - Thanks to Denis F. Latypoff. - - *) Bugfix: in a default "proxy_redirect" directive if "proxy_pass" - directive has no URI part. - Thanks to Maxim Dounin. - - *) Bugfix: an "error_page" directive did not work with nonstandard error - codes; the bug had appeared in 0.8.53. - Thanks to Maxim Dounin. - - -Changes with nginx 0.9.4 21 Jan 2011 - - *) Feature: the "server_name" directive supports the $hostname variable. - - *) Feature: 494 code for "Request Header Too Large" error. - - -Changes with nginx 0.9.3 13 Dec 2010 - - *) Bugfix: if there was a single server for given IPv6 address:port - pair, then captures in regular expressions in a "server_name" - directive did not work. - - *) Bugfix: nginx could not be built on Solaris; the bug had appeared in - 0.9.0. - - -Changes with nginx 0.9.2 06 Dec 2010 - - *) Feature: the "If-Unmodified-Since" client request header line - support. - - *) Workaround: fallback to accept() syscall if accept4() was not - implemented; the issue had appeared in 0.9.0. - - *) Bugfix: nginx could not be built on Cygwin; the bug had appeared in - 0.9.0. - - *) Bugfix: for OpenSSL vulnerability CVE-2010-4180. - Thanks to Maxim Dounin. - - -Changes with nginx 0.9.1 30 Nov 2010 - - *) Bugfix: "return CODE message" directives did not work; the bug had - appeared in 0.9.0. - - -Changes with nginx 0.9.0 29 Nov 2010 - - *) Feature: the "keepalive_disable" directive. - - *) Feature: the "map" directive supports variables as value of a defined - variable. - - *) Feature: the "map" directive supports empty strings as value of the - first parameter. - - *) Feature: the "map" directive supports expressions as the first - parameter. - - *) Feature: nginx(8) manual page. - Thanks to Sergey Osokin. - - *) Feature: Linux accept4() support. - Thanks to Simon Liu. - - *) Workaround: elimination of Linux linker warning about "sys_errlist" - and "sys_nerr"; the warning had appeared in 0.8.35. - - *) Bugfix: a segmentation fault might occur in a worker process, if the - "auth_basic" directive was used. - Thanks to Michail Laletin. - - *) Bugfix: compatibility with ngx_http_eval_module; the bug had appeared - in 0.8.42. - - -Changes with nginx 0.8.53 18 Oct 2010 - - *) Feature: now the "error_page" directive allows to change a status - code in a redirect. - - *) Feature: the "gzip_disable" directive supports special "degradation" - mask. - - *) Bugfix: a socket leak might occurred if file AIO was used. - Thanks to Maxim Dounin. - - *) Bugfix: if the first server had no "listen" directive and there was - no explicit default server, then a next server with a "listen" - directive became the default server; the bug had appeared in 0.8.21. - - -Changes with nginx 0.8.52 28 Sep 2010 - - *) Bugfix: nginx used SSL mode for a listen socket if any listen option - was set; the bug had appeared in 0.8.51. - - -Changes with nginx 0.8.51 27 Sep 2010 - - *) Change: the "secure_link_expires" directive has been canceled. - - *) Change: a logging level of resolver errors has been lowered from - "alert" to "error". - - *) Feature: now a listen socket "ssl" parameter may be set several - times. - - -Changes with nginx 0.8.50 02 Sep 2010 - - *) Feature: the "secure_link", "secure_link_md5", and - "secure_link_expires" directives of the ngx_http_secure_link_module. - - *) Feature: the -q switch. - Thanks to Gena Makhomed. - - *) Bugfix: worker processes may got caught in an endless loop during - reconfiguration, if a caching was used; the bug had appeared in - 0.8.48. - - *) Bugfix: in the "gzip_disable" directive. - Thanks to Derrick Petzold. - - *) Bugfix: nginx/Windows could not send stop, quit, reopen, and reload - signals to a process run in other session. - - -Changes with nginx 0.8.49 09 Aug 2010 - - *) Feature: the "image_filter_jpeg_quality" directive supports - variables. - - *) Bugfix: a segmentation fault might occur in a worker process, if the - $geoip_region_name variables was used; the bug had appeared in - 0.8.48. - - *) Bugfix: errors intercepted by error_page were cached only for next - request; the bug had appeared in 0.8.48. - - -Changes with nginx 0.8.48 03 Aug 2010 - - *) Change: now the "server_name" directive default value is an empty - name "". - Thanks to Gena Makhomed. - - *) Change: now the "server_name_in_redirect" directive default value is - "off". - - *) Feature: the $geoip_dma_code, $geoip_area_code, and - $geoip_region_name variables. - Thanks to Christine McGonagle. - - *) Bugfix: the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and - "scgi_pass" directives were not inherited inside "limit_except" - blocks. - - *) Bugfix: the "proxy_cache_min_uses", "fastcgi_cache_min_uses" - "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not - work; the bug had appeared in 0.8.46. - - *) Bugfix: the "fastcgi_split_path_info" directive used incorrectly - captures, if only parts of an URI were captured. - Thanks to Yuriy Taraday and Frank Enderle. - - *) Bugfix: the "rewrite" directive did not escape a ";" character during - copying from URI to query string. - Thanks to Daisuke Murase. - - *) Bugfix: the ngx_http_image_filter_module closed a connection, if an - image was larger than "image_filter_buffer" size. - - -Changes with nginx 0.8.47 28 Jul 2010 - - *) Bugfix: $request_time variable had invalid values for subrequests. - - *) Bugfix: errors intercepted by error_page could not be cached. - - *) Bugfix: a cache manager process may got caught in an endless loop, if - max_size parameter was used; the bug had appeared in 0.8.46. - - -Changes with nginx 0.8.46 19 Jul 2010 - - *) Change: now the "proxy_no_cache", "fastcgi_no_cache", - "uwsgi_no_cache", and "scgi_no_cache" directives affect on a cached - response saving only. - - *) Feature: the "proxy_cache_bypass", "fastcgi_cache_bypass", - "uwsgi_cache_bypass", and "scgi_cache_bypass" directives. - - *) Bugfix: nginx did not free memory in cache keys zones if there was an - error during working with backend: the memory was freed only after - inactivity time or on memory low condition. - - -Changes with nginx 0.8.45 13 Jul 2010 - - *) Feature: ngx_http_xslt_filter improvements. - Thanks to Laurence Rowe. - - *) Bugfix: SSI response might be truncated after include with - wait="yes"; the bug had appeared in 0.7.25. - Thanks to Maxim Dounin. - - *) Bugfix: the "listen" directive did not support the "setfib=0" - parameter. - - -Changes with nginx 0.8.44 05 Jul 2010 - - *) Change: now nginx does not cache by default backend responses, if - they have a "Set-Cookie" header line. - - *) Feature: the "listen" directive supports the "setfib" parameter. - Thanks to Andrew Filonov. - - *) Bugfix: the "sub_filter" directive might change character case on - partial match. - - *) Bugfix: compatibility with HP/UX. - - *) Bugfix: compatibility with AIX xlC_r compiler. - - *) Bugfix: nginx treated large SSLv2 packets as plain requests. - Thanks to Miroslaw Jaworski. - - -Changes with nginx 0.8.43 30 Jun 2010 - - *) Feature: large geo ranges base loading speed-up. - - *) Bugfix: an error_page redirection to "location /zero {return 204;}" - without changing status code kept the error body; the bug had - appeared in 0.8.42. - - *) Bugfix: nginx might close IPv6 listen socket during reconfiguration. - Thanks to Maxim Dounin. - - *) Bugfix: the $uid_set variable may be used at any request processing - stage. - - -Changes with nginx 0.8.42 21 Jun 2010 - - *) Change: now nginx tests locations given by regular expressions, if - request was matched exactly by a location given by a prefix string. - The previous behavior has been introduced in 0.7.1. - - *) Feature: the ngx_http_scgi_module. - Thanks to Manlio Perillo. - - *) Feature: a text answer may be added to a "return" directive. - - -Changes with nginx 0.8.41 15 Jun 2010 - - *) Security: nginx/Windows worker might be terminated abnormally if a - requested file name has invalid UTF-8 encoding. - - *) Change: now nginx allows to use spaces in a request line. - - *) Bugfix: the "proxy_redirect" directive changed incorrectly a backend - "Refresh" response header line. - Thanks to Andrey Andreew and Max Sogin. - - *) Bugfix: nginx did not support path without host name in "Destination" - request header line. - - -Changes with nginx 0.8.40 07 Jun 2010 - - *) Security: now nginx/Windows ignores default file stream name. - Thanks to Jose Antonio Vazquez Gonzalez. - - *) Feature: the ngx_http_uwsgi_module. - Thanks to Roberto De Ioris. - - *) Feature: a "fastcgi_param" directive with value starting with "HTTP_" - overrides a client request header line. - - *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request - header lines were passed to FastCGI-server while caching. - - *) Bugfix: listen unix domain socket could not be changed during - reconfiguration. - Thanks to Maxim Dounin. - - -Changes with nginx 0.8.39 31 May 2010 - - *) Bugfix: an inherited "alias" directive worked incorrectly in - inclusive location. - - *) Bugfix: in "alias" with variables and "try_files" directives - combination. - - *) Bugfix: listen unix domain and IPv6 sockets did not inherit while - online upgrade. - Thanks to Maxim Dounin. - - -Changes with nginx 0.8.38 24 May 2010 - - *) Feature: the "proxy_no_cache" and "fastcgi_no_cache" directives. - - *) Feature: now the "rewrite" directive does a redirect automatically if - the $scheme variable is used. - Thanks to Piotr Sikora. - - *) Bugfix: now "limit_req" delay directive conforms to the described - algorithm. - Thanks to Maxim Dounin. - - *) Bugfix: the $uid_got variable might not be used in the SSI and perl - modules. - - -Changes with nginx 0.8.37 17 May 2010 - - *) Feature: the ngx_http_split_clients_module. - - *) Feature: the "map" directive supports keys more than 255 characters. - - *) Bugfix: nginx ignored the "private" and "no-store" values in the - "Cache-Control" backend response header line. - - *) Bugfix: a "stub" parameter of an "include" SSI directive was not - used, if empty response has 200 status code. - - *) Bugfix: if a proxied or FastCGI request was internally redirected to - another proxied or FastCGI location, then a segmentation fault might - occur in a worker process; the bug had appeared in 0.8.33. - Thanks to Yichun Zhang. - - *) Bugfix: IMAP connections may hang until they timed out while talking - to Zimbra server. - Thanks to Alan Batie. - - -Changes with nginx 0.8.36 22 Apr 2010 - - *) Bugfix: the ngx_http_dav_module handled incorrectly the DELETE, COPY, - and MOVE methods for symlinks. - - *) Bugfix: values of the $query_string, $arg_..., etc. variables cached - in main request were used by the SSI module in subrequests. - - *) Bugfix: a variable value was repeatedly encoded after each an "echo" - SSI-command output; the bug had appeared in 0.6.14. - - *) Bugfix: a worker process hung if a FIFO file was requested. - Thanks to Vicente Aguilar and Maxim Dounin. - - *) Bugfix: OpenSSL-1.0.0 compatibility on 64-bit Linux. - Thanks to Maxim Dounin. - - *) Bugfix: nginx could not be built --without-http-cache; the bug had - appeared in 0.8.35. - - -Changes with nginx 0.8.35 01 Apr 2010 - - *) Change: now the charset filter runs before the SSI filter. - - *) Feature: the "chunked_transfer_encoding" directive. - - *) Bugfix: an "&" character was not escaped when it was copied in - arguments part in a rewrite rule. - - *) Bugfix: nginx might be terminated abnormally while a signal - processing or if the directive "timer_resolution" was used on - platforms which do not support kqueue or eventport notification - methods. - Thanks to George Xie and Maxim Dounin. - - *) Bugfix: if temporary files and permanent storage area resided at - different file systems, then permanent file modification times were - incorrect. - Thanks to Maxim Dounin. - - *) Bugfix: ngx_http_memcached_module might issue the error message - "memcached sent invalid trailer". - Thanks to Maxim Dounin. - - *) Bugfix: nginx could not built zlib-1.2.4 library using the library - sources. - Thanks to Maxim Dounin. - - *) Bugfix: a segmentation fault occurred in a worker process, if there - was large stderr output before FastCGI response; the bug had appeared - in 0.8.34. - Thanks to Maxim Dounin. - - -Changes with nginx 0.8.34 03 Mar 2010 - - *) Bugfix: nginx did not support all ciphers and digests used in client - certificates. - Thanks to Innocenty Enikeew. - - *) Bugfix: nginx cached incorrectly FastCGI responses if there was large - stderr output before response. - - *) Bugfix: nginx did not support HTTPS referrers. - - *) Bugfix: nginx/Windows might not find file if path in configuration - was given in other character case; the bug had appeared in 0.8.33. - - *) Bugfix: the $date_local variable has an incorrect value, if the "%s" - format was used. - Thanks to Maxim Dounin. - - *) Bugfix: if ssl_session_cache was not set or was set to "none", then - during client certificate verify the error "session id context - uninitialized" might occur; the bug had appeared in 0.7.1. - - *) Bugfix: a geo range returned default value if the range included two - or more /16 networks and did not begin at /16 network boundary. - - *) Bugfix: a block used in a "stub" parameter of an "include" SSI - directive was output with "text/plain" MIME type. - - *) Bugfix: $r->sleep() did not work; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.33 01 Feb 2010 - - *) Security: now nginx/Windows ignores trailing spaces in URI. - Thanks to Dan Crowley, Core Security Technologies. - - *) Security: now nginx/Windows ignores short files names. - Thanks to Dan Crowley, Core Security Technologies. - - *) Change: now keepalive connections after POST requests are not - disabled for MSIE 7.0+. - Thanks to Adam Lounds. - - *) Workaround: now keepalive connections are disabled for Safari. - Thanks to Joshua Sierles. - - *) Bugfix: if a proxied or FastCGI request was internally redirected to - another proxied or FastCGI location, then $upstream_response_time - variable may have abnormally large value; the bug had appeared in - 0.8.7. - - *) Bugfix: a segmentation fault might occur in a worker process, while - discarding a request body; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.32 11 Jan 2010 - - *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module. - Thanks to Maxim Dounin. - - *) Bugfix: regular expression named captures worked for two names only. - Thanks to Maxim Dounin. - - *) Bugfix: now the "localhost" name is used in the "Host" request header - line, if an unix domain socket is defined in the "auth_http" - directive. - Thanks to Maxim Dounin. - - *) Bugfix: nginx did not support chunked transfer encoding for 201 - responses. - Thanks to Julian Reich. - - *) Bugfix: if the "expires modified" set date in the past, then a - negative number was set in the "Cache-Control" response header line. - Thanks to Alex Kapranoff. - - -Changes with nginx 0.8.31 23 Dec 2009 - - *) Feature: now the "error_page" directive may redirect the 301 and 302 - responses. - - *) Feature: the $geoip_city_continent_code, $geoip_latitude, and - $geoip_longitude variables. - Thanks to Arvind Sundararajan. - - *) Feature: now the ngx_http_image_filter_module deletes always EXIF and - other application specific data if the data consume more than 5% of a - JPEG file. - - *) Bugfix: nginx closed a connection if a cached response had an empty - body. - Thanks to Piotr Sikora. - - *) Bugfix: nginx might not be built by gcc 4.x if the -O2 or higher - optimization option was used. - Thanks to Maxim Dounin and Denis F. Latypoff. - - *) Bugfix: regular expressions in location were always tested in - case-sensitive mode; the bug had appeared in 0.8.25. - - *) Bugfix: nginx cached a 304 response if there was the "If-None-Match" - header line in a proxied request. - Thanks to Tim Dettrick and David Kostal. - - *) Bugfix: nginx/Windows tried to delete a temporary file twice if the - file should replace an already existent file. - - -Changes with nginx 0.8.30 15 Dec 2009 - - *) Change: now the default buffer size of the - "large_client_header_buffers" directive is 8K. - Thanks to Andrew Cholakian. - - *) Feature: the conf/fastcgi.conf for simple FastCGI configurations. - - *) Bugfix: nginx/Windows tried to rename a temporary file twice if the - file should replace an already existent file. - - *) Bugfix: of "double free or corruption" error issued if host could not - be resolved; the bug had appeared in 0.8.22. - Thanks to Konstantin Svist. - - *) Bugfix: in libatomic usage on some platforms. - Thanks to W-Mark Kubacki. - - -Changes with nginx 0.8.29 30 Nov 2009 - - *) Change: now the "009" status code is written to an access log for - proxied HTTP/0.9 responses. - - *) Feature: the "addition_types", "charset_types", "gzip_types", - "ssi_types", "sub_filter_types", and "xslt_types" directives support - an "*" parameter. - - *) Feature: GCC 4.1+ built-in atomic operations usage. - Thanks to W-Mark Kubacki. - - *) Feature: the --with-libatomic[=DIR] option in the configure. - Thanks to W-Mark Kubacki. - - *) Bugfix: listen unix domain socket had limited access rights. - - *) Bugfix: cached HTTP/0.9 responses were handled incorrectly. - - *) Bugfix: regular expression named captures given by "?P<...>" did not - work in a "server_name" directive. - Thanks to Maxim Dounin. - - -Changes with nginx 0.8.28 23 Nov 2009 - - *) Bugfix: nginx could not be built with the --without-pcre parameter; - the bug had appeared in 0.8.25. - - -Changes with nginx 0.8.27 17 Nov 2009 - - *) Bugfix: regular expressions did not work in nginx/Windows; the bug - had appeared in 0.8.25. - - -Changes with nginx 0.8.26 16 Nov 2009 - - *) Bugfix: in captures usage in "rewrite" directive; the bug had - appeared in 0.8.25. - - *) Bugfix: nginx could not be built without the --with-debug option; the - bug had appeared in 0.8.25. - - -Changes with nginx 0.8.25 16 Nov 2009 - - *) Change: now no message is written in an error log if a variable is - not found by $r->variable() method. - - *) Feature: the ngx_http_degradation_module. - - *) Feature: regular expression named captures. - - *) Feature: now URI part is not required a "proxy_pass" directive if - variables are used. - - *) Feature: now the "msie_padding" directive works for Chrome too. - - *) Bugfix: a segmentation fault occurred in a worker process on low - memory condition; the bug had appeared in 0.8.18. - - *) Bugfix: nginx sent gzipped responses to clients those do not support - gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared - in 0.8.16. - - -Changes with nginx 0.8.24 11 Nov 2009 - - *) Bugfix: nginx always added "Content-Encoding: gzip" response header - line in 304 responses sent by ngx_http_gzip_static_module. - - *) Bugfix: nginx could not be built without the --with-debug option; the - bug had appeared in 0.8.23. - - *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive - inherited incorrectly from previous level. - - *) Bugfix: in resolving empty name. - - -Changes with nginx 0.8.23 11 Nov 2009 - - *) Security: now SSL/TLS renegotiation is disabled. - Thanks to Maxim Dounin. - - *) Bugfix: listen unix domain socket did not inherit while online - upgrade. - - *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive did - not without yet another directive with any IP address. - - *) Bugfix: segmentation fault and infinite looping in resolver. - - *) Bugfix: in resolver. - Thanks to Artem Bokhan. - - -Changes with nginx 0.8.22 03 Nov 2009 - - *) Feature: the "proxy_bind", "fastcgi_bind", and "memcached_bind" - directives. - - *) Feature: the "access" and the "deny" directives support IPv6. - - *) Feature: the "set_real_ip_from" directive supports IPv6 addresses in - request headers. - - *) Feature: the "unix:" parameter of the "set_real_ip_from" directive. - - *) Bugfix: nginx did not delete unix domain socket after configuration - testing. - - *) Bugfix: nginx deleted unix domain socket while online upgrade. - - *) Bugfix: the "!-x" operator did not work. - Thanks to Maxim Dounin. - - *) Bugfix: a segmentation fault might occur in a worker process, if - limit_rate was used in HTTPS server. - Thanks to Maxim Dounin. - - *) Bugfix: a segmentation fault might occur in a worker process while - $limit_rate logging. - Thanks to Maxim Dounin. - - *) Bugfix: a segmentation fault might occur in a worker process, if - there was no "listen" directive in "server" block; the bug had - appeared in 0.8.21. - - -Changes with nginx 0.8.21 26 Oct 2009 - - *) Feature: now the "-V" switch shows TLS SNI support. - - *) Feature: the "listen" directive of the HTTP module supports unix - domain sockets. - Thanks to Hongli Lai. - - *) Feature: the "default_server" parameter of the "listen" directive. - - *) Feature: now a "default" parameter is not required to set listen - socket options. - - *) Bugfix: nginx did not support dates in 2038 year on 32-bit platforms; - - *) Bugfix: socket leak; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.20 14 Oct 2009 - - *) Change: now default SSL ciphers are "HIGH:!ADH:!MD5". - - *) Bugfix: the ngx_http_autoindex_module did not show the trailing slash - in links to a directory; the bug had appeared in 0.7.15. - - *) Bugfix: nginx did not close a log file set by the --error-log-path - configuration option; the bug had appeared in 0.7.53. - - *) Bugfix: nginx did not treat a comma as separator in the - "Cache-Control" backend response header line. - - *) Bugfix: nginx/Windows might not create temporary file, a cache file, - or "proxy/fastcgi_store"d file if a worker had no enough access - rights for top level directories. - - *) Bugfix: the "Set-Cookie" and "P3P" FastCGI response header lines were - not hidden while caching if no "fastcgi_hide_header" directives were - used with any parameters. - - *) Bugfix: nginx counted incorrectly disk cache size. - - -Changes with nginx 0.8.19 06 Oct 2009 - - *) Change: now SSLv2 protocol is disabled by default. - - *) Change: now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". - - *) Bugfix: a "limit_req" directive did not work; the bug had appeared in - 0.8.18. - - -Changes with nginx 0.8.18 06 Oct 2009 - - *) Feature: the "read_ahead" directive. - - *) Feature: now several "perl_modules" directives may be used. - - *) Feature: the "limit_req_log_level" and "limit_conn_log_level" - directives. - - *) Bugfix: now "limit_req" directive conforms to the leaky bucket - algorithm. - Thanks to Maxim Dounin. - - *) Bugfix: nginx did not work on Linux/sparc. - Thanks to Marcus Ramberg. - - *) Bugfix: nginx sent '\0' in a "Location" response header line on MKCOL - request. - Thanks to Xie Zhenye. - - *) Bugfix: zero status code was logged instead of 499 status code; the - bug had appeared in 0.8.11. - - *) Bugfix: socket leak; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.17 28 Sep 2009 - - *) Security: now "/../" are disabled in "Destination" request header - line. - - *) Change: now $host variable value is always low case. - - *) Feature: the $ssl_session_id variable. - - *) Bugfix: socket leak; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.16 22 Sep 2009 - - *) Feature: the "image_filter_transparency" directive. - - *) Bugfix: "addition_types" directive was incorrectly named - "addtion_types". - - *) Bugfix: resolver cache poisoning. - Thanks to Matthew Dempsky. - - *) Bugfix: memory leak in resolver. - Thanks to Matthew Dempsky. - - *) Bugfix: invalid request line in $request variable was written in - access_log only if error_log was set to "info" or "debug" level. - - *) Bugfix: in PNG alpha-channel support in the - ngx_http_image_filter_module. - - *) Bugfix: nginx always added "Vary: Accept-Encoding" response header - line, if both "gzip_static" and "gzip_vary" were on. - - *) Bugfix: in UTF-8 encoding support by "try_files" directive in - nginx/Windows. - - *) Bugfix: in "post_action" directive usage; the bug had appeared in - 0.8.11. - Thanks to Igor Artemiev. - - -Changes with nginx 0.8.15 14 Sep 2009 - - *) Security: a segmentation fault might occur in worker process while - specially crafted request handling. - Thanks to Chris Ries. - - *) Bugfix: if names .domain.tld, .sub.domain.tld, and .domain-some.tld - were defined, then the name .sub.domain.tld was matched by - .domain.tld. - - *) Bugfix: in transparency support in the ngx_http_image_filter_module. - - *) Bugfix: in file AIO. - - *) Bugfix: in X-Accel-Redirect usage; the bug had appeared in 0.8.11. - - *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.14 07 Sep 2009 - - *) Bugfix: an expired cached response might stick in the "UPDATING" - state. - - *) Bugfix: a segmentation fault might occur in worker process, if - error_log was set to info or debug level. - Thanks to Sergey Bochenkov. - - *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11. - - *) Bugfix: an "error_page" directive did not redirect a 413 error; the - bug had appeared in 0.6.10. - - -Changes with nginx 0.8.13 31 Aug 2009 - - *) Bugfix: in the "aio sendfile" directive; the bug had appeared in - 0.8.12. - - *) Bugfix: nginx could not be built without the --with-file-aio option - on FreeBSD; the bug had appeared in 0.8.12. - - -Changes with nginx 0.8.12 31 Aug 2009 - - *) Feature: the "sendfile" parameter in the "aio" directive on FreeBSD. - - *) Bugfix: in try_files; the bug had appeared in 0.8.11. - - *) Bugfix: in memcached; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.11 28 Aug 2009 - - *) Change: now directive "gzip_disable msie6" does not disable gzipping - for MSIE 6.0 SV1. - - *) Feature: file AIO support on FreeBSD and Linux. - - *) Feature: the "directio_alignment" directive. - - -Changes with nginx 0.8.10 24 Aug 2009 - - *) Bugfix: memory leaks if GeoIP City database was used. - - *) Bugfix: in copying temporary files to permanent storage area; the bug - had appeared in 0.8.9. - - -Changes with nginx 0.8.9 17 Aug 2009 - - *) Feature: now the start cache loader runs in a separate process; this - should improve large caches handling. - - *) Feature: now temporary files and permanent storage area may reside at - different file systems. - - -Changes with nginx 0.8.8 10 Aug 2009 - - *) Bugfix: in handling FastCGI headers split in records. - - *) Bugfix: a segmentation fault occurred in worker process, if a request - was handled in two proxied or FastCGIed locations and a caching was - enabled in the first location; the bug had appeared in 0.8.7. - - -Changes with nginx 0.8.7 27 Jul 2009 - - *) Change: minimum supported OpenSSL version is 0.9.7. - - *) Change: the "ask" parameter of the "ssl_verify_client" directive was - changed to the "optional" parameter and now it checks a client - certificate if it was offered. - Thanks to Brice Figureau. - - *) Feature: the $ssl_client_verify variable. - Thanks to Brice Figureau. - - *) Feature: the "ssl_crl" directive. - Thanks to Brice Figureau. - - *) Feature: the "proxy" parameter of the "geo" directive. - - *) Feature: the "image_filter" directive supports variables for setting - size. - - *) Bugfix: the $ssl_client_cert variable usage corrupted memory; the bug - had appeared in 0.7.7. - Thanks to Sergey Zhuravlev. - - *) Bugfix: "proxy_pass_header" and "fastcgi_pass_header" directives did - not pass to a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", - "X-Accel-Buffering", and "X-Accel-Charset" lines from backend - response header. - Thanks to Maxim Dounin. - - *) Bugfix: in handling "Last-Modified" and "Accept-Ranges" backend - response header lines; the bug had appeared in 0.7.44. - Thanks to Maxim Dounin. - - *) Bugfix: the "[alert] zero size buf" error if subrequest returns an - empty response; the bug had appeared in 0.8.5. - - -Changes with nginx 0.8.6 20 Jul 2009 - - *) Feature: the ngx_http_geoip_module. - - *) Bugfix: XSLT filter may fail with message "not well formed XML - document" for valid XML document. - Thanks to Kuramoto Eiji. - - *) Bugfix: now in MacOSX, Cygwin, and nginx/Windows locations given by a - regular expression are always tested in case insensitive mode. - - *) Bugfix: now nginx/Windows ignores trailing dots in URI. - Thanks to Hugo Leisink. - - *) Bugfix: name of file specified in --conf-path was not honored during - installation; the bug had appeared in 0.6.6. - Thanks to Maxim Dounin. - - -Changes with nginx 0.8.5 13 Jul 2009 - - *) Bugfix: now nginx allows underscores in a request method. - - *) Bugfix: a 500 error code was returned for invalid login/password - while HTTP Basic authentication on Windows. - - *) Bugfix: ngx_http_perl_module responses did not work in subrequests. - - *) Bugfix: in ngx_http_limit_req_module. - Thanks to Maxim Dounin. - - -Changes with nginx 0.8.4 22 Jun 2009 - - *) Bugfix: nginx could not be built --without-http-cache; the bug had - appeared in 0.8.3. - - -Changes with nginx 0.8.3 19 Jun 2009 - - *) Feature: the $upstream_cache_status variable. - - *) Bugfix: nginx could not be built on MacOSX 10.6. - - *) Bugfix: nginx could not be built --without-http-cache; the bug had - appeared in 0.8.2. - - *) Bugfix: a segmentation fault occurred in worker process, if a backend - 401 error was intercepted and the backend did not set the - "WWW-Authenticate" response header line. - Thanks to Eugene Mychlo. - - -Changes with nginx 0.8.2 15 Jun 2009 - - *) Bugfix: in open_file_cache and proxy/fastcgi cache interaction on - start up. - - *) Bugfix: open_file_cache might cache open file descriptors too long; - the bug had appeared in 0.7.4. - - -Changes with nginx 0.8.1 08 Jun 2009 - - *) Feature: the "updating" parameter in "proxy_cache_use_stale" and - "fastcgi_cache_use_stale" directives. - - *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request - header lines were passed to backend while caching if no - "proxy_set_header" directive was used with any parameters. - - *) Bugfix: the "Set-Cookie" and "P3P" response header lines were not - hidden while caching if no "proxy_hide_header/fastcgi_hide_header" - directives were used with any parameters. - - *) Bugfix: the ngx_http_image_filter_module did not support GIF87a - format. - Thanks to Denis Ilyinyh. - - *) Bugfix: nginx could not be built modules on Solaris 10 and early; the - bug had appeared in 0.7.56. - - -Changes with nginx 0.8.0 02 Jun 2009 - - *) Feature: the "keepalive_requests" directive. - - *) Feature: the "limit_rate_after" directive. - Thanks to Ivan Debnar. - - *) Bugfix: XLST filter did not work in subrequests. - - *) Bugfix: in relative paths handling in nginx/Windows. - - *) Bugfix: in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache - in nginx/Windows. - - *) Bugfix: in memory allocation error handling. - Thanks to Maxim Dounin and Kirill A. Korinskiy. - - -Changes with nginx 0.7.59 25 May 2009 - - *) Feature: the "proxy_cache_methods" and "fastcgi_cache_methods" - directives. - - *) Bugfix: socket leak; the bug had appeared in 0.7.25. - Thanks to Maxim Dounin. - - *) Bugfix: a segmentation fault occurred in worker process, if a request - had no body and the $request_body variable was used; - the bug had appeared in 0.7.58. - - *) Bugfix: the SSL modules might not built on Solaris and Linux; - the bug had appeared in 0.7.56. - - *) Bugfix: ngx_http_xslt_filter_module responses were not handled by - SSI, charset, and gzip filters. - - *) Bugfix: a "charset" directive did not set a charset to - ngx_http_gzip_static_module responses. - - -Changes with nginx 0.7.58 18 May 2009 - - *) Feature: a "listen" directive of the mail proxy module supports IPv6. - - *) Feature: the "image_filter_jpeg_quality" directive. - - *) Feature: the "client_body_in_single_buffer" directive. - - *) Feature: the $request_body variable. - - *) Bugfix: in ngx_http_autoindex_module in file name links having a ":" - symbol in the name. - - *) Bugfix: "make upgrade" procedure did not work; the bug had appeared - in 0.7.53. - Thanks to Denis F. Latypoff. - - -Changes with nginx 0.7.57 12 May 2009 - - *) Bugfix: a floating-point fault occurred in worker process, if the - ngx_http_image_filter_module errors were redirected to named - location; the bug had appeared in 0.7.56. - - -Changes with nginx 0.7.56 11 May 2009 - - *) Feature: nginx/Windows supports IPv6 in a "listen" directive of the - HTTP module. - - *) Bugfix: in ngx_http_image_filter_module. - - -Changes with nginx 0.7.55 06 May 2009 - - *) Bugfix: the http_XXX parameters in "proxy_cache_use_stale" and - "fastcgi_cache_use_stale" directives did not work. - - *) Bugfix: fastcgi cache did not cache header only responses. - - *) Bugfix: of "select() failed (9: Bad file descriptor)" error in - nginx/Unix and "select() failed (10038: ...)" error in nginx/Windows. - - *) Bugfix: a segmentation fault might occur in worker process, if an - "debug_connection" directive was used; the bug had appeared in - 0.7.54. - - *) Bugfix: fix ngx_http_image_filter_module building errors. - - *) Bugfix: the files bigger than 2G could not be transferred using - $r->sendfile. - Thanks to Maxim Dounin. - - -Changes with nginx 0.7.54 01 May 2009 - - *) Feature: the ngx_http_image_filter_module. - - *) Feature: the "proxy_ignore_headers" and "fastcgi_ignore_headers" - directives. - - *) Bugfix: a segmentation fault might occur in worker process, if an - "open_file_cache_errors off" directive was used; the bug had appeared - in 0.7.53. - - *) Bugfix: the "port_in_redirect off" directive did not work; the bug - had appeared in 0.7.39. - - *) Bugfix: improve handling of "select" method errors. - - *) Bugfix: of "select() failed (10022: ...)" error in nginx/Windows. - - *) Bugfix: in error text descriptions in nginx/Windows; the bug had - appeared in 0.7.53. - - -Changes with nginx 0.7.53 27 Apr 2009 - - *) Change: now a log set by --error-log-path is created from the very - start-up. - - *) Feature: now the start up errors and warnings are outputted to an - error_log and stderr. - - *) Feature: the empty --prefix= configure parameter forces nginx to use - a directory where it was run as prefix. - - *) Feature: the -p switch. - - *) Feature: the -s switch on Unix platforms. - - *) Feature: the -? and -h switches. - Thanks to Jerome Loyet. - - *) Feature: now switches may be set in condensed form. - - *) Bugfix: nginx/Windows did not work if configuration file was given by - the -c switch. - - *) Bugfix: temporary files might be not removed if the "proxy_store", - "fastcgi_store", "proxy_cache", or "fastcgi_cache" were used. - Thanks to Maxim Dounin. - - *) Bugfix: an incorrect value was passed to mail proxy authentication - server in "Auth-Method" header line; the bug had appeared - in 0.7.34. - Thanks to Simon Lecaille. - - *) Bugfix: system error text descriptions were not logged on Linux; - the bug had appeared in 0.7.45. - - *) Bugfix: the "fastcgi_cache_min_uses" directive did not work. - Thanks to Andrew Vorobyoff. - - -Changes with nginx 0.7.52 20 Apr 2009 - - *) Feature: the first native Windows binary release. - - *) Bugfix: in processing HEAD method while caching. - - *) Bugfix: in processing the "If-Modified-Since", "If-Range", etc. - client request header lines while caching. - - *) Bugfix: now the "Set-Cookie" and "P3P" header lines are hidden in - cacheable responses. - - *) Bugfix: if nginx was built with the ngx_http_perl_module and with a - perl which supports threads, then during a master process exit the - message "panic: MUTEX_LOCK" might be issued. - - *) Bugfix: nginx could not be built --without-http-cache; the bug had - appeared in 0.7.48. - - *) Bugfix: nginx could not be built on platforms different from i386, - amd64, sparc, and ppc; the bug had appeared in 0.7.42. - - -Changes with nginx 0.7.51 12 Apr 2009 - - *) Feature: the "try_files" directive supports a response code in the - fallback parameter. - - *) Feature: now any response code can be used in the "return" directive. - - *) Bugfix: the "error_page" directive made an external redirect without - query string; the bug had appeared in 0.7.44. - - *) Bugfix: if servers listened on several defined explicitly addresses, - then virtual servers might not work; the bug had appeared in 0.7.39. - - -Changes with nginx 0.7.50 06 Apr 2009 - - *) Bugfix: the $arg_... variables did not work; the bug had appeared in - 0.7.49. - - -Changes with nginx 0.7.49 06 Apr 2009 - - *) Bugfix: a segmentation fault might occur in worker process, if the - $arg_... variables were used; the bug had appeared in 0.7.48. - - -Changes with nginx 0.7.48 06 Apr 2009 - - *) Feature: the "proxy_cache_key" directive. - - *) Bugfix: now nginx takes into account the "X-Accel-Expires", - "Expires", and "Cache-Control" header lines in a backend response. - - *) Bugfix: now nginx caches responses for the GET requests only. - - *) Bugfix: the "fastcgi_cache_key" directive was not inherited. - - *) Bugfix: the $arg_... variables did not work with SSI subrequests. - Thanks to Maxim Dounin. - - *) Bugfix: nginx could not be built with uclibc library. - Thanks to Timothy Redaelli. - - *) Bugfix: nginx could not be built on OpenBSD; the bug had - appeared in 0.7.46. - - -Changes with nginx 0.7.47 01 Apr 2009 - - *) Bugfix: nginx could not be built on FreeBSD 6 and early versions; the - bug had appeared in 0.7.46. - - *) Bugfix: nginx could not be built on MacOSX; the bug had - appeared in 0.7.46. - - *) Bugfix: if the "max_size" parameter was set, then the cache manager - might purge a whole cache; the bug had appeared in 0.7.46. - - *) Change: a segmentation fault might occur in worker process, if the - "proxy_cache"/"fastcgi_cache" and the "proxy_cache_valid"/ - "fastcgi_cache_valid" were set on different levels; the bug had - appeared in 0.7.46. - - *) Bugfix: a segmentation fault might occur in worker process, if a - request was redirected to a proxied or FastCGI server via error_page - or try_files; the bug had appeared in 0.7.44. - - -Changes with nginx 0.7.46 30 Mar 2009 - - *) Bugfix: the previous release tarball was incorrect. - - -Changes with nginx 0.7.45 30 Mar 2009 - - *) Change: now the "proxy_cache" and the "proxy_cache_valid" directives - can be set on different levels. - - *) Change: the "clean_time" parameter of the "proxy_cache_path" - directive is canceled. - - *) Feature: the "max_size" parameter of the "proxy_cache_path" - directive. - - *) Feature: the ngx_http_fastcgi_module preliminary cache support. - - *) Feature: now on shared memory allocation errors directive and zone - names are logged. - - *) Bugfix: the directive "add_header last-modified ''" did not delete a - "Last-Modified" response header line; the bug had appeared in 0.7.44. - - *) Bugfix: a relative path in the "auth_basic_user_file" directive given - without variables did not work; the bug had appeared in 0.7.44. - Thanks to Jerome Loyet. - - *) Bugfix: in an "alias" directive given using variables without - references to captures of regular expressions; the bug had appeared - in 0.7.42. - - -Changes with nginx 0.7.44 23 Mar 2009 - - *) Feature: the ngx_http_proxy_module preliminary cache support. - - *) Feature: the --with-pcre option in the configure. - - *) Feature: the "try_files" directive is now allowed on the server block - level. - - *) Bugfix: the "try_files" directive handled incorrectly a query string - in a fallback parameter. - - *) Bugfix: the "try_files" directive might test incorrectly directories. - - *) Bugfix: if there was a single server for given address:port pair, - then captures in regular expressions in a "server_name" directive did - not work. - - -Changes with nginx 0.7.43 18 Mar 2009 - - *) Bugfix: a request was handled incorrectly, if a "root" directive used - variables; the bug had appeared in 0.7.42. - - *) Bugfix: if a server listened on wildcard address, then the - $server_addr variable value was "0.0.0.0"; the bug had appeared in - 0.7.36. - - -Changes with nginx 0.7.42 16 Mar 2009 - - *) Change: now the "Invalid argument" error returned by - setsockopt(TCP_NODELAY) on Solaris, is ignored. - - *) Change: now if a file specified in a "auth_basic_user_file" directive - is absent, then the 403 error is returned instead of the 500 one. - - *) Feature: the "auth_basic_user_file" directive supports variables. - Thanks to Kirill A. Korinskiy. - - *) Feature: the "listen" directive supports the "ipv6only" parameter. - Thanks to Zhang Hua. - - *) Bugfix: in an "alias" directive with references to captures of - regular expressions; the bug had appeared in 0.7.40. - - *) Bugfix: compatibility with Tru64 UNIX. - Thanks to Dustin Marquess. - - *) Bugfix: nginx could not be built without PCRE library; the bug had - appeared in 0.7.41. - - -Changes with nginx 0.7.41 11 Mar 2009 - - *) Bugfix: a segmentation fault might occur in worker process, if a - "server_name" or a "location" directives had captures in regular - expressions; the issue had appeared in 0.7.40. - Thanks to Vladimir Sopot. - - -Changes with nginx 0.7.40 09 Mar 2009 - - *) Feature: the "location" directive supports captures in regular - expressions. - - *) Feature: an "alias" directive with capture references may be used - inside a location given by a regular expression with captures. - - *) Feature: the "server_name" directive supports captures in regular - expressions. - - *) Workaround: the ngx_http_autoindex_module did not show the trailing - slash in directories on XFS filesystem; the issue had appeared in - 0.7.15. - Thanks to Dmitry Kuzmenko. - - -Changes with nginx 0.7.39 02 Mar 2009 - - *) Bugfix: large response with SSI might hang, if gzipping was enabled; - the bug had appeared in 0.7.28. - Thanks to Artem Bokhan. - - *) Bugfix: a segmentation fault might occur in worker process, if short - static variants are used in a "try_files" directive. - - -Changes with nginx 0.7.38 23 Feb 2009 - - *) Feature: authentication failures logging. - - *) Bugfix: name/password in auth_basic_user_file were ignored after odd - number of empty lines. - Thanks to Alexander Zagrebin. - - *) Bugfix: a segmentation fault occurred in a master process, if long - path was used in unix domain socket; the bug had appeared in 0.7.36. - - -Changes with nginx 0.7.37 21 Feb 2009 - - *) Bugfix: directives using upstreams did not work; the bug had appeared - in 0.7.36. - - -Changes with nginx 0.7.36 21 Feb 2009 - - *) Feature: a preliminary IPv6 support; the "listen" directive of the - HTTP module supports IPv6. - - *) Bugfix: the $ancient_browser variable did not work for browsers - preset by a "modern_browser" directives. - - -Changes with nginx 0.7.35 16 Feb 2009 - - *) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for - asymmetric ciphers. - Thanks to Marcin Gozdalik. - - *) Bugfix: a "try_files" directive set MIME type depending on an - original request extension. - - *) Bugfix: "*domain.tld" names were handled incorrectly in - "server_name", "valid_referers", and "map" directives, if - ".domain.tld" and ".subdomain.domain.tld" wildcards were used; - the bug had appeared in 0.7.9. - - -Changes with nginx 0.7.34 10 Feb 2009 - - *) Feature: the "off" parameter of the "if_modified_since" directive. - - *) Feature: now nginx sends an HELO/EHLO command after a XCLIENT - command. - Thanks to Maxim Dounin. - - *) Feature: Microsoft specific "AUTH LOGIN with User Name" mode support - in mail proxy server. - Thanks to Maxim Dounin. - - *) Bugfix: in a redirect rewrite directive original arguments were - concatenated with new arguments by a "?" rather than an "&"; - the bug had appeared in 0.1.18. - Thanks to Maxim Dounin. - - *) Bugfix: nginx could not be built on AIX. - - -Changes with nginx 0.7.33 02 Feb 2009 - - *) Bugfix: a double response might be returned if the epoll or rtsig - methods are used and a redirect was returned to a request with body. - Thanks to Eden Li. - - *) Bugfix: the $sent_http_location variable was empty for some redirects - types. - - *) Bugfix: a segmentation fault might occur in worker process if - "resolver" directive was used in SMTP proxy. - - -Changes with nginx 0.7.32 26 Jan 2009 - - *) Feature: now a directory existence testing can be set explicitly in - the "try_files" directive. - - *) Bugfix: fastcgi_store stored files not always. - - *) Bugfix: in geo ranges. - - *) Bugfix: in shared memory allocations if nginx was built without - debugging. - Thanks to Andrey Kvasov. - - -Changes with nginx 0.7.31 19 Jan 2009 - - *) Change: now the "try_files" directive tests files only and ignores - directories. - - *) Feature: the "fastcgi_split_path_info" directive. - - *) Bugfixes in an "Expect" request header line support. - - *) Bugfixes in geo ranges. - - *) Bugfix: in a miss case ngx_http_memcached_module returned the "END" - line as response body instead of default 404 page body; the bug had - appeared in 0.7.18. - Thanks to Maxim Dounin. - - *) Bugfix: while SMTP proxying nginx issued message "250 2.0.0 OK" - instead of "235 2.0.0 OK"; the bug had appeared in 0.7.22. - Thanks to Maxim Dounin. - - -Changes with nginx 0.7.30 24 Dec 2008 - - *) Bugfix: a segmentation fault occurred in worker process, if variables - were used in the "fastcgi_pass" or "proxy_pass" directives and host - name must be resolved; the bug had appeared in 0.7.29. - - -Changes with nginx 0.7.29 24 Dec 2008 - - *) Bugfix: the "fastcgi_pass" and "proxy_pass" directives did not - support variables if unix domain sockets were used. - - *) Bugfixes in subrequest processing; the bugs had appeared in 0.7.25. - - *) Bugfix: a "100 Continue" response was issued for HTTP/1.0 requests; - Thanks to Maxim Dounin. - - *) Bugfix: in memory allocation in the ngx_http_gzip_filter_module on - Cygwin. - - -Changes with nginx 0.7.28 22 Dec 2008 - - *) Change: in memory allocation in the ngx_http_gzip_filter_module. - - *) Change: the default "gzip_buffers" directive values have been changed - to 32 4k or 16 8k from 4 4k/8k. - - -Changes with nginx 0.7.27 15 Dec 2008 - - *) Feature: the "try_files" directive. - - *) Feature: variables support in the "fastcgi_pass" directive. - - *) Feature: now the $geo variable may get an address from a variable. - Thanks to Andrei Nigmatulin. - - *) Feature: now a location's modifier may be used without space before - name. - - *) Feature: the $upstream_response_length variable. - - *) Bugfix: now a "add_header" directive does not add an empty value. - - *) Bugfix: if zero length static file was requested, then nginx just - closed connection; the bug had appeared in 0.7.25. - - *) Bugfix: a MOVE method could not move file in non-existent directory. - - *) Bugfix: a segmentation fault occurred in worker process, if no one - named location was defined in server, but some one was used in an - error_page directive. - Thanks to Sergey Bochenkov. - - -Changes with nginx 0.7.26 08 Dec 2008 - - *) Bugfix: in subrequest processing; the bug had appeared in 0.7.25. - - -Changes with nginx 0.7.25 08 Dec 2008 - - *) Change: in subrequest processing. - - *) Change: now POSTs without "Content-Length" header line are allowed. - - *) Bugfix: now the "limit_req" and "limit_conn" directives log a - prohibition reason. - - *) Bugfix: in the "delete" parameter of the "geo" directive. - - -Changes with nginx 0.7.24 01 Dec 2008 - - *) Feature: the "if_modified_since" directive. - - *) Bugfix: nginx did not process a FastCGI server response, if the - server send too many messages to stderr before response. - - *) Bugfix: the "$cookie_..." variables did not work in the SSI and the - perl module. - - -Changes with nginx 0.7.23 27 Nov 2008 - - *) Feature: the "delete" and "ranges" parameters in the "geo" directive. - - *) Feature: speeding up loading of geo base with large number of values. - - *) Feature: decrease of memory required for geo base load. - - -Changes with nginx 0.7.22 20 Nov 2008 - - *) Feature: the "none" parameter in the "smtp_auth" directive. - Thanks to Maxim Dounin. - - *) Feature: the "$cookie_..." variables. - - *) Bugfix: the "directio" directive did not work in XFS filesystem. - - *) Bugfix: the resolver did not understand big DNS responses. - Thanks to Zyb. - - -Changes with nginx 0.7.21 11 Nov 2008 - - *) Changes in the ngx_http_limit_req_module. - - *) Feature: the EXSLT support in the ngx_http_xslt_module. - Thanks to Denis F. Latypoff. - - *) Workaround: compatibility with glibc 2.3. - Thanks to Eric Benson and Maxim Dounin. - - *) Bugfix: nginx could not run on MacOSX 10.4 and earlier; the bug had - appeared in 0.7.6. - - -Changes with nginx 0.7.20 10 Nov 2008 - - *) Changes in the ngx_http_gzip_filter_module. - - *) Feature: the ngx_http_limit_req_module. - - *) Bugfix: worker processes might exit on a SIGBUS signal on sparc and - ppc platforms; the bug had appeared in 0.7.3. - Thanks to Maxim Dounin. - - *) Bugfix: the "proxy_pass http://host/some:uri" directives did not - work; the bug had appeared in 0.7.12. - - *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" - error. - - *) Bugfix: the ngx_http_secure_link_module did not work inside - locations, whose names are less than 3 characters. - - *) Bugfix: $server_addr variable might have no value. - - -Changes with nginx 0.7.19 13 Oct 2008 - - *) Bugfix: version number update. - - -Changes with nginx 0.7.18 13 Oct 2008 - - *) Change: the "underscores_in_headers" directive; now nginx does not - allows underscores in a client request header line names. - - *) Feature: the ngx_http_secure_link_module. - - *) Feature: the "real_ip_header" directive supports any header. - - *) Feature: the "log_subrequest" directive. - - *) Feature: the $realpath_root variable. - - *) Feature: the "http_502" and "http_504" parameters of the - "proxy_next_upstream" directive. - - *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or - "fastcgi_next_upstream" directives did not work. - - *) Bugfix: nginx might send a "Transfer-Encoding: chunked" header line - for HEAD requests. - - *) Bugfix: now accept threshold depends on worker_connections. - - -Changes with nginx 0.7.17 15 Sep 2008 - - *) Feature: now the "directio" directive works on Linux. - - *) Feature: the $pid variable. - - *) Bugfix: the "directio" optimization that had appeared in 0.7.15 did - not work with open_file_cache. - - *) Bugfix: the "access_log" with variables did not work on Linux; the - bug had appeared in 0.7.7. - - *) Bugfix: the ngx_http_charset_module did not understand quoted charset - name received from backend. - - -Changes with nginx 0.7.16 08 Sep 2008 - - *) Bugfix: nginx could not be built on 64-bit platforms; the bug had - appeared in 0.7.15. - - -Changes with nginx 0.7.15 08 Sep 2008 - - *) Feature: the ngx_http_random_index_module. - - *) Feature: the "directio" directive has been optimized for file - requests starting from arbitrary position. - - *) Feature: the "directio" directive turns off sendfile if it is - necessary. - - *) Feature: now nginx allows underscores in a client request header line - names. - - -Changes with nginx 0.7.14 01 Sep 2008 - - *) Change: now the ssl_certificate and ssl_certificate_key directives - have no default values. - - *) Feature: the "listen" directive supports the "ssl" parameter. - - *) Feature: now nginx takes into account a time zone change while - reconfiguration on FreeBSD and Linux. - - *) Bugfix: the "listen" directive parameters such as "backlog", - "rcvbuf", etc. were not set, if a default server was not the first - one. - - *) Bugfix: if URI part captured by a "rewrite" directive was used as a - query string, then the query string was not escaped. - - *) Bugfix: configuration file validity test improvements. - - -Changes with nginx 0.7.13 26 Aug 2008 - - *) Bugfix: nginx could not be built on Linux and Solaris; the bug had - appeared in 0.7.12. - - -Changes with nginx 0.7.12 26 Aug 2008 - - *) Feature: the "server_name" directive supports empty name "". - - *) Feature: the "gzip_disable" directive supports special "msie6" mask. - - *) Bugfix: if the "max_fails=0" parameter was used in upstream with - several servers, then a worker process exited on a SIGFPE signal. - Thanks to Maxim Dounin. - - *) Bugfix: a request body was dropped while redirection via an - "error_page" directive. - - *) Bugfix: a full response was returned for request method HEAD while - redirection via an "error_page" directive. - - *) Bugfix: the $r->header_in() method did not return value of the - "Host", "User-Agent", and "Connection" request header lines; the bug - had appeared in 0.7.0. - - -Changes with nginx 0.7.11 18 Aug 2008 - - *) Change: now ngx_http_charset_module does not work by default with - text/css MIME type. - - *) Feature: now nginx returns the 405 status code for POST method - requesting a static file only if the file exists. - - *) Feature: the "proxy_ssl_session_reuse" directive. - - *) Bugfix: a "proxy_pass" directive without URI part might use original - request after the "X-Accel-Redirect" redirection was used. - - *) Bugfix: if a directory has search only rights and the first index - file was absent, then nginx returned the 500 status code. - - *) Bugfix: in inclusive locations; the bugs had appeared in 0.7.1. - - -Changes with nginx 0.7.10 13 Aug 2008 - - *) Bugfix: in the "addition_types", "charset_types", "gzip_types", - "ssi_types", "sub_filter_types", and "xslt_types" directives; the - bugs had appeared in 0.7.9. - - *) Bugfix: of recursive error_page for 500 status code. - - *) Bugfix: now the ngx_http_realip_module sets address not for whole - keepalive connection, but for each request passed via the connection. - - -Changes with nginx 0.7.9 12 Aug 2008 - - *) Change: now ngx_http_charset_module works by default with following - MIME types: text/html, text/css, text/xml, text/plain, - text/vnd.wap.wml, application/x-javascript, and application/rss+xml. - - *) Feature: the "charset_types" and "addition_types" directives. - - *) Feature: now the "gzip_types", "ssi_types", and "sub_filter_types" - directives use hash. - - *) Feature: the ngx_cpp_test_module. - - *) Feature: the "expires" directive supports daily time. - - *) Feature: the ngx_http_xslt_module improvements and bug fixing. - Thanks to Denis F. Latypoff and Maxim Dounin. - - *) Bugfix: the "log_not_found" directive did not work for index files - tests. - - *) Bugfix: HTTPS connections might hang, if kqueue, epoll, rtsig, or - eventport methods were used; the bug had appeared in 0.7.7. - - *) Bugfix: if the "server_name", "valid_referers", and "map" directives - used an "*.domain.tld" wildcard and exact name "domain.tld" was not - set, then the exact name was matched by the wildcard; the bug had - appeared in 0.3.18. - - -Changes with nginx 0.7.8 04 Aug 2008 - - *) Feature: the ngx_http_xslt_module. - - *) Feature: the "$arg_..." variables. - - *) Feature: Solaris directio support. - Thanks to Ivan Debnar. - - *) Bugfix: now if FastCGI server sends a "Location" header line without - status line, then nginx uses 302 status code. - Thanks to Maxim Dounin. - - -Changes with nginx 0.7.7 30 Jul 2008 - - *) Change: now the EAGAIN error returned by connect() is not considered - as temporary error. - - *) Change: now the $ssl_client_cert variable value is a certificate with - TAB character intended before each line except first one; an - unchanged certificate is available in the $ssl_client_raw_cert - variable. - - *) Feature: the "ask" parameter in the "ssl_verify_client" directive. - - *) Feature: byte-range processing improvements. - Thanks to Maxim Dounin. - - *) Feature: the "directio" directive. - Thanks to Jiang Hong. - - *) Feature: MacOSX 10.5 sendfile() support. - - *) Bugfix: now in MacOSX and Cygwin locations are tested in case - insensitive mode; however, the compare is provided by single-byte - locales only. - - *) Bugfix: mail proxy SSL connections hanged, if select, poll, or - /dev/poll methods were used. - - *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module. - - -Changes with nginx 0.7.6 07 Jul 2008 - - *) Bugfix: now if variables are used in the "access_log" directive a - request root existence is always tested. - - *) Bugfix: the ngx_http_flv_module did not support several values in a - query string. - - -Changes with nginx 0.7.5 01 Jul 2008 - - *) Bugfixes in variables support in the "access_log" directive; the bugs - had appeared in 0.7.4. - - *) Bugfix: nginx could not be built --without-http_gzip_module; the bug - had appeared in 0.7.3. - Thanks to Kirill A. Korinskiy. - - *) Bugfix: if sub_filter and SSI were used together, then responses - might were transferred incorrectly. - - -Changes with nginx 0.7.4 30 Jun 2008 - - *) Feature: variables support in the "access_log" directive. - - *) Feature: the "open_log_file_cache" directive. - - *) Feature: the -g switch. - - *) Feature: the "Expect" request header line support. - - *) Bugfix: large SSI inclusions might be truncated. - - -Changes with nginx 0.7.3 23 Jun 2008 - - *) Change: the "rss" extension MIME type has been changed to - "application/rss+xml". - - *) Change: now the "gzip_vary" directive turned on issues a - "Vary: Accept-Encoding" header line for uncompressed responses too. - - *) Feature: now the "rewrite" directive does a redirect automatically if - the "https://" protocol is used. - - *) Bugfix: the "proxy_pass" directive did not work with the HTTPS - protocol; the bug had appeared in 0.6.9. - - -Changes with nginx 0.7.2 16 Jun 2008 - - *) Feature: now nginx supports EDH key exchange ciphers. - - *) Feature: the "ssl_dhparam" directive. - - *) Feature: the $ssl_client_cert variable. - Thanks to Manlio Perillo. - - *) Bugfix: after changing URI via a "rewrite" directive nginx did not - search a new location; the bug had appeared in 0.7.1. - Thanks to Maxim Dounin. - - *) Bugfix: nginx could not be built without PCRE library; the bug had - appeared in 0.7.1. - - *) Bugfix: when a request to a directory was redirected with the slash - added, nginx dropped a query string from the original request. - - -Changes with nginx 0.7.1 26 May 2008 - - *) Change: now locations are searched in a tree. - - *) Change: the "optimize_server_names" directive was canceled due to the - "server_name_in_redirect" directive introduction. - - *) Change: some long deprecated directives are not supported anymore. - - *) Change: the "none" parameter in the "ssl_session_cache" directive; - now this is default parameter. - Thanks to Rob Mueller. - - *) Bugfix: worker processes might not catch reconfiguration and log - rotation signals. - - *) Bugfix: nginx could not be built on latest Fedora 9 Linux. - Thanks to Roxis. - - -Changes with nginx 0.7.0 19 May 2008 - - *) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX - in an access_log. - Thanks to Maxim Dounin. - - *) Change: now nginx allows several "Host" request header line. - - *) Feature: the "modified" flag in the "expires" directive. - - *) Feature: the $uid_got and $uid_set variables may be used at any - request processing stage. - - *) Feature: the $hostname variable. - Thanks to Andrei Nigmatulin. - - *) Feature: DESTDIR support. - Thanks to Todd A. Fisher and Andras Voroskoi. - - *) Bugfix: a segmentation fault might occur in worker process on Linux, - if keepalive was enabled. - - -Changes with nginx 0.6.31 12 May 2008 - - *) Bugfix: nginx did not process FastCGI response if header was at the - end of FastCGI record; the bug had appeared in 0.6.2. - Thanks to Sergey Serov. - - *) Bugfix: a segmentation fault might occur in worker process if a file - was deleted and the "open_file_cache_errors" directive was off. - - -Changes with nginx 0.6.30 29 Apr 2008 - - *) Change: now if an "include" directive pattern does not match any - file, then nginx does not issue an error. - - *) Feature: now the time in directives may be specified without spaces, - for example, "1h50m". - - *) Bugfix: memory leaks if the "ssl_verify_client" directive was on. - Thanks to Chavelle Vincent. - - *) Bugfix: the "sub_filter" directive might set text to change into - output. - - *) Bugfix: the "error_page" directive did not take into account - arguments in redirected URI. - - *) Bugfix: now nginx always opens files in binary mode under Cygwin. - - *) Bugfix: nginx could not be built on OpenBSD; the bug had appeared in - 0.6.15. - - -Changes with nginx 0.6.29 18 Mar 2008 - - *) Feature: the ngx_google_perftools_module. - - *) Bugfix: the ngx_http_perl_module could not be built on 64-bit - platforms; the bug had appeared in 0.6.27. - - -Changes with nginx 0.6.28 13 Mar 2008 - - *) Bugfix: the rtsig method could not be built; the bug had appeared in - 0.6.27. - - -Changes with nginx 0.6.27 12 Mar 2008 - - *) Change: now by default the rtsig method is not built on - Linux 2.6.18+. - - *) Change: now a request method is not changed while redirection to a - named location via an "error_page" directive. - - *) Feature: the "resolver" and "resolver_timeout" directives in SMTP - proxy. - - *) Feature: the "post_action" directive supports named locations. - - *) Bugfix: a segmentation fault occurred in worker process, if a request - was redirected from proxy, FastCGI, or memcached location to static - named locations. - - *) Bugfix: browsers did not repeat SSL handshake if there is no valid - client certificate in first handshake. - Thanks to Alexander V. Inyukhin. - - *) Bugfix: if response code 495-497 was redirected via an "error_page" - directive without code change, then nginx tried to allocate too many - memory. - - *) Bugfix: memory leak in long-lived non buffered connections. - - *) Bugfix: memory leak in resolver. - - *) Bugfix: a segmentation fault occurred in worker process, if a request - was redirected from proxy, FastCGI, or memcached location to static - named locations. - - *) Bugfix: in the $proxy_host and $proxy_port variables caching. - Thanks to Sergey Bochenkov. - - *) Bugfix: a "proxy_pass" directive with variables used incorrectly the - same port as in another "proxy_pass" directive with the same host - name and without variables. - Thanks to Sergey Bochenkov. - - *) Bugfix: an alert "sendmsg() failed (9: Bad file descriptor)" on some - 64-bit platforms while reconfiguration. - - *) Bugfix: a segmentation fault occurred in worker process, if empty - stub block was used second time in SSI. - - *) Bugfix: in copying URI part contained escaped symbols into arguments. - - -Changes with nginx 0.6.26 11 Feb 2008 - - *) Bugfix: the "proxy_store" and "fastcgi_store" directives did not - check a response length. - - *) Bugfix: a segmentation fault occurred in worker process, if big value - was used in a "expires" directive. - Thanks to Joaquin Cuenca Abela. - - *) Bugfix: nginx incorrectly detected cache line size on Pentium 4. - Thanks to Gena Makhomed. - - *) Bugfix: in proxied or FastCGI subrequests a client original method - was used instead of the GET method. - - *) Bugfix: socket leak in HTTPS mode if deferred accept was used. - Thanks to Ben Maurer. - - *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed - (SSL: )"; the bug had appeared in 0.6.23. - - *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" - error; the bug had appeared in 0.6.23. - - -Changes with nginx 0.6.25 08 Jan 2008 - - *) Change: now the "server_name_in_redirect" directive is used instead - of the "server_name" directive's special "*" parameter. - - *) Change: now wildcard and regex names can be used as main name in a - "server_name" directive. - - *) Change: the "satisfy_any" directive was replaced by the "satisfy" - directive. - - *) Workaround: old worker processes might hog CPU after reconfiguration - if they was run under Linux OpenVZ. - - *) Feature: the "min_delete_depth" directive. - - *) Bugfix: the COPY and MOVE methods did not work with single files. - - *) Bugfix: the ngx_http_gzip_static_module did not allow the - ngx_http_dav_module to work; the bug had appeared in 0.6.23. - - *) Bugfix: socket leak in HTTPS mode if deferred accept was used. - Thanks to Ben Maurer. - - *) Bugfix: nginx could not be built without PCRE library; the bug had - appeared in 0.6.23. - - -Changes with nginx 0.6.24 27 Dec 2007 - - *) Bugfix: a segmentation fault might occur in worker process if HTTPS - was used; the bug had appeared in 0.6.23. - - -Changes with nginx 0.6.23 27 Dec 2007 - - *) Change: the "off" parameter in the "ssl_session_cache" directive; now - this is default parameter. - - *) Change: the "open_file_cache_retest" directive was renamed to the - "open_file_cache_valid". - - *) Feature: the "open_file_cache_min_uses" directive. - - *) Feature: the ngx_http_gzip_static_module. - - *) Feature: the "gzip_disable" directive. - - *) Feature: the "memcached_pass" directive may be used inside the "if" - block. - - *) Bugfix: a segmentation fault occurred in worker process, if the - "memcached_pass" and "if" directives were used in the same location. - - *) Bugfix: if a "satisfy_any on" directive was used and not all access - and auth modules directives were set, then other given access and - auth directives were not tested; - - *) Bugfix: regex parameters in a "valid_referers" directive were not - inherited from previous level. - - *) Bugfix: a "post_action" directive did run if a request was completed - with 499 status code. - - *) Bugfix: optimization of 16K buffer usage in a SSL connection. - Thanks to Ben Maurer. - - *) Bugfix: the STARTTLS in SMTP mode did not work. - Thanks to Oleg Motienko. - - *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" - error; the bug had appeared in 0.5.13. - - -Changes with nginx 0.6.22 19 Dec 2007 - - *) Change: now all ngx_http_perl_module methods return values copied to - perl's allocated memory. - - *) Bugfix: if nginx was built with ngx_http_perl_module, the perl before - 5.8.6 was used, and perl supported threads, then during - reconfiguration the master process aborted; the bug had appeared in - 0.5.9. - Thanks to Boris Zhmurov. - - *) Bugfix: the ngx_http_perl_module methods may get invalid values of - the regex captures. - - *) Bugfix: a segmentation fault occurred in worker process, if the - $r->has_request_body() method was called for a request whose small - request body was already received. - - *) Bugfix: large_client_header_buffers did not freed before going to - keep-alive state. - Thanks to Olexander Shtepa. - - *) Bugfix: the last address was missed in the $upstream_addr variable; - the bug had appeared in 0.6.18. - - *) Bugfix: the "fastcgi_catch_stderr" directive did return error code; - now it returns 502 code, that can be rerouted to a next server using - the "fastcgi_next_upstream invalid_header" directive. - - *) Bugfix: a segmentation fault occurred in master process if the - "fastcgi_catch_stderr" directive was used; the bug had appeared in - 0.6.10. - Thanks to Manlio Perillo. - - -Changes with nginx 0.6.21 03 Dec 2007 - - *) Change: if variable values used in a "proxy_pass" directive contain - IP-addresses only, then a "resolver" directive is not mandatory. - - *) Bugfix: a segmentation fault might occur in worker process if a - "proxy_pass" directive with URI-part was used; the bug had appeared - in 0.6.19. - - *) Bugfix: if resolver was used on platform that does not support - kqueue, then nginx issued an alert "name is out of response". - Thanks to Andrei Nigmatulin. - - *) Bugfix: if the $server_protocol was used in FastCGI parameters and a - request line length was near to the "client_header_buffer_size" - directive value, then nginx issued an alert "fastcgi: the request - record is too big". - - *) Bugfix: if a plain text HTTP/0.9 version request was made to HTTPS - server, then nginx returned usual response. - - -Changes with nginx 0.6.20 28 Nov 2007 - - *) Bugfix: a segmentation fault might occur in worker process if a - "proxy_pass" directive with URI-part was used; the bug had appeared - in 0.6.19. - - -Changes with nginx 0.6.19 27 Nov 2007 - - *) Bugfix: the 0.6.18 version could not be built. - - -Changes with nginx 0.6.18 27 Nov 2007 - - *) Change: now the ngx_http_userid_module adds start time microseconds - to the cookie field contains a pid value. - - *) Change: now the full request line instead of URI only is written to - error_log. - - *) Feature: variables support in the "proxy_pass" directive. - - *) Feature: the "resolver" and "resolver_timeout" directives. - - *) Feature: now the directive "add_header last-modified ''" deletes a - "Last-Modified" response header line. - - *) Bugfix: the "limit_rate" directive did not allow to use full - throughput, even if limit value was very high. - - -Changes with nginx 0.6.17 15 Nov 2007 - - *) Feature: the "If-Range" request header line support. - Thanks to Alexander V. Inyukhin. - - *) Bugfix: URL double escaping in a redirect of the "msie_refresh" - directive; the bug had appeared in 0.6.4. - - *) Bugfix: the "autoindex" directive did not work with the "alias /" - directive. - - *) Bugfix: a segmentation fault might occur in worker process if - subrequests were used. - - *) Bugfix: the big responses may be transferred truncated if SSL and - gzip were used. - - *) Bugfix: the $status variable was equal to 0 if a proxied server - returned response in HTTP/0.9 version. - - -Changes with nginx 0.6.16 29 Oct 2007 - - *) Change: now the uname(2) is used on Linux instead of procfs. - Thanks to Ilya Novikov. - - *) Bugfix: if the "?" character was in a "error_page" directive, then it - was escaped in a proxied request; the bug had appeared in 0.6.11. - - *) Bugfix: compatibility with mget. - - -Changes with nginx 0.6.15 22 Oct 2007 - - *) Feature: Cygwin compatibility. - Thanks to Vladimir Kutakov. - - *) Feature: the "merge_slashes" directive. - - *) Feature: the "gzip_vary" directive. - - *) Feature: the "server_tokens" directive. - - *) Bugfix: nginx did not unescape URI in the "include" SSI command. - - *) Bugfix: the segmentation fault was occurred on start or while - reconfiguration if variable was used in the "charset" or - "source_charset" directives. - - *) Bugfix: nginx returned the 400 response on requests like - "GET http://www.domain.com HTTP/1.0". - Thanks to James Oakley. - - *) Bugfix: if request with request body was redirected using the - "error_page" directive, then nginx tried to read the request body - again; the bug had appeared in 0.6.7. - - *) Bugfix: a segmentation fault occurred in worker process if no - server_name was explicitly defined for server processing request; the - bug had appeared in 0.6.7. - - -Changes with nginx 0.6.14 15 Oct 2007 - - *) Change: now by default the "echo" SSI command uses entity encoding. - - *) Feature: the "encoding" parameter in the "echo" SSI command. - - *) Feature: the "access_log" directive may be used inside the - "limit_except" block. - - *) Bugfix: if all upstream servers were failed, then all servers had got - weight the was equal one until servers became alive; the bug had - appeared in 0.6.6. - - *) Bugfix: a segmentation fault occurred in worker process if - $date_local and $date_gmt were used outside the - ngx_http_ssi_filter_module. - - *) Bugfix: a segmentation fault might occur in worker process if debug - log was enabled. - Thanks to Andrei Nigmatulin. - - *) Bugfix: ngx_http_memcached_module did not set - $upstream_response_time. - Thanks to Maxim Dounin. - - *) Bugfix: a worker process may got caught in an endless loop, if the - memcached was used. - - *) Bugfix: nginx supported low case only "close" and "keep-alive" values - in the "Connection" request header line; the bug had appeared in - 0.6.11. - - *) Bugfix: sub_filter did not work with empty substitution. - - *) Bugfix: in sub_filter parsing. - - -Changes with nginx 0.6.13 24 Sep 2007 - - *) Bugfix: nginx did not close directory file on HEAD request if - autoindex was used. - Thanks to Arkadiusz Patyk. - - -Changes with nginx 0.6.12 21 Sep 2007 - - *) Change: mail proxy was split on three modules: pop3, imap and smtp. - - *) Feature: the --without-mail_pop3_module, --without-mail_imap_module, - and --without-mail_smtp_module configuration parameters. - - *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer" - directives of the ngx_mail_smtp_module. - - *) Bugfix: the trailing wildcards did not work; the bug had appeared in - 0.6.9. - - *) Bugfix: nginx could not start on Solaris if the shared PCRE library - located in non-standard place was used. - - *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives - did not hide response header lines whose name was longer than 32 - characters. - Thanks to Manlio Perillo. - - -Changes with nginx 0.6.11 11 Sep 2007 - - *) Bugfix: active connection counter always increased if mail proxy was - used. - - *) Bugfix: if backend returned response header only using non-buffered - proxy, then nginx closed backend connection on timeout. - - *) Bugfix: nginx did not support several "Connection" request header - lines. - - *) Bugfix: if the "max_fails" was set for upstream server, then after - first failure server weight was always one; the bug had appeared in - 0.6.6. - - -Changes with nginx 0.6.10 03 Sep 2007 - - *) Feature: the "open_file_cache", "open_file_cache_retest", and - "open_file_cache_errors" directives. - - *) Bugfix: socket leak; the bug had appeared in 0.6.7. - - *) Bugfix: a charset set by the "charset" directive was not appended to - the "Content-Type" header set by $r->send_http_header(). - - *) Bugfix: a segmentation fault might occur in worker process if - /dev/poll method was used. - - -Changes with nginx 0.6.9 28 Aug 2007 - - *) Bugfix: a worker process may got caught in an endless loop, if the - HTTPS protocol was used; the bug had appeared in 0.6.7. - - *) Bugfix: if server listened on two addresses or ports and trailing - wildcard was used, then nginx did not run. - - *) Bugfix: the "ip_hash" directive might incorrectly mark servers as - down. - - *) Bugfix: nginx could not be built on amd64; the bug had appeared in - 0.6.8. - - -Changes with nginx 0.6.8 20 Aug 2007 - - *) Change: now nginx tries to set the "worker_priority", - "worker_rlimit_nofile", "worker_rlimit_core", and - "worker_rlimit_sigpending" without super-user privileges. - - *) Change: now nginx escapes space and "%" in request to a mail proxy - authentication server. - - *) Change: now nginx escapes "%" in $memcached_key variable. - - *) Bugfix: nginx used path relative to configuration prefix for - non-absolute configuration file path specified in the "-c" key; the - bug had appeared in 0.6.6. - - *) Bugfix: nginx did not work on FreeBSD/sparc64. - - -Changes with nginx 0.6.7 15 Aug 2007 - - *) Change: now the paths specified in the "include", - "auth_basic_user_file", "perl_modules", "ssl_certificate", - "ssl_certificate_key", and "ssl_client_certificate" directives are - relative to directory of nginx configuration file nginx.conf, but not - to nginx prefix directory. - - *) Change: the --sysconfdir=PATH option in configure was canceled. - - *) Change: the special make target "upgrade1" was defined for online - upgrade of 0.1.x versions. - - *) Feature: the "server_name" and "valid_referers" directives support - regular expressions. - - *) Feature: the "server" directive in the "upstream" context supports - the "backup" parameter. - - *) Feature: the ngx_http_perl_module supports the - $r->discard_request_body. - - *) Feature: the "add_header Last-Modified ..." directive changes the - "Last-Modified" response header line. - - *) Bugfix: if a response different than 200 was returned to a request - with body and connection went to the keep-alive state after the - request, then nginx returned 400 for the next request. - - *) Bugfix: a segmentation fault occurred in worker process if invalid - address was set in the "auth_http" directive. - - *) Bugfix: now nginx uses default listen backlog value 511 on all - platforms except FreeBSD. - Thanks to Jiang Hong. - - *) Bugfix: a worker process may got caught in an endless loop, if a - "server" inside "upstream" block was marked as "down"; the bug had - appeared in 0.6.6. - - *) Bugfix: now Solaris sendfilev() is not used to transfer the client - request body to FastCGI-server via the unix domain socket. - - -Changes with nginx 0.6.6 30 Jul 2007 - - *) Feature: the --sysconfdir=PATH option in configure. - - *) Feature: named locations. - - *) Feature: the $args variable can be set with the "set" directive. - - *) Feature: the $is_args variable. - - *) Bugfix: fair big weight upstream balancer. - - *) Bugfix: if a client has closed connection to mail proxy then nginx - might not close connection to backend. - - *) Bugfix: if the same host without specified port was used as backend - for HTTP and HTTPS, then nginx used only one port - 80 or 443. - - *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early - versions; the bug had appeared in 0.6.4. - - -Changes with nginx 0.6.5 23 Jul 2007 - - *) Feature: $nginx_version variable. - Thanks to Nick S. Grechukh. - - *) Feature: the mail proxy supports AUTHENTICATE in IMAP mode. - Thanks to Maxim Dounin. - - *) Feature: the mail proxy supports STARTTLS in SMTP mode. - Thanks to Maxim Dounin. - - *) Bugfix: now nginx escapes space in $memcached_key variable. - - *) Bugfix: nginx was incorrectly built by Sun Studio on Solaris/amd64. - Thanks to Jiang Hong. - - *) Bugfix: of minor potential bugs. - Thanks to Coverity's Scan. - - -Changes with nginx 0.6.4 17 Jul 2007 - - *) Security: the "msie_refresh" directive allowed XSS. - Thanks to Maxim Boguk. - - *) Change: the "proxy_store" and "fastcgi_store" directives were - changed. - - *) Feature: the "proxy_store_access" and "fastcgi_store_access" - directives. - - *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun - Studio. - Thanks to Andrei Nigmatulin. - - *) Workaround: for Sun Studio 12. - Thanks to Jiang Hong. - - -Changes with nginx 0.6.3 12 Jul 2007 - - *) Feature: the "proxy_store" and "fastcgi_store" directives. - - *) Bugfix: a segmentation fault might occur in worker process if the - "auth_http_header" directive was used. - Thanks to Maxim Dounin. - - *) Bugfix: a segmentation fault occurred in worker process if the - CRAM-MD5 authentication method was used, but it was not enabled. - - *) Bugfix: a segmentation fault might occur in worker process when the - HTTPS protocol was used in the "proxy_pass" directive. - - *) Bugfix: a segmentation fault might occur in worker process if the - eventport method was used. - - *) Bugfix: the "proxy_ignore_client_abort" and - "fastcgi_ignore_client_abort" directives did not work; the bug had - appeared in 0.5.13. - - -Changes with nginx 0.6.2 09 Jul 2007 - - *) Bugfix: if the FastCGI header was split in records, then nginx passed - garbage in the header to a client. - - -Changes with nginx 0.6.1 17 Jun 2007 - - *) Bugfix: in SSI parsing. - - *) Bugfix: if remote SSI subrequest was used, then posterior local file - subrequest might transferred to client in wrong order. - - *) Bugfix: large SSI inclusions buffered in temporary files were - truncated. - - *) Bugfix: the perl $$ variable value in ngx_http_perl_module was equal - to the master process identification number. - - -Changes with nginx 0.6.0 14 Jun 2007 - - *) Feature: the "server_name", "map", and "valid_referers" directives - support the "www.example.*" wildcards. - - -Changes with nginx 0.5.25 11 Jun 2007 - - *) Bugfix: nginx could not be built with the - --without-http_rewrite_module parameter; the bug had appeared in - 0.5.24. - - -Changes with nginx 0.5.24 06 Jun 2007 - - *) Security: the "ssl_verify_client" directive did not work if request - was made using HTTP/0.9. - - *) Bugfix: a part of response body might be passed uncompressed if gzip - was used; the bug had appeared in 0.5.23. - - -Changes with nginx 0.5.23 04 Jun 2007 - - *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS - extension. - - *) Feature: the "fastcgi_catch_stderr" directive. - Thanks to Nick S. Grechukh, OWOX project. - - *) Bugfix: a segmentation fault occurred in master process if two - virtual servers should bind() to the overlapping ports. - - *) Bugfix: if nginx was built with ngx_http_perl_module and perl - supported threads, then during second reconfiguration the error - messages "panic: MUTEX_LOCK" and "perl_parse() failed" were issued. - - *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. - - -Changes with nginx 0.5.22 29 May 2007 - - *) Bugfix: a big request body might not be passed to backend; the bug - had appeared in 0.5.21. - - -Changes with nginx 0.5.21 28 May 2007 - - *) Bugfix: if server has more than about ten locations, then regex - locations might be chosen not in that order as they were specified. - - *) Bugfix: a worker process may got caught in an endless loop on 64-bit - platform, if the 33-rd or next in succession backend has failed. - Thanks to Anton Povarov. - - *) Bugfix: a bus error might occur on Solaris/sparc64 if the PCRE - library was used. - Thanks to Andrei Nigmatulin. - - *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. - - -Changes with nginx 0.5.20 07 May 2007 - - *) Feature: the "sendfile_max_chunk" directive. - - *) Feature: the "$http_...", "$sent_http_...", and "$upstream_http_..." - variables may be changed using the "set" directive. - - *) Bugfix: a segmentation fault might occur in worker process if the SSI - command 'if expr="$var = /"' was used. - - *) Bugfix: trailing boundary of multipart range response was transferred - incorrectly. - Thanks to Evan Miller. - - *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun - Studio. - Thanks to Andrei Nigmatulin. - - *) Bugfix: the ngx_http_perl_module could not be built by Solaris make. - Thanks to Andrei Nigmatulin. - - -Changes with nginx 0.5.19 24 Apr 2007 - - *) Change: now the $request_time variable has millisecond precision. - - *) Change: the method $r->rflush of ngx_http_perl_module was renamed to - the $r->flush. - - *) Feature: the $upstream_addr variable. - - *) Feature: the "proxy_headers_hash_max_size" and - "proxy_headers_hash_bucket_size" directives. - Thanks to Volodymyr Kostyrko. - - *) Bugfix: the files more than 2G could not be transferred using - sendfile and limit_rate on 64-bit platforms. - - *) Bugfix: the files more than 2G could not be transferred using - sendfile on 64-bit Linux. - - -Changes with nginx 0.5.18 19 Apr 2007 - - *) Feature: the ngx_http_sub_filter_module. - - *) Feature: the "$upstream_http_..." variables. - - *) Feature: now the $upstream_status and $upstream_response_time - variables keep data about all upstreams before X-Accel-Redirect. - - *) Bugfix: a segmentation fault occurred in master process after first - reconfiguration and receiving any signal if nginx was built with - ngx_http_perl_module and perl did not support multiplicity; the bug - had appeared in 0.5.9. - - *) Bugfix: if perl did not support multiplicity, then after - reconfiguration perl code did not work; the bug had appeared in - 0.3.38. - - -Changes with nginx 0.5.17 02 Apr 2007 - - *) Change: now nginx always returns the 405 status for the TRACE method. - - *) Feature: now nginx supports the "include" directive inside the - "types" block. - - *) Bugfix: the $document_root variable usage in the "root" and "alias" - directives is disabled: this caused recursive stack overflow. - - *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. - - *) Bugfix: in some cases non-cacheable variables (such as $uri variable) - returned old cached value. - - -Changes with nginx 0.5.16 26 Mar 2007 - - *) Bugfix: the C-class network was not used as hash key in the "ip_hash" - directive. - Thanks to Pavel Yarkovoy. - - *) Bugfix: a segmentation fault might occur in worker process if a - charset was set in the "Content-Type" header line and the line has - trailing ";"; the bug had appeared in 0.3.50. - - *) Bugfix: the "[alert] zero size buf" error when FastCGI server was - used and a request body written in a temporary file was multiple of - 32K. - - *) Bugfix: nginx could not be built on Solaris without the --with-debug - option; the bug had appeared in 0.5.15. - - -Changes with nginx 0.5.15 19 Mar 2007 - - *) Feature: the mail proxy supports authenticated SMTP proxying and the - "smtp_auth", "smtp_capabilities", and "xclient" directives. - Thanks to Anton Yuzhaninov and Maxim Dounin. - - *) Feature: now the keep-alive connections are closed just after - receiving the reconfiguration signal. - - *) Change: the "imap" and "auth" directives were renamed to the "mail" - and "pop3_auth" directives. - - *) Bugfix: a segmentation fault occurred in worker process if the - CRAM-MD5 authentication method was used and the APOP method was - disabled. - - *) Bugfix: if the "starttls only" directive was used in POP3 protocol, - then nginx allowed authentication without switching to the SSL mode. - - *) Bugfix: worker processes did not exit after reconfiguration and did - not rotate logs if the eventport method was used. - - *) Bugfix: a worker process may got caught in an endless loop, if the - "ip_hash" directive was used. - - *) Bugfix: now nginx does not log some alerts if eventport or /dev/poll - methods are used. - - -Changes with nginx 0.5.14 23 Feb 2007 - - *) Bugfix: nginx ignored superfluous closing "}" in the end of - configuration file. - - -Changes with nginx 0.5.13 19 Feb 2007 - - *) Feature: the COPY and MOVE methods. - - *) Bugfix: the ngx_http_realip_module set garbage for requests passed - via keep-alive connection. - - *) Bugfix: nginx did not work on big-endian 64-bit Linux. - Thanks to Andrei Nigmatulin. - - *) Bugfix: now when IMAP/POP3 proxy receives too long command it closes - the connection right away, but not after timeout. - - *) Bugfix: if the "epoll" method was used and a client closed a - connection prematurely, then nginx closed the connection after a send - timeout only. - - *) Bugfix: nginx could not be built on platforms different from i386, - amd64, sparc, and ppc; the bug had appeared in 0.5.8. - - -Changes with nginx 0.5.12 12 Feb 2007 - - *) Bugfix: nginx could not be built on platforms different from i386, - amd64, sparc, and ppc; the bug had appeared in 0.5.8. - - *) Bugfix: a segmentation fault might occur in worker process if the - temporary files were used while working with FastCGI server; the bug - had appeared in 0.5.8. - - *) Bugfix: a segmentation fault might occur in worker process if the - $fastcgi_script_name variable was logged. - - *) Bugfix: ngx_http_perl_module could not be built on Solaris. - - -Changes with nginx 0.5.11 05 Feb 2007 - - *) Feature: now configure detects system PCRE library in MacPorts. - Thanks to Chris McGrath. - - *) Bugfix: the response was incorrect if several ranges were requested; - the bug had appeared in 0.5.6. - - *) Bugfix: the "create_full_put_path" directive could not create the - intermediate directories if no "dav_access" directive was set. - Thanks to Evan Miller. - - *) Bugfix: the "0" response code might be logged in the access_log - instead of the "400" and "408" error codes. - - *) Bugfix: a segmentation fault might occur in worker process if nginx - was built with -O2 optimization. - - -Changes with nginx 0.5.10 26 Jan 2007 - - *) Bugfix: while online executable file upgrade the new master process - did not inherit the listening sockets; the bug had appeared in 0.5.9. - - *) Bugfix: a segmentation fault might occur in worker process if nginx - was built with -O2 optimization; the bug had appeared in 0.5.1. - - -Changes with nginx 0.5.9 25 Jan 2007 - - *) Change: now the ngx_http_memcached_module uses the $memcached_key - variable value as a key. - - *) Feature: the $memcached_key variable. - - *) Feature: the "clean" parameter in the "client_body_in_file_only" - directive. - - *) Feature: the "env" directive. - - *) Feature: the "sendfile" directive is available inside the "if" block. - - *) Feature: now on failure of the writing to access nginx logs a message - to error_log, but not more often than once a minute. - - *) Bugfix: the "access_log off" directive did not always turn off the - logging. - - -Changes with nginx 0.5.8 19 Jan 2007 - - *) Bugfix: a segmentation fault might occur if - "client_body_in_file_only on" was used and a request body was small. - - *) Bugfix: a segmentation fault occurred if - "client_body_in_file_only on" and "proxy_pass_request_body off" or - "fastcgi_pass_request_body off" directives were used, and nginx - switched to a next upstream. - - *) Bugfix: if the "proxy_buffering off" directive was used and a client - connection was non-active, then the connection was closed after send - timeout; the bug had appeared in 0.4.7. - - *) Bugfix: if the "epoll" method was used and a client closed a - connection prematurely, then nginx closed the connection after a send - timeout only. - - *) Bugfix: the "[alert] zero size buf" error when FastCGI server was - used. - - *) Bugfixes in the "limit_zone" directive. - - -Changes with nginx 0.5.7 15 Jan 2007 - - *) Feature: the ssl_session_cache storage optimization. - - *) Bugfixes in the "ssl_session_cache" and "limit_zone" directives. - - *) Bugfix: the segmentation fault was occurred on start or while - reconfiguration if the "ssl_session_cache" or "limit_zone" directives - were used on 64-bit platforms. - - *) Bugfix: a segmentation fault occurred if the "add_before_body" or - "add_after_body" directives were used and there was no "Content-Type" - header line in response. - - *) Bugfix: the OpenSSL library was always built with the threads - support. - Thanks to Den Ivanov. - - *) Bugfix: the PCRE-6.5+ library and the icc compiler compatibility. - - -Changes with nginx 0.5.6 09 Jan 2007 - - *) Change: now the ngx_http_index_module ignores all methods except the - GET, HEAD, and POST methods. - - *) Feature: the ngx_http_limit_zone_module. - - *) Feature: the $binary_remote_addr variable. - - *) Feature: the "ssl_session_cache" directives of the - ngx_http_ssl_module and ngx_imap_ssl_module. - - *) Feature: the DELETE method supports recursive removal. - - *) Bugfix: the byte-ranges were transferred incorrectly if the - $r->sendfile() was used. - - -Changes with nginx 0.5.5 24 Dec 2006 - - *) Change: the -v switch does not show compiler information any more. - - *) Feature: the -V switch. - - *) Feature: the "worker_rlimit_core" directive supports size in K, M, - and G. - - *) Bugfix: the nginx.pm module now could be installed by an unprivileged - user. - - *) Bugfix: a segmentation fault might occur if the $r->request_body or - $r->request_body_file methods were used. - - *) Bugfix: the ppc platform specific bugs. - - -Changes with nginx 0.5.4 15 Dec 2006 - - *) Feature: the "perl" directive may be used inside the "limit_except" - block. - - *) Bugfix: the ngx_http_dav_module required the "Date" request header - line for the DELETE method. - - *) Bugfix: if one only parameter was used in the "dav_access" directive, - then nginx might report about configuration error. - - *) Bugfix: a segmentation fault might occur if the $host variable was - used; the bug had appeared in 0.4.14. - - -Changes with nginx 0.5.3 13 Dec 2006 - - *) Feature: the ngx_http_perl_module supports the $r->status, - $r->log_error, and $r->sleep methods. - - *) Feature: the $r->variable method supports variables that do not exist - in nginx configuration. - - *) Bugfix: the $r->has_request_body method did not work. - - -Changes with nginx 0.5.2 11 Dec 2006 - - *) Bugfix: if the "proxy_pass" directive used the name of the "upstream" - block, then nginx tried to resolve the name; the bug had appeared in - 0.5.1. - - -Changes with nginx 0.5.1 11 Dec 2006 - - *) Bugfix: the "post_action" directive might not run after a - unsuccessful completion of a request. - - *) Workaround: for Eudora for Mac; the bug had appeared in 0.4.11. - Thanks to Bron Gondwana. - - *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then - the message "no port in upstream" was issued; the bug had appeared in - 0.5.0. - - *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the - same servers but different ports, then these directives uses the - first described port; the bug had appeared in 0.5.0. - - *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the - unix domain sockets, then these directives used first described - socket; the bug had appeared in 0.5.0. - - *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the - last line in the password file and there was no the carriage return, - the line feed, or the ":" symbol after the password. - - *) Bugfix: the $upstream_response_time variable might be equal to - "0.000", although response time was more than 1 millisecond. - - -Changes with nginx 0.5.0 04 Dec 2006 - - *) Change: the parameters in the "%name" form in the "log_format" - directive are not supported anymore. - - *) Change: the "proxy_upstream_max_fails", - "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", - "fastcgi_upstream_fail_timeout", "memcached_upstream_max_fails", and - "memcached_upstream_fail_timeout" directives are not supported - anymore. - - *) Feature: the "server" directive in the "upstream" context supports - the "max_fails", "fail_timeout", and "down" parameters. - - *) Feature: the "ip_hash" directive inside the "upstream" block. - - *) Feature: the WAIT status in the "Auth-Status" header line of the - IMAP/POP3 proxy authentication server response. - - *) Bugfix: nginx could not be built on 64-bit platforms; the bug had - appeared in 0.4.14. - - -Changes with nginx 0.4.14 27 Nov 2006 - - *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy. - - *) Feature: now configure detects system PCRE library on FreeBSD, Linux, - and NetBSD. - - *) Bugfix: ngx_http_perl_module did not work with perl built with the - threads support; the bug had appeared in 0.3.38. - - *) Bugfix: ngx_http_perl_module did not work if perl was called - recursively. - - *) Bugfix: nginx ignored a host name in a request line. - - *) Bugfix: a worker process may got caught in an endless loop, if a - FastCGI server sent too many data to the stderr. - - *) Bugfix: the $upstream_response_time variable may be negative if the - system time was changed backward. - - *) Bugfix: the "Auth-Login-Attempt" parameter was not sent to IMAP/POP3 - proxy authentication server when POP3 was used. - - *) Bugfix: a segmentation fault might occur if connect to IMAP/POP3 - proxy authentication server failed. - - -Changes with nginx 0.4.13 15 Nov 2006 - - *) Feature: the "proxy_pass" directive may be used inside the - "limit_except" block. - - *) Feature: the "limit_except" directive supports all WebDAV methods. - - *) Bugfix: if the "add_before_body" directive was used without the - "add_after_body" directive, then a response did not transferred - complete. - - *) Bugfix: a large request body did not receive if the epoll method and - the deferred accept() were used. - - *) Bugfix: a charset could not be set for ngx_http_autoindex_module - responses; the bug had appeared in 0.3.50. - - *) Bugfix: the "[alert] zero size buf" error when FastCGI server was - used; - - *) Bugfix: the --group= configuration parameter was ignored. - Thanks to Thomas Moschny. - - *) Bugfix: the 50th subrequest in SSI response did not work; the bug had - appeared in 0.3.50. - - -Changes with nginx 0.4.12 31 Oct 2006 - - *) Feature: the ngx_http_perl_module supports the $r->variable method. - - *) Bugfix: if a big static file was included using SSI in a response, - then the response may be transferred incomplete. - - *) Bugfix: nginx did not omit the "#fragment" part in URI. - - -Changes with nginx 0.4.11 25 Oct 2006 - - *) Feature: the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5. - - *) Feature: the ngx_http_perl_module supports the $r->allow_ranges - method. - - *) Bugfix: if the APOP was enabled in the POP3 proxy, then the USER/PASS - commands might not work; the bug had appeared in 0.4.10. - - -Changes with nginx 0.4.10 23 Oct 2006 - - *) Feature: the POP3 proxy supports the APOP command. - - *) Bugfix: if the select, poll or /dev/poll methods were used, then - while waiting authentication server response the IMAP/POP3 proxy - hogged CPU. - - *) Bugfix: a segmentation fault might occur if the $server_addr variable - was used in the "map" directive. - - *) Bugfix: the ngx_http_flv_module did not support the byte ranges for - full responses; the bug had appeared in 0.4.7. - - *) Bugfix: nginx could not be built on Debian amd64; the bug had - appeared in 0.4.9. - - -Changes with nginx 0.4.9 13 Oct 2006 - - *) Feature: the "set" parameter in the "include" SSI command. - - *) Feature: the ngx_http_perl_module now tests the nginx.pm module - version. - - -Changes with nginx 0.4.8 11 Oct 2006 - - *) Bugfix: if an "include" SSI command were before another "include" SSI - command with a "wait" parameter, then the "wait" parameter might not - work. - - *) Bugfix: the ngx_http_flv_module added the FLV header to the full - responses. - Thanks to Alexey Kovyrin. - - -Changes with nginx 0.4.7 10 Oct 2006 - - *) Feature: the ngx_http_flv_module. - - *) Feature: the $request_body_file variable. - - *) Feature: the "charset" and "source_charset" directives support the - variables. - - *) Bugfix: if an "include" SSI command were before another "include" SSI - command with a "wait" parameter, then the "wait" parameter might not - work. - - *) Bugfix: if the "proxy_buffering off" directive was used or while - working with memcached the connections might not be closed on - timeout. - - *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64, - and ppc64. - - -Changes with nginx 0.4.6 06 Oct 2006 - - *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64, - and ppc64. - - *) Bugfix: nginx sent the chunked response for HTTP/1.1 request, - if its length was set by text string in the - $r->headers_out("Content-Length", ...) method. - - *) Bugfix: after redirecting error by an "error_page" directive any - ngx_http_rewrite_module directive returned this error code; the bug - had appeared in 0.4.4. - - -Changes with nginx 0.4.5 02 Oct 2006 - - *) Bugfix: nginx could not be built on Linux and Solaris; the bug had - appeared in 0.4.4. - - -Changes with nginx 0.4.4 02 Oct 2006 - - *) Feature: the $scheme variable. - - *) Feature: the "expires" directive supports the "max" parameter. - - *) Feature: the "include" directive supports the "*" mask. - Thanks to Jonathan Dance. - - *) Bugfix: the "return" directive always overrode the "error_page" - response code redirected by the "error_page" directive. - - *) Bugfix: a segmentation fault occurred if zero-length body was in PUT - method. - - *) Bugfix: the redirect was changed incorrectly if the variables were - used in the "proxy_redirect" directive. - - -Changes with nginx 0.4.3 26 Sep 2006 - - *) Change: now the 499 error could not be redirected using an - "error_page" directive. - - *) Feature: the Solaris 10 event ports support. - - *) Feature: the ngx_http_browser_module. - - *) Bugfix: a segmentation fault may occur while redirecting the 400 - error to the proxied server using a "proxy_pass" directive. - - *) Bugfix: a segmentation fault occurred if an unix domain socket was - used in a "proxy_pass" directive; the bug had appeared in 0.3.47. - - *) Bugfix: SSI did work with memcached and nonbuffered responses. - - *) Workaround: of the Sun Studio PAUSE hardware capability bug. - - -Changes with nginx 0.4.2 14 Sep 2006 - - *) Bugfix: the O_NOATIME flag support on Linux was canceled; the bug had - appeared in 0.4.1. - - -Changes with nginx 0.4.1 14 Sep 2006 - - *) Bugfix: the DragonFlyBSD compatibility. - Thanks to Pavel Nazarov. - - *) Workaround: of bug in 64-bit Linux sendfile(), when file is more than - 2G. - - *) Feature: now on Linux nginx uses O_NOATIME flag for static requests. - Thanks to Yusuf Goolamabbas. - - -Changes with nginx 0.4.0 30 Aug 2006 - - *) Change in internal API: the HTTP modules initialization was moved - from the init module phase to the HTTP postconfiguration phase. - - *) Change: now the request body is not read beforehand for the - ngx_http_perl_module: it's required to start the reading using the - $r->has_request_body method. - - *) Feature: the ngx_http_perl_module supports the DECLINED return code. - - *) Feature: the ngx_http_dav_module supports the incoming "Date" header - line for the PUT method. - - *) Feature: the "ssi" directive is available inside the "if" block. - - *) Bugfix: a segmentation fault occurred if there was an "index" - directive with variables and the first index name was without - variables; the bug had appeared in 0.1.29. - - -Changes with nginx 0.3.61 28 Aug 2006 - - *) Change: now the "tcp_nodelay" directive is turned on by default. - - *) Feature: the "msie_refresh" directive. - - *) Feature: the "recursive_error_pages" directive. - - *) Bugfix: the "rewrite" directive returned incorrect redirect, if the - redirect had the captured escaped symbols from original URI. - - -Changes with nginx 0.3.60 18 Aug 2006 - - *) Bugfix: a worker process may got caught in an endless loop while an - error redirection; the bug had appeared in 0.3.59. - - -Changes with nginx 0.3.59 16 Aug 2006 - - *) Feature: now is possible to do several redirection using the - "error_page" directive. - - *) Bugfix: the "dav_access" directive did not support three parameters. - - *) Bugfix: the "error_page" directive did not changes the "Content-Type" - header line after the "X-Accel-Redirect" was used; the bug had - appeared in 0.3.58. - - -Changes with nginx 0.3.58 14 Aug 2006 - - *) Feature: the "error_page" directive supports the variables. - - *) Change: now the procfs interface instead of sysctl is used on Linux. - - *) Change: now the "Content-Type" header line is inherited from first - response when the "X-Accel-Redirect" was used. - - *) Bugfix: the "error_page" directive did not redirect the 413 error. - - *) Bugfix: the trailing "?" did not remove old arguments if no new - arguments were added to a rewritten URI. - - *) Bugfix: nginx could not run on 64-bit FreeBSD 7.0-CURRENT. - - -Changes with nginx 0.3.57 09 Aug 2006 - - *) Feature: the $ssl_client_serial variable. - - *) Bugfix: in the "!-e" operator of the "if" directive. - Thanks to Andrian Budanstov. - - *) Bugfix: while a client certificate verification nginx did not send to - a client the required certificates information. - - *) Bugfix: the $document_root variable did not support the variables in - the "root" directive. - - -Changes with nginx 0.3.56 04 Aug 2006 - - *) Feature: the "dav_access" directive. - - *) Feature: the "if" directive supports the "-d", "!-d", "-e", "!-e", - "-x", and "!-x" operators. - - *) Bugfix: a segmentation fault occurred if a request returned a - redirect and some sent to client header lines were logged in the - access log. - - -Changes with nginx 0.3.55 28 Jul 2006 - - *) Feature: the "stub" parameter in the "include" SSI command. - - *) Feature: the "block" SSI command. - - *) Feature: the unicode2nginx script was added to contrib. - - *) Bugfix: if a "root" was specified by variable only, then the root was - relative to a server prefix. - - *) Bugfix: if the request contained "//" or "/./" and escaped symbols - after them, then the proxied request was sent unescaped. - - *) Bugfix: the $r->header_in("Cookie") of the ngx_http_perl_module now - returns all "Cookie" header lines. - - *) Bugfix: a segmentation fault occurred if - "client_body_in_file_only on" was used and nginx switched to a next - upstream. - - *) Bugfix: on some condition while reconfiguration character codes - inside the "charset_map" may be treated invalid; the bug had appeared - in 0.3.50. - - -Changes with nginx 0.3.54 11 Jul 2006 - - *) Feature: nginx now logs the subrequest information to the error log. - - *) Feature: the "proxy_next_upstream", "fastcgi_next_upstream", and - "memcached_next_upstream" directives support the "off" parameter. - - *) Feature: the "debug_connection" directive supports the CIDR address - form. - - *) Bugfix: if a response of proxied server or FastCGI server was - converted from UTF-8 or back, then it may be transferred incomplete. - - *) Bugfix: the $upstream_response_time variable had the time of the - first request to a backend only. - - *) Bugfix: nginx could not be built on amd64 platform; the bug had - appeared in 0.3.53. - - -Changes with nginx 0.3.53 07 Jul 2006 - - *) Change: the "add_header" directive adds the string to 204, 301, and - 302 responses. - - *) Feature: the "server" directive in the "upstream" context supports - the "weight" parameter. - - *) Feature: the "server_name" directive supports the "*" wildcard. - - *) Feature: nginx supports the request body size more than 2G. - - *) Bugfix: if a client was successfully authorized using "satisfy_any - on", then anyway the message "access forbidden by rule" was written - in the log. - - *) Bugfix: the "PUT" method may erroneously not create a file and return - the 409 code. - - *) Bugfix: if the IMAP/POP3 backend returned an error, then nginx - continued proxying anyway. - - -Changes with nginx 0.3.52 03 Jul 2006 - - *) Change: the ngx_http_index_module behavior for the "POST /" requests - is reverted to the 0.3.40 version state: the module now does not - return the 405 error. - - *) Bugfix: the worker process may got caught in an endless loop if the - limit rate was used; the bug had appeared in 0.3.37. - - *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even - if the recoding was not needed; the bug had appeared in 0.3.50. - - *) Bugfix: if a code response of the PUT request was 409, then a - temporary file was not removed. - - -Changes with nginx 0.3.51 30 Jun 2006 - - *) Bugfix: the "<" symbols might disappeared some conditions in the SSI; - the bug had appeared in 0.3.50. - - -Changes with nginx 0.3.50 28 Jun 2006 - - *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors" - directives was renamed to the "proxy_intercept_errors" and - "fastcgi_intercept_errors" directives. - - *) Feature: the ngx_http_charset_module supports the recoding from the - single byte encodings to the UTF-8 encoding and back. - - *) Feature: the "X-Accel-Charset" response header line is supported in - proxy and FastCGI mode. - - *) Bugfix: the "\" escape symbol in the "\"" and "\'" pairs in the SSI - command was removed only if the command also has the "$" symbol. - - *) Bugfix: the " - - -加载失败@3x - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demos/nginx-demo/html/ezuikit_static/imgs/start.png b/demos/nginx-demo/html/ezuikit_static/imgs/start.png deleted file mode 100644 index f86242f..0000000 Binary files a/demos/nginx-demo/html/ezuikit_static/imgs/start.png and /dev/null differ diff --git a/demos/nginx-demo/html/ezuikit_static/rec/datepicker.en-US.js b/demos/nginx-demo/html/ezuikit_static/rec/datepicker.en-US.js deleted file mode 100644 index 37cbb2f..0000000 --- a/demos/nginx-demo/html/ezuikit_static/rec/datepicker.en-US.js +++ /dev/null @@ -1,17 +0,0 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : factory(global.jQuery); -})(this, function ($) { - 'use strict'; - - $.fn.datepicker.languages['en-US'] = { - format: 'yyyy-mm-dd', - days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], - daysShort: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], - daysMin: ['Su', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - months: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - weekStart: 1, - yearFirst: true, - yearSuffix: '', - }; -}); diff --git a/demos/nginx-demo/html/ezuikit_static/rec/datepicker.js b/demos/nginx-demo/html/ezuikit_static/rec/datepicker.js deleted file mode 100644 index 210f888..0000000 --- a/demos/nginx-demo/html/ezuikit_static/rec/datepicker.js +++ /dev/null @@ -1,1582 +0,0 @@ -/*! - * Datepicker v1.0.10 - * https://fengyuanchen.github.io/datepicker - * - * Copyright 2014-present Chen Fengyuan - * Released under the MIT license - * - * Date: 2020-09-29T14:46:10.983Z - */ - -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - ? factory(require('jquery')) - : typeof define === 'function' && define.amd - ? define(['jquery'], factory) - : ((global = typeof globalThis !== 'undefined' ? globalThis : global || self), factory(global.jQuery)); -})(this, function ($) { - 'use strict'; - - $ = $ && $.hasOwnProperty('default') ? $['default'] : $; - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError('Cannot call a class as a function'); - } - } - - function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ('value' in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - return Constructor; - } - - var DEFAULTS = { - // Show the datepicker automatically when initialized - autoShow: false, - // Hide the datepicker automatically when picked - autoHide: false, - // Pick the initial date automatically when initialized - autoPick: false, - // Enable inline mode - inline: false, - // A element (or selector) for putting the datepicker - container: null, - // A element (or selector) for triggering the datepicker - trigger: null, - // The ISO language code (built-in: en-US) - language: '', - // The date string format - format: 'mm/dd/yyyy', - // The initial date - date: null, - // The start view date - startDate: null, - // The end view date - endDate: null, - // The start view when initialized - startView: 0, - // 0 for days, 1 for months, 2 for years - // The start day of the week - // 0 for Sunday, 1 for Monday, 2 for Tuesday, 3 for Wednesday, - // 4 for Thursday, 5 for Friday, 6 for Saturday - weekStart: 0, - // Show year before month on the datepicker header - yearFirst: false, - // A string suffix to the year number. - yearSuffix: '', - // Days' name of the week. - days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], - // Shorter days' name - daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - // Shortest days' name - daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], - // Months' name - months: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - // Shorter months' name - monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - // A element tag for each item of years, months and days - itemTag: 'li', - // A class (CSS) for muted date item - mutedClass: 'muted', - // A class (CSS) for picked date item - pickedClass: 'picked', - // A class (CSS) for disabled date item - disabledClass: 'disabled', - // A class (CSS) for highlight date item - highlightedClass: 'highlighted', - // The template of the datepicker - template: - '
' + - '
' + - '
    ' + - '
  • ' + - '
  • ' + - '
  • ' + - '
' + - '
    ' + - '
    ' + - '
    ' + - '
      ' + - '
    • ' + - '
    • ' + - '
    • ' + - '
    ' + - '
      ' + - '
      ' + - '
      ' + - '
        ' + - '
      • ' + - '
      • ' + - '
      • ' + - '
      ' + - '
        ' + - '
          ' + - '
          ' + - '
          ', - // The offset top or bottom of the datepicker from the element - offset: 10, - // The `z-index` of the datepicker - zIndex: 1000, - // Filter each date item (return `false` to disable a date item) - filter: null, - // Event shortcuts - show: null, - hide: null, - pick: null, - }; - - var IS_BROWSER = typeof window !== 'undefined'; - var WINDOW = IS_BROWSER ? window : {}; - var IS_TOUCH_DEVICE = IS_BROWSER ? 'ontouchstart' in WINDOW.document.documentElement : false; - var NAMESPACE = 'datepicker'; - var EVENT_CLICK = 'click.'.concat(NAMESPACE); - var EVENT_FOCUS = 'focus.'.concat(NAMESPACE); - var EVENT_HIDE = 'hide.'.concat(NAMESPACE); - var EVENT_KEYUP = 'keyup.'.concat(NAMESPACE); - var EVENT_PICK = 'pick.'.concat(NAMESPACE); - var EVENT_RESIZE = 'resize.'.concat(NAMESPACE); - var EVENT_SCROLL = 'scroll.'.concat(NAMESPACE); - var EVENT_SHOW = 'show.'.concat(NAMESPACE); - var EVENT_TOUCH_START = 'touchstart.'.concat(NAMESPACE); - var CLASS_HIDE = ''.concat(NAMESPACE, '-hide'); - var LANGUAGES = {}; - var VIEWS = { - DAYS: 0, - MONTHS: 1, - YEARS: 2, - }; - - var toString = Object.prototype.toString; - function typeOf(obj) { - return toString.call(obj).slice(8, -1).toLowerCase(); - } - function isString(value) { - return typeof value === 'string'; - } - var isNaN = Number.isNaN || WINDOW.isNaN; - function isNumber(value) { - return typeof value === 'number' && !isNaN(value); - } - function isUndefined(value) { - return typeof value === 'undefined'; - } - function isDate(value) { - return typeOf(value) === 'date' && !isNaN(value.getTime()); - } - function proxy(fn, context) { - for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - args[_key - 2] = arguments[_key]; - } - - return function () { - for (var _len2 = arguments.length, args2 = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args2[_key2] = arguments[_key2]; - } - - return fn.apply(context, args.concat(args2)); - }; - } - function selectorOf(view) { - return '[data-view="'.concat(view, '"]'); - } - function isLeapYear(year) { - return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; - } - function getDaysInMonth(year, month) { - return [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; - } - function getMinDay(year, month, day) { - return Math.min(day, getDaysInMonth(year, month)); - } - var formatParts = /(y|m|d)+/g; - function parseFormat(format) { - var source = String(format).toLowerCase(); - var parts = source.match(formatParts); - - if (!parts || parts.length === 0) { - throw new Error('Invalid date format.'); - } - - format = { - source: source, - parts: parts, - }; - $.each(parts, function (i, part) { - switch (part) { - case 'dd': - case 'd': - format.hasDay = true; - break; - - case 'mm': - case 'm': - format.hasMonth = true; - break; - - case 'yyyy': - case 'yy': - format.hasYear = true; - break; - } - }); - return format; - } - function getScrollParent(element) { - var includeHidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var $element = $(element); - var position = $element.css('position'); - var excludeStaticParent = position === 'absolute'; - var overflowRegex = includeHidden ? /auto|scroll|hidden/ : /auto|scroll/; - var scrollParent = $element - .parents() - .filter(function (index, parent) { - var $parent = $(parent); - - if (excludeStaticParent && $parent.css('position') === 'static') { - return false; - } - - return overflowRegex.test($parent.css('overflow') + $parent.css('overflow-y') + $parent.css('overflow-x')); - }) - .eq(0); - return position === 'fixed' || !scrollParent.length ? $(element.ownerDocument || document) : scrollParent; - } - /** - * Add leading zeroes to the given value - * @param {number} value - The value to add. - * @param {number} [length=1] - The expected value length. - * @returns {string} Returns converted value. - */ - - function addLeadingZero(value) { - var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; - var str = String(Math.abs(value)); - var i = str.length; - var result = ''; - - if (value < 0) { - result += '-'; - } - - while (i < length) { - i += 1; - result += '0'; - } - - return result + str; - } - - var REGEXP_DIGITS = /\d+/g; - var methods = { - // Show the datepicker - show: function show() { - if (!this.built) { - this.build(); - } - - if (this.shown) { - return; - } - - if (this.trigger(EVENT_SHOW).isDefaultPrevented()) { - return; - } - - this.shown = true; - this.$picker.removeClass(CLASS_HIDE).on(EVENT_CLICK, $.proxy(this.click, this)); - this.showView(this.options.startView); - - if (!this.inline) { - this.$scrollParent.on(EVENT_SCROLL, $.proxy(this.place, this)); - $(window).on(EVENT_RESIZE, (this.onResize = proxy(this.place, this))); - $(document).on(EVENT_CLICK, (this.onGlobalClick = proxy(this.globalClick, this))); - $(document).on(EVENT_KEYUP, (this.onGlobalKeyup = proxy(this.globalKeyup, this))); - - if (IS_TOUCH_DEVICE) { - $(document).on(EVENT_TOUCH_START, (this.onTouchStart = proxy(this.touchstart, this))); - } - - this.place(); - } - }, - // Hide the datepicker - hide: function hide() { - if (!this.shown) { - return; - } - - if (this.trigger(EVENT_HIDE).isDefaultPrevented()) { - return; - } - - this.shown = false; - this.$picker.addClass(CLASS_HIDE).off(EVENT_CLICK, this.click); - - if (!this.inline) { - this.$scrollParent.off(EVENT_SCROLL, this.place); - $(window).off(EVENT_RESIZE, this.onResize); - $(document).off(EVENT_CLICK, this.onGlobalClick); - $(document).off(EVENT_KEYUP, this.onGlobalKeyup); - - if (IS_TOUCH_DEVICE) { - $(document).off(EVENT_TOUCH_START, this.onTouchStart); - } - } - }, - toggle: function toggle() { - if (this.shown) { - this.hide(); - } else { - this.show(); - } - }, - // Update the datepicker with the current input value - update: function update() { - var value = this.getValue(); - - if (value === this.oldValue) { - return; - } - - this.setDate(value, true); - this.oldValue = value; - }, - - /** - * Pick the current date to the element - * - * @param {String} _view (private) - */ - pick: function pick(_view) { - var $this = this.$element; - var date = this.date; - - if ( - this.trigger(EVENT_PICK, { - view: _view || '', - date: date, - }).isDefaultPrevented() - ) { - return; - } - - date = this.formatDate(this.date); - this.setValue(date); - - if (this.isInput) { - $this.trigger('input'); - $this.trigger('change'); - } - }, - // Reset the datepicker - reset: function reset() { - this.setDate(this.initialDate, true); - this.setValue(this.initialValue); - - if (this.shown) { - this.showView(this.options.startView); - } - }, - - /** - * Get the month name with given argument or the current date - * - * @param {Number} month (optional) - * @param {Boolean} shortForm (optional) - * @return {String} (month name) - */ - getMonthName: function getMonthName(month, shortForm) { - var options = this.options; - var monthsShort = options.monthsShort; - var months = options.months; - - if ($.isNumeric(month)) { - month = Number(month); - } else if (isUndefined(shortForm)) { - shortForm = month; - } - - if (shortForm === true) { - months = monthsShort; - } - - return months[isNumber(month) ? month : this.date.getMonth()]; - }, - - /** - * Get the day name with given argument or the current date - * - * @param {Number} day (optional) - * @param {Boolean} shortForm (optional) - * @param {Boolean} min (optional) - * @return {String} (day name) - */ - getDayName: function getDayName(day, shortForm, min) { - var options = this.options; - var days = options.days; - - if ($.isNumeric(day)) { - day = Number(day); - } else { - if (isUndefined(min)) { - min = shortForm; - } - - if (isUndefined(shortForm)) { - shortForm = day; - } - } - - if (min) { - days = options.daysMin; - } else if (shortForm) { - days = options.daysShort; - } - - return days[isNumber(day) ? day : this.date.getDay()]; - }, - - /** - * Get the current date - * - * @param {Boolean} formatted (optional) - * @return {Date|String} (date) - */ - getDate: function getDate(formatted) { - var date = this.date; - return formatted ? this.formatDate(date) : new Date(date); - }, - - /** - * Set the current date with a new date - * - * @param {Date} date - * @param {Boolean} _updated (private) - */ - setDate: function setDate(date, _updated) { - var filter = this.options.filter; - if (isDate(date) || isString(date)) { - date = this.parseDate(date); - - if ($.isFunction(filter) && filter.call(this.$element, date, 'day') === false) { - return; - } - - this.date = date; - this.viewDate = new Date(date); - - if (!_updated) { - this.pick(); - } - - if (this.built) { - this.render(); - } - } - }, - - /** - * Set the start view date with a new date - * - * @param {Date|string|null} date - */ - setStartDate: function setStartDate(date) { - if (isDate(date) || isString(date)) { - this.startDate = this.parseDate(date); - } else { - this.startDate = null; - } - - if (this.built) { - this.render(); - } - }, - - /** - * Set the end view date with a new date - * - * @param {Date|string|null} date - */ - setEndDate: function setEndDate(date) { - if (isDate(date) || isString(date)) { - this.endDate = this.parseDate(date); - } else { - this.endDate = null; - } - - if (this.built) { - this.render(); - } - }, - - /** - * Parse a date string with the set date format - * - * @param {String} date - * @return {Date} (parsed date) - */ - parseDate: function parseDate(date) { - var format = this.format; - var parts = []; - - if (!isDate(date)) { - if (isString(date)) { - parts = date.match(REGEXP_DIGITS) || []; - } - - date = date ? new Date(date) : new Date(); - - if (!isDate(date)) { - date = new Date(); - } - - if (parts.length === format.parts.length) { - // Set year and month first - $.each(parts, function (i, part) { - var value = parseInt(part, 10); - - switch (format.parts[i]) { - case 'yy': - date.setFullYear(2000 + value); - break; - - case 'yyyy': - // Converts 2-digit year to 2000+ - date.setFullYear(part.length === 2 ? 2000 + value : value); - break; - - case 'mm': - case 'm': - date.setMonth(value - 1); - break; - } - }); // Set day in the last to avoid converting `31/10/2019` to `01/10/2019` - - $.each(parts, function (i, part) { - var value = parseInt(part, 10); - - switch (format.parts[i]) { - case 'dd': - case 'd': - date.setDate(value); - break; - } - }); - } - } // Ignore hours, minutes, seconds and milliseconds to avoid side effect (#192) - - return new Date(date.getFullYear(), date.getMonth(), date.getDate()); - }, - - /** - * Format a date object to a string with the set date format - * - * @param {Date} date - * @return {String} (formatted date) - */ - formatDate: function formatDate(date) { - var format = this.format; - var formatted = ''; - - if (isDate(date)) { - var year = date.getFullYear(); - var month = date.getMonth(); - var day = date.getDate(); - var values = { - d: day, - dd: addLeadingZero(day, 2), - m: month + 1, - mm: addLeadingZero(month + 1, 2), - yy: String(year).substring(2), - yyyy: addLeadingZero(year, 4), - }; - formatted = format.source; - $.each(format.parts, function (i, part) { - formatted = formatted.replace(part, values[part]); - }); - } - - return formatted; - }, - // Destroy the datepicker and remove the instance from the target element - destroy: function destroy() { - this.unbind(); - this.unbuild(); - this.$element.removeData(NAMESPACE); - }, - }; - - var handlers = { - click: function click(e) { - var $target = $(e.target); - var options = this.options, - date = this.date, - viewDate = this.viewDate, - format = this.format; - e.stopPropagation(); - e.preventDefault(); - - if ($target.hasClass('disabled')) { - return; - } - - var view = $target.data('view'); - var viewYear = viewDate.getFullYear(); - var viewMonth = viewDate.getMonth(); - var viewDay = viewDate.getDate(); - - switch (view) { - case 'years prev': - case 'years next': { - viewYear = view === 'years prev' ? viewYear - 10 : viewYear + 10; - viewDate.setFullYear(viewYear); - viewDate.setDate(getMinDay(viewYear, viewMonth, viewDay)); - this.renderYears(); - break; - } - - case 'year prev': - case 'year next': - viewYear = view === 'year prev' ? viewYear - 1 : viewYear + 1; - viewDate.setFullYear(viewYear); - viewDate.setDate(getMinDay(viewYear, viewMonth, viewDay)); - this.renderMonths(); - break; - - case 'year current': - if (format.hasYear) { - this.showView(VIEWS.YEARS); - } - - break; - - case 'year picked': - if (format.hasMonth) { - this.showView(VIEWS.MONTHS); - } else { - $target.siblings('.'.concat(options.pickedClass)).removeClass(options.pickedClass).data('view', 'year'); - this.hideView(); - } - - this.pick('year'); - break; - - case 'year': - viewYear = parseInt($target.text(), 10); // Set date first to avoid month changing (#195) - - date.setDate(getMinDay(viewYear, viewMonth, viewDay)); - date.setFullYear(viewYear); - viewDate.setDate(getMinDay(viewYear, viewMonth, viewDay)); - viewDate.setFullYear(viewYear); - - if (format.hasMonth) { - this.showView(VIEWS.MONTHS); - } else { - $target.addClass(options.pickedClass).data('view', 'year picked').siblings('.'.concat(options.pickedClass)).removeClass(options.pickedClass).data('view', 'year'); - this.hideView(); - } - - this.pick('year'); - break; - - case 'month prev': - case 'month next': - viewMonth = view === 'month prev' ? viewMonth - 1 : viewMonth + 1; - - if (viewMonth < 0) { - viewYear -= 1; - viewMonth += 12; - } else if (viewMonth > 11) { - viewYear += 1; - viewMonth -= 12; - } - - viewDate.setFullYear(viewYear); - viewDate.setDate(getMinDay(viewYear, viewMonth, viewDay)); - viewDate.setMonth(viewMonth); - this.renderDays(); - break; - - case 'month current': - if (format.hasMonth) { - this.showView(VIEWS.MONTHS); - } - - break; - - case 'month picked': - if (format.hasDay) { - this.showView(VIEWS.DAYS); - } else { - $target.siblings('.'.concat(options.pickedClass)).removeClass(options.pickedClass).data('view', 'month'); - this.hideView(); - } - - this.pick('month'); - break; - - case 'month': - viewMonth = $.inArray($target.text(), options.monthsShort); - date.setFullYear(viewYear); // Set date before month to avoid month changing (#195) - - date.setDate(getMinDay(viewYear, viewMonth, viewDay)); - date.setMonth(viewMonth); - viewDate.setFullYear(viewYear); - viewDate.setDate(getMinDay(viewYear, viewMonth, viewDay)); - viewDate.setMonth(viewMonth); - - if (format.hasDay) { - this.showView(VIEWS.DAYS); - } else { - $target.addClass(options.pickedClass).data('view', 'month picked').siblings('.'.concat(options.pickedClass)).removeClass(options.pickedClass).data('view', 'month'); - this.hideView(); - } - - this.pick('month'); - break; - - case 'day prev': - case 'day next': - case 'day': - if (view === 'day prev') { - viewMonth -= 1; - } else if (view === 'day next') { - viewMonth += 1; - } - - viewDay = parseInt($target.text(), 10); // Set date to 1 to avoid month changing (#195) - - date.setDate(1); - date.setFullYear(viewYear); - date.setMonth(viewMonth); - date.setDate(viewDay); - viewDate.setDate(1); - viewDate.setFullYear(viewYear); - viewDate.setMonth(viewMonth); - viewDate.setDate(viewDay); - this.renderDays(); - - if (view === 'day') { - this.hideView(); - } - - this.pick('day'); - break; - - case 'day picked': - this.hideView(); - this.pick('day'); - break; - } - }, - globalClick: function globalClick(_ref) { - var target = _ref.target; - var element = this.element, - $trigger = this.$trigger; - var trigger = $trigger[0]; - var hidden = true; - - while (target !== document) { - if (target === trigger || target === element) { - hidden = false; - break; - } - - target = target.parentNode; - } - - if (hidden) { - this.hide(); - } - }, - keyup: function keyup() { - this.update(); - }, - globalKeyup: function globalKeyup(_ref2) { - var target = _ref2.target, - key = _ref2.key, - keyCode = _ref2.keyCode; - - if (this.isInput && target !== this.element && this.shown && (key === 'Tab' || keyCode === 9)) { - this.hide(); - } - }, - touchstart: function touchstart(_ref3) { - var target = _ref3.target; - - // Emulate click in touch devices to support hiding the picker automatically (#197). - if (this.isInput && target !== this.element && !$.contains(this.$picker[0], target)) { - this.hide(); - this.element.blur(); - } - }, - }; - - var render = { - render: function render() { - this.renderYears(); - this.renderMonths(); - this.renderDays(); - }, - renderWeek: function renderWeek() { - var _this = this; - - var items = []; - var _this$options = this.options, - weekStart = _this$options.weekStart, - daysMin = _this$options.daysMin; - weekStart = parseInt(weekStart, 10) % 7; - daysMin = daysMin.slice(weekStart).concat(daysMin.slice(0, weekStart)); - $.each(daysMin, function (i, day) { - items.push( - _this.createItem({ - text: day, - }), - ); - }); - this.$week.html(items.join('')); - }, - renderYears: function renderYears() { - var options = this.options, - startDate = this.startDate, - endDate = this.endDate; - var disabledClass = options.disabledClass, - filter = options.filter, - yearSuffix = options.yearSuffix; - var viewYear = this.viewDate.getFullYear(); - var now = new Date(); - var thisYear = now.getFullYear(); - var year = this.date.getFullYear(); - var start = -5; - var end = 6; - var items = []; - var prevDisabled = false; - var nextDisabled = false; - var i; - - for (i = start; i <= end; i += 1) { - var date = new Date(viewYear + i, 1, 1); - var disabled = false; - - if (startDate) { - disabled = date.getFullYear() < startDate.getFullYear(); - - if (i === start) { - prevDisabled = disabled; - } - } - - if (!disabled && endDate) { - disabled = date.getFullYear() > endDate.getFullYear(); - - if (i === end) { - nextDisabled = disabled; - } - } - - if (!disabled && filter) { - disabled = filter.call(this.$element, date, 'year') === false; - } - - var picked = viewYear + i === year; - var view = picked ? 'year picked' : 'year'; - items.push( - this.createItem({ - picked: picked, - disabled: disabled, - text: viewYear + i, - view: disabled ? 'year disabled' : view, - highlighted: date.getFullYear() === thisYear, - }), - ); - } - - this.$yearsPrev.toggleClass(disabledClass, prevDisabled); - this.$yearsNext.toggleClass(disabledClass, nextDisabled); - this.$yearsCurrent.toggleClass(disabledClass, true).html( - '' - .concat(viewYear + start + yearSuffix, ' - ') - .concat(viewYear + end) - .concat(yearSuffix), - ); - this.$years.html(items.join('')); - }, - renderMonths: function renderMonths() { - var options = this.options, - startDate = this.startDate, - endDate = this.endDate, - viewDate = this.viewDate; - var disabledClass = options.disabledClass || ''; - var months = options.monthsShort; - var filter = $.isFunction(options.filter) && options.filter; - var viewYear = viewDate.getFullYear(); - var now = new Date(); - var thisYear = now.getFullYear(); - var thisMonth = now.getMonth(); - var year = this.date.getFullYear(); - var month = this.date.getMonth(); - var items = []; - var prevDisabled = false; - var nextDisabled = false; - var i; - - for (i = 0; i <= 11; i += 1) { - var date = new Date(viewYear, i, 1); - var disabled = false; - - if (startDate) { - prevDisabled = date.getFullYear() === startDate.getFullYear(); - disabled = prevDisabled && date.getMonth() < startDate.getMonth(); - } - - if (!disabled && endDate) { - nextDisabled = date.getFullYear() === endDate.getFullYear(); - disabled = nextDisabled && date.getMonth() > endDate.getMonth(); - } - - if (!disabled && filter) { - disabled = filter.call(this.$element, date, 'month') === false; - } - - var picked = viewYear === year && i === month; - var view = picked ? 'month picked' : 'month'; - items.push( - this.createItem({ - disabled: disabled, - picked: picked, - highlighted: viewYear === thisYear && date.getMonth() === thisMonth, - index: i, - text: months[i], - view: disabled ? 'month disabled' : view, - }), - ); - } - - this.$yearPrev.toggleClass(disabledClass, prevDisabled); - this.$yearNext.toggleClass(disabledClass, nextDisabled); - this.$yearCurrent.toggleClass(disabledClass, prevDisabled && nextDisabled).html(viewYear + options.yearSuffix || ''); - this.$months.html(items.join('')); - }, - renderDays: function renderDays() { - var $element = this.$element, - options = this.options, - startDate = this.startDate, - endDate = this.endDate, - viewDate = this.viewDate, - currentDate = this.date; - var disabledClass = options.disabledClass, - filter = options.filter, - months = options.months, - weekStart = options.weekStart, - yearSuffix = options.yearSuffix; - var viewYear = viewDate.getFullYear(); - var viewMonth = viewDate.getMonth(); - var now = new Date(); - var thisYear = now.getFullYear(); - var thisMonth = now.getMonth(); - var thisDay = now.getDate(); - var year = currentDate.getFullYear(); - var month = currentDate.getMonth(); - var day = currentDate.getDate(); - var length; - var i; - var n; // Days of prev month - // ----------------------------------------------------------------------- - - var prevItems = []; - var prevViewYear = viewYear; - var prevViewMonth = viewMonth; - var prevDisabled = false; - - if (viewMonth === 0) { - prevViewYear -= 1; - prevViewMonth = 11; - } else { - prevViewMonth -= 1; - } // The length of the days of prev month - - length = getDaysInMonth(prevViewYear, prevViewMonth); // The first day of current month - - var firstDay = new Date(viewYear, viewMonth, 1); // The visible length of the days of prev month - // [0,1,2,3,4,5,6] - [0,1,2,3,4,5,6] => [-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6] - - n = firstDay.getDay() - (parseInt(weekStart, 10) % 7); // [-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6] => [1,2,3,4,5,6,7] - - if (n <= 0) { - n += 7; - } - - if (startDate) { - prevDisabled = firstDay.getTime() <= startDate.getTime(); - } - - for (i = length - (n - 1); i <= length; i += 1) { - var prevViewDate = new Date(prevViewYear, prevViewMonth, i); - var disabled = false; - - if (startDate) { - disabled = prevViewDate.getTime() < startDate.getTime(); - } - - if (!disabled && filter) { - disabled = filter.call($element, prevViewDate, 'day') === false; - } - - prevItems.push( - this.createItem({ - disabled: disabled, - highlighted: prevViewYear === thisYear && prevViewMonth === thisMonth && prevViewDate.getDate() === thisDay, - muted: true, - picked: prevViewYear === year && prevViewMonth === month && i === day, - text: i, - view: 'day prev', - }), - ); - } // Days of next month - // ----------------------------------------------------------------------- - - var nextItems = []; - var nextViewYear = viewYear; - var nextViewMonth = viewMonth; - var nextDisabled = false; - - if (viewMonth === 11) { - nextViewYear += 1; - nextViewMonth = 0; - } else { - nextViewMonth += 1; - } // The length of the days of current month - - length = getDaysInMonth(viewYear, viewMonth); // The visible length of next month (42 means 6 rows and 7 columns) - - n = 42 - (prevItems.length + length); // The last day of current month - - var lastDate = new Date(viewYear, viewMonth, length); - - if (endDate) { - nextDisabled = lastDate.getTime() >= endDate.getTime(); - } - - for (i = 1; i <= n; i += 1) { - var date = new Date(nextViewYear, nextViewMonth, i); - var picked = nextViewYear === year && nextViewMonth === month && i === day; - var _disabled = false; - - if (endDate) { - _disabled = date.getTime() > endDate.getTime(); - } - - if (!_disabled && filter) { - _disabled = filter.call($element, date, 'day') === false; - } - - nextItems.push( - this.createItem({ - disabled: _disabled, - picked: picked, - highlighted: nextViewYear === thisYear && nextViewMonth === thisMonth && date.getDate() === thisDay, - muted: true, - text: i, - view: 'day next', - }), - ); - } // Days of current month - // ----------------------------------------------------------------------- - - var items = []; - - for (i = 1; i <= length; i += 1) { - var _date = new Date(viewYear, viewMonth, i); - - var _disabled2 = false; - - if (startDate) { - _disabled2 = _date.getTime() < startDate.getTime(); - } - - if (!_disabled2 && endDate) { - _disabled2 = _date.getTime() > endDate.getTime(); - } - - if (!_disabled2 && filter) { - _disabled2 = filter.call($element, _date, 'day') === false; - } - - var _picked = viewYear === year && viewMonth === month && i === day; - - var view = _picked ? 'day picked' : 'day'; - items.push( - this.createItem({ - disabled: _disabled2, - picked: _picked, - highlighted: viewYear === thisYear && viewMonth === thisMonth && _date.getDate() === thisDay, - text: i, - view: _disabled2 ? 'day disabled' : view, - }), - ); - } // Render days picker - // ----------------------------------------------------------------------- - - this.$monthPrev.toggleClass(disabledClass, prevDisabled); - this.$monthNext.toggleClass(disabledClass, nextDisabled); - this.$monthCurrent.toggleClass(disabledClass, prevDisabled && nextDisabled).html(options.yearFirst ? ''.concat(viewYear + yearSuffix, ' ').concat(months[viewMonth]) : ''.concat(months[viewMonth], ' ').concat(viewYear).concat(yearSuffix)); - this.$days.html(prevItems.join('') + items.join('') + nextItems.join('')); - }, - }; - - var CLASS_TOP_LEFT = ''.concat(NAMESPACE, '-top-left'); - var CLASS_TOP_RIGHT = ''.concat(NAMESPACE, '-top-right'); - var CLASS_BOTTOM_LEFT = ''.concat(NAMESPACE, '-bottom-left'); - var CLASS_BOTTOM_RIGHT = ''.concat(NAMESPACE, '-bottom-right'); - var CLASS_PLACEMENTS = [CLASS_TOP_LEFT, CLASS_TOP_RIGHT, CLASS_BOTTOM_LEFT, CLASS_BOTTOM_RIGHT].join(' '); - - var Datepicker = /*#__PURE__*/ (function () { - function Datepicker(element) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - _classCallCheck(this, Datepicker); - - this.$element = $(element); - this.element = element; - this.options = $.extend({}, DEFAULTS, LANGUAGES[options.language], $.isPlainObject(options) && options); - this.$scrollParent = getScrollParent(element, true); - this.built = false; - this.shown = false; - this.isInput = false; - this.inline = false; - this.initialValue = ''; - this.initialDate = null; - this.startDate = null; - this.endDate = null; - this.init(); - } - - _createClass( - Datepicker, - [ - { - key: 'init', - value: function init() { - var $this = this.$element, - options = this.options; - var startDate = options.startDate, - endDate = options.endDate, - date = options.date; - this.$trigger = $(options.trigger); - this.isInput = $this.is('input') || $this.is('textarea'); - this.inline = options.inline && (options.container || !this.isInput); - this.format = parseFormat(options.format); - var initialValue = this.getValue(); - this.initialValue = initialValue; - this.oldValue = initialValue; - date = this.parseDate(date || initialValue); - - if (startDate) { - startDate = this.parseDate(startDate); - - if (date.getTime() < startDate.getTime()) { - date = new Date(startDate); - } - - this.startDate = startDate; - } - - if (endDate) { - endDate = this.parseDate(endDate); - - if (startDate && endDate.getTime() < startDate.getTime()) { - endDate = new Date(startDate); - } - - if (date.getTime() > endDate.getTime()) { - date = new Date(endDate); - } - - this.endDate = endDate; - } - - this.date = date; - this.viewDate = new Date(date); - this.initialDate = new Date(this.date); - this.bind(); - - if (options.autoShow || this.inline) { - this.show(); - } - - if (options.autoPick) { - this.pick(); - } - }, - }, - { - key: 'build', - value: function build() { - if (this.built) { - return; - } - - this.built = true; - var $this = this.$element, - options = this.options; - var $picker = $(options.template); - this.$picker = $picker; - this.$week = $picker.find(selectorOf('week')); // Years view - - this.$yearsPicker = $picker.find(selectorOf('years picker')); - this.$yearsPrev = $picker.find(selectorOf('years prev')); - this.$yearsNext = $picker.find(selectorOf('years next')); - this.$yearsCurrent = $picker.find(selectorOf('years current')); - this.$years = $picker.find(selectorOf('years')); // Months view - - this.$monthsPicker = $picker.find(selectorOf('months picker')); - this.$yearPrev = $picker.find(selectorOf('year prev')); - this.$yearNext = $picker.find(selectorOf('year next')); - this.$yearCurrent = $picker.find(selectorOf('year current')); - this.$months = $picker.find(selectorOf('months')); // Days view - - this.$daysPicker = $picker.find(selectorOf('days picker')); - this.$monthPrev = $picker.find(selectorOf('month prev')); - this.$monthNext = $picker.find(selectorOf('month next')); - this.$monthCurrent = $picker.find(selectorOf('month current')); - this.$days = $picker.find(selectorOf('days')); - - if (this.inline) { - $(options.container || $this).append($picker.addClass(''.concat(NAMESPACE, '-inline'))); - } else { - $(document.body).append($picker.addClass(''.concat(NAMESPACE, '-dropdown'))); - $picker.addClass(CLASS_HIDE).css({ - zIndex: parseInt(options.zIndex, 10), - }); - } - - this.renderWeek(); - }, - }, - { - key: 'unbuild', - value: function unbuild() { - if (!this.built) { - return; - } - - this.built = false; - this.$picker.remove(); - }, - }, - { - key: 'bind', - value: function bind() { - var options = this.options, - $this = this.$element; - - if ($.isFunction(options.show)) { - $this.on(EVENT_SHOW, options.show); - } - - if ($.isFunction(options.hide)) { - $this.on(EVENT_HIDE, options.hide); - } - - if ($.isFunction(options.pick)) { - $this.on(EVENT_PICK, options.pick); - } - - if (this.isInput) { - $this.on(EVENT_KEYUP, $.proxy(this.keyup, this)); - } - - if (!this.inline) { - if (options.trigger) { - this.$trigger.on(EVENT_CLICK, $.proxy(this.toggle, this)); - } else if (this.isInput) { - $this.on(EVENT_FOCUS, $.proxy(this.show, this)); - } else { - $this.on(EVENT_CLICK, $.proxy(this.show, this)); - } - } - }, - }, - { - key: 'unbind', - value: function unbind() { - var $this = this.$element, - options = this.options; - - if ($.isFunction(options.show)) { - $this.off(EVENT_SHOW, options.show); - } - - if ($.isFunction(options.hide)) { - $this.off(EVENT_HIDE, options.hide); - } - - if ($.isFunction(options.pick)) { - $this.off(EVENT_PICK, options.pick); - } - - if (this.isInput) { - $this.off(EVENT_KEYUP, this.keyup); - } - - if (!this.inline) { - if (options.trigger) { - this.$trigger.off(EVENT_CLICK, this.toggle); - } else if (this.isInput) { - $this.off(EVENT_FOCUS, this.show); - } else { - $this.off(EVENT_CLICK, this.show); - } - } - }, - }, - { - key: 'showView', - value: function showView(view) { - var $yearsPicker = this.$yearsPicker, - $monthsPicker = this.$monthsPicker, - $daysPicker = this.$daysPicker, - format = this.format; - - if (format.hasYear || format.hasMonth || format.hasDay) { - switch (Number(view)) { - case VIEWS.YEARS: - $monthsPicker.addClass(CLASS_HIDE); - $daysPicker.addClass(CLASS_HIDE); - - if (format.hasYear) { - this.renderYears(); - $yearsPicker.removeClass(CLASS_HIDE); - this.place(); - } else { - this.showView(VIEWS.DAYS); - } - - break; - - case VIEWS.MONTHS: - $yearsPicker.addClass(CLASS_HIDE); - $daysPicker.addClass(CLASS_HIDE); - - if (format.hasMonth) { - this.renderMonths(); - $monthsPicker.removeClass(CLASS_HIDE); - this.place(); - } else { - this.showView(VIEWS.YEARS); - } - - break; - // case VIEWS.DAYS: - - default: - $yearsPicker.addClass(CLASS_HIDE); - $monthsPicker.addClass(CLASS_HIDE); - - if (format.hasDay) { - this.renderDays(); - $daysPicker.removeClass(CLASS_HIDE); - this.place(); - } else { - this.showView(VIEWS.MONTHS); - } - } - } - }, - }, - { - key: 'hideView', - value: function hideView() { - if (!this.inline && this.options.autoHide) { - this.hide(); - } - }, - }, - { - key: 'place', - value: function place() { - if (this.inline) { - return; - } - - var $this = this.$element, - options = this.options, - $picker = this.$picker; - var containerWidth = $(document).outerWidth(); - var containerHeight = $(document).outerHeight(); - var elementWidth = $this.outerWidth(); - var elementHeight = $this.outerHeight(); - var width = $picker.width(); - var height = $picker.height(); - - var _$this$offset = $this.offset(), - left = _$this$offset.left, - top = _$this$offset.top; - - var offset = parseFloat(options.offset); - var placement = CLASS_TOP_LEFT; - - if (isNaN(offset)) { - offset = 10; - } - - if (top > height && top + elementHeight + height > containerHeight) { - top -= height + offset; - placement = CLASS_BOTTOM_LEFT; - } else { - top += elementHeight + offset; - } - - if (left + width > containerWidth) { - left += elementWidth - width; - placement = placement.replace('left', 'right'); - } - - $picker.removeClass(CLASS_PLACEMENTS).addClass(placement).css({ - top: top, - left: left, - }); - }, // A shortcut for triggering custom events - }, - { - key: 'trigger', - value: function trigger(type, data) { - var e = $.Event(type, data); - this.$element.trigger(e); - return e; - }, - }, - { - key: 'createItem', - value: function createItem(data) { - var options = this.options; - var itemTag = options.itemTag; - var item = { - text: '', - view: '', - muted: false, - picked: false, - disabled: false, - highlighted: false, - }; - var classes = []; - $.extend(item, data); - - if (item.muted) { - classes.push(options.mutedClass); - } - - if (item.highlighted) { - classes.push(options.highlightedClass); - } - - if (item.picked) { - classes.push(options.pickedClass); - } - - if (item.disabled) { - classes.push(options.disabledClass); - } - - return '<'.concat(itemTag, ' class="').concat(classes.join(' '), '" data-view="').concat(item.view, '">').concat(item.text, ''); - }, - }, - { - key: 'getValue', - value: function getValue() { - var $this = this.$element; - return this.isInput ? $this.val() : $this.text(); - }, - }, - { - key: 'setValue', - value: function setValue() { - var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; - var $this = this.$element; - - if (this.isInput) { - $this.val(value); - } else if (!this.inline || this.options.container) { - $this.text(value); - } - }, - }, - ], - [ - { - key: 'setDefaults', - value: function setDefaults() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - $.extend(DEFAULTS, LANGUAGES[options.language], $.isPlainObject(options) && options); - }, - }, - ], - ); - - return Datepicker; - })(); - - if ($.extend) { - $.extend(Datepicker.prototype, render, handlers, methods); - } - - if ($.fn) { - var AnotherDatepicker = $.fn.datepicker; - - $.fn.datepicker = function jQueryDatepicker(option) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - var result; - this.each(function (i, element) { - var $element = $(element); - var isDestroy = option === 'destroy'; - var datepicker = $element.data(NAMESPACE); - - if (!datepicker) { - if (isDestroy) { - return; - } - - var options = $.extend({}, $element.data(), $.isPlainObject(option) && option); - datepicker = new Datepicker(element, options); - $element.data(NAMESPACE, datepicker); - } - - if (isString(option)) { - var fn = datepicker[option]; - - if ($.isFunction(fn)) { - result = fn.apply(datepicker, args); - - if (isDestroy) { - $element.removeData(NAMESPACE); - } - } - } - }); - return !isUndefined(result) ? result : this; - }; - - $.fn.datepicker.Constructor = Datepicker; - $.fn.datepicker.languages = LANGUAGES; - $.fn.datepicker.setDefaults = Datepicker.setDefaults; - - $.fn.datepicker.noConflict = function noConflict() { - $.fn.datepicker = AnotherDatepicker; - return this; - }; - } -}); diff --git a/demos/nginx-demo/html/ezuikit_static/rec/datepicker.min.css b/demos/nginx-demo/html/ezuikit_static/rec/datepicker.min.css deleted file mode 100644 index c6e9ffa..0000000 --- a/demos/nginx-demo/html/ezuikit_static/rec/datepicker.min.css +++ /dev/null @@ -1,42 +0,0 @@ -/*! - * Datepicker v1.0.10 - * https://fengyuanchen.github.io/datepicker - * - * Copyright 2014-present Chen Fengyuan - * Released under the MIT license - * - * Date: 2020-09-29T14:46:09.037Z - */ - .datepicker-container{background-color:#fff;direction:ltr;font-size:12px;left:0;line-height:30px;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:210px;z-index:-1}.datepicker-container:after,.datepicker-container:before{border:5px solid transparent;content:" ";display:block;height:0;position:absolute;width:0}.datepicker-dropdown{border:1px solid #ccc;-webkit-box-shadow:0 3px 6px #ccc;box-shadow:0 3px 6px #ccc;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute;z-index:1}.datepicker-inline{position:static}.datepicker-top-left,.datepicker-top-right{border-top-color:#39f}.datepicker-top-left:after,.datepicker-top-left:before,.datepicker-top-right:after,.datepicker-top-right:before{border-top:0;left:10px;top:-5px}.datepicker-top-left:before,.datepicker-top-right:before{border-bottom-color:#39f}.datepicker-top-left:after,.datepicker-top-right:after{border-bottom-color:#fff;top:-4px}.datepicker-bottom-left,.datepicker-bottom-right{border-bottom-color:#39f}.datepicker-bottom-left:after,.datepicker-bottom-left:before,.datepicker-bottom-right:after,.datepicker-bottom-right:before{border-bottom:0;bottom:-5px;left:10px}.datepicker-bottom-left:before,.datepicker-bottom-right:before{border-top-color:#39f}.datepicker-bottom-left:after,.datepicker-bottom-right:after{border-top-color:#fff;bottom:-4px}.datepicker-bottom-right:after,.datepicker-bottom-right:before,.datepicker-top-right:after,.datepicker-top-right:before{left:auto;right:10px}.datepicker-panel>ul{margin:0;padding:0;width:102%}.datepicker-panel>ul:after,.datepicker-panel>ul:before{content:" ";display:table}.datepicker-panel>ul:after{clear:both}.datepicker-panel>ul>li{background-color:#fff;cursor:pointer;float:left;height:30px;list-style:none;margin:0;padding:0;text-align:center;width:30px}.datepicker-panel>ul>li:hover{background-color:#e5f2ff}.datepicker-panel>ul>li.muted,.datepicker-panel>ul>li.muted:hover{color:#999}.datepicker-panel>ul>li.highlighted{background-color:#e5f2ff}.datepicker-panel>ul>li.highlighted:hover{background-color:#cce5ff}.datepicker-panel>ul>li.picked,.datepicker-panel>ul>li.picked:hover{color:#39f}.datepicker-panel>ul>li.disabled,.datepicker-panel>ul>li.disabled:hover{background-color:#fff;color:#ccc;cursor:default}.datepicker-panel>ul>li.disabled.highlighted,.datepicker-panel>ul>li.disabled:hover.highlighted{background-color:#e5f2ff}.datepicker-panel>ul>li[data-view="month next"],.datepicker-panel>ul>li[data-view="month prev"],.datepicker-panel>ul>li[data-view="year next"],.datepicker-panel>ul>li[data-view="year prev"],.datepicker-panel>ul>li[data-view="years next"],.datepicker-panel>ul>li[data-view="years prev"],.datepicker-panel>ul>li[data-view=next]{font-size:18px}.datepicker-panel>ul>li[data-view="month current"],.datepicker-panel>ul>li[data-view="year current"],.datepicker-panel>ul>li[data-view="years current"]{width:150px}.datepicker-panel>ul[data-view=months]>li,.datepicker-panel>ul[data-view=years]>li{height:52.5px;line-height:52.5px;width:52.5px}.datepicker-panel>ul[data-view=week]>li,.datepicker-panel>ul[data-view=week]>li:hover{background-color:#fff;cursor:default}.datepicker-hide{display:none} - .datepicker-container { - border-radius: 4px; - } - .datepicker-panel>ul>li { - border-radius: 100%; - color: rgba(0,0,0,0.65); - } - .datepicker-panel>ul>li.picked, .datepicker-panel>ul>li.picked:hover { - color: #39f; -} -.datepicker-inline { - position: absolute; - z-index: 999999; - /* bottom: 0px; */ - right: 0px; - max-height: 250px; - /* top: auto; */ - left: auto; - box-shadow: 5px 5px 15px rgba(0,0,0,0.1); - } - - .datepicker-mobile-inline { - - } - -.datepicker-panel>ul>li.picked { - background: #1890ff; - color: #fff; -} -.datepicker-dropdown { - box-shadow: none; -} diff --git a/demos/nginx-demo/html/ezuikit_static/rec/datepicker.zh-CN.js b/demos/nginx-demo/html/ezuikit_static/rec/datepicker.zh-CN.js deleted file mode 100644 index c7c5d84..0000000 --- a/demos/nginx-demo/html/ezuikit_static/rec/datepicker.zh-CN.js +++ /dev/null @@ -1,17 +0,0 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : factory(global.jQuery); -})(this, function ($) { - 'use strict'; - - $.fn.datepicker.languages['zh-CN'] = { - format: 'yyyy年mm月dd日', - days: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], - daysShort: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], - daysMin: ['日', '一', '二', '三', '四', '五', '六'], - months: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], - monthsShort: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], - weekStart: 1, - yearFirst: true, - yearSuffix: '年', - }; -}); diff --git a/demos/nginx-demo/html/ezuikit_static/rec/jquery.min.js b/demos/nginx-demo/html/ezuikit_static/rec/jquery.min.js deleted file mode 100644 index 49d1fcf..0000000 --- a/demos/nginx-demo/html/ezuikit_static/rec/jquery.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
          "],col:[2,"","
          "],tr:[2,"","
          "],td:[3,"","
          "],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w(" - - - -
          -

          视频模式使用示例:

          -
          -
          - - - - - - - - - - - - -
          -

          - 播放多个视频,可初始化多个实例,参考:/demos/base-demo/multi-demo -

          -
          - - - diff --git a/demos/nginx-demo/html/server.js b/demos/nginx-demo/html/server.js deleted file mode 100644 index a3e4c68..0000000 --- a/demos/nginx-demo/html/server.js +++ /dev/null @@ -1,72 +0,0 @@ -const http = require('http') -const url = require('url') -const fs = require('fs') -const path = require('path') -// const mime = require('mime') - -const mime = { - map: { - 'html': 'text/html', - 'xhtml': 'application/xhtml+xml', - 'xml': 'text/xml', - 'js': 'application/javascript', - 'wasm': 'application/wasm', - 'map': 'magnus-internal/imagemap', - 'css': 'text/css', - 'png': 'image/png', - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'gif': 'image/gif', - 'ico': 'image/vnd.microsoft.icon' - }, - getType: function (ext) { - let conType = this.map[ext] - return conType || 'text/plain' - } -} - -const httpServer = http.createServer() - -httpServer.on('request', (req, res) => { - console.log(`[receive request] ${req.method} ${req.url}`) - - const urlJson = url.parse(req.url) - let { pathname } = urlJson - if (pathname.includes('..')) { - res.writeHead(403); - res.end(); - return; - } - let ext = pathname.split('.').pop() - // all - // res.setHeader('Cross-Origin-Embedder-Policy', 'require-corp') - // res.setHeader('Cross-Origin-Opener-Policy', 'same-origin') - // just page file - if (ext === 'html' || ext === 'xhtml'|| ext === 'js') { - //跨域隔离 - res.setHeader('Cross-Origin-Embedder-Policy', 'require-corp') - res.setHeader('Cross-Origin-Opener-Policy', 'same-origin') - res.setHeader('Access-Control-Allow-Origin', 'https://resource.eziot.com') - //影响报告 - //res.setHeader('Cross-Origin-Embedder-Policy-Report-Only', 'require-corp') - //res.setHeader('Cross-Origin-Opener-Policy-Report-Only', 'same-origin') - } - - let contentType = mime.getType(ext) - res.setHeader('Content-Type', contentType) - - fs.readFile(path.resolve(__dirname, pathname.substr(1)), (err, data) => { - if (err) { - res.writeHead(404) - res.end('Not found.') - } else { - res.writeHead(200) - res.end(data) - } - }) -}) - -const PORT = 9090 -httpServer.listen(9090, () => { - console.log(`Server running at http://localhost:${PORT}`) -}) diff --git a/demos/nginx-demo/logs/access.log b/demos/nginx-demo/logs/access.log deleted file mode 100644 index e69de29..0000000 diff --git a/demos/nginx-demo/logs/error.log b/demos/nginx-demo/logs/error.log deleted file mode 100644 index e69de29..0000000 diff --git a/demos/nginx-demo/logs/nginx.pid b/demos/nginx-demo/logs/nginx.pid deleted file mode 100644 index d2acb3a..0000000 --- a/demos/nginx-demo/logs/nginx.pid +++ /dev/null @@ -1 +0,0 @@ -9772 diff --git a/demos/nginx-demo/nginx.exe b/demos/nginx-demo/nginx.exe deleted file mode 100644 index cb98ba7..0000000 Binary files a/demos/nginx-demo/nginx.exe and /dev/null differ diff --git a/demos/react-demo/package.json b/demos/react-demo/package.json index d202357..cb97676 100644 --- a/demos/react-demo/package.json +++ b/demos/react-demo/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { - "ezuikit-js": "8.2.0-beta.6", + "ezuikit-js": "8.2.0", "react": "^17", "react-dom": "^17", "react-scripts": "5.0.1", diff --git a/demos/react-demo/pnpm-lock.yaml b/demos/react-demo/pnpm-lock.yaml index 9fe674f..bbe331a 100644 --- a/demos/react-demo/pnpm-lock.yaml +++ b/demos/react-demo/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: ezuikit-js: - specifier: 8.2.0-beta.6 - version: 8.2.0-beta.6 + specifier: 8.2.0 + version: 8.2.0 react: specifier: ^17 version: 17.0.2 @@ -1721,13 +1721,13 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /@ezuikit/player-ezopen@8.2.2-beta.3: - resolution: {integrity: sha512-8VekrlF9BM5IO3oruckJB9tkiBjywNPdUDdIc50koTiwboCQkjw5BhPr8W4d6DCveBunr/CRMKUHvxPIYzpsyw==} + /@ezuikit/player-ezopen@8.2.2-beta.5: + resolution: {integrity: sha512-ohA86UGWWizx+X4pw9h9qh5sVuPt9QHxS38E76IqOlsQFszYtT8Q/KuJ3ONhulX2KZRpxkEDkyjyFzpT/6T/Cw==} dependencies: - '@ezuikit/player-plugin-record': 8.2.0 + '@ezuikit/player-plugin-record': 8.2.1 '@ezuikit/utils-i18n': 2.0.0 '@ezuikit/utils-logger': 2.0.0 - '@ezuikit/utils-service': 1.0.1 + '@ezuikit/utils-service': 2.0.0-beta.2 '@ezuikit/utils-tools': 2.0.1-beta.1 dayjs: 1.11.13 deepmerge: 4.3.1 @@ -1736,8 +1736,10 @@ packages: ua-parser-js: 1.0.37 dev: false - /@ezuikit/player-plugin-record@8.2.0: - resolution: {integrity: sha512-5T+1pSw83FmZDrpcNrDRQOf0vv3a3flnwWWZ8N42ZZENtATeMUAXXu2LkmnrLpsRmSVBELIX13adEqnAk1k39A==} + /@ezuikit/player-plugin-record@8.2.1: + resolution: {integrity: sha512-HlWQbd6SOWya5xo0EplsEIGPt52EQrVqNm/jHQMZKqslkiEzCDVUUvUYoFbl3fa5xf7Lh1a+YIATm/4L4iZKng==} + dependencies: + uuid: 8.3.0 dev: false /@ezuikit/utils-collect@0.1.1: @@ -1754,17 +1756,13 @@ packages: resolution: {integrity: sha512-xtq7Vwle75pfA1UfmcsO2cAdqu9n04fxXDu32fpta7A99ENgyk8saK1NRxeiLnqQHdibaIAmrIbfehgLAH6ecQ==} dev: false - /@ezuikit/utils-service@1.0.1: - resolution: {integrity: sha512-iNjYuU7AScBJxvKBM9PjiGI2y64QJNPT/H1Fy/Y7ZIAlw4DO//TP+x50qCho+i+EOUpWLtOqBQvtRb7a0O4X4Q==} + /@ezuikit/utils-service@2.0.0-beta.2: + resolution: {integrity: sha512-Ta27VRDZK1LRRQ9YznYxCqMIeCnO4hnhzQNir3R6ieMy0MnV1pjblVJo2f/f/DRhncNqEHW8IUEcOTKBiIbX8Q==} dependencies: - '@ezuikit/utils-tools': 1.1.0 + '@ezuikit/utils-tools': 2.0.1-beta.1 dayjs: 1.11.13 dev: false - /@ezuikit/utils-tools@1.1.0: - resolution: {integrity: sha512-mujPtXIhZnuJrJySu1/Z6X90sMJQStZydurZcfetMCH6pqIYN4P+1w6+P8PCTR6k4LJp5nY9+eNnKa7AZ8OBKA==} - dev: false - /@ezuikit/utils-tools@2.0.1-beta.1: resolution: {integrity: sha512-TDH7G6NXG55d7gRDAcAhMoC4ZyjsJ8tEGiXGnZ0Bzf+jxy1y6el9gm0jCBz9pwCuJSWFttH3l1nd6P9+57+oVg==} dev: false @@ -5149,10 +5147,10 @@ packages: - supports-color dev: false - /ezuikit-js@8.2.0-beta.6: - resolution: {integrity: sha512-DfAJoAh5ADS+QGwkTEMDqRSClDvP84YOIwQU62RTQM6vBs4AncpeG++DK4D2PxBj6SzwkuFisDeGDLjRCz+7+w==} + /ezuikit-js@8.2.0: + resolution: {integrity: sha512-Yt+1GWce3vqty50jU1Fi4ac90Kbq25D2AJnIhV0e6uuBXEHLmqoyS1uWaKVUiVbR7MVjwVY8ab0Vk8LButF83g==} dependencies: - '@ezuikit/player-ezopen': 8.2.2-beta.3 + '@ezuikit/player-ezopen': 8.2.2-beta.5 '@ezuikit/utils-collect': 0.1.1 '@ezuikit/utils-i18n': 2.0.0 '@ezuikit/utils-logger': 2.0.0 @@ -10273,6 +10271,11 @@ packages: engines: {node: '>= 0.4.0'} dev: false + /uuid@8.3.0: + resolution: {integrity: sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==} + hasBin: true + dev: false + /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true diff --git a/demos/react-demo/src/PlayerClass.js b/demos/react-demo/src/PlayerClass.js index bfeac33..14d3872 100644 --- a/demos/react-demo/src/PlayerClass.js +++ b/demos/react-demo/src/PlayerClass.js @@ -28,12 +28,12 @@ class Player extends React.Component { id: "player-container", // 视频容器ID url: "ezopen://open.ys7.com/BC7799091/1.hd.live", accessToken: - "at.2s5bel782emtho68ae31snumc1wuuioa-3d531vj77f-0gtnx7g-fddkee44", + "at.9uoaxo0k3e5dinq8bretm18e5l37k1l6-26lx1qcvcc-1neesaz-kh9hqvqc3", // simple:极简版; pcLive: pc直播; pcRec: pc回放; mobileLive: 移动端直播; mobileRec: 移动端回放; security: 安防版; voice: 语音版; template: "pcLive", - width: 600, + // width: 600, height: 400, - quality: 1, // + // quality: 1, // handleFirstFrameDisplay: (res) => { // 首帧 }, @@ -43,6 +43,7 @@ class Player extends React.Component { // language: "en", // zh | en // staticPath: "/ezuikit_static", // 如果想使用本地静态资源,请复制根目录下ezuikit_static 到当前目录下, 然后设置该值 // isCloudRecord: true, // 如果是云录制的播放 需要这个值,是必须的 + scaleMode: 1, // 默认 0 完全填充窗口,会有拉伸 1: 等比适配 2: 等比完全填充窗口, 超出隐藏 @sine 8.2.0 env: { // https://open.ys7.com/help/1772?h=domain // domain默认是 https://open.ys7.com, 如果是私有化部署或海外的环境,请配置对应的domain @@ -131,7 +132,7 @@ class Player extends React.Component {

          视频模式使用示例:

          -
          +
          diff --git a/demos/vue-demo/package.json b/demos/vue-demo/package.json index b55cc8f..bd5152a 100644 --- a/demos/vue-demo/package.json +++ b/demos/vue-demo/package.json @@ -9,13 +9,13 @@ }, "dependencies": { "core-js": "^3.6.5", - "ezuikit-js": "8.2.0-beta.2", + "ezuikit-js": "8.2.0", "vue": "^2.7" }, "devDependencies": { - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-service": "5.0.8", - "vue-template-compiler": "^2.7" + "@vue/cli-plugin-babel": "5.0.9", + "@vue/cli-service": "5.0.9", + "vue-template-compiler": "^2.7.16" }, "browserslist": [ "> 1%", diff --git a/demos/vue-demo/pnpm-lock.yaml b/demos/vue-demo/pnpm-lock.yaml index 9f7425e..528388a 100644 --- a/demos/vue-demo/pnpm-lock.yaml +++ b/demos/vue-demo/pnpm-lock.yaml @@ -9,21 +9,21 @@ dependencies: specifier: ^3.6.5 version: 3.42.0 ezuikit-js: - specifier: 8.2.0-beta.2 - version: 8.2.0-beta.2 + specifier: 8.2.0 + version: 8.2.0 vue: specifier: ^2.7 version: 2.7.16 devDependencies: '@vue/cli-plugin-babel': - specifier: 5.0.8 - version: 5.0.8(@vue/cli-service@5.0.8)(core-js@3.42.0)(vue@2.7.16) + specifier: 5.0.9 + version: 5.0.9(@vue/cli-service@5.0.9)(core-js@3.42.0)(vue@2.7.16) '@vue/cli-service': - specifier: 5.0.8 - version: 5.0.8(vue-template-compiler@2.7.16)(vue@2.7.16) + specifier: 5.0.9 + version: 5.0.9(vue-template-compiler@2.7.16)(vue@2.7.16) vue-template-compiler: - specifier: ^2.7 + specifier: ^2.7.16 version: 2.7.16 packages: @@ -1154,15 +1154,14 @@ packages: engines: {node: '>=10.0.0'} dev: true - /@ezuikit/player-ezopen@8.2.0-beta.1: - resolution: {integrity: sha512-VMBtDeJUqL0XW4QuWlYVG5yrYpkqYFF7bl08TrH2MzOuTLAU9pYlqlG+8CV3TwtOPqzu0Gk1BDM9VZDE0z3R6g==} + /@ezuikit/player-ezopen@8.2.2-beta.5: + resolution: {integrity: sha512-ohA86UGWWizx+X4pw9h9qh5sVuPt9QHxS38E76IqOlsQFszYtT8Q/KuJ3ONhulX2KZRpxkEDkyjyFzpT/6T/Cw==} dependencies: - '@ezuikit/player-plugin-record': 8.2.0-beta.1 - '@ezuikit/utils-i18n': 1.1.1 - '@ezuikit/utils-logger': 1.1.0 - '@ezuikit/utils-service': 1.0.1 - '@ezuikit/utils-tools': 1.1.0 - '@juggle/resize-observer': 3.4.0 + '@ezuikit/player-plugin-record': 8.2.1 + '@ezuikit/utils-i18n': 2.0.0 + '@ezuikit/utils-logger': 2.0.0 + '@ezuikit/utils-service': 2.0.0-beta.2 + '@ezuikit/utils-tools': 2.0.1-beta.1 dayjs: 1.11.13 deepmerge: 4.3.1 eventemitter3: 5.0.1 @@ -1170,33 +1169,35 @@ packages: ua-parser-js: 1.0.37 dev: false - /@ezuikit/player-plugin-record@8.2.0-beta.1: - resolution: {integrity: sha512-ECOWyH0DL3L26dqKPDdy4GPHBSoQKEifWlZo6C45WeyhnhxzgELsbVPBm5vizFQrZFmgvkBrCsOwUO8e7TfMuQ==} + /@ezuikit/player-plugin-record@8.2.1: + resolution: {integrity: sha512-HlWQbd6SOWya5xo0EplsEIGPt52EQrVqNm/jHQMZKqslkiEzCDVUUvUYoFbl3fa5xf7Lh1a+YIATm/4L4iZKng==} + dependencies: + uuid: 8.3.0 dev: false /@ezuikit/utils-collect@0.1.1: resolution: {integrity: sha512-BgEOnTtAq8rQRBAKv5rLXbQLGOnfOZ6NS0QTmiviey80JbMJlxrLiqmjL5lxvkm4JtCcXCtSgPA4tskQKN4eDA==} dev: false - /@ezuikit/utils-i18n@1.1.1: - resolution: {integrity: sha512-PZe37fHfjUbhArXaoWMxbGOnU1R6k8XV7NroB3n2uL+z06SajozxO5TQARrk7Z72USQPvUsyaKIBcwVNjWK6/w==} + /@ezuikit/utils-i18n@2.0.0: + resolution: {integrity: sha512-gMkfdwFTRk3bAkUVWRGPyEsQl4aIImBpQp732aSSHA75LFPi1MmdaB2Xf34OeC+4v+Anpbt75vviCpUrKPMKlQ==} dependencies: deepmerge: 4.3.1 dev: false - /@ezuikit/utils-logger@1.1.0: - resolution: {integrity: sha512-l/PiFZIC/VtW2l1oEjZEXfeYKFkPvX1kAlljXc1nRImNOI9t71/2oyTTkqkZvMLP/EG5regD9wuQplcvtfubUg==} + /@ezuikit/utils-logger@2.0.0: + resolution: {integrity: sha512-xtq7Vwle75pfA1UfmcsO2cAdqu9n04fxXDu32fpta7A99ENgyk8saK1NRxeiLnqQHdibaIAmrIbfehgLAH6ecQ==} dev: false - /@ezuikit/utils-service@1.0.1: - resolution: {integrity: sha512-iNjYuU7AScBJxvKBM9PjiGI2y64QJNPT/H1Fy/Y7ZIAlw4DO//TP+x50qCho+i+EOUpWLtOqBQvtRb7a0O4X4Q==} + /@ezuikit/utils-service@2.0.0-beta.2: + resolution: {integrity: sha512-Ta27VRDZK1LRRQ9YznYxCqMIeCnO4hnhzQNir3R6ieMy0MnV1pjblVJo2f/f/DRhncNqEHW8IUEcOTKBiIbX8Q==} dependencies: - '@ezuikit/utils-tools': 1.1.0 + '@ezuikit/utils-tools': 2.0.1-beta.1 dayjs: 1.11.13 dev: false - /@ezuikit/utils-tools@1.1.0: - resolution: {integrity: sha512-mujPtXIhZnuJrJySu1/Z6X90sMJQStZydurZcfetMCH6pqIYN4P+1w6+P8PCTR6k4LJp5nY9+eNnKa7AZ8OBKA==} + /@ezuikit/utils-tools@2.0.1-beta.1: + resolution: {integrity: sha512-TDH7G6NXG55d7gRDAcAhMoC4ZyjsJ8tEGiXGnZ0Bzf+jxy1y6el9gm0jCBz9pwCuJSWFttH3l1nd6P9+57+oVg==} dev: false /@hapi/hoek@9.3.0: @@ -1545,8 +1546,8 @@ packages: - supports-color dev: true - /@vue/babel-preset-app@5.0.8(@babel/core@7.27.1)(core-js@3.42.0)(vue@2.7.16): - resolution: {integrity: sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==} + /@vue/babel-preset-app@5.0.9(@babel/core@7.27.1)(core-js@3.42.0)(vue@2.7.16): + resolution: {integrity: sha512-0rKOF4s/AhaRMJLybxOCgXfwtYhO3pwDSL/q/W8wRs1LzmHAc77FyTXWlun6VyKiSKwSdtH7CvOiWqq+DfofdA==} peerDependencies: '@babel/core': '*' core-js: ^3 @@ -1666,19 +1667,19 @@ packages: - supports-color dev: true - /@vue/cli-overlay@5.0.8: - resolution: {integrity: sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ==} + /@vue/cli-overlay@5.0.9: + resolution: {integrity: sha512-aBdZWrYKxLuFz1FDsk/muFD7GycrsW73Gi11yRc7R2W7Bm8mDRc9HKAI790gdg4NV+chkDFmfkegjg5iMDEpAA==} dev: true - /@vue/cli-plugin-babel@5.0.8(@vue/cli-service@5.0.8)(core-js@3.42.0)(vue@2.7.16): - resolution: {integrity: sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==} + /@vue/cli-plugin-babel@5.0.9(@vue/cli-service@5.0.9)(core-js@3.42.0)(vue@2.7.16): + resolution: {integrity: sha512-oDZt1Kfe4KGNtig3/3zFo2pIeDJij2uS0M6S+tAqQno4Zpla2D8Hk/AR5PrstUd/HmhHZYJoGyF78MOfj3SbWg==} peerDependencies: '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 dependencies: '@babel/core': 7.27.1 - '@vue/babel-preset-app': 5.0.8(@babel/core@7.27.1)(core-js@3.42.0)(vue@2.7.16) - '@vue/cli-service': 5.0.8(vue-template-compiler@2.7.16)(vue@2.7.16) - '@vue/cli-shared-utils': 5.0.8 + '@vue/babel-preset-app': 5.0.9(@babel/core@7.27.1)(core-js@3.42.0)(vue@2.7.16) + '@vue/cli-service': 5.0.9(vue-template-compiler@2.7.16)(vue@2.7.16) + '@vue/cli-shared-utils': 5.0.9 babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@5.99.9) thread-loader: 3.0.4(webpack@5.99.9) webpack: 5.99.9 @@ -1693,27 +1694,27 @@ packages: - webpack-cli dev: true - /@vue/cli-plugin-router@5.0.8(@vue/cli-service@5.0.8): - resolution: {integrity: sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg==} + /@vue/cli-plugin-router@5.0.9(@vue/cli-service@5.0.9): + resolution: {integrity: sha512-kopbO/8kIl5CAffwgptXEwV509i+M0FfwW4sSkgQ2RzpxOYBjQZvp+096mjZfFcWKSmryNP/ri/Mnu78vmhlhw==} peerDependencies: '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 dependencies: - '@vue/cli-service': 5.0.8(vue-template-compiler@2.7.16)(vue@2.7.16) - '@vue/cli-shared-utils': 5.0.8 + '@vue/cli-service': 5.0.9(vue-template-compiler@2.7.16)(vue@2.7.16) + '@vue/cli-shared-utils': 5.0.9 transitivePeerDependencies: - encoding dev: true - /@vue/cli-plugin-vuex@5.0.8(@vue/cli-service@5.0.8): - resolution: {integrity: sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==} + /@vue/cli-plugin-vuex@5.0.9(@vue/cli-service@5.0.9): + resolution: {integrity: sha512-AQhgGNFVd4Pu2crvS0a+hRckgrJv07gzOASdbLd3I72wkT43dd01MLRp8IBRRsu92t3MXenW86AZUCbQBz3//A==} peerDependencies: '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 dependencies: - '@vue/cli-service': 5.0.8(vue-template-compiler@2.7.16)(vue@2.7.16) + '@vue/cli-service': 5.0.9(vue-template-compiler@2.7.16)(vue@2.7.16) dev: true - /@vue/cli-service@5.0.8(vue-template-compiler@2.7.16)(vue@2.7.16): - resolution: {integrity: sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==} + /@vue/cli-service@5.0.9(vue-template-compiler@2.7.16)(vue@2.7.16): + resolution: {integrity: sha512-yTX7GVyM19tEbd+y5/gA6MkVKA6K61nVYHYAivD61Hx6odVFmQsaC3/R3cWAHM1P5oVKCevBbumPljbT+tFG2w==} engines: {node: ^12.0.0 || >= 14.0.0} hasBin: true peerDependencies: @@ -1747,10 +1748,10 @@ packages: '@soda/friendly-errors-webpack-plugin': 1.8.1(webpack@5.99.9) '@soda/get-current-script': 1.0.2 '@types/minimist': 1.2.5 - '@vue/cli-overlay': 5.0.8 - '@vue/cli-plugin-router': 5.0.8(@vue/cli-service@5.0.8) - '@vue/cli-plugin-vuex': 5.0.8(@vue/cli-service@5.0.8) - '@vue/cli-shared-utils': 5.0.8 + '@vue/cli-overlay': 5.0.9 + '@vue/cli-plugin-router': 5.0.9(@vue/cli-service@5.0.9) + '@vue/cli-plugin-vuex': 5.0.9(@vue/cli-service@5.0.9) + '@vue/cli-shared-utils': 5.0.9 '@vue/component-compiler-utils': 3.3.0 '@vue/vue-loader-v15': /vue-loader@15.11.1(css-loader@6.11.0)(vue-template-compiler@2.7.16)(webpack@5.99.9) '@vue/web-component-wrapper': 1.3.0 @@ -1870,8 +1871,8 @@ packages: - whiskers dev: true - /@vue/cli-shared-utils@5.0.8: - resolution: {integrity: sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==} + /@vue/cli-shared-utils@5.0.9: + resolution: {integrity: sha512-lf4KykiG8j9KwvNVi7fKtASmHuLsxCcCsflVU2b2CHMRuR4weOIV3zuuCrjWKjk0APn/MHJhgCjJGzHMbTtd5w==} dependencies: '@achrinza/node-ipc': 9.2.9 chalk: 4.1.2 @@ -3531,14 +3532,14 @@ packages: - supports-color dev: true - /ezuikit-js@8.2.0-beta.2: - resolution: {integrity: sha512-SJjOX2CdS0FaJDLcqOlCrOIA65T28+IPLH9Zd7e0AmJ8x+h+q9q1qyT9Jh0CaHinZKdQt38PNTzx9Jx0QDD5lw==} + /ezuikit-js@8.2.0: + resolution: {integrity: sha512-Yt+1GWce3vqty50jU1Fi4ac90Kbq25D2AJnIhV0e6uuBXEHLmqoyS1uWaKVUiVbR7MVjwVY8ab0Vk8LButF83g==} dependencies: - '@ezuikit/player-ezopen': 8.2.0-beta.1 + '@ezuikit/player-ezopen': 8.2.2-beta.5 '@ezuikit/utils-collect': 0.1.1 - '@ezuikit/utils-i18n': 1.1.1 - '@ezuikit/utils-logger': 1.1.0 - '@ezuikit/utils-tools': 1.1.0 + '@ezuikit/utils-i18n': 2.0.0 + '@ezuikit/utils-logger': 2.0.0 + '@ezuikit/utils-tools': 2.0.1-beta.1 '@juggle/resize-observer': 3.4.0 abortcontroller-polyfill: 1.7.8 debounce-promise: 3.1.2 @@ -6140,6 +6141,11 @@ packages: engines: {node: '>= 0.4.0'} dev: true + /uuid@8.3.0: + resolution: {integrity: sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==} + hasBin: true + dev: false + /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true diff --git a/demos/vue-demo/src/components/Player.vue b/demos/vue-demo/src/components/Player.vue index b9f030e..03189e3 100644 --- a/demos/vue-demo/src/components/Player.vue +++ b/demos/vue-demo/src/components/Player.vue @@ -42,12 +42,12 @@ export default { }, data() { return { - url: "ezopen://open.ys7.com/BC7900686/1.live", - accessToken: "ra.c6wqy0gzcm1f6ryr5sh2vdqr7zo7zu26-1ovtzabpog-1rbv9vr-urpfpktwb", + url: "ezopen://open.ys7.com/BC7799091/1.live", + accessToken: "at.9uoaxo0k3e5dinq8bretm18e5l37k1l6-26lx1qcvcc-1neesaz-kh9hqvqc3", template: "pcLive", width: "100%", height: 400, - staticPath: "./ezuikit_static", + staticPath: "", }; }, mounted: () => { @@ -78,6 +78,7 @@ export default { // quality: 1, // // language: "en", // zh | en staticPath: this.staticPath, // 如果想使用本地静态资源,请复制根目录下ezuikit_static 到当前目录下, 然后设置该值 + scaleMode: 1, // 默认 0 完全填充窗口,会有拉伸 1: 等比适配 2: 等比完全填充窗口, 超出隐藏 @sine 8.2.0 env: { // https://open.ys7.com/help/1772?h=domain // domain默认是 https://open.ys7.com, 如果是私有化部署或海外的环境,请配置对应的domain diff --git a/demos/vue3-demo/package.json b/demos/vue3-demo/package.json index b97e11c..3780d2f 100644 --- a/demos/vue3-demo/package.json +++ b/demos/vue3-demo/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "ezuikit-js": "8.2.0-beta.4", + "ezuikit-js": "8.2.0", "vue": "3.4.37" }, "devDependencies": { diff --git a/demos/vue3-demo/pnpm-lock.yaml b/demos/vue3-demo/pnpm-lock.yaml index 7564439..ec1220e 100644 --- a/demos/vue3-demo/pnpm-lock.yaml +++ b/demos/vue3-demo/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: ezuikit-js: - specifier: 8.2.0-beta.4 - version: 8.2.0-beta.4 + specifier: 8.2.0 + version: 8.2.0 vue: specifier: 3.4.37 version: 3.4.37(typescript@5.9.3) @@ -260,15 +260,14 @@ packages: dev: true optional: true - /@ezuikit/player-ezopen@8.2.0-beta.3: - resolution: {integrity: sha512-KtvJNdkbrLX6Z7LAOAnzqASkysy3U0strqjebnWFEMvdLLAD/rtVXQLnkC10URpC6K6I6ptULfcjVX/ZkzDmTw==} + /@ezuikit/player-ezopen@8.2.2-beta.5: + resolution: {integrity: sha512-ohA86UGWWizx+X4pw9h9qh5sVuPt9QHxS38E76IqOlsQFszYtT8Q/KuJ3ONhulX2KZRpxkEDkyjyFzpT/6T/Cw==} dependencies: - '@ezuikit/player-plugin-record': 8.2.0-beta.1 - '@ezuikit/utils-i18n': 1.1.1 - '@ezuikit/utils-logger': 1.1.0 - '@ezuikit/utils-service': 1.0.1 - '@ezuikit/utils-tools': 1.1.0 - '@juggle/resize-observer': 3.4.0 + '@ezuikit/player-plugin-record': 8.2.1 + '@ezuikit/utils-i18n': 2.0.0 + '@ezuikit/utils-logger': 2.0.0 + '@ezuikit/utils-service': 2.0.0-beta.2 + '@ezuikit/utils-tools': 2.0.1-beta.1 dayjs: 1.11.19 deepmerge: 4.3.1 eventemitter3: 5.0.1 @@ -276,33 +275,35 @@ packages: ua-parser-js: 1.0.37 dev: false - /@ezuikit/player-plugin-record@8.2.0-beta.1: - resolution: {integrity: sha512-ECOWyH0DL3L26dqKPDdy4GPHBSoQKEifWlZo6C45WeyhnhxzgELsbVPBm5vizFQrZFmgvkBrCsOwUO8e7TfMuQ==} + /@ezuikit/player-plugin-record@8.2.1: + resolution: {integrity: sha512-HlWQbd6SOWya5xo0EplsEIGPt52EQrVqNm/jHQMZKqslkiEzCDVUUvUYoFbl3fa5xf7Lh1a+YIATm/4L4iZKng==} + dependencies: + uuid: 8.3.0 dev: false /@ezuikit/utils-collect@0.1.1: resolution: {integrity: sha512-BgEOnTtAq8rQRBAKv5rLXbQLGOnfOZ6NS0QTmiviey80JbMJlxrLiqmjL5lxvkm4JtCcXCtSgPA4tskQKN4eDA==} dev: false - /@ezuikit/utils-i18n@1.1.1: - resolution: {integrity: sha512-PZe37fHfjUbhArXaoWMxbGOnU1R6k8XV7NroB3n2uL+z06SajozxO5TQARrk7Z72USQPvUsyaKIBcwVNjWK6/w==} + /@ezuikit/utils-i18n@2.0.0: + resolution: {integrity: sha512-gMkfdwFTRk3bAkUVWRGPyEsQl4aIImBpQp732aSSHA75LFPi1MmdaB2Xf34OeC+4v+Anpbt75vviCpUrKPMKlQ==} dependencies: deepmerge: 4.3.1 dev: false - /@ezuikit/utils-logger@1.1.0: - resolution: {integrity: sha512-l/PiFZIC/VtW2l1oEjZEXfeYKFkPvX1kAlljXc1nRImNOI9t71/2oyTTkqkZvMLP/EG5regD9wuQplcvtfubUg==} + /@ezuikit/utils-logger@2.0.0: + resolution: {integrity: sha512-xtq7Vwle75pfA1UfmcsO2cAdqu9n04fxXDu32fpta7A99ENgyk8saK1NRxeiLnqQHdibaIAmrIbfehgLAH6ecQ==} dev: false - /@ezuikit/utils-service@1.0.1: - resolution: {integrity: sha512-iNjYuU7AScBJxvKBM9PjiGI2y64QJNPT/H1Fy/Y7ZIAlw4DO//TP+x50qCho+i+EOUpWLtOqBQvtRb7a0O4X4Q==} + /@ezuikit/utils-service@2.0.0-beta.2: + resolution: {integrity: sha512-Ta27VRDZK1LRRQ9YznYxCqMIeCnO4hnhzQNir3R6ieMy0MnV1pjblVJo2f/f/DRhncNqEHW8IUEcOTKBiIbX8Q==} dependencies: - '@ezuikit/utils-tools': 1.1.0 + '@ezuikit/utils-tools': 2.0.1-beta.1 dayjs: 1.11.19 dev: false - /@ezuikit/utils-tools@1.1.0: - resolution: {integrity: sha512-mujPtXIhZnuJrJySu1/Z6X90sMJQStZydurZcfetMCH6pqIYN4P+1w6+P8PCTR6k4LJp5nY9+eNnKa7AZ8OBKA==} + /@ezuikit/utils-tools@2.0.1-beta.1: + resolution: {integrity: sha512-TDH7G6NXG55d7gRDAcAhMoC4ZyjsJ8tEGiXGnZ0Bzf+jxy1y6el9gm0jCBz9pwCuJSWFttH3l1nd6P9+57+oVg==} dev: false /@jridgewell/gen-mapping@0.3.13: @@ -762,14 +763,14 @@ packages: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} dev: false - /ezuikit-js@8.2.0-beta.4: - resolution: {integrity: sha512-zzYI7eqBB9kcW9Pj7HsrEKRPPDu6BxRymPPSeamEpCX2SzO/DZX6yi3vN2KRE4JDTycAfvITkCq65yyOTdDEtA==} + /ezuikit-js@8.2.0: + resolution: {integrity: sha512-Yt+1GWce3vqty50jU1Fi4ac90Kbq25D2AJnIhV0e6uuBXEHLmqoyS1uWaKVUiVbR7MVjwVY8ab0Vk8LButF83g==} dependencies: - '@ezuikit/player-ezopen': 8.2.0-beta.3 + '@ezuikit/player-ezopen': 8.2.2-beta.5 '@ezuikit/utils-collect': 0.1.1 - '@ezuikit/utils-i18n': 1.1.1 - '@ezuikit/utils-logger': 1.1.0 - '@ezuikit/utils-tools': 1.1.0 + '@ezuikit/utils-i18n': 2.0.0 + '@ezuikit/utils-logger': 2.0.0 + '@ezuikit/utils-tools': 2.0.1-beta.1 '@juggle/resize-observer': 3.4.0 abortcontroller-polyfill: 1.7.8 debounce-promise: 3.1.2 @@ -933,6 +934,11 @@ packages: resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} dev: false + /uuid@8.3.0: + resolution: {integrity: sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==} + hasBin: true + dev: false + /vite@5.4.0(terser@5.44.1): resolution: {integrity: sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==} engines: {node: ^18.0.0 || >=20.0.0} diff --git a/demos/vue3-demo/src/components/Player.vue b/demos/vue3-demo/src/components/Player.vue index e2a6274..57d570f 100644 --- a/demos/vue3-demo/src/components/Player.vue +++ b/demos/vue3-demo/src/components/Player.vue @@ -100,11 +100,11 @@ const init = () => { player = new EZUIKitPlayer({ id: "video-container", // 视频容器ID accessToken: - "at.9axzt49g87s3fhk056n43g72d5dh3m6i-8z6xiwgadr-0dxupdf-yljcgeiod", + "at.9uoaxo0k3e5dinq8bretm18e5l37k1l6-26lx1qcvcc-1neesaz-kh9hqvqc3", url: "ezopen://open.ys7.com/BC7799091/1.hd.live", // simple: 极简版; pcLive: pc直播; pcRec: pc回放; mobileLive: 移动端直播; mobileRec: 移动端回放;security: 安防版; voice: 语音版; template: "pcLive", - width: 600, + // width: 600, height: 400, // quality: 1, // // language: "en", // zh | en @@ -117,6 +117,7 @@ const init = () => { // { level: 1, name: "标清", streamTypeIn: 1 }, // ], // staticPath: "./ezuikit_static", // 如果想使用本地静态资源,请复制根目录下ezuikit_static 到当前目录下, 然后设置该值 + scaleMode: 1, // 默认 0 完全填充窗口,会有拉伸 1: 等比适配 2: 等比完全填充窗口, 超出隐藏 @sine 8.2.0 env: { // https://open.ys7.com/help/1772?h=domain // domain默认是 https://open.ys7.com, 如果是私有化部署或海外的环境,请配置对应的domain @@ -198,7 +199,7 @@ onMounted(() => {