>>0,A+=v>>0}Q.sum64_4_hi=U0;function k0(e,t,r,i,n,o,h,p){var A=t+i+o+p;return A>>>0}Q.sum64_4_lo=k0;function q0(e,t,r,i,n,o,h,p,A,v){var w=0,y=t;y=y+i>>>0,w+=y>>0,w+=y>>0,w+=y>>0,w+=y>>0}Q.sum64_5_hi=q0;function K0(e,t,r,i,n,o,h,p,A,v){var w=t+i+o+p+v;return w>>>0}Q.sum64_5_lo=K0;function H0(e,t,r){var i=t<<32-r|e>>>r;return i>>>0}Q.rotr64_hi=H0;function L0(e,t,r){var i=e<<32-r|t>>>r;return i>>>0}Q.rotr64_lo=L0;function z0(e,t,r){return e>>>r}Q.shr64_hi=z0;function j0(e,t,r){var i=e<<32-r|t>>>r;return i>>>0}Q.shr64_lo=j0;var or={},yf=Q,Q0=xr;function qr(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian=\"big\",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}or.BlockHash=qr,qr.prototype.update=function(t,r){if(t=yf.toArray(t,r),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){t=this.pending;var i=t.length%this._delta8;this.pending=t.slice(t.length-i,t.length),this.pending.length===0&&(this.pending=null),t=yf.join32(t,0,t.length-i,this.endian);for(var n=0;n>>24&255,n[o++]=t>>>16&255,n[o++]=t>>>8&255,n[o++]=t&255}else for(n[o++]=t&255,n[o++]=t>>>8&255,n[o++]=t>>>16&255,n[o++]=t>>>24&255,n[o++]=0,n[o++]=0,n[o++]=0,n[o++]=0,h=8;h>>3}ae.g0_256=W0;function X0(e){return ue(e,17)^ue(e,19)^e>>>10}ae.g1_256=X0;var ar=Q,$0=or,Z0=ae,Ti=ar.rotl32,Mr=ar.sum32,ta=ar.sum32_5,ea=Z0.ft_1,Ef=$0.BlockHash,ra=[1518500249,1859775393,2400959708,3395469782];function he(){if(!(this instanceof he))return new he;Ef.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}ar.inherits(he,Ef);var ia=he;he.blockSize=512,he.outSize=160,he.hmacStrength=80,he.padLength=64,he.prototype._update=function(t,r){for(var i=this.W,n=0;n<16;n++)i[n]=t[r+n];for(;nthis.blockSize&&(t=new this.Hash().update(t).digest()),ja(t.length<=this.blockSize);for(var r=t.length;r>8,S=w&255;y?A.push(y,S):A.push(S)}return A}r.toArray=i;function n(h){return h.length===1?\"0\"+h:h}r.zero2=n;function o(h){for(var p=\"\",A=0;A(S>>1)-1?C=(S>>1)-D:C=D,N.isubn(C)):C=0,y[I]=C,N.iushrn(1)}return y}r.getNAF=i;function n(A,v){var w=[[],[]];A=A.clone(),v=v.clone();for(var y=0,S=0,N;A.cmpn(-y)>0||v.cmpn(-S)>0;){var I=A.andln(3)+y&3,C=v.andln(3)+S&3;I===3&&(I=-1),C===3&&(C=-1);var D;I&1?(N=A.andln(7)+y&7,(N===3||N===5)&&C===2?D=-I:D=I):D=0,w[0].push(D);var U;C&1?(N=v.andln(7)+S&7,(N===3||N===5)&&I===2?U=-C:U=C):U=0,w[1].push(U),2*y===D+1&&(y=1-y),2*S===U+1&&(S=1-S),A.iushrn(1),v.iushrn(1)}return w}r.getJSF=n;function o(A,v,w){var y=\"_\"+v;A.prototype[v]=function(){return this[y]!==void 0?this[y]:this[y]=w.call(this)}}r.cachedProperty=o;function h(A){return typeof A==\"string\"?r.toArray(A,\"hex\"):A}r.parseBytes=h;function p(A){return new K(A,\"hex\",\"le\")}r.intFromLE=p}),Hr=Gt.getNAF,Ga=Gt.getJSF,Lr=Gt.assert;function Ce(e,t){this.type=e,this.p=new K(t.p,16),this.red=t.prime?K.red(t.prime):K.mont(this.p),this.zero=new K(0).toRed(this.red),this.one=new K(1).toRed(this.red),this.two=new K(2).toRed(this.red),this.n=t.n&&new K(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var $e=Ce;Ce.prototype.point=function(){throw new Error(\"Not implemented\")},Ce.prototype.validate=function(){throw new Error(\"Not implemented\")},Ce.prototype._fixedNafMul=function(t,r){Lr(t.precomputed);var i=t._getDoubles(),n=Hr(r,1,this._bitLength),o=(1<=p;v--)A=(A<<1)+n[v];h.push(A)}for(var w=this.jpoint(null,null,null),y=this.jpoint(null,null,null),S=o;S>0;S--){for(p=0;p=0;A--){for(var v=0;A>=0&&h[A]===0;A--)v++;if(A>=0&&v++,p=p.dblp(v),A<0)break;var w=h[A];Lr(w!==0),t.type===\"affine\"?w>0?p=p.mixedAdd(o[w-1>>1]):p=p.mixedAdd(o[-w-1>>1].neg()):w>0?p=p.add(o[w-1>>1]):p=p.add(o[-w-1>>1].neg())}return t.type===\"affine\"?p.toP():p},Ce.prototype._wnafMulAdd=function(t,r,i,n,o){var h=this._wnafT1,p=this._wnafT2,A=this._wnafT3,v=0,w,y,S;for(w=0;w=1;w-=2){var I=w-1,C=w;if(h[I]!==1||h[C]!==1){A[I]=Hr(i[I],h[I],this._bitLength),A[C]=Hr(i[C],h[C],this._bitLength),v=Math.max(A[I].length,v),v=Math.max(A[C].length,v);continue}var D=[r[I],null,null,r[C]];r[I].y.cmp(r[C].y)===0?(D[1]=r[I].add(r[C]),D[2]=r[I].toJ().mixedAdd(r[C].neg())):r[I].y.cmp(r[C].y.redNeg())===0?(D[1]=r[I].toJ().mixedAdd(r[C]),D[2]=r[I].add(r[C].neg())):(D[1]=r[I].toJ().mixedAdd(r[C]),D[2]=r[I].toJ().mixedAdd(r[C].neg()));var U=[-3,-1,-5,-7,0,7,5,1,3],J=Ga(i[I],i[C]);for(v=Math.max(J[0].length,v),A[I]=new Array(v),A[C]=new Array(v),y=0;y=0;w--){for(var Pt=0;w>=0;){var W=!0;for(y=0;y=0&&Pt++,H=H.dblp(Pt),w<0)break;for(y=0;y0?S=p[y][Rt-1>>1]:Rt<0&&(S=p[y][-Rt-1>>1].neg()),S.type===\"affine\"?H=H.mixedAdd(S):H=H.add(S))}}for(w=0;w=Math.ceil((t.bitLength()+1)/r.step):!1},Zt.prototype._getDoubles=function(t,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,o=0;o=0&&(N=v,I=w),y.negative&&(y=y.neg(),S=S.neg()),N.negative&&(N=N.neg(),I=I.neg()),[{a:y,b:S},{a:N,b:I}]},te.prototype._endoSplit=function(t){var r=this.endo.basis,i=r[0],n=r[1],o=n.b.mul(t).divRound(this.n),h=i.b.neg().mul(t).divRound(this.n),p=o.mul(i.a),A=h.mul(n.a),v=o.mul(i.b),w=h.mul(n.b),y=t.sub(p).sub(A),S=v.add(w).neg();return{k1:y,k2:S}},te.prototype.pointFromX=function(t,r){t=new K(t,16),t.red||(t=t.toRed(this.red));var i=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(n.redSqr().redSub(i).cmp(this.zero)!==0)throw new Error(\"invalid point\");var o=n.fromRed().isOdd();return(r&&!o||!r&&o)&&(n=n.redNeg()),this.point(t,n)},te.prototype.validate=function(t){if(t.inf)return!0;var r=t.x,i=t.y,n=this.a.redMul(r),o=r.redSqr().redMul(r).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(o).cmpn(0)===0},te.prototype._endoWnafMulAdd=function(t,r,i){for(var n=this._endoWnafT1,o=this._endoWnafT2,h=0;h\":\"\"},Dt.prototype.isInfinity=function(){return this.inf},Dt.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(this.x.cmp(t.x)===0)return this.curve.point(null,null);var r=this.y.redSub(t.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(t.x).redInvm()));var i=r.redSqr().redISub(this.x).redISub(t.x),n=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},Dt.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(t.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,i=this.x.redSqr(),n=t.redInvm(),o=i.redAdd(i).redIAdd(i).redIAdd(r).redMul(n),h=o.redSqr().redISub(this.x.redAdd(this.x)),p=o.redMul(this.x.redSub(h)).redISub(this.y);return this.curve.point(h,p)},Dt.prototype.getX=function(){return this.x.fromRed()},Dt.prototype.getY=function(){return this.y.fromRed()},Dt.prototype.mul=function(t){return t=new K(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},Dt.prototype.mulAdd=function(t,r,i){var n=[this,r],o=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,o):this.curve._wnafMulAdd(1,n,o,2)},Dt.prototype.jmulAdd=function(t,r,i){var n=[this,r],o=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,o,!0):this.curve._wnafMulAdd(1,n,o,2,!0)},Dt.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||this.x.cmp(t.x)===0&&this.y.cmp(t.y)===0)},Dt.prototype.neg=function(t){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var i=this.precomputed,n=function(o){return o.neg()};r.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return r},Dt.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var t=this.curve.jpoint(this.x,this.y,this.curve.one);return t};function Ft(e,t,r,i){$e.BasePoint.call(this,e,\"jacobian\"),t===null&&r===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new K(0)):(this.x=new K(t,16),this.y=new K(r,16),this.z=new K(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Ki(Ft,$e.BasePoint),te.prototype.jpoint=function(t,r,i){return new Ft(this,t,r,i)},Ft.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),r=t.redSqr(),i=this.x.redMul(r),n=this.y.redMul(r).redMul(t);return this.curve.point(i,n)},Ft.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Ft.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var r=t.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(r),o=t.x.redMul(i),h=this.y.redMul(r.redMul(t.z)),p=t.y.redMul(i.redMul(this.z)),A=n.redSub(o),v=h.redSub(p);if(A.cmpn(0)===0)return v.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var w=A.redSqr(),y=w.redMul(A),S=n.redMul(w),N=v.redSqr().redIAdd(y).redISub(S).redISub(S),I=v.redMul(S.redISub(N)).redISub(h.redMul(y)),C=this.z.redMul(t.z).redMul(A);return this.curve.jpoint(N,I,C)},Ft.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var r=this.z.redSqr(),i=this.x,n=t.x.redMul(r),o=this.y,h=t.y.redMul(r).redMul(this.z),p=i.redSub(n),A=o.redSub(h);if(p.cmpn(0)===0)return A.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var v=p.redSqr(),w=v.redMul(p),y=i.redMul(v),S=A.redSqr().redIAdd(w).redISub(y).redISub(y),N=A.redMul(y.redISub(S)).redISub(o.redMul(w)),I=this.z.redMul(p);return this.curve.jpoint(S,N,I)},Ft.prototype.dblp=function(t){if(t===0)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var i=this;for(r=0;r=0)return!1;if(i.redIAdd(o),this.x.cmp(i)===0)return!0}},Ft.prototype.inspect=function(){return this.isInfinity()?\"\":\"\"},Ft.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var zr=lr(function(e,t){var r=t;r.base=$e,r.short=Va,r.mont=null,r.edwards=null}),jr=lr(function(e,t){var r=t,i=Gt.assert;function n(p){p.type===\"short\"?this.curve=new zr.short(p):p.type===\"edwards\"?this.curve=new zr.edwards(p):this.curve=new zr.mont(p),this.g=this.curve.g,this.n=this.curve.n,this.hash=p.hash,i(this.g.validate(),\"Invalid curve\"),i(this.g.mul(this.n).isInfinity(),\"Invalid curve, G*N != O\")}r.PresetCurve=n;function o(p,A){Object.defineProperty(r,p,{configurable:!0,enumerable:!0,get:function(){var v=new n(A);return Object.defineProperty(r,p,{configurable:!0,enumerable:!0,value:v}),v}})}o(\"p192\",{type:\"short\",prime:\"p192\",p:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",b:\"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",n:\"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",hash:se.sha256,gRed:!1,g:[\"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"]}),o(\"p224\",{type:\"short\",prime:\"p224\",p:\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",b:\"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",n:\"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",hash:se.sha256,gRed:!1,g:[\"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"]}),o(\"p256\",{type:\"short\",prime:null,p:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",a:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",b:\"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",n:\"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",hash:se.sha256,gRed:!1,g:[\"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"]}),o(\"p384\",{type:\"short\",prime:null,p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",a:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",b:\"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",n:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",hash:se.sha384,gRed:!1,g:[\"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"]}),o(\"p521\",{type:\"short\",prime:null,p:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",a:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",b:\"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",n:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",hash:se.sha512,gRed:!1,g:[\"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"]}),o(\"curve25519\",{type:\"mont\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"76d06\",b:\"1\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:se.sha256,gRed:!1,g:[\"9\"]}),o(\"ed25519\",{type:\"edwards\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"-1\",c:\"1\",d:\"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:se.sha256,gRed:!1,g:[\"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\"6666666666666666666666666666666666666666666666666666666666666658\"]});var h;try{h=null.crash()}catch{h=void 0}o(\"secp256k1\",{type:\"short\",prime:\"k256\",p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",a:\"0\",b:\"7\",n:\"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",h:\"1\",hash:se.sha256,beta:\"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",lambda:\"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",basis:[{a:\"3086d221a7d46bcde86c90e49284eb15\",b:\"-e4437ed6010e88286f547fa90abfe4c3\"},{a:\"114ca50f7a8e2f3f657c1108d9d44cfd8\",b:\"3086d221a7d46bcde86c90e49284eb15\"}],gRed:!1,g:[\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",h]})});function Re(e){if(!(this instanceof Re))return new Re(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=fe.toArray(e.entropy,e.entropyEnc||\"hex\"),r=fe.toArray(e.nonce,e.nonceEnc||\"hex\"),i=fe.toArray(e.pers,e.persEnc||\"hex\");qi(t.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._init(t,r,i)}var qf=Re;Re.prototype._init=function(t,r,i){var n=t.concat(r).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var o=0;o=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._update(t.concat(i||[])),this._reseed=1},Re.prototype.generate=function(t,r,i,n){if(this._reseed>this.reseedInterval)throw new Error(\"Reseed is required\");typeof r!=\"string\"&&(n=i,i=r,r=null),i&&(i=fe.toArray(i,n||\"hex\"),this._update(i));for(var o=[];o.length\"};var Wa=Gt.assert;function Qr(e,t){if(e instanceof Qr)return e;this._importDER(e,t)||(Wa(e.r&&e.s,\"Signature without r or s\"),this.r=new K(e.r,16),this.s=new K(e.s,16),e.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var Jr=Qr;function Xa(){this.place=0}function zi(e,t){var r=e[t.place++];if(!(r&128))return r;var i=r&15;if(i===0||i>4)return!1;for(var n=0,o=0,h=t.place;o>>=0;return n<=127?!1:(t.place=h,n)}function Kf(e){for(var t=0,r=e.length-1;!e[t]&&!(e[t+1]&128)&&t>>3);for(e.push(r|128);--r;)e.push(t>>>(r<<3)&255);e.push(t)}Qr.prototype.toDER=function(t){var r=this.r.toArray(),i=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),i[0]&128&&(i=[0].concat(i)),r=Kf(r),i=Kf(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];ji(n,r.length),n=n.concat(r),n.push(2),ji(n,i.length);var o=n.concat(i),h=[48];return ji(h,o.length),h=h.concat(o),Gt.encode(h,t)};var $a=function(){throw new Error(\"unsupported\")},Hf=Gt.assert;function ee(e){if(!(this instanceof ee))return new ee(e);typeof e==\"string\"&&(Hf(Object.prototype.hasOwnProperty.call(jr,e),\"Unknown curve \"+e),e=jr[e]),e instanceof jr.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var Za=ee;ee.prototype.keyPair=function(t){return new Li(this,t)},ee.prototype.keyFromPrivate=function(t,r){return Li.fromPrivate(this,t,r)},ee.prototype.keyFromPublic=function(t,r){return Li.fromPublic(this,t,r)},ee.prototype.genKeyPair=function(t){t||(t={});for(var r=new qf({hash:this.hash,pers:t.pers,persEnc:t.persEnc||\"utf8\",entropy:t.entropy||$a(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||\"utf8\",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new K(2));;){var o=new K(r.generate(i));if(!(o.cmp(n)>0))return o.iaddn(1),this.keyFromPrivate(o)}},ee.prototype._truncateToN=function(t,r){var i=t.byteLength()*8-this.n.bitLength();return i>0&&(t=t.ushrn(i)),!r&&t.cmp(this.n)>=0?t.sub(this.n):t},ee.prototype.sign=function(t,r,i,n){typeof i==\"object\"&&(n=i,i=null),n||(n={}),r=this.keyFromPrivate(r,i),t=this._truncateToN(new K(t,16));for(var o=this.n.byteLength(),h=r.getPrivate().toArray(\"be\",o),p=t.toArray(\"be\",o),A=new qf({hash:this.hash,entropy:h,nonce:p,pers:n.pers,persEnc:n.persEnc||\"utf8\"}),v=this.n.sub(new K(1)),w=0;;w++){var y=n.k?n.k(w):new K(A.generate(this.n.byteLength()));if(y=this._truncateToN(y,!0),!(y.cmpn(1)<=0||y.cmp(v)>=0)){var S=this.g.mul(y);if(!S.isInfinity()){var N=S.getX(),I=N.umod(this.n);if(I.cmpn(0)!==0){var C=y.invm(this.n).mul(I.mul(r.getPrivate()).iadd(t));if(C=C.umod(this.n),C.cmpn(0)!==0){var D=(S.getY().isOdd()?1:0)|(N.cmp(I)!==0?2:0);return n.canonical&&C.cmp(this.nh)>0&&(C=this.n.sub(C),D^=1),new Jr({r:I,s:C,recoveryParam:D})}}}}}},ee.prototype.verify=function(t,r,i,n){t=this._truncateToN(new K(t,16)),i=this.keyFromPublic(i,n),r=new Jr(r,\"hex\");var o=r.r,h=r.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0||h.cmpn(1)<0||h.cmp(this.n)>=0)return!1;var p=h.invm(this.n),A=p.mul(t).umod(this.n),v=p.mul(o).umod(this.n),w;return this.curve._maxwellTrick?(w=this.g.jmulAdd(A,i.getPublic(),v),w.isInfinity()?!1:w.eqXToP(o)):(w=this.g.mulAdd(A,i.getPublic(),v),w.isInfinity()?!1:w.getX().umod(this.n).cmp(o)===0)},ee.prototype.recoverPubKey=function(e,t,r,i){Hf((3&r)===r,\"The recovery param is more than two bits\"),t=new Jr(t,i);var n=this.n,o=new K(e),h=t.r,p=t.s,A=r&1,v=r>>1;if(h.cmp(this.curve.p.umod(this.curve.n))>=0&&v)throw new Error(\"Unable to find sencond key candinate\");v?h=this.curve.pointFromX(h.add(this.curve.n),A):h=this.curve.pointFromX(h,A);var w=t.r.invm(n),y=n.sub(o).mul(w).umod(n),S=p.mul(w).umod(n);return this.g.mulAdd(y,h,S)},ee.prototype.getKeyRecoveryParam=function(e,t,r,i){if(t=new Jr(t,i),t.recoveryParam!==null)return t.recoveryParam;for(var n=0;n<4;n++){var o;try{o=this.recoverPubKey(e,t,n)}catch{continue}if(o.eq(r))return n}throw new Error(\"Unable to find valid recovery factor\")};var tu=lr(function(e,t){var r=t;r.version=\"6.5.4\",r.utils=Gt,r.rand=function(){throw new Error(\"unsupported\")},r.curve=zr,r.curves=jr,r.ec=Za,r.eddsa=null}),eu=tu.ec;const ru=\"signing-key/5.7.0\",Qi=new z(ru);let Ji=null;function ve(){return Ji||(Ji=new eu(\"secp256k1\")),Ji}class iu{constructor(t){wr(this,\"curve\",\"secp256k1\"),wr(this,\"privateKey\",Kt(t)),Us(this.privateKey)!==32&&Qi.throwArgumentError(\"invalid private key\",\"privateKey\",\"[[ REDACTED ]]\");const r=ve().keyFromPrivate(Ot(this.privateKey));wr(this,\"publicKey\",\"0x\"+r.getPublic(!1,\"hex\")),wr(this,\"compressedPublicKey\",\"0x\"+r.getPublic(!0,\"hex\")),wr(this,\"_isSigningKey\",!0)}_addPoint(t){const r=ve().keyFromPublic(Ot(this.publicKey)),i=ve().keyFromPublic(Ot(t));return\"0x\"+r.pub.add(i.pub).encodeCompressed(\"hex\")}signDigest(t){const r=ve().keyFromPrivate(Ot(this.privateKey)),i=Ot(t);i.length!==32&&Qi.throwArgumentError(\"bad digest length\",\"digest\",t);const n=r.sign(i,{canonical:!0});return Wn({recoveryParam:n.recoveryParam,r:oe(\"0x\"+n.r.toString(16),32),s:oe(\"0x\"+n.s.toString(16),32)})}computeSharedSecret(t){const r=ve().keyFromPrivate(Ot(this.privateKey)),i=ve().keyFromPublic(Ot(Lf(t)));return oe(\"0x\"+r.derive(i.getPublic()).toString(16),32)}static isSigningKey(t){return!!(t&&t._isSigningKey)}}function nu(e,t){const r=Wn(t),i={r:Ot(r.r),s:Ot(r.s)};return\"0x\"+ve().recoverPubKey(Ot(e),i,r.recoveryParam).encode(\"hex\",!1)}function Lf(e,t){const r=Ot(e);if(r.length===32){const i=new iu(r);return t?\"0x\"+ve().keyFromPrivate(r).getPublic(!0,\"hex\"):i.publicKey}else{if(r.length===33)return t?Kt(r):\"0x\"+ve().keyFromPublic(r).getPublic(!1,\"hex\");if(r.length===65)return t?\"0x\"+ve().keyFromPublic(r).getPublic(!0,\"hex\"):Kt(r)}return Qi.throwArgumentError(\"invalid public or private key\",\"key\",\"[REDACTED]\")}const fu=\"transactions/5.7.0\";new z(fu);var zf;(function(e){e[e.legacy=0]=\"legacy\",e[e.eip2930=1]=\"eip2930\",e[e.eip1559=2]=\"eip1559\"})(zf||(zf={}));function ou(e){const t=Lf(e);return v0(Vn(Ii(Vn(t,1)),12))}function su(e,t){return ou(nu(Ot(e),t))}const au=\"https://rpc.walletconnect.org/v1\";async function jf(e,t,r,i,n,o){switch(r.t){case\"eip191\":return Qf(e,t,r.s);case\"eip1271\":return await Jf(e,t,r.s,i,n,o);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${r.t}`)}}function Qf(e,t,r){return su(df(t),r).toLowerCase()===e.toLowerCase()}async function Jf(e,t,r,i,n,o){try{const h=\"0x1626ba7e\",p=\"0000000000000000000000000000000000000000000000000000000000000040\",A=\"0000000000000000000000000000000000000000000000000000000000000041\",v=r.substring(2),w=df(t).substring(2),y=h+w+p+A+v,S=await fetch(`${o||au}/?chainId=${i}&projectId=${n}`,{method:\"POST\",body:JSON.stringify({id:uu(),jsonrpc:\"2.0\",method:\"eth_call\",params:[{to:e,data:y},\"latest\"]})}),{result:N}=await S.json();return N?N.slice(0,h.length).toLowerCase()===h.toLowerCase():!1}catch(h){return console.error(\"isValidEip1271Signature: \",h),!1}}function uu(){return Date.now()+Math.floor(Math.random()*1e3)}var hu=Object.defineProperty,cu=Object.defineProperties,lu=Object.getOwnPropertyDescriptors,Gf=Object.getOwnPropertySymbols,du=Object.prototype.hasOwnProperty,pu=Object.prototype.propertyIsEnumerable,Yf=(e,t,r)=>t in e?hu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Gi=(e,t)=>{for(var r in t||(t={}))du.call(t,r)&&Yf(e,r,t[r]);if(Gf)for(var r of Gf(t))pu.call(t,r)&&Yf(e,r,t[r]);return e},Vf=(e,t)=>cu(e,lu(t));const vu=\"did:pkh:\",Gr=e=>e?.split(\":\"),Yi=e=>{const t=e&&Gr(e);if(t)return e.includes(vu)?t[3]:t[1]},gu=e=>{const t=e&&Gr(e);if(t)return t[2]+\":\"+t[3]},Vi=e=>{const t=e&&Gr(e);if(t)return t.pop()};async function mu(e){const{cacao:t,projectId:r}=e,{s:i,p:n}=t,o=Wf(n,n.iss),h=Vi(n.iss);return await jf(h,o,i,Yi(n.iss),r)}const Wf=(e,t)=>{const r=`${e.domain} wants you to sign in with your Ethereum account:`,i=Vi(t);if(!e.aud&&!e.uri)throw new Error(\"Either `aud` or `uri` is required to construct the message\");let n=e.statement||void 0;const o=`URI: ${e.aud||e.uri}`,h=`Version: ${e.version}`,p=`Chain ID: ${Yi(t)}`,A=`Nonce: ${e.nonce}`,v=`Issued At: ${e.iat}`,w=e.exp?`Expiration Time: ${e.exp}`:void 0,y=e.nbf?`Not Before: ${e.nbf}`:void 0,S=e.requestId?`Request ID: ${e.requestId}`:void 0,N=e.resources?`Resources:${e.resources.map(C=>`\n- ${C}`).join(\"\")}`:void 0,I=Vr(e.resources);if(I){const C=Oe(I);n=$i(n,C)}return[r,i,\"\",n,\"\",o,h,p,A,v,w,y,S,N].filter(C=>C!=null).join(`\n`)};function Au(e,t,r){return r.includes(\"did:pkh:\")||(r=`did:pkh:${r}`),{h:{t:\"caip122\"},p:{iss:r,domain:e.domain,aud:e.aud,version:e.version,nonce:e.nonce,iat:e.iat,statement:e.statement,requestId:e.requestId,resources:e.resources,nbf:e.nbf,exp:e.exp},s:t}}function bu(e){var t;const{authPayload:r,chains:i,methods:n}=e,o=r.statement||\"\";if(!(i!=null&&i.length))return r;const h=r.chains,p=wi(h,i);if(!(p!=null&&p.length))throw new Error(\"No supported chains\");const A=Xf(r.resources);if(!A)return r;ge(A);const v=$f(A,\"eip155\");let w=r?.resources||[];if(v!=null&&v.length){const y=Zf(v),S=wi(y,n);if(!(S!=null&&S.length))throw new Error(`Supported methods don't satisfy the requested: ${JSON.stringify(y)}, supported: ${JSON.stringify(n)}`);const N=Wi(\"request\",S,{chains:p}),I=io(A,\"eip155\",N);w=((t=r?.resources)==null?void 0:t.slice(0,-1))||[],w.push(Yr(I))}return Vf(Gi({},r),{statement:fo(o,Vr(w)),chains:p,resources:r!=null&&r.resources||w.length>0?w:void 0})}function Xf(e){const t=Vr(e);if(t&&Xi(t))return Oe(t)}function yu(e,t){var r;return(r=e?.att)==null?void 0:r.hasOwnProperty(t)}function $f(e,t){var r,i;return(r=e?.att)!=null&&r[t]?Object.keys((i=e?.att)==null?void 0:i[t]):[]}function wu(e){return e?.map(t=>Object.keys(t))||[]}function Zf(e){return e?.map(t=>{var r;return(r=t.split(\"/\"))==null?void 0:r[1]})||[]}function to(e){return Buffer.from(JSON.stringify(e)).toString(\"base64\")}function eo(e){return JSON.parse(Buffer.from(e,\"base64\").toString(\"utf-8\"))}function ge(e){if(!e)throw new Error(\"No recap provided, value is undefined\");if(!e.att)throw new Error(\"No `att` property found\");const t=Object.keys(e.att);if(!(t!=null&&t.length))throw new Error(\"No resources found in `att` property\");t.forEach(r=>{const i=e.att[r];if(Array.isArray(i))throw new Error(`Resource must be an object: ${r}`);if(typeof i!=\"object\")throw new Error(`Resource must be an object: ${r}`);if(!Object.keys(i).length)throw new Error(`Resource object is empty: ${r}`);Object.keys(i).forEach(n=>{const o=i[n];if(!Array.isArray(o))throw new Error(`Ability limits ${n} must be an array of objects, found: ${o}`);if(!o.length)throw new Error(`Value of ${n} is empty array, must be an array with objects`);o.forEach(h=>{if(typeof h!=\"object\")throw new Error(`Ability limits (${n}) must be an array of objects, found: ${h}`)})})})}function ro(e,t,r,i={}){return r?.sort((n,o)=>n.localeCompare(o)),{att:{[e]:Wi(t,r,i)}}}function io(e,t,r){var i;return e.att[t]=Gi({},r),((i=Object.keys(e.att))==null?void 0:i.sort((n,o)=>n.localeCompare(o))).reduce((n,o)=>(n.att[o]=e.att[o],n),{att:{}})}function Wi(e,t,r={}){t=t?.sort((n,o)=>n.localeCompare(o));const i=t.map(n=>({[`${e}/${n}`]:[r]}));return Object.assign({},...i)}function Yr(e){return ge(e),`urn:recap:${to(e).replace(/=/g,\"\")}`}function Oe(e){const t=eo(e.replace(\"urn:recap:\",\"\"));return ge(t),t}function xu(e,t,r){const i=ro(e,t,r);return Yr(i)}function Xi(e){return e&&e.includes(\"urn:recap:\")}function Mu(e,t){const r=Oe(e),i=Oe(t),n=no(r,i);return Yr(n)}function no(e,t){ge(e),ge(t);const r=Object.keys(e.att).concat(Object.keys(t.att)).sort((n,o)=>n.localeCompare(o)),i={att:{}};return r.forEach(n=>{var o,h;Object.keys(((o=e.att)==null?void 0:o[n])||{}).concat(Object.keys(((h=t.att)==null?void 0:h[n])||{})).sort((p,A)=>p.localeCompare(A)).forEach(p=>{var A,v;i.att[n]=Vf(Gi({},i.att[n]),{[p]:((A=e.att[n])==null?void 0:A[p])||((v=t.att[n])==null?void 0:v[p])})})}),i}function $i(e=\"\",t){ge(t);const r=\"I further authorize the stated URI to perform the following actions on my behalf: \";if(e.includes(r))return e;const i=[];let n=0;Object.keys(t.att).forEach(p=>{const A=Object.keys(t.att[p]).map(y=>({ability:y.split(\"/\")[0],action:y.split(\"/\")[1]}));A.sort((y,S)=>y.action.localeCompare(S.action));const v={};A.forEach(y=>{v[y.ability]||(v[y.ability]=[]),v[y.ability].push(y.action)});const w=Object.keys(v).map(y=>(n++,`(${n}) '${y}': '${v[y].join(\"', '\")}' for '${p}'.`));i.push(w.join(\", \").replace(\".,\",\".\"))});const o=i.join(\" \"),h=`${r}${o}`;return`${e?e+\" \":\"\"}${h}`}function Eu(e){var t;const r=Oe(e);ge(r);const i=(t=r.att)==null?void 0:t.eip155;return i?Object.keys(i).map(n=>n.split(\"/\")[1]):[]}function Su(e){const t=Oe(e);ge(t);const r=[];return Object.values(t.att).forEach(i=>{Object.values(i).forEach(n=>{var o;(o=n?.[0])!=null&&o.chains&&r.push(n[0].chains)})}),[...new Set(r.flat())]}function fo(e,t){if(!t)return e;const r=Oe(t);return ge(r),$i(e,r)}function Vr(e){if(!e)return;const t=e?.[e.length-1];return Xi(t)?t:void 0}const Zi=\"base10\",Lt=\"base16\",tn=\"base64pad\",Iu=\"base64url\",dr=\"utf8\",en=0,pr=1,Sr=2,Nu=0,oo=1,Ir=12,rn=32;function _u(){const e=mn.generateKeyPair();return{privateKey:Qt(e.secretKey,Lt),publicKey:Qt(e.publicKey,Lt)}}function Bu(){const e=Cr(rn);return Qt(e,Lt)}function Cu(e,t){const r=mn.sharedKey(Xt(e,Lt),Xt(t,Lt),!0),i=new jo(vn,r).expand(rn);return Qt(i,Lt)}function Ru(e){const t=gn(Xt(e,Lt));return Qt(t,Lt)}function Ou(e){const t=gn(Xt(e,dr));return Qt(t,Lt)}function nn(e){return Xt(`${e}`,Zi)}function Ze(e){return Number(Qt(e,Zi))}function Pu(e){const t=nn(typeof e.type<\"u\"?e.type:en);if(Ze(t)===pr&&typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const r=typeof e.senderPublicKey<\"u\"?Xt(e.senderPublicKey,Lt):void 0,i=typeof e.iv<\"u\"?Xt(e.iv,Lt):Cr(Ir),n=new pn(Xt(e.symKey,Lt)).seal(i,Xt(e.message,dr));return fn({type:t,sealed:n,iv:i,senderPublicKey:r,encoding:e.encoding})}function Tu(e,t){const r=nn(Sr),i=Cr(Ir),n=Xt(e,dr);return fn({type:r,sealed:n,iv:i,encoding:t})}function Du(e){const t=new pn(Xt(e.symKey,Lt)),{sealed:r,iv:i}=Wr({encoded:e.encoded,encoding:e?.encoding}),n=t.open(i,r);if(n===null)throw new Error(\"Failed to decrypt\");return Qt(n,dr)}function Fu(e,t){const{sealed:r}=Wr({encoded:e,encoding:t});return Qt(r,dr)}function fn(e){const{encoding:t=tn}=e;if(Ze(e.type)===Sr)return Qt(vi([e.type,e.sealed]),t);if(Ze(e.type)===pr){if(typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return Qt(vi([e.type,e.senderPublicKey,e.iv,e.sealed]),t)}return Qt(vi([e.type,e.iv,e.sealed]),t)}function Wr(e){const{encoded:t,encoding:r=tn}=e,i=Xt(t,r),n=i.slice(Nu,oo),o=oo;if(Ze(n)===pr){const v=o+rn,w=v+Ir,y=i.slice(o,v),S=i.slice(v,w),N=i.slice(w);return{type:n,sealed:N,iv:S,senderPublicKey:y}}if(Ze(n)===Sr){const v=i.slice(o),w=Cr(Ir);return{type:n,sealed:v,iv:w}}const h=o+Ir,p=i.slice(o,h),A=i.slice(h);return{type:n,sealed:A,iv:p}}function Uu(e,t){const r=Wr({encoded:e,encoding:t?.encoding});return so({type:Ze(r.type),senderPublicKey:typeof r.senderPublicKey<\"u\"?Qt(r.senderPublicKey,Lt):void 0,receiverPublicKey:t?.receiverPublicKey})}function so(e){const t=e?.type||en;if(t===pr){if(typeof e?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof e?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function ku(e){return e.type===pr&&typeof e.senderPublicKey==\"string\"&&typeof e.receiverPublicKey==\"string\"}function qu(e){return e.type===Sr}function ao(e){return new Qo(\"p256\").keyFromPublic({x:Buffer.from(e.x,\"base64\").toString(\"hex\"),y:Buffer.from(e.y,\"base64\").toString(\"hex\")},\"hex\")}function Ku(e){let t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");const r=t.length%4;return r>0&&(t+=\"=\".repeat(4-r)),t}function Hu(e){return Buffer.from(Ku(e),\"base64\")}function Lu(e,t){const[r,i,n]=e.split(\".\"),o=Hu(n);if(o.length!==64)throw new Error(\"Invalid signature length\");const h=o.slice(0,32).toString(\"hex\"),p=o.slice(32,64).toString(\"hex\"),A=`${r}.${i}`,v=new vn().update(Buffer.from(A)).digest(),w=ao(t),y=Buffer.from(v).toString(\"hex\");if(!w.verify(y,{r:h,s:p}))throw new Error(\"Invalid signature\");return Jo(e).payload}const uo=\"irn\";function zu(e){return e?.relay||{protocol:uo}}function ju(e){const t=Go[e];if(typeof t>\"u\")throw new Error(`Relay Protocol not supported: ${e}`);return t}var Qu=Object.defineProperty,Ju=Object.defineProperties,Gu=Object.getOwnPropertyDescriptors,ho=Object.getOwnPropertySymbols,Yu=Object.prototype.hasOwnProperty,Vu=Object.prototype.propertyIsEnumerable,co=(e,t,r)=>t in e?Qu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lo=(e,t)=>{for(var r in t||(t={}))Yu.call(t,r)&&co(e,r,t[r]);if(ho)for(var r of ho(t))Vu.call(t,r)&&co(e,r,t[r]);return e},Wu=(e,t)=>Ju(e,Gu(t));function po(e,t=\"-\"){const r={},i=\"relay\"+t;return Object.keys(e).forEach(n=>{if(n.startsWith(i)){const o=n.replace(i,\"\"),h=e[n];r[o]=h}}),r}function Xu(e){if(!e.includes(\"wc:\")){const A=xi(e);A!=null&&A.includes(\"wc:\")&&(e=A)}e=e.includes(\"wc://\")?e.replace(\"wc://\",\"\"):e,e=e.includes(\"wc:\")?e.replace(\"wc:\",\"\"):e;const t=e.indexOf(\":\"),r=e.indexOf(\"?\")!==-1?e.indexOf(\"?\"):void 0,i=e.substring(0,t),n=e.substring(t+1,r).split(\"@\"),o=typeof r<\"u\"?e.substring(r):\"\",h=Br.parse(o),p=typeof h.methods==\"string\"?h.methods.split(\",\"):void 0;return{protocol:i,topic:vo(n[0]),version:parseInt(n[1],10),symKey:h.symKey,relay:po(h),methods:p,expiryTimestamp:h.expiryTimestamp?parseInt(h.expiryTimestamp,10):void 0}}function vo(e){return e.startsWith(\"//\")?e.substring(2):e}function go(e,t=\"-\"){const r=\"relay\",i={};return Object.keys(e).forEach(n=>{const o=r+t+n;e[n]&&(i[o]=e[n])}),i}function $u(e){return`${e.protocol}:${e.topic}@${e.version}?`+Br.stringify(lo(Wu(lo({symKey:e.symKey},go(e.relay)),{expiryTimestamp:e.expiryTimestamp}),e.methods?{methods:e.methods.join(\",\")}:{}))}function Zu(e,t,r){return`${e}?wc_ev=${r}&topic=${t}`}var th=Object.defineProperty,eh=Object.defineProperties,rh=Object.getOwnPropertyDescriptors,mo=Object.getOwnPropertySymbols,ih=Object.prototype.hasOwnProperty,nh=Object.prototype.propertyIsEnumerable,Ao=(e,t,r)=>t in e?th(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fh=(e,t)=>{for(var r in t||(t={}))ih.call(t,r)&&Ao(e,r,t[r]);if(mo)for(var r of mo(t))nh.call(t,r)&&Ao(e,r,t[r]);return e},oh=(e,t)=>eh(e,rh(t));function tr(e){const t=[];return e.forEach(r=>{const[i,n]=r.split(\":\");t.push(`${i}:${n}`)}),t}function bo(e){const t=[];return Object.values(e).forEach(r=>{t.push(...tr(r.accounts))}),t}function yo(e,t){const r=[];return Object.values(e).forEach(i=>{tr(i.accounts).includes(t)&&r.push(...i.methods)}),r}function wo(e,t){const r=[];return Object.values(e).forEach(i=>{tr(i.accounts).includes(t)&&r.push(...i.events)}),r}function sh(e,t){const r=Oo(e,t);if(r)throw new Error(r.message);const i={};for(const[n,o]of Object.entries(e))i[n]={methods:o.methods,events:o.events,chains:o.accounts.map(h=>`${h.split(\":\")[0]}:${h.split(\":\")[1]}`)};return i}function ah(e){const{proposal:{requiredNamespaces:t,optionalNamespaces:r={}},supportedNamespaces:i}=e,n=sn(t),o=sn(r),h={};Object.keys(i).forEach(v=>{const w=i[v].chains,y=i[v].methods,S=i[v].events,N=i[v].accounts;w.forEach(I=>{if(!N.some(C=>C.includes(I)))throw new Error(`No accounts provided for chain ${I} in namespace ${v}`)}),h[v]={chains:w,methods:y,events:S,accounts:N}});const p=To(t,h,\"approve()\");if(p)throw new Error(p.message);const A={};return!Object.keys(t).length&&!Object.keys(r).length?h:(Object.keys(n).forEach(v=>{const w=i[v].chains.filter(I=>{var C,D;return(D=(C=n[v])==null?void 0:C.chains)==null?void 0:D.includes(I)}),y=i[v].methods.filter(I=>{var C,D;return(D=(C=n[v])==null?void 0:C.methods)==null?void 0:D.includes(I)}),S=i[v].events.filter(I=>{var C,D;return(D=(C=n[v])==null?void 0:C.events)==null?void 0:D.includes(I)}),N=w.map(I=>i[v].accounts.filter(C=>C.includes(`${I}:`))).flat();A[v]={chains:w,methods:y,events:S,accounts:N}}),Object.keys(o).forEach(v=>{var w,y,S,N,I,C;if(!i[v])return;const D=(y=(w=o[v])==null?void 0:w.chains)==null?void 0:y.filter(G=>i[v].chains.includes(G)),U=i[v].methods.filter(G=>{var H,L;return(L=(H=o[v])==null?void 0:H.methods)==null?void 0:L.includes(G)}),J=i[v].events.filter(G=>{var H,L;return(L=(H=o[v])==null?void 0:H.events)==null?void 0:L.includes(G)}),Bt=D?.map(G=>i[v].accounts.filter(H=>H.includes(`${G}:`))).flat();A[v]={chains:me((S=A[v])==null?void 0:S.chains,D),methods:me((N=A[v])==null?void 0:N.methods,U),events:me((I=A[v])==null?void 0:I.events,J),accounts:me((C=A[v])==null?void 0:C.accounts,Bt)}}),A)}function on(e){return e.includes(\":\")}function xo(e){return on(e)?e.split(\":\")[0]:e}function sn(e){var t,r,i;const n={};if(!Xr(e))return n;for(const[o,h]of Object.entries(e)){const p=on(o)?[o]:h.chains,A=h.methods||[],v=h.events||[],w=xo(o);n[w]=oh(fh({},n[w]),{chains:me(p,(t=n[w])==null?void 0:t.chains),methods:me(A,(r=n[w])==null?void 0:r.methods),events:me(v,(i=n[w])==null?void 0:i.events)})}return n}function Mo(e){const t={};return e?.forEach(r=>{const[i,n]=r.split(\":\");t[i]||(t[i]={accounts:[],chains:[],events:[]}),t[i].accounts.push(r),t[i].chains.push(`${i}:${n}`)}),t}function uh(e,t){t=t.map(i=>i.replace(\"did:pkh:\",\"\"));const r=Mo(t);for(const[i,n]of Object.entries(r))n.methods?n.methods=me(n.methods,e):n.methods=e,n.events=[\"chainChanged\",\"accountsChanged\"];return r}const Eo={INVALID_METHOD:{message:\"Invalid method.\",code:1001},INVALID_EVENT:{message:\"Invalid event.\",code:1002},INVALID_UPDATE_REQUEST:{message:\"Invalid update request.\",code:1003},INVALID_EXTEND_REQUEST:{message:\"Invalid extend request.\",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:\"Invalid session settle request.\",code:1005},UNAUTHORIZED_METHOD:{message:\"Unauthorized method.\",code:3001},UNAUTHORIZED_EVENT:{message:\"Unauthorized event.\",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:\"Unauthorized update request.\",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:\"Unauthorized extend request.\",code:3004},USER_REJECTED:{message:\"User rejected.\",code:5e3},USER_REJECTED_CHAINS:{message:\"User rejected chains.\",code:5001},USER_REJECTED_METHODS:{message:\"User rejected methods.\",code:5002},USER_REJECTED_EVENTS:{message:\"User rejected events.\",code:5003},UNSUPPORTED_CHAINS:{message:\"Unsupported chains.\",code:5100},UNSUPPORTED_METHODS:{message:\"Unsupported methods.\",code:5101},UNSUPPORTED_EVENTS:{message:\"Unsupported events.\",code:5102},UNSUPPORTED_ACCOUNTS:{message:\"Unsupported accounts.\",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:\"Unsupported namespace key.\",code:5104},USER_DISCONNECTED:{message:\"User disconnected.\",code:6e3},SESSION_SETTLEMENT_FAILED:{message:\"Session settlement failed.\",code:7e3},WC_METHOD_UNSUPPORTED:{message:\"Unsupported wc_ method.\",code:10001}},So={NOT_INITIALIZED:{message:\"Not initialized.\",code:1},NO_MATCHING_KEY:{message:\"No matching key.\",code:2},RESTORE_WILL_OVERRIDE:{message:\"Restore will override.\",code:3},RESUBSCRIBED:{message:\"Resubscribed.\",code:4},MISSING_OR_INVALID:{message:\"Missing or invalid.\",code:5},EXPIRED:{message:\"Expired.\",code:6},UNKNOWN_TYPE:{message:\"Unknown type.\",code:7},MISMATCHED_TOPIC:{message:\"Mismatched topic.\",code:8},NON_CONFORMING_NAMESPACES:{message:\"Non conforming namespaces.\",code:9}};function xe(e,t){const{message:r,code:i}=So[e];return{message:t?`${r} ${t}`:r,code:i}}function er(e,t){const{message:r,code:i}=Eo[e];return{message:t?`${r} ${t}`:r,code:i}}function Nr(e,t){return Array.isArray(e)?typeof t<\"u\"&&e.length?e.every(t):!0:!1}function Xr(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function Pe(e){return typeof e>\"u\"}function Yt(e,t){return t&&Pe(e)?!0:typeof e==\"string\"&&!!e.trim().length}function $r(e,t){return t&&Pe(e)?!0:typeof e==\"number\"&&!isNaN(e)}function hh(e,t){const{requiredNamespaces:r}=t,i=Object.keys(e.namespaces),n=Object.keys(r);let o=!0;return _e(n,i)?(i.forEach(h=>{const{accounts:p,methods:A,events:v}=e.namespaces[h],w=tr(p),y=r[h];(!_e(Or(h,y),w)||!_e(y.methods,A)||!_e(y.events,v))&&(o=!1)}),o):!1}function _r(e){return Yt(e,!1)&&e.includes(\":\")?e.split(\":\").length===2:!1}function Io(e){if(Yt(e,!1)&&e.includes(\":\")){const t=e.split(\":\");if(t.length===3){const r=t[0]+\":\"+t[1];return!!t[2]&&_r(r)}}return!1}function ch(e){function t(r){try{return typeof new URL(r)<\"u\"}catch{return!1}}try{if(Yt(e,!1)){if(t(e))return!0;const r=xi(e);return t(r)}}catch{}return!1}function lh(e){var t;return(t=e?.proposer)==null?void 0:t.publicKey}function dh(e){return e?.topic}function ph(e,t){let r=null;return Yt(e?.publicKey,!1)||(r=xe(\"MISSING_OR_INVALID\",`${t} controller public key should be a string`)),r}function an(e){let t=!0;return Nr(e)?e.length&&(t=e.every(r=>Yt(r,!1))):t=!1,t}function No(e,t,r){let i=null;return Nr(t)&&t.length?t.forEach(n=>{i||_r(n)||(i=er(\"UNSUPPORTED_CHAINS\",`${r}, chain ${n} should be a string and conform to \"namespace:chainId\" format`))}):_r(e)||(i=er(\"UNSUPPORTED_CHAINS\",`${r}, chains must be defined as \"namespace:chainId\" e.g. \"eip155:1\": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: [\"eip155:1\", \"eip155:5\"] }`)),i}function _o(e,t,r){let i=null;return Object.entries(e).forEach(([n,o])=>{if(i)return;const h=No(n,Or(n,o),`${t} ${r}`);h&&(i=h)}),i}function Bo(e,t){let r=null;return Nr(e)?e.forEach(i=>{r||Io(i)||(r=er(\"UNSUPPORTED_ACCOUNTS\",`${t}, account ${i} should be a string and conform to \"namespace:chainId:address\" format`))}):r=er(\"UNSUPPORTED_ACCOUNTS\",`${t}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),r}function Co(e,t){let r=null;return Object.values(e).forEach(i=>{if(r)return;const n=Bo(i?.accounts,`${t} namespace`);n&&(r=n)}),r}function Ro(e,t){let r=null;return an(e?.methods)?an(e?.events)||(r=er(\"UNSUPPORTED_EVENTS\",`${t}, events should be an array of strings or empty array for no events`)):r=er(\"UNSUPPORTED_METHODS\",`${t}, methods should be an array of strings or empty array for no methods`),r}function un(e,t){let r=null;return Object.values(e).forEach(i=>{if(r)return;const n=Ro(i,`${t}, namespace`);n&&(r=n)}),r}function vh(e,t,r){let i=null;if(e&&Xr(e)){const n=un(e,t);n&&(i=n);const o=_o(e,t,r);o&&(i=o)}else i=xe(\"MISSING_OR_INVALID\",`${t}, ${r} should be an object with data`);return i}function Oo(e,t){let r=null;if(e&&Xr(e)){const i=un(e,t);i&&(r=i);const n=Co(e,t);n&&(r=n)}else r=xe(\"MISSING_OR_INVALID\",`${t}, namespaces should be an object with data`);return r}function Po(e){return Yt(e.protocol,!0)}function gh(e,t){let r=!1;return t&&!e?r=!0:e&&Nr(e)&&e.length&&e.forEach(i=>{r=Po(i)}),r}function mh(e){return typeof e==\"number\"}function Ah(e){return typeof e<\"u\"&&typeof e!==null}function bh(e){return!(!e||typeof e!=\"object\"||!e.code||!$r(e.code,!1)||!e.message||!Yt(e.message,!1))}function yh(e){return!(Pe(e)||!Yt(e.method,!1))}function wh(e){return!(Pe(e)||Pe(e.result)&&Pe(e.error)||!$r(e.id,!1)||!Yt(e.jsonrpc,!1))}function xh(e){return!(Pe(e)||!Yt(e.name,!1))}function Mh(e,t){return!(!_r(t)||!bo(e).includes(t))}function Eh(e,t,r){return Yt(r,!1)?yo(e,t).includes(r):!1}function Sh(e,t,r){return Yt(r,!1)?wo(e,t).includes(r):!1}function To(e,t,r){let i=null;const n=Ih(e),o=Nh(t),h=Object.keys(n),p=Object.keys(o),A=Do(Object.keys(e)),v=Do(Object.keys(t)),w=A.filter(y=>!v.includes(y));return w.length&&(i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces keys don't satisfy requiredNamespaces.\n Required: ${w.toString()}\n Received: ${Object.keys(t).toString()}`)),_e(h,p)||(i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces chains don't satisfy required namespaces.\n Required: ${h.toString()}\n Approved: ${p.toString()}`)),Object.keys(t).forEach(y=>{if(!y.includes(\":\")||i)return;const S=tr(t[y].accounts);S.includes(y)||(i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces accounts don't satisfy namespace accounts for ${y}\n Required: ${y}\n Approved: ${S.toString()}`))}),h.forEach(y=>{i||(_e(n[y].methods,o[y].methods)?_e(n[y].events,o[y].events)||(i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces events don't satisfy namespace events for ${y}`)):i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces methods don't satisfy namespace methods for ${y}`))}),i}function Ih(e){const t={};return Object.keys(e).forEach(r=>{var i;r.includes(\":\")?t[r]=e[r]:(i=e[r].chains)==null||i.forEach(n=>{t[n]={methods:e[r].methods,events:e[r].events}})}),t}function Do(e){return[...new Set(e.map(t=>t.includes(\":\")?t.split(\":\")[0]:t))]}function Nh(e){const t={};return Object.keys(e).forEach(r=>{if(r.includes(\":\"))t[r]=e[r];else{const i=tr(e[r].accounts);i?.forEach(n=>{t[n]={accounts:e[r].accounts.filter(o=>o.includes(`${n}:`)),methods:e[r].methods,events:e[r].events}})}}),t}function _h(e,t){return $r(e,!1)&&e<=t.max&&e>=t.min}function Bh(){const e=We();return new Promise(t=>{switch(e){case qt.browser:t(Fo());break;case qt.reactNative:t(Uo());break;case qt.node:t(ko());break;default:t(!0)}})}function Fo(){return gr()&&navigator?.onLine}async function Uo(){if(rr()&&typeof global<\"u\"&&global!=null&&global.NetInfo){const e=await(global==null?void 0:global.NetInfo.fetch());return e?.isConnected}return!0}function ko(){return!0}function Ch(e){switch(We()){case qt.browser:qo(e);break;case qt.reactNative:Ko(e);break;case qt.node:break}}function qo(e){!rr()&&gr()&&(window.addEventListener(\"online\",()=>e(!0)),window.addEventListener(\"offline\",()=>e(!1)))}function Ko(e){rr()&&typeof global<\"u\"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected))}const hn={};class Rh{static get(t){return hn[t]}static set(t,r){hn[t]=r}static delete(t){delete hn[t]}}export{Zi as BASE10,Lt as BASE16,tn as BASE64,Iu as BASE64URL,rs as COLON,Ai as DEFAULT_DEPTH,Pr as EMPTY_SPACE,qt as ENV_MAP,So as INTERNAL_ERRORS,Rh as MemoryStore,is as ONE_THOUSAND,Nn as REACT_NATIVE_PRODUCT,uo as RELAYER_DEFAULT_PROTOCOL,Eo as SDK_ERRORS,Bn as SDK_TYPE,_n as SLASH,en as TYPE_0,pr as TYPE_1,Sr as TYPE_2,dr as UTF8,io as addResourceToRecap,Cn as appendToQueryString,us as assertType,Wi as assignAbilityToActions,eo as base64Decode,to as base64Encode,ah as buildApprovedNamespaces,Au as buildAuthObject,uh as buildNamespacesFromAuth,fo as buildRecapStatement,ws as calcExpiry,vs as capitalize,Fn as capitalizeWord,gs as createDelayedPromise,xu as createEncodedRecap,ms as createExpiringPromise,ro as createRecap,Oe as decodeRecap,Ze as decodeTypeByte,Fu as decodeTypeTwoEnvelope,Du as decrypt,Cu as deriveSymKey,Wr as deserialize,Yr as encodeRecap,nn as encodeTypeByte,Tu as encodeTypeTwoEnvelope,Pu as encrypt,Ms as engineEvent,ps as enumify,yn as formatAccountId,Yo as formatAccountWithChain,bn as formatChainId,Un as formatDeeplinkUrl,yi as formatExpirerTarget,bs as formatIdTarget,Wf as formatMessage,hs as formatMessageContext,go as formatRelayParams,ss as formatRelayRpcUrl,$i as formatStatementFromRecap,As as formatTopicTarget,Pn as formatUA,$u as formatUri,xi as fromBase64,_u as generateKeyPair,Bu as generateRandomBytes32,tr as getAccountsChains,Wo as getAccountsFromNamespaces,wn as getAddressFromAccount,Vo as getAddressesFromAccounts,fs as getAppMetadata,Fo as getBrowserOnlineStatus,ns as getBundleId,xn as getChainFromAccount,Mn as getChainsFromAccounts,Or as getChainsFromNamespace,Xo as getChainsFromNamespaces,Su as getChainsFromRecap,$o as getChainsFromRequiredNamespaces,wi as getCommonValuesInArrays,ao as getCryptoKeyFromKeyData,Xf as getDecodedRecapFromResources,Ss as getDeepLink,Vi as getDidAddress,Gr as getDidAddressSegments,Yi as getDidChainId,We as getEnvironment,as as getHttpUrl,xe as getInternalError,On as getJavascriptID,Rn as getJavascriptOS,Dn as getLastItems,Zu as getLinkModeURL,Eu as getMethodsFromRecap,gu as getNamespacedDidChainId,bo as getNamespacesChains,wo as getNamespacesEventsForChainId,Mo as getNamespacesFromAccounts,yo as getNamespacesMethodsForChainId,ko as getNodeOnlineStatus,Zf as getReCapActions,Uo as getReactNativeOnlineStatus,wu as getRecapAbilitiesFromResource,Vr as getRecapFromResources,$f as getRecapResource,os as getRelayClientMetadata,ju as getRelayProtocolApi,zu as getRelayProtocolName,sh as getRequiredNamespacesFromNamespaces,er as getSdkError,Is as getSearchParamFromURL,mi as getUniqueValues,Es as handleDeeplinkRedirect,_e as hasOverlap,Ru as hashKey,Ou as hashMessage,gr as isBrowser,on as isCaipNamespace,To as isConformingNamespaces,xs as isExpired,bi as isNode,Bh as isOnline,lh as isProposalStruct,rr as isReactNative,Xi as isRecap,hh as isSessionCompatible,dh as isSessionStruct,kn as isTelegram,_s as isTestRun,ku as isTypeOneEnvelope,qu as isTypeTwoEnvelope,Pe as isUndefined,Io as isValidAccountId,Bo as isValidAccounts,Ro as isValidActions,Nr as isValidArray,_r as isValidChainId,No as isValidChains,ph as isValidController,Jf as isValidEip1271Signature,Qf as isValidEip191Signature,bh as isValidErrorReason,xh as isValidEvent,mh as isValidId,Co as isValidNamespaceAccounts,un as isValidNamespaceActions,_o as isValidNamespaceChains,an as isValidNamespaceMethodsOrEvents,Oo as isValidNamespaces,Mh as isValidNamespacesChainId,Sh as isValidNamespacesEvent,Eh as isValidNamespacesRequest,$r as isValidNumber,Xr as isValidObject,Ah as isValidParams,ge as isValidRecap,Po as isValidRelay,gh as isValidRelays,yh as isValidRequest,_h as isValidRequestExpiry,vh as isValidRequiredNamespaces,wh as isValidResponse,Yt as isValidString,ch as isValidUrl,ds as mapEntries,cs as mapToObj,me as mergeArrays,Mu as mergeEncodedRecaps,no as mergeRecaps,sn as normalizeNamespaces,ls as objToMap,gi as parseAccountId,An as parseChainId,Tn as parseContextNames,ys as parseExpirerTarget,xo as parseNamespaceKey,po as parseRelayParams,vo as parseTopic,Xu as parseUri,bu as populateAuthPayload,yu as recapHasResource,fn as serialize,qo as subscribeToBrowserNetworkChange,Ch as subscribeToNetworkChange,Ko as subscribeToReactNativeNetworkChange,qn as toBase64,Ns as uuidv4,Uu as validateDecoding,so as validateEncoding,mu as validateSignedCacao,Lu as verifyP256Jwt,jf as verifySignature};\n//# sourceMappingURL=index.es.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLocalStorage = exports.getLocalStorageOrThrow = exports.getCrypto = exports.getCryptoOrThrow = exports.getLocation = exports.getLocationOrThrow = exports.getNavigator = exports.getNavigatorOrThrow = exports.getDocument = exports.getDocumentOrThrow = exports.getFromWindowOrThrow = exports.getFromWindow = void 0;\nfunction getFromWindow(name) {\n let res = undefined;\n if (typeof window !== \"undefined\" && typeof window[name] !== \"undefined\") {\n res = window[name];\n }\n return res;\n}\nexports.getFromWindow = getFromWindow;\nfunction getFromWindowOrThrow(name) {\n const res = getFromWindow(name);\n if (!res) {\n throw new Error(`${name} is not defined in Window`);\n }\n return res;\n}\nexports.getFromWindowOrThrow = getFromWindowOrThrow;\nfunction getDocumentOrThrow() {\n return getFromWindowOrThrow(\"document\");\n}\nexports.getDocumentOrThrow = getDocumentOrThrow;\nfunction getDocument() {\n return getFromWindow(\"document\");\n}\nexports.getDocument = getDocument;\nfunction getNavigatorOrThrow() {\n return getFromWindowOrThrow(\"navigator\");\n}\nexports.getNavigatorOrThrow = getNavigatorOrThrow;\nfunction getNavigator() {\n return getFromWindow(\"navigator\");\n}\nexports.getNavigator = getNavigator;\nfunction getLocationOrThrow() {\n return getFromWindowOrThrow(\"location\");\n}\nexports.getLocationOrThrow = getLocationOrThrow;\nfunction getLocation() {\n return getFromWindow(\"location\");\n}\nexports.getLocation = getLocation;\nfunction getCryptoOrThrow() {\n return getFromWindowOrThrow(\"crypto\");\n}\nexports.getCryptoOrThrow = getCryptoOrThrow;\nfunction getCrypto() {\n return getFromWindow(\"crypto\");\n}\nexports.getCrypto = getCrypto;\nfunction getLocalStorageOrThrow() {\n return getFromWindowOrThrow(\"localStorage\");\n}\nexports.getLocalStorageOrThrow = getLocalStorageOrThrow;\nfunction getLocalStorage() {\n return getFromWindow(\"localStorage\");\n}\nexports.getLocalStorage = getLocalStorage;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWindowMetadata = void 0;\nconst window_getters_1 = require(\"@walletconnect/window-getters\");\nfunction getWindowMetadata() {\n let doc;\n let loc;\n try {\n doc = window_getters_1.getDocumentOrThrow();\n loc = window_getters_1.getLocationOrThrow();\n }\n catch (e) {\n return null;\n }\n function getIcons() {\n const links = doc.getElementsByTagName(\"link\");\n const icons = [];\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const rel = link.getAttribute(\"rel\");\n if (rel) {\n if (rel.toLowerCase().indexOf(\"icon\") > -1) {\n const href = link.getAttribute(\"href\");\n if (href) {\n if (href.toLowerCase().indexOf(\"https:\") === -1 &&\n href.toLowerCase().indexOf(\"http:\") === -1 &&\n href.indexOf(\"//\") !== 0) {\n let absoluteHref = loc.protocol + \"//\" + loc.host;\n if (href.indexOf(\"/\") === 0) {\n absoluteHref += href;\n }\n else {\n const path = loc.pathname.split(\"/\");\n path.pop();\n const finalPath = path.join(\"/\");\n absoluteHref += finalPath + \"/\" + href;\n }\n icons.push(absoluteHref);\n }\n else if (href.indexOf(\"//\") === 0) {\n const absoluteUrl = loc.protocol + href;\n icons.push(absoluteUrl);\n }\n else {\n icons.push(href);\n }\n }\n }\n }\n }\n return icons;\n }\n function getWindowMetadataOfAny(...args) {\n const metaTags = doc.getElementsByTagName(\"meta\");\n for (let i = 0; i < metaTags.length; i++) {\n const tag = metaTags[i];\n const attributes = [\"itemprop\", \"property\", \"name\"]\n .map((target) => tag.getAttribute(target))\n .filter((attr) => {\n if (attr) {\n return args.includes(attr);\n }\n return false;\n });\n if (attributes.length && attributes) {\n const content = tag.getAttribute(\"content\");\n if (content) {\n return content;\n }\n }\n }\n return \"\";\n }\n function getName() {\n let name = getWindowMetadataOfAny(\"name\", \"og:site_name\", \"og:title\", \"twitter:title\");\n if (!name) {\n name = doc.title;\n }\n return name;\n }\n function getDescription() {\n const description = getWindowMetadataOfAny(\"description\", \"og:description\", \"twitter:description\", \"keywords\");\n return description;\n }\n const name = getName();\n const description = getDescription();\n const url = loc.origin;\n const icons = getIcons();\n const meta = {\n description,\n url,\n icons,\n name,\n };\n return meta;\n}\nexports.getWindowMetadata = getWindowMetadata;\n//# sourceMappingURL=index.js.map","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_updateLocale=n()}(this,(function(){\"use strict\";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach((function(e){o[e]=n[e]})),o}}}));","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly, bitLength) {\n var byteLength;\n if (BN.isBN(msg) || typeof msg === 'number') {\n msg = new BN(msg, 16);\n byteLength = msg.byteLength();\n } else if (typeof msg === 'object') {\n // BN assumes an array-like input and asserts length\n byteLength = msg.length;\n msg = new BN(msg, 16);\n } else {\n // BN converts the value to string\n var str = msg.toString();\n // HEX encoding\n byteLength = (str.length + 1) >>> 1;\n msg = new BN(str, 16);\n }\n // Allow overriding\n if (typeof bitLength !== 'number') {\n bitLength = byteLength * 8;\n }\n var delta = bitLength - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(msg, false, options.msgBitLength);\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc, options) {\n if (!options)\n options = {};\n\n msg = this._truncateToN(msg, false, options.msgBitLength);\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature, options) {\n return this.ec.verify(msg, signature, this, undefined, options);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n if(buf[p.place] === 0x00) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n if ((data[p.place] & 128) !== 0) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n if ((data[p.place] & 128) !== 0) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n if (sig.S().gte(sig.eddsa.curve.n) || sig.S().isNeg()) {\n return false;\n }\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n assert(sig.length === eddsa.encodingLength * 2, 'Signature has invalid size');\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',\n ],\n ],\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',\n ],\n ],\n },\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n var i;\n for (i = 0; i < naf.length; i += 1) {\n naf[i] = 0;\n }\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","'use strict'\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","\nconst canPromise = require('./can-promise')\n\nconst QRCode = require('./core/qrcode')\nconst CanvasRenderer = require('./renderer/canvas')\nconst SvgRenderer = require('./renderer/svg-tag.js')\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n","// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n","/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = require('./utils').getSymbolSize\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n","const Mode = require('./mode')\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n","function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n","/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n","const encodeUtf8 = require('encode-utf8')\nconst Mode = require('./mode')\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n if (typeof (data) === 'string') {\n data = encodeUtf8(data)\n }\n this.data = new Uint8Array(data)\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n","const ECLevel = require('./error-correction-level')\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n","exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const getSymbolSize = require('./utils').getSymbolSize\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n","const Utils = require('./utils')\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n","const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n","const Mode = require('./mode')\nconst Utils = require('./utils')\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n","/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n","const VersionCheck = require('./version-check')\nconst Regex = require('./regex')\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const Mode = require('./mode')\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n","const GF = require('./galois-field')\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n","const Utils = require('./utils')\nconst ECLevel = require('./error-correction-level')\nconst BitBuffer = require('./bit-buffer')\nconst BitMatrix = require('./bit-matrix')\nconst AlignmentPattern = require('./alignment-pattern')\nconst FinderPattern = require('./finder-pattern')\nconst MaskPattern = require('./mask-pattern')\nconst ECCode = require('./error-correction-code')\nconst ReedSolomonEncoder = require('./reed-solomon-encoder')\nconst Version = require('./version')\nconst FormatInfo = require('./format-info')\nconst Mode = require('./mode')\nconst Segments = require('./segments')\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n","const Polynomial = require('./polynomial')\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n","const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n","const Mode = require('./mode')\nconst NumericData = require('./numeric-data')\nconst AlphanumericData = require('./alphanumeric-data')\nconst ByteData = require('./byte-data')\nconst KanjiData = require('./kanji-data')\nconst Regex = require('./regex')\nconst Utils = require('./utils')\nconst dijkstra = require('dijkstrajs')\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n","let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n","/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n","const Utils = require('./utils')\nconst ECCode = require('./error-correction-code')\nconst ECLevel = require('./error-correction-level')\nconst Mode = require('./mode')\nconst VersionCheck = require('./version-check')\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n","const Utils = require('./utils')\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n","const Utils = require('./utils')\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : ''\n\n const path =\n ''\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n","function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || ''\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","/*!\n * surveyjs - Survey JavaScript library v1.9.137\n * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/\n * License: MIT (http://www.opensource.org/licenses/mit-license.php)\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"survey-react\", [\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"survey-react\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"Survey\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_react_dom__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/entries/react.ts\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/signature_pad/dist/signature_pad.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/signature_pad/dist/signature_pad.js ***!\n \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SignaturePad; });\n/*!\n * Signature Pad v4.2.0 | https://github.com/szimek/signature_pad\n * (c) 2024 Szymon Nowak | Released under the MIT license\n */\n\nclass Point {\n constructor(x, y, pressure, time) {\n if (isNaN(x) || isNaN(y)) {\n throw new Error(`Point is invalid: (${x}, ${y})`);\n }\n this.x = +x;\n this.y = +y;\n this.pressure = pressure || 0;\n this.time = time || Date.now();\n }\n distanceTo(start) {\n return Math.sqrt(Math.pow(this.x - start.x, 2) + Math.pow(this.y - start.y, 2));\n }\n equals(other) {\n return (this.x === other.x &&\n this.y === other.y &&\n this.pressure === other.pressure &&\n this.time === other.time);\n }\n velocityFrom(start) {\n return this.time !== start.time\n ? this.distanceTo(start) / (this.time - start.time)\n : 0;\n }\n}\n\nclass Bezier {\n static fromPoints(points, widths) {\n const c2 = this.calculateControlPoints(points[0], points[1], points[2]).c2;\n const c3 = this.calculateControlPoints(points[1], points[2], points[3]).c1;\n return new Bezier(points[1], c2, c3, points[2], widths.start, widths.end);\n }\n static calculateControlPoints(s1, s2, s3) {\n const dx1 = s1.x - s2.x;\n const dy1 = s1.y - s2.y;\n const dx2 = s2.x - s3.x;\n const dy2 = s2.y - s3.y;\n const m1 = { x: (s1.x + s2.x) / 2.0, y: (s1.y + s2.y) / 2.0 };\n const m2 = { x: (s2.x + s3.x) / 2.0, y: (s2.y + s3.y) / 2.0 };\n const l1 = Math.sqrt(dx1 * dx1 + dy1 * dy1);\n const l2 = Math.sqrt(dx2 * dx2 + dy2 * dy2);\n const dxm = m1.x - m2.x;\n const dym = m1.y - m2.y;\n const k = l2 / (l1 + l2);\n const cm = { x: m2.x + dxm * k, y: m2.y + dym * k };\n const tx = s2.x - cm.x;\n const ty = s2.y - cm.y;\n return {\n c1: new Point(m1.x + tx, m1.y + ty),\n c2: new Point(m2.x + tx, m2.y + ty),\n };\n }\n constructor(startPoint, control2, control1, endPoint, startWidth, endWidth) {\n this.startPoint = startPoint;\n this.control2 = control2;\n this.control1 = control1;\n this.endPoint = endPoint;\n this.startWidth = startWidth;\n this.endWidth = endWidth;\n }\n length() {\n const steps = 10;\n let length = 0;\n let px;\n let py;\n for (let i = 0; i <= steps; i += 1) {\n const t = i / steps;\n const cx = this.point(t, this.startPoint.x, this.control1.x, this.control2.x, this.endPoint.x);\n const cy = this.point(t, this.startPoint.y, this.control1.y, this.control2.y, this.endPoint.y);\n if (i > 0) {\n const xdiff = cx - px;\n const ydiff = cy - py;\n length += Math.sqrt(xdiff * xdiff + ydiff * ydiff);\n }\n px = cx;\n py = cy;\n }\n return length;\n }\n point(t, start, c1, c2, end) {\n return (start * (1.0 - t) * (1.0 - t) * (1.0 - t))\n + (3.0 * c1 * (1.0 - t) * (1.0 - t) * t)\n + (3.0 * c2 * (1.0 - t) * t * t)\n + (end * t * t * t);\n }\n}\n\nclass SignatureEventTarget {\n constructor() {\n try {\n this._et = new EventTarget();\n }\n catch (error) {\n this._et = document;\n }\n }\n addEventListener(type, listener, options) {\n this._et.addEventListener(type, listener, options);\n }\n dispatchEvent(event) {\n return this._et.dispatchEvent(event);\n }\n removeEventListener(type, callback, options) {\n this._et.removeEventListener(type, callback, options);\n }\n}\n\nfunction throttle(fn, wait = 250) {\n let previous = 0;\n let timeout = null;\n let result;\n let storedContext;\n let storedArgs;\n const later = () => {\n previous = Date.now();\n timeout = null;\n result = fn.apply(storedContext, storedArgs);\n if (!timeout) {\n storedContext = null;\n storedArgs = [];\n }\n };\n return function wrapper(...args) {\n const now = Date.now();\n const remaining = wait - (now - previous);\n storedContext = this;\n storedArgs = args;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = fn.apply(storedContext, storedArgs);\n if (!timeout) {\n storedContext = null;\n storedArgs = [];\n }\n }\n else if (!timeout) {\n timeout = window.setTimeout(later, remaining);\n }\n return result;\n };\n}\n\nclass SignaturePad extends SignatureEventTarget {\n constructor(canvas, options = {}) {\n super();\n this.canvas = canvas;\n this._drawingStroke = false;\n this._isEmpty = true;\n this._lastPoints = [];\n this._data = [];\n this._lastVelocity = 0;\n this._lastWidth = 0;\n this._handleMouseDown = (event) => {\n if (event.buttons === 1) {\n this._strokeBegin(event);\n }\n };\n this._handleMouseMove = (event) => {\n this._strokeMoveUpdate(event);\n };\n this._handleMouseUp = (event) => {\n if (event.buttons === 1) {\n this._strokeEnd(event);\n }\n };\n this._handleTouchStart = (event) => {\n if (event.cancelable) {\n event.preventDefault();\n }\n if (event.targetTouches.length === 1) {\n const touch = event.changedTouches[0];\n this._strokeBegin(touch);\n }\n };\n this._handleTouchMove = (event) => {\n if (event.cancelable) {\n event.preventDefault();\n }\n const touch = event.targetTouches[0];\n this._strokeMoveUpdate(touch);\n };\n this._handleTouchEnd = (event) => {\n const wasCanvasTouched = event.target === this.canvas;\n if (wasCanvasTouched) {\n if (event.cancelable) {\n event.preventDefault();\n }\n const touch = event.changedTouches[0];\n this._strokeEnd(touch);\n }\n };\n this._handlePointerStart = (event) => {\n event.preventDefault();\n this._strokeBegin(event);\n };\n this._handlePointerMove = (event) => {\n this._strokeMoveUpdate(event);\n };\n this._handlePointerEnd = (event) => {\n if (this._drawingStroke) {\n event.preventDefault();\n this._strokeEnd(event);\n }\n };\n this.velocityFilterWeight = options.velocityFilterWeight || 0.7;\n this.minWidth = options.minWidth || 0.5;\n this.maxWidth = options.maxWidth || 2.5;\n this.throttle = ('throttle' in options ? options.throttle : 16);\n this.minDistance = ('minDistance' in options ? options.minDistance : 5);\n this.dotSize = options.dotSize || 0;\n this.penColor = options.penColor || 'black';\n this.backgroundColor = options.backgroundColor || 'rgba(0,0,0,0)';\n this.compositeOperation = options.compositeOperation || 'source-over';\n this.canvasContextOptions = ('canvasContextOptions' in options ? options.canvasContextOptions : {});\n this._strokeMoveUpdate = this.throttle\n ? throttle(SignaturePad.prototype._strokeUpdate, this.throttle)\n : SignaturePad.prototype._strokeUpdate;\n this._ctx = canvas.getContext('2d', this.canvasContextOptions);\n this.clear();\n this.on();\n }\n clear() {\n const { _ctx: ctx, canvas } = this;\n ctx.fillStyle = this.backgroundColor;\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n this._data = [];\n this._reset(this._getPointGroupOptions());\n this._isEmpty = true;\n }\n fromDataURL(dataUrl, options = {}) {\n return new Promise((resolve, reject) => {\n const image = new Image();\n const ratio = options.ratio || window.devicePixelRatio || 1;\n const width = options.width || this.canvas.width / ratio;\n const height = options.height || this.canvas.height / ratio;\n const xOffset = options.xOffset || 0;\n const yOffset = options.yOffset || 0;\n this._reset(this._getPointGroupOptions());\n image.onload = () => {\n this._ctx.drawImage(image, xOffset, yOffset, width, height);\n resolve();\n };\n image.onerror = (error) => {\n reject(error);\n };\n image.crossOrigin = 'anonymous';\n image.src = dataUrl;\n this._isEmpty = false;\n });\n }\n toDataURL(type = 'image/png', encoderOptions) {\n switch (type) {\n case 'image/svg+xml':\n if (typeof encoderOptions !== 'object') {\n encoderOptions = undefined;\n }\n return `data:image/svg+xml;base64,${btoa(this.toSVG(encoderOptions))}`;\n default:\n if (typeof encoderOptions !== 'number') {\n encoderOptions = undefined;\n }\n return this.canvas.toDataURL(type, encoderOptions);\n }\n }\n on() {\n this.canvas.style.touchAction = 'none';\n this.canvas.style.msTouchAction = 'none';\n this.canvas.style.userSelect = 'none';\n const isIOS = /Macintosh/.test(navigator.userAgent) && 'ontouchstart' in document;\n if (window.PointerEvent && !isIOS) {\n this._handlePointerEvents();\n }\n else {\n this._handleMouseEvents();\n if ('ontouchstart' in window) {\n this._handleTouchEvents();\n }\n }\n }\n off() {\n this.canvas.style.touchAction = 'auto';\n this.canvas.style.msTouchAction = 'auto';\n this.canvas.style.userSelect = 'auto';\n this.canvas.removeEventListener('pointerdown', this._handlePointerStart);\n this.canvas.removeEventListener('pointermove', this._handlePointerMove);\n this.canvas.ownerDocument.removeEventListener('pointerup', this._handlePointerEnd);\n this.canvas.removeEventListener('mousedown', this._handleMouseDown);\n this.canvas.removeEventListener('mousemove', this._handleMouseMove);\n this.canvas.ownerDocument.removeEventListener('mouseup', this._handleMouseUp);\n this.canvas.removeEventListener('touchstart', this._handleTouchStart);\n this.canvas.removeEventListener('touchmove', this._handleTouchMove);\n this.canvas.removeEventListener('touchend', this._handleTouchEnd);\n }\n isEmpty() {\n return this._isEmpty;\n }\n fromData(pointGroups, { clear = true } = {}) {\n if (clear) {\n this.clear();\n }\n this._fromData(pointGroups, this._drawCurve.bind(this), this._drawDot.bind(this));\n this._data = this._data.concat(pointGroups);\n }\n toData() {\n return this._data;\n }\n _getPointGroupOptions(group) {\n return {\n penColor: group && 'penColor' in group ? group.penColor : this.penColor,\n dotSize: group && 'dotSize' in group ? group.dotSize : this.dotSize,\n minWidth: group && 'minWidth' in group ? group.minWidth : this.minWidth,\n maxWidth: group && 'maxWidth' in group ? group.maxWidth : this.maxWidth,\n velocityFilterWeight: group && 'velocityFilterWeight' in group\n ? group.velocityFilterWeight\n : this.velocityFilterWeight,\n compositeOperation: group && 'compositeOperation' in group\n ? group.compositeOperation\n : this.compositeOperation,\n };\n }\n _strokeBegin(event) {\n const cancelled = !this.dispatchEvent(new CustomEvent('beginStroke', { detail: event, cancelable: true }));\n if (cancelled) {\n return;\n }\n this._drawingStroke = true;\n const pointGroupOptions = this._getPointGroupOptions();\n const newPointGroup = Object.assign(Object.assign({}, pointGroupOptions), { points: [] });\n this._data.push(newPointGroup);\n this._reset(pointGroupOptions);\n this._strokeUpdate(event);\n }\n _strokeUpdate(event) {\n if (!this._drawingStroke) {\n return;\n }\n if (this._data.length === 0) {\n this._strokeBegin(event);\n return;\n }\n this.dispatchEvent(new CustomEvent('beforeUpdateStroke', { detail: event }));\n const x = event.clientX;\n const y = event.clientY;\n const pressure = event.pressure !== undefined\n ? event.pressure\n : event.force !== undefined\n ? event.force\n : 0;\n const point = this._createPoint(x, y, pressure);\n const lastPointGroup = this._data[this._data.length - 1];\n const lastPoints = lastPointGroup.points;\n const lastPoint = lastPoints.length > 0 && lastPoints[lastPoints.length - 1];\n const isLastPointTooClose = lastPoint\n ? point.distanceTo(lastPoint) <= this.minDistance\n : false;\n const pointGroupOptions = this._getPointGroupOptions(lastPointGroup);\n if (!lastPoint || !(lastPoint && isLastPointTooClose)) {\n const curve = this._addPoint(point, pointGroupOptions);\n if (!lastPoint) {\n this._drawDot(point, pointGroupOptions);\n }\n else if (curve) {\n this._drawCurve(curve, pointGroupOptions);\n }\n lastPoints.push({\n time: point.time,\n x: point.x,\n y: point.y,\n pressure: point.pressure,\n });\n }\n this.dispatchEvent(new CustomEvent('afterUpdateStroke', { detail: event }));\n }\n _strokeEnd(event) {\n if (!this._drawingStroke) {\n return;\n }\n this._strokeUpdate(event);\n this._drawingStroke = false;\n this.dispatchEvent(new CustomEvent('endStroke', { detail: event }));\n }\n _handlePointerEvents() {\n this._drawingStroke = false;\n this.canvas.addEventListener('pointerdown', this._handlePointerStart);\n this.canvas.addEventListener('pointermove', this._handlePointerMove);\n this.canvas.ownerDocument.addEventListener('pointerup', this._handlePointerEnd);\n }\n _handleMouseEvents() {\n this._drawingStroke = false;\n this.canvas.addEventListener('mousedown', this._handleMouseDown);\n this.canvas.addEventListener('mousemove', this._handleMouseMove);\n this.canvas.ownerDocument.addEventListener('mouseup', this._handleMouseUp);\n }\n _handleTouchEvents() {\n this.canvas.addEventListener('touchstart', this._handleTouchStart);\n this.canvas.addEventListener('touchmove', this._handleTouchMove);\n this.canvas.addEventListener('touchend', this._handleTouchEnd);\n }\n _reset(options) {\n this._lastPoints = [];\n this._lastVelocity = 0;\n this._lastWidth = (options.minWidth + options.maxWidth) / 2;\n this._ctx.fillStyle = options.penColor;\n this._ctx.globalCompositeOperation = options.compositeOperation;\n }\n _createPoint(x, y, pressure) {\n const rect = this.canvas.getBoundingClientRect();\n return new Point(x - rect.left, y - rect.top, pressure, new Date().getTime());\n }\n _addPoint(point, options) {\n const { _lastPoints } = this;\n _lastPoints.push(point);\n if (_lastPoints.length > 2) {\n if (_lastPoints.length === 3) {\n _lastPoints.unshift(_lastPoints[0]);\n }\n const widths = this._calculateCurveWidths(_lastPoints[1], _lastPoints[2], options);\n const curve = Bezier.fromPoints(_lastPoints, widths);\n _lastPoints.shift();\n return curve;\n }\n return null;\n }\n _calculateCurveWidths(startPoint, endPoint, options) {\n const velocity = options.velocityFilterWeight * endPoint.velocityFrom(startPoint) +\n (1 - options.velocityFilterWeight) * this._lastVelocity;\n const newWidth = this._strokeWidth(velocity, options);\n const widths = {\n end: newWidth,\n start: this._lastWidth,\n };\n this._lastVelocity = velocity;\n this._lastWidth = newWidth;\n return widths;\n }\n _strokeWidth(velocity, options) {\n return Math.max(options.maxWidth / (velocity + 1), options.minWidth);\n }\n _drawCurveSegment(x, y, width) {\n const ctx = this._ctx;\n ctx.moveTo(x, y);\n ctx.arc(x, y, width, 0, 2 * Math.PI, false);\n this._isEmpty = false;\n }\n _drawCurve(curve, options) {\n const ctx = this._ctx;\n const widthDelta = curve.endWidth - curve.startWidth;\n const drawSteps = Math.ceil(curve.length()) * 2;\n ctx.beginPath();\n ctx.fillStyle = options.penColor;\n for (let i = 0; i < drawSteps; i += 1) {\n const t = i / drawSteps;\n const tt = t * t;\n const ttt = tt * t;\n const u = 1 - t;\n const uu = u * u;\n const uuu = uu * u;\n let x = uuu * curve.startPoint.x;\n x += 3 * uu * t * curve.control1.x;\n x += 3 * u * tt * curve.control2.x;\n x += ttt * curve.endPoint.x;\n let y = uuu * curve.startPoint.y;\n y += 3 * uu * t * curve.control1.y;\n y += 3 * u * tt * curve.control2.y;\n y += ttt * curve.endPoint.y;\n const width = Math.min(curve.startWidth + ttt * widthDelta, options.maxWidth);\n this._drawCurveSegment(x, y, width);\n }\n ctx.closePath();\n ctx.fill();\n }\n _drawDot(point, options) {\n const ctx = this._ctx;\n const width = options.dotSize > 0\n ? options.dotSize\n : (options.minWidth + options.maxWidth) / 2;\n ctx.beginPath();\n this._drawCurveSegment(point.x, point.y, width);\n ctx.closePath();\n ctx.fillStyle = options.penColor;\n ctx.fill();\n }\n _fromData(pointGroups, drawCurve, drawDot) {\n for (const group of pointGroups) {\n const { points } = group;\n const pointGroupOptions = this._getPointGroupOptions(group);\n if (points.length > 1) {\n for (let j = 0; j < points.length; j += 1) {\n const basicPoint = points[j];\n const point = new Point(basicPoint.x, basicPoint.y, basicPoint.pressure, basicPoint.time);\n if (j === 0) {\n this._reset(pointGroupOptions);\n }\n const curve = this._addPoint(point, pointGroupOptions);\n if (curve) {\n drawCurve(curve, pointGroupOptions);\n }\n }\n }\n else {\n this._reset(pointGroupOptions);\n drawDot(points[0], pointGroupOptions);\n }\n }\n }\n toSVG({ includeBackgroundColor = false } = {}) {\n const pointGroups = this._data;\n const ratio = Math.max(window.devicePixelRatio || 1, 1);\n const minX = 0;\n const minY = 0;\n const maxX = this.canvas.width / ratio;\n const maxY = this.canvas.height / ratio;\n const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svg.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n svg.setAttribute('viewBox', `${minX} ${minY} ${maxX} ${maxY}`);\n svg.setAttribute('width', maxX.toString());\n svg.setAttribute('height', maxY.toString());\n if (includeBackgroundColor && this.backgroundColor) {\n const rect = document.createElement('rect');\n rect.setAttribute('width', '100%');\n rect.setAttribute('height', '100%');\n rect.setAttribute('fill', this.backgroundColor);\n svg.appendChild(rect);\n }\n this._fromData(pointGroups, (curve, { penColor }) => {\n const path = document.createElement('path');\n if (!isNaN(curve.control1.x) &&\n !isNaN(curve.control1.y) &&\n !isNaN(curve.control2.x) &&\n !isNaN(curve.control2.y)) {\n const attr = `M ${curve.startPoint.x.toFixed(3)},${curve.startPoint.y.toFixed(3)} ` +\n `C ${curve.control1.x.toFixed(3)},${curve.control1.y.toFixed(3)} ` +\n `${curve.control2.x.toFixed(3)},${curve.control2.y.toFixed(3)} ` +\n `${curve.endPoint.x.toFixed(3)},${curve.endPoint.y.toFixed(3)}`;\n path.setAttribute('d', attr);\n path.setAttribute('stroke-width', (curve.endWidth * 2.25).toFixed(3));\n path.setAttribute('stroke', penColor);\n path.setAttribute('fill', 'none');\n path.setAttribute('stroke-linecap', 'round');\n svg.appendChild(path);\n }\n }, (point, { penColor, dotSize, minWidth, maxWidth }) => {\n const circle = document.createElement('circle');\n const size = dotSize > 0 ? dotSize : (minWidth + maxWidth) / 2;\n circle.setAttribute('r', size.toString());\n circle.setAttribute('cx', point.x.toString());\n circle.setAttribute('cy', point.y.toString());\n circle.setAttribute('fill', penColor);\n svg.appendChild(circle);\n });\n return svg.outerHTML;\n }\n}\n\n\n//# sourceMappingURL=signature_pad.js.map\n\n\n/***/ }),\n\n/***/ \"./src/actions/action.ts\":\n/*!*******************************!*\\\n !*** ./src/actions/action.ts ***!\n \\*******************************/\n/*! exports provided: createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModel\", function() { return createDropdownActionModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModelAdvanced\", function() { return createDropdownActionModelAdvanced; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getActionDropdownButtonTarget\", function() { return getActionDropdownButtonTarget; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BaseAction\", function() { return BaseAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Action\", function() { return Action; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ActionDropdownViewModel\", function() { return ActionDropdownViewModel; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../base */ \"./src/base.ts\");\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../list */ \"./src/list.ts\");\n/* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../popup */ \"./src/popup.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./container */ \"./src/actions/container.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\nfunction createDropdownActionModel(actionOptions, dropdownOptions, locOwner) {\n return createDropdownActionModelAdvanced(actionOptions, dropdownOptions, dropdownOptions, locOwner);\n}\nfunction createDropdownActionModelAdvanced(actionOptions, listOptions, popupOptions, locOwner) {\n var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__[\"ListModel\"](listOptions.items, function (item) {\n if (newAction.hasTitle) {\n newAction.title = item.title;\n }\n listOptions.onSelectionChanged(item);\n innerPopupModel.toggleVisibility();\n }, listOptions.allowSelection, listOptions.selectedItem, listOptions.onFilterStringChangedCallback);\n listModel.locOwner = locOwner;\n var innerPopupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__[\"PopupModel\"](\"sv-list\", { model: listModel }, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.verticalPosition, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.horizontalPosition, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.showPointer, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.isModal, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onCancel, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onApply, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onHide, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onShow, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.cssClass, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.title, function () {\n listModel.dispose();\n });\n innerPopupModel.displayMode = popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.displayMode;\n var newActionOptions = Object.assign({}, actionOptions, {\n component: \"sv-action-bar-item-dropdown\",\n popupModel: innerPopupModel,\n action: function (action, isUserAction) {\n !!(actionOptions.action) && actionOptions.action();\n innerPopupModel.isFocusedContent = !isUserAction || listModel.showFilter;\n innerPopupModel.toggleVisibility();\n listModel.scrollToSelectedItem();\n },\n });\n var newAction = new Action(newActionOptions);\n newAction.data = listModel;\n return newAction;\n}\nfunction getActionDropdownButtonTarget(container) {\n return container === null || container === void 0 ? void 0 : container.previousElementSibling;\n}\nvar BaseAction = /** @class */ (function (_super) {\n __extends(BaseAction, _super);\n function BaseAction() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.iconSize = 24;\n return _this;\n }\n Object.defineProperty(BaseAction.prototype, \"visible\", {\n get: function () {\n return this.getVisible();\n },\n set: function (val) {\n this.setVisible(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"enabled\", {\n get: function () {\n return this.getEnabled();\n },\n set: function (val) {\n this.setEnabled(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"component\", {\n get: function () {\n return this.getComponent();\n },\n set: function (val) {\n this.setComponent(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"locTitle\", {\n get: function () {\n return this.getLocTitle();\n },\n set: function (val) {\n this.setLocTitle(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"title\", {\n get: function () {\n return this.getTitle();\n },\n set: function (val) {\n this.setTitle(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"cssClasses\", {\n get: function () {\n return this.cssClassesValue || _container__WEBPACK_IMPORTED_MODULE_6__[\"defaultActionBarCss\"];\n },\n set: function (val) {\n this.cssClassesValue = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"isVisible\", {\n get: function () {\n return this.visible && this.mode !== \"popup\" && this.mode !== \"removed\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"disabled\", {\n get: function () {\n return this.enabled !== undefined && !this.enabled;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"canShrink\", {\n get: function () {\n return !!this.iconName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"hasTitle\", {\n get: function () {\n return (((this.mode != \"small\" &&\n (this.showTitle || this.showTitle === undefined)) ||\n !this.iconName) &&\n !!this.title);\n },\n enumerable: false,\n configurable: true\n });\n BaseAction.prototype.getActionBarItemTitleCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__[\"CssClassBuilder\"]()\n .append(this.cssClasses.itemTitle)\n .append(this.cssClasses.itemTitleWithIcon, !!this.iconName)\n .toString();\n };\n BaseAction.prototype.getActionBarItemCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__[\"CssClassBuilder\"]()\n .append(this.cssClasses.item)\n .append(this.cssClasses.itemWithTitle, this.hasTitle)\n .append(this.cssClasses.itemAsIcon, !this.hasTitle)\n .append(this.cssClasses.itemActive, !!this.active)\n .append(this.cssClasses.itemPressed, !!this.pressed)\n .append(this.innerCss)\n .toString();\n };\n BaseAction.prototype.getActionRootCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__[\"CssClassBuilder\"]()\n .append(\"sv-action\")\n .append(this.css)\n .append(\"sv-action--space\", this.needSpace)\n .append(\"sv-action--hidden\", !this.isVisible)\n .toString();\n };\n BaseAction.prototype.getTooltip = function () {\n return this.tooltip || this.title;\n };\n BaseAction.prototype.getIsTrusted = function (args) {\n if (!!args.originalEvent) {\n return args.originalEvent.isTrusted;\n }\n return args.isTrusted;\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"tooltip\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"showTitle\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"innerCss\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"active\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"pressed\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"data\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"popupModel\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"needSeparator\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"template\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: \"large\" })\n ], BaseAction.prototype, \"mode\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"visibleIndex\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"disableTabStop\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"disableShrink\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"disableHide\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: false })\n ], BaseAction.prototype, \"needSpace\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"ariaChecked\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"ariaExpanded\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: \"button\" })\n ], BaseAction.prototype, \"ariaRole\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"iconName\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"iconSize\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"css\", void 0);\n return BaseAction;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\nvar Action = /** @class */ (function (_super) {\n __extends(Action, _super);\n function Action(innerItem) {\n var _this = _super.call(this) || this;\n _this.innerItem = innerItem;\n _this.locTitleChanged = function () {\n var val = _this.locTitle.renderedHtml;\n _this.setPropertyValue(\"_title\", !!val ? val : undefined);\n };\n _this.locTitle = !!innerItem ? innerItem[\"locTitle\"] : null;\n //Object.assign(this, item) to support IE11\n if (!!innerItem) {\n for (var key in innerItem) {\n if (key !== \"locTitle\") {\n _this[key] = innerItem[key];\n }\n }\n }\n if (!!_this.locTitleName) {\n _this.locTitleChanged();\n }\n _this.registerFunctionOnPropertyValueChanged(\"_title\", function () {\n _this.raiseUpdate(true);\n });\n _this.locStrChangedInPopupModel();\n return _this;\n }\n Action.prototype.raiseUpdate = function (isResetInitialized) {\n if (isResetInitialized === void 0) { isResetInitialized = false; }\n this.updateCallback && this.updateCallback(isResetInitialized);\n };\n Action.prototype.createLocTitle = function () {\n return this.createLocalizableString(\"title\", this, true);\n };\n Action.prototype.getLocTitle = function () {\n return this.locTitleValue;\n };\n Action.prototype.setLocTitle = function (val) {\n if (!val && !this.locTitleValue) {\n val = this.createLocTitle();\n }\n if (!!this.locTitleValue) {\n this.locTitleValue.onStringChanged.remove(this.locTitleChanged);\n }\n this.locTitleValue = val;\n this.locTitleValue.onStringChanged.add(this.locTitleChanged);\n this.locTitleChanged();\n };\n Action.prototype.getTitle = function () {\n return this._title;\n };\n Action.prototype.setTitle = function (val) {\n this._title = val;\n };\n Object.defineProperty(Action.prototype, \"locTitleName\", {\n get: function () {\n return this.locTitle.localizationName;\n },\n set: function (val) {\n this.locTitle.localizationName = val;\n },\n enumerable: false,\n configurable: true\n });\n Action.prototype.locStrsChanged = function () {\n _super.prototype.locStrsChanged.call(this);\n this.locTooltipChanged();\n this.locStrChangedInPopupModel();\n };\n Action.prototype.locStrChangedInPopupModel = function () {\n if (!this.popupModel || !this.popupModel.contentComponentData || !this.popupModel.contentComponentData.model)\n return;\n var model = this.popupModel.contentComponentData.model;\n if (Array.isArray(model.actions)) {\n var actions = model.actions;\n actions.forEach(function (item) {\n if (!!item.locStrsChanged) {\n item.locStrsChanged();\n }\n });\n }\n };\n Action.prototype.locTooltipChanged = function () {\n if (!this.locTooltipName)\n return;\n this.tooltip = _surveyStrings__WEBPACK_IMPORTED_MODULE_1__[\"surveyLocalization\"].getString(this.locTooltipName, this.locTitle.locale);\n };\n //ILocalizableOwner\n Action.prototype.getLocale = function () { return this.owner ? this.owner.getLocale() : \"\"; };\n Action.prototype.getMarkdownHtml = function (text, name) { return this.owner ? this.owner.getMarkdownHtml(text, name) : undefined; };\n Action.prototype.getProcessedText = function (text) { return this.owner ? this.owner.getProcessedText(text) : text; };\n Action.prototype.getRenderer = function (name) { return this.owner ? this.owner.getRenderer(name) : null; };\n Action.prototype.getRendererContext = function (locStr) { return this.owner ? this.owner.getRendererContext(locStr) : locStr; };\n Action.prototype.setVisible = function (val) {\n this._visible = val;\n };\n Action.prototype.getVisible = function () {\n return this._visible;\n };\n Action.prototype.setEnabled = function (val) {\n this._enabled = val;\n };\n Action.prototype.getEnabled = function () {\n if (this.enabledIf)\n return this.enabledIf();\n return this._enabled;\n };\n Action.prototype.setComponent = function (val) {\n this._component = val;\n };\n Action.prototype.getComponent = function () {\n return this._component;\n };\n Action.prototype.dispose = function () {\n this.updateCallback = undefined;\n this.action = undefined;\n _super.prototype.dispose.call(this);\n if (this.popupModel) {\n this.popupModel.dispose();\n }\n if (!!this.locTitleValue) {\n this.locTitleValue.onStringChanged.remove(this.locTitleChanged);\n this.locTitleChanged = undefined;\n }\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Action.prototype, \"id\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({\n defaultValue: true,\n onSet: function (_, target) {\n target.raiseUpdate();\n }\n })\n ], Action.prototype, \"_visible\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({\n onSet: function (_, target) {\n target.locTooltipChanged();\n }\n })\n ], Action.prototype, \"locTooltipName\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Action.prototype, \"_enabled\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Action.prototype, \"action\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Action.prototype, \"_component\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Action.prototype, \"items\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({\n onSet: function (val, target) {\n if (target.locTitleValue.text === val)\n return;\n target.locTitleValue.text = val;\n }\n })\n ], Action.prototype, \"_title\", void 0);\n return Action;\n}(BaseAction));\n\nvar ActionDropdownViewModel = /** @class */ (function () {\n function ActionDropdownViewModel(item) {\n this.item = item;\n this.funcKey = \"sv-dropdown-action\";\n this.setupPopupCallbacks();\n }\n ActionDropdownViewModel.prototype.setupPopupCallbacks = function () {\n var _this = this;\n var popupModel = this.popupModel = this.item.popupModel;\n if (!popupModel)\n return;\n popupModel.registerPropertyChangedHandlers([\"isVisible\"], function () {\n if (!popupModel.isVisible) {\n _this.item.pressed = false;\n }\n else {\n _this.item.pressed = true;\n }\n }, this.funcKey);\n };\n ActionDropdownViewModel.prototype.removePopupCallbacks = function () {\n if (!!this.popupModel) {\n this.popupModel.unregisterPropertyChangedHandlers([\"isVisible\"], this.funcKey);\n }\n };\n ActionDropdownViewModel.prototype.dispose = function () {\n this.removePopupCallbacks();\n };\n return ActionDropdownViewModel;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/actions/adaptive-container.ts\":\n/*!*******************************************!*\\\n !*** ./src/actions/adaptive-container.ts ***!\n \\*******************************************/\n/*! exports provided: AdaptiveActionContainer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AdaptiveActionContainer\", function() { return AdaptiveActionContainer; });\n/* harmony import */ var _utils_responsivity_manager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/responsivity-manager */ \"./src/utils/responsivity-manager.ts\");\n/* harmony import */ var _action__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./action */ \"./src/actions/action.ts\");\n/* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./container */ \"./src/actions/container.ts\");\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../surveyStrings */ \"./src/surveyStrings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\nvar AdaptiveActionContainer = /** @class */ (function (_super) {\n __extends(AdaptiveActionContainer, _super);\n function AdaptiveActionContainer() {\n var _this = _super.call(this) || this;\n _this.minVisibleItemsCount = 0;\n _this.isResponsivenessDisabled = false;\n _this.dotsItem = Object(_action__WEBPACK_IMPORTED_MODULE_1__[\"createDropdownActionModelAdvanced\"])({\n id: \"dotsItem-id\" + AdaptiveActionContainer.ContainerID++,\n css: \"sv-dots\",\n innerCss: \"sv-dots__item\",\n iconName: \"icon-more\",\n visible: false,\n tooltip: _surveyStrings__WEBPACK_IMPORTED_MODULE_3__[\"surveyLocalization\"].getString(\"more\"),\n }, {\n items: [],\n onSelectionChanged: function (item) {\n _this.hiddenItemSelected(item);\n },\n allowSelection: false\n });\n return _this;\n }\n AdaptiveActionContainer.prototype.hideItemsGreaterN = function (visibleItemsCount) {\n var actionsToHide = this.getActionsToHide();\n visibleItemsCount = Math.max(visibleItemsCount, this.minVisibleItemsCount - (this.visibleActions.length - actionsToHide.length));\n var hiddenItems = [];\n actionsToHide.forEach(function (item) {\n if (visibleItemsCount <= 0) {\n if (item.removePriority) {\n item.mode = \"removed\";\n }\n else {\n item.mode = \"popup\";\n hiddenItems.push(item.innerItem);\n }\n }\n visibleItemsCount--;\n });\n this.hiddenItemsListModel.setItems(hiddenItems);\n };\n AdaptiveActionContainer.prototype.getActionsToHide = function () {\n return this.visibleActions.filter(function (action) { return !action.disableHide; }).sort(function (a, b) { return a.removePriority || 0 - b.removePriority || 0; });\n };\n AdaptiveActionContainer.prototype.getVisibleItemsCount = function (availableSize) {\n this.visibleActions.filter(function (action) { return action.disableHide; }).forEach(function (action) { return availableSize -= action.minDimension; });\n var itemsSizes = this.getActionsToHide().map(function (item) { return item.minDimension; });\n var currSize = 0;\n for (var i = 0; i < itemsSizes.length; i++) {\n currSize += itemsSizes[i];\n if (currSize > availableSize)\n return i;\n }\n return i;\n };\n AdaptiveActionContainer.prototype.updateItemMode = function (availableSize, itemsSize) {\n var items = this.visibleActions;\n for (var index = items.length - 1; index >= 0; index--) {\n if (itemsSize > availableSize && !items[index].disableShrink) {\n itemsSize -= items[index].maxDimension - items[index].minDimension;\n items[index].mode = \"small\";\n }\n else {\n items[index].mode = \"large\";\n }\n }\n if (itemsSize > availableSize) {\n var hidableItems = this.visibleActions.filter(function (a) { return a.removePriority; });\n hidableItems.sort(function (a, b) { return a.removePriority - b.removePriority; });\n for (var index = 0; index < hidableItems.length; index++) {\n if (itemsSize > availableSize) {\n itemsSize -= items[index].disableShrink ? hidableItems[index].maxDimension : hidableItems[index].minDimension;\n hidableItems[index].mode = \"removed\";\n }\n }\n }\n };\n Object.defineProperty(AdaptiveActionContainer.prototype, \"hiddenItemsListModel\", {\n get: function () {\n return this.dotsItem.data;\n },\n enumerable: false,\n configurable: true\n });\n AdaptiveActionContainer.prototype.hiddenItemSelected = function (item) {\n if (!!item && typeof item.action === \"function\") {\n item.action();\n }\n };\n AdaptiveActionContainer.prototype.onSet = function () {\n var _this = this;\n this.actions.forEach(function (action) { return action.updateCallback = function (isResetInitialized) { return _this.raiseUpdate(isResetInitialized); }; });\n _super.prototype.onSet.call(this);\n };\n AdaptiveActionContainer.prototype.onPush = function (item) {\n var _this = this;\n item.updateCallback = function (isResetInitialized) { return _this.raiseUpdate(isResetInitialized); };\n _super.prototype.onPush.call(this, item);\n };\n AdaptiveActionContainer.prototype.getRenderedActions = function () {\n if (this.actions.length === 1 && !!this.actions[0].iconName)\n return this.actions;\n return this.actions.concat([this.dotsItem]);\n };\n AdaptiveActionContainer.prototype.raiseUpdate = function (isResetInitialized) {\n if (!this.isResponsivenessDisabled) {\n _super.prototype.raiseUpdate.call(this, isResetInitialized);\n }\n };\n AdaptiveActionContainer.prototype.fit = function (dimension, dotsItemSize) {\n if (dimension <= 0)\n return;\n this.dotsItem.visible = false;\n var minSize = 0;\n var maxSize = 0;\n var items = this.visibleActions;\n items.forEach(function (item) {\n minSize += item.minDimension;\n maxSize += item.maxDimension;\n });\n if (dimension >= maxSize) {\n this.setActionsMode(\"large\");\n }\n else if (dimension < minSize) {\n this.setActionsMode(\"small\");\n this.hideItemsGreaterN(this.getVisibleItemsCount(dimension - dotsItemSize));\n this.dotsItem.visible = !!this.hiddenItemsListModel.actions.length;\n }\n else {\n this.updateItemMode(dimension, maxSize);\n }\n };\n AdaptiveActionContainer.prototype.initResponsivityManager = function (container, delayedUpdateFunction) {\n this.responsivityManager = new _utils_responsivity_manager__WEBPACK_IMPORTED_MODULE_0__[\"ResponsivityManager\"](container, this, \":scope > .sv-action:not(.sv-dots) > .sv-action__content\", null, delayedUpdateFunction);\n };\n AdaptiveActionContainer.prototype.resetResponsivityManager = function () {\n if (!!this.responsivityManager) {\n this.responsivityManager.dispose();\n this.responsivityManager = undefined;\n }\n };\n AdaptiveActionContainer.prototype.setActionsMode = function (mode) {\n this.actions.forEach(function (action) {\n if (mode == \"small\" && action.disableShrink)\n return;\n action.mode = mode;\n });\n };\n AdaptiveActionContainer.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.dotsItem.data.dispose();\n this.dotsItem.dispose();\n this.resetResponsivityManager();\n };\n AdaptiveActionContainer.ContainerID = 1;\n return AdaptiveActionContainer;\n}(_container__WEBPACK_IMPORTED_MODULE_2__[\"ActionContainer\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/actions/container.ts\":\n/*!**********************************!*\\\n !*** ./src/actions/container.ts ***!\n \\**********************************/\n/*! exports provided: defaultActionBarCss, ActionContainer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultActionBarCss\", function() { return defaultActionBarCss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ActionContainer\", function() { return ActionContainer; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base */ \"./src/base.ts\");\n/* harmony import */ var _action__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./action */ \"./src/actions/action.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/utils */ \"./src/utils/utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\nvar defaultActionBarCss = {\n root: \"sv-action-bar\",\n defaultSizeMode: \"sv-action-bar--default-size-mode\",\n smallSizeMode: \"sv-action-bar--small-size-mode\",\n item: \"sv-action-bar-item\",\n itemWithTitle: \"\",\n itemAsIcon: \"sv-action-bar-item--icon\",\n itemActive: \"sv-action-bar-item--active\",\n itemPressed: \"sv-action-bar-item--pressed\",\n itemIcon: \"sv-action-bar-item__icon\",\n itemTitle: \"sv-action-bar-item__title\",\n itemTitleWithIcon: \"sv-action-bar-item__title--with-icon\",\n};\nvar ActionContainer = /** @class */ (function (_super) {\n __extends(ActionContainer, _super);\n function ActionContainer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.sizeMode = \"default\";\n return _this;\n }\n ActionContainer.prototype.getMarkdownHtml = function (text, name) {\n return !!this.locOwner ? this.locOwner.getMarkdownHtml(text, name) : undefined;\n };\n ActionContainer.prototype.getRenderer = function (name) {\n return !!this.locOwner ? this.locOwner.getRenderer(name) : null;\n };\n ActionContainer.prototype.getRendererContext = function (locStr) {\n return !!this.locOwner ? this.locOwner.getRendererContext(locStr) : locStr;\n };\n ActionContainer.prototype.getProcessedText = function (text) {\n return this.locOwner ? this.locOwner.getProcessedText(text) : text;\n };\n ActionContainer.prototype.getLocale = function () {\n return !!this.locOwner ? this.locOwner.getLocale() : \"\";\n };\n ActionContainer.prototype.getRenderedActions = function () {\n return this.actions;\n };\n ActionContainer.prototype.locStrsChanged = function () {\n _super.prototype.locStrsChanged.call(this);\n this.actions.forEach(function (item) {\n if (item.locTitle)\n item.locTitle.strChanged();\n item.locStrsChanged();\n });\n };\n ActionContainer.prototype.raiseUpdate = function (isResetInitialized) {\n this.isEmpty = !this.actions.some(function (action) { return action.visible; });\n this.updateCallback && this.updateCallback(isResetInitialized);\n };\n ActionContainer.prototype.onSet = function () {\n var _this = this;\n this.actions.forEach(function (item) { _this.setActionCssClasses(item); });\n this.raiseUpdate(true);\n };\n ActionContainer.prototype.onPush = function (item) {\n this.setActionCssClasses(item);\n item.owner = this;\n this.raiseUpdate(true);\n };\n ActionContainer.prototype.onRemove = function (item) {\n item.owner = null;\n this.raiseUpdate(true);\n };\n ActionContainer.prototype.setActionCssClasses = function (item) {\n item.cssClasses = this.cssClasses;\n };\n Object.defineProperty(ActionContainer.prototype, \"hasActions\", {\n get: function () {\n return (this.actions || []).length > 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ActionContainer.prototype, \"renderedActions\", {\n get: function () {\n return this.getRenderedActions();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ActionContainer.prototype, \"visibleActions\", {\n get: function () {\n return this.actions.filter(function (action) { return action.visible !== false; });\n },\n enumerable: false,\n configurable: true\n });\n ActionContainer.prototype.getRootCss = function () {\n var sizeModeClass = this.sizeMode === \"small\" ? this.cssClasses.smallSizeMode : this.cssClasses.defaultSizeMode;\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]().append(this.cssClasses.root + (!!sizeModeClass ? \" \" + sizeModeClass : \"\") + (!!this.containerCss ? \" \" + this.containerCss : \"\"))\n .append(this.cssClasses.root + \"--empty\", this.isEmpty)\n .toString();\n };\n ActionContainer.prototype.getDefaultCssClasses = function () {\n return defaultActionBarCss;\n };\n Object.defineProperty(ActionContainer.prototype, \"cssClasses\", {\n get: function () {\n if (!this.cssClassesValue) {\n this.cssClassesValue = this.getDefaultCssClasses();\n }\n return this.cssClassesValue;\n },\n set: function (val) {\n var _this = this;\n this.cssClassesValue = {};\n this.copyCssClasses(this.cssClassesValue, this.getDefaultCssClasses());\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"mergeValues\"])(val, this.cssClasses);\n this.actions.forEach(function (action) {\n _this.setActionCssClasses(action);\n });\n },\n enumerable: false,\n configurable: true\n });\n ActionContainer.prototype.createAction = function (item) {\n return (item instanceof _action__WEBPACK_IMPORTED_MODULE_2__[\"BaseAction\"] ? item : new _action__WEBPACK_IMPORTED_MODULE_2__[\"Action\"](item));\n };\n ActionContainer.prototype.addAction = function (val, sortByVisibleIndex) {\n if (sortByVisibleIndex === void 0) { sortByVisibleIndex = true; }\n var res = this.createAction(val);\n this.actions.push(res);\n this.sortItems();\n return res;\n };\n ActionContainer.prototype.sortItems = function () {\n this.actions = []\n .concat(this.actions.filter(function (item) { return item.visibleIndex === undefined || item.visibleIndex >= 0; }))\n .sort(function (firstItem, secondItem) {\n return firstItem.visibleIndex - secondItem.visibleIndex;\n });\n };\n ActionContainer.prototype.setItems = function (items, sortByVisibleIndex) {\n var _this = this;\n if (sortByVisibleIndex === void 0) { sortByVisibleIndex = true; }\n this.actions = items.map(function (item) { return _this.createAction(item); });\n if (sortByVisibleIndex) {\n this.sortItems();\n }\n };\n ActionContainer.prototype.initResponsivityManager = function (container, delayedUpdateFunction) {\n return;\n };\n ActionContainer.prototype.resetResponsivityManager = function () { };\n ActionContainer.prototype.getActionById = function (id) {\n for (var i = 0; i < this.actions.length; i++) {\n if (this.actions[i].id === id)\n return this.actions[i];\n }\n return null;\n };\n ActionContainer.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.actions.forEach(function (action) { return action.dispose(); });\n this.actions.length = 0;\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"propertyArray\"])({\n onSet: function (_, target) {\n target.onSet();\n },\n onPush: function (item, i, target) {\n target.onPush(item);\n },\n onRemove: function (item, i, target) {\n target.onRemove(item);\n }\n })\n ], ActionContainer.prototype, \"actions\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({})\n ], ActionContainer.prototype, \"containerCss\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ActionContainer.prototype, \"isEmpty\", void 0);\n return ActionContainer;\n}(_base__WEBPACK_IMPORTED_MODULE_1__[\"Base\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/base.ts\":\n/*!*********************!*\\\n !*** ./src/base.ts ***!\n \\*********************/\n/*! exports provided: Bindings, Dependencies, ComputedUpdater, Base, ArrayChanges, Event, EventBase */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Bindings\", function() { return Bindings; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Dependencies\", function() { return Dependencies; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ComputedUpdater\", function() { return ComputedUpdater; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Base\", function() { return Base; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ArrayChanges\", function() { return ArrayChanges; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Event\", function() { return Event; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EventBase\", function() { return EventBase; });\n/* harmony import */ var _localizablestring__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./localizablestring */ \"./src/localizablestring.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony import */ var _console_warnings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./console-warnings */ \"./src/console-warnings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\n\n\n\n\n\n\n\nvar Bindings = /** @class */ (function () {\n function Bindings(obj) {\n this.obj = obj;\n this.properties = null;\n this.values = null;\n }\n Bindings.prototype.getType = function () {\n return \"bindings\";\n };\n Bindings.prototype.getNames = function () {\n var res = [];\n this.fillProperties();\n for (var i = 0; i < this.properties.length; i++) {\n if (this.properties[i].isVisible(\"\", this.obj)) {\n res.push(this.properties[i].name);\n }\n }\n return res;\n };\n Bindings.prototype.getProperties = function () {\n var res = [];\n this.fillProperties();\n for (var i = 0; i < this.properties.length; i++) {\n res.push(this.properties[i]);\n }\n return res;\n };\n Bindings.prototype.setBinding = function (propertyName, valueName) {\n if (!this.values)\n this.values = {};\n var oldValue = this.getJson();\n if (oldValue === valueName)\n return;\n if (!!valueName) {\n this.values[propertyName] = valueName;\n }\n else {\n delete this.values[propertyName];\n if (Object.keys(this.values).length == 0) {\n this.values = null;\n }\n }\n this.onChangedJSON(oldValue);\n };\n Bindings.prototype.clearBinding = function (propertyName) {\n this.setBinding(propertyName, \"\");\n };\n Bindings.prototype.isEmpty = function () {\n if (!this.values)\n return true;\n for (var key in this.values)\n return false;\n return true;\n };\n Bindings.prototype.getValueNameByPropertyName = function (propertyName) {\n if (!this.values)\n return undefined;\n return this.values[propertyName];\n };\n Bindings.prototype.getPropertiesByValueName = function (valueName) {\n if (!this.values)\n return [];\n var res = [];\n for (var key in this.values) {\n if (this.values[key] == valueName) {\n res.push(key);\n }\n }\n return res;\n };\n Bindings.prototype.getJson = function () {\n if (this.isEmpty())\n return undefined;\n var res = {};\n for (var key in this.values) {\n res[key] = this.values[key];\n }\n return res;\n };\n Bindings.prototype.setJson = function (value) {\n var oldValue = this.getJson();\n this.values = null;\n if (!!value) {\n this.values = {};\n for (var key in value) {\n this.values[key] = value[key];\n }\n }\n this.onChangedJSON(oldValue);\n };\n Bindings.prototype.fillProperties = function () {\n if (this.properties !== null)\n return;\n this.properties = [];\n var objProperties = _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].getPropertiesByObj(this.obj);\n for (var i = 0; i < objProperties.length; i++) {\n if (objProperties[i].isBindable) {\n this.properties.push(objProperties[i]);\n }\n }\n };\n Bindings.prototype.onChangedJSON = function (oldValue) {\n if (this.obj) {\n this.obj.onBindingChanged(oldValue, this.getJson());\n }\n };\n return Bindings;\n}());\n\nvar Dependencies = /** @class */ (function () {\n function Dependencies(currentDependency, target, property) {\n this.currentDependency = currentDependency;\n this.target = target;\n this.property = property;\n this.dependencies = [];\n this.id = \"\" + (++Dependencies.DependenciesCount);\n }\n Dependencies.prototype.addDependency = function (target, property) {\n if (this.target === target && this.property === property)\n return;\n if (this.dependencies.some(function (dependency) { return dependency.obj === target && dependency.prop === property; }))\n return;\n this.dependencies.push({\n obj: target,\n prop: property,\n id: this.id\n });\n target.registerPropertyChangedHandlers([property], this.currentDependency, this.id);\n };\n Dependencies.prototype.dispose = function () {\n this.dependencies.forEach(function (dependency) {\n dependency.obj.unregisterPropertyChangedHandlers([dependency.prop], dependency.id);\n });\n // this.currentDependency = undefined;\n };\n Dependencies.DependenciesCount = 0;\n return Dependencies;\n}());\n\nvar ComputedUpdater = /** @class */ (function () {\n function ComputedUpdater(_updater) {\n this._updater = _updater;\n this.dependencies = undefined;\n this.type = ComputedUpdater.ComputedUpdaterType;\n }\n Object.defineProperty(ComputedUpdater.prototype, \"updater\", {\n get: function () {\n return this._updater;\n },\n enumerable: false,\n configurable: true\n });\n ComputedUpdater.prototype.setDependencies = function (dependencies) {\n this.clearDependencies();\n this.dependencies = dependencies;\n };\n ComputedUpdater.prototype.getDependencies = function () {\n return this.dependencies;\n };\n ComputedUpdater.prototype.clearDependencies = function () {\n if (this.dependencies) {\n this.dependencies.dispose();\n this.dependencies = undefined;\n }\n };\n ComputedUpdater.prototype.dispose = function () {\n this.clearDependencies();\n };\n ComputedUpdater.ComputedUpdaterType = \"__dependency_computed\";\n return ComputedUpdater;\n}());\n\n/**\n * A base class for all SurveyJS objects.\n */\nvar Base = /** @class */ (function () {\n function Base() {\n this.dependencies = {};\n this.propertyHash = Base.createPropertiesHash();\n this.eventList = [];\n this.isLoadingFromJsonValue = false;\n this.loadingOwner = null;\n /**\n * An event that is raised when a property of this SurveyJS object has changed.\n *\n * Parameters:\n *\n * - `sender`: `this`\\\n * A SurveyJS object whose property has changed.\n * - `options.name`: `string`\\\n * The name of the changed property.\n * - `options.newValue`: `any`\\\n * A new value for the property.\n * - `options.oldValue`: `any`\\\n * An old value of the property. If the property is an array, `oldValue` contains the same array as `newValue` does.\n */\n this.onPropertyChanged = this.addEvent();\n /**\n * An event that is raised when an [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue) property is changed.\n *\n * Parameters:\n *\n * - `sender`: `this`\\\n * A SurveyJS object whose property contains an array of `ItemValue` objects.\n * - `options.obj`: [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue)\\\n * An `ItemValue` object.\n * - `options.propertyName`: `string`\\\n * The name of the property to which an array of `ItemValue` objects is assigned (for example, `\"choices\"` or `\"rows\"`).\n * - `options.name`: `\"text\"` | `\"value\"`\\\n * The name of the changed property.\n * - `options.newValue`: `any`\\\n * A new value for the property.\n */\n this.onItemValuePropertyChanged = this.addEvent();\n this.isCreating = true;\n this.bindingsValue = new Bindings(this);\n _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"CustomPropertiesCollection\"].createProperties(this);\n this.onBaseCreating();\n this.isCreating = false;\n }\n Base.finishCollectDependencies = function () {\n var deps = Base.currentDependencis;\n Base.currentDependencis = undefined;\n return deps;\n };\n Base.startCollectDependencies = function (updater, target, property) {\n if (Base.currentDependencis !== undefined) {\n throw new Error(\"Attempt to collect nested dependencies. Nested dependencies are not supported.\");\n }\n Base.currentDependencis = new Dependencies(updater, target, property);\n };\n Base.collectDependency = function (target, property) {\n if (Base.currentDependencis === undefined)\n return;\n Base.currentDependencis.addDependency(target, property);\n };\n Object.defineProperty(Base, \"commentSuffix\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_3__[\"settings\"].commentSuffix;\n },\n set: function (val) {\n _settings__WEBPACK_IMPORTED_MODULE_3__[\"settings\"].commentSuffix = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Base, \"commentPrefix\", {\n get: function () {\n return Base.commentSuffix;\n },\n set: function (val) {\n Base.commentSuffix = val;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns `true` if a passed `value` is an empty string, array, or object or if it equals to `undefined` or `null`.\n *\n * @param value A value to be checked.\n * @param trimString *(Optional)* When this parameter is `true`, the method ignores whitespace characters at the beginning and end of a string value. Pass `false` to disable this functionality.\n */\n Base.prototype.isValueEmpty = function (value, trimString) {\n if (trimString === void 0) { trimString = true; }\n if (trimString) {\n value = this.trimValue(value);\n }\n return _helpers__WEBPACK_IMPORTED_MODULE_1__[\"Helpers\"].isValueEmpty(value);\n };\n Base.prototype.equals = function (obj) {\n if (!obj)\n return false;\n if (this.isDisposed || obj.isDisposed)\n return false;\n if (this.getType() != obj.getType())\n return false;\n return this.equalsCore(obj);\n };\n Base.prototype.equalsCore = function (obj) {\n if (this.name !== obj.name)\n return false;\n return _helpers__WEBPACK_IMPORTED_MODULE_1__[\"Helpers\"].isTwoValueEquals(this.toJSON(), obj.toJSON(), false, true, false);\n };\n Base.prototype.trimValue = function (value) {\n if (!!value && (typeof value === \"string\" || value instanceof String))\n return value.trim();\n return value;\n };\n Base.prototype.isPropertyEmpty = function (value) {\n return value !== \"\" && this.isValueEmpty(value);\n };\n Base.createPropertiesHash = function () {\n return {};\n };\n Base.prototype.dispose = function () {\n var _this = this;\n for (var i = 0; i < this.eventList.length; i++) {\n this.eventList[i].clear();\n }\n this.onPropertyValueChangedCallback = undefined;\n this.isDisposedValue = true;\n Object.keys(this.dependencies).forEach(function (key) { return _this.dependencies[key].dispose(); });\n };\n Object.defineProperty(Base.prototype, \"isDisposed\", {\n get: function () {\n return this.isDisposedValue === true;\n },\n enumerable: false,\n configurable: true\n });\n Base.prototype.addEvent = function () {\n var res = new EventBase();\n this.eventList.push(res);\n return res;\n };\n Base.prototype.onBaseCreating = function () { };\n /**\n * Returns the object type as it is used in the JSON schema.\n */\n Base.prototype.getType = function () {\n return \"base\";\n };\n /**\n * Use this method to find out if the current object is of a given `typeName` or inherited from it.\n *\n * @param typeName One of the values listed in the [getType()](https://surveyjs.io/form-library/documentation/question#getType) description.\n * @returns `true` if the current object is of a given `typeName` or inherited from it.\n * @see getType\n */\n Base.prototype.isDescendantOf = function (typeName) {\n return _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].isDescendantOf(this.getType(), typeName);\n };\n Base.prototype.getSurvey = function (isLive) {\n if (isLive === void 0) { isLive = false; }\n return null;\n };\n Object.defineProperty(Base.prototype, \"isDesignMode\", {\n /**\n * Returns `true` if the survey is being designed in Survey Creator.\n */\n get: function () {\n var survey = this.getSurvey();\n return !!survey && survey.isDesignMode;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Base.prototype, \"isDesignModeV2\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_3__[\"settings\"].supportCreatorV2 && this.isDesignMode;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Base.prototype, \"inSurvey\", {\n /**\n * Returns `true` if the object is included in a survey.\n *\n * This property may return `false`, for example, when you [create a survey model dynamically](https://surveyjs.io/form-library/documentation/design-survey-create-a-simple-survey#create-or-change-a-survey-model-dynamically).\n */\n get: function () {\n return !!this.getSurvey(true);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Base.prototype, \"bindings\", {\n get: function () {\n return this.bindingsValue;\n },\n enumerable: false,\n configurable: true\n });\n Base.prototype.checkBindings = function (valueName, value) { };\n Base.prototype.updateBindings = function (propertyName, value) {\n var valueName = this.bindings.getValueNameByPropertyName(propertyName);\n if (!!valueName) {\n this.updateBindingValue(valueName, value);\n }\n };\n Base.prototype.updateBindingValue = function (valueName, value) { };\n Base.prototype.getTemplate = function () {\n return this.getType();\n };\n Object.defineProperty(Base.prototype, \"isLoadingFromJson\", {\n /**\n * Returns `true` if the object configuration is being loaded from JSON.\n */\n get: function () {\n return this.isLoadingFromJsonValue || this.getIsLoadingFromJson();\n },\n enumerable: false,\n configurable: true\n });\n Base.prototype.getIsLoadingFromJson = function () {\n if (!!this.loadingOwner && this.loadingOwner.isLoadingFromJson)\n return true;\n return this.isLoadingFromJsonValue;\n };\n Base.prototype.startLoadingFromJson = function (json) {\n this.isLoadingFromJsonValue = true;\n this.jsonObj = json;\n };\n Base.prototype.endLoadingFromJson = function () {\n this.isLoadingFromJsonValue = false;\n };\n /**\n * Returns a JSON object that corresponds to the current SurveyJS object.\n * @see fromJSON\n */\n Base.prototype.toJSON = function (options) {\n return new _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"JsonObject\"]().toJsonObject(this, options);\n };\n /**\n * Assigns a new configuration to the current SurveyJS object. This configuration is taken from a passed JSON object.\n *\n * The JSON object should contain only serializable properties of this SurveyJS object. Event handlers and properties that do not belong to the SurveyJS object are ignored.\n *\n * @param json A JSON object with properties that you want to apply to the current SurveyJS object.\n * @param options An object with configuration options.\n * @param {boolean} options.validatePropertyValues Pass `true` if you want to validate property values. Use the [`jsonErrors`](#jsonErrors) array to access validation errors.\n * @see toJSON\n */\n Base.prototype.fromJSON = function (json, options) {\n new _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"JsonObject\"]().toObject(json, this, options);\n this.onSurveyLoad();\n };\n Base.prototype.onSurveyLoad = function () { };\n /**\n * Creates a new object that has the same type and properties as the current SurveyJS object.\n */\n Base.prototype.clone = function () {\n var clonedObj = _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].createClass(this.getType());\n clonedObj.fromJSON(this.toJSON());\n return clonedObj;\n };\n /**\n * Returns a `JsonObjectProperty` object with metadata about a serializable property that belongs to the current SurveyJS object.\n *\n * If the property is not found, this method returns `null`.\n * @param propName A property name.\n */\n Base.prototype.getPropertyByName = function (propName) {\n var type = this.getType();\n if (!this.classMetaData || this.classMetaData.name !== type) {\n this.classMetaData = _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].findClass(type);\n }\n return !!this.classMetaData ? this.classMetaData.findProperty(propName) : null;\n };\n Base.prototype.isPropertyVisible = function (propName) {\n var prop = this.getPropertyByName(propName);\n return !!prop ? prop.isVisible(\"\", this) : false;\n };\n Base.createProgressInfo = function () {\n return {\n questionCount: 0,\n answeredQuestionCount: 0,\n requiredQuestionCount: 0,\n requiredAnsweredQuestionCount: 0,\n };\n };\n Base.prototype.getProgressInfo = function () {\n return Base.createProgressInfo();\n };\n Base.prototype.localeChanged = function () { };\n Base.prototype.locStrsChanged = function () {\n if (!!this.arraysInfo) {\n for (var key in this.arraysInfo) {\n var item = this.arraysInfo[key];\n if (item && item.isItemValues) {\n var arr = this.getPropertyValue(key);\n if (arr && !!Base.itemValueLocStrChanged)\n Base.itemValueLocStrChanged(arr);\n }\n }\n }\n if (!!this.localizableStrings) {\n for (var key in this.localizableStrings) {\n var item = this.getLocalizableString(key);\n if (item)\n item.strChanged();\n }\n }\n };\n /**\n * Returns the value of a property with a specified name.\n *\n * If the property is not found or does not have a value, this method returns either `undefined`, `defaultValue` specified in the property configuration, or a value passed as the `defaultValue` parameter.\n *\n * @param name A property name.\n * @param defaultValue *(Optional)* A value to return if the property is not found or does not have a value.\n */\n Base.prototype.getPropertyValue = function (name, defaultValue) {\n if (defaultValue === void 0) { defaultValue = null; }\n var res = this.getPropertyValueWithoutDefault(name);\n if (this.isPropertyEmpty(res)) {\n var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;\n if (locStr)\n return locStr.text;\n if (defaultValue !== null && defaultValue !== undefined)\n return defaultValue;\n var propDefaultValue = this.getDefaultPropertyValue(name);\n if (propDefaultValue !== undefined)\n return propDefaultValue;\n }\n return res;\n };\n Base.prototype.getDefaultPropertyValue = function (name) {\n var prop = this.getPropertyByName(name);\n if (!prop || prop.isCustom && this.isCreating)\n return undefined;\n var dValue = prop.defaultValue;\n if (!this.isPropertyEmpty(dValue) && !Array.isArray(dValue))\n return dValue;\n var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;\n if (locStr && locStr.localizationName)\n return this.getLocalizationString(locStr.localizationName);\n if (prop.type == \"boolean\" || prop.type == \"switch\")\n return false;\n if (prop.isCustom && !!prop.onGetValue)\n return prop.onGetValue(this);\n return undefined;\n };\n Base.prototype.hasDefaultPropertyValue = function (name) {\n return this.getDefaultPropertyValue(name) !== undefined;\n };\n Base.prototype.resetPropertyValue = function (name) {\n var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;\n if (locStr) {\n this.setLocalizableStringText(name, undefined);\n locStr.clear();\n }\n else {\n this.setPropertyValue(name, undefined);\n }\n };\n Base.prototype.getPropertyValueWithoutDefault = function (name) {\n return this.getPropertyValueCore(this.propertyHash, name);\n };\n Base.prototype.getPropertyValueCore = function (propertiesHash, name) {\n if (!this.isLoadingFromJson) {\n Base.collectDependency(this, name);\n }\n if (this.getPropertyValueCoreHandler)\n return this.getPropertyValueCoreHandler(propertiesHash, name);\n else\n return propertiesHash[name];\n };\n Base.prototype.geValueFromHash = function () {\n return this.propertyHash[\"value\"];\n };\n Base.prototype.setPropertyValueCore = function (propertiesHash, name, val) {\n if (this.setPropertyValueCoreHandler) {\n if (!this.isDisposedValue) {\n this.setPropertyValueCoreHandler(propertiesHash, name, val);\n }\n else {\n _console_warnings__WEBPACK_IMPORTED_MODULE_6__[\"ConsoleWarnings\"].disposedObjectChangedProperty(name, this.getType());\n }\n }\n else\n propertiesHash[name] = val;\n };\n Object.defineProperty(Base.prototype, \"isEditingSurveyElement\", {\n get: function () {\n var survey = this.getSurvey();\n return !!survey && survey.isEditingSurveyElement;\n },\n enumerable: false,\n configurable: true\n });\n Base.prototype.iteratePropertiesHash = function (func) {\n var _this = this;\n var keys = [];\n for (var key in this.propertyHash) {\n if (key === \"value\" &&\n this.isEditingSurveyElement &&\n Array.isArray(this.value))\n continue;\n keys.push(key);\n }\n keys.forEach(function (key) { return func(_this.propertyHash, key); });\n };\n /**\n * Assigns a new value to a specified property.\n * @param name A property name.\n * @param val A new value for the property.\n */\n Base.prototype.setPropertyValue = function (name, val) {\n if (name) {\n }\n if (!this.isLoadingFromJson) {\n var prop = this.getPropertyByName(name);\n if (!!prop) {\n val = prop.settingValue(this, val);\n }\n }\n var oldValue = this.getPropertyValue(name);\n if (oldValue &&\n Array.isArray(oldValue) &&\n !!this.arraysInfo &&\n (!val || Array.isArray(val))) {\n if (!this.isTwoValueEquals(oldValue, val)) {\n this.setArrayPropertyDirectly(name, val);\n }\n }\n else {\n this.setPropertyValueDirectly(name, val);\n if (!this.isDisposedValue && !this.isTwoValueEquals(oldValue, val)) {\n this.propertyValueChanged(name, oldValue, val);\n }\n }\n };\n Base.prototype.setArrayPropertyDirectly = function (name, val, sendNotification) {\n if (sendNotification === void 0) { sendNotification = true; }\n var arrayInfo = this.arraysInfo[name];\n this.setArray(name, this.getPropertyValue(name), val, arrayInfo ? arrayInfo.isItemValues : false, arrayInfo ? sendNotification && arrayInfo.onPush : null);\n };\n Base.prototype.setPropertyValueDirectly = function (name, val) {\n this.setPropertyValueCore(this.propertyHash, name, val);\n };\n Base.prototype.clearPropertyValue = function (name) {\n this.setPropertyValueCore(this.propertyHash, name, null);\n delete this.propertyHash[name];\n };\n Base.prototype.onPropertyValueChangedCallback = function (name, oldValue, newValue, sender, arrayChanges) { };\n Base.prototype.itemValuePropertyChanged = function (item, name, oldValue, newValue) {\n this.onItemValuePropertyChanged.fire(this, {\n obj: item,\n name: name,\n oldValue: oldValue,\n newValue: newValue,\n propertyName: item.ownerPropertyName,\n });\n };\n Base.prototype.onPropertyValueChanged = function (name, oldValue, newValue) { };\n Base.prototype.propertyValueChanged = function (name, oldValue, newValue, arrayChanges, target) {\n if (this.isLoadingFromJson)\n return;\n this.updateBindings(name, newValue);\n this.onPropertyValueChanged(name, oldValue, newValue);\n this.onPropertyChanged.fire(this, {\n name: name,\n oldValue: oldValue,\n newValue: newValue,\n });\n this.doPropertyValueChangedCallback(name, oldValue, newValue, arrayChanges, this);\n this.checkConditionPropertyChanged(name);\n if (!this.onPropChangeFunctions)\n return;\n for (var i = 0; i < this.onPropChangeFunctions.length; i++) {\n if (this.onPropChangeFunctions[i].name == name)\n this.onPropChangeFunctions[i].func(newValue, arrayChanges);\n }\n };\n Base.prototype.onBindingChanged = function (oldValue, newValue) {\n if (this.isLoadingFromJson)\n return;\n this.doPropertyValueChangedCallback(\"bindings\", oldValue, newValue);\n };\n Object.defineProperty(Base.prototype, \"isInternal\", {\n get: function () {\n return false;\n },\n enumerable: false,\n configurable: true\n });\n Base.prototype.doPropertyValueChangedCallback = function (name, oldValue, newValue, arrayChanges, target) {\n var fireCallback = function (obj) {\n if (!!obj && !!obj.onPropertyValueChangedCallback) {\n obj.onPropertyValueChangedCallback(name, oldValue, newValue, target, arrayChanges);\n }\n };\n if (this.isInternal) {\n fireCallback(this);\n return;\n }\n if (!target)\n target = this;\n var notifier = this.getSurvey();\n if (!notifier)\n notifier = this;\n fireCallback(notifier);\n if (notifier !== this) {\n fireCallback(this);\n }\n };\n Base.prototype.addExpressionProperty = function (name, onExecute, canRun) {\n if (!this.expressionInfo) {\n this.expressionInfo = {};\n }\n this.expressionInfo[name] = { onExecute: onExecute, canRun: canRun };\n };\n Base.prototype.getDataFilteredValues = function () {\n return {};\n };\n Base.prototype.getDataFilteredProperties = function () {\n return {};\n };\n Base.prototype.runConditionCore = function (values, properties) {\n if (!this.expressionInfo)\n return;\n for (var key in this.expressionInfo) {\n this.runConditionItemCore(key, values, properties);\n }\n };\n Base.prototype.canRunConditions = function () {\n return !this.isDesignMode;\n };\n Base.prototype.checkConditionPropertyChanged = function (propName) {\n if (!this.expressionInfo || !this.expressionInfo[propName])\n return;\n if (!this.canRunConditions())\n return;\n this.runConditionItemCore(propName, this.getDataFilteredValues(), this.getDataFilteredProperties());\n };\n Base.prototype.runConditionItemCore = function (propName, values, properties) {\n var _this = this;\n var info = this.expressionInfo[propName];\n var expression = this.getPropertyValue(propName);\n if (!expression)\n return;\n if (!!info.canRun && !info.canRun(this))\n return;\n if (!info.runner) {\n info.runner = this.createExpressionRunner(expression);\n info.runner.onRunComplete = function (res) {\n info.onExecute(_this, res);\n };\n }\n info.runner.expression = expression;\n info.runner.run(values, properties);\n };\n Base.prototype.doBeforeAsynRun = function (id) {\n if (!this.asynExpressionHash)\n this.asynExpressionHash = [];\n var isChanged = !this.isAsyncExpressionRunning;\n this.asynExpressionHash[id] = true;\n if (isChanged) {\n this.onAsyncRunningChanged();\n }\n };\n Base.prototype.doAfterAsynRun = function (id) {\n if (!!this.asynExpressionHash) {\n delete this.asynExpressionHash[id];\n if (!this.isAsyncExpressionRunning) {\n this.onAsyncRunningChanged();\n }\n }\n };\n Base.prototype.onAsyncRunningChanged = function () { };\n Object.defineProperty(Base.prototype, \"isAsyncExpressionRunning\", {\n get: function () {\n return !!this.asynExpressionHash && Object.keys(this.asynExpressionHash).length > 0;\n },\n enumerable: false,\n configurable: true\n });\n Base.prototype.createExpressionRunner = function (expression) {\n var _this = this;\n var res = new _conditions__WEBPACK_IMPORTED_MODULE_4__[\"ExpressionRunner\"](expression);\n res.onBeforeAsyncRun = function (id) { _this.doBeforeAsynRun(id); };\n res.onAfterAsyncRun = function (id) { _this.doAfterAsynRun(id); };\n return res;\n };\n /**\n * Registers a function to call when a property value changes.\n * @param propertyNames An array of one or multiple property names.\n * @param handler A function to call when one of the listed properties change.\n * @param key *(Optional)* A key that identifies the current registration. If a function for one of the properties is already registered with the same key, the function will be overwritten. You can also use the key to subsequently unregister handlers.\n * @see unregisterPropertyChangedHandlers\n */\n Base.prototype.registerPropertyChangedHandlers = function (propertyNames, handler, key) {\n if (key === void 0) { key = null; }\n for (var i = 0; i < propertyNames.length; i++) {\n this.registerFunctionOnPropertyValueChanged(propertyNames[i], handler, key);\n }\n };\n /**\n * Unregisters value change event handlers for the specified properties.\n * @param propertyNames An array of one or multiple property names.\n * @param key *(Optional)* A key of the registration that you want to cancel.\n * @see registerPropertyChangedHandlers\n */\n Base.prototype.unregisterPropertyChangedHandlers = function (propertyNames, key) {\n if (key === void 0) { key = null; }\n for (var i = 0; i < propertyNames.length; i++) {\n this.unRegisterFunctionOnPropertyValueChanged(propertyNames[i], key);\n }\n };\n Base.prototype.registerFunctionOnPropertyValueChanged = function (name, func, key) {\n if (key === void 0) { key = null; }\n if (!this.onPropChangeFunctions) {\n this.onPropChangeFunctions = [];\n }\n if (key) {\n for (var i = 0; i < this.onPropChangeFunctions.length; i++) {\n var item = this.onPropChangeFunctions[i];\n if (item.name == name && item.key == key) {\n item.func = func;\n return;\n }\n }\n }\n this.onPropChangeFunctions.push({ name: name, func: func, key: key });\n };\n Base.prototype.registerFunctionOnPropertiesValueChanged = function (names, func, key) {\n if (key === void 0) { key = null; }\n this.registerPropertyChangedHandlers(names, func, key);\n };\n Base.prototype.unRegisterFunctionOnPropertyValueChanged = function (name, key) {\n if (key === void 0) { key = null; }\n if (!this.onPropChangeFunctions)\n return;\n for (var i = 0; i < this.onPropChangeFunctions.length; i++) {\n var item = this.onPropChangeFunctions[i];\n if (item.name == name && item.key == key) {\n this.onPropChangeFunctions.splice(i, 1);\n return;\n }\n }\n };\n Base.prototype.unRegisterFunctionOnPropertiesValueChanged = function (names, key) {\n if (key === void 0) { key = null; }\n this.unregisterPropertyChangedHandlers(names, key);\n };\n Base.prototype.createCustomLocalizableObj = function (name) {\n var locStr = this.getLocalizableString(name);\n if (locStr)\n return locStr;\n return this.createLocalizableString(name, this, false, true);\n };\n Base.prototype.getLocale = function () {\n var locOwner = this.getSurvey();\n return !!locOwner ? locOwner.getLocale() : \"\";\n };\n Base.prototype.getLocalizationString = function (strName) {\n return _surveyStrings__WEBPACK_IMPORTED_MODULE_5__[\"surveyLocalization\"].getString(strName, this.getLocale());\n };\n Base.prototype.getLocalizationFormatString = function (strName) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var str = this.getLocalizationString(strName);\n if (!str || !str.format)\n return \"\";\n return str.format.apply(str, args);\n };\n Base.prototype.createLocalizableString = function (name, owner, useMarkDown, defaultStr) {\n var _this = this;\n if (useMarkDown === void 0) { useMarkDown = false; }\n if (defaultStr === void 0) { defaultStr = false; }\n var locStr = new _localizablestring__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableString\"](owner, useMarkDown, name);\n if (defaultStr) {\n locStr.localizationName = defaultStr === true ? name : defaultStr;\n }\n locStr.onStrChanged = function (oldValue, newValue) {\n _this.propertyValueChanged(name, oldValue, newValue);\n };\n if (!this.localizableStrings) {\n this.localizableStrings = {};\n }\n this.localizableStrings[name] = locStr;\n var prop = this.getPropertyByName(name);\n locStr.disableLocalization = prop && prop.isLocalizable === false;\n return locStr;\n };\n Base.prototype.getLocalizableString = function (name) {\n return !!this.localizableStrings ? this.localizableStrings[name] : null;\n };\n Base.prototype.getLocalizableStringText = function (name, defaultStr) {\n if (defaultStr === void 0) { defaultStr = \"\"; }\n Base.collectDependency(this, name);\n var locStr = this.getLocalizableString(name);\n if (!locStr)\n return \"\";\n var res = locStr.text;\n return res ? res : defaultStr;\n };\n Base.prototype.setLocalizableStringText = function (name, value) {\n var locStr = this.getLocalizableString(name);\n if (!locStr)\n return;\n var oldValue = locStr.text;\n if (oldValue != value) {\n locStr.text = value;\n // this.propertyValueChanged(name, oldValue, value);\n }\n };\n Base.prototype.addUsedLocales = function (locales) {\n if (!!this.localizableStrings) {\n for (var key in this.localizableStrings) {\n var item = this.getLocalizableString(key);\n if (item)\n this.AddLocStringToUsedLocales(item, locales);\n }\n }\n if (!!this.arraysInfo) {\n for (var key in this.arraysInfo) {\n var items = this.getPropertyValue(key);\n if (!items || !items.length)\n continue;\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n if (item && item.addUsedLocales) {\n item.addUsedLocales(locales);\n }\n }\n }\n }\n };\n Base.prototype.searchText = function (text, founded) {\n var strs = [];\n this.getSearchableLocalizedStrings(strs);\n for (var i = 0; i < strs.length; i++) {\n if (strs[i].setFindText(text)) {\n founded.push({ element: this, str: strs[i] });\n }\n }\n };\n Base.prototype.getSearchableLocalizedStrings = function (arr) {\n if (!!this.localizableStrings) {\n var keys_1 = [];\n this.getSearchableLocKeys(keys_1);\n for (var i = 0; i < keys_1.length; i++) {\n var item = this.getLocalizableString(keys_1[i]);\n if (item)\n arr.push(item);\n }\n }\n if (!this.arraysInfo)\n return;\n var keys = [];\n this.getSearchableItemValueKeys(keys);\n for (var i = 0; i < keys.length; i++) {\n var items = this.getPropertyValue(keys[i]);\n if (!items)\n continue;\n for (var j = 0; j < items.length; j++) {\n arr.push(items[j].locText);\n }\n }\n };\n Base.prototype.getSearchableLocKeys = function (keys) { };\n Base.prototype.getSearchableItemValueKeys = function (keys) { };\n Base.prototype.AddLocStringToUsedLocales = function (locStr, locales) {\n var locs = locStr.getLocales();\n for (var i = 0; i < locs.length; i++) {\n if (locales.indexOf(locs[i]) < 0) {\n locales.push(locs[i]);\n }\n }\n };\n Base.prototype.createItemValues = function (name) {\n var self = this;\n var result = this.createNewArray(name, function (item) {\n item.locOwner = self;\n item.ownerPropertyName = name;\n if (typeof item.getSurvey == \"function\") {\n var survey = item.getSurvey();\n if (!!survey && typeof survey.makeReactive == \"function\") {\n survey.makeReactive(item);\n }\n }\n });\n this.arraysInfo[name].isItemValues = true;\n return result;\n };\n Base.prototype.notifyArrayChanged = function (ar, arrayChanges) {\n !!ar.onArrayChanged && ar.onArrayChanged(arrayChanges);\n };\n Base.prototype.createNewArrayCore = function (name) {\n var res = null;\n if (!!this.createArrayCoreHandler) {\n res = this.createArrayCoreHandler(this.propertyHash, name);\n }\n if (!res) {\n res = new Array();\n this.setPropertyValueCore(this.propertyHash, name, res);\n }\n return res;\n };\n Base.prototype.ensureArray = function (name, onPush, onRemove) {\n if (onPush === void 0) { onPush = null; }\n if (onRemove === void 0) { onRemove = null; }\n if (this.arraysInfo && this.arraysInfo[name]) {\n return;\n }\n return this.createNewArray(name, onPush, onRemove);\n };\n Base.prototype.createNewArray = function (name, onPush, onRemove) {\n if (onPush === void 0) { onPush = null; }\n if (onRemove === void 0) { onRemove = null; }\n var newArray = this.createNewArrayCore(name);\n if (!this.arraysInfo) {\n this.arraysInfo = {};\n }\n this.arraysInfo[name] = { onPush: onPush, isItemValues: false };\n var self = this;\n newArray.push = function (value) {\n var result = Object.getPrototypeOf(newArray).push.call(newArray, value);\n if (!self.isDisposedValue) {\n if (onPush)\n onPush(value, newArray.length - 1);\n var arrayChanges = new ArrayChanges(newArray.length - 1, 0, [value], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.shift = function () {\n var result = Object.getPrototypeOf(newArray).shift.call(newArray);\n if (!self.isDisposedValue && result) {\n if (onRemove)\n onRemove(result);\n var arrayChanges = new ArrayChanges(newArray.length - 1, 1, [], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.unshift = function (value) {\n var result = Object.getPrototypeOf(newArray).unshift.call(newArray, value);\n if (!self.isDisposedValue) {\n if (onPush)\n onPush(value, newArray.length - 1);\n var arrayChanges = new ArrayChanges(0, 0, [value], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.pop = function () {\n var result = Object.getPrototypeOf(newArray).pop.call(newArray);\n if (!self.isDisposedValue) {\n if (onRemove)\n onRemove(result);\n var arrayChanges = new ArrayChanges(newArray.length - 1, 1, [], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.splice = function (start, deleteCount) {\n var _a;\n var items = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n items[_i - 2] = arguments[_i];\n }\n if (!start)\n start = 0;\n if (!deleteCount)\n deleteCount = 0;\n var result = (_a = Object.getPrototypeOf(newArray).splice).call.apply(_a, __spreadArray([newArray,\n start,\n deleteCount], items));\n if (!items)\n items = [];\n if (!self.isDisposedValue) {\n if (onRemove && result) {\n for (var i = 0; i < result.length; i++) {\n onRemove(result[i]);\n }\n }\n if (onPush) {\n for (var i = 0; i < items.length; i++) {\n onPush(items[i], start + i);\n }\n }\n var arrayChanges = new ArrayChanges(start, deleteCount, items, result);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n return newArray;\n };\n Base.prototype.getItemValueType = function () {\n return undefined;\n };\n Base.prototype.setArray = function (name, src, dest, isItemValues, onPush) {\n var deletedItems = [].concat(src);\n Object.getPrototypeOf(src).splice.call(src, 0, src.length);\n if (!!dest) {\n for (var i = 0; i < dest.length; i++) {\n var item = dest[i];\n if (isItemValues) {\n if (!!Base.createItemValue) {\n item = Base.createItemValue(item, this.getItemValueType());\n }\n }\n Object.getPrototypeOf(src).push.call(src, item);\n if (onPush)\n onPush(src[i]);\n }\n }\n var arrayChanges = new ArrayChanges(0, deletedItems.length, src, deletedItems);\n this.propertyValueChanged(name, deletedItems, src, arrayChanges);\n this.notifyArrayChanged(src, arrayChanges);\n };\n Base.prototype.isTwoValueEquals = function (x, y, caseInSensitive, trimString) {\n if (caseInSensitive === void 0) { caseInSensitive = false; }\n if (trimString === void 0) { trimString = false; }\n return _helpers__WEBPACK_IMPORTED_MODULE_1__[\"Helpers\"].isTwoValueEquals(x, y, false, !caseInSensitive, trimString);\n };\n Base.copyObject = function (dst, src) {\n for (var key in src) {\n var source = src[key];\n if (typeof source === \"object\") {\n source = {};\n this.copyObject(source, src[key]);\n }\n dst[key] = source;\n }\n };\n Base.prototype.copyCssClasses = function (dest, source) {\n if (!source)\n return;\n if (typeof source === \"string\" || source instanceof String) {\n dest[\"root\"] = source;\n }\n else {\n Base.copyObject(dest, source);\n }\n };\n Base.prototype.getValueInLowCase = function (val) {\n if (!!val && typeof val == \"string\")\n return val.toLowerCase();\n return val;\n };\n Base.prototype.getElementsInDesign = function (includeHidden) {\n if (includeHidden === void 0) { includeHidden = false; }\n return [];\n };\n Base.currentDependencis = undefined;\n return Base;\n}());\n\nvar ArrayChanges = /** @class */ (function () {\n function ArrayChanges(index, deleteCount, itemsToAdd, deletedItems) {\n this.index = index;\n this.deleteCount = deleteCount;\n this.itemsToAdd = itemsToAdd;\n this.deletedItems = deletedItems;\n }\n return ArrayChanges;\n}());\n\nvar Event = /** @class */ (function () {\n function Event() {\n }\n Object.defineProperty(Event.prototype, \"isEmpty\", {\n get: function () {\n return this.length === 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Event.prototype, \"length\", {\n get: function () {\n return !!this.callbacks ? this.callbacks.length : 0;\n },\n enumerable: false,\n configurable: true\n });\n Event.prototype.fireByCreatingOptions = function (sender, createOptions) {\n if (!this.callbacks)\n return;\n for (var i = 0; i < this.callbacks.length; i++) {\n this.callbacks[i](sender, createOptions());\n if (!this.callbacks)\n return;\n }\n };\n Event.prototype.fire = function (sender, options) {\n if (!this.callbacks)\n return;\n for (var i = 0; i < this.callbacks.length; i++) {\n this.callbacks[i](sender, options);\n if (!this.callbacks)\n return;\n }\n };\n Event.prototype.clear = function () {\n this.callbacks = undefined;\n };\n Event.prototype.add = function (func) {\n if (this.hasFunc(func))\n return;\n if (!this.callbacks) {\n this.callbacks = new Array();\n }\n this.callbacks.push(func);\n this.fireCallbackChanged();\n };\n Event.prototype.remove = function (func) {\n if (this.hasFunc(func)) {\n var index = this.callbacks.indexOf(func, 0);\n this.callbacks.splice(index, 1);\n this.fireCallbackChanged();\n }\n };\n Event.prototype.hasFunc = function (func) {\n if (this.callbacks == null)\n return false;\n return this.callbacks.indexOf(func, 0) > -1;\n };\n Event.prototype.fireCallbackChanged = function () {\n if (!!this.onCallbacksChanged) {\n this.onCallbacksChanged();\n }\n };\n return Event;\n}());\n\nvar EventBase = /** @class */ (function (_super) {\n __extends(EventBase, _super);\n function EventBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return EventBase;\n}(Event));\n\n\n\n/***/ }),\n\n/***/ \"./src/calculatedValue.ts\":\n/*!********************************!*\\\n !*** ./src/calculatedValue.ts ***!\n \\********************************/\n/*! exports provided: CalculatedValue */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CalculatedValue\", function() { return CalculatedValue; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n/**\n * The calculated value is a way to define the variable in Survey Creator.\n * It has two main properties: name and expression. Based on expression the value read-only property is automatically calculated.\n * The name property should be unique though all calculated values.\n * It uses survey.getVariable/seruvey.setVariable functions to get/set its value. The class do not store its value internally.\n * You may set includeIntoResult property to true to store this calculated value into survey result.\n */\nvar CalculatedValue = /** @class */ (function (_super) {\n __extends(CalculatedValue, _super);\n function CalculatedValue(name, expression) {\n if (name === void 0) { name = null; }\n if (expression === void 0) { expression = null; }\n var _this = _super.call(this) || this;\n _this.expressionIsRunning = false;\n _this.isCalculated = false;\n if (!!name) {\n _this.name = name;\n }\n if (!!expression) {\n _this.expression = expression;\n }\n return _this;\n }\n CalculatedValue.prototype.setOwner = function (data) {\n this.data = data;\n this.rerunExpression();\n };\n CalculatedValue.prototype.getType = function () {\n return \"calculatedvalue\";\n };\n CalculatedValue.prototype.getSurvey = function (live) {\n if (live === void 0) { live = false; }\n return !!this.data && !!this.data[\"getSurvey\"]\n ? this.data.getSurvey()\n : null;\n };\n Object.defineProperty(CalculatedValue.prototype, \"owner\", {\n get: function () {\n return this.data;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CalculatedValue.prototype, \"name\", {\n /**\n * The calculated value name. It should be non empty and unique.\n */\n get: function () {\n return this.getPropertyValue(\"name\") || \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"name\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CalculatedValue.prototype, \"includeIntoResult\", {\n /**\n * Set this property to true to include the non-empty calculated value into survey result, survey.data property.\n */\n get: function () {\n return this.getPropertyValue(\"includeIntoResult\");\n },\n set: function (val) {\n this.setPropertyValue(\"includeIntoResult\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CalculatedValue.prototype, \"expression\", {\n /**\n * The Expression that used to calculate the value. You may use standard operators like +, -, * and /, squares (). Here is the example of accessing the question value {questionname}.\n * Example: \"({quantity} * {price}) * (100 - {discount}) / 100\"\n */\n get: function () {\n return this.getPropertyValue(\"expression\") || \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"expression\", val);\n this.rerunExpression();\n },\n enumerable: false,\n configurable: true\n });\n CalculatedValue.prototype.locCalculation = function () {\n this.expressionIsRunning = true;\n };\n CalculatedValue.prototype.unlocCalculation = function () {\n this.expressionIsRunning = false;\n };\n CalculatedValue.prototype.resetCalculation = function () {\n this.isCalculated = false;\n };\n CalculatedValue.prototype.doCalculation = function (calculatedValues, values, properties) {\n if (this.isCalculated)\n return;\n this.runExpressionCore(calculatedValues, values, properties);\n this.isCalculated = true;\n };\n CalculatedValue.prototype.runExpression = function (values, properties) {\n this.runExpressionCore(null, values, properties);\n };\n Object.defineProperty(CalculatedValue.prototype, \"value\", {\n get: function () {\n if (!this.data)\n return undefined;\n return this.data.getVariable(this.name);\n },\n enumerable: false,\n configurable: true\n });\n CalculatedValue.prototype.setValue = function (val) {\n if (!this.data)\n return;\n this.data.setVariable(this.name, val);\n };\n Object.defineProperty(CalculatedValue.prototype, \"canRunExpression\", {\n get: function () {\n return (!!this.data &&\n !this.isLoadingFromJson &&\n !!this.expression &&\n !this.expressionIsRunning &&\n !!this.name);\n },\n enumerable: false,\n configurable: true\n });\n CalculatedValue.prototype.rerunExpression = function () {\n if (!this.canRunExpression)\n return;\n this.runExpression(this.data.getFilteredValues(), this.data.getFilteredProperties());\n };\n CalculatedValue.prototype.runExpressionCore = function (calculatedValues, values, properties) {\n if (!this.canRunExpression)\n return;\n this.ensureExpression(values);\n this.locCalculation();\n if (!!calculatedValues) {\n this.runDependentExpressions(calculatedValues, values, properties);\n }\n this.expressionRunner.run(values, properties);\n };\n CalculatedValue.prototype.runDependentExpressions = function (calculatedValues, values, properties) {\n var variables = this.expressionRunner.getVariables();\n if (!variables)\n return;\n for (var i = 0; i < calculatedValues.length; i++) {\n var calcItem = calculatedValues[i];\n if (calcItem === this || variables.indexOf(calcItem.name) < 0)\n continue;\n calcItem.doCalculation(calculatedValues, values, properties);\n values[calcItem.name] = calcItem.value;\n }\n };\n CalculatedValue.prototype.ensureExpression = function (values) {\n var _this = this;\n if (!!this.expressionRunner)\n return;\n this.expressionRunner = new _conditions__WEBPACK_IMPORTED_MODULE_2__[\"ExpressionRunner\"](this.expression);\n this.expressionRunner.onRunComplete = function (newValue) {\n if (!_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isTwoValueEquals(newValue, _this.value, false, true, false)) {\n _this.setValue(newValue);\n }\n _this.unlocCalculation();\n };\n };\n return CalculatedValue;\n}(_base__WEBPACK_IMPORTED_MODULE_1__[\"Base\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_3__[\"Serializer\"].addClass(\"calculatedvalue\", [\n { name: \"!name\", isUnique: true },\n \"expression:expression\",\n \"includeIntoResult:boolean\",\n], function () {\n return new CalculatedValue();\n}, \"base\");\n\n\n/***/ }),\n\n/***/ \"./src/choicesRestful.ts\":\n/*!*******************************!*\\\n !*** ./src/choicesRestful.ts ***!\n \\*******************************/\n/*! exports provided: ChoicesRestful, ChoicesRestfull */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestful\", function() { return ChoicesRestful; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestfull\", function() { return ChoicesRestfull; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./itemvalue */ \"./src/itemvalue.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./error */ \"./src/error.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\nvar XmlParser = /** @class */ (function () {\n function XmlParser() {\n this.parser = new DOMParser();\n }\n XmlParser.prototype.assignValue = function (target, name, value) {\n if (Array.isArray(target[name])) {\n target[name].push(value);\n }\n else if (target[name] !== undefined) {\n target[name] = [target[name]].concat(value);\n }\n else if (typeof value === \"object\" &&\n Object.keys(value).length === 1 &&\n Object.keys(value)[0] === name) {\n target[name] = value[name];\n }\n else {\n target[name] = value;\n }\n };\n XmlParser.prototype.xml2Json = function (xmlNode, result) {\n if (xmlNode.children && xmlNode.children.length > 0) {\n for (var i = 0; i < xmlNode.children.length; i++) {\n var childNode = xmlNode.children[i];\n var childObject = {};\n this.xml2Json(childNode, childObject);\n this.assignValue(result, childNode.nodeName, childObject);\n }\n }\n else {\n this.assignValue(result, xmlNode.nodeName, xmlNode.textContent);\n }\n };\n XmlParser.prototype.parseXmlString = function (xmlString) {\n var xmlRoot = this.parser.parseFromString(xmlString, \"text/xml\");\n var json = {};\n this.xml2Json(xmlRoot, json);\n return json;\n };\n return XmlParser;\n}());\n/**\n * Configures access to a RESTful service that returns choices for [Checkbox](https://surveyjs.io/Examples/Library?id=questiontype-checkbox), [Dropdown](https://surveyjs.io/Examples/Library?id=questiontype-dropdown), [Radiogroup](https://surveyjs.io/Examples/Library?id=questiontype-radiogroup), and other multiple-choice question types.\n *\n * Use the following properties to configure this object:\n *\n * ```js\n * {\n * url: \"http://...\", // A RESTful service's URL.\n * valueName: \"value\", // Specifies which field contains choice values.\n * titleName: \"title\", // Specifies which field contains display texts for choice values.\n * imageLinkName: \"imageUrl\", // Specifies which field contains image URLs. Used in Image Picker questions.\n * // Path to the array of choices. Specify `path` only if the array of choices is nested within the object returned by the service.\n * // The following path separators are allowed: semicolon `;`, comma `,`.\n * path: \"myNestedArray\"\n * }\n * ```\n *\n * Typically, you should assign this object to a question's [`choicesByUrl`](https://surveyjs.io/Documentation/Library?id=QuestionSelectBase#choicesByUrl) property. You can also specify additional application-wide settings using the [`settings.web`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) object.\n */\nvar ChoicesRestful = /** @class */ (function (_super) {\n __extends(ChoicesRestful, _super);\n function ChoicesRestful() {\n var _this = _super.call(this) || this;\n _this.lastObjHash = \"\";\n _this.isRunningValue = false;\n _this.processedUrl = \"\";\n _this.processedPath = \"\";\n _this.isUsingCacheFromUrl = undefined;\n _this.error = null;\n _this.createItemValue = function (value) {\n return new _itemvalue__WEBPACK_IMPORTED_MODULE_1__[\"ItemValue\"](value);\n };\n _this.registerPropertyChangedHandlers([\"url\"], function () {\n if (_this.owner)\n _this.owner.setPropertyValue(\"isUsingRestful\", !!_this.url);\n });\n return _this;\n }\n Object.defineProperty(ChoicesRestful, \"EncodeParameters\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.encodeUrlParams;\n },\n set: function (val) {\n _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.encodeUrlParams = val;\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.clearCache = function () {\n ChoicesRestful.itemsResult = {};\n ChoicesRestful.sendingSameRequests = {};\n };\n ChoicesRestful.addSameRequest = function (obj) {\n if (!obj.isUsingCache)\n return false;\n var hash = obj.objHash;\n var res = ChoicesRestful.sendingSameRequests[hash];\n if (!res) {\n ChoicesRestful.sendingSameRequests[obj.objHash] = [];\n return false;\n }\n res.push(obj);\n obj.isRunningValue = true;\n return true;\n };\n ChoicesRestful.unregisterSameRequests = function (obj, items) {\n if (!obj.isUsingCache)\n return;\n var res = ChoicesRestful.sendingSameRequests[obj.objHash];\n delete ChoicesRestful.sendingSameRequests[obj.objHash];\n if (!res)\n return;\n for (var i = 0; i < res.length; i++) {\n res[i].isRunningValue = false;\n if (!!res[i].getResultCallback) {\n res[i].getResultCallback(items);\n }\n }\n };\n Object.defineProperty(ChoicesRestful, \"onBeforeSendRequest\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.onBeforeRequestChoices;\n },\n set: function (val) {\n _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.onBeforeRequestChoices = val;\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.getCachedItemsResult = function (obj) {\n var hash = obj.objHash;\n var res = ChoicesRestful.itemsResult[hash];\n if (!res)\n return false;\n if (obj.getResultCallback) {\n obj.getResultCallback(res);\n }\n return true;\n };\n ChoicesRestful.prototype.getSurvey = function (live) {\n if (live === void 0) { live = false; }\n return !!this.owner ? this.owner.survey : null;\n };\n ChoicesRestful.prototype.run = function (textProcessor) {\n if (textProcessor === void 0) { textProcessor = null; }\n if (!this.url || !this.getResultCallback)\n return;\n this.processedText(textProcessor);\n if (!this.processedUrl) {\n this.doEmptyResultCallback({});\n this.lastObjHash = this.objHash;\n return;\n }\n if (this.lastObjHash === this.objHash)\n return;\n this.lastObjHash = this.objHash;\n this.error = null;\n if (this.useChangedItemsResults())\n return;\n if (ChoicesRestful.addSameRequest(this))\n return;\n this.sendRequest();\n };\n Object.defineProperty(ChoicesRestful.prototype, \"isUsingCache\", {\n get: function () {\n if (this.isUsingCacheFromUrl === true)\n return true;\n if (this.isUsingCacheFromUrl === false)\n return false;\n return _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.cacheLoadedChoices;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"isRunning\", {\n get: function () {\n return this.getIsRunning();\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.prototype.getIsRunning = function () {\n return this.isRunningValue;\n };\n Object.defineProperty(ChoicesRestful.prototype, \"isWaitingForParameters\", {\n get: function () {\n return this.url && !this.processedUrl;\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.prototype.useChangedItemsResults = function () {\n return ChoicesRestful.getCachedItemsResult(this);\n };\n ChoicesRestful.prototype.doEmptyResultCallback = function (serverResult) {\n var items = [];\n if (this.updateResultCallback) {\n items = this.updateResultCallback(items, serverResult);\n }\n this.getResultCallback(items);\n };\n ChoicesRestful.prototype.processedText = function (textProcessor) {\n var urlText = this.url;\n if (!!urlText) {\n urlText = urlText\n .replace(ChoicesRestful.cacheText, \"\")\n .replace(ChoicesRestful.noCacheText, \"\");\n }\n if (textProcessor) {\n var pUrl = textProcessor.processTextEx(urlText, false, _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.encodeUrlParams);\n var pPath = textProcessor.processTextEx(this.path, false, _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.encodeUrlParams);\n if (!pUrl.hasAllValuesOnLastRun || !pPath.hasAllValuesOnLastRun) {\n this.processedUrl = \"\";\n this.processedPath = \"\";\n }\n else {\n this.processedUrl = pUrl.text;\n this.processedPath = pPath.text;\n }\n }\n else {\n this.processedUrl = urlText;\n this.processedPath = this.path;\n }\n if (this.onProcessedUrlCallback) {\n this.onProcessedUrlCallback(this.processedUrl, this.processedPath);\n }\n };\n ChoicesRestful.prototype.parseResponse = function (response) {\n var parsedResponse;\n if (!!response &&\n typeof response.indexOf === \"function\" &&\n response.indexOf(\"<\") === 0) {\n var parser = new XmlParser();\n parsedResponse = parser.parseXmlString(response);\n }\n else {\n try {\n parsedResponse = JSON.parse(response);\n }\n catch (_a) {\n parsedResponse = (response || \"\")\n .split(\"\\n\")\n .map(function (s) { return s.trim(\" \"); })\n .filter(function (s) { return !!s; });\n }\n }\n return parsedResponse;\n };\n ChoicesRestful.prototype.sendRequest = function () {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", this.processedUrl);\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n var self = this;\n var loadingObjHash = this.objHash;\n xhr.onload = function () {\n self.beforeLoadRequest();\n if (xhr.status === 200) {\n self.onLoad(self.parseResponse(xhr.response), loadingObjHash);\n }\n else {\n self.onError(xhr.statusText, xhr.responseText);\n }\n };\n var options = { request: xhr };\n if (!!_settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.onBeforeRequestChoices) {\n _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.onBeforeRequestChoices(this, options);\n }\n this.beforeSendRequest();\n options.request.send();\n };\n ChoicesRestful.prototype.getType = function () {\n return \"choicesByUrl\";\n };\n Object.defineProperty(ChoicesRestful.prototype, \"isEmpty\", {\n get: function () {\n return !this.url && !this.path;\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.prototype.getCustomPropertiesNames = function () {\n var properties = this.getCustomProperties();\n var res = new Array();\n for (var i = 0; i < properties.length; i++) {\n res.push(this.getCustomPropertyName(properties[i].name));\n }\n return res;\n };\n ChoicesRestful.prototype.getCustomPropertyName = function (propertyName) {\n return propertyName + \"Name\";\n };\n ChoicesRestful.prototype.getCustomProperties = function () {\n var properties = _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].getProperties(this.itemValueType);\n var res = [];\n for (var i = 0; i < properties.length; i++) {\n if (properties[i].name === \"value\" ||\n properties[i].name === \"text\" ||\n properties[i].name === \"visibleIf\" ||\n properties[i].name === \"enableIf\")\n continue;\n res.push(properties[i]);\n }\n return res;\n };\n ChoicesRestful.prototype.setData = function (json) {\n this.clear();\n if (json.url)\n this.url = json.url;\n if (json.path)\n this.path = json.path;\n if (json.valueName)\n this.valueName = json.valueName;\n if (json.titleName)\n this.titleName = json.titleName;\n if (json.imageLinkName)\n this.imageLinkName = json.imageLinkName;\n if (json.allowEmptyResponse !== undefined)\n this.allowEmptyResponse = json.allowEmptyResponse;\n if (json.attachOriginalItems !== undefined)\n this.attachOriginalItems = json.attachOriginalItems;\n var properties = this.getCustomPropertiesNames();\n for (var i = 0; i < properties.length; i++) {\n if (json[properties[i]])\n this[properties[i]] = json[properties[i]];\n }\n };\n ChoicesRestful.prototype.getData = function () {\n if (this.isEmpty)\n return null;\n var res = {};\n if (this.url)\n res[\"url\"] = this.url;\n if (this.path)\n res[\"path\"] = this.path;\n if (this.valueName)\n res[\"valueName\"] = this.valueName;\n if (this.titleName)\n res[\"titleName\"] = this.titleName;\n if (this.imageLinkName)\n res[\"imageLinkName\"] = this.imageLinkName;\n if (this.allowEmptyResponse)\n res[\"allowEmptyResponse\"] = this.allowEmptyResponse;\n if (this.attachOriginalItems)\n res[\"attachOriginalItems\"] = this.attachOriginalItems;\n var properties = this.getCustomPropertiesNames();\n for (var i = 0; i < properties.length; i++) {\n if (this[properties[i]])\n res[properties[i]] = this[properties[i]];\n }\n return res;\n };\n Object.defineProperty(ChoicesRestful.prototype, \"url\", {\n /**\n * A RESTful service's URL.\n *\n * This property supports [dynamic URLs](https://surveyjs.io/Documentation/Library?id=design-survey-conditional-logic#dynamic-texts). For example, the URL below depends on the `region` question's value. When the value changes, the survey automatically loads a new dataset that corresponds to the selected region.\n *\n * ```js\n * url: \"https://surveyjs.io/api/CountriesExample?region={region}\"\n * ```\n *\n * [View Demo](https://surveyjs.io/Examples/Library/?id=questiontype-dropdownrestfull (linkStyle))\n * @see path\n * @see valueName\n * @see titleName\n */\n get: function () {\n return this.getPropertyValue(\"url\") || \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"url\", val);\n this.isUsingCacheFromUrl = undefined;\n if (!val)\n return;\n if (val.indexOf(ChoicesRestful.cacheText) > -1) {\n this.isUsingCacheFromUrl = true;\n }\n else {\n if (val.indexOf(ChoicesRestful.noCacheText) > -1) {\n this.isUsingCacheFromUrl = false;\n }\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"path\", {\n /**\n * Path to the array of choices. The following path separators are allowed: semicolon `;`, comma `,`.\n *\n * Specify this property only if the array of choices is nested within the object returned by the service. For example, the service returns the following object:\n *\n * ```js\n * {\n * countries: [ ... ],\n * capitals: [ ... ]\n * }\n * ```\n *\n * To populate choices with values from the `countries` array, set the `path` property to `\"countries\"`. To use the `capitals` array, set this property to `\"capitals\"`.\n * @see url\n * @see valueName\n * @see titleName\n */\n get: function () {\n return this.getPropertyValue(\"path\") || \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"path\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"valueName\", {\n /**\n * Specifies which property in the obtained data object contains choice values.\n *\n * [View Demo](https://surveyjs.io/Examples/Library/?id=questiontype-dropdownrestfull (linkStyle))\n *\n * @see url\n * @see path\n * @see titleName\n */\n get: function () {\n return this.getPropertyValue(\"valueName\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"valueName\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"titleName\", {\n /**\n * Specifies which property in the obtained data object contains display texts for choices.\n *\n * @see url\n * @see path\n * @see valueName\n */\n get: function () {\n return this.getPropertyValue(\"titleName\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"titleName\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"imageLinkName\", {\n /**\n * Specifies which property in the obtained data object contains image URLs. Used only in [Image Picker](https://surveyjs.io/Examples/Library?id=questiontype-imagepicker) questions.\n *\n * @see url\n * @see path\n * @see valueName\n */\n get: function () {\n return this.getPropertyValue(\"imageLinkName\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"imageLinkName\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"allowEmptyResponse\", {\n /**\n * Specifies whether the service is allowed to return an empty response or an empty array in a response.\n *\n * Default value: `false`\n */\n get: function () {\n return this.getPropertyValue(\"allowEmptyResponse\");\n },\n set: function (val) {\n this.setPropertyValue(\"allowEmptyResponse\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"attachOriginalItems\", {\n get: function () {\n return this.getPropertyValue(\"attachOriginalItems\");\n },\n set: function (val) {\n this.setPropertyValue(\"attachOriginalItems\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"itemValueType\", {\n get: function () {\n if (!this.owner)\n return \"itemvalue\";\n var prop = _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].findProperty(this.owner.getType(), \"choices\");\n if (!prop)\n return \"itemvalue\";\n if (prop.type == \"itemvalue[]\")\n return \"itemvalue\";\n return prop.type;\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.prototype.clear = function () {\n this.url = undefined;\n this.path = undefined;\n this.valueName = undefined;\n this.titleName = undefined;\n this.imageLinkName = undefined;\n var properties = this.getCustomPropertiesNames();\n for (var i = 0; i < properties.length; i++) {\n if (this[properties[i]])\n this[properties[i]] = \"\";\n }\n };\n ChoicesRestful.prototype.beforeSendRequest = function () {\n this.isRunningValue = true;\n if (!!this.beforeSendRequestCallback) {\n this.beforeSendRequestCallback();\n }\n };\n ChoicesRestful.prototype.beforeLoadRequest = function () {\n this.isRunningValue = false;\n };\n ChoicesRestful.prototype.onLoad = function (result, loadingObjHash) {\n if (loadingObjHash === void 0) { loadingObjHash = null; }\n if (!loadingObjHash) {\n loadingObjHash = this.objHash;\n }\n var items = new Array();\n var updatedResult = this.getResultAfterPath(result);\n if (updatedResult && updatedResult[\"length\"]) {\n for (var i = 0; i < updatedResult.length; i++) {\n var itemValue = updatedResult[i];\n if (!itemValue)\n continue;\n var value = !!this.getItemValueCallback\n ? this.getItemValueCallback(itemValue)\n : this.getValue(itemValue);\n var item = this.createItemValue(value);\n this.setTitle(item, itemValue);\n this.setCustomProperties(item, itemValue);\n if (this.attachOriginalItems) {\n item.originalItem = itemValue;\n }\n var imageLink = this.getImageLink(itemValue);\n if (!!imageLink) {\n item.imageLink = imageLink;\n }\n items.push(item);\n }\n }\n else {\n if (!this.allowEmptyResponse) {\n this.error = new _error__WEBPACK_IMPORTED_MODULE_3__[\"WebRequestEmptyError\"](null, this.owner);\n }\n }\n if (this.updateResultCallback) {\n items = this.updateResultCallback(items, result);\n }\n if (this.isUsingCache) {\n ChoicesRestful.itemsResult[loadingObjHash] = items;\n }\n this.callResultCallback(items, loadingObjHash);\n ChoicesRestful.unregisterSameRequests(this, items);\n };\n ChoicesRestful.prototype.callResultCallback = function (items, loadingObjHash) {\n if (loadingObjHash != this.objHash)\n return;\n this.getResultCallback(items);\n };\n ChoicesRestful.prototype.setCustomProperties = function (item, itemValue) {\n var properties = this.getCustomProperties();\n for (var i = 0; i < properties.length; i++) {\n var prop = properties[i];\n var val = this.getValueCore(itemValue, this.getPropertyBinding(prop.name));\n if (!this.isValueEmpty(val)) {\n item[prop.name] = val;\n }\n }\n };\n ChoicesRestful.prototype.getPropertyBinding = function (propertyName) {\n if (this[this.getCustomPropertyName(propertyName)])\n return this[this.getCustomPropertyName(propertyName)];\n if (this[propertyName])\n return this[propertyName];\n return propertyName;\n };\n ChoicesRestful.prototype.onError = function (status, response) {\n this.error = new _error__WEBPACK_IMPORTED_MODULE_3__[\"WebRequestError\"](status, response, this.owner);\n this.doEmptyResultCallback(response);\n ChoicesRestful.unregisterSameRequests(this, []);\n };\n ChoicesRestful.prototype.getResultAfterPath = function (result) {\n if (!result)\n return result;\n if (!this.processedPath)\n return result;\n var pathes = this.getPathes();\n for (var i = 0; i < pathes.length; i++) {\n result = result[pathes[i]];\n if (!result)\n return null;\n }\n return result;\n };\n ChoicesRestful.prototype.getPathes = function () {\n var pathes = [];\n if (this.processedPath.indexOf(\";\") > -1) {\n pathes = this.path.split(\";\");\n }\n else {\n pathes = this.processedPath.split(\",\");\n }\n if (pathes.length == 0)\n pathes.push(this.processedPath);\n return pathes;\n };\n ChoicesRestful.prototype.getValue = function (item) {\n if (!item)\n return null;\n if (this.valueName)\n return this.getValueCore(item, this.valueName);\n if (!(item instanceof Object))\n return item;\n var len = Object.keys(item).length;\n if (len < 1)\n return null;\n return item[Object.keys(item)[0]];\n };\n ChoicesRestful.prototype.setTitle = function (item, itemValue) {\n var title = this.titleName ? this.titleName : \"title\";\n var val = this.getValueCore(itemValue, title);\n if (!val)\n return;\n if (typeof val === \"string\") {\n item.text = val;\n }\n else {\n item.locText.setJson(val);\n }\n };\n ChoicesRestful.prototype.getImageLink = function (item) {\n var imageLink = this.imageLinkName ? this.imageLinkName : \"imageLink\";\n return this.getValueCore(item, imageLink);\n };\n ChoicesRestful.prototype.getValueCore = function (item, property) {\n if (!item)\n return null;\n if (property.indexOf(\".\") < 0)\n return item[property];\n var properties = property.split(\".\");\n for (var i = 0; i < properties.length; i++) {\n item = item[properties[i]];\n if (!item)\n return null;\n }\n return item;\n };\n Object.defineProperty(ChoicesRestful.prototype, \"objHash\", {\n get: function () {\n return (this.processedUrl +\n \";\" +\n this.processedPath +\n \";\" +\n this.valueName +\n \";\" +\n this.titleName +\n \";\" +\n this.imageLinkName);\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.cacheText = \"{CACHE}\";\n ChoicesRestful.noCacheText = \"{NOCACHE}\";\n ChoicesRestful.itemsResult = {};\n ChoicesRestful.sendingSameRequests = {};\n return ChoicesRestful;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n/**\n * Obsolete, please use ChoicesRestful\n */\nvar ChoicesRestfull = /** @class */ (function (_super) {\n __extends(ChoicesRestfull, _super);\n function ChoicesRestfull() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(ChoicesRestfull, \"EncodeParameters\", {\n get: function () {\n return ChoicesRestful.EncodeParameters;\n },\n set: function (val) {\n ChoicesRestful.EncodeParameters = val;\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestfull.clearCache = function () {\n ChoicesRestful.clearCache();\n };\n Object.defineProperty(ChoicesRestfull, \"onBeforeSendRequest\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.onBeforeRequestChoices;\n },\n set: function (val) {\n _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.onBeforeRequestChoices = val;\n },\n enumerable: false,\n configurable: true\n });\n return ChoicesRestfull;\n}(ChoicesRestful));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].addClass(\"choicesByUrl\", [\n \"url\",\n \"path\",\n \"valueName\",\n \"titleName\",\n {\n name: \"imageLinkName\",\n visibleIf: function (obj) {\n return !!obj && !!obj.owner && obj.owner.getType() == \"imagepicker\";\n },\n },\n { name: \"allowEmptyResponse:boolean\" },\n { name: \"attachOriginalItems:boolean\", visible: false },\n], function () {\n return new ChoicesRestful();\n});\n\n\n/***/ }),\n\n/***/ \"./src/conditionProcessValue.ts\":\n/*!**************************************!*\\\n !*** ./src/conditionProcessValue.ts ***!\n \\**************************************/\n/*! exports provided: ProcessValue */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ProcessValue\", function() { return ProcessValue; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n\nvar surveyBuiltInVarible = \"@survey\";\nvar ProcessValue = /** @class */ (function () {\n function ProcessValue() {\n this.values = null;\n this.properties = null;\n }\n ProcessValue.prototype.getFirstName = function (text, obj) {\n if (obj === void 0) { obj = null; }\n if (!text)\n return text;\n var res = \"\";\n if (!!obj) {\n res = this.getFirstPropertyName(text, obj);\n if (!!res)\n return res;\n }\n for (var i = 0; i < text.length; i++) {\n var ch = text[i];\n if (ch == \".\" || ch == \"[\")\n break;\n res += ch;\n }\n return res;\n };\n ProcessValue.prototype.hasValue = function (text, values) {\n if (values === void 0) { values = null; }\n if (!values)\n values = this.values;\n var res = this.getValueCore(text, values);\n return res.hasValue;\n };\n ProcessValue.prototype.getValue = function (text, values) {\n if (values === void 0) { values = null; }\n if (!values)\n values = this.values;\n var res = this.getValueCore(text, values);\n return res.value;\n };\n ProcessValue.prototype.setValue = function (obj, text, value) {\n if (!text)\n return;\n var nonNestedObj = this.getNonNestedObject(obj, text, true);\n if (!nonNestedObj)\n return;\n obj = nonNestedObj.value;\n text = nonNestedObj.text;\n if (!!obj && !!text) {\n obj[text] = value;\n }\n };\n ProcessValue.prototype.getValueInfo = function (valueInfo) {\n if (!!valueInfo.path) {\n valueInfo.value = this.getValueFromPath(valueInfo.path, this.values);\n valueInfo.hasValue =\n valueInfo.value !== null && !_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(valueInfo.value);\n if (!valueInfo.hasValue &&\n valueInfo.path.length > 1 &&\n valueInfo.path[valueInfo.path.length - 1] == \"length\") {\n valueInfo.hasValue = true;\n valueInfo.value = 0;\n }\n return;\n }\n var res = this.getValueCore(valueInfo.name, this.values);\n valueInfo.value = res.value;\n valueInfo.hasValue = res.hasValue;\n valueInfo.path = res.hasValue ? res.path : null;\n valueInfo.sctrictCompare = res.sctrictCompare;\n };\n ProcessValue.prototype.isAnyKeyChanged = function (keys, usedNames) {\n for (var i = 0; i < usedNames.length; i++) {\n var name = usedNames[i];\n if (keys.hasOwnProperty(name))\n return true;\n var firstName = this.getFirstName(name);\n if (!keys.hasOwnProperty(firstName))\n continue;\n if (name === firstName)\n return true;\n var keyValue = keys[firstName];\n if (keyValue == undefined)\n continue;\n if (!keyValue.hasOwnProperty(\"oldValue\") ||\n !keyValue.hasOwnProperty(\"newValue\"))\n return true;\n var v = {};\n v[firstName] = keyValue[\"oldValue\"];\n var oldValue = this.getValue(name, v);\n v[firstName] = keyValue[\"newValue\"];\n var newValue = this.getValue(name, v);\n if (!_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isTwoValueEquals(oldValue, newValue, false, false, false))\n return true;\n }\n return false;\n };\n ProcessValue.prototype.getValueFromPath = function (path, values) {\n if (path.length === 2 && path[0] === surveyBuiltInVarible) {\n return this.getValueFromSurvey(path[1]);\n }\n var index = 0;\n while (!!values && index < path.length) {\n var ind_name = path[index];\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(ind_name) &&\n Array.isArray(values) &&\n ind_name >= values.length)\n return null;\n values = values[ind_name];\n index++;\n }\n return values;\n };\n ProcessValue.prototype.getValueCore = function (text, values) {\n var question = this.getQuestionDirectly(text);\n if (question) {\n return { hasValue: true, value: question.value, path: [text], sctrictCompare: question.requireStrictCompare };\n }\n var res = this.getValueFromValues(text, values);\n if (!!text && !res.hasValue) {\n var val = this.getValueFromSurvey(text);\n if (val !== undefined) {\n res.hasValue = true;\n res.value = val;\n res.path = [surveyBuiltInVarible, text];\n }\n }\n return res;\n };\n ProcessValue.prototype.getQuestionDirectly = function (name) {\n if (!!this.properties && !!this.properties.survey)\n return this.properties.survey.getQuestionByValueName(name);\n return undefined;\n };\n ProcessValue.prototype.getValueFromSurvey = function (name) {\n if (!!this.properties && !!this.properties.survey)\n return this.properties.survey.getBuiltInVariableValue(name.toLocaleLowerCase());\n return undefined;\n };\n ProcessValue.prototype.getValueFromValues = function (text, values) {\n var res = { hasValue: false, value: null, path: null };\n var curValue = values;\n if (!curValue && curValue !== 0 && curValue !== false)\n return res;\n if (text &&\n text.lastIndexOf(\".length\") > -1 &&\n text.lastIndexOf(\".length\") === text.length - \".length\".length) {\n res.value = 0;\n res.hasValue = true;\n }\n var nonNestedObj = this.getNonNestedObject(curValue, text, false);\n if (!nonNestedObj)\n return res;\n res.path = nonNestedObj.path;\n res.value = !!nonNestedObj.text\n ? this.getObjectValue(nonNestedObj.value, nonNestedObj.text)\n : nonNestedObj.value;\n res.hasValue = !_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(res.value);\n return res;\n };\n ProcessValue.prototype.getNonNestedObject = function (obj, text, createPath) {\n var checkedKeys = new Array();\n var len = 0;\n var res = this.getNonNestedObjectCore(obj, text, createPath, checkedKeys);\n while (!res && len < checkedKeys.length) {\n len = checkedKeys.length;\n res = this.getNonNestedObjectCore(obj, text, createPath, checkedKeys);\n }\n return res;\n };\n ProcessValue.prototype.getNonNestedObjectCore = function (obj, text, createPath, checkedKeys) {\n var curName = this.getFirstPropertyName(text, obj, createPath, checkedKeys);\n if (!!curName) {\n checkedKeys.push(curName);\n }\n var path = !!curName ? [curName] : null;\n while (text != curName && !!obj) {\n var isArray = text[0] == \"[\";\n if (!isArray) {\n if (!curName && text == this.getFirstName(text))\n return { value: obj, text: text, path: path };\n obj = this.getObjectValue(obj, curName);\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(obj) && !createPath)\n return null;\n text = text.substring(curName.length);\n }\n else {\n var objInArray = this.getObjInArray(obj, text);\n if (!objInArray)\n return null;\n obj = objInArray.value;\n text = objInArray.text;\n path.push(objInArray.index);\n }\n if (!!text && text[0] == \".\") {\n text = text.substring(1);\n }\n curName = this.getFirstPropertyName(text, obj, createPath, checkedKeys);\n if (!!curName) {\n path.push(curName);\n }\n }\n return { value: obj, text: text, path: path };\n };\n ProcessValue.prototype.getObjInArray = function (curValue, text) {\n if (!Array.isArray(curValue))\n return null;\n var index = 1;\n var str = \"\";\n while (index < text.length && text[index] != \"]\") {\n str += text[index];\n index++;\n }\n text = index < text.length ? text.substring(index + 1) : \"\";\n index = this.getIntValue(str);\n if (index < 0 || index >= curValue.length)\n return null;\n return { value: curValue[index], text: text, index: index };\n };\n ProcessValue.prototype.getFirstPropertyName = function (name, obj, createProp, checkedKeys) {\n if (createProp === void 0) { createProp = false; }\n if (checkedKeys === void 0) { checkedKeys = undefined; }\n if (!name)\n return name;\n if (!obj)\n obj = {};\n if (obj.hasOwnProperty(name))\n return name;\n var nameInLow = name.toLowerCase();\n var A = nameInLow[0];\n var a = A.toUpperCase();\n for (var key in obj) {\n if (Array.isArray(checkedKeys) && checkedKeys.indexOf(key) > -1)\n continue;\n var first = key[0];\n if (first === a || first === A) {\n var keyName = key.toLowerCase();\n if (keyName == nameInLow)\n return key;\n if (nameInLow.length <= keyName.length)\n continue;\n var ch = nameInLow[keyName.length];\n if (ch != \".\" && ch != \"[\")\n continue;\n if (keyName == nameInLow.substring(0, keyName.length))\n return key;\n }\n }\n if (createProp && name[0] !== \"[\") {\n var ind = name.indexOf(\".\");\n if (ind > -1) {\n name = name.substring(0, ind);\n obj[name] = {};\n }\n return name;\n }\n return \"\";\n };\n ProcessValue.prototype.getObjectValue = function (obj, name) {\n if (!name)\n return null;\n return obj[name];\n };\n ProcessValue.prototype.getIntValue = function (str) {\n if (str == \"0\" || ((str | 0) > 0 && str % 1 == 0))\n return Number(str);\n return -1;\n };\n return ProcessValue;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/conditions.ts\":\n/*!***************************!*\\\n !*** ./src/conditions.ts ***!\n \\***************************/\n/*! exports provided: ExpressionExecutor, ExpressionRunnerBase, ConditionRunner, ExpressionRunner */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExpressionExecutor\", function() { return ExpressionExecutor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExpressionRunnerBase\", function() { return ExpressionRunnerBase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ConditionRunner\", function() { return ConditionRunner; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExpressionRunner\", function() { return ExpressionRunner; });\n/* harmony import */ var _conditionProcessValue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./conditionProcessValue */ \"./src/conditionProcessValue.ts\");\n/* harmony import */ var _console_warnings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./console-warnings */ \"./src/console-warnings.ts\");\n/* harmony import */ var _conditionsParser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./conditionsParser */ \"./src/conditionsParser.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar ExpressionExecutor = /** @class */ (function () {\n function ExpressionExecutor(expression) {\n this.processValue = new _conditionProcessValue__WEBPACK_IMPORTED_MODULE_0__[\"ProcessValue\"]();\n this.parser = new _conditionsParser__WEBPACK_IMPORTED_MODULE_2__[\"ConditionsParser\"]();\n this.isAsyncValue = false;\n this.hasFunctionValue = false;\n this.setExpression(expression);\n }\n Object.defineProperty(ExpressionExecutor.prototype, \"expression\", {\n get: function () {\n return this.expressionValue;\n },\n enumerable: false,\n configurable: true\n });\n ExpressionExecutor.prototype.setExpression = function (value) {\n if (this.expression === value)\n return;\n this.expressionValue = value;\n this.operand = this.parser.parseExpression(value);\n this.hasFunctionValue = this.canRun() ? this.operand.hasFunction() : false;\n this.isAsyncValue = this.hasFunction()\n ? this.operand.hasAsyncFunction()\n : false;\n };\n ExpressionExecutor.prototype.getVariables = function () {\n if (!this.operand)\n return [];\n var variables = [];\n this.operand.setVariables(variables);\n return variables;\n };\n ExpressionExecutor.prototype.hasFunction = function () {\n return this.hasFunctionValue;\n };\n Object.defineProperty(ExpressionExecutor.prototype, \"isAsync\", {\n get: function () {\n return this.isAsyncValue;\n },\n enumerable: false,\n configurable: true\n });\n ExpressionExecutor.prototype.canRun = function () {\n return !!this.operand;\n };\n ExpressionExecutor.prototype.run = function (values, properties) {\n var _this = this;\n if (properties === void 0) { properties = null; }\n if (!this.operand) {\n if (!!this.expression) {\n _console_warnings__WEBPACK_IMPORTED_MODULE_1__[\"ConsoleWarnings\"].warn(\"Invalid expression: \" + this.expression);\n }\n return null;\n }\n this.processValue.values = values;\n this.processValue.properties = properties;\n if (!this.isAsync)\n return this.runValues();\n this.asyncFuncList = [];\n this.operand.addToAsyncList(this.asyncFuncList);\n for (var i = 0; i < this.asyncFuncList.length; i++) {\n this.asyncFuncList[i].onAsyncReady = function () {\n _this.doAsyncFunctionReady();\n };\n }\n for (var i = 0; i < this.asyncFuncList.length; i++) {\n this.asyncFuncList[i].evaluateAsync(this.processValue);\n }\n return false;\n };\n ExpressionExecutor.prototype.doAsyncFunctionReady = function () {\n for (var i = 0; i < this.asyncFuncList.length; i++) {\n if (!this.asyncFuncList[i].isReady)\n return;\n }\n this.runValues();\n };\n ExpressionExecutor.prototype.runValues = function () {\n var res = this.operand.evaluate(this.processValue);\n if (!!this.onComplete) {\n this.onComplete(res);\n }\n return res;\n };\n ExpressionExecutor.createExpressionExecutor = function (expression) { return new ExpressionExecutor(expression); };\n return ExpressionExecutor;\n}());\n\nvar ExpressionRunnerBase = /** @class */ (function () {\n function ExpressionRunnerBase(expression) {\n this._id = ExpressionRunnerBase.IdCounter++;\n this.expression = expression;\n }\n Object.defineProperty(ExpressionRunnerBase.prototype, \"id\", {\n get: function () { return this._id; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ExpressionRunnerBase.prototype, \"expression\", {\n get: function () {\n return !!this.expressionExecutor ? this.expressionExecutor.expression : \"\";\n },\n set: function (value) {\n var _this = this;\n if (!!this.expressionExecutor && value === this.expression)\n return;\n this.expressionExecutor = ExpressionExecutor.createExpressionExecutor(value);\n this.expressionExecutor.onComplete = function (res) { _this.doOnComplete(res); };\n this.variables = undefined;\n this.containsFunc = undefined;\n },\n enumerable: false,\n configurable: true\n });\n ExpressionRunnerBase.prototype.getVariables = function () {\n if (this.variables === undefined) {\n this.variables = this.expressionExecutor.getVariables();\n }\n return this.variables;\n };\n ExpressionRunnerBase.prototype.hasFunction = function () {\n if (this.containsFunc === undefined) {\n this.containsFunc = this.expressionExecutor.hasFunction();\n }\n return this.containsFunc;\n };\n Object.defineProperty(ExpressionRunnerBase.prototype, \"isAsync\", {\n get: function () {\n return this.expressionExecutor.isAsync;\n },\n enumerable: false,\n configurable: true\n });\n ExpressionRunnerBase.prototype.canRun = function () {\n return this.expressionExecutor.canRun();\n };\n ExpressionRunnerBase.prototype.runCore = function (values, properties) {\n if (properties === void 0) { properties = null; }\n if (this.onBeforeAsyncRun && this.isAsync) {\n this.onBeforeAsyncRun(this.id);\n }\n return this.expressionExecutor.run(values, properties);\n };\n ExpressionRunnerBase.prototype.doOnComplete = function (res) {\n if (this.onAfterAsyncRun && this.isAsync) {\n this.onAfterAsyncRun(this.id);\n }\n };\n ExpressionRunnerBase.IdCounter = 1;\n return ExpressionRunnerBase;\n}());\n\nvar ConditionRunner = /** @class */ (function (_super) {\n __extends(ConditionRunner, _super);\n function ConditionRunner() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ConditionRunner.prototype.run = function (values, properties) {\n if (properties === void 0) { properties = null; }\n return this.runCore(values, properties) == true;\n };\n ConditionRunner.prototype.doOnComplete = function (res) {\n if (!!this.onRunComplete)\n this.onRunComplete(res == true);\n _super.prototype.doOnComplete.call(this, res);\n };\n return ConditionRunner;\n}(ExpressionRunnerBase));\n\nvar ExpressionRunner = /** @class */ (function (_super) {\n __extends(ExpressionRunner, _super);\n function ExpressionRunner() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ExpressionRunner.prototype.run = function (values, properties) {\n if (properties === void 0) { properties = null; }\n return this.runCore(values, properties);\n };\n ExpressionRunner.prototype.doOnComplete = function (res) {\n if (!!this.onRunComplete)\n this.onRunComplete(res);\n _super.prototype.doOnComplete.call(this, res);\n };\n return ExpressionRunner;\n}(ExpressionRunnerBase));\n\n\n\n/***/ }),\n\n/***/ \"./src/conditionsParser.ts\":\n/*!*********************************!*\\\n !*** ./src/conditionsParser.ts ***!\n \\*********************************/\n/*! exports provided: ConditionsParserError, ConditionsParser */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ConditionsParserError\", function() { return ConditionsParserError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ConditionsParser\", function() { return ConditionsParser; });\n/* harmony import */ var _expressions_expressionParser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./expressions/expressionParser */ \"./src/expressions/expressionParser.ts\");\n\nvar ConditionsParserError = /** @class */ (function () {\n function ConditionsParserError(at, code) {\n this.at = at;\n this.code = code;\n }\n return ConditionsParserError;\n}());\n\nvar ConditionsParser = /** @class */ (function () {\n function ConditionsParser() {\n }\n ConditionsParser.prototype.patchExpression = function (text) {\n return text\n .replace(/=>/g, \">=\")\n .replace(/=/g, \"!=\")\n .replace(/equals/g, \"equal \")\n .replace(/notequals/g, \"notequal \");\n };\n ConditionsParser.prototype.createCondition = function (text) {\n return this.parseExpression(text);\n };\n ConditionsParser.prototype.parseExpression = function (text) {\n try {\n var result = ConditionsParser.parserCache[text];\n if (result === undefined) {\n result = Object(_expressions_expressionParser__WEBPACK_IMPORTED_MODULE_0__[\"parse\"])(this.patchExpression(text));\n if (!result.hasAsyncFunction()) {\n ConditionsParser.parserCache[text] = result;\n }\n }\n return result;\n }\n catch (e) {\n if (e instanceof _expressions_expressionParser__WEBPACK_IMPORTED_MODULE_0__[\"SyntaxError\"]) {\n this.conditionError = new ConditionsParserError(e.location.start.offset, e.message);\n }\n }\n };\n Object.defineProperty(ConditionsParser.prototype, \"error\", {\n get: function () {\n return this.conditionError;\n },\n enumerable: false,\n configurable: true\n });\n ConditionsParser.parserCache = {};\n return ConditionsParser;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/console-warnings.ts\":\n/*!*********************************!*\\\n !*** ./src/console-warnings.ts ***!\n \\*********************************/\n/*! exports provided: ConsoleWarnings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ConsoleWarnings\", function() { return ConsoleWarnings; });\nvar ConsoleWarnings = /** @class */ (function () {\n function ConsoleWarnings() {\n }\n ConsoleWarnings.disposedObjectChangedProperty = function (propName, objType) {\n ConsoleWarnings.warn(\"An attempt to set a property \\\"\" + propName + \"\\\" of a disposed object \\\"\" + objType + \"\\\"\");\n };\n ConsoleWarnings.inCorrectQuestionValue = function (questionName, val) {\n var valStr = JSON.stringify(val, null, 3);\n ConsoleWarnings.warn(\"An attempt to assign an incorrect value\" + valStr + \" to the following question: \\\"\" + questionName + \"\\\"\");\n };\n ConsoleWarnings.warn = function (text) {\n // eslint-disable-next-line no-console\n console.warn(text);\n };\n ConsoleWarnings.error = function (text) {\n // eslint-disable-next-line no-console\n console.error(text);\n };\n return ConsoleWarnings;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/defaultCss/cssmodern.ts\":\n/*!*************************************!*\\\n !*** ./src/defaultCss/cssmodern.ts ***!\n \\*************************************/\n/*! exports provided: modernCss */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modernCss\", function() { return modernCss; });\n/* harmony import */ var _defaultV2Css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultV2Css */ \"./src/defaultCss/defaultV2Css.ts\");\n\nvar modernCss = {\n root: \"sv-root-modern\",\n timerRoot: \"sv-body__timer\",\n container: \"sv-container-modern\",\n header: \"sv-title sv-container-modern__title\",\n headerClose: \"sv-container-modern__close\",\n bodyContainer: \"sv-components-row\",\n body: \"sv-body\",\n bodyEmpty: \"sv-body sv-body--empty\",\n footer: \"sv-footer sv-body__footer sv-clearfix\",\n title: \"\",\n description: \"\",\n logo: \"sv-logo\",\n logoImage: \"sv-logo__image\",\n headerText: \"sv-header__text\",\n navigationButton: \"sv-btn sv-btn--navigation\",\n completedPage: \"sv-completedpage\",\n navigation: {\n complete: \"sv-footer__complete-btn\",\n prev: \"sv-footer__prev-btn\",\n next: \"sv-footer__next-btn\",\n start: \"sv-footer__start-btn\",\n preview: \"sv-footer__preview-btn\",\n edit: \"sv-footer__edit-btn\",\n },\n panel: {\n title: \"sv-title sv-panel__title\",\n titleExpandable: \"sv-panel__title--expandable\",\n titleExpanded: \"sv-panel__title--expanded\",\n titleCollapsed: \"sv-panel__title--collapsed\",\n titleOnError: \"sv-panel__title--error\",\n description: \"sv-description sv-panel__description\",\n container: \"sv-panel sv-row__panel\",\n content: \"sv-panel__content\",\n icon: \"sv-panel__icon\",\n iconExpanded: \"sv-panel__icon--expanded\",\n footer: \"sv-panel__footer\",\n requiredText: \"sv-panel__required-text\",\n number: \"sv-question__num\",\n },\n paneldynamic: {\n root: \"sv-paneldynamic\",\n navigation: \"sv-paneldynamic__navigation\",\n title: \"sv-title sv-question__title\",\n button: \"sv-btn\",\n buttonRemove: \"sv-paneldynamic__remove-btn\",\n buttonRemoveRight: \"sv-paneldynamic__remove-btn--right\",\n buttonAdd: \"sv-paneldynamic__add-btn\",\n progressTop: \"sv-paneldynamic__progress sv-paneldynamic__progress--top\",\n progressBottom: \"sv-paneldynamic__progress sv-paneldynamic__progress--bottom\",\n buttonPrev: \"sv-paneldynamic__prev-btn\",\n buttonNext: \"sv-paneldynamic__next-btn\",\n buttonPrevDisabled: \"sv-paneldynamic__prev-btn--disabled\",\n buttonNextDisabled: \"sv-paneldynamic__next-btn--disabled\",\n progressContainer: \"sv-paneldynamic__progress-container\",\n progress: \"sv-progress\",\n progressBar: \"sv-progress__bar\",\n progressText: \"sv-paneldynamic__progress-text\",\n separator: \"sv-paneldynamic__separator\",\n panelWrapper: \"sv-paneldynamic__panel-wrapper\",\n panelWrapperInRow: \"sv-paneldynamic__panel-wrapper--in-row\",\n progressBtnIcon: \"icon-progressbutton\",\n footer: \"\"\n },\n progress: \"sv-progress sv-body__progress\",\n progressBar: \"sv-progress__bar\",\n progressText: \"sv-progress__text\",\n progressTextInBar: \"sv-hidden\",\n progressButtonsContainerCenter: \"sv_progress-buttons__container-center\",\n progressButtonsContainer: \"sv_progress-buttons__container\",\n progressButtonsImageButtonLeft: \"sv_progress-buttons__image-button-left\",\n progressButtonsImageButtonRight: \"sv_progress-buttons__image-button-right\",\n progressButtonsImageButtonHidden: \"sv_progress-buttons__image-button--hidden\",\n progressButtonsListContainer: \"sv_progress-buttons__list-container\",\n progressButtonsList: \"sv_progress-buttons__list\",\n progressButtonsListElementPassed: \"sv_progress-buttons__list-element--passed\",\n progressButtonsListElementCurrent: \"sv_progress-buttons__list-element--current\",\n progressButtonsListElementNonClickable: \"sv_progress-buttons__list-element--nonclickable\",\n progressButtonsPageTitle: \"sv_progress-buttons__page-title\",\n progressButtonsPageDescription: \"sv_progress-buttons__page-description\",\n page: {\n root: \"sv-page sv-body__page\",\n title: \"sv-title sv-page__title\",\n description: \"sv-description sv-page__description\",\n },\n pageTitle: \"sv-title sv-page__title\",\n pageDescription: \"sv-description sv-page__description\",\n row: \"sv-row sv-clearfix\",\n question: {\n mainRoot: \"sv-question sv-row__question\",\n flowRoot: \"sv-question sv-row__question sv-row__question--flow\",\n asCell: \"sv-table__cell\",\n header: \"sv-question__header\",\n headerLeft: \"sv-question__header--location--left\",\n headerTop: \"sv-question__header--location--top\",\n headerBottom: \"sv-question__header--location--bottom\",\n content: \"sv-question__content\",\n contentLeft: \"sv-question__content--left\",\n titleLeftRoot: \"\",\n answered: \"sv-question--answered\",\n titleOnAnswer: \"sv-question__title--answer\",\n titleOnError: \"sv-question__title--error\",\n title: \"sv-title sv-question__title\",\n titleExpandable: \"sv-question__title--expandable\",\n titleExpanded: \"sv-question__title--expanded\",\n titleCollapsed: \"sv-question__title--collapsed\",\n icon: \"sv-question__icon\",\n iconExpanded: \"sv-question__icon--expanded\",\n requiredText: \"sv-question__required-text\",\n number: \"sv-question__num\",\n description: \"sv-description sv-question__description\",\n descriptionUnderInput: \"sv-description sv-question__description\",\n comment: \"sv-comment\",\n required: \"sv-question--required\",\n titleRequired: \"sv-question__title--required\",\n indent: 20,\n footer: \"sv-question__footer\",\n formGroup: \"sv-question__form-group\",\n hasError: \"\",\n disabled: \"sv-question--disabled\",\n },\n image: { root: \"sv-image\", image: \"sv_image_image\" },\n error: {\n root: \"sv-question__erbox\",\n icon: \"\",\n item: \"\",\n locationTop: \"sv-question__erbox--location--top\",\n locationBottom: \"sv-question__erbox--location--bottom\",\n },\n checkbox: {\n root: \"sv-selectbase\",\n item: \"sv-item sv-checkbox sv-selectbase__item\",\n itemSelectAll: \"sv-checkbox--selectall\",\n itemNone: \"sv-checkbox--none\",\n itemDisabled: \"sv-item--disabled sv-checkbox--disabled\",\n itemChecked: \"sv-checkbox--checked\",\n itemHover: \"sv-checkbox--allowhover\",\n itemInline: \"sv-selectbase__item--inline\",\n label: \"sv-selectbase__label\",\n labelChecked: \"\",\n itemControl: \"sv-visuallyhidden sv-item__control\",\n itemDecorator: \"sv-item__svg sv-checkbox__svg\",\n itemSvgIconId: \"#icon-moderncheck\",\n controlLabel: \"sv-item__control-label\",\n materialDecorator: \"sv-item__decorator sv-selectbase__decorator sv-checkbox__decorator\",\n other: \"sv-comment sv-question__other\",\n column: \"sv-selectbase__column\",\n },\n ranking: {\n root: \"sv-ranking\",\n rootMobileMod: \"sv-ranking--mobile\",\n rootDragMod: \"sv-ranking--drag\",\n rootDisabled: \"sv-ranking--disabled\",\n rootDragHandleAreaIcon: \"sv-ranking--drag-handle-area-icon\",\n rootSelectToRankMod: \"sv-ranking--select-to-rank\",\n rootSelectToRankAlignVertical: \"sv-ranking--select-to-rank-vertical\",\n rootSelectToRankAlignHorizontal: \"sv-ranking--select-to-rank-horizontal\",\n item: \"sv-ranking-item\",\n itemContent: \"sv-ranking-item__content\",\n itemIndex: \"sv-ranking-item__index\",\n itemIndexEmptyMode: \"sv-ranking-item__index--empty\",\n // itemText: \"sv-ranking-item__text\",\n controlLabel: \"sv-ranking-item__text\",\n itemGhostNode: \"sv-ranking-item__ghost\",\n itemIconContainer: \"sv-ranking-item__icon-container\",\n itemIcon: \"sv-ranking-item__icon\",\n itemIconHoverMod: \"sv-ranking-item__icon--hover\",\n itemIconFocusMod: \"sv-ranking-item__icon--focus\",\n itemGhostMod: \"sv-ranking-item--ghost\",\n itemDragMod: \"sv-ranking-item--drag\",\n container: \"sv-ranking__container\",\n containerEmptyMode: \"sv-ranking__container--empty\",\n containerFromMode: \"sv-ranking__container--from\",\n containerToMode: \"sv-ranking__container--to\",\n containerPlaceholder: \"sv-ranking__container-placeholder\",\n containersDivider: \"sv-ranking__containers-divider\",\n },\n radiogroup: {\n root: \"sv-selectbase\",\n item: \"sv-item sv-radio sv-selectbase__item\",\n itemInline: \"sv-selectbase__item--inline\",\n label: \"sv-selectbase__label\",\n labelChecked: \"\",\n itemDisabled: \"sv-item--disabled sv-radio--disabled\",\n itemChecked: \"sv-radio--checked\",\n itemHover: \"sv-radio--allowhover\",\n itemControl: \"sv-visuallyhidden sv-item__control\",\n itemDecorator: \"sv-item__svg sv-radio__svg\",\n itemSvgIconId: \"#icon-modernradio\",\n controlLabel: \"sv-item__control-label\",\n materialDecorator: \"sv-item__decorator sv-selectbase__decorator sv-radio__decorator\",\n other: \"sv-comment sv-question__other\",\n clearButton: \"sv-btn sv-selectbase__clear-btn\",\n column: \"sv-selectbase__column\",\n },\n buttongroup: {\n root: \"sv-button-group\",\n item: \"sv-button-group__item\",\n itemIcon: \"sv-button-group__item-icon\",\n itemDecorator: \"sv-button-group__item-decorator\",\n itemCaption: \"sv-button-group__item-caption\",\n itemSelected: \"sv-button-group__item--selected\",\n itemHover: \"sv-button-group__item--hover\",\n itemDisabled: \"sv-button-group__item--disabled\",\n itemControl: \"sv-visuallyhidden\",\n },\n boolean: {\n root: \"sv_qbln\",\n rootRadio: \"sv_qbln\",\n small: \"sv-row__question--small\",\n item: \"sv-boolean sv-item\",\n control: \"sv-visuallyhidden\",\n itemChecked: \"sv-boolean--checked\",\n itemIndeterminate: \"sv-boolean--indeterminate\",\n itemDisabled: \"sv-item--disabled sv-boolean--disabled\",\n switch: \"sv-boolean__switch\",\n slider: \"sv-boolean__slider\",\n label: \"sv-boolean__label\",\n disabledLabel: \"sv-boolean__label--disabled\",\n sliderGhost: \"sv-boolean__thumb-ghost\",\n //checkbox\n rootCheckbox: \"sv_qbln\",\n checkboxItem: \"sv-boolean sv-item\",\n checkboxItemChecked: \"sv-boolean--checked\",\n controlCheckbox: \"sv-visuallyhidden\",\n checkboxControlLabel: \"sv-boolean__label\",\n checkboxItemIndeterminate: \"sv-boolean--indeterminate\",\n checkboxItemDisabled: \"sv-item--disabled sv-boolean--disabled\",\n checkboxMaterialDecorator: \"sv-item__decorator sv-boolean__decorator \",\n checkboxItemDecorator: \"sv-item__svg sv-boolean__svg\",\n indeterminatePath: \"sv-boolean__indeterminate-path\",\n svgIconCheckedId: \"#icon-modernbooleancheckchecked\",\n svgIconUncheckedId: \"#icon-modernbooleancheckunchecked\",\n svgIconIndId: \"#icon-modernbooleancheckind\",\n },\n text: {\n root: \"sv-text\",\n small: \"sv-row__question--small\",\n remainingCharacterCounter: \"sv-remaining-character-counter\",\n onError: \"sv-text--error\",\n },\n multipletext: {\n root: \"sv-multipletext\",\n item: \"sv-multipletext__item\",\n itemLabel: \"sv-multipletext__item-label\",\n itemTitle: \"sv-multipletext__item-title\",\n row: \"sv-multipletext__row\",\n cell: \"sv-multipletext__cell\",\n },\n dropdown: {\n root: \"\",\n popup: \"sv-dropdown-popup\",\n small: \"sv-row__question--small\",\n control: \"sv-dropdown\",\n selectWrapper: \"\",\n other: \"sv-comment sv-question__other\",\n onError: \"sv-dropdown--error\",\n cleanButton: \"sv-dropdown_clean-button\",\n cleanButtonSvg: \"sv-dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n filterStringInput: \"sv-dropdown__filter-string-input\",\n controlValue: \"sv-dropdown__value\",\n controlInputFieldComponent: \"sv_dropdown_control__input-field-component\",\n hintPrefix: \"sv-dropdown__hint-prefix\",\n hintSuffix: \"sv-dropdown__hint-suffix\"\n },\n tagbox: {\n root: \"\",\n popup: \"sv-dropdown-popup\",\n small: \"sv-row__question--small\",\n selectWrapper: \"sv_select_wrapper sv-tagbox_wrapper\",\n other: \"sv-input sv-comment sv-selectbase__other\",\n cleanButton: \"sv-tagbox_clean-button sv-dropdown_clean-button\",\n cleanButtonSvg: \"sv-tagbox_clean-button-svg sv-dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n cleanItemButton: \"sv-tagbox__item_clean-button\",\n cleanItemButtonSvg: \"sv-tagbox__item_clean-button-svg\",\n cleanItemButtonIconId: \"icon-clear_16x16\",\n control: \"sv-input sv-tagbox sv-dropdown\",\n controlValue: \"sv-tagbox__value sv-dropdown__value\",\n controlEmpty: \"sv-dropdown--empty sv-tagbox--empty\",\n placeholderInput: \"sv-tagbox__placeholder\",\n filterStringInput: \"sv-tagbox__filter-string-input sv-dropdown__filter-string-input\"\n },\n imagepicker: {\n root: \"sv-selectbase sv-imagepicker\",\n column: \"sv-selectbase__column\",\n item: \"sv-imagepicker__item\",\n itemInline: \"sv-imagepicker__item--inline\",\n itemChecked: \"sv-imagepicker__item--checked\",\n itemDisabled: \"sv-imagepicker__item--disabled\",\n itemHover: \"sv-imagepicker__item--allowhover\",\n label: \"sv-imagepicker__label\",\n itemControl: \"sv-imagepicker__control sv-visuallyhidden\",\n image: \"sv-imagepicker__image\",\n itemText: \"sv-imagepicker__text\",\n clearButton: \"sv-btn\",\n other: \"sv-comment sv-question__other\",\n },\n matrix: {\n tableWrapper: \"sv-matrix\",\n root: \"sv-table sv-matrix-root\",\n rowError: \"sv-matrix__row--error\",\n cell: \"sv-table__cell sv-matrix__cell\",\n headerCell: \"sv-table__cell sv-table__cell--header\",\n label: \"sv-item sv-radio sv-matrix__label\",\n itemValue: \"sv-visuallyhidden sv-item__control sv-radio__control\",\n itemChecked: \"sv-radio--checked\",\n itemDisabled: \"sv-item--disabled sv-radio--disabled\",\n itemHover: \"sv-radio--allowhover\",\n materialDecorator: \"sv-item__decorator sv-radio__decorator\",\n itemDecorator: \"sv-item__svg sv-radio__svg\",\n cellText: \"sv-matrix__text\",\n cellTextSelected: \"sv-matrix__text--checked\",\n cellTextDisabled: \"sv-matrix__text--disabled\",\n cellResponsiveTitle: \"sv-matrix__cell-responsive-title\",\n itemSvgIconId: \"#icon-modernradio\",\n },\n matrixdropdown: {\n root: \"sv-table sv-matrixdropdown\",\n cell: \"sv-table__cell\",\n headerCell: \"sv-table__cell sv-table__cell--header\",\n row: \"sv-table__row\",\n rowTextCell: \"sv-table__cell--row-text\",\n rowAdditional: \"sv-table__row--additional\",\n detailRow: \"sv-table__row--detail\",\n detailRowText: \"sv-table__cell--detail-rowtext\",\n detailCell: \"sv-table__cell--detail\",\n choiceCell: \"sv-table__cell--choice\",\n detailButton: \"sv-table__cell--detail-button\",\n detailButtonExpanded: \"sv-table__cell--detail-button--expanded\",\n detailIcon: \"sv-detail-panel__icon\",\n detailIconExpanded: \"sv-detail-panel__icon--expanded\",\n detailPanelCell: \"sv-table__cell--detail-panel\",\n actionsCell: \"sv-table__cell sv-table__cell--actions\",\n },\n matrixdynamic: {\n root: \"sv-table sv-matrixdynamic\",\n cell: \"sv-table__cell\",\n headerCell: \"sv-table__cell sv-table__cell--header\",\n button: \"sv-btn\",\n buttonAdd: \"sv-matrixdynamic__add-btn\",\n buttonRemove: \"sv-matrixdynamic__remove-btn\",\n iconAdd: \"\",\n iconRemove: \"\",\n iconDrag: \"sv-matrixdynamic__drag-icon\",\n row: \"sv-table__row\",\n detailRow: \"sv-table__row--detail\",\n detailCell: \"sv-table__cell--detail\",\n choiceCell: \"sv-table__cell--choice\",\n detailButton: \"sv-table__cell--detail-button\",\n detailButtonExpanded: \"sv-table__cell--detail-button--expanded\",\n detailIcon: \"sv-detail-panel__icon\",\n detailIconExpanded: \"sv-detail-panel__icon--expanded\",\n detailPanelCell: \"sv-table__cell--detail-panel\",\n actionsCell: \"sv-table__cell sv-table__cell--actions\",\n emptyRowsSection: \"sv-table__empty--rows--section\",\n emptyRowsText: \"sv-table__empty--rows--text\",\n emptyRowsButton: \"\",\n ghostRow: \"sv-matrix-row--drag-drop-ghost-mod\"\n },\n rating: {\n root: \"sv-rating\",\n item: \"sv-rating__item\",\n selected: \"sv-rating__item--selected\",\n minText: \"sv-rating__min-text\",\n itemText: \"sv-rating__item-text\",\n maxText: \"sv-rating__max-text\",\n itemDisabled: \"sv-rating--disabled\",\n filterStringInput: \"sv-dropdown__filter-string-input\",\n control: \"sv-dropdown\",\n cleanButton: \"sv-dropdown_clean-button\",\n cleanButtonSvg: \"sv-dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n controlValue: \"sv-dropdown__value\",\n controlInputFieldComponent: \"sv_dropdown_control__input-field-component\",\n itemSmiley: \"sv-rating__item-smiley\",\n itemStar: \"sv-rating__item-star\",\n itemSmileySelected: \"sv-rating__item-smiley--selected\",\n itemStarSelected: \"sv-rating__item-star--selected\"\n },\n comment: {\n root: \"sv-comment\",\n small: \"sv-row__question--small\",\n remainingCharacterCounter: \"sv-remaining-character-counter\",\n },\n expression: \"\",\n file: {\n root: \"sv-file\",\n other: \"sv-comment sv-question__other\",\n placeholderInput: \"sv-visuallyhidden\",\n preview: \"sv-file__preview\",\n fileSignBottom: \"sv-file__sign\",\n fileDecorator: \"sv-file__decorator\",\n fileInput: \"sv-visuallyhidden\",\n noFileChosen: \"sv-description sv-file__no-file-chosen\",\n chooseFile: \"sv-btn sv-file__choose-btn\",\n controlDisabled: \"sv-file__choose-btn--disabled\",\n removeButton: \"sv-hidden\",\n removeButtonBottom: \"sv-btn sv-file__clean-btn\",\n removeFile: \"sv-hidden\",\n removeFileSvg: \"sv-file__remove-svg\",\n removeFileSvgIconId: \"icon-removefile\",\n wrapper: \"sv-file__wrapper\",\n dragAreaPlaceholder: \"sv-hidden\",\n fileList: \"\",\n },\n signaturepad: {\n root: \"sv-signaturepad sjs_sp_container\",\n small: \"sv-row__question--small\",\n controls: \"sjs_sp_controls\",\n placeholder: \"sjs_sp_placeholder\",\n canvas: \"sjs_sp_canvas\",\n backgroundImage: \"sjs_sp__background-image\",\n clearButton: \"sjs_sp_clear\",\n },\n saveData: {\n root: \"sv-save-data_root\",\n rootWithButtons: \"sv-save-data_root--with-buttons\",\n info: \"sv-save-data_info\",\n error: \"sv-save-data_error\",\n success: \"sv-save-data_success\",\n button: \"sv-save-data_button\",\n shown: \"sv-save-data_root--shown\"\n },\n window: {\n root: \"sv_window\",\n rootCollapsedMod: \"sv_window--collapsed\",\n rootFullScreenMode: \"sv_window--full-screen\",\n rootContent: \"sv_window_root-content\",\n body: \"sv_window_content\",\n header: {\n root: \"sv_window_header\",\n titleCollapsed: \"sv_window_header_title_collapsed\",\n buttonsContainer: \"sv_window_buttons_container\",\n button: \"sv_window_button\",\n buttonExpanded: \"\",\n buttonCollapsed: \"\",\n collapseButton: \"sv_window_button sv_window_button_collapse\",\n closeButton: \"sv_window_button sv_window_button_close\",\n fullScreenButton: \"sv_window_button sv_window_button_full_screen\"\n }\n },\n variables: {\n mobileWidth: \"--sv-mobile-width\",\n themeMark: \"--sv-modern-mark\"\n }\n};\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"modern\"] = modernCss;\n\n\n/***/ }),\n\n/***/ \"./src/defaultCss/cssstandard.ts\":\n/*!***************************************!*\\\n !*** ./src/defaultCss/cssstandard.ts ***!\n \\***************************************/\n/*! exports provided: defaultStandardCss */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultStandardCss\", function() { return defaultStandardCss; });\n/* harmony import */ var _defaultV2Css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultV2Css */ \"./src/defaultCss/defaultV2Css.ts\");\n\nvar defaultStandardCss = {\n root: \"sv_main sv_default_css\",\n container: \"sv_container\",\n header: \"sv_header\",\n bodyContainer: \"sv-components-row\",\n body: \"sv_body\",\n bodyEmpty: \"sv_body sv_body_empty\",\n footer: \"sv_nav\",\n title: \"\",\n description: \"\",\n logo: \"sv_logo\",\n logoImage: \"sv_logo__image\",\n headerText: \"sv_header__text\",\n navigationButton: \"sv_nav_btn\",\n completedPage: \"sv_completed_page\",\n navigation: {\n complete: \"sv_complete_btn\",\n prev: \"sv_prev_btn\",\n next: \"sv_next_btn\",\n start: \"sv_start_btn\",\n preview: \"sv_preview_btn\",\n edit: \"sv_edit_btn\",\n },\n progress: \"sv_progress\",\n progressBar: \"sv_progress_bar\",\n progressTextInBar: \"sv-hidden\",\n progressButtonsContainerCenter: \"sv_progress-buttons__container-center\",\n progressButtonsContainer: \"sv_progress-buttons__container\",\n progressButtonsImageButtonLeft: \"sv_progress-buttons__image-button-left\",\n progressButtonsImageButtonRight: \"sv_progress-buttons__image-button-right\",\n progressButtonsImageButtonHidden: \"sv_progress-buttons__image-button--hidden\",\n progressButtonsListContainer: \"sv_progress-buttons__list-container\",\n progressButtonsList: \"sv_progress-buttons__list\",\n progressButtonsListElementPassed: \"sv_progress-buttons__list-element--passed\",\n progressButtonsListElementCurrent: \"sv_progress-buttons__list-element--current\",\n progressButtonsListElementNonClickable: \"sv_progress-buttons__list-element--nonclickable\",\n progressButtonsPageTitle: \"sv_progress-buttons__page-title\",\n progressButtonsPageDescription: \"sv_progress-buttons__page-description\",\n page: {\n root: \"sv_p_root\",\n title: \"sv_page_title\",\n description: \"\",\n },\n // TODO: move to the page object\n pageTitle: \"sv_page_title\",\n pageDescription: \"\",\n row: \"sv_row\",\n question: {\n mainRoot: \"sv_q sv_qstn\",\n flowRoot: \"sv_q_flow sv_qstn\",\n header: \"\",\n headerLeft: \"title-left\",\n content: \"\",\n contentLeft: \"content-left\",\n titleLeftRoot: \"sv_qstn_left\",\n requiredText: \"sv_q_required_text\",\n title: \"sv_q_title\",\n titleExpandable: \"sv_q_title_expandable\",\n titleExpanded: \"sv_q_title_expanded\",\n titleCollapsed: \"sv_q_title_collapsed\",\n number: \"sv_q_num\",\n description: \"sv_q_description\",\n comment: \"\",\n required: \"\",\n titleRequired: \"\",\n hasError: \"\",\n indent: 20,\n footer: \"sv_q_footer\",\n formGroup: \"form-group\",\n asCell: \"sv_matrix_cell\",\n icon: \"sv_question_icon\",\n iconExpanded: \"sv_expanded\",\n disabled: \"sv_q--disabled\",\n },\n panel: {\n title: \"sv_p_title\",\n titleExpandable: \"sv_p_title_expandable\",\n titleExpanded: \"sv_p_title_expanded\",\n titleCollapsed: \"sv_p_title_collapsed\",\n titleOnError: \"\",\n icon: \"sv_panel_icon\",\n iconExpanded: \"sv_expanded\",\n description: \"sv_p_description\",\n container: \"sv_p_container\",\n footer: \"sv_p_footer\",\n number: \"sv_q_num\",\n requiredText: \"sv_q_required_text\",\n },\n error: {\n root: \"sv_q_erbox\",\n icon: \"\",\n item: \"\",\n locationTop: \"sv_qstn_error_top\",\n locationBottom: \"sv_qstn_error_bottom\",\n },\n boolean: {\n root: \"sv_qcbc sv_qbln\",\n rootRadio: \"sv_qcbc sv_qbln\",\n item: \"sv-boolean\",\n control: \"sv-visuallyhidden\",\n itemChecked: \"sv-boolean--checked checked\",\n itemIndeterminate: \"sv-boolean--indeterminate\",\n itemDisabled: \"sv-boolean--disabled\",\n switch: \"sv-boolean__switch\",\n slider: \"sv-boolean__slider\",\n label: \"sv-boolean__label \",\n disabledLabel: \"sv-boolean__label--disabled\",\n sliderGhost: \"sv-boolean__thumb-ghost\",\n //checkbox\n rootCheckbox: \"sv_qcbc sv_qbln\",\n checkboxItem: \"sv-boolean\",\n checkboxItemChecked: \"sv-boolean--checked\",\n controlCheckbox: \"sv-visuallyvisible\",\n checkboxControlLabel: \"sv-boolean__label\",\n checkboxItemIndeterminate: \"sv-boolean--indeterminate\",\n checkboxItemDisabled: \"sv-item--disabled sv-boolean--disabled\",\n checkboxMaterialDecorator: \"sv-item__decorator sv-boolean__decorator\",\n checkboxItemDecorator: \"sv-item__svg sv-boolean__svg\",\n },\n checkbox: {\n root: \"sv_qcbc sv_qcbx\",\n item: \"sv_q_checkbox\",\n itemSelectAll: \"sv_q_checkbox_selectall\",\n itemNone: \"sv_q_checkbox_none\",\n itemChecked: \"checked\",\n itemInline: \"sv_q_checkbox_inline\",\n label: \"sv_q_checkbox_label\",\n labelChecked: \"\",\n itemControl: \"sv_q_checkbox_control_item\",\n itemDecorator: \"sv-hidden\",\n controlLabel: \"sv_q_checkbox_control_label\",\n other: \"sv_q_other sv_q_checkbox_other\",\n column: \"sv_q_select_column\",\n },\n ranking: {\n root: \"sv-ranking\",\n rootMobileMod: \"sv-ranking--mobile\",\n rootDragMod: \"sv-ranking--drag\",\n rootDisabled: \"sv-ranking--disabled\",\n rootDragHandleAreaIcon: \"sv-ranking--drag-handle-area-icon\",\n rootSelectToRankMod: \"sv-ranking--select-to-rank\",\n rootSelectToRankAlignVertical: \"sv-ranking--select-to-rank-vertical\",\n rootSelectToRankAlignHorizontal: \"sv-ranking--select-to-rank-horizontal\",\n item: \"sv-ranking-item\",\n itemContent: \"sv-ranking-item__content\",\n itemIndex: \"sv-ranking-item__index\",\n itemIndexEmptyMode: \"sv-ranking-item__index--empty\",\n // itemText: \"sv-ranking-item__text\",\n controlLabel: \"sv-ranking-item__text\",\n itemGhostNode: \"sv-ranking-item__ghost\",\n itemIconContainer: \"sv-ranking-item__icon-container\",\n itemIcon: \"sv-ranking-item__icon\",\n itemIconHoverMod: \"sv-ranking-item__icon--hover\",\n itemIconFocusMod: \"sv-ranking-item__icon--focus\",\n itemGhostMod: \"sv-ranking-item--ghost\",\n itemDragMod: \"sv-ranking-item--drag\",\n container: \"sv-ranking__container\",\n containerEmptyMode: \"sv-ranking__container--empty\",\n containerFromMode: \"sv-ranking__container--from\",\n containerToMode: \"sv-ranking__container--to\",\n containerPlaceholder: \"sv-ranking__container-placeholder\",\n containersDivider: \"sv-ranking__containers-divider\",\n },\n comment: {\n remainingCharacterCounter: \"sv-remaining-character-counter\",\n },\n dropdown: {\n root: \"\",\n popup: \"sv-dropdown-popup\",\n control: \"sv_q_dropdown_control\",\n controlInputFieldComponent: \"sv_q_dropdown_control__input-field-component\",\n selectWrapper: \"sv_select_wrapper\",\n other: \"sv_q_dd_other\",\n cleanButton: \"sv_q_dropdown_clean-button\",\n cleanButtonSvg: \"sv_q_dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n controlValue: \"sv_q_dropdown__value\",\n filterStringInput: \"sv_q_dropdown__filter-string-input\",\n hintPrefix: \"sv_q_dropdown__hint-prefix\",\n hintSuffix: \"sv_q_dropdown__hint-suffix\"\n },\n html: { root: \"\" },\n image: {\n root: \"sv_q_image\",\n image: \"sv_image_image\",\n noImage: \"sv-image__no-image\",\n noImageSvgIconId: \"icon-no-image\",\n },\n matrix: {\n root: \"sv_q_matrix\",\n label: \"sv_q_m_label\",\n itemChecked: \"checked\",\n itemDecorator: \"sv-hidden\",\n cell: \"sv_q_m_cell\",\n cellText: \"sv_q_m_cell_text\",\n cellTextSelected: \"sv_q_m_cell_selected\",\n cellLabel: \"sv_q_m_cell_label\",\n cellResponsiveTitle: \"sv_q_m_cell_responsive_title\"\n },\n matrixdropdown: {\n root: \"sv_q_matrix_dropdown\",\n cell: \"sv_matrix_cell\",\n headerCell: \"sv_matrix_cell_header\",\n row: \"sv_matrix_row\",\n rowAdditional: \"sv-matrix__row--additional\",\n rowTextCell: \"sv-table__cell--row-text\",\n detailRow: \"sv_matrix_detail_row\",\n detailRowText: \"sv_matrix_cell_detail_rowtext\",\n detailCell: \"sv_matrix_cell_detail\",\n choiceCell: \"sv-table__cell--choice\",\n detailButton: \"sv_matrix_cell_detail_button\",\n detailButtonExpanded: \"sv_matrix_cell_detail_button_expanded\",\n detailIcon: \"sv_detail_panel_icon\",\n detailIconExpanded: \"sv_detail_expanded\",\n detailPanelCell: \"sv_matrix_cell_detail_panel\",\n actionsCell: \"sv_matrix_cell sv_matrix_cell_actions\",\n },\n matrixdynamic: {\n root: \"sv_q_matrix_dynamic\",\n button: \"sv_matrix_dynamic_button\",\n buttonAdd: \"\",\n buttonRemove: \"\",\n iconAdd: \"\",\n iconRemove: \"\",\n iconDrag: \"sv-matrixdynamic__drag-icon\",\n cell: \"sv_matrix_cell\",\n headerCell: \"sv_matrix_cell_header\",\n row: \"sv_matrix_row\",\n detailRow: \"sv_matrix_detail_row\",\n detailCell: \"sv_matrix_cell_detail\",\n choiceCell: \"sv-table__cell--choice\",\n detailButton: \"sv_matrix_cell_detail_button\",\n detailButtonExpanded: \"sv_matrix_cell_detail_button_expanded\",\n detailIcon: \"sv_detail_panel_icon\",\n detailIconExpanded: \"sv_detail_expanded\",\n detailPanelCell: \"sv_matrix_cell_detail_panel\",\n actionsCell: \"sv_matrix_cell sv_matrix_cell_actions\",\n emptyRowsSection: \"sv_matrix_empty_rows_section\",\n emptyRowsText: \"sv_matrix_empty_rows_text\",\n emptyRowsButton: \"\",\n ghostRow: \"sv-matrix-row--drag-drop-ghost-mod\"\n },\n paneldynamic: {\n root: \"sv_panel_dynamic\",\n title: \"sv_p_title\",\n header: \"sv-paneldynamic__header sv_header\",\n headerTab: \"sv-paneldynamic__header-tab\",\n button: \"\",\n buttonAdd: \"sv-paneldynamic__add-btn\",\n buttonRemove: \"sv_p_remove_btn\",\n buttonRemoveRight: \"sv_p_remove_btn_right\",\n buttonPrev: \"sv-paneldynamic__prev-btn\",\n buttonPrevDisabled: \"sv-paneldynamic__prev-btn--disabled\",\n buttonNextDisabled: \"sv-paneldynamic__next-btn--disabled\",\n buttonNext: \"sv-paneldynamic__next-btn\",\n progressContainer: \"sv-paneldynamic__progress-container\",\n progress: \"sv-progress\",\n progressBar: \"sv-progress__bar\",\n progressText: \"sv-paneldynamic__progress-text\",\n panelWrapper: \"sv_p_wrapper\",\n panelWrapperInRow: \"sv_p_wrapper_in_row\",\n footer: \"\",\n progressBtnIcon: \"icon-progressbutton\"\n },\n multipletext: {\n root: \"sv_q_mt\",\n itemTitle: \"sv_q_mt_title\",\n item: \"sv_q_mt_item\",\n row: \"sv_q_mt_row\",\n itemLabel: \"sv_q_mt_label\",\n itemValue: \"sv_q_mt_item_value sv_q_text_root\",\n },\n radiogroup: {\n root: \"sv_qcbc\",\n item: \"sv_q_radiogroup\",\n itemChecked: \"checked\",\n itemInline: \"sv_q_radiogroup_inline\",\n itemDecorator: \"sv-hidden\",\n label: \"sv_q_radiogroup_label\",\n labelChecked: \"\",\n itemControl: \"sv_q_radiogroup_control_item\",\n controlLabel: \"\",\n other: \"sv_q_other sv_q_radiogroup_other\",\n clearButton: \"sv_q_radiogroup_clear\",\n column: \"sv_q_select_column\",\n },\n buttongroup: {\n root: \"sv-button-group\",\n item: \"sv-button-group__item\",\n itemIcon: \"sv-button-group__item-icon\",\n itemDecorator: \"sv-button-group__item-decorator\",\n itemCaption: \"sv-button-group__item-caption\",\n itemHover: \"sv-button-group__item--hover\",\n itemSelected: \"sv-button-group__item--selected\",\n itemDisabled: \"sv-button-group__item--disabled\",\n itemControl: \"sv-visuallyhidden\",\n },\n imagepicker: {\n root: \"sv_imgsel\",\n item: \"sv_q_imgsel\",\n itemChecked: \"checked\",\n label: \"sv_q_imgsel_label\",\n itemControl: \"sv_q_imgsel_control_item\",\n image: \"sv_q_imgsel_image\",\n itemInline: \"sv_q_imagepicker_inline\",\n itemText: \"sv_q_imgsel_text\",\n clearButton: \"sv_q_radiogroup_clear\",\n column: \"sv_q_select_column\",\n itemNoImage: \"sv_q_imgsel__no-image\",\n itemNoImageSvgIcon: \"sv_q_imgsel__no-image-svg\",\n itemNoImageSvgIconId: \"icon-no-image\",\n },\n rating: {\n root: \"sv_q_rating\",\n item: \"sv_q_rating_item\",\n itemFixedSize: \"sv_q_rating_item_fixed\",\n selected: \"active\",\n minText: \"sv_q_rating_min_text\",\n itemText: \"sv_q_rating_item_text\",\n maxText: \"sv_q_rating_max_text\",\n itemStar: \"sv_q_rating__item-star\",\n itemStarSelected: \"sv_q_rating__item-star--selected\",\n itemSmiley: \"sv_q_rating__item-smiley\",\n itemSmileySelected: \"sv_q_rating__item-smiley--selected\",\n },\n text: {\n root: \"sv_q_text_root\",\n remainingCharacterCounter: \"sv-remaining-character-counter\",\n },\n expression: \"\",\n file: {\n root: \"sv_q_file\",\n placeholderInput: \"sv-visuallyhidden\",\n preview: \"sv_q_file_preview\",\n removeButton: \"sv_q_file_remove_button\",\n fileInput: \"sv-visuallyhidden\",\n removeFile: \"sv_q_file_remove\",\n fileDecorator: \"sv-file__decorator\",\n fileSign: \"sv_q_file_sign\",\n chooseFile: \"sv_q_file_choose_button\",\n noFileChosen: \"sv_q_file_placeholder\",\n dragAreaPlaceholder: \"sv-hidden\",\n fileList: \"\",\n },\n signaturepad: {\n root: \"sv_q_signaturepad sjs_sp_container\",\n controls: \"sjs_sp_controls\",\n placeholder: \"sjs_sp_placeholder\",\n canvas: \"sjs_sp_canvas\",\n backgroundImage: \"sjs_sp__background-image\",\n clearButton: \"sjs_sp_clear\",\n },\n saveData: {\n root: \"sv-save-data_root\",\n rootWithButtons: \"sv-save-data_root--with-buttons\",\n info: \"sv-save-data_info\",\n error: \"sv-save-data_error\",\n success: \"sv-save-data_success\",\n button: \"sv-save-data_button\",\n shown: \"sv-save-data_root--shown\"\n },\n window: {\n root: \"sv_window\",\n rootCollapsedMod: \"sv_window--collapsed\",\n rootFullScreenMode: \"sv_window--full-screen\",\n rootContent: \"sv_window_root-content\",\n body: \"sv_window_content\",\n header: {\n root: \"sv_window_header\",\n titleCollapsed: \"sv_window_header_title_collapsed\",\n buttonsContainer: \"sv_window_buttons_container\",\n button: \"sv_window_button\",\n buttonExpanded: \"\",\n buttonCollapsed: \"\",\n collapseButton: \"sv_window_button sv_window_button_collapse\",\n closeButton: \"sv_window_button sv_window_button_close\",\n fullScreenButton: \"sv_window_button sv_window_button_full_screen\"\n }\n },\n variables: {\n mobileWidth: \"--sv-mobile-width\",\n themeMark: \"--sv-default-mark\"\n },\n tagbox: {\n root: \"\",\n popup: \"sv-dropdown-popup\",\n small: \"sv_q_row__question--small\",\n selectWrapper: \"sv_select_wrapper sv_q_tagbox_wrapper\",\n other: \"sv_q_input sv_q_comment sv_q_selectbase__other\",\n cleanButton: \"sv_q_tagbox_clean-button sv_q_dropdown_clean-button\",\n cleanButtonSvg: \"sv_q_tagbox_clean-button-svg sv_q_dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n cleanItemButton: \"sv_q_tagbox-item_clean-button\",\n cleanItemButtonSvg: \"sv_q_tagbox-item_clean-button-svg\",\n cleanItemButtonIconId: \"icon-clear_16x16\",\n control: \"sv_q_input sv_q_tagbox sv_q_dropdown_control\",\n controlValue: \"sv_q_tagbox__value sv_q_dropdown__value\",\n controlEmpty: \"sv_q_dropdown--empty sv_q_tagbox--empty\",\n placeholderInput: \"sv_q_tagbox__placeholder\",\n filterStringInput: \"sv_q_tagbox__filter-string-input sv_q_dropdown__filter-string-input\",\n hint: \"sv_q_tagbox__hint\",\n hintPrefix: \"sv_q_dropdown__hint-prefix sv_q_tagbox__hint-prefix\",\n hintSuffix: \"sv_q_dropdown__hint-suffix sv_q_tagbox__hint-suffix\",\n hintSuffixWrapper: \"sv_q_tagbox__hint-suffix-wrapper\"\n },\n};\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"default\"] = defaultStandardCss;\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"orange\"] = defaultStandardCss;\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"darkblue\"] = defaultStandardCss;\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"darkrose\"] = defaultStandardCss;\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"stone\"] = defaultStandardCss;\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"winter\"] = defaultStandardCss;\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"winterstone\"] = defaultStandardCss;\n\n\n/***/ }),\n\n/***/ \"./src/defaultCss/defaultV2Css.ts\":\n/*!****************************************!*\\\n !*** ./src/defaultCss/defaultV2Css.ts ***!\n \\****************************************/\n/*! exports provided: surveyCss, defaultV2Css, defaultV2ThemeName */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"surveyCss\", function() { return surveyCss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultV2Css\", function() { return defaultV2Css; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultV2ThemeName\", function() { return defaultV2ThemeName; });\nvar surveyCss = {\n currentType: \"\",\n getCss: function () {\n var loc = this.currentType ? this[this.currentType] : defaultV2Css;\n if (!loc)\n loc = defaultV2Css;\n return loc;\n },\n getAvailableThemes: function () {\n return Object.keys(this).filter(function (propertyName) { return [\"currentType\", \"getCss\", \"getAvailableThemes\"].indexOf(propertyName) === -1; });\n }\n};\nvar defaultV2Css = {\n root: \"sd-root-modern\",\n rootMobile: \"sd-root-modern--mobile\",\n rootAnimationDisabled: \"sd-root-modern--animation-disabled\",\n rootReadOnly: \"sd-root--readonly\",\n rootCompact: \"sd-root--compact\",\n rootFitToContainer: \"sd-root-modern--full-container\",\n rootWrapper: \"sd-root-modern__wrapper\",\n rootWrapperFixed: \"sd-root-modern__wrapper--fixed\",\n rootBackgroundImage: \"sd-root_background-image\",\n container: \"sd-container-modern\",\n header: \"sd-title sd-container-modern__title\",\n bodyContainer: \"sv-components-row\",\n body: \"sd-body\",\n bodyWithTimer: \"sd-body--with-timer\",\n clockTimerRoot: \"sd-timer\",\n clockTimerRootTop: \"sd-timer--top\",\n clockTimerRootBottom: \"sd-timer--bottom\",\n clockTimerProgress: \"sd-timer__progress\",\n clockTimerProgressAnimation: \"sd-timer__progress--animation\",\n clockTimerTextContainer: \"sd-timer__text-container\",\n clockTimerMinorText: \"sd-timer__text--minor\",\n clockTimerMajorText: \"sd-timer__text--major\",\n bodyEmpty: \"sd-body sd-body--empty\",\n bodyLoading: \"sd-body--loading\",\n footer: \"sd-footer sd-body__navigation sd-clearfix\",\n title: \"sd-title\",\n description: \"sd-description\",\n logo: \"sd-logo\",\n logoImage: \"sd-logo__image\",\n headerText: \"sd-header__text\",\n headerClose: \"sd-hidden\",\n navigationButton: \"\",\n bodyNavigationButton: \"sd-btn\",\n completedPage: \"sd-completedpage\",\n completedBeforePage: \"sd-completed-before-page\",\n timerRoot: \"sd-body__timer\",\n navigation: {\n complete: \"sd-btn--action sd-navigation__complete-btn\",\n prev: \"sd-navigation__prev-btn\",\n next: \"sd-navigation__next-btn\",\n start: \"sd-navigation__start-btn\",\n preview: \"sd-navigation__preview-btn\",\n edit: \"sd-btn sd-btn--small\",\n },\n panel: {\n contentFadeIn: \"sd-element__content--fade-in\",\n contentFadeOut: \"sd-element__content--fade-out\",\n fadeIn: \"sd-element-wrapper--fade-in\",\n fadeOut: \"sd-element-wrapper--fade-out\",\n asPage: \"sd-panel--as-page\",\n number: \"sd-element__num\",\n title: \"sd-title sd-element__title sd-panel__title\",\n titleExpandable: \"sd-element__title--expandable\",\n titleNumInline: \"sd-element__title--num-inline\",\n titleExpanded: \"sd-element__title--expanded\",\n titleCollapsed: \"sd-element__title--collapsed\",\n titleDisabled: \"sd-element__title--disabled\",\n titleOnExpand: \"sd-panel__title--expanded\",\n titleOnError: \"sd-panel__title--error\",\n titleBar: \"sd-action-title-bar\",\n description: \"sd-description sd-panel__description\",\n container: \"sd-element sd-element--complex sd-panel sd-row__panel\",\n withFrame: \"sd-element--with-frame\",\n content: \"sd-element__content sd-panel__content\",\n icon: \"sd-panel__icon\",\n iconExpanded: \"sd-panel__icon--expanded\",\n footer: \"sd-panel__footer\",\n requiredText: \"sd-panel__required-text\",\n header: \"sd-panel__header sd-element__header sd-element__header--location-top\",\n collapsed: \"sd-element--collapsed\",\n expanded: \"sd-element--expanded\",\n expandable: \"sd-element--expandable\",\n expandableAnimating: \"sd-elemenet--expandable--animating\",\n nested: \"sd-element--nested sd-element--nested-with-borders\",\n invisible: \"sd-element--invisible\",\n navigationButton: \"\",\n compact: \"sd-element--with-frame sd-element--compact\",\n errorsContainer: \"sd-panel__errbox sd-element__erbox sd-element__erbox--above-element\"\n },\n paneldynamic: {\n mainRoot: \"sd-element sd-question sd-question--paneldynamic sd-element--complex sd-question--complex sd-row__question\",\n empty: \"sd-question--empty\",\n root: \"sd-paneldynamic\",\n iconRemove: \"sd-hidden\",\n navigation: \"sd-paneldynamic__navigation\",\n title: \"sd-title sd-element__title sd-question__title\",\n header: \"sd-paneldynamic__header sd-element__header\",\n headerTab: \"sd-paneldynamic__header-tab\",\n button: \"sd-action sd-paneldynamic__btn\",\n buttonRemove: \"sd-action--negative sd-paneldynamic__remove-btn\",\n buttonAdd: \"sd-paneldynamic__add-btn\",\n buttonPrev: \"sd-paneldynamic__prev-btn sd-action--icon sd-action\",\n buttonPrevDisabled: \"sd-action--disabled\",\n buttonNextDisabled: \"sd-action--disabled\",\n buttonNext: \"sd-paneldynamic__next-btn sd-action--icon sd-action\",\n progressContainer: \"sd-paneldynamic__progress-container\",\n progress: \"sd-progress\",\n progressBar: \"sd-progress__bar\",\n nested: \"sd-element--nested sd-element--nested-with-borders\",\n progressText: \"sd-paneldynamic__progress-text\",\n separator: \"sd-paneldynamic__separator\",\n panelWrapper: \"sd-paneldynamic__panel-wrapper\",\n footer: \"sd-paneldynamic__footer\",\n panelFooter: \"sd-paneldynamic__panel-footer\",\n footerButtonsContainer: \"sd-paneldynamic__buttons-container\",\n panelWrapperInRow: \"sd-paneldynamic__panel-wrapper--in-row\",\n progressBtnIcon: \"icon-progressbuttonv2\",\n noEntriesPlaceholder: \"sd-paneldynamic__placeholder sd-question__placeholder\",\n compact: \"sd-element--with-frame sd-element--compact\",\n tabsRoot: \"sd-tabs-toolbar\",\n tabsLeft: \"sd-tabs-toolbar--left\",\n tabsRight: \"sd-tabs-toolbar--right\",\n tabsCenter: \"sd-tabs-toolbar--center\",\n tabs: {\n item: \"sd-tab-item\",\n itemPressed: \"sd-tab-item--pressed\",\n itemAsIcon: \"sd-tab-item--icon\",\n itemIcon: \"sd-tab-item__icon\",\n itemTitle: \"sd-tab-item__title\"\n }\n },\n progress: \"sd-progress sd-body__progress\",\n progressTop: \"sd-body__progress--top\",\n progressBottom: \"sd-body__progress--bottom\",\n progressBar: \"sd-progress__bar\",\n progressText: \"sd-progress__text\",\n progressButtonsRoot: \"sd-progress-buttons\",\n progressButtonsNumbered: \"sd-progress-buttons--numbered\",\n progressButtonsFitSurveyWidth: \"sd-progress-buttons--fit-survey-width\",\n progressButtonsContainerCenter: \"sd-progress-buttons__container-center\",\n progressButtonsContainer: \"sd-progress-buttons__container\",\n progressButtonsConnector: \"sd-progress-buttons__connector\",\n progressButtonsButton: \"sd-progress-buttons__button\",\n progressButtonsButtonBackground: \"sd-progress-buttons__button-background\",\n progressButtonsButtonContent: \"sd-progress-buttons__button-content\",\n progressButtonsHeader: \"sd-progress-buttons__header\",\n progressButtonsFooter: \"sd-progress-buttons__footer\",\n progressButtonsImageButtonLeft: \"sd-progress-buttons__image-button-left\",\n progressButtonsImageButtonRight: \"sd-progress-buttons__image-button-right\",\n progressButtonsImageButtonHidden: \"sd-progress-buttons__image-button--hidden\",\n progressButtonsListContainer: \"sd-progress-buttons__list-container\",\n progressButtonsList: \"sd-progress-buttons__list\",\n progressButtonsListElementPassed: \"sd-progress-buttons__list-element--passed\",\n progressButtonsListElementCurrent: \"sd-progress-buttons__list-element--current\",\n progressButtonsListElementNonClickable: \"sd-progress-buttons__list-element--nonclickable\",\n progressButtonsPageTitle: \"sd-progress-buttons__page-title\",\n progressButtonsPageDescription: \"sd-progress-buttons__page-description\",\n progressTextInBar: \"sd-hidden\",\n page: {\n root: \"sd-page sd-body__page\",\n emptyHeaderRoot: \"sd-page__empty-header\",\n title: \"sd-title sd-page__title\",\n description: \"sd-description sd-page__description\",\n errorsContainer: \"sd-page__errbox\"\n },\n pageTitle: \"sd-title sd-page__title\",\n pageDescription: \"sd-description sd-page__description\",\n row: \"sd-row sd-clearfix\",\n rowMultiple: \"sd-row--multiple\",\n rowCompact: \"sd-row--compact\",\n rowFadeIn: \"sd-row--fade-in\",\n rowFadeOut: \"sd-row--fade-out\",\n pageRow: \"sd-page__row\",\n question: {\n contentFadeIn: \"sd-element__content--fade-in\",\n contentFadeOut: \"sd-element__content--fade-out\",\n fadeIn: \"sd-element-wrapper--fade-in\",\n fadeOut: \"sd-element-wrapper--fade-out\",\n mainRoot: \"sd-element sd-question sd-row__question\",\n flowRoot: \"sd-element sd-question sd-row__question sd-row__question--flow\",\n withFrame: \"sd-element--with-frame\",\n asCell: \"sd-table__cell\",\n answered: \"sd-question--answered\",\n header: \"sd-question__header sd-element__header\",\n headerLeft: \"sd-question__header--location--left\",\n headerTop: \"sd-question__header--location-top sd-element__header--location-top\",\n headerBottom: \"sd-question__header--location--bottom\",\n content: \"sd-element__content sd-question__content\",\n contentSupportContainerQueries: \"sd-question__content--support-container-queries\",\n contentLeft: \"sd-question__content--left\",\n titleNumInline: \"sd-element__title--num-inline\",\n titleLeftRoot: \"sd-question--left\",\n titleTopRoot: \"sd-question--title-top\",\n descriptionUnderInputRoot: \"sd-question--description-under-input\",\n titleBottomRoot: \"sd-question--title-bottom\",\n titleOnAnswer: \"sd-question__title--answer\",\n titleEmpty: \"sd-question__title--empty\",\n titleOnError: \"sd-question__title--error\",\n title: \"sd-title sd-element__title sd-question__title\",\n titleExpandable: \"sd-element__title--expandable\",\n titleExpanded: \"sd-element__title--expanded\",\n titleCollapsed: \"sd-element__title--collapsed\",\n titleDisabled: \"sd-element__title--disabled\",\n titleBar: \"sd-action-title-bar\",\n requiredText: \"sd-question__required-text\",\n number: \"sd-element__num\",\n description: \"sd-description sd-question__description\",\n descriptionUnderInput: \"sd-description sd-question__description sd-question__description--under-input\",\n comment: \"sd-input sd-comment\",\n other: \"sd-input sd-comment\",\n required: \"sd-question--required\",\n titleRequired: \"sd-question__title--required\",\n indent: 20,\n footer: \"sd-question__footer\",\n commentArea: \"sd-question__comment-area\",\n formGroup: \"sd-question__form-group\",\n hasError: \"sd-question--error\",\n hasErrorTop: \"sd-question--error-top\",\n hasErrorBottom: \"sd-question--error-bottom\",\n collapsed: \"sd-element--collapsed\",\n expandable: \"sd-element--expandable\",\n expandableAnimating: \"sd-elemenet--expandable--animating\",\n expanded: \"sd-element--expanded\",\n nested: \"sd-element--nested\",\n invisible: \"sd-element--invisible\",\n composite: \"sd-element--complex sd-composite\",\n disabled: \"sd-question--disabled\",\n errorsContainer: \"sd-element__erbox sd-question__erbox\",\n errorsContainerTop: \"sd-element__erbox--above-element sd-question__erbox--above-question\",\n errorsContainerBottom: \"sd-question__erbox--below-question\"\n },\n image: {\n mainRoot: \"sd-question sd-question--image\",\n root: \"sd-image\",\n image: \"sd-image__image\",\n adaptive: \"sd-image__image--adaptive\",\n noImage: \"sd-image__no-image\",\n noImageSvgIconId: \"icon-no-image\",\n withFrame: \"\"\n },\n html: {\n mainRoot: \"sd-question sd-row__question sd-question--html\",\n root: \"sd-html\",\n withFrame: \"\",\n nested: \"sd-element--nested sd-html--nested\"\n },\n error: {\n root: \"sd-error\",\n icon: \"\",\n item: \"\",\n locationTop: \"\",\n locationBottom: \"\"\n },\n checkbox: {\n root: \"sd-selectbase\",\n rootMobile: \"sd-selectbase--mobile\",\n rootRow: \"sd-selectbase--row\",\n rootMultiColumn: \"sd-selectbase--multi-column\",\n item: \"sd-item sd-checkbox sd-selectbase__item\",\n itemOnError: \"sd-item--error\",\n itemSelectAll: \"sd-checkbox--selectall\",\n itemNone: \"sd-checkbox--none\",\n itemDisabled: \"sd-item--disabled sd-checkbox--disabled\",\n itemChecked: \"sd-item--checked sd-checkbox--checked\",\n itemHover: \"sd-item--allowhover sd-checkbox--allowhover\",\n itemInline: \"sd-selectbase__item--inline\",\n label: \"sd-selectbase__label\",\n labelChecked: \"\",\n itemControl: \"sd-visuallyhidden sd-item__control sd-checkbox__control\",\n itemDecorator: \"sd-item__svg sd-checkbox__svg\",\n itemSvgIconId: \"#icon-v2check\",\n controlLabel: \"sd-item__control-label\",\n materialDecorator: \"sd-item__decorator sd-checkbox__decorator\",\n other: \"sd-input sd-comment sd-selectbase__other\",\n column: \"sd-selectbase__column\",\n },\n radiogroup: {\n root: \"sd-selectbase\",\n rootMobile: \"sd-selectbase--mobile\",\n rootRow: \"sd-selectbase--row\",\n rootMultiColumn: \"sd-selectbase--multi-column\",\n item: \"sd-item sd-radio sd-selectbase__item\",\n itemOnError: \"sd-item--error\",\n itemInline: \"sd-selectbase__item--inline\",\n label: \"sd-selectbase__label\",\n labelChecked: \"\",\n itemDisabled: \"sd-item--disabled sd-radio--disabled\",\n itemChecked: \"sd-item--checked sd-radio--checked\",\n itemHover: \"sd-item--allowhover sd-radio--allowhover\",\n itemControl: \"sd-visuallyhidden sd-item__control sd-radio__control\",\n itemDecorator: \"sd-item__svg sd-radio__svg\",\n controlLabel: \"sd-item__control-label\",\n materialDecorator: \"sd-item__decorator sd-radio__decorator\",\n other: \"sd-input sd-comment sd-selectbase__other\",\n clearButton: \"\",\n column: \"sd-selectbase__column\"\n },\n boolean: {\n mainRoot: \"sd-element sd-question sd-row__question sd-question--boolean\",\n root: \"sv_qcbc sv_qbln sd-scrollable-container sd-boolean-root\",\n rootRadio: \"sv_qcbc sv_qbln sd-scrollable-container sd-scrollable-container--compact\",\n item: \"sd-boolean\",\n itemOnError: \"sd-boolean--error\",\n control: \"sd-boolean__control sd-visuallyhidden\",\n itemChecked: \"sd-boolean--checked\",\n itemExchanged: \"sd-boolean--exchanged\",\n itemIndeterminate: \"sd-boolean--indeterminate\",\n itemDisabled: \"sd-boolean--disabled\",\n itemHover: \"sd-boolean--allowhover\",\n label: \"sd-boolean__label\",\n labelTrue: \"sd-boolean__label--true\",\n labelFalse: \"sd-boolean__label--false\",\n switch: \"sd-boolean__switch\",\n disabledLabel: \"sd-checkbox__label--disabled\",\n sliderText: \"sd-boolean__thumb-text\",\n slider: \"sd-boolean__thumb\",\n sliderGhost: \"sd-boolean__thumb-ghost\",\n //radio\n radioItem: \"sd-item\",\n radioItemChecked: \"sd-item--checked sd-radio--checked\",\n radioLabel: \"sd-selectbase__label\",\n radioControlLabel: \"sd-item__control-label\",\n radioFieldset: \"sd-selectbase\",\n itemRadioDecorator: \"sd-item__svg sd-radio__svg\",\n materialRadioDecorator: \"sd-item__decorator sd-radio__decorator\",\n itemRadioControl: \"sd-visuallyhidden sd-item__control sd-radio__control\",\n //end radio\n //checkbox\n rootCheckbox: \"sd-selectbase\",\n checkboxItem: \"sd-item sd-selectbase__item sd-checkbox\",\n checkboxLabel: \"sd-selectbase__label\",\n checkboxItemOnError: \"sd-item--error\",\n checkboxItemIndeterminate: \"sd-checkbox--intermediate\",\n checkboxItemChecked: \"sd-item--checked sd-checkbox--checked\",\n checkboxItemDecorator: \"sd-item__svg sd-checkbox__svg\",\n checkboxItemDisabled: \"sd-item--disabled sd-checkbox--disabled\",\n controlCheckbox: \"sd-visuallyhidden sd-item__control sd-checkbox__control\",\n checkboxMaterialDecorator: \"sd-item__decorator sd-checkbox__decorator\",\n checkboxControlLabel: \"sd-item__control-label\",\n svgIconCheckedId: \"#icon-v2check\",\n },\n text: {\n root: \"sd-input sd-text\",\n small: \"sd-row__question--small\",\n controlDisabled: \"sd-input--disabled\",\n constrolWithCharacterCounter: \"sd-text__character-counter\",\n characterCounterBig: \"sd-text__character-counter--big\",\n content: \"sd-text__content sd-question__content\",\n remainingCharacterCounter: \"sd-remaining-character-counter\",\n onError: \"sd-input--error\"\n },\n multipletext: {\n root: \"sd-multipletext\",\n rootMobile: \"sd-multipletext--mobile\",\n itemLabel: \"sd-multipletext__item-container sd-input\",\n itemLabelOnError: \"sd-multipletext__item-container--error\",\n itemLabelAllowFocus: \"sd-multipletext__item-container--allow-focus\",\n itemLabelAnswered: \"sd-multipletext__item-container--answered\",\n itemWithCharacterCounter: \"sd-multipletext-item__character-counter\",\n item: \"sd-multipletext__item\",\n itemTitle: \"sd-multipletext__item-title\",\n content: \"sd-multipletext__content sd-question__content\",\n row: \"sd-multipletext__row\",\n cell: \"sd-multipletext__cell\",\n cellError: \"sd-multipletext__cell--error\",\n cellErrorTop: \"sd-multipletext__cell--error-top\",\n cellErrorBottom: \"sd-multipletext__cell--error-bottom\"\n },\n dropdown: {\n root: \"sd-selectbase\",\n popup: \"sv-dropdown-popup\",\n small: \"sd-row__question--small\",\n selectWrapper: \"sv-dropdown_select-wrapper\",\n other: \"sd-input sd-comment sd-selectbase__other\",\n onError: \"sd-input--error\",\n label: \"sd-selectbase__label\",\n item: \"sd-item sd-radio sd-selectbase__item\",\n itemDisabled: \"sd-item--disabled sd-radio--disabled\",\n itemChecked: \"sd-item--checked sd-radio--checked\",\n itemHover: \"sd-item--allowhover sd-radio--allowhover\",\n itemControl: \"sd-visuallyhidden sd-item__control sd-radio__control\",\n itemDecorator: \"sd-item__svg sd-radio__svg\",\n cleanButton: \"sd-dropdown_clean-button\",\n cleanButtonSvg: \"sd-dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear\",\n chevronButton: \"sd-dropdown_chevron-button\",\n chevronButtonSvg: \"sd-dropdown_chevron-button-svg\",\n chevronButtonIconId: \"icon-chevron\",\n control: \"sd-input sd-dropdown\",\n controlInputFieldComponent: \"sd-dropdown__input-field-component\",\n controlValue: \"sd-dropdown__value\",\n controlDisabled: \"sd-input--disabled\",\n controlEmpty: \"sd-dropdown--empty\",\n controlLabel: \"sd-item__control-label\",\n filterStringInput: \"sd-dropdown__filter-string-input\",\n materialDecorator: \"sd-item__decorator sd-radio__decorator\",\n hintPrefix: \"sd-dropdown__hint-prefix\",\n hintSuffix: \"sd-dropdown__hint-suffix\"\n },\n imagepicker: {\n mainRoot: \"sd-element sd-question sd-row__question\",\n root: \"sd-selectbase sd-imagepicker\",\n rootColumn: \"sd-imagepicker--column\",\n item: \"sd-imagepicker__item\",\n itemOnError: \"sd-imagepicker__item--error\",\n itemInline: \"sd-imagepicker__item--inline\",\n itemChecked: \"sd-imagepicker__item--checked\",\n itemDisabled: \"sd-imagepicker__item--disabled\",\n itemHover: \"sd-imagepicker__item--allowhover\",\n label: \"sd-imagepicker__label\",\n itemDecorator: \"sd-imagepicker__item-decorator\",\n imageContainer: \"sd-imagepicker__image-container\",\n itemControl: \"sd-imagepicker__control sd-visuallyhidden\",\n image: \"sd-imagepicker__image\",\n itemText: \"sd-imagepicker__text\",\n other: \"sd-input sd-comment\",\n itemNoImage: \"sd-imagepicker__no-image\",\n itemNoImageSvgIcon: \"sd-imagepicker__no-image-svg\",\n itemNoImageSvgIconId: \"icon-no-image\",\n column: \"sd-selectbase__column sd-imagepicker__column\",\n checkedItemDecorator: \"sd-imagepicker__check-decorator\",\n checkedItemSvgIcon: \"sd-imagepicker__check-icon\",\n checkedItemSvgIconId: \"icon-v2check_24x24\",\n },\n matrix: {\n mainRoot: \"sd-element sd-question sd-row__question sd-element--complex sd-question--complex sd-question--table\",\n tableWrapper: \"sd-matrix sd-table-wrapper\",\n root: \"sd-table sd-matrix__table\",\n columnsAutoWidth: \"sd-table--columnsautowidth\",\n noHeader: \"sd-table--no-header\",\n rootVerticalAlignTop: \"sd-table--align-top\",\n rootVerticalAlignMiddle: \"sd-table--align-middle\",\n rootAlternateRows: \"sd-table--alternate-rows\",\n rowError: \"sd-matrix__row--error\",\n cell: \"sd-table__cell sd-matrix__cell\",\n row: \"sd-table__row\",\n rowDisabled: \"sd-table__row-disabled\",\n headerCell: \"sd-table__cell sd-table__cell--header\",\n rowTextCell: \"sd-table__cell sd-matrix__cell sd-table__cell--row-text\",\n label: \"sd-item sd-radio sd-matrix__label\",\n itemOnError: \"sd-item--error\",\n itemValue: \"sd-visuallyhidden sd-item__control sd-radio__control\",\n itemChecked: \"sd-item--checked sd-radio--checked\",\n itemDisabled: \"sd-item--disabled sd-radio--disabled\",\n itemHover: \"sd-radio--allowhover\",\n materialDecorator: \"sd-item__decorator sd-radio__decorator\",\n itemDecorator: \"sd-item__svg sd-radio__svg\",\n cellText: \"sd-matrix__text\",\n cellTextSelected: \"sd-matrix__text--checked\",\n cellTextDisabled: \"sd-matrix__text--disabled\",\n cellResponsiveTitle: \"sd-matrix__responsive-title\",\n compact: \"sd-element--with-frame sd-element--compact\"\n },\n matrixdropdown: {\n mainRoot: \"sd-element sd-question sd-row__question sd-element--complex sd-question--complex sd-question--table\",\n rootScroll: \"sd-question--scroll\",\n root: \"sd-table sd-matrixdropdown\",\n columnsAutoWidth: \"sd-table--columnsautowidth\",\n noHeader: \"sd-table--no-header\",\n hasFooter: \"sd-table--has-footer\",\n rootVerticalAlignTop: \"sd-table--align-top\",\n rootVerticalAlignMiddle: \"sd-table--align-middle\",\n tableWrapper: \"sd-table-wrapper\",\n rootAlternateRows: \"sd-table--alternate-rows\",\n cell: \"sd-table__cell\",\n errorsCell: \"sd-table__cell--error\",\n errorsCellTop: \"sd-table__cell--error-top\",\n errorsCellBottom: \"sd-table__cell--error-bottom\",\n itemCell: \"sd-table__cell--item\",\n row: \"sd-table__row\",\n expandedRow: \"sd-table__row--expanded\",\n rowHasPanel: \"sd-table__row--has-panel\",\n rowHasEndActions: \"sd-table__row--has-end-actions\",\n headerCell: \"sd-table__cell sd-table__cell--header\",\n rowTextCell: \"sd-table__cell sd-table__cell--row-text\",\n footerCell: \"sd-table__cell sd-table__cell--footer\",\n footerTotalCell: \"sd-table__cell sd-table__cell--footer-total\",\n columnTitleCell: \"sd-table__cell--column-title\",\n cellRequiredText: \"sd-question__required-text\",\n detailButton: \"sd-table__cell--detail-button\",\n detailButtonExpanded: \"sd-table__cell--detail-button--expanded\",\n detailIcon: \"sd-detail-panel__icon\",\n detailIconExpanded: \"sd-detail-panel__icon--expanded\",\n detailIconId: \"icon-expanddetail\",\n detailIconExpandedId: \"icon-collapsedetail\",\n detailPanelCell: \"sd-table__cell--detail-panel\",\n detailRowCell: \"sd-table__cell--detail\",\n actionsCellPrefix: \"sd-table__cell-action\",\n actionsCell: \"sd-table__cell sd-table__cell--actions\",\n actionsCellDrag: \"sd-table__cell--drag\",\n emptyCell: \"sd-table__cell--empty\",\n verticalCell: \"sd-table__cell--vertical\",\n cellQuestionWrapper: \"sd-table__question-wrapper\",\n compact: \"sd-element--with-frame sd-element--compact\"\n },\n matrixdynamic: {\n mainRoot: \"sd-element sd-question sd-row__question sd-element--complex sd-question--complex sd-question--table\",\n rootScroll: \"sd-question--scroll\",\n empty: \"sd-question--empty\",\n root: \"sd-table sd-matrixdynamic\",\n columnsAutoWidth: \"sd-table--columnsautowidth\",\n noHeader: \"sd-table--no-header\",\n hasFooter: \"sd-table--has-footer\",\n tableWrapper: \"sd-table-wrapper\",\n rootAlternateRows: \"sd-table--alternate-rows\",\n content: \"sd-matrixdynamic__content sd-question__content\",\n cell: \"sd-table__cell\",\n row: \"sd-table__row\",\n rowHasPanel: \"sd-table__row--has-panel\",\n rowHasEndActions: \"sd-table__row--has-end-actions\",\n expandedRow: \"sd-table__row--expanded\",\n itemCell: \"sd-table__cell--item\",\n headerCell: \"sd-table__cell sd-table__cell--header\",\n rowTextCell: \"sd-table__cell sd-table__cell--row-text\",\n footerCell: \"sd-table__cell sd-table__cell--footer\",\n columnTitleCell: \"sd-table__cell--column-title\",\n cellRequiredText: \"sd-question__required-text\",\n button: \"sd-action sd-matrixdynamic__btn\",\n detailRow: \"sd-table__row sd-table__row--detail\",\n detailButton: \"sd-table__cell--detail-button\",\n detailButtonExpanded: \"sd-table__cell--detail-button--expanded\",\n detailIcon: \"sd-detail-panel__icon\",\n detailIconExpanded: \"sd-detail-panel__icon--expanded\",\n detailIconId: \"icon-expanddetail\",\n detailIconExpandedId: \"icon-collapsedetail\",\n detailPanelCell: \"sd-table__cell--detail-panel\",\n detailRowCell: \"sd-table__cell--detail\",\n actionsCellPrefix: \"sd-table__cell-action\",\n actionsCell: \"sd-table__cell sd-table__cell--actions\",\n actionsCellDrag: \"sd-table__cell--drag\",\n buttonAdd: \"sd-matrixdynamic__add-btn\",\n buttonRemove: \"sd-action--negative sd-matrixdynamic__remove-btn\",\n iconAdd: \"sd-hidden\",\n iconRemove: \"\",\n dragElementDecorator: \"sd-drag-element__svg\",\n iconDragElement: \"#icon-v2dragelement_16x16\",\n footer: \"sd-matrixdynamic__footer\",\n emptyRowsSection: \"sd-matrixdynamic__placeholder sd-question__placeholder\",\n iconDrag: \"sv-matrixdynamic__drag-icon\",\n ghostRow: \"sv-matrix-row--drag-drop-ghost-mod\",\n emptyCell: \"sd-table__cell--empty\",\n verticalCell: \"sd-table__cell--vertical\",\n cellQuestionWrapper: \"sd-table__question-wrapper\",\n errorsCell: \"sd-table__cell--error\",\n errorsCellTop: \"sd-table__cell--error-top\",\n errorsCellBottom: \"sd-table__cell--error-bottom\",\n compact: \"sd-element--with-frame sd-element--compact\",\n },\n rating: {\n rootDropdown: \"sd-scrollable-container sd-scrollable-container--compact sd-selectbase\",\n root: \"sd-scrollable-container sd-rating\",\n rootWrappable: \"sd-rating--wrappable\",\n rootLabelsTop: \"sd-rating--labels-top\",\n rootLabelsBottom: \"sd-rating--labels-bottom\",\n rootLabelsDiagonal: \"sd-rating--labels-diagonal\",\n item: \"sd-rating__item\",\n itemOnError: \"sd-rating__item--error\",\n itemHover: \"sd-rating__item--allowhover\",\n selected: \"sd-rating__item--selected\",\n itemStar: \"sd-rating__item-star\",\n itemStarOnError: \"sd-rating__item-star--error\",\n itemStarHover: \"sd-rating__item-star--allowhover\",\n itemStarSelected: \"sd-rating__item-star--selected\",\n itemStarDisabled: \"sd-rating__item-star--disabled\",\n itemStarHighlighted: \"sd-rating__item-star--highlighted\",\n itemStarUnhighlighted: \"sd-rating__item-star--unhighlighted\",\n itemStarSmall: \"sd-rating__item-star--small\",\n itemSmiley: \"sd-rating__item-smiley\",\n itemSmileyOnError: \"sd-rating__item-smiley--error\",\n itemSmileyHover: \"sd-rating__item-smiley--allowhover\",\n itemSmileySelected: \"sd-rating__item-smiley--selected\",\n itemSmileyDisabled: \"sd-rating__item-smiley--disabled\",\n itemSmileyHighlighted: \"sd-rating__item-star--highlighted\",\n itemSmileyScaleColored: \"sd-rating__item-smiley--scale-colored\",\n itemSmileyRateColored: \"sd-rating__item-smiley--rate-colored\",\n itemSmileySmall: \"sd-rating__item-smiley--small\",\n minText: \"sd-rating__item-text sd-rating__min-text\",\n itemText: \"sd-rating__item-text\",\n maxText: \"sd-rating__item-text sd-rating__max-text\",\n itemDisabled: \"sd-rating__item--disabled\",\n itemFixedSize: \"sd-rating__item--fixed-size\",\n control: \"sd-input sd-dropdown\",\n itemSmall: \"sd-rating--small\",\n selectWrapper: \"sv-dropdown_select-wrapper\",\n controlValue: \"sd-dropdown__value\",\n controlDisabled: \"sd-input--disabled\",\n controlEmpty: \"sd-dropdown--empty\",\n filterStringInput: \"sd-dropdown__filter-string-input\",\n chevronButton: \"sd-dropdown_chevron-button\",\n chevronButtonSvg: \"sd-dropdown_chevron-button-svg\",\n chevronButtonIconId: \"icon-chevron\",\n popup: \"sv-dropdown-popup\",\n onError: \"sd-input--error\",\n },\n comment: {\n root: \"sd-input sd-comment\",\n small: \"sd-row__question--small\",\n controlDisabled: \"sd-input--disabled\",\n content: \"sd-comment__content sd-question__content\",\n remainingCharacterCounter: \"sd-remaining-character-counter\",\n onError: \"sd-input--error\"\n },\n expression: \"sd-expression\",\n file: {\n root: \"sd-file\",\n rootDragging: \"sd-file--dragging\",\n rootAnswered: \"sd-file--answered\",\n other: \"sd-input sd-comment\",\n placeholderInput: \"sd-visuallyhidden\",\n preview: \"sd-file__preview\",\n fileSign: \"\",\n fileList: \"sd-file__list\",\n fileSignBottom: \"sd-file__sign\",\n dragArea: \"sd-file__drag-area\",\n dragAreaActive: \"sd-file__drag-area--active\",\n fileDecorator: \"sd-file__decorator\",\n onError: \"sd-file__decorator--error\",\n fileDecoratorDrag: \"sd-file__decorator--drag\",\n fileInput: \"sd-visuallyhidden\",\n noFileChosen: \"sd-description sd-file__no-file-chosen\",\n chooseFile: \"sd-file__choose-btn\",\n chooseFileAsText: \"sd-action sd-file__choose-btn--text\",\n chooseFileAsTextDisabled: \"sd-action--disabled\",\n chooseFileAsIcon: \"sd-file__choose-btn--icon\",\n chooseFileIconId: \"icon-choosefile\",\n disabled: \"sd-file__choose-btn--disabled\",\n controlDisabled: \"sd-file__choose-file-btn--disabled\",\n //todo: remove it in v2\n removeButton: \"sd-context-btn--negative\",\n removeButtonBottom: \"\",\n //\n removeButtonIconId: \"icon-clear\",\n removeFile: \"sd-hidden\",\n removeFileSvg: \"\",\n removeFileSvgIconId: \"icon-delete\",\n wrapper: \"sd-file__wrapper\",\n defaultImage: \"sd-file__default-image\",\n defaultImageIconId: \"icon-defaultfile\",\n leftIconId: \"icon-arrowleft\",\n rightIconId: \"icon-arrowright\",\n removeFileButton: \"sd-context-btn--negative sd-file__remove-file-button\",\n dragAreaPlaceholder: \"sd-file__drag-area-placeholder\",\n imageWrapper: \"sd-file__image-wrapper\",\n imageWrapperDefaultImage: \"sd-file__image-wrapper--default-image\",\n single: \"sd-file--single\",\n singleImage: \"sd-file--single-image\",\n mobile: \"sd-file--mobile\",\n videoContainer: \"sd-file__video-container\",\n contextButton: \"sd-context-btn\",\n video: \"sd-file__video\",\n actionsContainer: \"sd-file__actions-container\",\n closeCameraButton: \"sd-file__close-camera-button\",\n changeCameraButton: \"sd-file__change-camera-button\",\n takePictureButton: \"sd-file__take-picture-button\",\n loadingIndicator: \"sd-file__loading-indicator\",\n },\n signaturepad: {\n mainRoot: \"sd-element sd-question sd-question--signature sd-row__question\",\n root: \"sd-signaturepad sjs_sp_container\",\n small: \"sd-row__question--small\",\n controls: \"sjs_sp_controls sd-signaturepad__controls\",\n placeholder: \"sjs_sp_placeholder\",\n canvas: \"sjs_sp_canvas sd-signaturepad__canvas\",\n backgroundImage: \"sjs_sp__background-image sd-signaturepad__background-image\",\n clearButton: \"sjs_sp_clear sd-context-btn sd-context-btn--negative sd-signaturepad__clear\",\n clearButtonIconId: \"icon-clear\",\n loadingIndicator: \"sd-signaturepad__loading-indicator\"\n },\n saveData: {\n root: \"sv-save-data_root\",\n rootWithButtons: \"sv-save-data_root--with-buttons\",\n info: \"sv-save-data_info\",\n error: \"sv-save-data_error\",\n success: \"sv-save-data_success\",\n button: \"sv-save-data_button\",\n shown: \"sv-save-data_root--shown\"\n },\n window: {\n root: \"sv_window\",\n rootCollapsedMod: \"sv_window--collapsed\",\n rootFullScreenMode: \"sv_window--full-screen\",\n rootContent: \"sv_window_root-content\",\n body: \"sv_window_content\",\n header: {\n root: \"sv_window_header\",\n titleCollapsed: \"sv_window_header_title_collapsed\",\n buttonsContainer: \"sv_window_buttons_container\",\n button: \"sv_window_button\",\n buttonExpanded: \"\",\n buttonCollapsed: \"\",\n collapseButton: \"sv_window_button sv_window_button_collapse\",\n closeButton: \"sv_window_button sv_window_button_close\",\n fullScreenButton: \"sv_window_button sv_window_button_full_screen\"\n }\n },\n ranking: {\n root: \"sv-ranking\",\n rootMobileMod: \"sv-ranking--mobile\",\n rootDragMod: \"sv-ranking--drag\",\n rootDisabled: \"sd-ranking--disabled\",\n rootDesignMode: \"sv-ranking--design-mode\",\n rootDragHandleAreaIcon: \"sv-ranking--drag-handle-area-icon\",\n rootSelectToRankMod: \"sv-ranking--select-to-rank\",\n rootSelectToRankAlignVertical: \"sv-ranking--select-to-rank-vertical\",\n rootSelectToRankAlignHorizontal: \"sv-ranking--select-to-rank-horizontal\",\n item: \"sv-ranking-item\",\n itemContent: \"sv-ranking-item__content sd-ranking-item__content\",\n itemIndex: \"sv-ranking-item__index sd-ranking-item__index\",\n itemIndexEmptyMode: \"sv-ranking-item__index--empty sd-ranking-item__index--empty\",\n // itemText: \"sv-ranking-item__text\",\n itemDisabled: \"sv-ranking-item--disabled\",\n controlLabel: \"sv-ranking-item__text\",\n itemGhostNode: \"sv-ranking-item__ghost\",\n itemIconContainer: \"sv-ranking-item__icon-container\",\n itemIcon: \"sv-ranking-item__icon\",\n itemIconHoverMod: \"sv-ranking-item__icon--hover\",\n itemIconFocusMod: \"sv-ranking-item__icon--focus\",\n itemGhostMod: \"sv-ranking-item--ghost\",\n itemDragMod: \"sv-ranking--drag\",\n itemOnError: \"sv-ranking-item--error\",\n container: \"sv-ranking__container\",\n containerEmptyMode: \"sv-ranking__container--empty\",\n containerFromMode: \"sv-ranking__container--from\",\n containerToMode: \"sv-ranking__container--to\",\n containerPlaceholder: \"sv-ranking__container-placeholder\",\n containersDivider: \"sv-ranking__containers-divider\",\n },\n buttongroup: {\n root: \"sv-button-group\",\n item: \"sv-button-group__item\",\n itemIcon: \"sv-button-group__item-icon\",\n itemDecorator: \"sv-button-group__item-decorator\",\n itemCaption: \"sv-button-group__item-caption\",\n itemHover: \"sv-button-group__item--hover\",\n itemSelected: \"sv-button-group__item--selected\",\n itemDisabled: \"sv-button-group__item--disabled\",\n itemControl: \"sv-visuallyhidden\",\n },\n list: {\n root: \"sv-list__container sd-list\",\n item: \"sv-list__item sd-list__item\",\n itemBody: \"sv-list__item-body sd-list__item-body\",\n itemSelected: \"sv-list__item--selected sd-list__item--selected\",\n itemFocused: \"sv-list__item--focused sd-list__item--focused\",\n },\n actionBar: {\n root: \"sd-action-bar\",\n item: \"sd-action\",\n defaultSizeMode: \"\",\n smallSizeMode: \"\",\n itemPressed: \"sd-action--pressed\",\n itemAsIcon: \"sd-action--icon\",\n itemIcon: \"sd-action__icon\",\n itemTitle: \"sd-action__title\",\n },\n variables: {\n mobileWidth: \"--sd-mobile-width\",\n themeMark: \"--sv-defaultV2-mark\"\n },\n tagbox: {\n root: \"sd-selectbase\",\n popup: \"sv-dropdown-popup\",\n small: \"sd-row__question--small\",\n selectWrapper: \"sv-dropdown_select-wrapper\",\n other: \"sd-input sd-comment sd-selectbase__other\",\n onError: \"sd-input--error\",\n label: \"sd-selectbase__label\",\n itemSvgIconId: \"#icon-v2check\",\n item: \"sd-item sd-checkbox sd-selectbase__item\",\n itemDisabled: \"sd-item--disabled sd-checkbox--disabled\",\n itemChecked: \"sd-item--checked sd-checkbox--checked\",\n itemHover: \"sd-item--allowhover sd-checkbox--allowhover\",\n itemControl: \"sd-visuallyhidden sd-item__control sd-checkbox__control\",\n itemDecorator: \"sd-item__svg sd-checkbox__svg\",\n cleanButton: \"sd-tagbox_clean-button sd-dropdown_clean-button\",\n cleanButtonSvg: \"sd-tagbox_clean-button-svg sd-dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear\",\n cleanItemButton: \"sd-tagbox-item_clean-button\",\n cleanItemButtonSvg: \"sd-tagbox-item_clean-button-svg\",\n cleanItemButtonIconId: \"icon-clear_16x16\",\n chevronButton: \"sd-dropdown_chevron-button\",\n chevronButtonSvg: \"sd-dropdown_chevron-button-svg\",\n chevronButtonIconId: \"icon-chevron\",\n control: \"sd-input sd-tagbox sd-dropdown\",\n controlValue: \"sd-tagbox__value sd-dropdown__value\",\n controlValueItems: \"sd-tagbox__value-items\",\n placeholderInput: \"sd-tagbox__placeholder\",\n controlDisabled: \"sd-input--disabled\",\n controlEmpty: \"sd-dropdown--empty sd-tagbox--empty\",\n controlLabel: \"sd-item__control-label\",\n filterStringInput: \"sd-tagbox__filter-string-input sd-dropdown__filter-string-input\",\n materialDecorator: \"sd-item__decorator sd-checkbox__decorator\",\n hint: \"sd-tagbox__hint\",\n hintPrefix: \"sd-dropdown__hint-prefix sd-tagbox__hint-prefix\",\n hintSuffix: \"sd-dropdown__hint-suffix sd-tagbox__hint-suffix\",\n hintSuffixWrapper: \"sd-tagbox__hint-suffix-wrapper\"\n },\n};\nvar defaultV2ThemeName = \"defaultV2\";\nsurveyCss[defaultV2ThemeName] = defaultV2Css;\n\n\n/***/ }),\n\n/***/ \"./src/defaultTitle.ts\":\n/*!*****************************!*\\\n !*** ./src/defaultTitle.ts ***!\n \\*****************************/\n/*! exports provided: DefaultTitleModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DefaultTitleModel\", function() { return DefaultTitleModel; });\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n\nvar DefaultTitleModel = /** @class */ (function () {\n function DefaultTitleModel() {\n }\n DefaultTitleModel.getIconCss = function (cssClasses, isCollapsed) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_0__[\"CssClassBuilder\"]()\n .append(cssClasses.icon)\n .append(cssClasses.iconExpanded, !isCollapsed)\n .toString();\n };\n return DefaultTitleModel;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/drag-drop-helper-v1.ts\":\n/*!************************************!*\\\n !*** ./src/drag-drop-helper-v1.ts ***!\n \\************************************/\n/*! exports provided: DragDropInfo */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropInfo\", function() { return DragDropInfo; });\nvar DragDropInfo = /** @class */ (function () {\n function DragDropInfo(source, target, nestedPanelDepth) {\n if (nestedPanelDepth === void 0) { nestedPanelDepth = -1; }\n this.source = source;\n this.target = target;\n this.nestedPanelDepth = nestedPanelDepth;\n }\n return DragDropInfo;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/drag-drop-page-helper-v1.ts\":\n/*!*****************************************!*\\\n !*** ./src/drag-drop-page-helper-v1.ts ***!\n \\*****************************************/\n/*! exports provided: DragDropPageHelperV1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropPageHelperV1\", function() { return DragDropPageHelperV1; });\n/* harmony import */ var _drag_drop_helper_v1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./drag-drop-helper-v1 */ \"./src/drag-drop-helper-v1.ts\");\n\nvar DragDropPageHelperV1 = /** @class */ (function () {\n function DragDropPageHelperV1(page) {\n this.page = page;\n }\n DragDropPageHelperV1.prototype.getDragDropInfo = function () { return this.dragDropInfo; };\n DragDropPageHelperV1.prototype.dragDropStart = function (src, target, nestedPanelDepth) {\n if (nestedPanelDepth === void 0) { nestedPanelDepth = -1; }\n this.dragDropInfo = new _drag_drop_helper_v1__WEBPACK_IMPORTED_MODULE_0__[\"DragDropInfo\"](src, target, nestedPanelDepth);\n };\n DragDropPageHelperV1.prototype.dragDropMoveTo = function (destination, isBottom, isEdge) {\n if (isBottom === void 0) { isBottom = false; }\n if (isEdge === void 0) { isEdge = false; }\n if (!this.dragDropInfo)\n return false;\n this.dragDropInfo.destination = destination;\n this.dragDropInfo.isBottom = isBottom;\n this.dragDropInfo.isEdge = isEdge;\n this.correctDragDropInfo(this.dragDropInfo);\n if (!this.dragDropCanDropTagert())\n return false;\n if (!this.dragDropCanDropSource() || !this.dragDropAllowFromSurvey()) {\n if (!!this.dragDropInfo.source) {\n var row = this.page.dragDropFindRow(this.dragDropInfo.target);\n this.page.updateRowsRemoveElementFromRow(this.dragDropInfo.target, row);\n }\n return false;\n }\n this.page.dragDropAddTarget(this.dragDropInfo);\n return true;\n };\n DragDropPageHelperV1.prototype.correctDragDropInfo = function (dragDropInfo) {\n if (!dragDropInfo.destination)\n return;\n var panel = dragDropInfo.destination.isPanel\n ? dragDropInfo.destination\n : null;\n if (!panel)\n return;\n if (!dragDropInfo.target.isLayoutTypeSupported(panel.getChildrenLayoutType())) {\n dragDropInfo.isEdge = true;\n }\n };\n DragDropPageHelperV1.prototype.dragDropAllowFromSurvey = function () {\n var dest = this.dragDropInfo.destination;\n if (!dest || !this.page.survey)\n return true;\n var insertBefore = null;\n var insertAfter = null;\n var parent = dest.isPage || (!this.dragDropInfo.isEdge && dest.isPanel)\n ? dest\n : dest.parent;\n if (!dest.isPage) {\n var container = dest.parent;\n if (!!container) {\n var elements = container.elements;\n var index = elements.indexOf(dest);\n if (index > -1) {\n insertBefore = dest;\n insertAfter = dest;\n if (this.dragDropInfo.isBottom) {\n insertBefore =\n index < elements.length - 1 ? elements[index + 1] : null;\n }\n else {\n insertAfter = index > 0 ? elements[index - 1] : null;\n }\n }\n }\n }\n var options = {\n allow: true,\n target: this.dragDropInfo.target,\n source: this.dragDropInfo.source,\n toElement: this.dragDropInfo.target,\n draggedElement: this.dragDropInfo.source,\n parent: parent,\n fromElement: this.dragDropInfo.source ? this.dragDropInfo.source.parent : null,\n insertAfter: insertAfter,\n insertBefore: insertBefore,\n };\n return this.page.survey.dragAndDropAllow(options);\n };\n DragDropPageHelperV1.prototype.dragDropFinish = function (isCancel) {\n if (isCancel === void 0) { isCancel = false; }\n if (!this.dragDropInfo)\n return;\n var target = this.dragDropInfo.target;\n var src = this.dragDropInfo.source;\n var dest = this.dragDropInfo.destination;\n var row = this.page.dragDropFindRow(target);\n var targetIndex = this.dragDropGetElementIndex(target, row);\n this.page.updateRowsRemoveElementFromRow(target, row);\n var elementsToSetSWNL = [];\n var elementsToResetSWNL = [];\n if (!isCancel && !!row) {\n var isSamePanel = false;\n if (this.page.isDesignModeV2) {\n var srcRow = src && src.parent && src.parent.dragDropFindRow(src);\n if (row.panel.elements[targetIndex] && row.panel.elements[targetIndex].startWithNewLine && row.elements.length > 1 && row.panel.elements[targetIndex] === dest) {\n elementsToSetSWNL.push(target);\n elementsToResetSWNL.push(row.panel.elements[targetIndex]);\n }\n if (target.startWithNewLine && row.elements.length > 1 && (!row.panel.elements[targetIndex] || !row.panel.elements[targetIndex].startWithNewLine)) {\n elementsToResetSWNL.push(target);\n }\n if (srcRow && srcRow.elements[0] === src && srcRow.elements[1]) {\n elementsToSetSWNL.push(srcRow.elements[1]);\n }\n if (row.elements.length <= 1) {\n elementsToSetSWNL.push(target);\n }\n if (target.startWithNewLine && row.elements.length > 1 && row.elements[0] !== dest) {\n elementsToResetSWNL.push(target);\n }\n }\n this.page.survey.startMovingQuestion();\n if (!!src && !!src.parent) {\n isSamePanel = row.panel == src.parent;\n if (isSamePanel) {\n row.panel.dragDropMoveElement(src, target, targetIndex);\n targetIndex = -1;\n }\n else {\n src.parent.removeElement(src);\n }\n }\n if (targetIndex > -1) {\n row.panel.addElement(target, targetIndex);\n }\n this.page.survey.stopMovingQuestion();\n }\n elementsToSetSWNL.map(function (e) { e.startWithNewLine = true; });\n elementsToResetSWNL.map(function (e) { e.startWithNewLine = false; });\n this.dragDropInfo = null;\n return !isCancel ? target : null;\n };\n DragDropPageHelperV1.prototype.dragDropGetElementIndex = function (target, row) {\n if (!row)\n return -1;\n var index = row.elements.indexOf(target);\n if (row.index == 0)\n return index;\n var prevRow = row.panel.rows[row.index - 1];\n var prevElement = prevRow.elements[prevRow.elements.length - 1];\n return index + row.panel.elements.indexOf(prevElement) + 1;\n };\n DragDropPageHelperV1.prototype.dragDropCanDropTagert = function () {\n var destination = this.dragDropInfo.destination;\n if (!destination || destination.isPage)\n return true;\n return this.dragDropCanDropCore(this.dragDropInfo.target, destination);\n };\n DragDropPageHelperV1.prototype.dragDropCanDropSource = function () {\n var source = this.dragDropInfo.source;\n if (!source)\n return true;\n var destination = this.dragDropInfo.destination;\n if (!this.dragDropCanDropCore(source, destination))\n return false;\n if (this.page.isDesignModeV2) {\n var rowSource = this.page.dragDropFindRow(source);\n var rowDestination = this.page.dragDropFindRow(destination);\n if (rowSource !== rowDestination) {\n if (!source.startWithNewLine && destination.startWithNewLine)\n return true;\n if (source.startWithNewLine && !destination.startWithNewLine) {\n return true;\n }\n }\n var row = this.page.dragDropFindRow(destination);\n if (row && row.elements.length == 1)\n return true;\n }\n return this.dragDropCanDropNotNext(source, destination, this.dragDropInfo.isEdge, this.dragDropInfo.isBottom);\n };\n DragDropPageHelperV1.prototype.dragDropCanDropCore = function (target, destination) {\n if (!destination)\n return true;\n if (this.dragDropIsSameElement(destination, target))\n return false;\n if (target.isPanel) {\n var pnl = target;\n if (pnl.containsElement(destination) ||\n !!pnl.getElementByName(destination.name))\n return false;\n }\n return true;\n };\n DragDropPageHelperV1.prototype.dragDropCanDropNotNext = function (source, destination, isEdge, isBottom) {\n if (!destination || (destination.isPanel && !isEdge))\n return true;\n if (typeof source.parent === \"undefined\" || source.parent !== destination.parent)\n return true;\n var pnl = source.parent;\n var srcIndex = pnl.elements.indexOf(source);\n var destIndex = pnl.elements.indexOf(destination);\n if (destIndex < srcIndex && !isBottom)\n destIndex--;\n if (isBottom)\n destIndex++;\n return srcIndex < destIndex\n ? destIndex - srcIndex > 1\n : srcIndex - destIndex > 0;\n };\n DragDropPageHelperV1.prototype.dragDropIsSameElement = function (el1, el2) {\n return el1 == el2 || el1.name == el2.name;\n };\n return DragDropPageHelperV1;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/drag-drop-panel-helper-v1.ts\":\n/*!******************************************!*\\\n !*** ./src/drag-drop-panel-helper-v1.ts ***!\n \\******************************************/\n/*! exports provided: DragDropPanelHelperV1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropPanelHelperV1\", function() { return DragDropPanelHelperV1; });\n/* harmony import */ var _drag_drop_helper_v1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./drag-drop-helper-v1 */ \"./src/drag-drop-helper-v1.ts\");\n\nvar DragDropPanelHelperV1 = /** @class */ (function () {\n function DragDropPanelHelperV1(panel) {\n this.panel = panel;\n }\n DragDropPanelHelperV1.prototype.dragDropAddTarget = function (dragDropInfo) {\n var prevRow = this.dragDropFindRow(dragDropInfo.target);\n if (this.dragDropAddTargetToRow(dragDropInfo, prevRow)) {\n this.panel.updateRowsRemoveElementFromRow(dragDropInfo.target, prevRow);\n }\n };\n DragDropPanelHelperV1.prototype.dragDropFindRow = function (findElement) {\n if (!findElement || findElement.isPage)\n return null;\n var element = findElement;\n var rows = this.panel.rows;\n for (var i = 0; i < rows.length; i++) {\n if (rows[i].elements.indexOf(element) > -1)\n return rows[i];\n }\n for (var i = 0; i < this.panel.elements.length; i++) {\n var pnl = this.panel.elements[i].getPanel();\n if (!pnl)\n continue;\n var row = pnl.dragDropFindRow(element);\n if (!!row)\n return row;\n }\n return null;\n };\n DragDropPanelHelperV1.prototype.dragDropMoveElement = function (src, target, targetIndex) {\n var srcIndex = src.parent.elements.indexOf(src);\n if (targetIndex > srcIndex) {\n targetIndex--;\n }\n this.panel.removeElement(src);\n this.panel.addElement(target, targetIndex);\n };\n DragDropPanelHelperV1.prototype.updateRowsOnElementAdded = function (element, index, dragDropInfo, thisElement) {\n if (!dragDropInfo) {\n dragDropInfo = new _drag_drop_helper_v1__WEBPACK_IMPORTED_MODULE_0__[\"DragDropInfo\"](null, element);\n dragDropInfo.target = element;\n dragDropInfo.isEdge = this.panel.elements.length > 1;\n if (this.panel.elements.length < 2) {\n dragDropInfo.destination = thisElement;\n }\n else {\n dragDropInfo.isBottom = index > 0;\n if (index == 0) {\n dragDropInfo.destination = this.panel.elements[1];\n }\n else {\n dragDropInfo.destination = this.panel.elements[index - 1];\n }\n }\n }\n this.dragDropAddTargetToRow(dragDropInfo, null);\n };\n DragDropPanelHelperV1.prototype.dragDropAddTargetToRow = function (dragDropInfo, prevRow) {\n if (!dragDropInfo.destination)\n return true;\n if (this.dragDropAddTargetToEmptyPanel(dragDropInfo))\n return true;\n var dest = dragDropInfo.destination;\n var destRow = this.dragDropFindRow(dest);\n if (!destRow)\n return true;\n // if (settings.supportCreatorV2 && this.panel.isDesignMode) {\n // if (destRow.elements.length > 1)\n // return this.dragDropAddTargetToExistingRow(\n // dragDropInfo,\n // destRow,\n // prevRow\n // );\n // else\n // return this.dragDropAddTargetToNewRow(dragDropInfo, destRow, prevRow);\n // }\n if (!dragDropInfo.target.startWithNewLine)\n return this.dragDropAddTargetToExistingRow(dragDropInfo, destRow, prevRow);\n return this.dragDropAddTargetToNewRow(dragDropInfo, destRow, prevRow);\n };\n DragDropPanelHelperV1.prototype.dragDropAddTargetToEmptyPanel = function (dragDropInfo) {\n if (dragDropInfo.destination.isPage) {\n this.dragDropAddTargetToEmptyPanelCore(this.panel.root, dragDropInfo.target, dragDropInfo.isBottom);\n return true;\n }\n var dest = dragDropInfo.destination;\n if (dest.isPanel && !dragDropInfo.isEdge) {\n var panel = dest;\n if (dragDropInfo.target[\"template\"] === dest) {\n return false;\n }\n if (dragDropInfo.nestedPanelDepth < 0 ||\n dragDropInfo.nestedPanelDepth >= panel.depth) {\n this.dragDropAddTargetToEmptyPanelCore(dest, dragDropInfo.target, dragDropInfo.isBottom);\n return true;\n }\n }\n return false;\n };\n DragDropPanelHelperV1.prototype.dragDropAddTargetToExistingRow = function (dragDropInfo, destRow, prevRow) {\n var index = destRow.elements.indexOf(dragDropInfo.destination);\n if (index == 0 &&\n !dragDropInfo.isBottom) {\n if (this.panel.isDesignModeV2) {\n }\n else if (destRow.elements[0].startWithNewLine) {\n if (destRow.index > 0) {\n dragDropInfo.isBottom = true;\n destRow = destRow.panel.rows[destRow.index - 1];\n dragDropInfo.destination =\n destRow.elements[destRow.elements.length - 1];\n return this.dragDropAddTargetToExistingRow(dragDropInfo, destRow, prevRow);\n }\n else {\n return this.dragDropAddTargetToNewRow(dragDropInfo, destRow, prevRow);\n }\n }\n }\n var prevRowIndex = -1;\n if (prevRow == destRow) {\n prevRowIndex = destRow.elements.indexOf(dragDropInfo.target);\n }\n if (dragDropInfo.isBottom)\n index++;\n var srcRow = this.panel.findRowByElement(dragDropInfo.source);\n if (srcRow == destRow &&\n srcRow.elements.indexOf(dragDropInfo.source) == index)\n return false;\n if (index == prevRowIndex)\n return false;\n if (prevRowIndex > -1) {\n destRow.elements.splice(prevRowIndex, 1);\n if (prevRowIndex < index)\n index--;\n }\n destRow.elements.splice(index, 0, dragDropInfo.target);\n destRow.updateVisible();\n return prevRowIndex < 0;\n };\n DragDropPanelHelperV1.prototype.dragDropAddTargetToNewRow = function (dragDropInfo, destRow, prevRow) {\n var targetRow = destRow.panel.createRowAndSetLazy(destRow.panel.rows.length);\n if (this.panel.isDesignModeV2) {\n targetRow.setIsLazyRendering(false);\n }\n targetRow.addElement(dragDropInfo.target);\n var index = destRow.index;\n if (dragDropInfo.isBottom) {\n index++;\n }\n //same row\n if (!!prevRow && prevRow.panel == targetRow.panel && prevRow.index == index)\n return false;\n var srcRow = this.panel.findRowByElement(dragDropInfo.source);\n if (!!srcRow &&\n srcRow.panel == targetRow.panel &&\n srcRow.elements.length == 1 &&\n srcRow.index == index)\n return false;\n destRow.panel.rows.splice(index, 0, targetRow);\n return true;\n };\n DragDropPanelHelperV1.prototype.dragDropAddTargetToEmptyPanelCore = function (panel, target, isBottom) {\n var targetRow = panel.createRow();\n targetRow.addElement(target);\n if (panel.elements.length == 0 || isBottom) {\n panel.rows.push(targetRow);\n }\n else {\n panel.rows.splice(0, 0, targetRow);\n }\n };\n return DragDropPanelHelperV1;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/dragdrop/choices.ts\":\n/*!*********************************!*\\\n !*** ./src/dragdrop/choices.ts ***!\n \\*********************************/\n/*! exports provided: DragDropChoices */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropChoices\", function() { return DragDropChoices; });\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core */ \"./src/dragdrop/core.ts\");\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../global_variables_utils */ \"./src/global_variables_utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar DragDropChoices = /** @class */ (function (_super) {\n __extends(DragDropChoices, _super);\n function DragDropChoices() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.doDragOver = function () {\n if (_this.parentElement.getType() === \"imagepicker\")\n return;\n var node = _this.domAdapter.draggedElementShortcut.querySelector(\".svc-item-value-controls__button\");\n node.style.cursor = \"grabbing\";\n };\n _this.doBanDropHere = function () {\n if (_this.parentElement.getType() === \"imagepicker\")\n return;\n var node = _this.domAdapter.draggedElementShortcut.querySelector(\".svc-item-value-controls__button\");\n node.style.cursor = \"not-allowed\";\n };\n return _this;\n }\n Object.defineProperty(DragDropChoices.prototype, \"draggedElementType\", {\n get: function () {\n return \"item-value\";\n },\n enumerable: false,\n configurable: true\n });\n DragDropChoices.prototype.createDraggedElementShortcut = function (text, draggedElementNode, event) {\n if (this.parentElement.getType() === \"imagepicker\") {\n return this.createImagePickerShortcut(this.draggedElement, text, draggedElementNode, event);\n }\n var draggedElementShortcut = _global_variables_utils__WEBPACK_IMPORTED_MODULE_1__[\"DomDocumentHelper\"].createElement(\"div\");\n if (!draggedElementShortcut)\n return;\n // draggedElementShortcut.innerText = text;\n draggedElementShortcut.style.cssText = \" \\n cursor: grabbing;\\n position: absolute;\\n z-index: 10000;\\n font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));\\n \";\n var isDeepClone = true;\n var clone = (draggedElementNode\n .closest(\"[data-sv-drop-target-item-value]\")\n .cloneNode(isDeepClone));\n clone.style.cssText = \"\\n min-width: 100px;\\n box-shadow: var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));\\n background-color: var(--sjs-general-backcolor, var(--background, #fff));\\n border-radius: calc(4.5 * var(--sjs-base-unit, var(--base-unit, 8px)));\\n padding-right: calc(2* var(--sjs-base-unit, var(--base-unit, 8px)));\\n margin-left: 0;\\n \";\n var dragIcon = clone.querySelector(\".svc-item-value-controls__drag-icon\");\n dragIcon.style.visibility = \"visible\";\n var removeIcon = clone.querySelector(\".svc-item-value-controls__remove\");\n removeIcon.style.backgroundColor = \"transparent\";\n clone.classList.remove(\"svc-item-value--moveup\");\n clone.classList.remove(\"svc-item-value--movedown\");\n this.draggedElement.isDragDropMoveDown = false;\n this.draggedElement.isDragDropMoveUp = false;\n draggedElementShortcut.appendChild(clone);\n var rect = draggedElementNode.getBoundingClientRect();\n draggedElementShortcut.shortcutXOffset = event.clientX - rect.x;\n draggedElementShortcut.shortcutYOffset = event.clientY - rect.y;\n this.isBottom = null;\n return draggedElementShortcut;\n };\n DragDropChoices.prototype.createImagePickerShortcut = function (item, text, draggedElementNode, event) {\n var draggedElementShortcut = _global_variables_utils__WEBPACK_IMPORTED_MODULE_1__[\"DomDocumentHelper\"].createElement(\"div\");\n if (!draggedElementShortcut)\n return;\n draggedElementShortcut.style.cssText = \" \\n cursor: grabbing;\\n position: absolute;\\n z-index: 10000;\\n box-shadow: var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));\\n background-color: var(--sjs-general-backcolor, var(--background, #fff));\\n padding: calc(0.5 * var(--sjs-base-unit, var(--base-unit, 8px)));\\n border-radius: calc(0.5 * var(--sjs-base-unit, var(--base-unit, 8px)));\\n \";\n var itemValueNode = draggedElementNode.closest(\"[data-sv-drop-target-item-value]\");\n this.imagepickerControlsNode = itemValueNode.querySelector(\".svc-image-item-value-controls\");\n var imageContainerNode = itemValueNode.querySelector(\".sd-imagepicker__image-container\");\n var imageNode = itemValueNode.querySelector(item.imageLink ? \"img\" : \".sd-imagepicker__no-image\").cloneNode(true);\n if (!!this.imagepickerControlsNode) {\n this.imagepickerControlsNode.style.display = \"none\";\n }\n imageContainerNode.style.width = imageNode.width + \"px\";\n imageContainerNode.style.height = imageNode.height + \"px\";\n imageNode.style.objectFit = \"cover\";\n imageNode.style.borderRadius = \"4px\";\n draggedElementShortcut.appendChild(imageNode);\n return draggedElementShortcut;\n };\n DragDropChoices.prototype.getDropTargetByDataAttributeValue = function (dataAttributeValue) {\n var dragOverChoice;\n dragOverChoice = this.parentElement.choices.filter(function (choice) { return \"\" + choice.value == dataAttributeValue; })[0];\n return dragOverChoice;\n };\n DragDropChoices.prototype.getVisibleChoices = function () {\n var parent = this.parentElement;\n if (parent.getType() === \"ranking\") {\n if (parent.selectToRankEnabled) {\n return parent.visibleChoices;\n }\n else {\n return parent.rankingChoices;\n }\n }\n return parent.visibleChoices;\n };\n DragDropChoices.prototype.isDropTargetValid = function (dropTarget, dropTargetNode) {\n var choices = this.getVisibleChoices();\n if (this.parentElement.getType() !== \"imagepicker\") {\n var dropTargetIndex = choices.indexOf(this.dropTarget);\n var draggedElementIndex = choices.indexOf(this.draggedElement);\n if (draggedElementIndex > dropTargetIndex && this.dropTarget.isDragDropMoveUp) {\n this.dropTarget.isDragDropMoveUp = false;\n return false;\n }\n if (draggedElementIndex < dropTargetIndex && this.dropTarget.isDragDropMoveDown) {\n this.dropTarget.isDragDropMoveDown = false;\n return false;\n }\n }\n // shouldn't allow to drop on \"adorners\" (selectall, none, other)\n if (choices.indexOf(dropTarget) === -1)\n return false;\n return true;\n };\n DragDropChoices.prototype.calculateIsBottom = function (clientY) {\n var choices = this.getVisibleChoices();\n return (choices.indexOf(this.dropTarget) - choices.indexOf(this.draggedElement) >\n 0);\n };\n DragDropChoices.prototype.afterDragOver = function (dropTargetNode) {\n if (this.isDropTargetDoesntChanged(this.isBottom))\n return;\n var choices = this.getVisibleChoices();\n var dropTargetIndex = choices.indexOf(this.dropTarget);\n var draggedElementIndex = choices.indexOf(this.draggedElement);\n choices.splice(draggedElementIndex, 1);\n choices.splice(dropTargetIndex, 0, this.draggedElement);\n if (this.parentElement.getType() === \"imagepicker\")\n return;\n if (draggedElementIndex !== dropTargetIndex) {\n dropTargetNode.classList.remove(\"svc-item-value--moveup\");\n dropTargetNode.classList.remove(\"svc-item-value--movedown\");\n this.dropTarget.isDragDropMoveDown = false;\n this.dropTarget.isDragDropMoveUp = false;\n }\n if (draggedElementIndex > dropTargetIndex) {\n this.dropTarget.isDragDropMoveDown = true;\n }\n if (draggedElementIndex < dropTargetIndex) {\n this.dropTarget.isDragDropMoveUp = true;\n }\n _super.prototype.ghostPositionChanged.call(this);\n };\n DragDropChoices.prototype.doDrop = function () {\n var choices = this.parentElement.choices;\n var filteredChoices = this.getVisibleChoices().filter(function (item) {\n return choices.indexOf(item) !== -1;\n });\n var oldIndex = choices.indexOf(this.draggedElement);\n var newIndex = filteredChoices.indexOf(this.draggedElement);\n choices.splice(oldIndex, 1);\n choices.splice(newIndex, 0, this.draggedElement);\n return this.parentElement;\n };\n DragDropChoices.prototype.clear = function () {\n if (!!this.parentElement) {\n this.updateVisibleChoices(this.parentElement);\n }\n if (!!this.imagepickerControlsNode) {\n this.imagepickerControlsNode.style.display = \"flex\";\n this.imagepickerControlsNode = null;\n }\n _super.prototype.clear.call(this);\n };\n DragDropChoices.prototype.updateVisibleChoices = function (parent) {\n parent.getType() === \"ranking\" ?\n parent.updateRankingChoices() :\n parent[\"updateVisibleChoices\"]();\n };\n return DragDropChoices;\n}(_core__WEBPACK_IMPORTED_MODULE_0__[\"DragDropCore\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/dragdrop/core.ts\":\n/*!******************************!*\\\n !*** ./src/dragdrop/core.ts ***!\n \\******************************/\n/*! exports provided: DragDropCore */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropCore\", function() { return DragDropCore; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../base */ \"./src/base.ts\");\n/* harmony import */ var _dom_adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dom-adapter */ \"./src/dragdrop/dom-adapter.ts\");\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../global_variables_utils */ \"./src/global_variables_utils.ts\");\n\n\n\nvar DragDropCore = /** @class */ (function () {\n function DragDropCore(surveyValue, creator, longTap, domAdapter) {\n var _this = this;\n var _a;\n this.surveyValue = surveyValue;\n this.creator = creator;\n this._isBottom = null;\n this.onGhostPositionChanged = new _base__WEBPACK_IMPORTED_MODULE_0__[\"EventBase\"]();\n this.onDragStart = new _base__WEBPACK_IMPORTED_MODULE_0__[\"EventBase\"]();\n this.onDragEnd = new _base__WEBPACK_IMPORTED_MODULE_0__[\"EventBase\"]();\n this.onBeforeDrop = this.onDragStart;\n this.onAfterDrop = this.onDragEnd;\n this.draggedElement = null;\n this.dropTarget = null;\n this.prevDropTarget = null;\n this.allowDropHere = false;\n this.banDropHere = function () {\n _this.allowDropHere = false;\n _this.doBanDropHere();\n _this.dropTarget = null;\n _this.domAdapter.draggedElementShortcut.style.cursor = \"not-allowed\";\n _this.isBottom = null;\n };\n this.doBanDropHere = function () { };\n this.domAdapter = domAdapter || new _dom_adapter__WEBPACK_IMPORTED_MODULE_1__[\"DragDropDOMAdapter\"](this, longTap, (_a = this.survey) === null || _a === void 0 ? void 0 : _a.fitToContainer);\n }\n Object.defineProperty(DragDropCore.prototype, \"isBottom\", {\n get: function () {\n return !!this._isBottom;\n },\n set: function (val) {\n this._isBottom = val;\n this.ghostPositionChanged();\n },\n enumerable: false,\n configurable: true\n });\n DragDropCore.prototype.ghostPositionChanged = function () {\n this.onGhostPositionChanged.fire({}, {});\n };\n Object.defineProperty(DragDropCore.prototype, \"dropTargetDataAttributeName\", {\n get: function () {\n return \"[data-sv-drop-target-\" + this.draggedElementType + \"]\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DragDropCore.prototype, \"survey\", {\n get: function () {\n var _a;\n return this.surveyValue || ((_a = this.creator) === null || _a === void 0 ? void 0 : _a.survey);\n },\n enumerable: false,\n configurable: true\n });\n DragDropCore.prototype.startDrag = function (event, draggedElement, parentElement, draggedElementNode, preventSaveTargetNode) {\n if (preventSaveTargetNode === void 0) { preventSaveTargetNode = false; }\n this.domAdapter.rootContainer = this.getRootElement(this.survey, this.creator);\n this.domAdapter.startDrag(event, draggedElement, parentElement, draggedElementNode, preventSaveTargetNode);\n };\n DragDropCore.prototype.getRootElement = function (survey, creator) {\n return creator ? creator.rootElement : survey.rootElement;\n };\n DragDropCore.prototype.dragInit = function (event, draggedElement, parentElement, draggedElementNode) {\n this.draggedElement = draggedElement;\n this.parentElement = parentElement;\n var shortcutText = this.getShortcutText(this.draggedElement);\n this.domAdapter.draggedElementShortcut = this.createDraggedElementShortcut(shortcutText, draggedElementNode, event);\n this.onStartDrag(event);\n };\n DragDropCore.prototype.onStartDrag = function (event) {\n };\n DragDropCore.prototype.isDropTargetDoesntChanged = function (newIsBottom) {\n return (this.dropTarget === this.prevDropTarget && newIsBottom === this.isBottom);\n };\n DragDropCore.prototype.getShortcutText = function (draggedElement) {\n return draggedElement.shortcutText;\n };\n DragDropCore.prototype.createDraggedElementShortcut = function (text, draggedElementNode, event) {\n var draggedElementShortcut = _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__[\"DomDocumentHelper\"].createElement(\"div\");\n if (!!draggedElementShortcut) {\n draggedElementShortcut.innerText = text;\n draggedElementShortcut.className = this.getDraggedElementClass();\n }\n return draggedElementShortcut;\n };\n DragDropCore.prototype.getDraggedElementClass = function () {\n return \"sv-dragged-element-shortcut\";\n };\n DragDropCore.prototype.doDragOver = function () { };\n DragDropCore.prototype.afterDragOver = function (dropTargetNode) { };\n DragDropCore.prototype.findDropTargetNodeFromPoint = function (clientX, clientY) {\n var displayProp = this.domAdapter.draggedElementShortcut.style.display;\n //this.domAdapter.draggedElementShortcut.hidden = true;\n this.domAdapter.draggedElementShortcut.style.display = \"none\";\n if (!_global_variables_utils__WEBPACK_IMPORTED_MODULE_2__[\"DomDocumentHelper\"].isAvailable())\n return null;\n var dragOverNode = this.domAdapter.documentOrShadowRoot.elementFromPoint(clientX, clientY);\n // this.domAdapter.draggedElementShortcut.hidden = false;\n this.domAdapter.draggedElementShortcut.style.display = displayProp || \"block\";\n if (!dragOverNode)\n return null;\n return this.findDropTargetNodeByDragOverNode(dragOverNode);\n };\n DragDropCore.prototype.getDataAttributeValueByNode = function (node) {\n var _this = this;\n var datasetName = \"svDropTarget\";\n var words = this.draggedElementType.split(\"-\");\n words.forEach(function (word) {\n datasetName += _this.capitalizeFirstLetter(word);\n });\n return node.dataset[datasetName];\n };\n DragDropCore.prototype.getDropTargetByNode = function (dropTargetNode, event) {\n var dataAttributeValue = this.getDataAttributeValueByNode(dropTargetNode);\n return this.getDropTargetByDataAttributeValue(dataAttributeValue, dropTargetNode, event);\n };\n DragDropCore.prototype.capitalizeFirstLetter = function (string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n };\n DragDropCore.prototype.calculateVerticalMiddleOfHTMLElement = function (HTMLElement) {\n var rect = HTMLElement.getBoundingClientRect();\n return rect.y + rect.height / 2;\n };\n DragDropCore.prototype.calculateHorizontalMiddleOfHTMLElement = function (HTMLElement) {\n var rect = HTMLElement.getBoundingClientRect();\n return rect.x + rect.width / 2;\n };\n DragDropCore.prototype.calculateIsBottom = function (clientY, dropTargetNode) {\n return false;\n };\n DragDropCore.prototype.findDropTargetNodeByDragOverNode = function (dragOverNode) {\n var dropTargetNode = dragOverNode.closest(this.dropTargetDataAttributeName);\n return dropTargetNode;\n };\n DragDropCore.prototype.dragOver = function (event) {\n var dropTargetNode = this.findDropTargetNodeFromPoint(event.clientX, event.clientY);\n if (!dropTargetNode) {\n this.banDropHere();\n return;\n }\n this.dropTarget = this.getDropTargetByNode(dropTargetNode, event);\n var isDropTargetValid = this.isDropTargetValid(this.dropTarget, dropTargetNode);\n this.doDragOver();\n if (!isDropTargetValid) {\n this.banDropHere();\n return;\n }\n var isBottom = this.calculateIsBottom(event.clientY, dropTargetNode);\n this.allowDropHere = true;\n if (this.isDropTargetDoesntChanged(isBottom))\n return;\n this.isBottom = null; //TODO need for property change trigger with guarantee but it would be better not to watch on isBottom property but have some event like onValidTargetDragOver\n this.isBottom = isBottom;\n if (this.draggedElement != this.dropTarget) {\n this.afterDragOver(dropTargetNode);\n }\n this.prevDropTarget = this.dropTarget;\n };\n DragDropCore.prototype.drop = function () {\n if (this.allowDropHere) {\n var fromElement = this.draggedElement.parent;\n this.onDragStart.fire(this, { fromElement: fromElement, draggedElement: this.draggedElement });\n var newElement = this.doDrop();\n this.onDragEnd.fire(this, { fromElement: fromElement, draggedElement: newElement, toElement: this.dropTarget });\n }\n };\n DragDropCore.prototype.clear = function () {\n this.dropTarget = null;\n this.prevDropTarget = null;\n this.draggedElement = null;\n this.isBottom = null;\n this.parentElement = null;\n };\n return DragDropCore;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/dragdrop/dom-adapter.ts\":\n/*!*************************************!*\\\n !*** ./src/dragdrop/dom-adapter.ts ***!\n \\*************************************/\n/*! exports provided: DragDropDOMAdapter */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropDOMAdapter\", function() { return DragDropDOMAdapter; });\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/utils */ \"./src/utils/utils.ts\");\n/* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/devices */ \"./src/utils/devices.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../settings */ \"./src/settings.ts\");\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\n/* eslint-disable no-restricted-globals */\n\n\n\n// WebKit requires cancelable `touchmove` events to be added as early as possible\n// see https://bugs.webkit.org/show_bug.cgi?id=184250\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"touchmove\", function (event) {\n if (!DragDropDOMAdapter.PreventScrolling) {\n return;\n }\n // Prevent scrolling\n event.preventDefault();\n }, { passive: false });\n}\nvar DragDropDOMAdapter = /** @class */ (function () {\n function DragDropDOMAdapter(dd, longTap, fitToContainer) {\n var _this = this;\n if (longTap === void 0) { longTap = true; }\n if (fitToContainer === void 0) { fitToContainer = false; }\n this.dd = dd;\n this.longTap = longTap;\n this.fitToContainer = fitToContainer;\n this.scrollIntervalId = null;\n this.stopLongTapIfMoveEnough = function (pointerMoveEvent) {\n pointerMoveEvent.preventDefault();\n _this.currentX = pointerMoveEvent.pageX;\n _this.currentY = pointerMoveEvent.pageY;\n if (_this.isMicroMovement)\n return;\n _this.returnUserSelectBack();\n _this.stopLongTap();\n };\n this.stopLongTap = function (e) {\n clearTimeout(_this.timeoutID);\n _this.timeoutID = null;\n document.removeEventListener(\"pointerup\", _this.stopLongTap);\n document.removeEventListener(\"pointermove\", _this.stopLongTapIfMoveEnough);\n };\n this.handlePointerCancel = function (event) {\n _this.clear();\n };\n this.handleEscapeButton = function (event) {\n if (event.keyCode == 27) {\n _this.clear();\n }\n };\n this.onContextMenu = function (event) {\n event.preventDefault();\n event.stopPropagation();\n };\n this.dragOver = function (event) {\n _this.moveShortcutElement(event);\n _this.draggedElementShortcut.style.cursor = \"grabbing\";\n _this.dd.dragOver(event);\n };\n this.clear = function () {\n cancelAnimationFrame(_this.scrollIntervalId);\n document.removeEventListener(\"pointermove\", _this.dragOver);\n document.removeEventListener(\"pointercancel\", _this.handlePointerCancel);\n document.removeEventListener(\"keydown\", _this.handleEscapeButton);\n document.removeEventListener(\"pointerup\", _this.drop);\n _this.draggedElementShortcut.removeEventListener(\"pointerup\", _this.drop);\n if (_utils_devices__WEBPACK_IMPORTED_MODULE_1__[\"IsTouch\"]) {\n _this.draggedElementShortcut.removeEventListener(\"contextmenu\", _this.onContextMenu);\n }\n _this.draggedElementShortcut.parentElement.removeChild(_this.draggedElementShortcut);\n _this.dd.clear();\n _this.draggedElementShortcut = null;\n _this.scrollIntervalId = null;\n if (_utils_devices__WEBPACK_IMPORTED_MODULE_1__[\"IsTouch\"]) {\n _this.savedTargetNode.style.cssText = null;\n _this.savedTargetNode && _this.savedTargetNode.parentElement.removeChild(_this.savedTargetNode);\n _this.insertNodeToParentAtIndex(_this.savedTargetNodeParent, _this.savedTargetNode, _this.savedTargetNodeIndex);\n DragDropDOMAdapter.PreventScrolling = false;\n }\n _this.savedTargetNode = null;\n _this.savedTargetNodeParent = null;\n _this.savedTargetNodeIndex = null;\n _this.returnUserSelectBack();\n };\n this.drop = function () {\n _this.dd.drop();\n _this.clear();\n };\n this.draggedElementShortcut = null;\n }\n Object.defineProperty(DragDropDOMAdapter.prototype, \"documentOrShadowRoot\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].environment.root;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DragDropDOMAdapter.prototype, \"rootElement\", {\n get: function () {\n if (Object(_utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"isShadowDOM\"])(_settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].environment.root)) {\n return this.rootContainer || _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].environment.root.host;\n }\n else {\n return this.rootContainer || _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].environment.root.documentElement || document.body;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DragDropDOMAdapter.prototype, \"isMicroMovement\", {\n // see https://stackoverflow.com/questions/6042202/how-to-distinguish-mouse-click-and-drag\n get: function () {\n var delta = 5;\n var diffX = Math.abs(this.currentX - this.startX);\n var diffY = Math.abs(this.currentY - this.startY);\n return diffX < delta && diffY < delta;\n },\n enumerable: false,\n configurable: true\n });\n DragDropDOMAdapter.prototype.startLongTapProcessing = function (event, draggedElement, parentElement, draggedElementNode, preventSaveTargetNode) {\n var _this = this;\n if (preventSaveTargetNode === void 0) { preventSaveTargetNode = false; }\n this.startX = event.pageX;\n this.startY = event.pageY;\n document.body.style.setProperty(\"touch-action\", \"none\", \"important\");\n //document.body.style.setProperty(\"-webkit-touch-callout\", \"none\", \"important\");\n this.timeoutID = setTimeout(function () {\n _this.doStartDrag(event, draggedElement, parentElement, draggedElementNode);\n if (!preventSaveTargetNode) {\n _this.savedTargetNode = event.target;\n _this.savedTargetNode.style.cssText =\n \"\\n position: absolute;\\n height: 1px!important;\\n width: 1px!important;\\n overflow: hidden;\\n clip: rect(1px 1px 1px 1px);\\n clip: rect(1px, 1px, 1px, 1px);\\n \";\n _this.savedTargetNodeParent = _this.savedTargetNode.parentElement;\n _this.savedTargetNodeIndex = _this.getNodeIndexInParent(_this.savedTargetNode);\n _this.rootElement.appendChild(_this.savedTargetNode);\n }\n _this.stopLongTap();\n }, this.longTap ? 500 : 0);\n document.addEventListener(\"pointerup\", this.stopLongTap);\n document.addEventListener(\"pointermove\", this.stopLongTapIfMoveEnough);\n };\n DragDropDOMAdapter.prototype.moveShortcutElement = function (event) {\n var rootElementX = this.rootElement.getBoundingClientRect().x;\n var rootElementY = this.rootElement.getBoundingClientRect().y;\n var rootElementScrollLeft = this.rootElement.scrollLeft;\n var rootElementScrollTop = this.rootElement.scrollTop;\n this.doScroll(event.clientY, event.clientX);\n var shortcutHeight = this.draggedElementShortcut.offsetHeight;\n var shortcutWidth = this.draggedElementShortcut.offsetWidth;\n var shortcutXOffset = this.draggedElementShortcut.shortcutXOffset || shortcutWidth / 2;\n var shortcutYOffset = this.draggedElementShortcut.shortcutYOffset || shortcutHeight / 2;\n // TODO this is hot fix for RTL support. Probably we need better global strategy for it. https://github.com/surveyjs/survey-library/issues/4554\n if (document.querySelectorAll(\"[dir='rtl']\").length !== 0) {\n shortcutXOffset = shortcutWidth / 2;\n shortcutYOffset = shortcutHeight / 2;\n }\n var documentBottom = document.documentElement.clientHeight;\n var documentRight = document.documentElement.clientWidth;\n var pageX = event.pageX;\n var pageY = event.pageY;\n var clientX = event.clientX;\n var clientY = event.clientY;\n if (!!this.fitToContainer) {\n rootElementX -= rootElementScrollLeft;\n rootElementY -= rootElementScrollTop;\n }\n var shortcutBottomCoordinate = this.getShortcutBottomCoordinate(clientY, shortcutHeight, shortcutYOffset);\n var shortcutRightCoordinate = this.getShortcutRightCoordinate(clientX, shortcutWidth, shortcutXOffset);\n if (shortcutRightCoordinate >= documentRight) { // right boundary\n this.draggedElementShortcut.style.left =\n // pageX -\n // clientX +\n documentRight -\n shortcutWidth -\n rootElementX +\n \"px\";\n this.draggedElementShortcut.style.top =\n /*pageY*/ clientY - shortcutYOffset - rootElementY + \"px\";\n return;\n }\n if (clientX - shortcutXOffset <= 0) { // left boundary\n this.draggedElementShortcut.style.left =\n pageX - clientX - rootElementX + \"px\";\n this.draggedElementShortcut.style.top =\n /*pageY*/ clientY - rootElementY - shortcutYOffset + \"px\";\n return;\n }\n if (shortcutBottomCoordinate >= documentBottom) { // bottom boundary\n this.draggedElementShortcut.style.left =\n /*pageX*/ clientX - shortcutXOffset - rootElementX + \"px\";\n this.draggedElementShortcut.style.top =\n // pageY -\n // clientY +\n documentBottom -\n shortcutHeight -\n rootElementY +\n \"px\";\n return;\n }\n if (clientY - shortcutYOffset <= 0) { // top boundary\n this.draggedElementShortcut.style.left =\n clientX - shortcutXOffset - rootElementX + \"px\";\n this.draggedElementShortcut.style.top =\n pageY - clientY - rootElementY + \"px\";\n return;\n }\n this.draggedElementShortcut.style.left =\n clientX - rootElementX - shortcutXOffset + \"px\";\n this.draggedElementShortcut.style.top =\n clientY - rootElementY - shortcutYOffset + \"px\";\n };\n DragDropDOMAdapter.prototype.getShortcutBottomCoordinate = function (currentY, shortcutHeight, shortcutYOffset) {\n return currentY + shortcutHeight - shortcutYOffset;\n };\n DragDropDOMAdapter.prototype.getShortcutRightCoordinate = function (currentX, shortcutWidth, shortcutXOffset) {\n return currentX + shortcutWidth - shortcutXOffset;\n };\n DragDropDOMAdapter.prototype.doScroll = function (clientY, clientX) {\n var _this = this;\n cancelAnimationFrame(this.scrollIntervalId);\n var startScrollBoundary = 100;\n var displayProp = this.draggedElementShortcut.style.display;\n //this.draggedElementShortcut.hidden = true;\n this.draggedElementShortcut.style.display = \"none\";\n var dragOverNode = this.documentOrShadowRoot.elementFromPoint(clientX, clientY);\n //this.draggedElementShortcut.hidden = false;\n this.draggedElementShortcut.style.display = displayProp || \"block\";\n var scrollableParentNode = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"findScrollableParent\"])(dragOverNode);\n var top;\n var bottom;\n var left;\n var right;\n if (scrollableParentNode.tagName === \"HTML\") {\n top = 0;\n bottom = document.documentElement.clientHeight;\n left = 0;\n right = document.documentElement.clientWidth;\n }\n else {\n top = scrollableParentNode.getBoundingClientRect().top;\n bottom = scrollableParentNode.getBoundingClientRect().bottom;\n left = scrollableParentNode.getBoundingClientRect().left;\n right = scrollableParentNode.getBoundingClientRect().right;\n }\n var repeat = function () {\n if (clientY - top <= startScrollBoundary) {\n scrollableParentNode.scrollTop -= 15;\n }\n else if (bottom - clientY <= startScrollBoundary) {\n scrollableParentNode.scrollTop += 15;\n }\n else if (right - clientX <= startScrollBoundary) {\n scrollableParentNode.scrollLeft += 15;\n }\n else if (clientX - left <= startScrollBoundary) {\n scrollableParentNode.scrollLeft -= 15;\n }\n _this.scrollIntervalId = requestAnimationFrame(repeat);\n };\n this.scrollIntervalId = requestAnimationFrame(repeat);\n };\n DragDropDOMAdapter.prototype.doStartDrag = function (event, draggedElement, parentElement, draggedElementNode) {\n if (_utils_devices__WEBPACK_IMPORTED_MODULE_1__[\"IsTouch\"]) {\n DragDropDOMAdapter.PreventScrolling = true;\n }\n if (event.which === 3)\n return; //right mouse btn\n this.dd.dragInit(event, draggedElement, parentElement, draggedElementNode);\n this.rootElement.append(this.draggedElementShortcut);\n this.moveShortcutElement(event);\n document.addEventListener(\"pointermove\", this.dragOver);\n document.addEventListener(\"pointercancel\", this.handlePointerCancel);\n document.addEventListener(\"keydown\", this.handleEscapeButton);\n document.addEventListener(\"pointerup\", this.drop);\n if (!_utils_devices__WEBPACK_IMPORTED_MODULE_1__[\"IsTouch\"]) {\n this.draggedElementShortcut.addEventListener(\"pointerup\", this.drop);\n }\n else {\n this.draggedElementShortcut.addEventListener(\"contextmenu\", this.onContextMenu);\n }\n };\n DragDropDOMAdapter.prototype.returnUserSelectBack = function () {\n document.body.style.setProperty(\"touch-action\", \"auto\");\n document.body.style.setProperty(\"user-select\", \"auto\");\n document.body.style.setProperty(\"-webkit-user-select\", \"auto\");\n //document.body.style.setProperty(\"-webkit-touch-callout\", \"default\");\n };\n DragDropDOMAdapter.prototype.startDrag = function (event, draggedElement, parentElement, draggedElementNode, preventSaveTargetNode) {\n if (preventSaveTargetNode === void 0) { preventSaveTargetNode = false; }\n document.body.style.setProperty(\"user-select\", \"none\", \"important\");\n document.body.style.setProperty(\"-webkit-user-select\", \"none\", \"important\");\n if (_utils_devices__WEBPACK_IMPORTED_MODULE_1__[\"IsTouch\"]) {\n this.startLongTapProcessing(event, draggedElement, parentElement, draggedElementNode, preventSaveTargetNode);\n return;\n }\n this.doStartDrag(event, draggedElement, parentElement, draggedElementNode);\n };\n DragDropDOMAdapter.prototype.getNodeIndexInParent = function (node) {\n return __spreadArray([], node.parentElement.childNodes).indexOf(node);\n };\n DragDropDOMAdapter.prototype.insertNodeToParentAtIndex = function (parent, node, index) {\n parent.insertBefore(node, parent.childNodes[index]);\n };\n DragDropDOMAdapter.PreventScrolling = false;\n return DragDropDOMAdapter;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/dragdrop/matrix-rows.ts\":\n/*!*************************************!*\\\n !*** ./src/dragdrop/matrix-rows.ts ***!\n \\*************************************/\n/*! exports provided: DragDropMatrixRows */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropMatrixRows\", function() { return DragDropMatrixRows; });\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../global_variables_utils */ \"./src/global_variables_utils.ts\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core */ \"./src/dragdrop/core.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar DragDropMatrixRows = /** @class */ (function (_super) {\n __extends(DragDropMatrixRows, _super);\n function DragDropMatrixRows() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.fromIndex = null;\n _this.toIndex = null;\n _this.doDrop = function () {\n _this.parentElement.moveRowByIndex(_this.fromIndex, _this.toIndex);\n return _this.parentElement;\n };\n return _this;\n }\n Object.defineProperty(DragDropMatrixRows.prototype, \"draggedElementType\", {\n get: function () {\n return \"matrix-row\";\n },\n enumerable: false,\n configurable: true\n });\n DragDropMatrixRows.prototype.onStartDrag = function () {\n var _body = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__[\"DomDocumentHelper\"].getBody();\n if (!!_body) {\n this.restoreUserSelectValue = _body.style.userSelect;\n _body.style.userSelect = \"none\";\n }\n };\n DragDropMatrixRows.prototype.createDraggedElementShortcut = function (text, draggedElementNode, event) {\n var _this = this;\n var draggedElementShortcut = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__[\"DomDocumentHelper\"].createElement(\"div\");\n if (!draggedElementShortcut)\n return;\n // draggedElementShortcut.innerText = text;\n draggedElementShortcut.style.cssText = \" \\n cursor: grabbing;\\n position: absolute;\\n z-index: 10000;\\n font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));\\n \";\n var isDeepClone = true;\n if (!!draggedElementNode) {\n var row = (draggedElementNode\n .closest(\"[data-sv-drop-target-matrix-row]\"));\n var clone = (row.cloneNode(isDeepClone));\n clone.style.cssText = \"\\n box-shadow: var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));\\n background-color: var(--sjs-general-backcolor, var(--background, #fff));\\n display: flex;\\n flex-grow: 0;\\n flex-shrink: 0;\\n align-items: center;\\n line-height: 0;\\n width: \" + row.offsetWidth + \"px;\\n \";\n clone.classList.remove(\"sv-matrix__drag-drop--moveup\");\n clone.classList.remove(\"sv-matrix__drag-drop--movedown\");\n this.draggedElement.isDragDropMoveDown = false;\n this.draggedElement.isDragDropMoveUp = false;\n draggedElementShortcut.appendChild(clone);\n var rect = draggedElementNode.getBoundingClientRect();\n draggedElementShortcut.shortcutXOffset = event.clientX - rect.x;\n draggedElementShortcut.shortcutYOffset = event.clientY - rect.y;\n }\n //this.isBottom = null;\n var renderedRows = this.parentElement.renderedTable.rows;\n renderedRows.forEach(function (renderedRow, index) {\n if (renderedRow.row === _this.draggedElement) {\n renderedRow.isGhostRow = true;\n }\n });\n this.fromIndex = this.parentElement.visibleRows.indexOf(this.draggedElement);\n return draggedElementShortcut;\n };\n // protected ghostPositionChanged(): void {\n // let ghostPosition;\n // this.parentElement.renderedTable.rows.forEach(\n // (renderedRow: QuestionMatrixDropdownRenderedRow) => {\n // ghostPosition = this.getGhostPosition(\n // renderedRow.row\n // );\n // renderedRow.isGhostRow = !ghostPosition;\n // }\n // );\n // super.ghostPositionChanged();\n // }\n DragDropMatrixRows.prototype.getDropTargetByDataAttributeValue = function (dataAttributeValue) {\n var matrix = this.parentElement;\n var dropTargetRenderedRow;\n dropTargetRenderedRow = matrix.renderedTable.rows.filter(function (renderedRow) { return renderedRow.row && renderedRow.row.id === dataAttributeValue; })[0];\n return dropTargetRenderedRow.row;\n };\n DragDropMatrixRows.prototype.isDropTargetValid = function (dropTarget, dropTargetNode) {\n return true;\n };\n DragDropMatrixRows.prototype.calculateIsBottom = function (clientY) {\n var rendreredRows = this.parentElement.renderedTable.rows;\n var rows = rendreredRows.map(function (rendredRow) { return rendredRow.row; });\n return (rows.indexOf(this.dropTarget) - rows.indexOf(this.draggedElement) > 0);\n };\n DragDropMatrixRows.prototype.afterDragOver = function (dropTargetNode) {\n var _this = this;\n if (this.isDropTargetDoesntChanged(this.isBottom))\n return;\n var dropTargetIndex;\n var draggedElementIndex;\n var draggedRenderedRow;\n var renderedRows = this.parentElement.renderedTable.rows;\n renderedRows.forEach(function (renderedRow, index) {\n if (renderedRow.row === _this.dropTarget) {\n // renderedRow.isGhostRow = true;\n dropTargetIndex = index;\n }\n if (renderedRow.row === _this.draggedElement) {\n draggedRenderedRow = renderedRow;\n draggedElementIndex = index;\n draggedRenderedRow.isGhostRow = true;\n }\n });\n renderedRows.splice(draggedElementIndex, 1);\n renderedRows.splice(dropTargetIndex, 0, draggedRenderedRow);\n this.toIndex = this.parentElement.visibleRows.indexOf(this.dropTarget);\n // const matrix = this.parentElement;\n // const fromIndex = matrix.visibleRows.indexOf(this.draggedElement);\n // const toIndex = matrix.visibleRows.indexOf(this.dropTarget);\n // matrix.moveRowByIndex(fromIndex, toIndex);\n // if (draggedElementIndex !== dropTargetIndex) {\n // dropTargetNode.classList.remove(\"sv-matrix__drag-drop--moveup\");\n // dropTargetNode.classList.remove(\"sv-matrix__drag-drop--movedown\");\n // this.dropTarget.isDragDropMoveDown = false;\n // this.dropTarget.isDragDropMoveUp = false;\n // }\n // if (draggedElementIndex > dropTargetIndex) {\n // this.dropTarget.isDragDropMoveDown = true;\n // }\n // if (draggedElementIndex < dropTargetIndex) {\n // this.dropTarget.isDragDropMoveUp = true;\n // }\n _super.prototype.ghostPositionChanged.call(this);\n };\n DragDropMatrixRows.prototype.clear = function () {\n var renderedRows = this.parentElement.renderedTable.rows;\n renderedRows.forEach(function (renderedRow) {\n renderedRow.isGhostRow = false;\n });\n this.parentElement.clearOnDrop();\n this.fromIndex = null;\n this.toIndex = null;\n var _body = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__[\"DomDocumentHelper\"].getBody();\n if (!!_body) {\n _body.style.userSelect = this.restoreUserSelectValue || \"initial\";\n }\n _super.prototype.clear.call(this);\n };\n return DragDropMatrixRows;\n}(_core__WEBPACK_IMPORTED_MODULE_1__[\"DragDropCore\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/dragdrop/ranking-choices.ts\":\n/*!*****************************************!*\\\n !*** ./src/dragdrop/ranking-choices.ts ***!\n \\*****************************************/\n/*! exports provided: DragDropRankingChoices */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropRankingChoices\", function() { return DragDropRankingChoices; });\n/* harmony import */ var _choices__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./choices */ \"./src/dragdrop/choices.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/devices */ \"./src/utils/devices.ts\");\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../global_variables_utils */ \"./src/global_variables_utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\nvar DragDropRankingChoices = /** @class */ (function (_super) {\n __extends(DragDropRankingChoices, _super);\n function DragDropRankingChoices() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.isDragOverRootNode = false;\n _this.doDragOver = function () {\n var node = _this.domAdapter.draggedElementShortcut.querySelector(\".sv-ranking-item\");\n node.style.cursor = \"grabbing\";\n };\n _this.doBanDropHere = function () {\n if (_this.isDragOverRootNode) {\n _this.allowDropHere = true;\n return;\n }\n var node = _this.domAdapter.draggedElementShortcut.querySelector(\".sv-ranking-item\");\n node.style.cursor = \"not-allowed\";\n };\n return _this;\n }\n Object.defineProperty(DragDropRankingChoices.prototype, \"draggedElementType\", {\n get: function () {\n return \"ranking-item\";\n },\n enumerable: false,\n configurable: true\n });\n DragDropRankingChoices.prototype.createDraggedElementShortcut = function (text, draggedElementNode, event) {\n var draggedElementShortcut = _global_variables_utils__WEBPACK_IMPORTED_MODULE_3__[\"DomDocumentHelper\"].createElement(\"div\");\n if (!draggedElementShortcut)\n return;\n draggedElementShortcut.className = this.shortcutClass + \" sv-ranking-shortcut\";\n draggedElementShortcut.style.cssText = \" \\n cursor: grabbing;\\n position: absolute;\\n z-index: 10000;\\n border-radius: calc(12.5 * var(--sjs-base-unit, var(--base-unit, 8px)));\\n min-width: 100px;\\n max-width: 400px;\\n box-shadow: var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1));\\n background-color: var(--sjs-general-backcolor, var(--background, #fff));\\n font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));\\n \";\n var isDeepClone = true;\n var clone = draggedElementNode.cloneNode(isDeepClone);\n draggedElementShortcut.appendChild(clone);\n var rect = draggedElementNode.getBoundingClientRect();\n draggedElementShortcut.shortcutXOffset = event.clientX - rect.x;\n draggedElementShortcut.shortcutYOffset = event.clientY - rect.y;\n if (this.parentElement && this.parentElement.useFullItemSizeForShortcut) {\n draggedElementShortcut.style.width = draggedElementNode.offsetWidth + \"px\";\n draggedElementShortcut.style.height = draggedElementNode.offsetHeight + \"px\";\n }\n return draggedElementShortcut;\n };\n Object.defineProperty(DragDropRankingChoices.prototype, \"shortcutClass\", {\n get: function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_1__[\"CssClassBuilder\"]()\n .append(this.parentElement.cssClasses.root)\n .append(this.parentElement.cssClasses.rootMobileMod, _utils_devices__WEBPACK_IMPORTED_MODULE_2__[\"IsMobile\"])\n .toString();\n },\n enumerable: false,\n configurable: true\n });\n DragDropRankingChoices.prototype.getDropTargetByDataAttributeValue = function (dataAttributeValue) {\n return this.parentElement.rankingChoices[dataAttributeValue];\n };\n DragDropRankingChoices.prototype.findDropTargetNodeByDragOverNode = function (dragOverNode) {\n this.isDragOverRootNode = this.getIsDragOverRootNode(dragOverNode);\n return _super.prototype.findDropTargetNodeByDragOverNode.call(this, dragOverNode);\n };\n DragDropRankingChoices.prototype.getIsDragOverRootNode = function (dragOverNode) {\n // dragOverNode might be for example and the className prop is obj\n return typeof dragOverNode.className === \"string\" &&\n dragOverNode.className.indexOf(\"sv-ranking\") !== -1;\n };\n DragDropRankingChoices.prototype.isDropTargetValid = function (dropTarget, dropTargetNode) {\n var choices = this.parentElement.rankingChoices;\n var dropTargetIndex = choices.indexOf(this.dropTarget);\n var draggedElementIndex = choices.indexOf(this.draggedElement);\n if (draggedElementIndex > dropTargetIndex && dropTargetNode.classList.contains(\"sv-dragdrop-moveup\")) {\n this.parentElement.dropTargetNodeMove = null;\n return false;\n }\n if (draggedElementIndex < dropTargetIndex && dropTargetNode.classList.contains(\"sv-dragdrop-movedown\")) {\n this.parentElement.dropTargetNodeMove = null;\n return false;\n }\n if (choices.indexOf(dropTarget) === -1)\n // shouldn't allow to drop on \"adorners\" (selectall, none, other)\n return false;\n return true;\n };\n DragDropRankingChoices.prototype.calculateIsBottom = function (clientY) {\n var choices = this.parentElement.rankingChoices;\n return (choices.indexOf(this.dropTarget) - choices.indexOf(this.draggedElement) >\n 0);\n };\n DragDropRankingChoices.prototype.afterDragOver = function (dropTargetNode) {\n var choices = this.parentElement.rankingChoices;\n var dropTargetIndex = choices.indexOf(this.dropTarget);\n var draggedElementIndex = choices.indexOf(this.draggedElement);\n choices.splice(draggedElementIndex, 1);\n choices.splice(dropTargetIndex, 0, this.draggedElement);\n this.parentElement.setPropertyValue(\"rankingChoices\", choices);\n //return;\n this.updateDraggedElementShortcut(dropTargetIndex + 1);\n if (draggedElementIndex !== dropTargetIndex) {\n dropTargetNode.classList.remove(\"sv-dragdrop-moveup\");\n dropTargetNode.classList.remove(\"sv-dragdrop-movedown\");\n this.parentElement.dropTargetNodeMove = null;\n }\n if (draggedElementIndex > dropTargetIndex) {\n this.parentElement.dropTargetNodeMove = \"down\";\n }\n if (draggedElementIndex < dropTargetIndex) {\n this.parentElement.dropTargetNodeMove = \"up\";\n }\n };\n DragDropRankingChoices.prototype.updateDraggedElementShortcut = function (newIndex) {\n var newIndexText = newIndex !== null ? newIndex + \"\" : \"\";\n // TODO should avoid direct DOM manipulation, do through the frameworks instead\n var indexNode = this.domAdapter.draggedElementShortcut.querySelector(\".sv-ranking-item__index\");\n indexNode.innerText = newIndexText;\n };\n DragDropRankingChoices.prototype.ghostPositionChanged = function () {\n this.parentElement.currentDropTarget = this.draggedElement;\n _super.prototype.ghostPositionChanged.call(this);\n };\n DragDropRankingChoices.prototype.doDrop = function () {\n this.parentElement.setValue();\n return this.parentElement;\n };\n DragDropRankingChoices.prototype.clear = function () {\n if (!!this.parentElement) {\n this.parentElement.dropTargetNodeMove = null;\n this.parentElement.updateRankingChoices(true);\n }\n _super.prototype.clear.call(this);\n };\n return DragDropRankingChoices;\n}(_choices__WEBPACK_IMPORTED_MODULE_0__[\"DragDropChoices\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/dragdrop/ranking-select-to-rank.ts\":\n/*!************************************************!*\\\n !*** ./src/dragdrop/ranking-select-to-rank.ts ***!\n \\************************************************/\n/*! exports provided: DragDropRankingSelectToRank */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropRankingSelectToRank\", function() { return DragDropRankingSelectToRank; });\n/* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../itemvalue */ \"./src/itemvalue.ts\");\n/* harmony import */ var _ranking_choices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ranking-choices */ \"./src/dragdrop/ranking-choices.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar DragDropRankingSelectToRank = /** @class */ (function (_super) {\n __extends(DragDropRankingSelectToRank, _super);\n function DragDropRankingSelectToRank() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.selectToRank = function (questionModel, fromIndex, toIndex) {\n var rankingChoices = [].concat(questionModel.rankingChoices);\n var unRankingChoices = questionModel.unRankingChoices;\n var item = unRankingChoices[fromIndex];\n rankingChoices.splice(toIndex, 0, item);\n _this.updateChoices(questionModel, rankingChoices);\n };\n _this.unselectFromRank = function (questionModel, fromIndex, toIndex) {\n var rankingChoices = [].concat(questionModel.rankingChoices);\n rankingChoices.splice(fromIndex, 1);\n _this.updateChoices(questionModel, rankingChoices);\n };\n _this.reorderRankedItem = function (questionModel, fromIndex, toIndex, dropTargetNode) {\n var rankingChoices = questionModel.rankingChoices;\n var item = rankingChoices[fromIndex];\n if (fromIndex == toIndex)\n return;\n questionModel.isValueSetByUser = true;\n rankingChoices.splice(fromIndex, 1);\n rankingChoices.splice(toIndex, 0, item);\n questionModel.setPropertyValue(\"rankingChoices\", rankingChoices);\n if (dropTargetNode) {\n _this.doUIEffects(dropTargetNode, fromIndex, toIndex);\n }\n };\n return _this;\n }\n DragDropRankingSelectToRank.prototype.findDropTargetNodeByDragOverNode = function (dragOverNode) {\n if (dragOverNode.dataset.ranking === \"from-container\" || dragOverNode.dataset.ranking === \"to-container\") {\n return dragOverNode;\n }\n var toContainer = dragOverNode.closest(\"[data-ranking='to-container']\");\n var fromContainer = dragOverNode.closest(\"[data-ranking='from-container']\");\n if (this.parentElement.unRankingChoices.length === 0 && fromContainer)\n return fromContainer;\n if (this.parentElement.rankingChoices.length === 0 && toContainer)\n return toContainer;\n return _super.prototype.findDropTargetNodeByDragOverNode.call(this, dragOverNode);\n };\n DragDropRankingSelectToRank.prototype.getDropTargetByDataAttributeValue = function (dataAttributeValue) {\n return this.parentElement.rankingChoices[dataAttributeValue] || this.parentElement.unRankingChoices[dataAttributeValue];\n };\n DragDropRankingSelectToRank.prototype.getDropTargetByNode = function (dropTargetNode, event) {\n if (dropTargetNode.dataset.ranking === \"to-container\") {\n return \"to-container\";\n }\n if (dropTargetNode.dataset.ranking === \"from-container\" || dropTargetNode.closest(\"[data-ranking='from-container']\")) {\n return \"from-container\";\n }\n return _super.prototype.getDropTargetByNode.call(this, dropTargetNode, event);\n };\n DragDropRankingSelectToRank.prototype.isDropTargetValid = function (dropTarget, dropTargetNode) {\n if (dropTarget === \"to-container\" || dropTarget === \"from-container\") {\n return true;\n }\n else {\n return _super.prototype.isDropTargetValid.call(this, dropTarget, dropTargetNode);\n }\n };\n DragDropRankingSelectToRank.prototype.afterDragOver = function (dropTargetNode) {\n var questionModel = this.parentElement;\n var rankingChoices = questionModel.rankingChoices;\n var unRankingChoices = questionModel.unRankingChoices;\n if (this.isDraggedElementUnranked && this.isDropTargetRanked) {\n this.doRankBetween(dropTargetNode, unRankingChoices, rankingChoices, this.selectToRank);\n return;\n }\n if (this.isDraggedElementRanked && this.isDropTargetRanked) {\n this.doRankBetween(dropTargetNode, rankingChoices, rankingChoices, this.reorderRankedItem);\n return;\n }\n if (this.isDraggedElementRanked && !this.isDropTargetRanked) {\n this.doRankBetween(dropTargetNode, rankingChoices, unRankingChoices, this.unselectFromRank);\n return;\n }\n };\n DragDropRankingSelectToRank.prototype.doRankBetween = function (dropTargetNode, fromChoicesArray, toChoicesArray, rankFunction) {\n var questionModel = this.parentElement;\n var _a = this.getIndixies(questionModel, fromChoicesArray, toChoicesArray), fromIndex = _a.fromIndex, toIndex = _a.toIndex;\n rankFunction(questionModel, fromIndex, toIndex, dropTargetNode);\n };\n DragDropRankingSelectToRank.prototype.getIndixies = function (model, fromChoicesArray, toChoicesArray) {\n var fromIndex = fromChoicesArray.indexOf(this.draggedElement);\n var toIndex = toChoicesArray.indexOf(this.dropTarget);\n if (toIndex === -1) {\n var length_1 = model.value.length;\n toIndex = length_1;\n }\n else if (fromChoicesArray == toChoicesArray) {\n if (!this.isBottom && fromIndex < toIndex)\n toIndex--;\n if (this.isBottom && fromIndex > toIndex)\n toIndex++;\n }\n else if (fromChoicesArray != toChoicesArray) {\n if (this.isBottom)\n toIndex++;\n }\n return { fromIndex: fromIndex, toIndex: toIndex };\n };\n DragDropRankingSelectToRank.prototype.calculateIsBottom = function (clientY, dropTargetNode) {\n if (this.dropTarget instanceof _itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"] && this.draggedElement !== this.dropTarget) {\n var rect = dropTargetNode.getBoundingClientRect();\n return clientY >= rect.y + rect.height / 2;\n }\n return _super.prototype.calculateIsBottom.call(this, clientY);\n };\n DragDropRankingSelectToRank.prototype.doUIEffects = function (dropTargetNode, fromIndex, toIndex) {\n var questionModel = this.parentElement;\n var isDropToEmptyRankedContainer = this.dropTarget === \"to-container\" && questionModel.isEmpty();\n var isNeedToShowIndexAtShortcut = !this.isDropTargetUnranked || isDropToEmptyRankedContainer;\n var shortcutIndex = isNeedToShowIndexAtShortcut ? toIndex + 1 : null;\n this.updateDraggedElementShortcut(shortcutIndex);\n if (fromIndex !== toIndex) {\n dropTargetNode.classList.remove(\"sv-dragdrop-moveup\");\n dropTargetNode.classList.remove(\"sv-dragdrop-movedown\");\n questionModel.dropTargetNodeMove = null;\n }\n if (fromIndex > toIndex) {\n questionModel.dropTargetNodeMove = \"down\";\n }\n if (fromIndex < toIndex) {\n questionModel.dropTargetNodeMove = \"up\";\n }\n };\n Object.defineProperty(DragDropRankingSelectToRank.prototype, \"isDraggedElementRanked\", {\n get: function () {\n return this.parentElement.rankingChoices.indexOf(this.draggedElement) !== -1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DragDropRankingSelectToRank.prototype, \"isDropTargetRanked\", {\n get: function () {\n if (this.dropTarget === \"to-container\")\n return true;\n return this.parentElement.rankingChoices.indexOf(this.dropTarget) !== -1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DragDropRankingSelectToRank.prototype, \"isDraggedElementUnranked\", {\n get: function () {\n return !this.isDraggedElementRanked;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DragDropRankingSelectToRank.prototype, \"isDropTargetUnranked\", {\n get: function () {\n return !this.isDropTargetRanked;\n },\n enumerable: false,\n configurable: true\n });\n DragDropRankingSelectToRank.prototype.updateChoices = function (questionModel, rankingChoices) {\n questionModel.isValueSetByUser = true;\n questionModel.rankingChoices = rankingChoices;\n questionModel.updateUnRankingChoices(rankingChoices);\n };\n DragDropRankingSelectToRank.prototype.clear = function () {\n var questionModel = this.parentElement;\n if (!!questionModel) {\n questionModel.rankingChoicesAnimation.cancel();\n questionModel.unRankingChoicesAnimation.cancel();\n }\n _super.prototype.clear.call(this);\n };\n return DragDropRankingSelectToRank;\n}(_ranking_choices__WEBPACK_IMPORTED_MODULE_1__[\"DragDropRankingChoices\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/dropdownListModel.ts\":\n/*!**********************************!*\\\n !*** ./src/dropdownListModel.ts ***!\n \\**********************************/\n/*! exports provided: DropdownListModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DropdownListModel\", function() { return DropdownListModel; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./global_variables_utils */ \"./src/global_variables_utils.ts\");\n/* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./itemvalue */ \"./src/itemvalue.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./list */ \"./src/list.ts\");\n/* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./popup */ \"./src/popup.ts\");\n/* harmony import */ var _question_dropdown__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./question_dropdown */ \"./src/question_dropdown.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/devices */ \"./src/utils/devices.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar DropdownListModel = /** @class */ (function (_super) {\n __extends(DropdownListModel, _super);\n function DropdownListModel(question, onSelectionChanged) {\n var _this = _super.call(this) || this;\n _this.question = question;\n _this.onSelectionChanged = onSelectionChanged;\n _this.minPageSize = 25;\n _this.loadingItemHeight = 40;\n _this._markdownMode = false;\n _this.filteredItems = undefined;\n _this.selectedItemSelector = \".sv-list__item--selected\";\n _this.itemSelector = \".sv-list__item\";\n _this.itemsSettings = { skip: 0, take: 0, totalCount: 0, items: [] };\n _this.isRunningLoadQuestionChoices = false;\n _this.popupCssClasses = \"sv-single-select-list\";\n _this.listModelFilterStringChanged = function (newValue) {\n if (_this.filterString !== newValue) {\n _this.filterString = newValue;\n }\n };\n _this.qustionPropertyChangedHandler = function (sender, options) {\n _this.onPropertyChangedHandler(sender, options);\n };\n _this.htmlCleanerElement = _global_variables_utils__WEBPACK_IMPORTED_MODULE_1__[\"DomDocumentHelper\"].createElement(\"div\");\n question.onPropertyChanged.add(_this.qustionPropertyChangedHandler);\n _this.showInputFieldComponent = _this.question.showInputFieldComponent;\n _this.listModel = _this.createListModel();\n _this.updateAfterListModelCreated(_this.listModel);\n _this.setSearchEnabled(_this.question.searchEnabled);\n _this.setTextWrapEnabled(_this.question.textWrapEnabled);\n _this.createPopup();\n _this.resetItemsSettings();\n return _this;\n }\n Object.defineProperty(DropdownListModel.prototype, \"focusFirstInputSelector\", {\n get: function () {\n return this.getFocusFirstInputSelector();\n },\n enumerable: false,\n configurable: true\n });\n DropdownListModel.prototype.getFocusFirstInputSelector = function () {\n if (_utils_devices__WEBPACK_IMPORTED_MODULE_9__[\"IsTouch\"]) {\n return this.isValueEmpty(this.question.value) ? this.itemSelector : this.selectedItemSelector;\n }\n else {\n return (!this.listModel.showFilter && !!this.question.value) ? this.selectedItemSelector : \"\";\n }\n };\n DropdownListModel.prototype.resetItemsSettings = function () {\n this.itemsSettings.skip = 0;\n this.itemsSettings.take = Math.max(this.minPageSize, this.question.choicesLazyLoadPageSize);\n this.itemsSettings.totalCount = 0;\n this.itemsSettings.items = [];\n };\n DropdownListModel.prototype.setItems = function (items, totalCount) {\n this.itemsSettings.items = [].concat(this.itemsSettings.items, items);\n this.itemsSettings.totalCount = totalCount;\n this.listModel.isAllDataLoaded = this.question.choicesLazyLoadEnabled && this.itemsSettings.items.length == this.itemsSettings.totalCount;\n this.question.choices = this.itemsSettings.items;\n };\n DropdownListModel.prototype.updateQuestionChoices = function (callbackAfterItemsLoaded) {\n var _this = this;\n if (this.isRunningLoadQuestionChoices)\n return;\n var isUpdate = (this.itemsSettings.skip + 1) < this.itemsSettings.totalCount;\n if (!this.itemsSettings.skip || isUpdate) {\n this.isRunningLoadQuestionChoices = true;\n this.question.survey.loadQuestionChoices({\n question: this.question,\n filter: this.filterString,\n skip: this.itemsSettings.skip,\n take: this.itemsSettings.take,\n setItems: function (items, totalCount) {\n _this.isRunningLoadQuestionChoices = false;\n _this.setItems(items || [], totalCount || 0);\n _this.popupRecalculatePosition(_this.itemsSettings.skip === _this.itemsSettings.take);\n if (!!callbackAfterItemsLoaded) {\n callbackAfterItemsLoaded();\n }\n }\n });\n this.itemsSettings.skip += this.itemsSettings.take;\n }\n };\n DropdownListModel.prototype.updatePopupFocusFirstInputSelector = function () {\n this._popupModel.focusFirstInputSelector = this.focusFirstInputSelector;\n };\n DropdownListModel.prototype.createPopup = function () {\n var _this = this;\n this._popupModel = new _popup__WEBPACK_IMPORTED_MODULE_5__[\"PopupModel\"](\"sv-list\", { model: this.listModel }, \"bottom\", \"center\", false);\n this._popupModel.displayMode = _utils_devices__WEBPACK_IMPORTED_MODULE_9__[\"IsTouch\"] ? \"overlay\" : \"popup\";\n this._popupModel.positionMode = \"fixed\";\n this._popupModel.isFocusedContainer = false;\n this._popupModel.isFocusedContent = _utils_devices__WEBPACK_IMPORTED_MODULE_9__[\"IsTouch\"];\n this._popupModel.setWidthByTarget = !_utils_devices__WEBPACK_IMPORTED_MODULE_9__[\"IsTouch\"];\n this.updatePopupFocusFirstInputSelector();\n this.listModel.registerPropertyChangedHandlers([\"showFilter\"], function () {\n _this.updatePopupFocusFirstInputSelector();\n });\n this._popupModel.cssClass = this.popupCssClasses;\n this._popupModel.onVisibilityChanged.add(function (_, option) {\n if (option.isVisible) {\n _this.listModel.renderElements = true;\n }\n if (option.isVisible && _this.question.choicesLazyLoadEnabled) {\n _this.listModel.actions = [];\n _this.updateQuestionChoices();\n }\n if (option.isVisible && !!_this.question.onOpenedCallBack) {\n _this.updatePopupFocusFirstInputSelector();\n _this.question.onOpenedCallBack();\n }\n if (!option.isVisible) {\n _this.onHidePopup();\n if (_this.question.choicesLazyLoadEnabled) {\n _this.resetItemsSettings();\n }\n }\n _this.question.processPopupVisiblilityChanged(_this.popupModel, option.isVisible);\n });\n };\n DropdownListModel.prototype.setFilterStringToListModel = function (newValue) {\n var _this = this;\n this.listModel.filterString = newValue;\n this.listModel.resetFocusedItem();\n if (this.question.selectedItem && this.question.selectedItem.text.indexOf(newValue) >= 0) {\n this.listModel.focusedItem = this.getAvailableItems().filter(function (item) { return item.id == _this.question.selectedItem.value; })[0];\n if (this.listModel.filterString) {\n this.listModel.actions.map(function (a) { return a.selectedValue = false; });\n }\n return;\n }\n if (!this.listModel.focusedItem || !this.listModel.isItemVisible(this.listModel.focusedItem)) {\n this.listModel.focusFirstVisibleItem();\n }\n };\n DropdownListModel.prototype.setTextWrapEnabled = function (newValue) {\n this.listModel.textWrapEnabled = newValue;\n };\n DropdownListModel.prototype.popupRecalculatePosition = function (isResetHeight) {\n var _this = this;\n setTimeout(function () {\n _this.popupModel.recalculatePosition(isResetHeight);\n }, 1);\n };\n DropdownListModel.prototype.onHidePopup = function () {\n this.resetFilterString();\n this.question.suggestedItem = null;\n this.listModel.refresh();\n };\n DropdownListModel.prototype.getAvailableItems = function () {\n return this.question.visibleChoices;\n };\n DropdownListModel.prototype.setOnTextSearchCallbackForListModel = function (listModel) {\n var _this = this;\n listModel.setOnTextSearchCallback(function (item, textToSearch) {\n if (_this.filteredItems)\n return _this.filteredItems.indexOf(item) >= 0;\n var textInLow = item.text.toLocaleLowerCase();\n textInLow = _settings__WEBPACK_IMPORTED_MODULE_7__[\"settings\"].comparator.normalizeTextCallback(textInLow, \"filter\");\n var index = textInLow.indexOf(textToSearch.toLocaleLowerCase());\n return _this.question.searchMode == \"startsWith\" ? index == 0 : index > -1;\n });\n };\n DropdownListModel.prototype.createListModel = function () {\n var _this = this;\n var visibleItems = this.getAvailableItems();\n var _onSelectionChanged = this.onSelectionChanged;\n if (!_onSelectionChanged) {\n _onSelectionChanged = function (item) {\n _this.question.value = item.id;\n if (_this.question.searchEnabled)\n _this.applyInputString(item);\n _this.popupModel.isVisible = false;\n };\n }\n var res = new _list__WEBPACK_IMPORTED_MODULE_4__[\"ListModel\"](visibleItems, _onSelectionChanged, false, undefined, this.question.choicesLazyLoadEnabled ? this.listModelFilterStringChanged : undefined, this.listElementId);\n this.setOnTextSearchCallbackForListModel(res);\n res.renderElements = false;\n res.forceShowFilter = true;\n res.areSameItemsCallback = function (item1, item2) {\n return item1 === item2;\n };\n return res;\n };\n DropdownListModel.prototype.updateAfterListModelCreated = function (model) {\n var _this = this;\n model.isItemSelected = function (action) { return !!action.selected; };\n model.locOwner = this.question;\n model.onPropertyChanged.add(function (sender, options) {\n if (options.name == \"hasVerticalScroller\") {\n _this.hasScroll = options.newValue;\n }\n });\n model.isAllDataLoaded = !this.question.choicesLazyLoadEnabled;\n };\n DropdownListModel.prototype.updateCssClasses = function (popupCssClass, listCssClasses) {\n this.popupModel.cssClass = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_8__[\"CssClassBuilder\"]().append(popupCssClass).append(this.popupCssClasses).toString();\n this.listModel.cssClasses = listCssClasses;\n };\n DropdownListModel.prototype.resetFilterString = function () {\n if (!!this.filterString) {\n this.filterString = undefined;\n }\n };\n DropdownListModel.prototype.clear = function () {\n this.inputString = null;\n this.hintString = \"\";\n this.resetFilterString();\n };\n DropdownListModel.prototype.onSetFilterString = function () {\n var _this = this;\n this.filteredItems = undefined;\n if (!this.filterString && !this.popupModel.isVisible)\n return;\n var options = { question: this.question, choices: this.getAvailableItems(), filter: this.filterString, filteredChoices: undefined };\n this.question.survey.onChoicesSearch.fire(this.question.survey, options);\n this.filteredItems = options.filteredChoices;\n if (!!this.filterString && !this.popupModel.isVisible) {\n this.popupModel.isVisible = true;\n }\n var updateAfterFilterStringChanged = function () {\n _this.setFilterStringToListModel(_this.filterString);\n _this.popupRecalculatePosition(true);\n };\n if (this.question.choicesLazyLoadEnabled) {\n this.resetItemsSettings();\n this.updateQuestionChoices(updateAfterFilterStringChanged);\n }\n else {\n updateAfterFilterStringChanged();\n }\n };\n Object.defineProperty(DropdownListModel.prototype, \"isAllDataLoaded\", {\n get: function () {\n return !!this.itemsSettings.totalCount && this.itemsSettings.items.length == this.itemsSettings.totalCount;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"canShowSelectedItem\", {\n get: function () {\n return !this.focused || this._markdownMode || !this.searchEnabled;\n },\n enumerable: false,\n configurable: true\n });\n DropdownListModel.prototype.applyInputString = function (item) {\n var hasHtml = item === null || item === void 0 ? void 0 : item.locText.hasHtml;\n if (hasHtml || this.question.inputFieldComponentName) {\n this._markdownMode = true;\n this.inputString = this.cleanHtml(item === null || item === void 0 ? void 0 : item.locText.getHtmlValue());\n this.hintString = \"\";\n }\n else {\n this.inputString = item === null || item === void 0 ? void 0 : item.title;\n this.hintString = item === null || item === void 0 ? void 0 : item.title;\n }\n };\n DropdownListModel.prototype.cleanHtml = function (html) {\n if (!this.htmlCleanerElement)\n return \"\";\n this.htmlCleanerElement.innerHTML = html;\n return this.htmlCleanerElement.textContent;\n };\n DropdownListModel.prototype.fixInputCase = function () {\n var hintStringMiddle = this.hintStringMiddle;\n if (hintStringMiddle && this.inputString != hintStringMiddle)\n this.inputString = hintStringMiddle;\n };\n DropdownListModel.prototype.applyHintString = function (item) {\n var hasHtml = item === null || item === void 0 ? void 0 : item.locText.hasHtml;\n if (hasHtml || this.question.inputFieldComponentName) {\n this._markdownMode = true;\n this.hintString = \"\";\n }\n else {\n this.hintString = item === null || item === void 0 ? void 0 : item.title;\n }\n };\n Object.defineProperty(DropdownListModel.prototype, \"inputStringRendered\", {\n get: function () {\n return this.inputString || \"\";\n },\n set: function (val) {\n this.inputString = val;\n this.filterString = val;\n if (!val) {\n this.hintString = \"\";\n }\n else {\n this.applyHintString(this.listModel.focusedItem || this.question.selectedItem);\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"placeholderRendered\", {\n get: function () {\n return this.hintString ? \"\" : this.question.readOnlyText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"listElementId\", {\n get: function () {\n return this.question.inputId + \"_list\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"hintStringLC\", {\n get: function () {\n var _a;\n return ((_a = this.hintString) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"inputStringLC\", {\n get: function () {\n var _a;\n return ((_a = this.inputString) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"showHintPrefix\", {\n get: function () {\n return !!this.inputString && this.hintStringLC.indexOf(this.inputStringLC) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"hintStringPrefix\", {\n get: function () {\n if (!this.inputString)\n return null;\n return this.hintString.substring(0, this.hintStringLC.indexOf(this.inputStringLC));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"showHintString\", {\n get: function () {\n return !!this.question.searchEnabled && this.hintStringLC && this.hintStringLC.indexOf(this.inputStringLC) >= 0 ||\n !this.question.searchEnabled && this.hintStringLC && this.question.isEmpty();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"hintStringSuffix\", {\n get: function () {\n return this.hintString.substring(this.hintStringLC.indexOf(this.inputStringLC) + this.inputStringLC.length);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"hintStringMiddle\", {\n get: function () {\n var start = this.hintStringLC.indexOf(this.inputStringLC);\n if (start == -1)\n return null;\n return this.hintString.substring(start, start + this.inputStringLC.length);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"popupModel\", {\n get: function () {\n return this._popupModel;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"noTabIndex\", {\n get: function () {\n return this.question.isInputReadOnly || this.searchEnabled;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"filterReadOnly\", {\n get: function () {\n return this.question.isInputReadOnly || !this.searchEnabled || !this.focused;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"filterStringEnabled\", {\n get: function () {\n return !this.question.isInputReadOnly && this.searchEnabled;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"inputMode\", {\n get: function () {\n return _utils_devices__WEBPACK_IMPORTED_MODULE_9__[\"IsTouch\"] ? \"none\" : \"text\";\n },\n enumerable: false,\n configurable: true\n });\n DropdownListModel.prototype.setSearchEnabled = function (newValue) {\n this.listModel.searchEnabled = _utils_devices__WEBPACK_IMPORTED_MODULE_9__[\"IsTouch\"];\n this.listModel.showSearchClearButton = _utils_devices__WEBPACK_IMPORTED_MODULE_9__[\"IsTouch\"];\n this.searchEnabled = newValue;\n };\n DropdownListModel.prototype.updateItems = function () {\n this.listModel.setItems(this.getAvailableItems());\n };\n DropdownListModel.prototype.onClick = function (event) {\n if (this.question.readOnly || this.question.isDesignMode)\n return;\n this._popupModel.toggleVisibility();\n this.focusItemOnClickAndPopup();\n this.question.focus();\n };\n DropdownListModel.prototype.chevronPointerDown = function (event) {\n if (this._popupModel.isVisible) {\n event.preventDefault();\n }\n };\n DropdownListModel.prototype.onPropertyChangedHandler = function (sender, options) {\n if (options.name == \"value\") {\n this.showInputFieldComponent = this.question.showInputFieldComponent;\n }\n if (options.name == \"choicesLazyLoadEnabled\" && options.newValue) {\n this.listModel.setOnFilterStringChangedCallback(this.listModelFilterStringChanged);\n }\n if (options.name == \"textWrapEnabled\") {\n this.setTextWrapEnabled(options.newValue);\n }\n };\n DropdownListModel.prototype.focusItemOnClickAndPopup = function () {\n if (this._popupModel.isVisible && this.question.value)\n this.changeSelectionWithKeyboard(false);\n };\n DropdownListModel.prototype.onClear = function (event) {\n this.question.clearValue();\n this._popupModel.isVisible = false;\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n DropdownListModel.prototype.getSelectedAction = function () {\n return this.question.selectedItem || null;\n };\n DropdownListModel.prototype.changeSelectionWithKeyboard = function (reverse) {\n var _a;\n var focusedItem = this.listModel.focusedItem;\n if (!focusedItem && this.question.selectedItem) {\n if (_itemvalue__WEBPACK_IMPORTED_MODULE_2__[\"ItemValue\"].getItemByValue(this.question.visibleChoices, this.question.value)) {\n this.listModel.focusedItem = this.question.selectedItem;\n }\n }\n else {\n if (reverse) {\n this.listModel.focusPrevVisibleItem();\n }\n else {\n this.listModel.focusNextVisibleItem();\n }\n }\n this.beforeScrollToFocusedItem(focusedItem);\n this.scrollToFocusedItem();\n this.afterScrollToFocusedItem();\n this.ariaActivedescendant = (_a = this.listModel.focusedItem) === null || _a === void 0 ? void 0 : _a.elementId;\n };\n DropdownListModel.prototype.beforeScrollToFocusedItem = function (focusedItem) {\n if (this.question.value && focusedItem) {\n focusedItem.selectedValue = false;\n this.listModel.focusedItem.selectedValue = !this.listModel.filterString;\n this.question.suggestedItem = this.listModel.focusedItem;\n }\n };\n DropdownListModel.prototype.afterScrollToFocusedItem = function () {\n var _a;\n if (this.question.value && !this.listModel.filterString && this.question.searchEnabled) {\n this.applyInputString(this.listModel.focusedItem || this.question.selectedItem);\n }\n else {\n this.applyHintString(this.listModel.focusedItem || this.question.selectedItem);\n }\n this.fixInputCase();\n this.ariaActivedescendant = (_a = this.listModel.focusedItem) === null || _a === void 0 ? void 0 : _a.elementId;\n };\n DropdownListModel.prototype.keyHandler = function (event) {\n var char = event.which || event.keyCode;\n if (this.popupModel.isVisible && event.keyCode === 38) {\n this.changeSelectionWithKeyboard(true);\n event.preventDefault();\n event.stopPropagation();\n }\n else if (event.keyCode === 40) {\n if (!this.popupModel.isVisible) {\n this.popupModel.toggleVisibility();\n }\n this.changeSelectionWithKeyboard(false);\n event.preventDefault();\n event.stopPropagation();\n }\n if (event.keyCode === 9) {\n this.popupModel.isVisible = false;\n }\n else if (!this.popupModel.isVisible && (event.keyCode === 13 || event.keyCode === 32)) {\n if (event.keyCode === 32) {\n this.popupModel.toggleVisibility();\n this.changeSelectionWithKeyboard(false);\n }\n if (event.keyCode === 13) {\n this.question.survey.questionEditFinishCallback(this.question, event);\n }\n event.preventDefault();\n event.stopPropagation();\n }\n else if (this.popupModel.isVisible && (event.keyCode === 13 || event.keyCode === 32 && (!this.question.searchEnabled || !this.inputString))) {\n if (event.keyCode === 13 && this.question.searchEnabled && !this.inputString && this.question instanceof _question_dropdown__WEBPACK_IMPORTED_MODULE_6__[\"QuestionDropdownModel\"] && !this._markdownMode && this.question.value) {\n this._popupModel.isVisible = false;\n this.onClear(event);\n }\n else {\n this.listModel.selectFocusedItem();\n this.onFocus(event);\n }\n event.preventDefault();\n event.stopPropagation();\n }\n else if (char === 46 || char === 8) {\n if (!this.searchEnabled) {\n this.onClear(event);\n }\n }\n else if (event.keyCode === 27) {\n this._popupModel.isVisible = false;\n this.hintString = \"\";\n this.onEscape();\n }\n else {\n if (event.keyCode === 38 || event.keyCode === 40 || event.keyCode === 32 && !this.question.searchEnabled) {\n event.preventDefault();\n event.stopPropagation();\n }\n if (event.keyCode === 32 && this.question.searchEnabled) {\n return;\n }\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_10__[\"doKey2ClickUp\"])(event, { processEsc: false, disableTabStop: this.question.isInputReadOnly });\n }\n };\n DropdownListModel.prototype.onEscape = function () {\n if (this.question.searchEnabled)\n this.applyInputString(this.question.selectedItem);\n };\n DropdownListModel.prototype.onScroll = function (event) {\n var target = event.target;\n if ((target.scrollHeight - (target.scrollTop + target.offsetHeight)) <= this.loadingItemHeight) {\n this.updateQuestionChoices();\n }\n };\n DropdownListModel.prototype.onBlur = function (event) {\n this.focused = false;\n if (this.popupModel.isVisible && _utils_devices__WEBPACK_IMPORTED_MODULE_9__[\"IsTouch\"]) {\n this._popupModel.isVisible = true;\n return;\n }\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_10__[\"doKey2ClickBlur\"])(event);\n this._popupModel.isVisible = false;\n this.resetFilterString();\n this.inputString = null;\n this.hintString = \"\";\n event.stopPropagation();\n };\n DropdownListModel.prototype.onFocus = function (event) {\n this.focused = true;\n this.setInputStringFromSelectedItem(this.question.selectedItem);\n };\n DropdownListModel.prototype.setInputStringFromSelectedItem = function (newValue) {\n if (!this.focused)\n return;\n if (this.question.searchEnabled && !!newValue) {\n this.applyInputString(newValue);\n }\n else {\n this.inputString = null;\n }\n };\n DropdownListModel.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.question && this.question.onPropertyChanged.remove(this.qustionPropertyChangedHandler);\n this.qustionPropertyChangedHandler = undefined;\n if (!!this.listModel) {\n this.listModel.dispose();\n }\n if (!!this.popupModel) {\n this.popupModel.dispose();\n }\n };\n DropdownListModel.prototype.scrollToFocusedItem = function () {\n this.listModel.scrollToFocusedItem();\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__[\"property\"])({ defaultValue: false })\n ], DropdownListModel.prototype, \"focused\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__[\"property\"])({ defaultValue: true })\n ], DropdownListModel.prototype, \"searchEnabled\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__[\"property\"])({\n defaultValue: \"\",\n onSet: function (_, target) {\n target.onSetFilterString();\n }\n })\n ], DropdownListModel.prototype, \"filterString\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__[\"property\"])({\n defaultValue: \"\",\n onSet: function (newValue, target) {\n target.question.inputHasValue = !!newValue;\n }\n })\n ], DropdownListModel.prototype, \"inputString\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__[\"property\"])({})\n ], DropdownListModel.prototype, \"showInputFieldComponent\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__[\"property\"])()\n ], DropdownListModel.prototype, \"ariaActivedescendant\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__[\"property\"])({\n defaultValue: false,\n onSet: function (newVal, target) {\n if (newVal) {\n target.listModel.addScrollEventListener(function (e) { target.onScroll(e); });\n }\n else {\n target.listModel.removeScrollEventListener();\n }\n }\n })\n ], DropdownListModel.prototype, \"hasScroll\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__[\"property\"])({ defaultValue: \"\" })\n ], DropdownListModel.prototype, \"hintString\", void 0);\n return DropdownListModel;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/dropdownMultiSelectListModel.ts\":\n/*!*********************************************!*\\\n !*** ./src/dropdownMultiSelectListModel.ts ***!\n \\*********************************************/\n/*! exports provided: DropdownMultiSelectListModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DropdownMultiSelectListModel\", function() { return DropdownMultiSelectListModel; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _dropdownListModel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dropdownListModel */ \"./src/dropdownListModel.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _multiSelectListModel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./multiSelectListModel */ \"./src/multiSelectListModel.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/devices */ \"./src/utils/devices.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\nvar DropdownMultiSelectListModel = /** @class */ (function (_super) {\n __extends(DropdownMultiSelectListModel, _super);\n function DropdownMultiSelectListModel(question, onSelectionChanged) {\n var _this = _super.call(this, question, onSelectionChanged) || this;\n _this.popupCssClasses = \"sv-multi-select-list\";\n _this.setHideSelectedItems(question.hideSelectedItems);\n _this.syncFilterStringPlaceholder();\n _this.closeOnSelect = question.closeOnSelect;\n return _this;\n }\n DropdownMultiSelectListModel.prototype.locStrsChanged = function () {\n _super.prototype.locStrsChanged.call(this);\n this.syncFilterStringPlaceholder();\n };\n DropdownMultiSelectListModel.prototype.updateListState = function () {\n this.listModel.updateState();\n this.syncFilterStringPlaceholder();\n };\n DropdownMultiSelectListModel.prototype.syncFilterStringPlaceholder = function () {\n var selectedActions = this.getSelectedActions();\n if (selectedActions.length || this.question.selectedItems.length || this.listModel.focusedItem) {\n this.filterStringPlaceholder = undefined;\n }\n else {\n this.filterStringPlaceholder = this.question.placeholder;\n }\n };\n DropdownMultiSelectListModel.prototype.getSelectedActions = function () {\n return this.listModel.actions.filter(function (item) { return item.selected; });\n };\n DropdownMultiSelectListModel.prototype.getFocusFirstInputSelector = function () {\n if (this.listModel.hideSelectedItems && _utils_devices__WEBPACK_IMPORTED_MODULE_5__[\"IsTouch\"] && !this.isValueEmpty(this.question.value)) {\n return this.itemSelector;\n }\n else {\n return _super.prototype.getFocusFirstInputSelector.call(this);\n }\n };\n DropdownMultiSelectListModel.prototype.createListModel = function () {\n var _this = this;\n var visibleItems = this.getAvailableItems();\n var _onSelectionChanged = this.onSelectionChanged;\n if (!_onSelectionChanged) {\n _onSelectionChanged = function (item, status) {\n _this.resetFilterString();\n if (item.id === \"selectall\") {\n _this.selectAllItems();\n }\n else if (status === \"added\" && item.value === _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].noneItemValue) {\n _this.selectNoneItem();\n }\n else if (status === \"added\") {\n _this.selectItem(item.value);\n }\n else if (status === \"removed\") {\n _this.deselectItem(item.value);\n }\n _this.popupRecalculatePosition(false);\n if (_this.closeOnSelect) {\n _this.popupModel.isVisible = false;\n }\n };\n }\n var res = new _multiSelectListModel__WEBPACK_IMPORTED_MODULE_3__[\"MultiSelectListModel\"](visibleItems, _onSelectionChanged, false, undefined, this.question.choicesLazyLoadEnabled ? this.listModelFilterStringChanged : undefined, this.listElementId);\n this.setOnTextSearchCallbackForListModel(res);\n res.forceShowFilter = true;\n return res;\n };\n DropdownMultiSelectListModel.prototype.resetFilterString = function () {\n _super.prototype.resetFilterString.call(this);\n this.inputString = null;\n this.hintString = \"\";\n };\n Object.defineProperty(DropdownMultiSelectListModel.prototype, \"shouldResetAfterCancel\", {\n get: function () {\n return _utils_devices__WEBPACK_IMPORTED_MODULE_5__[\"IsTouch\"] && !this.closeOnSelect;\n },\n enumerable: false,\n configurable: true\n });\n DropdownMultiSelectListModel.prototype.createPopup = function () {\n var _this = this;\n _super.prototype.createPopup.call(this);\n this.popupModel.onFooterActionsCreated.add(function (_, opt) {\n if (_this.shouldResetAfterCancel) {\n opt.actions.push({\n id: \"sv-dropdown-done-button\",\n title: _this.doneButtonCaption,\n innerCss: \"sv-popup__button--done\",\n needSpace: true,\n action: function () { _this.popupModel.isVisible = false; },\n enabled: new _base__WEBPACK_IMPORTED_MODULE_0__[\"ComputedUpdater\"](function () { return !_this.isTwoValueEquals(_this.question.renderedValue, _this.previousValue); })\n });\n }\n });\n this.popupModel.onVisibilityChanged.add(function (_, opt) {\n if (_this.shouldResetAfterCancel && opt.isVisible) {\n _this.previousValue = [].concat(_this.question.renderedValue || []);\n }\n });\n this.popupModel.onCancel = function () {\n if (_this.shouldResetAfterCancel) {\n _this.question.renderedValue = _this.previousValue;\n _this.updateListState();\n }\n };\n };\n DropdownMultiSelectListModel.prototype.selectAllItems = function () {\n this.question.toggleSelectAll();\n this.updateListState();\n };\n DropdownMultiSelectListModel.prototype.selectNoneItem = function () {\n this.question.renderedValue = [_settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].noneItemValue];\n this.updateListState();\n };\n DropdownMultiSelectListModel.prototype.selectItem = function (id) {\n var newValue = [].concat(this.question.renderedValue || []);\n newValue.push(id);\n this.question.renderedValue = newValue;\n this.updateListState();\n };\n DropdownMultiSelectListModel.prototype.deselectItem = function (id) {\n var newValue = [].concat(this.question.renderedValue || []);\n newValue.splice(newValue.indexOf(id), 1);\n this.question.renderedValue = newValue;\n this.applyHintString(this.listModel.focusedItem);\n this.updateListState();\n };\n DropdownMultiSelectListModel.prototype.clear = function () {\n _super.prototype.clear.call(this);\n this.syncFilterStringPlaceholder();\n };\n DropdownMultiSelectListModel.prototype.onClear = function (event) {\n _super.prototype.onClear.call(this, event);\n this.updateListState();\n };\n DropdownMultiSelectListModel.prototype.setHideSelectedItems = function (newValue) {\n this.listModel.hideSelectedItems = newValue;\n this.updateListState();\n };\n DropdownMultiSelectListModel.prototype.removeLastSelectedItem = function () {\n this.deselectItem(this.question.renderedValue[this.question.renderedValue.length - 1]);\n this.popupRecalculatePosition(false);\n };\n DropdownMultiSelectListModel.prototype.inputKeyHandler = function (event) {\n if (event.keyCode === 8 && !this.filterString) {\n this.removeLastSelectedItem();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n DropdownMultiSelectListModel.prototype.setInputStringFromSelectedItem = function (newValue) {\n if (this.question.searchEnabled) {\n this.inputString = null;\n }\n };\n DropdownMultiSelectListModel.prototype.focusItemOnClickAndPopup = function () {\n return;\n };\n DropdownMultiSelectListModel.prototype.onEscape = function () {\n return;\n };\n DropdownMultiSelectListModel.prototype.beforeScrollToFocusedItem = function (focusedItem) {\n return;\n };\n DropdownMultiSelectListModel.prototype.afterScrollToFocusedItem = function () {\n var _a;\n if (!((_a = this.listModel.focusedItem) === null || _a === void 0 ? void 0 : _a.selected)) {\n this.applyHintString(this.listModel.focusedItem || this.question.selectedItem);\n }\n else {\n this.hintString = \"\";\n }\n this.syncFilterStringPlaceholder();\n };\n DropdownMultiSelectListModel.prototype.onPropertyChangedHandler = function (sender, options) {\n _super.prototype.onPropertyChangedHandler.call(this, sender, options);\n if (options.name === \"value\" || options.name === \"renderedValue\") {\n this.syncFilterStringPlaceholder();\n }\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: \"\" })\n ], DropdownMultiSelectListModel.prototype, \"filterStringPlaceholder\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: true })\n ], DropdownMultiSelectListModel.prototype, \"closeOnSelect\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], DropdownMultiSelectListModel.prototype, \"previousValue\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ localizable: { defaultStr: \"tagboxDoneButtonCaption\" } })\n ], DropdownMultiSelectListModel.prototype, \"doneButtonCaption\", void 0);\n return DropdownMultiSelectListModel;\n}(_dropdownListModel__WEBPACK_IMPORTED_MODULE_1__[\"DropdownListModel\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/dxSurveyService.ts\":\n/*!********************************!*\\\n !*** ./src/dxSurveyService.ts ***!\n \\********************************/\n/*! exports provided: dxSurveyService */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dxSurveyService\", function() { return dxSurveyService; });\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n\n/**\n * The class contains methods to work with api.surveyjs.io service.\n */\nvar dxSurveyService = /** @class */ (function () {\n function dxSurveyService() {\n }\n Object.defineProperty(dxSurveyService, \"serviceUrl\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].web.surveyServiceUrl;\n },\n set: function (val) {\n _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].web.surveyServiceUrl = val;\n },\n enumerable: false,\n configurable: true\n });\n dxSurveyService.prototype.loadSurvey = function (surveyId, onLoad) {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", dxSurveyService.serviceUrl + \"/getSurvey?surveyId=\" + surveyId);\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n xhr.onload = function () {\n var result = JSON.parse(xhr.response);\n onLoad(xhr.status == 200, result, xhr.response);\n };\n xhr.send();\n };\n dxSurveyService.prototype.getSurveyJsonAndIsCompleted = function (surveyId, clientId, onLoad) {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", dxSurveyService.serviceUrl +\n \"/getSurveyAndIsCompleted?surveyId=\" +\n surveyId +\n \"&clientId=\" +\n clientId);\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n xhr.onload = function () {\n var result = JSON.parse(xhr.response);\n var surveyJson = result ? result.survey : null;\n var isCompleted = result ? result.isCompleted : null;\n onLoad(xhr.status == 200, surveyJson, isCompleted, xhr.response);\n };\n xhr.send();\n };\n dxSurveyService.prototype.sendResult = function (postId, result, onSendResult, clientId, isPartialCompleted) {\n if (clientId === void 0) { clientId = null; }\n if (isPartialCompleted === void 0) { isPartialCompleted = false; }\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", dxSurveyService.serviceUrl + \"/post/\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json; charset=utf-8\");\n var data = { postId: postId, surveyResult: JSON.stringify(result) };\n if (clientId)\n data[\"clientId\"] = clientId;\n if (isPartialCompleted)\n data[\"isPartialCompleted\"] = true;\n var dataStringify = JSON.stringify(data);\n var self = this;\n xhr.onload = xhr.onerror = function () {\n if (!onSendResult)\n return;\n onSendResult(xhr.status === 200, xhr.response, xhr);\n };\n xhr.send(dataStringify);\n };\n dxSurveyService.prototype.sendFile = function (postId, file, onSendFile) {\n var xhr = new XMLHttpRequest();\n xhr.onload = xhr.onerror = function () {\n if (!onSendFile)\n return;\n onSendFile(xhr.status == 200, JSON.parse(xhr.response));\n };\n xhr.open(\"POST\", dxSurveyService.serviceUrl + \"/upload/\", true);\n var formData = new FormData();\n formData.append(\"file\", file);\n formData.append(\"postId\", postId);\n xhr.send(formData);\n };\n dxSurveyService.prototype.getResult = function (resultId, name, onGetResult) {\n var xhr = new XMLHttpRequest();\n var data = \"resultId=\" + resultId + \"&name=\" + name;\n xhr.open(\"GET\", dxSurveyService.serviceUrl + \"/getResult?\" + data);\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n var self = this;\n xhr.onload = function () {\n var result = null;\n var list = null;\n if (xhr.status == 200) {\n result = JSON.parse(xhr.response);\n list = [];\n for (var key in result.QuestionResult) {\n var el = { name: key, value: result.QuestionResult[key] };\n list.push(el);\n }\n }\n onGetResult(xhr.status == 200, result, list, xhr.response);\n };\n xhr.send();\n };\n dxSurveyService.prototype.isCompleted = function (resultId, clientId, onIsCompleted) {\n var xhr = new XMLHttpRequest();\n var data = \"resultId=\" + resultId + \"&clientId=\" + clientId;\n xhr.open(\"GET\", dxSurveyService.serviceUrl + \"/isCompleted?\" + data);\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n var self = this;\n xhr.onload = function () {\n var result = null;\n if (xhr.status == 200) {\n result = JSON.parse(xhr.response);\n }\n onIsCompleted(xhr.status == 200, result, xhr.response);\n };\n xhr.send();\n };\n return dxSurveyService;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/element-helper.ts\":\n/*!*******************************!*\\\n !*** ./src/element-helper.ts ***!\n \\*******************************/\n/*! exports provided: ElementHelper */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ElementHelper\", function() { return ElementHelper; });\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./global_variables_utils */ \"./src/global_variables_utils.ts\");\n\nvar ElementHelper = /** @class */ (function () {\n function ElementHelper() {\n }\n ElementHelper.focusElement = function (element) {\n element && element.focus();\n };\n ElementHelper.visibility = function (node) {\n var style = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__[\"DomDocumentHelper\"].getComputedStyle(node);\n if (style.display === \"none\" || style.visibility === \"hidden\")\n return false;\n return node.parentElement ? this.visibility(node.parentElement) : true;\n };\n ElementHelper.getNextElementPreorder = function (element) {\n var result = !!element.nextElementSibling ? element.nextElementSibling : element.parentElement.firstElementChild;\n if (this.visibility(result)) {\n return result;\n }\n else {\n return this.getNextElementPreorder(result);\n }\n };\n ElementHelper.getNextElementPostorder = function (element) {\n var result = !!element.previousElementSibling ? element.previousElementSibling : element.parentElement.lastElementChild;\n if (this.visibility(result)) {\n return result;\n }\n else {\n return this.getNextElementPostorder(result);\n }\n };\n ElementHelper.hasHorizontalScroller = function (element) {\n if (!!element) {\n return element.scrollWidth > element.offsetWidth;\n }\n return false;\n };\n ElementHelper.hasVerticalScroller = function (element) {\n if (!!element) {\n return element.scrollHeight > element.offsetHeight;\n }\n return false;\n };\n return ElementHelper;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/entries/chunks/localization.ts\":\n/*!********************************************!*\\\n !*** ./src/entries/chunks/localization.ts ***!\n \\********************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _localization_arabic__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../localization/arabic */ \"./src/localization/arabic.ts\");\n/* harmony import */ var _localization_basque__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../localization/basque */ \"./src/localization/basque.ts\");\n/* harmony import */ var _localization_bulgarian__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../localization/bulgarian */ \"./src/localization/bulgarian.ts\");\n/* harmony import */ var _localization_catalan__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../localization/catalan */ \"./src/localization/catalan.ts\");\n/* harmony import */ var _localization_croatian__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../localization/croatian */ \"./src/localization/croatian.ts\");\n/* harmony import */ var _localization_czech__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../localization/czech */ \"./src/localization/czech.ts\");\n/* harmony import */ var _localization_danish__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../localization/danish */ \"./src/localization/danish.ts\");\n/* harmony import */ var _localization_dutch__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../localization/dutch */ \"./src/localization/dutch.ts\");\n/* harmony import */ var _localization_nl_BE__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../localization/nl-BE */ \"./src/localization/nl-BE.ts\");\n/* harmony import */ var _localization_estonian__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../localization/estonian */ \"./src/localization/estonian.ts\");\n/* harmony import */ var _localization_finnish__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../localization/finnish */ \"./src/localization/finnish.ts\");\n/* harmony import */ var _localization_french__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../localization/french */ \"./src/localization/french.ts\");\n/* harmony import */ var _localization_georgian__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../localization/georgian */ \"./src/localization/georgian.ts\");\n/* harmony import */ var _localization_german__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../localization/german */ \"./src/localization/german.ts\");\n/* harmony import */ var _localization_greek__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../localization/greek */ \"./src/localization/greek.ts\");\n/* harmony import */ var _localization_hebrew__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../localization/hebrew */ \"./src/localization/hebrew.ts\");\n/* harmony import */ var _localization_hindi__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../localization/hindi */ \"./src/localization/hindi.ts\");\n/* harmony import */ var _localization_hungarian__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../localization/hungarian */ \"./src/localization/hungarian.ts\");\n/* harmony import */ var _localization_icelandic__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../localization/icelandic */ \"./src/localization/icelandic.ts\");\n/* harmony import */ var _localization_indonesian__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../localization/indonesian */ \"./src/localization/indonesian.ts\");\n/* harmony import */ var _localization_italian__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../localization/italian */ \"./src/localization/italian.ts\");\n/* harmony import */ var _localization_japanese__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../localization/japanese */ \"./src/localization/japanese.ts\");\n/* harmony import */ var _localization_kazakh__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../localization/kazakh */ \"./src/localization/kazakh.ts\");\n/* harmony import */ var _localization_korean__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../localization/korean */ \"./src/localization/korean.ts\");\n/* harmony import */ var _localization_latvian__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../localization/latvian */ \"./src/localization/latvian.ts\");\n/* harmony import */ var _localization_lithuanian__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../localization/lithuanian */ \"./src/localization/lithuanian.ts\");\n/* harmony import */ var _localization_macedonian__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../localization/macedonian */ \"./src/localization/macedonian.ts\");\n/* harmony import */ var _localization_malay__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../localization/malay */ \"./src/localization/malay.ts\");\n/* harmony import */ var _localization_norwegian__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../localization/norwegian */ \"./src/localization/norwegian.ts\");\n/* harmony import */ var _localization_persian__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../localization/persian */ \"./src/localization/persian.ts\");\n/* harmony import */ var _localization_polish__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../localization/polish */ \"./src/localization/polish.ts\");\n/* harmony import */ var _localization_portuguese__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../localization/portuguese */ \"./src/localization/portuguese.ts\");\n/* harmony import */ var _localization_portuguese_br__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../localization/portuguese-br */ \"./src/localization/portuguese-br.ts\");\n/* harmony import */ var _localization_romanian__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../../localization/romanian */ \"./src/localization/romanian.ts\");\n/* harmony import */ var _localization_russian__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../../localization/russian */ \"./src/localization/russian.ts\");\n/* harmony import */ var _localization_serbian__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../../localization/serbian */ \"./src/localization/serbian.ts\");\n/* harmony import */ var _localization_simplified_chinese__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../../localization/simplified-chinese */ \"./src/localization/simplified-chinese.ts\");\n/* harmony import */ var _localization_slovak__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../../localization/slovak */ \"./src/localization/slovak.ts\");\n/* harmony import */ var _localization_spanish__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../../localization/spanish */ \"./src/localization/spanish.ts\");\n/* harmony import */ var _localization_swahili__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../../localization/swahili */ \"./src/localization/swahili.ts\");\n/* harmony import */ var _localization_swedish__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../../localization/swedish */ \"./src/localization/swedish.ts\");\n/* harmony import */ var _localization_tajik__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../../localization/tajik */ \"./src/localization/tajik.ts\");\n/* harmony import */ var _localization_thai__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../../localization/thai */ \"./src/localization/thai.ts\");\n/* harmony import */ var _localization_traditional_chinese__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../../localization/traditional-chinese */ \"./src/localization/traditional-chinese.ts\");\n/* harmony import */ var _localization_turkish__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ../../localization/turkish */ \"./src/localization/turkish.ts\");\n/* harmony import */ var _localization_ukrainian__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ../../localization/ukrainian */ \"./src/localization/ukrainian.ts\");\n/* harmony import */ var _localization_vietnamese__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ../../localization/vietnamese */ \"./src/localization/vietnamese.ts\");\n/* harmony import */ var _localization_welsh__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ../../localization/welsh */ \"./src/localization/welsh.ts\");\n/* harmony import */ var _localization_telugu__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ../../localization/telugu */ \"./src/localization/telugu.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/entries/chunks/model.ts\":\n/*!*************************************!*\\\n !*** ./src/entries/chunks/model.ts ***!\n \\*************************************/\n/*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Version\", function() { return Version; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ReleaseDate\", function() { return ReleaseDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkLibraryVersion\", function() { return checkLibraryVersion; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLicenseKey\", function() { return setLicenseKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"slk\", function() { return slk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasLicense\", function() { return hasLicense; });\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../global_variables_utils */ \"./src/global_variables_utils.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../settings */ \"./src/settings.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return _settings__WEBPACK_IMPORTED_MODULE_1__[\"settings\"]; });\n\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../helpers */ \"./src/helpers.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Helpers\", function() { return _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"]; });\n\n/* harmony import */ var _validator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../validator */ \"./src/validator.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerCountValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_3__[\"AnswerCountValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmailValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_3__[\"EmailValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumericValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_3__[\"NumericValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RegexValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_3__[\"RegexValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_3__[\"SurveyValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_3__[\"TextValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorResult\", function() { return _validator__WEBPACK_IMPORTED_MODULE_3__[\"ValidatorResult\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_3__[\"ExpressionValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorRunner\", function() { return _validator__WEBPACK_IMPORTED_MODULE_3__[\"ValidatorRunner\"]; });\n\n/* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../itemvalue */ \"./src/itemvalue.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ItemValue\", function() { return _itemvalue__WEBPACK_IMPORTED_MODULE_4__[\"ItemValue\"]; });\n\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../base */ \"./src/base.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Base\", function() { return _base__WEBPACK_IMPORTED_MODULE_5__[\"Base\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Event\", function() { return _base__WEBPACK_IMPORTED_MODULE_5__[\"Event\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EventBase\", function() { return _base__WEBPACK_IMPORTED_MODULE_5__[\"EventBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayChanges\", function() { return _base__WEBPACK_IMPORTED_MODULE_5__[\"ArrayChanges\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComputedUpdater\", function() { return _base__WEBPACK_IMPORTED_MODULE_5__[\"ComputedUpdater\"]; });\n\n/* harmony import */ var _survey_error__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../survey-error */ \"./src/survey-error.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyError\", function() { return _survey_error__WEBPACK_IMPORTED_MODULE_6__[\"SurveyError\"]; });\n\n/* harmony import */ var _survey_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../survey-element */ \"./src/survey-element.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElementCore\", function() { return _survey_element__WEBPACK_IMPORTED_MODULE_7__[\"SurveyElementCore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElement\", function() { return _survey_element__WEBPACK_IMPORTED_MODULE_7__[\"SurveyElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragTypeOverMeEnum\", function() { return _survey_element__WEBPACK_IMPORTED_MODULE_7__[\"DragTypeOverMeEnum\"]; });\n\n/* harmony import */ var _calculatedValue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../calculatedValue */ \"./src/calculatedValue.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CalculatedValue\", function() { return _calculatedValue__WEBPACK_IMPORTED_MODULE_8__[\"CalculatedValue\"]; });\n\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../error */ \"./src/error.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomError\", function() { return _error__WEBPACK_IMPORTED_MODULE_9__[\"CustomError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerRequiredError\", function() { return _error__WEBPACK_IMPORTED_MODULE_9__[\"AnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OneAnswerRequiredError\", function() { return _error__WEBPACK_IMPORTED_MODULE_9__[\"OneAnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RequreNumericError\", function() { return _error__WEBPACK_IMPORTED_MODULE_9__[\"RequreNumericError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExceedSizeError\", function() { return _error__WEBPACK_IMPORTED_MODULE_9__[\"ExceedSizeError\"]; });\n\n/* harmony import */ var _localizablestring__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../localizablestring */ \"./src/localizablestring.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableString\", function() { return _localizablestring__WEBPACK_IMPORTED_MODULE_10__[\"LocalizableString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableStrings\", function() { return _localizablestring__WEBPACK_IMPORTED_MODULE_10__[\"LocalizableStrings\"]; });\n\n/* harmony import */ var _expressionItems__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../expressionItems */ \"./src/expressionItems.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HtmlConditionItem\", function() { return _expressionItems__WEBPACK_IMPORTED_MODULE_11__[\"HtmlConditionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UrlConditionItem\", function() { return _expressionItems__WEBPACK_IMPORTED_MODULE_11__[\"UrlConditionItem\"]; });\n\n/* harmony import */ var _choicesRestful__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../choicesRestful */ \"./src/choicesRestful.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestful\", function() { return _choicesRestful__WEBPACK_IMPORTED_MODULE_12__[\"ChoicesRestful\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestfull\", function() { return _choicesRestful__WEBPACK_IMPORTED_MODULE_12__[\"ChoicesRestfull\"]; });\n\n/* harmony import */ var _functionsfactory__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../functionsfactory */ \"./src/functionsfactory.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionFactory\", function() { return _functionsfactory__WEBPACK_IMPORTED_MODULE_13__[\"FunctionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerFunction\", function() { return _functionsfactory__WEBPACK_IMPORTED_MODULE_13__[\"registerFunction\"]; });\n\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../conditions */ \"./src/conditions.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionRunner\", function() { return _conditions__WEBPACK_IMPORTED_MODULE_14__[\"ConditionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionRunner\", function() { return _conditions__WEBPACK_IMPORTED_MODULE_14__[\"ExpressionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionExecutor\", function() { return _conditions__WEBPACK_IMPORTED_MODULE_14__[\"ExpressionExecutor\"]; });\n\n/* harmony import */ var _expressions_expressions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../expressions/expressions */ \"./src/expressions/expressions.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Operand\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_15__[\"Operand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Const\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_15__[\"Const\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BinaryOperand\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_15__[\"BinaryOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Variable\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_15__[\"Variable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionOperand\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_15__[\"FunctionOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayOperand\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_15__[\"ArrayOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnaryOperand\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_15__[\"UnaryOperand\"]; });\n\n/* harmony import */ var _conditionsParser__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../conditionsParser */ \"./src/conditionsParser.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionsParser\", function() { return _conditionsParser__WEBPACK_IMPORTED_MODULE_16__[\"ConditionsParser\"]; });\n\n/* harmony import */ var _conditionProcessValue__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../conditionProcessValue */ \"./src/conditionProcessValue.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProcessValue\", function() { return _conditionProcessValue__WEBPACK_IMPORTED_MODULE_17__[\"ProcessValue\"]; });\n\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../jsonobject */ \"./src/jsonobject.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonError\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"JsonError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonIncorrectTypeError\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"JsonIncorrectTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadata\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"JsonMetadata\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadataClass\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"JsonMetadataClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeError\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"JsonMissingTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeErrorBase\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"JsonMissingTypeErrorBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObject\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"JsonObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObjectProperty\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"JsonObjectProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonRequiredPropertyError\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"JsonRequiredPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonUnknownPropertyError\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"JsonUnknownPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Serializer\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"Serializer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"property\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"property\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propertyArray\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_18__[\"propertyArray\"]; });\n\n/* harmony import */ var _question_matrixdropdownbase__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../question_matrixdropdownbase */ \"./src/question_matrixdropdownbase.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownCell\", function() { return _question_matrixdropdownbase__WEBPACK_IMPORTED_MODULE_19__[\"MatrixDropdownCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModelBase\", function() { return _question_matrixdropdownbase__WEBPACK_IMPORTED_MODULE_19__[\"MatrixDropdownRowModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModelBase\", function() { return _question_matrixdropdownbase__WEBPACK_IMPORTED_MODULE_19__[\"QuestionMatrixDropdownModelBase\"]; });\n\n/* harmony import */ var _question_matrixdropdowncolumn__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../question_matrixdropdowncolumn */ \"./src/question_matrixdropdowncolumn.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownColumn\", function() { return _question_matrixdropdowncolumn__WEBPACK_IMPORTED_MODULE_20__[\"MatrixDropdownColumn\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matrixDropdownColumnTypes\", function() { return _question_matrixdropdowncolumn__WEBPACK_IMPORTED_MODULE_20__[\"matrixDropdownColumnTypes\"]; });\n\n/* harmony import */ var _question_matrixdropdownrendered__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../question_matrixdropdownrendered */ \"./src/question_matrixdropdownrendered.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedCell\", function() { return _question_matrixdropdownrendered__WEBPACK_IMPORTED_MODULE_21__[\"QuestionMatrixDropdownRenderedCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedRow\", function() { return _question_matrixdropdownrendered__WEBPACK_IMPORTED_MODULE_21__[\"QuestionMatrixDropdownRenderedRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedErrorRow\", function() { return _question_matrixdropdownrendered__WEBPACK_IMPORTED_MODULE_21__[\"QuestionMatrixDropdownRenderedErrorRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedTable\", function() { return _question_matrixdropdownrendered__WEBPACK_IMPORTED_MODULE_21__[\"QuestionMatrixDropdownRenderedTable\"]; });\n\n/* harmony import */ var _question_matrixdropdown__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../question_matrixdropdown */ \"./src/question_matrixdropdown.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModel\", function() { return _question_matrixdropdown__WEBPACK_IMPORTED_MODULE_22__[\"MatrixDropdownRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModel\", function() { return _question_matrixdropdown__WEBPACK_IMPORTED_MODULE_22__[\"QuestionMatrixDropdownModel\"]; });\n\n/* harmony import */ var _question_matrixdynamic__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../question_matrixdynamic */ \"./src/question_matrixdynamic.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDynamicRowModel\", function() { return _question_matrixdynamic__WEBPACK_IMPORTED_MODULE_23__[\"MatrixDynamicRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDynamicModel\", function() { return _question_matrixdynamic__WEBPACK_IMPORTED_MODULE_23__[\"QuestionMatrixDynamicModel\"]; });\n\n/* harmony import */ var _question_matrix__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../question_matrix */ \"./src/question_matrix.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixRowModel\", function() { return _question_matrix__WEBPACK_IMPORTED_MODULE_24__[\"MatrixRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixCells\", function() { return _question_matrix__WEBPACK_IMPORTED_MODULE_24__[\"MatrixCells\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixModel\", function() { return _question_matrix__WEBPACK_IMPORTED_MODULE_24__[\"QuestionMatrixModel\"]; });\n\n/* harmony import */ var _martixBase__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../martixBase */ \"./src/martixBase.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixBaseModel\", function() { return _martixBase__WEBPACK_IMPORTED_MODULE_25__[\"QuestionMatrixBaseModel\"]; });\n\n/* harmony import */ var _question_multipletext__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../question_multipletext */ \"./src/question_multipletext.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextItemModel\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_26__[\"MultipleTextItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextCell\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_26__[\"MultipleTextCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextErrorCell\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_26__[\"MultipleTextErrorCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextErrorRow\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_26__[\"MutlipleTextErrorRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextRow\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_26__[\"MutlipleTextRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMultipleTextModel\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_26__[\"QuestionMultipleTextModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextEditorModel\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_26__[\"MultipleTextEditorModel\"]; });\n\n/* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../panel */ \"./src/panel.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModel\", function() { return _panel__WEBPACK_IMPORTED_MODULE_27__[\"PanelModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModelBase\", function() { return _panel__WEBPACK_IMPORTED_MODULE_27__[\"PanelModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRowModel\", function() { return _panel__WEBPACK_IMPORTED_MODULE_27__[\"QuestionRowModel\"]; });\n\n/* harmony import */ var _flowpanel__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../flowpanel */ \"./src/flowpanel.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FlowPanelModel\", function() { return _flowpanel__WEBPACK_IMPORTED_MODULE_28__[\"FlowPanelModel\"]; });\n\n/* harmony import */ var _page__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../page */ \"./src/page.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageModel\", function() { return _page__WEBPACK_IMPORTED_MODULE_29__[\"PageModel\"]; });\n\n/* harmony import */ var _template_renderer__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../template-renderer */ \"./src/template-renderer.ts\");\n/* empty/unused harmony star reexport *//* harmony import */ var _defaultTitle__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../defaultTitle */ \"./src/defaultTitle.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DefaultTitleModel\", function() { return _defaultTitle__WEBPACK_IMPORTED_MODULE_31__[\"DefaultTitleModel\"]; });\n\n/* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../question */ \"./src/question.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Question\", function() { return _question__WEBPACK_IMPORTED_MODULE_32__[\"Question\"]; });\n\n/* harmony import */ var _questionnonvalue__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../../questionnonvalue */ \"./src/questionnonvalue.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionNonValue\", function() { return _questionnonvalue__WEBPACK_IMPORTED_MODULE_33__[\"QuestionNonValue\"]; });\n\n/* harmony import */ var _question_empty__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../../question_empty */ \"./src/question_empty.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionEmptyModel\", function() { return _question_empty__WEBPACK_IMPORTED_MODULE_34__[\"QuestionEmptyModel\"]; });\n\n/* harmony import */ var _question_baseselect__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../../question_baseselect */ \"./src/question_baseselect.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxBase\", function() { return _question_baseselect__WEBPACK_IMPORTED_MODULE_35__[\"QuestionCheckboxBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSelectBase\", function() { return _question_baseselect__WEBPACK_IMPORTED_MODULE_35__[\"QuestionSelectBase\"]; });\n\n/* harmony import */ var _question_checkbox__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../../question_checkbox */ \"./src/question_checkbox.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxModel\", function() { return _question_checkbox__WEBPACK_IMPORTED_MODULE_36__[\"QuestionCheckboxModel\"]; });\n\n/* harmony import */ var _question_tagbox__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../../question_tagbox */ \"./src/question_tagbox.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTagboxModel\", function() { return _question_tagbox__WEBPACK_IMPORTED_MODULE_37__[\"QuestionTagboxModel\"]; });\n\n/* harmony import */ var _question_ranking__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../../question_ranking */ \"./src/question_ranking.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRankingModel\", function() { return _question_ranking__WEBPACK_IMPORTED_MODULE_38__[\"QuestionRankingModel\"]; });\n\n/* harmony import */ var _question_comment__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../../question_comment */ \"./src/question_comment.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCommentModel\", function() { return _question_comment__WEBPACK_IMPORTED_MODULE_39__[\"QuestionCommentModel\"]; });\n\n/* harmony import */ var _question_dropdown__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../../question_dropdown */ \"./src/question_dropdown.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionDropdownModel\", function() { return _question_dropdown__WEBPACK_IMPORTED_MODULE_40__[\"QuestionDropdownModel\"]; });\n\n/* harmony import */ var _questionfactory__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../../questionfactory */ \"./src/questionfactory.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFactory\", function() { return _questionfactory__WEBPACK_IMPORTED_MODULE_41__[\"QuestionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ElementFactory\", function() { return _questionfactory__WEBPACK_IMPORTED_MODULE_41__[\"ElementFactory\"]; });\n\n/* harmony import */ var _question_file__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../../question_file */ \"./src/question_file.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFileModel\", function() { return _question_file__WEBPACK_IMPORTED_MODULE_42__[\"QuestionFileModel\"]; });\n\n/* harmony import */ var _question_html__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../../question_html */ \"./src/question_html.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionHtmlModel\", function() { return _question_html__WEBPACK_IMPORTED_MODULE_43__[\"QuestionHtmlModel\"]; });\n\n/* harmony import */ var _question_radiogroup__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ../../question_radiogroup */ \"./src/question_radiogroup.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRadiogroupModel\", function() { return _question_radiogroup__WEBPACK_IMPORTED_MODULE_44__[\"QuestionRadiogroupModel\"]; });\n\n/* harmony import */ var _question_rating__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ../../question_rating */ \"./src/question_rating.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRatingModel\", function() { return _question_rating__WEBPACK_IMPORTED_MODULE_45__[\"QuestionRatingModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RenderedRatingItem\", function() { return _question_rating__WEBPACK_IMPORTED_MODULE_45__[\"RenderedRatingItem\"]; });\n\n/* harmony import */ var _question_expression__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ../../question_expression */ \"./src/question_expression.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionExpressionModel\", function() { return _question_expression__WEBPACK_IMPORTED_MODULE_46__[\"QuestionExpressionModel\"]; });\n\n/* harmony import */ var _question_textbase__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ../../question_textbase */ \"./src/question_textbase.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextBase\", function() { return _question_textbase__WEBPACK_IMPORTED_MODULE_47__[\"QuestionTextBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharacterCounter\", function() { return _question_textbase__WEBPACK_IMPORTED_MODULE_47__[\"CharacterCounter\"]; });\n\n/* harmony import */ var _question_text__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ../../question_text */ \"./src/question_text.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextModel\", function() { return _question_text__WEBPACK_IMPORTED_MODULE_48__[\"QuestionTextModel\"]; });\n\n/* harmony import */ var _question_boolean__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ../../question_boolean */ \"./src/question_boolean.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionBooleanModel\", function() { return _question_boolean__WEBPACK_IMPORTED_MODULE_49__[\"QuestionBooleanModel\"]; });\n\n/* harmony import */ var _question_imagepicker__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ../../question_imagepicker */ \"./src/question_imagepicker.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImagePickerModel\", function() { return _question_imagepicker__WEBPACK_IMPORTED_MODULE_50__[\"QuestionImagePickerModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageItemValue\", function() { return _question_imagepicker__WEBPACK_IMPORTED_MODULE_50__[\"ImageItemValue\"]; });\n\n/* harmony import */ var _question_image__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ../../question_image */ \"./src/question_image.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImageModel\", function() { return _question_image__WEBPACK_IMPORTED_MODULE_51__[\"QuestionImageModel\"]; });\n\n/* harmony import */ var _question_signaturepad__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ../../question_signaturepad */ \"./src/question_signaturepad.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSignaturePadModel\", function() { return _question_signaturepad__WEBPACK_IMPORTED_MODULE_52__[\"QuestionSignaturePadModel\"]; });\n\n/* harmony import */ var _question_paneldynamic__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ../../question_paneldynamic */ \"./src/question_paneldynamic.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicModel\", function() { return _question_paneldynamic__WEBPACK_IMPORTED_MODULE_53__[\"QuestionPanelDynamicModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicItem\", function() { return _question_paneldynamic__WEBPACK_IMPORTED_MODULE_53__[\"QuestionPanelDynamicItem\"]; });\n\n/* harmony import */ var _surveytimer__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ../../surveytimer */ \"./src/surveytimer.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimer\", function() { return _surveytimer__WEBPACK_IMPORTED_MODULE_54__[\"SurveyTimer\"]; });\n\n/* harmony import */ var _surveyTimerModel__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ../../surveyTimerModel */ \"./src/surveyTimerModel.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimerModel\", function() { return _surveyTimerModel__WEBPACK_IMPORTED_MODULE_55__[\"SurveyTimerModel\"]; });\n\n/* harmony import */ var _surveyToc__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../../surveyToc */ \"./src/surveyToc.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tryFocusPage\", function() { return _surveyToc__WEBPACK_IMPORTED_MODULE_56__[\"tryFocusPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTOCListModel\", function() { return _surveyToc__WEBPACK_IMPORTED_MODULE_56__[\"createTOCListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTocRootCss\", function() { return _surveyToc__WEBPACK_IMPORTED_MODULE_56__[\"getTocRootCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TOCModel\", function() { return _surveyToc__WEBPACK_IMPORTED_MODULE_56__[\"TOCModel\"]; });\n\n/* harmony import */ var _surveyProgress__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../../surveyProgress */ \"./src/surveyProgress.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressModel\", function() { return _surveyProgress__WEBPACK_IMPORTED_MODULE_57__[\"SurveyProgressModel\"]; });\n\n/* harmony import */ var _progress_buttons__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ../../progress-buttons */ \"./src/progress-buttons.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProgressButtons\", function() { return _progress_buttons__WEBPACK_IMPORTED_MODULE_58__[\"ProgressButtons\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProgressButtonsResponsivityManager\", function() { return _progress_buttons__WEBPACK_IMPORTED_MODULE_58__[\"ProgressButtonsResponsivityManager\"]; });\n\n/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ../../themes */ \"./src/themes.ts\");\n/* empty/unused harmony star reexport *//* harmony import */ var _survey__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ../../survey */ \"./src/survey.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyModel\", function() { return _survey__WEBPACK_IMPORTED_MODULE_60__[\"SurveyModel\"]; });\n\n/* harmony import */ var _survey_events_api__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ../../survey-events-api */ \"./src/survey-events-api.ts\");\n/* empty/unused harmony star reexport *//* harmony import */ var _trigger__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../../trigger */ \"./src/trigger.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTrigger\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_62__[\"SurveyTrigger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerComplete\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_62__[\"SurveyTriggerComplete\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSetValue\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_62__[\"SurveyTriggerSetValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerVisible\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_62__[\"SurveyTriggerVisible\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerCopyValue\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_62__[\"SurveyTriggerCopyValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerRunExpression\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_62__[\"SurveyTriggerRunExpression\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSkip\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_62__[\"SurveyTriggerSkip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Trigger\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_62__[\"Trigger\"]; });\n\n/* harmony import */ var _popup_survey__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ../../popup-survey */ \"./src/popup-survey.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupSurveyModel\", function() { return _popup_survey__WEBPACK_IMPORTED_MODULE_63__[\"PopupSurveyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyWindowModel\", function() { return _popup_survey__WEBPACK_IMPORTED_MODULE_63__[\"SurveyWindowModel\"]; });\n\n/* harmony import */ var _textPreProcessor__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../../textPreProcessor */ \"./src/textPreProcessor.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextPreProcessor\", function() { return _textPreProcessor__WEBPACK_IMPORTED_MODULE_64__[\"TextPreProcessor\"]; });\n\n/* harmony import */ var _notifier__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../../notifier */ \"./src/notifier.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Notifier\", function() { return _notifier__WEBPACK_IMPORTED_MODULE_65__[\"Notifier\"]; });\n\n/* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../../header */ \"./src/header.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Cover\", function() { return _header__WEBPACK_IMPORTED_MODULE_66__[\"Cover\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CoverCell\", function() { return _header__WEBPACK_IMPORTED_MODULE_66__[\"CoverCell\"]; });\n\n/* harmony import */ var _dxSurveyService__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ../../dxSurveyService */ \"./src/dxSurveyService.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dxSurveyService\", function() { return _dxSurveyService__WEBPACK_IMPORTED_MODULE_67__[\"dxSurveyService\"]; });\n\n/* harmony import */ var _localization_english__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ../../localization/english */ \"./src/localization/english.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"englishStrings\", function() { return _localization_english__WEBPACK_IMPORTED_MODULE_68__[\"englishStrings\"]; });\n\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ../../surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyLocalization\", function() { return _surveyStrings__WEBPACK_IMPORTED_MODULE_69__[\"surveyLocalization\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyStrings\", function() { return _surveyStrings__WEBPACK_IMPORTED_MODULE_69__[\"surveyStrings\"]; });\n\n/* harmony import */ var _questionCustomWidgets__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ../../questionCustomWidgets */ \"./src/questionCustomWidgets.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomWidget\", function() { return _questionCustomWidgets__WEBPACK_IMPORTED_MODULE_70__[\"QuestionCustomWidget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomWidgetCollection\", function() { return _questionCustomWidgets__WEBPACK_IMPORTED_MODULE_70__[\"CustomWidgetCollection\"]; });\n\n/* harmony import */ var _question_custom__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ../../question_custom */ \"./src/question_custom.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomModel\", function() { return _question_custom__WEBPACK_IMPORTED_MODULE_71__[\"QuestionCustomModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCompositeModel\", function() { return _question_custom__WEBPACK_IMPORTED_MODULE_71__[\"QuestionCompositeModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentQuestionJSON\", function() { return _question_custom__WEBPACK_IMPORTED_MODULE_71__[\"ComponentQuestionJSON\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentCollection\", function() { return _question_custom__WEBPACK_IMPORTED_MODULE_71__[\"ComponentCollection\"]; });\n\n/* harmony import */ var _stylesmanager__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ../../stylesmanager */ \"./src/stylesmanager.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StylesManager\", function() { return _stylesmanager__WEBPACK_IMPORTED_MODULE_72__[\"StylesManager\"]; });\n\n/* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ../../list */ \"./src/list.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ListModel\", function() { return _list__WEBPACK_IMPORTED_MODULE_73__[\"ListModel\"]; });\n\n/* harmony import */ var _multiSelectListModel__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../../multiSelectListModel */ \"./src/multiSelectListModel.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectListModel\", function() { return _multiSelectListModel__WEBPACK_IMPORTED_MODULE_74__[\"MultiSelectListModel\"]; });\n\n/* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../../popup */ \"./src/popup.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModel\", function() { return _popup__WEBPACK_IMPORTED_MODULE_75__[\"PopupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDialogOptions\", function() { return _popup__WEBPACK_IMPORTED_MODULE_75__[\"createDialogOptions\"]; });\n\n/* harmony import */ var _popup_view_model__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ../../popup-view-model */ \"./src/popup-view-model.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupBaseViewModel\", function() { return _popup_view_model__WEBPACK_IMPORTED_MODULE_76__[\"PopupBaseViewModel\"]; });\n\n/* harmony import */ var _popup_dropdown_view_model__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ../../popup-dropdown-view-model */ \"./src/popup-dropdown-view-model.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupDropdownViewModel\", function() { return _popup_dropdown_view_model__WEBPACK_IMPORTED_MODULE_77__[\"PopupDropdownViewModel\"]; });\n\n/* harmony import */ var _popup_modal_view_model__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ../../popup-modal-view-model */ \"./src/popup-modal-view-model.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModalViewModel\", function() { return _popup_modal_view_model__WEBPACK_IMPORTED_MODULE_78__[\"PopupModalViewModel\"]; });\n\n/* harmony import */ var _popup_utils__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ../../popup-utils */ \"./src/popup-utils.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupViewModel\", function() { return _popup_utils__WEBPACK_IMPORTED_MODULE_79__[\"createPopupViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupModalViewModel\", function() { return _popup_utils__WEBPACK_IMPORTED_MODULE_79__[\"createPopupModalViewModel\"]; });\n\n/* harmony import */ var _dropdownListModel__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ../../dropdownListModel */ \"./src/dropdownListModel.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownListModel\", function() { return _dropdownListModel__WEBPACK_IMPORTED_MODULE_80__[\"DropdownListModel\"]; });\n\n/* harmony import */ var _dropdownMultiSelectListModel__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ../../dropdownMultiSelectListModel */ \"./src/dropdownMultiSelectListModel.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownMultiSelectListModel\", function() { return _dropdownMultiSelectListModel__WEBPACK_IMPORTED_MODULE_81__[\"DropdownMultiSelectListModel\"]; });\n\n/* harmony import */ var _question_buttongroup__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ../../question_buttongroup */ \"./src/question_buttongroup.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionButtonGroupModel\", function() { return _question_buttongroup__WEBPACK_IMPORTED_MODULE_82__[\"QuestionButtonGroupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemModel\", function() { return _question_buttongroup__WEBPACK_IMPORTED_MODULE_82__[\"ButtonGroupItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemValue\", function() { return _question_buttongroup__WEBPACK_IMPORTED_MODULE_82__[\"ButtonGroupItemValue\"]; });\n\n/* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ../../utils/devices */ \"./src/utils/devices.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsMobile\", function() { return _utils_devices__WEBPACK_IMPORTED_MODULE_83__[\"IsMobile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsTouch\", function() { return _utils_devices__WEBPACK_IMPORTED_MODULE_83__[\"IsTouch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"_setIsTouch\", function() { return _utils_devices__WEBPACK_IMPORTED_MODULE_83__[\"_setIsTouch\"]; });\n\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ../../utils/utils */ \"./src/utils/utils.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmAction\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_84__[\"confirmAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmActionAsync\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_84__[\"confirmActionAsync\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"detectIEOrEdge\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_84__[\"detectIEOrEdge\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickUp\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_84__[\"doKey2ClickUp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickDown\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_84__[\"doKey2ClickDown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickBlur\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_84__[\"doKey2ClickBlur\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"loadFileFromBase64\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_84__[\"loadFileFromBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"increaseHeightByContent\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_84__[\"increaseHeightByContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createSvg\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_84__[\"createSvg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chooseFiles\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_84__[\"chooseFiles\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sanitizeEditableContent\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_84__[\"sanitizeEditableContent\"]; });\n\n/* harmony import */ var _mask_mask_base__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! ../../mask/mask_base */ \"./src/mask/mask_base.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskBase\", function() { return _mask_mask_base__WEBPACK_IMPORTED_MODULE_85__[\"InputMaskBase\"]; });\n\n/* harmony import */ var _mask_mask_pattern__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! ../../mask/mask_pattern */ \"./src/mask/mask_pattern.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskPattern\", function() { return _mask_mask_pattern__WEBPACK_IMPORTED_MODULE_86__[\"InputMaskPattern\"]; });\n\n/* harmony import */ var _mask_mask_numeric__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! ../../mask/mask_numeric */ \"./src/mask/mask_numeric.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskNumeric\", function() { return _mask_mask_numeric__WEBPACK_IMPORTED_MODULE_87__[\"InputMaskNumeric\"]; });\n\n/* harmony import */ var _mask_mask_datetime__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! ../../mask/mask_datetime */ \"./src/mask/mask_datetime.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskDateTime\", function() { return _mask_mask_datetime__WEBPACK_IMPORTED_MODULE_88__[\"InputMaskDateTime\"]; });\n\n/* harmony import */ var _mask_mask_currency__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(/*! ../../mask/mask_currency */ \"./src/mask/mask_currency.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskCurrency\", function() { return _mask_mask_currency__WEBPACK_IMPORTED_MODULE_89__[\"InputMaskCurrency\"]; });\n\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(/*! ../../utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CssClassBuilder\", function() { return _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_90__[\"CssClassBuilder\"]; });\n\n/* harmony import */ var _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(/*! ../../defaultCss/defaultV2Css */ \"./src/defaultCss/defaultV2Css.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyCss\", function() { return _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_91__[\"surveyCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2Css\", function() { return _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_91__[\"defaultV2Css\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2ThemeName\", function() { return _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_91__[\"defaultV2ThemeName\"]; });\n\n/* harmony import */ var _dragdrop_core__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(/*! ../../dragdrop/core */ \"./src/dragdrop/core.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropCore\", function() { return _dragdrop_core__WEBPACK_IMPORTED_MODULE_92__[\"DragDropCore\"]; });\n\n/* harmony import */ var _dragdrop_choices__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(/*! ../../dragdrop/choices */ \"./src/dragdrop/choices.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropChoices\", function() { return _dragdrop_choices__WEBPACK_IMPORTED_MODULE_93__[\"DragDropChoices\"]; });\n\n/* harmony import */ var _dragdrop_ranking_select_to_rank__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(/*! ../../dragdrop/ranking-select-to-rank */ \"./src/dragdrop/ranking-select-to-rank.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropRankingSelectToRank\", function() { return _dragdrop_ranking_select_to_rank__WEBPACK_IMPORTED_MODULE_94__[\"DragDropRankingSelectToRank\"]; });\n\n// styles\n// import \"../../main.scss\";\n//import \"../../modern.scss\";\n\nvar Version;\nvar ReleaseDate;\nVersion = \"\" + \"1.9.137\";\nReleaseDate = \"\" + \"2024-04-02\";\nfunction checkLibraryVersion(ver, libraryName) {\n if (Version != ver) {\n var str = \"survey-core has version '\" + Version + \"' and \" + libraryName\n + \" has version '\" + ver + \"'. SurveyJS libraries should have the same versions to work correctly.\";\n /* eslint no-console: [\"error\", { allow: [\"error\"] }] */\n console.error(str);\n }\n}\nfunction setLicenseKey(key) {\n slk(key);\n}\nfunction slk(key) {\n _slk(key, lic, ReleaseDate);\n}\nfunction hasLicense(index) {\n return lic[index.toString()] === true;\n}\nvar lic = {};\nfunction _slk(k, lh, rd) {\n if (!k)\n return;\n var en = function (s) {\n var e = {}, i, b = 0, c, x, l = 0, a, r = \"\", w = String.fromCharCode, L = s.length;\n var A = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n for (i = 0; i < 64; i++) {\n e[A.charAt(i)] = i;\n }\n for (x = 0; x < L; x++) {\n var c_1 = e[s.charAt(x)];\n b = (b << 6) + c_1;\n l += 6;\n while (l >= 8) {\n ((a = (b >>> (l -= 8)) & 0xff) || (x < (L - 2))) && (r += w(a));\n }\n }\n return r;\n };\n var v = en(k);\n if (!v)\n return;\n var index = v.indexOf(\";\");\n if (index < 0)\n return;\n if (!checkPrefix(v.substring(0, index)))\n return;\n v = v.substring(index + 1);\n v.split(\",\").forEach(function (s) {\n var i = s.indexOf(\"=\");\n if (i > 0) {\n lh[s.substring(0, i)] = new Date(rd) <= new Date(s.substring(i + 1));\n }\n });\n}\nfunction checkPrefix(prefix) {\n if (!prefix)\n return true;\n var s = \"domains:\";\n var index = prefix.indexOf(s);\n if (index < 0)\n return true;\n var ds = prefix.substring(index + s.length).toLowerCase().split(\",\");\n if (!Array.isArray(ds) || ds.length === 0)\n return true;\n var location = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__[\"DomWindowHelper\"].getLocation();\n if (!!location && !!location.hostname) {\n var hn = location.hostname.toLowerCase();\n ds.push(\"localhost\");\n for (var i = 0; i < ds.length; i++) {\n if (hn.indexOf(ds[i]) > -1)\n return true;\n }\n return false;\n }\n return true;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// export { cultureInfo } from \"../../cultureInfo\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//Uncomment to include the \"date\" question type.\n//export {default as QuestionDateModel} from \"../../plugins/question_date\";\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/entries/core-wo-model.ts\":\n/*!**************************************!*\\\n !*** ./src/entries/core-wo-model.ts ***!\n \\**************************************/\n/*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationBoolean, AnimationGroup, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _chunks_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunks/model */ \"./src/entries/chunks/model.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Version\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Version\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReleaseDate\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ReleaseDate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"checkLibraryVersion\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"checkLibraryVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLicenseKey\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"setLicenseKey\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"slk\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"slk\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasLicense\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"hasLicense\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"settings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Helpers\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerCountValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"AnswerCountValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmailValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"EmailValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumericValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"NumericValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RegexValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"RegexValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"TextValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorResult\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ValidatorResult\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorRunner\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ValidatorRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ItemValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Base\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Event\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Event\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EventBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"EventBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayChanges\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ArrayChanges\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComputedUpdater\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ComputedUpdater\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElementCore\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyElementCore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElement\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragTypeOverMeEnum\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DragTypeOverMeEnum\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CalculatedValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"CalculatedValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"CustomError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerRequiredError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"AnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OneAnswerRequiredError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"OneAnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RequreNumericError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"RequreNumericError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExceedSizeError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ExceedSizeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableString\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableStrings\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HtmlConditionItem\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"HtmlConditionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UrlConditionItem\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"UrlConditionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestful\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ChoicesRestful\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestfull\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ChoicesRestfull\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionFactory\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"FunctionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerFunction\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"registerFunction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionRunner\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ConditionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionRunner\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionExecutor\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionExecutor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Operand\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Operand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Const\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Const\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BinaryOperand\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"BinaryOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Variable\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Variable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionOperand\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"FunctionOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayOperand\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ArrayOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnaryOperand\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"UnaryOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionsParser\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ConditionsParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProcessValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ProcessValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonIncorrectTypeError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonIncorrectTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadata\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMetadata\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadataClass\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMetadataClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMissingTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeErrorBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMissingTypeErrorBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObject\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObjectProperty\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonObjectProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonRequiredPropertyError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonRequiredPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonUnknownPropertyError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonUnknownPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Serializer\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"property\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"property\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propertyArray\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"propertyArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownCell\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModelBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownRowModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModelBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownColumn\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownColumn\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matrixDropdownColumnTypes\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"matrixDropdownColumnTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedCell\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedRow\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedErrorRow\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedErrorRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedTable\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedTable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDynamicRowModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDynamicRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDynamicModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDynamicModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixRowModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixCells\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixCells\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixBaseModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixBaseModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextItemModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextCell\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextErrorCell\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextErrorCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextErrorRow\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MutlipleTextErrorRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextRow\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MutlipleTextRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMultipleTextModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMultipleTextModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextEditorModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextEditorModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PanelModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModelBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PanelModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRowModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FlowPanelModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"FlowPanelModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PageModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DefaultTitleModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DefaultTitleModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Question\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Question\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionNonValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionNonValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionEmptyModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionEmptyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCheckboxBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSelectBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionSelectBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCheckboxModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTagboxModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTagboxModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRankingModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRankingModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCommentModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCommentModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionDropdownModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionDropdownModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFactory\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ElementFactory\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ElementFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFileModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionFileModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionHtmlModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionHtmlModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRadiogroupModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRadiogroupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRatingModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRatingModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RenderedRatingItem\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"RenderedRatingItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionExpressionModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionExpressionModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTextBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharacterCounter\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"CharacterCounter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTextModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionBooleanModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionBooleanModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImagePickerModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionImagePickerModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageItemValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ImageItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImageModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionImageModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSignaturePadModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionSignaturePadModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionPanelDynamicModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicItem\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionPanelDynamicItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimer\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTimer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimerModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTimerModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tryFocusPage\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"tryFocusPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTOCListModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"createTOCListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTocRootCss\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"getTocRootCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TOCModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"TOCModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyProgressModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProgressButtons\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ProgressButtons\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProgressButtonsResponsivityManager\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ProgressButtonsResponsivityManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTrigger\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTrigger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerComplete\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerComplete\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSetValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerSetValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerVisible\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerVisible\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerCopyValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerCopyValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerRunExpression\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerRunExpression\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSkip\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerSkip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Trigger\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Trigger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupSurveyModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupSurveyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyWindowModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyWindowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextPreProcessor\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"TextPreProcessor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Notifier\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Notifier\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Cover\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Cover\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CoverCell\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"CoverCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dxSurveyService\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"dxSurveyService\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"englishStrings\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"englishStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyLocalization\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyStrings\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"surveyStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomWidget\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCustomWidget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomWidgetCollection\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"CustomWidgetCollection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCustomModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCompositeModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCompositeModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentQuestionJSON\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ComponentQuestionJSON\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentCollection\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ComponentCollection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StylesManager\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"StylesManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ListModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectListModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MultiSelectListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDialogOptions\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"createDialogOptions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupBaseViewModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupBaseViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupDropdownViewModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupDropdownViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModalViewModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupModalViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupViewModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"createPopupViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupModalViewModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"createPopupModalViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownListModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DropdownListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownMultiSelectListModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DropdownMultiSelectListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionButtonGroupModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionButtonGroupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ButtonGroupItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ButtonGroupItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsMobile\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"IsMobile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsTouch\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"IsTouch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"_setIsTouch\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"_setIsTouch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmAction\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"confirmAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmActionAsync\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"confirmActionAsync\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"detectIEOrEdge\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"detectIEOrEdge\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickUp\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickUp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickDown\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickDown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickBlur\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickBlur\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"loadFileFromBase64\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"loadFileFromBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"increaseHeightByContent\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"increaseHeightByContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createSvg\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"createSvg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chooseFiles\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"chooseFiles\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sanitizeEditableContent\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"sanitizeEditableContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskPattern\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskPattern\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskNumeric\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskNumeric\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskDateTime\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskDateTime\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskCurrency\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskCurrency\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CssClassBuilder\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"CssClassBuilder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyCss\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2Css\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"defaultV2Css\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2ThemeName\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"defaultV2ThemeName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropCore\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DragDropCore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropChoices\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DragDropChoices\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropRankingSelectToRank\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DragDropRankingSelectToRank\"]; });\n\n/* harmony import */ var _defaultCss_cssstandard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../defaultCss/cssstandard */ \"./src/defaultCss/cssstandard.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultStandardCss\", function() { return _defaultCss_cssstandard__WEBPACK_IMPORTED_MODULE_1__[\"defaultStandardCss\"]; });\n\n/* harmony import */ var _defaultCss_cssmodern__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../defaultCss/cssmodern */ \"./src/defaultCss/cssmodern.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"modernCss\", function() { return _defaultCss_cssmodern__WEBPACK_IMPORTED_MODULE_2__[\"modernCss\"]; });\n\n/* harmony import */ var _svgbundle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../svgbundle */ \"./src/svgbundle.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgIconRegistry\", function() { return _svgbundle__WEBPACK_IMPORTED_MODULE_3__[\"SvgIconRegistry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgRegistry\", function() { return _svgbundle__WEBPACK_IMPORTED_MODULE_3__[\"SvgRegistry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgBundleViewModel\", function() { return _svgbundle__WEBPACK_IMPORTED_MODULE_3__[\"SvgBundleViewModel\"]; });\n\n/* harmony import */ var _rendererFactory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../rendererFactory */ \"./src/rendererFactory.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RendererFactory\", function() { return _rendererFactory__WEBPACK_IMPORTED_MODULE_4__[\"RendererFactory\"]; });\n\n/* harmony import */ var _utils_responsivity_manager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/responsivity-manager */ \"./src/utils/responsivity-manager.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResponsivityManager\", function() { return _utils_responsivity_manager__WEBPACK_IMPORTED_MODULE_5__[\"ResponsivityManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VerticalResponsivityManager\", function() { return _utils_responsivity_manager__WEBPACK_IMPORTED_MODULE_5__[\"VerticalResponsivityManager\"]; });\n\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/utils */ \"./src/utils/utils.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unwrap\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_6__[\"unwrap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOriginalEvent\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_6__[\"getOriginalEvent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getElement\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_6__[\"getElement\"]; });\n\n/* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../actions/action */ \"./src/actions/action.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModel\", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__[\"createDropdownActionModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModelAdvanced\", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__[\"createDropdownActionModelAdvanced\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getActionDropdownButtonTarget\", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__[\"getActionDropdownButtonTarget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BaseAction\", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__[\"BaseAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Action\", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__[\"Action\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionDropdownViewModel\", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__[\"ActionDropdownViewModel\"]; });\n\n/* harmony import */ var _utils_animation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/animation */ \"./src/utils/animation.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationUtils\", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__[\"AnimationUtils\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationPropertyUtils\", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__[\"AnimationPropertyUtils\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationGroupUtils\", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__[\"AnimationGroupUtils\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationBoolean\", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__[\"AnimationBoolean\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationGroup\", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__[\"AnimationGroup\"]; });\n\n/* harmony import */ var _actions_adaptive_container__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../actions/adaptive-container */ \"./src/actions/adaptive-container.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AdaptiveActionContainer\", function() { return _actions_adaptive_container__WEBPACK_IMPORTED_MODULE_9__[\"AdaptiveActionContainer\"]; });\n\n/* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../actions/container */ \"./src/actions/container.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultActionBarCss\", function() { return _actions_container__WEBPACK_IMPORTED_MODULE_10__[\"defaultActionBarCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionContainer\", function() { return _actions_container__WEBPACK_IMPORTED_MODULE_10__[\"ActionContainer\"]; });\n\n/* harmony import */ var _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/dragOrClickHelper */ \"./src/utils/dragOrClickHelper.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragOrClickHelper\", function() { return _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_11__[\"DragOrClickHelper\"]; });\n\n// model\n\n// css standard classes\n\n// css modern classes\n\n\n// utils\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/entries/core.ts\":\n/*!*****************************!*\\\n !*** ./src/entries/core.ts ***!\n \\*****************************/\n/*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationBoolean, AnimationGroup, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core_wo_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core-wo-model */ \"./src/entries/core-wo-model.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Version\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Version\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReleaseDate\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ReleaseDate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"checkLibraryVersion\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"checkLibraryVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLicenseKey\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"setLicenseKey\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"slk\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"slk\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasLicense\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"hasLicense\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"settings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Helpers\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerCountValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"AnswerCountValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmailValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"EmailValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumericValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"NumericValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RegexValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"RegexValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"TextValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorResult\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ValidatorResult\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorRunner\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ValidatorRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ItemValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Base\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Event\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Event\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EventBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"EventBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayChanges\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ArrayChanges\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComputedUpdater\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ComputedUpdater\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElementCore\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyElementCore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElement\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragTypeOverMeEnum\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DragTypeOverMeEnum\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CalculatedValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"CalculatedValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"CustomError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerRequiredError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"AnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OneAnswerRequiredError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"OneAnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RequreNumericError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"RequreNumericError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExceedSizeError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ExceedSizeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableString\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableStrings\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HtmlConditionItem\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"HtmlConditionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UrlConditionItem\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"UrlConditionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestful\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ChoicesRestful\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestfull\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ChoicesRestfull\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionFactory\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"FunctionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerFunction\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"registerFunction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionRunner\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ConditionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionRunner\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionExecutor\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionExecutor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Operand\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Operand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Const\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Const\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BinaryOperand\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"BinaryOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Variable\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Variable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionOperand\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"FunctionOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayOperand\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ArrayOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnaryOperand\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"UnaryOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionsParser\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ConditionsParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProcessValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ProcessValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonIncorrectTypeError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonIncorrectTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadata\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMetadata\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadataClass\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMetadataClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMissingTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeErrorBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMissingTypeErrorBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObject\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObjectProperty\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonObjectProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonRequiredPropertyError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonRequiredPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonUnknownPropertyError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonUnknownPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Serializer\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"property\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"property\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propertyArray\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"propertyArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownCell\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModelBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownRowModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModelBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownColumn\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownColumn\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matrixDropdownColumnTypes\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"matrixDropdownColumnTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedCell\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedRow\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedErrorRow\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedErrorRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedTable\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedTable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDynamicRowModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDynamicRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDynamicModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDynamicModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixRowModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixCells\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixCells\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixBaseModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixBaseModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextItemModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextCell\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextErrorCell\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextErrorCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextErrorRow\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MutlipleTextErrorRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextRow\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MutlipleTextRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMultipleTextModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMultipleTextModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextEditorModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextEditorModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PanelModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModelBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PanelModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRowModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FlowPanelModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"FlowPanelModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PageModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DefaultTitleModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DefaultTitleModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Question\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Question\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionNonValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionNonValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionEmptyModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionEmptyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCheckboxBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSelectBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionSelectBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCheckboxModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTagboxModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTagboxModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRankingModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRankingModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCommentModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCommentModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionDropdownModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionDropdownModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFactory\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ElementFactory\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ElementFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFileModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionFileModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionHtmlModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionHtmlModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRadiogroupModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRadiogroupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRatingModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRatingModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RenderedRatingItem\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"RenderedRatingItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionExpressionModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionExpressionModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTextBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharacterCounter\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"CharacterCounter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTextModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionBooleanModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionBooleanModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImagePickerModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionImagePickerModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageItemValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ImageItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImageModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionImageModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSignaturePadModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionSignaturePadModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionPanelDynamicModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicItem\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionPanelDynamicItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimer\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTimer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimerModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTimerModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tryFocusPage\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"tryFocusPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTOCListModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createTOCListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTocRootCss\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"getTocRootCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TOCModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"TOCModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyProgressModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProgressButtons\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ProgressButtons\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProgressButtonsResponsivityManager\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ProgressButtonsResponsivityManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTrigger\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTrigger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerComplete\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerComplete\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSetValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerSetValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerVisible\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerVisible\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerCopyValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerCopyValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerRunExpression\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerRunExpression\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSkip\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerSkip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Trigger\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Trigger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupSurveyModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupSurveyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyWindowModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyWindowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextPreProcessor\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"TextPreProcessor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Notifier\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Notifier\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Cover\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Cover\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CoverCell\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"CoverCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dxSurveyService\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"dxSurveyService\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"englishStrings\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"englishStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyLocalization\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyStrings\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"surveyStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomWidget\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCustomWidget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomWidgetCollection\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"CustomWidgetCollection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCustomModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCompositeModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCompositeModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentQuestionJSON\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ComponentQuestionJSON\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentCollection\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ComponentCollection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StylesManager\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"StylesManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ListModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectListModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MultiSelectListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDialogOptions\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createDialogOptions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupBaseViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupBaseViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupDropdownViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupDropdownViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModalViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupModalViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createPopupViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupModalViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createPopupModalViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownListModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DropdownListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownMultiSelectListModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DropdownMultiSelectListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionButtonGroupModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionButtonGroupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ButtonGroupItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ButtonGroupItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsMobile\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"IsMobile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsTouch\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"IsTouch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"_setIsTouch\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"_setIsTouch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmAction\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"confirmAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmActionAsync\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"confirmActionAsync\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"detectIEOrEdge\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"detectIEOrEdge\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickUp\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickUp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickDown\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickDown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickBlur\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickBlur\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"loadFileFromBase64\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"loadFileFromBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"increaseHeightByContent\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"increaseHeightByContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createSvg\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createSvg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chooseFiles\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"chooseFiles\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sanitizeEditableContent\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"sanitizeEditableContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskPattern\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskPattern\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskNumeric\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskNumeric\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskDateTime\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskDateTime\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskCurrency\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskCurrency\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CssClassBuilder\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"CssClassBuilder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyCss\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2Css\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"defaultV2Css\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2ThemeName\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"defaultV2ThemeName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropCore\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DragDropCore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropChoices\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DragDropChoices\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropRankingSelectToRank\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DragDropRankingSelectToRank\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultStandardCss\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"defaultStandardCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"modernCss\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"modernCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgIconRegistry\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SvgIconRegistry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgRegistry\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SvgRegistry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgBundleViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SvgBundleViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RendererFactory\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"RendererFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResponsivityManager\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ResponsivityManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VerticalResponsivityManager\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"VerticalResponsivityManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unwrap\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"unwrap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOriginalEvent\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"getOriginalEvent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getElement\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"getElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createDropdownActionModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModelAdvanced\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createDropdownActionModelAdvanced\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getActionDropdownButtonTarget\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"getActionDropdownButtonTarget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BaseAction\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"BaseAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Action\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Action\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionDropdownViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ActionDropdownViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationUtils\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"AnimationUtils\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationPropertyUtils\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"AnimationPropertyUtils\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationGroupUtils\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"AnimationGroupUtils\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationBoolean\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"AnimationBoolean\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationGroup\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"AnimationGroup\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AdaptiveActionContainer\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"AdaptiveActionContainer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultActionBarCss\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"defaultActionBarCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionContainer\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ActionContainer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragOrClickHelper\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DragOrClickHelper\"]; });\n\n/* harmony import */ var _survey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../survey */ \"./src/survey.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Model\", function() { return _survey__WEBPACK_IMPORTED_MODULE_1__[\"SurveyModel\"]; });\n\n// model\n\n\n\n\n/***/ }),\n\n/***/ \"./src/entries/plugins.ts\":\n/*!********************************!*\\\n !*** ./src/entries/plugins.ts ***!\n \\********************************/\n/*! exports provided: bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultBootstrapCss\", function() { return defaultBootstrapCss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultBootstrapMaterialCss\", function() { return defaultBootstrapMaterialCss; });\n/* harmony import */ var _plugins_themes_bootstrap_cssbootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../plugins/themes/bootstrap/cssbootstrap */ \"./src/plugins/themes/bootstrap/cssbootstrap.ts\");\n/* harmony import */ var _plugins_themes_bootstrapmaterial_cssbootstrapmaterial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../plugins/themes/bootstrapmaterial/cssbootstrapmaterial */ \"./src/plugins/themes/bootstrapmaterial/cssbootstrapmaterial.ts\");\n/* harmony import */ var _plugins_themes_bootstrap_theme_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../plugins/themes/bootstrap/theme-settings */ \"./src/plugins/themes/bootstrap/theme-settings.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bootstrapThemeName\", function() { return _plugins_themes_bootstrap_theme_settings__WEBPACK_IMPORTED_MODULE_2__[\"bootstrapThemeName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bootstrapThemeColors\", function() { return _plugins_themes_bootstrap_theme_settings__WEBPACK_IMPORTED_MODULE_2__[\"bootstrapThemeColors\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bootstrapThemeCssRules\", function() { return _plugins_themes_bootstrap_theme_settings__WEBPACK_IMPORTED_MODULE_2__[\"bootstrapThemeCssRules\"]; });\n\n/* harmony import */ var _plugins_themes_bootstrapmaterial_theme_settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../plugins/themes/bootstrapmaterial/theme-settings */ \"./src/plugins/themes/bootstrapmaterial/theme-settings.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bootstrapMaterialThemeName\", function() { return _plugins_themes_bootstrapmaterial_theme_settings__WEBPACK_IMPORTED_MODULE_3__[\"bootstrapMaterialThemeName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bootstrapMaterialThemeColors\", function() { return _plugins_themes_bootstrapmaterial_theme_settings__WEBPACK_IMPORTED_MODULE_3__[\"bootstrapMaterialThemeColors\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bootstrapMaterialThemeCssRules\", function() { return _plugins_themes_bootstrapmaterial_theme_settings__WEBPACK_IMPORTED_MODULE_3__[\"bootstrapMaterialThemeCssRules\"]; });\n\n\n\n\n\nvar defaultBootstrapCss = _plugins_themes_bootstrap_cssbootstrap__WEBPACK_IMPORTED_MODULE_0__[\"defaultCss\"];\nvar defaultBootstrapMaterialCss = _plugins_themes_bootstrapmaterial_cssbootstrapmaterial__WEBPACK_IMPORTED_MODULE_1__[\"defaultCss\"];\n\n\n/***/ }),\n\n/***/ \"./src/entries/react-ui-model.ts\":\n/*!***************************************!*\\\n !*** ./src/entries/react-ui-model.ts ***!\n \\***************************************/\n/*! exports provided: Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _react_reactSurvey__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../react/reactSurvey */ \"./src/react/reactSurvey.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Survey\", function() { return _react_reactSurvey__WEBPACK_IMPORTED_MODULE_0__[\"Survey\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"attachKey2click\", function() { return _react_reactSurvey__WEBPACK_IMPORTED_MODULE_0__[\"attachKey2click\"]; });\n\n/* harmony import */ var _react_reactsurveymodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../react/reactsurveymodel */ \"./src/react/reactsurveymodel.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReactSurveyElementsWrapper\", function() { return _react_reactsurveymodel__WEBPACK_IMPORTED_MODULE_1__[\"ReactSurveyElementsWrapper\"]; });\n\n/* harmony import */ var _react_reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../react/reactSurveyNavigationBase */ \"./src/react/reactSurveyNavigationBase.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyNavigationBase\", function() { return _react_reactSurveyNavigationBase__WEBPACK_IMPORTED_MODULE_2__[\"SurveyNavigationBase\"]; });\n\n/* harmony import */ var _react_reacttimerpanel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../react/reacttimerpanel */ \"./src/react/reacttimerpanel.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimerPanel\", function() { return _react_reacttimerpanel__WEBPACK_IMPORTED_MODULE_3__[\"SurveyTimerPanel\"]; });\n\n/* harmony import */ var _react_page__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../react/page */ \"./src/react/page.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyPage\", function() { return _react_page__WEBPACK_IMPORTED_MODULE_4__[\"SurveyPage\"]; });\n\n/* harmony import */ var _react_row__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../react/row */ \"./src/react/row.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyRow\", function() { return _react_row__WEBPACK_IMPORTED_MODULE_5__[\"SurveyRow\"]; });\n\n/* harmony import */ var _react_panel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../react/panel */ \"./src/react/panel.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyPanel\", function() { return _react_panel__WEBPACK_IMPORTED_MODULE_6__[\"SurveyPanel\"]; });\n\n/* harmony import */ var _react_flow_panel__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../react/flow-panel */ \"./src/react/flow-panel.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyFlowPanel\", function() { return _react_flow_panel__WEBPACK_IMPORTED_MODULE_7__[\"SurveyFlowPanel\"]; });\n\n/* harmony import */ var _react_reactquestion__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../react/reactquestion */ \"./src/react/reactquestion.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestion\", function() { return _react_reactquestion__WEBPACK_IMPORTED_MODULE_8__[\"SurveyQuestion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElementErrors\", function() { return _react_reactquestion__WEBPACK_IMPORTED_MODULE_8__[\"SurveyElementErrors\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionAndErrorsCell\", function() { return _react_reactquestion__WEBPACK_IMPORTED_MODULE_8__[\"SurveyQuestionAndErrorsCell\"]; });\n\n/* harmony import */ var _react_reactquestion_element__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../react/reactquestion_element */ \"./src/react/reactquestion_element.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReactSurveyElement\", function() { return _react_reactquestion_element__WEBPACK_IMPORTED_MODULE_9__[\"ReactSurveyElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElementBase\", function() { return _react_reactquestion_element__WEBPACK_IMPORTED_MODULE_9__[\"SurveyElementBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionElementBase\", function() { return _react_reactquestion_element__WEBPACK_IMPORTED_MODULE_9__[\"SurveyQuestionElementBase\"]; });\n\n/* harmony import */ var _react_reactquestion_comment__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../react/reactquestion_comment */ \"./src/react/reactquestion_comment.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionCommentItem\", function() { return _react_reactquestion_comment__WEBPACK_IMPORTED_MODULE_10__[\"SurveyQuestionCommentItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionComment\", function() { return _react_reactquestion_comment__WEBPACK_IMPORTED_MODULE_10__[\"SurveyQuestionComment\"]; });\n\n/* harmony import */ var _react_reactquestion_checkbox__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../react/reactquestion_checkbox */ \"./src/react/reactquestion_checkbox.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionCheckbox\", function() { return _react_reactquestion_checkbox__WEBPACK_IMPORTED_MODULE_11__[\"SurveyQuestionCheckbox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionCheckboxItem\", function() { return _react_reactquestion_checkbox__WEBPACK_IMPORTED_MODULE_11__[\"SurveyQuestionCheckboxItem\"]; });\n\n/* harmony import */ var _react_reactquestion_ranking__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../react/reactquestion_ranking */ \"./src/react/reactquestion_ranking.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionRanking\", function() { return _react_reactquestion_ranking__WEBPACK_IMPORTED_MODULE_12__[\"SurveyQuestionRanking\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionRankingItem\", function() { return _react_reactquestion_ranking__WEBPACK_IMPORTED_MODULE_12__[\"SurveyQuestionRankingItem\"]; });\n\n/* harmony import */ var _react_components_rating_rating_item__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../react/components/rating/rating-item */ \"./src/react/components/rating/rating-item.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RatingItem\", function() { return _react_components_rating_rating_item__WEBPACK_IMPORTED_MODULE_13__[\"RatingItem\"]; });\n\n/* harmony import */ var _react_components_rating_rating_item_star__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../react/components/rating/rating-item-star */ \"./src/react/components/rating/rating-item-star.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RatingItemStar\", function() { return _react_components_rating_rating_item_star__WEBPACK_IMPORTED_MODULE_14__[\"RatingItemStar\"]; });\n\n/* harmony import */ var _react_components_rating_rating_item_smiley__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../react/components/rating/rating-item-smiley */ \"./src/react/components/rating/rating-item-smiley.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RatingItemSmiley\", function() { return _react_components_rating_rating_item_smiley__WEBPACK_IMPORTED_MODULE_15__[\"RatingItemSmiley\"]; });\n\n/* harmony import */ var _react_components_rating_rating_dropdown_item__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../react/components/rating/rating-dropdown-item */ \"./src/react/components/rating/rating-dropdown-item.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RatingDropdownItem\", function() { return _react_components_rating_rating_dropdown_item__WEBPACK_IMPORTED_MODULE_16__[\"RatingDropdownItem\"]; });\n\n/* harmony import */ var _react_tagbox_filter__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../react/tagbox-filter */ \"./src/react/tagbox-filter.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TagboxFilterString\", function() { return _react_tagbox_filter__WEBPACK_IMPORTED_MODULE_17__[\"TagboxFilterString\"]; });\n\n/* harmony import */ var _react_dropdown_item__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../react/dropdown-item */ \"./src/react/dropdown-item.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionOptionItem\", function() { return _react_dropdown_item__WEBPACK_IMPORTED_MODULE_18__[\"SurveyQuestionOptionItem\"]; });\n\n/* harmony import */ var _react_dropdown_base__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../react/dropdown-base */ \"./src/react/dropdown-base.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionDropdownBase\", function() { return _react_dropdown_base__WEBPACK_IMPORTED_MODULE_19__[\"SurveyQuestionDropdownBase\"]; });\n\n/* harmony import */ var _react_reactquestion_dropdown__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../react/reactquestion_dropdown */ \"./src/react/reactquestion_dropdown.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionDropdown\", function() { return _react_reactquestion_dropdown__WEBPACK_IMPORTED_MODULE_20__[\"SurveyQuestionDropdown\"]; });\n\n/* harmony import */ var _react_tagbox_item__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../react/tagbox-item */ \"./src/react/tagbox-item.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionTagboxItem\", function() { return _react_tagbox_item__WEBPACK_IMPORTED_MODULE_21__[\"SurveyQuestionTagboxItem\"]; });\n\n/* harmony import */ var _react_reactquestion_tagbox__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../react/reactquestion_tagbox */ \"./src/react/reactquestion_tagbox.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionTagbox\", function() { return _react_reactquestion_tagbox__WEBPACK_IMPORTED_MODULE_22__[\"SurveyQuestionTagbox\"]; });\n\n/* harmony import */ var _react_dropdown_select__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../react/dropdown-select */ \"./src/react/dropdown-select.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionDropdownSelect\", function() { return _react_dropdown_select__WEBPACK_IMPORTED_MODULE_23__[\"SurveyQuestionDropdownSelect\"]; });\n\n/* harmony import */ var _react_reactquestion_matrix__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../react/reactquestion_matrix */ \"./src/react/reactquestion_matrix.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrix\", function() { return _react_reactquestion_matrix__WEBPACK_IMPORTED_MODULE_24__[\"SurveyQuestionMatrix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixRow\", function() { return _react_reactquestion_matrix__WEBPACK_IMPORTED_MODULE_24__[\"SurveyQuestionMatrixRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixCell\", function() { return _react_reactquestion_matrix__WEBPACK_IMPORTED_MODULE_24__[\"SurveyQuestionMatrixCell\"]; });\n\n/* harmony import */ var _react_reactquestion_html__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../react/reactquestion_html */ \"./src/react/reactquestion_html.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionHtml\", function() { return _react_reactquestion_html__WEBPACK_IMPORTED_MODULE_25__[\"SurveyQuestionHtml\"]; });\n\n/* harmony import */ var _react_reactquestion_file__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../react/reactquestion_file */ \"./src/react/reactquestion_file.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionFile\", function() { return _react_reactquestion_file__WEBPACK_IMPORTED_MODULE_26__[\"SurveyQuestionFile\"]; });\n\n/* harmony import */ var _react_components_file_file_choose_button__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../react/components/file/file-choose-button */ \"./src/react/components/file/file-choose-button.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyFileChooseButton\", function() { return _react_components_file_file_choose_button__WEBPACK_IMPORTED_MODULE_27__[\"SurveyFileChooseButton\"]; });\n\n/* harmony import */ var _react_components_file_file_preview__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../react/components/file/file-preview */ \"./src/react/components/file/file-preview.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyFilePreview\", function() { return _react_components_file_file_preview__WEBPACK_IMPORTED_MODULE_28__[\"SurveyFilePreview\"]; });\n\n/* harmony import */ var _react_reactquestion_multipletext__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../react/reactquestion_multipletext */ \"./src/react/reactquestion_multipletext.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMultipleText\", function() { return _react_reactquestion_multipletext__WEBPACK_IMPORTED_MODULE_29__[\"SurveyQuestionMultipleText\"]; });\n\n/* harmony import */ var _react_reactquestion_radiogroup__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../react/reactquestion_radiogroup */ \"./src/react/reactquestion_radiogroup.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionRadiogroup\", function() { return _react_reactquestion_radiogroup__WEBPACK_IMPORTED_MODULE_30__[\"SurveyQuestionRadiogroup\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionRadioItem\", function() { return _react_reactquestion_radiogroup__WEBPACK_IMPORTED_MODULE_30__[\"SurveyQuestionRadioItem\"]; });\n\n/* harmony import */ var _react_reactquestion_text__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../react/reactquestion_text */ \"./src/react/reactquestion_text.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionText\", function() { return _react_reactquestion_text__WEBPACK_IMPORTED_MODULE_31__[\"SurveyQuestionText\"]; });\n\n/* harmony import */ var _react_boolean__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../react/boolean */ \"./src/react/boolean.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionBoolean\", function() { return _react_boolean__WEBPACK_IMPORTED_MODULE_32__[\"SurveyQuestionBoolean\"]; });\n\n/* harmony import */ var _react_boolean_checkbox__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../react/boolean-checkbox */ \"./src/react/boolean-checkbox.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionBooleanCheckbox\", function() { return _react_boolean_checkbox__WEBPACK_IMPORTED_MODULE_33__[\"SurveyQuestionBooleanCheckbox\"]; });\n\n/* harmony import */ var _react_boolean_radio__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../react/boolean-radio */ \"./src/react/boolean-radio.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionBooleanRadio\", function() { return _react_boolean_radio__WEBPACK_IMPORTED_MODULE_34__[\"SurveyQuestionBooleanRadio\"]; });\n\n/* harmony import */ var _react_reactquestion_empty__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../react/reactquestion_empty */ \"./src/react/reactquestion_empty.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionEmpty\", function() { return _react_reactquestion_empty__WEBPACK_IMPORTED_MODULE_35__[\"SurveyQuestionEmpty\"]; });\n\n/* harmony import */ var _react_reactquestion_matrixdropdownbase__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../react/reactquestion_matrixdropdownbase */ \"./src/react/reactquestion_matrixdropdownbase.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDropdownCell\", function() { return _react_reactquestion_matrixdropdownbase__WEBPACK_IMPORTED_MODULE_36__[\"SurveyQuestionMatrixDropdownCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDropdownBase\", function() { return _react_reactquestion_matrixdropdownbase__WEBPACK_IMPORTED_MODULE_36__[\"SurveyQuestionMatrixDropdownBase\"]; });\n\n/* harmony import */ var _react_reactquestion_matrixdropdown__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../react/reactquestion_matrixdropdown */ \"./src/react/reactquestion_matrixdropdown.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDropdown\", function() { return _react_reactquestion_matrixdropdown__WEBPACK_IMPORTED_MODULE_37__[\"SurveyQuestionMatrixDropdown\"]; });\n\n/* harmony import */ var _react_reactquestion_matrixdynamic__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../react/reactquestion_matrixdynamic */ \"./src/react/reactquestion_matrixdynamic.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDynamic\", function() { return _react_reactquestion_matrixdynamic__WEBPACK_IMPORTED_MODULE_38__[\"SurveyQuestionMatrixDynamic\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDynamicAddButton\", function() { return _react_reactquestion_matrixdynamic__WEBPACK_IMPORTED_MODULE_38__[\"SurveyQuestionMatrixDynamicAddButton\"]; });\n\n/* harmony import */ var _react_reactquestion_paneldynamic__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../react/reactquestion_paneldynamic */ \"./src/react/reactquestion_paneldynamic.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionPanelDynamic\", function() { return _react_reactquestion_paneldynamic__WEBPACK_IMPORTED_MODULE_39__[\"SurveyQuestionPanelDynamic\"]; });\n\n/* harmony import */ var _react_progress__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../react/progress */ \"./src/react/progress.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgress\", function() { return _react_progress__WEBPACK_IMPORTED_MODULE_40__[\"SurveyProgress\"]; });\n\n/* harmony import */ var _react_progressButtons__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../react/progressButtons */ \"./src/react/progressButtons.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressButtons\", function() { return _react_progressButtons__WEBPACK_IMPORTED_MODULE_41__[\"SurveyProgressButtons\"]; });\n\n/* harmony import */ var _react_progressToc__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../react/progressToc */ \"./src/react/progressToc.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressToc\", function() { return _react_progressToc__WEBPACK_IMPORTED_MODULE_42__[\"SurveyProgressToc\"]; });\n\n/* harmony import */ var _react_reactquestion_rating__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../react/reactquestion_rating */ \"./src/react/reactquestion_rating.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionRating\", function() { return _react_reactquestion_rating__WEBPACK_IMPORTED_MODULE_43__[\"SurveyQuestionRating\"]; });\n\n/* harmony import */ var _react_rating_dropdown__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ../react/rating-dropdown */ \"./src/react/rating-dropdown.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionRatingDropdown\", function() { return _react_rating_dropdown__WEBPACK_IMPORTED_MODULE_44__[\"SurveyQuestionRatingDropdown\"]; });\n\n/* harmony import */ var _react_reactquestion_expression__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ../react/reactquestion_expression */ \"./src/react/reactquestion_expression.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionExpression\", function() { return _react_reactquestion_expression__WEBPACK_IMPORTED_MODULE_45__[\"SurveyQuestionExpression\"]; });\n\n/* harmony import */ var _react_react_popup_survey__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ../react/react-popup-survey */ \"./src/react/react-popup-survey.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupSurvey\", function() { return _react_react_popup_survey__WEBPACK_IMPORTED_MODULE_46__[\"PopupSurvey\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyWindow\", function() { return _react_react_popup_survey__WEBPACK_IMPORTED_MODULE_46__[\"SurveyWindow\"]; });\n\n/* harmony import */ var _react_reactquestion_factory__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ../react/reactquestion_factory */ \"./src/react/reactquestion_factory.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReactQuestionFactory\", function() { return _react_reactquestion_factory__WEBPACK_IMPORTED_MODULE_47__[\"ReactQuestionFactory\"]; });\n\n/* harmony import */ var _react_element_factory__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ../react/element-factory */ \"./src/react/element-factory.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReactElementFactory\", function() { return _react_element_factory__WEBPACK_IMPORTED_MODULE_48__[\"ReactElementFactory\"]; });\n\n/* harmony import */ var _react_imagepicker__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ../react/imagepicker */ \"./src/react/imagepicker.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionImagePicker\", function() { return _react_imagepicker__WEBPACK_IMPORTED_MODULE_49__[\"SurveyQuestionImagePicker\"]; });\n\n/* harmony import */ var _react_image__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ../react/image */ \"./src/react/image.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionImage\", function() { return _react_image__WEBPACK_IMPORTED_MODULE_50__[\"SurveyQuestionImage\"]; });\n\n/* harmony import */ var _react_signaturepad__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ../react/signaturepad */ \"./src/react/signaturepad.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionSignaturePad\", function() { return _react_signaturepad__WEBPACK_IMPORTED_MODULE_51__[\"SurveyQuestionSignaturePad\"]; });\n\n/* harmony import */ var _react_reactquestion_buttongroup__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ../react/reactquestion_buttongroup */ \"./src/react/reactquestion_buttongroup.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionButtonGroup\", function() { return _react_reactquestion_buttongroup__WEBPACK_IMPORTED_MODULE_52__[\"SurveyQuestionButtonGroup\"]; });\n\n/* harmony import */ var _react_reactquestion_custom__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ../react/reactquestion_custom */ \"./src/react/reactquestion_custom.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionCustom\", function() { return _react_reactquestion_custom__WEBPACK_IMPORTED_MODULE_53__[\"SurveyQuestionCustom\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionComposite\", function() { return _react_reactquestion_custom__WEBPACK_IMPORTED_MODULE_53__[\"SurveyQuestionComposite\"]; });\n\n/* harmony import */ var _react_components_popup_popup__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ../react/components/popup/popup */ \"./src/react/components/popup/popup.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Popup\", function() { return _react_components_popup_popup__WEBPACK_IMPORTED_MODULE_54__[\"Popup\"]; });\n\n/* harmony import */ var _react_components_list_list__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ../react/components/list/list */ \"./src/react/components/list/list.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"List\", function() { return _react_components_list_list__WEBPACK_IMPORTED_MODULE_55__[\"List\"]; });\n\n/* harmony import */ var _react_components_title_title_actions__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../react/components/title/title-actions */ \"./src/react/components/title/title-actions.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TitleActions\", function() { return _react_components_title_title_actions__WEBPACK_IMPORTED_MODULE_56__[\"TitleActions\"]; });\n\n/* harmony import */ var _react_components_title_title_element__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../react/components/title/title-element */ \"./src/react/components/title/title-element.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TitleElement\", function() { return _react_components_title_title_element__WEBPACK_IMPORTED_MODULE_57__[\"TitleElement\"]; });\n\n/* harmony import */ var _react_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ../react/components/action-bar/action-bar */ \"./src/react/components/action-bar/action-bar.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyActionBar\", function() { return _react_components_action_bar_action_bar__WEBPACK_IMPORTED_MODULE_58__[\"SurveyActionBar\"]; });\n\n/* harmony import */ var _react_components_survey_header_logo_image__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ../react/components/survey-header/logo-image */ \"./src/react/components/survey-header/logo-image.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LogoImage\", function() { return _react_components_survey_header_logo_image__WEBPACK_IMPORTED_MODULE_59__[\"LogoImage\"]; });\n\n/* harmony import */ var _react_components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ../react/components/survey-header/survey-header */ \"./src/react/components/survey-header/survey-header.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyHeader\", function() { return _react_components_survey_header_survey_header__WEBPACK_IMPORTED_MODULE_60__[\"SurveyHeader\"]; });\n\n/* harmony import */ var _react_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ../react/components/svg-icon/svg-icon */ \"./src/react/components/svg-icon/svg-icon.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgIcon\", function() { return _react_components_svg_icon_svg_icon__WEBPACK_IMPORTED_MODULE_61__[\"SvgIcon\"]; });\n\n/* harmony import */ var _react_components_matrix_actions_remove_button_remove_button__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../react/components/matrix-actions/remove-button/remove-button */ \"./src/react/components/matrix-actions/remove-button/remove-button.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDynamicRemoveButton\", function() { return _react_components_matrix_actions_remove_button_remove_button__WEBPACK_IMPORTED_MODULE_62__[\"SurveyQuestionMatrixDynamicRemoveButton\"]; });\n\n/* harmony import */ var _react_components_matrix_actions_detail_button_detail_button__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ../react/components/matrix-actions/detail-button/detail-button */ \"./src/react/components/matrix-actions/detail-button/detail-button.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDetailButton\", function() { return _react_components_matrix_actions_detail_button_detail_button__WEBPACK_IMPORTED_MODULE_63__[\"SurveyQuestionMatrixDetailButton\"]; });\n\n/* harmony import */ var _react_components_matrix_actions_drag_drop_icon_drag_drop_icon__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../react/components/matrix-actions/drag-drop-icon/drag-drop-icon */ \"./src/react/components/matrix-actions/drag-drop-icon/drag-drop-icon.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDynamicDragDropIcon\", function() { return _react_components_matrix_actions_drag_drop_icon_drag_drop_icon__WEBPACK_IMPORTED_MODULE_64__[\"SurveyQuestionMatrixDynamicDragDropIcon\"]; });\n\n/* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_add_btn__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-add-btn */ \"./src/react/components/paneldynamic-actions/paneldynamic-add-btn.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionPanelDynamicAddButton\", function() { return _react_components_paneldynamic_actions_paneldynamic_add_btn__WEBPACK_IMPORTED_MODULE_65__[\"SurveyQuestionPanelDynamicAddButton\"]; });\n\n/* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_remove_btn__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-remove-btn */ \"./src/react/components/paneldynamic-actions/paneldynamic-remove-btn.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionPanelDynamicRemoveButton\", function() { return _react_components_paneldynamic_actions_paneldynamic_remove_btn__WEBPACK_IMPORTED_MODULE_66__[\"SurveyQuestionPanelDynamicRemoveButton\"]; });\n\n/* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_prev_btn__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-prev-btn */ \"./src/react/components/paneldynamic-actions/paneldynamic-prev-btn.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionPanelDynamicPrevButton\", function() { return _react_components_paneldynamic_actions_paneldynamic_prev_btn__WEBPACK_IMPORTED_MODULE_67__[\"SurveyQuestionPanelDynamicPrevButton\"]; });\n\n/* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_next_btn__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-next-btn */ \"./src/react/components/paneldynamic-actions/paneldynamic-next-btn.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionPanelDynamicNextButton\", function() { return _react_components_paneldynamic_actions_paneldynamic_next_btn__WEBPACK_IMPORTED_MODULE_68__[\"SurveyQuestionPanelDynamicNextButton\"]; });\n\n/* harmony import */ var _react_components_paneldynamic_actions_paneldynamic_progress_text__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ../react/components/paneldynamic-actions/paneldynamic-progress-text */ \"./src/react/components/paneldynamic-actions/paneldynamic-progress-text.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionPanelDynamicProgressText\", function() { return _react_components_paneldynamic_actions_paneldynamic_progress_text__WEBPACK_IMPORTED_MODULE_69__[\"SurveyQuestionPanelDynamicProgressText\"]; });\n\n/* harmony import */ var _react_components_survey_actions_survey_nav_button__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ../react/components/survey-actions/survey-nav-button */ \"./src/react/components/survey-actions/survey-nav-button.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyNavigationButton\", function() { return _react_components_survey_actions_survey_nav_button__WEBPACK_IMPORTED_MODULE_70__[\"SurveyNavigationButton\"]; });\n\n/* harmony import */ var _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ../react/components/matrix/row */ \"./src/react/components/matrix/row.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixRow\", function() { return _react_components_matrix_row__WEBPACK_IMPORTED_MODULE_71__[\"MatrixRow\"]; });\n\n/* harmony import */ var _react_components_skeleton__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ../react/components/skeleton */ \"./src/react/components/skeleton.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Skeleton\", function() { return _react_components_skeleton__WEBPACK_IMPORTED_MODULE_72__[\"Skeleton\"]; });\n\n/* harmony import */ var _react_components_notifier__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ../react/components/notifier */ \"./src/react/components/notifier.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NotifierComponent\", function() { return _react_components_notifier__WEBPACK_IMPORTED_MODULE_73__[\"NotifierComponent\"]; });\n\n/* harmony import */ var _react_components_components_container__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../react/components/components-container */ \"./src/react/components/components-container.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentsContainer\", function() { return _react_components_components_container__WEBPACK_IMPORTED_MODULE_74__[\"ComponentsContainer\"]; });\n\n/* harmony import */ var _react_components_character_counter__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../react/components/character-counter */ \"./src/react/components/character-counter.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharacterCounterComponent\", function() { return _react_components_character_counter__WEBPACK_IMPORTED_MODULE_75__[\"CharacterCounterComponent\"]; });\n\n/* harmony import */ var _react_components_header__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ../react/components/header */ \"./src/react/components/header.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HeaderMobile\", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_76__[\"HeaderMobile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HeaderCell\", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_76__[\"HeaderCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Header\", function() { return _react_components_header__WEBPACK_IMPORTED_MODULE_76__[\"Header\"]; });\n\n/* harmony import */ var _react_string_viewer__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ../react/string-viewer */ \"./src/react/string-viewer.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyLocStringViewer\", function() { return _react_string_viewer__WEBPACK_IMPORTED_MODULE_77__[\"SurveyLocStringViewer\"]; });\n\n/* harmony import */ var _react_string_editor__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ../react/string-editor */ \"./src/react/string-editor.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyLocStringEditor\", function() { return _react_string_editor__WEBPACK_IMPORTED_MODULE_78__[\"SurveyLocStringEditor\"]; });\n\n/* harmony import */ var _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ../react/components/loading-indicator */ \"./src/react/components/loading-indicator.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LoadingIndicatorComponent\", function() { return _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_79__[\"LoadingIndicatorComponent\"]; });\n\n/* harmony import */ var _react_svgbundle__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ../react/svgbundle */ \"./src/react/svgbundle.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgBundleComponent\", function() { return _react_svgbundle__WEBPACK_IMPORTED_MODULE_80__[\"SvgBundleComponent\"]; });\n\n// react\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//Uncomment to include the \"date\" question type.\n//export {default as SurveyQuestionDate} from \"../plugins/react/reactquestiondate\";\n\n\n/***/ }),\n\n/***/ \"./src/entries/react.ts\":\n/*!******************************!*\\\n !*** ./src/entries/react.ts ***!\n \\******************************/\n/*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationBoolean, AnimationGroup, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core */ \"./src/entries/core.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Version\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Version\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReleaseDate\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ReleaseDate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"checkLibraryVersion\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"checkLibraryVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLicenseKey\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"setLicenseKey\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"slk\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"slk\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasLicense\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"hasLicense\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"settings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Helpers\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerCountValidator\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"AnswerCountValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmailValidator\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"EmailValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumericValidator\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"NumericValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RegexValidator\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"RegexValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyValidator\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextValidator\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"TextValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorResult\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ValidatorResult\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionValidator\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorRunner\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ValidatorRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ItemValue\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Base\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Event\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Event\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EventBase\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"EventBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayChanges\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ArrayChanges\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComputedUpdater\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ComputedUpdater\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyError\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElementCore\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyElementCore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElement\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragTypeOverMeEnum\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"DragTypeOverMeEnum\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CalculatedValue\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"CalculatedValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomError\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"CustomError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerRequiredError\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"AnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OneAnswerRequiredError\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"OneAnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RequreNumericError\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"RequreNumericError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExceedSizeError\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ExceedSizeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableString\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableStrings\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HtmlConditionItem\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"HtmlConditionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UrlConditionItem\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"UrlConditionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestful\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ChoicesRestful\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestfull\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ChoicesRestfull\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionFactory\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"FunctionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerFunction\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"registerFunction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionRunner\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ConditionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionRunner\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionExecutor\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionExecutor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Operand\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Operand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Const\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Const\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BinaryOperand\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"BinaryOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Variable\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Variable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionOperand\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"FunctionOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayOperand\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ArrayOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnaryOperand\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"UnaryOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionsParser\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ConditionsParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProcessValue\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ProcessValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonError\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"JsonError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonIncorrectTypeError\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"JsonIncorrectTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadata\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"JsonMetadata\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadataClass\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"JsonMetadataClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeError\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"JsonMissingTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeErrorBase\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"JsonMissingTypeErrorBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObject\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"JsonObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObjectProperty\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"JsonObjectProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonRequiredPropertyError\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"JsonRequiredPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonUnknownPropertyError\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"JsonUnknownPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Serializer\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"property\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"property\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propertyArray\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"propertyArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownCell\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModelBase\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownRowModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModelBase\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownColumn\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownColumn\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matrixDropdownColumnTypes\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"matrixDropdownColumnTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedCell\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedRow\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedErrorRow\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedErrorRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedTable\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedTable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDynamicRowModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDynamicRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDynamicModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDynamicModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixRowModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MatrixRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixCells\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MatrixCells\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixBaseModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixBaseModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextItemModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextCell\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextErrorCell\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextErrorCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextErrorRow\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MutlipleTextErrorRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextRow\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MutlipleTextRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMultipleTextModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMultipleTextModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextEditorModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextEditorModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"PanelModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModelBase\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"PanelModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRowModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FlowPanelModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"FlowPanelModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"PageModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DefaultTitleModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"DefaultTitleModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Question\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Question\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionNonValue\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionNonValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionEmptyModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionEmptyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxBase\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCheckboxBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSelectBase\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionSelectBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCheckboxModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTagboxModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTagboxModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRankingModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRankingModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCommentModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCommentModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionDropdownModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionDropdownModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFactory\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ElementFactory\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ElementFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFileModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionFileModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionHtmlModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionHtmlModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRadiogroupModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRadiogroupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRatingModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRatingModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RenderedRatingItem\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"RenderedRatingItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionExpressionModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionExpressionModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextBase\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTextBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharacterCounter\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"CharacterCounter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTextModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionBooleanModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionBooleanModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImagePickerModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionImagePickerModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageItemValue\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ImageItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImageModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionImageModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSignaturePadModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionSignaturePadModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionPanelDynamicModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicItem\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionPanelDynamicItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimer\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTimer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimerModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTimerModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tryFocusPage\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"tryFocusPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTOCListModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"createTOCListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTocRootCss\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"getTocRootCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TOCModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"TOCModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyProgressModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProgressButtons\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ProgressButtons\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProgressButtonsResponsivityManager\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ProgressButtonsResponsivityManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTrigger\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTrigger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerComplete\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerComplete\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSetValue\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerSetValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerVisible\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerVisible\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerCopyValue\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerCopyValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerRunExpression\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerRunExpression\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSkip\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerSkip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Trigger\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Trigger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupSurveyModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"PopupSurveyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyWindowModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SurveyWindowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextPreProcessor\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"TextPreProcessor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Notifier\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Notifier\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Cover\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Cover\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CoverCell\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"CoverCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dxSurveyService\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"dxSurveyService\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"englishStrings\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"englishStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyLocalization\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyStrings\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"surveyStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomWidget\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCustomWidget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomWidgetCollection\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"CustomWidgetCollection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCustomModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCompositeModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCompositeModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentQuestionJSON\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ComponentQuestionJSON\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentCollection\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ComponentCollection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StylesManager\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"StylesManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ListModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectListModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"MultiSelectListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"PopupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDialogOptions\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"createDialogOptions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupBaseViewModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"PopupBaseViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupDropdownViewModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"PopupDropdownViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModalViewModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"PopupModalViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupViewModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"createPopupViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupModalViewModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"createPopupModalViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownListModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"DropdownListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownMultiSelectListModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"DropdownMultiSelectListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionButtonGroupModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"QuestionButtonGroupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ButtonGroupItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemValue\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ButtonGroupItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsMobile\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"IsMobile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsTouch\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"IsTouch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"_setIsTouch\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"_setIsTouch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmAction\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"confirmAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmActionAsync\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"confirmActionAsync\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"detectIEOrEdge\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"detectIEOrEdge\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickUp\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickUp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickDown\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickDown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickBlur\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickBlur\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"loadFileFromBase64\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"loadFileFromBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"increaseHeightByContent\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"increaseHeightByContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createSvg\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"createSvg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chooseFiles\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"chooseFiles\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sanitizeEditableContent\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"sanitizeEditableContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskBase\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskPattern\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskPattern\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskNumeric\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskNumeric\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskDateTime\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskDateTime\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputMaskCurrency\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"InputMaskCurrency\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CssClassBuilder\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"CssClassBuilder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyCss\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2Css\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"defaultV2Css\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2ThemeName\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"defaultV2ThemeName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropCore\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"DragDropCore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropChoices\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"DragDropChoices\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropRankingSelectToRank\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"DragDropRankingSelectToRank\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultStandardCss\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"defaultStandardCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"modernCss\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"modernCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgIconRegistry\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SvgIconRegistry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgRegistry\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SvgRegistry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgBundleViewModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"SvgBundleViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RendererFactory\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"RendererFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResponsivityManager\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ResponsivityManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VerticalResponsivityManager\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"VerticalResponsivityManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unwrap\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"unwrap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOriginalEvent\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"getOriginalEvent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getElement\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"getElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"createDropdownActionModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModelAdvanced\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"createDropdownActionModelAdvanced\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getActionDropdownButtonTarget\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"getActionDropdownButtonTarget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BaseAction\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"BaseAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Action\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Action\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionDropdownViewModel\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ActionDropdownViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationUtils\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"AnimationUtils\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationPropertyUtils\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"AnimationPropertyUtils\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationGroupUtils\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"AnimationGroupUtils\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationBoolean\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"AnimationBoolean\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnimationGroup\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"AnimationGroup\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AdaptiveActionContainer\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"AdaptiveActionContainer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultActionBarCss\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"defaultActionBarCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionContainer\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"ActionContainer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragOrClickHelper\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"DragOrClickHelper\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Model\", function() { return _core__WEBPACK_IMPORTED_MODULE_0__[\"Model\"]; });\n\n/* harmony import */ var _plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./plugins */ \"./src/entries/plugins.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bootstrapThemeName\", function() { return _plugins__WEBPACK_IMPORTED_MODULE_1__[\"bootstrapThemeName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bootstrapThemeColors\", function() { return _plugins__WEBPACK_IMPORTED_MODULE_1__[\"bootstrapThemeColors\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bootstrapThemeCssRules\", function() { return _plugins__WEBPACK_IMPORTED_MODULE_1__[\"bootstrapThemeCssRules\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bootstrapMaterialThemeName\", function() { return _plugins__WEBPACK_IMPORTED_MODULE_1__[\"bootstrapMaterialThemeName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bootstrapMaterialThemeColors\", function() { return _plugins__WEBPACK_IMPORTED_MODULE_1__[\"bootstrapMaterialThemeColors\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bootstrapMaterialThemeCssRules\", function() { return _plugins__WEBPACK_IMPORTED_MODULE_1__[\"bootstrapMaterialThemeCssRules\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultBootstrapCss\", function() { return _plugins__WEBPACK_IMPORTED_MODULE_1__[\"defaultBootstrapCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultBootstrapMaterialCss\", function() { return _plugins__WEBPACK_IMPORTED_MODULE_1__[\"defaultBootstrapMaterialCss\"]; });\n\n/* harmony import */ var _chunks_localization__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./chunks/localization */ \"./src/entries/chunks/localization.ts\");\n/* harmony import */ var _react_ui_model__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./react-ui-model */ \"./src/entries/react-ui-model.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Survey\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"Survey\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"attachKey2click\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"attachKey2click\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReactSurveyElementsWrapper\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"ReactSurveyElementsWrapper\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyNavigationBase\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyNavigationBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimerPanel\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyTimerPanel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyPage\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyRow\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyPanel\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyPanel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyFlowPanel\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyFlowPanel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestion\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElementErrors\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyElementErrors\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionAndErrorsCell\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionAndErrorsCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReactSurveyElement\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"ReactSurveyElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElementBase\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyElementBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionElementBase\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionElementBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionCommentItem\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionCommentItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionComment\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionComment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionCheckbox\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionCheckbox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionCheckboxItem\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionCheckboxItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionRanking\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionRanking\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionRankingItem\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionRankingItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RatingItem\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"RatingItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RatingItemStar\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"RatingItemStar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RatingItemSmiley\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"RatingItemSmiley\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RatingDropdownItem\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"RatingDropdownItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TagboxFilterString\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"TagboxFilterString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionOptionItem\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionOptionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionDropdownBase\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionDropdownBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionDropdown\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionDropdown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionTagboxItem\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionTagboxItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionTagbox\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionTagbox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionDropdownSelect\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionDropdownSelect\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrix\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionMatrix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixRow\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionMatrixRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixCell\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionMatrixCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionHtml\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionHtml\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionFile\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionFile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyFileChooseButton\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyFileChooseButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyFilePreview\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyFilePreview\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMultipleText\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionMultipleText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionRadiogroup\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionRadiogroup\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionRadioItem\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionRadioItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionText\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionBoolean\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionBoolean\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionBooleanCheckbox\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionBooleanCheckbox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionBooleanRadio\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionBooleanRadio\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionEmpty\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionEmpty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDropdownCell\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionMatrixDropdownCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDropdownBase\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionMatrixDropdownBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDropdown\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionMatrixDropdown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDynamic\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionMatrixDynamic\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDynamicAddButton\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionMatrixDynamicAddButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionPanelDynamic\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionPanelDynamic\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgress\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyProgress\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressButtons\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyProgressButtons\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressToc\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyProgressToc\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionRating\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionRating\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionRatingDropdown\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionRatingDropdown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionExpression\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionExpression\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupSurvey\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"PopupSurvey\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyWindow\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyWindow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReactQuestionFactory\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"ReactQuestionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReactElementFactory\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"ReactElementFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionImagePicker\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionImagePicker\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionImage\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionImage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionSignaturePad\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionSignaturePad\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionButtonGroup\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionButtonGroup\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionCustom\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionCustom\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionComposite\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionComposite\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Popup\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"Popup\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"List\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"List\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TitleActions\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"TitleActions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TitleElement\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"TitleElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyActionBar\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyActionBar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LogoImage\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"LogoImage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyHeader\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyHeader\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgIcon\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SvgIcon\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDynamicRemoveButton\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionMatrixDynamicRemoveButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDetailButton\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionMatrixDetailButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionMatrixDynamicDragDropIcon\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionMatrixDynamicDragDropIcon\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionPanelDynamicAddButton\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionPanelDynamicAddButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionPanelDynamicRemoveButton\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionPanelDynamicRemoveButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionPanelDynamicPrevButton\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionPanelDynamicPrevButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionPanelDynamicNextButton\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionPanelDynamicNextButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyQuestionPanelDynamicProgressText\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyQuestionPanelDynamicProgressText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyNavigationButton\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyNavigationButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixRow\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"MatrixRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Skeleton\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"Skeleton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NotifierComponent\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"NotifierComponent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentsContainer\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"ComponentsContainer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharacterCounterComponent\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"CharacterCounterComponent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HeaderMobile\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"HeaderMobile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HeaderCell\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"HeaderCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Header\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"Header\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyLocStringViewer\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyLocStringViewer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyLocStringEditor\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SurveyLocStringEditor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LoadingIndicatorComponent\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"LoadingIndicatorComponent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgBundleComponent\", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__[\"SvgBundleComponent\"]; });\n\n\n// themes settings\n\n// localization\n\n\n\n\n/***/ }),\n\n/***/ \"./src/error.ts\":\n/*!**********************!*\\\n !*** ./src/error.ts ***!\n \\**********************/\n/*! exports provided: AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, WebRequestError, WebRequestEmptyError, OtherEmptyError, UploadingFileError, RequiredInAllRowsError, EachRowUniqueError, MinRowCountError, KeyDuplicationError, CustomError */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AnswerRequiredError\", function() { return AnswerRequiredError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OneAnswerRequiredError\", function() { return OneAnswerRequiredError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RequreNumericError\", function() { return RequreNumericError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExceedSizeError\", function() { return ExceedSizeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebRequestError\", function() { return WebRequestError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebRequestEmptyError\", function() { return WebRequestEmptyError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OtherEmptyError\", function() { return OtherEmptyError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UploadingFileError\", function() { return UploadingFileError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RequiredInAllRowsError\", function() { return RequiredInAllRowsError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EachRowUniqueError\", function() { return EachRowUniqueError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MinRowCountError\", function() { return MinRowCountError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"KeyDuplicationError\", function() { return KeyDuplicationError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CustomError\", function() { return CustomError; });\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony import */ var _survey_error__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./survey-error */ \"./src/survey-error.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar AnswerRequiredError = /** @class */ (function (_super) {\n __extends(AnswerRequiredError, _super);\n function AnswerRequiredError(text, errorOwner) {\n if (text === void 0) { text = null; }\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n AnswerRequiredError.prototype.getErrorType = function () {\n return \"required\";\n };\n AnswerRequiredError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"requiredError\");\n };\n return AnswerRequiredError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar OneAnswerRequiredError = /** @class */ (function (_super) {\n __extends(OneAnswerRequiredError, _super);\n function OneAnswerRequiredError(text, errorOwner) {\n if (text === void 0) { text = null; }\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n OneAnswerRequiredError.prototype.getErrorType = function () {\n return \"requireoneanswer\";\n };\n OneAnswerRequiredError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"requiredErrorInPanel\");\n };\n return OneAnswerRequiredError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar RequreNumericError = /** @class */ (function (_super) {\n __extends(RequreNumericError, _super);\n function RequreNumericError(text, errorOwner) {\n if (text === void 0) { text = null; }\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n RequreNumericError.prototype.getErrorType = function () {\n return \"requirenumeric\";\n };\n RequreNumericError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"numericError\");\n };\n return RequreNumericError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar ExceedSizeError = /** @class */ (function (_super) {\n __extends(ExceedSizeError, _super);\n function ExceedSizeError(maxSize, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, null, errorOwner) || this;\n _this.maxSize = maxSize;\n _this.locText.text = _this.getText();\n return _this;\n }\n ExceedSizeError.prototype.getErrorType = function () {\n return \"exceedsize\";\n };\n ExceedSizeError.prototype.getDefaultText = function () {\n return _surveyStrings__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"]\n .getString(\"exceedMaxSize\")[\"format\"](this.getTextSize());\n };\n ExceedSizeError.prototype.getTextSize = function () {\n var sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\"];\n var fixed = [0, 0, 2, 3, 3];\n if (this.maxSize === 0) {\n return \"0 Byte\";\n }\n var i = Math.floor(Math.log(this.maxSize) / Math.log(1024));\n var value = this.maxSize / Math.pow(1024, i);\n return value.toFixed(fixed[i]) + \" \" + sizes[i];\n };\n return ExceedSizeError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar WebRequestError = /** @class */ (function (_super) {\n __extends(WebRequestError, _super);\n function WebRequestError(status, response, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, null, errorOwner) || this;\n _this.status = status;\n _this.response = response;\n return _this;\n }\n WebRequestError.prototype.getErrorType = function () {\n return \"webrequest\";\n };\n WebRequestError.prototype.getDefaultText = function () {\n var str = this.getLocalizationString(\"urlRequestError\");\n return !!str ? str[\"format\"](this.status, this.response) : \"\";\n };\n return WebRequestError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar WebRequestEmptyError = /** @class */ (function (_super) {\n __extends(WebRequestEmptyError, _super);\n function WebRequestEmptyError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n WebRequestEmptyError.prototype.getErrorType = function () {\n return \"webrequestempty\";\n };\n WebRequestEmptyError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"urlGetChoicesError\");\n };\n return WebRequestEmptyError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar OtherEmptyError = /** @class */ (function (_super) {\n __extends(OtherEmptyError, _super);\n function OtherEmptyError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n OtherEmptyError.prototype.getErrorType = function () {\n return \"otherempty\";\n };\n OtherEmptyError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"otherRequiredError\");\n };\n return OtherEmptyError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar UploadingFileError = /** @class */ (function (_super) {\n __extends(UploadingFileError, _super);\n function UploadingFileError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n UploadingFileError.prototype.getErrorType = function () {\n return \"uploadingfile\";\n };\n UploadingFileError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"uploadingFile\");\n };\n return UploadingFileError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar RequiredInAllRowsError = /** @class */ (function (_super) {\n __extends(RequiredInAllRowsError, _super);\n function RequiredInAllRowsError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n RequiredInAllRowsError.prototype.getErrorType = function () {\n return \"requiredinallrowserror\";\n };\n RequiredInAllRowsError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"requiredInAllRowsError\");\n };\n return RequiredInAllRowsError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar EachRowUniqueError = /** @class */ (function (_super) {\n __extends(EachRowUniqueError, _super);\n function EachRowUniqueError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n EachRowUniqueError.prototype.getErrorType = function () {\n return \"eachrowuniqueeerror\";\n };\n EachRowUniqueError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"eachRowUniqueError\");\n };\n return EachRowUniqueError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar MinRowCountError = /** @class */ (function (_super) {\n __extends(MinRowCountError, _super);\n function MinRowCountError(minRowCount, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, null, errorOwner) || this;\n _this.minRowCount = minRowCount;\n return _this;\n }\n MinRowCountError.prototype.getErrorType = function () {\n return \"minrowcounterror\";\n };\n MinRowCountError.prototype.getDefaultText = function () {\n return _surveyStrings__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"]\n .getString(\"minRowCountError\")[\"format\"](this.minRowCount);\n };\n return MinRowCountError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar KeyDuplicationError = /** @class */ (function (_super) {\n __extends(KeyDuplicationError, _super);\n function KeyDuplicationError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n KeyDuplicationError.prototype.getErrorType = function () {\n return \"keyduplicationerror\";\n };\n KeyDuplicationError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"keyDuplicationError\");\n };\n return KeyDuplicationError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar CustomError = /** @class */ (function (_super) {\n __extends(CustomError, _super);\n function CustomError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n CustomError.prototype.getErrorType = function () {\n return \"custom\";\n };\n return CustomError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/expressionItems.ts\":\n/*!********************************!*\\\n !*** ./src/expressionItems.ts ***!\n \\********************************/\n/*! exports provided: ExpressionItem, HtmlConditionItem, UrlConditionItem */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExpressionItem\", function() { return ExpressionItem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HtmlConditionItem\", function() { return HtmlConditionItem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UrlConditionItem\", function() { return UrlConditionItem; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n/**\n * Base class for HtmlConditionItem and UrlConditionItem classes.\n */\nvar ExpressionItem = /** @class */ (function (_super) {\n __extends(ExpressionItem, _super);\n function ExpressionItem(expression) {\n if (expression === void 0) { expression = null; }\n var _this = _super.call(this) || this;\n _this.expression = expression;\n return _this;\n }\n ExpressionItem.prototype.getType = function () {\n return \"expressionitem\";\n };\n ExpressionItem.prototype.runCondition = function (values, properties) {\n if (!this.expression)\n return false;\n return new _conditions__WEBPACK_IMPORTED_MODULE_2__[\"ConditionRunner\"](this.expression).run(values, properties);\n };\n Object.defineProperty(ExpressionItem.prototype, \"expression\", {\n /**\n * The expression property. If this expression returns true, then survey will use html property to show on complete page.\n */\n get: function () {\n return this.getPropertyValue(\"expression\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"expression\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ExpressionItem.prototype, \"locHtml\", {\n get: function () {\n return this.getLocalizableString(\"html\");\n },\n enumerable: false,\n configurable: true\n });\n ExpressionItem.prototype.getLocale = function () {\n return !!this.locOwner ? this.locOwner.getLocale() : \"\";\n };\n ExpressionItem.prototype.getMarkdownHtml = function (text, name) {\n return !!this.locOwner ? this.locOwner.getMarkdownHtml(text, name) : undefined;\n };\n ExpressionItem.prototype.getRenderer = function (name) {\n return !!this.locOwner ? this.locOwner.getRenderer(name) : null;\n };\n ExpressionItem.prototype.getRendererContext = function (locStr) {\n return !!this.locOwner ? this.locOwner.getRendererContext(locStr) : locStr;\n };\n ExpressionItem.prototype.getProcessedText = function (text) {\n return this.locOwner ? this.locOwner.getProcessedText(text) : text;\n };\n ExpressionItem.prototype.getSurvey = function (isLive) {\n if (isLive === void 0) { isLive = false; }\n return this.locOwner;\n };\n return ExpressionItem;\n}(_base__WEBPACK_IMPORTED_MODULE_1__[\"Base\"]));\n\n/**\n * A class that contains expression and html propeties. It uses in survey.completedHtmlOnCondition array.\n * If the expression returns true then html of this item uses instead of survey.completedHtml property\n * @see SurveyModel.completedHtmlOnCondition\n * @see SurveyModel.completedHtml\n */\nvar HtmlConditionItem = /** @class */ (function (_super) {\n __extends(HtmlConditionItem, _super);\n function HtmlConditionItem(expression, html) {\n if (expression === void 0) { expression = null; }\n if (html === void 0) { html = null; }\n var _this = _super.call(this, expression) || this;\n _this.createLocalizableString(\"html\", _this);\n _this.html = html;\n return _this;\n }\n HtmlConditionItem.prototype.getType = function () {\n return \"htmlconditionitem\";\n };\n Object.defineProperty(HtmlConditionItem.prototype, \"html\", {\n /**\n * The html that shows on completed ('Thank you') page. The expression should return true\n * @see expression\n */\n get: function () {\n return this.getLocalizableStringText(\"html\");\n },\n set: function (value) {\n this.setLocalizableStringText(\"html\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(HtmlConditionItem.prototype, \"locHtml\", {\n get: function () {\n return this.getLocalizableString(\"html\");\n },\n enumerable: false,\n configurable: true\n });\n return HtmlConditionItem;\n}(ExpressionItem));\n\n/**\n * A class that contains expression and url propeties. It uses in survey.navigateToUrlOnCondition array.\n * If the expression returns true then url of this item uses instead of survey.navigateToUrl property\n * @see SurveyModel.navigateToUrl\n */\nvar UrlConditionItem = /** @class */ (function (_super) {\n __extends(UrlConditionItem, _super);\n function UrlConditionItem(expression, url) {\n if (expression === void 0) { expression = null; }\n if (url === void 0) { url = null; }\n var _this = _super.call(this, expression) || this;\n _this.createLocalizableString(\"url\", _this);\n _this.url = url;\n return _this;\n }\n UrlConditionItem.prototype.getType = function () {\n return \"urlconditionitem\";\n };\n Object.defineProperty(UrlConditionItem.prototype, \"url\", {\n /**\n * The url that survey navigates to on completing the survey. The expression should return true\n * @see expression\n */\n get: function () {\n return this.getLocalizableStringText(\"url\");\n },\n set: function (value) {\n this.setLocalizableStringText(\"url\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(UrlConditionItem.prototype, \"locUrl\", {\n get: function () {\n return this.getLocalizableString(\"url\");\n },\n enumerable: false,\n configurable: true\n });\n return UrlConditionItem;\n}(ExpressionItem));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"expressionitem\", [\"expression:condition\"], function () {\n return new ExpressionItem();\n}, \"base\");\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"htmlconditionitem\", [{ name: \"html:html\", serializationProperty: \"locHtml\" }], function () {\n return new HtmlConditionItem();\n}, \"expressionitem\");\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"urlconditionitem\", [{ name: \"url:string\", serializationProperty: \"locUrl\" }], function () {\n return new UrlConditionItem();\n}, \"expressionitem\");\n\n\n/***/ }),\n\n/***/ \"./src/expressions/expressionParser.ts\":\n/*!*********************************************!*\\\n !*** ./src/expressions/expressionParser.ts ***!\n \\*********************************************/\n/*! exports provided: SyntaxError, parse */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SyntaxError\", function() { return SyntaxError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony import */ var _expressions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./expressions */ \"./src/expressions/expressions.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/* eslint-disable */\n\n// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.3.1 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\n\"use strict\";\nvar SyntaxError = /** @class */ (function (_super) {\n __extends(SyntaxError, _super);\n function SyntaxError(message, expected, found, location) {\n var _this = _super.call(this) || this;\n _this.message = message;\n _this.expected = expected;\n _this.found = found;\n _this.location = location;\n _this.name = \"SyntaxError\";\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(_this, SyntaxError);\n }\n return _this;\n }\n SyntaxError.buildMessage = function (expected, found) {\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\"/g, \"\\\\\\\"\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function classEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\]/g, \"\\\\]\")\n .replace(/\\^/g, \"\\\\^\")\n .replace(/-/g, \"\\\\-\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function describeExpectation(expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n case \"class\":\n var escapedParts = expectation.parts.map(function (part) {\n return Array.isArray(part)\n ? classEscape(part[0]) + \"-\" + classEscape(part[1])\n : classEscape(part);\n });\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n case \"any\":\n return \"any character\";\n case \"end\":\n return \"end of input\";\n case \"other\":\n return expectation.description;\n }\n }\n function describeExpected(expected1) {\n var descriptions = expected1.map(describeExpectation);\n var i;\n var j;\n descriptions.sort();\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n function describeFound(found1) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n };\n return SyntaxError;\n}(Error));\n\nfunction peg$parse(input, options) {\n options = options !== undefined ? options : {};\n var peg$FAILED = {};\n var peg$startRuleFunctions = { Expression: peg$parseExpression };\n var peg$startRuleFunction = peg$parseExpression;\n var peg$c0 = function (head, tail) {\n return buildBinaryOperand(head, tail, true);\n };\n var peg$c1 = \"||\";\n var peg$c2 = peg$literalExpectation(\"||\", false);\n var peg$c3 = \"or\";\n var peg$c4 = peg$literalExpectation(\"or\", true);\n var peg$c5 = function () { return \"or\"; };\n var peg$c6 = \"&&\";\n var peg$c7 = peg$literalExpectation(\"&&\", false);\n var peg$c8 = \"and\";\n var peg$c9 = peg$literalExpectation(\"and\", true);\n var peg$c10 = function () { return \"and\"; };\n var peg$c11 = function (head, tail) {\n return buildBinaryOperand(head, tail);\n };\n var peg$c12 = \"<=\";\n var peg$c13 = peg$literalExpectation(\"<=\", false);\n var peg$c14 = \"lessorequal\";\n var peg$c15 = peg$literalExpectation(\"lessorequal\", true);\n var peg$c16 = function () { return \"lessorequal\"; };\n var peg$c17 = \">=\";\n var peg$c18 = peg$literalExpectation(\">=\", false);\n var peg$c19 = \"greaterorequal\";\n var peg$c20 = peg$literalExpectation(\"greaterorequal\", true);\n var peg$c21 = function () { return \"greaterorequal\"; };\n var peg$c22 = \"==\";\n var peg$c23 = peg$literalExpectation(\"==\", false);\n var peg$c24 = \"equal\";\n var peg$c25 = peg$literalExpectation(\"equal\", true);\n var peg$c26 = function () { return \"equal\"; };\n var peg$c27 = \"=\";\n var peg$c28 = peg$literalExpectation(\"=\", false);\n var peg$c29 = \"!=\";\n var peg$c30 = peg$literalExpectation(\"!=\", false);\n var peg$c31 = \"notequal\";\n var peg$c32 = peg$literalExpectation(\"notequal\", true);\n var peg$c33 = function () { return \"notequal\"; };\n var peg$c34 = \"<\";\n var peg$c35 = peg$literalExpectation(\"<\", false);\n var peg$c36 = \"less\";\n var peg$c37 = peg$literalExpectation(\"less\", true);\n var peg$c38 = function () { return \"less\"; };\n var peg$c39 = \">\";\n var peg$c40 = peg$literalExpectation(\">\", false);\n var peg$c41 = \"greater\";\n var peg$c42 = peg$literalExpectation(\"greater\", true);\n var peg$c43 = function () { return \"greater\"; };\n var peg$c44 = \"+\";\n var peg$c45 = peg$literalExpectation(\"+\", false);\n var peg$c46 = function () { return \"plus\"; };\n var peg$c47 = \"-\";\n var peg$c48 = peg$literalExpectation(\"-\", false);\n var peg$c49 = function () { return \"minus\"; };\n var peg$c50 = \"*\";\n var peg$c51 = peg$literalExpectation(\"*\", false);\n var peg$c52 = function () { return \"mul\"; };\n var peg$c53 = \"/\";\n var peg$c54 = peg$literalExpectation(\"/\", false);\n var peg$c55 = function () { return \"div\"; };\n var peg$c56 = \"%\";\n var peg$c57 = peg$literalExpectation(\"%\", false);\n var peg$c58 = function () { return \"mod\"; };\n var peg$c59 = \"^\";\n var peg$c60 = peg$literalExpectation(\"^\", false);\n var peg$c61 = \"power\";\n var peg$c62 = peg$literalExpectation(\"power\", true);\n var peg$c63 = function () { return \"power\"; };\n var peg$c64 = \"*=\";\n var peg$c65 = peg$literalExpectation(\"*=\", false);\n var peg$c66 = \"contains\";\n var peg$c67 = peg$literalExpectation(\"contains\", true);\n var peg$c68 = \"contain\";\n var peg$c69 = peg$literalExpectation(\"contain\", true);\n var peg$c70 = function () { return \"contains\"; };\n var peg$c71 = \"notcontains\";\n var peg$c72 = peg$literalExpectation(\"notcontains\", true);\n var peg$c73 = \"notcontain\";\n var peg$c74 = peg$literalExpectation(\"notcontain\", true);\n var peg$c75 = function () { return \"notcontains\"; };\n var peg$c76 = \"anyof\";\n var peg$c77 = peg$literalExpectation(\"anyof\", true);\n var peg$c78 = function () { return \"anyof\"; };\n var peg$c79 = \"allof\";\n var peg$c80 = peg$literalExpectation(\"allof\", true);\n var peg$c81 = function () { return \"allof\"; };\n var peg$c82 = \"(\";\n var peg$c83 = peg$literalExpectation(\"(\", false);\n var peg$c84 = \")\";\n var peg$c85 = peg$literalExpectation(\")\", false);\n var peg$c86 = function (expr) { return expr; };\n var peg$c87 = function (name, params) { return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"FunctionOperand\"](name, params); };\n var peg$c88 = \"!\";\n var peg$c89 = peg$literalExpectation(\"!\", false);\n var peg$c90 = \"negate\";\n var peg$c91 = peg$literalExpectation(\"negate\", true);\n var peg$c92 = function (expr) { return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"UnaryOperand\"](expr, \"negate\"); };\n var peg$c93 = function (expr, op) { return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"UnaryOperand\"](expr, op); };\n var peg$c94 = \"empty\";\n var peg$c95 = peg$literalExpectation(\"empty\", true);\n var peg$c96 = function () { return \"empty\"; };\n var peg$c97 = \"notempty\";\n var peg$c98 = peg$literalExpectation(\"notempty\", true);\n var peg$c99 = function () { return \"notempty\"; };\n var peg$c100 = \"undefined\";\n var peg$c101 = peg$literalExpectation(\"undefined\", false);\n var peg$c102 = \"null\";\n var peg$c103 = peg$literalExpectation(\"null\", false);\n var peg$c104 = function () { return null; };\n var peg$c105 = function (value) { return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"Const\"](value); };\n var peg$c106 = \"{\";\n var peg$c107 = peg$literalExpectation(\"{\", false);\n var peg$c108 = \"}\";\n var peg$c109 = peg$literalExpectation(\"}\", false);\n var peg$c110 = function (value) { return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"Variable\"](value); };\n var peg$c111 = function (value) { return value; };\n var peg$c112 = \"''\";\n var peg$c113 = peg$literalExpectation(\"''\", false);\n var peg$c114 = function () { return \"\"; };\n var peg$c115 = \"\\\"\\\"\";\n var peg$c116 = peg$literalExpectation(\"\\\"\\\"\", false);\n var peg$c117 = \"'\";\n var peg$c118 = peg$literalExpectation(\"'\", false);\n var peg$c119 = function (value) { return \"'\" + value + \"'\"; };\n var peg$c120 = \"\\\"\";\n var peg$c121 = peg$literalExpectation(\"\\\"\", false);\n var peg$c122 = \"[\";\n var peg$c123 = peg$literalExpectation(\"[\", false);\n var peg$c124 = \"]\";\n var peg$c125 = peg$literalExpectation(\"]\", false);\n var peg$c126 = function (sequence) { return sequence; };\n var peg$c127 = \",\";\n var peg$c128 = peg$literalExpectation(\",\", false);\n var peg$c129 = function (expr, tail) {\n if (expr == null)\n return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"ArrayOperand\"]([]);\n var array = [expr];\n if (Array.isArray(tail)) {\n var flatten = flattenArray(tail);\n for (var i = 3; i < flatten.length; i += 4) {\n array.push(flatten[i]);\n }\n }\n return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"ArrayOperand\"](array);\n };\n var peg$c130 = \"true\";\n var peg$c131 = peg$literalExpectation(\"true\", true);\n var peg$c132 = function () { return true; };\n var peg$c133 = \"false\";\n var peg$c134 = peg$literalExpectation(\"false\", true);\n var peg$c135 = function () { return false; };\n var peg$c136 = \"0x\";\n var peg$c137 = peg$literalExpectation(\"0x\", false);\n var peg$c138 = function () { return parseInt(text(), 16); };\n var peg$c139 = /^[\\-]/;\n var peg$c140 = peg$classExpectation([\"-\"], false, false);\n var peg$c141 = function (sign, num) { return sign == null ? num : -num; };\n var peg$c142 = \".\";\n var peg$c143 = peg$literalExpectation(\".\", false);\n var peg$c144 = function () { return parseFloat(text()); };\n var peg$c145 = function () { return parseInt(text(), 10); };\n var peg$c146 = \"0\";\n var peg$c147 = peg$literalExpectation(\"0\", false);\n var peg$c148 = function () { return 0; };\n var peg$c149 = function (chars) { return chars.join(\"\"); };\n var peg$c150 = \"\\\\'\";\n var peg$c151 = peg$literalExpectation(\"\\\\'\", false);\n var peg$c152 = function () { return \"'\"; };\n var peg$c153 = \"\\\\\\\"\";\n var peg$c154 = peg$literalExpectation(\"\\\\\\\"\", false);\n var peg$c155 = function () { return \"\\\"\"; };\n var peg$c156 = /^[^\"']/;\n var peg$c157 = peg$classExpectation([\"\\\"\", \"'\"], true, false);\n var peg$c158 = function () { return text(); };\n var peg$c159 = /^[^{}]/;\n var peg$c160 = peg$classExpectation([\"{\", \"}\"], true, false);\n var peg$c161 = /^[0-9]/;\n var peg$c162 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n var peg$c163 = /^[1-9]/;\n var peg$c164 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n var peg$c165 = /^[a-zA-Z_]/;\n var peg$c166 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"_\"], false, false);\n var peg$c167 = peg$otherExpectation(\"whitespace\");\n var peg$c168 = /^[ \\t\\n\\r]/;\n var peg$c169 = peg$classExpectation([\" \", \"\\t\", \"\\n\", \"\\r\"], false, false);\n var peg$currPos = 0;\n var peg$savedPos = 0;\n var peg$posDetailsCache = [{ line: 1, column: 1 }];\n var peg$maxFailPos = 0;\n var peg$maxFailExpected = [];\n var peg$silentFails = 0;\n var peg$resultsCache = {};\n var peg$result;\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n function expected(description, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildStructuredError([peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location1);\n }\n function error(message, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildSimpleError(message, location1);\n }\n function peg$literalExpectation(text1, ignoreCase) {\n return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n }\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos];\n var p;\n if (details) {\n return details;\n }\n else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n }\n else {\n details.column++;\n }\n p++;\n }\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos);\n var endPosDetails = peg$computePosDetails(endPos);\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n function peg$fail(expected1) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n peg$maxFailExpected.push(expected1);\n }\n function peg$buildSimpleError(message, location1) {\n return new SyntaxError(message, [], \"\", location1);\n }\n function peg$buildStructuredError(expected1, found, location1) {\n return new SyntaxError(SyntaxError.buildMessage(expected1, found), expected1, found, location1);\n }\n function peg$parseExpression() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n var key = peg$currPos * 34 + 0;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseLogicOr();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$currPos;\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseOrSign();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseLogicOr();\n if (s8 !== peg$FAILED) {\n s5 = [s5, s6, s7, s8];\n s4 = s5;\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$currPos;\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseOrSign();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseLogicOr();\n if (s8 !== peg$FAILED) {\n s5 = [s5, s6, s7, s8];\n s4 = s5;\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseOrSign() {\n var s0, s1;\n var key = peg$currPos * 34 + 1;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c1) {\n s1 = peg$c1;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c2);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 2).toLowerCase() === peg$c3) {\n s1 = input.substr(peg$currPos, 2);\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c5();\n }\n s0 = s1;\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseLogicOr() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 2;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseLogicAnd();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseAndSign();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseLogicAnd();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseAndSign();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseLogicAnd();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseAndSign() {\n var s0, s1;\n var key = peg$currPos * 34 + 3;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c6) {\n s1 = peg$c6;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 3).toLowerCase() === peg$c8) {\n s1 = input.substr(peg$currPos, 3);\n peg$currPos += 3;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10();\n }\n s0 = s1;\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseLogicAnd() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 4;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseCompOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseComparableOperators();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseCompOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseComparableOperators();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseCompOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseComparableOperators() {\n var s0, s1;\n var key = peg$currPos * 34 + 5;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c12) {\n s1 = peg$c12;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c13);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 11).toLowerCase() === peg$c14) {\n s1 = input.substr(peg$currPos, 11);\n peg$currPos += 11;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c15);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c17) {\n s1 = peg$c17;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c18);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 14).toLowerCase() === peg$c19) {\n s1 = input.substr(peg$currPos, 14);\n peg$currPos += 14;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c23);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c24) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c25);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s1 = peg$c27;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c24) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c25);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c29) {\n s1 = peg$c29;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c30);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c31) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c32);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s1 = peg$c34;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4).toLowerCase() === peg$c36) {\n s1 = input.substr(peg$currPos, 4);\n peg$currPos += 4;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c37);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c38();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 62) {\n s1 = peg$c39;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c40);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 7).toLowerCase() === peg$c41) {\n s1 = input.substr(peg$currPos, 7);\n peg$currPos += 7;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c42);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c43();\n }\n s0 = s1;\n }\n }\n }\n }\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseCompOps() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 6;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parsePlusMinusOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePlusMinusSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsePlusMinusOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePlusMinusSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsePlusMinusOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parsePlusMinusSigns() {\n var s0, s1;\n var key = peg$currPos * 34 + 7;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 43) {\n s1 = peg$c44;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c45);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c47;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c49();\n }\n s0 = s1;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parsePlusMinusOps() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 8;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseMulDivOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseMulDivSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseMulDivOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseMulDivSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseMulDivOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseMulDivSigns() {\n var s0, s1;\n var key = peg$currPos * 34 + 9;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 42) {\n s1 = peg$c50;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c51);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c53;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 37) {\n s1 = peg$c56;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c57);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c58();\n }\n s0 = s1;\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseMulDivOps() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 10;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseBinaryFuncOp();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePowerSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseBinaryFuncOp();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePowerSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseBinaryFuncOp();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parsePowerSigns() {\n var s0, s1;\n var key = peg$currPos * 34 + 11;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 94) {\n s1 = peg$c59;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c60);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c61) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c62);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c63();\n }\n s0 = s1;\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseBinaryFuncOp() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 12;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseFactor();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseBinFunctions();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseFactor();\n if (s7 === peg$FAILED) {\n s7 = null;\n }\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseBinFunctions();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseFactor();\n if (s7 === peg$FAILED) {\n s7 = null;\n }\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseBinFunctions() {\n var s0, s1;\n var key = peg$currPos * 34 + 13;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c64) {\n s1 = peg$c64;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c65);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c66) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c67);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 7).toLowerCase() === peg$c68) {\n s1 = input.substr(peg$currPos, 7);\n peg$currPos += 7;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 11).toLowerCase() === peg$c71) {\n s1 = input.substr(peg$currPos, 11);\n peg$currPos += 11;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c72);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 10).toLowerCase() === peg$c73) {\n s1 = input.substr(peg$currPos, 10);\n peg$currPos += 10;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c74);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c75();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c76) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c77);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c78();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c79) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c80);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c81();\n }\n s0 = s1;\n }\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseFactor() {\n var s0, s1, s2, s3, s4, s5;\n var key = peg$currPos * 34 + 14;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 40) {\n s1 = peg$c82;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c83);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseExpression();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s5 = peg$c84;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c85);\n }\n }\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c86(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseFunctionOp();\n if (s0 === peg$FAILED) {\n s0 = peg$parseUnaryFunctionOp();\n if (s0 === peg$FAILED) {\n s0 = peg$parseAtom();\n if (s0 === peg$FAILED) {\n s0 = peg$parseArrayOp();\n }\n }\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseFunctionOp() {\n var s0, s1, s2, s3, s4;\n var key = peg$currPos * 34 + 15;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseLettersAndDigits();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s2 = peg$c82;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c83);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseSequence();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s4 = peg$c84;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c85);\n }\n }\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c87(s1, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseUnaryFunctionOp() {\n var s0, s1, s2, s3;\n var key = peg$currPos * 34 + 16;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 33) {\n s1 = peg$c88;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c89);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 6).toLowerCase() === peg$c90) {\n s1 = input.substr(peg$currPos, 6);\n peg$currPos += 6;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseExpression();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseAtom();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseUnFunctions();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c93(s1, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseUnFunctions() {\n var s0, s1;\n var key = peg$currPos * 34 + 17;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c94) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c95);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c96();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c97) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c98);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c99();\n }\n s0 = s1;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseAtom() {\n var s0, s1, s2, s3, s4;\n var key = peg$currPos * 34 + 18;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.substr(peg$currPos, 9) === peg$c100) {\n s2 = peg$c100;\n peg$currPos += 9;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c101);\n }\n }\n if (s2 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c102) {\n s2 = peg$c102;\n peg$currPos += 4;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c103);\n }\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c104();\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseConstValue();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c105(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s2 = peg$c106;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c107);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseValueInput();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s4 = peg$c108;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c109);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c110(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseConstValue() {\n var s0, s1, s2, s3;\n var key = peg$currPos * 34 + 19;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseLogicValue();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseArithmeticValue();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseLettersAndDigits();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c112) {\n s1 = peg$c112;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c113);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c114();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c115) {\n s1 = peg$c115;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c116);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c114();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c117;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c118);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseAnyInput();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c117;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c118);\n }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c119(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 34) {\n s1 = peg$c120;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c121);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseAnyInput();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 34) {\n s3 = peg$c120;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c121);\n }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c119(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n }\n }\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseArrayOp() {\n var s0, s1, s2, s3;\n var key = peg$currPos * 34 + 20;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 91) {\n s1 = peg$c122;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c123);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseSequence();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 93) {\n s3 = peg$c124;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c125);\n }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c126(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseSequence() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 21;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseExpression();\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c127;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c128);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseExpression();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c127;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c128);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseExpression();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c129(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseLogicValue() {\n var s0, s1;\n var key = peg$currPos * 34 + 22;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 4).toLowerCase() === peg$c130) {\n s1 = input.substr(peg$currPos, 4);\n peg$currPos += 4;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c131);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c132();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c133) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c134);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c135();\n }\n s0 = s1;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseArithmeticValue() {\n var s0, s1, s2;\n var key = peg$currPos * 34 + 23;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c136) {\n s1 = peg$c136;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c137);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseDigits();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c138();\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (peg$c139.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c140);\n }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseNumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c141(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseNumber() {\n var s0, s1, s2, s3;\n var key = peg$currPos * 34 + 24;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseDigits();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 46) {\n s2 = peg$c142;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c143);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseDigits();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c144();\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseNonZeroDigits();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseDigits();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c145();\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c146;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c147);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c148();\n }\n s0 = s1;\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseValueInput() {\n var s0, s1, s2;\n var key = peg$currPos * 34 + 25;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseValueCharacters();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseValueCharacters();\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c149(s1);\n }\n s0 = s1;\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseAnyInput() {\n var s0, s1, s2;\n var key = peg$currPos * 34 + 26;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseAnyCharacters();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseAnyCharacters();\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c149(s1);\n }\n s0 = s1;\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseAnyCharacters() {\n var s0, s1;\n var key = peg$currPos * 34 + 27;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c150) {\n s1 = peg$c150;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c151);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c152();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c153) {\n s1 = peg$c153;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c154);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c155();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (peg$c156.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c157);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c158();\n }\n s0 = s1;\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseValueCharacters() {\n var s0, s1;\n var key = peg$currPos * 34 + 28;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (peg$c159.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c160);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c158();\n }\n s0 = s1;\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseLettersAndDigits() {\n var s0, s1, s2, s3, s4, s5, s6;\n var key = peg$currPos * 34 + 29;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseLetters();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parseDigits();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseLetters();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseLetters();\n }\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parseDigits();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseLetters();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseLetters();\n }\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c158();\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseDigits() {\n var s0, s1;\n var key = peg$currPos * 34 + 30;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = [];\n if (peg$c161.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c162);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c161.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c162);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseNonZeroDigits() {\n var s0, s1;\n var key = peg$currPos * 34 + 31;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = [];\n if (peg$c163.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c164);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c163.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c164);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseLetters() {\n var s0, s1;\n var key = peg$currPos * 34 + 32;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = [];\n if (peg$c165.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c166);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c165.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c166);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parse_() {\n var s0, s1;\n var key = peg$currPos * 34 + 33;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n peg$silentFails++;\n s0 = [];\n if (peg$c168.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c169);\n }\n }\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c168.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c169);\n }\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c167);\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function buildBinaryOperand(head, tail, isArithmeticOp) {\n if (isArithmeticOp === void 0) { isArithmeticOp = false; }\n return tail.reduce(function (result, elements) {\n return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"BinaryOperand\"](elements[1], result, elements[3], isArithmeticOp);\n }, head);\n }\n function flattenArray(array) {\n return [].concat.apply([], array);\n }\n peg$result = peg$startRuleFunction();\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n }\n else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos));\n }\n}\nvar parse = peg$parse;\n\n\n/***/ }),\n\n/***/ \"./src/expressions/expressions.ts\":\n/*!****************************************!*\\\n !*** ./src/expressions/expressions.ts ***!\n \\****************************************/\n/*! exports provided: Operand, BinaryOperand, UnaryOperand, ArrayOperand, Const, Variable, FunctionOperand, OperandMaker */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Operand\", function() { return Operand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BinaryOperand\", function() { return BinaryOperand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnaryOperand\", function() { return UnaryOperand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ArrayOperand\", function() { return ArrayOperand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Const\", function() { return Const; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Variable\", function() { return Variable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FunctionOperand\", function() { return FunctionOperand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OperandMaker\", function() { return OperandMaker; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _functionsfactory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../functionsfactory */ \"./src/functionsfactory.ts\");\n/* harmony import */ var _conditionProcessValue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../conditionProcessValue */ \"./src/conditionProcessValue.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../settings */ \"./src/settings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\nvar Operand = /** @class */ (function () {\n function Operand() {\n }\n Operand.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n return \"\";\n };\n Operand.prototype.hasFunction = function () {\n return false;\n };\n Operand.prototype.hasAsyncFunction = function () { return false; };\n Operand.prototype.addToAsyncList = function (list) { };\n Operand.prototype.isEqual = function (op) {\n return !!op && op.getType() === this.getType() && this.isContentEqual(op);\n };\n Operand.prototype.areOperatorsEquals = function (op1, op2) {\n return !op1 && !op2 || !!op1 && op1.isEqual(op2);\n };\n return Operand;\n}());\n\nvar BinaryOperand = /** @class */ (function (_super) {\n __extends(BinaryOperand, _super);\n function BinaryOperand(operatorName, left, right, isArithmeticOp) {\n if (left === void 0) { left = null; }\n if (right === void 0) { right = null; }\n if (isArithmeticOp === void 0) { isArithmeticOp = false; }\n var _this = _super.call(this) || this;\n _this.operatorName = operatorName;\n _this.left = left;\n _this.right = right;\n _this.isArithmeticValue = isArithmeticOp;\n if (isArithmeticOp) {\n _this.consumer = OperandMaker.binaryFunctions[\"arithmeticOp\"](operatorName);\n }\n else {\n _this.consumer = OperandMaker.binaryFunctions[operatorName];\n }\n if (_this.consumer == null) {\n OperandMaker.throwInvalidOperatorError(operatorName);\n }\n return _this;\n }\n Object.defineProperty(BinaryOperand.prototype, \"requireStrictCompare\", {\n get: function () {\n return this.getIsOperandRequireStrict(this.left) ||\n this.getIsOperandRequireStrict(this.right);\n },\n enumerable: false,\n configurable: true\n });\n BinaryOperand.prototype.getIsOperandRequireStrict = function (op) {\n return !!op && op.requireStrictCompare;\n };\n BinaryOperand.prototype.getType = function () {\n return \"binary\";\n };\n Object.defineProperty(BinaryOperand.prototype, \"isArithmetic\", {\n get: function () {\n return this.isArithmeticValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BinaryOperand.prototype, \"isConjunction\", {\n get: function () {\n return this.operatorName == \"or\" || this.operatorName == \"and\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BinaryOperand.prototype, \"conjunction\", {\n get: function () {\n return this.isConjunction ? this.operatorName : \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BinaryOperand.prototype, \"operator\", {\n get: function () {\n return this.operatorName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BinaryOperand.prototype, \"leftOperand\", {\n get: function () {\n return this.left;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BinaryOperand.prototype, \"rightOperand\", {\n get: function () {\n return this.right;\n },\n enumerable: false,\n configurable: true\n });\n BinaryOperand.prototype.isContentEqual = function (op) {\n var bOp = op;\n return bOp.operator === this.operator &&\n this.areOperatorsEquals(this.left, bOp.left) &&\n this.areOperatorsEquals(this.right, bOp.right);\n };\n BinaryOperand.prototype.evaluateParam = function (x, processValue) {\n return x == null ? null : x.evaluate(processValue);\n };\n BinaryOperand.prototype.evaluate = function (processValue) {\n return this.consumer.call(this, this.evaluateParam(this.left, processValue), this.evaluateParam(this.right, processValue), this.requireStrictCompare);\n };\n BinaryOperand.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n if (!!func) {\n var res = func(this);\n if (!!res)\n return res;\n }\n return (\"(\" +\n OperandMaker.safeToString(this.left, func) +\n \" \" +\n OperandMaker.operatorToString(this.operatorName) +\n \" \" +\n OperandMaker.safeToString(this.right, func) +\n \")\");\n };\n BinaryOperand.prototype.setVariables = function (variables) {\n if (this.left != null)\n this.left.setVariables(variables);\n if (this.right != null)\n this.right.setVariables(variables);\n };\n BinaryOperand.prototype.hasFunction = function () {\n return ((!!this.left && this.left.hasFunction()) ||\n (!!this.right && this.right.hasFunction()));\n };\n BinaryOperand.prototype.hasAsyncFunction = function () {\n return ((!!this.left && this.left.hasAsyncFunction()) ||\n (!!this.right && this.right.hasAsyncFunction()));\n };\n BinaryOperand.prototype.addToAsyncList = function (list) {\n if (!!this.left)\n this.left.addToAsyncList(list);\n if (!!this.right)\n this.right.addToAsyncList(list);\n };\n return BinaryOperand;\n}(Operand));\n\nvar UnaryOperand = /** @class */ (function (_super) {\n __extends(UnaryOperand, _super);\n function UnaryOperand(expressionValue, operatorName) {\n var _this = _super.call(this) || this;\n _this.expressionValue = expressionValue;\n _this.operatorName = operatorName;\n _this.consumer = OperandMaker.unaryFunctions[operatorName];\n if (_this.consumer == null) {\n OperandMaker.throwInvalidOperatorError(operatorName);\n }\n return _this;\n }\n Object.defineProperty(UnaryOperand.prototype, \"operator\", {\n get: function () {\n return this.operatorName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(UnaryOperand.prototype, \"expression\", {\n get: function () {\n return this.expressionValue;\n },\n enumerable: false,\n configurable: true\n });\n UnaryOperand.prototype.getType = function () {\n return \"unary\";\n };\n UnaryOperand.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n if (!!func) {\n var res = func(this);\n if (!!res)\n return res;\n }\n return (OperandMaker.operatorToString(this.operatorName) +\n \" \" +\n this.expression.toString(func));\n };\n UnaryOperand.prototype.isContentEqual = function (op) {\n var uOp = op;\n return uOp.operator == this.operator && this.areOperatorsEquals(this.expression, uOp.expression);\n };\n UnaryOperand.prototype.hasFunction = function () {\n return this.expression.hasFunction();\n };\n UnaryOperand.prototype.hasAsyncFunction = function () {\n return this.expression.hasAsyncFunction();\n };\n UnaryOperand.prototype.addToAsyncList = function (list) {\n this.expression.addToAsyncList(list);\n };\n UnaryOperand.prototype.evaluate = function (processValue) {\n var value = this.expression.evaluate(processValue);\n return this.consumer.call(this, value);\n };\n UnaryOperand.prototype.setVariables = function (variables) {\n this.expression.setVariables(variables);\n };\n return UnaryOperand;\n}(Operand));\n\nvar ArrayOperand = /** @class */ (function (_super) {\n __extends(ArrayOperand, _super);\n function ArrayOperand(values) {\n var _this = _super.call(this) || this;\n _this.values = values;\n return _this;\n }\n ArrayOperand.prototype.getType = function () {\n return \"array\";\n };\n ArrayOperand.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n if (!!func) {\n var res = func(this);\n if (!!res)\n return res;\n }\n return (\"[\" +\n this.values\n .map(function (el) {\n return el.toString(func);\n })\n .join(\", \") +\n \"]\");\n };\n ArrayOperand.prototype.evaluate = function (processValue) {\n return this.values.map(function (el) {\n return el.evaluate(processValue);\n });\n };\n ArrayOperand.prototype.setVariables = function (variables) {\n this.values.forEach(function (el) {\n el.setVariables(variables);\n });\n };\n ArrayOperand.prototype.hasFunction = function () {\n return this.values.some(function (operand) { return operand.hasFunction(); });\n };\n ArrayOperand.prototype.hasAsyncFunction = function () {\n return this.values.some(function (operand) { return operand.hasAsyncFunction(); });\n };\n ArrayOperand.prototype.addToAsyncList = function (list) {\n this.values.forEach(function (operand) { return operand.addToAsyncList(list); });\n };\n ArrayOperand.prototype.isContentEqual = function (op) {\n var aOp = op;\n if (aOp.values.length !== this.values.length)\n return false;\n for (var i = 0; i < this.values.length; i++) {\n if (!aOp.values[i].isEqual(this.values[i]))\n return false;\n }\n return true;\n };\n return ArrayOperand;\n}(Operand));\n\nvar Const = /** @class */ (function (_super) {\n __extends(Const, _super);\n function Const(value) {\n var _this = _super.call(this) || this;\n _this.value = value;\n return _this;\n }\n Const.prototype.getType = function () {\n return \"const\";\n };\n Const.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n if (!!func) {\n var res = func(this);\n if (!!res)\n return res;\n }\n return this.value.toString();\n };\n Object.defineProperty(Const.prototype, \"correctValue\", {\n get: function () {\n return this.getCorrectValue(this.value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Const.prototype, \"requireStrictCompare\", {\n get: function () { return false; },\n enumerable: false,\n configurable: true\n });\n Const.prototype.evaluate = function () {\n return this.getCorrectValue(this.value);\n };\n Const.prototype.setVariables = function (variables) { };\n Const.prototype.getCorrectValue = function (value) {\n if (!value || typeof value != \"string\")\n return value;\n if (this.isBooleanValue(value))\n return value.toLowerCase() === \"true\";\n if (value.length > 1 &&\n this.isQuote(value[0]) &&\n this.isQuote(value[value.length - 1]))\n return value.substring(1, value.length - 1);\n if (OperandMaker.isNumeric(value)) {\n if (value.indexOf(\"0x\") == 0)\n return parseInt(value);\n if (value.length > 1 && value[0] == \"0\" && (value.length < 2 || (value[1] !== \".\" && value[1] !== \",\")))\n return value;\n return parseFloat(value);\n }\n return value;\n };\n Const.prototype.isContentEqual = function (op) {\n var cOp = op;\n return cOp.value == this.value;\n };\n Const.prototype.isQuote = function (ch) {\n return ch == \"'\" || ch == '\"';\n };\n Const.prototype.isBooleanValue = function (value) {\n return (value &&\n (value.toLowerCase() === \"true\" || value.toLowerCase() === \"false\"));\n };\n return Const;\n}(Operand));\n\nvar Variable = /** @class */ (function (_super) {\n __extends(Variable, _super);\n function Variable(variableName) {\n var _this = _super.call(this, variableName) || this;\n _this.variableName = variableName;\n _this.valueInfo = {};\n _this.useValueAsItIs = false;\n if (!!_this.variableName &&\n _this.variableName.length > 1 &&\n _this.variableName[0] === Variable.DisableConversionChar) {\n _this.variableName = _this.variableName.substring(1);\n _this.useValueAsItIs = true;\n }\n return _this;\n }\n Object.defineProperty(Variable, \"DisableConversionChar\", {\n get: function () { return _settings__WEBPACK_IMPORTED_MODULE_3__[\"settings\"].expressionDisableConversionChar; },\n set: function (val) { _settings__WEBPACK_IMPORTED_MODULE_3__[\"settings\"].expressionDisableConversionChar = val; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Variable.prototype, \"requireStrictCompare\", {\n get: function () {\n return this.valueInfo.sctrictCompare === true;\n },\n enumerable: false,\n configurable: true\n });\n Variable.prototype.getType = function () {\n return \"variable\";\n };\n Variable.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n if (!!func) {\n var res = func(this);\n if (!!res)\n return res;\n }\n var prefix = this.useValueAsItIs ? Variable.DisableConversionChar : \"\";\n return \"{\" + prefix + this.variableName + \"}\";\n };\n Object.defineProperty(Variable.prototype, \"variable\", {\n get: function () {\n return this.variableName;\n },\n enumerable: false,\n configurable: true\n });\n Variable.prototype.evaluate = function (processValue) {\n this.valueInfo.name = this.variableName;\n processValue.getValueInfo(this.valueInfo);\n return this.valueInfo.hasValue\n ? this.getCorrectValue(this.valueInfo.value)\n : null;\n };\n Variable.prototype.setVariables = function (variables) {\n variables.push(this.variableName);\n };\n Variable.prototype.getCorrectValue = function (value) {\n if (this.useValueAsItIs)\n return value;\n return _super.prototype.getCorrectValue.call(this, value);\n };\n Variable.prototype.isContentEqual = function (op) {\n var vOp = op;\n return vOp.variable == this.variable;\n };\n return Variable;\n}(Const));\n\nvar FunctionOperand = /** @class */ (function (_super) {\n __extends(FunctionOperand, _super);\n function FunctionOperand(originalValue, parameters) {\n var _this = _super.call(this) || this;\n _this.originalValue = originalValue;\n _this.parameters = parameters;\n _this.isReadyValue = false;\n if (Array.isArray(parameters) && parameters.length === 0) {\n _this.parameters = new ArrayOperand([]);\n }\n return _this;\n }\n FunctionOperand.prototype.getType = function () {\n return \"function\";\n };\n FunctionOperand.prototype.evaluateAsync = function (processValue) {\n var _this = this;\n this.isReadyValue = false;\n var asyncProcessValue = new _conditionProcessValue__WEBPACK_IMPORTED_MODULE_2__[\"ProcessValue\"]();\n asyncProcessValue.values = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].createCopy(processValue.values);\n asyncProcessValue.properties = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].createCopy(processValue.properties);\n asyncProcessValue.properties.returnResult = function (result) {\n _this.asynResult = result;\n _this.isReadyValue = true;\n _this.onAsyncReady();\n };\n this.evaluateCore(asyncProcessValue);\n };\n FunctionOperand.prototype.evaluate = function (processValue) {\n if (this.isReady)\n return this.asynResult;\n return this.evaluateCore(processValue);\n };\n FunctionOperand.prototype.evaluateCore = function (processValue) {\n return _functionsfactory__WEBPACK_IMPORTED_MODULE_1__[\"FunctionFactory\"].Instance.run(this.originalValue, this.parameters.evaluate(processValue), processValue.properties);\n };\n FunctionOperand.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n if (!!func) {\n var res = func(this);\n if (!!res)\n return res;\n }\n return this.originalValue + \"(\" + this.parameters.toString(func) + \")\";\n };\n FunctionOperand.prototype.setVariables = function (variables) {\n this.parameters.setVariables(variables);\n };\n Object.defineProperty(FunctionOperand.prototype, \"isReady\", {\n get: function () {\n return this.isReadyValue;\n },\n enumerable: false,\n configurable: true\n });\n FunctionOperand.prototype.hasFunction = function () {\n return true;\n };\n FunctionOperand.prototype.hasAsyncFunction = function () {\n return _functionsfactory__WEBPACK_IMPORTED_MODULE_1__[\"FunctionFactory\"].Instance.isAsyncFunction(this.originalValue);\n };\n FunctionOperand.prototype.addToAsyncList = function (list) {\n if (this.hasAsyncFunction()) {\n list.push(this);\n }\n };\n FunctionOperand.prototype.isContentEqual = function (op) {\n var fOp = op;\n return fOp.originalValue == this.originalValue && this.areOperatorsEquals(fOp.parameters, this.parameters);\n };\n return FunctionOperand;\n}(Operand));\n\nvar OperandMaker = /** @class */ (function () {\n function OperandMaker() {\n }\n OperandMaker.throwInvalidOperatorError = function (op) {\n throw new Error(\"Invalid operator: '\" + op + \"'\");\n };\n OperandMaker.safeToString = function (operand, func) {\n return operand == null ? \"\" : operand.toString(func);\n };\n OperandMaker.toOperandString = function (value) {\n if (!!value &&\n !OperandMaker.isNumeric(value) &&\n !OperandMaker.isBooleanValue(value))\n value = \"'\" + value + \"'\";\n return value;\n };\n OperandMaker.isSpaceString = function (str) {\n return !!str && !str.replace(\" \", \"\");\n };\n OperandMaker.isNumeric = function (value) {\n if (!!value &&\n (value.indexOf(\"-\") > -1 ||\n value.indexOf(\"+\") > 1 ||\n value.indexOf(\"*\") > -1 ||\n value.indexOf(\"^\") > -1 ||\n value.indexOf(\"/\") > -1 ||\n value.indexOf(\"%\") > -1))\n return false;\n if (OperandMaker.isSpaceString(value))\n return false;\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(value);\n };\n OperandMaker.isBooleanValue = function (value) {\n return (!!value &&\n (value.toLowerCase() === \"true\" || value.toLowerCase() === \"false\"));\n };\n OperandMaker.countDecimals = function (value) {\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(value) && Math.floor(value) !== value) {\n var strs = value.toString().split(\".\");\n return strs.length > 1 && strs[1].length || 0;\n }\n return 0;\n };\n OperandMaker.plusMinus = function (a, b, res) {\n var digitsA = OperandMaker.countDecimals(a);\n var digitsB = OperandMaker.countDecimals(b);\n if (digitsA > 0 || digitsB > 0) {\n var digits = Math.max(digitsA, digitsB);\n res = parseFloat(res.toFixed(digits));\n }\n return res;\n };\n OperandMaker.isTwoValueEquals = function (x, y, ignoreOrder) {\n if (ignoreOrder === void 0) { ignoreOrder = true; }\n if (x === \"undefined\")\n x = undefined;\n if (y === \"undefined\")\n y = undefined;\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isTwoValueEquals(x, y, ignoreOrder);\n };\n OperandMaker.operatorToString = function (operatorName) {\n var opStr = OperandMaker.signs[operatorName];\n return opStr == null ? operatorName : opStr;\n };\n OperandMaker.convertValForDateCompare = function (val, second) {\n if (second instanceof Date && typeof val === \"string\") {\n var res = new Date(val);\n res.setHours(0, 0, 0);\n return res;\n }\n return val;\n };\n OperandMaker.unaryFunctions = {\n empty: function (value) {\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(value);\n },\n notempty: function (value) {\n return !OperandMaker.unaryFunctions.empty(value);\n },\n negate: function (value) {\n return !value;\n },\n };\n OperandMaker.binaryFunctions = {\n arithmeticOp: function (operatorName) {\n var convertForArithmeticOp = function (val, second) {\n if (!_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(val))\n return val;\n if (typeof second === \"number\")\n return 0;\n if (typeof val === \"string\")\n return val;\n if (typeof second === \"string\")\n return \"\";\n if (Array.isArray(second))\n return [];\n return 0;\n };\n return function (a, b) {\n a = convertForArithmeticOp(a, b);\n b = convertForArithmeticOp(b, a);\n var consumer = OperandMaker.binaryFunctions[operatorName];\n return consumer == null ? null : consumer.call(this, a, b);\n };\n },\n and: function (a, b) {\n return a && b;\n },\n or: function (a, b) {\n return a || b;\n },\n plus: function (a, b) {\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].sumAnyValues(a, b);\n },\n minus: function (a, b) {\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].correctAfterPlusMinis(a, b, a - b);\n },\n mul: function (a, b) {\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].correctAfterMultiple(a, b, a * b);\n },\n div: function (a, b) {\n if (!b)\n return null;\n return a / b;\n },\n mod: function (a, b) {\n if (!b)\n return null;\n return a % b;\n },\n power: function (a, b) {\n return Math.pow(a, b);\n },\n greater: function (left, right) {\n if (left == null || right == null)\n return false;\n left = OperandMaker.convertValForDateCompare(left, right);\n right = OperandMaker.convertValForDateCompare(right, left);\n return left > right;\n },\n less: function (left, right) {\n if (left == null || right == null)\n return false;\n left = OperandMaker.convertValForDateCompare(left, right);\n right = OperandMaker.convertValForDateCompare(right, left);\n return left < right;\n },\n greaterorequal: function (left, right) {\n if (OperandMaker.binaryFunctions.equal(left, right))\n return true;\n return OperandMaker.binaryFunctions.greater(left, right);\n },\n lessorequal: function (left, right) {\n if (OperandMaker.binaryFunctions.equal(left, right))\n return true;\n return OperandMaker.binaryFunctions.less(left, right);\n },\n equal: function (left, right, strictCompare) {\n left = OperandMaker.convertValForDateCompare(left, right);\n right = OperandMaker.convertValForDateCompare(right, left);\n return OperandMaker.isTwoValueEquals(left, right, strictCompare !== true);\n },\n notequal: function (left, right, strictCompare) {\n return !OperandMaker.binaryFunctions.equal(left, right, strictCompare);\n },\n contains: function (left, right) {\n return OperandMaker.binaryFunctions.containsCore(left, right, true);\n },\n notcontains: function (left, right) {\n if (!left && !_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(right))\n return true;\n return OperandMaker.binaryFunctions.containsCore(left, right, false);\n },\n anyof: function (left, right) {\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(left) && _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(right))\n return true;\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(left) ||\n (!Array.isArray(left) && left.length === 0))\n return false;\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(right))\n return true;\n if (!Array.isArray(left))\n return OperandMaker.binaryFunctions.contains(right, left);\n if (!Array.isArray(right))\n return OperandMaker.binaryFunctions.contains(left, right);\n for (var i = 0; i < right.length; i++) {\n if (OperandMaker.binaryFunctions.contains(left, right[i]))\n return true;\n }\n return false;\n },\n allof: function (left, right) {\n if (!left && !_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(right))\n return false;\n if (!Array.isArray(right))\n return OperandMaker.binaryFunctions.contains(left, right);\n for (var i = 0; i < right.length; i++) {\n if (!OperandMaker.binaryFunctions.contains(left, right[i]))\n return false;\n }\n return true;\n },\n containsCore: function (left, right, isContains) {\n if (!left && left !== 0 && left !== false)\n return false;\n if (!left.length) {\n left = left.toString();\n if (typeof right === \"string\" || right instanceof String) {\n left = left.toUpperCase();\n right = right.toUpperCase();\n }\n }\n if (typeof left === \"string\" || left instanceof String) {\n if (!right)\n return false;\n right = right.toString();\n var found = left.indexOf(right) > -1;\n return isContains ? found : !found;\n }\n var rightArray = Array.isArray(right) ? right : [right];\n for (var rIndex = 0; rIndex < rightArray.length; rIndex++) {\n var i = 0;\n right = rightArray[rIndex];\n for (; i < left.length; i++) {\n if (OperandMaker.isTwoValueEquals(left[i], right))\n break;\n }\n if (i == left.length)\n return !isContains;\n }\n return isContains;\n },\n };\n OperandMaker.signs = {\n less: \"<\",\n lessorequal: \"<=\",\n greater: \">\",\n greaterorequal: \">=\",\n equal: \"==\",\n notequal: \"!=\",\n plus: \"+\",\n minus: \"-\",\n mul: \"*\",\n div: \"/\",\n and: \"and\",\n or: \"or\",\n power: \"^\",\n mod: \"%\",\n negate: \"!\",\n };\n return OperandMaker;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/flowpanel.ts\":\n/*!**************************!*\\\n !*** ./src/flowpanel.ts ***!\n \\**************************/\n/*! exports provided: FlowPanelModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FlowPanelModel\", function() { return FlowPanelModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./panel */ \"./src/panel.ts\");\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./global_variables_utils */ \"./src/global_variables_utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n/**\n * The flow panel object. It is a container with flow layout where you can mix questions with markdown text.\n *\n */\nvar FlowPanelModel = /** @class */ (function (_super) {\n __extends(FlowPanelModel, _super);\n function FlowPanelModel(name) {\n if (name === void 0) { name = \"\"; }\n var _this = _super.call(this, name) || this;\n _this.createLocalizableString(\"content\", _this, true);\n _this.registerPropertyChangedHandlers([\"content\"], function () {\n _this.onContentChanged();\n });\n return _this;\n }\n FlowPanelModel.prototype.getType = function () {\n return \"flowpanel\";\n };\n FlowPanelModel.prototype.getChildrenLayoutType = function () {\n return \"flow\";\n };\n FlowPanelModel.prototype.onSurveyLoad = function () {\n _super.prototype.onSurveyLoad.call(this);\n this.onContentChanged();\n };\n Object.defineProperty(FlowPanelModel.prototype, \"content\", {\n get: function () {\n return this.getLocalizableStringText(\"content\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"content\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FlowPanelModel.prototype, \"locContent\", {\n get: function () {\n return this.getLocalizableString(\"content\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FlowPanelModel.prototype, \"html\", {\n get: function () {\n return this.getPropertyValue(\"html\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"html\", val);\n },\n enumerable: false,\n configurable: true\n });\n FlowPanelModel.prototype.onContentChanged = function () {\n var html = \"\";\n if (!!this.onCustomHtmlProducing) {\n html = this.onCustomHtmlProducing();\n }\n else {\n html = this.produceHtml();\n }\n this.html = html;\n if (!!this.contentChangedCallback)\n this.contentChangedCallback();\n };\n FlowPanelModel.prototype.produceHtml = function () {\n var html = [];\n //contentElementNamePrefix\n var regEx = /{(.*?(element:)[^$].*?)}/g;\n var str = this.content;\n var startIndex = 0;\n var res = null;\n while ((res = regEx.exec(str)) !== null) {\n if (res.index > startIndex) {\n html.push(str.substring(startIndex, res.index));\n startIndex = res.index;\n }\n var question = this.getQuestionFromText(res[0]);\n if (!!question) {\n html.push(this.getHtmlForQuestion(question));\n }\n else {\n html.push(str.substring(startIndex, res.index + res[0].length));\n }\n startIndex = res.index + res[0].length;\n }\n if (startIndex < str.length) {\n html.push(str.substring(startIndex, str.length));\n }\n return html.join(\"\").replace(new RegExp(\"
\", \"g\"), \"
\");\n };\n FlowPanelModel.prototype.getQuestionFromText = function (str) {\n str = str.substring(1, str.length - 1);\n str = str.replace(FlowPanelModel.contentElementNamePrefix, \"\").trim();\n return this.getQuestionByName(str);\n };\n FlowPanelModel.prototype.getHtmlForQuestion = function (question) {\n if (!!this.onGetHtmlForQuestion)\n return this.onGetHtmlForQuestion(question);\n return \"\";\n };\n FlowPanelModel.prototype.getQuestionHtmlId = function (question) {\n return this.name + \"_\" + question.id;\n };\n FlowPanelModel.prototype.onAddElement = function (element, index) {\n _super.prototype.onAddElement.call(this, element, index);\n this.addElementToContent(element);\n element.renderWidth = \"\";\n };\n FlowPanelModel.prototype.onRemoveElement = function (element) {\n var searchStr = this.getElementContentText(element);\n this.content = this.content.replace(searchStr, \"\");\n _super.prototype.onRemoveElement.call(this, element);\n };\n FlowPanelModel.prototype.dragDropMoveElement = function (src, target, targetIndex) { };\n FlowPanelModel.prototype.addElementToContent = function (element) {\n if (this.isLoadingFromJson)\n return;\n var text = this.getElementContentText(element);\n if (!this.insertTextAtCursor(text)) {\n this.content = this.content + text;\n }\n };\n FlowPanelModel.prototype.insertTextAtCursor = function (text, prevName) {\n if (prevName === void 0) { prevName = null; }\n if (!this.isDesignMode || !_global_variables_utils__WEBPACK_IMPORTED_MODULE_2__[\"DomWindowHelper\"].isAvailable())\n return false;\n var sel = _global_variables_utils__WEBPACK_IMPORTED_MODULE_2__[\"DomWindowHelper\"].getSelection();\n if (sel.getRangeAt && sel.rangeCount) {\n var range = sel.getRangeAt(0);\n range.deleteContents();\n var textElement = new Text(text);\n range.insertNode(textElement);\n var self = this;\n if (self.getContent) {\n var str = self.getContent(prevName);\n this.content = str;\n }\n return true;\n }\n return false;\n };\n FlowPanelModel.prototype.getElementContentText = function (element) {\n return \"{\" + FlowPanelModel.contentElementNamePrefix + element.name + \"}\";\n };\n FlowPanelModel.contentElementNamePrefix = \"element:\";\n return FlowPanelModel;\n}(_panel__WEBPACK_IMPORTED_MODULE_1__[\"PanelModel\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"flowpanel\", [{ name: \"content:html\", serializationProperty: \"locContent\" }], function () {\n return new FlowPanelModel();\n}, \"panel\");\n\n\n/***/ }),\n\n/***/ \"./src/functionsfactory.ts\":\n/*!*********************************!*\\\n !*** ./src/functionsfactory.ts ***!\n \\*********************************/\n/*! exports provided: FunctionFactory, registerFunction */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FunctionFactory\", function() { return FunctionFactory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerFunction\", function() { return registerFunction; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _console_warnings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./console-warnings */ \"./src/console-warnings.ts\");\n\n\n\nvar FunctionFactory = /** @class */ (function () {\n function FunctionFactory() {\n this.functionHash = {};\n this.isAsyncHash = {};\n }\n FunctionFactory.prototype.register = function (name, func, isAsync) {\n if (isAsync === void 0) { isAsync = false; }\n this.functionHash[name] = func;\n if (isAsync)\n this.isAsyncHash[name] = true;\n };\n FunctionFactory.prototype.unregister = function (name) {\n delete this.functionHash[name];\n delete this.isAsyncHash[name];\n };\n FunctionFactory.prototype.hasFunction = function (name) {\n return !!this.functionHash[name];\n };\n FunctionFactory.prototype.isAsyncFunction = function (name) {\n return !!this.isAsyncHash[name];\n };\n FunctionFactory.prototype.clear = function () {\n this.functionHash = {};\n };\n FunctionFactory.prototype.getAll = function () {\n var result = [];\n for (var key in this.functionHash) {\n result.push(key);\n }\n return result.sort();\n };\n FunctionFactory.prototype.run = function (name, params, properties) {\n if (properties === void 0) { properties = null; }\n var func = this.functionHash[name];\n if (!func) {\n _console_warnings__WEBPACK_IMPORTED_MODULE_2__[\"ConsoleWarnings\"].warn(\"Unknown function name: \" + name);\n return null;\n }\n var classRunner = {\n func: func,\n };\n if (properties) {\n for (var key in properties) {\n classRunner[key] = properties[key];\n }\n }\n return classRunner.func(params);\n };\n FunctionFactory.Instance = new FunctionFactory();\n return FunctionFactory;\n}());\n\nvar registerFunction = FunctionFactory.Instance.register;\nfunction getParamsAsArray(value, arr) {\n if (value === undefined || value === null)\n return;\n if (Array.isArray(value)) {\n for (var i = 0; i < value.length; i++) {\n getParamsAsArray(value[i], arr);\n }\n }\n else {\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(value)) {\n value = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].getNumber(value);\n }\n arr.push(value);\n }\n}\nfunction sum(params) {\n var arr = [];\n getParamsAsArray(params, arr);\n var res = 0;\n for (var i = 0; i < arr.length; i++) {\n res = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].correctAfterPlusMinis(res, arr[i], res + arr[i]);\n }\n return res;\n}\nFunctionFactory.Instance.register(\"sum\", sum);\nfunction min_max(params, isMin) {\n var arr = [];\n getParamsAsArray(params, arr);\n var res = undefined;\n for (var i = 0; i < arr.length; i++) {\n if (res === undefined) {\n res = arr[i];\n }\n if (isMin) {\n if (res > arr[i])\n res = arr[i];\n }\n else {\n if (res < arr[i])\n res = arr[i];\n }\n }\n return res;\n}\nfunction min(params) {\n return min_max(params, true);\n}\nFunctionFactory.Instance.register(\"min\", min);\nfunction max(params) {\n return min_max(params, false);\n}\nFunctionFactory.Instance.register(\"max\", max);\nfunction count(params) {\n var arr = [];\n getParamsAsArray(params, arr);\n return arr.length;\n}\nFunctionFactory.Instance.register(\"count\", count);\nfunction avg(params) {\n var arr = [];\n getParamsAsArray(params, arr);\n var res = sum(params);\n return arr.length > 0 ? res / arr.length : 0;\n}\nFunctionFactory.Instance.register(\"avg\", avg);\nfunction getInArrayParams(params) {\n if (params.length != 2)\n return null;\n var arr = params[0];\n if (!arr)\n return null;\n if (!Array.isArray(arr) && !Array.isArray(Object.keys(arr)))\n return null;\n var name = params[1];\n if (typeof name !== \"string\" && !(name instanceof String))\n return null;\n return { data: arr, name: name };\n}\nfunction convertToNumber(val) {\n if (typeof val === \"string\")\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(val) ? _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].getNumber(val) : undefined;\n return val;\n}\nfunction processItemInArray(item, name, res, func, needToConvert) {\n if (!item || _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(item[name]))\n return res;\n var val = needToConvert ? convertToNumber(item[name]) : 1;\n return func(res, val);\n}\nfunction calcInArray(params, func, needToConvert) {\n if (needToConvert === void 0) { needToConvert = true; }\n var v = getInArrayParams(params);\n if (!v)\n return undefined;\n var res = undefined;\n if (Array.isArray(v.data)) {\n for (var i = 0; i < v.data.length; i++) {\n res = processItemInArray(v.data[i], v.name, res, func, needToConvert);\n }\n }\n else {\n for (var key in v.data) {\n res = processItemInArray(v.data[key], v.name, res, func, needToConvert);\n }\n }\n return res;\n}\nfunction sumInArray(params) {\n var res = calcInArray(params, function (res, val) {\n if (res == undefined)\n res = 0;\n if (val == undefined || val == null)\n return res;\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].correctAfterPlusMinis(res, val, res + val);\n });\n return res !== undefined ? res : 0;\n}\nFunctionFactory.Instance.register(\"sumInArray\", sumInArray);\nfunction minInArray(params) {\n return calcInArray(params, function (res, val) {\n if (res == undefined)\n return val;\n if (val == undefined || val == null)\n return res;\n return res < val ? res : val;\n });\n}\nFunctionFactory.Instance.register(\"minInArray\", minInArray);\nfunction maxInArray(params) {\n return calcInArray(params, function (res, val) {\n if (res == undefined)\n return val;\n if (val == undefined || val == null)\n return res;\n return res > val ? res : val;\n });\n}\nFunctionFactory.Instance.register(\"maxInArray\", maxInArray);\nfunction countInArray(params) {\n var res = calcInArray(params, function (res, val) {\n if (res == undefined)\n res = 0;\n if (val == undefined || val == null)\n return res;\n return res + 1;\n }, false);\n return res !== undefined ? res : 0;\n}\nFunctionFactory.Instance.register(\"countInArray\", countInArray);\nfunction avgInArray(params) {\n var count = countInArray(params);\n if (count == 0)\n return 0;\n return sumInArray(params) / count;\n}\nFunctionFactory.Instance.register(\"avgInArray\", avgInArray);\nfunction iif(params) {\n if (!params && params.length !== 3)\n return \"\";\n return params[0] ? params[1] : params[2];\n}\nFunctionFactory.Instance.register(\"iif\", iif);\nfunction getDate(params) {\n if (!params && params.length < 1)\n return null;\n if (!params[0])\n return null;\n return new Date(params[0]);\n}\nFunctionFactory.Instance.register(\"getDate\", getDate);\nfunction age(params) {\n if (!params && params.length < 1)\n return null;\n if (!params[0])\n return null;\n var birthDate = new Date(params[0]);\n var today = new Date();\n var age = today.getFullYear() - birthDate.getFullYear();\n if (age > 0) {\n var m = today.getMonth() - birthDate.getMonth();\n if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {\n age -= 1;\n }\n }\n return age;\n}\nFunctionFactory.Instance.register(\"age\", age);\nfunction isContainerReadyCore(container) {\n if (!container)\n return false;\n var questions = container.questions;\n for (var i = 0; i < questions.length; i++) {\n if (!questions[i].validate(false))\n return false;\n }\n return true;\n}\nfunction isContainerReady(params) {\n if (!params && params.length < 1)\n return false;\n if (!params[0] || !this.survey)\n return false;\n var name = params[0];\n var container = this.survey.getPageByName(name);\n if (!container)\n container = this.survey.getPanelByName(name);\n if (!container) {\n var question = this.survey.getQuestionByName(name);\n if (!question || !Array.isArray(question.panels))\n return false;\n if (params.length > 1) {\n if (params[1] < question.panels.length) {\n container = question.panels[params[1]];\n }\n }\n else {\n for (var i = 0; i < question.panels.length; i++) {\n if (!isContainerReadyCore(question.panels[i]))\n return false;\n }\n return true;\n }\n }\n return isContainerReadyCore(container);\n}\nFunctionFactory.Instance.register(\"isContainerReady\", isContainerReady);\nfunction isDisplayMode() {\n return this.survey && this.survey.isDisplayMode;\n}\nFunctionFactory.Instance.register(\"isDisplayMode\", isDisplayMode);\nfunction currentDate() {\n return new Date();\n}\nFunctionFactory.Instance.register(\"currentDate\", currentDate);\nfunction today(params) {\n var res = new Date();\n if (_settings__WEBPACK_IMPORTED_MODULE_1__[\"settings\"].localization.useLocalTimeZone) {\n res.setHours(0, 0, 0, 0);\n }\n else {\n res.setUTCHours(0, 0, 0, 0);\n }\n if (Array.isArray(params) && params.length == 1) {\n res.setDate(res.getDate() + params[0]);\n }\n return res;\n}\nFunctionFactory.Instance.register(\"today\", today);\nfunction getYear(params) {\n if (params.length !== 1 || !params[0])\n return undefined;\n return new Date(params[0]).getFullYear();\n}\nFunctionFactory.Instance.register(\"getYear\", getYear);\nfunction currentYear() {\n return new Date().getFullYear();\n}\nFunctionFactory.Instance.register(\"currentYear\", currentYear);\nfunction diffDays(params) {\n if (!Array.isArray(params) || params.length !== 2)\n return 0;\n if (!params[0] || !params[1])\n return 0;\n var date1 = new Date(params[0]);\n var date2 = new Date(params[1]);\n var diffTime = Math.abs(date2 - date1);\n return Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n}\nFunctionFactory.Instance.register(\"diffDays\", diffDays);\nfunction dateFromFirstParameterOrToday(params) {\n var date = today(undefined);\n if (params && params[0]) {\n date = new Date(params[0]);\n }\n return date;\n}\nfunction year(params) {\n var date = dateFromFirstParameterOrToday(params);\n return date.getFullYear();\n}\nFunctionFactory.Instance.register(\"year\", year);\nfunction month(params) {\n var date = dateFromFirstParameterOrToday(params);\n return date.getMonth() + 1;\n}\nFunctionFactory.Instance.register(\"month\", month);\nfunction day(params) {\n var date = dateFromFirstParameterOrToday(params);\n return date.getDate();\n}\nFunctionFactory.Instance.register(\"day\", day);\nfunction weekday(params) {\n var date = dateFromFirstParameterOrToday(params);\n return date.getDay();\n}\nFunctionFactory.Instance.register(\"weekday\", weekday);\nfunction getQuestionValueByContext(context, name) {\n if (!context || !name)\n return undefined;\n var keys = [\"row\", \"panel\", \"survey\"];\n for (var i = 0; i < keys.length; i++) {\n var ctx = context[keys[i]];\n if (ctx && ctx.getQuestionByName) {\n var res = ctx.getQuestionByName(name);\n if (res)\n return res;\n }\n }\n return null;\n}\nfunction displayValue(params) {\n var q = getQuestionValueByContext(this, params[0]);\n return q ? q.displayValue : \"\";\n}\nFunctionFactory.Instance.register(\"displayValue\", displayValue);\nfunction propertyValue(params) {\n if (params.length !== 2 || !params[0] || !params[1])\n return undefined;\n var q = getQuestionValueByContext(this, params[0]);\n return q ? q[params[1]] : undefined;\n}\nFunctionFactory.Instance.register(\"propertyValue\", propertyValue);\nfunction substring_(params) {\n if (params.length < 2)\n return \"\";\n var s = params[0];\n if (!s || typeof s !== \"string\")\n return \"\";\n var start = params[1];\n if (!_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(start))\n return \"\";\n var end = params.length > 2 ? params[2] : undefined;\n if (!_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(end))\n return s.substring(start);\n return s.substring(start, end);\n}\nFunctionFactory.Instance.register(\"substring\", substring_);\n\n\n/***/ }),\n\n/***/ \"./src/global_variables_utils.ts\":\n/*!***************************************!*\\\n !*** ./src/global_variables_utils.ts ***!\n \\***************************************/\n/*! exports provided: DomWindowHelper, DomDocumentHelper */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DomWindowHelper\", function() { return DomWindowHelper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DomDocumentHelper\", function() { return DomDocumentHelper; });\n/* eslint-disable no-restricted-globals */\nvar DomWindowHelper = /** @class */ (function () {\n function DomWindowHelper() {\n }\n DomWindowHelper.isAvailable = function () {\n return \"undefined\" !== typeof window;\n };\n DomWindowHelper.isFileReaderAvailable = function () {\n if (!DomWindowHelper.isAvailable())\n return false;\n return !!window[\"FileReader\"];\n };\n DomWindowHelper.getLocation = function () {\n if (!DomWindowHelper.isAvailable())\n return;\n return window.location;\n };\n DomWindowHelper.getVisualViewport = function () {\n if (!DomWindowHelper.isAvailable())\n return null;\n return window.visualViewport;\n };\n DomWindowHelper.getInnerWidth = function () {\n if (!DomWindowHelper.isAvailable())\n return;\n return window.innerWidth;\n };\n DomWindowHelper.getInnerHeight = function () {\n if (!DomWindowHelper.isAvailable())\n return null;\n return window.innerHeight;\n };\n DomWindowHelper.getWindow = function () {\n if (!DomWindowHelper.isAvailable())\n return;\n return window;\n };\n DomWindowHelper.hasOwn = function (propertyName) {\n if (!DomWindowHelper.isAvailable())\n return;\n return propertyName in window;\n };\n DomWindowHelper.getSelection = function () {\n if (DomWindowHelper.isAvailable() && window.getSelection) {\n return window.getSelection();\n }\n };\n DomWindowHelper.requestAnimationFrame = function (callback) {\n if (DomWindowHelper.isAvailable()) {\n return window.requestAnimationFrame(callback);\n }\n };\n DomWindowHelper.addEventListener = function (type, listener) {\n if (!DomWindowHelper.isAvailable())\n return;\n window.addEventListener(type, listener);\n };\n DomWindowHelper.removeEventListener = function (type, listener) {\n if (!DomWindowHelper.isAvailable())\n return;\n window.removeEventListener(type, listener);\n };\n return DomWindowHelper;\n}());\n\nvar DomDocumentHelper = /** @class */ (function () {\n function DomDocumentHelper() {\n }\n DomDocumentHelper.isAvailable = function () {\n return \"undefined\" !== typeof document;\n };\n DomDocumentHelper.getBody = function () {\n if (!DomDocumentHelper.isAvailable())\n return;\n return document.body;\n };\n DomDocumentHelper.getDocumentElement = function () {\n if (!DomDocumentHelper.isAvailable())\n return;\n return document.documentElement;\n };\n DomDocumentHelper.getDocument = function () {\n if (!DomDocumentHelper.isAvailable())\n return;\n return document;\n };\n DomDocumentHelper.getCookie = function () {\n if (!DomDocumentHelper.isAvailable())\n return;\n return document.cookie;\n };\n DomDocumentHelper.setCookie = function (newCookie) {\n if (!DomDocumentHelper.isAvailable())\n return;\n document.cookie = newCookie;\n };\n DomDocumentHelper.activeElementBlur = function () {\n if (!DomDocumentHelper.isAvailable())\n return;\n var activeElement = document.activeElement;\n if (!!activeElement && !!activeElement.blur) {\n activeElement.blur();\n }\n };\n DomDocumentHelper.createElement = function (tagName) {\n if (!DomDocumentHelper.isAvailable())\n return;\n return document.createElement(tagName);\n };\n DomDocumentHelper.getComputedStyle = function (elt) {\n if (!DomDocumentHelper.isAvailable())\n return new CSSStyleDeclaration();\n return document.defaultView.getComputedStyle(elt);\n };\n DomDocumentHelper.addEventListener = function (type, listener) {\n if (!DomDocumentHelper.isAvailable())\n return;\n document.addEventListener(type, listener);\n };\n DomDocumentHelper.removeEventListener = function (type, listener) {\n if (!DomDocumentHelper.isAvailable())\n return;\n document.removeEventListener(type, listener);\n };\n return DomDocumentHelper;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/header.ts\":\n/*!***********************!*\\\n !*** ./src/header.ts ***!\n \\***********************/\n/*! exports provided: CoverCell, Cover */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CoverCell\", function() { return CoverCell; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Cover\", function() { return Cover; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\nvar CoverCell = /** @class */ (function () {\n function CoverCell(cover, positionX, positionY) {\n this.cover = cover;\n this.positionX = positionX;\n this.positionY = positionY;\n }\n CoverCell.prototype.calcRow = function (positionY) {\n return positionY === \"top\" ? 1 : (positionY === \"middle\" ? 2 : 3);\n };\n CoverCell.prototype.calcColumn = function (positionX) {\n return positionX === \"left\" ? 1 : (positionX === \"center\" ? 2 : 3);\n };\n CoverCell.prototype.calcAlignItems = function (positionX) {\n return positionX === \"left\" ? \"flex-start\" : (positionX === \"center\" ? \"center\" : \"flex-end\");\n };\n CoverCell.prototype.calcAlignText = function (positionX) {\n return positionX === \"left\" ? \"start\" : (positionX === \"center\" ? \"center\" : \"end\");\n };\n CoverCell.prototype.calcJustifyContent = function (positionY) {\n return positionY === \"top\" ? \"flex-start\" : (positionY === \"middle\" ? \"center\" : \"flex-end\");\n };\n Object.defineProperty(CoverCell.prototype, \"survey\", {\n get: function () {\n return this.cover.survey;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"css\", {\n get: function () {\n var result = CoverCell.CLASSNAME + \" \" + CoverCell.CLASSNAME + \"--\" + this.positionX + \" \" + CoverCell.CLASSNAME + \"--\" + this.positionY;\n return result;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"style\", {\n get: function () {\n var result = {};\n result[\"gridColumn\"] = this.calcColumn(this.positionX);\n result[\"gridRow\"] = this.calcRow(this.positionY);\n return result;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"contentStyle\", {\n get: function () {\n var result = {};\n result[\"textAlign\"] = this.calcAlignText(this.positionX);\n result[\"alignItems\"] = this.calcAlignItems(this.positionX);\n result[\"justifyContent\"] = this.calcJustifyContent(this.positionY);\n return result;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"showLogo\", {\n get: function () {\n return this.survey.hasLogo && this.positionX === this.cover.logoPositionX && this.positionY === this.cover.logoPositionY;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"showTitle\", {\n get: function () {\n return this.survey.hasTitle && this.positionX === this.cover.titlePositionX && this.positionY === this.cover.titlePositionY;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"showDescription\", {\n get: function () {\n return this.survey.renderedHasDescription && this.positionX === this.cover.descriptionPositionX && this.positionY === this.cover.descriptionPositionY;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"textAreaWidth\", {\n get: function () {\n if (!this.cover.textAreaWidth) {\n return \"\";\n }\n return \"\" + this.cover.textAreaWidth + \"px\";\n },\n enumerable: false,\n configurable: true\n });\n CoverCell.CLASSNAME = \"sv-header__cell\";\n return CoverCell;\n}());\n\nvar Cover = /** @class */ (function (_super) {\n __extends(Cover, _super);\n function Cover() {\n var _this = _super.call(this) || this;\n _this.cells = [];\n [\"top\", \"middle\", \"bottom\"].forEach(function (positionY) {\n return [\"left\", \"center\", \"right\"].forEach(function (positionX) { return _this.cells.push(new CoverCell(_this, positionX, positionY)); });\n });\n _this.init();\n return _this;\n }\n Cover.prototype.calcBackgroundSize = function (backgroundImageFit) {\n if (backgroundImageFit === \"fill\") {\n return \"100% 100%\";\n }\n if (backgroundImageFit === \"tile\") {\n return \"auto\";\n }\n return backgroundImageFit;\n };\n Cover.prototype.updateHeaderClasses = function () {\n this.headerClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(\"sv-header\")\n .append(\"sv-header__without-background\", (this.backgroundColor === \"transparent\") && !this.backgroundImage)\n .append(\"sv-header__background-color--none\", this.backgroundColor === \"transparent\" && !this.titleColor && !this.descriptionColor)\n .append(\"sv-header__background-color--accent\", !this.backgroundColor && !this.titleColor && !this.descriptionColor)\n .append(\"sv-header__background-color--custom\", !!this.backgroundColor && this.backgroundColor !== \"transparent\" && !this.titleColor && !this.descriptionColor)\n .append(\"sv-header__overlap\", this.overlapEnabled)\n .toString();\n };\n Cover.prototype.updateContentClasses = function () {\n var surveyWidthMode = !!this.survey && this.survey.calculateWidthMode();\n this.maxWidth = this.inheritWidthFrom === \"survey\" && !!surveyWidthMode && surveyWidthMode === \"static\" && this.survey.renderedWidth;\n this.contentClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(\"sv-header__content\")\n .append(\"sv-header__content--static\", this.inheritWidthFrom === \"survey\" && !!surveyWidthMode && surveyWidthMode === \"static\")\n .append(\"sv-header__content--responsive\", this.inheritWidthFrom === \"container\" || (!!surveyWidthMode && surveyWidthMode === \"responsive\"))\n .toString();\n };\n Cover.prototype.updateBackgroundImageClasses = function () {\n this.backgroundImageClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(\"sv-header__background-image\")\n .append(\"sv-header__background-image--contain\", this.backgroundImageFit === \"contain\")\n .append(\"sv-header__background-image--tile\", this.backgroundImageFit === \"tile\")\n .toString();\n };\n Cover.prototype.fromTheme = function (theme) {\n _super.prototype.fromJSON.call(this, theme.header);\n if (!!theme.cssVariables) {\n this.backgroundColor = theme.cssVariables[\"--sjs-header-backcolor\"];\n this.titleColor = theme.cssVariables[\"--sjs-font-headertitle-color\"];\n this.descriptionColor = theme.cssVariables[\"--sjs-font-headerdescription-color\"];\n }\n this.init();\n };\n Cover.prototype.init = function () {\n this.renderBackgroundImage = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"wrapUrlForBackgroundImage\"])(this.backgroundImage);\n this.updateHeaderClasses();\n this.updateContentClasses();\n this.updateBackgroundImageClasses();\n };\n Cover.prototype.getType = function () {\n return \"cover\";\n };\n Object.defineProperty(Cover.prototype, \"renderedHeight\", {\n get: function () {\n return this.height && (this.survey && !this.survey.isMobile || !this.survey) ? Math.max(this.height, this.actualHeight + 40) + \"px\" : undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Cover.prototype, \"renderedtextAreaWidth\", {\n get: function () {\n return this.textAreaWidth ? this.textAreaWidth + \"px\" : undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Cover.prototype, \"survey\", {\n get: function () {\n return this._survey;\n },\n set: function (newValue) {\n var _this = this;\n if (this._survey === newValue)\n return;\n this._survey = newValue;\n if (!!newValue) {\n this.updateContentClasses();\n this._survey.onPropertyChanged.add(function (sender, options) {\n if (options.name == \"widthMode\" || options.name == \"width\") {\n _this.updateContentClasses();\n }\n });\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Cover.prototype, \"backgroundImageStyle\", {\n get: function () {\n if (!this.backgroundImage)\n return null;\n return {\n opacity: this.backgroundImageOpacity,\n backgroundImage: this.renderBackgroundImage,\n backgroundSize: this.calcBackgroundSize(this.backgroundImageFit),\n };\n },\n enumerable: false,\n configurable: true\n });\n Cover.prototype.propertyValueChanged = function (name, oldValue, newValue) {\n _super.prototype.propertyValueChanged.call(this, name, oldValue, newValue);\n if (name === \"backgroundColor\" || name === \"backgroundImage\" || name === \"overlapEnabled\") {\n this.updateHeaderClasses();\n }\n if (name === \"inheritWidthFrom\") {\n this.updateContentClasses();\n }\n if (name === \"backgroundImageFit\") {\n this.updateBackgroundImageClasses();\n }\n };\n Cover.prototype.calculateActualHeight = function (logoHeight, titleHeight, descriptionHeight) {\n var positionsY = [\"top\", \"middle\", \"bottom\"];\n var logoIndex = positionsY.indexOf(this.logoPositionY);\n var titleIndex = positionsY.indexOf(this.titlePositionY);\n var descriptionIndex = positionsY.indexOf(this.descriptionPositionY);\n var positionsX = [\"left\", \"center\", \"right\"];\n var logoIndexX = positionsX.indexOf(this.logoPositionX);\n var titleIndexX = positionsX.indexOf(this.titlePositionX);\n var descriptionIndexX = positionsX.indexOf(this.descriptionPositionX);\n var heights = [\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]\n ];\n heights[logoIndex][logoIndexX] = logoHeight;\n heights[titleIndex][titleIndexX] += titleHeight;\n heights[descriptionIndex][descriptionIndexX] += descriptionHeight;\n return heights.reduce(function (total, rowArr) { return total + Math.max.apply(Math, rowArr); }, 0);\n };\n Cover.prototype.processResponsiveness = function (width) {\n if (this.survey && this.survey.rootElement) {\n var logoEl = this.survey.rootElement.querySelectorAll(\".sv-header__logo\")[0];\n var titleEl = this.survey.rootElement.querySelectorAll(\".sv-header__title\")[0];\n var descriptionEl = this.survey.rootElement.querySelectorAll(\".sv-header__description\")[0];\n var logoHeight = logoEl ? logoEl.getBoundingClientRect().height : 0;\n var titleHeight = titleEl ? titleEl.getBoundingClientRect().height : 0;\n var descriptionHeight = descriptionEl ? descriptionEl.getBoundingClientRect().height : 0;\n this.actualHeight = this.calculateActualHeight(logoHeight, titleHeight, descriptionHeight);\n }\n };\n Object.defineProperty(Cover.prototype, \"hasBackground\", {\n get: function () {\n return !!this.backgroundImage || this.backgroundColor !== \"transparent\";\n },\n enumerable: false,\n configurable: true\n });\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: 0 })\n ], Cover.prototype, \"actualHeight\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"height\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"inheritWidthFrom\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"textAreaWidth\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"textGlowEnabled\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"overlapEnabled\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"backgroundColor\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"titleColor\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"descriptionColor\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({\n onSet: function (newVal, target) {\n target.renderBackgroundImage = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"wrapUrlForBackgroundImage\"])(newVal);\n }\n })\n ], Cover.prototype, \"backgroundImage\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"renderBackgroundImage\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"backgroundImageFit\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"backgroundImageOpacity\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"logoPositionX\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"logoPositionY\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"titlePositionX\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"titlePositionY\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"descriptionPositionX\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"descriptionPositionY\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"logoStyle\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"titleStyle\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"descriptionStyle\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"headerClasses\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"contentClasses\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"maxWidth\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"backgroundImageClasses\", void 0);\n return Cover;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].addClass(\"cover\", [\n { name: \"height:number\", minValue: 0, default: 256 },\n { name: \"inheritWidthFrom\", default: \"container\" },\n { name: \"textAreaWidth:number\", minValue: 0, default: 512 },\n { name: \"textGlowEnabled:boolean\" },\n { name: \"overlapEnabled:boolean\" },\n { name: \"backgroundImage:file\" },\n { name: \"backgroundImageOpacity:number\", minValue: 0, maxValue: 1, default: 1 },\n { name: \"backgroundImageFit\", default: \"cover\", choices: [\"cover\", \"fill\", \"contain\"] },\n { name: \"logoPositionX\", default: \"right\" },\n { name: \"logoPositionY\", default: \"top\" },\n { name: \"titlePositionX\", default: \"left\" },\n { name: \"titlePositionY\", default: \"bottom\" },\n { name: \"descriptionPositionX\", default: \"left\" },\n { name: \"descriptionPositionY\", default: \"bottom\" }\n], function () {\n return new Cover();\n});\n\n\n/***/ }),\n\n/***/ \"./src/helpers.ts\":\n/*!************************!*\\\n !*** ./src/helpers.ts ***!\n \\************************/\n/*! exports provided: Helpers */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Helpers\", function() { return Helpers; });\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n\nvar Helpers = /** @class */ (function () {\n function Helpers() {\n }\n /**\n * A static methods that returns true if a value undefined, null, empty string or empty array.\n * @param value\n */\n Helpers.isValueEmpty = function (value) {\n if (Array.isArray(value) && value.length === 0)\n return true;\n if (!!value && Helpers.isValueObject(value) && value.constructor === Object) {\n for (var key in value) {\n if (!Helpers.isValueEmpty(value[key]))\n return false;\n }\n return true;\n }\n return !value && value !== 0 && value !== false;\n };\n Helpers.isArrayContainsEqual = function (x, y) {\n if (!Array.isArray(x) || !Array.isArray(y))\n return false;\n if (x.length !== y.length)\n return false;\n for (var i = 0; i < x.length; i++) {\n var j = 0;\n for (; j < y.length; j++) {\n if (Helpers.isTwoValueEquals(x[i], y[j]))\n break;\n }\n if (j === y.length)\n return false;\n }\n return true;\n };\n Helpers.isArraysEqual = function (x, y, ignoreOrder, caseSensitive, trimStrings) {\n if (ignoreOrder === void 0) { ignoreOrder = false; }\n if (!Array.isArray(x) || !Array.isArray(y))\n return false;\n if (x.length !== y.length)\n return false;\n if (ignoreOrder) {\n var xSorted = [];\n var ySorted = [];\n for (var i = 0; i < x.length; i++) {\n xSorted.push(x[i]);\n ySorted.push(y[i]);\n }\n xSorted.sort();\n ySorted.sort();\n x = xSorted;\n y = ySorted;\n }\n for (var i = 0; i < x.length; i++) {\n if (!Helpers.isTwoValueEquals(x[i], y[i], ignoreOrder, caseSensitive, trimStrings))\n return false;\n }\n return true;\n };\n Helpers.compareStrings = function (x, y) {\n var normalize = _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].comparator.normalizeTextCallback;\n if (!!x)\n x = normalize(x, \"compare\").trim();\n if (!!y)\n y = normalize(y, \"compare\").trim();\n if (!x && !y)\n return 0;\n if (!x)\n return -1;\n if (!y)\n return 1;\n if (x === y)\n return 0;\n var digitIndex = -1;\n for (var i = 0; i < x.length && i < y.length; i++) {\n if (this.isCharDigit(x[i]) && this.isCharDigit(y[i])) {\n digitIndex = i;\n break;\n }\n if (x[i] !== y[i])\n break;\n }\n if (digitIndex > -1) {\n var nX = this.getNumberFromStr(x, digitIndex);\n var nY = this.getNumberFromStr(y, digitIndex);\n if (!Number.isNaN(nX) && !Number.isNaN(nY) && nX !== nY) {\n return nX > nY ? 1 : -1;\n }\n }\n return x > y ? 1 : -1;\n };\n Helpers.isTwoValueEquals = function (x, y, ignoreOrder, caseSensitive, trimStrings) {\n if (ignoreOrder === void 0) { ignoreOrder = false; }\n if (x === y)\n return true;\n if (Array.isArray(x) && x.length === 0 && typeof y === \"undefined\")\n return true;\n if (Array.isArray(y) && y.length === 0 && typeof x === \"undefined\")\n return true;\n if ((x === undefined || x === null) && y === \"\")\n return true;\n if ((y === undefined || y === null) && x === \"\")\n return true;\n if (trimStrings === undefined)\n trimStrings = _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].comparator.trimStrings;\n if (caseSensitive === undefined)\n caseSensitive = _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].comparator.caseSensitive;\n if (typeof x === \"string\" && typeof y === \"string\") {\n var normalize = _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].comparator.normalizeTextCallback;\n x = normalize(x, \"compare\");\n y = normalize(y, \"compare\");\n if (trimStrings) {\n x = x.trim();\n y = y.trim();\n }\n if (!caseSensitive) {\n x = x.toLowerCase();\n y = y.toLowerCase();\n }\n return x === y;\n }\n if (x instanceof Date && y instanceof Date)\n return x.getTime() == y.getTime();\n if (Helpers.isConvertibleToNumber(x) && Helpers.isConvertibleToNumber(y)) {\n if (parseInt(x) === parseInt(y) && parseFloat(x) === parseFloat(y)) {\n return true;\n }\n }\n if ((!Helpers.isValueEmpty(x) && Helpers.isValueEmpty(y)) ||\n (Helpers.isValueEmpty(x) && !Helpers.isValueEmpty(y)))\n return false;\n if ((x === true || x === false) && typeof y == \"string\") {\n return x.toString() === y.toLocaleLowerCase();\n }\n if ((y === true || y === false) && typeof x == \"string\") {\n return y.toString() === x.toLocaleLowerCase();\n }\n if (!Helpers.isValueObject(x) && !Helpers.isValueObject(y))\n return x == y;\n if (!Helpers.isValueObject(x) || !Helpers.isValueObject(y))\n return false;\n if (x[\"equals\"] && y[\"equals\"])\n return x.equals(y);\n if (Array.isArray(x) && Array.isArray(y)) {\n return Helpers.isArraysEqual(x, y, ignoreOrder, caseSensitive, trimStrings);\n }\n for (var p in x) {\n if (!x.hasOwnProperty(p))\n continue;\n if (!y.hasOwnProperty(p))\n return false;\n if (!this.isTwoValueEquals(x[p], y[p], ignoreOrder, caseSensitive, trimStrings))\n return false;\n }\n for (p in y) {\n if (y.hasOwnProperty(p) && !x.hasOwnProperty(p))\n return false;\n }\n return true;\n };\n Helpers.randomizeArray = function (array) {\n for (var i = array.length - 1; i > 0; i--) {\n var j = Math.floor(Math.random() * (i + 1));\n var temp = array[i];\n array[i] = array[j];\n array[j] = temp;\n }\n return array;\n };\n Helpers.getUnbindValue = function (value) {\n if (Array.isArray(value)) {\n var res = [];\n for (var i = 0; i < value.length; i++) {\n res.push(Helpers.getUnbindValue(value[i]));\n }\n return res;\n }\n if (!!value && Helpers.isValueObject(value) && !(value instanceof Date)) {\n return JSON.parse(JSON.stringify(value));\n }\n return value;\n };\n Helpers.createCopy = function (obj) {\n var res = {};\n if (!obj)\n return res;\n for (var key in obj) {\n res[key] = obj[key];\n }\n return res;\n };\n Helpers.isConvertibleToNumber = function (value) {\n return (value !== undefined &&\n value !== null &&\n !Array.isArray(value) &&\n !isNaN(value));\n };\n Helpers.isValueObject = function (val, excludeArray) {\n return val instanceof Object && (!excludeArray || !Array.isArray(val));\n };\n Helpers.isNumber = function (value) {\n return !isNaN(this.getNumber(value));\n };\n Helpers.getNumber = function (value) {\n if (typeof value == \"string\" &&\n !!value &&\n value.indexOf(\"0x\") == 0 &&\n value.length > 32)\n return NaN;\n value = this.prepareStringToNumber(value);\n var res = parseFloat(value);\n if (isNaN(res) || !isFinite(value))\n return NaN;\n return res;\n };\n Helpers.prepareStringToNumber = function (val) {\n if (typeof val !== \"string\" || !val)\n return val;\n var i = val.indexOf(\",\");\n if (i > -1 && val.indexOf(\",\", i + 1) < 0) {\n return val.replace(\",\", \".\");\n }\n return val;\n };\n Helpers.getMaxLength = function (maxLength, surveyLength) {\n if (maxLength < 0) {\n maxLength = surveyLength;\n }\n return maxLength > 0 ? maxLength : null;\n };\n Helpers.getRemainingCharacterCounterText = function (newValue, maxLength) {\n if (!maxLength || maxLength <= 0 || !_settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].showMaxLengthIndicator) {\n return \"\";\n }\n var value = newValue ? newValue.length : \"0\";\n return [value, maxLength].join(\"/\");\n };\n Helpers.getNumberByIndex = function (index, startIndexStr) {\n if (index < 0)\n return \"\";\n var startIndex = 1;\n var prefix = \"\";\n var postfix = \".\";\n var isNumeric = true;\n var strIndex = \"A\";\n var str = \"\";\n if (!!startIndexStr) {\n str = startIndexStr;\n var ind = str.length - 1;\n var hasDigit = false;\n for (var i = 0; i < str.length; i++) {\n if (Helpers.isCharDigit(str[i])) {\n hasDigit = true;\n break;\n }\n }\n var checkLetter = function () {\n return ((hasDigit && !Helpers.isCharDigit(str[ind])) ||\n Helpers.isCharNotLetterAndDigit(str[ind]));\n };\n while (ind >= 0 && checkLetter())\n ind--;\n var newPostfix = \"\";\n if (ind < str.length - 1) {\n newPostfix = str.substring(ind + 1);\n str = str.substring(0, ind + 1);\n }\n ind = str.length - 1;\n while (ind >= 0) {\n if (checkLetter())\n break;\n ind--;\n if (!hasDigit)\n break;\n }\n strIndex = str.substring(ind + 1);\n prefix = str.substring(0, ind + 1);\n if (parseInt(strIndex))\n startIndex = parseInt(strIndex);\n else if (strIndex.length == 1)\n isNumeric = false;\n if (!!newPostfix || !!prefix) {\n postfix = newPostfix;\n }\n }\n if (isNumeric) {\n var val = (index + startIndex).toString();\n while (val.length < strIndex.length)\n val = \"0\" + val;\n return prefix + val + postfix;\n }\n return (prefix + String.fromCharCode(strIndex.charCodeAt(0) + index) + postfix);\n };\n Helpers.isCharNotLetterAndDigit = function (ch) {\n return ch.toUpperCase() == ch.toLowerCase() && !Helpers.isCharDigit(ch);\n };\n Helpers.isCharDigit = function (ch) {\n return ch >= \"0\" && ch <= \"9\";\n };\n Helpers.getNumberFromStr = function (str, index) {\n if (!this.isCharDigit(str[index]))\n return NaN;\n var nStr = \"\";\n while (index < str.length && this.isCharDigit(str[index])) {\n nStr += str[index];\n index++;\n }\n if (!nStr)\n return NaN;\n return this.getNumber(nStr);\n };\n Helpers.countDecimals = function (value) {\n if (Helpers.isNumber(value) && Math.floor(value) !== value) {\n var strs = value.toString().split(\".\");\n return strs.length > 1 && strs[1].length || 0;\n }\n return 0;\n };\n Helpers.correctAfterPlusMinis = function (a, b, res) {\n var digitsA = Helpers.countDecimals(a);\n var digitsB = Helpers.countDecimals(b);\n if (digitsA > 0 || digitsB > 0) {\n var digits = Math.max(digitsA, digitsB);\n res = parseFloat(res.toFixed(digits));\n }\n return res;\n };\n Helpers.sumAnyValues = function (a, b) {\n if (!Helpers.isNumber(a) || !Helpers.isNumber(b)) {\n if (Array.isArray(a) && Array.isArray(b))\n return [].concat(a).concat(b);\n if (Array.isArray(a) || Array.isArray(b)) {\n var arr = Array.isArray(a) ? a : b;\n var val = arr === a ? b : a;\n if (typeof val === \"string\") {\n var str = arr.join(\", \");\n return arr === a ? str + val : val + str;\n }\n if (typeof val === \"number\") {\n var res = 0;\n for (var i = 0; i < arr.length; i++) {\n if (typeof arr[i] === \"number\") {\n res = Helpers.correctAfterPlusMinis(res, arr[i], res + arr[i]);\n }\n }\n return Helpers.correctAfterPlusMinis(res, val, res + val);\n }\n }\n return a + b;\n }\n if (typeof a === \"string\" || typeof b === \"string\")\n return a + b;\n return Helpers.correctAfterPlusMinis(a, b, a + b);\n };\n Helpers.correctAfterMultiple = function (a, b, res) {\n var digits = Helpers.countDecimals(a) + Helpers.countDecimals(b);\n if (digits > 0) {\n res = parseFloat(res.toFixed(digits));\n }\n return res;\n };\n Helpers.convertArrayValueToObject = function (src, propName, dest) {\n if (dest === void 0) { dest = undefined; }\n var res = new Array();\n if (!src || !Array.isArray(src))\n return res;\n for (var i = 0; i < src.length; i++) {\n var item = void 0;\n if (Array.isArray(dest)) {\n item = Helpers.findObjByPropValue(dest, propName, src[i]);\n }\n if (!item) {\n item = {};\n item[propName] = src[i];\n }\n res.push(item);\n }\n return res;\n };\n Helpers.findObjByPropValue = function (arr, propName, val) {\n for (var i = 0; i < arr.length; i++) {\n if (Helpers.isTwoValueEquals(arr[i][propName], val))\n return arr[i];\n }\n return undefined;\n };\n Helpers.convertArrayObjectToValue = function (src, propName) {\n var res = new Array();\n if (!src || !Array.isArray(src))\n return res;\n for (var i = 0; i < src.length; i++) {\n var itemVal = !!src[i] ? src[i][propName] : undefined;\n if (!Helpers.isValueEmpty(itemVal))\n res.push(itemVal);\n }\n return res;\n };\n Helpers.convertDateToString = function (date) {\n var toStr = function (val) {\n if (val < 10)\n return \"0\" + val.toString();\n return val.toString();\n };\n return date.getFullYear() + \"-\" + toStr(date.getMonth() + 1) + \"-\" + toStr(date.getDate());\n };\n Helpers.convertDateTimeToString = function (date) {\n var toStr = function (val) {\n if (val < 10)\n return \"0\" + val.toString();\n return val.toString();\n };\n return this.convertDateToString(date) + \" \" + toStr(date.getHours()) + \":\" + toStr(date.getMinutes());\n };\n Helpers.convertValToQuestionVal = function (val, inputType) {\n if (val instanceof Date) {\n if (inputType === \"datetime-local\")\n return Helpers.convertDateTimeToString(val);\n return Helpers.convertDateToString(val);\n }\n return val;\n };\n Helpers.compareVerions = function (ver1, ver2) {\n if (!ver1 && !ver2)\n return 0;\n var ver1Ar = ver1.split(\".\");\n var ver2Ar = ver2.split(\".\");\n var len1 = ver1Ar.length;\n var len2 = ver2Ar.length;\n for (var i = 0; i < len1 && i < len2; i++) {\n var str1 = ver1Ar[i];\n var str2 = ver2Ar[i];\n if (str1.length === str2.length) {\n if (str1 !== str2) {\n return str1 < str2 ? -1 : 1;\n }\n }\n else {\n return str1.length < str2.length ? -1 : 1;\n }\n }\n return len1 === len2 ? 0 : (len1 < len2 ? -1 : 1);\n };\n return Helpers;\n}());\n\nif (!String.prototype[\"format\"]) {\n String.prototype[\"format\"] = function () {\n var args = arguments;\n return this.replace(/{(\\d+)}/g, function (match, number) {\n return typeof args[number] != \"undefined\" ? args[number] : match;\n });\n };\n}\n\n\n/***/ }),\n\n/***/ \"./src/images sync \\\\.svg$\":\n/*!*********************************************!*\\\n !*** ./src/images sync nonrecursive \\.svg$ ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./ArrowDown_34x34.svg\": \"./src/images/ArrowDown_34x34.svg\",\n\t\"./ArrowLeft.svg\": \"./src/images/ArrowLeft.svg\",\n\t\"./ArrowRight.svg\": \"./src/images/ArrowRight.svg\",\n\t\"./Arrow_downGREY_10x10.svg\": \"./src/images/Arrow_downGREY_10x10.svg\",\n\t\"./ChangeCamera.svg\": \"./src/images/ChangeCamera.svg\",\n\t\"./ChooseFile.svg\": \"./src/images/ChooseFile.svg\",\n\t\"./Clear.svg\": \"./src/images/Clear.svg\",\n\t\"./CloseCamera.svg\": \"./src/images/CloseCamera.svg\",\n\t\"./DefaultFile.svg\": \"./src/images/DefaultFile.svg\",\n\t\"./Delete.svg\": \"./src/images/Delete.svg\",\n\t\"./Down_34x34.svg\": \"./src/images/Down_34x34.svg\",\n\t\"./Left.svg\": \"./src/images/Left.svg\",\n\t\"./ModernBooleanCheckChecked.svg\": \"./src/images/ModernBooleanCheckChecked.svg\",\n\t\"./ModernBooleanCheckInd.svg\": \"./src/images/ModernBooleanCheckInd.svg\",\n\t\"./ModernBooleanCheckUnchecked.svg\": \"./src/images/ModernBooleanCheckUnchecked.svg\",\n\t\"./ModernCheck.svg\": \"./src/images/ModernCheck.svg\",\n\t\"./ModernRadio.svg\": \"./src/images/ModernRadio.svg\",\n\t\"./More.svg\": \"./src/images/More.svg\",\n\t\"./NavMenu_24x24.svg\": \"./src/images/NavMenu_24x24.svg\",\n\t\"./ProgressButton.svg\": \"./src/images/ProgressButton.svg\",\n\t\"./ProgressButtonV2.svg\": \"./src/images/ProgressButtonV2.svg\",\n\t\"./RemoveFile.svg\": \"./src/images/RemoveFile.svg\",\n\t\"./Right.svg\": \"./src/images/Right.svg\",\n\t\"./SearchClear.svg\": \"./src/images/SearchClear.svg\",\n\t\"./ShowCamera.svg\": \"./src/images/ShowCamera.svg\",\n\t\"./TakePicture.svg\": \"./src/images/TakePicture.svg\",\n\t\"./TakePicture_24x24.svg\": \"./src/images/TakePicture_24x24.svg\",\n\t\"./TimerCircle.svg\": \"./src/images/TimerCircle.svg\",\n\t\"./V2Check.svg\": \"./src/images/V2Check.svg\",\n\t\"./V2Check_24x24.svg\": \"./src/images/V2Check_24x24.svg\",\n\t\"./V2DragElement_16x16.svg\": \"./src/images/V2DragElement_16x16.svg\",\n\t\"./back-to-panel_16x16.svg\": \"./src/images/back-to-panel_16x16.svg\",\n\t\"./chevron.svg\": \"./src/images/chevron.svg\",\n\t\"./clear_16x16.svg\": \"./src/images/clear_16x16.svg\",\n\t\"./close_16x16.svg\": \"./src/images/close_16x16.svg\",\n\t\"./collapseDetail.svg\": \"./src/images/collapseDetail.svg\",\n\t\"./drag-n-drop.svg\": \"./src/images/drag-n-drop.svg\",\n\t\"./expandDetail.svg\": \"./src/images/expandDetail.svg\",\n\t\"./full-screen_16x16.svg\": \"./src/images/full-screen_16x16.svg\",\n\t\"./loading.svg\": \"./src/images/loading.svg\",\n\t\"./minimize_16x16.svg\": \"./src/images/minimize_16x16.svg\",\n\t\"./no-image.svg\": \"./src/images/no-image.svg\",\n\t\"./ranking-arrows.svg\": \"./src/images/ranking-arrows.svg\",\n\t\"./ranking-dash.svg\": \"./src/images/ranking-dash.svg\",\n\t\"./rating-star-2.svg\": \"./src/images/rating-star-2.svg\",\n\t\"./rating-star-small-2.svg\": \"./src/images/rating-star-small-2.svg\",\n\t\"./rating-star-small.svg\": \"./src/images/rating-star-small.svg\",\n\t\"./rating-star.svg\": \"./src/images/rating-star.svg\",\n\t\"./restore_16x16.svg\": \"./src/images/restore_16x16.svg\",\n\t\"./search.svg\": \"./src/images/search.svg\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src/images sync \\\\.svg$\";\n\n/***/ }),\n\n/***/ \"./src/images/ArrowDown_34x34.svg\":\n/*!****************************************!*\\\n !*** ./src/images/ArrowDown_34x34.svg ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ArrowLeft.svg\":\n/*!**********************************!*\\\n !*** ./src/images/ArrowLeft.svg ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ArrowRight.svg\":\n/*!***********************************!*\\\n !*** ./src/images/ArrowRight.svg ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/Arrow_downGREY_10x10.svg\":\n/*!*********************************************!*\\\n !*** ./src/images/Arrow_downGREY_10x10.svg ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ChangeCamera.svg\":\n/*!*************************************!*\\\n !*** ./src/images/ChangeCamera.svg ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ChooseFile.svg\":\n/*!***********************************!*\\\n !*** ./src/images/ChooseFile.svg ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/Clear.svg\":\n/*!******************************!*\\\n !*** ./src/images/Clear.svg ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/CloseCamera.svg\":\n/*!************************************!*\\\n !*** ./src/images/CloseCamera.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/DefaultFile.svg\":\n/*!************************************!*\\\n !*** ./src/images/DefaultFile.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/Delete.svg\":\n/*!*******************************!*\\\n !*** ./src/images/Delete.svg ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/Down_34x34.svg\":\n/*!***********************************!*\\\n !*** ./src/images/Down_34x34.svg ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/Left.svg\":\n/*!*****************************!*\\\n !*** ./src/images/Left.svg ***!\n \\*****************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ModernBooleanCheckChecked.svg\":\n/*!**************************************************!*\\\n !*** ./src/images/ModernBooleanCheckChecked.svg ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ModernBooleanCheckInd.svg\":\n/*!**********************************************!*\\\n !*** ./src/images/ModernBooleanCheckInd.svg ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ModernBooleanCheckUnchecked.svg\":\n/*!****************************************************!*\\\n !*** ./src/images/ModernBooleanCheckUnchecked.svg ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ModernCheck.svg\":\n/*!************************************!*\\\n !*** ./src/images/ModernCheck.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ModernRadio.svg\":\n/*!************************************!*\\\n !*** ./src/images/ModernRadio.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/More.svg\":\n/*!*****************************!*\\\n !*** ./src/images/More.svg ***!\n \\*****************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/NavMenu_24x24.svg\":\n/*!**************************************!*\\\n !*** ./src/images/NavMenu_24x24.svg ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ProgressButton.svg\":\n/*!***************************************!*\\\n !*** ./src/images/ProgressButton.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ProgressButtonV2.svg\":\n/*!*****************************************!*\\\n !*** ./src/images/ProgressButtonV2.svg ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/RemoveFile.svg\":\n/*!***********************************!*\\\n !*** ./src/images/RemoveFile.svg ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/Right.svg\":\n/*!******************************!*\\\n !*** ./src/images/Right.svg ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/SearchClear.svg\":\n/*!************************************!*\\\n !*** ./src/images/SearchClear.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ShowCamera.svg\":\n/*!***********************************!*\\\n !*** ./src/images/ShowCamera.svg ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/TakePicture.svg\":\n/*!************************************!*\\\n !*** ./src/images/TakePicture.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/TakePicture_24x24.svg\":\n/*!******************************************!*\\\n !*** ./src/images/TakePicture_24x24.svg ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/TimerCircle.svg\":\n/*!************************************!*\\\n !*** ./src/images/TimerCircle.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/V2Check.svg\":\n/*!********************************!*\\\n !*** ./src/images/V2Check.svg ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/V2Check_24x24.svg\":\n/*!**************************************!*\\\n !*** ./src/images/V2Check_24x24.svg ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/V2DragElement_16x16.svg\":\n/*!********************************************!*\\\n !*** ./src/images/V2DragElement_16x16.svg ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/back-to-panel_16x16.svg\":\n/*!********************************************!*\\\n !*** ./src/images/back-to-panel_16x16.svg ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/chevron.svg\":\n/*!********************************!*\\\n !*** ./src/images/chevron.svg ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/clear_16x16.svg\":\n/*!************************************!*\\\n !*** ./src/images/clear_16x16.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/close_16x16.svg\":\n/*!************************************!*\\\n !*** ./src/images/close_16x16.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/collapseDetail.svg\":\n/*!***************************************!*\\\n !*** ./src/images/collapseDetail.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/drag-n-drop.svg\":\n/*!************************************!*\\\n !*** ./src/images/drag-n-drop.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/expandDetail.svg\":\n/*!*************************************!*\\\n !*** ./src/images/expandDetail.svg ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/full-screen_16x16.svg\":\n/*!******************************************!*\\\n !*** ./src/images/full-screen_16x16.svg ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/loading.svg\":\n/*!********************************!*\\\n !*** ./src/images/loading.svg ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/minimize_16x16.svg\":\n/*!***************************************!*\\\n !*** ./src/images/minimize_16x16.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/no-image.svg\":\n/*!*********************************!*\\\n !*** ./src/images/no-image.svg ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ranking-arrows.svg\":\n/*!***************************************!*\\\n !*** ./src/images/ranking-arrows.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ranking-dash.svg\":\n/*!*************************************!*\\\n !*** ./src/images/ranking-dash.svg ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/rating-star-2.svg\":\n/*!**************************************!*\\\n !*** ./src/images/rating-star-2.svg ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/rating-star-small-2.svg\":\n/*!********************************************!*\\\n !*** ./src/images/rating-star-small-2.svg ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/rating-star-small.svg\":\n/*!******************************************!*\\\n !*** ./src/images/rating-star-small.svg ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/rating-star.svg\":\n/*!************************************!*\\\n !*** ./src/images/rating-star.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/restore_16x16.svg\":\n/*!**************************************!*\\\n !*** ./src/images/restore_16x16.svg ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/search.svg\":\n/*!*******************************!*\\\n !*** ./src/images/search.svg ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley sync \\\\.svg$\":\n/*!****************************************************!*\\\n !*** ./src/images/smiley sync nonrecursive \\.svg$ ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./average.svg\": \"./src/images/smiley/average.svg\",\n\t\"./excellent.svg\": \"./src/images/smiley/excellent.svg\",\n\t\"./good.svg\": \"./src/images/smiley/good.svg\",\n\t\"./normal.svg\": \"./src/images/smiley/normal.svg\",\n\t\"./not-good.svg\": \"./src/images/smiley/not-good.svg\",\n\t\"./perfect.svg\": \"./src/images/smiley/perfect.svg\",\n\t\"./poor.svg\": \"./src/images/smiley/poor.svg\",\n\t\"./terrible.svg\": \"./src/images/smiley/terrible.svg\",\n\t\"./very-good.svg\": \"./src/images/smiley/very-good.svg\",\n\t\"./very-poor.svg\": \"./src/images/smiley/very-poor.svg\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src/images/smiley sync \\\\.svg$\";\n\n/***/ }),\n\n/***/ \"./src/images/smiley/average.svg\":\n/*!***************************************!*\\\n !*** ./src/images/smiley/average.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/excellent.svg\":\n/*!*****************************************!*\\\n !*** ./src/images/smiley/excellent.svg ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/good.svg\":\n/*!************************************!*\\\n !*** ./src/images/smiley/good.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/normal.svg\":\n/*!**************************************!*\\\n !*** ./src/images/smiley/normal.svg ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/not-good.svg\":\n/*!****************************************!*\\\n !*** ./src/images/smiley/not-good.svg ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/perfect.svg\":\n/*!***************************************!*\\\n !*** ./src/images/smiley/perfect.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/poor.svg\":\n/*!************************************!*\\\n !*** ./src/images/smiley/poor.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/terrible.svg\":\n/*!****************************************!*\\\n !*** ./src/images/smiley/terrible.svg ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/very-good.svg\":\n/*!*****************************************!*\\\n !*** ./src/images/smiley/very-good.svg ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/very-poor.svg\":\n/*!*****************************************!*\\\n !*** ./src/images/smiley/very-poor.svg ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/itemvalue.ts\":\n/*!**************************!*\\\n !*** ./src/itemvalue.ts ***!\n \\**************************/\n/*! exports provided: ItemValue */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ItemValue\", function() { return ItemValue; });\n/* harmony import */ var _localizablestring__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./localizablestring */ \"./src/localizablestring.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions/action */ \"./src/actions/action.ts\");\n/* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./question */ \"./src/question.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n/**\n * Array of ItemValue is used in checkbox, dropdown and radiogroup choices, matrix columns and rows.\n * It has two main properties: value and text. If text is empty, value is used for displaying.\n * The text property is localizable and support markdown.\n */\nvar ItemValue = /** @class */ (function (_super) {\n __extends(ItemValue, _super);\n function ItemValue(value, text, typeName) {\n if (text === void 0) { text = null; }\n if (typeName === void 0) { typeName = \"itemvalue\"; }\n var _this = _super.call(this) || this;\n _this.typeName = typeName;\n _this.ownerPropertyName = \"\";\n _this.locTextValue = new _localizablestring__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableString\"](_this, true, \"text\");\n _this.locTextValue.onStrChanged = function (oldValue, newValue) {\n if (newValue == _this.value) {\n newValue = undefined;\n }\n _this.propertyValueChanged(\"text\", oldValue, newValue);\n };\n _this.locTextValue.onGetTextCallback = function (txt) {\n return txt\n ? txt\n : !_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(_this.value)\n ? _this.value.toString()\n : null;\n };\n if (text)\n _this.locText.text = text;\n if (!!value && typeof value === \"object\") {\n _this.setData(value);\n }\n else {\n _this.value = value;\n }\n if (_this.getType() != \"itemvalue\") {\n _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"CustomPropertiesCollection\"].createProperties(_this);\n }\n _this.data = _this;\n _this.onCreating();\n return _this;\n }\n ItemValue.prototype.getMarkdownHtml = function (text, name) {\n return !!this.locOwner ? this.locOwner.getMarkdownHtml(text, name) : undefined;\n };\n ItemValue.prototype.getRenderer = function (name) {\n return !!this.locOwner ? this.locOwner.getRenderer(name) : null;\n };\n ItemValue.prototype.getRendererContext = function (locStr) {\n return !!this.locOwner ? this.locOwner.getRendererContext(locStr) : locStr;\n };\n ItemValue.prototype.getProcessedText = function (text) {\n return this.locOwner ? this.locOwner.getProcessedText(text) : text;\n };\n Object.defineProperty(ItemValue, \"Separator\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_5__[\"settings\"].itemValueSeparator;\n },\n set: function (val) {\n _settings__WEBPACK_IMPORTED_MODULE_5__[\"settings\"].itemValueSeparator = val;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Resets the input array and fills it with values from the values array\n */\n ItemValue.setData = function (items, values, type) {\n items.length = 0;\n for (var i = 0; i < values.length; i++) {\n var value = values[i];\n var itemType = !!value && typeof value.getType === \"function\" ? value.getType() : (type !== null && type !== void 0 ? type : \"itemvalue\");\n var item = _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].createClass(itemType);\n item.setData(value);\n if (!!value.originalItem) {\n item.originalItem = value.originalItem;\n }\n items.push(item);\n }\n };\n ItemValue.getData = function (items) {\n var result = [];\n for (var i = 0; i < items.length; i++) {\n result.push(items[i].getData());\n }\n return result;\n };\n ItemValue.getItemByValue = function (items, val) {\n if (!Array.isArray(items))\n return null;\n var valIsEmpty = _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(val);\n for (var i = 0; i < items.length; i++) {\n if (valIsEmpty && _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(items[i].value))\n return items[i];\n if (_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isTwoValueEquals(items[i].value, val, false, true, false))\n return items[i];\n }\n return null;\n };\n ItemValue.getTextOrHtmlByValue = function (items, val) {\n var item = ItemValue.getItemByValue(items, val);\n return item !== null ? item.locText.textOrHtml : \"\";\n };\n ItemValue.locStrsChanged = function (items) {\n for (var i = 0; i < items.length; i++) {\n items[i].locStrsChanged();\n }\n };\n ItemValue.runConditionsForItems = function (items, filteredItems, runner, values, properties, useItemExpression, onItemCallBack) {\n if (useItemExpression === void 0) { useItemExpression = true; }\n return ItemValue.runConditionsForItemsCore(items, filteredItems, runner, values, properties, true, useItemExpression, onItemCallBack);\n };\n ItemValue.runEnabledConditionsForItems = function (items, runner, values, properties, onItemCallBack) {\n return ItemValue.runConditionsForItemsCore(items, null, runner, values, properties, false, true, onItemCallBack);\n };\n ItemValue.runConditionsForItemsCore = function (items, filteredItems, runner, values, properties, isVisible, useItemExpression, onItemCallBack) {\n if (useItemExpression === void 0) { useItemExpression = true; }\n if (!values) {\n values = {};\n }\n var itemValue = values[\"item\"];\n var choiceValue = values[\"choice\"];\n var hasChanded = false;\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n values[\"item\"] = item.value;\n values[\"choice\"] = item.value;\n var itemRunner = useItemExpression && !!item.getConditionRunner\n ? item.getConditionRunner(isVisible)\n : false;\n if (!itemRunner) {\n itemRunner = runner;\n }\n var newValue = true;\n if (itemRunner) {\n newValue = itemRunner.run(values, properties);\n }\n if (!!onItemCallBack) {\n newValue = onItemCallBack(item, newValue);\n }\n if (!!filteredItems && newValue) {\n filteredItems.push(item);\n }\n var oldValue = isVisible ? item.isVisible : item.isEnabled;\n if (newValue != oldValue) {\n hasChanded = true;\n if (isVisible) {\n if (!!item.setIsVisible)\n item.setIsVisible(newValue);\n }\n else {\n if (!!item.setIsEnabled)\n item.setIsEnabled(newValue);\n }\n }\n }\n if (itemValue) {\n values[\"item\"] = itemValue;\n }\n else {\n delete values[\"item\"];\n }\n if (choiceValue) {\n values[\"choice\"] = choiceValue;\n }\n else {\n delete values[\"choice\"];\n }\n return hasChanded;\n };\n ItemValue.prototype.onCreating = function () { };\n ItemValue.prototype.getType = function () {\n return !!this.typeName ? this.typeName : \"itemvalue\";\n };\n ItemValue.prototype.getSurvey = function (live) {\n if (live === void 0) { live = false; }\n return !!this.locOwner && !!this.locOwner[\"getSurvey\"]\n ? this.locOwner.getSurvey()\n : null;\n };\n ItemValue.prototype.getLocale = function () {\n return !!this.locOwner && this.locOwner.getLocale ? this.locOwner.getLocale() : \"\";\n };\n Object.defineProperty(ItemValue.prototype, \"isInternal\", {\n get: function () {\n return this.isGhost === true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"locText\", {\n get: function () {\n return this.locTextValue;\n },\n enumerable: false,\n configurable: true\n });\n ItemValue.prototype.setLocText = function (locText) {\n this.locTextValue = locText;\n };\n Object.defineProperty(ItemValue.prototype, \"locOwner\", {\n get: function () {\n return this._locOwner;\n },\n set: function (value) {\n this._locOwner = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"value\", {\n get: function () {\n return this.getPropertyValue(\"value\");\n },\n set: function (newValue) {\n var text = undefined;\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(newValue)) {\n var str = newValue.toString();\n var index = str.indexOf(_settings__WEBPACK_IMPORTED_MODULE_5__[\"settings\"].itemValueSeparator);\n if (index > -1) {\n newValue = str.slice(0, index);\n text = str.slice(index + 1);\n }\n }\n this.setPropertyValue(\"value\", newValue);\n if (!!text) {\n this.text = text;\n }\n this.id = this.value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"hasText\", {\n get: function () {\n return this.locText.pureText ? true : false;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"pureText\", {\n get: function () {\n return this.locText.pureText;\n },\n set: function (val) {\n this.text = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"text\", {\n get: function () {\n return this.locText.calculatedText; //TODO: it will be correct to use this.locText.text, however it would require a lot of rewriting in Creator\n },\n set: function (newText) {\n this.locText.text = newText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"calculatedText\", {\n get: function () {\n return this.locText.calculatedText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"shortcutText\", {\n get: function () {\n return this.text;\n },\n enumerable: false,\n configurable: true\n });\n ItemValue.prototype.canSerializeValue = function () {\n var val = this.value;\n if (val === undefined || val === null)\n return false;\n return !Array.isArray(val) && typeof val !== \"object\";\n };\n ItemValue.prototype.getData = function () {\n var json = this.toJSON();\n if (!!json[\"value\"] && !!json[\"value\"][\"pos\"]) {\n delete json[\"value\"][\"pos\"];\n }\n if (_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(json.value))\n return json;\n var canSerializeVal = this.canSerializeValue();\n var canSerializeAsContant = !canSerializeVal || !_settings__WEBPACK_IMPORTED_MODULE_5__[\"settings\"].serialization.itemValueSerializeAsObject && !_settings__WEBPACK_IMPORTED_MODULE_5__[\"settings\"].serialization.itemValueSerializeDisplayText;\n if (canSerializeAsContant && Object.keys(json).length == 1)\n return this.value;\n if (_settings__WEBPACK_IMPORTED_MODULE_5__[\"settings\"].serialization.itemValueSerializeDisplayText && json.text === undefined && canSerializeVal) {\n json.text = this.value.toString();\n }\n return json;\n };\n ItemValue.prototype.toJSON = function () {\n var res = {};\n var properties = _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].getProperties(this.getType());\n if (!properties || properties.length == 0) {\n properties = _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].getProperties(\"itemvalue\");\n }\n var jsoObj = new _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"JsonObject\"]();\n for (var i = 0; i < properties.length; i++) {\n var prop = properties[i];\n if (prop.name === \"text\" && !this.locText.hasNonDefaultText() &&\n _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isTwoValueEquals(this.value, this.text, false, true, false))\n continue;\n jsoObj.valueToJson(this, res, prop);\n }\n return res;\n };\n ItemValue.prototype.setData = function (value) {\n if (_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(value))\n return;\n if (typeof value.value === \"undefined\" && typeof value.text !== \"undefined\" && Object.keys(value).length === 1) {\n value.value = value.text;\n }\n if (typeof value.value !== \"undefined\") {\n var json = void 0;\n if (typeof value.toJSON === \"function\") {\n json = value.toJSON();\n }\n else {\n json = value;\n }\n new _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"JsonObject\"]().toObject(json, this);\n }\n else {\n this.value = value;\n }\n this.locText.strChanged();\n };\n Object.defineProperty(ItemValue.prototype, \"visibleIf\", {\n get: function () {\n return this.getPropertyValueWithoutDefault(\"visibleIf\") || \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"visibleIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"enableIf\", {\n get: function () {\n return this.getPropertyValueWithoutDefault(\"enableIf\") || \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"enableIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"isVisible\", {\n get: function () {\n var res = this.getPropertyValueWithoutDefault(\"isVisible\");\n return res !== undefined ? res : true;\n },\n enumerable: false,\n configurable: true\n });\n ItemValue.prototype.setIsVisible = function (val) {\n this.setPropertyValue(\"isVisible\", val);\n };\n Object.defineProperty(ItemValue.prototype, \"isEnabled\", {\n get: function () {\n var res = this.getPropertyValueWithoutDefault(\"isEnabled\");\n return res !== undefined ? res : true;\n },\n enumerable: false,\n configurable: true\n });\n ItemValue.prototype.setIsEnabled = function (val) {\n this.setPropertyValue(\"isEnabled\", val);\n };\n ItemValue.prototype.addUsedLocales = function (locales) {\n this.AddLocStringToUsedLocales(this.locTextValue, locales);\n };\n ItemValue.prototype.locStrsChanged = function () {\n _super.prototype.locStrsChanged.call(this);\n this.locText.strChanged();\n };\n ItemValue.prototype.onPropertyValueChanged = function (name, oldValue, newValue) {\n if (name === \"value\" && !this.hasText) {\n this.locText.strChanged();\n }\n var funcName = \"itemValuePropertyChanged\";\n if (!this.locOwner || !this.locOwner[funcName])\n return;\n this.locOwner[funcName](this, name, oldValue, newValue);\n };\n ItemValue.prototype.getConditionRunner = function (isVisible) {\n if (isVisible)\n return this.getVisibleConditionRunner();\n return this.getEnableConditionRunner();\n };\n ItemValue.prototype.getVisibleConditionRunner = function () {\n if (!this.visibleIf)\n return null;\n if (!this.visibleConditionRunner)\n this.visibleConditionRunner = new _conditions__WEBPACK_IMPORTED_MODULE_3__[\"ConditionRunner\"](this.visibleIf);\n this.visibleConditionRunner.expression = this.visibleIf;\n return this.visibleConditionRunner;\n };\n ItemValue.prototype.getEnableConditionRunner = function () {\n if (!this.enableIf)\n return null;\n if (!this.enableConditionRunner)\n this.enableConditionRunner = new _conditions__WEBPACK_IMPORTED_MODULE_3__[\"ConditionRunner\"](this.enableIf);\n this.enableConditionRunner.expression = this.enableIf;\n return this.enableConditionRunner;\n };\n Object.defineProperty(ItemValue.prototype, \"selected\", {\n get: function () {\n var _this = this;\n var locOwner = this._locOwner;\n if (locOwner instanceof _question__WEBPACK_IMPORTED_MODULE_7__[\"Question\"] && locOwner.isItemSelected && this.selectedValue === undefined) {\n this.selectedValue = (new _base__WEBPACK_IMPORTED_MODULE_4__[\"ComputedUpdater\"](function () { return locOwner.isItemSelected(_this); }));\n }\n return this.selectedValue;\n },\n enumerable: false,\n configurable: true\n });\n ItemValue.prototype.getComponent = function () {\n if (this._locOwner instanceof _question__WEBPACK_IMPORTED_MODULE_7__[\"Question\"]) {\n return this.componentValue || this._locOwner.itemComponent;\n }\n return this.componentValue;\n };\n ItemValue.prototype.setComponent = function (val) {\n this.componentValue = val;\n };\n ItemValue.prototype.getEnabled = function () {\n return this.isEnabled;\n };\n ItemValue.prototype.setEnabled = function (val) {\n this.setIsEnabled(val);\n };\n ItemValue.prototype.getVisible = function () {\n var isVisible = this.isVisible === undefined ? true : this.isVisible;\n var visible = this._visible === undefined ? true : this._visible;\n return isVisible && visible;\n };\n ItemValue.prototype.setVisible = function (val) {\n this._visible = val;\n };\n ItemValue.prototype.getLocTitle = function () {\n return this.locText;\n };\n ItemValue.prototype.getTitle = function () {\n return this.text;\n };\n ItemValue.prototype.setLocTitle = function (val) { };\n ItemValue.prototype.setTitle = function (val) { };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: true })\n ], ItemValue.prototype, \"_visible\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], ItemValue.prototype, \"selectedValue\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], ItemValue.prototype, \"icon\", void 0);\n return ItemValue;\n}(_actions_action__WEBPACK_IMPORTED_MODULE_6__[\"BaseAction\"]));\n\n_base__WEBPACK_IMPORTED_MODULE_4__[\"Base\"].createItemValue = function (source, type) {\n var item = null;\n if (!!type) {\n item = _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"JsonObject\"].metaData.createClass(type, {});\n }\n else if (typeof source.getType === \"function\") {\n item = new ItemValue(null, undefined, source.getType());\n }\n else {\n item = new ItemValue(null);\n }\n item.setData(source);\n return item;\n};\n_base__WEBPACK_IMPORTED_MODULE_4__[\"Base\"].itemValueLocStrChanged = function (arr) {\n ItemValue.locStrsChanged(arr);\n};\n_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"JsonObjectProperty\"].getItemValuesDefaultValue = function (val, type) {\n var res = new Array();\n ItemValue.setData(res, Array.isArray(val) ? val : [], type);\n return res;\n};\n_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].addClass(\"itemvalue\", [\n { name: \"!value\", isUnique: true },\n {\n name: \"text\",\n serializationProperty: \"locText\",\n },\n { name: \"visibleIf:condition\", showMode: \"form\" },\n {\n name: \"enableIf:condition\",\n showMode: \"form\",\n visibleIf: function (obj) {\n return !obj || obj.ownerPropertyName !== \"rateValues\";\n },\n }\n], function (value) { return new ItemValue(value); });\n\n\n/***/ }),\n\n/***/ \"./src/jsonobject.ts\":\n/*!***************************!*\\\n !*** ./src/jsonobject.ts ***!\n \\***************************/\n/*! exports provided: property, propertyArray, JsonObjectProperty, CustomPropertiesCollection, JsonMetadataClass, JsonMetadata, JsonError, JsonUnknownPropertyError, JsonMissingTypeErrorBase, JsonMissingTypeError, JsonIncorrectTypeError, JsonRequiredPropertyError, JsonRequiredArrayPropertyError, JsonIncorrectPropertyValueError, JsonObject, Serializer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"property\", function() { return property; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"propertyArray\", function() { return propertyArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonObjectProperty\", function() { return JsonObjectProperty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CustomPropertiesCollection\", function() { return CustomPropertiesCollection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadataClass\", function() { return JsonMetadataClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadata\", function() { return JsonMetadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonError\", function() { return JsonError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonUnknownPropertyError\", function() { return JsonUnknownPropertyError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeErrorBase\", function() { return JsonMissingTypeErrorBase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeError\", function() { return JsonMissingTypeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonIncorrectTypeError\", function() { return JsonIncorrectTypeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonRequiredPropertyError\", function() { return JsonRequiredPropertyError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonRequiredArrayPropertyError\", function() { return JsonRequiredArrayPropertyError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonIncorrectPropertyValueError\", function() { return JsonIncorrectPropertyValueError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonObject\", function() { return JsonObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Serializer\", function() { return Serializer; });\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\n\n\n\nfunction ensureLocString(target, options, key) {\n var locString = target.getLocalizableString(key);\n if (!locString) {\n var defaultStr = void 0;\n if (typeof options.localizable === \"object\" && options.localizable.defaultStr) {\n defaultStr = options.localizable.defaultStr;\n }\n locString = target.createLocalizableString(key, target, true, defaultStr);\n if (typeof options.localizable === \"object\" &&\n typeof options.localizable.onGetTextCallback === \"function\") {\n locString.onGetTextCallback = options.localizable.onGetTextCallback;\n }\n }\n}\nfunction getLocStringValue(target, options, key) {\n ensureLocString(target, options, key);\n var res = target.getLocalizableStringText(key);\n if (!!res)\n return res;\n if (typeof options.localizable === \"object\" && options.localizable.defaultStr) {\n var loc = !!target.getLocale ? target.getLocale() : \"\";\n return _surveyStrings__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].getString(options.localizable.defaultStr, loc);\n }\n return \"\";\n}\nfunction property(options) {\n if (options === void 0) { options = {}; }\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n return function (target, key) {\n var processComputedUpdater = function (obj, val) {\n if (!!val && typeof val === \"object\" && val.type === _base__WEBPACK_IMPORTED_MODULE_1__[\"ComputedUpdater\"].ComputedUpdaterType) {\n _base__WEBPACK_IMPORTED_MODULE_1__[\"Base\"].startCollectDependencies(function () { return obj[key] = val.updater(); }, obj, key);\n var result = val.updater();\n var dependencies = _base__WEBPACK_IMPORTED_MODULE_1__[\"Base\"].finishCollectDependencies();\n val.setDependencies(dependencies);\n if (obj.dependencies[key]) {\n obj.dependencies[key].dispose();\n }\n obj.dependencies[key] = val;\n return result;\n }\n return val;\n };\n if (!options || !options.localizable) {\n Object.defineProperty(target, key, {\n get: function () {\n // const serializationProperty = Serializer.getProperty(target.getType(), key);\n // if(!!serializationProperty && options.defaultValue !== undefined) {\n // ConsoleWarnings.error(\"remove defaultValue from @property for class \" + target.getType() + \" property name is \" + key);\n // }\n var defaultVal = null;\n if (!!options) {\n if (typeof options.getDefaultValue === \"function\") {\n defaultVal = options.getDefaultValue(this);\n }\n if (options.defaultValue !== undefined) {\n defaultVal = options.defaultValue;\n }\n }\n return this.getPropertyValue(key, defaultVal);\n },\n set: function (val) {\n var newValue = processComputedUpdater(this, val);\n this.setPropertyValue(key, newValue);\n if (!!options && options.onSet) {\n options.onSet(newValue, this);\n }\n },\n });\n }\n else {\n Object.defineProperty(target, key, {\n get: function () {\n return getLocStringValue(this, options, key);\n },\n set: function (val) {\n ensureLocString(this, options, key);\n var newValue = processComputedUpdater(this, val);\n this.setLocalizableStringText(key, newValue);\n if (!!options && options.onSet) {\n options.onSet(newValue, this);\n }\n },\n });\n Object.defineProperty(target, typeof options.localizable === \"object\" && !!options.localizable.name ?\n options.localizable.name : \"loc\" + key.charAt(0).toUpperCase() + key.slice(1), {\n get: function () {\n ensureLocString(this, options, key);\n return this.getLocalizableString(key);\n },\n });\n }\n };\n}\nfunction ensureArray(target, options, key) {\n target.ensureArray(key, function (item, index) {\n var handler = !!options ? options.onPush : null;\n handler && handler(item, index, target);\n }, function (item, index) {\n var handler = !!options ? options.onRemove : null;\n handler && handler(item, index, target);\n });\n}\nfunction propertyArray(options) {\n return function (target, key) {\n Object.defineProperty(target, key, {\n get: function () {\n ensureArray(this, options, key);\n return this.getPropertyValue(key);\n },\n set: function (val) {\n ensureArray(this, options, key);\n var arr = this.getPropertyValue(key);\n if (val === arr) {\n return;\n }\n if (arr) {\n arr.splice.apply(arr, __spreadArray([0, arr.length], (val || [])));\n }\n else {\n this.setPropertyValue(key, val);\n }\n if (!!options && options.onSet) {\n options.onSet(val, this);\n }\n },\n });\n };\n}\n/**\n * Contains information about a property of a survey element (page, panel, questions, and etc).\n * @see addProperty\n * @see removeProperty\n * @see [Add Properties](https://surveyjs.io/Documentation/Survey-Creator#addproperties)\n * @see [Remove Properties](https://surveyjs.io/Documentation/Survey-Creator#removeproperties)\n */\nvar JsonObjectProperty = /** @class */ (function () {\n function JsonObjectProperty(classInfo, name, isRequired) {\n if (isRequired === void 0) { isRequired = false; }\n this.name = name;\n this.isRequiredValue = false;\n this.isUniqueValue = false;\n this.isSerializable = true;\n this.isLightSerializable = true;\n this.isCustom = false;\n this.isDynamicChoices = false; //TODO obsolete, use dependsOn attribute\n this.isBindable = false;\n this.category = \"\";\n this.categoryIndex = -1;\n this.visibleIndex = -1;\n this.maxLength = -1;\n this.isArray = false;\n this.classInfoValue = classInfo;\n this.isRequiredValue = isRequired;\n this.idValue = JsonObjectProperty.Index++;\n }\n Object.defineProperty(JsonObjectProperty.prototype, \"id\", {\n get: function () {\n return this.idValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"classInfo\", {\n get: function () {\n return this.classInfoValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"type\", {\n get: function () {\n return this.typeValue ? this.typeValue : \"string\";\n },\n set: function (value) {\n if (value === \"itemvalues\")\n value = \"itemvalue[]\";\n if (value === \"textitems\")\n value = \"textitem[]\";\n this.typeValue = value;\n if (this.typeValue.indexOf(\"[]\") === this.typeValue.length - 2) {\n this.isArray = true;\n this.className = this.typeValue.substring(0, this.typeValue.length - 2);\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"isRequired\", {\n get: function () {\n return this.isRequiredValue;\n },\n set: function (val) {\n if (val !== this.isRequired) {\n this.isRequiredValue = val;\n if (!!this.classInfo) {\n this.classInfo.resetAllProperties();\n }\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"isUnique\", {\n get: function () {\n return this.isUniqueValue;\n },\n set: function (val) {\n this.isUniqueValue = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"uniquePropertyName\", {\n get: function () {\n return this.uniquePropertyValue;\n },\n set: function (val) {\n this.uniquePropertyValue = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"hasToUseGetValue\", {\n get: function () {\n return this.onGetValue || this.serializationProperty;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.getDefaultValue = function (obj) {\n var result = !!this.defaultValueFunc ? this.defaultValueFunc(obj) : this.defaultValueValue;\n if (!!JsonObjectProperty.getItemValuesDefaultValue &&\n Serializer.isDescendantOf(this.className, \"itemvalue\")) {\n result = JsonObjectProperty.getItemValuesDefaultValue(this.defaultValueValue || [], this.className);\n }\n return result;\n };\n Object.defineProperty(JsonObjectProperty.prototype, \"defaultValue\", {\n get: function () {\n return this.getDefaultValue(undefined);\n },\n set: function (newValue) {\n this.defaultValueValue = newValue;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.isDefaultValue = function (value) {\n return this.isDefaultValueByObj(undefined, value);\n };\n JsonObjectProperty.prototype.isDefaultValueByObj = function (obj, value) {\n var dValue = this.getDefaultValue(obj);\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(dValue)) {\n return _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isTwoValueEquals(value, dValue, false, true, false);\n }\n if (this.isLocalizable)\n return value === null || value === undefined;\n return ((value === false && (this.type == \"boolean\" || this.type == \"switch\")) ||\n value === \"\" || _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(value));\n };\n JsonObjectProperty.prototype.getSerializableValue = function (obj) {\n if (!!this.onSerializeValue)\n return this.onSerializeValue(obj);\n return this.getValue(obj);\n };\n JsonObjectProperty.prototype.getValue = function (obj) {\n if (this.onGetValue)\n return this.onGetValue(obj);\n if (this.serializationProperty && !!obj[this.serializationProperty])\n return obj[this.serializationProperty].getJson();\n return obj[this.name];\n };\n JsonObjectProperty.prototype.getPropertyValue = function (obj) {\n if (this.isLocalizable) {\n return !!obj[this.serializationProperty]\n ? obj[this.serializationProperty].text\n : null;\n }\n return this.getValue(obj);\n };\n Object.defineProperty(JsonObjectProperty.prototype, \"hasToUseSetValue\", {\n get: function () {\n return this.onSetValue || this.serializationProperty;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.settingValue = function (obj, value) {\n if (!this.onSettingValue || obj.isLoadingFromJson)\n return value;\n return this.onSettingValue(obj, value);\n };\n JsonObjectProperty.prototype.setValue = function (obj, value, jsonConv) {\n if (this.onSetValue) {\n this.onSetValue(obj, value, jsonConv);\n }\n else {\n if (this.serializationProperty && !!obj[this.serializationProperty])\n obj[this.serializationProperty].setJson(value);\n else {\n if (value && typeof value === \"string\") {\n if (this.type == \"number\") {\n value = parseInt(value);\n }\n if (this.type == \"boolean\" || this.type == \"switch\") {\n value = value.toLowerCase() === \"true\";\n }\n }\n obj[this.name] = value;\n }\n }\n };\n JsonObjectProperty.prototype.validateValue = function (value) {\n var choices = this.choices;\n if (!Array.isArray(choices) || choices.length === 0)\n return true;\n return choices.indexOf(value) > -1;\n };\n JsonObjectProperty.prototype.getObjType = function (objType) {\n if (!this.classNamePart)\n return objType;\n return objType.replace(this.classNamePart, \"\");\n };\n Object.defineProperty(JsonObjectProperty.prototype, \"choices\", {\n /**\n * Depricated, please use getChoices\n */\n get: function () {\n return this.getChoices(null);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"hasChoices\", {\n get: function () {\n return !!this.choicesValue || !!this.choicesfunc;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.getChoices = function (obj, choicesCallback) {\n if (choicesCallback === void 0) { choicesCallback = null; }\n if (this.choicesValue != null)\n return this.choicesValue;\n if (this.choicesfunc != null)\n return this.choicesfunc(obj, choicesCallback);\n return null;\n };\n JsonObjectProperty.prototype.setChoices = function (value, valueFunc) {\n if (valueFunc === void 0) { valueFunc = null; }\n this.choicesValue = value;\n this.choicesfunc = valueFunc;\n };\n JsonObjectProperty.prototype.getBaseValue = function () {\n if (!this.baseValue)\n return \"\";\n if (typeof this.baseValue == \"function\")\n return this.baseValue();\n return this.baseValue;\n };\n JsonObjectProperty.prototype.setBaseValue = function (val) {\n this.baseValue = val;\n };\n Object.defineProperty(JsonObjectProperty.prototype, \"readOnly\", {\n get: function () {\n return this.readOnlyValue != null ? this.readOnlyValue : false;\n },\n set: function (val) {\n this.readOnlyValue = val;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.isEnable = function (obj) {\n if (this.readOnly)\n return false;\n if (!obj || !this.enableIf)\n return true;\n return this.enableIf(this.getOriginalObj(obj));\n };\n JsonObjectProperty.prototype.isVisible = function (layout, obj) {\n if (obj === void 0) { obj = null; }\n var isLayout = !this.layout || this.layout == layout;\n if (!this.visible || !isLayout)\n return false;\n if (!!this.visibleIf && !!obj) {\n return this.visibleIf(this.getOriginalObj(obj));\n }\n return true;\n };\n JsonObjectProperty.prototype.getOriginalObj = function (obj) {\n if (obj && obj.getOriginalObj) {\n var orjObj = obj.getOriginalObj();\n if (orjObj && Serializer.findProperty(orjObj.getType(), this.name)) {\n return orjObj;\n }\n }\n return obj;\n };\n Object.defineProperty(JsonObjectProperty.prototype, \"visible\", {\n get: function () {\n return this.visibleValue != null ? this.visibleValue : true;\n },\n set: function (val) {\n this.visibleValue = val;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.isAvailableInVersion = function (ver) {\n if (!!this.alternativeName || this.oldName)\n return true;\n return this.isAvailableInVersionCore(ver);\n };\n JsonObjectProperty.prototype.getSerializedName = function (ver) {\n if (!this.alternativeName)\n return this.name;\n return this.isAvailableInVersionCore(ver) ? this.name : this.alternativeName || this.oldName;\n };\n JsonObjectProperty.prototype.getSerializedProperty = function (obj, ver) {\n if (!this.oldName || this.isAvailableInVersionCore(ver))\n return this;\n if (!obj || !obj.getType)\n return null;\n return Serializer.findProperty(obj.getType(), this.oldName);\n };\n JsonObjectProperty.prototype.isAvailableInVersionCore = function (ver) {\n if (!ver || !this.version)\n return true;\n return _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].compareVerions(this.version, ver) <= 0;\n };\n Object.defineProperty(JsonObjectProperty.prototype, \"isLocalizable\", {\n get: function () {\n return this.isLocalizableValue != null ? this.isLocalizableValue : false;\n },\n set: function (val) {\n this.isLocalizableValue = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"dataList\", {\n get: function () {\n return Array.isArray(this.dataListValue) ? this.dataListValue : [];\n },\n set: function (val) {\n this.dataListValue = val;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.mergeWith = function (prop) {\n var valuesNames = JsonObjectProperty.mergableValues;\n for (var i = 0; i < valuesNames.length; i++) {\n this.mergeValue(prop, valuesNames[i]);\n }\n };\n JsonObjectProperty.prototype.addDependedProperty = function (name) {\n if (!this.dependedProperties) {\n this.dependedProperties = [];\n }\n if (this.dependedProperties.indexOf(name) < 0) {\n this.dependedProperties.push(name);\n }\n };\n JsonObjectProperty.prototype.getDependedProperties = function () {\n return !!this.dependedProperties ? this.dependedProperties : [];\n };\n JsonObjectProperty.prototype.schemaType = function () {\n if (this.className === \"choicesByUrl\")\n return undefined;\n if (this.className === \"string\")\n return this.className;\n if (!!this.className)\n return \"array\";\n if (!!this.baseClassName)\n return \"array\";\n if (this.type == \"switch\")\n return \"boolean\";\n if (this.type == \"boolean\" || this.type == \"number\")\n return this.type;\n return \"string\";\n };\n JsonObjectProperty.prototype.schemaRef = function () {\n if (!!this.className)\n return this.className;\n return undefined;\n };\n JsonObjectProperty.prototype.mergeValue = function (prop, valueName) {\n if (this[valueName] == null && prop[valueName] != null) {\n this[valueName] = prop[valueName];\n }\n };\n JsonObjectProperty.Index = 1;\n JsonObjectProperty.mergableValues = [\n \"typeValue\",\n \"choicesValue\",\n \"baseValue\",\n \"readOnlyValue\",\n \"visibleValue\",\n \"isSerializable\",\n \"isLightSerializable\",\n \"isCustom\",\n \"isBindable\",\n \"isUnique\",\n \"uniquePropertyName\",\n \"isDynamicChoices\",\n \"isLocalizableValue\",\n \"className\",\n \"alternativeName\",\n \"oldName\",\n \"layout\",\n \"version\",\n \"classNamePart\",\n \"baseClassName\",\n \"defaultValue\",\n \"defaultValueFunc\",\n \"serializationProperty\",\n \"onGetValue\",\n \"onSetValue\",\n \"onSettingValue\",\n \"displayName\",\n \"category\",\n \"categoryIndex\",\n \"visibleIndex\",\n \"nextToProperty\",\n \"overridingProperty\",\n \"showMode\",\n \"dependedProperties\",\n \"visibleIf\",\n \"enableIf\",\n \"onExecuteExpression\",\n \"onPropertyEditorUpdate\",\n \"maxLength\",\n \"maxValue\",\n \"minValue\",\n \"dataListValue\",\n ];\n return JsonObjectProperty;\n}());\n\nvar CustomPropertiesCollection = /** @class */ (function () {\n function CustomPropertiesCollection() {\n }\n CustomPropertiesCollection.addProperty = function (className, property) {\n className = className.toLowerCase();\n var props = CustomPropertiesCollection.properties;\n if (!props[className]) {\n props[className] = [];\n }\n props[className].push(property);\n };\n CustomPropertiesCollection.removeProperty = function (className, propertyName) {\n className = className.toLowerCase();\n var props = CustomPropertiesCollection.properties;\n if (!props[className])\n return;\n var properties = props[className];\n for (var i = 0; i < properties.length; i++) {\n if (properties[i].name == propertyName) {\n props[className].splice(i, 1);\n break;\n }\n }\n };\n CustomPropertiesCollection.removeAllProperties = function (className) {\n className = className.toLowerCase();\n delete CustomPropertiesCollection.properties[className];\n };\n CustomPropertiesCollection.addClass = function (className, parentClassName) {\n className = className.toLowerCase();\n if (parentClassName) {\n parentClassName = parentClassName.toLowerCase();\n }\n CustomPropertiesCollection.parentClasses[className] = parentClassName;\n };\n CustomPropertiesCollection.getProperties = function (className) {\n className = className.toLowerCase();\n var res = [];\n var props = CustomPropertiesCollection.properties;\n while (className) {\n var properties = props[className];\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n res.push(properties[i]);\n }\n }\n className = CustomPropertiesCollection.parentClasses[className];\n }\n return res;\n };\n CustomPropertiesCollection.createProperties = function (obj) {\n if (!obj || !obj.getType)\n return;\n CustomPropertiesCollection.createPropertiesCore(obj, obj.getType());\n };\n CustomPropertiesCollection.createPropertiesCore = function (obj, className) {\n var props = CustomPropertiesCollection.properties;\n if (props[className]) {\n CustomPropertiesCollection.createPropertiesInObj(obj, props[className]);\n }\n var parentClass = CustomPropertiesCollection.parentClasses[className];\n if (parentClass) {\n CustomPropertiesCollection.createPropertiesCore(obj, parentClass);\n }\n };\n CustomPropertiesCollection.createPropertiesInObj = function (obj, properties) {\n for (var i = 0; i < properties.length; i++) {\n CustomPropertiesCollection.createPropertyInObj(obj, properties[i]);\n }\n };\n CustomPropertiesCollection.createPropertyInObj = function (obj, prop) {\n if (CustomPropertiesCollection.checkIsPropertyExists(obj, prop.name))\n return;\n if (!!prop.serializationProperty && CustomPropertiesCollection.checkIsPropertyExists(obj, prop.serializationProperty))\n return;\n if (prop.isLocalizable &&\n prop.serializationProperty &&\n obj.createCustomLocalizableObj) {\n var locStr = obj.createCustomLocalizableObj(prop.name);\n locStr.defaultValue = prop.defaultValue;\n var locDesc = {\n get: function () {\n return obj.getLocalizableString(prop.name);\n },\n };\n Object.defineProperty(obj, prop.serializationProperty, locDesc);\n var desc = {\n get: function () {\n return obj.getLocalizableStringText(prop.name);\n },\n set: function (v) {\n obj.setLocalizableStringText(prop.name, v);\n },\n };\n Object.defineProperty(obj, prop.name, desc);\n }\n else {\n var defaultValue = prop.defaultValue;\n var isArrayProp = prop.isArray || prop.type === \"multiplevalues\";\n if (typeof obj.createNewArray === \"function\") {\n if (Serializer.isDescendantOf(prop.className, \"itemvalue\")) {\n obj.createNewArray(prop.name, function (item) {\n item.locOwner = obj;\n item.ownerPropertyName = prop.name;\n });\n isArrayProp = true;\n }\n else {\n //It is a simple array property\n if (isArrayProp) {\n obj.createNewArray(prop.name);\n }\n }\n if (isArrayProp) {\n if (Array.isArray(defaultValue)) {\n obj.setPropertyValue(prop.name, defaultValue);\n }\n defaultValue = null;\n }\n }\n if (!!obj.getPropertyValue && !!obj.setPropertyValue) {\n var desc = {\n get: function () {\n if (!!prop.onGetValue) {\n return prop.onGetValue(obj);\n }\n return obj.getPropertyValue(prop.name, defaultValue);\n },\n set: function (v) {\n if (!!prop.onSetValue) {\n prop.onSetValue(obj, v, null);\n }\n else {\n obj.setPropertyValue(prop.name, v);\n }\n },\n };\n Object.defineProperty(obj, prop.name, desc);\n }\n }\n if (prop.type === \"condition\" || prop.type === \"expression\") {\n if (!!prop.onExecuteExpression) {\n obj.addExpressionProperty(prop.name, prop.onExecuteExpression);\n }\n }\n };\n CustomPropertiesCollection.checkIsPropertyExists = function (obj, name) {\n return obj.hasOwnProperty(name) || obj[name];\n };\n CustomPropertiesCollection.properties = {};\n CustomPropertiesCollection.parentClasses = {};\n return CustomPropertiesCollection;\n}());\n\nvar JsonMetadataClass = /** @class */ (function () {\n function JsonMetadataClass(name, properties, creator, parentName) {\n if (creator === void 0) { creator = null; }\n if (parentName === void 0) { parentName = null; }\n this.name = name;\n this.creator = creator;\n this.parentName = parentName;\n name = name.toLowerCase();\n this.isCustomValue = !creator && name !== \"survey\";\n if (this.parentName) {\n this.parentName = this.parentName.toLowerCase();\n CustomPropertiesCollection.addClass(name, this.parentName);\n if (!!creator) {\n this.makeParentRegularClass();\n }\n }\n this.properties = new Array();\n for (var i = 0; i < properties.length; i++) {\n this.createProperty(properties[i], this.isCustom);\n }\n }\n //Obsolete\n JsonMetadataClass.prototype.find = function (name) {\n for (var i = 0; i < this.properties.length; i++) {\n if (this.properties[i].name == name)\n return this.properties[i];\n }\n return null;\n };\n JsonMetadataClass.prototype.findProperty = function (name) {\n this.fillAllProperties();\n return this.hashProperties[name];\n };\n JsonMetadataClass.prototype.getAllProperties = function () {\n this.fillAllProperties();\n return this.allProperties;\n };\n JsonMetadataClass.prototype.getRequiredProperties = function () {\n if (!!this.requiredProperties)\n return this.requiredProperties;\n this.requiredProperties = [];\n var props = this.getAllProperties();\n for (var i = 0; i < props.length; i++) {\n if (props[i].isRequired)\n this.requiredProperties.push(props[i]);\n }\n return this.requiredProperties;\n };\n JsonMetadataClass.prototype.resetAllProperties = function () {\n this.allProperties = undefined;\n this.requiredProperties = undefined;\n this.hashProperties = undefined;\n var childClasses = Serializer.getChildrenClasses(this.name);\n for (var i = 0; i < childClasses.length; i++) {\n childClasses[i].resetAllProperties();\n }\n };\n Object.defineProperty(JsonMetadataClass.prototype, \"isCustom\", {\n get: function () { return this.isCustomValue; },\n enumerable: false,\n configurable: true\n });\n JsonMetadataClass.prototype.fillAllProperties = function () {\n var _this = this;\n if (!!this.allProperties)\n return;\n this.allProperties = [];\n this.hashProperties = {};\n var localProperties = {};\n this.properties.forEach(function (prop) { return localProperties[prop.name] = prop; });\n var parentClass = !!this.parentName ? Serializer.findClass(this.parentName) : null;\n if (!!parentClass) {\n var parentProperties = parentClass.getAllProperties();\n parentProperties.forEach(function (prop) {\n var overridedProp = localProperties[prop.name];\n if (!!overridedProp) {\n overridedProp.mergeWith(prop);\n _this.addPropCore(overridedProp);\n }\n else {\n _this.addPropCore(prop);\n }\n });\n }\n this.properties.forEach(function (prop) {\n if (!_this.hashProperties[prop.name]) {\n _this.addPropCore(prop);\n }\n });\n };\n JsonMetadataClass.prototype.addPropCore = function (prop) {\n this.allProperties.push(prop);\n this.hashProperties[prop.name] = prop;\n if (!!prop.alternativeName) {\n this.hashProperties[prop.alternativeName] = prop;\n }\n };\n JsonMetadataClass.prototype.isOverridedProp = function (propName) {\n return !!this.parentName && !!Serializer.findProperty(this.parentName, propName);\n };\n JsonMetadataClass.prototype.hasRegularChildClass = function () {\n if (!this.isCustom)\n return;\n this.isCustomValue = false;\n for (var i = 0; i < this.properties.length; i++) {\n this.properties[i].isCustom = false;\n }\n CustomPropertiesCollection.removeAllProperties(this.name);\n this.makeParentRegularClass();\n };\n JsonMetadataClass.prototype.makeParentRegularClass = function () {\n if (!this.parentName)\n return;\n var parent = Serializer.findClass(this.parentName);\n if (!!parent) {\n parent.hasRegularChildClass();\n }\n };\n JsonMetadataClass.prototype.createProperty = function (propInfo, isCustom) {\n if (isCustom === void 0) { isCustom = false; }\n var propertyName = typeof propInfo === \"string\" ? propInfo : propInfo.name;\n if (!propertyName)\n return;\n var propertyType = null;\n var typeIndex = propertyName.indexOf(JsonMetadataClass.typeSymbol);\n if (typeIndex > -1) {\n propertyType = propertyName.substring(typeIndex + 1);\n propertyName = propertyName.substring(0, typeIndex);\n }\n var isRequired = this.getIsPropertyNameRequired(propertyName) || !!propInfo.isRequired;\n propertyName = this.getPropertyName(propertyName);\n var prop = new JsonObjectProperty(this, propertyName, isRequired);\n if (propertyType) {\n prop.type = propertyType;\n }\n if (typeof propInfo === \"object\") {\n if (propInfo.type) {\n prop.type = propInfo.type;\n }\n if (propInfo.default !== undefined) {\n prop.defaultValue = propInfo.default;\n }\n if (propInfo.defaultFunc !== undefined) {\n prop.defaultValueFunc = propInfo.defaultFunc;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.isSerializable)) {\n prop.isSerializable = propInfo.isSerializable;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.isLightSerializable)) {\n prop.isLightSerializable = propInfo.isLightSerializable;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.maxLength)) {\n prop.maxLength = propInfo.maxLength;\n }\n if (propInfo.displayName !== undefined) {\n prop.displayName = propInfo.displayName;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.category)) {\n prop.category = propInfo.category;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.categoryIndex)) {\n prop.categoryIndex = propInfo.categoryIndex;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.nextToProperty)) {\n prop.nextToProperty = propInfo.nextToProperty;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.overridingProperty)) {\n prop.overridingProperty = propInfo.overridingProperty;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.visibleIndex)) {\n prop.visibleIndex = propInfo.visibleIndex;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.showMode)) {\n prop.showMode = propInfo.showMode;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.maxValue)) {\n prop.maxValue = propInfo.maxValue;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.minValue)) {\n prop.minValue = propInfo.minValue;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.dataList)) {\n prop.dataList = propInfo.dataList;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.isDynamicChoices)) {\n prop.isDynamicChoices = propInfo.isDynamicChoices;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.isBindable)) {\n prop.isBindable = propInfo.isBindable;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.isUnique)) {\n prop.isUnique = propInfo.isUnique;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.uniqueProperty)) {\n prop.uniquePropertyName = propInfo.uniqueProperty;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.isArray)) {\n prop.isArray = propInfo.isArray;\n }\n if (propInfo.visible === true || propInfo.visible === false) {\n prop.visible = propInfo.visible;\n }\n if (!!propInfo.visibleIf) {\n prop.visibleIf = propInfo.visibleIf;\n }\n if (!!propInfo.enableIf) {\n prop.enableIf = propInfo.enableIf;\n }\n if (!!propInfo.onExecuteExpression) {\n prop.onExecuteExpression = propInfo.onExecuteExpression;\n }\n if (!!propInfo.onPropertyEditorUpdate) {\n prop.onPropertyEditorUpdate = propInfo.onPropertyEditorUpdate;\n }\n if (propInfo.readOnly === true) {\n prop.readOnly = true;\n }\n if (propInfo.choices) {\n var choicesFunc = typeof propInfo.choices === \"function\" ? propInfo.choices : null;\n var choicesValue = typeof propInfo.choices !== \"function\" ? propInfo.choices : null;\n prop.setChoices(choicesValue, choicesFunc);\n }\n if (!!propInfo.baseValue) {\n prop.setBaseValue(propInfo.baseValue);\n }\n if (propInfo.onSerializeValue) {\n prop.onSerializeValue = propInfo.onSerializeValue;\n }\n if (propInfo.onGetValue) {\n prop.onGetValue = propInfo.onGetValue;\n }\n if (propInfo.onSetValue) {\n prop.onSetValue = propInfo.onSetValue;\n }\n if (propInfo.onSettingValue) {\n prop.onSettingValue = propInfo.onSettingValue;\n }\n if (propInfo.isLocalizable) {\n propInfo.serializationProperty = \"loc\" + prop.name;\n }\n if (propInfo.serializationProperty) {\n prop.serializationProperty = propInfo.serializationProperty;\n var s;\n if (prop.serializationProperty &&\n prop.serializationProperty.indexOf(\"loc\") == 0) {\n prop.isLocalizable = true;\n }\n }\n if (propInfo.isLocalizable) {\n prop.isLocalizable = propInfo.isLocalizable;\n }\n if (propInfo.className) {\n prop.className = propInfo.className;\n }\n if (propInfo.baseClassName) {\n prop.baseClassName = propInfo.baseClassName;\n prop.isArray = true;\n }\n if (prop.isArray === true) {\n prop.isArray = true;\n }\n if (propInfo.classNamePart) {\n prop.classNamePart = propInfo.classNamePart;\n }\n if (propInfo.alternativeName) {\n prop.alternativeName = propInfo.alternativeName;\n }\n if (propInfo.oldName) {\n prop.oldName = propInfo.oldName;\n }\n if (propInfo.layout) {\n prop.layout = propInfo.layout;\n }\n if (propInfo.version) {\n prop.version = propInfo.version;\n }\n if (propInfo.dependsOn) {\n this.addDependsOnProperties(prop, propInfo.dependsOn);\n }\n }\n this.properties.push(prop);\n if (isCustom && !this.isOverridedProp(prop.name)) {\n prop.isCustom = true;\n CustomPropertiesCollection.addProperty(this.name, prop);\n }\n return prop;\n };\n JsonMetadataClass.prototype.addDependsOnProperties = function (prop, dependsOn) {\n if (Array.isArray(dependsOn)) {\n for (var i = 0; i < dependsOn.length; i++) {\n this.addDependsOnProperty(prop, dependsOn[i]);\n }\n }\n else {\n this.addDependsOnProperty(prop, dependsOn);\n }\n };\n JsonMetadataClass.prototype.addDependsOnProperty = function (prop, dependsOn) {\n var property = this.find(dependsOn);\n if (!property) {\n property = Serializer.findProperty(this.parentName, dependsOn);\n }\n if (!property)\n return;\n property.addDependedProperty(prop.name);\n };\n JsonMetadataClass.prototype.getIsPropertyNameRequired = function (propertyName) {\n return (propertyName.length > 0 &&\n propertyName[0] == JsonMetadataClass.requiredSymbol);\n };\n JsonMetadataClass.prototype.getPropertyName = function (propertyName) {\n if (!this.getIsPropertyNameRequired(propertyName))\n return propertyName;\n propertyName = propertyName.slice(1);\n return propertyName;\n };\n JsonMetadataClass.requiredSymbol = \"!\";\n JsonMetadataClass.typeSymbol = \":\";\n return JsonMetadataClass;\n}());\n\n/**\n * The metadata object. It contains object properties' runtime information and allows you to modify it.\n */\nvar JsonMetadata = /** @class */ (function () {\n function JsonMetadata() {\n this.classes = {};\n this.alternativeNames = {};\n this.childrenClasses = {};\n this.dynamicPropsCache = {};\n }\n JsonMetadata.prototype.getObjPropertyValue = function (obj, name) {\n if (this.isObjWrapper(obj) && this.isNeedUseObjWrapper(obj, name)) {\n var orignalObj = obj.getOriginalObj();\n var prop_1 = Serializer.findProperty(orignalObj.getType(), name);\n if (!!prop_1)\n return this.getObjPropertyValueCore(orignalObj, prop_1);\n }\n var prop = Serializer.findProperty(obj.getType(), name);\n if (!prop)\n return obj[name];\n return this.getObjPropertyValueCore(obj, prop);\n };\n JsonMetadata.prototype.setObjPropertyValue = function (obj, name, val) {\n if (obj[name] === val)\n return;\n if (!!obj[name] && !!obj[name].setJson) {\n obj[name].setJson(val);\n }\n else {\n if (Array.isArray(val)) {\n var newVal = [];\n for (var i = 0; i < val.length; i++)\n newVal.push(val[i]);\n val = newVal;\n }\n obj[name] = val;\n }\n };\n JsonMetadata.prototype.getObjPropertyValueCore = function (obj, prop) {\n if (!prop.isSerializable)\n return obj[prop.name];\n if (prop.isLocalizable) {\n if (prop.isArray)\n return obj[prop.name];\n if (!!prop.serializationProperty)\n return obj[prop.serializationProperty].text;\n }\n return obj.getPropertyValue(prop.name);\n };\n JsonMetadata.prototype.isObjWrapper = function (obj) {\n return !!obj.getOriginalObj && !!obj.getOriginalObj();\n };\n JsonMetadata.prototype.isNeedUseObjWrapper = function (obj, name) {\n if (!obj.getDynamicProperties)\n return true;\n var props = obj.getDynamicProperties();\n if (!Array.isArray(props))\n return false;\n for (var i = 0; i < props.length; i++) {\n if (props[i].name === name)\n return true;\n }\n return false;\n };\n JsonMetadata.prototype.addClass = function (name, properties, creator, parentName) {\n if (creator === void 0) { creator = null; }\n if (parentName === void 0) { parentName = null; }\n name = name.toLowerCase();\n var metaDataClass = new JsonMetadataClass(name, properties, creator, parentName);\n this.classes[name] = metaDataClass;\n if (parentName) {\n parentName = parentName.toLowerCase();\n var children = this.childrenClasses[parentName];\n if (!children) {\n this.childrenClasses[parentName] = [];\n }\n this.childrenClasses[parentName].push(metaDataClass);\n }\n return metaDataClass;\n };\n JsonMetadata.prototype.removeClass = function (name) {\n var metaClass = this.findClass(name);\n if (!metaClass)\n return;\n delete this.classes[metaClass.name];\n if (!!metaClass.parentName) {\n var index = this.childrenClasses[metaClass.parentName].indexOf(metaClass);\n if (index > -1) {\n this.childrenClasses[metaClass.parentName].splice(index, 1);\n }\n }\n };\n JsonMetadata.prototype.overrideClassCreatore = function (name, creator) {\n this.overrideClassCreator(name, creator);\n };\n JsonMetadata.prototype.overrideClassCreator = function (name, creator) {\n name = name.toLowerCase();\n var metaDataClass = this.findClass(name);\n if (metaDataClass) {\n metaDataClass.creator = creator;\n }\n };\n JsonMetadata.prototype.getProperties = function (className) {\n var metaClass = this.findClass(className);\n if (!metaClass)\n return [];\n return metaClass.getAllProperties();\n };\n JsonMetadata.prototype.getPropertiesByObj = function (obj) {\n if (!obj || !obj.getType)\n return [];\n var props = this.getProperties(obj.getType());\n var dynamicProps = this.getDynamicPropertiesByObj(obj);\n return [].concat(props).concat(dynamicProps);\n };\n JsonMetadata.prototype.addDynamicPropertiesIntoObj = function (dest, src, props) {\n var _this = this;\n props.forEach(function (prop) {\n _this.addDynamicPropertyIntoObj(dest, src, prop.name, false);\n if (prop.serializationProperty) {\n _this.addDynamicPropertyIntoObj(dest, src, prop.serializationProperty, true);\n }\n if (prop.alternativeName) {\n _this.addDynamicPropertyIntoObj(dest, src, prop.alternativeName, false);\n }\n });\n };\n JsonMetadata.prototype.addDynamicPropertyIntoObj = function (dest, src, propName, isReadOnly) {\n var desc = {\n configurable: true,\n get: function () {\n return src[propName];\n },\n };\n if (!isReadOnly) {\n desc[\"set\"] = function (v) {\n src[propName] = v;\n };\n }\n Object.defineProperty(dest, propName, desc);\n };\n JsonMetadata.prototype.getDynamicPropertiesByObj = function (obj, dynamicType) {\n if (dynamicType === void 0) { dynamicType = null; }\n if (!obj || !obj.getType)\n return [];\n if (!!obj.getDynamicProperties)\n return obj.getDynamicProperties();\n if (!obj.getDynamicType && !dynamicType)\n return [];\n var dType = !!dynamicType ? dynamicType : obj.getDynamicType();\n return this.getDynamicPropertiesByTypes(obj.getType(), dType);\n };\n JsonMetadata.prototype.getDynamicPropertiesByTypes = function (objType, dynamicType, invalidNames) {\n if (!dynamicType)\n return [];\n var cacheType = dynamicType + \"-\" + objType;\n if (this.dynamicPropsCache[cacheType])\n return this.dynamicPropsCache[cacheType];\n var dynamicProps = this.getProperties(dynamicType);\n if (!dynamicProps || dynamicProps.length == 0)\n return [];\n var hash = {};\n var props = this.getProperties(objType);\n for (var i = 0; i < props.length; i++) {\n hash[props[i].name] = props[i];\n }\n var res = [];\n if (!invalidNames)\n invalidNames = [];\n for (var i_1 = 0; i_1 < dynamicProps.length; i_1++) {\n var dProp = dynamicProps[i_1];\n if (!hash[dProp.name] && invalidNames.indexOf(dProp.name) < 0) {\n res.push(dProp);\n }\n }\n this.dynamicPropsCache[cacheType] = res;\n return res;\n };\n JsonMetadata.prototype.hasOriginalProperty = function (obj, propName) {\n return !!this.getOriginalProperty(obj, propName);\n };\n JsonMetadata.prototype.getOriginalProperty = function (obj, propName) {\n var res = this.findProperty(obj.getType(), propName);\n if (!!res)\n return res;\n if (this.isObjWrapper(obj))\n return this.findProperty(obj.getOriginalObj().getType(), propName);\n return null;\n };\n JsonMetadata.prototype.getProperty = function (className, propertyName) {\n var prop = this.findProperty(className, propertyName);\n if (!prop)\n return prop;\n var classInfo = this.findClass(className);\n if (prop.classInfo === classInfo)\n return prop;\n var newProp = new JsonObjectProperty(classInfo, prop.name, prop.isRequired);\n newProp.mergeWith(prop);\n newProp.isArray = prop.isArray;\n classInfo.properties.push(newProp);\n classInfo.resetAllProperties();\n return newProp;\n };\n JsonMetadata.prototype.findProperty = function (className, propertyName) {\n var cl = this.findClass(className);\n return !!cl ? cl.findProperty(propertyName) : null;\n };\n JsonMetadata.prototype.findProperties = function (className, propertyNames) {\n var result = new Array();\n var cl = this.findClass(className);\n if (!cl)\n return result;\n for (var i = 0; i < propertyNames.length; i++) {\n var prop = cl.findProperty(propertyNames[i]);\n if (prop) {\n result.push(prop);\n }\n }\n return result;\n };\n JsonMetadata.prototype.getAllPropertiesByName = function (propertyName) {\n var res = new Array();\n var classes = this.getAllClasses();\n for (var i = 0; i < classes.length; i++) {\n var classInfo = this.findClass(classes[i]);\n for (var j = 0; j < classInfo.properties.length; j++) {\n if (classInfo.properties[j].name == propertyName) {\n res.push(classInfo.properties[j]);\n break;\n }\n }\n }\n return res;\n };\n JsonMetadata.prototype.getAllClasses = function () {\n var res = new Array();\n for (var name in this.classes) {\n res.push(name);\n }\n return res;\n };\n JsonMetadata.prototype.createClass = function (name, json) {\n if (json === void 0) { json = undefined; }\n name = name.toLowerCase();\n var metaDataClass = this.findClass(name);\n if (!metaDataClass)\n return null;\n if (metaDataClass.creator)\n return metaDataClass.creator(json);\n var parentName = metaDataClass.parentName;\n while (parentName) {\n metaDataClass = this.findClass(parentName);\n if (!metaDataClass)\n return null;\n parentName = metaDataClass.parentName;\n if (metaDataClass.creator)\n return this.createCustomType(name, metaDataClass.creator, json);\n }\n return null;\n };\n JsonMetadata.prototype.createCustomType = function (name, creator, json) {\n if (json === void 0) { json = undefined; }\n name = name.toLowerCase();\n var res = creator(json);\n var customTypeName = name;\n var customTemplateName = res.getTemplate\n ? res.getTemplate()\n : res.getType();\n res.getType = function () {\n return customTypeName;\n };\n res.getTemplate = function () {\n return customTemplateName;\n };\n CustomPropertiesCollection.createProperties(res);\n return res;\n };\n JsonMetadata.prototype.getChildrenClasses = function (name, canBeCreated) {\n if (canBeCreated === void 0) { canBeCreated = false; }\n name = name.toLowerCase();\n var result = [];\n this.fillChildrenClasses(name, canBeCreated, result);\n return result;\n };\n JsonMetadata.prototype.getRequiredProperties = function (name) {\n var metaClass = this.findClass(name);\n if (!metaClass)\n return [];\n var props = metaClass.getRequiredProperties();\n var res = [];\n for (var i = 0; i < props.length; i++) {\n res.push(props[i].name);\n }\n return res;\n };\n JsonMetadata.prototype.addProperties = function (className, propertiesInfos) {\n className = className.toLowerCase();\n var metaDataClass = this.findClass(className);\n for (var i = 0; i < propertiesInfos.length; i++) {\n this.addCustomPropertyCore(metaDataClass, propertiesInfos[i]);\n }\n };\n JsonMetadata.prototype.addProperty = function (className, propertyInfo) {\n return this.addCustomPropertyCore(this.findClass(className), propertyInfo);\n };\n JsonMetadata.prototype.addCustomPropertyCore = function (metaDataClass, propertyInfo) {\n if (!metaDataClass)\n return null;\n var property = metaDataClass.createProperty(propertyInfo, true);\n if (property) {\n this.clearDynamicPropsCache(metaDataClass);\n metaDataClass.resetAllProperties();\n }\n return property;\n };\n JsonMetadata.prototype.removeProperty = function (className, propertyName) {\n var metaDataClass = this.findClass(className);\n if (!metaDataClass)\n return false;\n var property = metaDataClass.find(propertyName);\n if (property) {\n this.clearDynamicPropsCache(metaDataClass);\n this.removePropertyFromClass(metaDataClass, property);\n metaDataClass.resetAllProperties();\n CustomPropertiesCollection.removeProperty(metaDataClass.name, propertyName);\n }\n };\n JsonMetadata.prototype.clearDynamicPropsCache = function (metaDataClass) {\n this.dynamicPropsCache = {};\n };\n JsonMetadata.prototype.removePropertyFromClass = function (metaDataClass, property) {\n var index = metaDataClass.properties.indexOf(property);\n if (index < 0)\n return;\n metaDataClass.properties.splice(index, 1);\n };\n JsonMetadata.prototype.fillChildrenClasses = function (name, canBeCreated, result) {\n var children = this.childrenClasses[name];\n if (!children)\n return;\n for (var i = 0; i < children.length; i++) {\n if (!canBeCreated || children[i].creator) {\n result.push(children[i]);\n }\n this.fillChildrenClasses(children[i].name, canBeCreated, result);\n }\n };\n JsonMetadata.prototype.findClass = function (name) {\n name = name.toLowerCase();\n var res = this.classes[name];\n if (!res) {\n var newName = this.alternativeNames[name];\n if (!!newName && newName != name)\n return this.findClass(newName);\n }\n return res;\n };\n JsonMetadata.prototype.isDescendantOf = function (className, ancestorClassName) {\n if (!className || !ancestorClassName) {\n return false;\n }\n className = className.toLowerCase();\n ancestorClassName = ancestorClassName.toLowerCase();\n var class_ = this.findClass(className);\n if (!class_) {\n return false;\n }\n var parentClass = class_;\n do {\n if (parentClass.name === ancestorClassName) {\n return true;\n }\n parentClass = this.classes[parentClass.parentName];\n } while (!!parentClass);\n return false;\n };\n JsonMetadata.prototype.addAlterNativeClassName = function (name, alternativeName) {\n this.alternativeNames[alternativeName.toLowerCase()] = name.toLowerCase();\n };\n JsonMetadata.prototype.generateSchema = function (className) {\n if (className === void 0) { className = undefined; }\n if (!className)\n className = \"survey\";\n var classInfo = this.findClass(className);\n if (!classInfo)\n return null;\n var res = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n title: \"SurveyJS Library json schema\",\n type: \"object\",\n properties: {},\n definitions: { locstring: this.generateLocStrClass() },\n };\n this.generateSchemaProperties(classInfo, res, res.definitions, true);\n return res;\n };\n JsonMetadata.prototype.generateLocStrClass = function () {\n var props = {};\n var locProp = Serializer.findProperty(\"survey\", \"locale\");\n if (!!locProp) {\n var choices = locProp.getChoices(null);\n if (Array.isArray(choices)) {\n if (choices.indexOf(\"en\") < 0) {\n choices.splice(0, 0, \"en\");\n }\n choices.splice(0, 0, \"default\");\n choices.forEach(function (l) { if (!!l) {\n props[l] = { type: \"string\" };\n } });\n }\n }\n return {\n $id: \"locstring\",\n type: \"object\",\n properties: props\n };\n };\n JsonMetadata.prototype.generateSchemaProperties = function (classInfo, classSchema, schemaDef, isRoot) {\n if (!classInfo)\n return;\n var schemaProperties = classSchema.properties;\n var requiredProps = [];\n if (classInfo.name === \"question\" || classInfo.name === \"panel\") {\n schemaProperties.type = { type: \"string\" };\n requiredProps.push(\"type\");\n }\n for (var i = 0; i < classInfo.properties.length; i++) {\n var prop = classInfo.properties[i];\n if (!!classInfo.parentName && !!Serializer.findProperty(classInfo.parentName, prop.name))\n continue;\n schemaProperties[prop.name] = this.generateSchemaProperty(prop, schemaDef, isRoot);\n if (prop.isRequired)\n requiredProps.push(prop.name);\n }\n if (requiredProps.length > 0) {\n classSchema.required = requiredProps;\n }\n };\n JsonMetadata.prototype.generateSchemaProperty = function (prop, schemaDef, isRoot) {\n if (prop.isLocalizable) {\n return { oneOf: [\n { \"type\": \"string\" },\n { \"$ref\": this.getChemeRefName(\"locstring\", isRoot) }\n ] };\n }\n var propType = prop.schemaType();\n var refType = prop.schemaRef();\n var res = {};\n if (!!propType) {\n res.type = propType;\n }\n if (prop.hasChoices) {\n var enumRes = prop.getChoices(null);\n if (Array.isArray(enumRes) && enumRes.length > 0) {\n res.enum = this.getChoicesValues(enumRes);\n }\n }\n if (!!refType) {\n if (propType === \"array\") {\n if (prop.className === \"string\") {\n res.items = { type: prop.className };\n }\n else {\n res.items = { $ref: this.getChemeRefName(prop.className, isRoot) };\n }\n }\n else {\n res[\"$ref\"] = this.getChemeRefName(refType, isRoot);\n }\n this.generateChemaClass(prop.className, schemaDef, false);\n }\n if (!!prop.baseClassName) {\n var usedClasses = this.getChildrenClasses(prop.baseClassName, true);\n if (prop.baseClassName == \"question\") {\n usedClasses.push(this.findClass(\"panel\"));\n }\n res.items = { anyOf: [] };\n for (var i = 0; i < usedClasses.length; i++) {\n var className = usedClasses[i].name;\n res.items.anyOf.push({ $ref: this.getChemeRefName(className, isRoot) });\n this.generateChemaClass(className, schemaDef, false);\n }\n }\n return res;\n };\n JsonMetadata.prototype.getChemeRefName = function (className, isRoot) {\n //Fix for #6486, according to https://niem.github.io/json/reference/json-schema/references/#:~:text=In%20a%20JSON%20schema%2C%20a,%2C%20an%20in%2Dschema%20reference\n //Checked by https://www.jsonschemavalidator.net/\n return isRoot ? \"#/definitions/\" + className : className;\n };\n JsonMetadata.prototype.generateChemaClass = function (className, schemaDef, isRoot) {\n if (!!schemaDef[className])\n return;\n var classInfo = this.findClass(className);\n if (!classInfo)\n return;\n var hasParent = !!classInfo.parentName && classInfo.parentName != \"base\";\n if (hasParent) {\n this.generateChemaClass(classInfo.parentName, schemaDef, isRoot);\n }\n var res = { type: \"object\", $id: className };\n schemaDef[className] = res;\n var chemaProps = { properties: {} };\n this.generateSchemaProperties(classInfo, chemaProps, schemaDef, isRoot);\n if (hasParent) {\n res.allOf = [\n { $ref: this.getChemeRefName(classInfo.parentName, isRoot) },\n { properties: chemaProps.properties },\n ];\n }\n else {\n res.properties = chemaProps.properties;\n }\n if (Array.isArray(chemaProps.required)) {\n res.required = chemaProps.required;\n }\n };\n JsonMetadata.prototype.getChoicesValues = function (enumRes) {\n var res = new Array();\n enumRes.forEach(function (item) {\n if (typeof item === \"object\" && item.value !== undefined) {\n res.push(item.value);\n }\n else {\n res.push(item);\n }\n });\n return res;\n };\n return JsonMetadata;\n}());\n\nvar JsonError = /** @class */ (function () {\n function JsonError(type, message) {\n this.type = type;\n this.message = message;\n this.description = \"\";\n this.at = -1;\n this.end = -1;\n }\n JsonError.prototype.getFullDescription = function () {\n return this.message + (this.description ? \"\\n\" + this.description : \"\");\n };\n return JsonError;\n}());\n\nvar JsonUnknownPropertyError = /** @class */ (function (_super) {\n __extends(JsonUnknownPropertyError, _super);\n function JsonUnknownPropertyError(propertyName, className) {\n var _this = _super.call(this, \"unknownproperty\", \"Unknown property in class '\" + className + \"': '\" + propertyName + \"'.\") || this;\n _this.propertyName = propertyName;\n _this.className = className;\n return _this;\n }\n return JsonUnknownPropertyError;\n}(JsonError));\n\nvar JsonMissingTypeErrorBase = /** @class */ (function (_super) {\n __extends(JsonMissingTypeErrorBase, _super);\n function JsonMissingTypeErrorBase(baseClassName, type, message) {\n var _this = _super.call(this, type, message) || this;\n _this.baseClassName = baseClassName;\n _this.type = type;\n _this.message = message;\n return _this;\n }\n return JsonMissingTypeErrorBase;\n}(JsonError));\n\nvar JsonMissingTypeError = /** @class */ (function (_super) {\n __extends(JsonMissingTypeError, _super);\n function JsonMissingTypeError(propertyName, baseClassName) {\n var _this = _super.call(this, baseClassName, \"missingtypeproperty\", \"The property type is missing in the object. Please take a look at property: '\" +\n propertyName +\n \"'.\") || this;\n _this.propertyName = propertyName;\n _this.baseClassName = baseClassName;\n return _this;\n }\n return JsonMissingTypeError;\n}(JsonMissingTypeErrorBase));\n\nvar JsonIncorrectTypeError = /** @class */ (function (_super) {\n __extends(JsonIncorrectTypeError, _super);\n function JsonIncorrectTypeError(propertyName, baseClassName) {\n var _this = _super.call(this, baseClassName, \"incorrecttypeproperty\", \"The property type is incorrect in the object. Please take a look at property: '\" +\n propertyName +\n \"'.\") || this;\n _this.propertyName = propertyName;\n _this.baseClassName = baseClassName;\n return _this;\n }\n return JsonIncorrectTypeError;\n}(JsonMissingTypeErrorBase));\n\nvar JsonRequiredPropertyError = /** @class */ (function (_super) {\n __extends(JsonRequiredPropertyError, _super);\n function JsonRequiredPropertyError(propertyName, className) {\n var _this = _super.call(this, \"requiredproperty\", \"The property '\" +\n propertyName +\n \"' is required in class '\" +\n className +\n \"'.\") || this;\n _this.propertyName = propertyName;\n _this.className = className;\n return _this;\n }\n return JsonRequiredPropertyError;\n}(JsonError));\n\nvar JsonRequiredArrayPropertyError = /** @class */ (function (_super) {\n __extends(JsonRequiredArrayPropertyError, _super);\n function JsonRequiredArrayPropertyError(propertyName, className) {\n var _this = _super.call(this, \"arrayproperty\", \"The property '\" + propertyName + \"' should be an array in '\" + className + \"'.\") || this;\n _this.propertyName = propertyName;\n _this.className = className;\n return _this;\n }\n return JsonRequiredArrayPropertyError;\n}(JsonError));\n\nvar JsonIncorrectPropertyValueError = /** @class */ (function (_super) {\n __extends(JsonIncorrectPropertyValueError, _super);\n function JsonIncorrectPropertyValueError(property, value) {\n var _this = _super.call(this, \"incorrectvalue\", \"The property value: '\" + value + \"' is incorrect for property '\" + property.name + \"'.\") || this;\n _this.property = property;\n _this.value = value;\n return _this;\n }\n return JsonIncorrectPropertyValueError;\n}(JsonError));\n\nvar JsonObject = /** @class */ (function () {\n function JsonObject() {\n this.errors = new Array();\n this.lightSerializing = false;\n }\n Object.defineProperty(JsonObject, \"metaData\", {\n get: function () {\n return JsonObject.metaDataValue;\n },\n enumerable: false,\n configurable: true\n });\n JsonObject.prototype.toJsonObject = function (obj, options) {\n return this.toJsonObjectCore(obj, null, options);\n };\n JsonObject.prototype.toObject = function (jsonObj, obj, options) {\n this.toObjectCore(jsonObj, obj, options);\n var error = this.getRequiredError(obj, jsonObj);\n if (!!error) {\n this.addNewError(error, jsonObj, obj);\n }\n };\n JsonObject.prototype.toObjectCore = function (jsonObj, obj, options) {\n if (!jsonObj)\n return;\n var properties = null;\n var objType = undefined;\n var needAddErrors = true;\n if (obj.getType) {\n objType = obj.getType();\n properties = Serializer.getProperties(objType);\n needAddErrors =\n !!objType && !Serializer.isDescendantOf(objType, \"itemvalue\");\n }\n if (!properties)\n return;\n if (obj.startLoadingFromJson) {\n obj.startLoadingFromJson(jsonObj);\n }\n properties = this.addDynamicProperties(obj, jsonObj, properties);\n this.options = options;\n for (var key in jsonObj) {\n if (key === JsonObject.typePropertyName)\n continue;\n if (key === JsonObject.positionPropertyName) {\n obj[key] = jsonObj[key];\n continue;\n }\n var property = this.findProperty(properties, key);\n if (!property) {\n if (needAddErrors) {\n this.addNewError(new JsonUnknownPropertyError(key.toString(), objType), jsonObj, obj);\n }\n continue;\n }\n this.valueToObj(jsonObj[key], obj, property, jsonObj, options);\n }\n this.options = undefined;\n if (obj.endLoadingFromJson) {\n obj.endLoadingFromJson();\n }\n };\n JsonObject.prototype.toJsonObjectCore = function (obj, property, options) {\n if (!obj || !obj.getType)\n return obj;\n if (typeof obj.getData === \"function\")\n return obj.getData();\n var result = {};\n if (property != null && !property.className) {\n result[JsonObject.typePropertyName] = property.getObjType(obj.getType());\n }\n var storeDefaults = options === true;\n if (!options || options === true) {\n options = {};\n }\n if (storeDefaults) {\n options.storeDefaults = storeDefaults;\n }\n this.propertiesToJson(obj, Serializer.getProperties(obj.getType()), result, options);\n this.propertiesToJson(obj, this.getDynamicProperties(obj), result, options);\n return result;\n };\n JsonObject.prototype.getDynamicProperties = function (obj) {\n return Serializer.getDynamicPropertiesByObj(obj);\n };\n JsonObject.prototype.addDynamicProperties = function (obj, jsonObj, props) {\n if (!obj.getDynamicPropertyName && !obj.getDynamicProperties)\n return props;\n if (obj.getDynamicPropertyName) {\n var dynamicPropName = obj.getDynamicPropertyName();\n if (!dynamicPropName)\n return props;\n if (dynamicPropName && jsonObj[dynamicPropName]) {\n obj[dynamicPropName] = jsonObj[dynamicPropName];\n }\n }\n var dynamicProps = this.getDynamicProperties(obj);\n return dynamicProps.length === 0 ? props : [].concat(props).concat(dynamicProps);\n };\n JsonObject.prototype.propertiesToJson = function (obj, properties, json, options) {\n for (var i = 0; i < properties.length; i++) {\n this.valueToJson(obj, json, properties[i], options);\n }\n };\n JsonObject.prototype.valueToJson = function (obj, result, prop, options) {\n if (!options)\n options = {};\n if (prop.isSerializable === false || (prop.isLightSerializable === false && this.lightSerializing))\n return;\n if (options.version && !prop.isAvailableInVersion(options.version))\n return;\n this.valueToJsonCore(obj, result, prop, options);\n };\n JsonObject.prototype.valueToJsonCore = function (obj, result, prop, options) {\n var serProp = prop.getSerializedProperty(obj, options.version);\n if (serProp && serProp !== prop) {\n this.valueToJsonCore(obj, result, serProp, options);\n return;\n }\n var value = prop.getSerializableValue(obj);\n if (!options.storeDefaults && prop.isDefaultValueByObj(obj, value))\n return;\n if (this.isValueArray(value)) {\n var arrValue = [];\n for (var i = 0; i < value.length; i++) {\n arrValue.push(this.toJsonObjectCore(value[i], prop, options));\n }\n value = arrValue.length > 0 ? arrValue : null;\n }\n else {\n value = this.toJsonObjectCore(value, prop, options);\n }\n if (value === undefined || value === null)\n return;\n var name = prop.getSerializedName(options.version);\n var hasValue = typeof obj[\"getPropertyValue\"] === \"function\" &&\n obj[\"getPropertyValue\"](name, null) !== null;\n if ((options.storeDefaults && hasValue) || !prop.isDefaultValueByObj(obj, value)) {\n if (!Serializer.onSerializingProperty || !Serializer.onSerializingProperty(obj, prop, value, result)) {\n result[name] = this.removePosOnValueToJson(prop, value);\n }\n }\n };\n JsonObject.prototype.valueToObj = function (value, obj, property, jsonObj, options) {\n if (value === null || value === undefined)\n return;\n this.removePos(property, value);\n if (property != null && property.hasToUseSetValue) {\n property.setValue(obj, value, this);\n return;\n }\n if (property.isArray && !Array.isArray(value) && !!value) {\n value = [value];\n var propName = !!jsonObj && property.alternativeName && !!jsonObj[property.alternativeName] ? property.alternativeName : property.name;\n this.addNewError(new JsonRequiredArrayPropertyError(propName, obj.getType()), !!jsonObj ? jsonObj : value, obj);\n }\n if (this.isValueArray(value)) {\n this.valueToArray(value, obj, property.name, property, options);\n return;\n }\n var newObj = this.createNewObj(value, property);\n if (newObj.newObj) {\n this.toObjectCore(value, newObj.newObj, options);\n value = newObj.newObj;\n }\n if (!newObj.error) {\n if (property != null) {\n property.setValue(obj, value, this);\n if (!!options && options.validatePropertyValues) {\n if (!property.validateValue(value)) {\n this.addNewError(new JsonIncorrectPropertyValueError(property, value), jsonObj, obj);\n }\n }\n }\n else {\n obj[property.name] = value;\n }\n }\n };\n JsonObject.prototype.removePosOnValueToJson = function (property, value) {\n if (!property.isCustom || !value)\n return value;\n this.removePosFromObj(value);\n return value;\n };\n JsonObject.prototype.removePos = function (property, value) {\n if (!property || !property.type || property.type.indexOf(\"value\") < 0)\n return;\n this.removePosFromObj(value);\n };\n JsonObject.prototype.removePosFromObj = function (obj) {\n if (!obj)\n return;\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n this.removePosFromObj(obj[i]);\n }\n }\n if (typeof obj !== \"object\")\n return;\n if (!!obj[JsonObject.positionPropertyName]) {\n delete obj[JsonObject.positionPropertyName];\n }\n for (var key in obj) {\n this.removePosFromObj(obj[key]);\n }\n };\n JsonObject.prototype.isValueArray = function (value) {\n return value && Array.isArray(value);\n };\n JsonObject.prototype.createNewObj = function (value, property) {\n var result = { newObj: null, error: null };\n var className = this.getClassNameForNewObj(value, property);\n result.newObj = className\n ? Serializer.createClass(className, value)\n : null;\n result.error = this.checkNewObjectOnErrors(result.newObj, value, property, className);\n return result;\n };\n JsonObject.prototype.getClassNameForNewObj = function (value, property) {\n var res = property != null && property.className ? property.className : undefined;\n if (!res) {\n res = value[JsonObject.typePropertyName];\n }\n if (!res)\n return res;\n res = res.toLowerCase();\n var classNamePart = property.classNamePart;\n if (classNamePart && res.indexOf(classNamePart) < 0) {\n res += classNamePart;\n }\n return res;\n };\n JsonObject.prototype.checkNewObjectOnErrors = function (newObj, value, property, className) {\n var error = null;\n if (newObj) {\n error = this.getRequiredError(newObj, value);\n }\n else {\n if (property.baseClassName) {\n if (!className) {\n error = new JsonMissingTypeError(property.name, property.baseClassName);\n }\n else {\n error = new JsonIncorrectTypeError(property.name, property.baseClassName);\n }\n }\n }\n if (error) {\n this.addNewError(error, value, newObj);\n }\n return error;\n };\n JsonObject.prototype.getRequiredError = function (obj, jsonValue) {\n if (!obj.getType || typeof obj.getData === \"function\")\n return null;\n var metaClass = Serializer.findClass(obj.getType());\n if (!metaClass)\n return null;\n var props = metaClass.getRequiredProperties();\n if (!Array.isArray(props))\n return null;\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(prop.defaultValue))\n continue;\n if (!jsonValue[prop.name]) {\n return new JsonRequiredPropertyError(prop.name, obj.getType());\n }\n }\n return null;\n };\n JsonObject.prototype.addNewError = function (error, jsonObj, element) {\n error.jsonObj = jsonObj;\n error.element = element;\n this.errors.push(error);\n if (!jsonObj)\n return;\n var posObj = jsonObj[JsonObject.positionPropertyName];\n if (!posObj)\n return;\n error.at = posObj.start;\n error.end = posObj.end;\n };\n JsonObject.prototype.valueToArray = function (value, obj, key, property, options) {\n if (obj[key] && !this.isValueArray(obj[key]))\n return;\n if (obj[key] && value.length > 0)\n obj[key].splice(0, obj[key].length);\n var valueRes = obj[key] ? obj[key] : [];\n this.addValuesIntoArray(value, valueRes, property, options);\n if (!obj[key])\n obj[key] = valueRes;\n };\n JsonObject.prototype.addValuesIntoArray = function (value, result, property, options) {\n for (var i = 0; i < value.length; i++) {\n var newValue = this.createNewObj(value[i], property);\n if (newValue.newObj) {\n if (!!value[i].name) {\n newValue.newObj.name = value[i].name;\n }\n if (!!value[i].valueName) {\n newValue.newObj.valueName = value[i].valueName.toString();\n }\n result.push(newValue.newObj);\n this.toObjectCore(value[i], newValue.newObj, options);\n }\n else {\n if (!newValue.error) {\n result.push(value[i]);\n }\n }\n }\n };\n JsonObject.prototype.findProperty = function (properties, key) {\n if (!properties)\n return null;\n for (var i = 0; i < properties.length; i++) {\n var prop = properties[i];\n if (prop.name == key || prop.alternativeName == key)\n return prop;\n }\n return null;\n };\n JsonObject.typePropertyName = \"type\";\n JsonObject.positionPropertyName = \"pos\";\n JsonObject.metaDataValue = new JsonMetadata();\n return JsonObject;\n}());\n\n/**\n * An alias for the metadata object. It contains object properties' runtime information and allows you to modify it.\n * @see JsonMetadata\n */\nvar Serializer = JsonObject.metaData;\n\n\n/***/ }),\n\n/***/ \"./src/list.ts\":\n/*!*********************!*\\\n !*** ./src/list.ts ***!\n \\*********************/\n/*! exports provided: defaultListCss, ListModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultListCss\", function() { return defaultListCss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ListModel\", function() { return ListModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions/container */ \"./src/actions/container.ts\");\n/* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./actions/action */ \"./src/actions/action.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _element_helper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./element-helper */ \"./src/element-helper.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\nvar defaultListCss = {\n root: \"sv-list__container\",\n item: \"sv-list__item\",\n searchClearButtonIcon: \"sv-list__filter-clear-button\",\n loadingIndicator: \"sv-list__loading-indicator\",\n itemSelected: \"sv-list__item--selected\",\n itemWithIcon: \"sv-list__item--with-icon\",\n itemDisabled: \"sv-list__item--disabled\",\n itemFocused: \"sv-list__item--focused\",\n itemTextWrap: \"sv-list__item-text--wrap\",\n itemIcon: \"sv-list__item-icon\",\n itemSeparator: \"sv-list__item-separator\",\n itemBody: \"sv-list__item-body\",\n itemsContainer: \"sv-list\",\n itemsContainerFiltering: \"sv-list--filtering\",\n filter: \"sv-list__filter\",\n filterIcon: \"sv-list__filter-icon\",\n filterInput: \"sv-list__input\",\n emptyContainer: \"sv-list__empty-container\",\n emptyText: \"sv-list__empty-text\"\n};\nvar ListModel = /** @class */ (function (_super) {\n __extends(ListModel, _super);\n function ListModel(items, onSelectionChanged, allowSelection, selectedItem, onFilterStringChangedCallback, elementId) {\n var _this = _super.call(this) || this;\n _this.onSelectionChanged = onSelectionChanged;\n _this.allowSelection = allowSelection;\n _this.onFilterStringChangedCallback = onFilterStringChangedCallback;\n _this.elementId = elementId;\n _this.onItemClick = function (itemValue) {\n if (_this.isItemDisabled(itemValue)) {\n return;\n }\n _this.isExpanded = false;\n if (_this.allowSelection) {\n _this.selectedItem = itemValue;\n }\n if (!!_this.onSelectionChanged) {\n _this.onSelectionChanged(itemValue);\n }\n };\n _this.isItemDisabled = function (itemValue) {\n return itemValue.enabled !== undefined && !itemValue.enabled;\n };\n _this.isItemSelected = function (itemValue) {\n return _this.areSameItems(_this.selectedItem, itemValue);\n };\n _this.isItemFocused = function (itemValue) {\n return _this.areSameItems(_this.focusedItem, itemValue);\n };\n _this.getListClass = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]()\n .append(_this.cssClasses.itemsContainer)\n .append(_this.cssClasses.itemsContainerFiltering, !!_this.filterString && _this.visibleActions.length !== _this.visibleItems.length)\n .toString();\n };\n _this.getItemClass = function (itemValue) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]()\n .append(_this.cssClasses.item)\n .append(_this.cssClasses.itemWithIcon, !!itemValue.iconName)\n .append(_this.cssClasses.itemDisabled, _this.isItemDisabled(itemValue))\n .append(_this.cssClasses.itemFocused, _this.isItemFocused(itemValue))\n .append(_this.cssClasses.itemSelected, _this.isItemSelected(itemValue))\n .append(_this.cssClasses.itemTextWrap, _this.textWrapEnabled)\n .append(itemValue.css)\n .toString();\n };\n _this.getItemIndent = function (itemValue) {\n var level = itemValue.level || 0;\n return (level + 1) * ListModel.INDENT + \"px\";\n };\n _this.setItems(items);\n _this.selectedItem = selectedItem;\n return _this;\n }\n ListModel.prototype.hasText = function (item, filterStringInLow) {\n if (!filterStringInLow)\n return true;\n var text = item.title || \"\";\n if (this.onTextSearchCallback)\n return this.onTextSearchCallback(item, filterStringInLow);\n var textInLow = text.toLocaleLowerCase();\n textInLow = _settings__WEBPACK_IMPORTED_MODULE_6__[\"settings\"].comparator.normalizeTextCallback(textInLow, \"filter\");\n return textInLow.indexOf(filterStringInLow.toLocaleLowerCase()) > -1;\n };\n ListModel.prototype.isItemVisible = function (item) {\n return item.visible && (!this.shouldProcessFilter || this.hasText(item, this.filterString));\n };\n Object.defineProperty(ListModel.prototype, \"visibleItems\", {\n get: function () {\n var _this = this;\n return this.visibleActions.filter(function (item) { return _this.isItemVisible(item); });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListModel.prototype, \"shouldProcessFilter\", {\n get: function () {\n return !this.onFilterStringChangedCallback;\n },\n enumerable: false,\n configurable: true\n });\n ListModel.prototype.onFilterStringChanged = function (text) {\n var _this = this;\n if (!!this.onFilterStringChangedCallback) {\n this.onFilterStringChangedCallback(text);\n }\n this.isEmpty = this.renderedActions.filter(function (action) { return _this.isItemVisible(action); }).length === 0;\n };\n ListModel.prototype.scrollToItem = function (selector, ms) {\n var _this = this;\n if (ms === void 0) { ms = 0; }\n setTimeout(function () {\n if (!_this.listContainerHtmlElement)\n return;\n var item = _this.listContainerHtmlElement.querySelector(\".\" + selector);\n if (item) {\n setTimeout(function () {\n item.scrollIntoView({ behavior: \"smooth\", block: \"nearest\", inline: \"start\" });\n }, ms);\n }\n }, ms);\n };\n ListModel.prototype.setOnFilterStringChangedCallback = function (callback) {\n this.onFilterStringChangedCallback = callback;\n };\n ListModel.prototype.setOnTextSearchCallback = function (callback) {\n this.onTextSearchCallback = callback;\n };\n ListModel.prototype.setItems = function (items, sortByVisibleIndex) {\n var _this = this;\n if (sortByVisibleIndex === void 0) { sortByVisibleIndex = true; }\n _super.prototype.setItems.call(this, items, sortByVisibleIndex);\n if (this.elementId) {\n this.renderedActions.forEach(function (action) { action.elementId = _this.elementId + action.id; });\n }\n if (!this.isAllDataLoaded && !!this.actions.length) {\n this.actions.push(this.loadingIndicator);\n }\n };\n ListModel.prototype.onSet = function () {\n this.showFilter = this.searchEnabled && (this.forceShowFilter || (this.actions || []).length > ListModel.MINELEMENTCOUNT);\n _super.prototype.onSet.call(this);\n };\n ListModel.prototype.getDefaultCssClasses = function () {\n return defaultListCss;\n };\n ListModel.prototype.areSameItems = function (item1, item2) {\n if (!!this.areSameItemsCallback)\n return this.areSameItemsCallback(item1, item2);\n return !!item1 && !!item2 && item1.id == item2.id;\n };\n Object.defineProperty(ListModel.prototype, \"filterStringPlaceholder\", {\n get: function () {\n return this.getLocalizationString(\"filterStringPlaceholder\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListModel.prototype, \"emptyMessage\", {\n get: function () {\n return this.isAllDataLoaded ? this.getLocalizationString(\"emptyMessage\") : this.loadingText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListModel.prototype, \"scrollableContainer\", {\n get: function () {\n return this.listContainerHtmlElement.querySelector(\".\" + this.getDefaultCssClasses().itemsContainer);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListModel.prototype, \"loadingText\", {\n get: function () {\n return this.getLocalizationString(\"loadingFile\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListModel.prototype, \"loadingIndicator\", {\n get: function () {\n if (!this.loadingIndicatorValue) {\n this.loadingIndicatorValue = (new _actions_action__WEBPACK_IMPORTED_MODULE_2__[\"Action\"]({\n id: \"loadingIndicator\",\n title: this.loadingText,\n action: function () { },\n css: this.cssClasses.loadingIndicator\n }));\n }\n return this.loadingIndicatorValue;\n },\n enumerable: false,\n configurable: true\n });\n ListModel.prototype.goToItems = function (event) {\n if (event.key === \"ArrowDown\" || event.keyCode === 40) {\n var currentElement = event.target.parentElement;\n var listElement = currentElement.parentElement.querySelector(\"ul\");\n var firstChild = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__[\"getFirstVisibleChild\"])(listElement);\n if (!!listElement && !!firstChild) {\n _element_helper__WEBPACK_IMPORTED_MODULE_4__[\"ElementHelper\"].focusElement(firstChild);\n event.preventDefault();\n }\n }\n };\n ListModel.prototype.onMouseMove = function (event) {\n this.resetFocusedItem();\n };\n ListModel.prototype.onKeyDown = function (event) {\n var currentElement = event.target;\n if (event.key === \"ArrowDown\" || event.keyCode === 40) {\n _element_helper__WEBPACK_IMPORTED_MODULE_4__[\"ElementHelper\"].focusElement(_element_helper__WEBPACK_IMPORTED_MODULE_4__[\"ElementHelper\"].getNextElementPreorder(currentElement));\n event.preventDefault();\n }\n else if (event.key === \"ArrowUp\" || event.keyCode === 38) {\n _element_helper__WEBPACK_IMPORTED_MODULE_4__[\"ElementHelper\"].focusElement(_element_helper__WEBPACK_IMPORTED_MODULE_4__[\"ElementHelper\"].getNextElementPostorder(currentElement));\n event.preventDefault();\n }\n };\n ListModel.prototype.onPointerDown = function (event, item) { };\n ListModel.prototype.refresh = function () {\n this.filterString = \"\";\n this.resetFocusedItem();\n };\n ListModel.prototype.onClickSearchClearButton = function (event) {\n event.currentTarget.parentElement.querySelector(\"input\").focus();\n this.refresh();\n };\n ListModel.prototype.resetFocusedItem = function () {\n this.focusedItem = undefined;\n };\n ListModel.prototype.focusFirstVisibleItem = function () {\n this.focusedItem = this.visibleItems[0];\n };\n ListModel.prototype.focusLastVisibleItem = function () {\n this.focusedItem = this.visibleItems[this.visibleItems.length - 1];\n };\n ListModel.prototype.initFocusedItem = function () {\n var _this = this;\n this.focusedItem = this.visibleItems.filter(function (item) { return item.visible && _this.isItemSelected(item); })[0];\n if (!this.focusedItem) {\n this.focusFirstVisibleItem();\n }\n };\n ListModel.prototype.focusNextVisibleItem = function () {\n if (!this.focusedItem) {\n this.initFocusedItem();\n }\n else {\n var items = this.visibleItems;\n var currentFocusedItemIndex = items.indexOf(this.focusedItem);\n var nextItem = items[currentFocusedItemIndex + 1];\n if (nextItem) {\n this.focusedItem = nextItem;\n }\n else {\n this.focusFirstVisibleItem();\n }\n }\n };\n ListModel.prototype.focusPrevVisibleItem = function () {\n if (!this.focusedItem) {\n this.initFocusedItem();\n }\n else {\n var items = this.visibleItems;\n var currentFocusedItemIndex = items.indexOf(this.focusedItem);\n var prevItem = items[currentFocusedItemIndex - 1];\n if (prevItem) {\n this.focusedItem = prevItem;\n }\n else {\n this.focusLastVisibleItem();\n }\n }\n };\n ListModel.prototype.selectFocusedItem = function () {\n !!this.focusedItem && this.onItemClick(this.focusedItem);\n };\n ListModel.prototype.initListContainerHtmlElement = function (htmlElement) {\n this.listContainerHtmlElement = htmlElement;\n };\n ListModel.prototype.onLastItemRended = function (item) {\n if (this.isAllDataLoaded)\n return;\n if (item === this.actions[this.actions.length - 1] && !!this.listContainerHtmlElement) {\n this.hasVerticalScroller = _element_helper__WEBPACK_IMPORTED_MODULE_4__[\"ElementHelper\"].hasVerticalScroller(this.scrollableContainer);\n }\n };\n ListModel.prototype.scrollToFocusedItem = function () {\n this.scrollToItem(this.getDefaultCssClasses().itemFocused);\n };\n ListModel.prototype.scrollToSelectedItem = function () {\n this.scrollToItem(this.getDefaultCssClasses().itemSelected, 110);\n };\n ListModel.prototype.addScrollEventListener = function (handler) {\n if (!!handler) {\n this.scrollHandler = handler;\n }\n if (!!this.scrollHandler) {\n this.scrollableContainer.addEventListener(\"scroll\", this.scrollHandler);\n }\n };\n ListModel.prototype.removeScrollEventListener = function () {\n if (!!this.scrollHandler) {\n this.scrollableContainer.removeEventListener(\"scroll\", this.scrollHandler);\n }\n };\n ListModel.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n if (!!this.loadingIndicatorValue) {\n this.loadingIndicatorValue.dispose();\n }\n this.listContainerHtmlElement = undefined;\n };\n ListModel.INDENT = 16;\n ListModel.MINELEMENTCOUNT = 10;\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({\n defaultValue: true,\n onSet: function (newValue, target) {\n target.onSet();\n }\n })\n ], ListModel.prototype, \"searchEnabled\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ListModel.prototype, \"showFilter\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ListModel.prototype, \"forceShowFilter\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ListModel.prototype, \"isExpanded\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({})\n ], ListModel.prototype, \"selectedItem\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], ListModel.prototype, \"focusedItem\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({\n onSet: function (_, target) {\n target.onFilterStringChanged(target.filterString);\n }\n })\n ], ListModel.prototype, \"filterString\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ListModel.prototype, \"hasVerticalScroller\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: true })\n ], ListModel.prototype, \"isAllDataLoaded\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ListModel.prototype, \"showSearchClearButton\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: true })\n ], ListModel.prototype, \"renderElements\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ListModel.prototype, \"textWrapEnabled\", void 0);\n return ListModel;\n}(_actions_container__WEBPACK_IMPORTED_MODULE_1__[\"ActionContainer\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/localizablestring.ts\":\n/*!**********************************!*\\\n !*** ./src/localizablestring.ts ***!\n \\**********************************/\n/*! exports provided: LocalizableString, LocalizableStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LocalizableString\", function() { return LocalizableString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LocalizableStrings\", function() { return LocalizableStrings; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _survey_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./survey-element */ \"./src/survey-element.ts\");\n\n\n\n\n\n\n/**\n * The class represents the string that supports multi-languages and markdown.\n * It uses in all objects where support for multi-languages and markdown is required.\n */\nvar LocalizableString = /** @class */ (function () {\n function LocalizableString(owner, useMarkdown, name) {\n if (useMarkdown === void 0) { useMarkdown = false; }\n var _a;\n this.owner = owner;\n this.useMarkdown = useMarkdown;\n this.name = name;\n this.values = {};\n this.htmlValues = {};\n this._allowLineBreaks = false;\n this.onStringChanged = new _base__WEBPACK_IMPORTED_MODULE_3__[\"EventBase\"]();\n if (owner instanceof _survey_element__WEBPACK_IMPORTED_MODULE_5__[\"SurveyElementCore\"]) {\n this._allowLineBreaks = ((_a = _jsonobject__WEBPACK_IMPORTED_MODULE_4__[\"Serializer\"].findProperty(owner.getType(), name)) === null || _a === void 0 ? void 0 : _a.type) == \"text\";\n }\n this.onCreating();\n }\n Object.defineProperty(LocalizableString, \"defaultLocale\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName;\n },\n set: function (val) {\n _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"localizationName\", {\n get: function () {\n return this._localizationName;\n },\n set: function (val) {\n if (this._localizationName != val) {\n this._localizationName = val;\n this.strChanged();\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"allowLineBreaks\", {\n get: function () {\n return this._allowLineBreaks;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.getIsMultiple = function () { return false; };\n Object.defineProperty(LocalizableString.prototype, \"locale\", {\n get: function () {\n if (this.owner && this.owner.getLocale) {\n var res = this.owner.getLocale();\n if (!!res || !this.sharedData)\n return res;\n }\n if (!!this.sharedData)\n return this.sharedData.locale;\n return \"\";\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.strChanged = function () {\n this.searchableText = undefined;\n if (this.renderedText === undefined)\n return;\n this.calculatedTextValue = this.calcText();\n if (this.renderedText !== this.calculatedTextValue) {\n this.renderedText = undefined;\n this.calculatedTextValue = undefined;\n }\n this.htmlValues = {};\n this.onChanged();\n this.onStringChanged.fire(this, {});\n };\n Object.defineProperty(LocalizableString.prototype, \"text\", {\n get: function () {\n return this.pureText;\n },\n set: function (value) {\n this.setLocaleText(this.locale, value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"calculatedText\", {\n get: function () {\n this.renderedText =\n this.calculatedTextValue !== undefined\n ? this.calculatedTextValue\n : this.calcText();\n this.calculatedTextValue = undefined;\n return this.renderedText;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.calcText = function () {\n var res = this.pureText;\n if (res &&\n this.owner &&\n this.owner.getProcessedText &&\n res.indexOf(\"{\") > -1) {\n res = this.owner.getProcessedText(res);\n }\n if (this.onGetTextCallback)\n res = this.onGetTextCallback(res);\n return res;\n };\n Object.defineProperty(LocalizableString.prototype, \"pureText\", {\n get: function () {\n var loc = this.locale;\n if (!loc)\n loc = this.defaultLoc;\n var res = this.getValue(loc);\n if (this.isValueEmpty(res) && loc === this.defaultLoc) {\n res = this.getValue(_surveyStrings__WEBPACK_IMPORTED_MODULE_1__[\"surveyLocalization\"].defaultLocale);\n }\n if (this.isValueEmpty(res)) {\n var dialect = this.getRootDialect(loc);\n if (!!dialect) {\n res = this.getValue(dialect);\n }\n }\n if (this.isValueEmpty(res) && loc !== this.defaultLoc) {\n res = this.getValue(this.defaultLoc);\n }\n if (this.isValueEmpty(res) && !!this.getLocalizationName()) {\n res = this.getLocalizationStr();\n if (!!this.onGetLocalizationTextCallback) {\n res = this.onGetLocalizationTextCallback(res);\n }\n }\n if (!res)\n res = this.defaultValue || \"\";\n return res;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.getRootDialect = function (loc) {\n if (!loc)\n return loc;\n var index = loc.indexOf(\"-\");\n return index > -1 ? loc.substring(0, index) : \"\";\n };\n LocalizableString.prototype.getLocalizationName = function () {\n return !!this.sharedData ? this.sharedData.localizationName : this.localizationName;\n };\n LocalizableString.prototype.getLocalizationStr = function () {\n var name = this.getLocalizationName();\n return !!name ? _surveyStrings__WEBPACK_IMPORTED_MODULE_1__[\"surveyLocalization\"].getString(name, this.locale) : \"\";\n };\n Object.defineProperty(LocalizableString.prototype, \"hasHtml\", {\n get: function () {\n return this.hasHtmlValue();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"html\", {\n get: function () {\n if (!this.hasHtml)\n return \"\";\n return this.getHtmlValue();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"isEmpty\", {\n get: function () {\n return this.getValuesKeys().length == 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"textOrHtml\", {\n get: function () {\n return this.hasHtml ? this.getHtmlValue() : this.calculatedText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"renderedHtml\", {\n get: function () {\n return this.textOrHtml;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.getLocaleText = function (loc) {\n var res = this.getLocaleTextCore(loc);\n return res ? res : \"\";\n };\n LocalizableString.prototype.getLocaleTextCore = function (loc) {\n if (!loc)\n loc = this.defaultLoc;\n return this.getValue(loc);\n };\n LocalizableString.prototype.isLocaleTextEqualsWithDefault = function (loc, val) {\n var res = this.getLocaleTextCore(loc);\n if (res === val)\n return true;\n return this.isValueEmpty(res) && this.isValueEmpty(val);\n };\n LocalizableString.prototype.clear = function () {\n this.setJson(undefined);\n };\n LocalizableString.prototype.clearLocale = function (loc) {\n this.setLocaleText(loc, undefined);\n };\n LocalizableString.prototype.setLocaleText = function (loc, value) {\n loc = this.getValueLoc(loc);\n if (!this.storeDefaultText && this.isLocaleTextEqualsWithDefault(loc, value)) {\n if (!this.isValueEmpty(value) || !!loc && loc !== this.defaultLoc)\n return;\n var dl = _surveyStrings__WEBPACK_IMPORTED_MODULE_1__[\"surveyLocalization\"].defaultLocale;\n var oldValue_1 = this.getValue(dl);\n if (!!dl && !this.isValueEmpty(oldValue_1)) {\n this.setValue(dl, value);\n this.fireStrChanged(dl, oldValue_1);\n }\n return;\n }\n if (!_settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.storeDuplicatedTranslations &&\n !this.isValueEmpty(value) && loc && loc != this.defaultLoc &&\n !this.getValue(loc) &&\n value == this.getLocaleText(this.defaultLoc))\n return;\n var curLoc = this.curLocale;\n if (!loc)\n loc = this.defaultLoc;\n var oldValue = this.onStrChanged && loc === curLoc ? this.pureText : undefined;\n delete this.htmlValues[loc];\n if (this.isValueEmpty(value)) {\n this.deleteValue(loc);\n }\n else {\n if (typeof value === \"string\") {\n if (this.canRemoveLocValue(loc, value)) {\n this.setLocaleText(loc, null);\n }\n else {\n this.setValue(loc, value);\n if (loc == this.defaultLoc) {\n this.deleteValuesEqualsToDefault(value);\n }\n }\n }\n }\n this.fireStrChanged(loc, oldValue);\n };\n LocalizableString.prototype.isValueEmpty = function (val) {\n if (val === undefined || val === null)\n return true;\n if (this.localizationName)\n return false;\n return val === \"\";\n };\n Object.defineProperty(LocalizableString.prototype, \"curLocale\", {\n get: function () {\n return !!this.locale ? this.locale : this.defaultLoc;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.canRemoveLocValue = function (loc, val) {\n if (_settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.storeDuplicatedTranslations)\n return false;\n if (loc === this.defaultLoc)\n return false;\n var dialect = this.getRootDialect(loc);\n if (!!dialect) {\n var dialectVal = this.getLocaleText(dialect);\n if (!!dialectVal)\n return dialectVal == val;\n return this.canRemoveLocValue(dialect, val);\n }\n else {\n return val == this.getLocaleText(this.defaultLoc);\n }\n };\n LocalizableString.prototype.fireStrChanged = function (loc, oldValue) {\n this.strChanged();\n if (!this.onStrChanged)\n return;\n var value = this.pureText;\n if (loc !== this.curLocale || oldValue !== value) {\n this.onStrChanged(oldValue, value);\n }\n };\n LocalizableString.prototype.hasNonDefaultText = function () {\n var keys = this.getValuesKeys();\n if (keys.length == 0)\n return false;\n return keys.length > 1 || keys[0] != this.defaultLoc;\n };\n LocalizableString.prototype.getLocales = function () {\n var keys = this.getValuesKeys();\n if (keys.length == 0)\n return [];\n return keys;\n };\n LocalizableString.prototype.getJson = function () {\n if (!!this.sharedData)\n return this.sharedData.getJson();\n var keys = this.getValuesKeys();\n if (keys.length == 0)\n return null;\n if (keys.length == 1 &&\n keys[0] == _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName &&\n !_settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].serialization.localizableStringSerializeAsObject)\n return this.values[keys[0]];\n var res = {};\n for (var key in this.values) {\n res[key] = this.values[key];\n }\n return res;\n };\n LocalizableString.prototype.setJson = function (value) {\n if (!!this.sharedData) {\n this.sharedData.setJson(value);\n return;\n }\n this.values = {};\n this.htmlValues = {};\n if (value === null || value === undefined)\n return;\n if (typeof value === \"string\") {\n this.setLocaleText(null, value);\n }\n else {\n for (var key in value) {\n this.setLocaleText(key, value[key]);\n }\n }\n this.strChanged();\n };\n Object.defineProperty(LocalizableString.prototype, \"renderAs\", {\n get: function () {\n if (!this.owner || typeof this.owner.getRenderer !== \"function\") {\n return LocalizableString.defaultRenderer;\n }\n return this.owner.getRenderer(this.name) || LocalizableString.defaultRenderer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"renderAsData\", {\n get: function () {\n if (!this.owner || typeof this.owner.getRendererContext !== \"function\") {\n return this;\n }\n return this.owner.getRendererContext(this) || this;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.equals = function (obj) {\n if (!!this.sharedData)\n return this.sharedData.equals(obj);\n if (!obj || !obj.values)\n return false;\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isTwoValueEquals(this.values, obj.values, false, true, false);\n };\n LocalizableString.prototype.setFindText = function (text) {\n if (this.searchText == text)\n return;\n this.searchText = text;\n if (!this.searchableText) {\n var textOrHtml = this.textOrHtml;\n this.searchableText = !!textOrHtml ? textOrHtml.toLowerCase() : \"\";\n }\n var str = this.searchableText;\n var index = !!str && !!text ? str.indexOf(text) : undefined;\n if (index < 0)\n index = undefined;\n if (index != undefined || this.searchIndex != index) {\n this.searchIndex = index;\n if (!!this.onSearchChanged) {\n this.onSearchChanged();\n }\n }\n return this.searchIndex != undefined;\n };\n LocalizableString.prototype.onChanged = function () { };\n LocalizableString.prototype.onCreating = function () { };\n LocalizableString.prototype.hasHtmlValue = function () {\n if (!this.owner || !this.useMarkdown)\n return false;\n var loc = this.locale;\n if (!loc)\n loc = this.defaultLoc;\n if (this.htmlValues[loc] !== undefined)\n return !!this.htmlValues[loc];\n var renderedText = this.calculatedText;\n if (!renderedText) {\n this.setHtmlValue(loc, \"\");\n return false;\n }\n if (!!this.getLocalizationName() && renderedText === this.getLocalizationStr()) {\n this.setHtmlValue(loc, \"\");\n return false;\n }\n var res = this.owner.getMarkdownHtml(renderedText, this.name);\n this.setHtmlValue(loc, res);\n return !!res;\n };\n LocalizableString.prototype.setHtmlValue = function (loc, val) {\n this.htmlValues[loc] = val;\n };\n LocalizableString.prototype.getHtmlValue = function () {\n var loc = this.locale;\n if (!loc)\n loc = this.defaultLoc;\n return this.htmlValues[loc];\n };\n LocalizableString.prototype.deleteValuesEqualsToDefault = function (defaultValue) {\n if (_settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.storeDuplicatedTranslations)\n return;\n var keys = this.getValuesKeys();\n for (var i = 0; i < keys.length; i++) {\n if (keys[i] == this.defaultLoc)\n continue;\n if (this.getValue(keys[i]) == defaultValue) {\n this.deleteValue(keys[i]);\n }\n }\n };\n LocalizableString.prototype.getValue = function (loc) {\n if (!!this.sharedData)\n return this.sharedData.getValue(loc);\n return this.values[this.getValueLoc(loc)];\n };\n LocalizableString.prototype.setValue = function (loc, value) {\n if (!!this.sharedData)\n this.sharedData.setValue(loc, value);\n else\n this.values[this.getValueLoc(loc)] = value;\n };\n LocalizableString.prototype.deleteValue = function (loc) {\n if (!!this.sharedData)\n this.sharedData.deleteValue(loc);\n else\n delete this.values[this.getValueLoc(loc)];\n };\n LocalizableString.prototype.getValueLoc = function (loc) {\n if (this.disableLocalization)\n return _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName;\n return loc;\n };\n LocalizableString.prototype.getValuesKeys = function () {\n if (!!this.sharedData)\n return this.sharedData.getValuesKeys();\n return Object.keys(this.values);\n };\n Object.defineProperty(LocalizableString.prototype, \"defaultLoc\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.SerializeAsObject = false;\n LocalizableString.defaultRenderer = \"sv-string-viewer\";\n LocalizableString.editableRenderer = \"sv-string-editor\";\n return LocalizableString;\n}());\n\n/**\n * The class represents the list of strings that supports multi-languages.\n */\nvar LocalizableStrings = /** @class */ (function () {\n function LocalizableStrings(owner) {\n this.owner = owner;\n this.values = {};\n }\n LocalizableStrings.prototype.getIsMultiple = function () { return true; };\n Object.defineProperty(LocalizableStrings.prototype, \"locale\", {\n get: function () {\n return this.owner && this.owner.getLocale ? this.owner.getLocale() : \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableStrings.prototype, \"value\", {\n get: function () {\n return this.getValue(\"\");\n },\n set: function (val) {\n this.setValue(\"\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableStrings.prototype, \"text\", {\n get: function () {\n return Array.isArray(this.value) ? this.value.join(\"\\n\") : \"\";\n },\n set: function (val) {\n this.value = !!val ? val.split(\"\\n\") : [];\n },\n enumerable: false,\n configurable: true\n });\n LocalizableStrings.prototype.getLocaleText = function (loc) {\n var res = this.getValueCore(loc, !loc || loc === this.locale);\n if (!res || !Array.isArray(res) || res.length == 0)\n return \"\";\n return res.join(\"\\n\");\n };\n LocalizableStrings.prototype.setLocaleText = function (loc, newValue) {\n var val = !!newValue ? newValue.split(\"\\n\") : null;\n this.setValue(loc, val);\n };\n LocalizableStrings.prototype.getValue = function (loc) {\n return this.getValueCore(loc);\n };\n LocalizableStrings.prototype.getValueCore = function (loc, useDefault) {\n if (useDefault === void 0) { useDefault = true; }\n loc = this.getLocale(loc);\n if (this.values[loc])\n return this.values[loc];\n if (useDefault) {\n var defLoc = _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName;\n if (loc !== defLoc && this.values[defLoc])\n return this.values[defLoc];\n }\n return [];\n };\n LocalizableStrings.prototype.setValue = function (loc, val) {\n loc = this.getLocale(loc);\n var oldValue = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].createCopy(this.values);\n if (!val || val.length == 0) {\n delete this.values[loc];\n }\n else {\n this.values[loc] = val;\n }\n if (!!this.onValueChanged) {\n this.onValueChanged(oldValue, this.values);\n }\n };\n LocalizableStrings.prototype.hasValue = function (loc) {\n if (loc === void 0) { loc = \"\"; }\n return !this.isEmpty && this.getValue(loc).length > 0;\n };\n Object.defineProperty(LocalizableStrings.prototype, \"isEmpty\", {\n get: function () {\n return this.getValuesKeys().length == 0;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableStrings.prototype.getLocale = function (loc) {\n if (!!loc)\n return loc;\n loc = this.locale;\n return !!loc ? loc : _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName;\n };\n LocalizableStrings.prototype.getLocales = function () {\n var keys = this.getValuesKeys();\n if (keys.length == 0)\n return [];\n return keys;\n };\n LocalizableStrings.prototype.getJson = function () {\n var keys = this.getValuesKeys();\n if (keys.length == 0)\n return null;\n if (keys.length == 1 &&\n keys[0] == _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName &&\n !_settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].serialization.localizableStringSerializeAsObject)\n return this.values[keys[0]];\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].createCopy(this.values);\n };\n LocalizableStrings.prototype.setJson = function (value) {\n this.values = {};\n if (!value)\n return;\n if (Array.isArray(value)) {\n this.setValue(null, value);\n }\n else {\n for (var key in value) {\n this.setValue(key, value[key]);\n }\n }\n };\n LocalizableStrings.prototype.getValuesKeys = function () {\n return Object.keys(this.values);\n };\n return LocalizableStrings;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/localization/arabic.ts\":\n/*!************************************!*\\\n !*** ./src/localization/arabic.ts ***!\n \\************************************/\n/*! exports provided: arabicSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"arabicSurveyStrings\", function() { return arabicSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar arabicSurveyStrings = {\n pagePrevText: \"السابق\",\n pageNextText: \"التالي\",\n completeText: \"إرسال البيانات\",\n previewText: \"معاينة\",\n editText: \"تعديل\",\n startSurveyText: \"بداية\",\n otherItemText: \"نص آخر\",\n noneItemText: \"لا شيء\",\n refuseItemText: \"رفض الإجابة\",\n dontKnowItemText: \"لا أعرف\",\n selectAllItemText: \"اختر الكل\",\n progressText: \"{1} صفحة {0} من\",\n indexText: \"{0} من {1}\",\n panelDynamicProgressText: \"سجل {0} من {1}\",\n panelDynamicTabTextFormat: \"لوحة {بانل إندكس}\",\n questionsProgressText: \"تمت الإجابة على أسئلة {0} / {1}\",\n emptySurvey: \"لا توجد صفحة مرئية أو سؤال في النموذج\",\n completingSurvey: \"شكرا لكم لاستكمال النموذج!\",\n completingSurveyBefore: \"تظهر سجلاتنا أنك قد أكملت هذا الاستطلاع بالفعل.\",\n loadingSurvey: \"...يتم تحميل النموذج\",\n placeholder: \"...اختر\",\n ratingOptionsCaption: \"اختار...\",\n value: \"القيمة\",\n requiredError: \".يرجى الإجابة على السؤال\",\n requiredErrorInPanel: \"الرجاء الإجابة على سؤال واحد على الأقل.\",\n requiredInAllRowsError: \"يرجى الإجابة على الأسئلة في جميع الصفوف\",\n eachRowUniqueError: \"يجب أن يكون لكل صف قيمة فريدة.\",\n numericError: \"يجب أن تكون القيمة رقمية.\",\n minError: \"يجب ألا تقل القيمة عن {0}\",\n maxError: \"يجب ألا تزيد القيمة عن {0}\",\n textMinLength: \"الرجاء إدخال ما لا يقل عن {0} حروف\",\n textMaxLength: \"الرجاء إدخال أقل من {0} حروف\",\n textMinMaxLength: \"يرجى إدخال أكثر من {0} وأقل من {1} حروف\",\n minRowCountError: \"يرجى ملء ما لا يقل عن {0} الصفوف\",\n minSelectError: \"يرجى تحديد ما لا يقل عن {0} المتغيرات\",\n maxSelectError: \"يرجى تحديد ما لا يزيد عن {0} المتغيرات\",\n numericMinMax: \"و'{0}' يجب أن تكون مساوية أو أكثر من {1} وتساوي أو أقل من {2}ا\",\n numericMin: \"و'{0}' يجب أن تكون مساوية أو أكثر من {1}ا\",\n numericMax: \"و'{0}' يجب أن تكون مساوية أو أقل من {1}ا\",\n invalidEmail: \"الرجاء إدخال بريد الكتروني صحيح\",\n invalidExpression: \"يجب أن يعرض التعبير: {0} 'صواب'.\",\n urlRequestError: \"طلب إرجاع خطأ '{0}'. {1}ا\",\n urlGetChoicesError: \"عاد طلب البيانات فارغ أو 'المسار' غير صحيح \",\n exceedMaxSize: \"ينبغي ألا يتجاوز حجم الملف {0}ا\",\n noUploadFilesHandler: \"لا يمكن تحميل الملفات. يرجى إضافة معالج لحدث \\\"onUploadFiles\\\".\",\n otherRequiredError: \"الرجاء إدخال قيمة أخرى\",\n uploadingFile: \"تحميل الملف الخاص بك. يرجى الانتظار عدة ثوان والمحاولة لاحقًا\",\n loadingFile: \"جار التحميل...\",\n chooseFile: \"اختر الملفات...\",\n noFileChosen: \"لم تقم باختيار ملف\",\n filePlaceholder: \"اسحب ملفا وأفلته هنا أو انقر فوق الزر أدناه واختر ملفا لتحميله.\",\n confirmDelete: \"هل تريد حذف السجل؟\",\n keyDuplicationError: \"يجب أن تكون هذه القيمة فريدة.\",\n addColumn: \"أضف العمود\",\n addRow: \"اضافة صف\",\n removeRow: \"إزالة صف\",\n emptyRowsText: \"لا توجد صفوف.\",\n addPanel: \"اضف جديد\",\n removePanel: \"إزالة\",\n showDetails: \"اظهر التفاصيل\",\n hideDetails: \"إخفاء التفاصيل\",\n choices_Item: \"بند\",\n matrix_column: \"عمود\",\n matrix_row: \"صف\",\n multipletext_itemname: \"نص\",\n savingData: \"يتم حفظ النتائج على الخادم ...\",\n savingDataError: \"حدث خطأ ولم نتمكن من حفظ النتائج.\",\n savingDataSuccess: \"تم حفظ النتائج بنجاح!\",\n saveAgainButton: \"حاول مجددا\",\n timerMin: \"دقيقة\",\n timerSec: \"ثانية\",\n timerSpentAll: \"لقد أنفقت {0} على هذه الصفحة و {1} إجمالاً.\",\n timerSpentPage: \"لقد أنفقت {0} على هذه الصفحة.\",\n timerSpentSurvey: \"لقد أنفقت {0} إجمالاً.\",\n timerLimitAll: \"لقد أنفقت {0} من {1} في هذه الصفحة و {2} من إجمالي {3}.\",\n timerLimitPage: \"لقد أنفقت {0} من {1} في هذه الصفحة.\",\n timerLimitSurvey: \"لقد أنفقت {0} من إجمالي {1}.\",\n clearCaption: \"واضح\",\n signaturePlaceHolder: \"وقع هنا\",\n chooseFileCaption: \"اختر ملف\",\n takePhotoCaption: \"التقاط صورة\",\n photoPlaceholder: \"انقر فوق الزر أدناه لالتقاط صورة باستخدام الكاميرا.\",\n fileOrPhotoPlaceholder: \"قم بسحب ملف وإفلاته أو تحديده لتحميله أو التقاط صورة باستخدام الكاميرا.\",\n replaceFileCaption: \"استبدال الملف\",\n removeFileCaption: \"قم بإزالة هذا الملف\",\n booleanCheckedLabel: \"نعم\",\n booleanUncheckedLabel: \"لا\",\n confirmRemoveFile: \"هل أنت متأكد أنك تريد إزالة هذا الملف: {0}؟\",\n confirmRemoveAllFiles: \"هل أنت متأكد أنك تريد إزالة كافة الملفات؟\",\n questionTitlePatternText: \"عنوان السؤال\",\n modalCancelButtonText: \"إلغاء الأمر\",\n modalApplyButtonText: \"طبق\",\n filterStringPlaceholder: \"اكتب للبحث...\",\n emptyMessage: \"لا توجد بيانات للعرض\",\n noEntriesText: \"لا توجد إدخالات حتى الآن.\\nانقر فوق الزر أدناه لإضافة إدخال جديد.\",\n noEntriesReadonlyText: \"لا توجد إدخالات.\",\n more: \"أكثر\",\n tagboxDoneButtonCaption: \"موافق\",\n selectToRankEmptyRankedAreaText: \"يتم ترتيب جميع الخيارات\",\n selectToRankEmptyUnrankedAreaText: \"قم بسحب وإسقاط الخيارات هنا لترتيبها\",\n ok: \"موافق\",\n cancel: \"إلغاء الأمر\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"ar\"] = arabicSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"ar\"] = \"العربية\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} من {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"لوحة {بانل إندكس}\"\n// ratingOptionsCaption: \"Select...\" => \"اختار...\"\n// minError: \"The value should not be less than {0}\" => \"يجب ألا تقل القيمة عن {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"يجب ألا تزيد القيمة عن {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"اسحب ملفا وأفلته هنا أو انقر فوق الزر أدناه واختر ملفا لتحميله.\"\n// emptyRowsText: \"There are no rows.\" => \"لا توجد صفوف.\"\n// multipletext_itemname: \"text\" => \"نص\"\n// signaturePlaceHolder: \"Sign here\" => \"وقع هنا\"\n// modalCancelButtonText: \"Cancel\" => \"إلغاء الأمر\"\n// modalApplyButtonText: \"Apply\" => \"طبق\"\n// filterStringPlaceholder: \"Type to search...\" => \"اكتب للبحث...\"\n// emptyMessage: \"No data to display\" => \"لا توجد بيانات للعرض\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"لا توجد إدخالات حتى الآن.\\nانقر فوق الزر أدناه لإضافة إدخال جديد.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"لا توجد إدخالات.\"\n// more: \"More\" => \"أكثر\"\n// tagboxDoneButtonCaption: \"OK\" => \"موافق\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"يتم ترتيب جميع الخيارات\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"قم بسحب وإسقاط الخيارات هنا لترتيبها\"// takePhotoCaption: \"Take Photo\" => \"التقاط صورة\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"انقر فوق الزر أدناه لالتقاط صورة باستخدام الكاميرا.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"قم بسحب ملف وإفلاته أو تحديده لتحميله أو التقاط صورة باستخدام الكاميرا.\"\n// replaceFileCaption: \"Replace file\" => \"استبدال الملف\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"يجب أن يكون لكل صف قيمة فريدة.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"لا يمكن تحميل الملفات. يرجى إضافة معالج لحدث \\\"onUploadFiles\\\".\"\n// showDetails: \"Show Details\" => \"اظهر التفاصيل\"\n// hideDetails: \"Hide Details\" => \"إخفاء التفاصيل\"\n// ok: \"OK\" => \"موافق\"\n// cancel: \"Cancel\" => \"إلغاء الأمر\"\n// refuseItemText: \"Refuse to answer\" => \"رفض الإجابة\"\n// dontKnowItemText: \"Don't know\" => \"لا أعرف\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/basque.ts\":\n/*!************************************!*\\\n !*** ./src/localization/basque.ts ***!\n \\************************************/\n/*! exports provided: basqueSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"basqueSurveyStrings\", function() { return basqueSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar basqueSurveyStrings = {\n pagePrevText: \"Aurrekoa\",\n pageNextText: \"Hurrengoa\",\n completeText: \"Bukatu\",\n previewText: \"Aurrebista\",\n editText: \"Editatu\",\n startSurveyText: \"Hasi\",\n otherItemText: \"Beste bat (zehaztu)\",\n noneItemText: \"Bat ere ez\",\n refuseItemText: \"Erantzuteari uko egin\",\n dontKnowItemText: \"Ez dakit\",\n selectAllItemText: \"Guztia hautatu\",\n progressText: \"{1}-(e)tik {0} orrialde\",\n indexText: \"{1} {0}\",\n panelDynamicProgressText: \"{0} errigistro {1}-(e)tik\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Erantzundako galderak {0}/{1}\",\n emptySurvey: \"Ez dago orrialde bistaragarririk edo ez dago galderarik.\",\n completingSurvey: \"Eskerrik asko galdetegia erantzuteagatik!\",\n completingSurveyBefore: \"Gure datuek diote dagoeneko galdetegia erantzun duzula.\",\n loadingSurvey: \"Galdetegia kargatzen...\",\n placeholder: \"Hautatu...\",\n ratingOptionsCaption: \"Aukeratu...\",\n value: \"balioa\",\n requiredError: \"Mesedez, galdera erantzun.\",\n requiredErrorInPanel: \"Mesedez, gutxienez galdera bat erantzun.\",\n requiredInAllRowsError: \"Mesedez, errenkadako galdera guztiak erantzun.\",\n eachRowUniqueError: \"Ilara bakoitzak balio bakarra izan behar du.\",\n numericError: \"Estimazioa zenbakizkoa izan behar du.\",\n minError: \"Balioa ez da {0} baino txikiagoa izan behar\",\n maxError: \"Balioa ez da {0} baino handiagoa izan behar\",\n textMinLength: \"Mesedez, gutxienez {0} karaktere erabili behar dira.\",\n textMaxLength: \"Mesedez, gehienez {0} karaktere erabili behar dira.\",\n textMinMaxLength: \"Mesedez, gehienez {0} eta gutxienez {1} karaktere erabili behar dira.\",\n minRowCountError: \"Mesedez, gutxienez {0} errenkada bete.\",\n minSelectError: \"Mesedez, gutxienez {0} aukera hautatu.\",\n maxSelectError: \"Mesedez, {0} aukera baino gehiago ez hautatu.\",\n numericMinMax: \"El '{0}' debe de ser igual o más de {1} y igual o menos de {2}\",\n numericMin: \"'{0}' {1} baino handiagoa edo berdin izan behar da\",\n numericMax: \"'{0}' {1} baino txikiago edo berdin izan behar da\",\n invalidEmail: \"Mesedez, baliozko emaila idatz ezazu.\",\n invalidExpression: \"{0} adierazpenak 'egiazkoa' itzuli beharko luke.\",\n urlRequestError: \"Eskaerak '{0}' errorea itzuli du. {1}\",\n urlGetChoicesError: \"La solicitud regresó vacío de data o la propiedad 'trayectoria' no es correcta\",\n exceedMaxSize: \"Fitxategiaren tamaina ez da {0} baino handiagoa izan behar.\",\n noUploadFilesHandler: \"Artxiboak ezin dira kargatu. Gaineratu kontrolatzaile bat 'onUploadFiles' ekitaldirako.\",\n otherRequiredError: \"Mesedez, beste estimazioa gehitu.\",\n uploadingFile: \"Zure fitxategia igotzen ari da. Mesedez, segundo batzuk itxaron eta saiatu berriro.\",\n loadingFile: \"Kargatzen...\",\n chooseFile: \"Fitxategia(k) hautatu...\",\n noFileChosen: \"Ez da inolako fitxategirik hautatu\",\n filePlaceholder: \"Arrastatu eta askatu artxibo bat hemen edo klik egin beheko botoian eta aukeratu artxibo bat kargatzeko.\",\n confirmDelete: \"¿Erregistroa borratu nahi al duzu?\",\n keyDuplicationError: \"Balio hau bakarra izan behar du.\",\n addColumn: \"Zutabe bat gehitu\",\n addRow: \"Errenkada bat gehitu\",\n removeRow: \"Errenkada bat kendu\",\n emptyRowsText: \"Ez dago errenkadarik.\",\n addPanel: \"Berria gehitu\",\n removePanel: \"Kendu\",\n showDetails: \"Xehetasunak erakutsi\",\n hideDetails: \"Xehetasunak ezkutatu\",\n choices_Item: \"artikulua\",\n matrix_column: \"Zutabea\",\n matrix_row: \"Errenkada\",\n multipletext_itemname: \"testua\",\n savingData: \"Erantzunak zerbitzarian gordetzen ari dira...\",\n savingDataError: \"Erroreren bat gertatu eta erantzunak ez dira zerbitzarian gorde ahal izan.\",\n savingDataSuccess: \"Erantzunak egoki gorde dira!\",\n saveAgainButton: \"Berriro saiatu.\",\n timerMin: \"min\",\n timerSec: \"seg\",\n timerSpentAll: \"{0} erabili duzu orrialde honetan eta orotara {1}.\",\n timerSpentPage: \"Zuk {0} erabili duzu.\",\n timerSpentSurvey: \"Orotara gastatu duzu.\",\n timerLimitAll: \"{0} gastatu duzu {1}-(e)tik orrialde honetan eta orotara {2} {3}-(e)tik.\",\n timerLimitPage: \"{0} gastatu duzu orrialde honetan {1}-(e)tik.\",\n timerLimitSurvey: \"Zuk orotara {0} gastatu duzu {1}-(e)tik.\",\n clearCaption: \"Hustu\",\n signaturePlaceHolder: \"Sinatu hemen\",\n chooseFileCaption: \"Fitxategia hautatu\",\n takePhotoCaption: \"Argazkia hartu\",\n photoPlaceholder: \"Egin klik beheko botoian, kamerarekin argazki bat hartzeko.\",\n fileOrPhotoPlaceholder: \"Arrastatu eta askatu artxibo bat kamerarekin argazki bat kargatzeko edo hartzeko.\",\n replaceFileCaption: \"Artxiboa ordeztu\",\n removeFileCaption: \"Fitxategi hau ezabatu\",\n booleanCheckedLabel: \"Bai\",\n booleanUncheckedLabel: \"Ez\",\n confirmRemoveFile: \"Ziur zaude hurrengo fitxategia ezabatu nahi duzula: {0}?\",\n confirmRemoveAllFiles: \"Ziur al zaude fitxategi guztiak ezabatu nahi dituzula?\",\n questionTitlePatternText: \"Galderaren izenburua\",\n modalCancelButtonText: \"Ezeztatu\",\n modalApplyButtonText: \"Ezarri\",\n filterStringPlaceholder: \"Idatzi bila...\",\n emptyMessage: \"Ez daturik erakusteko\",\n noEntriesText: \"Oraindik ez sarrerarik.\\nKlik beheko botoian klik egin sarrera berri bat eransteko.\",\n noEntriesReadonlyText: \"Ez sarrerarik.\",\n more: \"Gehiago\",\n tagboxDoneButtonCaption: \"Ados\",\n selectToRankEmptyRankedAreaText: \"Aukera guztiak sailkatuta daude\",\n selectToRankEmptyUnrankedAreaText: \"Arrastaka eta askatzen ditu hemen sailkatzeko\",\n ok: \"Ados\",\n cancel: \"Ezeztatu\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"eu\"] = basqueSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"eu\"] = \"Euskara\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{1} {0}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Aukeratu...\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Arrastatu eta askatu artxibo bat hemen edo klik egin beheko botoian eta aukeratu artxibo bat kargatzeko.\"\n// filterStringPlaceholder: \"Type to search...\" => \"Idatzi bila...\"\n// emptyMessage: \"No data to display\" => \"Ez daturik erakusteko\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Oraindik ez sarrerarik.\\nKlik beheko botoian klik egin sarrera berri bat eransteko.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Ez sarrerarik.\"\n// more: \"More\" => \"Gehiago\"\n// tagboxDoneButtonCaption: \"OK\" => \"Ados\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Aukera guztiak sailkatuta daude\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Arrastaka eta askatzen ditu hemen sailkatzeko\"// takePhotoCaption: \"Take Photo\" => \"Argazkia hartu\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Egin klik beheko botoian, kamerarekin argazki bat hartzeko.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Arrastatu eta askatu artxibo bat kamerarekin argazki bat kargatzeko edo hartzeko.\"\n// replaceFileCaption: \"Replace file\" => \"Artxiboa ordeztu\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Ilara bakoitzak balio bakarra izan behar du.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Artxiboak ezin dira kargatu. Gaineratu kontrolatzaile bat 'onUploadFiles' ekitaldirako.\"\n// showDetails: \"Show Details\" => \"Xehetasunak erakutsi\"\n// hideDetails: \"Hide Details\" => \"Xehetasunak ezkutatu\"\n// ok: \"OK\" => \"Ados\"\n// cancel: \"Cancel\" => \"Ezeztatu\"\n// refuseItemText: \"Refuse to answer\" => \"Erantzuteari uko egin\"\n// dontKnowItemText: \"Don't know\" => \"Ez dakit\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/bulgarian.ts\":\n/*!***************************************!*\\\n !*** ./src/localization/bulgarian.ts ***!\n \\***************************************/\n/*! exports provided: bulgarianStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bulgarianStrings\", function() { return bulgarianStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar bulgarianStrings = {\n pagePrevText: \"Назад\",\n pageNextText: \"Напред\",\n completeText: \"Край\",\n previewText: \"Визуализация\",\n editText: \"редактиране\",\n startSurveyText: \"Начало\",\n otherItemText: \"Друго (опишете)\",\n noneItemText: \"Нито един\",\n refuseItemText: \"Отказва да отговори\",\n dontKnowItemText: \"Не знам\",\n selectAllItemText: \"Всички\",\n progressText: \"стр. {0}, общо стр. {1}\",\n indexText: \"{0} на {1}\",\n panelDynamicProgressText: \"Запис {0} от {1}\",\n panelDynamicTabTextFormat: \"Панел {panelIndex}\",\n questionsProgressText: \"Отговорени на {0} / {1} въпроса\",\n emptySurvey: \"Анкетата не съдържа видими страници или въпроси.\",\n completingSurvey: \"Благодарим ви за участието в анкетата!\",\n completingSurveyBefore: \"Изглежда, че вие вече сте попълнили анкетата.\",\n loadingSurvey: \"Зареждане на анкетата...\",\n placeholder: \"Изберете...\",\n ratingOptionsCaption: \"Отбран...\",\n value: \"value\",\n requiredError: \"Моля, отговорете на следния въпрос.\",\n requiredErrorInPanel: \"Моля, отговорете поне на един от въпросите.\",\n requiredInAllRowsError: \"Моля, отговорете на въпросите на всички редове.\",\n eachRowUniqueError: \"Всеки ред трябва да има уникална стойност.\",\n numericError: \"Стойността следва да бъде число.\",\n minError: \"Стойността не трябва да бъде по-малка от {0}\",\n maxError: \"Стойността не трябва да бъде по-голяма от {0}\",\n textMinLength: \"Моля, използвайте поне {0} символа.\",\n textMaxLength: \"Моля, използвайте не повече от {0} символа.\",\n textMinMaxLength: \"Моля, използвайте повече от {0} и по-малко от {1} символа.\",\n minRowCountError: \"Моля, попълнете поне {0} реда.\",\n minSelectError: \"Моля, изберете поне {0} варианта.\",\n maxSelectError: \"Моля, изберете не повече от {0} варианта.\",\n numericMinMax: \"Стойността '{0}' следва да бъде равна или по-голяма от {1} и равна или по-малка от {2}\",\n numericMin: \"Стойността '{0}' следва да бъде равна или по-голяма от {1}\",\n numericMax: \"Стойността '{0}' следва да бъде равна или по-малка от {1}\",\n invalidEmail: \"Моля, въведете валиден адрес на електронна поща.\",\n invalidExpression: \"Изразът: {0} трябва да дава резултат 'true' (истина).\",\n urlRequestError: \"Заявката води до грешка '{0}'. {1}\",\n urlGetChoicesError: \"Заявката не връща данни или частта 'path' (път до търсения ресурс на сървъра) е неправилно зададена\",\n exceedMaxSize: \"Размерът на файла следва да не превишава {0}.\",\n noUploadFilesHandler: \"Файловете не могат да бъдат качени. Моля, добавете манипулатор за събитието \\\"onUploadFiles\\\".\",\n otherRequiredError: \"Моля, въведете другата стойност.\",\n uploadingFile: \"Вашит файл се зарежда на сървъра. Моля, изчакайте няколко секунди и тогава опитвайте отново.\",\n loadingFile: \"Зареждане...\",\n chooseFile: \"Изберете файл(ове)...\",\n noFileChosen: \"Няма избран файл\",\n filePlaceholder: \"Плъзнете и пуснете файл тук или щракнете върху бутона по-долу и изберете файл за качване.\",\n confirmDelete: \"Желаете ли да изтриете записа?\",\n keyDuplicationError: \"Стойността следва да бъде уникална.\",\n addColumn: \"Добавяне на колона\",\n addRow: \"Добавяне на ред\",\n removeRow: \"Премахване на ред\",\n emptyRowsText: \"Няма редове.\",\n addPanel: \"Добавяне на панел\",\n removePanel: \"Премахване на панел\",\n showDetails: \"Показване на подробни данни\",\n hideDetails: \"Скрий подробните данни\",\n choices_Item: \"елемент\",\n matrix_column: \"Колона\",\n matrix_row: \"Ред\",\n multipletext_itemname: \"Текст\",\n savingData: \"Резултатите се запазват на сървъра...\",\n savingDataError: \"Поради възникнала грешка резултатите не можаха да бъдат запазени.\",\n savingDataSuccess: \"Резултатите бяха запазени успешно!\",\n saveAgainButton: \"Нов опит\",\n timerMin: \"мин\",\n timerSec: \"сек\",\n timerSpentAll: \"Вие използвахте {0} на тази страница и общо {1}.\",\n timerSpentPage: \"Вие използвахте {0} на тази страница.\",\n timerSpentSurvey: \"Вие използвахте общо {0}.\",\n timerLimitAll: \"Вие изпозвахте {0} от {1} на тази страница и общо {2} от {3}.\",\n timerLimitPage: \"Вие използвахте {0} от {1} на тази страница.\",\n timerLimitSurvey: \"Вие използвахте общо {0} от {1}.\",\n clearCaption: \"Начално състояние\",\n signaturePlaceHolder: \"Подпишете тук\",\n chooseFileCaption: \"Изберете файл\",\n takePhotoCaption: \"Направете снимка\",\n photoPlaceholder: \"Кликнете върху бутона по-долу, за да направите снимка с помощта на камерата.\",\n fileOrPhotoPlaceholder: \"Плъзнете и пуснете или изберете файл за качване или правене на снимка с помощта на камерата.\",\n replaceFileCaption: \"Заместване на файл\",\n removeFileCaption: \"Премахване на файла\",\n booleanCheckedLabel: \"Да\",\n booleanUncheckedLabel: \"Не\",\n confirmRemoveFile: \"Наистина ли искате да премахнете този файл: {0}?\",\n confirmRemoveAllFiles: \"Наистина ли искате да премахнете всички файлове?\",\n questionTitlePatternText: \"Заглавие на въпроса\",\n modalCancelButtonText: \"Отмени\",\n modalApplyButtonText: \"Прилагам\",\n filterStringPlaceholder: \"Въведете за търсене...\",\n emptyMessage: \"Няма данни за показване\",\n noEntriesText: \"Все още няма записи.\\nЩракнете върху бутона по-долу, за да добавите нов запис.\",\n noEntriesReadonlyText: \"Няма записи.\",\n more: \"Още\",\n tagboxDoneButtonCaption: \"Добре\",\n selectToRankEmptyRankedAreaText: \"Всички възможности за избор са класирани\",\n selectToRankEmptyUnrankedAreaText: \"Плъзнете и пуснете опции тук, за да ги класирате\",\n ok: \"Добре\",\n cancel: \"Отмени\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"bg\"] = bulgarianStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"bg\"] = \"български\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} на {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Панел {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Отбран...\"\n// minError: \"The value should not be less than {0}\" => \"Стойността не трябва да бъде по-малка от {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Стойността не трябва да бъде по-голяма от {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Плъзнете и пуснете файл тук или щракнете върху бутона по-долу и изберете файл за качване.\"\n// emptyRowsText: \"There are no rows.\" => \"Няма редове.\"\n// multipletext_itemname: \"text\" => \"Текст\"\n// signaturePlaceHolder: \"Sign here\" => \"Подпишете тук\"\n// modalCancelButtonText: \"Cancel\" => \"Отмени\"\n// modalApplyButtonText: \"Apply\" => \"Прилагам\"\n// filterStringPlaceholder: \"Type to search...\" => \"Въведете за търсене...\"\n// emptyMessage: \"No data to display\" => \"Няма данни за показване\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Все още няма записи.\\nЩракнете върху бутона по-долу, за да добавите нов запис.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Няма записи.\"\n// more: \"More\" => \"Още\"\n// tagboxDoneButtonCaption: \"OK\" => \"Добре\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Всички възможности за избор са класирани\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Плъзнете и пуснете опции тук, за да ги класирате\"// takePhotoCaption: \"Take Photo\" => \"Направете снимка\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Кликнете върху бутона по-долу, за да направите снимка с помощта на камерата.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Плъзнете и пуснете или изберете файл за качване или правене на снимка с помощта на камерата.\"\n// replaceFileCaption: \"Replace file\" => \"Заместване на файл\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Всеки ред трябва да има уникална стойност.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Файловете не могат да бъдат качени. Моля, добавете манипулатор за събитието \\\"onUploadFiles\\\".\"\n// showDetails: \"Show Details\" => \"Показване на подробни данни\"\n// hideDetails: \"Hide Details\" => \"Скрий подробните данни\"\n// ok: \"OK\" => \"Добре\"\n// cancel: \"Cancel\" => \"Отмени\"\n// refuseItemText: \"Refuse to answer\" => \"Отказва да отговори\"\n// dontKnowItemText: \"Don't know\" => \"Не знам\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/catalan.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/catalan.ts ***!\n \\*************************************/\n/*! exports provided: catalanSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"catalanSurveyStrings\", function() { return catalanSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar catalanSurveyStrings = {\n pagePrevText: \"Anterior\",\n pageNextText: \"Següent\",\n completeText: \"Complet\",\n previewText: \"Preestrena\",\n editText: \"Editar\",\n startSurveyText: \"Començar\",\n otherItemText: \"Un altre (descrigui)\",\n noneItemText: \"Cap\",\n refuseItemText: \"Negar-se a respondre\",\n dontKnowItemText: \"No sé\",\n selectAllItemText: \"Selecciona-ho tot\",\n progressText: \"Pàgina {0} de {1}\",\n indexText: \"{0} de {1}\",\n panelDynamicProgressText: \"{0} de {1}\",\n panelDynamicTabTextFormat: \"Panell {panelIndex}\",\n questionsProgressText: \"Respostes {0}/{1} preguntes\",\n emptySurvey: \"No hi ha cap pàgina visible o pregunta a l'enquesta.\",\n completingSurvey: \"Gràcies per completar l'enquesta!\",\n completingSurveyBefore: \"Els nostres registres mostren que ja heu completat aquesta enquesta.\",\n loadingSurvey: \"L'enquesta s'està carregant ...\",\n placeholder: \"Selecciona ...\",\n ratingOptionsCaption: \"Seleccionar...\",\n value: \"valor\",\n requiredError: \"Si us plau contesti la pregunta.\",\n requiredErrorInPanel: \"Resposta necessària: respondre almenys una pregunta.\",\n requiredInAllRowsError: \"Si us plau contesti les preguntes de cada filera.\",\n eachRowUniqueError: \"Cada fila ha de tenir un valor únic.\",\n numericError: \"L'estimació ha de ser numèrica.\",\n minError: \"El valor no ha de ser inferior a {0}\",\n maxError: \"El valor no ha de ser superior a {0}\",\n textMinLength: \"Si us plau entre almenys {0} símbols.\",\n textMaxLength: \"Si us plau entre menys de {0} símbols.\",\n textMinMaxLength: \"Si us plau entre més de {0} i menys de {1} símbols.\",\n minRowCountError: \"Si us plau ompli almenys {0} fileres.\",\n minSelectError: \"Si us plau seleccioni almenys {0} variants.\",\n maxSelectError: \"Si us plau seleccioni no més de {0} variants.\",\n numericMinMax: \"El '{0}' deu ser igual o més de {1} i igual o menys de {2}\",\n numericMin: \"El '{0}' ha de ser igual o més de {1}\",\n numericMax: \"El '{0}' ha de ser igual o menys de {1}\",\n invalidEmail: \"Si us plau afegiu un correu electrònic vàlid.\",\n invalidExpression: \"L'expressió: {0} ha de tornar 'veritable'.\",\n urlRequestError: \"La sol·licitud va tornar error '{0}'. {1}\",\n urlGetChoicesError: \"La sol·licitud va tornar buida de dates o la propietat 'trajectòria' no és correcta\",\n exceedMaxSize: \"La mida de l'arxiu no pot excedir {0}.\",\n noUploadFilesHandler: \"No es poden carregar fitxers. Afegiu un controlador per a l'esdeveniment 'onUploadFiles'.\",\n otherRequiredError: \"Si us plau afegiu l'altra estimació.\",\n uploadingFile: \"El seu arxiu s'està pujant. Si us plau esperi uns segons i intenteu-ho de nou.\",\n loadingFile: \"Càrrega...\",\n chooseFile: \"Trieu fitxer(s)...\",\n noFileChosen: \"No s'ha triat cap fitxer\",\n filePlaceholder: \"Arrossegueu i deixeu anar un fitxer aquí o feu clic al botó següent i trieu un fitxer per carregar.\",\n confirmDelete: \"Vols eliminar el registre?\",\n keyDuplicationError: \"Aquest valor ha de ser únic.\",\n addColumn: \"Afegeix una columna\",\n addRow: \"Afegiu una filera\",\n removeRow: \"Eliminar una filera\",\n emptyRowsText: \"No hi ha files.\",\n addPanel: \"Afegeix un nou\",\n removePanel: \"Treure\",\n showDetails: \"Mostra els detalls\",\n hideDetails: \"Amaga els detalls\",\n choices_Item: \"ítem\",\n matrix_column: \"Columna\",\n matrix_row: \"Filera\",\n multipletext_itemname: \"SMS\",\n savingData: \"Els resultats s'estan guardant al servidor...\",\n savingDataError: \"S'ha produït un error i no hem pogut guardar els resultats.\",\n savingDataSuccess: \"Els resultats es van salvar amb èxit!\",\n saveAgainButton: \"Prova una altra vegada\",\n timerMin: \"min\",\n timerSec: \"Seg\",\n timerSpentAll: \"Heu passat {0} en aquesta pàgina i {1} en total.\",\n timerSpentPage: \"Has passat {0} en aquesta pàgina.\",\n timerSpentSurvey: \"Has gastat {0} en total.\",\n timerLimitAll: \"Heu passat {0} de {1} en aquesta pàgina i {2} de {3} en total.\",\n timerLimitPage: \"Has passat {0} de {1} en aquesta pàgina.\",\n timerLimitSurvey: \"Has gastat {0} d'{1} en total.\",\n clearCaption: \"Clar\",\n signaturePlaceHolder: \"Inscriu-te aquí\",\n chooseFileCaption: \"Tria un fitxer\",\n takePhotoCaption: \"Fer foto\",\n photoPlaceholder: \"Feu clic al botó següent per fer una foto amb la càmera.\",\n fileOrPhotoPlaceholder: \"Arrossegueu i deixeu anar o seleccioneu un fitxer per penjar-lo o fer-ne una foto amb la càmera.\",\n replaceFileCaption: \"Substitueix el fitxer\",\n removeFileCaption: \"Suprimeix aquest fitxer\",\n booleanCheckedLabel: \"Sí\",\n booleanUncheckedLabel: \"No\",\n confirmRemoveFile: \"Esteu segur que voleu eliminar aquest fitxer: {0}?\",\n confirmRemoveAllFiles: \"Esteu segur que voleu eliminar tots els fitxers?\",\n questionTitlePatternText: \"Títol de la pregunta\",\n modalCancelButtonText: \"Cancel·lar\",\n modalApplyButtonText: \"Aplicar\",\n filterStringPlaceholder: \"Escriviu per cercar...\",\n emptyMessage: \"No hi ha dades per mostrar\",\n noEntriesText: \"Encara no hi ha entrades.\\nFeu clic al botó següent per afegir una entrada nova.\",\n noEntriesReadonlyText: \"No hi ha entrades.\",\n more: \"Més\",\n tagboxDoneButtonCaption: \"D'ACORD\",\n selectToRankEmptyRankedAreaText: \"Totes les opcions estan classificades\",\n selectToRankEmptyUnrankedAreaText: \"Arrossegueu i deixeu anar les opcions aquí per classificar-les\",\n ok: \"D'ACORD\",\n cancel: \"Cancel·lar\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"ca\"] = catalanSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"ca\"] = \"català\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// previewText: \"Preview\" => \"Preestrena\"\n// editText: \"Edit\" => \"Editar\"\n// startSurveyText: \"Start\" => \"Començar\"\n// noneItemText: \"None\" => \"Cap\"\n// selectAllItemText: \"Select All\" => \"Selecciona-ho tot\"\n// indexText: \"{0} of {1}\" => \"{0} de {1}\"\n// panelDynamicProgressText: \"{0} of {1}\" => \"{0} de {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panell {panelIndex}\"\n// questionsProgressText: \"Answered {0}/{1} questions\" => \"Respostes {0}/{1} preguntes\"\n// completingSurveyBefore: \"Our records show that you have already completed this survey.\" => \"Els nostres registres mostren que ja heu completat aquesta enquesta.\"\n// ratingOptionsCaption: \"Select...\" => \"Seleccionar...\"\n// value: \"value\" => \"valor\"\n// requiredErrorInPanel: \"Response required: answer at least one question.\" => \"Resposta necessària: respondre almenys una pregunta.\"\n// minError: \"The value should not be less than {0}\" => \"El valor no ha de ser inferior a {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"El valor no ha de ser superior a {0}\"\n// invalidExpression: \"The expression: {0} should return 'true'.\" => \"L'expressió: {0} ha de tornar 'veritable'.\"\n// loadingFile: \"Loading...\" => \"Càrrega...\"\n// chooseFile: \"Choose file(s)...\" => \"Trieu fitxer(s)...\"\n// noFileChosen: \"No file chosen\" => \"No s'ha triat cap fitxer\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Arrossegueu i deixeu anar un fitxer aquí o feu clic al botó següent i trieu un fitxer per carregar.\"\n// confirmDelete: \"Do you want to delete the record?\" => \"Vols eliminar el registre?\"\n// keyDuplicationError: \"This value should be unique.\" => \"Aquest valor ha de ser únic.\"\n// addColumn: \"Add Column\" => \"Afegeix una columna\"\n// emptyRowsText: \"There are no rows.\" => \"No hi ha files.\"\n// addPanel: \"Add new\" => \"Afegeix un nou\"\n// removePanel: \"Remove\" => \"Treure\"\n// choices_Item: \"item\" => \"ítem\"\n// multipletext_itemname: \"text\" => \"SMS\"\n// savingData: \"The results are being saved on the server...\" => \"Els resultats s'estan guardant al servidor...\"\n// savingDataError: \"An error occurred and we could not save the results.\" => \"S'ha produït un error i no hem pogut guardar els resultats.\"\n// savingDataSuccess: \"The results were saved successfully!\" => \"Els resultats es van salvar amb èxit!\"\n// saveAgainButton: \"Try again\" => \"Prova una altra vegada\"\n// timerMin: \"min\" => \"min\"\n// timerSec: \"sec\" => \"Seg\"\n// timerSpentAll: \"You have spent {0} on this page and {1} in total.\" => \"Heu passat {0} en aquesta pàgina i {1} en total.\"\n// timerSpentPage: \"You have spent {0} on this page.\" => \"Has passat {0} en aquesta pàgina.\"\n// timerSpentSurvey: \"You have spent {0} in total.\" => \"Has gastat {0} en total.\"\n// timerLimitAll: \"You have spent {0} of {1} on this page and {2} of {3} in total.\" => \"Heu passat {0} de {1} en aquesta pàgina i {2} de {3} en total.\"\n// timerLimitPage: \"You have spent {0} of {1} on this page.\" => \"Has passat {0} de {1} en aquesta pàgina.\"\n// timerLimitSurvey: \"You have spent {0} of {1} in total.\" => \"Has gastat {0} d'{1} en total.\"\n// clearCaption: \"Clear\" => \"Clar\"\n// signaturePlaceHolder: \"Sign here\" => \"Inscriu-te aquí\"\n// chooseFileCaption: \"Choose file\" => \"Tria un fitxer\"\n// removeFileCaption: \"Remove this file\" => \"Suprimeix aquest fitxer\"\n// booleanCheckedLabel: \"Yes\" => \"Sí\"\n// booleanUncheckedLabel: \"No\" => \"No\"\n// confirmRemoveFile: \"Are you sure that you want to remove this file: {0}?\" => \"Esteu segur que voleu eliminar aquest fitxer: {0}?\"\n// confirmRemoveAllFiles: \"Are you sure that you want to remove all files?\" => \"Esteu segur que voleu eliminar tots els fitxers?\"\n// questionTitlePatternText: \"Question Title\" => \"Títol de la pregunta\"\n// modalCancelButtonText: \"Cancel\" => \"Cancel·lar\"\n// modalApplyButtonText: \"Apply\" => \"Aplicar\"\n// filterStringPlaceholder: \"Type to search...\" => \"Escriviu per cercar...\"\n// emptyMessage: \"No data to display\" => \"No hi ha dades per mostrar\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Encara no hi ha entrades.\\nFeu clic al botó següent per afegir una entrada nova.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"No hi ha entrades.\"\n// more: \"More\" => \"Més\"\n// tagboxDoneButtonCaption: \"OK\" => \"D'ACORD\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Totes les opcions estan classificades\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Arrossegueu i deixeu anar les opcions aquí per classificar-les\"// takePhotoCaption: \"Take Photo\" => \"Fer foto\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Feu clic al botó següent per fer una foto amb la càmera.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Arrossegueu i deixeu anar o seleccioneu un fitxer per penjar-lo o fer-ne una foto amb la càmera.\"\n// replaceFileCaption: \"Replace file\" => \"Substitueix el fitxer\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Cada fila ha de tenir un valor únic.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"No es poden carregar fitxers. Afegiu un controlador per a l'esdeveniment 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Mostra els detalls\"\n// hideDetails: \"Hide Details\" => \"Amaga els detalls\"\n// ok: \"OK\" => \"D'ACORD\"\n// cancel: \"Cancel\" => \"Cancel·lar\"\n// refuseItemText: \"Refuse to answer\" => \"Negar-se a respondre\"\n// dontKnowItemText: \"Don't know\" => \"No sé\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/croatian.ts\":\n/*!**************************************!*\\\n !*** ./src/localization/croatian.ts ***!\n \\**************************************/\n/*! exports provided: croatianStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"croatianStrings\", function() { return croatianStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar croatianStrings = {\n pagePrevText: \"Prethodni\",\n pageNextText: \"Sljedeći\",\n completeText: \"Kompletan\",\n previewText: \"Pregled\",\n editText: \"Uređivanje\",\n startSurveyText: \"Početak\",\n otherItemText: \"Ostali (opis)\",\n noneItemText: \"Nitko\",\n refuseItemText: \"Odbijte odgovoriti\",\n dontKnowItemText: \"Ne znam\",\n selectAllItemText: \"Select All\",\n progressText: \"Stranica {0} od {1}\",\n indexText: \"{0} {1}\",\n panelDynamicProgressText: \"Zapisa {0} od {1}\",\n panelDynamicTabTextFormat: \"Ploča {panelIndex}\",\n questionsProgressText: \"Odgovorio na {0}/{1} pitanja\",\n emptySurvey: \"U anketi nema vidljive stranice ili pitanja.\",\n completingSurvey: \"Hvala vam što ste završili anketu!\",\n completingSurveyBefore: \"Naši zapisi pokazuju da ste već završili ovu anketu.\",\n loadingSurvey: \"Anketa o učitavanje...\",\n placeholder: \"Odaberite...\",\n ratingOptionsCaption: \"Odabirati...\",\n value: \"vrijednost\",\n requiredError: \"Molim vas odgovorite na pitanje.\",\n requiredErrorInPanel: \"Molim vas odgovorite na barem jedno pitanje.\",\n requiredInAllRowsError: \"Odgovorite na pitanja u svim redovima.\",\n eachRowUniqueError: \"Svaki redak mora imati jedinstvenu vrijednost.\",\n numericError: \"Vrijednost bi trebala biti brojčana.\",\n minError: \"Vrijednost ne smije biti manja od {0}\",\n maxError: \"Vrijednost ne smije biti veća od {0}\",\n textMinLength: \"Unesite najmanje {0} znak(ova).\",\n textMaxLength: \"Unesite manje od {0} znak(ova).\",\n textMinMaxLength: \"Unesite više od {0} i manje od {1} znakova.\",\n minRowCountError: \"Molimo ispunite najmanje {0} redaka.\",\n minSelectError: \"Odaberite barem {0} varijante.\",\n maxSelectError: \"Odaberite ne više od {0} varijanti.\",\n numericMinMax: \"'{0}'bi trebao biti jednak ili više od {1} i jednak ili manji od {2}.\",\n numericMin: \"'{0}' bi trebao biti jednak ili više od {1}.\",\n numericMax: \"'{0}' bi trebao biti jednak ili manji od {1}\",\n invalidEmail: \"Unesite valjanu e-mail adresu.\",\n invalidExpression: \"Izraz: {0} treba vratiti 'true'.\",\n urlRequestError: \"Zahtjev vratio pogrešku '{0}'. {1}\",\n urlGetChoicesError: \"Zahtjev je vratio prazne podatke ili je 'path' svojstvo netočna.\",\n exceedMaxSize: \"Veličina datoteke ne smije prelaziti {0}.\",\n noUploadFilesHandler: \"Datoteke se ne mogu prenijeti. Dodajte rukovatelja za događaj 'onUploadFiles'.\",\n otherRequiredError: \"Unesite drugu vrijednost.\",\n uploadingFile: \"Vaša datoteka se prenosi. Pričekajte nekoliko sekundi i pokušajte ponovno.\",\n loadingFile: \"Učitavanje...\",\n chooseFile: \"Odaberite datoteku...\",\n noFileChosen: \"Nije odabrana datoteka\",\n filePlaceholder: \"Povucite i ispustite datoteku ovdje ili kliknite donji gumb i odaberite datoteku koju želite prenijeti.\",\n confirmDelete: \"Želite li izbrisati zapis?\",\n keyDuplicationError: \"Ta bi vrijednost trebala biti jedinstvena.\",\n addColumn: \"Dodavanje stupca\",\n addRow: \"Dodavanje redaka\",\n removeRow: \"Ukloniti\",\n emptyRowsText: \"Nema redova.\",\n addPanel: \"Dodavanje novih\",\n removePanel: \"Ukloniti\",\n showDetails: \"Pokaži detalje\",\n hideDetails: \"Sakrij detalje\",\n choices_Item: \"stavku\",\n matrix_column: \"Stupca\",\n matrix_row: \"Redak\",\n multipletext_itemname: \"Tekstualna poruka\",\n savingData: \"Rezultati se spremaju na poslužitelju...\",\n savingDataError: \"Došlo je do pogreške i nismo mogli spremiti rezultate.\",\n savingDataSuccess: \"Rezultati su uspješno spremljeni!\",\n saveAgainButton: \"Pokušaj ponovo\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"Vi ste proveli {0} na ovoj stranici i {1} ukupno.\",\n timerSpentPage: \"Potrošili ste {0} na ovu stranicu.\",\n timerSpentSurvey: \"You have spent {0} in total. {0}.\",\n timerLimitAll: \"Vi ste proveli {0} od {1} na ovoj stranici i {2} od {3} ukupno.\",\n timerLimitPage: \"Potrošio si {0} od {1} na ovoj stranici.\",\n timerLimitSurvey: \"Ukupno ste potrošili {0} od {1}.\",\n clearCaption: \"Očistiti\",\n signaturePlaceHolder: \"Potpiši ovdje\",\n chooseFileCaption: \"Odaberite datoteku\",\n takePhotoCaption: \"Snimi fotografiju\",\n photoPlaceholder: \"Kliknite donji gumb da biste snimili fotografiju pomoću kamere.\",\n fileOrPhotoPlaceholder: \"Povucite i ispustite ili odaberite datoteku za prijenos ili snimanje fotografije pomoću kamere.\",\n replaceFileCaption: \"Zamijeni datoteku\",\n removeFileCaption: \"Uklonite ovu datoteku\",\n booleanCheckedLabel: \"Da\",\n booleanUncheckedLabel: \"Ne\",\n confirmRemoveFile: \"Jeste li sigurni da želite ukloniti ovu datoteku: {0}?\",\n confirmRemoveAllFiles: \"Jeste li sigurni da želite ukloniti sve datoteke?\",\n questionTitlePatternText: \"Naslov pitanja\",\n modalCancelButtonText: \"Otkazati\",\n modalApplyButtonText: \"Primijeniti\",\n filterStringPlaceholder: \"Upišite za pretraživanje...\",\n emptyMessage: \"Nema podataka za prikaz\",\n noEntriesText: \"Još nema unosa.\\nKliknite donji gumb da biste dodali novi unos.\",\n noEntriesReadonlyText: \"Nema unosa.\",\n more: \"Više\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"Svi izbori su rangirani\",\n selectToRankEmptyUnrankedAreaText: \"Ovdje povucite i ispustite odabire da biste ih rangirali\",\n ok: \"OK\",\n cancel: \"Otkazati\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"hr\"] = croatianStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"hr\"] = \"hrvatski\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Ploča {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Odabirati...\"\n// minError: \"The value should not be less than {0}\" => \"Vrijednost ne smije biti manja od {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Vrijednost ne smije biti veća od {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Povucite i ispustite datoteku ovdje ili kliknite donji gumb i odaberite datoteku koju želite prenijeti.\"\n// emptyRowsText: \"There are no rows.\" => \"Nema redova.\"\n// multipletext_itemname: \"text\" => \"Tekstualna poruka\"\n// signaturePlaceHolder: \"Sign here\" => \"Potpiši ovdje\"\n// filterStringPlaceholder: \"Type to search...\" => \"Upišite za pretraživanje...\"\n// emptyMessage: \"No data to display\" => \"Nema podataka za prikaz\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Još nema unosa.\\nKliknite donji gumb da biste dodali novi unos.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Nema unosa.\"\n// more: \"More\" => \"Više\"\n// tagboxDoneButtonCaption: \"OK\" => \"OK\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Svi izbori su rangirani\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Ovdje povucite i ispustite odabire da biste ih rangirali\"// takePhotoCaption: \"Take Photo\" => \"Snimi fotografiju\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Kliknite donji gumb da biste snimili fotografiju pomoću kamere.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Povucite i ispustite ili odaberite datoteku za prijenos ili snimanje fotografije pomoću kamere.\"\n// replaceFileCaption: \"Replace file\" => \"Zamijeni datoteku\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Svaki redak mora imati jedinstvenu vrijednost.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Datoteke se ne mogu prenijeti. Dodajte rukovatelja za događaj 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Pokaži detalje\"\n// hideDetails: \"Hide Details\" => \"Sakrij detalje\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Otkazati\"\n// refuseItemText: \"Refuse to answer\" => \"Odbijte odgovoriti\"\n// dontKnowItemText: \"Don't know\" => \"Ne znam\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/czech.ts\":\n/*!***********************************!*\\\n !*** ./src/localization/czech.ts ***!\n \\***********************************/\n/*! exports provided: czechSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"czechSurveyStrings\", function() { return czechSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar czechSurveyStrings = {\n pagePrevText: \"Předchozí\",\n pageNextText: \"Další\",\n completeText: \"Dokončit\",\n previewText: \"Náhled\",\n editText: \"Upravit\",\n startSurveyText: \"Začít\",\n otherItemText: \"Jiná odpověď (napište)\",\n noneItemText: \"Žádný\",\n refuseItemText: \"Odmítnout odpovědět\",\n dontKnowItemText: \"Nevím\",\n selectAllItemText: \"Vybrat vše\",\n progressText: \"Strana {0} z {1}\",\n indexText: \"{0} z {1}\",\n panelDynamicProgressText: \"Záznam {0} z {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Zodpovězené otázky: {0} / {1}\",\n emptySurvey: \"Průzkum neobsahuje žádné otázky.\",\n completingSurvey: \"Děkujeme za vyplnění průzkumu!\",\n completingSurveyBefore: \"Naše záznamy ukazují, že jste tento průzkum již dokončil/a.\",\n loadingSurvey: \"Probíhá načítání průzkumu...\",\n placeholder: \"Vyberte...\",\n ratingOptionsCaption: \"Vybrat...\",\n value: \"hodnota\",\n requiredError: \"Odpovězte prosím na otázku.\",\n requiredErrorInPanel: \"Odpovězte prosím alespoň jednu otázku.\",\n requiredInAllRowsError: \"Odpovězte prosím na všechny otázky.\",\n eachRowUniqueError: \"Každý řádek musí mít jedinečnou hodnotu.\",\n numericError: \"V tomto poli lze zadat pouze čísla.\",\n minError: \"Hodnota by neměla být menší než {0}\",\n maxError: \"Hodnota by neměla být větší než {0}\",\n textMinLength: \"Zadejte prosím alespoň {0} znaků.\",\n textMaxLength: \"Zadejte prosím méně než {0} znaků.\",\n textMinMaxLength: \"Zadejte prosím více než {0} a méně než {1} znaků.\",\n minRowCountError: \"Vyplňte prosím alespoň {0} řádků.\",\n minSelectError: \"Vyberte prosím alespoň {0} varianty.\",\n maxSelectError: \"Nevybírejte prosím více než {0} variant.\",\n numericMinMax: \"Odpověď '{0}' by mělo být větší nebo rovno {1} a menší nebo rovno {2}\",\n numericMin: \"Odpověď '{0}' by mělo být větší nebo rovno {1}\",\n numericMax: \"Odpověď '{0}' by mělo být menší nebo rovno {1}\",\n invalidEmail: \"Zadejte prosím platnou e-mailovou adresu.\",\n invalidExpression: \"Výraz: {0} by měl vrátit hodnotu „true“.\",\n urlRequestError: \"Požadavek vrátil chybu '{0}'. {1}\",\n urlGetChoicesError: \"Požadavek nevrátil data nebo je neplatná vlastnost 'path'\",\n exceedMaxSize: \"Velikost souboru by neměla být větší než {0}.\",\n noUploadFilesHandler: \"Soubory nelze nahrát. Přidejte obslužnou rutinu pro událost 'onUploadFiles'.\",\n otherRequiredError: \"Zadejte prosím jinou hodnotu.\",\n uploadingFile: \"Váš soubor se nahrává. Zkuste to prosím za několik sekund.\",\n loadingFile: \"Načítání...\",\n chooseFile: \"Vyberte soubory...\",\n noFileChosen: \"Není zvolený žádný soubor\",\n filePlaceholder: \"Přetáhněte sem soubor nebo klikněte na tlačítko níže a vyberte soubor, který chcete nahrát.\",\n confirmDelete: \"Chcete záznam smazat?\",\n keyDuplicationError: \"Tato hodnota by měla být unikátní.\",\n addColumn: \"Přidat sloupec\",\n addRow: \"Přidat řádek\",\n removeRow: \"Odstranit\",\n emptyRowsText: \"Neexistují žádné řádky.\",\n addPanel: \"Přidat nový\",\n removePanel: \"Odstranit\",\n showDetails: \"Zobrazit podrobnosti\",\n hideDetails: \"Skrýt podrobnosti\",\n choices_Item: \"položka\",\n matrix_column: \"Sloupec\",\n matrix_row: \"Řádek\",\n multipletext_itemname: \"Text\",\n savingData: \"Výsledky se ukládají na server...\",\n savingDataError: \"Došlo k chybě a výsledky jsme nemohli uložit.\",\n savingDataSuccess: \"Výsledky byly úspěšně uloženy!\",\n saveAgainButton: \"Zkuste to znovu\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Na této stránce jste strávil/a celkem {0} z {1}.\",\n timerSpentPage: \"Na této stránce jste strávil/a {0}.\",\n timerSpentSurvey: \"Celkem jste strávil/a {0}.\",\n timerLimitAll: \"Na této stránce jste strávil/a {0} z {1} a celkem {2} z {3}.\",\n timerLimitPage: \"Na této stránce jste strávil/a {0} z {1}.\",\n timerLimitSurvey: \"Celkově jste strávil/a {0} z {1}.\",\n clearCaption: \"Vymazat\",\n signaturePlaceHolder: \"Podepište se zde\",\n chooseFileCaption: \"Vyberte soubor\",\n takePhotoCaption: \"Pořídit fotografii\",\n photoPlaceholder: \"Kliknutím na tlačítko níže pořídíte fotografii pomocí fotoaparátu.\",\n fileOrPhotoPlaceholder: \"Přetáhněte nebo vyberte soubor, který chcete nahrát nebo pořiďte fotografii pomocí fotoaparátu.\",\n replaceFileCaption: \"Nahradit soubor\",\n removeFileCaption: \"Odeberte tento soubor\",\n booleanCheckedLabel: \"Ano\",\n booleanUncheckedLabel: \"Ne\",\n confirmRemoveFile: \"Opravdu chcete odebrat tento soubor: {0}?\",\n confirmRemoveAllFiles: \"Opravdu chcete odstranit všechny soubory?\",\n questionTitlePatternText: \"Název otázky\",\n modalCancelButtonText: \"Zrušit\",\n modalApplyButtonText: \"Použít\",\n filterStringPlaceholder: \"Zadejte hledaný text...\",\n emptyMessage: \"Žádná data k zobrazení\",\n noEntriesText: \"Zatím nejsou žádné záznamy.\\nKliknutím na tlačítko níže přidáte novou položku.\",\n noEntriesReadonlyText: \"Nejsou zde žádné položky.\",\n more: \"Více\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"Všechny možnosti jsou seřazeny\",\n selectToRankEmptyUnrankedAreaText: \"Přetáhněte volby zde a seřaďte je\",\n ok: \"OK\",\n cancel: \"Zrušit\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"cs\"] = czechSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"cs\"] = \"čeština\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} z {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Vybrat...\"\n// minError: \"The value should not be less than {0}\" => \"Hodnota by neměla být menší než {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Hodnota by neměla být větší než {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Přetáhněte sem soubor nebo klikněte na tlačítko níže a vyberte soubor, který chcete nahrát.\"\n// emptyRowsText: \"There are no rows.\" => \"Neexistují žádné řádky.\"\n// multipletext_itemname: \"text\" => \"Text\"\n// signaturePlaceHolder: \"Sign here\" => \"Podepište se zde\"\n// modalCancelButtonText: \"Cancel\" => \"Zrušit\"\n// modalApplyButtonText: \"Apply\" => \"Použít\"\n// filterStringPlaceholder: \"Type to search...\" => \"Zadejte hledaný text...\"\n// emptyMessage: \"No data to display\" => \"Žádná data k zobrazení\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Zatím nejsou žádné záznamy.\\nKliknutím na tlačítko níže přidáte novou položku.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Nejsou zde žádné položky.\"\n// more: \"More\" => \"Více\"\n// tagboxDoneButtonCaption: \"OK\" => \"OK\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Všechny možnosti jsou seřazeny\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Přetáhněte volby zde a seřaďte je\"// takePhotoCaption: \"Take Photo\" => \"Pořídit fotografii\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Kliknutím na tlačítko níže pořídíte fotografii pomocí fotoaparátu.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Přetáhněte nebo vyberte soubor, který chcete nahrát nebo pořiďte fotografii pomocí fotoaparátu.\"\n// replaceFileCaption: \"Replace file\" => \"Nahradit soubor\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Každý řádek musí mít jedinečnou hodnotu.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Soubory nelze nahrát. Přidejte obslužnou rutinu pro událost 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Zobrazit podrobnosti\"\n// hideDetails: \"Hide Details\" => \"Skrýt podrobnosti\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Zrušit\"\n// refuseItemText: \"Refuse to answer\" => \"Odmítnout odpovědět\"\n// dontKnowItemText: \"Don't know\" => \"Nevím\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/danish.ts\":\n/*!************************************!*\\\n !*** ./src/localization/danish.ts ***!\n \\************************************/\n/*! exports provided: danishSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"danishSurveyStrings\", function() { return danishSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar danishSurveyStrings = {\n pagePrevText: \"Tilbage\",\n pageNextText: \"Videre\",\n completeText: \"Færdig\",\n previewText: \"Forpremiere\",\n editText: \"Redigér\",\n startSurveyText: \"Start\",\n otherItemText: \"Valgfrit svar...\",\n noneItemText: \"Ingen\",\n refuseItemText: \"Nægt at svare\",\n dontKnowItemText: \"Ved ikke\",\n selectAllItemText: \"Vælg alle\",\n progressText: \"Side {0} af {1}\",\n indexText: \"{0} af {1}\",\n panelDynamicProgressText: \"Optag {0} af {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Besvarede {0} / {1} spørgsmål\",\n emptySurvey: \"Der er ingen synlige spørgsmål.\",\n completingSurvey: \"Mange tak for din besvarelse!\",\n completingSurveyBefore: \"Vores data viser at du allerede har gennemført dette spørgeskema.\",\n loadingSurvey: \"Spørgeskemaet hentes fra serveren...\",\n placeholder: \"Vælg...\",\n ratingOptionsCaption: \"Markere...\",\n value: \"værdi\",\n requiredError: \"Besvar venligst spørgsmålet.\",\n requiredErrorInPanel: \"Besvar venligst mindst ét spørgsmål.\",\n requiredInAllRowsError: \"Besvar venligst spørgsmål i alle rækker.\",\n eachRowUniqueError: \"Hver række skal have en entydig værdi.\",\n numericError: \"Angiv et tal.\",\n minError: \"Værdien bør ikke være mindre end {0}\",\n maxError: \"Værdien bør ikke være større end {0}\",\n textMinLength: \"Angiv mindst {0} tegn.\",\n textMaxLength: \"Please enter less than {0} characters.\",\n textMinMaxLength: \"Angiv mere end {0} og mindre end {1} tegn.\",\n minRowCountError: \"Udfyld mindst {0} rækker.\",\n minSelectError: \"Vælg venligst mindst {0} svarmulighed(er).\",\n maxSelectError: \"Vælg venligst færre {0} svarmuligheder(er).\",\n numericMinMax: \"'{0}' skal være lig med eller større end {1} og lig med eller mindre end {2}\",\n numericMin: \"'{0}' skal være lig med eller større end {1}\",\n numericMax: \"'{0}' skal være lig med eller mindre end {1}\",\n invalidEmail: \"Angiv venligst en gyldig e-mail adresse.\",\n invalidExpression: \"Udtrykket: {0} skal returnere 'true'.\",\n urlRequestError: \"Forespørgslen returnerede fejlen '{0}'. {1}\",\n urlGetChoicesError: \"Forespørgslen returnerede ingen data eller 'path' parameteren er forkert\",\n exceedMaxSize: \"Filstørrelsen må ikke overstige {0}.\",\n noUploadFilesHandler: \"Filer kan ikke uploades. Tilføj en handler for hændelsen 'onUploadFiles'.\",\n otherRequiredError: \"Angiv en værdi for dit valgfrie svar.\",\n uploadingFile: \"Din fil bliver uploadet. Vent nogle sekunder og prøv eventuelt igen.\",\n loadingFile: \"Indlæser...\",\n chooseFile: \"Vælg fil(er)...\",\n noFileChosen: \"Ingen fil er valgt\",\n filePlaceholder: \"Træk og slip en fil her, eller klik på knappen nedenfor, og vælg en fil, der skal uploades.\",\n confirmDelete: \"Vil du fjerne den?\",\n keyDuplicationError: \"Denne værdi skal være unik.\",\n addColumn: \"Tilføj kolonne\",\n addRow: \"Tilføj række\",\n removeRow: \"Fjern\",\n emptyRowsText: \"Der er ingen rækker.\",\n addPanel: \"Tilføj ny\",\n removePanel: \"Fjern\",\n showDetails: \"Vis detaljer\",\n hideDetails: \"Skjul detaljer\",\n choices_Item: \"valg\",\n matrix_column: \"Kolonne\",\n matrix_row: \"Række\",\n multipletext_itemname: \"Tekst\",\n savingData: \"Resultaterne bliver gemt på serveren...\",\n savingDataError: \"Der opstod en fejl og vi kunne ikke gemme resultatet.\",\n savingDataSuccess: \"Resultatet blev gemt!\",\n saveAgainButton: \"Prøv igen\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Du har brugt {0} på denne side og {1} i alt.\",\n timerSpentPage: \"Du har brugt {0} på denne side.\",\n timerSpentSurvey: \"Du har brugt {0} i alt.\",\n timerLimitAll: \"Du har brugt {0} af {1} på denne side og {2} af {3} i alt.\",\n timerLimitPage: \"Du har brugt {0} af {1} på denne side.\",\n timerLimitSurvey: \"Du har brugt {0} af {1} i alt.\",\n clearCaption: \"Fjern\",\n signaturePlaceHolder: \"Tilmeld dig her\",\n chooseFileCaption: \"Vælg fil\",\n takePhotoCaption: \"Tag billede\",\n photoPlaceholder: \"Klik på knappen nedenfor for at tage et billede med kameraet.\",\n fileOrPhotoPlaceholder: \"Træk og slip, eller vælg en fil, der skal uploades, eller tag et billede med kameraet.\",\n replaceFileCaption: \"Erstat fil\",\n removeFileCaption: \"Fjern denne fil\",\n booleanCheckedLabel: \"Ja\",\n booleanUncheckedLabel: \"Ingen\",\n confirmRemoveFile: \"Er du sikker på, at du vil fjerne denne fil: {0}?\",\n confirmRemoveAllFiles: \"Er du sikker på, at du vil fjerne alle filer?\",\n questionTitlePatternText: \"Spørgsmåls titel\",\n modalCancelButtonText: \"Aflyse\",\n modalApplyButtonText: \"Anvende\",\n filterStringPlaceholder: \"Skriv for at søge...\",\n emptyMessage: \"Ingen data at vise\",\n noEntriesText: \"Der er endnu ingen tilmeldinger.\\nKlik på knappen nedenfor for at tilføje en ny post.\",\n noEntriesReadonlyText: \"Der er ingen poster.\",\n more: \"Mere\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"Alle valg er rangeret\",\n selectToRankEmptyUnrankedAreaText: \"Træk og slip valg her for at rangere dem\",\n ok: \"OK\",\n cancel: \"Aflyse\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"da\"] = danishSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"da\"] = \"dansk\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} af {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Markere...\"\n// minError: \"The value should not be less than {0}\" => \"Værdien bør ikke være mindre end {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Værdien bør ikke være større end {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Træk og slip en fil her, eller klik på knappen nedenfor, og vælg en fil, der skal uploades.\"\n// emptyRowsText: \"There are no rows.\" => \"Der er ingen rækker.\"\n// multipletext_itemname: \"text\" => \"Tekst\"\n// signaturePlaceHolder: \"Sign here\" => \"Tilmeld dig her\"\n// modalCancelButtonText: \"Cancel\" => \"Aflyse\"\n// modalApplyButtonText: \"Apply\" => \"Anvende\"\n// filterStringPlaceholder: \"Type to search...\" => \"Skriv for at søge...\"\n// emptyMessage: \"No data to display\" => \"Ingen data at vise\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Der er endnu ingen tilmeldinger.\\nKlik på knappen nedenfor for at tilføje en ny post.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Der er ingen poster.\"\n// more: \"More\" => \"Mere\"\n// tagboxDoneButtonCaption: \"OK\" => \"OK\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Alle valg er rangeret\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Træk og slip valg her for at rangere dem\"// takePhotoCaption: \"Take Photo\" => \"Tag billede\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Klik på knappen nedenfor for at tage et billede med kameraet.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Træk og slip, eller vælg en fil, der skal uploades, eller tag et billede med kameraet.\"\n// replaceFileCaption: \"Replace file\" => \"Erstat fil\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Hver række skal have en entydig værdi.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Filer kan ikke uploades. Tilføj en handler for hændelsen 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Vis detaljer\"\n// hideDetails: \"Hide Details\" => \"Skjul detaljer\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Aflyse\"\n// refuseItemText: \"Refuse to answer\" => \"Nægt at svare\"\n// dontKnowItemText: \"Don't know\" => \"Ved ikke\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/dutch.ts\":\n/*!***********************************!*\\\n !*** ./src/localization/dutch.ts ***!\n \\***********************************/\n/*! exports provided: dutchSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dutchSurveyStrings\", function() { return dutchSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar dutchSurveyStrings = {\n pagePrevText: \"Vorige\",\n pageNextText: \"Volgende\",\n completeText: \"Verzenden\",\n previewText: \"Voorbeeld\",\n editText: \"Bewerk\",\n startSurveyText: \"Start\",\n otherItemText: \"Anders, nl.\",\n noneItemText: \"Geen\",\n refuseItemText: \"Weiger te antwoorden\",\n dontKnowItemText: \"Weet niet\",\n selectAllItemText: \"Selecteer Alles\",\n progressText: \"Pagina {0} van {1}\",\n indexText: \"{0} van {1}\",\n panelDynamicProgressText: \"Record {0} of {1}\",\n panelDynamicTabTextFormat: \"Paneel {panelIndex}\",\n questionsProgressText: \"Geantwoord {0}/{1} vragen\",\n emptySurvey: \"Er is geen zichtbare pagina of vraag in deze vragenlijst\",\n completingSurvey: \"Bedankt voor het invullen van de vragenlijst\",\n completingSurveyBefore: \"Onze gegevens tonen aan dat je deze vragenlijst reeds beantwoord hebt.\",\n loadingSurvey: \"De vragenlijst is aan het laden...\",\n placeholder: \"Kies...\",\n ratingOptionsCaption: \"Selecteren...\",\n value: \"waarde\",\n requiredError: \"Dit is een vereiste vraag\",\n requiredErrorInPanel: \"Gelieve ten minste een vraag te beantwoorden.\",\n requiredInAllRowsError: \"Deze vraag vereist één antwoord per rij\",\n eachRowUniqueError: \"Elke rij moet een unieke waarde hebben.\",\n numericError: \"Het antwoord moet een getal zijn\",\n minError: \"De waarde mag niet lager zijn dan {0}\",\n maxError: \"De waarde mag niet groter zijn dan {0}\",\n textMinLength: \"Vul minstens {0} karakters in\",\n textMaxLength: \"Gelieve minder dan {0} karakters in te vullen.\",\n textMinMaxLength: \"Gelieve meer dan {0} en minder dan {1} karakters in te vullen.\",\n minRowCountError: \"Gelieve ten minste {0} rijen in te vullen.\",\n minSelectError: \"Selecteer minimum {0} antwoorden\",\n maxSelectError: \"Selecteer niet meer dan {0} antwoorden\",\n numericMinMax: \"Uw antwoord '{0}' moet groter of gelijk zijn aan {1} en kleiner of gelijk aan {2}\",\n numericMin: \"Uw antwoord '{0}' moet groter of gelijk zijn aan {1}\",\n numericMax: \"Uw antwoord '{0}' moet groter of gelijk zijn aan {1}\",\n invalidEmail: \"Vul een geldig e-mailadres in\",\n invalidExpression: \"De uitdrukking: {0} moet 'waar' teruggeven.\",\n urlRequestError: \"De vraag keerde een fout terug '{0}'. {1}\",\n urlGetChoicesError: \"De vraag gaf een leeg antwoord terug of de 'pad' eigenschap is niet correct\",\n exceedMaxSize: \"De grootte van het bestand mag niet groter zijn dan {0}\",\n noUploadFilesHandler: \"Bestanden kunnen niet worden geüpload. Voeg een handler toe voor de gebeurtenis 'onUploadFiles'.\",\n otherRequiredError: \"Vul het veld 'Anders, nl.' in\",\n uploadingFile: \"Uw bestand wordt geüpload. Gelieve enkele seconden te wachten en opnieuw te proberen.\",\n loadingFile: \"Laden...\",\n chooseFile: \"Kies uw bestand(en)...\",\n noFileChosen: \"Geen bestand gekozen\",\n filePlaceholder: \"Sleep het bestand naar hier\",\n confirmDelete: \"Wilt u deze gegevens verwijderen?\",\n keyDuplicationError: \"Deze waarde moet uniek zijn.\",\n addColumn: \"Voeg kolom toe\",\n addRow: \"Voeg rij toe\",\n removeRow: \"Verwijder\",\n emptyRowsText: \"Er zijn geen rijen.\",\n addPanel: \"Nieuwe toevoegen\",\n removePanel: \"Verwijder\",\n showDetails: \"Toon details\",\n hideDetails: \"Verberg details\",\n choices_Item: \"onderwerp\",\n matrix_column: \"Kolom\",\n matrix_row: \"Rij\",\n multipletext_itemname: \"Sms\",\n savingData: \"De resultaten worden bewaard op de server...\",\n savingDataError: \"Er was een probleem en we konden de resultaten niet bewaren.\",\n savingDataSuccess: \"De resultaten werden succesvol bewaard!\",\n saveAgainButton: \"Probeer opnieuw\",\n timerMin: \"minimum\",\n timerSec: \"sec\",\n timerSpentAll: \"U heeft {0} gespendeerd op deze pagina en {1} in totaal.\",\n timerSpentPage: \"U heeft {0} op deze pagina gespendeerd.\",\n timerSpentSurvey: \"U heeft in totaal {0} gespendeerd.\",\n timerLimitAll: \"U heeft {0} van {1} op deze pagina gespendeerd en {2} van {3} in totaal.\",\n timerLimitPage: \"U heeft {0} van {1} gespendeerd op deze pagina.\",\n timerLimitSurvey: \"U heeft {0} van {1} in het totaal.\",\n clearCaption: \"Verwijder\",\n signaturePlaceHolder: \"Hier tekenen\",\n chooseFileCaption: \"Gekozen bestand\",\n takePhotoCaption: \"Foto maken\",\n photoPlaceholder: \"Klik op de onderstaande knop om een foto te maken met de camera.\",\n fileOrPhotoPlaceholder: \"Sleep en zet neer of selecteer een bestand om te uploaden of maak een foto met de camera.\",\n replaceFileCaption: \"Bestand vervangen\",\n removeFileCaption: \"Verwijder dit bestand\",\n booleanCheckedLabel: \"Ja\",\n booleanUncheckedLabel: \"Nee\",\n confirmRemoveFile: \"Weet u zeker dat u deze file wilt verwijderen: {0}?\",\n confirmRemoveAllFiles: \"Weet u zeker dat u al deze files wilt verwijderen?\",\n questionTitlePatternText: \"Titel van de vraag\",\n modalCancelButtonText: \"Annuleren\",\n modalApplyButtonText: \"Toepassen\",\n filterStringPlaceholder: \"Typ om te zoeken...\",\n emptyMessage: \"Geen gegevens om weer te geven\",\n noEntriesText: \"Er zijn nog geen inzendingen.\\nKlik op de onderstaande knop om een nieuw item toe te voegen.\",\n noEntriesReadonlyText: \"Er zijn geen inzendingen.\",\n more: \"Meer\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"Alle keuzes zijn gerangschikt\",\n selectToRankEmptyUnrankedAreaText: \"Drag en drop keuzes hier om ze te rangschikken\",\n ok: \"OK\",\n cancel: \"Annuleren\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"nl\"] = dutchSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"nl\"] = \"nederlands\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} van {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Paneel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Selecteren...\"\n// minError: \"The value should not be less than {0}\" => \"De waarde mag niet lager zijn dan {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"De waarde mag niet groter zijn dan {0}\"\n// emptyRowsText: \"There are no rows.\" => \"Er zijn geen rijen.\"\n// multipletext_itemname: \"text\" => \"Sms\"\n// modalCancelButtonText: \"Cancel\" => \"Annuleren\"\n// modalApplyButtonText: \"Apply\" => \"Toepassen\"\n// filterStringPlaceholder: \"Type to search...\" => \"Typ om te zoeken...\"\n// emptyMessage: \"No data to display\" => \"Geen gegevens om weer te geven\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Er zijn nog geen inzendingen.\\nKlik op de onderstaande knop om een nieuw item toe te voegen.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Er zijn geen inzendingen.\"\n// more: \"More\" => \"Meer\"\n// tagboxDoneButtonCaption: \"OK\" => \"OK\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Alle keuzes zijn gerangschikt\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Drag en drop keuzes hier om ze te rangschikken\"// takePhotoCaption: \"Take Photo\" => \"Foto maken\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Klik op de onderstaande knop om een foto te maken met de camera.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Sleep en zet neer of selecteer een bestand om te uploaden of maak een foto met de camera.\"\n// replaceFileCaption: \"Replace file\" => \"Bestand vervangen\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Elke rij moet een unieke waarde hebben.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Bestanden kunnen niet worden geüpload. Voeg een handler toe voor de gebeurtenis 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Toon details\"\n// hideDetails: \"Hide Details\" => \"Verberg details\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Annuleren\"\n// refuseItemText: \"Refuse to answer\" => \"Weiger te antwoorden\"\n// dontKnowItemText: \"Don't know\" => \"Weet niet\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/english.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/english.ts ***!\n \\*************************************/\n/*! exports provided: englishStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"englishStrings\", function() { return englishStrings; });\n// Uncomment the line below if you create a custom dictionary\n// import { surveyLocalization } from \"survey-core\";\nvar englishStrings = {\n pagePrevText: \"Previous\",\n pageNextText: \"Next\",\n completeText: \"Complete\",\n previewText: \"Preview\",\n editText: \"Edit\",\n startSurveyText: \"Start\",\n otherItemText: \"Other (describe)\",\n noneItemText: \"None\",\n refuseItemText: \"Refuse to answer\",\n dontKnowItemText: \"Don't know\",\n selectAllItemText: \"Select All\",\n progressText: \"Page {0} of {1}\",\n indexText: \"{0} of {1}\",\n panelDynamicProgressText: \"{0} of {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Answered {0}/{1} questions\",\n emptySurvey: \"The survey doesn't contain any visible elements.\",\n completingSurvey: \"Thank you for completing the survey\",\n completingSurveyBefore: \"Our records show that you have already completed this survey.\",\n loadingSurvey: \"Loading Survey...\",\n placeholder: \"Select...\",\n ratingOptionsCaption: \"Select...\",\n value: \"value\",\n requiredError: \"Response required.\",\n requiredErrorInPanel: \"Response required: answer at least one question.\",\n requiredInAllRowsError: \"Response required: answer questions in all rows.\",\n eachRowUniqueError: \"Each row must have a unique value.\",\n numericError: \"The value should be numeric.\",\n minError: \"The value should not be less than {0}\",\n maxError: \"The value should not be greater than {0}\",\n textMinLength: \"Please enter at least {0} character(s).\",\n textMaxLength: \"Please enter no more than {0} character(s).\",\n textMinMaxLength: \"Please enter at least {0} and no more than {1} characters.\",\n minRowCountError: \"Please fill in at least {0} row(s).\",\n minSelectError: \"Please select at least {0} option(s).\",\n maxSelectError: \"Please select no more than {0} option(s).\",\n numericMinMax: \"The '{0}' should be at least {1} and at most {2}\",\n numericMin: \"The '{0}' should be at least {1}\",\n numericMax: \"The '{0}' should be at most {1}\",\n invalidEmail: \"Please enter a valid e-mail address.\",\n invalidExpression: \"The expression: {0} should return 'true'.\",\n urlRequestError: \"The request returned error '{0}'. {1}\",\n urlGetChoicesError: \"The request returned empty data or the 'path' property is incorrect\",\n exceedMaxSize: \"The file size should not exceed {0}.\",\n noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\",\n otherRequiredError: \"Response required: enter another value.\",\n uploadingFile: \"Your file is uploading. Please wait several seconds and try again.\",\n loadingFile: \"Loading...\",\n chooseFile: \"Choose file(s)...\",\n noFileChosen: \"No file chosen\",\n filePlaceholder: \"Drag and drop a file here or click the button below to select a file to upload.\",\n confirmDelete: \"Are you sure you want to delete this record?\",\n keyDuplicationError: \"This value should be unique.\",\n addColumn: \"Add Column\",\n addRow: \"Add Row\",\n removeRow: \"Remove\",\n emptyRowsText: \"There are no rows.\",\n addPanel: \"Add new\",\n removePanel: \"Remove\",\n showDetails: \"Show Details\",\n hideDetails: \"Hide Details\",\n choices_Item: \"item\",\n matrix_column: \"Column\",\n matrix_row: \"Row\",\n multipletext_itemname: \"text\",\n savingData: \"The results are being saved on the server...\",\n savingDataError: \"An error occurred and we could not save the results.\",\n savingDataSuccess: \"The results were saved successfully!\",\n saveAgainButton: \"Try again\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"You have spent {0} on this page and {1} in total.\",\n timerSpentPage: \"You have spent {0} on this page.\",\n timerSpentSurvey: \"You have spent {0} in total.\",\n timerLimitAll: \"You have spent {0} of {1} on this page and {2} of {3} in total.\",\n timerLimitPage: \"You have spent {0} of {1} on this page.\",\n timerLimitSurvey: \"You have spent {0} of {1} in total.\",\n clearCaption: \"Clear\",\n signaturePlaceHolder: \"Sign here\",\n chooseFileCaption: \"Select File\",\n takePhotoCaption: \"Take Photo\",\n photoPlaceholder: \"Click the button below to take a photo using the camera.\",\n fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\",\n replaceFileCaption: \"Replace file\",\n removeFileCaption: \"Remove this file\",\n booleanCheckedLabel: \"Yes\",\n booleanUncheckedLabel: \"No\",\n confirmRemoveFile: \"Are you sure that you want to remove this file: {0}?\",\n confirmRemoveAllFiles: \"Are you sure that you want to remove all files?\",\n questionTitlePatternText: \"Question Title\",\n modalCancelButtonText: \"Cancel\",\n modalApplyButtonText: \"Apply\",\n filterStringPlaceholder: \"Type to search...\",\n emptyMessage: \"No data to display\",\n noEntriesText: \"No entries yet.\\nClick the button below to add a new entry.\",\n noEntriesReadonlyText: \"No entries.\",\n more: \"More\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"All choices are selected for ranking\",\n selectToRankEmptyUnrankedAreaText: \"Drag choices here to rank them\",\n ok: \"OK\",\n cancel: \"Cancel\",\n};\n// Uncomment the lines below if you create a custom dictionary.\n// Replace \"en\" with a custom locale code (for example, \"fr\" or \"de\"),\n// Replace `englishStrings` with the name of the variable that contains the custom dictionary.\n// surveyLocalization.locales[\"en\"] = englishStrings;\n// surveyLocalization.localeNames[\"en\"] = \"English\";\n\n\n/***/ }),\n\n/***/ \"./src/localization/estonian.ts\":\n/*!**************************************!*\\\n !*** ./src/localization/estonian.ts ***!\n \\**************************************/\n/*! exports provided: estonianSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"estonianSurveyStrings\", function() { return estonianSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar estonianSurveyStrings = {\n pagePrevText: \"Tagasi\",\n pageNextText: \"Edasi\",\n completeText: \"Lõpeta\",\n previewText: \"Eelvaade\",\n editText: \"Muuda\",\n startSurveyText: \"Alusta\",\n otherItemText: \"Muu (täpsusta)\",\n noneItemText: \"Mitte midagi\",\n refuseItemText: \"Keeldu vastamast\",\n dontKnowItemText: \"Ei tea\",\n selectAllItemText: \"Vali kõik\",\n progressText: \"Lehekülg {0}/{1}\",\n indexText: \"{0} {1}\",\n panelDynamicProgressText: \"Kirje {0}/{1}\",\n panelDynamicTabTextFormat: \"Paneel {panelIndex}\",\n questionsProgressText: \"Vastatud {0} küsimust {1}-st\",\n emptySurvey: \"Selles uuringus ei ole ühtki nähtavat lehekülge või küsimust.\",\n completingSurvey: \"Aitäh, et vastasid ankeedile!\",\n completingSurveyBefore: \"Meie andmetel oled sa sellele ankeedile juba vastanud.\",\n loadingSurvey: \"Laen ankeeti...\",\n placeholder: \"Vali...\",\n ratingOptionsCaption: \"Valima...\",\n value: \"väärtus\",\n requiredError: \"Palun vasta küsimusele.\",\n requiredErrorInPanel: \"Palun vasta vähemalt ühele küsimusele.\",\n requiredInAllRowsError: \"Palun anna vastus igal real.\",\n eachRowUniqueError: \"Igal real peab olema kordumatu väärtus.\",\n numericError: \"See peaks olema numbriline väärtus.\",\n minError: \"Väärtus ei tohiks olla väiksem kui {0}\",\n maxError: \"Väärtus ei tohiks olla suurem kui {0}\",\n textMinLength: \"Palun sisesta vähemalt {0} tähemärki.\",\n textMaxLength: \"Palun ära sisesta rohkem kui {0} tähemärki.\",\n textMinMaxLength: \"Sisesta palun {0} - {1} tähemärki.\",\n minRowCountError: \"Sisesta plaun vähemalt {0} rida.\",\n minSelectError: \"Palun vali vähemalt {0} varianti.\",\n maxSelectError: \"Palun vali kõige rohkem {0} varianti.\",\n numericMinMax: \"'{0}' peaks olema võrdne või suurem kui {1} ja võrdne või väiksem kui {2}\",\n numericMin: \"'{0}' peaks olema võrdne või suurem kui {1}\",\n numericMax: \"'{0}' peaks olema võrnde või väiksem kui {1}\",\n invalidEmail: \"Sisesta palun korrektne e-posti aadress.\",\n invalidExpression: \"Avaldis: {0} peaks tagastama tõese.\",\n urlRequestError: \"Taotlus tagastas vea „{0}”. {1}\",\n urlGetChoicesError: \"Taotlus tagastas tühjad andmed või atribuut 'path' on vale\",\n exceedMaxSize: \"Faili suurus ei tohi ületada {0}.\",\n noUploadFilesHandler: \"Faile ei saa üles laadida. Palun lisage sündmuse \\\"onUploadFiles\\\" jaoks käitleja.\",\n otherRequiredError: \"Sisesta palun muu vastus.\",\n uploadingFile: \"Sinu fail laeb üles. Palun oota mõned sekundid ning proovi seejärel uuesti.\",\n loadingFile: \"Laen...\",\n chooseFile: \"Vali fail(id)...\",\n noFileChosen: \"Faili pole valitud\",\n filePlaceholder: \"Pukseerige fail siia või klõpsake allolevat nuppu ja valige üleslaaditav fail.\",\n confirmDelete: \"Kas tahad kirje kustutada?\",\n keyDuplicationError: \"See väärtus peab olema unikaalne.\",\n addColumn: \"Lisa veerg\",\n addRow: \"Lisa rida\",\n removeRow: \"Eemalda\",\n emptyRowsText: \"Ridu pole.\",\n addPanel: \"Lisa uus\",\n removePanel: \"Eemalda\",\n showDetails: \"Näita detaile\",\n hideDetails: \"Peida üksikasjad\",\n choices_Item: \"üksus\",\n matrix_column: \"Veerg\",\n matrix_row: \"Rida\",\n multipletext_itemname: \"Tekst\",\n savingData: \"Salvestan andmed serveris...\",\n savingDataError: \"Tekkis viga ning me ei saanud vastuseid salvestada.\",\n savingDataSuccess: \"Vastuste salvestamine õnnestus!\",\n saveAgainButton: \"Proovi uuesti\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Oled veetnud {0} sellel lehel ning kokku {1}.\",\n timerSpentPage: \"Oled veetnud {0} sellel lehel.\",\n timerSpentSurvey: \"Oled veetnud {0} kokku.\",\n timerLimitAll: \"Oled kulutanud {0} võimalikust {1} sellel lehel ning {2} võimalikust {3} kokku.\",\n timerLimitPage: \"Oled kulutanud {0} võimalikust {1} sellel lehel.\",\n timerLimitSurvey: \"Oled kulutanud {0} võimalikust {1} koguajast.\",\n clearCaption: \"Puhasta\",\n signaturePlaceHolder: \"Allkirjasta siin\",\n chooseFileCaption: \"Vali fail\",\n takePhotoCaption: \"Pildistamine\",\n photoPlaceholder: \"Kaamera abil pildistamiseks klõpsake allolevat nuppu.\",\n fileOrPhotoPlaceholder: \"Pukseerige või valige üleslaaditav fail või pildistage seda kaamera abil.\",\n replaceFileCaption: \"Asenda fail\",\n removeFileCaption: \"Eemalda see fail\",\n booleanCheckedLabel: \"Jah\",\n booleanUncheckedLabel: \"Ei\",\n confirmRemoveFile: \"Oled sa kindel, et soovid selle faili eemaldada: {0}?\",\n confirmRemoveAllFiles: \"Oled sa kindel, et soovid eemaldada kõik failid?\",\n questionTitlePatternText: \"Küsimuse pealkiri\",\n modalCancelButtonText: \"Tühistama\",\n modalApplyButtonText: \"Kohaldata\",\n filterStringPlaceholder: \"Tippige otsimiseks...\",\n emptyMessage: \"Kuvatavaid andmeid pole\",\n noEntriesText: \"Sissekandeid veel ei ole.\\nUue kirje lisamiseks klõpsake allolevat nuppu.\",\n noEntriesReadonlyText: \"Kirjeid ei ole.\",\n more: \"Rohkem\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"Kõik valikud on järjestatud\",\n selectToRankEmptyUnrankedAreaText: \"Lohistage valikuid siia, et neid järjestada\",\n ok: \"OK\",\n cancel: \"Tühistama\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"et\"] = estonianSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"et\"] = \"eesti keel\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Paneel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Valima...\"\n// minError: \"The value should not be less than {0}\" => \"Väärtus ei tohiks olla väiksem kui {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Väärtus ei tohiks olla suurem kui {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Pukseerige fail siia või klõpsake allolevat nuppu ja valige üleslaaditav fail.\"\n// emptyRowsText: \"There are no rows.\" => \"Ridu pole.\"\n// multipletext_itemname: \"text\" => \"Tekst\"\n// signaturePlaceHolder: \"Sign here\" => \"Allkirjasta siin\"\n// modalCancelButtonText: \"Cancel\" => \"Tühistama\"\n// modalApplyButtonText: \"Apply\" => \"Kohaldata\"\n// filterStringPlaceholder: \"Type to search...\" => \"Tippige otsimiseks...\"\n// emptyMessage: \"No data to display\" => \"Kuvatavaid andmeid pole\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Sissekandeid veel ei ole.\\nUue kirje lisamiseks klõpsake allolevat nuppu.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Kirjeid ei ole.\"\n// more: \"More\" => \"Rohkem\"\n// tagboxDoneButtonCaption: \"OK\" => \"OK\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Kõik valikud on järjestatud\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Lohistage valikuid siia, et neid järjestada\"// takePhotoCaption: \"Take Photo\" => \"Pildistamine\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Kaamera abil pildistamiseks klõpsake allolevat nuppu.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Pukseerige või valige üleslaaditav fail või pildistage seda kaamera abil.\"\n// replaceFileCaption: \"Replace file\" => \"Asenda fail\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Igal real peab olema kordumatu väärtus.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Faile ei saa üles laadida. Palun lisage sündmuse \\\"onUploadFiles\\\" jaoks käitleja.\"\n// showDetails: \"Show Details\" => \"Näita detaile\"\n// hideDetails: \"Hide Details\" => \"Peida üksikasjad\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Tühistama\"\n// refuseItemText: \"Refuse to answer\" => \"Keeldu vastamast\"\n// dontKnowItemText: \"Don't know\" => \"Ei tea\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/finnish.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/finnish.ts ***!\n \\*************************************/\n/*! exports provided: finnishSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"finnishSurveyStrings\", function() { return finnishSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar finnishSurveyStrings = {\n pagePrevText: \"Edellinen\",\n pageNextText: \"Seuraava\",\n completeText: \"Valmis\",\n previewText: \"Esikatselu\",\n editText: \"Muokkaa\",\n startSurveyText: \"Aloita\",\n otherItemText: \"Muu (tarkenna)\",\n noneItemText: \"Ei mitään\",\n refuseItemText: \"Kieltäydy vastaamasta\",\n dontKnowItemText: \"Ei tiedä\",\n selectAllItemText: \"Valitse kaikki\",\n progressText: \"Sivu {0} / {1}\",\n indexText: \"{0} / {1}\",\n panelDynamicProgressText: \"Osio {0} / {1}\",\n panelDynamicTabTextFormat: \"Paneeli {panelIndex}\",\n questionsProgressText: \"Olet vastannut {0} / {1} kysymykseen.\",\n emptySurvey: \"Tässä kyselyssä ei ole yhtään näkyvillä olevaa sivua tai kysymystä.\",\n completingSurvey: \"Kiitos kyselyyn vastaamisesta!\",\n completingSurveyBefore: \"Tietojemme mukaan olet jo suorittanut tämän kyselyn.\",\n loadingSurvey: \"Kyselyä ladataan palvelimelta...\",\n placeholder: \"Valitse...\",\n ratingOptionsCaption: \"Arvioi napauttamalla tätä...\",\n value: \"arvo\",\n requiredError: \"Vastaa kysymykseen, kiitos.\",\n requiredErrorInPanel: \"Vastaa ainakin yhteen kysymykseen.\",\n requiredInAllRowsError: \"Vastaa kysymyksiin kaikilla riveillä.\",\n eachRowUniqueError: \"Jokaisella rivillä on oltava yksilöllinen arvo.\",\n numericError: \"Arvon tulee olla numeerinen.\",\n minError: \"Arvo ei saa olla pienempi kuin {0}\",\n maxError: \"Arvo ei saa olla suurempi kuin {0}\",\n textMinLength: \"Syötä vähintään {0} merkkiä.\",\n textMaxLength: \"Älä syötä yli {0} merkkiä.\",\n textMinMaxLength: \"Syötä vähintään {0} ja enintään {1} merkkiä.\",\n minRowCountError: \"Täytä vähintään {0} riviä.\",\n minSelectError: \"Valitse vähintään {0} vaihtoehtoa.\",\n maxSelectError: \"Valitse enintään {0} vaihtoehtoa.\",\n numericMinMax: \"Luvun '{0}' tulee olla vähintään {1} ja korkeintaan {2}.\",\n numericMin: \"Luvun '{0}' tulee olla vähintään {1}.\",\n numericMax: \"Luvun '{0}' tulee olla korkeintaan {1}.\",\n invalidEmail: \"Syötä validi sähköpostiosoite.\",\n invalidExpression: \"Lausekkeen: {0} pitäisi palauttaa 'true'.\",\n urlRequestError: \"Pyyntö palautti virheen {0}. {1}\",\n urlGetChoicesError: \"Pyyntö palautti tyhjän tiedoston tai 'path'-asetus on väärä\",\n exceedMaxSize: \"Tiedoston koko ei saa olla suurempi kuin {0}.\",\n noUploadFilesHandler: \"Tiedostoja ei voi ladata. Lisää käsittelijä onUploadFiles-tapahtumalle.\",\n otherRequiredError: \"Tarkenna vastaustasi tekstikenttään.\",\n uploadingFile: \"Tiedostoa lähetetään. Odota muutama sekunti ja yritä uudelleen.\",\n loadingFile: \"Ladataan...\",\n chooseFile: \"Valitse tiedosto(t)...\",\n noFileChosen: \"Ei tiedostoa valittuna\",\n filePlaceholder: \"Pudota tiedosto tähän tai lataa tiedosto napsauttamalla alla olevaa painiketta.\",\n confirmDelete: \"Haluatko poistaa osion?\",\n keyDuplicationError: \"Tämä arvo on jo käytössä. Syötä toinen arvo.\",\n addColumn: \"Lisää sarake\",\n addRow: \"Lisää rivi\",\n removeRow: \"Poista\",\n emptyRowsText: \"Ei rivejä\",\n addPanel: \"Lisää uusi\",\n removePanel: \"Poista\",\n showDetails: \"Näytä tiedot\",\n hideDetails: \"Piilota tiedot\",\n choices_Item: \"kohde\",\n matrix_column: \"Sarake\",\n matrix_row: \"Rivi\",\n multipletext_itemname: \"teksti\",\n savingData: \"Tietoja tallennetaan palvelimelle...\",\n savingDataError: \"Tapahtui virhe, emmekä voineet tallentaa kyselyn tietoja.\",\n savingDataSuccess: \"Tiedot tallennettiin onnistuneesti!\",\n saveAgainButton: \"Yritä uudelleen\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Olet käyttänyt {0} tällä sivulla ja yhteensä {1}.\",\n timerSpentPage: \"Olet käyttänyt {0} tällä sivulla.\",\n timerSpentSurvey: \"Olet käyttänyt yhteensä {0}.\",\n timerLimitAll: \"Olet käyttänyt tällä sivulla {0} / {1} ja yhteensä {2} / {3}.\",\n timerLimitPage: \"Olet käyttänyt {0} / {1} tällä sivulla.\",\n timerLimitSurvey: \"Olet käyttänyt yhteensä {0} / {1}.\",\n clearCaption: \"Tyhjennä\",\n signaturePlaceHolder: \"Allekirjoita tähän\",\n chooseFileCaption: \"Valitse tiedosto\",\n takePhotoCaption: \"Ota valokuva\",\n photoPlaceholder: \"Napsauta alla olevaa painiketta ottaaksesi valokuvan kameralla.\",\n fileOrPhotoPlaceholder: \"Vedä ja pudota tai valitse ladattava tiedosto tai ota valokuva kameralla.\",\n replaceFileCaption: \"Korvaa tiedosto\",\n removeFileCaption: \"Poista tämä tiedosto\",\n booleanCheckedLabel: \"Kyllä\",\n booleanUncheckedLabel: \"Ei\",\n confirmRemoveFile: \"Haluatko varmasti poistaa tämän tiedoston: {0}?\",\n confirmRemoveAllFiles: \"Haluatko varmasti poistaa kaikki tiedostot?\",\n questionTitlePatternText: \"Kysymyksen otsikko\",\n modalCancelButtonText: \"Peruuta\",\n modalApplyButtonText: \"Käytä\",\n filterStringPlaceholder: \"Hae kirjoittamalla...\",\n emptyMessage: \"Ei näytettäviä tietoja\",\n noEntriesText: \"Merkintöjä ei ole vielä.\\nLisää uusi merkintä napsauttamalla alla olevaa painiketta.\",\n noEntriesReadonlyText: \"Merkintöjä ei ole.\",\n more: \"Enemmän\",\n tagboxDoneButtonCaption: \"OKEI\",\n selectToRankEmptyRankedAreaText: \"Kaikki valinnat asetetaan paremmuusjärjestykseen\",\n selectToRankEmptyUnrankedAreaText: \"Vedä ja pudota vaihtoehdot tähän luokitellaksesi ne\",\n ok: \"OKEI\",\n cancel: \"Perua\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"fi\"] = finnishSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"fi\"] = \"suomi\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Paneeli {panelIndex}\"\n// emptyMessage: \"No data to display\" => \"Ei näytettäviä tietoja\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Merkintöjä ei ole.\"\n// more: \"More\" => \"Enemmän\"\n// tagboxDoneButtonCaption: \"OK\" => \"OKEI\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Kaikki valinnat asetetaan paremmuusjärjestykseen\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Vedä ja pudota vaihtoehdot tähän luokitellaksesi ne\"// takePhotoCaption: \"Take Photo\" => \"Ota valokuva\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Napsauta alla olevaa painiketta ottaaksesi valokuvan kameralla.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Vedä ja pudota tai valitse ladattava tiedosto tai ota valokuva kameralla.\"\n// replaceFileCaption: \"Replace file\" => \"Korvaa tiedosto\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Jokaisella rivillä on oltava yksilöllinen arvo.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Tiedostoja ei voi ladata. Lisää käsittelijä onUploadFiles-tapahtumalle.\"\n// showDetails: \"Show Details\" => \"Näytä tiedot\"\n// hideDetails: \"Hide Details\" => \"Piilota tiedot\"\n// ok: \"OK\" => \"OKEI\"\n// cancel: \"Cancel\" => \"Perua\"\n// refuseItemText: \"Refuse to answer\" => \"Kieltäydy vastaamasta\"\n// dontKnowItemText: \"Don't know\" => \"Ei tiedä\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/french.ts\":\n/*!************************************!*\\\n !*** ./src/localization/french.ts ***!\n \\************************************/\n/*! exports provided: frenchSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"frenchSurveyStrings\", function() { return frenchSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar frenchSurveyStrings = {\n pagePrevText: \"Précédent\",\n pageNextText: \"Suivant\",\n completeText: \"Terminer\",\n previewText: \"Aperçu\",\n editText: \"Modifier\",\n startSurveyText: \"Commencer\",\n otherItemText: \"Autre (préciser)\",\n noneItemText: \"Aucun\",\n refuseItemText: \"Refuser de répondre\",\n dontKnowItemText: \"Sais pas\",\n selectAllItemText: \"Tout sélectionner\",\n progressText: \"Page {0} sur {1}\",\n indexText: \"{0} sur {1}\",\n panelDynamicProgressText: \"Enregistrement {0} sur {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"{0}/{1} question(s) répondue(s)\",\n emptySurvey: \"Il n'y a ni page visible ni question visible dans ce questionnaire\",\n completingSurvey: \"Merci d'avoir répondu au questionnaire !\",\n completingSurveyBefore: \"Nos données indiquent que vous avez déjà rempli ce questionnaire.\",\n loadingSurvey: \"Le questionnaire est en cours de chargement...\",\n placeholder: \"Choisissez...\",\n ratingOptionsCaption: \"Appuyez ici pour noter...\",\n value: \"valeur\",\n requiredError: \"La réponse à cette question est obligatoire.\",\n requiredErrorInPanel: \"Merci de répondre au moins à une question.\",\n requiredInAllRowsError: \"Toutes les lignes sont obligatoires\",\n eachRowUniqueError: \"Chaque ligne doit avoir une valeur unique.\",\n numericError: \"La réponse doit être un nombre.\",\n minError: \"La valeur ne doit pas être inférieure à {0}\",\n maxError: \"La valeur ne doit pas être supérieure à {0}\",\n textMinLength: \"Merci de saisir au moins {0} caractères.\",\n textMaxLength: \"Merci de saisir moins de {0} caractères.\",\n textMinMaxLength: \"Merci de saisir entre {0} et {1} caractères.\",\n minRowCountError: \"Merci de compléter au moins {0} lignes.\",\n minSelectError: \"Merci de sélectionner au minimum {0} réponses.\",\n maxSelectError: \"Merci de sélectionner au maximum {0} réponses.\",\n numericMinMax: \"Votre réponse '{0}' doit être supérieure ou égale à {1} et inférieure ou égale à {2}\",\n numericMin: \"Votre réponse '{0}' doit être supérieure ou égale à {1}\",\n numericMax: \"Votre réponse '{0}' doit être inférieure ou égale à {1}\",\n invalidEmail: \"Merci d'entrer une adresse mail valide.\",\n invalidExpression: \"L'expression: {0} doit retourner 'true'.\",\n urlRequestError: \"La requête a renvoyé une erreur '{0}'. {1}\",\n urlGetChoicesError: \"La requête a renvoyé des données vides ou la propriété 'path' est incorrecte\",\n exceedMaxSize: \"La taille du fichier ne doit pas excéder {0}.\",\n noUploadFilesHandler: \"Les fichiers ne peuvent pas être téléchargés. Veuillez ajouter un gestionnaire pour l’événement 'onUploadFiles'.\",\n otherRequiredError: \"Merci de préciser le champ 'Autre'.\",\n uploadingFile: \"Votre fichier est en cours de chargement. Merci d'attendre quelques secondes et de réessayer.\",\n loadingFile: \"Chargement...\",\n chooseFile: \"Ajouter des fichiers...\",\n noFileChosen: \"Aucun fichier ajouté\",\n filePlaceholder: \"Déposez un fichier ici ou cliquez sur le bouton ci-dessous pour charger le fichier.\",\n confirmDelete: \"Voulez-vous supprimer cet enregistrement ?\",\n keyDuplicationError: \"Cette valeur doit être unique.\",\n addColumn: \"Ajouter une colonne\",\n addRow: \"Ajouter une ligne\",\n removeRow: \"Supprimer\",\n emptyRowsText: \"Il n'y a pas de lignes.\",\n addPanel: \"Ajouter\",\n removePanel: \"Supprimer\",\n showDetails: \"Afficher les détails\",\n hideDetails: \"Masquer les détails\",\n choices_Item: \"item\",\n matrix_column: \"Colonne\",\n matrix_row: \"Ligne\",\n multipletext_itemname: \"texte\",\n savingData: \"Les résultats sont en cours de sauvegarde sur le serveur...\",\n savingDataError: \"Une erreur est survenue et a empêché la sauvegarde des résultats.\",\n savingDataSuccess: \"Les résultats ont bien été enregistrés !\",\n saveAgainButton: \"Réessayer\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"Vous avez passé {0} sur cette page et {1} au total.\",\n timerSpentPage: \"Vous avez passé {0} sur cette page.\",\n timerSpentSurvey: \"Vous avez passé {0} au total.\",\n timerLimitAll: \"Vous avez passé {0} sur {1} sur cette page et {2} sur {3} au total.\",\n timerLimitPage: \"Vous avez passé {0} sur {1} sur cette page.\",\n timerLimitSurvey: \"Vous avez passé {0} sur {1} au total.\",\n clearCaption: \"Vider\",\n signaturePlaceHolder: \"Signez ici\",\n chooseFileCaption: \"Ajouter un fichier\",\n takePhotoCaption: \"Prendre une photo\",\n photoPlaceholder: \"Cliquez sur le bouton ci-dessous pour prendre une photo à l’aide de l’appareil photo.\",\n fileOrPhotoPlaceholder: \"Faites glisser et déposez ou sélectionnez un fichier à télécharger ou à prendre une photo à l’aide de l’appareil photo.\",\n replaceFileCaption: \"Remplacer le fichier\",\n removeFileCaption: \"Enlever ce fichier\",\n booleanCheckedLabel: \"Oui\",\n booleanUncheckedLabel: \"Non\",\n confirmRemoveFile: \"Êtes-vous certains de vouloir supprimer ce fichier : {0}?\",\n confirmRemoveAllFiles: \"Êtes-vous certains de vouloir supprimer tous les fichiers?\",\n questionTitlePatternText: \"Titre de la question\",\n modalCancelButtonText: \"Annuler\",\n modalApplyButtonText: \"Appliquer\",\n filterStringPlaceholder: \"Tapez pour rechercher...\",\n emptyMessage: \"Aucune donnée à afficher\",\n noEntriesText: \"Il n'y a pas encore d'entrées.\\nCliquez sur le bouton ci-dessous pour ajouter une nouvelle entrée.\",\n noEntriesReadonlyText: \"Il n’y a pas d’entrées.\",\n more: \"Plus\",\n tagboxDoneButtonCaption: \"D’ACCORD\",\n selectToRankEmptyRankedAreaText: \"Tous les choix sont classés\",\n selectToRankEmptyUnrankedAreaText: \"Faites glisser et déposez les choix ici pour les classer\",\n ok: \"D’ACCORD\",\n cancel: \"Annuler\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"fr\"] = frenchSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"fr\"] = \"français\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// emptyMessage: \"No data to display\" => \"Aucune donnée à afficher\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Il n’y a pas d’entrées.\"\n// more: \"More\" => \"Plus\"\n// tagboxDoneButtonCaption: \"OK\" => \"D’ACCORD\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Tous les choix sont classés\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Faites glisser et déposez les choix ici pour les classer\"// takePhotoCaption: \"Take Photo\" => \"Prendre une photo\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Cliquez sur le bouton ci-dessous pour prendre une photo à l’aide de l’appareil photo.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Faites glisser et déposez ou sélectionnez un fichier à télécharger ou à prendre une photo à l’aide de l’appareil photo.\"\n// replaceFileCaption: \"Replace file\" => \"Remplacer le fichier\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Chaque ligne doit avoir une valeur unique.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Les fichiers ne peuvent pas être téléchargés. Veuillez ajouter un gestionnaire pour l’événement 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Afficher les détails\"\n// hideDetails: \"Hide Details\" => \"Masquer les détails\"\n// ok: \"OK\" => \"D’ACCORD\"\n// cancel: \"Cancel\" => \"Annuler\"\n// refuseItemText: \"Refuse to answer\" => \"Refuser de répondre\"\n// dontKnowItemText: \"Don't know\" => \"Sais pas\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/georgian.ts\":\n/*!**************************************!*\\\n !*** ./src/localization/georgian.ts ***!\n \\**************************************/\n/*! exports provided: georgianSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"georgianSurveyStrings\", function() { return georgianSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar georgianSurveyStrings = {\n pagePrevText: \"უკან\",\n pageNextText: \"შემდეგ\",\n completeText: \"დასრულება\",\n previewText: \"გადახედვა\",\n editText: \"რედაქტირება\",\n startSurveyText: \"დაქოქვა\",\n otherItemText: \"სხვა (გთხოვთ მიუთითეთ)\",\n noneItemText: \"არცერთი\",\n refuseItemText: \"უარი პასუხზე\",\n dontKnowItemText: \"არ ვიცი\",\n selectAllItemText: \"ყველას მონიშნა\",\n progressText: \"გვერდი {0} / {1}\",\n indexText: \"{1} {0}\",\n panelDynamicProgressText: \"{1} {0}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"უპასუხეთ {0}/{1} კითხვებს\",\n emptySurvey: \"არცერთი კითხვა არ არის.\",\n completingSurvey: \"გმადლობთ კითხვარის შევსებისთვის!\",\n completingSurveyBefore: \"ჩვენი ჩანაწერები აჩვენებს, რომ თქვენ უკვე დაასრულეთ ეს გამოკითხვა.\",\n loadingSurvey: \"ჩატვირთვა სერვერიდან...\",\n placeholder: \"არჩევა...\",\n ratingOptionsCaption: \"აირჩიეთ...\",\n value: \"ღირებულება\",\n requiredError: \"გთხოვთ უპასუხეთ კითხვას.\",\n requiredErrorInPanel: \"საჭიროა პასუხი: უპასუხეთ მინიმუმ ერთ კითხვას.\",\n requiredInAllRowsError: \"საჭიროა პასუხი: უპასუხეთ კითხვებს ყველა რიგში.\",\n eachRowUniqueError: \"თითოეულ რიგს უნდა ჰქონდეს უნიკალური მნიშვნელობა.\",\n numericError: \"პასუხი უნდა იყოს რიცხვი.\",\n minError: \"ღირებულება არ უნდა იყოს ნაკლები {0}\",\n maxError: \"ღირებულება არ უნდა იყოს {0}\",\n textMinLength: \"გთხოვთ შეიყვანეთ არანაკლებ {0} სიმბოლო.\",\n textMaxLength: \"გთხოვთ, შეიყვანოთ არაუმეტეს {0} სიმბოლო(ებ)ი.\",\n textMinMaxLength: \"გთხოვთ, შეიყვანოთ მინიმუმ {0} და არაუმეტეს {1} სიმბოლო.\",\n minRowCountError: \"გთხოვთ შეავსოთ მინიმუმ {0} რიგი( ებ)ი.\",\n minSelectError: \"გთხოვთ აირჩიეთ არანაკლებ {0} ვარიანტი.\",\n maxSelectError: \"გთხოვთ აირჩიეთ არაუმეტეს {0} ვარიანტი.\",\n numericMinMax: \"'{0}' უნდა იყოს მეტი ან ტოლი, ვიდრე {1}, და ნაკლები ან ტოლი ვიდრე {2}\",\n numericMin: \"'{0}' უნდა იყოს მეტი ან ტოლი ვიდრე {1}\",\n numericMax: \"'{0}' უნდა იყოს ნაკლები ან ტოლი ვიდრე {1}\",\n invalidEmail: \"გთხოვთ შეიყვანოთ ელ. ფოსტის რეალური მისამართი.\",\n invalidExpression: \"გამოთქმა: {0} უნდა დაბრუნდეს \\\"ჭეშმარიტი\\\".\",\n urlRequestError: \"მოთხოვნა დაუბრუნდა შეცდომას '{0}'. {1}\",\n urlGetChoicesError: \"მოთხოვნამ დაუბრუნა ცარიელი მონაცემები ან \\\"ბილიკის\\\" ქონება არასწორია\",\n exceedMaxSize: \"ფაილის ზომა არ უნდა აღემატებოდეს {0}.\",\n noUploadFilesHandler: \"ფაილების ატვირთვა შეუძლებელია. გთხოვთ, დაამატოთ დამმუშავებელი 'onUploadFiles' ღონისძიებისთვის.\",\n otherRequiredError: \"საჭიროა პასუხი: შეიყვანეთ სხვა მნიშვნელობა.\",\n uploadingFile: \"თქვენი ფაილი ატვირთვაა. გთხოვთ დაელოდოთ რამდენიმე წამს და კიდევ სცადოთ.\",\n loadingFile: \"იტვირთება...\",\n chooseFile: \"აირჩიეთ ფაილი...\",\n noFileChosen: \"ფაილის არჩევა არ არის\",\n filePlaceholder: \"გადაიტანეთ და ჩამოაგდეთ ფაილი აქ ან დააჭირეთ ქვემოთ მოცემულ ღილაკს და აირჩიეთ ფაილი ასატვირთად.\",\n confirmDelete: \"გსურთ ჩანაწერის წაშლა?\",\n keyDuplicationError: \"ეს მნიშვნელობა უნდა იყოს უნიკალური.\",\n addColumn: \"სვეტის დამატება\",\n addRow: \"რიგის დამატება\",\n removeRow: \"წაშლა\",\n emptyRowsText: \"რიგები არ არის.\",\n addPanel: \"ახალი დამატება\",\n removePanel: \"წაშლა\",\n showDetails: \"დეტალების ჩვენება\",\n hideDetails: \"დეტალების დამალვა\",\n choices_Item: \"ნივთი\",\n matrix_column: \"სვეტი\",\n matrix_row: \"რიგი\",\n multipletext_itemname: \"ტექსტი\",\n savingData: \"შედეგები ინახება სერვერზე...\",\n savingDataError: \"დაფიქსირდა შეცდომა და შედეგი ვერ შევინახავდით.\",\n savingDataSuccess: \"შედეგები წარმატებით გადაარჩინეს!\",\n saveAgainButton: \"კიდევ სცადე\",\n timerMin: \"წთ\",\n timerSec: \"წმ\",\n timerSpentAll: \"თქვენ დახარჯეთ {0} ამ გვერდზე და ჯამში {1}.\",\n timerSpentPage: \"თქვენ {0} დახარჯეთ ამ გვერდზე.\",\n timerSpentSurvey: \"თქვენ სულ {0} დახარჯეთ.\",\n timerLimitAll: \"თქვენ დახარჯეთ {1} {0} ამ გვერდზე და ჯამში {3} {2}.\",\n timerLimitPage: \"თქვენ ამ გვერდზე {1} {0} დახარჯეთ.\",\n timerLimitSurvey: \"თქვენ სულ {1} {0} დახარჯეთ.\",\n clearCaption: \"მოწმენდილი ცა\",\n signaturePlaceHolder: \"შესვლა აქ\",\n chooseFileCaption: \"ვაუჩერის ნახვა\",\n takePhotoCaption: \"გადაიღეთ ფოტო\",\n photoPlaceholder: \"დააჭირეთ ქვემოთ მოცემულ ღილაკს, რომ გადაიღოთ ფოტო კამერის გამოყენებით.\",\n fileOrPhotoPlaceholder: \"გადაიტანეთ და ჩამოაგდეთ ან შეარჩიეთ ფაილი კამერის გამოყენებით ფოტოს ასატვირთად ან გადასაღებად.\",\n replaceFileCaption: \"ფაილის შეცვლა\",\n removeFileCaption: \"ამ ფაილის წაშლა\",\n booleanCheckedLabel: \"დიახ\",\n booleanUncheckedLabel: \"არა\",\n confirmRemoveFile: \"დარწმუნებული ხართ, რომ გსურთ ამ ფაილის წაშლა: {0}?\",\n confirmRemoveAllFiles: \"დარწმუნებული ხართ, რომ გსურთ ყველა ფაილის წაშლა?\",\n questionTitlePatternText: \"კითხვის სათაური\",\n modalCancelButtonText: \"გაუქმება\",\n modalApplyButtonText: \"მიღება\",\n filterStringPlaceholder: \"ჩაწერეთ ძებნა...\",\n emptyMessage: \"მონაცემები არ არის საჩვენებლად\",\n noEntriesText: \"ჯერ არ არის ჩანაწერები.\\nდააჭირეთ ქვემოთ მოცემულ ღილაკს, რომ დაამატოთ ახალი ჩანაწერი.\",\n noEntriesReadonlyText: \"არ არსებობს ჩანაწერები.\",\n more: \"სრულად\",\n tagboxDoneButtonCaption: \"კარგი\",\n selectToRankEmptyRankedAreaText: \"ყველა არჩევანი რანჟირებულია\",\n selectToRankEmptyUnrankedAreaText: \"გადაიტანეთ და ჩამოაგდეთ არჩევანი აქ, რომ დაასახელოთ ისინი\",\n ok: \"კარგი\",\n cancel: \"გაუქმება\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"ka\"] = georgianSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"ka\"] = \"ქართული\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// previewText: \"Preview\" => \"გადახედვა\"\n// editText: \"Edit\" => \"რედაქტირება\"\n// startSurveyText: \"Start\" => \"დაქოქვა\"\n// noneItemText: \"None\" => \"არცერთი\"\n// selectAllItemText: \"Select All\" => \"ყველას მონიშნა\"\n// indexText: \"{0} of {1}\" => \"{1} {0}\"\n// panelDynamicProgressText: \"{0} of {1}\" => \"{1} {0}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// questionsProgressText: \"Answered {0}/{1} questions\" => \"უპასუხეთ {0}/{1} კითხვებს\"\n// completingSurveyBefore: \"Our records show that you have already completed this survey.\" => \"ჩვენი ჩანაწერები აჩვენებს, რომ თქვენ უკვე დაასრულეთ ეს გამოკითხვა.\"\n// ratingOptionsCaption: \"Select...\" => \"აირჩიეთ...\"\n// value: \"value\" => \"ღირებულება\"\n// requiredErrorInPanel: \"Response required: answer at least one question.\" => \"საჭიროა პასუხი: უპასუხეთ მინიმუმ ერთ კითხვას.\"\n// requiredInAllRowsError: \"Response required: answer questions in all rows.\" => \"საჭიროა პასუხი: უპასუხეთ კითხვებს ყველა რიგში.\"\n// minError: \"The value should not be less than {0}\" => \"ღირებულება არ უნდა იყოს ნაკლები {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"ღირებულება არ უნდა იყოს {0}\"\n// textMaxLength: \"Please enter no more than {0} character(s).\" => \"გთხოვთ, შეიყვანოთ არაუმეტეს {0} სიმბოლო(ებ)ი.\"\n// textMinMaxLength: \"Please enter at least {0} and no more than {1} characters.\" => \"გთხოვთ, შეიყვანოთ მინიმუმ {0} და არაუმეტეს {1} სიმბოლო.\"\n// minRowCountError: \"Please fill in at least {0} row(s).\" => \"გთხოვთ შეავსოთ მინიმუმ {0} რიგი( ებ)ი.\"\n// invalidExpression: \"The expression: {0} should return 'true'.\" => \"გამოთქმა: {0} უნდა დაბრუნდეს \\\"ჭეშმარიტი\\\".\"\n// urlRequestError: \"The request returned error '{0}'. {1}\" => \"მოთხოვნა დაუბრუნდა შეცდომას '{0}'. {1}\"\n// urlGetChoicesError: \"The request returned empty data or the 'path' property is incorrect\" => \"მოთხოვნამ დაუბრუნა ცარიელი მონაცემები ან \\\"ბილიკის\\\" ქონება არასწორია\"\n// exceedMaxSize: \"The file size should not exceed {0}.\" => \"ფაილის ზომა არ უნდა აღემატებოდეს {0}.\"\n// otherRequiredError: \"Response required: enter another value.\" => \"საჭიროა პასუხი: შეიყვანეთ სხვა მნიშვნელობა.\"\n// uploadingFile: \"Your file is uploading. Please wait several seconds and try again.\" => \"თქვენი ფაილი ატვირთვაა. გთხოვთ დაელოდოთ რამდენიმე წამს და კიდევ სცადოთ.\"\n// loadingFile: \"Loading...\" => \"იტვირთება...\"\n// chooseFile: \"Choose file(s)...\" => \"აირჩიეთ ფაილი...\"\n// noFileChosen: \"No file chosen\" => \"ფაილის არჩევა არ არის\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"გადაიტანეთ და ჩამოაგდეთ ფაილი აქ ან დააჭირეთ ქვემოთ მოცემულ ღილაკს და აირჩიეთ ფაილი ასატვირთად.\"\n// confirmDelete: \"Do you want to delete the record?\" => \"გსურთ ჩანაწერის წაშლა?\"\n// keyDuplicationError: \"This value should be unique.\" => \"ეს მნიშვნელობა უნდა იყოს უნიკალური.\"\n// addColumn: \"Add Column\" => \"სვეტის დამატება\"\n// addRow: \"Add Row\" => \"რიგის დამატება\"\n// removeRow: \"Remove\" => \"წაშლა\"\n// emptyRowsText: \"There are no rows.\" => \"რიგები არ არის.\"\n// addPanel: \"Add new\" => \"ახალი დამატება\"\n// removePanel: \"Remove\" => \"წაშლა\"\n// choices_Item: \"item\" => \"ნივთი\"\n// matrix_column: \"Column\" => \"სვეტი\"\n// matrix_row: \"Row\" => \"რიგი\"\n// multipletext_itemname: \"text\" => \"ტექსტი\"\n// savingData: \"The results are being saved on the server...\" => \"შედეგები ინახება სერვერზე...\"\n// savingDataError: \"An error occurred and we could not save the results.\" => \"დაფიქსირდა შეცდომა და შედეგი ვერ შევინახავდით.\"\n// savingDataSuccess: \"The results were saved successfully!\" => \"შედეგები წარმატებით გადაარჩინეს!\"\n// saveAgainButton: \"Try again\" => \"კიდევ სცადე\"\n// timerMin: \"min\" => \"წთ\"\n// timerSec: \"sec\" => \"წმ\"\n// timerSpentAll: \"You have spent {0} on this page and {1} in total.\" => \"თქვენ დახარჯეთ {0} ამ გვერდზე და ჯამში {1}.\"\n// timerSpentPage: \"You have spent {0} on this page.\" => \"თქვენ {0} დახარჯეთ ამ გვერდზე.\"\n// timerSpentSurvey: \"You have spent {0} in total.\" => \"თქვენ სულ {0} დახარჯეთ.\"\n// timerLimitAll: \"You have spent {0} of {1} on this page and {2} of {3} in total.\" => \"თქვენ დახარჯეთ {1} {0} ამ გვერდზე და ჯამში {3} {2}.\"\n// timerLimitPage: \"You have spent {0} of {1} on this page.\" => \"თქვენ ამ გვერდზე {1} {0} დახარჯეთ.\"\n// timerLimitSurvey: \"You have spent {0} of {1} in total.\" => \"თქვენ სულ {1} {0} დახარჯეთ.\"\n// clearCaption: \"Clear\" => \"მოწმენდილი ცა\"\n// signaturePlaceHolder: \"Sign here\" => \"შესვლა აქ\"\n// chooseFileCaption: \"Choose file\" => \"ვაუჩერის ნახვა\"\n// removeFileCaption: \"Remove this file\" => \"ამ ფაილის წაშლა\"\n// booleanCheckedLabel: \"Yes\" => \"დიახ\"\n// booleanUncheckedLabel: \"No\" => \"არა\"\n// confirmRemoveFile: \"Are you sure that you want to remove this file: {0}?\" => \"დარწმუნებული ხართ, რომ გსურთ ამ ფაილის წაშლა: {0}?\"\n// confirmRemoveAllFiles: \"Are you sure that you want to remove all files?\" => \"დარწმუნებული ხართ, რომ გსურთ ყველა ფაილის წაშლა?\"\n// questionTitlePatternText: \"Question Title\" => \"კითხვის სათაური\"\n// modalCancelButtonText: \"Cancel\" => \"გაუქმება\"\n// modalApplyButtonText: \"Apply\" => \"მიღება\"\n// filterStringPlaceholder: \"Type to search...\" => \"ჩაწერეთ ძებნა...\"\n// emptyMessage: \"No data to display\" => \"მონაცემები არ არის საჩვენებლად\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"ჯერ არ არის ჩანაწერები.\\nდააჭირეთ ქვემოთ მოცემულ ღილაკს, რომ დაამატოთ ახალი ჩანაწერი.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"არ არსებობს ჩანაწერები.\"\n// more: \"More\" => \"სრულად\"\n// tagboxDoneButtonCaption: \"OK\" => \"კარგი\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"ყველა არჩევანი რანჟირებულია\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"გადაიტანეთ და ჩამოაგდეთ არჩევანი აქ, რომ დაასახელოთ ისინი\"// takePhotoCaption: \"Take Photo\" => \"გადაიღეთ ფოტო\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"დააჭირეთ ქვემოთ მოცემულ ღილაკს, რომ გადაიღოთ ფოტო კამერის გამოყენებით.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"გადაიტანეთ და ჩამოაგდეთ ან შეარჩიეთ ფაილი კამერის გამოყენებით ფოტოს ასატვირთად ან გადასაღებად.\"\n// replaceFileCaption: \"Replace file\" => \"ფაილის შეცვლა\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"თითოეულ რიგს უნდა ჰქონდეს უნიკალური მნიშვნელობა.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"ფაილების ატვირთვა შეუძლებელია. გთხოვთ, დაამატოთ დამმუშავებელი 'onUploadFiles' ღონისძიებისთვის.\"\n// showDetails: \"Show Details\" => \"დეტალების ჩვენება\"\n// hideDetails: \"Hide Details\" => \"დეტალების დამალვა\"\n// ok: \"OK\" => \"კარგი\"\n// cancel: \"Cancel\" => \"გაუქმება\"\n// refuseItemText: \"Refuse to answer\" => \"უარი პასუხზე\"\n// dontKnowItemText: \"Don't know\" => \"არ ვიცი\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/german.ts\":\n/*!************************************!*\\\n !*** ./src/localization/german.ts ***!\n \\************************************/\n/*! exports provided: germanSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"germanSurveyStrings\", function() { return germanSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar germanSurveyStrings = {\n pagePrevText: \"Zurück\",\n pageNextText: \"Weiter\",\n completeText: \"Abschließen\",\n previewText: \"Vorschau\",\n editText: \"Bearbeiten\",\n startSurveyText: \"Start\",\n otherItemText: \"Sonstiges (Bitte angeben)\",\n noneItemText: \"Nichts trifft zu\",\n refuseItemText: \"Verweigern Sie die Antwort\",\n dontKnowItemText: \"Weiß ich nicht\",\n selectAllItemText: \"Alles auswählen\",\n progressText: \"Seite {0} von {1}\",\n indexText: \"{0} von {1}\",\n panelDynamicProgressText: \"Eintrag {0} von {1}\",\n panelDynamicTabTextFormat: \"Bereich {panelIndex}\",\n questionsProgressText: \"{0}/{1} Fragen beantwortet\",\n emptySurvey: \"Es sind keine Fragen vorhanden.\",\n completingSurvey: \"Vielen Dank, dass Sie die Umfrage abgeschlossen haben!\",\n completingSurveyBefore: \"Aus unseren Unterlagen geht hervor, dass Sie diese Umfrage bereits abgeschlossen haben.\",\n loadingSurvey: \"Umfrage wird geladen...\",\n placeholder: \"Bitte auswählen...\",\n ratingOptionsCaption: \"Tippen Sie hier, um zu bewerten...\",\n value: \"Wert\",\n requiredError: \"Bitte beantworten Sie diese Frage.\",\n requiredErrorInPanel: \"Bitte beantworten Sie mindestens eine Frage.\",\n requiredInAllRowsError: \"Bitte beantworten Sie alle Fragen.\",\n eachRowUniqueError: \"Jede Zeile muss einen eindeutigen Wert haben.\",\n numericError: \"Der Wert muss eine Zahl sein.\",\n minError: \"Der Wert sollte nicht kleiner als {0} sein\",\n maxError: \"Der Wert sollte nicht größer als {0} sein\",\n textMinLength: \"Bitte geben Sie mindestens {0} Zeichen ein.\",\n textMaxLength: \"Bitte geben Sie nicht mehr als {0} Zeichen ein.\",\n textMinMaxLength: \"Bitte geben Sie mindestens {0} und maximal {1} Zeichen ein.\",\n minRowCountError: \"Bitte machen Sie in mindestens {0} Zeilen eine Eingabe.\",\n minSelectError: \"Bitte wählen Sie mindestens {0} Antwort(en) aus.\",\n maxSelectError: \"Bitte wählen Sie nicht mehr als {0} Antwort(en) aus.\",\n numericMinMax: \"'{0}' muss größer oder gleich {1} und kleiner oder gleich {2} sein\",\n numericMin: \"'{0}' muss größer oder gleich {1} sein\",\n numericMax: \"'{0}' muss kleiner oder gleich {1} sein\",\n invalidEmail: \"Bitte geben Sie eine gültige E-Mail-Adresse ein.\",\n invalidExpression: \"Der Ausdruck: {0} muss den Wert 'wahr' zurückgeben.\",\n urlRequestError: \"Ein Netzwerkdienst hat folgenden Fehler zurückgegeben '{0}'. {1}\",\n urlGetChoicesError: \"Eine Netzwerkdienst hat ungültige Daten zurückgegeben\",\n exceedMaxSize: \"Die Datei darf nicht größer als {0} sein.\",\n noUploadFilesHandler: \"Dateien können nicht hochgeladen werden. Fügen Sie einen Handler für das Ereignis 'onUploadFiles' hinzu.\",\n otherRequiredError: \"Bitte geben Sie einen Wert an.\",\n uploadingFile: \"Bitte warten Sie bis der Upload Ihrer Dateien abgeschlossen ist.\",\n loadingFile: \"Wird hochgeladen...\",\n chooseFile: \"Datei(en) auswählen...\",\n noFileChosen: \"Keine Datei ausgewählt\",\n filePlaceholder: \"Legen Sie hier eine Datei ab oder klicken Sie auf die Schaltfläche unten, um die Datei zu laden.\",\n confirmDelete: \"Wollen Sie den Eintrag löschen?\",\n keyDuplicationError: \"Dieser Wert muss einmalig sein.\",\n addColumn: \"Spalte hinzufügen\",\n addRow: \"Zeile hinzufügen\",\n removeRow: \"Entfernen\",\n emptyRowsText: \"Es gibt keine Reihen.\",\n addPanel: \"Neu hinzufügen\",\n removePanel: \"Entfernen\",\n showDetails: \"Details anzeigen\",\n hideDetails: \"Details ausblenden\",\n choices_Item: \"Element\",\n matrix_column: \"Spalte\",\n matrix_row: \"Zeile\",\n multipletext_itemname: \"Text\",\n savingData: \"Die Ergebnisse werden auf dem Server gespeichert...\",\n savingDataError: \"Es ist ein Fehler aufgetreten. Die Ergebnisse konnten nicht gespeichert werden.\",\n savingDataSuccess: \"Die Ergebnisse wurden gespeichert!\",\n saveAgainButton: \"Erneut absenden\",\n timerMin: \"Min.\",\n timerSec: \"Sek.\",\n timerSpentAll: \"Sie waren {0} auf dieser Seite und brauchten insgesamt {1}.\",\n timerSpentPage: \"Sie waren {0} auf dieser Seite.\",\n timerSpentSurvey: \"Sie haben insgesamt {0} gebraucht.\",\n timerLimitAll: \"Sie waren {0} von {1} auf dieser Seite und brauchten insgesamt {2} von {3}.\",\n timerLimitPage: \"Sie waren {0} von {1} auf dieser Seite.\",\n timerLimitSurvey: \"Sie haben insgesamt {0} von {1} gebraucht.\",\n clearCaption: \"Auswahl entfernen\",\n signaturePlaceHolder: \"Hier unterschreiben\",\n chooseFileCaption: \"Datei auswählen\",\n takePhotoCaption: \"Foto machen\",\n photoPlaceholder: \"Klicken Sie auf die Schaltfläche unten, um ein Foto mit der Kamera aufzunehmen.\",\n fileOrPhotoPlaceholder: \"Ziehen Sie eine Datei per Drag & Drop oder wählen Sie sie aus, um sie hochzuladen oder ein Foto mit der Kamera aufzunehmen.\",\n replaceFileCaption: \"Datei ersetzen\",\n removeFileCaption: \"Datei löschen\",\n booleanCheckedLabel: \"Ja\",\n booleanUncheckedLabel: \"Nein\",\n confirmRemoveFile: \"Sind Sie sicher, dass Sie diese Datei löschen möchten: {0}?\",\n confirmRemoveAllFiles: \"Sind Sie sicher, dass Sie alle Dateien löschen möchten?\",\n questionTitlePatternText: \"Fragentitel\",\n modalCancelButtonText: \"Abbrechen\",\n modalApplyButtonText: \"Anwenden\",\n filterStringPlaceholder: \"Tippe um zu suchen...\",\n emptyMessage: \"Es gibt noch keine Daten.\",\n noEntriesText: \"Es gibt noch keine Einträge.\\nKlicken Sie auf die Schaltfläche unten, um einen neuen Eintrag hinzuzufügen.\",\n noEntriesReadonlyText: \"Es gibt keine Einträge.\",\n more: \"Mehr\",\n tagboxDoneButtonCaption: \"OKAY\",\n selectToRankEmptyRankedAreaText: \"Alle Auswahlmöglichkeiten sind in einer Rangfolge angeordnet\",\n selectToRankEmptyUnrankedAreaText: \"Ziehen Sie die Auswahl hierher, um sie zu ordnen\",\n ok: \"OKAY\",\n cancel: \"Abbrechen\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"de\"] = germanSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"de\"] = \"deutsch\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Bereich {panelIndex}\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Es gibt keine Einträge.\"\n// tagboxDoneButtonCaption: \"OK\" => \"OKAY\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Alle Auswahlmöglichkeiten sind in einer Rangfolge angeordnet\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Ziehen Sie die Auswahl hierher, um sie zu ordnen\"// takePhotoCaption: \"Take Photo\" => \"Foto machen\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Klicken Sie auf die Schaltfläche unten, um ein Foto mit der Kamera aufzunehmen.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Ziehen Sie eine Datei per Drag & Drop oder wählen Sie sie aus, um sie hochzuladen oder ein Foto mit der Kamera aufzunehmen.\"\n// replaceFileCaption: \"Replace file\" => \"Datei ersetzen\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Jede Zeile muss einen eindeutigen Wert haben.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Dateien können nicht hochgeladen werden. Fügen Sie einen Handler für das Ereignis 'onUploadFiles' hinzu.\"\n// showDetails: \"Show Details\" => \"Details anzeigen\"\n// hideDetails: \"Hide Details\" => \"Details ausblenden\"\n// ok: \"OK\" => \"OKAY\"\n// cancel: \"Cancel\" => \"Abbrechen\"\n// refuseItemText: \"Refuse to answer\" => \"Verweigern Sie die Antwort\"\n// dontKnowItemText: \"Don't know\" => \"Weiß ich nicht\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/greek.ts\":\n/*!***********************************!*\\\n !*** ./src/localization/greek.ts ***!\n \\***********************************/\n/*! exports provided: greekSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"greekSurveyStrings\", function() { return greekSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar greekSurveyStrings = {\n pagePrevText: \"Προηγούμενο\",\n pageNextText: \"Επόμενο\",\n completeText: \"Ολοκλήρωση\",\n previewText: \"Προεπισκόπηση\",\n editText: \"Επεξεργασία\",\n startSurveyText: \"Αρχή\",\n otherItemText: \"Άλλο (παρακαλώ διευκρινίστε)\",\n noneItemText: \"Κανένας\",\n refuseItemText: \"Αρνηθείτε να απαντήσετε\",\n dontKnowItemText: \"Δεν ξέρω\",\n selectAllItemText: \"Επιλογή όλων\",\n progressText: \"Σελίδα {0} από {1}\",\n indexText: \"{0} από {1}\",\n panelDynamicProgressText: \"Εγγραφή {0} από {1}\",\n panelDynamicTabTextFormat: \"Πίνακας {panelIndex}\",\n questionsProgressText: \"Απαντήθηκαν {0} / {1} ερωτήσεις\",\n emptySurvey: \"Δεν υπάρχει καμία ορατή σελίδα ή ορατή ερώτηση σε αυτό το ερωτηματολόγιο.\",\n completingSurvey: \"Ευχαριστούμε για την συμπλήρωση αυτού του ερωτηματολογίου!\",\n completingSurveyBefore: \"Τα αρχεία μας δείχνουν ότι έχετε ήδη ολοκληρώσει αυτήν την έρευνα.\",\n loadingSurvey: \"Το ερωτηματολόγιο φορτώνεται απο το διακομιστή...\",\n placeholder: \"Επιλέξτε...\",\n ratingOptionsCaption: \"Πατήστε για να βαθμολογήσετε εδώ...\",\n value: \"τιμή\",\n requiredError: \"Παρακαλώ απαντήστε στην ερώτηση.\",\n requiredErrorInPanel: \"Απαντήστε σε τουλάχιστον μία ερώτηση.\",\n requiredInAllRowsError: \"Παρακαλώ απαντήστε τις ερωτήσεις σε όλες τις γραμμές.\",\n eachRowUniqueError: \"Κάθε γραμμή πρέπει να έχει μια μοναδική τιμή.\",\n numericError: \"Η τιμή πρέπει να είναι αριθμητική.\",\n minError: \"Η τιμή δεν πρέπει να είναι μικρότερη από {0}\",\n maxError: \"Η τιμή δεν πρέπει να είναι μεγαλύτερη από {0}\",\n textMinLength: \"Παρακαλώ συμπληρώστε τουλάχιστον {0} χαρακτήρες.\",\n textMaxLength: \"Εισαγάγετε λιγότερους από {0} χαρακτήρες.\",\n textMinMaxLength: \"Εισαγάγετε περισσότερους από {0} και λιγότερους από {1} χαρακτήρες.\",\n minRowCountError: \"Παρακαλώ συμπληρώστε τουλάχιστον {0} γραμμές.\",\n minSelectError: \"Παρακαλώ επιλέξτε τουλάχιστον {0} παραλλαγές.\",\n maxSelectError: \"Παρακαλώ επιλέξτε όχι παραπάνω απο {0} παραλλαγές.\",\n numericMinMax: \"Το '{0}' θα πρέπει να είναι ίσο ή μεγαλύτερο απο το {1} και ίσο ή μικρότερο απο το {2}\",\n numericMin: \"Το '{0}' πρέπει να είναι μεγαλύτερο ή ισο με το {1}\",\n numericMax: \"Το '{0}' πρέπει να είναι μικρότερο ή ίσο απο το {1}\",\n invalidEmail: \"Παρακαλώ δώστε μια αποδεκτή διεύθυνση e-mail.\",\n invalidExpression: \"Η έκφραση: {0} θα πρέπει να επιστρέψει 'true'.\",\n urlRequestError: \"Η αίτηση επέστρεψε σφάλμα '{0}'. {1}\",\n urlGetChoicesError: \"Η αίτηση επέστρεψε κενά δεδομένα ή η ιδιότητα 'μονοπάτι/path' είναι εσφαλμένη\",\n exceedMaxSize: \"Το μέγεθος του αρχείου δεν μπορεί να υπερβαίνει τα {0}.\",\n noUploadFilesHandler: \"Δεν είναι δυνατή η αποστολή αρχείων. Προσθέστε ένα πρόγραμμα χειρισμού για το συμβάν 'onUploadFiles'.\",\n otherRequiredError: \"Παρακαλώ συμπληρώστε την τιμή για το πεδίο 'άλλο'.\",\n uploadingFile: \"Το αρχείο σας ανεβαίνει. Παρακαλώ περιμένετε μερικά δευτερόλεπτα και δοκιμάστε ξανά.\",\n loadingFile: \"Φόρτωση...\",\n chooseFile: \"Επιλογή αρχείων ...\",\n noFileChosen: \"Δεν έχει επιλεγεί αρχείο\",\n filePlaceholder: \"Αποθέστε το αρχείο σας εδώ ή κάντε κλικ στο κουμπί παρακάτω για να φορτώσετε το αρχείο.\",\n confirmDelete: \"Θέλετε να διαγράψετε την εγγραφή;\",\n keyDuplicationError: \"Αυτή η τιμή πρέπει να είναι μοναδική.\",\n addColumn: \"Προσθήκη στήλης\",\n addRow: \"Προσθήκη γραμμής\",\n removeRow: \"Αφαίρεση\",\n emptyRowsText: \"Δεν υπάρχουν εγγραφές.\",\n addPanel: \"Προσθέστε νέο\",\n removePanel: \"Αφαίρεση\",\n showDetails: \"Εμφάνιση λεπτομερειών\",\n hideDetails: \"Απόκρυψη λεπτομερειών\",\n choices_Item: \"είδος\",\n matrix_column: \"Στήλη\",\n matrix_row: \"Γραμμή\",\n multipletext_itemname: \"κείμενο\",\n savingData: \"Τα αποτελέσματα αποθηκεύονται στον διακομιστή ...\",\n savingDataError: \"Παρουσιάστηκε σφάλμα και δεν ήταν δυνατή η αποθήκευση των αποτελεσμάτων.\",\n savingDataSuccess: \"Τα αποτελέσματα αποθηκεύτηκαν με επιτυχία!\",\n saveAgainButton: \"Προσπάθησε ξανά\",\n timerMin: \"ελάχ\",\n timerSec: \"δευτ\",\n timerSpentAll: \"Έχετε δαπανήσει {0} σε αυτήν τη σελίδα και {1} συνολικά.\",\n timerSpentPage: \"Έχετε ξοδέψει {0} σε αυτήν τη σελίδα.\",\n timerSpentSurvey: \"Έχετε ξοδέψει συνολικά {0}.\",\n timerLimitAll: \"Έχετε δαπανήσει {0} από {1} σε αυτήν τη σελίδα και {2} από {3} συνολικά.\",\n timerLimitPage: \"Έχετε ξοδέψει {0} από {1} σε αυτήν τη σελίδα.\",\n timerLimitSurvey: \"Έχετε ξοδέψει {0} από {1} συνολικά.\",\n clearCaption: \"Εκκαθάριση\",\n signaturePlaceHolder: \"Υπογράψτε εδώ\",\n chooseFileCaption: \"Επιλέξτε αρχείο\",\n takePhotoCaption: \"Λήψη φωτογραφίας\",\n photoPlaceholder: \"Κάντε κλικ στο παρακάτω κουμπί για να τραβήξετε μια φωτογραφία χρησιμοποιώντας την κάμερα.\",\n fileOrPhotoPlaceholder: \"Σύρετε και αποθέστε ή επιλέξτε ένα αρχείο για αποστολή ή λήψη φωτογραφίας χρησιμοποιώντας την κάμερα.\",\n replaceFileCaption: \"Αντικατάσταση αρχείου\",\n removeFileCaption: \"Διαγράψτε αυτό το αρχείο\",\n booleanCheckedLabel: \"Ναι\",\n booleanUncheckedLabel: \"Όχι\",\n confirmRemoveFile: \"Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το αρχείο: {0};\",\n confirmRemoveAllFiles: \"Είστε βέβαιοι ότι θέλετε να διαγράψετε όλα τα αρχεία;\",\n questionTitlePatternText: \"Τίτλος ερώτησης\",\n modalCancelButtonText: \"Άκυρο\",\n modalApplyButtonText: \"Εφαρμογή\",\n filterStringPlaceholder: \"Πληκτρολογήστε για αναζήτηση...\",\n emptyMessage: \"Δεν υπάρχουν δεδομένα προς εμφάνιση\",\n noEntriesText: \"Δεν υπάρχουν ακόμη εγγραφές.\\nΚάντε κλικ στο κουμπί παρακάτω για να προσθέσετε μια νέα εγγραφή.\",\n noEntriesReadonlyText: \"Δεν υπάρχουν καταχωρήσεις.\",\n more: \"Περισσότερα\",\n tagboxDoneButtonCaption: \"ΟΚ\",\n selectToRankEmptyRankedAreaText: \"Όλες οι επιλογές κατατάσσονται\",\n selectToRankEmptyUnrankedAreaText: \"Σύρετε και αποθέστε επιλογές εδώ για να τις κατατάξετε\",\n ok: \"OK\",\n cancel: \"Ακυρώνω\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"gr\"] = greekSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"gr\"] = \"ελληνικά\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Πίνακας {panelIndex}\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Δεν υπάρχουν καταχωρήσεις.\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Όλες οι επιλογές κατατάσσονται\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Σύρετε και αποθέστε επιλογές εδώ για να τις κατατάξετε\"// takePhotoCaption: \"Take Photo\" => \"Λήψη φωτογραφίας\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Κάντε κλικ στο παρακάτω κουμπί για να τραβήξετε μια φωτογραφία χρησιμοποιώντας την κάμερα.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Σύρετε και αποθέστε ή επιλέξτε ένα αρχείο για αποστολή ή λήψη φωτογραφίας χρησιμοποιώντας την κάμερα.\"\n// replaceFileCaption: \"Replace file\" => \"Αντικατάσταση αρχείου\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Κάθε γραμμή πρέπει να έχει μια μοναδική τιμή.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Δεν είναι δυνατή η αποστολή αρχείων. Προσθέστε ένα πρόγραμμα χειρισμού για το συμβάν 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Εμφάνιση λεπτομερειών\"\n// hideDetails: \"Hide Details\" => \"Απόκρυψη λεπτομερειών\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Ακυρώνω\"\n// refuseItemText: \"Refuse to answer\" => \"Αρνηθείτε να απαντήσετε\"\n// dontKnowItemText: \"Don't know\" => \"Δεν ξέρω\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/hebrew.ts\":\n/*!************************************!*\\\n !*** ./src/localization/hebrew.ts ***!\n \\************************************/\n/*! exports provided: hebrewSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hebrewSurveyStrings\", function() { return hebrewSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar hebrewSurveyStrings = {\n pagePrevText: \"אחורה\",\n pageNextText: \"קדימה\",\n completeText: \"סיום\",\n previewText: \"תצוגה מקדימה\",\n editText: \"לַעֲרוֹך\",\n startSurveyText: \"הַתחָלָה\",\n otherItemText: \"אחר (נא לתאר)\",\n noneItemText: \"אף אחד\",\n refuseItemText: \"מסרבים לענות\",\n dontKnowItemText: \"לא יודע\",\n selectAllItemText: \"בחר הכל\",\n progressText: \"דף {1} מתוך {0}\",\n indexText: \"{0} מתוך {1}\",\n panelDynamicProgressText: \"הקלטה {0} מתוך {1}\",\n panelDynamicTabTextFormat: \"לוח {panelIndex}\",\n questionsProgressText: \"ענה על שאלות\",\n emptySurvey: \"אין שאלות\",\n completingSurvey: \"תודה על מילוי השאלון!\",\n completingSurveyBefore: \"הרשומות שלנו מראות שכבר סיימת את הסקר הזה.\",\n loadingSurvey: \"טעינה מהשרת...\",\n placeholder: \"בחר...\",\n ratingOptionsCaption: \"בחר...\",\n value: \"ערך\",\n requiredError: \"אנא השב על השאלה\",\n requiredErrorInPanel: \"אנא ענה לפחות על שאלה אחת.\",\n requiredInAllRowsError: \"אנא ענה על שאלות בכל השורות.\",\n eachRowUniqueError: \"לכל שורה חייב להיות ערך ייחודי.\",\n numericError: \"התשובה צריכה להיות מספר.\",\n minError: \"הערך לא צריך להיות קטן מ {0}\",\n maxError: \"הערך לא צריך להיות גדול מ- {0}\",\n textMinLength: \"הזן לפחות {0} תווים.\",\n textMaxLength: \"הזן פחות מ- {0} תווים.\",\n textMinMaxLength: \"הזן יותר מ- {0} ופחות מ- {1} תווים.\",\n minRowCountError: \"אנא מלא לפחות {0} שורות.\",\n minSelectError: \"בחר לפחות {0} אפשרויות.\",\n maxSelectError: \"בחר עד {0} אפשרויות.\",\n numericMinMax: \"'{0}' חייב להיות שווה או גדול מ {1}, ושווה ל- {2} או פחות מ- {}}\",\n numericMin: \"'{0}' חייב להיות שווה או גדול מ {1}\",\n numericMax: \"'{0}' חייב להיות שווה או קטן מ {1}\",\n invalidEmail: \"הזן כתובת דוא\\\"ל חוקית.\",\n invalidExpression: \"הביטוי: {0} צריך להחזיר 'אמת'.\",\n urlRequestError: \"הבקשה החזירה את השגיאה '{0}'. {1}\",\n urlGetChoicesError: \"הבקשה החזירה נתונים ריקים או שהמאפיין 'נתיב' שגוי\",\n exceedMaxSize: \"גודל הקובץ לא יעלה על {0}.\",\n noUploadFilesHandler: \"לא ניתן להעלות קבצים. אנא הוסף מטפל לאירוע 'onUploadFiles'.\",\n otherRequiredError: \"נא להזין נתונים בשדה \\\"אחר\\\"\",\n uploadingFile: \"הקובץ שלך נטען. המתן מספר שניות ונסה שוב.\",\n loadingFile: \"טוען...\",\n chooseFile: \"לבחור קבצים...\",\n noFileChosen: \"לא נבחר קובץ\",\n filePlaceholder: \"גרור ושחרר קובץ לכאן או לחץ על הלחצן למטה ובחר קובץ להעלאה.\",\n confirmDelete: \"האם אתה רוצה למחוק את הרשומה?\",\n keyDuplicationError: \"ערך זה צריך להיות ייחודי.\",\n addColumn: \"הוסף עמודה\",\n addRow: \"להוסיף שורה\",\n removeRow: \"לְהַסִיר\",\n emptyRowsText: \"אין שורות.\",\n addPanel: \"הוסף חדש\",\n removePanel: \"לְהַסִיר\",\n showDetails: \"הראה פרטים\",\n hideDetails: \"הסתר פרטים\",\n choices_Item: \"פריט\",\n matrix_column: \"טור\",\n matrix_row: \"שׁוּרָה\",\n multipletext_itemname: \"טקסט\",\n savingData: \"התוצאות נשמרות בשרת ...\",\n savingDataError: \"אירעה שגיאה ולא הצלחנו לשמור את התוצאות.\",\n savingDataSuccess: \"התוצאות נשמרו בהצלחה!\",\n saveAgainButton: \"נסה שוב\",\n timerMin: \"דקה\",\n timerSec: \"שניות\",\n timerSpentAll: \"הוצאת {0} בדף זה ובסך הכל {1}.\",\n timerSpentPage: \"הוצאת {0} בדף זה.\",\n timerSpentSurvey: \"הוצאת סכום כולל של {0}.\",\n timerLimitAll: \"הוצאת {0} מתוך {1} בדף זה ו- {2} מתוך {3} בסך הכל.\",\n timerLimitPage: \"הוצאת {0} מתוך {1} בדף זה.\",\n timerLimitSurvey: \"הוצאת סכום כולל של {0} מתוך {1}.\",\n clearCaption: \"לנקות\",\n signaturePlaceHolder: \"חתום כאן\",\n chooseFileCaption: \"בחר קובץ\",\n takePhotoCaption: \"צלם תמונה\",\n photoPlaceholder: \"לחץ על הלחצן למטה כדי לצלם תמונה באמצעות המצלמה.\",\n fileOrPhotoPlaceholder: \"גרור ושחרר או בחר קובץ כדי להעלות או לצלם תמונה באמצעות המצלמה.\",\n replaceFileCaption: \"החלפת קובץ\",\n removeFileCaption: \"הסר קובץ זה\",\n booleanCheckedLabel: \"כן\",\n booleanUncheckedLabel: \"לא\",\n confirmRemoveFile: \"האם אתה בטוח שברצונך להסיר קובץ זה: {0}?\",\n confirmRemoveAllFiles: \"האם אתה בטוח שברצונך להסיר את כל הקבצים?\",\n questionTitlePatternText: \"כותרת שאלה\",\n modalCancelButtonText: \"ביטל\",\n modalApplyButtonText: \"החל\",\n filterStringPlaceholder: \"הקלד כדי לחפש...\",\n emptyMessage: \"אין נתונים להצגה\",\n noEntriesText: \"אין עדיין ערכים.\\nלחץ על הלחצן למטה כדי להוסיף ערך חדש.\",\n noEntriesReadonlyText: \"אין ערכים.\",\n more: \"עוד\",\n tagboxDoneButtonCaption: \"אוקיי\",\n selectToRankEmptyRankedAreaText: \"כל האפשרויות מדורגות\",\n selectToRankEmptyUnrankedAreaText: \"גרור ושחרר אפשרויות לכאן כדי לדרג אותן\",\n ok: \"אוקיי\",\n cancel: \"ביטל\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"he\"] = hebrewSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"he\"] = \"עברית\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} מתוך {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"לוח {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"בחר...\"\n// minError: \"The value should not be less than {0}\" => \"הערך לא צריך להיות קטן מ {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"הערך לא צריך להיות גדול מ- {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"גרור ושחרר קובץ לכאן או לחץ על הלחצן למטה ובחר קובץ להעלאה.\"\n// emptyRowsText: \"There are no rows.\" => \"אין שורות.\"\n// multipletext_itemname: \"text\" => \"טקסט\"\n// signaturePlaceHolder: \"Sign here\" => \"חתום כאן\"\n// modalCancelButtonText: \"Cancel\" => \"ביטל\"\n// modalApplyButtonText: \"Apply\" => \"החל\"\n// filterStringPlaceholder: \"Type to search...\" => \"הקלד כדי לחפש...\"\n// emptyMessage: \"No data to display\" => \"אין נתונים להצגה\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"אין עדיין ערכים.\\nלחץ על הלחצן למטה כדי להוסיף ערך חדש.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"אין ערכים.\"\n// more: \"More\" => \"עוד\"\n// tagboxDoneButtonCaption: \"OK\" => \"אוקיי\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"כל האפשרויות מדורגות\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"גרור ושחרר אפשרויות לכאן כדי לדרג אותן\"// takePhotoCaption: \"Take Photo\" => \"צלם תמונה\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"לחץ על הלחצן למטה כדי לצלם תמונה באמצעות המצלמה.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"גרור ושחרר או בחר קובץ כדי להעלות או לצלם תמונה באמצעות המצלמה.\"\n// replaceFileCaption: \"Replace file\" => \"החלפת קובץ\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"לכל שורה חייב להיות ערך ייחודי.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"לא ניתן להעלות קבצים. אנא הוסף מטפל לאירוע 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"הראה פרטים\"\n// hideDetails: \"Hide Details\" => \"הסתר פרטים\"\n// ok: \"OK\" => \"אוקיי\"\n// cancel: \"Cancel\" => \"ביטל\"\n// refuseItemText: \"Refuse to answer\" => \"מסרבים לענות\"\n// dontKnowItemText: \"Don't know\" => \"לא יודע\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/hindi.ts\":\n/*!***********************************!*\\\n !*** ./src/localization/hindi.ts ***!\n \\***********************************/\n/*! exports provided: hindiStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hindiStrings\", function() { return hindiStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar hindiStrings = {\n pagePrevText: \"पिछला\",\n pageNextText: \"अगला\",\n completeText: \"पूरा\",\n previewText: \"पूर्वसमीक्षा\",\n editText: \"संपादित\",\n startSurveyText: \"शुरू\",\n otherItemText: \"दूसरा (वर्णन करें)\",\n noneItemText: \"कोई नहीं\",\n refuseItemText: \"जवाब देने से इनकार\",\n dontKnowItemText: \"नहीं मालूम\",\n selectAllItemText: \"सभी का चयन करें\",\n progressText: \"पृष्ठ 1 में से 0\",\n indexText: \"{1} का {0}\",\n panelDynamicProgressText: \" दस्तावेज {1} के {0}\",\n panelDynamicTabTextFormat: \"पैनल {panelIndex}\",\n questionsProgressText: \"{1} सवालों में से {0} के जवाब दिए\",\n emptySurvey: \"सर्वेक्षण में कोई दृश्यमान पृष्ठ या प्रश्न नहीं है\",\n completingSurvey: \"सर्वेक्षण को पूरा करने के लिए धन्यवाद\",\n completingSurveyBefore: \" हमारे रिकॉर्ड बताते हैं कि आप पहले ही इस सर्वेक्षण को पूरा कर चुके हैं\",\n loadingSurvey: \"सर्वेक्षण खुल रहा है.…\",\n placeholder: \"चुनें\",\n ratingOptionsCaption: \"चुनना।।।\",\n value: \"मूल्य\",\n requiredError: \"कृपया प्रश्न का उत्तर दें\",\n requiredErrorInPanel: \"कृपया कम से कम एक प्रश्न का उत्तर दें\",\n requiredInAllRowsError: \"कृपया सभी पंक्तियों में सवालों के जवाब दें\",\n eachRowUniqueError: \"प्रत्येक पंक्ति का एक अद्वितीय मान होना चाहिए.\",\n numericError: \"मूल्य संख्यात्मक होना चाहिए\",\n minError: \"मान {0} से कम नहीं होना चाहिए\",\n maxError: \"मान {0} से अधिक नहीं होना चाहिए\",\n textMinLength: \"कृपया कम से कम {0} वर्ण दर्ज करें\",\n textMaxLength: \"कृपया {0} से कम वर्ण दर्ज करें\",\n textMinMaxLength: \"कृपया {0} से अधिक और {1} से कम पात्रों में प्रवेश करें\",\n minRowCountError: \"कृपया कम से कम {0} पंक्तियों को भरें\",\n minSelectError: \"कृपया कम से कम {0} विकल्प का चयन करें\",\n maxSelectError: \"कृपया {0} विकल्पों से अधिक नहीं चुनें\",\n numericMinMax: \"'{0}' {1} से बराबर या अधिक और {2} से बराबर या कम होना चाहिए\",\n numericMin: \"'{0}' {1} से बराबर या अधिक होना चाहिए\",\n numericMax: \"'{0}' {1} से बराबर या कम होना चाहिए\",\n invalidEmail: \"कृपया एक वैध ईमेल पता दर्ज करें\",\n invalidExpression: \"अभिव्यक्ति: {0} को ' सच ' लौटना चाहिए\",\n urlRequestError: \"अनुरोध लौटाया त्रुटि '{0}' . {1}\",\n urlGetChoicesError: \"अनुरोध ने खाली डेटा वापस कर दिया है \",\n exceedMaxSize: \"फ़ाइल का आकार {0} से अधिक नहीं होना चाहिए या फिर 'पाथ' प्रॉपर्टी गलत है\",\n noUploadFilesHandler: \"फ़ाइलें अपलोड नहीं की जा सकती. कृपया 'onloadFiles' ईवेंट के लिए एक हैंडलर जोड़ें.\",\n otherRequiredError: \"कृपया दूसरा मूल्य दर्ज करें\",\n uploadingFile: \"आपकी फाइल अपलोड हो रही है। कृपया कई सेकंड इंतजार करें और फिर से प्रयास करें।\",\n loadingFile: \"लोडिंग\",\n chooseFile: \"फ़ाइल चुनें\",\n noFileChosen: \"कोई फाइल नहीं चुनी गई\",\n filePlaceholder: \"यहां एक फ़ाइल खींचें और छोड़ें या नीचे दिए गए बटन पर क्लिक करें और अपलोड करने के लिए एक फ़ाइल चुनें।\",\n confirmDelete: \"क्या आप रिकॉर्ड हटाना चाहते हैं\",\n keyDuplicationError: \"यह मान अनोखा होना चाहिए\",\n addColumn: \"कॉलम जोड़ें\",\n addRow: \"पंक्ति जोड़ें\",\n removeRow: \"हटाए\",\n emptyRowsText: \"कोई पंक्तियाँ नहीं हैं.\",\n addPanel: \"नया जोड़ें\",\n removePanel: \"हटाए\",\n showDetails: \"विवरण दिखाएँ\",\n hideDetails: \"विवरण छुपाएँ\",\n choices_Item: \"मद\",\n matrix_column: \"कॉलम\",\n matrix_row: \"पंक्ति\",\n multipletext_itemname: \"टेक्स्ट\",\n savingData: \"परिणाम सर्वर पर सेव हो रहे हैं\",\n savingDataError: \"एक त्रुटि हुई और हम परिणामों को नहीं सेव कर सके\",\n savingDataSuccess: \"परिणाम सफलतापूर्वक सेव हो गए\",\n saveAgainButton: \"फिर कोशिश करो\",\n timerMin: \"मिनट\",\n timerSec: \"सेकंड\",\n timerSpentAll: \"आपने इस पृष्ठ पर {0} खर्च किए हैं और कुल {1}\",\n timerSpentPage: \"आपने इस पृष्ठ पर {0} खर्च किया है\",\n timerSpentSurvey: \"आपने कुल {0} खर्च किया है\",\n timerLimitAll: \"आपने इस पृष्ठ पर {1} की {0} और कुल {3} की {2} खर्च की है।\",\n timerLimitPage: \"आपने इस पृष्ठ पर {1} का {0} खर्च किया है\",\n timerLimitSurvey: \"आपने कुल {1} की {0} खर्च की है\",\n clearCaption: \"स्पष्ट\",\n signaturePlaceHolder: \"यहां साइन करें\",\n chooseFileCaption: \"फ़ाइल चुनें\",\n takePhotoCaption: \"फोटो ले लो\",\n photoPlaceholder: \"कैमरे का उपयोग करके फोटो लेने के लिए नीचे दिए गए बटन पर क्लिक करें।\",\n fileOrPhotoPlaceholder: \"कैमरे का उपयोग करके फ़ोटो अपलोड करने या फ़ोटो लेने के लिए किसी फ़ाइल को खींचें और छोड़ें या चुनें.\",\n replaceFileCaption: \"फ़ाइल बदलें\",\n removeFileCaption: \"इस फाइल को निकालें\",\n booleanCheckedLabel: \"हाँ\",\n booleanUncheckedLabel: \"नहीं\",\n confirmRemoveFile: \"क्या आप सुनिश्चित हैं कि आप इस फ़ाइल को हटाना चाहते हैं: {0}\",\n confirmRemoveAllFiles: \"क्या आप सुनिश्चित हैं कि आप सभी फ़ाइलों को हटाना चाहते हैं\",\n questionTitlePatternText: \"प्रश्न का शीर्षक\",\n modalCancelButtonText: \"रद्द करना\",\n modalApplyButtonText: \"लागू करना\",\n filterStringPlaceholder: \"खोज करने के लिए टाइप करें...\",\n emptyMessage: \"प्रदर्शित करने के लिए कोई डेटा नहीं\",\n noEntriesText: \"अभी तक कोई प्रविष्टियां नहीं हैं।\\nनई प्रविष्टि जोड़ने के लिए नीचे दिए गए बटन पर क्लिक करें.\",\n noEntriesReadonlyText: \"कोई प्रविष्टियाँ नहीं हैं.\",\n more: \"अधिक\",\n tagboxDoneButtonCaption: \"ठीक है\",\n selectToRankEmptyRankedAreaText: \"सभी विकल्पों को रैंक किया गया है\",\n selectToRankEmptyUnrankedAreaText: \"विकल्पों को रैंक करने के लिए उन्हें यहां खींचें और छोड़ दें\",\n ok: \"ठीक है\",\n cancel: \"रद्द करना\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"hi\"] = hindiStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"hi\"] = \"hindi\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// noneItemText: \"None\" => \"कोई नहीं\"\n// indexText: \"{0} of {1}\" => \"{1} का {0}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"पैनल {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"चुनना।।।\"\n// minError: \"The value should not be less than {0}\" => \"मान {0} से कम नहीं होना चाहिए\"\n// maxError: \"The value should not be greater than {0}\" => \"मान {0} से अधिक नहीं होना चाहिए\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"यहां एक फ़ाइल खींचें और छोड़ें या नीचे दिए गए बटन पर क्लिक करें और अपलोड करने के लिए एक फ़ाइल चुनें।\"\n// emptyRowsText: \"There are no rows.\" => \"कोई पंक्तियाँ नहीं हैं.\"\n// multipletext_itemname: \"text\" => \"टेक्स्ट\"\n// signaturePlaceHolder: \"Sign here\" => \"यहां साइन करें\"\n// modalCancelButtonText: \"Cancel\" => \"रद्द करना\"\n// modalApplyButtonText: \"Apply\" => \"लागू करना\"\n// filterStringPlaceholder: \"Type to search...\" => \"खोज करने के लिए टाइप करें...\"\n// emptyMessage: \"No data to display\" => \"प्रदर्शित करने के लिए कोई डेटा नहीं\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"अभी तक कोई प्रविष्टियां नहीं हैं।\\nनई प्रविष्टि जोड़ने के लिए नीचे दिए गए बटन पर क्लिक करें.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"कोई प्रविष्टियाँ नहीं हैं.\"\n// more: \"More\" => \"अधिक\"\n// tagboxDoneButtonCaption: \"OK\" => \"ठीक है\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"सभी विकल्पों को रैंक किया गया है\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"विकल्पों को रैंक करने के लिए उन्हें यहां खींचें और छोड़ दें\"// takePhotoCaption: \"Take Photo\" => \"फोटो ले लो\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"कैमरे का उपयोग करके फोटो लेने के लिए नीचे दिए गए बटन पर क्लिक करें।\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"कैमरे का उपयोग करके फ़ोटो अपलोड करने या फ़ोटो लेने के लिए किसी फ़ाइल को खींचें और छोड़ें या चुनें.\"\n// replaceFileCaption: \"Replace file\" => \"फ़ाइल बदलें\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"प्रत्येक पंक्ति का एक अद्वितीय मान होना चाहिए.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"फ़ाइलें अपलोड नहीं की जा सकती. कृपया 'onloadFiles' ईवेंट के लिए एक हैंडलर जोड़ें.\"\n// showDetails: \"Show Details\" => \"विवरण दिखाएँ\"\n// hideDetails: \"Hide Details\" => \"विवरण छुपाएँ\"\n// ok: \"OK\" => \"ठीक है\"\n// cancel: \"Cancel\" => \"रद्द करना\"// refuseItemText: \"Refuse to answer\" => \"जवाब देने से इनकार\"\n// dontKnowItemText: \"Don't know\" => \"नहीं मालूम\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/hungarian.ts\":\n/*!***************************************!*\\\n !*** ./src/localization/hungarian.ts ***!\n \\***************************************/\n/*! exports provided: hungarianSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hungarianSurveyStrings\", function() { return hungarianSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar hungarianSurveyStrings = {\n pagePrevText: \"Vissza\",\n pageNextText: \"Tovább\",\n completeText: \"Kész\",\n previewText: \"Előnézet\",\n editText: \"Szerkesztés\",\n startSurveyText: \"Rajt\",\n otherItemText: \"Egyéb (adja meg)\",\n noneItemText: \"Egyik sem\",\n refuseItemText: \"A válaszadás megtagadása\",\n dontKnowItemText: \"Nem tudom\",\n selectAllItemText: \"Mindet kiválaszt\",\n progressText: \"{0}./{1} oldal\",\n indexText: \"{0} {1} közül\",\n panelDynamicProgressText: \"{0} / {1} rekord\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Válaszolt kérdések: {0} / {1}\",\n emptySurvey: \"The survey doesn't contain any visible elements.\",\n completingSurvey: \"Köszönjük, hogy kitöltötte felmérésünket!\",\n completingSurveyBefore: \"Már kitöltötte a felmérést.\",\n loadingSurvey: \"Felmérés betöltése...\",\n placeholder: \"Válasszon...\",\n ratingOptionsCaption: \"Kiválaszt...\",\n value: \"érték\",\n requiredError: \"Kérjük, válaszolja meg ezt a kérdést!\",\n requiredErrorInPanel: \"Kérjük, válaszoljon legalább egy kérdésre.\",\n requiredInAllRowsError: \"Kérjük adjon választ minden sorban!\",\n eachRowUniqueError: \"Minden sornak egyedi értékkel kell rendelkeznie.\",\n numericError: \"Az érték szám kell, hogy legyen!\",\n minError: \"Az érték nem lehet kisebb, mint {0}\",\n maxError: \"Az érték nem lehet nagyobb, mint {0}\",\n textMinLength: \"Adjon meg legalább {0} karaktert!\",\n textMaxLength: \"Legfeljebb {0} karaktert adjon meg!\",\n textMinMaxLength: \"Adjon meg legalább {0}, de legfeljebb {1} karaktert!\",\n minRowCountError: \"Töltsön ki minimum {0} sort!\",\n minSelectError: \"Válasszon ki legalább {0} lehetőséget!\",\n maxSelectError: \"Ne válasszon többet, mint {0} lehetőség!\",\n numericMinMax: \"'{0}' legyen nagyobb, vagy egyenlő, mint {1} és kisebb, vagy egyenlő, mint {2}!\",\n numericMin: \"'{0}' legyen legalább {1}!\",\n numericMax: \"The '{0}' ne legyen nagyobb, mint {1}!\",\n invalidEmail: \"Adjon meg egy valós email címet!\",\n invalidExpression: \"A következő kifejezés: {0} vissza kell adnia az „igaz” értéket.\",\n urlRequestError: \"A lekérdezés hibával tért vissza: '{0}'. {1}\",\n urlGetChoicesError: \"A lekérdezés üres adattal tért vissza, vagy a 'path' paraméter helytelen.\",\n exceedMaxSize: \"A méret nem lehet nagyobb, mint {0}.\",\n noUploadFilesHandler: \"A fájlok nem tölthetők fel. Adjon hozzá egy kezelőt az \\\"onUploadFiles\\\" eseményhez.\",\n otherRequiredError: \"Adja meg az egyéb értéket!\",\n uploadingFile: \"Feltöltés folyamatban. Várjon pár másodpercet, majd próbálja újra.\",\n loadingFile: \"Betöltés...\",\n chooseFile: \"Fájlok kiválasztása ...\",\n noFileChosen: \"Nincs kiválasztva fájl\",\n filePlaceholder: \"Dobjon ide egy fájlt, vagy kattintson az alábbi gombra a fájl betöltéséhez.\",\n confirmDelete: \"Törli ezt a rekordot?\",\n keyDuplicationError: \"Az értéknek egyedinek kell lennie.\",\n addColumn: \"Oszlop hozzáadása\",\n addRow: \"Sor hozzáadása\",\n removeRow: \"Eltávolítás\",\n emptyRowsText: \"Nincsenek sorok.\",\n addPanel: \"Új hozzáadása\",\n removePanel: \"Eltávolítás\",\n showDetails: \"Mutasd a részleteket\",\n hideDetails: \"Részletek elrejtése\",\n choices_Item: \"elem\",\n matrix_column: \"Oszlop\",\n matrix_row: \"Sor\",\n multipletext_itemname: \"SMS\",\n savingData: \"Eredmény mentése a szerverre...\",\n savingDataError: \"Egy hiba folytán nem tudtuk elmenteni az eredményt.\",\n savingDataSuccess: \"Eredmény sikeresen mentve!\",\n saveAgainButton: \"Próbálja újra\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"Ön {0} összeget költött ezen az oldalon, és összesen {1}.\",\n timerSpentPage: \"{0} összeget költött ezen az oldalon.\",\n timerSpentSurvey: \"Összesen {0} költött.\",\n timerLimitAll: \"Ön {0} / {1} összeget költött ezen az oldalon, és összesen {2} / {3}.\",\n timerLimitPage: \"Ön {0} / {1} összeget költött ezen az oldalon.\",\n timerLimitSurvey: \"Összesen {0} / {1} összeget költött el.\",\n clearCaption: \"Egyértelmű\",\n signaturePlaceHolder: \"Írja alá itt\",\n chooseFileCaption: \"Válassz fájlt\",\n takePhotoCaption: \"Fotó készítése\",\n photoPlaceholder: \"Kattintson az alábbi gombra, hogy fényképet készítsen a fényképezőgéppel.\",\n fileOrPhotoPlaceholder: \"Húzzon át vagy válasszon ki egy fájlt, amelyet fel szeretne tölteni vagy fényképet szeretne készíteni a kamerával.\",\n replaceFileCaption: \"Fájl cseréje\",\n removeFileCaption: \"Távolítsa el ezt a fájlt\",\n booleanCheckedLabel: \"Igen\",\n booleanUncheckedLabel: \"Nem\",\n confirmRemoveFile: \"Biztosan eltávolítja ezt a fájlt: {0}?\",\n confirmRemoveAllFiles: \"Biztosan el akarja távolítani az összes fájlt?\",\n questionTitlePatternText: \"Kérdés címe\",\n modalCancelButtonText: \"Érvénytelenít\",\n modalApplyButtonText: \"Alkalmaz\",\n filterStringPlaceholder: \"Írja be a kereséshez...\",\n emptyMessage: \"Nincs megjeleníthető adat\",\n noEntriesText: \"Még nincsenek bejegyzések.\\nKattintson az alábbi gombra egy új bejegyzés hozzáadásához.\",\n noEntriesReadonlyText: \"Nincsenek bejegyzések.\",\n more: \"Több\",\n tagboxDoneButtonCaption: \"OKÉ\",\n selectToRankEmptyRankedAreaText: \"Minden választási lehetőség rangsorolva van\",\n selectToRankEmptyUnrankedAreaText: \"Húzza ide a választási lehetőségeket a rangsoroláshoz\",\n ok: \"OKÉ\",\n cancel: \"Érvénytelenít\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"hu\"] = hungarianSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"hu\"] = \"magyar\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} {1} közül\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Kiválaszt...\"\n// minError: \"The value should not be less than {0}\" => \"Az érték nem lehet kisebb, mint {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Az érték nem lehet nagyobb, mint {0}\"\n// emptyRowsText: \"There are no rows.\" => \"Nincsenek sorok.\"\n// multipletext_itemname: \"text\" => \"SMS\"\n// signaturePlaceHolder: \"Sign here\" => \"Írja alá itt\"\n// modalCancelButtonText: \"Cancel\" => \"Érvénytelenít\"\n// modalApplyButtonText: \"Apply\" => \"Alkalmaz\"\n// filterStringPlaceholder: \"Type to search...\" => \"Írja be a kereséshez...\"\n// emptyMessage: \"No data to display\" => \"Nincs megjeleníthető adat\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Még nincsenek bejegyzések.\\nKattintson az alábbi gombra egy új bejegyzés hozzáadásához.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Nincsenek bejegyzések.\"\n// more: \"More\" => \"Több\"\n// tagboxDoneButtonCaption: \"OK\" => \"OKÉ\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Minden választási lehetőség rangsorolva van\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Húzza ide a választási lehetőségeket a rangsoroláshoz\"// takePhotoCaption: \"Take Photo\" => \"Fotó készítése\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Kattintson az alábbi gombra, hogy fényképet készítsen a fényképezőgéppel.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Húzzon át vagy válasszon ki egy fájlt, amelyet fel szeretne tölteni vagy fényképet szeretne készíteni a kamerával.\"\n// replaceFileCaption: \"Replace file\" => \"Fájl cseréje\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Minden sornak egyedi értékkel kell rendelkeznie.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"A fájlok nem tölthetők fel. Adjon hozzá egy kezelőt az \\\"onUploadFiles\\\" eseményhez.\"\n// showDetails: \"Show Details\" => \"Mutasd a részleteket\"\n// hideDetails: \"Hide Details\" => \"Részletek elrejtése\"\n// ok: \"OK\" => \"OKÉ\"\n// cancel: \"Cancel\" => \"Érvénytelenít\"\n// refuseItemText: \"Refuse to answer\" => \"A válaszadás megtagadása\"\n// dontKnowItemText: \"Don't know\" => \"Nem tudom\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/icelandic.ts\":\n/*!***************************************!*\\\n !*** ./src/localization/icelandic.ts ***!\n \\***************************************/\n/*! exports provided: icelandicSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"icelandicSurveyStrings\", function() { return icelandicSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar icelandicSurveyStrings = {\n pagePrevText: \"Tilbaka\",\n pageNextText: \"Áfram\",\n completeText: \"Lokið\",\n previewText: \"Forskoða\",\n editText: \"Breyta\",\n startSurveyText: \"Byrjaðu\",\n otherItemText: \"Hinn (skýring)\",\n noneItemText: \"Enginn\",\n refuseItemText: \"Neita að svara\",\n dontKnowItemText: \"Veit ekki\",\n selectAllItemText: \"Velja allt\",\n progressText: \"Síða {0} of {1}\",\n indexText: \"{0} af {1}\",\n panelDynamicProgressText: \"Taka upp {0} af {1}\",\n panelDynamicTabTextFormat: \"Pallborð {panelIndex}\",\n questionsProgressText: \"Svarað {0} / {1} spurningum\",\n emptySurvey: \"Það er enginn síða eða spurningar í þessari könnun.\",\n completingSurvey: \"Takk fyrir að fyllja út þessa könnun!\",\n completingSurveyBefore: \"Skrár okkar sýna að þú hefur þegar lokið þessari könnun.\",\n loadingSurvey: \"Könnunin er að hlaða...\",\n placeholder: \"Veldu...\",\n ratingOptionsCaption: \"Velja...\",\n value: \"gildi\",\n requiredError: \"Vinsamlegast svarið spurningunni.\",\n requiredErrorInPanel: \"Vinsamlegast svaraðu að minnsta kosti einni spurningu.\",\n requiredInAllRowsError: \"Vinsamlegast svarið spurningum í öllum röðum.\",\n eachRowUniqueError: \"Hver lína verður að hafa einstakt gildi.\",\n numericError: \"Þetta gildi verður að vera tala.\",\n minError: \"Gildið má ekki vera lægra en {0}\",\n maxError: \"Gildið má ekki vera hærra en {0}\",\n textMinLength: \"Það ætti að vera minnst {0} tákn.\",\n textMaxLength: \"Það ætti að vera mest {0} tákn.\",\n textMinMaxLength: \"Það ætti að vera fleiri en {0} og færri en {1} tákn.\",\n minRowCountError: \"Vinsamlegast fyllið úr að minnsta kosti {0} raðir.\",\n minSelectError: \"Vinsamlegast veljið að minnsta kosti {0} möguleika.\",\n maxSelectError: \"Vinsamlegast veljið ekki fleiri en {0} möguleika.\",\n numericMinMax: \"'{0}' ætti að vera meira en eða jafnt og {1} minna en eða jafnt og {2}\",\n numericMin: \"{0}' ætti að vera meira en eða jafnt og {1}\",\n numericMax: \"'{0}' ætti að vera minna en eða jafnt og {1}\",\n invalidEmail: \"Vinsamlegast sláið inn gilt netfang.\",\n invalidExpression: \"Tjáningin: {0} ætti að skila 'satt'.\",\n urlRequestError: \"Beiðninn skilaði eftirfaranadi villu '{0}'. {1}\",\n urlGetChoicesError: \"Beiðninng skilaði engum gögnum eða slóðinn var röng\",\n exceedMaxSize: \"Skráinn skal ekki vera stærri en {0}.\",\n noUploadFilesHandler: \"Ekki er hægt að hlaða upp skrám. Vinsamlegast bættu við rekli fyrir 'onUploadFiles' atvikið.\",\n otherRequiredError: \"Vinamlegast fyllið út hitt gildið.\",\n uploadingFile: \"Skráinn þín var send. Vinsamlegast bíðið í nokkrar sekúndur og reynið aftur.\",\n loadingFile: \"Hleður ...\",\n chooseFile: \"Veldu skrár ...\",\n noFileChosen: \"Engin skrá valin\",\n filePlaceholder: \"Dragðu og slepptu skrá hér eða smelltu á hnappinn hér að neðan og veldu skrá til að hlaða upp.\",\n confirmDelete: \"Viltu eyða skránni?\",\n keyDuplicationError: \"Þetta gildi ætti að vera einstakt.\",\n addColumn: \"Bæta við dálki\",\n addRow: \"Bæta við röð\",\n removeRow: \"Fjarlægja\",\n emptyRowsText: \"Það eru engar raðir.\",\n addPanel: \"Bæta við nýju\",\n removePanel: \"Fjarlægðu\",\n showDetails: \"Sýna upplýsingar\",\n hideDetails: \"Fela upplýsingar\",\n choices_Item: \"hlutur\",\n matrix_column: \"Dálkur\",\n matrix_row: \"Röð\",\n multipletext_itemname: \"Texti\",\n savingData: \"Niðurstöðurnar eru að spara á netþjóninum ... \",\n savingDataError: \"Villa kom upp og við gátum ekki vistað niðurstöðurnar.\",\n savingDataSuccess: \"Árangurinn var vistaður með góðum árangri!\",\n saveAgainButton: \"Reyndu aftur\",\n timerMin: \"mín\",\n timerSec: \"sek\",\n timerSpentAll: \"Þú hefur eytt {0} á þessari síðu og {1} samtals.\",\n timerSpentPage: \"Þú hefur eytt {0} á þessari síðu.\",\n timerSpentSurvey: \"Þú hefur eytt {0} samtals.\",\n timerLimitAll: \"Þú hefur eytt {0} af {1} á þessari síðu og {2} af {3} samtals.\",\n timerLimitPage: \"Þú hefur eytt {0} af {1} á þessari síðu.\",\n timerLimitSurvey: \"Þú hefur eytt {0} af {1} samtals.\",\n clearCaption: \"Hreinsa\",\n signaturePlaceHolder: \"Kvittađu hér\",\n chooseFileCaption: \"Veldu skrá\",\n takePhotoCaption: \"Taka mynd\",\n photoPlaceholder: \"Smelltu á hnappinn hér að neðan til að taka mynd með myndavélinni.\",\n fileOrPhotoPlaceholder: \"Dragðu og slepptu eða veldu skrá til að hlaða upp eða taka mynd með myndavélinni.\",\n replaceFileCaption: \"Skipta út skrá\",\n removeFileCaption: \"Fjarlægðu þessa skrá\",\n booleanCheckedLabel: \"Já\",\n booleanUncheckedLabel: \"Nei\",\n confirmRemoveFile: \"Ertu viss um að þú viljir fjarlægja þessa skrá: {0}?\",\n confirmRemoveAllFiles: \"Ertu viss um að þú viljir fjarlægja allar skrár?\",\n questionTitlePatternText: \"Spurningartitill\",\n modalCancelButtonText: \"Afturkalla\",\n modalApplyButtonText: \"Nota\",\n filterStringPlaceholder: \"Sláðu inn til að leita...\",\n emptyMessage: \"Engin gögn til að birta\",\n noEntriesText: \"Það eru engar færslur ennþá.\\nSmelltu á hnappinn hér að neðan til að bæta við nýrri færslu.\",\n noEntriesReadonlyText: \"Það eru engar færslur.\",\n more: \"Fleiri\",\n tagboxDoneButtonCaption: \"ÓKEI\",\n selectToRankEmptyRankedAreaText: \"Öllum valkostum er raðað\",\n selectToRankEmptyUnrankedAreaText: \"Dragðu og slepptu valkostum hér til að raða þeim\",\n ok: \"ÓKEI\",\n cancel: \"Afturkalla\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"is\"] = icelandicSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"is\"] = \"íslenska\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} af {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Pallborð {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Velja...\"\n// minError: \"The value should not be less than {0}\" => \"Gildið má ekki vera lægra en {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Gildið má ekki vera hærra en {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Dragðu og slepptu skrá hér eða smelltu á hnappinn hér að neðan og veldu skrá til að hlaða upp.\"\n// emptyRowsText: \"There are no rows.\" => \"Það eru engar raðir.\"\n// multipletext_itemname: \"text\" => \"Texti\"\n// signaturePlaceHolder: \"Sign here\" => \"Kvittađu hér\"\n// modalCancelButtonText: \"Cancel\" => \"Afturkalla\"\n// modalApplyButtonText: \"Apply\" => \"Nota\"\n// filterStringPlaceholder: \"Type to search...\" => \"Sláðu inn til að leita...\"\n// emptyMessage: \"No data to display\" => \"Engin gögn til að birta\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Það eru engar færslur ennþá.\\nSmelltu á hnappinn hér að neðan til að bæta við nýrri færslu.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Það eru engar færslur.\"\n// more: \"More\" => \"Fleiri\"\n// tagboxDoneButtonCaption: \"OK\" => \"ÓKEI\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Öllum valkostum er raðað\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Dragðu og slepptu valkostum hér til að raða þeim\"// takePhotoCaption: \"Take Photo\" => \"Taka mynd\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Smelltu á hnappinn hér að neðan til að taka mynd með myndavélinni.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Dragðu og slepptu eða veldu skrá til að hlaða upp eða taka mynd með myndavélinni.\"\n// replaceFileCaption: \"Replace file\" => \"Skipta út skrá\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Hver lína verður að hafa einstakt gildi.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Ekki er hægt að hlaða upp skrám. Vinsamlegast bættu við rekli fyrir 'onUploadFiles' atvikið.\"\n// showDetails: \"Show Details\" => \"Sýna upplýsingar\"\n// hideDetails: \"Hide Details\" => \"Fela upplýsingar\"\n// ok: \"OK\" => \"ÓKEI\"\n// cancel: \"Cancel\" => \"Afturkalla\"\n// refuseItemText: \"Refuse to answer\" => \"Neita að svara\"\n// dontKnowItemText: \"Don't know\" => \"Veit ekki\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/indonesian.ts\":\n/*!****************************************!*\\\n !*** ./src/localization/indonesian.ts ***!\n \\****************************************/\n/*! exports provided: indonesianStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"indonesianStrings\", function() { return indonesianStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar indonesianStrings = {\n pagePrevText: \"Sebelumnya\",\n pageNextText: \"Selanjutnya\",\n completeText: \"Selesai\",\n previewText: \"Pratinjau\",\n editText: \"Sunting\",\n startSurveyText: \"Mulai\",\n otherItemText: \"Lainnya (jelaskan)\",\n noneItemText: \"Tidak Ada\",\n refuseItemText: \"Menolak untuk menjawab\",\n dontKnowItemText: \"Tidak tahu\",\n selectAllItemText: \"Pilih Semua\",\n progressText: \"Halaman {0} dari {1}\",\n indexText: \"{0} dari {1}\",\n panelDynamicProgressText: \"Rekam {0} dari {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Menjawab pertanyaan {0} / {1}\",\n emptySurvey: \"Tidak ada halaman atau pertanyaan dalam survei.\",\n completingSurvey: \"Terima kasih telah menyelesaikan survei!\",\n completingSurveyBefore: \"Catatan kami menunjukkan bahwa Anda telah menyelesaikan survei ini.\",\n loadingSurvey: \"Memuat survei...\",\n placeholder: \"Pilih...\",\n ratingOptionsCaption: \"Pilih...\",\n value: \"nilai\",\n requiredError: \"Silahkan jawab pertanyaan berikut.\",\n requiredErrorInPanel: \"Silahkan jawab setidaknya satu petanyaan.\",\n requiredInAllRowsError: \"Silahkan jawab pertanyaan pada semua baris.\",\n eachRowUniqueError: \"Setiap baris harus memiliki nilai unik.\",\n numericError: \"Nilai harus berupa angka.\",\n minError: \"Nilainya tidak boleh kurang dari {0}\",\n maxError: \"Nilai tidak boleh lebih besar dari {0}\",\n textMinLength: \"Silahkan masukkan setidaknya {0} karakter.\",\n textMaxLength: \"Silahkan masukkan kurang {0} karakter.\",\n textMinMaxLength: \"PSilahkan masukkan lebih dari {0} dan kurang dari {1} karakter.\",\n minRowCountError: \"Silahkan isi setidaknya {0} baris.\",\n minSelectError: \"Silahkan pilih setidaknya {0} varian.\",\n maxSelectError: \"Silahkan pilih tidak lebih dari {0} varian.\",\n numericMinMax: \"'{0}' harus sama dengan atau lebih dari {1} dan harus sama dengan atau kurang dari {2}\",\n numericMin: \"'{0}' harus sama dengan atau lebih dari {1}\",\n numericMax: \"'{0}' harus sama dengan atau kurang dari {1}\",\n invalidEmail: \"Silahkan masukkan e-mail yang benar.\",\n invalidExpression: \"Ekspresi: {0} harus mengembalikan 'benar'.\",\n urlRequestError: \"Permintaan mengembalikan kesalahan '{0}'. {1}\",\n urlGetChoicesError: \"Permintaan mengembalikan data kosong atau properti 'path' salah.\",\n exceedMaxSize: \"Ukuran berkas tidak boleh melebihi {0}.\",\n noUploadFilesHandler: \"File tidak dapat diunggah. Harap tambahkan handler untuk acara 'onUploadFiles'.\",\n otherRequiredError: \"Silahkan masukkan nilai lainnnya.\",\n uploadingFile: \"Berkas Anda sedang diunggah. Silahkan tunggu beberapa saat atau coba lagi.\",\n loadingFile: \"Memuat...\",\n chooseFile: \"Pilih berkas...\",\n noFileChosen: \"Tidak ada file yang dipilih\",\n filePlaceholder: \"Seret dan jatuhkan file di sini atau klik tombol di bawah ini dan pilih file yang akan diunggah.\",\n confirmDelete: \"Apakah Anda ingin menghapus catatan?\",\n keyDuplicationError: \"Nilai harus unik.\",\n addColumn: \"Tambah kolom\",\n addRow: \"Tambah baris\",\n removeRow: \"Hapus\",\n emptyRowsText: \"Tidak ada baris.\",\n addPanel: \"Tambah baru\",\n removePanel: \"Hapus\",\n showDetails: \"Tampilkan Detail\",\n hideDetails: \"Sembunyikan Detail\",\n choices_Item: \"item\",\n matrix_column: \"Kolom\",\n matrix_row: \"Baris\",\n multipletext_itemname: \"Teks\",\n savingData: \"Hasil sedang disimpan pada server...\",\n savingDataError: \"Kesalahan terjadi dan kami tidak dapat menyimpan hasil.\",\n savingDataSuccess: \"Hasil telah sukses disimpan!\",\n saveAgainButton: \"Coba lagi\",\n timerMin: \"menit\",\n timerSec: \"detik\",\n timerSpentAll: \"Anda telah menghabiskan {0} pada halaman ini dan {1} secara keseluruhan.\",\n timerSpentPage: \"YAnda telah menghabiskan {0} pada halaman ini.\",\n timerSpentSurvey: \"Anda telah menghabiskan {0} secara keseluruhan.\",\n timerLimitAll: \"Anda telah menghabiskan {0} dari {1} pada halaman ini dan {2} dari {3} secara keseluruhan.\",\n timerLimitPage: \"Anda telah menghabiskan {0} dari {1} pada halaman ini.\",\n timerLimitSurvey: \"Anda telah menghabiskan {0} dari {1} secara keseluruhan.\",\n clearCaption: \"Bersihkan\",\n signaturePlaceHolder: \"Tanda tangan di sini\",\n chooseFileCaption: \"Pilih File\",\n takePhotoCaption: \"Ambil Foto\",\n photoPlaceholder: \"Klik tombol di bawah ini untuk mengambil foto menggunakan kamera.\",\n fileOrPhotoPlaceholder: \"Seret dan lepas atau pilih file untuk diunggah atau mengambil foto menggunakan kamera.\",\n replaceFileCaption: \"Ganti file\",\n removeFileCaption: \"Hapus berkas ini\",\n booleanCheckedLabel: \"Iya\",\n booleanUncheckedLabel: \"Tidak\",\n confirmRemoveFile: \"Anda yakin ingin menghapus file ini: {0}?\",\n confirmRemoveAllFiles: \"Anda yakin ingin menghapus semua file?\",\n questionTitlePatternText: \"Judul pertanyaan\",\n modalCancelButtonText: \"Membatalkan\",\n modalApplyButtonText: \"Berlaku\",\n filterStringPlaceholder: \"Ketik untuk mencari...\",\n emptyMessage: \"Tidak ada data untuk ditampilkan\",\n noEntriesText: \"Belum ada entri.\\nKlik tombol di bawah ini untuk menambahkan entri baru.\",\n noEntriesReadonlyText: \"Tidak ada entri.\",\n more: \"Lebih\",\n tagboxDoneButtonCaption: \"OKE\",\n selectToRankEmptyRankedAreaText: \"Semua pilihan diberi peringkat\",\n selectToRankEmptyUnrankedAreaText: \"Seret dan lepas pilihan di sini untuk memberi peringkat\",\n ok: \"OKE\",\n cancel: \"Membatalkan\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"id\"] = indonesianStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"id\"] = \"bahasa Indonesia\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} dari {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Pilih...\"\n// minError: \"The value should not be less than {0}\" => \"Nilainya tidak boleh kurang dari {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Nilai tidak boleh lebih besar dari {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Seret dan jatuhkan file di sini atau klik tombol di bawah ini dan pilih file yang akan diunggah.\"\n// emptyRowsText: \"There are no rows.\" => \"Tidak ada baris.\"\n// multipletext_itemname: \"text\" => \"Teks\"\n// signaturePlaceHolder: \"Sign here\" => \"Tanda tangan di sini\"\n// modalCancelButtonText: \"Cancel\" => \"Membatalkan\"\n// modalApplyButtonText: \"Apply\" => \"Berlaku\"\n// filterStringPlaceholder: \"Type to search...\" => \"Ketik untuk mencari...\"\n// emptyMessage: \"No data to display\" => \"Tidak ada data untuk ditampilkan\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Belum ada entri.\\nKlik tombol di bawah ini untuk menambahkan entri baru.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Tidak ada entri.\"\n// more: \"More\" => \"Lebih\"\n// tagboxDoneButtonCaption: \"OK\" => \"OKE\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Semua pilihan diberi peringkat\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Seret dan lepas pilihan di sini untuk memberi peringkat\"// takePhotoCaption: \"Take Photo\" => \"Ambil Foto\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Klik tombol di bawah ini untuk mengambil foto menggunakan kamera.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Seret dan lepas atau pilih file untuk diunggah atau mengambil foto menggunakan kamera.\"\n// replaceFileCaption: \"Replace file\" => \"Ganti file\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Setiap baris harus memiliki nilai unik.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"File tidak dapat diunggah. Harap tambahkan handler untuk acara 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Tampilkan Detail\"\n// hideDetails: \"Hide Details\" => \"Sembunyikan Detail\"\n// ok: \"OK\" => \"OKE\"\n// cancel: \"Cancel\" => \"Membatalkan\"\n// refuseItemText: \"Refuse to answer\" => \"Menolak untuk menjawab\"\n// dontKnowItemText: \"Don't know\" => \"Tidak tahu\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/italian.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/italian.ts ***!\n \\*************************************/\n/*! exports provided: italianSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"italianSurveyStrings\", function() { return italianSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar italianSurveyStrings = {\n pagePrevText: \"Precedente\",\n pageNextText: \"Successivo\",\n completeText: \"Salva\",\n previewText: \"Anteprima\",\n editText: \"Modifica\",\n startSurveyText: \"Inizio\",\n otherItemText: \"Altro (descrivi)\",\n noneItemText: \"Nessuno\",\n refuseItemText: \"Rifiuta di rispondere\",\n dontKnowItemText: \"Non lo so\",\n selectAllItemText: \"Seleziona tutti\",\n progressText: \"Pagina {0} di {1}\",\n indexText: \"{0} da {1}\",\n panelDynamicProgressText: \"Record di {0} di {1}\",\n panelDynamicTabTextFormat: \"Pannello {panelIndex}\",\n questionsProgressText: \"Risposte a {0}/{1} domande\",\n emptySurvey: \"Non ci sono pagine o domande visibili nel questionario.\",\n completingSurvey: \"Grazie per aver completato il questionario!\",\n completingSurveyBefore: \"I nostri records mostrano che hai già completato questo questionario.\",\n loadingSurvey: \"Caricamento del questionario in corso...\",\n placeholder: \"Scegli...\",\n ratingOptionsCaption: \"Tocca qui per valutare...\",\n value: \"valore\",\n requiredError: \"Campo obbligatorio\",\n requiredErrorInPanel: \"Per Favore, rispondi ad almeno una domanda.\",\n requiredInAllRowsError: \"Completare tutte le righe\",\n eachRowUniqueError: \"Ogni riga deve avere un valore univoco.\",\n numericError: \"Il valore deve essere numerico\",\n minError: \"Il valore non deve essere inferiore a {0}\",\n maxError: \"Il valore non deve essere maggiore di {0}\",\n textMinLength: \"Inserire almeno {0} caratteri\",\n textMaxLength: \"Lunghezza massima consentita {0} caratteri\",\n textMinMaxLength: \"Inserire una stringa con minimo {0} e massimo {1} caratteri\",\n minRowCountError: \"Completare almeno {0} righe.\",\n minSelectError: \"Selezionare almeno {0} varianti.\",\n maxSelectError: \"Selezionare massimo {0} varianti.\",\n numericMinMax: \"'{0}' deve essere uguale o superiore a {1} e uguale o inferiore a {2}\",\n numericMin: \"'{0}' deve essere uguale o superiore a {1}\",\n numericMax: \"'{0}' deve essere uguale o inferiore a {1}\",\n invalidEmail: \"Inserire indirizzo mail valido\",\n invalidExpression: \"L'espressione: {0} dovrebbe tornare 'vero'.\",\n urlRequestError: \"La richiesta ha risposto con un errore '{0}'. {1}\",\n urlGetChoicesError: \"La richiesta ha risposto null oppure il percorso non è corretto\",\n exceedMaxSize: \"Il file non può eccedere {0}\",\n noUploadFilesHandler: \"I file non possono essere caricati. Aggiungere un gestore per l'evento 'onUploadFiles'.\",\n otherRequiredError: \"Inserire il valore 'altro'\",\n uploadingFile: \"File in caricamento. Attendi alcuni secondi e riprova\",\n loadingFile: \"Caricamento...\",\n chooseFile: \"Selezionare file(s)...\",\n noFileChosen: \"Nessun file selezionato\",\n filePlaceholder: \"Trascina un file qui o fai clic sul pulsante in basso per caricare il file.\",\n confirmDelete: \"Sei sicuro di voler elminare il record?\",\n keyDuplicationError: \"Questo valore deve essere univoco.\",\n addColumn: \"Aggiungi colonna\",\n addRow: \"Aggiungi riga\",\n removeRow: \"Rimuovi riga\",\n emptyRowsText: \"Non ci sono righe.\",\n addPanel: \"Aggiungi riga\",\n removePanel: \"Elimina\",\n showDetails: \"Mostra dettagli\",\n hideDetails: \"Nascondi dettagli\",\n choices_Item: \"Elemento\",\n matrix_column: \"Colonna\",\n matrix_row: \"Riga\",\n multipletext_itemname: \"testo\",\n savingData: \"Salvataggio dati sul server...\",\n savingDataError: \"Si è verificato un errore e non è stato possibile salvare i risultati.\",\n savingDataSuccess: \"I risultati sono stati salvati con successo!\",\n saveAgainButton: \"Riprova\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"Hai impiegato {0} su questa pagina e {1} in totale.\",\n timerSpentPage: \"Hai impiegato {0} su questa pagina.\",\n timerSpentSurvey: \"Hai impiegato {0} in totale.\",\n timerLimitAll: \"Hai impiegato {0} di {1} su questa pagina e {2} di {3} in totale.\",\n timerLimitPage: \"Hai impiegato {0} di {1} su questa pagina.\",\n timerLimitSurvey: \"Hai impiegato {0} di {1} in totale.\",\n clearCaption: \"Cancella\",\n signaturePlaceHolder: \"Firmare qui\",\n chooseFileCaption: \"Scegliere il file\",\n takePhotoCaption: \"Scatta foto\",\n photoPlaceholder: \"Fai clic sul pulsante qui sotto per scattare una foto utilizzando la fotocamera.\",\n fileOrPhotoPlaceholder: \"Trascina e rilascia o seleziona un file da caricare o scattare una foto utilizzando la fotocamera.\",\n replaceFileCaption: \"Sostituisci file\",\n removeFileCaption: \"Rimuovere questo file\",\n booleanCheckedLabel: \"Sì\",\n booleanUncheckedLabel: \"No\",\n confirmRemoveFile: \"Sei sicuro di voler elminare questo file: {0}?\",\n confirmRemoveAllFiles: \"Sei sicuro di voler elminare tutti i files?\",\n questionTitlePatternText: \"Titolo della domanda\",\n modalCancelButtonText: \"Annulla\",\n modalApplyButtonText: \"Applicare\",\n filterStringPlaceholder: \"Digita per cercare...\",\n emptyMessage: \"Nessun dato da visualizzare\",\n noEntriesText: \"Non ci sono ancora voci.\\nFai clic sul pulsante qui sotto per aggiungere una nuova voce.\",\n noEntriesReadonlyText: \"Non ci sono voci.\",\n more: \"Più\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"Tutte le scelte sono classificate\",\n selectToRankEmptyUnrankedAreaText: \"Trascina e rilascia le scelte qui per classificarle\",\n ok: \"OK\",\n cancel: \"Annulla\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"it\"] = italianSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"it\"] = \"italiano\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Pannello {panelIndex}\"\n// emptyMessage: \"No data to display\" => \"Nessun dato da visualizzare\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Non ci sono voci.\"\n// more: \"More\" => \"Più\"\n// tagboxDoneButtonCaption: \"OK\" => \"OK\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Tutte le scelte sono classificate\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Trascina e rilascia le scelte qui per classificarle\"// takePhotoCaption: \"Take Photo\" => \"Scatta foto\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Fai clic sul pulsante qui sotto per scattare una foto utilizzando la fotocamera.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Trascina e rilascia o seleziona un file da caricare o scattare una foto utilizzando la fotocamera.\"\n// replaceFileCaption: \"Replace file\" => \"Sostituisci file\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Ogni riga deve avere un valore univoco.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"I file non possono essere caricati. Aggiungere un gestore per l'evento 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Mostra dettagli\"\n// hideDetails: \"Hide Details\" => \"Nascondi dettagli\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Annulla\"\n// refuseItemText: \"Refuse to answer\" => \"Rifiuta di rispondere\"\n// dontKnowItemText: \"Don't know\" => \"Non lo so\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/japanese.ts\":\n/*!**************************************!*\\\n !*** ./src/localization/japanese.ts ***!\n \\**************************************/\n/*! exports provided: japaneseSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"japaneseSurveyStrings\", function() { return japaneseSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar japaneseSurveyStrings = {\n pagePrevText: \"前へ\",\n pageNextText: \"次へ\",\n completeText: \"完了\",\n previewText: \"プレビュー\",\n editText: \"編集\",\n startSurveyText: \"スタート\",\n otherItemText: \"その他(説明)\",\n noneItemText: \"なし\",\n refuseItemText: \"回答を拒否する\",\n dontKnowItemText: \"わかりません\",\n selectAllItemText: \"すべて選択\",\n progressText: \"{0}/{1}頁\",\n indexText: \"{1}の{0}\",\n panelDynamicProgressText: \"{1}の{0}を記録する\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"{0}/{1}の質問に回答しました。\",\n emptySurvey: \"この調査に表示できるページや質問はありません\",\n completingSurvey: \"調査を完了してくれてありがとうございました\",\n completingSurveyBefore: \"当社の記録によると、この調査はすでに完了しています。\",\n loadingSurvey: \"調査をダウンロード中\",\n placeholder: \"選択\",\n ratingOptionsCaption: \"選ぶ。。。\",\n value: \"値打ち\",\n requiredError: \"質問にお答え下さい\",\n requiredErrorInPanel: \"最低でも1つの質問に答えてください。\",\n requiredInAllRowsError: \"質問には全列で回答してください。\",\n eachRowUniqueError: \"各行には一意の値が必要です。\",\n numericError: \"数字でご記入下さい\",\n minError: \"値は {0} 値より小さくすることはできません\",\n maxError: \"値は {0} を超えてはなりません。\",\n textMinLength: \"{0} 文字以上で入力して下さい\",\n textMaxLength: \"{0}文字以下で入力してください。\",\n textMinMaxLength: \"{0}以上{1}未満の文字を入力してください。\",\n minRowCountError: \"{0}行以上で入力して下さい\",\n minSelectError: \"{0}種類以上を選択して下さい\",\n maxSelectError: \"{0}以上のバリアントを選択しないでください。\",\n numericMinMax: \"{0}は{1}以上であり、{2}以下であることが望ましい。\",\n numericMin: \"'{0}' は同等か{1}より大きくなければなりません\",\n numericMax: \"'{0}' は同等か{1}より小さくなければなりません\",\n invalidEmail: \"有効なメールアドレスをご記入下さい\",\n invalidExpression: \"式は {0}は'true'を返すべきです。\",\n urlRequestError: \"リクエストはエラー '{0}' を返しました。{1}\",\n urlGetChoicesError: \"リクエストが空のデータを返したか、'path' プロパティが正しくありません。\",\n exceedMaxSize: \"ファイルのサイズは{0}を超えてはいけません\",\n noUploadFilesHandler: \"ファイルはアップロードできません。「onUploadFiles」イベントのハンドラーを追加してください。\",\n otherRequiredError: \"その他の値を入力してください。\",\n uploadingFile: \"ファイルをアップロード中です。しばらくしてから再度お試し下さい\",\n loadingFile: \"読み込み中\",\n chooseFile: \"ファイルを選択\",\n noFileChosen: \"選択されたファイルはありません\",\n filePlaceholder: \"ここにファイルをドラッグ&ドロップするか、下のボタンをクリックしてアップロードするファイルを選択してください。\",\n confirmDelete: \"レコードを削除しますか?\",\n keyDuplicationError: \"この値は一意でなければなりません。\",\n addColumn: \"列の追加\",\n addRow: \"追加行\",\n removeRow: \"除去\",\n emptyRowsText: \"行はありません。\",\n addPanel: \"新規追加\",\n removePanel: \"除去\",\n showDetails: \"詳細を表示\",\n hideDetails: \"詳細を隠す\",\n choices_Item: \"品目\",\n matrix_column: \"コラム\",\n matrix_row: \"行\",\n multipletext_itemname: \"テキスト\",\n savingData: \"結果はサーバーに保存されています...。\",\n savingDataError: \"エラーが発生し、結果を保存できませんでした。\",\n savingDataSuccess: \"結果は無事に保存されました\",\n saveAgainButton: \"もう一度試してみてください。\",\n timerMin: \"僅少\",\n timerSec: \"セック\",\n timerSpentAll: \"あなたはこのページに{0}を費やし、合計で{1}を費やしました。\",\n timerSpentPage: \"あなたはこのページに{0}を費やしました。\",\n timerSpentSurvey: \"合計で{0}を使ったことになります。\",\n timerLimitAll: \"このページに{1}のうち{0}を費やし、{3}のうち{2}を合計で費やしました。\",\n timerLimitPage: \"このページで{1}の{0}を使ったことがあります。\",\n timerLimitSurvey: \"合計で{1}の{0}を使ったことがあります。\",\n clearCaption: \"空白\",\n signaturePlaceHolder: \"ここに署名\",\n chooseFileCaption: \"ファイルを選択\",\n takePhotoCaption: \"写真を撮る\",\n photoPlaceholder: \"下のボタンをクリックして、カメラを使用して写真を撮ります。\",\n fileOrPhotoPlaceholder: \"アップロードするファイルをドラッグアンドドロップまたは選択するか、カメラを使用して写真を撮ります。\",\n replaceFileCaption: \"ファイルの置換\",\n removeFileCaption: \"このファイルを削除\",\n booleanCheckedLabel: \"噫\",\n booleanUncheckedLabel: \"否\",\n confirmRemoveFile: \"このファイルを削除してもよろしいですか?{0}?\",\n confirmRemoveAllFiles: \"すべてのファイルを削除してもよろしいですか?\",\n questionTitlePatternText: \"質問名\",\n modalCancelButtonText: \"キャンセル\",\n modalApplyButtonText: \"申し込む\",\n filterStringPlaceholder: \"検索するタイプ...\",\n emptyMessage: \"表示するデータがありません\",\n noEntriesText: \"エントリはまだありません。\\n下のボタンをクリックして、新しいエントリを追加します。\",\n noEntriesReadonlyText: \"エントリはありません。\",\n more: \"もっとその\",\n tagboxDoneButtonCaption: \"わかりました\",\n selectToRankEmptyRankedAreaText: \"すべての選択肢がランク付けされます\",\n selectToRankEmptyUnrankedAreaText: \"ここに選択肢をドラッグアンドドロップしてランク付けします\",\n ok: \"わかりました\",\n cancel: \"キャンセル\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"ja\"] = japaneseSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"ja\"] = \"日本語\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{1}の{0}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"選ぶ。。。\"\n// minError: \"The value should not be less than {0}\" => \"値は {0} 値より小さくすることはできません\"\n// maxError: \"The value should not be greater than {0}\" => \"値は {0} を超えてはなりません。\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"ここにファイルをドラッグ&ドロップするか、下のボタンをクリックしてアップロードするファイルを選択してください。\"\n// emptyRowsText: \"There are no rows.\" => \"行はありません。\"\n// multipletext_itemname: \"text\" => \"テキスト\"\n// signaturePlaceHolder: \"Sign here\" => \"ここに署名\"\n// modalCancelButtonText: \"Cancel\" => \"キャンセル\"\n// modalApplyButtonText: \"Apply\" => \"申し込む\"\n// filterStringPlaceholder: \"Type to search...\" => \"検索するタイプ...\"\n// emptyMessage: \"No data to display\" => \"表示するデータがありません\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"エントリはまだありません。\\n下のボタンをクリックして、新しいエントリを追加します。\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"エントリはありません。\"\n// more: \"More\" => \"もっとその\"\n// tagboxDoneButtonCaption: \"OK\" => \"わかりました\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"すべての選択肢がランク付けされます\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"ここに選択肢をドラッグアンドドロップしてランク付けします\"// takePhotoCaption: \"Take Photo\" => \"写真を撮る\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"下のボタンをクリックして、カメラを使用して写真を撮ります。\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"アップロードするファイルをドラッグアンドドロップまたは選択するか、カメラを使用して写真を撮ります。\"\n// replaceFileCaption: \"Replace file\" => \"ファイルの置換\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"各行には一意の値が必要です。\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"ファイルはアップロードできません。「onUploadFiles」イベントのハンドラーを追加してください。\"\n// showDetails: \"Show Details\" => \"詳細を表示\"\n// hideDetails: \"Hide Details\" => \"詳細を隠す\"\n// ok: \"OK\" => \"わかりました\"\n// cancel: \"Cancel\" => \"キャンセル\"\n// refuseItemText: \"Refuse to answer\" => \"回答を拒否する\"\n// dontKnowItemText: \"Don't know\" => \"わかりません\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/kazakh.ts\":\n/*!************************************!*\\\n !*** ./src/localization/kazakh.ts ***!\n \\************************************/\n/*! exports provided: kazakhStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"kazakhStrings\", function() { return kazakhStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar kazakhStrings = {\n pagePrevText: \"Артқа\",\n pageNextText: \"Келесі\",\n completeText: \"Дайын\",\n previewText: \"Алдын ала қарау\",\n editText: \"Редакциялау\",\n startSurveyText: \"Бастау\",\n otherItemText: \"Басқа (өтінеміз, жазыңыз)\",\n noneItemText: \"Жоқ\",\n refuseItemText: \"Жауап беруден бас тарту\",\n dontKnowItemText: \"Білмеймін\",\n selectAllItemText: \"Барлығын таңдау\",\n progressText: \"{0} ден {1} бет \",\n indexText: \"{1} {0}\",\n panelDynamicProgressText: \"{0} ден {1} жазба\",\n panelDynamicTabTextFormat: \"Панель {panelIndex}\",\n questionsProgressText: \"{0}/{1} сұрақтарға жауап\",\n emptySurvey: \"Бір де бір сұрақ жоқ.\",\n completingSurvey: \"Сауалнаманы толтырғаныңыз үшін рахмет!\",\n completingSurveyBefore: \"Сіз бұл сауалнаманы өтіп қойдыңыз.\",\n loadingSurvey: \"Серверден жүктеу...\",\n placeholder: \"Таңдау...\",\n ratingOptionsCaption: \"Таңдау...\",\n value: \"мәні\",\n requiredError: \"Өтінеміз, сұраққа жауап беріңіз.\",\n requiredErrorInPanel: \"Өтінеміз, кем дегенде бір сұраққа жауап беріңіз.\",\n requiredInAllRowsError: \"Өтінеміз, әрбір жолдың сұрағаны жауап беріңіз.\",\n eachRowUniqueError: \"Әр жолдың бірегей мәні болуы тиіс.\",\n numericError: \"Жауап сан түрінде болуы керек.\",\n minError: \"Мәні {0} кем болмауы тиіс\",\n maxError: \"Мән {0} артық болмауы тиіс\",\n textMinLength: \"Өтінеміз, {0} ден көп таңба енгізіңіз.\",\n textMaxLength: \"Өтінеміз, {0} ден аз таңба енгізіңіз.\",\n textMinMaxLength: \"Өтінеміз, {0} аз және {1} көп таңба енгізіңіз.\",\n minRowCountError: \"Өтінеміз, {0} ден кем емес жол толтырыңыз.\",\n minSelectError: \"Өтінеміз, тым болмаса {0} нұсқа таңдаңыз.\",\n maxSelectError: \"Өтінеміз, {0} нұсқадан көп таңдамаңыз.\",\n numericMinMax: \"'{0}' {1} ден кем емес және {2} ден көп емес болу керек\",\n numericMin: \"'{0}' {1} ден кем емес болу керек\",\n numericMax: \"'{0}' {1} ден көп емес болу керек\",\n invalidEmail: \"Өтінеміз, жарамды электрондық поштаңызды енгізіңіз.\",\n invalidExpression: \"{0} өрнегі 'true' қайтару керек.\",\n urlRequestError: \"Сұратым қателікті қайтарды'{0}'. {1}\",\n urlGetChoicesError: \"Сұратымға жауап бос келді немесе 'path' қасиеті қате көрсетілген \",\n exceedMaxSize: \"Файлдың мөлшері {0} аспау керек.\",\n noUploadFilesHandler: \"Файлдарды кері жүктеу мүмкін емес. 'OnUploadFiles' оқиғасына өңдеушіні қосуыңызды сұраймыз.\",\n otherRequiredError: \"Өтінеміз, “Басқа” жолына деректі енгізіңіз\",\n uploadingFile: \"Сіздің файлыңыз жүктеліп жатыр. Бірнеше секунд тосып, қайтадан байқап көріңіз.\",\n loadingFile: \"Жүктеу...\",\n chooseFile: \"Файлдарды таңдаңыз...\",\n noFileChosen: \"Файл таңдалынбады\",\n filePlaceholder: \"Файлды осы жерге апарып тастаңыз немесе төмендегі түймені басыңыз және кері жүктеу үшін файлды таңдаңыз.\",\n confirmDelete: \"Сіз жазбаны жоятыныңызға сенімдісіз бе?\",\n keyDuplicationError: \"Бұл мән бірегей болу керек.\",\n addColumn: \"Бағана қосу\",\n addRow: \"Жолды қосу\",\n removeRow: \"Өшіру\",\n emptyRowsText: \"Қатарлар жоқ.\",\n addPanel: \"Жаңа қосу\",\n removePanel: \"Өшіру\",\n showDetails: \"Егжей-тегжейін көрсету\",\n hideDetails: \"Егжей- тегжейін жасы\",\n choices_Item: \"Нұсқа\",\n matrix_column: \"Бағана\",\n matrix_row: \"Жол\",\n multipletext_itemname: \"мәтін\",\n savingData: \"Нәтижелер серверде сақталады...\",\n savingDataError: \"Қателік туындады, нәтиже сақталынбады.\",\n savingDataSuccess: \"Нәтиже ойдағыдай сақталды!\",\n saveAgainButton: \"Қайтадан байқап көру\",\n timerMin: \"мин\",\n timerSec: \"сек\",\n timerSpentAll: \"Сіз бұл бетте {0} кетірдіңіз және барлығы {1}.\",\n timerSpentPage: \"Сіз бұл бетте {0} кетірдіңіз.\",\n timerSpentSurvey: \"Сіз сауалнама кезінде {0} кетірдіңіз.\",\n timerLimitAll: \"Сіз бұл бетте {0} ден {1} кетірдіңіз және {2} ден {3} бүкіл сауалнама үшін.\",\n timerLimitPage: \"Сіз бұл бетте {0} ден {1} кетірдіңіз.\",\n timerLimitSurvey: \"Сіз бүкіл сауалнама үшін {0} ден {1} кетірдіңіз \",\n clearCaption: \"Тазалау\",\n signaturePlaceHolder: \"Осында кіру\",\n chooseFileCaption: \"Файл таңдаңыз\",\n takePhotoCaption: \"Фотосуретке түсу\",\n photoPlaceholder: \"Камераны пайдаланып суретке түсу үшін төмендегі түймені басыңыз.\",\n fileOrPhotoPlaceholder: \"Фотоаппаратты пайдаланып кері жүктеу немесе суретке түсіру үшін файлды апарып тастаыңыз немесе таңдаңыз.\",\n replaceFileCaption: \"Файлды ауыстыру\",\n removeFileCaption: \"Файлды жойыңыз\",\n booleanCheckedLabel: \"Иә\",\n booleanUncheckedLabel: \"Жоқ\",\n confirmRemoveFile: \"Сіз бұл файлды жоятыныңызға сенімдісіз бе: {0}?\",\n confirmRemoveAllFiles: \"Сіз барлық файлдарды жоятыныңызға сенімдісіз бе?\",\n questionTitlePatternText: \"Сұрақтың атауы\",\n modalCancelButtonText: \"Болдырмау\",\n modalApplyButtonText: \"Қолдану\",\n filterStringPlaceholder: \"Іздеу үшін теріңіз...\",\n emptyMessage: \"Көрсетілетін деректер жоқ\",\n noEntriesText: \"Әзірге жазбалар жоқ.\\nЖаңа жазбаны қосу үшін төмендегі түймешігіңді басыңыз.\",\n noEntriesReadonlyText: \"Жазбалар жоқ.\",\n more: \"Қосымша\",\n tagboxDoneButtonCaption: \"ЖАҚСЫ\",\n selectToRankEmptyRankedAreaText: \"Барлық таңдаулар ранжирленген\",\n selectToRankEmptyUnrankedAreaText: \"Таңдауды рангтеу үшін осында апарып тастау\",\n ok: \"ЖАҚСЫ\",\n cancel: \"Болдырмау\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"kk\"] = kazakhStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"kk\"] = \"Kazakh\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{1} {0}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Панель {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Таңдау...\"\n// minError: \"The value should not be less than {0}\" => \"Мәні {0} кем болмауы тиіс\"\n// maxError: \"The value should not be greater than {0}\" => \"Мән {0} артық болмауы тиіс\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Файлды осы жерге апарып тастаңыз немесе төмендегі түймені басыңыз және кері жүктеу үшін файлды таңдаңыз.\"\n// emptyRowsText: \"There are no rows.\" => \"Қатарлар жоқ.\"\n// multipletext_itemname: \"text\" => \"мәтін\"\n// signaturePlaceHolder: \"Sign here\" => \"Осында кіру\"\n// modalCancelButtonText: \"Cancel\" => \"Болдырмау\"\n// modalApplyButtonText: \"Apply\" => \"Қолдану\"\n// filterStringPlaceholder: \"Type to search...\" => \"Іздеу үшін теріңіз...\"\n// emptyMessage: \"No data to display\" => \"Көрсетілетін деректер жоқ\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Әзірге жазбалар жоқ.\\nЖаңа жазбаны қосу үшін төмендегі түймешігіңді басыңыз.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Жазбалар жоқ.\"\n// more: \"More\" => \"Қосымша\"\n// tagboxDoneButtonCaption: \"OK\" => \"ЖАҚСЫ\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Барлық таңдаулар ранжирленген\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Таңдауды рангтеу үшін осында апарып тастау\"// takePhotoCaption: \"Take Photo\" => \"Фотосуретке түсу\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Камераны пайдаланып суретке түсу үшін төмендегі түймені басыңыз.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Фотоаппаратты пайдаланып кері жүктеу немесе суретке түсіру үшін файлды апарып тастаыңыз немесе таңдаңыз.\"\n// replaceFileCaption: \"Replace file\" => \"Файлды ауыстыру\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Әр жолдың бірегей мәні болуы тиіс.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Файлдарды кері жүктеу мүмкін емес. 'OnUploadFiles' оқиғасына өңдеушіні қосуыңызды сұраймыз.\"\n// showDetails: \"Show Details\" => \"Егжей-тегжейін көрсету\"\n// hideDetails: \"Hide Details\" => \"Егжей- тегжейін жасы\"\n// ok: \"OK\" => \"ЖАҚСЫ\"\n// cancel: \"Cancel\" => \"Болдырмау\"\n// refuseItemText: \"Refuse to answer\" => \"Жауап беруден бас тарту\"\n// dontKnowItemText: \"Don't know\" => \"Білмеймін\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/korean.ts\":\n/*!************************************!*\\\n !*** ./src/localization/korean.ts ***!\n \\************************************/\n/*! exports provided: koreanStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"koreanStrings\", function() { return koreanStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar koreanStrings = {\n pagePrevText: \"이전\",\n pageNextText: \"다음\",\n completeText: \"완료\",\n previewText: \"미리보기\",\n editText: \"수정\",\n startSurveyText: \"시작\",\n otherItemText: \"기타 (설명)\",\n noneItemText: \"없음\",\n refuseItemText: \"대답 거부\",\n dontKnowItemText: \"모르다\",\n selectAllItemText: \"모두 선택\",\n progressText: \"페이지 {1} / {0}\",\n indexText: \"{0} / {1}\",\n panelDynamicProgressText: \"{0} / {1}\",\n panelDynamicTabTextFormat: \"패널 {panelIndex}\",\n questionsProgressText: \"{0} / {1} 개의 질문에 답변함\",\n emptySurvey: \"설문지에 보여지는 페이지나 질문이 없습니다.\",\n completingSurvey: \"설문조사를 완료해 주셔서 감사합니다.\",\n completingSurveyBefore: \"기록에 따르면 이미 설문 조사를 마치셨습니다.\",\n loadingSurvey: \"설문조사가 로드중입니다...\",\n placeholder: \"선택...\",\n ratingOptionsCaption: \"등급을 매기려면 누르세요.\",\n value: \"값\",\n requiredError: \"질문에 답하시오.\",\n requiredErrorInPanel: \"하나 이상의 질문에 답하십시오.\",\n requiredInAllRowsError: \"모든 행에 있는 질문에 답하십시오.\",\n eachRowUniqueError: \"각 행에는 고유한 값이 있어야 합니다.\",\n numericError: \"값은 숫자여야 합니다.\",\n minError: \"값은 {0}보다 작으면 안됩니다.\",\n maxError: \"값은 {0}보다 클 수 없습니다.\",\n textMinLength: \"답변의 길이는 최소 {0}자여야 입니다.\",\n textMaxLength: \"답변의 길이는 {0}자를 초과 할 수 없습니다.\",\n textMinMaxLength: \"답변의 길이는 {0} - {1}자 사이여야 합니다.\",\n minRowCountError: \"최소 {0}개의 행을 채우십시오\",\n minSelectError: \"최소 {0}개의 변수를 선택하십시오.\",\n maxSelectError: \"최대 {0}개의 변수를 선택하십시오.\",\n numericMinMax: \"'{0}'은 {1}보다 크거나 같고 {2}보다 작거나 같아야합니다.\",\n numericMin: \"'{0}'은 {1}보다 크거나 같아야합니다.\",\n numericMax: \"'{0}'은 {1}보다 작거나 같아야합니다.\",\n invalidEmail: \"올바른 이메일 주소를 입력하십시오.\",\n invalidExpression: \"표현식: {0}은 '참'이어야 합니다.\",\n urlRequestError: \"'{0}'으로 잘못된 요청입니다. {1}\",\n urlGetChoicesError: \"비어있는 데이터를 요청했거나 잘못된 속성의 경로입니다.\",\n exceedMaxSize: \"파일 크기가 {0}을 초과 할 수 없습니다.\",\n noUploadFilesHandler: \"파일을 업로드할 수 없습니다. 'onUploadFiles'이벤트에 대한 핸들러를 추가하십시오.\",\n otherRequiredError: \"다른 질문을 작성하십시오.\",\n uploadingFile: \"파일 업로드 중입니다. 잠시 후 다시 시도하십시오.\",\n loadingFile: \"로드 중...\",\n chooseFile: \"파일 선택...\",\n noFileChosen: \"선택된 파일이 없습니다.\",\n filePlaceholder: \"파일을 여기에 놓거나 아래 버튼을 클릭하여 파일을 불러오세요.\",\n confirmDelete: \"기록을 삭제하시겠습니까?\",\n keyDuplicationError: \" 이 값은 고유해야합니다.\",\n addColumn: \"열 추가\",\n addRow: \"행 추가\",\n removeRow: \"제거\",\n emptyRowsText: \"행이 없습니다.\",\n addPanel: \"추가\",\n removePanel: \"제거\",\n showDetails: \"세부 정보 표시\",\n hideDetails: \"세부 정보 숨기기\",\n choices_Item: \"항목\",\n matrix_column: \"열\",\n matrix_row: \"행\",\n multipletext_itemname: \"텍스트\",\n savingData: \"결과가 서버에 저장 중입니다...\",\n savingDataError: \"오류가 발생하여 결과를 저장할 수 없습니다.\",\n savingDataSuccess: \"결과가 성공적으로 저장되었습니다.\",\n saveAgainButton: \"다시 시도하세요.\",\n timerMin: \"분\",\n timerSec: \"초\",\n timerSpentAll: \"현재 페이지에서 {0}을 소요해 총 {1}이 걸렸습니다.\",\n timerSpentPage: \"현재 페이지에서 {0}이 걸렸습니다.\",\n timerSpentSurvey: \"총 {0}이 걸렸습니다.\",\n timerLimitAll: \"현재 페이지에서 {0}/{1}을 소요해 총 {2}/{3}이 걸렸습니다.\",\n timerLimitPage: \"현재 페이지에서 {0}/{1}이 걸렸습니다.\",\n timerLimitSurvey: \"총 {0}/{1}이 걸렸습니다.\",\n clearCaption: \"지우기\",\n signaturePlaceHolder: \"서명하세요.\",\n chooseFileCaption: \"파일 선택\",\n takePhotoCaption: \"사진 찍기\",\n photoPlaceholder: \"아래 버튼을 클릭하여 카메라로 사진을 찍습니다.\",\n fileOrPhotoPlaceholder: \"업로드할 파일을 드래그 앤 드롭하거나 선택하거나 카메라를 사용하여 사진을 찍습니다.\",\n replaceFileCaption: \"파일 바꾸기\",\n removeFileCaption: \"파일 제거\",\n booleanCheckedLabel: \"예\",\n booleanUncheckedLabel: \"아니오\",\n confirmRemoveFile: \"{0} 파일을 제거 하시겠습니까?\",\n confirmRemoveAllFiles: \"모든 파일을 제거 하시겠습니까?\",\n questionTitlePatternText: \"질문 제목\",\n modalCancelButtonText: \"취소\",\n modalApplyButtonText: \"적용\",\n filterStringPlaceholder: \"검색 유형...\",\n emptyMessage: \"표시할 데이터가 없습니다.\",\n noEntriesText: \"아직 항목이 없습니다.\\n새 항목을 추가하려면 아래 버튼을 클릭하세요.\",\n noEntriesReadonlyText: \"항목이 없습니다.\",\n more: \"더보기\",\n tagboxDoneButtonCaption: \"그래\",\n selectToRankEmptyRankedAreaText: \"모든 선택 항목이 순위가 매겨집니다.\",\n selectToRankEmptyUnrankedAreaText: \"여기에 선택 항목을 끌어다 놓아 순위를 매깁니다.\",\n ok: \"그래\",\n cancel: \"취소\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"ko\"] = koreanStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"ko\"] = \"한국어\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"패널 {panelIndex}\"\n// emptyMessage: \"No data to display\" => \"표시할 데이터가 없습니다.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"항목이 없습니다.\"\n// tagboxDoneButtonCaption: \"OK\" => \"그래\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"모든 선택 항목이 순위가 매겨집니다.\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"여기에 선택 항목을 끌어다 놓아 순위를 매깁니다.\"// takePhotoCaption: \"Take Photo\" => \"사진 찍기\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"아래 버튼을 클릭하여 카메라로 사진을 찍습니다.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"업로드할 파일을 드래그 앤 드롭하거나 선택하거나 카메라를 사용하여 사진을 찍습니다.\"\n// replaceFileCaption: \"Replace file\" => \"파일 바꾸기\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"각 행에는 고유한 값이 있어야 합니다.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"파일을 업로드할 수 없습니다. 'onUploadFiles'이벤트에 대한 핸들러를 추가하십시오.\"\n// showDetails: \"Show Details\" => \"세부 정보 표시\"\n// hideDetails: \"Hide Details\" => \"세부 정보 숨기기\"\n// ok: \"OK\" => \"그래\"\n// cancel: \"Cancel\" => \"취소\"\n// refuseItemText: \"Refuse to answer\" => \"대답 거부\"\n// dontKnowItemText: \"Don't know\" => \"모르다\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/latvian.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/latvian.ts ***!\n \\*************************************/\n/*! exports provided: latvianSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"latvianSurveyStrings\", function() { return latvianSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar latvianSurveyStrings = {\n pagePrevText: \"Iepriekšēja lapa\",\n pageNextText: \"Nākamā lapa\",\n completeText: \"Iesniegt\",\n previewText: \"Priekšskatījums\",\n editText: \"Rediģēt\",\n startSurveyText: \"Sākt\",\n otherItemText: \"Cits (lūdzu, aprakstiet!)\",\n noneItemText: \"Nav\",\n refuseItemText: \"Atteikties atbildēt\",\n dontKnowItemText: \"Es nezinu\",\n selectAllItemText: \"Izvēlēties visus\",\n progressText: \"{0}. lapa no {1}\",\n indexText: \"{0} no {1}\",\n panelDynamicProgressText: \"Ierakstīt {0} no {1}\",\n panelDynamicTabTextFormat: \"Panelis {panelIndex}\",\n questionsProgressText: \"Atbildēts uz {0} / {1} jautājumiem\",\n emptySurvey: \"Nav neviena jautājuma.\",\n completingSurvey: \"Pateicamies Jums par anketas aizpildīšanu!\",\n completingSurveyBefore: \"Mūsu ieraksti liecina, ka Jūs jau esat aizpildījis šo aptauju.\",\n loadingSurvey: \"Ielāde no servera...\",\n placeholder: \"Izvēlēties...\",\n ratingOptionsCaption: \"Nospiediet šeit, lai novērtētu...\",\n value: \"value\",\n requiredError: \"Lūdzu, atbildiet uz jautājumu!\",\n requiredErrorInPanel: \"Lūdzu, atbildiet uz vismaz vienu jautājumu.\",\n requiredInAllRowsError: \"Lūdzu, atbildiet uz jautājumiem visās rindās.\",\n eachRowUniqueError: \"Katrai rindai jābūt unikālai vērtībai.\",\n numericError: \"Atbildei ir jābūt skaitlim.\",\n minError: \"Vērtība nedrīkst būt mazāka par {0}\",\n maxError: \"Vērtība nedrīkst būt lielāka par {0}\",\n textMinLength: \"Lūdzu, ievadiet vismaz {0} simbolus.\",\n textMaxLength: \"Lūdzu, ievadiet mazāk nekā {0} rakstzīmes.\",\n textMinMaxLength: \"Lūdzu, ievadiet vairāk nekā {0} rakstzīmes un mazāk nekā {1} rakstzīmes.\",\n minRowCountError: \"Lūdzu, aizpildiet vismaz {0} rindas.\",\n minSelectError: \"Lūdzu, izvēlieties vismaz {0} variantu.\",\n maxSelectError: \"Lūdzu, izvēlieties ne vairak par {0} variantiem.\",\n numericMinMax: \"'{0}' jābūt vienādam vai lielākam nekā {1}, un vienādam vai mazākam, nekā {2}\",\n numericMin: \"'{0}' jābūt vienādam vai lielākam {1}\",\n numericMax: \"'{0}' jābūt vienādam vai lielākam {1}\",\n invalidEmail: \"Lūdzu, ievadiet pareizu e-pasta adresi!\",\n invalidExpression: \"Izteicienam: {0} jāatgriež “true”.\",\n urlRequestError: \"Pieprasījumā tika atgriezta kļūda “{0}”. {1}\",\n urlGetChoicesError: \"Pieprasījums atgrieza tukšus datus vai rekvizīts “path” ir nepareizs\",\n exceedMaxSize: \"Faila lielums nedrīkst pārsniegt {0}.\",\n noUploadFilesHandler: \"Failus nevar augšupielādēt. Lūdzu, pievienojiet apdarinātāju notikumam \\\"onUploadFiles\\\".\",\n otherRequiredError: \"Lūdzu, ievadiet datus laukā 'Cits'\",\n uploadingFile: \"Jūsu fails tiek augšupielādēts. Lūdzu, uzgaidiet dažas sekundes un mēģiniet vēlreiz.\",\n loadingFile: \"Notiek ielāde ...\",\n chooseFile: \"Izvēlieties failus ...\",\n noFileChosen: \"Nav izvēlēts neviens fails\",\n filePlaceholder: \"Lai pievienotu, ievelciet failu šeit vai arī klikšķiniet uz zemāk redzamās pogas\",\n confirmDelete: \"Vai vēlaties izdzēst ierakstu?\",\n keyDuplicationError: \"Šai vērtībai jābūt unikālai.\",\n addColumn: \"Pievienot kolonnu\",\n addRow: \"Pievienot rindu\",\n removeRow: \"Noņemt\",\n emptyRowsText: \"Nav rindu.\",\n addPanel: \"Pievieno jaunu\",\n removePanel: \"Noņemt\",\n showDetails: \"Rādīt detalizētu informāciju\",\n hideDetails: \"Slēpt detaļas\",\n choices_Item: \"vienums\",\n matrix_column: \"Sleja\",\n matrix_row: \"Rinda\",\n multipletext_itemname: \"teksts\",\n savingData: \"Rezultāti tiek saglabāti serverī ...\",\n savingDataError: \"Radās kļūda, un mēs nevarējām saglabāt rezultātus.\",\n savingDataSuccess: \"Rezultāti tika veiksmīgi saglabāti!\",\n saveAgainButton: \"Mēģiniet vēlreiz\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Šajā lapā esat iztērējis {0} un kopā {1}.\",\n timerSpentPage: \"Šajā lapā esat iztērējis {0}.\",\n timerSpentSurvey: \"Kopā esat iztērējis {0}.\",\n timerLimitAll: \"Šajā lapā esat iztērējis {0} no {1} un kopā {2} no {3}.\",\n timerLimitPage: \"Šajā lapā esat iztērējis {0} no {1}.\",\n timerLimitSurvey: \"Kopā esat iztērējis {0} no {1}.\",\n clearCaption: \"Iztīrīt\",\n signaturePlaceHolder: \"Parakstieties šeit\",\n chooseFileCaption: \"Izvēlēties failu\",\n takePhotoCaption: \"Uzņemt fotoattēlu\",\n photoPlaceholder: \"Noklikšķiniet uz pogas zemāk, lai uzņemtu fotoattēlu, izmantojot kameru.\",\n fileOrPhotoPlaceholder: \"Velciet un nometiet vai atlasiet failu, ko augšupielādēt vai uzņemt fotoattēlu, izmantojot kameru.\",\n replaceFileCaption: \"Aizstāt failu\",\n removeFileCaption: \"Noņemiet šo failu\",\n booleanCheckedLabel: \"Jā\",\n booleanUncheckedLabel: \"Nē\",\n confirmRemoveFile: \"Vai tiešām vēlaties noņemt šo failu: {0}?\",\n confirmRemoveAllFiles: \"Vai tiešām vēlaties noņemt visus failus?\",\n questionTitlePatternText: \"Jautājuma nosaukums\",\n modalCancelButtonText: \"Atcelt\",\n modalApplyButtonText: \"Pielietot\",\n filterStringPlaceholder: \"Ierakstiet, lai meklētu...\",\n emptyMessage: \"Nav datu, ko rādīt\",\n noEntriesText: \"Vēl nav neviena ieraksta.\\nNoklikšķiniet uz zemāk esošās pogas, lai pievienotu jaunu ierakstu.\",\n noEntriesReadonlyText: \"Ierakstu nav.\",\n more: \"Vairāk\",\n tagboxDoneButtonCaption: \"LABI\",\n selectToRankEmptyRankedAreaText: \"Visas izvēles ir sarindotas\",\n selectToRankEmptyUnrankedAreaText: \"Velciet un nometiet izvēles iespējas šeit, lai tās sarindotu\",\n ok: \"LABI\",\n cancel: \"Atcelt\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"lv\"] = latvianSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"lv\"] = \"latviešu\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panelis {panelIndex}\"\n// emptyMessage: \"No data to display\" => \"Nav datu, ko rādīt\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Ierakstu nav.\"\n// more: \"More\" => \"Vairāk\"\n// tagboxDoneButtonCaption: \"OK\" => \"LABI\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Visas izvēles ir sarindotas\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Velciet un nometiet izvēles iespējas šeit, lai tās sarindotu\"// takePhotoCaption: \"Take Photo\" => \"Uzņemt fotoattēlu\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Noklikšķiniet uz pogas zemāk, lai uzņemtu fotoattēlu, izmantojot kameru.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Velciet un nometiet vai atlasiet failu, ko augšupielādēt vai uzņemt fotoattēlu, izmantojot kameru.\"\n// replaceFileCaption: \"Replace file\" => \"Aizstāt failu\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Katrai rindai jābūt unikālai vērtībai.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Failus nevar augšupielādēt. Lūdzu, pievienojiet apdarinātāju notikumam \\\"onUploadFiles\\\".\"\n// showDetails: \"Show Details\" => \"Rādīt detalizētu informāciju\"\n// hideDetails: \"Hide Details\" => \"Slēpt detaļas\"\n// ok: \"OK\" => \"LABI\"\n// cancel: \"Cancel\" => \"Atcelt\"\n// refuseItemText: \"Refuse to answer\" => \"Atteikties atbildēt\"\n// dontKnowItemText: \"Don't know\" => \"Es nezinu\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/lithuanian.ts\":\n/*!****************************************!*\\\n !*** ./src/localization/lithuanian.ts ***!\n \\****************************************/\n/*! exports provided: lithuaniaSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lithuaniaSurveyStrings\", function() { return lithuaniaSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar lithuaniaSurveyStrings = {\n pagePrevText: \"Atgal\",\n pageNextText: \"Toliau\",\n completeText: \"Baigti\",\n previewText: \"Peržiūra\",\n editText: \"Redaguoti\",\n startSurveyText: \"Pradėti\",\n otherItemText: \"Kita (įvesti)\",\n noneItemText: \"Nėra\",\n refuseItemText: \"Atsisakyti atsakyti\",\n dontKnowItemText: \"Nežinau\",\n selectAllItemText: \"Pasirinkti visus\",\n progressText: \"Puslapis {0} iš {1}\",\n indexText: \"{1} {0}\",\n panelDynamicProgressText: \"Įrašyti {0} iš {1}\",\n panelDynamicTabTextFormat: \"Skydelis {panelIndex}\",\n questionsProgressText: \"Atsakė į {0} / {1} klausimus\",\n emptySurvey: \"Apklausoje nėra matomo puslapio ar klausimo.\",\n completingSurvey: \"Dėkojame už dalyvavimą apklausoje!\",\n completingSurveyBefore: \"Mūsų įrašai rodo, kad jau atlikote šią apklausą.\",\n loadingSurvey: \"Prašome palaukti...\",\n placeholder: \"Pasirinkti...\",\n ratingOptionsCaption: \"Žymėti...\",\n value: \"reikšmė\",\n requiredError: \"Būtina atsakyti į šį klausimą.\",\n requiredErrorInPanel: \"Būtina atsakyti bent į vieną klausimą.\",\n requiredInAllRowsError: \"Prašome atsakyti į klausimus visose eilutėse.\",\n eachRowUniqueError: \"Kiekviena eilutė turi turėti unikalią reikšmę.\",\n numericError: \"Turi būti skaičiai.\",\n minError: \"Vertė neturėtų būti mažesnė nei {0}\",\n maxError: \"Vertė neturėtų būti didesnė nei {0}\",\n textMinLength: \"Prašome suvesti bent {0} simbolius.\",\n textMaxLength: \"Prašome suvesti mažiau nei {0} simbolių.\",\n textMinMaxLength: \"Prašome suvesti daugiau nei {0} ir mažiau nei {1} simbolių.\",\n minRowCountError: \"Prašome suvesti ne mažiau nei {0} eilučių.\",\n minSelectError: \"Prašome pasirinkti bent {0} variantų.\",\n maxSelectError: \"Pasirinkite ne daugiau kaip {0} variantus.\",\n numericMinMax: \"'{0}' turi būti lygus arba didesnis nei {1} ir lygus arba mažesnis nei {2}\",\n numericMin: \"'{0}' turėtų būti lygus arba didesnis nei {1}\",\n numericMax: \"'{0}' turėtų būti lygus ar mažesnis už {1}\",\n invalidEmail: \"Prašome įvesti galiojantį elektroninio pašto adresą.\",\n invalidExpression: \"Reikšmė: {0} turi grąžinti 'true'.\",\n urlRequestError: \"Užklausa grąžino klaidą'{0}'. {1}\",\n urlGetChoicesError: \"Užklausa grąžino tuščius duomenis arba 'path' savybė yra neteisinga\",\n exceedMaxSize: \"Failo dydis neturi viršyti {0}.\",\n noUploadFilesHandler: \"Failų įkelti negalima. Pridėkite įvykio \\\"onUploadFiles\\\" tvarkytoją.\",\n otherRequiredError: \"Įveskite kitą reikšmę.\",\n uploadingFile: \"Jūsų failas yra keliamas. Palaukite keletą sekundžių ir bandykite dar kartą.\",\n loadingFile: \"Prašome palaukti...\",\n chooseFile: \"Pasirinkti failą(us)...\",\n noFileChosen: \"Nepasirinktas joks failas\",\n filePlaceholder: \"Nuvilkite failą čia arba spustelėkite žemiau esantį mygtuką ir pasirinkite failą, kurį norite įkelti.\",\n confirmDelete: \"Ar norite ištrinti įrašą?\",\n keyDuplicationError: \"Ši reikšmė turėtų būti unikali.\",\n addColumn: \"Pridėti stulpelį\",\n addRow: \"Pridėti eilutę\",\n removeRow: \"Ištrinti\",\n emptyRowsText: \"Eilių nėra.\",\n addPanel: \"Pridėti naują\",\n removePanel: \"Ištrinti\",\n showDetails: \"Rodyti išsamią informaciją\",\n hideDetails: \"Slėpti išsamią informaciją\",\n choices_Item: \"elementas\",\n matrix_column: \"Stulpelis\",\n matrix_row: \"Eilutė\",\n multipletext_itemname: \"SMS žinutė\",\n savingData: \"Rezultatai saugomi serveryje...\",\n savingDataError: \"Įvyko klaida ir mes negalėjome išsaugoti rezultatų.\",\n savingDataSuccess: \"Rezultatai buvo išsaugoti sėkmingai!\",\n saveAgainButton: \"Bandyti dar kartą\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Praleidote {0} šiame puslapyje ir {1} iš viso.\",\n timerSpentPage: \"Praleidote {0} šiame puslapyje.\",\n timerSpentSurvey: \"Praleidote {0} iš viso.\",\n timerLimitAll: \"Praleidote {0} iš {1} šiame puslapyje ir {2} iš {3} iš viso.\",\n timerLimitPage: \"Praleidote {0} iš {1} šiame puslapyje.\",\n timerLimitSurvey: \"Praleidote {0} iš {1} iš viso.\",\n clearCaption: \"Valyti\",\n signaturePlaceHolder: \"Pasirašykite čia\",\n chooseFileCaption: \"Pasirinkti failą\",\n takePhotoCaption: \"Fotografuoti\",\n photoPlaceholder: \"Spustelėkite žemiau esantį mygtuką, kad nufotografuotumėte fotoaparatu.\",\n fileOrPhotoPlaceholder: \"Nuvilkite arba pasirinkite failą, kurį norite įkelti arba nufotografuoti naudodami fotoaparatą.\",\n replaceFileCaption: \"Pakeiskite failą\",\n removeFileCaption: \"Ištrinti šį failą\",\n booleanCheckedLabel: \"Taip\",\n booleanUncheckedLabel: \"Ne\",\n confirmRemoveFile: \"Ar tikrai norite pašalinti šį failą: {0}?\",\n confirmRemoveAllFiles: \"Ar tikrai norite pašalinti visus failus?\",\n questionTitlePatternText: \"Klausimo pavadinimas\",\n modalCancelButtonText: \"Atšaukti\",\n modalApplyButtonText: \"Vartoti\",\n filterStringPlaceholder: \"Įveskite, kad ieškotumėte...\",\n emptyMessage: \"Nėra rodomų duomenų\",\n noEntriesText: \"Įrašų dar nėra.\\nSpustelėkite žemiau esantį mygtuką, kad pridėtumėte naują įrašą.\",\n noEntriesReadonlyText: \"Įrašų nėra.\",\n more: \"Daugiau\",\n tagboxDoneButtonCaption: \"GERAI\",\n selectToRankEmptyRankedAreaText: \"Visi pasirinkimai yra reitinguojami\",\n selectToRankEmptyUnrankedAreaText: \"Nuvilkite pasirinkimus čia, kad juos reitinguotumėte\",\n ok: \"GERAI\",\n cancel: \"Atšaukti\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"lt\"] = lithuaniaSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"lt\"] = \"lietuvių\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{1} {0}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Skydelis {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Žymėti...\"\n// minError: \"The value should not be less than {0}\" => \"Vertė neturėtų būti mažesnė nei {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Vertė neturėtų būti didesnė nei {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Nuvilkite failą čia arba spustelėkite žemiau esantį mygtuką ir pasirinkite failą, kurį norite įkelti.\"\n// emptyRowsText: \"There are no rows.\" => \"Eilių nėra.\"\n// multipletext_itemname: \"text\" => \"SMS žinutė\"\n// signaturePlaceHolder: \"Sign here\" => \"Pasirašykite čia\"\n// modalCancelButtonText: \"Cancel\" => \"Atšaukti\"\n// modalApplyButtonText: \"Apply\" => \"Vartoti\"\n// filterStringPlaceholder: \"Type to search...\" => \"Įveskite, kad ieškotumėte...\"\n// emptyMessage: \"No data to display\" => \"Nėra rodomų duomenų\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Įrašų dar nėra.\\nSpustelėkite žemiau esantį mygtuką, kad pridėtumėte naują įrašą.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Įrašų nėra.\"\n// more: \"More\" => \"Daugiau\"\n// tagboxDoneButtonCaption: \"OK\" => \"GERAI\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Visi pasirinkimai yra reitinguojami\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Nuvilkite pasirinkimus čia, kad juos reitinguotumėte\"// takePhotoCaption: \"Take Photo\" => \"Fotografuoti\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Spustelėkite žemiau esantį mygtuką, kad nufotografuotumėte fotoaparatu.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Nuvilkite arba pasirinkite failą, kurį norite įkelti arba nufotografuoti naudodami fotoaparatą.\"\n// replaceFileCaption: \"Replace file\" => \"Pakeiskite failą\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Kiekviena eilutė turi turėti unikalią reikšmę.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Failų įkelti negalima. Pridėkite įvykio \\\"onUploadFiles\\\" tvarkytoją.\"\n// showDetails: \"Show Details\" => \"Rodyti išsamią informaciją\"\n// hideDetails: \"Hide Details\" => \"Slėpti išsamią informaciją\"\n// ok: \"OK\" => \"GERAI\"\n// cancel: \"Cancel\" => \"Atšaukti\"\n// refuseItemText: \"Refuse to answer\" => \"Atsisakyti atsakyti\"\n// dontKnowItemText: \"Don't know\" => \"Nežinau\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/macedonian.ts\":\n/*!****************************************!*\\\n !*** ./src/localization/macedonian.ts ***!\n \\****************************************/\n/*! exports provided: macedonianSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"macedonianSurveyStrings\", function() { return macedonianSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar macedonianSurveyStrings = {\n pagePrevText: \"Претходна\",\n pageNextText: \"Следно\",\n completeText: \"Заврши\",\n previewText: \"Преглед\",\n editText: \"Уредување\",\n startSurveyText: \"Започнете\",\n otherItemText: \"Друго (опиши)\",\n noneItemText: \"Ништо\",\n refuseItemText: \"Одбиј да одговориш.\",\n dontKnowItemText: \"Не знам\",\n selectAllItemText: \"Селектирај се\",\n progressText: \"Страница {0} од {1}\",\n indexText: \"{0} на {1}\",\n panelDynamicProgressText: \"Сними {0} од {1}\",\n panelDynamicTabTextFormat: \"Панел {панел Индекс}\",\n questionsProgressText: \"Одговорени на {0} / {1} прашања\",\n emptySurvey: \"Нема видлива страница или прашање во истражувањето.\",\n completingSurvey: \"Ви благодариме што го завршивте истражувањето!\",\n completingSurveyBefore: \"Нашите записи покажуваат дека веќе сте го завршиле ова истражување.\",\n loadingSurvey: \"Анкетата се вчитува ...\",\n placeholder: \"Изберете ...\",\n ratingOptionsCaption: \"Изберете...\",\n value: \"вредност\",\n requiredError: \"Ве молам, одговорете на прашањето.\",\n requiredErrorInPanel: \"Ве молам, одговорете барем на едно прашање.\",\n requiredInAllRowsError: \"Ве молиме, одговорете на прашања во сите редови.\",\n eachRowUniqueError: \"Секој ред мора да има уникатна вредност.\",\n numericError: \"Вредноста треба да биде нумеричка.\",\n minError: \"Вредноста не треба да биде помала од {0}\",\n maxError: \"Вредноста не треба да биде поголема од {0}\",\n textMinLength: \"Внесете најмалку {0} знак/ци.\",\n textMaxLength: \"Внесете не повеќе од {0} знак/ци.\",\n textMinMaxLength: \"Внесете најмалку {0} и не повеќе од {1} знаци.\",\n minRowCountError: \"Пополнете најмалку {0} ред(ови).\",\n minSelectError: \"Ве молиме изберете најмалку {0} варијанта(и).\",\n maxSelectError: \"Изберете не повеќе од {0} варијанта(и).\",\n numericMinMax: \"'{0}' треба да биде најмалку {1} и најмногу {2}\",\n numericMin: \"'{0}' треба да биде најмалку {1}\",\n numericMax: \"'{0}' треба да биде најмногу {1}\",\n invalidEmail: \"Ве молиме внесете валидна е-маил адреса.\",\n invalidExpression: \"Изразот: {0} треба да се врати 'true'.\",\n urlRequestError: \"Барањето врати грешка '{0}'. {1} \",\n urlGetChoicesError: \"Барањето врати празни податоци или својството 'path' е неточно\",\n exceedMaxSize: \"Големината на датотеката не треба да надминува {0}.\",\n noUploadFilesHandler: \"Фајловите не можат да се качуваат. Ве молиме додадете раководител за настанот 'onUploadFiles'.\",\n otherRequiredError: \"Внесете ја другата вредност.\",\n uploadingFile: \"Вашата датотека се поставува. Ве молиме почекајте неколку секунди и обидете се повторно.\",\n loadingFile: \"Се вчитува ...\",\n chooseFile: \"Изберете датотека (и) ...\",\n noFileChosen: \"Не се избрани датотеки\",\n filePlaceholder: \"Пуштете датотека овде или кликнете на копчето подолу за да ја вчитате датотеката.\",\n confirmDelete: \"Дали сакате да го избришете записот?\",\n keyDuplicationError: \"Оваа вредност треба да биде единствена.\",\n addColumn: \"Додај колона\",\n addRow: \"Додади ред\",\n removeRow: \"Отстрани\",\n emptyRowsText: \"Нема редови.\",\n addPanel: \"Додади ново\",\n removePanel: \"Отстрани\",\n showDetails: \"Прикажување на деталите\",\n hideDetails: \"Сокриј ги деталите.\",\n choices_Item: \"ставка\",\n matrix_column: \"Колона\",\n matrix_row: \"Ред\",\n multipletext_itemname: \"текст.\",\n savingData: \"Резултатите се зачувуваат на серверот ...\",\n savingDataError: \"Настана грешка и не можевме да ги зачуваме резултатите.\",\n savingDataSuccess: \"Резултатите беа успешно зачувани!\",\n saveAgainButton: \"Обиди се повторно\",\n timerMin: \"мин\",\n timerSec: \"сек\",\n timerSpentAll: \"Поминавте {0} на оваа страница и вкупно {1}.\",\n timerSpentPage: \"Поминавте {0} на оваа страница.\",\n timerSpentSurvey: \"Вие потрошивте вкупно {0}.\",\n timerLimitAll: \"Поминавте {0} од {1} на оваа страница и {2} од {3} вкупно.\",\n timerLimitPage: \"Поминавте {0} од {1} на оваа страница.\",\n timerLimitSurvey: \"Вие потрошивте вкупно {0} од {1}.\",\n clearCaption: \"Да расчисти\",\n signaturePlaceHolder: \"Потпиши се овде.\",\n chooseFileCaption: \"Изберете датотека\",\n takePhotoCaption: \"Фотографирајте\",\n photoPlaceholder: \"Кликнете на копчето подолу за да фотографирате користејќи ја камерата.\",\n fileOrPhotoPlaceholder: \"Влечете и фрлајте или изберете датотека за качување или фотографирање користејќи ја камерата.\",\n replaceFileCaption: \"Заменете го фајлот.\",\n removeFileCaption: \"Отстранете ја оваа датотека\",\n booleanCheckedLabel: \"Да\",\n booleanUncheckedLabel: \"Не\",\n confirmRemoveFile: \"Дали сте сигурни дека сакате да ја отстраните оваа датотека: {0}?\",\n confirmRemoveAllFiles: \"Дали сте сигурни дека сакате да ги отстраните сите датотеки?\",\n questionTitlePatternText: \"Наслов на прашањето\",\n modalCancelButtonText: \"Откажи\",\n modalApplyButtonText: \"Аплицирај\",\n filterStringPlaceholder: \"Тип за пребарување...\",\n emptyMessage: \"Нема податоци за прикажување\",\n noEntriesText: \"Сеуште нема влезници.\\nКликнете на копчето подолу за да додадете нов влез.\",\n noEntriesReadonlyText: \"Нема влезници.\",\n more: \"Повеќе\",\n tagboxDoneButtonCaption: \"ДОБРО\",\n selectToRankEmptyRankedAreaText: \"Сите избори се рангирани\",\n selectToRankEmptyUnrankedAreaText: \"Влечете и фрлете го изборот овде за да ги рангирате\",\n ok: \"ДОБРО\",\n cancel: \"Откажи\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"mk\"] = macedonianSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"mk\"] = \"Македонски\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} на {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Панел {панел Индекс}\"\n// ratingOptionsCaption: \"Select...\" => \"Изберете...\"\n// multipletext_itemname: \"text\" => \"текст.\"\n// signaturePlaceHolder: \"Sign here\" => \"Потпиши се овде.\"\n// filterStringPlaceholder: \"Type to search...\" => \"Тип за пребарување...\"\n// emptyMessage: \"No data to display\" => \"Нема податоци за прикажување\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Сеуште нема влезници.\\nКликнете на копчето подолу за да додадете нов влез.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Нема влезници.\"\n// more: \"More\" => \"Повеќе\"\n// tagboxDoneButtonCaption: \"OK\" => \"ДОБРО\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Сите избори се рангирани\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Влечете и фрлете го изборот овде за да ги рангирате\"// takePhotoCaption: \"Take Photo\" => \"Фотографирајте\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Кликнете на копчето подолу за да фотографирате користејќи ја камерата.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Влечете и фрлајте или изберете датотека за качување или фотографирање користејќи ја камерата.\"\n// replaceFileCaption: \"Replace file\" => \"Заменете го фајлот.\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Секој ред мора да има уникатна вредност.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Фајловите не можат да се качуваат. Ве молиме додадете раководител за настанот 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Прикажување на деталите\"\n// hideDetails: \"Hide Details\" => \"Сокриј ги деталите.\"\n// ok: \"OK\" => \"ДОБРО\"\n// cancel: \"Cancel\" => \"Откажи\"\n// refuseItemText: \"Refuse to answer\" => \"Одбиј да одговориш.\"\n// dontKnowItemText: \"Don't know\" => \"Не знам\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/malay.ts\":\n/*!***********************************!*\\\n !*** ./src/localization/malay.ts ***!\n \\***********************************/\n/*! exports provided: malaySurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"malaySurveyStrings\", function() { return malaySurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar malaySurveyStrings = {\n pagePrevText: \"Sebelumnya\",\n pageNextText: \"Seterusnya\",\n completeText: \"Selesai\",\n previewText: \"Pratonton\",\n editText: \"Edit\",\n startSurveyText: \"Mula\",\n otherItemText: \"Lain (terangkan)\",\n noneItemText: \"Tiada\",\n refuseItemText: \"Enggan menjawab\",\n dontKnowItemText: \"Tak tahu\",\n selectAllItemText: \"Pilih Semua\",\n progressText: \"Halaman {0} daripada {1}\",\n indexText: \"{0} {1}\",\n panelDynamicProgressText: \"Rekod {0} daripada {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"{0}/{1} soalan telah dijawab\",\n emptySurvey: \"Tiada halaman atau soalan boleh dilihat dalam tinjauan.\",\n completingSurvey: \"Terima kasih kerana melengkapkan tinjauan!\",\n completingSurveyBefore: \"Rekod kami menunjukkan yang anda telah melengkapkan tinjauan ini.\",\n loadingSurvey: \"Memuatkan Tinjauan...\",\n placeholder: \"Pilih...\",\n ratingOptionsCaption: \"Pilih...\",\n value: \"nilai\",\n requiredError: \"Respons diperlukan.\",\n requiredErrorInPanel: \"Respons diperlukan: jawab sekurang-kurangnya satu soalan.\",\n requiredInAllRowsError: \"Respons diperlukan: jawab soalan dalam semua baris.\",\n eachRowUniqueError: \"Setiap baris mesti mempunyai nilai yang unik.\",\n numericError: \"Nilai mestilah numerik.\",\n minError: \"Nilai tidak boleh kurang daripada {0}\",\n maxError: \"Nilai tidak boleh lebih besar daripada {0}\",\n textMinLength: \"Sila masukkan sekurang-kurangnya {0} aksara.\",\n textMaxLength: \"Sila masukkan tidak lebih daripada {0} aksara.\",\n textMinMaxLength: \"Sila masukkan sekurang-kurangnya {0} dan tidak lebih daripada {1} aksara.\",\n minRowCountError: \"Sila isikan sekurang-kurangnya {0} baris.\",\n minSelectError: \"Sila pilih sekurang-kurangnya {0} varian.\",\n maxSelectError: \"Sila pilih tidak lebih daripada {0} varian.\",\n numericMinMax: \"'{0}' mestilah sekurang-kurangnya {1} dan paling banyak {2}\",\n numericMin: \"'{0}' mestilah sekurang-kurangnya {1}\",\n numericMax: \"'{0}' mestilah paling banyak {1}\",\n invalidEmail: \"Sila masukkan alamat e-mel yang sah.\",\n invalidExpression: \"Ekspresi: {0} hendaklah mengembalikan nilai 'benar'.\",\n urlRequestError: \"Permintaan mengembalikan ralat '{0}'. {1}\",\n urlGetChoicesError: \"Permintaan mengembalikan data kosong atau ciri 'laluan' salah\",\n exceedMaxSize: \"Saiz fail hendaklah tidak melebihi {0}.\",\n noUploadFilesHandler: \"Fail tidak boleh dimuat naik. Sila tambah pengendali untuk acara 'onUploadFiles'.\",\n otherRequiredError: \"Respons diperlukan: masukkan nilai lain.\",\n uploadingFile: \"Fail anda sedang dimuat naik. Sila tunggu beberapa saat dan cuba lagi.\",\n loadingFile: \"Memuat...\",\n chooseFile: \"Pilih fail...\",\n noFileChosen: \"Tiada fail dipilih\",\n filePlaceholder: \"Letakkan fail di sini atau klik butang di bawah untuk memuatkan fail.\",\n confirmDelete: \"Adakah anda ingin memadamkan rekod?\",\n keyDuplicationError: \"Nilai ini hendaklah unik.\",\n addColumn: \"Tambahkan lajur\",\n addRow: \"Tambahkan baris\",\n removeRow: \"Alih keluar\",\n emptyRowsText: \"Tiada baris.\",\n addPanel: \"Tambah baharu\",\n removePanel: \"Alih keluar\",\n showDetails: \"Tunjukkan Butiran\",\n hideDetails: \"Sembunyikan Butiran\",\n choices_Item: \"item\",\n matrix_column: \"Lajur\",\n matrix_row: \"Baris\",\n multipletext_itemname: \"teks\",\n savingData: \"Keputusan sedang disimpan pada pelayan...\",\n savingDataError: \"Ralat berlaku dan kami tidak dapat menyimpan keputusan.\",\n savingDataSuccess: \"Keputusan berjaya disimpan!\",\n saveAgainButton: \"Cuba lagi\",\n timerMin: \"min\",\n timerSec: \"saat\",\n timerSpentAll: \"Anda telah meluangkan {0} pada halaman ini dan {1} secara keseluruhan.\",\n timerSpentPage: \"Anda telah meluangkan {0} pada halaman ini.\",\n timerSpentSurvey: \"Anda telah meluangkan {0} secara keseluruhan.\",\n timerLimitAll: \"Anda telah meluangkan {0} daripada {1} pada halaman ini dan {2} daripada {3} secara keseluruhan.\",\n timerLimitPage: \"Anda telah meluangkan {0} daripada {1} pada halaman ini.\",\n timerLimitSurvey: \"Anda telah meluangkan {0} daripada {1} secara keseluruhan.\",\n clearCaption: \"Kosongkan\",\n signaturePlaceHolder: \"Tandatangan di sini\",\n chooseFileCaption: \"Pilih fail\",\n takePhotoCaption: \"Ambil gambar\",\n photoPlaceholder: \"Klik butang di bawah untuk mengambil gambar menggunakan kamera.\",\n fileOrPhotoPlaceholder: \"Seret dan lepas atau pilih fail untuk memuat naik atau mengambil foto menggunakan kamera.\",\n replaceFileCaption: \"Gantikan fail\",\n removeFileCaption: \"Alih keluar fail ini\",\n booleanCheckedLabel: \"Ya\",\n booleanUncheckedLabel: \"Tidak\",\n confirmRemoveFile: \"Anda pasti ingin mengalih keluar fail ini: {0}?\",\n confirmRemoveAllFiles: \"Anda pasti ingin mengalih keluar semua fail?\",\n questionTitlePatternText: \"Tajuk Soalan\",\n modalCancelButtonText: \"Batal\",\n modalApplyButtonText: \"Guna\",\n filterStringPlaceholder: \"Taip untuk membuat carian...\",\n emptyMessage: \"Tiada data untuk dipaparkan\",\n noEntriesText: \"Belum ada entri.\\nKlik butang di bawah untuk menambahkan entri.\",\n noEntriesReadonlyText: \"Tiada penyertaan.\",\n more: \"Lebih banyak\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"Semua pilihan disenaraikan\",\n selectToRankEmptyUnrankedAreaText: \"Seret dan lepaskan pilihan di sini untuk meletakkannya\",\n ok: \"OK\",\n cancel: \"Batal\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"ms\"] = malaySurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"ms\"] = \"melayu\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Pilih...\"\n// emptyMessage: \"No data to display\" => \"Tiada data untuk dipaparkan\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Tiada penyertaan.\"\n// more: \"More\" => \"Lebih banyak\"\n// tagboxDoneButtonCaption: \"OK\" => \"OK\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Semua pilihan disenaraikan\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Seret dan lepaskan pilihan di sini untuk meletakkannya\"// takePhotoCaption: \"Take Photo\" => \"Ambil gambar\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Klik butang di bawah untuk mengambil gambar menggunakan kamera.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Seret dan lepas atau pilih fail untuk memuat naik atau mengambil foto menggunakan kamera.\"\n// replaceFileCaption: \"Replace file\" => \"Gantikan fail\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Setiap baris mesti mempunyai nilai yang unik.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Fail tidak boleh dimuat naik. Sila tambah pengendali untuk acara 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Tunjukkan Butiran\"\n// hideDetails: \"Hide Details\" => \"Sembunyikan Butiran\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Batal\"\n// refuseItemText: \"Refuse to answer\" => \"Enggan menjawab\"\n// dontKnowItemText: \"Don't know\" => \"Tak tahu\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/nl-BE.ts\":\n/*!***********************************!*\\\n !*** ./src/localization/nl-BE.ts ***!\n \\***********************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n/* harmony import */ var _dutch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dutch */ \"./src/localization/dutch.ts\");\n\n\n/**\n * This is initialized as a copy of the Dutch strings, when they start to deviate a choice has to be made:\n * - Copy the Dutch set once and move forward as if it are 2 totally different languages\n * - Override the relevant strings only\n */\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"nl-BE\"] = _dutch__WEBPACK_IMPORTED_MODULE_1__[\"dutchSurveyStrings\"];\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"nl-BE\"] = \"vlaams\";\n\n\n/***/ }),\n\n/***/ \"./src/localization/norwegian.ts\":\n/*!***************************************!*\\\n !*** ./src/localization/norwegian.ts ***!\n \\***************************************/\n/*! exports provided: norwegianSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"norwegianSurveyStrings\", function() { return norwegianSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar norwegianSurveyStrings = {\n pagePrevText: \"Forrige\",\n pageNextText: \"Neste\",\n completeText: \"Fullfør\",\n previewText: \"Forhåndsvisning\",\n editText: \"Redigere\",\n startSurveyText: \"Start\",\n otherItemText: \"Annet (beskriv)\",\n noneItemText: \"Ingen\",\n refuseItemText: \"Nekter å svare\",\n dontKnowItemText: \"Vet ikke\",\n selectAllItemText: \"Velg alle\",\n progressText: \"Side {0} av {1}\",\n indexText: \"{0} av {1}\",\n panelDynamicProgressText: \"Ta opp {0} av {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Besvarte {0} / {1} spørsmål\",\n emptySurvey: \"Det er ingen synlig side eller spørsmål i undersøkelsen.\",\n completingSurvey: \"Takk for at du fullførte undersøkelsen!\",\n completingSurveyBefore: \"Våre data viser at du allerede har gjennomført denne undersøkelsen.\",\n loadingSurvey: \"Undersøkelsen laster...\",\n placeholder: \"Velg...\",\n ratingOptionsCaption: \"Velge...\",\n value: \"verdi\",\n requiredError: \"Vennligst svar på spørsmålet.\",\n requiredErrorInPanel: \"Vennligst svar på minst ett spørsmål.\",\n requiredInAllRowsError: \"Vennligst svar på spørsmål i alle rader.\",\n eachRowUniqueError: \"Hver rad må ha en unik verdi.\",\n numericError: \"Verdien skal være numerisk.\",\n minError: \"Verdien bør ikke være mindre enn {0}\",\n maxError: \"Verdien bør ikke være større enn {0}\",\n textMinLength: \"Vennligst skriv inn minst {0} tegn.\",\n textMaxLength: \"Vennligst skriv inn mindre enn {0} tegn.\",\n textMinMaxLength: \"Vennligst skriv inn mer enn {0} og mindre enn {1} tegn.\",\n minRowCountError: \"Vennligst fyll inn minst {0} rader.\",\n minSelectError: \"Vennligst velg minst {0} varianter.\",\n maxSelectError: \"Vennligst ikke velg mer enn {0} varianter.\",\n numericMinMax: \"'{0}' bør være lik eller mer enn {1} og lik eller mindre enn {2}\",\n numericMin: \"'{0}' bør være lik eller mer enn {1}\",\n numericMax: \"'{0}' bør være lik eller mindre enn {1}\",\n invalidEmail: \"Vennligst skriv inn en gyldig e-post adresse.\",\n invalidExpression: \"Uttrykket: {0} skal returnere 'sant'.\",\n urlRequestError: \"Forespørselen returnerte feilen '{0}'. {1}\",\n urlGetChoicesError: \"Forespørselen returnerte tomme data, eller 'sti' -egenskapen er feil\",\n exceedMaxSize: \"Filstørrelsen bør ikke overstige {0}.\",\n noUploadFilesHandler: \"Filer kan ikke lastes opp. Legg til et behandlingsprogram for onUploadFiles-hendelsen.\",\n otherRequiredError: \"Vennligst skriv inn den andre verdien.\",\n uploadingFile: \"Filen din lastes opp. Vennligst vent noen sekunder og prøv igjen.\",\n loadingFile: \"Laster inn ...\",\n chooseFile: \"Velg fil (er) ...\",\n noFileChosen: \"Ingen fil valgt\",\n filePlaceholder: \"Dra og slipp en fil her, eller klikk på knappen nedenfor og velg en fil du vil laste opp.\",\n confirmDelete: \"Ønsker du å slette posten?\",\n keyDuplicationError: \"Denne verdien skal være unik.\",\n addColumn: \"Legg til kolonne\",\n addRow: \"Legg til rad\",\n removeRow: \"Fjern\",\n emptyRowsText: \"Det er ingen rader.\",\n addPanel: \"Legg til ny\",\n removePanel: \"Fjerne\",\n showDetails: \"Vis detaljer\",\n hideDetails: \"Skjul detaljer\",\n choices_Item: \"element\",\n matrix_column: \"Kolonne\",\n matrix_row: \"Rad\",\n multipletext_itemname: \"Tekst\",\n savingData: \"Resultatene lagres på serveren ...\",\n savingDataError: \"Det oppsto en feil, og vi kunne ikke lagre resultatene.\",\n savingDataSuccess: \"Resultatene ble lagret!\",\n saveAgainButton: \"Prøv igjen\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Du har tilbrakt {0} på denne siden og {1} totalt.\",\n timerSpentPage: \"Du har tilbrakt {0} på denne siden.\",\n timerSpentSurvey: \"Du har tilbrakt {0} totalt.\",\n timerLimitAll: \"Du har tilbrakt {0} av {1} på denne siden og totalt {2} av {3}.\",\n timerLimitPage: \"Du har tilbrakt {0} av {1} på denne siden.\",\n timerLimitSurvey: \"Du har tilbrakt {0} av {1} totalt.\",\n clearCaption: \"Klar\",\n signaturePlaceHolder: \"Logg inn her\",\n chooseFileCaption: \"Velg Fil\",\n takePhotoCaption: \"Ta bilde\",\n photoPlaceholder: \"Klikk på knappen nedenfor for å ta et bilde med kameraet.\",\n fileOrPhotoPlaceholder: \"Dra og slipp eller velg en fil for å laste opp eller ta et bilde med kameraet.\",\n replaceFileCaption: \"Erstatt fil\",\n removeFileCaption: \"Fjern denne filen\",\n booleanCheckedLabel: \"Ja\",\n booleanUncheckedLabel: \"Nei\",\n confirmRemoveFile: \"Er du sikker på at du vil fjerne denne filen: {0}?\",\n confirmRemoveAllFiles: \"Er du sikker på at du vil fjerne alle filene?\",\n questionTitlePatternText: \"Spørsmålstittel\",\n modalCancelButtonText: \"Annullere\",\n modalApplyButtonText: \"Bruke\",\n filterStringPlaceholder: \"Skriv for å søke ...\",\n emptyMessage: \"Ingen data å vise\",\n noEntriesText: \"Det er ingen oppføringer ennå.\\nKlikk på knappen nedenfor for å legge til en ny oppføring.\",\n noEntriesReadonlyText: \"Det er ingen oppføringer.\",\n more: \"Mer\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"Alle valg er rangert\",\n selectToRankEmptyUnrankedAreaText: \"Dra og slipp valg her for å rangere dem\",\n ok: \"OK\",\n cancel: \"Annullere\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"no\"] = norwegianSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"no\"] = \"norsk\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} av {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Velge...\"\n// minError: \"The value should not be less than {0}\" => \"Verdien bør ikke være mindre enn {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Verdien bør ikke være større enn {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Dra og slipp en fil her, eller klikk på knappen nedenfor og velg en fil du vil laste opp.\"\n// emptyRowsText: \"There are no rows.\" => \"Det er ingen rader.\"\n// multipletext_itemname: \"text\" => \"Tekst\"\n// signaturePlaceHolder: \"Sign here\" => \"Logg inn her\"\n// modalCancelButtonText: \"Cancel\" => \"Annullere\"\n// modalApplyButtonText: \"Apply\" => \"Bruke\"\n// filterStringPlaceholder: \"Type to search...\" => \"Skriv for å søke ...\"\n// emptyMessage: \"No data to display\" => \"Ingen data å vise\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Det er ingen oppføringer ennå.\\nKlikk på knappen nedenfor for å legge til en ny oppføring.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Det er ingen oppføringer.\"\n// more: \"More\" => \"Mer\"\n// tagboxDoneButtonCaption: \"OK\" => \"OK\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Alle valg er rangert\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Dra og slipp valg her for å rangere dem\"// takePhotoCaption: \"Take Photo\" => \"Ta bilde\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Klikk på knappen nedenfor for å ta et bilde med kameraet.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Dra og slipp eller velg en fil for å laste opp eller ta et bilde med kameraet.\"\n// replaceFileCaption: \"Replace file\" => \"Erstatt fil\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Hver rad må ha en unik verdi.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Filer kan ikke lastes opp. Legg til et behandlingsprogram for onUploadFiles-hendelsen.\"\n// showDetails: \"Show Details\" => \"Vis detaljer\"\n// hideDetails: \"Hide Details\" => \"Skjul detaljer\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Annullere\"\n// refuseItemText: \"Refuse to answer\" => \"Nekter å svare\"\n// dontKnowItemText: \"Don't know\" => \"Vet ikke\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/persian.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/persian.ts ***!\n \\*************************************/\n/*! exports provided: persianSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"persianSurveyStrings\", function() { return persianSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar persianSurveyStrings = {\n pagePrevText: \"قبلی\",\n pageNextText: \"بعدی\",\n completeText: \"تکمیل\",\n previewText: \"پیش نمایش\",\n editText: \"ویرایش\",\n startSurveyText: \"شروع\",\n otherItemText: \"دیگر(توضیح)\",\n noneItemText: \"هیچ\",\n refuseItemText: \"امتناع از پاسخ دادن\",\n dontKnowItemText: \"نمی دانم\",\n selectAllItemText: \"انتخاب همه\",\n progressText: \"صفحه {0} از {1}\",\n indexText: \"{0} {1}\",\n panelDynamicProgressText: \"مورد {0} از {1}\",\n panelDynamicTabTextFormat: \"پنل {panelIndex}\",\n questionsProgressText: \"تعداد پاسخ {0}/{1} سوال\",\n emptySurvey: \"صفحه ای یا گزینه ای برای این پرسشنامه موجود نیست.\",\n completingSurvey: \"از شما بابت تکمیل این پرسشنامه متشکریم\",\n completingSurveyBefore: \"به نظر می رسد هم هم اکنون پرسشنامه را تکمیل کرده اید.\",\n loadingSurvey: \"درحال ایجاد پرسشنامه\",\n placeholder: \"انتخاب کنید...\",\n ratingOptionsCaption: \"انتخاب...\",\n value: \"مقدار\",\n requiredError: \"لطفا به سوال پاسخ دهید\",\n requiredErrorInPanel: \"لطفا حداقل به یک سوال پاسخ دهید.\",\n requiredInAllRowsError: \"لطفا سوالات تمام سطرها را پاسخ دهید.\",\n eachRowUniqueError: \"هر سطر باید یک مقدار منحصر به فرد داشته باشد.\",\n numericError: \"مقدار باید عددی باشد\",\n minError: \"ارزش نباید کمتر از {0}\",\n maxError: \"ارزش نباید بیشتر از {0}\",\n textMinLength: \"لطفا حداقل {0} حرف وارد کنید\",\n textMaxLength: \"لطفا کمتر از {0} حرف وارد کنید.\",\n textMinMaxLength: \"لطفا بیشتر از {0} حرف و کمتر از {1} حرف وارد کنید.\",\n minRowCountError: \"لطفا حداقل {0} سطر وارد کنید.\",\n minSelectError: \"حداقل {0} انتخاب کنید.\",\n maxSelectError: \"لطفا بیشتر از {0} انتخاب کنید.\",\n numericMinMax: \"'{0}' باید بین {1} و {2} باشد\",\n numericMin: \"'{0}' بزرگتر مساوی {1} باشد\",\n numericMax: \"'{0}' باید کوچکتر یا مساوی {1} باشد\",\n invalidEmail: \"لطفا ایمیل صحیح درج کنید\",\n invalidExpression: \"عبارت: {0} پاسخ باید 'true' باشد.\",\n urlRequestError: \"درخواست با خطا روبرو شد: '{0}'. {1}\",\n urlGetChoicesError: \"درخواست مسیری خالی بازگشت داده یا مسیر درست تنظیم نشده\",\n exceedMaxSize: \"بیشترین حجم مجاز فایل: {0}\",\n noUploadFilesHandler: \"پروندهها را نمیتوان بارگذاری کرد. لطفا یک گرداننده برای رویداد \\\"onUploadFiles\\\" اضافه کنید.\",\n otherRequiredError: \"مقدار 'دیگر' را وارد کنید\",\n uploadingFile: \"فایل در حال آیلود است. لطفا صبر کنید.\",\n loadingFile: \"بارگیری...\",\n chooseFile: \"انتخاب فایل(ها)...\",\n noFileChosen: \"هیچ فایلی انتخاب نشده\",\n filePlaceholder: \"کشیدن و رها کردن یک فایل در اینجا و یا کلیک بر روی دکمه زیر و یک فایل برای اپلود را انتخاب کنید.\",\n confirmDelete: \"آیا مایل به حذف این ردیف هستید؟\",\n keyDuplicationError: \"این مقدار باید غیر تکراری باشد\",\n addColumn: \"ستون جدید\",\n addRow: \"سطر جدید\",\n removeRow: \"حذف\",\n emptyRowsText: \"هیچ ردیفی وجود ندارد.\",\n addPanel: \"جدید\",\n removePanel: \"حذف\",\n showDetails: \"نمایش جزئیات\",\n hideDetails: \"مخفی کردن جزئیات\",\n choices_Item: \"آیتم\",\n matrix_column: \"ستون\",\n matrix_row: \"سطر\",\n multipletext_itemname: \"پیامک\",\n savingData: \"نتایج در حال ذخیره سازی در سرور است\",\n savingDataError: \"خطایی در ذخیره سازی نتایج رخ داده است\",\n savingDataSuccess: \"نتایج با موفقیت ذخیره شد\",\n saveAgainButton: \"مجدد تلاش کنید\",\n timerMin: \"دقیقه\",\n timerSec: \"ثانیه\",\n timerSpentAll: \"شما مدت {0} در این صفحه و مدت {1} را در مجموع سپری کرده اید.\",\n timerSpentPage: \"شما مدت {0} را در این صفحه سپری کرده اید.\",\n timerSpentSurvey: \"شما مدت {0} را در مجموع سپری کرده اید.\",\n timerLimitAll: \"شما مدت {0} از {1} در این صفحه و مدت {2} از {3} را در مجموع سپری کرده اید.\",\n timerLimitPage: \"شما مدت {0} از {1} را در این صفحه سپری کرده اید.\",\n timerLimitSurvey: \"شما مدت {0} از {1} را در مجموع سپری کرده اید.\",\n clearCaption: \"خالی کردن\",\n signaturePlaceHolder: \"اینجا را امضا کنید\",\n chooseFileCaption: \"انتخاب فایل\",\n takePhotoCaption: \"گرفتن عکس\",\n photoPlaceholder: \"روی دکمه زیر کلیک کنید تا با استفاده از دوربین عکس بگیرید.\",\n fileOrPhotoPlaceholder: \"کشیدن و رها کردن یا انتخاب یک فایل برای اپلود یا گرفتن عکس با استفاده از دوربین.\",\n replaceFileCaption: \"جایگزینی پرونده\",\n removeFileCaption: \"حذف این فایل\",\n booleanCheckedLabel: \"بله\",\n booleanUncheckedLabel: \"خیر\",\n confirmRemoveFile: \"آیا میخواهید این فایل را پاک کنید: {0}?\",\n confirmRemoveAllFiles: \"آیا میخواهید تمام فایل ها را پاک کنید?\",\n questionTitlePatternText: \"عنوان سوال\",\n modalCancelButtonText: \"لغو\",\n modalApplyButtonText: \"درخواست\",\n filterStringPlaceholder: \"تایپ برای جستجو...\",\n emptyMessage: \"داده ای برای نمایش وجود ندارد\",\n noEntriesText: \"هنوز هیچ ورودی وجود ندارد.\\nروی دکمه زیر کلیک کنید تا یک ورودی جدید اضافه شود.\",\n noEntriesReadonlyText: \"هیچ ورودی وجود ندارد.\",\n more: \"بیشتر\",\n tagboxDoneButtonCaption: \"باشه\",\n selectToRankEmptyRankedAreaText: \"همه انتخاب ها رتبه بندی می شوند\",\n selectToRankEmptyUnrankedAreaText: \"انتخاب های کشیدن و رها کردن در اینجا برای رتبه بندی انها\",\n ok: \"باشه\",\n cancel: \"لغو\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"fa\"] = persianSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"fa\"] = \"فارْسِى\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"پنل {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"انتخاب...\"\n// minError: \"The value should not be less than {0}\" => \"ارزش نباید کمتر از {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"ارزش نباید بیشتر از {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"کشیدن و رها کردن یک فایل در اینجا و یا کلیک بر روی دکمه زیر و یک فایل برای اپلود را انتخاب کنید.\"\n// emptyRowsText: \"There are no rows.\" => \"هیچ ردیفی وجود ندارد.\"\n// multipletext_itemname: \"text\" => \"پیامک\"\n// signaturePlaceHolder: \"Sign here\" => \"اینجا را امضا کنید\"\n// modalCancelButtonText: \"Cancel\" => \"لغو\"\n// modalApplyButtonText: \"Apply\" => \"درخواست\"\n// filterStringPlaceholder: \"Type to search...\" => \"تایپ برای جستجو...\"\n// emptyMessage: \"No data to display\" => \"داده ای برای نمایش وجود ندارد\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"هنوز هیچ ورودی وجود ندارد.\\nروی دکمه زیر کلیک کنید تا یک ورودی جدید اضافه شود.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"هیچ ورودی وجود ندارد.\"\n// more: \"More\" => \"بیشتر\"\n// tagboxDoneButtonCaption: \"OK\" => \"باشه\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"همه انتخاب ها رتبه بندی می شوند\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"انتخاب های کشیدن و رها کردن در اینجا برای رتبه بندی انها\"// takePhotoCaption: \"Take Photo\" => \"گرفتن عکس\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"روی دکمه زیر کلیک کنید تا با استفاده از دوربین عکس بگیرید.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"کشیدن و رها کردن یا انتخاب یک فایل برای اپلود یا گرفتن عکس با استفاده از دوربین.\"\n// replaceFileCaption: \"Replace file\" => \"جایگزینی پرونده\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"هر سطر باید یک مقدار منحصر به فرد داشته باشد.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"پروندهها را نمیتوان بارگذاری کرد. لطفا یک گرداننده برای رویداد \\\"onUploadFiles\\\" اضافه کنید.\"\n// showDetails: \"Show Details\" => \"نمایش جزئیات\"\n// hideDetails: \"Hide Details\" => \"مخفی کردن جزئیات\"\n// ok: \"OK\" => \"باشه\"\n// cancel: \"Cancel\" => \"لغو\"\n// refuseItemText: \"Refuse to answer\" => \"امتناع از پاسخ دادن\"\n// dontKnowItemText: \"Don't know\" => \"نمی دانم\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/polish.ts\":\n/*!************************************!*\\\n !*** ./src/localization/polish.ts ***!\n \\************************************/\n/*! exports provided: polishSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"polishSurveyStrings\", function() { return polishSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar polishSurveyStrings = {\n pagePrevText: \"Wstecz\",\n pageNextText: \"Dalej\",\n completeText: \"Gotowe\",\n previewText: \"Premiera\",\n editText: \"Edycja\",\n startSurveyText: \"Start\",\n otherItemText: \"Inna odpowiedź (wpisz)\",\n noneItemText: \"Brak\",\n refuseItemText: \"Odmów odpowiedzi\",\n dontKnowItemText: \"Nie wiem\",\n selectAllItemText: \"Wybierz wszystkie\",\n progressText: \"Strona {0} z {1}\",\n indexText: \"{0} od {1}\",\n panelDynamicProgressText: \"Zapis {0} z {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Odpowiedzi na {0}/{1} pytania\",\n emptySurvey: \"Nie ma widocznych pytań.\",\n completingSurvey: \"Dziękujemy za wypełnienie ankiety!\",\n completingSurveyBefore: \"Z naszych zapisów wynika, że wypełniłeś już tę ankietę.\",\n loadingSurvey: \"Trwa wczytywanie ankiety...\",\n placeholder: \"Wybierz...\",\n ratingOptionsCaption: \"Kliknij tutaj, aby ocenić...\",\n value: \"Wartość\",\n requiredError: \"Proszę odpowiedzieć na to pytanie.\",\n requiredErrorInPanel: \"Proszę odpowiedzieć na co najmniej jedno pytanie.\",\n requiredInAllRowsError: \"Proszę odpowiedzieć na wszystkie pytania.\",\n eachRowUniqueError: \"Każdy wiersz musi mieć unikatową wartość.\",\n numericError: \"W tym polu można wpisać tylko liczby.\",\n minError: \"Wartość nie powinna być mniejsza niż {0}\",\n maxError: \"Wartość nie powinna być większa niż {0}\",\n textMinLength: \"Proszę wpisać co najmniej {0} znaków.\",\n textMaxLength: \"Proszę wpisać mniej niż {0} znaków.\",\n textMinMaxLength: \"Proszę wpisać więcej niż {0} i mniej niż {1} znaków.\",\n minRowCountError: \"Proszę uzupełnić przynajmniej {0} wierszy.\",\n minSelectError: \"Proszę wybrać co najmniej {0} pozycji.\",\n maxSelectError: \"Proszę wybrać nie więcej niż {0} pozycji.\",\n numericMinMax: \"Odpowiedź '{0}' powinna być większa lub równa {1} oraz mniejsza lub równa {2}\",\n numericMin: \"Odpowiedź '{0}' powinna być większa lub równa {1}\",\n numericMax: \"Odpowiedź '{0}' powinna być mniejsza lub równa {1}\",\n invalidEmail: \"Proszę podać prawidłowy adres email.\",\n invalidExpression: \"Wyrażenie: {0} powinno wracać 'prawdziwe'.\",\n urlRequestError: \"Żądanie zwróciło błąd '{0}'. {1}\",\n urlGetChoicesError: \"Żądanie nie zwróciło danych albo ścieżka jest nieprawidłowa\",\n exceedMaxSize: \"Rozmiar przesłanego pliku nie może przekraczać {0}.\",\n noUploadFilesHandler: \"Nie można przesłać plików. Dodaj moduł obsługi zdarzenia \\\"onUploadFiles\\\".\",\n otherRequiredError: \"Proszę podać inną odpowiedź.\",\n uploadingFile: \"Trwa przenoszenie Twojego pliku, proszę spróbować ponownie za kilka sekund.\",\n loadingFile: \"Ładowanie...\",\n chooseFile: \"Wybierz plik(i)...\",\n noFileChosen: \"Nie wybrano żadnego pliku\",\n filePlaceholder: \"Upuść plik tutaj lub kliknij przycisk poniżej, aby załadować plik.\",\n confirmDelete: \"Chcesz skasować nagranie?\",\n keyDuplicationError: \"Ta wartość powinna być wyjątkowa.\",\n addColumn: \"Dodaj kolumnę\",\n addRow: \"Dodaj wiersz\",\n removeRow: \"Usuń\",\n emptyRowsText: \"Nie ma rzędów.\",\n addPanel: \"Dodaj panel\",\n removePanel: \"Usuń\",\n showDetails: \"Pokaż szczegóły\",\n hideDetails: \"Ukryj szczegóły\",\n choices_Item: \"element\",\n matrix_column: \"Kolumna\",\n matrix_row: \"Wiersz\",\n multipletext_itemname: \"tekst\",\n savingData: \"Zapisuję wyniki ankiety na serwerze...\",\n savingDataError: \"Wystąpił błąd i wyniki nie mogły zostać zapisane.\",\n savingDataSuccess: \"Wyniki zostały poprawnie zapisane!\",\n saveAgainButton: \"Spróbuj ponownie\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Spędziłeś {0} na tej stronie a w sumie {1}.\",\n timerSpentPage: \"Spędziłeś {0} na tej stronie.\",\n timerSpentSurvey: \"Spędziłeś w sumie {0}.\",\n timerLimitAll: \"Spędziłeś {0} z {1} na tej stronie a w sumie {2} z {3}.\",\n timerLimitPage: \"Spędziłeś {0} z {1} na tej stronie\",\n timerLimitSurvey: \"Spędziłeś {0} z {1}.\",\n clearCaption: \"Wyczyść\",\n signaturePlaceHolder: \"Podpisz tutaj\",\n chooseFileCaption: \"Wybierz plik\",\n takePhotoCaption: \"Zrób zdjęcie\",\n photoPlaceholder: \"Kliknij przycisk poniżej, aby zrobić zdjęcie aparatem.\",\n fileOrPhotoPlaceholder: \"Przeciągnij i upuść lub wybierz plik, który chcesz przesłać lub zrobić zdjęcie za pomocą aparatu.\",\n replaceFileCaption: \"Zastąp plik\",\n removeFileCaption: \"Usuń ten plik\",\n booleanCheckedLabel: \"Tak\",\n booleanUncheckedLabel: \"Nie\",\n confirmRemoveFile: \"Jesteś pewien, że chcesz usunąć ten plik: {0}?\",\n confirmRemoveAllFiles: \"Jesteś pewien, że chcesz usunąć wszystkie pliki?\",\n questionTitlePatternText: \"Tytuł pytania\",\n modalCancelButtonText: \"Anulować\",\n modalApplyButtonText: \"Zastosować\",\n filterStringPlaceholder: \"Wpisz aby wyszukać...\",\n emptyMessage: \"Brak danych do wyświetlenia\",\n noEntriesText: \"Nie ma jeszcze wpisów.\\nKliknij przycisk poniżej, aby dodać nowy wpis.\",\n noEntriesReadonlyText: \"Brak wpisów.\",\n more: \"Więcej\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"Wszystkie wybory są uszeregowane\",\n selectToRankEmptyUnrankedAreaText: \"Przeciągnij i upuść tutaj wybory, aby je uszeregować\",\n ok: \"OK\",\n cancel: \"Anuluj\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"pl\"] = polishSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"pl\"] = \"polski\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// emptyMessage: \"No data to display\" => \"Brak danych do wyświetlenia\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Brak wpisów.\"\n// more: \"More\" => \"Więcej\"\n// tagboxDoneButtonCaption: \"OK\" => \"OK\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Wszystkie wybory są uszeregowane\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Przeciągnij i upuść tutaj wybory, aby je uszeregować\"// takePhotoCaption: \"Take Photo\" => \"Zrób zdjęcie\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Kliknij przycisk poniżej, aby zrobić zdjęcie aparatem.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Przeciągnij i upuść lub wybierz plik, który chcesz przesłać lub zrobić zdjęcie za pomocą aparatu.\"\n// replaceFileCaption: \"Replace file\" => \"Zastąp plik\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Każdy wiersz musi mieć unikatową wartość.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Nie można przesłać plików. Dodaj moduł obsługi zdarzenia \\\"onUploadFiles\\\".\"\n// showDetails: \"Show Details\" => \"Pokaż szczegóły\"\n// hideDetails: \"Hide Details\" => \"Ukryj szczegóły\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Anuluj\"\n// refuseItemText: \"Refuse to answer\" => \"Odmów odpowiedzi\"\n// dontKnowItemText: \"Don't know\" => \"Nie wiem\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/portuguese-br.ts\":\n/*!*******************************************!*\\\n !*** ./src/localization/portuguese-br.ts ***!\n \\*******************************************/\n/*! exports provided: portugueseBrSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"portugueseBrSurveyStrings\", function() { return portugueseBrSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\n/**\n * You don't need to translate strings that have the same value as Portuguese translation\n */\nvar portugueseBrSurveyStrings = {\n pagePrevText: \"Anterior\",\n pageNextText: \"Próximo\",\n completeText: \"Completar\",\n previewText: \"Visualizar\",\n editText: \"Editar\",\n startSurveyText: \"Começar\",\n otherItemText: \"Outros (descrever)\",\n noneItemText: \"Nenhum\",\n refuseItemText: \"Recusar-se a responder\",\n dontKnowItemText: \"Não sei\",\n selectAllItemText: \"Selecionar tudo\",\n progressText: \"Página {0} de {1}\",\n indexText: \"{0} de {1}\",\n panelDynamicProgressText: \"{0} de {1}\",\n panelDynamicTabTextFormat: \"Painel {panelIndex}\",\n questionsProgressText: \"Perguntas respondidas {0}/{1}\",\n emptySurvey: \"Não há página visível ou pergunta na pesquisa.\",\n completingSurvey: \"Obrigado por finalizar a pesquisa!\",\n completingSurveyBefore: \"Nossos registros mostram que você já finalizou a pesquisa.\",\n loadingSurvey: \"A pesquisa está carregando...\",\n placeholder: \"Selecionar...\",\n ratingOptionsCaption: \"Selecionar...\",\n value: \"valor\",\n requiredError: \"Por favor, responda a pergunta.\",\n requiredErrorInPanel: \"Por favor, responda pelo menos uma pergunta.\",\n requiredInAllRowsError: \"Por favor, responda as perguntas em todas as linhas.\",\n eachRowUniqueError: \"Cada linha deve ter um valor exclusivo.\",\n numericError: \"O valor deve ser numérico.\",\n minError: \"O valor não deve ser inferior a {0}\",\n maxError: \"O valor não deve ser maior que {0}\",\n textMinLength: \"Introduza pelo menos {0} caractere(s).\",\n textMaxLength: \"Introduza no máximo {0} caractere(s).\",\n textMinMaxLength: \"Insira pelo menos {0} e não mais do que {1} caracteres.\",\n minRowCountError: \"Por favor, preencha pelo menos {0} linha(s).\",\n minSelectError: \"Selecione pelo menos {0} variante(s).\",\n maxSelectError: \"Por favor, selecione não mais do que {0} opções.\",\n numericMinMax: \"O \\\"{0}\\\" deve ser pelo menos {1} e no máximo {2}\",\n numericMin: \"O \\\"{0}\\\" deve ser pelo menos {1}\",\n numericMax: \"O \\\"{0}\\\" deve ser no máximo {1}\",\n invalidEmail: \"Por favor, informe um e-mail válido.\",\n invalidExpression: \"A expressão: {0} deve retornar 'verdadeiro'.\",\n urlRequestError: \"A requisição retornou o erro '{0}'. {1}\",\n urlGetChoicesError: \"A requisição não retornou dados ou o 'caminho' da requisição não está correto\",\n exceedMaxSize: \"O tamanho do arquivo não deve exceder {0}.\",\n noUploadFilesHandler: \"Os arquivos não podem ser carregados. Adicione um manipulador para o evento 'onUploadFiles'.\",\n otherRequiredError: \"Por favor, informe o outro valor.\",\n uploadingFile: \"Seu arquivo está sendo carregado. Por favor, aguarde alguns segundos e tente novamente.\",\n loadingFile: \"Carregando...\",\n chooseFile: \"Escolha o(s) arquivo(s)...\",\n noFileChosen: \"Nenhum arquivo escolhido\",\n filePlaceholder: \"Arraste e solte um arquivo aqui ou clique no botão abaixo e escolha um arquivo para carregar.\",\n confirmDelete: \"Tem certeza que deseja deletar?\",\n keyDuplicationError: \"Esse valor deve ser único.\",\n addColumn: \"Adicionar coluna\",\n addRow: \"Adicionar linha\",\n removeRow: \"Retirar\",\n emptyRowsText: \"Não há filas.\",\n addPanel: \"Adicionar novo\",\n removePanel: \"Retirar\",\n showDetails: \"Mostrar detalhes\",\n hideDetails: \"Ocultar detalhes\",\n choices_Item: \"item\",\n matrix_column: \"Coluna\",\n matrix_row: \"Remar\",\n multipletext_itemname: \"Texto\",\n savingData: \"Os resultados esto sendo salvos no servidor...\",\n savingDataError: \"Ocorreu um erro e não foi possível salvar os resultados.\",\n savingDataSuccess: \"Os resultados foram salvos com sucesso!\",\n saveAgainButton: \"Tentar novamente\",\n timerMin: \"Min\",\n timerSec: \"segundo\",\n timerSpentAll: \"Você gastou {0} nesta página e {1} no total.\",\n timerSpentPage: \"Você passou {0} nesta página.\",\n timerSpentSurvey: \"Gastou {0} no total.\",\n timerLimitAll: \"Você gastou {0} de {1} nesta página e {2} de {3} no total.\",\n timerLimitPage: \"Você gastou {0} de {1} nesta página.\",\n timerLimitSurvey: \"Gastou {0} de {1} no total.\",\n clearCaption: \"Claro\",\n signaturePlaceHolder: \"Assine aqui\",\n chooseFileCaption: \"Escolher arquivo\",\n takePhotoCaption: \"Tirar foto\",\n photoPlaceholder: \"Clique no botão abaixo para tirar uma foto usando a câmera.\",\n fileOrPhotoPlaceholder: \"Arraste e solte ou selecione um arquivo para carregar ou tirar uma foto usando a câmera.\",\n replaceFileCaption: \"Substituir arquivo\",\n removeFileCaption: \"Remover este arquivo\",\n booleanCheckedLabel: \"Sim\",\n booleanUncheckedLabel: \"Não\",\n confirmRemoveFile: \"Tem certeza que deseja remover este arquivo: {0}?\",\n confirmRemoveAllFiles: \"Tem certeza que deseja remover todos os arquivos?\",\n questionTitlePatternText: \"Título da pergunta\",\n modalCancelButtonText: \"Cancelar\",\n modalApplyButtonText: \"Aplicar\",\n filterStringPlaceholder: \"Digite para pesquisar...\",\n emptyMessage: \"Nenhum dado a ser exibido\",\n noEntriesText: \"Ainda não há inscrições.\\nClique no botão abaixo para adicionar uma nova entrada.\",\n noEntriesReadonlyText: \"Não há entradas.\",\n more: \"Mais\",\n tagboxDoneButtonCaption: \"OKEY\",\n selectToRankEmptyRankedAreaText: \"Todas as opções são classificadas\",\n selectToRankEmptyUnrankedAreaText: \"Arraste e solte as opções aqui para classificá-las\",\n ok: \"OKEY\",\n cancel: \"Cancelar\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"pt-br\"] = portugueseBrSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"pt-br\"] = \"português brasileiro\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// pagePrevText: \"Previous\" => \"Anterior\"\n// pageNextText: \"Next\" => \"Próximo\"\n// completeText: \"Complete\" => \"Completar\"\n// previewText: \"Preview\" => \"Visualizar\"\n// editText: \"Edit\" => \"Editar\"\n// startSurveyText: \"Start\" => \"Começar\"\n// otherItemText: \"Other (describe)\" => \"Outros (descrever)\"\n// noneItemText: \"None\" => \"Nenhum\"\n// selectAllItemText: \"Select All\" => \"Selecionar tudo\"\n// progressText: \"Page {0} of {1}\" => \"Página {0} de {1}\"\n// indexText: \"{0} of {1}\" => \"{0} de {1}\"\n// panelDynamicProgressText: \"{0} of {1}\" => \"{0} de {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Painel {panelIndex}\"\n// questionsProgressText: \"Answered {0}/{1} questions\" => \"Perguntas respondidas {0}/{1}\"\n// placeholder: \"Select...\" => \"Selecionar...\"\n// ratingOptionsCaption: \"Select...\" => \"Selecionar...\"\n// value: \"value\" => \"valor\"\n// numericError: \"The value should be numeric.\" => \"O valor deve ser numérico.\"\n// minError: \"The value should not be less than {0}\" => \"O valor não deve ser inferior a {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"O valor não deve ser maior que {0}\"\n// textMinLength: \"Please enter at least {0} character(s).\" => \"Introduza pelo menos {0} caractere(s).\"\n// textMaxLength: \"Please enter no more than {0} character(s).\" => \"Introduza no máximo {0} caractere(s).\"\n// textMinMaxLength: \"Please enter at least {0} and no more than {1} characters.\" => \"Insira pelo menos {0} e não mais do que {1} caracteres.\"\n// minRowCountError: \"Please fill in at least {0} row(s).\" => \"Por favor, preencha pelo menos {0} linha(s).\"\n// minSelectError: \"Please select at least {0} variant(s).\" => \"Selecione pelo menos {0} variante(s).\"\n// numericMinMax: \"The '{0}' should be at least {1} and at most {2}\" => \"O \\\"{0}\\\" deve ser pelo menos {1} e no máximo {2}\"\n// numericMin: \"The '{0}' should be at least {1}\" => \"O \\\"{0}\\\" deve ser pelo menos {1}\"\n// numericMax: \"The '{0}' should be at most {1}\" => \"O \\\"{0}\\\" deve ser no máximo {1}\"\n// invalidExpression: \"The expression: {0} should return 'true'.\" => \"A expressão: {0} deve retornar 'verdadeiro'.\"\n// exceedMaxSize: \"The file size should not exceed {0}.\" => \"O tamanho do arquivo não deve exceder {0}.\"\n// chooseFile: \"Choose file(s)...\" => \"Escolha o(s) arquivo(s)...\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Arraste e solte um arquivo aqui ou clique no botão abaixo e escolha um arquivo para carregar.\"\n// addColumn: \"Add Column\" => \"Adicionar coluna\"\n// addRow: \"Add Row\" => \"Adicionar linha\"\n// removeRow: \"Remove\" => \"Retirar\"\n// emptyRowsText: \"There are no rows.\" => \"Não há filas.\"\n// addPanel: \"Add new\" => \"Adicionar novo\"\n// removePanel: \"Remove\" => \"Retirar\"\n// choices_Item: \"item\" => \"item\"\n// matrix_column: \"Column\" => \"Coluna\"\n// matrix_row: \"Row\" => \"Remar\"\n// multipletext_itemname: \"text\" => \"Texto\"\n// saveAgainButton: \"Try again\" => \"Tentar novamente\"\n// timerMin: \"min\" => \"Min\"\n// timerSec: \"sec\" => \"segundo\"\n// timerSpentAll: \"You have spent {0} on this page and {1} in total.\" => \"Você gastou {0} nesta página e {1} no total.\"\n// timerSpentPage: \"You have spent {0} on this page.\" => \"Você passou {0} nesta página.\"\n// timerSpentSurvey: \"You have spent {0} in total.\" => \"Gastou {0} no total.\"\n// timerLimitAll: \"You have spent {0} of {1} on this page and {2} of {3} in total.\" => \"Você gastou {0} de {1} nesta página e {2} de {3} no total.\"\n// timerLimitPage: \"You have spent {0} of {1} on this page.\" => \"Você gastou {0} de {1} nesta página.\"\n// timerLimitSurvey: \"You have spent {0} of {1} in total.\" => \"Gastou {0} de {1} no total.\"\n// clearCaption: \"Clear\" => \"Claro\"\n// signaturePlaceHolder: \"Sign here\" => \"Assine aqui\"\n// booleanCheckedLabel: \"Yes\" => \"Sim\"\n// booleanUncheckedLabel: \"No\" => \"Não\"\n// questionTitlePatternText: \"Question Title\" => \"Título da pergunta\"\n// modalCancelButtonText: \"Cancel\" => \"Cancelar\"\n// modalApplyButtonText: \"Apply\" => \"Aplicar\"\n// filterStringPlaceholder: \"Type to search...\" => \"Digite para pesquisar...\"\n// emptyMessage: \"No data to display\" => \"Nenhum dado a ser exibido\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Ainda não há inscrições.\\nClique no botão abaixo para adicionar uma nova entrada.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Não há entradas.\"\n// more: \"More\" => \"Mais\"\n// tagboxDoneButtonCaption: \"OK\" => \"OKEY\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Todas as opções são classificadas\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Arraste e solte as opções aqui para classificá-las\"// takePhotoCaption: \"Take Photo\" => \"Tirar foto\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Clique no botão abaixo para tirar uma foto usando a câmera.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Arraste e solte ou selecione um arquivo para carregar ou tirar uma foto usando a câmera.\"\n// replaceFileCaption: \"Replace file\" => \"Substituir arquivo\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Cada linha deve ter um valor exclusivo.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Os arquivos não podem ser carregados. Adicione um manipulador para o evento 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Mostrar detalhes\"\n// hideDetails: \"Hide Details\" => \"Ocultar detalhes\"\n// ok: \"OK\" => \"OKEY\"\n// cancel: \"Cancel\" => \"Cancelar\"\n// refuseItemText: \"Refuse to answer\" => \"Recusar-se a responder\"\n// dontKnowItemText: \"Don't know\" => \"Não sei\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/portuguese.ts\":\n/*!****************************************!*\\\n !*** ./src/localization/portuguese.ts ***!\n \\****************************************/\n/*! exports provided: portugueseSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"portugueseSurveyStrings\", function() { return portugueseSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar portugueseSurveyStrings = {\n pagePrevText: \"Anterior\",\n pageNextText: \"Próximo\",\n completeText: \"Finalizar\",\n previewText: \"Pré-visualização\",\n editText: \"Editar\",\n startSurveyText: \"Começar\",\n otherItemText: \"Outros (descrever)\",\n noneItemText: \"Nenhum\",\n refuseItemText: \"Recusar-se a responder\",\n dontKnowItemText: \"Não sei\",\n selectAllItemText: \"Selecionar Todos\",\n progressText: \"Página {0} de {1}\",\n indexText: \"{0} de {1}\",\n panelDynamicProgressText: \"Registo {0} de {1}\",\n panelDynamicTabTextFormat: \"Painel {panelIndex}\",\n questionsProgressText: \"Respostas {0}/{1} perguntas\",\n emptySurvey: \"Não há página visível ou pergunta no questionário.\",\n completingSurvey: \"Obrigado por finalizar o questionário!\",\n completingSurveyBefore: \"Os nossos registos mostram que já finalizou o questionário.\",\n loadingSurvey: \"O questionário está a carregar...\",\n placeholder: \"Selecione...\",\n ratingOptionsCaption: \"Selecione aqui para avaliar...\",\n value: \"valor\",\n requiredError: \"Por favor, responda à pergunta.\",\n requiredErrorInPanel: \"Por favor, responda pelo menos a uma pergunta.\",\n requiredInAllRowsError: \"Por favor, responda às perguntas em todas as linhas.\",\n eachRowUniqueError: \"Cada linha deve ter um valor exclusivo.\",\n numericError: \"O valor deve ser numérico.\",\n minError: \"O valor não deverá ser menor que {0}\",\n maxError: \"O valor não deverá ser maior que {0}\",\n textMinLength: \"Por favor, insira pelo menos {0} caracteres.\",\n textMaxLength: \"Por favor, insira menos de {0} caracteres.\",\n textMinMaxLength: \"Por favor, insira mais de {0} e menos de {1} caracteres.\",\n minRowCountError: \"Preencha pelo menos {0} linhas.\",\n minSelectError: \"Selecione pelo menos {0} opções.\",\n maxSelectError: \"Por favor, selecione no máximo {0} opções.\",\n numericMinMax: \"O '{0}' deve ser igual ou superior a {1} e igual ou menor que {2}\",\n numericMin: \"O '{0}' deve ser igual ou superior a {1}\",\n numericMax: \"O '{0}' deve ser igual ou inferior a {1}\",\n invalidEmail: \"Por favor, insira um e-mail válido.\",\n invalidExpression: \"A expressão: {0} deve retornar 'verdadeiro'.\",\n urlRequestError: \"O pedido retornou o erro '{0}'. {1}\",\n urlGetChoicesError: \"O pedido não retornou dados ou o 'caminho' do pedido não está correto\",\n exceedMaxSize: \"O tamanho do arquivo não deve exceder {0}.\",\n noUploadFilesHandler: \"Os arquivos não podem ser carregados. Adicione um manipulador para o evento 'onUploadFiles'.\",\n otherRequiredError: \"Por favor, insira o outro valor.\",\n uploadingFile: \"O seu ficheiro está a carregar. Por favor, aguarde alguns segundos e tente novamente.\",\n loadingFile: \"A carregar...\",\n chooseFile: \"Selecione o(s) arquivo(s)...\",\n noFileChosen: \"Nenhum ficheiro escolhido\",\n filePlaceholder: \"Arraste um ficheiro aqui ou clique no botão abaixo para carregar o ficheiro.\",\n confirmDelete: \"Tem a certeza que deseja apagar?\",\n keyDuplicationError: \"Este valor deve ser único.\",\n addColumn: \"Adicionar coluna\",\n addRow: \"Adicionar linha\",\n removeRow: \"Remover linha\",\n emptyRowsText: \"Não existem linhas.\",\n addPanel: \"Adicionar novo\",\n removePanel: \"Remover\",\n showDetails: \"Mostrar detalhes\",\n hideDetails: \"Ocultar detalhes\",\n choices_Item: \"item\",\n matrix_column: \"Coluna\",\n matrix_row: \"Linha\",\n multipletext_itemname: \"texto\",\n savingData: \"Os resultados estão a ser guardados no servidor...\",\n savingDataError: \"Ocorreu um erro e não foi possível guardar os resultados.\",\n savingDataSuccess: \"Os resultados foram guardados com sucesso!\",\n saveAgainButton: \"Tente novamente\",\n timerMin: \"min\",\n timerSec: \"seg\",\n timerSpentAll: \"Você gastou {0} nesta página e {1} no total.\",\n timerSpentPage: \"Você gastou {0} nesta página.\",\n timerSpentSurvey: \"Você gastou {0} no total.\",\n timerLimitAll: \"Você gastou {0} de {1} nesta página e {2} de {3} no total.\",\n timerLimitPage: \"Você gastou {0} de {1} nesta página.\",\n timerLimitSurvey: \"Você gastou {0} de {1} no total.\",\n clearCaption: \"Limpar\",\n signaturePlaceHolder: \"Assine aqui\",\n chooseFileCaption: \"Escolher ficheiro\",\n takePhotoCaption: \"Tirar foto\",\n photoPlaceholder: \"Clique no botão abaixo para tirar uma foto usando a câmera.\",\n fileOrPhotoPlaceholder: \"Arraste e solte ou selecione um arquivo para carregar ou tirar uma foto usando a câmera.\",\n replaceFileCaption: \"Substituir arquivo\",\n removeFileCaption: \"Remover este ficheiro\",\n booleanCheckedLabel: \"Sim\",\n booleanUncheckedLabel: \"Não\",\n confirmRemoveFile: \"Tem a certeza que deseja remover este ficheiro: {0}?\",\n confirmRemoveAllFiles: \"Tem a certeza que deseja remover todos os ficheiros?\",\n questionTitlePatternText: \"Título da questão\",\n modalCancelButtonText: \"Cancelar\",\n modalApplyButtonText: \"Aplicar\",\n filterStringPlaceholder: \"Digite para pesquisar...\",\n emptyMessage: \"Não existe informação a mostrar\",\n noEntriesText: \"Ainda não existem registos.\\nClique no botão abaixo para adicionar um novo registo.\",\n noEntriesReadonlyText: \"Não há entradas.\",\n more: \"Mais\",\n tagboxDoneButtonCaption: \"Terminado\",\n selectToRankEmptyRankedAreaText: \"Todas as opções são classificadas\",\n selectToRankEmptyUnrankedAreaText: \"Arraste e solte as opções aqui para classificá-las\",\n ok: \"OKEY\",\n cancel: \"Cancelar\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"pt\"] = portugueseSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"pt\"] = \"português\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Painel {panelIndex}\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Não há entradas.\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Todas as opções são classificadas\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Arraste e solte as opções aqui para classificá-las\"// takePhotoCaption: \"Take Photo\" => \"Tirar foto\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Clique no botão abaixo para tirar uma foto usando a câmera.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Arraste e solte ou selecione um arquivo para carregar ou tirar uma foto usando a câmera.\"\n// replaceFileCaption: \"Replace file\" => \"Substituir arquivo\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Cada linha deve ter um valor exclusivo.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Os arquivos não podem ser carregados. Adicione um manipulador para o evento 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Mostrar detalhes\"\n// hideDetails: \"Hide Details\" => \"Ocultar detalhes\"\n// ok: \"OK\" => \"OKEY\"\n// cancel: \"Cancel\" => \"Cancelar\"\n// refuseItemText: \"Refuse to answer\" => \"Recusar-se a responder\"\n// dontKnowItemText: \"Don't know\" => \"Não sei\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/romanian.ts\":\n/*!**************************************!*\\\n !*** ./src/localization/romanian.ts ***!\n \\**************************************/\n/*! exports provided: romanianSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"romanianSurveyStrings\", function() { return romanianSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar romanianSurveyStrings = {\n pagePrevText: \"Precedent\",\n pageNextText: \"Următor\",\n completeText: \"Finalizare\",\n previewText: \"previzualizare\",\n editText: \"Editați\",\n startSurveyText: \"start\",\n otherItemText: \"Altul(precizaţi)\",\n noneItemText: \"Nici unul\",\n refuseItemText: \"Refuză să răspundă\",\n dontKnowItemText: \"Nu ştiu\",\n selectAllItemText: \"Selectează tot\",\n progressText: \"Pagina {0} din {1}\",\n indexText: \"{0} de {1}\",\n panelDynamicProgressText: \"Înregistrare {0} din {1}\",\n panelDynamicTabTextFormat: \"Panou {panelIndex}\",\n questionsProgressText: \"Răspunsuri la {0} / {1} întrebări\",\n emptySurvey: \"Nu sunt întrebări pentru acest chestionar\",\n completingSurvey: \"Vă mulţumim pentru timpul acordat!\",\n completingSurveyBefore: \"Din înregistrările noastre reiese că ați completat deja acest chestionar.\",\n loadingSurvey: \"Chestionarul se încarcă...\",\n placeholder: \"Alegeţi...\",\n ratingOptionsCaption: \"Alege...\",\n value: \"valoare\",\n requiredError: \"Răspunsul la această întrebare este obligatoriu.\",\n requiredErrorInPanel: \"Vă rugăm să răspundeți la cel puțin o întrebare.\",\n requiredInAllRowsError: \"Toate răspunsurile sunt obligatorii\",\n eachRowUniqueError: \"Fiecare rând trebuie să aibă o valoare unică.\",\n numericError: \"Răspunsul trebuie să fie numeric.\",\n minError: \"Valoarea nu trebuie să fie mai mică de {0}\",\n maxError: \"Valoarea nu trebuie să fie mai mare de {0}\",\n textMinLength: \"Trebuie să introduceți minim {0} caractere.\",\n textMaxLength: \"Trebuie să introduceți maxim {0} caractere.\",\n textMinMaxLength: \"Trebuie să introduceți mai mult de {0} și mai puțin de {1} caractere.\",\n minRowCountError: \"Trebuie să completați minim {0} rânduri.\",\n minSelectError: \"Trebuie să selectați minim {0} opţiuni.\",\n maxSelectError: \"Trebuie să selectați maxim {0} opţiuni.\",\n numericMinMax: \"Răspunsul '{0}' trebuie să fie mai mare sau egal ca {1} şî mai mic sau egal cu {2}\",\n numericMin: \"Răspunsul '{0}' trebuie să fie mai mare sau egal ca {1}\",\n numericMax: \"Răspunsul '{0}' trebuie să fie mai mic sau egal ca {1}\",\n invalidEmail: \"Trebuie să introduceţi o adresa de email validă.\",\n invalidExpression: \"Expresia: {0} ar trebui să returneze „adevărat”.\",\n urlRequestError: \"Request-ul a returnat eroarea '{0}'. {1}\",\n urlGetChoicesError: \"Request-ul nu a returnat date sau proprietatea 'path' este incorectă\",\n exceedMaxSize: \"Dimensiunea fişierului nu trebuie să depăşească {0}.\",\n noUploadFilesHandler: \"Fișierele nu pot fi încărcate. Vă rugăm să adăugați un handler pentru evenimentul \\\"onUploadFiles\\\".\",\n otherRequiredError: \"Trebuie să completați câmpul 'Altul'.\",\n uploadingFile: \"Fișierul dumneavoastră este în curs de încărcare. Vă rugăm așteptați câteva secunde și reveniți apoi.\",\n loadingFile: \"Se încarcă...\",\n chooseFile: \"Alege fisierele...\",\n noFileChosen: \"Niciun fișier ales\",\n filePlaceholder: \"Glisați și fixați un fișier aici sau faceți clic pe butonul de mai jos și alegeți un fișier de încărcat.\",\n confirmDelete: \"Sunteți sigur că doriți să ștergeți înregistrarea?\",\n keyDuplicationError: \"Valoarea trebuie să fie unică.\",\n addColumn: \"Adăugați coloană\",\n addRow: \"Adăugare rând\",\n removeRow: \"Ștergere\",\n emptyRowsText: \"Nu există rânduri.\",\n addPanel: \"Adăugare\",\n removePanel: \"Ștergere\",\n showDetails: \"Arată detalii\",\n hideDetails: \"Ascunde detalii\",\n choices_Item: \"opțiune\",\n matrix_column: \"Coloană\",\n matrix_row: \"Rând\",\n multipletext_itemname: \"Text\",\n savingData: \"Rezultatele sunt în curs de salvare...\",\n savingDataError: \"A intervenit o eroare, rezultatele nu au putut fi salvate.\",\n savingDataSuccess: \"Rezultatele au fost salvate cu succes!\",\n saveAgainButton: \"Încercați din nou\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"Ați petrecut {0} pe această pagină și {1} în total.\",\n timerSpentPage: \"Ați petrecut {0} pe această pagină.\",\n timerSpentSurvey: \"Ați petrecut {0} în total.\",\n timerLimitAll: \"Ați petrecut {0} din {1} pe această pagină și {2} din {3} în total.\",\n timerLimitPage: \"Ați petrecut {0} din {1} pe această pagină.\",\n timerLimitSurvey: \"Ați petrecut {0} din {1} în total.\",\n clearCaption: \"clar\",\n signaturePlaceHolder: \"Semnează aici\",\n chooseFileCaption: \"Alege fișierul\",\n takePhotoCaption: \"Faceți o fotografie\",\n photoPlaceholder: \"Faceți clic pe butonul de mai jos pentru a face o fotografie folosind camera.\",\n fileOrPhotoPlaceholder: \"Glisați și fixați sau selectați un fișier pentru a încărca sau a face o fotografie folosind camera.\",\n replaceFileCaption: \"Înlocuire fișier\",\n removeFileCaption: \"Eliminați acest fișier\",\n booleanCheckedLabel: \"da\",\n booleanUncheckedLabel: \"Nu\",\n confirmRemoveFile: \"Sigur doriți să eliminați acest fișier: {0}?\",\n confirmRemoveAllFiles: \"Sigur doriți să eliminați toate fișierele?\",\n questionTitlePatternText: \"Titlul intrebarii\",\n modalCancelButtonText: \"Anula\",\n modalApplyButtonText: \"Aplica\",\n filterStringPlaceholder: \"Tastați pentru a căuta...\",\n emptyMessage: \"Nu există date de afișat\",\n noEntriesText: \"Nu există încă intrări.\\nFaceți clic pe butonul de mai jos pentru a adăuga o intrare nouă.\",\n noEntriesReadonlyText: \"Nu există intrări.\",\n more: \"Mai mult\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"Toate opțiunile sunt clasificate\",\n selectToRankEmptyUnrankedAreaText: \"Glisați și fixați opțiunile aici pentru a le clasifica\",\n ok: \"OK\",\n cancel: \"Anula\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"ro\"] = romanianSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"ro\"] = \"română\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} de {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panou {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Alege...\"\n// minError: \"The value should not be less than {0}\" => \"Valoarea nu trebuie să fie mai mică de {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Valoarea nu trebuie să fie mai mare de {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Glisați și fixați un fișier aici sau faceți clic pe butonul de mai jos și alegeți un fișier de încărcat.\"\n// emptyRowsText: \"There are no rows.\" => \"Nu există rânduri.\"\n// multipletext_itemname: \"text\" => \"Text\"\n// signaturePlaceHolder: \"Sign here\" => \"Semnează aici\"\n// modalCancelButtonText: \"Cancel\" => \"Anula\"\n// modalApplyButtonText: \"Apply\" => \"Aplica\"\n// filterStringPlaceholder: \"Type to search...\" => \"Tastați pentru a căuta...\"\n// emptyMessage: \"No data to display\" => \"Nu există date de afișat\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Nu există încă intrări.\\nFaceți clic pe butonul de mai jos pentru a adăuga o intrare nouă.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Nu există intrări.\"\n// more: \"More\" => \"Mai mult\"\n// tagboxDoneButtonCaption: \"OK\" => \"OK\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Toate opțiunile sunt clasificate\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Glisați și fixați opțiunile aici pentru a le clasifica\"// takePhotoCaption: \"Take Photo\" => \"Faceți o fotografie\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Faceți clic pe butonul de mai jos pentru a face o fotografie folosind camera.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Glisați și fixați sau selectați un fișier pentru a încărca sau a face o fotografie folosind camera.\"\n// replaceFileCaption: \"Replace file\" => \"Înlocuire fișier\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Fiecare rând trebuie să aibă o valoare unică.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Fișierele nu pot fi încărcate. Vă rugăm să adăugați un handler pentru evenimentul \\\"onUploadFiles\\\".\"\n// showDetails: \"Show Details\" => \"Arată detalii\"\n// hideDetails: \"Hide Details\" => \"Ascunde detalii\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Anula\"\n// refuseItemText: \"Refuse to answer\" => \"Refuză să răspundă\"\n// dontKnowItemText: \"Don't know\" => \"Nu ştiu\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/russian.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/russian.ts ***!\n \\*************************************/\n/*! exports provided: russianSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"russianSurveyStrings\", function() { return russianSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar russianSurveyStrings = {\n pagePrevText: \"Назад\",\n pageNextText: \"Далее\",\n completeText: \"Готово\",\n previewText: \"Предварительный просмотр\",\n editText: \"Редактирование\",\n startSurveyText: \"Начать\",\n otherItemText: \"Другое (пожалуйста, опишите)\",\n noneItemText: \"Нет\",\n refuseItemText: \"Отказываюсь отвечать\",\n dontKnowItemText: \"Не знаю\",\n selectAllItemText: \"Выбрать всё\",\n progressText: \"Страница {0} из {1}\",\n indexText: \"{0} из {1}\",\n panelDynamicProgressText: \"Запись {0} из {1}\",\n panelDynamicTabTextFormat: \"Панель {panelIndex}\",\n questionsProgressText: \"Oтвечено на {0}/{1} вопросов\",\n emptySurvey: \"Нет ни одного вопроса.\",\n completingSurvey: \"Благодарим Вас за заполнение анкеты!\",\n completingSurveyBefore: \"Вы уже проходили этот опрос.\",\n loadingSurvey: \"Загрузка с сервера...\",\n placeholder: \"Выбрать...\",\n ratingOptionsCaption: \"Нажмите здесь, чтобы оценить...\",\n value: \"значение\",\n requiredError: \"Пожалуйста, ответьте на вопрос.\",\n requiredErrorInPanel: \"Пожалуйста, ответьте по крайней мере на один вопрос.\",\n requiredInAllRowsError: \"Пожалуйста, ответьте на вопросы в каждой строке.\",\n eachRowUniqueError: \"Каждая строка должна иметь уникальное значение.\",\n numericError: \"Ответ должен быть числом.\",\n minError: \"Значение не должно быть меньше {0}.\",\n maxError: \"Значение не должно превышать {0}.\",\n textMinLength: \"Пожалуйста введите больше {0} символов.\",\n textMaxLength: \"Пожалуйста введите меньше {0} символов.\",\n textMinMaxLength: \"Пожалуйста введите больше {0} и меньше {1} символов.\",\n minRowCountError: \"Пожалуйста, заполните не меньше {0} строк.\",\n minSelectError: \"Пожалуйста, выберите хотя бы {0} вариантов.\",\n maxSelectError: \"Пожалуйста, выберите не более {0} вариантов.\",\n numericMinMax: \"'{0}' должно быть не меньше чем {1}, и не больше чем {2}\",\n numericMin: \"'{0}' должно быть не меньше чем {1}\",\n numericMax: \"'{0}' должно быть не больше чем {1}\",\n invalidEmail: \"Пожалуйста, введите действительный адрес электронной почты.\",\n invalidExpression: \"Выражение {0} должно возвращать 'true'.\",\n urlRequestError: \"Запрос вернул ошибку '{0}'. {1}\",\n urlGetChoicesError: \"Ответ на запрос пришел пустой или свойство 'path' указано неверно\",\n exceedMaxSize: \"Размер файла не должен превышать {0}.\",\n noUploadFilesHandler: \"Файлы не могут быть загружены. Пожалуйста, добавьте обработчик для события 'onUploadFiles'.\",\n otherRequiredError: \"Пожалуйста, введите данные в поле 'Другое'\",\n uploadingFile: \"Ваш файл загружается. Подождите несколько секунд и попробуйте снова.\",\n loadingFile: \"Загрузка...\",\n chooseFile: \"Выберите файл(ы)...\",\n noFileChosen: \"Файл не выбран\",\n filePlaceholder: \"Перетащите файл сюда или нажмите кнопку ниже, чтобы загрузить файл.\",\n confirmDelete: \"Вы точно хотите удалить запись?\",\n keyDuplicationError: \"Это значение должно быть уникальным.\",\n addColumn: \"Добавить колонку\",\n addRow: \"Добавить строку\",\n removeRow: \"Удалить\",\n emptyRowsText: \"Рядов нет.\",\n addPanel: \"Добавить новую\",\n removePanel: \"Удалить\",\n showDetails: \"Показать подробности\",\n hideDetails: \"Скрыть подробности\",\n choices_Item: \"Вариант\",\n matrix_column: \"Колонка\",\n matrix_row: \"Строка\",\n multipletext_itemname: \"текст\",\n savingData: \"Результаты сохраняются на сервер...\",\n savingDataError: \"Произошла ошибка, результат не был сохранён.\",\n savingDataSuccess: \"Результат успешно сохранён!\",\n saveAgainButton: \"Попробовать снова\",\n timerMin: \"мин\",\n timerSec: \"сек\",\n timerSpentAll: \"Вы потратили {0} на этой странице и {1} всего.\",\n timerSpentPage: \"Вы потратили {0} на этой странице.\",\n timerSpentSurvey: \"Вы потратили {0} в течение теста.\",\n timerLimitAll: \"Вы потратили {0} из {1} на этой странице и {2} из {3} для всего теста.\",\n timerLimitPage: \"Вы потратили {0} из {1} на этой странице.\",\n timerLimitSurvey: \"Вы потратили {0} из {1} для всего теста.\",\n clearCaption: \"Очистить\",\n signaturePlaceHolder: \"Подпишите здесь\",\n chooseFileCaption: \"Выберите файл\",\n takePhotoCaption: \"Сделать фото\",\n photoPlaceholder: \"Нажмите кнопку ниже, чтобы сделать снимок с помощью камеры.\",\n fileOrPhotoPlaceholder: \"Перетащите или выберите файл для загрузки или съемки с помощью камеры.\",\n replaceFileCaption: \"Заменить файл\",\n removeFileCaption: \"Удалить файл\",\n booleanCheckedLabel: \"Да\",\n booleanUncheckedLabel: \"Нет\",\n confirmRemoveFile: \"Вы уверены, что хотите удалить этот файл: {0}?\",\n confirmRemoveAllFiles: \"Вы уверены, что хотите удалить все файлы?\",\n questionTitlePatternText: \"Название вопроса\",\n modalCancelButtonText: \"Отменить\",\n modalApplyButtonText: \"Применять\",\n filterStringPlaceholder: \"Введите для поиска...\",\n emptyMessage: \"Нет данных для отображения\",\n noEntriesText: \"Пока нет записей.\\nНажмите кнопку ниже, чтобы добавить новую запись.\",\n noEntriesReadonlyText: \"Записей нет.\",\n more: \"Больше\",\n tagboxDoneButtonCaption: \"Хорошо\",\n selectToRankEmptyRankedAreaText: \"Все варианты ранжируются\",\n selectToRankEmptyUnrankedAreaText: \"Перетащите сюда варианты, чтобы ранжировать их\",\n ok: \"Хорошо\",\n cancel: \"Отмена\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"ru\"] = russianSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"ru\"] = \"русский\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Панель {panelIndex}\"\n// emptyMessage: \"No data to display\" => \"Нет данных для отображения\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Записей нет.\"\n// more: \"More\" => \"Больше\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Все варианты ранжируются\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Перетащите сюда варианты, чтобы ранжировать их\"// takePhotoCaption: \"Take Photo\" => \"Сделать фото\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Нажмите кнопку ниже, чтобы сделать снимок с помощью камеры.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Перетащите или выберите файл для загрузки или съемки с помощью камеры.\"\n// replaceFileCaption: \"Replace file\" => \"Заменить файл\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Каждая строка должна иметь уникальное значение.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Файлы не могут быть загружены. Пожалуйста, добавьте обработчик для события 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Показать подробности\"\n// hideDetails: \"Hide Details\" => \"Скрыть подробности\"\n// cancel: \"Cancel\" => \"Отмена\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/serbian.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/serbian.ts ***!\n \\*************************************/\n/*! exports provided: serbianStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"serbianStrings\", function() { return serbianStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar serbianStrings = {\n pagePrevText: \"Nazad\",\n pageNextText: \"Dalje\",\n completeText: \"Završi\",\n previewText: \"Pregledaj\",\n editText: \"Izmeni\",\n startSurveyText: \"Započni\",\n otherItemText: \"Drugo (upiši)\",\n noneItemText: \"Ništa\",\n refuseItemText: \"Odbijanje odgovora\",\n dontKnowItemText: \"Ne znam\",\n selectAllItemText: \"Izaberi sve\",\n progressText: \"Stranica {0} od {1}\",\n indexText: \"{0} {1}\",\n panelDynamicProgressText: \"Upis {0} od {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Odgovoreno na {0}/{1} pitanja\",\n emptySurvey: \"Nema vidljivih stranica ili pitanja u anketi.\",\n completingSurvey: \"Hvala na popunjavanju ankete!\",\n completingSurveyBefore: \"Prema našim podacima, već ste popunili ovu anketu.\",\n loadingSurvey: \"Učitavam anketu...\",\n placeholder: \"Izaberi...\",\n ratingOptionsCaption: \"Izaberite...\",\n value: \"vrednost\",\n requiredError: \"Molimo odgovorite na ovo pitanje.\",\n requiredErrorInPanel: \"Molimo odgovorite na bar jedno pitanje.\",\n requiredInAllRowsError: \"Molimo odgovorite na pitanja u svim redovima.\",\n eachRowUniqueError: \"Svaki red mora imati jedinstvenu vrednost.\",\n numericError: \"Vrednost bi trebalo da bude numerička.\",\n minError: \"Vrednost ne bi trebalo da bude manja od {0}\",\n maxError: \"Vrednost ne bi trebalo da bude veća od {0}\",\n textMinLength: \"Molimo unesite bar {0} znak(ov)a.\",\n textMaxLength: \"Molimo unesite najviše {0} znak(ov)a.\",\n textMinMaxLength: \"Molimo unesite najmanje {0} i ne više od {1} znak(ov)a.\",\n minRowCountError: \"Molimo popunite najmanje {0} red(ova).\",\n minSelectError: \"Molimo izaberite najmanje {0} opcija/e.\",\n maxSelectError: \"Molimo izaberite najviše {0} opcija/e.\",\n numericMinMax: \"'{0}' bi trebalo da bude najmanje {1} i najviše {2}\",\n numericMin: \"'{0}' bi trebalo da bude najmanje {1}\",\n numericMax: \"'{0}' bi trebalo da bude najviše {1}\",\n invalidEmail: \"Molimo unesite ispravnu e-mail adresu.\",\n invalidExpression: \"Izraz: {0} bi trebalo da bude tačan.\",\n urlRequestError: \"Zahtev je naišao na grešku '{0}'. {1}\",\n urlGetChoicesError: \"Zahtev nije pronašao podatke, ili je putanja netačna\",\n exceedMaxSize: \"Veličina fajla ne bi trebalo da prelazi {0}.\",\n noUploadFilesHandler: \"Nije moguće otpremiti datoteke. Dodajte rukovaoca za događaj \\\"onUploadFiles\\\".\",\n otherRequiredError: \"Molimo unesite drugu vrednost.\",\n uploadingFile: \"Fajl se šalje. Molimo sačekajte neko vreme i pokušajte ponovo.\",\n loadingFile: \"Učitavanje...\",\n chooseFile: \"Izaberite fajlove...\",\n noFileChosen: \"Nije izabran nijedan fajl\",\n filePlaceholder: \"Prevucite i otpustite datoteku ovde ili kliknite na dugme ispod i odaberite datoteku za otpremanje.\",\n confirmDelete: \"Da li želite da izbrišete unos?\",\n keyDuplicationError: \"Ova vrednost treba da bude jedinstvena.\",\n addColumn: \"Dodaj kolonu\",\n addRow: \"Dodaj red\",\n removeRow: \"Ukloni\",\n emptyRowsText: \"Nema redova.\",\n addPanel: \"Dodaj novo\",\n removePanel: \"Ukloni\",\n showDetails: \"Prikaži detalje\",\n hideDetails: \"Sakrij detalje\",\n choices_Item: \"stavka\",\n matrix_column: \"Kolona\",\n matrix_row: \"Red\",\n multipletext_itemname: \"tekst\",\n savingData: \"U toku je čuvanje podataka na serveru...\",\n savingDataError: \"Došlo je do greške i rezultati nisu sačuvani.\",\n savingDataSuccess: \"Rezultati su uspešno sačuvani!\",\n saveAgainButton: \"Pokušajte ponovo\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Proveli ste {0} na ovoj stranici i {1} ukupno.\",\n timerSpentPage: \"Proveli ste {0} na ovoj stranici.\",\n timerSpentSurvey: \"Proveli ste {0} ukupno.\",\n timerLimitAll: \"Proveli ste {0} od {1} na ovoj stranici i {2} od {3} ukupno.\",\n timerLimitPage: \"Proveli ste {0} od {1} na ovoj stranici.\",\n timerLimitSurvey: \"Proveli ste {0} od {1} ukupno.\",\n clearCaption: \"Poništi\",\n signaturePlaceHolder: \"Potpišite ovde\",\n chooseFileCaption: \"Izaberi fajl\",\n takePhotoCaption: \"Fotografisanje\",\n photoPlaceholder: \"Kliknite na dugme ispod da biste snimili fotografiju pomoću fotoaparata.\",\n fileOrPhotoPlaceholder: \"Prevucite i otpustite ili izaberite datoteku za otpremanje ili snimanje fotografije pomoću fotoaparata.\",\n replaceFileCaption: \"Zameni datoteku\",\n removeFileCaption: \"Ukloni ovaj fajl\",\n booleanCheckedLabel: \"Da\",\n booleanUncheckedLabel: \"Ne\",\n confirmRemoveFile: \"Da li ste sigurni da želite da uklonite ovaj fajl: {0}?\",\n confirmRemoveAllFiles: \"Da li ste sigurni da želite da uklonite sve fajlove?\",\n questionTitlePatternText: \"Naslov pitanja\",\n modalCancelButtonText: \"Otkaži\",\n modalApplyButtonText: \"Primeni\",\n filterStringPlaceholder: \"Otkucajte da biste pretražili...\",\n emptyMessage: \"Nema podataka za prikazivanje\",\n noEntriesText: \"Još uvek nema stavki.\\nKliknite na dugme ispod da biste dodali novu stavku.\",\n noEntriesReadonlyText: \"Nema stavki.\",\n more: \"Viљe\",\n tagboxDoneButtonCaption: \"U redu\",\n selectToRankEmptyRankedAreaText: \"Svi izbori su rangirani\",\n selectToRankEmptyUnrankedAreaText: \"Prevucite i otpustite izbor ovde da biste ih rangirali\",\n ok: \"U redu\",\n cancel: \"Otkaži\"\n};\n//Uncomment these two lines on creating a translation file. You should replace \"en\" and enStrings with your locale (\"fr\", \"de\" and so on) and your variable.\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"rs\"] = serbianStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"rs\"] = \"Srpski\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Izaberite...\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Prevucite i otpustite datoteku ovde ili kliknite na dugme ispod i odaberite datoteku za otpremanje.\"\n// signaturePlaceHolder: \"Sign here\" => \"Potpišite ovde\"\n// filterStringPlaceholder: \"Type to search...\" => \"Otkucajte da biste pretražili...\"\n// emptyMessage: \"No data to display\" => \"Nema podataka za prikazivanje\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Još uvek nema stavki.\\nKliknite na dugme ispod da biste dodali novu stavku.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Nema stavki.\"\n// more: \"More\" => \"Viљe\"\n// tagboxDoneButtonCaption: \"OK\" => \"U redu\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Svi izbori su rangirani\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Prevucite i otpustite izbor ovde da biste ih rangirali\"// takePhotoCaption: \"Take Photo\" => \"Fotografisanje\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Kliknite na dugme ispod da biste snimili fotografiju pomoću fotoaparata.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Prevucite i otpustite ili izaberite datoteku za otpremanje ili snimanje fotografije pomoću fotoaparata.\"\n// replaceFileCaption: \"Replace file\" => \"Zameni datoteku\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Svaki red mora imati jedinstvenu vrednost.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Nije moguće otpremiti datoteke. Dodajte rukovaoca za događaj \\\"onUploadFiles\\\".\"\n// showDetails: \"Show Details\" => \"Prikaži detalje\"\n// hideDetails: \"Hide Details\" => \"Sakrij detalje\"\n// ok: \"OK\" => \"U redu\"\n// cancel: \"Cancel\" => \"Otkaži\"\n// refuseItemText: \"Refuse to answer\" => \"Odbijanje odgovora\"\n// dontKnowItemText: \"Don't know\" => \"Ne znam\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/simplified-chinese.ts\":\n/*!************************************************!*\\\n !*** ./src/localization/simplified-chinese.ts ***!\n \\************************************************/\n/*! exports provided: simplifiedChineseSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"simplifiedChineseSurveyStrings\", function() { return simplifiedChineseSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar simplifiedChineseSurveyStrings = {\n pagePrevText: \"上一页\",\n pageNextText: \"下一页\",\n completeText: \"提交问卷\",\n previewText: \"预览\",\n editText: \"编辑\",\n startSurveyText: \"开始问卷\",\n otherItemText: \"填写其他答案\",\n noneItemText: \"无\",\n refuseItemText: \"拒绝回答\",\n dontKnowItemText: \"不知道\",\n selectAllItemText: \"选择全部\",\n progressText: \"第 {0} 页, 共 {1} 页\",\n indexText: \"{1}{0}\",\n panelDynamicProgressText: \"{0} of {1}\",\n panelDynamicTabTextFormat: \"面板 {面板索引}\",\n questionsProgressText: \"第 {0}/{1} 题\",\n emptySurvey: \"问卷中没有问题或页面\",\n completingSurvey: \"感谢您的参与!\",\n completingSurveyBefore: \"你已完成问卷.\",\n loadingSurvey: \"问卷正在加载中...\",\n placeholder: \"请选择...\",\n ratingOptionsCaption: \"选择。。。\",\n value: \"值\",\n requiredError: \"请填写此问题\",\n requiredErrorInPanel: \"至少回答一题.\",\n requiredInAllRowsError: \"请填写所有行中问题\",\n eachRowUniqueError: \"每行必须具有唯一值。\",\n numericError: \"答案必须是个数字\",\n minError: \"该值不能小于 {0}\",\n maxError: \"该值不能大于 {0}\",\n textMinLength: \"答案长度至少 {0} 个字符\",\n textMaxLength: \"答案长度不能超过 {0} 个字符\",\n textMinMaxLength: \"答案长度必须在 {0} - {1} 个字符之间\",\n minRowCountError: \"最少需要填写 {0} 行答案\",\n minSelectError: \"最少需要选择 {0} 项答案\",\n maxSelectError: \"最多只能选择 {0} 项答案\",\n numericMinMax: \"答案 '{0}' 必须大于等于 {1} 且小于等于 {2}\",\n numericMin: \"答案 '{0}' 必须大于等于 {1}\",\n numericMax: \"答案 '{0}' 必须小于等于 {1}\",\n invalidEmail: \"请输入有效的 Email 地址\",\n invalidExpression: \"公式: {0} 无效.\",\n urlRequestError: \"载入选项时发生错误 '{0}': {1}\",\n urlGetChoicesError: \"未能载入有效的选项或请求参数路径有误\",\n exceedMaxSize: \"文件大小不能超过 {0}\",\n noUploadFilesHandler: \"无法上传文件。请为“onUploadFiles”事件添加处理程序。\",\n otherRequiredError: \"请完成其他问题\",\n uploadingFile: \"文件上传中... 请耐心等待几秒后重试\",\n loadingFile: \"加载...\",\n chooseFile: \"选择文件...\",\n noFileChosen: \"未选择文件\",\n filePlaceholder: \"将文件拖放到此处或单击下面的按钮并选择要上传的文件。\",\n confirmDelete: \"删除记录?\",\n keyDuplicationError: \"主键不能重复\",\n addColumn: \"添加列\",\n addRow: \"添加行\",\n removeRow: \"删除答案\",\n emptyRowsText: \"无内容\",\n addPanel: \"新添\",\n removePanel: \"删除\",\n showDetails: \"显示详细信息\",\n hideDetails: \"隐藏详细信息\",\n choices_Item: \"选项\",\n matrix_column: \"列\",\n matrix_row: \"行\",\n multipletext_itemname: \"文本\",\n savingData: \"正在将结果保存到服务器...\",\n savingDataError: \"在保存结果过程中发生了错误,结果未能保存\",\n savingDataSuccess: \"结果保存成功!\",\n saveAgainButton: \"请重试\",\n timerMin: \"分\",\n timerSec: \"秒\",\n timerSpentAll: \"本页用时 {0} 总计用时{1} .\",\n timerSpentPage: \"本页用时{0} .\",\n timerSpentSurvey: \"总计用时 {0} .\",\n timerLimitAll: \"本页用时 {0} 共 {1}, 总计用时 {2} 共 {3} .\",\n timerLimitPage: \"本页用时 {0} 共 {1} .\",\n timerLimitSurvey: \"总计用时 {0} 共 {1}.\",\n clearCaption: \"清除\",\n signaturePlaceHolder: \"在此签名\",\n chooseFileCaption: \"选择文件\",\n takePhotoCaption: \"拍照\",\n photoPlaceholder: \"单击下面的按钮使用相机拍照。\",\n fileOrPhotoPlaceholder: \"拖放或选择要上传的文件或使用相机拍摄照片。\",\n replaceFileCaption: \"替换文件\",\n removeFileCaption: \"移除文件\",\n booleanCheckedLabel: \"是\",\n booleanUncheckedLabel: \"否\",\n confirmRemoveFile: \"删除文件: {0}?\",\n confirmRemoveAllFiles: \"删除所有文件?\",\n questionTitlePatternText: \"标题\",\n modalCancelButtonText: \"取消\",\n modalApplyButtonText: \"确定\",\n filterStringPlaceholder: \"键入以搜索...\",\n emptyMessage: \"没有要显示的数据\",\n noEntriesText: \"尚无条目。\\n单击下面的按钮以添加新条目。\",\n noEntriesReadonlyText: \"没有条目。\",\n more: \"更多\",\n tagboxDoneButtonCaption: \"还行\",\n selectToRankEmptyRankedAreaText: \"所有选择均已排名\",\n selectToRankEmptyUnrankedAreaText: \"将选项拖放到此处进行排名\",\n ok: \"还行\",\n cancel: \"取消\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"zh-cn\"] = simplifiedChineseSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"zh-cn\"] = \"简体中文\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{1}{0}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"面板 {面板索引}\"\n// ratingOptionsCaption: \"Select...\" => \"选择。。。\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"将文件拖放到此处或单击下面的按钮并选择要上传的文件。\"\n// signaturePlaceHolder: \"Sign here\" => \"在此签名\"\n// filterStringPlaceholder: \"Type to search...\" => \"键入以搜索...\"\n// emptyMessage: \"No data to display\" => \"没有要显示的数据\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"尚无条目。\\n单击下面的按钮以添加新条目。\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"没有条目。\"\n// more: \"More\" => \"更多\"\n// tagboxDoneButtonCaption: \"OK\" => \"还行\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"所有选择均已排名\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"将选项拖放到此处进行排名\"// takePhotoCaption: \"Take Photo\" => \"拍照\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"单击下面的按钮使用相机拍照。\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"拖放或选择要上传的文件或使用相机拍摄照片。\"\n// replaceFileCaption: \"Replace file\" => \"替换文件\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"每行必须具有唯一值。\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"无法上传文件。请为“onUploadFiles”事件添加处理程序。\"\n// showDetails: \"Show Details\" => \"显示详细信息\"\n// hideDetails: \"Hide Details\" => \"隐藏详细信息\"\n// ok: \"OK\" => \"还行\"\n// cancel: \"Cancel\" => \"取消\"\n// refuseItemText: \"Refuse to answer\" => \"拒绝回答\"\n// dontKnowItemText: \"Don't know\" => \"不知道\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/slovak.ts\":\n/*!************************************!*\\\n !*** ./src/localization/slovak.ts ***!\n \\************************************/\n/*! exports provided: slovakSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"slovakSurveyStrings\", function() { return slovakSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar slovakSurveyStrings = {\n pagePrevText: \"Predchádzajúca\",\n pageNextText: \"Ďalej\",\n completeText: \"Dokončené\",\n previewText: \"Ukážka\",\n editText: \"Upraviť\",\n startSurveyText: \"Spustiť\",\n otherItemText: \"Iné (opíšte)\",\n noneItemText: \"Žiadne\",\n refuseItemText: \"Odmietnuť odpovedať\",\n dontKnowItemText: \"Neviem\",\n selectAllItemText: \"Vybrať všetky\",\n progressText: \"Strana {0} z {1}\",\n indexText: \"{0} {1}\",\n panelDynamicProgressText: \"Záznam {0} z {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Zodpovedané otázky {0}/{1}\",\n emptySurvey: \"V prieskume nie je žiadna vidieľná stránka ani otázka.\",\n completingSurvey: \"Ďakujeme vám za dokončenie prieskumu.\",\n completingSurveyBefore: \"Podľa našich záznamov ste už tento prieskum dokončili.\",\n loadingSurvey: \"Načítanie prieskumu...\",\n placeholder: \"Vybrať...\",\n ratingOptionsCaption: \"Vybrať...\",\n value: \"hodnota\",\n requiredError: \"Požaduje sa odozva.\",\n requiredErrorInPanel: \"Požaduje sa odozva: zodpovedajte aspoň jednu otázku.\",\n requiredInAllRowsError: \"Požaduje sa odozva: zodpovedajte otázky vo všetkých riadkoch.\",\n eachRowUniqueError: \"Každý riadok musí mať jedinečnú hodnotu.\",\n numericError: \"Hodnota má byť číselná.\",\n minError: \"Hodnota nemá byť nižšia než {0}\",\n maxError: \"Hodnota nemá byť vyššia než {0}\",\n textMinLength: \"Zadajte aspoň {0} znak(-y/-ov).\",\n textMaxLength: \"Nezadávajte viac než {0} znak(-y/-ov).\",\n textMinMaxLength: \"Zadajte aspoň {0} a nie viac než {1} znaky(-ov).\",\n minRowCountError: \"Vyplňte aspoň {0} riadok(-y/-ov).\",\n minSelectError: \"Vyberte aspoň {0} variant(-y/-ov).\",\n maxSelectError: \"Nevyberajte viac než {0} variant(-y/-ov).\",\n numericMinMax: \"„{0}“ má byť minimálne {1} a maximálne {2}\",\n numericMin: \"„{0}“ má byť minimálne {1}\",\n numericMax: \"„{0}“ má byť maximálne {1}\",\n invalidEmail: \"Zadajte platnú e-mailovú adresu.\",\n invalidExpression: \"Výraz: {0} má vrátiť hodnotu „true“.\",\n urlRequestError: \"Požiadavky vrátila hodnotu „{0}“. {1}\",\n urlGetChoicesError: \"Požiadavka vrátila prázdne údaje alebo je vlastnosť „cesta“ nesprávna\",\n exceedMaxSize: \"Veľkosť súboru nemá prekročiť {0}.\",\n noUploadFilesHandler: \"Súbory nie je možné nahrať. Pridajte obslužný program pre udalosť \\\"onUploadFiles\\\".\",\n otherRequiredError: \"Požaduje sa odozva: zadajte inú hodnotu.\",\n uploadingFile: \"Súbor sa odovzdáva. Počkajte niekoľko sekúnd a skúste to znova.\",\n loadingFile: \"Načítanie...\",\n chooseFile: \"Vyberte súbor(-y)...\",\n noFileChosen: \"Žiadny vybratý súbor\",\n filePlaceholder: \"Presuňte súbor sem alebo kliknite na nasledujúce tlačidlo a načítajte súbor.\",\n confirmDelete: \"Chcete záznam odstrániť?\",\n keyDuplicationError: \"Táto hodnota má byť jedinečná.\",\n addColumn: \"Pridať stĺpec\",\n addRow: \"Pridať riadok\",\n removeRow: \"Odstrániť\",\n emptyRowsText: \"K dispozícii nie sú žiadne riadky.\",\n addPanel: \"Pridať nové\",\n removePanel: \"Odstrániť\",\n showDetails: \"Zobraziť podrobnosti\",\n hideDetails: \"Skryť podrobnosti\",\n choices_Item: \"položka\",\n matrix_column: \"Stĺpec\",\n matrix_row: \"Riadok\",\n multipletext_itemname: \"text\",\n savingData: \"Výsledky sa ukladajú na server...\",\n savingDataError: \"V dôsledku chyby sa nepodarilo výsledky uložiť.\",\n savingDataSuccess: \"Výsledky sa úspešne uložili.\",\n saveAgainButton: \"Skúste to znova\",\n timerMin: \"min\",\n timerSec: \"s\",\n timerSpentAll: \"Na tejto stránke ste strávili {0} a celkovo {1}.\",\n timerSpentPage: \"Na tejto stránke ste strávili {0}.\",\n timerSpentSurvey: \"Celkovo ste strávili {0}.\",\n timerLimitAll: \"Na tejto stránke ste strávili {0} z {1} a celkovo {2} z {3}.\",\n timerLimitPage: \"Na tejto stránke ste strávili {0} z {1}.\",\n timerLimitSurvey: \"Celkovo ste strávili {0} z {1}.\",\n clearCaption: \"Vymazať\",\n signaturePlaceHolder: \"Podpísať tu\",\n chooseFileCaption: \"Vybrať súbor\",\n takePhotoCaption: \"Odfotiť\",\n photoPlaceholder: \"Kliknutím na tlačidlo nižšie nasnímate fotografiu pomocou fotoaparátu.\",\n fileOrPhotoPlaceholder: \"Presuňte myšou alebo vyberte súbor, ktorý chcete nahrať alebo nasnímať fotografiu pomocou fotoaparátu.\",\n replaceFileCaption: \"Nahradenie súboru\",\n removeFileCaption: \"Odstrániť tento súbor\",\n booleanCheckedLabel: \"Áno\",\n booleanUncheckedLabel: \"Nie\",\n confirmRemoveFile: \"Naozaj chcete odstrániť tento súbor: {0}?\",\n confirmRemoveAllFiles: \"Naozaj chcete odstrániť všetky súbory?\",\n questionTitlePatternText: \"Titul otázky\",\n modalCancelButtonText: \"Zrušiť\",\n modalApplyButtonText: \"Použiť\",\n filterStringPlaceholder: \"Vyhľadávanie písaním...\",\n emptyMessage: \"Žiadne údaje na zobrazenie\",\n noEntriesText: \"K dispozícii ešte nie sú žiadne zadania.\\nKliknutím na nasledujúce tlačidlo pridajte nové zadanie.\",\n noEntriesReadonlyText: \"Nie sú k dispozícii žiadne záznamy.\",\n more: \"Viacej\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"Všetky možnosti sú zoradené\",\n selectToRankEmptyUnrankedAreaText: \"Presuňte sem voľby, aby ste ich zoradili\",\n ok: \"OK\",\n cancel: \"Zrušiť\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"sk\"] = slovakSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"sk\"] = \"slovak\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Vybrať...\"\n// emptyMessage: \"No data to display\" => \"Žiadne údaje na zobrazenie\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Nie sú k dispozícii žiadne záznamy.\"\n// more: \"More\" => \"Viacej\"\n// tagboxDoneButtonCaption: \"OK\" => \"OK\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Všetky možnosti sú zoradené\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Presuňte sem voľby, aby ste ich zoradili\"// takePhotoCaption: \"Take Photo\" => \"Odfotiť\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Kliknutím na tlačidlo nižšie nasnímate fotografiu pomocou fotoaparátu.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Presuňte myšou alebo vyberte súbor, ktorý chcete nahrať alebo nasnímať fotografiu pomocou fotoaparátu.\"\n// replaceFileCaption: \"Replace file\" => \"Nahradenie súboru\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Každý riadok musí mať jedinečnú hodnotu.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Súbory nie je možné nahrať. Pridajte obslužný program pre udalosť \\\"onUploadFiles\\\".\"\n// showDetails: \"Show Details\" => \"Zobraziť podrobnosti\"\n// hideDetails: \"Hide Details\" => \"Skryť podrobnosti\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Zrušiť\"\n// refuseItemText: \"Refuse to answer\" => \"Odmietnuť odpovedať\"\n// dontKnowItemText: \"Don't know\" => \"Neviem\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/spanish.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/spanish.ts ***!\n \\*************************************/\n/*! exports provided: spanishSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"spanishSurveyStrings\", function() { return spanishSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar spanishSurveyStrings = {\n pagePrevText: \"Anterior\",\n pageNextText: \"Siguiente\",\n completeText: \"Completar\",\n previewText: \"Vista previa\",\n editText: \"Edita\",\n startSurveyText: \"Comienza\",\n otherItemText: \"Otro (describa)\",\n noneItemText: \"Ninguno\",\n refuseItemText: \"Negarse a responder\",\n dontKnowItemText: \"No sé\",\n selectAllItemText: \"Seleccionar todo\",\n progressText: \"Página {0} de {1}\",\n indexText: \"{0} de {1}\",\n panelDynamicProgressText: \"Registro {0} de {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Respondió a {0}/{1} preguntas\",\n emptySurvey: \"No hay página visible o pregunta en la encuesta.\",\n completingSurvey: \"¡Gracias por completar la encuesta!\",\n completingSurveyBefore: \"Nuestros registros muestran que ya ha completado esta encuesta.\",\n loadingSurvey: \"La encuesta está cargando...\",\n placeholder: \"Seleccione...\",\n ratingOptionsCaption: \"Toca aquí para calificar...\",\n value: \"valor\",\n requiredError: \"Por favor conteste la pregunta.\",\n requiredErrorInPanel: \"Por favor, responda al menos una pregunta.\",\n requiredInAllRowsError: \"Por favor conteste las preguntas en cada hilera.\",\n eachRowUniqueError: \"Cada fila debe tener un valor único.\",\n numericError: \"La estimación debe ser numérica.\",\n minError: \"La estimación no debe ser menor que {0}\",\n maxError: \"La estimación no debe ser mayor que {0}\",\n textMinLength: \"Por favor entre por lo menos {0} símbolos.\",\n textMaxLength: \"Por favor entre menos de {0} símbolos.\",\n textMinMaxLength: \"Por favor entre más de {0} y menos de {1} símbolos.\",\n minRowCountError: \"Por favor llene por lo menos {0} hileras.\",\n minSelectError: \"Por favor seleccione por lo menos {0} variantes.\",\n maxSelectError: \"Por favor seleccione no más de {0} variantes.\",\n numericMinMax: \"El '{0}' debe de ser igual o más de {1} y igual o menos de {2}\",\n numericMin: \"El '{0}' debe ser igual o más de {1}\",\n numericMax: \"El '{0}' debe ser igual o menos de {1}\",\n invalidEmail: \"Por favor agregue un correo electrónico válido.\",\n invalidExpression: \"La expresión: {0} debería devolver 'verdadero'.\",\n urlRequestError: \"La solicitud regresó error '{0}'. {1}\",\n urlGetChoicesError: \"La solicitud regresó vacío de data o la propiedad 'trayectoria' no es correcta\",\n exceedMaxSize: \"El tamaño del archivo no debe de exceder {0}.\",\n noUploadFilesHandler: \"Los archivos no se pueden cargar. Agregue un controlador para el evento 'onUploadFiles'.\",\n otherRequiredError: \"Por favor agregue la otra estimación.\",\n uploadingFile: \"Su archivo se está subiendo. Por favor espere unos segundos e intente de nuevo.\",\n loadingFile: \"Cargando...\",\n chooseFile: \"Elija archivo(s)...\",\n noFileChosen: \"No se ha elegido ningún archivo\",\n filePlaceholder: \"Suelte un archivo aquí o haga clic en el botón de abajo para cargar el archivo\",\n confirmDelete: \"¿Quieres borrar el registro?\",\n keyDuplicationError: \"Este valor debe ser único.\",\n addColumn: \"Añadir columna\",\n addRow: \"Agregue una hilera\",\n removeRow: \"Eliminar una hilera\",\n emptyRowsText: \"No hay hileras.\",\n addPanel: \"Añadir nuevo\",\n removePanel: \"Retire\",\n showDetails: \"Mostrar detalles\",\n hideDetails: \"Ocultar detalles\",\n choices_Item: \"artículo\",\n matrix_column: \"Columna\",\n matrix_row: \"Hilera\",\n multipletext_itemname: \"texto\",\n savingData: \"Los resultados se están guardando en el servidor...\",\n savingDataError: \"Los resultados se están guardando en el servidor...\",\n savingDataSuccess: \"¡Los resultados se guardaron con éxito!\",\n saveAgainButton: \"Inténtalo de nuevo.\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"Has gastado {0} en esta página y {1} en total.\",\n timerSpentPage: \"Usted ha pasado {0} en esta página.\",\n timerSpentSurvey: \"Has gastado en total.\",\n timerLimitAll: \"Has gastado {0} de {1} en esta página y {2} de {3} en total.\",\n timerLimitPage: \"Has gastado {0} de {1} en esta página.\",\n timerLimitSurvey: \"Usted ha gastado {0} de {1} en total.\",\n clearCaption: \"Borrar\",\n signaturePlaceHolder: \"Firma aqui\",\n chooseFileCaption: \"Elija el archivo\",\n takePhotoCaption: \"Tomar foto\",\n photoPlaceholder: \"Haga clic en el botón de abajo para tomar una foto con la cámara.\",\n fileOrPhotoPlaceholder: \"Arrastre y suelte o seleccione un archivo para cargar o tomar una foto con la cámara.\",\n replaceFileCaption: \"Reemplazar archivo\",\n removeFileCaption: \"Elimina este archivo\",\n booleanCheckedLabel: \"Sí\",\n booleanUncheckedLabel: \"No\",\n confirmRemoveFile: \"¿Estás seguro de que quieres eliminar este archivo: {0}?\",\n confirmRemoveAllFiles: \"¿Estás seguro de que quieres eliminar todos los archivos?\",\n questionTitlePatternText: \"Título de la pregunta\",\n modalCancelButtonText: \"Anular\",\n modalApplyButtonText: \"Aplicar\",\n filterStringPlaceholder: \"Escribe para buscar...\",\n emptyMessage: \"No hay datos para mostrar\",\n noEntriesText: \"Aún no hay entradas.\\nHaga clic en el botón de abajo para agregar una nueva entrada.\",\n noEntriesReadonlyText: \"No hay entradas.\",\n more: \"Más\",\n tagboxDoneButtonCaption: \"De acuerdo\",\n selectToRankEmptyRankedAreaText: \"Todas las opciones están clasificadas\",\n selectToRankEmptyUnrankedAreaText: \"Arrastra y suelta opciones aquí para clasificarlas\",\n ok: \"De acuerdo\",\n cancel: \"Cancelar\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"es\"] = spanishSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"es\"] = \"español\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// emptyMessage: \"No data to display\" => \"No hay datos para mostrar\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"No hay entradas.\"\n// more: \"More\" => \"Más\"\n// tagboxDoneButtonCaption: \"OK\" => \"De acuerdo\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Todas las opciones están clasificadas\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Arrastra y suelta opciones aquí para clasificarlas\"// takePhotoCaption: \"Take Photo\" => \"Tomar foto\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Haga clic en el botón de abajo para tomar una foto con la cámara.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Arrastre y suelte o seleccione un archivo para cargar o tomar una foto con la cámara.\"\n// replaceFileCaption: \"Replace file\" => \"Reemplazar archivo\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Cada fila debe tener un valor único.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Los archivos no se pueden cargar. Agregue un controlador para el evento 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Mostrar detalles\"\n// hideDetails: \"Hide Details\" => \"Ocultar detalles\"\n// ok: \"OK\" => \"De acuerdo\"\n// cancel: \"Cancel\" => \"Cancelar\"\n// refuseItemText: \"Refuse to answer\" => \"Negarse a responder\"\n// dontKnowItemText: \"Don't know\" => \"No sé\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/swahili.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/swahili.ts ***!\n \\*************************************/\n/*! exports provided: swahiliStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"swahiliStrings\", function() { return swahiliStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar swahiliStrings = {\n pagePrevText: \"Iliyotangulia\",\n pageNextText: \"Ifuatayo\",\n completeText: \"Kamili\",\n previewText: \"Hakiki\",\n editText: \"Hariri\",\n startSurveyText: \"Anza\",\n otherItemText: \"Nyingine (eleza)\",\n noneItemText: \"Hakuna\",\n refuseItemText: \"Kukataa kujibu\",\n dontKnowItemText: \"Sijui\",\n selectAllItemText: \"Chagua Zote\",\n progressText: \"Ukurasa {0} wa {1}\",\n indexText: \"{0} ya {1}\",\n panelDynamicProgressText: \"Rekodi {0} ya {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Yaliyojibiwa {0}/{1} maswali\",\n emptySurvey: \"Hakuna ukurasa unaoonekana au swali katika utafiti.\",\n completingSurvey: \"Asanti kwa kukamilisha utafiti!\",\n completingSurveyBefore: \"Recodi zetu zinatuonyesha tayari umekamilisha utafiti.\",\n loadingSurvey: \"Tunaandaa utafiti...\",\n placeholder: \"Chagua...\",\n ratingOptionsCaption: \"Teua...\",\n value: \"thamani\",\n requiredError: \"Tafadhali jibu hili swali.\",\n requiredErrorInPanel: \"Tafadhali jibu swali angalau moja.\",\n requiredInAllRowsError: \"Tafadhali jibu maswali katika safu zote.\",\n eachRowUniqueError: \"Kila safu lazima iwe na thamani ya kipekee.\",\n numericError: \"Thamani inapaswa kuwa ya nambari.\",\n minError: \"Thamani haipaswi kuwa chini ya {0}\",\n maxError: \"Thamani haipaswi kuwa kubwa kuliko {0}\",\n textMinLength: \"Tafadhali ingiza angalau{0} husika.\",\n textMaxLength: \"Tafadhali ingiza isiozidi {0} husika.\",\n textMinMaxLength: \"Tafadhali ingiza kiwango zaidi ya {0} na kisichopungua {1} husika.\",\n minRowCountError: \"Tafadhali jaza isiopungua {0} safu.\",\n minSelectError: \"Tafadhali chagua angalau {0} lahaja.\",\n maxSelectError: \"Tafadhali changua isiozidi {0} lahaja.\",\n numericMinMax: \" '{0}' inapaswa kuwa sawa au zaidi ya {1} na sawa au chini ya {2}\",\n numericMin: \" '{0}'inapaswa kuwa sawa au zaidi ya {1}\",\n numericMax: \" '{0}'inapaswa kuwa sawa au chini ya {1}\",\n invalidEmail: \"Tafadhali ingiza anwani halali ya barua-pepe.\",\n invalidExpression: \"Usemi:{0} inapaswa kurudi 'kweli'.\",\n urlRequestError: \"Ombi lina kosa '{0}'. {1}\",\n urlGetChoicesError: \"Ombi lilirudisha data tupu au the 'path' mali ya njia sio sahihi\",\n exceedMaxSize: \"Saizi ya faili haipaswi kuzidi {0}.\",\n noUploadFilesHandler: \"Faili haziwezi kupakiwa. Tafadhali ongeza kishiko kwa tukio la 'onUploadFiles'.\",\n otherRequiredError: \"Tafadhali ingiza thamani nyingine.\",\n uploadingFile: \"Faili yako inapakia.Tafadhali subiri sekunde kadhaa na ujaribu tena.\",\n loadingFile: \"Inapakia...\",\n chooseFile: \"Chagua faili...\",\n noFileChosen: \"Hujachagua faili\",\n filePlaceholder: \"Buruta na udondoshe faili hapa au bofya kitufe hapa chini na uchague faili ya kupakia.\",\n confirmDelete: \"Je! Unataka kufuta rekodi?\",\n keyDuplicationError: \"Thamani hii inapaswa kuwa ya kipekee.\",\n addColumn: \"Ongeza Kolamu\",\n addRow: \"Ongeza safu\",\n removeRow: \"Toa\",\n emptyRowsText: \"Hakuna safu.\",\n addPanel: \"Ongeza mpya\",\n removePanel: \"Toa\",\n showDetails: \"Onyesha Maelezo\",\n hideDetails: \"Ficha Maelezo\",\n choices_Item: \"kitu\",\n matrix_column: \"Kolamu\",\n matrix_row: \"Safu\",\n multipletext_itemname: \"Ujumbe\",\n savingData: \"Matokeo yamehifadhiwa kwa seva...\",\n savingDataError: \"Kosa limetokea na hatukuweza kuhifadhi matokeo.\",\n savingDataSuccess: \"Matokeo yamehifadhiwa!\",\n saveAgainButton: \"Jaribu tena\",\n timerMin: \"dakika\",\n timerSec: \"sekunde\",\n timerSpentAll: \"Umetumia {0} kwenye ukurasa huu na {1} kwa jumla.\",\n timerSpentPage: \"Umetumia {0} kwenye ukurasa huu.\",\n timerSpentSurvey: \"Umetumia {0} kwa jumla.\",\n timerLimitAll: \"Umetumia {0} ya {1} kwenye ukurasa huu {2} wa {3} kwa jumla.\",\n timerLimitPage: \"Umetumia {0} ya {1} kwenye ukurasa huu.\",\n timerLimitSurvey: \"Umetumia {0} ya {1} kwa jumla.\",\n clearCaption: \"Ondoa\",\n signaturePlaceHolder: \"Ingia hapa\",\n chooseFileCaption: \"Chagua faili\",\n takePhotoCaption: \"Chukua Picha\",\n photoPlaceholder: \"Bonyeza kitufe hapa chini ili kupiga picha kwa kutumia kamera.\",\n fileOrPhotoPlaceholder: \"Drag na kuacha au kuchagua faili kupakia au kuchukua picha kwa kutumia kamera.\",\n replaceFileCaption: \"Badilisha faili\",\n removeFileCaption: \"Ondoa faili\",\n booleanCheckedLabel: \"Ndio\",\n booleanUncheckedLabel: \"Hapana\",\n confirmRemoveFile: \"Je! Una uhakika kuwa unataka kuondoa faili hii: {0}?\",\n confirmRemoveAllFiles: \"Je! Una uhakika kuwa unataka kuondoa faili zote?\",\n questionTitlePatternText: \"Kichwa cha Swali\",\n modalCancelButtonText: \"Katisha\",\n modalApplyButtonText: \"Tekeleza\",\n filterStringPlaceholder: \"Andika ili kutafuta...\",\n emptyMessage: \"Hakuna data ya kuonyesha\",\n noEntriesText: \"Hakuna maingizo kwa sasa.\\nBofya kitufe hapa chini ili kuongeza ingizo jipya.\",\n noEntriesReadonlyText: \"Hakuna viingilio.\",\n more: \"Zaidi\",\n tagboxDoneButtonCaption: \"Sawa kabisa\",\n selectToRankEmptyRankedAreaText: \"Chaguzi zote zimeorodheshwa\",\n selectToRankEmptyUnrankedAreaText: \"Buruta na uache uchaguzi hapa ili kuziorodhesha\",\n ok: \"Sawa kabisa\",\n cancel: \"Katisha\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"sw\"] = swahiliStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"sw\"] = \"swahili\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} ya {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Teua...\"\n// minError: \"The value should not be less than {0}\" => \"Thamani haipaswi kuwa chini ya {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Thamani haipaswi kuwa kubwa kuliko {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Buruta na udondoshe faili hapa au bofya kitufe hapa chini na uchague faili ya kupakia.\"\n// emptyRowsText: \"There are no rows.\" => \"Hakuna safu.\"\n// multipletext_itemname: \"text\" => \"Ujumbe\"\n// signaturePlaceHolder: \"Sign here\" => \"Ingia hapa\"\n// modalCancelButtonText: \"Cancel\" => \"Katisha\"\n// modalApplyButtonText: \"Apply\" => \"Tekeleza\"\n// filterStringPlaceholder: \"Type to search...\" => \"Andika ili kutafuta...\"\n// emptyMessage: \"No data to display\" => \"Hakuna data ya kuonyesha\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Hakuna maingizo kwa sasa.\\nBofya kitufe hapa chini ili kuongeza ingizo jipya.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Hakuna viingilio.\"\n// more: \"More\" => \"Zaidi\"\n// tagboxDoneButtonCaption: \"OK\" => \"Sawa kabisa\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Chaguzi zote zimeorodheshwa\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Buruta na uache uchaguzi hapa ili kuziorodhesha\"// takePhotoCaption: \"Take Photo\" => \"Chukua Picha\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Bonyeza kitufe hapa chini ili kupiga picha kwa kutumia kamera.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Drag na kuacha au kuchagua faili kupakia au kuchukua picha kwa kutumia kamera.\"\n// replaceFileCaption: \"Replace file\" => \"Badilisha faili\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Kila safu lazima iwe na thamani ya kipekee.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Faili haziwezi kupakiwa. Tafadhali ongeza kishiko kwa tukio la 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Onyesha Maelezo\"\n// hideDetails: \"Hide Details\" => \"Ficha Maelezo\"\n// ok: \"OK\" => \"Sawa kabisa\"\n// cancel: \"Cancel\" => \"Katisha\"\n// refuseItemText: \"Refuse to answer\" => \"Kukataa kujibu\"\n// dontKnowItemText: \"Don't know\" => \"Sijui\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/swedish.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/swedish.ts ***!\n \\*************************************/\n/*! exports provided: swedishSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"swedishSurveyStrings\", function() { return swedishSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar swedishSurveyStrings = {\n pagePrevText: \"Föregående\",\n pageNextText: \"Nästa\",\n completeText: \"Slutför\",\n previewText: \"Förhandsvisning\",\n editText: \"Redigera\",\n startSurveyText: \"Börja\",\n otherItemText: \"Annat (beskriv)\",\n noneItemText: \"Ingen\",\n refuseItemText: \"Vägra svara\",\n dontKnowItemText: \"Vet inte\",\n selectAllItemText: \"Välj alla\",\n progressText: \"Sida {0} av {1}\",\n indexText: \"{0} av {1}\",\n panelDynamicProgressText: \"{0} av {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"{0} / {1} frågor besvarade\",\n emptySurvey: \"Det finns ingen synlig sida eller fråga i enkäten.\",\n completingSurvey: \"Tack för att du genomfört enkäten!!\",\n completingSurveyBefore: \"Våra register visar att du redan har slutfört denna undersökning.\",\n loadingSurvey: \"Enkäten laddas...\",\n placeholder: \"Välj...\",\n ratingOptionsCaption: \"Tryck här för att betygsätta...\",\n value: \"värde\",\n requiredError: \"Frågan är obligatorisk.\",\n requiredErrorInPanel: \"Vänligen svara på minst en fråga.\",\n requiredInAllRowsError: \"Var vänlig besvara frågorna på alla rader.\",\n eachRowUniqueError: \"Varje rad måste ha ett unikt värde.\",\n numericError: \"Värdet ska vara numeriskt.\",\n minError: \"Värdet får inte vara mindre än {0}\",\n maxError: \"Värdet får inte vara större än {0}\",\n textMinLength: \"Ange minst {0} tecken.\",\n textMaxLength: \"Ange färre än {0} tecken.\",\n textMinMaxLength: \"Ange mer än {0} och färre än {1} tecken.\",\n minRowCountError: \"Var vänlig fyll i minst {0} rader.\",\n minSelectError: \"Var vänlig välj åtminstone {0} varianter.\",\n maxSelectError: \"Var vänlig välj inte fler än {0} varianter.\",\n numericMinMax: \"'{0}' ska vara lika med eller mer än {1} samt lika med eller mindre än {2}\",\n numericMin: \"'{0}' ska vara lika med eller mer än {1}\",\n numericMax: \"'{0}' ska vara lika med eller mindre än {1}\",\n invalidEmail: \"Var vänlig ange en korrekt e-postadress.\",\n invalidExpression: \"Uttrycket: {0} ska returnera 'true'.\",\n urlRequestError: \"Förfrågan returnerade felet '{0}'. {1}\",\n urlGetChoicesError: \"Antingen returnerade förfrågan ingen data eller så är egenskapen 'path' inte korrekt\",\n exceedMaxSize: \"Filstorleken får ej överstiga {0}.\",\n noUploadFilesHandler: \"Filer kan inte laddas upp. Lägg till en hanterare för händelsen 'onUploadFiles'.\",\n otherRequiredError: \"Var vänlig ange det andra värdet.\",\n uploadingFile: \"Din fil laddas upp. Var vänlig vänta några sekunder och försök sedan igen.\",\n loadingFile: \"Laddar...\",\n chooseFile: \"Välj fil(er) ...\",\n noFileChosen: \"Ingen fil vald\",\n filePlaceholder: \"Dra och släpp en fil här eller klicka på knappen nedan och välj en fil att ladda upp.\",\n confirmDelete: \"Vill du radera posten?\",\n keyDuplicationError: \"Detta värde ska vara unikt.\",\n addColumn: \"Lägg till kolumn\",\n addRow: \"Lägg till rad\",\n removeRow: \"Ta bort\",\n emptyRowsText: \"Det finns inga rader.\",\n addPanel: \"Lägg till ny\",\n removePanel: \"Ta bort\",\n showDetails: \"Detaljer\",\n hideDetails: \"Göm detaljer\",\n choices_Item: \"Artikel\",\n matrix_column: \"Kolumn\",\n matrix_row: \"Rad\",\n multipletext_itemname: \"text\",\n savingData: \"Resultaten sparas på servern ...\",\n savingDataError: \"Ett fel inträffade och vi kunde inte spara resultaten.\",\n savingDataSuccess: \"Resultaten lyckades sparas!\",\n saveAgainButton: \"Försök igen\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Du har spenderat {0} på den här sidan och {1} totalt.\",\n timerSpentPage: \"Du har spenderat {0} på den här sidan.\",\n timerSpentSurvey: \"Du har spenderat {0} totalt.\",\n timerLimitAll: \"Du har spenderat {0} av {1} på den här sidan och {2} av {3} totalt.\",\n timerLimitPage: \"Du har spenderat {0} av {1} på den här sidan.\",\n timerLimitSurvey: \"Du har spenderat {0} av {1} totalt.\",\n clearCaption: \"Klar\",\n signaturePlaceHolder: \"Signera här\",\n chooseFileCaption: \"Välj fil\",\n takePhotoCaption: \"Ta foto\",\n photoPlaceholder: \"Klicka på knappen nedan för att ta ett foto med kameran.\",\n fileOrPhotoPlaceholder: \"Dra och släpp eller välj en fil att ladda upp eller ta ett foto med kameran.\",\n replaceFileCaption: \"Ersätt fil\",\n removeFileCaption: \"Ta bort den här filen\",\n booleanCheckedLabel: \"Ja\",\n booleanUncheckedLabel: \"Nej\",\n confirmRemoveFile: \"Är du säker på att du vill ta bort den här filen: {0}?\",\n confirmRemoveAllFiles: \"Är du säker på att du vill ta bort alla filer?\",\n questionTitlePatternText: \"Frågetitel\",\n modalCancelButtonText: \"Avbryt\",\n modalApplyButtonText: \"Spara\",\n filterStringPlaceholder: \"Skriv för att söka...\",\n emptyMessage: \"Ingen data finns\",\n noEntriesText: \"Det finns inga värden än.\\nKlicka på knappen nedan för att lägga till nytt värde.\",\n noEntriesReadonlyText: \"Det finns inga poster.\",\n more: \"Mer\",\n tagboxDoneButtonCaption: \"OKEJ\",\n selectToRankEmptyRankedAreaText: \"Alla val rangordnas\",\n selectToRankEmptyUnrankedAreaText: \"Dra och släpp val här för att rangordna dem\",\n ok: \"OKEJ\",\n cancel: \"Annullera\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"sv\"] = swedishSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"sv\"] = \"svenska\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Dra och släpp en fil här eller klicka på knappen nedan och välj en fil att ladda upp.\"\n// emptyRowsText: \"There are no rows.\" => \"Det finns inga rader.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Det finns inga poster.\"\n// tagboxDoneButtonCaption: \"OK\" => \"OKEJ\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Alla val rangordnas\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Dra och släpp val här för att rangordna dem\"// takePhotoCaption: \"Take Photo\" => \"Ta foto\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Klicka på knappen nedan för att ta ett foto med kameran.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Dra och släpp eller välj en fil att ladda upp eller ta ett foto med kameran.\"\n// replaceFileCaption: \"Replace file\" => \"Ersätt fil\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Varje rad måste ha ett unikt värde.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Filer kan inte laddas upp. Lägg till en hanterare för händelsen 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Detaljer\"\n// hideDetails: \"Hide Details\" => \"Göm detaljer\"\n// ok: \"OK\" => \"OKEJ\"\n// cancel: \"Cancel\" => \"Annullera\"\n// refuseItemText: \"Refuse to answer\" => \"Vägra svara\"\n// dontKnowItemText: \"Don't know\" => \"Vet inte\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/tajik.ts\":\n/*!***********************************!*\\\n !*** ./src/localization/tajik.ts ***!\n \\***********************************/\n/*! exports provided: tajikSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tajikSurveyStrings\", function() { return tajikSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n// This dictionary contains 25 untranslated or inherited localization strings.\n// These strings are commented out. Uncomment and edit them if you want to add your translations.\n\nvar tajikSurveyStrings = {\n pagePrevText: \"Бозгашт\",\n pageNextText: \"Оянда\",\n completeText: \"Иҷро шуд\",\n // previewText: \"Preview\",\n // editText: \"Edit\",\n startSurveyText: \"Оғоз\",\n otherItemText: \"Дигар (лутфан тавсиф кунед)\",\n noneItemText: \"Не\",\n selectAllItemText: \"Ҳамаро интихоб кардан\",\n progressText: \"Саҳифаи {0} аз {1}\",\n // indexText: \"{0} of {1}\",\n // panelDynamicProgressText: \"{0} of {1}\",\n // questionsProgressText: \"Answered {0}/{1} questions\",\n emptySurvey: \"Ягон савол вуҷуд надорад.\",\n completingSurvey: \"Ташаккур барои пур кардани саволнома!\",\n completingSurveyBefore: \"Шумо аллакай ин пурсишро анҷом додаед.\",\n loadingSurvey: \"Боргирӣ аз сервер...\",\n placeholder: \"Интихоб кардан...\",\n // ratingOptionsCaption: \"Select...\",\n value: \"қиммат\",\n requiredError: \"Илтимос, ба савол ҷавоб диҳед.\",\n requiredErrorInPanel: \"Илтимос, ақалан ба як савол ҷавоб диҳед.\",\n requiredInAllRowsError: \"Илтимос, ба ҳамаи саволҳо дар ҳамаи сатрҳо ҷавоб диҳед.\",\n numericError: \"Ҷавоб бояд рақам бошад.\",\n // minError: \"The value should not be less than {0}\",\n // maxError: \"The value should not be greater than {0}\",\n textMinLength: \"Илтимос, аз {0} зиёдтар рамз ворид кунед.\",\n textMaxLength: \"Илтимос, аз {0} камтар рамз ворид кунед.\",\n textMinMaxLength: \"Илтимос, аз {0} зиёдтар ва аз {1} камтар рамз ворид кунед.\",\n minRowCountError: \"Илтимос, на камтар аз {0} сатр пур кунед.\",\n minSelectError: \"Илтимос, ақалан {0} вариант интихоб кунед.\",\n maxSelectError: \"Илтимос, на зиёдтар аз {0} вариант интихоб кунед.\",\n numericMinMax: \"'{0}' бояд на кам аз {1} ва на бисёр аз {2} бошад\",\n numericMin: \"'{0}' бояд на кам аз {1} бошад\",\n numericMax: \"'{0}' бояд на зиёд аз {1} бошад\",\n invalidEmail: \"Илтимос, почтаи электронии воқеиро ворид кунед.\",\n invalidExpression: \"Ифодаи {0} бояд 'true' баргардонад.\",\n urlRequestError: \"Дархост хатогӣ бозгардонд '{0}'. {1}\",\n urlGetChoicesError: \"Ҷавоб ба дархост холӣ омад ё хосияти 'path' нодуруст муайян карда шудааст\",\n exceedMaxSize: \"Андозаи файл бояд на калон аз {0} бошад.\",\n otherRequiredError: \"Илтимос, ба майдони 'Дигар' додаҳоро ворид кунед\",\n uploadingFile: \"Файли шумо бор шуда истодааст. Якчанд сония интизор шавед ва бори дигар кӯшиш кунед.\",\n loadingFile: \"Боркунӣ...\",\n chooseFile: \"Файл(ҳо)-ро интихоб кунед...\",\n // noFileChosen: \"No file chosen\",\n // filePlaceholder: \"Drop a file here or click the button below to load the file.\",\n confirmDelete: \"Шумо мутмаин ҳастед, ки мехоҳед воридро тоза кунед?\",\n keyDuplicationError: \"Ин арзиш бояд беназир бошад.\",\n addColumn: \"Иловаи сутун\",\n addRow: \"Иловаи сатр\",\n removeRow: \"Нест кардан\",\n // emptyRowsText: \"There are no rows.\",\n addPanel: \"Илова кардан\",\n removePanel: \"Нест кардан\",\n choices_Item: \"Вариант\",\n matrix_column: \"Сутун\",\n matrix_row: \"Сатр\",\n // multipletext_itemname: \"text\",\n savingData: \"Натиҷа ба сервер сабт шуда истодаанд...\",\n savingDataError: \"Хатогӣ ба амал омад, натиҷа сабт нашуд.\",\n savingDataSuccess: \"Натиҷа бомуваффакият сабт шуд!\",\n saveAgainButton: \"Бори дигар кӯшиш карданд\",\n timerMin: \"дақ\",\n timerSec: \"сон\",\n timerSpentAll: \"Шумо {0} дар ин саҳифа ва {1} дар умум сарф кардед.\",\n timerSpentPage: \"Шумо {0} дар ин саҳифа сарф кардед.\",\n timerSpentSurvey: \"Шумо {0} дар ин тест сарф намудед.\",\n timerLimitAll: \"Шумо {0} аз {1} дар ин саҳифа ва {2} аз {3} дар умум сарф кардед дар дохили ин тест.\",\n timerLimitPage: \"Шумо {0} аз {1} дар ин саҳифа сарф кардед.\",\n timerLimitSurvey: \"Шумо {0} аз {1} дар ҳамаи тест сарф кардед.\",\n clearCaption: \"Тоза кардан\",\n // signaturePlaceHolder: \"Sign here\",\n // chooseFileCaption: \"Choose file\",\n removeFileCaption: \"Файлро нест кардан\",\n // booleanCheckedLabel: \"Yes\",\n // booleanUncheckedLabel: \"No\",\n // confirmRemoveFile: \"Are you sure that you want to remove this file: {0}?\",\n // confirmRemoveAllFiles: \"Are you sure that you want to remove all files?\",\n // questionTitlePatternText: \"Question Title\",\n // modalCancelButtonText: \"Cancel\",\n // modalApplyButtonText: \"Apply\",\n // filterStringPlaceholder: \"Type to search...\",\n // emptyMessage: \"No data to display\",\n // noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\",\n // more: \"More\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"tg\"] = tajikSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"tg\"] = \"тоҷикӣ\";\n\n\n/***/ }),\n\n/***/ \"./src/localization/telugu.ts\":\n/*!************************************!*\\\n !*** ./src/localization/telugu.ts ***!\n \\************************************/\n/*! exports provided: teluguStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"teluguStrings\", function() { return teluguStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar teluguStrings = {\n pagePrevText: \"వెనకటి\",\n pageNextText: \"తరువాయ\",\n completeText: \"పూర్తి చేయండి\",\n previewText: \"ముందుగా వీక్షించు\",\n editText: \"మార్పులు చెయ్యి\",\n startSurveyText: \"ప్రారంభించు\",\n otherItemText: \"ఇతరమైన(వివరించండి)\",\n noneItemText: \"ఎవరు కాదు\",\n refuseItemText: \"సమాధానం ఇవ్వడానికి నిరాకరించండి\",\n dontKnowItemText: \"తెలియదు\",\n selectAllItemText: \"అన్ని ఎంచుకో\",\n progressText: \"పేజీ{0}/{1}\",\n indexText: \"{1} {0}[మార్చు]\",\n panelDynamicProgressText: \"దాఖలాలు{0}/{1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"{0}/{1} ప్రశ్నలకు జవాబు ఇవ్వడం అయినది\",\n emptySurvey: \"ఈ సర్వేలో పేజీలు గాని ప్రశ్నలు గాని కనబడుట లేదు\",\n completingSurvey: \"సర్వేను ముగించి నందుకు ధన్యవాదములు\",\n completingSurveyBefore: \" మీరు ఇప్పటికే సర్వేను ముగించినట్లు మా రికార్డులు చూపిస్తున్నాయి\",\n loadingSurvey: \"సర్వే లోడ్ అవుతుంది\",\n placeholder: \"ఎన్నుకోండి\",\n ratingOptionsCaption: \"ఎంచు...\",\n value: \"విలువ\",\n requiredError: \"దయచేసి ప్రశ్నకు జవాబు ఇవ్వండి\",\n requiredErrorInPanel: \"దయచేసి కనీసం ఒక్క ప్రశ్నకైనా జవాబు ఇవ్వండి\",\n requiredInAllRowsError: \"దయచేసి అన్ని వరుసలలో ఉన్న ప్రశ్నలకు జవాబు ఇవ్వండి\",\n eachRowUniqueError: \"ప్రతి వరుసకు ఒక ప్రత్యేకమైన విలువ ఉండాలి.\",\n numericError: \"విలువను సంఖ్యలలో తెలియజేయండి\",\n minError: \"విలువ {0} కంటే తక్కువగా ఉండకూడదు.\",\n maxError: \"విలువ {0} కంటే ఎక్కువ ఉండకూడదు.\",\n textMinLength: \"దయచేసి కనీసం {0} అక్షరాలను నమోదు చేయండి\",\n textMaxLength: \"దయచేసి {0} కన్నా తక్కువ అక్షరాలను నమోదు చేయండి\",\n textMinMaxLength: \"దయచేసి {0} కన్నా ఎక్కువ మరియు{1} కన్నా తక్కువ అక్షరాలను నమోదు చేయండి\",\n minRowCountError: \"దయచేసి కనీసం {0}వరుసలను పూరించండి\",\n minSelectError: \"దయచేసి కనీసం{0} రకాలను ఎన్నుకోండి\",\n maxSelectError: \"దయచేసి {0} కన్నా ఎక్కువ రకాలను ఎన్నుకో కండి\",\n numericMinMax: \"'{0}' {1}తొ సమానంగా లేదా {1} కన్నా ఎక్కువ గా మరియు {2}కన్నా తక్కువ ఉండాలి లెదా {2}తొ సమానంగా ఉండాలి\",\n numericMin: \"''{0}' {1}తొ సమానంగా లేదా {1}కన్నా ఎక్కువగా ఉండాలి\",\n numericMax: \"'{0}' {1} తక్కువ లేదా సమానంగా ఉండాలి\",\n invalidEmail: \"దయచేసి సరైన ఈమెయిల్ నమోదు చేయండి\",\n invalidExpression: \"{0} 'నిజం' అని తిరిగివ్వాలి\",\n urlRequestError: \"విన్నపము {0} ని తప్పుగా గుర్తించింది {1}\",\n urlGetChoicesError: \"విన్నపము ఖాళీ డేటాని తిరిగిచ్చింది, లేదా path తప్పైన ది\",\n exceedMaxSize: \"ఫైల్ పరిమాణం{0} కంటే పెద్దదిగా ఉండకూడదు\",\n noUploadFilesHandler: \"ఫైళ్లను అప్ లోడ్ చేయలేం. దయచేసి 'ఆన్ అప్ లోడ్ ఫైల్స్' ఈవెంట్ కొరకు ఒక హ్యాండ్లర్ ని జోడించండి.\",\n otherRequiredError: \"దయచేసి ఇతర విలువలను నమో దించండి\",\n uploadingFile: \"మీ ఫైల్ అప్లోడ్ అవుతున్నది దయచేసి కొన్ని సెకండ్లు వేచి ఉండండి మరియు మళ్లీ ప్రయత్నించండి\",\n loadingFile: \"లోడ్ అవుతున్నది\",\n chooseFile: \"ఫైళ్లను ఎన్నుకోండి\",\n noFileChosen: \"ఏ ఫైల్ ఎన్నుకో లేదు\",\n filePlaceholder: \"ఇక్కడ ఒక ఫైల్ ను డ్రాగ్ చేసి డ్రాప్ చేయండి లేదా దిగువ బటన్ క్లిక్ చేయండి మరియు అప్ లోడ్ చేయడానికి ఫైల్ ఎంచుకోండి.\",\n confirmDelete: \"మీరు రికార్డులను తొలగించాలని అనుకుంటున్నారా\",\n keyDuplicationError: \"విలువ ప్రత్యేకంగా ఉండాలి\",\n addColumn: \"కాలం చేర్పించండి\",\n addRow: \"వరుసలు చేర్పించండి\",\n removeRow: \"తీసేయండి\",\n emptyRowsText: \"వరుసలు లేవు.\",\n addPanel: \"కొత్త దాన్ని చేర్పించండి\",\n removePanel: \"తీసేయండి\",\n showDetails: \"వివరాలు చూపించు\",\n hideDetails: \"వివరాలను దాచండి\",\n choices_Item: \"వస్తువులు\",\n matrix_column: \"కాలం \",\n matrix_row: \"వరుస\",\n multipletext_itemname: \"వచనం\",\n savingData: \"ఫలితాంశాలు సర్వర్లో సేవ్ అవుతున్నాయి\",\n savingDataError: \"ఒక లోపము సంభవించినది అందుకని ఫలితాంశాలను సేవ్ చేయలేకపోయాము \",\n savingDataSuccess: \"ఫలితాంశాలను విజయవంతంగా సేవ్ చేసాము\",\n saveAgainButton: \"మళ్లీ ప్రయత్నించు\",\n timerMin: \"నిమిషాలు \",\n timerSec: \"సెకండ్లు\",\n timerSpentAll: \"ఈ పేజీ పైన మీరు{0} ఉపయోగించారు మొత్తంగా {1} ఉపయోగించారు\",\n timerSpentPage: \"ఈ పేజీ పైన మీరు{0} ఉపయోగించారు\",\n timerSpentSurvey: \"మీరు మొత్తంగా {0} ఉపయోగించారు\",\n timerLimitAll: \"ఈ పేజీ పైన మీరు {1}లో {0} భాగాన్ని ఉపయోగించారు. మోతంగా {3}లో {2} భాగాన్ని ఉపయోగించారు.\",\n timerLimitPage: \"ఈ పేజీలో మీరు {1}లోని{0} ని ఉపయోగించారు\",\n timerLimitSurvey: \" మొత్తంగా మీరు {1} లో {0} ని ఉపయోగించారు \",\n clearCaption: \"స్పష్టమ్\",\n signaturePlaceHolder: \"ఇక్కడ సంతకం చేయండి\",\n chooseFileCaption: \"ఫైల్ ఎంచుకోండి\",\n takePhotoCaption: \"ఫోటో తీసుకోండి\",\n photoPlaceholder: \"కెమెరాను ఉపయోగించి ఫోటో తీయడానికి దిగువ బటన్ మీద క్లిక్ చేయండి.\",\n fileOrPhotoPlaceholder: \"కెమెరాను ఉపయోగించి ఫోటోను అప్ లోడ్ చేయడానికి లేదా తీయడానికి ఫైల్ ను డ్రాగ్ మరియు డ్రాప్ చేయండి లేదా ఎంచుకోండి.\",\n replaceFileCaption: \"ఫైలు మార్చండి\",\n removeFileCaption: \"ఈ ఫైల్ తీసేయండి\",\n booleanCheckedLabel: \"అవును\",\n booleanUncheckedLabel: \"లేదు\",\n confirmRemoveFile: \" ఈ ఫైల్ని తీయించాలని మీరు ఖచ్చితంగా అనుకుంటున్నారా:{0} ?\",\n confirmRemoveAllFiles: \"అన్ని ఫైళ్లను తీసేయాలని మీరు ఖచ్చితంగా అనుకుంటున్నారా\",\n questionTitlePatternText: \"ప్రశ్న శీర్షిక\",\n modalCancelButtonText: \"రద్దు\",\n modalApplyButtonText: \"సరిపడు\",\n filterStringPlaceholder: \"శోధించడానికి టైప్ చేయండి...\",\n emptyMessage: \"డిస్ ప్లే చేయడానికి డేటా లేదు\",\n noEntriesText: \"ఇంకా ఎలాంటి ఎంట్రీలు లేవు.\\nకొత్త ఎంట్రీని జోడించడం కొరకు దిగువ బటన్ మీద క్లిక్ చేయండి.\",\n noEntriesReadonlyText: \"ఎలాంటి ఎంట్రీలు లేవు.\",\n more: \"ఎక్కువ\",\n tagboxDoneButtonCaption: \"సరే\",\n selectToRankEmptyRankedAreaText: \"అన్ని ఎంపికలు ర్యాంక్ చేయబడతాయి\",\n selectToRankEmptyUnrankedAreaText: \"వాటిని ర్యాంక్ చేయడం కొరకు ఎంపికలను ఇక్కడ డ్రాగ్ మరియు డ్రాప్ చేయండి\",\n ok: \"సరే\",\n cancel: \"రద్దు\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"tel\"] = teluguStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"tel\"] = \"Telugu\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// noneItemText: \"None\" => \"ఎవరు కాదు\"\n// indexText: \"{0} of {1}\" => \"{1} {0}[మార్చు]\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"ఎంచు...\"\n// minError: \"The value should not be less than {0}\" => \"విలువ {0} కంటే తక్కువగా ఉండకూడదు.\"\n// maxError: \"The value should not be greater than {0}\" => \"విలువ {0} కంటే ఎక్కువ ఉండకూడదు.\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"ఇక్కడ ఒక ఫైల్ ను డ్రాగ్ చేసి డ్రాప్ చేయండి లేదా దిగువ బటన్ క్లిక్ చేయండి మరియు అప్ లోడ్ చేయడానికి ఫైల్ ఎంచుకోండి.\"\n// emptyRowsText: \"There are no rows.\" => \"వరుసలు లేవు.\"\n// multipletext_itemname: \"text\" => \"వచనం\"\n// signaturePlaceHolder: \"Sign here\" => \"ఇక్కడ సంతకం చేయండి\"\n// modalCancelButtonText: \"Cancel\" => \"రద్దు\"\n// modalApplyButtonText: \"Apply\" => \"సరిపడు\"\n// filterStringPlaceholder: \"Type to search...\" => \"శోధించడానికి టైప్ చేయండి...\"\n// emptyMessage: \"No data to display\" => \"డిస్ ప్లే చేయడానికి డేటా లేదు\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"ఇంకా ఎలాంటి ఎంట్రీలు లేవు.\\nకొత్త ఎంట్రీని జోడించడం కొరకు దిగువ బటన్ మీద క్లిక్ చేయండి.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"ఎలాంటి ఎంట్రీలు లేవు.\"\n// more: \"More\" => \"ఎక్కువ\"\n// tagboxDoneButtonCaption: \"OK\" => \"సరే\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"అన్ని ఎంపికలు ర్యాంక్ చేయబడతాయి\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"వాటిని ర్యాంక్ చేయడం కొరకు ఎంపికలను ఇక్కడ డ్రాగ్ మరియు డ్రాప్ చేయండి\"// takePhotoCaption: \"Take Photo\" => \"ఫోటో తీసుకోండి\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"కెమెరాను ఉపయోగించి ఫోటో తీయడానికి దిగువ బటన్ మీద క్లిక్ చేయండి.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"కెమెరాను ఉపయోగించి ఫోటోను అప్ లోడ్ చేయడానికి లేదా తీయడానికి ఫైల్ ను డ్రాగ్ మరియు డ్రాప్ చేయండి లేదా ఎంచుకోండి.\"\n// replaceFileCaption: \"Replace file\" => \"ఫైలు మార్చండి\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"ప్రతి వరుసకు ఒక ప్రత్యేకమైన విలువ ఉండాలి.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"ఫైళ్లను అప్ లోడ్ చేయలేం. దయచేసి 'ఆన్ అప్ లోడ్ ఫైల్స్' ఈవెంట్ కొరకు ఒక హ్యాండ్లర్ ని జోడించండి.\"\n// showDetails: \"Show Details\" => \"వివరాలు చూపించు\"\n// hideDetails: \"Hide Details\" => \"వివరాలను దాచండి\"\n// ok: \"OK\" => \"సరే\"\n// cancel: \"Cancel\" => \"రద్దు\"// refuseItemText: \"Refuse to answer\" => \"సమాధానం ఇవ్వడానికి నిరాకరించండి\"\n// dontKnowItemText: \"Don't know\" => \"తెలియదు\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/thai.ts\":\n/*!**********************************!*\\\n !*** ./src/localization/thai.ts ***!\n \\**********************************/\n/*! exports provided: thaiStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"thaiStrings\", function() { return thaiStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar thaiStrings = {\n pagePrevText: \"ก่อนหน้า\",\n pageNextText: \"ถัดไป\",\n completeText: \"สำเร็จ\",\n previewText: \"ดูตัวอย่าง\",\n editText: \"แก้ไข\",\n startSurveyText: \"เริ่ม\",\n otherItemText: \"อื่นๆ (โปรดระบุ)\",\n noneItemText: \"ไม่มี\",\n refuseItemText: \"ปฏิเสธที่จะตอบ\",\n dontKnowItemText: \"ไม่ทราบ\",\n selectAllItemText: \"เลือกทั้งหมด\",\n progressText: \"หน้าที่ {0} จาก {1}\",\n indexText: \"{0} of {1}\",\n panelDynamicProgressText: \"รายการที่ {0} จาก {1}\",\n panelDynamicTabTextFormat: \"แผง {panelIndex}\",\n questionsProgressText: \"คำตอบที่ {0}/{1} จำนวนคำถาม\",\n emptySurvey: \"ไม่มีหน้าเพจที่มองเห็น หรือ คำถามใน survey นี้\",\n completingSurvey: \"ขอบคุณที่ทำ survey จนเสร็จ\",\n completingSurveyBefore: \"รายการของเราแสดงว่าคุณได้ทำ survey เสร็จเรียบร้อยแล้ว\",\n loadingSurvey: \"กำลังโหลด Survey...\",\n placeholder: \"เลือก...\",\n ratingOptionsCaption: \"เลือก \",\n value: \"ข้อมูล\",\n requiredError: \"กรุณาตอบคำถาม\",\n requiredErrorInPanel: \"กรุณาตอบขั้นต่ำหนึ่งคำถาม\",\n requiredInAllRowsError: \"กรุณาตอบคำถามในทุกๆแถว\",\n eachRowUniqueError: \"แต่ละแถวต้องมีค่าที่ไม่ซ้ํากัน\",\n numericError: \"ข้อมูลที่ใส่ต้องเป็นตัวเลข\",\n minError: \"ค่าไม่ควรน้อยกว่า {0}\",\n maxError: \"ค่าไม่ควรเกิน{0}\",\n textMinLength: \"กรุณาใส่ขั้นต่ำจำนวน {0} ตัวอักษร\",\n textMaxLength: \"กรุณาใส่ไม่เกินจำนวน {0} ตัวอักษร\",\n textMinMaxLength: \"กรุณาใส่ขั้นต่ำจำนวน {0} และไม่เกินจำนวน {1} ตัวอักษร\",\n minRowCountError: \"กรุณาใส่ขั้นต่ำจำนวน {0} แถว\",\n minSelectError: \"กรุณาเลือกอย่างน้อย {0} รายการ\",\n maxSelectError: \"กรุณาเลือกไม่เกิน {0} รายการ\",\n numericMinMax: \"'{0}' ต้องมากกว่าหรือเท่ากับ {1} และน้อยกว่าหรือเท่ากับ {2}\",\n numericMin: \"'{0}' ต้องมากกว่าหรือเท่ากับ {1}\",\n numericMax: \"'{0}' น้อยกว่าหรือเท่ากับ {1}\",\n invalidEmail: \"กรุณาใส่อีเมล์แอดเดรสที่ถูกต้อง\",\n invalidExpression: \"The expression: {0} ต้องรีเทิร์น 'true'.\",\n urlRequestError: \"รีเควสรีเทิร์น error '{0}'. {1}\",\n urlGetChoicesError: \"รีเควสรีเทิร์นข้อมูลว่างเปล่า หรือ 'path' property ไม่ถูกต้อง\",\n exceedMaxSize: \"ขนาดไฟล์ต้องไม่เกิน {0}.\",\n noUploadFilesHandler: \"ไม่สามารถอัปโหลดไฟล์ได้ โปรดเพิ่มตัวจัดการสําหรับเหตุการณ์ 'onUploadFiles'\",\n otherRequiredError: \"กรุณาใส่ค่าอื่น\",\n uploadingFile: \"ไฟล์ของคุณกำลังอัพโหลดอยู่. กรุณารอสักครู่แล้วทำการลองอีกครั้ง\",\n loadingFile: \"กำลังโหลด...\",\n chooseFile: \"เลือกไฟล์...\",\n noFileChosen: \"ไม่ไฟล์ที่เลือก\",\n filePlaceholder: \"ลากและวางไฟล์ที่นี่หรือคลิกปุ่มด้านล่างและเลือกไฟล์ที่จะอัปโหลด\",\n confirmDelete: \"คุณต้องการลบรายการนี้จริงหรือไม่?\",\n keyDuplicationError: \"ข้อมูลนี้ต้องเป็น unique.\",\n addColumn: \"เพิ่มคอลัมน์\",\n addRow: \"เพิ่มแถว\",\n removeRow: \"ลบ\",\n emptyRowsText: \"ไม่มีแถว\",\n addPanel: \"เพิ่ม\",\n removePanel: \"ลบ\",\n showDetails: \"แสดงรายละเอียด\",\n hideDetails: \"ซ่อนรายละเอียด\",\n choices_Item: \"ชิ้น\",\n matrix_column: \"คอลัมน์\",\n matrix_row: \"แถว\",\n multipletext_itemname: \"ข้อความ\",\n savingData: \"ผลลัพท์กำลังบันทึกลงที่เซิร์ฟเวอร์...\",\n savingDataError: \"มีความผิดพลาดเกิดขึ้นส่งผลให้ไม่สามารถบันทึกผลได้\",\n savingDataSuccess: \"บันทึกสำเร็จแล้ว\",\n saveAgainButton: \"รบกวนลองอีกครั้ง\",\n timerMin: \"นาที\",\n timerSec: \"วินาที\",\n timerSpentAll: \"คุณใช้เวลา {0} บนหน้านี้และ {1} รวมทั้งหมด\",\n timerSpentPage: \"คุณใช้เวลา {0} บนหน้านี้\",\n timerSpentSurvey: \"คุณใช้เวลา {0} รวมทั้งหมด\",\n timerLimitAll: \"คุณใช้เวลา {0} ของ {1} บนหน้านี้และ {2} ของ {3} รวมทั้งหมด\",\n timerLimitPage: \"คุณใช้เวลา {0} ของ {1} บนหน้านี้\",\n timerLimitSurvey: \"คุณใช้เวลา {0} ของ {1} รวมทั้งหมด\",\n clearCaption: \"เคลียร์\",\n signaturePlaceHolder: \"ลงชื่อที่นี่\",\n chooseFileCaption: \"เลือกไฟล์\",\n takePhotoCaption: \"ถ่ายรูป\",\n photoPlaceholder: \"คลิกปุ่มด้านล่างเพื่อถ่ายภาพโดยใช้กล้อง\",\n fileOrPhotoPlaceholder: \"ลากและวางหรือเลือกไฟล์ที่จะอัปโหลดหรือถ่ายภาพโดยใช้กล้อง\",\n replaceFileCaption: \"แทนที่ไฟล์\",\n removeFileCaption: \"นำไฟล์นี้ออก\",\n booleanCheckedLabel: \"ใช่\",\n booleanUncheckedLabel: \"ไม่ใช่\",\n confirmRemoveFile: \"คุณแน่ใจที่จะนำไฟล์นี้ออกใช่หรือไม่: {0}?\",\n confirmRemoveAllFiles: \"คุณแน่ใจที่จะนำไฟล์ทั้งหมดออกใช่หรือไม่\",\n questionTitlePatternText: \"ชื่อคำถาม\",\n modalCancelButtonText: \"ยกเลิก\",\n modalApplyButtonText: \"ใช้\",\n filterStringPlaceholder: \"พิมพ์เพื่อค้นหา...\",\n emptyMessage: \"ไม่มีข้อมูลที่จะแสดง\",\n noEntriesText: \"ยังไม่มีรายการ\\nคลิกปุ่มด้านล่างเพื่อเพิ่มรายการใหม่\",\n noEntriesReadonlyText: \"ไม่มีรายการ\",\n more: \"อีก\",\n tagboxDoneButtonCaption: \"ตกลง, ได้\",\n selectToRankEmptyRankedAreaText: \"ตัวเลือกทั้งหมดจะถูกจัดอันดับ\",\n selectToRankEmptyUnrankedAreaText: \"ลากและวางตัวเลือกที่นี่เพื่อจัดอันดับ\",\n ok: \"ตกลง, ได้\",\n cancel: \"ยกเลิก\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"th\"] = thaiStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"th\"] = \"ไทย\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} of {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"แผง {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"เลือก \"\n// minError: \"The value should not be less than {0}\" => \"ค่าไม่ควรน้อยกว่า {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"ค่าไม่ควรเกิน{0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"ลากและวางไฟล์ที่นี่หรือคลิกปุ่มด้านล่างและเลือกไฟล์ที่จะอัปโหลด\"\n// emptyRowsText: \"There are no rows.\" => \"ไม่มีแถว\"\n// multipletext_itemname: \"text\" => \"ข้อความ\"\n// signaturePlaceHolder: \"Sign here\" => \"ลงชื่อที่นี่\"\n// modalCancelButtonText: \"Cancel\" => \"ยกเลิก\"\n// modalApplyButtonText: \"Apply\" => \"ใช้\"\n// filterStringPlaceholder: \"Type to search...\" => \"พิมพ์เพื่อค้นหา...\"\n// emptyMessage: \"No data to display\" => \"ไม่มีข้อมูลที่จะแสดง\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"ยังไม่มีรายการ\\nคลิกปุ่มด้านล่างเพื่อเพิ่มรายการใหม่\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"ไม่มีรายการ\"\n// more: \"More\" => \"อีก\"\n// tagboxDoneButtonCaption: \"OK\" => \"ตกลง, ได้\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"ตัวเลือกทั้งหมดจะถูกจัดอันดับ\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"ลากและวางตัวเลือกที่นี่เพื่อจัดอันดับ\"// takePhotoCaption: \"Take Photo\" => \"ถ่ายรูป\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"คลิกปุ่มด้านล่างเพื่อถ่ายภาพโดยใช้กล้อง\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"ลากและวางหรือเลือกไฟล์ที่จะอัปโหลดหรือถ่ายภาพโดยใช้กล้อง\"\n// replaceFileCaption: \"Replace file\" => \"แทนที่ไฟล์\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"แต่ละแถวต้องมีค่าที่ไม่ซ้ํากัน\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"ไม่สามารถอัปโหลดไฟล์ได้ โปรดเพิ่มตัวจัดการสําหรับเหตุการณ์ 'onUploadFiles'\"\n// showDetails: \"Show Details\" => \"แสดงรายละเอียด\"\n// hideDetails: \"Hide Details\" => \"ซ่อนรายละเอียด\"\n// ok: \"OK\" => \"ตกลง, ได้\"\n// cancel: \"Cancel\" => \"ยกเลิก\"// refuseItemText: \"Refuse to answer\" => \"ปฏิเสธที่จะตอบ\"\n// dontKnowItemText: \"Don't know\" => \"ไม่ทราบ\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/traditional-chinese.ts\":\n/*!*************************************************!*\\\n !*** ./src/localization/traditional-chinese.ts ***!\n \\*************************************************/\n/*! exports provided: traditionalChineseSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"traditionalChineseSurveyStrings\", function() { return traditionalChineseSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar traditionalChineseSurveyStrings = {\n pagePrevText: \"上一頁\",\n pageNextText: \"下一頁\",\n completeText: \"提交問卷\",\n previewText: \"預覽\",\n editText: \"編輯\",\n startSurveyText: \"開始\",\n otherItemText: \"填寫其他答案\",\n noneItemText: \"沒有\",\n refuseItemText: \"拒絕回答\",\n dontKnowItemText: \"不知道\",\n selectAllItemText: \"全選\",\n progressText: \"第 {0} 頁, 共 {1} 頁\",\n indexText: \"{1}{0}\",\n panelDynamicProgressText: \"{1}{0}\",\n panelDynamicTabTextFormat: \"面板 {面板索引}\",\n questionsProgressText: \"回答了{0}/{1}問題\",\n emptySurvey: \"問卷中沒有問題或頁面\",\n completingSurvey: \"感謝您的參與!\",\n completingSurveyBefore: \"我們的記錄顯示您已經完成了此調查。\",\n loadingSurvey: \"問卷載入中...\",\n placeholder: \"請選擇...\",\n ratingOptionsCaption: \"選擇。。。\",\n value: \"價值\",\n requiredError: \"請填寫此問題\",\n requiredErrorInPanel: \"需要回答:至少回答一個問題。\",\n requiredInAllRowsError: \"請填寫所有行中問題\",\n eachRowUniqueError: \"每行必須具有唯一值。\",\n numericError: \"答案必須是個數字\",\n minError: \"該值不應小於 {0}\",\n maxError: \"該值不應大於 {0}\",\n textMinLength: \"答案長度至少 {0} 個字元\",\n textMaxLength: \"答案長度不能超過 {0} 個字元\",\n textMinMaxLength: \"答案長度必須在 {0} - {1} 個字元之間\",\n minRowCountError: \"最少需要填寫 {0} 行答案\",\n minSelectError: \"最少需要選擇 {0} 項答案\",\n maxSelectError: \"最多只能選擇 {0} 項答案\",\n numericMinMax: \"答案 '{0}' 必須大於等於 {1} 且小於等於 {2}\",\n numericMin: \"答案 '{0}' 必須大於等於 {1}\",\n numericMax: \"答案 '{0}' 必須小於等於 {1}\",\n invalidEmail: \"請輸入有效的 Email 地址\",\n invalidExpression: \"表達式:{0}應返回「true」。\",\n urlRequestError: \"載入選項時發生錯誤 '{0}': {1}\",\n urlGetChoicesError: \"未能載入有效的選項或請求參數路徑有誤\",\n exceedMaxSize: \"文件大小不能超過 {0}\",\n noUploadFilesHandler: \"無法上傳檔。請為「onUploadFiles」事件添加處理程式。\",\n otherRequiredError: \"請完成其他問題\",\n uploadingFile: \"文件上傳中... 請耐心等待幾秒後重試\",\n loadingFile: \"裝載。。。\",\n chooseFile: \"選擇檔案...\",\n noFileChosen: \"未選擇任何檔\",\n filePlaceholder: \"將檔案拖放到此處或按下下面的按鈕並選擇要上傳的檔。\",\n confirmDelete: \"是否要刪除記錄?\",\n keyDuplicationError: \"此值應該是唯一的。\",\n addColumn: \"添加列\",\n addRow: \"添加答案\",\n removeRow: \"刪除答案\",\n emptyRowsText: \"沒有行。\",\n addPanel: \"新增\",\n removePanel: \"刪除\",\n showDetails: \"顯示詳細資訊\",\n hideDetails: \"隱藏詳細資訊\",\n choices_Item: \"選項\",\n matrix_column: \"列\",\n matrix_row: \"行\",\n multipletext_itemname: \"發簡訊\",\n savingData: \"正在將結果保存到服務器...\",\n savingDataError: \"在保存結果過程中發生了錯誤,結果未能保存\",\n savingDataSuccess: \"結果保存成功!\",\n saveAgainButton: \"請重試\",\n timerMin: \"最小\",\n timerSec: \"秒\",\n timerSpentAll: \"您在此頁面上花費了{0},總共{1}。\",\n timerSpentPage: \"您在此頁面上花費了{0}。\",\n timerSpentSurvey: \"你總共花了{0}。\",\n timerLimitAll: \"您在此頁面上花費了{0}{1},總共花費了{2}{3}。\",\n timerLimitPage: \"您在此頁面上花費了{0}{1}。\",\n timerLimitSurvey: \"您總共花費了{1}的{0}。\",\n clearCaption: \"清楚\",\n signaturePlaceHolder: \"在此簽名\",\n chooseFileCaption: \"選擇檔案\",\n takePhotoCaption: \"拍照\",\n photoPlaceholder: \"按下下面的按鈕使用相機拍照。\",\n fileOrPhotoPlaceholder: \"拖放或選擇要上傳的檔或使用相機拍攝照片。\",\n replaceFileCaption: \"替換檔\",\n removeFileCaption: \"刪除此檔\",\n booleanCheckedLabel: \"是的\",\n booleanUncheckedLabel: \"不\",\n confirmRemoveFile: \"是否確實要刪除此檔:{0}?\",\n confirmRemoveAllFiles: \"是否確實要刪除所有檔?\",\n questionTitlePatternText: \"問題標題\",\n modalCancelButtonText: \"取消\",\n modalApplyButtonText: \"應用\",\n filterStringPlaceholder: \"鍵入以搜尋...\",\n emptyMessage: \"沒有要顯示的數據\",\n noEntriesText: \"尚無條目。\\n按下下面的按鈕以添加新條目。\",\n noEntriesReadonlyText: \"沒有條目。\",\n more: \"更多\",\n tagboxDoneButtonCaption: \"還行\",\n selectToRankEmptyRankedAreaText: \"所有選擇均已排名\",\n selectToRankEmptyUnrankedAreaText: \"將選項拖放到此處進行排名\",\n ok: \"還行\",\n cancel: \"取消\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"zh-tw\"] = traditionalChineseSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"zh-tw\"] = \"繁體中文\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// previewText: \"Preview\" => \"預覽\"\n// editText: \"Edit\" => \"編輯\"\n// startSurveyText: \"Start\" => \"開始\"\n// noneItemText: \"None\" => \"沒有\"\n// selectAllItemText: \"Select All\" => \"全選\"\n// indexText: \"{0} of {1}\" => \"{1}{0}\"\n// panelDynamicProgressText: \"{0} of {1}\" => \"{1}{0}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"面板 {面板索引}\"\n// questionsProgressText: \"Answered {0}/{1} questions\" => \"回答了{0}/{1}問題\"\n// completingSurveyBefore: \"Our records show that you have already completed this survey.\" => \"我們的記錄顯示您已經完成了此調查。\"\n// ratingOptionsCaption: \"Select...\" => \"選擇。。。\"\n// value: \"value\" => \"價值\"\n// requiredErrorInPanel: \"Response required: answer at least one question.\" => \"需要回答:至少回答一個問題。\"\n// minError: \"The value should not be less than {0}\" => \"該值不應小於 {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"該值不應大於 {0}\"\n// invalidExpression: \"The expression: {0} should return 'true'.\" => \"表達式:{0}應返回「true」。\"\n// loadingFile: \"Loading...\" => \"裝載。。。\"\n// chooseFile: \"Choose file(s)...\" => \"選擇檔案...\"\n// noFileChosen: \"No file chosen\" => \"未選擇任何檔\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"將檔案拖放到此處或按下下面的按鈕並選擇要上傳的檔。\"\n// confirmDelete: \"Do you want to delete the record?\" => \"是否要刪除記錄?\"\n// keyDuplicationError: \"This value should be unique.\" => \"此值應該是唯一的。\"\n// addColumn: \"Add Column\" => \"添加列\"\n// emptyRowsText: \"There are no rows.\" => \"沒有行。\"\n// addPanel: \"Add new\" => \"新增\"\n// removePanel: \"Remove\" => \"刪除\"\n// multipletext_itemname: \"text\" => \"發簡訊\"\n// timerMin: \"min\" => \"最小\"\n// timerSec: \"sec\" => \"秒\"\n// timerSpentAll: \"You have spent {0} on this page and {1} in total.\" => \"您在此頁面上花費了{0},總共{1}。\"\n// timerSpentPage: \"You have spent {0} on this page.\" => \"您在此頁面上花費了{0}。\"\n// timerSpentSurvey: \"You have spent {0} in total.\" => \"你總共花了{0}。\"\n// timerLimitAll: \"You have spent {0} of {1} on this page and {2} of {3} in total.\" => \"您在此頁面上花費了{0}{1},總共花費了{2}{3}。\"\n// timerLimitPage: \"You have spent {0} of {1} on this page.\" => \"您在此頁面上花費了{0}{1}。\"\n// timerLimitSurvey: \"You have spent {0} of {1} in total.\" => \"您總共花費了{1}的{0}。\"\n// clearCaption: \"Clear\" => \"清楚\"\n// signaturePlaceHolder: \"Sign here\" => \"在此簽名\"\n// chooseFileCaption: \"Choose file\" => \"選擇檔案\"\n// removeFileCaption: \"Remove this file\" => \"刪除此檔\"\n// booleanCheckedLabel: \"Yes\" => \"是的\"\n// booleanUncheckedLabel: \"No\" => \"不\"\n// confirmRemoveFile: \"Are you sure that you want to remove this file: {0}?\" => \"是否確實要刪除此檔:{0}?\"\n// confirmRemoveAllFiles: \"Are you sure that you want to remove all files?\" => \"是否確實要刪除所有檔?\"\n// questionTitlePatternText: \"Question Title\" => \"問題標題\"\n// modalCancelButtonText: \"Cancel\" => \"取消\"\n// modalApplyButtonText: \"Apply\" => \"應用\"\n// filterStringPlaceholder: \"Type to search...\" => \"鍵入以搜尋...\"\n// emptyMessage: \"No data to display\" => \"沒有要顯示的數據\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"尚無條目。\\n按下下面的按鈕以添加新條目。\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"沒有條目。\"\n// more: \"More\" => \"更多\"\n// tagboxDoneButtonCaption: \"OK\" => \"還行\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"所有選擇均已排名\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"將選項拖放到此處進行排名\"// takePhotoCaption: \"Take Photo\" => \"拍照\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"按下下面的按鈕使用相機拍照。\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"拖放或選擇要上傳的檔或使用相機拍攝照片。\"\n// replaceFileCaption: \"Replace file\" => \"替換檔\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"每行必須具有唯一值。\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"無法上傳檔。請為「onUploadFiles」事件添加處理程式。\"\n// showDetails: \"Show Details\" => \"顯示詳細資訊\"\n// hideDetails: \"Hide Details\" => \"隱藏詳細資訊\"\n// ok: \"OK\" => \"還行\"\n// cancel: \"Cancel\" => \"取消\"// refuseItemText: \"Refuse to answer\" => \"拒絕回答\"\n// dontKnowItemText: \"Don't know\" => \"不知道\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/turkish.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/turkish.ts ***!\n \\*************************************/\n/*! exports provided: turkishSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"turkishSurveyStrings\", function() { return turkishSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar turkishSurveyStrings = {\n pagePrevText: \"Önceki\",\n pageNextText: \"Sonraki\",\n completeText: \"Tamamla\",\n previewText: \"Önizleme\",\n editText: \"Düzenle\",\n startSurveyText: \"Başlat\",\n otherItemText: \"Diğer (açıklayınız)\",\n noneItemText: \"Hiçbiri\",\n refuseItemText: \"Cevap vermeyi reddet\",\n dontKnowItemText: \"Bilmiyorum\",\n selectAllItemText: \"Tümünü Seç\",\n progressText: \"Sayfa {0}/{1}\",\n indexText: \"{0}/{1}\",\n panelDynamicProgressText: \"{0}/{1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"{0}/{1} soru yanıtlandı\",\n emptySurvey: \"Ankette görüntülenecek sayfa ya da soru mevcut değil.\",\n completingSurvey: \"Anketi tamamladığınız için teşekkür ederiz\",\n completingSurveyBefore: \"Kayıtlarımız bu anketi zaten tamamladığınızı gösteriyor.\",\n loadingSurvey: \"Anket Yükleniyor...\",\n placeholder: \"Seçiniz...\",\n ratingOptionsCaption: \"Seçiniz...\",\n value: \"değer\",\n requiredError: \"Lütfen soruya cevap verin.\",\n requiredErrorInPanel: \"Lütfen en az bir soruyu yanıtlayın.\",\n requiredInAllRowsError: \"Lütfen tüm satırlardaki soruları cevaplayın.\",\n eachRowUniqueError: \"Her satırın benzersiz bir değeri olmalıdır.\",\n numericError: \"Değer sayısal olmalıdır.\",\n minError: \"Değer {0}'den küçük olmamalıdır\",\n maxError: \"Değer {0}'dan büyük olmamalıdır\",\n textMinLength: \"Lütfen en az {0} karakter girin.\",\n textMaxLength: \"Lütfen en fazla {0} karakter girin.\",\n textMinMaxLength: \"Lütfen {0}’den fazla ve {1}’den az karakter girin.\",\n minRowCountError: \"Lütfen en az {0} satırı doldurun.\",\n minSelectError: \"Lütfen en az {0} seçeneği seçin.\",\n maxSelectError: \"Lütfen en fazla {0} seçeneği seçin.\",\n numericMinMax: \"'{0}', {1}'e eşit veya daha büyük ve {2}'ye eşit veya daha küçük olmalıdır\",\n numericMin: \"'{0}' değeri {1} değerine eşit veya büyük olmalıdır\",\n numericMax: \"'{0}' değeri {1} değerine eşit ya da küçük olmalıdır.\",\n invalidEmail: \"Lütfen geçerli bir e-posta adresi girin.\",\n invalidExpression: \"İfade: {0} 'true' döndürmelidir.\",\n urlRequestError: \"İstek '{0}' hatasını döndürdü. {1}\",\n urlGetChoicesError: \"İstek boş veri döndürdü veya 'path' özelliği yanlış\",\n exceedMaxSize: \"Dosya boyutu {0} değerini geçemez.\",\n noUploadFilesHandler: \"Dosyalar yüklenemiyor. Lütfen 'onUploadFiles' olayı için bir işleyici ekleyin.\",\n otherRequiredError: \"Lütfen diğer değerleri girin.\",\n uploadingFile: \"Dosyanız yükleniyor. Lütfen birkaç saniye bekleyin ve tekrar deneyin.\",\n loadingFile: \"Yükleniyor...\",\n chooseFile: \"Dosyaları seçin...\",\n noFileChosen: \"Dosya seçili değil\",\n filePlaceholder: \"Buraya bir dosya bırakın veya dosyayı yüklemek için aşağıdaki düğmeyi tıklayın.\",\n confirmDelete: \"Kaydı silmek istiyor musunuz?\",\n keyDuplicationError: \"Bu değer benzersiz olmalıdır.\",\n addColumn: \"Sütun Ekle\",\n addRow: \"Satır Ekle\",\n removeRow: \"Kaldır\",\n emptyRowsText: \"Satır yok.\",\n addPanel: \"Yeni ekle\",\n removePanel: \"Kaldır\",\n showDetails: \"Detayları göster\",\n hideDetails: \"Detayları Gizle\",\n choices_Item: \"öğe\",\n matrix_column: \"Sütun\",\n matrix_row: \"Satır\",\n multipletext_itemname: \"metin\",\n savingData: \"Sonuçlar sunucuya kaydediliyor...\",\n savingDataError: \"Bir hata oluştu ve sonuçlar kaydedilemedi.\",\n savingDataSuccess: \"Sonuçlar başarıyla kaydedildi!\",\n saveAgainButton: \"Tekrar deneyin\",\n timerMin: \"dakika\",\n timerSec: \"saniye\",\n timerSpentAll: \"Bu sayfada {0} ve toplamda {1} harcadınız.\",\n timerSpentPage: \"Bu sayfaya {0} harcadınız.\",\n timerSpentSurvey: \"Toplamda {0} harcadınız.\",\n timerLimitAll: \"Bu sayfaya {0}/{1} ve toplamda {2}/{3} harcadınız.\",\n timerLimitPage: \"Bu sayfaya {0}/{1} harcadınız.\",\n timerLimitSurvey: \"Toplamda {0}/{1} harcadınız.\",\n clearCaption: \"Temizle\",\n signaturePlaceHolder: \"Burayı imzalayın\",\n chooseFileCaption: \"Dosya seçin\",\n takePhotoCaption: \"Fotoğraf Çekin\",\n photoPlaceholder: \"Kamerayı kullanarak fotoğraf çekmek için aşağıdaki düğmeyi tıklayın.\",\n fileOrPhotoPlaceholder: \"Kamerayı kullanarak fotoğraf yüklemek veya fotoğraf çekmek için bir dosyayı sürükleyip bırakın veya seçin.\",\n replaceFileCaption: \"Dosyayı değiştir\",\n removeFileCaption: \"Bu dosyayı kaldır\",\n booleanCheckedLabel: \"Evet\",\n booleanUncheckedLabel: \"Hayır\",\n confirmRemoveFile: \"Bu dosyayı kaldırmak istediğinizden emin misiniz: {0}?\",\n confirmRemoveAllFiles: \"Tüm dosyaları kaldırmak istediğinizden emin misiniz?\",\n questionTitlePatternText: \"Soru Başlığı\",\n modalCancelButtonText: \"İptal\",\n modalApplyButtonText: \"Uygula\",\n filterStringPlaceholder: \"Aramak için yazın...\",\n emptyMessage: \"Görüntülenecek veri yok\",\n noEntriesText: \"Henüz giriş yok.\\nYeni bir giriş eklemek için aşağıdaki düğmeyi tıklayın.\",\n noEntriesReadonlyText: \"Giriş yok.\",\n more: \"Daha fazla\",\n tagboxDoneButtonCaption: \"TAMAM\",\n selectToRankEmptyRankedAreaText: \"Tüm seçenekler sıralanmıştır\",\n selectToRankEmptyUnrankedAreaText: \"Seçimleri sıralamak için buraya sürükleyip bırakın\",\n ok: \"TAMAM\",\n cancel: \"İptal\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"tr\"] = turkishSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"tr\"] = \"türkçe\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// takePhotoCaption: \"Take Photo\" => \"Fotoğraf Çekin\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Kamerayı kullanarak fotoğraf çekmek için aşağıdaki düğmeyi tıklayın.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Kamerayı kullanarak fotoğraf yüklemek veya fotoğraf çekmek için bir dosyayı sürükleyip bırakın veya seçin.\"\n// replaceFileCaption: \"Replace file\" => \"Dosyayı değiştir\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Her satırın benzersiz bir değeri olmalıdır.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Dosyalar yüklenemiyor. Lütfen 'onUploadFiles' olayı için bir işleyici ekleyin.\"\n// showDetails: \"Show Details\" => \"Detayları göster\"\n// hideDetails: \"Hide Details\" => \"Detayları Gizle\"\n// ok: \"OK\" => \"TAMAM\"\n// cancel: \"Cancel\" => \"İptal\"// refuseItemText: \"Refuse to answer\" => \"Cevap vermeyi reddet\"\n// dontKnowItemText: \"Don't know\" => \"Bilmiyorum\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/ukrainian.ts\":\n/*!***************************************!*\\\n !*** ./src/localization/ukrainian.ts ***!\n \\***************************************/\n/*! exports provided: ukrainianSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ukrainianSurveyStrings\", function() { return ukrainianSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar ukrainianSurveyStrings = {\n pagePrevText: \"Назад\",\n pageNextText: \"Далі\",\n completeText: \"Завершити\",\n previewText: \"Попередній перегляд\",\n editText: \"Редагувати\",\n startSurveyText: \"Почати\",\n otherItemText: \"Інше (будь ласка, опишіть)\",\n noneItemText: \"Жоден\",\n refuseItemText: \"Відмовтеся відповідати\",\n dontKnowItemText: \"Не знаю\",\n selectAllItemText: \"Вибрати все\",\n progressText: \"Сторінка {0} з {1}\",\n indexText: \"{0} {1}\",\n panelDynamicProgressText: \"Запис {0} із {1}\",\n panelDynamicTabTextFormat: \"Панель {panelIndex}\",\n questionsProgressText: \"Відповіли на {0}/{1} питань\",\n emptySurvey: \"Немає жодного питання.\",\n completingSurvey: \"Дякуємо Вам за заповнення анкети!\",\n completingSurveyBefore: \"Ви вже проходили це опитування.\",\n loadingSurvey: \"Завантаження опитування...\",\n placeholder: \"Вибрати...\",\n ratingOptionsCaption: \"Виберіть...\",\n value: \"значення\",\n requiredError: \"Будь ласка, дайте відповідь.\",\n requiredErrorInPanel: \"Будь ласка, дайте відповідь хоча б на одне питання.\",\n requiredInAllRowsError: \"Будь ласка, дайте відповідь на питання в кожному рядку.\",\n eachRowUniqueError: \"Кожен рядок повинен мати унікальне значення.\",\n numericError: \"Відповідь повинна бути числом.\",\n minError: \"Значення не повинно бути менше {0}\",\n maxError: \"Значення не повинно бути більше {0}\",\n textMinLength: \"Будь ласка введіть більше {0} символів.\",\n textMaxLength: \"Будь ласка введіть менше {0} символів.\",\n textMinMaxLength: \"Будь ласка введіть більше {0} и менше {1} символів.\",\n minRowCountError: \"Будь ласка, заповніть не менше {0} рядків.\",\n minSelectError: \"Будь ласка, виберіть хоча б {0} варіантів.\",\n maxSelectError: \"Будь ласка, виберіть не більше {0} варіантів.\",\n numericMinMax: \"'{0}' повинно бути не менше ніж {1}, і не більше ніж {2}\",\n numericMin: \"'{0}' повинно бути не менше ніж {1}\",\n numericMax: \"'{0}' повинно бути не більше ніж {1}\",\n invalidEmail: \"Будь ласка, введіть дійсну адресу електронної пошти.\",\n invalidExpression: \"Вираз {0} повинен повертати 'true'.\",\n urlRequestError: \"Запит повернув помилку '{0}'. {1}\",\n urlGetChoicesError: \"Відповідь на запит повернулась порожньою або властивіть 'path' вказано невірно\",\n exceedMaxSize: \"Розмір файлу не повинен перевищувати {0}.\",\n noUploadFilesHandler: \"Файли не можна завантажити. Будь ласка, додайте обробник для події 'onUploadFiles'.\",\n otherRequiredError: \"Будь ласка, введіть дані в поле 'Інше'\",\n uploadingFile: \"Ваш файл завантажується. Зачекайте декілька секунд і спробуйте знову.\",\n loadingFile: \"Завантаження...\",\n chooseFile: \"Виберіть файл(и)...\",\n noFileChosen: \"Файл не вибрано\",\n filePlaceholder: \"Перетягніть файл сюди або натисніть кнопку нижче та виберіть файл для завантаження.\",\n confirmDelete: \"Ви хочете видалити запис?\",\n keyDuplicationError: \"Це значення повинно бути унікальним.\",\n addColumn: \"Додати колонку\",\n addRow: \"Додати рядок\",\n removeRow: \"Видалити\",\n emptyRowsText: \"Рядів немає.\",\n addPanel: \"Додати нову\",\n removePanel: \"Видалити\",\n showDetails: \"Показати подробиці\",\n hideDetails: \"Сховати подробиці\",\n choices_Item: \"Варіант\",\n matrix_column: \"Колонка\",\n matrix_row: \"Рядок\",\n multipletext_itemname: \"Текст\",\n savingData: \"Результати зберігаються на сервер...\",\n savingDataError: \"Відбулася помилка, результат не був збережений.\",\n savingDataSuccess: \"Резвультат успішно збережений!\",\n saveAgainButton: \"Спробувати знову\",\n timerMin: \"хв\",\n timerSec: \"сек\",\n timerSpentAll: \"Ви витратили {0} на цій сторінці і {1} загалом.\",\n timerSpentPage: \"Ви витратили {0} на цій сторінці.\",\n timerSpentSurvey: \"Ви витратили {0} протягом тесту.\",\n timerLimitAll: \"Ви витратили {0} з {1} на цій сторінці і {2} з {3} для всього тесту.\",\n timerLimitPage: \"Ви витратили {0} з {1} на цій сторінці.\",\n timerLimitSurvey: \"Ви витратили {0} з {1} для всього тесту.\",\n clearCaption: \"Очистити\",\n signaturePlaceHolder: \"Підпишіться тут\",\n chooseFileCaption: \"Виберіть файл\",\n takePhotoCaption: \"Зробити фото\",\n photoPlaceholder: \"Натисніть кнопку нижче, щоб зробити фото за допомогою камери.\",\n fileOrPhotoPlaceholder: \"Перетягніть або виберіть файл, щоб завантажити або зробити фотографію за допомогою камери.\",\n replaceFileCaption: \"Замінити файл\",\n removeFileCaption: \"Видалити файл\",\n booleanCheckedLabel: \"Так\",\n booleanUncheckedLabel: \"Ні\",\n confirmRemoveFile: \"Ви впевнені, що хочете видалити цей файл: {0}?\",\n confirmRemoveAllFiles: \"Ви впевнені, що хочете видалити всі файли?\",\n questionTitlePatternText: \"Назва запитання\",\n modalCancelButtonText: \"Скасувати\",\n modalApplyButtonText: \"Застосовувати\",\n filterStringPlaceholder: \"Введіть для пошуку...\",\n emptyMessage: \"Немає даних для відображення\",\n noEntriesText: \"Записів поки немає.\\nНатисніть кнопку нижче, щоб додати новий запис.\",\n noEntriesReadonlyText: \"Записів немає.\",\n more: \"Більше\",\n tagboxDoneButtonCaption: \"ГАРАЗД\",\n selectToRankEmptyRankedAreaText: \"Всі варіанти ранжуються\",\n selectToRankEmptyUnrankedAreaText: \"Перетягніть варіанти тут, щоб оцінити їх\",\n ok: \"ГАРАЗД\",\n cancel: \"Скасувати\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"ua\"] = ukrainianSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"ua\"] = \"українська\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Панель {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Виберіть...\"\n// minError: \"The value should not be less than {0}\" => \"Значення не повинно бути менше {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Значення не повинно бути більше {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Перетягніть файл сюди або натисніть кнопку нижче та виберіть файл для завантаження.\"\n// emptyRowsText: \"There are no rows.\" => \"Рядів немає.\"\n// multipletext_itemname: \"text\" => \"Текст\"\n// signaturePlaceHolder: \"Sign here\" => \"Підпишіться тут\"\n// modalCancelButtonText: \"Cancel\" => \"Скасувати\"\n// modalApplyButtonText: \"Apply\" => \"Застосовувати\"\n// filterStringPlaceholder: \"Type to search...\" => \"Введіть для пошуку...\"\n// emptyMessage: \"No data to display\" => \"Немає даних для відображення\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Записів поки немає.\\nНатисніть кнопку нижче, щоб додати новий запис.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Записів немає.\"\n// more: \"More\" => \"Більше\"\n// tagboxDoneButtonCaption: \"OK\" => \"ГАРАЗД\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Всі варіанти ранжуються\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Перетягніть варіанти тут, щоб оцінити їх\"// takePhotoCaption: \"Take Photo\" => \"Зробити фото\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Натисніть кнопку нижче, щоб зробити фото за допомогою камери.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Перетягніть або виберіть файл, щоб завантажити або зробити фотографію за допомогою камери.\"\n// replaceFileCaption: \"Replace file\" => \"Замінити файл\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Кожен рядок повинен мати унікальне значення.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Файли не можна завантажити. Будь ласка, додайте обробник для події 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Показати подробиці\"\n// hideDetails: \"Hide Details\" => \"Сховати подробиці\"\n// ok: \"OK\" => \"ГАРАЗД\"\n// cancel: \"Cancel\" => \"Скасувати\"// refuseItemText: \"Refuse to answer\" => \"Відмовтеся відповідати\"\n// dontKnowItemText: \"Don't know\" => \"Не знаю\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/vietnamese.ts\":\n/*!****************************************!*\\\n !*** ./src/localization/vietnamese.ts ***!\n \\****************************************/\n/*! exports provided: vietnameseSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"vietnameseSurveyStrings\", function() { return vietnameseSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar vietnameseSurveyStrings = {\n pagePrevText: \"Trở về\",\n pageNextText: \"Tiếp theo\",\n completeText: \"Hoàn thành\",\n previewText: \"Xem trước\",\n editText: \"Chỉnh sửa\",\n startSurveyText: \"Bắt đầu\",\n otherItemText: \"Khác (mô tả)\",\n noneItemText: \"Trống\",\n refuseItemText: \"Từ chối trả lời\",\n dontKnowItemText: \"Không biết\",\n selectAllItemText: \"Chọn tất cả\",\n progressText: \"Trang {0} / {1}\",\n indexText: \"{0} của {1}\",\n panelDynamicProgressText: \"Dòng {0} / {1}\",\n panelDynamicTabTextFormat: \"Bảng điều khiển {panelIndex}\",\n questionsProgressText: \"Đã trả lời {0}/{1} câu hỏi\",\n emptySurvey: \"Không có trang hoặc câu hỏi nào được hiển thị trong cuộc khảo sát này.\",\n completingSurvey: \"Cảm ơn đã hoàn thành khảo sát!\",\n completingSurveyBefore: \"Hồ sơ chúng tôi cho thấy rằng bạn đã hoàn thành cuộc khảo sát này.\",\n loadingSurvey: \"Đang tải khảo sát...\",\n placeholder: \"Chọn...\",\n ratingOptionsCaption: \"Lựa...\",\n value: \"Giá trị\",\n requiredError: \"Vui lòng trả lời câu hỏi.\",\n requiredErrorInPanel: \"Vui lòng trả lời ít nhất một câu hỏi.\",\n requiredInAllRowsError: \"Vui lòng trả lời các câu hỏi trên tất cả các dòng.\",\n eachRowUniqueError: \"Mỗi hàng phải có một giá trị duy nhất.\",\n numericError: \"Giá trị nên là kiểu số.\",\n minError: \"Giá trị không được nhỏ hơn {0}\",\n maxError: \"Giá trị không được lớn hơn {0}\",\n textMinLength: \"Vui lòng nhập ít nhất {0} kí tự.\",\n textMaxLength: \"Vui lòng nhập ít hơn {0} kí tự.\",\n textMinMaxLength: \"Vui lòng nhập nhiều hơn {0} hoặc ít hơn {1} kí tự.\",\n minRowCountError: \"Vui lòng nhập ít nhất {0} dòng.\",\n minSelectError: \"Vui lòng chọn ít nhất {0} loại.\",\n maxSelectError: \"Vui lòng không chọn nhiều hơn {0} loại.\",\n numericMinMax: \"Giá trị '{0}' nên bằng hoặc lớn hơn {1} và bằng hoặc nhỏ hơn {2}\",\n numericMin: \"Giá trị '{0}' nên bằng hoặc lớn hơn {1}\",\n numericMax: \"Giá trị '{0}' nên bằng hoặc nhỏ hơn {1}\",\n invalidEmail: \"Vui lòng điền địa chỉ email hợp lệ.\",\n invalidExpression: \"Biểu thức: {0} nên trả về 'true'.\",\n urlRequestError: \"Yêu cầu trả về lỗi '{0}'. {1}\",\n urlGetChoicesError: \"Yêu cầu trả về dữ liệu trống hoặc thuộc tính 'path' không đúng\",\n exceedMaxSize: \"Kích thước tập tin không nên vượt quá {0}.\",\n noUploadFilesHandler: \"Không thể tải tệp lên. Vui lòng thêm trình xử lý cho sự kiện 'onUploadFiles'.\",\n otherRequiredError: \"Vui lòng điền giá trị khác.\",\n uploadingFile: \"Tập tin đang được tải lên. Vui lòng chờ một lúc và thử lại.\",\n loadingFile: \"Đang tải...\",\n chooseFile: \"Chọn các tập tin...\",\n noFileChosen: \"Không có tập tin nào được chọn\",\n filePlaceholder: \"Kéo và thả tệp vào đây hoặc nhấp vào nút bên dưới và chọn tệp để tải lên.\",\n confirmDelete: \"Bạn muốn xóa dòng này?\",\n keyDuplicationError: \"Giá trị này không nên bị trùng lặp.\",\n addColumn: \"Thêm cột\",\n addRow: \"Thêm dòng\",\n removeRow: \"Xóa\",\n emptyRowsText: \"Không có hàng.\",\n addPanel: \"Thêm mới\",\n removePanel: \"Xóa\",\n showDetails: \"Hiển thị chi tiết\",\n hideDetails: \"Ẩn chi tiết\",\n choices_Item: \"mục\",\n matrix_column: \"Cột\",\n matrix_row: \"Dòng\",\n multipletext_itemname: \"Nhắn tin\",\n savingData: \"Kết quả đang lưu lại trên hệ thống...\",\n savingDataError: \"Có lỗi xảy ra và chúng ta không thể lưu kết quả.\",\n savingDataSuccess: \"Kết quả đã được lưu thành công!\",\n saveAgainButton: \"Thử lại\",\n timerMin: \"phút\",\n timerSec: \"giây\",\n timerSpentAll: \"Bạn đã sử dụng {0} trên trang này và {1} trên toàn bộ.\",\n timerSpentPage: \"Bạn đã sử dụng {0} trên trang.\",\n timerSpentSurvey: \"Bạn đã sử dụng {0} trên toàn bộ.\",\n timerLimitAll: \"Bạn đã sử dụng {0} / {1} trên trang này và {2} / {3} trên toàn bộ.\",\n timerLimitPage: \"Bạn đã sử dụng {0} / {1} trên trang này.\",\n timerLimitSurvey: \"Bạn đã sử dụng {0} / {1} trên toàn bộ.\",\n clearCaption: \"Xóa\",\n signaturePlaceHolder: \"Ký tên tại đây\",\n chooseFileCaption: \"Chọn tập tin\",\n takePhotoCaption: \"Chụp ảnh\",\n photoPlaceholder: \"Nhấp vào nút bên dưới để chụp ảnh bằng máy ảnh.\",\n fileOrPhotoPlaceholder: \"Kéo và thả hoặc chọn tệp để tải lên hoặc chụp ảnh bằng máy ảnh.\",\n replaceFileCaption: \"Thay thế tập tin\",\n removeFileCaption: \"Xóa tập tin\",\n booleanCheckedLabel: \"Có\",\n booleanUncheckedLabel: \"Không\",\n confirmRemoveFile: \"Bạn có chắc chắn muốn xóa tập tin này: {0}?\",\n confirmRemoveAllFiles: \"Bạn có chắc chắn muốn xóa toàn bộ tập tin?\",\n questionTitlePatternText: \"Tiêu đề câu hỏi\",\n modalCancelButtonText: \"Hủy\",\n modalApplyButtonText: \"Áp dụng\",\n filterStringPlaceholder: \"Nhập để tìm kiếm...\",\n emptyMessage: \"Không có dữ liệu để hiển thị\",\n noEntriesText: \"Chưa có mục nào.\\nNhấp vào nút bên dưới để thêm mục nhập mới.\",\n noEntriesReadonlyText: \"Không có mục.\",\n more: \"Nhiều hơn\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"Tất cả các lựa chọn được xếp hạng\",\n selectToRankEmptyUnrankedAreaText: \"Kéo và thả các lựa chọn vào đây để xếp hạng chúng\",\n ok: \"OK\",\n cancel: \"Hủy\"\n};\n//Uncomment these two lines on creating a translation file. You should replace \"en\" and enStrings with your locale (\"fr\", \"de\" and so on) and your variable.\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"vi\"] = vietnameseSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"vi\"] = \"Việt Nam\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} của {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Bảng điều khiển {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Lựa...\"\n// minError: \"The value should not be less than {0}\" => \"Giá trị không được nhỏ hơn {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Giá trị không được lớn hơn {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Kéo và thả tệp vào đây hoặc nhấp vào nút bên dưới và chọn tệp để tải lên.\"\n// emptyRowsText: \"There are no rows.\" => \"Không có hàng.\"\n// multipletext_itemname: \"text\" => \"Nhắn tin\"\n// signaturePlaceHolder: \"Sign here\" => \"Ký tên tại đây\"\n// modalCancelButtonText: \"Cancel\" => \"Hủy\"\n// modalApplyButtonText: \"Apply\" => \"Áp dụng\"\n// filterStringPlaceholder: \"Type to search...\" => \"Nhập để tìm kiếm...\"\n// emptyMessage: \"No data to display\" => \"Không có dữ liệu để hiển thị\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Chưa có mục nào.\\nNhấp vào nút bên dưới để thêm mục nhập mới.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Không có mục.\"\n// more: \"More\" => \"Nhiều hơn\"\n// tagboxDoneButtonCaption: \"OK\" => \"OK\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Tất cả các lựa chọn được xếp hạng\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Kéo và thả các lựa chọn vào đây để xếp hạng chúng\"// takePhotoCaption: \"Take Photo\" => \"Chụp ảnh\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Nhấp vào nút bên dưới để chụp ảnh bằng máy ảnh.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Kéo và thả hoặc chọn tệp để tải lên hoặc chụp ảnh bằng máy ảnh.\"\n// replaceFileCaption: \"Replace file\" => \"Thay thế tập tin\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Mỗi hàng phải có một giá trị duy nhất.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Không thể tải tệp lên. Vui lòng thêm trình xử lý cho sự kiện 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Hiển thị chi tiết\"\n// hideDetails: \"Hide Details\" => \"Ẩn chi tiết\"\n// ok: \"OK\" => \"OK\"\n// cancel: \"Cancel\" => \"Hủy\"// refuseItemText: \"Refuse to answer\" => \"Từ chối trả lời\"\n// dontKnowItemText: \"Don't know\" => \"Không biết\"\n\n\n/***/ }),\n\n/***/ \"./src/localization/welsh.ts\":\n/*!***********************************!*\\\n !*** ./src/localization/welsh.ts ***!\n \\***********************************/\n/*! exports provided: welshSurveyStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"welshSurveyStrings\", function() { return welshSurveyStrings; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nvar welshSurveyStrings = {\n pagePrevText: \"Blaenorol\",\n pageNextText: \"Nesaf\",\n completeText: \"Cwblhau\",\n previewText: \"Rhagolwg\",\n editText: \"Golygu\",\n startSurveyText: \"Dechrau\",\n otherItemText: \"Arall (disgrifiwch)\",\n noneItemText: \"Dim\",\n refuseItemText: \"Gwrthod ateb\",\n dontKnowItemText: \"Ddim yn gwybod\",\n selectAllItemText: \"Dewis y Cyfan \",\n progressText: \"Tudalen {0} o {1}\",\n indexText: \"{0} o {1}\",\n panelDynamicProgressText: \"Cofnod {0} o {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Wedi ateb {0}/{1} cwestiwn\",\n emptySurvey: \"Does dim modd gweld tudalen na chwestiwn yn yr arolwg.\",\n completingSurvey: \"Diolch am lenwi’r holiadur!\",\n completingSurveyBefore: \"Rydych chi wedi llenwi’r arolwg hwn yn barod yn ôl ein cofnodion.\",\n loadingSurvey: \"Wrthi’n Llwytho’r Arolwg...\",\n placeholder: \"Dewiswch...\",\n ratingOptionsCaption: \"Dewis...\",\n value: \"gwerth\",\n requiredError: \"Atebwch y cwestiwn.\",\n requiredErrorInPanel: \"Atebwch o leiaf un cwestiwn.\",\n requiredInAllRowsError: \"Atebwch y cwestiynau ym mhob rhes.\",\n eachRowUniqueError: \"Rhaid i bob rhes fod â gwerth unigryw.\",\n numericError: \"Dylai’r gwerth fod yn rhif.\",\n minError: \"Ni ddylai'r gwerth fod yn llai na {0}\",\n maxError: \"Ni ddylai'r gwerth fod yn fwy na {0}\",\n textMinLength: \"Rhowch o leiaf {0} nod.\",\n textMaxLength: \"Rhowch lai na {0} nod.\",\n textMinMaxLength: \"Rhowch o leiaf {0} nod ond dim mwy na {1}.\",\n minRowCountError: \"Llenwch o leiaf {0} rhes.\",\n minSelectError: \"Dewiswch o leiaf {0} amrywiolyn.\",\n maxSelectError: \"Peidiwch â dewis mwy na {0} amrywiolyn.\",\n numericMinMax: \"Dylai’r '{0}' fod yr un fath â {1} neu’n fwy, a’r fath â {2} neu’n llai\",\n numericMin: \"Dylai’r '{0}' fod yr un fath â {1} neu’n fwy\",\n numericMax: \"Dylai’r '{0}' fod yr un fath â {1} neu’n llai\",\n invalidEmail: \"Rhowch gyfeiriad e-bost dilys.\",\n invalidExpression: \"Dylai’r mynegiad {0} arwain at 'true'.\",\n urlRequestError: \"Roedd y cais wedi arwain at y gwall '{0}'. {1}\",\n urlGetChoicesError: \"Roedd y cais wedi arwain at ddata gwag neu mae priodwedd y ‘path’ yn anghywir \",\n exceedMaxSize: \"Ddylai’r ffeil ddim bod yn fwy na {0}.\",\n noUploadFilesHandler: \"Ni ellir llwytho ffeiliau i fyny. Ychwanegwch handler ar gyfer y digwyddiad 'onUploadFiles'.\",\n otherRequiredError: \"Rhowch y gwerth arall.\",\n uploadingFile: \"Mae eich ffeil wrthi’n llwytho i fyny. Arhoswch ychydig o eiliadau a rhoi cynnig arall arni.\",\n loadingFile: \"Wrthi’n llwytho...\",\n chooseFile: \"Dewiswch ffeil(iau)...\",\n noFileChosen: \"Heb ddewis ffeil \",\n filePlaceholder: \"Llusgwch a gollwng ffeil yma neu cliciwch y botwm isod a dewiswch ffeil i'w lanlwytho.\",\n confirmDelete: \"Ydych chi am ddileu’r cofnod?\",\n keyDuplicationError: \"Dylai’r gwerth hwn fod yn unigryw.\",\n addColumn: \"Ychwanegu colofn \",\n addRow: \"Ychwanegu rhes\",\n removeRow: \"Tynnu\",\n emptyRowsText: \"Nid oes unrhyw ffraeau.\",\n addPanel: \"Ychwanegu o’r newydd\",\n removePanel: \"Tynnu\",\n showDetails: \"Dangos manylion\",\n hideDetails: \"Manylion Cuddio\",\n choices_Item: \"eitem\",\n matrix_column: \"Colofn\",\n matrix_row: \"Rhes\",\n multipletext_itemname: \"Testun\",\n savingData: \"Mae’r canlyniadau’n cael eu cadw ar y gweinydd...\",\n savingDataError: \"Roedd gwall a doedd dim modd cadw’r canlyniadau.\",\n savingDataSuccess: \"Wedi llwyddo i gadw’r canlyniadau!\",\n saveAgainButton: \"Rhowch gynnig arall arni\",\n timerMin: \"mun\",\n timerSec: \"eil\",\n timerSpentAll: \"Rydych chi wedi treulio {0} ar y dudalen hon a {1} gyda’i gilydd.\",\n timerSpentPage: \"Rydych chi wedi treulio {0} ar y dudalen hon.\",\n timerSpentSurvey: \"Rydych chi wedi treulio {0} gyda’i gilydd.\",\n timerLimitAll: \"Rydych chi wedi treulio {0} o {1} ar y dudalen hon a {2} o {3} gyda’i gilydd.\",\n timerLimitPage: \"Rydych chi wedi treulio {0} o {1} ar y dudalen hon.\",\n timerLimitSurvey: \"Rydych chi wedi treulio {0} o {1} gyda’i gilydd.\",\n clearCaption: \"Clirio\",\n signaturePlaceHolder: \"Arwydd yma\",\n chooseFileCaption: \"Dewiswch ffeil \",\n takePhotoCaption: \"Tynnu Llun\",\n photoPlaceholder: \"Cliciwch y botwm isod i dynnu llun gan ddefnyddio'r camera.\",\n fileOrPhotoPlaceholder: \"Llusgwch a gollwng neu dewiswch ffeil i lanlwytho neu dynnu llun gan ddefnyddio'r camera.\",\n replaceFileCaption: \"Amnewid ffeil\",\n removeFileCaption: \"Tynnu’r ffeil hon \",\n booleanCheckedLabel: \"Iawn\",\n booleanUncheckedLabel: \"Na\",\n confirmRemoveFile: \"Ydych chi’n siŵr eich bod am dynnu’r ffeil hon: {0}?\",\n confirmRemoveAllFiles: \"Ydych chi’n siŵr eich bod am dynnu pob ffeil?\",\n questionTitlePatternText: \"Teitl y Cwestiwn \",\n modalCancelButtonText: \"Canslo\",\n modalApplyButtonText: \"Cynnig\",\n filterStringPlaceholder: \"Teipiwch i chwilio...\",\n emptyMessage: \"Dim data i'w arddangos\",\n noEntriesText: \"Nid oes unrhyw gofnodion hyd yn hyn.\\nCliciwch y botwm isod i ychwanegu cofnod newydd.\",\n noEntriesReadonlyText: \"Nid oes unrhyw gofnodion.\",\n more: \"Rhagor\",\n tagboxDoneButtonCaption: \"OCÊ\",\n selectToRankEmptyRankedAreaText: \"Mae'r holl ddewisiadau yn cael eu rhestru\",\n selectToRankEmptyUnrankedAreaText: \"Dewisiadau llusgo a gollwng yma i'w graddio\",\n ok: \"OCÊ\",\n cancel: \"Canslo\"\n};\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].locales[\"cy\"] = welshSurveyStrings;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].localeNames[\"cy\"] = \"cymraeg\";\n// The following strings have been translated by a machine translation service\n// Remove those strings that you have corrected manually\n// indexText: \"{0} of {1}\" => \"{0} o {1}\"\n// panelDynamicTabTextFormat: \"Panel {panelIndex}\" => \"Panel {panelIndex}\"\n// ratingOptionsCaption: \"Select...\" => \"Dewis...\"\n// minError: \"The value should not be less than {0}\" => \"Ni ddylai'r gwerth fod yn llai na {0}\"\n// maxError: \"The value should not be greater than {0}\" => \"Ni ddylai'r gwerth fod yn fwy na {0}\"\n// filePlaceholder: \"Drag and drop a file here or click the button below and choose a file to upload.\" => \"Llusgwch a gollwng ffeil yma neu cliciwch y botwm isod a dewiswch ffeil i'w lanlwytho.\"\n// emptyRowsText: \"There are no rows.\" => \"Nid oes unrhyw ffraeau.\"\n// multipletext_itemname: \"text\" => \"Testun\"\n// signaturePlaceHolder: \"Sign here\" => \"Arwydd yma\"\n// modalCancelButtonText: \"Cancel\" => \"Canslo\"\n// modalApplyButtonText: \"Apply\" => \"Cynnig\"\n// filterStringPlaceholder: \"Type to search...\" => \"Teipiwch i chwilio...\"\n// emptyMessage: \"No data to display\" => \"Dim data i'w arddangos\"\n// noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\" => \"Nid oes unrhyw gofnodion hyd yn hyn.\\nCliciwch y botwm isod i ychwanegu cofnod newydd.\"\n// noEntriesReadonlyText: \"There are no entries.\" => \"Nid oes unrhyw gofnodion.\"\n// more: \"More\" => \"Rhagor\"\n// tagboxDoneButtonCaption: \"OK\" => \"OCÊ\"\n// selectToRankEmptyRankedAreaText: \"All choices are ranked\" => \"Mae'r holl ddewisiadau yn cael eu rhestru\"\n// selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\" => \"Dewisiadau llusgo a gollwng yma i'w graddio\"// takePhotoCaption: \"Take Photo\" => \"Tynnu Llun\"\n// photoPlaceholder: \"Click the button below to take a photo using the camera.\" => \"Cliciwch y botwm isod i dynnu llun gan ddefnyddio'r camera.\"\n// fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\" => \"Llusgwch a gollwng neu dewiswch ffeil i lanlwytho neu dynnu llun gan ddefnyddio'r camera.\"\n// replaceFileCaption: \"Replace file\" => \"Amnewid ffeil\"// eachRowUniqueError: \"Each row must have a unique value.\" => \"Rhaid i bob rhes fod â gwerth unigryw.\"\n// noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\" => \"Ni ellir llwytho ffeiliau i fyny. Ychwanegwch handler ar gyfer y digwyddiad 'onUploadFiles'.\"\n// showDetails: \"Show Details\" => \"Dangos manylion\"\n// hideDetails: \"Hide Details\" => \"Manylion Cuddio\"\n// ok: \"OK\" => \"OCÊ\"\n// cancel: \"Cancel\" => \"Canslo\"// refuseItemText: \"Refuse to answer\" => \"Gwrthod ateb\"\n// dontKnowItemText: \"Don't know\" => \"Ddim yn gwybod\"\n\n\n/***/ }),\n\n/***/ \"./src/martixBase.ts\":\n/*!***************************!*\\\n !*** ./src/martixBase.ts ***!\n \\***************************/\n/*! exports provided: QuestionMatrixBaseModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixBaseModel\", function() { return QuestionMatrixBaseModel; });\n/* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./itemvalue */ \"./src/itemvalue.ts\");\n/* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./question */ \"./src/question.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n/**\n * A base class for all matrix question types.\n */\nvar QuestionMatrixBaseModel = /** @class */ (function (_super) {\n __extends(QuestionMatrixBaseModel, _super);\n function QuestionMatrixBaseModel(name) {\n var _this = _super.call(this, name) || this;\n _this.generatedVisibleRows = null;\n _this.generatedTotalRow = null;\n _this.filteredRows = null;\n _this.filteredColumns = null;\n _this.columns = _this.createColumnValues();\n _this.rows = _this.createItemValues(\"rows\");\n return _this;\n }\n QuestionMatrixBaseModel.prototype.createColumnValues = function () {\n return this.createItemValues(\"columns\");\n };\n QuestionMatrixBaseModel.prototype.getType = function () {\n return \"matrixbase\";\n };\n QuestionMatrixBaseModel.prototype.endLoadingFromJson = function () {\n _super.prototype.endLoadingFromJson.call(this);\n this.updateVisibilityBasedOnRows();\n };\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"isCompositeQuestion\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"showHeader\", {\n /**\n * Specifies whether to display the table header that contains column captions.\n *\n * Default value: `true`\n */\n get: function () {\n return this.getPropertyValue(\"showHeader\");\n },\n set: function (val) {\n this.setPropertyValue(\"showHeader\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"columns\", {\n /**\n * An array of matrix columns.\n *\n * For a Single-Select Matrix, the `columns` array can contain configuration objects with the `text` (display value) and `value` (value to be saved in survey results) properties. Alternatively, the array can contain primitive values that will be used as both the display values and values to be saved in survey results.\n *\n * [View \"Single-Select Matrix\" Demo](https://surveyjs.io/form-library/examples/single-selection-matrix-table-question/ (linkStyle))\n *\n * For a Multi-Select Matrix or Dynamic Matrix, the `columns` array should contain configuration objects with properties described in the [`MatrixDropdownColumn`](https://surveyjs.io/form-library/documentation/api-reference/multi-select-matrix-column-values) API Reference section.\n *\n * [View \"Multi-Select Matrix\" Demo](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/ (linkStyle))\n */\n get: function () {\n return this.getPropertyValue(\"columns\");\n },\n set: function (newValue) {\n this.setPropertyValue(\"columns\", newValue);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"visibleColumns\", {\n get: function () {\n return !!this.filteredColumns ? this.filteredColumns : this.columns;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"rows\", {\n /**\n * An array of matrix rows.\n *\n * This array can contain primitive values or objects with the `text` (display value) and `value` (value to be saved in survey results) properties.\n *\n * [View Demo](https://surveyjs.io/form-library/examples/single-selection-matrix-table-question/ (linkStyle))\n */\n get: function () {\n return this.getPropertyValue(\"rows\");\n },\n set: function (newValue) {\n var newRows = this.processRowsOnSet(newValue);\n this.setPropertyValue(\"rows\", newRows);\n this.filterItems();\n },\n enumerable: false,\n configurable: true\n });\n QuestionMatrixBaseModel.prototype.processRowsOnSet = function (newRows) {\n return newRows;\n };\n QuestionMatrixBaseModel.prototype.getVisibleRows = function () {\n return [];\n };\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"visibleRows\", {\n /**\n * Returns an array of visible matrix rows.\n * @see rowsVisibleIf\n */\n get: function () {\n return this.getVisibleRows();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"rowsVisibleIf\", {\n /**\n * A Boolean expression that is evaluated against each matrix row. If the expression evaluates to `false`, the row becomes hidden.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Use the `{item}` placeholder to reference the current row in the expression.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see visibleRows\n * @see columnsVisibleIf\n */\n get: function () {\n return this.getPropertyValue(\"rowsVisibleIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"rowsVisibleIf\", val);\n this.filterItems();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"columnsVisibleIf\", {\n /**\n * A Boolean expression that is evaluated against each matrix column. If the expression evaluates to `false`, the column becomes hidden.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Use the `{item}` placeholder to reference the current column in the expression.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see rowsVisibleIf\n */\n get: function () {\n return this.getPropertyValue(\"columnsVisibleIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"columnsVisibleIf\", val);\n this.filterItems();\n },\n enumerable: false,\n configurable: true\n });\n QuestionMatrixBaseModel.prototype.runCondition = function (values, properties) {\n _super.prototype.runCondition.call(this, values, properties);\n this.runItemsCondition(values, properties);\n };\n QuestionMatrixBaseModel.prototype.filterItems = function () {\n if (this.areInvisibleElementsShowing) {\n this.onRowsChanged();\n return false;\n }\n if (this.isLoadingFromJson || !this.data)\n return false;\n return this.runItemsCondition(this.getDataFilteredValues(), this.getDataFilteredProperties());\n };\n QuestionMatrixBaseModel.prototype.onColumnsChanged = function () { };\n QuestionMatrixBaseModel.prototype.onRowsChanged = function () {\n this.updateVisibilityBasedOnRows();\n this.fireCallback(this.visibleRowsChangedCallback);\n };\n QuestionMatrixBaseModel.prototype.updateVisibilityBasedOnRows = function () {\n if (this.hideIfRowsEmpty) {\n this.visible =\n this.rows.length > 0 &&\n (!this.filteredRows || this.filteredRows.length > 0);\n }\n };\n QuestionMatrixBaseModel.prototype.shouldRunColumnExpression = function () {\n return !this.survey || !this.survey.areInvisibleElementsShowing;\n };\n QuestionMatrixBaseModel.prototype.hasRowsAsItems = function () {\n return true;\n };\n QuestionMatrixBaseModel.prototype.runItemsCondition = function (values, properties) {\n var oldVisibleRows = null;\n if (!!this.filteredRows && !_helpers__WEBPACK_IMPORTED_MODULE_4__[\"Helpers\"].isValueEmpty(this.defaultValue)) {\n oldVisibleRows = [];\n for (var i = 0; i < this.filteredRows.length; i++) {\n oldVisibleRows.push(this.filteredRows[i]);\n }\n }\n var hasChanges = this.hasRowsAsItems() && this.runConditionsForRows(values, properties);\n var hasColumnsChanged = this.runConditionsForColumns(values, properties);\n hasChanges = hasColumnsChanged || hasChanges;\n if (hasChanges) {\n if (this.isClearValueOnHidden && (!!this.filteredColumns || !!this.filteredRows)) {\n this.clearIncorrectValues();\n }\n if (!!oldVisibleRows) {\n this.restoreNewVisibleRowsValues(oldVisibleRows);\n }\n this.clearGeneratedRows();\n if (hasColumnsChanged) {\n this.onColumnsChanged();\n }\n this.onRowsChanged();\n }\n return hasChanges;\n };\n QuestionMatrixBaseModel.prototype.clearGeneratedRows = function () {\n this.generatedVisibleRows = null;\n };\n QuestionMatrixBaseModel.prototype.runConditionsForRows = function (values, properties) {\n var showInvisibile = !!this.survey && this.survey.areInvisibleElementsShowing;\n var runner = !showInvisibile && !!this.rowsVisibleIf\n ? new _conditions__WEBPACK_IMPORTED_MODULE_3__[\"ConditionRunner\"](this.rowsVisibleIf)\n : null;\n this.filteredRows = [];\n var hasChanged = _itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"].runConditionsForItems(this.rows, this.filteredRows, runner, values, properties, !showInvisibile);\n if (this.filteredRows.length === this.rows.length) {\n this.filteredRows = null;\n }\n return hasChanged;\n };\n QuestionMatrixBaseModel.prototype.runConditionsForColumns = function (values, properties) {\n var useColumnsExpression = !!this.survey && !this.survey.areInvisibleElementsShowing;\n var runner = useColumnsExpression && !!this.columnsVisibleIf\n ? new _conditions__WEBPACK_IMPORTED_MODULE_3__[\"ConditionRunner\"](this.columnsVisibleIf)\n : null;\n this.filteredColumns = [];\n var hasChanged = _itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"].runConditionsForItems(this.columns, this.filteredColumns, runner, values, properties, this.shouldRunColumnExpression());\n if (this.filteredColumns.length === this.columns.length) {\n this.filteredColumns = null;\n }\n return hasChanged;\n };\n QuestionMatrixBaseModel.prototype.clearIncorrectValues = function () {\n var val = this.value;\n if (!val)\n return;\n var newVal = null;\n var isChanged = false;\n var rows = !!this.filteredRows ? this.filteredRows : this.rows;\n var columns = !!this.filteredColumns ? this.filteredColumns : this.columns;\n for (var key in val) {\n if (_itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"].getItemByValue(rows, key) &&\n _itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"].getItemByValue(columns, val[key])) {\n if (newVal == null)\n newVal = {};\n newVal[key] = val[key];\n }\n else {\n isChanged = true;\n }\n }\n if (isChanged) {\n this.value = newVal;\n }\n _super.prototype.clearIncorrectValues.call(this);\n };\n QuestionMatrixBaseModel.prototype.clearInvisibleValuesInRows = function () {\n if (this.isEmpty())\n return;\n var newData = this.getUnbindValue(this.value);\n var rows = this.rows;\n for (var i = 0; i < rows.length; i++) {\n var key = rows[i].value;\n if (!!newData[key] && !rows[i].isVisible) {\n delete newData[key];\n }\n }\n if (this.isTwoValueEquals(newData, this.value))\n return;\n this.value = newData;\n };\n QuestionMatrixBaseModel.prototype.restoreNewVisibleRowsValues = function (oldVisibleRows) {\n var rows = !!this.filteredRows ? this.filteredRows : this.rows;\n var val = this.defaultValue;\n var newValue = this.getUnbindValue(this.value);\n var isChanged = false;\n for (var key in val) {\n if (_itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"].getItemByValue(rows, key) &&\n !_itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"].getItemByValue(oldVisibleRows, key)) {\n if (newValue == null)\n newValue = {};\n newValue[key] = val[key];\n isChanged = true;\n }\n }\n if (isChanged) {\n this.value = newValue;\n }\n };\n QuestionMatrixBaseModel.prototype.needResponsiveWidth = function () {\n //TODO: make it mor intelligent\n return true;\n };\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"columnsAutoWidth\", {\n get: function () {\n return !this.isMobile && !this.columns.some(function (col) { return !!col.width; });\n },\n enumerable: false,\n configurable: true\n });\n QuestionMatrixBaseModel.prototype.getTableCss = function () {\n var _a;\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__[\"CssClassBuilder\"]()\n .append(this.cssClasses.root)\n .append(this.cssClasses.columnsAutoWidth, this.columnsAutoWidth)\n .append(this.cssClasses.noHeader, !this.showHeader)\n .append(this.cssClasses.hasFooter, !!((_a = this.renderedTable) === null || _a === void 0 ? void 0 : _a.showAddRowOnBottom))\n .append(this.cssClasses.rootAlternateRows, this.alternateRows)\n .append(this.cssClasses.rootVerticalAlignTop, (this.verticalAlign === \"top\"))\n .append(this.cssClasses.rootVerticalAlignMiddle, (this.verticalAlign === \"middle\")).toString();\n };\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"columnMinWidth\", {\n /**\n * Minimum column width in CSS values.\n *\n * @see width\n */\n get: function () {\n return this.getPropertyValue(\"columnMinWidth\") || \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"columnMinWidth\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"rowTitleWidth\", {\n /**\n * A width for the column that displays row titles (first column). Accepts CSS values.\n */\n get: function () {\n return this.getPropertyValue(\"rowTitleWidth\") || \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"rowTitleWidth\", val);\n },\n enumerable: false,\n configurable: true\n });\n //a11y\n QuestionMatrixBaseModel.prototype.getCellAriaLabel = function (rowTitle, columnTitle) {\n var row = (this.getLocalizationString(\"matrix_row\") || \"row\").toLocaleLowerCase();\n var column = (this.getLocalizationString(\"matrix_column\") || \"column\").toLocaleLowerCase();\n return row + \" \" + rowTitle + \", \" + column + \" \" + columnTitle;\n };\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"isNewA11yStructure\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], QuestionMatrixBaseModel.prototype, \"verticalAlign\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], QuestionMatrixBaseModel.prototype, \"alternateRows\", void 0);\n return QuestionMatrixBaseModel;\n}(_question__WEBPACK_IMPORTED_MODULE_1__[\"Question\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].addClass(\"matrixbase\", [\n { name: \"showCommentArea:switch\", layout: \"row\", visible: true, category: \"general\" },\n \"columnsVisibleIf:condition\",\n \"rowsVisibleIf:condition\",\n \"columnMinWidth\",\n { name: \"showHeader:boolean\", default: true },\n {\n name: \"verticalAlign\",\n choices: [\"top\", \"middle\"],\n default: \"middle\",\n },\n { name: \"alternateRows:boolean\", default: false }\n], undefined, \"question\");\n\n\n/***/ }),\n\n/***/ \"./src/mask/input_element_adapter.ts\":\n/*!*******************************************!*\\\n !*** ./src/mask/input_element_adapter.ts ***!\n \\*******************************************/\n/*! exports provided: InputElementAdapter */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InputElementAdapter\", function() { return InputElementAdapter; });\nvar InputElementAdapter = /** @class */ (function () {\n function InputElementAdapter(inputMaskInstance, inputElement, value) {\n var _this = this;\n this.inputMaskInstance = inputMaskInstance;\n this.inputElement = inputElement;\n this.prevUnmaskedValue = undefined;\n this.inputMaskInstancePropertyChangedHandler = function (sender, options) {\n if (options.name !== \"saveMaskedValue\") {\n var maskedValue = _this.inputMaskInstance.getMaskedValue(_this.prevUnmaskedValue);\n _this.inputElement.value = maskedValue;\n }\n };\n this.beforeInputHandler = function (event) {\n var args = _this.createArgs(event);\n var result = _this.inputMaskInstance.processInput(args);\n _this.inputElement.value = result.value;\n _this.inputElement.setSelectionRange(result.caretPosition, result.caretPosition);\n if (!result.cancelPreventDefault) {\n event.preventDefault();\n }\n };\n var _value = value;\n if (_value === null || _value === undefined) {\n _value = \"\";\n }\n else if (typeof _value !== \"string\") {\n _value = _value.toString();\n }\n this.inputElement.value = inputMaskInstance.getMaskedValue(_value);\n this.prevUnmaskedValue = _value;\n inputMaskInstance.onPropertyChanged.add(this.inputMaskInstancePropertyChangedHandler);\n this.addInputEventListener();\n }\n InputElementAdapter.prototype.createArgs = function (event) {\n var args = {\n insertedChars: event.data,\n selectionStart: event.target.selectionStart,\n selectionEnd: event.target.selectionEnd,\n prevValue: event.target.value,\n inputDirection: \"forward\"\n };\n if (event.inputType === \"deleteContentBackward\") {\n args.inputDirection = \"backward\";\n if (args.selectionStart === args.selectionEnd) {\n args.selectionStart = Math.max(args.selectionStart - 1, 0);\n }\n }\n if (event.inputType === \"deleteContentForward\" && args.selectionStart === args.selectionEnd) {\n args.selectionEnd += 1;\n }\n return args;\n };\n InputElementAdapter.prototype.addInputEventListener = function () {\n if (!!this.inputElement) {\n this.inputElement.addEventListener(\"beforeinput\", this.beforeInputHandler);\n }\n };\n InputElementAdapter.prototype.removeInputEventListener = function () {\n if (!!this.inputElement) {\n this.inputElement.removeEventListener(\"beforeinput\", this.beforeInputHandler);\n }\n };\n InputElementAdapter.prototype.dispose = function () {\n this.removeInputEventListener();\n this.inputMaskInstance.onPropertyChanged.remove(this.inputMaskInstancePropertyChangedHandler);\n };\n return InputElementAdapter;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/mask/mask_base.ts\":\n/*!*******************************!*\\\n !*** ./src/mask/mask_base.ts ***!\n \\*******************************/\n/*! exports provided: InputMaskBase */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InputMaskBase\", function() { return InputMaskBase; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../base */ \"./src/base.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../jsonobject */ \"./src/jsonobject.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n/**\n * A base class for classes that implement input masks:\n *\n * - [`InputMaskNumeric`](https://surveyjs.io/form-library/documentation/inputmasknumeric)\n * - [`InputMaskCurrency`](https://surveyjs.io/form-library/documentation/inputmaskcurrency)\n * - [`InputMaskDateTime`](https://surveyjs.io/form-library/documentation/inputmaskdatetime)\n * - [`InputMaskPattern`](https://surveyjs.io/form-library/documentation/inputmaskpattern)\n */\nvar InputMaskBase = /** @class */ (function (_super) {\n __extends(InputMaskBase, _super);\n function InputMaskBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InputMaskBase.prototype.getType = function () {\n return \"masksettings\";\n };\n InputMaskBase.prototype.setData = function (json) {\n var _this = this;\n var properties = _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].getProperties(this.getType());\n properties.forEach(function (property) {\n var currentValue = json[property.name];\n _this[property.name] = currentValue !== undefined ? currentValue : property.defaultValue;\n });\n };\n InputMaskBase.prototype.getData = function () {\n var _this = this;\n var res = {};\n var properties = _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].getProperties(this.getType());\n properties.forEach(function (property) {\n var currentValue = _this[property.name];\n if (!property.isDefaultValue(currentValue)) {\n res[property.name] = currentValue;\n }\n });\n return res;\n };\n // public get maskedInputValue(): string {\n // return this.input.value;\n // }\n // public get unmaskedInputValue(): string {\n // return this.getUnmaskedValue(this.input.value, true);\n // }\n InputMaskBase.prototype.processInput = function (args) {\n return { value: args.prevValue, caretPosition: args.selectionEnd, cancelPreventDefault: false };\n };\n InputMaskBase.prototype.getUnmaskedValue = function (src) { return src; };\n InputMaskBase.prototype.getMaskedValue = function (src) { return src; };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], InputMaskBase.prototype, \"saveMaskedValue\", void 0);\n return InputMaskBase;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].addClass(\"masksettings\", [\n {\n name: \"saveMaskedValue:boolean\",\n visibleIf: function (obj) {\n if (!obj)\n return false;\n return obj.getType() !== \"masksettings\";\n },\n },\n], function () {\n return new InputMaskBase();\n});\n\n\n/***/ }),\n\n/***/ \"./src/mask/mask_currency.ts\":\n/*!***********************************!*\\\n !*** ./src/mask/mask_currency.ts ***!\n \\***********************************/\n/*! exports provided: InputMaskCurrency */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InputMaskCurrency\", function() { return InputMaskCurrency; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _mask_numeric__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mask_numeric */ \"./src/mask/mask_numeric.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n/**\n * A class that describes an input mask of the `\"currency\"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).\n *\n * The following code shows how to specify the properties of this class within a survey JSON schema:\n *\n * ```js\n * const surveyJson = {\n * \"elements\": [{\n * \"name\": \"textquestion1\"\n * \"type\": \"text\",\n * \"maskType\": \"currency\",\n * \"maskSettings\": {\n * // Specify the properties of a currency input mask here\n * }\n * }]\n * }\n * ```\n *\n * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))\n */\nvar InputMaskCurrency = /** @class */ (function (_super) {\n __extends(InputMaskCurrency, _super);\n function InputMaskCurrency() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InputMaskCurrency.prototype.getType = function () {\n return \"currencymask\";\n };\n InputMaskCurrency.prototype.wrapText = function (str) {\n var prefixValue = this.prefix || \"\";\n var suffixValue = this.suffix || \"\";\n var result = str;\n if (!result)\n return result;\n if (result.indexOf(prefixValue) === -1) {\n result = prefixValue + result;\n }\n if (result.indexOf(suffixValue) === -1) {\n result += suffixValue;\n }\n return result;\n };\n InputMaskCurrency.prototype.unwrapInputArgs = function (args) {\n var result = args.prevValue;\n if (!result)\n return;\n if (this.prefix && result.indexOf(this.prefix) !== -1) {\n result = result.slice(result.indexOf(this.prefix) + this.prefix.length);\n var preffixPadding = (this.prefix || \"\").length;\n args.selectionStart = Math.max((args.selectionStart - preffixPadding), 0);\n args.selectionEnd -= preffixPadding;\n }\n if (this.suffix && result.indexOf(this.suffix) !== -1) {\n result = result.slice(0, result.indexOf(this.suffix));\n }\n args.prevValue = result;\n };\n InputMaskCurrency.prototype.processInput = function (args) {\n this.unwrapInputArgs(args);\n var result = _super.prototype.processInput.call(this, args);\n var preffixPadding = (this.prefix || \"\").length;\n if (!!result.value) {\n result.caretPosition += preffixPadding;\n }\n result.value = this.wrapText(result.value);\n return result;\n };\n InputMaskCurrency.prototype.getMaskedValue = function (src) {\n var result = _super.prototype.getMaskedValue.call(this, src);\n return this.wrapText(result);\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], InputMaskCurrency.prototype, \"prefix\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], InputMaskCurrency.prototype, \"suffix\", void 0);\n return InputMaskCurrency;\n}(_mask_numeric__WEBPACK_IMPORTED_MODULE_1__[\"InputMaskNumeric\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"currencymask\", [\n { name: \"prefix\" },\n { name: \"suffix\" },\n], function () {\n return new InputMaskCurrency();\n}, \"numericmask\");\n\n\n/***/ }),\n\n/***/ \"./src/mask/mask_datetime.ts\":\n/*!***********************************!*\\\n !*** ./src/mask/mask_datetime.ts ***!\n \\***********************************/\n/*! exports provided: getDateTimeLexems, InputMaskDateTime */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDateTimeLexems\", function() { return getDateTimeLexems; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InputMaskDateTime\", function() { return InputMaskDateTime; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _mask_pattern__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mask_pattern */ \"./src/mask/mask_pattern.ts\");\n/* harmony import */ var _mask_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mask_utils */ \"./src/mask/mask_utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nfunction getMaxCountLexem(currentLexemType, count) {\n switch (currentLexemType) {\n case (\"day\"):\n case (\"month\"): {\n return 2;\n }\n case (\"year\"): {\n return count;\n }\n default: {\n return 1;\n }\n }\n}\nfunction trimDatePart(lexem, data) {\n var result = data;\n if (lexem.count < lexem.maxCount && ((lexem.type === \"day\" && parseInt(data[0]) === 0) || (lexem.type === \"month\" && parseInt(data[0]) === 0))) {\n result = data.slice(1, data.length);\n }\n return result;\n}\nfunction getDefaultYearForValidation(minYear, maxYear) {\n var defaultVal = 2000;\n if (defaultVal > maxYear) {\n defaultVal = parseInt(maxYear.toString().slice(0, maxYear.toString().length - 2)) * 100;\n }\n if (defaultVal < minYear) {\n var middle = (maxYear - minYear) / 2 + minYear;\n defaultVal = parseInt(middle.toString().slice(0, middle.toString().length - 1)) * 10;\n }\n if (defaultVal >= minYear && defaultVal <= maxYear) {\n return defaultVal;\n }\n return minYear;\n}\nfunction getDateTimeLexems(pattern) {\n var result = [];\n var prevLexemType;\n var createOrUpdateLexem = function (currentLexemType, currentChar) {\n if (!!prevLexemType && prevLexemType === currentLexemType) {\n result[result.length - 1].count++;\n var maxCount = getMaxCountLexem(currentLexemType, result[result.length - 1].count);\n result[result.length - 1].maxCount = maxCount;\n }\n else {\n var maxCount = getMaxCountLexem(currentLexemType, 1);\n // result.push({ type: currentLexemType, value: currentChar, count: 1, data: { value: \"\", isCompleted: false, isCorrect: false }, maxCount: maxCount });\n result.push({ type: currentLexemType, value: currentChar, count: 1, maxCount: maxCount });\n }\n };\n for (var index = 0; index < pattern.length; index++) {\n var currentChar = pattern[index];\n switch (currentChar) {\n case \"m\":\n createOrUpdateLexem(\"month\", \"m\");\n break;\n case \"d\":\n createOrUpdateLexem(\"day\", \"d\");\n break;\n case \"y\":\n createOrUpdateLexem(\"year\", \"y\");\n break;\n default:\n result.push({ type: \"separator\", value: currentChar, count: 1, maxCount: 1 });\n break;\n }\n prevLexemType = result[result.length - 1].type;\n }\n return result;\n}\n/**\n * A class that describes an input mask of the `\"datetime\"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).\n *\n * The following code shows how to specify the properties of this class within a survey JSON schema:\n *\n * ```js\n * const surveyJson = {\n * \"elements\": [{\n * \"name\": \"textquestion1\"\n * \"type\": \"text\",\n * \"maskType\": \"datetime\",\n * \"maskSettings\": {\n * // Specify the properties of a date-time input mask here\n * }\n * }]\n * }\n * ```\n *\n * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))\n */\nvar InputMaskDateTime = /** @class */ (function (_super) {\n __extends(InputMaskDateTime, _super);\n function InputMaskDateTime() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.turnOfTheCentury = 68;\n _this.lexems = [];\n _this.inputDateTimeData = [];\n return _this;\n }\n InputMaskDateTime.prototype.getType = function () {\n return \"datetimemask\";\n };\n InputMaskDateTime.prototype.updateLiterals = function () {\n this.lexems = getDateTimeLexems(this.pattern || \"\");\n };\n InputMaskDateTime.prototype.leaveOnlyNumbers = function (input) {\n var result = \"\";\n for (var index = 0; index < input.length; index++) {\n if (input[index].match(_mask_utils__WEBPACK_IMPORTED_MODULE_2__[\"numberDefinition\"])) {\n result += input[index];\n }\n }\n return result;\n };\n InputMaskDateTime.prototype.getMaskedStrFromISO = function (str) {\n var _this = this;\n var date = new Date(str);\n this.initInputDateTimeData();\n if (!isNaN(date)) {\n this.lexems.forEach(function (lexem, index) {\n var inputData = _this.inputDateTimeData[index];\n inputData.isCompleted = true;\n switch (lexem.type) {\n case (\"day\"): {\n inputData.value = date.getDate().toString();\n break;\n }\n case (\"month\"): {\n inputData.value = (date.getMonth() + 1).toString();\n break;\n }\n case (\"year\"): {\n var year = date.getFullYear();\n if (lexem.count == 2)\n year = year % 100;\n inputData.value = year.toString();\n break;\n }\n default: {\n break;\n }\n }\n });\n }\n return this.getFormatedString(true);\n };\n InputMaskDateTime.prototype.initInputDateTimeData = function () {\n var _this = this;\n this.inputDateTimeData = [];\n this.lexems.forEach(function (lexem) {\n _this.inputDateTimeData.push({ lexem: lexem, isCompleted: false, value: undefined });\n });\n };\n InputMaskDateTime.prototype.getISO_8601Format = function (dateTime) {\n if (dateTime.year === undefined || dateTime.month === undefined || dateTime.day === undefined)\n return \"\";\n var year = this.getPlaceholder(4, dateTime.year.toString(), \"0\") + dateTime.year;\n var month = this.getPlaceholder(2, dateTime.month.toString(), \"0\") + dateTime.month;\n var day = this.getPlaceholder(2, dateTime.day.toString(), \"0\") + dateTime.day;\n return [year, month, day].join(\"-\");\n };\n InputMaskDateTime.prototype.isYearValid = function (dateTime) {\n if (dateTime.min === undefined && dateTime.max === undefined)\n return false;\n var data = dateTime.year.toString();\n var minYearPart = dateTime.min.toISOString().slice(0, data.length);\n var maxYearPart = dateTime.max.toISOString().slice(0, data.length);\n return dateTime.year >= parseInt(minYearPart) && dateTime.year <= parseInt(maxYearPart);\n };\n InputMaskDateTime.prototype.isDateValid = function (dateTime) {\n var min = dateTime.min;\n var max = dateTime.max;\n var year = dateTime.year !== undefined ? dateTime.year : getDefaultYearForValidation(min.getFullYear(), max.getFullYear());\n var month = dateTime.month !== undefined ? dateTime.month : 1;\n var day = dateTime.day !== undefined ? dateTime.day : 1;\n var date = new Date(this.getISO_8601Format({ year: year, month: month, day: day }));\n var monthIndex = month - 1;\n return !isNaN(date) &&\n date.getDate() === day &&\n date.getMonth() === monthIndex &&\n date.getFullYear() === year &&\n date >= dateTime.min && date <= dateTime.max;\n };\n InputMaskDateTime.prototype.getPlaceholder = function (lexemLength, str, char) {\n var paddingsLength = lexemLength - (str || \"\").length;\n var paddings = paddingsLength > 0 ? char.repeat(paddingsLength) : \"\";\n return paddings;\n };\n InputMaskDateTime.prototype.updateInputDateTimeData = function (newItem, dateTime) {\n var data = newItem.value;\n if (!data)\n return;\n var propertyName = newItem.lexem.type;\n dateTime[propertyName] = parseInt(data);\n if (data.length === newItem.lexem.maxCount) {\n if (this.isDateValid(dateTime)) {\n newItem.isCompleted = true;\n }\n else {\n data = data.slice(0, data.length - 1);\n }\n }\n else if (propertyName === \"year\" && !this.isYearValid(dateTime)) {\n data = data.slice(0, data.length - 1);\n }\n else if ((propertyName === \"day\" && parseInt(data[0]) > 3) || (propertyName === \"month\" && parseInt(data[0]) > 1)) {\n newItem.isCompleted = true;\n }\n newItem.value = data;\n dateTime[propertyName] = parseInt(data) > 0 ? parseInt(data) : undefined;\n };\n InputMaskDateTime.prototype.getCorrectDatePartFormat = function (inputData, matchWholeMask) {\n var lexem = inputData.lexem;\n var dataStr = inputData.value || \"\";\n if (!!dataStr && inputData.isCompleted) {\n dataStr = parseInt(dataStr).toString();\n }\n if (!!dataStr && inputData.isCompleted) {\n var zeroPaddings = this.getPlaceholder(lexem.count, dataStr, \"0\");\n dataStr = zeroPaddings + dataStr;\n }\n else {\n // !!!\n dataStr = trimDatePart(lexem, dataStr);\n if (matchWholeMask) {\n dataStr += this.getPlaceholder(lexem.count, dataStr, lexem.value);\n }\n }\n return dataStr;\n };\n InputMaskDateTime.prototype.createIDateTimeComposition = function () {\n var tempDateTime = {\n day: undefined,\n month: undefined,\n year: undefined,\n min: new Date(this.min || \"0001-01-01\"),\n max: new Date(this.max || \"9999-12-31\")\n };\n return tempDateTime;\n };\n InputMaskDateTime.prototype.parseTwoDigitYear = function (data) {\n var inputData = data.value;\n if (data.lexem.type !== \"year\" || data.lexem.count > 2)\n return inputData;\n if (!!this.max && this.max.length >= 4) {\n this.turnOfTheCentury = parseInt(this.max.slice(2, 4));\n }\n var year = parseInt(inputData);\n var result = (year > this.turnOfTheCentury ? \"19\" : \"20\") + inputData;\n return result;\n };\n InputMaskDateTime.prototype.getFormatedString = function (matchWholeMask) {\n var result = \"\";\n var prevSeparator = \"\";\n var prevIsCompleted = false;\n for (var index = 0; index < this.inputDateTimeData.length; index++) {\n var inputData = this.inputDateTimeData[index];\n switch (inputData.lexem.type) {\n case \"day\":\n case \"month\":\n case \"year\":\n if (inputData.value === undefined && !matchWholeMask) {\n result += (prevIsCompleted ? prevSeparator : \"\");\n return result;\n }\n else {\n var data = this.getCorrectDatePartFormat(inputData, matchWholeMask);\n result += (prevSeparator + data);\n prevIsCompleted = inputData.isCompleted;\n }\n break;\n case \"separator\":\n prevSeparator = inputData.lexem.value;\n break;\n }\n }\n return result;\n };\n InputMaskDateTime.prototype.setInputDateTimeData = function (numberParts) {\n var _this = this;\n var numberPartsArrayIndex = 0;\n this.initInputDateTimeData();\n this.lexems.forEach(function (lexem, index) {\n if (lexem.type !== \"separator\" && numberParts.length > 0 && numberPartsArrayIndex < numberParts.length) {\n var inputData = _this.inputDateTimeData[index];\n var currentPart = numberParts[numberPartsArrayIndex];\n var _data = _this.leaveOnlyNumbers(currentPart);\n inputData.value = _data.slice(0, lexem.maxCount);\n numberPartsArrayIndex++;\n }\n });\n };\n InputMaskDateTime.prototype._getMaskedValue = function (src, matchWholeMask) {\n var _this = this;\n if (matchWholeMask === void 0) { matchWholeMask = true; }\n var input = (src === undefined || src === null) ? \"\" : src.toString();\n var inputParts = this.getParts(input);\n this.setInputDateTimeData(inputParts);\n var tempDateTime = this.createIDateTimeComposition();\n this.inputDateTimeData.forEach(function (itemData) { return _this.updateInputDateTimeData(itemData, tempDateTime); });\n var result = this.getFormatedString(matchWholeMask);\n return result;\n };\n InputMaskDateTime.prototype.getPartsOld = function (input) {\n var inputParts = [];\n var separatorLexems = this.lexems.filter(function (l) { return l.type === \"separator\"; });\n var separatorLexemsIndex = 0;\n do {\n if (!separatorLexems[separatorLexemsIndex]) {\n if (!!input) {\n inputParts.push(input);\n input = \"\";\n }\n break;\n }\n var separatorCharIndex = input.indexOf(separatorLexems[separatorLexemsIndex].value);\n if (separatorCharIndex !== -1) {\n var part = input.slice(0, separatorCharIndex);\n if (!!part) {\n inputParts.push(part);\n }\n input = input.slice(separatorCharIndex + 1);\n }\n else {\n }\n separatorLexemsIndex++;\n } while (!!input);\n return inputParts;\n };\n InputMaskDateTime.prototype.getParts = function (input) {\n var inputParts = [];\n var lexemsWithValue = this.lexems.filter(function (l) { return l.type !== \"separator\"; });\n var separators = this.lexems.filter(function (l) { return l.type === \"separator\"; }).map(function (s) { return s.value; });\n var curPart = \"\";\n var foundSeparator = false;\n var foundPseudoSeparator = false;\n for (var i = 0; i < input.length; i++) {\n var inputChar = input[i];\n if (inputChar.match(_mask_utils__WEBPACK_IMPORTED_MODULE_2__[\"numberDefinition\"]) || inputChar === lexemsWithValue[inputParts.length].value) {\n foundSeparator = false;\n foundPseudoSeparator = false;\n curPart += inputChar;\n }\n else {\n if (separators.indexOf(inputChar) !== -1) {\n if (!foundPseudoSeparator) {\n foundSeparator = true;\n inputParts.push(curPart);\n curPart = \"\";\n }\n }\n else {\n if (!foundSeparator) {\n foundPseudoSeparator = true;\n inputParts.push(curPart);\n curPart = \"\";\n }\n }\n }\n if (inputParts.length >= lexemsWithValue.length) {\n foundSeparator = false;\n break;\n }\n }\n if (curPart != \"\" || foundSeparator) {\n inputParts.push(curPart);\n }\n return inputParts;\n };\n InputMaskDateTime.prototype.getUnmaskedValue = function (src) {\n var _this = this;\n var input = (src === undefined || src === null) ? \"\" : src.toString();\n var inputParts = this.getParts(input);\n this.setInputDateTimeData(inputParts);\n var tempDateTime = this.createIDateTimeComposition();\n this.inputDateTimeData.forEach(function (inputData) {\n var str = inputData.value;\n if (!str || str.length < inputData.lexem.count)\n return undefined;\n tempDateTime[inputData.lexem.type] = parseInt(_this.parseTwoDigitYear(inputData));\n });\n return this.getISO_8601Format(tempDateTime);\n };\n InputMaskDateTime.prototype.getMaskedValue = function (src) {\n return this.getMaskedStrFromISO(src);\n };\n InputMaskDateTime.prototype.processInput = function (args) {\n var result = { value: args.prevValue, caretPosition: args.selectionEnd, cancelPreventDefault: false };\n var leftPart = args.prevValue.slice(0, args.selectionStart);\n var rightPart = args.prevValue.slice(args.selectionEnd);\n result.value = this._getMaskedValue(leftPart + (args.insertedChars || \"\") + rightPart);\n if (!args.insertedChars && args.inputDirection === \"backward\") {\n result.caretPosition = args.selectionStart;\n }\n else {\n result.caretPosition = this._getMaskedValue(leftPart + (args.insertedChars || \"\"), false).length;\n }\n return result;\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], InputMaskDateTime.prototype, \"min\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], InputMaskDateTime.prototype, \"max\", void 0);\n return InputMaskDateTime;\n}(_mask_pattern__WEBPACK_IMPORTED_MODULE_1__[\"InputMaskPattern\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"datetimemask\", [\n {\n name: \"min\",\n type: \"datetime\",\n enableIf: function (obj) {\n return !!obj.pattern;\n }\n },\n {\n name: \"max\",\n type: \"datetime\",\n enableIf: function (obj) {\n return !!obj.pattern;\n }\n }\n], function () {\n return new InputMaskDateTime();\n}, \"patternmask\");\n\n\n/***/ }),\n\n/***/ \"./src/mask/mask_numeric.ts\":\n/*!**********************************!*\\\n !*** ./src/mask/mask_numeric.ts ***!\n \\**********************************/\n/*! exports provided: splitString, InputMaskNumeric */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"splitString\", function() { return splitString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InputMaskNumeric\", function() { return InputMaskNumeric; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _mask_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mask_base */ \"./src/mask/mask_base.ts\");\n/* harmony import */ var _mask_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mask_utils */ \"./src/mask/mask_utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nfunction splitString(str, reverse, n) {\n if (reverse === void 0) { reverse = true; }\n if (n === void 0) { n = 3; }\n var arr = [];\n if (reverse) {\n for (var i = str.length - n; i > -n; i -= n) {\n arr.push(str.substring(i, i + n));\n }\n arr = arr.reverse();\n }\n else {\n for (var i = 0; i < str.length; i += n) {\n arr.push(str.substring(i, i + n));\n }\n }\n return arr;\n}\n/**\n * A class that describes an input mask of the `\"numeric\"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).\n *\n * The following code shows how to specify the properties of this class within a survey JSON schema:\n *\n * ```js\n * const surveyJson = {\n * \"elements\": [{\n * \"name\": \"textquestion1\"\n * \"type\": \"text\",\n * \"maskType\": \"numeric\",\n * \"maskSettings\": {\n * // Specify the properties of a numeric input mask here\n * }\n * }]\n * }\n * ```\n *\n * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))\n */\nvar InputMaskNumeric = /** @class */ (function (_super) {\n __extends(InputMaskNumeric, _super);\n function InputMaskNumeric() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InputMaskNumeric.prototype.calccaretPosition = function (leftPart, args, maskedValue) {\n var leftPartMaskedLength = !!leftPart ? this.displayNumber(this.parseNumber(leftPart), false).length : 0;\n var validCharIndex = 0;\n var result = args.selectionStart;\n // let result = 0;\n var isDeleteKeyOperation = !args.insertedChars && args.inputDirection === \"forward\";\n for (var index = 0; index < maskedValue.length; index++) {\n var currentChar = maskedValue[index];\n if (currentChar !== this.thousandsSeparator) {\n validCharIndex++;\n }\n if (validCharIndex === (leftPartMaskedLength + (isDeleteKeyOperation ? 1 : 0))) {\n if (isDeleteKeyOperation) {\n result = index;\n }\n else {\n result = index + 1;\n }\n break;\n }\n // if (validCharIndex === leftPartMaskedLength) {\n // result = index + 1;\n // break;\n // }\n }\n return result;\n };\n InputMaskNumeric.prototype.displayNumber = function (parsedNumber, insertThousandsSeparator, matchWholeMask) {\n if (insertThousandsSeparator === void 0) { insertThousandsSeparator = true; }\n if (matchWholeMask === void 0) { matchWholeMask = false; }\n var displayIntegralPart = parsedNumber.integralPart;\n if (insertThousandsSeparator && !!displayIntegralPart) {\n displayIntegralPart = splitString(displayIntegralPart).join(this.thousandsSeparator);\n }\n var displayFractionalPart = parsedNumber.fractionalPart;\n var minusSign = parsedNumber.isNegative ? \"-\" : \"\";\n if (displayFractionalPart === \"\") {\n if (matchWholeMask) {\n return (!displayIntegralPart || displayIntegralPart === \"0\") ? displayIntegralPart : minusSign + displayIntegralPart;\n }\n else {\n var displayDecimalSeparator = parsedNumber.hasDecimalSeparator && !matchWholeMask ? this.decimalSeparator : \"\";\n var src = displayIntegralPart + displayDecimalSeparator;\n return src === \"0\" ? src : minusSign + src;\n }\n }\n else {\n displayIntegralPart = displayIntegralPart || \"0\";\n displayFractionalPart = displayFractionalPart.substring(0, this.precision);\n return [minusSign + displayIntegralPart, displayFractionalPart].join(this.decimalSeparator);\n }\n };\n InputMaskNumeric.prototype.convertNumber = function (parsedNumber) {\n var value;\n var minusSign = parsedNumber.isNegative ? \"-\" : \"\";\n if (!!parsedNumber.fractionalPart) {\n value = parseFloat(minusSign + (parsedNumber.integralPart || \"0\") + \".\" + parsedNumber.fractionalPart.substring(0, this.precision));\n }\n else {\n value = parseInt(minusSign + parsedNumber.integralPart || \"0\");\n }\n return value;\n };\n InputMaskNumeric.prototype.validateNumber = function (number) {\n var min = this.min || Number.MIN_SAFE_INTEGER;\n var max = this.max || Number.MAX_SAFE_INTEGER;\n if (this.min !== undefined || this.max !== undefined) {\n var value = this.convertNumber(number);\n if (Number.isNaN(value)) {\n return true;\n }\n return value >= min && value <= max;\n }\n return true;\n };\n InputMaskNumeric.prototype.parseNumber = function (src) {\n var result = { integralPart: \"\", fractionalPart: \"\", hasDecimalSeparator: false, isNegative: false };\n var input = (src === undefined || src === null) ? \"\" : src.toString();\n if (typeof src === \"number\") {\n input = src.toString().replace(\".\", this.decimalSeparator);\n }\n var minusCharCount = 0;\n for (var inputIndex = 0; inputIndex < input.length; inputIndex++) {\n var currentChar = input[inputIndex];\n switch (currentChar) {\n case \"-\": {\n if (this.allowNegativeValues) {\n minusCharCount++;\n }\n break;\n }\n case this.decimalSeparator: {\n if (this.precision > 0) {\n result.hasDecimalSeparator = true;\n }\n break;\n }\n case this.thousandsSeparator: {\n break;\n }\n default: {\n if (currentChar.match(_mask_utils__WEBPACK_IMPORTED_MODULE_2__[\"numberDefinition\"])) {\n if (result.hasDecimalSeparator) {\n result.fractionalPart += currentChar;\n }\n else {\n result.integralPart += currentChar;\n }\n }\n }\n }\n }\n result.isNegative = minusCharCount % 2 !== 0;\n if (result.integralPart.length > 1 && result.integralPart[0] === \"0\") {\n result.integralPart = result.integralPart.slice(1);\n }\n return result;\n };\n InputMaskNumeric.prototype.getNumberMaskedValue = function (src, matchWholeMask) {\n if (matchWholeMask === void 0) { matchWholeMask = false; }\n var input = (src === undefined || src === null) ? \"\" : src;\n var parsedNumber = this.parseNumber(input);\n var displayText = this.displayNumber(parsedNumber, true, matchWholeMask);\n return displayText;\n };\n InputMaskNumeric.prototype.getNumberUnmaskedValue = function (str) {\n var parsedNumber = this.parseNumber(str);\n return this.convertNumber(parsedNumber);\n };\n InputMaskNumeric.prototype.getMaskedValue = function (src) {\n return this.getNumberMaskedValue(src, true);\n };\n InputMaskNumeric.prototype.getUnmaskedValue = function (src) {\n return this.getNumberUnmaskedValue(src);\n };\n InputMaskNumeric.prototype.processInput = function (args) {\n var result = { value: args.prevValue, caretPosition: args.selectionEnd, cancelPreventDefault: false };\n var leftPart = args.prevValue.slice(0, args.selectionStart) + (args.insertedChars || \"\");\n var rightPart = args.prevValue.slice(args.selectionEnd);\n var src = leftPart + rightPart;\n var parsedNumber = this.parseNumber(src);\n if (!this.validateNumber(parsedNumber)) {\n return result;\n }\n var maskedValue = this.getNumberMaskedValue(src);\n var caretPosition = this.calccaretPosition(leftPart, args, maskedValue);\n result.value = maskedValue;\n result.caretPosition = caretPosition;\n return result;\n };\n InputMaskNumeric.prototype.getType = function () {\n return \"numericmask\";\n };\n InputMaskNumeric.prototype.isPropertyEmpty = function (value) {\n return value === \"\" || value === undefined || value === null;\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], InputMaskNumeric.prototype, \"allowNegativeValues\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], InputMaskNumeric.prototype, \"decimalSeparator\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], InputMaskNumeric.prototype, \"precision\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], InputMaskNumeric.prototype, \"thousandsSeparator\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], InputMaskNumeric.prototype, \"min\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], InputMaskNumeric.prototype, \"max\", void 0);\n return InputMaskNumeric;\n}(_mask_base__WEBPACK_IMPORTED_MODULE_1__[\"InputMaskBase\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"numericmask\", [\n { name: \"allowNegativeValues:boolean\", default: true },\n { name: \"decimalSeparator\", default: \".\", maxLength: 1 },\n { name: \"thousandsSeparator\", default: \",\", maxLength: 1 },\n { name: \"precision:number\", default: 2, minValue: 0 },\n { name: \"min:number\" },\n { name: \"max:number\" },\n], function () {\n return new InputMaskNumeric();\n}, \"masksettings\");\n\n\n/***/ }),\n\n/***/ \"./src/mask/mask_pattern.ts\":\n/*!**********************************!*\\\n !*** ./src/mask/mask_pattern.ts ***!\n \\**********************************/\n/*! exports provided: getLiterals, getMaskedValueByPattern, getUnmaskedValueByPattern, InputMaskPattern */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLiterals\", function() { return getLiterals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getMaskedValueByPattern\", function() { return getMaskedValueByPattern; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getUnmaskedValueByPattern\", function() { return getUnmaskedValueByPattern; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InputMaskPattern\", function() { return InputMaskPattern; });\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../settings */ \"./src/settings.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _mask_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mask_base */ \"./src/mask/mask_base.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nfunction getLiterals(pattern) {\n var result = [];\n var prevCharIsEscaped = false;\n var definitionsKeys = Object.keys(_settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].maskSettings.patternDefinitions);\n for (var index = 0; index < pattern.length; index++) {\n var currentChar = pattern[index];\n if (currentChar === _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].maskSettings.patternEscapeChar) {\n prevCharIsEscaped = true;\n }\n else if (prevCharIsEscaped) {\n prevCharIsEscaped = false;\n result.push({ type: \"fixed\", value: currentChar });\n }\n else {\n result.push({ type: definitionsKeys.indexOf(currentChar) !== -1 ? \"regex\" : \"const\", value: currentChar });\n }\n }\n return result;\n}\nfunction getFirstMatch(str, strIndex, literal) {\n var currentDefinition = _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].maskSettings.patternDefinitions[literal.value];\n while (strIndex < str.length) {\n if (str[strIndex].match(currentDefinition)) {\n return strIndex;\n }\n strIndex++;\n }\n return strIndex;\n}\nfunction getMaskedValueByPattern(src, pattern, matchWholeMask) {\n var input = (src === undefined || src === null) ? \"\" : src;\n var result = \"\";\n var strIndex = 0;\n var literals = (typeof pattern === \"string\") ? getLiterals(pattern) : pattern;\n for (var maskIndex = 0; maskIndex < literals.length; maskIndex++) {\n switch (literals[maskIndex].type) {\n case \"regex\":\n if (strIndex < input.length) {\n strIndex = getFirstMatch(input, strIndex, literals[maskIndex]);\n }\n if (strIndex < input.length) {\n result += input[strIndex];\n }\n else if (matchWholeMask) {\n result += _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].maskSettings.patternPlaceholderChar;\n }\n else {\n return result;\n }\n strIndex++;\n break;\n case \"const\":\n case \"fixed\":\n result += literals[maskIndex].value;\n if (literals[maskIndex].value === input[strIndex]) {\n strIndex++;\n }\n break;\n }\n }\n return result;\n}\nfunction getUnmaskedValueByPattern(str, pattern, matchWholeMask, skipFixedChar) {\n if (skipFixedChar === void 0) { skipFixedChar = false; }\n var result = \"\";\n if (!str)\n return result;\n var literals = (typeof pattern === \"string\") ? getLiterals(pattern) : pattern;\n for (var index = 0; index < literals.length; index++) {\n if (literals[index].type === \"fixed\" && !skipFixedChar) {\n result += literals[index].value;\n }\n if (literals[index].type === \"regex\") {\n var currentDefinition = _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].maskSettings.patternDefinitions[literals[index].value];\n if (!!str[index] && str[index].match(currentDefinition)) {\n result += str[index];\n }\n else if (matchWholeMask) {\n result = \"\";\n break;\n }\n else {\n break;\n }\n }\n }\n return result;\n}\n/**\n * A class that describes an input mask of the `\"pattern\"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).\n *\n * The following code shows how to specify the properties of this class within a survey JSON schema:\n *\n * ```js\n * const surveyJson = {\n * \"elements\": [{\n * \"name\": \"textquestion1\"\n * \"type\": \"text\",\n * \"maskType\": \"pattern\",\n * \"maskSettings\": {\n * // Specify the properties of a pattern input mask here\n * }\n * }]\n * }\n * ```\n *\n * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))\n */\nvar InputMaskPattern = /** @class */ (function (_super) {\n __extends(InputMaskPattern, _super);\n function InputMaskPattern() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.literals = [];\n return _this;\n }\n InputMaskPattern.prototype.updateLiterals = function () {\n this.literals = getLiterals(this.pattern || \"\");\n };\n InputMaskPattern.prototype.onPropertyValueChanged = function (name, oldValue, newValue) {\n if (name === \"pattern\") {\n this.updateLiterals();\n }\n };\n InputMaskPattern.prototype.getType = function () {\n return \"patternmask\";\n };\n InputMaskPattern.prototype.fromJSON = function (json, options) {\n _super.prototype.fromJSON.call(this, json, options);\n this.updateLiterals();\n };\n InputMaskPattern.prototype._getMaskedValue = function (src, matchWholeMask) {\n if (matchWholeMask === void 0) { matchWholeMask = false; }\n var input = (src === undefined || src === null) ? \"\" : src;\n return getMaskedValueByPattern(input, this.literals, matchWholeMask);\n };\n InputMaskPattern.prototype._getUnmaskedValue = function (src, matchWholeMask) {\n if (matchWholeMask === void 0) { matchWholeMask = false; }\n var input = (src === undefined || src === null) ? \"\" : src;\n return getUnmaskedValueByPattern(input, this.literals, matchWholeMask);\n };\n InputMaskPattern.prototype.processInput = function (args) {\n var result = { value: args.prevValue, caretPosition: args.selectionEnd, cancelPreventDefault: false };\n if (!args.insertedChars && args.selectionStart === args.selectionEnd) {\n return result;\n }\n var leftPart = args.prevValue.slice(0, args.selectionStart) + (args.insertedChars || \"\");\n var leftPartUnmasked = getUnmaskedValueByPattern(args.prevValue.slice(0, args.selectionStart), this.literals.slice(0, args.selectionStart), false);\n var rightPartUnmasked = getUnmaskedValueByPattern(args.prevValue.slice(args.selectionEnd), this.literals.slice(args.selectionEnd), false, true);\n result.value = this._getMaskedValue(leftPartUnmasked + (args.insertedChars || \"\") + rightPartUnmasked, true);\n if (!args.insertedChars && args.inputDirection === \"backward\") {\n result.caretPosition = args.selectionStart;\n }\n else {\n result.caretPosition = this._getMaskedValue(leftPart).length;\n }\n return result;\n };\n InputMaskPattern.prototype.getMaskedValue = function (src) {\n return this._getMaskedValue(src, true);\n };\n InputMaskPattern.prototype.getUnmaskedValue = function (src) {\n return this._getUnmaskedValue(src, true);\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], InputMaskPattern.prototype, \"pattern\", void 0);\n return InputMaskPattern;\n}(_mask_base__WEBPACK_IMPORTED_MODULE_2__[\"InputMaskBase\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].addClass(\"patternmask\", [\n { name: \"pattern\" },\n], function () {\n return new InputMaskPattern();\n}, \"masksettings\");\n\n\n/***/ }),\n\n/***/ \"./src/mask/mask_utils.ts\":\n/*!********************************!*\\\n !*** ./src/mask/mask_utils.ts ***!\n \\********************************/\n/*! exports provided: numberDefinition */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"numberDefinition\", function() { return numberDefinition; });\nvar numberDefinition = /[0-9]/;\n\n\n/***/ }),\n\n/***/ \"./src/multiSelectListModel.ts\":\n/*!*************************************!*\\\n !*** ./src/multiSelectListModel.ts ***!\n \\*************************************/\n/*! exports provided: MultiSelectListModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectListModel\", function() { return MultiSelectListModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./list */ \"./src/list.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nvar MultiSelectListModel = /** @class */ (function (_super) {\n __extends(MultiSelectListModel, _super);\n function MultiSelectListModel(items, onSelectionChanged, allowSelection, selectedItems, onFilterStringChangedCallback, elementId) {\n var _this = _super.call(this, items, onSelectionChanged, allowSelection, undefined, onFilterStringChangedCallback, elementId) || this;\n _this.onItemClick = function (item) {\n if (_this.isItemDisabled(item))\n return;\n _this.isExpanded = false;\n if (_this.isItemSelected(item)) {\n _this.selectedItems.splice(_this.selectedItems.indexOf(item), 1)[0];\n !!_this.onSelectionChanged && (_this.onSelectionChanged(item, \"removed\"));\n }\n else {\n _this.selectedItems.push(item);\n !!_this.onSelectionChanged && (_this.onSelectionChanged(item, \"added\"));\n }\n };\n _this.isItemDisabled = function (itemValue) {\n return itemValue.enabled !== undefined && !itemValue.enabled;\n };\n _this.isItemSelected = function (itemValue) {\n return !!_this.allowSelection && _this.selectedItems.filter(function (item) { return _this.areSameItems(item, itemValue); }).length > 0;\n };\n _this.setSelectedItems(selectedItems || []);\n return _this;\n }\n MultiSelectListModel.prototype.updateItemState = function () {\n var _this = this;\n this.actions.forEach(function (action) {\n var isSelected = _this.isItemSelected(action);\n action.visible = _this.hideSelectedItems ? !isSelected : true;\n });\n };\n MultiSelectListModel.prototype.updateState = function () {\n var _this = this;\n this.updateItemState();\n this.isEmpty = this.renderedActions.filter(function (action) { return _this.isItemVisible(action); }).length === 0;\n };\n MultiSelectListModel.prototype.setSelectedItems = function (newItems) {\n this.selectedItems = newItems;\n this.updateState();\n };\n MultiSelectListModel.prototype.selectFocusedItem = function () {\n _super.prototype.selectFocusedItem.call(this);\n if (this.hideSelectedItems) {\n this.focusNextVisibleItem();\n }\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], MultiSelectListModel.prototype, \"hideSelectedItems\", void 0);\n return MultiSelectListModel;\n}(_list__WEBPACK_IMPORTED_MODULE_1__[\"ListModel\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/notifier.ts\":\n/*!*************************!*\\\n !*** ./src/notifier.ts ***!\n \\*************************/\n/*! exports provided: Notifier */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Notifier\", function() { return Notifier; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./actions/container */ \"./src/actions/container.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\nvar Notifier = /** @class */ (function (_super) {\n __extends(Notifier, _super);\n function Notifier(cssClasses) {\n var _this = _super.call(this) || this;\n _this.cssClasses = cssClasses;\n _this.timeout = _settings__WEBPACK_IMPORTED_MODULE_1__[\"settings\"].notifications.lifetime;\n _this.timer = undefined;\n _this.actionsVisibility = {};\n _this.showActions = true;\n _this.actionBar = new _actions_container__WEBPACK_IMPORTED_MODULE_4__[\"ActionContainer\"]();\n _this.actionBar.updateCallback = function (isResetInitialized) {\n _this.actionBar.actions.forEach(function (action) { return action.cssClasses = {}; });\n };\n _this.css = _this.cssClasses.root;\n return _this;\n }\n Notifier.prototype.getCssClass = function (type) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]()\n .append(this.cssClasses.root)\n .append(this.cssClasses.rootWithButtons, this.actionBar.visibleActions.length > 0)\n .append(this.cssClasses.info, type !== \"error\" && type !== \"success\")\n .append(this.cssClasses.error, type === \"error\")\n .append(this.cssClasses.success, type === \"success\")\n .append(this.cssClasses.shown, this.active)\n .toString();\n };\n Notifier.prototype.updateActionsVisibility = function (type) {\n var _this = this;\n this.actionBar.actions.forEach(function (action) { return action.visible = _this.showActions && (_this.actionsVisibility[action.id] === type); });\n };\n Notifier.prototype.notify = function (message, type, waitUserAction) {\n var _this = this;\n if (type === void 0) { type = \"info\"; }\n if (waitUserAction === void 0) { waitUserAction = false; }\n this.isDisplayed = true;\n setTimeout(function () {\n _this.updateActionsVisibility(type);\n _this.message = message;\n _this.active = true;\n _this.css = _this.getCssClass(type);\n if (!!_this.timer) {\n clearTimeout(_this.timer);\n _this.timer = undefined;\n }\n if (!waitUserAction) {\n _this.timer = setTimeout(function () {\n _this.timer = undefined;\n _this.active = false;\n _this.css = _this.getCssClass(type);\n }, _this.timeout);\n }\n }, 1);\n };\n Notifier.prototype.addAction = function (action, notificationType) {\n action.visible = false;\n action.innerCss = this.cssClasses.button;\n var res = this.actionBar.addAction(action);\n this.actionsVisibility[res.id] = notificationType;\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: false })\n ], Notifier.prototype, \"active\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: false })\n ], Notifier.prototype, \"isDisplayed\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Notifier.prototype, \"message\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Notifier.prototype, \"css\", void 0);\n return Notifier;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/page.ts\":\n/*!*********************!*\\\n !*** ./src/page.ts ***!\n \\*********************/\n/*! exports provided: PageModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PageModel\", function() { return PageModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./panel */ \"./src/panel.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _drag_drop_page_helper_v1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./drag-drop-page-helper-v1 */ \"./src/drag-drop-page-helper-v1.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n/**\n * The `PageModel` object describes a survey page and contains properties and methods that allow you to control the page and access its elements (panels and questions).\n *\n * [View Demo](https://surveyjs.io/form-library/examples/nps-question/ (linkStyle))\n */\nvar PageModel = /** @class */ (function (_super) {\n __extends(PageModel, _super);\n function PageModel(name) {\n if (name === void 0) { name = \"\"; }\n var _this = _super.call(this, name) || this;\n _this.hasShownValue = false;\n /**\n * A time period that a respondent has spent on this page so far; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).\n * @see maxTimeToFinish\n */\n _this.timeSpent = 0;\n _this.locTitle.onGetTextCallback = function (text) {\n if (_this.canShowPageNumber() && text)\n return _this.num + \". \" + text;\n return text;\n };\n _this.createLocalizableString(\"navigationTitle\", _this, true);\n _this.createLocalizableString(\"navigationDescription\", _this, true);\n _this.dragDropPageHelper = new _drag_drop_page_helper_v1__WEBPACK_IMPORTED_MODULE_3__[\"DragDropPageHelperV1\"](_this);\n return _this;\n }\n PageModel.prototype.getType = function () {\n return \"page\";\n };\n PageModel.prototype.toString = function () {\n return this.name;\n };\n Object.defineProperty(PageModel.prototype, \"isPage\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.canShowPageNumber = function () {\n return this.survey && this.survey.showPageNumbers;\n };\n PageModel.prototype.canShowTitle = function () {\n return this.survey && this.survey.showPageTitles;\n };\n Object.defineProperty(PageModel.prototype, \"navigationTitle\", {\n /**\n * A caption displayed on a navigation button in the TOC or progress bar. Applies when [`showTOC`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTOC) is `true` or when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar), [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `\"pages\"`, and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarShowPageTitles) is `true`.\n *\n * If navigation titles are unspecified, the navigation buttons display page [titles](https://surveyjs.io/form-library/documentation/api-reference/page-model#title) or [names](https://surveyjs.io/form-library/documentation/pagemodel#name).\n */\n get: function () {\n return this.getLocalizableStringText(\"navigationTitle\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"navigationTitle\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"locNavigationTitle\", {\n get: function () {\n return this.getLocalizableString(\"navigationTitle\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"navigationDescription\", {\n /**\n * Explanatory text displayed under a navigation button in the progress bar. Applies when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar), `SurveyModel`'s [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `\"pages\"`, and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarShowPageTitles) is `true`.\n */\n get: function () {\n return this.getLocalizableStringText(\"navigationDescription\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"navigationDescription\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"locNavigationDescription\", {\n get: function () {\n return this.getLocalizableString(\"navigationDescription\");\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.navigationLocStrChanged = function () {\n this.locNavigationTitle.strChanged();\n this.locNavigationDescription.strChanged();\n };\n Object.defineProperty(PageModel.prototype, \"renderedNavigationTitle\", {\n get: function () {\n return this.locNavigationTitle.renderedHtml || this.title || this.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"passed\", {\n get: function () {\n return this.getPropertyValue(\"passed\", false);\n },\n set: function (val) {\n this.setPropertyValue(\"passed\", val);\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.removeFromParent = function () {\n if (!!this.survey) {\n this.removeSelfFromList(this.survey.pages);\n }\n };\n PageModel.prototype.onFirstRendering = function () {\n if (this.wasShown)\n return;\n _super.prototype.onFirstRendering.call(this);\n };\n Object.defineProperty(PageModel.prototype, \"visibleIndex\", {\n /**\n * The visible index of the page. It has values from 0 to visible page count - 1.\n * @see SurveyModel.visiblePages\n * @see SurveyModel.pages\n */\n get: function () {\n return this.getPropertyValue(\"visibleIndex\", -1);\n },\n set: function (val) {\n this.setPropertyValue(\"visibleIndex\", val);\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.canRenderFirstRows = function () {\n return !this.isDesignMode || this.visibleIndex == 0;\n };\n Object.defineProperty(PageModel.prototype, \"isStartPage\", {\n /**\n * Returns `true` if this page is a start page.\n *\n * Refer to the following help topic for more information on how to configure a start page: [Start Page](https://surveyjs.io/form-library/documentation/design-survey-create-a-multi-page-survey#start-page).\n */\n get: function () {\n return this.survey && this.survey.isPageStarted(this);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"isStarted\", {\n get: function () { return this.isStartPage; },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.calcCssClasses = function (css) {\n var classes = { page: {}, error: {}, pageTitle: \"\", pageDescription: \"\", row: \"\", rowMultiple: \"\", pageRow: \"\", rowCompact: \"\", rowFadeIn: \"\", rowFadeOut: \"\", rowFadeOutActive: \"\" };\n this.copyCssClasses(classes.page, css.page);\n this.copyCssClasses(classes.error, css.error);\n if (!!css.pageTitle) {\n classes.pageTitle = css.pageTitle;\n }\n if (!!css.pageDescription) {\n classes.pageDescription = css.pageDescription;\n }\n if (!!css.row) {\n classes.row = css.row;\n }\n if (!!css.pageRow) {\n classes.pageRow = css.pageRow;\n }\n if (!!css.rowMultiple) {\n classes.rowMultiple = css.rowMultiple;\n }\n if (!!css.rowCompact) {\n classes.rowCompact = css.rowCompact;\n }\n if (!!css.rowFadeIn) {\n classes.rowFadeIn = css.rowFadeIn;\n }\n if (!!css.rowFadeOut) {\n classes.rowFadeOut = css.rowFadeOut;\n }\n if (!!css.rowFadeOutActive) {\n classes.rowFadeOutActive = css.rowFadeOutActive;\n }\n if (this.survey) {\n this.survey.updatePageCssClasses(this, classes);\n }\n return classes;\n };\n Object.defineProperty(PageModel.prototype, \"cssTitle\", {\n get: function () {\n if (!this.cssClasses.page)\n return \"\";\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(this.cssClasses.page.title)\n .toString();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"cssRoot\", {\n get: function () {\n if (!this.cssClasses.page || !this.survey)\n return \"\";\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(this.cssClasses.page.root)\n .append(this.cssClasses.page.emptyHeaderRoot, !this.survey.renderedHasHeader &&\n !(this.survey.isShowProgressBarOnTop && !this.survey.isStaring))\n .toString();\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.getCssError = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(_super.prototype.getCssError.call(this, cssClasses))\n .append(cssClasses.page.errorsContainer).toString();\n };\n Object.defineProperty(PageModel.prototype, \"navigationButtonsVisibility\", {\n /**\n * Set this property to \"hide\" to make \"Prev\", \"Next\" and \"Complete\" buttons are invisible for this page. Set this property to \"show\" to make these buttons visible, even if survey showNavigationButtons property is false.\n * @see SurveyMode.showNavigationButtons\n */\n get: function () {\n return this.getPropertyValue(\"navigationButtonsVisibility\");\n },\n set: function (val) {\n this.setPropertyValue(\"navigationButtonsVisibility\", val.toLowerCase());\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"isActive\", {\n /**\n * Returns `true` if this is the current page.\n * @see SurveyModel.currentPage\n */\n get: function () {\n return !!this.survey && this.survey.currentPage === this;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"wasShown\", {\n /**\n * Returns `true` if the respondent has already seen this page during the current session.\n */\n get: function () {\n return this.hasShownValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"hasShown\", {\n get: function () {\n return this.wasShown;\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.setWasShown = function (val) {\n if (val == this.hasShownValue)\n return;\n this.hasShownValue = val;\n if (this.isDesignMode || val !== true)\n return;\n var els = this.elements;\n for (var i = 0; i < els.length; i++) {\n if (els[i].isPanel) {\n els[i].randomizeElements(this.areQuestionsRandomized);\n }\n }\n this.randomizeElements(this.areQuestionsRandomized);\n };\n /**\n * Scrolls this page to the top.\n */\n PageModel.prototype.scrollToTop = function () {\n if (!!this.survey) {\n this.survey.scrollElementToTop(this, null, this, this.id);\n }\n };\n // public get timeSpent(): number {\n // return this.getPropertyValue(\"timeSpent\", 0);\n // }\n // public set timeSpent(val: number) {\n // this.setPropertyValue(\"timeSpent\", val);\n // }\n /**\n * Returns a list of all panels on this page.\n * @param visibleOnly A Boolean value that specifies whether to include only visible panels.\n * @param includingDesignTime For internal use.\n */\n PageModel.prototype.getAllPanels = function (visibleOnly, includingDesignTime) {\n if (visibleOnly === void 0) { visibleOnly = false; }\n if (includingDesignTime === void 0) { includingDesignTime = false; }\n var result = new Array();\n this.addPanelsIntoList(result, visibleOnly, includingDesignTime);\n return result;\n };\n PageModel.prototype.getPanels = function (visibleOnly, includingDesignTime) {\n if (visibleOnly === void 0) { visibleOnly = false; }\n if (includingDesignTime === void 0) { includingDesignTime = false; }\n return this.getAllPanels(visibleOnly, includingDesignTime);\n };\n Object.defineProperty(PageModel.prototype, \"maxTimeToFinish\", {\n /**\n * A time period that a respondent has to complete this page; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).\n *\n * A negative value or 0 sets an unlimited time period.\n *\n * Alternatively, you can use the `SurveyModel`'s [`maxTimeToFinishPage`](https://surveyjs.io/form-library/documentation/surveymodel#maxTimeToFinishPage) property to specify identical time periods for all survey pages.\n * @see timeSpent\n */\n get: function () {\n return this.getPropertyValue(\"maxTimeToFinish\", 0);\n },\n set: function (val) {\n this.setPropertyValue(\"maxTimeToFinish\", val);\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.onNumChanged = function (value) { };\n PageModel.prototype.onVisibleChanged = function () {\n if (this.isRandomizing)\n return;\n _super.prototype.onVisibleChanged.call(this);\n if (this.survey != null) {\n this.survey.pageVisibilityChanged(this, this.isVisible);\n }\n };\n PageModel.prototype.getDragDropInfo = function () { return this.dragDropPageHelper.getDragDropInfo(); };\n PageModel.prototype.dragDropStart = function (src, target, nestedPanelDepth) {\n if (nestedPanelDepth === void 0) { nestedPanelDepth = -1; }\n this.dragDropPageHelper.dragDropStart(src, target, nestedPanelDepth);\n };\n PageModel.prototype.dragDropMoveTo = function (destination, isBottom, isEdge) {\n if (isBottom === void 0) { isBottom = false; }\n if (isEdge === void 0) { isEdge = false; }\n return this.dragDropPageHelper.dragDropMoveTo(destination, isBottom, isEdge);\n };\n PageModel.prototype.dragDropFinish = function (isCancel) {\n if (isCancel === void 0) { isCancel = false; }\n return this.dragDropPageHelper.dragDropFinish(isCancel);\n };\n PageModel.prototype.ensureRowsVisibility = function () {\n _super.prototype.ensureRowsVisibility.call(this);\n this.getPanels().forEach(function (panel) { return panel.ensureRowsVisibility(); });\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: -1, onSet: function (val, target) { return target.onNumChanged(val); } })\n ], PageModel.prototype, \"num\", void 0);\n return PageModel;\n}(_panel__WEBPACK_IMPORTED_MODULE_1__[\"PanelModelBase\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"page\", [\n {\n name: \"navigationButtonsVisibility\",\n default: \"inherit\",\n choices: [\"inherit\", \"show\", \"hide\"],\n },\n { name: \"maxTimeToFinish:number\", default: 0, minValue: 0 },\n {\n name: \"navigationTitle\",\n visibleIf: function (obj) {\n return !!obj.survey && (obj.survey.progressBarType === \"buttons\" || obj.survey.showTOC);\n },\n serializationProperty: \"locNavigationTitle\",\n },\n {\n name: \"navigationDescription\",\n visibleIf: function (obj) {\n return !!obj.survey && obj.survey.progressBarType === \"buttons\";\n },\n serializationProperty: \"locNavigationDescription\",\n },\n { name: \"title:text\", serializationProperty: \"locTitle\" },\n { name: \"description:text\", serializationProperty: \"locDescription\" },\n], function () {\n return new PageModel();\n}, \"panelbase\");\n\n\n/***/ }),\n\n/***/ \"./src/panel.ts\":\n/*!**********************!*\\\n !*** ./src/panel.ts ***!\n \\**********************/\n/*! exports provided: QuestionRowModel, PanelModelBase, PanelModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"QuestionRowModel\", function() { return QuestionRowModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PanelModelBase\", function() { return PanelModelBase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PanelModel\", function() { return PanelModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _survey_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./survey-element */ \"./src/survey-element.ts\");\n/* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./question */ \"./src/question.ts\");\n/* harmony import */ var _questionfactory__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./questionfactory */ \"./src/questionfactory.ts\");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./error */ \"./src/error.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _drag_drop_panel_helper_v1__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./drag-drop-panel-helper-v1 */ \"./src/drag-drop-panel-helper-v1.ts\");\n/* harmony import */ var _utils_animation__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/animation */ \"./src/utils/animation.ts\");\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./global_variables_utils */ \"./src/global_variables_utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar QuestionRowModel = /** @class */ (function (_super) {\n __extends(QuestionRowModel, _super);\n function QuestionRowModel(panel) {\n var _this = _super.call(this) || this;\n _this.panel = panel;\n _this._scrollableParent = undefined;\n _this._updateVisibility = undefined;\n _this.visibleElementsAnimation = new _utils_animation__WEBPACK_IMPORTED_MODULE_11__[\"AnimationGroup\"](_this.getVisibleElementsAnimationOptions(), function (value) {\n _this.setPropertyValue(\"visibleElements\", value);\n _this.setWidth();\n }, function () { return _this.visibleElements; });\n _this.idValue = QuestionRowModel.getRowId();\n _this.visible = panel.areInvisibleElementsShowing;\n _this.createNewArray(\"elements\");\n _this.createNewArray(\"visibleElements\");\n return _this;\n }\n QuestionRowModel.getRowId = function () {\n return \"pr_\" + QuestionRowModel.rowCounter++;\n };\n QuestionRowModel.prototype.startLazyRendering = function (rowContainerDiv, findScrollableContainer) {\n var _this = this;\n if (findScrollableContainer === void 0) { findScrollableContainer = _utils_utils__WEBPACK_IMPORTED_MODULE_8__[\"findScrollableParent\"]; }\n if (!_global_variables_utils__WEBPACK_IMPORTED_MODULE_12__[\"DomDocumentHelper\"].isAvailable())\n return;\n this._scrollableParent = findScrollableContainer(rowContainerDiv);\n // if this._scrollableParent is html the scroll event isn't fired, so we should use window\n if (this._scrollableParent === _global_variables_utils__WEBPACK_IMPORTED_MODULE_12__[\"DomDocumentHelper\"].getDocumentElement()) {\n this._scrollableParent = _global_variables_utils__WEBPACK_IMPORTED_MODULE_12__[\"DomWindowHelper\"].getWindow();\n }\n var hasScroll = this._scrollableParent.scrollHeight > this._scrollableParent.clientHeight;\n this.isNeedRender = !hasScroll;\n if (hasScroll) {\n this._updateVisibility = function () {\n var isRowContainerDivVisible = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__[\"isElementVisible\"])(rowContainerDiv, 50);\n if (!_this.isNeedRender && isRowContainerDivVisible) {\n _this.isNeedRender = true;\n _this.stopLazyRendering();\n }\n };\n setTimeout(function () {\n if (!!_this._scrollableParent &&\n !!_this._scrollableParent.addEventListener) {\n _this._scrollableParent.addEventListener(\"scroll\", _this._updateVisibility);\n }\n _this.ensureVisibility();\n }, 10);\n }\n };\n QuestionRowModel.prototype.ensureVisibility = function () {\n if (!!this._updateVisibility) {\n this._updateVisibility();\n }\n };\n QuestionRowModel.prototype.stopLazyRendering = function () {\n if (!!this._scrollableParent &&\n !!this._updateVisibility &&\n !!this._scrollableParent.removeEventListener) {\n this._scrollableParent.removeEventListener(\"scroll\", this._updateVisibility);\n }\n this._scrollableParent = undefined;\n this._updateVisibility = undefined;\n };\n QuestionRowModel.prototype.setIsLazyRendering = function (val) {\n this.isLazyRenderingValue = val;\n this.isNeedRender = !val;\n };\n QuestionRowModel.prototype.isLazyRendering = function () {\n return this.isLazyRenderingValue === true;\n };\n Object.defineProperty(QuestionRowModel.prototype, \"id\", {\n get: function () {\n return this.idValue;\n },\n enumerable: false,\n configurable: true\n });\n QuestionRowModel.prototype.equalsCore = function (obj) {\n return this == obj;\n };\n Object.defineProperty(QuestionRowModel.prototype, \"elements\", {\n get: function () {\n return this.getPropertyValue(\"elements\");\n },\n enumerable: false,\n configurable: true\n });\n QuestionRowModel.prototype.getVisibleElementsAnimationOptions = function () {\n var _this = this;\n var beforeRunAnimation = function (el) {\n el.style.setProperty(\"--animation-height\", el.offsetHeight + \"px\");\n el.style.setProperty(\"--animation-width\", Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__[\"getElementWidth\"])(el) + \"px\");\n };\n return {\n isAnimationEnabled: function () { var _a; return _settings__WEBPACK_IMPORTED_MODULE_7__[\"settings\"].animationEnabled && ((_a = _this.panel) === null || _a === void 0 ? void 0 : _a.animationAllowed) && _this.visible; },\n getAnimatedElement: function (element) { return element.getWrapperElement(); },\n getLeaveOptions: function (element) {\n var surveyElement = element;\n var cssClasses = element.isPanel ? surveyElement.cssClasses.panel : surveyElement.cssClasses;\n return {\n cssClass: cssClasses.fadeOut,\n onBeforeRunAnimation: beforeRunAnimation\n };\n },\n getEnterOptions: function (element) {\n var surveyElement = element;\n var cssClasses = element.isPanel ? surveyElement.cssClasses.panel : surveyElement.cssClasses;\n return {\n cssClass: cssClasses.fadeIn,\n onBeforeRunAnimation: beforeRunAnimation\n };\n }\n };\n };\n Object.defineProperty(QuestionRowModel.prototype, \"visibleElements\", {\n get: function () {\n return this.getPropertyValue(\"visibleElements\");\n },\n set: function (val) {\n if (!val.length) {\n this.visible = false;\n this.visibleElementsAnimation.cancel();\n return;\n }\n else {\n this.visible = true;\n }\n this.visibleElementsAnimation.sync(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionRowModel.prototype, \"visible\", {\n get: function () {\n return this.getPropertyValue(\"visible\", true);\n },\n set: function (val) {\n this.setPropertyValue(\"visible\", val);\n this.onVisibleChangedCallback && this.onVisibleChangedCallback();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionRowModel.prototype, \"isNeedRender\", {\n get: function () {\n return this.getPropertyValue(\"isneedrender\", true);\n },\n set: function (val) {\n this.setPropertyValue(\"isneedrender\", val);\n },\n enumerable: false,\n configurable: true\n });\n QuestionRowModel.prototype.updateVisible = function () {\n var visElements = [];\n for (var i = 0; i < this.elements.length; i++) {\n if (this.elements[i].isVisible) {\n visElements.push(this.elements[i]);\n }\n }\n this.visibleElements = visElements;\n return;\n };\n QuestionRowModel.prototype.addElement = function (q) {\n this.elements.push(q);\n this.updateVisible();\n };\n Object.defineProperty(QuestionRowModel.prototype, \"index\", {\n get: function () {\n return this.panel.rows.indexOf(this);\n },\n enumerable: false,\n configurable: true\n });\n QuestionRowModel.prototype.setWidth = function () {\n var _a;\n var visCount = this.visibleElements.length;\n if (visCount == 0)\n return;\n var isSingleInRow = this.visibleElements.length === 1;\n var counter = 0;\n var preSetWidthElements = [];\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n if (el.isVisible) {\n el.isSingleInRow = isSingleInRow;\n var width = this.getElementWidth(el);\n if (!!width) {\n el.renderWidth = this.getRenderedWidthFromWidth(width);\n preSetWidthElements.push(el);\n }\n if (counter < visCount - 1 && !(this.panel.isDefaultV2Theme || ((_a = this.panel.parentQuestion) === null || _a === void 0 ? void 0 : _a.isDefaultV2Theme))) {\n el.rightIndent = 1;\n }\n else {\n el.rightIndent = 0;\n }\n counter++;\n }\n else {\n el.renderWidth = \"\";\n }\n }\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n if (!el.isVisible || preSetWidthElements.indexOf(el) > -1)\n continue;\n if (preSetWidthElements.length == 0) {\n el.renderWidth = Number.parseFloat((100 / visCount).toFixed(6)) + \"%\";\n }\n else {\n el.renderWidth = this.getRenderedCalcWidth(el, preSetWidthElements, visCount);\n }\n }\n };\n QuestionRowModel.prototype.getRenderedCalcWidth = function (el, preSetWidthElements, visCount) {\n var expression = \"100%\";\n for (var i = 0; i < preSetWidthElements.length; i++) {\n expression += \" - \" + preSetWidthElements[i].renderWidth;\n }\n var calcWidthEl = visCount - preSetWidthElements.length;\n if (calcWidthEl > 1) {\n expression = \"(\" + expression + \")/\" + calcWidthEl.toString();\n }\n return \"calc(\" + expression + \")\";\n };\n QuestionRowModel.prototype.getElementWidth = function (el) {\n var width = el.width;\n if (!width || typeof width !== \"string\")\n return \"\";\n return width.trim();\n };\n QuestionRowModel.prototype.getRenderedWidthFromWidth = function (width) {\n return _helpers__WEBPACK_IMPORTED_MODULE_1__[\"Helpers\"].isNumber(width) ? width + \"px\" : width;\n };\n QuestionRowModel.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.stopLazyRendering();\n };\n QuestionRowModel.prototype.getRowCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__[\"CssClassBuilder\"]()\n .append(this.panel.cssClasses.row)\n .append(this.panel.cssClasses.rowCompact, this.panel[\"isCompact\"])\n .append(this.panel.cssClasses.pageRow, this.panel.isPage || (!!this.panel.originalPage))\n .append(this.panel.cssClasses.rowMultiple, this.visibleElements.length > 1)\n .toString();\n };\n QuestionRowModel.prototype.setRootElement = function (element) {\n this.rootElement = element;\n };\n QuestionRowModel.prototype.getRootElement = function () {\n return this.rootElement;\n };\n QuestionRowModel.rowCounter = 100;\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: null })\n ], QuestionRowModel.prototype, \"dragTypeOverMe\", void 0);\n return QuestionRowModel;\n}(_base__WEBPACK_IMPORTED_MODULE_2__[\"Base\"]));\n\n/**\n * A base class for the [PanelModel](https://surveyjs.io/form-library/documentation/panelmodel) and [PageModel](https://surveyjs.io/form-library/documentation/pagemodel) classes.\n */\nvar PanelModelBase = /** @class */ (function (_super) {\n __extends(PanelModelBase, _super);\n function PanelModelBase(name) {\n if (name === void 0) { name = \"\"; }\n var _this = _super.call(this, name) || this;\n _this.isQuestionsReady = false;\n _this.questionsValue = new Array();\n _this.rowsAnimation = new _utils_animation__WEBPACK_IMPORTED_MODULE_11__[\"AnimationGroup\"](_this.getRowsAnimationOptions(), function (value) {\n _this.setPropertyValue(\"visibleRows\", value);\n }, function () { return _this.visibleRows; });\n _this.isRandomizing = false;\n _this.locCountRowUpdates = 0;\n _this.createNewArray(\"rows\", function (el, index) { _this.onAddRow(el); }, function (el) { _this.onRemoveRow(el); });\n _this.createNewArray(\"visibleRows\");\n _this.elementsValue = _this.createNewArray(\"elements\", _this.onAddElement.bind(_this), _this.onRemoveElement.bind(_this));\n _this.id = PanelModelBase.getPanelId();\n _this.addExpressionProperty(\"visibleIf\", function (obj, res) { _this.visible = res === true; }, function (obj) { return !_this.areInvisibleElementsShowing; });\n _this.addExpressionProperty(\"enableIf\", function (obj, res) { _this.readOnly = res === false; });\n _this.addExpressionProperty(\"requiredIf\", function (obj, res) { _this.isRequired = res === true; });\n _this.createLocalizableString(\"requiredErrorText\", _this);\n _this.registerPropertyChangedHandlers([\"questionTitleLocation\"], function () {\n _this.onVisibleChanged.bind(_this);\n _this.updateElementCss(true);\n });\n _this.registerPropertyChangedHandlers([\"questionStartIndex\", \"showQuestionNumbers\"], function () {\n _this.updateVisibleIndexes();\n });\n _this.dragDropPanelHelper = new _drag_drop_panel_helper_v1__WEBPACK_IMPORTED_MODULE_10__[\"DragDropPanelHelperV1\"](_this);\n return _this;\n }\n PanelModelBase.getPanelId = function () {\n return \"sp_\" + PanelModelBase.panelCounter++;\n };\n PanelModelBase.prototype.onAddRow = function (row) {\n var _this = this;\n this.onRowVisibleChanged();\n row.onVisibleChangedCallback = function () { return _this.onRowVisibleChanged(); };\n };\n PanelModelBase.prototype.getRowsAnimationOptions = function () {\n var _this = this;\n var beforeRunAnimation = function (el) {\n el.style.setProperty(\"--animation-height\", el.offsetHeight + \"px\");\n };\n return {\n isAnimationEnabled: function () { return _settings__WEBPACK_IMPORTED_MODULE_7__[\"settings\"].animationEnabled && _this.animationAllowed; },\n getAnimatedElement: function (row) { return row.getRootElement(); },\n getLeaveOptions: function (_) {\n return { cssClass: _this.cssClasses.rowFadeOut,\n onBeforeRunAnimation: beforeRunAnimation\n };\n },\n getEnterOptions: function (_) {\n return {\n cssClass: _this.cssClasses.rowFadeIn,\n onBeforeRunAnimation: beforeRunAnimation\n };\n }\n };\n };\n Object.defineProperty(PanelModelBase.prototype, \"visibleRows\", {\n get: function () {\n return this.getPropertyValue(\"visibleRows\");\n },\n set: function (val) {\n this.rowsAnimation.sync(val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.onRemoveRow = function (row) {\n row.visibleElementsAnimation.cancel();\n this.visibleRows = this.rows.filter(function (row) { return row.visible; });\n row.onVisibleChangedCallback = undefined;\n };\n PanelModelBase.prototype.onRowVisibleChanged = function () {\n this.visibleRows = this.rows.filter(function (row) { return row.visible; });\n };\n PanelModelBase.prototype.getType = function () {\n return \"panelbase\";\n };\n PanelModelBase.prototype.setSurveyImpl = function (value, isLight) {\n this.animationAllowed = false;\n _super.prototype.setSurveyImpl.call(this, value, isLight);\n if (this.isDesignMode)\n this.onVisibleChanged();\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].setSurveyImpl(value, isLight);\n }\n this.animationAllowed = true;\n };\n PanelModelBase.prototype.endLoadingFromJson = function () {\n _super.prototype.endLoadingFromJson.call(this);\n this.updateDescriptionVisibility(this.description);\n this.markQuestionListDirty();\n this.onRowsChanged();\n };\n Object.defineProperty(PanelModelBase.prototype, \"hasTitle\", {\n get: function () {\n return ((this.canShowTitle() && this.locTitle.textOrHtml.length > 0) ||\n (this.isDesignMode && (this.showTitle && _settings__WEBPACK_IMPORTED_MODULE_7__[\"settings\"].designMode.showEmptyTitles)));\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.delete = function (doDispose) {\n if (doDispose === void 0) { doDispose = true; }\n this.removeFromParent();\n if (doDispose) {\n this.dispose();\n }\n };\n PanelModelBase.prototype.removeFromParent = function () { };\n PanelModelBase.prototype.canShowTitle = function () { return true; };\n Object.defineProperty(PanelModelBase.prototype, \"_showDescription\", {\n get: function () {\n if (!this.hasTitle && this.isDesignMode)\n return false;\n return this.survey && this.survey.showPageTitles && this.hasDescription ||\n (this.showDescription && this.isDesignMode &&\n _settings__WEBPACK_IMPORTED_MODULE_7__[\"settings\"].designMode.showEmptyDescriptions);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.localeChanged = function () {\n _super.prototype.localeChanged.call(this);\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].localeChanged();\n }\n };\n PanelModelBase.prototype.locStrsChanged = function () {\n _super.prototype.locStrsChanged.call(this);\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].locStrsChanged();\n }\n };\n Object.defineProperty(PanelModelBase.prototype, \"renderedNavigationTitle\", {\n get: function () {\n return this.title || this.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"requiredText\", {\n /**\n * Returns a character or text string that indicates a required panel/page.\n * @see SurveyModel.requiredText\n * @see isRequired\n */\n get: function () {\n return !!this.survey && this.isRequired\n ? this.survey.requiredText\n : \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"titlePattern\", {\n get: function () {\n return !!this.survey ? this.survey.questionTitlePattern : \"numTitleRequire\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"isRequireTextOnStart\", {\n get: function () {\n return this.isRequired && this.titlePattern == \"requireNumTitle\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"isRequireTextBeforeTitle\", {\n get: function () {\n return this.isRequired && this.titlePattern == \"numRequireTitle\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"isRequireTextAfterTitle\", {\n get: function () {\n return this.isRequired && this.titlePattern == \"numTitleRequire\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"requiredErrorText\", {\n /**\n * Specifies a custom error message for a required panel/page.\n * @see isRequired\n * @see requiredIf\n */\n get: function () {\n return this.getLocalizableStringText(\"requiredErrorText\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"requiredErrorText\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"locRequiredErrorText\", {\n get: function () {\n return this.getLocalizableString(\"requiredErrorText\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"questionsOrder\", {\n /**\n * Specifies the sort order of questions in the panel/page.\n *\n * Possible values:\n *\n * - `\"initial\"` - Preserves the original order of questions.\n * - `\"random\"` - Displays questions in random order.\n * - `\"default\"` (default) - Inherits the setting from the Survey's `questionsOrder` property.\n * @see SurveyModel.questionsOrder\n * @see areQuestionsRandomized\n */\n get: function () {\n return this.getPropertyValue(\"questionsOrder\");\n },\n set: function (val) {\n this.setPropertyValue(\"questionsOrder\", val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.canRandomize = function (isRandom) {\n return isRandom && (this.questionsOrder !== \"initial\") || this.questionsOrder === \"random\";\n };\n PanelModelBase.prototype.randomizeElements = function (isRandom) {\n if (!this.canRandomize(isRandom) || this.isRandomizing)\n return;\n this.isRandomizing = true;\n var oldElements = [];\n var elements = this.elements;\n for (var i = 0; i < elements.length; i++) {\n oldElements.push(elements[i]);\n }\n var newElements = _helpers__WEBPACK_IMPORTED_MODULE_1__[\"Helpers\"].randomizeArray(oldElements);\n this.setArrayPropertyDirectly(\"elements\", newElements, false);\n this.updateRows();\n this.updateVisibleIndexes();\n this.isRandomizing = false;\n };\n Object.defineProperty(PanelModelBase.prototype, \"areQuestionsRandomized\", {\n /**\n * Returns `true` if elements in this panel/page are arranged in random order.\n * @see questionsOrder\n */\n get: function () {\n var order = this.questionsOrder == \"default\" && this.survey\n ? this.survey.questionsOrder\n : this.questionsOrder;\n return order == \"random\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"parent\", {\n /**\n * Returns a survey element (panel or page) that contains this panel and allows you to move this question to a different survey element.\n *\n * This property is always `null` for the `PageModel` object.\n */\n get: function () {\n return this.getPropertyValue(\"parent\", null);\n },\n set: function (val) {\n this.setPropertyValue(\"parent\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"depth\", {\n get: function () {\n if (this.parent == null)\n return 0;\n return this.parent.depth + 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"visibleIf\", {\n /**\n * A Boolean expression. If it evaluates to `false`, this panel/page becomes hidden.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see visible\n * @see isVisible\n */\n get: function () {\n return this.getPropertyValue(\"visibleIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"visibleIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.calcCssClasses = function (css) {\n var classes = { panel: {}, error: {}, row: \"\", rowFadeIn: \"\", rowFadeOut: \"\", rowFadeOutActive: \"\", rowMultiple: \"\", pageRow: \"\", rowCompact: \"\" };\n this.copyCssClasses(classes.panel, css.panel);\n this.copyCssClasses(classes.error, css.error);\n if (!!css.pageRow) {\n classes.pageRow = css.pageRow;\n }\n if (!!css.rowCompact) {\n classes.rowCompact = css.rowCompact;\n }\n if (!!css.row) {\n classes.row = css.row;\n }\n if (!!css.rowFadeIn) {\n classes.rowFadeIn = css.rowFadeIn;\n }\n if (!!css.rowFadeOut) {\n classes.rowFadeOut = css.rowFadeOut;\n }\n if (!!css.rowFadeOutActive) {\n classes.rowFadeOutActive = css.rowFadeOutActive;\n }\n if (!!css.rowMultiple) {\n classes.rowMultiple = css.rowMultiple;\n }\n if (this.survey) {\n this.survey.updatePanelCssClasses(this, classes);\n }\n return classes;\n };\n Object.defineProperty(PanelModelBase.prototype, \"id\", {\n /**\n * An auto-generated unique element identifier.\n */\n get: function () {\n return this.getPropertyValue(\"id\");\n },\n set: function (val) {\n this.setPropertyValue(\"id\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"isPanel\", {\n /**\n * Returns `true` if the survey element is a panel.\n * @see Base.getType\n */\n get: function () {\n return false;\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getPanel = function () {\n return this;\n };\n PanelModelBase.prototype.getLayoutType = function () {\n return \"row\";\n };\n PanelModelBase.prototype.isLayoutTypeSupported = function (layoutType) {\n return layoutType !== \"flow\";\n };\n Object.defineProperty(PanelModelBase.prototype, \"questions\", {\n /**\n * An array of all questions within this panel/page. Includes questions within nested panels.\n * @see elements\n */\n get: function () {\n if (!this.isQuestionsReady) {\n this.questionsValue = [];\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n if (el.isPanel) {\n var qs = el.questions;\n for (var j = 0; j < qs.length; j++) {\n this.questionsValue.push(qs[j]);\n }\n }\n else {\n this.questionsValue.push(el);\n }\n }\n this.isQuestionsReady = true;\n }\n return this.questionsValue;\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getQuestions = function (includeNested) {\n var res = this.questions;\n if (!includeNested)\n return res;\n var res2 = [];\n res.forEach(function (q) {\n res2.push(q);\n q.getNestedQuestions().forEach(function (nQ) { return res2.push(nQ); });\n });\n return res2;\n };\n PanelModelBase.prototype.getValidName = function (name) {\n if (!!name)\n return name.trim();\n return name;\n };\n /**\n * Returns a question with a specified `name`. This method does not find questions within nested panels.\n * @param name A question name.\n */\n PanelModelBase.prototype.getQuestionByName = function (name) {\n var questions = this.questions;\n for (var i = 0; i < questions.length; i++) {\n if (questions[i].name == name)\n return questions[i];\n }\n return null;\n };\n /**\n * Returns a survey element with a specified `name`. This method can find survey elements within nested elements.\n * @param name An element name.\n */\n PanelModelBase.prototype.getElementByName = function (name) {\n var elements = this.elements;\n for (var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (el.name == name)\n return el;\n var pnl = el.getPanel();\n if (!!pnl) {\n var res = pnl.getElementByName(name);\n if (!!res)\n return res;\n }\n }\n return null;\n };\n PanelModelBase.prototype.getQuestionByValueName = function (valueName) {\n var questions = this.questions;\n for (var i = 0; i < questions.length; i++) {\n if (questions[i].getValueName() == valueName)\n return questions[i];\n }\n return null;\n };\n /**\n * Returns a JSON object with question values nested in the panel/page.\n * @see getDisplayValue\n */\n PanelModelBase.prototype.getValue = function () {\n var data = {};\n this.collectValues(data, 0);\n return data;\n };\n PanelModelBase.prototype.collectValues = function (data, level) {\n var elements = this.elements;\n if (level === 0) {\n elements = this.questions;\n }\n var hasValue = false;\n for (var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (el.isPanel || el.isPage) {\n var panelData = {};\n if (el.collectValues(panelData, level - 1)) {\n data[el.name] = panelData;\n hasValue = true;\n }\n }\n else {\n var q = el;\n if (!q.isEmpty()) {\n var valueName = q.getValueName();\n data[valueName] = q.value;\n if (!!this.data) {\n var comment = this.data.getComment(valueName);\n if (!!comment) {\n data[valueName + _base__WEBPACK_IMPORTED_MODULE_2__[\"Base\"].commentSuffix] = comment;\n }\n }\n }\n hasValue = true;\n }\n }\n return true;\n };\n /**\n * Returns a JSON object with display texts that correspond to question values nested in the panel/page.\n * @param keysAsText Pass `true` if not only values in the object should be display texts, but also keys. Default value: `false`.\n * @see getValue\n */\n PanelModelBase.prototype.getDisplayValue = function (keysAsText) {\n var data = {};\n var questions = this.questions;\n for (var i = 0; i < questions.length; i++) {\n var q = questions[i];\n if (q.isEmpty())\n continue;\n var valueName = keysAsText ? q.title : q.getValueName();\n data[valueName] = q.getDisplayValue(keysAsText);\n }\n return data;\n };\n /**\n * Returns a JSON object with comments left to questions within this panel/page. Question names are used as keys.\n */\n PanelModelBase.prototype.getComments = function () {\n var comments = {};\n if (!this.data)\n return comments;\n var questions = this.questions;\n for (var i = 0; i < questions.length; i++) {\n var q = questions[i];\n var comment = this.data.getComment(q.getValueName());\n if (!!comment) {\n comments[q.getValueName()] = comment;\n }\n }\n return comments;\n };\n /**\n * Removes values that cannot be assigned to nested questions, for example, choices unlisted in the `choices` array.\n *\n * Call this method after you assign new question values in code to ensure that they are acceptable.\n *\n * > This method does not remove values for invisible questions and values that fail validation. Call the `validate()` method to validate newly assigned values.\n *\n * @see validate\n */\n PanelModelBase.prototype.clearIncorrectValues = function () {\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].clearIncorrectValues();\n }\n };\n /**\n * Empties the `errors` array for this panel/page and all its child elements (panels and questions).\n * @see errors\n */\n PanelModelBase.prototype.clearErrors = function () {\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].clearErrors();\n }\n this.errors = [];\n };\n PanelModelBase.prototype.markQuestionListDirty = function () {\n this.isQuestionsReady = false;\n if (this.parent)\n this.parent.markQuestionListDirty();\n };\n Object.defineProperty(PanelModelBase.prototype, \"elements\", {\n /**\n * An array of all survey elements (questions or panels) within this panel/page. Does not include questions within nested panels.\n * @see questions\n */\n get: function () {\n return this.elementsValue;\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getElementsInDesign = function (includeHidden) {\n if (includeHidden === void 0) { includeHidden = false; }\n return this.elements;\n };\n /**\n * Checks whether a given element belongs to this panel/page or nested panels.\n * @param element A survey element to check.\n */\n PanelModelBase.prototype.containsElement = function (element) {\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n if (el == element)\n return true;\n var pnl = el.getPanel();\n if (!!pnl) {\n if (pnl.containsElement(element))\n return true;\n }\n }\n return false;\n };\n Object.defineProperty(PanelModelBase.prototype, \"isRequired\", {\n /**\n * Makes the panel/page require an answer at least in one nested question. If a respondent leaves the panel/page without any answers, the survey displays a validation error.\n * @see requiredIf\n * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)\n */\n get: function () {\n return this.getPropertyValue(\"isRequired\");\n },\n set: function (val) {\n this.setPropertyValue(\"isRequired\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"requiredIf\", {\n /**\n * A Boolean expression. If it evaluates to `true`, this panel/page becomes required (at least one question in the panel/page should have an answer).\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see isRequired\n */\n get: function () {\n return this.getPropertyValue(\"requiredIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"requiredIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.searchText = function (text, founded) {\n _super.prototype.searchText.call(this, text, founded);\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].searchText(text, founded);\n }\n };\n PanelModelBase.prototype.hasErrors = function (fireCallback, focusOnFirstError, rec) {\n if (fireCallback === void 0) { fireCallback = true; }\n if (focusOnFirstError === void 0) { focusOnFirstError = false; }\n if (rec === void 0) { rec = null; }\n return !this.validate(fireCallback, focusOnFirstError, rec);\n };\n /**\n * Validates questions within this panel or page and returns `false` if the validation fails.\n * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.\n * @param focusOnFirstError *(Optional)* Pass `true` if you want to focus the first question with a validation error.\n * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)\n */\n PanelModelBase.prototype.validate = function (fireCallback, focusOnFirstError, rec) {\n if (fireCallback === void 0) { fireCallback = true; }\n if (focusOnFirstError === void 0) { focusOnFirstError = false; }\n if (rec === void 0) { rec = null; }\n rec = !!rec\n ? rec\n : {\n fireCallback: fireCallback,\n focuseOnFirstError: focusOnFirstError,\n firstErrorQuestion: null,\n result: false,\n };\n if (rec.result !== true)\n rec.result = false;\n this.hasErrorsCore(rec);\n if (rec.firstErrorQuestion) {\n rec.firstErrorQuestion.focus(true);\n }\n return !rec.result;\n };\n PanelModelBase.prototype.validateContainerOnly = function () {\n this.hasErrorsInPanels({ fireCallback: true });\n if (!!this.parent) {\n this.parent.validateContainerOnly();\n }\n };\n PanelModelBase.prototype.hasErrorsInPanels = function (rec) {\n var errors = [];\n this.hasRequiredError(rec, errors);\n if (this.survey) {\n var customError = this.survey.validatePanel(this);\n if (customError) {\n errors.push(customError);\n rec.result = true;\n }\n }\n if (!!rec.fireCallback) {\n if (!!this.survey) {\n this.survey.beforeSettingPanelErrors(this, errors);\n }\n this.errors = errors;\n }\n };\n //ISurveyErrorOwner\n PanelModelBase.prototype.getErrorCustomText = function (text, error) {\n if (!!this.survey)\n return this.survey.getSurveyErrorCustomText(this, text, error);\n return text;\n };\n PanelModelBase.prototype.hasRequiredError = function (rec, errors) {\n if (!this.isRequired)\n return;\n var visQuestions = [];\n this.addQuestionsToList(visQuestions, true);\n if (visQuestions.length == 0)\n return;\n for (var i = 0; i < visQuestions.length; i++) {\n if (!visQuestions[i].isEmpty())\n return;\n }\n rec.result = true;\n errors.push(new _error__WEBPACK_IMPORTED_MODULE_6__[\"OneAnswerRequiredError\"](this.requiredErrorText, this));\n if (rec.focuseOnFirstError && !rec.firstErrorQuestion) {\n rec.firstErrorQuestion = visQuestions[0];\n }\n };\n PanelModelBase.prototype.hasErrorsCore = function (rec) {\n var elements = this.elements;\n var element = null;\n for (var i = 0; i < elements.length; i++) {\n element = elements[i];\n if (!element.isVisible)\n continue;\n if (element.isPanel) {\n element.hasErrorsCore(rec);\n }\n else {\n var question = element;\n if (!question.validate(rec.fireCallback, rec)) {\n if (rec.focuseOnFirstError && rec.firstErrorQuestion == null) {\n rec.firstErrorQuestion = question;\n }\n rec.result = true;\n }\n }\n }\n this.hasErrorsInPanels(rec);\n this.updateContainsErrors();\n };\n PanelModelBase.prototype.getContainsErrors = function () {\n var res = _super.prototype.getContainsErrors.call(this);\n if (res)\n return res;\n var elements = this.elements;\n for (var i = 0; i < elements.length; i++) {\n if (elements[i].containsErrors)\n return true;\n }\n return false;\n };\n PanelModelBase.prototype.updateElementVisibility = function () {\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n el.setPropertyValue(\"isVisible\", el.isVisible);\n if (el.isPanel) {\n el.updateElementVisibility();\n }\n }\n };\n PanelModelBase.prototype.getFirstQuestionToFocus = function (withError, ignoreCollapseState) {\n if (withError === void 0) { withError = false; }\n if (ignoreCollapseState === void 0) { ignoreCollapseState = false; }\n if (!withError && !ignoreCollapseState && this.isCollapsed)\n return null;\n var elements = this.elements;\n for (var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (!el.isVisible || !ignoreCollapseState && el.isCollapsed)\n continue;\n if (el.isPanel) {\n var res = el.getFirstQuestionToFocus(withError, ignoreCollapseState);\n if (!!res)\n return res;\n }\n else {\n var q = el.getFirstQuestionToFocus(withError);\n if (!!q)\n return q;\n }\n }\n return null;\n };\n /**\n * Focuses the first question in this panel/page.\n * @see focusFirstErrorQuestion\n */\n PanelModelBase.prototype.focusFirstQuestion = function () {\n var q = this.getFirstQuestionToFocus();\n if (!!q) {\n q.focus();\n }\n };\n /**\n * Focuses the first question with a validation error in this panel/page.\n * @see validate\n * @see focusFirstQuestion\n */\n PanelModelBase.prototype.focusFirstErrorQuestion = function () {\n var q = this.getFirstQuestionToFocus(true);\n if (!!q) {\n q.focus();\n }\n };\n PanelModelBase.prototype.addQuestionsToList = function (list, visibleOnly, includingDesignTime) {\n if (visibleOnly === void 0) { visibleOnly = false; }\n if (includingDesignTime === void 0) { includingDesignTime = false; }\n this.addElementsToList(list, visibleOnly, includingDesignTime, false);\n };\n PanelModelBase.prototype.addPanelsIntoList = function (list, visibleOnly, includingDesignTime) {\n if (visibleOnly === void 0) { visibleOnly = false; }\n if (includingDesignTime === void 0) { includingDesignTime = false; }\n this.addElementsToList(list, visibleOnly, includingDesignTime, true);\n };\n PanelModelBase.prototype.addElementsToList = function (list, visibleOnly, includingDesignTime, isPanel) {\n if (visibleOnly && !this.visible)\n return;\n this.addElementsToListCore(list, this.elements, visibleOnly, includingDesignTime, isPanel);\n };\n PanelModelBase.prototype.addElementsToListCore = function (list, elements, visibleOnly, includingDesignTime, isPanel) {\n for (var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (visibleOnly && !el.visible)\n continue;\n if ((isPanel && el.isPanel) || (!isPanel && !el.isPanel)) {\n list.push(el);\n }\n if (el.isPanel) {\n el.addElementsToListCore(list, el.elements, visibleOnly, includingDesignTime, isPanel);\n }\n else {\n if (includingDesignTime) {\n this.addElementsToListCore(list, el.getElementsInDesign(false), visibleOnly, includingDesignTime, isPanel);\n }\n }\n }\n };\n PanelModelBase.prototype.updateCustomWidgets = function () {\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].updateCustomWidgets();\n }\n };\n Object.defineProperty(PanelModelBase.prototype, \"questionTitleLocation\", {\n /**\n * Sets a title location relative to the input field for questions that belong to this panel/page.\n *\n * Use this property to override the `questionTitleLocation` property specified for the survey. You can also set the `titleLocation` property for individual questions.\n *\n * Possible values:\n *\n * - `\"default\"` (default) - Inherits the setting from the `questionTitleLocation` property specified for the survey.\n * - `\"top\"` - Displays the title above the input field.\n * - `\"bottom\"` - Displays the title below the input field.\n * - `\"left\"` - Displays the title to the left of the input field.\n * - `\"hidden\"` - Hides the question title.\n *\n * > Certain question types (Matrix, Multiple Text) do not support the `\"left\"` value. For them, the `\"top\"` value is used.\n * @see SurveyModel.questionTitleLocation\n */\n get: function () {\n return this.getPropertyValue(\"questionTitleLocation\");\n },\n set: function (value) {\n this.setPropertyValue(\"questionTitleLocation\", value.toLowerCase());\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getQuestionTitleLocation = function () {\n if (this.onGetQuestionTitleLocation)\n return this.onGetQuestionTitleLocation();\n if (this.questionTitleLocation != \"default\")\n return this.questionTitleLocation;\n if (this.parent)\n return this.parent.getQuestionTitleLocation();\n return this.survey ? this.survey.questionTitleLocation : \"top\";\n };\n PanelModelBase.prototype.getStartIndex = function () {\n if (!!this.parent)\n return this.parent.getQuestionStartIndex();\n if (!!this.survey)\n return this.survey.questionStartIndex;\n return \"\";\n };\n PanelModelBase.prototype.getQuestionStartIndex = function () {\n return this.getStartIndex();\n };\n PanelModelBase.prototype.getChildrenLayoutType = function () {\n return \"row\";\n };\n PanelModelBase.prototype.getProgressInfo = function () {\n return _survey_element__WEBPACK_IMPORTED_MODULE_3__[\"SurveyElement\"].getProgressInfoByElements(this.elements, this.isRequired);\n };\n Object.defineProperty(PanelModelBase.prototype, \"root\", {\n get: function () {\n var res = this;\n while (res.parent)\n res = res.parent;\n return res;\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.childVisibilityChanged = function () {\n var newIsVisibleValue = this.getIsPageVisible(null);\n var oldIsVisibleValue = this.getPropertyValue(\"isVisible\", true);\n if (newIsVisibleValue !== oldIsVisibleValue) {\n this.onVisibleChanged();\n }\n };\n PanelModelBase.prototype.createRowAndSetLazy = function (index) {\n var row = this.createRow();\n row.setIsLazyRendering(this.isLazyRenderInRow(index));\n return row;\n };\n PanelModelBase.prototype.createRow = function () {\n return new QuestionRowModel(this);\n };\n PanelModelBase.prototype.onSurveyLoad = function () {\n this.animationAllowed = false;\n _super.prototype.onSurveyLoad.call(this);\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].onSurveyLoad();\n }\n this.onElementVisibilityChanged(this);\n this.animationAllowed = true;\n };\n PanelModelBase.prototype.onFirstRendering = function () {\n _super.prototype.onFirstRendering.call(this);\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].onFirstRendering();\n }\n this.onRowsChanged();\n };\n PanelModelBase.prototype.updateRows = function () {\n if (this.isLoadingFromJson)\n return;\n for (var i = 0; i < this.elements.length; i++) {\n if (this.elements[i].isPanel) {\n this.elements[i].updateRows();\n }\n }\n this.onRowsChanged();\n };\n Object.defineProperty(PanelModelBase.prototype, \"rows\", {\n get: function () {\n return this.getPropertyValue(\"rows\");\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.ensureRowsVisibility = function () {\n this.rows.forEach(function (row) {\n row.ensureVisibility();\n });\n };\n PanelModelBase.prototype.onRowsChanged = function () {\n if (this.isLoadingFromJson)\n return;\n this.animationAllowed = false;\n this.setArrayPropertyDirectly(\"rows\", this.buildRows());\n this.animationAllowed = true;\n };\n PanelModelBase.prototype.blockRowsUpdates = function () {\n this.locCountRowUpdates++;\n };\n PanelModelBase.prototype.releaseRowsUpdates = function () {\n this.locCountRowUpdates--;\n };\n PanelModelBase.prototype.updateRowsBeforeElementRemoved = function (element) {\n var _this = this;\n var elementRow = this.findRowByElement(element);\n var elementRowIndex = this.rows.indexOf(elementRow);\n var elementIndexInRow = elementRow.elements.indexOf(element);\n elementRow.elements.splice(elementIndexInRow, 1);\n if (elementRow.elements.length == 0) {\n this.rows.splice(elementRowIndex, 1);\n }\n else if (!elementRow.elements[0].startWithNewLine && this.rows[elementRowIndex - 1]) {\n elementRow.elements.forEach(function (el) { return _this.rows[elementRowIndex - 1].addElement(el); });\n this.rows.splice(elementRowIndex, 1);\n }\n else {\n elementRow.updateVisible();\n }\n };\n PanelModelBase.prototype.updateRowsOnElementAdded = function (element) {\n var _this = this;\n var index = this.elements.indexOf(element);\n var targetElement = this.elements[index + 1];\n var createRowAtIndex = function (index) {\n var row = _this.createRowAndSetLazy(index);\n if (_this.isDesignModeV2) {\n row.setIsLazyRendering(false);\n }\n _this.rows.splice(index, 0, row);\n return row;\n };\n var updateRow = function (row, start, deleteCount) {\n var _a;\n var elements = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n elements[_i - 3] = arguments[_i];\n }\n var removedElements = (_a = row.elements).splice.apply(_a, __spreadArray([start, deleteCount], elements));\n row.updateVisible();\n return removedElements;\n };\n if (!targetElement) {\n if (index == 0 || element.startWithNewLine) {\n updateRow(createRowAtIndex(this.rows.length), 0, 0, element);\n }\n else {\n this.rows[this.rows.length - 1].addElement(element);\n }\n return;\n }\n var targetRow = this.findRowByElement(targetElement);\n if (!targetRow)\n return;\n var targetRowIndex = this.rows.indexOf(targetRow);\n var targetElementIndexInRow = targetRow.elements.indexOf(targetElement);\n if (targetElementIndexInRow == 0) {\n if (!targetElement.startWithNewLine) {\n updateRow(targetRow, 0, 0, element);\n }\n else if (element.startWithNewLine || targetRowIndex < 1) {\n createRowAtIndex(targetRowIndex).addElement(element);\n }\n else {\n this.rows[targetRowIndex - 1].addElement(element);\n }\n }\n else {\n if (element.startWithNewLine) {\n updateRow.apply(void 0, __spreadArray([createRowAtIndex(targetRowIndex + 1), 0, 0], [element].concat(updateRow(targetRow, targetElementIndexInRow, targetRow.elements.length))));\n }\n else {\n updateRow(targetRow, targetElementIndexInRow, 0, element);\n }\n }\n };\n PanelModelBase.prototype.onAddElement = function (element, index) {\n var _this = this;\n element.setSurveyImpl(this.surveyImpl);\n element.parent = this;\n this.markQuestionListDirty();\n if (this.canBuildRows()) {\n this.updateRowsOnElementAdded(element);\n }\n if (element.isPanel) {\n var p = element;\n if (this.survey) {\n this.survey.panelAdded(p, index, this, this.root);\n }\n }\n else {\n if (this.survey) {\n var q = element;\n this.survey.questionAdded(q, index, this, this.root);\n }\n }\n if (!!this.addElementCallback)\n this.addElementCallback(element);\n var self = this;\n element.registerPropertyChangedHandlers([\"visible\", \"isVisible\"], function () {\n _this.onElementVisibilityChanged(element);\n }, this.id);\n element.registerPropertyChangedHandlers([\"startWithNewLine\"], function () {\n _this.onElementStartWithNewLineChanged(element);\n }, this.id);\n this.onElementVisibilityChanged(this);\n };\n PanelModelBase.prototype.onRemoveElement = function (element) {\n element.parent = null;\n this.markQuestionListDirty();\n element.unregisterPropertyChangedHandlers([\"visible\", \"isVisible\", \"startWithNewLine\"], this.id);\n this.updateRowsOnElementRemoved(element);\n if (this.isRandomizing)\n return;\n if (!element.isPanel) {\n if (this.survey)\n this.survey.questionRemoved(element);\n }\n else {\n if (this.survey)\n this.survey.panelRemoved(element);\n }\n if (!!this.removeElementCallback)\n this.removeElementCallback(element);\n this.onElementVisibilityChanged(this);\n };\n PanelModelBase.prototype.onElementVisibilityChanged = function (element) {\n if (this.isLoadingFromJson || this.isRandomizing)\n return;\n this.updateRowsVisibility(element);\n this.childVisibilityChanged();\n if (!!this.parent) {\n this.parent.onElementVisibilityChanged(this);\n }\n };\n PanelModelBase.prototype.onElementStartWithNewLineChanged = function (element) {\n if (this.locCountRowUpdates > 0)\n return;\n this.updateRowsBeforeElementRemoved(element);\n this.updateRowsOnElementAdded(element);\n };\n PanelModelBase.prototype.updateRowsVisibility = function (element) {\n var rows = this.rows;\n for (var i = 0; i < rows.length; i++) {\n var row = rows[i];\n if (row.elements.indexOf(element) > -1) {\n row.updateVisible();\n if (row.visible && !row.isNeedRender) {\n row.isNeedRender = true;\n }\n break;\n }\n }\n };\n PanelModelBase.prototype.canBuildRows = function () {\n return !this.isLoadingFromJson && this.getChildrenLayoutType() == \"row\";\n };\n PanelModelBase.prototype.buildRows = function () {\n if (!this.canBuildRows())\n return [];\n var result = new Array();\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n var isNewRow = i == 0 || el.startWithNewLine;\n var row = isNewRow ? this.createRowAndSetLazy(result.length) : result[result.length - 1];\n if (isNewRow)\n result.push(row);\n row.addElement(el);\n }\n for (var i = 0; i < result.length; i++) {\n result[i].updateVisible();\n }\n return result;\n };\n PanelModelBase.prototype.isLazyRenderInRow = function (rowIndex) {\n if (!this.survey || !this.survey.isLazyRendering)\n return false;\n return (rowIndex >= this.survey.lazyRenderingFirstBatchSize ||\n !this.canRenderFirstRows());\n };\n PanelModelBase.prototype.canRenderFirstRows = function () {\n return this.isPage;\n };\n PanelModelBase.prototype.getDragDropInfo = function () {\n var page = this.getPage(this.parent);\n return !!page ? page.getDragDropInfo() : undefined;\n };\n PanelModelBase.prototype.updateRowsOnElementRemoved = function (element) {\n if (!this.canBuildRows())\n return;\n this.updateRowsRemoveElementFromRow(element, this.findRowByElement(element));\n };\n PanelModelBase.prototype.updateRowsRemoveElementFromRow = function (element, row) {\n if (!row || !row.panel)\n return;\n var elIndex = row.elements.indexOf(element);\n if (elIndex < 0)\n return;\n row.elements.splice(elIndex, 1);\n if (row.elements.length > 0) {\n this.blockRowsUpdates();\n row.elements[0].startWithNewLine = true;\n this.releaseRowsUpdates();\n row.updateVisible();\n }\n else {\n if (row.index >= 0) {\n row.panel.rows.splice(row.index, 1);\n }\n }\n };\n PanelModelBase.prototype.findRowByElement = function (el) {\n var rows = this.rows;\n for (var i = 0; i < rows.length; i++) {\n if (rows[i].elements.indexOf(el) > -1)\n return rows[i];\n }\n return null;\n };\n PanelModelBase.prototype.elementWidthChanged = function (el) {\n if (this.isLoadingFromJson)\n return;\n var row = this.findRowByElement(el);\n if (!!row) {\n row.updateVisible();\n }\n };\n Object.defineProperty(PanelModelBase.prototype, \"processedTitle\", {\n get: function () {\n return this.getRenderedTitle(this.locTitle.textOrHtml);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getRenderedTitle = function (str) {\n return this.textProcessor != null\n ? this.textProcessor.processText(str, true)\n : str;\n };\n Object.defineProperty(PanelModelBase.prototype, \"visible\", {\n /**\n * Gets or sets panel/page visibility.\n *\n * If you want to display or hide a survey element based on a condition, specify the `visibleIf` property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see visibleIf\n * @see isVisible\n */\n get: function () {\n return this.getPropertyValue(\"visible\", true);\n },\n set: function (value) {\n if (value === this.visible)\n return;\n this.setPropertyValue(\"visible\", value);\n this.setPropertyValue(\"isVisible\", this.isVisible);\n if (!this.isLoadingFromJson)\n this.onVisibleChanged();\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.onHidingContent = function () {\n this.questions.forEach(function (q) { return q.onHidingContent(); });\n };\n PanelModelBase.prototype.onVisibleChanged = function () {\n if (this.isRandomizing)\n return;\n this.setPropertyValue(\"isVisible\", this.isVisible);\n if (!!this.survey && this.survey.getQuestionClearIfInvisible(\"default\") !== \"none\" &&\n !this.isLoadingFromJson) {\n var questions = this.questions;\n var isVisible = this.isVisible;\n for (var i = 0; i < questions.length; i++) {\n var q = questions[i];\n if (!isVisible) {\n q.clearValueIfInvisible(\"onHiddenContainer\");\n q.onHidingContent();\n }\n else {\n q.updateValueWithDefaults();\n }\n }\n }\n };\n PanelModelBase.prototype.notifyStateChanged = function (prevState) {\n var _this = this;\n _super.prototype.notifyStateChanged.call(this, prevState);\n if (this.isCollapsed) {\n this.questions.forEach(function (q) { return q.onHidingContent(); });\n }\n if (this.survey != null && !this.isLoadingFromJson && this.isExpanded && prevState === \"collapsed\") {\n var q_1 = this.getFirstQuestionToFocus(false);\n if (!!q_1) {\n setTimeout(function () {\n if (!_this.isDisposed && !!_this.survey) {\n _this.survey.scrollElementToTop(q_1, q_1, null, q_1.inputId, false);\n }\n }, 15);\n }\n }\n };\n Object.defineProperty(PanelModelBase.prototype, \"isVisible\", {\n /**\n * Returns `true` if the panel/page is visible or the survey is currently in design mode.\n *\n * If you want to display or hide a question based on a condition, specify the `visibleIf` property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see visibleIf\n * @see visible\n */\n get: function () {\n return this.areInvisibleElementsShowing || this.getIsPageVisible(null);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getIsContentVisible = function (exceptionQuestion) {\n if (this.areInvisibleElementsShowing)\n return true;\n for (var i = 0; i < this.elements.length; i++) {\n if (this.elements[i] == exceptionQuestion)\n continue;\n if (this.elements[i].isVisible)\n return true;\n }\n return false;\n };\n PanelModelBase.prototype.getIsPageVisible = function (exceptionQuestion) {\n return this.visible && this.getIsContentVisible(exceptionQuestion);\n };\n PanelModelBase.prototype.setVisibleIndex = function (index) {\n if (!this.isVisible || index < 0) {\n this.resetVisibleIndexes();\n return 0;\n }\n this.lastVisibleIndex = index;\n var startIndex = index;\n index += this.beforeSetVisibleIndex(index);\n var panelStartIndex = this.getPanelStartIndex(index);\n var panelIndex = panelStartIndex;\n for (var i = 0; i < this.elements.length; i++) {\n panelIndex += this.elements[i].setVisibleIndex(panelIndex);\n }\n if (this.isContinueNumbering()) {\n index += panelIndex - panelStartIndex;\n }\n return index - startIndex;\n };\n PanelModelBase.prototype.updateVisibleIndexes = function () {\n if (this.lastVisibleIndex === undefined)\n return;\n this.resetVisibleIndexes();\n this.setVisibleIndex(this.lastVisibleIndex);\n };\n PanelModelBase.prototype.resetVisibleIndexes = function () {\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].setVisibleIndex(-1);\n }\n };\n PanelModelBase.prototype.beforeSetVisibleIndex = function (index) {\n return 0;\n };\n PanelModelBase.prototype.getPanelStartIndex = function (index) {\n return index;\n };\n PanelModelBase.prototype.isContinueNumbering = function () {\n return true;\n };\n Object.defineProperty(PanelModelBase.prototype, \"isReadOnly\", {\n get: function () {\n var isParentReadOnly = !!this.parent && this.parent.isReadOnly;\n var isSurveyReadOnly = !!this.survey && this.survey.isDisplayMode;\n return this.readOnly || isParentReadOnly || isSurveyReadOnly;\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.onReadOnlyChanged = function () {\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n el.setPropertyValue(\"isReadOnly\", el.isReadOnly);\n }\n _super.prototype.onReadOnlyChanged.call(this);\n };\n PanelModelBase.prototype.updateElementCss = function (reNew) {\n _super.prototype.updateElementCss.call(this, reNew);\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n el.updateElementCss(reNew);\n }\n };\n Object.defineProperty(PanelModelBase.prototype, \"enableIf\", {\n /**\n * A Boolean expression. If it evaluates to `false`, this panel/page becomes read-only.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see readOnly\n * @see isReadOnly\n */\n get: function () {\n return this.getPropertyValue(\"enableIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"enableIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Adds a survey element (question or panel) to this panel/page. Returns `true` if the element was added successfully; `false` otherwise.\n * @param element A survey element to add.\n * @param index A desired index of this element in the `elements` array.\n * @see addNewQuestion\n * @see addNewPanel\n */\n PanelModelBase.prototype.addElement = function (element, index) {\n if (index === void 0) { index = -1; }\n if (!this.canAddElement(element))\n return false;\n if (index < 0 || index >= this.elements.length) {\n this.elements.push(element);\n }\n else {\n this.elements.splice(index, 0, element);\n }\n if (this.wasRendered) {\n element.onFirstRendering();\n }\n return true;\n };\n PanelModelBase.prototype.insertElement = function (element, dest, location) {\n if (location === void 0) { location = \"bottom\"; }\n if (!dest) {\n this.addElement(element);\n return;\n }\n this.blockRowsUpdates();\n var index = this.elements.indexOf(dest);\n var destRow = this.findRowByElement(dest);\n if (location == \"left\" || location == \"right\") {\n if (location == \"right\") {\n element.startWithNewLine = false;\n index++;\n }\n else {\n if (destRow.elements.indexOf(dest) == 0) {\n dest.startWithNewLine = false;\n element.startWithNewLine = true;\n }\n else {\n element.startWithNewLine = false;\n }\n }\n }\n else {\n element.startWithNewLine = true;\n if (location == \"top\") {\n index = this.elements.indexOf(destRow.elements[0]);\n }\n else {\n index = this.elements.indexOf(destRow.elements[destRow.elements.length - 1]) + 1;\n }\n }\n this.releaseRowsUpdates();\n this.addElement(element, index);\n };\n PanelModelBase.prototype.insertElementAfter = function (element, after) {\n var index = this.elements.indexOf(after);\n if (index >= 0)\n this.addElement(element, index + 1);\n };\n PanelModelBase.prototype.insertElementBefore = function (element, before) {\n var index = this.elements.indexOf(before);\n if (index >= 0)\n this.addElement(element, index);\n };\n PanelModelBase.prototype.canAddElement = function (element) {\n return (!!element && element.isLayoutTypeSupported(this.getChildrenLayoutType()));\n };\n PanelModelBase.prototype.addQuestion = function (question, index) {\n if (index === void 0) { index = -1; }\n return this.addElement(question, index);\n };\n PanelModelBase.prototype.addPanel = function (panel, index) {\n if (index === void 0) { index = -1; }\n return this.addElement(panel, index);\n };\n /**\n * Creates a new question of a given type and adds it to the `elements` array at a specified index.\n *\n * This method returns `null` if the question cannot be created or added to this panel/page; otherwise, the method returns the created question.\n *\n * @param questionType A [question type](https://surveyjs.io/form-library/documentation/question#getType).\n * @param name A question name.\n * @param index A desired index of the new question in the `elements` array.\n * @see elements\n * @see addElement\n */\n PanelModelBase.prototype.addNewQuestion = function (questionType, name, index) {\n if (name === void 0) { name = null; }\n if (index === void 0) { index = -1; }\n var question = _questionfactory__WEBPACK_IMPORTED_MODULE_5__[\"QuestionFactory\"].Instance.createQuestion(questionType, name);\n if (!this.addQuestion(question, index))\n return null;\n return question;\n };\n /**\n * Creates a new panel and adds it to the end of the `elements` array.\n *\n * This method returns `null` if the panel cannot be created or added to this panel/page; otherwise, the method returns the created panel.\n * @param name A panel name.\n * @see elementsup\n * @see addElement\n */\n PanelModelBase.prototype.addNewPanel = function (name) {\n if (name === void 0) { name = null; }\n var panel = this.createNewPanel(name);\n if (!this.addPanel(panel))\n return null;\n return panel;\n };\n PanelModelBase.prototype.indexOf = function (element) {\n return this.elements.indexOf(element);\n };\n PanelModelBase.prototype.createNewPanel = function (name) {\n var res = _jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].createClass(\"panel\");\n res.name = name;\n return res;\n };\n /**\n * Deletes a survey element (question or panel) from this panel/page. Returns `true` if the element was deleted successfully; `false` otherwise.\n * @param element A survey element to delete.\n * @see elements\n */\n PanelModelBase.prototype.removeElement = function (element) {\n var index = this.elements.indexOf(element);\n if (index < 0) {\n for (var i = 0; i < this.elements.length; i++) {\n if (this.elements[i].removeElement(element))\n return true;\n }\n return false;\n }\n this.elements.splice(index, 1);\n return true;\n };\n PanelModelBase.prototype.removeQuestion = function (question) {\n this.removeElement(question);\n };\n PanelModelBase.prototype.runCondition = function (values, properties) {\n if (this.isDesignMode || this.isLoadingFromJson)\n return;\n var elements = this.elements.slice();\n for (var i = 0; i < elements.length; i++) {\n elements[i].runCondition(values, properties);\n }\n this.runConditionCore(values, properties);\n };\n PanelModelBase.prototype.onAnyValueChanged = function (name, questionName) {\n var els = this.elements;\n for (var i = 0; i < els.length; i++) {\n els[i].onAnyValueChanged(name, questionName);\n }\n };\n PanelModelBase.prototype.checkBindings = function (valueName, value) {\n var els = this.elements;\n for (var i = 0; i < els.length; i++) {\n els[i].checkBindings(valueName, value);\n }\n };\n PanelModelBase.prototype.dragDropAddTarget = function (dragDropInfo) {\n this.dragDropPanelHelper.dragDropAddTarget(dragDropInfo);\n };\n PanelModelBase.prototype.dragDropFindRow = function (findElement) {\n return this.dragDropPanelHelper.dragDropFindRow(findElement);\n };\n PanelModelBase.prototype.dragDropMoveElement = function (src, target, targetIndex) {\n this.dragDropPanelHelper.dragDropMoveElement(src, target, targetIndex);\n };\n PanelModelBase.prototype.needResponsiveWidth = function () {\n var result = false;\n this.elements.forEach(function (e) {\n if (e.needResponsiveWidth())\n result = true;\n });\n this.rows.forEach(function (r) {\n if (r.elements.length > 1)\n result = true;\n });\n return result;\n };\n Object.defineProperty(PanelModelBase.prototype, \"hasDescriptionUnderTitle\", {\n get: function () {\n return this.hasDescription;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"cssHeader\", {\n get: function () {\n return this.cssClasses.panel.header;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"cssDescription\", {\n get: function () {\n return this.cssClasses.panel.description;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"questionErrorLocation\", {\n /**\n * Specifies the error message position for questions that belong to this page/panel.\n *\n * Use this property to override the [`questionErrorLocation`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionErrorLocation) property specified for the survey. You can also set the [`errorLocation`](https://surveyjs.io/form-library/documentation/question#errorLocation) property for individual questions.\n *\n * Possible values:\n *\n * - `\"default\"` (default) - Inherits the setting from the `questionErrorLocation` property specified for the survey.\n * - `\"top\"` - Displays error messages above questions.\n * - `\"bottom\"` - Displays error messages below questions.\n */\n get: function () {\n return this.getPropertyValue(\"questionErrorLocation\");\n },\n set: function (val) {\n this.setPropertyValue(\"questionErrorLocation\", val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getQuestionErrorLocation = function () {\n if (this.questionErrorLocation !== \"default\")\n return this.questionErrorLocation;\n if (this.parent)\n return this.parent.getQuestionErrorLocation();\n return this.survey ? this.survey.questionErrorLocation : \"top\";\n };\n Object.defineProperty(PanelModelBase.prototype, \"no\", {\n //ITitleOwner\n get: function () { return \"\"; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"cssError\", {\n get: function () {\n return this.getCssError(this.cssClasses);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getCssError = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__[\"CssClassBuilder\"]().append(cssClasses.error.root).toString();\n };\n PanelModelBase.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n if (this.rows) {\n for (var i = 0; i < this.rows.length; i++) {\n this.rows[i].dispose();\n }\n this.rows.splice(0, this.rows.length);\n }\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].dispose();\n }\n this.elements.splice(0, this.elements.length);\n };\n PanelModelBase.panelCounter = 100;\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: true })\n ], PanelModelBase.prototype, \"showTitle\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: true })\n ], PanelModelBase.prototype, \"showDescription\", void 0);\n return PanelModelBase;\n}(_survey_element__WEBPACK_IMPORTED_MODULE_3__[\"SurveyElement\"]));\n\n/**\n * A class that describes the Panel container element.\n *\n * A panel can contain questions and other panels. Refer to the following help topic for an illustration: [Survey Structure](https://surveyjs.io/form-library/documentation/design-survey-create-a-simple-survey#survey-structure).\n *\n * [View Demo](https://surveyjs.io/form-library/examples/questiontype-panel/ (linkStyle))\n */\nvar PanelModel = /** @class */ (function (_super) {\n __extends(PanelModel, _super);\n function PanelModel(name) {\n if (name === void 0) { name = \"\"; }\n var _this = _super.call(this, name) || this;\n _this.createNewArray(\"footerActions\");\n _this.registerPropertyChangedHandlers([\"width\"], function () {\n if (!!_this.parent) {\n _this.parent.elementWidthChanged(_this);\n }\n });\n _this.registerPropertyChangedHandlers([\"indent\", \"innerIndent\", \"rightIndent\"], function () { _this.onIndentChanged(); });\n return _this;\n }\n PanelModel.prototype.getType = function () {\n return \"panel\";\n };\n Object.defineProperty(PanelModel.prototype, \"contentId\", {\n get: function () {\n return this.id + \"_content\";\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.getSurvey = function (live) {\n if (live === void 0) { live = false; }\n if (live) {\n return !!this.parent ? this.parent.getSurvey(live) : null;\n }\n return _super.prototype.getSurvey.call(this, live);\n };\n PanelModel.prototype.onSurveyLoad = function () {\n _super.prototype.onSurveyLoad.call(this);\n this.onIndentChanged();\n };\n PanelModel.prototype.onSetData = function () {\n _super.prototype.onSetData.call(this);\n this.onIndentChanged();\n };\n Object.defineProperty(PanelModel.prototype, \"isPanel\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"page\", {\n /**\n * Returns a page to which the panel belongs and allows you to move this panel to a different page.\n * @see PanelModelBase.parent\n */\n get: function () {\n return this.getPage(this.parent);\n },\n set: function (val) {\n this.setPage(this.parent, val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.removeFromParent = function () {\n if (!!this.parent) {\n this.removeSelfFromList(this.parent.elements);\n }\n };\n PanelModel.prototype.moveTo = function (container, insertBefore) {\n if (insertBefore === void 0) { insertBefore = null; }\n return this.moveToBase(this.parent, container, insertBefore);\n };\n Object.defineProperty(PanelModel.prototype, \"visibleIndex\", {\n /**\n * Returns the visible index of the panel in the survey. Commonly it is -1 and it doesn't show.\n * You have to set showNumber to true to show index/numbering for the Panel\n * @see showNumber\n */\n get: function () {\n return this.getPropertyValue(\"visibleIndex\", -1);\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.getTitleOwner = function () { return this; };\n Object.defineProperty(PanelModel.prototype, \"showNumber\", {\n /**\n * Specifies whether to show the panel number in the title.\n *\n * Default value: `false`\n * @see SurveyModel.showQuestionNumbers\n * @see SurveyModel.questionTitlePattern\n */\n get: function () {\n return this.getPropertyValue(\"showNumber\");\n },\n set: function (val) {\n this.setPropertyValue(\"showNumber\", val);\n this.notifySurveyOnVisibilityChanged();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"showQuestionNumbers\", {\n /**\n * Gets or sets a value that specifies how the elements numbers inside panel are displayed.\n *\n * The following options are available:\n *\n * - `default` - display questions numbers as defined in parent panel or survey\n * - `onpanel` - display questions numbers, start numbering from beginning of this page\n * - `off` - turn off the numbering for questions titles\n * @see showNumber\n */\n get: function () {\n return this.getPropertyValue(\"showQuestionNumbers\");\n },\n set: function (value) {\n this.setPropertyValue(\"showQuestionNumbers\", value);\n this.notifySurveyOnVisibilityChanged();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"questionStartIndex\", {\n /**\n * Specifies a number or letter used to start numbering of elements inside the panel.\n *\n * You can include desired prefixes and postfixes alongside the number or letter:\n *\n * ```js\n * \"questionStartIndex\": \"a.\", // a., b., c., ...\n * \"questionStartIndex\": \"#3\", // #3, #4, #5, ...\n * \"questionStartIndex\": \"(B).\" // (B)., (C)., (D)., ...\n * ```\n * Default value: `\"1.\"` (inherited from `SurveyModel`'s `questionStartIndex` property)\n * @see SurveyModel.questionStartIndex\n * @see showQuestionNumbers\n */\n get: function () {\n return this.getPropertyValue(\"questionStartIndex\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"questionStartIndex\", val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.getQuestionStartIndex = function () {\n if (!!this.questionStartIndex)\n return this.questionStartIndex;\n return _super.prototype.getQuestionStartIndex.call(this);\n };\n Object.defineProperty(PanelModel.prototype, \"no\", {\n /**\n * A question number or letter (depends on the `questionStartIndex` property).\n *\n * When the question number, title, or the entire question is invisible, this property returns an empty string.\n * @see questionStartIndex\n * @see showNumber\n * @see visibleIf\n */\n get: function () {\n return this.getPropertyValue(\"no\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.setNo = function (visibleIndex) {\n this.setPropertyValue(\"no\", _helpers__WEBPACK_IMPORTED_MODULE_1__[\"Helpers\"].getNumberByIndex(this.visibleIndex, this.getStartIndex()));\n };\n PanelModel.prototype.notifyStateChanged = function (prevState) {\n if (!this.isLoadingFromJson) {\n this.locTitle.strChanged();\n }\n _super.prototype.notifyStateChanged.call(this, prevState);\n };\n PanelModel.prototype.createLocTitleProperty = function () {\n var _this = this;\n var locTitleValue = _super.prototype.createLocTitleProperty.call(this);\n locTitleValue.onGetTextCallback = function (text) {\n if (!text && (_this.state !== \"default\")) {\n text = _this.name;\n }\n return text;\n };\n return locTitleValue;\n };\n PanelModel.prototype.beforeSetVisibleIndex = function (index) {\n var visibleIndex = -1;\n if (this.showNumber && (this.isDesignMode || !this.locTitle.isEmpty)) {\n visibleIndex = index;\n }\n this.setPropertyValue(\"visibleIndex\", visibleIndex);\n this.setNo(visibleIndex);\n return visibleIndex < 0 ? 0 : 1;\n };\n PanelModel.prototype.getPanelStartIndex = function (index) {\n if (this.showQuestionNumbers == \"off\")\n return -1;\n if (this.showQuestionNumbers == \"onpanel\")\n return 0;\n return index;\n };\n PanelModel.prototype.isContinueNumbering = function () {\n return (this.showQuestionNumbers != \"off\" && this.showQuestionNumbers != \"onpanel\");\n };\n PanelModel.prototype.notifySurveyOnVisibilityChanged = function () {\n if (this.survey != null && !this.isLoadingFromJson) {\n this.survey.panelVisibilityChanged(this, this.isVisible);\n }\n };\n PanelModel.prototype.hasErrorsCore = function (rec) {\n _super.prototype.hasErrorsCore.call(this, rec);\n if (this.isCollapsed && rec.result && rec.fireCallback) {\n this.expand();\n }\n };\n PanelModel.prototype.getRenderedTitle = function (str) {\n if (!str) {\n if (this.isCollapsed || this.isExpanded)\n return this.name;\n if (this.isDesignMode)\n return \"[\" + this.name + \"]\";\n }\n return _super.prototype.getRenderedTitle.call(this, str);\n };\n Object.defineProperty(PanelModel.prototype, \"innerIndent\", {\n /**\n * Increases or decreases an indent of panel content from the left edge. Accepts positive integer values and 0.\n */\n get: function () {\n return this.getPropertyValue(\"innerIndent\");\n },\n set: function (val) {\n this.setPropertyValue(\"innerIndent\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"startWithNewLine\", {\n /**\n * Disable this property if you want to render the current panel on the same line or row with the previous question or panel.\n */\n get: function () {\n return this.getPropertyValue(\"startWithNewLine\");\n },\n set: function (value) {\n this.setPropertyValue(\"startWithNewLine\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"allowAdaptiveActions\", {\n get: function () {\n return this.getPropertyValue(\"allowAdaptiveActions\");\n },\n set: function (val) {\n this.setPropertyValue(\"allowAdaptiveActions\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"innerPaddingLeft\", {\n get: function () {\n return this.getPropertyValue(\"innerPaddingLeft\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"innerPaddingLeft\", val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.onIndentChanged = function () {\n if (!this.getSurvey())\n return;\n this.innerPaddingLeft = this.getIndentSize(this.innerIndent);\n this.paddingLeft = this.getIndentSize(this.indent);\n this.paddingRight = this.getIndentSize(this.rightIndent);\n };\n PanelModel.prototype.getIndentSize = function (indent) {\n if (indent < 1)\n return \"\";\n var css = this.survey[\"css\"];\n if (!css || !css.question.indent)\n return \"\";\n return indent * css.question.indent + \"px\";\n };\n PanelModel.prototype.clearOnDeletingContainer = function () {\n this.elements.forEach(function (element) {\n if (element instanceof _question__WEBPACK_IMPORTED_MODULE_4__[\"Question\"] || element instanceof PanelModel) {\n element.clearOnDeletingContainer();\n }\n });\n };\n Object.defineProperty(PanelModel.prototype, \"footerActions\", {\n get: function () {\n return this.getPropertyValue(\"footerActions\");\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.getFooterToolbar = function () {\n var _this = this;\n var _a, _b;\n if (!this.footerToolbarValue) {\n var actions = this.footerActions;\n if (this.hasEditButton) {\n actions.push({\n id: \"cancel-preview\",\n locTitle: this.survey.locEditText,\n innerCss: this.survey.cssNavigationEdit,\n component: \"sv-nav-btn\",\n action: function () { _this.cancelPreview(); }\n });\n }\n if (!!this.onGetFooterActionsCallback) {\n actions = this.onGetFooterActionsCallback();\n }\n else {\n actions = (_a = this.survey) === null || _a === void 0 ? void 0 : _a.getUpdatedPanelFooterActions(this, actions);\n }\n this.footerToolbarValue = this.createActionContainer(this.allowAdaptiveActions);\n var footerCss = this.onGetFooterToolbarCssCallback ? this.onGetFooterToolbarCssCallback() : \"\";\n if (!footerCss) {\n footerCss = (_b = this.cssClasses.panel) === null || _b === void 0 ? void 0 : _b.footer;\n }\n if (footerCss) {\n this.footerToolbarValue.containerCss = footerCss;\n }\n this.footerToolbarValue.setItems(actions);\n }\n return this.footerToolbarValue;\n };\n Object.defineProperty(PanelModel.prototype, \"hasEditButton\", {\n get: function () {\n if (this.survey && this.survey.state === \"preview\")\n return this.depth === 1;\n return false;\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.cancelPreview = function () {\n if (!this.hasEditButton)\n return;\n this.survey.cancelPreviewByPage(this);\n };\n Object.defineProperty(PanelModel.prototype, \"cssTitle\", {\n get: function () {\n return this.getCssTitle(this.cssClasses.panel);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"showErrorsAbovePanel\", {\n get: function () {\n return this.isDefaultV2Theme && !this.showPanelAsPage;\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.getCssError = function (cssClasses) {\n var builder = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__[\"CssClassBuilder\"]()\n .append(_super.prototype.getCssError.call(this, cssClasses))\n .append(cssClasses.panel.errorsContainer);\n return builder.append(\"panel-error-root\", builder.isEmpty()).toString();\n };\n PanelModel.prototype.onVisibleChanged = function () {\n _super.prototype.onVisibleChanged.call(this);\n this.notifySurveyOnVisibilityChanged();\n };\n PanelModel.prototype.needResponsiveWidth = function () {\n if (!this.startWithNewLine) {\n return true;\n }\n else {\n return _super.prototype.needResponsiveWidth.call(this);\n }\n };\n PanelModel.prototype.focusIn = function () {\n if (!this.survey)\n return;\n this.survey.whenPanelFocusIn(this);\n };\n PanelModel.prototype.getHasFrameV2 = function () {\n return _super.prototype.getHasFrameV2.call(this) && !this.showPanelAsPage;\n };\n PanelModel.prototype.getIsNested = function () {\n return _super.prototype.getIsNested.call(this) && this.parent !== undefined;\n };\n Object.defineProperty(PanelModel.prototype, \"showPanelAsPage\", {\n get: function () {\n return !!this.originalPage;\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.getCssRoot = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__[\"CssClassBuilder\"]()\n .append(_super.prototype.getCssRoot.call(this, cssClasses))\n .append(cssClasses.container)\n .append(cssClasses.asPage, this.showPanelAsPage)\n .append(cssClasses.invisible, !this.isDesignMode && this.areInvisibleElementsShowing && !this.visible)\n .toString();\n };\n PanelModel.prototype.getContainerCss = function () {\n return this.getCssRoot(this.cssClasses.panel);\n };\n return PanelModel;\n}(PanelModelBase));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"panelbase\", [\n \"name\",\n {\n name: \"elements\",\n alternativeName: \"questions\",\n baseClassName: \"question\",\n visible: false,\n isLightSerializable: false,\n },\n { name: \"visible:switch\", default: true, overridingProperty: \"visibleIf\" },\n { name: \"readOnly:boolean\", overridingProperty: \"enableIf\" },\n \"visibleIf:condition\",\n \"enableIf:condition\",\n \"requiredIf:condition\",\n {\n name: \"questionTitleLocation\",\n default: \"default\",\n choices: [\"default\", \"top\", \"bottom\", \"left\", \"hidden\"],\n },\n { name: \"title:text\", serializationProperty: \"locTitle\" },\n { name: \"description:text\", serializationProperty: \"locDescription\" },\n {\n name: \"questionsOrder\",\n default: \"default\",\n choices: [\"default\", \"initial\", \"random\"],\n },\n { name: \"questionErrorLocation\", default: \"default\", choices: [\"default\", \"top\", \"bottom\"] }\n], function () {\n return new PanelModelBase();\n});\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"panel\", [\n {\n name: \"state\",\n default: \"default\",\n choices: [\"default\", \"collapsed\", \"expanded\"],\n },\n { name: \"isRequired:switch\", overridingProperty: \"requiredIf\" },\n {\n name: \"requiredErrorText:text\",\n serializationProperty: \"locRequiredErrorText\",\n },\n { name: \"startWithNewLine:boolean\", default: true },\n \"width\",\n { name: \"minWidth\", defaultFunc: function () { return \"auto\"; } },\n { name: \"maxWidth\", defaultFunc: function () { return _settings__WEBPACK_IMPORTED_MODULE_7__[\"settings\"].maxWidth; } },\n { name: \"innerIndent:number\", default: 0, choices: [0, 1, 2, 3] },\n { name: \"indent:number\", default: 0, choices: [0, 1, 2, 3], visible: false },\n {\n name: \"page\",\n isSerializable: false,\n visibleIf: function (obj) {\n var survey = obj ? obj.survey : null;\n return !survey || !survey.pages || survey.pages.length > 1;\n },\n choices: function (obj) {\n var survey = obj ? obj.survey : null;\n return survey\n ? survey.pages.map(function (p) {\n return { value: p.name, text: p.title };\n })\n : [];\n },\n },\n \"showNumber:boolean\",\n {\n name: \"showQuestionNumbers\",\n default: \"default\",\n choices: [\"default\", \"onpanel\", \"off\"],\n },\n \"questionStartIndex\",\n { name: \"allowAdaptiveActions:boolean\", default: true, visible: false },\n], function () {\n return new PanelModel();\n}, \"panelbase\");\n_questionfactory__WEBPACK_IMPORTED_MODULE_5__[\"ElementFactory\"].Instance.registerElement(\"panel\", function (name) {\n return new PanelModel(name);\n});\n\n\n/***/ }),\n\n/***/ \"./src/plugins/themes/bootstrap/cssbootstrap.ts\":\n/*!******************************************************!*\\\n !*** ./src/plugins/themes/bootstrap/cssbootstrap.ts ***!\n \\******************************************************/\n/*! exports provided: defaultCss */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultCss\", function() { return defaultCss; });\nvar defaultCss = {\n root: \"sv_main sv_bootstrap_css\",\n container: \"sv_container\",\n header: \"panel-heading card-header\",\n body: \"panel-body card-block mt-4\",\n bodyEmpty: \"panel-body card-block mt-4 sv_body_empty\",\n footer: \"panel-footer card-footer\",\n title: \"\",\n description: \"\",\n logo: \"sv_logo\",\n logoImage: \"sv_logo__image\",\n headerText: \"sv_header__text\",\n navigationButton: \"btn sv_nav_btn\",\n completedPage: \"\",\n navigation: {\n complete: \"sv_complete_btn\",\n prev: \"sv_prev_btn\",\n next: \"sv_next_btn\",\n start: \"sv_start_btn\",\n preview: \"sv_preview_btn\",\n edit: \"sv_edit_btn\",\n },\n progress: \"progress center-block mx-auto mb-4\",\n progressBar: \"progress-bar\",\n progressTextUnderBar: \"sv-hidden\",\n progressTextInBar: \"sv-hidden\",\n progressButtonsContainerCenter: \"sv_progress-buttons__container-center\",\n progressButtonsContainer: \"sv_progress-buttons__container\",\n progressButtonsImageButtonLeft: \"sv_progress-buttons__image-button-left\",\n progressButtonsImageButtonRight: \"sv_progress-buttons__image-button-right\",\n progressButtonsImageButtonHidden: \"sv_progress-buttons__image-button--hidden\",\n progressButtonsListContainer: \"sv_progress-buttons__list-container\",\n progressButtonsList: \"sv_progress-buttons__list\",\n progressButtonsListElementPassed: \"sv_progress-buttons__list-element--passed\",\n progressButtonsListElementCurrent: \"sv_progress-buttons__list-element--current\",\n progressButtonsListElementNonClickable: \"sv_progress-buttons__list-element--nonclickable\",\n progressButtonsPageTitle: \"sv_progress-buttons__page-title\",\n progressButtonsPageDescription: \"sv_progress-buttons__page-description\",\n page: {\n root: \"\",\n title: \"\",\n description: \"small\",\n },\n pageTitle: \"\",\n pageDescription: \"small\",\n row: \"sv_row\",\n question: {\n mainRoot: \"sv_qstn\",\n flowRoot: \"sv_q_flow sv_qstn\",\n header: \"\",\n headerLeft: \"title-left\",\n content: \"\",\n contentLeft: \"content-left\",\n titleLeftRoot: \"sv_qstn_left\",\n title: \"\",\n titleExpandable: \"sv_q_title_expandable\",\n titleExpanded: \"sv_q_title_expanded\",\n titleCollapsed: \"sv_q_title_collapsed\",\n number: \"sv_q_num\",\n description: \"small\",\n descriptionUnderInput: \"small\",\n requiredText: \"sv_q_required_text\",\n comment: \"form-control\",\n required: \"\",\n titleRequired: \"\",\n hasError: \"has-error\",\n indent: 20,\n formGroup: \"form-group\",\n disabled: \"sv_q--disabled\",\n },\n panel: {\n title: \"sv_p_title\",\n titleExpandable: \"sv_p_title_expandable\",\n titleExpanded: \"sv_p_title_expanded\",\n titleCollapsed: \"sv_p_title_collapsed\",\n titleOnError: \"\",\n icon: \"sv_panel_icon\",\n iconExpanded: \"sv_expanded\",\n description: \"small sv_p_description\",\n container: \"sv_p_container\",\n footer: \"sv_p_footer\",\n number: \"sv_q_num\",\n requiredText: \"sv_q_required_text\",\n },\n error: {\n root: \"alert alert-danger\",\n icon: \"glyphicon glyphicon-exclamation-sign\",\n item: \"\",\n locationTop: \"sv_qstn_error_top\",\n locationBottom: \"sv_qstn_error_bottom\",\n },\n boolean: {\n root: \"sv_qbln form-inline checkbox\",\n rootRadio: \"sv_qbln form-inline checkbox\",\n item: \"sv-boolean\",\n control: \"sv-visuallyhidden\",\n controlCheckbox: \"sv-visuallyhidden\",\n itemChecked: \"sv-boolean--checked checked\",\n itemIndeterminate: \"sv-boolean--indeterminate\",\n itemDisabled: \"sv-boolean--disabled\",\n switch: \"sv-boolean__switch\",\n slider: \"sv-boolean__slider\",\n label: \"sv-boolean__label \",\n disabledLabel: \"sv-boolean__label--disabled\",\n sliderGhost: \"sv-boolean__thumb-ghost\",\n materialDecorator: \"sv-item__decorator sv-boolean__decorator\",\n itemDecorator: \"sv-item__svg sv-boolean__svg\",\n checkedPath: \"sv-boolean__checked-path\",\n uncheckedPath: \"sv-boolean__unchecked-path\",\n indeterminatePath: \"sv-boolean__indeterminate-path\",\n },\n checkbox: {\n root: \"sv_qcbc sv_qcbx form-inline\",\n item: \"checkbox\",\n itemChecked: \"checked\",\n itemSelectAll: \"sv_q_checkbox_selectall\",\n itemNone: \"sv_q_checkbox_none\",\n itemInline: \"sv_q_checkbox_inline\",\n itemControl: \"\",\n itemDecorator: \"sv-hidden\",\n label: \"\",\n labelChecked: \"\",\n controlLabel: \"\",\n materialDecorator: \"checkbox-material\",\n other: \"sv_q_checkbox_other form-control\",\n column: \"sv_q_select_column\",\n },\n ranking: {\n root: \"sv-ranking\",\n rootMobileMod: \"sv-ranking--mobile\",\n rootDragMod: \"sv-ranking--drag\",\n rootDisabled: \"sv-ranking--disabled\",\n rootDragHandleAreaIcon: \"sv-ranking--drag-handle-area-icon\",\n rootSelectToRankMod: \"sv-ranking--select-to-rank\",\n rootSelectToRankAlignVertical: \"sv-ranking--select-to-rank-vertical\",\n rootSelectToRankAlignHorizontal: \"sv-ranking--select-to-rank-horizontal\",\n item: \"sv-ranking-item\",\n itemContent: \"sv-ranking-item__content\",\n itemIndex: \"sv-ranking-item__index\",\n itemIndexEmptyMode: \"sv-ranking-item__index--empty\",\n // itemText: \"sv-ranking-item__text\",\n controlLabel: \"sv-ranking-item__text\",\n itemGhostNode: \"sv-ranking-item__ghost\",\n itemIconContainer: \"sv-ranking-item__icon-container\",\n itemIcon: \"sv-ranking-item__icon\",\n itemIconHoverMod: \"sv-ranking-item__icon--hover\",\n itemIconFocusMod: \"sv-ranking-item__icon--focus\",\n itemGhostMod: \"sv-ranking-item--ghost\",\n itemDragMod: \"sv-ranking-item--drag\",\n container: \"sv-ranking__container\",\n containerEmptyMode: \"sv-ranking__container--empty\",\n containerFromMode: \"sv-ranking__container--from\",\n containerToMode: \"sv-ranking__container--to\",\n containerPlaceholder: \"sv-ranking__container-placeholder\",\n containersDivider: \"sv-ranking__containers-divider\",\n },\n comment: \"form-control\",\n dropdown: {\n root: \"sv_q_dd_root\",\n popup: \"sv-dropdown-popup\",\n selectWrapper: \"sv_q_dd_select_wrapper\",\n control: \"form-control sv_q_dd_control\",\n controlValue: \"sv_q_dd_value\",\n other: \"sv_q_dd_other form-control\",\n cleanButton: \"sv_q_dd_clean-button\",\n cleanButtonSvg: \"sv_q_dd_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n filterStringInput: \"sv_q_dd_filter-string-input\",\n hintPrefix: \"sv_q_dd_hint-prefix\",\n hintSuffix: \"sv_q_dd_hint-suffix\"\n },\n tagbox: {\n root: \"sv_q_dd_root\",\n popup: \"sv-dropdown-popup\",\n selectWrapper: \"sv_q_dd_select_wrapper\",\n control: \"form-control sv_q_dd_control\",\n controlValue: \"sv_q_dd_value\",\n other: \"sv_q_dd_other form-control\",\n cleanButton: \"sv_q_dd_clean-button\",\n cleanButtonSvg: \"sv_q_dd_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n filterStringInput: \"sv_q_dd_filter-string-input\",\n },\n html: { root: \"\" },\n image: { root: \"sv_q_image\", image: \"sv_image_image\" },\n matrix: {\n root: \"table sv_q_matrix\",\n label: \"sv_q_m_label\",\n itemChecked: \"checked\",\n itemDecorator: \"sv-hidden\",\n cellText: \"sv_q_m_cell_text\",\n cellTextSelected: \"sv_q_m_cell_selected bg-primary\",\n cellLabel: \"sv_q_m_cell_label\",\n cellResponsiveTitle: \"sv-hidden\"\n },\n matrixdropdown: {\n root: \"table\",\n cell: \"sv_matrix_cell\",\n headerCell: \"sv_matrix_cell_header\",\n row: \"sv_matrix_row\",\n rowAdditional: \"sv-matrix__row--additional\",\n detailRow: \"sv_matrix_detail_row\",\n detailRowText: \"sv_matrix_cell_detail_rowtext\",\n detailCell: \"sv_matrix_cell_detail\",\n detailButton: \"sv_matrix_cell_detail_button\",\n detailButtonExpanded: \"sv_matrix_cell_detail_button_expanded\",\n detailIcon: \"sv_detail_panel_icon\",\n detailIconExpanded: \"sv_detail_expanded\",\n detailPanelCell: \"sv_matrix_cell_detail_panel\",\n actionsCell: \"sv_matrix_cell sv_matrix_cell_actions\",\n },\n matrixdynamic: {\n root: \"table\",\n button: \"button\",\n buttonAdd: \"\",\n buttonRemove: \"\",\n iconAdd: \"\",\n iconRemove: \"\",\n iconDrag: \"sv-matrixdynamic__drag-icon\",\n headerCell: \"sv_matrix_cell_header\",\n row: \"sv_matrix_row\",\n detailRow: \"sv_matrix_detail_row\",\n detailCell: \"sv_matrix_cell_detail\",\n detailButton: \"sv_matrix_cell_detail_button\",\n detailButtonExpanded: \"sv_matrix_cell_detail_button_expanded\",\n detailIcon: \"sv_detail_panel_icon\",\n detailIconExpanded: \"sv_detail_expanded\",\n detailPanelCell: \"sv_matrix_cell_detail_panel\",\n actionsCell: \"sv_matrix_cell sv_matrix_cell_actions\",\n emptyRowsSection: \"sv_matrix_empty_rows_section\",\n emptyRowsText: \"sv_matrix_empty_rows_text\",\n emptyRowsButton: \"\",\n ghostRow: \"sv-matrix-row--drag-drop-ghost-mod\"\n },\n paneldynamic: {\n root: \"\",\n navigation: \"sv-paneldynamic__navigation\",\n progressTop: \"sv-paneldynamic__progress sv-paneldynamic__progress--top\",\n progressBottom: \"sv-paneldynamic__progress sv-paneldynamic__progress--bottom\",\n title: \"sv-title sv-question__title\",\n button: \"button\",\n buttonAdd: \"button sv-paneldynamic__add-btn\",\n buttonRemove: \"sv_p_remove_btn\",\n buttonRemoveRight: \"button sv-paneldynamic__remove-btn--right\",\n buttonPrev: \"sv-paneldynamic__prev-btn\",\n buttonNext: \"sv-paneldynamic__next-btn\",\n buttonPrevDisabled: \"sv-paneldynamic__prev-btn--disabled\",\n buttonNextDisabled: \"sv-paneldynamic__next-btn--disabled\",\n progressContainer: \"sv-paneldynamic__progress-container\",\n progress: \"sv-progress\",\n progressBar: \"sv-progress__bar\",\n progressText: \"sv-paneldynamic__progress-text\",\n panelWrapper: \"sv_p_wrapper\",\n panelWrapperInRow: \"sv_p_wrapper_in_row\",\n footer: \"\",\n progressBtnIcon: \"icon-progressbutton\"\n },\n multipletext: {\n root: \"sv_q_mt table\",\n itemTitle: \"sv_q_mt_title\",\n item: \"sv_q_mt_item\",\n itemLabel: \"sv_q_mt_label\",\n row: \"form-group bmd-form-group\",\n itemValue: \"sv_q_mt_item_value form-control\",\n },\n radiogroup: {\n root: \"sv_qcbc form-inline\",\n item: \"radio\",\n itemChecked: \"checked\",\n itemInline: \"sv_q_radiogroup_inline\",\n label: \"\",\n labelChecked: \"\",\n itemControl: \"\",\n itemDecorator: \"sv-hidden\",\n controlLabel: \"\",\n materialDecorator: \"circle\",\n other: \"sv_q_radiogroup_other form-control\",\n clearButton: \"sv_q_radiogroup_clear button\",\n column: \"sv_q_select_column\",\n },\n buttongroup: {\n root: \"sv-button-group\",\n item: \"sv-button-group__item\",\n itemIcon: \"sv-button-group__item-icon\",\n itemDecorator: \"sv-button-group__item-decorator\",\n itemCaption: \"sv-button-group__item-caption\",\n itemHover: \"sv-button-group__item--hover\",\n itemSelected: \"sv-button-group__item--selected\",\n itemDisabled: \"sv-button-group__item--disabled\",\n itemControl: \"sv-visuallyhidden\",\n },\n imagepicker: {\n root: \"sv_imgsel\",\n item: \"sv_q_imgsel\",\n itemChecked: \"checked\",\n itemInline: \"sv_q_imagepicker_inline\",\n label: \"sv_q_imgsel_label\",\n itemControl: \"sv_q_imgsel_control_item\",\n image: \"sv_q_imgsel_image\",\n itemText: \"sv_q_imgsel_text\",\n clearButton: \"sv_q_radiogroup_clear\",\n },\n rating: {\n root: \"btn-group\",\n item: \"btn btn-default btn-secondary\",\n selected: \"active\",\n minText: \"sv_q_rating_min_text\",\n itemText: \"sv_q_rating_item_text\",\n maxText: \"sv_q_rating_max_text\",\n disabled: \"\",\n },\n text: \"form-control\",\n expression: \"form-control\",\n file: {\n root: \"sv_q_file\",\n placeholderInput: \"sv_q_file_placeholder\",\n preview: \"sv_q_file_preview\",\n removeButton: \"sv_q_file_remove_button\",\n fileInput: \"sv_q_file_input\",\n removeFile: \"sv_q_file_remove\",\n fileDecorator: \"sv-hidden\",\n fileSign: \"sv_q_file_sign\",\n removeButtonBottom: \"sv-hidden\",\n dragAreaPlaceholder: \"sv-hidden\",\n fileList: \"\",\n },\n signaturepad: {\n root: \"sv_q_signaturepad sjs_sp_container\",\n controls: \"sjs_sp_controls\",\n placeholder: \"sjs_sp_placeholder\",\n canvas: \"sjs_sp_canvas\",\n backgroundImage: \"sjs_sp__background-image\",\n clearButton: \"sjs_sp_clear\",\n },\n saveData: {\n root: \"\",\n info: \"alert alert-info\",\n error: \"alert alert-danger\",\n success: \"alert alert-success\",\n button: \"\",\n },\n window: {\n root: \"modal-content\",\n body: \"modal-body\",\n header: {\n root: \"modal-header panel-title\",\n title: \"pull-left\",\n button: \"glyphicon pull-right\",\n buttonExpanded: \"glyphicon pull-right glyphicon-chevron-up\",\n buttonCollapsed: \"glyphicon pull-right glyphicon-chevron-down\",\n },\n },\n};\n\n\n/***/ }),\n\n/***/ \"./src/plugins/themes/bootstrap/theme-settings.ts\":\n/*!********************************************************!*\\\n !*** ./src/plugins/themes/bootstrap/theme-settings.ts ***!\n \\********************************************************/\n/*! exports provided: bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bootstrapThemeName\", function() { return bootstrapThemeName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bootstrapThemeColors\", function() { return bootstrapThemeColors; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bootstrapThemeCssRules\", function() { return bootstrapThemeCssRules; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n/* harmony import */ var _common_theme_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common-theme-settings */ \"./src/plugins/themes/common-theme-settings.ts\");\n/* harmony import */ var _cssbootstrap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cssbootstrap */ \"./src/plugins/themes/bootstrap/cssbootstrap.ts\");\n\n\n\nvar bootstrapThemeName = \"bootstrap\";\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][bootstrapThemeName] = _cssbootstrap__WEBPACK_IMPORTED_MODULE_2__[\"defaultCss\"];\nvar bootstrapThemeColors = {\n \"$main-color\": \"#18a689\",\n \"$text-color\": \"#404040;\",\n \"$text-input-color\": \"#404040;\",\n \"$progress-text-color\": \"#9d9d9d\",\n \"$disable-color\": \"#dbdbdb\",\n \"$header-background-color\": \"#e7e7e7\",\n \"$disabled-label-color\": \"rgba(64, 64, 64, 0.5)\",\n \"$slider-color\": \"white\",\n \"$disabled-switch-color\": \"#9f9f9f\",\n \"$disabled-slider-color\": \"#cfcfcf\",\n \"$foreground-light\": \"#909090\",\n \"$foreground-disabled\": \"#161616\",\n \"$background-dim\": \"#f3f3f3\",\n \"$progress-buttons-color\": \"#8dd6c7\",\n \"$progress-buttons-line-color\": \"#d4d4d4\",\n};\nvar bootstrapThemeCssRules = {\n \".sv_main .sv_q_imgsel.checked label>div\": \"background-color: $main-color\",\n \".sv_main .sv_p_description\": \"padding-left: 1.66em;\",\n \".sv_main .sv_qstn_error_bottom\": \"margin-top: 20px; margin-bottom: 0;\",\n \".sv_main .progress\": \"width: 60%;\",\n \".sv_main .progress-bar\": \"width: auto; margin-left: 2px; margin-right: 2px;\",\n \".sv_main .table>tbody>tr>td\": \"min-width: 90px;\",\n \".sv_main f-panel .sv_qstn\": \"padding: 0; vertical-align: middle;\",\n \".sv_main .sv_q_image\": \"display: inline-block;\",\n \".sv_main .sv_row .sv_qstn:first-child:last-child\": \"flex: none !important;\",\n \".sv_main .sv_row .sv_p_container:first-child:last-child\": \"flex: none !important;\",\n //progress bar\n \".sv_main .sv-progress\": \"background-color: $header-background-color;\",\n \".sv_main .sv-progress__bar\": \"background-color: $main-color;\",\n //progress buttons\n \".sv_main .sv_progress-buttons__list li:before\": \"border-color: $progress-buttons-color; background-color: $progress-buttons-color;\",\n \".sv_main .sv_progress-buttons__list li:after\": \"background-color: $progress-buttons-line-color;\",\n \".sv_main .sv_progress-buttons__list .sv_progress-buttons__page-title\": \"color: $text-color;\",\n \".sv_main .sv_progress-buttons__list .sv_progress-buttons__page-description\": \"color: $text-color;\",\n \".sv_main .sv_progress-buttons__list li.sv_progress-buttons__list-element--passed:before\": \"border-color: $main-color; background-color: $main-color;\",\n \".sv_main .sv_progress-buttons__list li.sv_progress-buttons__list-element--passed + li:after\": \"background-color: $progress-buttons-color\",\n \".sv_main .sv_progress-buttons__list li.sv_progress-buttons__list-element--current:before\": \"border-color: $main-color; background-color: white;\",\n \".sv_main .sv_progress-buttons__list li.sv_progress-buttons__list-element--passed.sv_progress-buttons__list-element--current:before\": \"border-color: $main-color; background-color: white;\",\n //paneldynamic\n \".sv_main .sv-paneldynamic__prev-btn.sv-paneldynamic__prev-btn--disabled, .sv_main .sv-paneldynamic__next-btn.sv-paneldynamic__next-btn--disabled\": \"fill: $disable-color;\",\n \".sv_main .sv-paneldynamic__progress-text\": \"color: $progress-text-color;\",\n \".sv_main .sv-paneldynamic__prev-btn, .sv_main .sv-paneldynamic__next-btn\": \"fill: $text-color\",\n //boolean\n \".sv_main .sv-boolean__switch\": \"background-color: $main-color;\",\n \".sv_main .sv-boolean__slider\": \"background-color: $slider-color;\",\n \".sv_main .sv-boolean__label--disabled\": \"color: $disabled-label-color;\",\n \".sv_main .sv-boolean--disabled .sv-boolean__switch\": \"background-color: $disabled-switch-color;\",\n \".sv_main .sv-boolean--disabled .sv-boolean__slider\": \"background-color: $disabled-slider-color;\",\n //eo boolean\n //signature pad\n \".sv_main .sjs_sp_container\": \"border: 1px dashed $disable-color;\",\n \".sv_main .sjs_sp_placeholder\": \"color: $foreground-light;\",\n \".sv_main .sv_matrix_detail_row\": \"background-color: #ededed; border-top: 1px solid $header-background-color; border-bottom: 1px solid $header-background-color;\",\n \".sv_main .sv-action-bar-item\": \"color: $text-color;\",\n \".sv_main .sv-action-bar-item__icon use\": \"fill: $foreground-light;\",\n \".sv_main .sv-action-bar-item:hover\": \"background-color: $background-dim;\",\n \".sv-skeleton-element\": \"background-color: $background-dim;\",\n};\nObject(_common_theme_settings__WEBPACK_IMPORTED_MODULE_1__[\"setStyles\"])();\nObject(_common_theme_settings__WEBPACK_IMPORTED_MODULE_1__[\"setMediaStyles\"])();\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"StylesManager\"].ThemeColors[bootstrapThemeName] = bootstrapThemeColors;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"StylesManager\"].ThemeCss[bootstrapThemeName] = bootstrapThemeCssRules;\n\n\n/***/ }),\n\n/***/ \"./src/plugins/themes/bootstrapmaterial/cssbootstrapmaterial.ts\":\n/*!**********************************************************************!*\\\n !*** ./src/plugins/themes/bootstrapmaterial/cssbootstrapmaterial.ts ***!\n \\**********************************************************************/\n/*! exports provided: defaultCss */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultCss\", function() { return defaultCss; });\nvar defaultCss = {\n root: \"sv_main sv_bootstrapmaterial_css\",\n container: \"sv_container\",\n header: \"card-heading\",\n body: \"card-body\",\n bodyEmpty: \"card-body sv_body_empty\",\n footer: \"card-footer\",\n title: \"\",\n description: \"\",\n logo: \"sv_logo\",\n logoImage: \"sv_logo__image\",\n headerText: \"sv_header__text\",\n navigationButton: \"btn-primary sv_nav_btn\",\n completedPage: \"\",\n navigation: {\n complete: \"sv_complete_btn\",\n prev: \"sv_prev_btn\",\n next: \"sv_next_btn\",\n start: \"sv_start_btn\",\n preview: \"sv_preview_btn\",\n edit: \"sv_edit_btn\",\n },\n progress: \"progress center-block mx-auto mb-4\",\n progressBar: \"progress-bar\",\n progressTextUnderBar: \"sv-hidden\",\n progressTextInBar: \"sv-hidden\",\n progressButtonsContainerCenter: \"sv_progress-buttons__container-center\",\n progressButtonsContainer: \"sv_progress-buttons__container\",\n progressButtonsImageButtonLeft: \"sv_progress-buttons__image-button-left\",\n progressButtonsImageButtonRight: \"sv_progress-buttons__image-button-right\",\n progressButtonsImageButtonHidden: \"sv_progress-buttons__image-button--hidden\",\n progressButtonsListContainer: \"sv_progress-buttons__list-container\",\n progressButtonsList: \"sv_progress-buttons__list\",\n progressButtonsListElementPassed: \"sv_progress-buttons__list-element--passed\",\n progressButtonsListElementCurrent: \"sv_progress-buttons__list-element--current\",\n progressButtonsListElementNonClickable: \"sv_progress-buttons__list-element--nonclickable\",\n progressButtonsPageTitle: \"sv_progress-buttons__page-title\",\n progressButtonsPageDescription: \"sv_progress-buttons__page-description\",\n page: {\n root: \"\",\n title: \"\",\n description: \"small\",\n },\n pageTitle: \"\",\n pageDescription: \"small\",\n row: \"sv_row\",\n question: {\n mainRoot: \"sv_qstn form-group bmd-form-group\",\n flowRoot: \"sv_q_flow form-group bmd-form-group\",\n header: \"\",\n headerLeft: \"title-left\",\n content: \"\",\n contentLeft: \"content-left\",\n titleLeftRoot: \"sv_qstn_left\",\n requiredText: \"sv_q_required_text\",\n title: \"\",\n titleExpandable: \"sv_q_title_expandable\",\n titleExpanded: \"sv_q_title_expanded\",\n titleCollapsed: \"sv_q_title_collapsed\",\n number: \"sv_q_num\",\n description: \"small\",\n descriptionUnderInput: \"small\",\n comment: \"form-control\",\n required: \"\",\n titleRequired: \"\",\n hasError: \"has-error\",\n indent: 20,\n formGroup: \"form-group bmd-form-group\",\n disabled: \"sv_q--disabled\",\n },\n panel: {\n title: \"sv_p_title\",\n titleExpandable: \"sv_p_title_expandable\",\n titleExpanded: \"sv_p_title_expanded\",\n titleCollapsed: \"sv_p_title_collapsed\",\n titleOnError: \"\",\n icon: \"sv_panel_icon\",\n iconExpanded: \"sv_expanded\",\n description: \"small sv_p_description\",\n container: \"sv_p_container\",\n footer: \"sv_p_footer\",\n number: \"sv_q_num\",\n requiredText: \"sv_q_required_text\",\n },\n error: {\n root: \"alert alert-danger\",\n icon: \"glyphicon glyphicon-exclamation-sign\",\n item: \"\",\n locationTop: \"sv_qstn_error_top\",\n locationBottom: \"sv_qstn_error_bottom\",\n },\n boolean: {\n root: \"sv_qbln checkbox\",\n rootRadio: \"sv_qbln form-inline checkbox\",\n item: \"sv-boolean\",\n control: \"sv-visuallyhidden\",\n controlCheckbox: \"sv-visuallyhidden\",\n itemChecked: \"sv-boolean--checked checked\",\n itemIndeterminate: \"sv-boolean--indeterminate\",\n itemDisabled: \"sv-boolean--disabled\",\n switch: \"sv-boolean__switch\",\n slider: \"sv-boolean__slider\",\n label: \"sv-boolean__label \",\n disabledLabel: \"sv-boolean__label--disabled\",\n sliderGhost: \"sv-boolean__thumb-ghost\",\n materialDecorator: \"sv-item__decorator sv-boolean__decorator\",\n itemDecorator: \"sv-item__svg sv-boolean__svg\",\n checkedPath: \"sv-boolean__checked-path\",\n uncheckedPath: \"sv-boolean__unchecked-path\",\n indeterminatePath: \"sv-boolean__indeterminate-path\",\n },\n checkbox: {\n root: \"sv_qcbx\",\n item: \"checkbox\",\n itemChecked: \"checked\",\n itemSelectAll: \"sv_q_checkbox_selectall\",\n itemNone: \"sv_q_checkbox_none\",\n itemInline: \"sv_q_checkbox_inline\",\n itemDecorator: \"sv-hidden\",\n itemControl: \"\",\n label: \"\",\n labelChecked: \"\",\n controlLabel: \"\",\n materialDecorator: \"checkbox-decorator\",\n other: \"sv_q_checkbox_other form-control\",\n column: \"sv_q_select_column\",\n },\n ranking: {\n root: \"sv-ranking\",\n rootMobileMod: \"sv-ranking--mobile\",\n rootDragMod: \"sv-ranking--drag\",\n rootDisabled: \"sv-ranking--disabled\",\n rootDragHandleAreaIcon: \"sv-ranking--drag-handle-area-icon\",\n rootSelectToRankMod: \"sv-ranking--select-to-rank\",\n rootSelectToRankAlignVertical: \"sv-ranking--select-to-rank-vertical\",\n rootSelectToRankAlignHorizontal: \"sv-ranking--select-to-rank-horizontal\",\n item: \"sv-ranking-item\",\n itemContent: \"sv-ranking-item__content\",\n itemIndex: \"sv-ranking-item__index\",\n itemIndexEmptyMode: \"sv-ranking-item__index--empty\",\n // itemText: \"sv-ranking-item__text\",\n controlLabel: \"sv-ranking-item__text\",\n itemGhostNode: \"sv-ranking-item__ghost\",\n itemIconContainer: \"sv-ranking-item__icon-container\",\n itemIcon: \"sv-ranking-item__icon\",\n itemIconHoverMod: \"sv-ranking-item__icon--hover\",\n itemIconFocusMod: \"sv-ranking-item__icon--focus\",\n itemGhostMod: \"sv-ranking-item--ghost\",\n itemDragMod: \"sv-ranking-item--drag\",\n container: \"sv-ranking__container\",\n containerEmptyMode: \"sv-ranking__container--empty\",\n containerFromMode: \"sv-ranking__container--from\",\n containerToMode: \"sv-ranking__container--to\",\n containerPlaceholder: \"sv-ranking__container-placeholder\",\n containersDivider: \"sv-ranking__containers-divider\",\n },\n comment: \"form-control\",\n dropdown: {\n root: \"sv_q_dd_root\",\n popup: \"sv-dropdown-popup\",\n selectWrapper: \"sv_q_dd_select_wrapper\",\n control: \"form-control sv_q_dd_control\",\n controlValue: \"sv_q_dd_value\",\n other: \"sv_q_dd_other form-control\",\n cleanButton: \"sv_q_dd_clean-button\",\n cleanButtonSvg: \"sv_q_dd_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n filterStringInput: \"sv_q_dd_filter-string-input\",\n },\n tagbox: {\n root: \"sv_q_dd_root\",\n popup: \"sv-dropdown-popup\",\n selectWrapper: \"sv_q_dd_select_wrapper\",\n control: \"form-control sv_q_dd_control\",\n controlValue: \"sv_q_dd_value\",\n other: \"sv_q_dd_other form-control\",\n cleanButton: \"sv_q_dd_clean-button\",\n cleanButtonSvg: \"sv_q_dd_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n filterStringInput: \"sv_q_dd_filter-string-input\",\n },\n html: { root: \"\" },\n image: { root: \"sv_q_image\", image: \"sv_image_image\" },\n matrix: {\n root: \"table sv_q_matrix\",\n row: \"form-group bmd-form-group\",\n label: \"sv_q_m_label radio-inline\",\n cellText: \"sv_q_m_cell_text\",\n cellTextSelected: \"sv_q_m_cell_selected bg-primary\",\n cellLabel: \"sv_q_m_cell_label\",\n itemValue: \"form-control\",\n itemChecked: \"checked\",\n itemDecorator: \"sv-hidden\",\n materialDecorator: \"bmd-radio\",\n cellResponsiveTitle: \"sv-hidden\"\n },\n matrixdropdown: {\n root: \"table\",\n itemValue: \"form-group bmd-form-group\",\n headerCell: \"sv_matrix_cell_header\",\n row: \"sv_matrix_row\",\n rowAdditional: \"sv-matrix__row--additional\",\n detailRow: \"sv_matrix_detail_row\",\n detailRowText: \"sv_matrix_cell_detail_rowtext\",\n detailCell: \"sv_matrix_cell_detail\",\n detailButton: \"sv_matrix_cell_detail_button\",\n detailButtonExpanded: \"sv_matrix_cell_detail_button_expanded\",\n detailIcon: \"sv_detail_panel_icon\",\n detailIconExpanded: \"sv_detail_expanded\",\n detailPanelCell: \"sv_matrix_cell_detail_panel\",\n actionsCell: \"sv_matrix_cell sv_matrix_cell_actions\",\n },\n matrixdynamic: {\n mainRoot: \"sv_qstn\",\n flowRoot: \"sv_q_flow\",\n root: \"table\",\n button: \"btn btn-primary\",\n itemValue: \"form-group bmd-form-group\",\n buttonAdd: \"\",\n buttonRemove: \"\",\n iconAdd: \"\",\n iconRemove: \"\",\n iconDrag: \"sv-matrixdynamic__drag-icon\",\n headerCell: \"sv_matrix_cell_header\",\n row: \"sv_matrix_row\",\n detailRow: \"sv_matrix_detail_row\",\n detailCell: \"sv_matrix_cell_detail\",\n detailButton: \"sv_matrix_cell_detail_button\",\n detailButtonExpanded: \"sv_matrix_cell_detail_button_expanded\",\n detailIcon: \"sv_detail_panel_icon\",\n detailIconExpanded: \"sv_detail_expanded\",\n detailPanelCell: \"sv_matrix_cell_detail_panel\",\n actionsCell: \"sv_matrix_cell sv_matrix_cell_actions\",\n emptyRowsSection: \"sv_matrix_empty_rows_section\",\n emptyRowsText: \"sv_matrix_empty_rows_text\",\n emptyRowsButton: \"\",\n ghostRow: \"sv-matrix-row--drag-drop-ghost-mod\"\n },\n paneldynamic: {\n root: \"\",\n navigation: \"sv-paneldynamic__navigation\",\n progressTop: \"sv-paneldynamic__progress sv-paneldynamic__progress--top\",\n progressBottom: \"sv-paneldynamic__progress sv-paneldynamic__progress--bottom\",\n title: \"sv-title sv-question__title\",\n button: \"button\",\n buttonAdd: \"button sv-paneldynamic__add-btn btn btn-primary\",\n buttonRemove: \"button sv-paneldynamic__remove-btn btn btn-primary\",\n buttonRemoveRight: \"sv-paneldynamic__remove-btn--right\",\n buttonPrev: \"sv-paneldynamic__prev-btn\",\n buttonNext: \"sv-paneldynamic__next-btn\",\n buttonPrevDisabled: \"sv-paneldynamic__prev-btn--disabled\",\n buttonNextDisabled: \"sv-paneldynamic__next-btn--disabled\",\n progressContainer: \"sv-paneldynamic__progress-container\",\n progress: \"sv-progress\",\n progressBar: \"sv-progress__bar\",\n progressText: \"sv-paneldynamic__progress-text\",\n panelWrapper: \"sv_p_wrapper\",\n panelWrapperInRow: \"sv_p_wrapper_in_row\",\n progressBtnIcon: \"icon-progressbutton\",\n footer: \"\"\n },\n multipletext: {\n root: \"sv_q_mt table\",\n itemTitle: \"sv_q_mt_title\",\n item: \"sv_q_mt_item\",\n itemLabel: \"sv_q_mt_label\",\n row: \"form-group bmd-form-group\",\n itemValue: \"sv_q_mt_item_value form-control\",\n },\n radiogroup: {\n root: \"\",\n item: \"radio\",\n itemChecked: \"checked\",\n itemInline: \"sv_q_radiogroup_inline\",\n itemDecorator: \"sv-hidden\",\n label: \"\",\n labelChecked: \"\",\n itemControl: \"\",\n controlLabel: \"sv_q_radiogroup_control_label\",\n materialDecorator: \"bmd-radio\",\n other: \"sv_q_radiogroup_other form-control\",\n clearButton: \"sv_q_radiogroup_clear button btn btn-primary\",\n column: \"sv_q_select_column\",\n },\n buttongroup: {\n root: \"sv-button-group\",\n item: \"sv-button-group__item\",\n itemIcon: \"sv-button-group__item-icon\",\n itemDecorator: \"sv-button-group__item-decorator\",\n itemCaption: \"sv-button-group__item-caption\",\n itemSelected: \"sv-button-group__item--selected\",\n itemHover: \"sv-button-group__item--hover\",\n itemDisabled: \"sv-button-group__item--disabled\",\n itemControl: \"sv-visuallyhidden\",\n },\n imagepicker: {\n root: \"sv_imgsel\",\n item: \"sv_q_imgsel\",\n itemChecked: \"checked\",\n itemInline: \"sv_q_imagepicker_inline\",\n label: \"sv_q_imgsel_label\",\n itemControl: \"sv_q_imgsel_control_item\",\n image: \"sv_q_imgsel_image\",\n itemText: \"sv_q_imgsel_text\",\n clearButton: \"sv_q_radiogroup_clear\",\n },\n rating: {\n root: \"btn-group\",\n item: \"btn btn-default btn-secondary\",\n selected: \"active\",\n minText: \"sv_q_rating_min_text\",\n itemText: \"sv_q_rating_item_text\",\n maxText: \"sv_q_rating_max_text\",\n disabled: \"\",\n },\n text: \"form-control\",\n expression: \"form-control\",\n file: {\n root: \"form-group bmd-form-group is-fileinput sv_q_file\",\n placeholderInput: \"\",\n preview: \"sv_q_file_preview\",\n removeButton: \"sv_q_file_remove_button\",\n fileInput: \"sv_q_file_input\",\n fileSign: \"sv_q_file_sign\",\n removeFile: \"sv_q_file_remove\",\n fileDecorator: \"sv-hidden\",\n removeButtonBottom: \"sv-hidden\",\n dragAreaPlaceholder: \"sv-hidden\",\n fileList: \"\",\n },\n signaturepad: {\n root: \"sv_q_signaturepad sjs_sp_container\",\n controls: \"sjs_sp_controls\",\n placeholder: \"sjs_sp_placeholder\",\n canvas: \"sjs_sp_canvas\",\n backgroundImage: \"sjs_sp__background-image\",\n clearButton: \"sjs_sp_clear\",\n },\n saveData: {\n root: \"\",\n info: \"alert alert-info\",\n error: \"alert alert-danger\",\n success: \"alert alert-success\",\n button: \"\",\n },\n window: {\n root: \"modal-content\",\n body: \"modal-body\",\n header: {\n root: \"modal-header card-title\",\n title: \"pull-left\",\n button: \"glyphicon pull-right\",\n buttonExpanded: \"glyphicon pull-right glyphicon-chevron-up\",\n buttonCollapsed: \"glyphicon pull-right glyphicon-chevron-down\",\n },\n },\n};\n\n\n/***/ }),\n\n/***/ \"./src/plugins/themes/bootstrapmaterial/theme-settings.ts\":\n/*!****************************************************************!*\\\n !*** ./src/plugins/themes/bootstrapmaterial/theme-settings.ts ***!\n \\****************************************************************/\n/*! exports provided: bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bootstrapMaterialThemeName\", function() { return bootstrapMaterialThemeName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bootstrapMaterialThemeColors\", function() { return bootstrapMaterialThemeColors; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bootstrapMaterialThemeCssRules\", function() { return bootstrapMaterialThemeCssRules; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n/* harmony import */ var _common_theme_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common-theme-settings */ \"./src/plugins/themes/common-theme-settings.ts\");\n/* harmony import */ var _cssbootstrapmaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cssbootstrapmaterial */ \"./src/plugins/themes/bootstrapmaterial/cssbootstrapmaterial.ts\");\n\n\n\nvar bootstrapMaterialThemeName = \"bootstrapmaterial\";\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][bootstrapMaterialThemeName] = _cssbootstrapmaterial__WEBPACK_IMPORTED_MODULE_2__[\"defaultCss\"];\nvar bootstrapMaterialThemeColors = {\n \"$main-color\": \"#18a689\",\n \"$text-color\": \"#404040;\",\n \"$text-input-color\": \"#404040;\",\n \"$progress-text-color\": \"#9d9d9d\",\n \"$disable-color\": \"#dbdbdb\",\n \"$header-background-color\": \"#e7e7e7\",\n \"$disabled-label-color\": \"rgba(64, 64, 64, 0.5)\",\n \"$slider-color\": \"white\",\n \"$disabled-switch-color\": \"#9f9f9f\",\n \"$disabled-slider-color\": \"#cfcfcf\",\n \"$body-background-color\": \"#ffffff\",\n \"$foreground-light\": \"#909090\",\n \"$foreground-disabled\": \"#161616\",\n \"$background-dim\": \"#f3f3f3\",\n \"$progress-buttons-color\": \"#8dd6c7\",\n \"$progress-buttons-line-color\": \"#d4d4d4\",\n};\nvar bootstrapMaterialThemeCssRules = {\n \".sv_main.sv_bootstrapmaterial_css .form-group.is-focused .form-control\": \"linear-gradient(0deg, $main-color 2px, $main-color 0),linear-gradient(0deg, #D2D2D2 1px, transparent 0);\",\n \".sv_main.sv_bootstrapmaterial_css .sv_qstn\": \"margin-bottom: 1rem;\",\n \".sv_main.sv_bootstrapmaterial_css .sv_qstn label.sv_q_m_label\": \"height: 100%;\",\n \".sv_main.sv_bootstrapmaterial_css .sv_q_image\": \"display: inline-block;\",\n \".sv_main .sv_row .sv_qstn:first-child:last-child\": \"flex: none !important;\",\n \".sv_main .sv_row .sv_p_container:first-child:last-child\": \"flex: none !important;\",\n \".sv_main.sv_bootstrapmaterial_css .checkbox input[type=checkbox]:checked + .checkbox-material .check\": \"border-color: $main-color;\",\n \".sv_main.sv_bootstrapmaterial_css label.checkbox-inline input[type=checkbox]:checked + .checkbox-material .check\": \"border-color: $main-color;\",\n \".sv_main.sv_bootstrapmaterial_css .checkbox input[type=checkbox]:checked + .checkbox-material .check:before\": \"color: $main-color;\",\n \".sv_main.sv_bootstrapmaterial_css label.checkbox-inline input[type=checkbox]:checked + .checkbox-material .check:before\": \"color: $main-color;\",\n \".sv_main.sv_bootstrapmaterial_css .radio input[type=radio]:checked ~ .circle\": \"border-color: $main-color;\",\n \".sv_main.sv_bootstrapmaterial_css label.radio-inline input[type=radio]:checked ~ .circle\": \"border-color: $main-color;\",\n \".sv_main.sv_bootstrapmaterial_css .radio input[type=radio]:checked ~ .check\": \"background-color: $main-color;\",\n \".sv_main.sv_bootstrapmaterial_css label.radio-inline input[type=radio]:checked ~ .check\": \"background-color: $main-color;\",\n \".sv_main.sv_bootstrapmaterial_css .btn-default.active\": \"background-color: $main-color; color: $body-background-color;\",\n \".sv_main.sv_bootstrapmaterial_css .btn-default:active\": \"background-color: $main-color; color: $body-background-color;\",\n \".sv_main.sv_bootstrapmaterial_css .btn-secondary.active\": \"background-color: $main-color; color: $body-background-color;\",\n \".sv_main.sv_bootstrapmaterial_css .btn-secondary:active\": \"background-color: $main-color; color: $body-background-color;\",\n \".sv_main.sv_bootstrapmaterial_css .open>.dropdown-toggle.btn-default\": \"background-color: $main-color; color: $body-background-color;\",\n \".sv_main.sv_bootstrapmaterial_css input[type='button'].btn-primary, .sv_main.sv_bootstrapmaterial_css button.btn-primary\": \"color: $body-background-color; background-color: $main-color;\",\n \".sv_main.sv_bootstrapmaterial_css input[type='button'].btn-primary:hover, .sv_main.sv_bootstrapmaterial_css button.btn-primary:hover\": \"background-color: $main-hover-color;\",\n \".sv_main .sv_q_imgsel.checked label>div\": \"background-color: $main-color;\",\n \".sv_main.sv_bootstrapmaterial_css .sv_q_file_remove:hover\": \"color: $main-color;\",\n \".sv_main.sv_bootstrapmaterial_css .form-group input[type=file]\": \"position: relative; opacity: 1;\",\n \".sv_main.sv_bootstrapmaterial_css .progress\": \"width: 60%; height: 1.5em;\",\n \".sv_main.sv_bootstrapmaterial_css .progress-bar\": \"width: auto; margin-left: 2px; margin-right: 2px;\",\n //progress bar\n \".sv_main .sv-progress\": \"background-color: $header-background-color;\",\n \".sv_main .sv-progress__bar\": \"background-color: $main-color;\",\n //progress buttons\n \".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list li:before\": \"border-color: $progress-buttons-color; background-color: $progress-buttons-color;\",\n \".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list li:after\": \"background-color: $progress-buttons-line-color;\",\n \".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list .sv_progress-buttons__page-title\": \"color: $text-color;\",\n \".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list .sv_progress-buttons__page-description\": \"color: $text-color;\",\n \".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list li.sv_progress-buttons__list-element--passed:before\": \"border-color: $main-color; background-color: $main-color;\",\n \".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list li.sv_progress-buttons__list-element--passed + li:after\": \"background-color: $progress-buttons-color\",\n \".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list li.sv_progress-buttons__list-element--current:before\": \"border-color: $main-color; background-color: white;\",\n \".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list li.sv_progress-buttons__list-element--passed.sv_progress-buttons__list-element--current:before\": \"border-color: $main-color; background-color: white;\",\n //paneldynamic\n \".sv_main .sv-paneldynamic__prev-btn.sv-paneldynamic__prev-btn--disabled, .sv_main .sv-paneldynamic__next-btn.sv-paneldynamic__next-btn--disabled\": \"fill: $disable-color;\",\n \".sv_main .sv-paneldynamic__progress-text\": \"color: $progress-text-color;\",\n \".sv_main .sv-paneldynamic__prev-btn, .sv_main .sv-paneldynamic__next-btn\": \"fill: $text-color\",\n //boolean\n \".sv_main .sv-boolean .checkbox-decorator\": \"display: none;\",\n \".sv_main .sv-boolean__switch\": \"background-color: $main-color;\",\n \".sv_main .sv-boolean__slider\": \"background-color: $slider-color;\",\n \".sv_main .sv-boolean__label.sv-boolean__label--disabled\": \"color: $disabled-label-color;\",\n \".sv_main .sv-boolean__label\": \"color: $text-color;\",\n \".sv_main .sv-boolean--disabled .sv-boolean__switch\": \"background-color: $disabled-switch-color;\",\n \".sv_main .sv-boolean--disabled .sv-boolean__slider\": \"background-color: $disabled-slider-color;\",\n //eo boolean\n \".sv_main .sv_matrix_detail_row\": \"background-color: #ededed; border-top: 1px solid $header-background-color; border-bottom: 1px solid $header-background-color;\",\n //signature pad\n \".sv_main .sjs_sp_container\": \"border: 1px dashed $disable-color;\",\n \".sv_main .sjs_sp_placeholder\": \"color: $foreground-light;\",\n \".sv_main .sv-action-bar-item\": \"color: $text-color;\",\n \".sv_main .sv-action-bar-item__icon use\": \"fill: $foreground-light;\",\n \".sv_main .sv-action-bar-item:hover\": \"background-color: $background-dim;\",\n \".sv-skeleton-element\": \"background-color: $background-dim;\",\n};\nObject(_common_theme_settings__WEBPACK_IMPORTED_MODULE_1__[\"setStyles\"])();\nObject(_common_theme_settings__WEBPACK_IMPORTED_MODULE_1__[\"setMediaStyles\"])();\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"StylesManager\"].ThemeColors[bootstrapMaterialThemeName] = bootstrapMaterialThemeColors;\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__[\"StylesManager\"].ThemeCss[bootstrapMaterialThemeName] = bootstrapMaterialThemeCssRules;\n\n\n/***/ }),\n\n/***/ \"./src/plugins/themes/common-theme-settings.ts\":\n/*!*****************************************************!*\\\n !*** ./src/plugins/themes/common-theme-settings.ts ***!\n \\*****************************************************/\n/*! exports provided: setMediaStyles, setStyles */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setMediaStyles\", function() { return setMediaStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setStyles\", function() { return setStyles; });\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"./src/entries/core.ts\");\n\nfunction setMediaStyles() {\n survey_core__WEBPACK_IMPORTED_MODULE_0__[\"StylesManager\"].Media = {\n \".sv_qstn fieldset .sv-q-col-1\": {\n style: \"width: 100%;\",\n media: \"@media only screen and (max-width: 480px)\",\n },\n \".sv_qstn fieldset .sv-q-col-2\": {\n style: \"width: 100%;\",\n media: \"@media only screen and (max-width: 480px)\",\n },\n \".sv_qstn fieldset .sv-q-col-3\": {\n style: \"width: 100%;\",\n media: \"@media only screen and (max-width: 480px)\",\n },\n \".sv_qstn fieldset .sv-q-col-4\": {\n style: \"width: 100%;\",\n media: \"@media only screen and (max-width: 480px)\",\n },\n \".sv_qstn fieldset .sv-q-col-5\": {\n style: \"width: 100%;\",\n media: \"@media only screen and (max-width: 480px)\",\n },\n \".sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn\": {\n style: \"display: block; width: 100% !important;\",\n media: \"@media (max-width: 600px)\",\n },\n \".sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn .title-left\": {\n style: \"float: none;\",\n media: \"@media (max-width: 600px)\",\n },\n \".sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn .sv_q_radiogroup_inline, .sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn .sv_q_checkbox_inline, .sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn .sv_q_imagepicker_inline\": {\n style: \"display: block;\",\n media: \"@media (max-width: 600px)\",\n },\n \".sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn table.table\": {\n style: \"display: block;\",\n media: \"@media (max-width: 600px)\",\n },\n \".sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn table.table thead\": {\n style: \"display: none;\",\n media: \"@media (max-width: 600px)\",\n },\n \".sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn table.table tbody, .sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn table.table tr, .sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn table.table td\": {\n style: \"display: block;\",\n media: \"@media (max-width: 600px)\",\n },\n \".sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn table.table:not(.sv_q_matrix) td:before\": {\n style: \"content: attr(data-responsive-title);\",\n media: \"@media (max-width: 600px)\",\n },\n \".sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn table.sv_q_matrix td:after\": {\n style: \"content: attr(data-responsive-title); padding-left: 1em\",\n media: \"@media (max-width: 600px)\",\n },\n \".sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn .radio label, .sv_main .sv_container .panel-body.card-block .sv_row .sv_qstn .checkbox label\": {\n style: \"line-height: 12px; vertical-align: top;\",\n media: \"@media (max-width: 600px)\",\n },\n \".sv_qstn label.sv_q_m_label\": {\n style: \"display: inline;\",\n media: \"@media (max-width: 600px)\",\n },\n \".sv_main .sv_custom_header\": {\n style: \"display: none;\",\n media: \"@media (max-width: 1300px)\",\n },\n \".sv_main .sv_container .sv_header h3\": {\n style: \"font-size: 1.5em;\",\n media: \"@media (max-width: 1300px)\",\n },\n \".sv_main .sv_container .sv_header h3 span\": {\n style: \"font-size: 0.75em;\",\n media: \"@media (max-width: 700px)\",\n },\n \".sv_main.sv_bootstrap_css .sv-progress__text\": {\n style: \"margin-left: 8em;\",\n media: \"@media (min-width: 768px)\",\n },\n \".sv_row\": {\n style: \" display: flex; flex-wrap: wrap;\",\n media: \"@supports (display: flex)\",\n },\n \".sv-row > .sv-row__panel, .sv-row__question:not(:last-child)\": {\n style: \"float: left;\",\n media: \"@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)\",\n },\n \"[dir='rtl'],[style*='direction:rtl'] .sv-row__question:not(:last-child)\": {\n style: \"float: right;\",\n media: \"@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)\",\n },\n \".sv-row > .sv-row__panel, .sv-row__question\": {\n style: \"width: 100% !important; padding-right: 0 !important;\",\n media: \"@media only screen and (max-width: 600px)\",\n },\n };\n}\nfunction setStyles() {\n survey_core__WEBPACK_IMPORTED_MODULE_0__[\"StylesManager\"].Styles = {\n // \".sv_bootstrap_css\": \"position: relative; width: 100%; background-color: #f4f4f4\",\n // \".sv_bootstrap_css .sv_custom_header\": \"position: absolute; width: 100%; height: 275px; background-color: #e7e7e7;\",\n // \".sv_bootstrap_css .sv_container\": \"max-width: 80%; margin: auto; position: relative; color: #6d7072; padding: 0 1em;\",\n // \".sv_bootstrap_css .panel-body\": \"background-color: white; padding: 1em 1em 5em 1em; border-top: 2px solid lightgray;\",\n \".sv_main span\": \"word-break: break-word;\",\n \".sv_main legend\": \"border: none; margin: 0;\",\n \".sv_bootstrap_css .sv_qstn\": \"padding: 0.5em var(--sv-element-add-padding-right, 1em) 1.5em var(--sv-element-add-padding-left, 1em);\",\n \".sv_bootstrap_css .sv_qcbc input[type=checkbox], .sv_bootstrap_css .sv_qcbc input[type=radio]\": \"vertical-align: middle; margin-top: -1px\",\n \".sv_bootstrap_css .sv_qstn fieldset\": \"display: block;\",\n \".sv_bootstrap_css .sv_qstn .sv_q_checkbox_inline, .sv_bootstrap_css .sv_qstn .sv_q_radiogroup_inline\": \"display: inline-block;\",\n \".sv_bootstrap_css .sv-paneldynamic__progress-container \": \"position: relative; margin-right: 250px; margin-left: 40px; margin-top: 10px;\",\n \".sv_main.sv_bootstrapmaterial_css .sv_q_radiogroup_control_label\": \"display: inline; position: static;\",\n \".sv_main.sv_bootstrapmaterial_css .checkbox\": \"margin-top:10px;margin-bottom:10px;\",\n \".sv_row\": \"clear: both; min-width:300px;\",\n \".sv_row .sv_qstn\": \"float: left\",\n \".sv_row .sv_qstn:last-child\": \"float: none\",\n \".sv_qstn\": \"display: vertical-align: top; overflow: auto; min-width:300px;\",\n \".sv_p_container\": \"display: vertical-align: top; min-width:300px;\",\n \".sv_q_title .sv_question_icon\": \"float: right; margin-right: 1em;\",\n \".sv_q_title .sv_question_icon::before\": \"content: ''; background-repeat: no-repeat; background-position: center; padding: 0.5em; display: inline-block; background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxMCAxMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTAgMTA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOiM2RDcwNzI7fQ0KPC9zdHlsZT4NCjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iMiwyIDAsNCA1LDkgMTAsNCA4LDIgNSw1ICIvPg0KPC9zdmc+DQo=);\",\n \".sv_q_title .sv_question_icon.sv_expanded::before\": \"transform: rotate(180deg);\",\n \".sv_qbln .checkbox-material\": \"margin-right: 3px;\",\n \".sv_qcbx .checkbox-material\": \"margin-right: 5px;\",\n \".sv_qcbx .checkbox label\": \"justify-content: left; display: inline-block;\",\n \".sv_qstn .radio label\": \"justify-content: left; display: inline-block;\",\n \".sv_qstn .sv_q_imgsel > label img\": \"pointer-events: none;\",\n \".sv_qstn .sv_q_imgsel.sv_q_imagepicker_inline\": \"display: inline-block;\",\n \".sv_qstn label.sv_q_m_label\": \"position: absolute; margin: 0; display: block; width: 100%;\",\n \".sv_qstn td\": \"position: relative;\",\n \".sv_q_mt\": \"table-layout: fixed;\",\n \".sv_q_mt_label\": \"display: flex; align-items: center; font-weight: inherit;\",\n \".sv_q_mt_title\": \"margin-right: 0.5em; width: 33%;\",\n \".sv_q_mt_item\": \"flex: 1;\",\n \".sv_q_mt_item_value\": \"float: left;\",\n '[dir=\"rtl\"] .sv_q_mt_item_value': \"float: right;\",\n \".sv_qstn.sv_qstn_left\": \"margin-top: 0.75em;\",\n \".sv_qstn .title-left\": \"float: left; margin-right: 1em; max-width: 50%\",\n '[dir=\"rtl\"] .sv_qstn .title-left': \"float: right; margin-left: 1em;\",\n \".sv_qstn .content-left\": \"overflow: hidden\",\n \".sv_q_radiogroup_inline .sv_q_radiogroup_other\": \"display: inline-block;\",\n \".sv_q_checkbox_inline .sv_q_checkbox_other\": \"display: inline-block;\",\n \".sv_q_checkbox_inline, .sv_q_radiogroup_inline, .sv_q_imagepicker_inline\": \"line-height: 2.5em;\",\n \".form-inline .sv_q_checkbox_inline:not(:last-child)\": \"margin-right: 1em;\",\n \".form-inline .sv_q_radiogroup_inline:not(:last-child)\": \"margin-right: 1em;\",\n \".sv_imgsel .sv_q_imagepicker_inline:not(:last-child)\": \"margin-right: 1em;\",\n \".sv_qstn fieldset\": \"border: none; margin: 0; padding: 0;\",\n \".sv_qstn .sv_q_file_placeholder\": \"display:none\",\n \".sv_p_title\": \"padding-left: 1em; padding-bottom: 0.3em;\",\n \".sv_p_title_expandable, .sv_q_title_expandable\": \"cursor: pointer; position: relative; display: flex; align-items: center; padding-right: 24px;\",\n \".sv_p_title_expandable::after, .sv_q_title_expandable::after\": \"content: \\\"\\\"; display: block;background-image: url(\\\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 10 10' style='enable-background:new 0 0 10 10;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23404040;%7D%0A%3C/style%3E%3Cpolygon class='st0' points='2,2 0,4 5,9 10,4 8,2 5,5 '/%3E%3C/svg%3E%0A\\\"); background-repeat: no-repeat; background-position: center center; background-size: 10px 12px; width: 24px; height: 24px; position: absolute; right: 0;\",\n \".sv_p_title_expanded::after, .sv_q_title_expanded::after\": \"transform: rotate(180deg);\",\n \".sv_p_title .sv_panel_icon\": \"float: right; margin-right: 1em;\",\n \".sv_p_title .sv_panel_icon::before\": \"content: ''; background-repeat: no-repeat; background-position: center; padding: 0.5em; display: inline-block; background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxMCAxMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTAgMTA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOiM2RDcwNzI7fQ0KPC9zdHlsZT4NCjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iMiwyIDAsNCA1LDkgMTAsNCA4LDIgNSw1ICIvPg0KPC9zdmc+DQo=);\",\n \".sv_p_title .sv_panel_icon.sv_expanded::before\": \"transform: rotate(180deg);\",\n \".sv_p_footer\": \"padding-left: 1em; padding-bottom: 1em;padding-top: 1em;\",\n \".sv_matrix_cell_detail_button\": \"position: relative\",\n \".sv_detail_panel_icon\": \"display: block; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 14px; height: 14px;\",\n \".sv_detail_panel_icon::before\": \"content: ''; background-repeat: no-repeat; background-position: center; width: 14px; height: 14px; display: block; transform: rotate(270deg); background-image: url(\\\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 15 15' style='enable-background:new 0 0 15 15;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpolygon class='st0' points='14,5.5 12.6,4.1 7.5,9.1 2.4,4.1 1,5.5 7.5,12 '/%3E%3C/svg%3E%0A\\\");\",\n \".sv_detail_panel_icon.sv_detail_expanded::before\": \"transform: rotate(0deg)\",\n \".sv_matrix_empty_rows_section\": \"text-align: center; vertical-align: middle;\",\n \".sv_matrix_empty_rows_text\": \"padding:20px\",\n \".sv_q_file > input[type=file], .sv_q_file > button\": \"display: inline-block;\",\n \".sv_q_file_preview\": \"display: inline-block; vertical-align: top; border: 1px solid lightgray; padding: 5px; margin-top: 10px;\",\n \".sv_q_file_preview > a\": \"display: block; overflow: hidden; vertical-align: top; white-space: nowrap; text-overflow: ellipsis;\",\n \".sv_q_file_remove_button\": \"line-height: normal;\",\n \".sv_q_file_remove\": \"display: block; cursor: pointer;\",\n \".sv_q_m_cell_text\": \"cursor: pointer;\",\n \".sv_q_dd_other\": \"margin-top: 1em;\",\n \".sv_q_dd_other input\": \"width: 100%;\",\n \".sv_q_dd_clean-button\": \"margin: 0.15em 3em;\",\n \".sv_q_dd_clean-button-svg\": \"width: 1em; height: 1em;\",\n \".sv_q_dd_control\": \"display: flex; justify-content: space-between; appearance: none;\",\n \".sv_q_dd_value\": \"width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; position: relative;\",\n \".sv_q_dd_hint-prefix span\": \"white-space: pre;\",\n \".sv_q_dd_hint-suffix\": \"display: flex;\",\n \".sv_q_dd_root\": \"position: relative;\",\n \".sv_q_dd_select_wrapper\": \"position: relative;\",\n \".sv_q_dd_select_wrapper::after\": \"content: \\\"\\\"; display: block;background-image: url(\\\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 10 10' style='enable-background:new 0 0 10 10;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23404040;%7D%0A%3C/style%3E%3Cpolygon class='st0' points='2,2 0,4 5,9 10,4 8,2 5,5 '/%3E%3C/svg%3E%0A\\\"); background-repeat: no-repeat; background-position: center center; background-size: 10px 12px; width: 34px; height: 100%; position: absolute; inset-inline-end: 0; top: 0;\",\n \".sv_q_dd_filter-string-input\": \"outline: none; border: none; background-color: transparent; position: absolute; inset-inline-start: 0; inset-block-start: 0; width: 100%; max-width: 100%; padding: 0;\",\n \".sv_q_dropdown_clean-button\": \"margin: auto 2em;\",\n \".sv_q_tagbox__placeholder\": \"position: absolute; top: 0; inset-inline-start: 1em; max-width: 100%; width: auto; height: 100%; text-align: start; cursor: text; pointer-events: none;\",\n \".sv_qstn .sv-q-col-1, .sv-question .sv-q-col-1\": \"width: 100%; display: inline-block; padding-right: 1em; box-sizing: border-box; word-break: break-word;\",\n \".sv_qstn .sv-q-col-2, .sv-question .sv-q-col-2\": \"width: calc(50% - 1em); display: inline-block; padding-right: 1em; box-sizing: border-box; word-break: break-word;\",\n \".sv_qstn .sv-q-col-3, .sv-question .sv-q-col-3\": \"width: calc(33.33333% - 1em); display: inline-block; padding-right: 1em; box-sizing: border-box; word-break: break-word;\",\n \".sv_qstn .sv-q-col-4, .sv-question .sv-q-col-4\": \"width: calc(25% - 1em); display: inline-block; padding-right: 1em; box-sizing: border-box; word-break: break-word;\",\n \".sv_qstn .sv-q-col-5, .sv-question .sv-q-col-5\": \"width: calc(20% - 1em); display: inline-block; padding-right: 1em; box-sizing: border-box; word-break: break-word;\",\n \".sv_qstn .sv-q-column-1, .sv-question .sv-q-column-1\": \"width: 100%; max-width: 100%; display: inline-block; padding-right: 1em; box-sizing: border-box; word-break: break-word;\",\n \".sv_qstn .sv-q-column-2, .sv-question .sv-q-column-2\": \"max-width: 50%; display: inline-block; padding-right: 1em; box-sizing: border-box; word-break: break-word;\",\n \".sv_qstn .sv-q-column-3, .sv-question .sv-q-column-3\": \"max-width: 33.33333%; display: inline-block; padding-right: 1em; box-sizing: border-box; word-break: break-word;\",\n \".sv_qstn .sv-q-column-4, .sv-question .sv-q-column-4\": \"max-width: 25%; display: inline-block; padding-right: 1em; box-sizing: border-box; word-break: break-word;\",\n \".sv_qstn .sv-q-column-5, .sv-question .sv-q-column-5\": \"max-width: 20%; display: inline-block; padding-right: 1em; box-sizing: border-box; word-break: break-word;\",\n \".sv_qstn .sv_q_file_input\": \"color: transparent;\",\n \".sv_qstn .sv_q_imgsel label > div\": \"overflow: hidden; white-space: nowrap; text-overflow: ellipsis; padding: 4px; border: 1px solid lightgray; border-radius: 4px;\",\n \".sv_qstn .sv_q_imgsel label > div > img, .sv_qstn .sv_q_imgsel label > div > embed\": \"display: block;\",\n \".sv_qstn table tr td .sv_q_m_cell_label\": \"position: absolute; left: 0; right: 0; top: 0; bottom: 0;\",\n \"f-panel\": \"padding: 0.5em 1em; display: inline-block; line-height: 2em;\",\n \".sv_progress_bar > span\": \"white-space: nowrap;\",\n //progress buttons\n \".sv_progress-buttons__container-center\": \"text-align: center;\",\n \".sv_progress-buttons__container\": \"display: inline-block; font-size: 0; width: 100%; max-width: 1100px; white-space: nowrap; overflow: hidden;\",\n \".sv_progress-buttons__image-button-left\": \"display: inline-block; vertical-align: top; margin-top: 22px; font-size: 14px; width: 16px; height: 16px; cursor: pointer; background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwb2x5Z29uIHBvaW50cz0iMTEsMTIgOSwxNCAzLDggOSwyIDExLDQgNyw4ICIvPg0KPC9zdmc+DQo=);\",\n \".sv_progress-buttons__image-button-right\": \"display: inline-block; vertical-align: top; margin-top: 22px; font-size: 14px; width: 16px; height: 16px; cursor: pointer; background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwb2x5Z29uIHBvaW50cz0iNSw0IDcsMiAxMyw4IDcsMTQgNSwxMiA5LDggIi8+DQo8L3N2Zz4NCg==);\",\n \".sv_progress-buttons__image-button--hidden\": \"visibility: hidden;\",\n \".sv_progress-buttons__list-container\": \"max-width: calc(100% - 36px); display: inline-block; overflow: hidden;\",\n \".sv_progress-buttons__list\": \"display: inline-block; width: max-content; padding-left: 28px; padding-right: 28px; margin-top: 14px; margin-bottom: 14px;\",\n \".sv_progress-buttons__list li\": \"width: 138px; font-size: 14px; font-family: var(--font-family, $font-family); position: relative; text-align: center; vertical-align: top; display: inline-block;\",\n \".sv_progress-buttons__list li:before\": \"width: 24px; height: 24px; content: ''; line-height: 30px; display: block; margin: 0 auto 10px auto; border: 3px solid; border-radius: 50%; box-sizing: content-box; cursor: pointer;\",\n \".sv_progress-buttons__list li:after\": \"width: 73%; height: 3px; content: ''; position: absolute; top: 15px; left: -36.5%;\",\n \".sv_progress-buttons__list li:first-child:after\": \"content: none;\",\n \".sv_progress-buttons__list .sv_progress-buttons__page-title\": \"width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: bold;\",\n \".sv_progress-buttons__list .sv_progress-buttons__page-description\": \"width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\",\n \".sv_progress-buttons__list li.sv_progress-buttons__list-element--nonclickable:before\": \"cursor: not-allowed;\",\n // ranking\n \".sv-ranking\": \"outline: none; user-select: none;\",\n \".sv-ranking-item\": \"cursor: pointer; position: relative;\",\n \".sv-ranking-item:focus .sv-ranking-item__icon--hover\": \"visibility: hidden;\",\n \".sv-ranking-item:hover .sv-ranking-item__icon--hover\": \"visibility: visible;\",\n \".sv-question--disabled .sv-ranking-item:hover .sv-ranking-item__icon--hover\": \"visibility: hidden;\",\n \".sv-ranking-item:focus\": \"outline: none;\",\n \".sv-ranking-item:focus .sv-ranking-item__icon--focus\": \"visibility: visible; top: 15px;\",\n \".sv-ranking-item:focus .sv-ranking-item__index\": \"background: white; border: 2px solid var(--primary, #19b394);\",\n \".sv-ranking-item__content\": \"display: flex; align-items: center; line-height: 1em; padding: 5px 0px; border-radius: 100px;\",\n \".sv-ranking-item__icon-container\": \"left: 0;top: 0;bottom: 0;width: calc(3 * var(--base-unit, 8px)); flex-shrink: 0;\",\n \".sv-ranking-item__icon\": \"visibility: hidden;top:20px; fill: var(--primary, #19b394); position: absolute;\",\n \".sv-ranking-item__index\": \"display: flex; flex-shrink: 0; align-items: center; justify-content: center; background: var(--primary-light, rgba(25, 179, 148, 0.1)); color: var(--foreground); border-radius: 100%; border:2px solid transparent; width: 40px; height: 40px; line-height: 1em;\",\n \".sv-ranking-item__text\": \"display: inline-block; overflow:hidden; text-overflow: ellipsis; white-space: nowrap; margin: 0 calc(2 * var(--base-unit, 8px));\",\n \".sv-ranking-item__ghost\": \"display: none; background-color: var(--background-dim, #f3f3f3); border-radius: 100px;width: 200px;height: 55px;z-index: 1;position: absolute;left: 25px;\",\n \"[dir='rtl'] .sv-ranking-item__ghost\": \"left: initilal; right: 25px;\",\n \".sv-ranking-item--ghost .sv-ranking-item__ghost\": \"display: block;\",\n \".sv-ranking-item--ghost .sv-ranking-item__content\": \"visibility: hidden;\",\n \".sv-ranking-item--drag .sv-ranking-item__content\": \"box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1);border-radius: 100px;\",\n \".sv-ranking--drag .sv-ranking-item:hover .sv-ranking-item__icon\": \"visibility: hidden;\",\n \".sv-ranking-item--drag .sv-ranking-item__icon--hover\": \"visibility: visible;\",\n \".sv-ranking--mobile .sv-ranking-item__icon--hover\": \"visibility:visible; fill:#9f9f9f;\",\n \".sv-ranking--mobile.sv-ranking--drag .sv-ranking-item--ghost .sv-ranking-item__icon.sv-ranking-item__icon--hover\": \"visibility:hidden;\",\n \".sv-ranking--mobile.sv-ranking-shortcut\": \"max-width: 80%;\",\n \".sv-ranking--design-mode .sv-ranking-item:hover .sv-ranking-item__icon\": \"visibility: hidden;\",\n \".sv-ranking--disabled\": \"opacity: 0.8;\",\n \".sv-ranking-shortcut .sv-ranking-item__icon\": \"fill: var(--primary, #19b394); \",\n \".sv-ranking--drag-handle-area-icon .sv-ranking-item\": \"cursor: initial\",\n \".sv-ranking--drag-handle-area-icon .sv-ranking-item__icon--hover\": \"cursor: pointer;\",\n // EO ranking\n // drag drop\n \".sv-dragged-element-shortcut\": \"height: 24px; min-width: 100px; border-radius: 36px; background-color: white; padding: 16px; cursor: grabbing; position: absolute; z-index: 10000; box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1); font-family: var(--font-family, $font-family); font-size: 16px; padding-left: 20px;line-height: 24px;\",\n \".sv-matrixdynamic__drag-icon\": \"padding-top:14px\",\n \".sv-matrixdynamic__drag-icon:after\": \"content: ' '; display: block; height: 6px; width: 20px; border: 1px solid #e7e7e7; box-sizing: border-box; border-radius: 10px; cursor: move; margin-top: 12px;\",\n \".sv-matrix-row--drag-drop-ghost-mod td\": \"background-color: #f3f3f3;\",\n \".sv-matrix-row--drag-drop-ghost-mod td > *\": \"visibility: hidden\",\n //eo drag-drop\n \".sv_qstn .sv_q_select_column\": \"display: inline-block; vertical-align: top; min-width: 10%;\",\n \".sv_qstn .sv_q_select_column > *:not(.sv_technical)\": \"display: block;\",\n \".sv_main .sv_container .sv_body .sv_p_root .sv_qstn .sv_q_select_column textarea\": \"margin-left: 0; padding-left: 0; line-height: initial;\",\n \".sv_main .sv-hidden\": \"display: none !important;\",\n \".sv_main .sv-visuallyhidden\": \"position: absolute; height: 1px !important; width: 1px !important; overflow: hidden; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);\",\n // paneldynamic progress\n \".sv_main .sv-progress\": \"height: 0.19em; background-color: $header-background-color; position: relative;\",\n \".sv_main .sv-progress__bar\": \"background-color: $main-color; height: 100%; position: relative;\",\n // EO paneldynamic progress\n // paneldynamic\n \".sv_main .sv-paneldynamic__progress-container\": \"position: relative; display: inline-block; width: calc(100% - 250px); margin-top: 20px;\",\n \".sv_main .sv-paneldynamic__add-btn\": \"float: right;\",\n \".sv_main .sv-paneldynamic__add-btn--list-mode\": \"float: none; margin-top: 0;\",\n \".sv_main .sv-paneldynamic__remove-btn\": \"margin-top: 1.25em;\",\n \".sv_main .sv-paneldynamic__remove-btn--right\": \"margin-top: 0; margin-left: 1.25em;\",\n \".sv_main .sv-paneldynamic__prev-btn, .sv_main .sv-paneldynamic__next-btn\": \"box-sizing: border-box; display: inline-block; cursor: pointer; width: 0.7em; top: -0.28em; position: absolute;\",\n \".sv_main .sv-paneldynamic__prev-btn svg, .sv_main .sv-paneldynamic__next-btn svg\": \"width: 0.7em; height: 0.7em; display: block;\",\n \".sv_main .sv-paneldynamic__prev-btn\": \"left: -1.3em; transform: rotate(90deg);\",\n \".sv_main .sv-paneldynamic__next-btn \": \"right: -1.3em; transform: rotate(270deg);\",\n \".sv_main .sv-paneldynamic__prev-btn.sv-paneldynamic__prev-btn--disabled, .sv_main .sv-paneldynamic__next-btn.sv-paneldynamic__next-btn--disabled\": \"cursor: auto;\",\n \".sv_main .sv-paneldynamic__progress-text\": \"font-weight: bold; font-size: 0.87em; margin-top: 0.69em; margin-left: 4em\",\n // EO paneldynamic\n //boolean\n \".sv_main .sv-boolean__switch\": \"display: inline-block; box-sizing: border-box; width: 63px; height: 24px; margin-right: 17px; margin-left: 21px; padding: 2px 3px; vertical-align: middle; border-radius: 12px; cursor: pointer;\",\n \".sv_main .sv-boolean__slider\": \"display: inline-block; width: 20px; height: 20px; transition-duration: .4s; transition-property: margin-left; border: none; border-radius: 100%;\",\n \".sv_main .sv-boolean__label\": \"vertical-align: middle; cursor: pointer;\",\n \".sv_main .sv-boolean--indeterminate .sv-boolean__slider\": \"margin-left: calc(50% - 10px);\",\n \".sv_main .sv-boolean input:focus ~ .sv-boolean__switch\": \"outline-width: 1px; outline-style: solid; outline-offset: 1px;\",\n \".sv_main .sv-boolean--checked .sv-boolean__slider\": \"margin-left: calc(100% - 20px);\",\n \"[dir='rtl'] .sv-boolean__label \": \"float: right;\",\n \"[dir='rtl'] .sv-boolean--indeterminate .sv-boolean__slider\": \"margin-right: calc(50% - 0.625em);\",\n \"[dir='rtl'] .sv-boolean--checked .sv-boolean__slider\": \"margin-right: calc(100% - 1.25em);\",\n \"[dir='rtl'] .sv-boolean__switch\": \"float: right;\",\n \"[style*='direction:rtl'] .sv-boolean__label \": \"float: right;\",\n \"[style*='direction:rtl'] .sv-boolean--indeterminate .sv-boolean__slider\": \"margin-right: calc(50% - 0.625em);\",\n \"[style*='direction:rtl'] .sv-boolean--checked .sv-boolean__slider\": \"margin-right: calc(100% - 1.25em);\",\n \"[style*='direction:rtl'] .sv-boolean__switch\": \"float: right;\",\n // EO boolean\n \".sv_main .sv_q_num\": \"\",\n \".sv_main .sv_q_num + span\": \"\",\n // SignaturePad\n \".sv_main .sjs_sp_container\": \"position: relative; box-sizing: content-box;\",\n \".sv_main .sjs_sp_controls\": \"position: absolute; left: 0; bottom: 0;\",\n \".sv_main .sjs_sp_controls > button\": \"user-select: none;\",\n \".sv_main .sjs_sp_container>div>canvas:focus\": \"outline: none;\",\n \".sv_main .sjs_sp_placeholder\": \"display: flex; align-items: center; justify-content: center; position: absolute; z-index: 0; user-select: none; pointer-events: none; width: 100%; height: 100%;\",\n \".sv_main .sjs_sp_canvas\": \"position: absolute; top: 0; left: 0;\",\n \".sv_main .sjs_sp__background-image\": \"position: absolute; top: 0; left: 0;\",\n // logo\n // \".sv_main .sv_header\": \"white-space: nowrap;\",\n \".sv_main .sv_logo\": \"\",\n \".sv_main .sv-logo--left\": \"display: inline-block; vertical-align: top; margin-right: 2em;\",\n \".sv_main .sv-logo--right\": \"display: inline-block; vertical-align: top; margin-left: 2em; \",\n \".sv_main .sv-logo--top\": \"display: block; width: 100%; text-align: center;\",\n \".sv_main .sv-logo--bottom\": \"display: block; width: 100%; text-align: center;\",\n \".sv_main .sv_header__text\": \"display: inline-block; vertical-align: top; max-width: 100%; width: 100%\",\n \".sv_main .sv-expand-action:before\": \"content: \\\"\\\"; display: inline-block; background-image: url(\\\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 10 10' style='enable-background:new 0 0 10 10;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23404040;%7D%0A%3C/style%3E%3Cpolygon class='st0' points='2,2 0,4 5,9 10,4 8,2 5,5 '/%3E%3C/svg%3E%0A\\\"); background-repeat: no-repeat; background-position: center center; height: 10px; width: 12px; margin: auto 8px;\",\n \".sv_main .sv-expand-action--expanded:before\": \"transform: rotate(180deg);\",\n \".sv_main .sv-action-bar\": \"display: flex; position: relative; align-items: center; margin-left: auto; padding: 0 0 0 16px; overflow: hidden; white-space: nowrap;\",\n \".sv_main .sv-action-bar-separator\": \"display: inline-block; width: 1px; height: 24px; vertical-align: middle; margin-right: 16px; background-color: #d6d6d6;\",\n \".sv_main .sv-action-bar-item\": \"-webkit-appearance: none; -moz-appearance: none; appearance: none; display: flex; height: 40px; padding: 8px; box-sizing: border-box; margin-right: 16px; border: none; border-radius: 2px; background-color: transparent; cursor: pointer; line-height: 24px; font-size: 16px; overflow-x: hidden; white-space: nowrap; min-width: auto; font-weight: normal\",\n \".sv_main .sv-action-bar-item__title\": \"vertical-align: middle; white-space: nowrap;\",\n \".sv_main .sv-action-bar-item__title--with-icon\": \"margin-left: 8px;\",\n \".sv_main .sv-action__content\": \"display: flex; flex-direction: row; align-items: center;\",\n \".sv_main .sv-action__content > *\": \"flex: 0 0 auto;\",\n \".sv_main .sv-action--hidden\": \"width: 0px; height: 0px; overflow: hidden;\",\n \".sv_main .sv-action-bar-item__icon svg\": \"display: block;\",\n \".sv_main .sv-action-bar-item:active\": \"opacity: 0.5;\",\n \".sv_main .sv-action-bar-item:focus\": \"outline: none;\",\n \".sv_main .sv-title-actions\": \"display: flex; align-items: center; width: 100%;\",\n \".sv_main .sv-title-actions__title\": \"flex-wrap: wrap; max-width: 90%; min-width: 50%;\",\n \".sv_main .sv-title-actions__bar\": \"min-width: 56px;\",\n \".sv_main .sv-title-actions .sv-title-actions__title\": \"min-width: unset; max-width: unset; flex-wrap: wrap; flex: 0 0 auto;\",\n \".sv_main .sv-title-actions .sv-action-title-bar\": \"min-width: unset; flex: 1 1 auto; justify-content: flex-end;\",\n \".sv_main .sv_matrix_cell_actions .sv-action-bar\": \"margin-left: 0; padding-left: 0;\",\n \".sv_main .sv_p_wrapper_in_row\": \"display: flex; flex-direction: row; align-items: center;\",\n \".sv_main .sv_p_remove_btn_right\": \"margin-left: 1em;\",\n //button-group\n \".sv_main .sv-button-group\": \"display: flex; align-items: center; flex-direction: row; font-size: 16px; height: 48px; overflow: auto;\",\n \".sv_main .sv-button-group__item\": \"display: flex; box-sizing: border-box; flex-direction: row; justify-content: center; align-items: center; width: 100%; padding: 11px 16px; line-height: 24px; border-width: 1px; border-style: solid; outline: none; font-size: 16px; font-weight: 400; cursor: pointer; overflow: hidden;\",\n \".sv_main .sv-button-group__item:not(:first-of-type)\": \"margin-left: -1px;\",\n \".sv_main .sv-button-group__item-icon\": \"display: block; height: 24px;\",\n \".sv_main .sv-button-group__item--selected\": \"font-weight: 600;\",\n \".sv_main .sv-button-group__item-decorator\": \"display: flex; align-items: center; max-width: 100%;\",\n \".sv_main .sv-button-group__item-icon + .sv-button-group__item-caption\": \"margin-left: 8px\",\n \".sv_main .sv-button-group__item-caption\": \"display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\",\n \".sv_main .sv-button-group__item--disabled\": \"color: cursor: default;\",\n //eo button-group\n //popup\n \"sv-popup\": \"display: block; position: absolute; z-index: -1;\",\n \".sv-popup\": \"position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; outline: none; z-index: 1500;\",\n \".sv-popup.sv-dropdown-popup\": \"height: 0;\",\n \".sv-popup__container\": \"box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.1); position: absolute; padding: 0;\",\n \".sv-popup__body-content\": \"background-color: var(--background, #fff); border-radius: calc(0.5 * var(--base-unit, 8px)); width: 100%; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; max-height: 90vh; max-width: 100vw;\",\n \".sv-popup--modal .sv-list__filter\": \"padding-top: 8px;\",\n \".sv-popup--modal .sv-list__filter-icon\": \"top: 20px;\",\n \".sv-popup--overlay .sv-list__filter\": \"padding-top: 8px;\",\n \".sv-popup--overlay .sv-list__filter-icon\": \"top: 20px;\",\n \".sv-popup--modal\": \"display: flex; align-items: center; justify-content: center;\",\n \".sv-popup--modal .sv-popup__container\": \"position: static;\",\n \".sv-popup--modal .sv-popup__body-content\": \"padding: calc(4 * var(--base-unit, 8px));\",\n \".sv-popup--overlay\": \"width: 100%;\",\n \".sv-popup--overlay .sv-popup__container\": \"background: rgba(144, 144, 144, 0.5); max-width: 100vw; max-height: calc(100vh - 1 * var(--base-unit, 8px)); height: calc(100vh - 1 * var(--base-unit, 8px)); width: 100%; padding-top: calc(2 * var(--base-unit, 8px)); border: unset;\",\n \".sv-popup__shadow\": \"width: 100%; height: 100%; border-radius: calc(1 * var(--base-unit, 8px));\",\n \".sv-popup--overlay .sv-popup__body-content\": \"border-radius: calc(2 * var(--base-unit, 8px)) calc(2 * var(--base-unit, 8px)) 0px 0px; background: var(--background, #fff); box-shadow: 0px calc(1 * var(--base-unit, 8px)) calc(2 * var(--base-unit, 8px)) rgba(0, 0, 0, 0.1); padding: calc(3 * var(--base-unit, 8px)) calc(2 * var(--base-unit, 8px)) calc(2 * var(--base-unit, 8px)); height: calc(100% - calc(1 * var(--base-unit, 8px))); max-height: 100vh; max-width: 100vw;\",\n \".sv-popup--overlay .sv-popup__scrolling-content\": \"height: calc(100% - (10 * var(--base-unit, 8px)));\",\n \".sv-popup--overlay .sv-popup__body-footer\": \"margin-top: calc(2 * var(--base-unit, 8px));\",\n \".sv-popup--overlay .sv-popup__body-footer .sv-action\": \"width: 100%;\",\n \".sv-popup--overlay .sv-popup__body-footer .sv-action-bar\": \"width: 100%;\",\n \".sv-popup--overlay .sv-popup__body-footer-item\": \"width: 100%;\",\n \".sv-popup--overlay .sv-popup__button\": \"background-color: var(--primary, #19b394); border: 2px solid var(--primary, #19b394); color: var(--primary-foreground, #fff);\",\n \".sv-popup__scrolling-content\": \"height: 100%; overflow: auto; display: flex; flex-direction: column;\",\n \".sv-popup__scrolling-content::-webkit-scrollbar\": \"height: 6px; width: 6px; background-color: var(--background-dim, #f3f3f3);\",\n \".sv-popup__scrolling-content::-webkit-scrollbar-thumb\": \"background: var(--primary-light, rgba(25, 179, 148, 0.1));\",\n \".sv-popup__content\": \"min-width: 100%; height: 100%; display: flex; flex-direction: column; min-height: 0;\",\n \".sv-popup--show-pointer.sv-popup--top .sv-popup__pointer\": \"transform: translate(calc(-1 * var(--base-unit, 8px))) rotate(180deg);\",\n \".sv-popup--show-pointer.sv-popup--bottom .sv-popup__pointer\": \"transform: translate(calc(-1 * var(--base-unit, 8px)), calc(-1 * var(--base-unit, 8px)));\",\n \".sv-popup--show-pointer.sv-popup--right\": \"transform: translate(calc(1 * var(--base-unit, 8px)));\",\n \".sv-popup--show-pointer.sv-popup--right .sv-popup__pointer\": \"transform: translate(-12px, -4px) rotate(-90deg);\",\n \".sv-popup--show-pointer.sv-popup--left\": \"transform: translate(calc(-1 * var(--base-unit, 8px)));\",\n \".sv-popup--show-pointer.sv-popup--left .sv-popup__pointer\": \"transform: translate(-4px, -4px) rotate(90deg);\",\n \".sv-popup__pointer\": \"display: block; position: absolute;\",\n \".sv-popup__pointer:after\": \"content: ' '; display: block; width: 0; height: 0; border-left: calc(1 * var(--base-unit, 8px)) solid transparent; border-right: calc(1 * var(--base-unit, 8px)) solid transparent; border-bottom: calc(1 * var(--base-unit, 8px)) solid var(--background, #fff); align-self: center;\",\n \".sv-popup__body-header\": \"font-family: var(--font-family, $font-family); font-size: calc(3 * var(--base-unit, 8px)); line-height: calc(4 * var(--base-unit, 8px)); font-style: normal; font-weight: 700; margin-bottom: calc(2 * var(--base-unit, 8px)); color: var(--foreground, #161616);\",\n \".sv-popup__body-footer\": \"display: flex; margin-top: calc(4 * var(--base-unit, 8px));\",\n \".sv-popup__body-footer .sv-action-bar\": \"gap: calc(1.5 * var(--base-unit, 8px));\",\n \".sv-popup__button\": \"padding: calc(2 * var(--base-unit, 8px)) calc(6 * var(--base-unit, 8px)); background: var(--background, #fff); box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15); border-radius: 4px; margin: 2px; cursor: pointer; font-family: var(--font-family, $font-family); font-style: normal; font-weight: 600; font-size: calc(2 * var(--base-unit, 8px)); line-height: calc(3 * var(--base-unit, 8px)); text-align: center; color: var(--primary, #19b394); border: none; outline: none;\",\n \".sv-popup__button:hover\": \"box-shadow: 0 0 0 2px var(--primary, #19b394);\",\n \".sv-popup__button:disabled\": \"color: var(--foreground-disabled, rgba(#161616, 0.16)); cursor: default;\",\n \".sv-popup__button:disabled:hover\": \"box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15);\",\n \".sv-popup__button.sv-popup__button--apply\": \"background-color: var(--primary, #19b394); color: var(--primary-foreground, #fff);\",\n \".sv-popup__button.sv-popup__button--apply:disabled\": \"background-color: var(--background-dim, #f3f3f3);\",\n \".sv-popup__button.sv-popup__button--danger\": \"background-color: var(--sjs-special-red, #E50A3E); color: var(--primary-foreground, #fff);\",\n //eo popup\n //list\n \".sv-list\": \"padding: 0; margin: 0; background: var(--background, #fff); list-style-type: none; overflow-y: auto;\",\n \".sv-list__item--with-icon\": \"padding-top: 12px; padding-bottom: 12px;\",\n \".sv-list__item\": \"width: 100%; box-sizing: border-box; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\",\n \".sv-list__item-body\": \"width: 100%; box-sizing: border-box; font-size: calc(2 * var(--base-unit, 8px)); line-height: calc(3 * var(--base-unit, 8px)); padding-top: calc(1 * var(--base-unit, 8px)); padding-bottom: calc(1 * var(--base-unit, 8px)); padding-inline-end: calc(8 * var(--base-unit, 8px)); padding-inline-start: calc(2 * var(--base-unit, 8px)); cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: flex; gap: calc(2 * 8px);\",\n \".sv-list__item-icon\": \"float: left; width: calc(3 * 8px); height: calc(3 * 8px);\",\n \".sv-list__item-icon svg\": \"display: block;\",\n \".sv-list__item-icon use\": \"fill: #909090;\",\n \".sv-list__item:hover .sv-list__item-body\": \"background-color: var(--background-dim, #f3f3f3);\",\n \".sv-list__item.sv-list__item--focused .sv-list__item-body\": \"background-color: var(--background-dim, #f3f3f3);\",\n \".sv-list__loading-indicator\": \"pointer-events: none;\",\n \".sv-list__loading-indicator .sv-list__item-body\": \"background-color: transparent\",\n // \".sv-list__item--selected\": \"background-color: var(--primary, #19b394); color: var(--primary-foreground, #fff);\",\n \".sv-list__item--selected .sv-list__item-icon use\": \"fill: var(--primary-foreground, #fff);\",\n \".sv-list__item.sv-list__item--disabled\": \"color: var(--foreground-light, #909090); cursor: default;\",\n \".sv-list__item span\": \"white-space: nowrap;\",\n \".sv-list__container\": \"position: relative; display: flex; flex-direction: column; height: 100%; display: flex; flex-direction: column; min-height: 0;\",\n \".sv-list__filter\": \"border-bottom: 1px solid rgba(0, 0, 0, 0.16); background: var(--background, #fff); padding-bottom: calcSize(1);\",\n \".sv-list__input\": \"-webkit-appearance: none; -moz-appearance: none; appearance: none; display: block; box-sizing: border-box; width: 100%; line-height: 24px; padding-left: 56px; padding-right: 24px; padding-top: 12px; padding-bottom: 12px; outline: none; font-size: 1em; border: none\",\n \".sv-list__filter-icon\": \"display: block; position: absolute; top: 12px; left: 16px;\",\n \".sv-list__filter-icon .sv-svg-icon\": \"width: 24px; height: 24px;\",\n \".sv-list__empty-container\": \"width: 100%; box-sizing: border-box; padding: 12px 64px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\",\n \".sv-list__empty-text\": \"line-height: 24px; font-size: 16px; font-weight: 400; text-align: center; color: var(--foreground-light, #909090);\",\n //eo list\n \".sv-skeleton-element\": \"min-height: 50px;\",\n };\n}\n\n\n/***/ }),\n\n/***/ \"./src/popup-dropdown-view-model.ts\":\n/*!******************************************!*\\\n !*** ./src/popup-dropdown-view-model.ts ***!\n \\******************************************/\n/*! exports provided: PopupDropdownViewModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PopupDropdownViewModel\", function() { return PopupDropdownViewModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _utils_popup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/popup */ \"./src/utils/popup.ts\");\n/* harmony import */ var _popup_view_model__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./popup-view-model */ \"./src/popup-view-model.ts\");\n/* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/devices */ \"./src/utils/devices.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _survey__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./survey */ \"./src/survey.ts\");\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./global_variables_utils */ \"./src/global_variables_utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\nvar PopupDropdownViewModel = /** @class */ (function (_super) {\n __extends(PopupDropdownViewModel, _super);\n function PopupDropdownViewModel(model, targetElement) {\n var _this = _super.call(this, model) || this;\n _this.targetElement = targetElement;\n _this.scrollEventCallBack = function (event) {\n if (_this.isOverlay && _utils_devices__WEBPACK_IMPORTED_MODULE_3__[\"IsTouch\"]) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n _this.hidePopup();\n };\n _this.resizeEventCallback = function () {\n if (!_global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].isAvailable())\n return;\n var visualViewport = _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].getVisualViewport();\n var documentElement = _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomDocumentHelper\"].getDocumentElement();\n if (!!documentElement && !!visualViewport) {\n documentElement.style.setProperty(\"--sv-popup-overlay-height\", visualViewport.height * visualViewport.scale + \"px\");\n }\n };\n _this.resizeWindowCallback = function () {\n if (!_this.isOverlay) {\n _this.updatePosition(true, _survey__WEBPACK_IMPORTED_MODULE_5__[\"SurveyModel\"].platform === \"vue\" || _survey__WEBPACK_IMPORTED_MODULE_5__[\"SurveyModel\"].platform === \"vue3\" || _survey__WEBPACK_IMPORTED_MODULE_5__[\"SurveyModel\"].platform == \"react\");\n }\n };\n _this.clientY = 0;\n _this.isTablet = false;\n _this.touchStartEventCallback = function (event) {\n _this.clientY = event.touches[0].clientY;\n };\n _this.touchMoveEventCallback = function (event) {\n _this.preventScrollOuside(event, _this.clientY - event.changedTouches[0].clientY);\n };\n _this.model.onRecalculatePosition.add(_this.recalculatePositionHandler);\n return _this;\n }\n PopupDropdownViewModel.prototype.calculateIsTablet = function (windowWidth, windowHeight) {\n var width = Math.min(windowWidth, windowHeight);\n this.isTablet = width >= PopupDropdownViewModel.tabletSizeBreakpoint;\n };\n PopupDropdownViewModel.prototype._updatePosition = function () {\n var _a, _b, _c;\n if (!this.targetElement)\n return;\n var targetElementRect = this.targetElement.getBoundingClientRect();\n var popupContainer = (_a = this.container) === null || _a === void 0 ? void 0 : _a.querySelector(this.containerSelector);\n if (!popupContainer)\n return;\n var fixedPopupContainer = (_b = this.container) === null || _b === void 0 ? void 0 : _b.querySelector(this.fixedPopupContainer);\n var scrollContent = popupContainer.querySelector(this.scrollingContentSelector);\n var popupComputedStyle = _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomDocumentHelper\"].getComputedStyle(popupContainer);\n var marginLeft = (parseFloat(popupComputedStyle.marginLeft) || 0);\n var marginRight = (parseFloat(popupComputedStyle.marginRight) || 0);\n var height = popupContainer.offsetHeight - scrollContent.offsetHeight + scrollContent.scrollHeight;\n var width = popupContainer.getBoundingClientRect().width;\n this.model.setWidthByTarget && (this.minWidth = targetElementRect.width + \"px\");\n var verticalPosition = this.model.verticalPosition;\n var actualHorizontalPosition = this.getActualHorizontalPosition();\n if (_global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].isAvailable()) {\n var heightValues = [height, _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].getInnerHeight() * 0.9, (_c = _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].getVisualViewport()) === null || _c === void 0 ? void 0 : _c.height];\n height = Math.ceil(Math.min.apply(Math, heightValues.filter(function (each) { return typeof each === \"number\"; })));\n verticalPosition = _utils_popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupUtils\"].updateVerticalPosition(targetElementRect, height, this.model.verticalPosition, this.model.showPointer, _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].getInnerHeight());\n }\n this.popupDirection = _utils_popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupUtils\"].calculatePopupDirection(verticalPosition, actualHorizontalPosition);\n var pos = _utils_popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupUtils\"].calculatePosition(targetElementRect, height, width + marginLeft + marginRight, verticalPosition, actualHorizontalPosition, this.showHeader, this.model.positionMode);\n if (_global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].isAvailable()) {\n var newVerticalDimensions = _utils_popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupUtils\"].getCorrectedVerticalDimensions(pos.top, height, _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].getInnerHeight(), verticalPosition);\n if (!!newVerticalDimensions) {\n this.height = newVerticalDimensions.height + \"px\";\n pos.top = newVerticalDimensions.top;\n }\n if (this.model.setWidthByTarget) {\n this.width = targetElementRect.width + \"px\";\n pos.left = targetElementRect.left;\n }\n else {\n var newHorizontalDimensions = _utils_popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupUtils\"].updateHorizontalDimensions(pos.left, width, _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].getInnerWidth(), actualHorizontalPosition, this.model.positionMode, { left: marginLeft, right: marginRight });\n if (!!newHorizontalDimensions) {\n this.width = newHorizontalDimensions.width ? newHorizontalDimensions.width + \"px\" : undefined;\n pos.left = newHorizontalDimensions.left;\n }\n }\n }\n if (!!fixedPopupContainer) {\n var rect = fixedPopupContainer.getBoundingClientRect();\n pos.top -= rect.top;\n pos.left -= rect.left;\n }\n this.left = pos.left + \"px\";\n this.top = pos.top + \"px\";\n if (this.showHeader) {\n this.pointerTarget = _utils_popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupUtils\"].calculatePointerTarget(targetElementRect, pos.top, pos.left, verticalPosition, actualHorizontalPosition, marginLeft, marginRight);\n this.pointerTarget.top += \"px\";\n this.pointerTarget.left += \"px\";\n }\n };\n PopupDropdownViewModel.prototype.getActualHorizontalPosition = function () {\n var actualHorizontalPosition = this.model.horizontalPosition;\n if (_global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomDocumentHelper\"].isAvailable()) {\n var isRtl = _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomDocumentHelper\"].getComputedStyle(_global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomDocumentHelper\"].getBody()).direction == \"rtl\";\n if (isRtl) {\n if (this.model.horizontalPosition === \"left\") {\n actualHorizontalPosition = \"right\";\n }\n else if (this.model.horizontalPosition === \"right\") {\n actualHorizontalPosition = \"left\";\n }\n }\n }\n return actualHorizontalPosition;\n };\n PopupDropdownViewModel.prototype.getStyleClass = function () {\n return _super.prototype.getStyleClass.call(this)\n .append(\"sv-popup--dropdown\", !this.isOverlay)\n .append(\"sv-popup--dropdown-overlay\", this.isOverlay && this.model.overlayDisplayMode !== \"overlay\")\n .append(\"sv-popup--tablet\", this.isTablet && this.isOverlay)\n .append(\"sv-popup--show-pointer\", !this.isOverlay && this.showHeader)\n .append(\"sv-popup--\" + this.popupDirection, !this.isOverlay && (this.showHeader || this.popupDirection == \"top\" || this.popupDirection == \"bottom\"));\n };\n PopupDropdownViewModel.prototype.getShowHeader = function () {\n return this.model.showPointer && !this.isOverlay;\n };\n PopupDropdownViewModel.prototype.getPopupHeaderTemplate = function () {\n return \"popup-pointer\";\n };\n PopupDropdownViewModel.prototype.setComponentElement = function (componentRoot, targetElement) {\n _super.prototype.setComponentElement.call(this, componentRoot);\n if (!!componentRoot && !!componentRoot.parentElement && !this.isModal) {\n this.targetElement = targetElement || componentRoot.parentElement;\n }\n };\n PopupDropdownViewModel.prototype.resetComponentElement = function () {\n _super.prototype.resetComponentElement.call(this);\n this.targetElement = undefined;\n };\n PopupDropdownViewModel.prototype.updateOnShowing = function () {\n var root = _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].environment.root;\n this.prevActiveElement = root.activeElement;\n if (this.isOverlay) {\n this.resetDimensionsAndPositionStyleProperties();\n }\n else {\n this.updatePosition(true, false);\n }\n this.switchFocus();\n _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].addEventListener(\"resize\", this.resizeWindowCallback);\n if (this.shouldCreateResizeCallback) {\n _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].getVisualViewport().addEventListener(\"resize\", this.resizeEventCallback);\n if (this.container) {\n this.container.addEventListener(\"touchstart\", this.touchStartEventCallback);\n this.container.addEventListener(\"touchmove\", this.touchMoveEventCallback);\n }\n this.calculateIsTablet(_global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].getInnerWidth(), _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].getInnerHeight());\n this.resizeEventCallback();\n }\n _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].addEventListener(\"scroll\", this.scrollEventCallBack);\n };\n Object.defineProperty(PopupDropdownViewModel.prototype, \"shouldCreateResizeCallback\", {\n get: function () {\n return !!_global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].getVisualViewport() && this.isOverlay && _utils_devices__WEBPACK_IMPORTED_MODULE_3__[\"IsTouch\"];\n },\n enumerable: false,\n configurable: true\n });\n PopupDropdownViewModel.prototype.updatePosition = function (isResetHeight, isDelayUpdating) {\n var _this = this;\n if (isDelayUpdating === void 0) { isDelayUpdating = true; }\n if (isResetHeight) {\n this.height = \"auto\";\n }\n if (isDelayUpdating) {\n setTimeout(function () {\n _this._updatePosition();\n }, 1);\n }\n else {\n this._updatePosition();\n }\n };\n PopupDropdownViewModel.prototype.updateOnHiding = function () {\n _super.prototype.updateOnHiding.call(this);\n _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].removeEventListener(\"resize\", this.resizeWindowCallback);\n if (this.shouldCreateResizeCallback) {\n _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].getVisualViewport().removeEventListener(\"resize\", this.resizeEventCallback);\n if (this.container) {\n this.container.removeEventListener(\"touchstart\", this.touchStartEventCallback);\n this.container.removeEventListener(\"touchmove\", this.touchMoveEventCallback);\n }\n }\n _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__[\"DomWindowHelper\"].removeEventListener(\"scroll\", this.scrollEventCallBack);\n if (!this.isDisposed) {\n this.top = undefined;\n this.left = undefined;\n this.height = undefined;\n this.width = undefined;\n this.minWidth = undefined;\n }\n };\n PopupDropdownViewModel.prototype.onModelChanging = function (newModel) {\n var _this = this;\n if (!!this.model) {\n this.model.onRecalculatePosition.remove(this.recalculatePositionHandler);\n }\n if (!this.recalculatePositionHandler) {\n this.recalculatePositionHandler = function (_, options) {\n if (!_this.isOverlay) {\n _this.updatePosition(options.isResetHeight);\n }\n };\n }\n _super.prototype.onModelChanging.call(this, newModel);\n newModel.onRecalculatePosition.add(this.recalculatePositionHandler);\n };\n PopupDropdownViewModel.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.updateOnHiding();\n if (!!this.model) {\n this.model.onRecalculatePosition.remove(this.recalculatePositionHandler);\n this.recalculatePositionHandler = undefined;\n }\n this.resetComponentElement();\n };\n PopupDropdownViewModel.tabletSizeBreakpoint = 600;\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], PopupDropdownViewModel.prototype, \"isTablet\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: \"left\" })\n ], PopupDropdownViewModel.prototype, \"popupDirection\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: { left: \"0px\", top: \"0px\" } })\n ], PopupDropdownViewModel.prototype, \"pointerTarget\", void 0);\n return PopupDropdownViewModel;\n}(_popup_view_model__WEBPACK_IMPORTED_MODULE_2__[\"PopupBaseViewModel\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/popup-modal-view-model.ts\":\n/*!***************************************!*\\\n !*** ./src/popup-modal-view-model.ts ***!\n \\***************************************/\n/*! exports provided: PopupModalViewModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PopupModalViewModel\", function() { return PopupModalViewModel; });\n/* harmony import */ var _popup_view_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./popup-view-model */ \"./src/popup-view-model.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar PopupModalViewModel = /** @class */ (function (_super) {\n __extends(PopupModalViewModel, _super);\n function PopupModalViewModel(model) {\n var _this = _super.call(this, model) || this;\n _this.onScrollOutsideCallback = function (event) {\n _this.preventScrollOuside(event, event.deltaY);\n };\n return _this;\n }\n PopupModalViewModel.prototype.getStyleClass = function () {\n return _super.prototype.getStyleClass.call(this)\n .append(\"sv-popup--modal\", !this.isOverlay);\n };\n PopupModalViewModel.prototype.getShowFooter = function () {\n return true;\n };\n PopupModalViewModel.prototype.createFooterActionBar = function () {\n var _this = this;\n _super.prototype.createFooterActionBar.call(this);\n this.footerToolbarValue.addAction({\n id: \"apply\",\n visibleIndex: 20,\n title: this.applyButtonText,\n innerCss: \"sv-popup__body-footer-item sv-popup__button sv-popup__button--apply sd-btn sd-btn--action\",\n action: function () { _this.apply(); }\n });\n };\n Object.defineProperty(PopupModalViewModel.prototype, \"applyButtonText\", {\n get: function () {\n return this.getLocalizationString(\"modalApplyButtonText\");\n },\n enumerable: false,\n configurable: true\n });\n PopupModalViewModel.prototype.apply = function () {\n if (!!this.model.onApply && !this.model.onApply())\n return;\n this.hidePopup();\n };\n PopupModalViewModel.prototype.clickOutside = function () {\n return;\n };\n PopupModalViewModel.prototype.onKeyDown = function (event) {\n if (event.key === \"Escape\" || event.keyCode === 27) {\n this.model.onCancel();\n }\n _super.prototype.onKeyDown.call(this, event);\n };\n PopupModalViewModel.prototype.updateOnShowing = function () {\n if (this.container) {\n this.container.addEventListener(\"wheel\", this.onScrollOutsideCallback, { passive: false });\n }\n _super.prototype.updateOnShowing.call(this);\n };\n PopupModalViewModel.prototype.updateOnHiding = function () {\n if (this.container) {\n this.container.removeEventListener(\"wheel\", this.onScrollOutsideCallback);\n }\n _super.prototype.updateOnHiding.call(this);\n };\n return PopupModalViewModel;\n}(_popup_view_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupBaseViewModel\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/popup-survey.ts\":\n/*!*****************************!*\\\n !*** ./src/popup-survey.ts ***!\n \\*****************************/\n/*! exports provided: PopupSurveyModel, SurveyWindowModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PopupSurveyModel\", function() { return PopupSurveyModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SurveyWindowModel\", function() { return SurveyWindowModel; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _survey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./survey */ \"./src/survey.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./global_variables_utils */ \"./src/global_variables_utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n/**\n * A class that renders a survey in a pop-up window.\n *\n * [View Demo](https://surveyjs.io/form-library/examples/popup-survey/ (linkStyle))\n */\nvar PopupSurveyModel = /** @class */ (function (_super) {\n __extends(PopupSurveyModel, _super);\n function PopupSurveyModel(jsonObj, initialModel) {\n if (initialModel === void 0) { initialModel = null; }\n var _this = _super.call(this) || this;\n /**\n * Specifies how many seconds the pop-up window should remain open after users complete the survey.\n *\n * Default value: 0 (the window is closed immediately)\n *\n * Set this property to a negative value (for instance, -1) to keep the pop-up window open without a time limit.\n */\n _this.closeOnCompleteTimeout = 0;\n if (initialModel) {\n _this.surveyValue = initialModel;\n }\n else {\n _this.surveyValue = _this.createSurvey(jsonObj);\n }\n _this.surveyValue.fitToContainer = true;\n _this.windowElement = _global_variables_utils__WEBPACK_IMPORTED_MODULE_3__[\"DomDocumentHelper\"].createElement(\"div\");\n _this.survey.onComplete.add(function (survey, options) {\n _this.onSurveyComplete();\n });\n _this.registerPropertyChangedHandlers([\"isShowing\"], function () {\n if (!!_this.showingChangedCallback)\n _this.showingChangedCallback();\n });\n _this.registerPropertyChangedHandlers([\"isExpanded\"], function () {\n _this.onExpandedChanged();\n });\n _this.width = new _base__WEBPACK_IMPORTED_MODULE_0__[\"ComputedUpdater\"](function () { return _this.survey.width; });\n _this.width = _this.survey.width;\n _this.updateCss();\n _this.onCreating();\n return _this;\n }\n PopupSurveyModel.prototype.onCreating = function () { };\n PopupSurveyModel.prototype.getType = function () {\n return \"popupsurvey\";\n };\n Object.defineProperty(PopupSurveyModel.prototype, \"survey\", {\n /**\n * A [`SurveyModel`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model) instance rendered in the pop-up window.\n */\n get: function () {\n return this.surveyValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"isShowing\", {\n /**\n * Indicates whether the pop-up survey appears on the page, regardless of its [expand state](#isExpanded).\n *\n * You can set this property to `true` or `false` to control visibility of the pop-up survey. Alternatively, you can use the [`show()`](#show) and [`hide()`](#hide) methods.\n */\n get: function () {\n return this.getPropertyValue(\"isShowing\", false);\n },\n set: function (val) {\n this.setPropertyValue(\"isShowing\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"isFullScreen\", {\n get: function () {\n return this.getPropertyValue(\"isFullScreen\", false);\n },\n set: function (val) {\n if (!this.isExpanded && !!val) {\n this.isExpanded = true;\n }\n this.setPropertyValue(\"isFullScreen\", val);\n this.setCssRoot();\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Shows the pop-up survey. The survey may appear [expanded or collapsed](#isExpanded).\n *\n * As an alternative to this method, you can set the [`isShowing`](#isShowing) property to `true`.\n * @see hide\n */\n PopupSurveyModel.prototype.show = function () {\n this.isShowing = true;\n };\n /**\n * Hides the pop-up survey.\n *\n * As an alternative to this method, you can set the [`isShowing`](#isShowing) property to `false`.\n * @see show\n * @see expand\n * @see collapse\n */\n PopupSurveyModel.prototype.hide = function () {\n this.isShowing = false;\n };\n PopupSurveyModel.prototype.toggleFullScreen = function () {\n this.isFullScreen = !this.isFullScreen;\n };\n Object.defineProperty(PopupSurveyModel.prototype, \"isExpanded\", {\n /**\n * Indicates whether the pop-up window is expanded or collapsed.\n *\n * You can set this property to `true` or `false` to control the expand state of the pop-up survey. Alternatively, you can use the [`expand()`](#expand) and [`collapse()`](#collapse) methods.\n */\n get: function () {\n return this.getPropertyValue(\"isExpanded\", false);\n },\n set: function (val) {\n if (!!this.isFullScreen && !val) {\n this.isFullScreen = false;\n }\n this.setPropertyValue(\"isExpanded\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"isCollapsed\", {\n get: function () {\n return !this.isExpanded;\n },\n enumerable: false,\n configurable: true\n });\n PopupSurveyModel.prototype.onExpandedChanged = function () {\n if (!!this.expandedChangedCallback) {\n this.expandedChangedCallback();\n }\n this.updateCssButton();\n };\n Object.defineProperty(PopupSurveyModel.prototype, \"title\", {\n /**\n * A title for the pop-up window. If this property is undefined, the title is taken from [`SurveyModel`](#survey)'s [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title) property.\n */\n get: function () {\n return this.survey.title;\n },\n set: function (value) {\n this.survey.title = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"locTitle\", {\n get: function () {\n if (this.survey.locTitle.isEmpty)\n return null;\n return this.survey.locTitle;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"locDescription\", {\n get: function () {\n if (this.survey.locTitle.isEmpty)\n return null;\n return this.survey.locDescription;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Expands the pop-up window.\n *\n * As an alternative to this method, you can set the [`isExpanded`](#isExpanded) property to `true`.\n * @see collapse\n */\n PopupSurveyModel.prototype.expand = function () {\n this.isExpanded = true;\n };\n /**\n * Collapses the pop-up window, leaving only the survey title visible.\n *\n * As an alternative to this method, you can set the [`isExpanded`](#isExpanded) property to `false`.\n * @see expand\n */\n PopupSurveyModel.prototype.collapse = function () {\n this.isExpanded = false;\n };\n PopupSurveyModel.prototype.changeExpandCollapse = function () {\n this.isExpanded = !this.isExpanded;\n };\n Object.defineProperty(PopupSurveyModel.prototype, \"allowClose\", {\n /**\n * Specifies whether to display a button that closes the pop-up window.\n *\n * Default value: `false`\n *\n * If you allow users to close the pop-up window, make sure to implement a UI element that opens it. This element should call the [`show()`](#show) method or enable the [`isShowing`](#isShowing) property.\n * @see expand\n * @see collapse\n * @see hide\n */\n get: function () {\n return this.getPropertyValue(\"allowClose\", false);\n },\n set: function (val) {\n this.setPropertyValue(\"allowClose\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"allowFullScreen\", {\n /**\n * Specifies whether to display a button that allows respondents to show the pop-up survey in full screen mode.\n *\n * Default value: `false`\n */\n get: function () {\n return this.getPropertyValue(\"allowFullScreen\", false);\n },\n set: function (val) {\n this.setPropertyValue(\"allowFullScreen\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"css\", {\n get: function () {\n return this.survey.css;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssButton\", {\n get: function () {\n return this.getPropertyValue(\"cssButton\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssRoot\", {\n get: function () {\n var result = this.getPropertyValue(\"cssRoot\", \"\");\n if (this.isCollapsed)\n result += \" \" + this.getPropertyValue(\"cssRootCollapsedMod\", \"\");\n return result;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssRootCollapsedMod\", {\n get: function () {\n return this.getPropertyValue(\"cssRootCollapsedMod\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssRootContent\", {\n get: function () {\n return this.getPropertyValue(\"cssRootContent\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssBody\", {\n get: function () {\n return this.getPropertyValue(\"cssBody\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssHeaderRoot\", {\n get: function () {\n return this.getPropertyValue(\"cssHeaderRoot\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssHeaderTitleCollapsed\", {\n get: function () {\n return this.getPropertyValue(\"cssHeaderTitleCollapsed\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssHeaderButtonsContainer\", {\n get: function () {\n return this.getPropertyValue(\"cssHeaderButtonsContainer\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssHeaderCollapseButton\", {\n get: function () {\n return this.getPropertyValue(\"cssHeaderCollapseButton\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssHeaderCloseButton\", {\n get: function () {\n return this.getPropertyValue(\"cssHeaderCloseButton\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssHeaderFullScreenButton\", {\n get: function () {\n return this.getPropertyValue(\"cssHeaderFullScreenButton\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"renderedWidth\", {\n get: function () {\n var width = this.getPropertyValue(\"width\", \"60%\");\n if (width && !isNaN(width))\n width = width + \"px\";\n return width;\n },\n enumerable: false,\n configurable: true\n });\n PopupSurveyModel.prototype.updateCss = function () {\n if (!this.css || !this.css.window)\n return;\n var cssWindow = this.css.window;\n this.setCssRoot();\n this.setPropertyValue(\"cssRootCollapsedMod\", cssWindow.rootCollapsedMod);\n this.setPropertyValue(\"cssRootContent\", cssWindow.rootContent);\n this.setPropertyValue(\"cssBody\", cssWindow.body);\n var cssHeader = cssWindow.header;\n if (!cssHeader)\n return;\n this.setPropertyValue(\"cssHeaderRoot\", cssHeader.root);\n this.setPropertyValue(\"cssHeaderTitleCollapsed\", cssHeader.titleCollapsed);\n this.setPropertyValue(\"cssHeaderButtonsContainer\", cssHeader.buttonsContainer);\n this.setPropertyValue(\"cssHeaderCollapseButton\", cssHeader.collapseButton);\n this.setPropertyValue(\"cssHeaderCloseButton\", cssHeader.closeButton);\n this.setPropertyValue(\"cssHeaderFullScreenButton\", cssHeader.fullScreenButton);\n this.updateCssButton();\n };\n PopupSurveyModel.prototype.setCssRoot = function () {\n var cssWindow = this.css.window;\n if (this.isFullScreen) {\n this.setPropertyValue(\"cssRoot\", cssWindow.root + \" \" + cssWindow.rootFullScreenMode);\n }\n else {\n this.setPropertyValue(\"cssRoot\", cssWindow.root);\n }\n };\n PopupSurveyModel.prototype.updateCssButton = function () {\n var cssHeader = !!this.css.window ? this.css.window.header : null;\n if (!cssHeader)\n return;\n this.setCssButton(this.isExpanded ? cssHeader.buttonExpanded : cssHeader.buttonCollapsed);\n };\n PopupSurveyModel.prototype.setCssButton = function (val) {\n if (!val)\n return;\n this.setPropertyValue(\"cssButton\", val);\n };\n PopupSurveyModel.prototype.createSurvey = function (jsonObj) {\n return new _survey__WEBPACK_IMPORTED_MODULE_1__[\"SurveyModel\"](jsonObj);\n };\n PopupSurveyModel.prototype.onSurveyComplete = function () {\n if (this.closeOnCompleteTimeout < 0)\n return;\n if (this.closeOnCompleteTimeout == 0) {\n this.hide();\n }\n else {\n var self = this;\n var timerId = null;\n var func = function () {\n self.hide();\n clearInterval(timerId);\n };\n timerId = setInterval(func, this.closeOnCompleteTimeout * 1000);\n }\n };\n PopupSurveyModel.prototype.onScroll = function () {\n this.survey.onScroll();\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], PopupSurveyModel.prototype, \"width\", void 0);\n return PopupSurveyModel;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n/**\n * Obsolete. Please use PopupSurvey\n */\nvar SurveyWindowModel = /** @class */ (function (_super) {\n __extends(SurveyWindowModel, _super);\n function SurveyWindowModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return SurveyWindowModel;\n}(PopupSurveyModel));\n\n\n\n/***/ }),\n\n/***/ \"./src/popup-utils.ts\":\n/*!****************************!*\\\n !*** ./src/popup-utils.ts ***!\n \\****************************/\n/*! exports provided: createPopupModalViewModel, createPopupViewModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPopupModalViewModel\", function() { return createPopupModalViewModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPopupViewModel\", function() { return createPopupViewModel; });\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./global_variables_utils */ \"./src/global_variables_utils.ts\");\n/* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./popup */ \"./src/popup.ts\");\n/* harmony import */ var _popup_dropdown_view_model__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./popup-dropdown-view-model */ \"./src/popup-dropdown-view-model.ts\");\n/* harmony import */ var _popup_modal_view_model__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./popup-modal-view-model */ \"./src/popup-modal-view-model.ts\");\n\n\n\n\nfunction createPopupModalViewModel(options, rootElement) {\n var _a;\n var popupModel = new _popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupModel\"](options.componentName, options.data, \"top\", \"left\", false, true, options.onCancel, options.onApply, options.onHide, options.onShow, options.cssClass, options.title);\n popupModel.displayMode = options.displayMode || \"popup\";\n popupModel.isFocusedContent = (_a = options.isFocusedContent) !== null && _a !== void 0 ? _a : true;\n var popupViewModel = new _popup_modal_view_model__WEBPACK_IMPORTED_MODULE_3__[\"PopupModalViewModel\"](popupModel);\n if (!!rootElement && !!rootElement.appendChild) {\n var container = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__[\"DomDocumentHelper\"].createElement(\"div\");\n rootElement.appendChild(container);\n popupViewModel.setComponentElement(container);\n }\n if (!popupViewModel.container) {\n popupViewModel.initializePopupContainer();\n }\n var onVisibilityChangedCallback = function (sender, options) {\n if (!options.isVisible) {\n if (!!container) {\n popupViewModel.resetComponentElement();\n }\n }\n popupViewModel.onVisibilityChanged.remove(onVisibilityChangedCallback);\n };\n popupViewModel.onVisibilityChanged.add(onVisibilityChangedCallback);\n return popupViewModel;\n}\nfunction createPopupViewModel(model, targetElement) {\n if (model.isModal) {\n return new _popup_modal_view_model__WEBPACK_IMPORTED_MODULE_3__[\"PopupModalViewModel\"](model);\n }\n else {\n return new _popup_dropdown_view_model__WEBPACK_IMPORTED_MODULE_2__[\"PopupDropdownViewModel\"](model, targetElement);\n }\n}\n\n\n/***/ }),\n\n/***/ \"./src/popup-view-model.ts\":\n/*!*********************************!*\\\n !*** ./src/popup-view-model.ts ***!\n \\*********************************/\n/*! exports provided: FOCUS_INPUT_SELECTOR, PopupBaseViewModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FOCUS_INPUT_SELECTOR\", function() { return FOCUS_INPUT_SELECTOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PopupBaseViewModel\", function() { return PopupBaseViewModel; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./actions/container */ \"./src/actions/container.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\n/* harmony import */ var _utils_animation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/animation */ \"./src/utils/animation.ts\");\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./global_variables_utils */ \"./src/global_variables_utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\nvar FOCUS_INPUT_SELECTOR = \"input:not(:disabled):not([readonly]):not([type=hidden]),select:not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly]), button:not(:disabled):not([readonly]), [tabindex]:not([tabindex^=\\\"-\\\"])\";\nvar PopupBaseViewModel = /** @class */ (function (_super) {\n __extends(PopupBaseViewModel, _super);\n function PopupBaseViewModel(model) {\n var _this = _super.call(this) || this;\n _this.popupSelector = \".sv-popup\";\n _this.fixedPopupContainer = \".sv-popup\";\n _this.containerSelector = \".sv-popup__container\";\n _this.scrollingContentSelector = \".sv-popup__scrolling-content\";\n _this.visibilityAnimation = new _utils_animation__WEBPACK_IMPORTED_MODULE_6__[\"AnimationBoolean\"](_this, function (val) {\n if (_this._isVisible !== val) {\n if (!val) {\n _this.updateOnHiding();\n _this.updateIsVisible(val);\n }\n else {\n _this.updateIsVisible(val);\n }\n }\n }, function () { return _this._isVisible; });\n _this.onVisibilityChanged = new _base__WEBPACK_IMPORTED_MODULE_0__[\"EventBase\"]();\n _this.onModelIsVisibleChangedCallback = function () {\n _this.isVisible = _this.model.isVisible;\n };\n _this.model = model;\n return _this;\n }\n PopupBaseViewModel.prototype.updateIsVisible = function (val) {\n this._isVisible = val;\n this.onVisibilityChanged.fire(this, { isVisible: val });\n };\n PopupBaseViewModel.prototype.getLeaveOptions = function () {\n return { cssClass: \"sv-popup--animate-leave\" };\n };\n PopupBaseViewModel.prototype.getEnterOptions = function () {\n return { cssClass: \"sv-popup--animate-enter\" };\n };\n PopupBaseViewModel.prototype.getAnimatedElement = function () {\n return this.getAnimationContainer();\n };\n PopupBaseViewModel.prototype.isAnimationEnabled = function () {\n return this.model.displayMode !== \"overlay\" && _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].animationEnabled;\n };\n PopupBaseViewModel.prototype.getAnimationContainer = function () {\n var _a;\n return (_a = this.container) === null || _a === void 0 ? void 0 : _a.querySelector(this.fixedPopupContainer);\n };\n Object.defineProperty(PopupBaseViewModel.prototype, \"isVisible\", {\n get: function () {\n return this._isVisible;\n },\n set: function (val) {\n this.visibilityAnimation.sync(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"container\", {\n get: function () {\n return this.containerElement || this.createdContainer;\n },\n enumerable: false,\n configurable: true\n });\n PopupBaseViewModel.prototype.getLocale = function () {\n if (!!this.locale)\n return this.locale;\n return _super.prototype.getLocale.call(this);\n };\n PopupBaseViewModel.prototype.hidePopup = function () {\n this.model.isVisible = false;\n };\n PopupBaseViewModel.prototype.getStyleClass = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(this.model.cssClass)\n .append(\"sv-popup--\" + this.model.displayMode, this.isOverlay);\n };\n PopupBaseViewModel.prototype.getShowFooter = function () {\n return this.isOverlay;\n };\n PopupBaseViewModel.prototype.getShowHeader = function () {\n return false;\n };\n PopupBaseViewModel.prototype.getPopupHeaderTemplate = function () {\n return undefined;\n };\n PopupBaseViewModel.prototype.createFooterActionBar = function () {\n var _this = this;\n this.footerToolbarValue = new _actions_container__WEBPACK_IMPORTED_MODULE_3__[\"ActionContainer\"]();\n this.footerToolbar.updateCallback = function (isResetInitialized) {\n _this.footerToolbarValue.actions.forEach(function (action) { return action.cssClasses = {\n item: \"sv-popup__body-footer-item sv-popup__button sd-btn\"\n }; });\n };\n var footerActions = [{\n id: \"cancel\",\n visibleIndex: 10,\n title: this.cancelButtonText,\n innerCss: \"sv-popup__button--cancel sd-btn\",\n action: function () { _this.cancel(); }\n }];\n footerActions = this.model.updateFooterActions(footerActions);\n this.footerToolbarValue.setItems(footerActions);\n };\n PopupBaseViewModel.prototype.resetDimensionsAndPositionStyleProperties = function () {\n var nullableValue = \"inherit\";\n this.top = nullableValue;\n this.left = nullableValue;\n this.height = nullableValue;\n this.width = nullableValue;\n this.minWidth = nullableValue;\n };\n PopupBaseViewModel.prototype.onModelChanging = function (newModel) {\n };\n PopupBaseViewModel.prototype.setupModel = function (model) {\n if (!!this.model) {\n this.model.onVisibilityChanged.remove(this.onModelIsVisibleChangedCallback);\n }\n this.onModelChanging(model);\n this._model = model;\n model.onVisibilityChanged.add(this.onModelIsVisibleChangedCallback);\n this.onModelIsVisibleChangedCallback();\n };\n Object.defineProperty(PopupBaseViewModel.prototype, \"model\", {\n get: function () {\n return this._model;\n },\n set: function (model) {\n this.setupModel(model);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"title\", {\n get: function () {\n return this.model.title;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"contentComponentName\", {\n get: function () {\n return this.model.contentComponentName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"contentComponentData\", {\n get: function () {\n return this.model.contentComponentData;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"isModal\", {\n get: function () {\n return this.model.isModal;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"isFocusedContent\", {\n get: function () {\n return this.model.isFocusedContent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"isFocusedContainer\", {\n get: function () {\n return this.model.isFocusedContainer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"showFooter\", {\n get: function () {\n return this.getShowFooter();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"showHeader\", {\n get: function () {\n return this.getShowHeader();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"popupHeaderTemplate\", {\n get: function () {\n return this.getPopupHeaderTemplate();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"isOverlay\", {\n get: function () {\n return this.model.displayMode === \"overlay\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"styleClass\", {\n get: function () {\n return this.getStyleClass().toString();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"cancelButtonText\", {\n get: function () {\n return this.getLocalizationString(\"modalCancelButtonText\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"footerToolbar\", {\n get: function () {\n if (!this.footerToolbarValue) {\n this.createFooterActionBar();\n }\n return this.footerToolbarValue;\n },\n enumerable: false,\n configurable: true\n });\n PopupBaseViewModel.prototype.onKeyDown = function (event) {\n if (event.key === \"Tab\" || event.keyCode === 9) {\n this.trapFocus(event);\n }\n else if (event.key === \"Escape\" || event.keyCode === 27) {\n this.hidePopup();\n }\n };\n PopupBaseViewModel.prototype.trapFocus = function (event) {\n var focusableElements = this.container.querySelectorAll(FOCUS_INPUT_SELECTOR);\n var firstFocusableElement = focusableElements[0];\n var lastFocusableElement = focusableElements[focusableElements.length - 1];\n if (event.shiftKey) {\n if (_settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].environment.root.activeElement === firstFocusableElement) {\n lastFocusableElement.focus();\n event.preventDefault();\n }\n }\n else {\n if (_settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].environment.root.activeElement === lastFocusableElement) {\n firstFocusableElement.focus();\n event.preventDefault();\n }\n }\n };\n PopupBaseViewModel.prototype.switchFocus = function () {\n if (this.isFocusedContent) {\n this.focusFirstInput();\n }\n else if (this.isFocusedContainer) {\n this.focusContainer();\n }\n };\n PopupBaseViewModel.prototype.updateOnShowing = function () {\n this.prevActiveElement = _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].environment.root.activeElement;\n if (this.isOverlay) {\n this.resetDimensionsAndPositionStyleProperties();\n }\n this.switchFocus();\n };\n PopupBaseViewModel.prototype.updateOnHiding = function () {\n if (this.isFocusedContent && this.prevActiveElement) {\n this.prevActiveElement.focus();\n }\n };\n PopupBaseViewModel.prototype.focusContainer = function () {\n if (!this.container)\n return;\n var popup = this.container.querySelector(this.popupSelector);\n popup === null || popup === void 0 ? void 0 : popup.focus();\n };\n PopupBaseViewModel.prototype.focusFirstInput = function () {\n var _this = this;\n setTimeout(function () {\n if (!_this.container)\n return;\n var el = _this.container.querySelector(_this.model.focusFirstInputSelector || FOCUS_INPUT_SELECTOR);\n if (!!el)\n el.focus();\n else\n _this.focusContainer();\n }, 100);\n };\n PopupBaseViewModel.prototype.clickOutside = function (event) {\n this.hidePopup();\n event === null || event === void 0 ? void 0 : event.stopPropagation();\n };\n PopupBaseViewModel.prototype.cancel = function () {\n this.model.onCancel();\n this.hidePopup();\n };\n PopupBaseViewModel.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n if (this.model) {\n this.model.onVisibilityChanged.remove(this.onModelIsVisibleChangedCallback);\n }\n if (!!this.createdContainer) {\n this.createdContainer.remove();\n this.createdContainer = undefined;\n }\n if (!!this.footerToolbarValue) {\n this.footerToolbarValue.dispose();\n }\n this.resetComponentElement();\n };\n PopupBaseViewModel.prototype.initializePopupContainer = function () {\n if (!this.container) {\n var container = _global_variables_utils__WEBPACK_IMPORTED_MODULE_7__[\"DomDocumentHelper\"].createElement(\"div\");\n this.createdContainer = container;\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__[\"getElement\"])(_settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].environment.popupMountContainer).appendChild(container);\n }\n };\n PopupBaseViewModel.prototype.setComponentElement = function (componentRoot, targetElement) {\n if (!!componentRoot) {\n this.containerElement = componentRoot;\n }\n };\n PopupBaseViewModel.prototype.resetComponentElement = function () {\n this.containerElement = undefined;\n this.prevActiveElement = undefined;\n };\n PopupBaseViewModel.prototype.preventScrollOuside = function (event, deltaY) {\n var currentElement = event.target;\n while (currentElement !== this.container) {\n if (_global_variables_utils__WEBPACK_IMPORTED_MODULE_7__[\"DomDocumentHelper\"].getComputedStyle(currentElement).overflowY === \"auto\" && currentElement.scrollHeight !== currentElement.offsetHeight) {\n var scrollHeight = currentElement.scrollHeight, scrollTop = currentElement.scrollTop, clientHeight = currentElement.clientHeight;\n if (!(deltaY > 0 && Math.abs(scrollHeight - clientHeight - scrollTop) < 1) && !(deltaY < 0 && scrollTop <= 0)) {\n return;\n }\n }\n currentElement = currentElement.parentElement;\n }\n if (event.cancelable) {\n event.preventDefault();\n }\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"0px\" })\n ], PopupBaseViewModel.prototype, \"top\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"0px\" })\n ], PopupBaseViewModel.prototype, \"left\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"auto\" })\n ], PopupBaseViewModel.prototype, \"height\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"auto\" })\n ], PopupBaseViewModel.prototype, \"width\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"auto\" })\n ], PopupBaseViewModel.prototype, \"minWidth\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: false })\n ], PopupBaseViewModel.prototype, \"_isVisible\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], PopupBaseViewModel.prototype, \"locale\", void 0);\n return PopupBaseViewModel;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/popup.ts\":\n/*!**********************!*\\\n !*** ./src/popup.ts ***!\n \\**********************/\n/*! exports provided: PopupModel, createDialogOptions */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PopupModel\", function() { return PopupModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createDialogOptions\", function() { return createDialogOptions; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _console_warnings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./console-warnings */ \"./src/console-warnings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar PopupModel = /** @class */ (function (_super) {\n __extends(PopupModel, _super);\n function PopupModel(contentComponentName, contentComponentData, verticalPosition, horizontalPosition, showPointer, isModal, onCancel, onApply, onHide, onShow, cssClass, title, onDispose) {\n if (verticalPosition === void 0) { verticalPosition = \"bottom\"; }\n if (horizontalPosition === void 0) { horizontalPosition = \"left\"; }\n if (showPointer === void 0) { showPointer = true; }\n if (isModal === void 0) { isModal = false; }\n if (onCancel === void 0) { onCancel = function () { }; }\n if (onApply === void 0) { onApply = function () { return true; }; }\n if (onHide === void 0) { onHide = function () { }; }\n if (onShow === void 0) { onShow = function () { }; }\n if (cssClass === void 0) { cssClass = \"\"; }\n if (title === void 0) { title = \"\"; }\n if (onDispose === void 0) { onDispose = function () { }; }\n var _this = _super.call(this) || this;\n _this.onDispose = onDispose;\n _this.focusFirstInputSelector = \"\";\n _this.onVisibilityChanged = _this.addEvent();\n _this.onFooterActionsCreated = _this.addEvent();\n _this.onRecalculatePosition = _this.addEvent();\n _this.contentComponentName = contentComponentName;\n _this.contentComponentData = contentComponentData;\n _this.verticalPosition = verticalPosition;\n _this.horizontalPosition = horizontalPosition;\n _this.showPointer = showPointer;\n _this.isModal = isModal;\n _this.onCancel = onCancel;\n _this.onApply = onApply;\n _this.onHide = onHide;\n _this.onShow = onShow;\n _this.cssClass = cssClass;\n _this.title = title;\n return _this;\n }\n PopupModel.prototype.refreshInnerModel = function () {\n var innerModel = this.contentComponentData[\"model\"];\n innerModel && innerModel.refresh && innerModel.refresh();\n };\n Object.defineProperty(PopupModel.prototype, \"isVisible\", {\n get: function () {\n return this.getPropertyValue(\"isVisible\", false);\n },\n set: function (value) {\n if (this.isVisible === value) {\n return;\n }\n this.setPropertyValue(\"isVisible\", value);\n this.onVisibilityChanged.fire(this, { model: this, isVisible: value });\n if (this.isVisible) {\n this.onShow();\n }\n else {\n this.refreshInnerModel();\n this.onHide();\n }\n },\n enumerable: false,\n configurable: true\n });\n PopupModel.prototype.toggleVisibility = function () {\n this.isVisible = !this.isVisible;\n };\n PopupModel.prototype.recalculatePosition = function (isResetHeight) {\n this.onRecalculatePosition.fire(this, { isResetHeight: isResetHeight });\n };\n PopupModel.prototype.updateFooterActions = function (footerActions) {\n var options = { actions: footerActions };\n this.onFooterActionsCreated.fire(this, options);\n return options.actions;\n };\n PopupModel.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.onDispose();\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], PopupModel.prototype, \"contentComponentName\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], PopupModel.prototype, \"contentComponentData\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"bottom\" })\n ], PopupModel.prototype, \"verticalPosition\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"left\" })\n ], PopupModel.prototype, \"horizontalPosition\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: false })\n ], PopupModel.prototype, \"showPointer\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: false })\n ], PopupModel.prototype, \"isModal\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: true })\n ], PopupModel.prototype, \"isFocusedContent\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: true })\n ], PopupModel.prototype, \"isFocusedContainer\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: function () { } })\n ], PopupModel.prototype, \"onCancel\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: function () { return true; } })\n ], PopupModel.prototype, \"onApply\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: function () { } })\n ], PopupModel.prototype, \"onHide\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: function () { } })\n ], PopupModel.prototype, \"onShow\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"\" })\n ], PopupModel.prototype, \"cssClass\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"\" })\n ], PopupModel.prototype, \"title\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"auto\" })\n ], PopupModel.prototype, \"overlayDisplayMode\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"popup\" })\n ], PopupModel.prototype, \"displayMode\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"flex\" })\n ], PopupModel.prototype, \"positionMode\", void 0);\n return PopupModel;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\nfunction createDialogOptions(componentName, data, onApply, onCancel, onHide, onShow, cssClass, title, displayMode) {\n if (onHide === void 0) { onHide = function () { }; }\n if (onShow === void 0) { onShow = function () { }; }\n if (displayMode === void 0) { displayMode = \"popup\"; }\n _console_warnings__WEBPACK_IMPORTED_MODULE_2__[\"ConsoleWarnings\"].warn(\"The `showModal()` and `createDialogOptions()` methods are obsolete. Use the `showDialog()` method instead.\");\n return {\n componentName: componentName,\n data: data,\n onApply: onApply,\n onCancel: onCancel,\n onHide: onHide,\n onShow: onShow,\n cssClass: cssClass,\n title: title,\n displayMode: displayMode\n };\n}\n\n\n/***/ }),\n\n/***/ \"./src/progress-buttons.ts\":\n/*!*********************************!*\\\n !*** ./src/progress-buttons.ts ***!\n \\*********************************/\n/*! exports provided: ProgressButtons, ProgressButtonsResponsivityManager */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ProgressButtons\", function() { return ProgressButtons; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ProgressButtonsResponsivityManager\", function() { return ProgressButtonsResponsivityManager; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaultCss/defaultV2Css */ \"./src/defaultCss/defaultV2Css.ts\");\n/* harmony import */ var _page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./page */ \"./src/page.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\nvar ProgressButtons = /** @class */ (function (_super) {\n __extends(ProgressButtons, _super);\n function ProgressButtons(survey) {\n var _this = _super.call(this) || this;\n _this.survey = survey;\n _this.onResize = _this.addEvent();\n return _this;\n }\n ProgressButtons.prototype.isListElementClickable = function (index) {\n if (!this.survey.onServerValidateQuestions ||\n this.survey.onServerValidateQuestions.isEmpty ||\n this.survey.checkErrorsMode === \"onComplete\") {\n return true;\n }\n return index <= this.survey.currentPageNo + 1;\n };\n ProgressButtons.prototype.getRootCss = function (container) {\n if (container === void 0) { container = \"center\"; }\n var result = this.survey.css.progressButtonsContainerCenter;\n if (this.survey.css.progressButtonsRoot) {\n result += \" \" + this.survey.css.progressButtonsRoot + \" \" + this.survey.css.progressButtonsRoot + \"--\" + ([\"footer\", \"contentBottom\"].indexOf(container) !== -1 ? \"bottom\" : \"top\");\n result += \" \" + this.survey.css.progressButtonsRoot + \"--\" + (this.showItemTitles ? \"with-titles\" : \"no-titles\");\n }\n if (this.showItemNumbers && this.survey.css.progressButtonsNumbered) {\n result += \" \" + this.survey.css.progressButtonsNumbered;\n }\n if (this.isFitToSurveyWidth) {\n result += \" \" + this.survey.css.progressButtonsFitSurveyWidth;\n }\n return result;\n };\n ProgressButtons.prototype.getListElementCss = function (index) {\n if (index >= this.survey.visiblePages.length)\n return;\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]()\n .append(this.survey.css.progressButtonsListElementPassed, this.survey.visiblePages[index].passed)\n .append(this.survey.css.progressButtonsListElementCurrent, this.survey.currentPageNo === index)\n .append(this.survey.css.progressButtonsListElementNonClickable, !this.isListElementClickable(index))\n .toString();\n };\n ProgressButtons.prototype.getScrollButtonCss = function (hasScroller, isLeftScroll) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]()\n .append(this.survey.css.progressButtonsImageButtonLeft, isLeftScroll)\n .append(this.survey.css.progressButtonsImageButtonRight, !isLeftScroll)\n .append(this.survey.css.progressButtonsImageButtonHidden, !hasScroller)\n .toString();\n };\n ProgressButtons.prototype.clickListElement = function (element) {\n if (!(element instanceof _page__WEBPACK_IMPORTED_MODULE_2__[\"PageModel\"])) {\n element = this.survey.visiblePages[element];\n }\n this.survey.tryNavigateToPage(element);\n };\n ProgressButtons.prototype.isListContainerHasScroller = function (element) {\n var listContainerElement = element.querySelector(\".\" + this.survey.css.progressButtonsListContainer);\n if (!!listContainerElement) {\n return listContainerElement.scrollWidth > listContainerElement.offsetWidth;\n }\n return false;\n };\n ProgressButtons.prototype.isCanShowItemTitles = function (element) {\n var listContainerElement = element.querySelector(\"ul\");\n if (!listContainerElement || listContainerElement.children.length < 2)\n return true;\n if (listContainerElement.clientWidth > listContainerElement.parentElement.clientWidth) {\n return false;\n }\n var expectedElementWidth = listContainerElement.children[0].clientWidth;\n for (var i = 0; i < listContainerElement.children.length; i++) {\n if (Math.abs(listContainerElement.children[i].clientWidth - expectedElementWidth) > 5) {\n return false;\n }\n }\n return true;\n };\n ProgressButtons.prototype.clearConnectorsWidth = function (element) {\n var listContainerElements = element.querySelectorAll(\".sd-progress-buttons__connector\");\n for (var i = 0; i < listContainerElements.length; i++) {\n listContainerElements[i].style.width = \"\";\n }\n };\n ProgressButtons.prototype.adjustConnectors = function (element) {\n var listContainerElement = element.querySelector(\"ul\");\n if (!listContainerElement)\n return;\n var listContainerElements = element.querySelectorAll(\".sd-progress-buttons__connector\");\n var circleWidth = this.showItemNumbers ? 17 : 5;\n var connectorWidth = listContainerElement.clientWidth / (listContainerElement.children.length - 1) - circleWidth;\n for (var i = 0; i < listContainerElements.length; i++) {\n listContainerElements[i].style.width = connectorWidth + \"px\";\n }\n };\n Object.defineProperty(ProgressButtons.prototype, \"isFitToSurveyWidth\", {\n get: function () {\n if (_defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_1__[\"surveyCss\"].currentType !== \"defaultV2\") {\n return false;\n }\n return this.survey.progressBarInheritWidthFrom === \"survey\" && this.survey.widthMode == \"static\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ProgressButtons.prototype, \"progressWidth\", {\n get: function () {\n if (this.isFitToSurveyWidth) {\n return this.survey.width;\n }\n return \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ProgressButtons.prototype, \"showItemNumbers\", {\n get: function () {\n if (_defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_1__[\"surveyCss\"].currentType !== \"defaultV2\") {\n return false;\n }\n return this.survey.progressBarShowPageNumbers;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ProgressButtons.prototype, \"showItemTitles\", {\n get: function () {\n if (_defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_1__[\"surveyCss\"].currentType !== \"defaultV2\") {\n return true;\n }\n return this.survey.progressBarShowPageTitles;\n },\n enumerable: false,\n configurable: true\n });\n ProgressButtons.prototype.getItemNumber = function (page) {\n var result = \"\";\n if (this.showItemNumbers) {\n result += this.survey.visiblePages.indexOf(page) + 1;\n }\n return result;\n };\n Object.defineProperty(ProgressButtons.prototype, \"headerText\", {\n get: function () {\n return this.survey.currentPage ? this.survey.currentPage.renderedNavigationTitle : \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ProgressButtons.prototype, \"footerText\", {\n get: function () {\n return this.survey.progressText;\n },\n enumerable: false,\n configurable: true\n });\n ProgressButtons.prototype.processResponsiveness = function (width) {\n this.onResize.fire(this, { width: width });\n };\n return ProgressButtons;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\nvar ProgressButtonsResponsivityManager = /** @class */ (function () {\n function ProgressButtonsResponsivityManager(model, element, viewModel) {\n var _this = this;\n this.model = model;\n this.element = element;\n this.viewModel = viewModel;\n this.criticalProperties = [\"progressBarType\", \"progressBarShowPageTitles\"];\n this.canShowItemTitles = true;\n this.processResponsiveness = function (model, options) {\n _this.viewModel.onUpdateScroller(model.isListContainerHasScroller(_this.element));\n if (!model.showItemTitles) {\n _this.model.adjustConnectors(_this.element);\n return;\n }\n if (model.survey.isMobile) {\n _this.prevWidth = options.width;\n _this.canShowItemTitles = false;\n _this.model.adjustConnectors(_this.element);\n _this.viewModel.onResize(_this.canShowItemTitles);\n return;\n }\n _this.model.clearConnectorsWidth(_this.element);\n if (_this.timer !== undefined) {\n clearTimeout(_this.timer);\n }\n _this.timer = setTimeout(function () {\n if (_this.prevWidth === undefined || _this.prevWidth < options.width && !_this.canShowItemTitles || _this.prevWidth > options.width && _this.canShowItemTitles) {\n _this.prevWidth = options.width;\n _this.canShowItemTitles = model.isCanShowItemTitles(_this.element);\n _this.viewModel.onResize(_this.canShowItemTitles);\n _this.timer = undefined;\n }\n }, 10);\n };\n this.model.survey.registerFunctionOnPropertiesValueChanged(this.criticalProperties, function () { return _this.forceUpdate(); }, \"ProgressButtonsResponsivityManager\" + this.viewModel.container);\n this.model.onResize.add(this.processResponsiveness);\n this.forceUpdate();\n }\n ProgressButtonsResponsivityManager.prototype.forceUpdate = function () {\n this.viewModel.onUpdateSettings();\n this.processResponsiveness(this.model, {});\n };\n ProgressButtonsResponsivityManager.prototype.dispose = function () {\n clearTimeout(this.timer);\n this.model.onResize.remove(this.processResponsiveness);\n this.model.survey.unRegisterFunctionOnPropertiesValueChanged(this.criticalProperties, \"ProgressButtonsResponsivityManager\" + this.viewModel.container);\n this.element = undefined;\n this.model = undefined;\n };\n return ProgressButtonsResponsivityManager;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/question.ts\":\n/*!*************************!*\\\n !*** ./src/question.ts ***!\n \\*************************/\n/*! exports provided: Question */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Question\", function() { return Question; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _survey_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./survey-element */ \"./src/survey-element.ts\");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./error */ \"./src/error.ts\");\n/* harmony import */ var _validator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./validator */ \"./src/validator.ts\");\n/* harmony import */ var _localizablestring__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./localizablestring */ \"./src/localizablestring.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\n/* harmony import */ var _questionCustomWidgets__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./questionCustomWidgets */ \"./src/questionCustomWidgets.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _rendererFactory__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./rendererFactory */ \"./src/rendererFactory.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\n/* harmony import */ var _console_warnings__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./console-warnings */ \"./src/console-warnings.ts\");\n/* harmony import */ var _conditionProcessValue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./conditionProcessValue */ \"./src/conditionProcessValue.ts\");\n/* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./global_variables_utils */ \"./src/global_variables_utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar TriggerExpressionInfo = /** @class */ (function () {\n function TriggerExpressionInfo(name, canRun, doComplete) {\n this.name = name;\n this.canRun = canRun;\n this.doComplete = doComplete;\n this.runSecondCheck = function (keys) { return false; };\n }\n return TriggerExpressionInfo;\n}());\n/**\n * A base class for all questions.\n */\nvar Question = /** @class */ (function (_super) {\n __extends(Question, _super);\n function Question(name) {\n var _this = _super.call(this, name) || this;\n _this.customWidgetData = { isNeedRender: true };\n _this.hasCssErrorCallback = function () { return false; };\n _this.isReadyValue = true;\n _this.dependedQuestions = [];\n /**\n * An event that is raised when the question's ready state has changed (expressions are evaluated, choices are loaded from a web resource specified by the `choicesByUrl` property, etc.).\n *\n * Parameters:\n *\n * - `sender`: `SurveyModel`\\\n * A survey instance that contains the question whose ready state has changed.\n * - `options.isReady`: `boolean`\\\n * Indicates whether the question is ready.\n * - `options.oldIsReady`: `boolean`\\\n * Indicates the previous ready state.\n */\n _this.onReadyChanged = _this.addEvent();\n _this.triggersInfo = [];\n _this.isRunningValidatorsValue = false;\n _this.isValueChangedInSurvey = false;\n _this.allowNotifyValueChanged = true;\n _this.id = Question.getQuestionId();\n _this.onCreating();\n _this.createNewArray(\"validators\", function (validator) {\n validator.errorOwner = _this;\n });\n _this.addExpressionProperty(\"visibleIf\", function (obj, res) { _this.visible = res === true; }, function (obj) { return !_this.areInvisibleElementsShowing; });\n _this.addExpressionProperty(\"enableIf\", function (obj, res) { _this.readOnly = res === false; });\n _this.addExpressionProperty(\"requiredIf\", function (obj, res) { _this.isRequired = res === true; });\n _this.createLocalizableString(\"commentText\", _this, true, \"otherItemText\");\n _this.createLocalizableString(\"requiredErrorText\", _this);\n _this.addTriggerInfo(\"resetValueIf\", function () { return !_this.isEmpty(); }, function () {\n _this.clearValue();\n _this.updateValueWithDefaults();\n });\n var setValueIfInfo = _this.addTriggerInfo(\"setValueIf\", function () { return true; }, function () { return _this.runSetValueExpression(); });\n setValueIfInfo.runSecondCheck = function (keys) { return _this.checkExpressionIf(keys); };\n _this.registerPropertyChangedHandlers([\"width\"], function () {\n _this.updateQuestionCss();\n if (!!_this.parent) {\n _this.parent.elementWidthChanged(_this);\n }\n });\n _this.registerPropertyChangedHandlers([\"isRequired\"], function () {\n if (!_this.isRequired && _this.errors.length > 0) {\n _this.validate();\n }\n _this.locTitle.strChanged();\n _this.clearCssClasses();\n });\n _this.registerPropertyChangedHandlers([\"indent\", \"rightIndent\"], function () {\n _this.onIndentChanged();\n });\n _this.registerPropertyChangedHandlers([\"showCommentArea\", \"showOtherItem\"], function () {\n _this.initCommentFromSurvey();\n });\n _this.registerFunctionOnPropertiesValueChanged([\"no\", \"readOnly\", \"hasVisibleErrors\", \"containsErrors\"], function () {\n _this.updateQuestionCss();\n });\n _this.registerPropertyChangedHandlers([\"isMobile\"], function () { _this.onMobileChanged(); });\n return _this;\n }\n Question.getQuestionId = function () {\n return \"sq_\" + Question.questionCounter++;\n };\n Question.prototype.isReadOnlyRenderDiv = function () {\n return this.isReadOnly && _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].readOnly.commentRenderMode === \"div\";\n };\n Question.prototype.allowMobileInDesignMode = function () {\n return false;\n };\n Question.prototype.updateIsMobileFromSurvey = function () {\n this.setIsMobile(this.survey._isMobile);\n };\n Question.prototype.setIsMobile = function (val) {\n this.isMobile = val && (this.allowMobileInDesignMode() || !this.isDesignMode);\n };\n Question.prototype.themeChanged = function (theme) { };\n Question.prototype.getDefaultTitle = function () { return this.name; };\n Question.prototype.createLocTitleProperty = function () {\n var _this = this;\n var locTitleValue = _super.prototype.createLocTitleProperty.call(this);\n locTitleValue.storeDefaultText = true;\n locTitleValue.onGetTextCallback = function (text) {\n if (!text) {\n text = _this.getDefaultTitle();\n }\n if (!_this.survey)\n return text;\n return _this.survey.getUpdatedQuestionTitle(_this, text);\n };\n this.locProcessedTitle = new _localizablestring__WEBPACK_IMPORTED_MODULE_5__[\"LocalizableString\"](this, true);\n this.locProcessedTitle.sharedData = locTitleValue;\n return locTitleValue;\n };\n Question.prototype.getSurvey = function (live) {\n if (live === void 0) { live = false; }\n if (live) {\n return !!this.parent ? this.parent.getSurvey(live) : null;\n }\n if (!!this.onGetSurvey)\n return this.onGetSurvey();\n return _super.prototype.getSurvey.call(this);\n };\n Question.prototype.getValueName = function () {\n if (!!this.valueName)\n return this.valueName.toString();\n return this.name;\n };\n Object.defineProperty(Question.prototype, \"valueName\", {\n /**\n * Specifies an object property that should store the question value.\n *\n * Refer to the [Merge Question Values](https://surveyjs.io/form-library/documentation/design-survey-merge-question-values) help topic for more information.\n */\n get: function () {\n return this.getPropertyValue(\"valueName\", \"\");\n },\n set: function (val) {\n var oldValueName = this.getValueName();\n this.setPropertyValue(\"valueName\", val);\n this.onValueNameChanged(oldValueName);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onValueNameChanged = function (oldValue) {\n if (!this.survey)\n return;\n this.survey.questionRenamed(this, this.name, !!oldValue ? oldValue : this.name);\n this.initDataFromSurvey();\n };\n Question.prototype.onNameChanged = function (oldValue) {\n this.locTitle.strChanged();\n if (!this.survey)\n return;\n this.survey.questionRenamed(this, oldValue, this.valueName ? this.valueName : oldValue);\n };\n Object.defineProperty(Question.prototype, \"isReady\", {\n get: function () {\n return this.isReadyValue;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onAsyncRunningChanged = function () {\n this.updateIsReady();\n };\n Question.prototype.updateIsReady = function () {\n var res = this.getIsQuestionReady();\n if (res) {\n var questions = this.getIsReadyDependsOn();\n for (var i = 0; i < questions.length; i++) {\n if (!questions[i].getIsQuestionReady()) {\n res = false;\n break;\n }\n }\n }\n this.setIsReady(res);\n };\n Question.prototype.getIsQuestionReady = function () {\n return !this.isAsyncExpressionRunning && this.getAreNestedQuestionsReady();\n };\n Question.prototype.getAreNestedQuestionsReady = function () {\n var questions = this.getIsReadyNestedQuestions();\n if (!Array.isArray(questions))\n return true;\n for (var i = 0; i < questions.length; i++) {\n if (!questions[i].isReady)\n return false;\n }\n return true;\n };\n Question.prototype.getIsReadyNestedQuestions = function () {\n return this.getNestedQuestions();\n };\n Question.prototype.setIsReady = function (val) {\n var oldIsReady = this.isReadyValue;\n this.isReadyValue = val;\n if (oldIsReady != val) {\n this.getIsReadyDependends().forEach(function (q) { return q.updateIsReady(); });\n this.onReadyChanged.fire(this, {\n question: this,\n isReady: val,\n oldIsReady: oldIsReady,\n });\n }\n };\n Question.prototype.getIsReadyDependsOn = function () {\n return this.getIsReadyDependendCore(true);\n };\n Question.prototype.getIsReadyDependends = function () {\n return this.getIsReadyDependendCore(false);\n };\n Question.prototype.getIsReadyDependendCore = function (isDependOn) {\n var _this = this;\n if (!this.survey)\n return [];\n var questions = this.survey.questionsByValueName(this.getValueName());\n var res = new Array();\n questions.forEach(function (q) { if (q !== _this)\n res.push(q); });\n if (!isDependOn) {\n if (this.parentQuestion) {\n res.push(this.parentQuestion);\n }\n if (this.dependedQuestions.length > 0) {\n this.dependedQuestions.forEach(function (q) { return res.push(q); });\n }\n }\n return res;\n };\n Question.prototype.choicesLoaded = function () { };\n Object.defineProperty(Question.prototype, \"page\", {\n /**\n * Returns a page to which the question belongs and allows you to move this question to a different page.\n */\n get: function () {\n if (!!this.parentQuestion)\n return this.parentQuestion.page;\n return this.getPage(this.parent);\n },\n set: function (val) {\n this.setPage(this.parent, val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getPanel = function () {\n return null;\n };\n Question.prototype.delete = function (doDispose) {\n if (doDispose === void 0) { doDispose = true; }\n this.removeFromParent();\n if (doDispose) {\n this.dispose();\n }\n else {\n this.resetDependedQuestions();\n }\n };\n Question.prototype.removeFromParent = function () {\n if (!!this.parent) {\n this.removeSelfFromList(this.parent.elements);\n }\n };\n Question.prototype.addDependedQuestion = function (question) {\n if (!question || this.dependedQuestions.indexOf(question) > -1)\n return;\n this.dependedQuestions.push(question);\n };\n Question.prototype.removeDependedQuestion = function (question) {\n if (!question)\n return;\n var index = this.dependedQuestions.indexOf(question);\n if (index > -1) {\n this.dependedQuestions.splice(index, 1);\n }\n };\n Question.prototype.updateDependedQuestions = function () {\n for (var i = 0; i < this.dependedQuestions.length; i++) {\n this.dependedQuestions[i].updateDependedQuestion();\n }\n };\n Question.prototype.updateDependedQuestion = function () { };\n Question.prototype.resetDependedQuestion = function () { };\n Object.defineProperty(Question.prototype, \"isFlowLayout\", {\n get: function () {\n return this.getLayoutType() === \"flow\";\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getLayoutType = function () {\n if (!!this.parent)\n return this.parent.getChildrenLayoutType();\n return \"row\";\n };\n Question.prototype.isLayoutTypeSupported = function (layoutType) {\n return layoutType !== \"flow\";\n };\n Object.defineProperty(Question.prototype, \"visible\", {\n /**\n * Gets or sets question visibility.\n *\n * If you want to display or hide a question based on a condition, specify the [`visibleIf`](https://surveyjs.io/form-library/documentation/question#visibleIf) property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see isVisible\n * @see visibleIf\n */\n get: function () {\n return this.getPropertyValue(\"visible\", true);\n },\n set: function (val) {\n if (val == this.visible)\n return;\n this.setPropertyValue(\"visible\", val);\n this.onVisibleChanged();\n this.notifySurveyVisibilityChanged();\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onVisibleChanged = function () {\n this.updateIsVisibleProp();\n if (!this.isVisible && this.errors && this.errors.length > 0) {\n this.errors = [];\n }\n };\n Question.prototype.notifyStateChanged = function (prevState) {\n _super.prototype.notifyStateChanged.call(this, prevState);\n if (this.isCollapsed) {\n this.onHidingContent();\n }\n };\n Question.prototype.updateIsVisibleProp = function () {\n var prev = this.getPropertyValue(\"isVisible\");\n var val = this.isVisible;\n if (prev !== val) {\n this.setPropertyValue(\"isVisible\", val);\n if (!val) {\n this.onHidingContent();\n }\n }\n };\n Object.defineProperty(Question.prototype, \"useDisplayValuesInDynamicTexts\", {\n /**\n * Specifies whether to use display names for question values in placeholders.\n *\n * Default value: `true`\n *\n * This property applies to questions whose values are defined as objects with the `value` and `text` properties (for example, [choice items](https://surveyjs.io/form-library/documentation/questionradiogroupmodel#choices) in Radiogroup, Checkbox, and Dropdown questions).\n *\n * You can use question values as placeholders in the following places:\n *\n * - Survey element titles and descriptions\n * - The [`html`](https://surveyjs.io/form-library/documentation/questionhtmlmodel#html) property of the [HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel) question\n *\n * To use a question value as a placeholder, specify the question `name` in curly brackets: `{questionName}`. Refer to the following help topic for more information: [Dynamic Texts - Question Values](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#question-values).\n */\n get: function () {\n return this.getPropertyValue(\"useDisplayValuesInDynamicTexts\");\n },\n set: function (val) {\n this.setPropertyValue(\"useDisplayValuesInDynamicTexts\", val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getUseDisplayValuesInDynamicTexts = function () { return this.useDisplayValuesInDynamicTexts; };\n Object.defineProperty(Question.prototype, \"visibleIf\", {\n /**\n * A Boolean expression. If it evaluates to `false`, this question becomes hidden.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see visible\n * @see isVisible\n */\n get: function () {\n return this.getPropertyValue(\"visibleIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"visibleIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isVisible\", {\n /**\n * Returns `true` if the question is visible or the survey is currently in design mode.\n *\n * If you want to display or hide a question based on a condition, specify the [`visibleIf`](https://surveyjs.io/form-library/documentation/question#visibleIf) property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see visibleIf\n * @see visible\n * @see isParentVisible\n */\n get: function () {\n if (this.survey && this.survey.areEmptyElementsHidden && this.isEmpty())\n return false;\n if (this.areInvisibleElementsShowing)\n return true;\n return this.isVisibleCore();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isVisibleInSurvey\", {\n get: function () {\n return this.isVisible && this.isParentVisible;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.isVisibleCore = function () {\n return this.visible;\n };\n Object.defineProperty(Question.prototype, \"visibleIndex\", {\n /**\n * Returns the visible index of the question in the survey. It can be from 0 to all visible questions count - 1\n * The visibleIndex is -1 if the title is 'hidden' or hideNumber is true\n * @see titleLocation\n * @see hideNumber\n */\n get: function () {\n return this.getPropertyValue(\"visibleIndex\", -1);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onHidingContent = function () { };\n Object.defineProperty(Question.prototype, \"hideNumber\", {\n /**\n * Hides the question number from the title and excludes the question from numbering.\n *\n * If you want to disable question numbering in the entire survey, set `SurveyModel`'s `showQuestionNumbers` property to `false`.\n * @see SurveyModel.showQuestionNumbers\n */\n get: function () {\n return this.getPropertyValue(\"hideNumber\");\n },\n set: function (val) {\n this.setPropertyValue(\"hideNumber\", val);\n this.notifySurveyVisibilityChanged();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isAllowTitleLeft\", {\n /**\n * Returns `true` if the question can display its title to the left of the input field.\n * @see titleLocation\n * @see getTitleLocation\n * @see hasTitle\n */\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns the question type.\n * Possible values:\n * - [*\"boolean\"*](https://surveyjs.io/Documentation/Library?id=questionbooleanmodel)\n * - [*\"checkbox\"*](https://surveyjs.io/Documentation/Library?id=questioncheckboxmodel)\n * - [*\"comment\"*](https://surveyjs.io/Documentation/Library?id=questioncommentmodel)\n * - [*\"dropdown\"*](https://surveyjs.io/Documentation/Library?id=questiondropdownmodel)\n * - [*\"tagbox\"*](https://surveyjs.io/form-library/documentation/questiontagboxmodel)\n * - [*\"expression\"*](https://surveyjs.io/Documentation/Library?id=questionexpressionmodel)\n * - [*\"file\"*](https://surveyjs.io/Documentation/Library?id=questionfilemodel)\n * - [*\"html\"*](https://surveyjs.io/Documentation/Library?id=questionhtmlmodel)\n * - [*\"image\"*](https://surveyjs.io/Documentation/Library?id=questionimagemodel)\n * - [*\"imagepicker\"*](https://surveyjs.io/Documentation/Library?id=questionimagepickermodel)\n * - [*\"matrix\"*](https://surveyjs.io/Documentation/Library?id=questionmatrixmodel)\n * - [*\"matrixdropdown\"*](https://surveyjs.io/Documentation/Library?id=questionmatrixdropdownmodel)\n * - [*\"matrixdynamic\"*](https://surveyjs.io/Documentation/Library?id=questionmatrixdynamicmodel)\n * - [*\"multipletext\"*](https://surveyjs.io/Documentation/Library?id=questionmultipletextmodel)\n * - [*\"panel\"*](https://surveyjs.io/Documentation/Library?id=panelmodel)\n * - [*\"paneldynamic\"*](https://surveyjs.io/Documentation/Library?id=questionpaneldynamicmodel)\n * - [*\"radiogroup\"*](https://surveyjs.io/Documentation/Library?id=questionradiogroupmodel)\n * - [*\"rating\"*](https://surveyjs.io/Documentation/Library?id=questionratingmodel)\n * - [*\"ranking\"*](https://surveyjs.io/Documentation/Library?id=questionrankingmodel)\n * - [*\"signaturepad\"*](https://surveyjs.io/Documentation/Library?id=questionsignaturepadmodel)\n * - [*\"text\"*](https://surveyjs.io/Documentation/Library?id=questiontextmodel)\n */\n Question.prototype.getType = function () {\n return \"question\";\n };\n Object.defineProperty(Question.prototype, \"isQuestion\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.moveTo = function (container, insertBefore) {\n if (insertBefore === void 0) { insertBefore = null; }\n return this.moveToBase(this.parent, container, insertBefore);\n };\n Question.prototype.getProgressInfo = function () {\n if (!this.hasInput)\n return _super.prototype.getProgressInfo.call(this);\n return {\n questionCount: 1,\n answeredQuestionCount: !this.isEmpty() ? 1 : 0,\n requiredQuestionCount: this.isRequired ? 1 : 0,\n requiredAnsweredQuestionCount: !this.isEmpty() && this.isRequired ? 1 : 0,\n };\n };\n Question.prototype.ensureSetValueExpressionRunner = function () {\n var _this = this;\n if (!this.setValueExpressionRunner) {\n this.setValueExpressionRunner = new _conditions__WEBPACK_IMPORTED_MODULE_6__[\"ExpressionRunner\"](this.setValueExpression);\n this.setValueExpressionRunner.onRunComplete = function (res) {\n if (!_this.isTwoValueEquals(_this.value, res)) {\n _this.value = res;\n }\n };\n }\n else {\n this.setValueExpressionRunner.expression = this.setValueExpression;\n }\n };\n Question.prototype.runSetValueExpression = function () {\n if (!this.setValueExpression) {\n this.clearValue();\n }\n else {\n this.ensureSetValueExpressionRunner();\n this.setValueExpressionRunner.run(this.getDataFilteredValues(), this.getDataFilteredProperties());\n }\n };\n Question.prototype.checkExpressionIf = function (keys) {\n this.ensureSetValueExpressionRunner();\n if (!this.setValueExpressionRunner)\n return false;\n return new _conditionProcessValue__WEBPACK_IMPORTED_MODULE_13__[\"ProcessValue\"]().isAnyKeyChanged(keys, this.setValueExpressionRunner.getVariables());\n };\n Question.prototype.addTriggerInfo = function (name, canRun, doComplete) {\n var info = new TriggerExpressionInfo(name, canRun, doComplete);\n this.triggersInfo.push(info);\n return info;\n };\n Question.prototype.runTriggerInfo = function (info, name, value) {\n var expression = this[info.name];\n var keys = {};\n keys[name] = value;\n if (!expression || info.isRunning || !info.canRun()) {\n if (info.runSecondCheck(keys)) {\n info.doComplete();\n }\n return;\n }\n if (!info.runner) {\n info.runner = new _conditions__WEBPACK_IMPORTED_MODULE_6__[\"ExpressionRunner\"](expression);\n info.runner.onRunComplete = function (res) {\n if (res === true) {\n info.doComplete();\n }\n info.isRunning = false;\n };\n }\n else {\n info.runner.expression = expression;\n }\n if (!new _conditionProcessValue__WEBPACK_IMPORTED_MODULE_13__[\"ProcessValue\"]().isAnyKeyChanged(keys, info.runner.getVariables()) && !info.runSecondCheck(keys))\n return;\n info.isRunning = true;\n info.runner.run(this.getDataFilteredValues(), this.getDataFilteredProperties());\n };\n Question.prototype.runTriggers = function (name, value) {\n var _this = this;\n if (this.isReadOnly || this.isSettingQuestionValue ||\n (this.parentQuestion && this.parentQuestion.getValueName() === name))\n return;\n this.triggersInfo.forEach(function (info) {\n _this.runTriggerInfo(info, name, value);\n });\n };\n Question.prototype.runConditions = function () {\n if (this.data && !this.isLoadingFromJson) {\n if (!this.isDesignMode) {\n this.runCondition(this.getDataFilteredValues(), this.getDataFilteredProperties());\n }\n this.locStrsChanged();\n }\n };\n Question.prototype.setSurveyImpl = function (value, isLight) {\n _super.prototype.setSurveyImpl.call(this, value);\n if (!this.survey)\n return;\n this.survey.questionCreated(this);\n if (isLight !== true) {\n this.runConditions();\n }\n this.calcRenderedCommentPlaceholder();\n if (!this.visible) {\n this.updateIsVisibleProp();\n }\n this.updateIsMobileFromSurvey();\n };\n Object.defineProperty(Question.prototype, \"parent\", {\n /**\n * Returns a survey element (panel or page) that contains the question and allows you to move this question to a different survey element.\n */\n get: function () {\n return this.getPropertyValue(\"parent\", null);\n },\n set: function (val) {\n if (this.parent === val)\n return;\n this.removeFromParent();\n this.setPropertyValue(\"parent\", val);\n this.updateQuestionCss();\n this.onParentChanged();\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onParentChanged = function () { };\n Object.defineProperty(Question.prototype, \"hasTitle\", {\n /**\n * Returns `false` if the `titleLocation` property is set to `\"hidden\"` or if the question cannot have a title (for example, an [HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel) question).\n *\n * If the `title` property is `undefined` or set to an empty string, the `hasTitle` property returns `true`, because the question uses its `name` as a title in this case.\n * @see title\n * @see titleLocation\n */\n get: function () {\n return this.getTitleLocation() !== \"hidden\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"titleLocation\", {\n /**\n * Sets question title location relative to the input field. Overrides the `questionTitleLocation` property specified for the question's container (survey, page, or panel).\n *\n * Possible values:\n *\n * - `\"default\"` (default) - Inherits the setting from the `questionTitleLocation` property specified for the question's container.\n * - `\"top\"` - Displays the title above the input field.\n * - `\"bottom\"` - Displays the title below the input field.\n * - `\"left\"` - Displays the title to the left of the input field.\n * - `\"hidden\"` - Hides the question title.\n *\n * > Certain question types (Matrix, Multiple Text) do not support the `\"left\"` value. For them, the `\"top\"` value is used.\n * @see SurveyModel.questionTitleLocation\n * @see getTitleLocation\n * @see isAllowTitleLeft\n */\n get: function () {\n return this.getPropertyValue(\"titleLocation\");\n },\n set: function (value) {\n var isVisibilityChanged = this.titleLocation == \"hidden\" || value == \"hidden\";\n this.setPropertyValue(\"titleLocation\", value.toLowerCase());\n this.updateQuestionCss();\n if (isVisibilityChanged) {\n this.notifySurveyVisibilityChanged();\n }\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getTitleOwner = function () { return this; };\n Question.prototype.getIsTitleRenderedAsString = function () { return this.titleLocation === \"hidden\"; };\n Question.prototype.notifySurveyVisibilityChanged = function () {\n if (!this.survey || this.isLoadingFromJson)\n return;\n this.survey.questionVisibilityChanged(this, this.isVisible);\n var isClearOnHidden = this.isClearValueOnHidden;\n if (!this.visible) {\n this.clearValueOnHidding(isClearOnHidden);\n }\n if (isClearOnHidden && this.isVisibleInSurvey) {\n this.updateValueWithDefaults();\n }\n };\n Question.prototype.clearValueOnHidding = function (isClearOnHidden) {\n if (isClearOnHidden) {\n this.clearValueIfInvisible();\n }\n };\n /**\n * Returns title location calculated based on the question's `titleLocation` property and the `questionTitleLocation` property of the question's containers (survey, page, or panel).\n * @see titleLocation\n * @see SurveyModel.questionTitleLocation\n */\n Question.prototype.getTitleLocation = function () {\n if (this.isFlowLayout)\n return \"hidden\";\n var location = this.getTitleLocationCore();\n if (location === \"left\" && !this.isAllowTitleLeft)\n location = \"top\";\n return location;\n };\n Question.prototype.getTitleLocationCore = function () {\n if (this.titleLocation !== \"default\")\n return this.titleLocation;\n if (!!this.parent)\n return this.parent.getQuestionTitleLocation();\n if (!!this.survey)\n return this.survey.questionTitleLocation;\n return \"top\";\n };\n Object.defineProperty(Question.prototype, \"hasTitleOnLeft\", {\n get: function () {\n return this.hasTitle && this.getTitleLocation() === \"left\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasTitleOnTop\", {\n get: function () {\n return this.hasTitle && this.getTitleLocation() === \"top\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasTitleOnBottom\", {\n get: function () {\n return this.hasTitle && this.getTitleLocation() === \"bottom\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasTitleOnLeftTop\", {\n get: function () {\n if (!this.hasTitle)\n return false;\n var location = this.getTitleLocation();\n return location === \"left\" || location === \"top\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"errorLocation\", {\n /**\n * Specifies the error message position. Overrides the `questionErrorLocation` property specified for the question's container ([survey](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionErrorLocation), [page](https://surveyjs.io/form-library/documentation/api-reference/page-model#questionErrorLocation), or [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model#questionErrorLocation)).\n *\n * Possible values:\n *\n * - `\"default\"` (default) - Inherits the setting from the `questionErrorLocation` property specified for the question's container.\n * - `\"top\"` - Displays error messages above questions.\n * - `\"bottom\"` - Displays error messages below questions.\n */\n get: function () {\n return this.getPropertyValue(\"errorLocation\");\n },\n set: function (val) {\n this.setPropertyValue(\"errorLocation\", val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getErrorLocation = function () {\n if (this.errorLocation !== \"default\")\n return this.errorLocation;\n if (this.parentQuestion)\n return this.parentQuestion.getChildErrorLocation(this);\n if (this.parent)\n return this.parent.getQuestionErrorLocation();\n return this.survey ? this.survey.questionErrorLocation : \"top\";\n };\n Question.prototype.getChildErrorLocation = function (child) {\n return this.getErrorLocation();\n };\n Object.defineProperty(Question.prototype, \"hasInput\", {\n /**\n * Returns `false` if the question has no input fields ([HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel), [Image](https://surveyjs.io/form-library/documentation/questionimagemodel), and similar question types).\n * @see hasSingleInput\n */\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasSingleInput\", {\n /**\n * Returns `false` if the question has no input fields ([HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel), [Image](https://surveyjs.io/form-library/documentation/questionimagemodel)) or has multiple input fields ([Matrix](https://surveyjs.io/form-library/documentation/questionmatrixmodel), [Multiple Text](https://surveyjs.io/form-library/documentation/questionmultipletextmodel)).\n * @see hasInput\n */\n get: function () {\n return this.hasInput;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"inputId\", {\n get: function () {\n return this.id + \"i\";\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getDefaultTitleValue = function () { return this.name; };\n Question.prototype.getDefaultTitleTagName = function () {\n return _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].titleTags.question;\n };\n Object.defineProperty(Question.prototype, \"descriptionLocation\", {\n /**\n * Specifies where to display a question description.\n *\n * Possible values:\n *\n * - `\"default\"` (default) - Inherits the setting from the Survey's [`questionDescriptionLocation`](https://surveyjs.io/form-library/documentation/surveymodel#questionDescriptionLocation) property.\n * - `\"underTitle\"` - Displays the description under the question title.\n * - `\"underInput\"` - Displays the description under the interactive area.\n * @see description\n * @see hasDescription\n */\n get: function () {\n return this.getPropertyValue(\"descriptionLocation\");\n },\n set: function (val) {\n this.setPropertyValue(\"descriptionLocation\", val);\n this.updateQuestionCss();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasDescriptionUnderTitle\", {\n get: function () {\n return this.getDescriptionLocation() == \"underTitle\" && this.hasDescription;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasDescriptionUnderInput\", {\n get: function () {\n return this.getDescriptionLocation() == \"underInput\" && this.hasDescription;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getDescriptionLocation = function () {\n if (this.descriptionLocation !== \"default\")\n return this.descriptionLocation;\n return !!this.survey\n ? this.survey.questionDescriptionLocation\n : \"underTitle\";\n };\n Question.prototype.needClickTitleFunction = function () {\n return _super.prototype.needClickTitleFunction.call(this) || this.hasInput;\n };\n Question.prototype.processTitleClick = function () {\n var _this = this;\n _super.prototype.processTitleClick.call(this);\n if (this.isCollapsed)\n return;\n setTimeout(function () {\n _this.focus();\n }, 1);\n return true;\n };\n Object.defineProperty(Question.prototype, \"requiredErrorText\", {\n /**\n * Specifies a custom error message for a required form field.\n * @see isRequired\n */\n get: function () {\n return this.getLocalizableStringText(\"requiredErrorText\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"requiredErrorText\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"locRequiredErrorText\", {\n get: function () {\n return this.getLocalizableString(\"requiredErrorText\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"commentText\", {\n /**\n * Specifies a caption displayed above the comment area. Applies when the `showCommentArea` property is `true`.\n * @see showCommentArea\n * @see comment\n */\n get: function () {\n return this.getLocalizableStringText(\"commentText\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"commentText\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"locCommentText\", {\n get: function () {\n return this.getLocalizableString(\"commentText\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"commentPlaceHolder\", {\n get: function () {\n return this.commentPlaceholder;\n },\n set: function (newValue) {\n this.commentPlaceholder = newValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"renderedCommentPlaceholder\", {\n get: function () {\n return this.getPropertyValue(\"renderedCommentPlaceholder\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.calcRenderedCommentPlaceholder = function () {\n var res = !this.isReadOnly ? this.commentPlaceHolder : undefined;\n this.setPropertyValue(\"renderedCommentPlaceholder\", res);\n };\n Question.prototype.getAllErrors = function () {\n return this.errors.slice();\n };\n Question.prototype.getErrorByType = function (errorType) {\n for (var i = 0; i < this.errors.length; i++) {\n if (this.errors[i].getErrorType() === errorType)\n return this.errors[i];\n }\n return null;\n };\n Object.defineProperty(Question.prototype, \"customWidget\", {\n get: function () {\n if (!this.isCustomWidgetRequested && !this.customWidgetValue) {\n this.isCustomWidgetRequested = true;\n this.updateCustomWidget();\n }\n return this.customWidgetValue;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.updateCustomWidget = function () {\n this.customWidgetValue = _questionCustomWidgets__WEBPACK_IMPORTED_MODULE_7__[\"CustomWidgetCollection\"].Instance.getCustomWidget(this);\n };\n Question.prototype.localeChanged = function () {\n _super.prototype.localeChanged.call(this);\n this.calcRenderedCommentPlaceholder();\n if (!!this.localeChangedCallback) {\n this.localeChangedCallback();\n }\n };\n Object.defineProperty(Question.prototype, \"isCompositeQuestion\", {\n get: function () {\n return false;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isContainer\", {\n get: function () { return false; },\n enumerable: false,\n configurable: true\n });\n Question.prototype.updateCommentElements = function () {\n if (!this.autoGrowComment || !Array.isArray(this.commentElements))\n return;\n for (var i = 0; i < this.commentElements.length; i++) {\n var el = this.commentElements[i];\n if (el)\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_11__[\"increaseHeightByContent\"])(el);\n }\n };\n Question.prototype.onCommentInput = function (event) {\n if (this.isInputTextUpdate) {\n if (event.target) {\n this.comment = event.target.value;\n }\n }\n else {\n this.updateCommentElements();\n }\n };\n Question.prototype.onCommentChange = function (event) {\n this.comment = event.target.value;\n if (this.comment !== event.target.value) {\n event.target.value = this.comment;\n }\n };\n Question.prototype.afterRenderQuestionElement = function (el) {\n if (!this.survey || !this.hasSingleInput)\n return;\n this.survey.afterRenderQuestionInput(this, el);\n };\n Question.prototype.afterRender = function (el) {\n var _this = this;\n this.afterRenderCore(el);\n if (!this.survey)\n return;\n this.survey.afterRenderQuestion(this, el);\n if (!!this.afterRenderQuestionCallback) {\n this.afterRenderQuestionCallback(this, el);\n }\n if (this.supportComment() || this.supportOther()) {\n this.commentElements = [];\n this.getCommentElementsId().forEach(function (id) {\n var root = _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].environment.root;\n var el = root.getElementById(id);\n if (el)\n _this.commentElements.push(el);\n });\n this.updateCommentElements();\n }\n this.checkForResponsiveness(el);\n };\n Question.prototype.afterRenderCore = function (el) {\n };\n Question.prototype.getCommentElementsId = function () {\n return [this.commentId];\n };\n Question.prototype.beforeDestroyQuestionElement = function (el) {\n this.commentElements = undefined;\n };\n Object.defineProperty(Question.prototype, \"processedTitle\", {\n get: function () {\n var res = this.locProcessedTitle.textOrHtml;\n return res ? res : this.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"fullTitle\", {\n get: function () {\n return this.locTitle.renderedHtml;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"titlePattern\", {\n get: function () {\n return !!this.survey ? this.survey.questionTitlePattern : \"numTitleRequire\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isRequireTextOnStart\", {\n get: function () {\n return this.isRequired && this.titlePattern == \"requireNumTitle\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isRequireTextBeforeTitle\", {\n get: function () {\n return this.isRequired && this.titlePattern == \"numRequireTitle\" && this.requiredText !== \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isRequireTextAfterTitle\", {\n get: function () {\n return this.isRequired && this.titlePattern == \"numTitleRequire\" && this.requiredText !== \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"startWithNewLine\", {\n /**\n * Disable this property if you want to render the current question on the same line or row with the previous question or panel.\n */\n get: function () {\n return this.getPropertyValue(\"startWithNewLine\");\n },\n set: function (val) {\n if (this.startWithNewLine == val)\n return;\n this.setPropertyValue(\"startWithNewLine\", val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.calcCssClasses = function (css) {\n var classes = { error: {} };\n this.copyCssClasses(classes, css.question);\n this.copyCssClasses(classes.error, css.error);\n this.updateCssClasses(classes, css);\n if (this.survey) {\n this.survey.updateQuestionCssClasses(this, classes);\n }\n if (this.onUpdateCssClassesCallback) {\n this.onUpdateCssClassesCallback(classes);\n }\n return classes;\n };\n Object.defineProperty(Question.prototype, \"cssRoot\", {\n get: function () {\n this.ensureElementCss();\n return this.getPropertyValue(\"cssRoot\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setCssRoot = function (val) {\n this.setPropertyValue(\"cssRoot\", val);\n };\n Question.prototype.getCssRoot = function (cssClasses) {\n var hasError = this.hasCssError();\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(_super.prototype.getCssRoot.call(this, cssClasses))\n .append(this.isFlowLayout && !this.isDesignMode\n ? cssClasses.flowRoot\n : cssClasses.mainRoot)\n .append(cssClasses.titleLeftRoot, !this.isFlowLayout && this.hasTitleOnLeft)\n .append(cssClasses.titleTopRoot, !this.isFlowLayout && this.hasTitleOnTop)\n .append(cssClasses.titleBottomRoot, !this.isFlowLayout && this.hasTitleOnBottom)\n .append(cssClasses.descriptionUnderInputRoot, !this.isFlowLayout && this.hasDescriptionUnderInput)\n .append(cssClasses.hasError, hasError)\n .append(cssClasses.hasErrorTop, hasError && this.getErrorLocation() == \"top\")\n .append(cssClasses.hasErrorBottom, hasError && this.getErrorLocation() == \"bottom\")\n .append(cssClasses.small, !this.width)\n .append(cssClasses.answered, this.isAnswered)\n .toString();\n };\n Object.defineProperty(Question.prototype, \"cssHeader\", {\n get: function () {\n this.ensureElementCss();\n return this.getPropertyValue(\"cssHeader\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setCssHeader = function (val) {\n this.setPropertyValue(\"cssHeader\", val);\n };\n Question.prototype.getCssHeader = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(cssClasses.header)\n .append(cssClasses.headerTop, this.hasTitleOnTop)\n .append(cssClasses.headerLeft, this.hasTitleOnLeft)\n .append(cssClasses.headerBottom, this.hasTitleOnBottom)\n .toString();\n };\n Question.prototype.supportContainerQueries = function () {\n return false;\n };\n Object.defineProperty(Question.prototype, \"cssContent\", {\n get: function () {\n this.ensureElementCss();\n return this.getPropertyValue(\"cssContent\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setCssContent = function (val) {\n this.setPropertyValue(\"cssContent\", val);\n };\n Question.prototype.getCssContent = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(cssClasses.content)\n .append(cssClasses.contentSupportContainerQueries, this.supportContainerQueries())\n .append(cssClasses.contentLeft, this.hasTitleOnLeft)\n .toString();\n };\n Object.defineProperty(Question.prototype, \"cssTitle\", {\n get: function () {\n this.ensureElementCss();\n return this.getPropertyValue(\"cssTitle\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setCssTitle = function (val) {\n this.setPropertyValue(\"cssTitle\", val);\n };\n Question.prototype.getCssTitle = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(_super.prototype.getCssTitle.call(this, cssClasses))\n .append(cssClasses.titleOnAnswer, !this.containsErrors && this.isAnswered)\n .append(cssClasses.titleEmpty, !this.title.trim())\n .toString();\n };\n Object.defineProperty(Question.prototype, \"cssDescription\", {\n get: function () {\n this.ensureElementCss();\n return this.getPropertyValue(\"cssDescription\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setCssDescription = function (val) {\n this.setPropertyValue(\"cssDescription\", val);\n };\n Question.prototype.getCssDescription = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(cssClasses.description, this.hasDescriptionUnderTitle)\n .append(cssClasses.descriptionUnderInput, this.hasDescriptionUnderInput)\n .toString();\n };\n Question.prototype.showErrorOnCore = function (location) {\n return !this.showErrorsAboveQuestion && !this.showErrorsBelowQuestion && this.getErrorLocation() === location;\n };\n Object.defineProperty(Question.prototype, \"showErrorOnTop\", {\n get: function () {\n return this.showErrorOnCore(\"top\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"showErrorOnBottom\", {\n get: function () {\n return this.showErrorOnCore(\"bottom\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"showErrorsOutsideQuestion\", {\n get: function () {\n return this.isDefaultV2Theme;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"showErrorsAboveQuestion\", {\n get: function () {\n return this.showErrorsOutsideQuestion && this.getErrorLocation() === \"top\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"showErrorsBelowQuestion\", {\n get: function () {\n return this.showErrorsOutsideQuestion && this.getErrorLocation() === \"bottom\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"cssError\", {\n get: function () {\n this.ensureElementCss();\n return this.getPropertyValue(\"cssError\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setCssError = function (val) {\n this.setPropertyValue(\"cssError\", val);\n };\n Question.prototype.getCssError = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(cssClasses.error.root)\n .append(cssClasses.errorsContainer, this.showErrorsBelowQuestion || this.showErrorsAboveQuestion)\n .append(cssClasses.errorsContainerTop, this.showErrorsAboveQuestion)\n .append(cssClasses.errorsContainerBottom, this.showErrorsBelowQuestion)\n .append(cssClasses.error.locationTop, this.showErrorOnTop)\n .append(cssClasses.error.locationBottom, this.showErrorOnBottom)\n .toString();\n };\n Question.prototype.hasCssError = function () {\n return this.errors.length > 0 || this.hasCssErrorCallback();\n };\n Question.prototype.getRootCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(this.cssRoot)\n .append(this.cssClasses.disabled, this.isReadOnly)\n .append(this.cssClasses.invisible, !this.isDesignMode && this.areInvisibleElementsShowing && !this.visible)\n .toString();\n };\n Question.prototype.getQuestionRootCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(this.cssClasses.root)\n .append(this.cssClasses.rootMobile, this.isMobile)\n .toString();\n };\n Question.prototype.updateElementCss = function (reNew) {\n _super.prototype.updateElementCss.call(this, reNew);\n if (reNew) {\n this.updateQuestionCss(true);\n }\n this.onIndentChanged();\n };\n Question.prototype.updateQuestionCss = function (reNew) {\n if (this.isLoadingFromJson ||\n !this.survey ||\n (reNew !== true && !this.cssClassesValue))\n return;\n this.updateElementCssCore(this.cssClasses);\n };\n Question.prototype.ensureElementCss = function () {\n if (!this.cssClassesValue) {\n this.updateQuestionCss(true);\n }\n };\n Question.prototype.updateElementCssCore = function (cssClasses) {\n this.setCssRoot(this.getCssRoot(cssClasses));\n this.setCssHeader(this.getCssHeader(cssClasses));\n this.setCssContent(this.getCssContent(cssClasses));\n this.setCssTitle(this.getCssTitle(cssClasses));\n this.setCssDescription(this.getCssDescription(cssClasses));\n this.setCssError(this.getCssError(cssClasses));\n };\n Question.prototype.updateCssClasses = function (res, css) {\n if (!css.question)\n return;\n var objCss = css[this.getCssType()];\n var titleBuilder = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]().append(res.title)\n .append(css.question.titleRequired, this.isRequired);\n res.title = titleBuilder.toString();\n var rootBuilder = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]().append(res.root)\n .append(objCss, this.isRequired && !!css.question.required);\n if (objCss === undefined || objCss === null) {\n res.root = rootBuilder.toString();\n }\n else if (typeof objCss === \"string\" || objCss instanceof String) {\n res.root = rootBuilder.append(objCss.toString()).toString();\n }\n else {\n res.root = rootBuilder.toString();\n for (var key in objCss) {\n res[key] = objCss[key];\n }\n }\n };\n Question.prototype.getCssType = function () {\n return this.getType();\n };\n Object.defineProperty(Question.prototype, \"renderCssRoot\", {\n get: function () {\n return this.cssClasses.root || undefined;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onIndentChanged = function () {\n this.paddingLeft = this.getIndentSize(this.indent);\n this.paddingRight = this.getIndentSize(this.rightIndent);\n };\n Question.prototype.getIndentSize = function (indent) {\n if (indent < 1 || !this.getSurvey() || !this.cssClasses || !this.cssClasses.indent)\n return \"\";\n return indent * this.cssClasses.indent + \"px\";\n };\n /**\n * Moves focus to the input field of this question.\n * @param onError Pass `true` if you want to focus an input field with the first validation error. Default value: `false` (focuses the first input field). Applies to question types with multiple input fields.\n */\n Question.prototype.focus = function (onError, scrollIfVisible) {\n if (onError === void 0) { onError = false; }\n if (this.isDesignMode || !this.isVisible || !this.survey)\n return;\n var page = this.page;\n var shouldChangePage = !!page && this.survey.activePage !== page;\n if (shouldChangePage) {\n this.survey.focusQuestionByInstance(this, onError);\n }\n else {\n this.focuscore(onError, scrollIfVisible);\n }\n };\n Question.prototype.focuscore = function (onError, scrollIfVisible) {\n if (onError === void 0) { onError = false; }\n if (!!this.survey) {\n this.expandAllParents(this);\n this.survey.scrollElementToTop(this, this, null, this.id, scrollIfVisible);\n }\n var id = !onError\n ? this.getFirstInputElementId()\n : this.getFirstErrorInputElementId();\n if (_survey_element__WEBPACK_IMPORTED_MODULE_2__[\"SurveyElement\"].FocusElement(id)) {\n this.fireCallback(this.focusCallback);\n }\n };\n Question.prototype.expandAllParents = function (element) {\n if (!element)\n return;\n if (element.isCollapsed) {\n element.expand();\n }\n this.expandAllParents(element.parent);\n this.expandAllParents(element.parentQuestion);\n };\n Question.prototype.focusIn = function () {\n if (!this.survey || this.isDisposed || this.isContainer)\n return;\n this.survey.whenQuestionFocusIn(this);\n };\n Question.prototype.fireCallback = function (callback) {\n if (callback)\n callback();\n };\n Question.prototype.getOthersMaxLength = function () {\n if (!this.survey)\n return null;\n return this.survey.maxOthersLength > 0 ? this.survey.maxOthersLength : null;\n };\n Question.prototype.onCreating = function () { };\n Question.prototype.getFirstQuestionToFocus = function (withError) {\n return this.hasInput && (!withError || this.currentErrorCount > 0) ? this : null;\n };\n Question.prototype.getFirstInputElementId = function () {\n return this.inputId;\n };\n Question.prototype.getFirstErrorInputElementId = function () {\n return this.getFirstInputElementId();\n };\n Question.prototype.getProcessedTextValue = function (textValue) {\n var name = textValue.name.toLocaleLowerCase();\n textValue.isExists =\n Object.keys(Question.TextPreprocessorValuesMap).indexOf(name) !== -1 ||\n this[textValue.name] !== undefined;\n textValue.value = this[Question.TextPreprocessorValuesMap[name] || textValue.name];\n };\n Question.prototype.supportComment = function () {\n var prop = this.getPropertyByName(\"showCommentArea\");\n return !prop || prop.visible;\n };\n Question.prototype.supportOther = function () {\n return false;\n };\n Object.defineProperty(Question.prototype, \"isRequired\", {\n /**\n * Makes the question required. If a respondent skips a required question, the survey displays a validation error.\n * @see requiredIf\n * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)\n */\n get: function () {\n return this.getPropertyValue(\"isRequired\");\n },\n set: function (val) {\n this.setPropertyValue(\"isRequired\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"requiredIf\", {\n /**\n * A Boolean expression. If it evaluates to `true`, this question becomes required.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see isRequired\n */\n get: function () {\n return this.getPropertyValue(\"requiredIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"requiredIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"showCommentArea\", {\n /**\n * Specifies whether to display a comment area. Incompatible with the `showOtherItem` property.\n * @see comment\n * @see commentText\n * @see showOtherItem\n */\n get: function () {\n return this.getPropertyValue(\"showCommentArea\", false);\n },\n set: function (val) {\n if (!this.supportComment())\n return;\n this.setPropertyValue(\"showCommentArea\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasComment\", {\n get: function () {\n return this.showCommentArea;\n },\n set: function (val) {\n this.showCommentArea = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"id\", {\n /**\n * A value to assign to the `id` attribute of the rendered HTML element. A default `id` is generated automatically.\n */\n get: function () {\n return this.getPropertyValue(\"id\");\n },\n set: function (val) {\n this.setPropertyValue(\"id\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"ariaTitleId\", {\n get: function () {\n return this.id + \"_ariaTitle\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"ariaDescriptionId\", {\n get: function () {\n return this.id + \"_ariaDescription\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"commentId\", {\n get: function () {\n return this.id + \"_comment\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"showOtherItem\", {\n /**\n * Specifies whether to display the \"Other\" choice item. Incompatible with the `showCommentArea` property.\n *\n * @see otherText\n * @see otherItem\n * @see otherErrorText\n * @see showCommentArea\n * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)\n */\n get: function () {\n return this.getPropertyValue(\"showOtherItem\", false);\n },\n set: function (val) {\n if (!this.supportOther() || this.showOtherItem == val)\n return;\n this.setPropertyValue(\"showOtherItem\", val);\n this.hasOtherChanged();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasOther\", {\n get: function () {\n return this.showOtherItem;\n },\n set: function (val) {\n this.showOtherItem = val;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.hasOtherChanged = function () { };\n Object.defineProperty(Question.prototype, \"requireUpdateCommentValue\", {\n get: function () {\n return this.hasComment || this.hasOther;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isReadOnly\", {\n get: function () {\n var isParentReadOnly = !!this.parent && this.parent.isReadOnly;\n var isPareQuestionReadOnly = !!this.parentQuestion && this.parentQuestion.isReadOnly;\n var isSurveyReadOnly = !!this.survey && this.survey.isDisplayMode;\n return this.readOnly || isParentReadOnly || isSurveyReadOnly || isPareQuestionReadOnly;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isInputReadOnly\", {\n get: function () {\n if (this.forceIsInputReadOnly !== undefined) {\n return this.forceIsInputReadOnly;\n }\n return this.isReadOnly || this.isDesignModeV2;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"renderedInputReadOnly\", {\n get: function () {\n return this.isInputReadOnly ? \"\" : undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"renderedInputDisabled\", {\n get: function () {\n return this.isInputReadOnly ? \"\" : undefined;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onReadOnlyChanged = function () {\n this.setPropertyValue(\"isInputReadOnly\", this.isInputReadOnly);\n _super.prototype.onReadOnlyChanged.call(this);\n if (this.isReadOnly) {\n this.clearErrors();\n }\n this.updateQuestionCss();\n this.calcRenderedCommentPlaceholder();\n };\n Object.defineProperty(Question.prototype, \"enableIf\", {\n /**\n * A Boolean expression. If it evaluates to `false`, this question becomes read-only.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see readOnly\n * @see isReadOnly\n */\n get: function () {\n return this.getPropertyValue(\"enableIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"enableIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.surveyChoiceItemVisibilityChange = function () { };\n Question.prototype.runCondition = function (values, properties) {\n if (this.isDesignMode)\n return;\n if (!properties)\n properties = {};\n properties[\"question\"] = this;\n this.runConditionCore(values, properties);\n if (!this.isValueChangedDirectly && (!this.isClearValueOnHidden || this.isVisibleInSurvey)) {\n this.defaultValueRunner = this.getDefaultRunner(this.defaultValueRunner, this.defaultValueExpression);\n this.runDefaultValueExpression(this.defaultValueRunner, values, properties);\n }\n };\n Object.defineProperty(Question.prototype, \"no\", {\n /**\n * A question number or letter (depends on the `questionStartIndex` property of the question container (panel, page, or survey)).\n *\n * When the question number, title, or the entire question is invisible, this property returns an empty string.\n * @see SurveyModel.questionStartIndex\n * @see hideNumber\n * @see titleLocation\n * @see visibleIf\n */\n get: function () {\n return this.getPropertyValue(\"no\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.calcNo = function () {\n if (!this.hasTitle || this.hideNumber)\n return \"\";\n var no = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].getNumberByIndex(this.visibleIndex, this.getStartIndex());\n if (!!this.survey) {\n no = this.survey.getUpdatedQuestionNo(this, no);\n }\n return no;\n };\n Question.prototype.getStartIndex = function () {\n if (!!this.parent)\n return this.parent.getQuestionStartIndex();\n if (!!this.survey)\n return this.survey.questionStartIndex;\n return \"\";\n };\n Question.prototype.onSurveyLoad = function () {\n this.isCustomWidgetRequested = false;\n this.fireCallback(this.surveyLoadCallback);\n this.updateValueWithDefaults();\n if (this.isEmpty()) {\n this.initDataFromSurvey();\n }\n this.calcRenderedCommentPlaceholder();\n this.onIndentChanged();\n };\n Question.prototype.onSetData = function () {\n _super.prototype.onSetData.call(this);\n if (!this.survey)\n return;\n this.initDataFromSurvey();\n this.onSurveyValueChanged(this.value);\n this.updateValueWithDefaults();\n this.onIndentChanged();\n this.updateQuestionCss();\n this.updateIsAnswered();\n };\n Question.prototype.initDataFromSurvey = function () {\n if (!!this.data) {\n var val = this.data.getValue(this.getValueName());\n if (!_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(val) || !this.isLoadingFromJson) {\n this.updateValueFromSurvey(val);\n }\n this.initCommentFromSurvey();\n }\n };\n Question.prototype.initCommentFromSurvey = function () {\n if (!!this.data && this.requireUpdateCommentValue) {\n this.updateCommentFromSurvey(this.data.getComment(this.getValueName()));\n }\n else {\n this.updateCommentFromSurvey(\"\");\n }\n };\n Question.prototype.runExpression = function (expression) {\n if (!this.survey || !expression)\n return undefined;\n return this.survey.runExpression(expression);\n };\n Object.defineProperty(Question.prototype, \"autoGrowComment\", {\n get: function () {\n return this.survey && this.survey.autoGrowComment;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"allowResizeComment\", {\n get: function () {\n return this.survey && this.survey.allowResizeComment;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"questionValue\", {\n get: function () {\n return this.getPropertyValueWithoutDefault(\"value\");\n },\n set: function (val) {\n this.setPropertyValue(\"value\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"questionComment\", {\n get: function () {\n return this.getPropertyValueWithoutDefault(\"comment\");\n },\n set: function (val) {\n this.setPropertyValue(\"comment\", val);\n this.fireCallback(this.commentChangedCallback);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isValueArray\", {\n get: function () { return false; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"value\", {\n /**\n * Gets or sets the question value.\n *\n * The following table illustrates how the value type depends on the question type:\n *\n * | Question type | Value type(s) |\n * | ------------- | ------------- |\n * | Checkboxes | `Array` |\n * | Dropdown | `string` \\| `number` |\n * | Dynamic Matrix | `Array