zego-express-engine-webrtc
Version:
zego webrtc express sdk
1 lines • 1.15 MB
JavaScript
!function(A,I){if("object"==typeof exports&&"object"==typeof module)module.exports=I(require("long"));else if("function"==typeof define&&define.amd)define(["long"],I);else{var g="object"==typeof exports?I(require("long")):I(A.long);for(var C in g)("object"==typeof exports?exports:A)[C]=g[C]}}(Object("undefined"!=typeof self?self:this),function(A){return function(){"use strict";var I={6994:function(I){I.exports=A}},g={};function C(A){var E=g[A];if(void 0!==E)return E.exports;var B=g[A]={exports:{}};return I[A](B,B.exports,C),B.exports}C.d=function(A,I){for(var g in I)C.o(I,g)&&!C.o(A,g)&&Object.defineProperty(A,g,{enumerable:!0,get:I[g]})},C.o=function(A,I){return Object.prototype.hasOwnProperty.call(A,I)},C.r=function(A){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})};var E={};C.r(E),C.d(E,{VoiceChanger:function(){return uA}});var B="input param error",Q={code:1100001,message:B},h={code:1002099,message:"room inner error"},D={code:1103044,message:"stream is not from zego"},i=1103181,S="voice changer may not support";function o(A){return"number"==typeof A}function w(A){return"boolean"==typeof A}function F(A){return void 0===A}function y(A){return A instanceof Float32Array}function G(A){return A instanceof MediaStream}function M(A){return A&&1==A.nodeType}var U=null,Y=null;function K(A){return isNaN(A)?0:Math.max(-32768,Math.min(32767,Math.round(32767*A)))}var c=null,k=null;function H(A,I,g,C,E){void 0===C&&(C=1),void 0===E&&(E=!1);var B=1;if(!I||!g||I===g){if(E){for(var Q=new Int16Array(A.length),h=0;h<A.length;h++)Q[h]=K(A[h]);return Q}return A}if((B=I/g)<=0)throw new Error("Invalid sample rate ratio");if(C<=0)throw new Error("Invalid channel count");var D,i=A.length/C,S=Math.round(i/B),o=S*C;E?((!k||o>k.length)&&(k=new Int16Array(o)),D=k):((!c||o>c.length)&&(c=new Float32Array(o)),D=c);for(var w=function(A,I,g,C,E){var B=E*E,Q=C-g-A+I;return Q*E*B+(A-I-Q)*B+(g-A)*E+I},F=0;F<C;F++)for(h=0;h<S;h++){var y=h*B,G=Math.floor(y),M=y-G,U=Math.max(0,G-1)*C+F,Y=G*C+F,H=Math.min(i-1,G+1)*C+F,J=Math.min(i-1,G+2)*C+F,a=A[U],N=A[Y],s=A[H],R=A[J],L=w(a,N,s,R,M),P=Math.min(a,N,s,R),q=Math.max(a,N,s,R);L=Math.max(P,Math.min(q,L)),D[h*C+F]=E?K(L):L}return D.slice(0,o)}function J(A,I,g,C,E){void 0===E&&(E=!1),g&&C&&g!==C&&(A=A.map(function(A){return H(A,g,C)}));var B=A.length,Q=A[0];if(!Q)return E?new Int16Array:new Float32Array;var h=Q.length*I;E?(!(Y instanceof Int16Array)||h>Y.length)&&(Y=new Int16Array(h)):(!y(U)||h>U.length)&&(U=new Float32Array(h));var D=E?Y:U;if(1===B&&1===I){if(!E)return Q;for(var i=0;i<Q.length;i++)D[i]=K(Q[i])}else for(i=0;i<Q.length;i++)2===I?E?(D[i*I]=K(Q[i]),D[i*I+1]=K(2===B?A[1][i]:Q[i])):(D[i*I]=Q[i],D[i*I+1]=2===B?A[1][i]:Q[i]):D[i]=E?K((Q[i]+A[1][i])/2):(Q[i]+A[1][i])/2;var S=D.slice(0,Q.length*I);return E?null==Y||Y.fill(0):null==U||U.fill(0),S}var a=null,N=null;function s(A,I,g){I&&g&&I!==g&&(A=H(A,I,g,2));var C=A.length/2;(!y(a)||C>a.length)&&(a=new Float32Array(C)),(!y(N)||C>N.length)&&(N=new Float32Array(C));for(var E=0;E<C;E++){var B=2*E;a[E]=A[B],N[E]=A[B+1]}return{leftChannel:a,rightChannel:N}}var R,L,P=function(A,I,g,C){return new(g||(g=Promise))(function(E,B){function Q(A){try{D(C.next(A))}catch(A){B(A)}}function h(A){try{D(C.throw(A))}catch(A){B(A)}}function D(A){var I;A.done?E(A.value):(I=A.value,I instanceof g?I:new g(function(A){A(I)})).then(Q,h)}D((C=C.apply(A,I||[])).next())})},q=function(A,I){var g,C,E,B,Q={label:0,sent:function(){if(1&E[0])throw E[1];return E[1]},trys:[],ops:[]};return B={next:h(0),throw:h(1),return:h(2)},"function"==typeof Symbol&&(B[Symbol.iterator]=function(){return this}),B;function h(h){return function(D){return function(h){if(g)throw new TypeError("Generator is already executing.");for(;B&&(B=0,h[0]&&(Q=0)),Q;)try{if(g=1,C&&(E=2&h[0]?C.return:h[0]?C.throw||((E=C.return)&&E.call(C),0):C.next)&&!(E=E.call(C,h[1])).done)return E;switch(C=0,E&&(h=[2&h[0],E.value]),h[0]){case 0:case 1:E=h;break;case 4:return Q.label++,{value:h[1],done:!1};case 5:Q.label++,C=h[1],h=[0];continue;case 7:h=Q.ops.pop(),Q.trys.pop();continue;default:if(!(E=Q.trys,(E=E.length>0&&E[E.length-1])||6!==h[0]&&2!==h[0])){Q=0;continue}if(3===h[0]&&(!E||h[1]>E[0]&&h[1]<E[3])){Q.label=h[1];break}if(6===h[0]&&Q.label<E[1]){Q.label=E[1],E=h;break}if(E&&Q.label<E[2]){Q.label=E[2],Q.ops.push(h);break}E[2]&&Q.ops.pop(),Q.trys.pop();continue}h=I.call(A,Q)}catch(A){h=[6,A],C=0}finally{g=E=0}if(5&h[0])throw h[1];return{value:h[0]?h[1]:void 0,done:!0}}([h,D])}}},t=function(){function A(I,g,C,E){if(void 0===C&&(C=480),this.A=g,this.maxBufferSize=C,this.C=E,this.waittingQueue=[],this.processorNum=0,this.B=0,this.h=5,this.D=0,this.i=!1,this.num=0,this.handleQueue={},!A.isSupported)throw"the platform is not supported insertable stream";I&&this.getInsertableStreamTrack(I)}return A.prototype.enableStartCount=function(A){this.i=A},A.prototype.onoverload=function(){this.C&&this.C.onoverload&&this.C.onoverload()},A.prototype.getInsertableStreamTrack=function(A){var I=this;this.num++,this.track&&this.stopTransformHandle();var g=new window.MediaStreamTrackProcessor({track:A,maxBufferSize:this.maxBufferSize}),C=new window.MediaStreamTrackGenerator({kind:"audio"}),E=new TransformStream({transform:this.transformHandle()});this.tProcessorSource=g.readable,this.track=C;var B=new AbortController;return this.tProcessorSource.pipeThrough(E,{signal:B.signal}).pipeTo(C.writable).catch(function(A){I.A.error("zp.gis.1 close "+A),I.stopTransformHandle()}),this.track},Object.defineProperty(A,"isSupported",{get:function(){return!!(window.MediaStreamTrackProcessor&&window.MediaStreamTrackGenerator&&window.AudioData&&window.TransformStream)},enumerable:!1,configurable:!0}),A.prototype.transformHandle=function(){var A=this,I="f32-planar",g=this.num;return function(C,E){var B,Q=C.numberOfChannels,h=C.numberOfFrames,D=A.sampleRate=C.sampleRate,i=[];i[0]=new Float32Array(h),C.copyTo(i[0],{planeIndex:0,format:I}),2===Q&&(i[1]=new Float32Array(h),C.copyTo(i[1],{planeIndex:1,format:I}));var S,o,w,F=C;if(A.processorNum&&A.num===g){var y=A.getOutputBuffer(i,Q,D),G=y.buffer,M=y.channelCount;if(B=G,2===M){var U=s(G);S=U.leftChannel,o=U.rightChannel,(w=new Float32Array(S.length+o.length)).set(S,0),w.set(o,S.length),B=w}F=new AudioData({format:I,sampleRate:D,numberOfFrames:h,numberOfChannels:M,timestamp:C.timestamp,data:B})}E.enqueue(F)}},A.prototype.getOutputBuffer=function(A,I,g){for(var C=J(A,I),E=C.length,B=E/I,Q=I*(g/1e3)*10,h=0;h<E;h++)this.waittingQueue.push(C[h]);var D=this.waittingQueue,i=1;for(var S in this.handleQueue){var o=this.handleQueue[S];for(o.forbidChangeBufferSize||o.bufferSize===Q||(o.bufferSize=Q);(null==o?void 0:o.bufferSize)<=D.length;){var w=D.splice(0,o.bufferSize);o.processFn(w,I,g)}(D=o.output).length/48>500&&(D=o.output=D.slice(-E)),i=o.channelCount}var F=E,y=1===i&&2===I;y||(F=B*i);var G=new Float32Array(F);if(!y&&D.length>=F){if(2===i&&1===I){var M=D.splice(0,F);G.set(M);var U=s(G);G=J(Object.values(U),1)}else{M=D.splice(0,F);G.set(M)}this.B=0}else this.i&&(this.B++,this.B>=this.h&&(this.D++,this.D>=5&&(this.enableStartCount(!1),this.onoverload(),this.D=0),this.B=0));return{buffer:G,channelCount:I}},A.prototype.stopTransformHandle=function(){return P(this,void 0,void 0,function(){return q(this,function(A){switch(A.label){case 0:if(!this.tProcessorSource&&!this.track)return[2];A.label=1;case 1:return A.trys.push([1,4,,5]),[4,this.tProcessorSource.cancel()];case 2:return A.sent(),[4,this.track.abort()];case 3:return A.sent(),this.tProcessorSource=null,this.track=null,[3,5];case 4:return A.sent(),[3,5];case 5:return[2]}})})},A.prototype.createProcessor=function(A,I){this.handleQueue[A]=I,this.processorNum=Object.keys(this.handleQueue).length},A.prototype.deleteProcessor=function(A){delete this.handleQueue[A],this.processorNum=Object.keys(this.handleQueue).length},A}();!function(A){A[A.SWITCH_ONE=1]="SWITCH_ONE",A[A.SWITCH_TWO=2]="SWITCH_TWO"}(R||(R={})),function(A){A[A.ZegoGeoFenceTypeNone=0]="ZegoGeoFenceTypeNone",A[A.ZegoGeoFenceTypeInclude=1]="ZegoGeoFenceTypeInclude",A[A.ZegoGeoFenceTypeExclude=2]="ZegoGeoFenceTypeExclude"}(L||(L={}));var r,v;!function(A){A[A.TT_NONE=0]="TT_NONE",A[A.TT_PC=1]="TT_PC",A[A.TT_IOS=2]="TT_IOS",A[A.TT_ANDROID=3]="TT_ANDROID",A[A.TT_MAC=4]="TT_MAC",A[A.TT_LINUX=5]="TT_LINUX",A[A.TT_WEB=6]="TT_WEB",A[A.TT_MINIPROGRAM=7]="TT_MINIPROGRAM",A[A.TT_UNKNOWN=32]="TT_UNKNOWN"}(r||(r={})),function(A){A[A.disconnected=0]="disconnected",A[A.connecting=1]="connecting",A[A.connected=2]="connected"}(v||(v={}));var d,T,e,j;!function(A){A[A.logout=0]="logout",A[A.trylogin=1]="trylogin",A[A.login=2]="login"}(d||(d={})),function(A){A[A.I=0]="I",A[A.H=10]="H",A[A.M=100]="M",A[A.L=1e3]="L"}(T||(T={})),function(A){A[A.offline=0]="offline",A[A.online=1]="online"}(e||(e={})),function(A){A[A.NT_NONE=0]="NT_NONE",A[A.NT_LINE=1]="NT_LINE",A[A.NT_WIFI=2]="NT_WIFI",A[A.NT_2G=3]="NT_2G",A[A.NT_3G=4]="NT_3G",A[A.NT_4G=5]="NT_4G",A[A.NT_UNKNOWN=32]="NT_UNKNOWN"}(j||(j={}));var n;!function(A){A[A.debug=0]="debug",A[A.info=1]="info",A[A.warn=2]="warn",A[A.error=3]="error",A[A.report=99]="report",A[A.disable=100]="disable"}(n||(n={}));var O,f,Z;!function(A){A[A.disable=0]="disable",A[A.websocket=1]="websocket",A[A.https=2]="https"}(O||(O={})),function(A){A[A.SDKProject_ZegoWebRTC=6]="SDKProject_ZegoWebRTC",A[A.SDKProject_ZegoMiniProgram=7]="SDKProject_ZegoMiniProgram"}(f||(f={})),function(A){A[A.UDP=0]="UDP",A[A.RTMP=1]="RTMP",A[A.FLV=2]="FLV",A[A.HLS=3]="HLS",A[A.WEBRTC=4]="WEBRTC"}(Z||(Z={}));var W,b;W=1,function(){var A=1}();!function(A){A[A.ClientType_None=0]="ClientType_None",A[A.ClientType_H5=1]="ClientType_H5",A[A.ClientType_SmallPragram=2]="ClientType_SmallPragram",A[A.ClientType_Webrtc=3]="ClientType_Webrtc"}(b||(b={}));var l,m,V,x,X,z,p,u,_,$,AA,IA,gA,CA;!function(A){A[A.start=0]="start",A[A.error=1]="error",A[A.retry=2]="retry",A[A.stop=3]="stop"}(l||(l={})),function(A){A[A.disconnected=0]="disconnected",A[A.connecting=1]="connecting",A[A.connected=2]="connected"}(m||(m={})),function(A){A[A.Default=0]="Default",A[A.Extranet=1]="Extranet",A[A.Intranet=2]="Intranet"}(V||(V={})),function(A){A[A.logout=0]="logout",A[A.trylogin=1]="trylogin",A[A.login=2]="login"}(x||(x={})),function(A){A[A.logout=0]="logout",A[A.trylogin=1]="trylogin",A[A.login=2]="login",A[A.reconnect=3]="reconnect"}(X||(X={})),function(A){A[A.stop=0]="stop",A[A.start=1]="start"}(z||(z={})),function(A){A[A.CDN=0]="CDN",A[A.RTC=1]="RTC",A[A.L3=2]="L3",A[A.DG=3]="DG"}(p||(p={})),function(A){A[A.useAnalyzer=0]="useAnalyzer",A[A.useWorklet=1]="useWorklet"}(u||(u={})),function(A){A[A.Default=3]="Default",A[A.StandardVideoCall=4]="StandardVideoCall",A[A.HighVideoCall=5]="HighVideoCall",A[A.StandardChatroom=6]="StandardChatroom",A[A.HighQualityChatroom=7]="HighQualityChatroom",A[A.Broadcast=8]="Broadcast",A[A.Karaoke=9]="Karaoke",A[A.UNKNOWN=100]="UNKNOWN"}(_||(_={})),function(A){A.WIN32="WIN32",A.MAC="Mac",A.ANDROID="Android",A.LINUX="Linux",A.IOS="iOS",A.Harmony="Harmony",A.UNKNOWN="WTF"}($||($={})),function(A){A.CDN="cdn",A.L3="l3",A.RTC="rtc"}(AA||(AA={})),function(A){A[A.RTC=0]="RTC",A[A.CDN=1]="CDN",A[A.L3=2]="L3",A[A.DG=3]="DG",A[A.CUSTOM=5]="CUSTOM"}(IA||(IA={})),function(A){A[A.offline=0]="offline",A[A.online=1]="online"}(gA||(gA={})),function(A){A[A.MinQuality=0]="MinQuality",A[A.DieQuality=0]="DieQuality",A[A.PoorMinQuality=1]="PoorMinQuality",A[A.MiddleMinQuality=30]="MiddleMinQuality",A[A.GoodMinQuality=60]="GoodMinQuality",A[A.ExcellentMinQuality=85]="ExcellentMinQuality",A[A.MaxQuality=100]="MaxQuality"}(CA||(CA={}));var EA,BA,QA=function(){function A(A,I){void 0===A&&(A=null),void 0===I&&(I=null),this.next=null,this.prev=null,this._id=A,this._data=I}return Object.defineProperty(A.prototype,"id",{get:function(){return this._id?this._id:null},set:function(A){this._id=A},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"data",{get:function(){return this._data},set:function(A){this._data=A},enumerable:!1,configurable:!0}),A.prototype.hasNext=function(){return this.next&&this.next.id},A.prototype.hasPrev=function(){return this.prev&&this.prev.id},A}();!function(){function A(){this.start=new QA,this.end=new QA,this._idCounter=0,this._numNodes=0,this.start.next=this.end,this.start.prev=null,this.end.prev=this.start,this.end.next=null}A.prototype.insertBefore=function(A,I){var g=new QA(this._idCounter,I);return g.next=A,g.prev=A.prev,A.prev&&(A.prev.next=g),A.prev=g,++this._idCounter,++this._numNodes,g},A.prototype.addLast=function(A){return this.insertBefore(this.end,A)},A.prototype.add=function(A){return this.addLast(A)},A.prototype.getFirst=function(){return 0===this._numNodes?null:this.start.next},A.prototype.getLast=function(){return 0===this._numNodes?null:this.end.prev},A.prototype.size=function(){return this._numNodes},A.prototype.getFromFirst=function(A){var I=0,g=this.start.next;if(A>=0)for(;I<A&&null!==g;)g=g.next,++I;else g=null;if(null===g)throw"Index out of bounds.";return g},A.prototype.get=function(A){return 0===A?this.getFirst():A===this._numNodes-1?this.getLast():this.getFromFirst(A)},A.prototype.remove=function(A){return A.prev&&(A.prev.next=A.next),A.next&&(A.next.prev=A.prev),--this._numNodes,A},A.prototype.removeFirst=function(){var A=null;return this._numNodes>0&&this.start.next&&(A=this.remove(this.start.next)),A},A.prototype.removeLast=function(){var A=null;return this._numNodes>0&&this.end.prev&&(A=this.remove(this.end.prev)),A},A.prototype.removeAll=function(){this.start.next=this.end,this.end.prev=this.start,this._numNodes=0,this._idCounter=0},A.prototype.each=function(A){for(var I=this.start;I.hasNext();)A(I=I.next)},A.prototype.find=function(A){for(var I=this.start,g=!1,C=null;I.hasNext()&&!g;)A(I=I.next)&&(C=I,g=!0);return C},A.prototype.map=function(A){for(var I=this.start,g=[];I.hasNext();)A(I=I.next)&&g.push(I);return g},A.prototype.push=function(A){return this.addLast(A)},A.prototype.unshift=function(A){this.insertBefore(this._numNodes>0?this.start.next:this.end,A)},A.prototype.pop=function(){return this.removeLast()},A.prototype.shift=function(){return this.removeFirst()}}();!function(A){A.ONLY_BASELINE="only_baseline",A.HARD_SOFT_ENCODEC_FIRST="hard_or_soft_encodec_first",A.HIGH_PROFILE_FIRST="high_profile_first"}(EA||(EA={})),function(A){A[A.None=0]="None",A[A.Vocalist=1]="Vocalist",A[A.BackingSinging=2]="BackingSinging"}(BA||(BA={}));var hA,DA;new Error("This method requires subclasses to implement");!function(A){A[A.IPv4Only=0]="IPv4Only",A[A.IPv4Prefer=1]="IPv4Prefer",A[A.IPv6Prefer=2]="IPv6Prefer"}(hA||(hA={})),function(A){A[A.IPv4=0]="IPv4",A[A.IPv6=1]="IPv6"}(DA||(DA={}));var iA,SA,oA,wA,FA,yA;function GA(){return navigator.userAgent||""}function MA(){var A=GA();return!!(A.match(/Mobi/i)||A.match(/Android/i)||A.match(/iPhone/i))}!function(A){A[A.unreachable=0]="unreachable",A[A.unknown=1]="unknown",A[A.reachable=2]="reachable"}(iA||(iA={})),function(A){A[A.WORKLET=0]="WORKLET",A[A.SCRIPT=1]="SCRIPT",A[A.INSERTABL=2]="INSERTABL"}(SA||(SA={})),function(A){A[A.NONE=0]="NONE",A[A.MEN_TO_CHILD=1]="MEN_TO_CHILD",A[A.MEN_TO_WOMEN=2]="MEN_TO_WOMEN",A[A.WOMEN_TO_CHILD=3]="WOMEN_TO_CHILD",A[A.WOMEN_TO_MEN=4]="WOMEN_TO_MEN",A[A.FOREIGNER=5]="FOREIGNER",A[A.OPTIMUS_PRIME=6]="OPTIMUS_PRIME",A[A.ANDROID=7]="ANDROID",A[A.ETHEREAL=8]="ETHEREAL",A[A.MALE_MAGNETIC=9]="MALE_MAGNETIC",A[A.FEMALE_FRESH=10]="FEMALE_FRESH",A[A.MAJOR_C=11]="MAJOR_C",A[A.MINOR_A=12]="MINOR_A",A[A.HARMONIC_MINOR=13]="HARMONIC_MINOR",A[A.FEMALE_ENERGETIC=14]="FEMALE_ENERGETIC",A[A.RICHNESS=15]="RICHNESS",A[A.MUFFLED=16]="MUFFLED",A[A.ROUNDNESS=17]="ROUNDNESS",A[A.FALSETTO=18]="FALSETTO",A[A.FULLNESS=19]="FULLNESS",A[A.CLEAR=20]="CLEAR",A[A.HIGHLY_RESONANT=21]="HIGHLY_RESONANT",A[A.LOUD_CLEAR=22]="LOUD_CLEAR"}(oA||(oA={})),function(A){A[A.None=0]="None",A[A.SoftRoom=1]="SoftRoom",A[A.LargeRoom=2]="LargeRoom",A[A.ConcertHall=3]="ConcertHall",A[A.Valley=4]="Valley",A[A.RecordingStudio=5]="RecordingStudio",A[A.Basement=6]="Basement",A[A.KTV=7]="KTV",A[A.Popular=8]="Popular",A[A.Rock=9]="Rock",A[A.VocalConcert=10]="VocalConcert",A[A.GramoPhone=11]="GramoPhone",A[A.EnhancedKTV=12]="EnhancedKTV"}(wA||(wA={})),function(A){A[A.None=0]="None",A[A.Local=1]="Local",A[A.Publish=2]="Publish",A[A.All=3]="All"}(FA||(FA={})),function(A){A[A.AI=0]="AI",A[A.AIBalanced=1]="AIBalanced",A[A.AIAggressive=2]="AIAggressive"}(yA||(yA={}));C(6994);var UA=function(A){return A},YA=Promise;var KA,cA=function(){return cA=Object.assign||function(A){for(var I,g=1,C=arguments.length;g<C;g++)for(var E in I=arguments[g])Object.prototype.hasOwnProperty.call(I,E)&&(A[E]=I[E]);return A},cA.apply(this,arguments)},kA=function(A,I,g,C){return new(g||(g=Promise))(function(E,B){function Q(A){try{D(C.next(A))}catch(A){B(A)}}function h(A){try{D(C.throw(A))}catch(A){B(A)}}function D(A){var I;A.done?E(A.value):(I=A.value,I instanceof g?I:new g(function(A){A(I)})).then(Q,h)}D((C=C.apply(A,I||[])).next())})},HA=function(A,I){var g,C,E,B,Q={label:0,sent:function(){if(1&E[0])throw E[1];return E[1]},trys:[],ops:[]};return B={next:h(0),throw:h(1),return:h(2)},"function"==typeof Symbol&&(B[Symbol.iterator]=function(){return this}),B;function h(h){return function(D){return function(h){if(g)throw new TypeError("Generator is already executing.");for(;B&&(B=0,h[0]&&(Q=0)),Q;)try{if(g=1,C&&(E=2&h[0]?C.return:h[0]?C.throw||((E=C.return)&&E.call(C),0):C.next)&&!(E=E.call(C,h[1])).done)return E;switch(C=0,E&&(h=[2&h[0],E.value]),h[0]){case 0:case 1:E=h;break;case 4:return Q.label++,{value:h[1],done:!1};case 5:Q.label++,C=h[1],h=[0];continue;case 7:h=Q.ops.pop(),Q.trys.pop();continue;default:if(!(E=Q.trys,(E=E.length>0&&E[E.length-1])||6!==h[0]&&2!==h[0])){Q=0;continue}if(3===h[0]&&(!E||h[1]>E[0]&&h[1]<E[3])){Q.label=h[1];break}if(6===h[0]&&Q.label<E[1]){Q.label=E[1],E=h;break}if(E&&Q.label<E[2]){Q.label=E[2],Q.ops.push(h);break}E[2]&&Q.ops.pop(),Q.trys.pop();continue}h=I.call(A,Q)}catch(A){h=[6,A],C=0}finally{g=E=0}if(5&h[0])throw h[1];return{value:h[0]?h[1]:void 0,done:!0}}([h,D])}}},JA="zc.voc.vcp",aA=function(){function A(A,I,g,C,E,B){void 0===E&&(E=!1),void 0===B&&(B=32e3),this.A=A,this.mode=I,this.worker=g,this.S=C,this.needInputStereo=E,this.F=B,this.acMgr=null,this.workletNode=null,this.scriptNode=null,this.isInited=!1,this.inputTime=Date.now(),this.outputTime=Date.now(),this.voicePreset=0,this.voiceParam=0,this.reverbPreset=0,this.isWaiting=!1,this.ANS={enable:!1,mode:yA.AI},this.liveEffectOptions={enable:!1,mode:1},this.audioPitchOptions={enable:!1,mode:1,pitch:0},this.effectOptions={enable:!1,mode:1},this.stereoOptions={enable:!1,angle:-1},this.enableVolDuck=!1,this.seq=1,this.taskMap={},this.audioParams={},this.i=!1,this.G=null,this.U=!1,this.captureChannelCount=void 0}return Object.defineProperty(A.prototype,"inited",{get:function(){return this.isInited},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"audioCtx",{get:function(){var A;return(null===(A=this.acMgr)||void 0===A?void 0:A.ac)||null},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"effectEnable",{get:function(){return this.effectOptions.enable&&0!==this.effectOptions.mode},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"sampleRate",{get:function(){return this.F},enumerable:!1,configurable:!0}),A.prototype.updateEffectOptions=function(A){this.effectOptions={mode:A,enable:this.liveEffectOptions.enable||this.audioPitchOptions.enable}},A.prototype.bindProcessorNodeEvent=function(){var A=this;this.worker&&(this.worker.onmessage=function(I){var g,C,E,B,Q=I.data,h=Q.seq;switch(Q.type){case"process":var D=Q.output,i=Q.channelCount,S=Q.sampleRate;if(A.enableStartCount(A.ANS.enable),A.mode===SA.INSERTABL&&(null===(C=A.insertableProcessor)||void 0===C?void 0:C.output)&&D)D=H(D,S,null===(E=A.insertableaudio)||void 0===E?void 0:E.sampleRate,i),i===A.insertableProcessor.channelCount?(g=A.insertableProcessor.output).push.apply(g,Array.from(D)):(A.insertableProcessor.channelCount=i,A.insertableProcessor.output=Array.from(D));else if(A.audioCtx&&A.mode===SA.WORKLET){var o=new Float32Array(D),w=[];if(2===i){var F=s(o,S,A.audioCtx.sampleRate);w=[F.leftChannel,F.rightChannel]}else{var y=H(o.slice(0),S,A.audioCtx.sampleRate);w.push(y)}null===(B=A.workletNode)||void 0===B||B.port.postMessage({type:"process",channels:w})}else{o=new Float32Array(D);A.scriptProcessor&&A.scriptProcessor.pushProcessedData(o,i,S)}break;case"onVolDuckUpdate":A.onVolDuck(Q.gain);break;case"error":A.A.error("zc.voc process error: ".concat(Q.error)),A.restartProcessor();break;case"overload":A.A.warn("zc.voc.ol audio process overload"),A.onoverload();break;case"log":var G=Q.level,M=Q.message,U="zc.voc speech_enhance: ".concat(G," ").concat(M);0===G?A.A.error(U):1===G?A.A.warn(U):A.A.info(U);break;default:var Y=void 0;isNaN(h)||(Y=A.taskMap[h]),Y&&(Y(I.data),delete A.taskMap[h])}})},A.prototype.init=function(A){var I;this.A.info(JA+" call mode: "+this.mode),this.workletNode=null,this.scriptNode=null,this.acMgr=A;var g=A.ac;this.F&&this.F>g.sampleRate&&(this.F=g.sampleRate);try{if(this.mode!==SA.INSERTABL)this.scriptProcessor?(this.A.info(JA+" use script processor"),this.scriptProcessor.createScriptProcessor({bufferSize:512,needInputStereo:this.needInputStereo,handleInputData:this.handleInputData.bind(this)}),this.scriptNode=null===(I=this.scriptProcessor)||void 0===I?void 0:I.node):(this.A.info(JA+" audio worklet"),this.initWorklet(g)),this.handleACRender(this.mode===SA.SCRIPT?this.scriptNode:this.workletNode);else this.handleInsertAbleRender&&this.handleInsertAbleRender();this.postMessage({type:"init"}),this.bindProcessorNodeEvent()}catch(A){throw A}this.isInited=!0},A.prototype.initWorklet=function(A){var I=this;this.workletNode=new AudioWorkletNode(A,"voice-changer-processor",{processorOptions:{sampleRate:A.sampleRate},outputChannelCount:[2]}),this.workletNode.port.onmessage=function(g){var C=g.data,E=C.type,B=C.channels;if("process"===E){var Q=I.needInputStereo?B.length:1,h=I.F,D=J(B,Q,A.sampleRate,h);I.handleInputData(D,Q,B.length,h)}else"overload"===E&&I.onoverload()}},A.prototype.resetWorklet=function(){this.A.info("zc.voc reset worklet");var A=this.acMgr,I=this.workletNode;I&&(this.mode===SA.SCRIPT?this.scriptNode:I)===I&&A&&(this.handleReleaseRenderNode(I),I.port.close(),this.initWorklet(A.ac),this.handleACRender(this.workletNode),this.A.info("zc.voc reset worklet success"))},A.prototype.restartProcessor=function(){var A=this;if(!this.U){if(this.A.info("zc.voc reset processor"),this.postMessage({type:"destroy"}),this.postMessage({type:"init"}),this.voicePreset&&this.changeVoice(this.voicePreset),this.reverbPreset&&this.changeReverb(this.reverbPreset),this.liveEffectOptions.enable){var I=this.liveEffectOptions;this.changeLiveEffect(I.enable,I.mode)}if(this.audioPitchOptions.pitch){var g=this.audioPitchOptions;this.changeAudioPitch(g.pitch,g.mode)}if(this.stereoOptions.enable){var C=this.stereoOptions;this.virtualStereo(C.enable,C.angle)}this.voiceParam&&this.changeVoiceParam(this.voiceParam);var E=setTimeout(function(){clearTimeout(E),A.U=!1},1e3);this.U=!0}},A.prototype.handleInputData=function(A,I,g,C){var E;return kA(this,void 0,void 0,function(){var B,Q,h,D=this;return HA(this,function(i){return B=C||(null===(E=this.audioCtx)||void 0===E?void 0:E.sampleRate),Q=this.audioParams,g!==this.captureChannelCount&&(this.captureChannelCount=g,this.A.info(JA+" captureChannelCount: "+g)),I===Q.channelCount&&B===Q.sampleRate||(this.asyncPost({type:"setAudioParams",sampleRate:B,channelCount:I}).then(function(){D.A.info(JA+" set audio params success")}),Q.channelCount=I,Q.sampleRate=B,this.A.info(JA+" set audio params: "+JSON.stringify(this.audioParams))),this.postMessage({type:"process",input:h=A.buffer,volDuck:this.enableVolDuck,sendTime:Date.now()},[h]),[2]})})},A.prototype.asyncPost=function(A,I){return void 0===A&&(A={}),kA(this,void 0,void 0,function(){var g=this;return HA(this,function(C){switch(C.label){case 0:return this.worker?(this.worker.postMessage(cA(cA({},A),{seq:this.seq}),I),[4,new YA(function(A){g.taskMap[g.seq]=function(I){A(I)},g.seq++})]):[2];case 1:return[2,C.sent()]}})})},A.prototype.post=function(A,I){void 0===A&&(A={}),this.worker&&this.worker.postMessage(A,I)},A.prototype.changeVoice=function(A){return kA(this,void 0,void 0,function(){var I,g;return HA(this,function(C){switch(C.label){case 0:return this.A.info(JA+" voice preset:"+A),isNaN(A)&&this.A.error(JA+" the 'preset' value is invalid."),[4,this.asyncPost({type:"changeVoice",mode:A})];case 1:return 0===(null==(I=C.sent())?void 0:I.error)?(this.voicePreset=A,this.voiceParam=0,this.A.info(JA+" voice preset success. close all: "+!(g=!this.isAllClosed)),this.handleConnectNode(),[2,g]):(this.A.error(JA+" ".concat(A," set voice preset failed. ")+JSON.stringify(I)),[2,!1])}})})},Object.defineProperty(A.prototype,"isAllClosed",{get:function(){return!(0!==this.voicePreset||0!==this.voiceParam||0!==this.reverbPreset||this.stereoOptions.enable||this.effectEnable||this.ANS.enable||this.enableVolDuck)},enumerable:!1,configurable:!0}),A.prototype.changeReverb=function(A){return kA(this,void 0,void 0,function(){var I,g;return HA(this,function(C){switch(C.label){case 0:return this.A.info(JA+" reverb preset:"+A),isNaN(A)&&this.A.error(JA+" the 'preset' value is invalid."),[4,this.asyncPost({type:"changeReverb",mode:A})];case 1:return 0===(null==(I=C.sent())?void 0:I.error)?(this.reverbPreset=A,g=!this.isAllClosed,this.A.info(JA+" ".concat(A," reverb preset success. close all: ")+!g),this.handleConnectNode(),[2,g]):(this.A.error(JA+" set reverb preset failed"),[2,!1])}})})},A.prototype.changeLiveEffect=function(A,I){return kA(this,void 0,void 0,function(){var g,C;return HA(this,function(E){switch(E.label){case 0:return this.A.info(JA+" live effect:"+A),w(A)||this.A.error(JA+" the 'enable' value is invalid."),[4,this.asyncPost({type:"liveEffect",enable:A})];case 1:return 0===(null==(g=E.sent())?void 0:g.error)?(this.liveEffectOptions={enable:A,mode:I},this.updateEffectOptions(I),C=!this.isAllClosed,this.A.info(JA+" ".concat(JSON.stringify(this.liveEffectOptions)," live effect success. close all: ")+!C),this.handleConnectNode(),[2,C]):(this.A.error(JA+" set live effect failed"),[2,!1])}})})},A.prototype.changeAudioPitch=function(A,I){return kA(this,void 0,void 0,function(){var g,C;return HA(this,function(E){switch(E.label){case 0:return this.A.info(JA+" change audio pitch:"+A),[4,this.asyncPost({type:"changeVoiceParam",mode:A})];case 1:return 0===(null==(g=E.sent())?void 0:g.error)?(this.audioPitchOptions={enable:0!==A,mode:I,pitch:A},this.updateEffectOptions(I),C=!this.isAllClosed,this.A.info(JA+" ".concat(JSON.stringify(this.liveEffectOptions)," change audio pitch success. close all: ")+!C),this.handleConnectNode(),[2,C]):(this.A.error(JA+" set change audio pitch failed"),[2,!1])}})})},A.prototype.virtualStereo=function(A,I){return kA(this,void 0,void 0,function(){var g,C;return HA(this,function(E){switch(E.label){case 0:return this.A.info(JA+" virtual stereo: ".concat(A,", ").concat(I)),isNaN(I)?(this.A.error(JA+" the 'preset' value is invalid."),[2,!1]):(I<0&&(I=-1),[4,this.asyncPost({type:"virtualStereo",enable:A,angle:I})]);case 1:return 0===(null==(g=E.sent())?void 0:g.error)?(this.stereoOptions={enable:A,angle:I},this.A.info(JA+" virtual stereo success. close all: "+!(C=!this.isAllClosed)),this.handleConnectNode(),[2,C]):(this.A.error(JA+" virtual stereo failed. ".concat(JSON.stringify(g))),[2,!1])}})})},A.prototype.changeVoiceParam=function(A){return kA(this,void 0,void 0,function(){var I,g;return HA(this,function(C){switch(C.label){case 0:return this.A.info(JA+" voice param:"+A),[4,this.asyncPost({type:"changeVoiceParam",mode:A})];case 1:return 0===(null==(I=C.sent())?void 0:I.error)?(this.voiceParam=A,this.voicePreset=0,this.A.info(JA+" voice param success. close all: "+!(g=!this.isAllClosed)),[2,g]):(this.A.error(JA+" ".concat(A," set voice param failed. ")+JSON.stringify(I)),[2,!1])}})})},A.prototype.setVolDuck=function(A){this.enableVolDuck!==A&&(this.enableVolDuck=A,this.postMessage({type:"resetVolDuck"}));var I=!this.isAllClosed;return this.A.info(JA+" vol duck ".concat(A," success. close all: ")+!I),I},A.prototype.enableANS=function(A,I){return void 0===I&&(I=yA.AI),kA(this,void 0,void 0,function(){var g,C,E,B,Q;return HA(this,function(h){switch(h.label){case 0:return this.A.info((g="zc.voc.eans")+" ANS:".concat(A,"=>").concat(this.ANS.enable,", mode:").concat(I,"=>").concat(this.ANS.mode)),(Q={})[yA.AI]=3,Q[yA.AIBalanced]=4,Q[yA.AIAggressive]=6,C=Q,A||this.ANS.enable||I==this.ANS.mode?[4,this.asyncPost({type:"enableANS",enable:A,mode:C[I]})]:(this.ANS.mode=I,[2,!0]);case 1:return 0===(null==(E=h.sent())?void 0:E.error)?(this.ANS={enable:A,mode:I},this.A.info(g+" set enble ANS success. close all: "+!(B=!this.isAllClosed)),[2,B]):(this.A.error(g+" set enble ANS failed. "+JSON.stringify(E)),[2,!1])}})})},A.prototype.postMessage=function(A,I){void 0===I&&(I=[]),this.worker&&this.worker.postMessage(A,I)},A.prototype.destroy=function(){return kA(this,void 0,void 0,function(){var A,I;return HA(this,function(g){return this.mode===SA.INSERTABL&&this.insertableaudio?(this.isInited=!1,this.A.info(JA+" close insertable."),this.insertableaudio.deleteProcessor("voicechanger"),[2,this.postMessage({type:"destroy"})]):((A=this.mode===SA.SCRIPT?this.scriptNode:this.workletNode)&&(this.postMessage({type:"destroy"}),this.handleReleaseRenderNode(A),this.workletNode&&(this.A.info(JA+" close audio worklet"),this.workletNode.port.close()),(I=this.S&&this.S.voiceProccessor)&&I.workletNode===this.workletNode&&(this.S.voiceProccessor=null),this.scriptProcessor&&this.scriptNode&&(this.scriptProcessor.destroy(),this.A.info(JA+" close script processor")),this.workletNode=null,this.scriptNode=null,this.isInited=!1,this.A.info(JA+" close other voice changer")),[2])})})},A.prototype.handleACRender=function(A){},A.prototype.handleInsertAbleRender=function(){},A.prototype.handleConnectNode=function(){},A.prototype.handleReleaseRenderNode=function(A){},A.prototype.onoverload=function(){var A,I=this,g=null===(A=this.S)||void 0===A?void 0:A.stateCenter.engineConfig.disableAINSRollback;if(this.A.warn("zc.vcp.ool voice changer overloaded. Please destroy voice changer. "+this.isWaiting+" "+g),!this.isWaiting){var C=this.ANS,E=C.mode;if(C.enable&&!g){var B=!0;E===yA.AIBalanced||E===yA.AIAggressive?this.A.warn("zc.vcp.ool overloaded, roll back AI."):(this.A.warn("zc.vcp.ool overloaded, close AI."),B=!1),this.enableStartCount(!1,0),this.enableANS(B,yA.AI)}this.isWaiting=!0;var Q=setTimeout(function(){clearTimeout(Q),I.isWaiting=!1},100)}},A.prototype.enableStartCount=function(A,I){var g=this;void 0===I&&(I=100),this.i===A||this.G||(this.G=setTimeout(function(){var I,C,E;clearTimeout(g.G),g.G=null,g.A.info("zc.vcp.esc ".concat(A)),null===(I=g.insertableaudio)||void 0===I||I.enableStartCount(A),null===(C=g.scriptProcessor)||void 0===C||C.enableStartCount(A),null===(E=g.workletNode)||void 0===E||E.port.postMessage({type:"startCount",enable:A})},I),this.i=A)},A.prototype.setInsertableWorker=function(A){this.insertableWorker=A},A.prototype.setScriptProcessor=function(A){this.scriptProcessor=A},A.prototype.onVolDuck=function(A){},A}(),NA=(KA=function(A,I){return KA=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,I){A.__proto__=I}||function(A,I){for(var g in I)Object.prototype.hasOwnProperty.call(I,g)&&(A[g]=I[g])},KA(A,I)},function(A,I){if("function"!=typeof I&&null!==I)throw new TypeError("Class extends value "+String(I)+" is not a constructor or null");function g(){this.constructor=A}KA(A,I),A.prototype=null===I?Object.create(I):(g.prototype=I.prototype,new g)}),sA="zc.voc.vcp.1",RA=function(A){function I(I,g,C,E){var B=A.call(this,I,g,C,E,!1)||this;return B.A=I,B.mode=g,B.worker=C,B.preview=E,B.mode===SA.INSERTABL||B.preview.audioNodeQueue||B.preview.initAudioNodeQueue(!0),B.audioNodeQueue=B.preview.audioNodeQueue,B.onVolDuck=function(A){B.preview.stateCenter.onExperimentalAPICallback({method:"onVolumeDuckingUpdate",content:{gain:A}})},B}return NA(I,A),I.prototype.handleACRender=function(A){A&&this.audioNodeQueue&&!this.audioNodeQueue.isConnected(A)&&(this.audioNodeQueue.pushBack(A),(navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/iPhone/i))&&(this.A.info(sA+" restart soundlevel"),this.preview.restartSoundLevel()))},I.prototype.handleInsertAbleRender=function(){var A=this;if(this.A.info(sA+" audio insertable"),this.preview.audioTrack){if(!this.preview.insertableaudio){var I=new t(this.preview.audioTrack,this.A);this.preview.insertableaudio=I}this.insertableProcessor={bufferSize:960,processFn:function(I,g,C){var E=new Float32Array(I);A.sampleRate&&(E=H(E,C,A.sampleRate,g),C=A.sampleRate),A.handleInputData(E,g,g,C)},output:[],channelCount:1},this.insertableaudio=this.preview.insertableaudio,this.insertableaudio.createProcessor("voicechanger",this.insertableProcessor)}else this.A.info(sA+" audio insertable track not found")},I.prototype.handleReleaseRenderNode=function(A){var I;A&&(null===(I=this.audioNodeQueue)||void 0===I?void 0:I.isConnected(A))&&this.audioNodeQueue.remove(A)},I}(aA),LA=function(){var A=function(I,g){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,I){A.__proto__=I}||function(A,I){for(var g in I)Object.prototype.hasOwnProperty.call(I,g)&&(A[g]=I[g])},A(I,g)};return function(I,g){if("function"!=typeof g&&null!==g)throw new TypeError("Class extends value "+String(g)+" is not a constructor or null");function C(){this.constructor=I}A(I,g),I.prototype=null===g?Object.create(g):(C.prototype=g.prototype,new C)}}(),PA="zc.voc.vcp.2",qA=function(A){function I(I,g,C){var E=A.call(this,I,g,C,void 0,!0)||this;return E.A=I,E.mode=g,E.worker=C,E.isEffected=!1,E}return LA(I,A),I.prototype.changeMediaPlayer=function(A){var I;if(!this.audioCtx)return!1;if(A===this.audioPlayer)return!0;this.audioRenderer&&(this.A.info(PA+" stop last audio el"),this.audioRenderer.setVoiceChangeNode(this.effectOptions.mode));var g=null===(I=this.acMgr)||void 0===I?void 0:I.getMediaElementRenderer(A);return!!g&&(this.audioRenderer=g,this.audioPlayer=A,this.A.info(PA+" set new audio el"),!0)},I.prototype.handleACRender=function(A){var I;null===(I=this.audioRenderer)||void 0===I||I.setVoiceChangeNode(this.effectOptions.mode,A)},I.prototype.handleInsertAbleRender=function(){throw"not support insertable"},I.prototype.handleConnectNode=function(){var A;null===(A=this.audioRenderer)||void 0===A||A.setVoiceChangeNode(this.effectOptions.mode,this.workletNode||this.scriptNode||void 0)},I.prototype.handleReleaseRenderNode=function(){this.audioRenderer&&(this.audioRenderer.setVoiceChangeNode(this.effectOptions.mode),this.audioPlayer=void 0,this.audioRenderer=void 0)},I}(aA);var tA='var Module=(()=>{var _scriptDir=typeof document!=="undefined"&&document.currentScript?document.currentScript.src:undefined;return function(moduleArg={}){var f=moduleArg,ba,m;f.ready=new Promise((b,a)=>{ba=b;m=a});var ca=Object.assign({},f),p="";"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src);_scriptDir&&(p=_scriptDir);0!==p.indexOf("blob:")?p=p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1):p="";var da=f.print||console.log.bind(console),r=f.printErr||console.error.bind(console);Object.assign(f,ca);ca=null;var u;f.wasmBinary&&(u=f.wasmBinary);var noExitRuntime=f.noExitRuntime||!0;"object"!=typeof WebAssembly&&v("no native wasm support detected");var w,ea=!1,x,y,z,A,B,C,fa,ha;function ia(){var b=w.buffer;f.HEAP8=x=new Int8Array(b);f.HEAP16=z=new Int16Array(b);f.HEAP32=B=new Int32Array(b);f.HEAPU8=y=new Uint8Array(b);f.HEAPU16=A=new Uint16Array(b);f.HEAPU32=C=new Uint32Array(b);f.HEAPF32=fa=new Float32Array(b);f.HEAPF64=ha=new Float64Array(b)}var D,ja=[],ka=[],la=[];function ma(){var b=f.preRun.shift();ja.unshift(b)}var E=0,F=null,G=null;function v(b){if(f.onAbort){f.onAbort(b)}b="Aborted("+b+")";r(b);ea=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");m(b);throw b}function na(b){return b.startsWith("data:application/octet-stream;base64,")}var H;H="data:application/octet-stream;base64,AGFzbQEAAAAB6oOAgABGYAF/AX9gA399fwF/YAJ/fwBgAn9/AX9gAX8AYAN/f38AYAN/f38Bf2AEf39/fwBgBH9/f38Bf2AFf39/f38AYAABf2AAAGAFf39/f38Bf2ABfAF8YAF9AX1gA399fQF9YAZ/f39/f38Bf2ACf3wAYAJ/fQBgBH9/f38BfGAFf35+fn4AYAF/AX1gBn9/f39/fwBgBH9/f38BfWACf30Bf2AHf39/f39/fwBgAX8BfGADf35/AX5gBH9+fn8AYAJ8fAF8YAh/f39/f39/fwF/YAJ9fQF9YAN/f38BfWAEf399fwBgA39/fQF/YAd/f39/f39/AX9gAX0Bf2ABfAF9YAF8AX9gAnx/AXxgBn98f39/fwF/YAJ+fwF/YAR+fn5+AX9gCX9/f39/f39/fwF/YAJ/fAF8YAN/fHwBf2AEf31/fwF/YAR/fX19AGAKf319fX19fX19fQBgBn99fX19fQBgBH9/fX0Bf2ACf38BfWACf30BfWADf319AX9gBH99fX0Bf2AEf39/fQF/YAh/f39/f399fwBgAn1/AX9gA3x8fwF8YAJ8fwF/YAJ/fgBgAn5+AX9gA39+fgBgAn9/AX5gAn9/AXxgA35/fwF/YAF8AX5gAn5+AXxgBH9/fn8BfmAFf39/fn4AAvmEgIAAFwNlbnYLX19jeGFfdGhyb3cABQNlbnYUZW1zY3JpcHRlbl9tYXRoX2F0YW4ADQNlbnYTZW1zY3JpcHRlbl9tYXRoX2NvcwANA2VudhNlbXNjcmlwdGVuX21hdGhfc2luAA0DZW52E2Vtc2NyaXB0ZW5fbWF0aF9sb2cADQNlbnYTZW1zY3JpcHRlbl9tYXRoX3BvdwAdA2VudhNlbXNjcmlwdGVuX21hdGhfZXhwAA0DZW52DV9fYXNzZXJ0X2ZhaWwABwNlbnYVZW1zY3JpcHRlbl9tYXRoX2xvZzEwAA0DZW52FGVtc2NyaXB0ZW5fbWF0aF9zcXJ0AA0DZW52FV9lbWJpbmRfcmVnaXN0ZXJfdm9pZAACA2VudhVfZW1iaW5kX3JlZ2lzdGVyX2Jvb2wACQNlbnYYX2VtYmluZF9yZWdpc3Rlcl9pbnRlZ2VyAAkDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfZmxvYXQABQNlbnYbX2VtYmluZF9yZWdpc3Rlcl9zdGRfc3RyaW5nAAIDZW52HF9lbWJpbmRfcmVnaXN0ZXJfc3RkX3dzdHJpbmcABQNlbnYWX2VtYmluZF9yZWdpc3Rlcl9lbXZhbAACA2VudhxfZW1iaW5kX3JlZ2lzdGVyX21lbW9yeV92aWV3AAUDZW52FWVtc2NyaXB0ZW5fbWVtY3B5X2JpZwAFFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfd3JpdGUACANlbnYWZW1zY3JpcHRlbl9yZXNpemVfaGVhcAAAA2VudgVhYm9ydAALA2VudhdfZW1iaW5kX3JlZ2lzdGVyX2JpZ2ludAAZA4mSgIAAhxILBAAECgQQDAIICAQLCxAKBAYAAgUYAwMKBAYKBAYGAwQDBQcHBwcHBwkHCAkHDBAHBgMIAAAICCsGDAwGAAQEBQUFBQIFBQcFBQUFBwcHBwIFAgQCAgICAgICAwgIAwgIAwgIAAYCCAgAAwgIAgQCDAwEAwMCBQYDAywAAwMDAAADAAMDAwQGAgIHBAAAAAIDAgYCBAMAAgcIAgcHBQAJAwMFBwAGAwUGCAIFBAADBQQFAAAABgMDAAAABgQABAADBAQELQIABAIEAAICAAABLg4HDw8DAAAABAQAAAUACQIFAAAAAgIAAAAABgUAAwgCAAAFAAQGAAUAAwgAAgIEAAAAAAAAAwMAAAAGBwcHBQAJAwMFAwAAAAAGAwsCAAIAAAAFAAAEBAIvBAQDMAQGDjEMAhgDBhkDAzIXMzQDAgAEAAQCBQMCAAAGAwAEAwoAAAQICAwHDAoDAgQAEQYAAAQICAgABAAECAgIAAQABAgICAAEAAoABBEDBQUFAgQABgAABAIRABEABAcEBQQEBgYGBgQCAgUFBwUKBRMTBAAfEAggDw4GBgMIFxcFBgcPDxIFBAQABAAAAAIAAwAAAAAEBQMDIQQJACIPDwYGBQIEBgYDAwAAAAADAAQEAwMDBQUHBwcHEhISEhISFRUVFQM1AwMGAAUFAiIGGgcAAgMCAgYCIBcDBQUAAAQFNgADAAUDDgIGAgICAAICNwYDAgQCAgQAAwADAAQABQIGAAIABAAAAAADAAAAAAkAAAAAAAAAAAIABAQEBQACBQICBQMIAgAFBgAAAwgAAgQEAAMAAAAGBwcHBQAJAwMFAwAAAAAGAwsCAAIABQMIAgAFBgAAAwgAAgQEAAMAAAAIAgMAAAAEAAMABAADBQMAAAAAAAAAAgACAAMDAwMGAgQCAgQAAAYCAAYCBAAGBAMAAAADAwADAgAAAgYCBQYCAgMCBgAAAwAAAAAAAAIAAwICCAICAgIAAAADAwYGAwUFBQYGAAUAAAQABwMGAAAABQcHBQAJAwMFBwAGAwUGAwUAAwAABwcHCQcFBgMDAAAAAgACAAYAAgUGAgIDAgYCAAADAAAAAAAAAAACAAMCAggCAgICAAAAAwMGAgYDBQUFAwYGAAUAAAQABwMGAAAABQcHBQAJAwMFBwAGAwUGAwUAAwAAAAAHBwcJBwUGAwMAAAACAAIAAwAAAAAAAwMDAwYCBAICBAACBQMNBAYAAgIFAAICAAICAwADAAQFAgYCAAAAAAADAAAAAAACBAICBAICBAUFBQMIAgAFBgAAAwgAAgQAAwAAAAYHBwcFAAkDAwUDAAAAAAYDCwIAAgAABgUAAwgCAAAFAAQGAAUAAwgAAgIEBAAAAAAAAAMDAwAAAAYHBwcFAAkDAwUDAAAAAAYDCwIAAgAGIQYFOAkAAwYDAwMDAwICBAIEAgIEAgIEAgIEBwQGBwgIAgUEAAMFBAUAAAADCAgCBQQAAwUEBQMDBAMCBAIFAgMCBQUGAwADBAADBgIGAgMAAgICAgcCBA4PDwICAgQCAgMDAwICAgQCAgQCAgQCAAAEAwQDAgACAgQCAAAEAwQDAgACAgIDAgYHBAMCBwgCBwcFAAkDAwUHAAYDBQYIAgUEAAMFBAUAAAAABgUAAwgCAAAFAAQGAAUAAwgAAgIEBAAAAAAAAAMDAAAACAIDAAAABAADAAQAAwUDAAAAAAAAAAIAAgAFBQUDCAIABQYAAAMIAAIEAAMAAAAGBwcHBQAJAwMFAwAAAAAGAwsCAAIAAhAPDxAPDwoFBAAAAAAAAAAAAAAAAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAADACMeAwMDAAAMAAACBhUOAwAMGAEIAQYDAwMDAwYDABACBgQAAgIDBAYCBQIAAgMFBgIABwgEBAAGAgYDAgQCAgQAAAYCBgMCBAICBAACAgIEAAQGAwAAAAICBQYCAgMCBgACAAADAAAAAAAAAAAAAAADAAQCAAAAAwICAwAIAgIAAAICAAAABgMDBgIAAAAAAAMCBgMFAAUABQMGAwAGAAUAAAQABQYCBwMGAAAABQcHBQAJAwMFBwAGAwUGAwUAAwAAAAAAAwAABwcHCQcFBgADAwAAAAIFAAICAgUCBAADAAYEAwAAAAAAAwADAAQABQACBgACAAQAAAAACgMAAAAACQAACgAAAAAAAAIEBAQFAAIFAgIGAAAAAgIFBgICAwIGAAIAAAMAAAAAAAAAAAAAAAAEAgAAAAMCAgAIAgIAAAICAAAABgMDBgIAAAAAAgYDBQAFAAUDBgAGAAUAAAQABQIHAwYAAAAFBwcFAAkDAwUHAAYDBQYDBQADAAAAAAAABwcHCQcFBgADAwAAAAIFAAICAgADAAMAAwAEAAUAAgYAAgAEAAAAAAMAAAAACQAAAAAAAAAAAgQEBAUAAgUCAgMAAwAEAAUCBgACAAAAAAADAAAAAAkAAAAAAAAAAAIEBAQFAAIFAgIEBAUABAUAAAACAwACAAUEAgICAgMAAgAFBAIAAwQEBAQAAAUAAAkCBQAAAAICAAAAAgIDBAAAAAQEBAAABQAACQIFAAAAAgIAAAAEAAAABQAEAAAAAAMEAgIDAAIAAAAABAUABAAABQAGAAMCAAIAAAADBAQEBAAABQAACQIFAAAAAgIAAAACAAIFAAACAAICAAAAAgIDAAAAAAAEAAQAAAUABgADAAIAAAICBQAAAgACAgAAAAQEBAAABQAACQIFAAAAAgIAAAAEBAQEBgUDCAIABQYAAAMIAAIEBAADAAAABgcHBwUACQMDBQMAAAAABgMLAgACAAALCwsAHyQOJBoAJSUMOQ4GBgYOAAQADQAAGg0NDSYNJhUODg4EBAoLAwMABggDAwAKJzo7HQ0OBgAbAwMAAAAAPAAKFBw9FD4HFhk/B0AGAycMIwUAB0EpKQkGKAJCBgYDAAoKCgsGAwoAAAQDAwIDFBwqKhQREgICCgocFBQUQwAABAQAAwADAAIACgALAwAEBAQEBAYGAAYIBwcHCQcJCRYWAAAEAAAEAAAEAAAAAAAEAAAEAAoEAAQKRAxFBIeAgIAAAXABpgGmAQWHgICAAAEBgAKAgAIGlYKAgAAtfwFBsPLGAwt/AUEAC38AQeC7Bgt/AEHAsAYLfwBB+t0AC38AQfjdAAt/AEH83QALfwBB/t0AC38AQYDeAAt/AEGI3gALfwBBhN4AC38AQYDgAAt/AEEEC38AQQULfwBBBgt/AEEHC38AQQgLfwBBCQt/AEEKC38AQZDeAAt/AEELC38AQcDeAAt/AEHg3gALfwBB8N4AC38AQaDfAAt/AEHo3wALfwBB2t8AC38AQczfAAt/AEG+3wALfwBBsN8AC38AQQwLfwBBAAt/AEENC38AQQ4LfwBBDwt/AEEQC38AQRELfwBBEgt/AEHkuwYLfwBBEwt/AEEUC38AQRULfwBB5L8GC38AQYDbBgt/AEHo2gYLB4GJgIAAJgZtZW1vcnkCABFfX3dhc21fY2FsbF9jdG9ycwAXIXplZ29fc3BlZWNoX2VuaGFuY2VyX3NldF9sb2dsZXZlbAAYG3plZ29fc3BlZWNoX2VuaGFuY2VyX2NyZWF0ZQAZHHplZ29fc3BlZWNoX2VuaGFuY2VyX2Rlc3RvcnkAGhNDcmVhdGVQcm9jZXNzUmVzdWx0ABsGbWFsbG9jAMoRFERlc3RvcnlQcm9jZXNzUmVzdWx0ABwEZnJlZQDLERx6ZWdvX3NwZWVjaF9lbmhhbmNlcl9wcm9jZXNzAB0kemVnb19zcGVlY2hfZW5oYW5jZXJfZW5hYmxlX2t0dnNjb3JlAB8remVnb19zcGVlY2hfZW5oYW5jZXJfc2V0X2t0Y3Njb3JlX3BpdGNobm90ZQAlD0NyZWF0ZVNjb3JlSW5mbwAmEERlc3RvcnlTY29yZUluZm8AJyF6ZWdvX3NwZWVjaF9lbmhhbmNlcl9nZXRfa3Rjc2NvcmUAKCp6ZWdvX3NwZWVjaF9lbmhhbmNlcl9nZXRfcGl0Y2hfaW1tZWRpYXRlbHkAKSV6ZWdvX3NwZWVjaF9lbmhhbmNlcl9zZXRfa3RzY29yZV9zZWVrACoqemVnb19zcGVlY2hfZW5oYW5jZXJfZW5hYmxlX2t0dnNjb3JlX3BhdXNlACstemVnb19zcGVlY2hfZW5oYW5jZXJfc2V0X3ZvaWNlX2NoYW5nZXJfcGFyYW1zACwtemVnb19zcGVlY2hfZW5oYW5jZXJfc2V0X3ZvaWNlX2NoYW5nZXJfcHJlc2V0AC0memVnb19zcGVlY2hfZW5oYW5jZXJfc2V0X3JldmVyYl9wcmVzZXQALiF6ZWdvX2NyZWF0ZV9yZXZlcmJfYWR2YW5jZV9wYXJhbXMALyJ6ZWdvX2Rlc3RvcnlfcmV2ZXJiX2FkdmFuY2VfcGFyYW1zADAvemVn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