@dingrtc/whiteboard 1.1.1-beta.2 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -29,4 +29,4 @@ function asyncGeneratorStep$1(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(e
29
29
  *
30
30
  * Copyright (c) 2016 Jorik Tangelder;
31
31
  * Licensed under the MIT license */
32
- !function(e){!function(t,r,n,i){var o,a=["","webkit","Moz","MS","ms","o"],s=r.createElement("div"),c=Math.round,l=Math.abs,u=Date.now;function d(e,t,r){return setTimeout(m(e,r),t)}function p(e,t,r){return!!Array.isArray(e)&&(h(e,r[t],r),!0)}function h(e,t,r){var n;if(e)if(e.forEach)e.forEach(t,r);else if(e.length!==i)for(n=0;e.length>n;)t.call(r,e[n],n,e),n++;else for(n in e)e.hasOwnProperty(n)&&t.call(r,e[n],n,e)}function f(e,r,n){var i="DEPRECATED METHOD: "+r+"\n"+n+" AT \n";return function(){var r=Error("get-stack-trace"),n=r&&r.stack?r.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=t.console&&(t.console.warn||t.console.log);return o&&o.call(t.console,i,n),e.apply(this,arguments)}}o="function"!=typeof Object.assign?function(e){if(e===i||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;arguments.length>r;r++){var n=arguments[r];if(n!==i&&null!==n)for(var o in n)n.hasOwnProperty(o)&&(t[o]=n[o])}return t}:Object.assign;var g=f((function(e,t,r){for(var n=Object.keys(t),o=0;n.length>o;)(!r||r&&e[n[o]]===i)&&(e[n[o]]=t[n[o]]),o++;return e}),"extend","Use `assign`."),y=f((function(e,t){return g(e,t,!0)}),"merge","Use `assign`.");function v(e,t,r){var n,i=t.prototype;(n=e.prototype=Object.create(i)).constructor=e,n._super=i,r&&o(n,r)}function m(e,t){return function(){return e.apply(t,arguments)}}function b(e,t){return"function"==typeof e?e.apply(t&&t[0]||i,t):e}function S(e,t){return e===i?t:e}function _(e,t,r){h(T(t),(function(t){e.addEventListener(t,r,!1)}))}function w(e,t,r){h(T(t),(function(t){e.removeEventListener(t,r,!1)}))}function I(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function E(e,t){return e.indexOf(t)>-1}function T(e){return e.trim().split(/\s+/g)}function O(e,t,r){if(e.indexOf&&!r)return e.indexOf(t);for(var n=0;e.length>n;){if(r&&e[n][r]==t||!r&&e[n]===t)return n;n++}return-1}function C(e){return Array.prototype.slice.call(e,0)}function P(e,t,r){for(var n=[],i=[],o=0;e.length>o;){var a=e[o][t];0>O(i,a)&&n.push(e[o]),i[o]=a,o++}return n=n.sort((function(e,r){return e[t]>r[t]}))}function R(e,t){for(var r,n,o=t[0].toUpperCase()+t.slice(1),s=0;a.length>s;){if((n=(r=a[s])?r+o:t)in e)return n;s++}return i}var k=1;function x(e){var r=e.ownerDocument||e;return r.defaultView||r.parentWindow||t}var A="ontouchstart"in t,D=R(t,"PointerEvent")!==i,N=A&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),L="touch",j="mouse",M=24,$=["x","y"],B=["clientX","clientY"];function U(e,t){var r=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){b(e.options.enable,[e])&&r.handler(t)},this.init()}function F(e,t,r){var n=r.pointers.length,o=r.changedPointers.length,a=1&t&&n-o==0,s=12&t&&n-o==0;r.isFirst=!!a,r.isFinal=!!s,a&&(e.session={}),r.eventType=t,function(e,t){var r=e.session,n=t.pointers,o=n.length;r.firstInput||(r.firstInput=z(t));o>1&&!r.firstMultiple?r.firstMultiple=z(t):1===o&&(r.firstMultiple=!1);var a=r.firstInput,s=r.firstMultiple,c=s?s.center:a.center,d=t.center=V(n);t.timeStamp=u(),t.deltaTime=t.timeStamp-a.timeStamp,t.angle=G(c,d),t.distance=q(c,d),function(e,t){var r=t.center,n=e.offsetDelta||{},i=e.prevDelta||{},o=e.prevInput||{};1!==t.eventType&&4!==o.eventType||(i=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=e.offsetDelta={x:r.x,y:r.y});t.deltaX=i.x+(r.x-n.x),t.deltaY=i.y+(r.y-n.y)}(r,t),t.offsetDirection=H(t.deltaX,t.deltaY);var p=W(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=p.x,t.overallVelocityY=p.y,t.overallVelocity=l(p.x)>l(p.y)?p.x:p.y,t.scale=s?(h=s.pointers,f=n,q(f[0],f[1],B)/q(h[0],h[1],B)):1,t.rotation=s?function(e,t){return G(t[1],t[0],B)+G(e[1],e[0],B)}(s.pointers,n):0,t.maxPointers=r.prevInput?t.pointers.length>r.prevInput.maxPointers?t.pointers.length:r.prevInput.maxPointers:t.pointers.length,function(e,t){var r,n,o,a,s=e.lastInterval||t,c=t.timeStamp-s.timeStamp;if(8==t.eventType||c<=25&&s.velocity!==i)r=s.velocity,n=s.velocityX,o=s.velocityY,a=s.direction;else{var u=t.deltaX-s.deltaX,d=t.deltaY-s.deltaY,p=W(c,u,d);n=p.x,o=p.y,r=l(p.x)>l(p.y)?p.x:p.y,a=H(u,d),e.lastInterval=t}t.velocity=r,t.velocityX=n,t.velocityY=o,t.direction=a}(r,t);var h,f;var g=e.element;I(t.srcEvent.target,g)&&(g=t.srcEvent.target);t.target=g}(e,r),e.emit("hammer.input",r),e.recognize(r),e.session.prevInput=r}function z(e){for(var t=[],r=0;e.pointers.length>r;)t[r]={clientX:c(e.pointers[r].clientX),clientY:c(e.pointers[r].clientY)},r++;return{timeStamp:u(),pointers:t,center:V(t),deltaX:e.deltaX,deltaY:e.deltaY}}function V(e){var t=e.length;if(1===t)return{x:c(e[0].clientX),y:c(e[0].clientY)};for(var r=0,n=0,i=0;t>i;)r+=e[i].clientX,n+=e[i].clientY,i++;return{x:c(r/t),y:c(n/t)}}function W(e,t,r){return{x:t/e||0,y:r/e||0}}function H(e,t){return e===t?1:l(e)<l(t)?0>t?8:16:0>e?2:4}function q(e,t,r){r||(r=$);var n=t[r[0]]-e[r[0]],i=t[r[1]]-e[r[1]];return Math.sqrt(n*n+i*i)}function G(e,t,r){return r||(r=$),180*Math.atan2(t[r[1]]-e[r[1]],t[r[0]]-e[r[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&_(this.element,this.evEl,this.domHandler),this.evTarget&&_(this.target,this.evTarget,this.domHandler),this.evWin&&_(x(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&w(this.element,this.evEl,this.domHandler),this.evTarget&&w(this.target,this.evTarget,this.domHandler),this.evWin&&w(x(this.element),this.evWin,this.domHandler)}};var Y={mousedown:1,mousemove:2,mouseup:4},K="mousedown",J="mousemove mouseup";function X(){this.evEl=K,this.evWin=J,this.pressed=!1,U.apply(this,arguments)}v(X,U,{handler:function(e){var t=Y[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:j,srcEvent:e}))}});var Z={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Q={2:L,3:"pen",4:j,5:"kinect"},ee="pointerdown",te="pointermove pointerup pointercancel";function re(){this.evEl=ee,this.evWin=te,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&(ee="MSPointerDown",te="MSPointerMove MSPointerUp MSPointerCancel"),v(re,U,{handler:function(e){var t=this.store,r=!1,n=e.type.toLowerCase().replace("ms",""),i=Z[n],o=Q[e.pointerType]||e.pointerType,a=o==L,s=O(t,e.pointerId,"pointerId");1&i&&(0===e.button||a)?0>s&&(t.push(e),s=t.length-1):12&i&&(r=!0),0>s||(t[s]=e,this.callback(this.manager,i,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),r&&t.splice(s,1))}});var ne={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function ie(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,U.apply(this,arguments)}function oe(e,t){var r=C(e.touches),n=C(e.changedTouches);return 12&t&&(r=P(r.concat(n),"identifier")),[r,n]}v(ie,U,{handler:function(e){var t=ne[e.type];if(1===t&&(this.started=!0),this.started){var r=oe(e,t);12&t&&r[0].length-r[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:r[0],changedPointers:r[1],pointerType:L,srcEvent:e})}}});var ae={touchstart:1,touchmove:2,touchend:4,touchcancel:8},se="touchstart touchmove touchend touchcancel";function ce(){this.evTarget=se,this.targetIds={},U.apply(this,arguments)}function le(e,t){var r=C(e.touches),n=this.targetIds;if(3&t&&1===r.length)return n[r[0].identifier]=!0,[r,r];var i,o,a=C(e.changedTouches),s=[],c=this.target;if(o=r.filter((function(e){return I(e.target,c)})),1===t)for(i=0;o.length>i;)n[o[i].identifier]=!0,i++;for(i=0;a.length>i;)n[a[i].identifier]&&s.push(a[i]),12&t&&delete n[a[i].identifier],i++;return s.length?[P(o.concat(s),"identifier"),s]:void 0}v(ce,U,{handler:function(e){var t=ae[e.type],r=le.call(this,e,t);r&&this.callback(this.manager,t,{pointers:r[0],changedPointers:r[1],pointerType:L,srcEvent:e})}});function ue(){U.apply(this,arguments);var e=m(this.handler,this);this.touch=new ce(this.manager,e),this.mouse=new X(this.manager,e),this.primaryTouch=null,this.lastTouches=[]}function de(e,t){1&e?(this.primaryTouch=t.changedPointers[0].identifier,pe.call(this,t)):12&e&&pe.call(this,t)}function pe(e){var t=e.changedPointers[0];if(t.identifier===this.primaryTouch){var r={x:t.clientX,y:t.clientY};this.lastTouches.push(r);var n=this.lastTouches;setTimeout((function(){var e=n.indexOf(r);e>-1&&n.splice(e,1)}),2500)}}function he(e){for(var t=e.srcEvent.clientX,r=e.srcEvent.clientY,n=0;this.lastTouches.length>n;n++){var i=this.lastTouches[n];if(25>=Math.abs(t-i.x)&&25>=Math.abs(r-i.y))return!0}return!1}v(ue,U,{handler:function(e,t,r){var n=r.pointerType==j;if(!(n&&r.sourceCapabilities&&r.sourceCapabilities.firesTouchEvents)){if(r.pointerType==L)de.call(this,t,r);else if(n&&he.call(this,r))return;this.callback(e,t,r)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var fe=R(s.style,"touchAction"),ge=fe!==i,ye="compute",ve="auto",me="manipulation",be="none",Se="pan-x",_e="pan-y",we=function(){if(!ge)return!1;var e={},r=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){e[n]=!r||t.CSS.supports("touch-action",n)})),e}();function Ie(e,t){this.manager=e,this.set(t)}Ie.prototype={set:function(e){e==ye&&(e=this.compute()),ge&&this.manager.element.style&&we[e]&&(this.manager.element.style[fe]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return h(this.manager.recognizers,(function(t){b(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))})),function(e){if(E(e,be))return be;var t=E(e,Se),r=E(e,_e);if(t&&r)return be;if(t||r)return t?Se:_e;if(E(e,me))return me;return ve}(e.join(" "))},preventDefaults:function(e){var t=e.srcEvent,r=e.offsetDirection;if(this.manager.session.prevented)t.preventDefault();else{var n=this.actions,i=E(n,be)&&!we[be],o=E(n,_e)&&!we[_e],a=E(n,Se)&&!we[Se];if(i)if(1===e.pointers.length&&2>e.distance&&250>e.deltaTime)return;if(!a||!o)return i||o&&6&r||a&&r&M?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var Ee=32;function Te(e){this.options=o({},this.defaults,e||{}),this.id=k++,this.manager=null,this.options.enable=S(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function Oe(e){return 16&e?"cancel":8&e?"end":4&e?"move":2&e?"start":""}function Ce(e){return 16==e?"down":8==e?"up":2==e?"left":4==e?"right":""}function Pe(e,t){var r=t.manager;return r?r.get(e):e}function Re(){Te.apply(this,arguments)}function ke(){Re.apply(this,arguments),this.pX=null,this.pY=null}function xe(){Re.apply(this,arguments)}function Ae(){Te.apply(this,arguments),this._timer=null,this._input=null}function De(){Re.apply(this,arguments)}function Ne(){Re.apply(this,arguments)}function Le(){Te.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function je(e,t){return(t=t||{}).recognizers=S(t.recognizers,je.defaults.preset),new Me(e,t)}Te.prototype={defaults:{},set:function(e){return o(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(p(e,"recognizeWith",this))return this;var t=this.simultaneous;return t[(e=Pe(e,this)).id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return p(e,"dropRecognizeWith",this)||(e=Pe(e,this),delete this.simultaneous[e.id]),this},requireFailure:function(e){if(p(e,"requireFailure",this))return this;var t=this.requireFail;return-1===O(t,e=Pe(e,this))&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(p(e,"dropRequireFailure",this))return this;e=Pe(e,this);var t=O(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,r=this.state;function n(r){t.manager.emit(r,e)}8>r&&n(t.options.event+Oe(r)),n(t.options.event),e.additionalEvent&&n(e.additionalEvent),8>r||n(t.options.event+Oe(r))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=Ee},canEmit:function(){for(var e=0;this.requireFail.length>e;){if(!(33&this.requireFail[e].state))return!1;e++}return!0},recognize:function(e){var t=o({},e);if(!b(this.options.enable,[this,t]))return this.reset(),void(this.state=Ee);56&this.state&&(this.state=1),this.state=this.process(t),30&this.state&&this.tryEmit(t)},process:function(e){},getTouchAction:function(){},reset:function(){}},v(Re,Te,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,r=e.eventType,n=6&t,i=this.attrTest(e);return n&&(8&r||!i)?16|t:n||i?4&r?8|t:2&t?4|t:2:Ee}}),v(ke,Re,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var e=this.options.direction,t=[];return 6&e&&t.push(_e),e&M&&t.push(Se),t},directionTest:function(e){var t=this.options,r=!0,n=e.distance,i=e.direction,o=e.deltaX,a=e.deltaY;return i&t.direction||(6&t.direction?(i=0===o?1:0>o?2:4,r=o!=this.pX,n=Math.abs(e.deltaX)):(i=0===a?1:0>a?8:16,r=a!=this.pY,n=Math.abs(e.deltaY))),e.direction=i,r&&n>t.threshold&&i&t.direction},attrTest:function(e){return Re.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=Ce(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),v(xe,Re,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[be]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){1!==e.scale&&(e.additionalEvent=this.options.event+(1>e.scale?"in":"out"));this._super.emit.call(this,e)}}),v(Ae,Te,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ve]},process:function(e){var t=this.options,r=e.pointers.length===t.pointers,n=t.threshold>e.distance,i=e.deltaTime>t.time;if(this._input=e,!n||!r||12&e.eventType&&!i)this.reset();else if(1&e.eventType)this.reset(),this._timer=d((function(){this.state=8,this.tryEmit()}),t.time,this);else if(4&e.eventType)return 8;return Ee},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=u(),this.manager.emit(this.options.event,this._input)))}}),v(De,Re,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[be]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),v(Ne,Re,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return ke.prototype.getTouchAction.call(this)},attrTest:function(e){var t,r=this.options.direction;return 30&r?t=e.overallVelocity:6&r?t=e.overallVelocityX:r&M&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&r&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&l(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=Ce(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),v(Le,Te,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[me]},process:function(e){var t=this.options,r=e.pointers.length===t.pointers,n=t.threshold>e.distance,i=t.time>e.deltaTime;if(this.reset(),1&e.eventType&&0===this.count)return this.failTimeout();if(n&&i&&r){if(4!=e.eventType)return this.failTimeout();var o=!this.pTime||t.interval>e.timeStamp-this.pTime,a=!this.pCenter||q(this.pCenter,e.center)<t.posThreshold;if(this.pTime=e.timeStamp,this.pCenter=e.center,a&&o?this.count+=1:this.count=1,this._input=e,0===this.count%t.taps)return this.hasRequireFailures()?(this._timer=d((function(){this.state=8,this.tryEmit()}),t.interval,this),2):8}return Ee},failTimeout:function(){return this._timer=d((function(){this.state=Ee}),this.options.interval,this),Ee},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),je.VERSION="2.0.7",je.defaults={domEvents:!1,touchAction:ye,enable:!0,inputTarget:null,inputClass:null,preset:[[De,{enable:!1}],[xe,{enable:!1},["rotate"]],[Ne,{direction:6}],[ke,{direction:6},["swipe"]],[Le],[Le,{event:"doubletap",taps:2},["tap"]],[Ae]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Me(e,t){var r;this.options=o({},je.defaults,t||{}),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=e,this.input=new((r=this).options.inputClass||(D?re:N?ce:A?ue:X))(r,F),this.touchAction=new Ie(this,this.options.touchAction),$e(this,!0),h(this.options.recognizers,(function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])}),this)}function $e(e,t){var r,n=e.element;n.style&&(h(e.options.cssProps,(function(i,o){r=R(n.style,o),t?(e.oldCssProps[r]=n.style[r],n.style[r]=i):n.style[r]=e.oldCssProps[r]||""})),t||(e.oldCssProps={}))}Me.prototype={set:function(e){return o(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?2:1},recognize:function(e){var t=this.session;if(!t.stopped){var r;this.touchAction.preventDefaults(e);var n=this.recognizers,i=t.curRecognizer;(!i||i&&8&i.state)&&(i=t.curRecognizer=null);for(var o=0;n.length>o;)r=n[o],2===t.stopped||i&&r!=i&&!r.canRecognizeWith(i)?r.reset():r.recognize(e),!i&&14&r.state&&(i=t.curRecognizer=r),o++}},get:function(e){if(e instanceof Te)return e;for(var t=this.recognizers,r=0;t.length>r;r++)if(t[r].options.event==e)return t[r];return null},add:function(e){if(p(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(p(e,"remove",this))return this;if(e=this.get(e)){var t=this.recognizers,r=O(t,e);-1!==r&&(t.splice(r,1),this.touchAction.update())}return this},on:function(e,t){if(e!==i&&t!==i){var r=this.handlers;return h(T(e),(function(e){r[e]=r[e]||[],r[e].push(t)})),this}},off:function(e,t){if(e!==i){var r=this.handlers;return h(T(e),(function(e){t?r[e]&&r[e].splice(O(r[e],t),1):delete r[e]})),this}},emit:function(e,t){this.options.domEvents&&function(e,t){var n=r.createEvent("Event");n.initEvent(e,!0,!0),n.gesture=t,t.target.dispatchEvent(n)}(e,t);var n=this.handlers[e]&&this.handlers[e].slice();if(n&&n.length){t.type=e,t.preventDefault=function(){t.srcEvent.preventDefault()};for(var i=0;n.length>i;)n[i](t),i++}},destroy:function(){this.element&&$e(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},o(je,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:Ee,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:M,DIRECTION_ALL:30,Manager:Me,Input:U,TouchAction:Ie,TouchInput:ce,MouseInput:X,PointerEventInput:re,TouchMouseInput:ue,SingleTouchInput:ie,Recognizer:Te,AttrRecognizer:Re,Tap:Le,Pan:ke,Swipe:Ne,Pinch:xe,Rotate:De,Press:Ae,on:_,off:w,each:h,merge:y,extend:g,assign:o,inherit:v,bindFn:m,prefixed:R}),(void 0!==t?t:"undefined"!=typeof self?self:{}).Hammer=je,e.exports?e.exports=je:t.Hammer=je}(window,document)}(hammer);var hammerExports=hammer.exports,Hammer=getDefaultExportFromCjs$1(hammerExports);function styleInject(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===r&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var css_248z$1='.dingrtc-wb-wrapper{height:100%;overflow:hidden;position:relative;width:100%}.dingrtc-wb-wrapper__laser-on audio,.dingrtc-wb-wrapper__laser-on video{pointer-events:none!important}.dingrtc-wb-wrapper__drag-on{cursor:grab!important}.dingrtc-wb-wrapper__draging{cursor:grabbing!important}.dingrtc-wb-wrapper .dingrtc-pdf-viewer{pointer-events:none;position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.dingrtc-wb-wrapper .dingrtc-pdf-viewer__page{box-shadow:1px 1px 10px 5px rgba(0,0,0,.05);position:absolute}.dingrtc-wb-wrapper .dingrtc-pdf-viewer__page:not(:last-of-type):after{background-color:#777;bottom:0;content:"";height:1px;left:0;position:absolute;right:0;z-index:1}.dingrtc-wb-wrapper .dingrtc-pdf-viewer__page:before{bottom:10px;content:attr(data-i);font-size:26px;font-weight:700;position:absolute;right:10px;z-index:1}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons{height:100%}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton{background-color:#fff;border-radius:6px;display:flex;flex-direction:column;height:50%;justify-content:center;margin:0 auto;min-height:532.8px;overflow:hidden;padding:50px 36px;position:relative;width:720px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton>div{margin-bottom:36px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator{border-radius:144px;height:144px;position:relative;width:144px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator:after,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator:before{border-radius:10px;content:" ";height:50.4px;left:calc(100% + 40px);position:absolute;top:0;width:288px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator:after{top:93.6px;width:432px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content{border-radius:10px;height:43.2px;margin-bottom:200px;position:relative;width:504px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content:after,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content:before{border-radius:10px;content:" ";height:43.2px;left:0;position:absolute;top:93.6px;width:612px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content:after{top:187.2px;width:612px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton div,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton div:after,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton div:before{animation:loading 2s ease-in-out infinite;background-color:#ededed;background:linear-gradient(100deg,hsla(0,0%,100%,0) 40%,hsla(0,0%,100%,.5) 50%,hsla(0,0%,100%,0) 60%) #ededed;background-position-x:180%;background-size:200% 100%}@keyframes loading{to{background-position-x:-20%}}.dingrtc-wb-wrapper .dingrtc-wb-render-fps{color:#333;font-size:12px;position:absolute;right:30px;top:60px;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb-render-fps img{display:block}.dingrtc-wb-wrapper .dingrtc-wb__bg-img{pointer-events:none;z-index:0}.dingrtc-wb-wrapper .dingrtc-wb__bg-img,.dingrtc-wb-wrapper .dingrtc-wb__media{position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dingrtc-wb-wrapper .dingrtc-wb__media{background-color:transparent;overflow:hidden;padding:1px;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb__media__header{align-items:center;background-color:#f5f5f5;border-top-left-radius:3px;border-top-right-radius:3px;box-shadow:0 0 4px 0 rgba(0,0,0,.2);cursor:pointer;display:flex;font-weight:500;height:30px;justify-content:space-between;left:0;padding-left:10px;position:absolute;top:0;transition:all .3s ease-in-out;width:100%;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb__media__body{background-color:#000;height:100%;width:100%}.dingrtc-wb-wrapper .dingrtc-wb__media__body:hover~.dingrtc-wb__media__header{visibility:visible}.dingrtc-wb-wrapper .dingrtc-wb__media__body audio,.dingrtc-wb-wrapper .dingrtc-wb__media__body video{height:100%;outline:none;pointer-events:auto;width:100%}.dingrtc-wb-wrapper .dingrtc-wb__media__body audio{background:#eff1f2}.dingrtc-wb-wrapper .dingrtc-wb__media__body audio::-webkit-media-controls-panel{background:#eff1f2;border:none}.dingrtc-wb-wrapper canvas{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb__cache-cvs{pointer-events:none!important}.dingrtc-wb-wrapper .wb-shape-textarea{background-color:transparent;border:none;outline:none;overflow-wrap:break-word;padding:0;position:absolute;resize:none;transform-origin:0 0;white-space:pre-wrap;word-break:break-all;z-index:1}.dingrtc-wb-wrapper .wb-shape-textarea::-webkit-scrollbar{display:none}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper{height:960px;left:0;position:absolute;top:0;transform-origin:0 0;width:1280px;z-index:0}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper iframe{border:none;height:100%;left:0;pointer-events:auto;position:absolute;top:0;width:100%}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper__blocked{position:absolute}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper__blocked:after{content:"";height:100%;left:0;top:0;width:100%}.dingrtc-wb-tools-wrapper{pointer-events:auto}';function _callSuper$s(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$s()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$s(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$s=function(){return!!e})()}styleInject(css_248z$1);var ShapeHistory=_createClass$1((function e(t,r,n,i){_classCallCheck$1(this,e),Object.defineProperty(this,"actionType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"shapeId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"currentState",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"lastState",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"shapeCreator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.shapeCreator=n.creator})),BatchHistory=_createClass$1((function e(t,r){_classCallCheck$1(this,e),Object.defineProperty(this,"actionType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"shapeStates",{enumerable:!0,configurable:!0,writable:!0,value:r})})),HistoryActionType;!function(e){e[e.reveiveShape=0]="reveiveShape",e[e.newShape=1]="newShape",e[e.hideShape=2]="hideShape",e[e.rgnShape=3]="rgnShape",e[e.updateStyle=4]="updateStyle",e[e.updateText=5]="updateText",e[e.deleteShape=6]="deleteShape"}(HistoryActionType||(HistoryActionType={}));var History=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$s(this,t,arguments),Object.defineProperty(e,"undoList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"redoList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"emitHistoryEvent",value:function(){this.emit("history-changed",{undo:this.canUndo(),redo:this.canRedo()})}},{key:"saveHistory",value:function(e){this.undoList.push(e),this.redoList=[],this.emitHistoryEvent()}},{key:"batchSave",value:function(e){this.undoList.push(e),this.redoList=[],this.emitHistoryEvent()}},{key:"undo",value:function(){var e=this.undoList.pop();if(e)return this.redoList.push(e),this.emitHistoryEvent(),e}},{key:"redo",value:function(){var e=this.redoList.pop();if(e)return this.undoList.push(e),this.emitHistoryEvent(),e}},{key:"clearAll",value:function(){this.undoList=[],this.redoList=[],this.emitHistoryEvent()}},{key:"clearUserHistory",value:function(e){var t=this;this.undoList.forEach((function(r){if(r instanceof ShapeHistory&&r.shapeCreator===e){var n=findIndex(t.undoList,r);t.undoList.splice(n,1)}})),this.redoList.forEach((function(r){if(r instanceof ShapeHistory&&r.shapeCreator===e){var n=findIndex(t.redoList,r);t.redoList.splice(n,1)}})),this.emitHistoryEvent()}},{key:"clearShapeHistory",value:function(e){var t=this;this.undoList.forEach((function(r){if(r instanceof ShapeHistory&&r.shapeId===e){var n=findIndex(t.undoList,r);t.undoList.splice(n,1)}})),this.redoList.forEach((function(r){if(r instanceof ShapeHistory&&r.shapeId===e){var n=findIndex(t.redoList,r);t.redoList.splice(n,1)}})),this.emitHistoryEvent()}},{key:"canUndo",value:function(){return this.undoList.length>0}},{key:"canRedo",value:function(){return this.redoList.length>0}}])}();function renderPdfPage(e,t){return new Promise((function(r,n){var i=document.createElement("canvas");i.width=e.width,i.height=e.height;var o=i.getContext("2d");t.cleanupAfterRender=!0,setTimeout((function(){t.render({viewport:e,canvasContext:o}).promise.then((function(){var e=i.toDataURL();t.cleanup(),r(e),o.clearRect(0,0,i.width,i.height)})).catch((function(e){return n(e)}))}))}))}function _defineProperty(e,t,r){return(t=toPropertyKey$1(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function setClipboard(e){return new Promise((function(t,r){var n="text/plain",i=new Blob([e],{type:n}),o=[new ClipboardItem(_defineProperty({},n,i))];navigator.clipboard.write(o).then(t,r)}))}function ownKeys$h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$h(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$h(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$r(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$r()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$r(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$r=function(){return!!e})()}function _superPropGet$8(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}var DrawableShape=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$r(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(n,"_shapeStyle",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"shapeStyle",get:function(){return this._shapeStyle},set:function(e){this._shapeStyle=e,this.emitRenderRequest()}},{key:"dashedWidth",get:function(){return 7>3*this.shapeStyle.lineWidth?7:3*this.shapeStyle.lineWidth}},{key:"useDashedStyle",value:function(e){this.shapeStyle.dashed&&e.setLineDash([this.dashedWidth,this.dashedWidth+this.shapeStyle.lineWidth])}},{key:"export",value:function(){return _objectSpread$h(_objectSpread$h({},_superPropGet$8(t,"export",this)([])),{},{shapeStyle:cloneDeep(this.shapeStyle),pageId:this.pageId})}},{key:"getStyleFromShape",value:function(){return{linecolor:rgba2num(this.shapeStyle.strokeStyle),linewidth:this.shapeStyle.lineWidth,fillcolor:rgba2num(this.shapeStyle.fillStyle),filltype:this.shapeStyle.fillType,linestyle:this.shapeStyle.dashed?ShapeLineType.dashed:ShapeLineType.solid}}},{key:"genDrawMsg",value:function(e){return _objectSpread$h(_objectSpread$h({},_superPropGet$8(t,"genDrawMsg",this)([e])),{},{pageId:this.pageId,style:JSON.stringify(this.getStyleFromShape())})}},{key:"genRgnMsg",value:function(e){return _objectSpread$h(_objectSpread$h({},_superPropGet$8(t,"genRgnMsg",this)([e])),{},{pageId:this.pageId})}}])}();function ownKeys$g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$g(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$g(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$g(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$q(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$q()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$q=function(){return!!e})()}var Line=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$q(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$g({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Line}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.moveTo(this.points[0].x,this.points[0].y),r.lineTo(this.points[1].x,this.points[1].y),r.stroke(),r.closePath();var n=r.isPointInStroke(e,t);return r.restore(),n}},{key:"renderShape",value:function(e){e.save(),e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle,e.moveTo(this.points[0].x,this.points[0].y),e.lineTo(this.points[1].x,this.points[1].y),e.stroke(),e.closePath(),e.restore()}}])}();function ownKeys$f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$f(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$f(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$p(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$p()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$p=function(){return!!e})()}function _superPropGet$7(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}var Rect=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$p(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$f({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Rect}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"onResize",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$7(t,"onResize",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$7(t,"onResize",this)([e,e,n]):_superPropGet$7(t,"onResize",this)([e,r,n])}},{key:"onResizeEnd",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$7(t,"onResizeEnd",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$7(t,"onResizeEnd",this)([e,e,n]):_superPropGet$7(t,"onResizeEnd",this)([e,r,n])}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save();var n=this.points[1].x-this.points[0].x,i=this.points[1].y-this.points[0].y;r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.rect(this.points[0].x,this.points[0].y,n,i),r.stroke(),r.closePath();var o=this.shapeStyle.fillType===ShapeFillType.none?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),o}},{key:"renderShape",value:function(e){e.save();var t=this.points[0].x,r=this.points[0].y,n=this.points[1].x-this.points[0].x,i=this.points[1].y-this.points[0].y;e.beginPath(),e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.fillStyle,e.lineCap="round",this.useDashedStyle(e),e.rect(t,r,n,i),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color?e.fillRect(t,r,n,i):(e.lineWidth=this.shapeStyle.lineWidth,e.stroke()),e.restore()}}])}();function ownKeys$e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$e(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$e(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$e(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$o(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$o()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$o(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$o=function(){return!!e})()}function _superPropGet$6(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}var CURVE_RENDER_KEY=.5522848,Ellipse=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$o(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$e({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Ellipse}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"onResize",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$6(t,"onResize",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$6(t,"onResize",this)([e,e,n]):_superPropGet$6(t,"onResize",this)([e,r,n])}},{key:"onResizeEnd",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$6(t,"onResizeEnd",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$6(t,"onResizeEnd",this)([e,e,n]):_superPropGet$6(t,"onResizeEnd",this)([e,r,n])}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx(),n=(this.points[0].x+this.points[1].x)/2,i=(this.points[0].y+this.points[1].y)/2,o=Math.abs((this.points[0].x-this.points[1].x)/2),a=Math.abs((this.points[0].y-this.points[1].y)/2);r.save();var s=o*CURVE_RENDER_KEY,c=a*CURVE_RENDER_KEY;r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.fillStyle="transparent",r.beginPath(),r.moveTo(n-o,i),r.bezierCurveTo(n-o,i-c,n-s,i-a,n,i-a),r.bezierCurveTo(n+s,i-a,n+o,i-c,n+o,i),r.bezierCurveTo(n+o,i+c,n+s,i+a,n,i+a),r.bezierCurveTo(n-s,i+a,n-o,i+c,n-o,i),r.closePath(),r.stroke(),r.closePath(),r.fill();var l=this.shapeStyle.fillType===ShapeFillType.none?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),l}},{key:"renderShape",value:function(e){var t=(this.points[0].x+this.points[1].x)/2,r=(this.points[0].y+this.points[1].y)/2,n=Math.abs((this.points[0].x-this.points[1].x)/2),i=Math.abs((this.points[0].y-this.points[1].y)/2);e.save();var o=n*CURVE_RENDER_KEY,a=i*CURVE_RENDER_KEY;e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.fillStyle,e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.moveTo(t-n,r),e.bezierCurveTo(t-n,r-a,t-o,r-i,t,r-i),e.bezierCurveTo(t+o,r-i,t+n,r-a,t+n,r),e.bezierCurveTo(t+n,r+a,t+o,r+i,t,r+i),e.bezierCurveTo(t-o,r+i,t-n,r+a,t-n,r),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color?e.fill():(e.lineWidth=this.shapeStyle.lineWidth,e.stroke()),e.restore()}}])}(),tempCanvas=document.createElement("canvas"),tempRederContext=tempCanvas.getContext("2d");function measureTextWrap(e,t,r){tempRederContext.save(),tempRederContext.font=t;var n=[],i="";return e.split("").forEach((function(e){if("\n"===e)return n.push(i+e),void(i="");tempRederContext.measureText(i+e).width>r?(n.push(i),i=e):i+=e})),(i||endsWith(e,"\n"))&&n.push(i),tempRederContext.restore(),n}function measureTextLength(e,t){tempRederContext.save(),tempRederContext.font=t;var r=tempRederContext.measureText(e).width;return tempRederContext.restore(),r}function isImageExportable(e){try{return tempRederContext.drawImage(e,0,0,e.width,e.height),tempCanvas.toDataURL("image/jpeg"),tempRederContext.clearRect(0,0,e.width,e.height),!0}catch(t){return tempRederContext.clearRect(0,0,e.width,e.height),!1}}function ownKeys$d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$d(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$d(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$n(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$n()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$n(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$n=function(){return!!e})()}function _superPropGet$5(e,t,r,n){var i=_get(_getPrototypeOf$1(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}var LINE_HEIGHT=1.37,Text=function(e){function t(e,r,n,i){var o,a,s;return _classCallCheck$1(this,t),s=_callSuper$n(this,t,[e,r]),Object.defineProperty(s,"_text",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(s,"_fontStyle",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(s,"maxLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),s.maxLength=Math.abs((null===(o=e.points[0])||void 0===o?void 0:o.x)-(null===(a=s.points[0])||void 0===a?void 0:a.x))||200,s}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$d({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle,this._text,this._fontStyle)}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"text",get:function(){return this._text},set:function(e){this._text=e;var t=measureTextLength(e,this.fontStyleStr);t>this.width&&this.maxLength>t&&(this.points=[{x:this.minx,y:this.miny},{x:this.minx+t+10,y:this.maxy}]);this.emitRenderRequest()}},{key:"setTextMaxLength",value:function(e){var t=e-15;this.maxLength=t>this.maxLength?t:this.maxLength}},{key:"fontStyle",get:function(){return this._fontStyle},set:function(e){this.emitRenderRequest(),this._fontStyle=e}},{key:"export",value:function(){return Object.assign({},_superPropGet$5(t,"export",this,3)([]),{text:this.text,fontStyle:cloneDeep(this.fontStyle)})}},{key:"shapeType",get:function(){return ShapeType.Text}},{key:"fontStyleStr",get:function(){var e=this.fontStyle,t=e.fontSize,r=e.bold;return"".concat(e.italic?"italic":"normal"," ").concat(r?"bold":"normal"," ").concat(t,"px ").concat(DEFAULT_FONT_FAMILY)}},{key:"genDrawMsg",value:function(e){return _objectSpread$d(_objectSpread$d({},_superPropGet$5(t,"genDrawMsg",this,3)([e])),{},{text:this.text,font:JSON.stringify({color:rgba2num(this.shapeStyle.strokeStyle),format:getShapeFont(this._fontStyle.bold,this._fontStyle.italic),size:this._fontStyle.fontSize,data:""}),style:JSON.stringify(this.getStyleFromShape())})}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save();var n=this.points[1].x-this.points[0].x,i=this.points[1].y-this.points[0].y;r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.rect(this.points[0].x,this.points[0].y,n,i),r.stroke(),r.closePath();var o=r.isPointInPath(e,t);return r.restore(),o}},{key:"renderShape",value:function(e,t){var r=this,n=measureTextWrap(this.text,this.fontStyleStr,this.maxx-this.minx);this.points[1].y=this.points[0].y+(n.length||1)*this.fontStyle.fontSize*LINE_HEIGHT,(this.interactionStatus!==InteractionStatusType.selected||t.forceRenderText)&&(e.save(),e.font=this.fontStyleStr,e.fillStyle=this.shapeStyle.strokeStyle,n.forEach((function(t,n){e.fillText(t,r.minx,r.miny+n*(r.fontStyle.fontSize*LINE_HEIGHT)+r.fontStyle.fontSize)})),e.restore())}}])}();function ownKeys$c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$c(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$c(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$m(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$m()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$m=function(){return!!e})()}Object.defineProperty(Text,"LINE_HEIGHT",{enumerable:!0,configurable:!0,writable:!0,value:LINE_HEIGHT});var Pen=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$m(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$c({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Pen}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"isPointInShape",value:function(e,t){var r=this,n=getSharedCanvasCtx();n.save(),n.strokeStyle="transparent",n.fillStyle="transparent",n.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,n.beginPath();var i=!1;return this.points.forEach((function(o,a){0===a?n.moveTo(o.x,o.y):a===r.points.length-1?(n.lineTo(o.x,o.y),n.stroke(),i=n.isPointInStroke(e,t),n.restore()):n.lineTo(o.x,o.y)})),i}},{key:"renderShape",value:function(e){var t=this;e.save(),e.beginPath(),this.useDashedStyle(e),e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.fillStyle,e.lineWidth=this.shapeStyle.lineWidth,e.lineCap="round",e.lineJoin="round",this.points.forEach((function(r,n){if(0===n)e.moveTo(r.x,r.y);else if(n===t.points.length-2){var i={x:(t.points[n+1].x+t.points[n].x)/2,y:(t.points[n+1].y+t.points[n].y)/2};e.quadraticCurveTo(i.x,i.y,t.points[n+1].x,t.points[n+1].y),e.stroke()}else{if(n===t.points.length-1)return;var o=t.points[n+1],a={x:(o.x+t.points[n+2].x)/2,y:(o.y+t.points[n+2].y)/2};e.quadraticCurveTo(o.x,o.y,a.x,a.y)}})),e.restore()}}])}();function ownKeys$b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$b(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$b(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$l(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$l()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$l=function(){return!!e})()}var Arrow=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$l(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$b({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Arrow}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.moveTo(this.points[0].x,this.points[0].y),r.lineTo(this.points[1].x,this.points[1].y),r.stroke(),r.closePath();var n=r.isPointInStroke(e,t);return r.restore(),n}},{key:"renderShape",value:function(e){var t=this.points[0].x,r=this.points[0].y,n=this.points[1].x,i=this.points[1].y,o=1.4*(this.shapeStyle.lineWidth+5),a=180*Math.atan2(r-i,t-n)/Math.PI,s=(a+15)*Math.PI/180,c=(a-15)*Math.PI/180,l=o*Math.cos(s),u=o*Math.sin(s),d=o*Math.cos(c),p=o*Math.sin(c);e.save(),e.beginPath(),this.useDashedStyle(e),e.lineCap="round",e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.strokeStyle,e.moveTo(t,r),e.lineTo(n,i),e.stroke(),e.closePath(),e.beginPath(),e.setLineDash([]),e.lineCap="butt",e.moveTo(n+l,i+u),e.lineTo(n,i),e.lineTo(n+d,i+p),e.stroke(),e.fill(),e.closePath(),e.restore()}}])}(),bitsToNum=function(e){return e.reduce((function(e,t){return 2*e+t}),0)},byteToBitArr=function(e){for(var t=[],r=7;r>=0;r--)t.push(!!(e&1<<r));return t},Stream=function(e){this.data=e,this.len=this.data.length,this.pos=0,this.readByte=function(){if(this.pos>=this.data.length)throw Error("Attempted to read past end of stream.");return e instanceof Uint8Array?e[this.pos++]:255&e.charCodeAt(this.pos++)},this.readBytes=function(e){for(var t=[],r=0;e>r;r++)t.push(this.readByte());return t},this.read=function(e){for(var t="",r=0;e>r;r++)t+=String.fromCharCode(this.readByte());return t},this.readUnsigned=function(){var e=this.readBytes(2);return(e[1]<<8)+e[0]}},lzwDecode=function(e,t){for(var r,n,i=0,o=function(e){for(var r=0,n=0;e>n;n++)t.charCodeAt(i>>3)&1<<(7&i)&&(r|=1<<n),i++;return r},a=[],s=1<<e,c=s+1,l=e+1,u=[],d=function(){u=[],l=e+1;for(var t=0;s>t;t++)u[t]=[t];u[s]=[],u[c]=null};;)if(n=r,(r=o(l))!==s){if(r===c)break;if(u.length>r)n!==s&&u.push(u[n].concat(u[r][0]));else{if(r!==u.length)throw Error("Invalid LZW code.");u.push(u[n].concat(u[n][0]))}a.push.apply(a,u[r]),u.length===1<<l&&12>l&&l++}else d();return a},parseGIF=function(e,t){var r=function(t){for(var r=[],n=0;t>n;n++)r.push(e.readBytes(3));return r},n=function(){var t,r;r="";do{t=e.readByte(),r+=e.read(t)}while(0!==t);return r},i=function(){var o={};switch(o.sentinel=e.readByte(),String.fromCharCode(o.sentinel)){case"!":o.type="ext",function(r){switch(r.label=e.readByte(),r.label){case 249:r.extType="gce",function(r){e.readByte();var n=byteToBitArr(e.readByte());r.reserved=n.splice(0,3),r.disposalMethod=bitsToNum(n.splice(0,3)),r.userInput=n.shift(),r.transparencyGiven=n.shift(),r.delayTime=e.readUnsigned(),r.transparencyIndex=e.readByte(),r.terminator=e.readByte(),t.gce&&t.gce(r)}(r);break;case 254:r.extType="com",function(e){e.comment=n(),t.com&&t.com(e)}(r);break;case 1:r.extType="pte",function(r){e.readByte(),r.ptHeader=e.readBytes(12),r.ptData=n(),t.pte&&t.pte(r)}(r);break;case 255:r.extType="app",function(r){e.readByte(),r.identifier=e.read(8),r.authCode=e.read(3),"NETSCAPE"===r.identifier?function(r){e.readByte(),r.unknown=e.readByte(),r.iterations=e.readUnsigned(),r.terminator=e.readByte(),t.app&&t.app.NETSCAPE&&t.app.NETSCAPE(r)}(r):function(e){e.appData=n(),t.app&&t.app[e.identifier]&&t.app[e.identifier](e)}(r)}(r);break;default:r.extType="unknown",function(e){e.data=n(),t.unknown&&t.unknown(e)}(r)}}(o);break;case",":o.type="img",function(i){i.leftPos=e.readUnsigned(),i.topPos=e.readUnsigned(),i.width=e.readUnsigned(),i.height=e.readUnsigned();var o=byteToBitArr(e.readByte());i.lctFlag=o.shift(),i.interlaced=o.shift(),i.sorted=o.shift(),i.reserved=o.splice(0,2),i.lctSize=bitsToNum(o.splice(0,3)),i.lctFlag&&(i.lct=r(1<<i.lctSize+1)),i.lzwMinCodeSize=e.readByte();var a=n();i.pixels=lzwDecode(i.lzwMinCodeSize,a),i.interlaced&&(i.pixels=function(e,t){for(var r=Array(e.length),n=e.length/t,i=function(n,i){var o=e.slice(i*t,(i+1)*t);r.splice.apply(r,[n*t,t].concat(o))},o=[0,4,2,1],a=[8,8,4,2],s=0,c=0;4>c;c++)for(var l=o[c];n>l;l+=a[c])i(l,s),s++;return r}(i.pixels,i.width)),t.img&&t.img(i)}(o);break;case";":o.type="eof",t.eof&&t.eof(o);break;default:throw Error("Unknown block: 0x"+o.sentinel.toString(16))}"eof"!==o.type&&setTimeout(i,0)};!function(){var n={};if(n.sig=e.read(3),n.ver=e.read(3),"GIF"!==n.sig)throw Error("Not a GIF file.");n.width=e.readUnsigned(),n.height=e.readUnsigned();var i=byteToBitArr(e.readByte());n.gctFlag=i.shift(),n.colorRes=bitsToNum(i.splice(0,3)),n.sorted=i.shift(),n.gctSize=bitsToNum(i.splice(0,3)),n.bgColor=e.readByte(),n.pixelAspectRatio=e.readByte(),n.gctFlag&&(n.gct=r(1<<n.gctSize+1)),t.hdr&&t.hdr(n)}(),setTimeout(i,0)};function SuperGif(e){var t,r,n={vp_l:0,vp_t:0,vp_w:null,vp_h:null,c_w:null,c_h:null};for(var i in e)n[i]=e[i];n.vp_w&&n.vp_h&&(n.is_vp=!0);var o=null,a=!1,s=null,c=null,l=null,u=null,d=null,p=null,h=null,f=!0,g=!1,y=[],v=[],m=n.gif;void 0===n.auto_play&&(n.auto_play=!m.getAttribute("rel:auto_play")||"1"==m.getAttribute("rel:auto_play"));var b,S,_,w=n.hasOwnProperty("on_end")?n.on_end:null,I=n.hasOwnProperty("loop_delay")?n.loop_delay:0,E=n.hasOwnProperty("loop_mode")?n.loop_mode:"auto",T=!n.hasOwnProperty("draw_while_loading")||n.draw_while_loading,O=!!T&&(!n.hasOwnProperty("show_progress_bar")||n.show_progress_bar),C=n.hasOwnProperty("progressbar_height")?n.progressbar_height:25,P=n.hasOwnProperty("progressbar_background_color")?n.progressbar_background_color:"rgba(255,255,255,0.4)",R=n.hasOwnProperty("progressbar_foreground_color")?n.progressbar_foreground_color:"rgba(255,0,22,.8)",k=function(){s=null,c=null,d=l,l=null,p=null},x=function(){try{parseGIF(t,U)}catch(e){N("parse")}},A=function(e,t){b.width=e*z(),b.height=t*z(),_.width=e,_.height=t,_.style.width=e+"px",_.style.height=t+"px",_.getContext("2d").setTransform(1,0,0,1,0,0)},D=function(e,t,r){if(r&&O){var i,o,a,s=C;n.is_vp?g?(o=(n.vp_t+n.vp_h-s)/z(),s/=z(),i=n.vp_l/z()+e/t*(n.vp_w/z()),a=b.width/z()):(o=n.vp_t+n.vp_h-s,i=n.vp_l+e/t*n.vp_w,a=b.width):(o=(b.height-s)/(g?z():1),i=e/t*b.width/(g?z():1),a=b.width/(g?z():1),s/=g?z():1),S.fillStyle=P,S.fillRect(i,o,a-i,s),S.fillStyle=R,S.fillRect(0,o,i,s)}},N=function(e){o=e,r={width:m.width,height:m.height},y=[],S.fillStyle="black",S.fillRect(0,0,n.c_w?n.c_w:r.width,n.c_h?n.c_h:r.height),S.strokeStyle="red",S.lineWidth=3,S.moveTo(0,0),S.lineTo(n.c_w?n.c_w:r.width,n.c_h?n.c_h:r.height),S.moveTo(0,n.c_h?n.c_h:r.height),S.lineTo(n.c_w?n.c_w:r.width,0),S.stroke()},L=function(){p&&(y.push({data:p.getImageData(0,0,r.width,r.height),delay:c}),v.push({x:0,y:0}))},j=function(){var e,t,r,i=-1,a=0,s=function(e){i+=e,l()},c=(e=!1,t=function(){null!==w&&w(m),a++,!1!==E||0>a?r():(e=!1,f=!1)},r=function(){if(e=f){s(1);var n=10*y[i].delay;n||(n=100),0==(i+1+y.length)%y.length?setTimeout(t,n+=I):setTimeout(r,n)}},function(){e||setTimeout(r,0)}),l=function(){var e;(i=parseInt(i,10))>y.length-1&&(i=0),0>i&&(i=0),e=v[i],_.getContext("2d").putImageData(y[i].data,e.x,e.y),S.globalCompositeOperation="copy",S.drawImage(_,0,0)};return{init:function(){o||(n.c_w&&n.c_h||S.scale(z(),z()),n.auto_play?c():(i=0,l()))},step:c,play:function(){f=!0,c()},pause:function(){f=!1},playing:f,move_relative:s,current_frame:function(){return i},length:function(){return y.length},move_to:function(e){i=e,l()}}}(),M=function(e){D(t.pos,t.data.length,e)},$=function(){},B=function(e,t){return function(r){e(r),M(t)}},U={hdr:B((function(e){A((r=e).width,r.height)})),gce:B((function(e){L(),k(),s=e.transparencyGiven?e.transparencyIndex:null,c=e.delayTime,l=e.disposalMethod})),com:B($),app:{NETSCAPE:B($)},img:B((function(e){p||(p=_.getContext("2d"));var t=y.length,i=e.lctFlag?e.lct:r.gct;t>0&&(3===d?null!==u?p.putImageData(y[u].data,0,0):p.clearRect(h.leftPos,h.topPos,h.width,h.height):u=t-1,2===d&&p.clearRect(h.leftPos,h.topPos,h.width,h.height));var o=p.getImageData(e.leftPos,e.topPos,e.width,e.height);e.pixels.forEach((function(e,t){e!==s&&(o.data[4*t+0]=i[e][0],o.data[4*t+1]=i[e][1],o.data[4*t+2]=i[e][2],o.data[4*t+3]=255)})),p.putImageData(o,e.leftPos,e.topPos),g||(S.scale(z(),z()),g=!0),T&&(S.drawImage(_,0,0),T=n.auto_play),h=e}),!0),eof:function(){L(),M(!1),n.c_w&&n.c_h||(b.width=r.width*z(),b.height=r.height*z()),j.init(),a=!1,W&&W(m)}},F=function(){var e=document.createElement("div");b=document.createElement("canvas"),S=b.getContext("2d"),_=document.createElement("canvas"),e.width=b.width=m.width,e.height=b.height=m.height,e.className="jsgif",e.appendChild(b),n.c_w&&n.c_h&&A(n.c_w,n.c_h),V=!0},z=function(){return n.max_width&&r&&r.width>n.max_width?n.max_width/r.width:1},V=!1,W=!1,H=function(e){return!a&&(W=e||!1,a=!0,y=[],k(),u=null,d=null,p=null,h=null,!0)};return{play:j.play,pause:j.pause,move_relative:j.move_relative,move_to:j.move_to,get_playing:function(){return f},get_canvas:function(){return b},get_canvas_scale:function(){return z()},get_loading:function(){return a},get_auto_play:function(){return n.auto_play},get_length:function(){return j.length()},get_current_frame:function(){return j.current_frame()},load_url:function(e,r){if(H(r)){var n=new XMLHttpRequest;n.open("GET",e,!0),"overrideMimeType"in n?n.overrideMimeType("text/plain; charset=x-user-defined"):"responseType"in n?n.responseType="arraybuffer":n.setRequestHeader("Accept-Charset","x-user-defined"),n.onloadstart=function(){V||F()},n.onload=function(e){200!=this.status&&N("xhr - response"),"response"in this||(this.response=new VBArray(this.responseText).toArray().map(String.fromCharCode).join(""));var r=this.response;(""+r).indexOf("ArrayBuffer")>0&&(r=new Uint8Array(r)),t=new Stream(r),setTimeout(x,0)},n.onprogress=function(e){e.lengthComputable&&D(e.loaded,e.total,!0)},n.onerror=function(){N("xhr")},n.send()}},load:function(e){this.load_url(m.getAttribute("rel:animated_src")||m.src,e)},load_raw:function(e,r){H(r)&&(V||F(),t=new Stream(e),setTimeout(x,0))},set_frame_offset:function(e,t){v[e]?(void 0!==t.x&&(v[e].x=t.x),void 0!==t.y&&(v[e].y=t.y)):v[e]=t}}}var ImageLoader=function(){function e(){_classCallCheck$1(this,e)}return _createClass$1(e,null,[{key:"checkPendingLoadJob",value:function(){var e=this.loadImagePendingList.shift();e&&this.doLoadJob(e).catch((function(){}))}},{key:"log",value:function(e){e.startsWith("data:")}},{key:"doLoadJob",value:(t=_asyncToGenerator$1(_regeneratorRuntime$1.mark((function t(r){var n,i,o,a,s,c=this;return _regeneratorRuntime$1.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=Date.now(),i=r.resolve,o=r.reject,a=r.imgUrl,t.prev=3,t.next=6,getURLBase64(a);case 6:a=t.sent,t.next=12;break;case 9:t.prev=9,t.t0=t.catch(3),Log.logInfo("ImageShape img load first try get url base64 failed, will load directly",a);case 12:(s=new Image).src=a,s.onload=function(){var t=Date.now();i(s),c.loadImageJobCount--,e.log(a,"ImageLoader img load success, time cost",t-n,"this.loadImageJobCount",c.loadImageJobCount,a),c.checkPendingLoadJob()},s.onerror=function(){var t=new Image;t.crossOrigin="Anonymous",t.src=a,t.onload=function(){i(t),c.loadImageJobCount--;var r=Date.now();e.log(a,"ImageLoader img load success, time cost",r-n,"this.loadImageJobCount",c.loadImageJobCount,a),c.checkPendingLoadJob()},t.onerror=function(t){c.loadImageJobCount--,2===r.retryCount?(e.log(r.imgUrl,"ImageLoader img load failed after 2 times retry, ",r.imgUrl),o(t)):(r.retryCount++,e.log(a,"ImageLoader img load failed, will add to joblist and try again, retryCount",r.retryCount,a),c.loadImagePendingList.push(r)),c.checkPendingLoadJob()}};case 16:case"end":return t.stop()}}),t,null,[[3,9]])}))),function(e){return t.apply(this,arguments)})},{key:"loadImg",value:function(t){var r=this;return this.loadImageJobCount++,new Promise((function(n,i){r.maxConcurrency>r.loadImageJobCount?(e.log(t,"ImageLoader got new load job, loading jobs: ",r.loadImageJobCount,"pending jobs: ",r.loadImagePendingList.length,"job not full, will load directly",t),r.doLoadJob({imgUrl:t,resolve:n,reject:i,retryCount:0}).catch((function(){e.log("load failed",t)}))):(e.log(t,"ImageLoader got new load job, loading jobs: ",r.loadImageJobCount,"pending jobs: ",r.loadImagePendingList.length,"job full, will add to pending job list",t),r.loadImagePendingList.push({imgUrl:t,resolve:n,reject:i,retryCount:0}))}))}},{key:"loadImgAnonymous",value:function(e){return new Promise((function(t,r){var n=new Image;n.src=e,n.crossOrigin="Anonymous",n.onload=function(){t(n)},n.onerror=function(e){r(e)}}))}},{key:"loadGif",value:function(e){return new Promise((function(t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){var e=n.response;e?t(e):r(Error("Gif loader:: Invalid response"))},n.onerror=function(e){return r(e)},n.send(null)}))}},{key:"loadAsArrayBuffer",value:function(e){return new Promise((function(t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){var e=n.response;e?t(e):r(Error("Fileloader:: Invalid response"))},n.onerror=function(e){return r(e)},n.send(null)}))}}]);var t}();function ownKeys$a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$a(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$a(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$k(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$k()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$k(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$k=function(){return!!e})()}function _superPropGet$4(e,t,r,n){var i=_get(_getPrototypeOf$1(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}Object.defineProperty(ImageLoader,"loadImageJobCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(ImageLoader,"maxConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(ImageLoader,"loadImagePendingList",{enumerable:!0,configurable:!0,writable:!0,value:[]});var Image$1=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$k(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(n,"imgUrl",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"loadedUrl",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(n,"_img",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"gifData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"gifRenderInterval",{enumerable:!0,configurable:!0,writable:!0,value:0}),includes(r,"gif")&&(ImageLoader.loadImg(r).then((function(e){var t;n.gifData=SuperGif({gif:e,show_progress_bar:!1,draw_while_loading:!1}),null===(t=n.gifData)||void 0===t||t.load()})).catch((function(e){Log.logError("ImageShape load gif failed",e)})),n.gifRenderInterval=window.setInterval((function(){n.emitRenderRequest()}),1e3/BaseShape.GIF_RENDER_RATE)),n}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$a({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this.imgUrl)}},{key:"img",get:function(){return this._img},set:function(e){this._img=e,this.emitRenderRequest()}},{key:"shapeType",get:function(){return ShapeType.Image}},{key:"export",value:function(){return Object.assign({},_superPropGet$4(t,"export",this,3)([]),{imgUrl:this.imgUrl})}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"genDrawMsg",value:function(e){return _objectSpread$a(_objectSpread$a({},_superPropGet$4(t,"genDrawMsg",this,3)([e])),{},{pageId:this.pageId,image:JSON.stringify({height:this.height,url:this.imgUrl,width:this.width})})}},{key:"loadImage",value:function(){var e=this;return this._img&&this.loadedUrl===this.imgUrl?Promise.resolve(this._img):ImageLoader.loadImg(this.imgUrl).then((function(t){return e.img=t,e.loadedUrl=e.imgUrl,t}))}},{key:"isPointInShape",value:function(e,t){return e>this.minx&&this.maxx>e&&t>this.miny&&this.maxy>t}},{key:"isGif",value:function(){return includes(this.imgUrl,"gif")}},{key:"renderShape",value:function(e){if(this.img&&!this.isGif()){e.save();try{e.drawImage(this.img,this.points[0].x,this.points[0].y,this.points[1].x-this.points[0].x,this.points[1].y-this.points[0].y)}catch(e){console.error(e)}e.restore()}else this.gifData&&e.drawImage(this.gifData.get_canvas(),this.points[0].x,this.points[0].y,this.points[1].x-this.points[0].x,this.points[1].y-this.points[0].y)}},{key:"genRgnMsg",value:function(e){return _objectSpread$a(_objectSpread$a({},_superPropGet$4(t,"genRgnMsg",this,3)([e])),{},{pageId:this.pageId})}},{key:"destructor",value:function(){_superPropGet$4(t,"destructor",this,3)([]),this.gifRenderInterval&&clearInterval(this.gifRenderInterval)}}])}(),css_248z='.dingrtc-wb-switch{align-items:center;box-sizing:border-box;display:flex;height:32px;pointer-events:auto}.dingrtc-wb-switch label{font-size:13px;font-weight:500}.dingrtc-wb-switch input[type=checkbox]{display:none}.dingrtc-wb-switch .dingrtc-switch-handle{border-radius:50px;cursor:pointer;display:inline-block;font-size:14px;height:22px;margin-left:5px;position:relative;transition:all .1s ease-in;width:50px}.dingrtc-wb-switch .dingrtc-switch-handle:after{background-color:#fff;border-radius:100px;box-shadow:inset 0 0 0 0 #eee,0 0 1px rgba(0,0,0,.4);content:" ";height:16px;left:0;position:absolute;top:3px;transition:box-shadow .1s ease-in;width:40px}.dingrtc-wb-switch .dingrtc-switch-handle:before{background:#fff;border-radius:100px;box-shadow:0 3px 1px rgba(0,0,0,.05),0 0 1px rgba(0,0,0,.3);content:" ";height:20px;left:-1px;position:absolute;top:0;transition:left .1s ease-in;width:20px;z-index:999999}.dingrtc-wb-switch input[type=checkbox]:checked+.dingrtc-switch-handle:before{left:22px}.dingrtc-wb-switch input[type=checkbox]:checked+.dingrtc-switch-handle:after{background:#4cda60;box-shadow:0 0 1px #4cda60;content:" ";font-size:1.5em;position:absolute}';styleInject(css_248z);var SwitchButton=function(){return _createClass$1((function e(t){var r=this,n=1>=arguments.length||void 0===arguments[1]||arguments[1],i=arguments.length>2?arguments[2]:void 0;_classCallCheck$1(this,e),Object.defineProperty(this,"_checked",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"onSwitch",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"wrapperElement",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkbox",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("input")}),Object.defineProperty(this,"lable",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("label")}),Object.defineProperty(this,"onClick",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e.stopPropagation(),r.checked=!r.checked,r.checkbox.checked=r.checked,r.onSwitch(r.checked)}}),this.wrapperElement=document.createElement("div");var o=document.createElement("span");o.className="dingrtc-switch-handle",this.wrapperElement.className="dingrtc-wb-switch",this.checkbox.type="checkbox",this.lable.innerHTML=t,this.wrapperElement.append(this.lable),this.wrapperElement.append(this.checkbox),this.wrapperElement.append(o),this.checkbox.checked=n,this.wrapperElement.addEventListener("click",this.onClick)}),[{key:"checked",get:function(){return this._checked},set:function(e){this._checked=e,this.checkbox.checked=e}}])}(),I18n=function(){function e(){_classCallCheck$1(this,e)}return _createClass$1(e,null,[{key:"setConfig",value:function(e){this.conifg=merge$1(this.conifg,e)}},{key:"t",value:function(t){return get(e.conifg,"".concat(e.locale,".").concat(t),"")}}])}();function ownKeys$9(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$9(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$9(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$9(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$j(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$j()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$j(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$j=function(){return!!e})()}function _superPropGet$3(e,t,r,n){var i=_get(_getPrototypeOf$1(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}Object.defineProperty(I18n,"locale",{enumerable:!0,configurable:!0,writable:!0,value:"zh_CN"}),Object.defineProperty(I18n,"conifg",{enumerable:!0,configurable:!0,writable:!0,value:{zh_CN:{repeatPlay:"循环播放"},de:{repeatPlay:"Wiederholen Sie das Spiel"},fr:{repeatPlay:"répéter la lecture"},ja:{repeatPlay:"リピートプレイ"},ko:{repeatPlay:"반복 재생"},zh_TW:{repeatPlay:"循環播放"},en:{repeatPlay:"Repeat play"}}});var MediaShape=function(e){function t(e,r){var n;_classCallCheck$1(this,t),n=_callSuper$j(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(n,"mediaUrl",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"wrapperDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(n,"mediaElement",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_headerDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(n,"_switchButton",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_repeatPlay",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(n,"callbacks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_onVideoStop",{enumerable:!0,configurable:!0,writable:!0,value:function(){n.mediaElement.play()}}),Object.defineProperty(n,"_onMouseMove",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onShapeFocused(n)}),30)}),Object.defineProperty(n,"_onClick",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onShapeSelected(n)}}),Object.defineProperty(n,"_onVideoTimePlay",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onMediaUpdate(n)}}),Object.defineProperty(n,"_onVideoTimePause",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onMediaUpdate(n)}}),Object.defineProperty(n,"_onVideoTimeUpdate",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(){var e;null===(e=n.callbacks)||void 0===e||e.onMediaUpdate(n)}),3e3)}),n.wrapperDom.className="dingrtc-wb__media",n.mediaElement=n._makeMediaElement(),n._headerDom.className="dingrtc-wb__media__header";var i=document.createElement("span");i.innerHTML="Video Player",n._headerDom.appendChild(i),n._switchButton=new SwitchButton(I18n.t("repeatPlay"),n.repeatPlay,(function(e){return n.repeatPlay=e})),n._headerDom.appendChild(n._switchButton.wrapperElement);var o=document.createElement("div");return o.className="dingrtc-wb__media__body",n.mediaElement.src=n.mediaUrl,n.mediaElement.setAttribute("controlslist","nodownload"),n.mediaElement.controls=!0,n.wrapperDom.appendChild(n._headerDom),n.wrapperDom.appendChild(o),o.appendChild(n.mediaElement),n.mediaElement.addEventListener("play",n._onVideoTimePlay),n.mediaElement.addEventListener("timeupdate",n._onVideoTimeUpdate),n.mediaElement.addEventListener("pause",n._onVideoTimePause),n._headerDom.addEventListener("click",n._onClick),n.wrapperDom.addEventListener("mousemove",n._onMouseMove),n}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"repeatPlay",get:function(){return this._repeatPlay},set:function(e){this._repeatPlay=e,this._switchButton.checked=e,e?this.mediaElement.addEventListener("ended",this._onVideoStop):this.mediaElement.removeEventListener("ended",this._onVideoStop)}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"export",value:function(){return Object.assign({},_superPropGet$3(t,"export",this,3)([]),{mediaUrl:this.mediaUrl})}},{key:"setCallback",value:function(e){this.callbacks=e}},{key:"genDrawMsg",value:function(e){return _objectSpread$9({},_superPropGet$3(t,"genDrawMsg",this,3)([e]))}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=e,this.emitRenderRequest(),e||this.removeMediaDom()}},{key:"isPointInShape",value:function(e,t){return e>this.minx&&this.maxx>e&&t>this.miny&&this.maxy>t}},{key:"renderShape",value:function(e,t){this.wrapperDom.style.width="".concat(this.maxx-this.minx-6,"px"),this.wrapperDom.style.left="".concat(this.minx*t.scale+t.translate[0]+3,"px"),this.wrapperDom.style.top="".concat(this.miny*t.scale+t.translate[1]+3,"px"),this.wrapperDom.style.transform="scale(".concat(t.scale,")"),this.wrapperDom.style.height="".concat(this.maxy-this.miny-6,"px"),this.wrapperDom.parentElement||t.wrapperDom.appendChild(this.wrapperDom),this.shouldRenderOutline?(this.renderOutline(e,t.scale),this.wrapperDom.style.pointerEvents="none",this._headerDom.style.opacity="1"):(this.wrapperDom.style.pointerEvents="auto",this._headerDom.style.opacity="0"),this._headerDom.style.pointerEvents=this.interactionStatus===InteractionStatusType.focused?"auto":"none",this.mediaElement.style.pointerEvents=this.interactionStatus===InteractionStatusType.selected?"none":"auto"}},{key:"removeMediaDom",value:function(){var e;null===(e=this.wrapperDom.parentElement)||void 0===e||e.removeChild(this.wrapperDom)}},{key:"destructor",value:function(){this.removeMediaDom(),this.mediaElement.removeEventListener("play",this._onVideoTimePlay),this.mediaElement.removeEventListener("pause",this._onVideoTimePause),this.mediaElement.removeEventListener("timeupdate",this._onVideoTimeUpdate),this._headerDom.removeEventListener("click",this._onClick),this.wrapperDom.removeEventListener("mousemove",this._onMouseMove)}}])}();function ownKeys$8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$8(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$8(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$8(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$i(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$i()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$i=function(){return!!e})()}var Video=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$i(this,t,arguments)}return _inherits$1(t,MediaShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$8({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this.mediaUrl)}},{key:"_makeMediaElement",value:function(){return document.createElement("video")}},{key:"shapeType",get:function(){return ShapeType.Video}}])}();function ownKeys$7(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$7(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$7(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$7(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$h(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$h()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$h(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$h=function(){return!!e})()}var Audio=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$h(this,t,arguments)}return _inherits$1(t,MediaShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$7({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this.mediaUrl)}},{key:"_makeMediaElement",value:function(){return document.createElement("audio")}},{key:"shapeType",get:function(){return ShapeType.Audio}}])}();function ownKeys$6(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$6(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$6(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$6(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$g(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$g()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$g(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$g=function(){return!!e})()}var Eraser=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$g(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$6({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Brush}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"isPointInShape",value:function(){return!1}},{key:"renderShape",value:function(e){var t=this;e.save(),e.beginPath(),e.strokeStyle="rgba(0, 0, 0, 1)",e.fillStyle="rgba(0, 0, 0, 1)",e.lineWidth=this.shapeStyle.lineWidth,e.lineCap="round",e.lineJoin="round",e.globalCompositeOperation="destination-out",this.points.forEach((function(r,n){if(0===n)e.moveTo(r.x,r.y);else if(n===t.points.length-1)e.lineTo(r.x,r.y),e.stroke(),e.closePath(),e.restore();else{var i={x:(r.x+t.points[n-1].x)/2,y:(r.y+t.points[n-1].y)/2};e.quadraticCurveTo(i.x,i.y,r.x,r.y)}})),e.globalCompositeOperation="source-over"}}])}();function ownKeys$5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$5(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$5(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$5(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$f(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$f()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$f(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$f=function(){return!!e})()}var Triangle=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$f(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$5({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Triangle}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent";var n=this.points[0],i={x:.5*(n.x+this.points[1].x),y:this.points[1].y},o={x:this.points[1].x,y:n.y};r.moveTo(n.x,n.y),r.lineTo(i.x,i.y),r.lineTo(o.x,o.y),r.lineTo(n.x,n.y),r.stroke(),r.closePath();var a=this.shapeStyle.fillType===ShapeFillType.color?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),a}},{key:"renderShape",value:function(e){e.save(),e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle;var t=this.points[0],r={x:.5*(t.x+this.points[1].x),y:this.points[1].y},n={x:this.points[1].x,y:t.y};e.moveTo(t.x,t.y),e.lineTo(r.x,r.y),e.lineTo(n.x,n.y),e.lineTo(t.x,t.y),e.stroke(),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color&&(e.fillStyle=this.shapeStyle.fillStyle,e.fill()),e.restore()}}])}();function ownKeys$4(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$4(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$4(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$4(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$e(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$e()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$e(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$e=function(){return!!e})()}var Rhombic=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$e(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$4({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Rhombic}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent";var n={x:this.points[0].x,y:.5*(this.points[0].y+this.points[1].y)},i={x:.5*(n.x+this.points[1].x),y:this.points[1].y},o={x:this.points[1].x,y:n.y},a={x:i.x,y:this.points[0].y};r.moveTo(n.x,n.y),r.lineTo(i.x,i.y),r.lineTo(o.x,o.y),r.lineTo(a.x,a.y),r.lineTo(n.x,n.y),r.stroke(),r.closePath();var s=this.shapeStyle.fillType===ShapeFillType.none?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),s}},{key:"renderShape",value:function(e){e.save(),e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle;var t={x:this.points[0].x,y:.5*(this.points[0].y+this.points[1].y)},r={x:.5*(t.x+this.points[1].x),y:this.points[1].y},n={x:this.points[1].x,y:t.y},i={x:r.x,y:this.points[0].y};e.moveTo(t.x,t.y),e.lineTo(r.x,r.y),e.lineTo(n.x,n.y),e.lineTo(i.x,i.y),e.lineTo(t.x,t.y),e.stroke(),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color&&(e.fillStyle=this.shapeStyle.fillStyle,e.fill()),e.restore()}}])}(),images={plus:"https://img.alicdn.com/imgextra/i3/O1CN01PsyXYc1HjhTqgZuQP_!!6000000000794-55-tps-18-18.svg",eraser:"https://img.alicdn.com/imgextra/i1/O1CN011VE3sO27TXWbuVtj1_!!6000000007798-55-tps-16-16.svg",pencil:"https://img.alicdn.com/imgextra/i2/O1CN018ML8Gu1HXKmo27wpQ_!!6000000000767-55-tps-16-16.svg",text:"https://img.alicdn.com/imgextra/i3/O1CN01HLEKtO27bKG5EoaSo_!!6000000007815-55-tps-16-16.svg",select:"https://img.alicdn.com/imgextra/i1/O1CN01E5By8i1qm01Hbhnoh_!!6000000005537-55-tps-16-16.svg",laser:"https://img.alicdn.com/imgextra/i2/O1CN01wz96mh1Em2esQp7W2_!!6000000000393-2-tps-30-30.png"};function _callSuper$d(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$d()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$d(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$d=function(){return!!e})()}var cursorLaserPointerImage=void 0;ImageLoader.loadImg(images.laser).then((function(e){return cursorLaserPointerImage=e})).catch((function(e){Log.logError("laser pointer load failed: ",e)}));var LaserPointer=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$d(this,t,arguments)}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(){throw Error("Method not implemented.")}},{key:"shapeType",get:function(){return ShapeType.LaserPointer}},{key:"isPointInShape",value:function(){return!1}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"renderShape",value:function(e,t){var r=t.scale;e.save(),cursorLaserPointerImage&&e.drawImage(cursorLaserPointerImage,0,0,cursorLaserPointerImage.naturalWidth,cursorLaserPointerImage.naturalHeight,this.points[0].x-15/r,this.points[0].y-15/r,cursorLaserPointerImage.naturalWidth/r,cursorLaserPointerImage.naturalHeight/r),e.restore()}}])}(),Metrics=function(){return _createClass$1((function e(){_classCallCheck$1(this,e)}),null,[{key:"sendEventMetrics",value:function(e){throw Error("Method not implemented.")}}])}();function ownKeys$3(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$3(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$3(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$3(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$c(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$c()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$c=function(){return!!e})()}function _superPropGet$2(e,t,r,n){var i=_get(_getPrototypeOf$1(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}var StampResourceCache=function(){return _createClass$1((function e(){_classCallCheck$1(this,e)}),null,[{key:"get",value:function(e){return this.stampResources.get(e)}},{key:"cache",value:function(e,t,r){Log.logInfo("StampResourceCache.cache load image",e,t,r);var n={url:t,resizable:r,serverCache:!1,getImgEl:ImageLoader.loadImg(t).catch((function(n){return Log.logError("StampResourceCache.cache load image failed",e,t,r),Metrics.sendEventMetrics({event:"image load failed",url:t,message:"Stamp image load failed"}),Promise.reject(n)}))};return this.stampResources.set(e,n),n}},{key:"setServerCache",value:function(e){var t=this.stampResources.get(e);t&&(t.serverCache=!0)}}])}();Object.defineProperty(StampResourceCache,"stampResources",{enumerable:!0,configurable:!0,writable:!0,value:new Map});var Stamp=function(e){function t(e,r,n,i){var o,a;return _classCallCheck$1(this,t),a=_callSuper$c(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(a,"stampId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(a,"resizable",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"imgUrl",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(a,"img",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),(null!==(o=t.stampResourceCache.get(a.stampId))&&void 0!==o?o:t.stampResourceCache.cache(a.stampId,a.imgUrl,a.resizable)).getImgEl.then((function(e){a.img=e,a.emitRenderRequest()})),a}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$3({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this.stampId,this.resizable,this.imgUrl)}},{key:"shapeType",get:function(){return ShapeType.Stamp}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"export",value:function(){return Object.assign({},_superPropGet$2(t,"export",this,3)([]),{imgUrl:this.imgUrl,stampId:this.stampId,resizable:this.resizable})}},{key:"genDrawMsg",value:function(e){return _objectSpread$3(_objectSpread$3({},_superPropGet$2(t,"genDrawMsg",this,3)([e])),{},{data:points2numArr(this.resizable?this.points:[this.center,this.center]).join(" "),pageId:this.pageId,image:JSON.stringify({height:this.height,url:this.stampId,width:this.width})})}},{key:"genRgnMsg",value:function(e){return _objectSpread$3(_objectSpread$3({},_superPropGet$2(t,"genRgnMsg",this,3)([e])),{},{pageId:this.pageId})}},{key:"isPointInShape",value:function(e,t){return e>this.minx&&this.maxx>e&&t>this.miny&&this.maxy>t}},{key:"isGif",value:function(){return includes(this.imgUrl,"gif")}},{key:"renderShape",value:function(e){if(this.img){e.save();try{this.resizable?e.drawImage(this.img,this.points[0].x,this.points[0].y,this.points[1].x-this.points[0].x,this.points[1].y-this.points[0].y):e.drawImage(this.img,this.center.x-this.img.naturalWidth/2,this.center.y-this.img.naturalHeight/2)}catch(e){console.error(e)}e.restore()}}},{key:"outlineResizeHandles",get:function(){var e=this;return this.resizable?[new OutlineResizeHandle((function(){return e.minx}),(function(){return e.miny}),"nwse-resize",ResizeType.widthAndHeight),new OutlineResizeHandle((function(){return(e.minx+e.maxx)/2}),(function(){return e.miny}),"ns-resize",ResizeType.height),new OutlineResizeHandle((function(){return e.maxx}),(function(){return e.miny}),"nesw-resize",ResizeType.widthAndHeight),new OutlineResizeHandle((function(){return e.maxx}),(function(){return(e.miny+e.maxy)/2}),"ew-resize",ResizeType.width),new OutlineResizeHandle((function(){return e.maxx}),(function(){return e.maxy}),"nwse-resize",ResizeType.widthAndHeight),new OutlineResizeHandle((function(){return(e.minx+e.maxx)/2}),(function(){return e.maxy}),"ns-resize",ResizeType.height),new OutlineResizeHandle((function(){return e.minx}),(function(){return e.maxy}),"nesw-resize",ResizeType.widthAndHeight),new OutlineResizeHandle((function(){return e.minx}),(function(){return(e.miny+e.maxy)/2}),"ew-resize",ResizeType.width)]:[new OutlineResizeHandle((function(){return e.minx}),(function(){return e.miny}),"",ResizeType.none),new OutlineResizeHandle((function(){return e.maxx}),(function(){return e.miny}),"",ResizeType.none),new OutlineResizeHandle((function(){return e.maxx}),(function(){return e.maxy}),"",ResizeType.none),new OutlineResizeHandle((function(){return e.minx}),(function(){return e.maxy}),"",ResizeType.none)]}},{key:"destructor",value:function(){_superPropGet$2(t,"destructor",this,3)([])}}])}(),MouseType;function _callSuper$b(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$b()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$b=function(){return!!e})()}Object.defineProperty(Stamp,"stampResourceCache",{enumerable:!0,configurable:!0,writable:!0,value:StampResourceCache}),function(e){e.draw="draw",e.select="select",e.delete="delete",e.erase="erase",e.text="text",e.polygon="polygon",e.laserPointer="laserPointer",e.default="default"}(MouseType||(MouseType={}));var pencilImage=void 0,eraserImage=void 0,textCursorImage=void 0,pointerImage=void 0,polygonImage=void 0;ImageLoader.loadImg(images.pencil).then((function(e){return pencilImage=e})).catch((function(e){Log.logError("cursor load failed: ",e)})),ImageLoader.loadImg(images.eraser).then((function(e){return eraserImage=e})).catch((function(e){Log.logError("cursor load failed: ",e)})),ImageLoader.loadImg(images.text).then((function(e){return textCursorImage=e})).catch((function(e){Log.logError("cursor load failed: ",e)})),ImageLoader.loadImg(images.laser).then((function(e){return pointerImage=e})).catch((function(e){Log.logError("cursor load failed: ",e)})),ImageLoader.loadImg(images.plus).then((function(e){return polygonImage=e})).catch((function(e){Log.logError("cursor load failed: ",e)}));var Cursor=function(e){function t(e,r,n,i){var o;return _classCallCheck$1(this,t),o=_callSuper$b(this,t,[e.points,e.shapeId,e.creator]),Object.defineProperty(o,"userName",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(o,"cursorType",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(o,"color",{enumerable:!0,configurable:!0,writable:!0,value:i}),o}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(){throw Error("Method not implemented.")}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"updateCursor",value:function(e,t,r,n){this.color=r,this.points=[{x:e,y:t}],this.cursorType=n,this.emitRenderRequest()}},{key:"shapeType",get:function(){return ShapeType.Cursor}},{key:"isPointInShape",value:function(){return!1}},{key:"renderShape",value:function(e,t){var r,n,i=t.scale;e.save();var o=pencilImage,a=0,s=0;this.cursorType===MouseType.draw?(o=pencilImage,a=-14):this.cursorType===MouseType.erase?(o=eraserImage,a=-12):this.cursorType===MouseType.select?o=pointerImage:this.cursorType===MouseType.text?o=textCursorImage:this.cursorType===MouseType.polygon&&(o=polygonImage,a=-8,s=-8);var c=this.points[0],l=(null===(r=o)||void 0===r?void 0:r.naturalWidth)||16,u=(null===(n=o)||void 0===n?void 0:n.naturalHeight)||16;o&&e.drawImage(o,0,0,l,u,c.x+s/i,c.y+a/i,l/i,u/i),e.fillStyle=this.color,e.font="".concat(12/i,"px ").concat(DEFAULT_FONT_FAMILY);var d=e.measureText(this.userName).width;drawRoundedRectangle(e,c.x+s/i,c.y+(a-28)/i,d+10/i,18/i,3/i,this.color,this.color),e.fillStyle="RGBA(255,255,255,1)",e.fillText(this.userName,c.x+(s+5)/i,c.y+(a-15)/i),e.restore()}}])}();function parseToolType(e){switch(e){case ShapeType.Pen:return MouseType.draw;case ShapeType.Arrow:case ShapeType.Ellipse:case ShapeType.Line:case ShapeType.Circle:case ShapeType.Square:case ShapeType.Rect:case ShapeType.Stamp:return MouseType.polygon;case ShapeType.Select:case ShapeType.Click:return MouseType.select;case ShapeType.Brush:return MouseType.erase;case ShapeType.Delete:return MouseType.delete;case ShapeType.Text:return MouseType.text;case ShapeType.LaserPointer:return MouseType.laserPointer;default:return MouseType.default}}function getShapeCursorStyle(e){switch(parseToolType(e)){case MouseType.erase:return"none";case MouseType.delete:return"url('".concat(images.eraser,"') 0 12, auto");case MouseType.draw:return Environment.isSafari()?"auto":"url('".concat(images.pencil,"') 0 16, auto");case MouseType.laserPointer:return"url('".concat(images.laser,"') 14 14, auto");case MouseType.polygon:return"url('".concat(images.plus,"') 8 8, auto");case MouseType.select:return"url('".concat(images.select,"') 0 0, auto");case MouseType.text:return"url('".concat(images.text,"') 0 0, auto");default:return""}}Environment.isSafari();var RenderStats=function(){return _createClass$1((function e(){_classCallCheck$1(this,e),Object.defineProperty(this,"renderInfo",{enumerable:!0,configurable:!0,writable:!0,value:[]})}),[{key:"record",value:function(e,t){this.renderInfo.push({startTime:e,timeCost:t})}}])}(),RENDER_STATUS;!function(e){e[e.Aavilable=0]="Aavilable",e[e.Busy=1]="Busy"}(RENDER_STATUS||(RENDER_STATUS={}));var Renderer=function(){return _createClass$1((function e(t){var r=this;_classCallCheck$1(this,e),Object.defineProperty(this,"wb",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"canvasElement",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"cachedCanvas",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"eraserCacheCvs",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"renderStatus",{enumerable:!0,configurable:!0,writable:!0,value:RENDER_STATUS.Aavilable}),Object.defineProperty(this,"renderStats",{enumerable:!0,configurable:!0,writable:!0,value:new RenderStats}),Object.defineProperty(this,"frameRenderRate",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"renderContext2d",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"eraserCvsCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cachedCvsCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"eraserCvsOutdated",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_sizeLimitStyle",{enumerable:!0,configurable:!0,writable:!0,value:{strokeStyle:"rgba(0,0,0,0.5)",lineWidth:1,fillStyle:"rgba(0,0,0,0)"}}),Object.defineProperty(this,"cachedCtxSnapshot",{enumerable:!0,configurable:!0,writable:!0,value:{devicePixelRatio:this.getDevicePixelRatio(),width:0,height:0,translate:[0,0],scale:1,shapesHashSum:0,shapesSize:0,docId:"",pageId:""}}),Object.defineProperty(this,"updateCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e=0>=arguments.length||void 0===arguments[0]||arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Math.floor(r.canvasElement.clientWidth*r.getDevicePixelRatio()),o=Math.floor(r.canvasElement.clientHeight*r.getDevicePixelRatio());if(r.canvasElement.width!==i||r.canvasElement.height!==o||t){if(0===i||0===o)return;Log.logInfo("Renderer.updateCanvasSize before",{width:r.canvasElement.width,height:r.canvasElement.height},"after",{width:i,height:o}),r.canvasElement.width=i,r.canvasElement.height=o,r.cachedCanvas.width=i,r.cachedCanvas.height=o,r.eraserCacheCvs.width=i,r.eraserCacheCvs.height=o}n&&setTimeout((function(){r.updateCanvasSize(e,t,!1)}),1e3)}}),Object.defineProperty(this,"checkCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:function(){Log.logInfo("Renderer.checkCanvasSize");try{var e=Math.floor(r.canvasElement.clientWidth*r.getDevicePixelRatio()),t=Math.floor(r.canvasElement.clientHeight*r.getDevicePixelRatio());if(r.canvasElement.width!==e||r.canvasElement.height!==t){if(0===e||0===t)return;Log.logInfo("Renderer._checkCanvasSize before",{width:r.canvasElement.width,height:r.canvasElement.height},"after",{width:e,height:t}),r.canvasElement.width=e,r.canvasElement.height=t,r.cachedCanvas.width=e,r.cachedCanvas.height=t,r.eraserCacheCvs.width=e,r.eraserCacheCvs.height=t,r.doRebuildCacheRenderer(),r.updateBg()}}catch(e){Log.logError("check canvas size error",e)}}}),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.renderStatus!==RENDER_STATUS.Busy&&(r.wb.isWhiteboardOpen?(r.renderStatus=RENDER_STATUS.Busy,requestAnimationFrame((function(){return r.doRender()}))):Log.logInfo("Renderer.render whiteboard not open yet, will not render"))}}),Object.defineProperty(this,"doRender",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e=Date.now(),t=(new Date).toISOString();r.renderStatus=RENDER_STATUS.Aavilable,r.updateBg(),r.renderShapes(),r.renderStats.record(t,Date.now()-e)}}),Object.defineProperty(this,"updateBg",{enumerable:!0,configurable:!0,writable:!0,value:function(){if(r.wb.isWhiteboardOpen&&r.renderContext2d){var e=r.wb.currentPage.backgroundImage;if(r.wbWrapperDom.style.backgroundColor=r.wb.backgroundColor,e?(r.wb.bgImg.src!==e.imgUrl&&(r.wb.bgImg.src=e.imgUrl),r.wb.bgImg.style.display="block",r.wb.bgImg.style.transform="translate(".concat(r.translate[0],"px,").concat(r.translate[1],"px) scale(").concat(r.scale,")"),r.wb.bgImg.style.left="".concat(e.points[0].x*r.scale,"px"),r.wb.bgImg.style.top="".concat(e.points[0].y*r.scale,"px"),r.wb.bgImg.style.width="".concat(e.width,"px"),r.wb.bgImg.style.height="".concat(e.height,"px")):(r.wb.bgImg.src="",r.wb.bgImg.style.display="none"),"pdf"===r.wb.activeDoc.type&&(r.wb.pdfWrapper.style.left="0px",r.wb.pdfWrapper.style.top="0px",r.wb.pdfWrapper.style.transform="translate(".concat(r.translate[0],"px,").concat(r.translate[1],"px) scale(").concat(r.scale,")")),r.selectedShape instanceof Text){var t="".concat(r.selectedShape.maxy-r.selectedShape.miny+2*r.selectedShape.fontStyle.fontSize,"px"),n="".concat(r.selectedShape.maxx-r.selectedShape.minx,"px"),i=r.selectedShape.fontStyleStr,o=r.selectedShape.shapeStyle.strokeStyle,a="".concat(r.selectedShape.minx*r.scale+r.translate[0],"px"),s="".concat(r.selectedShape.miny*r.scale+r.translate[1],"px"),c="scale(".concat(r.scale,")");r.textArea.style.left===a&&r.textArea.style.top===s&&r.textArea.style.transform===c&&r.textArea.style.height===t&&r.textArea.style.width===n&&r.textArea.style.font===i&&r.textArea.style.color===o&&"1"===r.textArea.style.zIndex||(r.textArea.style.left=a,r.textArea.style.top=s,r.textArea.style.transform=c,r.textArea.style.height=t,r.textArea.style.width=n,r.textArea.style.font=i,r.textArea.style.color=o,r.textArea.style.zIndex="1",r.textArea.style.lineHeight="".concat(Text.LINE_HEIGHT),r.textArea.style.verticalAlign="top")}else r.textArea.style.zIndex="0",r.textArea.style.color="transparent"}}}),Object.defineProperty(this,"doRebuildCacheRenderer",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.frameRenderRate++,r.cachedCvsCtx.clearRect(0,0,r.cachedCanvas.width,r.cachedCanvas.height),r.renderAllVisibleShapes(r.cachedCvsCtx,r.translate,r.scale,!1),r.renderContext2d.clearRect(0,0,r.canvasElement.width,r.canvasElement.height),r.renderTopShapes(r.renderContext2d,r.translate,r.scale),r.visibleShapes.forEach((function(e){return e.hash=0})),r.cachedCtxSnapshot={docId:r.wb.activeDocId,pageId:r.wb.currentPage.pageId,devicePixelRatio:r.getDevicePixelRatio(),width:r.canvasElement.width,height:r.canvasElement.height,translate:[r.translate[0],r.translate[1]],scale:r.scale,shapesHashSum:0,shapesSize:r.visibleShapes.length},r.eraserCvsOutdated=!0}}),Object.defineProperty(this,"rebuildCacheRenderer",{enumerable:!0,configurable:!0,writable:!0,value:debounce(this.doRebuildCacheRenderer,500)}),this.cachedCanvas.className="dingrtc-wb__cache-cvs",this.canvasElement.style.pointerEvents="none",this.cachedCanvas.style.pointerEvents="none",this.renderContext2d=this.canvasElement.getContext("2d"),this.eraserCvsCtx=this.eraserCacheCvs.getContext("2d"),this.cachedCvsCtx=this.cachedCanvas.getContext("2d"),this.wbWrapperDom.appendChild(this.cachedCanvas),this.wbWrapperDom.appendChild(this.canvasElement)}),[{key:"translate",get:function(){return this.wb.translate}},{key:"scale",get:function(){return this.wb.scale}},{key:"wbWrapperDom",get:function(){return this.wb.wbWrapperDom}},{key:"selectedShape",get:function(){return this.wb.selectedShape}},{key:"textArea",get:function(){return this.wb.textArea}},{key:"hideCanvas",value:function(){this.canvasElement.style.visibility="hidden",this.cachedCanvas.style.visibility="hidden"}},{key:"showCanvas",value:function(){this.canvasElement.style.visibility="visible",this.cachedCanvas.style.visibility="visible"}},{key:"activeShapes",get:function(){return this.visibleShapes.slice(this.cachedCtxSnapshot.shapesSize)}},{key:"visibleShapes",get:function(){return this.wb.visibleShapes}},{key:"anyEraserInActiveShapes",get:function(){return some(this.activeShapes,(function(e){return e.shapeType===ShapeType.Brush}))}},{key:"insertType",get:function(){return this.wb.getToolType()}},{key:"lineWidth",get:function(){return this.wb.lineWidth}},{key:"getDevicePixelRatio",value:function(){return window.devicePixelRatio||1}},{key:"renderActiveShapes",value:function(){var e=this,t=this.renderContext2d,r=this.translate,n=this.scale;t.translate(r[0]*this.getDevicePixelRatio(),r[1]*this.getDevicePixelRatio()),t.scale(n*this.getDevicePixelRatio(),n*this.getDevicePixelRatio());var i=this.wb.getViewport();this.activeShapes.forEach((function(r){r.render(t,{scale:e.scale,translate:e.translate,wrapperDom:e.wbWrapperDom,viewport:i,lineWidth:e.wb.lineWidth,insertType:e.wb.getToolType(),forceRenderText:!1})})),this.activeShapes.forEach((function(r){r.renderOutline(t,e.scale)})),t.scale(1/n/this.getDevicePixelRatio(),1/n/this.getDevicePixelRatio()),t.translate(-r[0]*this.getDevicePixelRatio(),-r[1]*this.getDevicePixelRatio())}},{key:"isCacheCtxOutdated",get:function(){var e=this.cachedCtxSnapshot,t=e.translate,r=e.shapesHashSum,n=e.shapesSize;return e.docId!==this.wb.activeDocId||e.pageId!==this.wb.currentPage.pageId||n>this.visibleShapes.length||e.width!==this.canvasElement.width||e.height!==this.canvasElement.height||e.scale!==this.scale||e.devicePixelRatio!==this.getDevicePixelRatio()||t[0]!==this.translate[0]||t[1]!==this.translate[1]||r!==this.visibleShapes.slice(0,n).reduce((function(e,t){return e+t.hash}),0)}},{key:"renderShapes",value:function(){var e=this.renderContext2d;e.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.isCacheCtxOutdated?this.doRebuildCacheRenderer():(this.frameRenderRate++,this.anyEraserInActiveShapes&&(this.eraserCvsOutdated&&(this.eraserCvsCtx.clearRect(0,0,this.eraserCacheCvs.width,this.eraserCacheCvs.height),this.eraserCvsCtx.drawImage(this.cachedCanvas,0,0,this.cachedCanvas.width,this.cachedCanvas.height),this.cachedCvsCtx.clearRect(0,0,this.cachedCanvas.width,this.cachedCanvas.height),this.eraserCvsOutdated=!1),this.renderContext2d.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.renderContext2d.drawImage(this.eraserCacheCvs,0,0,this.eraserCacheCvs.width,this.eraserCacheCvs.height)),this.renderActiveShapes(),this.renderTopShapes(e,this.translate,this.scale)),this.activeShapes.length&&this.rebuildCacheRenderer()}},{key:"renderAllVisibleShapes",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.translate,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.scale,i=arguments.length>3?arguments[3]:void 0;e.translate(r[0]*this.getDevicePixelRatio(),r[1]*this.getDevicePixelRatio()),e.scale(n*this.getDevicePixelRatio(),n*this.getDevicePixelRatio());var o=this.wb.getViewport();this.visibleShapes.forEach((function(r){r.render(e,{scale:t.scale,translate:t.translate,wrapperDom:t.wbWrapperDom,viewport:o,lineWidth:t.wb.lineWidth,insertType:t.wb.getToolType(),forceRenderText:i})})),this.visibleShapes.forEach((function(r){r.renderOutline(e,t.scale)})),e.scale(1/n/this.getDevicePixelRatio(),1/n/this.getDevicePixelRatio()),e.translate(-r[0]*this.getDevicePixelRatio(),-r[1]*this.getDevicePixelRatio())}},{key:"renderTopShapes",value:function(e){var t,r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.translate,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.scale;if(e.translate(n[0]*this.getDevicePixelRatio(),n[1]*this.getDevicePixelRatio()),e.scale(i*this.getDevicePixelRatio(),i*this.getDevicePixelRatio()),this.wb.sizeLimitVisible&&(this.wb.sizeConfig||"scroll"===this.wb.activeDoc.browseMode)){var o,a,s=(null===(o=this.wb.sizeConfig)||void 0===o?void 0:o.width)||this.wb.activeDoc.width,c=(null===(a=this.wb.sizeConfig)||void 0===a?void 0:a.height)||this.wb.activeDoc.scrollHeight;renderRect(e,0+Math.ceil(this._sizeLimitStyle.lineWidth/2),0+Math.ceil(this._sizeLimitStyle.lineWidth/2),s-this._sizeLimitStyle.lineWidth,c-this._sizeLimitStyle.lineWidth,this._sizeLimitStyle.strokeStyle,this._sizeLimitStyle.lineWidth,this._sizeLimitStyle.fillStyle)}var l=this.wb.getViewport();this.wb.laserPointers.forEach((function(t){return t.render(e,{scale:r.scale,translate:r.translate,wrapperDom:r.wbWrapperDom,viewport:l,lineWidth:r.wb.lineWidth,insertType:r.wb.getToolType(),forceRenderText:!1})})),this.wb.selectIndicator.visible&&this.wb.selectIndicator.render(e,{scale:this.scale,translate:this.translate,wrapperDom:this.wbWrapperDom,viewport:l,lineWidth:this.wb.lineWidth,insertType:this.wb.getToolType(),forceRenderText:!1}),this.insertType===ShapeType.Brush&&this.wb.eraserIndicator.render(e,{scale:this.scale,translate:this.translate,wrapperDom:this.wbWrapperDom,viewport:l,lineWidth:this.lineWidth,insertType:this.insertType,forceRenderText:!1}),this.wb.cursors.forEach((function(t){return t.render(e,{scale:r.scale,translate:r.translate,wrapperDom:r.wbWrapperDom,viewport:l,lineWidth:r.lineWidth,insertType:r.insertType,forceRenderText:!1})})),null===(t=this.selectedShape)||void 0===t||t.renderOutline(e,i),e.scale(1/i/this.getDevicePixelRatio(),1/i/this.getDevicePixelRatio()),e.translate(-n[0]*this.getDevicePixelRatio(),-n[1]*this.getDevicePixelRatio())}}])}(),axios$3={exports:{}},bind$2=function(e,t){return function(){for(var r=Array(arguments.length),n=0;r.length>n;n++)r[n]=arguments[n];return e.apply(t,r)}},bind$1=bind$2,toString=Object.prototype.toString;function isArray(e){return"[object Array]"===toString.call(e)}function isUndefined(e){return void 0===e}function isBuffer(e){return null!==e&&!isUndefined(e)&&null!==e.constructor&&!isUndefined(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function isArrayBuffer(e){return"[object ArrayBuffer]"===toString.call(e)}function isFormData(e){return"undefined"!=typeof FormData&&e instanceof FormData}function isArrayBufferView(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function isString(e){return"string"==typeof e}function isNumber(e){return"number"==typeof e}function isObject(e){return null!==e&&"object"==typeof e}function isPlainObject(e){if("[object Object]"!==toString.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function isDate(e){return"[object Date]"===toString.call(e)}function isFile(e){return"[object File]"===toString.call(e)}function isBlob(e){return"[object Blob]"===toString.call(e)}function isFunction(e){return"[object Function]"===toString.call(e)}function isStream(e){return isObject(e)&&isFunction(e.pipe)}function isURLSearchParams(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function trim(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function isStandardBrowserEnv(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function forEach(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),isArray(e))for(var r=0,n=e.length;n>r;r++)t.call(null,e[r],r,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}function merge(){var e={};function t(t,r){e[r]=isPlainObject(e[r])&&isPlainObject(t)?merge(e[r],t):isPlainObject(t)?merge({},t):isArray(t)?t.slice():t}for(var r=0,n=arguments.length;n>r;r++)forEach(arguments[r],t);return e}function extend(e,t,r){return forEach(t,(function(t,n){e[n]=r&&"function"==typeof t?bind$1(t,r):t})),e}function stripBOM(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}var utils$8={isArray:isArray,isArrayBuffer:isArrayBuffer,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:isString,isNumber:isNumber,isObject:isObject,isPlainObject:isPlainObject,isUndefined:isUndefined,isDate:isDate,isFile:isFile,isBlob:isBlob,isFunction:isFunction,isStream:isStream,isURLSearchParams:isURLSearchParams,isStandardBrowserEnv:isStandardBrowserEnv,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM},utils$7=utils$8;function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var buildURL$1=function(e,t,r){if(!t)return e;var n;if(r)n=r(t);else if(utils$7.isURLSearchParams(t))n=""+t;else{var i=[];utils$7.forEach(t,(function(e,t){null!=e&&(utils$7.isArray(e)?t+="[]":e=[e],utils$7.forEach(e,(function(e){utils$7.isDate(e)?e=e.toISOString():utils$7.isObject(e)&&(e=JSON.stringify(e)),i.push(encode(t)+"="+encode(e))})))})),n=i.join("&")}if(n){var o=e.indexOf("#");-1!==o&&(e=e.slice(0,o)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e},utils$6=utils$8;function InterceptorManager$1(){this.handlers=[]}InterceptorManager$1.prototype.use=function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},InterceptorManager$1.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},InterceptorManager$1.prototype.forEach=function(e){utils$6.forEach(this.handlers,(function(t){null!==t&&e(t)}))};var InterceptorManager_1=InterceptorManager$1,utils$5=utils$8,normalizeHeaderName=function(e,t){utils$5.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))},enhanceError=function(e,t,r,n,i){return e.config=t,r&&(e.code=r),e.request=n,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},e},createError,hasRequiredCreateError,settle,hasRequiredSettle,cookies,hasRequiredCookies,isAbsoluteURL,hasRequiredIsAbsoluteURL,combineURLs,hasRequiredCombineURLs,buildFullPath,hasRequiredBuildFullPath,parseHeaders,hasRequiredParseHeaders,isURLSameOrigin,hasRequiredIsURLSameOrigin,Cancel_1,hasRequiredCancel,xhr,hasRequiredXhr,defaults_1,hasRequiredDefaults;function requireCreateError(){if(hasRequiredCreateError)return createError;hasRequiredCreateError=1;var e=enhanceError;return createError=function(t,r,n,i,o){return e(Error(t),r,n,i,o)}}function requireSettle(){if(hasRequiredSettle)return settle;hasRequiredSettle=1;var e=requireCreateError();return settle=function(t,r,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?r(e("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}}function requireCookies(){if(hasRequiredCookies)return cookies;hasRequiredCookies=1;var e=utils$8;return cookies=e.isStandardBrowserEnv()?{write:function(t,r,n,i,o,a){var s=[];s.push(t+"="+encodeURIComponent(r)),e.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),e.isString(i)&&s.push("path="+i),e.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}},cookies}function requireIsAbsoluteURL(){return hasRequiredIsAbsoluteURL?isAbsoluteURL:(hasRequiredIsAbsoluteURL=1,isAbsoluteURL=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)})}function requireCombineURLs(){return hasRequiredCombineURLs?combineURLs:(hasRequiredCombineURLs=1,combineURLs=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e})}function requireBuildFullPath(){if(hasRequiredBuildFullPath)return buildFullPath;hasRequiredBuildFullPath=1;var e=requireIsAbsoluteURL(),t=requireCombineURLs();return buildFullPath=function(r,n){return r&&!e(n)?t(r,n):n}}function requireParseHeaders(){if(hasRequiredParseHeaders)return parseHeaders;hasRequiredParseHeaders=1;var e=utils$8,t=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];return parseHeaders=function(r){var n,i,o,a={};return r?(e.forEach(r.split("\n"),(function(r){if(o=r.indexOf(":"),n=e.trim(r.substr(0,o)).toLowerCase(),i=e.trim(r.substr(o+1)),n){if(a[n]&&t.indexOf(n)>=0)return;a[n]="set-cookie"===n?(a[n]?a[n]:[]).concat([i]):a[n]?a[n]+", "+i:i}})),a):a}}function requireIsURLSameOrigin(){if(hasRequiredIsURLSameOrigin)return isURLSameOrigin;hasRequiredIsURLSameOrigin=1;var e=utils$8;return isURLSameOrigin=e.isStandardBrowserEnv()?function(){var t,r=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var t=e;return r&&(n.setAttribute("href",t),t=n.href),n.setAttribute("href",t),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=i(window.location.href),function(r){var n=e.isString(r)?i(r):r;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}}function requireCancel(){if(hasRequiredCancel)return Cancel_1;function e(e){this.message=e}return hasRequiredCancel=1,e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,Cancel_1=e}function requireXhr(){if(hasRequiredXhr)return xhr;hasRequiredXhr=1;var e=utils$8,t=requireSettle(),r=requireCookies(),n=buildURL$1,i=requireBuildFullPath(),o=requireParseHeaders(),a=requireIsURLSameOrigin(),s=requireCreateError(),c=requireDefaults(),l=requireCancel();return xhr=function(u){return new Promise((function(d,p){var h,f=u.data,g=u.headers,y=u.responseType;function v(){u.cancelToken&&u.cancelToken.unsubscribe(h),u.signal&&u.signal.removeEventListener("abort",h)}e.isFormData(f)&&delete g["Content-Type"];var m=new XMLHttpRequest;u.auth&&(g.Authorization="Basic "+btoa((u.auth.username||"")+":"+(u.auth.password?unescape(encodeURIComponent(u.auth.password)):"")));var b=i(u.baseURL,u.url);function S(){if(m){var e="getAllResponseHeaders"in m?o(m.getAllResponseHeaders()):null;t((function(e){d(e),v()}),(function(e){p(e),v()}),{data:y&&"text"!==y&&"json"!==y?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:e,config:u,request:m}),m=null}}if(m.open(u.method.toUpperCase(),n(b,u.params,u.paramsSerializer),!0),m.timeout=u.timeout,"onloadend"in m?m.onloadend=S:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(S)},m.onabort=function(){m&&(p(s("Request aborted",u,"ECONNABORTED",m)),m=null)},m.onerror=function(){p(s("Network Error",u,null,m)),m=null},m.ontimeout=function(){var e=u.timeout?"timeout of "+u.timeout+"ms exceeded":"timeout exceeded";u.timeoutErrorMessage&&(e=u.timeoutErrorMessage),p(s(e,u,(u.transitional||c.transitional).clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",m)),m=null},e.isStandardBrowserEnv()){var _=(u.withCredentials||a(b))&&u.xsrfCookieName?r.read(u.xsrfCookieName):void 0;_&&(g[u.xsrfHeaderName]=_)}"setRequestHeader"in m&&e.forEach(g,(function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete g[t]:m.setRequestHeader(t,e)})),e.isUndefined(u.withCredentials)||(m.withCredentials=!!u.withCredentials),y&&"json"!==y&&(m.responseType=u.responseType),"function"==typeof u.onDownloadProgress&&m.addEventListener("progress",u.onDownloadProgress),"function"==typeof u.onUploadProgress&&m.upload&&m.upload.addEventListener("progress",u.onUploadProgress),(u.cancelToken||u.signal)&&(h=function(e){m&&(p(!e||e&&e.type?new l("canceled"):e),m.abort(),m=null)},u.cancelToken&&u.cancelToken.subscribe(h),u.signal&&(u.signal.aborted?h():u.signal.addEventListener("abort",h))),f||(f=null),m.send(f)}))}}function requireDefaults(){if(hasRequiredDefaults)return defaults_1;hasRequiredDefaults=1;var e=utils$8,t=normalizeHeaderName,r=enhanceError,n={"Content-Type":"application/x-www-form-urlencoded"};function i(t,r){!e.isUndefined(t)&&e.isUndefined(t["Content-Type"])&&(t["Content-Type"]=r)}var o,a={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(o=requireXhr()),o),transformRequest:[function(r,n){return t(n,"Accept"),t(n,"Content-Type"),e.isFormData(r)||e.isArrayBuffer(r)||e.isBuffer(r)||e.isStream(r)||e.isFile(r)||e.isBlob(r)?r:e.isArrayBufferView(r)?r.buffer:e.isURLSearchParams(r)?(i(n,"application/x-www-form-urlencoded;charset=utf-8"),""+r):e.isObject(r)||n&&"application/json"===n["Content-Type"]?(i(n,"application/json"),function(t,r){if(e.isString(t))try{return(r||JSON.parse)(t),e.trim(t)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(t)}(r)):r}],transformResponse:[function(t){var n=this.transitional||a.transitional,i=!(n&&n.silentJSONParsing)&&"json"===this.responseType;if(i||n&&n.forcedJSONParsing&&e.isString(t)&&t.length)try{return JSON.parse(t)}catch(e){if(i){if("SyntaxError"===e.name)throw r(e,this,"E_JSON_PARSE");throw e}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&300>e},headers:{common:{Accept:"application/json, text/plain, */*"}}};return e.forEach(["delete","get","head"],(function(e){a.headers[e]={}})),e.forEach(["post","put","patch"],(function(t){a.headers[t]=e.merge(n)})),defaults_1=a}var utils$4=utils$8,defaults$2=requireDefaults(),transformData$1=function(e,t,r){var n=this||defaults$2;return utils$4.forEach(r,(function(r){e=r.call(n,e,t)})),e},isCancel$1,hasRequiredIsCancel;function requireIsCancel(){return hasRequiredIsCancel?isCancel$1:(hasRequiredIsCancel=1,isCancel$1=function(e){return!(!e||!e.__CANCEL__)})}var utils$3=utils$8,transformData=transformData$1,isCancel=requireIsCancel(),defaults$1=requireDefaults(),Cancel=requireCancel();function throwIfCancellationRequested(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Cancel("canceled")}var dispatchRequest$1=function(e){return throwIfCancellationRequested(e),e.headers=e.headers||{},e.data=transformData.call(e,e.data,e.headers,e.transformRequest),e.headers=utils$3.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),utils$3.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||defaults$1.adapter)(e).then((function(t){return throwIfCancellationRequested(e),t.data=transformData.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return isCancel(t)||(throwIfCancellationRequested(e),t&&t.response&&(t.response.data=transformData.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))},utils$2=utils$8,mergeConfig$2=function(e,t){t=t||{};var r={};function n(e,t){return utils$2.isPlainObject(e)&&utils$2.isPlainObject(t)?utils$2.merge(e,t):utils$2.isPlainObject(t)?utils$2.merge({},t):utils$2.isArray(t)?t.slice():t}function i(r){return utils$2.isUndefined(t[r])?utils$2.isUndefined(e[r])?void 0:n(void 0,e[r]):n(e[r],t[r])}function o(e){if(!utils$2.isUndefined(t[e]))return n(void 0,t[e])}function a(r){return utils$2.isUndefined(t[r])?utils$2.isUndefined(e[r])?void 0:n(void 0,e[r]):n(void 0,t[r])}function s(r){return r in t?n(e[r],t[r]):r in e?n(void 0,e[r]):void 0}var c={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s};return utils$2.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){var t=c[e]||i,n=t(e);utils$2.isUndefined(n)&&t!==s||(r[e]=n)})),r},data,hasRequiredData;function requireData(){return hasRequiredData?data:(hasRequiredData=1,data={version:"0.24.0"})}var VERSION=requireData().version,validators$1={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){validators$1[e]=function(r){return typeof r===e||"a"+(1>t?"n ":" ")+e}}));var deprecatedWarnings={};function assertOptions(e,t,r){if("object"!=typeof e)throw new TypeError("options must be an object");for(var n=Object.keys(e),i=n.length;i-- >0;){var o=n[i],a=t[o];if(a){var s=e[o],c=void 0===s||a(s,o,e);if(!0!==c)throw new TypeError("option "+o+" must be "+c)}else if(!0!==r)throw Error("Unknown option "+o)}}validators$1.transitional=function(e,t,r){function n(e,t){return"[Axios v"+VERSION+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,i,o){if(!1===e)throw Error(n(i," has been removed"+(t?" in "+t:"")));return t&&!deprecatedWarnings[i]&&(deprecatedWarnings[i]=!0,console.warn(n(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,i,o)}};var validator$1={assertOptions:assertOptions,validators:validators$1},utils$1=utils$8,buildURL=buildURL$1,InterceptorManager=InterceptorManager_1,dispatchRequest=dispatchRequest$1,mergeConfig$1=mergeConfig$2,validator=validator$1,validators=validator.validators;function Axios$1(e){this.defaults=e,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}Axios$1.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=mergeConfig$1(this.defaults,e)).method=e.method?e.method.toLowerCase():this.defaults.method?this.defaults.method.toLowerCase():"get";var t=e.transitional;void 0!==t&&validator.assertOptions(t,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1);var r=[],n=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(n=n&&t.synchronous,r.unshift(t.fulfilled,t.rejected))}));var i,o=[];if(this.interceptors.response.forEach((function(e){o.push(e.fulfilled,e.rejected)})),!n){var a=[dispatchRequest,void 0];for(Array.prototype.unshift.apply(a,r),a=a.concat(o),i=Promise.resolve(e);a.length;)i=i.then(a.shift(),a.shift());return i}for(var s=e;r.length;){var c=r.shift(),l=r.shift();try{s=c(s)}catch(e){l(e);break}}try{i=dispatchRequest(s)}catch(e){return Promise.reject(e)}for(;o.length;)i=i.then(o.shift(),o.shift());return i},Axios$1.prototype.getUri=function(e){return e=mergeConfig$1(this.defaults,e),buildURL(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},utils$1.forEach(["delete","get","head","options"],(function(e){Axios$1.prototype[e]=function(t,r){return this.request(mergeConfig$1(r||{},{method:e,url:t,data:(r||{}).data}))}})),utils$1.forEach(["post","put","patch"],(function(e){Axios$1.prototype[e]=function(t,r,n){return this.request(mergeConfig$1(n||{},{method:e,url:t,data:r}))}}));var Axios_1=Axios$1,CancelToken_1,hasRequiredCancelToken,spread,hasRequiredSpread,isAxiosError,hasRequiredIsAxiosError;function requireCancelToken(){if(hasRequiredCancelToken)return CancelToken_1;hasRequiredCancelToken=1;var e=requireCancel();function t(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var r;this.promise=new Promise((function(e){r=e}));var n=this;this.promise.then((function(e){if(n._listeners){var t,r=n._listeners.length;for(t=0;r>t;t++)n._listeners[t](e);n._listeners=null}})),this.promise.then=function(e){var t,r=new Promise((function(e){n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},t((function(t){n.reason||(n.reason=new e(t),r(n.reason))}))}return t.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},t.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},t.prototype.unsubscribe=function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}},t.source=function(){var e;return{token:new t((function(t){e=t})),cancel:e}},CancelToken_1=t}function requireSpread(){return hasRequiredSpread?spread:(hasRequiredSpread=1,spread=function(e){return function(t){return e.apply(null,t)}})}function requireIsAxiosError(){return hasRequiredIsAxiosError?isAxiosError:(hasRequiredIsAxiosError=1,isAxiosError=function(e){return"object"==typeof e&&!0===e.isAxiosError})}var utils=utils$8,bind=bind$2,Axios=Axios_1,mergeConfig=mergeConfig$2,defaults=requireDefaults();function createInstance(e){var t=new Axios(e),r=bind(Axios.prototype.request,t);return utils.extend(r,Axios.prototype,t),utils.extend(r,t),r.create=function(t){return createInstance(mergeConfig(e,t))},r}var axios$2=createInstance(defaults);axios$2.Axios=Axios,axios$2.Cancel=requireCancel(),axios$2.CancelToken=requireCancelToken(),axios$2.isCancel=requireIsCancel(),axios$2.VERSION=requireData().version,axios$2.all=function(e){return Promise.all(e)},axios$2.spread=requireSpread(),axios$2.isAxiosError=requireIsAxiosError(),axios$3.exports=axios$2,axios$3.exports.default=axios$2;var axiosExports=axios$3.exports,axios=axiosExports,axios$1=getDefaultExportFromCjs$1(axios);function ownKeys$2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$2(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$2(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$2(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var MAX_MEDIA_SIZE=300,TranscodeStatusCode;function selectAndTranscodeFile(e){return new Promise((function(t,r){var n=e.onUploadProgress,i=e.onTranscodeProgress,o=e.accept,a=e.channelId,s=e.userId,c=e.appId,l=e.securityToken,u=e.gslb,d=e.targetType;Log.logInfo("RtcWhiteboard.uploadFile",o),selectFile(o,(function(e){var o=e.name.split(".").pop()||"";return"pdf"===d&&o===d?uploadTempFile({file:e,channelId:a,userId:s,appId:c,securityToken:l,gslb:u,onProgress:n}).then((function(e){return t({pageCount:1,url:[e.url],fileName:e.fileName,docId:e.docId})}),r):uploadFileForTranscode({file:e,channelId:a,userId:s,appId:c,securityToken:l,gslb:u,onProgress:n}).then((function(e){return transcodeFile({channelId:a,userId:s,appId:c,securityToken:l,gslb:u,targetType:d,docId:e.docId,onProgress:i}).then((function(r){t(_objectSpread$2(_objectSpread$2({},e),r))}),r)}))}))}))}function selectAndUploadTempFile(e){return new Promise((function(t,r){var n=e.onProgress,i=e.accept,o=e.channelId,a=e.userId,s=e.appId,c=e.securityToken,l=e.gslb;Log.logInfo("RtcWhiteboard.uploadFile",i),selectFile(i,(function(e){return uploadTempFile({file:e,channelId:o,userId:a,appId:s,securityToken:c,gslb:l,onProgress:n}).then(t,r)}))}))}function uploadTempFile(e){var t=e.onProgress,r=e.file,n=e.channelId,i=e.userId,o=e.appId,a=e.securityToken,s=e.gslb;return new Promise((function(e,c){if(Log.logInfo("RtcWhiteboard.uploadFile"),r.size/1048576>MAX_MEDIA_SIZE){var l="file too large, up to ".concat(MAX_MEDIA_SIZE,"M, your file size is ").concat(r.size/1048576," M");return Log.logError("RtcWhiteboard.uploadFile: upload failed, ",l,n),c({code:-1,state:"err_file_too_large",message:l})}var u="".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".").concat(i||"",".").concat(n,".").concat(r.name);axios$1.request({url:"".concat(s,"/v1/file/init"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,fileName:u}}).then((function(n){var i=n.data,o=i.docId,a=i.uploadUrl,s=i.uploadInfo,l=new FormData;l.append("policy",s.policy),l.append("OSSAccessKeyId",s.OSSAccessKeyId),l.append("signature",s.signature),l.append("key",s.key),l.append("file",r);var u=0,d=0;axios$1.request({url:a,data:l,method:"POST",headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(e){u=e.total,d=e.loaded,null==t||t({total:e.total,loaded:e.loaded})}}).then((function(){u!==d&&(null==t||t({total:u,loaded:u}));var i=r.name;try{i=decodeURI(escape(i))}catch(e){}e({docId:o,url:n.data.downloadUrl,fileName:i})})).catch((function(){return c({state:"upload_failed",code:-3,message:"file upload failed."})}))})).catch((function(e){return Log.logError("RtcWhiteboard.uploadFile: upload failed, err_failed_fetch_upload_token",e,n),c({code:-2,state:"err_failed_fetch_upload_token",message:"file upload failed."})}))}))}function uploadFileForTranscode(e){var t=e.onProgress,r=e.file,n=e.channelId,i=e.userId,o=e.appId,a=e.securityToken,s=e.gslb;return new Promise((function(e,c){if(Log.logInfo("RtcWhiteboard.uploadFile"),r.size/1048576>MAX_MEDIA_SIZE){var l="file too large, up to ".concat(MAX_MEDIA_SIZE,"M, your file size is ").concat(r.size/1048576," M");return Log.logError("RtcWhiteboard.uploadFile: upload failed, ",l,n),c({code:-1,state:"err_file_too_large",message:l})}var u="".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".").concat(i||"",".").concat(n,".").concat(r.name);axios$1.request({url:"".concat(s,"/v1/docs/init"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,fileName:u}}).then((function(n){var i=n.data,o=i.docId,a=i.uploadUrl,s=i.uploadInfo,l=new FormData;l.append("policy",s.policy),l.append("OSSAccessKeyId",s.OSSAccessKeyId),l.append("signature",s.signature),l.append("key",s.key),l.append("file",r);var u=0,d=0;axios$1.request({url:a,data:l,method:"POST",headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(e){u=e.total,d=e.loaded,null==t||t({total:e.total,loaded:e.loaded})}}).then((function(){u!==d&&(null==t||t({total:u,loaded:u}));var n=r.name;try{n=decodeURI(escape(n))}catch(e){}e({docId:o,fileName:n})})).catch((function(){return c({state:"upload_failed",code:-3,message:"file upload failed."})}))})).catch((function(e){return Log.logError("RtcWhiteboard.uploadFile: upload failed, err_failed_fetch_upload_token",e,n),c({code:-2,state:"err_failed_fetch_upload_token",message:"file upload failed."})}))}))}function selectFile(e,t){var r=document.createElement("input");r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.zIndex="-100",r.style.visibility="hidden",document.body.appendChild(r),r.type="file",r.accept=e,r.addEventListener("change",(function(e){document.body.removeChild(r);var n=get(e,"target.files[0]");n&&t(n)})),r.click()}function mapTranscodeStatusCode(e){switch(e){case TranscodeStatusCode.INIT:return"init";case TranscodeStatusCode.PROCESSING:return"processing";case TranscodeStatusCode.FINISH:case TranscodeStatusCode.PARSED:return"success";default:return"failed"}}function transcodeFile(e){var t=e.onProgress,r=e.targetType,n=e.channelId,i=e.userId,o=e.appId,a=e.securityToken,s=e.gslb,c=e.docId;function l(){return new Promise((function(e,r){axios$1.request({url:"".concat(s,"/v1/docs/describe"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,docId:c}}).then((function(n){return null==t||t(mapTranscodeStatusCode(n.data.status)),n.data.status===TranscodeStatusCode.FINISH||n.data.status===TranscodeStatusCode.PARSED?e(n.data):n.data.status===TranscodeStatusCode.FAILED?r(n):void setTimeout((function(){return l().then(e,r)}),3e3)}))}))}return new Promise((function(e,t){axios$1.request({url:"".concat(s,"/v1/docs/start"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,docId:c,targetType:r}}).then((function(r){var n;return 200===(null===(n=r.data)||void 0===n?void 0:n.statusCode)?l().then(e,t):t(r.data)})).catch((function(e){t(e)}))}))}!function(e){e[e.INIT=0]="INIT",e[e.PROCESSING=1]="PROCESSING",e[e.FINISH=2]="FINISH",e[e.PARSED=3]="PARSED",e[e.FAILED=-1]="FAILED"}(TranscodeStatusCode||(TranscodeStatusCode={}));var name$1="@dingrtc/whiteboard",version$2="1.1.1-beta.2",description$1="DingRTC web whiteboard SDK.",scripts$1={build:"env=production app=whiteboard bash ../../scripts/build.sh ","publish:npm":"npm run build && clean-package -c ../../clean-package.prod.js && pnpm publish && clean-package restore","publish:tnpm":"npm run build:dev && clean-package -c ../../clean-package.dev.js && pnpm publish && clean-package restore"},dependencies$1={"@dingrtc/shared":"1.1.5","@dingrtc/channel":"1.1.7"},exports$1={".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./PdfPlugin":{types:"./dist/PdfPlugin.d.ts",import:"./dist/PdfPlugin.js"}},type="module",files=["types","dist"],author="",license$1="ISC",publishConfig$1={access:"public",registry:"https://registry.anpm.alibaba-inc.com"},packageInfo={name:name$1,version:version$2,description:description$1,scripts:scripts$1,dependencies:dependencies$1,exports:exports$1,type:type,files:files,author:author,license:license$1,publishConfig:publishConfig$1};function saveLogs(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".web-sdk.logs.gz"),t=new FileReader;t.readAsArrayBuffer(new Blob([JSON.stringify(window._dingrtc_wb_logs||[],null,2)],{type:"text/plain"})),t.onload=function(){var r=new Uint8Array(t.result),n=new File([r],e,{type:"application/x-gzip"}),i=document.createElement("a");i.href=window.URL.createObjectURL(n),i.download=e,i.style.display="none",document.body.appendChild(i),requestAnimationFrame((function(){i.click(),document.body.removeChild(i)}))}}function _callSuper$a(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$a()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$a(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$a=function(){return!!e})()}var Page=function(e){function t(e){var r;return _classCallCheck$1(this,t),r=_callSuper$a(this,t),Object.defineProperty(r,"pageId",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(r,"shapes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(r,"_backgroundColor",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_BACKGROUND}),Object.defineProperty(r,"_backgroundImage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_scale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(r,"_translate",{enumerable:!0,configurable:!0,writable:!0,value:[0,0]}),Object.defineProperty(r,"history",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.history=new History,r}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"scale",get:function(){return this._scale},set:function(e){if(!isNumber$1(e))throw Error("scale must be a number");this._scale=e}},{key:"translate",get:function(){return this._translate},set:function(e){if(!Array.isArray(e))throw Error("translate must be an array");if(!isNumber$1(e[0])||!isNumber$1(e[1]))throw Error("translate must be an array of numbers");this._translate=e}},{key:"miny",get:function(){return-this.translate[1]/this.scale}},{key:"minx",get:function(){return-this.translate[0]/this.scale}},{key:"visibleShapes",get:function(){return this.shapes.filter((function(e){return e.visible}))}},{key:"backgroundImage",get:function(){return this._backgroundImage},set:function(e){this._backgroundImage=e}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=e}},{key:"addShape",value:function(e){var t=this;this.shapes.push(e),e.on("requestRender",(function(){t.emit("page-content-updated",t)})),this.emit("page-content-updated",this)}},{key:"getShapeBySeq",value:function(e,t){var r="".concat(t).concat(SHAPE_SEQ_LINK_STR).concat(e);return this.shapes.find((function(e){return e.shapeId===r}))}},{key:"updateShapesOrder",value:function(){var e=[],t=[],r=[],n=[];this.shapes.forEach((function(i){"normal"===i.order?r.push(i):"bg"===i.order?n.push(i):"back"===i.order?t.push(i):"front"===i.order&&e.push(i)})),e=orderBy(e,"orderTime"),t=orderBy(t,"orderTime","desc"),r=orderBy(r,"orderTime"),n=orderBy(n,"orderTime"),this.shapes=[].concat(_toConsumableArray(n),_toConsumableArray(t),_toConsumableArray(r),_toConsumableArray(e))}},{key:"getShapes",value:function(){return[].concat(_toConsumableArray(this.shapes),_toConsumableArray(this.backgroundImage?[this.backgroundImage]:[]))}},{key:"clearShapes",value:function(){this.shapes.forEach((function(e){return e.destructor()})),this.shapes=[]}},{key:"clearPage",value:function(){this.clearShapes(),this.clearBackgroundImage(),this.history.clearAll()}},{key:"clearBackgroundImage",value:function(){this.backgroundImage&&(this.backgroundImage.destructor(),this.backgroundImage=void 0,this.emit("background-image-updated"))}},{key:"clearUserBackgroundImage",value:function(e){this.backgroundImage&&this.backgroundImage.creator===e&&(this.backgroundImage.destructor(),this.backgroundImage=void 0,this.emit("background-image-updated"))}},{key:"clearUserShapes",value:function(e){this.shapes=this.shapes.filter((function(t){return t.creator!==e||(t.destructor(),!1)})),this.history.clearUserHistory(e)}},{key:"removeShape",value:function(e){var t=findIndex(this.shapes,(function(t){return t.shapeId===e}));if(t>=0){var r=this.shapes[t];this.history.clearShapeHistory(r.shapeId),this.shapes.splice(t,1),r.destructor()}this.backgroundImage&&this.backgroundImage.shapeId===e&&(this.backgroundImage.destructor(),this.backgroundImage=void 0,this.emit("background-image-updated"))}},{key:"reset",value:function(){this.scale=1,this.translate=[0,0],this.backgroundColor=DEFAULT_BACKGROUND,this.backgroundImage=void 0,this.shapes.forEach((function(e){(e instanceof Video||e instanceof Audio)&&e.removeMediaDom(),e.destructor()})),this.clearShapes()}},{key:"export",value:function(){var e;return{pageId:this.pageId,scale:this.scale,translate:this.translate,backgroundColor:this.backgroundColor,backgroundImage:null===(e=this.backgroundImage)||void 0===e?void 0:e.export(),shapes:this.visibleShapes.map((function(e){return e.export()}))}}},{key:"restoreShapes",value:function(e){var r=this,n=t.restoreShapes(e);return n.forEach((function(e){return e&&r.addShape(e)})),this.updateShapesOrder(),n}}],[{key:"restore",value:function(e){var r=new t(e.pageId);return r.scale=e.scale,r.translate=e.translate,r.backgroundColor=e.backgroundColor,r.backgroundImage=e.backgroundImage,this.restoreShapes(e.shapes).forEach((function(e){return e&&r.addShape(e)})),r.updateShapesOrder(),r}},{key:"restoreShapes",value:function(e){return e.map((function(e){var t;switch(e.type){case ShapeType.Pen:t=new Pen({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Arrow:t=new Arrow({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Audio:t=new Audio({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.mediaUrl);break;case ShapeType.Video:t=new Video({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.mediaUrl);break;case ShapeType.Ellipse:t=new Ellipse({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Image:var r=new Image$1({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.imgUrl);r.loadImage(),t=r;break;case ShapeType.Stamp:t=new Stamp({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.stampId,e.resizable,e.imgUrl);break;case ShapeType.Line:t=new Line({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Rect:t=new Rect({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Text:t=new Text({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle,e.text||"",e.fontStyle);break;case ShapeType.Triangle:t=new Triangle({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Rhombic:t=new Rhombic({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle)}return t&&(t.order=e.order,t.orderTime=e.orderTime),t})).filter((function(e){return!!e}))}}])}(),tween={easeInQuad:function(e){return Math.pow(e,2)},easeOutQuad:function(e){return-(Math.pow(e-1,2)-1)},easeInOutQuad:function(e){return 1>(e/=.5)?.5*Math.pow(e,2):-.5*((e-=2)*e-2)},easeInCubic:function(e){return Math.pow(e,3)},easeOutCubic:function(e){return Math.pow(e-1,3)+1},easeInOutCubic:function(e){return 1>(e/=.5)?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},easeInQuart:function(e){return Math.pow(e,4)},easeOutQuart:function(e){return-(Math.pow(e-1,4)-1)},easeInOutQuart:function(e){return 1>(e/=.5)?.5*Math.pow(e,4):-.5*((e-=2)*Math.pow(e,3)-2)},easeInQuint:function(e){return Math.pow(e,5)},easeOutQuint:function(e){return Math.pow(e-1,5)+1},easeInOutQuint:function(e){return 1>(e/=.5)?.5*Math.pow(e,5):.5*(Math.pow(e-2,5)+2)},easeInSine:function(e){return 1-Math.cos(e*(Math.PI/2))},easeOutSine:function(e){return Math.sin(e*(Math.PI/2))},easeInOutSine:function(e){return-.5*(Math.cos(Math.PI*e)-1)},easeInExpo:function(e){return 0===e?0:Math.pow(2,10*(e-1))},easeOutExpo:function(e){return 1===e?1:1-Math.pow(2,-10*e)},easeInOutExpo:function(e){return 0===e?0:1===e?1:1>(e/=.5)?.5*Math.pow(2,10*(e-1)):.5*(2-Math.pow(2,-10*--e))},easeInCirc:function(e){return-(Math.sqrt(1-e*e)-1)},easeOutCirc:function(e){return Math.sqrt(1-Math.pow(e-1,2))},easeInOutCirc:function(e){return 1>(e/=.5)?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},easeOutBounce:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInBack:function(e){var t=1.70158;return e*e*((t+1)*e-t)},easeOutBack:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},easeInOutBack:function(e){var t=1.70158;return 1>(e/=.5)?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},elastic:function(e){return-1*Math.pow(4,-8*e)*Math.sin(2*Math.PI*(6*e-1)/2)+1},swingFromTo:function(e){var t=1.70158;return 1>(e/=.5)?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},swingFrom:function(e){var t=1.70158;return e*e*((t+1)*e-t)},swingTo:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},bounce:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},bouncePast:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?2-(7.5625*(e-=1.5/2.75)*e+.75):2.5/2.75>e?2-(7.5625*(e-=2.25/2.75)*e+.9375):2-(7.5625*(e-=2.625/2.75)*e+.984375)},easeFromTo:function(e){return 1>(e/=.5)?.5*Math.pow(e,4):-.5*((e-=2)*Math.pow(e,3)-2)},easeFrom:function(e){return Math.pow(e,4)},easeTo:function(e){return Math.pow(e,.25)},linear:function(e){return e},sinusoidal:function(e){return-Math.cos(e*Math.PI)/2+.5},reverse:function(e){return 1-e},spring:function(e){return 1-Math.cos(4.5*e*Math.PI)*Math.exp(6*-e)}};function _callSuper$9(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$9()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$9(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$9=function(){return!!e})()}var MAX_SCALE=5,MIN_SCALE=.1,DocBrowserMode,DocType;!function(e){e.flip="flip",e.scroll="scroll"}(DocBrowserMode||(DocBrowserMode={})),function(e){e.normal="normal",e.externalDoc="externalDoc",e.h5="h5",e.pdf="pdf"}(DocType||(DocType={}));var BaseDoc=function(e){function t(e){var r;return _classCallCheck$1(this,t),r=_callSuper$9(this,t),Object.defineProperty(r,"createdEventNotEmited",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(r,"docId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"creator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"pageVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"fileKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"pages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(r,"previousPageIndex",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(r,"curPageId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"maxSeq",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(r,"_browseMode",{enumerable:!0,configurable:!0,writable:!0,value:DocBrowserMode.flip}),Object.defineProperty(r,"disableScale",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(r,"pageSize",{enumerable:!0,configurable:!0,writable:!0,value:{width:1920,height:1080}}),Object.defineProperty(r,"_scrollPages",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(r,"sizeConfig",{enumerable:!0,configurable:!0,writable:!0,value:{width:0,height:0,limited:!1}}),Object.defineProperty(r,"onPageUpdated",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e===r.currentPage&&r.requestRender()}}),Object.defineProperty(r,"updateBoardWithNewScale",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,n,i){"scroll"===r.browseMode&&(t=i.width/2,n=i.height/2);var o=r.scale,a=e>MAX_SCALE?MAX_SCALE:MIN_SCALE>e?MIN_SCALE:e;"scroll"===r.browseMode&&r.disableScale&&(a=i.height/r.pageSize.height>i.width/r.pageSize.width?i.width/r.pageSize.width:i.height/r.pageSize.height);var s=t-(t-r.translate[0])/o*a,c=n-(n-r.translate[1])/o*a,l=s,u=c;if(r.isSizeLimited||"scroll"===r.browseMode){var d=r.getSizeConfigLimitSize(i),p=r.getPotentialViewportPosition([s,c],e,i);if(d.minScale>=a){if(r.setScaleAndTranslate(d.minScale,r.translate,!1,i),"flip"===r.browseMode){var h=r.getLimitedTranslate(d.minScale,d,i);r.setTranslate(h.minX,h.minY,i,!1,0)}return}if("flip"===r.browseMode){var f=r.getLimitedTranslate(a,d,i);p.minY+1>d.minY||(u=f.minY),p.minX+1>d.minX||(l=f.minX),d.maxX>p.maxX-1||(l=f.maxX),d.maxY>p.maxY-1||(u=f.maxY)}}r.setScaleAndTranslate(a,[l,u],!1,i)}}),e.sizeConfig&&r.setSizeConfig(e.sizeConfig),r.docId=e.docId,r.name=e.name,r.creator=e.creator,r.curPageId=e.curPageId,r.pageVersion=e.pageVersion,r.fileKey=e.fileKey,r.browseMode=e.browseMode||DocBrowserMode.flip,r}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"browseMode",get:function(){return this._browseMode},set:function(e){this._browseMode=e}},{key:"scrollPages",get:function(){return this._scrollPages},set:function(e){this._scrollPages=e,this.emit("page-index-changed",this.docId)}},{key:"width",get:function(){return this.pageSize.width}},{key:"scrollPageHeight",get:function(){return this.pageSize.height}},{key:"scrollHeight",get:function(){return this.pageSize.height*this.totalPages}},{key:"y",get:function(){var e;return(null===(e=this.pages[0])||void 0===e?void 0:e.miny)||0}},{key:"currentPageIndex",get:function(){return"scroll"===this.browseMode?Math.floor(this.y/this.pageSize.height):findIndex(this.pages,{pageId:this.curPageId})},set:function(e){if(0>e||e>=this.pages.length)throw Error("page index out of range");if(this.browseMode===DocBrowserMode.flip){var t=this.pages[e].pageId;t!==this.curPageId&&(this.curPageId=t,this.emit("page-index-changed",this.docId))}}},{key:"currentPage",get:function(){return"scroll"===this.browseMode?this.pages[0]:this.pages[this.currentPageIndex]}},{key:"totalPages",get:function(){return"flip"===this.browseMode?this.pages.length:this.scrollPages}},{key:"scale",get:function(){return this.currentPage.scale}},{key:"translate",get:function(){return _toConsumableArray(this.currentPage.translate)}},{key:"setSizeConfig",value:function(e){this.sizeConfig=e}},{key:"isSizeLimited",get:function(){return this.sizeConfig.limited}},{key:"getPageByPageId",value:function(e){return find(this.pages,{pageId:e})}},{key:"getPageIndexByPageId",value:function(e){return findIndex(this.pages,{pageId:e})}},{key:"getPages",value:function(){return this.pages}},{key:"getPageAtIndex",value:function(e){return this.pages[e]}},{key:"generateNewPageId",value:function(){return"".concat(this.docId,"-").concat(++this.maxSeq)}},{key:"addPage",value:function(e){this.pages.splice(arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.pages.length,0,e),this.setUpPageListeners(e),this.emit("page-index-changed",this.docId)}},{key:"removePage",value:function(e){this.pages[e].reset(),this.pages.splice(e,1),this.emit("page-index-changed",this.docId)}},{key:"setUpPageListeners",value:function(e){e.off("page-content-updated",this.onPageUpdated),e.on("page-content-updated",this.onPageUpdated)}},{key:"requestRender",value:function(){this.emit("requestRender",this.docId)}},{key:"regenerate",value:function(e){var t=this,r=this.pages;this.pages=[],this.pages=e.map((function(e){var n=find(r,{pageId:e});return n||(n=new Page(e),t.setUpPageListeners(n)),n}))}},{key:"setScrollY",value:function(e,t){this.setTranslate(this.translate[0],-e*this.scale,t)}},{key:"setTranslate",value:function(e,t,r){var n=this,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:400;if(this.isSizeLimited||"scroll"===this.browseMode){var a=this.getSizeConfigLimitSize(r),s=this.getPotentialViewportPosition([e,t],this.scale,r),c=this.getLimitedTranslate(this.scale,a,r);if(a.minY>=s.minY+1)return this.setScaleAndTranslate(this.scale,[this.translate[0],c.minY],!1,r),void this.requestRender();if(a.minX>=s.minX+1)return this.setScaleAndTranslate(this.scale,[c.minX,this.translate[1]],!1,r),void this.requestRender();if(s.maxX-1>=a.maxX)return this.setScaleAndTranslate(this.scale,[c.maxX,this.translate[1]],!1,r),void this.requestRender();if(s.maxY-1>=a.maxY)return this.setScaleAndTranslate(this.scale,[this.translate[0],c.maxY],!1,r),void this.requestRender()}if(i){var l=e-this.translate[0],u=t-this.translate[1],d=1/(o/RENDER_INTEVAL),p=0,h=_slicedToArray(this.currentPage.translate,2),f=h[0],g=h[1],y=setInterval((function(){n.setScaleAndTranslate(n.scale,[f+tween.easeInOutCubic(p)*l,g+tween.easeInOutCubic(p)*u],!1,r),p+=d,n.requestRender()}),RENDER_INTEVAL);setTimeout((function(){clearInterval(y),n.setScaleAndTranslate(n.scale,[e,t],!1,r),n.requestRender()}),o)}else this.setScaleAndTranslate(this.scale,[e,t],!1,r)}},{key:"setScale",value:function(e){var t=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;1>=arguments.length||void 0===arguments[1]||arguments[1]?this.updateBoardWithNewScale(e,r?r.x:t.width/2,r?r.y:t.height/2,t):this.updateBoardWithNewScale(e,0,0,t)}},{key:"setScaleAndTranslate",value:function(e,t){var r=arguments.length>3?arguments[3]:void 0,n=e;arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&(n=e>MAX_SCALE?MAX_SCALE:MIN_SCALE>e?MIN_SCALE:e),this.currentPage.scale=n,this.sharePageSize&&this.getPages().forEach((function(e){e.scale=n}));var i=t[0],o=t[1];if("scroll"===this.browseMode){i=(r.width-this.width*this.scale)/2,o>0&&(o=0);var a=(r.height/this.scale-this.scrollHeight)*this.scale;a>o&&(o=a)}i===this.translate[0]&&o===this.translate[1]||(this.currentPage.translate[0]=i,this.currentPage.translate[1]=o,this.sharePageSize&&this.getPages().forEach((function(e){e.translate[0]=i,e.translate[1]=o})),this.emit("viewport-updated",this.docId),"scroll"===this.browseMode&&this.previousPageIndex!==this.currentPageIndex&&(this.previousPageIndex=this.currentPageIndex,this.emit("page-index-changed",this.docId)),this.requestRender())}},{key:"setDocViewport",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.currentPage,n=e.width,i=e.height,o=e.minx,a=e.miny,s=0;s=t.height/i>t.width/n?t.width/n:t.height/i,r===this.currentPage?this.setScaleAndTranslate(s,[-o*s-(n*s-t.width)/2,-a*s-(i*s-t.height)/2],!1,t):(r.scale=s,r.translate=[-o*s-(n*s-t.width)/2,-a*s-(i*s-t.height)/2])}},{key:"getSizeConfigLimitSize",value:function(e){var t=this.sizeConfig,r=t.width,n=t.height;"scroll"===this.browseMode&&(r=this.width,n=this.scrollHeight);return{minScale:e.width/r>e.height/n?e.width/r:e.height/n,maxWidth:r,maxHeight:n,minX:0,maxX:r,minY:0,maxY:n}}},{key:"getPotentialViewportPosition",value:function(e,t,r){return{minX:-e[0]/t,minY:-e[1]/t,maxX:r.width/t-e[0]/t,maxY:r.height/t-e[1]/t}}},{key:"getLimitedTranslate",value:function(e,t,r){return{minX:-t.minX*e,minY:-t.minY*e,maxX:(r.width/e-t.maxX)*e,maxY:(r.height/e-t.maxY)*e}}},{key:"scaleBoardFitBackgroundImage",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentPage,t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,n=e.backgroundImage;if(n&&n.width&&t){var i=n.width,o=n.height;if(this.isSizeLimited&&(i=this.sizeConfig.width,o=this.sizeConfig.height),"auto"===r){var a=t.width/i;a>MAX_SCALE?a=MAX_SCALE:MIN_SCALE>a&&(a=MIN_SCALE);var s=t.height/o;s>MAX_SCALE?s=MAX_SCALE:MIN_SCALE>s&&(s=MIN_SCALE),a>s?(e.scale=s,e.translate[0]=t.width/2-i/2*e.scale,e.translate[1]=0):(e.scale=a,e.translate[0]=0,e.translate[1]=t.height/2-o/2*e.scale)}else"fillWidth"===r?(e.scale=t.width/i,e.translate[0]=0,e.translate[1]=0):"fillHeight"===r&&(e.scale=t.height/o,e.translate[0]=0,e.translate[1]=0);this.emit("viewport-updated",this.docId),e===this.currentPage&&this.isSizeLimited&&this.updateBoardWithNewScale(this.scale,0,0,t),this.emit("requestRender",this.docId)}}},{key:"getDocViewportPosition",value:function(e){var t=this.currentPage;return{minx:t.minx,miny:t.miny,maxx:e.width/t.scale+t.minx,maxy:e.height/t.scale+t.miny}}},{key:"export",value:function(){return{docId:this.docId,name:this.name,creator:this.creator,pageIndex:this.currentPageIndex,pageVersion:this.pageVersion,pages:this.pages.map((function(e){return e.export()})),fileKey:this.fileKey}}},{key:"toJson",value:function(){return{docId:this.docId,name:this.name,creator:this.creator,pageIndex:this.currentPageIndex,pageLength:this.pages.length,fileKey:this.fileKey}}},{key:"clear",value:function(){this.pages.forEach((function(e){e.reset(),e.clearPage()}))}},{key:"clearPageById",value:function(e){var t=this.getPageByPageId(e);null==t||t.clearPage()}},{key:"clearUserShapes",value:function(e){this.pages.forEach((function(t){t.clearUserShapes(e)}))}},{key:"clearUserBackgroundImage",value:function(e){this.pages.forEach((function(t){t.clearUserBackgroundImage(e)}))}},{key:"reset",value:function(){this.clear()}}])}();function _callSuper$8(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$8()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$8(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$8=function(){return!!e})()}var ExternalDoc=function(e){function t(e){var r;return _classCallCheck$1(this,t),r=_callSuper$8(this,t,[e]),Object.defineProperty(r,"externalDocWidth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"externalDocHeight",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.externalDocWidth=e.width,r.externalDocHeight=e.height,r}return _inherits$1(t,BaseDoc),_createClass$1(t,[{key:"width",get:function(){return this.externalDocWidth}},{key:"type",get:function(){return t.DOC_TYPE}},{key:"sharePageSize",get:function(){return!1}},{key:"canModifyPage",get:function(){return!0}}])}();function createSkeleton(){var e=document.createElement("div");return e.className="p-pdf-skeletons",e.appendChild(Skeleton()),e.appendChild(Skeleton()),e}function Skeleton(){var e=document.createElement("div");e.className="p-pdf-skeleton";var t=document.createElement("div");t.className="p-pdf-skeleton__avator";var r=document.createElement("div");return r.className="p-pdf-skeleton__content",e.appendChild(t),e.appendChild(r),e}function _callSuper$7(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$7()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$7=function(){return!!e})()}function _superPropGet$1(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}function findPageIndex(e,t){for(var r=0,n=t.length;n>r;){var i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}return r}Object.defineProperty(ExternalDoc,"DOC_TYPE",{enumerable:!0,configurable:!0,writable:!0,value:DocType.externalDoc});var PdfDoc=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$7(this,t,[e]),Object.defineProperty(n,"pdfViewer",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"lastSyncY",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(n,"currentPageMem",{enumerable:!0,configurable:!0,writable:!0,value:{index:0,top:0,bottom:1280}}),Object.defineProperty(n,"lazyLoadPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(e){if("loaded"===n.pdfViewer.state){var t=n.getPdfVisiblePage(e);if(t)for(var r=t.start,i=t.end,o=t.pagesNum,a=n.pdfViewer.domRef,s=0;o>s;s++){var c,l=n.pdfViewer.pdfPages.get(s);if(!l)return;if(s<r||i<s)null===(c=l.domRef.parentNode)||void 0===c||c.removeChild(l.domRef);else l.domRef.parentNode||a.appendChild(l.domRef)}}}),300)}),Object.defineProperty(n,"lazyRenderPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:debounce((function(e){if("loaded"===n.pdfViewer.state){var t=n.getPdfVisiblePage(e);if(t)for(var r,i=t.start,o=t.end,a=t.pagesNum,s=function(e){var t=n.pdfViewer.pdfPages.get(e);if(!t)return{v:void 0};if(!(i>e||e>o||t.rendered||t.rendering)){t.rendering=!0;var r=Date.now();renderPdfPage(t.viewport,t.pdfProxy).then((function(i){var o;t.img.src=i,t.rendered=!0,t.rendering=!1,t.domRef.appendChild(t.img),null===(o=t.skeleton.parentNode)||void 0===o||o.removeChild(t.skeleton),Log.logInfo("RtcWhiteboard.lazyLoadPdf page render success, page",e,"cost",Date.now()-r,n.name,n.docId)})).catch((function(e){console.error(e),Log.logInfo("RtcWhiteboard.lazyLoadPdf page render failed",n.name,n.docId)}))}},c=0;a>c;c++)if(r=s(c))return r.v}}),100)}),n.url=r.url,n}return _inherits$1(t,BaseDoc),_createClass$1(t,[{key:"browseMode",get:function(){return DocBrowserMode.scroll},set:function(e){this._browseMode=DocBrowserMode.scroll}},{key:"type",get:function(){return t.DOC_TYPE}},{key:"sharePageSize",get:function(){return!1}},{key:"canModifyPage",get:function(){return!1}},{key:"width",get:function(){return this.pdfViewer.width}},{key:"scrollHeight",get:function(){return this.pdfViewer.totalHeight}},{key:"isInCurrentMemPage",value:function(){return this.y>=this.currentPageMem.top&&this.currentPageMem.bottom>this.y}},{key:"currentPageIndex",get:function(){if(this.isInCurrentMemPage())return this.currentPageMem.index;var e=findPageIndex(this.y,this.pdfViewer.pageHightList);return this.currentPageMem={index:e,top:this.pdfViewer.pageHightList[e-1]||0,bottom:this.pdfViewer.pageHightList[e]||0},e}},{key:"load",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark((function e(){var t=this;return _regeneratorRuntime$1.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.pdfViewer.state="loading",this.createPdfLoadingPage(),Whiteboard.PdfPlugin){e.next=7;break}return Log.logError("RtcWhiteboard: you have not set the pdf plugin, please add pdf plugin to resolve pdf file."),e.abrupt("return",Promise.reject("RtcWhiteboard load pdf error, because you have not set pdf plugin."));case 7:return e.abrupt("return",Whiteboard.PdfPlugin.loadPdf(this.url,this).then((function(){t.pdfViewer.state="loaded"})).then((function(){t.currentPageMem={index:0,top:0,bottom:t.pdfViewer.pageHightList[0]},t.emit("page-index-changed",t.docId)})).catch((function(e){Log.logError("RtcWhiteboard.handlePdfResource getDocument failed",t.docId,t.name,e)})));case 8:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"setScrollY",value:function(e,r){_superPropGet$1(t,"setScrollY",this)([e,r]),this.isInCurrentMemPage()||this.emit("page-index-changed",this.docId)}},{key:"setScaleAndTranslate",value:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0;"loaded"===this.pdfViewer.state&&_superPropGet$1(t,"setScaleAndTranslate",this)([e,r,n,i])}},{key:"createPdfLoadingPage",value:function(){var e=this.pdfViewer.domRef,t=this.width;this.pdfViewer.totalHeight=t;var r=document.createElement("div");r.className="dingrtc-pdf-viewer__page",e.appendChild(r),r.style.width="".concat(this.width||0,"px"),r.style.height="".concat(t,"px"),r.style.top="".concat(0,"px"),r.setAttribute("data-h","".concat(t));var n=createSkeleton();r.appendChild(n)}},{key:"centerPdfDoc",value:function(){Log.logInfo("RtcWhiteboard.centerPdfDoc",this.docId,this.name);var e=0/this.width;this.getPages().forEach((function(t){t.scale=e,t.translate[0]=0})),this.emit("requestRender",this.docId)}},{key:"getPdfVisiblePage",value:function(e){var t;if("loaded"===this.pdfViewer.state){for(var r=this.pdfViewer.pdfPages.size,n=this.getDocViewportPosition(e),i=-1,o=r-1,a=0;r>a;a++){var s=this.pdfViewer.pdfPages.get(a);if(!s)return;if(-1===i&&s.top>n.miny&&(i=a-1),s.top>=n.maxy){o=a-1;break}}-1===i&&(i=r-1);var c=0>i-3?0:i-3,l=o+3>r?r:o+3;return i!==(null===(t=this.pdfViewer)||void 0===t?void 0:t.pageIndex)&&(this.pdfViewer.pageIndex=i),{pagesNum:r,start:c,end:l,firstVisibleIndex:i,lastVisibleIndex:o}}}}]);var r}();function _callSuper$6(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$6()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$6(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$6=function(){return!!e})()}Object.defineProperty(PdfDoc,"DOC_TYPE",{enumerable:!0,configurable:!0,writable:!0,value:DocType.pdf});var DefaultDoc=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$6(this,t,arguments)}return _inherits$1(t,BaseDoc),_createClass$1(t,[{key:"type",get:function(){return t.DOC_TYPE}},{key:"sharePageSize",get:function(){return!1}},{key:"canModifyPage",get:function(){return!0}}],[{key:"restore",value:function(e){var r=new t({docId:e.docId,name:e.name,creator:e.creator,curPageId:e.curPageId,pageVersion:e.pageVersion,fileKey:e.fileKey,browseMode:e.browseMode});return e.pages.map((function(e){return Page.restore(e)})).forEach((function(e){return r.addPage(e)})),r}}])}();function _callSuper$5(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$5()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$5(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$5=function(){return!!e})()}Object.defineProperty(DefaultDoc,"DOC_TYPE",{enumerable:!0,configurable:!0,writable:!0,value:DocType.normal});var DocManager=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$5(this,t),Object.defineProperty(e,"browseMode",{enumerable:!0,configurable:!0,writable:!0,value:DocBrowserMode.flip}),Object.defineProperty(e,"docs",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"_activeDocId",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_DOC_ID}),Object.defineProperty(e,"onDocRequestRender",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.activeDocId===t&&e.emit("requestRender")}}),Object.defineProperty(e,"onViewportUpdate",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.activeDocId===t&&e.emit("viewport-updated")}}),Object.defineProperty(e,"onPageIndexChanged",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.activeDocId===t&&(e.emit("viewport-updated"),e.emit("page-index-changed",e.activeDocId,e.activeDoc.currentPageIndex,e.activeDoc.totalPages))}}),e.setup(),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"switchActiveDoc",value:function(e){if(!this.getDocByDocId(e))throw Error("docId ".concat(e," not found"));this._activeDocId!==e&&(this._activeDocId=e,this.emit("viewport-updated"),this.emit("doc-switched"),this.emit("requestRender"))}},{key:"activeDocId",get:function(){return this._activeDocId}},{key:"activeDoc",get:function(){return find(this.docs,{docId:this.activeDocId})||this.docs[0]}},{key:"setBrowserMode",value:function(e){var t=1>=arguments.length||void 0===arguments[1]||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{width:1920,height:1080};if("flip"!==e&&"scroll"!==e)throw Error("setBrowserMode: mode must be flip or scroll");var i=this.getDocByDocId(DEFAULT_DOC_ID);i.browseMode=e,"scroll"===e&&i&&(i.disableScale=t,i.scrollPages=r,i.pageSize=n)}},{key:"addDoc",value:function(e){this.docs.push(e),this.emit("doc-created",e.docId),e.on("requestRender",this.onDocRequestRender),e.on("viewport-updated",this.onViewportUpdate),e.on("page-index-changed",this.onPageIndexChanged)}},{key:"deleteDoc",value:function(e){e.reset(),this.docs.splice(this.docs.indexOf(e),1),this.emit("doc-deleted",e.docId)}},{key:"deleteDocByDocId",value:function(e){var t=this.getDocByDocId(e);t&&this.deleteDoc(t)}},{key:"getDocByDocId",value:function(e){return find(this.docs,{docId:e})}},{key:"getDocByPageId",value:function(e){var t=e.split("-"),r=t.slice(0,t.length-1).join("-");return find(this.docs,{docId:r})}},{key:"getDocs",value:function(){return this.docs}},{key:"setup",value:function(){this.docs.forEach((function(e){return e.reset()})),this.docs=[];var e="".concat(DEFAULT_DOC_ID,"-1"),t=new DefaultDoc({docId:DEFAULT_DOC_ID,name:"default",creator:"0",curPageId:e,pageVersion:0,browseMode:this.browseMode});t.addPage(new Page(e)),this.addDoc(t)}},{key:"handleDocCommnad",value:function(e,t,r,n){this.getDocByDocId(e.moziMessageIdDTO.messageId)||this.createDocFromCommand(e,r,n),this.updateDocFromCommand(e,t,r)}},{key:"handlePdfResource",value:function(e,t,r){var n=this,i=this.getDocByDocId(e.moziMessageIdDTO.messageId);if(e.message.url&&i){"notloaded"===i.pdfViewer.state&&i.load().then((function(){n.centerPdfDoc(i,r),i.pdfViewer.state="loaded",i.docId===n.activeDocId&&(i.lazyLoadPdfPage(r),i.lazyRenderPdfPage(r)),i.setTranslate(i.translate[0],-i.pdfViewer.y*i.scale,r,!1,0)})).catch((function(){n.emit("doc-load-failed",i.docId,i.name)}));var o=parseInt(e.message.y||"-1");t||-1===o||(i.pdfViewer.y=o||0,i.lastSyncY=o,i.docId===this.activeDocId?i.setTranslate(i.translate[0],-o*i.scale,r):i.currentPage.translate[1]=-o*i.scale)}else Log.logError("RtcWhiteboard.handlePdfResource doc not found",e)}},{key:"centerPdfDoc",value:function(e,t){Log.logInfo("RtcWhiteboard.centerPdfDoc",e.docId,e.name);var r=t.width/e.width;e.getPages().forEach((function(e){e.scale=r,e.translate[0]=0})),this.emit("requestRender")}},{key:"updateDocFromCommand",value:function(e,t,r){var n=this.getDocByDocId(e.moziMessageIdDTO.messageId);if(n){var i=n.currentPageIndex,o=n.getPages().length;n.name=e.message.name||n.name,n.pageVersion=e.version,n.fileKey=e.message.fileKey||n.fileKey,n.regenerate(e.message.pagelist.split(" ")),n.curPageId=e.message.curpage,"pdf"===e.message.docType&&this.handlePdfResource(e,t,r),i===n.currentPageIndex&&o===n.getPages().length||n.emit("page-index-changed",n.docId),this.emit("requestRender")}}},{key:"createDocFromCommand",value:function(e,t,r){Log.logInfo("RtcWhiteboard.createDocFromCommand",e);var n,i={docId:e.moziMessageIdDTO.messageId,name:e.message.name,creator:e.message.creator,curPageId:e.message.curpage,pageVersion:e.version||0,fileKey:e.message.fileKey,sizeConfig:r,browseMode:e.message.docType===DocType.pdf?DocBrowserMode.scroll:DocBrowserMode.flip};switch(e.message.docType||"normal"){case"normal":n=new DefaultDoc(i);break;case"pdf":n=new PdfDoc(i,{pageIndex:0,url:e.message.url,width:this.activeDoc.isSizeLimited&&this.activeDoc.sizeConfig.width?this.activeDoc.sizeConfig.width:PDF_DEFALT_WIDTH,totalHeight:PDF_DEFALT_WIDTH,pdfPages:new Map,domRef:document.createElement("div"),state:"notloaded",y:0,pageHightList:[]}),this.centerPdfDoc(n,t)}if(void 0!==n)return this.addDoc(n),n;throw Error("createDocFromCommand: unknown docType")}},{key:"reset",value:function(){this.setup()}}])}(),WBClearType;function _callSuper$4(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$4()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$4(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$4=function(){return!!e})()}!function(e){e.All="all",e.DRAWS="draws",e.BACKGROUND_IMAGE="backgroundImage"}(WBClearType||(WBClearType={}));var version$1=packageInfo.version,PanMoveType;!function(e){e[e.none=0]="none",e[e.insertShape=1]="insertShape",e[e.moveShape=2]="moveShape",e[e.resizeShape=3]="resizeShape",e[e.moveBoard=4]="moveBoard",e[e.selectShape=5]="selectShape"}(PanMoveType||(PanMoveType={}));var MEDIA_DOM_WIDTH=350,VIDEO_DOM_HEIGHT=220,AUDIO_DOM_HEIGHT=80,EVENT_CAPTURE_RATE=40,Whiteboard=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";_classCallCheck$1(this,t),e=_callSuper$4(this,t),Object.defineProperty(e,"sessionId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(e,"isOpen",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_everOpened",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"bSharingVision",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_lockVisonUserId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(e,"_prevPenetrable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"lastMediaStates",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"connection",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"cwSnapshotCbMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"stampId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"tabletScale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(e,"tabletMatchMode",{enumerable:!0,configurable:!0,writable:!0,value:"fitWidth"}),Object.defineProperty(e,"tabletTranslate",{enumerable:!0,configurable:!0,writable:!0,value:[0,0]}),Object.defineProperty(e,"isWhiteboardOpen",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_penetrable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_cursorSyncEnabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"sizeLimitVisible",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"tabletWriteMode",{enumerable:!0,configurable:!0,writable:!0,value:"static"}),Object.defineProperty(e,"_innerEventhub",{enumerable:!0,configurable:!0,writable:!0,value:new EventEmitter}),Object.defineProperty(e,"pinchShapeCenter",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0}}),Object.defineProperty(e,"lastPanMoveDelta",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0}}),Object.defineProperty(e,"pinchBoardOriginalScale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(e,"wheelDsiabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"frameRenderRateInterval",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"wrapperDomRect",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"bgImg",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("img")}),Object.defineProperty(e,"textArea",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("textarea")}),Object.defineProperty(e,"renderFPS",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(e,"wbWrapperDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(e,"pdfWrapper",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(e,"insertingShape",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"hammer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"metricsBuffer",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"sendMetricsTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"clearLaserPointerId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"panMoveType",{enumerable:!0,configurable:!0,writable:!0,value:PanMoveType.none}),Object.defineProperty(e,"natureObjSeq",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(e,"selectIndicator",{enumerable:!0,configurable:!0,writable:!0,value:new SelectIndicator}),Object.defineProperty(e,"eraserIndicator",{enumerable:!0,configurable:!0,writable:!0,value:new EraserIndicator}),Object.defineProperty(e,"_shiftPressing",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"sizeConfig",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"_scaleAndMoveDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"isShapesVisible",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(e,"laserPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"cursors",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"_visionLockInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"pinchEndTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(e,"scrollToScale",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(e,"_bFollowVision",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"docManager",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"_cursorSyncType",{enumerable:!0,configurable:!0,writable:!0,value:"write"}),Object.defineProperty(e,"originalTranslate",{enumerable:!0,configurable:!0,writable:!0,value:[0,0]}),Object.defineProperty(e,"originalDragStartPonit",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0}}),Object.defineProperty(e,"renderer",{enumerable:!0,configurable:!0,writable:!0,value:new Renderer(e)}),Object.defineProperty(e,"failoverShapeCache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"failoverDocCache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"strokeStyle",{enumerable:!0,configurable:!0,writable:!0,value:"rgba(33,212,183,1)"}),Object.defineProperty(e,"fillStyle",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_FILL_COLOR}),Object.defineProperty(e,"fillType",{enumerable:!0,configurable:!0,writable:!0,value:ShapeFillType.color}),Object.defineProperty(e,"_lineWidth",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(e,"dashed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"italic",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"bold",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_fontSize",{enumerable:!0,configurable:!0,writable:!0,value:18}),Object.defineProperty(e,"bgScaleMode",{enumerable:!0,configurable:!0,writable:!0,value:"auto"}),Object.defineProperty(e,"_role",{enumerable:!0,configurable:!0,writable:!0,value:"Attendee"}),Object.defineProperty(e,"insertType",{enumerable:!0,configurable:!0,writable:!0,value:ShapeType.Pen}),Object.defineProperty(e,"multiSelecetedShapes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"_selectedShape",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"onHistoryChanged",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.emit("history-changed",t.undo,t.redo)}}),Object.defineProperty(e,"onActiveDocSwitched",{enumerable:!0,configurable:!0,writable:!0,value:function(){if(e.checkDocAndSetPenetrable(e.insertType),e.onActivePageChanged(),e.pdfWrapper.innerHTML="",e.activeDoc instanceof PdfDoc){var t,r,n;if(Log.logInfo("showPdfView"),null===(t=e.activeDoc.pdfViewer)||void 0===t||!t.domRef||(null===(r=e.activeDoc.pdfViewer)||void 0===r?void 0:r.domRef.parentNode)===e.pdfWrapper)return;e.pdfWrapper.appendChild(null===(n=e.activeDoc.pdfViewer)||void 0===n?void 0:n.domRef),e.lazyLoadPdfPage(),e.lazyRenderPdfPage()}e.emit("doc-switched",e.docManager.activeDocId)}}),Object.defineProperty(e,"onActivePageChanged",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.setUpHistoryListener(),e.selectedShape&&(e.selectedShape.interactionStatus=InteractionStatusType.default,e.selectedShape=void 0),e.docManager.getDocs().forEach((function(t){return t.getPages().forEach((function(r){return r.getShapes().forEach((function(n){(n instanceof Video||n instanceof Audio)&&(r.pageId===e.currentPage.pageId&&t.docId===e.docManager.activeDocId||n.removeMediaDom())}))}))})),e.shouldUpdateViewAfterSizeChange?(e._bFollowVision&&e._visionLockInfo&&e.activeDoc.setDocViewport(e._visionLockInfo,e.getWrapperDomRect()),"externalDoc"===e.activeDoc.type&&e.updateCustomDocPosition(e.activeDoc),e.render()):e._updateBoardWithNewScale(e.scale,0,0),e.emit("page-index-changed",e.activeDocId,e.pageIndex,e.activeDoc.totalPages),e.emit("history-changed",e.history.canUndo(),e.history.canRedo())}}),Object.defineProperty(e,"addPage",{enumerable:!0,configurable:!0,writable:!0,value:function(){return e.insertPage(e.pageIndex,0>=arguments.length||void 0===arguments[0]||arguments[0])}}),Object.defineProperty(e,"removePage",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e.pageIndex,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.docManager.activeDocId;if(Log.logInfo("RtcWhiteboard.removePage",t,r),!e.isConnected)throw new DingRTCError(ErrorCode.InvaildState);var n,i=e.docManager.getDocByDocId(r);if(!i)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");if(!i.canModifyPage)throw new DingRTCError(ErrorCode.InvaildArgument,"doc can not modify");if(i.browseMode===DocBrowserMode.scroll)e.removeScrollDocShapesByScrollY(i,i.scrollPages-1),i.scrollPages=i.scrollPages-1,null===(n=e.connection)||void 0===n||n.sendDocResourceMessage(i);else if(i.browseMode===DocBrowserMode.flip){var o;if(t>i.totalPages-1||0>t)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");if(1===i.totalPages)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");var a=i.getPages().map((function(e){return e.pageId}));a.splice(t,1),null===(o=e.connection)||void 0===o||o.sendDocResourceMessage(i,i.getPageAtIndex(t>0?t-1:t).pageId,a)}}}),Object.defineProperty(e,"autoUpdateCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(){e.isSizeLimited||e.activeDoc.browseMode===DocBrowserMode.scroll?(e.updateCanvasSize(!1,!0,!0),e._updateBoardWithNewScale(e.scale,0,0)):e.updateCanvasSize(!0,!0,!0)}),200)}),Object.defineProperty(e,"updateCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=0>=arguments.length||void 0===arguments[0]||arguments[0],r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Math.floor(e.wbWrapperDom.clientWidth*e.getDevicePixelRatio()),o=Math.floor(e.wbWrapperDom.clientHeight*e.getDevicePixelRatio()),a=e.renderer.canvasElement.width,s=e.renderer.canvasElement.height;if(a!==i||s!==o||r){if(0===i||0===o)return;Log.logInfo("RtcWhiteboard.updateCanvasSize before",{width:a,height:s},"after",{width:i,height:o}),e.renderer.updateCanvasSize(t,r,n),t&&e.docManager.getDocs().forEach((function(t){t instanceof PdfDoc?(e.centerPdfDoc(t),t.currentPage.translate[1]=i/a*t.currentPage.translate[1]):t.sharePageSize?e.center(t):t.getPages().forEach((function(r){r.backgroundImage?t.scaleBoardFitBackgroundImage(r,e.getWrapperDomRect(),e.bgScaleMode):(r.translate[0]=r.translate[0]+(i-a)/2/e.getDevicePixelRatio(),r.translate[1]=r.translate[1]+(o-s)/2/e.getDevicePixelRatio())}))})),e.shouldUpdateViewAfterSizeChange&&(e._bFollowVision&&e._visionLockInfo&&e.followVision(e._visionLockInfo),e.activeDoc instanceof ExternalDoc&&e.updateCustomDocPosition(e.activeDoc)),e.renderer.doRebuildCacheRenderer(),e.renderer.updateBg(),e.onViewPortChanged()}n&&setTimeout((function(){e.updateCanvasSize(t,r,!1)}),1e3)}}),Object.defineProperty(e,"lazyLoadPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(){if(e.activeDoc instanceof PdfDoc&&"loaded"===e.activeDoc.pdfViewer.state){var t=e.getPdfVisiblePage();if(t)for(var r=t.start,n=t.end,i=t.pagesNum,o=e.activeDoc.pdfViewer.domRef,a=0;i>a;a++){var s,c=e.activeDoc.pdfViewer.pdfPages.get(a);if(!c)return;if(a<r||n<a)null===(s=c.domRef.parentNode)||void 0===s||s.removeChild(c.domRef);else c.domRef.parentNode||o.appendChild(c.domRef)}}}),300)}),Object.defineProperty(e,"lazyRenderPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:debounce((function(){if(e.activeDoc instanceof PdfDoc&&"loaded"===e.activeDoc.pdfViewer.state){var t=e.getPdfVisiblePage();if(t)for(var r,n=t.start,i=t.end,o=t.pagesNum,a=function(t){var r=e.activeDoc.pdfViewer.pdfPages.get(t);if(!r)return{v:void 0};if(!(n>t||t>i||r.rendered||r.rendering)){r.rendering=!0;var o=Date.now();renderPdfPage(r.viewport,r.pdfProxy).then((function(n){var i;r.img.src=n,r.rendered=!0,r.rendering=!1,r.domRef.appendChild(r.img),null===(i=r.skeleton.parentNode)||void 0===i||i.removeChild(r.skeleton),Log.logInfo("RtcWhiteboard.lazyLoadPdf page render success, page",t,"cost",Date.now()-o,e.activeDoc.name,e.activeDoc.docId)})).catch((function(t){Log.logError("RtcWhiteboard.lazyLoadPdf page render failed",e.activeDoc.name,e.activeDoc.docId,JSON.stringify(t))}))}},s=0;o>s;s++)if(r=a(s))return r.v}}),100)}),Object.defineProperty(e,"render",{enumerable:!0,configurable:!0,writable:!0,value:function(){return e.renderer.render()}}),Object.defineProperty(e,"onDoubleClick",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.clientX-r.left,y:t.clientY-r.top}),i=e.getShapeByPoint(n.x,n.y);i instanceof Text&&(e.setAsSelectedShape(i),e.focusTetxArea(i))}}),Object.defineProperty(e,"onMouseDown",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r;(2===t.button&&(e.moveAndScaleDisabled||(e.panMoveType=PanMoveType.moveBoard,e.originalTranslate=_toConsumableArray(e.translate),e.originalDragStartPonit={x:t.clientX,y:t.clientY})),e.insertType===ShapeType.Drag)&&(null===(r=e.wbWrapperDom.classList)||void 0===r||r.add("dingrtc-wb-wrapper__draging"))}}),Object.defineProperty(e,"onMouseMove",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){var r,n=e.getWrapperDomRect(),i=e.convertPointCoords({x:t.clientX-n.left,y:t.clientY-n.top}),o=i.x,a=i.y;if(e.panMoveType===PanMoveType.moveBoard){if(!e.moveAndScaleDisabled){var s=t.clientX-e.originalDragStartPonit.x,c=t.clientY-e.originalDragStartPonit.y;Log.logInfo("Whiteboard.onMouseMove moveBoard",0>s?"move left":"move right",s,0>c?"move down":"move up",c),e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.clientX-e.originalDragStartPonit.x,e.originalTranslate[1]+t.clientY-e.originalDragStartPonit.y),e.emitViewportUpdateBySelfEvent()}}else if(e.insertType!==ShapeType.Select&&e.insertType!==ShapeType.Delete||e.panMoveType===PanMoveType.moveShape||null!==(r=e.selectedShape)&&void 0!==r&&r.isPointInShapeRect(o,a))e.insertType===ShapeType.LaserPointer?e.throttleSendLaserPointerMsg(o,a):e.insertType===ShapeType.Brush&&(e.eraserIndicator.points=[{x:o,y:a}]);else for(var l=!1,u=e.visibleShapes.length-1;u>=0;u--){var d=e.visibleShapes[u];if(e.isPermittedShape(d))if(d.interactionStatus!==InteractionStatusType.selected)if(!l&&d.isPointInShape(o,a))l=!0,d.interactionStatus=e.insertType===ShapeType.Delete?InteractionStatusType.willBeDeleted:InteractionStatusType.focused;else includes(e.multiSelecetedShapes,d)||(d.interactionStatus=InteractionStatusType.default);else l=d.isPointInShape(o,a)}var p=getShapeCursorStyle(e.insertType);if(e.selectedShape){var h=p;if(e.getShapeResizeHandle(o,a)){var f=e.getShapeResizeHandle(o,a);h=(null==f?void 0:f.cursorStyle)||p}else e.selectedShape.isPointInShapeRect(o,a)&&(h="move");h!==e.wbWrapperDom.style.cursor&&(e.wbWrapperDom.style.cursor=h)}else if(e.multiSelecetedShapes.length){var g=e.isPointInAnyMultySlectedShape(o,a);e.wbWrapperDom.style.cursor=g?"move":p}else e.wbWrapperDom.style.cursor=p;e._cursorSyncEnabled&&e.insertType!==ShapeType.LaserPointer&&"all"===e._cursorSyncType&&e.sendCursor(o,a,e.strokeStyle,parseToolType(e.insertType))}),EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"sendCursor",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t,r,n,i){var o;return null===(o=e.connection)||void 0===o?void 0:o.sendCursorMsg(t,r,n,i)}),40)}),Object.defineProperty(e,"onPaste",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r,n=null===(r=t.clipboardData)||void 0===r?void 0:r.items;if(n&&n.length)for(var i=function(){if(-1!==n[o].type.indexOf("image")){var r=n[o].getAsFile();return r&&e.uploadLocalImage(r,!1,(function(e){Log.logInfo("RtcWhiteboard.onPaste processing",e)})),0}if("string"===n[o].kind){var i=t.clipboardData.getData("Text");try{var a=JSON.parse(i),s=[];return a.forEach((function(t){var r=t.docId,n=t.pageId,i=t.shapeId;if(r&&n&&i){var o=e.docManager.getDocByDocId(r);if(!o)return;var a=o.getPageByPageId(n);if(!a)return;var c=find(a.getShapes(),{shapeId:i});if(!c)return;var l=c.clone(e.userId,e.getNewShapeId());l&&(e.currentPage.addShape(l),e.sendDrawCmd(l,"draw"),s.push(l))}})),1===s.length?(e.selectedShape=s[0],e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,s[0].shapeId,s[0].export(),void 0))):(e.multiSelecetedShapes=s,s.forEach((function(e){e.interactionStatus=InteractionStatusType.focused})),e.history.batchSave(new BatchHistory(HistoryActionType.newShape,s.map((function(e){return{shapeId:e.shapeId,currentState:e.export(),lastState:void 0}}))))),e.copyShapeInfoToClipboard(s),0}catch(e){Log.logError("RtcWhiteboard.onPaste",e)}}},o=0;n.length>o&&0!==i();o++);}}),Object.defineProperty(e,"_onPenEvent",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r,n,i=t.detail,o=i.eventType,a="fitWidth"===e.tabletMatchMode?e.wbWrapperDom.clientWidth/i.width:e.wbWrapperDom.clientHeight/i.height;if("static"===e.tabletWriteMode)r=i.x*e.tabletScale*a+e.tabletTranslate[0],n=i.y*e.tabletScale*a+e.tabletTranslate[1];else{var s=e.convertPointCoords({x:i.x*e.tabletScale*a+e.tabletTranslate[0],y:i.y*e.tabletScale*a+e.tabletTranslate[1]});r=s.x,n=s.y}"hang"===o?(e.insertType===ShapeType.LaserPointer&&e.throttleSendLaserPointerMsg(r,n),e.insertingShape=void 0):"write"===o?e.insertType===ShapeType.LaserPointer?e.throttleSendLaserPointerMsg(r,n):(e.insertingShape?e.insertingShape.points=[].concat(_toConsumableArray(e.insertingShape.points),[{x:r,y:n}]):(e.insertingShape=new Pen({points:[{x:r,y:n},{x:r,y:n}],shapeId:e.getNewShapeId(),pageId:e.currentPage.pageId,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)),e.throttleSendDrawCmd(e.insertingShape,"draw")):"end"===o&&(e.insertingShape&&e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,e.insertingShape.shapeId,e.insertingShape.export(),void 0)),e.insertingShape=void 0)}}),Object.defineProperty(e,"onMouseUp",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r;(e.panMoveType===PanMoveType.moveBoard&&(e.moveAndScaleDisabled||(e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.clientX-e.originalDragStartPonit.x,e.originalTranslate[1]+t.clientY-e.originalDragStartPonit.y),e.panMoveType=PanMoveType.none)),e.insertType===ShapeType.Drag)&&(null===(r=e.wbWrapperDom.classList)||void 0===r||r.remove("dingrtc-wb-wrapper__draging"))}}),Object.defineProperty(e,"onTouchEnd",{enumerable:!0,configurable:!0,writable:!0,value:function(t){if(1>=t.changedTouches.length){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.changedTouches.item(0).clientX-r.left,y:t.changedTouches.item(0).clientY-r.top}),i=n.x,o=n.y;e.insertType===ShapeType.Select&&(e.checkMouseOverAndSetType(i,o,InteractionStatusType.selected),e.selectedShape instanceof Text&&e.selectedShape.isPointInShapeRect(i,o))&&e.focusTetxArea(e.selectedShape)}}}),Object.defineProperty(e,"onTap",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.currentPage.pageId;e.selectedShape&&!e.selectedShape.visible&&(e.selectedShape=void 0);var i=e.convertPointCoords({x:t.center.x-r.left-t.deltaX,y:t.center.y-r.top-t.deltaY}),o=i.x,a=i.y;if(e.selectedShape instanceof Text&&e.selectedShape.isPointInShapeRect(o,a))e.focusTetxArea(e.selectedShape);else if(e.visibleShapes.forEach((function(t){t instanceof Text&&""===t.text&&(t.visible=!1,e.throttleSendDrawCmd(t,"draw"))})),e.insertType===ShapeType.Delete)e.deleteShapeOnPosition(o,a);else if(e.insertType===ShapeType.Text){if(e.insertingShape instanceof Text)return e.insertingShape.interactionStatus=InteractionStatusType.default,e.selectedShape=void 0,void(e.insertingShape=void 0);var s=e.getVisionMaxX(),c=new Text({points:[{x:o,y:a},{x:o+200>s?o-200:o+200,y:a+20}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle(),"",{fontSize:12>Math.round(e.fontSize/e.scale)?12:Math.round(e.fontSize/e.scale),bold:e.bold,italic:e.italic});e.currentPage.addShape(c),e.currentPage.getShapes().forEach((function(e){return e.interactionStatus=InteractionStatusType.default})),e.setAsSelectedShape(c),e.insertingShape=c,e.focusTetxArea(c)}else if(e.insertType===ShapeType.Brush);else if(e.insertType===ShapeType.Select)e.multiSelecetedShapes.forEach((function(e){return e.interactionStatus=InteractionStatusType.default})),e.multiSelecetedShapes=[],e.checkMouseOverAndSetType(o,a,InteractionStatusType.selected);else if(e.insertType===ShapeType.Stamp&&e.stampId){var l=Stamp.stampResourceCache.get(e.stampId);if(l&&!l.resizable){var u=new Stamp({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.stampId,l.resizable,l.url);e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,u.shapeId,u.export(),void 0)),e.currentPage.addShape(u),e.sendDrawCmd(u,"draw")}}else e.selectedShape&&(e.selectedShape.interactionStatus=InteractionStatusType.default,e.selectedShape=void 0)}}),Object.defineProperty(e,"onPanStart",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.renderer.checkCanvasSize();var r=e.getWrapperDomRect();e.selectedShape&&!e.selectedShape.visible&&(e.selectedShape=void 0);var n=e.currentPage.pageId,i=e.convertPointCoords({x:t.center.x-r.left-t.deltaX,y:t.center.y-r.top-t.deltaY}),o=i.x,a=i.y;if(e.selectedShape){if(e.getShapeResizeHandle(o,a))return e.panMoveType=PanMoveType.resizeShape,void e.selectedShape.onResizeStart(o,a);if(e.selectedShape.isPointInShapeRect(o,a))return e.panMoveType=PanMoveType.moveShape,void e.selectedShape.onMoveStart()}if(e.insertType===ShapeType.Drag)e.panMoveType=PanMoveType.moveBoard,e.originalTranslate=_toConsumableArray(e.translate),e.originalDragStartPonit={x:t.center.x,y:t.center.y},e.emitViewportUpdateBySelfEvent();else if(e.multiSelecetedShapes.length&&e.isPointInAnyMultySlectedShape(o,a))e.panMoveType=PanMoveType.moveShape,e.multiSelecetedShapes.forEach((function(e){return e.onMoveStart()}));else if(e.insertType===ShapeType.Select||e.insertType===ShapeType.Delete)e.panMoveType=PanMoveType.selectShape,e.selectIndicator.visible=!0,e.selectIndicator.points=[{x:o,y:a},{x:o,y:a}];else{if(e.clearSelectedShapes(),e.panMoveType=PanMoveType.insertShape,e.insertType===ShapeType.Line)e.insertingShape=new Line({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape);else if(e.insertType===ShapeType.Arrow)e.insertingShape=new Arrow({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape);else if(e.insertType===ShapeType.Stamp&&e.stampId){var s=Stamp.stampResourceCache.get(e.stampId);if(s){var c=new Stamp({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.stampId,s.resizable,s.url);e.insertingShape=c,e.currentPage.addShape(e.insertingShape)}}else e.insertType===ShapeType.Rect||e.insertType===ShapeType.Square?(e.insertingShape=new Rect({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Circle?(e.insertingShape=new Ellipse({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Pen?(e.insertingShape=new Pen({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Brush?(e.insertingShape=new Eraser({points:[{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Triangle?(e.insertingShape=new Triangle({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Rhombic&&(e.insertingShape=new Rhombic({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape));e.insertingShape&&e.throttleSendDrawCmd(e.insertingShape,"draw")}}}),Object.defineProperty(e,"batchSendRgnShapes",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){t.forEach((function(t){return e.sendDrawCmd(t,"rgn")}))}),300)}),Object.defineProperty(e,"onPanMove",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.center.x-r.left,y:t.center.y-r.top}),i=n.x,o=n.y;if(e.panMoveType===PanMoveType.resizeShape)e.selectedShape&&(e.selectedShape.onResize(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY),e._shiftPressing),e.throttleSendDrawCmd(e.selectedShape,"rgn"));else if(e.panMoveType===PanMoveType.moveShape)e.selectedShape?(e.selectedShape.onMove(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY)),e.throttleSendDrawCmd(e.selectedShape,"rgn")):e.multiSelecetedShapes.length&&e.multiSelecetedShapes.forEach((function(r){r.onMove(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY))}));else if(e.panMoveType===PanMoveType.insertShape)e.insertType===ShapeType.Line||e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Rect||e.insertType===ShapeType.Arrow||e.insertType===ShapeType.Square||e.insertType===ShapeType.Circle?e.insertingShape.points=e._shiftPressing&&(e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Rect)||e.insertType===ShapeType.Square||e.insertType===ShapeType.Circle?[e.insertingShape.points[0],{x:i,y:e.insertingShape.points[0].y+i-e.insertingShape.points[0].x}]:[e.insertingShape.points[0],{x:i,y:o}]:e.insertType===ShapeType.Pen||e.insertType===ShapeType.Brush?e.insertingShape&&(e.insertingShape.points=[].concat(_toConsumableArray(e.insertingShape.points),[{x:i,y:o}]),e.insertType===ShapeType.Brush&&(e.eraserIndicator.points=[{x:i,y:o}])):e.insertType===ShapeType.Stamp&&e.insertingShape instanceof Stamp?e.insertingShape.points=[e.insertingShape.resizable?e.insertingShape.points[0]:{x:i,y:o},{x:i,y:o}]:e.insertType===ShapeType.Triangle?e.insertingShape&&(e.insertingShape.points=[e.insertingShape.points[0],{x:i,y:o}]):e.insertType===ShapeType.Rhombic&&e.insertingShape&&(e.insertingShape.points=[e.insertingShape.points[0],{x:i,y:o}]),e.insertingShape&&e.throttleSendDrawCmd(e.insertingShape,"draw"),e._cursorSyncEnabled&&e.insertType!==ShapeType.LaserPointer&&e.sendCursor(i,o,e.strokeStyle,parseToolType(e.insertType));else if(e.panMoveType===PanMoveType.selectShape)e.selectIndicator.points=[e.selectIndicator.points[0],{x:i,y:o}],e.rangeSelect();else if(e.panMoveType===PanMoveType.moveBoard&&!e.moveAndScaleDisabled){var a=t.center.x-e.originalDragStartPonit.x,s=t.center.y-e.originalDragStartPonit.y;Log.logInfo("Whiteboard.onMouseMove moveBoard",0>a?"move left":"move right",a,0>s?"move down":"move up",s),e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.center.x-e.originalDragStartPonit.x,e.originalTranslate[1]+t.center.y-e.originalDragStartPonit.y)}}}),Object.defineProperty(e,"onPanEnd",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.center.x-r.left,y:t.center.y-r.top}),i=n.x,o=n.y;if(e.panMoveType===PanMoveType.moveBoard)e.moveAndScaleDisabled||(e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.center.x-e.originalDragStartPonit.x,e.originalTranslate[1]+t.center.y-e.originalDragStartPonit.y),e.panMoveType=PanMoveType.none);else if(e.panMoveType===PanMoveType.moveShape){if(e.selectedShape){var a=e.selectedShape.transformOriginalInfo.export();e.selectedShape.onMoveEnd(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY)),e.history.saveHistory(new ShapeHistory(HistoryActionType.rgnShape,e.selectedShape.shapeId,e.selectedShape.export(),a)),e.sendDrawCmd(e.selectedShape,"rgn")}else if(e.multiSelecetedShapes.length){var s=[];e.multiSelecetedShapes.forEach((function(r){var n=r.transformOriginalInfo.export();r.onMoveEnd(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY)),s.push({shapeId:r.shapeId,currentState:r.export(),lastState:n})})),e.history.batchSave(new BatchHistory(HistoryActionType.rgnShape,s)),e.batchSendRgnShapes(e.multiSelecetedShapes)}}else if(e.panMoveType===PanMoveType.resizeShape){if(e.selectedShape){var c=e.selectedShape.transformOriginalInfo.export();e.selectedShape.onResizeEnd(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY),e._shiftPressing),e.history.saveHistory(new ShapeHistory(HistoryActionType.rgnShape,e.selectedShape.shapeId,e.selectedShape.export(),c)),e.sendDrawCmd(e.selectedShape,"rgn")}}else if(e.panMoveType===PanMoveType.insertShape){var l;if(e.insertingShape)e.insertingShape.points=2!==e.insertingShape.points.length?[].concat(_toConsumableArray(e.insertingShape.points),[{x:i,y:o}]):e._shiftPressing&&(e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Rect)||e.insertType===ShapeType.Square||e.insertType===ShapeType.Circle?[e.insertingShape.points[0],{x:i,y:e.insertingShape.points[0].y+i-e.insertingShape.points[0].x}]:e.insertType===ShapeType.Stamp&&e.insertingShape instanceof Stamp?[e.insertingShape.resizable?e.insertingShape.points[0]:{x:i,y:o},{x:i,y:o}]:[e.insertingShape.points[0],{x:i,y:o}],e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,e.insertingShape.shapeId,e.insertingShape.export(),void 0)),e.sendDrawCmd(e.insertingShape,"draw"),null!==(l=e.insertingShape)&&void 0!==l&&l.shouldSelectAfterAdd()&&e.setAsSelectedShape(e.insertingShape)}else e.panMoveType===PanMoveType.selectShape?(e.selectIndicator.points=[e.selectIndicator.points[0],{x:i,y:o}],e.rangeSelect(),e.insertType===ShapeType.Delete&&e.deleteRageSelectedShapes()):e.panMoveType!==PanMoveType.none&&e.panMoveType!==PanMoveType.moveBoard||!e.insertingShape||(e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,e.insertingShape.shapeId,e.insertingShape.export(),void 0)),e.sendDrawCmd(e.insertingShape,"draw"));e.panMoveType=PanMoveType.none,e.selectIndicator.visible=!1,e.insertingShape=void 0}}),Object.defineProperty(e,"onPinchStart",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t;(e.originalTranslate=_toConsumableArray(e.translate),e.pinchBoardOriginalScale=e.scale,e.lastPanMoveDelta={x:0,y:0},e.selectedShape)&&(null===(t=e.selectedShape)||void 0===t||t.storeTransformStartPoints(),e.pinchShapeCenter=e.selectedShape.center);e.emitViewportUpdateBySelfEvent()}}),Object.defineProperty(e,"onPinch",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){e.selectedShape?(e.selectedShape.resizeByRatio(t.scale,t.scale,e.pinchShapeCenter),e.throttleSendDrawCmd(e.selectedShape,"rgn")):e.moveAndScaleDisabled||t.scale>=.9&&1.1>=t.scale||e._updateBoardWithNewScale(e.pinchBoardOriginalScale*t.scale,t.center.x,t.center.y)}),EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"onPinchEnd",{enumerable:!0,configurable:!0,writable:!0,value:function(t){if(e.pinchEndTime=Date.now(),e.selectedShape){var r=e.selectedShape.export();e.selectedShape.resizeByRatio(t.scale,t.scale),e.throttleSendDrawCmd(e.selectedShape,"rgn"),e.history.saveHistory(new ShapeHistory(HistoryActionType.rgnShape,e.selectedShape.shapeId,e.selectedShape.export(),r))}}}),Object.defineProperty(e,"onPinchMove",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){if(!e.moveAndScaleDisabled&&!e.selectedShape){var r=t.deltaX-e.lastPanMoveDelta.x,n=t.deltaY-e.lastPanMoveDelta.y;Log.logInfo("Whiteboard.onPinchMove moveBoard",0>r?"move left":"move right",r,0>n?"move down":"move up",n),e.setTranslate(e.activeDoc instanceof PdfDoc?e.translate[0]:e.translate[0]+t.deltaX-e.lastPanMoveDelta.x,e.translate[1]+t.deltaY-e.lastPanMoveDelta.y)}e.lastPanMoveDelta={x:t.deltaX,y:t.deltaY}}),EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"_updateBoardWithNewScale",{enumerable:!0,configurable:!0,writable:!0,value:function(t,r,n){e.activeDoc.updateBoardWithNewScale(t,r,n,e.getWrapperDomRect())}}),Object.defineProperty(e,"onWheel",{enumerable:!0,configurable:!0,writable:!0,value:function(t){t.stopPropagation(),t.preventDefault(),e.wheelDsiabled||e._scaleAndMoveDisabled||(e.emitViewportUpdateBySelfEvent(),e.throttledOnWheel(t))}}),Object.defineProperty(e,"throttledOnWheel",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){if(t.ctrlKey){var r=e.getWrapperDomRect();!e.moveAndScaleDisabled&&e._updateBoardWithNewScale(e.scale-t.deltaY/r.height*20,t.clientX-r.left,t.clientY-r.top)}else{var n=e.translate[0]-t.deltaX;e.activeDoc instanceof PdfDoc&&(n=e.translate[0]),e.setTranslate(n,e.translate[1]-t.deltaY)}}),EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"emitViewportUpdateBySelfEvent",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(){e.emit("viewport-updated-by-self")}),500)}),Object.defineProperty(e,"onContextMenu",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e.preventDefault()}}),Object.defineProperty(e,"onKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=t.keyCode||t.code||t.which;""+r!="8"&&""+r!="46"||(!e.selectedShape||e.selectedShape instanceof Text&&e.selectedShape.interactionStatus===InteractionStatusType.selected&&document.activeElement===e.textArea||(e.deleteShape(e.selectedShape),e.selectedShape=void 0),e.deleteRageSelectedShapes()),""+r=="16"&&(e._shiftPressing=!0),(t.ctrlKey||t.metaKey)&&("z"===t.key?e.undo():"c"===t.key&&(e.selectedShape&&e.selectedShape.interactionStatus===InteractionStatusType.selected?e.copyShapeInfoToClipboard([e.selectedShape]):e.multiSelecetedShapes.length>0&&e.copyShapeInfoToClipboard(e.multiSelecetedShapes)))}}),Object.defineProperty(e,"onKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:function(t){""+(t.keyCode||t.code||t.which)=="16"&&(e._shiftPressing=!1)}}),Object.defineProperty(e,"onMouseOut",{enumerable:!0,configurable:!0,writable:!0,value:function(){e._shiftPressing=!1}}),Object.defineProperty(e,"deleteShape",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=1>=arguments.length||void 0===arguments[1]||arguments[1],n=t.export();t.visible=!1,t instanceof Text?(t.interactionStatus=InteractionStatusType.default,e.textArea.style.zIndex="0",e.textArea.style.color="transparent"):(t instanceof Video||t instanceof Audio)&&t.removeMediaDom(),e.sendDrawCmd(t,"draw"),r&&e.history.saveHistory(new ShapeHistory(HistoryActionType.hideShape,t.shapeId,t.export(),n))}}),Object.defineProperty(e,"_onLoadImageError",{enumerable:!0,configurable:!0,writable:!0,value:function(t){Log.logError("RtcWhiteboard._onLoadImageError: load image failed, img url: ",t),e._sendMetrics({time:(new Date).toISOString(),event:"image load failed",eventtype:"rts",sessiontype:"whiteboard",url:t,sessionId:e.sessionId,pageNum:e.pageIndex,errmsg:"load image failed"})}}),Object.defineProperty(e,"throttleSendLaserPointerMsg",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t,r){var n;null===(n=e.connection)||void 0===n||n.sendLaserPointerMsg(t,r),e.clearLaserPointerId&&clearTimeout(e.clearLaserPointerId),e.clearLaserPointerId=window.setTimeout((function(){var t;null===(t=e.connection)||void 0===t||t.sendClearResourceMsg("laserPointer",["".concat(e.userId,"@").concat(e.appId,"-laserPointer")])}),3e3)}),t.RENDER_INTEVAL/1.5)}),Object.defineProperty(e,"onViewPortChanged",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(){var t=e.getViewport();e.emit("viewport-updated",e.scale,t),e.bSharingVision&&"pdf"!==e.activeDoc.type&&e.throttleSendVisionCmd(t),"scroll"===e.activeDoc.browseMode&&(e.lazyLoadPdfPage(),e.lazyRenderPdfPage(),!e.isSynchronizer&&!e.bSharingVision||e._bFollowVision||e.throttleSendDocResourceMsg(e.activeDoc))}),1e3/60)}),Object.defineProperty(e,"throttleSendVisionCmd",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){var r;null===(r=e.connection)||void 0===r||r.sendVisionResourceMsg(t.maxx-t.minx,t.maxy-t.miny,t.minx,t.miny)}),t.CMD_SEND_WAIT)}),Object.defineProperty(e,"throttleSendDocResourceMsg",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){var r;t instanceof PdfDoc&&1>Math.abs(t.lastSyncY-t.y)||null===(r=e.connection)||void 0===r||r.sendDocResourceMessage(t)}),t.CMD_SEND_WAIT)}),Object.defineProperty(e,"sendDrawCmd",{enumerable:!0,configurable:!0,writable:!0,value:function(t,r){if("draw"===r){var n;if(t instanceof Stamp){var i,o=Stamp.stampResourceCache.get(t.stampId);if(o&&!o.serverCache)null===(i=e.connection)||void 0===i||i.sendStampMsg(t.stampId,t.imgUrl,t.resizable)}null===(n=e.connection)||void 0===n||n.sendShapeDrawMessage(t)}else if("rgn"===r){var a;null===(a=e.connection)||void 0===a||a.sendShapeRgnMessage(t)}}}),Object.defineProperty(e,"throttleSendDrawCmd",{enumerable:!0,configurable:!0,writable:!0,value:throttle(e.sendDrawCmd,100)}),Object.defineProperty(e,"doSendMetrics",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.sendMetricsTimeout=void 0,e.metricsBuffer=[]}}),e.docManager=new DocManager,e.docManager.on("requestRender",e.render),e.docManager.on("page-index-changed",e.onActivePageChanged),e.docManager.on("viewport-updated",e.onViewPortChanged),e.docManager.on("doc-switched",e.onActiveDocSwitched),e.docManager.on("doc-deleted",(function(t){e.emit("doc-deleted",t)})),e.docManager.on("doc-created",(function(t){e.emit("doc-created",t)})),e.docManager.on("doc-load-failed",(function(t,r){return e.emit("doc-load-failed",t,r)})),e.hammer=new Hammer(e.wbWrapperDom);var n=new Hammer.Pan({direction:Hammer.DIRECTION_ALL,threshold:0,enable:function(){return Date.now()-e.pinchEndTime>300}}),i=(new Hammer.Pinch).requireFailure(n);e.hammer.add(n),e.hammer.add(i),e.hammer.get("press").set({enable:!1}),e.hammer.get("swipe").set({enable:!1}),e.hammer.get("doubletap").set({enable:!1}),e.hammer.get("rotate").set({enable:!1}),e.wbWrapperDom.className="dingrtc-wb-wrapper",e.pdfWrapper.className="dingrtc-pdf-viewer",e.renderFPS.className="dingrtc-wb-render-fps",e.bgImg.className="dingrtc-wb__bg-img",e.wbWrapperDom.appendChild(e.pdfWrapper),e.wbWrapperDom.appendChild(e.renderFPS),e.wbWrapperDom.appendChild(e.bgImg),e.wbWrapperDom.appendChild(e.textArea),e.textArea.style.zIndex="0",e.textArea.style.color="transparent",e.textArea.value="",e.textArea.className="wb-shape-textarea";var o,a=void 0;return e.textArea.addEventListener("change",(function(){e.selectedShape instanceof Text&&(a=e.selectedShape),a&&(a.text=e.textArea.value,e.throttleSendDrawCmd(a,"draw"),e.history.saveHistory(new ShapeHistory(HistoryActionType.updateText,a.shapeId,a.export(),o)))})),e.textArea.addEventListener("input",(function(){e.selectedShape instanceof Text&&e.selectedShape!==a&&(o=e.selectedShape.export()),e.selectedShape instanceof Text&&(a=e.selectedShape),a&&(a.text=e.textArea.value,a.setTextMaxLength(e.getVisionMaxX()-a.minx),e.chackIfTextAreaOutofBound(a))})),e.setUpHistoryListener(),e._hookShapeRenderRequest(e.eraserIndicator),e._hookShapeRenderRequest(e.selectIndicator),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"isSynchronizer",get:function(){return"Admin"===this.role}},{key:"getWrapperDomRect",value:function(){var e=this.wbWrapperDom.getBoundingClientRect();return e.width&&e.height&&(this.wrapperDomRect=e),this.wrapperDomRect||{x:0,y:0,width:1e3,height:600,top:0,right:1e3,bottom:600,left:0}}},{key:"history",get:function(){return this.currentPage.history}},{key:"userId",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.userId)||""}},{key:"appId",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.appId)||""}},{key:"channelId",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.channelId)||""}},{key:"token",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.token)||""}},{key:"userName",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.userName)||""}},{key:"cid",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.channelId)||""}},{key:"activeDoc",get:function(){return this.docManager.activeDoc}},{key:"activeDocId",get:function(){return this.docManager.activeDocId}},{key:"isSizeLimited",get:function(){var e;return null===(e=this.sizeConfig)||void 0===e?void 0:e.limited}},{key:"pages",get:function(){return this.activeDoc.getPages()}},{key:"lineWidth",get:function(){return this._lineWidth},set:function(e){this._lineWidth=parseFloat("".concat(e))||this._lineWidth}},{key:"fontSize",get:function(){return this._fontSize},set:function(e){this._fontSize=parseFloat("".concat(e))||this._fontSize}},{key:"role",get:function(){return this._role}},{key:"isAdmin",get:function(){return"Admin"===this._role}},{key:"currentPage",get:function(){return this.docManager.activeDoc.currentPage}},{key:"scale",get:function(){return this.currentPage.scale},set:function(e){this.activeDoc.setScale(e,!0,this.getWrapperDomRect())}},{key:"_hookShapeRenderRequest",value:function(e){var t=this;e.on("requestRender",(function(){t.render()}))}},{key:"getCursorSyncType",value:function(){return this._cursorSyncType}},{key:"setCursorSyncType",value:function(e){this._cursorSyncType=e}},{key:"setRoleType",value:function(e){var t=this.role;Log.logInfo("RtcWhiteboard.setRoleType",e),"Viewer"===e?this.stopInteraction():this.enableInteraction(e),this.selectedShape&&(this.selectedShape.interactionStatus=InteractionStatusType.default,this.selectedShape=void 0),this.insertType===ShapeType.Click&&this.setPenetrable(this._penetrable),t!==e&&(this._role=e)}},{key:"getToolType",value:function(){return this.insertType}},{key:"setToolType",value:function(e){var t,r,n,i;(Log.logInfo("RtcWhiteboard.setToolType",this.insertType,e),this.checkDocAndSetPenetrable(e),e===ShapeType.Delete&&this.selectedShape&&this.deleteShape(this.selectedShape),e===ShapeType.LaserPointer)?null===(t=this.wbWrapperDom.classList)||void 0===t||t.add("dingrtc-wb-wrapper__laser-on"):null===(r=this.wbWrapperDom.classList)||void 0===r||r.remove("dingrtc-wb-wrapper__laser-on");e===ShapeType.Drag?null===(n=this.wbWrapperDom.classList)||void 0===n||n.add("dingrtc-wb-wrapper__drag-on"):null===(i=this.wbWrapperDom.classList)||void 0===i||i.remove("dingrtc-wb-wrapper__drag-on");this.insertType=e,this.wbWrapperDom.style.cursor=getShapeCursorStyle(this.insertType)}},{key:"checkDocAndSetPenetrable",value:function(e){this.setPenetrable(!1)}},{key:"getDevicePixelRatio",value:function(){return window.devicePixelRatio||1}},{key:"enumerateDocs",value:function(){return Log.logInfo("RtcWhiteboard.enumerateDocs"),_toConsumableArray(this.docManager.getDocs().map((function(e){return{docId:e.docId,name:e.name,creator:e.creator,currentPage:e.currentPageIndex,fileKey:e.fileKey}})))}},{key:"selectedShape",get:function(){return this._selectedShape},set:function(e){this._selectedShape&&(this._selectedShape.interactionStatus=InteractionStatusType.default),this._selectedShape=e}},{key:"setSelectedShapeStyle",value:function(e){if(Log.logInfo("RtcWhiteboard.setSelectedShapeStyle",e),this._selectedShape&&this._selectedShape instanceof DrawableShape){var t=this._selectedShape.export();this._selectedShape.shapeStyle=Object.assign(this._selectedShape.shapeStyle,e),this.throttleSendDrawCmd(this._selectedShape,"draw"),this.history.saveHistory(new ShapeHistory(HistoryActionType.updateStyle,this._selectedShape.shapeId,this._selectedShape.export(),t))}}},{key:"setSelectedShapeFontStyle",value:function(e){if(Log.logInfo("RtcWhiteboard.setSelectedShapeFontStyle",e),this._selectedShape&&this._selectedShape instanceof Text){var t=this._selectedShape.export();this._selectedShape.fontStyle=Object.assign(this._selectedShape.fontStyle,e),this.throttleSendDrawCmd(this._selectedShape,"draw"),this.history.saveHistory(new ShapeHistory(HistoryActionType.updateStyle,this._selectedShape.shapeId,this._selectedShape.export(),t))}}},{key:"pageIndex",get:function(){return this.activeDoc.currentPageIndex}},{key:"switchToDoc",value:function(e){if(Log.logInfo("RtcWhiteboard.switchToDoc",e),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);if(!this.docManager.getDocByDocId(e))throw new DingRTCError(ErrorCode.InvaildArgument,"doc not existed");var t;this.docManager.switchActiveDoc(e),null===(t=this.connection)||void 0===t||t.sendActiveDocResourceMessage(e)}},{key:"getCurrentPageNumber",value:function(){return this.pageIndex}},{key:"gotoPage",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.docManager.activeDocId,r=2>=arguments.length||void 0===arguments[2]||arguments[2];if(Log.logInfo("RtcWhiteboard.gotoPage",e,t,r),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);var n=this.docManager.getDocByDocId(t);if(!n)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not existed");if(n instanceof PdfDoc)return this.activeDocId!==t&&r&&this.switchToDoc(t),this.gotoPdfPage(e,n);if(e>n.totalPages-1||0>e)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");if(this.activeDocId!==t&&r&&this.switchToDoc(t),n.browseMode!==DocBrowserMode.scroll){var i;if(n.browseMode!==DocBrowserMode.flip)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not existed");null===(i=this.connection)||void 0===i||i.sendDocResourceMessage(n,n.getPageAtIndex(e).pageId)}else n.setScrollY(e*n.scrollPageHeight,this.getWrapperDomRect())}},{key:"gotoPdfPage",value:function(e,t){if(Log.logInfo("RtcWhiteboard.gotoPdfPage",e),!(t instanceof PdfDoc))throw new DingRTCError(ErrorCode.InvaildArgument,"not a pdf");if(e>t.pdfViewer.pdfPages.size-1||0>e)throw new DingRTCError(ErrorCode.InvaildArgument,"pageIndex is invalid");var r=Math.ceil(t.pdfViewer.pageHightList[e-1]||0);t.docId===this.activeDocId?this.setTranslate(this.translate[0],-r*this.scale):t.currentPage.translate=[t.currentPage.translate[0],-r*t.currentPage.scale]}},{key:"nextPage",value:function(){return Log.logInfo("RtcWhiteboard.nextPage"),this.gotoPage(this.getCurrentPageNumber()+1)}},{key:"prevPage",value:function(){return Log.logInfo("RtcWhiteboard.prevPage"),this.gotoPage(this.getCurrentPageNumber()-1)}},{key:"backgroundColor",get:function(){return this.currentPage.backgroundColor},set:function(e){Log.logInfo("RtcWhiteboard.setbackgroundColor",e),e!==this.backgroundColor&&(this.currentPage.backgroundColor=e,this.render())}},{key:"getTotalNumberOfPages",value:function(){var e;return this.activeDoc instanceof PdfDoc?(null===(e=this.activeDoc.pdfViewer)||void 0===e?void 0:e.pdfPages.size)||1:this.activeDoc.totalPages}},{key:"visibleShapes",get:function(){return this.currentPage.visibleShapes}},{key:"translate",get:function(){return this.currentPage.translate}},{key:"getTranslate",value:function(){return{x:this.currentPage.translate[0],y:this.currentPage.translate[1]}}},{key:"setTranslate",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:400;this.activeDoc.setTranslate(e,t,this.getWrapperDomRect(),r,n)}},{key:"getVisionMaxX",value:function(){return this.getWrapperDomRect().width/this.scale-this.translate[0]/this.scale}},{key:"getVisionMaxY",value:function(){return this.getWrapperDomRect().height/this.scale-this.translate[1]/this.scale}},{key:"setUpHistoryListener",value:function(){this.history.off("history-changed",this.onHistoryChanged),this.history.on("history-changed",this.onHistoryChanged)}},{key:"undo",value:function(){var e=this;Log.logInfo("RtcWhiteboard.undo"),this.clearSelectedShapes();var t=this.history.undo();if(t)if(t instanceof ShapeHistory){var r=this.getShapeById(t.shapeId);r&&(this.restoreShapeFormSavedState(t.shapeId,t.actionType,t.lastState),this.sendDrawCmd(r,"draw"))}else{if(t.actionType===HistoryActionType.deleteShape)this.currentPage.restoreShapes(t.shapeStates.map((function(e){return e.currentState}))).forEach((function(t){return e.sendDrawCmd(t,"draw")}));else t.shapeStates.forEach((function(r){e.getShapeById(r.shapeId)&&e.restoreShapeFormSavedState(r.shapeId,t.actionType,r.lastState)}))}}},{key:"redo",value:function(){var e=this;Log.logInfo("RtcWhiteboard.redo"),this.clearSelectedShapes();var t=this.history.redo();if(t)if(t instanceof ShapeHistory){var r=this.getShapeById(t.shapeId);r&&(this.restoreShapeFormSavedState(t.shapeId,t.actionType,t.lastState),this.sendDrawCmd(r,"draw"))}else t.shapeStates.forEach((function(r){e.getShapeById(r.shapeId)&&e.restoreShapeFormSavedState(r.shapeId,t.actionType,r.lastState)}))}},{key:"restoreShapeFormSavedState",value:function(e,t,r){var n=this.getShapeById(e);if(n)if(t===HistoryActionType.rgnShape){if(!r)return;n.points=r.points,n.rngReverse=r.rngReverse,this.sendDrawCmd(n,"rgn")}else t===HistoryActionType.newShape?(n.visible=!n.visible,this.sendDrawCmd(n,"draw")):r&&(n.visible=r.visible,n instanceof DrawableShape&&(n.shapeStyle=Object.assign({},r.shapeStyle)),n instanceof Text&&(n.text=r.text||"",n.fontStyle=Object.assign({},r.fontStyle)),this.sendDrawCmd(n,"draw"))}},{key:"getShapeById",value:function(e){for(var t,r=0;this.activeDoc.totalPages>r;r++){var n=find(this.pages[r].getShapes(),{shapeId:e});if(n){t=n;break}}return t}},{key:"reset",value:function(){this.close(),this._everOpened=!1,this.bSharingVision=!1,this._bFollowVision=!1,this._lockVisonUserId="",this._visionLockInfo=void 0,this.docManager.reset(),this.pdfWrapper.innerHTML="",this.docManager.switchActiveDoc(DEFAULT_DOC_ID),this.activeDoc.currentPageIndex=0,this.insertType=ShapeType.Select,this._role="Attendee",this._selectedShape=void 0,this.multiSelecetedShapes=[]}},{key:"setBackgroundImageScalingMode",value:function(e){this.bgScaleMode=e,this.isSizeLimited||this.activeDoc.scaleBoardFitBackgroundImage(this.currentPage,this.getWrapperDomRect(),this.bgScaleMode)}},{key:"getShapeStyle",value:function(){return{lineWidth:this.lineWidth,strokeStyle:this.strokeStyle,fillStyle:this.fillStyle,fillType:this.fillType,dashed:this.dashed}}},{key:"_getLimitedImgSize",value:function(e,t){var r,n,i=(null===(r=this.sizeConfig)||void 0===r?void 0:r.width)||2048,o=(null===(n=this.sizeConfig)||void 0===n?void 0:n.height)||2048,a=e,s=t;return a>s&&a>i&&(a=i,s=i/e*t),s>a&&s>o&&(s=o,a=o/t*e),{imgWidth:a,imgHeight:s}}},{key:"_scaleBoardFitBackground",value:function(e){if(e instanceof PdfDoc)this.centerPdfDoc(e);else if(e.sharePageSize){e.scaleBoardFitBackgroundImage(e.currentPage,this.getWrapperDomRect(),this.bgScaleMode);var t=e.currentPage.scale,r=e.currentPage.translate;e.getPages().forEach((function(e){e.scale=t,e.translate=_toConsumableArray(r)}))}else this.currentPage.backgroundImage?this.activeDoc.scaleBoardFitBackgroundImage(this.currentPage,this.getWrapperDomRect(),this.bgScaleMode):this.isSizeLimited?this.fitWithSizeConfig():this.activeDoc.setScaleAndTranslate(1,[0,0],!1,this.getWrapperDomRect())}},{key:"fitWithSizeConfig",value:function(){var e=this;this.sizeConfig&&this.docManager.getDocs().forEach((function(r){var n,i;r instanceof PdfDoc&&e.sizeConfig&&r.width!==(null===(n=e.sizeConfig)||void 0===n?void 0:n.width)?null===(i=t.PdfPlugin)||void 0===i||i.updatePdfWidth(r,e.sizeConfig.width):e.sizeConfig.limited?r.updateBoardWithNewScale(.001,0,0,e.getWrapperDomRect()):r.getPages().forEach((function(t){r.setDocViewport({width:e.sizeConfig.width,height:e.sizeConfig.height,minx:0,miny:0},e.getWrapperDomRect(),t),t.backgroundImage&&r.scaleBoardFitBackgroundImage(t,e.getWrapperDomRect(),e.bgScaleMode)}))}))}},{key:"setBackgroundImage",value:function(e){var t=this;if(Log.logInfo("RtcWhiteboard.setBackgroundImage",e),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);if(this.activeDoc instanceof PdfDoc)throw Log.logWarn("RtcWhiteboard.setBackgroundImage failed because doc type not support",e),new DingRTCError(ErrorCode.InvaildArgument,"doc type not support image");var r=this.currentPage,n=seqIdToShapeId("bg-".concat(r.pageId),this.userId),i=r.backgroundImage;return i?i.imgUrl=e:((i=new Image$1({points:[{x:0,y:0},{x:0,y:0}],shapeId:n,pageId:r.pageId,creator:this.userId},e)).order=ShapeOrderType.bg,r.backgroundImage=i),i.loadImage().then((function(e){var n,o=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight);t.updateBgImgPosition(i,o.imgWidth,o.imgHeight),t.activeDoc.scaleBoardFitBackgroundImage(r,t.getWrapperDomRect(),t.bgScaleMode),null===(n=t.connection)||void 0===n||n.sendShapeDrawMessage(i)})).catch((function(){return t._onLoadImageError(e)}))}},{key:"updateBgImgPosition",value:function(e,t,r){this.isSizeLimited&&this.sizeConfig?"auto"===this.bgScaleMode?e.points=[{x:(this.sizeConfig.width-t)/2,y:(this.sizeConfig.height-r)/2},{x:(this.sizeConfig.width-t)/2+t,y:(this.sizeConfig.height-r)/2+r}]:"fillWidth"===this.bgScaleMode?e.points=[{x:0,y:0},{x:this.sizeConfig.width,y:this.sizeConfig.width*r/t}]:"fillHeight"===this.bgScaleMode&&(e.points=[{x:0,y:0},{x:this.sizeConfig.height*t/r,y:this.sizeConfig.height}]):e.points=[e.points[0],{x:t,y:r}]}},{key:"addImageShape",value:function(e){var t=this;return Log.logInfo("RtcWhiteboard.addImageShape",e),new Promise((function(r,n){var i=new Image$1({points:[{x:0,y:0},{x:0,y:0}],shapeId:t.getNewShapeId(),pageId:t.currentPage.pageId,creator:t.userId},e);i.loadImage().then((function(e){var n=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight),o=n.imgWidth,a=n.imgHeight,s=t.getViewport();i.points=[{x:(s.minx+s.maxx-o)/2,y:(s.miny+s.maxy-a)/2},{x:(s.minx+s.maxx+o)/2,y:(s.miny+s.maxy+a)/2}],t.currentPage.addShape(i),t.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,i.shapeId,i.export(),void 0)),t.setAsSelectedShape(i),t.throttleSendDrawCmd(i,"draw"),r()})).catch((function(r){Log.logError("RtcWhiteboard.addImageShape: img load failed, ",r,e),t._onLoadImageError(e),n(new DingRTCError(ErrorCode.InvaildState,"img load failed"))}))}))}},{key:"setStamp",value:function(e){this.stampId=e,this.setToolType(ShapeType.Stamp)}},{key:"thumbnails",get:function(){return"default"===this.activeDoc.docId?[]:some(this.activeDoc.getPages(),(function(e){return e.backgroundImage}))?this.activeDoc.getPages().map((function(e,t){var r;return(null===(r=e.backgroundImage)||void 0===r?void 0:r.imgUrl)||"empty-bg-".concat(t)})):[]}},{key:"setMediaShapeCallback",value:function(e){var t=this;e.setCallback({onShapeFocused:function(e){return t._focusShape(e)},onShapeSelected:function(e){return t._selectShape(e)},onMediaUpdate:function(e){t.isSynchronizer&&t.sendDrawCmd(e,"draw")}})}},{key:"addAudioShape",value:function(e){var t=this;return Log.logInfo("RtcWhiteboard.addAudioShape invoked"),new Promise((function(r,n){t.isConnected||n(new DingRTCError(ErrorCode.InvaildState));var i=t.getViewport(),o=new Audio({points:[{x:(i.minx+i.maxx-MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy-AUDIO_DOM_HEIGHT)/2},{x:(i.minx+i.maxx+MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy+AUDIO_DOM_HEIGHT)/2}],shapeId:t.getNewShapeId(),pageId:t.currentPage.pageId,creator:t.userId},e);t.setMediaShapeCallback(o),t.currentPage.addShape(o),t.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,o.shapeId,o.export(),void 0)),t.setAsSelectedShape(o),t.throttleSendDrawCmd(o,"draw"),r()}))}},{key:"addVideoShape",value:function(e){var t=this;return Log.logInfo("RtcWhiteboard.addVideoShape",e),new Promise((function(r,n){t.isConnected||n(new DingRTCError(ErrorCode.InvaildState));var i=t.getViewport(),o=new Video({points:[{x:(i.minx+i.maxx-MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy-VIDEO_DOM_HEIGHT)/2},{x:(i.minx+i.maxx+MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy+VIDEO_DOM_HEIGHT)/2}],shapeId:t.getNewShapeId(),pageId:t.currentPage.pageId,creator:t.userId},e);t.setMediaShapeCallback(o),t.currentPage.addShape(o),t.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,o.shapeId,o.export(),void 0)),t.setAsSelectedShape(o),t.throttleSendDrawCmd(o,"draw"),r()}))}},{key:"setAsSelectedShape",value:function(e){this.selectedShape&&(this.selectedShape.interactionStatus=InteractionStatusType.default),this.selectedShape=e,e.interactionStatus=InteractionStatusType.selected}},{key:"insertPage",value:function(e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.docManager.activeDocId,r=3>=arguments.length||void 0===arguments[3]||arguments[3];if(Log.logInfo("RtcWhiteboard.insertPage",e,1>=arguments.length||void 0===arguments[1]||arguments[1],t,r),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);var n,i=this.docManager.getDocByDocId(t);if(!i)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");if(!i.canModifyPage)throw new DingRTCError(ErrorCode.InvaildArgument,"doc can not modify");if(i.browseMode===DocBrowserMode.scroll)i.scrollPages=i.scrollPages+1,null===(n=this.connection)||void 0===n||n.sendDocResourceMessage(i);else if(i.browseMode===DocBrowserMode.flip){var o;if(0>e)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");var a=i.generateNewPageId(),s=i.getPages().map((function(e){return e.pageId}));return null==s||s.splice(e+1,0,a),null===(o=this.connection)||void 0===o||o.sendDocResourceMessage(i,r?a:i.curPageId,s),this.activeDocId!==t&&r&&this.switchToDoc(t),a}}},{key:"removeScrollDocShapesByScrollY",value:function(e,t){var r=this;if(e.browseMode===DocBrowserMode.scroll){var n=e.getPages()[0],i=t*e.scrollPageHeight;n.getShapes().forEach((function(e){e.miny>i&&r.deleteShape(e,!1)}))}}},{key:"setSizeLimitVisible",value:function(e){this.sizeLimitVisible=e,this.render()}},{key:"updateCustomDocPosition",value:function(e){if(Log.logInfo("RtcWhiteboard.updateCustomDocPosition",e.docId,e.name),e.width){var t=this.calculateScaleAndTranslate({width:e.externalDocWidth,height:e.externalDocHeight,minx:0,miny:0});e.getPages().forEach((function(e){e.scale=t.scale,e.translate=[t.translate[0],t.translate[1]]}))}else Log.logError("RtcWhiteboard.updateCustomDocPosition doc width not exists!")}},{key:"centerPdfDoc",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.activeDoc;if(Log.logInfo("RtcWhiteboard.centerPdfDoc",e.docId,e.name),e instanceof PdfDoc){var t=this.getWrapperDomRect().width/e.width;e.getPages().forEach((function(e){e.scale=t,e.translate[0]=0})),this.render()}else Log.logError("RtcWhiteboard.centerPdfDoc doc width not exists!")}},{key:"getPdfVisiblePage",value:function(){var e;if(this.activeDoc instanceof PdfDoc&&"loaded"===this.activeDoc.pdfViewer.state){for(var t=this.activeDoc.pdfViewer.pdfPages.size,r=this.getViewport(),n=-1,i=t-1,o=0;t>o;o++){var a=this.activeDoc.pdfViewer.pdfPages.get(o);if(!a)return;if(-1===n&&a.top>r.miny&&(n=o-1),a.top>=r.maxy){i=o-1;break}}-1===n&&(n=t-1);var s=0>n-3?0:n-3,c=i+3>t?t:i+3;return n!==(null===(e=this.activeDoc.pdfViewer)||void 0===e?void 0:e.pageIndex)&&(this.activeDoc.pdfViewer.pageIndex=n),{pagesNum:t,start:s,end:c,firstVisibleIndex:n,lastVisibleIndex:i}}}},{key:"followVision",value:function(e){"pdf"!==this.activeDoc.type&&(Log.logInfo("RtcWhiteboard.followVision"),this.activeDoc.setDocViewport(e,this.getWrapperDomRect()))}},{key:"calculateScaleAndTranslate",value:function(e){var t=this.getWrapperDomRect(),r=e.width,n=e.height,i=0;return{scale:i=t.height/n>t.width/r?t.width/r:t.height/n,translate:[-e.minx*i-(r*i-t.width)/2,-e.miny*i-(n*i-t.height)/2]}}},{key:"showFps",value:function(){var e=this;Log.logInfo("RtcWhiteboard.showFps"),this.renderer.frameRenderRate=0,this.frameRenderRateInterval=window.setInterval((function(){e.renderFPS.innerHTML="fps: ".concat(e.renderer.frameRenderRate),e.renderer.frameRenderRate=0}),1e3)}},{key:"stopShowFps",value:function(){Log.logInfo("RtcWhiteboard.stopShowFps"),clearInterval(this.frameRenderRateInterval)}},{key:"setPenetrable",value:function(e){Log.logInfo("RtcWhiteboard.setPenetrable",e),this._penetrable=e}},{key:"getViewport",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentPage,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getWrapperDomRect();return{minx:-e.translate[0]/e.scale,miny:-e.translate[1]/e.scale,maxx:(null==t?void 0:t.width)/e.scale-e.translate[0]/e.scale,maxy:(null==t?void 0:t.height)/e.scale-e.translate[1]/e.scale}}},{key:"setShapesVisible",value:function(e){var t,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e?(Log.logInfo("RtcWhiteboard.showWhiteboard"),this.enableInteraction(),this.renderer.showCanvas(),this.bgImg.parentElement!==this.wbWrapperDom&&this.wbWrapperDom.appendChild(this.bgImg)):(Log.logInfo("RtcWhiteboard.hideWhiteboard",r),this.stopInteraction(),this.renderer.hideCanvas(),r&&(null===(t=this.bgImg.parentElement)||void 0===t||t.removeChild(this.bgImg)));this.isShapesVisible=e}},{key:"convertPointCoords",value:function(e){return{x:(e.x-this.translate[0])/this.scale,y:(e.y-this.translate[1])/this.scale}}},{key:"convertDelta",value:function(e){return e/this.scale}},{key:"checkMouseOverAndSetType",value:function(e,t,r){if(this.selectedShape&&this.selectedShape.isPointInShapeRect(e,t))return this.visibleShapes.forEach((function(e){return e.interactionStatus=InteractionStatusType.default})),void(this.selectedShape.interactionStatus=r);for(var n=!1,i=this.visibleShapes.length-1;i>=0;i--){var o=this.visibleShapes[i];if(this.isPermittedShape(o))o.isPointInShape(e,t)&&!n?(n=!0,o.interactionStatus=r,this.selectedShape=o,o instanceof Text&&(this.textArea.value=o.text)):includes(this.multiSelecetedShapes,o)||(o.interactionStatus=InteractionStatusType.default)}n||(this.selectedShape=void 0)}},{key:"focusTetxArea",value:function(e){var t=this;if(this.chackIfTextAreaOutofBound(e),this.textArea.style.zIndex="1",this.textArea.style.color=this.strokeStyle,this.textArea.value=e.text,this.textArea!==document.activeElement){var r=this.textArea.value.length;this.textArea.setSelectionRange(r,r),this.textArea.focus(),requestAnimationFrame((function(){return t.textArea.focus()}))}}},{key:"chackIfTextAreaOutofBound",value:function(e){var t=this.getVisionMaxX(),r=this.getVisionMaxY();(e.maxy>r||e.maxx>t)&&(this.setTranslate(e.maxx>t?this.translate[0]+(t-e.maxx-10)*this.scale:this.translate[0],e.maxy>r?this.translate[1]+(r-e.maxy-10)*this.scale:this.translate[1]),this.renderer.doRender())}},{key:"_selectShape",value:function(e){this.selectedShape!==e&&this.isPermittedShape(e)&&this.setAsSelectedShape(e)}},{key:"_focusShape",value:function(e){this.isPermittedShape(e)&&this.insertType===ShapeType.Select&&e.interactionStatus!==InteractionStatusType.selected&&(e.interactionStatus=InteractionStatusType.focused)}},{key:"getShapeResizeHandle",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selectedShape;return r&&find(r.outlineResizeHandles,(function(r){return r.isPointInShape(e,t)}))}},{key:"rangeSelect",value:function(){var e=this,t=[],r=this.insertType===ShapeType.Delete?InteractionStatusType.willBeDeleted:InteractionStatusType.focused;this.visibleShapes.forEach((function(n){e.isPermittedShape(n)&&(e.selectIndicator.isPointInShapeRect(n.minx,n.miny)||e.selectIndicator.isPointInShapeRect(n.maxx,n.miny)||e.selectIndicator.isPointInShapeRect(n.maxx,n.maxy)||e.selectIndicator.isPointInShapeRect(n.minx,n.maxy))?(t.push(n),n.interactionStatus=r):n.interactionStatus=InteractionStatusType.default})),this.multiSelecetedShapes=t}},{key:"clearSelectedShapes",value:function(){this.selectedShape&&(this.selectedShape.interactionStatus=InteractionStatusType.default,this.selectedShape=void 0),this.multiSelecetedShapes.forEach((function(e){return e.interactionStatus=InteractionStatusType.default})),this.multiSelecetedShapes=[]}},{key:"shouldUpdateViewAfterSizeChange",get:function(){return"externalDoc"===this.activeDoc.type||this._bFollowVision}},{key:"moveAndScaleDisabled",get:function(){return this._scaleAndMoveDisabled||"externalDoc"===this.activeDoc.type||this._bFollowVision}},{key:"getShapeByPoint",value:function(e,t){for(var r=this.visibleShapes.length-1;r>=0;r--){var n=this.visibleShapes[r];if(this.isPermittedShape(n)&&n.isPointInShape(e,t))return n}}},{key:"center",value:function(){this._scaleBoardFitBackground(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.activeDoc)}},{key:"enableCursorSync",value:function(){this._cursorSyncEnabled=!0}},{key:"disableCursorSync",value:function(){this._cursorSyncEnabled=!1}},{key:"isPointInAnyMultySlectedShape",value:function(e,t){for(var r=!1,n=0;this.multiSelecetedShapes.length>n;n++)if(this.multiSelecetedShapes[n].isPointInShapeRect(e,t)){r=!0;break}return r}},{key:"uploadLocalImage",value:function(e,t,r){var n,i,o,a=this;uploadTempFile({file:e,channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(n=null===(i=this.connection)||void 0===i?void 0:i.connectionInfo.securityToken)&&void 0!==n?n:"",gslb:(null===(o=this.connection)||void 0===o?void 0:o.connectionInfo.gslb)||getGslb(),onProgress:r}).then((function(r){var n=r.url;t?a.setBackgroundImage(n):includes(e.name,".gif")||includes(e.name,"imgtype=gif")?a.addImageShape(includes(n,"?")?"".concat(n,"&imgtype=gif"):"".concat(n,"?imgtype=gif")).catch((function(){Log.logError("RtcWhiteboard.uploadLocalImage","addImageShape error")})):a.addImageShape(n).catch((function(){Log.logError("RtcWhiteboard.uploadLocalImage","addImageShape error")}))})).catch((function(e){Log.logError("RtcWhiteboard.uploadLocalImage: img upload failed, ",e.message,a.sessionId)}))}},{key:"deleteRageSelectedShapes",value:function(){var e=this,t=[];this.multiSelecetedShapes.forEach((function(r){r.interactionStatus=InteractionStatusType.default;var n=r.export();r.visible=!1,r instanceof Text?(r.interactionStatus=InteractionStatusType.default,e.textArea.style.zIndex="0",e.textArea.style.color="transparent"):(r instanceof Video||r instanceof Audio)&&r.removeMediaDom(),t.push({shapeId:r.shapeId,currentState:r.export(),lastState:n}),e.sendDrawCmd(r,"draw")})),this.history.batchSave(new BatchHistory(HistoryActionType.hideShape,t)),this.multiSelecetedShapes=[]}},{key:"copyShapeInfoToClipboard",value:function(e){var t=this.activeDoc,r=e.map((function(e){return{docId:t.docId,pageId:t.currentPage.pageId,shapeId:e.shapeId}}));setClipboard(JSON.stringify(r)).catch((function(e){Log.logError("RtcWhiteboard.copyShapeInfoToClipboard failed",e.message)}))}},{key:"disableScaleAndMove",value:function(){Log.logInfo("RtcWhiteboard.disableScaleAndMove"),this._scaleAndMoveDisabled=!0}},{key:"enableScaleAndMove",value:function(){Log.logInfo("RtcWhiteboard.enableScaleAndMove"),this._scaleAndMoveDisabled=!1}},{key:"disableWheelScale",value:function(){Log.logInfo("RtcWhiteboard.disableWheelScale"),this.wheelDsiabled=!0}},{key:"enableWheelScale",value:function(){Log.logInfo("RtcWhiteboard.enableWheelScale"),this.wheelDsiabled=!1}},{key:"enableInteraction",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._role;this.stopInteraction(),"Viewer"!==e?(this.hammer.on("tap",this.onTap),this.hammer.on("panstart",this.onPanStart),this.hammer.on("panmove",this.onPanMove),this.hammer.on("panend",this.onPanEnd),this.hammer.on("pinchstart",this.onPinchStart),this.hammer.on("pinchin",this.onPinch),this.hammer.on("pinchend",this.onPinchEnd),this.hammer.on("pinchout",this.onPinch),this.hammer.on("pinchmove",this.onPinchMove),this.wbWrapperDom.addEventListener("dblclick",this.onDoubleClick),this.wbWrapperDom.addEventListener("mousedown",this.onMouseDown),this.wbWrapperDom.addEventListener("mousemove",this.onMouseMove),this.wbWrapperDom.addEventListener("touchend",this.onTouchEnd),this.wbWrapperDom.addEventListener("mouseup",this.onMouseUp),this.wbWrapperDom.addEventListener("contextmenu",this.onContextMenu),this.wbWrapperDom.addEventListener("wheel",this.onWheel),document.addEventListener("keydown",this.onKeyDown),document.addEventListener("keyup",this.onKeyUp),document.addEventListener("mouseout",this.onMouseOut),document.addEventListener("paste",this.onPaste)):Log.logInfo("RtcWhiteboard.enableInteraction role is viewer, return")}},{key:"stopInteraction",value:function(){this.wbWrapperDom.removeEventListener("mousemove",this.onMouseMove),this.wbWrapperDom.removeEventListener("mousedown",this.onMouseDown),this.wbWrapperDom.removeEventListener("mouseup",this.onMouseUp),this.wbWrapperDom.removeEventListener("contextmenu",this.onContextMenu),this.wbWrapperDom.removeEventListener("wheel",this.onWheel),this.wbWrapperDom.removeEventListener("touchend",this.onTouchEnd),document.removeEventListener("keydown",this.onKeyDown),document.removeEventListener("keyup",this.onKeyUp),document.removeEventListener("mouseout",this.onMouseOut),document.removeEventListener("paste",this.onPaste),this.hammer&&(this.hammer.off("tap",this.onTap),this.hammer.off("panstart",this.onPanStart),this.hammer.off("panmove",this.onPanMove),this.hammer.off("panend",this.onPanEnd),this.hammer.on("pinchstart",this.onPinchStart),this.hammer.off("pinchin",this.onPinch),this.hammer.off("pinchend",this.onPinchEnd),this.hammer.off("pinchout",this.onPinch),this.hammer.off("pinchmove",this.onPinchMove))}},{key:"deleteShapeOnPosition",value:function(e,t){for(var r=this.visibleShapes.length-1;r>=0;r--){var n=this.visibleShapes[r];if(this.isPermittedShape(n)&&n.isPointInShape(e,t)){this.deleteShape(n);break}}}},{key:"snapshot",value:(n=_asyncToGenerator$1(_regeneratorRuntime$1.mark((function e(){var t,r,n,i,o,a,s,c,l,u,d,p,h,f,g,y,v,m,b,S,_,w,I,E,T,O,C,P,R,k,x=arguments;return _regeneratorRuntime$1.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=x.length>2&&void 0!==x[2]?x[2]:"png",i=x.length>3&&void 0!==x[3]?x[3]:.5,Log.logInfo("RtcWhiteboard.snapshot",t=0>=x.length||void 0===x[0]||x[0],r=x.length>1&&void 0!==x[1]?x[1]:"view",this.sessionId),o=document.createElement("canvas"),a=this.renderer.canvasElement.width,s=this.renderer.canvasElement.height,c=0,l=0,u=0,d=0,this.activeDoc instanceof PdfDoc&&"all"===r&&(r="view",Log.logWarn("RtcWhiteboard.snapshot current page is pdf, only supprot snapshot mode 'view'")),"all"===r?(p=this.getViewport(),c=Math.min.apply(Math,[this.currentPage.backgroundImage?this.currentPage.backgroundImage.minx:0].concat(_toConsumableArray((h=this.visibleShapes).map((function(e){return e.minx})))))-10,l=Math.max.apply(Math,[0,this.currentPage.backgroundImage?this.currentPage.backgroundImage.maxx:0].concat(_toConsumableArray(h.map((function(e){return e.maxx})))))+10,u=Math.min.apply(Math,[this.currentPage.backgroundImage?this.currentPage.backgroundImage.miny:0].concat(_toConsumableArray(h.map((function(e){return e.miny})))))-10,d=Math.max.apply(Math,[0,this.currentPage.backgroundImage?this.currentPage.backgroundImage.maxy:0].concat(_toConsumableArray(h.map((function(e){return e.maxy})))))+10,c=Math.min(p.minx,c),l=Math.max(p.maxx,l),u=Math.min(p.miny,u),d=Math.max(p.maxy,d),f=(l-c)*this.getDevicePixelRatio(),g=(d-u)*this.getDevicePixelRatio(),o.width=f,o.height=g):(o.width=a,o.height=s),(y=o.getContext("2d")).save(),y.fillStyle=this.currentPage.backgroundColor,y.fillRect(0,0,o.width,o.height),y.restore(),!this.currentPage.backgroundImage){e.next=48;break}if(e.prev=20,v=this.currentPage.backgroundImage.img){e.next=26;break}return e.next=25,this.currentPage.backgroundImage.loadImage();case 25:v=this.currentPage.backgroundImage.img;case 26:if(isImageExportable(v)){e.next=42;break}return e.prev=27,e.next=30,ImageLoader.loadImgAnonymous(this.currentPage.backgroundImage.imgUrl);case 30:if(v=e.sent){e.next=35;break}return e.next=34,this.currentPage.backgroundImage.loadImage();case 34:v=this.currentPage.backgroundImage.img;case 35:v=void 0,e.next=42;break;case 38:e.prev=38,e.t0=e.catch(27),v=void 0,Log.logError("背景图截图失败",JSON.stringify(e.t0));case 42:v&&(m=this._getLimitedImgSize(v.naturalWidth,v.naturalHeight),b=m.imgWidth,S=m.imgHeight,y.save(),"all"===r?(y.scale(this.getDevicePixelRatio(),this.getDevicePixelRatio()),y.drawImage(v,this.currentPage.backgroundImage.minx,this.currentPage.backgroundImage.miny,b,S),y.scale(1/this.getDevicePixelRatio(),1/this.getDevicePixelRatio())):(y.translate(this.translate[0]*this.getDevicePixelRatio(),this.translate[1]*this.getDevicePixelRatio()),y.scale(this.scale*this.getDevicePixelRatio(),this.scale*this.getDevicePixelRatio()),y.drawImage(v,this.currentPage.backgroundImage.minx,this.currentPage.backgroundImage.miny,b,S),y.scale(1/this.scale/this.getDevicePixelRatio(),1/this.scale/this.getDevicePixelRatio()),y.translate(-this.translate[0]*this.getDevicePixelRatio(),-this.translate[1]*this.getDevicePixelRatio())),y.restore()),e.next=48;break;case 45:e.prev=45,e.t1=e.catch(20),Log.logError("RtcWhiteboard.snapshot error, current page background image is blocked by CROS",JSON.stringify(e.t1));case 48:if(!(this.activeDoc instanceof PdfDoc)){e.next=68;break}if(!(_=this.getPdfVisiblePage())){e.next=68;break}w=_.lastVisibleIndex,I=_.firstVisibleIndex;case 53:if(I>w){e.next=68;break}if(T=null===(E=this.activeDoc.pdfViewer)||void 0===E||null===(E=E.pdfPages.get(I))||void 0===E?void 0:E.img){e.next=57;break}return e.abrupt("continue",65);case 57:O=parseInt(T.getAttribute("data-w")||"",10),C=parseInt(T.getAttribute("data-h")||"",10),P=parseInt(T.getAttribute("data-t")||"",10),y.translate(this.translate[0]*this.getDevicePixelRatio(),this.translate[1]*this.getDevicePixelRatio()),y.scale(this.scale*this.getDevicePixelRatio(),this.scale*this.getDevicePixelRatio()),y.drawImage(T,0,P,O,C),y.scale(1/this.scale/this.getDevicePixelRatio(),1/this.scale/this.getDevicePixelRatio()),y.translate(-this.translate[0]*this.getDevicePixelRatio(),-this.translate[1]*this.getDevicePixelRatio());case 65:I++,e.next=53;break;case 68:return e.prev=68,"all"===r?(this.renderer.renderAllVisibleShapes(y,[-c,-u],1,!0),this.renderer.renderTopShapes(y,[-c,-u],1)):(this.renderer.renderAllVisibleShapes(y,this.translate,this.scale,!0),this.renderer.renderTopShapes(y,this.translate,this.scale)),R=o.toDataURL("image/".concat(n),i),t&&((k=document.createElement("a")).download="".concat(this.userId,"_").concat((new Date).toISOString(),".png"),k.href=R,document.body.appendChild(k),k.click(),k.remove()),e.abrupt("return",R);case 75:throw e.prev=75,e.t2=e.catch(68),Log.logError("白板截图失败",e.t2),new DingRTCError(ErrorCode.InvaildState,JSON.stringify(e.t2));case 79:case"end":return e.stop()}}),e,this,[[20,45],[27,38],[68,75]])}))),function(){return n.apply(this,arguments)})},{key:"getNewShapeId",value:function(){return"".concat(this.userId).concat(SHAPE_SEQ_LINK_STR).concat(this.natureObjSeq++)}},{key:"isPermittedShape",value:function(e){return this.isAdmin||e.creator===this.userId}},{key:"getStatistics",value:function(){Log.logInfo("RtcWhiteboard.getStatistics");var e=[];return this.docManager.getDocs().forEach((function(t){t.getPages().forEach((function(t){t.getShapes().forEach((function(t){var r=find(e,{userId:t.creator});r||e.push(r={userId:t.creator,shapes:[]}),r.shapes.push(omit(t.export(),["points","rngReverse"]))}))}))})),e}},{key:"clearUserContents",value:function(e,t,r){var n,i=this;if(Log.logInfo("RtcWhiteboard.clearUserContents",e,t,r,this.isAdmin,this.sessionId),e!==this.userId&&!this.isAdmin)throw new DingRTCError(ErrorCode.InvaildArgument,"cannot clear contents becase of privilege");var o=[],a=[];this.docManager.getDocs().forEach((function(n){n.getPages().forEach((function(n){t&&n.pageId!==i.currentPage.pageId||n.getShapes().filter((function(t){return t.creator===e&&(r===WBClearType.BACKGROUND_IMAGE?t===n.backgroundImage:r!==WBClearType.DRAWS||t!==n.backgroundImage)})).forEach((function(e){t&&a.push(e),o.push({seq:e.shapeSeq,userId:e.creator})}))}))})),a.length&&this.history.batchSave(new BatchHistory(HistoryActionType.deleteShape,a.map((function(e){return{shapeId:e.shapeId,currentState:e.export(),lastState:e.export()}})))),null===(n=this.connection)||void 0===n||n.sendClearDrawMsg(o)}},{key:"createDoc",value:function(e,t,r,n){var i,o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:genRandomDocId();if(Log.logInfo("RtcWhiteboard.createDoc",e,t,this.sessionId),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState,"session not connected");null===(i=this.connection)||void 0===i||i.sendCreateDocResourceMessage(a,e,t,r,n),null===(o=this.connection)||void 0===o||o.sendActiveDocResourceMessage(a)}},{key:"setLocale",value:function(e){I18n.locale=e}},{key:"setI18nConfig",value:function(e){I18n.setConfig(e)}},{key:"getI18nConfig",value:function(){return I18n.conifg}},{key:"resendLocalInfoOnFailover",value:function(){Log.logInfo("RtcWhiteboard.resendLocalInfoOnFailover"),this.sendLocalDocAndShapesOnReconnect(),this.setRoleType(this.role),this.bSharingVision&&(Log.logInfo("RtcWhiteboard.resendLocalInfoOnFailover resend locale vision"),this.throttleSendVisionCmd(this.getViewport()))}},{key:"sendLocalDocAndShapesOnReconnect",value:function(){var e=this;this.failoverShapeCache.clear(),this.failoverDocCache.clear(),this._innerEventhub.once("syncCompleted",(function(){e.docManager.getDocs().forEach((function(t){var r,n;(e.failoverDocCache.get(t.docId)||-1)<t.pageVersion&&(null===(r=e.connection)||void 0===r||r.sendDocResourceMessage(t),e.isSynchronizer&&t.docId===e.docManager.activeDocId&&(null===(n=e.connection)||void 0===n||n.sendActiveDocResourceMessage(t.docId)));t.getPages().forEach((function(t){t.getShapes().forEach((function(t){e.failoverShapeCache.get(t.shapeId)||e.sendDrawCmd(t,"draw")})),t.backgroundImage&&(e.failoverShapeCache.get(t.backgroundImage.shapeId)||e.sendDrawCmd(t.backgroundImage,"draw"))}))}))}))}},{key:"open",value:function(e){var t=this;Log.logInfo("RtcWhiteboard.openWhiteboard",this.sessionId),this.checkDocAndSetPenetrable(this.insertType),e.appendChild(this.wbWrapperDom),this.wrapperDomRect=e.getBoundingClientRect(),window.addEventListener("resize",this.autoUpdateCanvasSize),window.addEventListener("scroll",this.autoUpdateCanvasSize),this.enableInteraction(),window.requestAnimationFrame((function(){t.updateCanvasSize(!1),t._updateBoardWithNewScale(t.scale,0,0),t.render()})),setTimeout((function(){t.updateCanvasSize(!1,!1,!0),t._updateBoardWithNewScale(t.scale,0,0),t.render()}),1e3),this.isWhiteboardOpen=!0,window.addEventListener("panoPenEvent",this._onPenEvent),requestAnimationFrame((function(){t.docManager.getDocs().forEach((function(e){return e.getPages().forEach((function(r,n){e.docId===t.activeDocId&&n===t.pageIndex&&t._bFollowVision||(e.scaleBoardFitBackgroundImage(r,t.getWrapperDomRect(),t.bgScaleMode),e instanceof ExternalDoc&&e.width&&t.updateCustomDocPosition(e))}))})),t._everOpened||(t.fitWithSizeConfig(),t._everOpened=!0)})),this.isOpen=!0,this._bFollowVision&&requestAnimationFrame((function(){t._visionLockInfo&&t.followVision(t._visionLockInfo)}))}},{key:"close",value:function(){var e;Log.logInfo("RtcWhiteboard.close"),window.removeEventListener("panoPenEvent",this._onPenEvent),this.isWhiteboardOpen=!1,this.currentPage.getShapes().forEach((function(e){(e instanceof Video||e instanceof Audio)&&e.removeMediaDom()})),this.stopInteraction(),null===(e=this.wbWrapperDom.parentElement)||void 0===e||e.removeChild(this.wbWrapperDom),window.removeEventListener("resize",this.autoUpdateCanvasSize),window.removeEventListener("scroll",this.autoUpdateCanvasSize),clearInterval(this.frameRenderRateInterval),this.isOpen=!1}},{key:"alignVision",value:function(){var e,t=this.getViewport();null===(e=this.connection)||void 0===e||e.sendVisionResourceMsg(t.maxx-t.minx,t.maxy-t.miny,t.minx,t.miny)}},{key:"initVision",value:function(e,t){var r,n,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(Log.logInfo("RtcWhiteboard.initVision",e,t,i,this.sessionId),!parseFloat("".concat(e))||!parseFloat("".concat(t)))throw new DingRTCError(ErrorCode.InvaildArgument);if(t!==(null===(r=this.sizeConfig)||void 0===r?void 0:r.height)||e!==(null===(n=this.sizeConfig)||void 0===n?void 0:n.width)||i!==this.isSizeLimited){var o={width:e,height:t,limited:i};this.sizeConfig=o,this.docManager.getDocs().forEach((function(e){e.setSizeConfig(o)})),this.fitWithSizeConfig()}}},{key:"startVisionShare",value:function(){Log.logInfo("RtcWhiteboard.startVisionShare",this.sessionId),this.bSharingVision=!0,this._bFollowVision=!1,this.enableScaleAndMove(),this.isOpen&&this.throttleSendVisionCmd(this.getViewport())}},{key:"stopVisionShare",value:function(){var e;Log.logInfo("RtcWhiteboard.stopVisionShare",this.sessionId),this.bSharingVision=!1,this._lockVisonUserId===this.userId&&(null===(e=this.connection)||void 0===e||e.sendClearResourceMsg("vision",["vision"]))}},{key:"startFollowVision",value:function(){Log.logInfo("RtcWhiteboard.startFollowVision",this._visionLockInfo,this.sessionId),this._bFollowVision=!0,this._visionLockInfo&&this.followVision(this._visionLockInfo)}},{key:"stopFollowVision",value:function(){Log.logInfo("RtcWhiteboard.stopFollowVision",this.sessionId),this._bFollowVision=!1}},{key:"deleteDoc",value:function(e,t){var r;if(Log.logInfo("RtcWhiteboard.deleteDoc",this.sessionId),e===DEFAULT_DOC_ID)throw new DingRTCError(ErrorCode.InvaildArgument,"cannot delete default doc");var n=this.docManager.getDocByDocId(e);if(!n)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");e===this.docManager.activeDocId&&(t&&this.docManager.getDocByDocId(t)?this.switchToDoc(t):this.switchToDoc(DEFAULT_DOC_ID)),null===(r=this.connection)||void 0===r||r.sendClearResourceMsg("doc",[n.docId]),this.docManager.deleteDocByDocId(e)}},{key:"clearContents",value:function(e,t){var r,n=this;if(Log.logInfo("RtcWhiteboard.clearContents",e,t,this.sessionId),!this.isAdmin)throw Log.logError("RtcWhiteboard.clearContents failed, not admin role"),new DingRTCError(ErrorCode.InvaildArgument,"cannot clear contents becase of privilege");var i=[];if(e){var o=[];t===WBClearType.All?this.currentPage.getShapes().forEach((function(e){o.push(e),i.push({seq:e.shapeSeq,userId:e.creator})})):t===WBClearType.BACKGROUND_IMAGE?this.currentPage.backgroundImage&&(o.push(this.currentPage.backgroundImage),i.push({seq:this.currentPage.backgroundImage.shapeSeq,userId:this.currentPage.backgroundImage.creator})):t===WBClearType.DRAWS&&this.currentPage.getShapes().forEach((function(e){e!==n.currentPage.backgroundImage&&(o.push(e),i.push({seq:e.shapeSeq,userId:e.creator}))})),o.length&&this.history.batchSave(new BatchHistory(HistoryActionType.deleteShape,o.map((function(e){return{shapeId:e.shapeId,currentState:e.export(),lastState:e.export()}}))))}else t===WBClearType.All?this.docManager.getDocs().forEach((function(e){e.getPages().forEach((function(e){e.getShapes().forEach((function(e){i.push({seq:e.shapeSeq,userId:e.creator})}))}))})):t===WBClearType.BACKGROUND_IMAGE?this.docManager.getDocs().forEach((function(e){e.getPages().forEach((function(e){e.backgroundImage&&i.push({seq:e.backgroundImage.shapeSeq,userId:e.backgroundImage.creator})}))})):t===WBClearType.DRAWS&&this.docManager.getDocs().forEach((function(e){e.getPages().forEach((function(e){e.getShapes().forEach((function(t){t!==e.backgroundImage&&i.push({seq:t.shapeSeq,userId:t.creator})}))}))}));null===(r=this.connection)||void 0===r||r.sendClearDrawMsg(i)}},{key:"clearDocContents",value:function(e,t){var r;if(Log.logInfo("RtcWhiteboard.clearDocContents",e,t,this.isAdmin,this.sessionId),!this.isAdmin)throw new DingRTCError(ErrorCode.InvaildArgument,"cannot clear contents becase of privilege");var n=this.docManager.getDocByDocId(e);if(!n)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");var i=[];n.getPages().forEach((function(e){e.getShapes().forEach((function(e){i.push({seq:e.shapeSeq,userId:e.creator})}))})),null===(r=this.connection)||void 0===r||r.sendClearDrawMsg(i)}},{key:"setScale",value:function(e){this.activeDoc.setScale(e,!0,this.getWrapperDomRect())}},{key:"uploadPDF",value:function(e){var t,r,n,i=this;return Log.logInfo("RtcWhiteboard.uploadPDF",this.sessionId),selectAndUploadTempFile({accept:".pdf",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),onProgress:e}).then((function(e){return i.addPdfDoc(e.url,e.fileName),e}))}},{key:"addPdfDoc",value:function(e,t){var r,n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:genRandomDocId(),o=arguments.length>3?arguments[3]:void 0;Log.logInfo("RtcWhiteboard.addPdfDoc",e,t,this.sessionId);var a=i;return null===(r=this.connection)||void 0===r||r.sendCreatePdfDocResourceMessage(i,t,e,o),null===(n=this.connection)||void 0===n||n.sendActiveDocResourceMessage(i),a}},{key:"transcodeFile",value:function(e){var t,r,n,i=this;Log.logInfo("RtcWhiteboard.transcodeFile",e,this.sessionId);var o=e.targetType,a=e.onUploadProgress,s=e.onTranscodeProgress;return selectAndTranscodeFile({accept:".docx, .xlsx, .pptx, .doc, .xls, .ppt, .pdf",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),targetType:o,onUploadProgress:a,onTranscodeProgress:s}).then((function(e){var t=e.url,r=e.fileName,n=e.docId;return"pdf"===o?i.addPdfDoc(t[0],r,n,n):i.addBackgroundImages(t,r,n),e}))}},{key:"addBackgroundImages",value:function(e,t){var r,n,i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:genRandomDocId();if(Log.logInfo("RtcWhiteboard.addBackgroundImages",t,this.sessionId),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState,"session not connected");null===(r=this.connection)||void 0===r||r.sendCreateDocResourceMessage(o,e.length,t||o.slice(-6)),null===(n=this.connection)||void 0===n||n.sendActiveDocResourceMessage(o),e.forEach((function(e,t){var r,n="".concat(o,"-").concat(t+1),a=new Image$1({points:[{x:0,y:0},{x:0,y:0}],shapeId:"bg-".concat(n),pageId:n,creator:i.userId},e);a.order=ShapeOrderType.bg,null===(r=i.connection)||void 0===r||r.sendShapeDrawMessage(a)}))}},{key:"uploadAudio",value:function(e){var t,r,n,i=this;return Log.logInfo("RtcWhiteboard.uploadAudio",this.sessionId),selectAndUploadTempFile({accept:"audio/mp3,audio/ogg",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),onProgress:e}).then((function(e){return i.addAudioShape(e.url),e}))}},{key:"uploadVideo",value:function(e){var t,r,n,i=this;return Log.logInfo("RtcWhiteboard.uploadVideo",this.sessionId),selectAndUploadTempFile({accept:"video/mp4,audio/ogg,video/webm",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),onProgress:e}).then((function(e){i.addVideoShape(e.url)}))}},{key:"_sendMetrics",value:function(e){e.time=(new Date).toISOString(),this.metricsBuffer.push(e);var t=e.event||"";t.includes("join")||t.includes("leave")?this.doSendMetrics():this.sendMetricsTimeout||(this.sendMetricsTimeout=window.setTimeout(this.doSendMetrics,1e4))}},{key:"uploadImage",value:function(){var e,t,r,n=this,i=0>=arguments.length||void 0===arguments[0]||arguments[0],o=arguments.length>1?arguments[1]:void 0;if(Log.logInfo("RtcWhiteboard.uploadImage",this.sessionId),this.isConnected)return selectAndUploadTempFile({accept:"image/*",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(e=null===(t=this.connection)||void 0===t?void 0:t.connectionInfo.securityToken)&&void 0!==e?e:"",gslb:(null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.gslb)||getGslb(),onProgress:o}).then((function(e){var t=e.url,r=e.fileName;i?n.setBackgroundImage(t):includes(r,".gif")||includes(t,"imgtype=gif")?n.addImageShape(includes(r,"?")?"".concat(t,"&imgtype=gif"):"".concat(t,"?imgtype=gif")).catch((function(){Log.logError("RtcWhiteboard.uploadImage","addImageShape error")})):n.addImageShape(t).catch((function(){Log.logError("RtcWhiteboard.uploadImage","addImageShape error")}))}))}},{key:"addStamp",value:function(e,t,r){Log.logInfo("RtcWhiteboard.addStamp",e,t,r),Stamp.stampResourceCache.cache(e,t,r)}},{key:"getSdkVersion",value:function(){return version$1}},{key:"exportAsJson",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark((function e(){var t,r,n,i,o,a,s,c=arguments;return _regeneratorRuntime$1.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.length>0&&void 0!==c[0]&&c[0],r=this.docManager.getDocs().map((function(e){return e.export()})),n="",e.prev=3,e.next=6,this.snapshot(!1,"all","png",.1);case 6:n=e.sent,e.next=12;break;case 9:e.prev=9,e.t0=e.catch(3),Log.logError("RtcWhiteboard.exportAsJson snapshot error");case 12:return i={snapshot:n,docsInfo:r},t&&(o="".concat(this.channelId,"-").concat(this.userId,".wbstates.json"),a=new File([new Blob([JSON.stringify(i)],{type:"text/plain"})],o,{type:"text/plain"}),(s=document.createElement("a")).href=window.URL.createObjectURL(a),s.download=o,s.style.display="none",document.body.appendChild(s),requestAnimationFrame((function(){s.click(),document.body.removeChild(s)}))),e.abrupt("return",i);case 15:case"end":return e.stop()}}),e,this,[[3,9]])}))),function(){return r.apply(this,arguments)})},{key:"saveLogs",value:function(){saveLogs(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".web-sdk.log"))}}],[{key:"usePdf",value:function(e){t.PdfPlugin=e}}]);var r,n}();function _callSuper$3(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$3()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$3(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$3=function(){return!!e})()}function _superPropGet(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}Object.defineProperty(Whiteboard,"MAX_SCALE",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(Whiteboard,"MIN_SCALE",{enumerable:!0,configurable:!0,writable:!0,value:.1}),Object.defineProperty(Whiteboard,"MAX_MEDIA_SIZE",{enumerable:!0,configurable:!0,writable:!0,value:300}),Object.defineProperty(Whiteboard,"DEFAULE_DOC_URL_DURATION",{enumerable:!0,configurable:!0,writable:!0,value:172800}),Object.defineProperty(Whiteboard,"RENDER_INTEVAL",{enumerable:!0,configurable:!0,writable:!0,value:RENDER_INTEVAL}),Object.defineProperty(Whiteboard,"CMD_SEND_WAIT",{enumerable:!0,configurable:!0,writable:!0,value:100}),Object.defineProperty(Whiteboard,"sdkVersion",{enumerable:!0,configurable:!0,writable:!0,value:version$1}),Object.defineProperty(Whiteboard,"docTranscodeStaicMaxSize",{enumerable:!0,configurable:!0,writable:!0,value:200});var RtcWhiteboard=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$3(this,t,[e.sessionId]),Object.defineProperty(n,"wbManager",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"users",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"joinStatus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"openStatus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"leave",{enumerable:!0,configurable:!0,writable:!0,value:function(){Log.logInfo("RtcWhiteboard.leaveWhiteboard whiteboardId",n.sessionId),n.close(),n.joinStatus="leaving",n.connection.leave(),n.joinStatus="left",n.users=[]}}),Object.defineProperty(n,"stop",{enumerable:!0,configurable:!0,writable:!0,value:function(){Log.logInfo("RtcWhiteboard.stopWhiteboard",n.sessionId),n.connection.stop(),n.reset(),n.joinStatus="left"}}),Object.defineProperty(n,"onReceiveCommand",{enumerable:!0,configurable:!0,writable:!0,value:function(e){try{var t=e.type;if("resource"===t){var r=e.moziMessageIdDTO.messageId;if("activeDoc"===r)Log.logInfo("RtcWhiteboard.onReceiveCommand active",e,n.sessionId),n.docManager.switchActiveDoc(e.message.active);else if("doc"===e.message.resourceType){Log.logInfo("RtcWhiteboard.onReceiveCommand doc",e,n.sessionId),n.docManager.handleDocCommnad(e,n.connection.connectionInfo.pid===e.editor,n.getWrapperDomRect(),n.sizeConfig)}else"vision"===r?n._handleVisionCommand(e):"laserPointer"===e.message.resourceType?n._handleLaserPointerCommand(e):"cursor"===e.message.resourceType?n._handleCoursorCommand(e):"stamp"===e.message.resourceType&&n._handleStampResourceCommand(e)}else"clear"===t?"object"===e.messageType?n._handleClearObj(e):n._handleClearResource(e):"object"===t?n._handleDrawCommand(e):"snapshot"===t&&n._handleSnapshotCommand(e)}catch(t){Log.logError("RtcWhiteboard.onReceiveCommand: Handle command failed: ",e,t,n.sessionId)}}}),n.connection=e,n.users=[],n.connection.on("data-received",(function(e,t,r){try{var i=JSON.parse(e);n.onReceiveCommand(i)}catch(n){Log.logInfo("RtcWhiteboard data-received parse error",e,t,r)}})),n.connection.on("status-sync",(function(){n._innerEventhub.emit("syncCompleted")})),n.connection.on("user-join",(function(e){n.users.some((function(t){return t.userId===e}))||(n.users.push({userId:e}),n.emit("user-join",e))})),n.connection.on("user-leave",(function(e){var t=n.users.findIndex((function(t){return t.userId===e}));t>-1&&(n.users.splice(t,1),n.emit("user-leave",e))})),n.joinStatus="init",n.openStatus="init",n}return _inherits$1(t,Whiteboard),_createClass$1(t,[{key:"isConnected",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.isConnected)||!1}},{key:"open",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark((function e(r){var n,i;return _regeneratorRuntime$1.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=this.openStatus,this.openStatus="opening",Log.logInfo("RtcWhiteboard.open",this.sessionId),this.isConnected){e.next=7;break}return Log.logInfo("RtcWhiteboard.open wb session not connected, will join session",this.sessionId),this.openStatus=n,e.abrupt("return");case 7:return e.prev=7,e.next=10,this.joinSession();case 10:e.next=16;break;case 12:return e.prev=12,e.t0=e.catch(7),this.openStatus=n,e.abrupt("return",Promise.reject(e.t0));case 16:return i=_superPropGet(t,"open",this)([r]),this.openStatus="opened",e.abrupt("return",i);case 19:case"end":return e.stop()}}),e,this,[[7,12]])}))),function(e){return r.apply(this,arguments)})},{key:"close",value:function(){if("closed"!==this.openStatus){this.openStatus="closing";var e=_superPropGet(t,"close",this)([]);return this.openStatus="closed",e}Log.logInfo("RtcWhiteboard.close already closed, directly resolve",this.sessionId)}},{key:"joinSession",value:function(){var e=this;if("joined"===this.joinStatus)return Log.logInfo("RtcWhiteboard.joinSession already joined, directly resolve",this.sessionId),Promise.resolve(!0);var t=this.joinStatus;return this.joinStatus="joining",this.connection.joinSession().then((function(){var t;e.joinStatus="joined",null===(t=e.connection.session)||void 0===t||t.nodeMap.nodesInfo.forEach((function(t){-1===e.users.findIndex((function(e){return e.userId===t.uid}))&&e.users.push({userId:t.uid})}))})).catch((function(r){return e.joinStatus=t,Promise.reject(r)}))}},{key:"_handleSnapshotCommand",value:function(e){var t,r=this;Log.logInfo("RtcWhiteboard._handleSnapshotCommand",e,this.sessionId),e.start&&Log.logInfo("RtcWhiteboard._handleSnapshotCommand start"),e.objects.forEach((function(e){"activeDoc"!==e.moziMessageIdDTO.messageId?r.onReceiveCommand(e):t=e})),t&&this.onReceiveCommand(t),e.end&&Log.logInfo("RtcWhiteboard._handleSnapshotCommand end")}},{key:"_handleCoursorCommand",value:function(e){if(e.moziMessageIdDTO.userDTO.userId!==this.userId){Log.logDebug("RtcWhiteboard._handleCoursorCommand",e,this.sessionId);var t=find(this.cursors,{shapeId:e.moziMessageIdDTO.messageId}),r=parseInt(e.message.x),n=parseInt(e.message.y),i=num2rgba(parseInt(e.message.color));if(t)t.updateCursor(r,n,i,e.message.type);else{var o=new Cursor({points:[{x:r,y:n},{x:r,y:n}],shapeId:e.moziMessageIdDTO.messageId,creator:e.moziMessageIdDTO.userDTO.userId},e.message.name,e.message.type,i);this.cursors.push(o),this._hookShapeRenderRequest(o)}}}},{key:"_handleClearResource",value:function(e){var t=this;Log.logInfo("RtcWhiteboard._handleClearResource",e,this.sessionId);var r=e.resourceType;e.clearedMessageIds.map((function(e){var t=JSON.parse(e);return{messageId:t.messageId,userId:t.userDTO.userId}})).forEach((function(e){var n,i=e.messageId,o=e.userId;if("vision"===r)t.emit("user-vision-share-stop",o),o===(null===(n=t._visionLockInfo)||void 0===n?void 0:n.userId)&&(t._visionLockInfo=void 0,t._lockVisonUserId="",t.stopFollowVision());else if("cursor"===r)t.cursors.splice(findIndex(t.cursors,{shapeId:i,creator:o},1));else if("laserPointer"===r)t.laserPointers=t.laserPointers.filter((function(e){return e.creator!==o}));else if("doc"===r){var a=t.docManager.getDocByDocId(i);if(!a||a.docId!==i)return;a.docId===t.docManager.activeDocId&&t.docManager.switchActiveDoc(DEFAULT_DOC_ID),t.docManager.deleteDoc(a)}})),this.render()}},{key:"_handleClearObj",value:function(e){var t=this;Log.logInfo("RtcWhiteboard._handleClearObj",e,this.sessionId),e.clearedMessageIds.map((function(e){var t=JSON.parse(e);return{shapeSeq:t.messageId,userId:t.userDTO.userId}})).forEach((function(e){var r=e.shapeSeq,n=e.userId;t.docManager.getDocs().forEach((function(e){for(var t=0;e.totalPages>t;t++)e.getPageAtIndex(t).removeShape(seqIdToShapeId(r,n))}))})),this.render()}},{key:"_handleStampResourceCommand",value:function(e){Log.logInfo("RtcWhiteboard._handleStampResourceCommand",e);var t=e.moziMessageIdDTO.messageId;Stamp.stampResourceCache.get(t)?Stamp.stampResourceCache.setServerCache(t):e.message.url&&(Stamp.stampResourceCache.cache(t,e.message.url,"1"===e.message.resizable),Stamp.stampResourceCache.setServerCache(t))}},{key:"_handleLaserPointerCommand",value:function(e){var t=e.moziMessageIdDTO.userDTO.userId;if(t!==this.userId){var r=e.moziMessageIdDTO.messageId,n=seqIdToShapeId(r,t),i=parseInt(e.message.x),o=parseInt(e.message.y),a=find(this.laserPointers,(function(e){return e.shapeId===n}));a?a.points=[{x:i,y:o},{x:i,y:o}]:(a=new LaserPointer([{x:i,y:o},{x:i,y:o}],seqIdToShapeId(r,t),t),this._hookShapeRenderRequest(a),this.laserPointers.push(a))}}},{key:"_handleVisionCommand",value:function(e){if(e.moziMessageIdDTO.userDTO.userId!==this.userId){var t=parseInt(e.message.width),r=parseInt(e.message.height),n=e.moziMessageIdDTO.userDTO.userId;this._visionLockInfo={width:t,height:r,minx:parseInt(e.message.minx),miny:parseInt(e.message.miny),userId:n},this.bSharingVision&&n!==this.userId&&(this.bSharingVision=!1,this.emit("vision-lock-stop")),this._lockVisonUserId!==n&&(this._lockVisonUserId=n,Log.logInfo("RtcWhiteboard._handleVisionCommand userVisionShareStart",e,this.sessionId),this.emit("user-vision-share-start",n)),this.isWhiteboardOpen&&(t>0&&r>0?this._bFollowVision&&this.followVision(this._visionLockInfo):Log.logError("RtcWhiteboard._handleVisionCommand: ","width or height is minus, won't handle this",this.sessionId))}else this._lockVisonUserId=this.userId}},{key:"_handleDrawCommand",value:function(e){var t=this;Log.logDebug("RtcWhiteboard.handleDrawCommand: ",e,this.sessionId);var r=e.message,n=e.moziMessageIdDTO.userDTO.userId;if(e.editor!==this.connection.connectionInfo.pid||r.shape===ShapeType.Image&&"bg"===r.order){var i=r.pageId,o=r.order,a=void 0===o?ShapeOrderType.normal:o,s=r.text,c=r.data,l=r.style,u=r.font,d=r.image,p=r.video,h=r.audio,f=r.shape,g=this.docManager.getDocByPageId(i),y=null==g?void 0:g.getPageByPageId(i);if(y&&g){var v=g.getPageIndexByPageId(i),m=e.moziMessageIdDTO.messageId,b=seqIdToShapeId(m,n),S=y.getShapeBySeq(m,n);if(!S){Log.logInfo("RtcWhiteboard.handleDrawCommand: local shape not found, will create new shape.");var _=c&&numArr2points(c),w=generateShapeStyle(l?JSON.parse(l):void 0);if(!_||!_.length)return void Log.logWarn("RtcWhiteboard.handleDrawCommand: no point data when create a new shape!");if(f===ShapeType.Pen)S=new Pen({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Line)S=new Line({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Rect)S=new Rect({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Ellipse)S=new Ellipse({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Triangle)S=new Triangle({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Rhombic)S=new Rhombic({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Arrow)S=new Arrow({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Video){var I=JSON.parse(p||"");S=new Video({points:_,shapeId:b,creator:n,pageId:i},I.url),this.setMediaShapeCallback(S)}else if(f===ShapeType.Stamp){var E=JSON.parse(d||"").url,T=Stamp.stampResourceCache.get(E);T?S=new Stamp({points:_,shapeId:b,creator:n,pageId:i},E,T.resizable,T.url):Log.logError("RtcWhiteboard.handleDrawCommand: stamp resource cache not found!",E,this.sessionId)}else if(f===ShapeType.Audio){var O=JSON.parse(h||"");S=new Audio({points:_,shapeId:b,creator:n,pageId:i},O.url),this.setMediaShapeCallback(S)}else if(f===ShapeType.Text){var C=JSON.parse(u||"{}"),P=generateShapeFont(JSON.parse(u||"{}")),R=generateShapeStyle({fillcolor:C.color,filltype:ShapeFillType.color,linecolor:C.color,linewidth:1});S=new Text({points:_,shapeId:b,creator:n,pageId:i},R,s,P)}else if(f===ShapeType.Image){var k=JSON.parse(d||"").url;(S=new Image$1({points:_,shapeId:b,creator:n,pageId:i},k)).order=a,S.loadImage().then((function(e){if(0===S.points[1].y||0===S.points[1].x){var r=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight);t.updateBgImgPosition(S,r.imgWidth,r.imgHeight),n===t.userId&&(Log.logInfo("RtcWhiteboard.handleDrawCommand: resend shape data because bg image width or height is 0",t.sessionId),t.sendDrawCmd(S,"draw"))}"bg"===S.order&&(y.backgroundImage=S,t._bFollowVision||g.scaleBoardFitBackgroundImage(y,t.getWrapperDomRect(),t.bgScaleMode),t.emit("background-image-updated",g.docId,v,k))})).catch((function(){Log.logError("image load failed when handle draw command")}))}else f===ShapeType.Brush&&(S=new Eraser({points:_,shapeId:b,creator:n,pageId:i},w));if(!S)return void Log.logError("RtcWhiteboard.handleDrawCommand: no shape created!");S instanceof Image$1&&"bg"===S.order||y.addShape(S)}if(r.rgn){var x=numArr2points(r.rgn);if(S instanceof Line||S instanceof Arrow)S.points=x;else{var A={x:(x[0].x+x[1].x)/2,y:(x[0].y+x[1].y)/2};S.onMoveStart(),S.onMoveEnd(A.x-S.center.x,A.y-S.center.y),S.storeTransformStartPoints();var D=S.rngReverse,N=D.xReversed,L=D.yReversed,j=x[0].x-x[1].x>0,M=x[0].y-x[1].y>0,$=Math.abs((x[0].x-x[1].x)/(S.minx-S.maxx)),B=Math.abs((x[0].y-x[1].y)/(S.miny-S.maxy));S.resizeByRatio(N&&j||!N&&!j?$:-$,L&&M||!L&&!M?B:-B)}}else{var U=r.order,F=void 0===U?S.order||ShapeOrderType.normal:U,z=r.orderTime,V=r.text,W=r.data,H=r.visible,q=r.style,G=r.font,Y=r.image,K=r.video,J=r.audio,X=W&&numArr2points(W),Z=generateShapeStyle(q?JSON.parse(q):void 0);if(S.points=X||S.points,S instanceof DrawableShape&&(S.shapeStyle=Z||S.shapeStyle),S instanceof Text&&(S.fontStyle=G&&generateShapeFont(JSON.parse(G))||S.fontStyle,S.text=V||S.text),S instanceof Image$1){var Q=JSON.parse(Y||"").url;S.order=F,Q!==S.imgUrl&&(S.imgUrl=Q,S.loadImage().then((function(e){if(0===S.points[1].y||0===S.points[1].x){var r=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight);t.updateBgImgPosition(S,r.imgWidth,r.imgHeight),n===t.userId&&(Log.logInfo("RtcWhiteboard.handleDrawCommand: resend shape data because bg image width or height is 0",t.sessionId),t.sendDrawCmd(S,"draw"))}"bg"===S.order&&(t._bFollowVision||g.scaleBoardFitBackgroundImage(y,t.getWrapperDomRect(),t.bgScaleMode),t.emit("background-image-updated",g.docId,v,Q))})).catch((function(){Log.logError("image load failed when handle draw command")})))}if(S instanceof MediaShape){var ee=JSON.parse(K||J||""),te=ee.time,re=ee.isPlaying,ne=ee.repeatPlay;void 0!==te&&(Math.abs(te-S.mediaElement.currentTime)>1||S.mediaElement.paused!==!re||ne!==S.repeatPlay?(S.mediaElement.currentTime=te,S.repeatPlay=ne,re?S.mediaElement.play().catch((function(){Log.logError("mediaElement play failed when handle draw command")})):S.mediaElement.pause()):Log.logInfo("RtcWhiteboard.ignore meida sync",e,{time:S.mediaElement.currentTime,isPlaying:!S.mediaElement.paused,repeatPlay:S.repeatPlay},this.sessionId))}if(H===ShapeVisibleType.invisible||H===ShapeVisibleType.visible){var ie=H===ShapeVisibleType.visible;S.visible!==ie&&(S.visible=ie)}S.order=F,S.orderTime=new Date(z||Date.now()).getTime(),y.updateShapesOrder()}}else Log.logError("RtcWhiteboard.handleDrawCommand: page not found!",i,this.sessionId)}}}]);var r}();function ownKeys$1(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$1(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$1(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$1(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$2(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$2()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$2(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$2=function(){return!!e})()}var ISession=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$2(this,t,arguments),Object.defineProperty(e,"clearCursorTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"generateBaseMessage",value:function(e,t,r){return{type:"resource",editor:this.connectionInfo.pid,operationTime:Date.now(),version:-1,messageSettingsDTO:{autoDelete:t},moziMessageIdDTO:{channelId:this.connectionInfo.sessionId,messageId:e,userDTO:{appId:this.connectionInfo.appId,userId:r}}}}},{key:"sendDocResourceMessage",value:function(e,t,r){var n,i,o,a=e.browseMode===DocBrowserMode.scroll,s=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e.docId,!1,e.creator)),{},{type:"resource",message:{resourceType:"doc",docType:e.type,creator:"".concat(e.creator,"@").concat(this.connectionInfo.appId),curpage:t||e.currentPage.pageId,fileKey:e.fileKey||e.docId,maxSeq:""+e.maxSeq,name:e.name,pagelist:(r||e.getPages().map((function(e){return e.pageId}))).join(" "),width:a?null===(n=e.width)||void 0===n?void 0:""+n:void 0,height:a?null===(i=e.scrollPageHeight)||void 0===i?void 0:""+i:void 0,pageNum:a?"".concat(e.currentPageIndex+1):void 0,y:a?null===(o=e.y)||void 0===o?void 0:""+o:void 0,url:e.url||void 0,download:e.url||void 0}});return Log.logInfo("IConnection.sendDocResourceMessage",s),this.sendData(JSON.stringify(s),!0,!0)}},{key:"sendCreateDocResourceMessage",value:function(e,t,r,n,i){var o=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e,!1,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"doc",creator:"".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId),curpage:"".concat(e,"-1"),fileKey:e,maxSeq:""+(t+1),name:r,docType:DocType.normal,pagelist:Array(t).fill(e).map((function(t,r){return"".concat(e,"-").concat(r+1)})).join(" "),width:null==n?void 0:""+n,height:null==i?void 0:""+i}});return Log.logInfo("IConnection.sendCreateDocResourceMessage",o),this.sendData(JSON.stringify(o),!0,!0)}},{key:"sendCreatePdfDocResourceMessage",value:function(e,t,r,n){var i=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e,!1,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"doc",docType:DocType.pdf,creator:"".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId),curpage:"".concat(e,"-1"),fileKey:n||e,maxSeq:"1",name:t,pagelist:"".concat(e,"-1"),url:r,download:r,y:"0",pageNum:"1"}});return Log.logInfo("IConnection.sendCreatePdfDocResourceMessage",i),this.sendData(JSON.stringify(i),!0,!0)}},{key:"sendActiveDocResourceMessage",value:function(e){var t=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("active",!1,this.connectionInfo.userId)),{},{type:"resource",moziMessageIdDTO:{channelId:this.connectionInfo.sessionId,messageId:"activeDoc",userDTO:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}},message:{resourceType:"active",active:e}});return Log.logInfo("IConnection.sendActiveDocResourceMessage",t),this.sendData(JSON.stringify(t),!0,!0)}},{key:"sendShapeDrawMessage",value:function(e){var t=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e.shapeSeq,!1,e.creator)),{},{type:"object",message:e.genDrawMsg(this.connectionInfo.userName)});return Log.logDebug("IConnection.sendShapeDrawMessage",t),this.sendData(JSON.stringify(t),!0,!0)}},{key:"sendShapeRgnMessage",value:function(e){var t=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e.shapeSeq,!1,e.creator)),{},{type:"object",message:e.genRgnMsg(this.connectionInfo.userName)});return Log.logDebug("IConnection.sendShapeRgnMessage",t),this.sendData(JSON.stringify(t),!1,!0)}},{key:"sendLaserPointerMsg",value:function(e,t){var r=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId,"-laserPointer"),!0,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"laserPointer",x:""+e,y:""+t}});return this.sendData(JSON.stringify(r),!0,!0)}},{key:"sendStampMsg",value:function(e,t,r){var n=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("stamp-".concat(e),!1,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"stamp",url:t,data:"",resizable:r?"1":"0"}});return Log.logInfo("IConnection.sendStampMsg",n),this.sendData(JSON.stringify(n),!0,!0)}},{key:"sendCursorMsg",value:function(e,t,r,n){var i=this,o="".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId,"-cursor"),a=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(o,!0,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"cursor",name:this.connectionInfo.userName,x:""+e,y:""+t,color:""+rgba2num(r),type:n}});return this.clearCursorTimer&&clearTimeout(this.clearCursorTimer),this.clearCursorTimer=window.setTimeout((function(){i.sendClearResourceMsg("cursor",[o])}),3e3),this.sendData(JSON.stringify(a),!0,!0)}},{key:"sendVisionResourceMsg",value:function(e,t,r,n){var i=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("vision",!1,this.connectionInfo.userId)),{},{type:"resource",moziMessageIdDTO:{channelId:this.connectionInfo.sessionId,messageId:"vision",userDTO:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}},message:{resourceType:"vision",name:this.connectionInfo.userName,height:""+t,minx:""+r,miny:""+n,width:""+e}});return this.sendData(JSON.stringify(i),!0,!0)}},{key:"sendClearResourceMsg",value:function(e,t){var r=this,n={type:"clear",channelId:this.connectionInfo.sessionId,clearSubType:"specific",clearType:"specific",resourceType:e,clearedMessageIds:t.map((function(e){return JSON.stringify({channelId:r.connectionInfo.sessionId,messageId:e,userDTO:{appId:r.connectionInfo.appId,userId:r.connectionInfo.userId}})})),messageType:"resource",operator:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}};return Log.logInfo("IConnection.sendClearResourceMsg",n),this.sendData(JSON.stringify(n),!0,!0)}},{key:"sendClearDrawMsg",value:function(e){var t=this,r={type:"clear",channelId:this.connectionInfo.sessionId,clearSubType:"specific",clearType:"specific",clearedMessageIds:e.map((function(e){return JSON.stringify({channelId:t.connectionInfo.sessionId,messageId:e.seq,userDTO:{appId:t.connectionInfo.appId,userId:e.userId}})})),messageType:"object",operator:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}};return Log.logInfo("IConnection.sendClearDrawMsg",r),this.sendData(JSON.stringify(r),!0,!0)}}])}();function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$1(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$1()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$1(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$1=function(){return!!e})()}var WebSession=function(e){function t(e,r){var n,i,o;return _classCallCheck$1(this,t),o=_callSuper$1(this,t),Object.defineProperty(o,"session",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(o,"wbManager",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(o,"onReceiveUserUpdate",{enumerable:!0,configurable:!0,writable:!0,value:function(e){Log.logInfo("WebSession.onReceiveUserUpdate",e)}}),Object.defineProperty(o,"onReceiveCmdData",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,r,n,i,a){Log.logInfo("WebSession.onReceiveCmdData",{from_pid:e,cmdType:t,cmd:r,data:n,broadcast:i,reqId:a}),o.emit("cmd-received",e,t,r,n,i,a)}}),Object.defineProperty(o,"onReceiveData",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,r){o.emit("data-received",t,e,r)}}),Object.defineProperty(o,"leave",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;Log.logInfo("WebSession.leaveWhiteboard whiteboardId",o.sessionId),null===(e=o.session)||void 0===e||e.leave()}}),Object.defineProperty(o,"stop",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;Log.logInfo("WebSession.stopWhiteboard",o.sessionId);var t=null===(e=o.session)||void 0===e?void 0:e.close();null==t||t.then((function(){Log.logInfo("WebSession.stopWhiteboard closed",o.sessionId)}),(function(){Log.logError("WebSession.stopWhiteboard error",o.sessionId)}))}}),Object.defineProperty(o,"sendData",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t;null===(t=o.session)||void 0===t||t.sendMessage({echo:arguments.length>1&&void 0!==arguments[1]&&arguments[1],message:e})}}),null===(n=o.session)||void 0===n||n.on("message",(function(e){e.cmdType?o.onReceiveCmdData(e.pid,e.cmdType,e.cmd,e.message,e.broadcast,e.requestId):o.onReceiveData(e.pid,e.message,e.broadcast)})),null===(i=o.session)||void 0===i||i.on("user-update",o.onReceiveUserUpdate),o}return _inherits$1(t,ISession),_createClass$1(t,[{key:"sessionId",get:function(){return this.session.id}},{key:"isConnected",get:function(){var e;return(null===(e=this.wbManager)||void 0===e?void 0:e.isConnected)||!1}},{key:"connectionInfo",get:function(){return _objectSpread({sessionId:this.sessionId},this.wbManager.connectionInfo)}},{key:"joinSession",value:function(){var e;return Log.logInfo("WebSession.joinSession",this.sessionId),null===(e=this.session)||void 0===e?void 0:e.join()}}])}(),name="dingrtc-monorepo",version="3.0.0",description="dingRTC mono repo",scripts={changed:"lerna changed",version:"lerna version --no-private --preid=beta","version-beta":"lerna version prerelease --preid=beta",build:"lerna run build",eslint:"eslint --ext .js,.ts ./","eslint:fix":"npm run eslint -- --fix",test:"NODE_TLS_REJECT_UNAUTHORIZED=0 vitest run","test:rtm":"npm run test --project rtm","test:channel":"npm run test --project channel","pub:whiteboard":"tnpm -C apps/whiteboard run build"},devDependencies={"@applint/spec":"^1.2.3","@babel/core":"^7.22.8","@babel/plugin-transform-async-to-generator":"^7.8.3","@babel/plugin-transform-runtime":"^7.22.10","@babel/preset-env":"^7.22.14","@babel/preset-react":"^7.22.15","@babel/preset-typescript":"^7.23.3","@babel/runtime":"^7.12.1","@dingrtc/channel":"workspace:*","@dingrtc/shared":"workspace:*","@playwright/test":"^1.39.0","@rollup/plugin-alias":"^5.1.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3","@rollup/plugin-replace":"^6.0.2","@rollup/plugin-terser":"^0.4.4","@swc/helpers":"^0.5.1","@types/crypto-js":"^4.2.1","@types/node":"^20.8.9","@types/pako":"^2.0.3","@types/sdp-transform":"^2.4.9","ali-oss":"^6.22.0",babelify:"^10.0.0",chai:"^4.3.3","chai-as-promised":"^7.1.1","clean-package":"^2.2.0","create-playwright":"^1.17.130","cross-env":"^7.0.3",eslint:"8.57.0","eslint-config-google":"^0.11.0","eslint-config-prettier":"^7.2.0","eslint-config-webrtc":"^1.0.0","eslint-import-resolver-typescript":"^3.6.1","eslint-plugin-prettier":"^5.0.1",execa:"^9.5.2",husky:"^8.0.0","lint-staged":"14.0.1",mocha:"^10.0.0","pre-push":"^0.1.4",prettier:"^3.0.3",rollup:"^4.24.3","rollup-plugin-clear":"^2.0.7","rollup-plugin-dts":"^6.1.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.36.0","rollup-plugin-visualizer":"^5.12.0",sinon:"^7.5.0",stylelint:"^15.0.0",typescript:"5.7.3",vitest:"^2.1.8","vue-template-compiler":"^2.7.16",vuepress:"^1.9.10",ws:"^8.18.0","rollup-plugin-postcss":"^4.0.2"},overrides={"grunt-jsdoc":{jsdoc:"^4.0.0"},"ink-docstrap":{"sanitize-html":"^2.3.2"}},workspaces={packages:["apps/*"]},license="MIT",publishConfig={registry:"https://registry.anpm.alibaba-inc.com"},repository="git@gitlab.alibaba-inc.com:dingtalk-iot/oneRTC.git",pnpm={overrides:{channel:"link:../../Library/pnpm/global/5/node_modules/@dingrtc/channel"}},dependencies={"@types/hammerjs":"^2.0.46",axios:"^0.24.0",channel:"link:../../Library/pnpm/global/5/node_modules/@dingrtc/channel","crypto-js":"^4.2.0",hammerjs:"^2.0.8","lodash-es":"^4.17.21","pdfjs-dist":"^2.16.105"},pkg={name:name,version:version,description:description,scripts:scripts,"lint-staged":{"*.{ts,tsx,json,js,jsx}":["eslint --fix","prettier --write"],"*.{less,css}":["stylelint --fix"]},devDependencies:devDependencies,overrides:overrides,workspaces:workspaces,private:!0,license:license,publishConfig:publishConfig,repository:repository,pnpm:pnpm,dependencies:dependencies};function _callSuper(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct=function(){return!!e})()}var WhiteboardManager=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper(this,t),Object.defineProperty(e,"id",{enumerable:!0,configurable:!0,writable:!0,value:createUuid()}),Object.defineProperty(e,"whiteboardMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"channel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"gslb",get:function(){var e;return(null===(e=this.channel)||void 0===e?void 0:e.gslb)||getGslb()}},{key:"getWhiteboard",value:function(e){if((null==e?void 0:e.length)>64||SESSIONID_REGEXP.test(e))throw new DingRTCError(ErrorCode.InvaildArgument,"invalid whiteboardId");var t=this.whiteboardMap.get(e);if(!t){var r=new WebSession(this.channel.dataSwitcher.getSession(We.WHITEBOARD,e),this);t=new RtcWhiteboard(r,this),this.whiteboardMap.set(e,t)}return t}},{key:"getAnnotation",value:function(e,t){if((null==e?void 0:e.length)>64||SESSIONID_REGEXP.test(e))throw new DingRTCError(ErrorCode.InvaildArgument,"invalid annotationId");if(!["video","share","external"].includes(t))throw new DingRTCError(ErrorCode.InvaildArgument,"invalid source type");var r="".concat(ANNOTATION_PREFIX,"#").concat(t,"#").concat(e),n=this.whiteboardMap.get(r);if(!n){var i=new WebSession(this.channel.dataSwitcher.getSession(We.WHITEBOARD,r),this);n=new RtcWhiteboard(i,this),this.whiteboardMap.set(r,n)}return n}},{key:"connectionInfo",get:function(){var e,t,r,n,i,o,a;return{userId:null===(e=this.channel)||void 0===e||null===(e=e.joinInfo)||void 0===e?void 0:e.uid,userName:null===(t=this.channel)||void 0===t||null===(t=t.joinInfo)||void 0===t?void 0:t.userName,channelId:null===(r=this.channel)||void 0===r||null===(r=r.joinInfo)||void 0===r?void 0:r.channel,token:null===(n=this.channel)||void 0===n||null===(n=n.joinInfo)||void 0===n?void 0:n.token,appId:null===(i=this.channel)||void 0===i||null===(i=i.joinInfo)||void 0===i?void 0:i.appId,pid:null===(o=this.channel)||void 0===o||null===(o=o.userManager)||void 0===o?void 0:o.currentPid,securityToken:null===(a=this.channel)||void 0===a||null===(a=a.securityToken)||void 0===a?void 0:a.securityToken,gslb:this.gslb||getGslb()}}},{key:"detach",value:function(){}},{key:"attach",value:function(e){this.setupChannel(e),Log.logInfo("WhiteboardManager.attach")}},{key:"isConnected",get:function(){var e;return"connected"===(null===(e=this.channel)||void 0===e?void 0:e.connectionState)}},{key:"setupChannel",value:function(e){var t=this;Log.attach(e.reporter),this.channel=e,this.channel.on("connection-state-change",(function(e,r,n){Log.logInfo("WebConnection on connection-state-change",{currentState:e,prevState:r,reason:n}),t.emit("connection-state-change",e,r,n)})),this.channel.dataSwitcher.on("sessionCreate",(function(e){var r=e.id;if(e.type===We.WHITEBOARD)if(r.includes(ANNOTATION_PREFIX)){var n=_slicedToArray(r.split("#").slice(2),2);t.emit("annotation-start",n[1],n[0])}else t.emit("whiteboard-start",r)})),this.channel.dataSwitcher.on("sessionClose",(function(e){var r=e.id;if(e.type===We.WHITEBOARD)if(r.includes(ANNOTATION_PREFIX)){var n=_slicedToArray(r.split("#").slice(2),2);t.emit("annotation-stop",n[1],n[0])}else t.emit("whiteboard-stop",r)}))}},{key:"join",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark((function e(t){return _regeneratorRuntime$1.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.reporter=registerReporter(this.id),this.setupChannel(new pt({reporter:this.reporter,sdkVersion:pkg.version,scene:"whiteboard"})),Log.logInfo("WebConnection.join",t),e.next=5,this.channel.join(t);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"leave",value:function(){Log.logInfo("WhiteboardManager.leave",this.connectionInfo),this.channel.leave(),this.whiteboardMap.clear()}},{key:"clear",value:function(){Log.logInfo("WhiteboardManager.reset"),this.whiteboardMap.clear()}}]);var r}();export{RtcWhiteboard,ShapeFillType,ShapeFontFormatType,ShapeLineType,ShapeOrderType,ShapeVisibleType,ShapeType as ToolType,WBClearType,Whiteboard,WhiteboardManager,WhiteboardManager as default};
32
+ !function(e){!function(t,r,n,i){var o,a=["","webkit","Moz","MS","ms","o"],s=r.createElement("div"),c=Math.round,l=Math.abs,u=Date.now;function d(e,t,r){return setTimeout(m(e,r),t)}function p(e,t,r){return!!Array.isArray(e)&&(h(e,r[t],r),!0)}function h(e,t,r){var n;if(e)if(e.forEach)e.forEach(t,r);else if(e.length!==i)for(n=0;e.length>n;)t.call(r,e[n],n,e),n++;else for(n in e)e.hasOwnProperty(n)&&t.call(r,e[n],n,e)}function f(e,r,n){var i="DEPRECATED METHOD: "+r+"\n"+n+" AT \n";return function(){var r=Error("get-stack-trace"),n=r&&r.stack?r.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=t.console&&(t.console.warn||t.console.log);return o&&o.call(t.console,i,n),e.apply(this,arguments)}}o="function"!=typeof Object.assign?function(e){if(e===i||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;arguments.length>r;r++){var n=arguments[r];if(n!==i&&null!==n)for(var o in n)n.hasOwnProperty(o)&&(t[o]=n[o])}return t}:Object.assign;var g=f((function(e,t,r){for(var n=Object.keys(t),o=0;n.length>o;)(!r||r&&e[n[o]]===i)&&(e[n[o]]=t[n[o]]),o++;return e}),"extend","Use `assign`."),y=f((function(e,t){return g(e,t,!0)}),"merge","Use `assign`.");function v(e,t,r){var n,i=t.prototype;(n=e.prototype=Object.create(i)).constructor=e,n._super=i,r&&o(n,r)}function m(e,t){return function(){return e.apply(t,arguments)}}function b(e,t){return"function"==typeof e?e.apply(t&&t[0]||i,t):e}function S(e,t){return e===i?t:e}function _(e,t,r){h(T(t),(function(t){e.addEventListener(t,r,!1)}))}function w(e,t,r){h(T(t),(function(t){e.removeEventListener(t,r,!1)}))}function I(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function E(e,t){return e.indexOf(t)>-1}function T(e){return e.trim().split(/\s+/g)}function O(e,t,r){if(e.indexOf&&!r)return e.indexOf(t);for(var n=0;e.length>n;){if(r&&e[n][r]==t||!r&&e[n]===t)return n;n++}return-1}function C(e){return Array.prototype.slice.call(e,0)}function P(e,t,r){for(var n=[],i=[],o=0;e.length>o;){var a=e[o][t];0>O(i,a)&&n.push(e[o]),i[o]=a,o++}return n=n.sort((function(e,r){return e[t]>r[t]}))}function R(e,t){for(var r,n,o=t[0].toUpperCase()+t.slice(1),s=0;a.length>s;){if((n=(r=a[s])?r+o:t)in e)return n;s++}return i}var k=1;function x(e){var r=e.ownerDocument||e;return r.defaultView||r.parentWindow||t}var A="ontouchstart"in t,D=R(t,"PointerEvent")!==i,N=A&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),L="touch",j="mouse",M=24,$=["x","y"],B=["clientX","clientY"];function U(e,t){var r=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){b(e.options.enable,[e])&&r.handler(t)},this.init()}function F(e,t,r){var n=r.pointers.length,o=r.changedPointers.length,a=1&t&&n-o==0,s=12&t&&n-o==0;r.isFirst=!!a,r.isFinal=!!s,a&&(e.session={}),r.eventType=t,function(e,t){var r=e.session,n=t.pointers,o=n.length;r.firstInput||(r.firstInput=z(t));o>1&&!r.firstMultiple?r.firstMultiple=z(t):1===o&&(r.firstMultiple=!1);var a=r.firstInput,s=r.firstMultiple,c=s?s.center:a.center,d=t.center=V(n);t.timeStamp=u(),t.deltaTime=t.timeStamp-a.timeStamp,t.angle=G(c,d),t.distance=q(c,d),function(e,t){var r=t.center,n=e.offsetDelta||{},i=e.prevDelta||{},o=e.prevInput||{};1!==t.eventType&&4!==o.eventType||(i=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=e.offsetDelta={x:r.x,y:r.y});t.deltaX=i.x+(r.x-n.x),t.deltaY=i.y+(r.y-n.y)}(r,t),t.offsetDirection=H(t.deltaX,t.deltaY);var p=W(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=p.x,t.overallVelocityY=p.y,t.overallVelocity=l(p.x)>l(p.y)?p.x:p.y,t.scale=s?(h=s.pointers,f=n,q(f[0],f[1],B)/q(h[0],h[1],B)):1,t.rotation=s?function(e,t){return G(t[1],t[0],B)+G(e[1],e[0],B)}(s.pointers,n):0,t.maxPointers=r.prevInput?t.pointers.length>r.prevInput.maxPointers?t.pointers.length:r.prevInput.maxPointers:t.pointers.length,function(e,t){var r,n,o,a,s=e.lastInterval||t,c=t.timeStamp-s.timeStamp;if(8==t.eventType||c<=25&&s.velocity!==i)r=s.velocity,n=s.velocityX,o=s.velocityY,a=s.direction;else{var u=t.deltaX-s.deltaX,d=t.deltaY-s.deltaY,p=W(c,u,d);n=p.x,o=p.y,r=l(p.x)>l(p.y)?p.x:p.y,a=H(u,d),e.lastInterval=t}t.velocity=r,t.velocityX=n,t.velocityY=o,t.direction=a}(r,t);var h,f;var g=e.element;I(t.srcEvent.target,g)&&(g=t.srcEvent.target);t.target=g}(e,r),e.emit("hammer.input",r),e.recognize(r),e.session.prevInput=r}function z(e){for(var t=[],r=0;e.pointers.length>r;)t[r]={clientX:c(e.pointers[r].clientX),clientY:c(e.pointers[r].clientY)},r++;return{timeStamp:u(),pointers:t,center:V(t),deltaX:e.deltaX,deltaY:e.deltaY}}function V(e){var t=e.length;if(1===t)return{x:c(e[0].clientX),y:c(e[0].clientY)};for(var r=0,n=0,i=0;t>i;)r+=e[i].clientX,n+=e[i].clientY,i++;return{x:c(r/t),y:c(n/t)}}function W(e,t,r){return{x:t/e||0,y:r/e||0}}function H(e,t){return e===t?1:l(e)<l(t)?0>t?8:16:0>e?2:4}function q(e,t,r){r||(r=$);var n=t[r[0]]-e[r[0]],i=t[r[1]]-e[r[1]];return Math.sqrt(n*n+i*i)}function G(e,t,r){return r||(r=$),180*Math.atan2(t[r[1]]-e[r[1]],t[r[0]]-e[r[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&_(this.element,this.evEl,this.domHandler),this.evTarget&&_(this.target,this.evTarget,this.domHandler),this.evWin&&_(x(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&w(this.element,this.evEl,this.domHandler),this.evTarget&&w(this.target,this.evTarget,this.domHandler),this.evWin&&w(x(this.element),this.evWin,this.domHandler)}};var Y={mousedown:1,mousemove:2,mouseup:4},K="mousedown",J="mousemove mouseup";function X(){this.evEl=K,this.evWin=J,this.pressed=!1,U.apply(this,arguments)}v(X,U,{handler:function(e){var t=Y[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:j,srcEvent:e}))}});var Z={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Q={2:L,3:"pen",4:j,5:"kinect"},ee="pointerdown",te="pointermove pointerup pointercancel";function re(){this.evEl=ee,this.evWin=te,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&(ee="MSPointerDown",te="MSPointerMove MSPointerUp MSPointerCancel"),v(re,U,{handler:function(e){var t=this.store,r=!1,n=e.type.toLowerCase().replace("ms",""),i=Z[n],o=Q[e.pointerType]||e.pointerType,a=o==L,s=O(t,e.pointerId,"pointerId");1&i&&(0===e.button||a)?0>s&&(t.push(e),s=t.length-1):12&i&&(r=!0),0>s||(t[s]=e,this.callback(this.manager,i,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),r&&t.splice(s,1))}});var ne={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function ie(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,U.apply(this,arguments)}function oe(e,t){var r=C(e.touches),n=C(e.changedTouches);return 12&t&&(r=P(r.concat(n),"identifier")),[r,n]}v(ie,U,{handler:function(e){var t=ne[e.type];if(1===t&&(this.started=!0),this.started){var r=oe(e,t);12&t&&r[0].length-r[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:r[0],changedPointers:r[1],pointerType:L,srcEvent:e})}}});var ae={touchstart:1,touchmove:2,touchend:4,touchcancel:8},se="touchstart touchmove touchend touchcancel";function ce(){this.evTarget=se,this.targetIds={},U.apply(this,arguments)}function le(e,t){var r=C(e.touches),n=this.targetIds;if(3&t&&1===r.length)return n[r[0].identifier]=!0,[r,r];var i,o,a=C(e.changedTouches),s=[],c=this.target;if(o=r.filter((function(e){return I(e.target,c)})),1===t)for(i=0;o.length>i;)n[o[i].identifier]=!0,i++;for(i=0;a.length>i;)n[a[i].identifier]&&s.push(a[i]),12&t&&delete n[a[i].identifier],i++;return s.length?[P(o.concat(s),"identifier"),s]:void 0}v(ce,U,{handler:function(e){var t=ae[e.type],r=le.call(this,e,t);r&&this.callback(this.manager,t,{pointers:r[0],changedPointers:r[1],pointerType:L,srcEvent:e})}});function ue(){U.apply(this,arguments);var e=m(this.handler,this);this.touch=new ce(this.manager,e),this.mouse=new X(this.manager,e),this.primaryTouch=null,this.lastTouches=[]}function de(e,t){1&e?(this.primaryTouch=t.changedPointers[0].identifier,pe.call(this,t)):12&e&&pe.call(this,t)}function pe(e){var t=e.changedPointers[0];if(t.identifier===this.primaryTouch){var r={x:t.clientX,y:t.clientY};this.lastTouches.push(r);var n=this.lastTouches;setTimeout((function(){var e=n.indexOf(r);e>-1&&n.splice(e,1)}),2500)}}function he(e){for(var t=e.srcEvent.clientX,r=e.srcEvent.clientY,n=0;this.lastTouches.length>n;n++){var i=this.lastTouches[n];if(25>=Math.abs(t-i.x)&&25>=Math.abs(r-i.y))return!0}return!1}v(ue,U,{handler:function(e,t,r){var n=r.pointerType==j;if(!(n&&r.sourceCapabilities&&r.sourceCapabilities.firesTouchEvents)){if(r.pointerType==L)de.call(this,t,r);else if(n&&he.call(this,r))return;this.callback(e,t,r)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var fe=R(s.style,"touchAction"),ge=fe!==i,ye="compute",ve="auto",me="manipulation",be="none",Se="pan-x",_e="pan-y",we=function(){if(!ge)return!1;var e={},r=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){e[n]=!r||t.CSS.supports("touch-action",n)})),e}();function Ie(e,t){this.manager=e,this.set(t)}Ie.prototype={set:function(e){e==ye&&(e=this.compute()),ge&&this.manager.element.style&&we[e]&&(this.manager.element.style[fe]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return h(this.manager.recognizers,(function(t){b(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))})),function(e){if(E(e,be))return be;var t=E(e,Se),r=E(e,_e);if(t&&r)return be;if(t||r)return t?Se:_e;if(E(e,me))return me;return ve}(e.join(" "))},preventDefaults:function(e){var t=e.srcEvent,r=e.offsetDirection;if(this.manager.session.prevented)t.preventDefault();else{var n=this.actions,i=E(n,be)&&!we[be],o=E(n,_e)&&!we[_e],a=E(n,Se)&&!we[Se];if(i)if(1===e.pointers.length&&2>e.distance&&250>e.deltaTime)return;if(!a||!o)return i||o&&6&r||a&&r&M?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var Ee=32;function Te(e){this.options=o({},this.defaults,e||{}),this.id=k++,this.manager=null,this.options.enable=S(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function Oe(e){return 16&e?"cancel":8&e?"end":4&e?"move":2&e?"start":""}function Ce(e){return 16==e?"down":8==e?"up":2==e?"left":4==e?"right":""}function Pe(e,t){var r=t.manager;return r?r.get(e):e}function Re(){Te.apply(this,arguments)}function ke(){Re.apply(this,arguments),this.pX=null,this.pY=null}function xe(){Re.apply(this,arguments)}function Ae(){Te.apply(this,arguments),this._timer=null,this._input=null}function De(){Re.apply(this,arguments)}function Ne(){Re.apply(this,arguments)}function Le(){Te.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function je(e,t){return(t=t||{}).recognizers=S(t.recognizers,je.defaults.preset),new Me(e,t)}Te.prototype={defaults:{},set:function(e){return o(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(p(e,"recognizeWith",this))return this;var t=this.simultaneous;return t[(e=Pe(e,this)).id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return p(e,"dropRecognizeWith",this)||(e=Pe(e,this),delete this.simultaneous[e.id]),this},requireFailure:function(e){if(p(e,"requireFailure",this))return this;var t=this.requireFail;return-1===O(t,e=Pe(e,this))&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(p(e,"dropRequireFailure",this))return this;e=Pe(e,this);var t=O(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,r=this.state;function n(r){t.manager.emit(r,e)}8>r&&n(t.options.event+Oe(r)),n(t.options.event),e.additionalEvent&&n(e.additionalEvent),8>r||n(t.options.event+Oe(r))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=Ee},canEmit:function(){for(var e=0;this.requireFail.length>e;){if(!(33&this.requireFail[e].state))return!1;e++}return!0},recognize:function(e){var t=o({},e);if(!b(this.options.enable,[this,t]))return this.reset(),void(this.state=Ee);56&this.state&&(this.state=1),this.state=this.process(t),30&this.state&&this.tryEmit(t)},process:function(e){},getTouchAction:function(){},reset:function(){}},v(Re,Te,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,r=e.eventType,n=6&t,i=this.attrTest(e);return n&&(8&r||!i)?16|t:n||i?4&r?8|t:2&t?4|t:2:Ee}}),v(ke,Re,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var e=this.options.direction,t=[];return 6&e&&t.push(_e),e&M&&t.push(Se),t},directionTest:function(e){var t=this.options,r=!0,n=e.distance,i=e.direction,o=e.deltaX,a=e.deltaY;return i&t.direction||(6&t.direction?(i=0===o?1:0>o?2:4,r=o!=this.pX,n=Math.abs(e.deltaX)):(i=0===a?1:0>a?8:16,r=a!=this.pY,n=Math.abs(e.deltaY))),e.direction=i,r&&n>t.threshold&&i&t.direction},attrTest:function(e){return Re.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=Ce(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),v(xe,Re,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[be]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){1!==e.scale&&(e.additionalEvent=this.options.event+(1>e.scale?"in":"out"));this._super.emit.call(this,e)}}),v(Ae,Te,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ve]},process:function(e){var t=this.options,r=e.pointers.length===t.pointers,n=t.threshold>e.distance,i=e.deltaTime>t.time;if(this._input=e,!n||!r||12&e.eventType&&!i)this.reset();else if(1&e.eventType)this.reset(),this._timer=d((function(){this.state=8,this.tryEmit()}),t.time,this);else if(4&e.eventType)return 8;return Ee},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=u(),this.manager.emit(this.options.event,this._input)))}}),v(De,Re,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[be]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),v(Ne,Re,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return ke.prototype.getTouchAction.call(this)},attrTest:function(e){var t,r=this.options.direction;return 30&r?t=e.overallVelocity:6&r?t=e.overallVelocityX:r&M&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&r&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&l(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=Ce(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),v(Le,Te,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[me]},process:function(e){var t=this.options,r=e.pointers.length===t.pointers,n=t.threshold>e.distance,i=t.time>e.deltaTime;if(this.reset(),1&e.eventType&&0===this.count)return this.failTimeout();if(n&&i&&r){if(4!=e.eventType)return this.failTimeout();var o=!this.pTime||t.interval>e.timeStamp-this.pTime,a=!this.pCenter||q(this.pCenter,e.center)<t.posThreshold;if(this.pTime=e.timeStamp,this.pCenter=e.center,a&&o?this.count+=1:this.count=1,this._input=e,0===this.count%t.taps)return this.hasRequireFailures()?(this._timer=d((function(){this.state=8,this.tryEmit()}),t.interval,this),2):8}return Ee},failTimeout:function(){return this._timer=d((function(){this.state=Ee}),this.options.interval,this),Ee},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),je.VERSION="2.0.7",je.defaults={domEvents:!1,touchAction:ye,enable:!0,inputTarget:null,inputClass:null,preset:[[De,{enable:!1}],[xe,{enable:!1},["rotate"]],[Ne,{direction:6}],[ke,{direction:6},["swipe"]],[Le],[Le,{event:"doubletap",taps:2},["tap"]],[Ae]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Me(e,t){var r;this.options=o({},je.defaults,t||{}),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=e,this.input=new((r=this).options.inputClass||(D?re:N?ce:A?ue:X))(r,F),this.touchAction=new Ie(this,this.options.touchAction),$e(this,!0),h(this.options.recognizers,(function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])}),this)}function $e(e,t){var r,n=e.element;n.style&&(h(e.options.cssProps,(function(i,o){r=R(n.style,o),t?(e.oldCssProps[r]=n.style[r],n.style[r]=i):n.style[r]=e.oldCssProps[r]||""})),t||(e.oldCssProps={}))}Me.prototype={set:function(e){return o(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?2:1},recognize:function(e){var t=this.session;if(!t.stopped){var r;this.touchAction.preventDefaults(e);var n=this.recognizers,i=t.curRecognizer;(!i||i&&8&i.state)&&(i=t.curRecognizer=null);for(var o=0;n.length>o;)r=n[o],2===t.stopped||i&&r!=i&&!r.canRecognizeWith(i)?r.reset():r.recognize(e),!i&&14&r.state&&(i=t.curRecognizer=r),o++}},get:function(e){if(e instanceof Te)return e;for(var t=this.recognizers,r=0;t.length>r;r++)if(t[r].options.event==e)return t[r];return null},add:function(e){if(p(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(p(e,"remove",this))return this;if(e=this.get(e)){var t=this.recognizers,r=O(t,e);-1!==r&&(t.splice(r,1),this.touchAction.update())}return this},on:function(e,t){if(e!==i&&t!==i){var r=this.handlers;return h(T(e),(function(e){r[e]=r[e]||[],r[e].push(t)})),this}},off:function(e,t){if(e!==i){var r=this.handlers;return h(T(e),(function(e){t?r[e]&&r[e].splice(O(r[e],t),1):delete r[e]})),this}},emit:function(e,t){this.options.domEvents&&function(e,t){var n=r.createEvent("Event");n.initEvent(e,!0,!0),n.gesture=t,t.target.dispatchEvent(n)}(e,t);var n=this.handlers[e]&&this.handlers[e].slice();if(n&&n.length){t.type=e,t.preventDefault=function(){t.srcEvent.preventDefault()};for(var i=0;n.length>i;)n[i](t),i++}},destroy:function(){this.element&&$e(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},o(je,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:Ee,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:M,DIRECTION_ALL:30,Manager:Me,Input:U,TouchAction:Ie,TouchInput:ce,MouseInput:X,PointerEventInput:re,TouchMouseInput:ue,SingleTouchInput:ie,Recognizer:Te,AttrRecognizer:Re,Tap:Le,Pan:ke,Swipe:Ne,Pinch:xe,Rotate:De,Press:Ae,on:_,off:w,each:h,merge:y,extend:g,assign:o,inherit:v,bindFn:m,prefixed:R}),(void 0!==t?t:"undefined"!=typeof self?self:{}).Hammer=je,e.exports?e.exports=je:t.Hammer=je}(window,document)}(hammer);var hammerExports=hammer.exports,Hammer=getDefaultExportFromCjs$1(hammerExports);function styleInject(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===r&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var css_248z$1='.dingrtc-wb-wrapper{height:100%;overflow:hidden;position:relative;width:100%}.dingrtc-wb-wrapper__laser-on audio,.dingrtc-wb-wrapper__laser-on video{pointer-events:none!important}.dingrtc-wb-wrapper__drag-on{cursor:grab!important}.dingrtc-wb-wrapper__draging{cursor:grabbing!important}.dingrtc-wb-wrapper .dingrtc-pdf-viewer{pointer-events:none;position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.dingrtc-wb-wrapper .dingrtc-pdf-viewer__page{box-shadow:1px 1px 10px 5px rgba(0,0,0,.05);position:absolute}.dingrtc-wb-wrapper .dingrtc-pdf-viewer__page:not(:last-of-type):after{background-color:#777;bottom:0;content:"";height:1px;left:0;position:absolute;right:0;z-index:1}.dingrtc-wb-wrapper .dingrtc-pdf-viewer__page:before{bottom:10px;content:attr(data-i);font-size:26px;font-weight:700;position:absolute;right:10px;z-index:1}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons{height:100%}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton{background-color:#fff;border-radius:6px;display:flex;flex-direction:column;height:50%;justify-content:center;margin:0 auto;min-height:532.8px;overflow:hidden;padding:50px 36px;position:relative;width:720px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton>div{margin-bottom:36px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator{border-radius:144px;height:144px;position:relative;width:144px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator:after,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator:before{border-radius:10px;content:" ";height:50.4px;left:calc(100% + 40px);position:absolute;top:0;width:288px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator:after{top:93.6px;width:432px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content{border-radius:10px;height:43.2px;margin-bottom:200px;position:relative;width:504px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content:after,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content:before{border-radius:10px;content:" ";height:43.2px;left:0;position:absolute;top:93.6px;width:612px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content:after{top:187.2px;width:612px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton div,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton div:after,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton div:before{animation:loading 2s ease-in-out infinite;background-color:#ededed;background:linear-gradient(100deg,hsla(0,0%,100%,0) 40%,hsla(0,0%,100%,.5) 50%,hsla(0,0%,100%,0) 60%) #ededed;background-position-x:180%;background-size:200% 100%}@keyframes loading{to{background-position-x:-20%}}.dingrtc-wb-wrapper .dingrtc-wb-render-fps{color:#333;font-size:12px;position:absolute;right:30px;top:60px;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb-render-fps img{display:block}.dingrtc-wb-wrapper .dingrtc-wb__bg-img{pointer-events:none;z-index:0}.dingrtc-wb-wrapper .dingrtc-wb__bg-img,.dingrtc-wb-wrapper .dingrtc-wb__media{position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dingrtc-wb-wrapper .dingrtc-wb__media{background-color:transparent;overflow:hidden;padding:1px;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb__media__header{align-items:center;background-color:#f5f5f5;border-top-left-radius:3px;border-top-right-radius:3px;box-shadow:0 0 4px 0 rgba(0,0,0,.2);cursor:pointer;display:flex;font-weight:500;height:30px;justify-content:space-between;left:0;padding-left:10px;position:absolute;top:0;transition:all .3s ease-in-out;width:100%;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb__media__body{background-color:#000;height:100%;width:100%}.dingrtc-wb-wrapper .dingrtc-wb__media__body:hover~.dingrtc-wb__media__header{visibility:visible}.dingrtc-wb-wrapper .dingrtc-wb__media__body audio,.dingrtc-wb-wrapper .dingrtc-wb__media__body video{height:100%;outline:none;pointer-events:auto;width:100%}.dingrtc-wb-wrapper .dingrtc-wb__media__body audio{background:#eff1f2}.dingrtc-wb-wrapper .dingrtc-wb__media__body audio::-webkit-media-controls-panel{background:#eff1f2;border:none}.dingrtc-wb-wrapper canvas{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb__cache-cvs{pointer-events:none!important}.dingrtc-wb-wrapper .wb-shape-textarea{background-color:transparent;border:none;outline:none;overflow-wrap:break-word;padding:0;position:absolute;resize:none;transform-origin:0 0;white-space:pre-wrap;word-break:break-all;z-index:1}.dingrtc-wb-wrapper .wb-shape-textarea::-webkit-scrollbar{display:none}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper{height:960px;left:0;position:absolute;top:0;transform-origin:0 0;width:1280px;z-index:0}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper iframe{border:none;height:100%;left:0;pointer-events:auto;position:absolute;top:0;width:100%}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper__blocked{position:absolute}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper__blocked:after{content:"";height:100%;left:0;top:0;width:100%}.dingrtc-wb-tools-wrapper{pointer-events:auto}';function _callSuper$s(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$s()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$s(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$s=function(){return!!e})()}styleInject(css_248z$1);var ShapeHistory=_createClass$1((function e(t,r,n,i){_classCallCheck$1(this,e),Object.defineProperty(this,"actionType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"shapeId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"currentState",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"lastState",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"shapeCreator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.shapeCreator=n.creator})),BatchHistory=_createClass$1((function e(t,r){_classCallCheck$1(this,e),Object.defineProperty(this,"actionType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"shapeStates",{enumerable:!0,configurable:!0,writable:!0,value:r})})),HistoryActionType;!function(e){e[e.reveiveShape=0]="reveiveShape",e[e.newShape=1]="newShape",e[e.hideShape=2]="hideShape",e[e.rgnShape=3]="rgnShape",e[e.updateStyle=4]="updateStyle",e[e.updateText=5]="updateText",e[e.deleteShape=6]="deleteShape"}(HistoryActionType||(HistoryActionType={}));var History=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$s(this,t,arguments),Object.defineProperty(e,"undoList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"redoList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"emitHistoryEvent",value:function(){this.emit("history-changed",{undo:this.canUndo(),redo:this.canRedo()})}},{key:"saveHistory",value:function(e){this.undoList.push(e),this.redoList=[],this.emitHistoryEvent()}},{key:"batchSave",value:function(e){this.undoList.push(e),this.redoList=[],this.emitHistoryEvent()}},{key:"undo",value:function(){var e=this.undoList.pop();if(e)return this.redoList.push(e),this.emitHistoryEvent(),e}},{key:"redo",value:function(){var e=this.redoList.pop();if(e)return this.undoList.push(e),this.emitHistoryEvent(),e}},{key:"clearAll",value:function(){this.undoList=[],this.redoList=[],this.emitHistoryEvent()}},{key:"clearUserHistory",value:function(e){var t=this;this.undoList.forEach((function(r){if(r instanceof ShapeHistory&&r.shapeCreator===e){var n=findIndex(t.undoList,r);t.undoList.splice(n,1)}})),this.redoList.forEach((function(r){if(r instanceof ShapeHistory&&r.shapeCreator===e){var n=findIndex(t.redoList,r);t.redoList.splice(n,1)}})),this.emitHistoryEvent()}},{key:"clearShapeHistory",value:function(e){var t=this;this.undoList.forEach((function(r){if(r instanceof ShapeHistory&&r.shapeId===e){var n=findIndex(t.undoList,r);t.undoList.splice(n,1)}})),this.redoList.forEach((function(r){if(r instanceof ShapeHistory&&r.shapeId===e){var n=findIndex(t.redoList,r);t.redoList.splice(n,1)}})),this.emitHistoryEvent()}},{key:"canUndo",value:function(){return this.undoList.length>0}},{key:"canRedo",value:function(){return this.redoList.length>0}}])}();function renderPdfPage(e,t){return new Promise((function(r,n){var i=document.createElement("canvas");i.width=e.width,i.height=e.height;var o=i.getContext("2d");t.cleanupAfterRender=!0,setTimeout((function(){t.render({viewport:e,canvasContext:o}).promise.then((function(){var e=i.toDataURL();t.cleanup(),r(e),o.clearRect(0,0,i.width,i.height)})).catch((function(e){return n(e)}))}))}))}function _defineProperty(e,t,r){return(t=toPropertyKey$1(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function setClipboard(e){return new Promise((function(t,r){var n="text/plain",i=new Blob([e],{type:n}),o=[new ClipboardItem(_defineProperty({},n,i))];navigator.clipboard.write(o).then(t,r)}))}function ownKeys$h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$h(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$h(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$r(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$r()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$r(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$r=function(){return!!e})()}function _superPropGet$8(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}var DrawableShape=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$r(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(n,"_shapeStyle",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"shapeStyle",get:function(){return this._shapeStyle},set:function(e){this._shapeStyle=e,this.emitRenderRequest()}},{key:"dashedWidth",get:function(){return 7>3*this.shapeStyle.lineWidth?7:3*this.shapeStyle.lineWidth}},{key:"useDashedStyle",value:function(e){this.shapeStyle.dashed&&e.setLineDash([this.dashedWidth,this.dashedWidth+this.shapeStyle.lineWidth])}},{key:"export",value:function(){return _objectSpread$h(_objectSpread$h({},_superPropGet$8(t,"export",this)([])),{},{shapeStyle:cloneDeep(this.shapeStyle),pageId:this.pageId})}},{key:"getStyleFromShape",value:function(){return{linecolor:rgba2num(this.shapeStyle.strokeStyle),linewidth:this.shapeStyle.lineWidth,fillcolor:rgba2num(this.shapeStyle.fillStyle),filltype:this.shapeStyle.fillType,linestyle:this.shapeStyle.dashed?ShapeLineType.dashed:ShapeLineType.solid}}},{key:"genDrawMsg",value:function(e){return _objectSpread$h(_objectSpread$h({},_superPropGet$8(t,"genDrawMsg",this)([e])),{},{pageId:this.pageId,style:JSON.stringify(this.getStyleFromShape())})}},{key:"genRgnMsg",value:function(e){return _objectSpread$h(_objectSpread$h({},_superPropGet$8(t,"genRgnMsg",this)([e])),{},{pageId:this.pageId})}}])}();function ownKeys$g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$g(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$g(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$g(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$q(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$q()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$q=function(){return!!e})()}var Line=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$q(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$g({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Line}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.moveTo(this.points[0].x,this.points[0].y),r.lineTo(this.points[1].x,this.points[1].y),r.stroke(),r.closePath();var n=r.isPointInStroke(e,t);return r.restore(),n}},{key:"renderShape",value:function(e){e.save(),e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle,e.moveTo(this.points[0].x,this.points[0].y),e.lineTo(this.points[1].x,this.points[1].y),e.stroke(),e.closePath(),e.restore()}}])}();function ownKeys$f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$f(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$f(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$p(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$p()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$p=function(){return!!e})()}function _superPropGet$7(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}var Rect=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$p(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$f({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Rect}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"onResize",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$7(t,"onResize",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$7(t,"onResize",this)([e,e,n]):_superPropGet$7(t,"onResize",this)([e,r,n])}},{key:"onResizeEnd",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$7(t,"onResizeEnd",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$7(t,"onResizeEnd",this)([e,e,n]):_superPropGet$7(t,"onResizeEnd",this)([e,r,n])}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save();var n=this.points[1].x-this.points[0].x,i=this.points[1].y-this.points[0].y;r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.rect(this.points[0].x,this.points[0].y,n,i),r.stroke(),r.closePath();var o=this.shapeStyle.fillType===ShapeFillType.none?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),o}},{key:"renderShape",value:function(e){e.save();var t=this.points[0].x,r=this.points[0].y,n=this.points[1].x-this.points[0].x,i=this.points[1].y-this.points[0].y;e.beginPath(),e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.fillStyle,e.lineCap="round",this.useDashedStyle(e),e.rect(t,r,n,i),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color?e.fillRect(t,r,n,i):(e.lineWidth=this.shapeStyle.lineWidth,e.stroke()),e.restore()}}])}();function ownKeys$e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$e(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$e(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$e(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$o(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$o()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$o(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$o=function(){return!!e})()}function _superPropGet$6(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}var CURVE_RENDER_KEY=.5522848,Ellipse=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$o(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$e({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Ellipse}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"onResize",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$6(t,"onResize",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$6(t,"onResize",this)([e,e,n]):_superPropGet$6(t,"onResize",this)([e,r,n])}},{key:"onResizeEnd",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$6(t,"onResizeEnd",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$6(t,"onResizeEnd",this)([e,e,n]):_superPropGet$6(t,"onResizeEnd",this)([e,r,n])}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx(),n=(this.points[0].x+this.points[1].x)/2,i=(this.points[0].y+this.points[1].y)/2,o=Math.abs((this.points[0].x-this.points[1].x)/2),a=Math.abs((this.points[0].y-this.points[1].y)/2);r.save();var s=o*CURVE_RENDER_KEY,c=a*CURVE_RENDER_KEY;r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.fillStyle="transparent",r.beginPath(),r.moveTo(n-o,i),r.bezierCurveTo(n-o,i-c,n-s,i-a,n,i-a),r.bezierCurveTo(n+s,i-a,n+o,i-c,n+o,i),r.bezierCurveTo(n+o,i+c,n+s,i+a,n,i+a),r.bezierCurveTo(n-s,i+a,n-o,i+c,n-o,i),r.closePath(),r.stroke(),r.closePath(),r.fill();var l=this.shapeStyle.fillType===ShapeFillType.none?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),l}},{key:"renderShape",value:function(e){var t=(this.points[0].x+this.points[1].x)/2,r=(this.points[0].y+this.points[1].y)/2,n=Math.abs((this.points[0].x-this.points[1].x)/2),i=Math.abs((this.points[0].y-this.points[1].y)/2);e.save();var o=n*CURVE_RENDER_KEY,a=i*CURVE_RENDER_KEY;e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.fillStyle,e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.moveTo(t-n,r),e.bezierCurveTo(t-n,r-a,t-o,r-i,t,r-i),e.bezierCurveTo(t+o,r-i,t+n,r-a,t+n,r),e.bezierCurveTo(t+n,r+a,t+o,r+i,t,r+i),e.bezierCurveTo(t-o,r+i,t-n,r+a,t-n,r),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color?e.fill():(e.lineWidth=this.shapeStyle.lineWidth,e.stroke()),e.restore()}}])}(),tempCanvas=document.createElement("canvas"),tempRederContext=tempCanvas.getContext("2d");function measureTextWrap(e,t,r){tempRederContext.save(),tempRederContext.font=t;var n=[],i="";return e.split("").forEach((function(e){if("\n"===e)return n.push(i+e),void(i="");tempRederContext.measureText(i+e).width>r?(n.push(i),i=e):i+=e})),(i||endsWith(e,"\n"))&&n.push(i),tempRederContext.restore(),n}function measureTextLength(e,t){tempRederContext.save(),tempRederContext.font=t;var r=tempRederContext.measureText(e).width;return tempRederContext.restore(),r}function isImageExportable(e){try{return tempRederContext.drawImage(e,0,0,e.width,e.height),tempCanvas.toDataURL("image/jpeg"),tempRederContext.clearRect(0,0,e.width,e.height),!0}catch(t){return tempRederContext.clearRect(0,0,e.width,e.height),!1}}function ownKeys$d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$d(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$d(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$n(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$n()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$n(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$n=function(){return!!e})()}function _superPropGet$5(e,t,r,n){var i=_get(_getPrototypeOf$1(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}var LINE_HEIGHT=1.37,Text=function(e){function t(e,r,n,i){var o,a,s;return _classCallCheck$1(this,t),s=_callSuper$n(this,t,[e,r]),Object.defineProperty(s,"_text",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(s,"_fontStyle",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(s,"maxLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),s.maxLength=Math.abs((null===(o=e.points[0])||void 0===o?void 0:o.x)-(null===(a=s.points[0])||void 0===a?void 0:a.x))||200,s}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$d({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle,this._text,this._fontStyle)}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"text",get:function(){return this._text},set:function(e){this._text=e;var t=measureTextLength(e,this.fontStyleStr);t>this.width&&this.maxLength>t&&(this.points=[{x:this.minx,y:this.miny},{x:this.minx+t+10,y:this.maxy}]);this.emitRenderRequest()}},{key:"setTextMaxLength",value:function(e){var t=e-15;this.maxLength=t>this.maxLength?t:this.maxLength}},{key:"fontStyle",get:function(){return this._fontStyle},set:function(e){this.emitRenderRequest(),this._fontStyle=e}},{key:"export",value:function(){return Object.assign({},_superPropGet$5(t,"export",this,3)([]),{text:this.text,fontStyle:cloneDeep(this.fontStyle)})}},{key:"shapeType",get:function(){return ShapeType.Text}},{key:"fontStyleStr",get:function(){var e=this.fontStyle,t=e.fontSize,r=e.bold;return"".concat(e.italic?"italic":"normal"," ").concat(r?"bold":"normal"," ").concat(t,"px ").concat(DEFAULT_FONT_FAMILY)}},{key:"genDrawMsg",value:function(e){return _objectSpread$d(_objectSpread$d({},_superPropGet$5(t,"genDrawMsg",this,3)([e])),{},{text:this.text,font:JSON.stringify({color:rgba2num(this.shapeStyle.strokeStyle),format:getShapeFont(this._fontStyle.bold,this._fontStyle.italic),size:this._fontStyle.fontSize,data:""}),style:JSON.stringify(this.getStyleFromShape())})}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save();var n=this.points[1].x-this.points[0].x,i=this.points[1].y-this.points[0].y;r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.rect(this.points[0].x,this.points[0].y,n,i),r.stroke(),r.closePath();var o=r.isPointInPath(e,t);return r.restore(),o}},{key:"renderShape",value:function(e,t){var r=this,n=measureTextWrap(this.text,this.fontStyleStr,this.maxx-this.minx);this.points[1].y=this.points[0].y+(n.length||1)*this.fontStyle.fontSize*LINE_HEIGHT,(this.interactionStatus!==InteractionStatusType.selected||t.forceRenderText)&&(e.save(),e.font=this.fontStyleStr,e.fillStyle=this.shapeStyle.strokeStyle,n.forEach((function(t,n){e.fillText(t,r.minx,r.miny+n*(r.fontStyle.fontSize*LINE_HEIGHT)+r.fontStyle.fontSize)})),e.restore())}}])}();function ownKeys$c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$c(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$c(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$m(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$m()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$m=function(){return!!e})()}Object.defineProperty(Text,"LINE_HEIGHT",{enumerable:!0,configurable:!0,writable:!0,value:LINE_HEIGHT});var Pen=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$m(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$c({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Pen}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"isPointInShape",value:function(e,t){var r=this,n=getSharedCanvasCtx();n.save(),n.strokeStyle="transparent",n.fillStyle="transparent",n.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,n.beginPath();var i=!1;return this.points.forEach((function(o,a){0===a?n.moveTo(o.x,o.y):a===r.points.length-1?(n.lineTo(o.x,o.y),n.stroke(),i=n.isPointInStroke(e,t),n.restore()):n.lineTo(o.x,o.y)})),i}},{key:"renderShape",value:function(e){var t=this;e.save(),e.beginPath(),this.useDashedStyle(e),e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.fillStyle,e.lineWidth=this.shapeStyle.lineWidth,e.lineCap="round",e.lineJoin="round",this.points.forEach((function(r,n){if(0===n)e.moveTo(r.x,r.y);else if(n===t.points.length-2){var i={x:(t.points[n+1].x+t.points[n].x)/2,y:(t.points[n+1].y+t.points[n].y)/2};e.quadraticCurveTo(i.x,i.y,t.points[n+1].x,t.points[n+1].y),e.stroke()}else{if(n===t.points.length-1)return;var o=t.points[n+1],a={x:(o.x+t.points[n+2].x)/2,y:(o.y+t.points[n+2].y)/2};e.quadraticCurveTo(o.x,o.y,a.x,a.y)}})),e.restore()}}])}();function ownKeys$b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$b(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$b(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$l(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$l()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$l=function(){return!!e})()}var Arrow=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$l(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$b({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Arrow}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.moveTo(this.points[0].x,this.points[0].y),r.lineTo(this.points[1].x,this.points[1].y),r.stroke(),r.closePath();var n=r.isPointInStroke(e,t);return r.restore(),n}},{key:"renderShape",value:function(e){var t=this.points[0].x,r=this.points[0].y,n=this.points[1].x,i=this.points[1].y,o=1.4*(this.shapeStyle.lineWidth+5),a=180*Math.atan2(r-i,t-n)/Math.PI,s=(a+15)*Math.PI/180,c=(a-15)*Math.PI/180,l=o*Math.cos(s),u=o*Math.sin(s),d=o*Math.cos(c),p=o*Math.sin(c);e.save(),e.beginPath(),this.useDashedStyle(e),e.lineCap="round",e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.strokeStyle,e.moveTo(t,r),e.lineTo(n,i),e.stroke(),e.closePath(),e.beginPath(),e.setLineDash([]),e.lineCap="butt",e.moveTo(n+l,i+u),e.lineTo(n,i),e.lineTo(n+d,i+p),e.stroke(),e.fill(),e.closePath(),e.restore()}}])}(),bitsToNum=function(e){return e.reduce((function(e,t){return 2*e+t}),0)},byteToBitArr=function(e){for(var t=[],r=7;r>=0;r--)t.push(!!(e&1<<r));return t},Stream=function(e){this.data=e,this.len=this.data.length,this.pos=0,this.readByte=function(){if(this.pos>=this.data.length)throw Error("Attempted to read past end of stream.");return e instanceof Uint8Array?e[this.pos++]:255&e.charCodeAt(this.pos++)},this.readBytes=function(e){for(var t=[],r=0;e>r;r++)t.push(this.readByte());return t},this.read=function(e){for(var t="",r=0;e>r;r++)t+=String.fromCharCode(this.readByte());return t},this.readUnsigned=function(){var e=this.readBytes(2);return(e[1]<<8)+e[0]}},lzwDecode=function(e,t){for(var r,n,i=0,o=function(e){for(var r=0,n=0;e>n;n++)t.charCodeAt(i>>3)&1<<(7&i)&&(r|=1<<n),i++;return r},a=[],s=1<<e,c=s+1,l=e+1,u=[],d=function(){u=[],l=e+1;for(var t=0;s>t;t++)u[t]=[t];u[s]=[],u[c]=null};;)if(n=r,(r=o(l))!==s){if(r===c)break;if(u.length>r)n!==s&&u.push(u[n].concat(u[r][0]));else{if(r!==u.length)throw Error("Invalid LZW code.");u.push(u[n].concat(u[n][0]))}a.push.apply(a,u[r]),u.length===1<<l&&12>l&&l++}else d();return a},parseGIF=function(e,t){var r=function(t){for(var r=[],n=0;t>n;n++)r.push(e.readBytes(3));return r},n=function(){var t,r;r="";do{t=e.readByte(),r+=e.read(t)}while(0!==t);return r},i=function(){var o={};switch(o.sentinel=e.readByte(),String.fromCharCode(o.sentinel)){case"!":o.type="ext",function(r){switch(r.label=e.readByte(),r.label){case 249:r.extType="gce",function(r){e.readByte();var n=byteToBitArr(e.readByte());r.reserved=n.splice(0,3),r.disposalMethod=bitsToNum(n.splice(0,3)),r.userInput=n.shift(),r.transparencyGiven=n.shift(),r.delayTime=e.readUnsigned(),r.transparencyIndex=e.readByte(),r.terminator=e.readByte(),t.gce&&t.gce(r)}(r);break;case 254:r.extType="com",function(e){e.comment=n(),t.com&&t.com(e)}(r);break;case 1:r.extType="pte",function(r){e.readByte(),r.ptHeader=e.readBytes(12),r.ptData=n(),t.pte&&t.pte(r)}(r);break;case 255:r.extType="app",function(r){e.readByte(),r.identifier=e.read(8),r.authCode=e.read(3),"NETSCAPE"===r.identifier?function(r){e.readByte(),r.unknown=e.readByte(),r.iterations=e.readUnsigned(),r.terminator=e.readByte(),t.app&&t.app.NETSCAPE&&t.app.NETSCAPE(r)}(r):function(e){e.appData=n(),t.app&&t.app[e.identifier]&&t.app[e.identifier](e)}(r)}(r);break;default:r.extType="unknown",function(e){e.data=n(),t.unknown&&t.unknown(e)}(r)}}(o);break;case",":o.type="img",function(i){i.leftPos=e.readUnsigned(),i.topPos=e.readUnsigned(),i.width=e.readUnsigned(),i.height=e.readUnsigned();var o=byteToBitArr(e.readByte());i.lctFlag=o.shift(),i.interlaced=o.shift(),i.sorted=o.shift(),i.reserved=o.splice(0,2),i.lctSize=bitsToNum(o.splice(0,3)),i.lctFlag&&(i.lct=r(1<<i.lctSize+1)),i.lzwMinCodeSize=e.readByte();var a=n();i.pixels=lzwDecode(i.lzwMinCodeSize,a),i.interlaced&&(i.pixels=function(e,t){for(var r=Array(e.length),n=e.length/t,i=function(n,i){var o=e.slice(i*t,(i+1)*t);r.splice.apply(r,[n*t,t].concat(o))},o=[0,4,2,1],a=[8,8,4,2],s=0,c=0;4>c;c++)for(var l=o[c];n>l;l+=a[c])i(l,s),s++;return r}(i.pixels,i.width)),t.img&&t.img(i)}(o);break;case";":o.type="eof",t.eof&&t.eof(o);break;default:throw Error("Unknown block: 0x"+o.sentinel.toString(16))}"eof"!==o.type&&setTimeout(i,0)};!function(){var n={};if(n.sig=e.read(3),n.ver=e.read(3),"GIF"!==n.sig)throw Error("Not a GIF file.");n.width=e.readUnsigned(),n.height=e.readUnsigned();var i=byteToBitArr(e.readByte());n.gctFlag=i.shift(),n.colorRes=bitsToNum(i.splice(0,3)),n.sorted=i.shift(),n.gctSize=bitsToNum(i.splice(0,3)),n.bgColor=e.readByte(),n.pixelAspectRatio=e.readByte(),n.gctFlag&&(n.gct=r(1<<n.gctSize+1)),t.hdr&&t.hdr(n)}(),setTimeout(i,0)};function SuperGif(e){var t,r,n={vp_l:0,vp_t:0,vp_w:null,vp_h:null,c_w:null,c_h:null};for(var i in e)n[i]=e[i];n.vp_w&&n.vp_h&&(n.is_vp=!0);var o=null,a=!1,s=null,c=null,l=null,u=null,d=null,p=null,h=null,f=!0,g=!1,y=[],v=[],m=n.gif;void 0===n.auto_play&&(n.auto_play=!m.getAttribute("rel:auto_play")||"1"==m.getAttribute("rel:auto_play"));var b,S,_,w=n.hasOwnProperty("on_end")?n.on_end:null,I=n.hasOwnProperty("loop_delay")?n.loop_delay:0,E=n.hasOwnProperty("loop_mode")?n.loop_mode:"auto",T=!n.hasOwnProperty("draw_while_loading")||n.draw_while_loading,O=!!T&&(!n.hasOwnProperty("show_progress_bar")||n.show_progress_bar),C=n.hasOwnProperty("progressbar_height")?n.progressbar_height:25,P=n.hasOwnProperty("progressbar_background_color")?n.progressbar_background_color:"rgba(255,255,255,0.4)",R=n.hasOwnProperty("progressbar_foreground_color")?n.progressbar_foreground_color:"rgba(255,0,22,.8)",k=function(){s=null,c=null,d=l,l=null,p=null},x=function(){try{parseGIF(t,U)}catch(e){N("parse")}},A=function(e,t){b.width=e*z(),b.height=t*z(),_.width=e,_.height=t,_.style.width=e+"px",_.style.height=t+"px",_.getContext("2d").setTransform(1,0,0,1,0,0)},D=function(e,t,r){if(r&&O){var i,o,a,s=C;n.is_vp?g?(o=(n.vp_t+n.vp_h-s)/z(),s/=z(),i=n.vp_l/z()+e/t*(n.vp_w/z()),a=b.width/z()):(o=n.vp_t+n.vp_h-s,i=n.vp_l+e/t*n.vp_w,a=b.width):(o=(b.height-s)/(g?z():1),i=e/t*b.width/(g?z():1),a=b.width/(g?z():1),s/=g?z():1),S.fillStyle=P,S.fillRect(i,o,a-i,s),S.fillStyle=R,S.fillRect(0,o,i,s)}},N=function(e){o=e,r={width:m.width,height:m.height},y=[],S.fillStyle="black",S.fillRect(0,0,n.c_w?n.c_w:r.width,n.c_h?n.c_h:r.height),S.strokeStyle="red",S.lineWidth=3,S.moveTo(0,0),S.lineTo(n.c_w?n.c_w:r.width,n.c_h?n.c_h:r.height),S.moveTo(0,n.c_h?n.c_h:r.height),S.lineTo(n.c_w?n.c_w:r.width,0),S.stroke()},L=function(){p&&(y.push({data:p.getImageData(0,0,r.width,r.height),delay:c}),v.push({x:0,y:0}))},j=function(){var e,t,r,i=-1,a=0,s=function(e){i+=e,l()},c=(e=!1,t=function(){null!==w&&w(m),a++,!1!==E||0>a?r():(e=!1,f=!1)},r=function(){if(e=f){s(1);var n=10*y[i].delay;n||(n=100),0==(i+1+y.length)%y.length?setTimeout(t,n+=I):setTimeout(r,n)}},function(){e||setTimeout(r,0)}),l=function(){var e;(i=parseInt(i,10))>y.length-1&&(i=0),0>i&&(i=0),e=v[i],_.getContext("2d").putImageData(y[i].data,e.x,e.y),S.globalCompositeOperation="copy",S.drawImage(_,0,0)};return{init:function(){o||(n.c_w&&n.c_h||S.scale(z(),z()),n.auto_play?c():(i=0,l()))},step:c,play:function(){f=!0,c()},pause:function(){f=!1},playing:f,move_relative:s,current_frame:function(){return i},length:function(){return y.length},move_to:function(e){i=e,l()}}}(),M=function(e){D(t.pos,t.data.length,e)},$=function(){},B=function(e,t){return function(r){e(r),M(t)}},U={hdr:B((function(e){A((r=e).width,r.height)})),gce:B((function(e){L(),k(),s=e.transparencyGiven?e.transparencyIndex:null,c=e.delayTime,l=e.disposalMethod})),com:B($),app:{NETSCAPE:B($)},img:B((function(e){p||(p=_.getContext("2d"));var t=y.length,i=e.lctFlag?e.lct:r.gct;t>0&&(3===d?null!==u?p.putImageData(y[u].data,0,0):p.clearRect(h.leftPos,h.topPos,h.width,h.height):u=t-1,2===d&&p.clearRect(h.leftPos,h.topPos,h.width,h.height));var o=p.getImageData(e.leftPos,e.topPos,e.width,e.height);e.pixels.forEach((function(e,t){e!==s&&(o.data[4*t+0]=i[e][0],o.data[4*t+1]=i[e][1],o.data[4*t+2]=i[e][2],o.data[4*t+3]=255)})),p.putImageData(o,e.leftPos,e.topPos),g||(S.scale(z(),z()),g=!0),T&&(S.drawImage(_,0,0),T=n.auto_play),h=e}),!0),eof:function(){L(),M(!1),n.c_w&&n.c_h||(b.width=r.width*z(),b.height=r.height*z()),j.init(),a=!1,W&&W(m)}},F=function(){var e=document.createElement("div");b=document.createElement("canvas"),S=b.getContext("2d"),_=document.createElement("canvas"),e.width=b.width=m.width,e.height=b.height=m.height,e.className="jsgif",e.appendChild(b),n.c_w&&n.c_h&&A(n.c_w,n.c_h),V=!0},z=function(){return n.max_width&&r&&r.width>n.max_width?n.max_width/r.width:1},V=!1,W=!1,H=function(e){return!a&&(W=e||!1,a=!0,y=[],k(),u=null,d=null,p=null,h=null,!0)};return{play:j.play,pause:j.pause,move_relative:j.move_relative,move_to:j.move_to,get_playing:function(){return f},get_canvas:function(){return b},get_canvas_scale:function(){return z()},get_loading:function(){return a},get_auto_play:function(){return n.auto_play},get_length:function(){return j.length()},get_current_frame:function(){return j.current_frame()},load_url:function(e,r){if(H(r)){var n=new XMLHttpRequest;n.open("GET",e,!0),"overrideMimeType"in n?n.overrideMimeType("text/plain; charset=x-user-defined"):"responseType"in n?n.responseType="arraybuffer":n.setRequestHeader("Accept-Charset","x-user-defined"),n.onloadstart=function(){V||F()},n.onload=function(e){200!=this.status&&N("xhr - response"),"response"in this||(this.response=new VBArray(this.responseText).toArray().map(String.fromCharCode).join(""));var r=this.response;(""+r).indexOf("ArrayBuffer")>0&&(r=new Uint8Array(r)),t=new Stream(r),setTimeout(x,0)},n.onprogress=function(e){e.lengthComputable&&D(e.loaded,e.total,!0)},n.onerror=function(){N("xhr")},n.send()}},load:function(e){this.load_url(m.getAttribute("rel:animated_src")||m.src,e)},load_raw:function(e,r){H(r)&&(V||F(),t=new Stream(e),setTimeout(x,0))},set_frame_offset:function(e,t){v[e]?(void 0!==t.x&&(v[e].x=t.x),void 0!==t.y&&(v[e].y=t.y)):v[e]=t}}}var ImageLoader=function(){function e(){_classCallCheck$1(this,e)}return _createClass$1(e,null,[{key:"checkPendingLoadJob",value:function(){var e=this.loadImagePendingList.shift();e&&this.doLoadJob(e).catch((function(){}))}},{key:"log",value:function(e){e.startsWith("data:")}},{key:"doLoadJob",value:(t=_asyncToGenerator$1(_regeneratorRuntime$1.mark((function t(r){var n,i,o,a,s,c=this;return _regeneratorRuntime$1.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=Date.now(),i=r.resolve,o=r.reject,a=r.imgUrl,t.prev=3,t.next=6,getURLBase64(a);case 6:a=t.sent,t.next=12;break;case 9:t.prev=9,t.t0=t.catch(3),Log.logInfo("ImageShape img load first try get url base64 failed, will load directly",a);case 12:(s=new Image).src=a,s.onload=function(){var t=Date.now();i(s),c.loadImageJobCount--,e.log(a,"ImageLoader img load success, time cost",t-n,"this.loadImageJobCount",c.loadImageJobCount,a),c.checkPendingLoadJob()},s.onerror=function(){var t=new Image;t.crossOrigin="Anonymous",t.src=a,t.onload=function(){i(t),c.loadImageJobCount--;var r=Date.now();e.log(a,"ImageLoader img load success, time cost",r-n,"this.loadImageJobCount",c.loadImageJobCount,a),c.checkPendingLoadJob()},t.onerror=function(t){c.loadImageJobCount--,2===r.retryCount?(e.log(r.imgUrl,"ImageLoader img load failed after 2 times retry, ",r.imgUrl),o(t)):(r.retryCount++,e.log(a,"ImageLoader img load failed, will add to joblist and try again, retryCount",r.retryCount,a),c.loadImagePendingList.push(r)),c.checkPendingLoadJob()}};case 16:case"end":return t.stop()}}),t,null,[[3,9]])}))),function(e){return t.apply(this,arguments)})},{key:"loadImg",value:function(t){var r=this;return this.loadImageJobCount++,new Promise((function(n,i){r.maxConcurrency>r.loadImageJobCount?(e.log(t,"ImageLoader got new load job, loading jobs: ",r.loadImageJobCount,"pending jobs: ",r.loadImagePendingList.length,"job not full, will load directly",t),r.doLoadJob({imgUrl:t,resolve:n,reject:i,retryCount:0}).catch((function(){e.log("load failed",t)}))):(e.log(t,"ImageLoader got new load job, loading jobs: ",r.loadImageJobCount,"pending jobs: ",r.loadImagePendingList.length,"job full, will add to pending job list",t),r.loadImagePendingList.push({imgUrl:t,resolve:n,reject:i,retryCount:0}))}))}},{key:"loadImgAnonymous",value:function(e){return new Promise((function(t,r){var n=new Image;n.src=e,n.crossOrigin="Anonymous",n.onload=function(){t(n)},n.onerror=function(e){r(e)}}))}},{key:"loadGif",value:function(e){return new Promise((function(t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){var e=n.response;e?t(e):r(Error("Gif loader:: Invalid response"))},n.onerror=function(e){return r(e)},n.send(null)}))}},{key:"loadAsArrayBuffer",value:function(e){return new Promise((function(t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){var e=n.response;e?t(e):r(Error("Fileloader:: Invalid response"))},n.onerror=function(e){return r(e)},n.send(null)}))}}]);var t}();function ownKeys$a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$a(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$a(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$k(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$k()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$k(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$k=function(){return!!e})()}function _superPropGet$4(e,t,r,n){var i=_get(_getPrototypeOf$1(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}Object.defineProperty(ImageLoader,"loadImageJobCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(ImageLoader,"maxConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(ImageLoader,"loadImagePendingList",{enumerable:!0,configurable:!0,writable:!0,value:[]});var Image$1=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$k(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(n,"imgUrl",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"loadedUrl",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(n,"_img",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"gifData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"gifRenderInterval",{enumerable:!0,configurable:!0,writable:!0,value:0}),includes(r,"gif")&&(ImageLoader.loadImg(r).then((function(e){var t;n.gifData=SuperGif({gif:e,show_progress_bar:!1,draw_while_loading:!1}),null===(t=n.gifData)||void 0===t||t.load()})).catch((function(e){Log.logError("ImageShape load gif failed",e)})),n.gifRenderInterval=window.setInterval((function(){n.emitRenderRequest()}),1e3/BaseShape.GIF_RENDER_RATE)),n}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$a({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this.imgUrl)}},{key:"img",get:function(){return this._img},set:function(e){this._img=e,this.emitRenderRequest()}},{key:"shapeType",get:function(){return ShapeType.Image}},{key:"export",value:function(){return Object.assign({},_superPropGet$4(t,"export",this,3)([]),{imgUrl:this.imgUrl})}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"genDrawMsg",value:function(e){return _objectSpread$a(_objectSpread$a({},_superPropGet$4(t,"genDrawMsg",this,3)([e])),{},{pageId:this.pageId,image:JSON.stringify({height:this.height,url:this.imgUrl,width:this.width})})}},{key:"loadImage",value:function(){var e=this;return this._img&&this.loadedUrl===this.imgUrl?Promise.resolve(this._img):ImageLoader.loadImg(this.imgUrl).then((function(t){return e.img=t,e.loadedUrl=e.imgUrl,t}))}},{key:"isPointInShape",value:function(e,t){return e>this.minx&&this.maxx>e&&t>this.miny&&this.maxy>t}},{key:"isGif",value:function(){return includes(this.imgUrl,"gif")}},{key:"renderShape",value:function(e){if(this.img&&!this.isGif()){e.save();try{e.drawImage(this.img,this.points[0].x,this.points[0].y,this.points[1].x-this.points[0].x,this.points[1].y-this.points[0].y)}catch(e){console.error(e)}e.restore()}else this.gifData&&e.drawImage(this.gifData.get_canvas(),this.points[0].x,this.points[0].y,this.points[1].x-this.points[0].x,this.points[1].y-this.points[0].y)}},{key:"genRgnMsg",value:function(e){return _objectSpread$a(_objectSpread$a({},_superPropGet$4(t,"genRgnMsg",this,3)([e])),{},{pageId:this.pageId})}},{key:"destructor",value:function(){_superPropGet$4(t,"destructor",this,3)([]),this.gifRenderInterval&&clearInterval(this.gifRenderInterval)}}])}(),css_248z='.dingrtc-wb-switch{align-items:center;box-sizing:border-box;display:flex;height:32px;pointer-events:auto}.dingrtc-wb-switch label{font-size:13px;font-weight:500}.dingrtc-wb-switch input[type=checkbox]{display:none}.dingrtc-wb-switch .dingrtc-switch-handle{border-radius:50px;cursor:pointer;display:inline-block;font-size:14px;height:22px;margin-left:5px;position:relative;transition:all .1s ease-in;width:50px}.dingrtc-wb-switch .dingrtc-switch-handle:after{background-color:#fff;border-radius:100px;box-shadow:inset 0 0 0 0 #eee,0 0 1px rgba(0,0,0,.4);content:" ";height:16px;left:0;position:absolute;top:3px;transition:box-shadow .1s ease-in;width:40px}.dingrtc-wb-switch .dingrtc-switch-handle:before{background:#fff;border-radius:100px;box-shadow:0 3px 1px rgba(0,0,0,.05),0 0 1px rgba(0,0,0,.3);content:" ";height:20px;left:-1px;position:absolute;top:0;transition:left .1s ease-in;width:20px;z-index:999999}.dingrtc-wb-switch input[type=checkbox]:checked+.dingrtc-switch-handle:before{left:22px}.dingrtc-wb-switch input[type=checkbox]:checked+.dingrtc-switch-handle:after{background:#4cda60;box-shadow:0 0 1px #4cda60;content:" ";font-size:1.5em;position:absolute}';styleInject(css_248z);var SwitchButton=function(){return _createClass$1((function e(t){var r=this,n=1>=arguments.length||void 0===arguments[1]||arguments[1],i=arguments.length>2?arguments[2]:void 0;_classCallCheck$1(this,e),Object.defineProperty(this,"_checked",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"onSwitch",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"wrapperElement",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkbox",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("input")}),Object.defineProperty(this,"lable",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("label")}),Object.defineProperty(this,"onClick",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e.stopPropagation(),r.checked=!r.checked,r.checkbox.checked=r.checked,r.onSwitch(r.checked)}}),this.wrapperElement=document.createElement("div");var o=document.createElement("span");o.className="dingrtc-switch-handle",this.wrapperElement.className="dingrtc-wb-switch",this.checkbox.type="checkbox",this.lable.innerHTML=t,this.wrapperElement.append(this.lable),this.wrapperElement.append(this.checkbox),this.wrapperElement.append(o),this.checkbox.checked=n,this.wrapperElement.addEventListener("click",this.onClick)}),[{key:"checked",get:function(){return this._checked},set:function(e){this._checked=e,this.checkbox.checked=e}}])}(),I18n=function(){function e(){_classCallCheck$1(this,e)}return _createClass$1(e,null,[{key:"setConfig",value:function(e){this.conifg=merge$1(this.conifg,e)}},{key:"t",value:function(t){return get(e.conifg,"".concat(e.locale,".").concat(t),"")}}])}();function ownKeys$9(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$9(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$9(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$9(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$j(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$j()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$j(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$j=function(){return!!e})()}function _superPropGet$3(e,t,r,n){var i=_get(_getPrototypeOf$1(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}Object.defineProperty(I18n,"locale",{enumerable:!0,configurable:!0,writable:!0,value:"zh_CN"}),Object.defineProperty(I18n,"conifg",{enumerable:!0,configurable:!0,writable:!0,value:{zh_CN:{repeatPlay:"循环播放"},de:{repeatPlay:"Wiederholen Sie das Spiel"},fr:{repeatPlay:"répéter la lecture"},ja:{repeatPlay:"リピートプレイ"},ko:{repeatPlay:"반복 재생"},zh_TW:{repeatPlay:"循環播放"},en:{repeatPlay:"Repeat play"}}});var MediaShape=function(e){function t(e,r){var n;_classCallCheck$1(this,t),n=_callSuper$j(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(n,"mediaUrl",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"wrapperDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(n,"mediaElement",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_headerDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(n,"_switchButton",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_repeatPlay",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(n,"callbacks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_onVideoStop",{enumerable:!0,configurable:!0,writable:!0,value:function(){n.mediaElement.play()}}),Object.defineProperty(n,"_onMouseMove",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onShapeFocused(n)}),30)}),Object.defineProperty(n,"_onClick",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onShapeSelected(n)}}),Object.defineProperty(n,"_onVideoTimePlay",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onMediaUpdate(n)}}),Object.defineProperty(n,"_onVideoTimePause",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onMediaUpdate(n)}}),Object.defineProperty(n,"_onVideoTimeUpdate",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(){var e;null===(e=n.callbacks)||void 0===e||e.onMediaUpdate(n)}),3e3)}),n.wrapperDom.className="dingrtc-wb__media",n.mediaElement=n._makeMediaElement(),n._headerDom.className="dingrtc-wb__media__header";var i=document.createElement("span");i.innerHTML="Video Player",n._headerDom.appendChild(i),n._switchButton=new SwitchButton(I18n.t("repeatPlay"),n.repeatPlay,(function(e){return n.repeatPlay=e})),n._headerDom.appendChild(n._switchButton.wrapperElement);var o=document.createElement("div");return o.className="dingrtc-wb__media__body",n.mediaElement.src=n.mediaUrl,n.mediaElement.setAttribute("controlslist","nodownload"),n.mediaElement.controls=!0,n.wrapperDom.appendChild(n._headerDom),n.wrapperDom.appendChild(o),o.appendChild(n.mediaElement),n.mediaElement.addEventListener("play",n._onVideoTimePlay),n.mediaElement.addEventListener("timeupdate",n._onVideoTimeUpdate),n.mediaElement.addEventListener("pause",n._onVideoTimePause),n._headerDom.addEventListener("click",n._onClick),n.wrapperDom.addEventListener("mousemove",n._onMouseMove),n}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"repeatPlay",get:function(){return this._repeatPlay},set:function(e){this._repeatPlay=e,this._switchButton.checked=e,e?this.mediaElement.addEventListener("ended",this._onVideoStop):this.mediaElement.removeEventListener("ended",this._onVideoStop)}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"export",value:function(){return Object.assign({},_superPropGet$3(t,"export",this,3)([]),{mediaUrl:this.mediaUrl})}},{key:"setCallback",value:function(e){this.callbacks=e}},{key:"genDrawMsg",value:function(e){return _objectSpread$9({},_superPropGet$3(t,"genDrawMsg",this,3)([e]))}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=e,this.emitRenderRequest(),e||this.removeMediaDom()}},{key:"isPointInShape",value:function(e,t){return e>this.minx&&this.maxx>e&&t>this.miny&&this.maxy>t}},{key:"renderShape",value:function(e,t){this.wrapperDom.style.width="".concat(this.maxx-this.minx-6,"px"),this.wrapperDom.style.left="".concat(this.minx*t.scale+t.translate[0]+3,"px"),this.wrapperDom.style.top="".concat(this.miny*t.scale+t.translate[1]+3,"px"),this.wrapperDom.style.transform="scale(".concat(t.scale,")"),this.wrapperDom.style.height="".concat(this.maxy-this.miny-6,"px"),this.wrapperDom.parentElement||t.wrapperDom.appendChild(this.wrapperDom),this.shouldRenderOutline?(this.renderOutline(e,t.scale),this.wrapperDom.style.pointerEvents="none",this._headerDom.style.opacity="1"):(this.wrapperDom.style.pointerEvents="auto",this._headerDom.style.opacity="0"),this._headerDom.style.pointerEvents=this.interactionStatus===InteractionStatusType.focused?"auto":"none",this.mediaElement.style.pointerEvents=this.interactionStatus===InteractionStatusType.selected?"none":"auto"}},{key:"removeMediaDom",value:function(){var e;null===(e=this.wrapperDom.parentElement)||void 0===e||e.removeChild(this.wrapperDom)}},{key:"destructor",value:function(){this.removeMediaDom(),this.mediaElement.removeEventListener("play",this._onVideoTimePlay),this.mediaElement.removeEventListener("pause",this._onVideoTimePause),this.mediaElement.removeEventListener("timeupdate",this._onVideoTimeUpdate),this._headerDom.removeEventListener("click",this._onClick),this.wrapperDom.removeEventListener("mousemove",this._onMouseMove)}}])}();function ownKeys$8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$8(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$8(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$8(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$i(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$i()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$i=function(){return!!e})()}var Video=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$i(this,t,arguments)}return _inherits$1(t,MediaShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$8({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this.mediaUrl)}},{key:"_makeMediaElement",value:function(){return document.createElement("video")}},{key:"shapeType",get:function(){return ShapeType.Video}}])}();function ownKeys$7(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$7(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$7(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$7(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$h(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$h()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$h(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$h=function(){return!!e})()}var Audio=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$h(this,t,arguments)}return _inherits$1(t,MediaShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$7({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this.mediaUrl)}},{key:"_makeMediaElement",value:function(){return document.createElement("audio")}},{key:"shapeType",get:function(){return ShapeType.Audio}}])}();function ownKeys$6(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$6(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$6(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$6(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$g(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$g()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$g(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$g=function(){return!!e})()}var Eraser=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$g(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$6({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Brush}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"isPointInShape",value:function(){return!1}},{key:"renderShape",value:function(e){var t=this;e.save(),e.beginPath(),e.strokeStyle="rgba(0, 0, 0, 1)",e.fillStyle="rgba(0, 0, 0, 1)",e.lineWidth=this.shapeStyle.lineWidth,e.lineCap="round",e.lineJoin="round",e.globalCompositeOperation="destination-out",this.points.forEach((function(r,n){if(0===n)e.moveTo(r.x,r.y);else if(n===t.points.length-1)e.lineTo(r.x,r.y),e.stroke(),e.closePath(),e.restore();else{var i={x:(r.x+t.points[n-1].x)/2,y:(r.y+t.points[n-1].y)/2};e.quadraticCurveTo(i.x,i.y,r.x,r.y)}})),e.globalCompositeOperation="source-over"}}])}();function ownKeys$5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$5(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$5(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$5(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$f(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$f()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$f(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$f=function(){return!!e})()}var Triangle=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$f(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$5({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Triangle}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent";var n=this.points[0],i={x:.5*(n.x+this.points[1].x),y:this.points[1].y},o={x:this.points[1].x,y:n.y};r.moveTo(n.x,n.y),r.lineTo(i.x,i.y),r.lineTo(o.x,o.y),r.lineTo(n.x,n.y),r.stroke(),r.closePath();var a=this.shapeStyle.fillType===ShapeFillType.color?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),a}},{key:"renderShape",value:function(e){e.save(),e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle;var t=this.points[0],r={x:.5*(t.x+this.points[1].x),y:this.points[1].y},n={x:this.points[1].x,y:t.y};e.moveTo(t.x,t.y),e.lineTo(r.x,r.y),e.lineTo(n.x,n.y),e.lineTo(t.x,t.y),e.stroke(),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color&&(e.fillStyle=this.shapeStyle.fillStyle,e.fill()),e.restore()}}])}();function ownKeys$4(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$4(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$4(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$4(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$e(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$e()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$e(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$e=function(){return!!e})()}var Rhombic=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$e(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$4({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Rhombic}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent";var n={x:this.points[0].x,y:.5*(this.points[0].y+this.points[1].y)},i={x:.5*(n.x+this.points[1].x),y:this.points[1].y},o={x:this.points[1].x,y:n.y},a={x:i.x,y:this.points[0].y};r.moveTo(n.x,n.y),r.lineTo(i.x,i.y),r.lineTo(o.x,o.y),r.lineTo(a.x,a.y),r.lineTo(n.x,n.y),r.stroke(),r.closePath();var s=this.shapeStyle.fillType===ShapeFillType.none?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),s}},{key:"renderShape",value:function(e){e.save(),e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle;var t={x:this.points[0].x,y:.5*(this.points[0].y+this.points[1].y)},r={x:.5*(t.x+this.points[1].x),y:this.points[1].y},n={x:this.points[1].x,y:t.y},i={x:r.x,y:this.points[0].y};e.moveTo(t.x,t.y),e.lineTo(r.x,r.y),e.lineTo(n.x,n.y),e.lineTo(i.x,i.y),e.lineTo(t.x,t.y),e.stroke(),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color&&(e.fillStyle=this.shapeStyle.fillStyle,e.fill()),e.restore()}}])}(),images={plus:"https://img.alicdn.com/imgextra/i3/O1CN01PsyXYc1HjhTqgZuQP_!!6000000000794-55-tps-18-18.svg",eraser:"https://img.alicdn.com/imgextra/i1/O1CN011VE3sO27TXWbuVtj1_!!6000000007798-55-tps-16-16.svg",pencil:"https://img.alicdn.com/imgextra/i2/O1CN018ML8Gu1HXKmo27wpQ_!!6000000000767-55-tps-16-16.svg",text:"https://img.alicdn.com/imgextra/i3/O1CN01HLEKtO27bKG5EoaSo_!!6000000007815-55-tps-16-16.svg",select:"https://img.alicdn.com/imgextra/i1/O1CN01E5By8i1qm01Hbhnoh_!!6000000005537-55-tps-16-16.svg",laser:"https://img.alicdn.com/imgextra/i2/O1CN01wz96mh1Em2esQp7W2_!!6000000000393-2-tps-30-30.png"};function _callSuper$d(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$d()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$d(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$d=function(){return!!e})()}var cursorLaserPointerImage=void 0;ImageLoader.loadImg(images.laser).then((function(e){return cursorLaserPointerImage=e})).catch((function(e){Log.logError("laser pointer load failed: ",e)}));var LaserPointer=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$d(this,t,arguments)}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(){throw Error("Method not implemented.")}},{key:"shapeType",get:function(){return ShapeType.LaserPointer}},{key:"isPointInShape",value:function(){return!1}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"renderShape",value:function(e,t){var r=t.scale;e.save(),cursorLaserPointerImage&&e.drawImage(cursorLaserPointerImage,0,0,cursorLaserPointerImage.naturalWidth,cursorLaserPointerImage.naturalHeight,this.points[0].x-15/r,this.points[0].y-15/r,cursorLaserPointerImage.naturalWidth/r,cursorLaserPointerImage.naturalHeight/r),e.restore()}}])}(),Metrics=function(){return _createClass$1((function e(){_classCallCheck$1(this,e)}),null,[{key:"sendEventMetrics",value:function(e){throw Error("Method not implemented.")}}])}();function ownKeys$3(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$3(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$3(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$3(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$c(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$c()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$c=function(){return!!e})()}function _superPropGet$2(e,t,r,n){var i=_get(_getPrototypeOf$1(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}var StampResourceCache=function(){return _createClass$1((function e(){_classCallCheck$1(this,e)}),null,[{key:"get",value:function(e){return this.stampResources.get(e)}},{key:"cache",value:function(e,t,r){Log.logInfo("StampResourceCache.cache load image",e,t,r);var n={url:t,resizable:r,serverCache:!1,getImgEl:ImageLoader.loadImg(t).catch((function(n){return Log.logError("StampResourceCache.cache load image failed",e,t,r),Metrics.sendEventMetrics({event:"image load failed",url:t,message:"Stamp image load failed"}),Promise.reject(n)}))};return this.stampResources.set(e,n),n}},{key:"setServerCache",value:function(e){var t=this.stampResources.get(e);t&&(t.serverCache=!0)}}])}();Object.defineProperty(StampResourceCache,"stampResources",{enumerable:!0,configurable:!0,writable:!0,value:new Map});var Stamp=function(e){function t(e,r,n,i){var o,a;return _classCallCheck$1(this,t),a=_callSuper$c(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(a,"stampId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(a,"resizable",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"imgUrl",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(a,"img",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),(null!==(o=t.stampResourceCache.get(a.stampId))&&void 0!==o?o:t.stampResourceCache.cache(a.stampId,a.imgUrl,a.resizable)).getImgEl.then((function(e){a.img=e,a.emitRenderRequest()})),a}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map((function(e){return _objectSpread$3({},e)}))),shapeId:r,creator:e,pageId:this.pageId},this.stampId,this.resizable,this.imgUrl)}},{key:"shapeType",get:function(){return ShapeType.Stamp}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"export",value:function(){return Object.assign({},_superPropGet$2(t,"export",this,3)([]),{imgUrl:this.imgUrl,stampId:this.stampId,resizable:this.resizable})}},{key:"genDrawMsg",value:function(e){return _objectSpread$3(_objectSpread$3({},_superPropGet$2(t,"genDrawMsg",this,3)([e])),{},{data:points2numArr(this.resizable?this.points:[this.center,this.center]).join(" "),pageId:this.pageId,image:JSON.stringify({height:this.height,url:this.stampId,width:this.width})})}},{key:"genRgnMsg",value:function(e){return _objectSpread$3(_objectSpread$3({},_superPropGet$2(t,"genRgnMsg",this,3)([e])),{},{pageId:this.pageId})}},{key:"isPointInShape",value:function(e,t){return e>this.minx&&this.maxx>e&&t>this.miny&&this.maxy>t}},{key:"isGif",value:function(){return includes(this.imgUrl,"gif")}},{key:"renderShape",value:function(e){if(this.img){e.save();try{this.resizable?e.drawImage(this.img,this.points[0].x,this.points[0].y,this.points[1].x-this.points[0].x,this.points[1].y-this.points[0].y):e.drawImage(this.img,this.center.x-this.img.naturalWidth/2,this.center.y-this.img.naturalHeight/2)}catch(e){console.error(e)}e.restore()}}},{key:"outlineResizeHandles",get:function(){var e=this;return this.resizable?[new OutlineResizeHandle((function(){return e.minx}),(function(){return e.miny}),"nwse-resize",ResizeType.widthAndHeight),new OutlineResizeHandle((function(){return(e.minx+e.maxx)/2}),(function(){return e.miny}),"ns-resize",ResizeType.height),new OutlineResizeHandle((function(){return e.maxx}),(function(){return e.miny}),"nesw-resize",ResizeType.widthAndHeight),new OutlineResizeHandle((function(){return e.maxx}),(function(){return(e.miny+e.maxy)/2}),"ew-resize",ResizeType.width),new OutlineResizeHandle((function(){return e.maxx}),(function(){return e.maxy}),"nwse-resize",ResizeType.widthAndHeight),new OutlineResizeHandle((function(){return(e.minx+e.maxx)/2}),(function(){return e.maxy}),"ns-resize",ResizeType.height),new OutlineResizeHandle((function(){return e.minx}),(function(){return e.maxy}),"nesw-resize",ResizeType.widthAndHeight),new OutlineResizeHandle((function(){return e.minx}),(function(){return(e.miny+e.maxy)/2}),"ew-resize",ResizeType.width)]:[new OutlineResizeHandle((function(){return e.minx}),(function(){return e.miny}),"",ResizeType.none),new OutlineResizeHandle((function(){return e.maxx}),(function(){return e.miny}),"",ResizeType.none),new OutlineResizeHandle((function(){return e.maxx}),(function(){return e.maxy}),"",ResizeType.none),new OutlineResizeHandle((function(){return e.minx}),(function(){return e.maxy}),"",ResizeType.none)]}},{key:"destructor",value:function(){_superPropGet$2(t,"destructor",this,3)([])}}])}(),MouseType;function _callSuper$b(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$b()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$b=function(){return!!e})()}Object.defineProperty(Stamp,"stampResourceCache",{enumerable:!0,configurable:!0,writable:!0,value:StampResourceCache}),function(e){e.draw="draw",e.select="select",e.delete="delete",e.erase="erase",e.text="text",e.polygon="polygon",e.laserPointer="laserPointer",e.default="default"}(MouseType||(MouseType={}));var pencilImage=void 0,eraserImage=void 0,textCursorImage=void 0,pointerImage=void 0,polygonImage=void 0;ImageLoader.loadImg(images.pencil).then((function(e){return pencilImage=e})).catch((function(e){Log.logError("cursor load failed: ",e)})),ImageLoader.loadImg(images.eraser).then((function(e){return eraserImage=e})).catch((function(e){Log.logError("cursor load failed: ",e)})),ImageLoader.loadImg(images.text).then((function(e){return textCursorImage=e})).catch((function(e){Log.logError("cursor load failed: ",e)})),ImageLoader.loadImg(images.laser).then((function(e){return pointerImage=e})).catch((function(e){Log.logError("cursor load failed: ",e)})),ImageLoader.loadImg(images.plus).then((function(e){return polygonImage=e})).catch((function(e){Log.logError("cursor load failed: ",e)}));var Cursor=function(e){function t(e,r,n,i){var o;return _classCallCheck$1(this,t),o=_callSuper$b(this,t,[e.points,e.shapeId,e.creator]),Object.defineProperty(o,"userName",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(o,"cursorType",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(o,"color",{enumerable:!0,configurable:!0,writable:!0,value:i}),o}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(){throw Error("Method not implemented.")}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"updateCursor",value:function(e,t,r,n){this.color=r,this.points=[{x:e,y:t}],this.cursorType=n,this.emitRenderRequest()}},{key:"shapeType",get:function(){return ShapeType.Cursor}},{key:"isPointInShape",value:function(){return!1}},{key:"renderShape",value:function(e,t){var r,n,i=t.scale;e.save();var o=pencilImage,a=0,s=0;this.cursorType===MouseType.draw?(o=pencilImage,a=-14):this.cursorType===MouseType.erase?(o=eraserImage,a=-12):this.cursorType===MouseType.select?o=pointerImage:this.cursorType===MouseType.text?o=textCursorImage:this.cursorType===MouseType.polygon&&(o=polygonImage,a=-8,s=-8);var c=this.points[0],l=(null===(r=o)||void 0===r?void 0:r.naturalWidth)||16,u=(null===(n=o)||void 0===n?void 0:n.naturalHeight)||16;o&&e.drawImage(o,0,0,l,u,c.x+s/i,c.y+a/i,l/i,u/i),e.fillStyle=this.color,e.font="".concat(12/i,"px ").concat(DEFAULT_FONT_FAMILY);var d=e.measureText(this.userName).width;drawRoundedRectangle(e,c.x+s/i,c.y+(a-28)/i,d+10/i,18/i,3/i,this.color,this.color),e.fillStyle="RGBA(255,255,255,1)",e.fillText(this.userName,c.x+(s+5)/i,c.y+(a-15)/i),e.restore()}}])}();function parseToolType(e){switch(e){case ShapeType.Pen:return MouseType.draw;case ShapeType.Arrow:case ShapeType.Ellipse:case ShapeType.Line:case ShapeType.Circle:case ShapeType.Square:case ShapeType.Rect:case ShapeType.Stamp:return MouseType.polygon;case ShapeType.Select:case ShapeType.Click:return MouseType.select;case ShapeType.Brush:return MouseType.erase;case ShapeType.Delete:return MouseType.delete;case ShapeType.Text:return MouseType.text;case ShapeType.LaserPointer:return MouseType.laserPointer;default:return MouseType.default}}function getShapeCursorStyle(e){switch(parseToolType(e)){case MouseType.erase:return"none";case MouseType.delete:return"url('".concat(images.eraser,"') 0 12, auto");case MouseType.draw:return Environment.isSafari()?"auto":"url('".concat(images.pencil,"') 0 16, auto");case MouseType.laserPointer:return"url('".concat(images.laser,"') 14 14, auto");case MouseType.polygon:return"url('".concat(images.plus,"') 8 8, auto");case MouseType.select:return"url('".concat(images.select,"') 0 0, auto");case MouseType.text:return"url('".concat(images.text,"') 0 0, auto");default:return""}}Environment.isSafari();var RenderStats=function(){return _createClass$1((function e(){_classCallCheck$1(this,e),Object.defineProperty(this,"renderInfo",{enumerable:!0,configurable:!0,writable:!0,value:[]})}),[{key:"record",value:function(e,t){this.renderInfo.push({startTime:e,timeCost:t})}}])}(),RENDER_STATUS;!function(e){e[e.Aavilable=0]="Aavilable",e[e.Busy=1]="Busy"}(RENDER_STATUS||(RENDER_STATUS={}));var Renderer=function(){return _createClass$1((function e(t){var r=this;_classCallCheck$1(this,e),Object.defineProperty(this,"wb",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"canvasElement",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"cachedCanvas",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"eraserCacheCvs",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"renderStatus",{enumerable:!0,configurable:!0,writable:!0,value:RENDER_STATUS.Aavilable}),Object.defineProperty(this,"renderStats",{enumerable:!0,configurable:!0,writable:!0,value:new RenderStats}),Object.defineProperty(this,"frameRenderRate",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"renderContext2d",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"eraserCvsCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cachedCvsCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"eraserCvsOutdated",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_sizeLimitStyle",{enumerable:!0,configurable:!0,writable:!0,value:{strokeStyle:"rgba(0,0,0,0.5)",lineWidth:1,fillStyle:"rgba(0,0,0,0)"}}),Object.defineProperty(this,"cachedCtxSnapshot",{enumerable:!0,configurable:!0,writable:!0,value:{devicePixelRatio:this.getDevicePixelRatio(),width:0,height:0,translate:[0,0],scale:1,shapesHashSum:0,shapesSize:0,docId:"",pageId:""}}),Object.defineProperty(this,"updateCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e=0>=arguments.length||void 0===arguments[0]||arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Math.floor(r.canvasElement.clientWidth*r.getDevicePixelRatio()),o=Math.floor(r.canvasElement.clientHeight*r.getDevicePixelRatio());if(r.canvasElement.width!==i||r.canvasElement.height!==o||t){if(0===i||0===o)return;Log.logInfo("Renderer.updateCanvasSize before",{width:r.canvasElement.width,height:r.canvasElement.height},"after",{width:i,height:o}),r.canvasElement.width=i,r.canvasElement.height=o,r.cachedCanvas.width=i,r.cachedCanvas.height=o,r.eraserCacheCvs.width=i,r.eraserCacheCvs.height=o}n&&setTimeout((function(){r.updateCanvasSize(e,t,!1)}),1e3)}}),Object.defineProperty(this,"checkCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:function(){Log.logInfo("Renderer.checkCanvasSize");try{var e=Math.floor(r.canvasElement.clientWidth*r.getDevicePixelRatio()),t=Math.floor(r.canvasElement.clientHeight*r.getDevicePixelRatio());if(r.canvasElement.width!==e||r.canvasElement.height!==t){if(0===e||0===t)return;Log.logInfo("Renderer._checkCanvasSize before",{width:r.canvasElement.width,height:r.canvasElement.height},"after",{width:e,height:t}),r.canvasElement.width=e,r.canvasElement.height=t,r.cachedCanvas.width=e,r.cachedCanvas.height=t,r.eraserCacheCvs.width=e,r.eraserCacheCvs.height=t,r.doRebuildCacheRenderer(),r.updateBg()}}catch(e){Log.logError("check canvas size error",e)}}}),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.renderStatus!==RENDER_STATUS.Busy&&(r.wb.isWhiteboardOpen?(r.renderStatus=RENDER_STATUS.Busy,requestAnimationFrame((function(){return r.doRender()}))):Log.logInfo("Renderer.render whiteboard not open yet, will not render"))}}),Object.defineProperty(this,"doRender",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e=Date.now(),t=(new Date).toISOString();r.renderStatus=RENDER_STATUS.Aavilable,r.updateBg(),r.renderShapes(),r.renderStats.record(t,Date.now()-e)}}),Object.defineProperty(this,"updateBg",{enumerable:!0,configurable:!0,writable:!0,value:function(){if(r.wb.isWhiteboardOpen&&r.renderContext2d){var e=r.wb.currentPage.backgroundImage;if(r.wbWrapperDom.style.backgroundColor=r.wb.backgroundColor,e?(r.wb.bgImg.src!==e.imgUrl&&(r.wb.bgImg.src=e.imgUrl),r.wb.bgImg.style.display="block",r.wb.bgImg.style.transform="translate(".concat(r.translate[0],"px,").concat(r.translate[1],"px) scale(").concat(r.scale,")"),r.wb.bgImg.style.left="".concat(e.points[0].x*r.scale,"px"),r.wb.bgImg.style.top="".concat(e.points[0].y*r.scale,"px"),r.wb.bgImg.style.width="".concat(e.width,"px"),r.wb.bgImg.style.height="".concat(e.height,"px")):(r.wb.bgImg.src="",r.wb.bgImg.style.display="none"),"pdf"===r.wb.activeDoc.type&&(r.wb.pdfWrapper.style.left="0px",r.wb.pdfWrapper.style.top="0px",r.wb.pdfWrapper.style.transform="translate(".concat(r.translate[0],"px,").concat(r.translate[1],"px) scale(").concat(r.scale,")")),r.selectedShape instanceof Text){var t="".concat(r.selectedShape.maxy-r.selectedShape.miny+2*r.selectedShape.fontStyle.fontSize,"px"),n="".concat(r.selectedShape.maxx-r.selectedShape.minx,"px"),i=r.selectedShape.fontStyleStr,o=r.selectedShape.shapeStyle.strokeStyle,a="".concat(r.selectedShape.minx*r.scale+r.translate[0],"px"),s="".concat(r.selectedShape.miny*r.scale+r.translate[1],"px"),c="scale(".concat(r.scale,")");r.textArea.style.left===a&&r.textArea.style.top===s&&r.textArea.style.transform===c&&r.textArea.style.height===t&&r.textArea.style.width===n&&r.textArea.style.font===i&&r.textArea.style.color===o&&"1"===r.textArea.style.zIndex||(r.textArea.style.left=a,r.textArea.style.top=s,r.textArea.style.transform=c,r.textArea.style.height=t,r.textArea.style.width=n,r.textArea.style.font=i,r.textArea.style.color=o,r.textArea.style.zIndex="1",r.textArea.style.lineHeight="".concat(Text.LINE_HEIGHT),r.textArea.style.verticalAlign="top")}else r.textArea.style.zIndex="0",r.textArea.style.color="transparent"}}}),Object.defineProperty(this,"doRebuildCacheRenderer",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.frameRenderRate++,r.cachedCvsCtx.clearRect(0,0,r.cachedCanvas.width,r.cachedCanvas.height),r.renderAllVisibleShapes(r.cachedCvsCtx,r.translate,r.scale,!1),r.renderContext2d.clearRect(0,0,r.canvasElement.width,r.canvasElement.height),r.renderTopShapes(r.renderContext2d,r.translate,r.scale),r.visibleShapes.forEach((function(e){return e.hash=0})),r.cachedCtxSnapshot={docId:r.wb.activeDocId,pageId:r.wb.currentPage.pageId,devicePixelRatio:r.getDevicePixelRatio(),width:r.canvasElement.width,height:r.canvasElement.height,translate:[r.translate[0],r.translate[1]],scale:r.scale,shapesHashSum:0,shapesSize:r.visibleShapes.length},r.eraserCvsOutdated=!0}}),Object.defineProperty(this,"rebuildCacheRenderer",{enumerable:!0,configurable:!0,writable:!0,value:debounce(this.doRebuildCacheRenderer,500)}),this.cachedCanvas.className="dingrtc-wb__cache-cvs",this.canvasElement.style.pointerEvents="none",this.cachedCanvas.style.pointerEvents="none",this.renderContext2d=this.canvasElement.getContext("2d"),this.eraserCvsCtx=this.eraserCacheCvs.getContext("2d"),this.cachedCvsCtx=this.cachedCanvas.getContext("2d"),this.wbWrapperDom.appendChild(this.cachedCanvas),this.wbWrapperDom.appendChild(this.canvasElement)}),[{key:"translate",get:function(){return this.wb.translate}},{key:"scale",get:function(){return this.wb.scale}},{key:"wbWrapperDom",get:function(){return this.wb.wbWrapperDom}},{key:"selectedShape",get:function(){return this.wb.selectedShape}},{key:"textArea",get:function(){return this.wb.textArea}},{key:"hideCanvas",value:function(){this.canvasElement.style.visibility="hidden",this.cachedCanvas.style.visibility="hidden"}},{key:"showCanvas",value:function(){this.canvasElement.style.visibility="visible",this.cachedCanvas.style.visibility="visible"}},{key:"activeShapes",get:function(){return this.visibleShapes.slice(this.cachedCtxSnapshot.shapesSize)}},{key:"visibleShapes",get:function(){return this.wb.visibleShapes}},{key:"anyEraserInActiveShapes",get:function(){return some(this.activeShapes,(function(e){return e.shapeType===ShapeType.Brush}))}},{key:"insertType",get:function(){return this.wb.getToolType()}},{key:"lineWidth",get:function(){return this.wb.lineWidth}},{key:"getDevicePixelRatio",value:function(){return window.devicePixelRatio||1}},{key:"renderActiveShapes",value:function(){var e=this,t=this.renderContext2d,r=this.translate,n=this.scale;t.translate(r[0]*this.getDevicePixelRatio(),r[1]*this.getDevicePixelRatio()),t.scale(n*this.getDevicePixelRatio(),n*this.getDevicePixelRatio());var i=this.wb.getViewport();this.activeShapes.forEach((function(r){r.render(t,{scale:e.scale,translate:e.translate,wrapperDom:e.wbWrapperDom,viewport:i,lineWidth:e.wb.lineWidth,insertType:e.wb.getToolType(),forceRenderText:!1})})),this.activeShapes.forEach((function(r){r.renderOutline(t,e.scale)})),t.scale(1/n/this.getDevicePixelRatio(),1/n/this.getDevicePixelRatio()),t.translate(-r[0]*this.getDevicePixelRatio(),-r[1]*this.getDevicePixelRatio())}},{key:"isCacheCtxOutdated",get:function(){var e=this.cachedCtxSnapshot,t=e.translate,r=e.shapesHashSum,n=e.shapesSize;return e.docId!==this.wb.activeDocId||e.pageId!==this.wb.currentPage.pageId||n>this.visibleShapes.length||e.width!==this.canvasElement.width||e.height!==this.canvasElement.height||e.scale!==this.scale||e.devicePixelRatio!==this.getDevicePixelRatio()||t[0]!==this.translate[0]||t[1]!==this.translate[1]||r!==this.visibleShapes.slice(0,n).reduce((function(e,t){return e+t.hash}),0)}},{key:"renderShapes",value:function(){var e=this.renderContext2d;e.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.isCacheCtxOutdated?this.doRebuildCacheRenderer():(this.frameRenderRate++,this.anyEraserInActiveShapes&&(this.eraserCvsOutdated&&(this.eraserCvsCtx.clearRect(0,0,this.eraserCacheCvs.width,this.eraserCacheCvs.height),this.eraserCvsCtx.drawImage(this.cachedCanvas,0,0,this.cachedCanvas.width,this.cachedCanvas.height),this.cachedCvsCtx.clearRect(0,0,this.cachedCanvas.width,this.cachedCanvas.height),this.eraserCvsOutdated=!1),this.renderContext2d.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.renderContext2d.drawImage(this.eraserCacheCvs,0,0,this.eraserCacheCvs.width,this.eraserCacheCvs.height)),this.renderActiveShapes(),this.renderTopShapes(e,this.translate,this.scale)),this.activeShapes.length&&this.rebuildCacheRenderer()}},{key:"renderAllVisibleShapes",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.translate,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.scale,i=arguments.length>3?arguments[3]:void 0;e.translate(r[0]*this.getDevicePixelRatio(),r[1]*this.getDevicePixelRatio()),e.scale(n*this.getDevicePixelRatio(),n*this.getDevicePixelRatio());var o=this.wb.getViewport();this.visibleShapes.forEach((function(r){r.render(e,{scale:t.scale,translate:t.translate,wrapperDom:t.wbWrapperDom,viewport:o,lineWidth:t.wb.lineWidth,insertType:t.wb.getToolType(),forceRenderText:i})})),this.visibleShapes.forEach((function(r){r.renderOutline(e,t.scale)})),e.scale(1/n/this.getDevicePixelRatio(),1/n/this.getDevicePixelRatio()),e.translate(-r[0]*this.getDevicePixelRatio(),-r[1]*this.getDevicePixelRatio())}},{key:"renderTopShapes",value:function(e){var t,r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.translate,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.scale;if(e.translate(n[0]*this.getDevicePixelRatio(),n[1]*this.getDevicePixelRatio()),e.scale(i*this.getDevicePixelRatio(),i*this.getDevicePixelRatio()),this.wb.sizeLimitVisible&&(this.wb.sizeConfig||"scroll"===this.wb.activeDoc.browseMode)){var o,a,s=(null===(o=this.wb.sizeConfig)||void 0===o?void 0:o.width)||this.wb.activeDoc.width,c=(null===(a=this.wb.sizeConfig)||void 0===a?void 0:a.height)||this.wb.activeDoc.scrollHeight;renderRect(e,0+Math.ceil(this._sizeLimitStyle.lineWidth/2),0+Math.ceil(this._sizeLimitStyle.lineWidth/2),s-this._sizeLimitStyle.lineWidth,c-this._sizeLimitStyle.lineWidth,this._sizeLimitStyle.strokeStyle,this._sizeLimitStyle.lineWidth,this._sizeLimitStyle.fillStyle)}var l=this.wb.getViewport();this.wb.laserPointers.forEach((function(t){return t.render(e,{scale:r.scale,translate:r.translate,wrapperDom:r.wbWrapperDom,viewport:l,lineWidth:r.wb.lineWidth,insertType:r.wb.getToolType(),forceRenderText:!1})})),this.wb.selectIndicator.visible&&this.wb.selectIndicator.render(e,{scale:this.scale,translate:this.translate,wrapperDom:this.wbWrapperDom,viewport:l,lineWidth:this.wb.lineWidth,insertType:this.wb.getToolType(),forceRenderText:!1}),this.insertType===ShapeType.Brush&&this.wb.eraserIndicator.render(e,{scale:this.scale,translate:this.translate,wrapperDom:this.wbWrapperDom,viewport:l,lineWidth:this.lineWidth,insertType:this.insertType,forceRenderText:!1}),this.wb.cursors.forEach((function(t){return t.render(e,{scale:r.scale,translate:r.translate,wrapperDom:r.wbWrapperDom,viewport:l,lineWidth:r.lineWidth,insertType:r.insertType,forceRenderText:!1})})),null===(t=this.selectedShape)||void 0===t||t.renderOutline(e,i),e.scale(1/i/this.getDevicePixelRatio(),1/i/this.getDevicePixelRatio()),e.translate(-n[0]*this.getDevicePixelRatio(),-n[1]*this.getDevicePixelRatio())}}])}(),axios$3={exports:{}},bind$2=function(e,t){return function(){for(var r=Array(arguments.length),n=0;r.length>n;n++)r[n]=arguments[n];return e.apply(t,r)}},bind$1=bind$2,toString=Object.prototype.toString;function isArray(e){return"[object Array]"===toString.call(e)}function isUndefined(e){return void 0===e}function isBuffer(e){return null!==e&&!isUndefined(e)&&null!==e.constructor&&!isUndefined(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function isArrayBuffer(e){return"[object ArrayBuffer]"===toString.call(e)}function isFormData(e){return"undefined"!=typeof FormData&&e instanceof FormData}function isArrayBufferView(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function isString(e){return"string"==typeof e}function isNumber(e){return"number"==typeof e}function isObject(e){return null!==e&&"object"==typeof e}function isPlainObject(e){if("[object Object]"!==toString.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function isDate(e){return"[object Date]"===toString.call(e)}function isFile(e){return"[object File]"===toString.call(e)}function isBlob(e){return"[object Blob]"===toString.call(e)}function isFunction(e){return"[object Function]"===toString.call(e)}function isStream(e){return isObject(e)&&isFunction(e.pipe)}function isURLSearchParams(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function trim(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function isStandardBrowserEnv(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function forEach(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),isArray(e))for(var r=0,n=e.length;n>r;r++)t.call(null,e[r],r,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}function merge(){var e={};function t(t,r){e[r]=isPlainObject(e[r])&&isPlainObject(t)?merge(e[r],t):isPlainObject(t)?merge({},t):isArray(t)?t.slice():t}for(var r=0,n=arguments.length;n>r;r++)forEach(arguments[r],t);return e}function extend(e,t,r){return forEach(t,(function(t,n){e[n]=r&&"function"==typeof t?bind$1(t,r):t})),e}function stripBOM(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}var utils$8={isArray:isArray,isArrayBuffer:isArrayBuffer,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:isString,isNumber:isNumber,isObject:isObject,isPlainObject:isPlainObject,isUndefined:isUndefined,isDate:isDate,isFile:isFile,isBlob:isBlob,isFunction:isFunction,isStream:isStream,isURLSearchParams:isURLSearchParams,isStandardBrowserEnv:isStandardBrowserEnv,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM},utils$7=utils$8;function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var buildURL$1=function(e,t,r){if(!t)return e;var n;if(r)n=r(t);else if(utils$7.isURLSearchParams(t))n=""+t;else{var i=[];utils$7.forEach(t,(function(e,t){null!=e&&(utils$7.isArray(e)?t+="[]":e=[e],utils$7.forEach(e,(function(e){utils$7.isDate(e)?e=e.toISOString():utils$7.isObject(e)&&(e=JSON.stringify(e)),i.push(encode(t)+"="+encode(e))})))})),n=i.join("&")}if(n){var o=e.indexOf("#");-1!==o&&(e=e.slice(0,o)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e},utils$6=utils$8;function InterceptorManager$1(){this.handlers=[]}InterceptorManager$1.prototype.use=function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},InterceptorManager$1.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},InterceptorManager$1.prototype.forEach=function(e){utils$6.forEach(this.handlers,(function(t){null!==t&&e(t)}))};var InterceptorManager_1=InterceptorManager$1,utils$5=utils$8,normalizeHeaderName=function(e,t){utils$5.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))},enhanceError=function(e,t,r,n,i){return e.config=t,r&&(e.code=r),e.request=n,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},e},createError,hasRequiredCreateError,settle,hasRequiredSettle,cookies,hasRequiredCookies,isAbsoluteURL,hasRequiredIsAbsoluteURL,combineURLs,hasRequiredCombineURLs,buildFullPath,hasRequiredBuildFullPath,parseHeaders,hasRequiredParseHeaders,isURLSameOrigin,hasRequiredIsURLSameOrigin,Cancel_1,hasRequiredCancel,xhr,hasRequiredXhr,defaults_1,hasRequiredDefaults;function requireCreateError(){if(hasRequiredCreateError)return createError;hasRequiredCreateError=1;var e=enhanceError;return createError=function(t,r,n,i,o){return e(Error(t),r,n,i,o)}}function requireSettle(){if(hasRequiredSettle)return settle;hasRequiredSettle=1;var e=requireCreateError();return settle=function(t,r,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?r(e("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}}function requireCookies(){if(hasRequiredCookies)return cookies;hasRequiredCookies=1;var e=utils$8;return cookies=e.isStandardBrowserEnv()?{write:function(t,r,n,i,o,a){var s=[];s.push(t+"="+encodeURIComponent(r)),e.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),e.isString(i)&&s.push("path="+i),e.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}},cookies}function requireIsAbsoluteURL(){return hasRequiredIsAbsoluteURL?isAbsoluteURL:(hasRequiredIsAbsoluteURL=1,isAbsoluteURL=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)})}function requireCombineURLs(){return hasRequiredCombineURLs?combineURLs:(hasRequiredCombineURLs=1,combineURLs=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e})}function requireBuildFullPath(){if(hasRequiredBuildFullPath)return buildFullPath;hasRequiredBuildFullPath=1;var e=requireIsAbsoluteURL(),t=requireCombineURLs();return buildFullPath=function(r,n){return r&&!e(n)?t(r,n):n}}function requireParseHeaders(){if(hasRequiredParseHeaders)return parseHeaders;hasRequiredParseHeaders=1;var e=utils$8,t=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];return parseHeaders=function(r){var n,i,o,a={};return r?(e.forEach(r.split("\n"),(function(r){if(o=r.indexOf(":"),n=e.trim(r.substr(0,o)).toLowerCase(),i=e.trim(r.substr(o+1)),n){if(a[n]&&t.indexOf(n)>=0)return;a[n]="set-cookie"===n?(a[n]?a[n]:[]).concat([i]):a[n]?a[n]+", "+i:i}})),a):a}}function requireIsURLSameOrigin(){if(hasRequiredIsURLSameOrigin)return isURLSameOrigin;hasRequiredIsURLSameOrigin=1;var e=utils$8;return isURLSameOrigin=e.isStandardBrowserEnv()?function(){var t,r=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var t=e;return r&&(n.setAttribute("href",t),t=n.href),n.setAttribute("href",t),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=i(window.location.href),function(r){var n=e.isString(r)?i(r):r;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}}function requireCancel(){if(hasRequiredCancel)return Cancel_1;function e(e){this.message=e}return hasRequiredCancel=1,e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,Cancel_1=e}function requireXhr(){if(hasRequiredXhr)return xhr;hasRequiredXhr=1;var e=utils$8,t=requireSettle(),r=requireCookies(),n=buildURL$1,i=requireBuildFullPath(),o=requireParseHeaders(),a=requireIsURLSameOrigin(),s=requireCreateError(),c=requireDefaults(),l=requireCancel();return xhr=function(u){return new Promise((function(d,p){var h,f=u.data,g=u.headers,y=u.responseType;function v(){u.cancelToken&&u.cancelToken.unsubscribe(h),u.signal&&u.signal.removeEventListener("abort",h)}e.isFormData(f)&&delete g["Content-Type"];var m=new XMLHttpRequest;u.auth&&(g.Authorization="Basic "+btoa((u.auth.username||"")+":"+(u.auth.password?unescape(encodeURIComponent(u.auth.password)):"")));var b=i(u.baseURL,u.url);function S(){if(m){var e="getAllResponseHeaders"in m?o(m.getAllResponseHeaders()):null;t((function(e){d(e),v()}),(function(e){p(e),v()}),{data:y&&"text"!==y&&"json"!==y?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:e,config:u,request:m}),m=null}}if(m.open(u.method.toUpperCase(),n(b,u.params,u.paramsSerializer),!0),m.timeout=u.timeout,"onloadend"in m?m.onloadend=S:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(S)},m.onabort=function(){m&&(p(s("Request aborted",u,"ECONNABORTED",m)),m=null)},m.onerror=function(){p(s("Network Error",u,null,m)),m=null},m.ontimeout=function(){var e=u.timeout?"timeout of "+u.timeout+"ms exceeded":"timeout exceeded";u.timeoutErrorMessage&&(e=u.timeoutErrorMessage),p(s(e,u,(u.transitional||c.transitional).clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",m)),m=null},e.isStandardBrowserEnv()){var _=(u.withCredentials||a(b))&&u.xsrfCookieName?r.read(u.xsrfCookieName):void 0;_&&(g[u.xsrfHeaderName]=_)}"setRequestHeader"in m&&e.forEach(g,(function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete g[t]:m.setRequestHeader(t,e)})),e.isUndefined(u.withCredentials)||(m.withCredentials=!!u.withCredentials),y&&"json"!==y&&(m.responseType=u.responseType),"function"==typeof u.onDownloadProgress&&m.addEventListener("progress",u.onDownloadProgress),"function"==typeof u.onUploadProgress&&m.upload&&m.upload.addEventListener("progress",u.onUploadProgress),(u.cancelToken||u.signal)&&(h=function(e){m&&(p(!e||e&&e.type?new l("canceled"):e),m.abort(),m=null)},u.cancelToken&&u.cancelToken.subscribe(h),u.signal&&(u.signal.aborted?h():u.signal.addEventListener("abort",h))),f||(f=null),m.send(f)}))}}function requireDefaults(){if(hasRequiredDefaults)return defaults_1;hasRequiredDefaults=1;var e=utils$8,t=normalizeHeaderName,r=enhanceError,n={"Content-Type":"application/x-www-form-urlencoded"};function i(t,r){!e.isUndefined(t)&&e.isUndefined(t["Content-Type"])&&(t["Content-Type"]=r)}var o,a={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(o=requireXhr()),o),transformRequest:[function(r,n){return t(n,"Accept"),t(n,"Content-Type"),e.isFormData(r)||e.isArrayBuffer(r)||e.isBuffer(r)||e.isStream(r)||e.isFile(r)||e.isBlob(r)?r:e.isArrayBufferView(r)?r.buffer:e.isURLSearchParams(r)?(i(n,"application/x-www-form-urlencoded;charset=utf-8"),""+r):e.isObject(r)||n&&"application/json"===n["Content-Type"]?(i(n,"application/json"),function(t,r){if(e.isString(t))try{return(r||JSON.parse)(t),e.trim(t)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(t)}(r)):r}],transformResponse:[function(t){var n=this.transitional||a.transitional,i=!(n&&n.silentJSONParsing)&&"json"===this.responseType;if(i||n&&n.forcedJSONParsing&&e.isString(t)&&t.length)try{return JSON.parse(t)}catch(e){if(i){if("SyntaxError"===e.name)throw r(e,this,"E_JSON_PARSE");throw e}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&300>e},headers:{common:{Accept:"application/json, text/plain, */*"}}};return e.forEach(["delete","get","head"],(function(e){a.headers[e]={}})),e.forEach(["post","put","patch"],(function(t){a.headers[t]=e.merge(n)})),defaults_1=a}var utils$4=utils$8,defaults$2=requireDefaults(),transformData$1=function(e,t,r){var n=this||defaults$2;return utils$4.forEach(r,(function(r){e=r.call(n,e,t)})),e},isCancel$1,hasRequiredIsCancel;function requireIsCancel(){return hasRequiredIsCancel?isCancel$1:(hasRequiredIsCancel=1,isCancel$1=function(e){return!(!e||!e.__CANCEL__)})}var utils$3=utils$8,transformData=transformData$1,isCancel=requireIsCancel(),defaults$1=requireDefaults(),Cancel=requireCancel();function throwIfCancellationRequested(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Cancel("canceled")}var dispatchRequest$1=function(e){return throwIfCancellationRequested(e),e.headers=e.headers||{},e.data=transformData.call(e,e.data,e.headers,e.transformRequest),e.headers=utils$3.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),utils$3.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||defaults$1.adapter)(e).then((function(t){return throwIfCancellationRequested(e),t.data=transformData.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return isCancel(t)||(throwIfCancellationRequested(e),t&&t.response&&(t.response.data=transformData.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))},utils$2=utils$8,mergeConfig$2=function(e,t){t=t||{};var r={};function n(e,t){return utils$2.isPlainObject(e)&&utils$2.isPlainObject(t)?utils$2.merge(e,t):utils$2.isPlainObject(t)?utils$2.merge({},t):utils$2.isArray(t)?t.slice():t}function i(r){return utils$2.isUndefined(t[r])?utils$2.isUndefined(e[r])?void 0:n(void 0,e[r]):n(e[r],t[r])}function o(e){if(!utils$2.isUndefined(t[e]))return n(void 0,t[e])}function a(r){return utils$2.isUndefined(t[r])?utils$2.isUndefined(e[r])?void 0:n(void 0,e[r]):n(void 0,t[r])}function s(r){return r in t?n(e[r],t[r]):r in e?n(void 0,e[r]):void 0}var c={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s};return utils$2.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){var t=c[e]||i,n=t(e);utils$2.isUndefined(n)&&t!==s||(r[e]=n)})),r},data,hasRequiredData;function requireData(){return hasRequiredData?data:(hasRequiredData=1,data={version:"0.24.0"})}var VERSION=requireData().version,validators$1={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){validators$1[e]=function(r){return typeof r===e||"a"+(1>t?"n ":" ")+e}}));var deprecatedWarnings={};function assertOptions(e,t,r){if("object"!=typeof e)throw new TypeError("options must be an object");for(var n=Object.keys(e),i=n.length;i-- >0;){var o=n[i],a=t[o];if(a){var s=e[o],c=void 0===s||a(s,o,e);if(!0!==c)throw new TypeError("option "+o+" must be "+c)}else if(!0!==r)throw Error("Unknown option "+o)}}validators$1.transitional=function(e,t,r){function n(e,t){return"[Axios v"+VERSION+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,i,o){if(!1===e)throw Error(n(i," has been removed"+(t?" in "+t:"")));return t&&!deprecatedWarnings[i]&&(deprecatedWarnings[i]=!0,console.warn(n(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,i,o)}};var validator$1={assertOptions:assertOptions,validators:validators$1},utils$1=utils$8,buildURL=buildURL$1,InterceptorManager=InterceptorManager_1,dispatchRequest=dispatchRequest$1,mergeConfig$1=mergeConfig$2,validator=validator$1,validators=validator.validators;function Axios$1(e){this.defaults=e,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}Axios$1.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=mergeConfig$1(this.defaults,e)).method=e.method?e.method.toLowerCase():this.defaults.method?this.defaults.method.toLowerCase():"get";var t=e.transitional;void 0!==t&&validator.assertOptions(t,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1);var r=[],n=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(n=n&&t.synchronous,r.unshift(t.fulfilled,t.rejected))}));var i,o=[];if(this.interceptors.response.forEach((function(e){o.push(e.fulfilled,e.rejected)})),!n){var a=[dispatchRequest,void 0];for(Array.prototype.unshift.apply(a,r),a=a.concat(o),i=Promise.resolve(e);a.length;)i=i.then(a.shift(),a.shift());return i}for(var s=e;r.length;){var c=r.shift(),l=r.shift();try{s=c(s)}catch(e){l(e);break}}try{i=dispatchRequest(s)}catch(e){return Promise.reject(e)}for(;o.length;)i=i.then(o.shift(),o.shift());return i},Axios$1.prototype.getUri=function(e){return e=mergeConfig$1(this.defaults,e),buildURL(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},utils$1.forEach(["delete","get","head","options"],(function(e){Axios$1.prototype[e]=function(t,r){return this.request(mergeConfig$1(r||{},{method:e,url:t,data:(r||{}).data}))}})),utils$1.forEach(["post","put","patch"],(function(e){Axios$1.prototype[e]=function(t,r,n){return this.request(mergeConfig$1(n||{},{method:e,url:t,data:r}))}}));var Axios_1=Axios$1,CancelToken_1,hasRequiredCancelToken,spread,hasRequiredSpread,isAxiosError,hasRequiredIsAxiosError;function requireCancelToken(){if(hasRequiredCancelToken)return CancelToken_1;hasRequiredCancelToken=1;var e=requireCancel();function t(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var r;this.promise=new Promise((function(e){r=e}));var n=this;this.promise.then((function(e){if(n._listeners){var t,r=n._listeners.length;for(t=0;r>t;t++)n._listeners[t](e);n._listeners=null}})),this.promise.then=function(e){var t,r=new Promise((function(e){n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},t((function(t){n.reason||(n.reason=new e(t),r(n.reason))}))}return t.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},t.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},t.prototype.unsubscribe=function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}},t.source=function(){var e;return{token:new t((function(t){e=t})),cancel:e}},CancelToken_1=t}function requireSpread(){return hasRequiredSpread?spread:(hasRequiredSpread=1,spread=function(e){return function(t){return e.apply(null,t)}})}function requireIsAxiosError(){return hasRequiredIsAxiosError?isAxiosError:(hasRequiredIsAxiosError=1,isAxiosError=function(e){return"object"==typeof e&&!0===e.isAxiosError})}var utils=utils$8,bind=bind$2,Axios=Axios_1,mergeConfig=mergeConfig$2,defaults=requireDefaults();function createInstance(e){var t=new Axios(e),r=bind(Axios.prototype.request,t);return utils.extend(r,Axios.prototype,t),utils.extend(r,t),r.create=function(t){return createInstance(mergeConfig(e,t))},r}var axios$2=createInstance(defaults);axios$2.Axios=Axios,axios$2.Cancel=requireCancel(),axios$2.CancelToken=requireCancelToken(),axios$2.isCancel=requireIsCancel(),axios$2.VERSION=requireData().version,axios$2.all=function(e){return Promise.all(e)},axios$2.spread=requireSpread(),axios$2.isAxiosError=requireIsAxiosError(),axios$3.exports=axios$2,axios$3.exports.default=axios$2;var axiosExports=axios$3.exports,axios=axiosExports,axios$1=getDefaultExportFromCjs$1(axios);function ownKeys$2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$2(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$2(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$2(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var MAX_MEDIA_SIZE=300,TranscodeStatusCode;function selectAndTranscodeFile(e){return new Promise((function(t,r){var n=e.onUploadProgress,i=e.onTranscodeProgress,o=e.accept,a=e.channelId,s=e.userId,c=e.appId,l=e.securityToken,u=e.gslb,d=e.targetType;Log.logInfo("RtcWhiteboard.uploadFile",o),selectFile(o,(function(e){var o=e.name.split(".").pop()||"";return"pdf"===d&&o===d?uploadTempFile({file:e,channelId:a,userId:s,appId:c,securityToken:l,gslb:u,onProgress:n}).then((function(e){return t({pageCount:1,url:[e.url],fileName:e.fileName,docId:e.docId})}),r):uploadFileForTranscode({file:e,channelId:a,userId:s,appId:c,securityToken:l,gslb:u,onProgress:n}).then((function(e){return transcodeFile({channelId:a,userId:s,appId:c,securityToken:l,gslb:u,targetType:d,docId:e.docId,onProgress:i}).then((function(r){t(_objectSpread$2(_objectSpread$2({},e),r))}),r)}))}))}))}function selectAndUploadTempFile(e){return new Promise((function(t,r){var n=e.onProgress,i=e.accept,o=e.channelId,a=e.userId,s=e.appId,c=e.securityToken,l=e.gslb;Log.logInfo("RtcWhiteboard.uploadFile",i),selectFile(i,(function(e){return uploadTempFile({file:e,channelId:o,userId:a,appId:s,securityToken:c,gslb:l,onProgress:n}).then(t,r)}))}))}function uploadTempFile(e){var t=e.onProgress,r=e.file,n=e.channelId,i=e.userId,o=e.appId,a=e.securityToken,s=e.gslb;return new Promise((function(e,c){if(Log.logInfo("RtcWhiteboard.uploadFile"),r.size/1048576>MAX_MEDIA_SIZE){var l="file too large, up to ".concat(MAX_MEDIA_SIZE,"M, your file size is ").concat(r.size/1048576," M");return Log.logError("RtcWhiteboard.uploadFile: upload failed, ",l,n),c({code:-1,state:"err_file_too_large",message:l})}var u="".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".").concat(i||"",".").concat(n,".").concat(r.name);axios$1.request({url:"".concat(s,"/v1/file/init"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,fileName:u}}).then((function(n){var i=n.data,o=i.docId,a=i.uploadUrl,s=i.uploadInfo,l=new FormData;l.append("policy",s.policy),l.append("OSSAccessKeyId",s.OSSAccessKeyId),l.append("signature",s.signature),l.append("key",s.key),l.append("file",r);var u=0,d=0;axios$1.request({url:a,data:l,method:"POST",headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(e){u=e.total,d=e.loaded,null==t||t({total:e.total,loaded:e.loaded})}}).then((function(){u!==d&&(null==t||t({total:u,loaded:u}));var i=r.name;try{i=decodeURI(escape(i))}catch(e){}e({docId:o,url:n.data.downloadUrl,fileName:i})})).catch((function(){return c({state:"upload_failed",code:-3,message:"file upload failed."})}))})).catch((function(e){return Log.logError("RtcWhiteboard.uploadFile: upload failed, err_failed_fetch_upload_token",e,n),c({code:-2,state:"err_failed_fetch_upload_token",message:"file upload failed."})}))}))}function uploadFileForTranscode(e){var t=e.onProgress,r=e.file,n=e.channelId,i=e.userId,o=e.appId,a=e.securityToken,s=e.gslb;return new Promise((function(e,c){if(Log.logInfo("RtcWhiteboard.uploadFile"),r.size/1048576>MAX_MEDIA_SIZE){var l="file too large, up to ".concat(MAX_MEDIA_SIZE,"M, your file size is ").concat(r.size/1048576," M");return Log.logError("RtcWhiteboard.uploadFile: upload failed, ",l,n),c({code:-1,state:"err_file_too_large",message:l})}var u="".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".").concat(i||"",".").concat(n,".").concat(r.name);axios$1.request({url:"".concat(s,"/v1/docs/init"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,fileName:u}}).then((function(n){var i=n.data,o=i.docId,a=i.uploadUrl,s=i.uploadInfo,l=new FormData;l.append("policy",s.policy),l.append("OSSAccessKeyId",s.OSSAccessKeyId),l.append("signature",s.signature),l.append("key",s.key),l.append("file",r);var u=0,d=0;axios$1.request({url:a,data:l,method:"POST",headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(e){u=e.total,d=e.loaded,null==t||t({total:e.total,loaded:e.loaded})}}).then((function(){u!==d&&(null==t||t({total:u,loaded:u}));var n=r.name;try{n=decodeURI(escape(n))}catch(e){}e({docId:o,fileName:n})})).catch((function(){return c({state:"upload_failed",code:-3,message:"file upload failed."})}))})).catch((function(e){return Log.logError("RtcWhiteboard.uploadFile: upload failed, err_failed_fetch_upload_token",e,n),c({code:-2,state:"err_failed_fetch_upload_token",message:"file upload failed."})}))}))}function selectFile(e,t){var r=document.createElement("input");r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.zIndex="-100",r.style.visibility="hidden",document.body.appendChild(r),r.type="file",r.accept=e,r.addEventListener("change",(function(e){document.body.removeChild(r);var n=get(e,"target.files[0]");n&&t(n)})),r.click()}function mapTranscodeStatusCode(e){switch(e){case TranscodeStatusCode.INIT:return"init";case TranscodeStatusCode.PROCESSING:return"processing";case TranscodeStatusCode.FINISH:case TranscodeStatusCode.PARSED:return"success";default:return"failed"}}function transcodeFile(e){var t=e.onProgress,r=e.targetType,n=e.channelId,i=e.userId,o=e.appId,a=e.securityToken,s=e.gslb,c=e.docId;function l(){return new Promise((function(e,r){axios$1.request({url:"".concat(s,"/v1/docs/describe"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,docId:c}}).then((function(n){return null==t||t(mapTranscodeStatusCode(n.data.status)),n.data.status===TranscodeStatusCode.FINISH||n.data.status===TranscodeStatusCode.PARSED?e(n.data):n.data.status===TranscodeStatusCode.FAILED?r(n):void setTimeout((function(){return l().then(e,r)}),3e3)}))}))}return new Promise((function(e,t){axios$1.request({url:"".concat(s,"/v1/docs/start"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,docId:c,targetType:r}}).then((function(r){var n;return 200===(null===(n=r.data)||void 0===n?void 0:n.statusCode)?l().then(e,t):t(r.data)})).catch((function(e){t(e)}))}))}!function(e){e[e.INIT=0]="INIT",e[e.PROCESSING=1]="PROCESSING",e[e.FINISH=2]="FINISH",e[e.PARSED=3]="PARSED",e[e.FAILED=-1]="FAILED"}(TranscodeStatusCode||(TranscodeStatusCode={}));var name$1="@dingrtc/whiteboard",version$2="1.1.1",description$1="DingRTC web whiteboard SDK.",scripts$1={build:"env=production app=whiteboard bash ../../scripts/build.sh ","publish:npm":"npm run build && clean-package -c ../../clean-package.prod.js && pnpm publish && clean-package restore","publish:tnpm":"npm run build:dev && clean-package -c ../../clean-package.dev.js && pnpm publish && clean-package restore"},dependencies$1={"@dingrtc/shared":"1.1.5","@dingrtc/channel":"1.1.7"},exports$1={".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./PdfPlugin":{types:"./dist/PdfPlugin.d.ts",import:"./dist/PdfPlugin.js"}},type="module",files=["types","dist"],author="",license$1="ISC",publishConfig$1={access:"public",registry:"https://registry.anpm.alibaba-inc.com"},packageInfo={name:name$1,version:version$2,description:description$1,scripts:scripts$1,dependencies:dependencies$1,exports:exports$1,type:type,files:files,author:author,license:license$1,publishConfig:publishConfig$1};function saveLogs(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".web-sdk.logs.gz"),t=new FileReader;t.readAsArrayBuffer(new Blob([JSON.stringify(window._dingrtc_wb_logs||[],null,2)],{type:"text/plain"})),t.onload=function(){var r=new Uint8Array(t.result),n=new File([r],e,{type:"application/x-gzip"}),i=document.createElement("a");i.href=window.URL.createObjectURL(n),i.download=e,i.style.display="none",document.body.appendChild(i),requestAnimationFrame((function(){i.click(),document.body.removeChild(i)}))}}function _callSuper$a(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$a()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$a(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$a=function(){return!!e})()}var Page=function(e){function t(e){var r;return _classCallCheck$1(this,t),r=_callSuper$a(this,t),Object.defineProperty(r,"pageId",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(r,"shapes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(r,"_backgroundColor",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_BACKGROUND}),Object.defineProperty(r,"_backgroundImage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_scale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(r,"_translate",{enumerable:!0,configurable:!0,writable:!0,value:[0,0]}),Object.defineProperty(r,"history",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.history=new History,r}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"scale",get:function(){return this._scale},set:function(e){if(!isNumber$1(e))throw Error("scale must be a number");this._scale=e}},{key:"translate",get:function(){return this._translate},set:function(e){if(!Array.isArray(e))throw Error("translate must be an array");if(!isNumber$1(e[0])||!isNumber$1(e[1]))throw Error("translate must be an array of numbers");this._translate=e}},{key:"miny",get:function(){return-this.translate[1]/this.scale}},{key:"minx",get:function(){return-this.translate[0]/this.scale}},{key:"visibleShapes",get:function(){return this.shapes.filter((function(e){return e.visible}))}},{key:"backgroundImage",get:function(){return this._backgroundImage},set:function(e){this._backgroundImage=e}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=e}},{key:"addShape",value:function(e){var t=this;this.shapes.push(e),e.on("requestRender",(function(){t.emit("page-content-updated",t)})),this.emit("page-content-updated",this)}},{key:"getShapeBySeq",value:function(e,t){var r="".concat(t).concat(SHAPE_SEQ_LINK_STR).concat(e);return this.shapes.find((function(e){return e.shapeId===r}))}},{key:"updateShapesOrder",value:function(){var e=[],t=[],r=[],n=[];this.shapes.forEach((function(i){"normal"===i.order?r.push(i):"bg"===i.order?n.push(i):"back"===i.order?t.push(i):"front"===i.order&&e.push(i)})),e=orderBy(e,"orderTime"),t=orderBy(t,"orderTime","desc"),r=orderBy(r,"orderTime"),n=orderBy(n,"orderTime"),this.shapes=[].concat(_toConsumableArray(n),_toConsumableArray(t),_toConsumableArray(r),_toConsumableArray(e))}},{key:"getShapes",value:function(){return[].concat(_toConsumableArray(this.shapes),_toConsumableArray(this.backgroundImage?[this.backgroundImage]:[]))}},{key:"clearShapes",value:function(){this.shapes.forEach((function(e){return e.destructor()})),this.shapes=[]}},{key:"clearPage",value:function(){this.clearShapes(),this.clearBackgroundImage(),this.history.clearAll()}},{key:"clearBackgroundImage",value:function(){this.backgroundImage&&(this.backgroundImage.destructor(),this.backgroundImage=void 0,this.emit("background-image-updated"))}},{key:"clearUserBackgroundImage",value:function(e){this.backgroundImage&&this.backgroundImage.creator===e&&(this.backgroundImage.destructor(),this.backgroundImage=void 0,this.emit("background-image-updated"))}},{key:"clearUserShapes",value:function(e){this.shapes=this.shapes.filter((function(t){return t.creator!==e||(t.destructor(),!1)})),this.history.clearUserHistory(e)}},{key:"removeShape",value:function(e){var t=findIndex(this.shapes,(function(t){return t.shapeId===e}));if(t>=0){var r=this.shapes[t];this.history.clearShapeHistory(r.shapeId),this.shapes.splice(t,1),r.destructor()}this.backgroundImage&&this.backgroundImage.shapeId===e&&(this.backgroundImage.destructor(),this.backgroundImage=void 0,this.emit("background-image-updated"))}},{key:"reset",value:function(){this.scale=1,this.translate=[0,0],this.backgroundColor=DEFAULT_BACKGROUND,this.backgroundImage=void 0,this.shapes.forEach((function(e){(e instanceof Video||e instanceof Audio)&&e.removeMediaDom(),e.destructor()})),this.clearShapes()}},{key:"export",value:function(){var e;return{pageId:this.pageId,scale:this.scale,translate:this.translate,backgroundColor:this.backgroundColor,backgroundImage:null===(e=this.backgroundImage)||void 0===e?void 0:e.export(),shapes:this.visibleShapes.map((function(e){return e.export()}))}}},{key:"restoreShapes",value:function(e){var r=this,n=t.restoreShapes(e);return n.forEach((function(e){return e&&r.addShape(e)})),this.updateShapesOrder(),n}}],[{key:"restore",value:function(e){var r=new t(e.pageId);return r.scale=e.scale,r.translate=e.translate,r.backgroundColor=e.backgroundColor,r.backgroundImage=e.backgroundImage,this.restoreShapes(e.shapes).forEach((function(e){return e&&r.addShape(e)})),r.updateShapesOrder(),r}},{key:"restoreShapes",value:function(e){return e.map((function(e){var t;switch(e.type){case ShapeType.Pen:t=new Pen({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Arrow:t=new Arrow({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Audio:t=new Audio({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.mediaUrl);break;case ShapeType.Video:t=new Video({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.mediaUrl);break;case ShapeType.Ellipse:t=new Ellipse({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Image:var r=new Image$1({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.imgUrl);r.loadImage(),t=r;break;case ShapeType.Stamp:t=new Stamp({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.stampId,e.resizable,e.imgUrl);break;case ShapeType.Line:t=new Line({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Rect:t=new Rect({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Text:t=new Text({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle,e.text||"",e.fontStyle);break;case ShapeType.Triangle:t=new Triangle({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Rhombic:t=new Rhombic({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle)}return t&&(t.order=e.order,t.orderTime=e.orderTime),t})).filter((function(e){return!!e}))}}])}(),tween={easeInQuad:function(e){return Math.pow(e,2)},easeOutQuad:function(e){return-(Math.pow(e-1,2)-1)},easeInOutQuad:function(e){return 1>(e/=.5)?.5*Math.pow(e,2):-.5*((e-=2)*e-2)},easeInCubic:function(e){return Math.pow(e,3)},easeOutCubic:function(e){return Math.pow(e-1,3)+1},easeInOutCubic:function(e){return 1>(e/=.5)?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},easeInQuart:function(e){return Math.pow(e,4)},easeOutQuart:function(e){return-(Math.pow(e-1,4)-1)},easeInOutQuart:function(e){return 1>(e/=.5)?.5*Math.pow(e,4):-.5*((e-=2)*Math.pow(e,3)-2)},easeInQuint:function(e){return Math.pow(e,5)},easeOutQuint:function(e){return Math.pow(e-1,5)+1},easeInOutQuint:function(e){return 1>(e/=.5)?.5*Math.pow(e,5):.5*(Math.pow(e-2,5)+2)},easeInSine:function(e){return 1-Math.cos(e*(Math.PI/2))},easeOutSine:function(e){return Math.sin(e*(Math.PI/2))},easeInOutSine:function(e){return-.5*(Math.cos(Math.PI*e)-1)},easeInExpo:function(e){return 0===e?0:Math.pow(2,10*(e-1))},easeOutExpo:function(e){return 1===e?1:1-Math.pow(2,-10*e)},easeInOutExpo:function(e){return 0===e?0:1===e?1:1>(e/=.5)?.5*Math.pow(2,10*(e-1)):.5*(2-Math.pow(2,-10*--e))},easeInCirc:function(e){return-(Math.sqrt(1-e*e)-1)},easeOutCirc:function(e){return Math.sqrt(1-Math.pow(e-1,2))},easeInOutCirc:function(e){return 1>(e/=.5)?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},easeOutBounce:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInBack:function(e){var t=1.70158;return e*e*((t+1)*e-t)},easeOutBack:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},easeInOutBack:function(e){var t=1.70158;return 1>(e/=.5)?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},elastic:function(e){return-1*Math.pow(4,-8*e)*Math.sin(2*Math.PI*(6*e-1)/2)+1},swingFromTo:function(e){var t=1.70158;return 1>(e/=.5)?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},swingFrom:function(e){var t=1.70158;return e*e*((t+1)*e-t)},swingTo:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},bounce:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},bouncePast:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?2-(7.5625*(e-=1.5/2.75)*e+.75):2.5/2.75>e?2-(7.5625*(e-=2.25/2.75)*e+.9375):2-(7.5625*(e-=2.625/2.75)*e+.984375)},easeFromTo:function(e){return 1>(e/=.5)?.5*Math.pow(e,4):-.5*((e-=2)*Math.pow(e,3)-2)},easeFrom:function(e){return Math.pow(e,4)},easeTo:function(e){return Math.pow(e,.25)},linear:function(e){return e},sinusoidal:function(e){return-Math.cos(e*Math.PI)/2+.5},reverse:function(e){return 1-e},spring:function(e){return 1-Math.cos(4.5*e*Math.PI)*Math.exp(6*-e)}};function _callSuper$9(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$9()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$9(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$9=function(){return!!e})()}var MAX_SCALE=5,MIN_SCALE=.1,DocBrowserMode,DocType;!function(e){e.flip="flip",e.scroll="scroll"}(DocBrowserMode||(DocBrowserMode={})),function(e){e.normal="normal",e.externalDoc="externalDoc",e.h5="h5",e.pdf="pdf"}(DocType||(DocType={}));var BaseDoc=function(e){function t(e){var r;return _classCallCheck$1(this,t),r=_callSuper$9(this,t),Object.defineProperty(r,"createdEventNotEmited",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(r,"docId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"creator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"pageVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"fileKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"pages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(r,"previousPageIndex",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(r,"curPageId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"maxSeq",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(r,"_browseMode",{enumerable:!0,configurable:!0,writable:!0,value:DocBrowserMode.flip}),Object.defineProperty(r,"disableScale",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(r,"pageSize",{enumerable:!0,configurable:!0,writable:!0,value:{width:1920,height:1080}}),Object.defineProperty(r,"_scrollPages",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(r,"sizeConfig",{enumerable:!0,configurable:!0,writable:!0,value:{width:0,height:0,limited:!1}}),Object.defineProperty(r,"onPageUpdated",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e===r.currentPage&&r.requestRender()}}),Object.defineProperty(r,"updateBoardWithNewScale",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,n,i){"scroll"===r.browseMode&&(t=i.width/2,n=i.height/2);var o=r.scale,a=e>MAX_SCALE?MAX_SCALE:MIN_SCALE>e?MIN_SCALE:e;"scroll"===r.browseMode&&r.disableScale&&(a=i.height/r.pageSize.height>i.width/r.pageSize.width?i.width/r.pageSize.width:i.height/r.pageSize.height);var s=t-(t-r.translate[0])/o*a,c=n-(n-r.translate[1])/o*a,l=s,u=c;if(r.isSizeLimited||"scroll"===r.browseMode){var d=r.getSizeConfigLimitSize(i),p=r.getPotentialViewportPosition([s,c],e,i);if(d.minScale>=a){if(r.setScaleAndTranslate(d.minScale,r.translate,!1,i),"flip"===r.browseMode){var h=r.getLimitedTranslate(d.minScale,d,i);r.setTranslate(h.minX,h.minY,i,!1,0)}return}if("flip"===r.browseMode){var f=r.getLimitedTranslate(a,d,i);p.minY+1>d.minY||(u=f.minY),p.minX+1>d.minX||(l=f.minX),d.maxX>p.maxX-1||(l=f.maxX),d.maxY>p.maxY-1||(u=f.maxY)}}r.setScaleAndTranslate(a,[l,u],!1,i)}}),e.sizeConfig&&r.setSizeConfig(e.sizeConfig),r.docId=e.docId,r.name=e.name,r.creator=e.creator,r.curPageId=e.curPageId,r.pageVersion=e.pageVersion,r.fileKey=e.fileKey,r.browseMode=e.browseMode||DocBrowserMode.flip,r}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"browseMode",get:function(){return this._browseMode},set:function(e){this._browseMode=e}},{key:"scrollPages",get:function(){return this._scrollPages},set:function(e){this._scrollPages=e,this.emit("page-index-changed",this.docId)}},{key:"width",get:function(){return this.pageSize.width}},{key:"scrollPageHeight",get:function(){return this.pageSize.height}},{key:"scrollHeight",get:function(){return this.pageSize.height*this.totalPages}},{key:"y",get:function(){var e;return(null===(e=this.pages[0])||void 0===e?void 0:e.miny)||0}},{key:"currentPageIndex",get:function(){return"scroll"===this.browseMode?Math.floor(this.y/this.pageSize.height):findIndex(this.pages,{pageId:this.curPageId})},set:function(e){if(0>e||e>=this.pages.length)throw Error("page index out of range");if(this.browseMode===DocBrowserMode.flip){var t=this.pages[e].pageId;t!==this.curPageId&&(this.curPageId=t,this.emit("page-index-changed",this.docId))}}},{key:"currentPage",get:function(){return"scroll"===this.browseMode?this.pages[0]:this.pages[this.currentPageIndex]}},{key:"totalPages",get:function(){return"flip"===this.browseMode?this.pages.length:this.scrollPages}},{key:"scale",get:function(){return this.currentPage.scale}},{key:"translate",get:function(){return _toConsumableArray(this.currentPage.translate)}},{key:"setSizeConfig",value:function(e){this.sizeConfig=e}},{key:"isSizeLimited",get:function(){return this.sizeConfig.limited}},{key:"getPageByPageId",value:function(e){return find(this.pages,{pageId:e})}},{key:"getPageIndexByPageId",value:function(e){return findIndex(this.pages,{pageId:e})}},{key:"getPages",value:function(){return this.pages}},{key:"getPageAtIndex",value:function(e){return this.pages[e]}},{key:"generateNewPageId",value:function(){return"".concat(this.docId,"-").concat(++this.maxSeq)}},{key:"addPage",value:function(e){this.pages.splice(arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.pages.length,0,e),this.setUpPageListeners(e),this.emit("page-index-changed",this.docId)}},{key:"removePage",value:function(e){this.pages[e].reset(),this.pages.splice(e,1),this.emit("page-index-changed",this.docId)}},{key:"setUpPageListeners",value:function(e){e.off("page-content-updated",this.onPageUpdated),e.on("page-content-updated",this.onPageUpdated)}},{key:"requestRender",value:function(){this.emit("requestRender",this.docId)}},{key:"regenerate",value:function(e){var t=this,r=this.pages;this.pages=[],this.pages=e.map((function(e){var n=find(r,{pageId:e});return n||(n=new Page(e),t.setUpPageListeners(n)),n}))}},{key:"setScrollY",value:function(e,t){this.setTranslate(this.translate[0],-e*this.scale,t)}},{key:"setTranslate",value:function(e,t,r){var n=this,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:400;if(this.isSizeLimited||"scroll"===this.browseMode){var a=this.getSizeConfigLimitSize(r),s=this.getPotentialViewportPosition([e,t],this.scale,r),c=this.getLimitedTranslate(this.scale,a,r);if(a.minY>=s.minY+1)return this.setScaleAndTranslate(this.scale,[this.translate[0],c.minY],!1,r),void this.requestRender();if(a.minX>=s.minX+1)return this.setScaleAndTranslate(this.scale,[c.minX,this.translate[1]],!1,r),void this.requestRender();if(s.maxX-1>=a.maxX)return this.setScaleAndTranslate(this.scale,[c.maxX,this.translate[1]],!1,r),void this.requestRender();if(s.maxY-1>=a.maxY)return this.setScaleAndTranslate(this.scale,[this.translate[0],c.maxY],!1,r),void this.requestRender()}if(i){var l=e-this.translate[0],u=t-this.translate[1],d=1/(o/RENDER_INTEVAL),p=0,h=_slicedToArray(this.currentPage.translate,2),f=h[0],g=h[1],y=setInterval((function(){n.setScaleAndTranslate(n.scale,[f+tween.easeInOutCubic(p)*l,g+tween.easeInOutCubic(p)*u],!1,r),p+=d,n.requestRender()}),RENDER_INTEVAL);setTimeout((function(){clearInterval(y),n.setScaleAndTranslate(n.scale,[e,t],!1,r),n.requestRender()}),o)}else this.setScaleAndTranslate(this.scale,[e,t],!1,r)}},{key:"setScale",value:function(e){var t=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;1>=arguments.length||void 0===arguments[1]||arguments[1]?this.updateBoardWithNewScale(e,r?r.x:t.width/2,r?r.y:t.height/2,t):this.updateBoardWithNewScale(e,0,0,t)}},{key:"setScaleAndTranslate",value:function(e,t){var r=arguments.length>3?arguments[3]:void 0,n=e;arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&(n=e>MAX_SCALE?MAX_SCALE:MIN_SCALE>e?MIN_SCALE:e),this.currentPage.scale=n,this.sharePageSize&&this.getPages().forEach((function(e){e.scale=n}));var i=t[0],o=t[1];if("scroll"===this.browseMode){i=(r.width-this.width*this.scale)/2,o>0&&(o=0);var a=(r.height/this.scale-this.scrollHeight)*this.scale;a>o&&(o=a)}i===this.translate[0]&&o===this.translate[1]||(this.currentPage.translate[0]=i,this.currentPage.translate[1]=o,this.sharePageSize&&this.getPages().forEach((function(e){e.translate[0]=i,e.translate[1]=o})),this.emit("viewport-updated",this.docId),"scroll"===this.browseMode&&this.previousPageIndex!==this.currentPageIndex&&(this.previousPageIndex=this.currentPageIndex,this.emit("page-index-changed",this.docId)),this.requestRender())}},{key:"setDocViewport",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.currentPage,n=e.width,i=e.height,o=e.minx,a=e.miny,s=0;s=t.height/i>t.width/n?t.width/n:t.height/i,r===this.currentPage?this.setScaleAndTranslate(s,[-o*s-(n*s-t.width)/2,-a*s-(i*s-t.height)/2],!1,t):(r.scale=s,r.translate=[-o*s-(n*s-t.width)/2,-a*s-(i*s-t.height)/2])}},{key:"getSizeConfigLimitSize",value:function(e){var t=this.sizeConfig,r=t.width,n=t.height;"scroll"===this.browseMode&&(r=this.width,n=this.scrollHeight);return{minScale:e.width/r>e.height/n?e.width/r:e.height/n,maxWidth:r,maxHeight:n,minX:0,maxX:r,minY:0,maxY:n}}},{key:"getPotentialViewportPosition",value:function(e,t,r){return{minX:-e[0]/t,minY:-e[1]/t,maxX:r.width/t-e[0]/t,maxY:r.height/t-e[1]/t}}},{key:"getLimitedTranslate",value:function(e,t,r){return{minX:-t.minX*e,minY:-t.minY*e,maxX:(r.width/e-t.maxX)*e,maxY:(r.height/e-t.maxY)*e}}},{key:"scaleBoardFitBackgroundImage",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentPage,t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,n=e.backgroundImage;if(n&&n.width&&t){var i=n.width,o=n.height;if(this.isSizeLimited&&(i=this.sizeConfig.width,o=this.sizeConfig.height),"auto"===r){var a=t.width/i;a>MAX_SCALE?a=MAX_SCALE:MIN_SCALE>a&&(a=MIN_SCALE);var s=t.height/o;s>MAX_SCALE?s=MAX_SCALE:MIN_SCALE>s&&(s=MIN_SCALE),a>s?(e.scale=s,e.translate[0]=t.width/2-i/2*e.scale,e.translate[1]=0):(e.scale=a,e.translate[0]=0,e.translate[1]=t.height/2-o/2*e.scale)}else"fillWidth"===r?(e.scale=t.width/i,e.translate[0]=0,e.translate[1]=0):"fillHeight"===r&&(e.scale=t.height/o,e.translate[0]=0,e.translate[1]=0);this.emit("viewport-updated",this.docId),e===this.currentPage&&this.isSizeLimited&&this.updateBoardWithNewScale(this.scale,0,0,t),this.emit("requestRender",this.docId)}}},{key:"getDocViewportPosition",value:function(e){var t=this.currentPage;return{minx:t.minx,miny:t.miny,maxx:e.width/t.scale+t.minx,maxy:e.height/t.scale+t.miny}}},{key:"export",value:function(){return{docId:this.docId,name:this.name,creator:this.creator,pageIndex:this.currentPageIndex,pageVersion:this.pageVersion,pages:this.pages.map((function(e){return e.export()})),fileKey:this.fileKey}}},{key:"toJson",value:function(){return{docId:this.docId,name:this.name,creator:this.creator,pageIndex:this.currentPageIndex,pageLength:this.pages.length,fileKey:this.fileKey}}},{key:"clear",value:function(){this.pages.forEach((function(e){e.reset(),e.clearPage()}))}},{key:"clearPageById",value:function(e){var t=this.getPageByPageId(e);null==t||t.clearPage()}},{key:"clearUserShapes",value:function(e){this.pages.forEach((function(t){t.clearUserShapes(e)}))}},{key:"clearUserBackgroundImage",value:function(e){this.pages.forEach((function(t){t.clearUserBackgroundImage(e)}))}},{key:"reset",value:function(){this.clear()}}])}();function _callSuper$8(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$8()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$8(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$8=function(){return!!e})()}var ExternalDoc=function(e){function t(e){var r;return _classCallCheck$1(this,t),r=_callSuper$8(this,t,[e]),Object.defineProperty(r,"externalDocWidth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"externalDocHeight",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.externalDocWidth=e.width,r.externalDocHeight=e.height,r}return _inherits$1(t,BaseDoc),_createClass$1(t,[{key:"width",get:function(){return this.externalDocWidth}},{key:"type",get:function(){return t.DOC_TYPE}},{key:"sharePageSize",get:function(){return!1}},{key:"canModifyPage",get:function(){return!0}}])}();function createSkeleton(){var e=document.createElement("div");return e.className="p-pdf-skeletons",e.appendChild(Skeleton()),e.appendChild(Skeleton()),e}function Skeleton(){var e=document.createElement("div");e.className="p-pdf-skeleton";var t=document.createElement("div");t.className="p-pdf-skeleton__avator";var r=document.createElement("div");return r.className="p-pdf-skeleton__content",e.appendChild(t),e.appendChild(r),e}function _callSuper$7(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$7()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$7=function(){return!!e})()}function _superPropGet$1(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}function findPageIndex(e,t){for(var r=0,n=t.length;n>r;){var i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}return r}Object.defineProperty(ExternalDoc,"DOC_TYPE",{enumerable:!0,configurable:!0,writable:!0,value:DocType.externalDoc});var PdfDoc=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$7(this,t,[e]),Object.defineProperty(n,"pdfViewer",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"lastSyncY",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(n,"currentPageMem",{enumerable:!0,configurable:!0,writable:!0,value:{index:0,top:0,bottom:1280}}),Object.defineProperty(n,"lazyLoadPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(e){if("loaded"===n.pdfViewer.state){var t=n.getPdfVisiblePage(e);if(t)for(var r=t.start,i=t.end,o=t.pagesNum,a=n.pdfViewer.domRef,s=0;o>s;s++){var c,l=n.pdfViewer.pdfPages.get(s);if(!l)return;if(s<r||i<s)null===(c=l.domRef.parentNode)||void 0===c||c.removeChild(l.domRef);else l.domRef.parentNode||a.appendChild(l.domRef)}}}),300)}),Object.defineProperty(n,"lazyRenderPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:debounce((function(e){if("loaded"===n.pdfViewer.state){var t=n.getPdfVisiblePage(e);if(t)for(var r,i=t.start,o=t.end,a=t.pagesNum,s=function(e){var t=n.pdfViewer.pdfPages.get(e);if(!t)return{v:void 0};if(!(i>e||e>o||t.rendered||t.rendering)){t.rendering=!0;var r=Date.now();renderPdfPage(t.viewport,t.pdfProxy).then((function(i){var o;t.img.src=i,t.rendered=!0,t.rendering=!1,t.domRef.appendChild(t.img),null===(o=t.skeleton.parentNode)||void 0===o||o.removeChild(t.skeleton),Log.logInfo("RtcWhiteboard.lazyLoadPdf page render success, page",e,"cost",Date.now()-r,n.name,n.docId)})).catch((function(e){console.error(e),Log.logInfo("RtcWhiteboard.lazyLoadPdf page render failed",n.name,n.docId)}))}},c=0;a>c;c++)if(r=s(c))return r.v}}),100)}),n.url=r.url,n}return _inherits$1(t,BaseDoc),_createClass$1(t,[{key:"browseMode",get:function(){return DocBrowserMode.scroll},set:function(e){this._browseMode=DocBrowserMode.scroll}},{key:"type",get:function(){return t.DOC_TYPE}},{key:"sharePageSize",get:function(){return!1}},{key:"canModifyPage",get:function(){return!1}},{key:"width",get:function(){return this.pdfViewer.width}},{key:"scrollHeight",get:function(){return this.pdfViewer.totalHeight}},{key:"isInCurrentMemPage",value:function(){return this.y>=this.currentPageMem.top&&this.currentPageMem.bottom>this.y}},{key:"currentPageIndex",get:function(){if(this.isInCurrentMemPage())return this.currentPageMem.index;var e=findPageIndex(this.y,this.pdfViewer.pageHightList);return this.currentPageMem={index:e,top:this.pdfViewer.pageHightList[e-1]||0,bottom:this.pdfViewer.pageHightList[e]||0},e}},{key:"load",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark((function e(){var t=this;return _regeneratorRuntime$1.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.pdfViewer.state="loading",this.createPdfLoadingPage(),Whiteboard.PdfPlugin){e.next=7;break}return Log.logError("RtcWhiteboard: you have not set the pdf plugin, please add pdf plugin to resolve pdf file."),e.abrupt("return",Promise.reject("RtcWhiteboard load pdf error, because you have not set pdf plugin."));case 7:return e.abrupt("return",Whiteboard.PdfPlugin.loadPdf(this.url,this).then((function(){t.pdfViewer.state="loaded"})).then((function(){t.currentPageMem={index:0,top:0,bottom:t.pdfViewer.pageHightList[0]},t.emit("page-index-changed",t.docId)})).catch((function(e){Log.logError("RtcWhiteboard.handlePdfResource getDocument failed",t.docId,t.name,e)})));case 8:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"setScrollY",value:function(e,r){_superPropGet$1(t,"setScrollY",this)([e,r]),this.isInCurrentMemPage()||this.emit("page-index-changed",this.docId)}},{key:"setScaleAndTranslate",value:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0;"loaded"===this.pdfViewer.state&&_superPropGet$1(t,"setScaleAndTranslate",this)([e,r,n,i])}},{key:"createPdfLoadingPage",value:function(){var e=this.pdfViewer.domRef,t=this.width;this.pdfViewer.totalHeight=t;var r=document.createElement("div");r.className="dingrtc-pdf-viewer__page",e.appendChild(r),r.style.width="".concat(this.width||0,"px"),r.style.height="".concat(t,"px"),r.style.top="".concat(0,"px"),r.setAttribute("data-h","".concat(t));var n=createSkeleton();r.appendChild(n)}},{key:"centerPdfDoc",value:function(){Log.logInfo("RtcWhiteboard.centerPdfDoc",this.docId,this.name);var e=0/this.width;this.getPages().forEach((function(t){t.scale=e,t.translate[0]=0})),this.emit("requestRender",this.docId)}},{key:"getPdfVisiblePage",value:function(e){var t;if("loaded"===this.pdfViewer.state){for(var r=this.pdfViewer.pdfPages.size,n=this.getDocViewportPosition(e),i=-1,o=r-1,a=0;r>a;a++){var s=this.pdfViewer.pdfPages.get(a);if(!s)return;if(-1===i&&s.top>n.miny&&(i=a-1),s.top>=n.maxy){o=a-1;break}}-1===i&&(i=r-1);var c=0>i-3?0:i-3,l=o+3>r?r:o+3;return i!==(null===(t=this.pdfViewer)||void 0===t?void 0:t.pageIndex)&&(this.pdfViewer.pageIndex=i),{pagesNum:r,start:c,end:l,firstVisibleIndex:i,lastVisibleIndex:o}}}}]);var r}();function _callSuper$6(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$6()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$6(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$6=function(){return!!e})()}Object.defineProperty(PdfDoc,"DOC_TYPE",{enumerable:!0,configurable:!0,writable:!0,value:DocType.pdf});var DefaultDoc=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$6(this,t,arguments)}return _inherits$1(t,BaseDoc),_createClass$1(t,[{key:"type",get:function(){return t.DOC_TYPE}},{key:"sharePageSize",get:function(){return!1}},{key:"canModifyPage",get:function(){return!0}}],[{key:"restore",value:function(e){var r=new t({docId:e.docId,name:e.name,creator:e.creator,curPageId:e.curPageId,pageVersion:e.pageVersion,fileKey:e.fileKey,browseMode:e.browseMode});return e.pages.map((function(e){return Page.restore(e)})).forEach((function(e){return r.addPage(e)})),r}}])}();function _callSuper$5(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$5()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$5(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$5=function(){return!!e})()}Object.defineProperty(DefaultDoc,"DOC_TYPE",{enumerable:!0,configurable:!0,writable:!0,value:DocType.normal});var DocManager=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$5(this,t),Object.defineProperty(e,"browseMode",{enumerable:!0,configurable:!0,writable:!0,value:DocBrowserMode.flip}),Object.defineProperty(e,"docs",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"_activeDocId",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_DOC_ID}),Object.defineProperty(e,"onDocRequestRender",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.activeDocId===t&&e.emit("requestRender")}}),Object.defineProperty(e,"onViewportUpdate",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.activeDocId===t&&e.emit("viewport-updated")}}),Object.defineProperty(e,"onPageIndexChanged",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.activeDocId===t&&(e.emit("viewport-updated"),e.emit("page-index-changed",e.activeDocId,e.activeDoc.currentPageIndex,e.activeDoc.totalPages))}}),e.setup(),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"switchActiveDoc",value:function(e){if(!this.getDocByDocId(e))throw Error("docId ".concat(e," not found"));this._activeDocId!==e&&(this._activeDocId=e,this.emit("viewport-updated"),this.emit("doc-switched"),this.emit("requestRender"))}},{key:"activeDocId",get:function(){return this._activeDocId}},{key:"activeDoc",get:function(){return find(this.docs,{docId:this.activeDocId})||this.docs[0]}},{key:"setBrowserMode",value:function(e){var t=1>=arguments.length||void 0===arguments[1]||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{width:1920,height:1080};if("flip"!==e&&"scroll"!==e)throw Error("setBrowserMode: mode must be flip or scroll");var i=this.getDocByDocId(DEFAULT_DOC_ID);i.browseMode=e,"scroll"===e&&i&&(i.disableScale=t,i.scrollPages=r,i.pageSize=n)}},{key:"addDoc",value:function(e){this.docs.push(e),this.emit("doc-created",e.docId),e.on("requestRender",this.onDocRequestRender),e.on("viewport-updated",this.onViewportUpdate),e.on("page-index-changed",this.onPageIndexChanged)}},{key:"deleteDoc",value:function(e){e.reset(),this.docs.splice(this.docs.indexOf(e),1),this.emit("doc-deleted",e.docId)}},{key:"deleteDocByDocId",value:function(e){var t=this.getDocByDocId(e);t&&this.deleteDoc(t)}},{key:"getDocByDocId",value:function(e){return find(this.docs,{docId:e})}},{key:"getDocByPageId",value:function(e){var t=e.split("-"),r=t.slice(0,t.length-1).join("-");return find(this.docs,{docId:r})}},{key:"getDocs",value:function(){return this.docs}},{key:"setup",value:function(){this.docs.forEach((function(e){return e.reset()})),this.docs=[];var e="".concat(DEFAULT_DOC_ID,"-1"),t=new DefaultDoc({docId:DEFAULT_DOC_ID,name:"default",creator:"0",curPageId:e,pageVersion:0,browseMode:this.browseMode});t.addPage(new Page(e)),this.addDoc(t)}},{key:"handleDocCommnad",value:function(e,t,r,n){this.getDocByDocId(e.moziMessageIdDTO.messageId)||this.createDocFromCommand(e,r,n),this.updateDocFromCommand(e,t,r)}},{key:"handlePdfResource",value:function(e,t,r){var n=this,i=this.getDocByDocId(e.moziMessageIdDTO.messageId);if(e.message.url&&i){"notloaded"===i.pdfViewer.state&&i.load().then((function(){n.centerPdfDoc(i,r),i.pdfViewer.state="loaded",i.docId===n.activeDocId&&(i.lazyLoadPdfPage(r),i.lazyRenderPdfPage(r)),i.setTranslate(i.translate[0],-i.pdfViewer.y*i.scale,r,!1,0)})).catch((function(){n.emit("doc-load-failed",i.docId,i.name)}));var o=parseInt(e.message.y||"-1");t||-1===o||(i.pdfViewer.y=o||0,i.lastSyncY=o,i.docId===this.activeDocId?i.setTranslate(i.translate[0],-o*i.scale,r):i.currentPage.translate[1]=-o*i.scale)}else Log.logError("RtcWhiteboard.handlePdfResource doc not found",e)}},{key:"centerPdfDoc",value:function(e,t){Log.logInfo("RtcWhiteboard.centerPdfDoc",e.docId,e.name);var r=t.width/e.width;e.getPages().forEach((function(e){e.scale=r,e.translate[0]=0})),this.emit("requestRender")}},{key:"updateDocFromCommand",value:function(e,t,r){var n=this.getDocByDocId(e.moziMessageIdDTO.messageId);if(n){var i=n.currentPageIndex,o=n.getPages().length;n.name=e.message.name||n.name,n.pageVersion=e.version,n.fileKey=e.message.fileKey||n.fileKey,n.regenerate(e.message.pagelist.split(" ")),n.curPageId=e.message.curpage,"pdf"===e.message.docType&&this.handlePdfResource(e,t,r),i===n.currentPageIndex&&o===n.getPages().length||n.emit("page-index-changed",n.docId),this.emit("requestRender")}}},{key:"createDocFromCommand",value:function(e,t,r){Log.logInfo("RtcWhiteboard.createDocFromCommand",e);var n,i={docId:e.moziMessageIdDTO.messageId,name:e.message.name,creator:e.message.creator,curPageId:e.message.curpage,pageVersion:e.version||0,fileKey:e.message.fileKey,sizeConfig:r,browseMode:e.message.docType===DocType.pdf?DocBrowserMode.scroll:DocBrowserMode.flip};switch(e.message.docType||"normal"){case"normal":n=new DefaultDoc(i);break;case"pdf":n=new PdfDoc(i,{pageIndex:0,url:e.message.url,width:this.activeDoc.isSizeLimited&&this.activeDoc.sizeConfig.width?this.activeDoc.sizeConfig.width:PDF_DEFALT_WIDTH,totalHeight:PDF_DEFALT_WIDTH,pdfPages:new Map,domRef:document.createElement("div"),state:"notloaded",y:0,pageHightList:[]}),this.centerPdfDoc(n,t)}if(void 0!==n)return this.addDoc(n),n;throw Error("createDocFromCommand: unknown docType")}},{key:"reset",value:function(){this.setup()}}])}(),WBClearType;function _callSuper$4(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$4()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$4(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$4=function(){return!!e})()}!function(e){e.All="all",e.DRAWS="draws",e.BACKGROUND_IMAGE="backgroundImage"}(WBClearType||(WBClearType={}));var version$1=packageInfo.version,PanMoveType;!function(e){e[e.none=0]="none",e[e.insertShape=1]="insertShape",e[e.moveShape=2]="moveShape",e[e.resizeShape=3]="resizeShape",e[e.moveBoard=4]="moveBoard",e[e.selectShape=5]="selectShape"}(PanMoveType||(PanMoveType={}));var MEDIA_DOM_WIDTH=350,VIDEO_DOM_HEIGHT=220,AUDIO_DOM_HEIGHT=80,EVENT_CAPTURE_RATE=40,Whiteboard=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";_classCallCheck$1(this,t),e=_callSuper$4(this,t),Object.defineProperty(e,"sessionId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(e,"isOpen",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_everOpened",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"bSharingVision",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_lockVisonUserId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(e,"_prevPenetrable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"lastMediaStates",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"connection",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"cwSnapshotCbMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"stampId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"tabletScale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(e,"tabletMatchMode",{enumerable:!0,configurable:!0,writable:!0,value:"fitWidth"}),Object.defineProperty(e,"tabletTranslate",{enumerable:!0,configurable:!0,writable:!0,value:[0,0]}),Object.defineProperty(e,"isWhiteboardOpen",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_penetrable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_cursorSyncEnabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"sizeLimitVisible",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"tabletWriteMode",{enumerable:!0,configurable:!0,writable:!0,value:"static"}),Object.defineProperty(e,"_innerEventhub",{enumerable:!0,configurable:!0,writable:!0,value:new EventEmitter}),Object.defineProperty(e,"pinchShapeCenter",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0}}),Object.defineProperty(e,"lastPanMoveDelta",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0}}),Object.defineProperty(e,"pinchBoardOriginalScale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(e,"wheelDsiabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"frameRenderRateInterval",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"wrapperDomRect",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"bgImg",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("img")}),Object.defineProperty(e,"textArea",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("textarea")}),Object.defineProperty(e,"renderFPS",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(e,"wbWrapperDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(e,"pdfWrapper",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(e,"insertingShape",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"hammer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"metricsBuffer",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"sendMetricsTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"clearLaserPointerId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"panMoveType",{enumerable:!0,configurable:!0,writable:!0,value:PanMoveType.none}),Object.defineProperty(e,"natureObjSeq",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(e,"selectIndicator",{enumerable:!0,configurable:!0,writable:!0,value:new SelectIndicator}),Object.defineProperty(e,"eraserIndicator",{enumerable:!0,configurable:!0,writable:!0,value:new EraserIndicator}),Object.defineProperty(e,"_shiftPressing",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"sizeConfig",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"_scaleAndMoveDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"isShapesVisible",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(e,"laserPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"cursors",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"_visionLockInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"pinchEndTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(e,"scrollToScale",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(e,"_bFollowVision",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"docManager",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"_cursorSyncType",{enumerable:!0,configurable:!0,writable:!0,value:"write"}),Object.defineProperty(e,"originalTranslate",{enumerable:!0,configurable:!0,writable:!0,value:[0,0]}),Object.defineProperty(e,"originalDragStartPonit",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0}}),Object.defineProperty(e,"renderer",{enumerable:!0,configurable:!0,writable:!0,value:new Renderer(e)}),Object.defineProperty(e,"failoverShapeCache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"failoverDocCache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"strokeStyle",{enumerable:!0,configurable:!0,writable:!0,value:"rgba(33,212,183,1)"}),Object.defineProperty(e,"fillStyle",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_FILL_COLOR}),Object.defineProperty(e,"fillType",{enumerable:!0,configurable:!0,writable:!0,value:ShapeFillType.color}),Object.defineProperty(e,"_lineWidth",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(e,"dashed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"italic",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"bold",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_fontSize",{enumerable:!0,configurable:!0,writable:!0,value:18}),Object.defineProperty(e,"bgScaleMode",{enumerable:!0,configurable:!0,writable:!0,value:"auto"}),Object.defineProperty(e,"_role",{enumerable:!0,configurable:!0,writable:!0,value:"Attendee"}),Object.defineProperty(e,"insertType",{enumerable:!0,configurable:!0,writable:!0,value:ShapeType.Pen}),Object.defineProperty(e,"multiSelecetedShapes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"_selectedShape",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"onHistoryChanged",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.emit("history-changed",t.undo,t.redo)}}),Object.defineProperty(e,"onActiveDocSwitched",{enumerable:!0,configurable:!0,writable:!0,value:function(){if(e.checkDocAndSetPenetrable(e.insertType),e.onActivePageChanged(),e.pdfWrapper.innerHTML="",e.activeDoc instanceof PdfDoc){var t,r,n;if(Log.logInfo("showPdfView"),null===(t=e.activeDoc.pdfViewer)||void 0===t||!t.domRef||(null===(r=e.activeDoc.pdfViewer)||void 0===r?void 0:r.domRef.parentNode)===e.pdfWrapper)return;e.pdfWrapper.appendChild(null===(n=e.activeDoc.pdfViewer)||void 0===n?void 0:n.domRef),e.lazyLoadPdfPage(),e.lazyRenderPdfPage()}e.emit("doc-switched",e.docManager.activeDocId)}}),Object.defineProperty(e,"onActivePageChanged",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.setUpHistoryListener(),e.selectedShape&&(e.selectedShape.interactionStatus=InteractionStatusType.default,e.selectedShape=void 0),e.docManager.getDocs().forEach((function(t){return t.getPages().forEach((function(r){return r.getShapes().forEach((function(n){(n instanceof Video||n instanceof Audio)&&(r.pageId===e.currentPage.pageId&&t.docId===e.docManager.activeDocId||n.removeMediaDom())}))}))})),e.shouldUpdateViewAfterSizeChange?(e._bFollowVision&&e._visionLockInfo&&e.activeDoc.setDocViewport(e._visionLockInfo,e.getWrapperDomRect()),"externalDoc"===e.activeDoc.type&&e.updateCustomDocPosition(e.activeDoc),e.render()):e._updateBoardWithNewScale(e.scale,0,0),e.emit("page-index-changed",e.activeDocId,e.pageIndex,e.activeDoc.totalPages),e.emit("history-changed",e.history.canUndo(),e.history.canRedo())}}),Object.defineProperty(e,"addPage",{enumerable:!0,configurable:!0,writable:!0,value:function(){return e.insertPage(e.pageIndex,0>=arguments.length||void 0===arguments[0]||arguments[0])}}),Object.defineProperty(e,"removePage",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e.pageIndex,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.docManager.activeDocId;if(Log.logInfo("RtcWhiteboard.removePage",t,r),!e.isConnected)throw new DingRTCError(ErrorCode.InvaildState);var n,i=e.docManager.getDocByDocId(r);if(!i)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");if(!i.canModifyPage)throw new DingRTCError(ErrorCode.InvaildArgument,"doc can not modify");if(i.browseMode===DocBrowserMode.scroll)e.removeScrollDocShapesByScrollY(i,i.scrollPages-1),i.scrollPages=i.scrollPages-1,null===(n=e.connection)||void 0===n||n.sendDocResourceMessage(i);else if(i.browseMode===DocBrowserMode.flip){var o;if(t>i.totalPages-1||0>t)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");if(1===i.totalPages)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");var a=i.getPages().map((function(e){return e.pageId}));a.splice(t,1),null===(o=e.connection)||void 0===o||o.sendDocResourceMessage(i,i.getPageAtIndex(t>0?t-1:t).pageId,a)}}}),Object.defineProperty(e,"autoUpdateCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(){e.isSizeLimited||e.activeDoc.browseMode===DocBrowserMode.scroll?(e.updateCanvasSize(!1,!0,!0),e._updateBoardWithNewScale(e.scale,0,0)):e.updateCanvasSize(!0,!0,!0)}),200)}),Object.defineProperty(e,"updateCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=0>=arguments.length||void 0===arguments[0]||arguments[0],r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Math.floor(e.wbWrapperDom.clientWidth*e.getDevicePixelRatio()),o=Math.floor(e.wbWrapperDom.clientHeight*e.getDevicePixelRatio()),a=e.renderer.canvasElement.width,s=e.renderer.canvasElement.height;if(a!==i||s!==o||r){if(0===i||0===o)return;Log.logInfo("RtcWhiteboard.updateCanvasSize before",{width:a,height:s},"after",{width:i,height:o}),e.renderer.updateCanvasSize(t,r,n),t&&e.docManager.getDocs().forEach((function(t){t instanceof PdfDoc?(e.centerPdfDoc(t),t.currentPage.translate[1]=i/a*t.currentPage.translate[1]):t.sharePageSize?e.center(t):t.getPages().forEach((function(r){r.backgroundImage?t.scaleBoardFitBackgroundImage(r,e.getWrapperDomRect(),e.bgScaleMode):(r.translate[0]=r.translate[0]+(i-a)/2/e.getDevicePixelRatio(),r.translate[1]=r.translate[1]+(o-s)/2/e.getDevicePixelRatio())}))})),e.shouldUpdateViewAfterSizeChange&&(e._bFollowVision&&e._visionLockInfo&&e.followVision(e._visionLockInfo),e.activeDoc instanceof ExternalDoc&&e.updateCustomDocPosition(e.activeDoc)),e.renderer.doRebuildCacheRenderer(),e.renderer.updateBg(),e.onViewPortChanged()}n&&setTimeout((function(){e.updateCanvasSize(t,r,!1)}),1e3)}}),Object.defineProperty(e,"lazyLoadPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(){if(e.activeDoc instanceof PdfDoc&&"loaded"===e.activeDoc.pdfViewer.state){var t=e.getPdfVisiblePage();if(t)for(var r=t.start,n=t.end,i=t.pagesNum,o=e.activeDoc.pdfViewer.domRef,a=0;i>a;a++){var s,c=e.activeDoc.pdfViewer.pdfPages.get(a);if(!c)return;if(a<r||n<a)null===(s=c.domRef.parentNode)||void 0===s||s.removeChild(c.domRef);else c.domRef.parentNode||o.appendChild(c.domRef)}}}),300)}),Object.defineProperty(e,"lazyRenderPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:debounce((function(){if(e.activeDoc instanceof PdfDoc&&"loaded"===e.activeDoc.pdfViewer.state){var t=e.getPdfVisiblePage();if(t)for(var r,n=t.start,i=t.end,o=t.pagesNum,a=function(t){var r=e.activeDoc.pdfViewer.pdfPages.get(t);if(!r)return{v:void 0};if(!(n>t||t>i||r.rendered||r.rendering)){r.rendering=!0;var o=Date.now();renderPdfPage(r.viewport,r.pdfProxy).then((function(n){var i;r.img.src=n,r.rendered=!0,r.rendering=!1,r.domRef.appendChild(r.img),null===(i=r.skeleton.parentNode)||void 0===i||i.removeChild(r.skeleton),Log.logInfo("RtcWhiteboard.lazyLoadPdf page render success, page",t,"cost",Date.now()-o,e.activeDoc.name,e.activeDoc.docId)})).catch((function(t){Log.logError("RtcWhiteboard.lazyLoadPdf page render failed",e.activeDoc.name,e.activeDoc.docId,JSON.stringify(t))}))}},s=0;o>s;s++)if(r=a(s))return r.v}}),100)}),Object.defineProperty(e,"render",{enumerable:!0,configurable:!0,writable:!0,value:function(){return e.renderer.render()}}),Object.defineProperty(e,"onDoubleClick",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.clientX-r.left,y:t.clientY-r.top}),i=e.getShapeByPoint(n.x,n.y);i instanceof Text&&(e.setAsSelectedShape(i),e.focusTetxArea(i))}}),Object.defineProperty(e,"onMouseDown",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r;(2===t.button&&(e.moveAndScaleDisabled||(e.panMoveType=PanMoveType.moveBoard,e.originalTranslate=_toConsumableArray(e.translate),e.originalDragStartPonit={x:t.clientX,y:t.clientY})),e.insertType===ShapeType.Drag)&&(null===(r=e.wbWrapperDom.classList)||void 0===r||r.add("dingrtc-wb-wrapper__draging"))}}),Object.defineProperty(e,"onMouseMove",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){var r,n=e.getWrapperDomRect(),i=e.convertPointCoords({x:t.clientX-n.left,y:t.clientY-n.top}),o=i.x,a=i.y;if(e.panMoveType===PanMoveType.moveBoard){if(!e.moveAndScaleDisabled){var s=t.clientX-e.originalDragStartPonit.x,c=t.clientY-e.originalDragStartPonit.y;Log.logInfo("Whiteboard.onMouseMove moveBoard",0>s?"move left":"move right",s,0>c?"move down":"move up",c),e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.clientX-e.originalDragStartPonit.x,e.originalTranslate[1]+t.clientY-e.originalDragStartPonit.y),e.emitViewportUpdateBySelfEvent()}}else if(e.insertType!==ShapeType.Select&&e.insertType!==ShapeType.Delete||e.panMoveType===PanMoveType.moveShape||null!==(r=e.selectedShape)&&void 0!==r&&r.isPointInShapeRect(o,a))e.insertType===ShapeType.LaserPointer?e.throttleSendLaserPointerMsg(o,a):e.insertType===ShapeType.Brush&&(e.eraserIndicator.points=[{x:o,y:a}]);else for(var l=!1,u=e.visibleShapes.length-1;u>=0;u--){var d=e.visibleShapes[u];if(e.isPermittedShape(d))if(d.interactionStatus!==InteractionStatusType.selected)if(!l&&d.isPointInShape(o,a))l=!0,d.interactionStatus=e.insertType===ShapeType.Delete?InteractionStatusType.willBeDeleted:InteractionStatusType.focused;else includes(e.multiSelecetedShapes,d)||(d.interactionStatus=InteractionStatusType.default);else l=d.isPointInShape(o,a)}var p=getShapeCursorStyle(e.insertType);if(e.selectedShape){var h=p;if(e.getShapeResizeHandle(o,a)){var f=e.getShapeResizeHandle(o,a);h=(null==f?void 0:f.cursorStyle)||p}else e.selectedShape.isPointInShapeRect(o,a)&&(h="move");h!==e.wbWrapperDom.style.cursor&&(e.wbWrapperDom.style.cursor=h)}else if(e.multiSelecetedShapes.length){var g=e.isPointInAnyMultySlectedShape(o,a);e.wbWrapperDom.style.cursor=g?"move":p}else e.wbWrapperDom.style.cursor=p;e._cursorSyncEnabled&&e.insertType!==ShapeType.LaserPointer&&"all"===e._cursorSyncType&&e.sendCursor(o,a,e.strokeStyle,parseToolType(e.insertType))}),EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"sendCursor",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t,r,n,i){var o;return null===(o=e.connection)||void 0===o?void 0:o.sendCursorMsg(t,r,n,i)}),40)}),Object.defineProperty(e,"onPaste",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r,n=null===(r=t.clipboardData)||void 0===r?void 0:r.items;if(n&&n.length)for(var i=function(){if(-1!==n[o].type.indexOf("image")){var r=n[o].getAsFile();return r&&e.uploadLocalImage(r,!1,(function(e){Log.logInfo("RtcWhiteboard.onPaste processing",e)})),0}if("string"===n[o].kind){var i=t.clipboardData.getData("Text");try{var a=JSON.parse(i),s=[];return a.forEach((function(t){var r=t.docId,n=t.pageId,i=t.shapeId;if(r&&n&&i){var o=e.docManager.getDocByDocId(r);if(!o)return;var a=o.getPageByPageId(n);if(!a)return;var c=find(a.getShapes(),{shapeId:i});if(!c)return;var l=c.clone(e.userId,e.getNewShapeId());l&&(e.currentPage.addShape(l),e.sendDrawCmd(l,"draw"),s.push(l))}})),1===s.length?(e.selectedShape=s[0],e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,s[0].shapeId,s[0].export(),void 0))):(e.multiSelecetedShapes=s,s.forEach((function(e){e.interactionStatus=InteractionStatusType.focused})),e.history.batchSave(new BatchHistory(HistoryActionType.newShape,s.map((function(e){return{shapeId:e.shapeId,currentState:e.export(),lastState:void 0}}))))),e.copyShapeInfoToClipboard(s),0}catch(e){Log.logError("RtcWhiteboard.onPaste",e)}}},o=0;n.length>o&&0!==i();o++);}}),Object.defineProperty(e,"_onPenEvent",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r,n,i=t.detail,o=i.eventType,a="fitWidth"===e.tabletMatchMode?e.wbWrapperDom.clientWidth/i.width:e.wbWrapperDom.clientHeight/i.height;if("static"===e.tabletWriteMode)r=i.x*e.tabletScale*a+e.tabletTranslate[0],n=i.y*e.tabletScale*a+e.tabletTranslate[1];else{var s=e.convertPointCoords({x:i.x*e.tabletScale*a+e.tabletTranslate[0],y:i.y*e.tabletScale*a+e.tabletTranslate[1]});r=s.x,n=s.y}"hang"===o?(e.insertType===ShapeType.LaserPointer&&e.throttleSendLaserPointerMsg(r,n),e.insertingShape=void 0):"write"===o?e.insertType===ShapeType.LaserPointer?e.throttleSendLaserPointerMsg(r,n):(e.insertingShape?e.insertingShape.points=[].concat(_toConsumableArray(e.insertingShape.points),[{x:r,y:n}]):(e.insertingShape=new Pen({points:[{x:r,y:n},{x:r,y:n}],shapeId:e.getNewShapeId(),pageId:e.currentPage.pageId,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)),e.throttleSendDrawCmd(e.insertingShape,"draw")):"end"===o&&(e.insertingShape&&e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,e.insertingShape.shapeId,e.insertingShape.export(),void 0)),e.insertingShape=void 0)}}),Object.defineProperty(e,"onMouseUp",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r;(e.panMoveType===PanMoveType.moveBoard&&(e.moveAndScaleDisabled||(e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.clientX-e.originalDragStartPonit.x,e.originalTranslate[1]+t.clientY-e.originalDragStartPonit.y),e.panMoveType=PanMoveType.none)),e.insertType===ShapeType.Drag)&&(null===(r=e.wbWrapperDom.classList)||void 0===r||r.remove("dingrtc-wb-wrapper__draging"))}}),Object.defineProperty(e,"onTouchEnd",{enumerable:!0,configurable:!0,writable:!0,value:function(t){if(1>=t.changedTouches.length){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.changedTouches.item(0).clientX-r.left,y:t.changedTouches.item(0).clientY-r.top}),i=n.x,o=n.y;e.insertType===ShapeType.Select&&(e.checkMouseOverAndSetType(i,o,InteractionStatusType.selected),e.selectedShape instanceof Text&&e.selectedShape.isPointInShapeRect(i,o))&&e.focusTetxArea(e.selectedShape)}}}),Object.defineProperty(e,"onTap",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.currentPage.pageId;e.selectedShape&&!e.selectedShape.visible&&(e.selectedShape=void 0);var i=e.convertPointCoords({x:t.center.x-r.left-t.deltaX,y:t.center.y-r.top-t.deltaY}),o=i.x,a=i.y;if(e.selectedShape instanceof Text&&e.selectedShape.isPointInShapeRect(o,a))e.focusTetxArea(e.selectedShape);else if(e.visibleShapes.forEach((function(t){t instanceof Text&&""===t.text&&(t.visible=!1,e.throttleSendDrawCmd(t,"draw"))})),e.insertType===ShapeType.Delete)e.deleteShapeOnPosition(o,a);else if(e.insertType===ShapeType.Text){if(e.insertingShape instanceof Text)return e.insertingShape.interactionStatus=InteractionStatusType.default,e.selectedShape=void 0,void(e.insertingShape=void 0);var s=e.getVisionMaxX(),c=new Text({points:[{x:o,y:a},{x:o+200>s?o-200:o+200,y:a+20}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle(),"",{fontSize:12>Math.round(e.fontSize/e.scale)?12:Math.round(e.fontSize/e.scale),bold:e.bold,italic:e.italic});e.currentPage.addShape(c),e.currentPage.getShapes().forEach((function(e){return e.interactionStatus=InteractionStatusType.default})),e.setAsSelectedShape(c),e.insertingShape=c,e.focusTetxArea(c)}else if(e.insertType===ShapeType.Brush);else if(e.insertType===ShapeType.Select)e.multiSelecetedShapes.forEach((function(e){return e.interactionStatus=InteractionStatusType.default})),e.multiSelecetedShapes=[],e.checkMouseOverAndSetType(o,a,InteractionStatusType.selected);else if(e.insertType===ShapeType.Stamp&&e.stampId){var l=Stamp.stampResourceCache.get(e.stampId);if(l&&!l.resizable){var u=new Stamp({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.stampId,l.resizable,l.url);e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,u.shapeId,u.export(),void 0)),e.currentPage.addShape(u),e.sendDrawCmd(u,"draw")}}else e.selectedShape&&(e.selectedShape.interactionStatus=InteractionStatusType.default,e.selectedShape=void 0)}}),Object.defineProperty(e,"onPanStart",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.renderer.checkCanvasSize();var r=e.getWrapperDomRect();e.selectedShape&&!e.selectedShape.visible&&(e.selectedShape=void 0);var n=e.currentPage.pageId,i=e.convertPointCoords({x:t.center.x-r.left-t.deltaX,y:t.center.y-r.top-t.deltaY}),o=i.x,a=i.y;if(e.selectedShape){if(e.getShapeResizeHandle(o,a))return e.panMoveType=PanMoveType.resizeShape,void e.selectedShape.onResizeStart(o,a);if(e.selectedShape.isPointInShapeRect(o,a))return e.panMoveType=PanMoveType.moveShape,void e.selectedShape.onMoveStart()}if(e.insertType===ShapeType.Drag)e.panMoveType=PanMoveType.moveBoard,e.originalTranslate=_toConsumableArray(e.translate),e.originalDragStartPonit={x:t.center.x,y:t.center.y},e.emitViewportUpdateBySelfEvent();else if(e.multiSelecetedShapes.length&&e.isPointInAnyMultySlectedShape(o,a))e.panMoveType=PanMoveType.moveShape,e.multiSelecetedShapes.forEach((function(e){return e.onMoveStart()}));else if(e.insertType===ShapeType.Select||e.insertType===ShapeType.Delete)e.panMoveType=PanMoveType.selectShape,e.selectIndicator.visible=!0,e.selectIndicator.points=[{x:o,y:a},{x:o,y:a}];else{if(e.clearSelectedShapes(),e.panMoveType=PanMoveType.insertShape,e.insertType===ShapeType.Line)e.insertingShape=new Line({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape);else if(e.insertType===ShapeType.Arrow)e.insertingShape=new Arrow({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape);else if(e.insertType===ShapeType.Stamp&&e.stampId){var s=Stamp.stampResourceCache.get(e.stampId);if(s){var c=new Stamp({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.stampId,s.resizable,s.url);e.insertingShape=c,e.currentPage.addShape(e.insertingShape)}}else e.insertType===ShapeType.Rect||e.insertType===ShapeType.Square?(e.insertingShape=new Rect({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Circle?(e.insertingShape=new Ellipse({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Pen?(e.insertingShape=new Pen({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Brush?(e.insertingShape=new Eraser({points:[{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Triangle?(e.insertingShape=new Triangle({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Rhombic&&(e.insertingShape=new Rhombic({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape));e.insertingShape&&e.throttleSendDrawCmd(e.insertingShape,"draw")}}}),Object.defineProperty(e,"batchSendRgnShapes",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){t.forEach((function(t){return e.sendDrawCmd(t,"rgn")}))}),300)}),Object.defineProperty(e,"onPanMove",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.center.x-r.left,y:t.center.y-r.top}),i=n.x,o=n.y;if(e.panMoveType===PanMoveType.resizeShape)e.selectedShape&&(e.selectedShape.onResize(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY),e._shiftPressing),e.throttleSendDrawCmd(e.selectedShape,"rgn"));else if(e.panMoveType===PanMoveType.moveShape)e.selectedShape?(e.selectedShape.onMove(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY)),e.throttleSendDrawCmd(e.selectedShape,"rgn")):e.multiSelecetedShapes.length&&e.multiSelecetedShapes.forEach((function(r){r.onMove(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY))}));else if(e.panMoveType===PanMoveType.insertShape)e.insertType===ShapeType.Line||e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Rect||e.insertType===ShapeType.Arrow||e.insertType===ShapeType.Square||e.insertType===ShapeType.Circle?e.insertingShape.points=e._shiftPressing&&(e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Rect)||e.insertType===ShapeType.Square||e.insertType===ShapeType.Circle?[e.insertingShape.points[0],{x:i,y:e.insertingShape.points[0].y+i-e.insertingShape.points[0].x}]:[e.insertingShape.points[0],{x:i,y:o}]:e.insertType===ShapeType.Pen||e.insertType===ShapeType.Brush?e.insertingShape&&(e.insertingShape.points=[].concat(_toConsumableArray(e.insertingShape.points),[{x:i,y:o}]),e.insertType===ShapeType.Brush&&(e.eraserIndicator.points=[{x:i,y:o}])):e.insertType===ShapeType.Stamp&&e.insertingShape instanceof Stamp?e.insertingShape.points=[e.insertingShape.resizable?e.insertingShape.points[0]:{x:i,y:o},{x:i,y:o}]:e.insertType===ShapeType.Triangle?e.insertingShape&&(e.insertingShape.points=[e.insertingShape.points[0],{x:i,y:o}]):e.insertType===ShapeType.Rhombic&&e.insertingShape&&(e.insertingShape.points=[e.insertingShape.points[0],{x:i,y:o}]),e.insertingShape&&e.throttleSendDrawCmd(e.insertingShape,"draw"),e._cursorSyncEnabled&&e.insertType!==ShapeType.LaserPointer&&e.sendCursor(i,o,e.strokeStyle,parseToolType(e.insertType));else if(e.panMoveType===PanMoveType.selectShape)e.selectIndicator.points=[e.selectIndicator.points[0],{x:i,y:o}],e.rangeSelect();else if(e.panMoveType===PanMoveType.moveBoard&&!e.moveAndScaleDisabled){var a=t.center.x-e.originalDragStartPonit.x,s=t.center.y-e.originalDragStartPonit.y;Log.logInfo("Whiteboard.onMouseMove moveBoard",0>a?"move left":"move right",a,0>s?"move down":"move up",s),e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.center.x-e.originalDragStartPonit.x,e.originalTranslate[1]+t.center.y-e.originalDragStartPonit.y)}}}),Object.defineProperty(e,"onPanEnd",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.center.x-r.left,y:t.center.y-r.top}),i=n.x,o=n.y;if(e.panMoveType===PanMoveType.moveBoard)e.moveAndScaleDisabled||(e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.center.x-e.originalDragStartPonit.x,e.originalTranslate[1]+t.center.y-e.originalDragStartPonit.y),e.panMoveType=PanMoveType.none);else if(e.panMoveType===PanMoveType.moveShape){if(e.selectedShape){var a=e.selectedShape.transformOriginalInfo.export();e.selectedShape.onMoveEnd(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY)),e.history.saveHistory(new ShapeHistory(HistoryActionType.rgnShape,e.selectedShape.shapeId,e.selectedShape.export(),a)),e.sendDrawCmd(e.selectedShape,"rgn")}else if(e.multiSelecetedShapes.length){var s=[];e.multiSelecetedShapes.forEach((function(r){var n=r.transformOriginalInfo.export();r.onMoveEnd(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY)),s.push({shapeId:r.shapeId,currentState:r.export(),lastState:n})})),e.history.batchSave(new BatchHistory(HistoryActionType.rgnShape,s)),e.batchSendRgnShapes(e.multiSelecetedShapes)}}else if(e.panMoveType===PanMoveType.resizeShape){if(e.selectedShape){var c=e.selectedShape.transformOriginalInfo.export();e.selectedShape.onResizeEnd(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY),e._shiftPressing),e.history.saveHistory(new ShapeHistory(HistoryActionType.rgnShape,e.selectedShape.shapeId,e.selectedShape.export(),c)),e.sendDrawCmd(e.selectedShape,"rgn")}}else if(e.panMoveType===PanMoveType.insertShape){var l;if(e.insertingShape)e.insertingShape.points=2!==e.insertingShape.points.length?[].concat(_toConsumableArray(e.insertingShape.points),[{x:i,y:o}]):e._shiftPressing&&(e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Rect)||e.insertType===ShapeType.Square||e.insertType===ShapeType.Circle?[e.insertingShape.points[0],{x:i,y:e.insertingShape.points[0].y+i-e.insertingShape.points[0].x}]:e.insertType===ShapeType.Stamp&&e.insertingShape instanceof Stamp?[e.insertingShape.resizable?e.insertingShape.points[0]:{x:i,y:o},{x:i,y:o}]:[e.insertingShape.points[0],{x:i,y:o}],e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,e.insertingShape.shapeId,e.insertingShape.export(),void 0)),e.sendDrawCmd(e.insertingShape,"draw"),null!==(l=e.insertingShape)&&void 0!==l&&l.shouldSelectAfterAdd()&&e.setAsSelectedShape(e.insertingShape)}else e.panMoveType===PanMoveType.selectShape?(e.selectIndicator.points=[e.selectIndicator.points[0],{x:i,y:o}],e.rangeSelect(),e.insertType===ShapeType.Delete&&e.deleteRageSelectedShapes()):e.panMoveType!==PanMoveType.none&&e.panMoveType!==PanMoveType.moveBoard||!e.insertingShape||(e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,e.insertingShape.shapeId,e.insertingShape.export(),void 0)),e.sendDrawCmd(e.insertingShape,"draw"));e.panMoveType=PanMoveType.none,e.selectIndicator.visible=!1,e.insertingShape=void 0}}),Object.defineProperty(e,"onPinchStart",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t;(e.originalTranslate=_toConsumableArray(e.translate),e.pinchBoardOriginalScale=e.scale,e.lastPanMoveDelta={x:0,y:0},e.selectedShape)&&(null===(t=e.selectedShape)||void 0===t||t.storeTransformStartPoints(),e.pinchShapeCenter=e.selectedShape.center);e.emitViewportUpdateBySelfEvent()}}),Object.defineProperty(e,"onPinch",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){e.selectedShape?(e.selectedShape.resizeByRatio(t.scale,t.scale,e.pinchShapeCenter),e.throttleSendDrawCmd(e.selectedShape,"rgn")):e.moveAndScaleDisabled||t.scale>=.9&&1.1>=t.scale||e._updateBoardWithNewScale(e.pinchBoardOriginalScale*t.scale,t.center.x,t.center.y)}),EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"onPinchEnd",{enumerable:!0,configurable:!0,writable:!0,value:function(t){if(e.pinchEndTime=Date.now(),e.selectedShape){var r=e.selectedShape.export();e.selectedShape.resizeByRatio(t.scale,t.scale),e.throttleSendDrawCmd(e.selectedShape,"rgn"),e.history.saveHistory(new ShapeHistory(HistoryActionType.rgnShape,e.selectedShape.shapeId,e.selectedShape.export(),r))}}}),Object.defineProperty(e,"onPinchMove",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){if(!e.moveAndScaleDisabled&&!e.selectedShape){var r=t.deltaX-e.lastPanMoveDelta.x,n=t.deltaY-e.lastPanMoveDelta.y;Log.logInfo("Whiteboard.onPinchMove moveBoard",0>r?"move left":"move right",r,0>n?"move down":"move up",n),e.setTranslate(e.activeDoc instanceof PdfDoc?e.translate[0]:e.translate[0]+t.deltaX-e.lastPanMoveDelta.x,e.translate[1]+t.deltaY-e.lastPanMoveDelta.y)}e.lastPanMoveDelta={x:t.deltaX,y:t.deltaY}}),EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"_updateBoardWithNewScale",{enumerable:!0,configurable:!0,writable:!0,value:function(t,r,n){e.activeDoc.updateBoardWithNewScale(t,r,n,e.getWrapperDomRect())}}),Object.defineProperty(e,"onWheel",{enumerable:!0,configurable:!0,writable:!0,value:function(t){t.stopPropagation(),t.preventDefault(),e.wheelDsiabled||e._scaleAndMoveDisabled||(e.emitViewportUpdateBySelfEvent(),e.throttledOnWheel(t))}}),Object.defineProperty(e,"throttledOnWheel",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){if(t.ctrlKey){var r=e.getWrapperDomRect();!e.moveAndScaleDisabled&&e._updateBoardWithNewScale(e.scale-t.deltaY/r.height*20,t.clientX-r.left,t.clientY-r.top)}else{var n=e.translate[0]-t.deltaX;e.activeDoc instanceof PdfDoc&&(n=e.translate[0]),e.setTranslate(n,e.translate[1]-t.deltaY)}}),EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"emitViewportUpdateBySelfEvent",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(){e.emit("viewport-updated-by-self")}),500)}),Object.defineProperty(e,"onContextMenu",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e.preventDefault()}}),Object.defineProperty(e,"onKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=t.keyCode||t.code||t.which;""+r!="8"&&""+r!="46"||(!e.selectedShape||e.selectedShape instanceof Text&&e.selectedShape.interactionStatus===InteractionStatusType.selected&&document.activeElement===e.textArea||(e.deleteShape(e.selectedShape),e.selectedShape=void 0),e.deleteRageSelectedShapes()),""+r=="16"&&(e._shiftPressing=!0),(t.ctrlKey||t.metaKey)&&("z"===t.key?e.undo():"c"===t.key&&(e.selectedShape&&e.selectedShape.interactionStatus===InteractionStatusType.selected?e.copyShapeInfoToClipboard([e.selectedShape]):e.multiSelecetedShapes.length>0&&e.copyShapeInfoToClipboard(e.multiSelecetedShapes)))}}),Object.defineProperty(e,"onKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:function(t){""+(t.keyCode||t.code||t.which)=="16"&&(e._shiftPressing=!1)}}),Object.defineProperty(e,"onMouseOut",{enumerable:!0,configurable:!0,writable:!0,value:function(){e._shiftPressing=!1}}),Object.defineProperty(e,"deleteShape",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=1>=arguments.length||void 0===arguments[1]||arguments[1],n=t.export();t.visible=!1,t instanceof Text?(t.interactionStatus=InteractionStatusType.default,e.textArea.style.zIndex="0",e.textArea.style.color="transparent"):(t instanceof Video||t instanceof Audio)&&t.removeMediaDom(),e.sendDrawCmd(t,"draw"),r&&e.history.saveHistory(new ShapeHistory(HistoryActionType.hideShape,t.shapeId,t.export(),n))}}),Object.defineProperty(e,"_onLoadImageError",{enumerable:!0,configurable:!0,writable:!0,value:function(t){Log.logError("RtcWhiteboard._onLoadImageError: load image failed, img url: ",t),e._sendMetrics({time:(new Date).toISOString(),event:"image load failed",eventtype:"rts",sessiontype:"whiteboard",url:t,sessionId:e.sessionId,pageNum:e.pageIndex,errmsg:"load image failed"})}}),Object.defineProperty(e,"throttleSendLaserPointerMsg",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t,r){var n;null===(n=e.connection)||void 0===n||n.sendLaserPointerMsg(t,r),e.clearLaserPointerId&&clearTimeout(e.clearLaserPointerId),e.clearLaserPointerId=window.setTimeout((function(){var t;null===(t=e.connection)||void 0===t||t.sendClearResourceMsg("laserPointer",["".concat(e.userId,"@").concat(e.appId,"-laserPointer")])}),3e3)}),t.RENDER_INTEVAL/1.5)}),Object.defineProperty(e,"onViewPortChanged",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(){var t=e.getViewport();e.emit("viewport-updated",e.scale,t),e.bSharingVision&&"pdf"!==e.activeDoc.type&&e.throttleSendVisionCmd(t),"scroll"===e.activeDoc.browseMode&&(e.lazyLoadPdfPage(),e.lazyRenderPdfPage(),!e.isSynchronizer&&!e.bSharingVision||e._bFollowVision||e.throttleSendDocResourceMsg(e.activeDoc))}),1e3/60)}),Object.defineProperty(e,"throttleSendVisionCmd",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){var r;null===(r=e.connection)||void 0===r||r.sendVisionResourceMsg(t.maxx-t.minx,t.maxy-t.miny,t.minx,t.miny)}),t.CMD_SEND_WAIT)}),Object.defineProperty(e,"throttleSendDocResourceMsg",{enumerable:!0,configurable:!0,writable:!0,value:throttle((function(t){var r;t instanceof PdfDoc&&1>Math.abs(t.lastSyncY-t.y)||null===(r=e.connection)||void 0===r||r.sendDocResourceMessage(t)}),t.CMD_SEND_WAIT)}),Object.defineProperty(e,"sendDrawCmd",{enumerable:!0,configurable:!0,writable:!0,value:function(t,r){if("draw"===r){var n;if(t instanceof Stamp){var i,o=Stamp.stampResourceCache.get(t.stampId);if(o&&!o.serverCache)null===(i=e.connection)||void 0===i||i.sendStampMsg(t.stampId,t.imgUrl,t.resizable)}null===(n=e.connection)||void 0===n||n.sendShapeDrawMessage(t)}else if("rgn"===r){var a;null===(a=e.connection)||void 0===a||a.sendShapeRgnMessage(t)}}}),Object.defineProperty(e,"throttleSendDrawCmd",{enumerable:!0,configurable:!0,writable:!0,value:throttle(e.sendDrawCmd,100)}),Object.defineProperty(e,"doSendMetrics",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.sendMetricsTimeout=void 0,e.metricsBuffer=[]}}),e.docManager=new DocManager,e.docManager.on("requestRender",e.render),e.docManager.on("page-index-changed",e.onActivePageChanged),e.docManager.on("viewport-updated",e.onViewPortChanged),e.docManager.on("doc-switched",e.onActiveDocSwitched),e.docManager.on("doc-deleted",(function(t){e.emit("doc-deleted",t)})),e.docManager.on("doc-created",(function(t){e.emit("doc-created",t)})),e.docManager.on("doc-load-failed",(function(t,r){return e.emit("doc-load-failed",t,r)})),e.hammer=new Hammer(e.wbWrapperDom);var n=new Hammer.Pan({direction:Hammer.DIRECTION_ALL,threshold:0,enable:function(){return Date.now()-e.pinchEndTime>300}}),i=(new Hammer.Pinch).requireFailure(n);e.hammer.add(n),e.hammer.add(i),e.hammer.get("press").set({enable:!1}),e.hammer.get("swipe").set({enable:!1}),e.hammer.get("doubletap").set({enable:!1}),e.hammer.get("rotate").set({enable:!1}),e.wbWrapperDom.className="dingrtc-wb-wrapper",e.pdfWrapper.className="dingrtc-pdf-viewer",e.renderFPS.className="dingrtc-wb-render-fps",e.bgImg.className="dingrtc-wb__bg-img",e.wbWrapperDom.appendChild(e.pdfWrapper),e.wbWrapperDom.appendChild(e.renderFPS),e.wbWrapperDom.appendChild(e.bgImg),e.wbWrapperDom.appendChild(e.textArea),e.textArea.style.zIndex="0",e.textArea.style.color="transparent",e.textArea.value="",e.textArea.className="wb-shape-textarea";var o,a=void 0;return e.textArea.addEventListener("change",(function(){e.selectedShape instanceof Text&&(a=e.selectedShape),a&&(a.text=e.textArea.value,e.throttleSendDrawCmd(a,"draw"),e.history.saveHistory(new ShapeHistory(HistoryActionType.updateText,a.shapeId,a.export(),o)))})),e.textArea.addEventListener("input",(function(){e.selectedShape instanceof Text&&e.selectedShape!==a&&(o=e.selectedShape.export()),e.selectedShape instanceof Text&&(a=e.selectedShape),a&&(a.text=e.textArea.value,a.setTextMaxLength(e.getVisionMaxX()-a.minx),e.chackIfTextAreaOutofBound(a))})),e.setUpHistoryListener(),e._hookShapeRenderRequest(e.eraserIndicator),e._hookShapeRenderRequest(e.selectIndicator),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"isSynchronizer",get:function(){return"Admin"===this.role}},{key:"getWrapperDomRect",value:function(){var e=this.wbWrapperDom.getBoundingClientRect();return e.width&&e.height&&(this.wrapperDomRect=e),this.wrapperDomRect||{x:0,y:0,width:1e3,height:600,top:0,right:1e3,bottom:600,left:0}}},{key:"history",get:function(){return this.currentPage.history}},{key:"userId",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.userId)||""}},{key:"appId",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.appId)||""}},{key:"channelId",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.channelId)||""}},{key:"token",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.token)||""}},{key:"userName",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.userName)||""}},{key:"cid",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.channelId)||""}},{key:"activeDoc",get:function(){return this.docManager.activeDoc}},{key:"activeDocId",get:function(){return this.docManager.activeDocId}},{key:"isSizeLimited",get:function(){var e;return null===(e=this.sizeConfig)||void 0===e?void 0:e.limited}},{key:"pages",get:function(){return this.activeDoc.getPages()}},{key:"lineWidth",get:function(){return this._lineWidth},set:function(e){this._lineWidth=parseFloat("".concat(e))||this._lineWidth}},{key:"fontSize",get:function(){return this._fontSize},set:function(e){this._fontSize=parseFloat("".concat(e))||this._fontSize}},{key:"role",get:function(){return this._role}},{key:"isAdmin",get:function(){return"Admin"===this._role}},{key:"currentPage",get:function(){return this.docManager.activeDoc.currentPage}},{key:"scale",get:function(){return this.currentPage.scale},set:function(e){this.activeDoc.setScale(e,!0,this.getWrapperDomRect())}},{key:"_hookShapeRenderRequest",value:function(e){var t=this;e.on("requestRender",(function(){t.render()}))}},{key:"getCursorSyncType",value:function(){return this._cursorSyncType}},{key:"setCursorSyncType",value:function(e){this._cursorSyncType=e}},{key:"setRoleType",value:function(e){var t=this.role;Log.logInfo("RtcWhiteboard.setRoleType",e),"Viewer"===e?this.stopInteraction():this.enableInteraction(e),this.selectedShape&&(this.selectedShape.interactionStatus=InteractionStatusType.default,this.selectedShape=void 0),this.insertType===ShapeType.Click&&this.setPenetrable(this._penetrable),t!==e&&(this._role=e)}},{key:"getToolType",value:function(){return this.insertType}},{key:"setToolType",value:function(e){var t,r,n,i;(Log.logInfo("RtcWhiteboard.setToolType",this.insertType,e),this.checkDocAndSetPenetrable(e),e===ShapeType.Delete&&this.selectedShape&&this.deleteShape(this.selectedShape),e===ShapeType.LaserPointer)?null===(t=this.wbWrapperDom.classList)||void 0===t||t.add("dingrtc-wb-wrapper__laser-on"):null===(r=this.wbWrapperDom.classList)||void 0===r||r.remove("dingrtc-wb-wrapper__laser-on");e===ShapeType.Drag?null===(n=this.wbWrapperDom.classList)||void 0===n||n.add("dingrtc-wb-wrapper__drag-on"):null===(i=this.wbWrapperDom.classList)||void 0===i||i.remove("dingrtc-wb-wrapper__drag-on");this.insertType=e,this.wbWrapperDom.style.cursor=getShapeCursorStyle(this.insertType)}},{key:"checkDocAndSetPenetrable",value:function(e){this.setPenetrable(!1)}},{key:"getDevicePixelRatio",value:function(){return window.devicePixelRatio||1}},{key:"enumerateDocs",value:function(){return Log.logInfo("RtcWhiteboard.enumerateDocs"),_toConsumableArray(this.docManager.getDocs().map((function(e){return{docId:e.docId,name:e.name,creator:e.creator,currentPage:e.currentPageIndex,fileKey:e.fileKey}})))}},{key:"selectedShape",get:function(){return this._selectedShape},set:function(e){this._selectedShape&&(this._selectedShape.interactionStatus=InteractionStatusType.default),this._selectedShape=e}},{key:"setSelectedShapeStyle",value:function(e){if(Log.logInfo("RtcWhiteboard.setSelectedShapeStyle",e),this._selectedShape&&this._selectedShape instanceof DrawableShape){var t=this._selectedShape.export();this._selectedShape.shapeStyle=Object.assign(this._selectedShape.shapeStyle,e),this.throttleSendDrawCmd(this._selectedShape,"draw"),this.history.saveHistory(new ShapeHistory(HistoryActionType.updateStyle,this._selectedShape.shapeId,this._selectedShape.export(),t))}}},{key:"setSelectedShapeFontStyle",value:function(e){if(Log.logInfo("RtcWhiteboard.setSelectedShapeFontStyle",e),this._selectedShape&&this._selectedShape instanceof Text){var t=this._selectedShape.export();this._selectedShape.fontStyle=Object.assign(this._selectedShape.fontStyle,e),this.throttleSendDrawCmd(this._selectedShape,"draw"),this.history.saveHistory(new ShapeHistory(HistoryActionType.updateStyle,this._selectedShape.shapeId,this._selectedShape.export(),t))}}},{key:"pageIndex",get:function(){return this.activeDoc.currentPageIndex}},{key:"switchToDoc",value:function(e){if(Log.logInfo("RtcWhiteboard.switchToDoc",e),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);if(!this.docManager.getDocByDocId(e))throw new DingRTCError(ErrorCode.InvaildArgument,"doc not existed");var t;this.docManager.switchActiveDoc(e),null===(t=this.connection)||void 0===t||t.sendActiveDocResourceMessage(e)}},{key:"getCurrentPageNumber",value:function(){return this.pageIndex}},{key:"gotoPage",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.docManager.activeDocId,r=2>=arguments.length||void 0===arguments[2]||arguments[2];if(Log.logInfo("RtcWhiteboard.gotoPage",e,t,r),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);var n=this.docManager.getDocByDocId(t);if(!n)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not existed");if(n instanceof PdfDoc)return this.activeDocId!==t&&r&&this.switchToDoc(t),this.gotoPdfPage(e,n);if(e>n.totalPages-1||0>e)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");if(this.activeDocId!==t&&r&&this.switchToDoc(t),n.browseMode!==DocBrowserMode.scroll){var i;if(n.browseMode!==DocBrowserMode.flip)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not existed");null===(i=this.connection)||void 0===i||i.sendDocResourceMessage(n,n.getPageAtIndex(e).pageId)}else n.setScrollY(e*n.scrollPageHeight,this.getWrapperDomRect())}},{key:"gotoPdfPage",value:function(e,t){if(Log.logInfo("RtcWhiteboard.gotoPdfPage",e),!(t instanceof PdfDoc))throw new DingRTCError(ErrorCode.InvaildArgument,"not a pdf");if(e>t.pdfViewer.pdfPages.size-1||0>e)throw new DingRTCError(ErrorCode.InvaildArgument,"pageIndex is invalid");var r=Math.ceil(t.pdfViewer.pageHightList[e-1]||0);t.docId===this.activeDocId?this.setTranslate(this.translate[0],-r*this.scale):t.currentPage.translate=[t.currentPage.translate[0],-r*t.currentPage.scale]}},{key:"nextPage",value:function(){return Log.logInfo("RtcWhiteboard.nextPage"),this.gotoPage(this.getCurrentPageNumber()+1)}},{key:"prevPage",value:function(){return Log.logInfo("RtcWhiteboard.prevPage"),this.gotoPage(this.getCurrentPageNumber()-1)}},{key:"backgroundColor",get:function(){return this.currentPage.backgroundColor},set:function(e){Log.logInfo("RtcWhiteboard.setbackgroundColor",e),e!==this.backgroundColor&&(this.currentPage.backgroundColor=e,this.render())}},{key:"getTotalNumberOfPages",value:function(){var e;return this.activeDoc instanceof PdfDoc?(null===(e=this.activeDoc.pdfViewer)||void 0===e?void 0:e.pdfPages.size)||1:this.activeDoc.totalPages}},{key:"visibleShapes",get:function(){return this.currentPage.visibleShapes}},{key:"translate",get:function(){return this.currentPage.translate}},{key:"getTranslate",value:function(){return{x:this.currentPage.translate[0],y:this.currentPage.translate[1]}}},{key:"setTranslate",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:400;this.activeDoc.setTranslate(e,t,this.getWrapperDomRect(),r,n)}},{key:"getVisionMaxX",value:function(){return this.getWrapperDomRect().width/this.scale-this.translate[0]/this.scale}},{key:"getVisionMaxY",value:function(){return this.getWrapperDomRect().height/this.scale-this.translate[1]/this.scale}},{key:"setUpHistoryListener",value:function(){this.history.off("history-changed",this.onHistoryChanged),this.history.on("history-changed",this.onHistoryChanged)}},{key:"undo",value:function(){var e=this;Log.logInfo("RtcWhiteboard.undo"),this.clearSelectedShapes();var t=this.history.undo();if(t)if(t instanceof ShapeHistory){var r=this.getShapeById(t.shapeId);r&&(this.restoreShapeFormSavedState(t.shapeId,t.actionType,t.lastState),this.sendDrawCmd(r,"draw"))}else{if(t.actionType===HistoryActionType.deleteShape)this.currentPage.restoreShapes(t.shapeStates.map((function(e){return e.currentState}))).forEach((function(t){return e.sendDrawCmd(t,"draw")}));else t.shapeStates.forEach((function(r){e.getShapeById(r.shapeId)&&e.restoreShapeFormSavedState(r.shapeId,t.actionType,r.lastState)}))}}},{key:"redo",value:function(){var e=this;Log.logInfo("RtcWhiteboard.redo"),this.clearSelectedShapes();var t=this.history.redo();if(t)if(t instanceof ShapeHistory){var r=this.getShapeById(t.shapeId);r&&(this.restoreShapeFormSavedState(t.shapeId,t.actionType,t.lastState),this.sendDrawCmd(r,"draw"))}else t.shapeStates.forEach((function(r){e.getShapeById(r.shapeId)&&e.restoreShapeFormSavedState(r.shapeId,t.actionType,r.lastState)}))}},{key:"restoreShapeFormSavedState",value:function(e,t,r){var n=this.getShapeById(e);if(n)if(t===HistoryActionType.rgnShape){if(!r)return;n.points=r.points,n.rngReverse=r.rngReverse,this.sendDrawCmd(n,"rgn")}else t===HistoryActionType.newShape?(n.visible=!n.visible,this.sendDrawCmd(n,"draw")):r&&(n.visible=r.visible,n instanceof DrawableShape&&(n.shapeStyle=Object.assign({},r.shapeStyle)),n instanceof Text&&(n.text=r.text||"",n.fontStyle=Object.assign({},r.fontStyle)),this.sendDrawCmd(n,"draw"))}},{key:"getShapeById",value:function(e){for(var t,r=0;this.activeDoc.totalPages>r;r++){var n=find(this.pages[r].getShapes(),{shapeId:e});if(n){t=n;break}}return t}},{key:"reset",value:function(){this.close(),this._everOpened=!1,this.bSharingVision=!1,this._bFollowVision=!1,this._lockVisonUserId="",this._visionLockInfo=void 0,this.docManager.reset(),this.pdfWrapper.innerHTML="",this.docManager.switchActiveDoc(DEFAULT_DOC_ID),this.activeDoc.currentPageIndex=0,this.insertType=ShapeType.Select,this._role="Attendee",this._selectedShape=void 0,this.multiSelecetedShapes=[]}},{key:"setBackgroundImageScalingMode",value:function(e){this.bgScaleMode=e,this.isSizeLimited||this.activeDoc.scaleBoardFitBackgroundImage(this.currentPage,this.getWrapperDomRect(),this.bgScaleMode)}},{key:"getShapeStyle",value:function(){return{lineWidth:this.lineWidth,strokeStyle:this.strokeStyle,fillStyle:this.fillStyle,fillType:this.fillType,dashed:this.dashed}}},{key:"_getLimitedImgSize",value:function(e,t){var r,n,i=(null===(r=this.sizeConfig)||void 0===r?void 0:r.width)||2048,o=(null===(n=this.sizeConfig)||void 0===n?void 0:n.height)||2048,a=e,s=t;return a>s&&a>i&&(a=i,s=i/e*t),s>a&&s>o&&(s=o,a=o/t*e),{imgWidth:a,imgHeight:s}}},{key:"_scaleBoardFitBackground",value:function(e){if(e instanceof PdfDoc)this.centerPdfDoc(e);else if(e.sharePageSize){e.scaleBoardFitBackgroundImage(e.currentPage,this.getWrapperDomRect(),this.bgScaleMode);var t=e.currentPage.scale,r=e.currentPage.translate;e.getPages().forEach((function(e){e.scale=t,e.translate=_toConsumableArray(r)}))}else this.currentPage.backgroundImage?this.activeDoc.scaleBoardFitBackgroundImage(this.currentPage,this.getWrapperDomRect(),this.bgScaleMode):this.isSizeLimited?this.fitWithSizeConfig():this.activeDoc.setScaleAndTranslate(1,[0,0],!1,this.getWrapperDomRect())}},{key:"fitWithSizeConfig",value:function(){var e=this;this.sizeConfig&&this.docManager.getDocs().forEach((function(r){var n,i;r instanceof PdfDoc&&e.sizeConfig&&r.width!==(null===(n=e.sizeConfig)||void 0===n?void 0:n.width)?null===(i=t.PdfPlugin)||void 0===i||i.updatePdfWidth(r,e.sizeConfig.width):e.sizeConfig.limited?r.updateBoardWithNewScale(.001,0,0,e.getWrapperDomRect()):r.getPages().forEach((function(t){r.setDocViewport({width:e.sizeConfig.width,height:e.sizeConfig.height,minx:0,miny:0},e.getWrapperDomRect(),t),t.backgroundImage&&r.scaleBoardFitBackgroundImage(t,e.getWrapperDomRect(),e.bgScaleMode)}))}))}},{key:"setBackgroundImage",value:function(e){var t=this;if(Log.logInfo("RtcWhiteboard.setBackgroundImage",e),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);if(this.activeDoc instanceof PdfDoc)throw Log.logWarn("RtcWhiteboard.setBackgroundImage failed because doc type not support",e),new DingRTCError(ErrorCode.InvaildArgument,"doc type not support image");var r=this.currentPage,n=seqIdToShapeId("bg-".concat(r.pageId),this.userId),i=r.backgroundImage;return i?i.imgUrl=e:((i=new Image$1({points:[{x:0,y:0},{x:0,y:0}],shapeId:n,pageId:r.pageId,creator:this.userId},e)).order=ShapeOrderType.bg,r.backgroundImage=i),i.loadImage().then((function(e){var n,o=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight);t.updateBgImgPosition(i,o.imgWidth,o.imgHeight),t.activeDoc.scaleBoardFitBackgroundImage(r,t.getWrapperDomRect(),t.bgScaleMode),null===(n=t.connection)||void 0===n||n.sendShapeDrawMessage(i)})).catch((function(){return t._onLoadImageError(e)}))}},{key:"updateBgImgPosition",value:function(e,t,r){this.isSizeLimited&&this.sizeConfig?"auto"===this.bgScaleMode?e.points=[{x:(this.sizeConfig.width-t)/2,y:(this.sizeConfig.height-r)/2},{x:(this.sizeConfig.width-t)/2+t,y:(this.sizeConfig.height-r)/2+r}]:"fillWidth"===this.bgScaleMode?e.points=[{x:0,y:0},{x:this.sizeConfig.width,y:this.sizeConfig.width*r/t}]:"fillHeight"===this.bgScaleMode&&(e.points=[{x:0,y:0},{x:this.sizeConfig.height*t/r,y:this.sizeConfig.height}]):e.points=[e.points[0],{x:t,y:r}]}},{key:"addImageShape",value:function(e){var t=this;return Log.logInfo("RtcWhiteboard.addImageShape",e),new Promise((function(r,n){var i=new Image$1({points:[{x:0,y:0},{x:0,y:0}],shapeId:t.getNewShapeId(),pageId:t.currentPage.pageId,creator:t.userId},e);i.loadImage().then((function(e){var n=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight),o=n.imgWidth,a=n.imgHeight,s=t.getViewport();i.points=[{x:(s.minx+s.maxx-o)/2,y:(s.miny+s.maxy-a)/2},{x:(s.minx+s.maxx+o)/2,y:(s.miny+s.maxy+a)/2}],t.currentPage.addShape(i),t.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,i.shapeId,i.export(),void 0)),t.setAsSelectedShape(i),t.throttleSendDrawCmd(i,"draw"),r()})).catch((function(r){Log.logError("RtcWhiteboard.addImageShape: img load failed, ",r,e),t._onLoadImageError(e),n(new DingRTCError(ErrorCode.InvaildState,"img load failed"))}))}))}},{key:"setStamp",value:function(e){this.stampId=e,this.setToolType(ShapeType.Stamp)}},{key:"thumbnails",get:function(){return"default"===this.activeDoc.docId?[]:some(this.activeDoc.getPages(),(function(e){return e.backgroundImage}))?this.activeDoc.getPages().map((function(e,t){var r;return(null===(r=e.backgroundImage)||void 0===r?void 0:r.imgUrl)||"empty-bg-".concat(t)})):[]}},{key:"setMediaShapeCallback",value:function(e){var t=this;e.setCallback({onShapeFocused:function(e){return t._focusShape(e)},onShapeSelected:function(e){return t._selectShape(e)},onMediaUpdate:function(e){t.isSynchronizer&&t.sendDrawCmd(e,"draw")}})}},{key:"addAudioShape",value:function(e){var t=this;return Log.logInfo("RtcWhiteboard.addAudioShape invoked"),new Promise((function(r,n){t.isConnected||n(new DingRTCError(ErrorCode.InvaildState));var i=t.getViewport(),o=new Audio({points:[{x:(i.minx+i.maxx-MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy-AUDIO_DOM_HEIGHT)/2},{x:(i.minx+i.maxx+MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy+AUDIO_DOM_HEIGHT)/2}],shapeId:t.getNewShapeId(),pageId:t.currentPage.pageId,creator:t.userId},e);t.setMediaShapeCallback(o),t.currentPage.addShape(o),t.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,o.shapeId,o.export(),void 0)),t.setAsSelectedShape(o),t.throttleSendDrawCmd(o,"draw"),r()}))}},{key:"addVideoShape",value:function(e){var t=this;return Log.logInfo("RtcWhiteboard.addVideoShape",e),new Promise((function(r,n){t.isConnected||n(new DingRTCError(ErrorCode.InvaildState));var i=t.getViewport(),o=new Video({points:[{x:(i.minx+i.maxx-MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy-VIDEO_DOM_HEIGHT)/2},{x:(i.minx+i.maxx+MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy+VIDEO_DOM_HEIGHT)/2}],shapeId:t.getNewShapeId(),pageId:t.currentPage.pageId,creator:t.userId},e);t.setMediaShapeCallback(o),t.currentPage.addShape(o),t.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,o.shapeId,o.export(),void 0)),t.setAsSelectedShape(o),t.throttleSendDrawCmd(o,"draw"),r()}))}},{key:"setAsSelectedShape",value:function(e){this.selectedShape&&(this.selectedShape.interactionStatus=InteractionStatusType.default),this.selectedShape=e,e.interactionStatus=InteractionStatusType.selected}},{key:"insertPage",value:function(e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.docManager.activeDocId,r=3>=arguments.length||void 0===arguments[3]||arguments[3];if(Log.logInfo("RtcWhiteboard.insertPage",e,1>=arguments.length||void 0===arguments[1]||arguments[1],t,r),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);var n,i=this.docManager.getDocByDocId(t);if(!i)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");if(!i.canModifyPage)throw new DingRTCError(ErrorCode.InvaildArgument,"doc can not modify");if(i.browseMode===DocBrowserMode.scroll)i.scrollPages=i.scrollPages+1,null===(n=this.connection)||void 0===n||n.sendDocResourceMessage(i);else if(i.browseMode===DocBrowserMode.flip){var o;if(0>e)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");var a=i.generateNewPageId(),s=i.getPages().map((function(e){return e.pageId}));return null==s||s.splice(e+1,0,a),null===(o=this.connection)||void 0===o||o.sendDocResourceMessage(i,r?a:i.curPageId,s),this.activeDocId!==t&&r&&this.switchToDoc(t),a}}},{key:"removeScrollDocShapesByScrollY",value:function(e,t){var r=this;if(e.browseMode===DocBrowserMode.scroll){var n=e.getPages()[0],i=t*e.scrollPageHeight;n.getShapes().forEach((function(e){e.miny>i&&r.deleteShape(e,!1)}))}}},{key:"setSizeLimitVisible",value:function(e){this.sizeLimitVisible=e,this.render()}},{key:"updateCustomDocPosition",value:function(e){if(Log.logInfo("RtcWhiteboard.updateCustomDocPosition",e.docId,e.name),e.width){var t=this.calculateScaleAndTranslate({width:e.externalDocWidth,height:e.externalDocHeight,minx:0,miny:0});e.getPages().forEach((function(e){e.scale=t.scale,e.translate=[t.translate[0],t.translate[1]]}))}else Log.logError("RtcWhiteboard.updateCustomDocPosition doc width not exists!")}},{key:"centerPdfDoc",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.activeDoc;if(Log.logInfo("RtcWhiteboard.centerPdfDoc",e.docId,e.name),e instanceof PdfDoc){var t=this.getWrapperDomRect().width/e.width;e.getPages().forEach((function(e){e.scale=t,e.translate[0]=0})),this.render()}else Log.logError("RtcWhiteboard.centerPdfDoc doc width not exists!")}},{key:"getPdfVisiblePage",value:function(){var e;if(this.activeDoc instanceof PdfDoc&&"loaded"===this.activeDoc.pdfViewer.state){for(var t=this.activeDoc.pdfViewer.pdfPages.size,r=this.getViewport(),n=-1,i=t-1,o=0;t>o;o++){var a=this.activeDoc.pdfViewer.pdfPages.get(o);if(!a)return;if(-1===n&&a.top>r.miny&&(n=o-1),a.top>=r.maxy){i=o-1;break}}-1===n&&(n=t-1);var s=0>n-3?0:n-3,c=i+3>t?t:i+3;return n!==(null===(e=this.activeDoc.pdfViewer)||void 0===e?void 0:e.pageIndex)&&(this.activeDoc.pdfViewer.pageIndex=n),{pagesNum:t,start:s,end:c,firstVisibleIndex:n,lastVisibleIndex:i}}}},{key:"followVision",value:function(e){"pdf"!==this.activeDoc.type&&(Log.logInfo("RtcWhiteboard.followVision"),this.activeDoc.setDocViewport(e,this.getWrapperDomRect()))}},{key:"calculateScaleAndTranslate",value:function(e){var t=this.getWrapperDomRect(),r=e.width,n=e.height,i=0;return{scale:i=t.height/n>t.width/r?t.width/r:t.height/n,translate:[-e.minx*i-(r*i-t.width)/2,-e.miny*i-(n*i-t.height)/2]}}},{key:"showFps",value:function(){var e=this;Log.logInfo("RtcWhiteboard.showFps"),this.renderer.frameRenderRate=0,this.frameRenderRateInterval=window.setInterval((function(){e.renderFPS.innerHTML="fps: ".concat(e.renderer.frameRenderRate),e.renderer.frameRenderRate=0}),1e3)}},{key:"stopShowFps",value:function(){Log.logInfo("RtcWhiteboard.stopShowFps"),clearInterval(this.frameRenderRateInterval)}},{key:"setPenetrable",value:function(e){Log.logInfo("RtcWhiteboard.setPenetrable",e),this._penetrable=e}},{key:"getViewport",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentPage,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getWrapperDomRect();return{minx:-e.translate[0]/e.scale,miny:-e.translate[1]/e.scale,maxx:(null==t?void 0:t.width)/e.scale-e.translate[0]/e.scale,maxy:(null==t?void 0:t.height)/e.scale-e.translate[1]/e.scale}}},{key:"setShapesVisible",value:function(e){var t,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e?(Log.logInfo("RtcWhiteboard.showWhiteboard"),this.enableInteraction(),this.renderer.showCanvas(),this.bgImg.parentElement!==this.wbWrapperDom&&this.wbWrapperDom.appendChild(this.bgImg)):(Log.logInfo("RtcWhiteboard.hideWhiteboard",r),this.stopInteraction(),this.renderer.hideCanvas(),r&&(null===(t=this.bgImg.parentElement)||void 0===t||t.removeChild(this.bgImg)));this.isShapesVisible=e}},{key:"convertPointCoords",value:function(e){return{x:(e.x-this.translate[0])/this.scale,y:(e.y-this.translate[1])/this.scale}}},{key:"convertDelta",value:function(e){return e/this.scale}},{key:"checkMouseOverAndSetType",value:function(e,t,r){if(this.selectedShape&&this.selectedShape.isPointInShapeRect(e,t))return this.visibleShapes.forEach((function(e){return e.interactionStatus=InteractionStatusType.default})),void(this.selectedShape.interactionStatus=r);for(var n=!1,i=this.visibleShapes.length-1;i>=0;i--){var o=this.visibleShapes[i];if(this.isPermittedShape(o))o.isPointInShape(e,t)&&!n?(n=!0,o.interactionStatus=r,this.selectedShape=o,o instanceof Text&&(this.textArea.value=o.text)):includes(this.multiSelecetedShapes,o)||(o.interactionStatus=InteractionStatusType.default)}n||(this.selectedShape=void 0)}},{key:"focusTetxArea",value:function(e){var t=this;if(this.chackIfTextAreaOutofBound(e),this.textArea.style.zIndex="1",this.textArea.style.color=this.strokeStyle,this.textArea.value=e.text,this.textArea!==document.activeElement){var r=this.textArea.value.length;this.textArea.setSelectionRange(r,r),this.textArea.focus(),requestAnimationFrame((function(){return t.textArea.focus()}))}}},{key:"chackIfTextAreaOutofBound",value:function(e){var t=this.getVisionMaxX(),r=this.getVisionMaxY();(e.maxy>r||e.maxx>t)&&(this.setTranslate(e.maxx>t?this.translate[0]+(t-e.maxx-10)*this.scale:this.translate[0],e.maxy>r?this.translate[1]+(r-e.maxy-10)*this.scale:this.translate[1]),this.renderer.doRender())}},{key:"_selectShape",value:function(e){this.selectedShape!==e&&this.isPermittedShape(e)&&this.setAsSelectedShape(e)}},{key:"_focusShape",value:function(e){this.isPermittedShape(e)&&this.insertType===ShapeType.Select&&e.interactionStatus!==InteractionStatusType.selected&&(e.interactionStatus=InteractionStatusType.focused)}},{key:"getShapeResizeHandle",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selectedShape;return r&&find(r.outlineResizeHandles,(function(r){return r.isPointInShape(e,t)}))}},{key:"rangeSelect",value:function(){var e=this,t=[],r=this.insertType===ShapeType.Delete?InteractionStatusType.willBeDeleted:InteractionStatusType.focused;this.visibleShapes.forEach((function(n){e.isPermittedShape(n)&&(e.selectIndicator.isPointInShapeRect(n.minx,n.miny)||e.selectIndicator.isPointInShapeRect(n.maxx,n.miny)||e.selectIndicator.isPointInShapeRect(n.maxx,n.maxy)||e.selectIndicator.isPointInShapeRect(n.minx,n.maxy))?(t.push(n),n.interactionStatus=r):n.interactionStatus=InteractionStatusType.default})),this.multiSelecetedShapes=t}},{key:"clearSelectedShapes",value:function(){this.selectedShape&&(this.selectedShape.interactionStatus=InteractionStatusType.default,this.selectedShape=void 0),this.multiSelecetedShapes.forEach((function(e){return e.interactionStatus=InteractionStatusType.default})),this.multiSelecetedShapes=[]}},{key:"shouldUpdateViewAfterSizeChange",get:function(){return"externalDoc"===this.activeDoc.type||this._bFollowVision}},{key:"moveAndScaleDisabled",get:function(){return this._scaleAndMoveDisabled||"externalDoc"===this.activeDoc.type||this._bFollowVision}},{key:"getShapeByPoint",value:function(e,t){for(var r=this.visibleShapes.length-1;r>=0;r--){var n=this.visibleShapes[r];if(this.isPermittedShape(n)&&n.isPointInShape(e,t))return n}}},{key:"center",value:function(){this._scaleBoardFitBackground(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.activeDoc)}},{key:"enableCursorSync",value:function(){this._cursorSyncEnabled=!0}},{key:"disableCursorSync",value:function(){this._cursorSyncEnabled=!1}},{key:"isPointInAnyMultySlectedShape",value:function(e,t){for(var r=!1,n=0;this.multiSelecetedShapes.length>n;n++)if(this.multiSelecetedShapes[n].isPointInShapeRect(e,t)){r=!0;break}return r}},{key:"uploadLocalImage",value:function(e,t,r){var n,i,o,a=this;uploadTempFile({file:e,channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(n=null===(i=this.connection)||void 0===i?void 0:i.connectionInfo.securityToken)&&void 0!==n?n:"",gslb:(null===(o=this.connection)||void 0===o?void 0:o.connectionInfo.gslb)||getGslb(),onProgress:r}).then((function(r){var n=r.url;t?a.setBackgroundImage(n):includes(e.name,".gif")||includes(e.name,"imgtype=gif")?a.addImageShape(includes(n,"?")?"".concat(n,"&imgtype=gif"):"".concat(n,"?imgtype=gif")).catch((function(){Log.logError("RtcWhiteboard.uploadLocalImage","addImageShape error")})):a.addImageShape(n).catch((function(){Log.logError("RtcWhiteboard.uploadLocalImage","addImageShape error")}))})).catch((function(e){Log.logError("RtcWhiteboard.uploadLocalImage: img upload failed, ",e.message,a.sessionId)}))}},{key:"deleteRageSelectedShapes",value:function(){var e=this,t=[];this.multiSelecetedShapes.forEach((function(r){r.interactionStatus=InteractionStatusType.default;var n=r.export();r.visible=!1,r instanceof Text?(r.interactionStatus=InteractionStatusType.default,e.textArea.style.zIndex="0",e.textArea.style.color="transparent"):(r instanceof Video||r instanceof Audio)&&r.removeMediaDom(),t.push({shapeId:r.shapeId,currentState:r.export(),lastState:n}),e.sendDrawCmd(r,"draw")})),this.history.batchSave(new BatchHistory(HistoryActionType.hideShape,t)),this.multiSelecetedShapes=[]}},{key:"copyShapeInfoToClipboard",value:function(e){var t=this.activeDoc,r=e.map((function(e){return{docId:t.docId,pageId:t.currentPage.pageId,shapeId:e.shapeId}}));setClipboard(JSON.stringify(r)).catch((function(e){Log.logError("RtcWhiteboard.copyShapeInfoToClipboard failed",e.message)}))}},{key:"disableScaleAndMove",value:function(){Log.logInfo("RtcWhiteboard.disableScaleAndMove"),this._scaleAndMoveDisabled=!0}},{key:"enableScaleAndMove",value:function(){Log.logInfo("RtcWhiteboard.enableScaleAndMove"),this._scaleAndMoveDisabled=!1}},{key:"disableWheelScale",value:function(){Log.logInfo("RtcWhiteboard.disableWheelScale"),this.wheelDsiabled=!0}},{key:"enableWheelScale",value:function(){Log.logInfo("RtcWhiteboard.enableWheelScale"),this.wheelDsiabled=!1}},{key:"enableInteraction",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._role;this.stopInteraction(),"Viewer"!==e?(this.hammer.on("tap",this.onTap),this.hammer.on("panstart",this.onPanStart),this.hammer.on("panmove",this.onPanMove),this.hammer.on("panend",this.onPanEnd),this.hammer.on("pinchstart",this.onPinchStart),this.hammer.on("pinchin",this.onPinch),this.hammer.on("pinchend",this.onPinchEnd),this.hammer.on("pinchout",this.onPinch),this.hammer.on("pinchmove",this.onPinchMove),this.wbWrapperDom.addEventListener("dblclick",this.onDoubleClick),this.wbWrapperDom.addEventListener("mousedown",this.onMouseDown),this.wbWrapperDom.addEventListener("mousemove",this.onMouseMove),this.wbWrapperDom.addEventListener("touchend",this.onTouchEnd),this.wbWrapperDom.addEventListener("mouseup",this.onMouseUp),this.wbWrapperDom.addEventListener("contextmenu",this.onContextMenu),this.wbWrapperDom.addEventListener("wheel",this.onWheel),document.addEventListener("keydown",this.onKeyDown),document.addEventListener("keyup",this.onKeyUp),document.addEventListener("mouseout",this.onMouseOut),document.addEventListener("paste",this.onPaste)):Log.logInfo("RtcWhiteboard.enableInteraction role is viewer, return")}},{key:"stopInteraction",value:function(){this.wbWrapperDom.removeEventListener("mousemove",this.onMouseMove),this.wbWrapperDom.removeEventListener("mousedown",this.onMouseDown),this.wbWrapperDom.removeEventListener("mouseup",this.onMouseUp),this.wbWrapperDom.removeEventListener("contextmenu",this.onContextMenu),this.wbWrapperDom.removeEventListener("wheel",this.onWheel),this.wbWrapperDom.removeEventListener("touchend",this.onTouchEnd),document.removeEventListener("keydown",this.onKeyDown),document.removeEventListener("keyup",this.onKeyUp),document.removeEventListener("mouseout",this.onMouseOut),document.removeEventListener("paste",this.onPaste),this.hammer&&(this.hammer.off("tap",this.onTap),this.hammer.off("panstart",this.onPanStart),this.hammer.off("panmove",this.onPanMove),this.hammer.off("panend",this.onPanEnd),this.hammer.on("pinchstart",this.onPinchStart),this.hammer.off("pinchin",this.onPinch),this.hammer.off("pinchend",this.onPinchEnd),this.hammer.off("pinchout",this.onPinch),this.hammer.off("pinchmove",this.onPinchMove))}},{key:"deleteShapeOnPosition",value:function(e,t){for(var r=this.visibleShapes.length-1;r>=0;r--){var n=this.visibleShapes[r];if(this.isPermittedShape(n)&&n.isPointInShape(e,t)){this.deleteShape(n);break}}}},{key:"snapshot",value:(n=_asyncToGenerator$1(_regeneratorRuntime$1.mark((function e(){var t,r,n,i,o,a,s,c,l,u,d,p,h,f,g,y,v,m,b,S,_,w,I,E,T,O,C,P,R,k,x=arguments;return _regeneratorRuntime$1.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=x.length>2&&void 0!==x[2]?x[2]:"png",i=x.length>3&&void 0!==x[3]?x[3]:.5,Log.logInfo("RtcWhiteboard.snapshot",t=0>=x.length||void 0===x[0]||x[0],r=x.length>1&&void 0!==x[1]?x[1]:"view",this.sessionId),o=document.createElement("canvas"),a=this.renderer.canvasElement.width,s=this.renderer.canvasElement.height,c=0,l=0,u=0,d=0,this.activeDoc instanceof PdfDoc&&"all"===r&&(r="view",Log.logWarn("RtcWhiteboard.snapshot current page is pdf, only supprot snapshot mode 'view'")),"all"===r?(p=this.getViewport(),c=Math.min.apply(Math,[this.currentPage.backgroundImage?this.currentPage.backgroundImage.minx:0].concat(_toConsumableArray((h=this.visibleShapes).map((function(e){return e.minx})))))-10,l=Math.max.apply(Math,[0,this.currentPage.backgroundImage?this.currentPage.backgroundImage.maxx:0].concat(_toConsumableArray(h.map((function(e){return e.maxx})))))+10,u=Math.min.apply(Math,[this.currentPage.backgroundImage?this.currentPage.backgroundImage.miny:0].concat(_toConsumableArray(h.map((function(e){return e.miny})))))-10,d=Math.max.apply(Math,[0,this.currentPage.backgroundImage?this.currentPage.backgroundImage.maxy:0].concat(_toConsumableArray(h.map((function(e){return e.maxy})))))+10,c=Math.min(p.minx,c),l=Math.max(p.maxx,l),u=Math.min(p.miny,u),d=Math.max(p.maxy,d),f=(l-c)*this.getDevicePixelRatio(),g=(d-u)*this.getDevicePixelRatio(),o.width=f,o.height=g):(o.width=a,o.height=s),(y=o.getContext("2d")).save(),y.fillStyle=this.currentPage.backgroundColor,y.fillRect(0,0,o.width,o.height),y.restore(),!this.currentPage.backgroundImage){e.next=48;break}if(e.prev=20,v=this.currentPage.backgroundImage.img){e.next=26;break}return e.next=25,this.currentPage.backgroundImage.loadImage();case 25:v=this.currentPage.backgroundImage.img;case 26:if(isImageExportable(v)){e.next=42;break}return e.prev=27,e.next=30,ImageLoader.loadImgAnonymous(this.currentPage.backgroundImage.imgUrl);case 30:if(v=e.sent){e.next=35;break}return e.next=34,this.currentPage.backgroundImage.loadImage();case 34:v=this.currentPage.backgroundImage.img;case 35:v=void 0,e.next=42;break;case 38:e.prev=38,e.t0=e.catch(27),v=void 0,Log.logError("背景图截图失败",JSON.stringify(e.t0));case 42:v&&(m=this._getLimitedImgSize(v.naturalWidth,v.naturalHeight),b=m.imgWidth,S=m.imgHeight,y.save(),"all"===r?(y.scale(this.getDevicePixelRatio(),this.getDevicePixelRatio()),y.drawImage(v,this.currentPage.backgroundImage.minx,this.currentPage.backgroundImage.miny,b,S),y.scale(1/this.getDevicePixelRatio(),1/this.getDevicePixelRatio())):(y.translate(this.translate[0]*this.getDevicePixelRatio(),this.translate[1]*this.getDevicePixelRatio()),y.scale(this.scale*this.getDevicePixelRatio(),this.scale*this.getDevicePixelRatio()),y.drawImage(v,this.currentPage.backgroundImage.minx,this.currentPage.backgroundImage.miny,b,S),y.scale(1/this.scale/this.getDevicePixelRatio(),1/this.scale/this.getDevicePixelRatio()),y.translate(-this.translate[0]*this.getDevicePixelRatio(),-this.translate[1]*this.getDevicePixelRatio())),y.restore()),e.next=48;break;case 45:e.prev=45,e.t1=e.catch(20),Log.logError("RtcWhiteboard.snapshot error, current page background image is blocked by CROS",JSON.stringify(e.t1));case 48:if(!(this.activeDoc instanceof PdfDoc)){e.next=68;break}if(!(_=this.getPdfVisiblePage())){e.next=68;break}w=_.lastVisibleIndex,I=_.firstVisibleIndex;case 53:if(I>w){e.next=68;break}if(T=null===(E=this.activeDoc.pdfViewer)||void 0===E||null===(E=E.pdfPages.get(I))||void 0===E?void 0:E.img){e.next=57;break}return e.abrupt("continue",65);case 57:O=parseInt(T.getAttribute("data-w")||"",10),C=parseInt(T.getAttribute("data-h")||"",10),P=parseInt(T.getAttribute("data-t")||"",10),y.translate(this.translate[0]*this.getDevicePixelRatio(),this.translate[1]*this.getDevicePixelRatio()),y.scale(this.scale*this.getDevicePixelRatio(),this.scale*this.getDevicePixelRatio()),y.drawImage(T,0,P,O,C),y.scale(1/this.scale/this.getDevicePixelRatio(),1/this.scale/this.getDevicePixelRatio()),y.translate(-this.translate[0]*this.getDevicePixelRatio(),-this.translate[1]*this.getDevicePixelRatio());case 65:I++,e.next=53;break;case 68:return e.prev=68,"all"===r?(this.renderer.renderAllVisibleShapes(y,[-c,-u],1,!0),this.renderer.renderTopShapes(y,[-c,-u],1)):(this.renderer.renderAllVisibleShapes(y,this.translate,this.scale,!0),this.renderer.renderTopShapes(y,this.translate,this.scale)),R=o.toDataURL("image/".concat(n),i),t&&((k=document.createElement("a")).download="".concat(this.userId,"_").concat((new Date).toISOString(),".png"),k.href=R,document.body.appendChild(k),k.click(),k.remove()),e.abrupt("return",R);case 75:throw e.prev=75,e.t2=e.catch(68),Log.logError("白板截图失败",e.t2),new DingRTCError(ErrorCode.InvaildState,JSON.stringify(e.t2));case 79:case"end":return e.stop()}}),e,this,[[20,45],[27,38],[68,75]])}))),function(){return n.apply(this,arguments)})},{key:"getNewShapeId",value:function(){return"".concat(this.userId).concat(SHAPE_SEQ_LINK_STR).concat(this.natureObjSeq++)}},{key:"isPermittedShape",value:function(e){return this.isAdmin||e.creator===this.userId}},{key:"getStatistics",value:function(){Log.logInfo("RtcWhiteboard.getStatistics");var e=[];return this.docManager.getDocs().forEach((function(t){t.getPages().forEach((function(t){t.getShapes().forEach((function(t){var r=find(e,{userId:t.creator});r||e.push(r={userId:t.creator,shapes:[]}),r.shapes.push(omit(t.export(),["points","rngReverse"]))}))}))})),e}},{key:"clearUserContents",value:function(e,t,r){var n,i=this;if(Log.logInfo("RtcWhiteboard.clearUserContents",e,t,r,this.isAdmin,this.sessionId),e!==this.userId&&!this.isAdmin)throw new DingRTCError(ErrorCode.InvaildArgument,"cannot clear contents becase of privilege");var o=[],a=[];this.docManager.getDocs().forEach((function(n){n.getPages().forEach((function(n){t&&n.pageId!==i.currentPage.pageId||n.getShapes().filter((function(t){return t.creator===e&&(r===WBClearType.BACKGROUND_IMAGE?t===n.backgroundImage:r!==WBClearType.DRAWS||t!==n.backgroundImage)})).forEach((function(e){t&&a.push(e),o.push({seq:e.shapeSeq,userId:e.creator})}))}))})),a.length&&this.history.batchSave(new BatchHistory(HistoryActionType.deleteShape,a.map((function(e){return{shapeId:e.shapeId,currentState:e.export(),lastState:e.export()}})))),null===(n=this.connection)||void 0===n||n.sendClearDrawMsg(o)}},{key:"createDoc",value:function(e,t,r,n){var i,o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:genRandomDocId();if(Log.logInfo("RtcWhiteboard.createDoc",e,t,this.sessionId),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState,"session not connected");null===(i=this.connection)||void 0===i||i.sendCreateDocResourceMessage(a,e,t,r,n),null===(o=this.connection)||void 0===o||o.sendActiveDocResourceMessage(a)}},{key:"setLocale",value:function(e){I18n.locale=e}},{key:"setI18nConfig",value:function(e){I18n.setConfig(e)}},{key:"getI18nConfig",value:function(){return I18n.conifg}},{key:"resendLocalInfoOnFailover",value:function(){Log.logInfo("RtcWhiteboard.resendLocalInfoOnFailover"),this.sendLocalDocAndShapesOnReconnect(),this.setRoleType(this.role),this.bSharingVision&&(Log.logInfo("RtcWhiteboard.resendLocalInfoOnFailover resend locale vision"),this.throttleSendVisionCmd(this.getViewport()))}},{key:"sendLocalDocAndShapesOnReconnect",value:function(){var e=this;this.failoverShapeCache.clear(),this.failoverDocCache.clear(),this._innerEventhub.once("syncCompleted",(function(){e.docManager.getDocs().forEach((function(t){var r,n;(e.failoverDocCache.get(t.docId)||-1)<t.pageVersion&&(null===(r=e.connection)||void 0===r||r.sendDocResourceMessage(t),e.isSynchronizer&&t.docId===e.docManager.activeDocId&&(null===(n=e.connection)||void 0===n||n.sendActiveDocResourceMessage(t.docId)));t.getPages().forEach((function(t){t.getShapes().forEach((function(t){e.failoverShapeCache.get(t.shapeId)||e.sendDrawCmd(t,"draw")})),t.backgroundImage&&(e.failoverShapeCache.get(t.backgroundImage.shapeId)||e.sendDrawCmd(t.backgroundImage,"draw"))}))}))}))}},{key:"open",value:function(e){var t=this;Log.logInfo("RtcWhiteboard.openWhiteboard",this.sessionId),this.checkDocAndSetPenetrable(this.insertType),e.appendChild(this.wbWrapperDom),this.wrapperDomRect=e.getBoundingClientRect(),window.addEventListener("resize",this.autoUpdateCanvasSize),window.addEventListener("scroll",this.autoUpdateCanvasSize),this.enableInteraction(),window.requestAnimationFrame((function(){t.updateCanvasSize(!1),t._updateBoardWithNewScale(t.scale,0,0),t.render()})),setTimeout((function(){t.updateCanvasSize(!1,!1,!0),t._updateBoardWithNewScale(t.scale,0,0),t.render()}),1e3),this.isWhiteboardOpen=!0,window.addEventListener("panoPenEvent",this._onPenEvent),requestAnimationFrame((function(){t.docManager.getDocs().forEach((function(e){return e.getPages().forEach((function(r,n){e.docId===t.activeDocId&&n===t.pageIndex&&t._bFollowVision||(e.scaleBoardFitBackgroundImage(r,t.getWrapperDomRect(),t.bgScaleMode),e instanceof ExternalDoc&&e.width&&t.updateCustomDocPosition(e))}))})),t._everOpened||(t.fitWithSizeConfig(),t._everOpened=!0)})),this.isOpen=!0,this._bFollowVision&&requestAnimationFrame((function(){t._visionLockInfo&&t.followVision(t._visionLockInfo)}))}},{key:"close",value:function(){var e;Log.logInfo("RtcWhiteboard.close"),window.removeEventListener("panoPenEvent",this._onPenEvent),this.isWhiteboardOpen=!1,this.currentPage.getShapes().forEach((function(e){(e instanceof Video||e instanceof Audio)&&e.removeMediaDom()})),this.stopInteraction(),null===(e=this.wbWrapperDom.parentElement)||void 0===e||e.removeChild(this.wbWrapperDom),window.removeEventListener("resize",this.autoUpdateCanvasSize),window.removeEventListener("scroll",this.autoUpdateCanvasSize),clearInterval(this.frameRenderRateInterval),this.isOpen=!1}},{key:"alignVision",value:function(){var e,t=this.getViewport();null===(e=this.connection)||void 0===e||e.sendVisionResourceMsg(t.maxx-t.minx,t.maxy-t.miny,t.minx,t.miny)}},{key:"initVision",value:function(e,t){var r,n,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(Log.logInfo("RtcWhiteboard.initVision",e,t,i,this.sessionId),!parseFloat("".concat(e))||!parseFloat("".concat(t)))throw new DingRTCError(ErrorCode.InvaildArgument);if(t!==(null===(r=this.sizeConfig)||void 0===r?void 0:r.height)||e!==(null===(n=this.sizeConfig)||void 0===n?void 0:n.width)||i!==this.isSizeLimited){var o={width:e,height:t,limited:i};this.sizeConfig=o,this.docManager.getDocs().forEach((function(e){e.setSizeConfig(o)})),this.fitWithSizeConfig()}}},{key:"startVisionShare",value:function(){Log.logInfo("RtcWhiteboard.startVisionShare",this.sessionId),this.bSharingVision=!0,this._bFollowVision=!1,this.enableScaleAndMove(),this.isOpen&&this.throttleSendVisionCmd(this.getViewport())}},{key:"stopVisionShare",value:function(){var e;Log.logInfo("RtcWhiteboard.stopVisionShare",this.sessionId),this.bSharingVision=!1,this._lockVisonUserId===this.userId&&(null===(e=this.connection)||void 0===e||e.sendClearResourceMsg("vision",["vision"]))}},{key:"startFollowVision",value:function(){Log.logInfo("RtcWhiteboard.startFollowVision",this._visionLockInfo,this.sessionId),this._bFollowVision=!0,this._visionLockInfo&&this.followVision(this._visionLockInfo)}},{key:"stopFollowVision",value:function(){Log.logInfo("RtcWhiteboard.stopFollowVision",this.sessionId),this._bFollowVision=!1}},{key:"deleteDoc",value:function(e,t){var r;if(Log.logInfo("RtcWhiteboard.deleteDoc",this.sessionId),e===DEFAULT_DOC_ID)throw new DingRTCError(ErrorCode.InvaildArgument,"cannot delete default doc");var n=this.docManager.getDocByDocId(e);if(!n)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");e===this.docManager.activeDocId&&(t&&this.docManager.getDocByDocId(t)?this.switchToDoc(t):this.switchToDoc(DEFAULT_DOC_ID)),null===(r=this.connection)||void 0===r||r.sendClearResourceMsg("doc",[n.docId]),this.docManager.deleteDocByDocId(e)}},{key:"clearContents",value:function(e,t){var r,n=this;if(Log.logInfo("RtcWhiteboard.clearContents",e,t,this.sessionId),!this.isAdmin)throw Log.logError("RtcWhiteboard.clearContents failed, not admin role"),new DingRTCError(ErrorCode.InvaildArgument,"cannot clear contents becase of privilege");var i=[];if(e){var o=[];t===WBClearType.All?this.currentPage.getShapes().forEach((function(e){o.push(e),i.push({seq:e.shapeSeq,userId:e.creator})})):t===WBClearType.BACKGROUND_IMAGE?this.currentPage.backgroundImage&&(o.push(this.currentPage.backgroundImage),i.push({seq:this.currentPage.backgroundImage.shapeSeq,userId:this.currentPage.backgroundImage.creator})):t===WBClearType.DRAWS&&this.currentPage.getShapes().forEach((function(e){e!==n.currentPage.backgroundImage&&(o.push(e),i.push({seq:e.shapeSeq,userId:e.creator}))})),o.length&&this.history.batchSave(new BatchHistory(HistoryActionType.deleteShape,o.map((function(e){return{shapeId:e.shapeId,currentState:e.export(),lastState:e.export()}}))))}else t===WBClearType.All?this.docManager.getDocs().forEach((function(e){e.getPages().forEach((function(e){e.getShapes().forEach((function(e){i.push({seq:e.shapeSeq,userId:e.creator})}))}))})):t===WBClearType.BACKGROUND_IMAGE?this.docManager.getDocs().forEach((function(e){e.getPages().forEach((function(e){e.backgroundImage&&i.push({seq:e.backgroundImage.shapeSeq,userId:e.backgroundImage.creator})}))})):t===WBClearType.DRAWS&&this.docManager.getDocs().forEach((function(e){e.getPages().forEach((function(e){e.getShapes().forEach((function(t){t!==e.backgroundImage&&i.push({seq:t.shapeSeq,userId:t.creator})}))}))}));null===(r=this.connection)||void 0===r||r.sendClearDrawMsg(i)}},{key:"clearDocContents",value:function(e,t){var r;if(Log.logInfo("RtcWhiteboard.clearDocContents",e,t,this.isAdmin,this.sessionId),!this.isAdmin)throw new DingRTCError(ErrorCode.InvaildArgument,"cannot clear contents becase of privilege");var n=this.docManager.getDocByDocId(e);if(!n)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");var i=[];n.getPages().forEach((function(e){e.getShapes().forEach((function(e){i.push({seq:e.shapeSeq,userId:e.creator})}))})),null===(r=this.connection)||void 0===r||r.sendClearDrawMsg(i)}},{key:"setScale",value:function(e){this.activeDoc.setScale(e,!0,this.getWrapperDomRect())}},{key:"uploadPDF",value:function(e){var t,r,n,i=this;return Log.logInfo("RtcWhiteboard.uploadPDF",this.sessionId),selectAndUploadTempFile({accept:".pdf",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),onProgress:e}).then((function(e){return i.addPdfDoc(e.url,e.fileName),e}))}},{key:"addPdfDoc",value:function(e,t){var r,n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:genRandomDocId(),o=arguments.length>3?arguments[3]:void 0;Log.logInfo("RtcWhiteboard.addPdfDoc",e,t,this.sessionId);var a=i;return null===(r=this.connection)||void 0===r||r.sendCreatePdfDocResourceMessage(i,t,e,o),null===(n=this.connection)||void 0===n||n.sendActiveDocResourceMessage(i),a}},{key:"transcodeFile",value:function(e){var t,r,n,i=this;Log.logInfo("RtcWhiteboard.transcodeFile",e,this.sessionId);var o=e.targetType,a=e.onUploadProgress,s=e.onTranscodeProgress;return selectAndTranscodeFile({accept:".docx, .xlsx, .pptx, .doc, .xls, .ppt, .pdf",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),targetType:o,onUploadProgress:a,onTranscodeProgress:s}).then((function(e){var t=e.url,r=e.fileName,n=e.docId;return"pdf"===o?i.addPdfDoc(t[0],r,n,n):i.addBackgroundImages(t,r,n),e}))}},{key:"addBackgroundImages",value:function(e,t){var r,n,i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:genRandomDocId();if(Log.logInfo("RtcWhiteboard.addBackgroundImages",t,this.sessionId),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState,"session not connected");null===(r=this.connection)||void 0===r||r.sendCreateDocResourceMessage(o,e.length,t||o.slice(-6)),null===(n=this.connection)||void 0===n||n.sendActiveDocResourceMessage(o),e.forEach((function(e,t){var r,n="".concat(o,"-").concat(t+1),a=new Image$1({points:[{x:0,y:0},{x:0,y:0}],shapeId:"bg-".concat(n),pageId:n,creator:i.userId},e);a.order=ShapeOrderType.bg,null===(r=i.connection)||void 0===r||r.sendShapeDrawMessage(a)}))}},{key:"uploadAudio",value:function(e){var t,r,n,i=this;return Log.logInfo("RtcWhiteboard.uploadAudio",this.sessionId),selectAndUploadTempFile({accept:"audio/mp3,audio/ogg",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),onProgress:e}).then((function(e){return i.addAudioShape(e.url),e}))}},{key:"uploadVideo",value:function(e){var t,r,n,i=this;return Log.logInfo("RtcWhiteboard.uploadVideo",this.sessionId),selectAndUploadTempFile({accept:"video/mp4,audio/ogg,video/webm",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),onProgress:e}).then((function(e){i.addVideoShape(e.url)}))}},{key:"_sendMetrics",value:function(e){e.time=(new Date).toISOString(),this.metricsBuffer.push(e);var t=e.event||"";t.includes("join")||t.includes("leave")?this.doSendMetrics():this.sendMetricsTimeout||(this.sendMetricsTimeout=window.setTimeout(this.doSendMetrics,1e4))}},{key:"uploadImage",value:function(){var e,t,r,n=this,i=0>=arguments.length||void 0===arguments[0]||arguments[0],o=arguments.length>1?arguments[1]:void 0;if(Log.logInfo("RtcWhiteboard.uploadImage",this.sessionId),this.isConnected)return selectAndUploadTempFile({accept:"image/*",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(e=null===(t=this.connection)||void 0===t?void 0:t.connectionInfo.securityToken)&&void 0!==e?e:"",gslb:(null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.gslb)||getGslb(),onProgress:o}).then((function(e){var t=e.url,r=e.fileName;i?n.setBackgroundImage(t):includes(r,".gif")||includes(t,"imgtype=gif")?n.addImageShape(includes(r,"?")?"".concat(t,"&imgtype=gif"):"".concat(t,"?imgtype=gif")).catch((function(){Log.logError("RtcWhiteboard.uploadImage","addImageShape error")})):n.addImageShape(t).catch((function(){Log.logError("RtcWhiteboard.uploadImage","addImageShape error")}))}))}},{key:"addStamp",value:function(e,t,r){Log.logInfo("RtcWhiteboard.addStamp",e,t,r),Stamp.stampResourceCache.cache(e,t,r)}},{key:"getSdkVersion",value:function(){return version$1}},{key:"exportAsJson",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark((function e(){var t,r,n,i,o,a,s,c=arguments;return _regeneratorRuntime$1.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.length>0&&void 0!==c[0]&&c[0],r=this.docManager.getDocs().map((function(e){return e.export()})),n="",e.prev=3,e.next=6,this.snapshot(!1,"all","png",.1);case 6:n=e.sent,e.next=12;break;case 9:e.prev=9,e.t0=e.catch(3),Log.logError("RtcWhiteboard.exportAsJson snapshot error");case 12:return i={snapshot:n,docsInfo:r},t&&(o="".concat(this.channelId,"-").concat(this.userId,".wbstates.json"),a=new File([new Blob([JSON.stringify(i)],{type:"text/plain"})],o,{type:"text/plain"}),(s=document.createElement("a")).href=window.URL.createObjectURL(a),s.download=o,s.style.display="none",document.body.appendChild(s),requestAnimationFrame((function(){s.click(),document.body.removeChild(s)}))),e.abrupt("return",i);case 15:case"end":return e.stop()}}),e,this,[[3,9]])}))),function(){return r.apply(this,arguments)})},{key:"saveLogs",value:function(){saveLogs(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".web-sdk.log"))}}],[{key:"usePdf",value:function(e){t.PdfPlugin=e}}]);var r,n}();function _callSuper$3(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$3()?Reflect.construct(t,r,_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$3(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$3=function(){return!!e})()}function _superPropGet(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}Object.defineProperty(Whiteboard,"MAX_SCALE",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(Whiteboard,"MIN_SCALE",{enumerable:!0,configurable:!0,writable:!0,value:.1}),Object.defineProperty(Whiteboard,"MAX_MEDIA_SIZE",{enumerable:!0,configurable:!0,writable:!0,value:300}),Object.defineProperty(Whiteboard,"DEFAULE_DOC_URL_DURATION",{enumerable:!0,configurable:!0,writable:!0,value:172800}),Object.defineProperty(Whiteboard,"RENDER_INTEVAL",{enumerable:!0,configurable:!0,writable:!0,value:RENDER_INTEVAL}),Object.defineProperty(Whiteboard,"CMD_SEND_WAIT",{enumerable:!0,configurable:!0,writable:!0,value:100}),Object.defineProperty(Whiteboard,"sdkVersion",{enumerable:!0,configurable:!0,writable:!0,value:version$1}),Object.defineProperty(Whiteboard,"docTranscodeStaicMaxSize",{enumerable:!0,configurable:!0,writable:!0,value:200});var RtcWhiteboard=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$3(this,t,[e.sessionId]),Object.defineProperty(n,"wbManager",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"users",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"joinStatus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"openStatus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"leave",{enumerable:!0,configurable:!0,writable:!0,value:function(){Log.logInfo("RtcWhiteboard.leaveWhiteboard whiteboardId",n.sessionId),n.close(),n.joinStatus="leaving",n.connection.leave(),n.joinStatus="left",n.users=[]}}),Object.defineProperty(n,"stop",{enumerable:!0,configurable:!0,writable:!0,value:function(){Log.logInfo("RtcWhiteboard.stopWhiteboard",n.sessionId),n.connection.stop(),n.reset(),n.joinStatus="left"}}),Object.defineProperty(n,"onReceiveCommand",{enumerable:!0,configurable:!0,writable:!0,value:function(e){try{var t=e.type;if("resource"===t){var r=e.moziMessageIdDTO.messageId;if("activeDoc"===r)Log.logInfo("RtcWhiteboard.onReceiveCommand active",e,n.sessionId),n.docManager.switchActiveDoc(e.message.active);else if("doc"===e.message.resourceType){Log.logInfo("RtcWhiteboard.onReceiveCommand doc",e,n.sessionId),n.docManager.handleDocCommnad(e,n.connection.connectionInfo.pid===e.editor,n.getWrapperDomRect(),n.sizeConfig)}else"vision"===r?n._handleVisionCommand(e):"laserPointer"===e.message.resourceType?n._handleLaserPointerCommand(e):"cursor"===e.message.resourceType?n._handleCoursorCommand(e):"stamp"===e.message.resourceType&&n._handleStampResourceCommand(e)}else"clear"===t?"object"===e.messageType?n._handleClearObj(e):n._handleClearResource(e):"object"===t?n._handleDrawCommand(e):"snapshot"===t&&n._handleSnapshotCommand(e)}catch(t){Log.logError("RtcWhiteboard.onReceiveCommand: Handle command failed: ",e,t,n.sessionId)}}}),n.connection=e,n.users=[],n.connection.on("data-received",(function(e,t,r){try{var i=JSON.parse(e);n.onReceiveCommand(i)}catch(n){Log.logInfo("RtcWhiteboard data-received parse error",e,t,r)}})),n.connection.on("status-sync",(function(){n._innerEventhub.emit("syncCompleted")})),n.connection.on("user-join",(function(e){n.users.some((function(t){return t.userId===e}))||(n.users.push({userId:e}),n.emit("user-join",e))})),n.connection.on("user-leave",(function(e){var t=n.users.findIndex((function(t){return t.userId===e}));t>-1&&(n.users.splice(t,1),n.emit("user-leave",e))})),n.joinStatus="init",n.openStatus="init",n}return _inherits$1(t,Whiteboard),_createClass$1(t,[{key:"isConnected",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.isConnected)||!1}},{key:"open",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark((function e(r){var n,i;return _regeneratorRuntime$1.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=this.openStatus,this.openStatus="opening",Log.logInfo("RtcWhiteboard.open",this.sessionId),this.isConnected){e.next=7;break}return Log.logInfo("RtcWhiteboard.open wb session not connected, will join session",this.sessionId),this.openStatus=n,e.abrupt("return");case 7:return e.prev=7,e.next=10,this.joinSession();case 10:e.next=16;break;case 12:return e.prev=12,e.t0=e.catch(7),this.openStatus=n,e.abrupt("return",Promise.reject(e.t0));case 16:return i=_superPropGet(t,"open",this)([r]),this.openStatus="opened",e.abrupt("return",i);case 19:case"end":return e.stop()}}),e,this,[[7,12]])}))),function(e){return r.apply(this,arguments)})},{key:"close",value:function(){if("closed"!==this.openStatus){this.openStatus="closing";var e=_superPropGet(t,"close",this)([]);return this.openStatus="closed",e}Log.logInfo("RtcWhiteboard.close already closed, directly resolve",this.sessionId)}},{key:"joinSession",value:function(){var e=this;if("joined"===this.joinStatus)return Log.logInfo("RtcWhiteboard.joinSession already joined, directly resolve",this.sessionId),Promise.resolve(!0);var t=this.joinStatus;return this.joinStatus="joining",this.connection.joinSession().then((function(){var t;e.joinStatus="joined",null===(t=e.connection.session)||void 0===t||t.nodeMap.nodesInfo.forEach((function(t){-1===e.users.findIndex((function(e){return e.userId===t.uid}))&&e.users.push({userId:t.uid})}))})).catch((function(r){return e.joinStatus=t,Promise.reject(r)}))}},{key:"_handleSnapshotCommand",value:function(e){var t,r=this;Log.logInfo("RtcWhiteboard._handleSnapshotCommand",e,this.sessionId),e.start&&Log.logInfo("RtcWhiteboard._handleSnapshotCommand start"),e.objects.forEach((function(e){"activeDoc"!==e.moziMessageIdDTO.messageId?r.onReceiveCommand(e):t=e})),t&&this.onReceiveCommand(t),e.end&&Log.logInfo("RtcWhiteboard._handleSnapshotCommand end")}},{key:"_handleCoursorCommand",value:function(e){if(e.moziMessageIdDTO.userDTO.userId!==this.userId){Log.logDebug("RtcWhiteboard._handleCoursorCommand",e,this.sessionId);var t=find(this.cursors,{shapeId:e.moziMessageIdDTO.messageId}),r=parseInt(e.message.x),n=parseInt(e.message.y),i=num2rgba(parseInt(e.message.color));if(t)t.updateCursor(r,n,i,e.message.type);else{var o=new Cursor({points:[{x:r,y:n},{x:r,y:n}],shapeId:e.moziMessageIdDTO.messageId,creator:e.moziMessageIdDTO.userDTO.userId},e.message.name,e.message.type,i);this.cursors.push(o),this._hookShapeRenderRequest(o)}}}},{key:"_handleClearResource",value:function(e){var t=this;Log.logInfo("RtcWhiteboard._handleClearResource",e,this.sessionId);var r=e.resourceType;e.clearedMessageIds.map((function(e){var t=JSON.parse(e);return{messageId:t.messageId,userId:t.userDTO.userId}})).forEach((function(e){var n,i=e.messageId,o=e.userId;if("vision"===r)t.emit("user-vision-share-stop",o),o===(null===(n=t._visionLockInfo)||void 0===n?void 0:n.userId)&&(t._visionLockInfo=void 0,t._lockVisonUserId="",t.stopFollowVision());else if("cursor"===r)t.cursors.splice(findIndex(t.cursors,{shapeId:i,creator:o},1));else if("laserPointer"===r)t.laserPointers=t.laserPointers.filter((function(e){return e.creator!==o}));else if("doc"===r){var a=t.docManager.getDocByDocId(i);if(!a||a.docId!==i)return;a.docId===t.docManager.activeDocId&&t.docManager.switchActiveDoc(DEFAULT_DOC_ID),t.docManager.deleteDoc(a)}})),this.render()}},{key:"_handleClearObj",value:function(e){var t=this;Log.logInfo("RtcWhiteboard._handleClearObj",e,this.sessionId),e.clearedMessageIds.map((function(e){var t=JSON.parse(e);return{shapeSeq:t.messageId,userId:t.userDTO.userId}})).forEach((function(e){var r=e.shapeSeq,n=e.userId;t.docManager.getDocs().forEach((function(e){for(var t=0;e.totalPages>t;t++)e.getPageAtIndex(t).removeShape(seqIdToShapeId(r,n))}))})),this.render()}},{key:"_handleStampResourceCommand",value:function(e){Log.logInfo("RtcWhiteboard._handleStampResourceCommand",e);var t=e.moziMessageIdDTO.messageId;Stamp.stampResourceCache.get(t)?Stamp.stampResourceCache.setServerCache(t):e.message.url&&(Stamp.stampResourceCache.cache(t,e.message.url,"1"===e.message.resizable),Stamp.stampResourceCache.setServerCache(t))}},{key:"_handleLaserPointerCommand",value:function(e){var t=e.moziMessageIdDTO.userDTO.userId;if(t!==this.userId){var r=e.moziMessageIdDTO.messageId,n=seqIdToShapeId(r,t),i=parseInt(e.message.x),o=parseInt(e.message.y),a=find(this.laserPointers,(function(e){return e.shapeId===n}));a?a.points=[{x:i,y:o},{x:i,y:o}]:(a=new LaserPointer([{x:i,y:o},{x:i,y:o}],seqIdToShapeId(r,t),t),this._hookShapeRenderRequest(a),this.laserPointers.push(a))}}},{key:"_handleVisionCommand",value:function(e){if(e.moziMessageIdDTO.userDTO.userId!==this.userId){var t=parseInt(e.message.width),r=parseInt(e.message.height),n=e.moziMessageIdDTO.userDTO.userId;this._visionLockInfo={width:t,height:r,minx:parseInt(e.message.minx),miny:parseInt(e.message.miny),userId:n},this.bSharingVision&&n!==this.userId&&(this.bSharingVision=!1,this.emit("vision-lock-stop")),this._lockVisonUserId!==n&&(this._lockVisonUserId=n,Log.logInfo("RtcWhiteboard._handleVisionCommand userVisionShareStart",e,this.sessionId),this.emit("user-vision-share-start",n)),this.isWhiteboardOpen&&(t>0&&r>0?this._bFollowVision&&this.followVision(this._visionLockInfo):Log.logError("RtcWhiteboard._handleVisionCommand: ","width or height is minus, won't handle this",this.sessionId))}else this._lockVisonUserId=this.userId}},{key:"_handleDrawCommand",value:function(e){var t=this;Log.logDebug("RtcWhiteboard.handleDrawCommand: ",e,this.sessionId);var r=e.message,n=e.moziMessageIdDTO.userDTO.userId;if(e.editor!==this.connection.connectionInfo.pid||r.shape===ShapeType.Image&&"bg"===r.order){var i=r.pageId,o=r.order,a=void 0===o?ShapeOrderType.normal:o,s=r.text,c=r.data,l=r.style,u=r.font,d=r.image,p=r.video,h=r.audio,f=r.shape,g=this.docManager.getDocByPageId(i),y=null==g?void 0:g.getPageByPageId(i);if(y&&g){var v=g.getPageIndexByPageId(i),m=e.moziMessageIdDTO.messageId,b=seqIdToShapeId(m,n),S=y.getShapeBySeq(m,n);if(!S){Log.logInfo("RtcWhiteboard.handleDrawCommand: local shape not found, will create new shape.");var _=c&&numArr2points(c),w=generateShapeStyle(l?JSON.parse(l):void 0);if(!_||!_.length)return void Log.logWarn("RtcWhiteboard.handleDrawCommand: no point data when create a new shape!");if(f===ShapeType.Pen)S=new Pen({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Line)S=new Line({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Rect)S=new Rect({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Ellipse)S=new Ellipse({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Triangle)S=new Triangle({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Rhombic)S=new Rhombic({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Arrow)S=new Arrow({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Video){var I=JSON.parse(p||"");S=new Video({points:_,shapeId:b,creator:n,pageId:i},I.url),this.setMediaShapeCallback(S)}else if(f===ShapeType.Stamp){var E=JSON.parse(d||"").url,T=Stamp.stampResourceCache.get(E);T?S=new Stamp({points:_,shapeId:b,creator:n,pageId:i},E,T.resizable,T.url):Log.logError("RtcWhiteboard.handleDrawCommand: stamp resource cache not found!",E,this.sessionId)}else if(f===ShapeType.Audio){var O=JSON.parse(h||"");S=new Audio({points:_,shapeId:b,creator:n,pageId:i},O.url),this.setMediaShapeCallback(S)}else if(f===ShapeType.Text){var C=JSON.parse(u||"{}"),P=generateShapeFont(JSON.parse(u||"{}")),R=generateShapeStyle({fillcolor:C.color,filltype:ShapeFillType.color,linecolor:C.color,linewidth:1});S=new Text({points:_,shapeId:b,creator:n,pageId:i},R,s,P)}else if(f===ShapeType.Image){var k=JSON.parse(d||"").url;(S=new Image$1({points:_,shapeId:b,creator:n,pageId:i},k)).order=a,S.loadImage().then((function(e){if(0===S.points[1].y||0===S.points[1].x){var r=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight);t.updateBgImgPosition(S,r.imgWidth,r.imgHeight),n===t.userId&&(Log.logInfo("RtcWhiteboard.handleDrawCommand: resend shape data because bg image width or height is 0",t.sessionId),t.sendDrawCmd(S,"draw"))}"bg"===S.order&&(y.backgroundImage=S,t._bFollowVision||g.scaleBoardFitBackgroundImage(y,t.getWrapperDomRect(),t.bgScaleMode),t.emit("background-image-updated",g.docId,v,k))})).catch((function(){Log.logError("image load failed when handle draw command")}))}else f===ShapeType.Brush&&(S=new Eraser({points:_,shapeId:b,creator:n,pageId:i},w));if(!S)return void Log.logError("RtcWhiteboard.handleDrawCommand: no shape created!");S instanceof Image$1&&"bg"===S.order||y.addShape(S)}if(r.rgn){var x=numArr2points(r.rgn);if(S instanceof Line||S instanceof Arrow)S.points=x;else{var A={x:(x[0].x+x[1].x)/2,y:(x[0].y+x[1].y)/2};S.onMoveStart(),S.onMoveEnd(A.x-S.center.x,A.y-S.center.y),S.storeTransformStartPoints();var D=S.rngReverse,N=D.xReversed,L=D.yReversed,j=x[0].x-x[1].x>0,M=x[0].y-x[1].y>0,$=Math.abs((x[0].x-x[1].x)/(S.minx-S.maxx)),B=Math.abs((x[0].y-x[1].y)/(S.miny-S.maxy));S.resizeByRatio(N&&j||!N&&!j?$:-$,L&&M||!L&&!M?B:-B)}}else{var U=r.order,F=void 0===U?S.order||ShapeOrderType.normal:U,z=r.orderTime,V=r.text,W=r.data,H=r.visible,q=r.style,G=r.font,Y=r.image,K=r.video,J=r.audio,X=W&&numArr2points(W),Z=generateShapeStyle(q?JSON.parse(q):void 0);if(S.points=X||S.points,S instanceof DrawableShape&&(S.shapeStyle=Z||S.shapeStyle),S instanceof Text&&(S.fontStyle=G&&generateShapeFont(JSON.parse(G))||S.fontStyle,S.text=V||S.text),S instanceof Image$1){var Q=JSON.parse(Y||"").url;S.order=F,Q!==S.imgUrl&&(S.imgUrl=Q,S.loadImage().then((function(e){if(0===S.points[1].y||0===S.points[1].x){var r=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight);t.updateBgImgPosition(S,r.imgWidth,r.imgHeight),n===t.userId&&(Log.logInfo("RtcWhiteboard.handleDrawCommand: resend shape data because bg image width or height is 0",t.sessionId),t.sendDrawCmd(S,"draw"))}"bg"===S.order&&(t._bFollowVision||g.scaleBoardFitBackgroundImage(y,t.getWrapperDomRect(),t.bgScaleMode),t.emit("background-image-updated",g.docId,v,Q))})).catch((function(){Log.logError("image load failed when handle draw command")})))}if(S instanceof MediaShape){var ee=JSON.parse(K||J||""),te=ee.time,re=ee.isPlaying,ne=ee.repeatPlay;void 0!==te&&(Math.abs(te-S.mediaElement.currentTime)>1||S.mediaElement.paused!==!re||ne!==S.repeatPlay?(S.mediaElement.currentTime=te,S.repeatPlay=ne,re?S.mediaElement.play().catch((function(){Log.logError("mediaElement play failed when handle draw command")})):S.mediaElement.pause()):Log.logInfo("RtcWhiteboard.ignore meida sync",e,{time:S.mediaElement.currentTime,isPlaying:!S.mediaElement.paused,repeatPlay:S.repeatPlay},this.sessionId))}if(H===ShapeVisibleType.invisible||H===ShapeVisibleType.visible){var ie=H===ShapeVisibleType.visible;S.visible!==ie&&(S.visible=ie)}S.order=F,S.orderTime=new Date(z||Date.now()).getTime(),y.updateShapesOrder()}}else Log.logError("RtcWhiteboard.handleDrawCommand: page not found!",i,this.sessionId)}}}]);var r}();function ownKeys$1(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread$1(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$1(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$1(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$2(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$2()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$2(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$2=function(){return!!e})()}var ISession=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$2(this,t,arguments),Object.defineProperty(e,"clearCursorTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"generateBaseMessage",value:function(e,t,r){return{type:"resource",editor:this.connectionInfo.pid,operationTime:Date.now(),version:-1,messageSettingsDTO:{autoDelete:t},moziMessageIdDTO:{channelId:this.connectionInfo.sessionId,messageId:e,userDTO:{appId:this.connectionInfo.appId,userId:r}}}}},{key:"sendDocResourceMessage",value:function(e,t,r){var n,i,o,a=e.browseMode===DocBrowserMode.scroll,s=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e.docId,!1,e.creator)),{},{type:"resource",message:{resourceType:"doc",docType:e.type,creator:"".concat(e.creator,"@").concat(this.connectionInfo.appId),curpage:t||e.currentPage.pageId,fileKey:e.fileKey||e.docId,maxSeq:""+e.maxSeq,name:e.name,pagelist:(r||e.getPages().map((function(e){return e.pageId}))).join(" "),width:a?null===(n=e.width)||void 0===n?void 0:""+n:void 0,height:a?null===(i=e.scrollPageHeight)||void 0===i?void 0:""+i:void 0,pageNum:a?"".concat(e.currentPageIndex+1):void 0,y:a?null===(o=e.y)||void 0===o?void 0:""+o:void 0,url:e.url||void 0,download:e.url||void 0}});return Log.logInfo("IConnection.sendDocResourceMessage",s),this.sendData(JSON.stringify(s),!0,!0)}},{key:"sendCreateDocResourceMessage",value:function(e,t,r,n,i){var o=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e,!1,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"doc",creator:"".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId),curpage:"".concat(e,"-1"),fileKey:e,maxSeq:""+(t+1),name:r,docType:DocType.normal,pagelist:Array(t).fill(e).map((function(t,r){return"".concat(e,"-").concat(r+1)})).join(" "),width:null==n?void 0:""+n,height:null==i?void 0:""+i}});return Log.logInfo("IConnection.sendCreateDocResourceMessage",o),this.sendData(JSON.stringify(o),!0,!0)}},{key:"sendCreatePdfDocResourceMessage",value:function(e,t,r,n){var i=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e,!1,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"doc",docType:DocType.pdf,creator:"".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId),curpage:"".concat(e,"-1"),fileKey:n||e,maxSeq:"1",name:t,pagelist:"".concat(e,"-1"),url:r,download:r,y:"0",pageNum:"1"}});return Log.logInfo("IConnection.sendCreatePdfDocResourceMessage",i),this.sendData(JSON.stringify(i),!0,!0)}},{key:"sendActiveDocResourceMessage",value:function(e){var t=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("active",!1,this.connectionInfo.userId)),{},{type:"resource",moziMessageIdDTO:{channelId:this.connectionInfo.sessionId,messageId:"activeDoc",userDTO:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}},message:{resourceType:"active",active:e}});return Log.logInfo("IConnection.sendActiveDocResourceMessage",t),this.sendData(JSON.stringify(t),!0,!0)}},{key:"sendShapeDrawMessage",value:function(e){var t=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e.shapeSeq,!1,e.creator)),{},{type:"object",message:e.genDrawMsg(this.connectionInfo.userName)});return Log.logDebug("IConnection.sendShapeDrawMessage",t),this.sendData(JSON.stringify(t),!0,!0)}},{key:"sendShapeRgnMessage",value:function(e){var t=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e.shapeSeq,!1,e.creator)),{},{type:"object",message:e.genRgnMsg(this.connectionInfo.userName)});return Log.logDebug("IConnection.sendShapeRgnMessage",t),this.sendData(JSON.stringify(t),!1,!0)}},{key:"sendLaserPointerMsg",value:function(e,t){var r=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId,"-laserPointer"),!0,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"laserPointer",x:""+e,y:""+t}});return this.sendData(JSON.stringify(r),!0,!0)}},{key:"sendStampMsg",value:function(e,t,r){var n=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("stamp-".concat(e),!1,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"stamp",url:t,data:"",resizable:r?"1":"0"}});return Log.logInfo("IConnection.sendStampMsg",n),this.sendData(JSON.stringify(n),!0,!0)}},{key:"sendCursorMsg",value:function(e,t,r,n){var i=this,o="".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId,"-cursor"),a=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(o,!0,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"cursor",name:this.connectionInfo.userName,x:""+e,y:""+t,color:""+rgba2num(r),type:n}});return this.clearCursorTimer&&clearTimeout(this.clearCursorTimer),this.clearCursorTimer=window.setTimeout((function(){i.sendClearResourceMsg("cursor",[o])}),3e3),this.sendData(JSON.stringify(a),!0,!0)}},{key:"sendVisionResourceMsg",value:function(e,t,r,n){var i=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("vision",!1,this.connectionInfo.userId)),{},{type:"resource",moziMessageIdDTO:{channelId:this.connectionInfo.sessionId,messageId:"vision",userDTO:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}},message:{resourceType:"vision",name:this.connectionInfo.userName,height:""+t,minx:""+r,miny:""+n,width:""+e}});return this.sendData(JSON.stringify(i),!0,!0)}},{key:"sendClearResourceMsg",value:function(e,t){var r=this,n={type:"clear",channelId:this.connectionInfo.sessionId,clearSubType:"specific",clearType:"specific",resourceType:e,clearedMessageIds:t.map((function(e){return JSON.stringify({channelId:r.connectionInfo.sessionId,messageId:e,userDTO:{appId:r.connectionInfo.appId,userId:r.connectionInfo.userId}})})),messageType:"resource",operator:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}};return Log.logInfo("IConnection.sendClearResourceMsg",n),this.sendData(JSON.stringify(n),!0,!0)}},{key:"sendClearDrawMsg",value:function(e){var t=this,r={type:"clear",channelId:this.connectionInfo.sessionId,clearSubType:"specific",clearType:"specific",clearedMessageIds:e.map((function(e){return JSON.stringify({channelId:t.connectionInfo.sessionId,messageId:e.seq,userDTO:{appId:t.connectionInfo.appId,userId:e.userId}})})),messageType:"object",operator:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}};return Log.logInfo("IConnection.sendClearDrawMsg",r),this.sendData(JSON.stringify(r),!0,!0)}}])}();function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _callSuper$1(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$1()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$1(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct$1=function(){return!!e})()}var WebSession=function(e){function t(e,r){var n,i,o;return _classCallCheck$1(this,t),o=_callSuper$1(this,t),Object.defineProperty(o,"session",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(o,"wbManager",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(o,"onReceiveUserUpdate",{enumerable:!0,configurable:!0,writable:!0,value:function(e){Log.logInfo("WebSession.onReceiveUserUpdate",e)}}),Object.defineProperty(o,"onReceiveCmdData",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,r,n,i,a){Log.logInfo("WebSession.onReceiveCmdData",{from_pid:e,cmdType:t,cmd:r,data:n,broadcast:i,reqId:a}),o.emit("cmd-received",e,t,r,n,i,a)}}),Object.defineProperty(o,"onReceiveData",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,r){o.emit("data-received",t,e,r)}}),Object.defineProperty(o,"leave",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;Log.logInfo("WebSession.leaveWhiteboard whiteboardId",o.sessionId),null===(e=o.session)||void 0===e||e.leave()}}),Object.defineProperty(o,"stop",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;Log.logInfo("WebSession.stopWhiteboard",o.sessionId);var t=null===(e=o.session)||void 0===e?void 0:e.close();null==t||t.then((function(){Log.logInfo("WebSession.stopWhiteboard closed",o.sessionId)}),(function(){Log.logError("WebSession.stopWhiteboard error",o.sessionId)}))}}),Object.defineProperty(o,"sendData",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t;null===(t=o.session)||void 0===t||t.sendMessage({echo:arguments.length>1&&void 0!==arguments[1]&&arguments[1],message:e})}}),null===(n=o.session)||void 0===n||n.on("message",(function(e){e.cmdType?o.onReceiveCmdData(e.pid,e.cmdType,e.cmd,e.message,e.broadcast,e.requestId):o.onReceiveData(e.pid,e.message,e.broadcast)})),null===(i=o.session)||void 0===i||i.on("user-update",o.onReceiveUserUpdate),o}return _inherits$1(t,ISession),_createClass$1(t,[{key:"sessionId",get:function(){return this.session.id}},{key:"isConnected",get:function(){var e;return(null===(e=this.wbManager)||void 0===e?void 0:e.isConnected)||!1}},{key:"connectionInfo",get:function(){return _objectSpread({sessionId:this.sessionId},this.wbManager.connectionInfo)}},{key:"joinSession",value:function(){var e;return Log.logInfo("WebSession.joinSession",this.sessionId),null===(e=this.session)||void 0===e?void 0:e.join()}}])}(),name="dingrtc-monorepo",version="3.0.0",description="dingRTC mono repo",scripts={changed:"lerna changed",version:"lerna version --no-private --preid=beta","version-beta":"lerna version prerelease --preid=beta",build:"lerna run build",eslint:"eslint --ext .js,.ts ./","eslint:fix":"npm run eslint -- --fix",test:"NODE_TLS_REJECT_UNAUTHORIZED=0 vitest run","test:rtm":"npm run test --project rtm","test:channel":"npm run test --project channel","pub:whiteboard":"tnpm -C apps/whiteboard run build"},devDependencies={"@applint/spec":"^1.2.3","@babel/core":"^7.22.8","@babel/plugin-transform-async-to-generator":"^7.8.3","@babel/plugin-transform-runtime":"^7.22.10","@babel/preset-env":"^7.22.14","@babel/preset-react":"^7.22.15","@babel/preset-typescript":"^7.23.3","@babel/runtime":"^7.12.1","@dingrtc/channel":"workspace:*","@dingrtc/shared":"workspace:*","@playwright/test":"^1.39.0","@rollup/plugin-alias":"^5.1.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3","@rollup/plugin-replace":"^6.0.2","@rollup/plugin-terser":"^0.4.4","@swc/helpers":"^0.5.1","@types/crypto-js":"^4.2.1","@types/node":"^20.8.9","@types/pako":"^2.0.3","@types/sdp-transform":"^2.4.9","ali-oss":"^6.22.0",babelify:"^10.0.0",chai:"^4.3.3","chai-as-promised":"^7.1.1","clean-package":"^2.2.0","create-playwright":"^1.17.130","cross-env":"^7.0.3",eslint:"8.57.0","eslint-config-google":"^0.11.0","eslint-config-prettier":"^7.2.0","eslint-config-webrtc":"^1.0.0","eslint-import-resolver-typescript":"^3.6.1","eslint-plugin-prettier":"^5.0.1",execa:"^9.5.2",husky:"^8.0.0","lint-staged":"14.0.1",mocha:"^10.0.0","pre-push":"^0.1.4",prettier:"^3.0.3",rollup:"^4.24.3","rollup-plugin-clear":"^2.0.7","rollup-plugin-dts":"^6.1.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.36.0","rollup-plugin-visualizer":"^5.12.0",sinon:"^7.5.0",stylelint:"^15.0.0",typescript:"5.7.3",vitest:"^2.1.8","vue-template-compiler":"^2.7.16",vuepress:"^1.9.10",ws:"^8.18.0","rollup-plugin-postcss":"^4.0.2"},overrides={"grunt-jsdoc":{jsdoc:"^4.0.0"},"ink-docstrap":{"sanitize-html":"^2.3.2"}},workspaces={packages:["apps/*"]},license="MIT",publishConfig={registry:"https://registry.anpm.alibaba-inc.com"},repository="git@gitlab.alibaba-inc.com:dingtalk-iot/oneRTC.git",pnpm={overrides:{channel:"link:../../Library/pnpm/global/5/node_modules/@dingrtc/channel"}},dependencies={"@types/hammerjs":"^2.0.46",axios:"^0.24.0",channel:"link:../../Library/pnpm/global/5/node_modules/@dingrtc/channel","crypto-js":"^4.2.0",hammerjs:"^2.0.8","lodash-es":"^4.17.21","pdfjs-dist":"^2.16.105"},pkg={name:name,version:version,description:description,scripts:scripts,"lint-staged":{"*.{ts,tsx,json,js,jsx}":["eslint --fix","prettier --write"],"*.{less,css}":["stylelint --fix"]},devDependencies:devDependencies,overrides:overrides,workspaces:workspaces,private:!0,license:license,publishConfig:publishConfig,repository:repository,pnpm:pnpm,dependencies:dependencies};function _callSuper(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct=function(){return!!e})()}var WhiteboardManager=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper(this,t),Object.defineProperty(e,"id",{enumerable:!0,configurable:!0,writable:!0,value:createUuid()}),Object.defineProperty(e,"whiteboardMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"channel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"gslb",get:function(){var e;return(null===(e=this.channel)||void 0===e?void 0:e.gslb)||getGslb()}},{key:"getWhiteboard",value:function(e){if((null==e?void 0:e.length)>64||SESSIONID_REGEXP.test(e))throw new DingRTCError(ErrorCode.InvaildArgument,"invalid whiteboardId");var t=this.whiteboardMap.get(e);if(!t){var r=new WebSession(this.channel.dataSwitcher.getSession(We.WHITEBOARD,e),this);t=new RtcWhiteboard(r,this),this.whiteboardMap.set(e,t)}return t}},{key:"getAnnotation",value:function(e,t){if((null==e?void 0:e.length)>64||SESSIONID_REGEXP.test(e))throw new DingRTCError(ErrorCode.InvaildArgument,"invalid annotationId");if(!["video","share","external"].includes(t))throw new DingRTCError(ErrorCode.InvaildArgument,"invalid source type");var r="".concat(ANNOTATION_PREFIX,"#").concat(t,"#").concat(e),n=this.whiteboardMap.get(r);if(!n){var i=new WebSession(this.channel.dataSwitcher.getSession(We.WHITEBOARD,r),this);n=new RtcWhiteboard(i,this),this.whiteboardMap.set(r,n)}return n}},{key:"connectionInfo",get:function(){var e,t,r,n,i,o,a;return{userId:null===(e=this.channel)||void 0===e||null===(e=e.joinInfo)||void 0===e?void 0:e.uid,userName:null===(t=this.channel)||void 0===t||null===(t=t.joinInfo)||void 0===t?void 0:t.userName,channelId:null===(r=this.channel)||void 0===r||null===(r=r.joinInfo)||void 0===r?void 0:r.channel,token:null===(n=this.channel)||void 0===n||null===(n=n.joinInfo)||void 0===n?void 0:n.token,appId:null===(i=this.channel)||void 0===i||null===(i=i.joinInfo)||void 0===i?void 0:i.appId,pid:null===(o=this.channel)||void 0===o||null===(o=o.userManager)||void 0===o?void 0:o.currentPid,securityToken:null===(a=this.channel)||void 0===a||null===(a=a.securityToken)||void 0===a?void 0:a.securityToken,gslb:this.gslb||getGslb()}}},{key:"detach",value:function(){}},{key:"attach",value:function(e){this.setupChannel(e),Log.logInfo("WhiteboardManager.attach")}},{key:"isConnected",get:function(){var e;return"connected"===(null===(e=this.channel)||void 0===e?void 0:e.connectionState)}},{key:"setupChannel",value:function(e){var t=this;Log.attach(e.reporter),this.channel=e,this.channel.on("connection-state-change",(function(e,r,n){Log.logInfo("WebConnection on connection-state-change",{currentState:e,prevState:r,reason:n}),t.emit("connection-state-change",e,r,n)})),this.channel.dataSwitcher.on("sessionCreate",(function(e){var r=e.id;if(e.type===We.WHITEBOARD)if(r.includes(ANNOTATION_PREFIX)){var n=_slicedToArray(r.split("#").slice(2),2);t.emit("annotation-start",n[1],n[0])}else t.emit("whiteboard-start",r)})),this.channel.dataSwitcher.on("sessionClose",(function(e){var r=e.id;if(e.type===We.WHITEBOARD)if(r.includes(ANNOTATION_PREFIX)){var n=_slicedToArray(r.split("#").slice(2),2);t.emit("annotation-stop",n[1],n[0])}else t.emit("whiteboard-stop",r)}))}},{key:"join",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark((function e(t){return _regeneratorRuntime$1.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.reporter=registerReporter(this.id),this.setupChannel(new pt({reporter:this.reporter,sdkVersion:pkg.version,scene:"whiteboard"})),Log.logInfo("WebConnection.join",t),e.next=5,this.channel.join(t);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"leave",value:function(){Log.logInfo("WhiteboardManager.leave",this.connectionInfo),this.channel.leave(),this.whiteboardMap.clear()}},{key:"clear",value:function(){Log.logInfo("WhiteboardManager.reset"),this.whiteboardMap.clear()}}]);var r}();export{RtcWhiteboard,ShapeFillType,ShapeFontFormatType,ShapeLineType,ShapeOrderType,ShapeVisibleType,ShapeType as ToolType,WBClearType,Whiteboard,WhiteboardManager,WhiteboardManager as default};