!function(t){"use strict";var r=function(){if(!("Uint8Array"in window))return!1;try{var t=new window.Uint8Array(10);return t[0]=100,100===t[0]?!0:!1}catch(r){return!1}}();if(r)var e=window.Uint8Array,i=window.Int8Array;else var e=i=Array;var n=function(t,r){return typeof t===r},s=function(t){return n(t,"string")},o=function(t){return n(t,"number")},u=function(t){return n(t,"object")},h=function(t){return n(t,"function")},c=function(t){return u(t)&&(t instanceof e||t instanceof i)},f={},a=function(t){this.name="ChecksumException",this.message=t},p=function(t){if("string"!=typeof t)throw new TypeError("argument #1 string expected, got "+typeof t);if("undefined"==typeof f[t])throw new a("unknown algorithm '"+t+"'");this.c=new f[t],this.c.setup&&this.c.setup.apply(this.c,Array.prototype.slice.call(arguments,1)),this.result=this.c.init};p.prototype.updateStringly=function(t){if(!this.c.array)throw new a("no array checksum function was set for this cipher");return this.result=this.c.array(p.stringToArray(t+""),this.result),this},p.prototype.updateArray8Bit=function(t){if(t instanceof ArrayBuffer&&(t=new e(t)),!c(t))throw new TypeError("argument #1 8-bit typed array expected, got "+typeof t);if(!this.c.array)throw new a("no array checksum function was set for this cipher");return this.result=this.c.array(t,this.result),this},p.prototype.updateSingle=function(t){if(!o(t))throw new TypeError("argument #1 number expected, got "+typeof t);if(!this.c.single)throw new a("no single checksum function was set for this cipher");return this.result=this.c.single(t,this.result),this},p.prototype.updateObject=function(t){if(!u(t))throw new TypeError("argument #1 object expected, got "+typeof t);return this.updateStringly(JSON.stringify(t))},p.registerChecksum=function(t,r){if(!s(t))throw new TypeError("argument #1 string expected, got "+typeof t);if(!h(r))throw new TypeError("argument #2 function (class) expected, got "+typeof r);if("undefined"!=typeof f[t])throw new a("an other algorithm with this name has already been registered.");f[t]=r},p.getChecksumList=function(){var t=[];for(var r in f)f.hasOwnProperty(r)&&t.push(r);return t},p.stringToArray=function(t){for(var i=[],n=0;ns?i.push(s):2048>s?i.push(192|s>>6,128|63&s):55296>s||s>=57344?i.push(224|s>>12,128|s>>6&63,128|63&s):(n++,s=65536+((1023&s)<<10|1023&t.charCodeAt(n)),i.push(240|s>>18,128|s>>12&63,128|s>>6&63,128|63&s))}return r?new e(i):i},t.ChecksumException=a,t.Checksum=p}(window),function(){"use strict";if("undefined"==typeof window.Checksum)throw"The Checksum class is required for this code.";var t=65521,r=5552,e=function(){this.init=1};e.prototype.array=function(e,i){var n,s=i||this.init,o=e.length,u=65535&s|0,h=s>>>16&65535|0,c=0;if(!e||0===o)return this.init;for(var f=function(t){u+=e[t],h+=u,u+=e[t+1],h+=u,u+=e[t+2],h+=u,u+=e[t+3],h+=u,u+=e[t+4],h+=u,u+=e[t+5],h+=u,u+=e[t+6],h+=u,u+=e[t+7],h+=u,u+=e[t+8],h+=u,u+=e[t+9],h+=u,u+=e[t+10],h+=u,u+=e[t+11],h+=u,u+=e[t+12],h+=u,u+=e[t+13],h+=u,u+=e[t+14],h+=u,u+=e[t+15],h+=u};o>0;){for(n=r>o?o:r,o-=n;n>=16;)f(c),c+=16,n-=16;if(0!==n)do u+=e[c++],h+=u;while(--n);u%=t,h%=t}return(h<<16|u)>>>0},e.prototype.single=function(r,e){var i=e||this.init,n=65535&i|0,s=i>>>16&65535|0;return n+=r,s+=n,n%=t,s%=t,(s<<16|n)>>>0},Checksum.registerChecksum("adler32",e)}(),function(){"use strict";if("undefined"==typeof window.Checksum)throw"The Checksum class is required for this code.";var t=function(){this.init=0};t.prototype.array=function(t,r){for(var e=r||0,i=0,n=t.length;n>i;i++)e=((e>>>1)+((1&e)<<15)|0)+(255&t[i])&65535|0;return e},t.prototype.single=function(t,r){var e=r||0;return((e>>>1)+((1&e)<<15)|0)+(255&t)&65535|0},Checksum.registerChecksum("bsd16",t)}(),function(){"use strict";if("undefined"==typeof window.Checksum)throw"The Checksum class is required for this code.";var t,r=function(){this.init=0};r.prototype.array=function(r,e){for(var i=~(e||this.init),n=r.length,s=0;n>s;s++)i=t[255&(i^255&r[s])]^i>>>8;return~i>>>0},r.prototype.single=function(r,e){var i=~(e||this.init);return~(t[255&(i^255&r)]^i>>>8)>>>0},t=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],Checksum.registerChecksum("crc32",r)}(),function(){"use strict";if("undefined"==typeof window.Checksum)throw"The Checksum class is required for this code.";var t=function(){this.init=4294967295};t.prototype.setup=function(t){16===t?(this.init=65535,this.mode=8,this.part=20,this.mask=255):(this.init=4294967295,this.mode=16,this.part=359,this.mask=65535)},t.prototype.array=function(t,r){for(var e,i=this.mode,n=this.mask,s=this.part,o=r||this.init,u=o&n|0,h=o>>>i&n|0,c=t.length,f=0;c;){e=c>s?s:c,c-=e;do h+=u+=255&t[f++];while(--e);u=(u&n)+(u>>>i),h=(h&n)+(h>>>i)}return u=(u&n)+(u>>>i),h=(h&n)+(h>>>i),(h<>>0},t.prototype.single=function(t,r){var e=this.mode,i=this.mask,n=(this.part,r||this.init),s=n&i|0,o=n>>>e&i|0;return o+=s+=255&t,s=(s&i)+(s>>>e),o=(o&i)+(o>>>e),(o<>>0},Checksum.registerChecksum("fletcher",t)}(),function(){"use strict";if("undefined"==typeof window.Checksum)throw"The Checksum class is required for this code.";var t=function(){this.init=2166136261};t.prototype.setup=function(t){0===t&&(this.init=0)},t.prototype.array=function(t,r){for(var e=t.length,i=r||this.init,n=0;e>n;n++)i=i+((i<<1)+(i<<4)+(i<<7)+(i<<8)+(i<<24)>>>0)^255&t[n];return i>>>0},t.prototype.single=function(t,r){var e=r||this.init;return(e+((e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24)>>>0)^255&t)>>>0},Checksum.registerChecksum("fnv32",t)}();