>>0?1:0))+((U=P+ce|0)>>>0>>0?1:0)|0,I=C,P=D,C=T,D=M,T=z,M=L,z=Ee+(ge+pe+(Se>>>0>>0?1:0))+((L=ce+Se|0)>>>0>>0?1:0)|0}p=n.low=p+L,n.high=d+z+(p>>>0>>0?1:0),g=i.low=g+M,i.high=_+T+(g>>>0>>0?1:0),w=o.low=w+D,o.high=v+C+(w>>>0>>0?1:0),y=a.low=y+P,a.high=b+I+(y>>>0>>0?1:0),k=s.low=k+U,s.high=m+O+(k>>>0>>0?1:0),S=f.low=S+F,f.high=E+H+(S>>>0>>0?1:0),R=c.low=R+Z,c.high=x+N+(R>>>0>>0?1:0),B=u.low=B+W,u.high=A+j+(B>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(f),e.HmacSHA512=t._createHmacHelper(f)}(),r.SHA512)}),Q(function(e,t){var r,n,i,o,a,s,h,l;e.exports=(i=(n=r=ee).x64,o=i.Word,a=i.WordArray,s=n.algo,h=s.SHA512,l=s.SHA384=h.extend({_doReset:function(){this._hash=new a.init([new o.init(3418070365,3238371032),new o.init(1654270250,914150663),new o.init(2438529370,812702999),new o.init(355462360,4144912697),new o.init(1731405415,4290775857),new o.init(2394180231,1750603025),new o.init(3675008525,1694076839),new o.init(1203062813,3204075428)])},_doFinalize:function(){var e=h._doFinalize.call(this);return e.sigBytes-=16,e}}),n.SHA384=h._createHelper(l),n.HmacSHA384=h._createHmacHelper(l),r.SHA384)}),Q(function(e,t){var r;e.exports=(r=ee,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.x64.Word,s=t.algo,h=[],l=[],f=[];!function(){for(var e=1,t=0,r=0;r<24;r++){h[e+5*t]=(r+1)*(r+2)/2%64;var n=(2*e+3*t)%5;e=t%5,t=n}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var i=1,o=0;o<24;o++){for(var s=0,c=0,u=0;u<7;u++){if(1&i){var d=(1<>>24)|4278255360&(o<<24|o>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(B=r[i]).high^=a,B.low^=o}for(var s=0;s<24;s++){for(var u=0;u<5;u++){for(var d=0,p=0,_=0;_<5;_++)d^=(B=r[u+5*_]).high,p^=B.low;var g=c[u];g.high=d,g.low=p}for(u=0;u<5;u++){var v=c[(u+4)%5],w=c[(u+1)%5],b=w.high,y=w.low;for(d=v.high^(b<<1|y>>>31),p=v.low^(y<<1|b>>>31),_=0;_<5;_++)(B=r[u+5*_]).high^=d,B.low^=p}for(var m=1;m<25;m++){var k=(B=r[m]).high,E=B.low,S=h[m];S<32?(d=k<>>32-S,p=E<>>32-S):(d=E<>>64-S,p=k<>>64-S);var x=c[l[m]];x.high=d,x.low=p}var R=c[0],A=r[0];for(R.high=A.high,R.low=A.low,u=0;u<5;u++)for(_=0;_<5;_++){var B=r[m=u+5*_],z=c[m],L=c[(u+1)%5+5*_],T=c[(u+2)%5+5*_];B.high=z.high^~L.high&T.high,B.low=z.low^~L.low&T.low}B=r[0];var M=f[s];B.high^=M.high,B.low^=M.low}},_doFinalize:function(){var t=this._data,r=t.words,n=(this._nDataBytes,8*t.sigBytes),o=32*this.blockSize;r[n>>>5]|=1<<24-n%32,r[(e.ceil((n+1)/o)*o>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var a=this._state,s=this.cfg.outputLength/8,h=s/8,l=[],f=0;f>>24)|4278255360&(u<<24|u>>>8),d=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),l.push(d),l.push(u)}return new i.init(l,s)},clone:function(){for(var e=o.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=o._createHelper(u),t.HmacSHA3=o._createHmacHelper(u)}(Math),r.SHA3)}),Q(function(e,t){var r;e.exports=(r=ee,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),h=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),f=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),c=i.create([0,1518500249,1859775393,2400959708,2840853838]),u=i.create([1352829926,1548603684,1836072691,2053994217,0]),d=a.RIPEMD160=o.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o,a,d,y,m,k,E,S,x,R,A,B=this._hash.words,z=c.words,L=u.words,T=s.words,M=h.words,C=l.words,D=f.words;for(k=o=B[0],E=a=B[1],S=d=B[2],x=y=B[3],R=m=B[4],r=0;r<80;r+=1)A=o+e[t+T[r]]|0,A+=r<16?p(a,d,y)+z[0]:r<32?_(a,d,y)+z[1]:r<48?g(a,d,y)+z[2]:r<64?v(a,d,y)+z[3]:w(a,d,y)+z[4],A=(A=b(A|=0,C[r]))+m|0,o=m,m=y,y=b(d,10),d=a,a=A,A=k+e[t+M[r]]|0,A+=r<16?w(E,S,x)+L[0]:r<32?v(E,S,x)+L[1]:r<48?g(E,S,x)+L[2]:r<64?_(E,S,x)+L[3]:p(E,S,x)+L[4],A=(A=b(A|=0,D[r]))+R|0,k=R,R=x,x=b(S,10),S=E,E=A;A=B[1]+d+x|0,B[1]=B[2]+y+R|0,B[2]=B[3]+m+k|0,B[3]=B[4]+o+E|0,B[4]=B[0]+a+S|0,B[0]=A},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var i=this._hash,o=i.words,a=0;a<5;a++){var s=o[a];o[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return i},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function _(e,t,r){return e&t|~e&r}function g(e,t,r){return(e|~t)^r}function v(e,t,r){return e&r|t&~r}function w(e,t,r){return e^(t|~r)}function b(e,t){return e<>>32-t}t.RIPEMD160=o._createHelper(d),t.HmacRIPEMD160=o._createHmacHelper(d)}(),r.RIPEMD160)}),Q(function(e,t){var r,n,i,o,a,s;e.exports=(n=(r=ee).lib,i=n.Base,o=r.enc,a=o.Utf8,s=r.algo,void(s.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=a.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,h=o.words,l=0;l>>2];e.sigBytes-=t}},o.BlockCipher=d.extend({cfg:d.cfg.extend({mode:g,padding:w}),reset:function(){d.reset.call(this);var e=this.cfg,t=e.iv,r=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=r.createEncryptor;else{var n=r.createDecryptor;this._minBufferSize=1}this._mode&&this._mode.__creator==n?this._mode.init(this,t&&t.words):(this._mode=n.call(r,this,t&&t.words),this._mode.__creator=n)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else{var t=this._process(!0);e.unpad(t)}return t},blockSize:4}),b=o.CipherParams=a.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),y=i.format={},m=y.OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;if(r)var n=s.create([1398893684,1701076831]).concat(r).concat(t);else var n=t;return n.toString(f)},parse:function(e){var t=f.parse(e),r=t.words;if(1398893684==r[0]&&1701076831==r[1]){var n=s.create(r.slice(2,4));r.splice(0,4),t.sigBytes-=16}return b.create({ciphertext:t,salt:n})}},k=o.SerializableCipher=a.extend({cfg:a.extend({format:m}),encrypt:function(e,t,r,n){n=this.cfg.extend(n);var i=e.createEncryptor(r,n),o=i.finalize(t),a=i.cfg;return b.create({ciphertext:o,key:r,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:n.format})},decrypt:function(e,t,r,n){n=this.cfg.extend(n),t=this._parse(t,n.format);var i=e.createDecryptor(r,n).finalize(t.ciphertext);return i},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),E=i.kdf={},S=E.OpenSSL={execute:function(e,t,r,n){n||(n=s.random(8));var i=u.create({keySize:t+r}).compute(e,n),o=s.create(i.words.slice(t),4*r);return i.sigBytes=4*t,b.create({key:i,iv:o,salt:n})}},x=o.PasswordBasedCipher=k.extend({cfg:k.cfg.extend({kdf:S}),encrypt:function(e,t,r,n){var i=(n=this.cfg.extend(n)).kdf.execute(r,e.keySize,e.ivSize);n.iv=i.iv;var o=k.encrypt.call(this,e,t,i.key,n);return o.mixIn(i),o},decrypt:function(e,t,r,n){n=this.cfg.extend(n),t=this._parse(t,n.format);var i=n.kdf.execute(r,e.keySize,e.ivSize,t.salt);n.iv=i.iv;var o=k.decrypt.call(this,e,t,i.key,n);return o}})))}),Q(function(e,t){var r;e.exports=((r=ee).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,n){var i=this._iv;if(i){var o=i.slice(0);this._iv=void 0}else o=this._prevBlock;n.encryptBlock(o,0);for(var a=0;a>24&255)){var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}else e+=1<<24;return e}var n=e.Encryptor=e.extend({processBlock:function(e,r){var n=this._cipher,i=n.blockSize,o=this._iv,a=this._counter;o&&(a=this._counter=o.slice(0),this._iv=void 0),function(e){0===(e[0]=t(e[0]))&&(e[1]=t(e[1]))}(a);var s=a.slice(0);n.encryptBlock(s,0);for(var h=0;h>>2]|=i<<24-o%4*8,e.sigBytes+=i},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)}),Q(function(e,t){var r;e.exports=((r=ee).pad.Iso10126={pad:function(e,t){var n=4*t,i=n-e.sigBytes%n;e.concat(r.lib.WordArray.random(i-1)).concat(r.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)}),Q(function(e,t){var r;e.exports=((r=ee).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)}),Q(function(e,t){var r;e.exports=((r=ee).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){for(var t=e.words,r=e.sigBytes-1;!(t[r>>>2]>>>24-r%4*8&255);)r--;e.sigBytes=r+1}},r.pad.ZeroPadding)}),Q(function(e,t){var r;e.exports=((r=ee).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)}),Q(function(e,t){var r,n,i,o;e.exports=(i=(n=r=ee).lib.CipherParams,o=n.enc.Hex,n.format.Hex={stringify:function(e){return e.ciphertext.toString(o)},parse:function(e){var t=o.parse(e);return i.create({ciphertext:t})}},r.format.Hex)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.BlockCipher,n=e.algo,i=[],o=[],a=[],s=[],h=[],l=[],f=[],c=[],u=[],d=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,n=0;for(t=0;t<256;t++){var p=n^n<<1^n<<2^n<<3^n<<4;p=p>>>8^255&p^99,i[r]=p,o[p]=r;var _=e[r],g=e[_],v=e[g],w=257*e[p]^16843008*p;a[r]=w<<24|w>>>8,s[r]=w<<16|w>>>16,h[r]=w<<8|w>>>24,l[r]=w,w=16843009*v^65537*g^257*_^16843008*r,f[p]=w<<24|w>>>8,c[p]=w<<16|w>>>16,u[p]=w<<8|w>>>24,d[p]=w,r?(r=_^e[e[e[v^_]]],n^=e[e[n]]):r=n=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],_=n.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,n=4*((this._nRounds=r+6)+1),o=this._keySchedule=[],a=0;a6&&a%r==4&&(s=i[s>>>24]<<24|i[s>>>16&255]<<16|i[s>>>8&255]<<8|i[255&s]):(s=i[(s=s<<8|s>>>24)>>>24]<<24|i[s>>>16&255]<<16|i[s>>>8&255]<<8|i[255&s],s^=p[a/r|0]<<24),o[a]=o[a-r]^s}for(var h=this._invKeySchedule=[],l=0;l>>24]]^c[i[s>>>16&255]]^u[i[s>>>8&255]]^d[i[255&s]]}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,s,h,l,i)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,f,c,u,d,o),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,n,i,o,a,s){for(var h=this._nRounds,l=e[t]^r[0],f=e[t+1]^r[1],c=e[t+2]^r[2],u=e[t+3]^r[3],d=4,p=1;p>>24]^i[f>>>16&255]^o[c>>>8&255]^a[255&u]^r[d++],g=n[f>>>24]^i[c>>>16&255]^o[u>>>8&255]^a[255&l]^r[d++],v=n[c>>>24]^i[u>>>16&255]^o[l>>>8&255]^a[255&f]^r[d++],w=n[u>>>24]^i[l>>>16&255]^o[f>>>8&255]^a[255&c]^r[d++];l=_,f=g,c=v,u=w}_=(s[l>>>24]<<24|s[f>>>16&255]<<16|s[c>>>8&255]<<8|s[255&u])^r[d++],g=(s[f>>>24]<<24|s[c>>>16&255]<<16|s[u>>>8&255]<<8|s[255&l])^r[d++],v=(s[c>>>24]<<24|s[u>>>16&255]<<16|s[l>>>8&255]<<8|s[255&f])^r[d++],w=(s[u>>>24]<<24|s[l>>>16&255]<<16|s[f>>>8&255]<<8|s[255&c])^r[d++],e[t]=_,e[t+1]=g,e[t+2]=v,e[t+3]=w},keySize:8});e.AES=t._createHelper(_)}(),r.AES)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib,n=t.WordArray,i=t.BlockCipher,o=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],h=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],f=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],c=o.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var n=a[r]-1;t[r]=e[n>>>5]>>>31-n%32&1}for(var i=this._subKeys=[],o=0;o<16;o++){var l=i[o]=[],f=h[o];for(r=0;r<24;r++)l[r/6|0]|=t[(s[r]-1+f)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(s[r+24]-1+f)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var c=this._invSubKeys=[];for(r=0;r<16;r++)c[r]=i[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],u.call(this,4,252645135),u.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),u.call(this,1,1431655765);for(var n=0;n<16;n++){for(var i=r[n],o=this._lBlock,a=this._rBlock,s=0,h=0;h<8;h++)s|=l[h][((a^i[h])&f[h])>>>0];this._lBlock=a,this._rBlock=o^s}var c=this._lBlock;this._lBlock=this._rBlock,this._rBlock=c,u.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function u(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<>>2]>>>24-a%4*8&255;o=(o+n[i]+s)%256;var h=n[i];n[i]=n[o],n[o]=h}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var o=e[t];e[t]=e[r],e[r]=o,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}e.RC4=t._createHelper(i);var a=n.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)o.call(this)}});e.RC4Drop=t._createHelper(a)}(),r.RC4)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.StreamCipher,n=e.algo,i=[],o=[],a=[],s=n.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)h.call(this);for(r=0;r<8;r++)i[r]^=n[r+4&7];if(t){var o=t.words,a=o[0],s=o[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),f=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),c=l>>>16|4294901760&f,u=f<<16|65535&l;for(i[0]^=l,i[1]^=c,i[2]^=f,i[3]^=u,i[4]^=l,i[5]^=c,i[6]^=f,i[7]^=u,r=0;r<4;r++)h.call(this)}},_doProcessBlock:function(e,t){var r=this._X;h.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),e[t+n]^=i[n]},blockSize:4,ivSize:2});function h(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,h=((i*i>>>17)+i*s>>>15)+s*s,l=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=h^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=t._createHelper(s)}(),r.Rabbit)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.StreamCipher,n=e.algo,i=[],o=[],a=[],s=n.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var i=0;i<4;i++)h.call(this);for(i=0;i<8;i++)n[i]^=r[i+4&7];if(t){var o=t.words,a=o[0],s=o[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),f=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),c=l>>>16|4294901760&f,u=f<<16|65535&l;for(n[0]^=l,n[1]^=c,n[2]^=f,n[3]^=u,n[4]^=l,n[5]^=c,n[6]^=f,n[7]^=u,i=0;i<4;i++)h.call(this)}},_doProcessBlock:function(e,t){var r=this._X;h.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),e[t+n]^=i[n]},blockSize:4,ivSize:2});function h(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,h=((i*i>>>17)+i*s>>>15)+s*s,l=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=h^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=t._createHelper(s)}(),r.RabbitLegacy)}),Q(function(e,t){e.exports=ee}));function re(){throw new Error("setTimeout has not been defined")}function ne(){throw new Error("clearTimeout has not been defined")}var ie=re,oe=ne;function ae(e){if(ie===setTimeout)return setTimeout(e,0);if((ie===re||!ie)&&setTimeout)return ie=setTimeout,setTimeout(e,0);try{return ie(e,0)}catch(t){try{return ie.call(null,e,0)}catch(t){return ie.call(this,e,0)}}}"function"==typeof e.setTimeout&&(ie=setTimeout),"function"==typeof e.clearTimeout&&(oe=clearTimeout);var se,he=[],le=!1,fe=-1;function ce(){le&&se&&(le=!1,se.length?he=se.concat(he):fe=-1,he.length&&ue())}function ue(){if(!le){var e=ae(ce);le=!0;for(var t=he.length;t;){for(se=he,he=[];++fe1)for(var r=1;r0&&a.length>i){a.warned=!0;var h=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");h.name="MaxListenersExceededWarning",h.emitter=e,h.type=t,h.count=a.length,s=h,"function"==typeof console.warn?console.warn(s):console.log(s)}}else a=o[t]=r,++e._eventsCount;return e}function xe(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}function Re(e){var t=this._events;if(t){var r=t[e];if("function"==typeof r)return 1;if(r)return r.length}return 0}function Ae(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}ge.prototype=Object.create(null),ve.EventEmitter=ve,ve.usingDomains=!1,ve.prototype.domain=void 0,ve.prototype._events=void 0,ve.prototype._maxListeners=void 0,ve.defaultMaxListeners=10,ve.init=function(){this.domain=null,ve.usingDomains&&(void 0).active&&(void 0).Domain,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new ge,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},ve.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},ve.prototype.getMaxListeners=function(){return we(this)},ve.prototype.emit=function(e){var t,r,n,i,o,a,s,h="error"===e;if(a=this._events)h=h&&null==a.error;else if(!h)return!1;if(s=this.domain,h){if(t=arguments[1],!s){if(t instanceof Error)throw t;var l=new Error('Uncaught, unspecified "error" event. ('+t+")");throw l.context=t,l}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit("error",t),!1}if(!(r=a[e]))return!1;var f="function"==typeof r;switch(n=arguments.length){case 1:be(r,f,this);break;case 2:ye(r,f,this,arguments[1]);break;case 3:me(r,f,this,arguments[1],arguments[2]);break;case 4:ke(r,f,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),o=1;o0;)if(r[o]===t||r[o].listener&&r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;if(1===r.length){if(r[0]=void 0,0==--this._eventsCount)return this._events=new ge,this;delete n[e]}else!function(e,t){for(var r=t,n=r+1,i=e.length;n0?Reflect.ownKeys(this._events):[]};var Be="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e},ze=/%[sdj%]/g;function Le(e){if(!Ze(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}}),a=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Fe(t)?r.showHidden=t:t&&function(e,t){if(!t||!Ye(t))return e;var r=Object.keys(t),n=r.length;for(;n--;)e[r[n]]=t[r[n]]}(r,t),je(r.showHidden)&&(r.showHidden=!1),je(r.depth)&&(r.depth=2),je(r.colors)&&(r.colors=!1),je(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=Ie),Oe(r,e,r.depth)}function Ie(e,t){var r=De.styles[t];return r?"["+De.colors[r][0]+"m"+e+"["+De.colors[r][1]+"m":e}function Pe(e,t){return e}function Oe(e,t,r){if(e.customInspect&&t&&qe(t.inspect)&&t.inspect!==De&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return Ze(n)||(n=Oe(e,n,r)),n}var i=function(e,t){if(je(t))return e.stylize("undefined","undefined");if(Ze(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(n=t,"number"==typeof n)return e.stylize(""+t,"number");var n;if(Fe(t))return e.stylize(""+t,"boolean");if(Ne(t))return e.stylize("null","null")}(e,t);if(i)return i;var o=Object.keys(t),a=function(e){var t={};return e.forEach(function(e,r){t[e]=!0}),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),Xe(t)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return Ue(t);if(0===o.length){if(qe(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(We(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Ke(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Xe(t))return Ue(t)}var h,l,f="",c=!1,u=["{","}"];(h=t,Array.isArray(h)&&(c=!0,u=["[","]"]),qe(t))&&(f=" [Function"+(t.name?": "+t.name:"")+"]");return We(t)&&(f=" "+RegExp.prototype.toString.call(t)),Ke(t)&&(f=" "+Date.prototype.toUTCString.call(t)),Xe(t)&&(f=" "+Ue(t)),0!==o.length||c&&0!=t.length?r<0?We(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),l=c?function(e,t,r,n,i){for(var o=[],a=0,s=t.length;a60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(l,f,u)):u[0]+f+u[1]}function Ue(e){return"["+Error.prototype.toString.call(e)+"]"}function He(e,t,r,n,i,o){var a,s,h;if((h=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=h.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):h.set&&(s=e.stylize("[Setter]","special")),Ge(n,i)||(a="["+i+"]"),s||(e.seen.indexOf(h.value)<0?(s=Ne(r)?Oe(e,h.value,null):Oe(e,h.value,r-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+s.split("\n").map(function(e){return" "+e}).join("\n")):s=e.stylize("[Circular]","special")),je(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function Fe(e){return"boolean"==typeof e}function Ne(e){return null===e}function Ze(e){return"string"==typeof e}function je(e){return void 0===e}function We(e){return Ye(e)&&"[object RegExp]"===Ve(e)}function Ye(e){return"object"==typeof e&&null!==e}function Ke(e){return Ye(e)&&"[object Date]"===Ve(e)}function Xe(e){return Ye(e)&&("[object Error]"===Ve(e)||e instanceof Error)}function qe(e){return"function"==typeof e}function Ve(e){return Object.prototype.toString.call(e)}function Ge(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function $e(){this.head=null,this.tail=null,this.length=0}De.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},De.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},$e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},$e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},$e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},$e.prototype.clear=function(){this.head=this.tail=null,this.length=0},$e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},$e.prototype.concat=function(e){if(0===this.length)return p.alloc(0);if(1===this.length)return this.head.data;for(var t=p.allocUnsafe(e>>>0),r=this.head,n=0;r;)r.data.copy(t,n),n+=r.data.length,r=r.next;return t};var Je=p.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function Qe(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!Je(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=tt;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=rt;break;default:return void(this.write=et)}this.charBuffer=new p(6),this.charReceived=0,this.charLength=0}function et(e){return e.toString(this.encoding)}function tt(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function rt(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}Qe.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived);var i;n=(t+=e.toString(this.encoding,0,n)).length-1;if((i=t.charCodeAt(n))>=55296&&i<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),e.copy(this.charBuffer,0,0,o),t.substring(0,n)}return t},Qe.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},Qe.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;t+=n.slice(0,r).toString(i)}return t},ot.ReadableState=it;var nt=function(e){je(Me)&&(Me=""),e=e.toUpperCase(),Ce[e]||(new RegExp("\\b"+e+"\\b","i").test(Me)?Ce[e]=function(){var t=Le.apply(null,arguments);console.error("%s %d: %s",e,0,t)}:Ce[e]=function(){});return Ce[e]}("stream");function it(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof Ct&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new $e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new Qe(e.encoding),this.encoding=e.encoding)}function ot(e){if(!(this instanceof ot))return new ot(e);this._readableState=new it(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),ve.call(this)}function at(e,t,r,n,i){var o=function(e,t){var r=null;$(t)||"string"==typeof t||null==t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));return r}(t,r);if(o)e.emit("error",o);else if(null===r)t.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,lt(e)}(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!i){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&i){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var h;!t.decoder||i||n||(r=t.decoder.write(r),h=!t.objectMode&&0===r.length),i||(t.reading=!1),h||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&<(e))),function(e,t){t.readingMore||(t.readingMore=!0,de(ct,e,t))}(e,t)}else i||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=st?e=st:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function lt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(nt("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?de(ft,e):ft(e))}function ft(e){nt("emit readable"),e.emit("readable"),pt(e)}function ct(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var n;eo.length?o.length:e;if(a===o.length?i+=o:i+=o.slice(0,e),0===(e-=a)){a===o.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(a));break}++n}return t.length-=n,i}(e,t):function(e,t){var r=p.allocUnsafe(e),n=t.head,i=1;n.data.copy(r),e-=n.data.length;for(;n=n.next;){var o=n.data,a=e>o.length?o.length:e;if(o.copy(r,r.length-e,0,a),0===(e-=a)){a===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(a));break}++i}return t.length-=i,r}(e,t);return n}(e,t.buffer,t.decoder),r);var r}function gt(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,de(vt,t,e))}function vt(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function wt(e,t){for(var r=0,n=e.length;r=t.highWaterMark||t.ended))return nt("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?gt(this):lt(this),null;if(0===(e=ht(e,t))&&t.ended)return 0===t.length&>(this),null;var n,i=t.needReadable;return nt("need readable",i),(0===t.length||t.length-e0?_t(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&>(this)),null!==n&&this.emit("data",n),n},ot.prototype._read=function(e){this.emit("error",new Error("not implemented"))},ot.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,nt("pipe count=%d opts=%j",n.pipesCount,t);var i=!t||!1!==t.end?a:l;function o(e){nt("onunpipe"),e===r&&l()}function a(){nt("onend"),e.end()}n.endEmitted?de(i):r.once("end",i),e.on("unpipe",o);var s=function(e){return function(){var t=e._readableState;nt("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,pt(e))}}(r);e.on("drain",s);var h=!1;function l(){nt("cleanup"),e.removeListener("close",d),e.removeListener("finish",p),e.removeListener("drain",s),e.removeListener("error",u),e.removeListener("unpipe",o),r.removeListener("end",a),r.removeListener("end",l),r.removeListener("data",c),h=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var f=!1;function c(t){nt("ondata"),f=!1,!1!==e.write(t)||f||((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==wt(n.pipes,e))&&!h&&(nt("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,f=!0),r.pause())}function u(t){var r;nt("onerror",t),_(),e.removeListener("error",u),0===(r="error",e.listeners(r).length)&&e.emit("error",t)}function d(){e.removeListener("finish",p),_()}function p(){nt("onfinish"),e.removeListener("close",d),_()}function _(){nt("unpipe"),r.unpipe(e)}return r.on("data",c),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",u),e.once("close",d),e.once("finish",p),e.emit("pipe",r),n.flowing||(nt("pipe resume"),r.resume()),e},ot.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},kt.prototype._write=function(e,t,r){r(new Error("not implemented"))},kt.prototype._writev=null,kt.prototype.end=function(e,t,r){var n=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,r){t.ending=!0,Bt(e,t),r&&(t.finished?de(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,n,r)},Be(Ct,ot);for(var Lt=Object.keys(kt.prototype),Tt=0;Tt=0;)e[t]=0}var Jt=0,Qt=1,er=2,tr=29,rr=256,nr=rr+1+tr,ir=30,or=19,ar=2*nr+1,sr=15,hr=16,lr=7,fr=256,cr=16,ur=17,dr=18,pr=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],_r=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],gr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],vr=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],wr=new Array(2*(nr+2));$t(wr);var br=new Array(2*ir);$t(br);var yr=new Array(512);$t(yr);var mr=new Array(256);$t(mr);var kr=new Array(tr);$t(kr);var Er,Sr,xr,Rr=new Array(ir);function Ar(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function Br(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function zr(e){return e<256?yr[e]:yr[256+(e>>>7)]}function Lr(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Tr(e,t,r){e.bi_valid>hr-r?(e.bi_buf|=t<>hr-e.bi_valid,e.bi_valid+=r-hr):(e.bi_buf|=t<>>=1,r<<=1}while(--t>0);return r>>>1}function Dr(e,t,r){var n,i,o=new Array(sr+1),a=0;for(n=1;n<=sr;n++)o[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var s=e[2*i+1];0!==s&&(e[2*i]=Cr(o[s]++,s))}}function Ir(e){var t;for(t=0;t8?Lr(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function Or(e,t,r,n){var i=2*t,o=2*r;return e[i]>1;r>=1;r--)Ur(e,o,r);i=h;do{r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Ur(e,o,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,o[2*i]=o[2*r]+o[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,o[2*r+1]=o[2*n+1]=i,e.heap[1]=i++,Ur(e,o,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,o,a,s,h=t.dyn_tree,l=t.max_code,f=t.stat_desc.static_tree,c=t.stat_desc.has_stree,u=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,_=0;for(o=0;o<=sr;o++)e.bl_count[o]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;rp&&(o=p,_++),h[2*n+1]=o,n>l||(e.bl_count[o]++,a=0,n>=d&&(a=u[n-d]),s=h[2*n],e.opt_len+=s*(o+a),c&&(e.static_len+=s*(f[2*n+1]+a)));if(0!==_){do{for(o=p-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[p]--,_-=2}while(_>0);for(o=p;0!==o;o--)for(n=e.bl_count[o];0!==n;)(i=e.heap[--r])>l||(h[2*i+1]!==o&&(e.opt_len+=(o-h[2*i+1])*h[2*i],h[2*i+1]=o),n--)}}(e,t),Dr(o,l,e.bl_count)}function Nr(e,t,r){var n,i,o=-1,a=t[1],s=0,h=7,l=4;for(0===a&&(h=138,l=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++s>=7;n=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}function Xr(e,t,r,n){var i,o,a=0;e.level>0?(e.strm.data_type===Gt&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return qt;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return Vt;for(t=32;t=3&&0===e.bl_tree[2*vr[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==t?Yr(e,t,r,n):e.strategy===Xt||o===i?(Tr(e,(Qt<<1)+(n?1:0),3),Hr(e,wr,br)):(Tr(e,(er<<1)+(n?1:0),3),function(e,t,r,n){var i;for(Tr(e,t-257,5),Tr(e,r-1,5),Tr(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(mr[r]+rr+1)]++,e.dyn_dtree[2*zr(t)]++),e.last_lit===e.lit_bufsize-1}function Vr(e,t,r,n){for(var i=65535&e|0,o=e>>>16&65535|0,a=0;0!==r;){r-=a=r>2e3?2e3:r;do{o=o+(i=i+t[n++]|0)|0}while(--a);i%=65521,o%=65521}return i|o<<16|0}var Gr=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();function $r(e,t,r,n){var i=Gr,o=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}var Jr,Qr=0,en=1,tn=3,rn=4,nn=5,on=0,an=1,sn=-2,hn=-3,ln=-5,fn=-1,cn=1,un=2,dn=3,pn=4,_n=2,gn=8,vn=9,wn=286,bn=30,yn=19,mn=2*wn+1,kn=15,En=3,Sn=258,xn=Sn+En+1,Rn=32,An=42,Bn=69,zn=73,Ln=91,Tn=103,Mn=113,Cn=666,Dn=1,In=2,Pn=3,On=4,Un=3;function Hn(e,t){return e.msg=Nt[t],t}function Fn(e){return(e<<1)-(e>4?9:0)}function Nn(e){for(var t=e.length;--t>=0;)e[t]=0}function Zn(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(jt(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function jn(e,t){Xr(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Zn(e.strm)}function Wn(e,t){e.pending_buf[e.pending++]=t}function Yn(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function Kn(e,t){var r,n,i=e.max_chain_length,o=e.strstart,a=e.prev_length,s=e.nice_match,h=e.strstart>e.w_size-xn?e.strstart-(e.w_size-xn):0,l=e.window,f=e.w_mask,c=e.prev,u=e.strstart+Sn,d=l[o+a-1],p=l[o+a];e.prev_length>=e.good_match&&(i>>=2),s>e.lookahead&&(s=e.lookahead);do{if(l[(r=t)+a]===p&&l[r+a-1]===d&&l[r]===l[o]&&l[++r]===l[o+1]){o+=2,r++;do{}while(l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&oa){if(e.match_start=t,a=n,n>=s)break;d=l[o+a-1],p=l[o+a]}}}while((t=c[t&f])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function Xn(e){var t,r,n,i,o,a,s,h,l,f,c=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=c+(c-xn)){jt(e.window,e.window,c,c,0),e.match_start-=c,e.strstart-=c,e.block_start-=c,t=r=e.hash_size;do{n=e.head[--t],e.head[t]=n>=c?n-c:0}while(--r);t=r=c;do{n=e.prev[--t],e.prev[t]=n>=c?n-c:0}while(--r);i+=c}if(0===e.strm.avail_in)break;if(a=e.strm,s=e.window,h=e.strstart+e.lookahead,l=i,f=void 0,(f=a.avail_in)>l&&(f=l),r=0===f?0:(a.avail_in-=f,jt(s,a.input,a.next_in,f,h),1===a.state.wrap?a.adler=Vr(a.adler,s,f,h):2===a.state.wrap&&(a.adler=$r(a.adler,s,f,h)),a.next_in+=f,a.total_in+=f,f),e.lookahead+=r,e.lookahead+e.insert>=En)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=(e.ins_h<=En&&(e.ins_h=(e.ins_h<=En)if(n=qr(e,e.strstart-e.match_start,e.match_length-En),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=En){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=En&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=En-1)),e.prev_length>=En&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-En,n=qr(e,e.strstart-1-e.prev_match,e.prev_length-En),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<nn||t<0)return e?Hn(e,sn):sn;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||n.status===Cn&&t!==rn)return Hn(e,0===e.avail_out?ln:sn);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===An)if(2===n.wrap)e.adler=0,Wn(n,31),Wn(n,139),Wn(n,8),n.gzhead?(Wn(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Wn(n,255&n.gzhead.time),Wn(n,n.gzhead.time>>8&255),Wn(n,n.gzhead.time>>16&255),Wn(n,n.gzhead.time>>24&255),Wn(n,9===n.level?2:n.strategy>=un||n.level<2?4:0),Wn(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(Wn(n,255&n.gzhead.extra.length),Wn(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=$r(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Bn):(Wn(n,0),Wn(n,0),Wn(n,0),Wn(n,0),Wn(n,0),Wn(n,9===n.level?2:n.strategy>=un||n.level<2?4:0),Wn(n,Un),n.status=Mn);else{var a=gn+(n.w_bits-8<<4)<<8;a|=(n.strategy>=un||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=Rn),a+=31-a%31,n.status=Mn,Yn(n,a),0!==n.strstart&&(Yn(n,e.adler>>>16),Yn(n,65535&e.adler)),e.adler=1}if(n.status===Bn)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),Zn(e),i=n.pending,n.pending!==n.pending_buf_size));)Wn(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=zn)}else n.status=zn;if(n.status===zn)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),Zn(e),i=n.pending,n.pending===n.pending_buf_size)){o=1;break}o=n.gzindexi&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),0===o&&(n.gzindex=0,n.status=Ln)}else n.status=Ln;if(n.status===Ln)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),Zn(e),i=n.pending,n.pending===n.pending_buf_size)){o=1;break}o=n.gzindexi&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),0===o&&(n.status=Tn)}else n.status=Tn;if(n.status===Tn&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&Zn(e),n.pending+2<=n.pending_buf_size&&(Wn(n,255&e.adler),Wn(n,e.adler>>8&255),e.adler=0,n.status=Mn)):n.status=Mn),0!==n.pending){if(Zn(e),0===e.avail_out)return n.last_flush=-1,on}else if(0===e.avail_in&&Fn(t)<=Fn(r)&&t!==rn)return Hn(e,ln);if(n.status===Cn&&0!==e.avail_in)return Hn(e,ln);if(0!==e.avail_in||0!==n.lookahead||t!==Qr&&n.status!==Cn){var s=n.strategy===un?function(e,t){for(var r;;){if(0===e.lookahead&&(Xn(e),0===e.lookahead)){if(t===Qr)return Dn;break}if(e.match_length=0,r=qr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(jn(e,!1),0===e.strm.avail_out))return Dn}return e.insert=0,t===rn?(jn(e,!0),0===e.strm.avail_out?Pn:On):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?Dn:In}(n,t):n.strategy===dn?function(e,t){for(var r,n,i,o,a=e.window;;){if(e.lookahead<=Sn){if(Xn(e),e.lookahead<=Sn&&t===Qr)return Dn;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=En&&e.strstart>0&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){o=e.strstart+Sn;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=En?(r=qr(e,1,e.match_length-En),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=qr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(jn(e,!1),0===e.strm.avail_out))return Dn}return e.insert=0,t===rn?(jn(e,!0),0===e.strm.avail_out?Pn:On):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?Dn:In}(n,t):Jr[n.level].func(n,t);if(s!==Pn&&s!==On||(n.status=Cn),s===Dn||s===Pn)return 0===e.avail_out&&(n.last_flush=-1),on;if(s===In&&(t===en?Kr(n):t!==nn&&(Yr(n,0,0,!1),t===tn&&(Nn(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),Zn(e),0===e.avail_out))return n.last_flush=-1,on}return t!==rn?on:n.wrap<=0?an:(2===n.wrap?(Wn(n,255&e.adler),Wn(n,e.adler>>8&255),Wn(n,e.adler>>16&255),Wn(n,e.adler>>24&255),Wn(n,255&e.total_in),Wn(n,e.total_in>>8&255),Wn(n,e.total_in>>16&255),Wn(n,e.total_in>>24&255)):(Yn(n,e.adler>>>16),Yn(n,65535&e.adler)),Zn(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?on:an)}Jr=[new Gn(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Xn(e),0===e.lookahead&&t===Qr)return Dn;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,jn(e,!1),0===e.strm.avail_out))return Dn;if(e.strstart-e.block_start>=e.w_size-xn&&(jn(e,!1),0===e.strm.avail_out))return Dn}return e.insert=0,t===rn?(jn(e,!0),0===e.strm.avail_out?Pn:On):(e.strstart>e.block_start&&(jn(e,!1),e.strm.avail_out),Dn)}),new Gn(4,4,8,4,qn),new Gn(4,5,16,8,qn),new Gn(4,6,32,32,qn),new Gn(4,4,16,16,Vn),new Gn(8,16,32,32,Vn),new Gn(8,16,128,128,Vn),new Gn(8,32,128,256,Vn),new Gn(32,128,258,1024,Vn),new Gn(32,258,258,4096,Vn)];var ei=30,ti=12;function ri(e,t){var r,n,i,o,a,s,h,l,f,c,u,d,p,_,g,v,w,b,y,m,k,E,S,x,R;r=e.state,n=e.next_in,x=e.input,i=n+(e.avail_in-5),o=e.next_out,R=e.output,a=o-(t-e.avail_out),s=o+(e.avail_out-257),h=r.dmax,l=r.wsize,f=r.whave,c=r.wnext,u=r.window,d=r.hold,p=r.bits,_=r.lencode,g=r.distcode,v=(1<>>=y=b>>>24,p-=y,0===(y=b>>>16&255))R[o++]=65535&b;else{if(!(16&y)){if(0==(64&y)){b=_[(65535&b)+(d&(1<>>=y,p-=y),p<15&&(d+=x[n++]<>>=y=b>>>24,p-=y,!(16&(y=b>>>16&255))){if(0==(64&y)){b=g[(65535&b)+(d&(1<h){e.msg="invalid distance too far back",r.mode=ei;break e}if(d>>>=y,p-=y,k>(y=o-a)){if((y=k-y)>f&&r.sane){e.msg="invalid distance too far back",r.mode=ei;break e}if(E=0,S=u,0===c){if(E+=l-y,y2;)R[o++]=S[E++],R[o++]=S[E++],R[o++]=S[E++],m-=3;m&&(R[o++]=S[E++],m>1&&(R[o++]=S[E++]))}else{E=o-k;do{R[o++]=R[E++],R[o++]=R[E++],R[o++]=R[E++],m-=3}while(m>2);m&&(R[o++]=R[E++],m>1&&(R[o++]=R[E++]))}break}}break}}while(n>3,d&=(1<<(p-=m<<3))-1,e.next_in=n,e.next_out=o,e.avail_in=n=1&&0===L[m];m--);if(k>m&&(k=m),0===m)return i[o++]=20971520,i[o++]=20971520,s.bits=1,0;for(y=1;y0&&(e===ai||1!==m))return-1;for(T[1]=0,w=1;wii||e===hi&&R>oi)return 1;for(;;){p=w-S,a[b]d?(_=M[C+a[b]],g=B[z+a[b]]):(_=96,g=0),h=1<>S)+(l-=h)]=p<<24|_<<16|g|0}while(0!==l);for(h=1<>=1;if(0!==h?(A&=h-1,A+=h):A=0,b++,0==--L[w]){if(w===m)break;w=t[r+a[b]]}if(w>k&&(A&c)!==f){for(0===S&&(S=k),u+=y,x=1<<(E=w-S);E+Sii||e===hi&&R>oi)return 1;i[f=A&c]=k<<24|E<<16|u-o|0}}return 0!==A&&(i[u+A]=w-S<<24|64<<16|0),s.bits=k,0}var pi=0,_i=1,gi=2,vi=4,wi=5,bi=6,yi=0,mi=1,ki=2,Ei=-2,Si=-3,xi=-4,Ri=-5,Ai=8,Bi=1,zi=2,Li=3,Ti=4,Mi=5,Ci=6,Di=7,Ii=8,Pi=9,Oi=10,Ui=11,Hi=12,Fi=13,Ni=14,Zi=15,ji=16,Wi=17,Yi=18,Ki=19,Xi=20,qi=21,Vi=22,Gi=23,$i=24,Ji=25,Qi=26,eo=27,to=28,ro=29,no=30,io=31,oo=32,ao=852,so=592;function ho(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function lo(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Yt(320),this.work=new Yt(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function fo(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,function(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=Bi,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Kt(ao),t.distcode=t.distdyn=new Kt(so),t.sane=1,t.back=-1,yi):Ei}(e)):Ei}function co(e,t){var r,n;return e?(n=new lo,e.state=n,n.window=null,(r=function(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?Ei:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,fo(e))):Ei}(e,t))!==yi&&(e.state=null),r):Ei}var uo,po,_o=!0;function go(e){if(_o){var t;for(uo=new Kt(512),po=new Kt(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(di(_i,e.lens,0,288,uo,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;di(gi,e.lens,0,32,po,0,e.work,{bits:5}),_o=!1}e.lencode=uo,e.lenbits=9,e.distcode=po,e.distbits=5}function vo(e,t){var r,n,i,o,a,s,h,l,f,c,u,d,p,_,g,v,w,b,y,m,k,E,S,x,R=0,A=new Wt(4),B=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return Ei;(r=e.state).mode===Hi&&(r.mode=Fi),a=e.next_out,i=e.output,h=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,l=r.hold,f=r.bits,c=s,u=h,E=yi;e:for(;;)switch(r.mode){case Bi:if(0===r.wrap){r.mode=Fi;break}for(;f<16;){if(0===s)break e;s--,l+=n[o++]<>>8&255,r.check=$r(r.check,A,2,0),l=0,f=0,r.mode=zi;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",r.mode=no;break}if((15&l)!==Ai){e.msg="unknown compression method",r.mode=no;break}if(f-=4,k=8+(15&(l>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=no;break}r.dmax=1<>8&1),512&r.flags&&(A[0]=255&l,A[1]=l>>>8&255,r.check=$r(r.check,A,2,0)),l=0,f=0,r.mode=Li;case Li:for(;f<32;){if(0===s)break e;s--,l+=n[o++]<>>8&255,A[2]=l>>>16&255,A[3]=l>>>24&255,r.check=$r(r.check,A,4,0)),l=0,f=0,r.mode=Ti;case Ti:for(;f<16;){if(0===s)break e;s--,l+=n[o++]<>8),512&r.flags&&(A[0]=255&l,A[1]=l>>>8&255,r.check=$r(r.check,A,2,0)),l=0,f=0,r.mode=Mi;case Mi:if(1024&r.flags){for(;f<16;){if(0===s)break e;s--,l+=n[o++]<>>8&255,r.check=$r(r.check,A,2,0)),l=0,f=0}else r.head&&(r.head.extra=null);r.mode=Ci;case Ci:if(1024&r.flags&&((d=r.length)>s&&(d=s),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),jt(r.head.extra,n,o,d,k)),512&r.flags&&(r.check=$r(r.check,n,d,o)),s-=d,o+=d,r.length-=d),r.length))break e;r.length=0,r.mode=Di;case Di:if(2048&r.flags){if(0===s)break e;d=0;do{k=n[o+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k))}while(k&&d>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=Hi;break;case Oi:for(;f<32;){if(0===s)break e;s--,l+=n[o++]<>>=7&f,f-=7&f,r.mode=eo;break}for(;f<3;){if(0===s)break e;s--,l+=n[o++]<>>=1)){case 0:r.mode=Ni;break;case 1:if(go(r),r.mode=Xi,t===bi){l>>>=2,f-=2;break e}break;case 2:r.mode=Wi;break;case 3:e.msg="invalid block type",r.mode=no}l>>>=2,f-=2;break;case Ni:for(l>>>=7&f,f-=7&f;f<32;){if(0===s)break e;s--,l+=n[o++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=no;break}if(r.length=65535&l,l=0,f=0,r.mode=Zi,t===bi)break e;case Zi:r.mode=ji;case ji:if(d=r.length){if(d>s&&(d=s),d>h&&(d=h),0===d)break e;jt(i,n,o,d,a),s-=d,o+=d,h-=d,a+=d,r.length-=d;break}r.mode=Hi;break;case Wi:for(;f<14;){if(0===s)break e;s--,l+=n[o++]<>>=5,f-=5,r.ndist=1+(31&l),l>>>=5,f-=5,r.ncode=4+(15&l),l>>>=4,f-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=no;break}r.have=0,r.mode=Yi;case Yi:for(;r.have>>=3,f-=3}for(;r.have<19;)r.lens[B[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},E=di(pi,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,E){e.msg="invalid code lengths set",r.mode=no;break}r.have=0,r.mode=Ki;case Ki:for(;r.have>>16&255,w=65535&R,!((g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>>=g,f-=g,r.lens[r.have++]=w;else{if(16===w){for(x=g+2;f>>=g,f-=g,0===r.have){e.msg="invalid bit length repeat",r.mode=no;break}k=r.lens[r.have-1],d=3+(3&l),l>>>=2,f-=2}else if(17===w){for(x=g+3;f>>=g)),l>>>=3,f-=3}else{for(x=g+7;f>>=g)),l>>>=7,f-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=no;break}for(;d--;)r.lens[r.have++]=k}}if(r.mode===no)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=no;break}if(r.lenbits=9,S={bits:r.lenbits},E=di(_i,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,E){e.msg="invalid literal/lengths set",r.mode=no;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},E=di(gi,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,E){e.msg="invalid distances set",r.mode=no;break}if(r.mode=Xi,t===bi)break e;case Xi:r.mode=qi;case qi:if(s>=6&&h>=258){e.next_out=a,e.avail_out=h,e.next_in=o,e.avail_in=s,r.hold=l,r.bits=f,ri(e,u),a=e.next_out,i=e.output,h=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,l=r.hold,f=r.bits,r.mode===Hi&&(r.back=-1);break}for(r.back=0;v=(R=r.lencode[l&(1<>>16&255,w=65535&R,!((g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>b)])>>>16&255,w=65535&R,!(b+(g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>>=b,f-=b,r.back+=b}if(l>>>=g,f-=g,r.back+=g,r.length=w,0===v){r.mode=Qi;break}if(32&v){r.back=-1,r.mode=Hi;break}if(64&v){e.msg="invalid literal/length code",r.mode=no;break}r.extra=15&v,r.mode=Vi;case Vi:if(r.extra){for(x=r.extra;f>>=r.extra,f-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Gi;case Gi:for(;v=(R=r.distcode[l&(1<>>16&255,w=65535&R,!((g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>b)])>>>16&255,w=65535&R,!(b+(g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>>=b,f-=b,r.back+=b}if(l>>>=g,f-=g,r.back+=g,64&v){e.msg="invalid distance code",r.mode=no;break}r.offset=w,r.extra=15&v,r.mode=$i;case $i:if(r.extra){for(x=r.extra;f>>=r.extra,f-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=no;break}r.mode=Ji;case Ji:if(0===h)break e;if(d=u-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=no;break}d>r.wnext?(d-=r.wnext,p=r.wsize-d):p=r.wnext-d,d>r.length&&(d=r.length),_=r.window}else _=i,p=a-r.offset,d=r.length;d>h&&(d=h),h-=d,r.length-=d;do{i[a++]=_[p++]}while(--d);0===r.length&&(r.mode=qi);break;case Qi:if(0===h)break e;i[a++]=r.length,h--,r.mode=qi;break;case eo:if(r.wrap){for(;f<32;){if(0===s)break e;s--,l|=n[o++]<=o.wsize?(jt(o.window,t,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((i=o.wsize-o.wnext)>n&&(i=n),jt(o.window,t,r-n,i,o.wnext),(n-=i)?(jt(o.window,t,r-n,n,0),o.wnext=n,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whaveyo)throw new TypeError("Bad argument");this.mode=e,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}function ko(e,t){for(var r=0;r15&&(a=2,n-=16),i<1||i>vn||r!==gn||n<8||n>15||t<0||t>9||o<0||o>pn)return Hn(e,sn);8===n&&(n=9);var s=new $n;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=n,s.w_size=1<So.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBitsSo.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.levelSo.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevelSo.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=So.Z_FILTERED&&e.strategy!=So.Z_HUFFMAN_ONLY&&e.strategy!=So.Z_RLE&&e.strategy!=So.Z_FIXED&&e.strategy!=So.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!$(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new So.Zlib(t);var r=this;this._hadError=!1,this._binding.onerror=function(e,t){r._binding=null,r._hadError=!0;var n=new Error(e);n.errno=t,n.code=So.codes[t],r.emit("error",n)};var n=So.Z_DEFAULT_COMPRESSION;"number"==typeof e.level&&(n=e.level);var i=So.Z_DEFAULT_STRATEGY;"number"==typeof e.strategy&&(i=e.strategy),this._binding.init(e.windowBits||So.Z_DEFAULT_WINDOWBITS,n,e.memLevel||So.Z_DEFAULT_MEMLEVEL,i,e.dictionary),this._buffer=new p(this._chunkSize),this._offset=0,this._closed=!1,this._level=n,this._strategy=i,this.once("end",this.close)}Object.keys(xo).forEach(function(e){xo[xo[e]]=e}),Be(Io,Ot),Io.prototype.params=function(e,t,r){if(eSo.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(t!=So.Z_FILTERED&&t!=So.Z_HUFFMAN_ONLY&&t!=So.Z_RLE&&t!=So.Z_FIXED&&t!=So.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+t);if(this._level!==e||this._strategy!==t){var n=this;this.flush(So.Z_SYNC_FLUSH,function(){n._binding.params(e,t),n._hadError||(n._level=e,n._strategy=t,r&&r())})}else de(r)},Io.prototype.reset=function(){return this._binding.reset()},Io.prototype._flush=function(e){this._transform(new p(0),"",e)},Io.prototype.flush=function(e,t){var r=this._writableState;if(("function"==typeof e||void 0===e&&!t)&&(t=e,e=So.Z_FULL_FLUSH),r.ended)t&&de(t);else if(r.ending)t&&this.once("end",t);else if(r.needDrain){var n=this;this.once("drain",function(){n.flush(t)})}else this._flushFlag=e,this.write(new p(0),"",t)},Io.prototype.close=function(e){if(e&&de(e),!this._closed){this._closed=!0,this._binding.close();var t=this;de(function(){t.emit("close")})}},Io.prototype._transform=function(e,t,r){var n,i=this._writableState,o=(i.ending||i.ended)&&(!e||i.length===e.length);if(null===!e&&!$(e))return r(new Error("invalid input"));o?n=So.Z_FINISH:(n=this._flushFlag,e.length>=i.length&&(this._flushFlag=this._opts.flush||So.Z_NO_FLUSH)),this._processChunk(e,n,r)},Io.prototype._processChunk=function(e,t,r){var n=e&&e.length,i=this._chunkSize-this._offset,o=0,a=this,s="function"==typeof r;if(!s){var h,l=[],f=0;this.on("error",function(e){h=e});do{var c=this._binding.writeSync(t,e,o,n,this._buffer,this._offset,i)}while(!this._hadError&&_(c[0],c[1]));if(this._hadError)throw h;var u=p.concat(l,f);return this.close(),u}var d=this._binding.write(t,e,o,n,this._buffer,this._offset,i);function _(h,c){if(!a._hadError){var u=i-c;if(function(e,t){if(!e)throw new Error(t)}(u>=0,"have should not go down"),u>0){var d=a._buffer.slice(a._offset,a._offset+u);a._offset+=u,s?a.push(d):(l.push(d),f+=d.length)}if((0===c||a._offset>=a._chunkSize)&&(i=a._chunkSize,a._offset=0,a._buffer=new p(a._chunkSize)),0===c){if(o+=n-h,n=h,!s)return!0;var g=a._binding.write(t,e,o,n,a._buffer,a._offset,a._chunkSize);return g.callback=_,void(g.buffer=e)}if(!s)return!1;r()}}d.buffer=e,d.callback=_},Be(Bo,Io),Be(zo,Io),Be(Lo,Io),Be(To,Io),Be(Mo,Io),Be(Co,Io),Be(Do,Io);var Po={codes:xo,createDeflate:function(e){return new Bo(e)},createInflate:function(e){return new zo(e)},createDeflateRaw:function(e){return new Mo(e)},createInflateRaw:function(e){return new Co(e)},createGzip:function(e){return new Lo(e)},createGunzip:function(e){return new To(e)},createUnzip:function(e){return new Do(e)},deflate:function(e,t,r){return"function"==typeof t&&(r=t,t={}),Ro(new Bo(t),e,r)},deflateSync:function(e,t){return Ao(new Bo(t),e)},gzip:function(e,t,r){return"function"==typeof t&&(r=t,t={}),Ro(new Lo(t),e,r)},gzipSync:function(e,t){return Ao(new Lo(t),e)},deflateRaw:function(e,t,r){return"function"==typeof t&&(r=t,t={}),Ro(new Mo(t),e,r)},deflateRawSync:function(e,t){return Ao(new Mo(t),e)},unzip:function(e,t,r){return"function"==typeof t&&(r=t,t={}),Ro(new Do(t),e,r)},unzipSync:function(e,t){return Ao(new Do(t),e)},inflate:function(e,t,r){return"function"==typeof t&&(r=t,t={}),Ro(new zo(t),e,r)},inflateSync:function(e,t){return Ao(new zo(t),e)},gunzip:function(e,t,r){return"function"==typeof t&&(r=t,t={}),Ro(new To(t),e,r)},gunzipSync:function(e,t){return Ao(new To(t),e)},inflateRaw:function(e,t,r){return"function"==typeof t&&(r=t,t={}),Ro(new Co(t),e,r)},inflateRawSync:function(e,t){return Ao(new Co(t),e)},Deflate:Bo,Inflate:zo,Gzip:Lo,Gunzip:To,DeflateRaw:Mo,InflateRaw:Co,Unzip:Do,Zlib:Io};export default class{constructor(e,t,r){this.SDKAPPID=e,this.EXPIRETIME=r,this.PRIVATEKEY=t}genTestUserSig(e){return this._isNumber(this.SDKAPPID)?this._isString(this.PRIVATEKEY)?this._isString(e)?this._isNumber(this.EXPIRETIME)?(console.log("sdkAppID="+this.SDKAPPID+" key="+this.PRIVATEKEY+" userID="+e+" expire="+this.EXPIRETIME),this.genSigWithUserbuf(e,this.EXPIRETIME,null)):(console.error("expireTime must be a number"),""):(console.error("userID must be a string"),""):(console.error("privateKey must be a string"),""):(console.error("sdkAppID must be a number"),"")}newBuffer(e,t){return p.from?p.from(e,t):new p(e,t)}unescape(e){return e.replace(/_/g,"=").replace(/\-/g,"/").replace(/\*/g,"+")}escape(e){return e.replace(/\+/g,"*").replace(/\//g,"-").replace(/=/g,"_")}encode(e){return this.escape(this.newBuffer(e).toString("base64"))}decode(e){return this.newBuffer(this.unescape(e),"base64")}base64encode(e){return this.newBuffer(e).toString("base64")}base64decode(e){return this.newBuffer(e,"base64").toString()}_hmacsha256(e,t,r,n){let i="TLS.identifier:"+e+"\n";i+="TLS.sdkappid:"+this.SDKAPPID+"\n",i+="TLS.time:"+t+"\n",i+="TLS.expire:"+r+"\n",null!=n&&(i+="TLS.userbuf:"+n+"\n");let o=te.HmacSHA256(i,this.PRIVATEKEY);return te.enc.Base64.stringify(o)}_utc(){return Math.round(Date.now()/1e3)}_isNumber(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)}_isString(e){return"string"==typeof e}genSigWithUserbuf(e,t,r){let n=this._utc(),i={"TLS.ver":"2.0","TLS.identifier":e,"TLS.sdkappid":this.SDKAPPID,"TLS.time":n,"TLS.expire":t},o="";if(null!=r){let a=this.base64encode(r);i["TLS.userbuf"]=a,o=this._hmacsha256(e,n,t,a)}else o=this._hmacsha256(e,n,t,null);i["TLS.sig"]=o;let a=JSON.stringify(i),s=Po.deflateSync(this.newBuffer(a)).toString("base64"),h=this.escape(s);return console.log("ret="+h),h}validate(e){let t=this.decode(e),r=Po.inflateSync(t);console.log("validate ret="+r)}}
diff --git a/src/TUIKit/index.ts b/src/TUIKit/index.ts
deleted file mode 100644
index f971bb1..0000000
--- a/src/TUIKit/index.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { genTestUserSig } from './debug';
-import Server from './server';
-import TUIComponents, { TUIChat, TUIConversation, TUIContact, TUISearch, TUIGroup } from './components';
-import TUIKit from './index.vue';
-import { hideTUIChatFeatures } from './components/TUIChat/config';
-
-const TUIChatKit = new Server();
-TUIChatKit.init();
-
-export { TUIKit, TUIChatKit, TUIComponents, TUIChat, TUIConversation, TUIContact, TUISearch, TUIGroup, hideTUIChatFeatures, genTestUserSig };
diff --git a/src/TUIKit/index.vue b/src/TUIKit/index.vue
deleted file mode 100644
index 75a7147..0000000
--- a/src/TUIKit/index.vue
+++ /dev/null
@@ -1,167 +0,0 @@
-
-
-
-
-
-
- {{ TUITranslateService.t(item.label) }}
-
-
-
-
-
-
-
-
-
-
- {{ TUITranslateService.t('欢迎使用腾讯云即时通信IM') }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/TUIKit/interface.ts b/src/TUIKit/interface.ts
deleted file mode 100644
index 43fa290..0000000
--- a/src/TUIKit/interface.ts
+++ /dev/null
@@ -1,325 +0,0 @@
-import { IConversationModel, IGroupModel, IMessageModel, Friend, FriendApplication } from '@tencentcloud/chat-uikit-engine';
-
-export interface ITUIComponents {
- TUIChat?: any;
- TUIConversation?: any;
- TUIContact?: any;
- TUISearch?: any;
- TUIGroup?: any;
- TUIProfile?: any;
- TUICallKit?: any;
- TUICallKitMini?: any;
- [propName: string]: any;
-}
-
-export interface ITUIPlugins {
- TUICallKit?: any;
- TUINotification?: any;
- [propName: string]: any;
-}
-
-export interface IEmojiGroup {
- type: string;
- emojiGroupID: number;
- url: string;
- list: string[];
-}
-
-export type IEmojiGroupList = IEmojiGroup[];
-
-export interface ISendMessagePayload {
- text?: string;
- file?: any;
- atUserList?: string[];
-}
-
-export interface ISendMessageParams {
- to?: string;
- conversationType?: string;
- payload?: ISendMessagePayload;
- cloudCustomData?: any;
-}
-
-export interface ITransferListItem {
- isDisabled?: boolean;
- avatar?: string;
- nick?: string;
- userID?: string;
- [propName: string]: any;
-}
-
-export interface ICustomMessagePayload {
- businessID?: string;
- // Evaluation-related custom message fields
- score?: number;
- comment?: string;
- // Order & Hyperlink Class Custom Message Common Fields
- link?: string;
- // Order-related custom message fields
- imageUrl?: string;
- title?: string;
- description?: string;
- price?: string;
- // Hyperlink custom message related fields
- text?: string;
-}
-
-export interface IGroupApplication {
- applicant: string;
- applicantNick: string;
- groupID: string;
- groupName: string;
- applicationType: 0 | 2; // 0 - group application, 2 - group invite
- userID: string;
- note: string;
- [propName: string]: any;
-}
-
-export interface IGroupApplicationUserProfile {
- userID: string;
- avatar: string;
- nick: string;
- actionStatus?: string;
- [propName: string]: any;
-}
-
-export type IGroupApplicationListItem = IGroupApplication;
-
-export interface IFriendType {
- userID?: string;
- remark?: string;
- groupList?: any[];
- source?: string;
- wording?: string;
- profile?: IFriendProfile;
- friendCustomFriend?: Array>;
-}
-
-export interface IFriendProfile {
- userID?: string;
- avatar?: string;
- nick?: string;
- [propName: string]: unknown;
-}
-
-export interface IGroupMember {
- userID?: string;
- avatar?: string;
- nick?: string;
- role?: string;
- joinTime?: number;
- nameCard?: string;
- muteUntil?: string;
- memberCustomField?: Array>;
-}
-
-export interface IGroupSelfInfo {
- role?: string;
- messageRemindType?: string;
- joinTime?: number;
- nameCard?: string;
- userID?: string;
- memberCustomField?: Array>;
-}
-
-export interface IUserProfile {
- userID: string;
- nick: string;
- gender: string;
- birthday: number;
- location: string;
- selfSignature: string;
- allowType: string;
- language: number;
- avatar: string;
- messageSettings: number;
- adminForbidType: string;
- level: number;
- role: number;
- lastUpdatedTime: number;
- profileCustomField: Array>;
-}
-
-export interface IContactListItem {
- title: string;
- list: any[];
- key: string;
- unreadCount?: number;
-}
-
-export interface IContactList {
- friendApplicationList: IContactListItem;
- blackList: IContactListItem;
- groupList: IContactListItem;
- friendList: IContactListItem;
- [key: string]: IContactListItem;
-}
-
-export interface IContactSearchResult {
- user: {
- label: string;
- list: any[];
- };
- group: {
- label: string;
- list: any[];
- };
-}
-
-export interface IBlackListUserItem {
- userID: string;
- nick?: string;
- avatar?: string;
-}
-
-export type IContactInfoType = Friend | FriendApplication | IGroupModel | IBlackListUserItem;
-
-export interface IContactInfoMoreItem {
- key: string;
- label: string;
- data: any;
- labelPosition?: string; // label position:"left"/"top"
- editable?: boolean; // indicates whether it can be edited
- editType?: string; // edit type: "input"/"switch"/"textarea"
- editing?: boolean; // Current editing status: true: "Editing" / false:"Not editing"
- editSubmitHandler?: () => void; // edit submit callback
-}
-
-export interface IContactInfoButton {
- key: string;
- label: string; // button label
- type: string; // button type: "cancel"/"submit"
- onClick: () => void; // button click callback
-}
-
-export interface ISearchCloudMessageResult {
- totalCount: number;
- searchResultList: ISearchResultListItem[];
- cursor: string;
-}
-
-export interface ISearchResultListItem {
- conversation: IConversationModel;
- messageCount: number;
- messageList: IMessageModel[];
- type?: string;
-}
-
-export interface IImageMessageContent {
- showName?: string;
- url?: string;
- width?: number;
- height?: number;
-}
-
-export interface IVideoMessageContent {
- showName: string; // video message sender name
- url: string; // video url
- snapshotUrl: string; // video snapshot url
- snapshotWidth: number; // video snapshot width
- snapshotHeight: number; // video snapshot height
-}
-
-export interface ITextMessageContent {
- text: string;
-}
-
-export interface IMergeMessageContent {
- abstractList: string[];
- compatibleText: string;
- downloadKey: string;
- layersOverLimit: boolean;
- messageList: Array<{
- avatar: string;
- ID: string;
- cloudCustomData: string;
- from: string;
- messageBody: Array<{
- type: string;
- payload: Record;
- }>;
- messageReceiver: string;
- messageRandom: number;
- messageSender: string;
- messageSequence: number;
- messageTime: number;
- nick: string;
- receiverUserID: string;
- time: number;
- }>;
- pbDownloadKey: string;
- showName: string;
- title: string;
- version: number;
-}
-
-export interface IFileMessageContent {
- name: string;
- url: string;
- size: number;
-}
-
-export interface IAudioMessageContent {
- showName: string;
- url: string;
- second: number;
-}
-
-export interface ICustomMessageContent {
- showName: string;
- custom: string;
- businessID: string;
-}
-
-export interface IAudioContext {
- src: string | undefined;
- startTime: number;
- duration: number;
- play: () => void;
- pause: () => void;
- stop: () => void;
- destroy: () => void;
- onPlay: (callback: (...args: any[]) => void) => void;
- onPause: (callback: (...args: any[]) => void) => void;
- onStop: (callback: (...args: any[]) => void) => void;
- onEnded: (callback: (...args: any[]) => void) => void;
- onError: (callback: (...args: any[]) => void) => void;
-}
-
-export interface ITipTapEditorContent {
- type: 'text' | 'image' | 'video' | 'file';
- payload: {
- text?: string;
- file?: File;
- atUserList?: string[];
- };
-}
-
-export interface IUserStatus {
- statusType: number;
- customStatus: string;
-}
-export interface IUserStatusMap {
- [userID: string]: IUserStatus;
-}
-
-export interface ITranslateInfo {
- conversationID: string;
- messageID: string;
- visible: boolean;
-}
-
-export interface IConvertInfo {
- conversationID: string;
- messageID: string;
- visible: boolean;
-}
-
-export interface IChatResponese {
- code: string;
- data: T;
-}
-
-export type ToolbarDisplayType = 'emojiPicker' | 'tools' | 'none';
-
-export type InputDisplayType = 'editor' | 'audio';
diff --git a/src/TUIKit/locales/en/TUIChat.ts b/src/TUIKit/locales/en/TUIChat.ts
deleted file mode 100644
index 7ff1d34..0000000
--- a/src/TUIKit/locales/en/TUIChat.ts
+++ /dev/null
@@ -1,158 +0,0 @@
-const TUIChat = {
- '【安全提示】本 APP 仅用于体验腾讯云即时通信 IM 产品功能,不可用于业务洽谈与拓展。请勿轻信汇款、中奖等涉及钱款的信息,勿轻易拨打陌生电话,谨防上当受骗。':
- "【Security Tips】This APP is only used to experience the functions of Tencent Cloud Instant Messaging products, and cannot be used for business negotiation and expansion. Don't trust money-related information such as remittances and lottery wins, don't make unfamiliar phone calls easily, and beware of being deceived.",
- '按Enter发送,Ctrl+Enter换行': 'Press Enter to send a message and Ctrl+Enter to start a new line',
- '表情': '[Face]',
- '查看更多': 'View more',
- '撤回': 'Recall',
- '撤回了一条消息': ' recalled a message',
- '打开': 'Open',
- '单击下载': 'Click download',
- '点此投诉': 'Complain',
- '点击处理': 'Click action',
- '对方正在输入': 'Typing...',
- '发起群视频': 'Make group video call',
- '发起群语音': 'Make group voice call',
- '发起通话': 'Start Call',
- '发送失败': 'send failed',
- '复制': 'Copy',
- '复制成功': 'Copied to clipboard',
- '该消息不存在': 'The message does not exist',
- '关闭阅读状态': 'Read status closed',
- '管理员开启全员禁言': 'The admin enables Mute All',
- '欢迎使用TUICallKit': 'Welcome to TUICallKit',
- '回到最新位置': 'Back to the latest location',
- '回复': 'Reply',
- '回复详情': 'Replies',
- '集成TUICallKit': ' Integrate TUICallKit ',
- '检测到您暂未集成TUICallKit,无法体验音视频通话功能':
- 'It is detected that you have not integrated TUI CallKit yet, so you cannot experience the audio and video call. ',
- '结束群聊': 'Edit Group Call',
- '进行体验': 'to experience.',
- '经度': 'Longitude',
- '拒绝': 'Reject',
- '拒绝通话': 'Decline Call',
- '开通腾讯实时音视频服务': 'Integration Tencent Real-Time Communication',
- '聊天记录': '[Chat history]',
- '描述': 'Description',
- '内容包含敏感词汇': 'Content contains sensitive words',
- '您': 'You',
- '您当前购买使用的套餐包暂未开通此功能': 'The package you purchased does not support this ability.',
- '您当前购买使用的套餐包暂未开通群消息已读回执功能': 'The package you purchased does not support the read receipt of group messages.',
- '您当前购买使用的套餐包暂未开通在线用户列表功能': 'The package you purchased does not support the online user list.',
- '您已被管理员禁言': 'You have been muted by the admin',
- '您有': 'You have',
- '请点击': 'Please click',
- '请输入消息': 'Enter a message',
- '取消': 'Cancel',
- '取消通话': 'Cancel Call',
- '全部已读': 'All read',
- '确定': 'Submit',
- '确认重发该消息?': 'Confirm to resend the message?',
- '人关闭阅读状态': ' read status closed',
- '人未读': ' unread',
- '人已读': ' read',
- '删除': 'Delete',
- '涉及敏感内容': 'Sensitive content',
- '申请加入': 'Application for join in',
- '视频': '[video]',
- '视频通话': 'Video Call',
- '条回复': 'replies',
- '条入群申请': 'Item group application',
- '条新消息': ' new messages',
- '通话时长': 'Duration',
- '同意': 'Agree',
- '图片': '[Image]',
- '图片消息失败,无效的图片格式': 'Image message failed, invalid image format.',
- '纬度': 'Latitude',
- '未读': 'Unread',
- '位置': '[Location]',
- '文件': '[File]',
- '文件不存在,请检查文件路径是否正确': 'The file does not exist, please check if the file path is correct.',
- '文件大小超出了限制,如果上传文件,最大限制是100MB': 'The file size exceeds the limit; if uploading a file, the maximum limit is 100MB.',
- '文件消息失败,禁止发送违规封禁的文件': 'File message failed, sending prohibited and banned files is not allowed.',
- '我': 'I',
- '无法查看': 'unable to view',
- '无法定位到原消息': 'Unable to navigate to the original message',
- '无法收听': 'unable to listen',
- '正在加载': 'Loading...',
- '加载结束': 'Load end',
- '无应答': 'No Answer',
- '系统消息': 'System message',
- '消息': '[message]',
- '消息或者资料中文本存在敏感内容,发送失败': 'Sensitive content found in the message or information text, sending failed.',
- '消息详情': 'Message Detail',
- '消息长度超出限制,消息长度不要超过12K': 'Message length exceeds the limit; please keep the message length under 12K.',
- '消息中图片存在敏感内容,发送失败': ' Sensitive content is found in the picture in the message, sending failed.',
- '选择提醒的人': 'Select Contact',
- '已读': 'Read',
- '已过撤回时限': 'Withdrawal deadline has passed',
- '已接听': 'Answered',
- '已拒绝': 'Rejected',
- '已同意': 'Approved',
- '引用': 'Reference',
- '引用失败': 'quote failed',
- '语音': '[Voice]',
- '语音通话': 'Voice Call',
- '重新编辑': 'Re-edit',
- '重新发送': 'Resend',
- '转发': 'Forward',
- '翻译': 'Translate',
- '转文字': 'Convert',
- '隐藏': 'Hidden',
- '转发给': 'Forward to',
- '自定义': '[custom message]',
- '自定义消息': 'Custom message',
- '腾讯云 IM': 'Tencent Cloud Chat',
- '空': 'Empty',
- '文本包含本地审核拦截词': 'Text contains local moderation blocking words',
- '按住说话': 'Hold to speak',
- '抬起发送': 'Release to send',
- '抬起取消': 'Release to cancel',
- '正在录音': 'Recording',
- '继续上滑可取消': 'Continue to swipe to cancel',
- '松开手指 取消发送': 'Release to cancel',
- '此机型暂不支持复制功能': 'This model does not support the copy',
- '请开通翻译功能': 'Please open the translation feature',
- '请开通语音转文字功能': 'Please open the convert feature',
- '翻译中': 'Translating',
- '转换中': 'Converting',
- '由IM提供翻译支持': 'support by IM',
- '所有人': 'All',
- '已达到表情回应上限数量': 'You have reached the max reaction limit',
- '等': 'and others',
- '人': 'users',
- '返回': 'Back',
- '关闭': 'Close',
- '多选': 'Select',
- '合并转发': 'Combine Forward',
- '逐条转发': 'One-By-One Forward',
- '未选择消息': 'No message selected',
- '[草稿]': '[Drafts]',
- '[消息]': '[Message]',
- '[文本]': '[Text]',
- '[自定义消息]': '[Custom Message]',
- '[图片]': '[Image]',
- '[音频]': '[Voice]',
- '[语音]': '[Voice]',
- '[视频]': '[Video]',
- '[文件]': '[File]',
- '[位置]': '[Location]',
- '[地理位置]': '[Location]',
- '[动画表情]': '[Animated Sticker]',
- '[群提示]': '[Group Tip]',
- '[群提示消息]': '[Group Notification]',
- '[聊天记录]': '[Chat History]',
- '[机器人自定义消息]': '[Robot Custom Message]',
- '引用内容已撤回': 'The quoted message has been withdrawn',
- '群聊的聊天记录': 'Chat history for Group Chat',
- '和': 'and',
- '的聊天记录': 'chat history',
- '请升级IMSDK到v2.10.1或更高版本查看此消息': 'Please upgrade IMSDK to v2.10.1 or higher to view this message',
- '该群聊已被解散': 'The group has been dismissed',
- '您已被管理员移出群聊': 'You have been removed from the group by the admin.',
- '您已退出该群聊': 'You have left the group.',
- '您已被禁止聊天': 'you have been forbidden to speak'
-};
-
-export default TUIChat;
diff --git a/src/TUIKit/locales/en/TUIContact.ts b/src/TUIKit/locales/en/TUIContact.ts
deleted file mode 100644
index c203b66..0000000
--- a/src/TUIKit/locales/en/TUIContact.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-const TUIContact = {
- '群聊通知': 'Group Chat Notifications',
- '系统通知': 'System Notifications',
- '我的群聊': 'My Group Chats',
- '输入ID': 'Enter a groupID/userID',
- '群名称': 'Group name',
- '群ID': 'Group ID',
- '加入群聊': 'Join group chat',
- '解散群聊': 'Disband group chat',
- '退出群聊': 'Quit group chat',
- '进入群聊': 'Enter group chat',
- '群类型': 'Group type',
- '请填写验证信息': 'Enter the verification info',
- '申请加入': 'Request to join',
- '已申请': 'Requested',
- '接受': 'Accept',
- '拒绝': 'Refuse',
- '已处理': 'Handled',
- '添加群聊': 'add group chat',
- '已加入': 'joined',
- '该群组不存在': 'The group does not exist',
- '加群': 'join',
- '我的好友': 'Friend',
- '发送消息': 'Send Message',
- '个性签名': 'Signature',
- '等待管理员同意': 'Successful application, waiting for the administrator to agree to join the group application',
- '加群成功': 'Join the group successfully',
- '您已是群成员': 'You are already a group member',
- '新的联系人': 'New Contacts',
- '黑名单': 'Blocked List',
- '无搜索结果': 'No Result',
- '客服号': 'Customer Service List',
- 'ID': 'ID',
- '联系人': 'User',
- '群聊': 'Group',
- '添加好友/群聊': 'Add friend/group',
- '备注名': 'remark',
- '加入黑名单': 'block',
- '删除好友': 'Delete friend',
- '等待验证': 'waiting for verification',
- '验证信息': 'verification info',
- '发送申请': 'Send application',
- '加入直播群': 'Join AVChatRoom',
- '同意': 'Agree',
- '删除好友成功': 'Delete friend success',
- '删除好友失败': 'Delete friend failed',
- '申请已发送': 'Application has been sent',
- '申请发送失败': 'Application failed to send',
- '进入会话失败': 'Failed to enter session',
- '添加好友成功': 'Add friend success',
- '同意好友申请失败': 'Failed to agree to friend request',
- '拒绝成功': 'Reject friend request success',
- '拒绝好友申请失败': 'Failed to reject friend request',
- '解散群聊成功': 'Dismissed group success',
- '解散群聊失败': 'Dismissed group failed',
- '退出群组成功': 'Quit group success',
- '退出群组失败': 'Quit group failed',
- '申请入群失败': 'Application to join the group failed',
- '加入黑名单失败': 'Add to blocklist failed',
- '移除黑名单失败': 'Remove from blocklist failed',
- '修改备注失败: 备注长度不得超过 96 字节': 'Failed to modify the remark: the length of the remark cannot exceed 96 bytes',
- '修改备注成功': 'Remark modified success',
- '修改备注失败': 'Remark modified failed'
-};
-
-export default TUIContact;
diff --git a/src/TUIKit/locales/en/TUIConversation.ts b/src/TUIKit/locales/en/TUIConversation.ts
deleted file mode 100644
index e64a293..0000000
--- a/src/TUIKit/locales/en/TUIConversation.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-const TUIConversation = {
- '发起会话': 'Start chat',
- '发起单聊': 'New one-to-one chat',
- '发起群聊': 'New group chat',
- '请输入userID': 'Enter a user ID',
- '删除会话': 'Delete',
- '删除后,将清空该聊天的消息记录': 'Once deleted, all chat messages will be cleared.',
- '删除后,将清空该群聊的消息记录': 'Once deleted, group chat history will be cleared.',
- '系统通知': 'System notification',
- '置顶会话': 'Pin',
- '取消置顶': 'Unpin',
- '消息免打扰': 'Mute Notifications',
- '取消免打扰': 'Enable Notifications',
- '有人@我': 'Someone @ me',
- '@所有人': '@All',
- '条': 'strip',
- '我': 'me',
- '网络异常,请您检查网络设置': 'Network exception, please check the network settings',
- '您已被群管理员移出群聊': 'You have been removed from the group chat by the group administrator',
- '该群聊已被解散': 'The group chat has been disband',
- '您已退出该群聊': 'You have left the group chat'
-};
-
-export default TUIConversation;
diff --git a/src/TUIKit/locales/en/TUIGroup.ts b/src/TUIKit/locales/en/TUIGroup.ts
deleted file mode 100644
index b7f0e0e..0000000
--- a/src/TUIKit/locales/en/TUIGroup.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-const TUIGroup = {
- '输入groupID搜索': 'Enter groupId search',
- '群名称': 'Group name',
- '群ID': 'Group ID',
- '加入群聊': 'Join',
- '解散群聊': 'Dissolution',
- '退出群聊': 'Quit',
- '群类型': 'Group type',
- '请填写验证信息': 'Please fill in the verification information',
- '申请加入': 'Apply Join',
- '群公告': 'Group notice',
- '群成员': 'Group member',
- '群管理': 'Manage group',
- '好友工作群': 'Work',
- '陌生人社交群': 'Public',
- '临时会议群': 'Meeting',
- '直播群': 'AVChatRoom',
- '社群': 'Community',
- '自由加入': 'Join freely',
- '需要验证': 'Require approval',
- '禁止加群': 'Disallow group joining',
- '人': '',
- '确认': 'Confirm',
- '群头像': 'Group profile photo',
- '加群方式': 'Group joining mode',
- '转让群组': 'Transfer ownership',
- '退出群组': 'Quit group',
- '群管理员': 'Group admin',
- '全员禁言': 'Mute All',
- '全员禁言开启后,只允许群主和管理员发言。': 'If Mute All is enabled, only the group owner and admin can speak.',
- '单独禁言人员': 'Mute a member',
- '删除成员': 'Remove member',
- '确定从群聊中删除该成员?': 'Are you sure you want to remove this member from the group chat?',
- '确定从群聊中删除所选成员?': 'Are you sure you want to remove selected member(s) from the group chat?',
- '暂无公告': 'No notice',
- '发布': 'Post',
- '编辑': 'Edit',
- '查看更多': 'View more',
- '管理员': 'Admin',
- '群主': 'Group owner',
- '我': 'me',
- '添加成员': 'Add member',
- '新增管理员': 'Add admin',
- '移除管理员': 'Revoke admin',
- '新增禁言用户': 'Add muted member',
- '移除禁言用户': 'Remove muted member',
- '修改群聊名称': 'Edit group name',
- '修改群聊名称后,将在群内通知其他成员': 'After modifying the group chat name, other members will be notified in the group',
- '仅限中文、字母、数字和下划线,2-20个字': 'Chinese, letters, numbers and underscores only, 2-20 words',
- '请先注册 TUIGroup 模块': 'Please register the TUIGroup module first',
- '该用户不存在': 'The user does not exist',
- '该用户不在群组内': 'The user is not in the group',
- '添加群聊': 'Add a group chat',
- '该群组不存在': 'The group does not exist',
- '创建群聊,请注册 TUIGroup 模块': 'To create a group chat, please register the TUIGroup module',
- '创建成功': 'Creation successful',
- '发起多人会话(群聊)': 'New group chat',
- '选填': 'Optional',
- '取消': 'Cancel',
- '创建': 'Create',
- '类似普通微信群,创建后仅支持已在群内的好友邀请加群,且无需被邀请方同意或群主审批。详见':
- 'Similar to a WeChat group. Users can join the group only via invitation by existing members. The invitation does not need to be agreed by the invitee or approved by the group owner. See the documentation for details.',
- '类似 QQ 群,创建后群主可以指定群管理员,用户搜索群 ID 发起加群申请后,需要群主或管理员审批通过才能入群。详见':
- 'Similar to a QQ group. After a public group is created, the group owner can designate group admins. To join the group, a user needs to search the group ID and send a request, which needs to be approved by the group owner or an admin before the user can join the group. See the documentation for details. ',
- '创建后可以随意进出,且支持查看入群前消息;适合用于音视频会议场景、在线教育场景等与实时音视频产品结合的场景。详见':
- 'After the group is created, a user can join and quit the group freely and can view the messages sent before joining the group. It is suitable for scenarios that integrate Tencent Real-Time Communication (TRTC), such as audio and video conferences and online education. See the documentation for details.',
- '创建后可以随意进出,没有群成员数量上限,但不支持历史消息存储;适合与直播产品结合,用于弹幕聊天场景。详见':
- 'After creation, a user can join and quit the group freely. The group can have an unlimited number of members, but it does not store message history. It can be combined with Live Video Broadcasting (LVB) to support on-screen comment scenarios. See the documentation for details. ',
- '创建后可以随意进出,最多支持100000人,支持历史消息存储,用户搜索群 ID 发起加群申请后,无需管理员审批即可进群。详见':
- 'After creation, you can enter and leave at will, support up to 100,000 people, support historical message storage, and after users search for group ID and initiate a group application, they can join the group without administrator approval. See product documentation for details. ',
- '产品文档': 'product documentation',
- '设置群名称': 'Group name',
- '请输入群名称': 'Enter the group name',
- '设置群ID': 'Group ID',
- '请输入群ID': 'Enter the group ID',
- '选择群类型': 'Group type',
- '陌生人社交群(Public)': 'Stranger social group (Public)',
- '临时会议群(Meeting)': 'Temporary meeting group (Meeting)',
- '好友工作群(Work)': 'Friends work group (Work)',
- '直播群(AVChatroom)': 'Live Streaming Group (AVChatroom)',
- '社群(Community)': 'Community(Community)',
- '群组创建成功': 'Create group success',
- '群组解散成功': 'Dismiss group success',
- '禁言设置成功': 'Mute all success',
- '取消禁言成功': 'Remove mute success',
- '群名称不能为空': 'Group name cannot be empty',
- '群名称修改成功': 'Group name modified success',
- '群公告字数超出限制,最大长度为150': 'The number of characters in the group announcement exceeds the limit, the maximum length is 150'
-};
-
-export default TUIGroup;
diff --git a/src/TUIKit/locales/en/TUISearch.ts b/src/TUIKit/locales/en/TUISearch.ts
deleted file mode 100644
index 473af5a..0000000
--- a/src/TUIKit/locales/en/TUISearch.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-const TUISearch = {
- 搜索: 'Search',
- 全部: 'All',
- 联系人: 'Contacts',
- 群聊: 'Groups',
- 聊天记录: 'Chat History',
- 文本: 'Text',
- 文件: 'File',
- 其他: 'Other',
- '图片/视频': 'Image/Video',
- 选择时间: 'Select time',
- 今天: 'Today',
- 近三天: 'Nearly three days',
- 近七天: 'Nearly seven days',
- 查看更多: 'View more ',
- 条相关: ' related ',
- 条与: ' related to ',
- 相关的: 'keywords',
- 进入聊天: 'enter',
- 定位到聊天位置: 'Navigate to the chat position',
- 搜索会话内容: 'Search in conversation',
- 查看更多历史记录: 'View more history message',
- 暂无搜索结果: 'No Results',
- 结果: 'results',
- 取消: 'Cancel',
- '[文本]': '[Text Message]',
- '[图片]': '[Image Message]',
- '[语音]': '[Audio Message]',
- '[视频]': '[Video Message]',
- '[文件]': '[File Message]',
- '[自定义消息]': '[Custom Message]',
- '[系统消息]': '[System Message]',
- '[合并消息]': '[Merged Message]',
- '[位置消息]': '[Position Message]',
- '消息云端搜索失败:': 'Message cloud search failed: ',
- '查找联系人失败:': 'Failed to find contact: ',
- '查找群聊失败:': 'Failed to find group: ',
- '进入会话失败': 'Failed to enter conversation'
-};
-
-export default TUISearch;
diff --git a/src/TUIKit/locales/en/component.ts b/src/TUIKit/locales/en/component.ts
deleted file mode 100644
index 642f14e..0000000
--- a/src/TUIKit/locales/en/component.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-const component = {
- '取消': 'Cancel',
- '完成': 'Done',
- '已选中': 'Selected',
- '人': '',
- '保存': 'Save',
- '请输入userID': 'Enter a userID',
- '请输入groupID': 'Enter a groupID',
- '确定': 'submit',
- '全选': 'All',
- '已在群聊中': 'exists',
- '查看更多': 'More',
- '图片 url 不存在': 'Image url does not exist',
- '已取消': 'Cancelled',
- '获取权限失败': 'Failed to obtain permission',
- '已保存至相册': 'Saved to album',
- '图片下载失败': 'Image download failed',
- '暂不支持下载此类型图片': 'Downloading this type of pictures is not supported yet'
-};
-
-export default component;
diff --git a/src/TUIKit/locales/en/emoji.ts b/src/TUIKit/locales/en/emoji.ts
deleted file mode 100644
index e0c2973..0000000
--- a/src/TUIKit/locales/en/emoji.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import { default as Emoji } from '../../components/TUIChat/emoji-config/locales/en';
-export default Emoji;
diff --git a/src/TUIKit/locales/en/evaluate.ts b/src/TUIKit/locales/en/evaluate.ts
deleted file mode 100644
index b3a8ebd..0000000
--- a/src/TUIKit/locales/en/evaluate.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-const Evaluate = {
- '请对本次服务进行评价': 'Please rate this service',
- '提交评价': 'Feedback',
- '服务评价工具': 'Service rate tool',
- '使用': 'Build with',
- '自定义消息': 'Custom message',
- '搭建': '',
- '星': 'Star'
-};
-
-export default Evaluate;
diff --git a/src/TUIKit/locales/en/index.ts b/src/TUIKit/locales/en/index.ts
deleted file mode 100644
index 8655991..0000000
--- a/src/TUIKit/locales/en/index.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import TUIChat from './TUIChat';
-import TUIConversation from './TUIConversation';
-import TUIGroup from './TUIGroup';
-import TUIContact from './TUIContact';
-import TUISearch from './TUISearch';
-
-import message from './message';
-import component from './component';
-import time from './time';
-
-import Words from './words';
-import Evaluate from './evaluate';
-import Emoji from './emoji';
-
-const messages = {
- en: {
- 取消: 'Cancel',
- 发送: 'Send',
- 系统通知: 'System notification',
- 关闭: 'Close',
- 确定: 'Save',
- 开始时间: 'Start Date',
- 结束时间: 'End Date',
- 消息: 'Messages',
- 通讯录: 'Contacts',
- 欢迎使用腾讯云即时通信IM: 'Welcome to Tencent Cloud Chat',
- TUIChat,
- TUIConversation,
- TUIGroup,
- TUIContact,
- message,
- component,
- time,
- Evaluate,
- Words,
- TUISearch,
- Emoji
- }
-};
-
-export default messages;
diff --git a/src/TUIKit/locales/en/message.ts b/src/TUIKit/locales/en/message.ts
deleted file mode 100644
index 4db6fe8..0000000
--- a/src/TUIKit/locales/en/message.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-const message = {
- 'tip': {
- '群成员': 'group members',
- '加入群组': 'joined the group',
- '退出群组': 'left the group',
- '被': 'by',
- '踢出群组': 'was kicked out of the group',
- '成为管理员': 'was set as an admin',
- '被撤销管理员': 'was revoked',
- '被禁言': ' was muted',
- '被取消禁言': 'cancel the prohibition',
- '群提示消息': 'group prompt message',
- '管理员': 'The admin',
- '开启全员禁言': 'enabled Mute All',
- '取消全员禁言': 'disabled Mute All',
- '成为新的群主': 'became the new group owner',
- '修改群名为': 'changed the group name to',
- '发布新公告': 'posted a new notice',
- '把群公告修改为': 'changed the group notice to',
- '申请加入群组': 'requested to join the group',
- '成功加入群组': 'Successfully joined the group',
- '被拒绝': 'The request to join the group was refused',
- '你被管理员': 'You',
- '群': 'group',
- '解散': 'disbanded',
- '创建群': 'created the group',
- '邀请你加群': 'invite you to join the group',
- '你退出群组': 'You left the group',
- '你被': 'You were',
- '设置为群': 'set as group',
- '的管理员': 'as an admin',
- '撤销群': 'revoked',
- '的管理员身份': 'admin role of the group',
- '同意加群': 'agreed to join the group',
- '拒接加群': 'refused to join the group',
- '自定义群系统通知': 'Custom group system notification'
- },
- 'custom': {
- '自定义消息': 'Custom message',
- '通话时长': 'Call duration',
- '通话结束': 'Call End',
- '切换语音通话': 'Switch voice call',
- '切换视频通话': 'Switch video call',
- '发起通话': 'Start a call',
- '取消通话': 'Cancel',
- '已接听': 'Answered',
- '拒绝通话': 'Decline',
- '无应答': 'No answer',
- '已取消': 'Canceled',
- '对方已取消': 'Call canceled by caller',
- '已拒绝': 'Declined',
- '对方已拒绝': 'Call declined by user',
- '对方忙线中': 'Line busy',
- '忙线未接听': ' Line busy. Call not received.',
- '对方无应答': "Call wasn't answered",
- '超时无应答': 'Call not answered',
- '对本次服务评价': 'Rate this service',
- '查看详情>>': 'View details >>'
- }
-};
-
-export default message;
diff --git a/src/TUIKit/locales/en/time.ts b/src/TUIKit/locales/en/time.ts
deleted file mode 100644
index 2dc874e..0000000
--- a/src/TUIKit/locales/en/time.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-const time = {
- '周': 'week(s) ',
- '天': 'day(s)',
- '小时': 'hour(s) ',
- '分钟': 'minute(s)',
- '刚刚': 'Just now',
- '前': ' ago',
- '昨天': 'Yesterday',
- '星期一': 'Monday',
- '星期二': 'Tuesday',
- '星期三': 'Wednesday',
- '星期四': 'Thursday',
- '星期五': 'Friday',
- '星期六': 'Saturday',
- '星期日': 'Sunday',
- '一月': 'January',
- '二月': 'February',
- '三月': 'March',
- '四月': 'April',
- '五月': 'May',
- '六月': 'June',
- '七月': 'July',
- '八月': 'August',
- '九月': 'September',
- '十月': 'October',
- '十一月': 'November',
- '十二月': 'December',
- '一': 'Mon',
- '二': 'Tues',
- '三': 'Wed',
- '四': 'Thur',
- '五': 'Fri',
- '六': 'Sat',
- '日': 'Sun'
-};
-
-export default time;
diff --git a/src/TUIKit/locales/en/words.ts b/src/TUIKit/locales/en/words.ts
deleted file mode 100644
index ebf7a3b..0000000
--- a/src/TUIKit/locales/en/words.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-const Words = {
- '请对本次服务进行评价': 'Please rate this service',
- '提交评价': 'Feedback',
- '常用语-快捷回复工具': 'Common Expressions - Quick Reply Tool',
- '使用': 'Build with',
- '自定义消息': 'Custom message',
- '搭建': '',
- '在吗?在吗?在吗?重要的话说三遍。': 'Are you there? ',
- '好久没聊天了,快来和我说说话~': 'It’s been a long time. How about you?',
- '好的,就这么说定了。': "Okay. It's a deal.",
- '感恩的心,感谢有你。': 'So grateful! ',
- '糟糕!是心动的感觉!': 'Oh, no. Flipped.',
- '心疼地抱抱自己,我太难了!': 'Give myself a warm hug. ',
- '没关系,别在意,事情过去就过去了。': 'Take it easy.',
- '早上好,今天也是让人期待的一天呢!': 'Good morning. Have a wonderful day.',
- '熬夜有什么用,又没人陪你聊天,早点休息吧。': "It's better to go to bed early."
-};
-
-export default Words;
diff --git a/src/TUIKit/locales/index.ts b/src/TUIKit/locales/index.ts
deleted file mode 100644
index aab33bc..0000000
--- a/src/TUIKit/locales/index.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import en from './en';
-import zh_cn from './zh_cn';
-import zh_tw from './zh_tw';
-
-export interface ILanguageResources {
- [key: string]: string | ILanguageResources;
-}
-
-const messages: Record = {
- ...en,
- ...zh_cn,
- ...zh_tw
-};
-
-export default messages;
diff --git a/src/TUIKit/locales/zh_cn/TUIChat.ts b/src/TUIKit/locales/zh_cn/TUIChat.ts
deleted file mode 100644
index 5f6bfba..0000000
--- a/src/TUIKit/locales/zh_cn/TUIChat.ts
+++ /dev/null
@@ -1,157 +0,0 @@
-const TUIChat = {
- '【安全提示】本 APP 仅用于体验腾讯云即时通信 IM 产品功能,不可用于业务洽谈与拓展。请勿轻信汇款、中奖等涉及钱款的信息,勿轻易拨打陌生电话,谨防上当受骗。':
- '【安全提示】本 APP 仅用于体验腾讯云即时通信 IM 产品功能,不可用于业务洽谈与拓展。请勿轻信汇款、中奖等涉及钱款的信息,勿轻易拨打陌生电话,谨防上当受骗。',
- '按Enter发送,Ctrl+Enter换行': '按Enter发送,Ctrl+Enter换行',
- '表情': '[表情]',
- '查看更多': '查看更多',
- '撤回': '撤回',
- '撤回了一条消息': '撤回了一条消息',
- '打开': '打开',
- '单击下载': '单击下载',
- '点此投诉': '点此投诉',
- '点击处理': '点击处理',
- '对方正在输入': '对方正在输入...',
- '发起群视频': '发起群视频',
- '发起群语音': '发起群语音',
- '发起通话': '发起通话',
- '发送失败': '发送失败',
- '复制': '复制',
- '复制成功': '文本复制成功',
- '该消息不存在': '该消息不存在',
- '关闭阅读状态': '关闭',
- '管理员开启全员禁言': '管理员开启全员禁言',
- '欢迎使用TUICallKit': '欢迎使用腾讯云音视频通话组件TUICallKit ',
- '回到最新位置': '回到最新位置',
- '回复': '回复',
- '回复详情': '回复详情',
- '集成TUICallKit': '集成 TUICallKit ',
- '检测到您暂未集成TUICallKit,无法体验音视频通话功能': '检测到您暂未集成TUICallKit,无法体验音视频通话功能。',
- '结束群聊': '结束群聊',
- '进行体验': '进行体验。',
- '经度': '经度',
- '拒绝': '拒绝',
- '拒绝通话': '拒绝通话',
- '开通腾讯实时音视频服务': '开通腾讯实时音视频服务',
- '聊天记录': '[聊天记录]',
- '描述': '描述',
- '内容包含敏感词汇': '内容包含敏感词汇',
- '您': '您',
- '您当前购买使用的套餐包暂未开通此功能': '您当前购买使用的套餐包暂未开通此功能。',
- '您当前购买使用的套餐包暂未开通群消息已读回执功能': '您当前购买使用的套餐包暂未开通【群消息已读回执】功能,请升级至旗舰版进行体验',
- '您当前购买使用的套餐包暂未开通在线用户列表功能': '您当前购买使用的套餐包暂未开通【在线用户列表】功能,请升级至旗舰版进行体验',
- '您已被管理员禁言': '您已被管理员禁言',
- '您有': '您有',
- '请点击': '请点击',
- '请输入消息': '请输入消息',
- '取消': '取消',
- '取消通话': '取消通话',
- '全部已读': '全部已读',
- '确定': '确定',
- '确认重发该消息?': '确认重发该消息?',
- '人关闭阅读状态': '人关闭阅读状态',
- '人未读': '人未读',
- '人已读': '人已读',
- '删除': '删除',
- '涉及敏感内容': '涉及敏感内容',
- '申请加入': '申请加入',
- '视频': '[视频]',
- '视频通话': '视频通话',
- '条回复': '条回复',
- '条入群申请': '条入群申请',
- '条新消息': '条新消息',
- '通话时长': '通话时长',
- '同意': '同意',
- '图片': '[图片]',
- '图片消息失败,无效的图片格式': '图片消息失败,无效的图片格式',
- '纬度': '纬度',
- '未读': '未读',
- '位置': '[位置]',
- '文件': '[文件]',
- '文件不存在,请检查文件路径是否正确': '文件不存在,请检查文件路径是否正确',
- '文件大小超出了限制,如果上传文件,最大限制是100MB': '文件大小超出了限制,如果上传文件,最大限制是100MB',
- '文件消息失败,禁止发送违规封禁的文件': '文件消息失败,禁止发送违规封禁的文件',
- '我': '我',
- '无法查看': '无法查看',
- '无法定位到原消息': '无法定位到原消息',
- '无法收听': '无法收听',
- '正在加载': '正在加载...',
- '加载结束': '加载结束',
- '无应答': '无应答',
- '系统消息': '系统消息',
- '消息': 'message',
- '消息或者资料中文本存在敏感内容,发送失败': '消息或者资料中文本存在敏感内容,发送失败',
- '消息详情': '消息详情',
- '消息长度超出限制,消息长度不要超过12K': '消息长度超出限制,消息长度不要超过12K',
- '消息中图片存在敏感内容,发送失败': '消息中图片存在敏感内容,发送失败',
- '选择提醒的人': '选择提醒的人',
- '已读': '已读',
- '已过撤回时限': '已过撤回时限',
- '已接听': '已接听',
- '已拒绝': '已拒绝',
- '已同意': '已同意',
- '引用': '引用',
- '引用失败': '引用失败',
- '语音': '[语音]',
- '语音通话': '语音通话',
- '重新编辑': '重新编辑',
- '重新发送': '重新发送',
- '转发': '转发',
- '翻译': '翻译',
- '转文字': '转文字',
- '隐藏': '隐藏',
- '转发给': '转发给',
- '自定义': '[自定义消息]',
- '自定义消息': '自定义消息',
- '腾讯云 IM': '腾讯云 IM',
- '空': '空',
- '文本包含本地审核拦截词': '文本包含本地审核拦截词',
- '按住说话': '按住说话',
- '抬起发送': '抬起发送',
- '抬起取消': '抬起取消',
- '正在录音': '正在录音',
- '继续上滑可取消': '继续上滑可取消',
- '松开手指 取消发送': '松开手指 取消发送',
- '此机型暂不支持复制功能': '此机型暂不支持复制功能',
- '请开通翻译功能': '请开通翻译功能',
- '请开通语音转文字功能': '请开通语音转文字功能',
- '翻译中': '翻译中',
- '转换中': '转换中',
- '由IM提供翻译支持': '由IM提供翻译支持',
- '所有人': '所有人',
- '已达到表情回应上限数量': '已达到表情回应上限数量',
- '等': '等',
- '人': '人',
- '返回': '返回',
- '关闭': '关闭',
- '多选': '多选',
- '合并转发': '合并转发',
- '逐条转发': '逐条转发',
- '未选择消息': '未选择消息',
- '引用内容已撤回': '引用内容已撤回',
- '[草稿]': '[草稿]',
- '[消息]': '[消息]',
- '[文本]': '[文本]',
- '[自定义消息]': '[自定义消息]',
- '[图片]': '[图片]',
- '[音频]': '[音频]',
- '[语音]': '[语音]',
- '[视频]': '[视频]',
- '[文件]': '[文件]',
- '[位置]': '[地理位置]',
- '[地理位置]': '[地理位置]',
- '[动画表情]': '[动画表情]',
- '[群提示]': '[群提示]',
- '[群提示消息]': '[群提示消息]',
- '[聊天记录]': '[聊天记录]',
- '[机器人自定义消息]': '[机器人自定义消息]',
- '群聊的聊天记录': '群聊的聊天记录',
- '和': '和',
- '的聊天记录': '的聊天记录',
- '请升级IMSDK到v2.10.1或更高版本查看此消息': '请升级IMSDK到v2.10.1或更高版本查看此消息',
- '您已被管理员移出群聊': '您已被管理员移出群聊',
- '该群聊已被解散': '该群聊已被解散',
- '您已退出该群聊': '您已退出该群聊',
- '您已被禁止聊天': '您已被禁止聊天'
-};
-
-export default TUIChat;
diff --git a/src/TUIKit/locales/zh_cn/TUIContact.ts b/src/TUIKit/locales/zh_cn/TUIContact.ts
deleted file mode 100644
index 7d463ff..0000000
--- a/src/TUIKit/locales/zh_cn/TUIContact.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import translate from './translate';
-
-const TUIContact = {
- '群聊通知': '群聊通知',
- '系统通知': '系统通知',
- '我的群聊': '我的群聊',
- '输入ID': '请输入用户/群聊 ID,回车搜索',
- '群名称': '群名称',
- '群ID': '群ID',
- '加入群聊': '加入群聊',
- '解散群聊': '解散群聊',
- '退出群聊': '退出群聊',
- '进入群聊': '进入群聊',
- '群类型': '群类型',
- '请填写验证信息': '请填写验证信息',
- '申请加入': '申请加入',
- '已申请': '已申请',
- '接受': '接受',
- '拒绝': '拒绝',
- '已处理': '已处理',
- '添加群聊': '添加群聊',
- '已加入': '已加入',
- '该群组不存在': '该群组不存在',
- '加群': '加群',
- '我的好友': '我的好友',
- '发送消息': '发送消息',
- '个性签名': '个性签名',
- '等待管理员同意': '申请成功,等待管理员同意入群申请',
- '加群成功': '加群成功',
- '您已是群成员': '您已是群成员',
- '新的联系人': '新的联系人',
- '黑名单': '黑名单',
- '无搜索结果': '无搜索结果',
- '客服号': '客服号',
- 'ID': 'ID',
- '联系人': '联系人',
- '群聊': '群聊',
- '添加好友/群聊': '添加好友/群聊',
- '备注名': '备注名',
- '加入黑名单': '加入黑名单',
- '删除好友': '删除好友',
- '等待验证': '等待验证',
- '验证信息': '验证信息',
- '发送申请': '发送申请',
- '加入直播群': '加入直播群',
- '同意': '同意',
- '删除好友成功': '删除好友成功',
- '删除好友失败': '删除好友失败',
- '申请已发送': '申请已发送',
- '申请发送失败': '申请发送失败',
- '进入会话失败': '进入会话失败',
- '添加好友成功': '添加好友成功',
- '同意好友申请失败': '同意好友申请失败',
- '拒绝成功': '拒绝成功',
- '拒绝好友申请失败': '拒绝好友申请失败',
- '解散群聊成功': '解散群聊成功',
- '解散群聊失败': '解散群聊失败',
- '退出群组成功': '退出群组成功',
- '退出群组失败': '退出群组失败',
- '申请入群失败': '申请入群失败',
- '加入黑名单失败': '加入黑名单失败',
- '移除黑名单失败': '移除黑名单失败',
- '修改备注失败: 备注长度不得超过 96 字节': '修改备注失败: 备注长度不得超过 96 字节',
- '修改备注成功': '修改备注成功',
- '修改备注失败': '修改备注失败'
-};
-
-export default TUIContact;
diff --git a/src/TUIKit/locales/zh_cn/TUIConversation.ts b/src/TUIKit/locales/zh_cn/TUIConversation.ts
deleted file mode 100644
index 3d28027..0000000
--- a/src/TUIKit/locales/zh_cn/TUIConversation.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-const TUIConversation = {
- '发起会话': '发起会话',
- '发起单聊': '发起单聊',
- '发起群聊': '发起群聊',
- '请输入userID': '请输入userID',
- '删除会话': '删除会话',
- '删除后,将清空该聊天的消息记录': '删除后,将清空该聊天的消息记录',
- '删除后,将清空该群聊的消息记录': '删除后,将清空该群聊的消息记录',
- '置顶会话': '置顶会话',
- '取消置顶': '取消置顶',
- '消息免打扰': '消息免打扰',
- '取消免打扰': '取消免打扰',
- '系统通知': '系统通知',
- '有人@我': '有人@我',
- '@所有人': '@所有人',
- '条': '条',
- '我': '我',
- '网络异常,请您检查网络设置': '网络异常,请您检查网络设置',
- '您已被群管理员移出群聊': '您已被群管理员移出群聊',
- '该群聊已被解散': '该群聊已被解散',
- '您已退出该群聊': '您已退出该群聊'
-};
-
-export default TUIConversation;
diff --git a/src/TUIKit/locales/zh_cn/TUIGroup.ts b/src/TUIKit/locales/zh_cn/TUIGroup.ts
deleted file mode 100644
index d9fc6bb..0000000
--- a/src/TUIKit/locales/zh_cn/TUIGroup.ts
+++ /dev/null
@@ -1,92 +0,0 @@
-const TUIGroup = {
- '输入groupID搜索': '输入groupID搜索',
- '群名称': '群名称',
- '群ID': '群ID',
- '加入群聊': '加入群聊',
- '解散群聊': '解散群聊',
- '退出群聊': '退出群聊',
- '群类型': '群类型',
- '请填写验证信息': '请填写验证信息',
- '申请加入': '申请加入',
- '已申请': '已申请',
- '群公告': '群公告',
- '群成员': '群成员',
- '群管理': '群管理',
- '好友工作群': '好友工作群',
- '陌生人社交群': '陌生人社交群',
- '临时会议群': '临时会议群',
- '直播群': '直播群',
- '社群': '社群',
- '自由加入': '自由加入',
- '需要验证': '需要验证',
- '禁止加群': '禁止加群',
- '人': '人',
- '群头像': '群头像',
- '加群方式': '加群方式',
- '转让群组': '转让群组',
- '退出群组': '退出群组',
- '群管理员': '群管理员',
- '全员禁言': '全员禁言',
- '全员禁言开启后,只允许群主和管理员发言。': '全员禁言开启后,只允许群主和管理员发言。',
- '单独禁言人员': '单独禁言人员',
- '删除成员': '删除成员',
- '确定从群聊中删除该成员?': '确定从群聊中删除该成员?',
- '确定从群聊中删除所选成员?': '确定从群聊中删除所选成员?',
- '暂无公告': '暂无公告',
- '发布': '发布',
- '编辑': '编辑',
- '查看更多': '查看更多',
- '管理员': '管理员',
- '群主': '群主',
- '我': '我',
- '确认': '确认',
- '添加成员': '添加成员',
- '新增管理员': '新增管理员',
- '移除管理员': '移除管理员',
- '新增禁言用户': '新增禁言用户',
- '移除禁言用户': '移除禁言用户',
- '修改群聊名称': '修改群聊名称',
- '修改群聊名称后,将在群内通知其他成员': '修改群聊名称后,将在群内通知其他成员',
- '仅限中文、字母、数字和下划线,2-20个字': '仅限中文、字母、数字和下划线,2-20个字',
- '请先注册 TUIGroup 模块': '请先注册 TUIGroup 模块',
- '该用户不存在': '该用户不存在',
- '该用户不在群组内': '该用户不在群组内',
- '添加群聊': '添加群聊',
- '该群组不存在': '该群组不存在',
- '创建群聊,请注册 TUIGroup 模块': '创建群聊,请注册 TUIGroup 模块',
- '创建成功': '创建成功',
- '发起多人会话(群聊)': '发起多人会话(群聊)',
- '选填': '选填',
- '取消': '取消',
- '创建': '创建',
- '类似普通微信群,创建后仅支持已在群内的好友邀请加群,且无需被邀请方同意或群主审批。详见':
- '类似普通微信群,创建后仅支持已在群内的好友邀请加群,且无需被邀请方同意或群主审批。详见',
- '类似 QQ 群,创建后群主可以指定群管理员,用户搜索群 ID 发起加群申请后,需要群主或管理员审批通过才能入群。详见':
- '类似 QQ 群,创建后群主可以指定群管理员,用户搜索群 ID 发起加群申请后,需要群主或管理员审批通过才能入群。详见',
- '创建后可以随意进出,且支持查看入群前消息;适合用于音视频会议场景、在线教育场景等与实时音视频产品结合的场景。详见':
- '创建后可以随意进出,且支持查看入群前消息;适合用于音视频会议场景、在线教育场景等与实时音视频产品结合的场景。详见',
- '创建后可以随意进出,没有群成员数量上限,但不支持历史消息存储;适合与直播产品结合,用于弹幕聊天场景。详见':
- '创建后可以随意进出,没有群成员数量上限,但不支持历史消息存储;适合与直播产品结合,用于弹幕聊天场景。详见',
- '创建后可以随意进出,最多支持100000人,支持历史消息存储,用户搜索群 ID 发起加群申请后,无需管理员审批即可进群。详见':
- '创建后可以随意进出,最多支持100000人,支持历史消息存储,用户搜索群 ID 发起加群申请后,无需管理员审批即可进群。详见',
- '产品文档': '产品文档',
- '设置群名称': '设置群名称',
- '请输入群名称': '请输入群名称',
- '设置群ID': '设置群ID',
- '请输入群ID': '请输入群ID',
- '选择群类型': '选择群类型',
- '陌生人社交群(Public)': '陌生人社交群(Public)',
- '临时会议群(Meeting)': '临时会议群(Meeting)',
- '好友工作群(Work)': '好友工作群(Work)',
- '直播群(AVChatroom)': '直播群(AVChatroom)',
- '社群(Community)': '社群(Community)',
- '群组创建成功': '群组创建成功',
- '群组解散成功': '群组解散成功',
- '禁言设置成功': '禁言设置成功',
- '取消禁言成功': '取消禁言成功',
- '群名称不能为空': '群名称不能为空',
- '群名称修改成功': '群名称修改成功',
- '群公告字数超出限制,最大长度为150': '群公告字数超出限制,最大长度为150'
-};
-
-export default TUIGroup;
diff --git a/src/TUIKit/locales/zh_cn/TUISearch.ts b/src/TUIKit/locales/zh_cn/TUISearch.ts
deleted file mode 100644
index 58abd49..0000000
--- a/src/TUIKit/locales/zh_cn/TUISearch.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-const TUISearch = {
- 搜索: '搜索',
- 全部: '全部',
- 联系人: '联系人',
- 群聊: '群聊',
- 聊天记录: '聊天记录',
- 文本: '文本',
- 文件: '文件',
- '图片/视频': '图片/视频',
- 其他: '其他',
- 选择时间: '选择时间',
- 今天: '今天',
- 近三天: '近三天',
- 近七天: '近七天',
- 查看更多: '查看更多',
- 条相关: '条相关',
- 条与: '条与',
- 相关的: '相关的',
- 进入聊天: '进入聊天',
- 定位到聊天位置: '定位到聊天位置',
- 搜索会话内容: '搜索会话内容',
- 查看更多历史记录: '查看更多历史记录',
- 暂无搜索结果: '暂无搜索结果',
- 结果: '结果',
- 取消: '取消',
- '[文本]': '[文本]',
- '[图片]': '[图片]',
- '[语音]': '[语音]',
- '[视频]': '[视频]',
- '[文件]': '[文件]',
- '[自定义消息]': '[自定义消息]',
- '[系统消息]': '[系统消息]',
- '[合并消息]': '[合并消息]',
- '[位置消息]': '[位置消息]',
- '消息云端搜索失败:': '消息云端搜索失败:',
- '查找联系人失败:': '查找联系人失败:',
- '查找群聊失败:': '查找群聊失败:',
- '进入会话失败': '进入会话失败'
-};
-
-export default TUISearch;
diff --git a/src/TUIKit/locales/zh_cn/component.ts b/src/TUIKit/locales/zh_cn/component.ts
deleted file mode 100644
index 77bf1b0..0000000
--- a/src/TUIKit/locales/zh_cn/component.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-const components = {
- '取消': '取消',
- '完成': '完成',
- '已选中': '已选中',
- '人': '人',
- '保存': '保存',
- '请输入userID': '请输入userID',
- '请输入groupID': '请输入groupID',
- '确定': '确定',
- '全选': '全选',
- '已在群聊中': '已在群聊中',
- '查看更多': '查看更多',
- '图片 url 不存在': '图片 url 不存在',
- '已取消': '已取消',
- '获取权限失败': '获取权限失败',
- '已保存至相册': '已保存至相册',
- '图片下载失败': '图片下载失败',
- '暂不支持下载此类型图片': '暂不支持下载此类型图片'
-};
-
-export default components;
diff --git a/src/TUIKit/locales/zh_cn/emoji.ts b/src/TUIKit/locales/zh_cn/emoji.ts
deleted file mode 100644
index d4fe38e..0000000
--- a/src/TUIKit/locales/zh_cn/emoji.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import { default as Emoji } from '../../components/TUIChat/emoji-config/locales/zh_cn';
-export default Emoji;
diff --git a/src/TUIKit/locales/zh_cn/evaluate.ts b/src/TUIKit/locales/zh_cn/evaluate.ts
deleted file mode 100644
index 31cbe40..0000000
--- a/src/TUIKit/locales/zh_cn/evaluate.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-const Evaluate = {
- '请对本次服务进行评价': '请对本次服务进行评价',
- '提交评价': '提交评价',
- '服务评价工具': '服务评价工具',
- '使用': '使用',
- '自定义消息': '自定义消息',
- '搭建': '搭建',
- '星': '星'
-};
-
-export default Evaluate;
diff --git a/src/TUIKit/locales/zh_cn/index.ts b/src/TUIKit/locales/zh_cn/index.ts
deleted file mode 100644
index 52fae3d..0000000
--- a/src/TUIKit/locales/zh_cn/index.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import TUIChat from './TUIChat';
-import TUIConversation from './TUIConversation';
-import TUIGroup from './TUIGroup';
-import TUIContact from './TUIContact';
-import TUISearch from './TUISearch';
-
-import message from './message';
-import component from './component';
-import time from './time';
-
-import Words from './words';
-import Evaluate from './evaluate';
-import Emoji from './emoji';
-
-const messages = {
- zh_cn: {
- 取消: '取消',
- 发送: '发送',
- 系统通知: '系统通知',
- 关闭: '关闭',
- 确定: '确定',
- 开始时间: '开始时间',
- 结束时间: '结束时间',
- 消息: '消息',
- 通讯录: '通讯录',
- 欢迎使用腾讯云即时通信IM: '欢迎使用腾讯云即时通信IM',
- TUIChat,
- TUIConversation,
- TUIGroup,
- TUIContact,
- message,
- component,
- time,
- Evaluate,
- Words,
- TUISearch,
- Emoji
- }
-};
-
-export default messages;
diff --git a/src/TUIKit/locales/zh_cn/message.ts b/src/TUIKit/locales/zh_cn/message.ts
deleted file mode 100644
index 39c12c9..0000000
--- a/src/TUIKit/locales/zh_cn/message.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-const message = {
- 'tip': {
- '群成员': '群成员',
- '加入群组': '加入群组',
- '退出群组': '退出群组',
- '被': '被',
- '踢出群组': '踢出群组',
- '成为管理员': '成为管理员',
- '被撤销管理员': '被撤销管理员',
- '被禁言': '被禁言',
- '被取消禁言': '被取消禁言',
- '群提示消息': '群提示消息',
- '管理员': '管理员',
- '开启全员禁言': '开启全员禁言',
- '取消全员禁言': '取消全员禁言',
- '成为新的群主': '成为新的群主',
- '修改群名为': '修改群名为',
- '发布新公告': '发布新公告',
- '把群公告修改为': '把群公告修改为',
- '申请加入群组': '申请加入群组',
- '成功加入群组': '成功加入群组',
- '被拒绝': '被拒绝',
- '你被管理员': '你被管理员',
- '群': '群',
- '解散': '解散',
- '创建群': '创建群',
- '邀请你加群': '邀请你加群',
- '你退出群组': '你退出群组',
- '你被': '你被',
- '设置为群': '设置为群',
- '的管理员': '的管理员',
- '撤销群': '撤销群',
- '的管理员身份': '的管理员身份',
- '同意加群': '同意加群',
- '拒接加群': '拒接加群',
- '自定义群系统通知': '自定义群系统通知'
- },
- 'custom': {
- '自定义消息': '自定义消息',
- '通话时长': '通话时长',
- '通话结束': '通话结束',
- '切换语音通话': '切换语音通话',
- '切换视频通话': '切换视频通话',
- '发起通话': '发起通话',
- '取消通话': '取消通话',
- '已接听': '已接听',
- '拒绝通话': '拒绝通话',
- '无应答': '无应答',
- '对本次服务评价': '对本次服务评价',
- '查看详情>>': '查看详情>>',
- '已取消': '已取消',
- '对方已取消': '对方已取消',
- '已拒绝': '已拒绝',
- '对方已拒绝': '对方已拒绝',
- '对方忙线中': '对方忙线中',
- '忙线未接听': '忙线未接听',
- '对方无应答': '对方无应答',
- '超时无应答': '超时无应答'
- }
-};
-
-export default message;
diff --git a/src/TUIKit/locales/zh_cn/time.ts b/src/TUIKit/locales/zh_cn/time.ts
deleted file mode 100644
index 7b9746c..0000000
--- a/src/TUIKit/locales/zh_cn/time.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-const time = {
- '周': '周',
- '天': '天',
- '小时': '小时',
- '分钟': '分钟',
- '刚刚': '刚刚',
- '前': '前',
- '昨天': '昨天',
- '星期一': '星期一',
- '星期二': '星期二',
- '星期三': '星期三',
- '星期四': '星期四',
- '星期五': '星期五',
- '星期六': '星期六',
- '星期日': '星期日',
- '一月': '一月',
- '二月': '二月',
- '三月': '三月',
- '四月': '四月',
- '五月': '五月',
- '六月': '六月',
- '七月': '七月',
- '八月': '八月',
- '九月': '九月',
- '十月': '十月',
- '十一月': '十一月',
- '十二月': '十二月',
- '一': '一',
- '二': '二',
- '三': '三',
- '四': '四',
- '五': '五',
- '六': '六',
- '日': '日'
-};
-
-export default time;
diff --git a/src/TUIKit/locales/zh_cn/translate.ts b/src/TUIKit/locales/zh_cn/translate.ts
deleted file mode 100644
index 3ace37b..0000000
--- a/src/TUIKit/locales/zh_cn/translate.ts
+++ /dev/null
@@ -1,165 +0,0 @@
-const translate = {
- 'TUIKit-TUIChat-01': '撤回消息',
- 'TUIKit-TUIChat-02': '删除消息',
- 'TUIKit-TUIChat-03': '重新发送',
- 'TUIKit-TUIChat-04': '转发',
- 'TUIKit-TUIChat-05': '打开',
- 'TUIKit-TUIChat-06': '已读',
- 'TUIKit-TUIChat-07': '未读',
- 'TUIKit-TUIChat-08': '您',
- 'TUIKit-TUIChat-09': '撤回了一条消息',
- 'TUIKit-TUIChat-10': '重新编辑',
- 'TUIKit-TUIChat-11': '我',
- 'TUIKit-TUIChat-12': '查看更多',
- 'TUIKit-TUIChat-13': '转发给',
- 'TUIKit-TUIChat-14': '请输入消息',
- 'TUIKit-TUIChat-15': '描述',
- 'TUIKit-TUIChat-16': '经度',
- 'TUIKit-TUIChat-17': '纬度',
- 'TUIKit-TUIChat-18': '管理员开启全员禁言',
- 'TUIKit-TUIChat-19': '您已被管理员禁言',
- 'TUIKit-TUIChat-20': '按Enter发送,Ctrl+Enter换行',
- 'TUIKit-TUIChat-mange-01': '群公告',
- 'TUIKit-TUIChat-mange-02': '群成员',
- 'TUIKit-TUIChat-mange-03': '群管理',
- 'TUIKit-TUIChat-mange-04': '好友工作群',
- 'TUIKit-TUIChat-mange-05': '陌生人社交群',
- 'TUIKit-TUIChat-mange-06': '临时会议群',
- 'TUIKit-TUIChat-mange-07': '直播群',
- 'TUIKit-TUIChat-mange-08': '自由加入',
- 'TUIKit-TUIChat-mange-09': '需要验证',
- 'TUIKit-TUIChat-mange-10': '禁止加群',
- 'TUIKit-TUIChat-mange-11': '人',
- 'TUIKit-TUIChat-mange-12': '群ID',
- 'TUIKit-TUIChat-mange-13': '群头像',
- 'TUIKit-TUIChat-mange-14': '群类型',
- 'TUIKit-TUIChat-mange-15': '加群方式',
- 'TUIKit-TUIChat-mange-16': '转让群组',
- 'TUIKit-TUIChat-mange-17': '解散群聊',
- 'TUIKit-TUIChat-mange-18': '退出群组',
- 'TUIKit-TUIChat-mange-19': '群管理员',
- 'TUIKit-TUIChat-mange-20': '全员禁言',
- 'TUIKit-TUIChat-mange-21': '全员禁言开启后,只允许群主和管理员发言。',
- 'TUIKit-TUIChat-mange-22': '单独禁言人员',
- 'TUIKit-TUIChat-mange-23': '删除成员',
- 'TUIKit-TUIChat-mange-24': '确定从群聊中删除该成员?',
- 'TUIKit-TUIChat-mange-25': '确定从群聊中删除所选成员?',
- 'TUIKit-TUIChat-mange-26': '暂无公告',
- 'TUIKit-TUIChat-mange-27': '发布',
- 'TUIKit-TUIChat-mange-28': '编辑',
- 'TUIKit-TUIChat-mange-29': '群名称',
- 'TUIKit-TUIChat-mange-30': '查看更多',
- 'TUIKit-TUIChat-mange-31': '管理员',
- 'TUIKit-TUIChat-mange-32': '群主',
- 'TUIKit-TUIChat-mange-33': '我',
- 'TUIKit-TUIChat-mange-34': '添加成员',
- 'TUIKit-TUIChat-mange-35': '新增管理员',
- 'TUIKit-TUIChat-mange-36': '移除管理员',
- 'TUIKit-TUIChat-mange-37': '新增禁言用户',
- 'TUIKit-TUIChat-mange-38': '移除禁言用户',
- 'TUIKit-TUIContact-01': '群聊通知',
- 'TUIKit-TUIContact-02': '系统通知',
- 'TUIKit-TUIContact-03': '我的群聊',
- 'TUIKit-TUIContact-04': '输入groupID搜索',
- 'TUIKit-TUIContact-05': '群名称',
- 'TUIKit-TUIContact-06': '群ID',
- 'TUIKit-TUIContact-07': '加入群聊',
- 'TUIKit-TUIContact-08': '解散群聊',
- 'TUIKit-TUIContact-09': '退出群聊',
- 'TUIKit-TUIContact-10': '群类型',
- 'TUIKit-TUIContact-11': '请填写验证信息',
- 'TUIKit-TUIContact-12': '申请加入',
- 'TUIKit-TUIContact-13': '已申请',
- 'TUIKit-TUIContact-14': '接受',
- 'TUIKit-TUIContact-15': '拒绝',
- 'TUIKit-TUIContact-16': '已处理',
- 'TUIKit-TUIConversation-01': '发起单人/多人会话',
- 'TUIKit-TUIConversation-02': '请输入userID',
- 'TUIKit-TUIConversation-03': '删除会话',
- 'TUIKit-TUIConversation-04': '系统通知',
- 'TUIKit-TUIConversation-05': '发起多人会话(群聊)',
- 'TUIKit-TUIConversation-06': '群头像',
- 'TUIKit-TUIConversation-07': '群名称',
- 'TUIKit-TUIConversation-08': '群ID',
- 'TUIKit-TUIConversation-09': '群类型',
- 'TUIKit-TUIConversation-10': '选填',
- 'TUIKit-TUIConversation-11': '取消',
- 'TUIKit-TUIConversation-12': '创建',
- 'TUIKit-TUIConversation-13': '类似普通微信群,创建后仅支持已在群内的好友邀请加群,且无需被邀请方同意或群主审批。详见产品文档',
- 'TUIKit-TUIConversation-14': '类似 QQ 群,创建后群主可以指定群管理员,用户搜索群 ID 发起加群申请后,需要群主或管理员审批通过才能入群。详见产品文档',
- 'TUIKit-TUIConversation-15':
- '创建后可以随意进出,且支持查看入群前消息;适合用于音视频会议场景、在线教育场景等与实时音视频产品结合的场景。详见产品文档',
- 'TUIKit-TUIConversation-16': '创建后可以随意进出,没有群成员数量上限,但不支持历史消息存储;适合与直播产品结合,用于弹幕聊天场景。详见产品文档',
- 'TUIKit-TUIProfile-01': '资料设置',
- 'TUIKit-TUIProfile-02': '头像',
- 'TUIKit-TUIProfile-03': '昵称',
- 'TUIKit-TUIProfile-04': '账号',
- 'TUIKit-TUIProfile-05': '个性签名',
- 'TUIKit-TUIProfile-06': '性别',
- 'TUIKit-TUIProfile-07': '男',
- 'TUIKit-TUIProfile-08': '女',
- 'TUIKit-TUIProfile-09': '不显示',
- 'TUIKit-TUIProfile-10': '出生年月',
- 'TUIKit-TUIProfile-11': '取消',
- 'TUIKit-TUIProfile-12': '保存',
- 'TUIKit-time-01': '周',
- 'TUIKit-time-02': '天',
- 'TUIKit-time-03': '小时',
- 'TUIKit-time-04': '分钟',
- 'TUIKit-time-05': '刚刚',
- 'TUIKit-time-06': '前',
- 'TUIKit-message-tip-01': '群成员',
- 'TUIKit-message-tip-02': '加入群组',
- 'TUIKit-message-tip-03': '退出群组',
- 'TUIKit-message-tip-04': '被',
- 'TUIKit-message-tip-05': '踢出群组',
- 'TUIKit-message-tip-06': '成为管理员',
- 'TUIKit-message-tip-07': '被撤销管理员',
- 'TUIKit-message-tip-08': '被禁言',
- 'TUIKit-message-tip-09': '被取消禁言',
- 'TUIKit-message-tip-10': '群提示消息',
- 'TUIKit-message-tip-11': '管理员',
- 'TUIKit-message-tip-12': '开启全员禁言',
- 'TUIKit-message-tip-13': '取消全员禁言',
- 'TUIKit-message-tip-14': '成为新的群主',
- 'TUIKit-message-tip-15': '修改群名为',
- 'TUIKit-message-tip-16': '发布新公告',
- 'TUIKit-message-tip-17': '申请加入群组',
- 'TUIKit-message-tip-18': '成功加入群组',
- 'TUIKit-message-tip-19': '被拒绝',
- 'TUIKit-message-tip-20': '你被管理员',
- 'TUIKit-message-tip-21': '群',
- 'TUIKit-message-tip-22': '解散',
- 'TUIKit-message-tip-23': '创建群',
- 'TUIKit-message-tip-24': '邀请你加群',
- 'TUIKit-message-tip-25': '你退出群组',
- 'TUIKit-message-tip-26': '你被',
- 'TUIKit-message-tip-27': '设置为群',
- 'TUIKit-message-tip-28': '的管理员',
- 'TUIKit-message-tip-29': '撤销群',
- 'TUIKit-message-tip-30': '的管理员身份',
- 'TUIKit-message-tip-31': '同意加群',
- 'TUIKit-message-tip-32': '拒接加群',
- 'TUIKit-message-tip-33': '自定义群系统通知',
- 'TUIKit-message-custom-01': '自定义消息',
- 'TUIKit-message-custom-02': '通话时长',
- 'TUIKit-message-custom-03': '结束群聊',
- 'TUIKit-message-custom-04': '切换语音通话',
- 'TUIKit-message-custom-05': '切换视频通话',
- 'TUIKit-message-custom-06': '发起通话',
- 'TUIKit-message-custom-07': '取消通话',
- 'TUIKit-message-custom-08': '已接听',
- 'TUIKit-message-custom-09': '拒绝通话',
- 'TUIKit-message-custom-10': '无应答',
- 'TUIKit-message-custom-11': '对本次服务评价',
- 'TUIKit-message-custom-12': '查看详情>>',
- 'TUIKit-component-01': '取消',
- 'TUIKit-component-02': '完成',
- 'TUIKit-component-03': '已选中',
- 'TUIKit-component-04': '人',
- 'TUIKit-component-05': '保存',
- 'TUIKit-component-06': '发送',
- 'TUIKit-component-07': '系统通知'
-};
-
-export default translate;
diff --git a/src/TUIKit/locales/zh_cn/words.ts b/src/TUIKit/locales/zh_cn/words.ts
deleted file mode 100644
index ac4d27d..0000000
--- a/src/TUIKit/locales/zh_cn/words.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-const Words = {
- '常用语-快捷回复工具': '常用语-快捷回复工具',
- '在吗?在吗?在吗?重要的话说三遍。': '在吗?在吗?在吗?重要的话说三遍。',
- '好久没聊天了,快来和我说说话~': '好久没聊天了,快来和我说说话~',
- '好的,就这么说定了。': '好的,就这么说定了。',
- '感恩的心,感谢有你。': '感恩的心,感谢有你。',
- '糟糕!是心动的感觉!': '糟糕!是心动的感觉!',
- '心疼地抱抱自己,我太难了!': '心疼地抱抱自己,我太难了!',
- '没关系,别在意,事情过去就过去了。': '没关系,别在意,事情过去就过去了。',
- '早上好,今天也是让人期待的一天呢!': '早上好,今天也是让人期待的一天呢!',
- '熬夜有什么用,又没人陪你聊天,早点休息吧。': '熬夜有什么用,又没人陪你聊天,早点休息吧。'
-};
-
-export default Words;
diff --git a/src/TUIKit/locales/zh_tw/TUIChat.ts b/src/TUIKit/locales/zh_tw/TUIChat.ts
deleted file mode 100644
index 8df194d..0000000
--- a/src/TUIKit/locales/zh_tw/TUIChat.ts
+++ /dev/null
@@ -1,157 +0,0 @@
-const TUIChat = {
- '【安全提示】本 APP 仅用于体验腾讯云即时通信 IM 产品功能,不可用于业务洽谈与拓展。请勿轻信汇款、中奖等涉及钱款的信息,勿轻易拨打陌生电话,谨防上当受骗。':
- '【安全提示】本 APP 僅用於體驗騰訊雲即時通信 IM 產品功能,不可用於業務洽談與拓展。請勿輕信匯款、中奖等涉及錢款的信息,勿輕易撥打陌生電話,謹防上當受騙。',
- '按Enter发送,Ctrl+Enter换行': '按Enter發送,Ctrl+Enter換行',
- '表情': '[表情]',
- '查看更多': '查看更多',
- '撤回': '撤回',
- '撤回了一条消息': '撤回了一條消息',
- '打开': '打開',
- '单击下载': '單擊下載',
- '点此投诉': '點此投訴',
- '点击处理': '點擊處理',
- '对方正在输入': '對方正在輸入...',
- '发起群视频': '發起群視頻',
- '发起群语音': '發起群語音',
- '发起通话': '發起通話',
- '发送失败': '發送失敗',
- '复制': '複製',
- '复制成功': '文本複製成功',
- '该消息不存在': '該消息不存在',
- '关闭阅读状态': '關閉',
- '管理员开启全员禁言': '管理員開啟全員禁言',
- '欢迎使用TUICallKit': '歡迎使用騰訊雲音視頻通話組件TUICallKit',
- '回到最新位置': '回到最新位置',
- '回复': '回覆',
- '回复详情': '回覆詳情',
- '集成TUICallKit': '集成 TUICallKit',
- '检测到您暂未集成TUICallKit,无法体验音视频通话功能': '檢測到您暫未集成TUICallKit,無法體驗音視頻通話功能。',
- '结束群聊': '結束群聊',
- '进行体验': '進行體驗。',
- '经度': '經度',
- '拒绝': '拒絕',
- '拒绝通话': '拒絕通話',
- '开通腾讯实时音视频服务': '開通騰訊實時音視頻服務',
- '聊天记录': '[聊天記錄]',
- '描述': '描述',
- '内容包含敏感词汇': '內容包含敏感詞彙',
- '您': '您',
- '您当前购买使用的套餐包暂未开通此功能': '您當前購買使用的套餐包暫未開通此功能。',
- '您当前购买使用的套餐包暂未开通群消息已读回执功能': '您當前購買使用的套餐包暫未開通【群消息已讀回執】功能,請升級至旗艦版進行體驗',
- '您当前购买使用的套餐包暂未开通在线用户列表功能': '您當前購買使用的套餐包暫未開通【在線用戶列表】功能,請升級至旗艦版進行體驗',
- '您已被管理员禁言': '您已被管理員禁言',
- '您有': '您有',
- '请点击': '請點擊',
- '请输入消息': '請輸入消息',
- '取消': '取消',
- '取消通话': '取消通話',
- '全部已读': '全部已讀',
- '确定': '確定',
- '确认重发该消息?': '確認重發該消息?',
- '人关闭阅读状态': '人關閉閱讀狀態',
- '人未读': '人未讀',
- '人已读': '人已讀',
- '删除': '刪除',
- '涉及敏感内容': '涉及敏感內容',
- '申请加入': '申請加入',
- '视频': '[視頻]',
- '视频通话': '視頻通話',
- '条回复': '條回覆',
- '条入群申请': '條入群申請',
- '条新消息': '條新消息',
- '通话时长': '通話時長',
- '同意': '同意',
- '图片': '[圖片]',
- '图片消息失败,无效的图片格式': '圖片消息失敗,無效的圖片格式',
- '纬度': '緯度',
- '未读': '未讀',
- '位置': '[位置]',
- '文件': '[文件]',
- '文件不存在,请检查文件路径是否正确': '文件不存在,請檢查文件路徑是否正確',
- '文件大小超出了限制,如果上传文件,最大限制是100MB': '文件大小超出了限制,如果上傳文件,最大限制是100MB',
- '文件消息失败,禁止发送违规封禁的文件': '文件消息失敗,禁止發送違規封禁的文件',
- '我': '我',
- '无法查看': '無法查看',
- '无法定位到原消息': '無法定位到原消息',
- '无法收听': '無法收聽',
- '正在加载': '正在加載...',
- '加载结束': '加載結束',
- '无应答': '無應答',
- '系统消息': '系統消息',
- '消息': 'message',
- '消息或者资料中文本存在敏感内容,发送失败': '消息或者資料中文本存在敏感內容,發送失敗',
- '消息详情': '消息詳情',
- '消息长度超出限制,消息长度不要超过12K': '消息長度超出限制,消息長度不要超過12K',
- '消息中图片存在敏感内容,发送失败': '消息中圖片存在敏感內容,發送失敗',
- '选择提醒的人': '選擇提醒的人',
- '已读': '已讀',
- '已过撤回时限': '已過撤回時限',
- '已接听': '已接聽',
- '已拒绝': '已拒絕',
- '已同意': '已同意',
- '引用': '引用',
- '引用失败': '引用失敗',
- '语音': '[語音]',
- '语音通话': '語音通話',
- '重新编辑': '重新編輯',
- '重新发送': '重新發送',
- '转发': '轉發',
- '翻译': '翻譯',
- '转文字': '轉文字',
- '隐藏': '隱藏',
- '转发给': '轉發給',
- '自定义': '[自定義消息]',
- '自定义消息': '自定義消息',
- '腾讯云 IM': '騰訊雲 IM',
- '空': '空',
- '文本包含本地审核拦截词': '文本包含本地審核攔截詞',
- '按住说话': '按住說話',
- '抬起发送': '抬起發送',
- '抬起取消': '抬起取消',
- '正在录音': '正在錄音',
- '继续上滑可取消': '繼續上滑可取消',
- '松开手指 取消发送': '松開手指 取消發送',
- '此机型暂不支持复制功能': '此機型暫不支持複製功能',
- '请开通翻译功能': '請開通翻譯功能',
- '请开通语音转文字功能': '請開通語音轉文字功能',
- '翻译中': '翻譯中',
- '转换中': '轉換中',
- '由IM提供翻译支持': '由IM提供翻譯支持',
- '所有人': '所有人',
- '已达到表情回应上限数量': '已達到表情回應上限數量',
- '等': '等',
- '人': '人',
- '返回': '返回',
- '关闭': '關閉',
- '多选': '多選',
- '合并转发': '合併轉發',
- '逐条转发': '逐條轉發',
- '未选择消息': '未選擇消息',
- '引用内容已撤回': '引用內容已撤回',
- '[草稿]': '[草稿]',
- '[消息]': '[消息]',
- '[文本]': '[文本]',
- '[自定义消息]': '[自定義消息]',
- '[图片]': '[圖片]',
- '[音频]': '[音頻]',
- '[语音]': '[語音]',
- '[视频]': '[視頻]',
- '[文件]': '[文件]',
- '[位置]': '[地理位置]',
- '[地理位置]': '[地理位置]',
- '[动画表情]': '[動畫表情]',
- '[群提示]': '[群提示]',
- '[群提示消息]': '[群提示消息]',
- '[聊天记录]': '[聊天記錄]',
- '[机器人自定义消息]': '[機器人自訂訊息]',
- '群聊的聊天记录': '群聊的聊天記錄',
- '和': '和',
- '的聊天记录': '的聊天記錄',
- '请升级IMSDK到v2.10.1或更高版本查看此消息': '請升級IMSDK到v2.10.1或更高版本查看此消息',
- '您已被管理员移出群聊': '您已被管理員移出群聊',
- '该群聊已被解散': '該群聊已被解散',
- '您已退出该群聊': '您已退出該群聊',
- '您已被禁止聊天': '您已被禁止聊天'
-};
-
-export default TUIChat;
diff --git a/src/TUIKit/locales/zh_tw/TUIContact.ts b/src/TUIKit/locales/zh_tw/TUIContact.ts
deleted file mode 100644
index 6af748e..0000000
--- a/src/TUIKit/locales/zh_tw/TUIContact.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-const TUIContact = {
- '群聊通知': '群聊通知',
- '系统通知': '系統通知',
- '我的群聊': '我的群聊',
- '输入ID': '請輸入用戶/群聊 ID,回車搜索',
- '群名称': '群名稱',
- '群ID': '群ID',
- '加入群聊': '加入群聊',
- '解散群聊': '解散群聊',
- '退出群聊': '退出群聊',
- '进入群聊': '進入群聊',
- '群类型': '群類型',
- '请填写验证信息': '請填寫驗證信息',
- '申请加入': '申請加入',
- '已申请': '已申請',
- '接受': '接受',
- '拒绝': '拒絕',
- '已处理': '已處理',
- '添加群聊': '添加群聊',
- '已加入': '已加入',
- '该群组不存在': '該群組不存在',
- '加群': '加群',
- '我的好友': '我的好友',
- '发送消息': '發送消息',
- '个性签名': '個性簽名',
- '等待管理员同意': '申請成功,等待管理員同意入群申請',
- '加群成功': '加群成功',
- '您已是群成员': '您已是群成員',
- '新的联系人': '新的聯繫人',
- '黑名单': '黑名單',
- '无搜索结果': '無搜索結果',
- '客服号': '客服號',
- 'ID': 'ID',
- '联系人': '聯繫人',
- '群聊': '群聊',
- '添加好友/群聊': '添加好友/群聊',
- '备注名': '備註名',
- '加入黑名单': '加入黑名單',
- '删除好友': '刪除好友',
- '等待验证': '等待驗證',
- '验证信息': '驗證信息',
- '发送申请': '發送申請',
- '加入直播群': '加入直播群',
- '同意': '同意',
- '删除好友成功': '刪除好友成功',
- '删除好友失败': '刪除好友失敗',
- '申请已发送': '申請已發送',
- '申请发送失败': '申請發送失敗',
- '进入会话失败': '進入會話失敗',
- '添加好友成功': '添加好友成功',
- '同意好友申请失败': '同意好友申請失敗',
- '拒绝成功': '拒絕成功',
- '拒绝好友申请失败': '拒絕好友申請失敗',
- '解散群聊成功': '解散群聊成功',
- '解散群聊失败': '解散群聊失敗',
- '退出群组成功': '退出群組成功',
- '退出群组失败': '退出群組失敗',
- '申请入群失败': '申請入群失敗',
- '加入黑名单失败': '加入黑名單失敗',
- '移除黑名单失败': '移除黑名單失敗',
- '修改备注失败: 备注长度不得超过 96 字节': '修改備註失敗: 備註長度不得超過 96 字節',
- '修改备注成功': '修改備註成功',
- '修改备注失败': '修改備註失敗'
-};
-
-export default TUIContact;
diff --git a/src/TUIKit/locales/zh_tw/TUIConversation.ts b/src/TUIKit/locales/zh_tw/TUIConversation.ts
deleted file mode 100644
index 4f91cd3..0000000
--- a/src/TUIKit/locales/zh_tw/TUIConversation.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-const TUIConversation = {
- '发起会话': '發起會話',
- '发起单聊': '發起單聊',
- '发起群聊': '發起群聊',
- '请输入userID': '請輸入userID',
- '删除会话': '刪除會話',
- '删除后,将清空该聊天的消息记录': '刪除後,將清空該聊天的消息記錄',
- '删除后,将清空该群聊的消息记录': '刪除後,將清空該群聊的消息記錄',
- '置顶会话': '置頂會話',
- '取消置顶': '取消置頂',
- '消息免打扰': '消息免打擾',
- '取消免打扰': '取消免打擾',
- '系统通知': '系統通知',
- '有人@我': '有人@我',
- '@所有人': '@所有人',
- '条': '條',
- '我': '我',
- '网络异常,请您检查网络设置': '網絡異常,請您檢查網絡設置',
- '您已被群管理员移出群聊': '您已被群管理員移出群聊',
- '该群聊已被解散': '該群聊已被解散',
- '您已退出该群聊': '您已退出該群聊'
-};
-
-export default TUIConversation;
diff --git a/src/TUIKit/locales/zh_tw/TUIGroup.ts b/src/TUIKit/locales/zh_tw/TUIGroup.ts
deleted file mode 100644
index cb6dcda..0000000
--- a/src/TUIKit/locales/zh_tw/TUIGroup.ts
+++ /dev/null
@@ -1,92 +0,0 @@
-const TUIGroup = {
- '输入groupID搜索': '輸入groupID搜索',
- '群名称': '群名稱',
- '群ID': '群ID',
- '加入群聊': '加入群聊',
- '解散群聊': '解散群聊',
- '退出群聊': '退出群聊',
- '群类型': '群類型',
- '请填写验证信息': '請填寫驗證信息',
- '申请加入': '申請加入',
- '已申请': '已申請',
- '群公告': '群公告',
- '群成员': '群成員',
- '群管理': '群管理',
- '好友工作群': '好友工作群',
- '陌生人社交群': '陌生人社交群',
- '临时会议群': '臨時會議群',
- '直播群': '直播群',
- '社群': '社群',
- '自由加入': '自由加入',
- '需要验证': '需要驗證',
- '禁止加群': '禁止加群',
- '人': '人',
- '群头像': '群頭像',
- '加群方式': '加群方式',
- '转让群组': '轉讓群組',
- '退出群组': '退出群組',
- '群管理员': '群管理員',
- '全员禁言': '全員禁言',
- '全员禁言开启后,只允许群主和管理员发言。': '全員禁言開啟後,只允許群主和管理員發言。',
- '单独禁言人员': '單獨禁言人員',
- '删除成员': '刪除成員',
- '确定从群聊中删除该成员?': '確定從群聊中刪除該成員?',
- '确定从群聊中删除所选成员?': '確定從群聊中刪除所選成員?',
- '暂无公告': '暫無公告',
- '发布': '發布',
- '编辑': '編輯',
- '查看更多': '查看更多',
- '管理员': '管理員',
- '群主': '群主',
- '我': '我',
- '确认': '確認',
- '添加成员': '添加成員',
- '新增管理员': '新增管理員',
- '移除管理员': '移除管理員',
- '新增禁言用户': '新增禁言用戶',
- '移除禁言用户': '移除禁言用戶',
- '修改群聊名称': '修改群聊名稱',
- '修改群聊名称后,将在群内通知其他成员': '修改群聊名稱後,將在群內通知其他成員',
- '仅限中文、字母、数字和下划线,2-20个字': '僅限中文、字母、數字和下劃線,2-20個字',
- '请先注册 TUIGroup 模块': '請先註冊 TUIGroup 模塊',
- '该用户不存在': '該用戶不存在',
- '该用户不在群组内': '該用戶不在群組內',
- '添加群聊': '添加群聊',
- '该群组不存在': '該群組不存在',
- '创建群聊,请注册 TUIGroup 模块': '創建群聊,請註冊 TUIGroup 模塊',
- '创建成功': '創建成功',
- '发起多人会话(群聊)': '發起多人會話(群聊)',
- '选填': '選填',
- '取消': '取消',
- '创建': '創建',
- '类似普通微信群,创建后仅支持已在群内的好友邀请加群,且无需被邀请方同意或群主审批。详见':
- '類似普通微信群,創建後僅支持已在群內的好友邀請加群,且無需被邀請方同意或群主審批。詳見',
- '类似 QQ 群,创建后群主可以指定群管理员,用户搜索群 ID 发起加群申请后,需要群主或管理员审批通过才能入群。详见':
- '類似 QQ 群,創建後群主可以指定群管理員,用戶搜索群 ID 發起加群申請後,需要群主或管理員審批通過才能入群。詳見',
- '创建后可以随意进出,且支持查看入群前消息;适合用于音视频会议场景、在线教育场景等与实时音视频产品结合的场景。详见':
- '創建後可以隨意進出,且支持查看入群前消息;適合用於音視頻會議場景、在線教育場景等與實時音視頻產品結合的場景。詳見',
- '创建后可以随意进出,没有群成员数量上限,但不支持历史消息存储;适合与直播产品结合,用于弹幕聊天场景。详见':
- '創建後可以隨意進出,沒有群成員數量上限,但不支持歷史消息存儲;適合與直播產品結合,用於彈幕聊天場景。詳見',
- '创建后可以随意进出,最多支持100000人,支持历史消息存储,用户搜索群 ID 发起加群申请后,无需管理员审批即可进群。详见':
- '創建後可以隨意進出,最多支持100000人,支持歷史消息存儲,用戶搜索群 ID 發起加群申請後,無需管理員審批即可進群。詳見',
- '产品文档': '產品文檔',
- '设置群名称': '設置群名稱',
- '请输入群名称': '請輸入群名稱',
- '设置群ID': '設置群ID',
- '请输入群ID': '請輸入群ID',
- '选择群类型': '選擇群類型',
- '陌生人社交群(Public)': '陌生人社交群(Public)',
- '临时会议群(Meeting)': '臨時會議群(Meeting)',
- '好友工作群(Work)': '好友工作群(Work)',
- '直播群(AVChatroom)': '直播群(AVChatroom)',
- '社群(Community)': '社群(Community)',
- '群组创建成功': '群組創建成功',
- '群组解散成功': '群組解散成功',
- '禁言设置成功': '禁言設置成功',
- '取消禁言成功': '取消禁言成功',
- '群名称不能为空': '群名稱不能為空',
- '群名称修改成功': '群名稱修改成功',
- '群公告字数超出限制,最大长度为150': '群公告字數超出限制,最大長度為150'
-};
-
-export default TUIGroup;
diff --git a/src/TUIKit/locales/zh_tw/TUISearch.ts b/src/TUIKit/locales/zh_tw/TUISearch.ts
deleted file mode 100644
index c6bd5f5..0000000
--- a/src/TUIKit/locales/zh_tw/TUISearch.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-const TUISearch = {
- 搜索: '搜索',
- 全部: '全部',
- 联系人: '聯繫人',
- 群聊: '群聊',
- 聊天记录: '聊天記錄',
- 文本: '文本',
- 文件: '文件',
- '图片/视频': '圖片/視頻',
- 其他: '其他',
- 选择时间: '選擇時間',
- 今天: '今天',
- 近三天: '近三天',
- 近七天: '近七天',
- 查看更多: '查看更多',
- 条相关: '條相關',
- 条与: '條與',
- 相关的: '相關的',
- 进入聊天: '進入聊天',
- 定位到聊天位置: '定位到聊天位置',
- 搜索会话内容: '搜索會話內容',
- 查看更多历史记录: '查看更多歷史記錄',
- 暂无搜索结果: '暫無搜索結果',
- 结果: '結果',
- 取消: '取消',
- '[文本]': '[文本]',
- '[图片]': '[圖片]',
- '[语音]': '[語音]',
- '[视频]': '[視頻]',
- '[文件]': '[文件]',
- '[自定义消息]': '[自定義消息]',
- '[系统消息]': '[系統消息]',
- '[合并消息]': '[合併消息]',
- '[位置消息]': '[位置消息]',
- '消息云端搜索失败:': '消息雲端搜索失敗:',
- '查找联系人失败:': '查找聯繫人失敗:',
- '查找群聊失败:': '查找群聊失敗:',
- '进入会话失败': '進入會話失敗'
-};
-
-export default TUISearch;
diff --git a/src/TUIKit/locales/zh_tw/component.ts b/src/TUIKit/locales/zh_tw/component.ts
deleted file mode 100644
index ba9034a..0000000
--- a/src/TUIKit/locales/zh_tw/component.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-const components = {
- '取消': '取消',
- '完成': '完成',
- '已选中': '已選中',
- '人': '人',
- '保存': '保存',
- '请输入userID': '請輸入userID',
- '请输入groupID': '請輸入groupID',
- '确定': '確定',
- '全选': '全選',
- '已在群聊中': '已在群聊中',
- '查看更多': '查看更多',
- '图片 url 不存在': '圖片 url 不存在',
- '已取消': '已取消',
- '获取权限失败': '獲取權限失敗',
- '已保存至相册': '已保存至相冊',
- '图片下载失败': '圖片下載失敗',
- '暂不支持下载此类型图片': '暫不支持下載此類型圖片'
-};
-
-export default components;
diff --git a/src/TUIKit/locales/zh_tw/emoji.ts b/src/TUIKit/locales/zh_tw/emoji.ts
deleted file mode 100644
index 333168b..0000000
--- a/src/TUIKit/locales/zh_tw/emoji.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import { default as Emoji } from '../../components/TUIChat/emoji-config/locales/zh_tw';
-export default Emoji;
diff --git a/src/TUIKit/locales/zh_tw/evaluate.ts b/src/TUIKit/locales/zh_tw/evaluate.ts
deleted file mode 100644
index 2e87577..0000000
--- a/src/TUIKit/locales/zh_tw/evaluate.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-const Evaluate = {
- '请对本次服务进行评价': '請對本次服務進行評價',
- '提交评价': '提交評價',
- '服务评价工具': '服務評價工具',
- '使用': '使用',
- '自定义消息': '自定義消息',
- '搭建': '搭建',
- '星': '星'
-};
-
-export default Evaluate;
diff --git a/src/TUIKit/locales/zh_tw/index.ts b/src/TUIKit/locales/zh_tw/index.ts
deleted file mode 100644
index 5a307c4..0000000
--- a/src/TUIKit/locales/zh_tw/index.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import TUIChat from './TUIChat';
-import TUIConversation from './TUIConversation';
-import TUIGroup from './TUIGroup';
-import TUIContact from './TUIContact';
-import TUISearch from './TUISearch';
-
-import message from './message';
-import component from './component';
-import time from './time';
-
-import Words from './words';
-import Evaluate from './evaluate';
-import Emoji from './emoji';
-
-const messages = {
- zh_tw: {
- 取消: '取消',
- 发送: '發送',
- 系统通知: '系統通知',
- 关闭: '關閉',
- 确定: '確定',
- 开始时间: '開始時間',
- 结束时间: '結束時間',
- 消息: '消息',
- 通讯录: '通訊錄',
- 欢迎使用腾讯云即时通信IM: '歡迎使用騰訊雲即時通信IM',
- TUIChat,
- TUIConversation,
- TUIGroup,
- TUIContact,
- message,
- component,
- time,
- Evaluate,
- Words,
- TUISearch,
- Emoji
- }
-};
-
-export default messages;
diff --git a/src/TUIKit/locales/zh_tw/message.ts b/src/TUIKit/locales/zh_tw/message.ts
deleted file mode 100644
index 2e9288d..0000000
--- a/src/TUIKit/locales/zh_tw/message.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-const message = {
- 'tip': {
- '群成员': '群成員',
- '加入群组': '加入群組',
- '退出群组': '退出群組',
- '被': '被',
- '踢出群组': '踢出群組',
- '成为管理员': '成為管理員',
- '被撤销管理员': '被撤銷管理員',
- '被禁言': '被禁言',
- '被取消禁言': '被取消禁言',
- '群提示消息': '群提示消息',
- '管理员': '管理員',
- '开启全员禁言': '開啟全員禁言',
- '取消全员禁言': '取消全員禁言',
- '成为新的群主': '成為新的群主',
- '修改群名为': '修改群名為',
- '发布新公告': '發布新公告',
- '把群公告修改为': '把群公告修改為',
- '申请加入群组': '申請加入群組',
- '成功加入群组': '成功加入群組',
- '被拒绝': '被拒絕',
- '你被管理员': '你被管理員',
- '群': '群',
- '解散': '解散',
- '创建群': '創建群',
- '邀请你加群': '邀請你加群',
- '你退出群组': '你退出群組',
- '你被': '你被',
- '设置为群': '設置為群',
- '的管理员': '的管理員',
- '撤销群': '撤銷群',
- '的管理员身份': '的管理員身份',
- '同意加群': '同意加群',
- '拒接加群': '拒接加群',
- '自定义群系统通知': '自定義群系統通知'
- },
- 'custom': {
- '自定义消息': '自定義消息',
- '通话时长': '通話時長',
- '通话结束': '通話結束',
- '切换语音通话': '切換語音通話',
- '切换视频通话': '切換視頻通話',
- '发起通话': '發起通話',
- '取消通话': '取消通話',
- '已接听': '已接聽',
- '拒绝通话': '拒絕通話',
- '无应答': '無應答',
- '对本次服务评价': '對本次服務評價',
- '查看详情>>': '查看詳情>>',
- '已取消': '已取消',
- '对方已取消': '對方已取消',
- '已拒绝': '已拒絕',
- '对方已拒绝': '對方已拒絕',
- '对方忙线中': '對方忙線中',
- '忙线未接听': '忙線未接聽',
- '对方无应答': '對方無應答',
- '超时无应答': '超時無應答'
- }
-};
-
-export default message;
diff --git a/src/TUIKit/locales/zh_tw/time.ts b/src/TUIKit/locales/zh_tw/time.ts
deleted file mode 100644
index 505edba..0000000
--- a/src/TUIKit/locales/zh_tw/time.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-const time = {
- '周': '週',
- '天': '天',
- '小时': '小時',
- '分钟': '分鐘',
- '刚刚': '剛剛',
- '前': '前',
- '昨天': '昨天',
- '星期一': '星期一',
- '星期二': '星期二',
- '星期三': '星期三',
- '星期四': '星期四',
- '星期五': '星期五',
- '星期六': '星期六',
- '星期日': '星期日',
- '一月': '一月',
- '二月': '二月',
- '三月': '三月',
- '四月': '四月',
- '五月': '五月',
- '六月': '六月',
- '七月': '七月',
- '八月': '八月',
- '九月': '九月',
- '十月': '十月',
- '十一月': '十一月',
- '十二月': '十二月',
- '一': '一',
- '二': '二',
- '三': '三',
- '四': '四',
- '五': '五',
- '六': '六',
- '日': '日'
-};
-
-export default time;
diff --git a/src/TUIKit/locales/zh_tw/translate.ts b/src/TUIKit/locales/zh_tw/translate.ts
deleted file mode 100644
index 15f49a9..0000000
--- a/src/TUIKit/locales/zh_tw/translate.ts
+++ /dev/null
@@ -1,165 +0,0 @@
-const translate = {
- 'TUIKit-TUIChat-01': '撤回消息',
- 'TUIKit-TUIChat-02': '刪除消息',
- 'TUIKit-TUIChat-03': '重新發送',
- 'TUIKit-TUIChat-04': '轉發',
- 'TUIKit-TUIChat-05': '打開',
- 'TUIKit-TUIChat-06': '已讀',
- 'TUIKit-TUIChat-07': '未讀',
- 'TUIKit-TUIChat-08': '您',
- 'TUIKit-TUIChat-09': '撤回了一條消息',
- 'TUIKit-TUIChat-10': '重新編輯',
- 'TUIKit-TUIChat-11': '我',
- 'TUIKit-TUIChat-12': '查看更多',
- 'TUIKit-TUIChat-13': '轉發給',
- 'TUIKit-TUIChat-14': '請輸入消息',
- 'TUIKit-TUIChat-15': '描述',
- 'TUIKit-TUIChat-16': '經度',
- 'TUIKit-TUIChat-17': '緯度',
- 'TUIKit-TUIChat-18': '管理員開啟全員禁言',
- 'TUIKit-TUIChat-19': '您已被管理員禁言',
- 'TUIKit-TUIChat-20': '按Enter發送,Ctrl+Enter換行',
- 'TUIKit-TUIChat-mange-01': '群公告',
- 'TUIKit-TUIChat-mange-02': '群成員',
- 'TUIKit-TUIChat-mange-03': '群管理',
- 'TUIKit-TUIChat-mange-04': '好友工作群',
- 'TUIKit-TUIChat-mange-05': '陌生人社交群',
- 'TUIKit-TUIChat-mange-06': '臨時會議群',
- 'TUIKit-TUIChat-mange-07': '直播群',
- 'TUIKit-TUIChat-mange-08': '自由加入',
- 'TUIKit-TUIChat-mange-09': '需要驗證',
- 'TUIKit-TUIChat-mange-10': '禁止加群',
- 'TUIKit-TUIChat-mange-11': '人',
- 'TUIKit-TUIChat-mange-12': '群ID',
- 'TUIKit-TUIChat-mange-13': '群頭像',
- 'TUIKit-TUIChat-mange-14': '群類型',
- 'TUIKit-TUIChat-mange-15': '加群方式',
- 'TUIKit-TUIChat-mange-16': '轉讓群組',
- 'TUIKit-TUIChat-mange-17': '解散群聊',
- 'TUIKit-TUIChat-mange-18': '退出群組',
- 'TUIKit-TUIChat-mange-19': '群管理員',
- 'TUIKit-TUIChat-mange-20': '全員禁言',
- 'TUIKit-TUIChat-mange-21': '全員禁言開啟後,只允許群主和管理員發言。',
- 'TUIKit-TUIChat-mange-22': '單獨禁言人員',
- 'TUIKit-TUIChat-mange-23': '刪除成員',
- 'TUIKit-TUIChat-mange-24': '確定從群聊中刪除該成員?',
- 'TUIKit-TUIChat-mange-25': '確定從群聊中刪除所選成員?',
- 'TUIKit-TUIChat-mange-26': '暫無公告',
- 'TUIKit-TUIChat-mange-27': '發布',
- 'TUIKit-TUIChat-mange-28': '編輯',
- 'TUIKit-TUIChat-mange-29': '群名稱',
- 'TUIKit-TUIChat-mange-30': '查看更多',
- 'TUIKit-TUIChat-mange-31': '管理員',
- 'TUIKit-TUIChat-mange-32': '群主',
- 'TUIKit-TUIChat-mange-33': '我',
- 'TUIKit-TUIChat-mange-34': '添加成員',
- 'TUIKit-TUIChat-mange-35': '新增管理員',
- 'TUIKit-TUIChat-mange-36': '移除管理員',
- 'TUIKit-TUIChat-mange-37': '新增禁言用戶',
- 'TUIKit-TUIChat-mange-38': '移除禁言用戶',
- 'TUIKit-TUIContact-01': '群聊通知',
- 'TUIKit-TUIContact-02': '系統通知',
- 'TUIKit-TUIContact-03': '我的群聊',
- 'TUIKit-TUIContact-04': '輸入groupID搜索',
- 'TUIKit-TUIContact-05': '群名稱',
- 'TUIKit-TUIContact-06': '群ID',
- 'TUIKit-TUIContact-07': '加入群聊',
- 'TUIKit-TUIContact-08': '解散群聊',
- 'TUIKit-TUIContact-09': '退出群聊',
- 'TUIKit-TUIContact-10': '群類型',
- 'TUIKit-TUIContact-11': '請填寫驗證信息',
- 'TUIKit-TUIContact-12': '申請加入',
- 'TUIKit-TUIContact-13': '已申請',
- 'TUIKit-TUIContact-14': '接受',
- 'TUIKit-TUIContact-15': '拒絕',
- 'TUIKit-TUIContact-16': '已處理',
- 'TUIKit-TUIConversation-01': '發起單人/多人會話',
- 'TUIKit-TUIConversation-02': '請輸入userID',
- 'TUIKit-TUIConversation-03': '刪除會話',
- 'TUIKit-TUIConversation-04': '系統通知',
- 'TUIKit-TUIConversation-05': '發起多人會話(群聊)',
- 'TUIKit-TUIConversation-06': '群頭像',
- 'TUIKit-TUIConversation-07': '群名稱',
- 'TUIKit-TUIConversation-08': '群ID',
- 'TUIKit-TUIConversation-09': '群類型',
- 'TUIKit-TUIConversation-10': '選填',
- 'TUIKit-TUIConversation-11': '取消',
- 'TUIKit-TUIConversation-12': '創建',
- 'TUIKit-TUIConversation-13': '類似普通微信群,創建後僅支持已在群內的好友邀請加群,且無需被邀請方同意或群主審批。詳見產品文檔',
- 'TUIKit-TUIConversation-14': '類似 QQ 群,創建後群主可以指定群管理員,用戶搜索群 ID 發起加群申請後,需要群主或管理員審批通過才能入群。詳見產品文檔',
- 'TUIKit-TUIConversation-15':
- '創建後可以隨意進出,且支持查看入群前消息;適合用於音視頻會議場景、在線教育場景等與實時音視頻產品結合的場景。詳見產品文檔',
- 'TUIKit-TUIConversation-16': '創建後可以隨意進出,沒有群成員數量上限,但不支持歷史消息存儲;適合與直播產品結合,用於彈幕聊天場景。詳見產品文檔',
- 'TUIKit-TUIProfile-01': '資料設置',
- 'TUIKit-TUIProfile-02': '頭像',
- 'TUIKit-TUIProfile-03': '昵稱',
- 'TUIKit-TUIProfile-04': '賬號',
- 'TUIKit-TUIProfile-05': '個性簽名',
- 'TUIKit-TUIProfile-06': '性別',
- 'TUIKit-TUIProfile-07': '男',
- 'TUIKit-TUIProfile-08': '女',
- 'TUIKit-TUIProfile-09': '不顯示',
- 'TUIKit-TUIProfile-10': '出生年月',
- 'TUIKit-TUIProfile-11': '取消',
- 'TUIKit-TUIProfile-12': '保存',
- 'TUIKit-time-01': '週',
- 'TUIKit-time-02': '天',
- 'TUIKit-time-03': '小時',
- 'TUIKit-time-04': '分鐘',
- 'TUIKit-time-05': '剛剛',
- 'TUIKit-time-06': '前',
- 'TUIKit-message-tip-01': '群成員',
- 'TUIKit-message-tip-02': '加入群組',
- 'TUIKit-message-tip-03': '退出群組',
- 'TUIKit-message-tip-04': '被',
- 'TUIKit-message-tip-05': '踢出群組',
- 'TUIKit-message-tip-06': '成為管理員',
- 'TUIKit-message-tip-07': '被撤銷管理員',
- 'TUIKit-message-tip-08': '被禁言',
- 'TUIKit-message-tip-09': '被取消禁言',
- 'TUIKit-message-tip-10': '群提示消息',
- 'TUIKit-message-tip-11': '管理員',
- 'TUIKit-message-tip-12': '開啟全員禁言',
- 'TUIKit-message-tip-13': '取消全員禁言',
- 'TUIKit-message-tip-14': '成為新的群主',
- 'TUIKit-message-tip-15': '修改群名為',
- 'TUIKit-message-tip-16': '發布新公告',
- 'TUIKit-message-tip-17': '申請加入群組',
- 'TUIKit-message-tip-18': '成功加入群組',
- 'TUIKit-message-tip-19': '被拒絕',
- 'TUIKit-message-tip-20': '你被管理員',
- 'TUIKit-message-tip-21': '群',
- 'TUIKit-message-tip-22': '解散',
- 'TUIKit-message-tip-23': '創建群',
- 'TUIKit-message-tip-24': '邀請你加群',
- 'TUIKit-message-tip-25': '你退出群組',
- 'TUIKit-message-tip-26': '你被',
- 'TUIKit-message-tip-27': '設置為群',
- 'TUIKit-message-tip-28': '的管理員',
- 'TUIKit-message-tip-29': '撤銷群',
- 'TUIKit-message-tip-30': '的管理員身份',
- 'TUIKit-message-tip-31': '同意加群',
- 'TUIKit-message-tip-32': '拒接加群',
- 'TUIKit-message-tip-33': '自定義群系統通知',
- 'TUIKit-message-custom-01': '自定義消息',
- 'TUIKit-message-custom-02': '通話時長',
- 'TUIKit-message-custom-03': '結束群聊',
- 'TUIKit-message-custom-04': '切換語音通話',
- 'TUIKit-message-custom-05': '切換視頻通話',
- 'TUIKit-message-custom-06': '發起通話',
- 'TUIKit-message-custom-07': '取消通話',
- 'TUIKit-message-custom-08': '已接聽',
- 'TUIKit-message-custom-09': '拒絕通話',
- 'TUIKit-message-custom-10': '無應答',
- 'TUIKit-message-custom-11': '對本次服務評價',
- 'TUIKit-message-custom-12': '查看詳情>>',
- 'TUIKit-component-01': '取消',
- 'TUIKit-component-02': '完成',
- 'TUIKit-component-03': '已選中',
- 'TUIKit-component-04': '人',
- 'TUIKit-component-05': '保存',
- 'TUIKit-component-06': '發送',
- 'TUIKit-component-07': '系統通知'
-};
-
-export default translate;
diff --git a/src/TUIKit/locales/zh_tw/words.ts b/src/TUIKit/locales/zh_tw/words.ts
deleted file mode 100644
index d222e7b..0000000
--- a/src/TUIKit/locales/zh_tw/words.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-const Words = {
- '常用语-快捷回复工具': '常用語-快捷回覆工具',
- '在吗?在吗?在吗?重要的话说三遍。': '在嗎?在嗎?在嗎?重要的話說三遍。',
- '好久没聊天了,快来和我说说话~': '好久沒聊天了,快來和我說說話~',
- '好的,就这么说定了。': '好的,就這麼說定了。',
- '感恩的心,感谢有你。': '感恩的心,感謝有你。',
- '糟糕!是心动的感觉!': '糟糕!是心動的感覺!',
- '心疼地抱抱自己,我太难了!': '心疼地抱抱自己,我太難了!',
- '没关系,别在意,事情过去就过去了。': '沒關係,別在意,事情過去就過去了。',
- '早上好,今天也是让人期待的一天呢!': '早上好,今天也是讓人期待的一天呢!',
- '熬夜有什么用,又没人陪你聊天,早点休息吧。': '熬夜有什麼用,又沒人陪你聊天,早點休息吧。'
-};
-
-export default Words;
diff --git a/src/TUIKit/plugins/extension-server/callkit.ts b/src/TUIKit/plugins/extension-server/callkit.ts
deleted file mode 100644
index a5d4827..0000000
--- a/src/TUIKit/plugins/extension-server/callkit.ts
+++ /dev/null
@@ -1 +0,0 @@
-export default class CallkitPluginServer {}
diff --git a/src/TUIKit/plugins/plugin-components/index.ts b/src/TUIKit/plugins/plugin-components/index.ts
deleted file mode 100644
index 87a72eb..0000000
--- a/src/TUIKit/plugins/plugin-components/index.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import TUIChatEngine, { IMessageModel } from '@tencentcloud/chat-uikit-engine';
-import { isCustomerServicePluginMessage } from './message-customer/index';
-import { JSONToObject } from '../../utils/type-check';
-
-export function isCallMessage(message: IMessageModel): boolean {
- const payloadData = JSONToObject(message?.payload?.data);
- if (payloadData?.businessID === 1 && payloadData?.data) {
- const payloadDataData = JSONToObject(payloadData.data);
- if (payloadDataData.businessID === 'av_call') {
- return true;
- }
- }
- return false;
-}
-
-export function isRoomSignalingMessage(message: IMessageModel): boolean {
- const payloadData = JSONToObject(message?.payload?.data);
- return payloadData?.businessID === 'ROOM_INVITE_ACTION' || payloadData?.businessID === 'tuikit_engine_room';
-}
-
-export function isRoomCardMessage(message: IMessageModel): boolean {
- const payloadData = JSONToObject(message?.payload?.data);
- return payloadData?.businessID === 'group_room_message';
-}
-
-export function isPluginMessage(message: IMessageModel): boolean {
- return (
- message.type === TUIChatEngine.TYPES.MSG_CUSTOM &&
- (isCallMessage(message) || isCustomerServicePluginMessage(message as any) || isRoomCardMessage(message) || isRoomSignalingMessage(message))
- );
-}
diff --git a/src/TUIKit/plugins/plugin-components/message-call/message-call-c2c.vue b/src/TUIKit/plugins/plugin-components/message-call/message-call-c2c.vue
deleted file mode 100644
index 2450c2c..0000000
--- a/src/TUIKit/plugins/plugin-components/message-call/message-call-c2c.vue
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
diff --git a/src/TUIKit/plugins/plugin-components/message-call/message-call-group.vue b/src/TUIKit/plugins/plugin-components/message-call/message-call-group.vue
deleted file mode 100644
index 1547306..0000000
--- a/src/TUIKit/plugins/plugin-components/message-call/message-call-group.vue
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
- {{ custom }}
-
-
-
-
-
-
diff --git a/src/TUIKit/plugins/plugin-components/message-customer/index.ts b/src/TUIKit/plugins/plugin-components/message-customer/index.ts
deleted file mode 100644
index 45eaa0f..0000000
--- a/src/TUIKit/plugins/plugin-components/message-customer/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import { isCustomerServicePluginMessage, isMessageInvisible as isCustomServiceMessageInvisible } from '@tencentcloud/tui-customer-service-plugin';
-export { isCustomerServicePluginMessage, isCustomServiceMessageInvisible };
diff --git a/src/TUIKit/plugins/plugin-components/message-customer/message-customer-service.vue b/src/TUIKit/plugins/plugin-components/message-customer/message-customer-service.vue
deleted file mode 100644
index ec75ab4..0000000
--- a/src/TUIKit/plugins/plugin-components/message-customer/message-customer-service.vue
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
diff --git a/src/TUIKit/plugins/plugin-components/message-plugin-layout.vue b/src/TUIKit/plugins/plugin-components/message-plugin-layout.vue
deleted file mode 100644
index cd7eeca..0000000
--- a/src/TUIKit/plugins/plugin-components/message-plugin-layout.vue
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/TUIKit/plugins/plugin-components/message-plugin.vue b/src/TUIKit/plugins/plugin-components/message-plugin.vue
deleted file mode 100644
index 4454f31..0000000
--- a/src/TUIKit/plugins/plugin-components/message-plugin.vue
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/TUIKit/plugins/plugin-components/message-room/message-room-default.vue b/src/TUIKit/plugins/plugin-components/message-room/message-room-default.vue
deleted file mode 100644
index 6d28947..0000000
--- a/src/TUIKit/plugins/plugin-components/message-room/message-room-default.vue
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
- {{ TUITranslateService.t('message.custom.自定义消息') }}
-
-
-
-
diff --git a/src/TUIKit/plugins/plugin-components/message-room/message-room.vue b/src/TUIKit/plugins/plugin-components/message-room/message-room.vue
deleted file mode 100644
index 68e516f..0000000
--- a/src/TUIKit/plugins/plugin-components/message-room/message-room.vue
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
diff --git a/src/TUIKit/server.ts b/src/TUIKit/server.ts
deleted file mode 100644
index d0d2c48..0000000
--- a/src/TUIKit/server.ts
+++ /dev/null
@@ -1,167 +0,0 @@
-import TUICore, { TUILogin, TUIConstants } from '@tencentcloud/tui-core';
-import TUIChatEngine, { TUITranslateService } from '@tencentcloud/chat-uikit-engine';
-import { TUIGlobal } from '@tencentcloud/universal-api';
-import { ITUIComponents, ITUIPlugins } from './interface';
-import { isFunction, isObject } from './utils';
-import { isApp } from './utils/env';
-import CallkitPluginServer from './plugins/extension-server/callkit';
-// #ifndef MP-WEIXIN
-import TUILocales from './locales';
-// #endif
-export default class TUIChatKit {
- static isInitialized: boolean;
- public chat: any;
-
- public SDKAppID: number;
- public TUICore: any;
- public TUIChatEngine: any;
- public TUIGlobal: any;
- public TUIComponents: ITUIComponents = {};
- public TUIPlugins: ITUIPlugins = {};
-
- constructor() {
- this.TUICore = TUICore;
- this.TUIChatEngine = TUIChatEngine;
- this.TUIGlobal = TUIGlobal;
- this.SDKAppID = 0;
- this.TUIGlobal._isTIMCallKit = true;
- TUICore.registerEvent(TUIConstants.TUILogin.EVENT.LOGIN_STATE_CHANGED, TUIConstants.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS, this);
- TUICore.registerEvent(TUIConstants.TUITranslate.EVENT.LANGUAGE_CHANGED, TUIConstants.TUITranslate.EVENT_SUB_KEY.CHANGE_SUCCESS, this);
- // register translate and voiceToText service event tracking
- TUICore.registerService(TUIConstants.TUITranslatePlugin.SERVICE.NAME, 1);
- TUICore.registerService(TUIConstants.TUIVoiceToTextPlugin.SERVICE.NAME, 1);
- }
-
- /**
- * Listen for the success notification of TUILogin.login
- */
- public onNotifyEvent(eventName: string, subKey: string, params?: Record) {
- if (eventName === TUIConstants.TUILogin.EVENT.LOGIN_STATE_CHANGED) {
- switch (subKey) {
- case TUIConstants.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS:
- this.login();
- break;
- }
- }
- if (eventName === TUIConstants.TUITranslate.EVENT.LANGUAGE_CHANGED) {
- switch (subKey) {
- case TUIConstants.TUITranslate.EVENT_SUB_KEY.CHANGE_SUCCESS:
- if (params?.language) {
- TUITranslateService.changeLanguage(params.language);
- }
- break;
- }
- }
- }
-
- /**
- * init
- */
- public init() {
- // Backward compatibility, the new version executes the init operation by default in index.ts
- if (TUIChatKit.isInitialized) {
- return;
- }
- TUIChatKit.isInitialized = true;
- // Execute call server when native plugin TUICallKit exists
- if (isApp) {
- new CallkitPluginServer();
- }
- // TUITranslateService init
- // #ifndef MP-WEIXIN
- TUITranslateService.provideLanguages({ ...TUILocales });
- TUITranslateService.useI18n();
- // #endif
- // TUIComponents global install
- TUIGlobal.TUIComponents = this.TUIComponents;
- // TUIPlugins global install
- TUIGlobal.TUIPlugins = this.TUIPlugins;
- console.warn('[TUIChatKit]: init success.');
- }
-
- /**
- * login
- */
- public login() {
- const { chat, SDKAppID, userID, userSig } = TUILogin.getContext();
- this.SDKAppID = SDKAppID;
- this.TUIChatEngine.login({
- chat,
- SDKAppID,
- userID,
- userSig
- });
- this.chat = chat;
- return this.TUIChatEngine;
- }
-
- /**
- * Single component mounting
- *
- * @param {string} componentName
- * @param {any} component
- * @param {any=} env
- * @returns {TUICore} mounted instance
- */
- public component(componentName: string, component: any, env?: any) {
- if (this?.TUIComponents?.componentName) {
- console.warn(`[TUIChatKit]: ${this?.TUIComponents?.componentName} component has already been applied to target TUIChatEngine.`);
- } else {
- this.TUIComponents[componentName] = component;
- env?.component(componentName, component);
- }
- if (env) {
- !TUIGlobal.Vue && (TUIGlobal.Vue = env);
- }
- return this.TUIChatEngine;
- }
-
- /**
- * Component list mount
- *
- * @param {object} components
- * @param {any=} env: Vue2/Vue3 environment
- * @returns {TUICore} mounted instance
- */
- public components(components: object, env?: any) {
- if (!components || !isObject(components)) {
- console.warn('[TUIChatKit]: components is empty or not object.');
- } else {
- Object?.keys(components)?.forEach((key: string) => {
- this.component(key, components[key as keyof typeof components], env);
- });
- }
- return this.TUIChatEngine;
- }
-
- /**
- * Plugin Injection
- *
- * @param {any} TUIPlugin
- * @param {any} options
- * @returns {TUICore} mounted instance
- */
- public use(TUIPluginName: string, TUIPlugin: any, options?: any) {
- if (!this.TUICore) {
- console.warn(`[TUIChatKit]: Plugin ${this.TUIPlugins[TUIPluginName]} can't be used before init.`);
- return;
- }
- if (this.TUIPlugins[TUIPluginName]) {
- console.warn(`[TUIChatKit]: Plugin ${this.TUIPlugins[TUIPluginName]} has already been applied to target TUIChatEngine.`);
- } else if (TUIPlugin && isFunction(TUIPlugin?.plugin)) {
- this.TUIPlugins[TUIPluginName] = TUIPlugin;
- TUIPlugin?.plugin(this, options);
- } else if (isFunction(TUIPlugin)) {
- this.TUIPlugins[TUIPluginName] = TUIPlugin;
- TUIPlugin(this, options);
- } else {
- console.warn(
- '[TUIChatKit]: A plugin must either be a function or an object with an "plugin" ' +
- 'function.' +
- this.TUIPlugins[TUIPluginName] +
- 'does not comply with the above rules.'
- );
- }
- return this.TUIChatEngine;
- }
-}
diff --git a/src/TUIKit/shims-vue.d.ts b/src/TUIKit/shims-vue.d.ts
deleted file mode 100644
index 773505b..0000000
--- a/src/TUIKit/shims-vue.d.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/* eslint-disable */
-declare module "*.vue" {
- import type { DefineComponent } from "vue";
- const component: DefineComponent<{}, {}, any>;
- export default component;
-}
-
-declare module "*.svg";
-declare module "*.png";
-declare module "*.jpg";
-declare module "*.jpeg";
-declare module "*.gif";
-declare module "*.bmp";
-declare module "*.tiff";
-
-declare module "*.json" {
- const content: any;
- export default content;
-}
-
-declare module "dayjs";
-declare module "dayjs/plugin/localeData.js";
-declare module "dayjs/plugin/isSameOrAfter.js";
-declare module "dayjs/plugin/isSameOrBefore.js";
-
-declare module "marked-highlight";
-declare module "highlight.js";
-declare module "dompurify";
-declare module "marked";
diff --git a/src/TUIKit/utils/documentLink.ts b/src/TUIKit/utils/documentLink.ts
deleted file mode 100644
index 811627e..0000000
--- a/src/TUIKit/utils/documentLink.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-const Link = {
- product: {
- label: '产品文档',
- url: 'https://cloud.tencent.com/document/product/269/1499#.E7.BE.A4.E7.BB.84.E5.8A.9F.E8.83.BD'
- },
- customMessage: {
- label: '自定义消息',
- url: 'https://web.sdk.qcloud.com/im/doc/v3/zh-cn/SDK.html#createCustomMessage'
- },
- complaint: {
- label: '点此投诉',
- url: 'https://cloud.tencent.com/apply/p/xc3oaubi98g'
- },
- implement: {
- label: '集成TUICallKit',
- url: 'https://cloud.tencent.com/document/product/269/79861'
- },
- purchase: {
- label: '开通腾讯实时音视频服务',
- url: 'https://cloud.tencent.com/document/product/1640/79968'
- }
-};
-export default Link;
diff --git a/src/TUIKit/utils/enableSampleTaskStatus.ts b/src/TUIKit/utils/enableSampleTaskStatus.ts
deleted file mode 100644
index d0343a8..0000000
--- a/src/TUIKit/utils/enableSampleTaskStatus.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { TUIStore, StoreName } from '@tencentcloud/chat-uikit-engine';
-export function enableSampleTaskStatus(taskKey: string) {
- const tasks = TUIStore.getData(StoreName.APP, 'tasks');
- if (taskKey in tasks && !tasks[taskKey]) {
- tasks[taskKey] = true;
- TUIStore.update(StoreName.APP, 'tasks', tasks);
- }
-}
diff --git a/src/TUIKit/utils/env.ts b/src/TUIKit/utils/env.ts
deleted file mode 100644
index 12bc523..0000000
--- a/src/TUIKit/utils/env.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { getPlatform } from '@tencentcloud/universal-api';
-
-declare const uni: any;
-
-export const isPC = getPlatform() === 'pc';
-
-export const isH5 = getPlatform() === 'h5';
-
-export const isWeChat = getPlatform() === 'wechat';
-
-export const isApp = getPlatform() === 'app';
-
-export const isUniFrameWork = typeof uni !== 'undefined';
-
-// H5, mini programs, and apps are all considered mobile.
-// If you need to unify the mobile UI style, you can directly use isMobile to control
-export const isMobile = isH5 || isWeChat || isApp;
diff --git a/src/TUIKit/utils/index.ts b/src/TUIKit/utils/index.ts
deleted file mode 100644
index c506df9..0000000
--- a/src/TUIKit/utils/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from "./type-check";
diff --git a/src/TUIKit/utils/lodash.ts b/src/TUIKit/utils/lodash.ts
deleted file mode 100644
index 0c77c6f..0000000
--- a/src/TUIKit/utils/lodash.ts
+++ /dev/null
@@ -1,169 +0,0 @@
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-nocheck
-/** Error message constants. */
-const FUNC_ERROR_TEXT = 'Expected a function';
-
-interface IDebounceOptions {
- leading?: boolean;
- maxWait?: number;
- trailing?: boolean;
-}
-
-type IThrottleOptions = IDebounceOptions;
-
-function throttle(func, wait: number, options?: IThrottleOptions) {
- let leading = true,
- trailing = true;
-
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- if (options && isObject(options)) {
- leading = 'leading' in options ? !!options.leading : leading;
- trailing = 'trailing' in options ? !!options.trailing : trailing;
- }
- return debounce(func, wait, {
- leading: leading,
- maxWait: wait,
- trailing: trailing,
- });
-}
-
-function debounce(func, wait: number, options?: IDebounceOptions) {
- let lastArgs,
- lastThis,
- maxWait,
- result,
- timerId,
- lastCallTime,
- lastInvokeTime = 0,
- leading = false,
- maxing = false,
- trailing = true;
-
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- wait = wait || 0;
- if (options && isObject(options)) {
- leading = !!options.leading;
- maxing = 'maxWait' in options;
- maxWait = maxing ? Math.max(options.maxWait || 0, wait) : maxWait;
- trailing = 'trailing' in options ? !!options.trailing : trailing;
- }
-
- function invokeFunc(time) {
- const args = lastArgs,
- thisArg = lastThis;
-
- lastArgs = lastThis = undefined;
- lastInvokeTime = time;
- result = func.apply(thisArg, args);
- return result;
- }
-
- function leadingEdge(time) {
- // Reset any `maxWait` timer.
- lastInvokeTime = time;
- // Start the timer for the trailing edge.
- timerId = setTimeout(timerExpired, wait);
- // Invoke the leading edge.
- return leading ? invokeFunc(time) : result;
- }
-
- function remainingWait(time) {
- const timeSinceLastCall = time - lastCallTime,
- timeSinceLastInvoke = time - lastInvokeTime,
- timeWaiting = wait - timeSinceLastCall;
-
- return maxing
- ? Math.min(timeWaiting, maxWait - timeSinceLastInvoke)
- : timeWaiting;
- }
-
- function shouldInvoke(time) {
- const timeSinceLastCall = time - lastCallTime,
- timeSinceLastInvoke = time - lastInvokeTime;
-
- // Either this is the first call, activity has stopped and we're at the
- // trailing edge, the system time has gone backwards and we're treating
- // it as the trailing edge, or we've hit the `maxWait` limit.
- return (lastCallTime === undefined || (timeSinceLastCall >= wait)
- || (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
- }
-
- function timerExpired() {
- const time = Date.now();
- if (shouldInvoke(time)) {
- return trailingEdge(time);
- }
- // Restart the timer.
- timerId = setTimeout(timerExpired, remainingWait(time));
- }
-
- function trailingEdge(time) {
- timerId = undefined;
-
- // Only invoke if we have `lastArgs` which means `func` has been
- // debounced at least once.
- if (trailing && lastArgs) {
- return invokeFunc(time);
- }
- lastArgs = lastThis = undefined;
- return result;
- }
-
- function cancel() {
- if (timerId !== undefined) {
- clearTimeout(timerId);
- }
- lastInvokeTime = 0;
- lastArgs = lastCallTime = lastThis = timerId = undefined;
- }
-
- function flush() {
- return timerId === undefined ? result : trailingEdge(Date.now());
- }
-
- function debounced() {
- const time = Date.now(),
- isInvoking = shouldInvoke(time);
-
- // eslint-disable-next-line prefer-rest-params
- lastArgs = arguments;
-
- // @ts-expect-error ignore this type
- // eslint-disable-next-line @typescript-eslint/no-this-alias
- lastThis = this;
- lastCallTime = time;
-
- if (isInvoking) {
- if (timerId === undefined) {
- return leadingEdge(lastCallTime);
- }
- if (maxing) {
- // Handle invocations in a tight loop.
- clearTimeout(timerId);
- timerId = setTimeout(timerExpired, wait);
- return invokeFunc(lastCallTime);
- }
- }
- if (timerId === undefined) {
- timerId = setTimeout(timerExpired, wait);
- }
- return result;
- }
- debounced.cancel = cancel;
- debounced.flush = flush;
- return debounced;
-}
-
-function isObject(value) {
- const type = typeof value;
- return value != null && (type == 'object' || type == 'function');
-}
-
-export {
- debounce,
- throttle,
-};
diff --git a/src/TUIKit/utils/riseInput.ts b/src/TUIKit/utils/riseInput.ts
deleted file mode 100644
index 68811ca..0000000
--- a/src/TUIKit/utils/riseInput.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import { isIOS } from '@tencentcloud/universal-api';
-const ua = navigator.userAgent;
-
-function getScrollTypeByPlatform() {
- if (isIOS) {
- if (/Safari\//.test(ua) || /IOS 11_[0-3]\D/.test(ua)) {
- // Safari IOS 11.0-11.3 exclude(`scrollTop`/`scrolIntoView` not working)
- return 0;
- }
- // IOS: use `scrollTop`
- return 1;
- }
- // Android: use `scrollIntoView`
- return 2;
-}
-
-export default function riseInput(input: HTMLElement, target?: HTMLElement) {
- const scrollType = getScrollTypeByPlatform();
- let scrollTimer: ReturnType;
-
- if (!target) {
- target = input;
- }
-
- const scrollIntoView = () => {
- if (scrollType === 0) return;
- if (scrollType === 1) {
- document.body.scrollTop = document.body.scrollHeight;
- } else {
- target?.scrollIntoView(false);
- }
- };
-
- input.addEventListener('focus', () => {
- const timer = setTimeout(() => {
- scrollIntoView();
- clearTimeout(timer);
- }, 300);
- scrollTimer = setTimeout(scrollIntoView, 1000);
- });
-
- input.addEventListener('blur', () => {
- clearTimeout(scrollTimer);
- // Handle IOS issues about keyboard is hidden but page not refreshed
- if (scrollType && isIOS) {
- const timer = setTimeout(() => {
- document.body.scrollIntoView();
- clearTimeout(timer);
- });
- }
- });
-}
diff --git a/src/TUIKit/utils/type-check.ts b/src/TUIKit/utils/type-check.ts
deleted file mode 100644
index d847ac0..0000000
--- a/src/TUIKit/utils/type-check.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-const objectToString = Object.prototype.toString;
-const toTypeString = (value: any) => objectToString.call(value);
-
-export const { isArray } = Array;
-export const isMap = (val: any) => toTypeString(val) === '[object Map]';
-export const isSet = (val: any) => toTypeString(val) === '[object Set]';
-export const isDate = (val: any) => val instanceof Date;
-export const isFunction = (val: any) => typeof val === 'function';
-export const isString = (val: any) => typeof val === 'string';
-export const isSymbol = (val: any) => typeof val === 'symbol';
-export const isObject = (val: any) => val !== null && typeof val === 'object';
-export const isPromise = (val: any) => isObject(val) && isFunction(val.then) && isFunction(val.catch);
-// Determine whether it is url
-export const isUrl = (url: string) => {
- return /^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(url);
-};
-
-// Determine if it is a JSON string
-export const isJSON = (str: string) => {
- if (typeof str === 'string') {
- try {
- const data = JSON.parse(str);
- if (data) {
- return true;
- }
- return false;
- } catch (error: any) {
- return false;
- }
- }
- return false;
-};
-
-// Determine if it is a JSON string
-export const JSONToObject = (str: string) => {
- if (!str || !isJSON(str)) {
- return str;
- }
- return JSON.parse(str);
-};
diff --git a/src/main.ts b/src/main.ts
index 2cba8da..46b66a6 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,47 +1,42 @@
-import { createApp } from 'vue';
// global css
import 'virtual:uno.css';
import '@/assets/styles/index.scss';
import 'element-plus/theme-chalk/dark/css-vars.css';
-
-// App、router、store
-import App from './App.vue';
-import store from './store';
-import router from './router';
-import { TUIComponents, TUIChatKit } from './TUIKit';
-import { TUIStore, StoreName, TUITranslateService } from '@tencentcloud/chat-uikit-engine';
-import TUINotification from './TUIKit/components/TUINotification/index';
-// 自定义指令
-import directive from './directive';
-
-// 注册插件
-import plugins from './plugins/index'; // plugins
-
// 高亮组件
// import 'highlight.js/styles/a11y-light.css';
import 'highlight.js/styles/atom-one-dark.css';
import 'highlight.js/lib/common';
-import HighLight from '@highlightjs/vue-plugin';
-
// svg图标
import 'virtual:svg-icons-register';
-import ElementIcons from '@/plugins/svgicon';
-
// permission control
import './permission';
+import 'vxe-table/lib/style.css';
-// 国际化
-import i18n from '@/lang/index';
-
+// App、router、store
+import App from './App.vue';
+// 修改 el-dialog 默认点击遮照为不关闭
+import { ElDialog } from 'element-plus';
+import ElementIcons from '@/plugins/svgicon';
+import HighLight from '@highlightjs/vue-plugin';
// vxeTable
import VXETable from 'vxe-table';
-import 'vxe-table/lib/style.css';
+import { createApp } from 'vue';
+// import { TUIComponents, TUIChatKit } from './TUIKit';
+// import { TUIStore, StoreName, TUITranslateService } from '@tencentcloud/chat-uikit-engine';
+// import TUINotification from './TUIKit/components/TUINotification/index';
+// 自定义指令
+import directive from './directive';
+// 国际化
+import i18n from '@/lang/index';
+// 注册插件
+import plugins from './plugins/index'; // plugins
+import router from './router';
+import store from './store';
+
VXETable.setConfig({
zIndex: 999999
});
-// 修改 el-dialog 默认点击遮照为不关闭
-import { ElDialog } from 'element-plus';
ElDialog.props.closeOnClickModal.default = false;
const app = createApp(App);
@@ -63,27 +58,27 @@ const SDKAppID = 1600089570; // Your SDKAppID
const secretKey = 'b84abcf1d5c41a702b1c63fe50adaa1bc77cc51233d0073f044e25c6f21fcb58';
const userSig =
'eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwpX5pUCUk5mYl16ckZgPVVKckp1YUJCZomRlaGZgYGBhaWpuAJFJrSjILEoFipuamhoBpSCiJZm5IDFzEwtTSwsTY2OoKZnpQBtcPYq8XMvLkiKjTC1yDPLcM53zI7yS3POLLfyyDSNzK0ucjMOT-Q1Lgn09bZVqAf37Nfg_'; // Your secretKey
-TUIChatKit.components(TUIComponents, app);
-TUIChatKit.init();
+// TUIChatKit.components(TUIComponents, app);
+// TUIChatKit.init();
/**
* Init TUINotification configuration.
*/
-TUINotification.setNotificationConfiguration({
- showPreviews: true,
- allowNotifications: true,
- notificationTitle: 'Tencent Cloud Chat',
- notificationIcon: 'https://web.sdk.qcloud.com/im/demo/latest/faviconnew.png'
-});
+// TUINotification.setNotificationConfiguration({
+// showPreviews: true,
+// allowNotifications: true,
+// notificationTitle: 'Tencent Cloud Chat',
+// notificationIcon: 'https://web.sdk.qcloud.com/im/demo/latest/faviconnew.png'
+// });
/**
* Listen for new messages and use notification components.
* This capability is only available in the web environment.
*/
-TUIStore.watch(StoreName.CHAT, {
- newMessageList: (newMessageList: unknown) => {
- if (Array.isArray(newMessageList)) {
- newMessageList.forEach((message) => TUINotification.notify(message));
- }
- }
-});
+// TUIStore.watch(StoreName.CHAT, {
+// newMessageList: (newMessageList: unknown) => {
+// if (Array.isArray(newMessageList)) {
+// newMessageList.forEach((message) => TUINotification.notify(message));
+// }
+// }
+// });
export { SDKAppID, secretKey, userSig };