diff --git a/dist/fansubid/browser/common.8be822dcf8c87991.js b/dist/fansubid/browser/common.8be822dcf8c87991.js
new file mode 100644
index 000000000..1cf587e63
--- /dev/null
+++ b/dist/fansubid/browser/common.8be822dcf8c87991.js
@@ -0,0 +1 @@
+(self.webpackChunkfansubid=self.webpackChunkfansubid||[]).push([[592],{3331:(D,m,n)=>{"use strict";n.d(m,{B:()=>i});var e=n(5934),r=n(5e3),f=n(8696);let i=(()=>{class a{constructor(t){this.gs=t}get GS(){return this.gs}ngOnInit(){}get discordUrl(){return e.N.discord.join_url}get discordGuildId(){return e.N.discord.guild_id}}return a.\u0275fac=function(t){return new(t||a)(r.Y36(f.U))},a.\u0275cmp=r.Xpm({type:a,selectors:[["app-banner-discord"]],decls:9,vars:3,consts:[[1,"row"],[1,"col-12","sticky-top","bg-bifeldy"],[1,"pt-3","border-bottom-dotted"],[1,"text-bifeldy"],[1,"col-12"],[1,"gradient-border","rgb-border","mx-2","mb-2"],["target","_blank",3,"href"],[1,"w-100",3,"src"]],template:function(t,h){1&t&&(r.TgZ(0,"div",0)(1,"div",1)(2,"h2",2)(3,"b",3),r._uU(4,"Yuk Gabung Obrolan!"),r.qZA()()(),r.TgZ(5,"div",4)(6,"p",5)(7,"a",6),r._UZ(8,"img",7),r.qZA()()()()),2&t&&(r.xp6(7),r.s9C("href",h.discordUrl,r.LSH),r.xp6(1),r.hYB("src","https://discord.com/api/guilds/",h.discordGuildId,"/widget.png?style=banner",h.GS.gridListBreakpoint,"",r.LSH))},styles:[""]}),a})()},4854:(D,m,n)=>{"use strict";n.d(m,{R:()=>f});var e=n(9808),r=n(5e3);let f=(()=>{class i{}return i.\u0275fac=function(d){return new(d||i)},i.\u0275mod=r.oAB({type:i}),i.\u0275inj=r.cJS({imports:[[e.ez]]}),i})()},9530:(D,m,n)=>{"use strict";n.d(m,{u:()=>i});var e=n(5934),r=n(5e3),f=n(8696);let i=(()=>{class a{constructor(t){this.gs=t}ngOnInit(){}get githubUrl(){return e.N.github}get saweriaUrl(){return e.N.saweria}get trakteerUrl(){return e.N.trakteer}}return a.\u0275fac=function(t){return new(t||a)(r.Y36(f.U))},a.\u0275cmp=r.Xpm({type:a,selectors:[["app-banner-donasi"]],decls:13,vars:3,consts:[[1,"row"],[1,"col-12","sticky-top","bg-bifeldy"],[1,"pt-3","border-bottom-dotted"],[1,"text-bifeldy"],[1,"col-12"],[1,"gradient-border","rgb-border","mx-2","mb-2"],["target","_blank",3,"href"],["src","/assets/img/logo/github.png",1,"w-100"],["src","/assets/img/logo/trakteer.png",1,"w-100"],["src","/assets/img/logo/saweria.png",1,"w-100"]],template:function(t,h){1&t&&(r.TgZ(0,"div",0)(1,"div",1)(2,"h2",2)(3,"b",3),r._uU(4,"Donasi Perawatan Server"),r.qZA()()(),r.TgZ(5,"div",4)(6,"p",5)(7,"a",6),r._UZ(8,"img",7),r.qZA(),r.TgZ(9,"a",6),r._UZ(10,"img",8),r.qZA(),r.TgZ(11,"a",6),r._UZ(12,"img",9),r.qZA()()()()),2&t&&(r.xp6(7),r.s9C("href",h.githubUrl,r.LSH),r.xp6(2),r.s9C("href",h.trakteerUrl,r.LSH),r.xp6(2),r.s9C("href",h.saweriaUrl,r.LSH))},styles:[""]}),a})()},1838:(D,m,n)=>{"use strict";n.d(m,{R:()=>f});var e=n(9808),r=n(5e3);let f=(()=>{class i{}return i.\u0275fac=function(d){return new(d||i)},i.\u0275mod=r.oAB({type:i}),i.\u0275inj=r.cJS({imports:[[e.ez]]}),i})()},913:(D,m,n)=>{"use strict";n.d(m,{g:()=>a});var e=n(9808),r=n(8406),f=n(210),i=n(5e3);let a=(()=>{class d{}return d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=i.oAB({type:d}),d.\u0275inj=i.cJS({imports:[[e.ez,r.Bz,f.m]]}),d})()},8921:(D,m,n)=>{"use strict";n.d(m,{X:()=>_});var e=n(5e3),r=n(8696),f=n(8381),i=n(9808),a=n(7238),d=n(3626);function t(u,y){if(1&u&&(e.TgZ(0,"p",6),e._uU(1," Portal :: "),e.TgZ(2,"span",9),e._uU(3),e.qZA()()),2&u){const l=e.oxw();e.xp6(3),e.hij(" ",null==l.SS.github?null:l.SS.github.sha," ")}}function h(u,y){if(1&u&&(e.TgZ(0,"p",6),e._uU(1," Date :: "),e.TgZ(2,"span",9),e._uU(3),e.ALo(4,"date"),e.qZA()()),2&u){const l=e.oxw();e.xp6(3),e.hij(" ",e.xi3(4,1,null==l.SS.github||null==l.SS.github.commit||null==l.SS.github.commit.author?null:l.SS.github.commit.author.date,"d MMM y, hh:mm:ss a z")," ")}}function M(u,y){if(1&u&&(e.TgZ(0,"p",6),e._uU(1," Message :: "),e.TgZ(2,"span",7),e._uU(3),e.qZA()()),2&u){const l=e.oxw();e.xp6(3),e.hij(" ",null==l.SS.github||null==l.SS.github.commit?null:l.SS.github.commit.message," ")}}function c(u,y){if(1&u&&(e.TgZ(0,"p",6),e._uU(1," Socket :: "),e.TgZ(2,"span",9),e._uU(3),e.qZA()()),2&u){const l=e.oxw();e.xp6(3),e.hij(" ",null!=l.SS.mySocket&&l.SS.mySocket.id?l.SS.mySocket.id:"Sambungan Terputus"," ")}}function p(u,y){if(1&u&&(e.TgZ(0,"p",6),e._uU(1," Latency :: "),e.TgZ(2,"span"),e._uU(3),e.qZA()()),2&u){const l=e.oxw();e.xp6(2),e.Gre("text-",l.SS.latency>75?"warning":"success",""),e.xp6(1),e.hij(" ",l.SS.latency," ms ")}}function b(u,y){if(1&u&&(e.TgZ(0,"p",6),e._uU(1," Nodes :: "),e.TgZ(2,"span",9),e._uU(3),e.qZA()()),2&u){const l=e.oxw();e.xp6(3),e.hij(" ",l.SS.visitor," Koneksi ")}}let _=(()=>{class u{constructor(l,g){this.gs=l,this.ss=g,this.currentServer=null,this.subsServer=null}get SS(){return this.ss}ngOnInit(){this.gs.isBrowser&&(this.subsServer=this.ss.currentServer.subscribe({next:l=>this.currentServer=l}))}ngOnDestroy(){var l;null===(l=this.subsServer)||void 0===l||l.unsubscribe()}}return u.\u0275fac=function(l){return new(l||u)(e.Y36(r.U),e.Y36(f.R))},u.\u0275cmp=e.Xpm({type:u,selectors:[["app-stats-server"]],decls:42,vars:33,consts:[[1,"row"],[1,"col-12","sticky-top","bg-bifeldy"],[1,"pt-3","border-bottom-dotted"],[1,"text-bifeldy"],[1,"col-12"],["class","px-2 text-truncate",4,"ngIf"],[1,"px-2","text-truncate"],[1,"text-warning"],["matTooltip","Diperbarui 10 Menit Sekali",1,"px-2","text-truncate"],[1,"text-success"]],template:function(l,g){1&l&&(e.TgZ(0,"div",0)(1,"div",1)(2,"h2",2)(3,"b",3),e._uU(4,"Statistik Server"),e.qZA()()(),e.TgZ(5,"div",4),e.YNc(6,t,4,1,"p",5),e.YNc(7,h,5,4,"p",5),e.YNc(8,M,4,1,"p",5),e.TgZ(9,"p",6),e._uU(10," Server :: "),e.TgZ(11,"span",7),e._uU(12),e.qZA()(),e.YNc(13,c,4,1,"p",5),e.YNc(14,p,4,4,"p",5),e.YNc(15,b,4,1,"p",5),e.TgZ(16,"p",6),e._uU(17," CPUs Load :: "),e.TgZ(18,"span",7),e._uU(19),e.ALo(20,"number"),e.qZA()(),e.TgZ(21,"p",6),e._uU(22," RAM Usage :: "),e.TgZ(23,"span",7),e._uU(24),e.ALo(25,"bytes"),e.qZA()(),e.TgZ(26,"p",6),e._uU(27," Disk IO (/s) :: "),e.TgZ(28,"span",7),e._uU(29),e.ALo(30,"bytes"),e.qZA()(),e.TgZ(31,"p",6),e._uU(32," Net UD (/s) :: "),e.TgZ(33,"span",7),e._uU(34),e.ALo(35,"bytes"),e.ALo(36,"bytes"),e.qZA()(),e.TgZ(37,"p",8),e._uU(38," Sisa Saldo :: "),e.TgZ(39,"span",7),e._uU(40),e.ALo(41,"currency"),e.qZA()()()()),2&l&&(e.xp6(6),e.Q6J("ngIf",null==g.SS.github?null:g.SS.github.sha),e.xp6(1),e.Q6J("ngIf",null==g.SS.github||null==g.SS.github.commit||null==g.SS.github.commit.author?null:g.SS.github.commit.author.date),e.xp6(1),e.Q6J("ngIf",null==g.SS.github||null==g.SS.github.commit?null:g.SS.github.commit.message),e.xp6(4),e.hij(" ",null!=g.currentServer&&g.currentServer.isMaintenance?"Dalam Perbaikan":"Berjalan Normal"," "),e.xp6(1),e.Q6J("ngIf",g.SS.mySocket),e.xp6(1),e.Q6J("ngIf",g.SS.latency),e.xp6(1),e.Q6J("ngIf",g.SS.visitor),e.xp6(4),e.hij(" ",e.xi3(20,13,g.SS.statsServer.mainSite.cpus,"1.2-2")," % "),e.xp6(5),e.hij(" ",e.xi3(25,16,g.SS.statsServer.mainSite.mem_ram,2)," "),e.xp6(5),e.hij(" ",e.xi3(30,19,g.SS.statsServer.mainSite.disk_io,2)," "),e.xp6(5),e.AsE(" ",e.xi3(35,22,g.SS.statsServer.mainSite.net_tx,2)," / ",e.xi3(36,25,g.SS.statsServer.mainSite.net_rx,2)," "),e.xp6(6),e.hij(" ",e.gM2(41,28,g.SS.statsServer.billing.ongoing,"Rp ","symbol","1.2-2")," "))},directives:[i.O5,a.gM],pipes:[i.uU,i.JJ,d.$,i.H9],styles:[""]}),u})()},669:(D,m,n)=>{"use strict";n.d(m,{A:()=>a});var e=n(9808),r=n(7355),f=n(210),i=n(5e3);let a=(()=>{class d{}return d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=i.oAB({type:d}),d.\u0275inj=i.cJS({imports:[[e.ez,r.T,f.m]]}),d})()},197:(D,m,n)=>{"use strict";n.d(m,{v:()=>i});var e=n(5e3),r=n(9731),f=n(8696);let i=(()=>{class a{constructor(t,h){this.api=t,this.gs=h}getAttachmentNotUploaded(t="",h=1,M=10,c="",p="",b){return this.api.getData(`/attachment?q=${t}&page=${h}&row=${M}&sort=${c}&order=${p}${b?"&failed=true":""}`)}reUpload(t){return this.api.patchData("/attachment",t)}downloadLampiran(t){return this.api.getData(`/attachment/${t}`,{responseType:"blob",observe:"events",reportProgress:!0,headers:{"ngsw-bypass":"true"}})}getListDdl(t){return this.api.getData(`/attachment/${t}`)}downloadDdlProxy(t){return this.api.getData(`/ddl-part/${t}`,{responseType:"blob",observe:"events",reportProgress:!0,headers:{"ngsw-bypass":"true"}})}downloadDdlDirect(t){return this.api.getData(t,{responseType:"blob",observe:"events",reportProgress:!0,headers:{"ngsw-bypass":"true"}})}}return a.\u0275fac=function(t){return new(t||a)(e.LFG(r.s),e.LFG(f.U))},a.\u0275prov=e.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"}),a})()},7358:(D,m,n)=>{"use strict";n.d(m,{Y:()=>i});var e=n(5e3),r=n(9731),f=n(8696);let i=(()=>{class a{constructor(t,h){this.api=t,this.gs=h}getMailbox(t="inbox",h="",M=1,c=10,p="",b=""){return this.api.getData(`/mail-${t}?q=${h}&page=${M}&row=${c}&sort=${p}&order=${b}`)}getAllMail(t="",h=1,M=10,c="",p=""){return this.api.getData(`/mail?q=${t}&page=${h}&row=${M}&sort=${c}&order=${p}`)}getMail(t){return this.api.getData(`/mail/${t}`)}sendMail(t){return this.api.postData("/mail",t)}}return a.\u0275fac=function(t){return new(t||a)(e.LFG(r.s),e.LFG(f.U))},a.\u0275prov=e.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"}),a})()},5679:(D,m,n)=>{"use strict";n.d(m,{Y:()=>i});var e=n(5e3),r=n(9731),f=n(8696);let i=(()=>{class a{constructor(t,h){this.api=t,this.gs=h}getProject(){return this.api.getData("/project-type")}createProject(t){return this.api.postData("/project-type",t)}deleteProject(t){return this.api.deleteData(`/project-type/${t}`)}}return a.\u0275fac=function(t){return new(t||a)(e.LFG(r.s),e.LFG(f.U))},a.\u0275prov=e.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"}),a})()},4327:function(D,m){var r;void 0!==(r=function(){"use strict";function i(c,p,b){var _=new XMLHttpRequest;_.open("GET",c),_.responseType="blob",_.onload=function(){M(_.response,p,b)},_.onerror=function(){console.error("could not download file")},_.send()}function a(c){var p=new XMLHttpRequest;p.open("HEAD",c,!1);try{p.send()}catch(b){}return 200<=p.status&&299>=p.status}function d(c){try{c.dispatchEvent(new MouseEvent("click"))}catch(b){var p=document.createEvent("MouseEvents");p.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),c.dispatchEvent(p)}}var t="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,h=t.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),M=t.saveAs||("object"!=typeof window||window!==t?function(){}:"download"in HTMLAnchorElement.prototype&&!h?function(c,p,b){var _=t.URL||t.webkitURL,u=document.createElement("a");u.download=p=p||c.name||"download",u.rel="noopener","string"==typeof c?(u.href=c,u.origin===location.origin?d(u):a(u.href)?i(c,p,b):d(u,u.target="_blank")):(u.href=_.createObjectURL(c),setTimeout(function(){_.revokeObjectURL(u.href)},4e4),setTimeout(function(){d(u)},0))}:"msSaveOrOpenBlob"in navigator?function(c,p,b){if(p=p||c.name||"download","string"!=typeof c)navigator.msSaveOrOpenBlob(function f(c,p){return void 0===p?p={autoBom:!1}:"object"!=typeof p&&(console.warn("Deprecated: Expected third argument to be a object"),p={autoBom:!p}),p.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(c.type)?new Blob(["\ufeff",c],{type:c.type}):c}(c,b),p);else if(a(c))i(c,p,b);else{var _=document.createElement("a");_.href=c,_.target="_blank",setTimeout(function(){d(_)})}}:function(c,p,b,_){if((_=_||open("","_blank"))&&(_.document.title=_.document.body.innerText="downloading..."),"string"==typeof c)return i(c,p,b);var u="application/octet-stream"===c.type,y=/constructor/i.test(t.HTMLElement)||t.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||u&&y||h)&&"undefined"!=typeof FileReader){var g=new FileReader;g.onloadend=function(){var R=g.result;R=l?R:R.replace(/^data:[^;]*;/,"data:attachment/file;"),_?_.location.href=R:location=R,_=null},g.readAsDataURL(c)}else{var O=t.URL||t.webkitURL,C=O.createObjectURL(c);_?_.location=C:location.href=C,_=null,setTimeout(function(){O.revokeObjectURL(C)},4e4)}});t.saveAs=M.saveAs=M,D.exports=M}.apply(m,[]))&&(D.exports=r)},3290:(D,m,n)=>{"use strict";n.d(m,{Vd:()=>R,a:()=>g,lQ:()=>P,wT:()=>y});var e=n(5e3),r=n(9808),f=n(9646),i=n(1135),a=n(3075);const d=new e.OlP("recaptcha-language"),t=new e.OlP("recaptcha-base-url"),h=new e.OlP("recaptcha-nonce-tag"),M=new e.OlP("recaptcha-settings"),c=new e.OlP("recaptcha-v3-site-key"),b_loadScript=function p(s,S,o,E,A){window.ng2recaptchaloaded=()=>{S(grecaptcha)};const v=document.createElement("script");v.innerHTML="",v.src=`${E||"https://www.google.com/recaptcha/api.js"}?render=${s}&onload=ng2recaptchaloaded${o}`,A&&(v.nonce=A),v.async=!0,v.defer=!0,document.head.appendChild(v)};let _=(()=>{class s{constructor(o,E,A,v,T){this.platformId=o,this.language=E,this.baseUrl=A,this.nonce=v,this.v3SiteKey=T,this.init(),this.ready=(0,r.NF)(this.platformId)?s.ready.asObservable():(0,f.of)()}init(){if(!s.ready&&(0,r.NF)(this.platformId)){const o=new i.X(null);s.ready=o,b_loadScript(this.v3SiteKey||"explicit",v=>o.next(v),this.language?"&hl="+this.language:"",this.baseUrl,this.nonce)}}}return s.ready=null,s.\u0275fac=function(o){return new(o||s)(e.LFG(e.Lbi),e.LFG(d,8),e.LFG(t,8),e.LFG(h,8),e.LFG(c,8))},s.\u0275prov=e.Yz7({token:s,factory:s.\u0275fac}),s})(),u=0,y=(()=>{class s{constructor(o,E,A,v){this.elementRef=o,this.loader=E,this.zone=A,this.id="ngrecaptcha-"+u++,this.errorMode="default",this.resolved=new e.vpe,this.error=new e.vpe,v&&(this.siteKey=v.siteKey,this.theme=v.theme,this.type=v.type,this.size=v.size,this.badge=v.badge)}ngAfterViewInit(){this.subscription=this.loader.ready.subscribe(o=>{null!=o&&o.render instanceof Function&&(this.grecaptcha=o,this.renderRecaptcha())})}ngOnDestroy(){this.grecaptchaReset(),this.subscription&&this.subscription.unsubscribe()}execute(){"invisible"===this.size&&(null!=this.widget?this.grecaptcha.execute(this.widget):this.executeRequested=!0)}reset(){null!=this.widget&&(this.grecaptcha.getResponse(this.widget)&&this.resolved.emit(null),this.grecaptchaReset())}get __unsafe_widgetValue(){return null!=this.widget?this.grecaptcha.getResponse(this.widget):null}expired(){this.resolved.emit(null)}errored(o){this.error.emit(o)}captchaResponseCallback(o){this.resolved.emit(o)}grecaptchaReset(){null!=this.widget&&this.zone.runOutsideAngular(()=>this.grecaptcha.reset(this.widget))}renderRecaptcha(){const o={badge:this.badge,callback:E=>{this.zone.run(()=>this.captchaResponseCallback(E))},"expired-callback":()=>{this.zone.run(()=>this.expired())},sitekey:this.siteKey,size:this.size,tabindex:this.tabIndex,theme:this.theme,type:this.type};"handled"===this.errorMode&&(o["error-callback"]=(...E)=>{this.zone.run(()=>this.errored(E))}),this.widget=this.grecaptcha.render(this.elementRef.nativeElement,o),!0===this.executeRequested&&(this.executeRequested=!1,this.execute())}}return s.\u0275fac=function(o){return new(o||s)(e.Y36(e.SBq),e.Y36(_),e.Y36(e.R0b),e.Y36(M,8))},s.\u0275cmp=e.Xpm({type:s,selectors:[["re-captcha"]],hostVars:1,hostBindings:function(o,E){2&o&&e.uIk("id",E.id)},inputs:{id:"id",siteKey:"siteKey",theme:"theme",type:"type",size:"size",tabIndex:"tabIndex",badge:"badge",errorMode:"errorMode"},outputs:{resolved:"resolved",error:"error"},exportAs:["reCaptcha"],decls:0,vars:0,template:function(o,E){},encapsulation:2}),s})(),l=(()=>{class s{}return s.\u0275fac=function(o){return new(o||s)},s.\u0275mod=e.oAB({type:s}),s.\u0275inj=e.cJS({}),s})(),g=(()=>{class s{}return s.\u0275fac=function(o){return new(o||s)},s.\u0275mod=e.oAB({type:s}),s.\u0275inj=e.cJS({providers:[_],imports:[[l]]}),s})(),R=(()=>{class s{constructor(o){this.host=o,this.requiresControllerReset=!1}writeValue(o){o?this.host.__unsafe_widgetValue!==o&&!1===Boolean(this.host.__unsafe_widgetValue)&&(this.requiresControllerReset=!0):this.host.reset()}registerOnChange(o){this.onChange=o,this.requiresControllerReset&&(this.requiresControllerReset=!1,this.onChange(null))}registerOnTouched(o){this.onTouched=o}onResolve(o){this.onChange&&this.onChange(o),this.onTouched&&this.onTouched()}}return s.\u0275fac=function(o){return new(o||s)(e.Y36(y))},s.\u0275dir=e.lG2({type:s,selectors:[["re-captcha","formControlName",""],["re-captcha","formControl",""],["re-captcha","ngModel",""]],hostBindings:function(o,E){1&o&&e.NdJ("resolved",function(v){return E.onResolve(v)})},features:[e._Bn([{multi:!0,provide:a.JU,useExisting:(0,e.Gpc)(()=>s)}])]}),s})(),P=(()=>{class s{}return s.\u0275fac=function(o){return new(o||s)},s.\u0275mod=e.oAB({type:s}),s.\u0275inj=e.cJS({imports:[[a.u5,l]]}),s})()}}]);
\ No newline at end of file
diff --git a/dist/fansubid/browser/common.e729f65579fa531e.js b/dist/fansubid/browser/common.e729f65579fa531e.js
deleted file mode 100644
index 2ddc99c40..000000000
--- a/dist/fansubid/browser/common.e729f65579fa531e.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunkfansubid=self.webpackChunkfansubid||[]).push([[592],{3331:(D,m,r)=>{"use strict";r.d(m,{B:()=>c});var e=r(5934),n=r(5e3),g=r(8696);let c=(()=>{class o{constructor(t){this.gs=t}get GS(){return this.gs}ngOnInit(){}get discordUrl(){return e.N.discord.join_url}get discordGuildId(){return e.N.discord.guild_id}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(g.U))},o.\u0275cmp=n.Xpm({type:o,selectors:[["app-banner-discord"]],decls:9,vars:3,consts:[[1,"row"],[1,"col-12","sticky-top","bg-bifeldy"],[1,"pt-3","border-bottom-dotted"],[1,"text-bifeldy"],[1,"col-12"],[1,"gradient-border","rgb-border","mx-2","mb-2"],["target","_blank",3,"href"],[1,"w-100",3,"src"]],template:function(t,p){1&t&&(n.TgZ(0,"div",0)(1,"div",1)(2,"h2",2)(3,"b",3),n._uU(4,"Yuk Gabung Obrolan!"),n.qZA()()(),n.TgZ(5,"div",4)(6,"p",5)(7,"a",6),n._UZ(8,"img",7),n.qZA()()()()),2&t&&(n.xp6(7),n.s9C("href",p.discordUrl,n.LSH),n.xp6(1),n.hYB("src","https://discord.com/api/guilds/",p.discordGuildId,"/widget.png?style=banner",p.GS.gridListBreakpoint,"",n.LSH))},styles:[""]}),o})()},4854:(D,m,r)=>{"use strict";r.d(m,{R:()=>g});var e=r(9808),n=r(5e3);let g=(()=>{class c{}return c.\u0275fac=function(h){return new(h||c)},c.\u0275mod=n.oAB({type:c}),c.\u0275inj=n.cJS({imports:[[e.ez]]}),c})()},9530:(D,m,r)=>{"use strict";r.d(m,{u:()=>c});var e=r(5934),n=r(5e3),g=r(8696);let c=(()=>{class o{constructor(t){this.gs=t}ngOnInit(){}get githubUrl(){return e.N.github}get saweriaUrl(){return e.N.saweria}get trakteerUrl(){return e.N.trakteer}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(g.U))},o.\u0275cmp=n.Xpm({type:o,selectors:[["app-banner-donasi"]],decls:13,vars:3,consts:[[1,"row"],[1,"col-12","sticky-top","bg-bifeldy"],[1,"pt-3","border-bottom-dotted"],[1,"text-bifeldy"],[1,"col-12"],[1,"gradient-border","rgb-border","mx-2","mb-2"],["target","_blank",3,"href"],["src","/assets/img/logo/github.png",1,"w-100"],["src","/assets/img/logo/trakteer.png",1,"w-100"],["src","/assets/img/logo/saweria.png",1,"w-100"]],template:function(t,p){1&t&&(n.TgZ(0,"div",0)(1,"div",1)(2,"h2",2)(3,"b",3),n._uU(4,"Donasi Perawatan Server"),n.qZA()()(),n.TgZ(5,"div",4)(6,"p",5)(7,"a",6),n._UZ(8,"img",7),n.qZA(),n.TgZ(9,"a",6),n._UZ(10,"img",8),n.qZA(),n.TgZ(11,"a",6),n._UZ(12,"img",9),n.qZA()()()()),2&t&&(n.xp6(7),n.s9C("href",p.githubUrl,n.LSH),n.xp6(2),n.s9C("href",p.trakteerUrl,n.LSH),n.xp6(2),n.s9C("href",p.saweriaUrl,n.LSH))},styles:[""]}),o})()},1838:(D,m,r)=>{"use strict";r.d(m,{R:()=>g});var e=r(9808),n=r(5e3);let g=(()=>{class c{}return c.\u0275fac=function(h){return new(h||c)},c.\u0275mod=n.oAB({type:c}),c.\u0275inj=n.cJS({imports:[[e.ez]]}),c})()},913:(D,m,r)=>{"use strict";r.d(m,{g:()=>o});var e=r(9808),n=r(8406),g=r(210),c=r(5e3);let o=(()=>{class h{}return h.\u0275fac=function(p){return new(p||h)},h.\u0275mod=c.oAB({type:h}),h.\u0275inj=c.cJS({imports:[[e.ez,n.Bz,g.m]]}),h})()},8921:(D,m,r)=>{"use strict";r.d(m,{X:()=>b});var e=r(5e3),n=r(8696),g=r(8381),c=r(9808),o=r(3626);function h(a,f){if(1&a&&(e.TgZ(0,"p",6),e._uU(1," Portal :: "),e.TgZ(2,"span",8),e._uU(3),e.qZA()()),2&a){const d=e.oxw();e.xp6(3),e.hij(" ",null==d.SS.github?null:d.SS.github.sha," ")}}function t(a,f){if(1&a&&(e.TgZ(0,"p",6),e._uU(1," Date :: "),e.TgZ(2,"span",8),e._uU(3),e.ALo(4,"date"),e.qZA()()),2&a){const d=e.oxw();e.xp6(3),e.hij(" ",e.xi3(4,1,null==d.SS.github||null==d.SS.github.commit||null==d.SS.github.commit.author?null:d.SS.github.commit.author.date,"d MMM y, hh:mm:ss a z")," ")}}function p(a,f){if(1&a&&(e.TgZ(0,"p",6),e._uU(1," Message :: "),e.TgZ(2,"span",7),e._uU(3),e.qZA()()),2&a){const d=e.oxw();e.xp6(3),e.hij(" ",null==d.SS.github||null==d.SS.github.commit?null:d.SS.github.commit.message," ")}}function M(a,f){if(1&a&&(e.TgZ(0,"p",6),e._uU(1," Socket :: "),e.TgZ(2,"span",8),e._uU(3),e.qZA()()),2&a){const d=e.oxw();e.xp6(3),e.hij(" ",null!=d.SS.mySocket&&d.SS.mySocket.id?d.SS.mySocket.id:"Sambungan Terputus"," ")}}function u(a,f){if(1&a&&(e.TgZ(0,"p",6),e._uU(1," Latency :: "),e.TgZ(2,"span"),e._uU(3),e.qZA()()),2&a){const d=e.oxw();e.xp6(2),e.Gre("text-",d.SS.latency>75?"warning":"success",""),e.xp6(1),e.hij(" ",d.SS.latency," ms ")}}function l(a,f){if(1&a&&(e.TgZ(0,"p",6),e._uU(1," Nodes :: "),e.TgZ(2,"span",8),e._uU(3),e.qZA()()),2&a){const d=e.oxw();e.xp6(3),e.hij(" ",d.SS.visitor," Koneksi ")}}let b=(()=>{class a{constructor(d,_){this.gs=d,this.ss=_,this.currentServer=null,this.subsServer=null}get SS(){return this.ss}ngOnInit(){this.gs.isBrowser&&(this.subsServer=this.ss.currentServer.subscribe({next:d=>this.currentServer=d}))}ngOnDestroy(){var d;null===(d=this.subsServer)||void 0===d||d.unsubscribe()}}return a.\u0275fac=function(d){return new(d||a)(e.Y36(n.U),e.Y36(g.R))},a.\u0275cmp=e.Xpm({type:a,selectors:[["app-stats-server"]],decls:37,vars:27,consts:[[1,"row"],[1,"col-12","sticky-top","bg-bifeldy"],[1,"pt-3","border-bottom-dotted"],[1,"text-bifeldy"],[1,"col-12"],["class","px-2 text-truncate",4,"ngIf"],[1,"px-2","text-truncate"],[1,"text-warning"],[1,"text-success"]],template:function(d,_){1&d&&(e.TgZ(0,"div",0)(1,"div",1)(2,"h2",2)(3,"b",3),e._uU(4,"Statistik Server"),e.qZA()()(),e.TgZ(5,"div",4),e.YNc(6,h,4,1,"p",5),e.YNc(7,t,5,4,"p",5),e.YNc(8,p,4,1,"p",5),e.TgZ(9,"p",6),e._uU(10," Server :: "),e.TgZ(11,"span",7),e._uU(12),e.qZA()(),e.YNc(13,M,4,1,"p",5),e.YNc(14,u,4,4,"p",5),e.YNc(15,l,4,1,"p",5),e.TgZ(16,"p",6),e._uU(17," CPUs Load :: "),e.TgZ(18,"span",7),e._uU(19),e.ALo(20,"number"),e.qZA()(),e.TgZ(21,"p",6),e._uU(22," RAM Usage :: "),e.TgZ(23,"span",7),e._uU(24),e.ALo(25,"bytes"),e.qZA()(),e.TgZ(26,"p",6),e._uU(27," Disk IO (/s) :: "),e.TgZ(28,"span",7),e._uU(29),e.ALo(30,"bytes"),e.qZA()(),e.TgZ(31,"p",6),e._uU(32," Net UD (/s) :: "),e.TgZ(33,"span",7),e._uU(34),e.ALo(35,"bytes"),e.ALo(36,"bytes"),e.qZA()()()()),2&d&&(e.xp6(6),e.Q6J("ngIf",null==_.SS.github?null:_.SS.github.sha),e.xp6(1),e.Q6J("ngIf",null==_.SS.github||null==_.SS.github.commit||null==_.SS.github.commit.author?null:_.SS.github.commit.author.date),e.xp6(1),e.Q6J("ngIf",null==_.SS.github||null==_.SS.github.commit?null:_.SS.github.commit.message),e.xp6(4),e.hij(" ",null!=_.currentServer&&_.currentServer.isMaintenance?"Dalam Perbaikan":"Berjalan Normal"," "),e.xp6(1),e.Q6J("ngIf",_.SS.mySocket),e.xp6(1),e.Q6J("ngIf",_.SS.latency),e.xp6(1),e.Q6J("ngIf",_.SS.visitor),e.xp6(4),e.hij(" ",e.xi3(20,12,_.SS.statsServer.mainSite.cpus,"1.2-2")," % "),e.xp6(5),e.hij(" ",e.xi3(25,15,_.SS.statsServer.mainSite.mem_ram,2)," "),e.xp6(5),e.hij(" ",e.xi3(30,18,_.SS.statsServer.mainSite.disk_io,2)," "),e.xp6(5),e.AsE(" ",e.xi3(35,21,_.SS.statsServer.mainSite.net_tx,2)," / ",e.xi3(36,24,_.SS.statsServer.mainSite.net_rx,2)," "))},directives:[c.O5],pipes:[c.uU,c.JJ,o.$],styles:[""]}),a})()},669:(D,m,r)=>{"use strict";r.d(m,{A:()=>c});var e=r(9808),n=r(7355),g=r(5e3);let c=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=g.oAB({type:o}),o.\u0275inj=g.cJS({imports:[[e.ez,n.T]]}),o})()},197:(D,m,r)=>{"use strict";r.d(m,{v:()=>c});var e=r(5e3),n=r(9731),g=r(8696);let c=(()=>{class o{constructor(t,p){this.api=t,this.gs=p}getAttachmentNotUploaded(t="",p=1,M=10,u="",l="",b){return this.api.getData(`/attachment?q=${t}&page=${p}&row=${M}&sort=${u}&order=${l}${b?"&failed=true":""}`)}reUpload(t){return this.api.patchData("/attachment",t)}downloadLampiran(t){return this.api.getData(`/attachment/${t}`,{responseType:"blob",observe:"events",reportProgress:!0,headers:{"ngsw-bypass":"true"}})}getListDdl(t){return this.api.getData(`/attachment/${t}`)}downloadDdlProxy(t){return this.api.getData(`/ddl-part/${t}`,{responseType:"blob",observe:"events",reportProgress:!0,headers:{"ngsw-bypass":"true"}})}downloadDdlDirect(t){return this.api.getData(t,{responseType:"blob",observe:"events",reportProgress:!0,headers:{"ngsw-bypass":"true"}})}}return o.\u0275fac=function(t){return new(t||o)(e.LFG(n.s),e.LFG(g.U))},o.\u0275prov=e.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})()},7358:(D,m,r)=>{"use strict";r.d(m,{Y:()=>c});var e=r(5e3),n=r(9731),g=r(8696);let c=(()=>{class o{constructor(t,p){this.api=t,this.gs=p}getMailbox(t="inbox",p="",M=1,u=10,l="",b=""){return this.api.getData(`/mail-${t}?q=${p}&page=${M}&row=${u}&sort=${l}&order=${b}`)}getAllMail(t="",p=1,M=10,u="",l=""){return this.api.getData(`/mail?q=${t}&page=${p}&row=${M}&sort=${u}&order=${l}`)}getMail(t){return this.api.getData(`/mail/${t}`)}sendMail(t){return this.api.postData("/mail",t)}}return o.\u0275fac=function(t){return new(t||o)(e.LFG(n.s),e.LFG(g.U))},o.\u0275prov=e.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})()},5679:(D,m,r)=>{"use strict";r.d(m,{Y:()=>c});var e=r(5e3),n=r(9731),g=r(8696);let c=(()=>{class o{constructor(t,p){this.api=t,this.gs=p}getProject(){return this.api.getData("/project-type")}createProject(t){return this.api.postData("/project-type",t)}deleteProject(t){return this.api.deleteData(`/project-type/${t}`)}}return o.\u0275fac=function(t){return new(t||o)(e.LFG(n.s),e.LFG(g.U))},o.\u0275prov=e.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})()},4327:function(D,m){var n;void 0!==(n=function(){"use strict";function c(u,l,b){var a=new XMLHttpRequest;a.open("GET",u),a.responseType="blob",a.onload=function(){M(a.response,l,b)},a.onerror=function(){console.error("could not download file")},a.send()}function o(u){var l=new XMLHttpRequest;l.open("HEAD",u,!1);try{l.send()}catch(b){}return 200<=l.status&&299>=l.status}function h(u){try{u.dispatchEvent(new MouseEvent("click"))}catch(b){var l=document.createEvent("MouseEvents");l.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),u.dispatchEvent(l)}}var t="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,p=t.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),M=t.saveAs||("object"!=typeof window||window!==t?function(){}:"download"in HTMLAnchorElement.prototype&&!p?function(u,l,b){var a=t.URL||t.webkitURL,f=document.createElement("a");f.download=l=l||u.name||"download",f.rel="noopener","string"==typeof u?(f.href=u,f.origin===location.origin?h(f):o(f.href)?c(u,l,b):h(f,f.target="_blank")):(f.href=a.createObjectURL(u),setTimeout(function(){a.revokeObjectURL(f.href)},4e4),setTimeout(function(){h(f)},0))}:"msSaveOrOpenBlob"in navigator?function(u,l,b){if(l=l||u.name||"download","string"!=typeof u)navigator.msSaveOrOpenBlob(function g(u,l){return void 0===l?l={autoBom:!1}:"object"!=typeof l&&(console.warn("Deprecated: Expected third argument to be a object"),l={autoBom:!l}),l.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(u.type)?new Blob(["\ufeff",u],{type:u.type}):u}(u,b),l);else if(o(u))c(u,l,b);else{var a=document.createElement("a");a.href=u,a.target="_blank",setTimeout(function(){h(a)})}}:function(u,l,b,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof u)return c(u,l,b);var f="application/octet-stream"===u.type,d=/constructor/i.test(t.HTMLElement)||t.safari,_=/CriOS\/[\d]+/.test(navigator.userAgent);if((_||f&&d||p)&&"undefined"!=typeof FileReader){var R=new FileReader;R.onloadend=function(){var A=R.result;A=_?A:A.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=A:location=A,a=null},R.readAsDataURL(u)}else{var O=t.URL||t.webkitURL,C=O.createObjectURL(u);a?a.location=C:location.href=C,a=null,setTimeout(function(){O.revokeObjectURL(C)},4e4)}});t.saveAs=M.saveAs=M,D.exports=M}.apply(m,[]))&&(D.exports=n)},3290:(D,m,r)=>{"use strict";r.d(m,{Vd:()=>A,a:()=>R,lQ:()=>P,wT:()=>d});var e=r(5e3),n=r(9808),g=r(9646),c=r(1135),o=r(3075);const h=new e.OlP("recaptcha-language"),t=new e.OlP("recaptcha-base-url"),p=new e.OlP("recaptcha-nonce-tag"),M=new e.OlP("recaptcha-settings"),u=new e.OlP("recaptcha-v3-site-key"),b_loadScript=function l(i,S,s,E,y){window.ng2recaptchaloaded=()=>{S(grecaptcha)};const v=document.createElement("script");v.innerHTML="",v.src=`${E||"https://www.google.com/recaptcha/api.js"}?render=${i}&onload=ng2recaptchaloaded${s}`,y&&(v.nonce=y),v.async=!0,v.defer=!0,document.head.appendChild(v)};let a=(()=>{class i{constructor(s,E,y,v,T){this.platformId=s,this.language=E,this.baseUrl=y,this.nonce=v,this.v3SiteKey=T,this.init(),this.ready=(0,n.NF)(this.platformId)?i.ready.asObservable():(0,g.of)()}init(){if(!i.ready&&(0,n.NF)(this.platformId)){const s=new c.X(null);i.ready=s,b_loadScript(this.v3SiteKey||"explicit",v=>s.next(v),this.language?"&hl="+this.language:"",this.baseUrl,this.nonce)}}}return i.ready=null,i.\u0275fac=function(s){return new(s||i)(e.LFG(e.Lbi),e.LFG(h,8),e.LFG(t,8),e.LFG(p,8),e.LFG(u,8))},i.\u0275prov=e.Yz7({token:i,factory:i.\u0275fac}),i})(),f=0,d=(()=>{class i{constructor(s,E,y,v){this.elementRef=s,this.loader=E,this.zone=y,this.id="ngrecaptcha-"+f++,this.errorMode="default",this.resolved=new e.vpe,this.error=new e.vpe,v&&(this.siteKey=v.siteKey,this.theme=v.theme,this.type=v.type,this.size=v.size,this.badge=v.badge)}ngAfterViewInit(){this.subscription=this.loader.ready.subscribe(s=>{null!=s&&s.render instanceof Function&&(this.grecaptcha=s,this.renderRecaptcha())})}ngOnDestroy(){this.grecaptchaReset(),this.subscription&&this.subscription.unsubscribe()}execute(){"invisible"===this.size&&(null!=this.widget?this.grecaptcha.execute(this.widget):this.executeRequested=!0)}reset(){null!=this.widget&&(this.grecaptcha.getResponse(this.widget)&&this.resolved.emit(null),this.grecaptchaReset())}get __unsafe_widgetValue(){return null!=this.widget?this.grecaptcha.getResponse(this.widget):null}expired(){this.resolved.emit(null)}errored(s){this.error.emit(s)}captchaResponseCallback(s){this.resolved.emit(s)}grecaptchaReset(){null!=this.widget&&this.zone.runOutsideAngular(()=>this.grecaptcha.reset(this.widget))}renderRecaptcha(){const s={badge:this.badge,callback:E=>{this.zone.run(()=>this.captchaResponseCallback(E))},"expired-callback":()=>{this.zone.run(()=>this.expired())},sitekey:this.siteKey,size:this.size,tabindex:this.tabIndex,theme:this.theme,type:this.type};"handled"===this.errorMode&&(s["error-callback"]=(...E)=>{this.zone.run(()=>this.errored(E))}),this.widget=this.grecaptcha.render(this.elementRef.nativeElement,s),!0===this.executeRequested&&(this.executeRequested=!1,this.execute())}}return i.\u0275fac=function(s){return new(s||i)(e.Y36(e.SBq),e.Y36(a),e.Y36(e.R0b),e.Y36(M,8))},i.\u0275cmp=e.Xpm({type:i,selectors:[["re-captcha"]],hostVars:1,hostBindings:function(s,E){2&s&&e.uIk("id",E.id)},inputs:{id:"id",siteKey:"siteKey",theme:"theme",type:"type",size:"size",tabIndex:"tabIndex",badge:"badge",errorMode:"errorMode"},outputs:{resolved:"resolved",error:"error"},exportAs:["reCaptcha"],decls:0,vars:0,template:function(s,E){},encapsulation:2}),i})(),_=(()=>{class i{}return i.\u0275fac=function(s){return new(s||i)},i.\u0275mod=e.oAB({type:i}),i.\u0275inj=e.cJS({}),i})(),R=(()=>{class i{}return i.\u0275fac=function(s){return new(s||i)},i.\u0275mod=e.oAB({type:i}),i.\u0275inj=e.cJS({providers:[a],imports:[[_]]}),i})(),A=(()=>{class i{constructor(s){this.host=s,this.requiresControllerReset=!1}writeValue(s){s?this.host.__unsafe_widgetValue!==s&&!1===Boolean(this.host.__unsafe_widgetValue)&&(this.requiresControllerReset=!0):this.host.reset()}registerOnChange(s){this.onChange=s,this.requiresControllerReset&&(this.requiresControllerReset=!1,this.onChange(null))}registerOnTouched(s){this.onTouched=s}onResolve(s){this.onChange&&this.onChange(s),this.onTouched&&this.onTouched()}}return i.\u0275fac=function(s){return new(s||i)(e.Y36(d))},i.\u0275dir=e.lG2({type:i,selectors:[["re-captcha","formControlName",""],["re-captcha","formControl",""],["re-captcha","ngModel",""]],hostBindings:function(s,E){1&s&&e.NdJ("resolved",function(v){return E.onResolve(v)})},features:[e._Bn([{multi:!0,provide:o.JU,useExisting:(0,e.Gpc)(()=>i)}])]}),i})(),P=(()=>{class i{}return i.\u0275fac=function(s){return new(s||i)},i.\u0275mod=e.oAB({type:i}),i.\u0275inj=e.cJS({imports:[[o.u5,_]]}),i})()}}]);
\ No newline at end of file
diff --git a/dist/fansubid/browser/index.html b/dist/fansubid/browser/index.html
index fa76d0895..362e8bbe7 100644
--- a/dist/fansubid/browser/index.html
+++ b/dist/fansubid/browser/index.html
@@ -63,7 +63,7 @@
-
+