/*! ATOGOV - SPA 2025-03-18, Copyright (c) 2025 Australian Taxation Office */ "use strict";function q(t){throw t}var F,G,H,t=void 0,u=!1,sjcl={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(t){this.toString=function(){return"CORRUPT: "+this.message},this.message=t},invalid:function(t){this.toString=function(){return"INVALID: "+this.message},this.message=t},bug:function(t){this.toString=function(){return"BUG: "+this.message},this.message=t},notReady:function(t){this.toString=function(){return"NOT READY: "+this.message},this.message=t}}};function y(t,e,i){4!==e.length&&q(new sjcl.exception.invalid("invalid aes block size"));var s=t.b[i],c=e[0]^s[0],n=e[i?3:1]^s[1],r=e[2]^s[2];e=e[i?1:3]^s[3];for(var o,a,l=s.length/4-2,h=4,u=[0,0,0,0],d=t.k[i],p=(t=d[0],d[1]),f=d[2],m=d[3],g=d[4],j=0;j>>24]^p[n>>16&255]^f[r>>8&255]^m[255&e]^s[h],o=t[n>>>24]^p[r>>16&255]^f[e>>8&255]^m[255&c]^s[h+1],a=t[r>>>24]^p[e>>16&255]^f[c>>8&255]^m[255&n]^s[h+2],e=t[e>>>24]^p[c>>16&255]^f[n>>8&255]^m[255&r]^s[h+3],h+=4,c=d,n=o,r=a;for(j=0;j<4;j++)u[i?3&-j:j]=g[c>>>24]<<24^g[n>>16&255]<<16^g[r>>8&255]<<8^g[255&e]^s[h++],d=c,c=n,n=r,r=e,e=d;return u}function z(t,e){for(var i,s,c=e.slice(0),n=t.r,r=t.b,o=n[0],a=n[1],l=n[2],h=n[3],u=n[4],d=n[5],p=n[6],f=n[7],m=0;m<64;m++)i=(i=m<16?c[m]:(i=c[m+1&15],s=c[m+14&15],c[15&m]=(i>>>7^i>>>18^i>>>3^i<<25^i<<14)+(s>>>17^s>>>19^s>>>10^s<<15^s<<13)+c[15&m]+c[m+9&15]|0))+f+(u>>>6^u>>>11^u>>>25^u<<26^u<<21^u<<7)+(p^u&(d^p))+r[m],f=p,p=d,d=u,u=h+i|0,h=l,l=a,o=i+((a=o)&l^h&(a^l))+(a>>>2^a>>>13^a>>>22^a<<30^a<<19^a<<10)|0;n[0]=n[0]+o|0,n[1]=n[1]+a|0,n[2]=n[2]+l|0,n[3]=n[3]+h|0,n[4]=n[4]+u|0,n[5]=n[5]+d|0,n[6]=n[6]+p|0,n[7]=n[7]+f|0}function C(t,e){var i,s=sjcl.random.w[t],c=[];for(i in s)s.hasOwnProperty(i)&&c.push(s[i]);for(i=0;i>>24]<<24^c[e>>16&255]<<16^c[e>>8&255]<<8^c[255&e],0==t%r)&&(e=e<<8^e>>>24^o<<24,o=o<<1^283*(o>>7)),i[t]=i[t-r]^e;for(r=0;t;r++,t--)e=i[3&r?t:t-4],s[r]=t<=4||r<4?e:n[0][c[e>>>24]]^n[1][c[e>>16&255]]^n[2][c[e>>8&255]]^n[3][c[255&e]]},sjcl.cipher.aes.prototype={encrypt:function(t){return y(this,t,0)},decrypt:function(t){return y(this,t,1)},k:[[[],[],[],[],[]],[[],[],[],[],[]]],D:function(){for(var t,e,i,s,c,n,r=this.k[0],o=this.k[1],a=r[4],l=o[4],h=[],u=[],d=0;d<256;d++)u[(h[d]=d<<1^283*(d>>7))^d]=d;for(t=e=0;!a[t];t^=i||1,e=u[e]||1)for(n=16843009*(s=h[d=h[i=h[l[a[t]=c=(c=e^e<<1^e<<2^e<<3^e<<4)>>8^255&c^99]=t]]])^65537*d^257*i^16843008*t,s=257*h[c]^16843008*c,d=0;d<4;d++)r[d][t]=s=s<<24^s>>>8,o[d][c]=n=n<<24^n>>>8;for(d=0;d<5;d++)r[d]=r[d].slice(0),o[d]=o[d].slice(0)}},sjcl.bitArray={bitSlice:function(e,i,s){return e=sjcl.bitArray.P(e.slice(i/32),32-(31&i)).slice(1),s===t?e:sjcl.bitArray.clamp(e,s-i)},extract:function(t,e,i){var s=Math.floor(-e-i&31);return(-32&(e+i-1^e)?t[e/32|0]<<32-s^t[e/32+1|0]>>>s:t[e/32|0]>>>s)&(1<>e-1,1))),t},partial:function(t,e,i){return 32===t?e:(i?0|e:e<<32-t)+1099511627776*t},getPartial:function(t){return Math.round(t/1099511627776)||32},equal:function(t,e){if(sjcl.bitArray.bitLength(t)!==sjcl.bitArray.bitLength(e))return u;for(var i=0,s=0;s>>i),s=e[n]<<32-i;return n=e.length?e[e.length-1]:0,e=sjcl.bitArray.getPartial(n),c.push(sjcl.bitArray.partial(i+e&31,32>>24),e<<=8;return decodeURIComponent(escape(i))},toBits:function(t){t=unescape(encodeURIComponent(t));for(var e=[],i=0,s=0;s>>c)>>>26),c<6?(r=t[i]<<6-c,c+=26,i++):(r<<=6,c-=6);for(;3&s.length&&!e;)s+="=";return s},toBits:function(t,e){t=t.replace(/\s|=/g,"");var i,s,c=[],n=0,r=sjcl.codec.base64.J,o=0;for(e&&(r=r.substr(0,62)+"-_"),i=0;i>>(n-=26)),o=s<<32-n):o^=s<<32-(n+=6);return 56&n&&c.push(sjcl.bitArray.partial(56&n,o,1)),c}},sjcl.codec.base64url={fromBits:function(t){return sjcl.codec.base64.fromBits(t,1,1)},toBits:function(t){return sjcl.codec.base64.toBits(t,1)}},sjcl.hash.sha256=function(t){this.b[0]||this.D(),t?(this.r=t.r.slice(0),this.o=t.o.slice(0),this.h=t.h):this.reset()},sjcl.hash.sha256.hash=function(t){return(new sjcl.hash.sha256).update(t).finalize()},sjcl.hash.sha256.prototype={blockSize:512,reset:function(){return this.r=this.N.slice(0),this.o=[],this.h=0,this},update:function(t){"string"==typeof t&&(t=sjcl.codec.utf8String.toBits(t));var e=this.o=sjcl.bitArray.concat(this.o,t),i=this.h;for(t=this.h=i+sjcl.bitArray.bitLength(t),i=512+i&-512;i<=t;i+=512)z(this,e.splice(0,16));return this},finalize:function(){for(var t=this.o,e=this.r,i=(t=sjcl.bitArray.concat(t,[sjcl.bitArray.partial(1,1)])).length+2;15&i;i++)t.push(0);for(t.push(Math.floor(this.h/4294967296)),t.push(0|this.h);t.length;)z(this,t.splice(0,16));return this.reset(),e},N:[],b:[],D:function(){function t(t){return 4294967296*(t-Math.floor(t))|0}var e,i=0,s=2;t:for(;i<64;s++){for(e=2;e*e<=s;e++)if(0==s%e)continue t;i<8&&(this.N[i]=t(Math.pow(s,.5))),this.b[i]=t(Math.pow(s,1/3)),i++}}},sjcl.mode.ccm={name:"ccm",encrypt:function(t,e,i,s,c){var n,r=e.slice(0),o=sjcl.bitArray,a=o.bitLength(i)/8,l=o.bitLength(r)/8;for(c=c||64,s=s||[],a<7&&q(new sjcl.exception.invalid("ccm: iv must be at least 7 bytes")),n=2;n<4&&l>>>8*n;n++);return i=o.clamp(i,8*(15-(n=n<15-a?15-a:n))),e=sjcl.mode.ccm.L(t,e,i,s,c,n),r=sjcl.mode.ccm.p(t,r,i,e,c,n),o.concat(r.data,r.tag)},decrypt:function(t,e,i,s,c){c=c||64,s=s||[];var n=sjcl.bitArray,r=n.bitLength(i)/8,o=n.bitLength(e),a=n.clamp(e,o-c),l=n.bitSlice(e,o-c),o=(o-c)/8;for(r<7&&q(new sjcl.exception.invalid("ccm: iv must be at least 7 bytes")),e=2;e<4&&o>>>8*e;e++);return i=n.clamp(i,8*(15-(e=e<15-r?15-r:e))),a=sjcl.mode.ccm.p(t,a,i,l,c,e),t=sjcl.mode.ccm.L(t,a.data,i,s,c,e),n.equal(a.tag,t)||q(new sjcl.exception.corrupt("ccm: tag doesn't match")),a.data},L:function(t,e,i,s,c,n){var r=[],o=sjcl.bitArray,a=o.l;if(((c/=8)%2||c<4||16>>31,t[1]<<1^t[2]>>>31,t[2]<<1^t[3]>>>31,t[3]<<1^135*(t[0]>>>31)]}},sjcl.mode.gcm={name:"gcm",encrypt:function(t,e,i,s,c){var n=e.slice(0);return e=sjcl.bitArray,t=sjcl.mode.gcm.p(!0,t,n,s=s||[],i,c||128),e.concat(t.data,t.tag)},decrypt:function(t,e,i,s,c){var n=e.slice(0),r=sjcl.bitArray,o=r.bitLength(n);return s=s||[],n=(c=c||128)<=o?(e=r.bitSlice(n,o-c),r.bitSlice(n,0,o-c)):(e=n,[]),t=sjcl.mode.gcm.p(u,t,n,s,i,c),r.equal(t.tag,e)||q(new sjcl.exception.corrupt("gcm: tag doesn't match")),t.data},Z:function(t,e){for(var i,s,c=sjcl.bitArray.l,n=[0,0,0,0],r=e.slice(0),o=0;o<128;o++){for((i=0!=(t[Math.floor(o/32)]&1<<31-o%32))&&(n=c(n,r)),s=0!=(1&r[3]),i=3;0>>1|(1&r[i-1])<<31;r[0]>>>=1,s&&(r[0]^=-520093696)}return n},g:function(t,e,i){var s,c=i.length;for(e=e.slice(0),s=0;sc&&(t=e.hash(t)),i=0;i=1<this.j&&(this.j=r),this.F++,this.b=sjcl.hash.sha256.hash(this.b.concat(n)),this.A=new sjcl.cipher.aes(this.b),c=0;c<4&&(this.f[c]=this.f[c]+1|0,!this.f[c]);c++);}for(c=0;c>>=1;this.c[r].update([l,this.C++,2,i,n,e.length].concat(e))}break;case"string":i===t&&(i=e.length),this.c[r].update([l,this.C++,3,i,n,e.length]),this.c[r].update(e);break;default:a=1}a&&q(new sjcl.exception.bug("random: addEntropy only supports number, array of numbers or string")),this.i[r]+=i,this.d+=i,o===this.m&&(this.isReady()!==this.m&&C("seeded",Math.max(this.j,this.d)),C("progress",this.getProgress()))},isReady:function(e){return e=this.I[e!==t?e:this.B],this.j&&this.j>=e?this.i[0]>this.R&&(new Date).valueOf()>this.O?this.u|this.t:this.t:this.d>=e?this.u|this.m:this.m},getProgress:function(t){return t=this.I[t||this.B],this.j>=t||this.d>t?1:this.d/t},startCollectors:function(){this.q||(this.a={loadTimeCollector:D(this,this.aa),mouseCollector:D(this,this.ba),keyboardCollector:D(this,this.$),accelerometerCollector:D(this,this.U)},window.addEventListener?(window.addEventListener("load",this.a.loadTimeCollector,u),window.addEventListener("mousemove",this.a.mouseCollector,u),window.addEventListener("keypress",this.a.keyboardCollector,u),window.addEventListener("devicemotion",this.a.accelerometerCollector,u)):document.attachEvent?(document.attachEvent("onload",this.a.loadTimeCollector),document.attachEvent("onmousemove",this.a.mouseCollector),document.attachEvent("keypress",this.a.keyboardCollector)):q(new sjcl.exception.bug("can't attach event")),this.q=!0)},stopCollectors:function(){this.q&&(window.removeEventListener?(window.removeEventListener("load",this.a.loadTimeCollector,u),window.removeEventListener("mousemove",this.a.mouseCollector,u),window.removeEventListener("keypress",this.a.keyboardCollector,u),window.removeEventListener("devicemotion",this.a.accelerometerCollector,u)):document.detachEvent&&(document.detachEvent("onload",this.a.loadTimeCollector),document.detachEvent("onmousemove",this.a.mouseCollector),document.detachEvent("keypress",this.a.keyboardCollector)),this.q=u)},addEventListener:function(t,e){this.w[t][this.V++]=e},removeEventListener:function(t,e){var i,s,c=this.w[t],n=[];for(s in c)c.hasOwnProperty(s)&&c[s]===e&&n.push(s);for(i=0;i