1"use strict";(self.webpackChunkthor_app=self.webpackChunkthor_app||[]).push([[1646],{1646:function(e,t,i){i.d(t,{iE:function(){return u},LB:function(){return d},f0:function(){return g}});var n=i(92674),r=i(62415);function a(e){return 0!==e.type.indexOf("image/jpeg")?Promise.resolve(e):function(e){return new Promise((t,i)=>{var n=new FileReader,r=e.slice?e.slice(0,65536):e;n.readAsArrayBuffer(r),n.onerror=i,n.onload=function(e){var i={orientation:1},n=new DataView(this.result);if(65496!==n.getUint16(0,!1))return t(i);for(var r=n.byteLength,a=2;a<r;){var s=n.getUint16(a,!1);if(a+=2,65505===s){if(1165519206!==n.getUint32(a+=2,!1))return t(i);var l=18761===n.getUint16(a+=6,!1);a+=n.getUint32(a+4,l);var h=n.getUint16(a,l);a+=2;for(var o=0;o<h;o++)if(274===n.getUint16(a+12*o,l)){var f=n.getUint16(a+12*o+8,l);return f>=2&&f<=8&&(n.setUint16(a+12*o+8,1,l),i.fixedArrayBuffer=e.target.result),i.orientation=f,t(i)}}else{if(65280!=(65280&s))break;a+=n.getUint16(a,!1)}}return t(i)}})}(e).then(t=>t.orientation<2||t.orientation>8?e:function(e,t){return s(e,!0).then(i=>{var n=document.createElement("canvas"),r=document.createElement("img");return new Promise(function(a,s){r.onload=function(){try{n.width=t.orientation>4?r.height:r.width,n.height=t.orientation>4?r.width:r.height;var i=n.getContext("2d");(function(e,t,i,n){switch(t){case 2:return e.transform(-1,0,0,1,i,0);case 3:return e.transform(-1,0,0,-1,i,n);case 4:return e.transform(1,0,0,-1,0,n);case 5:return e.transform(0,1,1,0,0,0);case 6:return e.transform(0,1,-1,0,n,0);case 7:return e.transform(0,-1,-1,0,n,i);case 8:e.transform(0,-1,1,0,0,i)}})(i,t.orientation,r.width,r.height),i.drawImage(r,0,0);var l=n.toDataURL(e.type||"image/WebP",.934);const s=function(e){for(var t="",i=new Uint8Array(e),n=i.byteLength,r=0;r<n;r++)t+=String.fromCharCode(i[r]);return window.btoa(t)}(t.fixedArrayBuffer);l=function(e,t){var i={KEY_STR:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode64:function(e){var t,i,n,r,a,s="",l="",h="",o=0;do{n=(t=e[o++])>>2,r=(3&t)<<4|(i=e[o++])>>4,a=(15&i)<<2|(l=e[o++])>>6,h=63&l,isNaN(i)?a=h=64:isNaN(l)&&(h=64),s=s+this.KEY_STR.charAt(n)+this.KEY_STR.charAt(r)+this.KEY_STR.charAt(a)+this.KEY_STR.charAt(h),t=i=l="",n=r=a=h=""}while(o<e.length);return s},restore:function(e,t){e.match("data:image/jpeg;base64,")&&(e=e.replace("data:image/jpeg;base64,",""));var i=this.decode64(e),n=this.slice2Segments(i),r=this.exifManipulation(t,n);return"data:image/jpeg;base64,"+this.encode64(r)},exifManipulation:function(e,t){var i=this.getExifArray(t),n=this.insertExif(e,i);return new Uint8Array(n)},getExifArray:function(e){for(var t,i=0;i<e.length;i++)if(255===(t=e[i])[0]&&225===t[1])return t;return[]},insertExif:function(e,t){var i=e.replace("data:image/jpeg;base64,",""),n=this.decode64(i),r=n.indexOf(255,3),a=n.slice(0,r),s=n.slice(r);return a.concat(t).concat(s)},slice2Segments:function(e){for(var t=0,i=[];255!==e[t]||218!==e[t+1];){if(255===e[t]&&216===e[t+1])t+=2;else{var n=t+(256*e[t+2]+e[t+3])+2,r=e.slice(t,n);i.push(r),t=n}if(t>e.length)break}return i},decode64:function(e){var t,i,n,r,a="",s="",l=0,h=[];/[^A-Za-z0-9\+\/\=]/g.exec(e)&&console.log("There were invalid base64 characters in the input text."),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{i=this.KEY_STR.indexOf(e.charAt(l++)),t=(15&(n=this.KEY_STR.indexOf(e.charAt(l++))))<<4|(r=this.KEY_STR.indexOf(e.charAt(l++)))>>2,a=(3&r)<<6|(s=this.KEY_STR.indexOf(e.charAt(l++))),h.push(i<<2|n>>4),64!==r&&h.push(t),64!==s&&h.push(a),t=a="",i=n=r=s=""}while(l<e.length);return h}};return i.restore(e,t)}(s,l);var h=function(e,t,i){for(var n=e.split(","),r=n[0].match(/:(.*?);/),a=r?r[1]:"text/plain",s=atob(n[1]),l=s.length,h=new Uint8Array(l);l--;)h[l]=s.charCodeAt(l);var o=new window.Blob([h],{type:a});return o.name=t,o.$ngfOrigSize=void 0,o}(l,e.name);const o=function(e,t){var i=e;return i.lastModifiedDate=new Date,i.name=t,e}(h,e.name);a(o)}catch(o){s(o)}},r.onerror=s,r.src=i})})}(e,t))}function s(e,t){if(!e)return Promise.resolve(e);if(t&&null!=e.$ngfDataUrl||!t&&null!=e.$ngfBlobUrl)return Promise.resolve(t?e.$ngfDataUrl:e.$ngfBlobUrl);var i=t?e.$$ngfDataUrlPromise:e.$$ngfBlobUrlPromise;if(i)return i;const n=window;let r;if(!n.FileReader||!e||n.FileAPI&&-1!==navigator.userAgent.indexOf("MSIE 8")&&!(e.size<2e4)||n.FileAPI&&-1!==navigator.userAgent.indexOf("MSIE 9")&&!(e.size<4e6))return e[t?"$ngfDataUrl":"$ngfBlobUrl"]="",Promise.reject(new Error("Browser does not support window.FileReader, window.FileReader, or window.FileAPI"));var a=n.URL||n.webkitURL;if(FileReader)r=new Promise((t,i)=>{var n=new FileReader;n.onload=function(i){e.$ngfDataUrl=i.target.result,delete e.$ngfDataUrl,t(i.target.result)},n.onerror=function(t){e.$ngfDataUrl="",i(t)},n.readAsDataURL(e)});else{var s;try{s=a.createObjectURL(e)}catch(l){return Promise.reject(l)}r=Promise.resolve(s),e.$ngfBlobUrl=s}return(i=t?e.$$ngfDataUrlPromise=r:e.$$ngfBlobUrlPromise=r).then(i=>(delete e[t?"$$ngfDataUrlPromise":"$$ngfBlobUrlPromise"],i))}const l=function(e){const t=e.getAttribute("type");return"input"===e.tagName.toLowerCase()&&t&&"file"===t.toLowerCase()};let h=0,o=0;let f=(()=>{class e{constructor(e){this.element=e,this.filters=[],this.lastFileCount=0,this.ngfFixOrientation=!0,this.fileDropDisabled=!1,this.selectable=!1,this.directiveInit=new r.EventEmitter,this.lastInvalids=[],this.lastInvalidsChange=new r.EventEmitter,this.lastBaseUrlChange=new r.EventEmitter,this.fileChange=new r.EventEmitter,this.files=[],this.filesChange=new r.EventEmitter,this.fileSelectStart=new r.EventEmitter,this.initFilters()}initFilters(){this.filters.push({name:"accept",fn:this._acceptFilter}),this.filters.push({name:"fileSize",fn:this._fileSizeFilter})}ngOnDestroy(){delete this.fileElm,this.destroyPasteListener()}ngOnInit(){(this.selectable||""===this.selectable)&&!["false","null","0"].includes(this.selectable)&&this.enableSelecting(),this.multiple&&this.paramFileElm().setAttribute("multiple",this.multiple),this.evalCapturePaste(),setTimeout(()=>{this.directiveInit.emit(this)},0)}ngOnChanges(e){var t,i;e.accept&&this.paramFileElm().setAttribute("accept",e.accept.currentValue||"*"),e.capturePaste&&this.evalCapturePaste(),e.file&&e.file.previousValue&&!e.file.currentValue&&this.clearFileElmValue(),e.files&&(null===(t=e.files.previousValue)||void 0===t?void 0:t.length)&&!(null===(i=e.files.currentValue)||void 0===i?void 0:i.length)&&this.clearFileElmValue()}evalCapturePaste(){if(this.capturePaste||""===this.capturePaste||["false","0","null"].includes(this.capturePaste)){if(this.pasteCapturer)return;return this.pasteCapturer=e=>{const t=e.clipboardData;t&&t.files&&t.files.length&&(this.handleFiles(t.files),e.preventDefault())},void window.addEventListener("paste",this.pasteCapturer)}this.destroyPasteListener()}destroyPasteListener(){this.pasteCapturer&&(window.removeEventListener("paste",this.pasteCapturer),delete this.pasteCapturer)}paramFileElm(){return this.fileElm?this.fileElm:this.fileElm=l(this.element.nativeElement)?this.element.nativeElement:this.createFileElm({change:this.changeFn.bind(this)})}createFileElm({change:e}){const t=function(){var e=function(){var e=document.createElement("input");return e.type="file",e}(),t=document.createElement("label");return t.innerHTML="upload",t.style.visibility="hidden",t.style.position="absolute",t.style.overflow="hidden",t.style.width="0px",t.style.height="0px",t.style.border="none",t.style.margin="0px",t.style.padding="0px",t.setAttribute("tabindex","-1"),t.appendChild(e),t}(),i=t.getElementsByTagName("input")[0];return i.addEventListener("change",e),this.element.nativeElement.appendChild(t),i}enableSelecting(){let e=this.element.nativeElement;if(l(e)){const t=e=>this.beforeSelect(e);return e.addEventListener("click",t),void e.addEventListener("touchstart",t)}const t=e=>this.clickHandler(e);e.addEventListener("click",t),e.addEventListener("touchstart",t),e.addEventListener("touchend",t)}getValidFiles(e){const t=[];for(let i=e.length-1;i>=0;
1--i)this.isFileValid(e[i])&&t.push(e[i]);return t}getInvalidFiles(e){const t=[];for(let i=e.length-1;i>=0;--i){let n=this.getFileFilterFailName(e[i]);n&&t.push({file:e[i],type:n})}return t}handleFiles(e){const t=this.getValidFiles(e);e.length!=t.length?this.lastInvalids=this.getInvalidFiles(e):delete this.lastInvalids,this.lastInvalidsChange.emit(this.lastInvalids),t.length&&(this.ngfFixOrientation?this.applyExifRotations(t).then(e=>this.que(e)):this.que(t)),this.isEmptyAfterSelection()&&(this.element.nativeElement.value="")}que(e){this.files=this.files||[],Array.prototype.push.apply(this.files,e),this.filesChange.emit(this.files),e.length&&(this.fileChange.emit(this.file=e[0]),this.lastBaseUrlChange.observers.length&&s(e[0]).then(e=>this.lastBaseUrlChange.emit(e))),this.lastFileCount=this.files.length}changeFn(e){var t=e.__files_||e.target&&e.target.files;!t||(this.stopEvent(e),this.handleFiles(t))}clickHandler(e){if(this.element.nativeElement.getAttribute("disabled")||this.fileDropDisabled)return!1;var t=function(e){var t=e.changedTouches||e.originalEvent&&e.originalEvent.changedTouches;if(t){if("touchstart"===e.type)return o=t[0].clientX,h=t[0].clientY,!0;if("touchend"===e.type){var i=t[0].clientY;if(Math.abs(t[0].clientX-o)>20||Math.abs(i-h)>20)return e.stopPropagation(),e.cancelable&&e.preventDefault(),!1}return!0}return!1}(e);return!1!==t?t:(this.paramFileElm().click(),this.beforeSelect(e),!1)}beforeSelect(e){this.fileSelectStart.emit(e),(!this.files||this.lastFileCount!==this.files.length)&&this.clearFileElmValue()}clearFileElmValue(){!this.fileElm||(this.fileElm.value=null)}isEmptyAfterSelection(){return!!this.element.nativeElement.attributes.multiple}stopEvent(e){e.preventDefault(),e.stopPropagation()}transferHasFiles(e){return!!e.types&&(e.types.indexOf?-1!==e.types.indexOf("Files"):!!e.types.contains&&e.types.contains("Files"))}eventToFiles(e){const t=c(e);if(t){if(t.files&&t.files.length)return t.files;if(t.items&&t.items.length)return t.items}return[]}applyExifRotations(e){const t=(t,i)=>a(t).then(t=>e.splice(i,1,t)),i=[];for(let n=e.length-1;n>=0;--n)i[n]=t(e[n],n);return Promise.all(i).then(()=>e)}onChange(e){let t=this.element.nativeElement.files||this.eventToFiles(e);!t.length||(this.stopEvent(e),this.handleFiles(t))}getFileFilterFailName(e){for(let t=0;t<this.filters.length;t++)if(!this.filters[t].fn.call(this,e))return this.filters[t].name}isFileValid(e){return!(this.accept||this.filters&&this.filters.length)||!this.getFileFilterFailName(e)}isFilesValid(e){for(let t=e.length-1;t>=0;--t)if(!this.isFileValid(e[t]))return!1;return!0}_acceptFilter(e){return function(e,t,i){if(!e)return!0;const n=e.split(",");let r,a;for(let s=n.length-1;s>=0;--s)if(a=n[s],a=a.replace(/(^\s+|\s+$)/g,""),a=a.replace(/\*/g,".*"),r=new RegExp(a,"gi"),t.search(r)>=0||"."==a.substring(0,1)&&(a="\\"+a,r=new RegExp(a+"$","i"),(i||t).search(r)>=0))return!0;return!1}(this.accept,e.type,e.name)}_fileSizeFilter(e){return!(this.maxSize&&e.size>this.maxSize)}}return e.\u0275fac=function(t){return new(t||e)(r.\u0275\u0275directiveInject(r.ElementRef))},e.\u0275dir=r.\u0275\u0275defineDirective({type:e,selectors:[["","ngf",""]],hostBindings:function(e,t){1&e&&r.\u0275\u0275listener("change",function(e){return t.onChange(e)})},inputs:{multiple:"multiple",accept:"accept",maxSize:"maxSize",ngfFixOrientation:"ngfFixOrientation",fileDropDisabled:"fileDropDisabled",selectable:"selectable",lastInvalids:"lastInvalids",lastBaseUrl:"lastBaseUrl",file:"file",files:"files",capturePaste:"capturePaste"},outputs:{directiveInit:"init",lastInvalidsChange:"lastInvalidsChange",lastBaseUrlChange:"lastBaseUrlChange",fileChange:"fileChange",filesChange:"filesChange",fileSelectStart:"fileSelectStart"},exportAs:["ngf"],features:[r.\u0275\u0275NgOnChangesFeature]}),e})();function c(e){return e.dataTransfer?e.dataTransfer:e.originalEvent?e.originalEvent.dataTransfer:null}let u=(()=>{class e extends f{constructor(){super(...arguments),this.fileOver=new r.EventEmitter,this.validDrag=!1,this.validDragChange=new r.EventEmitter,this.invalidDrag=!1,this.invalidDragChange=new r.EventEmitter,this.dragFilesC
1hange=new r.EventEmitter}onDrop(e){if(this.fileDropDisabled)return void this.stopEvent(e);this.closeDrags();let t=this.eventToFiles(e);!t.length||(this.stopEvent(e),this.handleFiles(t))}handleFiles(e){this.fileOver.emit(!1),super.handleFiles(e)}onDragOver(e){if(this.fileDropDisabled)return void this.stopEvent(e);const t=c(e);let i=this.eventToFiles(e),n=function(e){const t=[];for(let i=0;i<e.length;++i)t.push({type:e[i].type,kind:e[i].kind});return t}(i);this.dragFilesChange.emit(this.dragFiles=n),this.validDrag=!i.length||this.isFilesValid(i),this.validDragChange.emit(this.validDrag),this.invalidDrag=!this.validDrag,this.invalidDragChange.emit(this.invalidDrag),t.dropEffect="copy",this.stopEvent(e),this.fileOver.emit(!0)}closeDrags(){delete this.validDrag,this.validDragChange.emit(this.validDrag),this.invalidDrag=!1,this.invalidDragChange.emit(this.invalidDrag),delete this.dragFiles,this.dragFilesChange.emit(this.dragFiles)}onDragLeave(e){this.fileDropDisabled?this.stopEvent(e):(this.closeDrags(),(!this.element||e.currentTarget!==this.element[0])&&(this.stopEvent(e),this.fileOver.emit(!1)))}}return e.\u0275fac=function(){let t;return function(i){return(t||(t=r.\u0275\u0275getInheritedFactory(e)))(i||e)}}(),e.\u0275dir=r.\u0275\u0275defineDirective({type:e,selectors:[["","ngfDrop",""]],hostBindings:function(e,t){1&e&&r.\u0275\u0275listener("drop",function(e){return t.onDrop(e)})("dragover",function(e){return t.onDragOver(e)})("dragleave",function(e){return t.onDragLeave(e)})},inputs:{validDrag:"validDrag",invalidDrag:"invalidDrag",dragFiles:"dragFiles"},outputs:{fileOver:"fileOver",validDragChange:"validDragChange",invalidDragChange:"invalidDragChange",dragFilesChange:"dragFilesChange"},exportAs:["ngfDrop"],features:[r.\u0275\u0275InheritDefinitionFeature]}),e})(),g=(()=>{class e extends f{constructor(){super(...arguments),this.selectable=!0}}return e.\u0275fac=function(){let t;return function(i){return(t||(t=r.\u0275\u0275getInheritedFactory(e)))(i||e)}}(),e.\u0275dir=r.\u0275\u0275defineDirective({type:e,selectors:[["","ngfSelect",""]],inputs:{selectable:"selectable"},exportAs:["ngfSelect"],features:[r.\u0275\u0275InheritDefinitionFeature]}),e})(),d=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=r.\u0275\u0275defineNgModule({type:e}),e.\u0275inj=r.\u0275\u0275defineInjector({imports:[[n.ez]]}),e})()}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.