@profoundlogic/coderflow-server 0.2.8 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/coder-server.js +1 -1
- package/dist/config/cli-models.json +1 -0
- package/dist/config.js +1 -1
- package/dist/lib/agent-keepalive.js +1 -1
- package/dist/lib/api-keys.js +1 -1
- package/dist/lib/apiKeys.js +1 -1
- package/dist/lib/app-server-ports.js +1 -1
- package/dist/lib/auto-judge.js +1 -1
- package/dist/lib/basic-auth.js +1 -1
- package/dist/lib/build-history.js +1 -1
- package/dist/lib/build-output-service.js +1 -1
- package/dist/lib/build-scheduler.js +1 -1
- package/dist/lib/build-service.js +1 -1
- package/dist/lib/ca-certificates.js +1 -1
- package/dist/lib/claude-oauth-refresh.js +1 -1
- package/dist/lib/cli/build.js +1 -1
- package/dist/lib/cli/config-command.js +1 -1
- package/dist/lib/cli/config.js +1 -1
- package/dist/lib/cli/create-user.js +1 -1
- package/dist/lib/cli/init.js +1 -1
- package/dist/lib/cli/jira.js +1 -1
- package/dist/lib/cli/license.js +1 -1
- package/dist/lib/cli/server-manager.js +1 -1
- package/dist/lib/container-tokens.js +1 -1
- package/dist/lib/data-dir.js +1 -1
- package/dist/lib/deployment-history.js +1 -1
- package/dist/lib/deployment-service.js +1 -1
- package/dist/lib/docker-utils.js +1 -1
- package/dist/lib/email.js +1 -1
- package/dist/lib/emailTemplates.js +1 -1
- package/dist/lib/entitlement.js +1 -1
- package/dist/lib/fetch-utils.js +1 -1
- package/dist/lib/git-commit-details-route.js +1 -1
- package/dist/lib/git-history-diff-guardrails.js +1 -1
- package/dist/lib/git-provider-service.js +1 -1
- package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
- package/dist/lib/git-provider-setup/index.js +1 -1
- package/dist/lib/git-provider-setup/setup-factory.js +1 -1
- package/dist/lib/git-provider-setup/setup-interface.js +1 -1
- package/dist/lib/git-providers/azure-devops-provider.js +1 -1
- package/dist/lib/git-providers/github-app-provider.js +1 -1
- package/dist/lib/git-providers/index.js +1 -1
- package/dist/lib/git-providers/provider-factory.js +1 -1
- package/dist/lib/git-providers/provider-interface.js +1 -1
- package/dist/lib/github-urls.js +1 -1
- package/dist/lib/group-objective-linking.js +1 -1
- package/dist/lib/jira-client.js +1 -1
- package/dist/lib/judge-blinding.js +1 -1
- package/dist/lib/logger.js +1 -1
- package/dist/lib/model-fetcher.js +1 -1
- package/dist/lib/notifications.js +1 -1
- package/dist/lib/oidc-auth.js +1 -1
- package/dist/lib/oidc-device-flow.js +1 -1
- package/dist/lib/passwordTokens.js +1 -1
- package/dist/lib/pin-cascade.js +1 -1
- package/dist/lib/provider-accounts.js +1 -1
- package/dist/lib/provider-oauth.js +1 -1
- package/dist/lib/provider-profile.js +1 -1
- package/dist/lib/provider-token-refresh.js +1 -1
- package/dist/lib/request-url.js +1 -1
- package/dist/lib/rewind.js +1 -1
- package/dist/lib/roles.js +1 -1
- package/dist/lib/secrets.js +1 -1
- package/dist/lib/setup-repo-git-auth.js +1 -1
- package/dist/lib/state-capture.js +1 -1
- package/dist/lib/static-files.js +1 -1
- package/dist/lib/task-name-generator.js +1 -1
- package/dist/lib/user-git-oauth.js +1 -1
- package/dist/lib/user-git-tokens.js +1 -1
- package/dist/lib/users.js +1 -1
- package/dist/middleware/requireAuth.js +1 -1
- package/dist/middleware/requireInit.js +1 -1
- package/dist/middleware/requirePermission.js +1 -1
- package/dist/package.json +1 -1
- package/dist/routes/apiKeys.js +1 -1
- package/dist/routes/auth-oidc.js +1 -1
- package/dist/routes/auth.js +1 -1
- package/dist/routes/build.js +1 -1
- package/dist/routes/containers.js +1 -1
- package/dist/routes/deploy-task.js +1 -1
- package/dist/routes/environment-management.js +1 -1
- package/dist/routes/environments.js +1 -1
- package/dist/routes/external-skills.js +1 -1
- package/dist/routes/git-credentials.js +1 -1
- package/dist/routes/git-oauth.js +1 -1
- package/dist/routes/git-provider-setup.js +1 -1
- package/dist/routes/health.js +1 -1
- package/dist/routes/jira.js +1 -1
- package/dist/routes/objective-management.js +1 -1
- package/dist/routes/password.js +1 -1
- package/dist/routes/prompt.js +1 -1
- package/dist/routes/provider-auth.js +1 -1
- package/dist/routes/qa.js +1 -1
- package/dist/routes/settings.js +1 -1
- package/dist/routes/skill-management.js +1 -1
- package/dist/routes/skills.js +1 -1
- package/dist/routes/tasks.js +1 -1
- package/dist/routes/templates.js +1 -1
- package/dist/routes/test-task.js +1 -1
- package/dist/routes/test.js +1 -1
- package/dist/routes/users.js +1 -1
- package/dist/routes/visualizations.js +1 -1
- package/dist/scripts/create-user.js +1 -1
- package/dist/shipped-skills/skill-editor/SKILL.md +124 -231
- package/dist/start.js +1 -1
- package/dist/web-ui/public/activity-detail-modal.js +1 -1
- package/dist/web-ui/public/activity-feed.js +1 -1
- package/dist/web-ui/public/activity-formatters.js +1 -1
- package/dist/web-ui/public/agent-event-parser.js +1 -1
- package/dist/web-ui/public/app.js +1 -1
- package/dist/web-ui/public/approve-dialog.js +1 -1
- package/dist/web-ui/public/comments-widget.js +1 -1
- package/dist/web-ui/public/diff-utils.js +1 -1
- package/dist/web-ui/public/environments.css +81 -1
- package/dist/web-ui/public/environments.html +8 -3
- package/dist/web-ui/public/environments.js +1 -1
- package/dist/web-ui/public/feedback-widget.js +1 -1
- package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
- package/dist/web-ui/public/git-history.html +1 -1
- package/dist/web-ui/public/git-history.js +1 -1
- package/dist/web-ui/public/git-status.js +1 -1
- package/dist/web-ui/public/index.js +1 -1
- package/dist/web-ui/public/login.js +1 -1
- package/dist/web-ui/public/markdown-editor.js +1 -1
- package/dist/web-ui/public/markdown-file-editor.js +1 -1
- package/dist/web-ui/public/modal-maximize.js +1 -1
- package/dist/web-ui/public/notifications.js +1 -1
- package/dist/web-ui/public/server-health.js +1 -1
- package/dist/web-ui/public/settings.js +1 -1
- package/dist/web-ui/public/setup-password.js +1 -1
- package/dist/web-ui/public/skills.css +110 -3
- package/dist/web-ui/public/skills.html +7 -4
- package/dist/web-ui/public/skills.js +1 -1
- package/dist/web-ui/public/sse-client.js +1 -1
- package/dist/web-ui/public/sse-shared-worker.js +1 -1
- package/dist/web-ui/public/styles.css +128 -1
- package/dist/web-ui/public/task.html +22 -1
- package/dist/web-ui/public/task.js +1 -1
- package/dist/web-ui/public/terminal.js +1 -1
- package/dist/web-ui/public/theme.js +1 -1
- package/dist/web-ui/public/users.js +1 -1
- package/dist/web-ui/public/variant-grouping.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x2b85(_0x15af1c,_0x96af8e){_0x15af1c=_0x15af1c-0x94;const _0x5af122=_0x5af1();let _0x2b851a=_0x5af122[_0x15af1c];if(_0x2b85['UFQBxW']===undefined){var _0x94db20=function(_0x49f2bf){const _0xe3a24d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10874a='',_0xa32fa6='';for(let _0x26118e=0x0,_0x26a186,_0x16113e,_0x2dd6f5=0x0;_0x16113e=_0x49f2bf['charAt'](_0x2dd6f5++);~_0x16113e&&(_0x26a186=_0x26118e%0x4?_0x26a186*0x40+_0x16113e:_0x16113e,_0x26118e++%0x4)?_0x10874a+=String['fromCharCode'](0xff&_0x26a186>>(-0x2*_0x26118e&0x6)):0x0){_0x16113e=_0xe3a24d['indexOf'](_0x16113e);}for(let _0x4345c1=0x0,_0x12edce=_0x10874a['length'];_0x4345c1<_0x12edce;_0x4345c1++){_0xa32fa6+='%'+('00'+_0x10874a['charCodeAt'](_0x4345c1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa32fa6);};_0x2b85['keEWQU']=_0x94db20,_0x2b85['VvPSOe']={},_0x2b85['UFQBxW']=!![];}const _0x35d78d=_0x5af122[0x0],_0x5813da=_0x15af1c+_0x35d78d,_0x2f0aa8=_0x2b85['VvPSOe'][_0x5813da];return!_0x2f0aa8?(_0x2b851a=_0x2b85['keEWQU'](_0x2b851a),_0x2b85['VvPSOe'][_0x5813da]=_0x2b851a):_0x2b851a=_0x2f0aa8,_0x2b851a;}(function(_0x4fd4b0,_0x357a5e){const _0x3b7c32=_0x2b85,_0x7bbae8=_0x4fd4b0();while(!![]){try{const _0x549959=parseInt(_0x3b7c32(0xb2))/0x1+-parseInt(_0x3b7c32(0xb0))/0x2*(-parseInt(_0x3b7c32(0xb3))/0x3)+parseInt(_0x3b7c32(0xab))/0x4*(parseInt(_0x3b7c32(0x98))/0x5)+parseInt(_0x3b7c32(0xb4))/0x6*(parseInt(_0x3b7c32(0x95))/0x7)+parseInt(_0x3b7c32(0x99))/0x8+parseInt(_0x3b7c32(0x94))/0x9*(-parseInt(_0x3b7c32(0xad))/0xa)+-parseInt(_0x3b7c32(0xba))/0xb;if(_0x549959===_0x357a5e)break;else _0x7bbae8['push'](_0x7bbae8['shift']());}catch(_0x3d05fe){_0x7bbae8['push'](_0x7bbae8['shift']());}}}(_0x5af1,0x6ff96));const DEFAULT_DURATION_MS=0xfa;function prefersReducedMotion(){const _0x548e4c=_0x2b85;try{return window[_0x548e4c(0x9f)]&&window['matchMedia'](_0x548e4c(0x9a))[_0x548e4c(0xb5)];}catch{return![];}}function safeCancelAnimations(_0x10874a){const _0x420342=_0x2b85;if(!_0x10874a||typeof _0x10874a[_0x420342(0x9e)]!==_0x420342(0xb6))return;try{_0x10874a[_0x420342(0x9e)]()[_0x420342(0xaf)](_0xa32fa6=>_0xa32fa6[_0x420342(0xa5)]());}catch{}}function animateRestoreFlip({contentEl:_0x26118e,fromRect:_0x26a186,toRect:_0x16113e,durationMs:_0x2dd6f5}){const _0x39e5a9=_0x2b85;if(!_0x26118e)return;if(!_0x26a186||!_0x16113e)return;if(prefersReducedMotion())return;const _0x4345c1=_0x16113e['width']||0x0,_0x12edce=_0x16113e[_0x39e5a9(0x96)]||0x0,_0x5cb7f5=_0x26a186['width']||0x0,_0x5e02c1=_0x26a186[_0x39e5a9(0x96)]||0x0;if(_0x4345c1<=0x0||_0x12edce<=0x0||_0x5cb7f5<=0x0||_0x5e02c1<=0x0)return;const _0x3a02ee=_0x26a186[_0x39e5a9(0xb9)]-_0x16113e[_0x39e5a9(0xb9)],_0x1c7fcb=_0x26a186[_0x39e5a9(0xa2)]-_0x16113e[_0x39e5a9(0xa2)],_0x1a65eb=_0x5cb7f5/_0x4345c1,_0x4b7327=_0x5e02c1/_0x12edce;if(!Number['isFinite'](_0x3a02ee)||!Number['isFinite'](_0x1c7fcb)||!Number[_0x39e5a9(0xbb)](_0x1a65eb)||!Number[_0x39e5a9(0xbb)](_0x4b7327))return;safeCancelAnimations(_0x26118e);const _0x260559=_0x26118e[_0x39e5a9(0xa1)]['transition'],_0x3f56bc=_0x26118e[_0x39e5a9(0xa1)][_0x39e5a9(0xa7)],_0x484d95=_0x26118e[_0x39e5a9(0xa1)][_0x39e5a9(0xa4)];_0x26118e[_0x39e5a9(0xa1)][_0x39e5a9(0xa3)]='none',_0x26118e[_0x39e5a9(0xa1)]['transformOrigin']=_0x39e5a9(0xac),_0x26118e['style'][_0x39e5a9(0xa4)]=_0x39e5a9(0xbc);const _0x4dd3c5=_0x39e5a9(0x9b)+_0x3a02ee+'px,\x20'+_0x1c7fcb+_0x39e5a9(0xb1)+_0x1a65eb+',\x20'+_0x4b7327+')',_0x3dfb47=_0x26118e[_0x39e5a9(0xbd)]([{'transform':_0x4dd3c5},{'transform':_0x39e5a9(0xaa)}],{'duration':_0x2dd6f5,'easing':'ease','fill':_0x39e5a9(0xb8)}),_0x4e5bfc=()=>{const _0x268df0=_0x39e5a9;_0x26118e['style'][_0x268df0(0xa3)]=_0x260559,_0x26118e[_0x268df0(0xa1)][_0x268df0(0xa7)]=_0x3f56bc,_0x26118e['style'][_0x268df0(0xa4)]=_0x484d95;};_0x3dfb47[_0x39e5a9(0xa8)](_0x39e5a9(0x9c),_0x4e5bfc,{'once':!![]}),_0x3dfb47[_0x39e5a9(0xa8)](_0x39e5a9(0xa5),_0x4e5bfc,{'once':!![]});}function _0x5af1(){const _0x4074ee=['z2v0qw5PBwf0Aw9UCW','Bwf0y2HnzwrPyq','CxvLCNLtzwXLy3rVCG','C3r5Bgu','Dg9W','DhjHBNnPDgLVBG','D2LSBenOyw5Nzq','y2fUy2vS','z2v0qM91BMrPBMDdBgLLBNrszwn0','DhjHBNnMB3jTt3jPz2LU','ywrKrxzLBNrmAxn0zw5LCG','C2v0sxrLBq','BM9Uzq','mJbOBMDNseW','Dg9WigXLzNq','mZCYmtu0meLlu1L6sq','Bwf4Aw1PEMvK','zM9YrwfJAa','mtHjwefxBeC','ChGPihnJywXLka','mZuYnZy4A1DqqKvO','mta2mZm4C1vksuDz','odG5ntu0EuftywHz','Bwf0y2HLCW','zNvUy3rPB24','Dg9Nz2XL','yM90Aa','BgvMDa','mJm2nty0mZvpruH4tLa','AxngAw5PDgu','DhjHBNnMB3jT','yw5PBwf0zq','ow96yK9sva','ndjzD1PeufO','AgvPz2H0','y2XHC3nmAxn0','odGYndG1s1z5rwv4','ndmWmduXmLnfvMTKrW','khbYzwzLCNmTCMvKDwnLzc1TB3rPB246ihjLzhvJzsK','DhjHBNnSyxrLka','zMLUAxnO','lM1VzgfSlwnVBNrLBNq'];_0x5af1=function(){return _0x4074ee;};return _0x5af1();}export function toggleModalMaximize(_0x5703c2,_0x2d9f9e={}){const _0x31b9a7=_0x2b85;if(!_0x5703c2)return;const {storageKey:_0x222ffb,updateIcon:_0xbf50dd,onAfterToggle:_0x16f6d5,durationMs:durationMs=DEFAULT_DURATION_MS}=_0x2d9f9e,_0x2a63ec=_0x5703c2[_0x31b9a7(0xa0)](_0x31b9a7(0x9d)),_0x4b1f80=_0x5703c2[_0x31b9a7(0x97)]['contains'](_0x31b9a7(0xae)),_0x57841f=!_0x4b1f80;if(!_0x2a63ec){_0x5703c2[_0x31b9a7(0x97)][_0x31b9a7(0xb7)]('maximized'),_0xbf50dd?.(_0x57841f),_0x16f6d5?.(_0x57841f);if(_0x222ffb)try{localStorage[_0x31b9a7(0xa9)](_0x222ffb,String(_0x57841f));}catch{}return;}if(_0x4b1f80&&!prefersReducedMotion()){const _0x13eeb5=_0x2a63ec[_0x31b9a7(0xa6)]();_0x5703c2[_0x31b9a7(0x97)]['remove']('maximized');const _0x3f4626=_0x2a63ec[_0x31b9a7(0xa6)]();animateRestoreFlip({'contentEl':_0x2a63ec,'fromRect':_0x13eeb5,'toRect':_0x3f4626,'durationMs':durationMs});}else _0x5703c2[_0x31b9a7(0x97)][_0x31b9a7(0xb7)](_0x31b9a7(0xae));_0xbf50dd?.(_0x57841f),_0x16f6d5?.(_0x57841f);if(_0x222ffb)try{localStorage[_0x31b9a7(0xa9)](_0x222ffb,String(_0x57841f));}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x8438(_0x40ee95,_0x21f522){_0x40ee95=_0x40ee95-0x153;const _0x2512bc=_0x2512();let _0x8438b8=_0x2512bc[_0x40ee95];if(_0x8438['xTWUpc']===undefined){var _0x4ca8bc=function(_0xad16fc){const _0x5610da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c9399='',_0x216be3='';for(let _0x2e3730=0x0,_0xa5f999,_0x14390d,_0x7f7880=0x0;_0x14390d=_0xad16fc['charAt'](_0x7f7880++);~_0x14390d&&(_0xa5f999=_0x2e3730%0x4?_0xa5f999*0x40+_0x14390d:_0x14390d,_0x2e3730++%0x4)?_0x5c9399+=String['fromCharCode'](0xff&_0xa5f999>>(-0x2*_0x2e3730&0x6)):0x0){_0x14390d=_0x5610da['indexOf'](_0x14390d);}for(let _0x42002b=0x0,_0x652312=_0x5c9399['length'];_0x42002b<_0x652312;_0x42002b++){_0x216be3+='%'+('00'+_0x5c9399['charCodeAt'](_0x42002b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x216be3);};_0x8438['XUhYFr']=_0x4ca8bc,_0x8438['ZsCrmI']={},_0x8438['xTWUpc']=!![];}const _0xa5ac52=_0x2512bc[0x0],_0x57be5a=_0x40ee95+_0xa5ac52,_0x3d53a0=_0x8438['ZsCrmI'][_0x57be5a];return!_0x3d53a0?(_0x8438b8=_0x8438['XUhYFr'](_0x8438b8),_0x8438['ZsCrmI'][_0x57be5a]=_0x8438b8):_0x8438b8=_0x3d53a0,_0x8438b8;}function _0x2512(){const _0x41c6e7=['C2v0sxrLBq','rgvWBg95','4PYfifrHC2SGq29TCgXLDgvKifn1y2nLC3nMDwXSEq','z2v0sxrLBq','tM90AwzPy2f0Aw9UCYbHCMuGBM90ihn1ChbVCNrLzcbPBIb0AgLZigjYB3DZzxi','q09ervjFquDftLq','CMvTB3zLsxrLBq','CMvXDwvZDfbLCM1PC3nPB24','DgfZAY5ODg1Sp2LKpq','y2HHCKf0','ntu3mhbhB096yW','C2XPy2u','ChvZAa','rgvWBg95oIa','C2HVDW','mte3mJK2s3Hiyvvb','vgvZDa','C3vIC3rYAw5N','4P2mifrHC2SGrMfPBgvK','vgvZDdOG','BM90AwzPzwqT','DgfN','zgvMyxvSDf9Hz2vUDa','zM9YrwfJAa','CgvYBwLZC2LVBG','mti1ntK2CMniEhHl','mJy4ntC1zLb0DgDV','AxntDxbWB3j0zwq','rMfPBgvKihrVihjLCxvLC3qGBM90AwzPy2f0Aw9UihbLCM1PC3nPB246','B3bLBG','Aw5ZDhj1y3rPB25Z','mtaXntnfEK5Mz0O','ndvnrwriDLq','vw5RBM93BG','mtm1D0jrAKzW','ic0G','zgvUAwvK','C3rHDhvZ','zMfPBgvK','y2XVC2u','w0zVBgXVDY11Cf0G','A2v5','mtH5AhbouxO','DgvZDe5HBwu','tM90AwzPy2f0Aw9U','AxnfBMfIBgvK','B25JBgLJAW','z3jHBNrLza','DgvZDerLC2nYAxb0Aw9U','lI4U','nJuXmZe4meXuzuTKrG','tM90AwzPy2f0Aw9UihbLCM1PC3nPB24GBM90igDYyw50zwq','D2fYBG','yMfKz2u','zw52vMfYCW','BMfTzq','zxjYB3i','mtbMre5esKK','mZi0nZHMyKHACvC','DgfZAY0','zgvWBg95uhjVzMLSzq','yM9KEq','ndeWnJKWBu9qzMDI','AxnbCNjHEq','DgfZA0LK','y29TCgXLDgvK','BgvUz3rO','C2LSzw50','Dw5ZDxbWB3j0zwq','Dhj1zq','B25dBgLJAW','ChjLDMvUDerLzMf1Bhq','zxHPDenVzgu','DgvZDa','l2zHDMLJB24UAwnV','DgfZA1r5Cgu','C3rHCNrZv2L0Aa','zgf0yq','zM9SBg93vxbiAxn0B3j5','zhvYyxrPB24','CMvXDwLYzuLUDgvYywn0Aw9U'];_0x2512=function(){return _0x41c6e7;};return _0x2512();}(function(_0xeeddb1,_0xbf3b6){const _0xa93882=_0x8438,_0x1309e1=_0xeeddb1();while(!![]){try{const _0x41aa83=-parseInt(_0xa93882(0x17b))/0x1*(parseInt(_0xa93882(0x17a))/0x2)+-parseInt(_0xa93882(0x15b))/0x3+-parseInt(_0xa93882(0x15a))/0x4*(-parseInt(_0xa93882(0x163))/0x5)+parseInt(_0xa93882(0x16b))/0x6*(-parseInt(_0xa93882(0x17f))/0x7)+parseInt(_0xa93882(0x1a1))/0x8*(parseInt(_0xa93882(0x161))/0x9)+parseInt(_0xa93882(0x19c))/0xa*(-parseInt(_0xa93882(0x160))/0xb)+parseInt(_0xa93882(0x173))/0xc;if(_0x41aa83===_0xbf3b6)break;else _0x1309e1['push'](_0x1309e1['shift']());}catch(_0x281769){_0x1309e1['push'](_0x1309e1['shift']());}}}(_0x2512,0x7f654));export const NotificationManager={'isSupported'(){const _0x4e13ea=_0x8438;return _0x4e13ea(0x16d)in window;},'isEnabled'(){const _0x266e54=_0x8438;if(!this[_0x266e54(0x15c)]())return![];return localStorage[_0x266e54(0x195)]('notifications-enabled')===_0x266e54(0x186);},'setEnabled'(_0x5c9399){const _0x326898=_0x8438;localStorage[_0x326898(0x192)]('notifications-enabled',_0x5c9399?_0x326898(0x186):'false');},'getPermission'(){const _0x129dbd=_0x8438;if(!this[_0x129dbd(0x15c)]())return _0x129dbd(0x185);return Notification[_0x129dbd(0x159)];},async 'requestPermission'(){const _0x862377=_0x8438;if(!this['isSupported']())return _0x862377(0x185);if(Notification['permission']==='granted')return _0x862377(0x170);if(Notification[_0x862377(0x159)]===_0x862377(0x165))return _0x862377(0x165);try{const _0x216be3=await Notification[_0x862377(0x199)]();return _0x216be3;}catch(_0x2e3730){return console[_0x862377(0x179)](_0x862377(0x15d),_0x2e3730),_0x862377(0x165);}},async 'show'(_0xa5f999,_0x14390d={}){const _0x27faaf=_0x8438;if(!this[_0x27faaf(0x16e)]())return null;if(!this[_0x27faaf(0x15c)]())return console[_0x27faaf(0x175)](_0x27faaf(0x196)),null;if(Notification[_0x27faaf(0x159)]!==_0x27faaf(0x170))return console[_0x27faaf(0x175)](_0x27faaf(0x174)),null;try{const _0x7f7880=new Notification(_0xa5f999,{'icon':_0x14390d['icon']||_0x27faaf(0x18b),'badge':_0x14390d[_0x27faaf(0x176)]||_0x27faaf(0x18b),'body':_0x14390d[_0x27faaf(0x17e)]||'','tag':_0x14390d[_0x27faaf(0x156)]||'','requireInteraction':_0x14390d['requireInteraction']||![],'silent':_0x14390d[_0x27faaf(0x184)]||![],'data':_0x14390d[_0x27faaf(0x18e)]||{}});_0x14390d[_0x27faaf(0x187)]&&(_0x7f7880[_0x27faaf(0x16f)]=_0x42002b=>{const _0x100ace=_0x27faaf;_0x42002b[_0x100ace(0x188)](),window['focus'](),_0x14390d[_0x100ace(0x187)](_0x42002b,_0x7f7880),_0x7f7880[_0x100ace(0x168)]();});if(!_0x14390d[_0x27faaf(0x191)]){const _0x652312=_0x14390d[_0x27faaf(0x190)]||0x1388;setTimeout(()=>{const _0x4c85df=_0x27faaf;_0x7f7880[_0x4c85df(0x168)]();},_0x652312);}return _0x7f7880;}catch(_0x406674){return console[_0x27faaf(0x179)]('Failed\x20to\x20show\x20notification:',_0x406674),null;}},async 'notifyTaskComplete'(_0xc48060){const _0x104cec=_0x8438,_0x1cd4e2=_0xc48060['exitCode']!==undefined?_0xc48060[_0x104cec(0x189)]:_0xc48060['exit_code'],_0x27c0a4=_0xc48060[_0x104cec(0x166)]==='completed'&&_0x1cd4e2===0x0,_0x33128e=_0x27c0a4?_0x104cec(0x194):_0x104cec(0x153);let _0x4c7d1b;if(_0xc48060[_0x104cec(0x18c)]===_0x104cec(0x18a)){const _0x1a8029=_0xc48060[_0x104cec(0x16c)]||_0x104cec(0x1a2),_0xf130cc=_0xc48060[_0x104cec(0x171)]||_0xc48060['description']||'';if(_0xf130cc&&_0xf130cc[_0x104cec(0x183)]>0x0){let _0x145ae1=_0xf130cc;_0xf130cc[_0x104cec(0x183)]>0x50&&(_0x145ae1=_0xf130cc[_0x104cec(0x1a3)](0x0,0x4d)+_0x104cec(0x172)),_0x4c7d1b=_0x104cec(0x154)+_0x1a8029+_0x104cec(0x164)+_0x145ae1;}else _0x4c7d1b=_0x104cec(0x154)+_0x1a8029;}else{if(_0xc48060[_0x104cec(0x18c)]==='deploy'){const _0x3e21b2=_0xc48060[_0x104cec(0x17d)]||_0x104cec(0x193),_0x3c5c8d=_0xc48060['deployDescription']||_0xc48060['description']||'';if(_0x3c5c8d&&_0x3c5c8d[_0x104cec(0x183)]>0x0){let _0x502f3f=_0x3c5c8d;_0x3c5c8d[_0x104cec(0x183)]>0x50&&(_0x502f3f=_0x3c5c8d['substring'](0x0,0x4d)+_0x104cec(0x172)),_0x4c7d1b=_0x104cec(0x19f)+_0x3e21b2+'\x20-\x20'+_0x502f3f;}else _0x4c7d1b='Deploy:\x20'+_0x3e21b2;}else{const _0x4f857f=_0xc48060[_0x104cec(0x178)]?_0xc48060[_0x104cec(0x178)]['trim']():null,_0x339f40=_0xc48060['envVars']?.[_0x104cec(0x197)]||_0xc48060[_0x104cec(0x177)]?.[_0x104cec(0x157)]||_0x104cec(0x162),_0x10ace8=_0x339f40[_0x104cec(0x19b)](0x0)['toUpperCase']()+_0x339f40[_0x104cec(0x19d)](0x1);let _0x18a46f,_0x3775ab=![];if(_0xc48060[_0x104cec(0x18f)]&&Array[_0x104cec(0x180)](_0xc48060[_0x104cec(0x18f)])&&_0xc48060[_0x104cec(0x18f)]['length']>0x0){const _0xf56bc5=_0xc48060['followUpHistory'][_0xc48060[_0x104cec(0x18f)][_0x104cec(0x183)]-0x1];_0x18a46f=_0xf56bc5[_0x104cec(0x15f)],_0x3775ab=!![];}else _0x18a46f=_0xc48060['description']||_0xc48060['instructions']||_0xc48060['taskId'];_0x18a46f[_0x104cec(0x183)]>0x64&&(_0x18a46f=_0x18a46f[_0x104cec(0x1a3)](0x0,0x61)+_0x104cec(0x172));const _0x59aba1=_0x3775ab?_0x104cec(0x169):'';_0x4f857f?_0x4c7d1b=_0x4f857f+'\x0a'+_0x10ace8+':\x20'+_0x59aba1+_0x18a46f:_0x4c7d1b=_0x10ace8+':\x20'+_0x59aba1+_0x18a46f;}}return this[_0x104cec(0x1a0)](_0x33128e,{'body':_0x4c7d1b,'tag':_0x104cec(0x17c)+_0xc48060[_0x104cec(0x181)],'requireInteraction':![],'duration':0x1f40,'data':{'taskId':_0xc48060[_0x104cec(0x181)]},'onClick':(_0x47fdff,_0x1486fd)=>{const _0x115a24=_0x104cec;window[_0x115a24(0x15e)](_0x115a24(0x19a)+_0xc48060[_0x115a24(0x181)],'_blank');}});},'shouldNotify'(_0x52c665,_0x168f79){const _0x20a457=_0x8438;if(!this[_0x20a457(0x16e)]())return![];if(_0x52c665['status']!==_0x20a457(0x182)&&_0x52c665[_0x20a457(0x166)]!==_0x20a457(0x167))return![];if(!_0x168f79['has'](_0x52c665['taskId']))return![];const _0x78f2a2=_0x20a457(0x155)+_0x52c665[_0x20a457(0x181)];if(sessionStorage['getItem'](_0x78f2a2)===_0x20a457(0x186))return![];return!![];},'markNotified'(_0xd6351d){const _0x1aed44=_0x8438;sessionStorage['setItem'](_0x1aed44(0x155)+_0xd6351d,_0x1aed44(0x186));},'clearNotificationHistory'(){const _0xd0b63c=_0x8438,_0x966c27=[];for(let _0x4dc023=0x0;_0x4dc023<sessionStorage[_0xd0b63c(0x183)];_0x4dc023++){const _0x17b4e2=sessionStorage[_0xd0b63c(0x16a)](_0x4dc023);_0x17b4e2[_0xd0b63c(0x18d)](_0xd0b63c(0x155))&&_0x966c27[_0xd0b63c(0x19e)](_0x17b4e2);}_0x966c27[_0xd0b63c(0x158)](_0x5ac467=>sessionStorage[_0xd0b63c(0x198)](_0x5ac467));}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x562b9f=_0x5134;function _0x5134(_0x4f6cf6,_0x48c9c4){_0x4f6cf6=_0x4f6cf6-0xe2;const _0x14eb24=_0x14eb();let _0x51344c=_0x14eb24[_0x4f6cf6];if(_0x5134['znUvBL']===undefined){var _0x1815f6=function(_0x42507c){const _0xdc3535='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a41ee='',_0x272f90='';for(let _0x22adc7=0x0,_0x4dda62,_0x2b9a2f,_0x5bda3b=0x0;_0x2b9a2f=_0x42507c['charAt'](_0x5bda3b++);~_0x2b9a2f&&(_0x4dda62=_0x22adc7%0x4?_0x4dda62*0x40+_0x2b9a2f:_0x2b9a2f,_0x22adc7++%0x4)?_0x1a41ee+=String['fromCharCode'](0xff&_0x4dda62>>(-0x2*_0x22adc7&0x6)):0x0){_0x2b9a2f=_0xdc3535['indexOf'](_0x2b9a2f);}for(let _0x9ff3de=0x0,_0x3b0630=_0x1a41ee['length'];_0x9ff3de<_0x3b0630;_0x9ff3de++){_0x272f90+='%'+('00'+_0x1a41ee['charCodeAt'](_0x9ff3de)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x272f90);};_0x5134['EQJviX']=_0x1815f6,_0x5134['GmAfqN']={},_0x5134['znUvBL']=!![];}const _0x46b95e=_0x14eb24[0x0],_0x1733e2=_0x4f6cf6+_0x46b95e,_0x22bfcd=_0x5134['GmAfqN'][_0x1733e2];return!_0x22bfcd?(_0x51344c=_0x5134['EQJviX'](_0x51344c),_0x5134['GmAfqN'][_0x1733e2]=_0x51344c):_0x51344c=_0x22bfcd,_0x51344c;}function _0x14eb(){const _0x553e72=['zg9JA2vYu3rVCMfNzq','C2vYDMvYlxn0B3aTy29UDgfPBMvYCW','zgLZCgXHEq','CMvJBgfPBwfIBgveAxnWBgf5','y3jLyxrLrwXLBwvUDa','BwLU','CMvTB3zLu3rVChbLzenVBNrHAw5LCNm','AxngAw5PDgu','rxnJyxbL','yNvPBgrdywnOzq','zg9JA2vYlxn0B3jHz2uTy2fYza','tg9HzgLUzYbZzxj2zxiGBwv0CMLJCW','Chj1BMveB2nRzxjszxnVDxjJzxm','C2vYDMvYlwHLywX0Ac1SB2fKAw5N','C2vYDMvYlwHLywX0Ac1JBg9Zzq','mtyXmtKXmgj4BfnqAG','zxjYB3i','C2v0qxr0CMLIDxrL','zg9JA2vY','mJC2mdrcyxj6t3K','rMfPBgvKihrVigXVywqGBwv0CMLJCZOG','Dxb0Aw1L','y2XLyw51Cc1JB250zw50','Dg90ywW','u2vYDMvYignSzwfUDxaGywn0Aw9UigzHAwXLzcaO','BwvZC2fNzq','y3jPDgLJywW','zgLZAW','AgLKzgvU','B25JBgLJAW','BwvTB3j5lxvZywDL','y3b1','lI4U','zxHWyw5Kzwq','zg9JA2vYlwnVBNrHAw5LCNm','C3rHDhvZ','y2XLyw51Cc1Zzwn0Aw9U','Aw5JBhvKzq','zg9JA2vYlxn0B3jHz2uTDg90ywW','Dw5KzwzPBMvK','zgL2','lM1VzgfSlw92zxjSyxK','zg9JA2vYlxbYB2DYzxnZ','B3bLBLnLCNzLCKHLywX0Ae1VzgfS','yxjPys1LEhbHBMrLza','CNvUBMLUzW','ywrKrxzLBNrmAxn0zw5LCG','rMfPBgvKihrVigXVywqGC2vYDMvYigHLywX0AcbTzxrYAwnZoG','C3rHDhvZvgv4Da','Dg9Nz2XL','C2vYDMvYlwHLywX0Ac1VAW','Aw5MBW','C3rVCefSBenVBNrHAw5LCNm','Aw5Uzxjive1m','ogXVA0H1tq','CxvLCNLtzwXLy3rVCG','Dhj1zq','zg9JA2vYlxn0B3jHz2uTDM9SDw1LCW','C2vYDMvYlxjLBw92zs1ZDg9WCgvK','D2fYBMLUzW','ywrK','zg9JA2vYlxn0B3jHz2uTyxzHAwXHyMXL','z2v0rwXLBwvUDej5swq','r0vu','rMfPBgvKihDOAwXLia','CgvYy2vUDa','C2vYDMvYlwHLywX0Ac1YzwzYzxnO','C3rHDhvZlwnYAxrPy2fS','zgLZywjSzwq','y3b1lxvZywDL','C3rHDhvZlxDHCM5PBMC','mtC1mtaYyxfVwu9L','CM91BMq','y2XHC3nmAxn0','mJC0mdiXm0nOv2Pgua','C3vJy2vZCW','C2vYDMvYlwHLywX0Ac1JB250zw50','Bwf4','zgLZAY11C2fNzq','Dg9mB3DLCKnHC2u','mtqZuM9JALjw','mZKWmtyXn0nhwLrKvq','ywn0AxzLlxnLC3nPB25Z','CMvTB3zLrxzLBNrmAxn0zw5LCG','nZGXnteWr1Hsr1vJ','A2v5','uMvTB3zPBMCGC3rVChbLzcbJB250ywLUzxjZ','nJL3ExHPu3a','C2vYDMvYlwHLywX0Ac1LCNjVCG','Dgv4DenVBNrLBNq','C3rHDhvZlw9R','BwvTB3j5lxbYB2DYzxnZ','zgLZAY1WCM9NCMvZCW','zg9JA2vYlxn0B3jHz2uTChjVz3jLC3m','mMfuEu5lAG','zg9JA2vYlxn0B3jHz2uTCMvJBgfPBwfIBgu','zMfSC2u','zg9JA2vYlxn0B3jHz2uTyNvPBgrJywnOzq','ANnVBG','cJXKAxyGAwq9iNnLCNzLCI1OzwfSDgGTBw9KywWIignSyxnZpsjTB2rHBciGAgLKzgvUpGOGidXKAxyGy2XHC3m9iM1VzgfSlw92zxjSyxKIpJWVzgL2pGOGidXKAxyGy2XHC3m9iM1VzgfSlwnVBNrLBNqIpGOGicaGpgrPDIbJBgfZCZ0IBw9KywWTAgvHzgvYiJ4kicaGicaGpgGYpLnLCNzLCIbizwfSDgG8l2GYpGOGicaGica8yNv0Dg9Uihr5Cgu9iMj1DhrVBIiGy2XHC3m9iM1VzgfSlwnSB3nLiIbPzd0IC2vYDMvYlwHLywX0Ac1JBg9ZzsiGyxjPys1SywjLBd0Iq2XVC2uIpGOGicaGicaGidXZDMCGD2LKDgG9iJi0iIbOzwLNAhq9iJi0iIb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIihn0CM9Rzs1SAw5Ly2fWpsjYB3vUzciGC3rYB2TLlwXPBMvQB2LUpsjYB3vUzci+cIaGicaGicaGica8BgLUzsb4mt0ImtGIihKXpsi2iIb4mJ0InIiGEti9iJe4iJ48l2XPBMu+cIaGicaGicaGica8BgLUzsb4mt0InIiGEte9iJyIihGYpsiXociGEti9iJe4iJ48l2XPBMu+cIaGicaGicaGpc9ZDMC+cIaGicaGidWVyNv0Dg9UpGOGicaGpc9KAxy+cIaGica8zgL2ignSyxnZpsjTB2rHBc1IB2r5iJ4kicaGicaGpgrPDIbPzd0IC2vYDMvYlwHLywX0Ac1SB2fKAw5NiIbJBgfZCZ0IBg9HzgLUzYi+tg9HzgLUzYbZzxj2zxiGBwv0CMLJCZWVzgL2pGOGicaGica8zgL2igLKpsjZzxj2zxiTAgvHBhrOlwvYCM9YiIbJBgfZCZ0IzxjYB3iTBwvZC2fNzsiGAgLKzgvUpJWVzgL2pGOGicaGica8zgL2igLKpsjZzxj2zxiTAgvHBhrOlwnVBNrLBNqIigHPzgrLBJ4kicaGicaGica8zgL2ignSyxnZpsjOzwfSDgGTBwv0CMLJCYi+cIaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTy2fYzci+cIaGicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY1Py29UiJ7WN5k7pc9KAxy+cIaGicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY1KzxrHAwXZiJ4kicaGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTBgfIzwWIpKnqvsbvC2fNztWVzgL2pGOGicaGicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY12ywX1zsiGAwq9iMnWDs11C2fNzsi+ltWVzgL2pGOGicaGicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY1WCM9NCMvZCYiGCM9Szt0IChjVz3jLC3nIyxiIigfYAweTBgfIzwW9iKnqvsb1C2fNzsiGyxjPys12ywX1zw1PBJ0ImciGyxjPys12ywX1zw1HEd0ImtaWiJ4kicaGicaGicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY1WCM9NCMvZCY1MAwXSiIbPzd0Iy3b1lxbYB2DYzxnZiJ48l2rPDJ4kicaGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGicaGpc9KAxy+cIaGicaGicaGica8l2rPDJ4kicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY1JyxjKiJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlwLJB24IpVcFP6a8l2rPDJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlwrLDgfPBhmIpGOGicaGicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY1SywjLBci+twvTB3j5ifvZywDLpc9KAxy+cIaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlxzHBhvLiIbPzd0IBwvTB3j5lxvZywDLiJ4Tpc9KAxy+cIaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlxbYB2DYzxnZiIbYB2XLpsjWCM9NCMvZC2jHCIiGyxjPys1SywjLBd0ItwvTB3j5ihvZywDLiIbHCMLHlxzHBhvLBwLUpsiWiIbHCMLHlxzHBhvLBwf4psiXmdaIpGOGicaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlxbYB2DYzxnZlwzPBgWIigLKpsjTzw1VCNKTChjVz3jLC3mIpJWVzgL2pGOGicaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGidWVzgL2pGOGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlwnHCMqIpGOGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTAwnVBIi+8j+sVJWVzgL2pGOGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTzgv0ywLSCYi+cIaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlwXHyMvSiJ5eAxnRifvZywDLpc9KAxy+cIaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlxzHBhvLiIbPzd0IzgLZAY11C2fNzsi+ltWVzgL2pGOGicaGicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY1WCM9NCMvZCYiGCM9Szt0IChjVz3jLC3nIyxiIigfYAweTBgfIzwW9iKrPC2SGDxnHz2uIigfYAweTDMfSDwvTAw49iJaIigfYAweTDMfSDwvTyxG9iJeWmci+cIaGicaGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTChjVz3jLC3mTzMLSBciGAwq9iMrPC2STChjVz3jLC3mIpJWVzgL2pGOGicaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGidWVzgL2pGOGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlwnHCMqIpGOGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTAwnVBIi+8j+qSZWVzgL2pGOGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTzgv0ywLSCYi+cIaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlwXHyMvSiJ5eB2nRzxiGq29UDgfPBMvYCZWVzgL2pGOGicaGicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY12ywX1zsiGAwq9iMrVy2TLCI1JB250ywLUzxjZiJ4Tpc9KAxy+cIaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlxbYB2DYzxnZiIbYB2XLpsjWCM9NCMvZC2jHCIiGyxjPys1SywjLBd0IuNvUBMLUzYbJB250ywLUzxjZihjHDgLViIbHCMLHlxzHBhvLBwLUpsiWiIbHCMLHlxzHBhvLBwf4psiXmdaIpGOGicaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlxbYB2DYzxnZlwzPBgWIigLKpsjKB2nRzxiTChjVz3jLC3mIpJWVzgL2pGOGicaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGidWVzgL2pGOGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlwnHCMqGBwv0CMLJlwnHCMqTD2LKzsiGAwq9iMrVy2TLCI1ZDg9YywDLlwnHCMqIpGOGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTAwnVBIi+8j+tPJWVzgL2pGOGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTzgv0ywLSCYi+cIaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlwXHyMvSiJ5eB2nRzxiGu3rVCMfNztWVzgL2pGOGicaGicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY12ywX1zsiGAwq9iMrVy2TLCI1ZDg9YywDLlxrVDgfSiJ4Tpc9KAxy+cIaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlxbYB2DYzxnZiIbPzd0Izg9JA2vYlxn0B3jHz2uTChjVz3jLC3mTD3jHCciGCM9Szt0IChjVz3jLC3nIyxiIigfYAweTBgfIzwW9iKrVy2TLCIbZDg9YywDLihvZywDLiIbHCMLHlxzHBhvLBwLUpsiWiIbHCMLHlxzHBhvLBwf4psiXmdaIpGOGicaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlxbYB2DYzxnZlwzPBgWIigLKpsjKB2nRzxiTC3rVCMfNzs1WCM9NCMvZCYi+pc9KAxy+cIaGicaGicaGicaGicaGpc9KAxy+cIaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlxn1yIiGAwq9iMrVy2TLCI1ZDg9YywDLlwf2ywLSywjSzsi+pc9KAxy+cIaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlxn1yIiGAwq9iMrVy2TLCI1ZDg9YywDLlxjLy2XHAw1HyMXLiJ48l2rPDJ4kicaGicaGicaGicaGica8zgL2ignSyxnZpsjKB2nRzxiTC3rVCMfNzs1ICMvHA2rVD24IigLKpsjKB2nRzxiTC3rVCMfNzs1ICMvHA2rVD24IpGOGicaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IC3rVCMfNzs1PDgvTiJ4kicaGicaGicaGicaGicaGicaGphnWyw4Gy2XHC3m9iNn0B3jHz2uTBgfIzwWIpKLTywDLCZO8l3nWyw4+cIaGicaGicaGicaGicaGicaGidXZCgfUignSyxnZpsjZDg9YywDLlxzHBhvLiIbPzd0Izg9JA2vYlxn0B3jHz2uTAw1Hz2vZiJ4Tpc9ZCgfUpGOGicaGicaGicaGicaGicaGpc9KAxy+cIaGicaGicaGicaGicaGica8zgL2ignSyxnZpsjZDg9YywDLlwL0zw0IpGOGicaGicaGicaGicaGicaGica8C3bHBIbJBgfZCZ0IC3rVCMfNzs1SywjLBci+q29UDgfPBMvYCZO8l3nWyw4+cIaGicaGicaGicaGicaGicaGidXZCgfUignSyxnZpsjZDg9YywDLlxzHBhvLiIbPzd0Izg9JA2vYlxn0B3jHz2uTy29UDgfPBMvYCYi+ltWVC3bHBJ4kicaGicaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0IC3rVCMfNzs1PDgvTiJ4kicaGicaGicaGicaGicaGicaGphnWyw4Gy2XHC3m9iNn0B3jHz2uTBgfIzwWIpLzVBhvTzxm6pc9ZCgfUpGOGicaGicaGicaGicaGicaGica8C3bHBIbJBgfZCZ0IC3rVCMfNzs12ywX1zsiGAwq9iMrVy2TLCI1ZDg9YywDLlxzVBhvTzxmIpI08l3nWyw4+cIaGicaGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGicaGicaGidXKAxyGy2XHC3m9iNn0B3jHz2uTAxrLBsi+cIaGicaGicaGicaGicaGicaGidXZCgfUignSyxnZpsjZDg9YywDLlwXHyMvSiJ5cDwLSzcbdywnOztO8l3nWyw4+cIaGicaGicaGicaGicaGicaGidXZCgfUignSyxnZpsjZDg9YywDLlxzHBhvLiIbPzd0Izg9JA2vYlxn0B3jHz2uTyNvPBgrJywnOzsi+ltWVC3bHBJ4kicaGicaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGidWVzgL2pGOGicaGicaGicaGpgrPDIbJBgfZCZ0IBwv0CMLJlwnHCMqIpGOGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTAwnVBIi+4O+X77Ippc9KAxy+cIaGicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY1KzxrHAwXZiJ4kicaGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTBgfIzwWIpLnLCNzLCIbvChrPBwu8l2rPDJ4kicaGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTDMfSDwuIigLKpsjZzxj2zxiTDxb0Aw1LiJ4Tpc9KAxy+cIaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGpc9KAxy+cIaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTy2fYzci+cIaGicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY1Py29UiJ7WN5oHpc9KAxy+cIaGicaGicaGicaGidXKAxyGy2XHC3m9iM1LDhjPyY1KzxrHAwXZiJ4kicaGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTBgfIzwWIpLvZzxiGu2vZC2LVBNm8l2rPDJ4kicaGicaGicaGicaGica8zgL2ignSyxnZpsjTzxrYAwmTDMfSDwuIigLKpsjHy3rPDMuTC2vZC2LVBNmIpI08l2rPDJ4kicaGicaGicaGicaGpc9KAxy+cIaGicaGicaGica8l2rPDJ4kicaGicaGica8l2rPDJ4kicaGicaGica8zgL2ignSyxnZpsjOzwfSDgGTywn0Aw9UCYbJB2XSyxbZAwjSzs1Zzwn0Aw9UiIbPzd0Iy2XLyw51Cc1Zzwn0Aw9UiJ4kicaGicaGicaGidXIDxr0B24GDhLWzt0IyNv0Dg9UiIbJBgfZCZ0IAgvHBhrOlwfJDgLVBNmTAgvHzgvYignVBgXHChnPyMXLlxrVz2DSzsiGAwq9iMnSzwfUDxaTDg9Nz2XLiIbHCMLHlwv4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BgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIihn0CM9Rzs1SAw5Ly2fWpsjYB3vUzciGC3rYB2TLlwXPBMvQB2LUpsjYB3vUzci+cIaGicaGicaGicaGicaGicaGicaGphbHDgGGzd0ItteYidjmmIa3BdeWiduGmtaTns0Xmc01EIi+pc9WyxrOpGOGicaGicaGicaGicaGicaGicaGidXWyxrOigq9iK0Yide3BdeWiduGmtaTnsi+pc9WyxrOpGOGicaGicaGicaGicaGicaGicaGidXWyxrOigq9iK0YideYBdeWiduGmtaTnsi+pc9WyxrOpGOGicaGicaGicaGicaGicaGica8l3n2zZ4kicaGicaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0Iy2XLyw51Cc1JyxjKlwnVBNrLBNqIpGOGicaGicaGicaGicaGicaGica8zgL2ignSyxnZpsjJBgvHBNvWlwnHCMqTDgL0BguIpKrVy2TLCIbtExn0zw0Guhj1BMu8l2rPDJ4kicaGicaGicaGicaGicaGicaGpgrPDIbJBgfZCZ0Iy2XLyw51Cc1JyxjKlwrLC2nYAxb0Aw9UiJ5szw1VDMuGywXSihn0B3bWzwqGy29UDgfPBMvYCYWGDw51C2vKig5LDhDVCMTZlcbKyw5NBgLUzYbPBwfNzxmSigfUzcbIDwLSzcbJywnOzs4GrNjLzxmGC2LNBMLMAwnHBNqGzgLZAYbZCgfJzs48l2rPDJ4kicaGicaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGicaGicaGpgj1DhrVBIb0ExbLpsjIDxr0B24IignSyxnZpsjIDg4TzgfUz2vYignSzwfUDxaTy2fYzc1IDg4IigLKpsjZzxj2zxiTChj1BMuTzg9JA2vYiJ5qCNvUztWVyNv0Dg9UpGOGicaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGidWVzgL2pGOGicaGicaGidWVzgL2pGOGicaGica8l2rPDJ4kicaGidWVzgL2pGOGicaGpgrPDIbJBgfZCZ0IBw9KywWTywn0Aw9UCYi+cIaGicaGidXIDxr0B24GDhLWzt0IyNv0Dg9UiIbPzd0IC2vYDMvYlwHLywX0Ac1YzwzYzxnOiIbJBgfZCZ0IyNrUlxnLy29UzgfYEsi+uMvMCMvZAdWVyNv0Dg9UpGOGicaGica8yNv0Dg9Uihr5Cgu9iMj1DhrVBIiGAwq9iNnLCNzLCI1OzwfSDgGTB2SIignSyxnZpsjIDg4TChjPBwfYEsi+t0S8l2j1DhrVBJ4kicaGidWVzgL2pGOGidWVzgL2pGO8l2rPDJ4k','zM9YrwfJAa','mJCWnte5mejWvevbEa','l2HLywX0Ac9TzxrYAwnZ','A2v5zg93BG','yxzHAwXHyMXLrgLZCgXHEq','C2vYDMvYlwHLywX0Ac1Hy3rPB24TC3rHDhvZ','BwvTB3j5','C2vYDMvYlwHLywX0Ac1TB2rHBa','CMvTB3zL'];_0x14eb=function(){return _0x553e72;};return _0x14eb();}(function(_0x8a6b80,_0x457d7e){const _0x4a6019=_0x5134,_0x214c62=_0x8a6b80();while(!![]){try{const _0x113346=parseInt(_0x4a6019(0xf6))/0x1*(-parseInt(_0x4a6019(0x10d))/0x2)+-parseInt(_0x4a6019(0x106))/0x3*(-parseInt(_0x4a6019(0x12f))/0x4)+-parseInt(_0x4a6019(0x12b))/0x5+-parseInt(_0x4a6019(0x114))/0x6+-parseInt(_0x4a6019(0xf9))/0x7+parseInt(_0x4a6019(0xe5))/0x8*(parseInt(_0x4a6019(0x100))/0x9)+parseInt(_0x4a6019(0x103))/0xa*(parseInt(_0x4a6019(0xff))/0xb);if(_0x113346===_0x457d7e)break;else _0x214c62['push'](_0x214c62['shift']());}catch(_0x5206bf){_0x214c62['push'](_0x214c62['shift']());}}}(_0x14eb,0x41867));import{API}from'./app.js';let modalInjected=![];const SERVER_HEALTH_MODAL_HTML=_0x562b9f(0x112);function ensureModalExists(){const _0x2a82bd=_0x562b9f;if(modalInjected||document['getElementById'](_0x2a82bd(0x11a)))return;const _0x1a41ee=document[_0x2a82bd(0x120)](_0x2a82bd(0x144));_0x1a41ee[_0x2a82bd(0xe4)]=SERVER_HEALTH_MODAL_HTML,document['body']['appendChild'](_0x1a41ee['firstElementChild']),modalInjected=!![];}function clampPercent(_0x272f90){const _0x2a5fd5=_0x562b9f;if(!Number[_0x2a5fd5(0x123)](_0x272f90))return 0x0;return Math[_0x2a5fd5(0xfc)](0x0,Math[_0x2a5fd5(0x121)](0x64,Math[_0x2a5fd5(0xf7)](_0x272f90)));}function setMetricProgress(_0x22adc7,_0x4dda62,_0x2b9a2f='ok'){const _0x43af00=_0x562b9f,_0x5bda3b=document['getElementById'](_0x22adc7);if(!_0x5bda3b)return;const _0x9ff3de=_0x5bda3b['parentElement'],_0x3b0630=clampPercent(_0x4dda62);_0x5bda3b['style']['width']=_0x3b0630+'%',_0x5bda3b[_0x43af00(0xf8)][_0x43af00(0x11b)](_0x43af00(0x109),_0x43af00(0xf5),_0x43af00(0xf2)),_0x5bda3b[_0x43af00(0xf8)]['add'](_0x2b9a2f===_0x43af00(0x136)?_0x43af00(0xf2):_0x2b9a2f==='warning'?'status-warning':_0x43af00(0x109)),_0x9ff3de&&_0x9ff3de[_0x43af00(0x12d)]('aria-valuenow',String(_0x3b0630));}function statusFromPercent(_0x450276){const _0x5fd284=_0x562b9f;if(_0x450276>=0x5a)return _0x5fd284(0x136);if(_0x450276>=0x4b)return'warning';return'ok';}async function loadServerHealthMetrics(){const _0x2b8245=_0x562b9f,_0x49505b=document['getElementById'](_0x2b8245(0x129)),_0x51c9cc=document[_0x2b8245(0xed)](_0x2b8245(0x107)),_0xc60629=document[_0x2b8245(0xed)](_0x2b8245(0xfb));if(!_0x49505b||!_0x51c9cc||!_0xc60629)return;_0x49505b['textContent']=_0x2b8245(0x127);try{const _0x49c738=await fetch(_0x2b8245(0x115),{'method':_0x2b8245(0xee),'headers':{'Content-Type':'application/json'},'credentials':_0x2b8245(0x141)});if(!_0x49c738['ok'])throw new Error(_0x2b8245(0x130)+_0x49c738[_0x2b8245(0x14c)]);const _0x274ce1=await _0x49c738[_0x2b8245(0x111)]();document[_0x2b8245(0xed)](_0x2b8245(0xf4))['textContent']=_0x274ce1['cpu'][_0x2b8245(0x11e)],document[_0x2b8245(0xed)](_0x2b8245(0x13a))[_0x2b8245(0x108)]=_0x274ce1[_0x2b8245(0x119)]['display'],document['getElementById'](_0x2b8245(0xfd))[_0x2b8245(0x108)]=_0x274ce1[_0x2b8245(0x137)]['display'],document[_0x2b8245(0xed)](_0x2b8245(0x13e))[_0x2b8245(0x108)]=_0x274ce1[_0x2b8245(0x12e)]['display'],document['getElementById']('server-uptime')[_0x2b8245(0x108)]=_0x274ce1[_0x2b8245(0x131)]['display'],document[_0x2b8245(0xed)](_0x2b8245(0x101))[_0x2b8245(0x108)]=_0x274ce1['sessions'][_0x2b8245(0x11e)],setMetricProgress('cpu-progress',_0x274ce1[_0x2b8245(0x13b)][_0x2b8245(0xf0)],statusFromPercent(_0x274ce1[_0x2b8245(0x13b)][_0x2b8245(0xf0)])),setMetricProgress(_0x2b8245(0x10a),_0x274ce1['memory'][_0x2b8245(0xf0)],statusFromPercent(_0x274ce1['memory'][_0x2b8245(0xf0)])),setMetricProgress(_0x2b8245(0x10b),_0x274ce1[_0x2b8245(0x137)][_0x2b8245(0xf0)],statusFromPercent(_0x274ce1['disk'][_0x2b8245(0xf0)]));const _0x2e8a4f=_0x274ce1['docker']['total']>0x0?_0x274ce1[_0x2b8245(0x12e)][_0x2b8245(0x149)]/_0x274ce1[_0x2b8245(0x12e)][_0x2b8245(0x133)]*0x64:0x0;setMetricProgress(_0x2b8245(0x146),_0x2e8a4f);if(_0x274ce1[_0x2b8245(0x11c)]){const _0x16eb99=document['getElementById'](_0x2b8245(0x126));document[_0x2b8245(0xed)](_0x2b8245(0x142))[_0x2b8245(0x108)]=_0x274ce1[_0x2b8245(0x11c)]['display'];const _0x77632=document[_0x2b8245(0xed)](_0x2b8245(0xec));_0x274ce1[_0x2b8245(0x11c)][_0x2b8245(0x117)]?(_0x77632[_0x2b8245(0x108)]=_0x274ce1[_0x2b8245(0x11c)][_0x2b8245(0x117)],_0x77632['hidden']=![]):_0x77632[_0x2b8245(0x138)]=!![];document[_0x2b8245(0xed)](_0x2b8245(0x10e))['textContent']=_0x274ce1[_0x2b8245(0x11c)][_0x2b8245(0x11f)],document['getElementById']('docker-storage-images')[_0x2b8245(0x108)]=_0x274ce1[_0x2b8245(0x11c)]['images'][_0x2b8245(0x11e)],document[_0x2b8245(0xed)]('docker-storage-containers')[_0x2b8245(0x108)]=_0x274ce1[_0x2b8245(0x11c)]['containers'][_0x2b8245(0x11e)],document[_0x2b8245(0xed)](_0x2b8245(0xe8))['textContent']=_0x274ce1[_0x2b8245(0x11c)]['volumes']['display'],document[_0x2b8245(0xed)](_0x2b8245(0x110))['textContent']=_0x274ce1[_0x2b8245(0x11c)][_0x2b8245(0x125)][_0x2b8245(0x11e)],setMetricProgress(_0x2b8245(0x10c),_0x274ce1[_0x2b8245(0x11c)][_0x2b8245(0xf0)],_0x274ce1[_0x2b8245(0x11c)]['status']),_0x16eb99[_0x2b8245(0xf8)]['remove']('status-warning',_0x2b8245(0xf2));if(_0x274ce1[_0x2b8245(0x11c)]['status']===_0x2b8245(0x136))_0x16eb99[_0x2b8245(0xf8)][_0x2b8245(0xeb)](_0x2b8245(0xf2));else _0x274ce1[_0x2b8245(0x11c)][_0x2b8245(0x13f)]===_0x2b8245(0xea)&&_0x16eb99[_0x2b8245(0xf8)]['add'](_0x2b8245(0xf5));}_0x49505b[_0x2b8245(0x138)]=!![],_0xc60629[_0x2b8245(0x138)]=![];}catch(_0x4cf26e){console[_0x2b8245(0x12c)](_0x2b8245(0x14b),_0x4cf26e),_0x49505b[_0x2b8245(0x138)]=!![],_0x51c9cc[_0x2b8245(0x138)]=![],_0x51c9cc['textContent']='Failed\x20to\x20load\x20server\x20metrics:\x20'+_0x4cf26e[_0x2b8245(0x135)];}}export async function openServerHealthModal(){const _0x2c3db=_0x562b9f;ensureModalExists();const _0x501241=document[_0x2c3db(0xed)](_0x2c3db(0x11a)),_0xea4e8d=document[_0x2c3db(0xed)](_0x2c3db(0x129)),_0x14bace=document[_0x2c3db(0xed)](_0x2c3db(0x107)),_0x5caa57=document[_0x2c3db(0xed)](_0x2c3db(0xfb)),_0x52a069=document[_0x2c3db(0xed)](_0x2c3db(0x12a)),_0x877b9b=document['getElementById'](_0x2c3db(0x14e)),_0x3176e8=document[_0x2c3db(0xed)](_0x2c3db(0xf1)),_0x590d88=document[_0x2c3db(0xed)](_0x2c3db(0x11d)),_0x5675b6=document[_0x2c3db(0xed)](_0x2c3db(0xe9)),_0x8738a5=document['getElementById']('server-prune-docker'),_0x54b2a3=document[_0x2c3db(0xed)](_0x2c3db(0x118)),_0x1501b8=document[_0x2c3db(0xed)]('cleanup-toggle'),_0x41afae=document[_0x2c3db(0xed)](_0x2c3db(0x132)),_0x36952f=document[_0x2c3db(0xed)](_0x2c3db(0x140));if(!_0x501241)return;_0x501241[_0x2c3db(0x138)]=![],_0xea4e8d[_0x2c3db(0x138)]=![],_0x14bace[_0x2c3db(0x138)]=!![],_0x5caa57[_0x2c3db(0x138)]=!![];_0x54b2a3&&(_0x54b2a3['hidden']=!![],_0x54b2a3[_0x2c3db(0x108)]='',_0x54b2a3[_0x2c3db(0xf8)][_0x2c3db(0x11b)]('success',_0x2c3db(0x12c)));_0x36952f&&_0x36952f[_0x2c3db(0xf8)][_0x2c3db(0x11b)](_0x2c3db(0x13d));_0x41afae&&(_0x41afae['hidden']=!![]);_0x1501b8&&_0x1501b8[_0x2c3db(0x12d)](_0x2c3db(0x148),_0x2c3db(0x10f));const _0x4e4889=[_0x590d88,_0x5675b6,_0x8738a5,_0x3176e8],_0x48a75e=_0x3a4031=>{const _0x1786f4=_0x2c3db;_0x4e4889[_0x1786f4(0x113)](_0x17f800=>{const _0x6a6b12=_0x1786f4;if(_0x17f800)_0x17f800[_0x6a6b12(0xf3)]=_0x3a4031;});},_0x49e65a=(_0x4c8b98,_0x5d06c1=_0x2c3db(0xe2))=>{const _0x35d798=_0x2c3db;if(!_0x54b2a3)return;_0x54b2a3[_0x35d798(0x138)]=![],_0x54b2a3['textContent']=_0x4c8b98,_0x54b2a3[_0x35d798(0xf8)]['remove']('success','error');if(_0x5d06c1===_0x35d798(0xfa))_0x54b2a3[_0x35d798(0xf8)][_0x35d798(0xeb)](_0x35d798(0xfa));else _0x5d06c1==='error'&&_0x54b2a3[_0x35d798(0xf8)]['add']('error');};await loadServerHealthMetrics();const _0x57d9c9=()=>{const _0x59a78f=_0x2c3db;_0x501241[_0x59a78f(0x138)]=!![],document[_0x59a78f(0x102)](_0x59a78f(0x116),_0x40f735);},_0x40f735=_0x10369b=>{const _0x53342b=_0x2c3db;_0x10369b[_0x53342b(0x104)]===_0x53342b(0x124)&&!_0x501241[_0x53342b(0x138)]&&_0x57d9c9();};_0x52a069[_0x2c3db(0x139)]=_0x57d9c9,_0x877b9b[_0x2c3db(0x139)]=_0x57d9c9,_0x3176e8['onclick']=async()=>{const _0x2a0938=_0x2c3db;_0xea4e8d[_0x2a0938(0x138)]=![],_0x14bace[_0x2a0938(0x138)]=!![],_0x5caa57[_0x2a0938(0x138)]=!![],await loadServerHealthMetrics();};const _0x4dcdae=async(_0xe40684,_0x2594dd)=>{const _0x251417=_0x2c3db;_0xea4e8d[_0x251417(0x108)]=_0xe40684,_0xea4e8d['hidden']=![],_0x14bace['hidden']=!![],_0x5caa57['hidden']=!![],_0x48a75e(!![]),_0x49e65a(_0xe40684+_0x251417(0x13c));try{const _0x27db5c=await _0x2594dd(),_0x3546c6=_0x27db5c?.[_0x251417(0x135)]||_0xe40684+'\x20completed';_0x49e65a(_0x3546c6,_0x251417(0xfa));}catch(_0x40a346){console[_0x251417(0x12c)](_0x251417(0x134)+_0xe40684+')',_0x40a346),_0x49e65a(_0x40a346[_0x251417(0x135)]||_0x251417(0xef)+_0xe40684[_0x251417(0xfe)](),_0x251417(0x12c));}finally{await loadServerHealthMetrics(),_0x48a75e(![]);}};_0x590d88&&(_0x590d88[_0x2c3db(0x139)]=()=>_0x4dcdae('Stopping\x20containers',()=>API[_0x2c3db(0xe3)]()));_0x5675b6&&(_0x5675b6['onclick']=()=>_0x4dcdae(_0x2c3db(0x105),()=>API[_0x2c3db(0x122)]()));_0x8738a5&&(_0x8738a5[_0x2c3db(0x139)]=()=>_0x4dcdae('Pruning\x20Docker\x20resources',()=>API[_0x2c3db(0x128)]()));_0x1501b8&&_0x41afae&&_0x36952f&&(_0x1501b8[_0x2c3db(0x139)]=()=>{const _0x46f14e=_0x2c3db,_0x1ac3f4=_0x36952f[_0x46f14e(0xf8)][_0x46f14e(0x14d)](_0x46f14e(0x13d));_0x41afae[_0x46f14e(0x138)]=!_0x1ac3f4,_0x1501b8['setAttribute'](_0x46f14e(0x148),_0x1ac3f4?_0x46f14e(0xe7):_0x46f14e(0x10f));});document[_0x2c3db(0x14a)](_0x2c3db(0x116),_0x40f735);const _0x1edaf0=_0x501241[_0x2c3db(0xe6)](_0x2c3db(0x145));_0x1edaf0&&(_0x1edaf0['onclick']=_0x57d9c9);}export{loadServerHealthMetrics};typeof window!==_0x562b9f(0x143)&&(window[_0x562b9f(0x147)]=openServerHealthModal);
|
|
1
|
+
const _0x358927=_0x1d2d;(function(_0x14e84d,_0xac435b){const _0x4c32e8=_0x1d2d,_0x547edc=_0x14e84d();while(!![]){try{const _0x4f7caa=parseInt(_0x4c32e8(0x121))/0x1*(parseInt(_0x4c32e8(0xe8))/0x2)+parseInt(_0x4c32e8(0xc0))/0x3+-parseInt(_0x4c32e8(0xbd))/0x4+-parseInt(_0x4c32e8(0x106))/0x5+-parseInt(_0x4c32e8(0x10a))/0x6*(-parseInt(_0x4c32e8(0x100))/0x7)+parseInt(_0x4c32e8(0x103))/0x8*(-parseInt(_0x4c32e8(0x107))/0x9)+parseInt(_0x4c32e8(0xd9))/0xa;if(_0x4f7caa===_0xac435b)break;else _0x547edc['push'](_0x547edc['shift']());}catch(_0x5a860c){_0x547edc['push'](_0x547edc['shift']());}}}(_0x389c,0x27396));import{API}from'./app.js';let modalInjected=![];const SERVER_HEALTH_MODAL_HTML='\x0a<div\x20id=\x22server-health-modal\x22\x20class=\x22modal\x22\x20hidden>\x0a\x20\x20<div\x20class=\x22modal-overlay\x22></div>\x0a\x20\x20<div\x20class=\x22modal-content\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22modal-header\x22>\x0a\x20\x20\x20\x20\x20\x20<h2>Server\x20Health</h2>\x0a\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22modal-close\x22\x20id=\x22server-health-close\x22\x20aria-label=\x22Close\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<svg\x20width=\x2224\x22\x20height=\x2224\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<line\x20x1=\x2218\x22\x20y1=\x226\x22\x20x2=\x226\x22\x20y2=\x2218\x22></line>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<line\x20x1=\x226\x22\x20y1=\x226\x22\x20x2=\x2218\x22\x20y2=\x2218\x22></line>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\x22modal-body\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20id=\x22server-health-loading\x22\x20class=\x22loading\x22>Loading\x20server\x20metrics</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20id=\x22server-health-error\x22\x20class=\x22error-message\x22\x20hidden></div>\x0a\x20\x20\x20\x20\x20\x20<div\x20id=\x22server-health-content\x22\x20hidden>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22health-metrics\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-card\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-icon\x22>💻</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-details\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-label\x22>CPU\x20Usage</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-value\x22\x20id=\x22cpu-usage\x22>-</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-progress\x22\x20role=\x22progressbar\x22\x20aria-label=\x22CPU\x20usage\x22\x20aria-valuemin=\x220\x22\x20aria-valuemax=\x22100\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-progress-fill\x22\x20id=\x22cpu-progress\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-card\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-icon\x22>🧠</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-details\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-label\x22>Memory\x20Usage</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-value\x22\x20id=\x22memory-usage\x22>-</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-progress\x22\x20role=\x22progressbar\x22\x20aria-label=\x22Memory\x20usage\x22\x20aria-valuemin=\x220\x22\x20aria-valuemax=\x22100\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-progress-fill\x22\x20id=\x22memory-progress\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-card\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-icon\x22>💾</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-details\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-label\x22>Disk\x20Usage</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-value\x22\x20id=\x22disk-usage\x22>-</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-progress\x22\x20role=\x22progressbar\x22\x20aria-label=\x22Disk\x20usage\x22\x20aria-valuemin=\x220\x22\x20aria-valuemax=\x22100\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-progress-fill\x22\x20id=\x22disk-progress\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-card\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-icon\x22>🐳</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-details\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-label\x22>Docker\x20Containers</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-value\x22\x20id=\x22docker-containers\x22>-</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-progress\x22\x20role=\x22progressbar\x22\x20aria-label=\x22Running\x20containers\x20ratio\x22\x20aria-valuemin=\x220\x22\x20aria-valuemax=\x22100\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-progress-fill\x22\x20id=\x22docker-progress\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-card\x20metric-card-wide\x22\x20id=\x22docker-storage-card\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-icon\x22>📦</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-details\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-label\x22>Docker\x20Storage</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-value\x22\x20id=\x22docker-storage-total\x22>-</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-progress\x22\x20id=\x22docker-storage-progress-wrap\x22\x20role=\x22progressbar\x22\x20aria-label=\x22Docker\x20storage\x20usage\x22\x20aria-valuemin=\x220\x22\x20aria-valuemax=\x22100\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-progress-fill\x22\x20id=\x22docker-storage-progress\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-sub\x22\x20id=\x22docker-storage-available\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-sub\x22\x20id=\x22docker-storage-reclaimable\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22docker-storage-breakdown\x22\x20id=\x22docker-storage-breakdown\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22storage-item\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22storage-label\x22>Images:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22storage-value\x22\x20id=\x22docker-storage-images\x22>-</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22storage-item\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22storage-label\x22>Containers:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22storage-value\x22\x20id=\x22docker-storage-containers\x22>-</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22storage-item\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22storage-label\x22>Volumes:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22storage-value\x22\x20id=\x22docker-storage-volumes\x22>-</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22storage-item\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22storage-label\x22>Build\x20Cache:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22storage-value\x22\x20id=\x22docker-storage-buildcache\x22>-</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-card\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-icon\x22>⏱️</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-details\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-label\x22>Server\x20Uptime</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-value\x22\x20id=\x22server-uptime\x22>-</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-card\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-icon\x22>📡</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-details\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-label\x22>User\x20Sessions</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22metric-value\x22\x20id=\x22active-sessions\x22>-</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22health-actions\x20collapsible-section\x22\x20id=\x22cleanup-section\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22health-actions-header\x20collapsible-toggle\x22\x20id=\x22cleanup-toggle\x22\x20aria-expanded=\x22false\x22\x20aria-controls=\x22cleanup-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22health-actions-title\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<svg\x20class=\x22collapse-chevron\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<polyline\x20points=\x229\x2018\x2015\x2012\x209\x206\x22></polyline>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Clean\x20Up\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20id=\x22server-health-action-status\x22\x20class=\x22health-action-status\x22\x20aria-live=\x22polite\x22\x20hidden></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22collapsible-content\x22\x20id=\x22cleanup-content\x22\x20hidden>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-cards\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card-icon\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<svg\x20width=\x2224\x22\x20height=\x2224\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<rect\x20x=\x223\x22\x20y=\x223\x22\x20width=\x2218\x22\x20height=\x2218\x22\x20rx=\x222\x22\x20ry=\x222\x22></rect>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<line\x20x1=\x229\x22\x20y1=\x229\x22\x20x2=\x2215\x22\x20y2=\x2215\x22></line>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<line\x20x1=\x2215\x22\x20y1=\x229\x22\x20x2=\x229\x22\x20y2=\x2215\x22></line>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card-title\x22>Stop\x20All\x20Containers</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card-description\x22>Gracefully\x20stop\x20all\x20running\x20Docker\x20containers.\x20Active\x20coding\x20sessions\x20will\x20be\x20terminated.</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22btn-secondary\x20cleanup-card-btn\x22\x20id=\x22server-stop-containers\x22>Stop</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card-icon\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<svg\x20width=\x2224\x22\x20height=\x2224\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<polyline\x20points=\x223\x206\x205\x206\x2021\x206\x22></polyline>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M19\x206v14a2\x202\x200\x200\x201-2\x202H7a2\x202\x200\x200\x201-2-2V6m3\x200V4a2\x202\x200\x200\x201\x202-2h4a2\x202\x200\x200\x201\x202\x202v2\x22></path>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card-title\x22>Remove\x20Stopped\x20Containers</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card-description\x22>Delete\x20all\x20stopped\x20containers\x20to\x20free\x20up\x20disk\x20space.\x20This\x20cannot\x20be\x20undone.</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22btn-secondary\x20cleanup-card-btn\x22\x20id=\x22server-remove-stopped\x22>Remove</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card\x20cleanup-card-danger\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card-icon\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<svg\x20width=\x2224\x22\x20height=\x2224\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M12\x202L2\x207l10\x205\x2010-5-10-5z\x22></path>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M2\x2017l10\x205\x2010-5\x22></path>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M2\x2012l10\x205\x2010-5\x22></path>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card-title\x22>Docker\x20System\x20Prune</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22cleanup-card-description\x22>Remove\x20all\x20stopped\x20containers,\x20unused\x20networks,\x20dangling\x20images,\x20and\x20build\x20cache.\x20Frees\x20significant\x20disk\x20space.</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22btn-danger\x20cleanup-card-btn\x22\x20id=\x22server-prune-docker\x22>Prune</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\x22modal-actions\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20id=\x22server-health-refresh\x22\x20class=\x22btn-secondary\x22>Refresh</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20id=\x22server-health-ok\x22\x20class=\x22btn-primary\x22>OK</button>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a</div>\x0a';function ensureModalExists(){const _0x478932=_0x1d2d;if(modalInjected||document[_0x478932(0xff)]('server-health-modal'))return;const _0x2678a4=document[_0x478932(0x113)]('div');_0x2678a4[_0x478932(0xbc)]=SERVER_HEALTH_MODAL_HTML,document[_0x478932(0x114)][_0x478932(0xcd)](_0x2678a4[_0x478932(0x10f)]),modalInjected=!![];}function _0x389c(){const _0x4cab73=['Aw5JBhvKzq','zg9JA2vYlxn0B3jHz2uTCMvJBgfPBwfIBgu','D2LKDgG','C3rHDhvZvgv4Da','yxjPys1LEhbHBMrLza','rMfPBgvKihrVigXVywqGBwv0CMLJCZOG','lI4U','BwvTB3j5','C2vYDMvYlwHLywX0Ac1Hy3rPB24TC3rHDhvZ','B3bLBLnLCNzLCKHLywX0Ae1VzgfS','C2vYDMvYlwHLywX0Ac1JBg9Zzq','Dg9mB3DLCKnHC2u','CgfYzw50rwXLBwvUDa','zxjYB3i','zg9JA2vYlxbYB2DYzxnZ','z2v0rwXLBwvUDej5swq','mZG5mZrqtKXVDha','C3r5Bgu','lM1VzgfSlw92zxjSyxK','nJyWotuYuujhzLb5','CNvUBMLUzW','zgLZCgXHEq','mti3mJqZnuHtyMrPzq','ouzzuejHzq','zg9JA2vYlxn0B3jHz2uTDM9SDw1LCW','y2XLyw51Cc10B2DNBgu','nJbiv21lDfC','Dxb0Aw1L','zgLZAY11C2fNzq','zg9JA2vYlxn0B3jHz2uTyxzHAwXHyMXL','B25JBgLJAW','zMLYC3rfBgvTzw50q2HPBgq','zM9YrwfJAa','rMfPBgvKihrVigXVywqGC2vYDMvYigHLywX0AcbTzxrYAwnZoG','zg9JA2vYlxn0B3jHz2uTChjVz3jLC3m','y3jLyxrLrwXLBwvUDa','yM9KEq','D2fYBMLUzW','y3b1lxbYB2DYzxnZ','C3rHDhvZlwnYAxrPy2fS','u2vYDMvYignSzwfUDxaGywn0Aw9UigzHAwXLzcaO','zg9JA2vYu3rVCMfNzq','CMvTB3zLu3rVChbLzenVBNrHAw5LCNm','C2vYDMvYlwHLywX0Ac1JB250zw50','AgLKzgvU','C2v0qxr0CMLIDxrL','zMfSC2u','C3rHDhvZ','tg9HzgLUzYbZzxj2zxiGBwv0CMLJCW','mu9lt0PXqG','rMfPBgvKihDOAwXLia','Dg9Nz2XL','zg9JA2vY','zg9JA2vYlxn0B3jHz2uTAw1Hz2vZ','Aw5Uzxjive1m','ntCXnZu2CgHozxPI','C2vYDMvYlwHLywX0Ac1TB2rHBa','CMvJBgfPBwfIBgveAxnWBgf5','nty1ndqWzgnrEu9z','BwvZC2fNzq','Dw5KzwzPBMvK','zxHWyw5Kzwq','CgvYy2vUDa','yxbWBgLJyxrPB24VANnVBG','BwLU','C3vJy2vZCW','C2vYDMvYlwHLywX0Ac1YzwzYzxnO','y2XHC3nmAxn0','A2v5zg93BG','y29UDgfPBMvYCW','C2vYDMvYlwHLywX0Ac1LCNjVCG','yxbWzw5Kq2HPBgq','u3rVChbPBMCGy29UDgfPBMvYCW','C3rVCefSBenVBNrHAw5LCNm','yxjPys12ywX1zw5VDW','zgLZAY1WCM9NCMvZCW','yxzHAwXHyMXLrgLZCgXHEq','zgLZywjSzwq','y2XLyw51Cc1Zzwn0Aw9U','Dg90ywW','Dgv4DenVBNrLBNq','C3rHDhvZlxDHCM5PBMC','C3rHDhvZlw9R','mZG0ode4mfvoAu1SuG','zgLZAW','C2vYDMvYlxvWDgLTzq','CMvTB3zLrxzLBNrmAxn0zw5LCG','y3jPDgLJywW','y3b1','y2XLyw51Cc1JB250zw50','C2vYDMvYlxjLBw92zs1ZDg9WCgvK','uMvTB3zPBMCGC3rVChbLzcbJB250ywLUzxjZ','C2vYDMvYlwHLywX0Ac1SB2fKAw5N','BwvTB3j5lxvZywDL','A2v5','r0vu','ignVBxbSzxrLza','CMvTB3zL','mJm1nZHjBMPmAhC','Chj1BMveB2nRzxjszxnVDxjJzxm','C2vYDMvYlxn0B3aTy29UDgfPBMvYCW','ywrK','zg9JA2vYlxn0B3jHz2uTDg90ywW','zg9JA2vYlxn0B3jHz2uTy29UDgfPBMvYCW','yNvPBgrdywnOzq','CxvLCNLtzwXLy3rVCG'];_0x389c=function(){return _0x4cab73;};return _0x389c();}function _0x1d2d(_0x2e59f4,_0x5b63b7){_0x2e59f4=_0x2e59f4-0xb9;const _0x389c78=_0x389c();let _0x1d2ded=_0x389c78[_0x2e59f4];if(_0x1d2d['LAeSKy']===undefined){var _0x1f5785=function(_0x5a67a9){const _0x4e5b5c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2678a4='',_0x307dfd='';for(let _0x1b7f63=0x0,_0x57d200,_0x591503,_0x5060f1=0x0;_0x591503=_0x5a67a9['charAt'](_0x5060f1++);~_0x591503&&(_0x57d200=_0x1b7f63%0x4?_0x57d200*0x40+_0x591503:_0x591503,_0x1b7f63++%0x4)?_0x2678a4+=String['fromCharCode'](0xff&_0x57d200>>(-0x2*_0x1b7f63&0x6)):0x0){_0x591503=_0x4e5b5c['indexOf'](_0x591503);}for(let _0x425b65=0x0,_0x122fbb=_0x2678a4['length'];_0x425b65<_0x122fbb;_0x425b65++){_0x307dfd+='%'+('00'+_0x2678a4['charCodeAt'](_0x425b65)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x307dfd);};_0x1d2d['NTaaBj']=_0x1f5785,_0x1d2d['KqqdML']={},_0x1d2d['LAeSKy']=!![];}const _0x4a9cc1=_0x389c78[0x0],_0x54398f=_0x2e59f4+_0x4a9cc1,_0x465c57=_0x1d2d['KqqdML'][_0x54398f];return!_0x465c57?(_0x1d2ded=_0x1d2d['NTaaBj'](_0x1d2ded),_0x1d2d['KqqdML'][_0x54398f]=_0x1d2ded):_0x1d2ded=_0x465c57,_0x1d2ded;}function clampPercent(_0x307dfd){const _0x1b050d=_0x1d2d;if(!Number['isFinite'](_0x307dfd))return 0x0;return Math['max'](0x0,Math[_0x1b050d(0xc6)](0x64,Math['round'](_0x307dfd)));}function setMetricProgress(_0x1b7f63,_0x57d200,_0x591503='ok'){const _0x56d536=_0x1d2d,_0x5060f1=document[_0x56d536(0xff)](_0x1b7f63);if(!_0x5060f1)return;const _0x425b65=_0x5060f1[_0x56d536(0xfc)],_0x122fbb=clampPercent(_0x57d200);_0x5060f1[_0x56d536(0x101)][_0x56d536(0xf2)]=_0x122fbb+'%',_0x5060f1['classList'][_0x56d536(0xe7)]('status-ok',_0x56d536(0xd7),_0x56d536(0x117)),_0x5060f1[_0x56d536(0xc9)][_0x56d536(0xeb)](_0x591503==='critical'?_0x56d536(0x117):_0x591503===_0x56d536(0x115)?_0x56d536(0xd7):_0x56d536(0xd8)),_0x425b65&&_0x425b65[_0x56d536(0x11d)](_0x56d536(0xd0),String(_0x122fbb));}function statusFromPercent(_0x2262af){const _0x46a54f=_0x1d2d;if(_0x2262af>=0x5a)return _0x46a54f(0xdd);if(_0x2262af>=0x4b)return _0x46a54f(0x115);return'ok';}async function loadServerHealthMetrics(){const _0x2435e6=_0x1d2d,_0x176c9e=document[_0x2435e6(0xff)](_0x2435e6(0xe2)),_0x11f0a4=document[_0x2435e6(0xff)]('server-health-error'),_0x3a8855=document[_0x2435e6(0xff)](_0x2435e6(0x11b));if(!_0x176c9e||!_0x11f0a4||!_0x3a8855)return;_0x176c9e[_0x2435e6(0xd6)]=_0x2435e6(0x120);try{const _0x36959b=await fetch('/health/metrics',{'method':_0x2435e6(0xe5),'headers':{'Content-Type':_0x2435e6(0xc5)},'credentials':_0x2435e6(0xf0)});if(!_0x36959b['ok'])throw new Error(_0x2435e6(0xf5)+_0x36959b[_0x2435e6(0xf3)]);const _0x4b07e3=await _0x36959b['json']();document[_0x2435e6(0xff)]('cpu-usage')[_0x2435e6(0xd6)]=_0x4b07e3['cpu'][_0x2435e6(0x105)],document[_0x2435e6(0xff)](_0x2435e6(0xe3))[_0x2435e6(0xd6)]=_0x4b07e3[_0x2435e6(0xf7)][_0x2435e6(0x105)],document[_0x2435e6(0xff)](_0x2435e6(0x10c))[_0x2435e6(0xd6)]=_0x4b07e3[_0x2435e6(0xda)][_0x2435e6(0x105)],document[_0x2435e6(0xff)]('docker-containers')[_0x2435e6(0xd6)]=_0x4b07e3[_0x2435e6(0xba)][_0x2435e6(0x105)],document['getElementById'](_0x2435e6(0xdb))[_0x2435e6(0xd6)]=_0x4b07e3[_0x2435e6(0x10b)][_0x2435e6(0x105)],document[_0x2435e6(0xff)]('active-sessions')['textContent']=_0x4b07e3['sessions'][_0x2435e6(0x105)],setMetricProgress(_0x2435e6(0x116),_0x4b07e3[_0x2435e6(0xde)]['percent'],statusFromPercent(_0x4b07e3['cpu'][_0x2435e6(0xc4)])),setMetricProgress('memory-progress',_0x4b07e3[_0x2435e6(0xf7)][_0x2435e6(0xc4)],statusFromPercent(_0x4b07e3[_0x2435e6(0xf7)]['percent'])),setMetricProgress(_0x2435e6(0xd1),_0x4b07e3[_0x2435e6(0xda)]['percent'],statusFromPercent(_0x4b07e3['disk']['percent']));const _0x276370=_0x4b07e3['docker'][_0x2435e6(0xd5)]>0x0?_0x4b07e3[_0x2435e6(0xba)][_0x2435e6(0x104)]/_0x4b07e3[_0x2435e6(0xba)][_0x2435e6(0xd5)]*0x64:0x0;setMetricProgress(_0x2435e6(0xfe),_0x276370);if(_0x4b07e3[_0x2435e6(0x119)]){const _0x52087b=document[_0x2435e6(0xff)]('docker-storage-card');document[_0x2435e6(0xff)](_0x2435e6(0xec))['textContent']=_0x4b07e3[_0x2435e6(0x119)][_0x2435e6(0x105)];const _0x2e2750=document['getElementById'](_0x2435e6(0x10d));_0x4b07e3[_0x2435e6(0x119)][_0x2435e6(0xd2)]?(_0x2e2750[_0x2435e6(0xd6)]=_0x4b07e3['dockerStorage'][_0x2435e6(0xd2)],_0x2e2750[_0x2435e6(0x11c)]=![]):_0x2e2750[_0x2435e6(0x11c)]=!![];document[_0x2435e6(0xff)](_0x2435e6(0xf1))[_0x2435e6(0xd6)]=_0x4b07e3[_0x2435e6(0x119)][_0x2435e6(0xbf)],document[_0x2435e6(0xff)](_0x2435e6(0xbb))['textContent']=_0x4b07e3[_0x2435e6(0x119)]['images'][_0x2435e6(0x105)],document[_0x2435e6(0xff)](_0x2435e6(0xed))['textContent']=_0x4b07e3[_0x2435e6(0x119)][_0x2435e6(0xcb)][_0x2435e6(0x105)],document[_0x2435e6(0xff)](_0x2435e6(0x108))['textContent']=_0x4b07e3[_0x2435e6(0x119)]['volumes']['display'],document[_0x2435e6(0xff)]('docker-storage-buildcache')[_0x2435e6(0xd6)]=_0x4b07e3['dockerStorage'][_0x2435e6(0xee)][_0x2435e6(0x105)],setMetricProgress(_0x2435e6(0x112),_0x4b07e3['dockerStorage'][_0x2435e6(0xc4)],_0x4b07e3['dockerStorage']['status']),_0x52087b[_0x2435e6(0xc9)][_0x2435e6(0xe7)](_0x2435e6(0xd7),'status-critical');if(_0x4b07e3[_0x2435e6(0x119)]['status']===_0x2435e6(0xdd))_0x52087b[_0x2435e6(0xc9)][_0x2435e6(0xeb)](_0x2435e6(0x117));else _0x4b07e3[_0x2435e6(0x119)][_0x2435e6(0x11f)]===_0x2435e6(0x115)&&_0x52087b[_0x2435e6(0xc9)][_0x2435e6(0xeb)](_0x2435e6(0xd7));}_0x176c9e['hidden']=!![],_0x3a8855['hidden']=![];}catch(_0x256413){console[_0x2435e6(0xfd)](_0x2435e6(0x111),_0x256413),_0x176c9e[_0x2435e6(0x11c)]=!![],_0x11f0a4[_0x2435e6(0x11c)]=![],_0x11f0a4[_0x2435e6(0xd6)]='Failed\x20to\x20load\x20server\x20metrics:\x20'+_0x256413[_0x2435e6(0xc1)];}}export async function openServerHealthModal(){const _0x12bcac=_0x1d2d;ensureModalExists();const _0x222a6a=document[_0x12bcac(0xff)](_0x12bcac(0xbe)),_0x243c39=document[_0x12bcac(0xff)](_0x12bcac(0xe2)),_0x41f8d8=document[_0x12bcac(0xff)](_0x12bcac(0xcc)),_0x4605b4=document[_0x12bcac(0xff)](_0x12bcac(0x11b)),_0x6852e8=document['getElementById'](_0x12bcac(0xfa)),_0x576def=document[_0x12bcac(0xff)]('server-health-ok'),_0x222a08=document[_0x12bcac(0xff)](_0x12bcac(0xc8)),_0x16e1ee=document[_0x12bcac(0xff)](_0x12bcac(0xea)),_0x32db41=document[_0x12bcac(0xff)](_0x12bcac(0xe0)),_0x5a81d1=document[_0x12bcac(0xff)]('server-prune-docker'),_0x3eb8cc=document[_0x12bcac(0xff)](_0x12bcac(0xf8)),_0x71bdfd=document[_0x12bcac(0xff)](_0x12bcac(0x109)),_0xeefcf1=document['getElementById'](_0x12bcac(0xdf)),_0x3fe82e=document[_0x12bcac(0xff)](_0x12bcac(0xd4));if(!_0x222a6a)return;_0x222a6a[_0x12bcac(0x11c)]=![],_0x243c39[_0x12bcac(0x11c)]=![],_0x41f8d8['hidden']=!![],_0x4605b4[_0x12bcac(0x11c)]=!![];_0x3eb8cc&&(_0x3eb8cc[_0x12bcac(0x11c)]=!![],_0x3eb8cc[_0x12bcac(0xd6)]='',_0x3eb8cc[_0x12bcac(0xc9)][_0x12bcac(0xe7)]('success','error'));_0x3fe82e&&_0x3fe82e[_0x12bcac(0xc9)][_0x12bcac(0xe7)](_0x12bcac(0xc3));_0xeefcf1&&(_0xeefcf1[_0x12bcac(0x11c)]=!![]);_0x71bdfd&&_0x71bdfd[_0x12bcac(0x11d)](_0x12bcac(0xf4),_0x12bcac(0x11e));const _0x4fd3a4=[_0x16e1ee,_0x32db41,_0x5a81d1,_0x222a08],_0x487a9c=_0x2decc5=>{const _0x2aaac6=_0x12bcac;_0x4fd3a4[_0x2aaac6(0x110)](_0x2dc0a4=>{const _0x379072=_0x2aaac6;if(_0x2dc0a4)_0x2dc0a4[_0x379072(0xd3)]=_0x2decc5;});},_0x206830=(_0x22e16a,_0x10447a='info')=>{const _0x29b54a=_0x12bcac;if(!_0x3eb8cc)return;_0x3eb8cc['hidden']=![],_0x3eb8cc[_0x29b54a(0xd6)]=_0x22e16a,_0x3eb8cc[_0x29b54a(0xc9)]['remove'](_0x29b54a(0xc7),_0x29b54a(0xfd));if(_0x10447a==='success')_0x3eb8cc[_0x29b54a(0xc9)][_0x29b54a(0xeb)](_0x29b54a(0xc7));else _0x10447a==='error'&&_0x3eb8cc['classList'][_0x29b54a(0xeb)]('error');};await loadServerHealthMetrics();const _0x4eee7f=()=>{const _0x55e444=_0x12bcac;_0x222a6a[_0x55e444(0x11c)]=!![],document[_0x55e444(0xdc)](_0x55e444(0xca),_0x3b61ab);},_0x3b61ab=_0x48e69e=>{const _0x14938a=_0x12bcac;_0x48e69e[_0x14938a(0xe4)]==='Escape'&&!_0x222a6a[_0x14938a(0x11c)]&&_0x4eee7f();};_0x6852e8[_0x12bcac(0x10e)]=_0x4eee7f,_0x576def['onclick']=_0x4eee7f,_0x222a08[_0x12bcac(0x10e)]=async()=>{const _0x40306c=_0x12bcac;_0x243c39[_0x40306c(0x11c)]=![],_0x41f8d8[_0x40306c(0x11c)]=!![],_0x4605b4['hidden']=!![],await loadServerHealthMetrics();};const _0x431738=async(_0x182f64,_0x2fa7d8)=>{const _0x199929=_0x12bcac;_0x243c39[_0x199929(0xd6)]=_0x182f64,_0x243c39[_0x199929(0x11c)]=![],_0x41f8d8[_0x199929(0x11c)]=!![],_0x4605b4['hidden']=!![],_0x487a9c(!![]),_0x206830(_0x182f64+_0x199929(0xf6));try{const _0x362f3c=await _0x2fa7d8(),_0x59088e=_0x362f3c?.[_0x199929(0xc1)]||_0x182f64+_0x199929(0xe6);_0x206830(_0x59088e,_0x199929(0xc7));}catch(_0x159d26){console['error'](_0x199929(0x118)+_0x182f64+')',_0x159d26),_0x206830(_0x159d26[_0x199929(0xc1)]||_0x199929(0x122)+_0x182f64[_0x199929(0xfb)](),'error');}finally{await loadServerHealthMetrics(),_0x487a9c(![]);}};_0x16e1ee&&(_0x16e1ee[_0x12bcac(0x10e)]=()=>_0x431738(_0x12bcac(0xce),()=>API[_0x12bcac(0xcf)]()));_0x32db41&&(_0x32db41[_0x12bcac(0x10e)]=()=>_0x431738(_0x12bcac(0xe1),()=>API[_0x12bcac(0x11a)]()));_0x5a81d1&&(_0x5a81d1[_0x12bcac(0x10e)]=()=>_0x431738('Pruning\x20Docker\x20resources',()=>API[_0x12bcac(0xe9)]()));_0x71bdfd&&_0xeefcf1&&_0x3fe82e&&(_0x71bdfd[_0x12bcac(0x10e)]=()=>{const _0xfa7e35=_0x12bcac,_0x1927b9=_0x3fe82e['classList'][_0xfa7e35(0xb9)]('expanded');_0xeefcf1['hidden']=!_0x1927b9,_0x71bdfd[_0xfa7e35(0x11d)]('aria-expanded',_0x1927b9?'true':_0xfa7e35(0x11e));});document['addEventListener'](_0x12bcac(0xca),_0x3b61ab);const _0x20b6ba=_0x222a6a[_0x12bcac(0xef)](_0x12bcac(0x102));_0x20b6ba&&(_0x20b6ba[_0x12bcac(0x10e)]=_0x4eee7f);}export{loadServerHealthMetrics};typeof window!==_0x358927(0xc2)&&(window[_0x358927(0xf9)]=openServerHealthModal);
|